黃 寧 朱 恩 劉文松 林 葉
(東南大學(xué)射頻與光電集成電路研究所,南京 210096)
布線約束下的低功耗掃描測試
黃 寧 朱 恩 劉文松 林 葉
(東南大學(xué)射頻與光電集成電路研究所,南京 210096)
分析了掃描測試過程中功耗產(chǎn)生的原因,研究了掃描觸發(fā)器跳變對內(nèi)部組合邏輯錐的影響,并對其進(jìn)行建模,將計(jì)算得到的影響函數(shù)值作為掃描鏈重排序的依據(jù).然后,基于掃描鏈結(jié)構(gòu)的特殊性,分析了布線約束對掃描鏈重新排序的影響,并將布線約束簡化,提出了一種同時兼顧低功耗和布線約束的算法.該算法不需要迭代,通過一次運(yùn)行即可得到掃描鏈重排序的結(jié)果,在保證后端設(shè)計(jì)可行性的前提下,盡可能減少了高影響值掃描單元上的跳變次數(shù),實(shí)現(xiàn)了對掃描測試功耗的優(yōu)化.基于電路測試算例以及ISCAS89基準(zhǔn)電路集中的電路s298和s5378,進(jìn)行了仿真實(shí)驗(yàn),結(jié)果表明:所提算法可以使掃描測試功耗降低12%,對故障覆蓋率以及測試時間沒有任何影響,而且不需要任何硬件開銷,可應(yīng)用于芯片的量產(chǎn)測試.
掃描鏈;邏輯錐;低功耗;布線約束;重排序
如何實(shí)現(xiàn)低功耗掃描測試是目前芯片設(shè)計(jì)領(lǐng)域面臨的諸多挑戰(zhàn)之一.測試電路的增加、測試向量之間較小的相關(guān)性以及并行測試的采用,使芯片在測試模式下的功耗較正常工作模式時高出一倍左右.功耗過高會導(dǎo)致芯片因測試而損壞,芯片良率降低,封裝成本隨之增加.
基于掃描的測試是目前業(yè)內(nèi)最為常用的DFT(design for test)方法.掃描測試時掃描鏈上各掃描單元頻繁跳變,導(dǎo)致測試功耗較高.介于測試成本的考慮,僅通過減小時鐘頻率來降低測試功耗變得不再可行.近年來,國內(nèi)外學(xué)者提出了多種方法以實(shí)現(xiàn)低功耗掃描測試,例如調(diào)整掃描時鐘架構(gòu)[1-2]、設(shè)計(jì)特殊掃描單元[3-5]以及在RTL(register transfer level)階段調(diào)整代碼[6-7]等.然而,這些方法都存在缺陷:調(diào)整掃描時鐘架構(gòu)雖能降低功耗,但也會增加測試時間;對特殊掃描單元的設(shè)計(jì)雖能解決掃描單元頻繁跳變的問題,但因每個掃描單元面積增加而引入的硬件開銷也是相當(dāng)可觀的;介于電路的性能和知識產(chǎn)權(quán)的限制,改變被測電路RTL的方法不易施行和推廣.文獻(xiàn)[8]給出了一種掃描鏈重排序的方法,可以在不增加硬件成本及測試時間的前提下降低測試功耗,但是沒有兼顧后端實(shí)現(xiàn),且算法相對比較復(fù)雜.本文通過研究掃描單元的跳變對電路內(nèi)部組合邏輯錐的影響并對其進(jìn)行建模,提出了一種布線約束下的掃描鏈重排序算法.實(shí)驗(yàn)結(jié)果顯示,本文算法不僅能夠有效降低測試功耗,而且對故障覆蓋率以及測試時間沒有任何影響.
掃描測試是一種應(yīng)用較廣的結(jié)構(gòu)化可測性設(shè)計(jì)方法.無壓縮機(jī)制的掃描測試可分為以下2個步驟:①將電路中的普通觸發(fā)器替換為掃描觸發(fā)器;②將掃描觸發(fā)器連接成掃描鏈,掃描鏈的數(shù)量可以根據(jù)掃描觸發(fā)器的總數(shù)以及芯片可復(fù)用的引腳數(shù)推算得到.在測試過程中,測試激勵從ATE通道輸入到芯片引腳,串行移入每條掃描鏈,然后捕獲電路狀態(tài),并將此電路狀態(tài)稱為測試響應(yīng).為了便于觀測,測試響應(yīng)將每條掃描鏈串行移出至芯片輸出引腳.掃描觸發(fā)器最常用的結(jié)構(gòu)是多路器掃描觸發(fā)器,它與普通觸發(fā)器的區(qū)別僅在于在輸入數(shù)據(jù)端口加上了一個多路選擇器.根據(jù)掃描觸發(fā)器替換量的不同,掃描設(shè)計(jì)可以分為全掃描和部分掃描.圖1為全掃描測試原理圖.由圖可知,當(dāng)掃描使能為1時,測試激勵由掃描輸入串行地移入掃描鏈,各掃描觸發(fā)器中保存的電路狀態(tài)則通過掃描輸出串行移出;當(dāng)掃描使能為0時,掃描觸發(fā)器捕獲組合邏輯的輸出.基于掃描的測試之所以得到廣泛的應(yīng)用,是因?yàn)樗鼘?fù)雜的時序電路測試問題簡化為較易處理的組合電路測試問題,從而有效減少了測試向量的數(shù)量及施加時間,提高了故障覆蓋率.
圖1 全掃描測試原理
在測試時,CUT(circuit under test)的動態(tài)功耗消耗完全由其上施加的測試向量的跳變數(shù)量來決定.當(dāng)施加到CUT上的原始輸入或者掃描觸發(fā)器中的測試向量發(fā)生跳變時,CUT內(nèi)部節(jié)點(diǎn)也會產(chǎn)生大量跳變,通常用跳變數(shù)量的總和來近似地表示測試時的動態(tài)功耗.掃描測試的功耗分為掃描輸入功耗和掃描輸出功耗2個部分,它們分別由測試向量和輸出響應(yīng)的跳變產(chǎn)生.
每個掃描觸發(fā)器跳變的數(shù)量不僅與測試向量有關(guān),還與其在掃描鏈中的位置有關(guān).考慮一個包含n個掃描觸發(fā)器的CUT,其中,掃描觸發(fā)器分別為s1,s2,…,sn,掃描輸入向量分別為 vn,vn-1,…,v1.需要注意的是,并非所有測試向量都會通過每一個觸發(fā)器.在掃描輸入時,通過s1的測試向量為vn,vn-1,…,v1,通過s2的測試向量為 vn-1,vn-2,…,v1,以此類推,通過每一個觸發(fā)器的測試向量為通過其前一個觸發(fā)器的測試向量的子集;在掃描輸出時則正好相反.因此,在掃描輸入時,每個觸發(fā)器上產(chǎn)生的跳變數(shù)量小于等于其前一個觸發(fā)器的跳變數(shù)量;在掃描輸出時,每個觸發(fā)器上產(chǎn)生的跳變數(shù)量大于等于其前一個觸發(fā)器的跳變數(shù)量.
當(dāng)測試向量串行移入掃描鏈或測試響應(yīng)串行移出掃描鏈時,掃描鏈中的每個掃描觸發(fā)器上都會產(chǎn)生頻繁的跳變.這些跳變傳遞到CUT組合邏輯中,又會在內(nèi)部電路線上引起大量不必要的跳變.不同的掃描觸發(fā)器跳變對其內(nèi)部組合邏輯錐的影響是由該邏輯錐的拓?fù)浣Y(jié)構(gòu)決定的.
考慮一個包含m個掃描觸發(fā)器s1,s2,…,sm的CUT,每個觸發(fā)器的輸出線分別用y1,y2,…,ym表示,與yi連接的組合邏輯錐用Ci(1≤i≤m)表示.Ci可視為觸發(fā)器跳變扇出上邏輯門輸出線的集合.將Ci中電路線wj(1≤j≤k,其中k為Ci中的電路線數(shù))的信號線概率Ps(wj)定義成wj等于邏輯1時的概率,信號概率可以通過邏輯門基于簡單的概率規(guī)則和布爾代數(shù)來計(jì)算.電路線wj的跳變概率可以定義為信號在任意時間點(diǎn)t由一個邏輯值跳變到另一個邏輯值的概率,用Pt(wj)來表示.假設(shè)施加到每個掃描觸發(fā)器的測試向量邏輯值是相互獨(dú)立的,則
假設(shè)Nj(T)表示時間長度T內(nèi)Ci中電路線wj的跳變數(shù)量,并將單位時間內(nèi)wj上的跳變數(shù)量定義為跳變密度D(wj),則
假設(shè)Fi為Ci中一條電路線wj的布爾代數(shù),將Fi對于掃描觸發(fā)器si跳變的敏感程度定義為Fi對于yi的布爾微分,即
式中,⊕表示異或操作.如果裝載到掃描觸發(fā)器si的測試向量的邏輯值是相互獨(dú)立的,則電路線wj的跳變密度可表示為
在Ci中所有電路線的跳變密度總和為
目前CMOS工藝的動態(tài)功耗由電路電容的充電和放電決定,在功耗中占主導(dǎo)地位,因此電路中的功耗主要來自于內(nèi)部線的負(fù)載電容.由于柵電容的并聯(lián),扇出多的電路線具有更高的負(fù)載電容.為了盡可能簡化模型,假設(shè)一條電路線的負(fù)載電容與該線的扇出成正比.當(dāng)跳變密度相同時,具有更高扇出的電路線將消耗更多的功耗,因此,在建立影響函數(shù)時需要將電路線wj的扇出Oj考慮在內(nèi).yi的跳變對于內(nèi)部組合邏輯錐Ci的影響函數(shù)Ei可以表示為
根據(jù)此模型,可以有效地評估出每個掃描觸發(fā)器的輸出跳變對內(nèi)部組合邏輯錐的影響.
以圖2中的電路測試算例為例,計(jì)算掃描觸發(fā)器對于其內(nèi)部組合邏輯錐的影響函數(shù)值.圖中,x0~x4為電路的原始輸入;s0~s3為掃描觸發(fā)器;y0~y3為掃描觸發(fā)器的輸出;z0,z1為電路的原始輸出.與y0相連的組合邏輯錐中的電路線為c9,c10,c11;與y1相連的組合邏輯錐中的電路線為c2,c4,c5,c7,c9,c10,c11,與y2相連的組合邏輯錐中的電路線為c3,c5,c6,c7,c9,c10,c11,與y3相連的組合邏輯錐中的電路線為c8.假設(shè)測試向量中每一位信號的概率均為0.5,由式(1)可得,y0~y3的跳變概率均為0.5,并由式(4)計(jì)算得到每個電路線的跳變密度.然后,由式(6)可得,y0~y3對其內(nèi)部組合邏輯錐的影響函數(shù)值分別為 0.546 9,1.078 1,1.125 0,0.表1給出了每個電路線的跳變密度以及扇出.
圖2 電路測試算例
表1影響函數(shù)值的計(jì)算結(jié)果
由此可見,影響函數(shù)值越大,說明該掃描觸發(fā)器發(fā)生跳變時內(nèi)部組合邏輯錐的跳變次數(shù)越多,功耗也越大.解決辦法是將影響函數(shù)值大的觸發(fā)器排在掃描鏈中跳變次數(shù)少的位置.在掃描輸入時,每個觸發(fā)器上產(chǎn)生的跳變數(shù)量小于等于前一個觸發(fā)器的跳變數(shù)量;在掃描輸出時,每個觸發(fā)器上產(chǎn)生的跳變數(shù)量大于等于前一個觸發(fā)器的跳變數(shù)量.如果掃描鏈中的觸發(fā)器按其影響函數(shù)值升序排列,便可降低掃描輸入時的功耗,但卻增加了掃描輸出時的功耗;如果掃描鏈中的觸發(fā)器按其影響函數(shù)值的降序排列,便可增加掃描輸入時的功耗,但卻降低了掃描輸出時的功耗.由ATPG(automatic test pattern generation)產(chǎn)生的未經(jīng)填充的測試向量包含大量的不定態(tài)(既可為邏輯1也可為邏輯0).通常,對于CUT中所有的單固定類型故障,原始測試向量集合只有1%~10%的比特位需要確定的邏輯值,其他比特位均為不定態(tài)[9-10].而掃描輸出的測試響應(yīng)是由電路中組合邏輯反饋回來的,不包含不定態(tài).從概率上講,掃描輸入時測試向量的跳變次數(shù)明顯少于掃描輸出時測試響應(yīng)的跳變次數(shù).因此,本文將掃描鏈中的掃描觸發(fā)器按其影響函數(shù)值的降序排列,雖然小幅增加了掃描輸入時的功耗,但是掃描輸出時降低的功耗幅度卻更大,整體而言測試總功耗會明顯降低.
在目前的集成電路設(shè)計(jì)中,布線決定了芯片的面積、時序以及功耗.因此,掃描鏈的重排序需要引入布線約束.本文根據(jù)掃描鏈結(jié)構(gòu)的特殊性,分析了布線約束對掃描鏈重新排序的具體影響,并提出了一種簡單有效的算法以同時兼顧低功耗和布線約束.
掃描單元之間的長線會導(dǎo)致掃描移位頻率降低,掃描鏈連接對布線資源的過多占用會導(dǎo)致布線擁塞(routing congestion).因此,影響掃描鏈重排序的布線約束主要包括掃描移位頻率的要求和布線資源的限制.其中,掃描移位頻率的要求相對比較容易滿足,其原因在于:① 隨著近年來測試向量壓縮技術(shù)的不斷發(fā)展,測試時間的控制并不依賴于掃描移位頻率的提高,且過高的掃描移位頻率會造成測試功耗過高以及芯片過殺的問題.② 目前業(yè)內(nèi)普遍采用的模塊化掃描鏈設(shè)計(jì)方法決定了同一條掃描鏈上的寄存器在版圖上距離不會太遠(yuǎn),掃描移位的路徑上除了布線延遲外僅包含一級選擇器的延遲.此外,布線資源的優(yōu)化在一定程度上也減少了掃描單元間出現(xiàn)長線的概率.由此可知,在設(shè)計(jì)算法時可以只將布線資源占用作為低功耗掃描鏈重新排序的影響因子,從而使問題簡化.具體算法設(shè)計(jì)如下:
該算法在實(shí)現(xiàn)低功耗優(yōu)化的同時兼顧了布線約束,不需要額外的硬件開銷,進(jìn)行一次運(yùn)算后便可完成整條掃描鏈的重新排序.
基于圖2中的電路測試算例以及ISCAS89基準(zhǔn)電路集中的電路s298和s5378,進(jìn)行仿真實(shí)驗(yàn).電路的掃描綜合、ATPG、仿真、功耗分析分別采用EDA 工 具 中 的 DFT Compiler,Testkompress,VCS,Power Compiler模塊,綜合和仿真庫使用TSMC 0.18 μm工藝庫.仿真過程如下:首先,采用DFT Compiler模塊對電路的門級網(wǎng)表進(jìn)行掃描綜合,并插入掃描鏈,掃描單元的排列順序由工具自由決定;然后,通過對掃描鏈插入的報(bào)告進(jìn)行分析,確定電路中沒有違反DRC(design rule check)的部分,采用Testkompress模塊對電路進(jìn)行自動測試向量生成,得到的故障覆蓋率為100%,并保存測試向量;以1 MHz作為掃描時鐘,仿真產(chǎn)生功耗分析時用到的前標(biāo)注和后標(biāo)注文件,根據(jù)TSMC 0.18 μm工藝庫中提供的功耗模型,利用Power Compiler模塊匯報(bào)出整個掃描測試過程中的功耗.采用本文算法對DFT Compiler輸出的掃描鏈電路進(jìn)行重新排序,并使用相同工具重新產(chǎn)生測試向量,所得故障覆蓋率仍可達(dá)到100%,且測試向量總數(shù)并未增加.相同條件下3種不同測試算例在掃描鏈重排序前后的功耗數(shù)據(jù)對比見表2.由表可知,本文算法可以明顯降低跳變功耗,同時也能使內(nèi)部功耗得到一定優(yōu)化,從而使總功耗降低約12%.由掃描鏈重排序前后的ATPG結(jié)果對比可知,故障覆蓋率 和測試時間沒有受到任何影響.
表2 功耗數(shù)據(jù)對比 mW
本文通過分析掃描測試過程中功耗產(chǎn)生的主要原因,建立了掃描觸發(fā)器跳變對其內(nèi)部組合邏輯錐的影響函數(shù)模型.在此模型的基礎(chǔ)上,設(shè)計(jì)出一種布線約束下的掃描鏈重排序算法.實(shí)驗(yàn)結(jié)果表明,本文算法能夠取得較好的功耗優(yōu)化效果,而且不影響故障覆蓋率和測試時間,可應(yīng)用于芯片批量生產(chǎn)測試.
[1] Zhang Jinyi,Zhang Tianbao,Yun Feng,et al.An adjustable clock scan structure for reducing testing peak power[C]//The8th International Conference on ElectronicMeasurementandInstruments(ICEMI07).Xi'an,China,2007:373-377.
[2]Giri C,Choudhary P K,Chattopadhyay S.Scan power reduction through scan architecture modification and test vector reordering[C]//The16th Asian Test Symposium(ATS07).Beijing,China,2007:419-424.
[3]Tsiatouhas Y,Arapoyanni A,Skias D.A scan flip-flop for low-power scan operation[C]//The14th IEEE International Conference on Electronics,Circuits and Systems(ICECS2007).Marrakech,The Kingdom of Morocco,2007:439-442.
[4] Mishra A,Sinha N.Modified scan flip-flop for low power testing[C]//The19th IEEE Asian Test Symposium.Shanghai,China,2010:367-370.
[5]王偉,韓銀和,胡瑜,等.一種有效的低功耗掃描測試結(jié)構(gòu)——PowerCut[J].計(jì)算機(jī)研究與發(fā)展,2007(3):473-478.
Wang Wei,Han Yinhe,Hu Yu,et al.An effective lowpower scan architecture — PowerCut[J].Journal of Computer Research and Development,2007(3):473-478.(in Chinese)
[6]Alpaslan E,Huang Y,Lin X.On reducing scan shift activity at RTL[J].IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems,2010,29(7):1110-1120.
[7]Sabne A,Tiwari R,Shrivastava A.A generic low power scan chain wrapper for designs using scan compression[C]//The28th VLSI Test Symposium.Santa Cruz,CA,USA,2010:135-140.
[8] Baek Chul Ki,Kim Insoo,Kim Jung Tae,et al.A dynamic scan chain reordering for low-power[C]//The2nd International Conference on Information Technology Convergence and Services(ITCS2010).Cebu,Philippines,2010:1-4.
[9] Shi Youhua,Togawa Nozomu,Kimura Shinji.Selective low-care coding:a means for test data compression in circuits with multiple scan chains[J].IEICE Transactions on Fundamentals of Electronics,Communications and Computer Sciences,2006,89(4):996-1004.
[10] Tudu J T,Larssont E,Singh V.On minimization of peak power for scan circuit during test[C]//The14th IEEE European Test Symposium.Sevilla,Spain,2009:25-30.
Routing-constrained low power scan test
Huang Ning Zhu En Liu Wensong Lin Ye
(Institute of RF-and OE-ICs,Southeast University,Nanjing 210096,China)
The causes of the power consumption during the scan test are analyzed.The effects of the scan flip-flop's transitions on the internal combinational logic cone are studied and modeled.The calculated values of the influence function are used as the basis for the scan chain reordering.Then,the effects of the routing constraints on the scan chain reordering are analyzed based on the special scan chain structure.With the simplification of the routing constraints,an algorithm taking both low power consumption and routing constraints into account is presented.This algorithm can get rid of iterations and obtain the result of the scan chain reordering by a single run.The transition times of the scan cells can be reduced with the high impact value under the premise of the feasible back-end design,improving the scan test power consumption.The simulation experiments are performed on the test case and the circuits s298 and s5378 in the ISCAS89 benchmark circuits.The results show that this algorithm can reduce the scan test power by 12%without any effect on fault coverage and test time.Moreover,it does not require any hardware overhead and can be used for silicon production test.
scan chain;logic cone;low power;routing constraint;reordering
TN407
A
1001-0505(2012)02-0239-05
10.3969/j.issn.1001 -0505.2012.02.009
2011-08-16.
黃寧(1983—),男,博士生;朱恩(聯(lián)系人),男,博士,教授,博士生導(dǎo)師,zhuenpro@seu.edu.cn.
國家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)資助項(xiàng)目(2009AA11Z219).
黃寧,朱恩,劉文松,等.布線約束下的低功耗掃描測試[J].東南大學(xué)學(xué)報(bào):自然科學(xué)版,2012,42(2):239-243.[doi:10.3969/j.issn.1001 -0505.2012.02.009]