亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

具有非掃描設(shè)計測試代價的掃描設(shè)計及測試向量置入方法

文檔序號:7195705閱讀:263來源:國知局
專利名稱:具有非掃描設(shè)計測試代價的掃描設(shè)計及測試向量置入方法
技術(shù)領(lǐng)域
具有非掃描設(shè)計測試代價的掃描設(shè)計及測試向量置入方法屬于集成電路可測試性設(shè)計技術(shù)領(lǐng)域。
背景技術(shù)
掃描設(shè)計是一種針對時序電路的結(jié)構(gòu)化可測試性設(shè)計。它將電路中的時序單元轉(zhuǎn)化成為可控制和可觀測的單元,并將這些時序單元連接成一個或多個移位寄存器,構(gòu)造成一條或多條掃描鏈。在采用完全掃描方法后,時序電路的測試碼生成就轉(zhuǎn)化為組合電路的測試生成問題,因此可以大大降低測試碼生成代價,同時獲得很高的故障覆蓋率。因此,掃描設(shè)計是工業(yè)界中最為普遍采用的可測試性設(shè)計方法。但是,在采用掃描設(shè)計后,測試序列的長度大大變長,從而使得測試碼置入代價增加很大,測試時間,測試功耗等方面的代價也變得非常高。以往有一些方法用來改進(jìn)掃描設(shè)計,以降低測試代價,但這些策略均難以達(dá)到令人滿意的效果。這些方法有(1)將測試向量進(jìn)行排序或?qū)呙栌|發(fā)器進(jìn)行排序,如Fujiwara提出的奇偶掃描測試,利用動態(tài)規(guī)劃的最優(yōu)設(shè)計方法來構(gòu)造多掃描鏈等等。這些方法在一定程度上降低了測試碼置入代價,但其減少的代價最多不超過50%,而且隨著集成電路的規(guī)模不斷增大,測試時間變得非常長時,這些方法并不能從根本上解決問題。(2)并行掃描該方法降低了測試碼置入的時間,但同時帶來了管腳開銷的問題。例如,當(dāng)將掃描觸發(fā)器劃分為k個掃描鏈時,需要在電路中增加2k+1個額外管腳來置入掃描向量。這對于現(xiàn)今超大規(guī)模集成電路的設(shè)計來說,所帶來的硬件開銷是無法容忍的。(3)采用同一掃描輸入信號控制多個掃描鏈可較大程度地降低片上系統(tǒng)(SOC)掃描測試的測試時間,但是該方法對測試時間及測試功耗的降低仍然大大高于非掃描測試。(4)采用同一掃描輸入來驅(qū)動多個掃描鏈中的掃描段,可大大降低測試時間,但同時也帶來了較為明顯的故障覆蓋率降低。(5)通過有效地利用測試碼產(chǎn)生算法來產(chǎn)生電路在不同狀態(tài)下的測試集。實(shí)驗(yàn)表明,上述方法對測試時間的降低是非常有限的。因此,大幅度降低掃描設(shè)計的測試代價,同時保證其較好的測試生成結(jié)果,已成為一個必須而且亟待解決的問題。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種既可大幅度降低掃描設(shè)計的測試代價又有較好測試生成結(jié)果的具有非掃描設(shè)計測試代價的掃描設(shè)計及測試向量置入方法。
本發(fā)明針對已有方法所存在的缺陷,在并行掃描概念的基礎(chǔ)上,提出了“掃描森林”的掃描設(shè)計結(jié)構(gòu)。如圖1所示,其中F1,1,F(xiàn)1,2,……,F(xiàn)k,c為觸發(fā)器,SI1,……,SIk為電路的原始輸入信號,同時作為掃描森林中各個掃描樹的根結(jié)點(diǎn),其作用為當(dāng)電路處在測試狀態(tài)時作為掃描輸入scan-in,用來置入掃描向量。每個原始輸入的后繼連接了一組符合某一特征的掃描觸發(fā)器,例如,原始輸入SI1連接了一組觸發(fā)器F1,1,F(xiàn)1,2,……,F(xiàn)1,a。從這一組中任選出的一個掃描觸發(fā)器(如F1,2)將作為下一層的根結(jié)點(diǎn),用來連接下一組符合某一特征的掃描觸發(fā)器組,在圖中即為F2,1,F(xiàn)2,2,……,F(xiàn)2,b。依此類推將所有觸發(fā)器分組并連接到“森林”中的某個結(jié)點(diǎn)上,以構(gòu)造成“掃描森林”。所有的葉結(jié)點(diǎn)(即沒有后繼的掃描觸發(fā)器)將被兩兩異或,構(gòu)成一個或多個異或樹,最后連到MISR(多輸入特征分析器)上作為掃描輸出。相應(yīng)的電路結(jié)構(gòu)圖如圖2所示。在圖2中,每個觸發(fā)器的輸入均連接了一個二選一多路選擇器,這樣將電路中原來的觸發(fā)器構(gòu)造成為掃描觸發(fā)器。多路選擇器的輸出端連接觸發(fā)器的輸入端,多路選擇器的0輸入信號連接原始電路,即原始電路中觸發(fā)器的輸入端所連接的電路部分;多路選擇器的1輸入信號連接至構(gòu)造好的掃描森林結(jié)構(gòu)中對應(yīng)的位置。以掃描觸發(fā)器F1,1為例,F(xiàn)1,1的1選通信號應(yīng)與PI1相連接。所有多路選擇器的選通信號都連接至一個額外的輸入信號test,作為轉(zhuǎn)換電路正常工作與測試狀態(tài)的開關(guān)。當(dāng)test=0時,所有的多路選擇器選通0信號,電路結(jié)構(gòu)為原來的初始結(jié)構(gòu),電路處于正常工作狀態(tài);當(dāng)test=1時,所有的多路選擇器選通1信號,電路中的所有掃描觸發(fā)器構(gòu)造成為掃描森林的結(jié)構(gòu),電路進(jìn)入測試狀態(tài)。
本發(fā)明所提出的具有非掃描設(shè)計的測試代價的掃描設(shè)計,其特征在于它是基于“掃描森林”式掃描設(shè)計結(jié)構(gòu)的一種具有非掃描設(shè)計測試代碼的掃描設(shè)計方法,對于掃描觸發(fā)器群F1,1,F(xiàn)1,2,……,F(xiàn)k,c構(gòu)成的時序單元而言,它把電路的原始輸入端SI1,……,SIk同時作為“掃描森林”中各個掃描樹的根結(jié)點(diǎn),以便當(dāng)電路處在測試狀態(tài)時作為掃描輸入Scan-in,用來置入掃描測試向量,它按照兩個掃描觸發(fā)器是否在電路結(jié)構(gòu)上發(fā)生匯聚的原則,在每個原始輸入端SIi的后繼連接了一組不會在電路結(jié)構(gòu)上匯聚的,即沒有任何一個相同的后繼單元的掃描觸發(fā)器,接著在這一組掃描觸發(fā)器F1,1,F(xiàn)1,2……,F(xiàn)k,c中任選一個掃描觸發(fā)器作為下一層的根結(jié)點(diǎn),用于連接下一組符合上述特征的觸發(fā)器組F1,1,F(xiàn)1,2,……,F(xiàn)k,c,依此類推,把所有掃描觸發(fā)器分組并連接到“掃描森林”中的某個結(jié)點(diǎn)上,以構(gòu)造成“掃描森林”;具體而言,上述具有非掃描設(shè)計測試代價的掃描設(shè)計方法依次含有如下步驟(1)初始化設(shè)初始狀態(tài)為電路中所有的掃描觸發(fā)器均未被分組,它們構(gòu)成一個集合F(F={f1,f2,……fn});(2)首先建立一個空的新組Gi,任取F中一個掃描觸發(fā)器fi加入Gi,作為Gi的第一個成員,即Gi={fi}。并將fi從F中去除掉;(3)根據(jù)現(xiàn)有的判斷是否會發(fā)生上述匯聚現(xiàn)象的技術(shù)判斷F中所有的掃描觸發(fā)器,逐個地選擇出全部滿足不會和Gi里的所有觸發(fā)器在電路結(jié)構(gòu)上匯聚的掃描觸發(fā)器加入Gi,再把這些觸發(fā)器從觸發(fā)器群F中去除掉,以構(gòu)成一個完整的組Gi;(4)再建立一個新組Gi+1,任取觸發(fā)器群F中一個掃描觸發(fā)器作為新組Gi+1的第一個成員,再按照步驟(3)中的判斷方法構(gòu)造出Gi+1;(5)依此類推,把所有掃描觸發(fā)器歸入各自的組,把觸發(fā)器群即集合構(gòu)造為組的集合;(6)按照寬度優(yōu)先的方法構(gòu)造“掃描森林”,即把上述構(gòu)造的各組依次連接到原始輸入即掃描輸入上,從而構(gòu)造出“掃描森林”結(jié)構(gòu),其步驟如下當(dāng)電路原始輸入端的數(shù)目k大于或等于掃描觸發(fā)器組的組數(shù)g時,則從k個原始輸入中任選g個,使每一個原始輸入端連接一個掃描觸發(fā)器組即可;當(dāng)g>k時,從掃描觸發(fā)器組g中任選k個組分別連接到每一個原始輸入上,但每個原始輸入只能連一個掃描觸發(fā)器組,構(gòu)成掃描森林的第一層;再從剩下的(g-k)個組中選出k個,再從第一層的每一個掃描觸發(fā)器組中任選一個掃描觸發(fā)器作為根結(jié)點(diǎn),連接這k個組中的任意一個掃描觸發(fā)器組,構(gòu)造出掃描森林第二層;依次連接剩下所有的組。
(7)所有葉結(jié)點(diǎn)將被兩兩異或,構(gòu)成一個或多個異或樹,最后連接到MISR(多輸入特征分析器)上作為掃描輸出。
本發(fā)明所提出的具有非掃描設(shè)計測試代價的掃描設(shè)計,其特征還在于在構(gòu)造“掃描森林”時只把電路中部分觸發(fā)器轉(zhuǎn)化為“掃描森林”內(nèi)的掃描觸發(fā)器結(jié)構(gòu)以獲得接近于完全掃描設(shè)計的故障覆蓋率和測試效率,它依次含有以下步驟(1)先把任一掃描觸發(fā)器恢復(fù)成非掃描狀態(tài),再遍歷其直接后繼單元,若其可測度(包括可控度和可觀測度)發(fā)生了變化,則記錄變化的值,同時記錄這個單元的后繼單元,一直搜索到不再有可測度變化的單元為止,把所有的值累加作為這個掃描觸發(fā)器所影響的范圍;(2)對于每一個掃描觸發(fā)器都進(jìn)行上述步驟(1),從中選擇影響值最小的觸發(fā)器作為非掃描時序單元,在電路中將其恢復(fù)為非掃描狀態(tài);(3)按步驟(1)、(2)選擇出所需數(shù)目的非掃描時序單元,同時在每選出一個非掃描時序單元后更新電路的可測度;(4)把按上述步驟選出的非掃描時序單元恢復(fù)成非掃描狀態(tài),并從掃描觸發(fā)器集合中去除,把余下的掃描觸發(fā)器構(gòu)造“掃描森林”;在構(gòu)造“掃描森林”時當(dāng)兩個掃描觸發(fā)器發(fā)生匯聚時,若經(jīng)過的非掃描時序單元的數(shù)目有異時,它們在結(jié)構(gòu)上是不匯聚的。
根據(jù)本發(fā)明所提出的具有非掃描設(shè)計的測試代價的掃描設(shè)計而提出的測試向量置入方法其特征在于它依次含有如下步驟(1)把原始時序電路中的觸發(fā)器構(gòu)造成“掃描森林”;(2)根據(jù)上述“掃描森林”修改原電路的結(jié)構(gòu),產(chǎn)生掃描設(shè)計電路的結(jié)構(gòu);(3)將產(chǎn)生的新電路用已知的測試生成工具進(jìn)行測試生成,在算出電路必要參數(shù)的同時得到一組由原始輸入端輸入的掃描測試向量,每一個測試向量的長度為組的數(shù)目+原始輸入的數(shù)目,對于“掃描森林”中的每一個組,在測試向量中有一個確定的值(0或1)與之對應(yīng),即該組中所有的掃描觸發(fā)器都將被置為這個值;(4)把電路置為測試狀態(tài),對于每一個掃描測試向量按以下步驟置入電路(4.1)在第一個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中最后一層內(nèi)各個組的值;(4.2)在第二個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中倒數(shù)第二層內(nèi)各個組的值,同時正數(shù)第一層中所有內(nèi)部觸發(fā)器結(jié)點(diǎn)的值將送入與之連接的第二層中各個掃描觸發(fā)器中;(4.3)依次類推,在最后一個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中正數(shù)第一層內(nèi)各個組的值,使得“掃描森林”中所有的掃描觸發(fā)器已經(jīng)按組被置為掃描測試向量中所提供的值。
測試證明它達(dá)到了預(yù)期效果。


