Académique Documents
Professionnel Documents
Culture Documents
HDL Introduction
2/29
Ivan Dugic
HDL Introduction
3/29
Ivan Dugic
HDL Introduction
Modern chip design aspects
Modern chips became too complex
Transistor count per chip and chip speed rise up to 50% per year
4/29
Ivan Dugic
HDL Introduction
Modern ASIC design approach
ASIC Application Specific Integrated Circuit
5/29
Ivan Dugic
HDL Introduction
Modern ASIC design approach
Design
6/29
Ivan Dugic
HDL Introduction
VHDL
VHDL - VHSIC Hardware Description Language
7/29
Ivan Dugic
Structural Design Concepts
8/29
Ivan Dugic
Structural Design Concepts
The abstraction hierarchy
The abstraction hierarchy can be expressed in two domains:
structural domain, behavioral domain
9/29
Ivan Dugic
Structural Design Concepts
Design process
The design cycle consists of a series of transformations,
synthesis steps:
10/29
Ivan Dugic
Structural Design Concepts
Design process
The design cycle steps can be carried out automatically
in all stages except the first that is currently an active area of research
11/29
Ivan Dugic
Structural Design Concepts
Design tools
Editors textual (circuit level SPICE gate, register, chip VHDL)
or graphic (used at all levels)
12/29
Ivan Dugic
Basic Features of VHDL
13/29
Ivan Dugic
Basic Features of VHDL
Design entities
In VHDL a logic circuit is represented as a design entity
entity D_FF
D Q
defining D FF interface (ports)
D FF
CLK
R architecture of D_FF
specifying the behavior of the entity
14/29
Ivan Dugic
Basic Features of VHDL
Entity
The entity part provides systems interface specification
as seen from the outside and is generally comprised of:
entity DesignEntityName is
-- parameters
-- connections
port (ports);
end entity DesignEntityName;
15/29
Ivan Dugic
Basic Features of VHDL
Architectural bodies
Architectural bodies are specifying the behavior of the entity
16/29
Ivan Dugic
Basic Features of VHDL
Processes
Process is another major modeling element in VHDL:
17/29
Ivan Dugic
Basic Features of VHDL
Sequential and parallel processing
The statements within process are performed sequentially
18/29
Ivan Dugic
Basic Features of VHDL
Variables and signals
VHDL variable concept in many ways correspondents
to a variable inherited from traditional sequential programming
19/29
Ivan Dugic
Design Process Highlights
20/29
Ivan Dugic
Design Process Highlights
MAC (Multiply Accumulator) unit
Incoming part is based on MAC unit design and synthesis
as part of Computer VLSI Systems,
subject lectured by Dr. Veljko Milutinovic
21/29
Ivan Dugic
Design Process Highlights
MAC (Multiply Accumulator) unit
MAC unit conceptual scheme:
MAC unit
Wishbone Interface
data flow
control data flow
22/29
Ivan Dugic
Design Process Highlights
MAC (Multiply Accumulator) unit
MAC unit detailed scheme synthesis outcome:
23/29
Ivan Dugic
Design Process Highlights
MAC: Lessons Learned
Testing is extremely important aspect of device design
24/29
Ivan Dugic
Design Process Highlights
MAC: Lessons Learned
An example of regressive testing:
entity TestBench is
end entity TestBench;
stimulus: process is
begin
-- stimulation
end process stimulus;
25/29
Ivan Dugic
Design Process Highlights
MAC: Lessons Learned
verify: process () is
begin
assert behOutSignal_i= structOutSignal_i and
behOutSignal_j = structOutSignal_j
report Implementation Error!
severity error;
end process verify;
end architecture Regression;
26/29
Ivan Dugic
Design Process Highlights
MAC: Lessons Learned
Special problem in hardware component design:
accommodation of VHDL source code with tool for synthesis
27/29
Ivan Dugic
References
Peter J. Ashenden,
The Designers Guide to VHDL
Milutinovic Veljko,
Surviving the Design of a 200 MHz RISC Microprocessor:
Lessons Learned
28/29
Ivan Dugic
Authors
29/29
Ivan Dugic