طراحی IC/FPGA بخش 2: Verilog برای طراحی و تأیید
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- سینتکسهای رایج Verilog برای طراحی و تأیید
- نصب Verilator و GTKwave روی سیستمعامل ویندوز (با استفاده از WSL)
- توصیف منطق ترکیبی (گیتهای منطقی اولیه، MUX، دیکودر، دیکودر One-Hot)
- توصیف منطق ترتیبی (DFF با ریست همزمان/غیرهمزمان، شمارنده، تشخیص لبه، شیفت رجیسترها، بررسی توالی، sync_fifo)
- طراحی ماشین حالت محدود (FSM)
- نوشتن تستبنچ
- استفاده از Verilator و GTKwave برای دیباگ کردن طراحی
- اشتباهات رایج در سنتز (لیست حساسیت ناقص، Latch، درایو چندگانه یا Multi-driven، حلقه منطق ترکیبی)
- زمان تمرین: z-scan، بررسی توالی پیچیده (FSM)
پیشنیازهای دوره
- آشنایی مقدماتی با زبان برنامهنویسی C یا ++C
- دانش اولیه در مورد مبانی دیجیتال
توضیحات دوره
یادگیری سریع از طریق مثالها و تمرینهای کدنویسی، در ویدیوهایی کمتر از 10 ساعت. پس از مطالعه، دانشجویان توانایی ایجاد هماهنگی بین شماتیک مدار، کد Verilog و شکل موج را کسب خواهند کرد. با داشتن هر یک از اینها، میتوان دو مورد دیگر را استخراج کرد. در این فصل (که به چند بخش رایگان تقسیم خواهد شد)، مدرس موارد زیر را توضیح میدهد:
1: جریان طراحی IP/IC دیجیتال؛
2: مرور سریع مبانی دیجیتال
3: نصب Verilator و GTKwave
4: سینتکسهای رایج Verilog برای طراحی و تأیید
5: طراحی منطق ترکیبی (گیتهای اولیه، MUX، دیکودر، دیکودر One-Hot)
6: طراحی منطق ترتیبی (sync-DFF ،async-DFF)
7: طراحی بلوکهای کوچک اما کاربردی (شمارنده، تشخیص لبه، شیفت رجیسترها، بررسی توالی، sync_fifo)
8: طراحی FSM (ماشین حالت محدود)
9: طراحی تستبنچ اولیه
10: اشتباهات رایج در سنتز (لیست حساسیت ناقص، Latch، درایو چندگانه، حلقه منطق ترکیبی)
11: زمان تمرین: طراحی و تأیید z-scan و بررسی توالی پیچیده (FSM)
این فصل 2، بخش 1 از کل دوره طراحی دیجیتال IC و FPGA است.
در کل دوره، مدرس اصول طراحی دیجیتال IC و FPGA را معرفی خواهد کرد، که شامل بیش از 12 تمرین کدنویسی و 3 پروژه درسی است.
بخش تئوری: ترانزیستور MOS -> سلولهای منطقی -> مسیر داده محاسباتی -> زبان Verilog -> بلوکهای تابعی سختافزاری و معماریهای رایج -> STA -> باس روی تراشه (APB/AHB-Lite/AXI4) -> طراحی کممصرف (Low Power) -> DFT -> SOC (سطح MCU)
بلوکهای تابعی و معماری: FSM، پایپلاین، Arbiter ،CDC ،sync_fifo async_fifo، پینگ-پنگ، پایپلاین با کنترل، پنجره لغزان، خطرات پایپلاین و مسیر Forward، سیستولیک
پروژه: الگوریتم SHA-256 با رابط ساده، SHA-256 با رابط APB/AXI، کنترلکننده 2D DMA با رابط APB/AXI
پس از توضیح هر معماری سختافزاری، مدرس یک تمرین کدنویسی به همراه کد مرجع ارائه میدهد. دشواری کدنویسی از چند خط شروع شده و به پنجاه خط، سپس بیش از 100 خط و در نهایت حدود 200 خط میرسد. پروژه بزرگ نهایی شامل بیش از 1000 خط کد خواهد بود.
مدرس معتقد است که اینها دانش و مهارتهای ضروری برای ورود به این حوزه هستند.
مدرس تمام تلاش خود را میکند تا چرایی و چگونگی مباحث را توضیح دهد و دانشجویان را به عملکرد بهتر در این دوره تشویق کند.
این دوره برای چه کسانی مناسب است؟
- هر کسی که میخواهد Verilog و طراحی دیجیتال IC/FPGA را بیاموزد.
طراحی IC/FPGA بخش 2: Verilog برای طراحی و تأیید
-
مقدمه 03:38
-
جریان طراحی IP و IC دیجیتال 34:53
-
مرور سریع اصول دیجیتال 21:04
-
نصب Verilator و GTKwave 43:23
-
Hello World در Verilog 20:08
-
توصیف منطق ترکیبی و شبیهسازی 43:22
-
توصیف DFF همزمان و غیرهمزمان و شبیهسازی 29:12
-
تفاوت مقدار شبیهسازی Power-Up در Verilator و سایر ابزارهای شبیهسازی 02:34
-
سینتکس Verilog: اعلانها و عملگرها 37:49
-
دستورات if-else if-else و case 37:25
-
گسترش علامت و دیکودر One-Hot 33:39
-
توصیف مدارهای کوچک اما مفید: شمارنده، تشخیص لبه، شیفت رجیسترها 22:22
-
اشتباهات رایج: لیست حساسیت ناقص، Latch، حلقه منطق ترکیبی، درایو چندگانه 20:27
-
طراحی و تأیید عملکرد z-scan 13:23
-
کد مرجع طراحی و تأیید برای z-scan 17:49
-
دایرکتوریهای پروژه و Makefile 01:22
-
طراحی ماشین حالت محدود (FSM) 23:10
-
استفاده از FSM برای طراحی عملکرد تشخیص توالی 09:43
-
تشخیص توالی با استفاده از شیفت رجیسترها 03:03
-
سینتکس Function و Task 24:40
-
مثال Task در Testbench 09:46
-
ترتیب اجرای Verilog در دیدگاه نرمافزاری 18:27
-
مفهوم طراحی Testbench 18:25
-
ساختارهای Generate و Parameter 18:37
-
مفهوم طراحی طرحهای مقیاس بزرگ 04:39
-
زمان تمرین: تشخیص توالی پیچیده None
-
بخش جایزه 01:56
مشخصات آموزش
طراحی IC/FPGA بخش 2: Verilog برای طراحی و تأیید
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:مقدماتی
- تعداد درس:27
- مدت زمان :09:02:22
- حجم :4.05GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy