34
Vko,MDa, 27.9.1999 OH 1 TKK S-88.133 autumn1999 Digital design with Hardware Description Languages Autumn 1999 Mikael Platan ([email protected]) Mark Davidson ([email protected]) Vesa Koskela ([email protected]) Autumn VHDL course for TKK

Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Embed Size (px)

Citation preview

Page 1: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 1

TKK S-88.133 autumn1999

Digital design with Hardware Description LanguagesAutumn 1999

Mikael Platan ([email protected])Mark Davidson ([email protected])Vesa Koskela ([email protected])

Autumn VHDL course for TKK

Page 2: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 2

TKK S-88.133 autumn1999

VHDL = VHSIC Hardware Description Language

This course will cover two main topics:1.) The VHDL language and it constraints.2.) Why one would want to use the language in digital design.

However, other questions will be answered such as• Where does it fit on the “world map” of hardware design?• Why is it here?• Why ever use VHDL?

Page 3: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 3

TKK S-88.133 autumn1999

VHDL

VHSIC Hardware Description Language

VHSIC = Very High Speed Integrated Circuit

Page 4: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 4

TKK S-88.133 autumn1999

Hardware Description Languages

There are many HDLs with different features and goals:

- VHDL: U.S. Department of Defense sponsored project (first standard 1987) Most wide spread in Europe

- VERILOG: Proprietary language first then opened to the public (late 80’s) Most wide spread in the USA

- UDL/I: Unified Design Language for IC:s. Developed in Japan for commoninterchange format between CAD tools.

- SILAGE: Suited for DSP application.

VHDL and VERILOG are the most common!

Page 5: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 5

TKK S-88.133 autumn1999

VHDL History

- Originated from the US Government VHSIC program A need was seen for a method in which to describe a digital circuit in

such a manner that it was free from any technical constraints. Thiswould allow the Department of Defense to replace an obsoletecomponent with a new one without large amounts of re-design work.

- Further developed by Institute of Electrical and Electronics Engineers(IEEE)

- Adopted as an IEEE STANDARD1076 in 1987 Hence VHDL-87!

- All IEEE standards are subject to a review every 5 years This is where VHDL-93 comes from!

Page 6: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 6

TKK S-88.133 autumn1999

VHDL - language

• IEEE standard hardwaredescription language 1076-1987VHDL-87

• Is based on the ADA language• VHDL’s “worst” competitor is

VERILOG• New VHDL version was approved

in 1993. VHDL-93• New VHDL version to be

approved early this year. Itcontains analog signal support.

• For digital design/modeling Also aAHDL (Analog HDL) is beingdeveloped. This is due to thegrowing importance of mixedsignal systems.

• Most important application is inASIC (Application SpecificIntegrated Circuit) design

• It is used for modeling, simulation,logic synthesis and testing

• Common method of modelingbetween designers and design tools

Page 7: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 7

TKK S-88.133 autumn1999

VHDL features

• Parallelisms. Different processescan be active independently ofeach other. This is fundamentallyan accurate model for a digitalsystem.

• Supports hierarchical design, top-down or bottom-up.

• Supports reuse through itslibrary/package functions wherefunctions and components can becollected

• Strongly typed language. This issimilar to Pascal and otherSoftware programming languages.It means that operands must be ofthe correct type for a operator to becalled

• Dynamic types and their use withe.g. attributes:FOR i IN j’range LOOP ...where the variable j’s range candynamically changed.

• Overloading. E.g. the samefunction can be called withdifferent types of parameters. Thisis related to typing. To use thesame function (operator) ondifferent types of objects (operand)one must define it multiply to becompatible with all the requiredtypes.

Page 8: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 8

TKK S-88.133 autumn1999

VHDL - world

• Good overview from Internet:http://vhdl.org

• FAQ, Frequently Asked Questions,in VHDL:http://vhdl.org/vi/comp.lang.vhdl/

• VHDL International organizationse.g. standardization

• Usenet news groups:comp.lang.vhdl

• Tutorials on the net, VHDLmodels, libraries, news etc

• Many conferences. e.g. DAC• http://www.mkp.com

