Tải bản đầy đủ (.pdf) (17 trang)

Tìm hiểu HDL coder trong MATLAB và thực thi bằng chương trình tính logarithm 2 (log2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 17 trang )

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



×