22.12.2012 Views

T - BVU College of Engineering, Pune, India

T - BVU College of Engineering, Pune, India

T - BVU College of Engineering, Pune, India

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Proceedings <strong>of</strong> the<br />

international conference on ADvances in Electronics and COnununicarions (iconAOELCO 2(07)<br />

National <strong>Engineering</strong> <strong>College</strong>, Kovilpatti. Tamilnadu, <strong>India</strong>. Feb.I-J. 2007. pp. 249 - 256<br />

Design for Testability<br />

Sharada D.Kale t and Shinde.A.A 1<br />

IBharati Vidyapeetb's <strong>College</strong> <strong>of</strong> <strong>Engineering</strong> for Women. <strong>Pune</strong>.<br />

}Bharati Vidyapeetli's <strong>College</strong> <strong>of</strong> <strong>Engineering</strong>. <strong>Pune</strong>.<br />

'sharada.kale@gmail.com<br />

AbstrQCt - When designing and manufacturing<br />

electronics today testing is essential. When the<br />

designs are getting smaller and aore complex<br />

more effort is applied to the test engineer to test<br />

the products with high fault coverage and at a<br />

fast rate: It is therefore essential to think <strong>of</strong> test<br />

already in the design phase <strong>of</strong> the product. This<br />

paper will try to explain the concept <strong>of</strong> Design<br />

for testability (DF7) and explain the most used<br />

techniques today. Boundary Scan. Built in Self-<br />

Test and Scan Design. A discussion is also 17UJde<br />

in how the cost <strong>of</strong> implementing these method,'<br />

looks like.<br />

Keywords: Design for testability, OFT, Ad-hoc<br />

OFT, Structured OFT, Scan design, Built in selftest<br />

(BI51), Boundary scan and Cost model<br />

I. Introduction<br />

What is Design for testability? - Test is not<br />

