Giới thiệu dự án

Sự bùng nổ của mạng lưới Internet vạn vật (IoT) với hơn 27 tỷ thiết bị kết nối trên toàn cầu đã đặt ra thách thức chưa từng có về an toàn thông tin và hiệu năng tính toán tại biên (Edge Computing). Các hệ thống nhúng truyền thống sử dụng vi điều khiển (MCU) thường phải đối mặt với bài toán nan giải: thực thi các thuật toán mật mã đối xứng như AES (Advanced Encryption Standard) bằng phần mềm gây chiếm dụng từ 60% đến 80% tài nguyên CPU, làm tăng độ trễ và tiêu thụ năng lượng đáng kể. Đồng thời, việc phụ thuộc vào các kiến trúc tập lệnh độc quyền (như ARM Cortex-M/A hay x86) tạo ra rào cản lớn về chi phí bản quyền IP (Intellectual Property) và hạn chế khả năng tùy biến phần cứng chuyên dụng.

Đồ án tốt nghiệp Kỹ sư Kỹ thuật Máy tính với đề tài "Thiết Kế và Tích Hợp RISC-V với Khối Bảo Mật trên FPGA" (Implement RISC-V and Integrate with Security Block on FPGA) được thực hiện nhằm giải quyết trực tiếp bài toán này bằng cách kết hợp sức mạnh của kiến trúc tập lệnh mở RISC-V (RV32ID) với bộ tăng tốc phần cứng mật mã AES-128 thông qua chuẩn giao tiếp công nghiệp AMBA AXI4 trên nền tảng FPGA Xilinx Virtex-7.

+-------------------------------------------------------------------------+
|                              HỆ THỐNG SOC TÍCH HỢP                      |
|                                                                         |
|  +---------------------------+             +--------------------------+ |
|  |     RISC-V CPU CORE       |             |   AES-128 SECURITY IP    | |
|  |  - Pipeline 5 tầng        |             |  - 10 Rounds Enc/Dec     | |
|  |  - RV32I (Integer ALU)    |             |  - Key Expansion 128-bit | |
|  |  - Ext D (IEEE-754 FPU)   |             |  - S-Box / Inv S-Box     | |
|  +-------------+-------------+             +------------+-------------+ |
|                | (Master)                               | (Slave)       |
|  ==============v========================================v=============  |
|                         AMBA AXI4 INTERCONNECT BUS                      |
|  ======================+=========================+====================  |
|                        | (Slave)                 | (Slave)              |
|          +-------------v-------------+     +-----v--------------------+ |
|          |    SYSTEM CACHE & CDMA    |     |  MIG 7-SERIES (SDRAM)    | |
|          +---------------------------+     +--------------------------+ |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thiết kế vi xử lý RISC-V 32-bit (RV32ID) hoàn chỉnh với đường ống 5 tầng (IF, ID, EX, MEM, WB), tích hợp bộ xử lý số nguyên (ALU 32-bit) và bộ tính toán dấu chấm động độ chính xác kép (FPU 64-bit tuân thủ chuẩn IEEE-754).
  2. Hiện thực hóa bộ tăng tốc phần cứng AES-128 độc lập, hỗ trợ cả hai luồng mã hóa (Encryption) và giải mã (Decryption) với cấu trúc mở rộng khóa tự động.
  3. Đóng gói lõi RISC-V thành Master IP theo chuẩn AMBA AXI4, thiết lập kết nối bus hiệu năng cao với các khối Slave: AES-128 IP, Memory Interface Generator (MIG 7-Series DDR3), CDMA và AXI BRAM Controller.
  4. Tối ưu hóa hệ thống bằng System Cache IP nhằm giảm độ trễ truy xuất bộ nhớ ngoài, kiểm tra và xác thực chức năng trên phần mềm Xilinx Vivado 2021.2 và kit phát triển FPGA Virtex-7.

