Sie sind auf Seite 1von 19

(1)

Modeling Digital Systems


Sudhakar Yalamanchili, Georgia Institute of Technology, 2006
(2)
Systems Hierarchy
Functions
CPUs, memories
ALUs, registers
Switches
Increasing
Fidelity
#of events
Level of Abstraction
(3)
Describing Systems
From Websters Dictionary:
System: An assemblage of objects united by some form of regular
interaction or dependence

What aspects of a digital system do we want to describe?
Interface
Function: behavioral and structural


T o the
Processor
microphone
headphones
speakers
amplifier
ZPS
61899
(4)
What Elements Should be in a
Description?
Descriptions should be at multiple levels of
abstraction
The descriptive elements must be common to multiple
levels of hierarchy

The elements should enable meaningful and
accurate simulation of hardware described using the
elements
Elements should have attributes of time as well as function

The elements should enable the generation of
hardware elements that realize a correct physical
implementation
Existence of a mapping from elements to VLSI devices
(5)
What Elements Should be in a
Description?
VHDL was conceived for the description of digital
systems
From switches to networked systems

Keep in mind the pragmatic issues of design re-use
and portability of descriptions
Portability across technology generations
Portability across a range of cost/performance points

Attributes of digital systems serve as the starting
point
Language features designed to capture the key attributes
(6)
Attributes of Digital Systems
Digital systems are about signals and their values
Events, propagation delays, concurrency
Signal value changes at specific points in time
Time ordered sequence of events produces a waveform

10 15 20 25 30 35 40
a
b
sum
carry
5
T i me (ns)
Event
a
b
sum
carry
(7)
Attributes of Digital Systems: Timing
Timing: computation of events takes place at specific points in
time
Need to wait for an event: in this case the clock
Timing is an attribute of both synchronous and asynchronous
systems



D
Clk
S
Q
R
10 15 20 25 30 35 40

Clk
D
Q
T i me (ns)
T r iggering
edge
Q
(8)
Attributes of Digital Systems: Timing
Example: Asynchronous communication
No global clock
Still need to wait for events on specific signals



TRANSMIT
ACK
(9)
Attributes of Digital Systems: Signal
Values
possible
signal values?
We associate logical values with the state of a signal
Signal Values: IEEE 1164 Value System
Value Interpretation
U Uninitialized
X Forcing Unknown
0 Forcing 0
1 Forcing 1
Z High Impedance
W Weak Unknown
L Weak 0
H Weak 1
- Dont Care
(10)
Attributes of Digital Systems: Multiple Drivers
Shared Signals
multiple drivers

How is the value of the signal determined?
arbitration protocols
wired logic

(11)
Modeling Digital Systems
We seek to describe attributes of digital systems common to
multiple levels of abstraction
events, propagation delays, concurrency
waveforms and timing
signal values
shared signals

Hardware description languages must provide constructs for
naturally describing these attributes of a specific design
simulators use such descriptions for mimicing the physical
system
synthesis compilers use such descriptions for synthesizing
manufacturable hardware specifications that conform to this
description

(12)
Execution Models for VHDL Programs
Two classes of execution models govern the
application of VHDL programs

For Simulation
Discrete event simulation
Understanding is invaluable in debugging programs
For Synthesis
Hardware inference
The resulting circuit is a function of the building blocks used
for implementation
Primitives: NAND vs. NOR
Cost/performance

(13)
Simulation vs. Synthesis
Simulation and synthesis are complementary processes
entity my_ckt is
port(x, y :in bit;
z : out bit)
end entity my_ckt;
architecture behavioral of
my_ckt is
begin
-- some code here
--
end architecture behavioral;
entity my_ckt is
port(x, y :in bit;
z : out bit)
end entity my_ckt;
architecture behavioral of
my_ckt is
begin
-- some code here
--
end architecture behavioral ;
synthesis
simulation

(14)
Simulation of Digital Systems
Digital systems are modeled as the generation of events value
transitions on signals
Discrete event simulations manage the generation and ordering of
events
Correct sequencing of event processing
Correct sequencing of computations caused by events


@5 ns
@10 ns
@15 ns
@5 ns
v1v2
@5ns
v3v4
@10ns
v5v6
@15ns
Head
0
(15)
Discrete Event Simulation: Example
10
a@5ns
U1
carry@5ns
U0
sum@5ns
01
sum@10ns
10
carry@10ns
01
a@10ns
10
b@10ns
10
a@15ns
5ns
10ns
10ns
Initial state: a = b = 1, sum = carry = U
Event List Head Simulation Time
0ns U1
carry@5ns
U0
sum@5ns New event generated
from input Update
time
Update signal
values, execute,
generate new
events, update time
Update signal
values, execute,
generate new
events
10 15 20 25 30 35 40
a
b
sum
carry
5
Event
b
a sum
carry
(16)
Discrete Event Simulation
Management of simulation time: ordering of events

Two step model of the progression of time
Evaluate all affected components at the current time: events on input
signals
Schedule future events and move to the next time step: the next time
at which events take place

(17)
Simulation Modeling
VHDL programs describe the generation of events in digital systems
Discrete event simulator manages event ordering and progression of time
Now we can quantitatively understand accuracy vs. time trade-offs
Greater detail more events greater accuracy
Less detail smaller number of events faster simulation speed

b
a sum
carry
VHDL Model
compiler
Discrete Event Simulator
from Vendor
(18)
Synthesis and Hardware Inference
Both processes can produce very different results!
Synthesis
engine
HDL
Design
Specification
Author HDL
Author Hardware
Design
(19)
Summary
VHDL is used to describe digital systems and hence
has language constructs for key attributes
Events, propagation delays, and concurrency
Timing, and waveforms
Signal values and use of multiple drivers for a signal

VHDL has an underlying discrete event simulation
model
Model the generation of events on signals
Built in mechanisms for managing events and the
progression of time
Designer simply focuses on writing accurate descriptions

Das könnte Ihnen auch gefallen