Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Logic Simulation
What is simulation?
Design verification
Circuit modeling
True-value simulation algorithms
Compiled-code simulation
Event-driven simulation
Summary
Simulation Defined
Validate assumptions
Verify logic
Verify performance (timing)
Types of simulation:
Response
analysis
Design
changes
Computed
responses
Design
(netlist)
True-value
simulation
Input stimuli
Interconnects represent
Example: A Full-Adder
c
a
e
d
HA
Half-adder
A
B
C
HA1
D
E
HA2
Carry
Sum
Full-adder
HA;
inputs: a, b;
outputs: c, f;
AND: A1, (a, b), (c);
AND: A2, (d, e), (f);
OR: O1, (a, b), (d);
NOT: N1, (c), (e);
FA;
inputs: A, B, C;
outputs: Carry, Sum;
HA: HA1, (A, B), (D, E);
HA: HA2, (E, C), (F, Sum);
OR: O2, (D, F), (Carry);
VDD
a
a
Ca
Cc
b
Cb
nMOS FETs
Ca , Cb and Cc are
parasitic capacitances
Copyright 2001, Agrawal & Bushnell
Da
Dc
Db
Da and Db are
interconnect or
propagation delays
Dc is inertial delay
of gate
a
b
Logic simulation
c (CMOS)
c (zero delay)
c (unit delay)
X
c (multiple delay)
Unknown (X)
c (minmax delay)
0
Copyright 2001, Agrawal & Bushnell
5
VLSI Test: Lecture 6
rise=5, fall=5
min =2, max =5
Time units
7
Signal States
Modeling Levels
Timing
Application
0, 1
Clock
boundary
Architectural
and functional
verification
Connectivity of
Boolean gates,
flip-flops and
transistors
0, 1, X
and Z
Zero-delay
unit-delay,
multipledelay
Logic
verification
and test
Switch
Transistor size
and connectivity,
node capacitances
0, 1
and X
Zero-delay
Logic
verification
Timing
Transistor technology
data, connectivity,
node capacitances
Analog
voltage
Fine-grain
timing
Timing
verification
Circuit
Analog
voltage,
current
Continuous
time
Digital timing
and analog
circuit
verification
Modeling
level
Circuit
description
Function,
behavior, RTL
Programming
language-like HDL
Logic
Signal
values
True-Value Simulation
Algorithms
Compiled-code simulation
Event-driven simulation
10
Compiled-Code Algorithm
11
Event-Driven Algorithm
(Example)
Scheduled
events
e=1
t=0
0
2
d=0
4
b=1
f=0
Time, t
d = 1, e = 0
f, g
g=0
f=1
7
8
d, e
6
0
c=0
g=1
Time stack
a=1
c=1
Activity
list
g=1
12
max
t=0
1
Event link-list
2
3
4
5
6
7
13
Steady 0
(no event)
Large logic
block without
activity
14
Summary
15