圖1、“掃描森林”的結(jié)構(gòu)示意圖,其中“●”代表葉結(jié)點(diǎn)掃描觸發(fā)器,“○”代表內(nèi)部結(jié)點(diǎn)掃描觸發(fā)器。
圖2、采用“掃描森林”結(jié)構(gòu)的掃描設(shè)計電路。
圖3、構(gòu)造“掃描森林”的程序流程框圖。
圖4、計算電路可觀測度時的沖突情況。
圖5、“掃描森林”策略在具體電路上的應(yīng)用(原始電路s27)。
圖6、在圖5所示電路上加入“完全掃描森林”結(jié)構(gòu)后的電路。
圖7、s38417的“完全掃描森林”結(jié)構(gòu)示意圖“●”代表葉結(jié)點(diǎn)掃描觸發(fā)器,“○”代表內(nèi)部結(jié)點(diǎn)掃描觸發(fā)器。
圖8、在圖5所示電路上加入“部分掃描森林”結(jié)構(gòu)后的電路。
具體實(shí)施例方式構(gòu)造掃描森林的過程就是以所有的原始輸入端為根結(jié)點(diǎn),構(gòu)造掃描樹的過程。首先將所有的掃描觸發(fā)器按照一定的規(guī)則進(jìn)行分組。分組的原則是按照兩個掃描觸發(fā)器是否在電路結(jié)構(gòu)上發(fā)生匯聚。結(jié)構(gòu)上的匯聚是指,分別遍歷兩個觸發(fā)器的所有后繼單元(包括直接后繼和所有后繼的后繼,直到原始輸出為止),當(dāng)發(fā)現(xiàn)這兩個觸發(fā)器有至少一個相同的后繼單元時,則稱這兩個觸發(fā)器在結(jié)構(gòu)上發(fā)生匯聚;當(dāng)兩個觸發(fā)器沒有任何一個相同的后繼單元時,則這兩個觸發(fā)器在結(jié)構(gòu)上不匯聚。
設(shè)初始狀態(tài)為電路中所有的掃描觸發(fā)器均未被分組,這些未分組的掃描觸發(fā)器構(gòu)成一個集合F(F={f1,f2,……fn})。分組的方法如下(1)首先建立一個空的新組Gi,任取F中一個掃描觸發(fā)器fi加入Gi,作為Gi的第一個成員,即Gi={fi}。并將fi從F中去除掉。
(2)判斷F中所有的掃描觸發(fā)器,如果存在這樣一個掃描觸發(fā)器fj,fj滿足和Gi里現(xiàn)有的所有掃描觸發(fā)器(當(dāng)Gi為一個新建組時,Gi中只有一個成員)都不發(fā)生在電路結(jié)構(gòu)上的匯聚時,則將觸發(fā)器fj并入Gi中,作為Gi的又一個成員,同時將fj從F中去除掉;若F中的一個掃描觸發(fā)器fj只要與Gi中任意一個掃描觸發(fā)器在電路結(jié)構(gòu)上發(fā)生匯聚,則觸發(fā)器fj將不能加入Gi。按上述條件判斷F中所有的觸發(fā)器,選擇出全部滿足條件的觸發(fā)器加入Gi,再將這些觸發(fā)器從F中去除掉。這樣就構(gòu)成了一個完整的組Gi。
(3)再建立一個新組Gi+1,任取F中一個掃描觸發(fā)器作為Gi+1中的第一個成員,按照2)中的判斷方法構(gòu)造出Gi+1。
依此類推,將所有掃描觸發(fā)器歸入各自的組。這樣就將掃描觸發(fā)器的集合構(gòu)造為組的集合。相關(guān)的程序流程框圖如圖3所示。
接下來按照寬度優(yōu)先的方法構(gòu)造掃描森林。構(gòu)造掃描森林的過程即是將上文中構(gòu)造出的組依次連接至原始輸入(即掃描輸入)上,從而構(gòu)造出掃描森林結(jié)構(gòu)。
設(shè)電路有k個原始輸入端,構(gòu)造出的掃描觸發(fā)器組有g(shù)個。若g≤k,則從k個原始輸入中任選出g個,每一個原始輸入連接一個組,掃描森林的構(gòu)造即完成。當(dāng)g>k時,任選k個組分別連接到每一個原始輸入上,每個輸入只連接一個組。這樣構(gòu)造出掃描森林的第一層。再從剩下的組中選擇出k個,在第一層的每個組中任選一個掃描觸發(fā)器作為根結(jié)點(diǎn),連接這k個組中的任意一個組,從而構(gòu)造出掃描森林的第二層。依次連接剩下所有的組。例如,當(dāng)電路的原始輸入數(shù)目為m個,電路中的掃描觸發(fā)器個數(shù)為n個,掃描觸發(fā)器分組后,組的數(shù)目為k個(k<=n),則構(gòu)造出的掃描森林中,每一層有m個組,森林的層數(shù)為level=[k/m](向上取整),內(nèi)部結(jié)點(diǎn)(即連接了下一個組的掃描觸發(fā)器)的個數(shù)為nInt=(level-2)×m+[k-(level-1)×m]。該式中第一項(xiàng)(level-2)為森林結(jié)構(gòu)中第一層到第level-1層中所有的內(nèi)部結(jié)點(diǎn)數(shù)目,第二項(xiàng)[k-(level-1)×m]為森林結(jié)構(gòu)中第level層的內(nèi)部結(jié)點(diǎn)數(shù)目。葉結(jié)點(diǎn)(即沒有后繼的掃描觸發(fā)器)的個數(shù)為nleave=n-nInt。
將原始的時序電路中的觸發(fā)器按照上述算法構(gòu)造成掃描森林,同時修改原電路的結(jié)構(gòu),產(chǎn)生如圖2中所示的掃描設(shè)計電路的結(jié)構(gòu)。將產(chǎn)生的新電路用測試生成工具進(jìn)行測試生成。測試生成是對電路進(jìn)行故障測試的模擬,其過程是按照一定的算法計算電路的故障覆蓋率、測試效率等參數(shù),同時得到一組由原始輸入端輸入的測試向量。當(dāng)實(shí)際的電路在測試儀上進(jìn)行測試時,輸入這些測試向量,同時在輸出端得到響應(yīng)信號,將這些響應(yīng)信號與模擬出來的正確信號進(jìn)行比較,從而測試出實(shí)際電路的真實(shí)故障情況。每一個測試向量的長度為組的數(shù)目+原始輸入的數(shù)目。對于掃描森林中的每一個組,在測試向量中有一個確定的值(0或1)與之對應(yīng),即該組中所有的掃描觸發(fā)器都將被置為這個值。在測試過程中,對于每一個測試向量,按照如下方式置入電路將電路置為測試狀態(tài),即圖2中的test信號為1。在第一個時鐘節(jié)拍,需要從原始輸入端置入掃描森林中最后一層中各個組的值。從測試向量中分離出這些值,按照最后一層中每一個組所對應(yīng)的原始輸入線號,分別將這些值賦給這些原始輸入。當(dāng)置入本次向量的時鐘的第一拍到來時,這些值由原始輸入端被送進(jìn)與之相連的第一層的各個掃描觸發(fā)器中。如果最后一層中組的個數(shù)小于原始輸入的個數(shù),則剩下的不需要賦值的原始輸入端為任意取值,即保留原來的賦值不變。
在第二個時鐘節(jié)拍,需要從原始輸入端置入掃描森林中倒數(shù)第二層中各個組的值。從測試向量中分離出這些值,按照倒數(shù)第二層中每一個組所對應(yīng)的原始輸入線號,分別將這些值賦給這些原始輸入。當(dāng)置入本次向量的時鐘的第二拍到來時,這些值由原始輸入端被送進(jìn)與之相連的第一層的各個掃描觸發(fā)器中。同時,第一層中所有內(nèi)部觸發(fā)器結(jié)點(diǎn)的值將送入與之連接的第二層中各個掃描觸發(fā)器中。
依次類推,在第level(level為掃描森林的層數(shù))個時鐘節(jié)拍,從原始輸入端置入掃描森林中第一層(即與原始輸入直接連接的一層)中各個組所需的值。從測試向量中分離出這些值,按照第一層中每一個組對應(yīng)的原始輸入線號,分別將這些值賦給這些原始輸入。當(dāng)置入本次向量的時鐘的第level拍到來時,這些值由原始輸入端被送進(jìn)與之相連的第一層的各個掃描觸發(fā)器中。同時,第二至level-1層中所有內(nèi)部觸發(fā)器結(jié)點(diǎn)的值將送入與之連接的下一層中各個掃描觸發(fā)器中。
此時,掃描森林中所有的掃描觸發(fā)器已經(jīng)被置為測試向量中所提供的值。這一個過程需要level個時鐘節(jié)拍。然后將電路轉(zhuǎn)為正常工作狀態(tài),即圖2中的test信號置為0,所有的掃描觸發(fā)器都被賦為某個確定的值,同時將原始輸入對應(yīng)于該測試碼的值置入到原始輸入。這一過程主要為組合電路的工作,因此會在一個時鐘節(jié)拍內(nèi)完成。該測試碼的測試響應(yīng)在該測試周期結(jié)束時存于所有的掃描觸發(fā)器內(nèi)。此時掃描森林中各個掃描觸發(fā)器均被置為組合電路工作后產(chǎn)生的新響應(yīng)值。這時就完成了一個測試向量置入的過程,總共需要level+1個時鐘節(jié)拍,其中l(wèi)evel個時鐘節(jié)拍為置入向量,一個時鐘節(jié)拍為接收響應(yīng)。再將電路置為測試狀態(tài),重復(fù)上述過程。在置入測試向量的同時,掃描觸發(fā)器的測試響應(yīng)被移出到異或樹和對應(yīng)掃描觸發(fā)器的后繼。對于下一個要置入的測試向量,每一個時鐘節(jié)拍到來時,在移入新的測試向量的同時,將上一個測試向量所產(chǎn)生的響應(yīng)逐次移出掃描森林,在掃描輸出端接收這些響應(yīng)。
完全掃描的設(shè)計方法是將電路中所有的觸發(fā)器都轉(zhuǎn)化為圖2中所示的掃描觸發(fā)器結(jié)構(gòu),這樣電路中所有的時序單元都變成完全可控且可觀測。原本的時序電路測試問題就轉(zhuǎn)化為簡單的組合電路的測試問題。但是,盡管完全掃描設(shè)計可以達(dá)到很高的故障覆蓋率,它所帶來的高額的面積開銷、測試時間等問題往往也是無法忍受的。我們可以通過部分掃描設(shè)計的方法來解決這一問題。部分掃描設(shè)計只掃描所有觸發(fā)器集合中的一部分,即將一部分觸發(fā)器轉(zhuǎn)化為掃描觸發(fā)器。將掃描森林的結(jié)構(gòu)應(yīng)用于部分掃描設(shè)計上,可以獲得接近于掃描設(shè)計的故障覆蓋率和測試效率,同時又能降低測試時間、面積開銷以及功耗,甚至可以將部分掃描設(shè)計的測試代價(測試時間、面積開銷等)降至非掃描設(shè)計的水平。
部分掃描設(shè)計的過程分為以下幾個步驟(1)計算電路在完全掃描設(shè)計下的可測度。
電路的可測度分為可控度和可觀測度。我們所研究的電路均為邏輯級同步時序電路,電路中所有的信號線都有三種取值0、1和×(don’t care)。電路中的基本單元為非門,與非門,或非門,與門,或門和觸發(fā)器。電路中的一個信號線賦值為(A,v),即節(jié)點(diǎn)A被賦值為v,這里v∈{1,0,×}。一個輸出為y的門,其非控制值v定義為y的值只能當(dāng)所有輸入全部置為v時才能決定;而只要任意一個輸入信號的值被置為控制值時,輸出信號y的值就可以被確定。例如,與門的控制值和非控制值分別為0和1。
我們在計算電路的可測度時,考慮了電路中的信號線在滿足賦值要求時可能產(chǎn)生的沖突情況。首先給出幾個定義定義1信號線賦值時產(chǎn)生的沖突定義如下信號線l被置為值v,它還需要在同一時鐘周期內(nèi)置為另一值v’。如果v和v’的交集產(chǎn)生一個新的可取賦值,則l置為v∩v’;否則l處產(chǎn)生沖突。
通常,沖突發(fā)生在電路中的扇出源處。當(dāng)所有的賦值都是必要時,沖突的發(fā)生表示該故障不可檢測;否則,該故障可以通過回溯檢測到。
定義2電路中一條路徑的反向奇偶性定義為路徑反向次數(shù)模2。兩個節(jié)點(diǎn)之間的反向奇偶性invv(A,B)(v∈{0,1})定義為從A到B上最易滿足信號要求(即測度值最小)的路徑上的反向奇偶性信息。
從節(jié)點(diǎn)A到B的反向奇偶性invv(B,A)由一個兩位二進(jìn)制數(shù)來表示(1)00,(2)01,(3)10,(4)11,其含義分別為(1)從A到B不存在路徑,或是為了滿足信號賦值要求(B,v),不需要在節(jié)點(diǎn)A處有信號要求。(2)從A到B上最易實(shí)現(xiàn)賦值要求(B,v)只經(jīng)過反向奇偶性為奇的路徑。(3)從A到B上最易實(shí)現(xiàn)賦值要求(B,v)只經(jīng)過反向奇偶性為偶的路徑。(4)從A到B上最易實(shí)現(xiàn)賦值要求(B,v)至少分別經(jīng)過反向奇偶性為奇和反向奇偶性為偶的路徑。
定義3從扇出源s到信號線l的可測性時序深度seqv(l,s)(v∈{0,1})定義為為了滿足從l到扇出源s的信號要求(l,v)所需最少的時鐘周期數(shù)。
信號線l的i-可控性Cl(i)應(yīng)當(dāng)反映潛在沖突數(shù)目(或是引起沖突的可能性),或滿足賦值要求(l,i)所需的時鐘周期數(shù),這里i∈{0,1}。一個故障的最易故障效果傳播路徑(EFEP)定義為將這個節(jié)點(diǎn)上的故障效應(yīng)傳播至原始輸出最容易的路徑。這里,最容易的路徑指的是可觀測度最小的路徑。我們針對不同的故障效應(yīng)D或D定義了不同的可觀測度。其中信號線的賦值為D表示電路在無故障時信號線取值為1,有故障時取值為0;信號線的賦值為D表示電路在無故障時信號線取值為0,有故障時取值為1。信號線的EFEP路徑可以按如下方法獲得如果該節(jié)點(diǎn)只有一個后繼,則將該后繼加入EFEP路徑;否則,將可觀測度最小的扇出分支加入到EFEP路徑上。上述過程一直持續(xù)到到達(dá)原始輸入為止,這就構(gòu)造出了該故障的EFEP路徑。V-可觀測度OA(v)(v∈{D,D})反映了沿著EFEP路徑傳播一個故障效應(yīng)v所產(chǎn)生的沖突數(shù)目(或引起沖突的可能性),或是所需的時鐘周期數(shù)。
在計算一個電路的可測度的同時,也要計算電路中信號線和路徑的反向奇偶性和可測性時序深度。
算法(反向奇偶性和時序深度的計算)1)如果信號線l為扇出源s(或s’)的一個扇出分支,這里s’是s后繼的一個扇出源。
2)如果信號線l為一個非門的輸出,非門的輸入信號是i,這里v∈{0,1}, seqv(l,s)=seqv‾(i,s)]]>3)如果信號線l為一觸發(fā)器的輸出,觸發(fā)器的輸入信號為i,這里v∈ {0,1}invv(l,s)=invv(i,s)seqv(l,s)=seqv(i,s)+14)如果信號線l為一個與門或者或門的輸出,輸入信號為i1,i2,...in,這里v1為所有的輸入信號均置為非控制值時門的輸出值,v2為其中一個輸入信號置為控制值時的輸出值。
invv1(l,s)=invv1(i1,s)∨...∨invv1(in,s)這里“∨”為按位或操作。
invv2(l,s)=invv2(i,s)seqv1(l,s)=max(seqv3(i1.s)...,seqv3(in,s))seqv2(l,s)=seqv4(i,s)這里i為最容易將門的輸出l控制為v2的輸入信號。
5)如果信號線l為與非門或是或非門的輸出,其輸入信號為i1,i2...in,v1,v2∈{0,1}定義同上,我們有
invv2(l,s)=invv2‾(i,s)]]>這里i為門l的輸入中最容易控制為控制值的輸入信號。seqv(l,s)的計算同4)。
我們按照如下方法計算電路的測度。首先計算電路的可控度。電路中信號線y的可控度分為0可控度Cy(0)和1可控度Cy(1)??紤]一個兩輸入的與門,輸入信號為A,B,輸出為y,Cy(0)=min(CA(0),CB(0))Cy(1)=CA(1)+CB(1)+p這里p=10*n,n為扇出源s滿足inv1(A,s)!=inv1(B,s)且任一值均不為00,并有seq1(A,s)=seq1(B,s)的個數(shù)。當(dāng)y為一個或門的輸出,輸入信號為A和B時,我們有,Cy(0)=CA(0)+CB(0)+pCy(1)=min(CA(1),CB(1)p的定義同上。當(dāng)y為反相器的輸出,輸入信號為i時,我們有Cy(v)=Ci(v)‾]]>這里1=0,0=1,v∈{0,1}??紤]一個觸發(fā)器,輸入為i,輸出為y,我們有Cy(v)=Ci(v)+10 (v∈{0,1})當(dāng)觸發(fā)器為掃描觸發(fā)器時,觸發(fā)器的輸出端完全可控制,相當(dāng)于一個原始輸入端,則Cy(v)=0 (v∈{0,1})其他類型的門計算方法類似。
接下來計算電路的可觀測度??捎^測度的計算是假設(shè)故障效應(yīng)沿著最易故障效應(yīng)傳播路徑來傳播的。我們?nèi)匀谎赜梅聪蚱媾夹缘母拍顏碛嬎憧捎^測度。我們考慮EFEP路徑上兩個扇出源之間敏化線的信號賦值依賴關(guān)系,反向奇偶性和時序深度是分析潛在沖突的兩個重要因素。
可觀測度的計算方法如下。l為電路的原始輸出,則Ol(v)=0,v∈{D,D}。考慮沿著EFEP路徑傳播的故障效應(yīng)。潛在的沖突發(fā)生在EFEP路徑上兩個相鄰扇出源之間。注意由于可觀測度是從輸出到輸入一步一步計算的,因此考慮了沖突的測度在計算中是可以得到的。如圖4所示,考慮沿著路徑c-e-g-i傳播的信號線c處的固定0故障s-a-0,信號賦值要求(a,1),(d,1),(f,0)和(h,1)可能會在扇出源s處產(chǎn)生沖突。我們可以按如下的方法得到故障傳播中產(chǎn)生的沖突數(shù)目。首先,我們來檢驗(yàn)敏化路徑的反向奇偶性,信號要求(a,1)是否會與任一賦值要求(d,1),(f,0)和(h,1)產(chǎn)生沖突。這一比較并不復(fù)雜,只需要利用曾經(jīng)在計算可控度中計算過的反向奇偶性和時序深度的值即可。因此我們可以得到信號線c的可觀測度,如下Oc(v)=Oi(v)+Cd(1)+Cf(0)+Ch(1)+p這里p=n*10,n為從c到i傳播故障效應(yīng)時所產(chǎn)生潛在沖突的數(shù)目。令l為觸發(fā)器的輸出端,輸入為i,則Oi(v)=Ol(v)+10v∈{D,D}當(dāng)觸發(fā)器為掃描觸發(fā)器時,觸發(fā)器的輸入端完全可觀測,相當(dāng)于一個原始輸出端,則Oi(v)=0v∈{D,D}(2)部分掃描觸發(fā)器的選擇根據(jù)(1)中所計算的完全掃描設(shè)計電路的可控度和可觀測來選擇非掃描的觸發(fā)器。對于任一掃描觸發(fā)器,若將其恢復(fù)成非掃描狀態(tài),由于失去了原有的完全可控性和可觀測性,會影響其后繼單元的可控性和可觀測性。若其影響的范圍和程度很小,則可以作為非掃描的時序單元。選擇的過程如下a)任取一個掃描觸發(fā)器,其原本輸出信號的0可控度和1可控度均為0,輸入信號的可觀測度也為0。將其恢復(fù)成非掃描狀態(tài),此時輸出信號的v可控度(v∈{0,1})變成輸入信號的v可控度加10;輸入信號的可觀測度變成輸出信號的可觀測度加10(參照(1)中觸發(fā)器可控度和可觀測度的計算方法)。由于觸發(fā)器的可控度和可觀測度變差,會影響其后繼單元的可控度和前驅(qū)信號的可觀測度變差。分別跟蹤這兩種取值的變化。對于觸發(fā)器的每一個后繼單元i,觀察其可控度的變化情況,若可控度變差,則記錄其可控度變化的值ΔTi,同時記錄這個單元,以便觀測該單元的后繼單元可控度的變化情況;若某個后繼單元的可控度不發(fā)生變化,則不再考查其后繼單元。按照上述策略觀測觸發(fā)器的所有直接和間接的后繼單元,直到到達(dá)原始輸出端或者沒有任何單元的可控度變化為止。將所有這些可控度的變化值ΔTi累加,作為這個觸發(fā)器的可控度影響增益值GainC。同理可以計算觸發(fā)器的可觀測度影響增益值GainO,則觸發(fā)器i的影響增益值Gain為Gain(i)=GainC(i)+GainO(i)b)按照a)中的策略對于每一個掃描觸發(fā)器都計算出其影響增益值,然后從中選擇出影響增益值最小的觸發(fā)器,將其恢復(fù)成非掃描狀態(tài),即恢復(fù)為原電路中的時序單元,并從掃描觸發(fā)器集合中去除。
c)按照(1)中的算法重新計算電路此時的可測度。重復(fù)步驟a),再次選擇非掃描觸發(fā)器,直到達(dá)到所需的非掃描觸發(fā)器的數(shù)目為止。非掃描觸發(fā)器的選擇數(shù)目通常要考慮對于故障覆蓋率的損失和面積開銷的減小。
(3)選擇完所需的非掃描觸發(fā)器后,將余下的掃描觸發(fā)器構(gòu)造成“掃描森林”結(jié)構(gòu)。與完全掃描不同的是,在構(gòu)造掃描森林時,當(dāng)兩個掃描觸發(fā)器發(fā)生匯聚時,還需要檢驗(yàn)它們各自在匯聚的路徑上經(jīng)過的非掃描時序單元數(shù)目。若經(jīng)過的非掃描時序單元數(shù)目不一致時,也認(rèn)為它們在結(jié)構(gòu)上是不匯聚的,從而可以歸為同一個組。按照這種策略,可是使部分掃描的測試時間較完全掃描有所降低。
(4)測試向量的置入過程和完全掃描基本一致。
相對于完全掃描,部分掃描設(shè)計的主要優(yōu)點(diǎn)是在基本保持故障覆蓋率的同時,降低了硬件開銷并且進(jìn)一步降低了測試時間。
測試時間、面積開銷和測試功耗的估算(1)測試時間測試時間分為測試碼置入時間和接收測試響應(yīng)的時間。對于掃描觸發(fā)器數(shù)目為n,原始輸入數(shù)目為m,組數(shù)為ngroup,掃描森林的層數(shù)為nlevel,測試向量總數(shù)為k的情況時,測試時間T為T=k×(nlevel+1)+nlevel由于掃描森林的結(jié)構(gòu)使測試向量置入的時間較以往的掃描設(shè)計大大降低(只需nlevel+1個時鐘節(jié)拍)。對于規(guī)模較大的電路,本發(fā)明的優(yōu)勢就更為明顯。測試時間被降低到非掃描可測試性設(shè)計的級別。
(2)面積開銷我們采用Synopsys的標(biāo)準(zhǔn)單元庫class.lib來估算面積開銷。面積開銷分為兩個部分將一個觸發(fā)器改為掃描觸發(fā)器需要在其輸入端加入一個二選一的多路選擇器,其面積開銷為1×n(n為掃描觸發(fā)器的個數(shù));將所有的葉結(jié)點(diǎn)連到異或樹上,每增加一個葉結(jié)點(diǎn)則需要增加一個兩輸入異或門,其面積開銷為(n-m)×3(n為掃描觸發(fā)器的個數(shù),m為異或樹的個數(shù))。采用完全掃描時,面積開銷大約在10~20%。采用部分掃描時,由于掃描觸發(fā)器數(shù)量的減少,使得異或樹的規(guī)模減小,從而使面積開銷縮減為10%以下,接近于非掃描設(shè)計。
(3)測試功耗測試功耗為電路在進(jìn)行測試時所產(chǎn)生的功耗,分為以下三個部分測試向量置入掃描觸發(fā)器時,觸發(fā)器的翻轉(zhuǎn)所引起的功耗;掃描觸發(fā)器由于置入新的值,導(dǎo)致其后繼的組合電路翻轉(zhuǎn)所引起的功耗;當(dāng)置入一個測試向量后接受響應(yīng)時,整個組合電路翻轉(zhuǎn)所引起的功耗以及掃描觸發(fā)器接收了新的響應(yīng)后,發(fā)生翻轉(zhuǎn)所引起的功耗。這里采用了以下技術(shù)來估算功耗。對于組合電路,結(jié)點(diǎn)翻轉(zhuǎn)數(shù)目NTC為NTC=∑NG×Gloadfor all gates G其中NG為所有輸出信號翻轉(zhuǎn)(0→1或1→0)的門的個數(shù),Cload為負(fù)載電容,這里等于組合單元門的扇出數(shù)目。對于觸發(fā)器,當(dāng)其輸出信號翻轉(zhuǎn)時(0→1或1→0),翻轉(zhuǎn)功耗計為6,不翻轉(zhuǎn)時(0→0或1→1)為2。功耗的降低和測試時間有很大的關(guān)系。由于掃描森林結(jié)構(gòu)使得測試時間大大降低,相應(yīng)的測試功耗也較以往有大幅降低。對于所有規(guī)模較大的電路,測試功耗均達(dá)到了非掃描測試的程度。
如圖5所示,對于該電路進(jìn)行完全掃描森林結(jié)構(gòu)的掃描設(shè)計。掃描觸發(fā)器5,6,7的后繼單元集合分別為{15,16,17,18}、{9,11,12,14,15,16,17,18}以及{10,13,19}。由于觸發(fā)器5和6有相同的后繼單元15,即在或非門15處發(fā)生匯聚,因此不能歸為一組。而觸發(fā)器7與5和6都沒有發(fā)生匯聚,因此可以把7和5劃分為一組,6單獨(dú)為一組。設(shè)計后的電路如圖6所示。掃描觸發(fā)器5和1由共同的信號原始輸入1來進(jìn)行掃描輸入,掃描觸發(fā)器6由原始輸入2來進(jìn)行掃描輸入。電路中的3個掃描觸發(fā)器被分成2組,由于組的數(shù)量小于原始輸入的數(shù)目,因此構(gòu)造出的掃描森林只有一層。掃描觸發(fā)器5,6和7都屬于葉結(jié)點(diǎn),將其連接至異或樹后由掃描輸出(scan-out)端輸出。
對圖6所示的電路進(jìn)行測試生成。此時的電路為完全掃描設(shè)計,因此測試生成也簡化為組合電路的測試碼產(chǎn)生。對于每一個測試向量,由于掃描森林的層數(shù)為1,因此只需一個時鐘節(jié)拍就可將測試向量通過掃描輸入置入掃描觸發(fā)器中。相比之下,單鏈結(jié)構(gòu)的完全掃描設(shè)計需要3個時鐘節(jié)拍才能置入一個測試向量。因此,掃描森林的設(shè)計結(jié)構(gòu)將測試時間縮短了2/3,同時避免了額外的硬件開銷,即額外的掃描輸入端。
對于規(guī)模較大的電路,掃描森林的設(shè)計對于降低測試時間、測試功耗以及管腳開銷等方面的優(yōu)勢更為明顯。圖7為s38417進(jìn)行完全掃描森林設(shè)計后的結(jié)構(gòu)示意圖。如圖所示,每棵樹的根結(jié)點(diǎn)處標(biāo)明了組的編號,后面括號中的數(shù)字為這個組中的掃描觸發(fā)器個數(shù)。在對掃描觸發(fā)器進(jìn)行分組后,s38417中的1636個掃描觸發(fā)器共分成100組,由于s38417的原始輸入為28個,則掃描森林的層數(shù)為[100/28]=4層,即只需要4個時鐘節(jié)拍就可以將掃描向量置入掃描觸發(fā)器內(nèi),比完全單鏈掃描的1636個時鐘節(jié)拍下降了99%以上!同時測試功耗也有超過99%的降低。
對圖5中的電路進(jìn)行部分掃描設(shè)計,設(shè)計后的電路如圖8所示。首先對該電路進(jìn)行完全掃描設(shè)計,將所有的觸發(fā)器改造為掃描觸發(fā)器。將每個掃描觸發(fā)器分別恢復(fù)為非掃描狀態(tài),考查每個掃描觸發(fā)器由于恢復(fù)為非掃描狀態(tài)而對電路可測性的影響,計算出各自的影響增益值。從計算中可以得到,當(dāng)把掃描觸發(fā)器5恢復(fù)為非掃描狀態(tài)后,其影響增益值最小,即對于電路可測性的影響最小,因此將觸發(fā)器5恢復(fù)為非掃描狀態(tài)。觸發(fā)器6和7保持掃描狀態(tài)。將掃描觸發(fā)器6和7按照構(gòu)造掃描森林的規(guī)則進(jìn)行判斷,掃描觸發(fā)器6和7在結(jié)構(gòu)上不發(fā)生匯聚,因此可以并為一組。將觸發(fā)器6和7都連接至原始輸入端1,部分掃描森林的構(gòu)造完畢。最后將葉結(jié)點(diǎn)觸發(fā)器6和7連接至異或樹,即將6和7異或,異或門的輸出為掃描輸出,如圖8所示。對圖8的電路進(jìn)行測試生成,計算出的故障覆蓋率和完全掃描森林的結(jié)果一樣,均為100%。由于掃描森林的級數(shù)沒有改變,因此測試時間也同完全掃描森林設(shè)計一致。然而由于掃描觸發(fā)器的數(shù)目和異或門的數(shù)目減少,使得部分掃描森林設(shè)計的面積開銷降低為完全掃描森林設(shè)計的60%左右,測試功耗的降低幅度也大致相同。
表一和表二分別給出了ISCAS89電路在進(jìn)行了完全掃描森林和部分掃描森林設(shè)計后的測試生成結(jié)果。其中#FF表示觸發(fā)器的個數(shù),F(xiàn)C表示故障覆蓋率(以百分比形式給出),#HF表示難測故障的數(shù)目,vec表示測試向量的數(shù)目,tm表示完全(部分)掃描森林結(jié)構(gòu)的測試時間與完全(部分)單掃描鏈結(jié)構(gòu)的測試時間之比(以百分比形式給出),po表示額外輸出管腳數(shù)目,ao表示面積開銷(以百分比形式給出),pw表示完全(部分)掃描森林結(jié)構(gòu)的測試翻轉(zhuǎn)功耗與完全(部分)單掃描鏈結(jié)構(gòu)的測試翻轉(zhuǎn)功耗之比(以百分比形式給出)。表二中的sff為部分掃描時掃描觸發(fā)器的個數(shù)。
由表一中可以看出,運(yùn)用完全掃描森林設(shè)計后的電路,和完全單掃描鏈設(shè)計相比較,在基本保持了原有的故障覆蓋率的同時,測試時間、測試翻轉(zhuǎn)功耗都有了大幅度的降低。特別是對規(guī)模較大的電路,其降低幅度均在95%以上。加入了異或樹結(jié)構(gòu)后,除了s35932和s38417,故障覆蓋率基本保持了原有的水平。但是面積開銷的問題沒有得到解決。在運(yùn)用適當(dāng)?shù)牟呗赃x擇部分掃描觸發(fā)器后,如表二所示,面積開銷降低到了原電路的10%以下,同時故障覆蓋率的降低程度均控制在2至3個百分點(diǎn)內(nèi)。測試時間、測試翻轉(zhuǎn)功耗也較單掃描鏈部分掃描設(shè)計有了大幅的降低。由此看來,掃描森林結(jié)構(gòu)在保證高故障覆蓋率的同時,使掃描設(shè)計的測試代價降低到了非掃描設(shè)計的水平。
表一運(yùn)用完全掃描森林結(jié)構(gòu)的ISCAS89電路的實(shí)驗(yàn)結(jié)果

