黃貴林,吳其林
(巢湖學院 網(wǎng)絡與分布式系統(tǒng)研究所,安徽 巢湖 238000)
基于多掃描鏈的測試集二維矩陣合并方法
黃貴林,吳其林
(巢湖學院 網(wǎng)絡與分布式系統(tǒng)研究所,安徽 巢湖 238000)
隨著集成電路設計制造水平的提升,電路的集成度也在不斷提高,電路測試所需數(shù)據(jù)量也在不斷增長,為解決自動測試設備(ATE)存在的一些新的挑戰(zhàn),提出了基于多掃描鏈的測試集二維矩陣合并方法,復用片上網(wǎng)絡(NoC)架構,廣播目標測試集,提高了測試可訪問性.實驗表明,與同類方案相比,該方案的合并壓縮率提高了3.6%,且矩陣分離電路簡單.
測試數(shù)據(jù);矩陣;合并
隨著芯片設計和制造水平的不斷提高,芯片的集成度也在按照摩爾定律的規(guī)律在不斷提升,芯片測試所需要的測試數(shù)據(jù)量也在不斷增加.利用ATE通道和解壓邏輯,并行對多個IP核進行測試,與單ATE獨立測試相比,硬件面積開銷增大[1].片上系統(tǒng)測試時間和測試數(shù)據(jù)量是衡量測試成本的重要標準[2].DFT可以在一定程度上解決測試成本問題[3,4],但采用并行測試技術[2,5],可以進一度降低測試成本[6].
為此,文獻[7]提出使用單個ATE通道,發(fā)送共享測試集,通過多IP核并行測試,減少測試成本.文獻[8]使用1個ATE引腳,廣播通過重疊生成的目標測試集,但要求使用先進先出結構的隊列和專用邏輯處理目標測試集.
為解決測試數(shù)據(jù)和測試訪問困難這兩個問題,利用SCDS[9]算法對測試集進行合并,復用片上網(wǎng)絡架構,通過單ATE引腳,向所有IP核廣播目標測試集,對IP核進行并行測試.根據(jù)測試集合并方法,被測電路對接收到的目標測試集進行分離.與文獻[8]相比,SCDS算法不需要添加ATE引腳,降低測試訪問硬件面積開銷.將測試向量劃分成多條掃描鏈,測試數(shù)據(jù)以多條掃描鏈形式同時向掃描鏈掃入,減少了測試數(shù)據(jù)的掃描移入時間,縮短了測試時間.文獻[9]提出的是基于單掃描鏈的方案.為進一步縮短測試時間,提高測試訪問并行性,簡化硬件設計,本文提出一種基于多掃描鏈的測試集二維矩陣合并方法.
測試集T1有四個測試向量T1.1、T1.2、T1.3、T1.4、T1.5,分別為 100001011101、110101010011、011011111001、010001011101、101010100111.將測試集T1對應芯片測試核的觸發(fā)器劃分成3條掃描鏈,掃描鏈長度為 4,于是 T1.1、T1.2、T1.3、T1.4、T1.5每個測試向量,劃分成四條掃描鏈.測試集T2為1X001100101X1111010010101X10X011010100X11 1.T1測試集向T2測試集合并,即T2測試集的大部分測試向量,能夠以多掃描鏈的形式,與T1測試集的大部分測試向量能夠合并,是包含關系.T2測試集劃分成6條掃描鏈,掃描鏈長度為7.
T2有6條掃描鏈,掃描鏈長度為7,可以將掃描鏈上的所有測試位,按照坐標軸對其位置進行坐標軸定位.對于T2測試集所有測試位的進行坐標軸定位(x2,y2),x2 和 y2的范圍是(0<=x2<=6,0<=y2<=5).測試集T1的所有測試向量,都劃分成長度為4、條數(shù)為3的掃描鏈結構.對于單個測試向量的所有測試位,按照坐標軸,其位置(x1,y1)范圍是(0<=x1<=3,0<=y1<=2).T2 掃描鏈矩陣從不同的位置(x2,y2)包含合并 T1.1、T1.2、T1.3、T1.4 掃描鏈矩陣.
T1.1向T2.1合并,T1.1的所有12位測試位(x1,y1),與 T2 對應的測試位(x2,y2)相容,即與 T2的測試位(x1+00,y1+00)相容.T1.1構成的矩陣,與T2矩陣當中左上角頂點為(00,00)即(0,0)、右下角頂點為(3,2)構成的子矩陣相容.位置為(1,0)的測試位X被賦值為0.
同理,T1.2構成的矩陣,與T2矩陣當中左上角頂點為(00,10)即(0,2)、右下角頂點為(3,4)構成的子矩陣相容.位置為(0,5)的測試位X被賦值為0.
同理,T1.3構成的矩陣,與T2矩陣當中左上角頂點為(11,00)即(3,0)、右下角頂點為(6,2)構成的子矩陣相容.位置為(4,1)的測試位X被賦值為1.
同理,T1.4構成的矩陣,與T2矩陣當中左上角頂點為(10,10)即(2,2)、右下角頂點為(5,4)構成的子矩陣相容.位置為(4,3)的測試位X被賦值為0.
同理,T1.5構成的矩陣,與T2矩陣當中左上角頂點為(11,11)即(3,3)、右下角頂點為(6,5)構成的子矩陣相容.位置為(4,3)、(3,5)的測試位 X 被賦值為0、0,其中位置為(4,3)的測試位X在上一步合并中已經被賦值為0.
pattern_number1、pattern_length1 和 pattern_number2、pattern_length2分別為測試集T1和T2的測試向量個數(shù)、測試向量長度.將T2所有測試向量劃分成長度為L2的N2條掃描鏈,由此構成L2*N2矩陣2.將T1所有測試向量劃分成長度為L1的N1條掃描鏈,由此得到L1*N1矩陣1.將矩陣1與矩陣2的所有L2*N2子矩陣,進行相容性比較.如相容,則將該矩陣合并至矩陣2,即將矩陣2中相關無關位賦值.如不相容,則與T2其他測試向量以矩陣的形式,進行相容性比較.如果矩陣1與矩陣2中的所有測試向量的子矩陣都不相容,則將該矩陣添加至矩陣2中,作為目標測試向量.直至T1中所有測試向量,都與T2中的測試向量進行相容性比較.
L1=(pattern_length1+Nl-1)/Nl,
L2=(pattern_length2+N2-1)/N2.
x,y表示矩陣 1從矩陣 2中坐標(x,y)位置,開始進行相容性判斷,即矩陣1中位置為(x1,y1)的測試與矩陣2中位置為(x1+x,y1+y)的測試位,對每個測試位進行相容性判斷.
1:for(N2=2;N2<=pattern_length2;N2++)
2:for(N1=2;N1<=n2;N1++)
3:for(t1=0;t1<pattern_number1;t1++)
4:{
5:for(t2=0;t2<pattern_number2;t2++)
6:{
7: for(x=0;x<=L2-L1;x++)
8: {
9: for(y=0;y<=N2-N1;y++)
10: {
11: for(y1=0,y2=y;y1<N1;y1++,y2++)
12: {
13: for(x1=0,x2=x;x1<L1;x1++,x2++)
14: 如果bit1[t1][y1][x1]與bit2[t2][y2][x2]不相容,則 break;
15: 如果x1!=L1,則break;
16: }
17: 如果y1==N1,則break;
18: } }
19: 如果y1==N1,則break;
20: }
21: 如果x<=L2-L1且y<=N2-N1,則對子x1*y1矩陣無關位X進行賦值
22:}
23:如果t2==pattern_number2
24: {
25: for(i=0;i<N2;i++)
26: {
27: for(j=0;j<L2;j++)
28: {
29: 如果 i>=N1 或者 j>=L1,將無關位X寫入合并測試集
30: 否則,將bit1[t1][i][j]寫入合并測試集
31: }
32: }
33: }
表1 測試集二維合并順序
34:}
s13207向s38417合并,得到目標測試集{s13207,s38417}.s38584 向目標測試集{s13207,s38417},得到新的目標測試集{s38584,s13207,s38417},s15850、s9234、s5378 依次向目標測試集合并,得到不斷更新的目標測試集,最后得到最新的目標測試集 {s5378,s9234,s15850,s38584,s13207,s38417}.
圖1 矩陣分離結構
根據(jù)本文矩陣分離結構,對IEEE1500結構進行修改,借用NoC架構的網(wǎng)絡,以數(shù)據(jù)包的形式傳輸測試數(shù)據(jù)和測試響應.圖1是根據(jù)上述測試集T1得到的矩陣分離結構,依據(jù)測試向量劃分的長度和條數(shù),對目標測試集進行分離,得到與測試核相對應的具體的測試集.圖中所示分離電路是根據(jù)坐標Y2,進行y軸方向的測試集分離,數(shù)據(jù)分配器是根據(jù)坐標X2,進行x軸方向的測試集分離.當y2=10時,分離電路分離得到F2、F3、F4所在的掃描鏈,當x2=10是,數(shù)據(jù)分配器分離得到目標測試集7條掃描切片的第3、4、5、6條掃描切片.第0個觸發(fā)器至第11個觸發(fā)器,分配得到自己的測試位,集ORA分離得到自己的測試集.
為證明本文方案可行性和高效性,采用Microsoft Visual C++作為實驗平臺,選用標準電路ISCAS’89的6個測試集進行合并實驗.實驗結果如表2所示,本文方案借用NoC架構進行測試訪問,降低了測試訪問成本.通過測試集有序合并,測試數(shù)據(jù)壓縮率達到44.2%,有效的降低了測試數(shù)據(jù)量.
表2 實驗結果
將測試向量,劃分成多條掃描鏈,構成矩陣形式的多掃描鏈測試數(shù)據(jù).測試集當中存在大量的無關位X,長度長的測試向量形成的大矩陣,可以合并長度短的測試向量形成的小矩陣,為測試集合并提供了可能.與同類方案相比,具有更好的測試集合并效果,且矩陣分離電路為組合邏輯,易于實現(xiàn),簡化了測試集分離過程,有利于復用片上網(wǎng)絡架構.為硬件電路測試集處理提供了新的處理方向和處理方法.
〔1〕R.Dorsch,R.H.Rivera,H.J.Wunderlich and M.Fischer “Adapting an SOC to ATE concurrent test capabilities,”Proc. Int. Test Conf.,pp.1169-1175,2002.
〔2〕C.Barnhart,V.Brunkhorst,F.Distler,O.Farnsworth,B.Keller,and B.Koenemann,“OPMISR:the foundation for compressed ATPG vectors,”Proc.Int.Test Conf.,pp.748-757,2001.
〔3〕J.Bedsole,R.Raina,A.Crouch,and M.Abadir, “Very low cost testers:opportunities and challenges,” IEEE Design & Test of Computer,pp.60-69,2001.
〔4〕Test Data Compression Roundtable, IEEE Design & TestofComputers,pp.76-87,March-April 2003.
〔5〕E.Volkerink,A.Khoche,J.Rivoiretal,“Testeconomics formulti-site testwith modern cost reduction techniques,”Proc.VLSI Test Symposium,pp.411-416,2002.
〔6〕J.Rivoir, “Lowering cost of test:parallel test or low-cost ATE,”Proc.Asian Test Symposium,pp.360-364,2003.
〔7〕K.Lee,J.Chen and C.Huang, “Using a single inputto supportmultiple scan chains,”Proc.Int.Conf.Computer-Aided Design,pp.74-78,1998.
〔8〕T. Shinogi, Y. Yamada, T. Hayashi, T.Yoshikawa and S.Tsuruoka, “Between-core vector overlapping for test cost reduction in core testing,”Proc.Asian Test Symposium,pp.268-273,2003.
〔9〕Zeng,G.,Ito,H.“Concurrent core test for test cost reduction using merged test set and scan tree,” Proceedings of 2005 IEEE International Conference on Digital Object Identifier:143-146,2005.
TP302
A
1673-260X(2017)10-0041-03
2017-07-16
巢湖學院校級科研資助項目(NO:XLY-201409)