Professional Documents
Culture Documents
• Placement:
• Placement is arranging all the logic cells withinthe flexible blocks on a chip.
• Objectives of Placement:
• Guarantee the router can complete the routing step
• Minimize all critical net delays
• Make the chip as dense as possible
• Clock Tree Synthesis (CTS):
• Clock Tree is defined by its start point (source) and endpoint(sink).
• During CTS, delay and skew from source to sink are optimized.
• Detailed Routing:
• Complete all the connections between logiccells.
• Exact location and layers for each interconnect aredetermined.
Mixed Signal ASIC
• Digital + Analog Blocks
• Analog Blocks : ADC, DAC, Amplifiers, Modulators & Demodulators
etc..
Mixed Signal ASICDesignFlow
Proto ASICTesting
Source of Problems
• Design Problems:
• Logic design incorrect.
• Physical design incorrect.
• Manufacturing Problems:
• Processing faults:
• Missing contact windows.
• Parasitic transistors.
• Material defects:
• Bulk defects (cracks, crystal imperfections etc.)
• Surface impurities.
• Electrical defects:
• Shorts (Bridging faults)
• Opens
• Transistor Stuck-On/Open
• Logical defects:
• Logical stuck-at-0/1
• Slow transitions.
• Defects: Imperfection or flaw that occurs withinsilicon.
• Faults: Representation of a defect.
• Failures: Non-Performance of the intended function of thesystem.
• Error: The manifestation of Failure.
• Examples:
• A Physical short is considered as a defect.
• A Physical short resulting in stuck-at behavior might be modeled as astuck-at-
1/0 fault.
• Non-performance of the system due toerror is failure.
Design Levels from Testability Perspective
Importance of Testing
• According to Moore’s law , featuresize is decreasing.
• Defects are unavoidable.
• Testing is required to guarantee fault-freechips.
• Product quality depends on the followingparameters:
• Test cost
• Test quality
• Test time
• To IncreaseProductivity:
• Shorter time-to-market
• Reduced design cycle
• Reduced cost
• ToImprove Quality:
• Reduced Defects per Million (DPM)
• Improved quality of test.
Testability
• The ability to put a design into a known initial state, and thencontrol
and observe internal signal values.
• DFTrefers hardware design styles , or added hardware that reduces
test generation.
• Test generation complexity increases exponentially with the sizeof
the circuit.
• Two basic properties determine the testability of a node:
• Controllability:
• The ability to set node to a specific value through primary input.
• Observability:
• The ability toobserve the node’s value from primary output.
Scenario of Manufacturing Test
Test Vectors
Manufactured
circuits
Circuit Responses
1/0 stuck-atfaults.
• Partial-Scan
• Partition-Scan
Scan & Scan Architectures
Scan Groups
Scan Architectures
• Three Types: Mux-DFF , Clocked Scan , Level Sensitive Scan Design
• Mux_DFF:
• Fault Grading:
• The act of simulating a target vector against a good circuit description that contains afault.
• The goal being to see if the expected response is different between the two circuits at an
observable point.
• If a difference is detected, then the fault has beendetected.
• If a difference not detected , then the fault is masked for that vector (not detected).
• Fault Masking:
• The fault that is not able to be detected due to a circuit configuration problem such as
redundancy.
• An exercised fault can not be driven uniquely to an observepoint.
• This kind of faults needs to be masked.
ATPG Methods to detect a fault
• Based on Truth Table
• Based on Boolean Equations
• Based on Structural Analysis
• D-algorithm
• 9-valued D-algorithm
• PODEM (Path Oriented DecisionMaking)
• FAN (Fanout Oriented)
Fault Models
• Mathematical model of faulty behavior.
• Can be used to assess the compliance of a circuit to variouscriteria.
For example:
-- Structural compliance can be verified by using a Stuck-at Faultmodel.
-- Timing compliance can be verified by using a Delay Fault model.
-- Current Leakage compliance can be verified by using a IDDQ Fault model.
• Identifies target faults.
• Models faults which are most likely to occur.
➢ Stuck-at Fault Model (SAF) :: The node is modeled to be stuck-at some value 0 or 1 depending on what we are
targeting.
➢ Transition Fault Model (TDF) :: This is considered to be SAFwithin a time window. The value of the node
changes but not within time , at which it should change. For detecting such faults , we have 2 vectors for each
pattern ; one for launching the fault and other to capture the fault. This fault is also known asAt-Speed Test
Fault Model.
➢ Path Delay Fault Model (PDF) :: In this fault model, instead of concentrating on a single gate of the netlist , we
generally are concerned with a collection of gates which forms a valid path in the design.
➢ IDDQ Fault Model (IDDQ) :: This is similar to SAFbut instead of measuring voltage , we measure current. In a
CMOS circuits , the ideal value of the quiescent state (Q-state) is zero but there will be some current that
is because of shorted to ground or power which should not be.
➢ Bridging Fault Model (BFM) :: In this case , two close lying net may effect the value of each other, As per Spec ,
we may select some net which have coupling capacitance more than specified values , then these become the
fault locations for the ATPGto detect the fault.
Stuck-At Fault Model
• Assumptions:
• Only one test is faulty
• Faulty line permanently set to 0 or 1
• Fault can be at an input or output of a gate.
Some Quizzes to detect patterns for SAF
• To detect a SAFon a target node:
• Control the node to the opposite value of the Stuck-At value by applying the
data at the primary inputs.
• Make the node’s fault effect observable by controlling the value at all other
nodes affecting the output response , so the targeted node is the active
controlling node.
• The set of logic 0 & 1 is applied to the primary inputs of a design is called the
“input stimulus”. The resulting values at the outputs , assuming the fault-free
design is called “expected response”. The actual values measured by the
primary outputs are called the “output response”. If the output response does
not match the expected response for a given input stimulus , the input
stimulus has detected the fault.
Summary :: Afault can be detected if it is activated & propagated.
• #1.
• #2.
• #3.
• #4.
• #5.
• #6.
Scan Chain Operation
• Scan is a method to make circuit easily testable andaccessible.
• Scan allows to have controllability &observability for FFs.
• It tests combinational circuits using sequential logic.
• With scan , All FFs will form a chain like a shift register.
• With scan , a synchronous sequential circuit works in two modes: Normal
mode and Test mode.
• Steps for Scan Chain Operation:
• Setup the scan chain configuration.
• Shift values into the active scan chains.
• Exit the scan configuration.
• Apply stimulus to the test circuit inputs and measure the outputs.
• Pulse clocks to capture the test circuit response inflip-flops.
• Setup the scan chain configuration.
• Shift values out of the activescan chains.
• Exit the scan configuration.
Scan Chain Operation(contd..)
Delay Faults
• There are 2 types of delay faults:
• Transition Delay Fault (TDF): Models slow-to-rise(STR) and slow-to-fall(STF)
transition on logic gate.
• Path Delay Fault (PDF): Models slow-to-rise (STR) and slow-to-fall (STF)
transition on some path(s) from primary input to primary output.
• Delay Faults requires 2 patterns:
• Two patterns :
• Initialization Pattern (P1) – place initial value at fault site.
• Propagation Pattern (P2) – place the final value and propagate to theobservable fault.
• Delay of all paths through faulty gate exceed specified cycle time. Hence delay
faults reported for this.
• Ideally there is suppose to low leakage current in the silicon at steady state
But large amount of leakage current flows from VDD to GND in faulty
devices due to manufacturing defects. Quiescent current from VDD to VSS
is shown in Fig.
Bridging Fault model
• Unintended short between two signal and creates wiredlogic
• Shorts within logic gate are not bridgingfaults
• Fault Classes:
• Testable:
• Detected: A test pattern can be generated to control & observe thefailure
• Untestable: No test pattern can be generated to control & observe the fault.
• Abandoned: Test Compiler has reached its CPUlimit and has not found the pattern.
• Tied: The node is tied low or high , leading to controllabilityproblems.
• Redundant: The design contains redundant logic.
• ATPG_Untestable: This includes all faults for which the test generator is unable to find a
pattern to create a test, and yet cannot prove the fault redundant.
Basic Terminology:
Benefit of Compression
Difference between Normal & CompressionScan
Diff Between Normal & Compressed Scan(Contd.)
Results of Scan & Compression
Compression Logic
Block Diagrams of Decompressor & Compressor(Compactor)
Overview of TestCompress Tool Flow
• There are three main activities in thetool’s flow:
• Creating the EDTLogic
• Synthesizing the EDTLogic
• Generating EDTPatterns.
• Creating the EDTLogic:
• Invoke the TestKompress on Gate Level Netlist:
<mcdft tree>/bin/testkompress ../gatelevel_nl.v –verilog –library $ATPG_LIB\
-dofile edt_ip_creation.do –logile ../transcripts/edt_ip_creation.log –replace
• Provide TestKompress Commands:
Overview of TestKompress Tool Flow
report statistics
report scan volume
//close the session and exit
exit
• Because the clock used in EDTlogic is different than the scan-clock , the tool can insert lockup cells automatically between
the EDTlogic and the scan chains as needed. TestKompress inserts lockup cells as part of the EDTlogic ; the tool never
modifies the design.
External Flow
Internal Flow
• Default EDTPinNames
Test Proc file generated for EDT
Compactor Logic
Compactor Types
• There are 2 compactors available in TestKompress.
• Basic
• Xpress
1. Basic :: The basic compactor should be used for designs that do not generate many
unknown (X) values. Due to the scan cell masking , the basic compactor is less
effective on designs that generate Xs in scan cells when a test pattern applied. The
EDTlogic generated when the basic compactor used may be upto 30% smaller than
EDT logic generated by Xpress compactor used. However, when X values are
present , more test patterns may berequired.
2. Xpress :: The Xpress compactor optimizes compression for all designs but is
effectively effective for designs that generate X values. The Xpress compactor
observes all chains with known values , and at the same time , masks out scan
chains that contains X values. This X handling results in fewer test patterns being
required for designs that generate X values. Depending on application , this
compactor may need additional clocking cycles. This cycles determined by the ratio
of scan chains to output channels and are relatively few when compared with the
total shift cycles.
Basic Compactor Architecture
Basic Compactor Architecture (contd…)
• Amask code (prepended with a decoder mode bit) is generated with
each test pattern to determine which scan chains are masked or
observed. The basic compactor determines which chains to observe
or mask using the mask code asfollows:
1. The decompressor loads the mask code into mask shift register.
2. The mask code is parallel-loaded into the mask hold register , where the
decoder mode bit determines the observe mode: either one scan chain or
all scan chains.
3. The mask code in the mask hold register is decoded and each bit drives one
input of a masking AND gate in the compactor. Depending on the observe
mode , the output of these AND gate is either enabled or disabled.
Xpress Compactor Architecture
Xpress Compactor Architecture (contd…)
• Amask code (prepended with a decoder mode bit) is generated with each
test pattern to determine which scan chains are masked or observed. The
Xpress compactor determines which chains to observe or mask using the
mask code as follows:
1. Eachtest pattern is loaded into the decompressor through an input maskshift
register on the input channel.
2. The mask code is appended to each test pattern and remains in the mask shift
register once the test pattern is completely loaded into thedecompressor.
3. The mask code is then parallel-loaded into the mask hold register, where the
decoder mode bit determines whether the basic decoder or the XORdecoder is
used on the mask code.
• The basic decoder is used to select only one scan chain per compactor when there is ahigh
rate of Xvalues or for chain diagnosis.
• The XOR decoder is used to mask or observe multiple scan chains per compactor
depending on the mask code. For example , if the mask code is all 1s , then all the scan
chains are observed.
2. The decoder output is shifted through a multiplexer , and each bit drives one.input
on the masking AND gates in the compactor to either disable or enable the output
, depending on the decoder mode and bit value.
Why Masking Needed(X-Blocking)
• An “X” in one scan cell will block the observation of corresponding cells in other scan chains
associated in same channel. This is called X-Blocking.
• Types of Masking:
• 1-hot masking
• Flexible Masking
Why Masking Needed-Solution (1-Hot Masking)
• Assume that one fault is observed by two scan cells, and that these scan cells are located in two scan
chains that are compacted to the same scan channel. Further , assume that these cells are in the same
locations (columns) in the twochains and neither chain is masked. Fig. above explains this.
• Assume that the good value for a certain process is a 1 in two scan cells. This corresponds to a 0
measured on the scan channel output , due to the XORin the compactor. If a fault occurs on this site ,
0s are measured in the scan cells , which also results in a 0 on the scan channel output, For this unique
scenario , it is not possible to see the difference between a good and a faulty circuit.
Fault Aliasing - Solution
• SoCEvolution:
Core Overview
• SoCcores & UDLare not manufactured and tested individually.
• Cores & UDLare tested together.
• Cores are pre-designed , verified butuntested functional blocks.
• Core is the IP of vendor.
• Core vendor supplied tests must be applied toembedded cores.
• Cores are classified into 3 types , namely:
• Soft core : is a technology-independent synthesizable RTLcircuit description.
• Firm core: is a technology-dependent gate-level netlist that meets timing
constraints.
• Hard core: includes layout and timing information.
• SoCtest integrationrequires:
• Test data provided with each core.
• Core test integration methodology and tools.
Core Overview (contd…)
• Test Challenges in SoCDesign:
• The individual chips are tested separately before being assembled on the board.
• The individual cores are not tested before the complete SoCisfabricated.
• To test each core , we need to provide:
• Core test access , and
• Core isolation mechanism.
• There is no direct access to the core I/O ports from the chip I/Os.
• Use of multiple cores within onedesign.
• Compose an integrated test and its control mechanism for the overall systemchip.
• SoCTestMethodology
• Study functions and architectures in each module of a general SoC.
• Design each module.
• Add WRAPPER to each core(module).
• Integrate the IP testing some standard (ex: P1500)
DFTStrategy
• Since for technology is changing , design size is shrinking further ,ATPG
patterns are increasing and thus power consumption getting more
during test for complex SoCdesigns . So using a core-based divide-and-
conquer approach helps to overcome the challenges of high power
consumption and huge data volume generated during testing.
• Multi-mode approach:
• In a core-based testing strategy , the design is partitioned into reasonable-sized
cores that can be tested independently. At the top-level , a test schedule is
created based on the available I/Os for test and cores’ power consumption. This
strategy enables a DFTapproach , based on IEEE1450 and IEEE1500 standards ,
thatavoids power problems and can also help reduce test costs while improving
test quality.
Multi-mode approach (contd..)
• Each core is to be tested independently and requires a test wrapper cell to isolate the core from the
rest of the design and provide test access at the core’s I/Os. This test wrapper functions in various
modes under the control of a test controller. The modes supported by this wrapper include:
• INTEST (wrp_if) mode:: For testing the core logic. Wrapper cells on the input side isolate the core
from the capturing data from outside , and input wrapper cells capture the scan data. Wrapper
cells on the output side capture data from the core.
• EXTEST (wrp_of) mode :: For testing top-level user-defined logic (UDL). The Wrapper Cells on the
core inputs the data from the UDL , while the wrapper cells on the output side isolate the UDL
from capturing data from the core and also launch test data into the UDL. During capture , the
input wrapper cells capture the scan data from the UDL.
Multi-mode approach (contd..)
• To reduce the test data volume and the test cost , the cores can be tested using scan
compression based on adaptive scan technology. The wrapper chains are configured
(in INTESTmode) asinternal scan channels of scan compression logic.
• Once the wrapper and scan chains are inserted , the DFT team used a custom script
to customize the wrapper cells and created a new CTL(Core Test Language) model for
the macro level of the design for scan compression insertion.
SoCTest Access Architecture
• 1. Test Source:
• Provides test vectors via on-chip LFSR, counter , ROM , or off-chip ATE
• 2. Test Sink:
• Provides outputverification using on-chip signature analyzer , or off-chip ATE.
• 3. Test Access Mechanism (TAM):
• User-defined test data communicationstructure.
• May contain bus, boundary-scan and analog testbus components.
• Tests module interconnects via test-wrappers.
• 4. Test Controller:
• Boundary-scan TAP.
• Receives control signals from outside.
• Serially loads test instructions intest-wrappers.
P1500 Standard Wrapper
Wrapper (P1500) Overview
• Hidden:
Wrapper (P1500) contd…
• Normal Operation:
• Bypass Mode:
Wrapper (P1500) contd…
• Intest Mode:
• When you want to target coverage within your core.
• Extest Mode:
• When you want to target coverage outside your core.
ATPGwith Memories
• In DFT, we consider memory as BLACK-BOX and all the combinational
design which interacts directly with this Black-Box will be considered
as a SHADOW LOGIC. This include MUXes also. As memories are
declared as Black-boxes so the inputs are unobservable & outputs are
uncontrollable. So in DFT, we put Test Points (aka Shadow logic)
across memory pins to make observable at input & controllable at
output. So to increase coverage. Picture below saysshow..
PVTInformation
• Worst -> SS(Process) -> L(Voltage) -> H (Temperature) -> Max. Delay -
> Setup Violations -> Decrease the frequency to fix Setup Issue.
• Best -> FF (Process) -> H (Voltage) -> L(Temperature) -> Min. Delay ->
Hold Violations -> Add redundant logic or do some tricks in PVTto fix
Hold Issue.
• Setup Violation occurs when Gate Delays are BIG. Hence use Max
corner.
• Hold Violation occurs when Gate Delays are SMALL. Hence use Min
corner.
• We are fixing Setup Violation at MAX corner and hold at MIN corner
in order toensure that signal is within limits.