減小SoC系統測試功耗的方法
引言
隨著(zhù)現代半導體技術(shù)的發(fā)展,將整個(gè)系統集成在一個(gè)芯片上成為可能,即通常所說(shuō)的片上系統集成soc(system-on-chip)。由于soc的結構特點(diǎn),dft成為soc設計中的一項關(guān)鍵技術(shù)。由于任何一種測試方法的基本原理都是敏化和傳遞故障,因此不可避免地使電路內部節點(diǎn)的翻轉情況變得更加密集,同時(shí)邏輯設計所采用的低功耗設計在測試模式下通常無(wú)法起作用,從而在測試模式下必然會(huì )產(chǎn)生出比正常工作狀態(tài)大得多的功率消耗。測試功耗問(wèn)題將會(huì )極大影響產(chǎn)品成品率。因此降低測試功耗是所有測試方法在處理高性能電路系統時(shí)必須考慮的問(wèn)題。
功耗分析
功耗問(wèn)題是目前 cmos數字集成電路設計中至關(guān)重要的因素。cmos 數字電路的功耗一般可以表示為:
p=pd+psc+pi (1)
pd為動(dòng)態(tài)功耗,它表示當電路中的節點(diǎn)電壓發(fā)生0→1 或者 1→0 跳變時(shí),節點(diǎn)電容進(jìn)行充放電時(shí)所消耗的能量。
動(dòng)態(tài)功耗可以表示為:
其中vdd為電源電壓;ci為節點(diǎn)i的負載電容;ai為節點(diǎn)i 在單個(gè)工作時(shí)鐘周期內發(fā)生翻轉的次數;n為電路中節點(diǎn)的數目。
psc為瞬態(tài)功耗,是節點(diǎn)跳變時(shí),驅動(dòng)管與負載管瞬間同時(shí)導通而產(chǎn)生的功耗。pi為漏電流造成的靜態(tài)功耗。
在cmos 數字電路中,動(dòng)態(tài)功耗是最主要的功耗。典型系統中動(dòng)態(tài)功耗將占到總功耗的 90%~95%。因此在以下的分析中將忽略靜態(tài)功耗和瞬態(tài)功耗。
降低功耗的方法和途徑
由公式 (2) 可以看到,系統功耗主要取決于系統電源電壓、負載電容及節點(diǎn)電平的翻轉概率。因此低功耗設計主要從以上三個(gè)方面著(zhù)手。值得注意的是,低功耗設計是一個(gè)整體,單單考慮一方面是不夠的。
改變電源電壓
功耗與電源電壓的平方成正比,因此降低電源電壓是降低功耗的有力措施。不需要改變電路的結構降低電源電壓就可以取得減少功率的顯著(zhù)效果,而且降低電壓是針對整個(gè)芯片,而不是針對某個(gè)單元,因此降低電源電壓比減少負載電容和降低節點(diǎn)的翻轉概率更易見(jiàn)效,但降低電壓并不是無(wú)限制的,降低電壓必須考慮電路的速度。
電壓降低時(shí),延時(shí)增加,導致電路性能下降,由于cmos器件電流 idd∝(vdd vt )2,可得電路延時(shí):
其中vt為閾值電壓。
當vdd>>vt時(shí)降低電壓導致延時(shí)呈線(xiàn)性增加,此時(shí)可以用改變電路結構等措施來(lái)彌補低電壓帶來(lái)的延時(shí)的增加,但當電壓進(jìn)一步降低到接近閾值電壓時(shí),漏電流急劇增加。為了避免這種情況發(fā)生,電壓最多只能降低到2vt左右。
改變負載電容
動(dòng)態(tài)功耗與負載電容成正比。因此減少負載電容成為降低動(dòng)態(tài)功耗的另一種途徑。在cmos 數字電路中電容主要由兩部分組成,一部分是器件柵極電容和節點(diǎn)電容,它們和器件工藝有關(guān)。另一部分是連線(xiàn)電容。值得注意的是,隨著(zhù)工藝的發(fā)展,布線(xiàn)電容已經(jīng)超過(guò)器件電容。為了減少電容,在工藝方面可以選擇小的器件,物理設計時(shí)減少連線(xiàn)長(cháng)度。
改變節點(diǎn)電平的翻轉概率
基于掃描的可測性技術(shù)原理
所謂基于掃描的可測性技術(shù),其核心是在電路中使用掃描寄存器(sr)來(lái)提高電路的可觀(guān)測性和可控性。掃描寄存器是一種同時(shí)具有移位和并行載入功能的寄存器。寄存器的存儲單元可用作觀(guān)測點(diǎn)或控制點(diǎn)。在控制信號和時(shí)鐘信號的作用下,掃描寄存器可以實(shí)行掃入(scan-in)和掃出(scan-out)操作。測試過(guò)程包括測試矢量的串行掃入、計算、采樣和測試結果的串行掃出。而在一般工作模式下,掃描寄存器的移位功能將被禁止,系統恢復正常的工作方式。
測試功耗分析
對于全掃描結構,在測試模式下,由掃描寄存器組成的移位寄存器鏈需要進(jìn)行串行的掃入和掃出操作。移位所采用的測試矢量可以看作是一組接近隨機數的二進(jìn)制序列。對于一個(gè)存在 n 個(gè)寄存器的系統,其測試功耗可通過(guò)公式 (4)進(jìn)行估算。
pclk為時(shí)鐘樹(shù)的功耗,由時(shí)鐘頻率以及時(shí)鐘樹(shù)的構成決定;psr為掃描鏈的功耗,其中aij為第i 個(gè)掃描寄存器在第 j 個(gè)時(shí)鐘周期的翻轉概率,psri為單個(gè)掃描寄存器單次翻轉的功耗,由時(shí)鐘頻率和庫的參數具體決定,因此可以看出,aij將最終決定掃描寄存器鏈的功耗,進(jìn)而決定掃描鏈的功耗;pc為組合電路功耗,其中pcj為第 j 個(gè)時(shí)鐘周期組合電路的功耗,此部分功耗與組合電路結構、掃描鏈的配置、組合電路輸入端信號、掃描寄存器的翻轉情況以及時(shí)鐘頻率有關(guān)。整個(gè)測試過(guò)程中的第 n 個(gè)時(shí)鐘周期為電路運算周期,由于這部分功耗相對整個(gè)測試功耗所占比重較小,并且僅與實(shí)際電路結構有關(guān),因此沒(méi)有包含在公式 (4)的計算中。
從公式 (4)可以看出,在測試頻率不改變的情況下,掃描寄存器翻轉概率就成為影響測試功率的決定性參數。假設測試矢量單位長(cháng)度內存跳變(0→1或1→0)的概率為cin,計算結果單位長(cháng)度內存跳變的概率為cout。同時(shí)定義掃描寄存器的位通過(guò)率rbp為完成一個(gè)測試矢量的掃入或掃出的操作過(guò)程中,通過(guò)某寄存器的數據位數。則可以得到:
當所有寄存器單次翻轉的功率相同時(shí),由公式(5)可得:
對于測試矢量這種類(lèi)隨機數序列,其中的平均跳變概率接近常數,因此位通過(guò)率將直接反映測試系統的功耗,包括寄存器功耗和組合電路功耗。
低測試功耗的掃描結構
掃描結構的基本原理是通過(guò)最少的輸入端口將所希望的值寫(xiě)入相應的寄存器內,或者通過(guò)最少的輸出端口將所有寄存器內的值讀出。
對于目前通用的掃描結構,掃入一條測試矢量時(shí),測試矢量的每一位都會(huì )通過(guò)掃描鏈的鏈頭(掃描鏈的第一個(gè)寄存器),即鏈頭的位通過(guò)率為n,其后的寄存器的位通過(guò)率依次遞減,總的位通過(guò)率
其結果是寄存器多了很多冗余翻轉,導致測試的功率成倍增加。針對這種情況,在以上分析基礎上,提出一種綜合考慮各種可測性因素的位通過(guò)率優(yōu)化結構——掃描陣列。該結構通過(guò)合理的結構調整,有效地降低了系統總體的位通過(guò)率,并可以降低內部掃描鏈的工作頻率,從而實(shí)現了對測試功耗的全面優(yōu)化。
圖1 掃描陣列結構框架示意圖

