inflearn logo

Thiết kế CPU RISC-V để triển khai trên FPGA ② Tự xây dựng TinyRV32I với pipeline 5 tầng

Bắt đầu từ nguyên lý hoạt động của các lệnh RISC-V, đây là khóa học thực hành thiết kế CPU 32-bit với cấu trúc pipeline 5 tầng, hoàn thiện từ việc triển khai Verilog RTL, kiểm chứng bằng mô phỏng cho đến chạy thực tế trên FPGA. Trong số 40 lệnh của RV32I, khóa học lựa chọn 14 lệnh cần thiết để tìm hiểu cấu trúc cốt lõi của CPU và từng bước xây dựng TinyRV32I. Bạn sẽ trực tiếp thiết kế và kiểm chứng các cấu trúc cốt lõi tạo nên một CPU thực tế, bao gồm datapath, thanh ghi pipeline, ALU và mạch điều khiển, Branch, Hazard, Stall·Flush, Memory-Mapped I/O, v.v. Khóa học cung cấp Verilog RTL, Testbench, chương trình Assembly, Memory Image và tệp ràng buộc FPGA được sử dụng trong bài giảng. Cuối cùng, bạn sẽ chạy chương trình thực tế trên FPGA Arty S7-25 bằng chính CPU do mình thiết kế. Khóa học không kết thúc tại đây. Sau khi hoàn thiện cấu trúc cốt lõi của CPU thông qua TinyRV32I, bạn sẽ tiếp tục với lộ trình thiết kế CPU theo từng giai đoạn, mở rộng thành Full RV32I CPU hỗ trợ toàn bộ 40 lệnh RV32I trong các khóa học tiếp theo.

2 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Architecture
Architecture
FPGA
FPGA
verilog
verilog
cpu
cpu
riscv
riscv
Architecture
Architecture
FPGA
FPGA
verilog
verilog
cpu
cpu
riscv
riscv

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể tự thiết kế CPU RISC-V với đường ống 5 giai đoạn.

  • Có mã nguồn. Đây là bước đầu tiên để tạo ra ISA độc quyền của riêng mình và thiết kế CPU.

  • Có thể hoàn thiện CPU TinyRV32I gồm 14 lệnh hoạt động bằng Verilog RTL.

  • Bạn có thể lập trình cho CPU do chính mình thiết kế và chạy nó trên FPGA.

  • Có thể kiểm tra hoạt động của CPU bằng Testbench và mô phỏng theo từng lệnh.

là một khóa học hiếm có, trong đó bạn trực tiếp thiết kế CPU RISC-V và vận hành trên FPGA

Hiểu cấu trúc CPU trên lý thuyết và tự mình thiết kế một CPU hoạt động thực tế là hai trải nghiệm hoàn toàn khác nhau.

Khóa học này không phải là quá trình chạy thử khối CPU Block Box hoàn chỉnh trên FPGA. Bắt đầu từ câu hỏi các lệnh RISC-V được thực thi như thế nào trên phần cứng thực tế, khóa học sẽ từng bước suy ra cấu trúc phần cứng cần thiết và trực tiếp hiện thực hóa chúng dưới dạng White Box bằng Verilog RTL.

Mục tiêu là hoàn thiện CPU TinyRV32I 32 bit với cấu trúc pipeline 5 tầng và trực tiếp chạy chương trình trên FPGA Arty S7-25.


Tại sao lại bắt đầu với 14 lệnh trong số 40 lệnh RV32I?

Điều quan trọng là phải hiểu chính xác cấu trúc cốt lõi của CPU và tự hoàn thiện nó, thay vì triển khai nhiều lệnh ngay từ đầu.

Trong quá trình này, chúng ta sẽ lựa chọn 14 lệnh cần thiết để học các hoạt động cốt lõi của CPU như phép toán số học và logic, truy cập bộ nhớ, nhánh, trong số 40 lệnh RV32I, và triển khai TinyRV32I.

TinyRV32I không phải là CPU bị rút gọn độ rộng dữ liệu. Đây là CPU vẫn hoàn toàn duy trì dữ liệu và địa chỉ 32 bit, 32 thanh ghi đa dụng cùng cấu trúc pipeline 5 giai đoạn, chỉ giới hạn phạm vi các lệnh được hỗ trợ vì mục đích giáo dục.

