آموزش VHDL برای یک مهندس FPGA با مجموعه طراحی Vivado

VHDL for an FPGA Engineer with Vivado Design Suite

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: استفاده از اصول برنامه نویسی VHDL در Xilinx FPGA که به مصاحبه های شغلی مهندس RTL کمک می کند. جریان Vivado Design Suite برای طراحی سیستم دیجیتال را درک کنید. نحوه نوشتن یک RTL برای سنتز سبک‌های مدل‌سازی مختلف در زبان توصیف سخت‌افزار، بیانیه‌های همزمان و متوالی در VHDL نحوه استفاده از Xilinx IP و ایجاد IP سفارشی. یکپارچه کننده IP جریان طراحی Vivado. نوشتن نیمکت های تست VHDL. اشکال زدایی سخت افزار در Vivado یعنی. تحلیلگر منطقی یکپارچه، I/O مجازی. از صفر تا قهرمان در VHDL پیش نیازها:Fundamental of Digital Circuit مزایای بیشتری به همراه خواهد داشت.

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

این دوره استفاده از سبک مدل‌سازی، تکالیف مسدود و غیر مسدود، FSM قابل ترکیب، ساخت حافظه‌ها با منابع حافظه بلاک و توزیع، یکپارچه‌ساز IP Vivado و تکنیک‌های اشکال‌زدایی سخت‌افزار مانند ILA و VIO را نشان می‌دهد. این دوره به بررسی جریان طراحی FPGA با مجموعه طراحی Xilinx Vivado به همراه بحث در مورد استراتژی های پیاده سازی برای دستیابی به عملکرد مطلوب می پردازد. پروژه های متعددی با جزئیات نشان داده شده اند تا کاربرد ساختارهای Verilog را برای اتصال دستگاه های جانبی واقعی به FPGA درک کنند. یک بخش جداگانه در مورد نوشتن Testebench و معماری FPGA، درک بیشتری از منابع داخلی FPGA و مراحل انجام تأیید طراحی ایجاد می‌کند.


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

در حال نصب Vivado Installing Vivado

  • دستور جلسه Agenda

  • نحوه دانلود، نصب مجموعه Vivado Design و اضافه کردن مجوز. How to Download, Install Vivado Design suite and add License.

  • Xilinx Vivado Webpack LIC FILE Xilinx Vivado Webpack LIC FILE

  • نحوه تأیید نصب مجوز How to verify License Installation

  • اضافه کردن بردهایی مانند Nexys 4 DDR که در Vivado موجود نیستند Adding boards such as Nexys 4 DDR which are not available in the Vivado

  • خطای رایج با Vivado: بسته قابل توزیع مجدد Microsoft Visual C++ نادرست است Common Error with Vivado: Incorrect Microsoft Visual C++ redistributable package

مقایسه عملکرد (انگیزه) Performance Comparison ( Motivation)

  • دستور جلسه Agenda

  • نمایش استفاده از معماری موازی Demonstration of Parallel architecture usage

  • سهولت کار با FPGA Ease of working with FPGA's

  • ورودی/خروجی قابل برنامه ریزی کاربر FPGA در مقابل MCU User Programmable I/O of FPGA vs MCU

  • مقایسه ذخیره سازی موقت Comparing Temporary storage

  • آیا دستورالعمل های کدنویسی واقعا مهم هستند؟ Whether Coding Guidlines really matters?

  • نحوه خرید برد FPGA در هند (بدون پرداخت عوارض سفارشی و شماره GSTN.) How to buy FPGA board in India (without paying Custom duty and GSTN no.)

سوالات متداول Frequently Asked Questions

  • Q1 Q1

Vivado Design Flow P1 Vivado Design Flow P1

  • دستور جلسه Agenda

  • جریان طراحی P1 Design Flow P1

  • جریان طراحی P2 Design Flow P2

  • جریان طراحی P3 Design Flow P3

  • جریان طراحی P4 Design flow P4

  • جریان طراحی P5 Design Flow P5

  • خلاصه جریان طراحی Summary of Design Flow

  • ابتدا به کد VHDL نگاه کنید First Look at VHDL Code

  • بینش P1 Insights P1

  • بینش P2 Insights P2

  • استفاده از تحلیل RTL Use of RTL analysis

  • استفاده از نمای پس سنتز Use of Post-Synthesis View

  • تکلیف 1 Assignment 1

