(1. 牡丹江師范學院 計算機科學與技術系, 黑龍江 牡丹江 157012; 2.哈爾濱工程大學 計算機科學與技術學院, 哈爾濱 150001)
摘 要:
提出一種測試功耗優化的新方法,它通過閾值門電路調節和漏電流優化兩種方法相結合來降低靜態功耗。通過算法尋找電路的關鍵路徑,去除偽路徑,然后在關鍵電路上設置低閾值門電路,在非關鍵電路上設置高閾值門電路(不違反時序約束的前提下),利用測試向量的無關位特性來調整測試向量和測試架構,達到降低漏電流的目的。通過以上兩種途徑,整體上達到功耗優化的結果,實驗結果證實了本方法的有效性。
關鍵詞:測試功耗; 電壓調節; 漏電流優化; 測試向量
中圖分類號:TP391.4文獻標志碼:A
文章編號:1001-3695(2009)04-1402-03
Research on novel low test power based on two threshold VLSI
XING Jun1, WANG Guan-jun2
(1. Dept. of Computer Science, Mudanjiang Teachers Colleges, Mudanjiang Heilongjiang 157012, China; 2. College of Computer Science Technology, Harbin Engineering University, Harbin 150001, China)
Abstract:This paper proposed a new test power consumption optimization approach, it reduced the static power consuming through voltage scaling and leakage optimization. To find the critical path through the algorithm, eliminate the 1 path, and then set low threshold voltage on the critical path, set high threshold voltage on the non-critical paths(without violating the timing constraints).To regular the test vector and modify the test architecture based on the don’t care bits, so it could reduce the leakage current. With the two ways, got a better optimization result. The experiment shows the efficiency.
Key words:test power consuming; voltage scaling; leakage current optimization; test vector
0 引言
根據美國半導體工業協會制定的1999年國際半導體技術發展指南,從1999到2011年,集成電路仍將按摩爾定律持續高速發展。到20世紀90年代末,CMOS技術成為到目前為止最成熟的技術,成為數字電路的主流技術。2008年,AMD推出代號為“上?!钡男滤暮薈PU,這款芯片采用45 nm的先進技術以進一步提升性能;預測到2011年,單片上可集成的晶體管數將達到14億個,芯片的特征尺寸為40 nm以下,芯片的引腳數可達到6 000多個,芯片的工作頻率可以超過10 GHz。集成電路的性能越來越高,伴隨而來的是電路的開關活動迅速增加。由于功耗是與開關活動成正比的,高性能帶來的一個問題就是高功耗。而且由于功耗對可靠性、成本以及性能都有影響,隨著移動應用等的發展,對低功耗的要求也日益迫切。低功耗設計成為目前的一大熱點。其中測試功耗的優化又是一個重要的研究方向。測試功耗是電路在測試模式下的能量消耗,它對電路測試和可測性設計都有較大影響。一般來說,電路在測試狀態下比正常模式下要消耗更多的能量,甚至達到正常模式下的兩倍。一個例子就是測試時大量的電路開關活動導致測試電流的大量增加,必須使用更昂貴的封裝技術來去除電路中產生的熱量,同時電路的可靠性也會受到影響,所以優化測試功耗意義重大。本文就是在測試功耗的優化方面開展工作,分別從測試結構和測試向量兩方面綜合考慮,提出優化電壓和漏電流的整體優化方案。
1 成熟的測試功耗優化方法
CMOS電路測試功耗由三部分組成:動態功耗、短路功耗和靜態功耗,即P=PDyn+PSC+PLeak。其中占主要部分的是動態功耗和靜態功耗。在以前的技術中(0.25 μm以上)動態功耗占主導地位;在65 nm以下技術中,靜態功耗占主要部分。短路功耗是當電路中的PMOS和 NMOS晶體管同時導通引起的瞬態電流而形成的功耗,在電路功耗中占的比例非常少,可以忽略。動態功耗和靜態功耗的計算式分別如下:
PDyn=CLV2ddfckESw/2(1)
PLeak=VddILeak
(2)
其中:CL為門輸出負載;Vdd 為閾值門電路;fck為時鐘頻率;ESw代表門開關頻率; ILeak代表電路中漏電流。在測試功耗的優化方面,早期由于動態功耗起主要作用,一些文章對動耗功耗的優化進行了詳細研究[1~3],由于現在的CMOS工藝已經達到了65 nm工藝以下,主要的研究方向集中在了靜態功耗優化方面。在這些方面,文獻[4~6]也提出了一些新穎的方法。
目前在工業應用中考慮一些Ad hoc解決方案來降低測試功耗,這些方案包括電壓調整、封裝和制冷來應對測試電流的大量增加,或者減少測試操作頻率。不幸的是,這些方案在降低功耗的同時也增加了硬件代價或者測試時間,而且可能會降低故障的覆蓋率。因此一系列的新方案不斷產生,這些方法包括:a)測試調度算法;b)向量篩選;c)低功耗內建自測試向量生成器;d)基于內建自測試的電路劃分技術;e)低功耗自動測試向量生成算法;f)向量或者掃描引腳排序技術;g)靜態壓縮或者輸入控制技術。
2 提出的新方法
靜態功耗已成為當前測試功耗中的重要組成部分,而且占的比重越來越大,因此靜態功耗的優化具有較大意義。靜態功耗的優化分為兩方面:從電壓方面考慮;從電流方面考慮。電壓方面針對雙閾值電壓電路進行電壓調節;電流優化主要通過測試結構的調整,減少邏輯門的翻轉,也就是測試向量的優化來進行。同時采取兩種方法來達到功耗的最優化。
2.1 雙閾值門電路
隨著半導體技術的進步,晶圓工廠開始為芯片提供雙閾值門電路功能來使設計者在漏電流和性能之間進行權衡。雙閾值門電路的出現為設計者提供了電路優化的可能。高閾值門電路要比正常閾值門電路快20%到2倍左右,速度快的代價是漏電流的增加及能耗的上升,漏電流因此可能會上升到原來的10倍,由此也帶來了制作過程成本的增加。綜合算法能夠通過使用低閾值門電路在滿足時序約束的條件下優化漏電流,使用低閾值門電路在關鍵的路徑上。
提出的這種新方法典型的幾個步驟如下:a)利用新算法首先在所有的路徑上設置高閾值門電路,由此得到最快的設計。b)利用新算法去除電路的偽路徑,得到關鍵路徑。偽路徑是一條網絡上的關鍵路徑,對于該網絡任何輸人的向量組合,這條路徑上節點的變化不會發生,從而無法敏化。因此,一旦電路定時計算中包括了偽路徑在內,將會導致無法預料的結果;偽路徑同時也會導致路徑選擇過程中的系統資源浪費。算法詳見文獻[7]。c)關鍵路徑上設置低閾值門電路,非關鍵電路上設置高閾值門電路,由此在保證性能的前提下得到減少能耗的設計。d)檢查電路中的時序約束是否滿足條件,若滿足則成功結束,不滿足則進行時序的調整,然后重新進行設置,直至成功結束。算法的流程如圖1所示。
這種方法的優點在于只在非關鍵路徑上設置高閾值門電路,這樣就可以在保證電路性能的前提下進行測試功耗的優化。
2.2 門電路替換方法
門電路匹配在后綜合階段是一項重要的工作,直接影響到綜合的結果。由于現在元件庫如Synopsys DesignWare library中包含的元件數量相當多,如何從元件庫中選擇等價的門電路是一項困難的工作。如果考慮N個變量的布爾方程,兩個布爾方程等價當且僅當對任意的X∈{0,1}n, F(x)=G(x)在方程的積之和(SOP)表示法中,把任意一個變量Xi用實變量代替,用1-X來代替Xi的否定,這樣就能得到布爾方程的多項式表示,因此它是惟一的,稱它們為特征多項式。比較兩個布爾方程只需比較其特征多項式就可以了,其中會用到以下引理:
引理1兩個布爾方程相等當且僅當它們的特征多項式相等。
引理2假設D是一個Rn上的緊致集,其測度為μ,且μ(D)=1。假定有n個變量的兩個多項式F(X)、G(X),如果F≠G當且僅當它們在D上有一個相同的測度為零的子集。
引理3 判定算法得到錯誤結果的概率為零。
由以上引理給出判斷兩個方程是否相等的算法如下:
input: circuit blocks from library
output: whether they are identical
begin
while(the input is not empty)
{ compute the characteristic polynomial of the input
find a compact subset D∈Rn;
if(eval(input function≠eval(the goal function)))
return(not equal)
else
return(two function identical)
}
end
通過以上算法就可以判定兩個多項式是否相等。首先計算待替換門電路的特征多項式,然后從元件庫中尋找門電路模塊進行比較判斷,如果有相同的模塊,再判約束條件是否滿足,從而可以進行替換的工作。這種方法簡單易行,時間復雜度亦在允許的范圍內,因此是有效的。
2.3 測試向量及結構優化
由于晶體管堆棧效應的影響,測試向量直接決定著測試時電路的泄漏電流。測試向量由很多確定位(0或1)和無關定位組成。無關位被賦值為0或是1對電路的測試結果沒有影響[8,9]。一般來說,對于大規模電路,自動測試產生器(automatic test pattern generation, ATPG)產生的測試向量中無關位大多在50%以上。因此優化測試結構和測試向量就可以減少漏電流。
考慮在測試結構方面進行優化,把掃描寄存器分為H個分支掃描鏈,在測試時每個掃描鏈都有自己的測試向量,為了并行把它們掃入分支掃描鏈中,其間必須對各分支的掃描向量進行規整。假如掃描陣列中有四條分支掃描鏈,各分支掃描鏈的寄存器數為10(為了舉例方便,這里沒有滿足H<
第一個分支掃描鏈的測試向量為第一行,第二個分支掃描鏈的測試向量為第二行,依此類推。當掃描測試時,首先掃入的是第一列,其次是第二列,等等。把第一列叫做第一個位片,第二列為第二個位片,依此類推。所謂重復位片,是由于測試向量中有大量的無關位,填充這些無關位使相鄰的位片相同。如圖2所示,在原始測試向量中第一個位片和第二個位片分別為{1 X X 1}和{X X 1 1},如果第一位片的第二位和第三位、第二位片的第一位和第二位都分配為1,它們將變為{1 1 1 1 }和{1 1 1 1},它們相同(圖2),這就是所謂的重疊。
由圖3可知,第1、2、3位片重疊,第4、5、6、7位片重疊,第8、9、10位片重疊。為了使測試向量中的位片重疊能應用于掃描陣列中,對掃描陣列進行了改進,如圖4所示。由于位片的重疊,不必向主掃描鏈中掃入每一位片,只需掃入不同塊中的第一個位片,然后利用二選一多路選擇器將塊中其他的位片由最后一次掃入分支掃描鏈中的位片反饋回來,這樣就節省了這些重疊的位片再次掃入主掃描鏈的時間,從而減少了測試時間。
改進前,需要向主掃描鏈中掃入每個不同的位片,由于各個位片中的無關位是隨機填充的,這就使得各個連續的位片很有可能不同。在把它們掃入主掃描鏈和分支掃描鏈的時候引起許多冗余的翻轉,造成大量的測試功耗。改進后,由于位片的重疊,使得主掃描鏈中的掃描寄存器的翻轉大大減少,從而也大大降低了測試功耗。
假如掃描陣列中有H個分支掃描鏈。相對于改進前的掃描陣列,使用位片重疊后,硬件方面需要在每個分支掃描鏈上添加一個二選一的多路選擇器和一個解碼器。解碼器產生0和1的控制信號來控制二選一多路選擇器的輸出,當重疊塊的第一個位片需要移入掃描鏈,解碼器產生控制信號1,在時鐘CLK′的控制下使之首先串行地移入主掃描鏈,然后再利用一個時鐘周期CLKH′用多路器將它們并行移入分支掃描鏈;當重復塊的其他位片需要移入分支掃描鏈,解碼器則產生控制信號0,使最后一個移入分支掃描鏈的位片在時鐘CLKH′的控制下用多路器移入分支掃描鏈。還可以用解碼器產生的控制信號與時鐘CLK′結合起來控制包含不同位片的塊的第一個位片移入主掃描鏈,而其他相同的位片不必移入。
3 實驗驗證
關于關鍵路徑的識別算法在文獻[7]中得出的結果如表1所示。表1中最長拓撲時延為電路中最長拓撲路徑的長度。關鍵路徑時延為該算法檢測到的關鍵路徑的長度。從表中可以看出,算法可以實現將C1908電路時延比拓撲時延減小8%的情況下只用了幾秒的CPU時間。對幾千個邏輯門的規?;鶞孰娐?,在最長不超過半分鐘的時間內便在普通微機上實現了關鍵路徑的檢測。
表1面積和功耗的實驗結果
實驗電路邏輯門數最長拓撲時延關鍵路徑時延CPU時間/s
C135588024242
C19081 19340377
C26701 193323126
C35401 320474622
C53152 123494722
C62882 4161241236
C75523 512434216
采用雙閾值門電路的方法進行漏電流優化,為此選取了另外一些基本電路,應用提出的方法得到的優化結果如表2所示,可以看出提出的方法是有效的。利用測試向量重疊進行漏電流的優化結果如表3所示,在減少了少量測試時間的情況下(電路的面積有少許增加),也同時減少了測試功耗。
表2 實驗結果
實驗電路漏電流優化效果/%
C43241
C49932
C88035
C135550
C190840
C267060
C354051
表3閾值門電路調節實驗結果表
電路原測試時間/μs原測試功耗/μW漏電流優化后測試時間/μs漏電流優化后測試功耗/μW
Intchip4 092.51 025.53 923.21 559.4
sre2 327.5133.82 214.1380.02
ACU2 481320.212 367.2656.29
Pcm32600112.49512.8207.54
4 結束語
本文提出一種測試功耗優化的新方法,它通過電壓調節和漏電流優化兩種方法來同時降低靜態功耗。通過新穎的算法尋找電路的關鍵路徑,識別偽路徑,然后在關鍵電路上設置低閾值門電路,在非關鍵電路上設置高閾值門電路,并且給出了一種基于特征多項式的門電路替換算法。以后的研究方向會集中在基于內建自測試(BIST)的電路功耗優化和時序電路方面的功耗優化;另外測試向量和測試功耗之間的權衡也是值得考慮的一個新的方向。
參考文獻:
[1]吳綺,熊光澤.基于隨機決策模型的動態功耗管理策研究[J].計算機學報,2007,30(4):622-627.
[2]BENINIL, BOGLIOLO A, MICHELI G D. A survey of designtechniques for system level dynamic power management[J]. IEEE Trans on Very Large Scale Integration (VLSI) System, 2000,8(3): 299-316.
[3]YUAN Ren-zhi, KROGH B H, MARCULESCU R .Hierarchical adaptive dynamic power management[J]. IEEE Trans on Compu-ters,2005,54(4):409-420.
[4]KIM N S, AUSTIN T, BAAUW D, et al. Leakage current: Moore’s law meets static power[J]. Computer, 2003,36(12):68-75.
[5]ROY K, MUKHOPADHYAY S, MAHMOODI H. Leakage current mechanisms and leakage reduction techniques in deep submicron CMOS circuits[J].Proceedings ofIEEE,2003,91(2):305-327.
[6]ABDOLLAHI A, FALLAH F, PEDRAM M. Leakage current reduction in CMOS VLSI circuits by input vector control[J].IEEE Trans on Very Large Scale Integration(VLSI) Systems, 2004,12(2):140-154.
[7]杜振軍,馬光勝,馮剛.一種檢測電路中關鍵路徑的新算法[J].哈爾濱工程大學學報,2005,26(4):518-521.
[8]WANG Wei, HU Yu, HAN Yin-he, et al. Leakage current optimization techniques during test based on don’t care bits assignment[J]. Journal of Computer Science and Technology,2007,22(5):673-680.
[9]LI Ji, HAN Yin-he, LI Xiao-wei. Deterministic and low power BIST based on scan slice overlapping[C]//Proc of IEEE International Symposium on Circuits and Systems. 2005:5670-5673.