Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ bán dẫn và các mô hình trí tuệ nhân tạo (AI), đặc biệt là học sâu (Deep Learning) và mạng nơ-ron tích chập (Convolutional Neural Networks - CNN), đã thúc đẩy nhu cầu xử lý các phép toán ma trận và vector với tốc độ cao. Tuy nhiên, việc triển khai các mô hình tính toán học sâu phức tạp trên các hệ thống nhúng và thiết bị biên (Edge Computing) gặp phải nhiều rào cản nghiêm trọng về giới hạn tài nguyên phần cứng và định mức tiêu thụ năng lượng. Kiến trúc máy tính truyền thống dựa trên mô hình tập lệnh đơn - dữ liệu đơn (Single Instruction Single Data - SISD) hoặc các bộ xử lý vô hướng (Scalar Processor) thường bộc lộ sự kém hiệu quả khi phải xử lý lặp lại khối lượng lớn dữ liệu mảng, dẫn đến nghẽn cổ chai trong quá trình nạp/lưu và suy luận.
Trong bối cảnh đó, kiến trúc tập lệnh mở RISC-V (Open-source Instruction Set Architecture) cùng phần mở rộng tính toán vector (RISC-V Vector Extension) nổi lên như một giải pháp linh hoạt, cho phép thiết kế các bộ xử lý tùy biến và hỗ trợ tính toán song song dữ liệu (Single Instruction Multiple Data - SIMD / Data-level parallelism). Đồng thời, nền tảng vi mạch lập trình được (Field-programmable Gate Array - FPGA) cung cấp môi trường lý tưởng để hiện thực hóa, kiểm thử và đánh giá các thiết kế bộ xử lý dạng mềm (Soft Core) với chi phí thấp và thời gian phát triển nhanh.
Đề tài khóa luận tốt nghiệp "An AI accelerator in a RISC-V System-on-Chip" (Xây dựng Bộ tăng tốc AI trong Hệ thống trên chip RISC-V) được thực hiện bởi sinh viên Nguyễn Lý Đăng Khoa và Lê Nguyễn Tân Lộc, dưới sự hướng dẫn của PGS. Trần Ngọc Thịnh tại Khoa Khoa học và Kỹ thuật Máy tính, Trường Đại học Bách Khoa – Đại học Quốc gia TP.HCM (giai đoạn từ 28/08/2023 đến 01/01/2024). Đề tài tập trung vào việc nghiên cứu, thiết kế và tích hợp một bộ tăng tốc vector tùy biến vào lõi xử lý RISC-V CVA5 nhằm tối ưu hóa hiệu năng suy luận mạng nơ-ron.
Nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:
- Nghiên cứu kiến trúc tập lệnh RISC-V và phần mở rộng vector.
- Nghiên cứu các phần mềm mô phỏng và các hệ thống RISC-V SoC có khả năng tái cấu trúc trên nền tảng FPGA.
- Khảo sát các công trình nghiên cứu, thuật toán AI và kỹ thuật lượng tử hóa mô hình học máy để chuyển giao sang hệ thống trên chip RISC-V.
- Hiện thực hóa một kiến trúc RISC-V SoC phù hợp (chọn lõi CVA5) trên nền tảng FPGA.
- Thiết kế và tích hợp bộ tăng tốc AI (Vector Processing Unit) vào hệ thống RISC-V SoC.
- So sánh, đánh giá hiệu năng giữa hệ thống mở rộng vector và hệ thống vô hướng nguyên bản.
- Kiểm thử hệ thống với ứng dụng suy luận mạng nơ-ron trên tập dữ liệu ảnh mẫu.
Cơ sở lý thuyết và phương pháp
Đề tài kết hợp nghiên cứu lý thuyết vi kiến trúc xử lý, phương pháp lượng tử hóa mạng nơ-ron và phương pháp thiết kế phần cứng số:
- Mô hình mạng nơ-ron tích chập (CNN): Mạng bao gồm các tầng cơ bản gồm tầng tích chập (Convolutional Layer) để trích xuất đặc trưng không gian thông qua các bộ lọc (filters/kernels), tầng gom cụm (Pooling Layer - Max Pooling và Average Pooling) nhằm giảm chiều dữ liệu, tầng kết nối đầy đủ (Fully-Connected Layer) để phân loại, cùng hàm kích hoạt phi tuyến ReLU ($ReLU(x) = \max(0, x)$).
- Kỹ thuật lượng tử hóa mô hình (Model Quantization): Do lõi CVA5 sử dụng tập lệnh số nguyên RV32IMA và không tích hợp khối dấu phẩy động phần cứng, đề tài áp dụng mô hình lượng tử hóa Affine không đối xứng từ chuẩn TensorFlow Lite để chuyển đổi dữ liệu từ dấu phẩy động 32-bit (FP32) sang số nguyên 8-bit (INT8) hoặc 16-bit (INT16). Công thức ánh xạ tuyến tính được sử dụng là:
$$r = S(q - Z)$$
Trong đó $r$ là giá trị số thực, $q$ là giá trị lượng tử hóa nguyên, $S$ là hệ số tỉ lệ (scale) và $Z$ là điểm không (zero-point). Phép nhân ma trận lượng tử hóa được biểu diễn qua:
$$q_3^{(i,k)} = Z_3 + M \sum_{j=1}^N (q_1^{(i,j)} - Z_1)(q_2^{(j,k)} - Z_2)$$
Hệ số tỉ lệ nhân $M = \frac{S_1 S_2}{S_3}$ được chuẩn hóa thành dạng fixed-point $M = 2^{-n} M_0$ với $M_0 \in [0.5, 1)$, cho phép thay thế phép chia/nhân số thực bằng phép nhân số nguyên và dịch bit phải ($n$-bit shift).
- Tập lệnh RISC-V và kiến trúc vi xử lý CVA5: Khảo sát tập lệnh cơ sở RV32I và các phần mở rộng chuẩn (M - nhân chia số nguyên, A - thao tác nguyên tử). Lõi CVA5 là vi xử lý 32-bit mã nguồn mở viết bằng SystemVerilog, sở hữu cấu trúc đường ống phân rã (Decoupled Pipeline) gồm các khối chức năng độc lập, hỗ trợ độ trễ biến thiên (Variable Latency), thực thi và hoàn tất ngoài thứ tự (Out-of-Order Completion), quản lý ID chỉ mục động, cơ chế đổi tên thanh ghi (Renamer) chống xung đột phụ thuộc dữ liệu giả (False Dependency) và hàng đợi lưu dữ liệu (Store Queue).
- Phương pháp nghiên cứu thực nghiệm: Thiết kế các khối phần cứng số (RTL) bằng ngôn ngữ phần cứng, thực hiện tổng hợp logic, phân tích công suất, tài nguyên và mô phỏng chu kỳ chính xác trên công cụ Xilinx Vivado Design Suite và GTKWave nhắm tới nền tảng bo mạch Xilinx ZedBoard (Zynq-7000 FPGA). Dữ liệu thực nghiệm sử dụng tập ảnh chữ số viết tay chuẩn MNIST.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình tích hợp đồng xử lý vector trực tiếp vào đường ống của vi xử lý CVA5, tạo thành cấu hình CVA5-Vector-SoC.
Kiến trúc phần cứng bộ xử lý CVA5-Vector
Hệ thống đường ống của CVA5 được mở rộng để quản lý các lệnh vector thông qua các giai đoạn:
- Giai đoạn Fetch & Decode: Lệnh được nạp vào bảng chỉ mục (Instruction Table). Bộ giải mã nhận diện các mã opcode vector mở rộng, trích xuất thông tin thanh ghi ảo và đẩy thông tin sang bộ đổi tên vector.
- Vector Renamer & Vector Register File (VRF): Bộ đổi tên thanh ghi vector sử dụng danh sách thanh ghi rỗi (
Vector_free_list), bảng đặc tả nhóm (group_spec_table) và danh sách đang sử dụng (Inuse_list) để ánh xạ các thanh ghi vector logic sang 64 mục thanh ghi vật lý. Bộ nhớ thanh ghi vector hỗ trợ cơ chế đa cổng đọc/ghi và bảng cờ trạng thái (toggle memory) để phát hiện xung đột dữ liệu.
- Khối thực thi Vector (Vector Execution Units):
- Vector ALU Unit: Xử lý các phép toán số học, logic trên từng phần tử theo cấu hình độ rộng dữ liệu tiêu chuẩn (SEW) và độ dài vector (VLEN).
- Vector Multiplier / MAC Unit: Thiết kế dựa trên mô hình mạng Petri Net và các khối xử lý MAC phân làn (lanes), cho phép nhân - tích lũy song song trên dữ liệu lượng tử hóa.
- Vector Compare Unit: Thực hiện các phép so sánh song song giữa các phần tử vector phục vụ các tầng kích hoạt và gom cụm Max Pooling.
- Vector Load/Store Unit: Quản lý nạp và lưu dữ liệu vector từ bộ nhớ, tối ưu hóa truy xuất tuần tự theo hàng/cột.
- Vector CSRs Unit: Quản lý các thanh ghi điều khiển và trạng thái vector (như
vtype, vl, vlenb), điều phối tham số cấu hình nhóm thanh ghi (LMUL) và độ rộng phần tử (SEW).
- Chiến lược tối ưu bộ nhớ Im2Col: Triển khai phương pháp chuyển đổi ma trận hình ảnh thành các cột dữ liệu liên tục trong bộ nhớ (
Im2Col), cho phép khối Vector Load nạp các khối điểm ảnh liên tiếp trong một chu kỳ xung nhịp nhằm tối ưu hóa kỹ thuật tái sử dụng dữ liệu (Data Reuse).
Luồng phần mềm và tích hợp hệ thống
Do các trình biên dịch chuẩn chưa hỗ trợ đầy đủ các lệnh vector tùy biến cho mô hình học sâu viết bằng Python, nhóm tác giả xây dựng luồng phần mềm chuyên biệt:
- Mô hình mạng nơ-ron được huấn luyện trên môi trường ngoài, trích xuất trọng số (weights) và độ lệch (biases), thực hiện lượng tử hóa và lưu trữ dưới dạng mảng hằng số fixed-point 16-bit.
- Chương trình suy luận hoàn chỉnh được lập trình bằng ngôn ngữ C, nhúng trực tiếp các chỉ thị hợp ngữ vector tùy biến (
v_mul_block, v_load_store,...) thông qua inline assembly.
- Mã nguồn C được biên dịch bằng chuỗi công cụ RISC-V GCC toolchain thành mã máy thực thi, sau đó nạp vào bộ nhớ nạp trước (
local_mem_v1_0) của hệ thống SoC trên Vivado để thực hiện mô phỏng.
Nội dung chính theo từng chương
Chương 1: Project Introduction
Chương này trình bày bối cảnh phát triển của phần cứng mã nguồn mở RISC-V trên nền tảng FPGA và sự cần thiết của các bộ tăng tốc AI. Tác giả phân tích bài toán tối ưu hóa năng lượng và hiệu năng thông qua các kỹ thuật tái sử dụng dữ liệu: tái sử dụng bản đồ đặc trưng đầu vào (Input feature map reuse), tái sử dụng bộ lọc (Filter reuse) và tái sử dụng tích chập (Convolution reuse). Chương xác định mục tiêu thiết kế bộ xử lý CVA5-Vector, quy trình thực hiện gồm 3 bước và bảng tiêu chí đánh giá hiệu năng (chỉ số chu kỳ, số lệnh, độ chính xác).
Chương 2: Theoretical Background and CVA5 Overview
Chương 2 cung cấp cơ sở lý thuyết tổng quan về trí tuệ nhân tạo, học sâu, cấu trúc mạng nơ-ron tích chập (tầng Convolution, Max/Average Pooling, Fully-Connected, hàm ReLU) và quy trình suy luận (Inference). Trọng tâm chương phân tích chi tiết toán học của phương pháp lượng tử hóa Affine từ FP32 sang INT8/INT16 và kỹ thuật chuẩn hóa hệ số tỉ lệ fixed-point. Ngoài ra, chương giới thiệu kiến trúc tập lệnh RISC-V (RV32IMA, các mức đặc quyền M/S/U), so sánh kiến trúc SISD với SIMD và đi sâu vào vi kiến trúc lõi CVA5 (cơ chế phân rã đường ống 6 giai đoạn, ID-based tracking, Store Queue forwarding, Register File đa băng và Renamer).
Chương 3: Related Works
Chương này khảo sát và phân tích các công trình nghiên cứu tiêu biểu về bộ xử lý vector RISC-V dành cho hệ thống nhúng và học máy:
- A Minimal RISC-V Vector Processor for Embedded Systems: Đánh giá kiến trúc xử lý vector đơn tầng, cấu trúc đơn giản không dùng bộ lập lịch phức tạp, giúp tăng tốc tối đa 5.8 lần với mức tăng tài nguyên 2.6 lần trên FPGA ở tần số 50 MHz.
- RISC-V Vector Processor for Machine Learning Acceleration: Phân tích mô hình đồng xử lý phân làn (multi-lane vector coprocessor), cơ chế khai thác đồng thời tính song song mức dữ liệu (DLP) và mức lệnh (ILP) cùng thiết kế khối số học ALU/MAC biến đổi độ rộng (8/16/32-bit).
Chương 4: Vector Instructions Specification
Chương 4 thiết lập bảng đặc tả định dạng mã máy (opcode, funct3, funct6, định danh thanh ghi $vd, vs1, vs2$) cho các tập lệnh vector tùy biến được triển khai trên lõi CVA5, phân chia thành ba nhóm chính:
- Nhóm lệnh điều khiển và trạng thái vector (Vector Control/Status Instructions - Vector CSRs).
- Nhóm lệnh số học và truyền dữ liệu vector (Vector Arithmetic and Data Transfer Instructions: cộng, trừ, nhân ma trận, nhân tích lũy MAC, so sánh phần tử).
- Nhóm lệnh nạp và lưu dữ liệu vector (Vector Load/Store Instructions).
Chương 5: Vector Processing Unit Design and Integration into CVA5
Chương 5 trình bày chi tiết thiết kế phần cứng vi kiến trúc các khối vector và phương thức tích hợp vào đường ống CVA5:
- Giai đoạn tiền phát lệnh (Pre-issue): Thiết kế chi tiết cấu trúc Vector Renamer (quản lý bảng
group_spec_table, Vector_free_list, chuyển đổi địa chỉ logic sang vật lý) và Vector Register File (quản lý phân vùng bộ nhớ, máy trạng thái FSM điều khiển thanh ghi, khối Vector_toggle_memory_set).
- Giai đoạn thực thi (Execution Stage): Thiết kế sơ đồ khối chi tiết của Vector ALU, khối nhân - tích lũy MAC dựa trên mô hình Petri Net, khối so sánh thanh ghi (Vector Compare), khối Vector Load/Store và khối xử lý thanh ghi điều khiển Vector CSRs với máy trạng thái đường ống hóa.
- Giai đoạn ghi ngược (Writeback) và hoàn tất (Retire/Commit): Cơ chế phân xử ưu tiên ghi cổng bộ nhớ và giải phóng định danh thanh ghi vật lý khi lệnh hoàn tất.
Chương 6: Hardware and Software Implementation
Chương 6 mô tả quy trình hiện thực hóa kỹ thuật trên công cụ Xilinx Vivado và môi trường phần mềm:
- Thiết kế phần cứng: Cấu hình hệ thống SoC trên nền Zynq-7000 (ZedBoard), kết nối các IP lõi xử lý CVA5-Vector với hệ thống AXI Interconnect, bộ nhớ cục bộ nạp sẵn (
local_mem_v1_0), khối UART điều khiển và thiết lập chân tín hiệu (Pmod JA1 constraints).
- Thiết kế phần mềm: Cấu hình chuỗi công cụ biên dịch chéo CVA5 GCC Toolchain, xây dựng chương trình C-based nhúng mã máy vector, thiết lập tệp nạp dữ liệu ma trận ảnh, thực thi mô phỏng và hiển thị dạng sóng trên GTKWave.
Chương 7: Result and Evaluation
Chương 7 tổng hợp toàn bộ kết quả mô phỏng, phân tích tài nguyên phần cứng, công suất tiêu thụ và hiệu năng tính toán của hệ thống CVA5-Vector-SoC so với hệ thống gốc CVA5-SoC:
- Mô phỏng chức năng từng thành phần: Khởi tạo hệ thống sau 64 chu kỳ reset, cấp phát ID chỉ mục, kiểm thử quá trình nạp bộ nhớ vector và hoạt động của khối
v_mul_block.
- Báo cáo tổng hợp phần cứng trên Vivado: Phân tích tài nguyên định tuyến (LUTs, Flip-Flops, BRAM, DSP) và công suất tiêu thụ tại tần số 50 MHz (CVA5-Vector) và 60 MHz (CVA5-SoC / CVA5-Vector-SoC).
- Đánh giá thực nghiệm qua từng tầng mạng nơ-ron: Tầng Convolution, tầng Max Pooling, tầng Fully-Connected và kiểm thử toàn bộ mô hình CNN với tập dữ liệu MNIST.
Kết quả và đóng góp
Khóa luận đã thiết kế và tích hợp thành công bộ tăng tốc vector vào lõi xử lý RISC-V CVA5 trên môi trường mô phỏng RTL và công cụ tổng hợp phần cứng Vivado. Các kết quả định lượng cụ thể được trích xuất từ văn bản gồm:
| Chỉ số đánh giá |
Hệ thống CVA5-SoC (Gốc) |
Hệ thống CVA5-Vector-SoC |
Mức độ cải thiện / Thay đổi |
| Độ chính xác mô hình (MNIST) |
97.37% (Tham chiếu) |
97.37% |
Tương đương mô hình lượng tử hóa |
| Tốc độ thực thi (Hiệu năng) |
1.0x (Cơ sở) |
~9.x - 10.0x |
Nhanh hơn xấp xỉ 10 lần |
| Sử dụng tài nguyên FPGA |
Cơ sở |
Tăng ~8.0 - 8.6 lần |
Tăng diện tích mạch do thêm VRF & MAC |
| Công suất tiêu thụ (Power) |
Cơ sở (ở 50/60 MHz) |
Tăng 1.4012 lần |
Tăng công suất tức thời |
| Tiêu hao năng lượng (Energy) |
Cơ sở |
Giảm 2.3 lần |
Tiết kiệm năng lượng do giảm số chu kỳ |
Những đóng góp chính của đề tài bao gồm:
- Hiện thực hóa một vi kiến trúc mở rộng vector tương thích với lõi vi xử lý CVA5 mã nguồn mở, khai thác tốt cơ chế thực thi đa làn song song và kỹ thuật lượng tử hóa dữ liệu số nguyên (INT8/INT16).
- Xây dựng giải pháp phần cứng - phần mềm đồng bộ (Co-design), từ bộ tăng tốc phần cứng (ALU, MAC, VRF, Renamer) đến luồng phần mềm chuyển đổi mô hình suy luận viết bằng C nhúng tập lệnh vector.
- Chứng minh tính khả thi của việc tăng tốc suy luận mạng nơ-ron trên nền tảng RISC-V SoC với mức cải thiện hiệu năng vượt trội và giảm tổng năng lượng tiêu thụ tổng thể.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên các nhận xét đánh giá của Giảng viên hướng dẫn và Giảng viên phản biện trong văn bản:
- Hạn chế về triển khai thực tế: Hệ thống mới dừng lại ở bước mô phỏng kiểm tra chức năng (Functional Simulation) và tổng hợp logic trên công cụ Vivado, chưa được nạp và chạy thực nghiệm trực tiếp trên bo mạch phần cứng thực tế ZedBoard FPGA. Do đó, độ tin cậy và tính ổn định vật lý của hệ thống chưa được kiểm chứng đầy đủ.
- Hạn chế về tối ưu tài nguyên: Bộ tăng tốc vector làm tăng tài nguyên phần cứng lên 8.6 lần, vi kiến trúc chưa được tối ưu hóa sâu để tiết kiệm diện tích logic (LUT/FF) trên FPGA.
- Hạn chế về đánh giá đối chuẩn: Đề tài chưa thực hiện so sánh, đối chuẩn toàn diện với các kiến trúc bộ tăng tốc AI trên RISC-V khác đã công bố trong các nghiên cứu liên quan.
- Hạn chế về ứng dụng: Hệ thống chưa được kiểm thử mở rộng trên các ứng dụng IoT hoặc các mô hình mạng nơ-ron đa dạng khác ngoài bài toán phân loại ảnh chữ số viết tay MNIST.
Hướng nghiên cứu tiếp theo được xác định là: Tối ưu hóa mức sử dụng tài nguyên của khối xử lý vector, nạp và xác thực hoàn chỉnh trên phần cứng ZedBoard FPGA, mở rộng tập lệnh và thử nghiệm hệ thống trên các mô hình ứng dụng IoT thực tế.
Giá trị tham khảo
Đồ án là tài liệu tham khảo chuyên môn hữu ích cho:
- Sinh viên và học viên cao học chuyên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Thông tin đang thực hiện đồ án, luận văn liên quan đến thiết kế hệ thống số, vi kiến trúc vi xử lý RISC-V, SoC trên FPGA.
- Các kỹ sư thiết kế phần cứng quan tâm đến phương pháp tích hợp khối đồng xử lý vector vào các lõi vi xử lý đường ống mở (như CVA5) và kỹ thuật thiết kế bộ đổi tên thanh ghi (Renamer), hàng đợi dữ liệu và bộ nhớ thanh ghi vector (VRF).
- Các nhà nghiên cứu về giải pháp tối ưu hóa phần cứng cho AI (Hardware Acceleration for AI/TinyML) quan tâm đến kỹ thuật lượng tử hóa Affine fixed-point kết hợp sắp xếp dữ liệu bộ nhớ Im2Col để tăng tốc mạng nơ-ron tích chập.
Câu hỏi thường gặp
1. Đề tài lựa chọn lõi vi xử lý RISC-V nào để phát triển bộ tăng tốc và lý do lựa chọn là gì?
Nhóm tác giả lựa chọn lõi vi xử lý CVA5 (hỗ trợ tập lệnh RV32IMA). Lý do lựa chọn là vì CVA5 sở hữu cấu trúc đường ống phân rã (Decoupled Pipeline) với các khối thực thi độc lập, chia sẻ giao diện điều khiển chuẩn hóa (ready/new_request tại issue logic và done/accepted tại writeback mux), giúp việc tích hợp thêm các khối chức năng tùy biến như bộ xử lý vector trở nên dễ dàng mà không làm thay đổi cấu trúc lõi cơ bản.
2. Kỹ thuật lượng tử hóa nào được áp dụng và cách chuyển đổi toán học được thực hiện ra sao?
Đề tài áp dụng kỹ thuật lượng tử hóa Affine không đối xứng từ TensorFlow Lite để chuyển đổi dữ liệu từ số thực FP32 sang số nguyên INT8/INT16 theo công thức $r = S(q - Z)$. Hệ số tỉ lệ nhân $M$ được biểu diễn dưới dạng fixed-point $M = 2^{-n} M_0$ với $M_0 \in [0.5, 1)$, cho phép toàn bộ phép tính tích chập và nhân ma trận được thực thi bằng số học nguyên và phép dịch bit phải ($n$-bit shift), loại bỏ nhu cầu sử dụng phần cứng tính toán dấu phẩy động phức tạp.
3. Khối đổi tên thanh ghi (Vector Renamer) giải quyết vấn đề gì trong kiến trúc CVA5-Vector?
Vector Renamer có nhiệm vụ giải quyết xung đột phụ thuộc dữ liệu giả (False Dependency) khi cùng một thanh ghi đích logic được sử dụng bởi nhiều lệnh vector đang trong quá trình thực thi trên đường ống (in-flight). Khối này sử dụng danh sách thanh ghi rỗi (Free_list) và bảng đặc tả nhóm (Spec_table) để ánh xạ các địa chỉ thanh ghi ảo thành các địa chỉ thanh ghi vật lý riêng biệt trong tập 64 thanh ghi vật lý của hệ thống.
4. Kết quả thực nghiệm trên tập dữ liệu MNIST cho thấy hiệu năng và mức tiêu thụ năng lượng thay đổi như thế nào?
Khi chạy mô hình suy luận CNN trên tập dữ liệu MNIST, hệ thống CVA5-Vector-SoC đạt độ chính xác 97.37%. Tốc độ thực thi được cải thiện xấp xỉ 10 lần so với hệ thống vô hướng CVA5-SoC nguyên bản. Mặc dù công suất tiêu thụ tức thời tăng 1.4012 lần và tài nguyên phần cứng tăng 8.6 lần, tổng năng lượng tiêu hao cho toàn bộ quá trình xử lý giảm được 2.3 lần nhờ thời gian thực thi giảm mạnh.
5. Đồ án đã hoàn thành việc kiểm thử trên bo mạch phần cứng thực tế hay chưa?
Theo nhận xét của Giảng viên hướng dẫn (PGS. Trần Ngọc Thịnh) và Giảng viên phản biện (PGS. Phạm Quốc Cường), hệ thống đã hoàn thành việc thiết kế mô hình RTL, chạy mô phỏng chính xác trên GTKWave và phân tích tổng hợp trên công cụ Vivado, nhưng chưa được nạp và kiểm thử thực tế trên bo mạch phần cứng ZedBoard FPGA.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Lý Đăng Khoa và Lê Nguyễn Tân Lộc đã nghiên cứu và hiện thực hóa thành công thiết kế bộ tăng tốc AI dạng vector tích hợp vào lõi vi xử lý RISC-V CVA5. Bằng việc kết hợp kiến trúc xử lý vector đa làn với phương pháp lượng tử hóa Affine số nguyên, hệ thống CVA5-Vector-SoC đạt độ chính xác 97.37% trên tập dữ liệu MNIST, tăng tốc độ tính toán xấp xỉ 10 lần và tiết kiệm 2.3 lần tổng năng lượng tiêu thụ so với lõi vô hướng. Đồ án đóng góp một giải pháp thiết kế đồng bộ phần cứng - phần mềm có giá trị tham khảo cao trong lĩnh vực vi kiến trúc bộ xử lý và tăng tốc phần cứng cho trí tuệ nhân tạo trên FPGA.