Vivado Design Flow قسمت 2 Vivado Design Flow Part 2

  • دستور جلسه Agenda

  • آشنایی با پروژه برنامه ریزی ورودی/خروجی Understanding I/O Planning Project

  • آشنایی با تنظیمات سنتز Understanding Synthesis Settings

  • دروازه ساعت Clock Gating

  • مبانی رمزگذاری FSM Fundamentals of FSM Encoding

  • پیکربندی سنتز پیش‌فرض Vivado Vivado default Synthesis Configuration

  • تکنیک رمزگذاری FSM FSM Encoding Technique

  • درک استراتژی های پیاده سازی VIVADO Understanding Implementation Strategies of VIVADO

  • کد Code

  • FPGA Design Flow P1 را کامل کنید Complete FPGA Design Flow P1

  • جریان طراحی کامل P2 Complete Design flow P2

  • کد Code

  • جریان طراحی کامل را انجام دهید. Perform Complete Design flow.

مبانی: سیگنال و متغیر Fundamentals : Signal and Variable

  • دستور جلسه Agenda

  • سیگنال بنیادی و متغیر P1 Fundamentals Signal and Variable P1

  • سیگنال بنیادی و متغیر P2 Fundamentals Signal and Variable P2

  • فرمت سیگنال و متغیر Format of Signal and Variable

  • انواع داده در VHDL Datatypes in VHDL

  • استفاده از نوع داده داخلی Using Built-in datatype

  • استفاده از انواع داده های غیر ساخته شده Using Non-builtin datatypes

  • استفاده از انواع داده های تعریف شده توسط کاربر Using User defined datatypes

  • با استفاده از سیگنال Using Signal

  • استفاده از متغیر Using Variable

  • مقداردهی اولیه متغیر Initialization of Variable

سبک مدل‌سازی جریان داده Dataflow Modeling Style

  • دستور جلسه Agenda

  • سبک های مختلف مدل سازی Different Modeling Style

  • مبانی سبک مدلسازی جریان داده Dataflow Modeling Style Fundamentals

  • اپراتورها در سبک مدلسازی جریان داده Operators in Dataflow Modeling Style

  • اپراتور تخصیص در سبک مدلسازی جریان داده Assignment Operator in Dataflow Modeling Style

  • اجرای نیم جمع کننده Implementation of Half adder

  • پیاده سازی جمع کننده کامل Implementation of Full adder

  • مدیریت بردارهای چند بیتی P1 Handling Multibit vectors P1

  • مدیریت بردارهای چند بیتی P2 Handling Multibit vectors P2

  • مبانی اپراتورهای شیفت Shift Operators Fundamentals

  • نمایش اپراتور شیفت Shift Operator Demonstration

  • مبانی اپراتور چرخش Rotation Operator Fundamentals

  • نمایش اپراتور چرخش Rotation Operator Demonstration

  • اصول عملگر حسابی Arithmetic Operator Fundamentals

  • عملیات حسابی: نوع بدون علامت Arithmetic Opertation : Unsigned Type

  • عملیات حسابی: نوع Std_logic_Vector Arithmetic Opertation : Std_logic_Vector Type

  • درک تابع تبدیل نوع Understanding type-conversion function

  • نمایش تبدیل نوع type-conversion Demonstration

  • بیانیه سیگنال مشروط و انتخابی Conditional and Selected Signal Statement

  • بیانیه سیگنال مشروط و انتخابی Conditional and Selected Signal Statement

  • پیاده سازی نیمه تفریق کننده با استفاده از سبک مدل سازی جریان داده. Implement Half Subtractor using Dataflow modeling style.

  • Mux 4:1 را با شیوه مدل‌سازی جریان داده پیاده‌سازی کنید Implement 4:1 Mux with Dataflow Modeling Style

  • تبدیل 4 بیتی خاکستری به کد باینری را پیاده سازی کنید Implement 4-bit Gray to Binary Code Converter

  • بخش اجرا Performing Division

