Anda di halaman 1dari 31

MarchTest

Under Guidance of
Prof. G.K. Prof G K Sharma Presented Byy Sumit Patel 2011VLSI-14 31-March-2012

Contents
1.Introduction 2.FormalModels MemoryModel FaultModel 3.AutomaticTestGenerationMethodology. FaultListRepresentation TestPatternGeneration March Test Generation Algorithm MarchTestGenerationAlgorithm

1.Introduction
MarchTest: Amarchtestconsistsofafinitesequenceofmarchelements. Amarchelementisafinitesequenceofoperationsappliedtoevery memorycellbeforeproceedingtothenextcell. Itcanbedoneinoneoftwoaddressorders:anincreasing address order(e.g.fromaddress0toaddressn l),oradecreasingaddressorder ( ).Whentheaddressorderisirrelevantthesymbolm willbeused. p g ( ) g Anoperationcanconsistofwritinga0intoacell(w0 ),writinga1into acell(w1),readingacellwithexpectedvalue0(r0),andreadingacell withexpectedvalue1(r1). Forexamplemarchtest,writtenas{m (w0);(r0,w1);(r1,w0)}Ithas thethreemarchelementsM0:m (w0),M1:(r0,w1)andM2:(r1,w0). Alloperationsofamarchelementaredonebeforeproceedingtothenext address.

MarchTestNotation
Somebasicmarchnotationsare r Memoryaction:Areadoperation w Memoryaction:Awriteoperation r0 Memoryaction:Reada0fromthememorylocation r1 Memoryaction:Reada1fromthememorylocation w0 Memoryaction:Writea0tothememorylocation w1 Memoryaction:Writea1tothememorylocation Writea1toacellcontaining0orthecellhasarisingtransition Writea0toacellcontaining1orthecellhasafallingtransition Complementthecellcontents Increasingmemoryaddressingorder Decreasingmemoryaddressingorder mAddressingordercanbeeitherincreasingordecreasing

2FormalModels 2 Formal Models


2.1MemoryModel
Thisformalmodeladoptedtorepresentthememoryundertestforbit This formal model adopted to represent the memory under test for bit orientedmemoriesonly. Definition .AnNcell1bitmemorycanbeformallydefinedas 4upla: l h A,N,M,X0 i

Where A={0,1}isthesetofpossiblestatesofamemorycell, Nisthenumberofcells, M (c c1 c2 M=(c0,c1 ,c2 ,...,cn1 )| ci =A 0iN1 is the array of N cells and c 1 )|c A,0iN 1isthearrayofNcells,and X0={ri ,wid |0iN1,d=A}isthesetofpossiblememory operations.whereri meansareadoperationonthecelli,whereaswid meansawriteoperationofthevalued {0 1} on the i cell. means a write operation of the value d={0,1}ontheith cell

Memorymodel(contd.) Memory model (contd.)


ThebehaviorofanNcell1bitmemorycanbeformallyrepresentedbyanEdge LabeledDirectedGraph(ELDG)Gdefinedas G=(V,E,L ), G=(V E Le) Where V isthesetof2N verticesrepresentingthepossiblestatesofthememory, E={(u v )| u v=V } is the set of edges each one representing one of the E={(u,v)|u,v=V}isthesetofedges,eachonerepresentingoneofthe possiblememoryoperationsthatcausethetransitionfromavertexutoa vertexv,and Le :E{labels}isis alabelfunctionthatmapsedgestolabels,wheregiventhe edge(u,v),thecorrespondinglabelisdefinedasfollows: Label=x/k, Where x=X0 ismemoryoperationabletofirethetransitionfromutov,and k={0,1,U}isthecorrespondingmemoryoutput,wherethesymbolU denotestheunknownvalueatthememorydataoutputsignalswhena writeoperationisperformed. i i i f d

Memorymodel(contd.) Memory model (contd.)

2.2FaultModel 2.2 Fault Model


Thismodelisusedtorepresentthetargetmemoryfunctional faults.FaultsaremodeledstartingfromFaultyBehaviors(FBs),i.e., deviationsofthememorybehaviorfromtheexpectedone.AnFBis expressedusingthefollowingnotation: Di representsafaultyvalueD={0,1}storedinthecelli. RidrepresentsanerroneousoutputD={0,1}obtainedwhile readingthecontentofthecelli.Thisformalismisneededto representclassesoffaultswhereareadoperationreturnsan erroneousvalue,whilethecontentofthememorycellis correct. h Forexample,0i meansthattheith cellassumesanerroneousvalue 0,whileRi1meansthatareadoperationoncelli returnsthevalue1 evenifthecontentofthecellis0.

