اطلاعیه

Collapse
No announcement yet.

چند تا سئوال سخت

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چند تا سئوال سخت

    سلام
    1- من چند وقت پیش روی یک سیستم FPGA کار می کردم. قسمتی از مدارم یک اسیلاتور بود که توسط چند گیت NOT ساخته شده بود. من گیت ها رو داخل FPGA پیاده کردم. اما اسیلاتور کار نکرد. ولی وقتی این مدار رو به صورت خارجی بستم جواب گرفتم. به نظر شما مشکل از کجاست ؟

    2- اگه بخوام در قسمت گرافیکی MAX PLUS اسیلاتور داخلی طراحی و استفاده کنم آیا قطعه ای هست که این کار رو برام انجام بده ؟

    3- آیا توسط کد نویسی VHDL هم میشه اسیلاتور داخلی داشت ؟
    دلا یاران سه قسمند ار بدانی
    زبانی اند و نانی اند و جانی
    به نانی نان بده از در برانش
    محبت کن به یاران زبانی
    و لیکن یار جانی را به دست آر
    به جانش جان بده تا می توانی

    #2
    پاسخ : چند تا سئوال سخت

    نوشته اصلی توسط _آرش
    سلام
    1- من چند وقت پیش روی یک سیستم FPGA کار می کردم. قسمتی از مدارم یک اسیلاتور بود که توسط چند گیت NOT ساخته شده بود. من گیت ها رو داخل FPGA پیاده کردم. اما اسیلاتور کار نکرد. ولی وقتی این مدار رو به صورت خارجی بستم جواب گرفتم. به نظر شما مشکل از کجاست ؟

    2- اگه بخوام در قسمت گرافیکی MAX PLUS اسیلاتور داخلی طراحی و استفاده کنم آیا قطعه ای هست که این کار رو برام انجام بده ؟

    3- آیا توسط کد نویسی VHDL هم میشه اسیلاتور داخلی داشت ؟
    با سلام
    شما واقعا میآ‌خواهید به این صورت اسلاتور درست کنید و به عنوان کلاک از آن استفاده کنید؟ در این صورت به نظرم کار خیلی اصولی نمیآ‌آید، حداقل یکی از مشکلات مشخص نبود دقیق فرکانس تولید شده است، چون کاملا وابسته به انتخاب محل قرار گیری گیتآ‌ها، تاخیرآ‌ها، بعضی از تاثیرات ساخت چیپ و ولتاژ تغذیه است. البته من دقیق مطمئن نیستم ولی به احتمال ۹۹ درصد این روش اصلا مناسب تولید کردن یک کلاک پایدار و به درد بخور نیست.

    خوب حالا اگر از این موضوع بگذریم، اگر شما بیاید کد VHDL و یا Verilog این اسلاتور رو بنویسید ابزار سنتز معمولا این قسمتآ‌ها را که به این صورت فیدبکی از خروجی به ورودی دارند را از طراحی حذف میآ‌کند و به شما warning و یا خطا میآ‌دهد. به هیمن دلیل فکر کنم باید در کد و یا شاید در تنظیمات خود ابزار سنتز به نوعی این optimizationها را غیر فعال کنید (فکر کنم در کدآ‌های VHDL باید از keep استفاده کنید!؟) . علاوه بر این نکته احتملا در کدتان باید از componentهای خود FPGA استفاده کنید، به این معنی که مثلا یک instant از یک LUT بگیرید و از آن به شکل یک بافر و یا معکوس کننده استفاده کنید تا ابزار سنتز مجبور شود که دقیقا به شکلی که شما میآ‌خواهید مدارتان را سنتز کند.

    به هر حال موضوع خیلی جالبی را شروع کردید. من یک بار در Quartus شماتیک یک Ring Oscillator را رسم کردم و مدار را شبیهآ‌سازی کردم، جالبه که کاملا در خورجی نوسان وجود داشت، ولی خوب در عمل روی یه چیپ سنتز و امتحان نکردم.
    این فروم Altera را نگاه کنید به نظرم بد نیست: http://www.alteraforum.com/forum/showthread.php?t=709 و همچنین اینجا: http://forum.niosforum.com/forum/index.php?showtopic=3341

    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    دیدگاه


      #3
      پاسخ : چند تا سئوال سخت

      نوشته اصلی توسط manian

      با سلام
      شما واقعا میآ‌خواهید به این صورت اسلاتور درست کنید و به عنوان کلاک از آن استفاده کنید؟ در این صورت به نظرم کار خیلی اصولی نمیآ‌آید، حداقل یکی از مشکلات مشخص نبود دقیق فرکانس تولید شده است، چون کاملا وابسته به انتخاب محل قرار گیری گیتآ‌ها، تاخیرآ‌ها، بعضی از تاثیرات ساخت چیپ و ولتاژ تغذیه است. البته من دقیق مطمئن نیستم ولی به احتمال ۹۹ درصد این روش اصلا مناسب تولید کردن یک کلاک پایدار و به درد بخور نیست.

      خوب حالا اگر از این موضوع بگذریم، اگر شما بیاید کد VHDL و یا Verilog این اسلاتور رو بنویسید ابزار سنتز معمولا این قسمتآ‌ها را که به این صورت فیدبکی از خروجی به ورودی دارند را از طراحی حذف میآ‌کند و به شما warning و یا خطا میآ‌دهد. به هیمن دلیل فکر کنم باید در کد و یا شاید در تنظیمات خود ابزار سنتز به نوعی این optimizationها را غیر فعال کنید (فکر کنم در کدآ‌های VHDL باید از keep استفاده کنید!؟) . علاوه بر این نکته احتملا در کدتان باید از componentهای خود FPGA استفاده کنید، به این معنی که مثلا یک instant از یک LUT بگیرید و از آن به شکل یک بافر و یا معکوس کننده استفاده کنید تا ابزار سنتز مجبور شود که دقیقا به شکلی که شما میآ‌خواهید مدارتان را سنتز کند.

      به هر حال موضوع خیلی جالبی را شروع کردید. من یک بار در Quartus شماتیک یک Ring Oscillator را رسم کردم و مدار را شبیهآ‌سازی کردم، جالبه که کاملا در خورجی نوسان وجود داشت، ولی خوب در عمل روی یه چیپ سنتز و امتحان نکردم.
      این فروم Altera را نگاه کنید به نظرم بد نیست: http://www.alteraforum.com/forum/showthread.php?t=709 و همچنین اینجا: http://forum.niosforum.com/forum/index.php?showtopic=3341

      البته اینطوری که من گفتم شاید اصولی به نظر نیاد. اما همه چیزو پیش بینی کردم. با استفاده از کریستال و سلف و خازن فرکانس رو تنظیم کرده و توسط یه pll اونو lock می کنم. تو این دو تا فوروم بحث هایی در مورد غیر فعال کردن optimization ها گفته شده. سعی می کنم غیر فعال شون کنم و نتیجه رو اطلاع میدم. در ضمن اگه ممکنه شماتیک ring oscillator رو اینجا بذارید تا من هم ببینم. باید جالب باشه.
      دلا یاران سه قسمند ار بدانی
      زبانی اند و نانی اند و جانی
      به نانی نان بده از در برانش
      محبت کن به یاران زبانی
      و لیکن یار جانی را به دست آر
      به جانش جان بده تا می توانی

      دیدگاه


        #4
        پاسخ : چند تا سئوال سخت

        نوشته اصلی توسط _آرش
        البته اینطوری که من گفتم شاید اصولی به نظر نیاد. اما همه چیزو پیش بینی کردم. با استفاده از کریستال و سلف و خازن فرکانس رو تنظیم کرده و توسط یه pll اونو lock می کنم. تو این دو تا فوروم بحث هایی در مورد غیر فعال کردن optimization ها گفته شده. سعی می کنم غیر فعال شون کنم و نتیجه رو اطلاع میدم. در ضمن اگه ممکنه شماتیک ring oscillator رو اینجا بذارید تا من هم ببینم. باید جالب باشه.
        با سلام
        خوب ring oscillator همون زنجیره گیتآ‌های notهست، چیز خاصی نیست.

        اگر فضولی نباشه میآ‌شه یه مقدار بیشتر توضیح بدید؟ چون شما یک فرکانس مرجع و PLL دارید دیگه چه نیازی به تولید یه فرکانس با ring oscillator هست؟
        من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

        دیدگاه


          #5
          پاسخ : چند تا سئوال سخت

          راستش توضیح این سخته. یه طرح خارجی رو داریم کپی می کنیم. اینطوری طراحی شده.
          دلا یاران سه قسمند ار بدانی
          زبانی اند و نانی اند و جانی
          به نانی نان بده از در برانش
          محبت کن به یاران زبانی
          و لیکن یار جانی را به دست آر
          به جانش جان بده تا می توانی

          دیدگاه


            #6
            پاسخ : چند تا سئوال سخت

            نوشته اصلی توسط _آرش
            راستش توضیح این سخته. یه طرح خارجی رو داریم کپی می کنیم. اینطوری طراحی شده.
            با سلام
            یه نکتهآ‌ای که شاید مستقیم به بحث مرتبط نشه به ذهنم رسید، اون هم DLL/PLLهای روی خود تراشتهآ‌های FPGA هست. چون خیلی از تراشهآ‌های جدید معمولا قسمتآ‌های کنترل کلاک و PLL/DLL رو داخل FPGA دارند. شما ممکنه بتوانید از این قسمتآ‌ها مستقیما استفاده کنید (شاید هم دارید استفاده میآ‌کنید). توی تراشهآ‌های شرکت Xilinx فکر کنم تراشهآ‌های Spartan II و بالاتر این قسمتآ‌ها را دارند در مورد Altera هم تراشهآ‌های پیشرفته Stratix که این قسمت را دارند احتمالا سریآ‌های Cyclone هم داشته باشند.
            شرمنده اگر مستقیم به بحث مرتبط نبود.
            من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

            دیدگاه

            لطفا صبر کنید...
            X