張建文
(華潤賽美科微電子(深圳)有限公司,廣東深圳,518000)
隨著微米技術的深度發展,逐漸提升了集成電路的復雜程度,降低占用面積,加強運行效率,在實際測試期間需要全面注重功耗這一技術參數。在設計集成電路的各個環節當中能夠全面展現出多樣化的低功耗技術。在集成電路生產當中最重要的就是測試環節,功耗能夠在測試模式影響下會加大其消耗程度,在實際測試期間,被測電路如果出現較大的功耗,將會損壞芯片,并且進一步降低測試的可靠性,逐漸減少使用時間。在設計測試環節當中如何更好地降低功耗已經成為現階段大多數研究學者關注的熱點問題。
功耗測試能夠分為靜態和動態兩種方式,動態功耗會受到測試向量排序的影響,該種消耗主要是由于電路內部各個門逐漸轉化狀態時出現的現象。在對向量進行測試時首先需要確定,測試向量的正常排序在較大程度上會對動態功耗產生影響。如果沒有對測試向量的排序進行優化,將會導致其出現較大的測試功耗。現階段在向量排序方式主要包括海明距離測試法以及在測試向量時統計電路內部每一份節點的狀態,之后按照以上狀態對測試向量進行排序,這樣能夠減少電路內部狀態的翻轉次數。該種測試方式主要應用在較小規模的電路上,然而由于現階段逐漸增大電路規模,出現了非常強大的節點數量,因此在實際測量排序時需要對n個向量進行排序,此時就需要使用邏輯模擬方式進行,并且在對兩向量之間的距離所花費的時間進行計算時,將會提升計算時間,降低工作效率。
現階段,CMOS電路在運行期間產生的功耗大多數都是由于電路內部出現的邏輯門狀態產生變化,使其出現充放電消耗功率,如果改變測試向量,將會導致電路消耗的功率改變為以下:

在以上式子當中,ddV 表示電路的供電電壓,T表示電路的時鐘周期,N表示電路中門的數量,i表示某一個門。
下圖為該電路的結構圖,輸入端有5個,與非門有6個,各個門的狀態與輸入端(c)有關,這就表明輸入端(c)如果產生變化,將會導致6個與非門狀態都產生變化。但是,a與e只和其中2個門有關聯,因此如果這兩個出現變化將會導致2個門狀態發生改變。由以上可以看出,功耗與電路結構之間存在較大的關聯性。
在對這兩個指標進行研究時,需要使用到1號與非門進行分析,如果測試集已經明確,并且測試向量當中c值為0,那么在此情況下,如果a出現變化情況將不會對g的狀態產生影響。如果c值為1,如果a出現變化情況將會對g的狀態產生影響。由以上分析可以看出,測試集當中的輸入取值與門的狀態之間存在較大的關聯性。以上存在的影響關系可以稱為輸入與電路活性之間的關系,在表示各輸入端變化情況時采用影響度系數,這樣能夠全面展現出電路活動性的影響程度,進一步按照影響度系數排列測試向量。

圖1 電路結構
由于單個背側點苦當中存n個原始輸入,并且在每一門當中存在m個門,g主要是表示電路級數,T為故障測試集,測試集當中的測試向量為Vi。定義:電路第i個原始輸入對門變化狀態的影響度系數為:
在以上式子當中,xy主要是表示門的直接輸入,Wix表示i對x的影響度系數,p( y = k ey)表示在實際測試期間y取key的概率。對與門來說,如果key的值為0時,針對緩沖門和非門來說由于只存在一個直接輸入,因此需要將輸入假設為x,那么此時Wiy= Wix。在電路當中,所輸入門主要是由2個輸入門組成,需要對其影響度系數進行分別計算。原始輸入度g值為1的門影響度系數與輸入取key中的概率相同。
定義:當電路第i個原始輸入對電路變化狀態的影響度系數為

按照下圖所示,當中測試集為 {(10100),(01000),(01110),(01010)......}時,b對電路狀態變化影響度系數由b對門2.6.7.9.10狀態的影響度系數;b對2門的影響度系數為1,對6門的影響度系數為 Wb2× p( h =1)。對7門的影響度系數為Wb2× p( j =0),對9門的影響度系數為Wb2× p( k=0)……,在以上影響度系數當中,h,j,i,k都是該門的key值的概率,這樣就能夠對各個原始輸入對電路狀態變化的影響度系數進行計算。