Phạm vi và giới hạn

  • Kiến trúc ISA: Triển khai tập lệnh RV32I kết hợp phần mở rộng Double-Precision Floating-Point (Extension D) với tổng số 66 lệnh cơ bản và mở rộng.
  • Bảo mật: Mã hóa khối đối xứng AES độ dài khóa 128-bit (10 vòng biến đổi).
  • Phần cứng mục tiêu: FPGA Xilinx Virtex-7 (XC7VX485T), mô tả phần cứng bằng ngôn ngữ Verilog HDL (IEEE 1364-2001).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí phân tích Software-based AES (MCU truyền thống) Dedicated Crypto ASIC Hệ thống đề xuất (RISC-V + AES AXI4)
Hiệu năng xử lý Thấp (hàng nghìn chu kỳ/khối) Cực cao (1 chu kỳ/khối) Cao (11 chu kỳ/khối 128-bit)
Chi phí bản quyền Cao (ARM Royalty/License) Rất cao (NRE, Tape-out) 0 USD (Kiến trúc mở RISC-V)
Tính linh hoạt Rất cao (chỉnh sửa firmware) Không thể thay đổi Rất cao (Lập trình phần cứng/FPGA)
Tài nguyên phần cứng Thấp (chỉ cần bộ nhớ Flash/RAM) Tối ưu riêng biệt Trung bình (< 15% Virtex-7 LUTs)
Tính an toàn phần cứng Dễ tổn thương bởi Side-channel Kháng tấn công tốt Cách ly luồng xử lý qua AXI4 Bus

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have: Lõi CPU 5-stage pipeline; khối xử lý số nguyên 32-bit (32 thanh ghi); khối FPU 64-bit (32 thanh ghi FP); khối mã hóa AES-128; giao thức AXI4 Master; cơ chế giải quyết Hazard và Data Forwarding.
  • Should Have: System Cache IP để tăng tốc truy xuất SDRAM; hỗ trợ các lệnh nhảy có điều kiện không gây dừng pipeline quá 1 chu kỳ; cơ chế Dual-port Instruction Memory.
  • Could Have: Tập lệnh tùy biến riêng AES.ENAES.DE gọi trực tiếp khối mã hóa từ luồng lệnh CPU; hỗ trợ mở rộng khóa 192/256-bit.
  • Won't Have (Giai đoạn này): Bộ phận quản lý bộ nhớ phức tạp (MMU) hỗ trợ hệ điều hành Linux đầy đủ; kỹ thuật che giấu mặt nạ vật lý chống tấn công DPA (Differential Power Analysis).

Thiết kế kiến trúc hệ thống

Kiến trúc hệ thống được phân tầng rõ rệt, kết nối đồng bộ thông qua mạng giao tiếp AXI4 Interconnect:

Cơ chế giao thức AMBA AXI4 Master

Lõi vi xử lý RISC-V được bọc lớp giao tiếp AXI4 Master với 5 kênh độc lập:

  1. Write Address Channel (AW): Gửi địa chỉ ghi (awaddr), mã định danh giao dịch (awid), độ dài burst (awlen).
  2. Write Data Channel (W): Gửi luồng dữ liệu (wdata), tín hiệu kiểm soát byte (wstrb), cờ kết thúc (wlast).
  3. Write Response Channel (B): Nhận phản hồi trạng thái ghi (bresp, bvalid, bready).
  4. Read Address Channel (AR): Gửi yêu cầu địa chỉ đọc (araddr), kích thước gói (arsize).
  5. Read Data Channel (R): Nhận dữ liệu trả về từ Slave (rdata), cờ hợp lệ (rvalid, rlast).

Implementation và kết quả

Chi tiết các khối chức năng lõi (RTL Design)

1. Đường ống 5 tầng (5-Stage Pipeline) và Đơn vị Forwarding

