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

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

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

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

آدرس اینستاگرام:
insatagram.com/hexalinx_go
Download Telegram
#FPGA, #MICROBLAZE, @SISOOG

✳️ ما طی یکسال گذشته در هگزالینکس به شکل تخصصی در رابطه با تراشه‌های قابل پیکره بندی شرکت Xilinx مطلب زیادی منتشر کردیم. وقتی صحبت از تراشه‌های قابل پیکره بندی می‌کنیم، یعنی هم تراشه‌های FPGA‌ و هم تراشه ZYNQ و هم به امید خدا در آینده نزدیک تراشه‌های Versal که آخرین محصول سیلیکونی شرکت Xilinx هستند.

✳️ مطمئناً می‌دونید دانش‌ها و چالش‌هایی که در این حوزه باهاشون روبرو می‌شیم بسیار پر تعداد هستند و پوشش همگی اونها امکان پذیر نیست. قطعاً هیچ کسی در این دنیا وجود نداره که به تمامی جنبه‌ّهای سخت افزاری و نرم افزاری این تراشه‌ها مسلط باشه و معمولاً تیمی از مهندسان برای به سرانجام رساندن پروژه‌ها و ساخت محصولات با هم همکاری می‌کنند.

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

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

1️⃣ اولین آموزش که خیلی هم پایه‌ایی و با کیفیت تهیه شده مربوط به آموزش جامع FPGA هست که در بیست قسمت تهیه شده. این آموزش برای کسانی مناسب هست که هیچ آشنایی با FPGA ندارند و به دنبال تکمیل مهارت‌های خودشون به صورت پایه‌ایی هستند. البته از آنجایی که آموزش جامع هست هر چه به انتهای کار نزدیکتر بشید، پیچیدگی و عمق مطالب هم افزایش پیدا می‌کنه پس می‌تونید مطمئن باشید برای شما با هر سطح دانشی حتماً مطالب جدیدی وجود داره. می‌تونید با کلیک روی این لینک به صورت رایگان از مطالبش بهره مند بشید.
2️⃣ دومین آموزش هم مربوط به مایکروبلیز هست. این آموزش برای کسانی مفیده که واقعاً در ابتدای راه هستندو دوست دارند قبل از مطالعه متون سطح بالا کمی با الفبای پردازشگرهای نرم درون FPGA آشنا بشن. اگر اشتباه نکنم این آموزش متشکل از شش مقاله هست و با تمرکز بر روی بخش نرم افزاری و نحوه برنامه نویسی برای این Soft IP Core منتشر شده و شما می‌تونید از طریق این لینک به قسمت اول اون دسترسی پیدا کنید.

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

❤️ و پیشنهاد آخر، حتماً تو کانال تلگرامشون عضو بشید و با بازنشر مطالبشون به معرفی و حمایت از این رسانه خوب بپردازید.

@Hexalinx
#AMD, #XILINX

✳️ به نظر شما AMD با ارائه پیشنهاد خرید به Xilinx به دنبال رقابت با چه کسی است و به دنبال کدام بازار است؟

❇️ همه چیز با یک شایعه شروع شد، کمتر از دو ماه پیش در اواسط اکتبر ۲۰۲۰ بود که اولین بار شرکت AMD آمادگی خودش را برای تصاحب شرکت Xilinx با یک پیشنهاد اغوا کننده اعلام کرد. یک پیشنهاد حدود ۳۵ بیلیون دلاری که در ابتدا یک شوخی به نظر می‌رسید، ولی در نهایت همه شایعه‌ها به حقیقت پیوستند.

❇️ نکته جالب اینجاست که این توافق جدید تنها یکماه بعد از توافق بزرگ و پر سر و صدای قبلی بین ARM و Nvidia با ارزش ۴۰ بیلیون دلار صورت پذیرفته است. صرفاً برای اینکه معیاری از میزان بزرگ بودن این اعداد و ارقام داشته باشید، بد نیست به اواخر سال ۲۰۱۵ برگردیم، زمانی که شرکت Intel در یک اقدام غافلگیر کننده دیگر با مبلغ حدود ۱۶.۷ بیلیون دلار رقیب قدیمی Xilinx یعنی Altera را تصاحب کرد.

مطالعه ادامه مطلب »

@Hexalinx
#XPM, #Macros, #Primitives

