Dr. Le Dung Hanoi University of Science and Technology THI!T K! S" V#I VHDL QUA CÁC VÍ D$
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 1/32
Dr. Le DungHanoi University of Science and Technology
THIẾT KẾ SỐ VỚI VHDLQUA CÁC VÍ DỤ
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 2/32
NỘI DUNG
Dr. Le Dung Hanoi University of Science and Technology
• GIỚI THIỆU CHUNG VỀ THIẾT KẾ SỐ VỚI VHDL
• TỔNG QUAN VỀ NGÔN NGỮ VHDL
• LIBRARY DECLARATION
• ENTITY DECLARATION
• ARCHITECTURES
• CONFIGURATION
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 3/32
Dr. Le Dung Hanoi University of Science and Technology
DANH SÁCH CÁC VÍ DỤ
• VÍ DỤ 1 : Bộ cộng Half-Adder
• VÍ DỤ 2: Bộ so sánh 3 bits
• VÍ DỤ 3: FSMD - ISA bus interface design
• VÍ DỤ 4: Bộ MUX21 (Thiết kế 1, 2 , 3)
• VÍ DỤ 5: Testbench cho MUX21
• VÍ DỤ 6: Mạch so sánh 2 số 8 bits
• VÍ DỤ 7: Mảng AND 4 bits• VÍ DỤ 8: XOR3_Gate kiến trúc DATAFLOW
• …….
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 4/32
GIỚI THIỆU CHUNG VỀ THIẾT KẾ SỐ VỚI VHDL
Dr. Le Dung Hanoi University of Science and Technology
• Các mức thiết kế tr ừu tượng (Levels of Abstraction)
• Chu trình thiết kế số trên ASIC & FPGA với VHDL• Công cụ phần mềm thiết kế với VHDL
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 5/32
Dr. Le Dung Hanoi University of Science and Technology
CÁC MỨC THIẾT KẾT TRỪU TƯỢNG - Levels of Abstraction in IC design -
Physic
layout level
Behavioural level
Register Transfer level (RTL)
Gate level
Fab
y y = f(a,b)
D e s i g n C o m p i l a t i o n P r o c e s s
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 6/32
Dr. Le Dung Hanoi University of Science and Technology
CHU TRÌNH THIẾT KẾ SỐ TRÊN ASIC & FPGA
Requirements
SimulateRTL Model
Gate-level
Model
Synthesize
Simulate Test Bench
ASIC or FPGA Place & Route
Timing
Model Simulate
D e s i g n C o m p i l a t i o n P r o c e s s
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 7/32
Dr. Le Dung Hanoi University of Science and Technology
CHU TRÌNH THIẾT KẾ VỚI VHDL
Mô phỏng mãVHDL
Viết mã VHDLcho từng khối
(Block)
Viết mã VHDL chobàn kiểm tra(Testbench)
Phân tích hệ thống và
phân chia khối (Block)
Tổng hợp logic(netlists & gate structure)
Mô phỏng ở mức cổng (gate level)
Tổng hợp trên vi mạch (floor planning, place, route, timing, implement)
Behavioural level
RT level
Gate level
Physic
layout level
chiếm 70%thời gianthiết kế
D e s i g n C o m p i l a t i o n P r o c e s s
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 8/32
Dr. Le Dung Hanoi University of Science and Technology
CÔNG CỤ PHẦN MỀM THIẾT KẾ VỚI VHDL • Aldec Active HDL
• Mentor Graphics ModelSim• Synplicity Synplify Pro
• ModelSim Xilinx
• Xilinx XST
• Xilinx ISE • Xilinx WebPACK
• Altera Quartus II
• ModelSim Altera
• Altera Quartus II Web Edition• GMU ATHENa
• DirectVHDL Green Mountain
EDA TOOLS
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 9/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ: PHẦN MỀM QUARTUS II 9.0
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 10/32
Dr. Le Dung Hanoi University of Science and Technology
CHU TRÌNH THIẾT KẾ TRÊN QUARTUS II 9.0
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 11/32
Dr. Le Dung Hanoi University of Science and Technology
GIAO DIỆN QUARTUS II 9.0
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 12/32
TỔNG QUAN VỀ NGÔN NGỮ VHDL
Dr. Le Dung Hanoi University of Science and Technology
• KEYWORDs, STATEMENTs, IDENTIFIERs
• ENTITY và một số khái niệm cơ bản
• CẤU TRÚC CƠ BẢN CỦA MỘT ENTITY+ Library declarations
+ Entity
+ Architecture
+ Configuration
• TESTBENCH
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 13/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 1: BỘ CỘNG HALF-ADDER
Schematicblock design
Reservedwords
(keywords) Statement
Identifiers
VDHL Entity design
Statement
Statementending
Comment
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 14/32
Dr. Le Dung Hanoi University of Science and Technology
CÁC TỪ KHÓA CỦ A VHDL
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 15/32
Dr. Le Dung Hanoi University of Science and Technology
CÁC QUI ƯỚC CƠ B ẢN CỦ A VHDL
• Không phân biệt chữ hoa chữ thường (case insensitive)
• Chú thích (comment) được đặt sau 2 ký tự gạch ngang “--” và tính cho đếncuối dòng. Có thể bắt đầu từ bất kỳ vị trí nào.
• Một phát biểu (statement) có thể được triển khai trên nhiều dòng và luôn kếtthúc bằng dấu chấm phẩy “;”.
• Dấu phẩy “,” dùng để ngăn cách giữa các phần tử trong 1 danh sách.
• Gán tín hiệu (signal assignment) bằng ký hiệu ngoặc nhọn và dấu bằng “<=“.
• Liên kết cổng (port association) với tín hiệu thì dùng “=>”.
• Định danh có thể gồm các chữ cái (A-Z,a-z), số (0-9) và dấu gạch chân (_),phải bắt đầu bằng chữ cái. Định danh là duy nhất trong Entity và Architecture.
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 16/32
Dr. Le Dung Hanoi University of Science and Technology
MỘT SỐ MỞ RỘNG TRONG VHDL93
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 17/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 2: BỘ SO SÁNH 3 BIT Top-level
Entity
Top-levelEntity
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 18/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 3: FSMD - ISA bus interface ------------------------------------------------------- ISA bus interface design (ISA.vhd)------------------------------------------------------- 8-bit adder -----------------------------------
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity adder is
. . . . . . . . . . . . . . . .end adder;architecture behv of adder is. . . . . . . . . . . . . . . . end behv;-- Comparator ---------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity comparator is. . . . . . . . . . . . . . . . .end comparator;architecture behv of comparator is. . . . . . . . . . . . . . . . .end behv;-- Data Register --------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;entity data_reg is. . . . . . . . . . . . . . . . . end data_reg;architecture behv of data_reg is. . . . . . . . . . . . . . . . . end behv;
---------------------------------------------------------- Data Path of ISA bus interface---------------------------------------------------------library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity datapath is. . . . . . . . . . . . . . .end datapath;architecture struct of datapath is
component data_reg is. . . . . . . . .. . .end component;
component comparator is. . . . . . . . . . .
end component;
component adder is. . . . . . . . . . . .end component;
end struct;------------------------------------------------------------ FSM controller for ISA bus interfacing----------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;entity controller is. . . . . . . . . . . . . . .end controller;architecture fsm of controller is. . . . . . . . . . . . . . .end struct;
--------------------------------------------------------- ISA bus interface ( FSM + Datapath )-- VHDL structural modeling-------------------------------------------------------
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use work.all;entity ISA is. . . . . . . . . . . . .
end ISA;architecture struct of ISA is
component controller is. . . . . . . . . .
end component;
component datapath is. . . . . . . . . . . .
end component;
begin
end struct;
U1: datapath port map ( . . . . . . . );
U0: controller port map (. . . . . . .. );
http://esd.cs.ucr.edu/labs/tutorial/ISA.vhd
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 19/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 3: FSMD - ISA bus interface
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 20/32
Dr. Le Dung Hanoi University of Science and Technology
ENTITY VÀ MỘT SỐ KHÁI NIỆM CƠ B ẢN
DESIGN (VHDL)
TOP-LEVEL ENTITY
COMPONENT C1
COMPONENT C2
COMPONENT C3
ENTITY BL1
ENTITY BL2
COMPONENT C2
ENTITY BL3
COMPONENT C4 COMPONENT C4
LIBRARY.PACKAGE
. . . . . . . . .
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 21/32
Dr. Le Dung Hanoi University of Science and Technology
CẤU TRÚC ENTITY ĐƠN GIẢN
Entitydeclaration
Architectureof the entity
design entity : HALFADDER
Lưu trong tệp: halfadder.vhd
(thường cùng tên với Entity và có đuôi là .vhd)
VÍ DỤ 1: Chỉ khai báo một Entity với một Architecture
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 22/32
Dr. Le Dung Hanoi University of Science and Technology
ENTITY & ARCHITECTURES
Design Entity - most basic
building block of a design.
One entity can have 3 styles of
architecture
entity declaration
architecture 1
architecture 2
architecture 3
design entity - File extension for a VHDL file is .vhd- Name of the file should be the same as the entity name.
Dataflow Behavioral Structural
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 23/32
Dr. Le Dung Hanoi University of Science and Technology
C ẤU TRÚC CƠ B ẢN CỦ A ENTITY
library …;
use … ;
entity ETT is
port ( ……….);
end entity ETT ;
architecture STYLE of ETT isbegin
…..
end architecture STYLE;
configuration CONF of ETT isfor STYLE
…..end for;
end configuration CONF;
E N T I T
Y
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 24/32
Dr. Le Dung Hanoi University of Science and Technology
MÃ VHDL CƠ B ẢN CỦ A ENTITY
Configuration
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 25/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21
Thiết kế 1 : 1 Entity + 1 Architecture
A
B
S
Y
Schematic
RTL Viewer Technology mapping viewer
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 26/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21
Thiết kế 2 : Top-level Entity + 2 Architectures và 1 số Entities tạo cổng.
A
S
B
Y
U V
W
port map
Schematic
Khi biên dịchsẽ chọn kiến
trúc nào choMUX21 ?
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 27/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21
Thiết kế 2 : Entities tạo cổng INV, AND2i, OR2i cho Top-level Entity
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 28/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21
Thiết kế 2 Hierachy, RTL viewer , Techology Mapping viewer
RTL Viewer
(Nestlist)
Technology Mapping Viewer
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 29/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21 Thiết kế 3 : Top-level Entity + 2 Architectures + Configuration và 1 số Entities tạo cổng INV, AND2i, OR2i và thêm AND3i.
Top-level entry (thiết kế 2) thêm đoạn mã VHDL sau :
DùngAND3i
DùngAND2i
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 30/32
Dr. Le Dung Hanoi University of Science and Technology
VÍ DỤ 4: BỘ MUX21 Thiết kế 3 : thêm Entity AND3i để dùng cho configuration
7/27/2019 Le Dung - VHDL Qua Cac Vi Du
http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 31/32
Dr. Le Dung Hanoi University of Science and Technology
TESTBENCH
A VHDL ‘test bench’ can be considered to bethe top level of a design
It instantiates the Design Under Test(DUT) applies stimuli to it
checks whether the stimuli are corrector captures the outputs for visualisation ina waveform viewer