intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Thiết kế số sử dụng VHDL

Chia sẻ: _ _ | Ngày: | Loại File: PPTX | Số trang:34

17
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Thiết kế số sử dụng VHDL" trình bày các nội dung kiến thức về: Khai báo cơ bản trong VHDL; Ví dụ thiết kế mạch tổ hợp; Mô phỏng sử dụng Test Bench; Tái sử dụng thiết kế với Package. Mời các bạn cùng tham khảo chi tiết bài giảng tại đây.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Thiết kế số sử dụng VHDL

  1. Thiết Kế Số Sử Dụng VHDL TS. Võ Lê Cường Viện Điện tử Viễn thông Đại học Bách Khoa Hà Nội
  2. Nội Dung 1. Giới thiệu 2. Khai báo cơ bản trong VHDL 3. Ví dụ thiết kế mạch tổ hợp 4. Mô phỏng sử dụng Test Bench 5. Tái sử dụng thiết kế với Package
  3. 1. Giới thiệu • VHDL = VHSIC Hardware Description Language (VHSIC = Very High Speed Integrated Circuit) • VHDL? – Là ngôn ngữ lập trình dùng để mô tả hệ thống điện tử số. – Chức năng của VHDL: • Thiết kế ở mức behavioral and RTL • Mô phỏng • Tổng hợp mạch từ chương trình VHDL
  4. Ngôn Ngữ Lập Trình • Mô hình dựa trên quá trình tuần tự - Các hoạt động được thực hiện tuần tự - Giúp con người phát triển thuật toán từng bước một - Giống với hoạt động của mô hình máy tính cơ bản RTL Hardware Design Chapter 2 5 by Cuong Vo Le
  5. VHDL • Đặc điểm của phần cứng số - Kết nối các phần khác nhau của mạch - Hoạt động đồng thời - Khái niệm về trễ và thời gian • Các đặc điểm này ngôn ngữ phần mềm không thể mô tả • Yêu cầu các ngôn ngữ mới để mô tả/ thiết kế mạch số, ví dụ: VHDL 6
  6. Lý do sử dụng HDL? Thiết kế mạch kích thước lớn - HDL có nhiều mức thiết kế hơn phương pháp giản đồ mạch (schematic). • Mô tả mức truyền dẫn thanh ghi (RTL) • Đường dữ liệu rộng (16, 32, hoặc 64 bits) có thể được mô tả bằng một vector ­ Thiết kế mạch có kích thước lớn ở mức cổng và mức  • Công cụ tổng hợp hỗ trợ phần lớn các công việc transistor?  thayảso     Tăng kh với phương pháp  năng linh ho schematic. ạt cho thi ết kế ­ VHDL cho phép chuyển đổi công nghệ dễ dàng (ví dụ:  chuyển đổi 0.11µm => 45nm)
  7. Lý do sử dụng HDL? Tăng khả năng linh hoạt cho thiết kế (tiếp tục) - VHDL viết dưới dạng mã ASCII => Linh hoạt trong quá trình lưu trữ và di chuyển file. Thay vì sử dụng file dạng nhị phân trong phương pháp schematic Hỗ trợ từ phần mềm tổng hợp – Tối ưu công suất, diện tích và tốc độ – Cân bằng giữa các tham số: tốc độ, công suất và diện tích
  8. Lý do sử dụng HDL? Hỗ trợ thiết kế với ít lỗi hơn ­ Sử dụng VHDL để mô tả file test bench ü Phương pháp mềm dẻo cho phép tự kiểm tra thiết kế ü Sử dụng một môi trường đồng nhất - Phần mềm tổng hợp có độ chính xác cao với các hàm boolean ü Nếu phát hiện lỗi trong thiết kế cuối cùng => 99.999% khả năng do lỗi viết code VHDL
  9. Ngôn ngữ HDL phổ biến -VHDL và Verilog - Cú pháp và hình thức của hai ngôn ngữ rất khác nhau - Khả năng và mục đích tương tự nhau - Cả hai đều được chuẩn hóa và hỗ trợ bởi hầu hết các phần mềm thiết kế
  10. Nội Dung 1. Giới thiệu 2. Khai báo cơ bản trong VHDL 3. Ví dụ thiết kế mạch tổ hợp 4. Mô phỏng sử dụng Test Bench 5. Tái sử dụng thiết kế với Package
  11. Thiết kế mạch “Test” Yêu cầu thiết kế của mạch “Test”: - Ba đầu vào (In1, In2, In3): kiểu dữ liệu 8 bit. - Hai đầu ra (Out1, Out2): kiểu dữ liệu boolean (đúng/sai). - Out1=1 khi In1=In2, còn lại = 0. - Out2=1 khi In1=In3, còn lại = 0.
  12. Mạch Schematic - Mạch Test: 3 đầu vào, 2 đầu ra. - Test được xây dựng từ 2 khối Compare. Test Compare In1 Out1 A EQ B In2 Compare A In3 EQ Out2 B
  13. Mạch Schematic Compare: xây dựng từ các cổng logic cơ bản. Compare A[0] XNOR A B[0] A[1] AND EQ B[1] EQ B A[7] B[7]
  14. Mô tả mạch Test sử dụng VHDL? - Mô tả compare sử dụng VHDL. - Mô tả Test từ 2 khối compare, sử dụng VHDL.
  15. Thiết kế compare ‘Entity’ định nghĩa -- Bộ so sánh 8 bit giao diện của mạch -- = hộp đen của entity Compare is schematic port( A,B: in bit_vector(0 to 7); EQ: out bit); end entity Compare; architecture Behav1 of Compare is begin EQ
  16. Mô tả mạch Test sử dụng VHDL? - Mô tả compare sử dụng VHDL. - Mô tả Test từ 2 khối compare, sử dụng VHDL.
  17. Thiết kế mạch Test sử dụng VHDL entity Test is port( In1,In2,In3: in bit_vector(0 to 7); Comparator: Linh kiện cơ bản sử Out1,Out2: out bit); dụng trong entity Test end entity Test; Comparator có thể được thiết kế độc lập và đồng thời. architecture Struct1 of Test is component Comparator is port( X,Y: in bit_vector(0 to 7); Z: out bit); end component Comparator; Kết nối tín hiệu vào ra của begin Comparator trong mạch Test Compare1: component Comparator port map (In1,In2,Out1); Compare2: component Comparator port map (In1,In3,Out2); end architecture Struct1; - Hai bộ Comparator hoạt động song song. - Mô tả cấu trúc (structural): entity được xây dựng từ các linh kiện cơ bản và kết nối các linh kiện sử dụng port map.
  18. Thiết kế mạch Test sử dụng VHDL Entity có nhiều kiến trúc => định nghĩa kiến trúc được sử dụng trong entity? Ràng buộc linh kiện (Components) với ‘Entities’? for Compare1 + for others = configuration Build1 of Test is for All for Struct1 for Compare1: Comparator use entity Compare(Behav1) port map (A => X, B => Y, EQ => Z); end for; for others: Comparator use entity Compare(Behav1) port map (A => X, B => Y, EQ => Z); end for; end for; end configuration Build1;
  19. Cú pháp khai báo ENTITY: entity Entity_name is port( Signal_name: in Signal_type; Signal_name: out Signal_type); end entity Entity_name; ARCHITECTURE: architecture Architecture_name of Entity_name is local_signal_declarations; component_declarations; begin entity Compare is statements; port( A,B: in bit_vector(0 to 7); end architecture Architecture_name; EQ: out bit); end entity Compare; architecture Behav1 of Compare is begin EQ
  20. Cú pháp khai báo COMPONENT: component Component_name is port( Signal_name: in Signal_type; Signal_name: out Signal_type); end component Component_name; COMPONENT INSTANTIATION: -- component instantiation Instance_name: component Component_name port map (Signal_list); or -- direct instantiation Instance_name: entity Entity_name(Architecture_name) port map (Signal_list); architecture Struct1 of Test is component Comparator is port( X,Y: in bit_vector(0 to 7); Z: out bit); end component Comparator; begin Compare1: component Comparator port map (In1,In2,Out1); Compare2: component Comparator port map (In1,In3,Out2); end architecture Struct1;
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2