余長庚,賴麗萍
(廣西賀州學院,廣西賀州542800)
數字電路的電阻性開路故障是在電路直接相連的內部節點之間,由于缺陷電阻的存在而引起的故障。電阻性開路故障一般不會立刻引起電路的電壓性故障,但它會造成時滯性故障,并且使用基于電壓測試的方法不能對電阻性開路故障進行有效檢測[1-2];電阻性開路故障含有一些不可靠性因素,在電路工作過程中,有可能會使電路功能失效,從而造成產品的可靠性下降。
Rius[3]研究了電源電壓、測試速度和溫度等測試條件對電阻性開路故障的影響,但國內對這方面的研究并不是很多。本文針對CMOS電路的電阻性開路故障,采用基于瞬態電流IDDT的故障診斷方法,以常用的CMOS組成的倒相器鏈為實例。首先對電源電流的瞬態電流IDDT的波形進行采樣,根據正常電路與故障電路的瞬態電流的變化波形進行比較,從而發現電阻性開路故障;為了提高故障診斷率和診斷速度,利用主成分分析、小波和神經網絡等技術進行故障診斷。
瞬態電流IDDT的測試是從被測電路的電源VCC到地回路之間,通過對電源電流觀察來判別被測電路是否存在故障。測量方法是對故障進行激勵,按照不同的故障類別,輸入不同的測試向量對,然后觀察流過電源VCC到地回路之間的瞬態電流是否發生變化,并與正常瞬態電流比較,其結果能判斷電路是否存在故障。因此,在瞬態電流測試中主要研究的工作是如何選擇高效率的測試向量對故障激活、瞬態電流的采集方法以及測試響應分析方法等。
小波-神經網絡的故障診斷步驟為首先利用小波分析(或小波包分析)技術,將采集的瞬態電流信號在相互獨立的頻帶之內分解,并將各頻帶內的能量值組成一個向量,不同的故障對應不同的向量值;然后作為特征向量輸入到神經網絡輸入單元;再將確定好輸入特征向量的神經網絡,根據經驗法確定神經網絡類型、神經網絡的隱層數和隱層單元數等,利用采集到的訓練樣本對神經網絡進行訓練,通過調整各個神經單元的權值,從而建立起所需的小波神經網絡模型[4]。圖1為小波-神經網絡IDDT故障診斷步驟。

圖1 基于小波-神經網絡IDDT的故障診斷步驟Fig.1 Wavelet-neural network based IDDTfault diagnosis steps
采用IBM公司的0.18 μm工藝設計一個6級倒相器鏈。在倒相器鏈級與級之間插入電阻性開路故障,如圖2所示。
插入電阻性開路故障后,電路的瞬態電流IDDT具有明確的故障位置信息[5],可以作為故障定位信號使用。若在電路輸入端輸入一個脈沖跳變信號,模擬故障后峰值發生的時間與插入的電阻阻值大小有關,其結果是插入的阻值越小,IDDT第二個峰值距第一個峰值越短[5]。
對瞬態電流IDDT測試方法進行仿真分析,結果表明此方法非常適用于對電阻性開路故障進行檢測,而且瞬態電流IDDT也能準確反映故障的位置信息,為故障診斷提供依據。本仿真采用的電路是CMOS電路的倒相器鏈;但是數字電路都是采用逐層設計結構,因此瞬態電流IDDT測試方法在其它門陣電路、組合邏輯中同樣成立。

圖2 插入電阻性開路故障的倒相器鏈Fig.2 Inverter chains of resistive-open defects
對多個變量之間具有一定相關關系的變量,在分析的過程中,希望涉及的變量較少,而得到的信息量較多,主成分分析方法正是適應這一要求的理想工具。它將多個變量通過線性變換導出較少個數的重要變量,從而把高維數據空間降為低維特征空間。
假如有n個數據樣本,如每個樣本共有p個變量,就構成一個n×p階的輸入數據矩陣X,

