基于掃描的電路設(shè)計(jì)
多輸入特征寄存器(Multiple Input Signature Reg—ister,MISR)是線性反饋移位寄存器的一種。如圖3所示,將待測(cè)電路的輸出部分加入線性反饋移位寄存器里,就成為一個(gè)多輸入特征寄存器。
多輸入特征寄存器最主要的特性是它的狀態(tài)。即其寄存器的值,不僅與現(xiàn)在的狀態(tài)有關(guān),還與當(dāng)時(shí)的輸入值有關(guān),可以表示為:Next state=MISR(Cur—renLstate,Input),而其中MISR(……)可以代表特征式不同的多輸入特征寄存器。
3 基于掃描的測(cè)試架構(gòu)的改進(jìn)
為了減少基于掃描的電路設(shè)計(jì)的測(cè)試時(shí)間,就必須深入了解它的電路設(shè)計(jì),了解為何其會(huì)消耗那么多的測(cè)試時(shí)間,然后來改進(jìn)測(cè)試架構(gòu)。
3.1 用向量壓縮來減少測(cè)試時(shí)間
在測(cè)試過程中,我們有時(shí)可以發(fā)現(xiàn),我們將要傳入掃描鏈的測(cè)試向量,已經(jīng)部分地包含在已經(jīng)傳入的測(cè)試向量序列中了,如圖4所示。V1向量的后半部分剛好等于V2向量的前半部分“1010”,如果在傳輸向量的時(shí)候,先傳輸V1再傳輸V2,那么我們就只需要將V2的后半段向量信息傳入掃描鏈就可以讓V2原本的信息在掃描鏈中完整地呈現(xiàn),如圖中V3所示。很明顯,我們?cè)瓉硪斎氲臏y(cè)試向量的長(zhǎng)度為16位,壓縮后只有12位,節(jié)省了V2的前半部分傳入掃描鏈的時(shí)間,從而減少了測(cè)試的時(shí)間,而且測(cè)試信息也沒有減少,不會(huì)影響故障覆蓋率。
3.2 用Test—Per-Clock來縮短測(cè)試時(shí)間
我們對(duì)造成測(cè)試時(shí)間不夠理想的原因進(jìn)行分析:
傳統(tǒng)的基于掃描的測(cè)試電路是采取Test—Per—Scan的方式來進(jìn)行測(cè)試的,也就是說要先將測(cè)試向量掃描到電路內(nèi)的由掃描寄存器所組成的掃描鏈內(nèi)。然后才可以完成一次測(cè)試;將測(cè)試向量掃描到待測(cè)電路這個(gè)步驟是一位一位地進(jìn)行的,所以如果一個(gè)電路需要長(zhǎng)度較大的測(cè)試的向量時(shí),那么在這整個(gè)測(cè)試過程里。將會(huì)花很多的時(shí)間在將測(cè)試向量輸入到掃描鏈的這個(gè)步驟上,從而增加了測(cè)試時(shí)間。這個(gè)結(jié)構(gòu)的測(cè)試向量的產(chǎn)生是利用LFSR產(chǎn)生出的偽隨機(jī)向量,并將其送入電路做測(cè)試。用LFSR產(chǎn)生測(cè)試向量會(huì)產(chǎn)生出許多沒有作用的測(cè)試向量,而這些沒有作用的測(cè)試向量又會(huì)產(chǎn)生大量多余的時(shí)間將其送入掃描鏈中,造成測(cè)試時(shí)間更嚴(yán)重的浪費(fèi)。如果采用Test—Per—Clock的方式做測(cè)試,在掃描鏈里原本的測(cè)試向量,在用一個(gè)時(shí)鐘的時(shí)間移進(jìn)來一位之后,掃描鏈所含的值即是測(cè)試向量,對(duì)待測(cè)電路而言,其實(shí)都是一個(gè)新的測(cè)試向量,而且也具有偽隨機(jī)向量的特性,如果此測(cè)試向量是有效的,我們的測(cè)試時(shí)間就只用了一個(gè)時(shí)鐘的時(shí)間,而如果此測(cè)試向量無(wú)效,原本測(cè)試到?jīng)]有作用的測(cè)試向量時(shí)所需的付出的時(shí)間代價(jià),由于用了新的測(cè)試向量填滿整個(gè)掃描鏈所需的時(shí)間,減少到只需一個(gè)時(shí)鐘移進(jìn)一位的時(shí)間。
如圖5所示,每個(gè)時(shí)鐘周期。Slot會(huì)往左移動(dòng)一位,即在Slot內(nèi)產(chǎn)生一個(gè)新的測(cè)試向量,而Slot大小可以看成掃描鏈的大小。
不過,由于每個(gè)時(shí)鐘都要作測(cè)試,所以每個(gè)時(shí)鐘在測(cè)試后都會(huì)產(chǎn)生新的測(cè)試結(jié)果。傳統(tǒng)的基于掃描的測(cè)試環(huán)境里,電路輸出結(jié)果傳送出來的同時(shí)也將新的測(cè)試傳進(jìn)掃描鏈里。
如果輸出的向量只有一位就不會(huì)有這樣的問題。
因?yàn)槲覀儸F(xiàn)在要產(chǎn)生一個(gè)新的測(cè)試向量所需要的時(shí)間只有一個(gè)時(shí)鐘周期,所以時(shí)問剛剛好。但是一般而言,待測(cè)電路的輸出向量都會(huì)超過一位。所以我們?cè)谟^察電路輸出結(jié)果這個(gè)步驟上就會(huì)有問題。為了解決這個(gè)問題,需要對(duì)傳統(tǒng)的基于掃描的測(cè)試電路做些修改。在待測(cè)電路的輸出部分,可以用MISR來取代原來的掃描鏈電路,也就是將輸出送到MISR做特征分析,如圖6所示。
但是由于電路越來越復(fù)雜,電路的主要輸入與輸出的個(gè)數(shù)就會(huì)很多,如果對(duì)這樣的待測(cè)電路加測(cè)試電路,將會(huì)出現(xiàn)外加電路面積過大的問題。所以我們針對(duì)MISR的部分提出一個(gè)方法,使得因測(cè)試而增加得MISR可以盡量地縮小。
縮小MISR的大小最直接的想法是將主要輸出經(jīng)組合電路壓縮變小,但是這樣會(huì)使錯(cuò)誤覆蓋率降低,使測(cè)試向量變多,這些問題在文獻(xiàn)中談到了。造成錯(cuò)誤覆蓋率降低的原因是如果我們將有共同輸入向量的兩個(gè)主要輸出通過組合電路合并的話。將可能會(huì)造成原本可以測(cè)試到的錯(cuò)誤,在合并后就測(cè)試不到了,所以造成了錯(cuò)誤覆蓋率的降低。
為了避免這個(gè)情況的發(fā)生,我們?cè)谙蛄繅嚎s的過程中。只有將沒有共同輸入向量的主要輸出合并在一起,就不會(huì)有問題出現(xiàn)了。如圖6所示,兩個(gè)不同的待測(cè)電路的主要輸出經(jīng)過合并以后輸出到MISR,這樣用一個(gè)與門代替了一個(gè)寄存器以便減少面積,而錯(cuò)誤覆蓋率則因?yàn)閮蓛珊喜⒌闹饕敵龆硕紱]有相同的主要輸出資料,所以就沒有錯(cuò)誤覆蓋率降低的問題存在,即原來可以被偵測(cè)到的錯(cuò)誤,在經(jīng)過主要輸出端合并之后仍然可以被偵測(cè)到。
4 結(jié)論
經(jīng)過改進(jìn)后的基于掃描的測(cè)試架構(gòu),用向量壓縮來減少測(cè)試時(shí)間,并且將Test—Per-Scan的測(cè)試方式改成了Test—Per-Clock的測(cè)試方式,加快了測(cè)試的速度。
評(píng)論