• Documents: “1076-1987 StandardVHDL Language ReferenceManual”, “IEEE standard VHDL...(-93)”

• Numerous books: e.g. Perry -“VHDL”, Bhasker - “A VHDLprimer”

• Numerous VHDL products, alsosome Public Domain.

• The most known manufacturers:Synopsys, Mentor, Cadence,Summit, Renoir, TransEDA

• Design, Lecturing, Consulting,Subcontracting

Page 9: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 9

TKK S-88.133 autumn1999

Modeling Digital Systems

• Digital system = Any digital circuit that processes or storesinformation

• These systems are complex: We need to recognize them as complexand have to find ways to deal with the complexity

• The most important way is to adopt a systematic methodology ofdesign

• The term MODEL will refer to our understanding of a system. Amodel should allow us to make predictions about the system.

• There can be several models of one system!

Page 10: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 10

TKK S-88.133 autumn1999

Why MODELs

1) Formal model to communicate requirements.

2) Communicate and enhance the understanding of the function of asystem

3) Models will allow testing and verification of a design usingsimulation. Thus allowing for the correction of errors before thesystem is manufactured.

4) Formal verification of the “correctness” of a design

5) To allow SYNTHESIS of circuits

Page 11: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 11

TKK S-88.133 autumn1999

Why use Hardware Description Language for modeling

• To model the design• To verify the model• To implement the model in hardware (synthesizing)

• Using a language to do this allows for more levels of abstraction.Giving the designer more freedom to implement “ideas”, rather thanspecifics, results in higher quality designs in a shorter time.

Page 12: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 12

TKK S-88.133 autumn1999

Remember!

The idea behind all of these arguments is that:

We want to achieve maximum reliability in the design processfor a

minimum cost and design time!!

Page 13: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 13

TKK S-88.133 autumn1999

Domains and Levels of Modeling

Page 14: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 14

TKK S-88.133 autumn1999

Functional

At the most abstract level the system may be described in terms ofALGORITHMS

NOTE! This is often called “BEHAVIOURAL MODELING”Example:loop

for each data input loopread the value on this input;scale the value using the current scale factor for this inputconvert and write....

end loop;wait for 10ms;

end loop;

Page 15: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 15

TKK S-88.133 autumn1999

Structural

The system may be described as an interconnection of components likeprocessors, memories and i/o devices.

Sometimes called as the Processor Memory Switch, PMS, level.

Example:

Page 16: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 16

TKK S-88.133 autumn1999

Geometric

Top level abstraction: How the components described in the structuralmodel are organized on the silicon die.

Pad frame

Page 17: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 17

TKK S-88.133 autumn1999

Next level in abstraction: REGISTER TRANSFER LEVEL

Register Transfer Level: Structural model:Example:

Page 18: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 18

TKK S-88.133 autumn1999

Register Transfer Language (RTL)

In the functional domain a Register Transfer Language is used to specifythe operation of a system at the Register Transfer Level:

Example:

MAR <- PC, memory_read <- 1PC <- PC + 1wait until ready = 1IR <- memory_datamemory_read <- 0

Page 19: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 19

TKK S-88.133 autumn1999

Most designers work more and more away from the center

Tools help designerswork away from the center

Page 20: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 20

TKK S-88.133 autumn1999

Why VHDL as modeling language?

• Includes facilities to describe structure and function at VARIOUSlevels of abstraction (above gate level)

• Has an attribute mechanism to annotate information from thegeometric domain.

• It can be used for specification, simulation and hardware synthesis• It is widely supported by CAD tool vendors.• It is a standard being continuously reviewed.

Page 21: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 21

TKK S-88.133 autumn1999

Graphical Entry tools - need anymore to learn VHDL?!

• Today many Graphical Entry tools that automatically generate VHDLcode exist (Summit, Renoir)

• They are becoming so good that they are already being used inproduction

The need for writing actual code may have been reduced due to GEtools but:

1) the need to understand what was auto generated is still there2) we still have to manage large amounts of vhdl blocks3) VHDL is still the descriptive part4) Many of the GE tools are not producing correct or optimized code in

all situations.

GE tools should be viewed as a complement not a replacement toVHDL.

