Tải bản đầy đủ (.ppt) (118 trang)

BÀI GIẢNG THIẾT KẾ LOGIC SỐ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (538.94 KB, 118 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

THIẾT KẾ LOGIC SỐ

Giảng viên:

TS. Nguyễn Ngọc Minh

Điện thoại/E-mail:

84-4- 3351 9391

Bộ môn:

KTĐT-Khoa KTĐT

Học kỳ/Năm biên soạn: Kỳ 1/2012
www.ptit.edu.vn

Thiết kế logic số

Trang 1


Chương 3

NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL
TS. Nguyễn Ngọc Minh
Khoa KTĐT1



www.ptit.edu.vn

Thiết kế logic số

Trang 2


Nội dung


Lịch sử phát triển của VHDL



Những ưu điểm của VHDL



Cấu trúc ngôn ngữ của VHDL

www.ptit.edu.vn

Thiết kế logic số

Trang 3


Tài liệu tham khảo






The Designer's Guide to VHDL by Peter Ashenden,
Morgan Kaufmann, 1996
VHDL mini-reference by Prof. Nelson
– />l.html
VHDL Tutorial:
– />– />– />mer.html
– />– …………………………………..

www.ptit.edu.vn

Thiết kế logic số

Trang 4


Lịch sử phát triển của VHDL
• Là ngôn ngữ mô tả phần cứng cho các mạch
tích hợp tốc độ cao
• VHDL: VHSIC hardware description language
• VHSIC (Very High Speed Intergrated Circuit)
• Ngôn ngữ VHDL được 3 công ty Intermetics,
IBM và Texas Instruments bắt đầu nghiên cứu
phát triển vào tháng 7/1983
• Phiên bản đầu tiên được công bố vào tháng 81985
• Năm 1987 IEEE đã đưa ra tiêu chuẩn VHDL đầu
tiên (IEEE-1076-1987)

• Năm 1993, IEEE đưa ra phiên bản IEEE-10161993
www.ptit.edu.vn

Thiết kế logic số

Trang 5


• Bản tiêu chuẩn năm 2000 và 2002 bổ sung
một số ý tưởng về về VHDL hướng đối tượng
• Năm 2006, ủy ban kỹ thuật VHDL của
Accellera được sự ủy nhiệm của IEEE để
thực hiện các cập nhật tiếp theo cho tiêu
chuẩn đã đưa phiên bản VHDL 3.0 (tiêu
chuẩn VHDL-2006)
• Năm 2008, Accellera đã đưa ra phiên bản
VHDL 4.0 (tiêu chuẩn VHDL 2008)

VHDL-2X
VHDL-93
VHDL-87

www.ptit.edu.vn

Thiết kế logic số

Trang 6


Những ưu điểm của VHDL


+ Các mạch số ngày càng phức tạp, những phương pháp
thiết kế truyền thống như dùng phương pháp tối thiểu hoá
hàm Boolean hay dùng sơ đồ các phần tử trở lên khó
khăn và mất nhiều thời gian.
+ Phương pháp sử dụng các ngôn ngữ mô tả phần
cứng( HDL-Hard ware Description Languages ) đang trở
thành một phương pháp thiết kế các hệ thống điện tử số
phổ biến trên toàn thế giới

www.ptit.edu.vn

Thiết kế logic số

Trang 7


Những ưu điểm của VHDL
• Sử dụng VHDLcho phép:
• Thiết kế, chạy mô phỏng, gỡ rối ở mức cao
trước khi chuyển sang mạch số ở mức cổng và
flip-flop.
• Cung cấp công cụ để tổng hợp hệ thống số
trước khi thực hiện chuyển đổi.
• VHDL được phát triển như một ngôn ngữ độc lập
• không gắn với bất kỳ một phương pháp thiết
kế, một bộ mô tả hay công nghệ phần cứng
nào.
• Người thiết kế có thể tự do lựa chọn công
nghệ, phương pháp thiết kế trong khi chỉ sử

dụng một ngôn ngữ duy nhất

www.ptit.edu.vn

Thiết kế logic số

Trang 8


Những ưu điểm của VHDL


Thứ nhất là tính công cộng :

– là một tiêu chuẩn của IEEE.
– VHDL được sự hỗ trợ của nhiều nhà sản xuất
thiết bị cũng như nhiều nhà cung cấp công cụ
thiết kế mô phỏng hệ thống


Thứ hai là khả năng hỗ trợ nhiều công nghệ và phương
pháp thiết kế

– cho phép thiết kế bằng nhiều phương pháp
– cũng hỗ trợ cho nhiều loại công cụ thiết kế
mạch


Thứ ba là tính độc lập với công nghệ


– VHDL hoàn toàn độc lập với công nghệ chế tạo
phần cứng

www.ptit.edu.vn

Thiết kế logic số

Trang 9


Những ưu điểm của VHDL
• Thứ tư là khả năng mô tả mở rộng:
– VHDL cho phép mô tả hoạt động của phần cứng từ
mức hệ thống cho đến mức cổng logic

• Thứ năm là khả năng trao đổi kết quả:


Vì VHDL là một tiêu chuẩn được chấp nhận, nên
một mô hình VHDL có thể chạy trên mọi bộ mô tả
đáp ứng được tiêu chuẩn VHDL

• Thứ sáu là khả năng hỗ trợ thiết kế mức
lớn và khả năng sử dụng lại các thiết kế:
– VHDL được phát triển như một ngôn ngữ lập trình
bậc cao,
– có thể được sử dụng để thiết kế một hệ thống
lớn với sự tham gia của một nhóm nhiều người
– cho phép dùng lại các phần đã có sẵn.
www.ptit.edu.vn


Thiết kế logic số

Trang 10


Cấu trúc ngôn ngữ cơ bản của VHDL
• Các đơn vị thiết kế: Các thành phần cơ bản cấu
trúc lên một chương trình mã mô tả dùng VHDL.
• Đối tượng: Quy định các dạng tín hiệu cố định,
tín hiệu, cổng vào-ra, hay tín hiệu đệm.
• Các kiểu dữ liệu: Quy định các kiểu dữ liệu có
thể được dùng để gán cho mỗi đối tượng.
• Các phép toán: Quy định các phép toán sử dụng
cho mỗi loại dữ liệu.
• Các cấu trúc lệnh tuần tự: Cấu trúc câu lệnh
thực hiện theo tiến trình tuần tự, thường dùng
mô tả các cấu trúc mạch tuần tự của mạch số.
• Các cấu trúc lệnh song song: Cấu trúc câu lệnh
thực hiện song song, thường dùng mô tả các cấu
trúc mạch tổ hợp.

www.ptit.edu.vn

Thiết kế logic số

Trang 11


Các đơn vị thiết kế trong VHDL



Đơn vị thiết kế cơ bản:

– Entity: (Thực thể)
• -cho phép khai báo các giao diện của một khối thiết kế số
nào đó: như khai báo các cổng vào/ra, các tham số của khối
mạch
– Library:
• Cho phép tạo thư viện trong VHDL
– Package:
• Tạo các gói giữ liệu trong Library, như các khai báo các đối
tượng, khai báo thủ tục, hàm...

www.ptit.edu.vn

Thiết kế logic số

Trang 12


Các đơn vị thiết kế trong VHDL
• Đơn vị thiết kế thứ cấp (Phụ thuộc vào một
đơn vị thiết kế cơ bản):
– Architecture (kiến trúc):
• Mô tả hoạt động bên trong của một Entity hay đây chính là
phần mô tả hoạt động của khối mạch số.
– Configuration:
– Package Body:
• Mô tả chỉ tiết cho các khai báo trong Package như viết các

hàm, các thủ tục ...

www.ptit.edu.vn

Thiết kế logic số

Trang 13


Cấu trúc cơ bản của file VHDL

Main Code
Nội dung LIBRARY

Khai báo
LIBRARY

PACKAGE
FUNCTIONS
PROCEDURES
COMPONENTS
CONSTANTS
TYPES

ENTITY

ARCHITECTURE

www.ptit.edu.vn


Thiết kế logic số

Trang 14


Entity
• là phần khai báo Tên của thực thể cũng như
tham số, đặc tính và giao diện cổng vào/ra
cho phần tử, khối con hay cả hệ thống số.
• Ta có thể có tất cả các thông tin để kết
nối phần tử mạch này vào phần tử mạch khác
trong hệ thống hoặc thiết kế tác nhân đầu
vào
• Hoạt động thật sự của mạch không nằm ở
phần khai báo này mà được viết trong phần
ARCHITECTURE tương ứng.
• Trong nhiều phần mềm thiết kế cho phép
việc khai báo ENTITY này hoàn toàn tự động

www.ptit.edu.vn

Thiết kế logic số

Trang 15


Entity Declaration
entity NAME_OF_ENTITY is
port (signal_names: mode type;
signal_names: mode type;

:
signal_names: mode
type);
end [NAME_OF_ENTITY] ;






NAME_OF_ENTITY: user defined
signal_names: list of signals
(both input and output)
mode: in, out, buffer, inout
type: boolean, integer, character,
std_logic

www.ptit.edu.vn

Thiết kế logic số

Trang 16


VD Entity

entity Circuit is
generic( delay: Time:=1ns);
port(A, B : in std_logic ;
X : out std_logic;

Y : inout std_logic;
Z :
bufferstd_logic);
end Circuit;

www.ptit.edu.vn

Thiết kế logic số

PLD
A

Circuit

X
Y

B

Z

Trang 17


Input-Output specification of circuit

 Example: my_ckt
 Inputs: A, B, C
 Outputs: X, Y
 VHDL description:


A
X
B

my_ckt
Y

S

entity my_ckt is
port (
A: in bit;
B: in bit;
S: in bit;
X: out bit;
Y: out bit);
end my_ckt ;

www.ptit.edu.vn

Thiết kế logic số

Trang 18


VHDL entity




entity my_ckt is
port (
A: in bit;
B: in bit;
S: in bit;
X: out bit;
Y: out bit
);
end my_ckt;
Tên Port

www.ptit.edu.vn




A



B

Kiểu dữ liệu:
Name
Tên
của
ofkhối
the circuit
logic
 In-built

User-defined
 User-defined
Filename
Tên
file nên
same
trùng
as với
circuit
tên
name
của
khối logic
Example.
VD:
X
 Tên
Circuit
entity:
name:
my_ckt
my_ckt
my_ckt
 Filename: my_ckt.vhd
Y

S
Hướng của port:
 in: Input
 out: Output

inout:
Bidirectional
Không có “;”
tại Port
cuối cùng.
Có dấu “;” cuối khai báo

Thiết kế logic số

Trang 19


Architecture – (Kiến trúc)
• Đơn vị thiết kế này cho phép mô tả hoạt động bên trong
của thực thể (mạch số).
• Phần khai báo kiến trúc có thể bao gồm các khai báo về
các đối tượng signal, constant, kiểu dữ liệu, khai báo
các phần tử bên trong hệ thống (component), hay các
hàm (function) và thủ tục (proceduce)
• Tên_kiến_trúc là nhãn được đặt tuỳ theo người sử dụng

Architecture Tên_kiến_trúc of Tên_thực_thể is
-- Thực hiện các khai báo cho kiến trúc
...
Begin
-- Viết các mô tả hoạt động bên trong cho thực thể
...
End Tên_kiến_trúc;

www.ptit.edu.vn


Thiết kế logic số

Trang 20


Architecture – (Kiến trúc)
• Thông thường có thể sử dụng 3 cách chính mô tả kiến
trúc của một phần tử hay hệ thống số :
– mô tả theo mô hình hành vi (Behaviour)
– mô tả theo mô hình cấu trúc logic (Structure)
– và mô hình luồng dữ liệu (RTL).

• có thể kết hợp sử dụng 2 hoặc cả 3 mô hình mô tả trên
để thực hiện cho từng thành phần con tương ứng của hệ
thống số
• Theo VHDL tiêu chuẩn thì một ENTITY có thể có nhiều
ARCHITECTURE mô tả hoạt động cho nó theo cách cách
khác nhau,
• tuy nhiên đa số các phần mềm thiết kế hiện này trong
một file mã mô tả VHDL thì chỉ cho phép viết một
ARCHITECTURE,

nếu muốn viết nhiều các mô tả hoạt động khác nhau
thì có thể viết ở nhiều file khác nhau và với tên
khác của ENTITY nhưng có giao diện hoàn toàn giống
nhau
www.ptit.edu.vn

Thiết kế logic số


Trang 21


-- Khai báo giao diện
entity Circuit is
generic( delay: Time:=1ns);
port(A, B : in std_logic ;
X : out std_logic;
Y : inout std_logic;
Z : buffer std_logic);
end Circuit;
-- Mô tả hoạt động
architecture Behavioral of Circuit
is
constant GND: std_logic:='0';
signal c: std_logic;
begin
c<= A and B after delay;
Y<=Y or Z; -- Y là inout nên có
thể --vừa ghi vừa đọc được
X<= c xnor Y;
end Behavioral;

www.ptit.edu.vn

Thiết kế logic số

PLD
Circuit


X

A
Y
B

Z

Trang 22


VD-Buzzer System
entity Buzzer is
port (door, ignition,
sbelt: in
std_logic;
warning: out
std_logic);
end Buzzer;
architecture behavioral of
Buzzer is
begin
Warning<= (not door and
ignition) or (not sbelt and
ignition);
end behavioral;

www.ptit.edu.vn


Thiết kế logic số

Trang 23


VD: Half Adder
library ieee;
use ieee.std_logic_1164.all;
entity half_adder is
port(
x,y: in std_logic;
sum, carry: out
std_logic);
end half_adder;
architecture myadd of
half_adder is
begin
sum <= x xor y;
carry <= x and y;
end myadd;

www.ptit.edu.vn

Thiết kế logic số

Trang 24


Full Adder


 

 




HA1


HA2




S_ha = (A xor B) = int1
C_ha = (A and B) = int2
(A xor B) xor Cin = int1 xor Cin = Sum
(A xor B) and Cin = int 1 and Cin = int3
int2 or int3 = Cout

www.ptit.edu.vn

Thiết kế logic số

Trang 25


×