Do đó, đây không phải là việc làm theo một ví dụ đơn giản hóa, mà là quá trình hoàn thiện từng bước các cấu trúc cốt lõi của thiết kế CPU thực tế.


Triển khai CPU pipeline 5 tầng bằng RTL

Quá trình thực thi lệnh được chia thành năm giai đoạn sau và triển khai bằng phần cứng thực tế.

  • Nạp lệnh

  • Giải mã lệnh

  • Thực thi

  • Truy cập bộ nhớ

  • Ghi vào thanh ghi

Từng bước triển khai từ các khối cơ bản như Program Counter, Register File, Immediate Generator, Decoder, ALU cho đến Pipeline Register, điều khiển Branch, xử lý Hazard, Stall và Flush.

Không chỉ học từng khối một cách độc lập, bạn sẽ kết nối cách dữ liệu và tín hiệu điều khiển di chuyển trong toàn bộ CPU để hoàn thiện thành một bộ xử lý duy nhất.


Kết nối cả bộ nhớ và thiết bị ngoại vi FPGA

Không chỉ triển khai lõi CPU rồi dừng lại.

Triển khai cấu trúc bộ nhớ cho Load và Store, đồng thời sử dụng Memory-Mapped I/O để kết nối CPU với Switch, Button và LED trên bo mạch FPGA.

Qua đó, bạn sẽ trải nghiệm quá trình các lệnh không chỉ được thực thi trong mô phỏng mà còn điều khiển các ngõ vào/ra thực tế của FPGA.


Tiến hành thiết kế và kiểm chứng cùng nhau

Việc thiết kế CPU không kết thúc chỉ với việc viết mã RTL.

Từng khối chức năng được kiểm chứng từng bước bằng Testbench và mô phỏng, sau đó tích hợp toàn bộ CPU để xác nhận chương trình thực tế có được thực thi chính xác hay không.

Qua đó, bạn sẽ không chỉ học các cú pháp Verilog đơn thuần mà còn được trải nghiệm quy trình thiết kế phần cứng gồm thiết kế RTL, kiểm chứng và truy tìm lỗi.


Cung cấp toàn bộ mã nguồn cần thiết để chế tạo và thực hành với CPU

Cung cấp đầy đủ các tệp thực hành được sử dụng trong khóa học, giúp học viên có thể tự mình tái hiện và chỉnh sửa thiết kế.

  • Verilog RTL

  • Testbench

  • Chương trình Assembly

  • Ảnh bộ nhớ

  • Tệp ràng buộc FPGA

  • Tài liệu thực hành cần thiết cho việc triển khai FPGA

Bạn không chỉ xem kết quả hoàn thiện mà còn có thể trực tiếp kiểm tra và chỉnh sửa mã nguồn để tìm hiểu hoạt động bên trong của CPU.


Cuối cùng, bạn sẽ chạy chương trình trên FPGA thực tế

Sau khi tổng hợp và triển khai TinyRV32I hoàn chỉnh trên Vivado, bạn sẽ tạo Bitstream và nạp trực tiếp vào FPGA Arty S7-25 nhẹ, phổ thông. Đồng thời, bạn sẽ kiểm tra CPU do chính mình thiết kế có thể thực thi chương trình thực tế, nhận đầu vào từ bo mạch FPGA và xuất ra kết quả. (Có thể sử dụng các bo mạch khác như Zybo-Z7; chỉ cần sửa ánh xạ chân xdc)

Toàn bộ quy trình được kết nối như sau.

Lệnh RISC-V → Kiến trúc CPU → Datapath → Đường ống 5 tầng → Verilog RTL → Xác minh Testbench → Tích hợp CPU → Chuẩn bị chương trình → Tổng hợp Vivado → Thực thi trên FPGA


tiếp nối thành chuỗi thiết kế CPU tiêu chuẩn với 40 lệnh

Khóa học này không kết thúc chỉ với một bài thực hành đơn lẻ, mà là một phần của chuỗi thiết kế CPU RISC-V được mở rộng theo từng giai đoạn.

Volume 1 Cấu trúc và thực thi lệnh RV32I

Volume 2 TinyRV32I · đường ống 5 tầng và triển khai trên FPGA ← Bạn đang ở đây

Volume 3 CPU tiêu chuẩn · 40 lệnh và điều khiển hazard

Volume 4 Tầm nhìn · NPU SoC · Tích hợp camera và bộ tăng tốc