✳️ در جدیدترین مقاله منتشر شده در پایگاه دانش هگزالینکس قصد داریم در رابطه با XPM صحبت کنیم. اینکه XPM چیست، چه کاربردی دارد و چگونه باید از آن‌ها استفاده کرد؟

عبارت Xilinx Parametrized Macros-XPM با ترجمه تحت لفظی ماکروهای پارامتری شده Xilinx به آن دسته از عناصر ساده کتابخانه‌ای در محیط توسعه Vivado اطلاق می‌شود که به صورت معمول در تمامی طراحی‌های HDL مورد نیاز هستند. به طور کلی XPM ها ماژول‌های نوشته شده با زبان SystemVerilog هستند که در محیط توسعه Vivado تجمیع شده‌اند. حافظه‌های RAM و ROM و FIFO ها و همینطور عناصر CDC (عناصر مورد استفاده برای سنکرون ‌سازی کلاک بین دو محدوده کلاک) ماژول‌هایی هستند که Xilinx برای آن‌ها XPM ارائه کرده است و جزئیات آن به شرح زیر است.

1️⃣ عناصر XPM_MEMORY مبتنی بر ساختارهای حافظه RAM و ROM
2️⃣ عناصرXPM_CDC مبتنی بر پیاده سازی مدارات پایدار برای تبادل امن دیتا بین دو محدوده کلاک
3️⃣ عناصر XPM_FIFO مبتنی بر ساختارهای FIFO برای تبادل سنکرون و آسنکرون اطلاعات

❗️برای استفاده از عناصر XPM در Vivado دو راه داریم ...

مطالعه ادامه مطلب »

@Hexalinx
#XFFT, #FFT

محاسبه و پیاده سازی تبدیل فوریه در FPGA روی دنباله‌های فریم بندی شده به عنوان بخش جدایی ناپذیر سیستم‌های پردازش سیگنال شناخته می‌شود.

❇️ در حالت کلی FFT الگوریتم پیچیده‌ای محسوب می‌شود و پیاده سازی بهینه سخت افزاری آن در FPGA کاملاً چالش برانگیز است. به همین دلیل است که اکثر سازندگان تراشه‌های FPGA یک IP Core قابل سفارشی سازی در اختیار کاربرانشان قرار می‌دهند. اگر چه با استفاده از این IP Core ها مهندس پیاده ساز به راحتی و تنها با چند کلیک می‌تواند یک الگوریتم FFT به طرحش اضافه کند، اما با این وجود هر طراحی برای استفاده از آن‌ها بازهم نیاز دارد برخی از جزئیات پیاده سازی FFT را روی سخت افزار بشناسد.

📌 در جدیدترین مقاله منتشر شده در پایگاه دانش هگزالینکس نحوه فراخوانی و سفارشی سازی Xilinx FFT IP Core و پارامترهای آن تشریح شده است.

🔖 مطالعه ادامه مطلب »

@Hexalinx
#LATCH, #VHDL

❇️ چرا لچ‌ها بد هستند و چگونه از سنتز لچ جلوگیری کنیم.

در الکترونیک دیجیتال لچ عنصری است که برای انجام عملیات نمونه برداری و نگه داری (sample and hold) مقادیر باینری مورد استفاده قرار می‌گیرد، و عملکردی مشابه فلیپ فلاپ یا رجیستر دارد، اما برخلاف فلیپ فلاپ‌ها، که حساس به لبه هستند و با لبه بالا رونده و یا پایین رونده کلاک نمونه برداری می‌کنند، لچ‌ها حساس به سطح هستند.

در حالت کلی لچ‌ها باعث افزایش سربار و ابجاد محدودیت برای ابزار پیاده سازی هنگام مسیریابی درون تراشه می‌شوند.

مطالعه ادامه مطلب »»

@Hexalinx
#UART, #RS232

✳️ پیاده سازی ماژول UART در FPGA

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

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

مطالعه متن کامل مقاله »

@Hexalinx
#KV260, #KRIA

❇️ کیت آموزشی هوش مصنوعی KV260 اولین کیت توسعه داده شده با هدف Vison AI و مبتنی بر پلتفرم K26 SOM شرکت Xilinx است. بورد میزبان (کریر) در برگیرنده مجموعه کاملی از اینترفیس‌ها شامل Ethernet ، USB 3.0 ، HDMI ، Display Port ، MIPI Sensor ، Pmod و MicroSD است.

