陳志強(qiáng),林平分,任威麗
(北京工業(yè)大學(xué)嵌入式系統(tǒng)重點實驗室,北京 100022)
SOC芯片的可測試性設(shè)計與功耗優(yōu)化
陳志強(qiáng),林平分,任威麗
(北京工業(yè)大學(xué)嵌入式系統(tǒng)重點實驗室,北京 100022)
介紹了數(shù)字集成電路可測試性設(shè)計與測試覆蓋率的概念,針對一款電力網(wǎng)通信芯片完成了可測試性設(shè)計,從測試的覆蓋率、功耗等方面提出了優(yōu)化改進(jìn)方案,切實提高了芯片的測試覆蓋率,縮減了測試時間和成本,降低了測試功耗,同時保證了芯片測試的可靠性,最終使芯片順利通過量產(chǎn)測試。
可測試性設(shè)計;低功耗設(shè)計;故障覆蓋率
可測試性設(shè)計(DFT)是指在集成電路設(shè)計前期就考慮到測試的需求,在電路設(shè)計中增加有助于測試的電路。目前常用的DFT技術(shù)有掃描設(shè)計(Scan Design)、內(nèi)建自測試(Build In Self-Test)、邊界掃描設(shè)計(Boundary Scan Design)等。隨著集成電路工藝的不斷改進(jìn),芯片制造過程中引入故障的幾率變高。同時,設(shè)計方法學(xué)的發(fā)展為測試帶來了嚴(yán)峻的挑戰(zhàn)。研究表明,晶體管數(shù)量和故障模型種類的增加使測試數(shù)據(jù)量急劇膨脹,以及越來越先進(jìn)的低功耗設(shè)計和越來越高的工作頻率給測試功耗帶來苛刻的限制使可測試性設(shè)計成為數(shù)字集成電路設(shè)計的熱點[1]。為應(yīng)對以上的挑戰(zhàn),文中著重討論在掃描設(shè)計中如何提高測試覆蓋率并縮減測試時間,同時優(yōu)化測試功耗提高測試穩(wěn)定性。
SOC芯片內(nèi)部集成了數(shù)目眾多的數(shù)字模擬以及存儲器模塊,但受限于數(shù)目較少的IO,直接對內(nèi)部電路進(jìn)行測試較為困難。所以業(yè)界通常采用掃描的方法,使內(nèi)部電路變成可測試電路。具體做法是將芯片內(nèi)部的寄存器用具有掃描功能的寄存器代替,使其在掃描測試模式下形成一個或多個移位寄存器鏈[2]。這使電路的所有狀態(tài)均可直接從片外輸入和輸出端得到控制和觀察,從而達(dá)到由外部充分測試內(nèi)部電路的目的。
評價測試質(zhì)量的好壞有兩個標(biāo)準(zhǔn),一是故障覆蓋率的高低,二是測試向量集的大小。測試覆蓋率是指測試向量能夠檢測出的故障占有數(shù)的比率[3],測試向量集是指達(dá)到設(shè)計的測試覆蓋率所需要的向量集合,因而測試向量集的大小則直接影響到測試的時間與成本。在通常情況下,由于邏輯結(jié)構(gòu)的原因在芯片首次進(jìn)行掃描設(shè)計時覆蓋率通常較低,這就需要通過分析邏輯結(jié)構(gòu),在芯片內(nèi)部增加額外的測試電路來提高覆蓋率。但額外增加的測試電路須保證不影響正常的邏輯功能,且不能破壞芯片正常工作的時序。文中提出的方法就是通過適當(dāng)調(diào)整電路結(jié)構(gòu),增加測試的控制點和觀測點來大幅度的提高測試覆蓋率。
在設(shè)計過程中,存在兩種對測試覆蓋率影響較大的情況:一是存儲器輸入輸出的端口電路,二是測試模式下不工作的陰影邏輯。所有這些不可測試的電路有個共同特點就是在測試模式下不可控或不可觀測。
造成存儲器端口電路測試覆蓋率低的主要原因是在測試模式下存儲器不工作,無法通過它來完成電路的控制與觀測。一方面存儲器的輸入是直接由存儲器控制邏輯給出,這一部分控制邏輯的輸出無法在測試過程中直接輸出到片外,造成不可觀測。另一方面,存儲器的輸出在測試時是不確定狀態(tài),對于和存儲器直接相連的后繼電路而言,其得不到一個確定的輸入值,因此該邏輯不可控。
針對這一問題,解決方法是在存儲器的外圍增加一塊額外的旁路電路。具體的方法是通過一個多路選擇器,在正常工作下,存儲器控制邏輯的輸出接存儲器的輸入,存儲器的輸出接后繼的電路。在測試情況下,存儲器控制邏輯的輸出通過選擇電路直接輸出到存儲器后繼的電路,從而完全將存儲器旁路。
如圖1所示,在正常情況下Scan_Mode為0,數(shù)據(jù)和控制信號輸入給存儲器,同時多路選擇器的輸出為正常的存儲器數(shù)據(jù)輸出。當(dāng)芯片進(jìn)入掃描模式時Scan_Mode為1,輸入信號首先通過異或運算壓縮成為與輸出寬度相同的信號,接著使一信號通過多路選擇器輸出到存儲器的后繼電路,這就完成了對存儲器的旁路,達(dá)到存儲器前后兩部分邏輯的可觀測和可控性的要求。
圖1 存儲器旁路電路結(jié)構(gòu)
掃描模式下的陰影邏輯是指在掃描模式下由于電路的輸入恒定,導(dǎo)致電路的輸出也恒定為0或1,無法通過其他的輸入來改變輸出,從而無法測試這一邏輯。陰影邏輯產(chǎn)生的原因之一是芯片設(shè)計的過程中引入了多種工作模式,部分電路只能在一個特定模式下工作,而一旦芯片處于掃描模式時這些電路均處于不可觀測或不可控狀態(tài),無法通過掃描鏈測試。
針對這一問題,解決方法是增加額外的模式控制邏輯,使陰影邏輯在掃描模式下也能工作,但同時新增邏輯不能影響其他工作模式。這種方法需要對ATPG測試故障進(jìn)行分析歸納,找出影響覆蓋率的關(guān)鍵控制點,然后增加控制邏輯進(jìn)而提高芯片的測試覆蓋率。
ATPG測試故障主要有已檢測的故障(DT)、可能檢測的故障(PT)、不可測的故障(UD)、無法測試的故障(AU)和無檢測到的故障(ND)幾類[4]。DT和PT占據(jù)故障的絕大部分,代表已檢測到的故障和可能通過其他途徑檢測到的故障。UD代表現(xiàn)有測試向量無法覆蓋的測試故障,如器件懸空的引腳。AU指工具在滿足現(xiàn)有約束下無法覆蓋的測試故障,通常是由于設(shè)計因素導(dǎo)致的,這其中就有較大部分是由固定狀態(tài)造成的陰影邏輯,所以研究改進(jìn)的重點就是該部分的故障。ND指受到時間和覆蓋率約束的限制,ATPG工具還未能分析和處理的部分電路里包含的故障。
如圖2所示,這是一個明顯的AU錯誤。Debug_mode是在正常模式下用于調(diào)試芯片功能的模式配置信號,當(dāng)芯片處于掃描模式時,其值恒為0。在分析ATPG故障的時候,工具會報出或門a1的A、B、C的故障不可測,類型是AU。很顯然造成該部分故障不可測的原因是與門b1的輸入端E恒為0,從而影響了所有通過D路徑的故障觀測。解決辦法就是對Debug_mode信號加以控制,使之在掃描模式下恒為1,從而不影響由與門b1的D端經(jīng)過的所有路徑測試。
圖2 ATPG不可測故障
如圖3所示,在增加一個兩路選擇器和觸發(fā)器組成的控制邏輯后,測試模式下b1的E直接受觸發(fā)器控制,因而可通過改變測試數(shù)據(jù)來完成a1、b1及這條路徑上所有相關(guān)的故障的測試。
圖3 控制邏輯的加入
在掃描測試過程中,當(dāng)測試向量以移位的方式通過掃描鏈時,與掃描鏈上直接相連的功能邏輯也隨之發(fā)生翻轉(zhuǎn),這將導(dǎo)致在這一過程中無謂的功耗損耗。且測試過程由于功能邏輯翻轉(zhuǎn)的隨機(jī)性,有可能在芯片內(nèi)部的某一區(qū)域造成局部過熱從而損壞芯片。
如圖4所示,這一問題的處理方法是在觸發(fā)器的Q端增加門控電路,使功能邏輯的輸入在移位輸入的模式下處于固定值。ScanEnable=1芯片處于移位輸入模式,同此信號相連的與門輸出則恒為0。對于組合邏輯,如果所有輸入的信號全部固定,那么組合邏輯將處于穩(wěn)定狀態(tài),動態(tài)功耗為0,從而達(dá)到優(yōu)化目的。
圖4 組合邏輯門控結(jié)構(gòu)
在新版本的DFTCompiler中,工具已支持邏輯自動門控功能。按照用戶需求,工具能分析出需要插入門控邏輯的電路節(jié)點,選擇與門或者或門進(jìn)行插入操作。使用的語法是:set_scan_support_togglin-selection_method auto。
這一方法對DFT設(shè)計工程師而言是方便和可靠的。隨后文中將給出功能邏輯門控前后不同的功耗分析對比。
文中設(shè)計的電力網(wǎng)通信芯片總共使用了5條掃描鏈,每條鏈的長度均是2 704。在進(jìn)行芯片的物理設(shè)計時,按照觸發(fā)器的物理位置對所有掃描鏈進(jìn)行重組,以避免觸發(fā)器之間過長的繞線距離。在掃描測試的覆蓋率和功耗方面,文中優(yōu)化的方案均在原設(shè)計基礎(chǔ)上得到了較大提高。
在使用存儲器旁路電路和陰影邏輯控制電路后ATPG的覆蓋率和測試的向量數(shù)明顯發(fā)生了變化,具體對比結(jié)果如表1所示。
表1 優(yōu)化前后覆蓋率與向量數(shù)對比
存儲器旁路的優(yōu)化中,文中通過添加嵌入式Flash單元的旁路邏輯,使Flash接口和控制模塊的測試覆蓋率大幅提升。模塊的優(yōu)化結(jié)果如表2所示,通過改進(jìn),使整體覆蓋率提高了1.41%。
表2 Flash控制模塊優(yōu)化前后覆蓋率對比
第二步陰影邏輯控制,其加入了若干內(nèi)部狀態(tài)控制點。其中控制mbist是否工作的test_h點對覆蓋率影響最大。其原因是芯片中所包含的8塊SRAM和一塊ROM均做了mbist設(shè)計,這部分用于產(chǎn)生bist激勵和比對輸出結(jié)果的電路在掃描模式下都屬于陰影邏輯。而通過控制test_h就使mbist電路在掃描模式時可觀測,從而使整體的覆蓋率大幅提升。
通過門控結(jié)構(gòu)的應(yīng)用,掃描測試整體功耗得到降低,特別是掃描移位過程的功耗發(fā)生了大變化,具體結(jié)果如表3所示。
表3 優(yōu)化前后功耗對比
結(jié)果表明在進(jìn)行門控功耗優(yōu)化后,移位模式的峰值功耗降為原來的77%,整體功耗降為原來的27%。進(jìn)一步分析瞬態(tài)的功耗變化得到如圖5所示的結(jié)果。
圖5 優(yōu)化前后瞬態(tài)功耗對比
圖中可看到優(yōu)化后的曲線峰值大約為優(yōu)化前的11%。同時可以看出優(yōu)化后的曲線在時鐘翻轉(zhuǎn)前后瞬時功耗衰減較快,但優(yōu)化前曲線衰減速度較慢。說明在門控邏輯加入后,功能邏輯能在時鐘停止時迅速達(dá)到穩(wěn)定,從而保證較低的功率消耗。
介紹了SOC芯片可測性設(shè)計原理和覆蓋率的概念,通過對一款電力網(wǎng)通信芯片的分析應(yīng)用,完成了其可測試性設(shè)計同時提高測試的覆蓋率,減少測試向量的數(shù)目,降低了測試的功耗和成本,同時提高了測試的穩(wěn)定性和可靠性,最終通過量產(chǎn)的測試驗證。
[1]李曉維,韓銀和,胡瑜,等.數(shù)字集成電路測試優(yōu)化[M].北京:科學(xué)出版社,2010.
[2]郭煒,魏繼增,郭箏,等.SoC設(shè)計方法與實現(xiàn)[M].2版.北京:電子工業(yè)出版社,2011.
[3]余會星.數(shù)字電視解調(diào)芯片的可測試性設(shè)計與優(yōu)化[J].微電子學(xué)與計算機(jī),2008,25(8):172 -175.
[4]Synopsys Corpration.Tetra MAX ATPG user guide[M].USA:Synopsys Corpration,2010.
[5]曲利新.空間電子設(shè)備電路板可靠性可測試性設(shè)計檢查[J].現(xiàn)代電子技術(shù),2010(19):184 -186.
[6]王志林,于秀金,王永嶺,等.邊界掃描技術(shù)在故障信息處理中的應(yīng)用[J].西安郵電學(xué)院學(xué)報,2010(3):53-56.
Design for Testability and Power Optimization in SOC
CHEN Zhiqiang,LIN Pingfen,REN Weili
(Beijing Embedded System Key Lab,Beijing University of Technology,Beijing 100022,China)
This paper introduces the conception of DFT(Design For Testability)technology and test coverage with a PLC(Power Line Communication)chip as an example.An obvious adjustment has been made based on test coverage and power of the design.These optimization methods have greatly improved test coverage,reduced the cost and power consumption,and improved DFT quality.Finally,the design went on to mass production successfully.
design for testability(DFT);low power design;test coverage
TN702
A
1007-7820(2012)08-023-03
2012-03-05
陳志強(qiáng)(1988—),男,碩士研究生。研究方向:集成電路后端設(shè)計與測試。