Pseudo-Random Sequence Generator
Download
Report
Transcript Pseudo-Random Sequence Generator
Design of VLSI Systems
By
Premananda B.S.
[email protected]
Modules
• Design Economics
• Special-purpose Subsystems
• Testing and Verification
Design Economics
Design Economics
• IC designer should able to predict the cost and
the time to design a particular IC.
• This guides the choice of implementation
strategy.
• Selling price Stotal = Ctotal / (1-m)
Where m = profit margin and Ctotal = total cost
• Cost to produce an IC are divided into:
– Nonrecurring engineering costs (NRE)
– Recurring costs
– Fixed costs
Non-recurring Engineering Costs
• Cost once spent during the design of an IC, they include:
– Engineering design cost
– Prototype manufacturing cost
– i.e., Ftotal = Etotal + Ptotal
• NRE can be viewed as an investment for which there is
a required rate of return.
• Engineering design costs, include:
– Personnel costs
– Support costs
• Prototype manufacturing costs, include:
– Mask cost
– Test fixture costs
– Package tooling
• The personnel cost include labor for:
–
–
–
–
–
–
–
Architectural design
Logic capture
Simulation for functionality
Layout of modules and chip
Timing verification
DRC and tapeout procedures
Test generation
• The support costs are:
– Computer costs
– CAD software costs
– Training
Recurring Costs
• The cost that recurs every time an IC is sold.
• The total cost is Ct = Cprocess + Cpack + Ctest
– Cprocess = W / (N.Yd.Ypack.)
• Fabrication
–
–
–
–
Wafer cost / (Dice per wafer * Yield)
Wafer cost: $500 - $3000
Dice per wafer:
Yield: Y = e-AD
• For small A, Y 1, cost proportional to area
• For large A, Y 0, cost increases exponentially
• Packaging
• Test
Fixed Costs
• Data sheets and application notes
• Marketing and advertising
Schedule
• Estimate the design cost and design time for the
system.
• Selecting the strategy by which the ICs will be
available in the right time and price.
• Experienced person.
• To estimate schedule some idea of the amount
effort required to complete the design.
• Schedule is a function of personpower.
• Methods for improving the schedules:
– Using a high productivity design method
– Improving the productivity of a given technique
– Decreasing the complexity of the design task by
partitioning
Personpower
•
•
•
•
•
•
Tasks required are:
Architectural design
HDL capture
Functional verification
PAR
Timing verification, signal integrity, reliability
verification
• DRC and tapeout procedures
• Test generation
Example
• You want to start a company to build a wireless
communications chip.
• How much venture capital must you raise?
• Because you are smarter than everyone else,
you can get away with a small team in just two
years:
– Seven digital designers
– Three analog designers
– Five support personnel
Solution
• Digital designers:
–
–
–
–
–
salary
overhead
computer
CAD tools
Total:
• Analog designers
–
–
–
–
–
salary
overhead
computer
CAD tools
Total:
• Support staff
–
–
–
–
salary
overhead
computer
Total:
• Fabrication
– Back-end tools:
– Masks:
– Total:
• Summary
• Digital designers:
–
–
–
–
–
• Support staff
$70k salary
– $45k salary
$30k overhead
– $20k overhead
$10k computer
– $5k computer
$10k CAD tools
– Total: $70k * 5 = $350k
Total: $120k * 7 = $840k • Fabrication
• Analog designers
– Back-end tools: $1M
– $100k salary
– Masks: $1M
– $30k overhead
– Total: $2M / year
– $10k computer
• Summary
– $100k CAD tools
– 2 years @ $3.91M / year
– Total: $240k * 3 = $720k
– $8M design & prototype
Cost Breakdown
• New chip design is fairly capital-intensive
• Maybe you can do it for less?
Special-purpose
Subsystems
Agenda
• Packaging
–
–
–
–
Package options
Chip-to-package connections
Package parasitics
Heat dissipation
• Power Distribution
– On-chip power distribution network
– Supply noise
• I/O
– Basic I/O pad circuits
• Clock
– Clock system architecture
– Global clock generation & distribution
– Local clock gaters
Packaging
• Package functions:
– Electrical connection of signals and power from chip to
board, with little delay or distortion
– Mechanical connection of chip to board
– Removes heat produced on chip
– Protects chip from mechanical damage
– Compatible with thermal expansion
– Inexpensive to manufacture and test
Package Options
• Through-hole vs. surface mount
Multichip Modules
• Pentium Pro MCM
– Fast connection of CPU to cache
– Expensive, requires known good dice
Chip-to-Package Bonding
• Traditionally, chip is surrounded by pad frame:
–
–
–
–
Metal pads on 100 – 200 mm pitch
Gold bond wires attach pads to package
Lead frame distributes signals in package
Metal heat spreader helps with cooling
Advanced Packages
• Metal leads contribute parasitic inductance and
coupling capacitors to their neighbors
• Fancy packages have many signal, power layers
– Like tiny printed circuit boards
• Flip-chip places connections across surface of
die rather than around periphery
–
–
–
–
–
Top level metal pads covered with solder balls
Chip flips upside down
Carefully aligned to package (done blind!)
Heated to melt balls
Introduces new testing problems
Package Parasitics
• Use many VDD, GND in parallel
– Inductance, IDD
Package
Signal Pads
Signal Pins
Chip
VDD
Bond Wire
Lead Frame
Board
VDD
Package
Capacitor
Chip
Chip
GND
Board
GND
• Bond wires and lead frame contribute parasitic
inductance to the signal traces.
• They also have mutual inductance and
capacitive coupling to nearby signal traces,
causing crosstalk when multiple signal switch.
• VDD & GND wires also have inductance from
both bond wires and lead frame.
• They have nonzero resistance, which becomes
important for chips drawing large supply current
• High performances packages often include
bypass capacitors between VDD & GND.
Heat Dissipation
• 60 W light bulb has surface area of 120 cm2
• Itanium 2 die dissipates 130 W over 4 cm2
– Chips have enormous power densities
– Cooling is a serious challenge
• Advances in heat sinks, fans, packages have
raised the practical limit for heat removal from
about 8 W in 1985 to nearly 100 W today for
affordable packaging.
• Package spreads heat to larger surface area
– Heat sinks may increase surface area further
– Fans increase airflow rate over surface area
– Liquid cooling used in extreme cases ($$$)
Thermal Resistance
• Temperature difference between transistor
junctions and the ambient air is, DT = qjaP
– DT: temperature rise on chip
– qja: thermal resistance of chip junction to ambient
– P: power dissipation on chip
• Thermal resistances combine like resistors
– Series and parallel
• qja = qjp + qpa
– Series combination
Example
• Your chip has a heat sink with a thermal
resistance to the package of 4.0° C/W.
• The resistance from chip to package is 1° C/W.
• The system box ambient temperature may reach
55° C.
• The chip temperature must not exceed 100° C.
• What is the maximum chip power dissipation?
• Solution is (100-55 C) / (4 + 1 C/W) = 9 W
Power Distribution
• Power Distribution Network functions:
–
–
–
–
–
–
–
Carry current from pads to transistors on chip
Maintain stable voltage with low noise
Provide average and peak power demands
Provide current return paths for signals
Avoid electromigration & self-heating wearout
Consume little chip area and wire
Easy to lay out
Power Requirements
• VDD = VDDnominal – Vdroop
• Want Vdroop < +/- 10% of VDD
• L di/dt of bond wire and IR drop across on-chip wires are
often a major source of supply noise
• Sources of Vdroop
– IR drops
– L di/dt noise
• IDD changes on many time scales
Power
Max
clock gating
Average
Min
Time
IR Drops:
• Resistance of power supply network includes:
–
–
–
–
resistance of the on-chip wires and vias,
resistance of bond wires or solder bumps to the package,
resistance of the package planes,
resistance of the PCB planes
• IR drops arise from both average and instantaneous
current requirements.
Ldi/dt Noise:
• Inductance of power supply dominated by the inductance
of the bond wires
• Modern packages devote many of their pins to power
and ground to minimize supply inductance
• Two sources of current transients are switching I/O
signals and changes between idle and active mode in
the chip core
On-chip Bypass Capacitance
• The bypass capacitance is distributed across the chip so
that a local spike in current can be supplied from nearby
bypass capacitance rather than through the resistance of
the overall power grid.
• power distribution network doesn’t really need to carry all
of the peak current.
• Much of the difference between peak and average
current may be supplied by local, on-chip bypass
capacitors.
• On-chip bypass capacitors can reduce the amount of
metal needed for distribution.
• It also greatly reduces the di/dt drawn from the package.
Symbiotic Bypass Capacitors
• Where are the bypass capacitors in this picture?
• Gates that are not switching at a given instant in time act
as symbiotic bypass capacitors
• If only one gate in 60 switches at a given instant, the
bypass capacitance is 30 times the switched
capacitance
Power System Model
• Power comes from regulator on system board:
– Board and package add parasitic R and L
– Bypass capacitors help stabilize supply voltage
– But capacitors also have parasitic R and L
• Simulate system for time & frequency responses
Voltage
Regulator
VDD
Bulk
Capacitor
Board
Printed Circuit
Board Planes
Ceramic
Capacitor
Package
and Pins
Package
Capacitor
Package
Solder
Bumps
On-Chip
Capacitor
Chip
On-Chip
Current Demand
Bypass Capacitors
• Need low supply impedance at all frequencies
• Ideal capacitors have impedance decreasing with w
• Real capacitors have parasitic R and L
– Leads to resonant frequency of capacitor
2
10
1
10
1 mF
0.25 nH
impedance
0.03
10
10
10
0
-1
-2
10
4
10
5
10
6
10
7
frequency (Hz)
10
8
10
9
10
10
Frequency Response
• Use multiple capacitors in parallel
– Large capacitor near regulator has low impedance at low
frequencies
– But also has a low self-resonant frequency
– Small capacitors near chip and on chip have low
impedance at high frequencies
• Choose caps to get low impedance at all frequencies
impedance
frequency (Hz)
Input / Output
• Input/Output System functions:
–
–
–
–
–
–
–
Communicate between chip and external world
Drive large capacitance off chip
Operate at compatible voltage levels
Provide adequate bandwidth
Limit slew rates to control di/dt noise
Protect chip against electrostatic discharge
Use small number of pins (low cost)
I/O Pad Design
• Pad Types:
–
–
–
–
–
VDD and GND
Output
Input
Bidirectional
Analog
VDD and GND Pads
• High-performance chips devote about half of their pins to
power and ground.
• This large number of pins is required to carry the high
current and to provide low supply inductance.
• Largest sources of noise in many chips is the ground
bounce caused when the output pads switch.
• The pads must rapidly charge the large external
capacitive loads, causing a big current spike and high
Ldi/dt noise.
• The dirty power and ground lines serving the output pads
are separated from the main power grid to reduce the
coupling of I/O-related noise into the core.
Output Pads
• Drive large off-chip loads (2 – 50 pF)
– With suitable rise/fall times
– Requires chain of successively larger buffers
• Output transistors have gates longer than normal to
prevent avalanche breakdown damage and over voltage
is applied to the drains.
• Guard rings to protect against latchup
– Noise below GND injects charge
into substrate
– Large nMOS output transistor
– p+ inner guard ring
– n+ outer guard ring
• In n-well
Input Pads
• Level conversion
– Higher or lower off-chip V
– May need thick oxide gates A
• Noise filtering
– Schmitt trigger
A
– Hysteresis changes VIH, VIL
VDDH
VDDL
Y
VDDL
A
Y
weak
Y
Y
weak
A
• Protection against electrostatic discharge
ESD Protection
• Static electricity builds up on your body
– Shock delivered to a chip can fry thin gates
– Must dissipate this energy in protection circuits before
Diode
it reaches the gates
clamps
• ESD protection circuits
– Current limiting resistor
– Diode clamps
• ESD testing
R
PAD
Current
limiting
resistor
– Human body model
– Views human as charged capacitor
Thin
gate
oxides
1500
100 pF
Device
Under
Test
Bidirectional Pads
• Need tristate driver on output:
– Use enable signal to set direction
– Optimized tristate avoids huge series transistors
PAD
En
Din
Dout
NAND
Dout
En
Y
Dout
NOR
Improved tri-state
buffer
Analog Pads
• Pass analog voltages directly in or out of chip:
– No buffering
– Protection circuits must not distort voltages
Clocking
• Synchronous systems use a clock to keep
operations in sequence
– Distinguish this from previous or next
– Determine speed at which machine operates
• Clock must be distributed to all the sequencing
elements
– Flip-flops and latches
• Also distribute clock to other elements
– Domino circuits and memories
Clock Distribution
• On a small chip, the clock distribution network is
just a wire
– And possibly an inverter for clkb
• On practical chips, the RC delay of the wire
resistance and gate load is very long
– Variations in this delay cause clock to get to different
elements at different times
– This is called clock skew
• Most chips use repeaters to buffer the clock and
equalize the delay
– Reduces but doesn’t eliminate skew
Example
• Skew comes from differences in gate and wire
delay
– With right buffer sizing, clk1 and clk2 could ideally
arrive at the same time.
– But power supply noise changes buffer delays
– clk2 and clk3 will always see RC skew
gclk
3 mm
clk1
1.3 pF
3.1 mm
clk2
0.4 pF
0.5 mm
clk3
0.4 pF
Review: Skew Impact
• Ideally full cycle is available for work
• Skew adds sequencing overhead
• Increases hold time too
t pd Tc t pcq tsetup tskew
sequencing overhead
tcd thold tccq tskew
Solutions
• Reduce clock skew
– Careful clock distribution network design
– Plenty of metal wiring resources
• Analyze clock skew
– Only budget actual, not worst case skews
– Local vs. global skew budgets
• Tolerate clock skew
– Choose circuit structures insensitive to skew
Clock Skew Sources
• Clock Skew Sources are:
–
–
–
–
systematic,
random,
drift, and
jitter
• Note some engineers do not report jitter as part
of the skew.
Clock System Architecture
Synchronous chip interface with PLL
Phase-locked loop block diagram
Global Clock Distribution Networks
•
•
•
•
•
Grids
H-trees
Spines
Ad-hoc
Hybrid
Clock Grids
• A clock grid is a mesh of horizontal and vertical wires
driven from the middle or edges.
• Use grid on two or more levels to carry clock.
• Make wires wide to reduce RC delay.
• Ensures low skew between nearby points.
• But possibly large skew across die.
• Grids compensate for random skew.
• Grids consume a large amount of metal resources and
hence a high switching capacitance and power
consumption.
Alpha Clock Grids
Alpha 21064
Alpha 21164
Alpha 21264
PLL
gclk grid
Alpha 21064
gclk grid
Alpha 21164
Alpha 21264
H-Trees
• Fractal structure
– Gets clock arbitrarily close to
any point
– Matched delay along all paths
• Delay variations cause skew
• Buffers are added to serve
as repeaters
• A and B might see big skew
• High random skew, drift and
jitter between two nearby
points
A
B
Itanium 2 H-Tree
• Four levels of buffering:
– Primary driver
– Repeater
– Second-level
clock buffer
– Gater
Repeaters
• Route around
obstructions
Typical SLCB
Locations
Primary Buffer
Ad-hoc
• The clock is routed haphazardly with some
attempt to equalize wire lengths or add buffers to
equalize delay.
• Have low systematic skews because the buffer
sizes can be adjusted until nominal delays are
nearly equal.
• Subject to random skew.
Clock Spine
• If loads are uniform, the spine avoids the systematic skew
of the grid by matching the length of the clock wires.
• Save power by not switching certain wires.
• System with many clocked elements may require a large
number of serpentine routes, leading to high area and
capacitance for the clock network.
• Clock spines have large skews between nearby elements
driven by different serpentines.
Hybrid Networks
•
•
•
•
Use H-tree to distribute clock to many points.
Tie these points together with a grid.
Hybrid combination of H-tree and grid offers lower skew.
Hybrid approach has lower systematic skew, less
susceptible to skew from non-uniform load distribution.
• Hybrid approach is regular, making layout of wellcontrolled transmission line structures easier.
• Ex: IBM Power4, PowerPC
– H-tree drives 16-64 sector buffers
– Buffers drive total of 1024 points
– All points shorted together with grid
Clock Generation
en clk
1
2
3
4
Local Clock Gaters
• Local Clock Gaters receives the global clock and
produce the physical clocks required by clocked
elements.
• Clock gaters are often used to stop or gate the
clock to unused blocks of logic to save power.
• Different clock gaters are:
–
–
–
–
–
–
–
Enabled or Gated clock
Stretched clocks
Nonoverlapping clocks
Complementary clock
Delayed, Pulsed clocks
Clock Doubler
Clock Buffer
Testing
and
Verification
Agenda
• Testing
– Logic Verification
– Silicon Debug
– Manufacturing Test
• Fault Models
• Observability and Controllability
• Design for Test
– Scan
– BIST
• Boundary Scan
Testing
• Testing is one of the most expensive parts of
chips
– Logic verification accounts for > 50% of design effort
for many chips
– Debug time after fabrication has enormous
opportunity cost
– Shipping defective parts can sink a company
• Example: Intel FDIV bug
– Logic error not caught until > 1M units shipped
– Recall cost $450M (!!!)
Main Difficulties in Testing
• Miniaturization
– Physical access difficult or impossible.
• Increasing complexity
– Large amount of test data.
• Number of access ports remains constant
– Long test application time.
• High speed
– High demand on tester’s driver/sensor mechanism.
• More complicated failure mechanism
The key to successful testing lies in the design
process.
Some Real Defects in Chips
Processing defects
Missing contact windows
Parasitic transistors
Oxide breakdown
...
Material defects
Bulk defects (cracks, crystal imperfections)
Surface impurities (ion migration)
...
Time-dependent failures
Dielectric breakdown
Electromigration
...
Packaging failures
Contact degradation
Seal leaks
...
Cost of Finding Defects
Wafer level
Packaged chip
Board level
System level
Field level
$0.01 - $0.10
$0.10 - $1
$1 - $10
$10 - $100
$100 - $1000
Errors and Faults
Logic Verification
• Does the chip simulate correctly?
– Usually done at HDL level
– Verification engineers write test bench for HDL
• Can’t test all cases
• Look for corner cases
• Try to break logic design
• Ex: 32-bit adder
– Test all combinations of corner cases as inputs:
• 0, 1, 2, 231-1, -1, -231, a few random numbers
• Good tests require ingenuity
Manufacturing Test
• A speck of dust on a wafer is sufficient to kill chip
• Yield of any chip is < 100%
– Must test chips after manufacturing before delivery to
customers to only ship good parts
• Manufacturing testers are
very expensive
– Minimize time on tester
– Careful selection of
test vectors
•
•
•
•
Layer-layer shorts
Discontinuous wires
Missing or damaged vias
Shorts through the thin gate oxide to the
substrate or well
• The above leads to:
– Nodes shorted to power or ground
– Nodes shorted to each other
– Input floating/ output disconnected
• The length of the tests at the wafer level can be
shortened to reduce test time based on
experience with the test sequence
Testing Your Chips
• If you don’t have a multimillion dollar tester:
– Build a breadboard with LED’s and switches
– Hook up a logic analyzer and pattern generator
– Or use a low-cost functional chip tester
Testers, Test Fixtures and Test
Programs
Logic Verification Principles
•
•
•
•
Test benches and harnesses
Regression testing
Version control
Bug tracking
Silicon Debug
• Test the first chips back from fabrication
– If you are lucky, they work the first time
– If not…
• Logic bugs vs. electrical failures
– Most chip failures are logic bugs from inadequate
simulation
– Some are electrical failures
• Crosstalk
• Dynamic nodes: leakage, charge sharing
• Ratio failures
– A few are tool or methodology failures (e.g. DRC)
• Fix the bugs and fabricate a corrected chip
• How to diagnose failures?
– Hard to access chips
•
•
•
•
•
•
Picoprobes
Electron beam
Laser voltage probing
Picosecond imaging circuit analysis
Infrared imgaing
Focused ion beam
Failures can be:
• Manufacturing failures
– Defect or Outside parametric specifications
• Functional failures
– Chip fails under all conditions
• Electrical failures
– Malfunctions under certain conditions
– Shmoo plots can help to debug electrical failures in
silicon
Shmoo Plots
• Shmoo Plot is made with voltage on X-axis and speed as
Y-axis.
• A healthy normal chip should operate at increasing
frequency as the voltages increases.
• The brick wall pattern suggests that the chip may be
randomly initialized in one of the two states, only one of
which is correct.
• A shmoo can also plot operating speed against
temperature.
• In floor, leakage problem where the part fails at low
frequency independent of the voltage.
• A finger indicates coupling problems dependent on the
alignment, where at certain frequencies the alignment
always causes a failure.
• At cold temp. FETs are faster, have lower effective
resistance, and higher threshold voltages.
• Normal shmoo should show speed increasing as
temperature decreases.
• Failures at low temperature could indicate coupling or
charge sharing noise exacerbated by faster edge rates.
• Failures at high temperature could indicate excessive
leakage or noise problems exacerbated by the lower
threshold voltages.
• Walls at either temperature indicate race conditions
where the path that wins the race varies with
temperature.
At 1.8 V the chip works for clock periods of 2.3 ns and greater.
At higher voltages, the chip can operate at shorter periods.
Stuck-At Faults
• How does a chip fail?
– Usually failures are shorts between two
conductors or opens in a conductor
– This can cause very complicated behavior
• A simpler model: Stuck-At
– Assume all failures cause nodes to be “stuckat” 0 or 1, i.e. shorted to GND or VDD
– Not quite true, but works well in practice
Examples
Short-circuit and open-circuit faults
Delay Fault Testing
Observability & Controllability
• Observability: ease of observing a node by
watching external output pins of the chip
• Controllability: ease of forcing a node to 0 or 1
by driving input pins of the chip
• Combinational logic is usually easy to observe
and control
• Finite state machines can be very difficult,
requiring many cycles to enter desired state
– Especially if state transition diagram is not known to
the test engineer
Test Pattern Generation
• Manufacturing test ideally would check every
node in the circuit to prove it is not stuck.
• Apply the smallest sequence of test vectors
necessary to prove each node is not stuck.
• Good observability and controllability reduces
number of test vectors required for
manufacturing test.
– Reduces the cost of testing
– Motivates design-for-test
• Fault coverage
Test Example
SA1
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
• Minimum set:
SA0
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
• Minimum set:
SA0
{1110}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
• Minimum set:
SA0
{1110}
{1110}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
{0100}
• Minimum set:
SA0
{1110}
{1110}
{0110}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
{0100}
{0110}
• Minimum set:
SA0
{1110}
{1110}
{0110}
{0111}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
{0100}
{0110}
{1110}
• Minimum set:
SA0
{1110}
{1110}
{0110}
{0111}
{0110}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
{0100}
{0110}
{1110}
{0110}
• Minimum set:
SA0
{1110}
{1110}
{0110}
{0111}
{0110}
{0100}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
•
•
•
•
•
•
•
•
A3
A2
A1
A0
n1
n2
n3
Y
SA1
{0110}
{1010}
{0100}
{0110}
{1110}
{0110}
{0101}
• Minimum set:
SA0
{1110}
{1110}
{0110}
{0111}
{0110}
{0100}
{0110}
A3
A2
A1
A0
n1
Y
n2
n3
Test Example
SA1
SA0
A
n1
A
A3
{0110}
{1110}
n2
n3
A
A2
{1010}
{1110}
A
A1
{0100}
{0110}
A0
{0110}
{0111}
n1
{1110}
{0110}
n2
{0110}
{0100}
n3
{0101}
{0110}
Y
{0110}
{1110}
Minimum set: {0100, 0101, 0110, 0111, 1010, 1110}
3
•
•
•
•
•
•
•
•
•
2
1
0
Y
Design for Testability
• Design the chip to increase observability and
controllability.
• If each register could be observed and controlled, test
problem reduces to testing combinational logic between
registers.
• Better yet, logic blocks could enter test mode where they
generate test patterns and report the results
automatically.
• Approaches for DFT:
– Ad-hoc testing
– Scan-based approaches
– BIST
Ad-hoc Methods
• Ad-hoc test techniques as their name suggests
are collections of ideas aimed at reducing the
combinational explosion of testing.
• The Ad hoc techniques represent a bag of tricks
developed over the years by designers to avoid
the overhead of a systematic approach to testing.
• The technique classified in this category is the
use of bus in a bus-oriented system for test
purposes.
• Each register has been made loadable from the
bus and capable of being driven onto the bus.
• The internal logic values that exist on a data bus
are enabled onto the bus for testing purposes.
• Frequently multiplexers can be used to provide
alternative signal paths during testing.
• A complete scan-based testing methodology is
recommended for all digital circuits.
• Objective: Adherence to design guidelines and
testability improvement techniques.
• Common techniques for ad-hoc testing involve:
–
–
–
–
Partitioning large sequential circuits
Adding test points
Adding multiplexers
Providing fro easy state reset
• The goal of Ad hoc technique is to increase
controllability, observability and/or predictability.
Disadvantages:
• Ad-hoc techniques are useful for small designs.
• Experts and tools not available.
• Test generation is often manual with no
guarantee of high fault coverage.
• Design iterations may be necessary.
Ad-hoc approaches are still quite valid, process
densities and chip complexities necessitate a
structured approach to testing.
• Test points:
– Employ test points to enhance controllability and observability.
• Initialization:
– Design circuits to be easily initializable.
• Monostable multivibrators:
– Disable internal one-shots during test.
• Oscillators and clocks:
– Disable internal oscillators and clocks during tests.
• Partitioning Counters and Shift Registers:
– Partition large counters and shift registers into smaller units.
• Partitioning of Large Combinational Circuits:
– Partition large circuits into small sub-circuits to reduce test
generation cost.
• Logical Redundancy:
– Avoid the use of redundant logic.
• Global Feedback Paths:
– Provide logic to break global feedback paths.
Scan Design
• Convert each flip-flop to a scan register
– Only costs one extra multiplexer
• Normal mode: flip-flops behave as usual
• Scan mode: flip-flops behave as shift register
• Contents of flops can be scanned out and new
values scanned in
CLK
SI
D
Flop
SCAN
Q
Scan Path
• A simple means of creating a scan path consists of
placing a multiplexer just ahead of each flip-flop.
• One input to the 2:1 MUX is driven by normal operational
data while the other input is driven by the output of
another flip-flop.
• Serial input of MUX is connected to a PI.
• One of the flip-flop outputs is connected to a PO pin.
• The MUX control line is used as mode control:
– It can permit parallel load for normal operation or it can select
serial shift in order to enter scan mode.
– When scan mode is selected there is complete serial shift path
from an input pin to an output pin.
• Scan can be full-scan or partial-scan.
• For a circuit to have the scan capability, first the designer
uses only D type flip-flops (DFF) with one or more clock
signals, all of which are controlled from primary inputs.
• Once the circuit is functionally verified, the DFFs are
replaced by scan flip-flops (SFF).
• One typical SFF is shown below, here a multiplexer and
two new signals, scan-data SD and test control TC, are
added to the DFF. The original data input D is stored in
the flip-flop when TC is 1 and SD is stored when TC is 0.
Parallel Scan
Scannable Flip-flops
SCAN
SCAN
(a)
SI
D
0
Flop
D
CLK
1
Q
X
Q
SI
Q
(b)
d
SCAN
d
s
D
d
s
Q
X
Q
SI
(c)
s
Level-Sensitive Scan Design
• The figure shows the general configuration for of
a level sensitive scan design latch as well as a
NAND/NOT implementation.
• D is the normal data line and C is the normal
clock line. Line L1 is the normal output.
• Lines SI, A, B and L2 form the shift portion of the
latch.
• SI is the shift data in and L2 is the shift data out.
• A and B are the two phase, non overlapping shift
clocks.
Built-in Self-test
• Built-In Self Test (BIST): is an design technique
in which parts of a circuit are used to test the
circuit itself.
– BIST is the capability of a circuit to test itself.
– The goal of BIST is to add devices to a design that will
allow it to test itself.
• Built-in self-test lets blocks test themselves
– Generate pseudo-random inputs to comb. logic
– Combine outputs into a syndrome
– With high probability, block is fault-free if it produces
the expected syndrome
BIST Done
BIST Start
Test Controller
Output
Response
Analyzer (ORA)
Test Pattern
Generator
Pass/Fail
System Outputs
System Inputs
Input
Isolation
Circuitry
Circuit Under
Test
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
Step
Q
0
111
1
2
3
4
5
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
2
3
4
5
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
3
4
5
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
3
010
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
4
5
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
3
010
4
100
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
5
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
3
010
4
100
5
001
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
6
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
3
010
4
100
5
001
6
011
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
7
PRSG
• Linear Feedback Shift Register
– Shift register with input taken from XOR of state
– Pseudo-Random Sequence Generator
Step
Q
0
111
1
110
2
101
3
010
4
100
5
001
6
011
7
111
(repeats)
D
Q[1]
D
Flop
Q[0]
Flop
D
Flop
CLK
Q[2]
Built-in Logic Block Observer (BILBO)
• Combine scan with PRSG & signature analysis
D[0]
D[1]
D[2]
Q[0]
0
PRSG
Logic
Cloud
Flop
1
Flop
SI
Flop
C[0]
C[1]
Q[2] / SO
Q[1]
Signature
Analyzer
MODE
Scan
Test
Reset
Normal
C[1]
0
0
1
1
C[0]
0
1
0
1
Boundary Scan
• Testing boards is also difficult
– Need to verify solder joints are good
• Drive a pin to 0, then to 1
• Check that all connected pins get the values
• Through-hold boards used “bed of nails”
• SMT and BGA boards cannot easily contact pins
• Build capability of observing and controlling pins
into each chip to make board test easier
Schematic of system test logic
Boundary Scan Example
PackageInterconnect
CHIP B
CHIP C
Serial Data Out
CHIP A
CHIP D
IO pad and Boundary Scan
Cell
Serial Data In
Boundary Scan Interface
• The Test Acess Port has following connections:
– TCK:
test clock
– TMS:
test mode select
– TDI:
test data in
– TDO:
test data out
– TRST*:
test reset (optional)
• Chips with internal scan chains can access the
chains through boundary scan for unified test
strategy.
Test Logic Architecture &
Access Port
Test
TAP Controller
Instruction Register
• Instruction Register is two bit long.
• Instruction Register specifies which data register
will be placed in the scan when DR is selected.
• Three instructions are required:
– Bypass
– Sample/Preload
– Extest
• Optional Runbist and Intest.
Test Data Registers
Boundary Scan Register
• Normal Mode: Mode_Control = 0, data passes from IN
to OUT.
• Scan Mode: ShiftDR = 1, ClockDR = scan clock, serial
data is shifted in from SIN to out SOUT.
• Capture Mode: ShiftDR = 0, ClockDR = one clock pulse,
data on the IN line is clocked into QA.
• Update Mode: with QA loaded, Mode_Control = 1,
UpdateDR = one clock pulse, data clock into QA is
applied to OUT.
Summary
• Think about testing from the beginning
– Simulate as you go
– Plan for test after fabrication
• “If you don’t test it, it won’t work!
(Guaranteed)”