Bối cảnh và vấn đề nghiên cứu
Sự phát triển mạnh mẽ của các lĩnh vực công nghệ thông tin, trí tuệ nhân tạo và hệ thống nhúng đặt ra yêu cầu ngày càng cao đối với năng lực xử lý của vi điều khiển và vi xử lý. Tuy nhiên, bối cảnh thiếu hụt nguồn cung nguyên liệu sản xuất cùng chi phí bản quyền sở hữu trí tuệ (IP) cao đối với các kiến trúc tập lệnh thương mại (như x86, ARM) khiến giá thành chip trở nên đắt đỏ. Trước thực trạng đó, việc nghiên cứu các kiến trúc tập lệnh mở như RISC-V kết hợp với kỹ thuật siêu vô hướng (superscalar) mang lại giải pháp cân bằng giữa hiệu năng tính toán song song và tính kinh tế.
Đề tài khóa luận tốt nghiệp "Mô phỏng và hiện thực hệ thống SoC với RISC-V 32-bit CPU trên FPGA" do sinh viên Phan Lê Mịn và Võ Phan Hoàng Kha thực hiện (ngành Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – ĐHQG-HCM, năm 2024) tập trung vào các nhiệm vụ và mục tiêu cụ thể:
- Thiết kế và mô phỏng bộ xử lý RISC-V 32-bit dựa trên kiến trúc superscalar sử dụng giải thuật Scoreboard nhằm thực thi đồng thời hai câu lệnh trong cùng một chu kỳ.
- Đóng gói vi xử lý theo chuẩn giao thức bus mở rộng AMBA AXI4 để tích hợp vào hệ thống System-on-Chip (SoC).
- Nghiên cứu, tích hợp các khối IP chức năng trong SoC bao gồm: bộ nhớ truy cập ngẫu nhiên (RAM/BRAM), bộ điều khiển truy cập bộ nhớ trực tiếp trung tâm (CDMA), bộ nhớ đệm hệ thống (System Cache), khối kết nối bus AXI Interconnect và cầu chuyển đổi giao thức AXI-APB Bridge.
- Kiểm thử toàn diện chức năng hệ thống thông qua mô phỏng dạng sóng RTL, đối chiếu dữ liệu thanh ghi với công cụ giả lập Venus và hiện thực tổng hợp, phân tích thời gian thực thi (timing) trên nền tảng phần cứng FPGA.
Đối tượng nghiên cứu là kiến trúc tập lệnh RV32I cùng phần mở rộng phép nhân, vi kiến trúc xử lý song song mức lệnh superscalar và nền tảng SoC tích hợp chuẩn AXI4. Phạm vi nghiên cứu giới hạn trong thiết kế vi xử lý 32-bit, thực thi tập lệnh số nguyên cơ bản và hiện thực trên kit FPGA chuyên dụng.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và kiến trúc tập lệnh
Khóa luận dựa trên lý thuyết về kiến trúc tập lệnh (ISA) – giao diện trung gian xác định phương thức phần mềm điều khiển phần cứng. Tác giả tiến hành phân tích và so sánh các kiến trúc tập lệnh tiêu chuẩn công nghiệp:
| Kiến trúc (ISA) |
Ưu điểm chính |
Nhược điểm / Hạn chế |
| x86 |
Phần mềm phổ biến rộng rãi; thống trị máy tính cá nhân và máy chủ. |
Tập thanh ghi hạn chế; khó ảo hóa cổ điển; yêu cầu phí bản quyền cao. |
| ARMv7 |
Định nghĩa 3 lớp (A, R, M); tối ưu cho thiết bị di động và nhúng. |
Không hỗ trợ không gian địa chỉ 64-bit; cấu trúc tập lệnh phức tạp; có phí bản quyền. |
| ARMv8 |
Kiến trúc 64-bit thiết kế lại hoàn toàn; tương thích ngược. |
Độ phức tạp cao; không hỗ trợ nén lệnh trực tiếp; yêu cầu cấp phép thương mại. |
| MIPS |
Mã lệnh cố định 4 byte đơn giản; đường ống 5 tầng (five-stage pipeline) tối ưu. |
Không gian opcode cho mở rộng hẹp; tập lệnh bị tối ưu hóa quá mức cho một vi kiến trúc. |
| RISC-V |
Mã nguồn mở, miễn phí; định dạng lệnh chuẩn hóa cao (imm field); dễ mở rộng. |
Nhiều phần mở rộng đang ở dạng dự thảo, cần thêm thời gian chuẩn hóa và hoàn thiện. |
Kiến trúc RV32I được lựa chọn làm nền tảng với 40 lệnh người dùng, chia làm 3 nhóm chính (tính toán, điều khiển luồng và truy cập bộ nhớ theo kiến trúc load-store). Hệ thống thanh ghi bao gồm 32 thanh ghi đa năng 32-bit ($x_0 - x_{31}$) và thanh ghi bộ đếm chương trình (PC). Tập lệnh được mã hóa qua 6 định dạng cơ bản: R-type, I-type, S-type, B-type, U-type và J-type.
Lý thuyết kiến trúc Superscalar và giải thuật Scoreboard
Kiến trúc Superscalar cho phép CPU thực thi nhiều hơn một lệnh trong mỗi chu kỳ xung nhịp bằng cách phân bổ song song các đường ống thực thi. Để xử lý bài toán xung đột tài nguyên và dữ liệu phát sinh khi thực thi lệnh ngoài thứ tự (out-of-order execution), giải thuật Scoreboard được áp dụng qua 4 giai đoạn:
- Issue (Phát lệnh): Giải mã lệnh và kiểm tra tài nguyên phần cứng trống; ghi nhận vào bảng Scoreboard để theo dõi.
- Read operands (Đọc toán hạng): Chờ cho đến khi tất cả các toán hạng nguồn hợp lệ và sẵn sàng, sau đó chuyển vào thanh ghi lưu trữ tạm.
- Execute (Thực thi): Các khối chức năng (ALU, MUL, LSU) tiến hành tính toán khi nhận đầy đủ dữ liệu.
- Write-back (Ghi kết quả): Ghi dữ liệu tính toán hoàn tất vào Register File và cập nhật trạng thái Scoreboard giải phóng phụ thuộc.
Quy tắc xử lý xung đột trong thiết kế:
- Xung đột cấu trúc (Structural Hazard): Không xảy ra do Scoreboard chủ động kiểm tra tính sẵn sàng của khối chức năng trước khi phát lệnh.
- Xung đột Read-After-Write (RAW): Bảng trạng thái thanh ghi cập nhật cờ Busy khi lệnh bắt đầu thực thi và chuyển về Free khi ghi xong; các lệnh sau phải đợi cờ Free mới được đọc toán hạng.
- Xung đột Write-After-Read (WAR): Scoreboard lưu lại dữ liệu tức thời của từng lệnh khi nạp vào bảng tham chiếu để tránh việc lệnh ghi nhanh ghi đè dữ liệu trước khi lệnh đọc hoàn tất.
- Xung đột Write-After-Write (WAW) & Xung đột điều khiển (Control Hazard): Hệ thống kích hoạt cơ chế dừng đường ống (stall) cho đến khi lệnh trước hoàn tất việc ghi hoặc nhánh rẽ xác định xong địa chỉ tiếp theo.
Phương pháp nghiên cứu
Nghiên cứu sử dụng phương pháp thiết kế phần cứng số ở mức truyền thanh ghi (RTL - Register Transfer Level) bằng ngôn ngữ mô tả phần cứng:
- Mô phỏng chức năng (Functional Simulation): Kiểm thử logic từng module và toàn hệ thống SoC bằng testbench, phân tích giản đồ sóng thời gian.
- Kiểm chứng chéo: So sánh trực tiếp trạng thái các thanh ghi $x_0 - x_{31}$ sau khi chạy tập lệnh thử nghiệm giữa môi trường mô phỏng phần cứng và trình giả lập phần mềm Venus RISC-V.
- Tổng hợp và hiện thực phần cứng: Sử dụng công cụ EDA chuyên dụng để biên dịch mô hình RTL thành mạch logic tương đương (Synthesis), tối ưu hóa vị trí và định tuyến (Implementation), đồng thời xuất báo cáo phân tích thỏa mãn điều kiện thời gian (Timing Setup, Hold, Pulse Width) trên chip FPGA.
Thiết kế và triển khai hệ thống
Kiến trúc vi xử lý Superscalar RISC-V
Hệ thống CPU được tổ chức thành các khối chức năng độc lập kết nối qua hệ thống tín hiệu điều khiển tập trung từ Scoreboard:
[ Instruction Fetch / ICache ]
[Issue_ALU] [Issue_MUL] [Issue_LSU]
[ Register_File ]
Đặc tả các module chính trong vi kiến trúc:
- Khối
Instruction_Decode: Tiếp nhận lệnh 32-bit (instr[31:0]), trích xuất địa chỉ thanh ghi nguồn (rs1[4:0], rs2[4:0]), thanh ghi đích (rd[4:0]), mã loại thực thi (ex_type[5:0]) và các cờ phân loại lệnh (alu, mul, lsu, jal, jalr, branch, auipc, imm, lui, ecall, storemem).
- Khối
Imm_Extend: Mở rộng các trường hằng số tức thời (immediate) từ các định dạng lệnh khác nhau thành định dạng chuẩn có dấu/không dấu 32-bit.
- Khối
Branch_Execute: Tiếp nhận dữ liệu toán hạng và giá trị pc_addr[31:0], xác định điều kiện rẽ nhánh và xuất tín hiệu chấp thuận nhảy j_accept, chờ dữ liệu j_wait và địa chỉ rẽ nhánh j_addr[31:0].
- Khối
Register_File: Chứa 32 thanh ghi 32-bit; hỗ trợ đọc đồng thời 2 cổng dữ liệu (rs1_data, rs2_data) và ghi đồng thời từ 3 nguồn kết quả độc lập thông qua 3 kênh (rd1/write_data1/write_en1, rd2/write_data2/write_en2, rd3/write_data3/write_en3).
- Các khối phát lệnh (
Issue_ALU, Issue_MUL, Issue_LSU): Quản lý trạng thái nạp toán hạng 33-bit (data1, data2, alu_data, mul_data, lsu_data), kiểm soát phụ thuộc dữ liệu (data1_depend, data2_depend) và báo tín hiệu hoàn thành done.
- Khối
Scoreboard: Trung tâm giám sát toàn bộ trạng thái đường ống; điều khiển tạm dừng tìm nạp (stop_fetch), cấp phép nạp lệnh cho các khối con (alu_load, mul_load, lsu_load) và giải phóng tài nguyên thanh ghi đích (rd_alu_update, rd_mul_update, rd_lsu_update).
- Các khối tính toán (
ALU, MUL, LSU): Khối ALU xử lý các phép toán logic và số học 32-bit; khối MUL thực thi phép nhân tạo kết quả 64-bit P[63:0]; khối LSU kết nối trực tiếp với bộ điều khiển Data Cache để thực hiện các thao tác đọc/ghi ô nhớ (read_mem, write_mem, addr[31:0], write_data[31:0]).
Cấu trúc hệ thống SoC và bus liên kết
Vi xử lý được đóng gói thành Master IP trong hệ sinh thái SoC, liên kết với các thành phần ngoại vi thông qua cấu trúc bus AMBA AXI4 với 5 kênh độc lập:
- Kênh địa chỉ đọc (AR - Read Address)
- Kênh dữ liệu đọc (R - Read Data)
- Kênh địa chỉ ghi (AW - Write Address)
- Kênh dữ liệu ghi (W - Write Data)
- Kênh phản hồi ghi (B - Write Response)
Các khối IP chức năng tích hợp trong hệ thống:
- Khối IP System Cache: Gồm 2 bộ điều khiển chuyên biệt là
ICache_Controller (bộ nhớ đệm lệnh) và DCache_Controller (bộ nhớ đệm dữ liệu), sử dụng giải thuật ánh xạ kết hợp toàn phần (fully associative mapping) để tăng tốc độ truy xuất ô nhớ.
- Khối IP Central Direct Memory Access (CDMA): Điều khiển bởi module
CDMA_Control, hỗ trợ truyền dữ liệu khối tốc độ cao trực tiếp giữa các vùng nhớ mà không chiếm dụng chu kỳ xử lý của CPU.
- Khối IP AXI Interconnect: Phân xử và định tuyến dữ liệu giữa các Master (CPU, CDMA) và Slave (BRAM, APB Bridge).
- Khối IP AXI BRAM: Bộ nhớ SRAM tích hợp trên chip dùng làm không gian lưu trữ chương trình và dữ liệu chính.
- Khối IP AXI-APB Bridge: Cầu nối chuyển đổi giao thức từ bus AXI4 hiệu năng cao sang bus APB công suất thấp dành cho các ngoại vi điều khiển tốc độ thấp.
Nội dung chính theo từng chương
Chương 1. TỔNG QUAN VI XỬ LÝ RISC-V
Chương 1 hệ thống hóa kiến trúc tập lệnh RISC-V, chi tiết hóa 40 câu lệnh thuộc tập RV32I cùng phần mở rộng tính toán số nguyên M. Chương này phân tích chuyên sâu kiến trúc vi xử lý siêu vô hướng (superscalar processor) và nguyên lý của giải thuật Scoreboard. Các ví dụ trực quan về 3 dạng xung đột dữ liệu (RAW, WAR, WAW) cùng xung đột điều khiển được tác giả làm rõ, từ đó xác lập phương án sử dụng bảng trạng thái thanh ghi và kỹ thuật chèn chu kỳ chờ (stall) để duy trì tính toàn vẹn dữ liệu khi thực thi câu lệnh song song.
Chương 2. THIẾT KẾ VI XỬ LÝ SUPER SCALAR RISC-V
Chương 2 trình bày chi tiết thiết kế RTL của toàn bộ 11 module cấu thành vi xử lý. Mỗi module đều được cung cấp sơ đồ cổng logic (RTL schematic) và bảng đặc tả cổng tín hiệu chi tiết:
- Phân tích tín hiệu điều khiển và độ rộng bus dữ liệu cho từng khối Issue (
Issue_ALU, Issue_MUL, Issue_LSU).
- Thiết kế khối
Register_File đặc biệt với 3 cổng ghi đồng thời, đáp ứng khả năng ghi trả kết quả cùng lúc từ ALU, bộ nhân MUL và khối nạp/lưu LSU.
- Cơ chế vận hành của khối trung tâm
Scoreboard thông qua việc theo dõi các bus trạng thái (alu_state, mul_state, lsu_state) và điều phối tín hiệu nạp toán hạng.
Chương 3. Hệ thống SoC cho vi xử lý RISC-V
Chương 3 tập trung vào thiết kế hệ thống SoC tích hợp. Tác giả phân tích cấu trúc 5 kênh của giao thức AMBA AXI4, các dạng truyền gói (burst types), phản hồi giao dịch (response types) và chức năng tín hiệu quản lý bộ nhớ đệm AxCACHE. Chương này trình bày chi tiết cấu hình các khối IP (System Cache, CDMA, AXI Interconnect, AXI BRAM, AXI-APB Bridge) và thiết kế sơ đồ khối tổng thể (Block Diagram) ghép nối vi xử lý RISC-V với các bộ điều khiển bộ nhớ đệm ICache_Controller, DCache_Controller và CDMA_Control.
Chương 4. KẾT QUẢ
Chương 4 cung cấp toàn bộ các kết quả thực nghiệm và kiểm định:
- Kết quả mô phỏng dạng sóng truyền nhận dữ liệu bộ nhớ qua khối CDMA trước và sau khi kích hoạt.
- Kết quả mô phỏng thực thi các câu lệnh đặc trưng: lệnh nạp giá trị tức thời vào byte cao (
lui x1, 20), lệnh nhảy có điều kiện (beq x1, x2, test), lệnh nhân số nguyên (mul x3, x1, x2), các lệnh nạp và lưu dữ liệu bộ nhớ (lw, sw).
- Kết quả kiểm chứng trạng thái dữ liệu thanh ghi đối chiếu với phần mềm Venus.
- Kết quả tổng hợp mạch (Post-Synthesis) và hiện thực hóa phần cứng (Post-Implementation) trên FPGA cùng các biểu đồ phân tích thời gian (Setup timing, Hold timing, Pulse Width timing).
- Đánh giá tổng thể thiết kế và so sánh với các nghiên cứu liên quan.
Chương 5. Kết luận và hướng phát triển
Chương 5 tóm tắt các mục tiêu đã hoàn thành của đồ án về việc thiết kế, mô phỏng và hiện thực thành công vi xử lý superscalar RISC-V 32-bit cùng hệ thống SoC trên phần cứng FPGA. Đồng thời, tác giả đề xuất các định hướng mở rộng kỹ thuật nhằm nâng cấp hiệu năng cho vi xử lý trong các giai đoạn tiếp theo.
Kết quả và đóng góp
Kết quả thực nghiệm chính
Khóa luận đã hoàn thành việc thiết kế và kiểm chứng hệ thống SoC với các kết quả cụ thể có trong tài liệu:
- Kiểm tra chức năng tập lệnh: Mô phỏng dạng sóng RTL chứng minh vi xử lý thực thi chính xác các câu lệnh cơ bản của RV32I và lệnh nhân
mul của phần mở rộng M; giải quyết đúng các trường hợp phụ thuộc dữ liệu bằng Scoreboard mà không xảy ra sai lệch giá trị thanh ghi.
- Kiểm chứng chéo với trình giả lập Venus: Dữ liệu xuất ra từ khối
Register_File trong môi trường mô phỏng RTL hoàn toàn trùng khớp với kết quả chạy trên phần mềm mô phỏng chuẩn Venus RISC-V.
- Kiểm tra chức năng truyền dữ liệu CDMA: Khối CDMA thực hiện đúng chức năng truyền dữ liệu trực tiếp giữa các khối nhớ; kiểm tra bộ nhớ trước và sau truyền ghi nhận dữ liệu được sao chép chính xác theo địa chỉ chỉ định.
- Hiện thực trên FPGA: Thiết kế vượt qua các bước kiểm tra tổng hợp Post-Synthesis và tối ưu định tuyến Post-Implementation; hệ thống đạt trạng thái hoạt động ổn định và đáp ứng đầy đủ các ràng buộc về thời gian (timing closure) gồm Setup timing, Hold timing và Pulse Width timing.
Đóng góp của đề tài
- Xây dựng hoàn chỉnh một thiết kế vi xử lý RISC-V 32-bit kiến trúc superscalar 2 lệnh đồng thời sử dụng giải thuật Scoreboard để điều phối lệnh ngoài thứ tự.
- Hiện thực thành công khối Register File 3 cổng ghi đồng thời, giải quyết nút thắt cổ chai khi nhiều khối chức năng (ALU, MUL, LSU) hoàn thành tính toán trong cùng chu kỳ.
- Tích hợp thành công vi xử lý vào hệ thống SoC hoàn chỉnh dựa trên bus AMBA AXI4, kết nối đồng bộ với hệ thống System Cache, bộ điều khiển DMA trung tâm và các IP ngoại vi trên nền tảng phần cứng FPGA.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Đối với các xung đột Write-After-Write (WAW) và xung đột điều khiển (rẽ nhánh), thiết kế hiện tại vẫn phải áp dụng phương pháp dừng hệ thống (stall), làm giảm hiệu suất khai thác đường ống song song.
- Tập lệnh mới hoàn thiện nhóm lệnh RV32I và phép nhân số nguyên cơ bản (trong tập mở rộng M), chưa tích hợp đầy đủ phép chia và các phần mở rộng tiêu chuẩn khác (như dấu chấm động F/D, lệnh nguyên tử A, tập lệnh nén C).
- Bộ nhớ đệm System Cache và bộ điều khiển rẽ nhánh chưa áp dụng các giải thuật dự đoán nhánh động phức tạp.
Hướng nghiên cứu tiếp
- Nâng cấp vi kiến trúc xử lý xung đột bằng cách chuyển đổi hoặc kết hợp giải thuật Tomasulo với bộ đệm tái sắp xếp lệnh (Reorder Buffer - ROB) nhằm tối ưu triệt để xung đột WAW và cho phép suy đoán lệnh.
- Mở rộng tập lệnh hỗ trợ đầy đủ bộ mở rộng M (phép chia), phần mở rộng dấu chấm động (F, D), tập lệnh nén 16-bit (C) và các thanh ghi điều khiển trạng thái (Zicsr).
- Tích hợp thêm các khối tăng tốc phần cứng chuyên dụng trên bus AXI4 và nâng cao tần số hoạt động của chip trên các dòng FPGA cao cấp hơn.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo chuyên ngành cho sinh viên, học viên và kỹ sư thuộc các ngành Kỹ thuật Máy tính, Thiết kế Vi mạch (IC Design), Điện tử – Viễn thông và Hệ thống Nhúng:
- Thiết kế vi kiến trúc vi xử lý: Cung cấp đặc tả chi tiết giao diện I/O, độ rộng bus tín hiệu và phân rã chức năng từng khối logic bên trong một CPU superscalar thực thi song song 2 lệnh.
- Tích hợp hệ thống SoC: Minh họa phương pháp chuẩn hóa và đóng gói vi xử lý theo chuẩn bus công nghiệp AMBA AXI4, cấu hình kết nối đa Master/Slave qua AXI Interconnect, tích hợp bộ đệm Cache và DMA.
- Quy trình kiểm thử và hiện thực phần cứng: Trình bày phương pháp kiểm thử logic qua mô phỏng dạng sóng, đối chiếu chéo kết quả với phần mềm Venus và phương pháp phân tích báo cáo thời gian (timing report) trên công cụ FPGA.
Câu hỏi thường gặp
1. Khóa luận giải quyết các loại xung đột dữ liệu (RAW, WAR, WAW) trong kiến trúc superscalar như thế nào?
Tác giả sử dụng giải thuật Scoreboard để giám sát tài nguyên: xung đột Read-After-Write (RAW) được kiểm soát bằng bảng trạng thái thanh ghi (chuyển trạng thái Busy khi thực thi và chỉ cho phép đọc khi đã Free); xung đột Write-After-Read (WAR) được giải quyết bằng cách lưu dữ liệu nạp vào bảng tham chiếu ngay tại thời điểm cấp phát; còn xung đột Write-After-Write (WAW) được xử lý bằng giải pháp dừng hệ thống (stall) cho đến khi lệnh trước hoàn tất ghi dữ liệu.
2. Khối Register File trong thiết kế có đặc điểm gì để hỗ trợ kiến trúc superscalar?
Khối Register_File gồm 32 thanh ghi 32-bit được thiết kế với 2 cổng đọc dữ liệu (rs1_data, rs2_data) và 3 cổng ghi độc lập hoạt động đồng thời (rd1/write_data1/write_en1, rd2/write_data2/write_en2, rd3/write_data3/write_en3). Cấu trúc này cho phép ghi nhận kết quả cùng lúc từ 3 khối chức năng thực thi riêng biệt là ALU, MUL và LSU vào các thanh ghi đích mà không phải chờ đợi qua nhiều chu kỳ.
3. Hệ thống SoC sử dụng giao thức bus nào để liên kết các khối IP và cấu trúc của bus đó gồm những kênh nào?
Hệ thống sử dụng chuẩn giao thức bus AMBA AXI4 của ARM. Cấu trúc của AXI4 được tổ chức thành 5 kênh giao tiếp độc lập: Kênh địa chỉ đọc (AR), Kênh dữ liệu đọc (R), Kênh địa chỉ ghi (AW), Kênh dữ liệu ghi (W) và Kênh phản hồi ghi (B).
4. Khối Instruction Decode thực hiện chức năng gì và xuất ra các tín hiệu nào?
Khối Instruction_Decode tiếp nhận câu lệnh 32-bit từ bộ nhớ và giải mã để xuất ra địa chỉ các thanh ghi nguồn rs1[4:0], rs2[4:0], thanh ghi đích rd[4:0], mã phương thức tính toán ex_type[5:0], cùng các cờ nhận diện loại câu lệnh gồm: alu, mul, lsu, jal, jalr, branch, auipc, imm, lui, ecall và storemem.
5. Nhóm tác giả sử dụng công cụ nào để đối chiếu và kiểm chứng tính đúng đắn của dữ liệu thanh ghi sau khi mô phỏng RTL?
Nhóm tác giả sử dụng phần mềm giả lập kiến trúc RISC-V Venus để chạy cùng một đoạn mã lệnh kiểm thử, sau đó đối chiếu trực tiếp các giá trị lưu trữ trong từng thanh ghi của bảng Register_File trên giản đồ sóng mô phỏng RTL với bảng thanh ghi trên giao diện của Venus.
Kết luận
Khóa luận tốt nghiệp của tác giả Phan Lê Mịn và Võ Phan Hoàng Kha đã thiết kế, mô phỏng và hiện thực thành công hệ thống SoC tích hợp vi xử lý RISC-V 32-bit kiến trúc superscalar trên nền tảng FPGA. Bằng việc ứng dụng giải thuật Scoreboard kết hợp cùng giao thức bus chuẩn công nghiệp AMBA AXI4, đề tài đã giải quyết bài toán thực thi lệnh song song mức phần cứng và tích hợp hoàn chỉnh các khối IP bộ nhớ đệm, DMA trung tâm và ngoại vi. Kết quả nghiên cứu đáp ứng đầy đủ các tiêu chuẩn kỹ thuật về mô phỏng chức năng logic và phân tích thời gian thực thi trên chip phần cứng, đóng góp tư liệu thực nghiệm hữu ích cho lĩnh vực thiết kế vi mạch và hệ thống nhúng.