ATPG - Simulations 1
ATPG - Simulations 1
To validate setup info. , design related constraints like clock definitions, reset definitions,
OCC related constraints , timing related constraints(cell delays , wire delays) , JTAG
programming , PLL programming etc.
If these constraints are proper , sure simulations be passed.
In simulations we replicate tester behavior.
Types of Simulations
Depending on Notiming & Timing Simulations , Details were mentioned
below:
No-timing/Zero delay/Unit delay Simulations – Here the Simulations are
performed without considering the delays of the circuit. No-timing simulation is a
simulation method used to verify patterns before the SDF and post-layout netlist are
ready. It is done to check that the pattern generated is properly working or not.
Timing Simulations - Here the Simulations are performed including the delays of
the circuits as cell delays, net delays etc. Timing Simulation is a simulation method
used to verify patterns after the SDF and post-layout netlist are ready.
Simulation Modes
Serial Simulation -
In this mode the patterns are loaded as in the tester, thus we
obtain a very realistic indication of circuit operation.
The disadvantage is that for each pattern, you must clock the scan
chain registers at least as many times as you have the scan cells in the
longest chain.
Parallel Simulation -
In this mode you can directly load the simulation model with
the necessary pattern values because you have the access to internal
node in design.
Parallel Patterns are forced parallelly (at the same time) at SI of each
flop and measured at SO. Here only two cycles are required to
simulate a pattern – one is to force all the flops and one for capture.
The disadvantage is that even though parallel simulations passes we
are not sure that it will pass in tester.
Advantages and disadvantages of serial and parallel simulations
In Serial Simulations we will get very realistic indication of circuit
operation, whereas we don’t get that in parallel simulation.
Serial simulations is time consuming as it takes more time load, as
it must load all the flop cycles, whereas in parallel we have control to internal
nodes so we can get it done in two cycles.
Serial simulations are difficult to debug as we don’t get any failing flop
name, but parallel simulations are easier to debug as we will get the info.
Parallel simulations are not realistic, even though it is passing we will not
be sure that it will pass in tester.
If Parallel patterns are passing and Serial patterns are failing.
Some ways to debug -
We can create debug patterns which can give us the failing flop.
We can check the failing serial logfile note down the failing edt, fail type,
cycle number and with scan chain report find the failing flop.
Description:
D2 is data signal and Q2 is output of flop2 which is failing in Timing.
D1 and Q1 is data and output signal of flop1 which we will get by tracing
back flop2.
This is an ideal case, at 1500ns the value of Q2 is 1. which is as expected.
Example2 of Timing Sim Debug:
Description:
Here flop2 is failing as Q2 expected value is 1 (at 1500ns) but simulated
value is 0.
When we trace back to flop1 we see flop1 is working fine.
flop2 is failing due to the added delays (buf1 and buf2).