Giới thiệu dự án
Sự bùng nổ của Internet vạn vật (IoT) và các hệ thống nhúng thông minh đã tạo ra mạng lưới kết nối hàng chục tỷ thiết bị trên toàn cầu. Tuy nhiên, phần lớn các thiết bị biên (edge devices) như cảm biến công nghiệp, vi điều khiển RFID, thiết bị y tế đeo tay hay camera giám sát đều bị giới hạn nghiêm ngặt về năng lượng, diện tích phần cứng và năng lực xử lý. Các chuẩn mã hóa truyền thống như AES (Advanced Encryption Standard) hay RSA đòi hỏi tài nguyên tính toán lớn, dẫn đến việc nhiều thiết bị biên phải vận hành với cơ chế bảo mật tối thiểu hoặc không mã hóa, trở thành mục tiêu của các cuộc tấn công mạng.
Nhằm giải quyết vấn đề này, Viện Tiêu chuẩn và Kỹ thuật Quốc gia Hoa Kỳ (NIST) đã triển khai chương trình chuẩn hóa Mật mã học nhẹ (Lightweight Cryptography - LWC) và chính thức chọn họ giải thuật ASCON làm tiêu chuẩn bảo mật cho các hệ thống hạn chế tài nguyên. Đề tài "High-Throughput RISC-V Based Cryptographic Co-Processor for Lightweight Cryptography" (Thiết kế bộ đồng xử lý mật mã học nhẹ thông lượng cao dựa trên kiến trúc RISC-V) tập trung hiện thực hóa giải pháp tăng tốc phần cứng có khả năng tùy biến cao, giải quyết triệt để bài toán thắt nút cổ chai về hiệu năng trên thiết bị biên.
+-----------------------------------------------------------------------------+
| HỆ THỐNG SOC |
| |
| +--------------------+ AXI4 Interconnect +-----------------+ |
| | Main CPU | <============================> | RISC-V Crypto | |
| | (ARM Cortex-A53) | (Address/Data Channels: 64-bit)| Co-Processor | |
| +--------------------+ +-----------------+ |
| |
+-----------------------------------------------------------------------------+
Mục tiêu đề tài
- Thiết kế vi kiến trúc RISC-V 5 tầng pipeline hỗ trợ tập lệnh số nguyên cơ bản RV32I và RV64I, vận hành ổn định tại tần số đích 250 MHz trên nền tảng FPGA.
- Phát triển kiến trúc Dual-ALU 32-bit cho phép thực thi song song hai luồng dữ liệu 32-bit độc lập trên đường truyền dữ liệu 64-bit, nhân đôi thông lượng xử lý các phép toán logic/số học.
- Thiết kế khối Crypto ALU chuyên dụng tích hợp tập lệnh mở rộng tùy chỉnh (Custom Instructions), tối ưu hóa các phép toán xoay bit, hoán vị và thay thế phi tuyến tính cho 5 giải thuật LWC cốt lõi: ASCON, GIFT-COFB, ISAP, SPARKLE, TINY JAMBU cùng các giải thuật phụ trợ SHA-256 và AES.
- Tích hợp khối tăng tốc phần cứng ASCON Round Dedicated Unit liên kết trực tiếp với Register File 320-bit, thực thi trọn vẹn một vòng hoán vị $ASCON\text{-}p$ chỉ trong 1 chu kỳ xung nhịp.
- Hiện thực và kiểm chứng hệ thống SoC trên kit FPGA cao cấp Xilinx Zynq UltraScale+ MPSoC ZCU102, đánh giá hiệu năng thực tế thông qua giao thức truyền thông AXI SmartConnect và hệ thống giám sát Integrated Logic Analyzer (ILA).
Phạm vi và giới hạn
- Tập lệnh: Hỗ trợ RV32I và RV64I; không tích hợp đơn vị tính toán dấu chấm động (FPU) hay các phép nhân/chia phần cứng phức tạp nhằm tiết kiệm tối đa diện tích logic (gate count).
- Giải thuật hỗ trợ: 5 giải thuật chuẩn hóa LWC (ASCON, GIFT-COFB, ISAP, SPARKLE, TINY JAMBU) cùng SHA-256 và AES.
- Nền tảng kiểm chứng: Phần cứng FPGA Xilinx Zynq UltraScale+ MPSoC ZCU102, tần số hoạt động 250 MHz.
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 mềm thuần (ARM Cortex-M/A) |
Phần cứng chuyên dụng (Dedicated ASIC/FPGA) |
Bộ đồng xử lý RISC-V đề xuất |
| Tính linh hoạt |
Rất cao (thay đổi mã nguồn) |
Cố định (không thể nâng cấp thuật toán) |
Rất cao (lập trình lại qua phần mềm + custom ISA) |
| Thông lượng (Throughput) |
Thấp - Trung bình |
Rất cao |
Cao - Rất cao |
| Chi phí diện tích logic |
Tận dụng vi xử lý có sẵn |
Rất lớn nếu hỗ trợ đa thuật toán |
Tối ưu hóa nhờ tái sử dụng datapath và Register File |
| Khả năng nâng cấp |
Dễ dàng |
Không thể |
Dễ dàng (hỗ trợ thêm custom instruction) |
Nghiên cứu của Stefan Steinegger và Robert Primas (2020) đã chứng minh khối phần cứng $ASCON\text{-}p$ gắn liền Register File tăng tốc 50 lần, nhưng chỉ hỗ trợ đơn giải thuật ASCON. Nghiên cứu của Hao Cheng cùng cộng sự (2023) áp dụng phần mở rộng Zbkb/Zbkx trên RISC-V đã giảm chu kỳ thực thi từ 1.4 đến 270 lần nhưng vẫn phụ thuộc vào giải thuật tối ưu phần mềm. Đề tài này lấp đầy khoảng trống nghiên cứu bằng cách kết hợp: kiến trúc xử lý song song Dual-ALU, tập lệnh mở rộng cho đa thuật toán LWC, và khối phần cứng chuyên biệt cho ASCON.
+---------------------------------------------------------------------------------------+
| YÊU CẦU HỆ THỐNG (MoSCoW) |
+---------------------------------------------------------------------------------------+
| [M] MUST HAVE : Pipeline 5 tầng, AXI Interface, Custom Instructions cho 5 thuật toán |
| [S] SHOULD HAVE: Khối tăng tốc ASCON Round 1 chu kỳ, Dual-ALU song song |
| [C] COULD HAVE : Mở rộng hỗ trợ SHA-256, AES-128 |
| [W] WON'T HAVE : Đơn vị tính toán dấu chấm động (FPU), tập lệnh Vector RVV |
+---------------------------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc bộ đồng xử lý được thiết kế theo mô hình pipeline 5 tầng kinh điển: Instruction Fetch (IF) $\rightarrow$ Instruction Decode (ID) $\rightarrow$ Execution (EX) $\rightarrow$ Memory Access (MEM) $\rightarrow$ Write Back (WB).
graph LR
IF[Instruction Fetch] --> ID[Instruction Decode]
ID --> EX[Execute: Dual-ALU / Crypto ALU / ASCON Unit]
EX --> MEM[Data Memory / Load-Store Control]
MEM --> WB[Write Back & Register File]
WB -. Feedback .-> IF
+-------------------------------------------------------------------------------+
| EXECUTION STAGE |
| |
| +---------------------------------------+ |
| Operand 1 [63:0] | Dual-ALU | |
| ----------------> | - ALU High [63:32]: Thread 2 | ====> Out [63:0] |
| Operand 2 [63:0] | - ALU Low [31:0] : Thread 1 | |
| +---------------------------------------+ |
| |
| +---------------------------------------+ |
| Operand 1 [63:0] | Crypto ALU | |
| ----------------> | - S-Box / Linear Permutation | ====> Out [63:0] |
| Operand 2 [63:0] | - GIFT, SPARKLE, TinyJambu, SHA-256 | |
| +---------------------------------------+ |
| |
| +---------------------------------------+ |
| State [319:0] | ASCON Round Unit | |
| ----------------> | - Const Addition + S-Box + Linear | ====> Out [319:0] |
| | - 1 Cycle per Round | |
| +---------------------------------------+ |
+-------------------------------------------------------------------------------+
Ngăn xếp công nghệ và thông số cấu hình
- Ngôn ngữ mô tả phần cứng: Verilog HDL (IEEE 1364-2001) / SystemVerilog.
- Công cụ tổng hợp và mô phỏng: AMD Xilinx Vivado Design Suite v2022.2 / v2023.1.
- Phần cứng đích: Xilinx Zynq UltraScale+ MPSoC ZCU102 (Chip XCZU9EG-2FFVB1156E).
- Chuỗi công cụ phần mềm: GNU Toolchain
riscv64-unknown-elf-gcc tùy biến bảng opcode.
- Giao thức kết nối Bus: AXI4 (Advanced eXtensible Interface) 5 kênh phân tách độc lập.
+-------------------------------------------------------------------------------+
| AXI4 BUS PROTOCOL CHANNELS |
+-------------------------------------------------------------------------------+
| 1. Read Address (AR) : Master -> Slave (Địa chỉ đọc & tín hiệu điều khiển) |
| 2. Read Data (R) : Slave -> Master (Dữ liệu đọc & tín hiệu phản hồi) |
| 3. Write Address (AW) : Master -> Slave (Địa chỉ ghi & tín hiệu điều khiển) |
| 4. Write Data (W) : Master -> Slave (Dữ liệu ghi & Strobes) |
| 5. Write Response (B) : Slave -> Master (Phản hồi hoàn tất transaction) |
+-------------------------------------------------------------------------------+
Thiết kế Register File mở rộng
Bên cạnh 32 thanh ghi đa dụng 64-bit chuẩn ($x_0 - x_{31}$), Register File được thiết kế giao tiếp song song 320-bit ($5 \times 64\text{-bit}$ words $x_0, x_1, x_2, x_3, x_4$) để nạp trực tiếp toàn bộ ma trận trạng thái của giải thuật ASCON vào khối ASCON Round Unit mà không phát sinh độ trễ truy xuất bộ nhớ ngoài.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng phương pháp luận Phần cứng - Phần mềm đồng thiết kế (Hardware/Software Co-Design):
- Phân tích thuật toán: Lập hồ sơ profiling mã nguồn C của các giải thuật mật mã để xác định các khối lệnh tốn nhiều chu kỳ nhất (vòng lặp hoán vị bit, S-Box, hàm khuếch tán tuyến tính).
- Đặc tả tập lệnh tùy chỉnh (Custom ISA): Thiết kế định dạng lệnh R-type / I-type mở rộng trong không gian
custom-0 và custom-1 của RISC-V.
- Mô hình hóa RTL & Tối ưu Datapath: Hiện thực hóa phần cứng khối Dual-ALU, Crypto ALU và ASCON Round Unit.
- Kiểm tra và xác thực tự động: Sử dụng Vivado Simulator đối chiếu từng vector kiểm tra chuẩn (Known Answer Test - KAT) do NIST công bố.
- Hiện thực trên FPGA & Giám sát phần cứng: Đóng gói bộ đồng xử lý thành IP CGRA, tích hợp vào Block Design với ARM Core qua AXI SmartConnect, sử dụng System ILA bắt tín hiệu thực tế.
Implementation và kết quả
Chi tiết giải thuật và mã nguồn phần cứng
1. Vi kiến trúc Dual-ALU 32-bit
Thay vì bỏ phí 32 bit cao khi thực thi các lệnh tính toán 32-bit (như addw, subw, sllw) trên vi kiến trúc 64-bit, khối Dual-ALU tận dụng toàn bộ 64 bit của datapath để xử lý đồng thời 2 luồng dữ liệu:
module dual_alu_32bit (
input wire [63:0] operand_a,
input wire [63:0] operand_b,
input wire [3:0] alu_ctrl,
input wire mode_dual_32, // 1: Dual 32-bit, 0: Standard 64-bit
output reg [63:0] alu_result
);
wire [31:0] res_low;
wire [31:0] res_high;
// Luồng dữ liệu thấp: bit [31:0]
alu_core_32 u_alu_low (
.a(operand_a[31:0]),
.b(operand_b[31:0]),
.op(alu_ctrl),
.out(res_low)
);
// Luồng dữ liệu cao: bit [63:32]
alu_core_32 u_alu_high (
.a(operand_a[63:32]),
.b(operand_b[63:32]),
.op(alu_ctrl),
.out(res_high)
);
always @(*) begin
if (mode_dual_32) begin
alu_result = {res_high, res_low}; // Xử lý song song 2 luồng
end else begin
// Chế độ 64-bit tiêu chuẩn
alu_result = res_64bit_calc(operand_a, operand_b, alu_ctrl);
end
end
endmodule
2. Tùy biến tập lệnh Crypto ALU cho GCC Toolchain
Để biên dịch được các tập lệnh tùy biến mới, bảng mã opcode của GNU GCC được bổ sung các định dạng mở rộng trong file riscv-opc.c:
// Định nghĩa Custom Instruction cho hàm sigma1 của SHA-256 và hoán vị GIFT
{"sigma1", 0, INSN_CLASS_I, "d,s", MATCH_SIGMA1, MASK_SIGMA1, match_opcode, 0},
{"gift_perm",0, INSN_CLASS_I, "d,s,t",MATCH_GIFT, MASK_GIFT, match_opcode, 0},
{"ascon_rnd",0, INSN_CLASS_I, "d,s", MATCH_ASCON, MASK_ASCON, match_opcode, 0},
Khi lập trình ứng dụng mật mã bằng ngôn ngữ C, các hàm nội tuyến (Inline Assembly) được sử dụng để gọi trực tiếp các lệnh phần cứng:
// Tối ưu hóa hàm tính toán bằng lệnh tùy biến sigma1 thay vì chuỗi 6 lệnh thông thường
static inline uint32_t custom_sigma1(uint32_t x) {
uint32_t rd;
asm volatile (
".insn r 0x0B, 0x0, 0x01, %0, %1, x0" // Custom opcode cho sigma1
: "=r" (rd)
: "r" (x)
);
return rd;
}
+---------------------------------------------------------------------------------+
| SO SÁNH MÃ NGUỒN BIÊN DỊCH |
+---------------------------------------------------------------------------------+
| Mã nguồn Assembly gốc (6 lệnh): | Mã nguồn với Custom ISA (1 lệnh): |
| sll a3, a5, 0xf | sigma1 a5, a5 |
| srl a4, a5, 0x11 | |
| or a4, a4, a3 | |
| sll a3, a5, 0xd | |
| srl a5, a5, 0x13 | |
| or a5, a5, a3 | |
+---------------------------------------------------------------------------------+
3. Khối tính toán một chu kỳ cho vòng hoán vị ASCON Round
Mỗi vòng lặp hoán vị ASCON bao gồm 3 lớp tính toán:
- Lớp cộng hằng số (Addition of Constants): $x_2 = x_2 \oplus c_r$
- Lớp phi tuyến S-Box 5-bit (Substitution Layer): Biến đổi 5 từ 64-bit ($x_0, x_1, x_2, x_3, x_4$) qua bảng S-box đại số Boolean.
- Lớp khuếch tán tuyến tính (Linear Diffusion Layer):
$$\Sigma_0(x_0) = x_0 \oplus (x_0 \ggg 19) \oplus (x_0 \ggg 28)$$
$$\Sigma_1(x_1) = x_1 \oplus (x_1 \ggg 61) \oplus (x_1 \ggg 39)$$
$$\Sigma_2(x_2) = x_2 \oplus (x_2 \ggg 1) \oplus (x_2 \ggg 6)$$
$$\Sigma_3(x_3) = x_3 \oplus (x_3 \ggg 10) \oplus (x_3 \ggg 17)$$
$$\Sigma_4(x_4) = x_4 \oplus (x_4 \ggg 7) \oplus (x_4 \ggg 41)$$
Toàn bộ 3 lớp này được tổng hợp thành một khối mạch tổ hợp tối ưu hóa đường trễ (critical path), hoàn thành tính toán trong đúng 1 chu kỳ xung nhịp 250 MHz (4.0 ns).
Kiểm nghiệm và kết quả thực nghiệm
Quá trình kiểm chứng được tiến hành song song trên phần mềm mô phỏng Vivado Simulator và phần cứng thực tế qua mạch System ILA trên bo mạch Zynq UltraScale+ ZCU102.
+-------------------------------------------------------------------------------+
| LUỒNG KIỂM THỬ VÀ XÁC THỰC PHẦN CỨNG |
| |
| [NIST Known Answer Tests] |
| | |
| v |
| [Mô phỏng Vivado RTL] ===> So khớp dữ liệu mô phỏng: 100% khớp vector mẫu |
| | |
| v |
| [Nạp Bitstream lên ZCU102] |
| | |
| v |
| [Chạy thực thi qua ARM A53] ===> Kích hoạt DMA nạp dữ liệu AXI |
| | |
| v |
| [Bắt tín hiệu bằng System ILA] ===> Xác nhận kết quả ngõ ra Data_out & Finish|
+-------------------------------------------------------------------------------+
Kết quả tài nguyên chiếm dụng trên FPGA ZCU102
Bộ đồng xử lý đạt tần số hoạt động danh định 250 MHz với thời gian trễ thỏa mãn hoàn toàn yêu cầu ràng buộc (Worst Negative Slack - WNS $> 0.12\text{ ns}$).
| Loại tài nguyên |
Sử dụng |
Khả dụng trên XCZU9EG |
Tỷ lệ chiếm dụng (%) |
| LUT (Lookup Table) |
14,820 |
274,080 |
5.41% |
| LUTRAM |
1,150 |
144,000 |
0.80% |
| FF (Flip-Flop) |
18,340 |
548,160 |
3.35% |
| BRAM (Block RAM 36Kb) |
8.5 |
912 |
0.93% |
| DSP Blocks |
0 |
2,520 |
0.00% (Thuần logic số nguyên) |
Đánh giá hiệu năng và số chu kỳ xử lý (Execution Cycles)
| Thuật toán mật mã |
Kích thước dữ liệu |
Chu kỳ trên ARM Cortex-A53 |
Chu kỳ trên RISC-V Đề xuất |
Tốc độ tăng tốc (Speedup) |
| ASCON-128 |
64-byte Payload |
4,280 chu kỳ |
312 chu kỳ |
13.7x |
| GIFT-COFB |
64-byte Payload |
6,850 chu kỳ |
890 chu kỳ |
7.7x |
| ISAP-A-128A |
64-byte Payload |
5,920 chu kỳ |
540 chu kỳ |
10.9x |
| SPARKLE |
64-byte Payload |
3,460 chu kỳ |
460 chu kỳ |
7.5x |
| TINY JAMBU |
64-byte Payload |
2,890 chu kỳ |
410 chu kỳ |
7.0x |
| SHA-256 |
512-bit Block |
1,480 chu kỳ |
240 chu kỳ |
6.1x |
Đổi mới và đóng góp
- Kiến trúc song song Dual-ALU 32-bit đột phá: Giải quyết vấn đề lãng phí tài nguyên của bộ xử lý 64-bit khi chạy các thuật toán cấu hình 32-bit, giúp tăng gấp đôi thông lượng tính toán mà không cần tăng gấp đôi diện tích toàn bộ vi xử lý.
- Khối ASCON Round Unit 1 chu kỳ độc lập: Hiện thực hóa toàn bộ vòng hoán vị $ASCON\text{-}p$ 320-bit trong 1 chu kỳ máy duy nhất nhờ liên kết trực tiếp với Register File tùy biến, giảm hơn 90% số chu kỳ so với triển khai bằng phần mềm thuần.
- Bộ lệnh mở rộng đa năng cho họ LWC: Thiết kế thành công tập lệnh tùy chỉnh (Custom Instruction) bao quát 5 thuật toán LWC và SHA-256, giảm thiểu tới 83% số lệnh mã máy phát sinh trong các thao tác xoay bit và hoán vị phi tuyến.
+-------------------------------------------------------------------------------+
| SO SÁNH VỚI CÁC CÔNG TRÌNH CÔNG BỐ |
+-------------------------------------------------------------------------------+
| Công trình | Kiến trúc | Khả năng hỗ trợ LWC |
| --------------------------- | ------------------------ | -------------------- |
| Stefan Steinegger (2020) | RISC-V + ASCON-p RF | Đơn thuật toán ASCON |
| Fabio Campos (2020) | RV32IMAC (HiFive1) | Phần mềm tối ưu hóa |
| Hao Cheng (2023) | RISC-V + Zbkb/Zbkx Ext | Đa thuật toán LWC |
| **Đề tài này (2024)** | **RISC-V + Dual-ALU + | **5 thuật toán LWC + |
| | ASCON-Unit + Custom** | **SHA-256 + AES** |
+-------------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Cổng kết nối IoT thông minh (IoT Secure Gateway): Đóng vai trò bộ gia tốc phần cứng xử lý mã hóa dữ liệu hàng loạt từ hàng nghìn cảm biến công nghiệp gửi về trước khi truyền tải lên đám mây.
- Hệ thống mạng truyền thông trên ô tô (Automotive In-Vehicle CAN-FD Security): Mã hóa thời gian thực các gói tin điều khiển trên bus CAN/Ethernet với độ trễ dưới micro-giây, ngăn chặn các cuộc tấn công can thiệp vào hệ thống lái và phanh.
- Hệ thống thiết bị đeo y tế (Medical Wearables): Đảm bảo quyền riêng tư của dữ liệu sinh trắc học thời gian thực với mức tiêu thụ năng lượng cực thấp, kéo dài tuổi thọ pin thiết bị.
+-------------------------------------------------------------------------------+
| MÔ HÌNH TRIỂN KHAI THỰC TẾ TRÊN SOC |
| |
| +-----------------------------------------------------------------------+ |
| | Processing System (PS) | |
| | +-------------------------+ +---------------------------+ | |
| | | Embedded Linux OS | <==> | IoT Application / Gateway | | |
| | +-------------------------+ +---------------------------+ | |
| +-----------------------------------|-----------------------------------+ |
| | AXI4 SmartConnect (High-Speed DMA) |
| +-----------------------------------|-----------------------------------+ |
| | Programmable Logic (PL) | |
| | +-----------------------------------------------------------+ | |
| | | RISC-V Cryptographic Co-Processor IP (250 MHz) | | |
| | | [ Dual-ALU ] [ Crypto ALU ] [ ASCON-p Unit (320b) ] | | |
| | +-----------------------------------------------------------+ | |
| +-----------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------+
Hạn chế và hướng phát triển
Hạn chế hiện tại
- Kiến trúc tập lệnh mới dừng lại ở tập số nguyên cơ bản RV32I/RV64I, chưa tích hợp tập mở rộng vector chuẩn (RISC-V Vector Extension - RVV) để xử lý dữ liệu ma trận quy mô lớn hơn.
- Mạch phần cứng mới được thử nghiệm và đánh giá trên nền tảng FPGA, chưa được đo đạc năng lượng thực tế ở dạng chip vật lý ASIC (Application-Specific Integrated Circuit).
- Chưa tích hợp cơ chế chống tấn công kênh kề vật lý (Side-Channel Attack - SCA) như Masking hay DPA-Resistance ở cấp độ mạch bán dẫn.
Hướng phát triển tiếp theo
- Mở rộng kiến trúc hỗ trợ tập lệnh mật mã hậu lượng tử (Post-Quantum Cryptography - PQC) như ML-KEM (Kyber) và ML-DSA (Dilithium) theo khuyến nghị mới nhất từ NIST.
- Tiến hành thiết kế luồng vật lý ASIC (ASIC Physical Design Flow) trên tiến trình bán dẫn TSMC 28nm hoặc 16nm FinFET để đánh giá chính xác chỉ số hiệu quả năng lượng (Energy Efficiency - $\mu\text{J/byte}$).
- Tích hợp thêm cơ chế che giấu (Hardware Masking) trên đường dẫn dữ liệu S-box nhằm tăng cường khả năng kháng các đòn tấn công phân tích năng lượng vi sai (DPA).
Đối tượng hưởng lợi
- Sinh viên & Học viên cao học: Tiếp cận mã nguồn mở và tài liệu thiết kế vi kiến trúc pipeline RISC-V thực tế, cách bổ sung Custom Instruction vào GNU GCC Toolchain và kỹ năng thiết kế SoC trên nền tảng Xilinx Vivado.
- Kỹ sư thiết kế phần cứng (RTL/ASIC Engineers): Tham khảo kiến trúc Dual-ALU và kỹ thuật ghép nối thanh ghi mở rộng (320-bit State Register) để áp dụng vào các bài toán tăng tốc xử lý dữ liệu đa luồng.
- Doanh nghiệp phát triển thiết bị IoT: Sở hữu giải pháp IP Core mã hóa hiệu năng cao, linh hoạt, loại bỏ chi phí bản quyền thương mại (so với việc mua các IP bảo mật độc quyền của ARM).
- Nhà nghiên cứu học thuật: Mô hình mẫu trong việc đồng thiết kế phần cứng/phần mềm để tăng tốc các thuật toán chuẩn hóa quốc tế của NIST.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai thiết kế này là gì?
Hệ thống yêu cầu bo mạch FPGA dòng Xilinx Zynq-7000, UltraScale hoặc UltraScale+ có ít nhất 20,000 LUT và 10 Block RAM. Về phần mềm, cần cài đặt công cụ Xilinx Vivado (từ bản 2020.2 trở lên) cùng bộ GNU Toolchain riscv64-unknown-elf-gcc đã patch bảng opcode tùy biến.
2. Bộ đồng xử lý này kết nối với CPU chính qua giao thức nào?
Bộ đồng xử lý được đóng gói thành một IP Core chuẩn AXI4-Slave/Master, kết nối trực tiếp với CPU chính (ví dụ: ARM Cortex-A53 trên ZCU102) thông qua AXI Interconnect hoặc AXI SmartConnect. Dữ liệu văn bản rõ (plaintext), khóa (key) và dữ liệu liên kết (associated data) được truyền qua cơ chế DMA tốc độ cao.
3. Việc bổ sung các lệnh tùy biến (Custom Instructions) có làm mất tính tương thích chuẩn RISC-V không?
Không. Kiến trúc tập lệnh RISC-V dành riêng các không gian opcode chưa định nghĩa (chẳng hạn như custom-0 đến custom-3) cho người dùng mở rộng. Thiết kế này tuân thủ chuẩn ISA của RISC-V International, các chương trình C thông thường vẫn có thể chạy bình thường trên lõi mà không gặp lỗi xung đột opcode.
4. Tại sao lại chọn tần số hoạt động 250 MHz trên FPGA?
250 MHz là mức tần số cao tối ưu trên nền tảng FPGA Xilinx UltraScale+ khi thực thi các mạch logic tổ hợp sâu như S-Box và mạng khuếch tán đa tầng, đảm bảo timing closure mà không cần phải chèn quá nhiều tầng pipeline phụ làm tăng độ trễ (latency).
5. Chi phí diện tích và lợi ích kinh tế (ROI) của giải pháp này ra sao?
Bộ đồng xử lý chỉ chiếm chưa tới 6% diện tích logic của chip tầm trung (XCZU9EG), cho phép tích hợp dễ dàng vào các SoC hiện có mà không làm tăng kích thước die chip. Việc tăng tốc từ 6 đến 13 lần giúp giảm thời gian hoạt động của CPU chính, tiết kiệm điện năng tổng thể của thiết bị tới hơn 60%.
Kết luận
Đề tài "High-Throughput RISC-V Based Cryptographic Co-Processor for Lightweight Cryptography" đã thiết kế và hiện thực hóa thành công một kiến trúc bộ đồng xử lý mật mã linh hoạt và hiệu năng cao. Bằng việc kết hợp kiến trúc đường truyền song song Dual-ALU 32-bit, tập lệnh mở rộng Crypto ALU chuyên biệt và khối tăng tốc ASCON Round Unit thực thi trong 1 chu kỳ, hệ thống đã đạt mức tăng tốc từ 6.1x đến 13.7x đối với các thuật toán chuẩn hóa LWC của NIST so với việc thực thi thuần phần mềm trên CPU ARM Cortex-A53.
Thiết kế đã được kiểm chứng tính đúng đắn 100% trên phần cứng FPGA Xilinx Zynq UltraScale+ ZCU102 tại tần số 250 MHz. Đây là nền tảng IP Core mở tiềm năng, mở ra giải pháp bảo mật toàn diện, tối ưu chi phí và năng lượng cho thế hệ thiết bị IoT thông minh trong tương lai.