1 引言
FPGA 具有高速度、高集成度,可重復(fù)編程的特點(diǎn),將其用于電路系統(tǒng)設(shè)計(jì),可簡化電路設(shè)計(jì),增強(qiáng)電路功能。而作為電路系統(tǒng)的“中樞控制神經(jīng)”,F(xiàn)PGA 的故障會(huì)引起整個(gè)電路系統(tǒng)的癱瘓,而用一般的測試方法很難對其實(shí)施故障測試診斷。
目前,某修理單位的自動(dòng)測試設(shè)備對不含上述復(fù)雜邏輯器件電路板的測試診斷已有解決措施。但這些自動(dòng)測試設(shè)備尚不能對含復(fù)雜邏輯器件電路板進(jìn)行有效地測試,現(xiàn)有的自動(dòng)測試設(shè)備未包含DSP和FPGA、CPLD 等仿真系統(tǒng),不能對復(fù)雜邏輯器件的工作狀態(tài)進(jìn)行有效控制。
因此,含F(xiàn)PGA 電路板測試及故障診斷方法的研究,將顯著提高電子裝備的可維修性,使復(fù)雜邏輯器件給電子裝備水平帶來的提高能得到最大限度的發(fā)揮。
2 基于邊界掃描的含F(xiàn)PGA電路板測試
系統(tǒng)級測試一般采用BIT( 內(nèi)嵌測試) ,即在系統(tǒng)運(yùn)行過程中,由內(nèi)嵌測試程序?qū)崟r(shí)監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。一旦有故障發(fā)生,內(nèi)嵌測試程序報(bào)告是哪個(gè)部件出錯(cuò),就可拔出該部件進(jìn)行修理。對現(xiàn)場級維修而言,含F(xiàn)PGA 器件電路板的故障檢測要求快速準(zhǔn)確,方法簡單實(shí)用,能在最短時(shí)間內(nèi)自動(dòng)將故障定位到現(xiàn)場可更換單元( LRU) ,多采用邊界掃描測試( BST,Boundary Scan Test) 方法。
邊界掃描是一種可測試的結(jié)構(gòu)技術(shù),用來解決測試探針?biāo)荒軐?shí)現(xiàn)的測試問題。它是在芯片的I /O 端上增加移位寄存器,把這些寄存器連接起來,加上時(shí)鐘復(fù)位、測試方式選擇以及掃描輸入和輸出端口,而形成邊界掃描通道。由于邊界掃描測試可直接獲得芯片管腳的信息,所以完全可以實(shí)現(xiàn)芯片級、板極、系統(tǒng)級的測試。每個(gè)IEEE1149. 1 兼容的器件,都包括一個(gè)4 線或5 線的測試端口( TAP) 、一個(gè)狀態(tài)機(jī)( TAP 控制器) 和由邊界掃描單元構(gòu)成的邊界掃描移位寄存器。其接口和總線常被稱為JTAG 接口和JTAG 總線,其結(jié)構(gòu)如圖1 所示。
3 非完全邊界掃描FPGA 電路板測試
由于測試性設(shè)計(jì)水平的限制,由邊界掃描器件和非邊界掃描器件組成的非完全邊界掃描電路板廣泛存在,如何對該類電路進(jìn)行故障檢測與隔離是需要研究的關(guān)鍵問題。
3. 1 非完全邊界掃描電路板簇測試
利用“虛擬數(shù)據(jù)通道法”,通過電路板上的BS器件實(shí)現(xiàn)非BS 器件的測試。其基本原理為: 首先將常規(guī)器件芯片聚類合并構(gòu)成相應(yīng)的邏輯功能簇“cluster”,其輸入輸出端口與若干BS 器件相連,按照一定的算法生成簇測試矢量。邊界掃描測試開始時(shí),簇測試矢量通過其輸入端BS 器件加載,測試響應(yīng)由輸出端BS 器件捕獲并通過邊界掃描鏈移出,然后進(jìn)行結(jié)果分析和處理。這種方法可以利用BS器件的虛擬通道對與其相連接的cluster 輸入輸出節(jié)點(diǎn)進(jìn)行診斷,即通過虛擬輸入和虛擬輸出對邏輯功能簇進(jìn)行診斷。對不與BS 器件相連的剩余輸入輸出端口,可以用其它方式加載測試矢量和捕獲測試響應(yīng),進(jìn)行實(shí)體輸入與實(shí)體輸出,即串行測試與并行測試相結(jié)合。
3. 2 基于BS 與數(shù)字I /O 測試向量的測試方法
在含有FPGA 器件的電路板中有部分電路,屬于非邊界掃描器件,位于電路板邊緣連接器和FPGA器件形成的邊界掃描鏈之間。這部分器件的功能測試難以進(jìn)行,可以采用邊界掃描測試技術(shù)與傳統(tǒng)的外部輸入矢量測試相結(jié)合的方法。
該方法能實(shí)現(xiàn)非邊界掃描器件的測試,但由于數(shù)字I /O 模塊輸入的矢量信號必須等到邊界掃描完成一個(gè)循環(huán)周期后,才能接著輸入下一個(gè)向量,受邊界掃描測試矩陣中并行測試向量數(shù)目的影響,測試耗時(shí)長,尤其是與外部I /O 之間的時(shí)序難于控制,是研究的重點(diǎn)和難點(diǎn)。
3. 3 擴(kuò)展邊界掃描測試
針對基于邊界掃描技術(shù)的測試系統(tǒng)實(shí)現(xiàn)難度大、故障覆蓋率低等問題,提出了MERGE 法邊界掃描技術(shù)。將一個(gè)完整的數(shù)字電路分為非邊界掃描芯片簇、邊界掃描芯片簇和混合芯片簇。通過邊界掃描擴(kuò)展卡,構(gòu)造UUT 的邊界掃描結(jié)構(gòu),然后通過邊界掃描技術(shù)進(jìn)行測試[3]。
該方法無法在現(xiàn)有ATE上實(shí)現(xiàn)自動(dòng)測試,需要構(gòu)建新的測試系統(tǒng)。
4 基于功能建模的含F(xiàn)PGA電路板測試
以上方法無法完成整板功能的測試,本文通過含F(xiàn)PGA 電路板功能建模,結(jié)合LASAR( Logic Automatic Simulate and Response) 仿真軟件,在某型ATE上實(shí)現(xiàn)含F(xiàn)PGA 電路板的自動(dòng)測試。
4. 1 基于LASAR 的含F(xiàn)PGA 電路板測試方案
LASAR 作為數(shù)字電路測試開發(fā)和邏輯分析的仿真軟件系統(tǒng),已被全球眾多國防電子與航空工程所采用,LASAR 的LSRTAP 數(shù)據(jù)格式已被IEEE制定為標(biāo)準(zhǔn)數(shù)字測試交換格式。LASAR 后處理軟件可直接加載在ATE 設(shè)備上對被仿真電路板進(jìn)行測試。目前,許多ATE 設(shè)備都提供了LASAR 后處理軟件及其相關(guān)的技術(shù)文件。
對于以上平臺,完成電路板上各元件的建模是LASAR 仿真及生成后處理文件的關(guān)鍵。在LASAR V6.60 中,VITAL( VHDL Initiative Towards ASIC Libraries)支持建立FPGA 和ASIC 結(jié)構(gòu)模型。
基于VITAL 語言的含F(xiàn)PGA 電路板測試步驟如下:
( 1) 在FPGA 開發(fā)環(huán)境中,對FPGA 器件進(jìn)行功能描述;
( 2) 編譯FPGA 器件的功能描述文件,輸出FPGA的配置文件和VITAL 標(biāo)準(zhǔn)格式數(shù)據(jù),建立FPGA器件的軟件模型;
( 3) 將VITAL 標(biāo)準(zhǔn)格式數(shù)據(jù)導(dǎo)入LASAR,建立FPGA 軟件模型,實(shí)現(xiàn)FPGA 功能建模;
( 4) 把電路板的網(wǎng)表文件導(dǎo)入LASAR 仿真軟件,將仿真的結(jié)果導(dǎo)出,經(jīng)過后處理,應(yīng)用到ATE上,對電路板進(jìn)行測試診斷。
對于測試方而言,由于難以得到電路板設(shè)計(jì)資料,F(xiàn)PGA 功能建模是研究的難點(diǎn)。
4. 2 基于VITAL 語言的FPGA 功能建模
VITAL 是在IEEE std 1076 - 1993 基礎(chǔ)上開發(fā)的,提供面向ASIC 設(shè)計(jì)的VHDL 模型基準(zhǔn)語言,其目的是促進(jìn)ASIC 模型庫在工業(yè)VHDL 描述和模擬中的應(yīng)用,它為ASIC 庫的建立、電路設(shè)計(jì)的描述提供格式相對固定的描述方法,并為提高VHDL 模擬性能提供依據(jù)和基礎(chǔ)。
VITAL 語言標(biāo)準(zhǔn)包括時(shí)序程序包VITAL_Timing、建立模型用的規(guī)范文檔和基本元件包VITAL_Primitives,并引進(jìn)Verilog SDF ( Standard Delay Format)延時(shí)機(jī)制。VITAL_Primitives 包括基本邏輯元件和實(shí)用元件兩部分。基本邏輯元件模型執(zhí)行基本邏輯操作,實(shí)現(xiàn)基本元件的功能,實(shí)用元件支持多驅(qū)動(dòng)源決斷操作和查表操作。時(shí)序程序包中定義了VITAL 基本類型,延時(shí)計(jì)算函數(shù)和過程,時(shí)序約束檢查過程等。VITAL_Primitives 使用VITAL_Timing 程序包中定義的類型和函數(shù)。VITAL 中延時(shí)和時(shí)序約束都定義為VHDL 類屬參數(shù),并規(guī)定SDF 標(biāo)準(zhǔn)格式與VITAL 間對應(yīng)關(guān)系,允許仿真程序直接讀人SDF文件,覆蓋類屬參數(shù)的默認(rèn)值[9]。
VITAL 模型方法能夠?qū)PGA 器件開發(fā)軟件的設(shè)計(jì)輸出,轉(zhuǎn)化為LASAR 仿真軟件識別的器件模型,大大簡化FPGA 器件的功能建模過程。
4. 3 基于LASAR 的含F(xiàn)PGA 電路板仿真
設(shè)計(jì)網(wǎng)表、SDF 文件和宏單元庫是生成LASAR模型所需的重要數(shù)據(jù)。LASAR 中的VITAL 和Verilog轉(zhuǎn)換器能分別將SDF 文件、VHDL 和Verilog 網(wǎng)表轉(zhuǎn)換為LASAR 模型。
在LASAR 圖形界面中“Model”工具欄下的“Produce LAS”中選擇相應(yīng)轉(zhuǎn)換工具,如圖2 所示。
若為第一次使用該系列器件,需要將所有宏單元庫轉(zhuǎn)換并保存到所有LASAR 用戶的庫目錄中。如圖3 所示,選擇VHDL 源文件,確定VITAL 庫,然后確定結(jié)果保存路徑。
器件轉(zhuǎn)換過程分兩步執(zhí)行,首先將VHDL 設(shè)計(jì)網(wǎng)表轉(zhuǎn)換為LASAR 結(jié)構(gòu)模型,該過程和宏單元庫轉(zhuǎn)化過程類似,如圖4 所示。選擇VHDL 或Verilog 源文件、選擇VITAL 庫,然后確定目標(biāo)路徑( 通常為library.lib) 。
完成以上步驟后,需要將SDF 文件中包含的時(shí)序信息需要反向注釋成轉(zhuǎn)換設(shè)計(jì)文件。如圖5 所示,通過選擇“Produce LAS”下的“Backannotated”選項(xiàng),確定設(shè)計(jì)文檔和該設(shè)計(jì)的SDF 文件。LASAR 通過編譯器件模型,并啟動(dòng)TIMCHG( 時(shí)間轉(zhuǎn)換) 程序。TIMCHG 讀取SDF 文件,并為器件節(jié)點(diǎn)分配時(shí)序?qū)傩浴F浣Y(jié)果是一個(gè)插入到本地library. lib 文件中的. BAV 文件( 反向注釋模型) 。成功反向注釋器件模型后,就可以進(jìn)行整板模型編譯和仿真。
并不是所有的設(shè)計(jì)100% 兼容VITAL,有一些VITAL 和Verilog 結(jié)構(gòu)不能徹底轉(zhuǎn)換。也可能有一些設(shè)計(jì),違反基本的LASAR 限制。文獻(xiàn)[5]介紹了這些約束和限制。
4. 4 基于LASAR 后處理的含F(xiàn)PGA 電路板測試
LASAR 后處理LSRTAP 生成的TAP 文件數(shù)據(jù)包括電路板功能測試、故障字典檢測和探筆引導(dǎo)診斷三種可獨(dú)立或混合的測試數(shù)據(jù),該數(shù)據(jù)格式已被IEEE 制定為國際標(biāo)準(zhǔn)數(shù)字測試交換格式( DTIF -Digital Test Interchange Format) ,為基于數(shù)字仿真的TPS 的開發(fā)和交付提供了一種標(biāo)準(zhǔn)的信息內(nèi)容和數(shù)據(jù)格式。
某型電路板自動(dòng)測試系統(tǒng)完全支持LASAR 生成的后處理文件。首先應(yīng)用LASAR 數(shù)字仿真軟件按照上述提到的測試數(shù)據(jù)開發(fā)程序,生成電路板的測試數(shù)據(jù),建立標(biāo)準(zhǔn)的“交換測試數(shù)據(jù)庫”結(jié)構(gòu),然后將39個(gè)LSRTAP文件自動(dòng)轉(zhuǎn)換到對應(yīng)的標(biāo)準(zhǔn)“交換測試數(shù)據(jù)庫”中。ATE 直接調(diào)用數(shù)據(jù)庫中的測試數(shù)據(jù),進(jìn)行測試和診斷。
5 結(jié)束語
由邊界掃描和非邊界掃描器件組成的非完全邊界掃描電路板普遍存在,其故障檢測與隔離是板級維修測試的難題。本文提出了一種基于功能建模的含F(xiàn)PGA 電路板測試方法。利用FPGA開發(fā)環(huán)境中生成VITAL 模型并導(dǎo)入LASAR,通過電路板的好板仿真和故障仿真,生成后處理文件,經(jīng)ATE 調(diào)用完成含F(xiàn)PGA電路板的功能測試。該方法利用現(xiàn)有測試系統(tǒng),實(shí)現(xiàn)了該類電路板的測試與故障診斷。
評論