掃描陣列結構框架示意圖如圖1所示。圖中矩形方框為掃描寄存器,正方形框為鎖存器。虛線(xiàn)框中是一個(gè)l h的二維掃描寄存器矩陣(本圖為掃描陣列結構的簡(jiǎn)化圖,掃描寄存器的端口未標出)。這個(gè)結構的特點(diǎn)在于把在原始電路中采用一維掃描鏈需要組成長(cháng)度為
n 的掃描鏈改善為采用了 l h 的二維矩陣來(lái)構造掃描陣列的 h 個(gè)分支掃描鏈,其中 l h=n,且 h< 掃描陣列結構在執行掃入操作時(shí),首先在clk控制下將h位測試矢量串行掃入主干掃描鏈。完成后,在clkh控制下將此h位測試矢量并行掃入分支掃描鏈,同時(shí)主干掃描鏈開(kāi)始掃入接下來(lái)的h位測試矢量,直至完成n位測試矢量的掃入。clk與clkh的時(shí)序關(guān)系如圖2所示。 對于掃描陣列結構,通過(guò)分析,我們可得此結構所有的寄存器的位通過(guò)率為:
公式
根據前面的分析可知,在測試矢量確定的情況下,位通過(guò)率將決定系統的測試功耗。對比公式(7)與公式(8),當h<
評論