摘 要:本文將對(duì)反饋節(jié)點(diǎn)反饋方法以及測(cè)試分組方法進(jìn)行改進(jìn),并用實(shí)驗(yàn)論證,證明此法可有效的減少自反饋測(cè)試硬件代價(jià)。
關(guān)鍵詞:自反饋測(cè)試;硬件代價(jià);兩種方法;探析
中圖分類號(hào):TP311.52
內(nèi)建自測(cè)試通過(guò)在被測(cè)電路的內(nèi)部添加測(cè)試電路,并且讓測(cè)試向量產(chǎn)生與測(cè)試響應(yīng)分析工作都在電路內(nèi)部完成。利用這種方法不但可以減少對(duì)外部測(cè)試儀的需要,有時(shí)甚至可以在進(jìn)行測(cè)試時(shí)脫離外部測(cè)試儀進(jìn)行,而且利用這種方法還可以進(jìn)行在線測(cè)試。針對(duì)自反饋測(cè)試,對(duì)分組方法進(jìn)行改進(jìn),并對(duì)反饋節(jié)點(diǎn)選取的方法上也加以改進(jìn),這樣就能提高故障覆蓋率,減少測(cè)試過(guò)程中硬件代價(jià)。
1.自反饋測(cè)試的基本原理
對(duì)于自反饋測(cè)試的基本原理,我們通過(guò)介紹被測(cè)電路C17來(lái)對(duì)其說(shuō)明。C17電路自反饋測(cè)試方法的測(cè)試架構(gòu)以及被測(cè)電路的自反饋測(cè)試的測(cè)試向量與測(cè)試響應(yīng)如圖1所示。在C17電路自反饋測(cè)試架構(gòu)圖中有并列的五個(gè)觸發(fā)器以及五個(gè)多路開(kāi)關(guān),五個(gè)多路開(kāi)關(guān)用來(lái)接收被測(cè)電路內(nèi)部外部的輸入,其中內(nèi)部輸入是通過(guò)觸發(fā)器捕抓電路內(nèi)部的響應(yīng)而得到的;外部輸入是由ρ直接提供的。我們?cè)O(shè)被測(cè)電路C17某一個(gè)測(cè)試集T=(v0,v1,v2,v3,v4,v5,v6,v7)=(00000,11011,11100,01110,10011,11101,01100,11110),這個(gè)測(cè)試集覆蓋率達(dá)到100%。在被測(cè)電路C17輸入端依次施加v0到v7測(cè)試向量時(shí),C17內(nèi)部節(jié)點(diǎn)就會(huì)產(chǎn)生相應(yīng)的響應(yīng)值,R=(r0,r1,r2,r3,r4,r5,r6,r7)=(111100,110011,010111,101100,111001,010011,110111,001110)。圖1.2是對(duì)測(cè)試向量與相應(yīng)的響應(yīng)關(guān)系的有效反應(yīng),圖中箭頭所指就是對(duì)應(yīng)被測(cè)電路內(nèi)部節(jié)點(diǎn)響應(yīng),箭尾指測(cè)試向量。圖2可以看出,按照?qǐng)D1.1的連接方式,施加v0后,觸發(fā)器從節(jié)點(diǎn)處捕抓的響應(yīng)值正好是v1,所以多路開(kāi)關(guān)可以把觸發(fā)器值看作v1,并施加到被測(cè)電路的輸入端。在實(shí)際操作中,v1自動(dòng)施加后,同理可以依次得到其他的測(cè)試向量,所以操作中只需要將v0當(dāng)做種子向量存儲(chǔ),這樣就能減少存儲(chǔ)代價(jià)。
圖1 自反饋測(cè)試方法的測(cè)試架構(gòu)
圖2 測(cè)試響應(yīng)與測(cè)試向量
通過(guò)上面所列舉的假設(shè)得出結(jié)論,在給定C U T以及其測(cè)試集的基礎(chǔ)下,尋找到一種“反饋”連接方式與一個(gè)種子向量,促使加載種子向量后的C UT可以通過(guò)“反饋”自動(dòng)地產(chǎn)生出給定測(cè)試集中其它的全部向量,這就是進(jìn)行自反饋測(cè)試方法的核心思想, 我們稱這種“反饋”方式為完全反饋。
2. 有效減少自反饋測(cè)試硬件代價(jià)的兩種的方法
2.1 改進(jìn)附加信息矩陣的公共路徑搜索方法。建立P×2M的矩陣,要根據(jù)CUT內(nèi)部的P個(gè)原始輸入點(diǎn)以及M個(gè)內(nèi)部節(jié)點(diǎn),再根據(jù)測(cè)試向量和節(jié)點(diǎn)響應(yīng)之間的關(guān)系。由于矩陣中每一個(gè)元素都代表著一個(gè)有N個(gè)節(jié)點(diǎn)的有向圖,所以要從復(fù)雜的組圖中進(jìn)行公共路徑的搜索,就必須借助信息矩陣來(lái)完成。
(1)將組圖進(jìn)行合并。為了方便在矩陣圖中搜索公共路徑,需要將所有的圖進(jìn)行合并,形成一個(gè)圖,這個(gè)合成圖邊的位置信息可以用信息矩陣來(lái)表示。
進(jìn)行圖的合并,第一步就是要把P×2M矩陣中每行每個(gè)圖之間的鄰接矩陣進(jìn)行相并運(yùn)算,然后做相交運(yùn)算,“鄰接”矩陣就是通過(guò)這種相并后再相交的方式得到的。因?yàn)樾畔⒕仃嚳梢詫?duì)圖進(jìn)行合并前的各邊位置進(jìn)行記錄,因此進(jìn)行合并圖的操作過(guò)程不會(huì)對(duì)公共路徑造成影響,也就是說(shuō)利用合成圖搜索公共路徑時(shí),就不需要搜索每一個(gè)圖,進(jìn)行對(duì)比判斷,只需要借助信息矩陣在合成圖中進(jìn)行公共路徑的搜索就可以,這樣使得公共路徑的搜索變得簡(jiǎn)單方便。
舉例說(shuō)明,原來(lái)的2×2矩陣中的元素鄰接矩陣如下圖所示:
合成圖的鄰接矩陣為: 用信息矩陣記錄可以表現(xiàn)為:
(2)附加信息矩陣公共路徑的深度優(yōu)先搜索。在合成圖中搜索進(jìn)行最長(zhǎng)路徑的搜索,要利用深度變形的優(yōu)化搜索方法,我們將這種公共路徑的搜索稱為附加信息矩陣公共路徑的深度優(yōu)先搜索。
變形方法是由于一種圖的深度優(yōu)先搜索與合成圖的深度優(yōu)先搜索有一定的區(qū)別。一種圖的深度優(yōu)先搜索過(guò)程中,當(dāng)當(dāng)前訪問(wèn)的頂點(diǎn)與圖中其他頂點(diǎn)之間有一條邊,那么說(shuō)明這條邊是當(dāng)前路徑中的一條;在利用合成圖進(jìn)行公共路徑的深度優(yōu)先搜索時(shí),要保證這條路徑在每一行中圖形中不能出現(xiàn)沒(méi)有存在的情況,也就是說(shuō)要搜索的路徑其實(shí)就是合成圖中最長(zhǎng)的路徑。因此在進(jìn)行搜索過(guò)程中,只有存在一條邊位置信息和當(dāng)前的路徑位置信息不矛盾,才可以在當(dāng)前路徑中加入這條邊。
如何直觀的判斷某條線能否加入到當(dāng)前路徑中,就需要我們?cè)诋?dāng)前路徑位置信息的記錄中引入棧的概念。通過(guò)棧記錄的信息進(jìn)行判斷某條邊是否可以加入當(dāng)前路徑的方法,就是將棧頂信息矩陣和該邊信息矩陣進(jìn)行交運(yùn)算,如果相交得到的矩陣中有任意一行不全是0,那么就可以將該邊加入到當(dāng)前路徑中,然后要將相交得到的信息矩陣做入棧操作,操作后繼續(xù)搜索;假如把棧頂?shù)男畔⒕仃嚭驮撨呅畔⒕仃囘M(jìn)行交運(yùn)算,得到的相交后矩陣有任意一行都為0,那么就說(shuō)明這條邊沒(méi)有在這一行的任意一矩陣圖中,故這條邊不是要找的路徑,不能加入到當(dāng)前的路徑中。在回溯過(guò)程中,對(duì)于附加信息矩陣深度優(yōu)先路徑搜索算法,就是在原有的算法基礎(chǔ)上,對(duì)當(dāng)前路徑位置信息記錄者棧實(shí)施對(duì)應(yīng)的退棧操作就可以了。
如,對(duì)于上面提到的矩陣G中,如果將v0當(dāng)做初始頂點(diǎn),那么v0以v1之間的邊d的矩陣G01就可直接入棧;但是v1到v2的邊,就需要進(jìn)行相交運(yùn)算后進(jìn)行判斷了,將G12與G01相交,得到: ,由于有一行都是0,所以這條邊不是公共路徑,不能加到當(dāng)前路徑。在進(jìn)行回溯時(shí),需要將信息矩陣中棧頂矩陣G01進(jìn)行退棧操作。
2.2 改進(jìn)反饋節(jié)點(diǎn)的選取方法。通過(guò)反饋,可以得到某一個(gè)分組中反饋節(jié)點(diǎn)的組合形式,這類組合有很多種,也就代表CUT 中的一些輸入端可以連接電路內(nèi)部中這么多的節(jié)點(diǎn)中任何一個(gè),這些被連接的節(jié)點(diǎn)被稱為輸入端可反饋點(diǎn)集,連接夠就能產(chǎn)生相同的測(cè)試子集。對(duì)于完全反饋的兩種方式,采用兩種中的任意一種,都不會(huì)對(duì)故障的覆蓋率有所影響,這是因?yàn)椴还芾猛耆答伝蚍纸M完全反饋中的任意一種,最后得到的向量都一樣。但對(duì)一般反饋來(lái)說(shuō),通過(guò)不同的反饋方式在產(chǎn)生出相同的測(cè)試子集后,繼續(xù)進(jìn)行反饋得到的那些測(cè)試向量一般情況下都是不同的,所以最終達(dá)到的故障覆蓋率也就不一樣。對(duì)于反饋節(jié)點(diǎn)的選取方法,采用合理的方法,能夠提高對(duì)故障的覆蓋率,從而減小硬件代價(jià)。
3 結(jié)束語(yǔ)
我們將被測(cè)電路通過(guò)對(duì)自己施加測(cè)試向量而內(nèi)建自測(cè)試叫做自反饋測(cè)試,在進(jìn)行自反饋測(cè)試過(guò)程中,由于需要對(duì)信息存儲(chǔ),整理以及對(duì)公共路徑進(jìn)行搜索等,所以在此過(guò)程中,會(huì)產(chǎn)生硬件代價(jià)。有效的減少自反饋測(cè)試中硬件代價(jià),提高故障效率,要對(duì)搜索附加信息矩陣公共路徑的方法以及反饋節(jié)點(diǎn)選取的方法進(jìn)行改進(jìn),從而達(dá)到降低硬件代價(jià)的效果。
參考文獻(xiàn):
[1]祁繼順,靳立運(yùn),王偉征,尤志強(qiáng).減少自反饋測(cè)試硬件代價(jià)的兩種方法[J].計(jì)算機(jī)研究與發(fā)展,2012(04):880-886.
[2]王偉征.數(shù)字電路低費(fèi)用低功耗測(cè)試技術(shù)研究[J].湖南大學(xué)博士畢業(yè)論文文庫(kù),2011(05):22-28.
[3]郭苗苗.基于自反饋的測(cè)試向量生成算法研究[J].計(jì)算機(jī)科學(xué)與技術(shù),2011(05):556-560.
作者單位:陜西工業(yè)職業(yè)技術(shù)學(xué)院,陜西咸陽(yáng) 712000