基于FPGA的數(shù)據(jù)域邊界掃描測試向量發(fā)生器的設計與實現(xiàn)
摘 要: 設計了一種基于FPGA的邊界掃描測試向量發(fā)生器,該發(fā)生器可以為邊界掃描故障診斷系統(tǒng)提供測試向量,并可計算測試向量的故障覆蓋率。與以往通過軟件提供測試向量的方法相比,該設計在速度和效率上有了較大提高。
關鍵詞: 數(shù)據(jù)域測試;邊界掃描;故障注入;偽隨機序列
隨著超大規(guī)模集成電路技術的發(fā)展,現(xiàn)代電子系統(tǒng)中印刷電路板越來越復雜,多層板的設計也越來越普遍。由于大量使用各種表貼元件和BGA封裝元件,使得元器件的管腳密度不斷提高,采用萬用表、示波器測試芯片的傳統(tǒng)“探針”方法已經(jīng)不能滿足要求?;诖?,聯(lián)合測試行動組JTAG(Joint Test Action Group)于1988年提出了第一個邊界掃描機制的標準,即JTAG標準[1]。邊界掃描技術是應用于數(shù)字集成電路器件的測試性結構設計方法。所謂“邊界”是指測試電路被設置在IC器件邏輯功能電路的四周,位于靠近器件輸入、輸出引腳的邊界處。所謂“掃描”是指連接器件各輸入、輸出引腳的測試電路實際上是一種串行移位寄存器,這種移位寄存器叫做“掃描路徑”,沿著這條路徑可輸入由“0”和“1”組成的各種編碼,對電路進行“掃描”式檢測,從而定位故障芯片,并對芯片進行更換。然而,人們對具體電路測試向量的生成主要是依靠軟件實現(xiàn),但當面臨大規(guī)模復雜問題時,基于軟件的測試向量生成方法往往在速度上受到本質(zhì)是串行的計算機系統(tǒng)的制約,導致運算速度較慢。本文設計了一種基于FPGA的邊界掃描測試向量發(fā)生器,由于FPGA并行運行的特性,提高了測試向量產(chǎn)生的速度和效率。
1 數(shù)據(jù)域測試理論與算法
數(shù)據(jù)域測試是對數(shù)字電路或系統(tǒng)進行故障偵查、定位和診斷[2]。數(shù)據(jù)域測試是提高數(shù)字系統(tǒng)可靠性的重要途徑,對當代集成電路工業(yè)具有舉足輕重的作用。
1.1 固定型故障模型
固定型故障模型是指電路或系統(tǒng)中某一信號線在系統(tǒng)運行過程中總是固定在某一邏輯值上[3]。如果該線固定在邏輯高電平上,則稱之為固定1故障,簡記為s-a-1;如果該線固定在邏輯低電平上,則稱之為固定0故障,簡記為s-a-0。
1.2 布爾差分算法
布爾差分法是用數(shù)學方法來研究故障的傳播,從而求得故障的測試集[4]。為了敘述方便,本文對于布爾函數(shù)f(X)=f(x1,x2,…,xn)定義如下:
f(xi)=f(x1,x2,…,xi,…,xn)
LFSR的邏輯功能完全由其反饋函數(shù)決定,圖1中所示的LFSR的行為完全由反饋系數(shù)Ci決定,由反饋系數(shù)Ci在二元域上定義的多項式:
稱為該線性反饋移位寄存器的特征多項式。以n次本原多項式為特征多項式的LFSR可產(chǎn)生周期為2n-1的偽隨機序列。
3.2 故障運算機模塊
本文以ISCAS`85基準電路的C17電路為例來設計故障運算機模塊。C17電路的單固定故障數(shù)目為34。將故障注入控制字M和Fv的寬度設置為9位,表示每個周期可以執(zhí)行8個故障的計算,每5個時鐘周期,測試向量保持不變,故障運算機模塊依次注入全部故障。故障注入控制字的數(shù)據(jù)如圖2所示。表中陰影部分第一、二周期以及第三個周期中M[16]、Fv[16]表示注入固定1型故障,其余部分表示注入固定0型故障。