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
#Basic
✳️ تاکنون مقاله‌های متعددی در رابطه با مفاهیم پایه‌ایی و مقدماتی الگوریتم‌های fixed point در هگزالینکس منتشر شده است. طراحی و پیاده سازی فیلتر FIR روی FPGA یکی از اولین چالش‌های است که هر مهندس فعال در این حوزه با آن دست و پنجه نرم می‌کند. ما در هگزالینکس شما را تنها نگذاشته‌ایم به صورت مفصل به این موضوع پرداختیم.

❗️اگر در ابتدای راه فراگیری هستید و قصد یادگیری اصول پیاده سازی ممیز ثابت الگوریتم‌های پردازش سیگنال را دارید.
❗️اگر در نوشتن تست بنچ مشکل دارید و به دنبال این هستید تا یک تست بنچ مناسب برای طراحی‌های خود تهیه کنید.
❗️اگر درک ماهیت دستورات fixed point در Matlab برای شما دشوار است.
❗️اگر علاقمند به استفاده حداکثری از IP Integrator و System Generator برای طراحی های خودتان هستید و اگر بسیاری از سوألات این‌چنینی ذهن شما را مشغول کرده است. با ما همراه شوید.

🔖 در دو مقاله اخیر منتشر شده در سایت به شکل مفصل به این موضوع پرداخته‌‌ایم و دو راه حل کاملاً متفاوت برای نیل به یک هدف واحد را به تصویر کشیدیم.

طراحی فیلتر FIR با ابزار System Generator for DSP
پیاده سازی فیلتر FIR در Vivado

@Hexalinx
#Intermediate, #CORDIC

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

✳️ واژه CORDIC مخفف عبارت COordinate Rotation DIgital Computer است و از نقطه نظر پیاده سازی یک الگوریتم کاملاً بهینه یا اصطلاحاً Hardware-efficient است که با استفاده از یک متد تکرار شونده مبتنی بر چرخش و دَوَران ، برای پیاده سازی سخت افزاری رنج وسیعی از توابع پایه‌ای ریاضی بکار برده می‌شود.

❗️در این مقاله از سری آموزش‌های پایگاه دانش هگزالینکس باهم مروری برالگوریتم CORDIC و جایگاه آن در پیاده سازی توابع ریاضی پایه در FPGA خواهیم داشت.

مطالعه ادامه مطلب »
@Hexalinx
#ISE, #WIN10, #Download

✳️ یکی از مشکلات رایجی که کاربران هنگام استفاده از مجموعه نرم افزاری ISE با آن برخورد می کنند، ناسازگاری بسته نسبی نسخه ۱۴.۷ با ویندوز ۱۰ هست.

در سال های اخیر یک نسخه استاندارد برای این مجموعه نرم افزاری روی ویندوز ۱۰ منتشر شده است که فقط از سایت xilinx قابل دانلود می باشد

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

❗️شما می توانید به مدت ۱۰ روز برای دانلود آن اقدام کنید.

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

لینک دانلود >>

@Hexalinx
HEXALINX pinned a photo
#Basic, #DSP48

تراشه‌های FPGA به دلیل ظرفیت قابل توجه موازی سازی و انعطاف پذیری بالایی که دارند همواره یک انتخاب مناسب برای بکارگیری در اپلیکیشن‌های پردازش سیگنال بوده و هستند. اما صحبت از اپلیکیشن‌های پردازش سیگنال و پیاده سازی آن‌ها در FPGA بدون آشنایی با قابلیت‌ها و ویژگی‌های بلوک‌های DSP48 در این تراشه‌ها مثل رانندگی در یک جاده تاریک با چراغ خاموش است.

✳️ ما مدت‌هاست در #هگزالینکس به دنبال انتشار مقاله‌ای در رابطه با معرفی انواع متفاوت بلوک‌های DSP48 و مقایسه قابلیت‌های آن‌ها در نسل‌های مختلف تراشه‌های تولیدی شرکت Xilinx هستیم. اکنون فرصتی دست داده است تا به رسالت خودمان عمل کنیم و به شکل ویژه‌ای به این موضوع بپردازیم. پس بدون فوت وقت به سال ۲۰۰۴ بر می‌گردیم، زمانی که برای اولین بار تراشه‌های Virtex-4 با اتکا به یک واحد سخت افزاری اختصاصی برای پردازش سیگنال به نام XtremeDSP DSP48 Slice معرفی شدند.

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

@Hexalinx
HEXALINX pinned Deleted message
#HLS, #TRIGGERS

✳️ مدیریت تأخیرها و تریگرها

در Vivado HLS پیاده سازی مداراتی که ذاتاً ماهیت کنترلی دارند می‌تواند به نوبه خودش یک دردسر به تمام معنا باشد. یک طراح برای کنترل بهینه تأخیرها، تریگرها در HLS نیاز به آشنایی با کتابخانه‌‌های اختصاصی Xilinx دارد.

❗️دراین آموزش از پایگاه دانش هگزالینکس قصد داریم نگاهی به این موضوع بیاندازیم که چگونه می‌توانیم ساختاری فراتر از الگوریتم‌های مرسوم پردازشی در Vivado HLS پیاده سازی کنیم که در آن:
👈 بتوانیم منتظر یک سیگنال ورودی به عنوان تریگر بمانیم.
👈 بتوانیم برای مدت زمان مشخصی همچون چند سیکل کلاک تأخیر ایجاد کنیم و روال اجرای برنامه را متوقف کنیم.
👈 و در نهایت یک سیگنال تریگر خروجی تولید کنیم.

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

@Hexalinx
#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