FaultModel(contd.) Fault Model(contd.)


Definition: AFunctionalFaultPrimitive(FFP)representsthedifference betweenanexpected(faultfree)andtheobserved(faulty)memory behaviorunderasetofperformedoperations,denotedby

WhereSandFBrepresentastimulusandafaultybehavior,respectively. AfunctionalmemoryfaultmodelisanonemptysetofFFPs.Forexample, A functional memory fault model is a nonempty set of FFPs For example theInversionCouplingFault(atransitionperformedonanaggressorcella causestheinversionofthelogicvaluestoredinavictimcellv)canbe describedbythefollowingtwoFFPs: described by the following two FFPs:

FFP=hS/FBi, FFP hS/FBi

FaultModel(contd.) Fault Model(contd.)


WhereastimulusSiscomposedofaninitialconditionCofthefcells (faultycells),followedbyanoptionalsequenceofmemoryoperations {op1,op2,...,opm}

3AutomaticTestGenerationMethodology 3 Automatic Test Generation Methodology


Themarchtestgenerationmethodologyisbasedonthefunctional memorymodelandonthedefinitionoffunctionalfaultsintermsofFFPs. Themainstepsofthegenerationprocessaresummarizedasfollows: 1.Faultlistrepresentation. TranslateeachFFPinthefaultlistintoan operationalrepresentationofthefaultybehavior,referredtoas AddressedFFP,orAFFP. 2.Testpattern(TP)generation. GeneratethesetofTPsabletocovereach AFFP.EachTPisrepresentedbyanadditionaledgeontheELDGmodeling ofthememory. 3.Marchtestgeneration. TraversetheELDGtogeneratethemarchtest.

3.1FaultListRepresentation 3.1 Fault List Representation


TheFFPformalismdescribestheconditionstosensitizeanddetectFBsby consideringthefcellsonly.Itdoesnotconsidertheactualpositionof thesecellsinagenericNcellmemory. TomapanFFPintoagenericNcellmemorymodel,wetherefore introducetheconceptofAFFP.formalizedas

