基于SRAM的FPGA連線資源的一種可測性設(shè)計
FPGA的出現(xiàn)大大縮短了集成電路設(shè)計的周期,使產(chǎn)品上市的時間大大縮短,并減少了設(shè)計成本。FPGA的應(yīng)用越來越廣泛,并且其市場份額也越來越大。但是逐漸擴(kuò)大的芯片規(guī)模和更加復(fù)雜的芯片結(jié)構(gòu),給測試帶來了越來越大的困難,測試成本大大增加,如何降低測試成本是很多商家和研究者共同面對的一個問題。有關(guān)FPGA測試的研究有很多。
FPGA主要由可編程邏輯資源,可編程連線資源,可編程輸入輸出資源組成。其中連線資源占芯片面積的60%以上,并且隨著器件規(guī)模增大,連線也越來越復(fù)雜,其出現(xiàn)故障的可能性很大,所以連線資源測試在FPGA測試中扮演了一個很重要的角色。芯片測試包括故障檢測、故障診斷和故障冗余。故障檢測只檢測芯片中有沒有故障,如果芯片中有故障就把此芯片扔掉;故障診斷不僅要檢測芯片中是否有故障,還要確定故障的位置和類型;而故障冗余是指,對于有故障的芯片采取一定的方法使得芯片可以繼續(xù)使用,而不至于浪費(fèi)??梢钥吹?,故障檢測是故障診斷的基礎(chǔ),而故障冗余又以故障診斷為前提,在本文的設(shè)計中,故障檢測及故障診斷都可以支持,只要設(shè)計好需要的測試配置就可以了。
對于連線資源測試,出現(xiàn)了很多種方法,大致分為三類:(1)非內(nèi)建自測試方法(Non―BIST),利用專有的測試儀器對芯片進(jìn)行配置并加測試向量對芯片進(jìn)行測試;(2)利用芯片內(nèi)部可編程邏輯資源對連線資源進(jìn)行測試,這是內(nèi)建自測試方法(BIST),在芯片內(nèi)部通過配置可編程邏輯資源自動產(chǎn)生測試向量,并且對測試結(jié)果進(jìn)行判斷。以上兩種方法都是利用FPGA的可編程特性對芯片進(jìn)行測試的;(3)利用可測試設(shè)計方便芯片進(jìn)行測試,通過一定的硬件消耗,在芯片內(nèi)部加上一定的輔助電路,使得測試比較方便、快速。本文提出的方法屬于第三類方法。
與ASIC測試不同,F(xiàn)PGA測試需要將測試需要的配置下載到芯片中,然后加測試向量對芯片進(jìn)行測試,其測試時間主要由編程下載的時間來決定,所以編程下載時間決定了測試的成本,很多研究者通過減少測試配置數(shù)目來減少測試時間,從而降低測試成本。
本文的出發(fā)點(diǎn)不是通過減少測試配置數(shù)目來減少測試時問,而是從另外一個角度對測試開關(guān)盒連線資源時間的減少進(jìn)行了研究。通過一定的硬件消耗大大減少了編程下載的時間,降低了測試成本。
2 基于SRAM的FPGA結(jié)構(gòu)簡介
FPGA通常有三個基本的組成部分,即可編程邏輯單元((Sonfigurable Logic Block,以下簡稱CLB)、可編程輸入輸出單元(Input and Output Block,以下簡稱IOB)及可編程連線資源。通常CLB包含組合邏輯部分和時序邏輯部分,組合邏輯一般包括查詢表(Look―up Table)和相關(guān)的多路選擇器(Multiplexer)。而時序邏輯部分包含觸發(fā)器(DFF)和一些相關(guān)的多路選擇器。IOB則提供了FPGA內(nèi)部和外部的一個接口,連線資源則提供CLB與IOB之間以及各CLB之間的通訊。
FPGA芯片的基本結(jié)構(gòu)如圖l所示,現(xiàn)在的FPGA芯片結(jié)構(gòu)越來越復(fù)雜,但都包含這些基本的組成部分。開關(guān)盒(Switch Box,以下簡稱SB)將水平和豎直連線資源進(jìn)行切換。連接盒(Connection Box,以下簡稱CB)連接CLB的輸入輸出到連線資源中。在FPGA芯片中,由于連線資源比較復(fù)雜,所以測試花費(fèi)時間會很長。其中把開關(guān)盒抽出來可以構(gòu)造開關(guān)盒資源圖,其中包括開關(guān)盒內(nèi)部的可編程開關(guān)以及開關(guān)盒之間的連接線段,如圖2(a)所示。
FPGA開關(guān)盒資源模型包括m×m個SB以及相鄰的SB之間連接開關(guān)盒的k條連接線段,其中SB內(nèi)部的連接關(guān)系如圖2(b)所示。其中粗線代表一個NMOS管作為傳輸管,用來控制線段的連接,傳輸管的開和閉由編程信息來控制,編程信息存儲在SRAM單元中。SB內(nèi)部有很多傳輸管,其中兩條線段之間有傳輸管相連的,稱為可連接線段,沒有傳輸管的,稱為不可連接線段。圖2(c)是抽象的開關(guān)盒連接關(guān)系,其中四個方向分別為T,B,L,R,黑點(diǎn)表示此方向的連接線段的集合,每條連接線段可以另外三條連接線段連接,這三條連接線段分別位于其他三個方向,其中的數(shù)字表示傳輸管的編號。比如3,表示左邊的連接線段連接上邊的連接線段。
在FPGA連線資源中,主要包含連接線段,傳輸管和CB中的連線資源。連接盒一般和邏輯資源放在一起進(jìn)行測試,本文著重于開關(guān)盒連線資源的測試。
3 測試所需要的配置
3.1 測試采用的故障模型
1)線段開路故障,線段在制造過程中中間斷開,不能正常傳輸信號,輸出端的狀態(tài)固定;
2)線段的固定O故障,不管輸入信號是0還是l,線段總固定在0狀態(tài);
3)線段的固定l故障,不管輸入信號是0還是1,線段總固定在1狀態(tài);
4)傳輸管的固定0故障,也就是常開故障,SRAM編程信息不能改變此開關(guān)的狀態(tài);
5)傳輸管的固定l故障,也就是常閉故障,SRAM編程信息不能改變此開關(guān)的狀態(tài);
6)線段的橋接故障,兩條線段之間短路,當(dāng)分別在橋接的兩條金屬線上加相反的信號時,因?yàn)闃蚪觾删€的輸出信號是相同的。
3.2 測試所需配置
在測試之前,需要將配置信息下載到FPGA芯片中,然后施加測試矢量進(jìn)行測試。本文以[3]中的配置為例說明此可測性設(shè)計,在此采用Wilton開關(guān)盒結(jié)構(gòu),配置原理與[3]一樣。測試配置如圖3所示。
評論