HEXALINX
527 subscribers
147 photos
4 files
74 links
این آغاز ماجراجویی شماست...
آموزش رایگان برنامه نویسی FPGA و ZYNQ و ابزارهای طراحی XILINX

پرسش و پاسخ:
@ask_linx

آدرس سایت:
hexalinx.com

آدرس کانال آپارات:
aparat.com/hexalinx

آدرس اینستاگرام:
insatagram.com/hexalinx_go
Download Telegram
#Basic
#CLB, #SLICE
معرفی Slice و CLB بخش اول

کلیه تراشه های شرکت Xilinx که بعد از Virtex-6 به بازار عرضه شدند تقریبا دارای منابع منطقی یکسانی هستند. برای آشنایی بیشتر با این منابع ادامه مطلب را در پست زیر مطالعه بفرمایید. 👇

@Hexalinx
#Basic
#CLB, #SLICE, #PAR
معرفی Slice و CLB بخش دوم

📋 در شکل بالا نحوه اتصال دو CLB به یک سوییچ ماتریس نشان داده شده است. اسلایس ها از طریق این سوییچ ماتریس ها به شبکه سرتاسری مسیرها در FPGA دسترسی پیدا می کنند. در این مسیرهای سرتاسری، مسیرهای مجزا برای داده و کلاک در نظر گرفته شده که در شکل نیز با نام Clk و Data نشان داده شده اند. در حالت کلی کاربر روی نحوه استفاده از سوییچ ها و مسیریابی بین عناصر موجود در تراشه دخالت نمی کند و این کار به صورت اتوماتیک توسط ابزار و در مرحله post place & route انجام می شود.
.
@Hexalinx
🔖 با توجه به نتایج نظر سنجی و علاقه شما عزیزان به مطالب پایه ای VHDL و FPGA از این هفته به بعد، به صورت مداوم آموزش های کوتاهی در قالب ویدیو و متن های کوتاه با کمله کلیدی #Basic ارائه می شود که امیدوارم به بهترین شکل پاسخگوی نیاز شما باشد.

🔖 علاوه بر این به پاس اعتماد شما، یک سرفصل کاملا جدید با عنوان پردازش سیگنال روی FPGA برای شما تدارک خواهیم دید و در قالب ویدیو و مقالات کاربردی خدمتتان ارائه خواهیم کرد. نکات آموزشی در رابطه با محاسبات ممیز ثابت، فیلترهای دیجیتال، IP Core های پرکاربرد، تکنیک های به اشتراک گذاری منابع و ... از جمله مواردی هستند که در این سلسله آموزش ها پوشش داده می شوند و در غالب کمله کلیدی #DSP بیان می گردند.

🔖 همچون گذشته در کنار دو این دو بخش جدید، نکات آموزشی پیشرفته، اخبار روز دنیا، موضوعات مربوط به سیستم های توکار و مفاهیم عمیق پیاده سازی همچنان به عنوان بخشی از علاقه مندی های شما به صورت روزانه منتشر خواهد.

این آغاز ماجراجویی شماست، با ما همراه باشید ...

@Hexalinx
#Basic
#SLICE
اسلایس ها از چه چیزهایی تشکیل شده اند؟

1️⃣ چهار جدول درستی 6 ورودی (6x-Input-LUT)
2️⃣ مالتی پلکسر های عریض (Wide Multiplexers)
3️⃣زنجیره نقلی (Carry chain)
4️⃣ شیفت رجیسترها (SRLs)
5️⃣ چهار فلیپ فلاپ/ لچ (flip-flops/latches) بعلاوه چهار فلیپ فلاپ اضافی

@Hexalinx
#Basic
#SLICE, #SLICER, #SLICEM

انواع اسلایس در FPGA های سری 7

🔖 کلیه منابع موجود درون اسلایس ها برای محاسبات منطقی، محاسبات ریاضی و ذخیره سازی به عنوان ROM قابل استفاده هستند. در معماری تراشه های سری 7 دو نوع Slice و دو نوع CLB وجود دارد.

1️⃣ اسلایس منطقی و محاسباتی (SLICER)
این اسلایس ها با بکارگیری منابع درونی خود به عنوان منابع منطقی، محاسباتی و ROM مورد استفاده قرار می گیرند.

2️⃣ اسلایس کامل (SLICEM)
این اسلایس ها علاوه بر انجام محاسبات منطقی، ریاضی و ROM از دو عملکرد اضافی نیز پشتیبانی می کنند و می توانند به عنوان حافظه (RAM) و یا شیفت رجیستر (Memory/SRL) مورد استفاده قرار بگیرند.

🔖 انتخاب بین این اسلایس ها توسط ابزار سنتز و به صورت اتوماتیک صورت می گیرد، اما با توجه به محدودیت تعداد اسلایس های کامل، طراحی درست می تواند منجربه به استفاده بهینه از آنها شود.

@Hexalinx
#Basic

معرفی اجمالی جریان طراحی روی FPGA

معمولا یکی از اولین دروسی که در دوره های مقدماتی FPGA ارائه می شود، آشنا کردن دانشجویان با گام های پیاده سازی است. در مقاله کوتاهی که در ادامه خدمتتان اراده می شود، فهرستی از گام های مورد نیاز برای اجرای صفر تا صد یک پروژه روی FPGA به صورت خلاصه توضیح داده می شود.

@Hexalinx
#Basic

✳️ در حالت اول کاربر با اتصال یک پروگرامر بین کامپیوتر و تراشه FPGA با استفاده از پورت JTAG ، تراشه FPGA را پیکره بندی می کند. برای این کار تنها نیاز است طراح فایل bit خروجی را توسط ابزارهای طراحی تولید کند و باقی کارها تنها با چند کلیک انجام می شود. این روش پیرکره بندی در پروسه طراحی و زمانی که هنوز پروژه نهایی نشده است انجام می شود.

✳️ در حالت دوم نیاز به استفاده از پروگرامر برای پیکره بندی FPGA نیست و از پروگرامر برای پیکره بندی حافظه فلش استفاده می شود و ممکن است یکی از دو اتفاق زیر بیافتد.

1️⃣ در روش اول، تراشه FPGA با توجه به قابلیت هایی که شرکت سازنده آن فراهم می کند، به صورت اتوماتیک برنامه مورد نیاز برای پیکره بندی را از یک حافظه فلش non-volatile می خواند، و خودش را پیکره بندی می کند.
2️⃣ در روش دوم یک پردازنده دیگر همچون میکروکنترلر با خواندن اطلاعات از روی حافظه فلش non-volatile تراشه FPGA را پیکره بندی می کند.

در روش اول تراشه FPGA در اصطلاح master است و مسئولیت صفر تا صد کار را برعهده می گیرد. در این روش طراح نیاز دارد علاوه بر ساخت فایل bit خروجی، فایل مناسب برای پیکره بندی حافظه فلش را نیز تولید کند. با توجه به نوع حافظه این فایل ممکن است پسوند mcs یا bin یا داشته باشد. در روش دوم که در آن FPGA در اصطلاح slave است. طراح علاوه بر ساخت فایل مورد نیاز حافظه فلش باید پروتکل مورد نیاز برای برنامه ریزی تراشه FPGA را نیز برای پردازنده کمکی پیاده سازی کند.

@Hexalinx