MBIST DFT測試概念


參考博文:https://blog.csdn.net/fengxiaocheng/article/details/80904573  和 https://blog.csdn.net/u011729865/article/details/52756474

三種基本的測試(概念來自參考文檔):
1. 邊界掃描測試;boundary scan test。測試目標是IO-PAD,利用jtag接口互連以方便測試。(jtag接口,實現不同芯片之間的互連。這樣可以形成整個系統的可測試性設計。)
2. 內建自測試BIST;(個人理解:模擬IP的關鍵功能,可以開發BIST設計。一般情況,BIST造成系統復雜度大大增加。memory IP一般自帶BIST,簡稱MBIST)
3. 掃描測試(又叫ATPG)。scan path。與邊界掃描測試的區別,是內部移位寄存器實現的測試數據輸入輸出。測試目標是std-logic,即標准單元庫。(個人理解:掃描測試和邊界掃描,不是一個概念。需要區別對待。內部的觸發器,全部要使用帶SCAN功能的觸發器類型。)

補充:
還有一種測試:
4. 全速測試at-speed-test(其實是屬於掃描測試的一種。只不過測試時鍾來源頻率更快。)
at-speed 就是實速測試, 主要用於scan測試-即AC測試,和mbist測試。這種測試手段的目的是-測試芯片在其工作頻率下是否能正常工作,實速即實際速度。測試時鍾往往是由芯片 內部的PLL產生很快的測試時鍾,用於實速測試。
相對而言 ,一般的測試是20~40兆的測試時鍾,頻率低,測不到transition fault,即使測試通過,實際使用中還會由於使用高頻時鍾發生芯片電路故障。

常見的DFT/OCC結構如下:
特點:
1. Clock MUX必須放在OCC模塊/DFT MUX之前。
2. 時鍾大於50MHz時,使用OCC模塊,否則使用DFT MUX。
3. Clock Gate放在OCC模塊/DFT MUX之后。
4. 對於手動添加的Clock Gate,DFT_SE端口接到 dft_glb_gt_se。
5. 對於綜合工具添加的Clock Gate,DFT_SE端口接到dft_syn_gt_se
注意:
1. DFT_MODE有效時,clock mux的sel信號要保證dft_clk來源於最高頻率的時鍾源。
2. DFT_MUX或者OCC,不能串聯。

OCC(On Chip Clock)結構如下:
注意:
1. slow_clk是類似dft_clk;這個時鍾源由后端提供。個人認為所有dft_clk的來源,頻率不一樣,來源由后端決定,應該是測試引腳輸入的吧?!
2. fast_clk是正常工作時鍾源。 

DFT工程師手里有三大法寶:
法寶一:BSCAN技術– 測試IO pad,主要實現工具是Mentor-BSDArchit,sysnopsy-BSD Compiler;
法寶二:MBIST技術– 測試mem,主要實現工具是Mentor的MBISTArchitect 和 Tessent mbist;
法寶三:ATPG 技術– 測試std-logic,主要實現工具是:產生ATPG使用Mentor的 TestKompress 和synopsys TetraMAX,插入scan chain主要使用synopsys 的DFT compiler。
以下對工具的使用原則做一些介紹:

ATPG工具
Insert scan:
1、雖然教科書會介紹很多種DFT DRC但是在實際設計中95%的工作在修復scan_clk和scan_reset的DRC violation;
2、修復clk/reset violation 的方法主要是用DC插入mux ,目的是使在scan_mode下clk和reset被芯片scan_clk和scan_reset pad控制。 同時,scan_clk和scan_reset pad會用於ATE給芯片施加激勵;
3、插入scan時,DFT Compiler必須修復的DRC violations 類別為D1/D2/D3/D9;
4、做全片級的DFT設計時,需要在scan_in,scan_out,scan_reset,scan_clk的IO pad 的OEN/IE/REN端插入mux,控制pad的輸入和輸出方向。

Atpg patterns產生和仿真:
1、所有的模擬模塊,例如PLL、POR等,一般設置為black-box,無法用ATPG測試其內部;
2、芯片clk、power、reset的控制寄存器,一般不會放到scan_chain上,以免在測試時由於寄存器的動作,改變芯片工作狀態;
3、考慮power domain的開關,一般必須保證在scan測試時,所有power domain都打開,每個數字標准單元都能測試到;
4、如果有模擬的IO pad,一般必須在產生pattern時mask掉,因為他們不是數字的,ATPG工具無法控制它們;
5、業界一般使用DC插入OCC (on chip clocking)模塊,實現at-speed scan測試電路。

