SlideShare a Scribd company logo
1 of 17
Download to read offline
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
7
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
PHÁT SINH HDL CODE TỪ CÁC GIẢI
THUẬT MATLAB (tt)
8
HDL Workflow Advisor
 Fixed-Point Conversion
 HDL Code Generation
 HDL Verification
 HDL Synthesis and
Analysic
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

More Related Content

Similar to [Duong tran] hdl_coder_logarithm_2

Similar to [Duong tran] hdl_coder_logarithm_2 (11)

418 giaotrinh avr
418 giaotrinh avr418 giaotrinh avr
418 giaotrinh avr
 
Giaotrinh avr tech24.vn
Giaotrinh avr tech24.vnGiaotrinh avr tech24.vn
Giaotrinh avr tech24.vn
 
Tổng quan về FPGA
Tổng quan về FPGATổng quan về FPGA
Tổng quan về FPGA
 
Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr
 
Đề tài: Thiết kế một bộ chuyển đổi Analog – Digital (ADC) 8-Bits sử dụng chip...
Đề tài: Thiết kế một bộ chuyển đổi Analog – Digital (ADC) 8-Bits sử dụng chip...Đề tài: Thiết kế một bộ chuyển đổi Analog – Digital (ADC) 8-Bits sử dụng chip...
Đề tài: Thiết kế một bộ chuyển đổi Analog – Digital (ADC) 8-Bits sử dụng chip...
 
Itlc2015
Itlc2015Itlc2015
Itlc2015
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
 
SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)
SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)
SBC 2012 - SSL/TLS Attacks & Defenses (Lê Quốc Nhật Đông)
 
Cong nghe fpga
Cong nghe fpgaCong nghe fpga
Cong nghe fpga
 
Os lab2
Os lab2Os lab2
Os lab2
 
Asp
AspAsp
Asp
 

[Duong tran] hdl_coder_logarithm_2

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. PHÁT SINH HDL CODE TỪ CÁC GIẢI THUẬT MATLAB 7 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
  • 8. PHÁT SINH HDL CODE TỪ CÁC GIẢI THUẬT MATLAB (tt) 8 HDL Workflow Advisor  Fixed-Point Conversion  HDL Code Generation  HDL Verification  HDL Synthesis and Analysic
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. CẢM ƠN MỌI NGƯỜI ĐÃ LẮNG NGHE 17