سبک مدل سازی رفتاری Behavioral Modeling Style

  • دستور جلسه Agenda

  • درک بلوک فرآیند Understanding Process block

  • اسکلت سبک مدلسازی رفتاری Behavioral Modeling Style Skeleton

  • درک IF ELSE P1 Understanding IF ELSE P1

  • درک IF ELSE P2 Understanding IF ELSE P2

  • اقدامات خوب: اگر غیر از این است P1 Good Practices : IF ELSE P1

  • شیوه های خوب: IF ELSE P2 Good Practices : IF ELSE P2

  • D-Flipflop با تنظیم مجدد همزمان D-Flipflop with Synchronus Reset

  • D-Flipflop با Reset Asynchronus D-Flipflop with Asynchronus Reset

  • شبیه سازی: Asynchronus Reset D-Flipflop Simulation : Asynchronus Reset D-Flipflop

  • شبیه سازی: تنظیم مجدد همزمان D-Flipflop Simulation : Synchronus Reset D-Flipflop

  • اسکلت بیانیه مورد Case Statement Skeleton

  • 4:1 Mux with Case Statement 4:1 Mux with Case Statement

  • رمزگشای باینری تا هفت بخش P1 Binary to Seven Segment Decoder P1

  • رمزگشای باینری تا هفت بخش P2 Binary to Seven Segment Decoder P2

  • رمزگشای باینری تا هفت بخش P3 Binary to Seven Segment Decoder P3

  • اجرای شمارنده Implementing Counter

  • کد Code

  • شیفتر دایره ای راست P1 Right Circular Shifter P1

  • شیفتر دایره ای راست P2 Right Circular Shifter P2

  • کد Code

  • طراحی 8:1 Mux با سبک مدل‌سازی رفتاری Design 8:1 Mux with Behavioral Modeling Style

  • رمزگذار اولویت 8:3 طراحی Design 8:3 Priority Encoder

  • شیفتر دایره ای جهانی طراحی کنید Design Universal Circular Shifter

درک Testbench Understanding Testbench

  • راه های ایجاد Testbenches Ways to create Testbenches

  • استفاده از Force Constant و Force Clock Using Force Constant and Force Clock

  • VHDL TB Fundamentals P1: Testbench Overview VHDL TB Fundamentals P1 : Testbench Overview

  • VHDL TB Fundamentals P2: تولید سیگنال های تصادفی VHDL TB Fundamentals P2 : Generating Random signals

  • کد Code

  • VHDL TB Fundamentals P3: تولید سیگنال ساعت VHDL TB Fundamentals P3 : Generating Clock Signal

  • کد Code

  • خلاصه Summary

  • کد Code

  • مثال 1: شمارنده 4 بیتی Example 1 : 4-bit Counter

  • کد Code

  • مثال 2: افزودن IP Example 2: Adder IP

  • یک کد تست بنچ برای Serial In Serial Out Shift Register طراحی کنید Design a testbench code for Serial In Serial Out Shift Register

سبک مدلسازی سازه Structural Modeling Style

  • هدف Target

  • نیم جمع کننده Half adder

  • جمع کننده کامل با نیم جمع کننده Full adder with Half adder

  • کد Code

  • استفاده از Vivado IP Integrator: جمع کننده ریپل کری 4 بیتی Using Vivado IP Integrator : 4-bit Ripple Carry adder

  • طراحی بلوک Block Design

  • شمارنده جانسون با D FlipFlop Johnson Counter with D FlipFlop

  • طراحی 32:1 Mux با کمک 8:1 Mux با استفاده از سبک مدلسازی ساختاری. Design 32:1 Mux with the help of 8:1 Mux using Structural Modeling Style.

  • طراحی شمارنده حلقه با کمک D Flipflop با استفاده از سبک مدل‌سازی ساختاری Design Ring Counter with the help of D Flipflop using Structural Modeling Style

ماشین های حالت محدود در VHDL Finite State Machines in VHDL

  • هدف Target

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

  • Mealy FSM: روش سه فرآیند Mealy FSM : Three Process Methodolgy

  • کد Code

  • Mealy FSM: روش دو فرآیندی Mealy FSM : Two Process Methodology

  • کد Code

  • Mealy FSM: روش فرآیند تک Mealy FSM : SIngle Process Methodology

  • کد Code

  • مور FSM: روش شناسی سه فرآیند Moore FSM : Three Process Methodology

  • کد Code

  • مور FSM: روش دو فرآیندی Moore FSM : Two Process Methodology

  • کد Code

  • Moore FSM: روش‌شناسی فرآیند واحد Moore FSM : Single Process Methodology

  • کد Code

  • درک Sequence Detector Understanding Sequence Detector

  • اجرای آشکارساز توالی همپوشانی Implementing Overlapping Sequence Detector

  • کد Code

  • فلوچارت کنترل کننده چراغ راهنمایی Traffic Light Controller Flowchart

  • آشنایی با کنترل کننده چراغ راهنمایی Understanding Traffic Light Controller

  • کد Code

  • برای شناسایی توالی 101 آشکارساز توالی همپوشانی طراحی کنید Design Overlapping Sequence Detector to identify sequence 101

  • آشکارساز Non-Overlapping Sequence را برای تشخیص دنباله 1011 طراحی کنید Design Non-Overlapping Sequence detector to detect sequence 1011

  • برای بررسی رفتار عملکردی آشکارساز Sequence، یک testbench بنویسید Write testbench to verify the functional behavior of the Sequence detector

