BÁO CÁO ĐỀ TÀI
THIẾT KẾ MẠCH VỚI HDL
Tên đề tài: Tìm hiểu HDL Coder trong MATLAB và
Thực thi bằng chương trình tính logarithm 2 (log2)
Giảng viên hướng dẫn: ThS. NGUYỄN THANH SANG
Sinh viên thực hiện:
TRẦN ĐẠI DƯƠNG - 11520537
1
TỔNG QUAN
Giới thiệu về MATLAB HDL Coder
Phát sinh HDL code từ các giải thuật MATLAB
Giải thuật tính logarithm 2 (log2)
Demo
2
GIỚI THIỆU VỀ MATLAB HDL CODER
HDL Coder là một công cụ trong MATLAB và Simulink
MATLAB HDL Coder hướng giải thuật
Simulink HDL Coder hướng mô hình
Phát sinh HDL code có thể “tổng hợp được” cho FPGA và
ASIC
Verilog/ VHDL
Xilinx/ Altera
3
GIỚI THIỆU VỀ MATLAB HDL CODER(tt)
Độc lập phần cứng
Phát sinh HDL code tự động
Mô phỏng thiết kế
MATLAB testbench/ HDL testbench được phát sinh ra
Tối ưu và ràng buộc thiết kế: tài nguyên, critical-paths,…
Sử dụng các công cụ tổng hợp, mô phỏng của hãng thứ 3
4
GIỚI THIỆU VỀ MATLAB HDL CODER(tt)
Hướng tới việc tạo mẫu thử nhằm kiểm chứng thiết kế chứ
không phải hướng tới việc thiết kế trên FPGA
Nguồn tham khảo cho các nhà thiết kế phần cứng
5
TỔNG QUAN
Giới thiệu về MATLAB HDL Coder
Phát sinh HDL code từ các giải thuật MATLAB
Giải thuật tính logarithm 2 (log2)
Demo
6
PHÁT SINH HDL CODE TỪ CÁC GIẢI
THUẬT MATLAB
Thuật giải MATLAB
Chuyển đổi
Floating-point sang
Fixed-point
Phát sinh HDL code
Đồng mô phỏng
Tổng hợp phần cứng
Kiểm chứng trên FPGA
Sử dụng MATLAB để thiết kế
thuật giải, mô phỏng, gỡ rối, kiểm
tra, và tối ưu thiết kế
Tự động tạo ra HDL code, kiểm
chứng HDL code bằng testbench
được phát sinh ra
Thực thi và kiểm chứng trên
FPGA
7
PHÁT SINH HDL CODE TỪ CÁC GIẢI
THUẬT MATLAB (tt)
HDL Workflow Advisor
Fixed-Point Conversion
HDL Code Generation
HDL Verification
HDL Synthesis and
Analysic
8
CHUYỂN ĐỔI TỪ FLOATING-POINT SANG
FIXED-POINT
Các thiết kế fixed-point có ưu điểm:
Sử dụng ít tài nguyên
Tiêu thụ công suất thấp
Hiệu năng cao
Các thiết kế floating-point không thể phát sinh HDL code
“tổng hợp được”
9
CHUYỂN ĐỔI TỪ FLOATING-POINT SANG
FIXED-POINT
Độ chính xác và tốc độ thực hiện phụ thuộc vào chiều dài
word
Tự động đề xuất chiều dài word hoặc thông qua phân tích tĩnh
Tự động sử dụng bit tạm
Kiểm chứng fixed-point được phát sinh ra so với floating-point
10
PHÁT SINH HDL CODE
Phát sinh từ fixed-point MATLAB code
Hỗ trợ Verilog và VHDL
Phát sinh các báo cáo
Tùy chọn tối ưu cho mục đích diện tích và tốc độ
11
KIỂM CHỨNG HDL CODE
Phát sinh HDL testbench từ MATLAB testbench
Tương tác với HDL Verifier nhằm đồng mô phỏng
Yêu cầu MATLAB HDL Verifier
12
PHÂN TÍCH VÀ TỔNG HỢP THIẾT KẾ
Yêu cầu các công cụ tổng hợp từ các hang thứ 3
Altera Quartus II
Xilinx ISE
Online testing
Hỗ trợ hạn chế một số phần cứng
13
GIẢI THUẬT TÍNH LOGARITHM 2
Phương trình tổng quát: y = log2(x)
0 ≤ x
HDL Coder không hỗ trợ log, hay exp,…
Xây dựng giải thuật tính logarithm 2
A Fast Binary Logarithm Algorithm (Clay S. Turner)
14
TỔNG QUAN
Giới thiệu về MATLAB HDL Coder
Phát sinh HDL code từ các giải thuật MATLAB
Phát sinh HDL code tự động
Chuyển đổi từ Floating-point sang Fixed-point
Giải thuật tính logarithm 2 (log2)
Demo
15
DEMO
Hướng dẫn “từng bước” phát sinh HDL code cho Mạch cộng
Giải thuật tính logarithm 2
16
CẢM ƠN MỌI NGƯỜI ĐÃ LẮNG NGHE
17