طراحی CPU مبتنی بر RISC-V در Verilog و پیادهسازی آن روی FPGA
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- توانایی توسعه و نمایش هسته پردازنده RISC-V عملیاتی روی FPGA، با قابلیت اجرای برنامههای اولیه و تعامل با اجزای جانبی
- برای نمایش مهارت در استفاده از زبانهای توصیف سختافزار (Verilog) و ابزارهای سنتز FPGA
- دانشجویان قادر خواهند بود هسته RISC-V را با حافظه و اجزای جانبی یکپارچه کنند، سختافزار و نرمافزار را اشکالزدایی کردهو عملکرد سیستم را روی FPGA تحلیل کنند.
- آشنایی با کاربرد واقعی معماری RISC-V با استفاده از CPU خودتان
پیشنیازهای دوره
- ضروری - مبانی الکترونیک دیجیتال و آشنایی اولیه درباره برنامهنویسی C
توضیحات دوره
این دوره جامع «"طراحی CPU مبتنی بر RISC-V در Verilog و پیادهسازی آن روی FPGA»، شما را به صورت عمیق با دنیای جذاب طراحی پردازنده سفارشی آشنا میکند و بر معماری مجموعهدستورالعمل متنباز RISC-V (ISA) تمرکز دارد. شرکتکنندگان تجربه عملی در طراحی، توصیف و پیادهسازی هسته CPU تابعی RISC-V با استفاده از زبان توصیف سختافزار Verilog (HDL) و استقرار آن روی Field-Programmable Gate Arrays (FPGAs) به دست خواهند آورد.
دوره با ایجاد یک پایه قوی در اصول طراحی منطق دیجیتال آغاز میشود و ساختارهای ضروری Verilog مرتبط با سیستمهای دیجیتال پیچیده را بررسی میکند. سپس RISC-V ISA (RV-32I) معرفی میشود و ما ماژولار بودن، قابلیت گسترش و قالبهای اصلی دستورالعملهای آن را بررسی میکنیم. دانشجویان یاد میگیرند چگونه مشخصات ISA را تفسیر کنند و آن را به منطق سختافزاری تبدیل کنند.
این دوره همچنین راهنمای گامبهگام برای راهاندازی toolchain مربوط به RISC-V ارائه میدهد. این راهنما شامل اسمبلر و کامپایلر GCC است تا بتوانید یک برنامه embedded-C بنویسید و آن را به کد هگز کامپایل کنید. سپس این کد روی FPGA بارگذاری میشود تا به اجزای جانبی مانند LEDs و UART دسترسی داشته باشد.
بخش مهمی از دوره به طراحی گامبهگام یک CPU تکچرخهای RISC-V اختصاص دارد. مباحث پوشش داده شده شامل موارد زیر است:
- واحد واکشی دستورالعمل - طراحی شمارنده برنامه و رابط حافظه دستورالعمل
- واحد رمزگشایی - پیادهسازی منطق رمزگشایی دستورالعمل، دسترسی به فایل رجیستر و تولید سیگنال کنترل
- واحد اجرا - ساخت واحد منطق حسابی (ALU) و مدیریت عملیاتهای مسیر داده
- واحد حافظه - طراحی رابطهای حافظه داده برای عملیاتهای بارگذاری و ذخیره
- واحد نوشتن - بروزرسانی فایل رجیستر با نتایج محاسباتی
- واحد کنترل - توسعه ماشین حالت محدود (FSM) یا منطق ترکیبی برای ارکستراسیون عملیاتهای CPU
تأکید ویژهای بر بهترین شیوههای کدنویسی Verilog برای سنتز خواهد شد. این موارد شامل طراحی ماژولار، پارامترسازی و ایجاد test bench قوی است. دانشجویان یاد میگیرند چگونه طراحیهای Verilog خود را با ابزارهای استاندارد صنعت شبیهسازی کنند تا درستی عملکرد را در هر مرحله از توسعه CPU بررسی کنند.
بخش پایانی دوره بر جنبههای عملی پیادهسازی FPGA تمرکز دارد.
آنچه شرکتکنندگان یاد خواهند گرفت:
- طراحی CPU خود در Verilog را به یک gate-level netlist سنتز کنند.
- عملیات Place و Route را انجام دهند تا طراحی روی منابع مشخص FPGA نگاشت شود.
- bitstream برای برنامهنویسی FPGA تولید کنند.
- CPU پیادهسازی شده خود را روی سختافزار واقعی FPGA اشکالزدایی و تست کنند. این کار اغلب با یکپارچهسازی اجزای جانبی مانند LEDs و UART برای I/O پایه و تعامل انجام میشود.
در پایان دوره، دانشجویان نه تنها درک عمیقی از معماری RISC-V و اصول طراحی CPU خواهند داشت، بلکه مهارتهای عملی لازم برای تبدیل یک طراحی دیجیتال پیچیده از ایده تا پیادهسازی سختافزار کاری روی FPGA را نیز به دست میآورند. این دانش برای مسیرهای شغلی در سیستمهای تعبیه شده و طراحی سیلیکون سفارشی و تسریع سختافزار و پژوهش در معماری کامپیوتر بسیار ارزشمند است. آشنایی پایه با منطق دیجیتال و Verilog توصیه میشود.
نکته - فقط دستورالعملهای پایه عدد صحیح (RV32I) در Verilog و FPGA بررسی و پیادهسازی میشود. همچنین برای پیادهسازی سختافزاری CPU به یک FPGA board نیاز دارید. یک FPGA board ساده مانند Tang-9K برای این کار کافی است.
این دوره برای چه کسانی مناسب است؟
- این دوره در درجه اول برای دانشجویان مهندسی برق، الکترونیک و کامپیوتر، به ویژه در مقاطع کارشناسی یا کارشناسی ارشد طراحی شده است. انتظار میرود این یادگیرندگان درک پایهای از طراحی منطق دیجیتال، معماری کامپیوتر و مفاهیم اولیه برنامهنویسی داشته باشند.
- همچنین این دوره برای مهندسان شاغل و علاقهمندان سختافزار که میخواهند دانش خود را در طراحی CPU سفارشی، سیستمهای تعبیه شده و توسعه FPGA عمیقتر کنند، مناسب است.
- متخصصانی که با ASICs و SoCs یا سیستمهای تعبیه شده کار میکنند و میخواهند معماریهای متنباز CPU و پیادهسازی عملی آنها را بررسی کنند، این دوره را بسیار مفید خواهند یافت.
- علاقه جدی به زبانهای توصیف سختافزار، به ویژه Verilog، سنتز مدارهای دیجیتال و تمایل به ساخت و تست یک CPU عملیاتی از پایه، برای یادگیرندگان بالقوه بسیار مهم است.
- هرچند آشنایی قبلی با Verilog مفید است، این دوره برای افرادی که مایل هستند این زبانها را در بستر طراحی CPU بیاموزند نیز مناسب خواهد بود.
- در نهایت، مخاطب دوره کسی است که به توسعه عملی سختافزار و جزئیات پیچیده معماریهای مدرن CPU علاقهمند باشد.
طراحی CPU مبتنی بر RISC-V در Verilog و پیادهسازی آن روی FPGA
-
مقدمه 09:52
-
RV32I - مقدمه و بانک رجیسترها 03:24
-
فرمت دستورالعمل نوع رجیستر (R-type) 03:09
-
سایر فرمتهای دستورالعمل در RISC-V 05:49
-
نوشتن کد زبان اسمبلی 01:34
-
جلسه لابراتوار - نمونه برنامه اسمبلی 12:53
-
تکلیف 1 None
-
مقدمهای بر Verilog HDL 04:57
-
ماژولها و تایپهای داده 06:53
-
عملگرهای Verilog 05:30
-
گسترش بیت در Verilog 03:15
-
نمایش اعداد در Verilog 02:18
-
Initial و Always Block 05:01
-
استایلهای مدلسازی در Verilog 12:29
-
توضیحات نمونه کدهای Verilog 19:52
-
جلسه لابراتوار - راهاندازی ابزارها و IDE 09:39
-
لابراتوار - شبیهسازی جمعشونده کامل 10:24
-
لابراتوار - شبیهسازی شمارنده 08:33
-
تکلیف 2 None
-
طراحی حافظه برنامه 17:43
-
تست حافظه برنامه 13:14
-
درک مجموعه دستورالعمل پیش از طراحی CPU 07:21
-
ورودی، خروجی، سیمها و رجیسترهای موقت 06:22
-
واکشی اطلاعات از حافظه داده 07:32
-
طراحی ALU 06:47
-
طراحی ماشین حالت برای کنترل عملیات 11:43
-
Write-back رجیستر 04:40
-
اتصال CPU به حافظه برنامه 06:44
-
تست CPU با دستورالعملهای R-type و I-type 12:17
-
افزودن دستورالعملهای نوع برنچ 22:21
-
تست دستورالعملهای نوع برنچ 03:55
-
پیادهسازی دستورالعملهای Load و Store و سایر دستورالعملها 24:07
-
تست دستورالعملهای Load و Store و سایر دستورالعملها 06:03
-
پیکربندی و نصب RISC-V GCC toolchain 03:18
-
افزودن LEDs به هسته RISC-V 09:55
-
نوشتن کد C در RISC-V GCC و کامپایل کردن و اجرای testbench 07:18
-
پیادهسازی LED GPIO روی FPGA 14:05
-
افزودن UART Transmitter به طراحی 11:48
-
تست UART Transmitter روی FPGA 10:13
-
افزودن UART Receiver به طراحی 08:05
-
پیادهسازی و تست UART receiver روی FPGA 02:04
-
ترکیب همه GPIO با هم برای ساخت SoC 07:01
مشخصات آموزش
طراحی CPU مبتنی بر RISC-V در Verilog و پیادهسازی آن روی FPGA
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متوسط
- تعداد درس:42
- مدت زمان :05:51:23
- حجم :2.83GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy