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