Title: CAD Issues
1CAD Issues Algorithms(1)
2CAD Issues Algorithms
- 1. Simulation
- 2. Verification
- 3. Synthesis
- 4. Place Route
31. Simulation 1) Circuit Simulation
- Function
- DC analysis, AC analysis, noise analysis,
transient or time-domain analysis - very accurate but spends much time
- Method
- treat the circuit as a continuous dynamical
system and obtain a set of nonlinear
algebraic-differential equations with electrical
variables such as voltage, current, and charge to
describe its behavior - Gaussian elimination O(N3), Nnumber of nodes
- Sparse matrix O(N1.5), only neighboring nodes
have interconnecting elements to reduce analysis
time - SPICE
- the very popular circuit simulation tool
developed at Berkeley - HSPICE - most commercially used
4Circuit simulation algorithm
Nonlinear differential equation f(x,x,t) 0
Nonlinear simultaneous equations g(x) 0
Linear simultaneous equations Ax b
52) Switch-level Simulation
- Motivation
- SPICE simulation is too slow for a large digital
system. - Logic simulation may give misleading simulation
results for systems built from MOS transistors lt-
bidirectionality of signal flow, charge sharing
effects, and transistor sizes. - Switch-level simulation is the lowest level of
digital simulation.
transistor as a gate-controlled switch
6Network model
Storage node state is determined by the
operation of network
Vdd
Input node strong signals to the system, ex)
Vdd, Gnd, clock, data inputs
out
(4,1)
2
3
gnd
(4,0)
(s) Edge transistor s strength, or
conductance relative to those of TRs in a ratioed
circuit
(c, l) c node capacitance relative to that of
other nodes with which it may share charge, Vdd,
Gnd has maximum value l logic level, one of (0,
1, X)
Range of c and s 1ltcltK, for storage
nodes KltsltW, for transistor strength c W,
for input nodes
7Network partitioning
Gate input is terminated
Each subnetwork is simulated to find steady-state
response
8Steady-state response of subnetwork
Strength of conducting path min(size(root(p)),
min(strength of transistors))
Strength and level of storage node
93) Logic Simulation
- Simulation model
- using logic gate model - AND, OR, NOT, NAND, NOR,
Flip-Flop, etc. - I/O value representation - Boolean logic value
0, 1, X(unknown) - time - integer, defined by a multiple of unit
delay - Classification by delay consideration
- unit-delay simulator
- assumes that each component has a unit delay
- avoids modeling any circuit delays
- iii) simulates function but not performance
- variable-delay simulator
- i) allow components to have arbitrary delays
- ii) allow for more accurate modeling of
fast-changing nets
10- Delay model
- model delays physically occurring in logic gates
- enable accurate performance analysis of the
logic designed - embedded in logic simulation engines
- transport delay, ambiguity delay, rise-fall
delay, inertial delay
A
B
?I1, ?T1
Transport delay
B
?I4
Inertial delay minimum duration for changing gate
state
11- Event-driven simulation
- evaluate a component only when an even occurs on
its input - keep track of event on a time wheel, which stores
event in time order - spin the time wheel forward to the next time slot
with an event, and start simulating from there - evaluating a component can cause a new event to
be added to later slots in the time wheel for
later action
Delay X,W1 Y,Z2
12- Compiled simulation
- translate the given logic circuit into a fast
code which is compiled and executed - 1. Do a levelization - determining evaluation
order of gates in the given circuit for correct
simulation, a kind of topological sorting - 2. Generate code for evaluating each gate from
lower level to high level - 3. Compile the generated code
- 4. Run the compiled code
/ level 1 / fbc store P, f gde store
Q,g / level 2 / haf store
R,h ifg store S,i / level 3
/ jhi store T, j
134) Fault Simulation
- Digital logic testing
- defect physical deviation from some specified
properties - error incorrect response to applied stimuli
caused by the presence of defects - test an experiment to detect defects and the
source of them - Fault model
- models defects introduced during manufacturing
- stuck-at-0(/1) the defect causes a logic gate
output to be always 0(or 1) - Single fault assumption only one fault at any
time in a circuit
This input pattern can detect the fault
1 --gt
1 --gt
--gt 1
--gt 0
1 --gt
1 --gt
Fault-free circuit
Bottom input is s-a-0
14start
Initial fault list
Fault coverage
Generate stimulus to cover some remaining faults
100
Fault simulation
Remove faults covered from fault list
of test vectors
Coverage OK?
stop
Test pattern generation satisfying target coverage
15- Appications
- evaluation of a test sequence in terms of its
fault detection and location capability - analysis of circuit under failure condition
- Methods
- general
- i) serial
- ii) parallel
- iii) deductive
- iv) concurrent
- combinational circuits
- i) parallel pattern methods
- ii) trace-based
- iii) combined
- synchronous sequential circuits
- i) modified parallel(PROOFS)
Fault simulation
16- Serial fault simulation
- iteration of logic simulation after injecting
each fault -gt heavy simulation time - Parallel fault simulation
- simulating fault-free circuit and N-1 faulty
circuits simultaneously - N word size of host machine
A,B,C 4 bit value C A B performs 4
evaluations in parallel
17- Deductive fault simulation
- simulate a large of faults in one pass
- only a few faults may produce values different
from fault-free values - approach - keep fault-free values and differences
Fault list a set of faults that complement the
fault-free value at a line
After simulation of fault-free circuit, fault
list is deductively constructed based on the
fault-free logic values on each line
This can detect a/1 --gt Laa/1
This can i)detect c/1 ii)La because a has
controlling value and Lb is eliminated because b
has non-controlling value ? Lc(La - Lb) U c/1
This can detect b/0 --gt Lbb/0
18La a/1 Lb b/0 Ld d/1 Le (La -
Lb) U e/0 a/1, e/0, Lf (Ld - Lb) U f/1
d/1, f/1 Lg (Le - Lf) U g/0 a/1, e/0,
g/0 ----gt input pattern 010 can detect faults
a/1,e/0 and g/0
19- Concurrent fault simulation
- keep a fault list(with I/O values) for each gate
- when inputs to a gate change or faults are
propagated, dynamically update the fault list for
the gate
Input pattern abdf0000 detect faults f/1 and g/0
Input pattern abdf1001 detect faults
b/1,c/0,e/0,f/0, and g/1
20Comparison of three methods
212. Verification 1) Timing Verification
- ??? ??? ??? ??? ??? ?? ??? ? ?? ?? ???? ?? ???
???? ???? ?? ??? ?? ??. - Critical delay (TC)? critical path
- Primary output? ?? ??? ??? ??? ??? ?? ? ??? ??
??. - TC? ?? ??(TCLK) ?? ?? ??? ??? ?? ????.
TC lt TCLK
22- Topologically longest path
- ??? ??? ?? ? ??.
- ??? ?? ???? ??? ??? ?? ? ?? (false path problem).
0
0
10
10
20
20
1
1
Topologically longest path 40 Actual delay 30
23- ??? ????? (Dynamic timing analysis)
- ??? ?? ??? ???? ????? ?? ???? ???? ??? ???.
- ?? ???? ??? ???? ??? ? ??.
- ????? ??? ?? ??? ?? ????? ???? ????? ??? ???? ??
??????? ????.
24- Static Timing analysis
- Best first search? ??? ?? ??.
- i) Topologically longest path? false path? ????
????. - ii) ??? sensitizable path?? critical path? ??.
- iii) False path? ?? ???? ? ??? ??? ?? ??? ????.
- False path??? ????? ??? ???? ??? path
sensitization criteria? ???? ????. - i) Path sensitization criteria? ??? ??? ???? ???
?? ???? ??? ???? ??? ??? ???? ???? ?? ???? ??
???? ??? ?? Timing analysis? ???? ????. - ii) ????? ???? ???? ??? ??? ? ?? path
sensitization criteria? ???? ??.
252) Functional Verification
- ??
- ??? ??? system? ??? functional spec.? ????? ????
?? - Complete verification ??
- Implicit enumeration method
- BDD-based method
- Formal method
- Equivalence checking, correctness checking
Specification
Golden Reference Model (Ideal model)
Design
Equivalence
Correctness
26- Implicit Enumeration-State machine
- ??
- i) ??? ??? state machine?? ?? input sequence? ??
?? output sequence? ?? state pair? ???. - ??
- i) State machine S, Q ? si? S? state, qi? Q?
state - ii) si? qi? ?? ??? ?? ??? ??? ????, ?? ??? ??? ??
??? ?? next state? ?????? ???? ????.
s0 ? q0
i2
i3/o3
i1
s2 ? q1
s1 ? q0
i2/o2
i3/o3
i1/o1
i1
i2
i1/o1
i1/o1
s0 ? q0
s2 ? q1
i2/o2
i2/o2
i3
s0 ? q0
27- BDD(Binary Decision Diagram)
- ??
- i) Internal node Variable? ???
- ii) Leaf node 0, 1 ? ??? ??? function? ?? ???
- iii) Edge Variable? 0 ? ?, 1 ? ?? ??? ???
- iv) 0 edge? 1 edge? ?? internal node? ???.
- ??
- i) Variable ??? ??? functionality? ?? ??? ???
???. - ii) BDD ???? operation? ??? ?? recursive
equation?? ????.
28x1
- BDD ??
- Combinational network? equivalence check
- ? network? ?? ?? variable ??? BDD? ??? reduction
??. (ROBDD) - ? BDD? isomorphic ?? equivalent ??.
1
0
x2
0
F x1x2 x3
x3
1
1
0
0
1
29- Formal verification
- Design? specification? ?? ??? ??? ??? ??? ?
language? ??? ??, symbolic manipulation? ????
???? ?? - Higher-order logic ?? temporal logic ??? spec?
design? ???? theorem prover? ??, logic? ???? ???
?? ???. - Temporal logic
- ??? predicate logic? ???? ??? ???? ??? ??
- Finite state system? state transition graph?
??????, ?? temporal logic?? formulation? ????.
30- Computational Tree Logic (CTL)
- State transition graph? ?? initial state? root? ?
infinite tree? ???. ? tree? path? system? ?? ???
state? ? state? ???? ??? ????.
31- CTL? ??
- Path quantifier (A, E)
- i) A ?? ??? ??? (?? ?? ??? state )
- ii) E ?? ??? ??? (?? ?? ??? state )
- Temporal modality(F, G, X, U)
- i) F ? ? ? ?? state?? ??? ?? ?? ???.
- ii) G ? ? ? ?? state?? ?? ??? ???.
- iii) X ? ? ? ?? state? ?? ?? state?? ??? ???.
- iv) ? U ? ? ? ?? state ?? ??? ?? ??, ? ??
state?? ? ? ?? ??? ???.
32- Traffic light controller specification
- hwy_light ? farm_light? ??? green? ??? ???.
- i) farm_light? hwy_light? ??? green? ??? ?? ???,
?? ????? ??. - ii) AG ( !((farm_light green)
(hwy_lightgreen))) - farm road? ?? ???? ?? hwy_light? ??? green? ???
??. - i) ?? ??? ?? ??? hwy_light? green? ?? ??? ?? ???
?? ?? ???? ??. - ii) AG(AF(hwy_lightgreen))