Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,88 MB
Nội dung
Bài giảng môn Kỹ thuật số Chương THIẾT KẾ SỐ DÙNG VHDL Giảng viên: Nguyễn Hữu Chân Thành Bài giảng môn Kỹ thuật số NỘI DUNG 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 Giảng viên: Nguyễn Hữu Chân Thành Bài giảng môn Kỹ thuật số 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 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 Bài giảng môn Kỹ thuật số 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 Bài giảng môn Kỹ thuật số 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 Bài giảng môn Kỹ thuật số 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ô (simulation) Mô chức (functional simulation) Mô định thời (timing simulation) Giảng viên: Nguyễn Hữu Chân Thành Bài giảng môn Kỹ thuật số GIỚI THIỆU (tt) VHDL (Very High Speed Integrated Circuits HDL): Ngôn ngữ dùng để mô tả hệ thống số: lập tài liệu (documentation), mô (simulation), kiểm chứng (verification) tổng hợp (synthesis) VHDL chuẩn hóa vào năm 1987 qua chuẩn IEEE 1076 (VHDL-87) cập nhật năm 1993 (VHDL-93) Sau bổ sung qua chuẩn IEEE 1164 với hệ thống logic đa trị Ứng dụng: thiết kế với PLD, CPLD FPGA Sự khác biệt VHDL ngôn ngữ lập trình thơng thường Ngơn ngữ lập trình thông thường: VHDL: song song Giảng viên: Nguyễn Hữu Chân Thành Bài giảng môn Kỹ thuật số 2 CÁC CẤU TRÚC CƠ BẢN CỦA VHDL 2.1 Entity Packages Entity Entity Declaration Black box Interface declaration Internal machinery Architecture body Functional definition Giảng viên: Nguyễn Hữu Chân Thành Bài giảng môn Kỹ thuật số 2.1 Entity (tt) Khai báo entity Entity định nghĩa giao tiếp module phần cứng với môi trường bên ngồi sử dụng 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 Bài giảng môn Kỹ thuật số 2.1 Entity (tt) Các port khai báo entity: Mỗi tín hiệu I/O khai báo entity đ ược xem m ột port Mỗi port khai báo phải có tên, chiều liệu (mode) kiểu liệu port (port_name: mode data_type; port_name: mode data_type; … port_name: mode data_type); Các mode: In: luồng liệu vào entity Out: luồng liệu khỏi entity Buffer: tương tự out, cho phép hồi tiếp nội Inout: luồng liệu vào hay entity 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.1 Entity (tt) Kiểu liệu: IEEE 1076/93: boolean, bit, bit_vector, integer, … IEEE std_logic_1164: std_ulogic, std_ulogic_vector, std_logic std_logic_vector (hệ thống logic đa trị) Các kiểu liệu người sử dụng đinh nghĩa Khai báo kiểu liệu phải cho phép entity thấy qua mệnh đề library use Ví dụ 2.1: khai báo cổng AND entity andgate is port (A, B: in bit; C : out bit); end andgate; ANDGATE A C B Giảng viên: Nguyễn Hữu Chân Thành 11 Bài giảng mơn Kỹ thuật số 2.1 Entity (tt) Ví dụ 2.2: khai báo so sánh 4-bit entity eqcomp4 is port (A, B : in bit_vector(3 downto 0); equals : out bit); [3:0] A[3:0] end eqcomp4; Equals Ví dụ 2.3: B[3:0] library ieee; 4-bit comparator 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; 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 Thân kiến trúc (Architecture body) Khai báo entity hộp đen với mô tả giao tiếp I/O cịn thân kiến trúc cung cấp mơ tả chức hộp đen Một entity có nhiều thân kiến trúc Mỗi thân kiến trúc kết hợp với khai báo entity Các kiến trúc VHDL chia làm loại: Mô tả hành vi (behavior description) Mô tả dạng giải thuật (algorithmic description) Mô tả luồng liệu (data flow description) Mô tả cấu trúc (structural description) Một thiết kế dùng loại hay kết hợp loại với Giảng viên: Nguyễn Hữu Chân Thành 13 Bài giảng môn Kỹ thuật số GIỚI THIỆU (tt) Biểu diễn hệ thống: Dạng hành vi: mô tả chức hệ thống → tập trung vào quan hệ tín hiệu vào Dạng cấu trúc: mô tả cài đặt bên hệ thống → đặc tả rõ ràng thành phần dùng kết nối 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 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 hệ thống → tập trung vào quan hệ tín hiệu vào Mơ tả dạng giải thuật: cịn gọi mơ tả cấp cao (high-level) tương tự với mô tả ngôn ngữ cấp cao 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 Thân kiến trúc (Architecture body) (tt) Ví dụ 2.4: Mơ tả dạng giải thuật: so sánh 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