MBIST工具
目前使用較多的是MBISTArchi,但是Tessent MBIST以后會成為主流。原因是Mentor公司2013年已經宣布MBISTArchi將不再提供技術支持,而且Tessent MBIST技術更為先進。
1、所有的MBIST設計應該考慮diagnose。加入diagnose電路,方便診斷mem故障,這會在芯片量產時大大提高成品率;
2、由於ARM與Mentor有合作,Coretex-A9以上的ARM核具有share-bus接口,可以很好支持Tessent Mbist,就能夠實現ARM內核的mem的高速測試和訪問,也提高了ARM CPU的性能;
3、Tessent MBIST會使用JTAP,只占用TCK/TMS/TDO/TDI/TRST五個pad,比MBISTArich使用更少的pad資源。
BSCAN 工具
1、所有的模擬IO,一般無法用bscan來測試,不要加上bscan_cells;
2、所有需要測試的數字pad的OEN/IE/REN 在bscan_mode下,需要插mux來控制;
3、所有需要測試的數字pad的PU/PD 在bscan_mode下,一般需要插mux來控制,保證在bscan_mode下,PU和PD=0,才能使bscan HIGHZ測試仿真通過;
4、所有JTAG的強制要求指令如IDCODE,EXIST必須在bscan電路中實現,特別是BYPASS。

MarchC算法 

 

 (一) 存儲器故障模型

常見的存儲器(比如SRAM)故障模型包括:
- 固定型故障(也稱為粘着故障,Stuck-At Faults,SAF):存儲單元中的值固定為0(簡記為SA0,Stuck-At-0)或者1(簡記為SA1,Stuck-At-1),無法發生改變。固定型故障可以通過對待測單元寫入0再讀出0,然后寫入1再讀出1來進行檢測。
- 跳變故障(也稱為轉換故障,Transition Faults,TF):存儲單元中的值無法從0跳變到1(簡記為TF(0->1)),或者從1跳變到0(簡記為TF(1->0))。跳變故障可以通過寫入1到0的跳變再讀出0,然后寫入0到1的跳變再讀出1來進行檢測。
- 耦合故障(Coupling Faults,CF):一個存儲單元的值發生改變,導致另一個存儲單元的值發生改變,具體又可以分為以下幾種類型:1)反相耦合故障(CFin:inversion):耦合單元做與存儲單元相反的狀態變化;2)等冪耦合故障(CFid:idempotent):某個存儲單元的值發生跳變時,耦合單元的值變為特定值(0或者1);3)狀態耦合故障(CFst:state):某個存儲單元的某個特定狀態引起耦合單元跳變為某一狀態(0或者1);4)橋接故障(BF:Bridging Faults):這類故障主要是由兩個單元或多個單元之間的短路或者橋接引起的,通常由一個特定的值激發出故障行為。橋接耦合故障又分為“與橋連故障(ABF)”和“或橋連故障(OBF)”,其行為分別類似於“與邏輯”和“或邏輯”;5)動態耦合故障(Dynamic Coupling Fault,CFdyn)。耦合故障可以通過先升序對所有存儲單元進行寫讀操作,然后再降序對所有存儲單元進行寫讀操作的方法進行故障檢測
- 相鄰圖形敏感故障(Neighborhood Pattern Sensitive Faults,NPSF):一個存儲單元的內容或者改變這個單元內容的能力受另一個存儲單元內容的影響。
- 地址譯碼故障(Address Decoder Faults,ADF或AF):這種故障主要發生在地址譯碼邏輯中,地址與存儲單元是一一對應的,一旦地址譯碼邏輯發生故障,將會出現以下四種故障類型中的一種或多種:1)對於給定的地址,不存在相對應的存儲單元;2)對於一個存儲單元,沒有相對應的物理地址;3)對於給定的地址,可以訪問多個固定的存儲單元;4)對於一個存儲單元,可以通過多個地址訪問。

 需要指出的是,在很多文獻中,經常會看到DC Faults,查了很多資料,都沒查到這里的DC是什么意思,一些資料上只說是直接故障或者短路故障,個人揣測這里的DC應該是Direct Coupling的簡寫,即直接耦合故障。

MBIST的框架

總體上就是分為三塊:一是向量生成電路(在test 模式下生產需要的地址和數據)

二是控制電路(通常是一個狀態機,通過狀態機實現:寫0讀0比較,寫1讀1比較,再寫0讀0比較)

三就是比較電路,在狀態機對應的狀態下,進行比較操作。

 

 這里的MUX數據選擇器,就是通過控制電路產生的控制信號實現test信號和function信號的選擇(信號包括地址信號和data信號)

 

 

這里,我們用的響應分析器是比較器。

 

 

 

 

幾種測試方式相比較,bist的特點:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM