當(dāng)SoC上有超過80%的芯片面積被各種形式的存儲(chǔ)器占用之時(shí),存儲(chǔ)器的DFT測試已經(jīng)變得非常重要。
(一)存儲(chǔ)器故障模型類型:
1.固定故障(SAF),即Stuck at Fault
存儲(chǔ)單元stuck at 1或0。
2.轉(zhuǎn)換故障(TF),即Transition fault
比如可以1->0,但是無法完成0->1的準(zhǔn)換。
3.耦合故障(CF),即Couple Fault
由于鄰接單元,許多單元共享字線和位線,寫入一個(gè)單元可能導(dǎo)致另一個(gè)單元出現(xiàn)相同值。反向耦合(CFin, Inversion Couple Fault)是指當(dāng)寫入一個(gè)值到一個(gè)存儲(chǔ)單元時(shí),該值將反轉(zhuǎn)另一個(gè)存儲(chǔ)單元值。
比如,要測試CF,需在所有單元中寫0,然后在存儲(chǔ)單元A寫1。讀取所有單元值,檢查除了單元A為1外,是否還有其他單元被耦合拉為1了。另外,對(duì)相反值也要采取此流程。
4.橋接故障(BF),即Bridge Fault
兩個(gè)或兩個(gè)以上位線短接在一起就造成了橋接故障(BF)。
(二)存儲(chǔ)器測試算法
測試存儲(chǔ)器測試算法的性能指標(biāo)通常有兩個(gè):
測試時(shí)間
故障覆蓋率
常用的確定性測試算法有:Checkerboard算法、March類算法、MSCAN(Memory Scan)算法、跳步 (GALPAT) 和走步 (Walking 1/0)算法,我們重點(diǎn)介紹Checkerboard算法、March類算法。
MSCAN算法
MSCAN 算法是一種最基本、最簡單的測試算法。首先對(duì)所有待測單元寫入全0,然后讀取所有存儲(chǔ)單元并判斷是否有故障,接著寫入全1,再讀取所有存儲(chǔ)單元并判斷是否有故障,可以檢測所有SAF故障,缺點(diǎn)是僅支持部分耦合故障的測試,故障覆蓋率有限。
Checkerboard棋盤算法
Checkerboard 算法也叫棋盤算法,基本過程是對(duì)每個(gè)存儲(chǔ)單元進(jìn)行賦值,保證每一個(gè)存儲(chǔ)單元的值都與相鄰單元的值不同,這樣就將整個(gè)存儲(chǔ)陣列分為了兩塊:存儲(chǔ)值是0的為A 塊,存儲(chǔ)值是1的為B 塊:

Checkerboard棋盤算法分塊后,按如下過程測試:
(1) 對(duì)A和B塊分別寫入0和1;
(2) 讀所有存儲(chǔ)單元;
(3) 對(duì)A和B塊分別寫入1和0;
(4) 讀所有存儲(chǔ)單元。
該算法的操作數(shù)為4N,N為存儲(chǔ)單元個(gè)數(shù),時(shí)間復(fù)雜度為O(N),可以檢測固定型故障和部分橋連故障,在BIST 算法中應(yīng)用廣泛。
March 測試算法
March算法是一系列的算法,具有較高的故障覆蓋率、測試時(shí)間較短,已經(jīng)廣泛應(yīng)用于大容量SRAM 和DRAM 的測試,目前的March 算法主要有MATS,MATS+,March X、March C、March C-、March C+、March LR 等類型。可以檢測各種內(nèi)存故障(Stuck-At、Transition、Address faults、Idempotent coupling faults)。

March-C 算法以任何順序?qū)?寫入所有存儲(chǔ)單元,然后從位置 0開始以地址升序排序的方法讀取并檢查數(shù)據(jù)是否是0,并將已讀取的位置寫入1,遍歷后,所有的存儲(chǔ)器位都為1。然后我們又從位置0開始以遞增順序讀取 1,并將每次讀取的位置寫為0。然后重復(fù)類似的測試。詳細(xì)步驟如下:
March-C 的測試步驟:

按照上圖的解釋,March算法執(zhí)行步驟可以更簡單的描述如下:
地址遞增:
初始化寫0
讀0,寫1,地址順序遞增
讀1,寫0,地址順序遞增
地址遞減:
讀0,寫1,地址順序降序
讀1,寫0,地址順序降序
按降序讀0
March-C讀寫一共進(jìn)行10次,因此算法復(fù)雜度為10N。

當(dāng)前,大多數(shù)行業(yè)標(biāo)準(zhǔn)使用March和棋盤格算法的組合,通常稱為SMarchCKBD算法。該算法使MBIST控制器能夠進(jìn)行快速行或列訪問來檢測內(nèi)存故障。
我們可以看到景芯SoC訓(xùn)練營也是采用的SMarchCKBD算法:

審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
114文章
17623瀏覽量
190057 -
DRAM
+關(guān)注
關(guān)注
40文章
2372瀏覽量
188020 -
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7713瀏覽量
170779 -
DFT設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
11瀏覽量
9059
原文標(biāo)題:DFT設(shè)計(jì)—MBIST算法
文章出處:【微信號(hào):全棧芯片工程師,微信公眾號(hào):全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
MBIST測試期間的總線錯(cuò)誤怎么解決?
DFT算法與FFT算法的優(yōu)劣分析
請(qǐng)教一個(gè)關(guān)于fft算法的問題,DFT算法與FFT算法在應(yīng)用上有什么區(qū)別?
Nvidia is hiring-Senior DFT Engineer
基于掃描的DFT對(duì)芯片測試的影響有哪些?
dft可測試性設(shè)計(jì)
L220 MBIST控制器技術(shù)參考手冊(cè)
CoreLink 2級(jí)MBIST控制器L2C-310技術(shù)參考手冊(cè)
ARM L210 MBIST控制器技術(shù)參考手冊(cè)
什么是DFT,DFT是什么意思
DFT的快速算法-FFT
滑動(dòng)DFT算法在功率譜估計(jì)中的應(yīng)用

DFT設(shè)計(jì)—MBIST算法測試
評(píng)論