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
#Advanced
#VIVADO_HLS


✳️ قسمت سوم از ویدئوهای آموزشی Vivado HLS با موضوع پکیج کردن HLS IP برای Vivado IP Catalog

👈 برای اینکه بتوانیم از طرح Vivado HLS در کنار کدهای HDL و یا سایر IP های از پیش طراحی شده استفاده کنیم، نیاز داریم تا این IP ها را پکیج کنیم و در محیط‌های طراحی دیگر فراخوانی کنیم. از نسخه 2015.4 به بعد در Vivado HLS تنها امکان انتقال IP به محیط‌های Vivado Design Suite و System Generator for DSP وجود دارد و امکان استفاده از HLS IP در محیط ISE یاXPS وجود ندارد. در این ویدئو شیوه پکیج کردن HLS IP برای Vivado IP Catalog را باهم مرور خواهیم کرد. این HLS IP می‌تواند در محیط Vivado IP Integrator فراخوانی و استفاده شود.

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

@Hexalinx
#Advanced
#VIVADO_HLS

✳️ قسمت چهارم از ویدئوهای آموزشی Vivado HLS با موضوع ساخت HLS IP برای System Generator

👈 برای اینکه بتوانیم از طرح Vivado HLS در کنار بلوک‌های آماده و یا سایر IP های از پیش طراحی شده استفاده کنیم، نیاز داریم تا این IP ها را پکیج کنیم و در محیط‌های طراحی دیگر فراخوانی کنیم. از نسخه 2015.4 به بعد در Vivado HLS تنها امکان انتقال IP به محیط‌های Vivado Design Suite و System Generator for DSP وجود دارد و امکان استفاده از HLS IP در محیط ISE یا XPS وجود ندارد.
در این ویدئو شیوه ساخت HLS IP برای System Generator for DSP را باهم مرور خواهیم کرد. این HLS IP می‌تواند به صورت یک بلوک فراخوانی و استفاده شود.

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

@Hexalinx
#Advanced
#VIVADO_HLS

✳️ قسمت پنجم از ویدئوهای آموزشی Vivado HLS با موضوع استفاده از اینترفیس Tcl در Vivado HLS

👈 زبان برنامه نویسی Tcl یک زبان سطح بالا و دینامیک است که با هدف ساده سازی توصیف فرایند ساخته شده و به صورت گسترده در ISE و به ویژه Vivado مورد استفاده قرار می‌گیرد. واژه TCL محفف Tool Command Language است.
👈 در Vivado HLS هم برای بالا بردن سطح اتوماسیون طراحی و همینطور مدیریت بهتر سورس فایل‌های پروژه از Tcl استفاده می‌شود. تمامی مثال‌های آماده Xilinx و همینطور آموزش‌هایی که برای Vivado HLS طراحی و منتشر شده است با استفاده از اسکریپتی‌هایی که به زبان Tcl نوشته شده‌اند، مدیریت می‌شوند. یادگیری شیوه استفاده از این فایل‌ها و نحوه ویرایش آن‌ها می‌تواند دروازه ورود شما به دنیای هزاران پروژه آماده در github باشد.
👈 ما در این ویدئو ابتدا روش ساخت و سفارشی سازی یک فایل Tcl را به شما آموزش می‌دهیم و در ادامه نحوه استفاده از اینترفیس Tcl برای اجرای Vivado HLS را با هم مرور خواهیم کرد.

🎥 مشاهده ویدئو »
📁 دانلود فایل‌ها »

@Hexalinx
#Advanced
#AXI, #AXIVIP,


✳️ معرفی AXI VIP و کاربردهای آن

راه حل پیشنهادی Xilinx برای تسهیل فرایند شبیه سازی اینترفیس‌های AXI4 و AXI4-Lite استفاده از یک IP Core رایگان به نام AXI Verification IP به اختصار AXI VIP است که به سادگی از طریق مخزن IP های Xilinx در مجموعه نرم افزاری Vivado قابل فراخوانی است.

در این ویدئوی آموزشی کوتاه ، مروری اجمالی بر مهمترین ویژگی‌های این IP و مزایای آن خواهیم داشت. برای دسترسی به مقاله و ویدئوی آموزشی از لینک زیر استفاده کنید.

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


@Hexalinx
#Advanced
#AXI, #AXIVIP, #AXI_Lite

✳️ مطلبی که در ادامه مطالعه می‌کنید، قسمت سوم از سری آموزشی AXI است. در این قسمت قصد داریم با اضافه کردن AXI VIP به یک پروژه در Vivado فرایند شبیه سازی اینترفیس AXI4-Lite با AXI VIP را به طور کامل بررسی کنیم. در انتهای کار نیز نگاهی دقیق‌تر به سیگنال‌هایی که در تراکنش‌های AXI4-Lite شرکت دارند می‌اندازیم و شکل موج‌های قابل نمایش در پنجره Waveform را به دقت بررسی می‌کنیم.

در قسمت اول این سری آموزشی به شکل خلاصه مبانی اینترفیس AXI را با هم مرور کردیم و مهمترین مفاهیم و اصطلاحات کلیدی در AXI3/AXI4 آشنا شدیم. در قسمت دوم به یک سؤال مهم پاسخ دادیم و در رابطه با متدهای استاندارد شبیه سازی اینترفیس AXI که توسط Xilinx در محیط توسعه Vivado ارائه شده است، توضیحاتی ارائه کردیم.

👈 قسمت اول: مقدمه‌ای بر AXI »
👈 قسمت دوم: شبیه سازی با AXI Verification IP»
👈 قسمت سوم: شبیه سازی AXI4-Lite با AXI VIP»

@Hexalinx
#Advanced
#VIVADO_HLS

