3.1 GIỚI THIỆU CHUNG VHDL VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao VHDL:Very High Speed Integrated Circuits - Hardware Description Language TIÊU CHUẨN VHDL:
Trang 1Giảng viên: Ths Nguyễn Thị Thu Hằng
SLIDE BÀI GIẢNG MÔN
Chương 3: Căn bản về
ngôn ngữ VHDL THIẾT KẾ LOGIC SỐ
Trang 2NỘI DUNG CHƯƠNG 3 3.1 GIỚI THIỆU CHUNG VHDL
3.2 NHỮNG ƯU ĐIỂM CỦA VHDL
3.3 CÁC ĐƠN VỊ THIẾT KẾ TRONG VHDL
3.4 CẤU TRÚC NGÔN NGỮ VHDL
Trang 33.1 GIỚI THIỆU CHUNG VHDL
VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao (VHDL:Very High Speed Integrated Circuits - Hardware Description Language)
TIÊU CHUẨN VHDL:
VHDL được tiêu chuẩn hóa từ 1987 bởi IEEE
1076-1987, nâng cấp năm 1993 Từ đó các phiên bản tiếp
theo của tiêu chuẩn đã ra đời Đa số các phần mềm
thiết kế hiện nay đều hỗ trợ VHDL
Trang 4TIÊU CHUẨN VHDL:
3.1 GIỚI THIỆU CHUNG VHDL
Trang 5Tính công cộng
Tính độc lập với công nghệ
NHỮNG ƢU ĐIỂM CỦA VHDL
Khả năng
mô tả mở rộng
Khả năng hỗ trợ nhiều công nghệ
Trang 63.3 Các đơn vị thiết kế trong VHDL
Trang 73.3 Các đơn vị thiết kế trong VHDL (tt)
Trang 83.3 Các đơn vị thiết kế trong VHDL (tt)
Trang 9Ví dụ
3.3 Các đơn vị
thiết kế trong
VHDL (tt)
Trang 103.4.1 Đối tượng trong VHDL
VHDL gồm có 3 đối tượng là: tín hiệu - signal, biến - variable, hằng – constant
3.4 Cấu trúc ngôn ngữ VHDL
Trang 113.4.2 Kiểu dữ liệu trong VHDL
Kiểu vô hướng : gồm
những dạng có sẵn
Trang 13►Ví dụ:
3.4.2 Kiểu dữ
liệu trong
VHDL
Trang 143.4.2
Kiểu dữ
liệu trong
VHDL
Trang 153.4.2 Kiểu dữ
liệu trong
VHDL
Trang 163.4.2 Kiểu dữ
liệu trong
VHDL
Trang 20c Toán tử số học
Sử dụng cho kiểu dữ liệu Integer, Real, Signed, Unsigned, các
dạng dữ liệu vật lý, Std_logic, Std_logic_vector, Bit,
Bit_vector Các toán tử số học là: +, -, *, /, abs (trị tuyệt đối), ** (hàm mũ)
trong VHDL gồm: sll (dịch trái
logic), srl (dịch phải logic), sla (dịch trái số học), sra (dịch phải số học), rol (quay
Trang 21e Toán tử ghép nối
f Toán tử tách
Trang 223.4.4 Các đơn vị thiết kế trong VHDL
hoạt động bên trong
của một Entity hay
thiết kế cấu hình cho phép gắn các phiên bản của thực thể vào những kiến trúc khác nhau
Trang 23a Entity - (Thực thể)
3.4.4 Các đơn vị thiết kế trong VHDL
Trang 25c Package và Package Body
Package là đơn vị thiết kế cơ bản dùng để chứa những khai báo cho các đối tượng, chương trình con, hàm, kiểu dữ liệu, component
3.4.4 Các đơn vị thiết kế trong VHDL
Trang 26c Package và Package Body
Package Body dùng để
chứa những mô tả chỉ
tiết trong đơn vị thiết kế
Package, mô tả chi tiết
nội dung của các hàm,
các thủ tục
3.4.4 Các đơn vị thiết kế trong VHDL
Trang 27d Library (thƣ viện)
Trang 293.4.5 Cấu trúc chung của một chương trình
mô tả VHDL
Trang 303.4.6 Môi trường kiểm tra “testbench”
Trang 31Chương trình VHDL mô
tả cho mạch “Logic_AND”
Coi khối Logic_AND như một component để tạo thành khối Test_bench
3.4.6 Môi trường kiểm tra “testbench”
Trang 32Toàn bộ mã mô tả cho
Test_bench
Trang 333.4.7 Các cấu trúc lệnh song song
a Cấu
trúc
Process
Trang 34Mô hình kết nối của các Process
Trang 35b Các phép gán tín hiệu song song
<tín_hiệu_đích> <= <biểu_thức> [after <biểu_thức_thời_gian>];
phép gán song song Process phép gán tuần tự
Trang 36c Phép gán tín hiệu có điều kiện
Trang 37d Phép gán tín hiệu theo lựa chọn
Phép gán tín hiệu theo lựa chọn thực hiện gán cho
một tín hiệu đích với biểu thức with
Trang 38e.Khối (Block) Block bao gồm tập hợp các cấu trúc lệnh song
song biểu diễn một thành phần của mô hình
Phần_khai_báo có thể là các khai báo sau:
- Khai báo hằng, kiểu dữ liệu, tín hiệu
- Thân chương trình con
- Khai báo bí danh
- Khai báo component
Trang 393.4.8 Cấu trúc lệnh tuần tự
Trang 40b Phép gán tín hiệu
Tín_hiệu_đích<= biểu_thức [after giá_trị_thời_gian];
Trang 41c Lệnh if
Trang 42d Lệnh case
Trang 43f Các lệnh lặp
Vòng lặp không chứa
sơ đồ lặp
Trang 44Vòng lặp chứa sơ đồ lặp
Trang 45Vòng lặp chứa sơ đồ lặp dạng “for”
Vòng lặp chứa <sơ_đồ_lặp> dạng while
Trang 463.4.9 Hàm và thủ tục
Thủ tục – PROCEDURE, và hàm – FUNCTION còn được gọi chung là chương trình con Về mặt cấu trúc thì hàm và thủ tục khá giống với PROCESS là chúng chỉ chứa các
lệnh tuần tự
Trang 47PROCEDURE tương tự như hàm – FUNCTION,
nhưng thủ tục không được trả về giá trị