Để đạt được hiệu năng CPI xấp xỉ 1, hệ thống triển khai pipeline 5 tầng:

  • IF (Instruction Fetch): Khối Program Counter hỗ trợ chế độ đọc Dual-port, cập nhật địa chỉ lệnh tăng 4 byte hoặc nhận địa chỉ nhảy từ khối Branch Comparator.
  • ID (Instruction Decode): Giải mã Opcode, Funct3, Funct7. Tích hợp 2 tập thanh ghi: Integer Register File (32 thanh ghi x 32-bit, thanh ghi x0 cố định bằng 0) và Floating-Point Register File (32 thanh ghi x 64-bit).
  • EX (Execution): Thực hiện các phép toán logic/số học số nguyên qua ALU và các phép tính toán dấu chấm động (cộng, trừ, nhân, chia, FMA - Fused Multiply-Add) qua FPU.
  • MEM (Memory): Xử lý căn chỉnh dữ liệu đọc/ghi byte, half-word, word (LB, LBU, LH, LHU, LW, SB, SH, SW, FLD, FSW).
  • WB (Write-Back): Bộ dồn kênh (Mux) ghi kết quả từ ALU, FPU hoặc bộ nhớ về thanh ghi đích.
// Trích đoạn Logic Forwarding Unit xử lý Data Hazard giữa Stage EX/MEM và ID
module forwarding_unit (
    input  wire [4:0]  rs1_id,
    input  wire [4:0]  rs2_id,
    input  wire [4:0]  rd_ex_mem,
    input  wire [4:0]  rd_mem_wb,
    input  wire        reg_write_ex_mem,
    input  wire        reg_write_mem_wb,
    output reg  [1:0]  forward_a,
    output reg  [1:0]  forward_b
);
    always @(*) begin
        // Forward A Logic
        if (reg_write_ex_mem && (rd_ex_mem != 5'd0) && (rd_ex_mem == rs1_id))
            forward_a = 2'b10; // Chuyển tiếp từ ngõ ra EX/MEM
        else if (reg_write_mem_wb && (rd_mem_wb != 5'd0) && (rd_mem_wb == rs1_id))
            forward_a = 2'b01; // Chuyển tiếp từ ngõ ra MEM/WB
        else
            forward_a = 2'b00; // Sử dụng giá trị trực tiếp từ Register File

        // Forward B Logic
        if (reg_write_ex_mem && (rd_ex_mem != 5'd0) && (rd_ex_mem == rs2_id))
            forward_b = 2'b10;
        else if (reg_write_mem_wb && (rd_mem_wb != 5'd0) && (rd_mem_wb == rs2_id))
            forward_b = 2'b01;
        else
            forward_b = 2'b00;
    end
endmodule

2. Khối tăng tốc mật mã AES-128

Cấu trúc phần cứng của khối AES-128 hoạt động theo nguyên lý máy trạng thái (FSM) gồm 10 vòng biến đổi:

  • Round 0 (Initial Round): Thực thi phép AddRoundKey giữa khối bản rõ 128-bit và khóa gốc.
  • Rounds 1 - 9 (Standard Rounds):
    • Mã hóa: Lần lượt qua các khối SubBytes (S-Box dựa trên bảng LUT), ShiftRows (hoán vị ma trận trạng thái 4x4), MixColumns (nhân đa thức trong trường hữu hạn Galois $GF(2^8)$), và AddRoundKey.
    • Giải mã: Thực hiện các phép nghịch đảo InvShiftRows, InvSubBytes, InvMixColumns, và AddRoundKey.
  • Round 10 (Final Round): Bỏ qua bước MixColumns/InvMixColumns, xuất dữ liệu bản mã (Ciphertext) hoặc bản rõ (Plaintext).
          +-------------------------------------------------------------+
          |                  QUY TRÌNH MÃ HÓA AES-128                   |
          +-------------------------------------------------------------+

             Plaintext (128-bit)        Cipher Key (128-bit)
            Ciphertext (128-bit)
// Trích đoạn State Machine điều khiển 10 Round mã hóa AES-128
always @(posedge clk or posedge rst) begin
    if (rst) begin
        round_count <= 4'd0;
        aes_state   <= IDLE;
        done        <= 1'b0;
    end else begin
        case (aes_state)
            IDLE: begin
                done <= 1'b0;
                if (start_enc) begin
                    state_matrix <= plaintext ^ key_schedule[0]; // AddRoundKey 0
                    round_count  <= 4'd1;
                    aes_state    <= ROUNDS;
                end
            end
            ROUNDS: begin
                if (round_count < 4'd10) begin
                    state_matrix <= mix_columns_out ^ key_schedule[round_count];
                    round_count  <= round_count + 1'b1;
                end else begin
                    state_matrix <= shift_rows_out ^ key_schedule[10]; // Final Round
                    aes_state    <= FINISH;
                end
            end
            FINISH: begin
                ciphertext <= state_matrix;
                done       <= 1'b1;
                aes_state  <= IDLE;
            end
        endcase
    end
end

Kiểm tra và đánh giá kết quả (Testing & Validation)

1. Kiểm thử tập lệnh số học và dấu chấm động

Hệ thống được kiểm thử bằng các chương trình hợp ngữ (Assembly) chuyên biệt:

  • GCD (Greatest Common Divisor): Thuật toán tìm ước chung lớn nhất giữa hai số nguyên để kiểm tra khối rẽ nhánh và vòng lặp.
  • IEEE-754 Floating Point: Thực thi các phép tính cộng, trừ, nhân, chia số thực độ chính xác kép (Double Precision 64-bit). Kết quả tính toán trên phần cứng khớp 100% với chuẩn phần mềm tham chiếu IEEE-754 Online Tool.
# Trích đoạn Assembly kiểm tra phép tính dấu chấm động trên RV32ID
    fld  f1, 0(x10)       # Nạp số thực kép 64-bit A từ bộ nhớ vào thanh ghi f1
    fld  f2, 8(x10)       # Nạp số thực kép 64-bit B từ bộ nhớ vào thanh ghi f2
    fadd.d f3, f1, f2     # f3 = f1 + f2 (Double Precision Addition)
    fmul.d f4, f1, f2     # f4 = f1 * f2 (Double Precision Multiplication)
    fsd  f3, 16(x10)      # Lưu kết quả cộng về Data Memory
    fsd  f4, 24(x10)      # Lưu kết quả nhân về Data Memory

2. Kiểm thử mã hóa / giải mã AES-128

  • Dữ liệu kiểm tra (NIST FIPS-197 Test Vector):
    • Plaintext: 00112233445566778899aabbccddeeff
    • Key: 000102030405060708090a0b0c0d0e0f
    • Ciphertext mô phỏng: 69c4e0d86a7b0430d8cdb78070b4c55a
  • Kết quả dạng sóng trên Vivado Simulator chứng minh module AES-128 giải mã chính xác 100% dữ liệu gốc chỉ sau 11 chu kỳ xung nhịp.

3. Bảng tổng hợp tài nguyên phần cứng trên FPGA Virtex-7 (XC7VX485T)

Khối chức năng Tần số tối đa ($f_{max}$) Slice LUTs Slice Registers (FF) DSP48E1 Blocks Block RAM (BRAM) Công suất tiêu thụ (W)
RISC-V Core (RV32I) 150.0 MHz 3,245 (1.07%) 1,892 (0.31%) 0 4 0.185 W
RISC-V Core (RV32ID) 50.0 MHz 9,412 (3.10%) 4,230 (0.70%) 16 8 0.352 W
AES-128 Accelerator IP 120.0 MHz 2,830 (0.93%) 1,215 (0.20%) 0 0 0.098 W
Toàn hệ thống (SoC Block Design) 100.0 MHz / 50.0 MHz 18,520 (6.10%) 9,840 (1.62%) 16 24.5 0.845 W

Đổi mới và đóng góp

  1. Tích hợp đồng thiết kế phần cứng/phần mềm linh hoạt: Đồ án không chỉ xây dựng lõi CPU mà còn đóng gói thành công thành một thực thể IP chuẩn công nghiệp (AXI4-Master Compatible), cho phép cắm-và-chạy (Plug-and-Play) với bất kỳ hệ thống SoC nào trong hệ sinh thái Vivado.
  2. Cơ chế xử lý Data Hazard tối ưu cho tập lệnh dấu chấm động kép: Việc thêm 32 thanh ghi 64-bit và khối FPU thường làm tăng đáng kể độ trễ đường dẫn tới hạn (Critical Path Delay). Nhóm nghiên cứu đã thiết kế mạng logic Forwarding 5 ngõ vào (rs1_IRF, rs2_IRF, rs1_FRF, rs2_FRF, rs3_FRF) giúp triệt tiêu hoàn toàn các bế tắc dữ liệu (Data Hazards) mà không cần chèn quá nhiều chu kỳ NOP (No-Operation).
  3. Hiệu quả xử lý mật mã vượt bậc: Khối AES-128 phần cứng thực hiện mã hóa một khối 128-bit trong 11 chu kỳ xung nhịp, tăng tốc độ xử lý gấp 65 lần so với việc chạy thuật toán AES bằng mã C/Assembly thuần túy trên vi điều khiển 32-bit cùng xung nhịp.
  4. Độc lập công nghệ và nguồn mở hoàn toàn: Đồ án tạo ra một nền tảng SoC hoàn chỉnh, có thể triển khai trên nhiều họ FPGA khác nhau (Artix-7, Kintex-7, Virtex-7, Zynq-7000) mà không tốn chi phí cấp phép kiến trúc từ bên thứ ba.

Ứng dụng thực tế và triển khai

+-------------------------------------------------------------------------+
|                  CÁC KỊCH BẢN ỨNG DỤNG THỰC TẾ CỦA HỆ THỐNG             |
+-------------------------------------------------------------------------+

   [ IoT Edge Gateway ]         [ Secure Smart Grid ]       [ Thiết Bị Y Tế IoMT ]

Kịch bản ứng dụng cụ thể

  • Edge Gateway trong Công nghiệp 4.0: Xử lý dữ liệu biên từ hàng trăm cảm biến công nghiệp, thực hiện lọc số liệu với độ chính xác cao bằng khối FPU 64-bit, sau đó mã hóa gói tin bằng khối AES-128 trước khi truyền qua mạng Ethernet/Wireless.
  • Hệ thống thanh toán nhúng bảo mật (Secure POS Terminal): Bảo vệ dữ liệu giao dịch tài chính tại phần cứng, ngăn chặn các hình thức tấn công can thiệp bộ nhớ nhờ cơ chế phân vùng địa chỉ AXI4 bảo mật.

Yêu cầu triển khai và khả năng mở rộng

  • Yêu cầu phần cứng: Kit phát triển FPGA Xilinx Virtex-7 (hoặc tương đương hỗ trợ tối thiểu 20,000 LUTs, 16 DSP blocks), bộ nhớ DDR3 ngoài từ 512MB trở lên.
  • Yêu cầu phần mềm: Xilinx Vivado Design Suite phiên bản 2021.2 trở lên, toolchain biên dịch chéo riscv32-unknown-elf-gcc.
  • Khả năng mở rộng:
    • Dễ dàng tích hợp thêm các khối mã hóa khác như ECC (Elliptic Curve Cryptography) hoặc hàm băm SHA-256/SHA-3 vào bus AXI4.
    • Nâng cấp khối AES lên kiến trúc Pipelined AES để đạt thông lượng hàng chục Gigabit/giây (Gbps).

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Giảm tần số hoạt động khi tích hợp FPU: Tần số hoạt động của lõi CPU giảm từ 150 MHz (chỉ có RV32I) xuống 50 MHz (khi tích hợp thêm RV32D). Nguyên nhân chính là do đường dẫn trễ tới hạn trong các phép toán nhân/chia số thực kép 64-bit chưa được chia nhỏ thành các tầng pipeline phụ.
  2. Kiến trúc AES dạng Iterative: Khối AES-128 hiện tại xử lý 1 vòng trên 1 chu kỳ xung nhịp (mất 10-11 chu kỳ/khối), chưa đạt mức thông lượng tối đa của kiến trúc Pipelined hoàn toàn (1 khối/chu kỳ).
  3. Bộ nhớ Cache chưa hỗ trợ cơ chế Write-Back phức tạp: Đồ án dựa chủ yếu vào System Cache IP có sẵn của Xilinx thay vì tự phát triển lõi L1/L2 Cache chuyên biệt trong RTL.

Hướng phát triển tương lai

  • Pipeline hóa bộ FPU: Chia nhỏ khối tính toán FPU 64-bit thành 3-4 tầng pipeline nội bộ để nâng tần số hoạt động của hệ thống RV32ID lên trên 120 MHz.
  • Mở rộng tập lệnh RISC-V Crypto (Zkn / Zks Extensions): Tích hợp trực tiếp các lệnh mật mã chuẩn của tổ chức RISC-V International vào đường giải mã ID của CPU.
  • Phát triển cơ chế bảo vệ phần cứng nâng cao: Tích hợp khối PUF (Physical Unclonable Function) để tạo khóa ngẫu nhiên phần cứng và thiết kế mạch logic cân bằng điện năng chống tấn công kênh kề (DPA Countermeasures).

Đối tượng hưởng lợi

+----------------------------------------------------------------------------+
|                          ĐỐI TƯỢNG HƯỞNG LỢI                               |
+----------------------------------------------------------------------------+
|                                                                            |
|                                                                            |
|                                                                            |
|                             Materials (BOM) và điện năng tiêu thụ          |
|                                                                            |
|                                                                            |
+----------------------------------------------------------------------------+
  • Sinh viên & Học viên cao học: Đồ án cung cấp tài liệu tham khảo chi tiết, minh họa rõ ràng từ lý thuyết kiến trúc máy tính đến thực thi Verilog HDL thực tế trên FPGA.
  • Kỹ sư thiết kế phần cứng / FPGA: Nắm bắt phương pháp đóng gói IP Master/Slave theo chuẩn AMBA AXI4, cách thức giao tiếp với bộ nhớ DDR3 qua MIG IP và xử lý Hazard phức tạp.
  • Doanh nghiệp sản xuất thiết bị IoT: Có được giải pháp tham khảo kiến trúc SoC bảo mật cao, không phụ thuộc vào phí cấp phép của các hãng thương mại, tiết kiệm từ $50,000 - $200,000 USD chi phí bản quyền ban đầu cho mỗi dòng sản phẩm.
  • Các viện nghiên cứu vi mạch: Cung cấp lõi vi xử lý mở để phát triển các nghiên cứu chuyên sâu về mật mã hậu lượng tử (Post-Quantum Cryptography) trên nền tảng RISC-V.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai và chạy mô phỏng thiết kế này là gì?

Hệ thống yêu cầu máy tính cài đặt hệ điều hành Linux (Ubuntu 20.04/22.04 LTS khuyến nghị) hoặc Windows 10/11 64-bit, RAM tối thiểu 16GB, cài đặt bộ phần mềm Xilinx Vivado Design Suite 2021.2 trở lên. Để chạy trên phần cứng thực tế, cần kit FPGA hỗ trợ chuẩn giao tiếp bộ nhớ DDR3 như Xilinx Virtex-7 (VC707) hoặc Kintex-7 (KC705).

2. Tại sao tần số hoạt động của lõi CPU giảm từ 150 MHz xuống 50 MHz khi thêm phần mở rộng D (Floating-Point)?

Phần mở rộng D xử lý các số thực độ chính xác kép 64-bit theo chuẩn IEEE-754. Bộ FPU chứa các phép toán nhân/chia ma trận số thực có đường trễ logic tổ hợp (Combinational Path Delay) rất dài. Khi FPU được đặt trong tầng Execute (EX) mà không được chia thành nhiều tầng pipeline con, đường dẫn tới hạn dài nhất của toàn bộ hệ thống bị kéo dài, buộc xung nhịp clock tối đa ($f_{max}$) phải giảm từ 150 MHz xuống 50 MHz để đảm bảo thỏa mãn ràng buộc Timing (Setup/Hold Time).

3. Làm thế nào để CPU ra lệnh cho khối AES-128 thực hiện mã hóa thông qua giao thức AXI4?

CPU đóng vai trò là AXI4 Master. Khi cần mã hóa, CPU gửi lệnh ghi dữ liệu qua kênh Write AddressWrite Data đến dải địa chỉ ánh xạ bộ nhớ (Memory-Mapped I/O) của khối AES-128 Slave IP. Dữ liệu gồm: Khóa 128-bit (4 thanh ghi 32-bit), Bản rõ 128-bit (4 thanh ghi 32-bit) và ghi bit Start vào thanh ghi điều khiển. Sau 11 chu kỳ, khối AES hoàn thành và bật cờ Done, CPU đọc kết quả bản mã 128-bit từ thanh ghi ngõ ra của AES IP thông qua kênh Read AddressRead Data của bus AXI4.

4. Hệ thống giải quyết hiện tượng xung đột dữ liệu (Data Hazard) trong pipeline như thế nào?

Đồ án tích hợp đơn vị chuyển tiếp dữ liệu (Forwarding Unit) kết hợp với khối phát hiện nguy hiểm (Hazard Detection Unit). Khi lệnh ở tầng sau cần giá trị của thanh ghi đang được tính toán bởi lệnh ở tầng trước (nhưng chưa kịp ghi vào Register File ở tầng WB), Forwarding Unit sẽ lấy trực tiếp kết quả từ đầu ra của tầng EX/MEM hoặc MEM/WB đưa về đầu vào của tầng EX. Trong trường hợp xảy ra Load-Use Hazard, Hazard Unit sẽ tự động chèn 1 chu kỳ trễ (Bubble/Stall) và tạm giữ giá trị Program Counter.

5. Chi phí triển khai và tiềm năng thương mại hóa của hệ thống SoC này như thế nào?

Việc sử dụng kiến trúc RISC-V hoàn toàn miễn phí bản quyền giúp giảm triệt để chi phí cấp phép định kỳ (Royalties). Trên FPGA, toàn bộ SoC chỉ chiếm khoảng 6.1% tài nguyên logic của chip Virtex-7, cho phép dễ dàng chuyển đổi (Porting) xuống các dòng FPGA giá rẻ như Xilinx Artix-7 (giá thành chip < 50 USD) để thương mại hóa quy mô lớn trong các thiết bị Edge Gateway bảo mật.


Kết luận

Đồ án tốt nghiệp "Thiết Kế và Tích Hợp RISC-V với Khối Bảo Mật trên FPGA" đã hoàn thành xuất sắc các mục tiêu nghiên cứu và hiện thực hóa phần cứng đề ra. Đề tài đã xây dựng thành công lõi vi xử lý RV32ID với cấu trúc pipeline 5 tầng chuẩn mực, tích hợp đầy đủ khả năng tính toán số thực dấu chấm động 64-bit IEEE-754 và bộ tăng tốc mật mã phần cứng AES-128 hiệu năng cao (11 chu kỳ/khối).

Việc đóng gói vi xử lý thành Master IP theo chuẩn công nghiệp AMBA AXI4 cùng khả năng kết nối đồng bộ với System Cache, CDMA và MIG 7-Series DDR3 chứng minh tính khả thi, độ tin cậy và khả năng mở rộng vượt trội của giải pháp. Đây là nền tảng công nghệ vững chắc, đóng góp trực tiếp vào định hướng tự chủ thiết kế vi mạch bảo mật và hệ thống nhúng thông minh tại Việt Nam.

[!TIP] Bạn có thể sử dụng lệnh /plan để lập kế hoạch chi tiết từng bước nâng cấp lõi RISC-V lên kiến trúc 64-bit (RV64GC) hoặc sử dụng lệnh /boost để nghiên cứu sâu các giải pháp chống tấn công kênh kề (Side-Channel Attack) cho bộ tăng tốc mật mã phần cứng.