肖艷梅,陸 鋒,2
(1.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無(wú)錫 214122;2.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇無(wú)錫 214072)
現(xiàn)場(chǎng)可編程門(mén)陣列(Field-Programmable Gate Array,F(xiàn)PGA)芯片已廣泛應(yīng)用在通訊、汽車(chē)電子和計(jì)算機(jī)等領(lǐng)域。為保障芯片應(yīng)用的可靠性及穩(wěn)定性,亟需發(fā)展能夠快速、精確測(cè)試FPGA的科學(xué)方法。
覆蓋率以及測(cè)試時(shí)間是FPGA測(cè)試的關(guān)鍵[1]。目前大多數(shù)FPGA測(cè)試方法的目標(biāo)為在保證高的故障覆蓋率條件下盡量減少配置次數(shù),但同時(shí)測(cè)試時(shí)間也呈線(xiàn)性增加。文獻(xiàn) [2]、[3]指出,大約95%~99%的FPGA測(cè)試時(shí)間用于加載測(cè)試配置位流 (TCB),這些TCB占據(jù)了FPGA測(cè)試數(shù)據(jù)量的95%以上[2,3]。
以Virtex-7 FPGA為例,位流文件約為450 Mb[4],如此大的數(shù)據(jù)量會(huì)帶來(lái)很多問(wèn)題。首先,測(cè)試系統(tǒng)需要非常大的向量深度來(lái)存儲(chǔ)這些向量;其次,F(xiàn)PGA配置過(guò)程所占的時(shí)間比重越來(lái)越大,造成測(cè)試成本急劇增加[5]。減少加載測(cè)試配置比特流所花費(fèi)的測(cè)試時(shí)間成為一個(gè)關(guān)鍵問(wèn)題[6]。
本文基于Advantest公司V93000 SoC測(cè)試系統(tǒng),從“配置時(shí)間開(kāi)銷(xiāo)”的角度出發(fā),提出以FPGA的4X配置方式來(lái)減少配置比特流的測(cè)試時(shí)間,進(jìn)而減少FPGA編程下載時(shí)間,提高在系統(tǒng)配置速度,降低測(cè)試成本。
基于 ATE(Automatic test equipment,即自動(dòng)測(cè)試設(shè)備)對(duì)FPGA進(jìn)行測(cè)試的大部分時(shí)間使用在配置上,因而對(duì)配置模式的選擇尤其重要。如表1所示,F(xiàn)PGA主要的配置模式有邊界掃描、主串、從串、主并和從并模式。為了節(jié)省測(cè)試配置時(shí)間,本文采用從并配置模式對(duì)FPGA進(jìn)行測(cè)試配置,原因是從模式的時(shí)鐘CCLK可從外部提供,同時(shí)并行模式可以令32位數(shù)據(jù)并行加載。
表1 FPGA配置模式
FPGA的配置過(guò)程是一種自動(dòng)裝載配置數(shù)據(jù)的過(guò)程,主要有以下5個(gè)步驟:上電、清除配置存儲(chǔ)器、初始化、載入配置存儲(chǔ)器、啟動(dòng)。FPGA具體配置流程如圖1所示。
利用ATE將配置向量載入配置存儲(chǔ)器的傳統(tǒng)做法是測(cè)試機(jī)在一個(gè)周期內(nèi)加載1行配置向量,通過(guò)在一個(gè)周期內(nèi)設(shè)置一個(gè)比較沿來(lái)讀取各個(gè)輸出管腳的數(shù)據(jù)。但隨著FPGA規(guī)模發(fā)展到千萬(wàn)門(mén)級(jí)甚至是億萬(wàn)門(mén)級(jí),配置碼越來(lái)越大,測(cè)試數(shù)據(jù)量非常龐大。數(shù)量巨大的配置向量一方面要求測(cè)試系統(tǒng)需要極大的向量深度來(lái)存儲(chǔ)這些向量,另一方面FPGA配置過(guò)程中所占的時(shí)間比重也越來(lái)越大,造成測(cè)試成本急劇增加。
圖1 FPGA配置流程
基于V93000的4X配置方式是在一個(gè)周期內(nèi)加載4行配置向量,通過(guò)設(shè)置4個(gè)比較沿來(lái)讀取各個(gè)輸出管腳的數(shù)據(jù),相當(dāng)于在一個(gè)周期內(nèi)完成了4位向量的讀取。與一般配置方式相比,相同的時(shí)間內(nèi)4X配置方式可以讀取4倍大小的配置向量。也就是說(shuō),現(xiàn)有V93000每個(gè)通道向量深度有112 M,利用4X模式后使可容許的向量深度達(dá)到了448 M。換言之,在配置向量一定的情況下,每個(gè)測(cè)試配置的編程下載時(shí)間將減少75%,解決了FPGA測(cè)試數(shù)據(jù)配置與測(cè)試時(shí)間的矛盾。圖2為X/4X模式示意圖,X模式下,數(shù)據(jù)在輸入驅(qū)動(dòng)沿d1、d2處發(fā)生變化,ATE在輸出比較沿r1處進(jìn)行采樣;4X 模式下,數(shù)據(jù)在輸入驅(qū)動(dòng)沿 d1、d2、d3、d4、d5、d6、d7、d8 處發(fā)生變化,ATE 在輸出比較沿 r1、r2、r3、r4處進(jìn)行采樣。
圖2 一般配置方式/4X配置方式示意圖
V93000測(cè)試平臺(tái)的每根通道都有自己獨(dú)立的向量存儲(chǔ)、施加和測(cè)量單元,硬件上每根信號(hào)管腳都有自己的TIMING文件和PATTERN文件,而且在測(cè)試時(shí)都是并行操作[7]。在ATE中,通過(guò)測(cè)試程序?qū)︱?qū)動(dòng)沿、比較沿、時(shí)鐘周期的定義,結(jié)合配置文件中存儲(chǔ)的數(shù)據(jù),形成實(shí)際測(cè)試時(shí)所需的測(cè)試向量。
4X模式設(shè)置體現(xiàn)在TIMING的設(shè)置上,TIMING主要指的是波形的種類(lèi)以及時(shí)序關(guān)系?;谥芷诘腁TE測(cè)試語(yǔ)言對(duì)測(cè)試向量有以下4個(gè)方面的信息要求[8]:1)測(cè)試周期;2)波形調(diào)制格式,如 NRZ(不歸零)、RO(歸一)、RZ(歸零)、SBC(環(huán)繞補(bǔ)碼);3)定時(shí)信息(包含輸入驅(qū)動(dòng)沿、輸出比較沿);4)狀態(tài)信息(各類(lèi)管腳的波形值)。
在V93000測(cè)試系統(tǒng)中,TIMING WAVETABLE定義波形調(diào)制格式,即配置向量的輸入輸出波形的種類(lèi),這里把時(shí)鐘引腳CCLK定義為RZ碼,即歸零碼,當(dāng)數(shù)據(jù)為0時(shí)沒(méi)有變化,數(shù)據(jù)為1時(shí)提供一個(gè)正向脈沖;其他輸入腳定義為NRZ碼,即不歸零碼,它代表存儲(chǔ)于向量存儲(chǔ)器的實(shí)際數(shù)據(jù),只在周期的起始發(fā)生變化。TIMING EQUATION定義定時(shí)信息,即波形沿變化的時(shí)刻,它表示各引腳在一個(gè)周期內(nèi)部4個(gè)驅(qū)動(dòng)沿d1、d2、d3、d4(CCLK 引腳有 8 個(gè)驅(qū)動(dòng)沿 d1、d2、d3、d4、d5、d6、d7、d8) 和 4 個(gè)比較沿 r1、r2、r3、r4 的位置。SPECIFICATION定義測(cè)試周期,這部分設(shè)置完成之后即代表4X模式設(shè)置完成。圖3表示在4X模式下,在一個(gè)周期內(nèi)采用RZ碼的時(shí)鐘引腳的輸入邏輯值為“1111”,采用NRZ碼的輸入數(shù)據(jù)的邏輯值為“0110”,設(shè)置4個(gè)輸出比較沿。
基于ATE的FPGA在系統(tǒng)快速配置與完整的測(cè)試實(shí)現(xiàn)過(guò)程可以描述為:利用PC完成配置位流文件的生成;選擇FPGA的從并配置模式,根據(jù)FPGA配置時(shí)序要求對(duì)控制腳的狀態(tài)進(jìn)行定義,得到所需的配置向量;利用ATE的4X配置方式將配置向量加載進(jìn)測(cè)試機(jī);對(duì)FPGA進(jìn)行上電配置及測(cè)試。
圖3 4X模式引腳設(shè)置
為了驗(yàn)證FPGA的4X配置方式下配置時(shí)間的優(yōu)化效果,本文以Xilinx公司Virtex-7系列FPGA芯片XC7VX485T為例進(jìn)行測(cè)試驗(yàn)證。測(cè)試過(guò)程中,選取一段LVCMOS15電平模式配置碼對(duì)XC7VX485T進(jìn)行配置時(shí)間的測(cè)試。XC7VX485T是一款千萬(wàn)門(mén)級(jí)FPGA,LVCMOS15電平模式下生成配置文件大小為410 Mb,如此大的數(shù)據(jù)量要求找到一種快速配置方式來(lái)滿(mǎn)足向量深度以及測(cè)試時(shí)間的需求?;贏TE的一般配置方式、4X配置方式得到的配置向量如圖4所示。其中每一行為一個(gè)周期,各數(shù)據(jù)腳并行加載,4X配置方式下每個(gè)管腳在一個(gè)周期內(nèi)加載4位配置向量。由ATE按預(yù)定的測(cè)試時(shí)序,在芯片控制引腳以及數(shù)據(jù)引腳上送入測(cè)試圖形,對(duì)待測(cè)器件(Device under test,DUT)進(jìn)行測(cè)試。
基于ATE的一般配置方式、選擇32位從并配置模式對(duì)FPGA進(jìn)行在系統(tǒng)配置時(shí),LVCMOS15電平模式下的配置時(shí)間為1.047 s,實(shí)驗(yàn)數(shù)據(jù)如圖5所示。
圖4 一般配置方式(左)、4X配置方式(右)下的配置向量
圖5 一般配置方式測(cè)試結(jié)果
采用基于ATE的4X配置方式、選擇32位從并配置模式對(duì)FPGA進(jìn)行在系統(tǒng)快速配置時(shí),LVCMOS15電平模式下的配置時(shí)間為271.329 ms,實(shí)驗(yàn)數(shù)據(jù)如圖6所示。
圖6 4X配置方式測(cè)試結(jié)果
實(shí)驗(yàn)數(shù)據(jù)表明,在一般配置方式下FPGA的配置時(shí)間達(dá)到1.047 s,對(duì)于需要反復(fù)進(jìn)行“配置-測(cè)試”的千萬(wàn)門(mén)級(jí)FPGA而言,測(cè)試時(shí)間是難以接受的。采用4X配置方式,F(xiàn)PGA的單次配置時(shí)間由1.047 s壓縮到271.329 ms,是一般配置方式的25.9%,配置時(shí)間減少了74.1%。該方法能顯著減少配置向量的單次配置時(shí)間,是優(yōu)化配置時(shí)間的有效方法,對(duì)于提高FPGA的測(cè)試效率、減少測(cè)試成本有很好的實(shí)用價(jià)值。
對(duì)于可重復(fù)編程的FPGA,測(cè)試時(shí)間包括每個(gè)測(cè)試配置的編程下載時(shí)間和對(duì)應(yīng)加測(cè)試向量集的時(shí)間,配置時(shí)間遠(yuǎn)大于加測(cè)試向量的時(shí)間。為了提高在系統(tǒng)配置速度,本文從測(cè)試過(guò)程中配置時(shí)間開(kāi)銷(xiāo)的角度出發(fā),實(shí)現(xiàn)了基于Advantest公司的V93000 SoC測(cè)試系統(tǒng)的4X配置方式,對(duì)單次配置時(shí)間進(jìn)行了優(yōu)化。與一般配置方法相比,配置時(shí)間減少了74.1%,解決了FPGA測(cè)試數(shù)據(jù)配置與測(cè)試時(shí)間的矛盾,研究結(jié)果可為高性能大容量FPGA測(cè)試配置提供一種新的方法。