李志威,潘中良,葉小敏
(1 廣州民航職業(yè)技術學院 飛機維修工程學院,廣州 510800;2.華南師范大學 物理與電信工程學院,廣州 510006;3.馬瑞利汽車電子(廣州)有限公司,廣州 510800)
隨著芯片集成度的提高,對其測試也越來越困難。諸如Altera公司的大多數的FPGA和CPLD芯片、TI公司的DSP芯片以及Atmel公司的一些AVR芯片等,其共同特點是體積小、引腳多而密集,對于它們的板級測試,常規(guī)的探針測試方法難以進行,測試準確度更難以保證[1-3]。目前對于大規(guī)模集成電路的板級測試,研究較多的是邊界掃描技術。邊界掃描測試標準為大規(guī)模集成電路芯片提供了統一的測試標準,使得它們及所在電路板具有較好的電路可測性[4-6]。目前,已有研究將邊界掃描技術應用于大型電路的測試環(huán)節(jié),例如C919交換機以及在裝備產品的應用研究[7-8]。
在大規(guī)模集成電路的板級測試過程中,常見的電路中的故障類型有開路故障、呆滯型故障和短路故障。開路故障即兩芯片的互連管腳懸空;呆滯型故障可分為呆滯于邏輯“1”和呆滯于邏輯“0”;短路故障又稱橋接故障,它是兩個或以上的信號線橋接在一起引起的故障,可分為“或”短路(表現為邏輯“1”的驅動能力更強)、“與”短路(表現為邏輯“0”的驅動能力更強)和弱短路(最終的邏輯值不確定)[9-10]。
常用的測試算法包括走步“1”算法、改良二進制技術序列算法、最小權序列算法和計數補償算法等[3,9]。但是這些測試算法在實際測試應用中針對上述故障類型存在一定的誤判率和混淆率[9],為了更準確有效地進行測試,本文提出在互連網絡兩端的邊界掃描單元分別做輸出操作的測試方法。該方法可以兼容上述的測試算法,提高測試系統的故障判斷能力。
超大規(guī)模集成電路的板級測試主要包括互連測試和簇測試?;ミB測試指具有邊界掃描功能的芯片間互連情況測試,主要過程是提取電路網表文件和BSDL文件中的信息,定位邊界掃描芯片,再遍歷它們的所有互連網絡。簇測試是指用具有邊界掃描功能的芯片來“包圍”不具備邊界掃描功能的芯片或其他組件,使得這些芯片或組件能通過邊界掃描方法進行測試。在實際測試中,研究更多的是測試算法問題,這些算法考慮的是只對某一芯片做輸出操作,再從獲得的響應矩陣進行故障分析,容易出現故障判斷錯誤,特別是對開路故障與呆滯型故障的區(qū)分、短路故障與呆滯型故障的區(qū)分等容易出現誤判的情況,誤判的原因是兩類故障獲得了相同的響應矩陣。本文提出在互連網絡兩端分別作輸出操作的測試方法來解決該問題,并利用此方法配合走步“1”算法為例來說明該方法的優(yōu)點。
如圖1所示,具有邊界掃描功能的芯片1和芯片2互連,芯片1的I/O管腳懸空時為高電平,芯片2的I/O管腳懸空時為低電平,網絡2和網絡4分別設置了開路和呆滯“0”故障。如果用走步“1”算法生成測試向量,由芯片1作輸出操作,可能出現圖1(a)中的故障混淆,此時無法區(qū)分開路故障和呆滯“0”故障。如果用同樣的測試向量對芯片2再做1次輸出操作,如圖1(b)所示,得到了不同的響應矩陣。結合兩次的響應矩陣,可以進行準確的故障判斷。
圖1 開路故障與呆滯型故障區(qū)分
如圖2所示,假設芯片1的短路輸出類型為“與”短路,芯片2的短路輸出類型為“或”短路,網絡2和網絡4分別設置了開路和呆滯“0”故障。如果用走步“1”算法生成測試向量,由芯片1作輸出操作,可能出現圖2(a)中的故障混淆,此時無法區(qū)分短路故障和呆滯“0”故障。如果用同樣的測試向量對芯片2再做1次輸出操作,如圖2(b)所示,得到了不同的響應矩陣。結合兩次的響應矩陣,可以進行準確的故障判斷。
圖2 短路故障與呆滯型故障區(qū)分
在互連網絡兩端的邊界掃描單元分別作輸出操作的測試方法,結合改良二進制技術序列、最小權序列和計數補償等算法進行測試,同樣可以增加其故障分辨能力,且該方法不會增加測試向量的生成難度,測試控制軟件容易實現。
測試系統一般包括軟件控制平臺、測試控制電路以及被測電路板。本文設計的測試系統如圖3所示,軟件控制平臺與控制電路的接口采用USB通信,測試控制電路與被測電路采用JTAG接口連接。
圖3 本文測試系統
軟件控制平臺采用VC++和MFC編程,與測試控制電路采用USB通信,驅動為Cypress的通用驅動。針對邊界掃描測試的特點,把軟件控制平臺以模塊的形式實現。當進行不同的測試時,只要調用相應的模塊即可,方便用戶做有針對性的測試,操作直觀。軟件平臺提供的功能包括測試文件打開和編輯,連接測試設備,完備性測試模塊,互連測試模塊以及簇測試模塊等。
軟件平臺應用了在互連網絡兩端的邊界掃描單元分別做輸出操作的測試方法。其中互連測試的實現流程如圖4所示,接收向量矩陣有兩部分,通過這兩個向量矩陣可以對一些電特性相似的故障進行區(qū)分,以達到更高的故障分辨率。
圖4 互連測試流程
測試控制電路總體框架如圖5所示。測試控制電路通過USB接口與軟件控制平臺通信,JTAG接口與被測電路板的JTAG接口連接。
圖5 測試控制電路的總體框架
測試電路板主要由具備邊界掃描功能的芯片EPM7064AET44和EP1C3T144構成。電路還包括不具備邊界掃描功能的高速八位總線收發(fā)器芯片MC74VHC245。其原理如圖6所示,為了滿足電路板的可測性,使用專用的邊界掃描測試芯片SN74LVTH182512。
由于該測試電路板的主要目的是進行邊界掃描測試的實驗,所以D/A電路及其他擴展電路部分沒有在該測試板上體現,芯片間的互連管腳采用排針和跳線帽連接,以方便制造電路故障進行測試實驗。同時,由于JTAG口也有在線調試的作用,為了減少電路中的接口數量,使用跳線形式來連接邊界掃描鏈路,使得電路板上只需1個JTAG口就可以滿足邊界掃描測試要求,也可實現EP1C3T144和EPM7064AET44的在線調試。
圖6 被測電路板的邊界掃描結構
在測試實驗時,測試板的測試通路采用串行連接方式,電路中3個具有邊界掃描功能的芯片都沒有包含TRST信號引腳。U1和U2之間可以做互連測試,U1、U3和U4構成簇結構,可以做簇測試。
軟件控制平臺可以完成完備性測試、互連測試和簇測試。由于篇幅有限,完備性測試相對簡單,這里不對測試結果進行分析,但需要注意的是必須先完成完備性測試,確認邊界掃描鏈路完好,再進行后面的互連測試和簇測試。簇測試的原理和算法與互連測試類似,這里重點分析互連測試。在互連測試和簇測試上實現了對互連網絡兩端的邊界掃描單元分別做輸出操作的測試方法,兼容走步“1”、改良二進制技術序列、最小權序列和計數補償等測試算法,可以選擇其中一種算法進行測試。下面以走步“1”算法進行單故障和綜合故障測試結果分析。
測試電路板上分別設置了開路、短路、呆滯“0”和呆滯“1”故障,如圖7所示。設置開路的網絡分別是Net2(U1的127腳和U2的2腳)、Net8(U1的121腳和U2的10腳)和Net14(U1的111腳和U2的19腳)。測試結果如表1所示:包含2個測試響應矩陣,測試矩陣1為U2作輸出操作獲得的響應矩陣(下同),測試矩陣2為U1作輸出操作獲得的響應矩陣(下同)。從測試結果可以看出:對于開路故障的診斷結果正確。
圖7 測試電路板分別設置的故障位置
如圖7所示,電路板上設置的短路故障是網絡Net1(U1的128腳和U2的1腳)與Net9(U1的120腳和U2的12腳)短路,網絡Net5(U1的124腳和U2的7腳)與Net13(U1的112腳和U2的17腳)短路。從表2的測試結果可以看出:測試平臺準確地判斷了故障位置以及故障類型。同時,在多次測試實驗中發(fā)現芯片EP1C3T144的輸出管腳短路是“或”短路,芯片EPM7064AET44的輸出管腳短路是“與”短路,芯片SN74LVTH182512的輸出管腳短路是“與”短路。從測試結果可以看出:對于短路故障的診斷結果正確。
表1 開路故障測試數據和故障診斷結果
表2 短路故障測試數據和故障診斷結果
如圖7所示,電路板上設置的呆滯“0”故障是網絡Net6(U1的123腳和U2的8腳)橋接與地。從表3的測試結果可以看出:對于呆滯“0”故障的診斷結果正確。
表3 呆滯“0”故障測試數據和故障診斷結果
表4 呆滯“1”故障測試數據和故障診斷結果
如圖7所示,電路板上設置的呆滯“1”故障是網絡Net4(U1的125腳和U2的6腳)橋接于電源。從表4的測試結果可以看出:對于呆滯“1”故障的診斷結果正確。在測試中需要注意:由于是用電源直接與I/O管腳連接來設置故障,所以不宜長時間測試,測試完畢應立刻斷開連接,以免損壞電路。
測試板上設置的綜合故障和測試結果如圖8所示。網絡Net2(U1的127腳和U2的2腳)與網絡Net9(U1的120腳和U2的12腳)短路,Net4(U1的125腳和U2的6腳)、Net7(U1的122腳和U2的9腳)和Net13(U1的112腳和U2的17腳)開路,Net12(U1的113腳和U2的16腳)呆滯“0”故障,Net15(U1的110腳和U2的20腳)呆滯“1”故障。從表5測試結果可以看出:對于電路板中存在多種故障的情況,測試平臺能夠正確給出診斷結果,沒有出現故障歧義。
圖8 測試電路板設置的綜合故障位置
表5 綜合故障測試數據和故障診斷結果
本文通過設計和實現超大規(guī)模集成電路的板級測試系統,對超大規(guī)模集成電路所在電路板設置故障,進行了大量測試實驗,得出以下結論:
1)對于超大規(guī)模集成電路板的板級測試,邊界掃描技術提供了測試標準,能很好地解決電路的互連測試和簇測試。
2)提出的測試建議是在互連網絡兩端的邊界掃描單元分別做輸出操作,這樣可對一些電特性相似的故障做進一步區(qū)分,給出更準確的測試結果,從而提高測試系統整體的故障分辨能力。通過本文實驗結果可以看出:該方法對單故障和綜合故障都能準確地進行診斷。