0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于BIST利用ORCA結(jié)構(gòu)測試FPGA邏輯單元的方法

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-11-28 09:02 ? 次閱讀

引 言

現(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è)計過程。如果設(shè)計的電路容易測試,容易找到測試碼,對測試和測試碼的生成問題就大大簡化,這就是可測性設(shè)計問題??蓽y性設(shè)計問題的一個主要解決方法就是內(nèi)建自測法BIST(Built-in self-test)。

利用FPGA可重復(fù)編程的特性,通過脫機配置,建立BIST邏輯,即使由于線路被操作系統(tǒng)的重新配置而令BIST結(jié)構(gòu)消失,可測性也可實現(xiàn)。本文給出一種基于BIST利用ORCA(Optimized Reconfigurable Cell Array)結(jié)構(gòu)測試FPGA邏輯單元PLB(Programmable Logic Block)的方法,該方法對邏輯單元PLB 進行了分類、分階段的測試,同時進行電路模擬實驗。

BIST測試結(jié)構(gòu)

這種基于BIST的測試方法是一系列測試階段順序進行的結(jié)果,每一階段都包括以下幾步:1)對電路進行配置;2)測試初始化;3)生成測試圖形;4)對響應(yīng)進行分析;5)讀出測試結(jié)果。

圖1 給出了利用ORCA測試方法過程中FPGA的配置結(jié)構(gòu)。在用于完全測試BUT (Block Under Test)的絕大部分配置中,TPG以二進制計數(shù)器的模式工作,為BUT的m個輸入端提供隨機的測試模式。由于PLB的輸入要多于輸出,所以需要將一些PLB通過編程構(gòu)造成m位的計數(shù)器,在存儲器的操作模式中,存儲器被配置為隨機存儲器。TPG作為p字節(jié)(p

基于BIST利用ORCA結(jié)構(gòu)測試FPGA邏輯單元的方法

圖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第一次錯誤記錄之后進一步做比較。通常,一些ORA會在同一個PLB中實施,這依賴于PLB中相互獨立的LUT的個數(shù)。這里,如果LUT的輸入序列至少與一個PLB 是分離的,則認為此LUT是獨立的。每一個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個獨立的LUT,每個LUT 有5個輸入,由于反饋的存在,需令c=4。又由于每個PLB有18個輸入,TPG生成隨機測試向量所要求的觸發(fā)器的數(shù)量也是18。因為一個PLB中有f=4個觸發(fā)器,所以需要5個PLB來構(gòu)成隨機TPG,其中只有4個PLB是用于產(chǎn)生RAM模式測試進而構(gòu)成TPG狀態(tài)機的。最后,每個必須與ORA作比較的PLB中有k=5個輸出。表1對以上數(shù)據(jù)進行了概括,并將Xilinx 4000與Altera Flex 8000系列中的FPGA各項參數(shù)進行了對比,對FPGA這些結(jié)構(gòu)參數(shù)、TPG輸出信號計數(shù)n以及BIST所需步驟的數(shù)目進行了分析。多數(shù)商業(yè)用途的FPGA進行完全測試需兩個測試步驟,而一些其他規(guī)模的FPGA則需要三個步驟。

測試實施

在測試實施階段利用故障模擬來評價不同BIST步驟中的故障覆蓋率。為ORCA結(jié)構(gòu)的PLB建立了一個完全的門級電路模型,包括代表基本輸入值的PLB配置,那些輸入值在每一階段是“固定”的。允許模擬影響配置位的stuck-at故障。LUT、FF和Output Mux三個模組中每一個的隨機測試用于檢測無法探查的故障(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。

表1 FPGA結(jié)構(gòu)參數(shù)對比

基于BIST利用ORCA結(jié)構(gòu)測試FPGA邏輯單元的方法

表2 PLB故障模擬測試結(jié)果

基于BIST利用ORCA結(jié)構(gòu)測試FPGA邏輯單元的方法

從表2中可以看出,第一階段為LUT提供了一個完全的測試,而接著的5個階段檢測了FF中所有的故障,對輸出MUX所有的故障檢測需要9步。這9次配置結(jié)構(gòu)可以根據(jù)為三個模組中每一個而設(shè)定的模式來描述。一個ORCA輸出利用9*1 MUX來選擇4個LUT輸出中的任一個,或者4個FF輸出的任一個,也就是LUT在以快速加法器操作方式進行工作。這9*1MUX證實了完全測試輸出MUX 塊的配置數(shù)量。

ORCA結(jié)構(gòu)的LUT有4個不同的操作模式:RAM、fast adder 、5 變量的LUT-based邏輯功能、4變量的LUT-based邏輯功能。它們在PLBBIST前4步中進行測試,如表3所示。在RAM模式中,TPG被配置為產(chǎn)生標準RAM 測試序列,而在其他步驟中被配置為二進制計數(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 模組是足夠的。

表3 PLB BIST配置

基于BIST利用ORCA結(jié)構(gòu)測試FPGA邏輯單元的方法

從表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é)果比較令人滿意。

測試中遇到的問題

路線資源的限制

作為偽隨機測試,PLB的測試包括PLB大多數(shù)的I/0管腳,但IC系列ORCA路由于資源有限,不能支持所有TPG輸出到BUT以及所有的BUT輸出到ORA。為解決這個問題,基于偽隨機測試的準則允許對每一次配置有一點“偏差”,只對在該階段確實用到的輸入采用隨機測試,并觀察其輸出。表3給出了每一步BIST所用到的PLB管腳數(shù)目,路線資源可以滿足系統(tǒng)要求。

缺少詳細的配置控制

在一般的應(yīng)用中,用戶只需要將FF的輸出與PLB的輸出相連,而不管是具體哪個輸出,這是特定的布線算法和路由算法決定的。在本方法中,為了得到完全的測試,必須保證每一個輸出矩陣依次與它的9個輸入(4個FF輸出,4個LUT輸出,1個加法器進位)相連,因此有一種與這9次配置都不同的選擇。但是CAD工具不允許用戶控制輸出的多路復(fù)用器(用戶模式下沒有輸出多路開關(guān)),因此,解決方法是修改中間的設(shè)計文件或者配置位流,來控制輸出的多路輸出選擇。

結(jié) 語

本文方法的最大優(yōu)點是不需專用測試儀器,只需要觀察測試響應(yīng)檢驗電路ORA的輸出即可,因此所需輸入、輸出單元少,故障覆蓋率高,不可測故障較其他方法大大降低。實驗數(shù)據(jù)表明,本方法的測試結(jié)果令人滿意。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603419
  • 集成電路
    +關(guān)注

    關(guān)注

    5388

    文章

    11547

    瀏覽量

    361834
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2256

    瀏覽量

    94575
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA內(nèi)部邏輯結(jié)構(gòu)實現(xiàn)的基礎(chǔ)

    只有在腦海中建立了一個個邏輯模型,理解FPGA內(nèi)部邏輯結(jié)構(gòu)實現(xiàn)的基礎(chǔ),才能明白為什么寫Verilog和寫C整體思路是不一樣的,才能理解順序執(zhí)行語言和并行執(zhí)行語言的設(shè)計
    發(fā)表于 08-25 11:12 ?938次閱讀

    FPGA學(xué)習(xí)筆記:邏輯單元的基本結(jié)構(gòu)

    邏輯單元FPGA器件內(nèi)部,用于完成用戶邏輯的最小單元。
    的頭像 發(fā)表于 10-31 11:12 ?1810次閱讀
    <b class='flag-5'>FPGA</b>學(xué)習(xí)筆記:<b class='flag-5'>邏輯</b><b class='flag-5'>單元</b>的基本<b class='flag-5'>結(jié)構(gòu)</b>

    DFT和BIST在SoC設(shè)計中的應(yīng)用

    ,它可以防止設(shè)計重復(fù)或者至少能減少重復(fù)的次數(shù)。 當(dāng)SoC設(shè)計包含有嵌入式存儲器時,從測試的角度看有效處理這些模塊的方法之一是利用存儲器BIST。針對存儲器
    發(fā)表于 12-15 09:53

    FPGA的基本結(jié)構(gòu)

    一、FPGA的基本結(jié)構(gòu) FPGA由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、
    發(fā)表于 07-16 15:32

    FPGA的基本結(jié)構(gòu)

    一、FPGA的基本結(jié)構(gòu) FPGA由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、
    發(fā)表于 08-23 10:33

    FPGA的基本結(jié)構(gòu)

    一、FPGA的基本結(jié)構(gòu) FPGA由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、
    發(fā)表于 09-18 11:15

    FPGA的基本結(jié)構(gòu)

    一、FPGA的基本結(jié)構(gòu) FPGA由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、
    發(fā)表于 10-08 14:43

    【案例分享】玩轉(zhuǎn)FPGA必學(xué)的復(fù)雜邏輯設(shè)計

    (Interconnect)三個部分。 現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和 門陣列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的結(jié)構(gòu)。
    發(fā)表于 08-11 04:30

    FPGA的基本結(jié)構(gòu)

    一、FPGA的基本結(jié)構(gòu) FPGA由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、
    發(fā)表于 09-24 11:54

    基于BIST的編譯碼器IP核測試

    介紹了用于IP核測試的內(nèi)建自測試方法(BIST)和面向測試的IP核設(shè)計方法,指出基于IP核的系統(tǒng)
    發(fā)表于 12-13 17:09 ?10次下載

    針對FPGA可編程邏輯模塊的離線BIST測試方法

    ,另一類是在線BIST。離線BIST測試方法,是指測試在被測電路退出原先的T作狀態(tài),冉運用BIST
    發(fā)表于 11-08 14:21 ?1次下載
    針對<b class='flag-5'>FPGA</b>可編程<b class='flag-5'>邏輯</b>模塊的離線<b class='flag-5'>BIST</b><b class='flag-5'>測試</b><b class='flag-5'>方法</b>

    基于測試系統(tǒng)的FPGA測試方法研究與實現(xiàn)

    部分組成。對FPGA進行測試要對FPGA內(nèi)部可能包含的資源進行結(jié)構(gòu)分析,經(jīng)過一個測試配置(TC)和向量實施(TS)的過程,把
    發(fā)表于 11-18 10:44 ?2638次閱讀
    基于<b class='flag-5'>測試</b>系統(tǒng)的<b class='flag-5'>FPGA</b><b class='flag-5'>測試</b><b class='flag-5'>方法</b>研究與實現(xiàn)

    基于SRAM結(jié)構(gòu)FPGA邏輯資源的測試編程

    隨著現(xiàn)場可編程門陣列( FPGA)芯片在商業(yè)、軍事、航空航天等領(lǐng)域越來越廣泛的應(yīng)用,其可靠性和可測試性也顯得尤為重要。本文介紹一種基于SRAM結(jié)構(gòu)FPGA
    發(fā)表于 11-23 14:48 ?5120次閱讀

    FPGA硬件基礎(chǔ)之FPGA邏輯單元的工程文件免費下載

    本文檔的主要內(nèi)容詳細介紹的是FPGA硬件基礎(chǔ)之FPGA邏輯單元的工程文件免費下載。
    發(fā)表于 12-10 15:00 ?19次下載

    詳解邏輯單元的內(nèi)部結(jié)構(gòu)

    邏輯單元(Logic Element,LE)在FPGA器件內(nèi)部,用于完成用戶邏輯的最小單元。一個邏輯
    的頭像 發(fā)表于 06-15 16:50 ?4023次閱讀