آموزش طراحی FPGA با VHDL (Intel/Altera)

Learn FPGA Design With VHDL (Intel/Altera)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: به دست آوردن پایه ای محکم در VHDL برای توسعه FPGA با مثال های فراوان ما زبان و نحو VHDL را با پروژه های مثال زیادی پوشش خواهیم داد. کد VHDL را به پیاده سازی سخت افزار مرتبط می کنیم ایجاد بلوک های ساختمانی FPGA با استفاده از VHDL ایجاد ماشین های حالت با استفاده از VHDL ایجاد طرح های پیچیده FPGA از ابتدا برجسته تمرین خوب طراحی و مشکلات رایج نوشتن میزهای تست در VHDL شبیه سازی و اشکال زدایی طرح های FPGA با استفاده از ModelSim استفاده از نرم افزار Intel Quartus برای کامپایل و پیاده سازی پروژه ها استفاده از Quartus برای انجام پین Assignments برنامه نویسی FPGA با استفاده از USB Blaster با استفاده از Quartus Netlist Viewer برای مشاهده تحقق سخت افزار درک گزارش‌های Quartus Fitter Quartus Assignment Editor تنظیمات، گزینه‌ها و بهینه‌سازی‌های Quartus مقدمه پایه بر تحلیلگر زمان‌بندی Quartus پیاده‌سازی یک پروژه UART که از طریق RS232 با رایانه شخصی ارتباط برقرار می‌کند. ارزش اجرای پروژه ای برای ایجاد خروجی PWM پیاده سازی شیفت رجیستر به LED های درایو پیاده سازی پروژه ای برای پوشش سوئیچ جهش زدایی و همگام سازی

مخاطبان دوره:

این دوره برای دانشجویان مهندسی که می خواهند با استفاده از VHDL وارد حوزه توسعه FPGA شوند، طراحی شده است. هیچ دانش قبلی در VHDL/FPGA در نظر گرفته نشده است، بنابراین ما از همان ابتدایی شروع خواهیم کرد.

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


خلاصه دوره :

این دوره به طور مفصل زبان VHDL را پوشش می دهد. در بین سخنرانی‌ها، تعدادی پروژه سرگرم‌کننده (لطفاً به زیر مراجعه کنید) را با پیچیدگی فزاینده تکمیل خواهیم کرد تا دانشی را که در طول دوره به دست آورده‌ایم تثبیت کنیم. ما نحوه نوشتن Test Benches را بررسی خواهیم کرد و تعدادی از Test Benches را برای تأیید پروژه UART پیاده سازی خواهیم کرد. ما نرم افزار Intel Quartus را به طور مفصل پوشش می دهیم و همچنین نحوه شبیه سازی تست Benches با استفاده از ModelSim را بررسی می کنیم.


پروژه‌ها (اجرا شده و آزمایش‌شده در هیئت توسعه Cyclone IV):

1. خواندن ورودی سوئیچ و راه اندازی خروجی LED

2. ماشین حالت ساده که به ورودی کاربر واکنش نشان می دهد و تعدادی LED را هدایت می کند

3. همگام سازی و حذف یک ورودی سوئیچ.

4. تولید یک خروجی PWM.

5. طراحی Shift Register.

6. نمایشگر 4 رقمی 7-بخشی برای شمارش تعداد فعال سازی های دکمه فشاری

7. ماژول UART دستگاه حالت برای بازتاب نویسه‌های برگشتی دریافت شده از رایانه شخصی بر روی RS232


Intel Quartus Softare:

1. ایجاد کامپایل یک پروژه جدید

2. انجام تکالیف پین .

3. مقدمه اولیه کاتالوگ IP Quartus .

4. استفاده از USB Blaster برای برنامه ریزی FPGA از طریق JTAG.

5. با استفاده از Quartus Net List Viewer برای کشف سخت افزار طراحی خود.

6. برای درک بهتر تخصیص منابع، گزارش های Quartus Fitter را درک کنید.