✳️ قسمت ششم از ویدئوهای آموزشی Vivado HLS با موضوع آنالیز طرح در Vivado HLS

👈 در ویدئوهای آموزشی قبلی به شما مهمترین مراحلی که برای ساخت یک طرح در Vivado HLS و استفاده از آن به صورت یک IP نیاز بود آموزش دادیم. همینطور نحوه مدیریت فایل‌ها و شبیه سازی طرح آموزش داده شد. اکنون به مهمترین بخش این آموزش رسیدم و قصد داریم طرحمان را بهینه سازی کنیم.
❗️ بهترین راه برای یادگیری هر روش جدیدی ، ارائه مثال‌های کاربردی است. فیلتر FIR یکی از ماژول‌های بسیار پرکاربرد در الگوریتم‌های پردازشی است. پیاده سازی این فیلتر به صورت کاملاً استاندارد در زبان C کار نسبتاً ساده‌ای است. در این آموزش ابتدا کدهای C یک فیلتر FIR استاندارد را بررسی می‌کنیم و در نهایت جنبه‌های مختلف بهینه سازی و قابلیت‌های آنالیز در Vivado HLS را به کمک این مثال توضیح می‌دهیم.

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

@Hexalinx
#Advanced
#VIVADO_HLS

✳️ قسمت هفتم از ویدئوهای آموزشی Vivado HLS با موضوع تعیین اینترفیس AXI4‌ برای طرح Vivado HLS

👈 یک طراحی در Vivado HLS زمانی کامل می‌شود که ملاحظات لازم برای تبادل داده بین طرح و سایر ماژول‌ها در یک سیستم کامل شود. یک HLS IP باید بتواند به خوبی داده‌های ورودی را بدون از دست رفتن آن‌ها دریافت کند و با یک هندشیک مناسب خروجی‌ها را به ماژول‌های مصرف کننده تحویل دهد. از آن جایی که یکی از مهمترین کاربردهای Vivado HLS طراحی ماژول‌های شتاب دهنده در سیستم‌های مبتنی بر پردازنده است (سیستم‌های مبتنی بر Zynq و Microblaze) ، از این رو تعیین اینترفیس AXI برای تسهیل تبادل داده بین ماژول و پردازنده بسیار مهم است. در Vivado HLS تعیین اینترفیس‌ برای آرگومان‌های ورودی و خروجی با استفاده از دایرکتیوها و پراگماها انجام می‌شود و کاربر نیازی به طراحی اینترفیس‌ها به صورت دستی ندارد (برخلاف HDL)

👈 در این ویدئو قصد داریم فرایند تعیین اینترفیس‌ AXI4 برای طرح Vivado HLS را با جزئیات کامل بررسی کنیم و شما را با مفاهیم مهمی همچون سنتز اینترفیس و پروتکل‌های ورودی خروجی آشنا کنیم.

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

@Hexalinx
#VIVADO_HLS
#Advanced

✳️ اینبار برای آموزش Vivado HLS به سراغ یک پروژه عملی رفتیم.

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

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

@Hexalinx
#VIVADO_HLS
#Advanced

✳️ در قسمت اول سری دو قسمتی «نکات و تکنیک‌های طراحی با Vivado HLS » روش مدل سازی و پیاده سازی رابطه دما و مقاومت در سیستم‌های صنعتی را مرور کردیم. همانطور که وعده داده بودیم. در قسمت دوم قصد داریم برای اولین بار مفاهیم ممیز ثابت و کتابخانه‌های Arbiterary Precison را خدمت شما معرفی کنیم.

کتابخانه‌های Arbitrary Precision برای تمامی زبان‌های قابل پشتیبانی در Vivado HLS یعنی C و ++C و System C قابل استفاده هستند. با این کتابخانه‌ها تعریف متغیرهای ممیز ثابت علامت دار یا بدون علامت با طول بیت ۵۱۲ یا حتی ۱۰۲۴ بیت امکان پذیر است.
👈 نحوه استفاده از این کتابخانه‌ها در قالب یک فیلتر بسیار متدوال به نام فیلتر میانگین گیر متحرک ارئه شده است.

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

@Hexalinx
همراهان عزیز هگزالینکس:
برای جستجو در مطالب منتشر در کانال می‌توانید از کلید واژه‌ها یا هشتگ های زیر استفاده کنید. امیدوارم آموزش‌های تخصصی هگزالینکس در این مدت انتظارات شما را برآورده کرده باشد.
دسته بندی بر اساس سطح و پیچیدگی مطالب:
#Basic
#Essentials
#Intermediate
#Advanced

دسته بندی براساس ابزارهای طراحی
#VIVADO_HLS
#SYSGEN
#VITIS
#VIVADO
#ISE
#ISIM
#SDSoC

دسته بندی موضوعی
#FIR
#FILTER
#PETALINUX
#LINUX
#AXI
#AXIVIP
#AXI_Lite
#CDC
#Clock_Domain_Crossing
#FIXED_POINT
#CHIPSCOPE
#TCL
#DDR
#ZYNQ
#IOB
#Barrel_Shifter
#wire_bonding
#Pipelining
#device_tree
#Clock_Gating
#Clock
#Reset
#Fanout
#Digital_Filter
#Static_Timing_Paths
#Clock_skew
#U_BOOT
#SSBL
#BUFGCE
#BUFHCE
#MUX
#DCM
#CMT
#QEMU
#BARE_METAL
#CLB
#LUT
#DISTRIBUTED_RAM
#PYNQ
#HLS
#ILA
#VIO
#STA
@Hexalinx
#Advanced
#BUFG, #BUFR, #MRCC, #SRCC

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

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

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

@Hexalinx