Vko,MDa, 27.9.1999 OH 1
TKK S-88.133 autumn1999
Digital design with Hardware Description Languages
Autumn 1999 Mikael Platan (mikael.platan@nokia.com) Mark Davidson (allan.davidson@nokia.com) Vesa Koskela (vesa.j.koskela@nokia.com)
Autumn VHDL course for TKK Digital design with Hardware Description - - PowerPoint PPT Presentation
Autumn VHDL course for TKK Digital design with Hardware Description Languages Autumn 1999 Mikael Platan (mikael.platan@nokia.com) Mark Davidson (allan.davidson@nokia.com) Vesa Koskela (vesa.j.koskela@nokia.com) TKK S-88.133 autumn1999
Vko,MDa, 27.9.1999 OH 1
TKK S-88.133 autumn1999
Autumn 1999 Mikael Platan (mikael.platan@nokia.com) Mark Davidson (allan.davidson@nokia.com) Vesa Koskela (vesa.j.koskela@nokia.com)
Vko,MDa, 27.9.1999 OH 2
TKK S-88.133 autumn1999
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
Vko,MDa, 27.9.1999 OH 3
TKK S-88.133 autumn1999
VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit
Vko,MDa, 27.9.1999 OH 4
TKK S-88.133 autumn1999
There are many HDLs with different features and goals:
Most wide spread in Europe
Most wide spread in the USA
interchange format between CAD tools.
Vko,MDa, 27.9.1999 OH 5
TKK S-88.133 autumn1999
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. This would allow the Department of Defense to replace an obsolete component with a new one without large amounts of re-design work.
(IEEE)
This is where VHDL-93 comes from!
Vko,MDa, 27.9.1999 OH 6
TKK S-88.133 autumn1999
description language 1076-1987 VHDL-87
VERILOG
in 1993. VHDL-93
approved early this year. It contains analog signal support.
AHDL (Analog HDL) is being
growing importance of mixed signal systems.
ASIC (Application Specific Integrated Circuit) design
logic synthesis and testing
between designers and design tools
Vko,MDa, 27.9.1999 OH 7
TKK S-88.133 autumn1999
can be active independently of each other. This is fundamentally an accurate model for a digital system.
down or bottom-up.
library/package functions where functions and components can be collected
similar to Pascal and other Software programming languages. It means that operands must be of the correct type for a operator to be called
e.g. attributes: FOR i IN j’range LOOP ... where the variable j’s range can dynamically changed.
function can be called with different types of parameters. This is related to typing. To use the same function (operator) on different types of objects (operand)
compatible with all the required types.
Vko,MDa, 27.9.1999 OH 8
TKK S-88.133 autumn1999
http://vhdl.org
in VHDL: http://vhdl.org/vi/comp.lang.vhdl/
e.g. standardization
comp.lang.vhdl
models, libraries, news etc
VHDL Language Reference Manual”, “IEEE standard VHDL... (-93)”
“VHDL”, Bhasker - “A VHDL primer”
some Public Domain.
Synopsys, Mentor, Cadence, Summit, Renoir, TransEDA
Subcontracting
Vko,MDa, 27.9.1999 OH 9
TKK S-88.133 autumn1999
information
and have to find ways to deal with the complexity
design
model should allow us to make predictions about the system.
Vko,MDa, 27.9.1999 OH 10
TKK S-88.133 autumn1999
1) Formal model to communicate requirements. 2) Communicate and enhance the understanding of the function of a system 3) Models will allow testing and verification of a design using
system is manufactured. 4) Formal verification of the “correctness” of a design 5) To allow SYNTHESIS of circuits
Vko,MDa, 27.9.1999 OH 11
TKK S-88.133 autumn1999
Giving the designer more freedom to implement “ideas”, rather than specifics, results in higher quality designs in a shorter time.
Vko,MDa, 27.9.1999 OH 12
TKK S-88.133 autumn1999
The idea behind all of these arguments is that: We want to achieve maximum reliability in the design process for a minimum cost and design time!!
Vko,MDa, 27.9.1999 OH 13
TKK S-88.133 autumn1999
Vko,MDa, 27.9.1999 OH 14
TKK S-88.133 autumn1999
At the most abstract level the system may be described in terms of ALGORITHMS NOTE! This is often called “BEHAVIOURAL MODELING” Example: loop for each data input loop read the value on this input; scale the value using the current scale factor for this input convert and write.... end loop; wait for 10ms; end loop;
Vko,MDa, 27.9.1999 OH 15
TKK S-88.133 autumn1999
The system may be described as an interconnection of components like processors, memories and i/o devices. Sometimes called as the Processor Memory Switch, PMS, level. Example:
Vko,MDa, 27.9.1999 OH 16
TKK S-88.133 autumn1999
Top level abstraction: How the components described in the structural model are organized on the silicon die. Pad frame
Vko,MDa, 27.9.1999 OH 17
TKK S-88.133 autumn1999
Register Transfer Level: Structural model: Example:
Vko,MDa, 27.9.1999 OH 18
TKK S-88.133 autumn1999
In the functional domain a Register Transfer Language is used to specify the operation of a system at the Register Transfer Level: Example: MAR <- PC, memory_read <- 1 PC <- PC + 1 wait until ready = 1 IR <- memory_data memory_read <- 0
Vko,MDa, 27.9.1999 OH 19
TKK S-88.133 autumn1999
Tools help designers work away from the center
Vko,MDa, 27.9.1999 OH 20
TKK S-88.133 autumn1999
levels of abstraction (above gate level)
geometric domain.
Vko,MDa, 27.9.1999 OH 21
TKK S-88.133 autumn1999
code exist (Summit, Renoir)
production The need for writing actual code may have been reduced due to GE tools but: 1) the need to understand what was auto generated is still there 2) we still have to manage large amounts of vhdl blocks 3) VHDL is still the descriptive part 4) 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 to VHDL.
Vko,MDa, 27.9.1999 OH 22
TKK S-88.133 autumn1999
We have discussed three domains of modeling: 1) Function 2) Structure 3) Geometry We will now introduce VHDL elements to describe the basic modeling concept in each of the above 3 domains. NB: The objective is to GET A FEEL for VHDL as a description language - All these will be discussed in detail later.
Vko,MDa, 27.9.1999 OH 23
TKK S-88.133 autumn1999
Vko,MDa, 27.9.1999 OH 24
TKK S-88.133 autumn1999
(sequential statements) Example:
Vko,MDa, 27.9.1999 OH 25
TKK S-88.133 autumn1999
architecture behav of reg4 is begin 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;
Vko,MDa, 27.9.1999 OH 26
TKK S-88.133 autumn1999
subsystems
called an structural architecture body Example:
Vko,MDa, 27.9.1999 OH 27
TKK S-88.133 autumn1999
Vko,MDa, 27.9.1999 OH 28
TKK S-88.133 autumn1999
entity d_latch is port ( d, clk : in bit; q : out bit ); end d_latch; architecture basic of d_latch is begin 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 is begin and2_behavior : process is begin y <= a and b after 2 ns; wait on a, b; end process and2_behavior; end architecture basic;
Vko,MDa, 27.9.1999 OH 29
TKK S-88.133 autumn1999
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;
Vko,MDa, 27.9.1999 OH 30
TKK S-88.133 autumn1999
In models it can be and is often useful to mix structural and behavioral models One of the strengths of VHDL is the amount of freedom it gives to the designer. Good design is using the appropriate method of modeling.
Vko,MDa, 27.9.1999 OH 31
TKK S-88.133 autumn1999
the VHDL block under test.
and structurally connected to the test bench.
Vko,MDa, 27.9.1999 OH 32
TKK S-88.133 autumn1999
Analysis: The process of checking the syntax and semantics of the code Elaboration: Going through the design hierarchy and creating all of the
Execution: The passage of time is simulated in discrete steps.
Vko,MDa, 27.9.1999 OH 33
TKK S-88.133 autumn1999
Vko,MDa, 27.9.1999 OH 34
TKK S-88.133 autumn1999
For syntax description EBNF is used throughout the book.