Where I=(i0,i1,i2,.iN1)|ik={0,1,},0kN1istheinitialstateofthememory. Es=(op0,op1,op2,.opm)|opi=X , i.e. {w0,w1,r0,r1}, 0iN1 is the (op X,i.e.{w0,w1,r0,r1},0iN 1isthe sequenceofmoperations,performedontheaggressorcell,neededto sensitizethefault.

AFFP=h I,Es,Fv,Gv i,

3.1FaultListRepresentation(contd.) 3.1 Fault List Representation(contd.)


Fv=(f0,f1,f2,.fN1)|fk={0,1,},0kN1arethelogicalvalues(faulty state) Gv=(g0,g1,g2,.gN1)|gk={0,1,},0kN1arethelogicalvalues(expected state) AsingleFFPmaygenerateseveralAFFPs. g yg Forexample,consideringtheInversionCouplingfaultFFPsdefined earlierappliedtothetwocellmemoryrepresentedinFig.1(N=2,i= addressofthefirstcell,j=addressofthesecondcell),weobtainthe followingAFFPs: following AFFPs:

3.2TestPatternGeneration 3.2 Test Pattern Generation


FromanAFFP,itiseasytodefinethesequenceofmemory operations,TP,usedtodetectthecorrespondingfaultybehavioras
whereAFFPisthetargetAFFP,andOs ={rid}isthereadandverify operationperformedonthevictimcell,neededtoobservethefaulteffect.

TP=hAFFP,Osi ,

3.2TestPatternGeneration(contd.) 3.2 Test Pattern Generation(contd.)


Forexample,thefourAFFPsarecoveredbythefollowingTPsinatwocell memory:

PatternGraph Pattern Graph


EachTPcanberepresentedbyanadditionaldirectededge(faultyedge) fromthestateItothestateGv onthememorymodelintroduced. ThefaultyedgelabelisdefinedasEs ,Os ,whereEs isthesequenceof sensitizingoperations,andOs isthereadandverifyoperationrequiredto detectthefault. TheELDGincludingthefaultyedgesisnamedPatternGraph(PG)andis definedas

PG=hV,E F,Le Lf i,

PatternGraph(contd.) p ( )

3.3MarchTestGenerationAlgorithm 3.3 March Test Generation Algorithm


ThePG(PatternGraph)isusedtogenerateamarchtestdetectingtheset offaultsdescribedinthegraph. Someadditionaldefinitionsarerequiredtounderstandtestgeneration. Definition:FEv isthesetoffaultyedgesincidentfromthestatev.FEv = {TP|I=v}.ItrepresentsthesetofTPshavingtheinitializationstateIequal {TP|I=v} It represents the set of TPs having the initialization state I equal tothestatev. Referringtotheexampleinfig.3,wehavefoursetsoffaultyedges: FE00 ={wj1 rj,ri0 ,ri,rj0 ,wi1 ,rj0}, FE01={}, FE10={wj1 ,ri1}, andFE11={}. d FE {}

MarchTestGenerationAlgorithm(Contd.) March Test Generation Algorithm (Contd.)


Definition:FEiv isthesetoffaultyedgesincidentfromstatev,withan aggressorcellequaltoi, 0iN1,FEiv ={TP|I=v,acell=i}.Itrepresentsthe subsetofTPshavingtheinitializationstateequaltostatevandthe aggressorcelladdressequaltoi. FEi00 ={ ri,rj0 ,wi1 ,rj0}, FEj00 ={wj1 rj,ri0 }, FEi01={}, FEj10={wj1 ,ri1}, FE11={}. TransitionTP(testpattern): FEiv1v2 isthesetoffaultyedgesincident fromthestatev1andincidenttothestatev2,withanaggressorcell equaltoi,0iN1. equal to i 0iN 1

MarchTestGenerationAlgorithm(Contd.) March Test Generation Algorithm (Contd.)


Loop: ifv1=v2thenFEiv1v2 iscalledaloopTP(testpattern) CostofFE : no.ofelements(outgoingedgeinPGfromvstate)inFE set Cost of FEv : no of elements(outgoing edge in PG from v state) in FEv set i.e.forFE00 ={wj1 rj,ri0 ,ri,rj0 ,wi1 ,rj0}, $ FE00 =3, andforFEi00 ={ri,rj0 i1 ,rj0 } df { ,w }, $FEi00 =2 .

MarchTestGenerationAlgorithm(Contd.) March Test Generation Algorithm (Contd.)

FEi00 = { ri, rj0 , wi1 , rj0 }, FEj00 = {wj1 rj, ri0 }, { w }, FEi10={}, FEj10={wj1 , ri1} { }, FEi01=FEi01={}, FE11={}.

MarchTestGenerationAlgorithmSteps March Test Generation Algorithm Steps


Selectinitialstatetostart. State in which all cell having same value and with high cost Stateinwhichallcellhavingsamevalue,andwithhighcost. Inourexamplestate00havinghighcost(3)thanstate11(1) chooseafaultyedgewithmaxcost. forFEi00 ={ri,rj0 ,wi1 ,rj0},$FEi00 =2 $ forFEj00 ={wj1 rj,ri0 },$FEj00 =1 Everytimeafaultyedgeistraversed,theoperationsinitslabelareadded totheME. alsothereadandverifyoperationneededtoobservethefaultis addedifitisnotalreadypresent. Threerulescanbederivedforgeneratingreadoperations: Rule1.Ifreadcell=sensitizecell:placereadimmediatelyafterthewrite operationorwhenoperationisthelastoperationofME,placethe p p p ,p readoperationatthebeginningofnextME.

MarchTestGenerationAlgorithmSteps(Contd.)
Rule2.ifreadcell<sensitizecellandAOisdown(orreadcell> sensitizecellandAOisup)theninsertreadatbeginningofcurrent sensitize cell and AO is up) then insert read at beginning of current ME. Rule3.inanyotherconditionreadisaddedasfirstoperationofnextME. TheMEgenerationendsifnofaultyedgescanbeselectedfromthe Th ME ti d if f lt d b l t df th currentstateV,andMEclosed. TheneachoperationofMEisappliedontheeachcellofthememory startingfromtheinitialstateV. t ti f th i iti l t t V Ifduringthisoperationadditionalfaultyedgesaretraversed,theyare markedasdetectedandremovedfromthegraph. Atthispoint,wehavereachedthefinalstateoftheME. TheMEiscompletelydefined,andiftherearestillfaultyedgestotraverse thenextMEisinitialized,andtheprocessisrepeated.