7. با استفاده از ویرایشگر Quartus Assignment .

8. نمای کلی تنظیمات، گزینه ها و بهینه سازی های Quartus.

9. مقدمه اولیه بر تحلیلگر زمان، محدودیت های زمان بندی و فایل های SDC.


نرم افزار Intel ModelSim Starter Edition:

1. ایجاد یک پروژه ModelSim جدید .

2. نوشتن میزهای تست کامپایل .

3. شبیه سازی در حال اجرا .

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


جزئیات دوره:

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

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

با این پایه قوی در زبان، نحوه ساخت بلوک‌های اساسی FPGA را بررسی خواهیم کرد که از درایورهای سه حالته، ثبات‌ها، مقایسه‌کننده‌ها، مولتی پلکسرها، ثبت‌کننده‌های شیفت، سریال‌سازها، رام‌های RAM و ماشین‌های حالت محدود شروع می‌شوند. ما نحوه کدنویسی تمام ساختارهای فوق را بررسی خواهیم کرد و همچنین چگونگی پیاده سازی آنها در سخت افزار واقعی در FPGA را بررسی خواهیم کرد.

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

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

در این مرحله، ما بسیاری از تئوری ها را پوشش می دادیم و همچنین تعدادی از پروژه های طراحی را تکمیل می کردیم، بنابراین شما باید دانش ایجاد طرح های FPGA خود را به طور مستقل داشته باشید. اکنون تأیید طراحی را پوشش خواهیم داد. این بخش نحوه نوشتن نیمکت های تست را بررسی می کند. ما جنبه‌های سبک‌های کدنویسی VHDL را برای نوشتن نیمکت‌های تست بررسی خواهیم کرد. ما در مورد نحوه اجرای فایل IO برای ایجاد بردارهای ورودی و ذخیره نتایج خروجی بحث خواهیم کرد. همچنین در مورد نیمکت‌های آزمایشی خودآزمایی برای کمک به خودکارسازی فرآیند آزمایش بحث خواهیم کرد.

در بخش پایانی دوره، ما یک ماژول UART را طراحی خواهیم کرد که توسط یک ماشین دولتی کنترل می شود. ما کد VHDL را برای پیاده سازی UART و ماشین حالت از ابتدا می نویسیم. ما از یک رویکرد طراحی سلسله مراتبی استفاده خواهیم کرد که در آن تعدادی واحد طراحی خواهیم داشت. ما میزهای آزمایشی را برای هر واحد طراحی می نویسیم و شبیه سازی ها را (با استفاده از ModelSim) برای تأیید انجام می دهیم. ما تمام واحدهای طراحی را در ماژول VHDL سطح بالای خود گرد هم می آوریم و یک شبیه سازی سطح سیستم را انجام می دهیم. در مرحله بعد، نحوه ایجاد پیکربندی یک پروژه در Intel Quartus را برای پیاده‌سازی طراحی خود بر روی برد توسعه FPGA بررسی خواهیم کرد. ما به نحوه انجام انتساب پین ها و همچنین به طور خلاصه به اعمال محدودیت های زمان بندی بسیار ابتدایی برای اجرای طرح خود نگاه خواهیم کرد. سپس طرح را روی سخت‌افزار واقعی آزمایش می‌کنیم تا مطمئن شویم طراحی ما همانطور که در نظر گرفته شده است کار می‌کند.




سرفصل ها و درس ها

