文獻標識碼: A
文章編號: 0258-7998(2012)10-0075-02
由于PLD具有可重復編程性,在很多時候不必為實現(xiàn)一個新的功能而設計新的ASIC,這樣就節(jié)約了大量的設計成本。這一優(yōu)點讓PLD近年來得到了市場的認可,又由于開發(fā)周期短投入軟件少,PLD在很多領(lǐng)域開始取代ASIC的地位。目前其應用已經(jīng)涉及到通信、醫(yī)療、工業(yè)控制、系統(tǒng)診斷以及航空航天等諸多領(lǐng)域。
1 系統(tǒng)總體設計方案
本套測試系統(tǒng)主要由上位機軟件、通信電纜、控制電路和待測CPLD組成。上位機發(fā)送測試命令通過USB轉(zhuǎn)串口線送到控制電路,控制電路發(fā)送測試向量并檢測測試響應返回上位機軟件,上位機軟件進行分析、定位和顯示??偟南到y(tǒng)結(jié)構(gòu)功能圖如圖1所示。
2 待測CPLD
Lattice半導體公司的在系統(tǒng)可編程大規(guī)模集成電路(ispLSI)系列,是一種結(jié)合了PLD易用性、高性能和現(xiàn)場可編程門陣列(FPGA)的靈活性和高密度特性的可編程邏輯器件。ispLSI1032E是該系列器件中的一款性價比極高的芯片,它的高集成度、低功耗、很強的可重構(gòu)能力、保密性好和在系統(tǒng)編程等特性使它被廣泛應用于電子系統(tǒng)的設計。
ispLSI1032E是包含192個寄存器、64個通用I/O管腳、8個專用輸入管腳、4個專用時鐘輸入管腳和一個全局布線區(qū)(GRP)的高密度可編程邏輯器件。GRP能為所有這些部件之間提供完善的互聯(lián)。ispLSI1032E器件上的基本邏輯單元是萬能邏輯塊(GLB), GLB包括A0、A1…D7[1]。在ispLSI1032E器件內(nèi)總共存在32個GLB,每個GLB都有18個輸入、一個可編程的與/或/異或陣列以及4個既能構(gòu)成組合式的又能構(gòu)成寄存器式的輸出。GLB的輸入來自GRP和專用的輸入,所有GLB的輸出都被送入GRP,以便能把它們連接到器件上任何GLB的輸入[1]。
3 控制電路
控制電路的主控芯片采用的是Lattice公司的ispMACH4A5系列的M4A5-192芯片,該芯片有192個宏單元,在引腳數(shù)目和邏輯資源數(shù)目方面,都能很好地滿足測試ispLSI1032E??刂齐娐分饕撠熃邮彰钪蟀l(fā)送控制命令控制繼電器的關(guān)斷和發(fā)送測試向量,然后接收測試數(shù)據(jù)并返回上位機。
4 測試步驟
對于ispLSI1032E的測試是基于“分治法”[2]的思想,對待測電路只進行三次電路配置,施加對應的測試向量,就可以把性能指標和芯片可能出現(xiàn)的故障予以覆蓋。該芯片有64個I/O管腳,把I/O0~I/O31作為輸入,I/O32~I/O63作為輸出配置一次,I/O32~I/O63作為輸入,I/O0~I/O31作為輸出配置一次,然后內(nèi)部組合邏輯功能測試配置一次。另外該套裝置還具有自檢功能,在開始測試之前,先不放入待測芯片,通過從上位機發(fā)送相應的命令,控制電路接收到命令后控制相應的繼電器的通斷,來進行輸入輸出自檢,也可以用示波器進行觀測,確保裝置沒有任何問題之后再進行待測芯片的測試。整體測試流程如圖2所示。
4.1 配置電路一的測試
(1)芯片輸入輸出基本功能測試。配置電路一下載到ispLSI1032E之后,I/O0~I/O31輸入,I/O32~I/O63輸出。控制電路輸出相應的控制信號之后,ispLSI1032E的4個BANK的所有I/O都直接連通,不與D/A輸出相連,確保I/O腳的輸出不進入A/D進行采樣。利用一定算法分別輸入0000H時返回$TEST1-1,XXH,XXH,XXH,XXH;輸入FFFFH時返回$TEST1-2,XXH,XXH,XXH,XXH。輸入0000H時返回$TEST1-3,XXH,XXH,XXH,XXH;輸入FFFFH時返回$TEST1-4,XXH,XXH,XXH,XXH。上位機根據(jù)返回的四組數(shù)據(jù), 利用一套異或/或邏輯算法就能分析出I/O0-I/O31作為輸入,I/O32-I/O63輸出哪些引腳有故障。
(2)芯片傳輸延遲測試。示波器的CH1、CH3測試ispLSI1032E的BANK1和BANK3之間的傳輸延時,CH1、CH4測試ispLSI1032E的BANK1和BANK4之間的傳輸延時,CH1為輸入端。示波器的CH2、CH3測試ispLSI1032E的BANK2和BANK3之間的傳輸延時,CH2、CH4測試ispLSI1032E的BANK2和BANK4之間的傳輸延時,CH2為輸入端。把示波器通過GPIB線和PC機相連,上位機軟件發(fā)出測試延時命令并自動捕獲和存儲示波器的屏幕,對比觀察延時數(shù)據(jù)。
(3)芯片輸入信號閾值的測試。采用四通道16位A/D轉(zhuǎn)換芯片,控制電路發(fā)出控制命令,BANK3的I/O32和BANK4的I/O48接到A/D的AD2和AD3輸入端, BANK1的I/O0接D/A輸出,通過A/D轉(zhuǎn)換AD2,AD3采樣判斷I/O0對I/O32和I/O48的閾值范圍;然后BANK2的I/O16接D/A輸出,通過A/D轉(zhuǎn)換AD2,AD3采樣判斷I/O16對I/O32和I/O48的閾值范圍。
4.2 配置電路二的測試
配置電路二與配置電路一基本類似,只是I/O管腳輸入輸出反向,控制相應繼電器的關(guān)斷即可。
4.3 內(nèi)部邏輯資源測試
根據(jù)ispLSI1032E的內(nèi)部結(jié)構(gòu),在4個BANK包含的32個GLB充分利用的情況下,設計出相應的乘法器,將I/O0~I/O31作輸入,I/O32~I/O63作輸出,控制電路輸出控制信號,設計一組測試輸入序列,通過串口返回輸出數(shù)據(jù)分析芯片內(nèi)部資源是否有故障。在內(nèi)部邏輯資源的測試中斷開相應的跳線即可測試功耗。
5 測試系統(tǒng)
由于本測試系統(tǒng)采用的芯片都是Lattice公司的ispLSI系列,所以為了節(jié)約測試時間,提高測試效率,可以采用菊花鏈式一次下載程序到主控芯片和待測芯片。整個測試系統(tǒng)如圖3。
本套裝置具有自檢功能,留有接口,稍加改裝即可測試同類芯片,同時能將芯片的性能指標和可能出現(xiàn)的故障予以充分覆蓋,摒棄了其他的測試系統(tǒng)僅存在于理論或者只測試其單一方面的缺陷,具有很好的實用價值,目前在工業(yè)測試系統(tǒng)中使用良好。
參考文獻
[1] Lattice. ispLSI1032E datasheet.1997.
[2] 于明. CPLD測試方法研究[J].電子測試,2010(1):38-43.
[3] 黃維康. FPGA的測試[J]. 計算機輔助設計與圖形學學報, 2000,12(5):396-400.
[4] 陳慶孔. FPGA的測試[D]. 南京: 南京理工大學, 2009.
[5] 周濤. FPGA的測試[D]. 成都:電子科技大學, 2006.
[6] 龍祖利, 王子云. FPGA測試技術(shù)及ATE實現(xiàn)[J].計算機工程與應用, 2011,47(6):65-67.
[7] 杜社會. FPGA時延故障測試技術(shù)研究[D]. 長沙:湖南大學,2008.
[8] 王秀珍, 薛萍. In-system可編程器件的應用[J]. 寧波工程學院學報, 2006(4):57-59.
[9] 石堅, 吳丹, 韓紅星. ispLSI測試[J]. 計算機與數(shù)字工程, 2005(9):85-88.
[10] 石堅, 吳丹, 韓紅星. Lattice可編程器件測試程序開發(fā)技術(shù)[J]. 計算機與數(shù)字工程, 2004,32(1):38-41.