Example Example
Tobetterunderstandthegenerationalgorithm,wewillshowits applicationonthePGinFig.3. TheinitialselectedstateisV=00,since#(FE00)=3(00isthestatewith thehighestnumberoffaultyedgesincidentfromit).Wehavetochoose onefaultyedge,sowecalculatethecostofthedifferentsetsoffaulty edges: d FEi00 ={ri,rj0 ,wi1 ,rj0},$FEi00 =2 forFEj00 ={wj1 rj,ri0 },$FEj00 =1. ThealgorithmchoosesFEi00 andri,rj0 isselectedandaddedtotheME, whichbecomes(ri0)withthecurrentmemorystatestillequalto00. Atthispoint,thealgorithmchoosestheonlyremainingchoiceinFEi00 p g y g representedbywi1 ,rj0.wi1 (sensitizingsequence)isaddedtotheME, whichbecomes(ri0wi1 ),whiletheobservationisnotrequiredsinceitis alreadypresent.

Example(contd.) Example (contd.)

FEi00 = { ri, rj0 , wi1 , rj0 }, FEj00 = {wj1 rj, ri0 }, { w }, FEi10={}, FEj10={wj1 , ri1} { }, FEi01=FEi01={}, FE11={}.

Example(contd.) Example (contd.)


Thenewstateisnowv=10.FEi10={}, so the algorithmclosestheME andgeneratesthecorrespondingME:(r0 w1 ) ( ).

ItthensimulatestheoperationsoftheMEoncellj.Thesimulationshows thatalsowj1 , ri1 (fromstate10)istraversed. Thereadandverifyoperationperformedoncelli isaddedtothenextME, whichbecomes(ri1 )againwithupAO. Thecurrentstateisnowv=11.SinceFE11 isempty,theMEisclosed,and p y, , thecorrespondingMEisgenerated:(r1 ). Wenowmustchangestateto00,whichistheonlystatestillhaving y g faultyedges. Theoperationtomoveto00iswj0 ,itisaddedtothenewME,which becomes(wj0 )withupAO. TheMEisclosed,andthecorrespondinggeneratedMEis(w0 ). , p gg ( )

Example(contd.) Example (contd.)


Now,thealgorithmtraversesthelastfaultyedge,anditaddsthe operationsonitslabelintoanewME,obtaininganMEequalto(wj1 rj1 ), withdownAO. Italsoinsertsthereadandverifyoperation,obtaininganMEequalto (rj0 wj1 rj1 ). Atthispoint,allthefaultyedgesaretraversed,theMEisclosed,andthe At this point all the faulty edges are traversed the ME is closed and the generatedMEis (rj0 wj1 rj1 ). Thealgorithmends,andthefinalgeneratedmarchtestis {(w0 ) (r0 w1 ) (r1 ) (w0 ) (rj0 wj1 rj1 ) } )}.

Optimizations
MarchtestsarecriticalcomponentsinanyATEbasedorBISTMemorytest architecture. IthasbeenshownthattheBISThardwareoverheadcanbereducedifthe marchtestshowssomeparticularcharacteristicssuchasuniformity(a constantnumberofoperationsineachME),symmetry(particularly importantontransparentmarchtests),orsingleAO. Additionalconstraintscanbeveryeasilyaddedinthegenerationphase performedbytraversingtheELDG. Theonlydrawbackisthataddingtoomanyconstraintsmayleadto situationswherenosolutionscanbegenerated.

Conclusion
WehaveseenallthebasicsofMarchTest. ModelsusedforMarchTestGeneration. Theflexibilityofthefaultmodelformalismallowsdescribingnotonly traditionalstaticanddynamicfaultsbutalsolinkedanduserdefined faults. WorkingofMarchTestgenerationalgorithm. Withrespecttopreviouslypresentedapproaches,proposed methodologyallowsgeneratingshortermarchtestsinaverylow methodology allows generating shorter march tests in a very low computationtime,withoutexhaustivesearches.

Reference
A.Benso,A.Bosio,S.DiCarlo,G.DiNatale,andP.Prinetto, , , , , , MarchTestGenerationRevealed,IEEETransactionsOn Computers,VOL.57,NO.12,pp.17041713Dec2008.

Thankyou

Anda mungkin juga menyukai