CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.4. Cài đặt mô phỏng và đánh giá hiệu quả tích hợp của thuật toán
3.4.2 Kết quả đánh giá và so sánh hiệu suất trên FPGA
3.4.2.1 Minh họa một số giao diện mô phỏng trền FPGA
Luận văn đã sử dụng ngôn ngữ mô tả phần cứng VHDL để thực hiện việc cài đặt BM-64 trên FPGA. Việc làm này nhằm mục tiêu nhận được các tham số về tần số (MHz) và tài nguyên (CLB) cho thuật toán trên dòng FPGA tương ứng đã lựa chọn. Qua đó đánh giá được hiệu quả tích hợp của thuật toán trên phần cứng.
Các kỹ thuật chính được sử dụng trong quá trình triển khai cài đặt trên FPGA gồm:
- Ngôn ngữ mô tả thuật toán: VHDL với dòng phần mềm ISE của Xilinx.
- Chế độ hoạt động của thuật toán: không hồi tiếp (chế độ ECB).
- Cấu trúc thiết kế trên FPGA: theo cả 2 cấu trúc vòng lặp cơ sở IL và cấu trúc vòng lặp toàn phần PP.
Thuật toán khi triển khai cài đặt trên FPGA gồm các thành phần cơ bản được liệt kê dưới đây và mỗi thành phần thuật toán đảm nhận một chức năng riêng:
- Khối chức năng mã/giải mã.
- Khối chức năng sinh khóa.
- Khối điều khiển.
- Khối tạo thanh ghi.
Sau đây là cài đặt chi tiết của thuật toán BM-64.
a. Theo cấu trúc vòng lặp cơ sở IL
Phần mềm mô phỏng thuật toán trên FPGA được mô tả trong 7 file và mỗi file có chức năng tương ứng được giải thích chi tiết như sau:
Tên file Chức năng
1 alg_iterative.vhdl Mô tả chế độ làm việc của thuật toán
2 alg_pack.vhd Định nghĩa các phần tử điều khiển, các phép biến đổi sử dụng trong thuật toán và hàm biến đổi cho vòng mã hóa cơ sở
3 alg_top_Iter.vhd Mô tả cổng tín hiệu của các khối chức năng 4 controller_iter.vhdl Mô tả khối điều khiển của chương trình
5 interface.vhdl Mô tả tín hiệu đầu vào, tín hiệu ra, tín hiệu điều khiển, chuyển dữ liệu
6 reg64b.vhd Mô tả việc chuyển đổi dữ liệu giữa 2 thanh ghi 7 key_schedule_iter.vhd Mô tả lược đồ khóa của thuật toán
Hình 3. 5 Sơ đồ thiết kế tổng thể của BM-64 trên FPGA (cấu trúc IL)
Trên cơ sở các mô dul thiết kế của từng khối chức năng, sơ đồ thiết kế tổng thể của thuật toán trên FPGA theo cấu trúc IL được biểu diễn trong hình 3.5.
b. Theo cấu trúc vòng lặp cơ sở PP
Phần mềm mô phỏng thuật toán trên FPGA theo cấu trúc PP bao gồm 9 file và mỗi file có chức năng tương ứng được giải thích như sau:
Tên file Giải thích ý nghĩa
1 alg_PIPE.vhdl Mô tả chế độ làm việc của thuật toán 2 alg_pack.vhd
Định nghĩa các phần tử điều khiển, các phép biến đổi sử dụng trong thuật toán và hàm biến đổi cho vòng mã hóa cơ sở
3 alg_top_PIPE.vhd Mô tả cổng tín hiệu của các khối chức năng 4 controller_PIPE.vhdl Mô tả dữ liệu điều khiển của chương trình
5 interface.vhdl Mô tả tín hiệu đầu vào, tín hiệu ra, tín hiệu điều khiển, chuyển dữ liệu
6 reg64b.vhd Mô tả việc đổi dữ liệu dữ 2 thanh ghi 7 key_schedule_PIPE.vhd Mô tả lược đồ khóa của thuật toán 8 FP.vhd Mô tả phép biến đổi cuối của thuật toán 9 Alg_ROUND.vhd Mô tả kiến trúc RTL dùng lưu trữ thông số
hàm ALG_ROUND_FUNCT.
Trên cơ sở các modul thiết kế của từng khối chức năng, sơ đồ thiết kế tổng thể của thuật toán BM-64 theo cấu trúc PP trên FPGA được biểu diễn trong hình 3.6.
Theo cấu trúc PP, tất cả các vòng mã hóa đều được thực hiện song song. Chức năng thực hiện mã/giải mã (ENC_DNC_B) chỉ kết nối đến 8 khối mã/giải mã. Tuy nhiên, không làm mất tính tổng quát của sơ đồ và để dễ quan sát.
Hình 3. 6 Sơ đồ thiết kế BM-64 trên FPGA (cấu trúc PP)
Tất cả các thành phần khác trong thuật toán trong hình 3.6 các khối biểu diễn (phép biến đổi của vòng mã cơ sở và thanh ghi dữ liệu) của vòng thứ 3, 4, 5, 6, 7 của thuật toán không được biểu diễn trên hình vẽ (có thể quan sát trong khi chạy chuong trình).