a task that is without prepararion; (0 pn:parc a<br />

(k~i~1I fur Icst requires 11~lt lloc Iksigu have "<br />

good proportion <strong>of</strong> testability. With rcstabiluy<br />

we mean how easy it is to generate test vectors<br />

that have good fault coverage. II is also<br />

imperative that these methods are financial<br />

pr<strong>of</strong>itable in cost and quality. Two u~ljllr<br />

keywords in test arc controllability and<br />

observability. Controllability means that you<br />

could control every node in the design to all<br />

possible values that are imperative to test a node.<br />

Observability means that with different methods<br />

every node can be measured and tested (Jl.<br />

Design for testability (OFT) is an operation<br />

that is carried out in parallel with the design <strong>of</strong><br />

the product; this involves modifying the design<br />

in such way that maximum controllability and<br />

observabiliry is attained This is done by using<br />

good design practices that is called Ad-Hoc OFT<br />

and by structural OFT, w!tieh is done by adding<br />

extra hardware to the design.<br />

This paper will try to give an insight in<br />

Design for Testability (OFT) and will focus on<br />

methods mainly used for digital circuits. The<br />

main methods discussed are Scan Design, Built<br />

in Self-Test and Boundary Scan. A discussion is<br />

also made in the benefits and trade-<strong>of</strong>f <strong>of</strong> OFT<br />

and how the cost has an impact on the decision.<br />

2. Non-structured OFT and Ad-hoc<br />

OFT<br />

I"Of small and less complex designs the<br />

methods for testing could include bed-<strong>of</strong>-nails<br />

testers, ATfi-testers with conventional<br />

instruments and so forth, So the DFT methods<br />

lor this typc or design should not be 10(1<br />

expensive and time consuming. Arnong these<br />

methods there arc design rules how to design<br />

printed circuit boards so they can be tested with


Sharada Kale and Shinde<br />

bed-<strong>of</strong>-nail testers as well as general design rules<br />

how to design a circuit so that it is easier to<br />

test (I).<br />

2.1. Design Rules for PCBs<br />

On a PCB almost all errors is <strong>of</strong> the type<br />

shorts or opens. To detect short between<br />

networtcs, one must access each net at a single<br />

point, which can be chosen at the must<br />

convenient point. To detect opens each net-end<br />

must be accessed. this test is the most difficult<br />

for a bed-<strong>of</strong>-nails tester.<br />

Insulation test - It is essential that each net<br />

have at least one access on each net where the<br />

nail or probe can be placed. Continuity test - At<br />

the end <strong>of</strong> each net an access point mU~1be place<br />

to make it possible to test all opens. If possible<br />

avoid using packages with to small pitch which<br />

makes it harder to get test points within a<br />

reasonable distance. Also if possible avoid<br />

placing two or more dense component close to<br />

each other and also try to place them on the<br />

periphery <strong>of</strong> the board.<br />

2.2. Ad-hoc DFT<br />

Ad-hoc design for testability relies on<br />

"good' design practices learnt through<br />

experience are used as guidelines:<br />

• Avoid asynchronous (un-clocked) feedback.<br />

• Make flip-flops initializable<br />

• A void redundant gates. A void large 1;111ill<br />

gates.<br />

• Provide test control for difficult-to-control<br />

signals.<br />

• A void gated clocks.<br />

• Consider ATE requirements (tristarcs. ctc.)<br />

• Separate digital circuitry from analogue.<br />

• Divide large logic blocks into smaller ones,<br />

which can N: selected.<br />

• Avoid circuitry with large sequential depth.<br />

~' \<br />

250<br />

iconADELCO 2007<br />

These techniques can be used for small<br />

designs but when designs get bigger the design is<br />

hard to get an overview <strong>of</strong> and these methods are<br />

approximate and do not always point to the<br />

source <strong>of</strong> the testability problem.<br />

As the size and complexity <strong>of</strong> digital<br />

systems are getting larger alternative forms <strong>of</strong><br />

design for testability is getting popular. These<br />

methods are called structured OFT_ In structured<br />

OFT extra logic is included in the design to<br />

easily test a circuit. Among these methods scan<br />

design, Built in Self-Test and Boundary Scan are<br />

commonly used.<br />

3, Scan Design<br />

In a scqucnt.al circuit it is difficult to fonn<br />

test vectors fur stuck-at-faults because the<br />

sequential depth <strong>of</strong> the design easily makes the<br />

test vectors to large. The main idea with sean<br />

design is to obtain control and observability for<br />

flip-flops and' thus making it easier to form test<br />

vectors. Adding a test mode to the circuits such<br />

that when the circuit is in test mode, all flip-flops<br />

functionality forms one or more shift registers<br />

does this. Controllability is achieved in test mode<br />

by setting the flip-flops to any desired state by<br />

shifting in the required state into the shift register<br />

(also known as scan register). The states <strong>of</strong> the<br />

flip-flops are observed by shifting the contents <strong>of</strong><br />

the scan register out. The states <strong>of</strong> all flip-flops<br />

in a design can be set or observed in a number <strong>of</strong><br />

clock cycles that equals the number <strong>of</strong> flip-flops<br />

in the longest scan register J2 J.<br />

3.1. Scan Cells<br />

The theory <strong>of</strong> SC


I<br />

l<br />

Design for Testability<br />

500 port may be connected to the Q or Qnegative<br />

ports.<br />

Agure 1. Mux-O Flip-Flop<br />

It is important to ensure that external control<br />

signals do not interfere with the flip-flop (Figure<br />

2) when it is in scan mode (I].<br />

Figure 2. Set-Scan Flip-Flop<br />

251<br />

icon AOELCO 2007<br />

• Operate: Normal transparent operation <strong>of</strong><br />

the element, 0 to Q and QN.<br />

..Scan Sample: Observability <strong>of</strong>1he logic that<br />

fans into the scan element, 0 to 500.<br />

•. Scan LoadIShift Serially IoadIshift data into<br />

the scan chain while unloading the last<br />

sample. SOl to SOO .<br />

• .Scan Data Apply: Control the output <strong>of</strong> the<br />

scar. element and thereby controlling the<br />

logic attached to Q.<br />

.H'l...·t<br />

..•...: .._-_ .. 1.- i-·. :<br />

"'~:<br />

'.cbr••••.••~<br />

••••••• ~f •••.<br />

"<br />

'.' i F+-<br />

~<br />

i:'--;<br />

--'<br />

1<br />

I<br />

!:.<br />

• ~ .0(,'\."<br />

..,...~.. \ •..•...<br />

------- ••.••.. (W-.<br />

Figure 3, Full-Scan chain (1)<br />

The signal path <strong>of</strong> the flip-flop can be<br />

controlled and observed by four transfer<br />

. functions.<br />

3.2. Partial Scan<br />

When all flip-flops in a design can be<br />

controlled and observed with scan cells is called


Sharada Kale and Shinde<br />

full-scan (Figure 3). In a circuit with a lot <strong>of</strong><br />

sequential feedback and thereby the: length <strong>of</strong> the<br />

sequences cannot be bounded it is not advisable<br />

to use scan flip-flops. In particular parts <strong>of</strong> the<br />

design where timing is critical it can also be<br />

advisable to not using scan flip-flops. In these<br />

cases the design is called partial scan. When this<br />

type <strong>of</strong> design is run through an ATI'G-tool it<br />

may cause loss <strong>of</strong> fault coverage. increased<br />

runtime and an increase in the number <strong>of</strong> tc"S(<br />

vector generated.<br />

3-3. Multiple Scan Chains<br />

If many flip-flops are used in a design a<br />

single scan chain can become too large. It call<br />

take very long time to load each state with a very<br />

long scan chain. Splitting the chain in more scan<br />

chains can solve this. The trade-<strong>of</strong>fs <strong>of</strong> this<br />

solution is that multiple scan chain." requires<br />

more dedicated (cest pins. If multiple scan chains<br />

are used the scan chains should have the same<br />

number <strong>of</strong> scan bits as far as possible this IS<br />

called balanced scan chains.<br />

This is the rncst cost efficient method and it<br />

uses the memory more efficient<br />

3.4. Scan Design Rules<br />

The 'e are many rules <strong>of</strong> for designing a<br />

scan-based design among allthcsc four is useful:<br />

• Use only one kind <strong>of</strong> flip.flop in the design.<br />

E.g. D-type:master-slave.<br />

• At least one primary input pin must be<br />

available for test.<br />

• .Every flip-flop clock must be controllable<br />

from primary inputs.<br />

• Avoid synchronous latches, transparent<br />

latches.<br />

• Do not feed clock to data inputs <strong>of</strong> f1ip- flops<br />

4. Built in Self Test<br />

252<br />

iconADELCO 2007<br />

Since circuits become more dense and faster<br />

with smaller size and that the logic-to-pin ratio<br />

on chips is increasing makes the testing <strong>of</strong> logic<br />

morc and more difficult. It takes longer time to<br />

generate test patterns and the patterns consume<br />

lot <strong>of</strong> memory. Often are the designers not aware<br />

<strong>of</strong> the gate-level structure <strong>of</strong> their designs<br />

because it is synthesized in VHDL hardware<br />

description languages. Therefore it has becoming<br />

interesting to implement different kind <strong>of</strong> logic<br />

in the design so it can test itself so called BIST.<br />

Figure 4. Built in self test (3]<br />

The idea <strong>of</strong> BIST is to implement test<br />

pattern generation and response analyzing and<br />

even fault analyzing together with the chip. BIST<br />

(Figure 4) can be categorized in different ways:<br />

Online IlIST: Testing is done during normal<br />

operation<br />

• Concurrent testing - detects faults while<br />

system is doing normal functions..<br />

e Nun-Concurrent testing - detects faults<br />

while system is in idle mode.<br />

Offline BIST: System is brought 10 a test<br />

mode<br />

e. functional testing - tests the system at a<br />

high level <strong>of</strong> function.<br />

e Structural testing - detects structural faults<br />

<strong>of</strong> the system.<br />

4.1. BIST Pattern Generation


/<br />

Design for Testability<br />

The size <strong>of</strong> the BIST logic should not be too<br />

large compared to the rest <strong>of</strong> the logic otherwise<br />

the BIST logic can have more errors than the<br />

usable circuit. The design <strong>of</strong> the BIST should be<br />

in the order <strong>of</strong> 20"~ to be efficient. Because <strong>of</strong><br />

this the test patterns cannot take up to much<br />

memory space so !hey must be compressed<br />

somehow. The design must have a simple<br />

hardware implementation and it should not slow<br />

down the nonnal operation. Different kinds <strong>of</strong><br />

hardware for pattern generation can be used can<br />

be used, the most preferred is LFSR - linear<br />

feedback shift register (Figure S).<br />

.,., ." ..-<br />

Figure 5. LFSR<br />

"<br />

Different kinds <strong>of</strong> methods for pattern<br />

generation can be used.<br />

4.1.1. Exhaustive Testing. Every test pattern<br />

are applied to the circuit. which requires 2. test<br />

patterns. It can be implemented using a binary<br />

counter or a maximum length autonomous<br />

LFSR. This method is considered ouly when<br />

0


Sharada Kale and Shinde<br />

generator, a testing response compactor and a<br />

scan chain cell (2J.<br />

S. Boundary Scan<br />

Almost all printed circuit boards today is <strong>of</strong><br />

the type multilayer SMT·boards with a lot <strong>of</strong><br />

circuitry in between the layers and components<br />

soldered on both sides. Many components used<br />

today are not easily accessible because they have<br />

their connections under their package e.g. SP and<br />

BOA circuits. This makes it difficult to use in<br />

circuit test systems with nails. In circuit testers<br />

also has the disadvantage that the stress<br />

components during testing. All these problems<br />

has led to a standard for testing components on<br />

PCBs, this standard is called ITAG 1149.1<br />

Boundary-scan Design Standard. Boundaryscan<br />

operates under two major modes:<br />

• Non-invasive mode: In this mode the circuit<br />

is guaranteed to work independent from the<br />

rest <strong>of</strong> the logic in the IC. This makes it<br />

pos- ible for the circuit to serially shifting in<br />

and out data from the circuit. These<br />

activities do not affect the normal behavior<br />

<strong>of</strong> the circuit.<br />

• Pin permission modes: This mode takes<br />

control <strong>of</strong> the input and output pins <strong>of</strong> the<br />

IC, thus making it possible to test the<br />

interconnections <strong>of</strong> the IC separately from<br />

the system logic. This mode disrupts the<br />

normal behavior <strong>of</strong> the circuit. For Ie's to<br />

work under the 1149.1 standard they must<br />

start-up in non-invasive mode so the Ie is<br />

not damaged. When running the Ie in the<br />

pin permission modes care must be taken<br />

when returning to non-invasive mode.<br />

Accidentally driving a bus simultaneously<br />

with 'I's and '0'5 can easily occur<br />

5.1. Configuration <strong>of</strong> Boundary Scan<br />

Components<br />

254<br />

iconADELCO 2007<br />

On an integrated circuit compliant with the<br />

standard each pin has a boundary-scan cell, all<br />

these cells are connected in series to form a<br />

boundary register. The first cell in the chain is<br />

connected to the input pin TDI (fest Data In)<br />

and the last cell is connected to the output pin<br />

TOO (Test Data Out). DiffCRtlt kinds <strong>of</strong><br />

registers can be connected between the TOI and<br />

TOO pins. The device 10 register provides the<br />

identification <strong>of</strong> the circuit, the Bypass register<br />

makes it possible to reduce the length <strong>of</strong> the<br />

register when a specific IC is (lot used for a test,<br />

The Instruction register can' be loaded with<br />

instructions, which enables different modes <strong>of</strong><br />

the hardware. The TAP-controller is a simple<br />

finite state machine that recognizes the<br />

boundary-scan protocol and controls the<br />

operation <strong>of</strong> the hardware through internal<br />

signals, The only signals that are allowed to<br />

influence the TAP controller is the test clock<br />

(TCK)-, test mode select (TMS)- and the Test<br />

reset (TRST)- pins. (Figure 6) When connecting<br />

many circuits a boundary-scan chain is created,<br />

this chain can be configured in many different<br />

ways.<br />

Figure 6. Boundary Scan<br />

S.2. Test Instructions


Design for Testability<br />

To control the system various rest<br />

instructions are used among these some can be<br />

used for other purposes than testing.<br />

SAMPLEIPRELOAO - (required) with this<br />

instruction it is possible to take a sample <strong>of</strong> the<br />

components input and output signals and it is<br />

also possible to load the boundary scan register<br />

with this value.<br />

EXTEST - (required) this instruction makes it<br />

possible to test circuits independently <strong>of</strong>f the<br />

chip since it captures the signals coming into the<br />

chip and driving the circuits with signals from<br />

the boundary-scan register.<br />

BYPASS - (required) With the BYPASS<br />

instruction it is possible to use shorter boundaryscan<br />

vectors if the particular '\OlTlp')nentis not<br />

used by certain tests. .<br />

lNTEST - (optional) with this instruction It IS<br />

possible to shifting in and out tests vectors and<br />

test data from the on chip logic.<br />

RUNBIST - (optional) The purpose <strong>of</strong><br />

RUNBIST is to control on-chip logic BIST via<br />

the boundary-scan chain.<br />

CLAMP - (optional) This instruction is used<br />

when forcing the output pins to be driven by the<br />

boundary-scan register.<br />

IDCOOE - The component has a code, which<br />

contains the identification <strong>of</strong> the component; this<br />

is called a JEOEC code. The instruction puts this<br />

data between TOI and TOO so that it can be<br />

shifted out. This instruction is required when<br />

components have JEDEC codes.<br />

255<br />

icon ADELCO 2007<br />

USERCODE - When using user programmable<br />

components such as FrGAs this instruction is<br />

used to load the device identification register<br />

with the code that the user has prograrmned into<br />

the component. This instruction is required when<br />

user programmable component has a device 10<br />

register.<br />

HIGHZ - This instruction puts all output pins<br />

into high impedance state that prevents damage<br />

to the on-system logic and protects other<br />

components as well.<br />

5.3. Boundary Scan Cells<br />

The boundary scan cells could look different<br />

depending on the function <strong>of</strong> the component.<br />

Control and observe cell - The normal type <strong>of</strong><br />

boundary scan cell (Figure 7).<br />

Figure 7. Control-and-Observe Scan Cell<br />

Observe only cell - If the cell should only<br />

sample the signal it is only necessary to use an<br />

Observe only cell. Bi-directional pins (Figure 8).<br />

If the component has bidirectional pins the cell<br />

must have three cells to take care <strong>of</strong> these<br />

signals. Since a component with a lot <strong>of</strong><br />

bidirectional pins requires many cells it is<br />

possible to control these tri-state cells with one<br />

enable signal. But special care must be taken so<br />

that one does not use a scan register both to<br />

control an output pin and as an input to the<br />

system logic.


-<br />

I I<br />

, 5,5,<br />

r .<br />

i: ,1<br />

f I<br />

'-<br />

Sharada Kale and Shinde<br />

l EN '<br />

~-T-~.!:'·<br />

-- •.... _-_.j<br />

Figure 8. Bi-directional pin<br />

5.4. Boundary<br />

Language<br />

Scan Description<br />

To communicate the infonnation about the<br />

boundary scan hardware to users <strong>of</strong> a particular<br />

chip and to CAD-tools through the VHOL<br />

hardware description language a Boundary Scan<br />

Description Language (UDSL) was added to the<br />

1149.1 standard. BOSL can be used by ATPGtools<br />

to generate test patterns and by synthesis<br />

tools to synthesize test logic but are not usable as<br />

a simulation model, since it can not describe<br />

voltages, currents and so forth.<br />

Pros and Cons<br />

+ Less overhead than Scan design<br />

+ Less expensive test equipment<br />

+ IC's tested at their complete, interconnected<br />

environment<br />

- Circuits with boundary scan are expensive<br />

and they can be hard to find<br />

Requires quite expensive s<strong>of</strong>tware<br />

and equipment<br />

6. Benefits and 1 rade-<strong>of</strong>fs <strong>of</strong> OFT<br />

The major benefits <strong>of</strong> using Design for<br />

testability are:<br />

256<br />

iconADELCO 2007<br />

• Shorter time to market<br />

• Reduced test time<br />

• Inexpensive test equipment<br />

• Yield learning, which is <strong>of</strong>ten overlooked<br />

The implementation <strong>of</strong> OFT involves some<br />

sacrifices.<br />

• Increased area <strong>of</strong> components<br />

• More pins on the I'eu<br />

• Increased PCB area<br />

• Degraded performance <strong>of</strong> the circuit.<br />

It is up 10 each cOlllpany to decide if the<br />

product they producing can benefit on applying<br />

OFT or not.<br />

7. Conclusion<br />

This paper has tried to give an insight in<br />

design for testability. The main ideas used today<br />

arc Scan design. built in self-test and Boundary<br />

scan. The difficulties in choosing methods are<br />

dependent <strong>of</strong> a lot <strong>of</strong> factors to get the most<br />

benefit-to-cost ratio. There are cost models used<br />

that try to help in this decision. To apply OFT or<br />

not apply OFf is dependent on factors like<br />

quality and volume.<br />

References<br />

[I) Alfred L. Crouch, "Design-for-test", Prentice<br />

Hall PTR 1999.<br />

(2) RooD. (Shawn) Blanton and Wojciech Maly.<br />

"Design for testability model", www.ece<br />

Cost.cmu.edulcssi/resbooklpdf/wei2.pdf.<br />

(3) Michael L Bushnell and Vishwani D. Agrawal,<br />

"Essentials <strong>of</strong> Electronic Testing ", Kluwer<br />

Academic Publishers 200 I

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!