圖2 被測電路
上文主要對所有原始輸入都給予了對應的影響度系數,該值主要包括原始輸入比阿奴啊影響電路狀態變化的程度。可以通過該值對海明距離進行修正,這樣就能夠想成加權海明距離,之后需要借助于等效的排序返回事故會優化測試集。按照以下步驟進行。
該環節的研究主要是將圖2的被測電路作為研究對象,將測試量分別記作 V1, V2, V3, V4, V5, V6,之后需要將各個原始測試向量對應原始輸入。在兩向量之間的海明距離為不同取值范圍內的原始輸入數量。例如在V1和V2之間的海明距離值為3,在加權海明距離當中需要按照位求異或處理兩向量,之后需要對各個原始的影響范圍按照位乘進行處理,之后再進行求和處理。
在排序測試集時可以通過貪心算法進行,該測試方式與海明距離排序方法比較類似,下圖為加權海明距離測試向量排序方法的流程,。在選擇第一個測試向量時主要是通過隨機選取向量的方式。,之后在選擇下一個向量時需要按照海明距離最小的向量進行選擇,需要將回溯算法加入到算法當中,如果兩向量的加權海明距離遠遠超過最大距離的二分之一,那么在選取首個測試向量時需要選擇第i個向量,之后再進行排序處理。在完成排序之后,就會明顯縮小測試集的加權海明距離,這樣能夠避免電路在測試期間產生較大的變化,進一步降低測試功耗。

圖3 加權海明距離的測試向量排序算法
在下圖當中,被測電路為s1488,內部加權跳變數為:

從以上分析可以看出,如果P0越小,在實際測試期間就會降低消耗功率,從上圖能夠看出,隨著不斷縮小的加權海明距離,也會相應縮小被測電路內部加權跳變數,因此也會相應降低消耗功率。在對測試集進行優化時能夠通過加權海明距離實現,這樣能夠在較大程度上降低測試期間產生的功耗情況。
此次研究主要是使用ISCAS85的部分電路,在測試設計階段主要是通過全掃描方式,測試集主要是應用MINTEST,提過Mat lab軟件對程序進行優化,在實際優化期間使用貪心算法,在評價各電路活動性時主要是將被測電路內部加權跳變系數作為標準。

圖4 電路加權變數與加權海明距離之間的關聯性
下表主要是對比分析各個電路的海明距離測試期間電路活動性,此研究方法,電路原排序以及測試集當中存在的向量數量,還包括原測試集在測試期間被測電路出現的加權跳變數。由以上可見,相比于海明距離法,此次研究所應用的方法,在優化電路活動性方面存在較大的優勢,在測試時間方面,兩種測試方式所需時間的差異性較小。

表1 對比分析測試排序方法的結果

2 69 151819 136725 9.69% 123769 16.57%3 18 1511 1114 23.37% 1055 33.19%4 51 5842 4045 29.24% 2247 59.67%5 89 13574 8947 35.67% 5147 61.54%6 92 13527 9517 33.22% 5267 62.36%
在此時數字集成電路時,需要全面深入研究其產生功耗的原因以及來源,并且在原有的設計基礎之上進行優化和改善,提出新的向量排序測試方法。該種測試方式能夠對電路結構以及測試集信息進行全面分析,闡述電路內部狀態變化和輸入端之間的關聯性,之后按照該種關聯性重新對測試集進行排序,這樣就能夠實現對測試集的優化。在完成排序之后需要減少在實際測試期間電路狀態翻轉次數,這樣能夠最大限度降低測試前電路的功率消耗問題。該種測試方式最大優勢在于不會對測試集產生改變,不會影響故障覆蓋率。
[1]張帆.一種低功耗數字集成電路自檢電路設計方法[J].科技經濟導刊 ,2017,18(16):76+72.
[2]嚴梓揚,蘇成悅,張宏鑫.Vhd l在數字集成電路設計中的應用分析[J].自動化與儀器儀表,2017,19(05):131-133.
[3]李娜.數字集成電路低功耗優化設計解析[J].通訊世界 ,2016,22(15):56.