Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL - Giới thiệu VHDL, cấu trúc chương trình
Thiết kế logic số
(Digital Logic design)
Chương 2: Ngôn ngữ VHDL
Bài giảng: Giới thiệu VHDL, cấu trúc chương trình
VHDL
Giáo viên: TS. Hoàng Văn Phúc
Bộ môn KT Xung-Số-Vi xử lý, Khoa Vô tuyến Điện tử
02/2017
Nội dung, Phương pháp
Nội dung: Lịch sử phát triển ngôn ngữ VHDL, Cấu
trúc chương trình VHDL, Các dạng mô tả kiến trúc
và ví dụ
Thời lượng: 3 tiết bài giảng
Phương pháp: Thuyết trình + Slides + Bảng + Minh
hoạ trên ModelSim
Yêu cầu: Nắm được các đặc điểm, cấu trúc chương
trình VHDL, các dạng mô tả kiến trúc, hiểu cách xử
lý với ngôn ngữ VHDL
2
Chương 2: Ngôn ngữ VHDL
Tài liệu tham khảo và phần mềm hỗ trợ
Tài liệu:
Giáo trình “Thiết kế logic số”, Học viện KTQS, trang 41-53
Douglas L Perry, VHDL Programming by Example, 4th
Edition, 2002
Phần mềm:
Phần mềm soạn thảo Notepad++
Phần mềm mô phỏng Modelsim
3
Chương 2: Ngôn ngữ VHDL
Kiểm tra bài cũ
Câu hỏi: Thiết bị logic khả trình nào hiện nay (đã học
trong bài giảng 1) có thể cung cấp nhiều tài nguyên và
có khả năng xử lý mạnh mẽ nhất?
A. PLA
B. PAL
C. FPGA
D. CPLD
4
Chương 2: Ngôn ngữ VHDL
Lịch sử phát triển của VHDL
VHDL: Very-High-Speed-Integrated-Circuit Hardware
Description Language (Ngôn ngữ mô tả phần cứng vi mạch
tốc độ rất cao)
1981: Phát triển bởi Bộ Quốc phòng Mỹ
1983-1985: Được phát triển thành một ngôn ngữ HDL chính
thống bởi 3 công ty Intermetrics, IBM và TI
1986: Chuyển giao toàn bộ bản quyền cho IEEE
1987: Công bố thành chuẩn ngôn ngữ IEEE-1076 1987
2002: Công bố chuẩn VHDL IEEE-1076 2002
2009: Công bố chuẩn VHDL IEEE-1076 2009
5
Chương 2: Ngôn ngữ VHDL
HDL trong phân cấp thiết kế hệ thống số
RTL code
(tổng hợp)
(Kiến trúc)
(Chức năng)
HDL
(Cấu trúc)
(Vật lý)
tes
(mô phỏng)
Một số ngôn ngữ HDL: VHDL, Verilog, AHDL …
________________________________________________________
RTL (Register Transfer Level): Mức truyền thanh ghi (mức mô tả HDL)
6
Tại sao cần có VHDL?
Có thể hỗ trợ mô hình hoá, thiết kế, mô phỏng, kiểm tra
mạch số phức tạp
Tự động hóa thiết kế, kiểm tra, mô tả độc lập với công
nghệ…
7
Chương 2: Ngôn ngữ VHDL
Các dạng mã nguồn VHDL
VHDL for Specification
VHDL for Simulation
VHDL for Synthesis
VHDL for Specification: Mã nguồn VHDL cho mô tả đặc tính kỹ thuật
VHDL for Simulation: Mã nguồn VHDL cho mô phỏng
VHDL for Synthesis: Mã nguồn VHDL cho tổng hợp
8
Đặc điểm của VHDL
Tính phổ biến
Độc lập với công nghệ
Khả năng mô tả đa cấp
Khả năng trao đổi, tái sử dụng
9
Chương 2: Ngôn ngữ VHDL
Phân cấp trong thiết kế với VHDL
Gói
Thực thể
Kiến trúc
Các phát biểu
Concurrent Statement: Phát biểu đồng thời
Sequential Statement: Phát biểu tuần tự
10
Chương 2: Ngôn ngữ VHDL
HDL có phải ngôn ngữ lập trình?
Không phải điều khiển thực hiện thao tác của hệ thống mà
là tạo ra/mô phỏng hệ thống phần cứng
11
Chương 2: Ngôn ngữ VHDL
VHDL có phải ngôn ngữ lập trình?
Không phải điều khiển thực hiện thao tác của hệ thống mà
là tạo ra/mô phỏng hệ thống phần cứng
VHDL: ngôn ngữ luồng dữ liệu (dataflow language)
các phép xử lý xảy ra đồng thời
khác với
Các ngôn ngữ thủ tục (procedural computing languages)
như Pascal, C, assembly: các lệnh được thực thi tuần tự
12
Chương 2: Ngôn ngữ VHDL
Ví dụ VHDL đơn giản
VHDL code:
Phần cứng tạo ra:
if (S = '1') then
Y <= B;
else
Y <= A;
end if;
?
13
Chương 2: Ngôn ngữ VHDL
Ví dụ VHDL đơn giản
VHDL code:
Phần cứng tạo ra:
if (S = '1') then
Y <= B;
else
Y <= A;
end if;
MUX2
14
Chương 2: Ngôn ngữ VHDL
HDL trong qui trình thiết kế vi mạch số sơ lược
Các chỉ tiêu kỹ thuật và ràng buộc
Mô tả HDL ban đầu
Lựa chọn cấu trúc
Mô tả mức RTL bằng HDL
Tổng hợp
Thiết kế mức cổng
Front-end
Sắp xếp, tạo kết nối
Back-end
Thiết kế vật lý
Thiết kế chip
15
Chương 2: Ngôn ngữ VHDL
HDL trong qui trình thiết kế trên FPGA
16
Chương 2: Ngôn ngữ VHDL
Một số lưu ý về VHDL
Không phân biệt chữ hoa/thường với tên biến, hằng, tín hiệu,
tên entity, architecture. Trừ trường hợp giá trị trực tiếp („Z‟, „X‟
chứ không phải là „z‟, „x‟)
Thống nhất một loại in hoa hay in thường
Một entity có thể có nhiều architecture khác nhau (để chọn
architecture nào được dùng thì dùng phát biểu configuration)
Các thành phần của một thiết kế VHDL có thể đặt ở trong
nhiều file khác nhau (.vhd). Tuy nhiên, thiết kế VHDL cho một
thực thể nên đặt trong 1 file duy nhất (1 entity/1 file)
17
Chương 2: Ngôn ngữ VHDL
Các từ khoá của VHDL
18
Chương 2: Ngôn ngữ VHDL
Cấu trúc chương trình VHDL
Các kiểu dữ
liệu, toán tử …
Khai báo thư viện
LIBRARY declaration
Giao diện của
Mô tả thực thể
ENTITY Declaration
khối thiết kế
Mô tả kiến trúc
ARCHITECTURE
Cấu trúc
bên trong
Hành vi
Luồng dữ liệu
Cấu trúc
Behavioral
DataFlow
Structure
19
Chương 2: Ngôn ngữ VHDL
Khai báo thư viện (library)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
• Phải được đặt đầu tiên
trong mỗi thiết kế VHDL
• IEEE.STD_LOGIC_1164: cung cấp các kiểu dữ liệu
std_ulogic, std_logic, std_ulogic_vector, std_logic_vector, các
hàm logic như and, or, not, nor, xor… các hàm chuyển đổi
giữa các kiểu dữ liệu trên.
• IEEE.STD_LOGIC_ARITH: định nghĩa các kiểu dữ liệu số
nguyên SIGNED, UNSIGNED, INTEGER, cung cấp các hàm
số học bao gồm “+”, “-”, “*”, “/”, so sánh “<”, “>”, “<=”, “>=”,
các hàm dịch trái, dịch phải, các hàm chuyển đổi từ kiểu
vector sang các kiểu số nguyên.
20
Chương 2: Ngôn ngữ VHDL
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế logic số - Chương 2: Ngôn ngữ VHDL - Giới thiệu VHDL, cấu trúc chương trình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_thiet_ke_logic_so_chuong_2_ngon_ngu_vhdl.pdf

