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

Le Dung - VHDL Qua Cac Vi Du

Apr 14, 2018

Download

Documents

Mai Xuân Hòa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Le Dung - VHDL Qua Cac Vi Du

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Ụ 

Page 2: Le Dung - VHDL Qua Cac Vi Du

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

Page 3: Le Dung - VHDL Qua Cac Vi Du

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

• ……. 

Page 4: Le Dung - VHDL Qua Cac Vi Du

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 

Page 5: Le Dung - VHDL Qua Cac Vi Du

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

Page 6: Le Dung - VHDL Qua Cac Vi Du

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

Page 7: Le Dung - VHDL Qua Cac Vi Du

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

Page 8: Le Dung - VHDL Qua Cac Vi Du

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

Page 9: Le Dung - VHDL Qua Cac Vi Du

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 

Page 10: Le Dung - VHDL Qua Cac Vi Du

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 

Page 11: Le Dung - VHDL Qua Cac Vi Du

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 

Page 12: Le Dung - VHDL Qua Cac Vi Du

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

Page 13: Le Dung - VHDL Qua Cac Vi Du

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 

Page 14: Le Dung - VHDL Qua Cac Vi Du

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 

Page 15: Le Dung - VHDL Qua Cac Vi Du

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. 

Page 16: Le Dung - VHDL Qua Cac Vi Du

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

Page 17: Le Dung - VHDL Qua Cac Vi Du

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

Page 18: Le Dung - VHDL Qua Cac Vi Du

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

Page 19: Le Dung - VHDL Qua Cac Vi Du

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 

Page 20: Le Dung - VHDL Qua Cac Vi Du

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 

. . . . . . . . . 

Page 21: Le Dung - VHDL Qua Cac Vi Du

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

Page 22: Le Dung - VHDL Qua Cac Vi Du

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

Page 23: Le Dung - VHDL Qua Cac Vi Du

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

Page 24: Le Dung - VHDL Qua Cac Vi Du

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

Page 25: Le Dung - VHDL Qua Cac Vi Du

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 

Page 26: Le Dung - VHDL Qua Cac Vi Du

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 ?

Page 27: Le Dung - VHDL Qua Cac Vi Du

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

Page 28: Le Dung - VHDL Qua Cac Vi Du

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 

Page 29: Le Dung - VHDL Qua Cac Vi Du

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

Page 30: Le Dung - VHDL Qua Cac Vi Du

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

Page 31: Le Dung - VHDL Qua Cac Vi Du

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 

Page 32: Le Dung - VHDL Qua Cac Vi Du

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