Bài giảng thiết kế hệ thống số: Ngôn ngữ mô tả phần cứng HDL( Ngôn ngữ VHDL)

52 4 0
Bài giảng thiết kế hệ thống số: Ngôn ngữ mô tả phần cứng HDL( Ngôn ngữ VHDL)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng "Thiết kế hệ thống số" giới thiệu về ngôn ngữ mô tả phần cứng HDL, đặc biệt là ngôn ngữ VHDL. Trong bài giảng này, bạn sẽ được học cách sử dụng VHDL để mô tả và thiết kế các hệ thống số. Các chủ đề chính bao gồm cú pháp cơ bản của VHDL, các kiểu dữ liệu, lệnh điều khiển cơ bản và các khái niệm liên quan đến mô hình RTL (Register Transfer Level). Bằng cách tham gia bài giảng này, bạn sẽ có được kiến thức cần thiết để bắt đầu xây dựng các hệ thống số bằng VHDL.

Bài giảng thiết kế hệ thống số Chương 5C: Ngôn ngữ VHDL Chương : NGÔN NGỮ MÔ TẢ PHẦN CỨNG HDL Hardware Description Language Phần C: Ngôn ngữ VHDL (VHSIC HDL = Very-High-Speed Integrated Circuits) GV: TS Võ Đình Tùng Bài giảng thiết kế hệ thống số Chương 5C: Ngơn ngữ VHDL 7.1 TỔNG QUAN NGƠN NGỮ VHDL VHDL = VHSIC HDL (very-high-speed integrated circuits hardware descripton language) VHDL ngôn ngữ mô tả phần cứng, dùng phổ biến việc thiết kế mạch tích hợp hệ thống số cách dễ dàng hiệu với tốc độ cao Ngôn ngữ VHDL dựa ngôn ngữ mô tả phần cứng khác VHSIC (Very High Speed Integated Circuit) quốc phòng Mỹ phát triển từ năm 1980 Phiên ngôn ngữ VHDL 87 VHDL ngôn ngữ mô tả phần cứng tổ chức IEEE chứng nhận tiêu chuẩn chung Một điều thúc đẩy việc sử dụng ngơn ngữ VHDL tính chuẩn hóa, độc lập công nghệ nhà cung cấp…VHDL ứng dụng trực tiếp công nghệ FPGA , CPLDs…Code VHDL viết để thực thi mạch tích hợp thiết bị lập trình hãng Xilinx, Altera, Amtel … 7.2 CẤU TRÚC CỦA MỘT THIẾT KẾ DÙNG NGÔN NGỮ VHDL Ghi PACKAGE Library (Tùy chọn) (Thư viện) use ENTITY (Bắt buộc) ARCHITECTURE (Bắt buộc) CONFIGURATIONS (Tùy chọn) -7.2.1 PACKAGE (KHỐI) Package vùng lưu trữ liệu để dùng chung cho entity Mô tả liệu bên package cho phép tham khảo entity khác, liệu dùng chung Một package bao gồm phần: + Phần mô tả định nghĩa giao diện cho package + Phần thân ấn định hoạt động cụ thể package Cú pháp khai báo PACKAGE xác định là: GV: TS Võ Đình Tùng Bài giảng thiết kế hệ thống số Chương 5C: Ngôn ngữ VHDL PACKAGE example_arithmetic IS khai báo khối chứa khai báo sau: - Subprogram declaration - Type, subtype declaration - Constant, deferred constant declaration - Signal declaration creates a global signal - File declaration - Alias declaration - Attribute declaration, a user-define attribute - Attribute specification - Use clause END example_arithmetic; Tất đối tượng khai báo package truy xuất thiết kế cách sử dụng mệnh đề use khai báo library library my_lib; use my_lib.example_arithmetic.all; Một số thư viện chuẩn library ieee; use ieee.std_logic_1164.all; std_logic_1164: thư viện logic chuẩn IEEE (đoạn 1164), mục đích cung cấp chuẩn để mơ tả kiểu liệu kết nối VHDL std_logic_arith: thư viện chứa tập phép tốn hàm Kiểu std_logic có giá trị U Uninitialized X Unknown Zero One Z Tristate (Must be upper case!) GV: TS Võ Đình Tùng Bài giảng thiết kế hệ thống số Chương 5C: Ngôn ngữ VHDL W Weak unknown L Weak Zero H Weak One - Don't care Ngồi tự tạo riêng thư viện thiết kế 7.2.2 ENTITY Khai báo entity dùng để mô tả ngõ vào ngõ thiết kế Mức cao thiết kế VHDL khai báo entity đơn, thiết kế VHDL, tên file lưu trữ phải trùng với tên theo sau từ khóa entity Ví dụ, mơ tả cộng bán phần sau library ieee; use ieee.std_logic_1164.all; ENTITY HALF_ADDER IS PORT( A,B : IN BIT; SUM,CARRY : OUT BIT); END HALF_ADDER; Trong khai báo ENTITY, có kiểu tín hiệu khác nhau: • IN: mơ tả ngõ vào entity Kiểu IN sử dụng cho ngõ vào clock, ngõ vào điều khiển,… • OUT: mơ tả dòng liệu khỏi entity, entity khơng thể đọc tín hiệu này, kiểu OUT sử dụng tín hiệu khơng sử dụng kiểu entity • BUFFER: Kiểu tín hiệu mơ tả dịng liệu khỏi entity, entity đọc tín hiệu (mục đích đọc lại tín hiệu ngõ bên GV: TS Võ Đình Tùng Bài giảng thiết kế hệ thống số Chương 5C: Ngôn ngữ VHDL cấu trúc) Tuy nhiên , tín hiệu khơng thể điều khiển từ ngõ entity, sử dụng cho liệu ngõ vào • INOUT: Kiểu tín hiệu cho phép tín hiệu có hai kiểu: vào ra, khai báo tín hiệu theo kiểu INOUT tín hiệu điều khiển từ ngõ entity Kiểu tín hiệu nên sử dụng thật cần thiết(ví dụ bus kiệu trạng thái), sử dụng kiểu tín hiệu mã chương trình trở nên khó hiểu người thiết kế Loại tín hiệu phải mơ tả khai báo PORT, loại tín hiệu mơ tả giá trị mà tín hiệu ấn định, ngồi mơ tả vector tín hiệu có loại  Lưu ý: file report, không gán chân linh kiện biến ngõ vào gán ngẫu nhiên Để gán chân, thực từ phần mềm hỗ trợ thực sau: Ví dụ: ENTITY my_design is Port (a, b : in integer range to 7; c : bit_vector (3 to 5); d : bit_vector (27 downto 25); e : out Boolean); attribute pinnum: string; attribute pinnum of c: signal is "1,2,3"; attribute pinnum of d: signal is "6,5,4"; attribute pinnum of e: signal is "2"; END my_design; 7.2.3 ARCHITECTURE Chức architecture mô tả mối liên hệ tín hiệu ngõ vào tín hiệu ngõ ( bao gồm tín hiệu BUFFER), viết nhiều kiến trúc khác entity, số có khả xuất mã VHDL architechture có dạng: mơ tả cấu trúc (structure); mơ tả dịng liệu (data flow); mơ tả hành vi (behavioral) GV: TS Võ Đình Tùng Bài giảng thiết kế hệ thống số Chương 5C: Ngôn ngữ VHDL 7.2.3.1 Mô tả architechture dạng cấu trúc (structure) Ví dụ chương trình cộng có dạng: ENTITY HALF_ADDER IS PORT( A,B : IN BIT; SUM,CARRY : OUT BIT); END HALF_ADDER; ARCHITECTURE HA_STRUCTURE OF HALF_ADDER IS Component XOR2 Port(X,Y: in BIT; Z: out BIT); End component Component AND2 Port(L,M: in BIT; N: out BIT); End component BEGIN X1: XOR2 port map (A,B,SUM); A1: AND2 port map (A,B,CARRY); END HA_STRUCTURE; Chú ý, trường hợp tín hiệu Port Map (ánh xạ cổng) đối tượng thành phần tín hiệu khai báo phải liên kết theo vị trí 7.2.3.2 Mơ tả architechture dạng dịng liệu (data flow) Ví dụ chương trình cộng có dạng: ENTITY HALF_ADDER IS PORT( A,B : IN BIT; SUM,CARRY : OUT BIT); END HALF_ADDER; ARCHITECTURE HA_STRUCTURE OF HALF_ADDER IS BEGIN SUM

Ngày đăng: 03/04/2023, 15:04

Tài liệu cùng người dùng

Tài liệu liên quan