#Essentials
🔖پاسخ سوال فوق بله است. تمامی منابع و عناصر اصلی درون FPGA با کدنویسی قابل استنتاج نیستند. از نقطه نظر نحوه استنتاج منابع روی تراشه های FPGA به سه دسته تقسیم می شوند.
1️⃣ دسته اول منابعی هستند که توسط تمامی ابزارهای سنتز قابل استنتاج هستند. مثل شیفیت رجیسترها #SRLs ، مالتی پلکسرهای عریض #F7 و #F8 ، زنجیره بیت نقلی #Carry_Chain ، بلوک های ضرب کننده #DSP_Blocks ، بافرهای سرتاسری کلاک #BUFG ، بافرهای ورودی خروجی ساده #IOBUF و بافرهای ورودی DDR یا #IDDR .
2️⃣ دسته دوم منابعی هستند که تنها توسط برخی از ابزارهای سنتز قابل فراخوانی هستند. مهمترین عناصر در این دسته،
بلوک های حافظه #Block_RAMs ، بافرهای سرتاسری خاص منظوره کلاک
همچون #BUFGCE هستن. علاوه بر این برخی از فانکشنالیتی های خاص در بلوک های ضرب کننده نیز ممکن است توسط ابزارهای سنتز قابل استنتاج باشد.
3️⃣ دسته سوم منابعی هستند که به هیچ وجه به صورت اتوماتیک توسط ابزارهای سنتز قابل استنتاج نیستند و تنها راه استفاده از آن ها استفاده از primitive های آماده داخل کتابخانه های شرکت سازنده و یا استفاده از IP Core ها است. از آن جمله می توان به اینترفیس های تفاضلی روی IO ها ، بافرهای خروجی DDR یا #ODDR ، بلوک های مدیریت کلاک #DCM و #PLL و بافرهای محلی کلاک همچون #BUFR و #BUFIO اشاره کرد.
❗️استفاده از primitive ها در برنامه نویسی HDL یک تکنیک بسیار مناسب برای فراخوانی منابع است و به شدت توسط سازندگانی تراشه های قابل برنامه ریزی توصیه شده است. در واقع primitive ها به صورت قطعه کدهای آماده و در قالب یک کامپوننت توسط طراح بین سایر کدهای HDL قرار داده می شوند و یک بخش خاص از تراشه را فراخوانی می کنند. به طور کلی به عمل فراخوانی و قرار دادن کامپوننت ها درون کدها instantiation گفته می شود.
@Hexalinx
🔖پاسخ سوال فوق بله است. تمامی منابع و عناصر اصلی درون FPGA با کدنویسی قابل استنتاج نیستند. از نقطه نظر نحوه استنتاج منابع روی تراشه های FPGA به سه دسته تقسیم می شوند.
1️⃣ دسته اول منابعی هستند که توسط تمامی ابزارهای سنتز قابل استنتاج هستند. مثل شیفیت رجیسترها #SRLs ، مالتی پلکسرهای عریض #F7 و #F8 ، زنجیره بیت نقلی #Carry_Chain ، بلوک های ضرب کننده #DSP_Blocks ، بافرهای سرتاسری کلاک #BUFG ، بافرهای ورودی خروجی ساده #IOBUF و بافرهای ورودی DDR یا #IDDR .
2️⃣ دسته دوم منابعی هستند که تنها توسط برخی از ابزارهای سنتز قابل فراخوانی هستند. مهمترین عناصر در این دسته،
بلوک های حافظه #Block_RAMs ، بافرهای سرتاسری خاص منظوره کلاک
همچون #BUFGCE هستن. علاوه بر این برخی از فانکشنالیتی های خاص در بلوک های ضرب کننده نیز ممکن است توسط ابزارهای سنتز قابل استنتاج باشد.
3️⃣ دسته سوم منابعی هستند که به هیچ وجه به صورت اتوماتیک توسط ابزارهای سنتز قابل استنتاج نیستند و تنها راه استفاده از آن ها استفاده از primitive های آماده داخل کتابخانه های شرکت سازنده و یا استفاده از IP Core ها است. از آن جمله می توان به اینترفیس های تفاضلی روی IO ها ، بافرهای خروجی DDR یا #ODDR ، بلوک های مدیریت کلاک #DCM و #PLL و بافرهای محلی کلاک همچون #BUFR و #BUFIO اشاره کرد.
❗️استفاده از primitive ها در برنامه نویسی HDL یک تکنیک بسیار مناسب برای فراخوانی منابع است و به شدت توسط سازندگانی تراشه های قابل برنامه ریزی توصیه شده است. در واقع primitive ها به صورت قطعه کدهای آماده و در قالب یک کامپوننت توسط طراح بین سایر کدهای HDL قرار داده می شوند و یک بخش خاص از تراشه را فراخوانی می کنند. به طور کلی به عمل فراخوانی و قرار دادن کامپوننت ها درون کدها instantiation گفته می شود.
@Hexalinx
#Advanced
#BUFG, #BUFR, #MRCC, #SRCC
♨️ هیچ گاه علاقهای به استفاده از واژه صفر تا صد نداشته ایم، این بار هم قصد این کار را نداریم، اما به واقع در سری آموزشی مدیریت سیگنال کلاک بسیار فراتر از آن چیزی که انتظار دارید با منابع و شبکه توزیع کلاک در نسلهای مختلف تراشههای FPGA شرکت Xilinx آشنا خواهید شد.
✳️ از نقطه نظر کلاک، بعد از معرفی تراشه Virtex-4، تراشههای FPGA شرکت Xilinx، به تعدادی ناحیه کلاک تقسیم میشوند. این نواحی برای مدیریت بهتر سیگنال کلاک ایجاد شدند و تعداد آنها در نسلهای مختلف، متفاوت است. همینطور شیوه تقسیم بندی فضای درونی هر تراشه به نواحی کلاک طی نسلهای مختلف دستخوش تغییر شده است. معرفی مفهوم ناحیه کلاک باعث شکل گیری مفاهیم دیگری نیز شد که یکی از آنها مفهومی به نام کلاکهای محلی یا Regional Clock است، در حالی که تا پیش از آن تمامی منابع کلاک درون تراشه، تحت عنوان منابع سرتاسری یا Global ، شناخته میشدند.
🔖 مدیریت سیگنال کلاک: بخش اول منابع مدیریت کلاک در FPGA »
🔖 مدیریت سیگنال کلاک: بخش دوم شبکه توزیع کلاک در FPGA »
@Hexalinx
#BUFG, #BUFR, #MRCC, #SRCC
♨️ هیچ گاه علاقهای به استفاده از واژه صفر تا صد نداشته ایم، این بار هم قصد این کار را نداریم، اما به واقع در سری آموزشی مدیریت سیگنال کلاک بسیار فراتر از آن چیزی که انتظار دارید با منابع و شبکه توزیع کلاک در نسلهای مختلف تراشههای FPGA شرکت Xilinx آشنا خواهید شد.
✳️ از نقطه نظر کلاک، بعد از معرفی تراشه Virtex-4، تراشههای FPGA شرکت Xilinx، به تعدادی ناحیه کلاک تقسیم میشوند. این نواحی برای مدیریت بهتر سیگنال کلاک ایجاد شدند و تعداد آنها در نسلهای مختلف، متفاوت است. همینطور شیوه تقسیم بندی فضای درونی هر تراشه به نواحی کلاک طی نسلهای مختلف دستخوش تغییر شده است. معرفی مفهوم ناحیه کلاک باعث شکل گیری مفاهیم دیگری نیز شد که یکی از آنها مفهومی به نام کلاکهای محلی یا Regional Clock است، در حالی که تا پیش از آن تمامی منابع کلاک درون تراشه، تحت عنوان منابع سرتاسری یا Global ، شناخته میشدند.
🔖 مدیریت سیگنال کلاک: بخش اول منابع مدیریت کلاک در FPGA »
🔖 مدیریت سیگنال کلاک: بخش دوم شبکه توزیع کلاک در FPGA »
@Hexalinx