ATPG Practice ATPG Practice II
文章目錄
- General ATPG Flow
- ATPG DRC
- example clock to data
- ATPG setting
- delay test的兩種方法
- single capture
- double capture
- Coverage Analysis
- Fault class
- coverage how to caculate
- report faults
- Coverage Analysis
本博文是博主記錄DFT實(shí)訓(xùn)教程的筆記版本,此筆記并沒有對(duì)所有的知識(shí)進(jìn)行記錄,僅僅以自身的認(rèn)知水平,來(lái)記錄了一些部分筆記并加上了自己的理解.
General ATPG Flow
ATPG DRC
-
scan chain tracing
第一步ATPG就是要去判斷scan chain 的tracing,判斷這個(gè)chain在shift過程中是否通暢。
如果發(fā)現(xiàn)不通,會(huì)報(bào)告S級(jí)別的violation。
只有chain能夠正常工作了,后續(xù)的工作才有意義。這里的scanchain tracing主要是指的是shift里面能否正常的work。 -
Clock rule checking
1、capture clock
2、clock to D
在scan chain 通順了之后,ATPG就需要去考量converage能否達(dá)標(biāo)。
除了shift階段需要打通以外,要注意capture階段也需要正確的抓到值。所以,這里的clock rule check指的是capture階段,cell能不能正確的值鎖存下來(lái)。另外check clock對(duì)converage的影響,其中具有代表性的是clock to D的Design rule。比如C1,C2等 -
Data rule checking
另外還有Data的check,當(dāng)shift完成了之后,相當(dāng)于PPI此時(shí)已經(jīng)賦值好了,接下來(lái)再capture的過程,這個(gè)時(shí)候,我們有一個(gè)scan enable拉低,稍后拉高的一段過程,在這樣的過程的切換里面,有可能破環(huán)掉scan chain里面存儲(chǔ)的值。data rule check指的是在shiftin完成之后,以及shiftout開始之前,這些cell能不能保持值,是否可能會(huì)被破壞掉,比如D1 D2等violation。
不同等級(jí)的violation,error級(jí)別的必須要fix,產(chǎn)生出來(lái)的parttern是不work的。warning級(jí)別的可能會(huì)導(dǎo)致converage降低。
-
Bus contention
某一個(gè)點(diǎn)能夠被多個(gè)driver來(lái)驅(qū)動(dòng),有多個(gè)驅(qū)動(dòng)源。可能產(chǎn)生短路情況。 -
compress/power aware rules
ATPG在產(chǎn)生parttern時(shí)候大概會(huì)有以上幾個(gè)check
example clock to data
如下圖所示,如果是下面這種設(shè)計(jì),clk不僅僅連接到了clk而且連接到了data端口,這種電路結(jié)構(gòu)也稱之為clock as data,此時(shí)在D端口的PPO就是不確定的,可能為0,可能為1。ATPG就會(huì)把設(shè)置為X,從而前面的組合邏輯的fault就無(wú)法測(cè)試到。但如果D端口的值不受CLK的變化影響,還是能測(cè)到部分fault的。
ATPG setting
- Fault model
- Fault list
- Specify capture procedure for delay testing
- ATPG constraints
- ATPG limitation(pattern/converage/abort)
1、Fault model需要給工具指定根據(jù)怎樣的fault model來(lái)產(chǎn)生parttern
2、Fault list 在某些場(chǎng)景下,我只想看看一個(gè)點(diǎn)上的fault,或者我只想看看這個(gè)micro的fault converage, 或者說(shuō)我不想ATPG cover ram\anologo方面的。所以我使用no add fault,告訴工具ATPG不要把這些計(jì)算到converage里面。
3、Specify catpture procedure for delay testing
DC指的是SAF測(cè)試,AC指的是AT Speed測(cè)試
4、ATPG constraints 由于我們的IO上面有一些test相關(guān)的IO,比方說(shuō)這個(gè)design要保持在test模式下面等一些port,(TE),如果你沒有告訴工具這個(gè)port始終為1的話,工具可能會(huì)對(duì)其賦值0導(dǎo)致錯(cuò)誤。
5、ATPG limitation(pattern/converage/abort)
比如能否先約束工具,只產(chǎn)生100條pattern,然后給我,然后你繼續(xù)產(chǎn)生。
針對(duì)converage,產(chǎn)生95%就可以啦
abort,在推斷某一條pattern的過程中,可以告訴工具,比如嘗試推斷pattern 20次就不推斷了。
delay test的兩種方法
single capture
該方法利用最后一個(gè)shift來(lái)產(chǎn)生transition從而測(cè)量delay test
也就是說(shuō)利用最后一個(gè)shift來(lái)產(chǎn)生transition。
好處是利用shift就能產(chǎn)生transiton,實(shí)現(xiàn)賦值。賦值上非常容易。而對(duì)于double capture來(lái)說(shuō),如果要實(shí)現(xiàn)transition的話,需要PPO前面的logic的推導(dǎo),難度更大。
但是single capture卻很少使用,因?yàn)橐獙?shí)現(xiàn)在最后一個(gè)shift后,希望se立即拉低打出clk,非常困難。換句話說(shuō),se很難在一個(gè)高頻的clk時(shí)間范圍內(nèi)拉低。
我們知道一個(gè)芯片只有一個(gè)scan enable,這個(gè)scan enable要傳到所有的scan FF上面去,fanout非常大,所以scan enable需要的時(shí)間來(lái)穩(wěn)定。但是single capture由于可以很好的推出transition的值,所以converage會(huì)更高。而double capture由于前面logic的限制可能推不出transition的值。
double capture
Coverage Analysis
Fault class
工具會(huì)對(duì)Fault進(jìn)行分類,以及report出來(lái)的細(xì)節(jié)可以幫助我們更好地分析converage低的原因
1、UT(UU/TI/BL/RE) 2、TE(DT/PD/AU/UD)1、是指UT:untestable 由于電路的設(shè)計(jì)結(jié)構(gòu)無(wú)法推出parttern
UU: unused 沒有用的一類design,比如一些點(diǎn)處于float狀態(tài)。
TI: Tie cell、Tie 0、Tie 1 ,在做physical的時(shí)候,會(huì)把這些1’b1、1‘b0轉(zhuǎn)換為tie 1 cell或者tie 0 cell,因此對(duì)于這種cell,你只能檢測(cè)他是否被sta到了相反值,比如tie1 cell你不能檢測(cè)他是否被tie1了。
BL:代表block,意思是被block住了,比如一個(gè)與門,一端為0,另一端就沒辦法檢測(cè)。
RE:redundant冗余邏輯,代表我們有某些原因,design里面有一部分冗余的邏輯,這些path永遠(yuǎn)不會(huì)有數(shù)據(jù)的傳遞,所以也不會(huì)去考慮。
2、是指TE:testable
DT:確定能cover的這些fault
PT:potential testable也就是潛在的可能被detect的fault
AU:ATPG untestable就是ATPG里面沒有辦法推出pattern,但是無(wú)法證明這個(gè)fault不能untestable。(可能由ATPG constrant導(dǎo)致)
UD:undetect 待具體查詢手冊(cè)
coverage how to caculate
coverage分為了兩大類:
Fault coverage and test coverage
F.C=(DT+PD因子)/full
T.C=(DT+PD因子)/testable
注意的是第二個(gè)公式相當(dāng)于Full減掉哪些untest的點(diǎn)。
report faults
根據(jù)報(bào)告來(lái)提高coverage
Coverage Analysis
根據(jù)項(xiàng)目經(jīng)驗(yàn)來(lái)看,大概有以下幾類原因?qū)е铝薱overage過低:
1、full scan or not
確定所有的scanFF都要串接到chain上
2、ATPG constranints
AU的fault是否較多
3、ATPG limitation
combination logic非常深,影響ATPG的效果,
4、Special design
1、test point
增加test point就是增加control point 和obseve point,也就是增加和PPI和PPO
ATPG pattern validation
- chain pattern simulation
- scan pattern simulation
- serial simulation VS parallel simulation
- back annotation with SDF
在parallel simulation中,通過一個(gè)pulse clk的動(dòng)作就能把值并行鎖存到scancell中,完成shift這個(gè)過程,然后再進(jìn)行capture動(dòng)作,此時(shí)也不需要進(jìn)行shift out,直接在scan cell內(nèi)部中觀察PPO的值。
帶SDF是非常耗時(shí)的
腳本實(shí)驗(yàn)部分由于采取的mentor ,現(xiàn)在還用不上截止93分 ATPG practice II
總結(jié)
以上是生活随笔為你收集整理的ATPG Practice ATPG Practice II的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DFT - Introduction t
- 下一篇: Scan Chain的原理与实现(实践)