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.
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 Nội Dung Giới thiệu Khai báo VHDL Ví dụ thiết kế mạch tổ hợp Mô sử dụng Test Bench Tái sử dụng thiết kế với Package 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 VHDL: • Thiết kế mức behavioral and RTL • Mơ • Tổng hợp mạch từ chương trình VHDL Ngơn Ngữ Lập Trình • Mơ hình dựa trình - Các hoạt động thực Giúp người phát triển thuật toán bước Giống với hoạt động mơ hình máy tính RTL Hardware Design by Cuong Vo Le Chapter VHDL • Đặc điểm phần cứng số - Kết nối phần khác mạch Hoạt động đồng thời Khái niệm trễ thời gian Các đặc điểm ngôn ngữ phần mềm khơng thể mơ tả • u cầu ngôn ngữ để mô tả/ thiết kế mạch số, ví dụ: VHDL • Lý sử dụng HDL? Thiết kế mạch kích thước lớn - HDL có nhiều mức thiết kế phương pháp giản đồ mạch (schematic) Mơ tả mức truyền dẫn ghi (RTL) • Đường liệu rộng (16, 32, 64 bits) 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ông việc transistor? thayảso với phương pháp schematic Tăng kh năng linh ho ạ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) Lý sử dụng HDL? Tăng khả linh hoạt cho thiết kế (tiếp tục) - VHDL viết dạng mã ASCII => Linh hoạt trình lưu trữ di chuyển file Thay sử dụng file dạng nhị phân 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 tốc độ Cân tham số: tốc độ, cơng suất diện tích Lý sử dụng HDL? Hỗ trợ thiết kế với lỗi 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ôi trường đồng - Phần mềm tổng hợp có độ xác cao với hàm boolean ü Nếu phát lỗi thiết kế cuối => 99.999% khả lỗi viết code VHDL Ngôn ngữ HDL phổ biến -VHDL Verilog - Cú pháp hình thức hai ngôn ngữ khác - Khả mục đích tương tự - Cả hai chuẩn hóa hỗ trợ hầu hết phần mềm thiết kế Nội Dung Giới thiệu Khai báo VHDL Ví dụ thiết kế mạch tổ hợp Mô sử dụng Test Bench Tái sử dụng thiết kế với Package 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; Cú pháp khai báo CONFIGURATION: configuration Config_name of Entity_name is for Architecture_name for Instance_name: Component_name use entity Entity_name(Architecture_name) port map (Signal_list); end for; end for; end configuration Config_name; configuration Build1 of Test is 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; Nội Dung Giới thiệu Khai báo VHDL Ví dụ thiết kế mạch tổ hợp Mô sử dụng Test Bench Tái sử dụng thiết kế với Package Ví dụ thiết kế Thiết kế cổng AND đầu vào A B C Y entity AND3 is port ( A,B,C: in bit; Y: out bit); end entity AND3; architecture RTL of AND3 is begin Y S,Z=>W); Gate3: component AND2 port map (X=>U,Y=>B,Z=>V); Gate4: component OR2 port map (X=>W,Y=>V,Z=>Y); end architecture Struct; Y Mô tả hành vi (behavioral description) Mô tả cấu trúc (structural description) Y Ví dụ thiết kế • Mô tả cấu trúc MUX 2-1 sử dụng cổng AND3, OR3 and INV ví dụ trước configuration Use3InputGates of MUX21 is for Behav end for; for Struct for Gate1:INV use entity INV(RTL) port map (A=>X,Y=>Z); end for; for All:AND2 use entity AND3(RTL) port map (A=>X,B=>Y,C=>’1’,Y=>Z); end for; for Gate4:OR2 use entity OR3(RTL) port map (A=>X,B=>Y,C=>’0’,Y=>Z); end for; end for; end configuration Use3InputGates; Entities A B C Y A Y Components X Z Y X Z Nội Dung Giới thiệu Khai báo VHDL Ví dụ thiết kế mạch tổ hợp Mơ sử dụng Test Bench Tái sử dụng thiết kế với Package Mô sử dụng Test Bench • • VHDL ‘Test Bench’ nằm mức cao (top level) thiết kế Test Bench sử dụng để kiểm tra hoạt động thiết kế: - Đưa giả thuyết tín hiệu đầu vào để mơ DUT (Design Under Test ) - Kiểm tra đắn tín hiệu đầu thiết kế - Lấy tín hiệu đầu DUT hiển thị dạng sóng tín hiệu Mơ sử dụng Test Bench Thiết kế Test bench để kiểm tra thiết • kế hành vi (behavioral) MUX 2entity Testbench is A Testbench khơng có Y end entity Testbench; cổng vào MUX21 B S architecture BehavTest of Testbench is Signal In1,In2,Select,Out : bit; begin DUT: entity MUX21(Behav) port map (In1, In2, Select, Out); Stimulus: process is begin In1