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
#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
#ISE, #Verilog
✳️ هگزالینکس همچنان با شعار عمیق یاد بگیریم، دقیق بکار بگیریم در کنار شماست و در راستای هدف اصلی خود که همانا پایه ریزی نسخه آنلاین آموزش‌های دانشگاهی و صنعتی در حوزه تراشه‌های قابل پیکره‌بندی می‌باشد، در حال گام برداشتن است.

📌 برای دسترسی به جزئیات این دوره و نحوه شرکت در آن به سایت هگزالینکس مراجعه بفرمایید.

📚 اطلاعات بیشتر و ثبت نام »

@Hexalinx
#DSP48, #DSP58
✳️ این نوشتار از پایگاه دانش هگزالینکس یک بروزرسانی برای مقاله‌ای است که پیش تر تحت عنوان بلوک‌های DSP48 : قلب تپنده پردازش سیگنال منتشر شده است و در آن تاریخچه پیداش بلوک‌های DSP48 و سیر تکاملی‌ آن در طی یک بازه زمانی ۱۵ ساله به شکل خلاصه مورد بررسی قرار گرفت.


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

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

@Hexalinx
#DMA
✳️ کاربرد DMA چیست؟

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

❗️هنگام استفاده از پردازنده های MicroBlaze درون تراشه‌های FPGA و یا هنگام استفاده از تراشه‌های Zynq چندین انتخاب برای تبادل داده‌های پرسرعت وجود دارد که آشنایی با آن‌ها می‌تواند باعث افزایش کیفیت طراحی شود.

@Hexalinx
#VHDL, #CONFIGURATION

✳️ به کمک ساختار Configuration می‌توان محاسبات داخلی و نحوه عملکرد یک ماژول را تغییر داد در حالی که پوسته و ظاهر بیرونی و همینطور اینترفیس‌های آن بدون تغییر باقی می‌ماند.

معمولاً ساختارهایConfiguration به یکی از چهار دلیل زیر، مورد استفاده قرار می‌گیرند:

1️⃣ آزمایش مستقیم: جایگزین کردن ماژول‌هایی که رفتار مشابه دارند

2️⃣ هنگام استفاده از‌ BFM به جای زیر ماژول اصلی: جایگزین کردن اینترفیس زیر ماژول‌هایی که توسعه آن‌ها پایان نیافته

3️⃣ آزمایش رفتارهای غیر معمول: اعمال خطا به یک بخش خاص از طرح برای بررسی شرایط کاری خارج از کنترل

4️⃣ تسریع فرایند شبیه سازی: جایگزین کردن یک کد بزرگ با یک کد خالی

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

@Hexalinx
#Basic
#CMT, #DCM, #PLL, #MMCM

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

بلوک‌های مدیرت کلاک در نسل‌های مختلف تراشه‌های Xilinx با عناوین متفاوت و البته کاربردهای بعضاً مشابهی معرفی شده اند. آشنایی با واژه هایی مثل DCM و MMC و PLL و مفاهیمی همچون Clock Region و CMT می‌تواند به درک صحیح تفاوت‌ها و شباهت‌های عناصر تاثیر گذار در ساختار درخت کلاک کمک کند.

🔖 در این مقاله نگاهی متفاوت به تاریخچه‌ و سیر تکاملی بلوک‌های مدیریت کلاک در نسل‌های مختلف تراشه‌های FPGA شرکت Xilinx خواهیم داشت، و مسیری را که برای دستیابی به بلوغ فعلی طی شده است، مرور خواهیم کرد.

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

@Hexalinx
#Intermediate
#Microblaze, #LMB

✳️ به طور کلی سه ساختار یا پیکربندی برای طراحی معماری حافظه مایکروبلیز وجود دارد که عبارتند از:

1️⃣ استفاده از حافظه‌های محلی
2️⃣ استفاده از حافظه‌های داخلی
3️⃣ استفاده از حافظه‌های خارجی

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

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

@Hexalinx
#Advanced
#BUFG, #BUFR, #MRCC, #SRCC

♨️ هیچ گاه علاقه‌ای به استفاده از واژه صفر تا صد نداشته ایم، این بار هم قصد این کار را نداریم، اما به واقع در سری آموزشی مدیریت سیگنال کلاک بسیار فراتر از آن چیزی که انتظار دارید با منابع و شبکه توزیع کلاک در نسل‌های مختلف تراشه‌های FPGA شرکت Xilinx آشنا خواهید شد.

✳️ از نقطه نظر کلاک، بعد از معرفی تراشه Virtex-4، تراشه‌های FPGA شرکت Xilinx، به تعدادی ناحیه کلاک تقسیم می‌شوند. این نواحی برای مدیریت بهتر سیگنال کلاک ایجاد شدند و تعداد آن‌ها در نسل‌های مختلف، متفاوت است. همینطور شیوه تقسیم بندی فضای درونی هر تراشه به نواحی کلاک طی نسل‌های مختلف دستخوش تغییر شده است. معرفی مفهوم ناحیه کلاک باعث شکل گیری مفاهیم دیگری نیز شد که یکی از آن‌ها مفهومی به نام کلاک‌های محلی یا Regional Clock است، در حالی که تا پیش از آن تمامی منابع کلاک درون تراشه‌، تحت عنوان منابع سرتاسری یا Global ، شناخته می‌شدند.

🔖 مدیریت سیگنال کلاک: بخش اول منابع مدیریت کلاک در FPGA »
🔖 مدیریت سیگنال کلاک: بخش دوم شبکه توزیع کلاک در FPGA »

@Hexalinx