Bắt đầu từ việc hiểu các lệnh, tự xây dựng CPU và mở rộng lên Full RV32I.


Mục tiêu của khóa học này không phải là trở thành người sử dụng CPU hoàn chỉnh, mà là xây dựng năng lực kỹ thuật để hiểu cấu trúc bên trong của CPU và trực tiếp thiết kế, kiểm chứng bằng RTL.

Hãy thử thách bản thân. Khi kết thúc quá trình trực tiếp đưa mã lên bo mạch và kiểm tra kết quả này, bạn sẽ nâng tầm thành một kỹ sư phần cứng với góc nhìn hoàn toàn khác trước.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Sinh viên kỹ thuật đã học lý thuyết về kiến trúc máy tính nhưng chưa có kinh nghiệm thiết kế CPU thực tế

  • Nhà phát triển nhúng muốn trực tiếp triển khai và xác minh kiến trúc RISC-V trên FPGA

  • Người học đã học Verilog nhưng chưa từng tự mình xây dựng một hệ thống hoàn chỉnh, chất lượng cao.

  • Người học đang chuẩn bị xin việc trong lĩnh vực thiết kế bán dẫn và thiết kế kỹ thuật số, cần có hồ sơ năng lực (portfolio)

Cần biết trước khi bắt đầu?

  • Các khái niệm cơ bản về mạch logic số và kiến trúc máy tính (thanh ghi, ALU, bộ nhớ)

  • Kinh nghiệm về cú pháp cơ bản của Verilog HDL và viết các mô-đun đơn giản

  • Tìm hiểu cơ bản về tập lệnh RISC-V hoặc học Volume 1 của series (Thiết kế CPU RISC-V để triển khai trên FPGA ① Tìm hiểu cấu trúc và nguyên lý thực thi lệnh RV32I bằng Python)

Xin chào
Đây là EdgeChipLab

Xác minh sự nghiệp

Tự mình thiết kế và triển khai chất bán dẫn AI bằng FPGA

Với tư cách là giáo sư đại học đang đương nhiệm, tôi đã đưa vào đây 30 năm kinh nghiệm trong ngành công nghiệp bán dẫn hệ thống cùng bí quyết nghiên cứu và giảng dạy về bán dẫn AI.

Bắt đầu từ vị trí nghiên cứu viên bán dẫn hệ thống tại Bộ phận DS của Samsung Electronics, trải qua các vị trí Director tại chi nhánh Anh và Đức, cũng như Trưởng nhóm Marketing·Kinh doanh System LSI, hiện là giáo sư giảng dạy kỹ thuật bán dẫn, trực tiếp thiết kế và kiểm chứng trên FPGA để xây dựng chương trình đào tạo mang tính thực tiễn.

Đây không phải là khóa học chỉ đơn thuần dạy cách sử dụng FPGA.
Bạn sẽ hiểu các thuật toán AI → trực tiếp thiết kế NPU và CPU bằng RTL → triển khai trên FPGA → kiểm chứng trên phần cứng thực tế → và cuối cùng mở rộng đến AI SoC.

Thuật toán AI → Thiết kế RTL → Triển khai FPGA → Xác minh Bit-True → AI SoC

 

Vượt qua lý thuyết để hiện thực hóa phần cứng AI thực tế

Chỉ với những kiến thức rời rạc và phiến diện thì khó có thể đạt được năng lực thiết kế chất bán dẫn AI ở cấp độ hệ thống.

Học viên không chỉ dừng lại ở việc sử dụng các IP dạng hộp đen hoàn chỉnh. Mục tiêu là từng bước trang bị năng lực thiết kế hệ thống, có thể tự thiết kế AI NPU và CPU RISC-V, tích hợp bộ nhớ cùng các thiết bị ngoại vi, và cuối cùng xây dựng AI SoC của riêng mình.

Bắt đầu từ những kiến thức cơ bản về transistor và mạch số, bạn sẽ tìm hiểu xuyên suốt từ FPGA, CPU, NPU đến phần cứng tăng tốc Transformer và LLM.

 

Xác minh kết quả nghiên cứu trên phần cứng FPGA thực tế.

Đây không phải là khóa học chỉ xem bằng mắt. Không dừng lại ở lý thuyết hay mô phỏng đơn thuần, bạn sẽ cho mạch bán dẫn AI do chính mình thiết kế hoạt động trên FPGA thực tế và thực hiện kiểm chứng Bit-True, trong đó kết quả RTL khớp với mô hình Python đến từng bit.

