Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
3,72 MB
Nội dung
1 Chương 3: NGÔN NG NGÔN NG Ữ Ữ MÔ T MÔ T Ả Ả PH PH Ầ Ầ N C N C Ứ Ứ NG NG - - VHDL VHDL ThS ThS . . Nguy Nguy ễ ễ n n H H ữ ữ u u Kh Kh á á nh nh Nhân Nhân Tài liệu tham khảo Text Book: Circuit Design with VHDL, Volnei A.Pedroni, MIT press. VHDL Programming by Examples, Douglas L.Perry, McGraw Hill. Reference Books: 1076 IEEE Standard Vhdl Language Reference Manual 2002, IEEE Computer Society. Microprocessor Design Principles and Practices with VHDL, Enoch O. Hwang. HDL Chip Design- A Practical Guide for Designing, Synthesizing and Simulating ASICs and FPGAs using VHDL or Verilog, Douglas J.Smith. Phần mềm học tập Active-HDL 7.1.sp2 Quartus (for Altera FPGAs) ISE (for Xilinx FPGAs) www.opencores.org 2 NỘI DUNG Giới thiệu về ngôn ngữ mô tả phần cứng – HDL Cấu trúc của một thiết kế được mô tả bằng VHDL Kiểu dữ liệu Toán tử và thuộc tính Phát biểu đồng thời Phát biểu tuần tự Hàm và thủ tục 1. Giới thiệu ngôn ngữ VHDL. Phương pháp thiết kế bằng HDL Phương pháp thiết kế truyền thống 1. Giới thiệu ngôn ngữ VHDL. VHDL là gì? Một ngôn ngữ mô tả phần cứng: VHDL - VHSIC Hardware Description Language. VHSIC - Very High Speed Integrated Circuits. Là chuẩn do Bộ QP Mỹ phát triển từ thập niên 70. Dựa trên ngôn ngữ lập trình ADA, nhằm tạo ra tài liệu mô tả hoạt động của các mạch điện tử. 1987 được IEEE chuẩn hóa trong IEEE 1076-1987. 1993 hoàn thiện lại thành IEEE 1076-1993. 2002 giải quyết vấn đề protected types=>IEEE 1076-2002 3 1. Giới thiệu ngôn ngữ VHDL. VHDL là chuẩn độc lập mô tả hệ thống: Các nhà phát triển hệ thống dựa trên VHDL để mô tả , thiết kế hệ thống. Các phần mềm mô phỏng có thể thực hiện mô phỏng hoạt động của hệ thống mô tả. Các phần mềm tổng hợp có thể thực hiện tổng hợp sinh ra mạch thực để thực hiện hệ thống. Mạch sau khi tổng hợp có thể được nạp xuống chip để thực hiện chức năng mô tả. Chức năng: mô tả hoạt động của các hệ thống hoặc mạch điện tử nhằm thực hiện các hệ thống hoặc mạch này trên linh kiện thực. 1. Giới thiệu ngôn ngữ VHDL. Ưu điểm của VHDL: Cho phép hoạt động của hệ thống được mô tả (modeled) và kiểm thử (simulated) trước khi các công cụ tổng hợp “dịch” thiết kế sang phần cứng thực tế (gates and wires). Cho phép mô tả hệ thống song song. Khi các mô hình VHDL được “dịch” sang “gates and wires” thì nó có thể được nạp lên phần cứng CPLD và FPGA để thực thi. 1. Giới thiệu ngôn ngữ VHDL. Hai ứng dụng chính của VHDL là: PLD (Programmable Logic Device): CPLD (Complex PLD) FPGA (Field Programmable Gate Array). ASIC (Application-Specific IC) 4 Quy trình thiết kế mạch dựa trên VHDL 5 Design Entry Text Editor Language Sensitive Text Editor Keyword coloring Statement Template Visual Entry Tools Template & Translate (Structural) Testbench Converter (Waveformer) HDL Design Entry (Text Editor) 6 HDL & Schematic Mixed HDL Design Entry (Visual Tools) HDL Simulation 7 HDL Synthesis Các công cụ thiết kế VHDL Bộ công cụ của nhà sản xuất chip: Quartus/Maxplus => tổng hợp VHDL code lên chip CPLD/FPGA của Altera. ISE => tổng hợp VHDL code lên chip CPLD/FPGA của Xilinx. Một số công cụ của các hãng thứ ba: ActiveHDL Leonardo Spectrum (Mentor Graphics). Synplify (Synplicity). ModelSim (Mentor Graphics). 8 Một ví dụ VHDL đơn giản Một ví dụ VHDL đơn giản 2. Code structure library IEEE; use IEEE.std_logic_1164.all; ENTITY full_adder IS PORT (a,b,cin: in bit; s,cout:out bit); END full_adder; Architecture dataflow of full_adder is begin s <= a xor b xor cin; cout <= (a and b) or (a and cin) or (b and cin); end dataflow; 9 Cấu trúc của một thiết kế được mô tả bằng VHDL Một đọan Code chuẩn của VHDL gồm tối thiểu 3 mục sau: • Khai báo LIBRARY: chứa một danh sách của tất cả các thư viện được sử dụng trong thiết kế. Ví dụ: ieee, std, work, …. • ENTITY: Mô tả các chân vào ra (I/O pins) của mạch • ARCHITECTURE: chứa mã VHDL, mô tả mạch sẽ họat động như thế nào. Thư viện LIBRARY A LIBRARY là một tập các đoạn mã thường được sử dụng. Đặt các đoạn mã thường sử dụng vào thư viện cho phép chúng có thể được tái sử dụng hoặc chia sẻ giữa các thiết kế khác nhau. Khai báo Library. 10 Thư viện LIBRARY Các thư viện thường sử dụng: ieee.std_logic_1164 (from the ieee library), standard (from the std library), and work (work library). LIBRARY ieee; A semi-colon (;) indicates USE ieee.std_logic_1164.all; the end of a statement or LIBRARY std; declaration, while a double USE std.standard.all; dash ( ) indicates a comment. LIBRARY work; USE work.all; Thư viện LIBRARY std_logic_1164 Gói của thư viện IEEE hỗ trợ multi-level logic. std Gói thư viện tài nguyên (kiểu dữ liệu, text IO…) cho môi trường thiết kế VHDL. work Gói thư viện chứa các thiết kế của người dùng mới tạo ra. Thư viện LIBRARY Thư viện IEEE: std_logic_1164 std_logic (8 mức logic),std_ulogic (9 mức logic) std_logic_arith Thực hiện các phép toán số học và so sánh. std_logic_signed Thực hiện các phép toán với kiểu DL std_logic_vector, dữ liệu coi là có dấu std_logic_unsigned Thực hiện các phép toán với kiểu DL std_logic_vector, dữ liệu coi là không dấu. [...]... asyn reset Viết VHDL code mô tả flip-flop RS đồng bộ theo sườn âm với tín hiệu reset không đồng bộ RS Flip-flop, asyn reset 3 Các kiểu dữ liệu 3. 1 Các kiểu đối tượng 3. 1.1 Signal 3. 1.2 Variable 3. 1 .3 Constant 3. 2 Các kiểu dữ liệu 17 3. 1 Các kiểu đối tượng Một đối tượng VHDL bao gồm 1 trong các loại sau: Signal: biểu diễn cho dây kết nối giữa các cổng của các thành phần trong hệ thống... dụ: khai báo entity ARCHITECTURE Phần ARCHITECTURE mô tả mạch hoạt động như thế nào Một ARCHITECTURE luôn gắn với một ENTITY và mô tả hoạt động của ENTITY đó Một ARCHITECTURE chỉ gắn với một ENTITY nhưng Một ENTIY có thể có nhiều ARCHITECTURE khác nhau ARCHITECTURE ARCHITECTURE có hai phần: Phần khai báo (optional) Phần mã code: Khai báo tín hiệu và biến Mô tả cách kết nối, hoạt động của mạch... sở những cũng có thể chỉ chứa một phần TYPE INTEGER IS -2,147,4 83, 647 TO +2,147,4 83, 647; SUBTYPE NATURAL IS INTEGER RANGE 0 TO +2,147,4 83, 647; 34 Ví dụ về khai báo (subtype) Kiểu bản ghi (record) Kiểu dữ liệu bản ghi nhóm các đối tượng có kiểu khác nhau như một đối tượng duy nhất Mỗi thành phần của bản ghi có thể được truy cập bằng tên trường của nó Các thành phần của bản ghi có thể cùng kiểu... nguyên 32 bit, synthesizable Hỗ trợ các phép tóan: +, -, *, / Dải giá trị biểu diễn được: -2,147,4 83, 647 => +2,147,4 83, 647 ARCHITECTURE test OF test IS BEGIN PROCESS(X) VARIABLE a : INTEGER; VARIABLE b : int_type; BEGIN a := 1; Ok 1 a := -1; Ok 2 a := 1.0; error 3 END PROCESS; END test; 28 Kiểu số thực Real Kiểu dl số thực, un-synthesizable Dải giá trị biểu diễn được: -1.0E +38 => +1.0E +38 ARCHITECTURE... Ví dụ về mạch NAND: Mô tả kết nối mạch: Mạch thực hiện thao tác NAND trên 2 đầu vào (a,b) và gán ( y y y y . tục 1. Giới thiệu ngôn ngữ VHDL. Phương pháp thiết kế bằng HDL Phương pháp thiết kế truyền thống 1. Giới thiệu ngôn ngữ VHDL. VHDL là gì? Một ngôn ngữ mô tả phần cứng: VHDL - VHSIC Hardware. trong IEEE 107 6-1 987. 19 93 hoàn thiện lại thành IEEE 107 6-1 9 93. 2002 giải quyết vấn đề protected types=>IEEE 107 6-2 002 3 1. Giới thiệu ngôn ngữ VHDL. VHDL là chuẩn độc lập mô tả hệ thống: . 1 Chương 3: NGÔN NG NGÔN NG Ữ Ữ MÔ T MÔ T Ả Ả PH PH Ầ Ầ N C N C Ứ Ứ NG NG - - VHDL VHDL ThS ThS . . Nguy Nguy ễ ễ n n H H ữ ữ u u Kh Kh á á nh nh Nhân Nhân Tài