سوالات متداول از ماژول قبلی Commonly Asked Question's from previous Module

  • جایگزین هایی برای تولید محرک برای آشکارساز Sequence چیست؟ (بیشال) What are alternatives to generate stimulis for Sequence detector ? ( Bishal )

  • کد Code

استفاده از IP ها Use of IP's

  • هدف Target

  • چگونه IP ایجاد می کنیم How we Create IP

  • چگونه مخزن IP را به روز می کنیم How we refresh IP repository

  • چگونه پارامترهای سفارشی سازی را به IP اضافه می کنیم How we add Customization Parameters to IP

  • طراحی کامل P1: بشکه شیفتر Complete Design P1 : Barrel Shifter

  • طراحی کامل P2 Complete Design P2

اشکال زدایی سخت افزار Hardware Debugging

  • آشنایی با ILA و VIO Undertanding ILA and VIO

  • افزودن هسته ILA به طراحی Adding ILA core to design

  • کد Code

  • تجزیه و تحلیل شکل موج با ILA Analyzing Waveform with ILA

  • افزودن هسته ورودی/خروجی مجازی به طراحی Adding Virtual I/O core to the design

  • کد Code

  • تجزیه و تحلیل پاسخ سیستم با VIO Analyzing response of the System with VIO

حافظه ها در FPGA Memories in FPGA

  • درک خاطرات در FPGA Understanding Memories in FPGA

  • حافظه توزیع شده در مقابل حافظه بلوکی Distributed Memory Vs Block Memory

  • حداکثر اندازه حافظه توزیع شده و بلوک شده Max. Distributed and Block Memory Size

  • روش ایجاد حافظه 1 Creating Memory Method 1

  • روش ایجاد حافظه 2 Creating Memory Method 2

  • روش ایجاد حافظه 3 Creating Memory Method 3

  • رم تک پورت با حافظه بلوکی Single Port RAM with Block Memory

  • رم تک پورت با حافظه بلوکی Single Port RAM with Block Memory

  • رم تک پورت با حافظه توزیع شده Single Port RAM with Distributed Memory

  • رم تک پورت با حافظه توزیع شده Single Port RAM with Distributed Memory

  • IP ROM تک پورت با Block Memory و فایل COE Single Port ROM IP with Block Memory and COE file

  • Signe Port RAM در VHDL با Testbench Signle Port RAM in VHDL with Testbench

پروژه ها Projects

  • دسته بندی پروژه ها Project Categories

پروژه های دامنه زمان بندی Timing Domain Projects

  • پیاده سازی کنترلر VGA در VHDL Implementation of VGA Controller in VHDL

  • کد منبع Source Code

پروژه های غالب داده Data dominant Projects

  • P1: پیاده سازی بشکه شیفتر 4 بیتی با منطق چرخشی P1 : Implementing 4-bit Barrel Shifter with Rotate Logic

  • پیاده سازی سیستم: بشکه شیفتر 4 بیتی System Implementation : 4-bit Barrel Shifter

  • P2: پیاده سازی فرستنده ناهمزمان سریال جهانی (UART) با VHDL P2 : Implementation of Universal Serial Asynchronus Transmitter(UART) with VHDL

  • فلوچارت و کد Flowchart and Code

  • پیاده سازی SPI برای DAC PMOD DA4 در VHDL Implementation of SPI for DAC PMOD DA4 in VHDL

  • کد Code

  • پیاده سازی رابط موازی برای رابط LCD با FPGA Implementing Parallel Interface for Interfacing LCD with FPGA

اصول معماری FPGA Fundamental of FPGA architecture

  • نیاز به معماری قابل برنامه ریزی مجدد Need of Reprogrammable architecture

  • طبقه بندی PLD PLD Classification

  • درک منطق قابل برنامه ریزی در PROM Understanding Programmable Logic in PROM

  • نمایش PROM در NI Multisim IDE PROM Demonstration on NI Multisim IDE

  • PAL و PLA PAL and PLA

  • SPLD و GAL SPLD and GAL

  • آشنایی با برگه اطلاعات GAL: 16V8 Understanding GAL Datasheet : 16V8

  • خلاصه SPLD و GAL SPLD and GAL Summary

  • معماری CPLD CPLD architecture

  • مقدمه ای بر معماری FPGA Introduction to FPGA Architecture

  • استفاده از مالتی پلکسر عریض Use of Wide Multiplexer

  • معماری اسپارتان 6 Spartan 6 Architecture

  • خلاصه معماری Spartan 6 FPGA Spartan 6 FPGA Architecture Summary

نمایش نظرات

آموزش VHDL برای یک مهندس FPGA با مجموعه طراحی Vivado
جزییات دوره
19.5 hours
179
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,057
4.5 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

رهبر توسعه دهنده FPGA @ FinTech