表二運(yùn)用部分掃描森林結(jié)構(gòu)的ISCAS89電路的實(shí)驗(yàn)結(jié)果

權(quán)利要求
1.具有非掃描設(shè)計測試代價的掃描設(shè)計,含有把電路中的時序單元轉(zhuǎn)化為可控制和可觀測的單元,并將這些時序單元連接成一個或多個移位寄存器,構(gòu)造成一條或多條掃描鏈,從而把時序電路的測試碼生成轉(zhuǎn)化為組合電路測試碼生成問題的步驟,其特征在于它是基于“掃描森林”式掃描設(shè)計結(jié)構(gòu)的一種具有非掃描設(shè)計測試代碼的掃描設(shè)計方法,對于掃描觸發(fā)器群F1,1,F(xiàn)1,2,……,F(xiàn)k,c構(gòu)成的時序單元而言,它把電路的原始輸入端SI1,……,SIk同時作為“掃描森林”中各個掃描樹的根結(jié)點(diǎn),以便當(dāng)電路處在測試狀態(tài)時作為掃描輸入Scan-in,用來置入掃描測試向量,它按照兩個掃描觸發(fā)器是否在電路結(jié)構(gòu)上發(fā)生匯聚的原則,在每個原始輸入端SIi的后繼連接了一組不會在電路結(jié)構(gòu)上匯聚的,即沒有任何一個相同的后繼單元的掃描觸發(fā)器,接著在這一組掃描觸發(fā)器F1,1,F(xiàn)1,2,……,F(xiàn)k,c中任選一個掃描觸發(fā)器作為下一層的根結(jié)點(diǎn),用于連接下一組符合上述特征的觸發(fā)器組F1,1,F(xiàn)1,2,……,F(xiàn)k,c,依此類推,把所有掃描觸發(fā)器分組并連接到“掃描森林”中的某個結(jié)點(diǎn)上,以構(gòu)造成“掃描森林”;具體而言,上述具有非掃描設(shè)計測試代價的掃描設(shè)計方法依次含有如下步驟(1)初始化設(shè)初始狀態(tài)為電路中所有的掃描觸發(fā)器均未被分組,它們構(gòu)成一個集合F(F={f1,f2,……fn});(2)首先建立一個空的新組Gi,任取F中一個掃描觸發(fā)器fi加入Gi,作為Gi的第一個成員,即Gi={fi},并將fi從F中去除掉;(3)根據(jù)現(xiàn)有的判斷是否會發(fā)生上述匯聚現(xiàn)象的技術(shù)判斷F中所有的掃描觸發(fā)器,逐個地選擇出全部滿足不會和Gi里的所有觸發(fā)器在電路結(jié)構(gòu)上匯聚的掃描觸發(fā)器加入Gi,再把這些觸發(fā)器從觸發(fā)器群F中去除掉,以構(gòu)成一個完整的組Gi;(4)再建立一個新組Gi+1,任取觸發(fā)器群F中一個掃描觸發(fā)器作為新組Gi+1的第一個成員,再按照步驟(3)中的判斷方法構(gòu)造出Gi+1;(5)依此類推,把所有掃描觸發(fā)器歸入各自的組,把觸發(fā)器群即集合構(gòu)造為組的集合;(6)按照寬度優(yōu)先的方法構(gòu)造“掃描森林”,即把上述構(gòu)造的各組依次連接到原始輸入即掃描輸入上,從而構(gòu)造出“掃描森林”結(jié)構(gòu),其步驟如下當(dāng)電路原始輸入端的數(shù)目k大于或等于掃描觸發(fā)器組的組數(shù)g時,則從k個原始輸入中任選g個,使每一個原始輸入端連接一個掃描觸發(fā)器組即可;當(dāng)g>k時,從掃描觸發(fā)器組g中任選k個組分別連接到每一個原始輸入上,但每個原始輸入只能連一個掃描觸發(fā)器組,構(gòu)成掃描森林的第一層;再從剩下的(g-k)個組中選出k個,再從第一層的每一個掃描觸發(fā)器組中任選一個掃描觸發(fā)器作為根結(jié)點(diǎn),連接這k個組中的任意一個掃描觸發(fā)器組,構(gòu)造出掃描森林第二層;依次連接剩下所有的組;(7)所有葉結(jié)點(diǎn)將被兩兩異或,構(gòu)成一個或多個異或樹,最后連接到MISR(多輸入特征分析器)上作為掃描輸出。
2.根據(jù)權(quán)利要求1所述的具有非掃描設(shè)計測試代價的掃描設(shè)計而提出的測試向量置入法,其特征在于,它依次含有如下步驟(1)把原始時序電路中的觸發(fā)器構(gòu)造成“掃描森林”;(2)根據(jù)上述“掃描森林”修改原電路的結(jié)構(gòu),產(chǎn)生掃描設(shè)計電路的結(jié)構(gòu);(3)將產(chǎn)生的新電路用已知的測試生成工具進(jìn)行測試生成,再算出電路必要參數(shù)的同時得到一組由原始輸入端輸入的掃描測試向量,每一個測試向量的長度為組的數(shù)目+原始輸入的數(shù)目,對于“掃描森林”中的每一個組,在測試向量中有一個確定的值(0或1)與之對應(yīng),即該組中所有的掃描觸發(fā)器都將被置為這個值;(4)電路置為測試狀態(tài),對于每一個掃描測試向量按以下步驟置入電路(4.1)在第一個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中最后一層內(nèi)各個組的值;(4.2)在第二個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中倒數(shù)第二層內(nèi)各個組的值,同時正數(shù)第一層中所有內(nèi)部觸發(fā)器結(jié)點(diǎn)的值將送入與之連接的第二層中各個掃描觸發(fā)器中;(4.3)依次類推,在最后一個時鐘節(jié)拍,從原始輸入端置入“掃描森林”中正數(shù)第一層內(nèi)各個組的值,使得“掃描森林”中所有的掃描觸發(fā)器已經(jīng)按組被置為掃描測試向量中所提供的值。
3.根據(jù)權(quán)利要求1所述的具有非掃描測試代價的部分掃描設(shè)計,其特征在于在構(gòu)造“掃描森林”時只把電路中的一部分觸發(fā)器轉(zhuǎn)化為“掃描森林”內(nèi)的掃描觸發(fā)器結(jié)構(gòu)以獲得接近于完全掃描設(shè)計的故障覆蓋率和測試效率,它依次含有以下步驟(1)先把任一掃描觸發(fā)器恢復(fù)成非掃描狀態(tài),再遍歷其直接后繼單元,若其可測度(包括可控度和可觀測度)發(fā)生了變化,則記錄變化的值,同時記錄這個單元的后繼單元,一直搜索到不再有可測度變化的單元或者到達(dá)原始輸出為止,把所有的值累加作為這個掃描觸發(fā)器所影響的范圍;(2)對于每一個掃描觸發(fā)器都進(jìn)行上述步驟(1),從中選擇影響值最小的觸發(fā)器作為非掃描時序單元,在電路中將其恢復(fù)為非掃描狀態(tài);(3)按步驟(1)、(2)選擇出所需數(shù)目的非掃描時序單元,同時在每選出一個非掃描時序單元后更新電路的可測度;(4)把按上述步驟選出的非掃描時序單元恢復(fù)成非掃描狀態(tài),并從掃描觸發(fā)器集合中去除,把余下的掃描觸發(fā)器構(gòu)造“掃描森林”;在構(gòu)造“掃描森林”時當(dāng)兩個掃描觸發(fā)器發(fā)生匯聚時,若經(jīng)過的非掃描時序單元的數(shù)目有異時,它們在結(jié)構(gòu)上是不匯聚的。
全文摘要
具有非掃描設(shè)計測試代價的掃描設(shè)計及測試向量置入方法屬于集成電路可測試性設(shè)計技術(shù)領(lǐng)域,特征在于它是“掃描森林”式的,把原始輸入端同時作為各掃描樹的根結(jié)點(diǎn),以便在測試時作為掃描輸入置入測試向量,再在每個原始輸入端的后繼按照兩個觸發(fā)器沒有任何一個相同的后繼單元原則連接了一組觸發(fā)器,再在其中任選一個觸發(fā)器作為下一層的根結(jié)點(diǎn),連接下一層符合以上原則的另一組觸發(fā)器,依次類推,把它們連接到“掃描森林”中某個結(jié)點(diǎn)上形成“掃描森林”;同時把這種結(jié)構(gòu)用在部分掃描設(shè)計上。它獲得了很高的故障覆蓋率和測試效率,同時部分掃描設(shè)計又能降低測試時間、面積開銷及功耗,甚至可以把部分掃描設(shè)計的測試代價降低至非掃描設(shè)計的水平。
文檔編號H01L21/82GK1512560SQ0215993
公開日2004年7月14日 申請日期2002年12月30日 優(yōu)先權(quán)日2002年12月30日
發(fā)明者向東, 孫家廣, 陳明靜, 顧珊, 向 東 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1