當p較大時,輸入數據矩陣X維數就大,考察問題比較麻煩。通常采取降維處理,即采用較少的綜合指標代替原來較多的變量指標,并且這些較少的綜合指標,既盡量多地反映原來較多變量指標所反映的信息,這些變量之間又是彼此獨立的。
定義:設 x1,x2,…,xP為原變量指標,z1,z2,…,zm(m ≤ p)為新變量指標

式(2)中系數lij的確定原則:
(1)zi與 zj(i≠ j;i,j=1,2,…,m)之間相互無關;
(2)z1是x1,x2,…,xP的一切線性組合中方差最大者,z2是與z1不相關的x1,x2,…,xP的所有線性組合中方差最大者;…;zm是與 z1,z2,……,zm-1都不相關的 x1,x2,…xP的所有線性組合中方差最大者。
主成分分析的實質就是確定原來變量xj(j=1,2,…,p)在諸主成分zi(i=1,2,…,m)上的荷載lij(i=1,2,…,m;j=1,2 ,…,p)。則新變量指標z1,z2,…,zm分別稱為原變量指標x1,x2,…,xP的第1,2,…,m主成分。
實驗電路采用如圖2所示的倒相器電路,在電路中共設置6個故障模式,分別為正常模式、r1~r5電阻模式仿真,在Pspice仿真平臺上,采集瞬態電源電流,導入到MATLAB軟件中,采用小波包分析,進行三層小波包分解,提取第三層共8個小波系數,組成8維的故障特征矢量。圖3(a)為無故障模式的小波系數重構圖,圖3(b)為r1電阻模式的小波系數重構圖。

圖3 小波系數重構圖Fig.3 Reconstruction diagram of wavelet coefficients
輸入兩種不同類型的數據:一種是PCA之前的數據,另一種是PCA之后的數據。首先我們將PCA之前的數據輸入BP神經網絡。此時,BP神經網絡的輸入層神經元個數為6,對應6種故障模式;采用啟發式改進BP算法的方法,也就是加動量修正法,可以提高訓練速度。設學習速度為0.01,動量值為0.9,目標誤差0.01,BP神經網絡的訓練曲線如圖4(a)所示。從圖中可以看出,BP神經網絡經過6 575步訓練達到了訓練目標。之后利用主成分分析等數據預處理技術對電阻性開路故障特征進行壓縮處理,可用找到每個故障樣本的3維故障特征矢量,輸入到BP神經網絡,重復上述程序,結果如圖4(b)所示。從圖中可以看出,經過PCA之后的數據,BP神經網絡只需要1 247步訓練即達到了訓練目標,收斂步驟及所用時間大幅減少。

圖4 均方誤差和訓練次數關系曲線Fig.4 Relation curve of mean square error and training frequency
二者的具體數據對比結果如表1所示。
由神經網絡仿真過程和表1可知,采用主成分分析方法后,神經網絡的輸入向量維數減少,神經網絡的結構得到簡化,其結果是神經網絡訓練的迭代次數減少,這樣改善了神經網絡訓練周期,收斂時間減少,提高了故障診斷的速度。

表1 主成分分析前后數據對BP神經網絡的影響Table 1 Impact of before and after principal component analysis data on BP neural network
[1]ARUMI D,RODRIGUEZ-MONTANWS R,FIGUERAS J,et al.Gate Leakage Impact on Full Open Defects in Interconnect Lines[J].IEEE Transaction on Very Large Scale Integration(VLSI)Systems,2011,19(12):2209 -2220.
[2]RIUS J.A method fordetecting resistive opens in buses[C]//IEEE 16th International On-Line Testing Symposium(IOLTS),Corfu,Greece:IEEE Computer Society,2010:187 -189.
[3]BHOJ A N,SIMSIR M O,JHA N K.Fault Models for Logic Circuits in the Multigate Era[J].IEEE Transactions on nanotechnology,2012,11(1):182 -193.
[4]余長庚,雷加.基于小波-神經網絡的數字電路IDDT故障診斷[J].計算機工程與應用,2010,46(1):211-214.
[5]余長庚,賴麗萍.基于IDDT的數字電路故障診斷研究[J].現代電子技術,2011,34(13):179-182.
[6]焦李成.神經網絡的應用與實現[M].西安:西安電子科技大學出版社,1995:38-39.