Professional Documents
Culture Documents
Lecture # 1
Mamun Bin Ibne Reaz
Faculty of Engineering
Multimedia University
Chapter-1
Overview and Application of
Hardware Modeling Tool
1. VHDL - Overview and
Application Field
•What is hardware?
A new and difficult stage was entered with the effort to upgrade
VHDL with analogue and mixed-signal language elements. The
upgrade is called VHDL-AMS ( a nalogue- m ixed- s ignal) and it is a
superset of VHDL. The digital mechanisms and methods have not
been altered by the extension.
For the time being, only simulation is feasible for the analogue part
because analogue synthesis is a very complex problem affected by
many boundary conditions. The mixed signal simulation has to deal
with the problem of synchronizing the digital- and analogue
simulators, which has not been solved adequately, yet.
1.2.1 VHDL - History
•Hardware design
•ASIC: technology mapping
VHDL is used mainly for the development of Application
Specific Integrated Circuits (ASICs). Tools for the automatic
transformation of VHDL code into a gate-level netlist were
developed already at an early point of time. This
transformation is called synthesis and is an integral part of
current design flows.
•FPGA: CLB mapping
For the use with Field Programmable Gate Arrays (FPGAs)
several problems exist. In the first step, Boolean equations
are derived from the VHDL description, no matter, whether an
ASIC or a FPGA is the target technology. But now, this Boolean
code has to be partitioned into the configurable logic blocks
(CLB) of the FPGA. This is more difficult than the mapping
onto an ASIC library. Another big problem is the routing of the
CLBs as the available resources for interconnections are the
bottleneck of current FPGAs.
1.2.2 VHDL - Application Field
•Software design
•VHDL - C interface (tool-specific)
•Main focus of research (hardware/software co-design)
If the model shows the desired behavior, the VHDL description will
be synthesized. A synthesis tool selects the appropriate gates and
flip-flops from the specified ASIC library in order to reproduce the
functional description. It is essential for the synthesis procedure
that the sum of the resulting gate delays along the longest paths
(from the output to the input of every Flip Flop) is less than the
clock period.
1.2.3 ASIC Development
•Execution of
assignments:
•Sequential
•Concurrent
•Methodologies:
•Abstraction
•Modularity
•Hierarchy
VHDL features also three important modeling techniques:
Abstraction allows for the description of different parts of a system with
different amount of detail. Modules which are needed only for the
simulation do not have to be described as detailed as modules that
might be synthesized.
Modularity enables the designer(s) to split big functional blocks and to
write a model for each part.
Hierarchy lets the designer build a design out of sub modules which
may consist of several sub modules, themselves. Each level of hierarchy
may contain modules of different abstraction levels. The sub modules of
these models are present in the next lower hierarchical level.
1.3.1 Abstraction
In the next step, the design is divided into combinational logic and
storage elements. This is called the Register Transfer Level (RTL).
The storage elements (Flip Flops (FFs), latches) are controlled by a
system clock. In synchronous designs, FFs should be used (driven by
the edge of the clock signal) exclusively, because transparent
latches (driven by the level of a control signal) are not spike-proof.
For the description on RT level only 10 to 20 percent of all VHDL
language constructs are needed and a strict methodology has to be
followed. This description on RT level is called synthesizable
description.
1.3.2 Abstraction Levels in IC
Design
The gate netlist is generated from the RT description with the help
of a synthesis tool. For this task, a cell library for the target
technology which holds the information about all available gates
and their parameters (fan-in, fan-out, delay) is needed.
Based upon this gate netlist the circuit layout is generated. The
resulting wire lengths can be converted into propagation delays
which can be fed back into the gate level model (back annotation).
This allows for thorough timing simulations without the need for
additional simulator software.
1.3.5 Behavioral Description in
VHDL
A VHDL gate level description contains a list of the gates (components) that
are used in the design. Another part holds the actual instantiation of the
components and lists their interconnection.
A schematic of the gate structure of a digital circuit can be seen on the left
side of the picture. The right side shows a part of the corresponding VHDL
description. Each single element of the circuit (eg. U86) is instantiated as a
component (eg. ND2) and connected to the corresponding signals (n192,
n191, n188). All used gates are part of the selected technology library where
additional information like area, propagation delay, capacity, etc. is stored.
1.3.8 Information Content of
Abstraction Levels
When the model is described on the logic level, delays can be applied to the
used gates for simulation. The timing information is part of the synthesis
library. This enables a rough validation of the timing behavior. The
uncertainty stems from the propagation delay along the signal wires which
has not yet been considered. These delays may very well make up the main
part of the entire delay in larger designs.
If the layout is completed, the wire lengths and thus the propagation delays
will be known. The design can be simulated on gate level with the additional
delay values and consequently the timing behavior of the entire circuit can
be validated. Yet, the simulation time grows considerably with the increased
amount of information about the circuit, which restricts timing simulation to
small parts of complex designs.
1.4 Modularity and Hierarchy
•Concurrence (simultaneity)
•Sequential statements
Concurrency is an important concept of VHDL: Concurrent
statements are executed virtually in parallel. The simulation is
event driven. If a certain event occurs (eg. initiated by the
stimulus), processes that depend on these events are triggered.
These processes contain sequential statements which are evaluated
one after another. Each process as a whole can be viewed as a
concurrent statement. This way, the changes of signal values
caused by the execution of several processes occur at the same
time in the simulation.
•Description of timing behavior is possible
•One language for model development and verification
Furthermore, it is possible to describe timing behavior in VHDL. This
eliminates the need for other languages for stimuli generation for
test purposes or timing verification of the final design.