張 玲
(江西財(cái)經(jīng)大學(xué)軟件與物聯(lián)網(wǎng)工程學(xué)院,江西 南昌 330013)
MEDA芯片(Micro-Electrode-Dot-Array biochip)是新出現(xiàn)的一種基于微單元陣列的數(shù)字微流控芯片[1]。與傳統(tǒng)數(shù)字微流控芯片不同,MEDA的每個(gè)微單元MC(Micro-electrode Cell)都包含驅(qū)動(dòng)電極和傳感檢測(cè)電路,這些MC可動(dòng)態(tài)分組驅(qū)動(dòng)不同質(zhì)量、不同形狀的液滴,靈活地實(shí)現(xiàn)各類(lèi)生化實(shí)驗(yàn)[2,3]?;贛EDA的原型結(jié)構(gòu)已由3.3 V電平,TSMC 0.35 μm的工藝實(shí)現(xiàn)[3]。
隨著生化協(xié)議復(fù)雜度的提高,其對(duì)MEDA芯片規(guī)模的要求也不斷增加。MEDA芯片的結(jié)構(gòu)涉及流體領(lǐng)域和電子領(lǐng)域,導(dǎo)致其更易出現(xiàn)多類(lèi)型、高復(fù)雜性的故障。按故障發(fā)生的位置,可將MEDA芯片的故障分為2大類(lèi),即MC之間的故障和MC之內(nèi)的故障[4];按故障發(fā)生的持久性,MEDA芯片的故障可分為永久性故障和間歇性故障。不同類(lèi)型的故障均可能導(dǎo)致錯(cuò)誤,影響整個(gè)實(shí)驗(yàn)結(jié)果[2]。MEDA芯片通常用于生命科學(xué)領(lǐng)域,必須進(jìn)行全面的在線和離線測(cè)試,離線測(cè)試主要發(fā)生在制作階段,用于測(cè)試芯片在制作完成后的正確性,而在線測(cè)試一般與生物協(xié)議實(shí)驗(yàn)同時(shí)進(jìn)行,用于進(jìn)一步提高生化實(shí)驗(yàn)的準(zhǔn)確性[5,6]。
由于MEDA芯片在每個(gè)MC中嵌入了傳感檢測(cè)單元,因此它可在驅(qū)動(dòng)液滴的同時(shí),實(shí)現(xiàn)對(duì)每個(gè)液滴運(yùn)行情況的實(shí)時(shí)監(jiān)測(cè)。由于外部引腳面積代價(jià)較大,為減少外部引腳和增加控制能力,MEDA結(jié)構(gòu)的所有微單元(MC)的一位寄存器被一個(gè)菊花鏈(也稱(chēng)為數(shù)據(jù)掃描鏈)串接,這個(gè)鏈可用最少的外部引腳100%地控制所有的陣列單元。在將驅(qū)動(dòng)數(shù)據(jù)移入到每個(gè)微陣列的同時(shí),菊花鏈也以同樣的方式移出所有微單元的檢測(cè)結(jié)果。菊花鏈用極少的端口實(shí)現(xiàn)了對(duì)所有MC的控制,但這也正是MEDA芯片的問(wèn)題所在,菊花鏈的串接使得其故障具有全局效應(yīng),即使只有一個(gè)故障存在于菊花鏈上,也會(huì)帶來(lái)災(zāi)難性的后果。
文獻(xiàn)[7]首次提到了菊花鏈故障,并進(jìn)行了故障測(cè)試,但沒(méi)有給出相應(yīng)的測(cè)試和診斷方法;文獻(xiàn)[8]針對(duì)MEDA芯片設(shè)計(jì)了相對(duì)可靠的微單元系統(tǒng),提高了MEDA芯片的有效性。文獻(xiàn)[9]首次對(duì)菊花鏈進(jìn)行初步容錯(cuò)設(shè)計(jì),但未給出具體的實(shí)現(xiàn)過(guò)程。對(duì)MEDA結(jié)構(gòu)來(lái)說(shuō),故障不僅出現(xiàn)在流體領(lǐng)域而且還會(huì)出現(xiàn)在電子領(lǐng)域,而絕大多數(shù)的電子故障會(huì)導(dǎo)致流體移動(dòng)的異常??煽啃允荕EDA芯片的重要指標(biāo)之一,為保證MEDA芯片結(jié)果的準(zhǔn)確性,不僅需要對(duì)菊花鏈進(jìn)行全面的測(cè)試和診斷,而且需要有效的容錯(cuò)策略。
本文為MEDA芯片設(shè)計(jì)有效的菊花鏈容錯(cuò)結(jié)構(gòu)。該結(jié)構(gòu)將具有整體性的菊花鏈分成單個(gè)微單元,打破菊花鏈故障的全局性,利用測(cè)試響應(yīng)自動(dòng)觸發(fā)容錯(cuò)過(guò)程,實(shí)時(shí)對(duì)故障單元進(jìn)行修復(fù),若修復(fù)失敗則將其旁路,實(shí)現(xiàn)對(duì)菊花鏈中微單元的自動(dòng)容錯(cuò)。該結(jié)構(gòu)為每個(gè)微單元增加一個(gè)二選一選擇器和一個(gè)與門(mén)電路,不會(huì)增加額外的外部引腳,硬件代價(jià)合理。另外,通過(guò)與電腦的接口控制診斷容錯(cuò)過(guò)程,可在電腦端以友好的方式監(jiān)測(cè)整個(gè)測(cè)試診斷及運(yùn)行過(guò)程。
MEDA芯片基于微單元陣列結(jié)構(gòu),每個(gè)微陣列單元由驅(qū)動(dòng)電路和傳感監(jiān)測(cè)電路組成,其示意圖在圖1[10]中給出,每個(gè)微陣列單元的驅(qū)動(dòng)數(shù)據(jù)和檢測(cè)數(shù)據(jù)被存儲(chǔ)在其一位寄存器中,這些一位寄存器被串成可移動(dòng)的數(shù)據(jù)通路,即菊花鏈。菊花鏈通過(guò)一個(gè)外部入口實(shí)現(xiàn)了對(duì)所有微陣列單元的完全控制,具有較高的效率,但這同時(shí)也是其問(wèn)題所在。
Figure 1 Diagram of MEDA architecture圖1 MEDA結(jié)構(gòu)示意圖
Figure 2 Daisy chain of MEDA architecture圖2 MEDA結(jié)構(gòu)的菊花鏈結(jié)構(gòu)示意圖
圖2給出了MEDA結(jié)構(gòu)的菊花鏈結(jié)構(gòu)(用來(lái)移入微單元的驅(qū)動(dòng)數(shù)據(jù)和移出檢測(cè)數(shù)據(jù))。如圖2所示,在每個(gè)驅(qū)動(dòng)周期,每個(gè)微陣列單元的驅(qū)動(dòng)數(shù)據(jù)都通過(guò)菊花鏈移入到對(duì)應(yīng)的一位寄存器,用來(lái)表示是否驅(qū)動(dòng)相應(yīng)的微單元,而檢測(cè)電路檢測(cè)到的數(shù)據(jù)也會(huì)存入其一位寄存器中,并通過(guò)菊花鏈移出。由此可見(jiàn),菊花鏈串行移入微陣列單元的驅(qū)動(dòng)數(shù)據(jù),并移出相應(yīng)的檢測(cè)數(shù)據(jù),其操作的串行性會(huì)導(dǎo)致其故障的全局效應(yīng)。如圖2所示,若FF2上出現(xiàn)故障,則其用來(lái)驅(qū)動(dòng)微電極陣列的數(shù)據(jù)將不能串行正確地移入到FF2~FFn,此時(shí)雖然FF2的傳感監(jiān)測(cè)電路可能捕獲到相應(yīng)液滴的異常,但相應(yīng)的檢測(cè)結(jié)果卻無(wú)法從菊花鏈移出,這就導(dǎo)致了整個(gè)微陣列的失效。MEDA芯片常用于生命科學(xué)領(lǐng)域,其可靠性至關(guān)重要,因此必須對(duì)菊花鏈進(jìn)行測(cè)試診斷,并進(jìn)行有效的容錯(cuò)設(shè)計(jì)。
MEDA結(jié)構(gòu)的菊花鏈與傳統(tǒng)CMOS電路的掃描鏈類(lèi)似,但由于其固有屬性,多數(shù)用于傳統(tǒng)掃描鏈的測(cè)試和容錯(cuò)結(jié)構(gòu)并不能直接用于MEDA結(jié)構(gòu)的菊花鏈上。
Figure 3 Illustration of the New MC architecture圖3 New MC結(jié)構(gòu)示意圖
它們的區(qū)別主要存在于3個(gè)方面:功能不同、結(jié)構(gòu)不同、對(duì)可靠性的要求也不同。功能上,傳統(tǒng)掃描鏈將電路中的觸發(fā)器串成用于測(cè)試的通路,其主要功能是為測(cè)試服務(wù),而MEDA結(jié)構(gòu)的菊花鏈?zhǔn)枪δ苄缘?,用?lái)傳輸?shù)氖枪δ軘?shù)據(jù);結(jié)構(gòu)上,傳統(tǒng)電路掃描鏈的單元之間具有其他功能路徑,而MEDA結(jié)構(gòu)的菊花鏈在未運(yùn)行生化協(xié)議之前不存在任何其他功能路徑;對(duì)可靠性的要求上,傳統(tǒng)掃描鏈?zhǔn)怯脕?lái)傳輸測(cè)試數(shù)據(jù),而MEDA結(jié)構(gòu)的菊花鏈傳輸?shù)氖枪δ軘?shù)據(jù),且是對(duì)精確度要求非常高的實(shí)驗(yàn)數(shù)據(jù),因此,它對(duì)可靠性的要求更高。
MEDA結(jié)構(gòu)菊花鏈測(cè)試不難實(shí)現(xiàn),只需用鏈測(cè)試模式(Chain Pattern,也稱(chēng)Flush Pattern,用來(lái)測(cè)試掃描鏈的完整性)[11]來(lái)對(duì)其進(jìn)行測(cè)試,Chain Pattern本身就足以確定掃描鏈存不存在故障,但它不能定位故障,也不具有容錯(cuò)功能。而對(duì)于MEDA芯片的容錯(cuò)設(shè)計(jì)來(lái)說(shuō),其外部引腳的面積要比內(nèi)部單元大得多,因此容錯(cuò)設(shè)計(jì)要以不增加外部引腳為原則。
相對(duì)于圖2中的原始掃描單元,本文稱(chēng)具有自診斷和容錯(cuò)功能的單元為New MC。如圖3所示,圖中較小的虛線框內(nèi)為原始MC,為實(shí)現(xiàn)容錯(cuò)功能,New MC在原始MC的基礎(chǔ)上增加了一個(gè)冗余DFF(D Flip-Flop)FF2,一個(gè)一位計(jì)數(shù)器和若干與門(mén),如外圍虛線框所示。scan_in、scan_out和CLOCK分別為掃描輸入、掃描輸出和時(shí)鐘信號(hào);R為scan_out與正確響應(yīng)比較的結(jié)果(此處僅給出New MC結(jié)構(gòu),scan_out與正確響應(yīng)的比較部分電路未畫(huà)出),若相同則表示該單元不存在故障,該值為0,否則為1;ctli為該單元的訪問(wèn)信號(hào),該值為1時(shí),該單元被訪問(wèn),否則該單元被旁路。其他內(nèi)部信號(hào)還包括計(jì)數(shù)器時(shí)鐘counterclk,計(jì)數(shù)器輸出counterout,計(jì)數(shù)器使能信號(hào)counteren,計(jì)數(shù)器溢出信號(hào)ccarry,該New MC的旁路信號(hào)passbyline。
該New MC單元通過(guò)比較其輸出與正確響應(yīng)來(lái)確定FF1是否在在故障,若存在故障,則響應(yīng)的比較結(jié)果信號(hào)R會(huì)控制Counter計(jì)數(shù)一次,從而控制MUX1的輸出信號(hào)Qout從Q1轉(zhuǎn)到Q2,實(shí)現(xiàn)容錯(cuò)功能。Qout=Q2會(huì)以同樣的方式測(cè)試、診斷,若FF2也存在故障,則Counter會(huì)溢出,其溢出信號(hào)ccarry會(huì)控制passbyline=0,該單元被永久旁路。該New MC的具體工作過(guò)程如下所示:
初始化:
1ctli=1;
2R=0;
3counterout=0;
診斷過(guò)程:
4counterout=0;
5Qout=Q1;
6response=Qout?
7 Yes,R=0;counteren=0;goto 4;
8 No,goto 7;
Figure 4 Data scan chain composed of New MC圖4 由New MC組成的菊花鏈
修復(fù)過(guò)程:
9R=1;
10counteren=1;
11 falling edge ofcounterclk;
12counterout=counterout+1;
檢查FF2:
10counterout=1;
11Qout=Q2;
12reponse=Qout?
13 Yes,R=0,counteren=0;goto 10;
14 No,goto 13;
旁邊過(guò)程:
15R=1;
16counteren=1;
17 falling edge ofcounterclk;
18counterout=counterout+1;
19counteroverflows;
20ccarry=1;
counterkeeps holding;
The MC is bypassed.
初始ctli=1,R=0,counterout=0,如第1~2行所示;由于counterout=0,因此Qout=Q1,response為正確響應(yīng),與Qout進(jìn)行比較,若正確,則R=0,該單元無(wú)故障,正常工作如第4~6行所示;若存在故障,則啟動(dòng)修復(fù)過(guò)程,R=1(ccarry=0,ctli=1),使能Counter,它會(huì)在時(shí)鐘下降沿做一次計(jì)數(shù)操作,如第7~9行所示;Counter的計(jì)數(shù)操作使counterout=1,從而使Qout從存在故障的FF1轉(zhuǎn)到FF2,即Qout=Q2,此時(shí)Qout再以同樣的方式比較response與Qout,若無(wú)故障,則R=0,counteren=0;否則啟動(dòng)旁路過(guò)程,如第10~12行所示;此時(shí)R=1表示FF2也存在故障,Counter會(huì)在時(shí)鐘下降沿計(jì)數(shù)一次,Counter溢出,ccarry=1,從而Counter的使能信號(hào)Counteren=0,該counter不會(huì)再計(jì)數(shù),而passbyline=0,該New MC被永久旁路。
由該New MC組成的菊花鏈如圖4所示,相對(duì)于原始菊花鏈,為每個(gè)New MC增加一個(gè)二選一選擇器,通過(guò)控制其ctl信號(hào)可實(shí)現(xiàn)對(duì)每個(gè)單元的測(cè)試和診斷。其具體測(cè)試診斷過(guò)程可描述如下:
(1)i=n。
(2)第i個(gè)New MC的控制信號(hào)ctli為1,其他New MC的控制信號(hào)為0,則此時(shí) New MCi被訪問(wèn),其他被旁路。通過(guò)與FFr輸出值進(jìn)行比較,測(cè)試診斷New MCi。
(3)i=i-1,若i≠0,則轉(zhuǎn)(2);否則退出。
其控制信號(hào)的時(shí)序圖如圖5所示。如圖5所示,由ctl控制New MC的輪詢?cè)L問(wèn),第1個(gè)時(shí)鐘周期,ctln=1,而ctl1,ctl2,…,ctln-1均為0,因此只有第n個(gè)New MC接收時(shí)鐘信號(hào),其他New MC 被旁路,此時(shí)其測(cè)試數(shù)據(jù)在送入New MCn的同時(shí)也被送入FFr,通過(guò)異或邏輯,比較兩者的輸出,若結(jié)果相同,表示無(wú)故障,則R=0,否則R=1,啟動(dòng)New MC的修復(fù)過(guò)程。第2個(gè)時(shí)鐘周期,ctln-1=1,其他ctl為0,ctln-1將以同樣的方式進(jìn)行測(cè)試、診斷和修復(fù)。依次為ctln-2,ctln-3,…,ctl1進(jìn)行測(cè)試、診斷和修復(fù)。如圖5所示,ctl信號(hào)為一組相同的、時(shí)間相差1個(gè)時(shí)鐘周期的信號(hào),它們可以從CLOCK信號(hào)獲得,不需要增加額外的外部信號(hào)。
Figure 5 Time sequence of the control signals of ctl圖5 ctl信號(hào)時(shí)序圖
MEDA結(jié)構(gòu)一般通過(guò)電腦端控制其運(yùn)行,并通過(guò)其集成的傳感檢測(cè)電路實(shí)時(shí)將測(cè)試數(shù)據(jù)送到電腦端,因此實(shí)現(xiàn)了實(shí)時(shí)數(shù)據(jù)的監(jiān)測(cè)[12]。但是,這些運(yùn)行過(guò)程均依賴(lài)不存在故障的菊花鏈,因此必須提高菊花鏈的可靠性。
基于New MC的菊花鏈對(duì)每個(gè)單元進(jìn)行分時(shí)訪問(wèn),并在訪問(wèn)過(guò)程中實(shí)現(xiàn)自測(cè)試和容錯(cuò)過(guò)程,可用于離線和在線測(cè)試。本結(jié)構(gòu)中,本文還可以在電腦端設(shè)計(jì)監(jiān)聽(tīng)端口,實(shí)時(shí)檢測(cè)每個(gè)New MC的故障、修復(fù)和旁路情況。在芯片測(cè)試診斷過(guò)程中,電腦端接收scan_out的信號(hào),并與正確的響應(yīng)進(jìn)行比較,與芯片同步更新故障、容錯(cuò)和旁路信號(hào),并可用不同標(biāo)識(shí)在電腦端顯示,從而實(shí)現(xiàn)對(duì)每個(gè)New MC的實(shí)時(shí)容錯(cuò)監(jiān)測(cè)。
電腦端的測(cè)試診斷過(guò)程如下所示:
Ftj用于記錄每個(gè)MC產(chǎn)生故障的次數(shù);每個(gè)單元包含2個(gè)DFF;Flag用來(lái)標(biāo)識(shí)是否存在故障MC。
1 初始化:所有的Fti=0;//i=1,2,…,n
2 測(cè)試遍歷New MC;
3forj=0 ton
4 應(yīng)用測(cè)試激勵(lì)0;
5if(存在struck-at-1故障,且Ftj!=-1)
6 則Ftj=Ftj+1;
7 修復(fù)一次;
8else應(yīng)用測(cè)試激勵(lì)1
9if(存在stuck-at-0故障,且Ftj!=-1)
10 則Ftj=Ftj+1;
11 修復(fù)一次;
12elseif(Ftj==1)
標(biāo)記該單元為修復(fù)成功單元;
14endif
15endfor
16Flag=0;
17forj=0 ton
18if(Ftj==0)
19 標(biāo)記該單元為無(wú)故障單元;
20elseif(Ftj==1)
21Flag=1;//啟動(dòng)下一次遍歷修復(fù)
22break;
23elseif(Ftj≥2)//該單元被旁路
24Ftj=-1;
標(biāo)記該單元為修復(fù)失敗被旁路單元;
25endif
26endfor
27if(Flag)
28 轉(zhuǎn)2;
29endif
其中,F(xiàn)ti用來(lái)記錄第i個(gè)New MC產(chǎn)生故障的次數(shù),F(xiàn)lag用來(lái)標(biāo)識(shí)菊花鏈中是否存在有故障的MC。其具體過(guò)程可描述如下:初始化,所有Ft=0,如第1行所示。利用分時(shí)方法測(cè)試遍歷菊花鏈,應(yīng)用測(cè)試激勵(lì)0,用來(lái)檢測(cè)stuck-at-1故障,若scan_out的比較結(jié)果與正確響應(yīng)不同,則對(duì)應(yīng)的Ftj加1,如第4~7行所示;而若不存在stuck-at-1故障,則檢測(cè)是否存在stuck-at-0故障,若存在,則相應(yīng)的Ftj加1,如第8~11行所示;若既不存在stuck-at-0故障,也不存在stuck-at-1故障,則檢查該單元是否已被修復(fù)一次,若被修復(fù)一次,即Ftj==1,則標(biāo)記該單元為修復(fù)成功單元,如第12行所示。完成遍歷后,設(shè)置標(biāo)識(shí)Flag為0,檢查所有New MC的Ft,若Fti=0,標(biāo)記該i單元為無(wú)故障單元,如第18~19行所示;若Fti==1,則表明其對(duì)應(yīng)的Qout已從Q1轉(zhuǎn)向Q2,完成修復(fù),則設(shè)置Flag=1,表示需要進(jìn)行第2次測(cè)試診斷,以完成FF2是否存在故障的測(cè)試,如第20~22行所示(即只要存在1個(gè)被修復(fù)FF1,就會(huì)跳出循環(huán),進(jìn)行第2次修復(fù))。而若Fti≥2,則表明第i個(gè)單元修復(fù)失敗,已被旁路,因此設(shè)Fti為-1,標(biāo)記該單元為修復(fù)失敗被旁路單元,將不能再被使用,如第23~24行所示。檢查Flag,若為1,則表明存在需要檢查FF2的單元,啟動(dòng)第2次修復(fù),否則表明該菊花鏈測(cè)試診斷修復(fù)完成,如26~29行所示。
為驗(yàn)證本結(jié)構(gòu)的有效性,本文對(duì)30×30[12]的MEDA芯片進(jìn)行實(shí)驗(yàn),Multisim[13]被用來(lái)對(duì)本自診斷和容錯(cuò)的菊花鏈進(jìn)行仿真,其時(shí)鐘設(shè)為1 MHZ[14],高電平為3.3 V,低電平設(shè)為0 V。本文對(duì)單故障、多故障、單個(gè)New MC和多個(gè)New MC進(jìn)行仿真。
首先對(duì)出現(xiàn)在單個(gè)New MC上的單故障和多故障進(jìn)行仿真,其仿真結(jié)果如圖6和圖7所示。
Figure 6 stuck-at-1 defects on single New MC圖6 stuck-at-1故障出現(xiàn)在單個(gè)New MC上
Figure 7 Stuck-at-0 defects on signal New MC圖7 stuck-at-0故障出現(xiàn)在單個(gè)New MC上
圖6給出了New MC上出現(xiàn)單個(gè)故障和多個(gè)故障的仿真結(jié)果。如圖6所示,圖中左側(cè)給出了所對(duì)應(yīng)的信號(hào),它們分別為時(shí)鐘信號(hào)CLOCK、掃描輸出scan_out、正確的響應(yīng)response、故障信號(hào)R、FF1輸出Q1、FF2輸出Q2、該New MC的輸出Qout、控制信號(hào)ctl、計(jì)數(shù)器時(shí)鐘信號(hào)counterclk、計(jì)數(shù)器清零信號(hào)counterclr、計(jì)數(shù)器輸出counterout、計(jì)數(shù)器使能信號(hào)counteren、旁路信號(hào)passbyline、計(jì)數(shù)器溢出信號(hào)ccarry,這些信號(hào)與圖3和New MC具體工作過(guò)程中的信號(hào)對(duì)應(yīng),圖6中橫坐標(biāo)為時(shí)間。圖6表示的是New MC的FF1和FF2均存在stuck-at-1故障(仿真中FF1、FF2初始值為0,插入故障為stuck-at-1),第1次訪問(wèn)該New MC時(shí),由于stuck-at-1故障與response的值不同,因此R=1,Counteren被使能,在counterclk下降沿,Counter計(jì)數(shù)一次,counterout由0變1,Qout從Q1轉(zhuǎn)向Q2,該過(guò)程如圖6中虛線框1所示,可見(jiàn)若FF2不存在故障,則修復(fù)成功。但是,F(xiàn)F2同樣被插入了stuck-at-1故障,因此在第2次訪問(wèn)期間,R=1,counteren=1,使能計(jì)數(shù)器,在counterclk的下降沿,計(jì)數(shù)器又計(jì)數(shù)一次,導(dǎo)致該計(jì)數(shù)器溢出,ccarry=1,該過(guò)程如虛線框2所示。由于ccarry為1,導(dǎo)致passbyline=0,計(jì)數(shù)器的使能信號(hào)counteren=0,因此該單元被旁路,在第2次之后的訪問(wèn)中,該單元被永久旁路,即passbyline永久為0,如虛線框3所示。
圖7給出了FF1和FF2上均出現(xiàn)stuck-at-0故障的仿真結(jié)果,與圖6類(lèi)似,在第1次訪問(wèn)期間,由于故障的存在使R為1,因此使能Counter計(jì)數(shù)一次,使Qout從Q1移到Q2,如圖7中虛線框1所示;在第2次訪問(wèn)期間,F(xiàn)F2仍存在故障,因此R仍為1,Counter作第2次計(jì)數(shù),造成passbyline永久為0,該單元被旁路。
圖8給出了相鄰5個(gè)單元的仿真結(jié)果,其左側(cè)仍為每個(gè)New MC對(duì)應(yīng)其結(jié)構(gòu)中的信號(hào),右側(cè)為其電壓,橫坐標(biāo)為時(shí)間。如圖8所示,最上側(cè)的5個(gè)公共信號(hào)分別為時(shí)鐘信號(hào)CLOCK、測(cè)試數(shù)據(jù)信號(hào)scan_in、正確響應(yīng)信號(hào)response、數(shù)據(jù)輸出信號(hào)scan_out,故障信號(hào)R。在第1個(gè)時(shí)鐘周期,New MC 1被訪問(wèn)一次,該單元不存在故障,scan-out與response相同,因此R=0,Counter不作加法,Qout=Q1,該過(guò)程在虛線框1中給出;在第2次訪問(wèn)時(shí),測(cè)試數(shù)據(jù)為1,該單元無(wú)故障,因此Counter保持為0,如虛線框2所示;可見(jiàn)該單元為無(wú)故障單元,因此在第3次和第4次訪問(wèn)中,scan_out總是與response相等,R保持為0。
第2個(gè)New MC的FF1存在stuck-at-1故障,而其FF2也存在stuck-at-1故障,因此在第1次訪問(wèn)時(shí),其故障信號(hào)R=1,在counterclk下降沿,Counter計(jì)數(shù)一次,Qout轉(zhuǎn)向FF2,如虛線框1所示;FF2同樣存在stuck-at-1故障,因此在其第2次的訪問(wèn)中(如虛線框2),其數(shù)據(jù)輸出與正確響應(yīng)不同,故障信號(hào)R=1,計(jì)數(shù)器在counterclk的作用下第2次計(jì)數(shù),因此導(dǎo)致其溢出信號(hào)ccarry為1,從而使得passbyline永久為0,該單元在之后的訪問(wèn)中將被永久旁路,如虛線框3和4所示。
第3個(gè)New MC的FF1存在stuck-at-0故障,F(xiàn)F2存在stuck-at-1故障,在其第1次訪問(wèn)時(shí),應(yīng)用的測(cè)試數(shù)據(jù)為0,因?yàn)槠漭敵雠cresponse相同,因此R=0,Counter未做加法操作,如虛線框1所示;在第2次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)1,由于FF1存在stuck-at-0故障,因此其輸出與response不同,R=1,Counter會(huì)在其時(shí)鐘下降沿計(jì)數(shù)一次,從而其Qout從FF1轉(zhuǎn)向FF2;在第3次訪問(wèn)中,測(cè)試數(shù)據(jù)為0,而FF2存在stuck-at-1故障,因此數(shù)據(jù)與響應(yīng)不同,R為1,計(jì)數(shù)器會(huì)計(jì)數(shù)一次,溢出信號(hào)ccarry為1,如虛線框3所示;在之后的訪問(wèn)中,該單元將會(huì)被旁路,如虛線框4所示。
第4個(gè)New MC的FF1存在stuck-at-1故障,F(xiàn)F2存在stuck-at-0故障。在第1次訪問(wèn)時(shí)應(yīng)用測(cè)試數(shù)據(jù)0,F(xiàn)F1的stuck-at-1故障與response不同,R為1,Counter計(jì)數(shù)一次,Qout轉(zhuǎn)向FF2,如虛線框1所示;在第2次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)0,F(xiàn)F2存在stuck-at-0故障,其數(shù)據(jù)輸出與response相同,R=0,其計(jì)數(shù)器將不會(huì)計(jì)數(shù),如虛線框2所示;在第3次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)1,其stuck-at-0故障將導(dǎo)致R為1,因此計(jì)數(shù)器會(huì)計(jì)數(shù)一次,從而ccarry為1,如虛線框3所示;ccarry=1之后的訪問(wèn)中,該單元將會(huì)被旁路,如虛線框4所示。
Figure 8 Defects on multiple New MCs圖8 多個(gè)MC產(chǎn)生故障容錯(cuò)仿真結(jié)果
第5個(gè)New MC的FF1存在stuck-at-1故障,而FF2為正確單元。第1次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)0,因此可檢測(cè)出FF1的stuck-at-1故障,R=1,計(jì)數(shù)器計(jì)數(shù)一次,Qout從FF1轉(zhuǎn)到FF2,如虛線框1所示;在第2次訪問(wèn)時(shí)應(yīng)用測(cè)試數(shù)據(jù)0,第2個(gè)單元為正確單元,R=0,計(jì)數(shù)器不計(jì)數(shù),如虛線框2所示;第3次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)1,該數(shù)據(jù)輸出與response相同,R=0,計(jì)數(shù)器不計(jì)數(shù),如虛線框3所示;第4次訪問(wèn)時(shí),應(yīng)用測(cè)試數(shù)據(jù)1,DFF為無(wú)故障單元,R=0,計(jì)數(shù)器不計(jì)數(shù),如第4個(gè)虛線框所示。
從仿真結(jié)果來(lái)看,該結(jié)構(gòu)能對(duì)MEDA芯片的菊花鏈進(jìn)行測(cè)試、診斷和修復(fù),并在修復(fù)不成功時(shí),將該單元旁路。另外,New MC總的綜合面積為2 012.34 μm2,小于微陣列單元的面積(2 500 μm2)[9],因此是滿足設(shè)計(jì)要求的。
本文針對(duì)點(diǎn)陣數(shù)字微流控芯片的菊花鏈提出可自測(cè)試、診斷和容錯(cuò)的結(jié)構(gòu),該結(jié)構(gòu)可實(shí)現(xiàn)對(duì)菊花鏈故障進(jìn)行測(cè)試,有故障出現(xiàn)時(shí),可進(jìn)行自修復(fù),修復(fù)失敗時(shí)會(huì)將該單元旁路。本文還給出了電腦端的實(shí)時(shí)監(jiān)測(cè)測(cè)試修復(fù)過(guò)程,通過(guò)該過(guò)程可以友好地在電腦端對(duì)菊花鏈的狀態(tài)進(jìn)行實(shí)時(shí)觀測(cè)。仿真結(jié)果表明了該結(jié)構(gòu)的有效性。