摘 要:給出了一種基于內(nèi)建自測(BIST)的測試現(xiàn)場可編程門陣列(FPGA)邏輯單元的方法,討論了測試的配置結(jié)構(gòu)、故障覆蓋率和測試中出現(xiàn)的問題及解決辦法。實(shí)驗(yàn)表明,該測試方法具有所需測試向量少、故障覆蓋率高、簡便適用等優(yōu)點(diǎn)。
關(guān)鍵詞:現(xiàn)場可編程門陣列;內(nèi)建自測;響應(yīng)檢驗(yàn)電路;測試
引言
現(xiàn)場可編程門陣列FPGA(Field ProgrammableGate Array)是一種新型器件,它將門陣列的通用結(jié)構(gòu)與現(xiàn)場可編程的特性結(jié)合于一體,因而受到廣泛關(guān)注。FPGA 測試中,測試激勵的多種測試生成方法,都有其一定局限性,不能求出所有故障,而且隨著集成電路規(guī)模的迅速膨脹,電路結(jié)構(gòu)也越來越復(fù)雜,大量的故障變得不可測。所以,人們把視線轉(zhuǎn)向了電路系統(tǒng)的設(shè)計(jì)過程。如果設(shè)計(jì)的電路容易測試,容易找到測試碼,對測試和測試碼的生成問題就大大簡化,這就是可測性設(shè)計(jì)問題??蓽y性設(shè)計(jì)問題的一個主要解決方法就是內(nèi)建自測法BIST(Built-in self-test)。
利用FPGA可重復(fù)編程的特性,通過脫機(jī)配置,建立BIST邏輯,即使由于線路被操作系統(tǒng)的重新配置而令BIST結(jié)構(gòu)消失,可測性也可實(shí)現(xiàn)。本文給出一種基于BIST利用ORCA(Optimized Reconfigurable Cell Array)結(jié)構(gòu)測試FPGA邏輯單元PLB(Programmable Logic Block)的方法,該方法對邏輯單元PLB 進(jìn)行了分類、分階段的測試,同時進(jìn)行電路模擬實(shí)驗(yàn)。
BIST測試結(jié)構(gòu)
這種基于BIST的測試方法是一系列測試階段順序進(jìn)行的結(jié)果,每一階段都包括以下幾步:1)對電路進(jìn)行配置;2)測試初始化;3)生成測試圖形;4)對響應(yīng)進(jìn)行分析;5)讀出測試結(jié)果。
圖1 給出了利用ORCA測試方法過程中FPGA的配置結(jié)構(gòu)。在用于完全測試BUT (Block Under Test)的絕大部分配置中,TPG以二進(jìn)制計(jì)數(shù)器的模式工作,為BUT的m個輸入端提供隨機(jī)的測試模式。由于PLB的輸入要多于輸出,所以需要將一些PLB通過編程構(gòu)造成m位的計(jì)數(shù)器,在存儲器的操作模式中,存儲器被配置為隨機(jī)存儲器。TPG作為p字節(jié)(p<m)的狀態(tài)機(jī)產(chǎn)生標(biāo)準(zhǔn)的RAM測試序列。
圖1測試FPGA的ORCA結(jié)構(gòu)
不同的TPG一定要滿足BUT的需求,BUT的輸出要與ORA相符合,因此,TPG的數(shù)目要求為c,c同時也是與一個ORA相符合的PLB的輸出管腳數(shù)。ORA由一個LUT和一個觸發(fā)器組成,其中LUT用于從c 組BUT 相應(yīng)的輸出作比較,觸發(fā)器記錄第一次不匹配的情況。從觸發(fā)器輸出到LUT 輸入的反饋信息會在ORA第一次錯誤記錄之后進(jìn)一步做比較。通常,一些ORA會在同一個PLB中實(shí)施,這依賴于PLB中相互獨(dú)立的LUT的個數(shù)。這里,如果LUT的輸入序列至少與一個PLB 是分離的,則認(rèn)為此LUT是獨(dú)立的。每一個TPG驅(qū)動一組共n個BUT,每個BUT有m個輸入和k個輸出,則BUT中共有c*n*k個輸出與k 組n個ORA作比較,每個ORA監(jiān)控c個輸出,ORA的第i組接收n個BUT的第i個輸出。
例如,在ORCA結(jié)構(gòu)的PLB中,存在2個獨(dú)立的LUT,每個LUT 有5個輸入,由于反饋的存在,需令c=4。又由于每個PLB有18個輸入,TPG生成隨機(jī)測試向量所要求的觸發(fā)器的數(shù)量也是18。因?yàn)橐粋€PLB中有f=4個觸發(fā)器,所以需要5個PLB來構(gòu)成隨機(jī)TPG,其中只有4個PLB是用于產(chǎn)生RAM模式測試進(jìn)而構(gòu)成TPG狀態(tài)機(jī)的。最后,每個必須與ORA作比較的PLB中有k=5個輸出。表1對以上數(shù)據(jù)進(jìn)行了概括,并將Xilinx 4000與Altera Flex 8000系列中的FPGA各項(xiàng)參數(shù)進(jìn)行了對比,對FPGA這些結(jié)構(gòu)參數(shù)、TPG輸出信號計(jì)數(shù)n以及BIST所需步驟的數(shù)目進(jìn)行了分析。多數(shù)商業(yè)用途的FPGA進(jìn)行完全測試需兩個測試步驟,而一些其他規(guī)模的FPGA則需要三個步驟。
測試實(shí)施
在測試實(shí)施階段利用故障模擬來評價不同BIST步驟中的故障覆蓋率。為ORCA結(jié)構(gòu)的PLB建立了一個完全的門級電路模型,包括代表基本輸入值的PLB配置,那些輸入值在每一階段是“固定”的。允許模擬影響配置位的stuck-at故障。LUT、FF和Output Mux三個模組中每一個的隨機(jī)測試用于檢測無法探查的故障(LUT中為3個故障,F(xiàn)F中為4 個故障),這些故障從故障目錄表中被移除。PLB中共2224個stuck-at門級故障,其中1538個在LUT中,440個在FF 中,224個在輸出MUX中,完全測試每個PLB共需9次這樣的配置結(jié)構(gòu)。對3個模組中每一階段所檢測出的新故障數(shù)目、檢測故障累積的總數(shù)及故障覆蓋率等故障模擬結(jié)果見表2。
表1FPGA結(jié)構(gòu)參數(shù)對比
表2PLB故障模擬測試結(jié)果
從表2中可以看出,第一階段為LUT提供了一個完全的測試,而接著的5個階段檢測了FF中所有的故障,對輸出MUX所有的故障檢測需要9步。這9次配置結(jié)構(gòu)可以根據(jù)為三個模組中每一個而設(shè)定的模式來描述。一個ORCA輸出利用9*1 MUX來選擇4個LUT輸出中的任一個,或者4個FF輸出的任一個,也就是LUT在以快速加法器操作方式進(jìn)行工作。這9*1MUX證實(shí)了完全測試輸出MUX 塊的配置數(shù)量。
ORCA結(jié)構(gòu)的LUT有4個不同的操作模式:RAM、fast adder 、5 變量的LUT-based邏輯功能、4變量的LUT-based邏輯功能。它們在PLBBIST前4步中進(jìn)行測試,如表3所示。在RAM模式中,TPG被配置為產(chǎn)生標(biāo)準(zhǔn)RAM 測試序列,而在其他步驟中被配置為二進(jìn)制計(jì)數(shù)器。一旦LUT已經(jīng)在RAM模式下測試,余下的BIST步驟中,依靠LUT中的棋盤模式來確定LUT輸出的所有可能模式。FF有以下操作模式供選擇:1)FF/Latch;2)Set/Reset;3)falling edge/rising edge ofclock等,與這些選擇相關(guān)的數(shù)據(jù)太大,不易考慮。因此,可根據(jù)對PLB 門級電路模型的故障模擬來選擇。5 次配置對完全測試FF 模組是足夠的。
表3PLB BIST配置
從表3的后半部分可知FF 模組各種操作模式的不同選擇情況。在這9次BIST配置中,ORCA的典型應(yīng)用包括54%的連線資源可編程線段以及87%的PLB和LUT。盡管多數(shù)ORCA只需要2個測試階段,還需18次的配置結(jié)構(gòu)來測試所有的PLB。這18次配置結(jié)構(gòu)與通常應(yīng)用ORCA結(jié)構(gòu)測試的32次配置相比,結(jié)果比較令人滿意。
測試中遇到的問題
路線資源的限制
作為偽隨機(jī)測試,PLB的測試包括PLB大多數(shù)的I/0管腳,但I(xiàn)C系列ORCA路由于資源有限,不能支持所有TPG輸出到BUT以及所有的BUT輸出到ORA。為解決這個問題,基于偽隨機(jī)測試的準(zhǔn)則允許對每一次配置有一點(diǎn)“偏差”,只對在該階段確實(shí)用到的輸入采用隨機(jī)測試,并觀察其輸出。表3給出了每一步BIST所用到的PLB管腳數(shù)目,路線資源可以滿足系統(tǒng)要求。
缺少詳細(xì)的配置控制
在一般的應(yīng)用中,用戶只需要將FF的輸出與PLB的輸出相連,而不管是具體哪個輸出,這是特定的布線算法和路由算法決定的。在本方法中,為了得到完全的測試,必須保證每一個輸出矩陣依次與它的9個輸入(4個FF輸出,4個LUT輸出,1個加法器進(jìn)位)相連,因此有一種與這9次配置都不同的選擇。但是CAD工具不允許用戶控制輸出的多路復(fù)用器(用戶模式下沒有輸出多路開關(guān)),因此,解決方法是修改中間的設(shè)計(jì)文件或者配置位流,來控制輸出的多路輸出選擇。
結(jié)語
本文方法的最大優(yōu)點(diǎn)是不需專用測試儀器,只需要觀察測試響應(yīng)檢驗(yàn)電路ORA的輸出即可,因此所需輸入、輸出單元少,故障覆蓋率高,不可測故障較其他方法大大降低。實(shí)驗(yàn)數(shù)據(jù)表明,本方法的測試結(jié)果令人滿意。
來源:零八我的愛0次