Bài giảng môn Kỹ thuật số 2: Chương 5 - GV. Nguyễn Hữu Chân Thành
lượt xem 40
download
Bài giảng môn Kỹ thuật số 2: Chương 5 trình bày nội dung thiết kế số dùng VHDL. Các nội dung cụ thể được trình bày ở chương này như: Giới thiệu về HDLS (hardware description languages), các cấu trúc cơ bản của VHDL, các phát biểu đồng thời, các phát biểu tuần tự, thiết kế mạch tuần tự, thiết kế máy trạng thái, thiết kế phân cấp.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn Kỹ thuật số 2: Chương 5 - GV. Nguyễn Hữu Chân Thành
- Bài giảng môn Kỹ thuật số 2 Chương 5 THIẾT KẾ SỐ DÙNG VHDL Giảng viên: Nguyễn Hữu Chân Thành 1
- Bài giảng môn Kỹ thuật số 2 NỘI DUNG 1. GIỚI THIỆU VỀ HDLs (Hardware Description Languages) 2. CÁC CẤU TRÚC CƠ BẢN CỦA VHDL 3. CÁC PHÁT BIỂU ĐỒNG THỜI 4. CÁC PHÁT BIỂU TUẦN TỰ 5. THIẾT KẾ MẠCH TUẦN TỰ 6. THIẾT KẾ MÁY TRẠNG THÁI 7. THIẾT KẾ PHÂN CẤP Giảng viên: Nguyễn Hữu Chân Thành 2
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU Các phương pháp thiết kế: Các phương trình Boolean Thiết kế dựa trên Schematic Các ngôn ngữ mô tả phần cứng HDLs (Hardware Description Languages): VHDL, Verilog HDL, ABEL, … Giảng viên: Nguyễn Hữu Chân Thành 3
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU (tt) Quá trình thiết kế hệ thống số: Giảng viên: Nguyễn Hữu Chân Thành 4
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU (tt) Các công cụ CAD: Nhập yêu cầu thiết kế (design entry) Dùng bảng chân trị Trực tiếp Vẽ dạng sóng quan hệ vào/ra (Waveform Editor) Dùng sơ đồ mạch (Graphic Editor) → thiết kế phân cấp Dùng HDLs Giảng viên: Nguyễn Hữu Chân Thành 5
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU (tt) Các công cụ CAD: Tổng hợp (synthesis): Tổng hợp logic (logic synthesis/logic optimization) Ánh xạ công nghệ (technology mapping) Tổng hợp sơ đồ mạch (layout synthesis/physical design) Mô phỏng (simulation) Mô phỏng chức năng (functional simulation) Mô phỏng định thời (timing simulation) Giảng viên: Nguyễn Hữu Chân Thành 6
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU (tt) VHDL (Very High Speed Integrated Circuits HDL): Ngôn ngữ được dùng để mô tả các hệ thống số: lập tài liệu (documentation), mô phỏng (simulation), kiểm chứng (verification) và tổng hợp (synthesis). VHDL được chuẩn hóa vào năm 1987 qua chuẩn IEEE 1076 (VHDL-87) và được cập nhật năm 1993 (VHDL-93). Sau đó được bổ sung qua chuẩn IEEE 1164 với hệ thống logic đa trị. Ứng dụng: thiết kế với các PLD, CPLD và FPGA. Sự khác biệt giữa VHDL và các ngôn ngữ lập trình thông thường Ngôn ngữ lập trình thông thường: tuần tự VHDL: song song Giảng viên: Nguyễn Hữu Chân Thành 7
- Bài giảng môn Kỹ thuật số 2 2. CÁC CẤU TRÚC CƠ BẢN CỦA VHDL 2.1. Entity Entity Packages Entity Declaration Black box Interface declaration Internal Architecture body machinery Functional definition Giảng viên: Nguyễn Hữu Chân Thành 8
- Bài giảng môn Kỹ thuật số 2 2.1. Entity (tt) Khai báo entity Entity định nghĩa giao tiếp của module phần cứng với môi trường bên ngoài sử dụng nó. Cú pháp khai báo: entity entity_name is generics ports begin entity statements end [entity] entity_name; Giảng viên: Nguyễn Hữu Chân Thành 9
- Bài giảng môn Kỹ thuật số 2 2.1. Entity (tt) Các port trong khai báo entity: Mỗi tín hiệu I/O trong một khai báo entity đ ược xem là m ột port. Mỗi port được khai báo phải có tên, chiều dữ liệu (mode) và kiểu dữ liệu. port (port_name: mode data_type; port_name: mode data_type; … port_name: mode data_type); Các mode: In: luồng dữ liệu chỉ đi vào entity. Out: luồng dữ liệu chỉ đi ra khỏi entity. Buffer: tương tự out, nhưng cho phép hồi tiếp nội Inout: luồng dữ liệu có thể vào hay ra entity và cũng cho phép hồi tiếp nội. Giảng viên: Nguyễn Hữu Chân Thành 10
- Bài giảng môn Kỹ thuật số 2 2.1. Entity (tt) Kiểu dữ liệu: IEEE 1076/93: boolean, bit, bit_vector, integer, … IEEE std_logic_1164: std_ulogic, std_ulogic_vector, std_logic và std_logic_vector (hệ thống logic đa trị). Các kiểu dữ liệu do người sử dụng đinh nghĩa. Khai báo của các kiểu dữ liệu phải cho phép entity thấy được qua các mệnh đề library và use. Ví dụ 2.1: khai báo cổng AND entity andgate is ANDGATE port (A, B: in bit; A C : out bit); C B end andgate; Giảng viên: Nguyễn Hữu Chân Thành 11
- Bài giảng môn Kỹ thuật số 2 2.1. Entity (tt) Ví dụ 2.2: khai báo bộ so sánh 4-bit entity eqcomp4 is port (A, B : in bit_vector(3 downto 0); equals : out bit); end eqcomp4; [3:0] A[3:0] Ví dụ 2.3: Equals B[3:0] library ieee; use ieee.std_logic_1164.all; 4-bit comparator entity eqcomp4 is port (a, b : in std_logic_vector(3 downto 0); equals: out std_logic); end eqcomp4; Giảng viên: Nguyễn Hữu Chân Thành 12
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) Khai báo entity là một hộp đen với mô tả các giao tiếp I/O còn thân kiến trúc cung cấp mô tả chức năng của hộp đen đó. Một entity có thể có nhiều thân kiến trúc. Mỗi thân kiến trúc chỉ kết hợp với một khai báo entity. Các kiến trúc của VHDL được chia làm 2 loại: Mô tả hành vi (behavior description) Mô tả dạng giải thuật (algorithmic description) Mô tả luồng dữ liệu (data flow description) Mô tả cấu trúc (structural description) Một thiết kế có thể dùng một trong các loại trên hay cũng có thể kết hợp các loại với nhau. Giảng viên: Nguyễn Hữu Chân Thành 13
- Bài giảng môn Kỹ thuật số 2 1. GIỚI THIỆU (tt) Biểu diễn hệ thống: Dạng hành vi: mô tả chức năng của hệ thống → tập trung vào quan hệ giữa các tín hiệu vào và ra. Dạng cấu trúc: mô tả cài đặt bên trong của hệ thống → đặc tả rõ ràng các thành phần nào được dùng và kết nối giữa chúng. Giảng viên: Nguyễn Hữu Chân Thành 14
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Khai báo thân kiến trúc: architecture architecture_name of entity_name is declarations begin concurrent_statements end [architecture] architecture_name; Mô tả hành vi: mô tả chức năng của hệ thống → tập trung vào quan hệ giữa các tín hiệu vào và ra. Mô tả dạng giải thuật: còn được gọi là mô tả cấp cao (high-level) vì nó tương tự với mô tả trong các ngôn ngữ cấp cao như C, Basic … Giảng viên: Nguyễn Hữu Chân Thành 15
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Ví dụ 2.4: Mô tả dạng giải thuật: -- bộ so sánh bằng 4-bit entity eqcomp4 is port (a, b : in std_logic_vector(3 downto 0); equals: out std_logic); end eqcomp4; architecture behavioral of eqcomp4 is begin comp: process (a, b) begin if a=b then equals
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Mô tả luồng dữ liệu: mô tả cách dữ liệu truyền từ ngõ vào đến ngõ ra (không dùng các phát biểu tuần tự). Ví dụ 2.5: Mô tả dạng luồng dữ liệu: -- bộ so sánh bằng 4-bit library ieee; use ieee.std_logic_1164.all; entity eqcomp4 is port (a, b : in std_logic_vector(3 downto 0); equals: out std_logic); end eqcomp4; architecture dataflow of eqcomp4 is begin equals
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Ví dụ 2.6: Mô tả dạng luồng dữ liệu khác: -- bộ so sánh bằng 4-bit library ieee; use ieee.std_logic_1164.all; entity eqcomp4 is port (a, b : in std_logic_vector(3 downto 0); equals: out std_logic); end eqcomp4; architecture bool of eqcomp4 is begin equals
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Mô tả dạng cấu trúc: Chứa các danh sách kết nối (netlist) – các thành ph ần (component) được khởi tạo và được kết nối với nhau qua các tín hiệu. Thiết kế dạng phân tầng (hierarchical design). Top-down design Bottom-up design Structural Decomposition Behavioral Modeling Behavioral a. Full Tree Design Modeling b. Partial Tree Design Giảng viên: Nguyễn Hữu Chân Thành 19
- Bài giảng môn Kỹ thuật số 2 2.2. Thân kiến trúc (Architecture body) (tt) Ví dụ 2.7: Mô tả dạng cấu trúc: library ieee; use ieee.std_logic_1164.all; entity eqcomp4 is port (a, b : in std_logic_vector(3 downto 0); equals: out std_logic); end eqcomp4; use work.gatespkg.all; architecture struct of eqcomp4 is signal x: std_logic_vector(0 to 3); begin u0: xnor2 port map (a(0), b(0),x(0)); u1: xnor2 port map (a(1), b(1),x(1)); u2: xnor2 port map (a(2), b(2),x(2)); u3: xnor2 port map (a(3), b(3),x(3)); u4: and4 port map (x(0), x(1),x(2),x(3),equals); end struct; Giảng viên: Nguyễn Hữu Chân Thành 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập có lời giải môn Kỹ thuật số
4 p | 2623 | 473
-
Bài giảng Kỹ thuật số (chương 1)
11 p | 713 | 251
-
Bài giảng môn Kỹ thuật số 2: Chương 1 - GV. Nguyễn Hữu Chân Thành
49 p | 255 | 51
-
Bài giảng môn Kỹ thuật điện tử - Th.S Lê Xứng
63 p | 220 | 39
-
Đề cương môn kỹ thuật số
7 p | 463 | 32
-
Bài giảng môn Kỹ thuật số 2: Chương 2 - GV. Nguyễn Hữu Chân Thành
64 p | 163 | 26
-
Bài giảng môn Kỹ thuật số 2: Chương 3 - GV. Nguyễn Hữu Chân Thành
53 p | 161 | 22
-
Bài giảng môn Kỹ thuật số 2: Chương 4 - GV. Nguyễn Hữu Chân Thành
13 p | 152 | 17
-
Đề cương bài giảng môn Kỹ thuật điện tử (Dùng cho trình độ Cao Đẳng, Trung Cấp)
256 p | 69 | 16
-
Đề cương bài giảng môn: Kỹ thuật cảm biến và ứng dụng (Dùng cho trình độ Cao đẳng, Trung cấp và liên thông)
157 p | 63 | 14
-
Bài giảng môn Kỹ thuật điện – Chương 7: Máy điện không đồng bộ
39 p | 43 | 5
-
Bài giảng môn học Truyền số liệu: Chương 2 (phần 1) - CĐ Kỹ thuật Cao Thắng
27 p | 64 | 4
-
Bài giảng môn học Truyền số liệu: Chương 2 (phần 2) - CĐ Kỹ thuật Cao Thắng
34 p | 81 | 4
-
Bài giảng môn Kỹ thuật điện – Chương 2: Mạch điện xoay chiều hình sin
27 p | 42 | 4
-
Bài giảng môn học Truyền số liệu: Chương 1 (phần 2) - CĐ Kỹ thuật Cao Thắng
30 p | 62 | 3
-
Bài giảng môn học Truyền số liệu: Chương 2 (phần 3) - CĐ Kỹ thuật Cao Thắng
22 p | 77 | 2
-
Bài giảng môn học Truyền số liệu: Chương 1 (phần 1) - CĐ Kỹ thuật Cao Thắng
14 p | 76 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn