Sunteți pe pagina 1din 16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Lab3:TopdownASICDesignwithDFT
by:ZhengChen
ModifiedbyLily Li
LastModified22/02/05

INTRODUCTION:
In contemporary design flows, test merges with design much earlier in the process, creating what is called a
designfortest(DFT)processflow.Toensuremaximumdesigntestability,designersmustemployspecialDFT
techniques at specific stages in the development process. Figure 1 shows the basic steps and the Mentor
GraphicstoolsyouwoulduseduringatypicalASICtopdowndesignflowwithastructuredDFTstrategy.As
those steps shown in grey indicate, if your design's format is in VHDL, you can use BISTArchitect to
synthesizeBIST structures into its memory and random logic design blocks. Also at the RTLlevel, you can
insertandverifyboundaryscancircuitryusingBSDArchitect(BSDA).Afteryousynthesizeandoptimizethe
design,youarereadytoinsertinternalscancircuitryintoyourdesignusingDFTAdvisor.Whenyouaresure
the design is functioning as desired, you can use FastScanorFlexTest (depending on your scan strategy) to
generateatestpatternsetviaATPGmethods.Beforehandingthedesignoffformanufactureandtesting,you
shouldverifythatthedesignandpatternsstillfunctioncorrectlywiththepropertiminginformationapplied.

Fig.1
FordetailsaboutDFTconcepts,refertothe.pdfversiondocumentASIC/ICDesignforTestProcessGuide
usingmgcdocscommand.
Thislabwillcover:
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

1/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

1.UsingDFTAdvisortoinsertfullscan.
2.UsingFastscantogeneratetestvectorsandtestfaultcoverage.

1.Introduction
DFTAdvisor is a utility that allows you to insert scan circuitry into your design. It follows one of two basic
strategies:Thefirstisfullscan.Fullscanconvertseveryflipflopandlatchintoscanableflipflops,whichallows
the use of combinational test pattern generation. After inserting the scan circuitry, you can then generate test
vectorsforyourdesignbyusingFastScan.Theotherstrategyispartialscan.Withpartialscanyouonlyinsert
scan circuitry in some of the memory devices.You can then generate test vectors for your design using
FlexTest.Inthislabexercise,youwillinvokeDFTAdvisoronasimpledesigntoinsertfullscan.Youwilluse
DFTAdvisortowriteascanbasednetlistfileandATPGsetupfiles.ThenyouwillinvokeFastScanusingthe
ATPGsetupfileinformationtocreate,compress,andsavepatterns.Thislabwillgiveyouexperienceusingthe
toolsinatypicalscanandATPGtoolflowutilizingdefaultconfigurations.
ThisVerilogdesigncontainsnoerrors,soyoucanuseitasafuturereferencetohelpyounavigatethrougha
scanandATPGtoolflow.
Understandingandapplyingtheseconceptswillassistyouwhenyoubegintomakecustomizedconfigurations
toenhancetoolperformance.

2.Preparation
1.DFTAdvisorrequiresatestlibrary.Atestlibrarygivesthefunctionsofallthegatesinthedesignandhowto
convertthenonscannableflipflopsintotheirscannableequivalents.Pleasedownloadthelibraryadk.atpg.
Makesuretosavethisfileinthecurrentworkingdirectory.
2.PutyourHDLfileinthecurrentworkingdirectory.Thesourcecodesareinsection4.Pleasedownloadthe
pipe_net_noscan.Makesuretosavethisfileinthecurrentworkingdirectory.

3.InvokingDFTAdvisor
1.ToinvokeDFTAdvisoronyourHDLfileyoumustfirstsetthementorgraphicsworkingdirectorytothe
currentdirectorythathasyourpipe_net_noscanfile.Veryimportant:Theadk.atpgfileshouldbeinthe
samedirectorythatyourHDLfilepipe_net_noscanisin.

2.TostartDFTAdvisor,youneedtoenterthecommandintheformat:
shell>dftadvisor

ThisinvokestheDFTAdvisorInvocationArgumentsdialogbox.Youmustenteradesign,adesignformat,and
anATPGlibrarytoinvoketheGraphicalUserInterface(GUI)asshowninfig.2.

a. Click the Browse button next to the Design field to enter the design. Click the pipe_net_noscan.v design.
NoticethedesignpathisinsertedintotheDesignfield.ClicktheOKbuttoninthedialogbox.

b.SelecttheVerilogdesignformatfromtheFormatdropdownlist,ifnotalreadyselected.

c.ClicktheBrowsebuttonnexttotheATPGLibraryfield.
i.Navigatetothelibrariesdirectory.
ii.Selecttheadk.atpglibraryfile.
iii.ClickOK.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

2/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

d.ClicktheBrowsebuttonnexttotheLogFilefield,thennavigatetotheyourdesireddirectorywhereyoucan
saveyourresults.Backoverthe.*.intheFileNameField,andtypedftadvisor.logintothecommandpath.This
will create a log file that logs all of your session, including reading in the library and the nonscan netlist at
invocation.

e.ClickOk.TheFileBrowsercloses.

f.ClickInvokeDFTAdvisor.DFTAdvisorisnowupandrunning.YouhavesuccessfullyinvokedDFTAdvisor
onthepipe_net_noscan.vdesign.BoththeCommandLineandtheControlPanelwindowsshouldnowbeopen.

Fig.2

3.AfterinvokingDFTAdvisor,theDFTAdvisorControlPanelandthecommandlinewillappearasshown
inFig.3.

Fig.3
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

3/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Define clocks. Clocks are primary input signals that asynchronously change the state of sequential logic
elements:clocks,sets,resets,andRAMread/writeclocks.

a.ChooseSetup>Clocksmenuitem.OrclickontheClocksbuttonintheCircuitSetupgraphicspane,aSetup
CircuitClocksdialogboxopenasshowninfig.4.
i.ClickontheAutomaticallyIdentify&Addbutton.
ii.ClickontheApplybutton.The/clkcontrolsignalisidentifiedandtheOffStateis0.
iii.ClickOK.

Fig.4

Alternatively,youcanusetheAnalyzeControlSignalsAuto_fixcommandtoautomaticallyidentifyclocksand
controlsignals.

Besidesdefiningscancircuitry,defining(oradding)clocksandpinconstraintsisthekeytosuccessfulDesign
RulesChecking(DRC).
Thesearethemostcriticalstepsyoumustloadscanpatternscorrectlyandyoumustclockcircuitryatthe
propertimetoensurecorrectfaultsimulation.

3.GotoDFTmode.
a.ClickDonewithSetupintheDFTAdvisorcontrolpanelpane.YouarenowintheDFTsystemmode.
WhenyouswitchfromSETUPtoDFTmode,DFTAdvisorandFastScanwill runDRC.
DFTmodeisprimarilyforscanidentificationandinsertion.
TheTestSynthesiswindowisdisplayedinthegraphicpane.Also,TestSynthesisishighlightedinthetaskflow
managerpane.
Note:IfDFTAdvisorencountersDRCviolationsthatareerrors,itwillnotexitSETUPmode.Youmustdebug
andfixtheprobleminSETUPmodebeforeproceeding.Ifnoerrorencountered,thenaninterfaceasshownin
fig.5willshowup.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

4/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.5

4.Choosefullscanmethodology.
ClickSetupIdentificationbuttoninthegraphicpane.TheSetupforScan&
TestPointIdentificationdialogboxopensasshowninfig.6.TheFullScanbuttonisselected(red),whichisthe
defaultsetting.Fullscanmethodologyisthefastestidentificationmethod.
a.ClickOK.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

5/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig6
5.Identifyscannableinstances.
a.ClickRunIdentificationinthegraphicpane.
b.Observethedefaultsettings.
c.ClicktheRunwithExistingSettingsbutton.TheDFTAdvisorIdentificationRunStatisticsboxopens.
i.Observetheinformationthatisavailable.
ii.ClicktheViewDetailsbutton.TheScanIdentificationboxopens.
iii.ClicktheClosebuttonforthisdialogbox.
iv.ClicktheReportbutton.TheResults&Analysisboxopens.
v.ClickShowStatistics.
vi.ClickGenerateReport.
Whatinformationisdisplayed?
vii.ClickClose.
ix.ClickDismiss.ThisclosestheDFTAdvisorIdentificationRunStatisticsdialogbox.

d.ClickSetup/RunTestSynthesisinthegraphicpane.ThisopenstheSetup/RunTestSynthesisboxasshown
infig.7.
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

6/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

e.Thefollowingdefaultsettingsshouldbeselected(redisactive)
SynthesizeScanCircuitryintotheDesign
SynthesizeIdentifiedTestPoints
SynthesizeTestLogictoControlRAMs

Fig.7

f.ClickSetupintheSynthesizeScanCircuitryintotheDesignarea.

i.IntheChainRestrictionsarea,theinsertbuttonisselected(red),andthenumber1isenteredintheChain
entrybox.
ii.IntheScanEnablesarea,theAllowOnlyOneScanEnableSignalto
ControlAllScanChainsisselected(red).

g.ClickDone.
DFTAdvisorcanautomaticallyinsertanumberofdifferentteststructuresintothedesign.Thesestructures
include:scancircuitry,testpoints,testlogictoRAMs,I/Obuffersforaddedtestpins,andbuffertreesfortest
pins.

h.ClickOK.Aboxasshowninfig.8willpopup.

i.ClickRunwithExistingSettings.Youjustinsertedfullscanintothedesignusingthedefaultsettings.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

7/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.8

Ascaninsertednetlisthasnowbeencreated.

6.SaveaVerilognetlistandATPGsetupfiles.
a.ClicktheSaveResultsbuttoninthebuttonpane.ThisopenstheSaveResultsdialogboxshowninfig.9.

b.ClickSavetheNewNetlistbutton.

c.SelecttheVerilogformatfromtheFormatdropdownlist,ifnotalreadyselected.

d.ClicktheBrowsebuttonnexttoPathnameintheNetlistarea.
i.Navigatetotheresultsdirectory.Saveaspipe_scan.vfile.
ii.ClickOK.
iii.ClicktheOverwriteExistingFilebutton.Thisautomaticallyoverwritestheexistingfilewitheachsave.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

8/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.9

e.ClickSaveSetupFilesforATPGbuttonshowninfig.10.

f.ClicktheEnhancedProcedureFilebutton(redwhenactive)intheTimingFileTypearea.TheEnhances
Procedurefiledescribestheorderofeventsforatestpatternsetandintroducestimingtotestvectorsdivided
intocycles.

g.ClicktheBrowsebuttonnexttoBasenameintheSetupforTestPointsarea.
i.Navigatetotheresultsdirectory.Saveaspipe_scan(withoutafileextension).
ii.ClickOK.

h.ClicktheOverwriteExistingFile(s)button.

i.ClicktheViewFilesbutton.ThisactivatestheFileViewerwhenyouhavesavedtheoutputfiles.

j.ClickOK.ThisclosestheSaveResultsdialogbox.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

9/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.10

Youhavewrittenthefollowingthreefiles:
pipe_scan.v,whichistheVerilognetlist
pipe_scan.dofile,whichisadofilefile
pipe_scan.testproc,whichisanEnhancedProcedurefile

k.TheFileViewerisnowopen.
i.Thepipe_scan.dofileisdisplayedasshowninfig.11.Thisfileinputscircuitsetupandscaninformation
neededbyFastScanatinvocation.

Fig.11
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

10/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

ii.Doubleclickthepipe_scan.testprocintheSelectFiletoViewdisplayarea.Thisdisplaystheshiftand
load_unloadproceduresasshowninfig.12,aswellasthetimingplate(gentp1),whichissharedbyboth
procedures.

Fig.12

l.ClosetheViewer.
Forthisexercise,youwillinvokeFastScanfromDFTAdvisor.Thegoalforthispartoftheexerciseistofollow
atypicalATPGtoolflow.YouwilluseFastScantocreate,compress,andsavepatternsfollowingtheFastScan
toolflow

4.InvokingFastscan

1.RunFastScan.

a.ClickDonewithTestSynthesisbuttoninthegraphicpane.
TheDFTAdvisorTestSynthesisCompletedialogboxopens.ClickRunATPGbutton.TheExitDFTAdvisor
beforestartingFastScanquestionboxopens.
i.ClickNo.

FastScanisnowupandrunning.YouhavesuccessfullyinvokedFastScanonthepipe_scan.vdesign.Boththe
CommandLineandtheControlPanelwindowsareopenasshowninfig.13.The Circuit Setup graphic pane
opens,andSetupishighlightedintheProcessPane.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

11/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.13

FastScancompletedthefollowing:
Compiledthelibrary
ReadintheVerilogNetlist
ReadintheVerilogfile(pipe_scan.v)
Readinthetestprocedurefile(pipe_scan.testproc)
Readinthedofile(pipe_scan.dofile)
Thisisdisplayedinthesessiontranscriptarea.

2.GotoATPG.
a.ClickDonewithSetupintheCircuitSetupgraphicpane.TheFastScanSessionPurposedialogboxopensas
showninfig.14.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

12/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.14

b.ClickthePatternGenerationbutton.TheTestPatternGenerationgraphicpaneopens.Also,Pattern
Generationishighlightedintheprocesspane.Thefollowingprocessesoccurred:
Circuitflattening
Designhierarchyisreduceddowntoitssimulationprimitivesandconnectivity.
Learninganalysis
AnalysisbyFastScantolearncircuitbehavior,usedlaterinfaultsimulationandATPG.
FastScanperformsstaticlearningonlyonceafterflattening.Staticlearninginvolvesgatebygatelocal
simulationtodetermineinformationaboutthedesign.PinandATPGconstraintsarenotconsidered.
DesignRulesChecking(DRC)
ThetoolexitedSETUPmodeandenteredtheATPGmode.Thisisdisplayedinthesessiontranscriptarea.

3.Selectfaultmodelandaddfaults.
a.ClickonFaultUniverseintheTestPatternGenerationgraphicpane.

b.ClicktheTypicalbutton.
TheStuckatFaultmodelischosen,whichaddsallfaultsintothedesign.

4.Generatepatterns.
a.ClickonTestGenerationintheTestPatternGenerationgraphicpane.
UseExistingSettingsorCustomize?dialogboxopens.
b.ClickRunwithExistingSettings.ATPGRunStatisticswindowcomesupasshowninFigure15,clickon
Dismiss.

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

13/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

Fig.15

YoujustgeneratedtestpatternsfollowingatypicalATPGflowprocess.
Thefollowinginformationisavailable:
Patterns
NumberofEffectivePatterns
NumberofSimulatedPatterns
Faults
Numberofdetected
Numberofaborted(untestable)
NumberofATPGUntestable(AU)
Numberofundetecteduncontrollable(UC)orunobservablefaults(UO)
TestCoveragepercentagepercentageofalltestablefaultsthataredetectedbythepatternset
FaultCoveragepercentagepercentageofallfaultsbothtestableanduntestablethataredetectedbythepattern
set
ATPGeffectivenesspercentageameasureoftheabilityoftheATPGtooltoeitherprovideatesttodetecta
fault,orprovethatatestcannotbecreated
CPUruntime
c.Intherightsideofcontrolpanel,clickonSavePattern,selectSavethePatternSettoaFile,specifythe
pathname,selectASCIIformat,andclickOK.

5.ResultsandAnalysis
a.FromtheTestPatternGenerationclickonResultsandAnalysis,selectReportFaultsonAllTheseDesign
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

14/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

ObjectsandBothoftheAbove(SA1andSA0),andclickonShowStatistics.
b.ReportStatisticscomesup,clickonEntireDesignoption.ThentheStatisticsreportwillbeshown.Click
ClosetocloseResults&Analysis.
c.WearedonewithATPG.NextstepisFaultSimulationusedthesamepatternthatjustgeneratedbyATPG.In
TestPatternGenerationpanel,clickonDoneWithPatternGeneration,andclickonFault.
6.Faultsimulation
a.InFaultSimulationcontrolpanel,clickonPatternSource.SetupPatternSourcecomesup,select
ExternalPatternsFrom,navigatetothesamepatternfileandsameformatgeneratedbyATPG,andclickOK.
b.IntherightsideofFaultSimulationcontrolpanel,clickonRunbutton.FastScanFaultSimulationRun
Statisticswillbeshown,andclickonDismiss.

Fig.16
c.Results&Analysis
FromtheFaultSimulationclickonResultsandAnalysis,selectReportFaultsonAllTheseDesignObjects
andBothoftheAbove(SA1andSA0),andclickonShowStatistics.
http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

15/16

7/20/2016

Lab3:TopdownASICDesignwithDFT

ReportStatisticscomesup,clickonEntireDesignoption.ThentheStatisticsreportwillbeshown.
=EN-USstyle='color:blue'>http://www.scudc.scu.edu/mentortu

http://www.ohio.edu/people/starzykj/webcad/ee617/lab3.html

16/16

S-ar putea să vă placă și