32
Dr. Le Dung Hanoi University of Science and Technology THI!T K! S" V#I VHDL QUA CÁC VÍ D$ 

Le Dung - VHDL Qua Cac Vi Du

Embed Size (px)

Citation preview

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 

7/27/2019 Le Dung - VHDL Qua Cac Vi Du

http://slidepdf.com/reader/full/le-dung-vhdl-qua-cac-vi-du 32/32

Dr. Le Dung Hanoi University of Science and Technology

VÍ DỤ 5: TESTBENCH cho BỘ MUX21