Chúng tôi cũng kết nối các kết quả nghiên cứu, bao gồm 4 bài báo được đăng trên KCI của giảng viên về AI bán dẫn, FPGA và RISC-V với nội dung đào tạo, từ đó đưa các công nghệ đã được kiểm chứng trong nghiên cứu vào thiết kế thực tế và triển khai trên FPGA.

Công khai mã nguồn cần thiết cho thực hành, bao gồm CPU RISC-V do chúng tôi tự phát triển, mã Python dùng để huấn luyện hình ảnh và Verilog RTL.

Được xây dựng xoay quanh bo mạch FPGA Arty S7-25 phổ thông và công cụ thiết kế Vivado miễn phí, khóa học giúp người học có thể tự mình tái hiện toàn bộ quy trình từ thiết kế, triển khai đến kiểm chứng.

Ngoài ra, cũng có thể sử dụng với các bo mạch FPGA của Digilent, bao gồm Zybo Z7. Bạn chỉ cần điều chỉnh ánh xạ chân XDC (bo mạch) và tham số chia tần số xung nhịp (RTL) cho phù hợp với bo mạch.

'NPU MNIST được xây dựng bằng FPGA' chỉ cần chỉnh sửa ánh xạ chân XDC, còn các bài giảng sử dụng OLED và Camera thì cần chỉnh sửa tham số chia tần số xung nhịp (RTL).

→Phần thực hành của khóa học được thiết lập các tham số chia tần dựa trên xung nhịp đầu vào 100 MHz của Arty S7. Vì các bo mạch khác có xung nhịp đầu vào khác nhau (ví dụ: Zybo Z7 là 125 MHz), bạn cần tính toán lại giá trị chia tần để đạt được cùng tần số mục tiêu. Nếu bỏ qua phần này, màn hình hoặc video sẽ không hiển thị bình thường, và rất dễ hiểu lầm là lỗi mã, vì vậy hãy kiểm tra kỹ.

 

Lộ trình full-stack liền mạch: từ cơ bản đến bộ tăng tốc mini LLM

Tất cả các bài giảng không phải là những mảnh ghép rời rạc, mà là hành trình hoàn thiện một hệ thống khổng lồ duy nhất.

  • Bước 1: Cơ sở lý thuyết AI và xử lý hình ảnh (bao gồm Machine Learning)

  • Step 2: Thiết kế và kiểm chứng bộ gia tốc AI (NPU) (bao gồm Machine Learning)

  • Bước 3: Thiết kế CPU RISC-V và tích hợp hệ thống

  • Bước 4: Triển khai SoC AI nâng cao và mở rộng thành nền tảng tăng tốc mini LLM (liên tục cập nhật nội dung)

     

 

Các chỉ số kiểm chứng khách quan

Tất cả các sản phẩm thiết kế của khóa học này đều đã trải qua quá trình kiểm chứng nghiêm ngặt theo các tiêu chuẩn toàn cầu và giới học thuật.

  • Xác minh kiến trúc RISC-V: CPU RISC-V do chúng tôi tự phát triển đã vượt qua bài kiểm tra tuân thủ chính thức (ACT) của tổ chức quốc tế và công khai mã nguồn (GitHub)

  • Uy tín học thuật: 4 bài báo học thuật với tư cách tác giả duy nhất (đăng trên tạp chí danh tiếng IJIBC thuộc danh mục học thuật KCI hạng A)

  • Được công nhận toàn cầu: Đã xuất bản 2 cuốn sách công nghệ trên Amazon toàn cầu (đạt hạng 3 trong danh sách bán chạy nhất)

  • Đã hoàn tất xác minh hoạt động thực tế: Các IP cốt lõi như CPU RV32I, NPU, hệ thống thị giác, GPS, Transformer, SoC AURA-Edge đều hoạt động hoàn hảo trong môi trường Arty S7

Hãy thử thách bản thân. Khi quá trình tự mình đưa mã lên bo mạch và kiểm tra kết quả này kết thúc, bạn sẽ nâng tầm trở thành một kỹ sư phần cứng với tầm nhìn hoàn toàn khác so với trước đây.

Thêm

Chương trình giảng dạy

Tất cả

10 bài giảng ∙ (3giờ 30phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của EdgeChipLab

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

140.250 ₫

15%

3.431.848 ₫