✳️ این کیت مجهز به یک Heatsink و یک فن نسبتاً بزرگ است که تبادل گرمایی مناسبی را برای اپلیکیشن‌های سنگین فراهم می‌کند.

🔖 قیمت این کیت بسیار مقرون به صرفه است و تنها $199 دلار است. البته در صورت تمایل به خرید تمامی ملزومات آن نیاز به پرداخت $85 دیگر نیز خواهید داشت.

🎥 مشاهده ویدئو »

@Hexalinx
#FPGA, #ARM, #DSP

✳️ چرا باید تا این حد زمان و هزینه صرف کنیم تا کار با FPGA ها را فرا بگیریم؟
✳️ واقعاً چرا باید به جای ARM و یا DSP کار با FPGA را یاد بگیریم؟

جواب بسیار کوتاه به این سوأل در علاقه و برنامه ریزی کاری شما نهفته است.

📌 اما بد نیست این را بدانید که ما در میانه راه یک انقلاب بزرگ به نام هوش مصنوعی در سال‌های آینده هستیم، راهی که در نهایت تمامی سرگرمی‌های امروز را به کارهای مهم همه روزه ما تبدیل خواهد کرد. گام نهادن در این راه بدون فراگیری دانش های FPGA ابتر خواهد بود.

مطالعه متن کامل مقاله »

@Hexalinx
#UltraRAM, #UltraScale

✳️بلوک‌های UltraRAM در تراشه‌های UltraScale-Plus

حافظه‌های اولترا یا UltraRAM ها بلوک‌های جدید حافظه در تراشه‌های FPGA هستند که در خانواده شرکت Xilinx معرفی شده‌اند.

بلوک‌های UltraRAM جایگزینی برای حافظه‌های چند گیگابایتی SDRAM و یا حافظه‌های EPROM که در کنار تراشه‌های FPGA مورد استفاده قرار می‌گیرد، نیستند. هدف اصلی از معرفی این SRAM های بزرگ به تعویق انداختن نیاز طراح به استفاده از حافظه‌های جانبی بزرگ است. به عنوان نمونه برخی از مهمترین انگیزه‌هایی که ممکن است برای بکارگیری این حافظه‌ها وجود داشته باشد عبارتند از:

1️⃣ حافظه‌های SRAM داخلی تراشه FPGA سریعتر از حافظه‌های خارجی SDRAM‌ در کنار تراشه FPGA هستند.
2️⃣ برآورده کردن ملاحظات زمان بندی برای حافظه‌های SRAM داخلی بسیار ساده تر از حافظه‌‌های خارجی است.
3️⃣ برخلاف SDRAM‌ها، حافظه‌های SRAM داخلی نیازی به استفاده از پروتکل‌ها و اینترفیس‌های پیچیده برای کنترل و تبادل داده ندارد.

مطالعه متن کامل مقاله »

@Hexalinx
#HLS, #FPGA

✳️ به شکل سنتی معمولا ً از زبان‌های HDL برای پیاده سازی طرح در سطح RTL استفاده می‌شود. با گذشت زمان‌، طراحی در سطوح انتزاعی بالاتر از سطح RTL و توصیف رفتار مدار به جای پیاده سازی جز به جز عملکرد آن و همینطور استفاده از بلوک‌های IP Core‌ که به صورت مدوام و بدون محدودیت قابل بکارگیری در طراحی‌های جدید را دارند، باعث سرعت بخشیدن و تسهیل روند طراحی شده‌اند.

با پیچیده تر شدن سیستم‌ها و افزایش‌ فشارهای ناشی از محدود شدن زمان‌های مجاز برای توسعه و ارائه محصول به بازار، توسعه دهندگان و تولیدکنندگان اصلی تراشه‌های FPGA را بر آن داشت تا به منظور کاهش زمان توسعه هر چه بیشتر به سمت استاندارد سازی و معرفی یک زنجیره ابزار نرم افزاری تر گام بردارند.

یکی از این تکنیک‌ها سنتز سطح بالا یا HLS نام دارد. سنتز سطح بالا را می‌توان به عنوان یک ابزار کارآمد با بهره وری قابل قبول برای طراحی سخت افزار در نظر گرفت. در حالت کلی در سنتز سطح بالا از سورس فایل‌های نوشته شده به زبان C و ++C برای تولید کدهای RTL استفاده می‌شود.

مطالعه متن کامل مقاله »

@Hexalinx