張建偉, 丁秋紅, 周 彬, 滕 飛, 馬萬里, 王政操, 陳曉明, 李志遠
(1.大連理工大學 電子科學與技術學院, 遼寧 大連 116024;2.哈爾濱工業(yè)大學 空間基礎科學研究中心,哈爾濱 150001;3.黑龍江大學 電子工程學院, 哈爾濱 150080)
?
一種采用單雙跳變的低功耗確定性BIST方案
張建偉1, 丁秋紅1, 周 彬2, 滕 飛1, 馬萬里1, 王政操1, 陳曉明1, 李志遠3
(1.大連理工大學 電子科學與技術學院, 遼寧 大連 116024;2.哈爾濱工業(yè)大學 空間基礎科學研究中心,哈爾濱 150001;3.黑龍江大學 電子工程學院, 哈爾濱 150080)
為實現低功耗和高故障覆蓋率,基于單跳變測試技術和2-bit扭環(huán)計數器,提出一種新型的單雙跳變的確定性測試向量產生器. 首先,與一般的確定性測試方案直接存儲確定性種子不同,利用ROM存儲控制信號并通過單雙跳變生成確定性種子和確定性測試向量,這樣控制信號的長度約為確定性種子的1/2,有利于降低功耗并節(jié)約存儲空間. 其次,2-bit減法計數器合理地過濾了冗余向量,大大縮短了測試時間并降低總體能耗. 最后,為了適應不同的測試需求,還設計了相應的測試向量壓縮算法和三種x指定算法. 實驗結果表明,平均功耗分別降低了42.36%、32.32%、38.94%,測試長度分別減少了77.6%、86.1%、84.3%,測試數據分別壓縮了79.4%、65.2%、68.1%.
扭環(huán)計數器; 低功耗;確定性;測試向量生成器; 單跳變
近些年來,由于制造工藝不斷減小,測試規(guī)模不斷加大,這些都增加了ATE測試平臺的硬件需求,如測試通道個數和測試向量存儲空間的大小. 在這樣的背景下,內建自測試BIST(built-in self-test)技術被提出. 為了降低面積開銷并快速的實現較高的故障覆蓋率[1],線性反饋移位寄存器LSFR(linear feedback shift register)被廣泛使用在BIST技術中. 但是它的開關活動性過高,導致測試功耗遠遠高于正常工作狀態(tài)時的功耗,進而影響芯片的可靠性.
為了解決這個問題,提出了多種測試方案. 比如通過修改或使用新型的測試向量生成器TPG(test pattern generation)結構來減少TPG的跳變次數,從而降低測試功耗. 如文獻[2-4]中的LT-LFSR, DS-LFSR和多級LFSR等. 文獻[5-6]通過修改被測電路內部的測試結構同樣也能達到減少功耗的目的.
除此之外,由于單跳變技術卓越的低功耗特性,近些年來被廣泛運用在TPG設計中. 比起多跳變測試向量,單跳變測試向量能夠更好地檢測到多種故障類型,例如延遲故障[7-8]. 基于該特性,許多偽隨機單跳變RSIC (random single input change) 測試方案被提出[9-11]. 文獻[9]將LFSR和2-bit 扭環(huán)計數器TRC(twisted ring counter)結合起來生成了一種新型的單跳變測試向量生成器. 它利用控制信號可以靈活地實現LFSR與TRC模式的來回切換. 當處于TRC模式下,由L-stage LFSR指定2-bit TRC發(fā)生單跳變;當進入LFSR模式后,電路會生成新的相關性較低的偽隨機種子,從而更快速地提高故障覆蓋率. 不過與確定性測試[12]技術相比,偽隨機測試技術既無法達到ATPG所能達到的故障覆蓋率,同時為了實現較高的故障覆蓋率又需要耗費較長的測試時間,增加測試能耗.
因此,本文對文獻[9]進行了改進,采用單雙混合跳變技術和單雙跳變SDIC(single/double input change)單元來實現一種新型的確定性測試向量生成器. 為了減小面積開銷,優(yōu)化不同的測試性能需求,本文還提出了對應的種子壓縮算法和3種不同的x指定算法. 以ISCAS’85測試電路為例,實驗結果表明,在保證ATPG故障覆蓋率的前提下,該測試方案能夠有效地減少測試時間,壓縮存儲種子的個數并最大化地降低測試功耗.
為了實現單雙混合跳變的切換,本文對2-bit TRC進行改進. 圖1所示為測試向量生成器基本單元SDIC的結構框圖,它增加了一個異或門和一個sel信號. 當sel為1時,SDIC進行雙跳變;當sel為0時,SDIC進行單跳變. 單雙跳變的狀態(tài)圖如圖2和圖3所示. 此外,在重播種過程中,為了生成確定性種子和測試向量,電路被劃分為兩個工作狀態(tài):種子生成狀態(tài)和向量生成狀態(tài). 當電路工作在種子生成狀態(tài)時,每個SDIC的CE會被輪流選中,此刻只有對應的SEED_BIT信號有效時,SDIC才能發(fā)生跳變,且跳變模式由sel信號決定;當電路進入向量生成狀態(tài)時,SEED_BIT信號始終保持為1,sel保持為0. 隨著每個SDIC的CE輪流有效,每個單元輪流發(fā)生單跳變,見表1.
圖1 SDIC的內部結構
以ISCAS’85中的C17為例,使用本文和文獻[9]中的測試向量生成器,分別生成10個測試向量,對比兩者的測試結果,見表2. 從表2看,除了需要額外的面積開銷來存放種子以外,無論是測試時間,平均功耗,峰值功耗還是故障覆蓋率,本文的實驗結果都明顯優(yōu)于文獻[9]的實驗結果.
圖2 SDIC單跳變變化
圖3 SDIC雙跳變變化
當前狀態(tài)CESEED_BITsel模式01/01/0不變種子生成狀態(tài)101/0不變110單跳變111雙跳變向量生成狀態(tài)010不變110單跳變
表2 SDIC 和AM2B-TRC[9]測試結果對比
圖5對測試電路的工作流程進行了說明. 電路可以通過兩種方式來生成確定性種子. 若sel為1,電路進入狀態(tài)3,通過雙跳變的方式來生成新的種子. 反之,則電路會進入狀態(tài)2,完成一輪單跳變后直接跳回狀態(tài)1重新讀取新的存儲數據,然后再進入狀態(tài)3生成最終的確定性種子. 這兩種方式的最大區(qū)別在于第一種方式只需要一個存儲數據就可以生成目標種子,而后者則需要讀取兩個.
圖4 低功耗測試向量生成器的結構圖
圖5 狀態(tài)機工作圖
具體的工作流程是先啟動狀態(tài)機,從存儲器中讀取存儲數據. 然后進入種子生成狀態(tài),讀取sel信號的值,確定種子的生成方式. 假設sel為1,電路進入雙跳變模式. 讀取前n/2位存儲數據作為該狀態(tài)下的SEED_BIT[n/2-1:0]輸出,啟動減法計數器并使能移位寄存器,移位寄存器的初始值為0…01. 隨著移位寄存器串行移位,每個SDIC的CE輪流有效,這時由SEED_BIT[i]信號來確定SDIC是否發(fā)生跳變. 當移位寄存器為0…01時,狀態(tài)機進入向量生成狀態(tài). 讀取第n/2+1 ~n/2+2位存儲數據作為減法計數器的初始值,重新使能移位寄存器. 之后,每個SDIC輪流發(fā)生單跳變. 每當一輪移位完成后,2-bit減法計數器減一. 當且僅當2-bit減法計數器的值小于0時,移位寄存器使能關閉,狀態(tài)機跳入下一個狀態(tài). 總結如上的跳變規(guī)律可發(fā)現,向量生成狀態(tài)最多可以生成2n個不同的測試向量. 一旦超過這個數值電路就會生成重復的向量,測試效率將大大地降低. 并且,這2n個向量也并非全部有效. 因此本文通過2-bit減法計數器合理地約束有效向量生成,從而達到減少測試時間、降低測試能耗的目的.
綜上所述,本文的電路可以總結出以下特點. 1)大部分確定性種子只需要n/2+3位存儲數據就可以生成,當n比較大時,可以節(jié)約近一半的面積開銷. 2)與文獻[9]通過LFSR結構生成偽隨機種子相比,本文通過單雙跳變來生成確定性種子,這樣既可以降低TPG生成功耗也可以降低被測電路的測試功耗. 3)電路中采用了2-bit減法計數器來約束SDIC單跳變周期,減少了冗余向量的生成,降低了測試時間和測試能耗.
如圖2所示,SDIC單元內的取值一共有4組,分別為00-10-11-01. 若要從00->10,一次單跳變就可以實現;若要將00->11,則需要進行一次雙跳變. 若要將00->01則需要分別進行一次單跳變和一次雙跳變. 由此可以發(fā)現:通過兩個存儲數據便可以實現兩個向量之間的任意切換. 其中一個存儲數據用于控制SDIC單跳變翻轉,另一個實現雙跳變翻轉. 而要實現翻轉,只需要前n/2位存儲數據SEED_BIT[n/2-1:0]的對應位上為1便可.
基于該特性,設計出對應的種子壓縮算法,如圖6所示. 第一步,先根據被測電路生成確定性測試向量集Tpx. 將000…0作為確定性種子,并從確定性測試集中挑選出與確定性種子完全相容的目標向量,將它們從Tpx中刪除. 這里與種子完全相容的意思是該向量可以由確定性種子經過m*n/2(m<=4)次單跳變產生的. 確定完相容的測試向量之后便可確定2-bit減法計數器的周期m,以及生成的確定性測試向量的個數,將這些保存到all_pat測試集中.
圖6 種子壓縮算法流程圖
第二步,選擇并確定下一個確定性種子. 為了減少存儲數據的個數,在選擇下一個種子時盡量挑選僅通過一輪雙跳變就能生成的向量作為候選的確定性種子. 首先,將確定性測試集Tpx中需要通過p(p 在這個過程中,本文還采用了另一個壓縮技巧. 即一旦獲得新的all_pat測試集,便采用Atlanta工具仿真生成新的故障覆蓋率和新的待壓縮的確定性測試集Tpx. 換而言之,在整個過程中,Tpx都在實時更新. 這樣做可以最大化地利用中間向量,提高壓縮效率. 在實驗中可以指定工具生成包含x態(tài)的確定性測試集,如Fastscan和Atlanta. 一般情況下,x的含量越大,則壓縮效率會越高[13]. 而如何指定x則會影響到電路的整體性能. 本文從三個角度出發(fā),分別提出了3種不同的x指定算法. 實驗教學是教學過程中的重要組成部分,能使畢業(yè)生提高動手操作能力、創(chuàng)新能力、吃苦耐勞能力,提高在實驗中發(fā)現問題、分析問題、解決問題的能力,掌握了這些技能會使畢業(yè)生被很多用人單位看重,同時,實驗教學也對教學質量的提高發(fā)揮著至關重要的作用。 3.1 提高確定性種子的向量壓縮率 x位指定算法1如圖7所示,在指定x時,保證生成的確定性種子能夠盡可能多地與測試集Tpx中的向量完全相容. 圖7 x指定算法1 首先從候選種子集中挑選出候選種子i,從確定性向量集Tpx中找出與之完全相容的測試向量集Tpx_i. 然后,從第1個SDIC開始指定,一邊用上一個確定性種子和Tpx_i指定第j個SDIC,一邊篩選出與指定后的候選種子完全相容測試向量集Tpx_i,保證當n/2個SDIC被指定完后Tpx_i能與之完全相容. 最后從候選種子中挑選出最大相容量的作為下一個確定性種子. 這種算法可以盡可能多地壓縮測試集Tpx中的測試向量,減少確定性種子的個數,從而減少面積開銷. 3.2 減少冗余向量的個數 通過控制SDIC單/雙跳變來生成下一個確定性種子. 在這個過程中,每次有且僅有一個SDIC會發(fā)生單/雙跳變. 如此,從上一個種子的最后一個狀態(tài)到下一個種子的過程中,許多無用的中間狀態(tài)將生成. 為了盡量壓縮中間狀態(tài)的個數,可以從候選種子集中挑選出與上一個狀態(tài)漢明距離最小的向量作為確定性種子,具體如圖8所示. 圖8 x指定算法2 3.3 基于變游程編碼對種子進行再壓縮 為了進一步減少面積開銷,本文采用了變游程編碼算法[14]對原存儲數據進行再編碼壓縮. 這個算法壓縮效率高,解壓器結構簡單. 當然,為了提高種子的再壓縮率,必須依照變游程的編碼特性來指定x. 如下為一個隨機向量變游程編碼前和編碼后的結果. 編碼前: TD = 00001 11111111110 0000001(23位) 編碼后 : TE = 0111 110101 001001(16位) 對比編碼前后可以發(fā)現:相鄰相同連續(xù)的向量個數越多,編碼效率越高. 如圖9所示,首先,先用上一個確定性種子來指定候選種子i1,這樣可以保證i1可以通過p次雙跳變直接生成. 其次,對i1進行雙跳變編碼分段生成i2. 除了x以外,i2中每段有且只有一個0->1或1->0跳變. 指定i2中的x,保證它們與每段中的最后一個值相反,與前k個值完全相同. 最后,根據指定后的i2反向指定i1的x值. 指定結束后,將i2變游程編碼生成i3,變游程壓縮效率最高的i2作為下一個確定性種子. 圖9 x指定算法3 為了驗證提出算法的有效性,使用ISCAS’85測試電路作為測試對象,使用Atlanta工具生成ATPG測試向量,利用Matlab編程,實現向量壓縮算法和三種x指定算法,通過計算被測電路內部節(jié)點的扇出和跳變次數來得出等效的總跳變次數. 實驗完成后,一共獲得了三種測試數據. 分別用#1,#2,#3來表示算法1,算法2和算法3. 每種算法的峰值功耗、平均功耗、總體能耗、測試長度以及存儲位數等參數如表3所示. 其中本文使用跳變次數來描述峰值功耗、總體能耗和平均功耗,使用存儲位數來描述存儲空間大小. 從表3的結果看來,算法1在功耗和面積開銷方面有較為顯著的優(yōu)勢. 平均功耗和峰值功耗都相對較低,且當測試電路規(guī)模較小時,存儲空間最小,但它的測試時間較長. 相對而言,算法2的測試時間較短,從而可以降低總體能耗,但是無論功耗特性和面積壓縮效率都表現一般. 而算法3整體性能指標較高,無論是測試長度、總體能耗、平均功耗、峰值功耗,還是存儲空間都有較好的結果. 特別當被測電路規(guī)模越大,向量壓縮效率便越高. 但它需要額外的變游程解碼器,增加面積開銷. 表4對比了算法1、算法2、算法3和AM2B-TRC[9]的平均功耗. 前者是基于后者為基礎進行的改進,但考慮到AM2B-TRC[9]采用的偽隨機測試方案,因此只對比了兩者的平均功耗. 結果表明,算法1、算法2、算法3的平均功耗遠低于AM2B-TRC的平均功耗,平均分別可以降低42.36%、32.32%、38.94%. 表5中分別對比了3種算法和確定性SIC[15]的測試長度及存儲空間. 其中測試長度(測試時間)分別平均減少了77.6%、86.1%、84.3%,而存儲位數也減少了79.4%、65.2%、68.1%. 表3 3 種x指定算法的測試結果對比 注:由于單位跳變所產生的能耗是相同的,因此使用跳變次數來表述總體能耗和峰值功耗,而平均功耗=總體能耗/測試長度. 表4 3種x指定算法和文獻[9]平均功耗的對比 表5 3種x指定算法和文獻[15]關于測試長度和存儲位數的對比 基于單/雙跳變技術的確定性BIST壓縮方案和3種不同的x指定算法總體性能都有了很明顯提升,其中平均功耗分別降低了42.36%、32.32%、38.94%,測試長度分別減少了77.6%、86.1%、84.3%,測試數據分別減少了79.4%、65.2%、68.1%,整體上性能得到了較大的提升. [1]高燕. 基于寄存器傳輸級層次模型的測試生成研究[D].北京:中國科學院研究生院, 2003. GAO Yan. Test Generation based on Hierarchy Model at Register Transfer Level [D].Beijing: Graduate University of Chinese Academy of Sciences, 2003. [2] WANG S, GUPTA S K. LT-RTPG: A new test-per-scan BIST TPG for low switching activity[J]. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 2006, 25(8): 1565-1574. [3] WANG S, GUPTA S K. DS-LFSR: A new BIST TPG for low heat dissipation[C]//Test Conference, 1997. Proceedings. International. [S.l.]: IEEE, 1997: 848-857. [4] ROSINGER P, AL-HASHIMI B M, NICOLICI N. Dual multiple-polynomial LFSR for low-power mixed-mode BIST[J]. IEE Proceedings-Computers and Digital Techniques, 2003, 150(4): 209-217. [5] GHOSH S, BASU S, TOUBA N. Joint minimization of power and area in scan testing by scan cell reordering[C]//VLSI, 2003. Proceedings. IEEE Computer Society Annual Symposium on. [S.l.]: IEEE, 2003: 246-249. [6] ABU-ISSA A S, QUIGLEY S F. Bit-swapping LFSR and scan-chain ordering: A novel technique for peak-and average-power reduction in scan-based BIST [J]. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 2009, 28(5): 755-759. [7] VIRAZEL A, DAVID R, GIRARD P, et al. Delay fault testing: choosing between random sic and random mic test Sequences [C]//Test Workshop, 2000. Proceedings. IEEE European. [S.l.]: IEEE, 2000: 9-14. [8] LI Xiaowei, CHEUNG P. High-level BIST synthesis for delaytesting[C]//Defect and Fault Tolerance in VLSI Systems, 1998. Proceedings. 1998 IEEE International Symposium on. [S.l.]: IEEE, 1998: 318-323. [9] ZHOU Bin, WU Xinchun. A Low Power Test-per-Clock BIST Scheme through Selectively Activating Multi Two-Bit TRCs[C]//Instrumentation and Measurement, Computer, Communication and Control (IMCCC), 2014 Fourth International Conference on.[S.l.]: IEEE, 2014: 505-509. [10]VIRAZEL A. On hardware generation of random single input change test[J]. Journal of Electronic Testing: Theory and Applications, 2002, 18: 145-157. [11] LEI Shaochong, Hou Xueyan, Shao Zhibiao, et al. A class of SIC circuits: theory and application in BIST design [J]. Circuits and Systems II: Express Briefs, IEEE Transactions on, 2008, 55(2): 161-165. [12]曹貝. SoC 低功耗測試技術和溫度意識測試規(guī)劃研究[D]. 哈爾濱:哈爾濱工業(yè)大學, 2010. CAOBei. Research on low power test technology and temperature aware test scheduling for system-on-chip [D]. Harbin: Harbin Institute of Technology, 2010. [13]周彬, 吳新春, 葉以正. 二維測試數據壓縮的優(yōu)化[J]. 計算機研究與發(fā)展, 2015, 46(4): 637-643. ZHOU Bin, WU Xinchun, YE Yizheng. Optimization of two dimensional test data compression [J] Journal of Computer Research and Development, 2015, 46 (4): 637-643. [14]彭喜元, 俞洋. 基于變游程編碼的測試數據壓縮算法[J]. 電子學報, 2007, 35(2): 197-201. PENG Xiyuan, YU Yang. A test set compression algorithm based on variable-run-length code [J]. Acta Electronica Sinica, 2007, 35 (2): 197-201. [15] XIAO Liyi, CAO Bei, WANG Yongsheng. Seeds optimization algorithm of SIC test sequences in low power BIST[C]//Laser Physics and Laser Technologies (RCSLPLT) and 2010 Academic Symposium on Optoelectronics Technology (ASOT), 2010 10th Russian-Chinese Symposium on. [S.l.]: IEEE, 2010: 352- 355. (編輯 王小唯 苗秀芝) Low power deterministic BIST based on SDIC ZHANG Jianwei1, DING Qiuhong1, ZHOU Bin2, TENG Fei1, MA Wanli1, WANG Zhengcao1, CHEN Xiaoming1, LI Zhiyuan3 (1. School of Electronic Science and Technology, Dalian University of Technology, Dalian 116024, Liaoning, China;2. Space Basic Science Research Center, Harbin Institute of Technology, Harbin 150001, China;3. School of Electronic Engineering, Heilongjiang University, Harbin 150080, China) In order to obtain low power consumption and high fault coverage, a new single-double input change deterministic test pattern generator is presented based on a single input change technology and 2-bit twisted ring counter. Firstly, unlike traditional deterministic test schemes storing the deterministic seeds, the presented scheme saves the control signal bits in ROM. With these bits, the deterministic seeds and patterns are generated by single-double input change. It is beneficial for power consumption and area overhead because the length of control signal bits are just about 1/2 of deterministic seed’s. Secondly, 2-bit down counter can reasonably filter redundant vector, and it greatly shorten test time and reduce overall energy consumption. At last, considering different needs, the test pattern compression algorithm and three kinds of x assignment algorithm are proposed. Experimental results show that the average power reductions are up to 42.36%,32.32%,38.94%,and the test length reductions are up to 77.6%,86.1%,84.3%, and then the test data storages are decreased by 79.4%,65.2%,68.1%, respectively. twisted ring counter; low power; deterministic; test pattern generator; single input change 10.11918/j.issn.0367-6234.2016.11.015 2016-01-06 國家自然科學基金(61306091, 61100031, 61340050, 61204132); 中央高校基本科研業(yè)務費專項資金資助(DUT15QT46); 黑龍江省高校重點實驗室開放課題 張建偉(1978—),男,副教授 周 彬, zbhit@hit.edu.cn TN79+1 A 0367-6234(2016)11-0096-074 實驗結果與分析
5 結 論