Page 22: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 22

TKK S-88.133 autumn1999

VHDL Modeling Concepts

We have discussed three domains of modeling:1) Function2) Structure3) Geometry

We will now introduce VHDL elements to describe the basic modelingconcept in each of the above 3 domains.

NB: The objective is to GET A FEEL for VHDL as a descriptionlanguage - All these will be discussed in detail later.

Page 23: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 23

TKK S-88.133 autumn1999

Entity

Page 24: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 24

TKK S-88.133 autumn1999

Elements of Behavior

- Internal function of an entity is called ARCHITECTURE

- An architecture can have a number of alternative functions

- A behavioral architecture of an entity consists of Process statements

- Process statements are a collection of actions executed in sequence(sequential statements)

Example:

Page 25: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 25

TKK S-88.133 autumn1999

architecture behav of reg4 isbegin

storage : process is variable stored_d0, stored_d1, stored_d2, stored_d3 : bit; begin if en = '1' and clk = '1' then stored_d0 := d0; stored_d1 := d1; stored_d2 := d2; stored_d3 := d3; end if; q0 <= stored_d0 after 5 ns; q1 <= stored_d1 after 5 ns; q2 <= stored_d2 after 5 ns; q3 <= stored_d3 after 5 ns; wait on d0, d1, d2, d3, en, clk; end process storage;

end architecture behav;

Page 26: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 26

TKK S-88.133 autumn1999

Elements of Structure

• An implementation of an entity can be viewed as being composed ofsubsystems

• An architecture body that only has interconnected subsystems iscalled an structural architecture body

Example:

Page 27: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 27

TKK S-88.133 autumn1999

Structural composition

Page 28: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 28

TKK S-88.133 autumn1999

Subsystem description

entity d_latch is port ( d, clk : in bit; q : out bit );end d_latch;

architecture basic of d_latch isbegin

latch_behavior : process is begin if clk = '1' then q <= d after 2 ns; end if; wait on clk, d; end process latch_behavior;

end architecture basic;

entity and2 is port ( a, b : in bit; y : out bit );end and2;

architecture basic of and2 isbegin

and2_behavior : process is begin y <= a and b after 2 ns; wait on a, b; end process and2_behavior;

end architecture basic;

Page 29: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 29

TKK S-88.133 autumn1999

Structural architecture

architecture struct of reg4 is

signal int_clk : bit;

begin

bit0 : entity work.d_latch(basic) port map (d0, int_clk, q0); bit1 : entity work.d_latch(basic) port map (d1, int_clk, q1); bit2 : entity work.d_latch(basic) port map (d2, int_clk, q2); bit3 : entity work.d_latch(basic) port map (d3, int_clk, q3);

gate : entity work.and2(basic) port map (en, clk, int_clk);

end architecture struct;

Page 30: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 30

TKK S-88.133 autumn1999

Mixed Models

In models it can be and is often useful tomix structural and behavioral models

One of the strengths of VHDL is the amount of freedom it gives to thedesigner.

Good design is using the appropriate method of modeling.

Page 31: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 31

TKK S-88.133 autumn1999

Test benches

• It is an entirely self-contained entity, with no port list, that stimulatesthe VHDL block under test.

• The block under test is instantiated as a component in the test benchand structurally connected to the test bench.

• Test benches will be covered more in detail in lecture #6.

Page 32: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 32

TKK S-88.133 autumn1999

Analysis, Elaboration and Execution

Analysis: The process of checking the syntax and semantics of thecode

Elaboration: Going through the design hierarchy and creating all of theobjects defined in the declarations.

Execution: The passage of time is simulated in discrete steps.

Page 33: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 33

TKK S-88.133 autumn1999

Reserved Words in VHDL -93

Page 34: Autumn VHDL course for TKK - Concordia Universityusers.encs.concordia.ca/~tahar/coen6551/notes/vhdl-notes...The VHDL language and it constraints. 2.) Why one would want to use the

Vko,MDa, 27.9.1999 OH 34

TKK S-88.133 autumn1999

Extended Backus-Naur Format (EBNF)

For syntax description EBNF is used throughout the book.