Tìm hiểu HDL coder trong MATLAB và thực thi bằng chương trình tính logarithm 2 (log2)
Trang 1BÁ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 (log 2 )
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
Trang 2TỔ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
Trang 3GIỚ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
Trang 4GIỚ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
Trang 5GIỚ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
Trang 6TỔ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
Trang 7PHÁ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
Trang 8PHÁ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
Trang 9CHUYỂ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”
Trang 10CHUYỂ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
Trang 11PHÁ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 độ
Trang 12KIỂ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
Trang 13PHÂ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
Trang 14GIẢ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)
Trang 15TỔ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
Trang 16Hướ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
Trang 17CẢM ƠN MỌI NGƯỜI ĐÃ LẮNG NGHE