HEXALINX
534 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 با موضوع ارزیابی فانکشنالیتی طرح در Vivado HLS

👈 در این ویدئوی کوتاه شیوه ارزیابی طرح در Vivado HLS را با هم مرور می‌کنیم و برای ارزیابی عملکرد طرح C و طرح RTL از تست بنچ C استفاده می‌کنیم. یکی از مهمترین ویژگی‌های‌ تست بنچ‌های C امکان استفاده از آن‌ها برای ارزیابی کدهای RTL تولیدی بعد از سنتز C و مشاهده نتایج آن در سیمولاتورهای مرسوم RTL همچون Vivado Simulator است. در این ویدئو شیوه استفاده از دیباگر Vivado HLS را فرا می‌گیریم.

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


@Hexalinx
#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
#PETALINUX, #LINUX

✳️ وقتی اولین بار در مورد پتالینوکس (PetaLinux) شنیدم، اعتراف می‌کنم، نسبت به قابلیت‌های آن خوش بین نبودم. من یک پیش زمینه کامل از نحوه توسعه سیستم‌های لینوکس نهفته داشتم و پروژه‌های متعددی را با یاکتو (Yocto) انجام داده بودم. پروژه‌هایی که در راستای تجمیع لینوکس روی پلتفرم‌های SoC متفاوت بوده است.
❗️پاراگراف بالا بخشی از نظرات یک توسعه دهنده سیستم‌های نهفته در رابطه با اولین تجربه کاریش با پتالینوکس بعد از سال‌ها کارها با یاکتو است.

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

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

@Hexalinx
#FILTER
#Essentials

✳️ به طور کلی فیلترها دارای چهار نوع اصلی هستند که در ادامه به شما معرفی می‌کنم:

1️⃣ فیلترهای پایین گذر یا low-pass filters
2️⃣ فیلترهای بالا گذر یا high-pass filters
3️⃣ فیلترهای میان گذر یا band-pass filters
4️⃣ فیلترهای میان نگذر باریک یا band-stop filter یا notch filters

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

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

@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
#FIR, #FILTER, #SYSGEN
#Basic

✳️ فرض کنیم به تازگی مشغول کار در شرکتی شده‌اید که کار اصلی آن پیاده سازی الگوریتم‌های پردازش سیگنال است. شرکت در حال کار روی فیلترهای دیجیتال است و تصمیم دارد در محصول جدیدش فیلترهای آنالوگ قدیمی را با فیلترهای دیجیتال جدید جایگزین کند. هدف از این جایگزینی هم بهبود عملکرد سیستم و کاهش هزینه تمام شده محصول است. این جایگزینی مزایای رقابتی قابل ملاحظه‌ای نیز به همراه دارد و احتمالاً باعث محبوبیت مضاعف این محصول جدید در بازار می‌شود.

✳️ شرکت برای عملیاتی کردن این فیلتر تصمیم گرفته است از تراشه FPGA برای پیاده سازی استفاده کند و مدیرتان از شما خواسته ‌است مسئولیت پیاده سازی این فیلتر را بر عهده بگیرید. مدیرتان با آگاهی از این موضوع که شما به اندازه کافی به نرم افزار Matlab مسلط هستید و تجربه کار با ابزار Simulink را دارید، یک مدل اولیه به صوت زیر در اختیار شما قرار داده است و انتظار دارد بر اساس این تعریف اولیه کارتان را شروع کنید و به نحو مطلوب به پایان برسانید.

❗️حالا سؤال اینجاست اگر شما واقعاً در چنین موقعیتی قرار بگیرید، از کجا شروع می‌کنید؟

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

@Hexalinx
bandpass_filter.rar
95.1 KB
فایل‌های مربوط به پروژه برای عزیزانی که از نسخه‌های قدیمی تر استفاده میکنن
#VIVADO_HLS
#Advanced

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

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

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

@Hexalinx
🔖 دوره آموزشی شروع کار با Zynq برای مبتدیان منتشر شد.

• این دوره فقط یک مجموعه ویدئوی آموزشی نیست.
• این دوره یک کتابچه راهنمای مرجع نیست.
• این دوره یک خود آموز گام به گام هم نیست.

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

📌 با شرکت در این دوره یک فضای آموزشی مشابه با آنچه در Udemy و Teachable و حتی Coursera وجود دارد در اختیار شما قرار می‌گیرد.

📎 لینک دسترسی به دوره >>

@Hexalinx
#Zynq

✳️ توضیحات تکمیلی:

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

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

❗️در طول این آموزش در هیچ مقطعی از کار شما را به حال خود رها نخواهیم کرد. مدام به چالش کشیده می‌شوید و مدام نیاز به تفکر دارید.

🙏 به پاس همراهی شما عزیزان با هگزالینکس تخفیف ۴۰ درصدی برای مدت محدود در نظر گرفته شده است که می‌توانید از آن بهرمند شوید.
👈 کد تخفیف: firstcourse40

@Hexalinx