فیلم های دوره Course Videos

  • معرفی Introduction

  • هیئت توسعه طوفان IV Cyclone IV Development Board

  • نصب Quartus Installing Quartus

  • اصول FPGA FPGA Fundamentals

  • سیگنال ها و انواع داده I Signals & Data Types I

  • سیگنال ها و انواع داده II Signals & Data Types II

  • ثابت ها Constants

  • اپراتورهای VHDL VHDL Operators

  • ساختار یک فایل VHDL Structure of a VHDL File

  • پروژه: سوئیچ و LED Project : Switch And LED

  • بلوک فرآیند The Process Block

  • پروژه ماشین دولتی State Machine Project

  • نمونه سازی کامپوننت Component Instantiation

  • پروژه: استفاده از Quartus IP Wizard برای تولید PLL Project : Using Quartus IP Wizard To Generate PLL

  • Quartus Netlist Viewer & Fitter Reports Quartus Netlist Viewer & Fitter Reports

  • تنظیمات و گزینه های Quartus Quartus Settings & Options

  • بیانیه های همزمان VHDL VHDL Concurrent Statements

  • بیانیه های متوالی VHDL VHDL Sequential Statements

  • تکالیف سیگنال I Signal Assignments I

  • تخصیص سیگنال II Signal Assignments II

  • نحوه تولید PWM How To Generate A PWM

  • پروژه: PWM LED Project : PWM LED

  • متغیرها Variables

  • توابع و رویه ها Functions and Procedures

  • بسته ها و کتابخانه ها Packages and Libraries

  • اجزای پارامتری شده Parameterised Components

  • تبدیل نوع Type Conversions

  • موضوعات متفرقه Miscellaneous Topics

  • رانندگان سه ایالتی Tri-State Drivers

  • مقایسه کننده ها Comparators

  • مولتی پلکسرها Multiplexers

  • Shift Registers Shift Registers

  • سریال سازها Serialisers

  • رم و رام RAMs & ROMs

  • ماشین های حالت محدود Finite State Machines

  • تمرین ماشین دولتی State Machine Practise

  • تمرین خوب طراحی I Good Design Practice I

  • تمرین خوب طراحی II Good Design Practice II

  • پروژه: LED Shift Register Project : LED Shift Register

  • چگونه یک ورودی سوئیچ را بازگردانیم How To Debounce A Switch Input

  • پروژه: ورودی ناهمزمان غیرفعال Project : De-bouncing Asynchronous Input

  • آنالایزر زمان بندی کوارتوس Quartus Timing Analyser

  • رانندگی با نمایشگر هفت بخش Driving A Seven Segment Display

  • پروژه: شمارنده 4 رقمی با استفاده از نمایشگر هفت بخش Project : 4 Digit Counter Using Seven Segment Display

  • نیمکت های تست I Test Benches I

  • نیمکت های تست II Test Benches II

  • نیمکت های تست III Test Benches III

  • بلوک دیاگرام UART UART Block Diagram

  • پروتکل RS232 RS232 Protocol

  • نمودار بلوکی BaudClkGenerator BaudClkGenerator Block Diagram

  • BaudClkGenerator VHDL BaudClkGenerator VHDL

  • میز تست BaudClkGenerator BaudClkGenerator Test Bench

  • دیاگرام بلاک سریالیزر Serialiser Block Diagram

  • سریالایزر VHDL Serialiser VHDL

  • میز تست سریال ساز Serialiser Test Bench

  • فرستنده UART VHDL UART Transmitter VHDL

  • میز تست فرستنده UART UART Transmitter Test Bench

  • Shift Register VHDL Shift Register VHDL

  • میز آزمون ثبت نام شیفت Shift Register Test Bench

  • همگام سازی VHDL Synchroniser VHDL

  • میز تست همگام ساز Synchroniser Test Bench

  • گیرنده UART VHDL UART Receiver VHDL

  • میز تست گیرنده UART UART Receiver Test Bench

  • خلاصه تا اینجا Summary So Far

  • ماژول سطح بالا VHDL Top Level Module VHDL

  • نیمکت آزمون ماژول سطح بالا I Top Level Module Test Bench I

  • نیمکت تست ماژول سطح بالا II Top Level Module Test Bench II

  • اجرای Quartus Quartus Implementation

  • نتیجه Conclusion

  • پروژه کوارتوس Quartus Project

نمایش نظرات

آموزش طراحی FPGA با VHDL (Intel/Altera)
جزییات دوره
20 hours
69
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
959
4.3 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Lakshman Athukorala Lakshman Athukorala

مهندس الکترونیک