摘要:本文介紹了一款RISC_CPU的可測性設(shè)計,為了提高芯片的可測性,采用了掃描設(shè)計和存儲器內(nèi)建自測試,這些技術(shù)的使用為該芯片提供了方便可靠的測試方案。
1 引言
隨著IC設(shè)計方法與工藝技術(shù)的不斷進步,集成電路結(jié)構(gòu)和功能日益復(fù)雜,測試問題成為必 須考慮的關(guān)鍵問題,測試成本作為整個IC產(chǎn)品成本的主要組成部分,也受到了極大的重視。由 于國內(nèi)自動測試設(shè)備(Automatic testing Equipment)主要依賴進口,價格昂貴,測試圖形產(chǎn)生, 特別是測試量產(chǎn)過程的花費(例如測試時間),就顯得尤為重要。為了使測試成本保持在合理 的限度內(nèi),最有效的方法就是采用可測性設(shè)計(Design For teSTibility)??蓽y性設(shè)計(DFT) 是適應(yīng)集成電路的發(fā)展要求所出現(xiàn)的一種技術(shù),主要任務(wù)是通過適當?shù)脑O(shè)計重構(gòu)或調(diào)整來提高 電路整體性能的輔助設(shè)計方法,其核心是通過適當?shù)那捌诖鷥r來提高電路的可測性,即可控制 性和可觀察性,降低產(chǎn)品的測試成本。本文設(shè)計的RISC_CPU是一個復(fù)雜的數(shù)字邏輯電路,采 用DFT策略可以很好地解決測試問題。
2 CPU 結(jié)構(gòu)
本文設(shè)計的RISC_CPU,主要分為幾個模塊,各個模塊之間的互連關(guān)系如圖1所示。
1. 時鐘發(fā)生器(clkgen):產(chǎn)生一系列的時鐘信號送往 CPU 其他部件;
2. 指令寄存器(register):存儲指令;
3. 累加器(accum):存放算術(shù)邏輯運算單元當前的結(jié)果,它也是算術(shù)邏輯運算單元雙目運算中的一個數(shù)據(jù)來源;
4. 算術(shù)邏輯運算單元(alu):根據(jù)輸入的不同操作碼分別實現(xiàn)相應(yīng)的加、與、讀、寫、異或,跳轉(zhuǎn)等指令;
5. 數(shù)據(jù)輸出控制器(datactl):控制累加器的數(shù)據(jù)輸出;
6. 狀態(tài)控制器(control):CPU 的控制核心,用于產(chǎn)生一系列的控制信號,啟動或停止某些部件;
7. 程序計數(shù)器(counter):提供指令地址,以便讀取指令;
8. 地址多路器(adr):選擇輸出的地址是 PC(程序計數(shù))地址還是跳轉(zhuǎn)的目標地址;
9. 狀態(tài)復(fù)位器(machine),狀態(tài)控制器復(fù)位信號生成模塊。
3 基本概念釋義
3.1 掃描
掃描設(shè)計方法是通過將電路中的時序元件替換為相應(yīng)的可掃描的時序元件(即掃描單元), 然后將它們串聯(lián)起來,形成一個從測試輸入到測試輸出的串行移位寄存器。這樣,測試數(shù)據(jù)由 測試輸入,通過移位,到達要控制的單元;內(nèi)部數(shù)據(jù),再次通過移位,由測試輸出的端口,觀 察結(jié)果。
3.2 基于沿觸發(fā)的掃描單元結(jié)構(gòu)
圖2是掃描單元構(gòu)成,其工作原理是:在掃描模式控制下實現(xiàn)數(shù)據(jù)的掃描輸出,即T/N =1 時,掃描數(shù)據(jù)從i s 輸入,在時鐘作用下從Q輸出,輸出的是掃描輸入的數(shù)據(jù)。而當T/N = 0時, 掃描單元處于正常工作模式,也就是在時鐘作用下從Q輸出,但輸出的是單元正常工作的數(shù)據(jù)。
4 掃描設(shè)計
4.1 自動掃描單元替換
RISC_CPU有近萬個時序單元,為了獲得較高的故障覆蓋率,采用了全掃描的設(shè)計方案, 使用Synopsys公司Design Compiler自動完成測試插入功能,用最基本的掃描觸發(fā)器來替換時序 單元,共設(shè)計了9條掃描連, 測試激勵使用Synopsys公司的TetraMAX測試產(chǎn)生工具產(chǎn)生出來:共 產(chǎn)生組合測試向量1413個,其故障覆蓋率達到95.06%;產(chǎn)生時序測試向量147個,覆蓋率增加到 97.39%。在剩余2.61%未覆蓋的故障中,1.4%的故障是電路設(shè)計中的冗余故障。
4.2 掃描移位測試
測試使能端test_se=1,將電路置為掃描模式,每條掃描鏈上的所有觸發(fā)器數(shù)為n,從scan_in送 入一個長為n+4的輸入序列:00110011…0011。這個序列將在每個掃描觸發(fā)器中產(chǎn)生所有可能的 4種跳變信號情況:0→0,0→1,1→1,1→。從scan_out可以觀測到信號跳變情況。這個測試覆 蓋了觸發(fā)器中大多數(shù)單故障型故障,從而確保掃描鏈的移位操作不出錯。由于9條掃描鏈可以并 發(fā)測試,以最長掃描鏈的長度為準,完成移位測試的測試時間約為582=(289*2+4)個測試時鐘 周期。
4.3 固定型故障的測試
單固定型故障是芯片測試的主要目標。由于我們采用全掃描設(shè)計,因此對大部分電路可以 使用組合電路的測試方式完成,即測試輸入數(shù)據(jù)通過掃描鏈準備好后,只經(jīng)過一個節(jié)拍就進行 輸出響應(yīng)的捕獲。但是,由于RAM的存在,讀寫RAM的信號不可觀測和控制,因此對于最靠近 RAM的一級觸發(fā)器到RAM之間的組合邏輯,稱為RAM的陰影邏輯(shadow logic),無法通過組 合電路的測試方式完成。解決這個問題一般有兩種方式,一種方式是在RAM外部插入測試點來 提高陰影邏輯的可控制性和可觀測性, 由于這會影響訪存RAM的性能,這種方案在該 RISC_CPU中不可取。另一種方式被采用,即對RAM建立等價功能模型,這將導致需要用測試 時序電路的方式來測試陰影邏輯。
為了保證測試時鐘的可控性,在芯片測試時需要將測試控制信號test 置為有效(test=1),使 芯片工作在測試方式。對一個芯片的測試過程如下:在掃描模式下,測試激勵通過一條或幾條 掃描的scan_in管腳,串行移位到響應(yīng)的掃描觸發(fā)器。當一個測試的所有輸入激勵準備好后,使 用系統(tǒng)時鐘將測試激勵送入被測邏輯。一個時鐘周期(對組合測試)或幾個時鐘周期(對時序 測試)后從被測模塊的輸出端口所在的掃描鏈上,將輸出信號依次串行移位到相應(yīng)的scan_out 引 腳,將讀出的數(shù)據(jù)與期待的輸出比較,以判斷被測邏輯中是否存在故障。
5 存儲器測試
本文采用了Mentor 公司的MBIST 插入工具MBISTArchitect。MBISTArchitect 可以創(chuàng)建和 連接RTL 級BIST 邏輯到待測芯片中。RISC_CPU 的存儲器由RAM1、RAM2、RAM3 三塊大 小分別為20*128 字節(jié)、64*128 字節(jié)、64*48 字節(jié)的存儲器構(gòu)成面積約為45%,我們用三塊帶有 比較結(jié)構(gòu)的MBIST 電路,這三塊MBIST 是通過mbist_addr 和MBIST 模塊來控制的,三塊MBIST 電路共享測試控制信號hold_1 和診斷控制信號debug_z 以及三個測試輸出tst_dONe、fail_h 和 scan_out(錯誤定位即診斷數(shù)據(jù)輸出)。MBIST 測試使能信號由mbist_addr 解碼得到,從而決定三塊MBIST 電路的工作次序以及最終的芯片測試輸出,他們之間的關(guān)系由表1 給出。
由表1可知:當mbist_addr為00時,ram1的MBIST電路的控制信號即為外部相應(yīng)輸入的控制 信號,其他兩個ram模塊的MBIST電路的控制信號輸入置為0。異步復(fù)位置位有效,系統(tǒng)處于ram1 的測試狀態(tài),系統(tǒng)測試輸出即為ram1的測試輸出;當mbist_addr為01時,系統(tǒng)處于ram2的測試狀 態(tài),系統(tǒng)測試輸出即為ram2的MBIST測試輸出;當mbist_addr為10時,系統(tǒng)處于ram3的測試狀 態(tài),系統(tǒng)測試輸出為ram3的MBIST測試輸出。
為了得到每一塊RAM的測試結(jié)果,我們將MBIST的測試結(jié)果通過第九條掃描鏈移出,在多 個分組測試中,測試時間最長的執(zhí)行MBIST算法大約需要1044800個時鐘周期,加上初始化和測 試完成后將測試結(jié)果掃描移出的時間,共需要的時鐘周期數(shù)不超過10445900個,如果測試時鐘 的頻率為20MHZ,則測試時間約為0.52秒。借助于BIST,對嵌入式存儲器的單固定型故障、開 路故障、地址譯碼故障均獲得了100%的故障覆蓋率,達到了預(yù)定的要求。
6 結(jié)束語
本文合理地選擇了邊界掃面和內(nèi)建自測試方式,根據(jù)時鐘域劃分各個功能單元,修改設(shè)計, 消除了設(shè)計規(guī)則違反,選擇了適當?shù)木C合流程,在對設(shè)計負面影響不大的情況下,僅增加了0.2% 的時序消耗和0.02%的面積消耗,取得了良好的可測性效果,達到了芯片邏輯的97.39%的單固 定型故障覆蓋率,能夠監(jiān)測到RAM中100%的單固定型故障覆蓋率,滿足了芯片生產(chǎn)測試需求。
本文作者創(chuàng)新點:采用全掃描設(shè)計插入九條測試鏈并發(fā)測試大大縮減了測試時間,極大降 低了測試費用。