專利名稱:一種fpga內(nèi)連線資源的測試結(jié)構(gòu)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種FPGA (Field Programmable Gate Array,現(xiàn)場可編程門陣列)內(nèi)連線資源的測試結(jié)構(gòu)及方法,屬于FPGA內(nèi)連線測試技術(shù)領(lǐng)域。
背景技術(shù):
FPGA器件內(nèi)部擁有豐富的布線資源。以Xilinx公司的Spartan 3系列為例,它的布線資源包括長線資源、智能型長線資源、雙長線資源和直接互連線資源。長線資源包括M條水平方向長線和M條垂直方向長線。這些長線資源均為雙向并貫穿整個器件,如圖1所示,每六個互連塊的輸出都與該布線資源相連。智能型長線資源在東、西、南、北方向各有八條,與長線的長度相同。每隔三個互連塊的輸出與該布線資源相連,其結(jié)構(gòu)如圖2所示。智能型長線只能由一個端點(diǎn)來驅(qū)動,在任何一個指定的互連塊之間的智能型長線都有32條。雙長線資源在東、西、南、北方向上各有八條,在四個方向上,每兩個互連塊的輸出都與該布線資源相連,其結(jié)構(gòu)如圖3所示。與長線資源和智能型長線資源相比,雙長線更加方便靈活。直接互連資源用于和相鄰的互連塊在水平、垂直和對角方向之間連接,其結(jié)構(gòu)如圖4所示。直接互連資源又稱為“分段互連”結(jié)構(gòu),是Xilinx公司FPGA系列器件一貫采用的專利技術(shù)。這些布線資源中長線資源及直接互連線資源的測試相對容易,因此,F(xiàn)PGA內(nèi)連線資源測試的重點(diǎn)及難點(diǎn)在于雙長線和智能型長線資源。在FPGA器件的可編程連線資源進(jìn)行測試時,考慮的故障類型一般包括以下幾種 線段固定故障;線段開路故障;線段短路故障;線段間橋接故障。另外,對于橋接故障通常還假定只有相鄰的線段間會發(fā)生橋接故障;如果兩根不相鄰的線段間發(fā)生橋接故障,則這兩根線段間的所有相鄰線段(包括這兩根線段本身)都發(fā)生橋接故障。對于檢測測試, 通常允許多故障,而對于診斷測試,通常采用單故障模型。FPGA器件的可編程特性使在對其內(nèi)部資源進(jìn)行測試時,可以在其內(nèi)部針對不同被測邏輯構(gòu)建內(nèi)建自測試結(jié)構(gòu)(Built-in Self Test,BIST)。利用BIST對FPGA器件進(jìn)行測試的另一個好處在于,內(nèi)建自測試的測試資源與FPGA內(nèi)部被測資源建立在相同的結(jié)構(gòu)基礎(chǔ)上,從而可以保證測試源與被測邏輯速度同步,從而實(shí)現(xiàn)高精度性能測試。另外,利用內(nèi)建自測試技術(shù)對芯片進(jìn)行測試有助于保護(hù)內(nèi)核的知識產(chǎn)權(quán),因此該方法已得到廣泛應(yīng)用。BIST測試系統(tǒng)一般包括測試圖形生成器(Test Pattern Generation, TPG)、被測電路 (Circuit Under Test, CUT),有時也包括輸出響應(yīng)分析儀(Output Response Analysis, ORA)。當(dāng)前的FPGA內(nèi)連線測試多采用分段激勵的方式,用BIST結(jié)構(gòu)實(shí)現(xiàn)測試,結(jié)構(gòu)如圖 5所示。每個CLB 11 (configuration logic block,可編程邏輯模塊)被配置為特定數(shù)量的TPG和ORA。TPG從每條待測連線線段的起點(diǎn)輸入激勵,ORA從待測連線線段的中點(diǎn)和終點(diǎn)接收輸出信號,并分析信號得出判斷結(jié)果。由于FPGA內(nèi)部布線資源規(guī)模龐大,因此分段激勵的方式要占用大量的CLB 11資源。當(dāng)CLB 11資源不夠用時,就不得不進(jìn)行多次配置以實(shí)現(xiàn)完整的測試。當(dāng)前的方法大多需要數(shù)十次甚至上百次之多。由于FPGA的測試時間幾乎完全取決于配置次數(shù),因此,該方法的測試時間過長,不利于實(shí)際應(yīng)用。
發(fā)明內(nèi)容
1、目的本發(fā)明的目的在于提供一種FPGA內(nèi)連線資源的測試結(jié)構(gòu)及方法,它能夠檢測并定位雙長線及智能型長線中的線段固定故障、線段開路故障、線段短路故障及線段間橋接故障。2、技術(shù)方案1)本發(fā)明一種FPGA內(nèi)連線資源的測試結(jié)構(gòu),它是一種內(nèi)建自測試結(jié)構(gòu)BIST,其測試圖形生成器TPG、輸出響應(yīng)分析儀ORA和被測電路⑶T都由FPGA內(nèi)部資源構(gòu)成。該整個測試結(jié)構(gòu)將通過編寫測試配置程序配置FPGA實(shí)現(xiàn)。FPGA的每行每列各有幾組TPG與0RA, ⑶T即為連接TPG與ORA的連線資源。TPG用于提供低電平和高電平激勵信號,ORA用于分析經(jīng)過被測電路⑶T后這些信號的輸出響應(yīng)。每組TPG與ORA位于同一個可編程邏輯模塊 CLB內(nèi),其數(shù)量由待測連線個數(shù)決定。對于某些沒有CLB的行和列(如輸入輸出端口 Ι0Β), 將在額外的配置中利用其它行和列的CLB資源進(jìn)行測試。時鐘信號由外部時鐘提供。所述測試圖形生成器TPG是由1個查找表LUT和1個觸發(fā)器連接而成。其間關(guān)系是查找表LUT與觸發(fā)器串聯(lián)連接在一起,觸發(fā)器的輸出一方面反饋回查找表LUT作為輸入,另一方面?zhèn)鬏斀o被測連線線段,同時傳輸給ORA作為其輸入。所述輸出響應(yīng)分析儀ORA是由1個查找表LUT和1個觸發(fā)器連接而成。其間關(guān)系是查找表LUT與觸發(fā)器串聯(lián)連接在一起,輸入端與⑶T的終點(diǎn)及TPG的輸出相連。所述被測電路⑶T是由相同類型的連線線段通過開關(guān)矩陣及回轉(zhuǎn)矩陣串聯(lián)而成。2)本發(fā)明一種FPGA內(nèi)連線資源的測試方法,本方法將通過四次配置分別對現(xiàn)場可編程門陣列FPGA中有可編程邏輯模塊CLB的行列的雙長線資源、有可編程邏輯模塊CLB 的行列的智能型長線資源、無可編程邏輯模塊CLB的行列的雙長線資源及無可編程邏輯模塊CLB的行列的智能型長線資源進(jìn)行測試。該方法具體步驟如下步驟一可編程邏輯模塊CLB布局。在各行各列選取相同數(shù)量的CLB,其數(shù)量由待測連線個數(shù)決定。各行各列間不沖突。步驟二 配置測試圖形生成器TPG。在各行各列的CLB中配置相同數(shù)量的TPG以作為各行線資源及列線資源的激勵。將TPG內(nèi)的查找表LUT配置為一個非門。設(shè)置TPG內(nèi)觸發(fā)器的初始值。一組設(shè)置為低電平,另一組設(shè)置為高電平,分別用于激勵相鄰的兩條待測線段,使得所有相鄰待測線段的激勵信號不同。步驟三配置輸出響應(yīng)分析儀0RA。在各行各列的CLB配置相同數(shù)量的ORA以分析判斷各行線資源及列線資源的輸出響應(yīng)。將ORA內(nèi)的查找表LUT配置為一個異或門。設(shè)置ORA內(nèi)觸發(fā)器的初始值為低電平。ORA的輸入為TPG的輸出經(jīng)過被測電路⑶T后的信號及TPG的直接輸出信號。即ORA將對這兩種信號進(jìn)行異或處理。當(dāng)⑶T發(fā)生故障時,TPG的輸出經(jīng)過CUT后的信號及TPG的直接輸出信號將會不一致,則經(jīng)過異或后會得到高電平,并傳輸至觸發(fā)器鎖存。步驟四配置被測電路CUT。通過配置開關(guān)矩陣及回轉(zhuǎn)矩陣,將各行各列相同類型的連線線段串聯(lián)起來,起點(diǎn)連接TPG,終點(diǎn)連接0RA。各行各列間相互獨(dú)立。步驟五用FPGA開發(fā)平臺創(chuàng)建回讀文件,上電運(yùn)行FPGA,讀取ORA中觸發(fā)器存儲的分析結(jié)果數(shù)據(jù),檢測并定位故障。步驟六重復(fù)步驟一至步驟五,根據(jù)所測資源調(diào)整CLB位置分布及⑶T類型,完成有CLB的行列的雙長線資源、有CLB的行列的智能型長線資源、無CLB的行列的雙長線資源及無CLB的行列的智能型長線資源測試的四次配置及最終測試。3、優(yōu)點(diǎn)及功效本發(fā)明能夠檢測并定位雙長線及智能型長線中的線段固定故障、 線段開路故障、線段短路故障及線段間橋接故障。此外本發(fā)明還大大降低了測試配置次數(shù), 縮短了測試時間。
圖1是長線資源示意圖;圖2是智能型長線示意圖;圖3是雙長線資源示意圖;圖4是直接連線資源示意圖;圖5是分段激勵測試結(jié)構(gòu)圖;圖6是列線段測試BIST結(jié)構(gòu)圖;圖7是行線段測試BIST結(jié)構(gòu)圖;圖8是測試方法流程圖。圖中符號說明如下1測試圖形生成器TPG ;2輸出響應(yīng)分析儀ORA ;3查找表LUT ;4觸發(fā)器;5開關(guān)矩陣;6南回轉(zhuǎn)矩陣;7北回轉(zhuǎn)矩陣;8西回轉(zhuǎn)矩陣;9東回轉(zhuǎn)矩陣;10待測電路CUT ;11可編程邏輯模塊CLB ;TPG測試圖形生成器;ORA輸出響應(yīng)分析儀;CLB可編程邏輯模塊;LUT查找表。
具體實(shí)施例方式以Xilinx公司的Spartan 3系列的XC3S400型FPGA為例。該型FPGA共有34行 32列,其中有兩行兩列的輸入輸出端口 IOB及兩列塊RAM(隨機(jī)存取存儲器)。在東西南北方向各有八條雙長線和智能型長線。其中,東線與西線相互交錯分布,南線與北線相互交錯分布。列線段測試BIST結(jié)構(gòu)如圖6所示,行線段測試BIST結(jié)構(gòu)如圖7所示。1)本發(fā)明一種FPGA內(nèi)連線資源的測試結(jié)構(gòu),它是一種內(nèi)建自測試結(jié)構(gòu),其測試圖形生成器TPG 1、輸出響應(yīng)分析儀ORA 2和被測電路⑶T 10都由FPGA內(nèi)部資源構(gòu)成。整個測試結(jié)構(gòu)將通過編寫測試配置程序配置FPGA實(shí)現(xiàn)。FPGA的每行每列各有兩組TPG 1與 ORA 2。⑶T即為連接TPG 1與ORA 2的連線資源。TPG 1用于提供低電平和高電平激勵信號,ORA 2用于分析經(jīng)過被測電路⑶T 10后這些信號的輸出響應(yīng)。將雙長線和智能型長線分開進(jìn)行測試,則每次測試配置時,每行及每列各有十六條線待測。每個TPG 1與ORA 2可激勵及分析的連線為兩條,則每行及每列各需八個TPG 1和ORA 2。對于某些沒有CLB 11的行和列(如輸入輸出端口 Ι0Β),將在額外的配置中利用其它行和列的CLB 11資源進(jìn)行測試。時鐘信號由外部時鐘提供。所述測試圖形生成器TPG 1是由1個查找表LUT 3和1個觸發(fā)器4連接而成。 其間關(guān)系是查找表LUT 3與觸發(fā)器4串聯(lián)連接在一起,觸發(fā)器4的輸出一方面反饋回查找表LUT 3作為輸入,另一方面?zhèn)鬏斀o待測電路⑶T 10,同時傳輸給ORA 2作為其輸入。所述輸出響應(yīng)分析儀ORA 2是由1個查找表LUT 3和1個觸發(fā)器4連接而成。 其間關(guān)系是查找表LUT 3與觸發(fā)器4串聯(lián)連接在一起,輸入端與⑶T 10的終點(diǎn)及TPG 1 的輸出相連。所述被測電路⑶T是由相同類型的連線線段通過開關(guān)矩陣5及東回轉(zhuǎn)矩陣9、西回轉(zhuǎn)矩陣8、南回轉(zhuǎn)矩陣6和北回轉(zhuǎn)矩7陣串聯(lián)而成。2)本發(fā)明一種FPGA內(nèi)連線資源的測試方法,本方法將通過四次配置分別對FPGA 中有CLB 11行列的雙長線資源、有CLB 11行列的智能型長線資源、無CLB 11行列的雙長線資源及無CLB 11行列的智能型長線資源進(jìn)行測試。該方法具體步驟如下 步驟一 CLB 11布局。對于有CLB 11行列的雙長線資源,選取第1列(兩行兩列的輸入輸出IOB及兩列塊RAM除外,即為32行28列)至第沈列的1、2兩行及27J8列的 3、4兩行CLB 11用于測試1至觀列的列雙長線資源(即南向和北向的雙長線資源),第3 行至32行的1、2兩列及1、2兩行的27J8列CLB 11用于測試1至32行的行雙長線資源 (即東向和西向的雙長線資源);對于有CLB 11行列的智能型長線資源,選取第1列至第沈列的1、2兩行及27J8列的3、4兩行CLB 11用于測試1至觀列的列智能型長線資源,第3 行至32行的1、2兩列及1、2兩行的27J8列CLB 11用于測試1至32行的行智能型長線資源;對于無CLB 11行列的雙長線資源,選取第1列、3列、27列及觀列的3、4兩行CLB 11 用于測試兩列IOB及兩列塊RAM的列雙長線資源,第1行及32行的1、2兩列CLB 11用于測試兩行IOB的行雙長線資源;對于無CLB 11行列的雙長線資源,選取第2列、5列、24列及27列的1、2兩行CLB 11用于測試兩列IOB及兩列塊RAM的列智能型長線資源,第3行及30行的1、2兩列CLB 11用于測試兩行IOB的行智能型長線資源;步驟二 配置TPG 1。在各行各列的CLB 11中配置兩組TPG 1,每組四個,分別作為各行線資源及列線資源的激勵。每組TPG 1位于同一個CLB 11中,將TPG 1內(nèi)的LUT 3 配置為一個非門。設(shè)置TPG 1內(nèi)觸發(fā)器4的初始值。一組設(shè)置為低電平,另一組設(shè)置為高電平,分別用于激勵相鄰的兩條待測線段。兩組TPG 1位于相鄰的CLB 11中,使得所有相鄰待測線段的激勵信號不同。步驟三配置ORA 2。在各行各列的CLB 11中配置兩組ORA 2,每組四個,以分析判斷各行線資源及列線資源的輸出響應(yīng)。將ORA 2內(nèi)的LUT 3配置為一個異或門。設(shè)置 ORA 2內(nèi)觸發(fā)器4的初始值為低電平。ORA 2的輸入為TPG 1的輸出經(jīng)過⑶T 10后的信號及TPG 1的直接輸出信號。即ORA 2將對這兩種信號進(jìn)行異或處理。當(dāng)⑶T 10發(fā)生故障時,TPG 1的輸出經(jīng)過⑶T 10后的信號及TPG 1的直接輸出信號將會不一致,則經(jīng)過異或后會得到高電平,并傳輸至觸發(fā)器4鎖存。步驟四配置⑶T 10。通過配置開關(guān)矩陣5及東回轉(zhuǎn)矩陣9、西回轉(zhuǎn)矩陣8、南回轉(zhuǎn)矩陣6和北回轉(zhuǎn)矩7陣,將各行各列相同類型(雙長線資源及智能型長線資源)的連線線段串聯(lián)起來,起點(diǎn)連接TPG 1,終點(diǎn)連接ORA 2。各行各列間相互獨(dú)立。
步驟五用FPGA開發(fā)平臺創(chuàng)建回讀文件,上電運(yùn)行FPGA,讀取ORA 2中觸發(fā)器4存儲的分析結(jié)果數(shù)據(jù),檢測并定位故障。步驟六重復(fù)步驟一至步驟五,根據(jù)所測資源調(diào)整CLB 11位置分布及⑶T 10類型,完成有CLB 11的行列的雙長線資源、有CLB 11的行列的智能型長線資源、無CLB 11的行列的雙長線資源及無CLB 11的行列的智能型長線資源測試的四次配置及最終測試。
權(quán)利要求
1.一種FPGA內(nèi)連線資源的測試結(jié)構(gòu),其特征在于它是一種內(nèi)建自測試結(jié)構(gòu)BIST,其測試圖形生成器TPG、輸出響應(yīng)分析儀ORA和被測電路⑶T都由現(xiàn)場可編程門陣列FPGA內(nèi)部資源構(gòu)成,該整個測試結(jié)構(gòu)將通過編寫測試配置程序配置FPGA實(shí)現(xiàn);FPGA的每行每列各有幾組TPG與0RA,⑶T即為連接TPG與ORA的連線資源;TPG用于提供低電平和高電平激勵信號,ORA用于分析經(jīng)過被測電路⑶T后這些信號的輸出響應(yīng);每組TPG與ORA位于同一個可編程邏輯模塊CLB內(nèi),其數(shù)量由待測連線個數(shù)決定;對于沒有CLB的行和列,將在額外的配置中利用其它行和列的CLB資源進(jìn)行測試,時鐘信號由外部時鐘提供;所述測試圖形生成器TPG是由1個查找表LUT和1個觸發(fā)器連接而成,查找表LUT與觸發(fā)器串聯(lián)連接在一起,觸發(fā)器的輸出一方面反饋回查找表LUT作為輸入,另一方面?zhèn)鬏斀o被測連線線段,同時傳輸給ORA作為其輸入;所述輸出響應(yīng)分析儀ORA是由1個查找表LUT和1個觸發(fā)器連接而成,查找表LUT 與觸發(fā)器串聯(lián)連接在一起,輸入端與被測電路CUT的終點(diǎn)及測試圖形生成器TPG的輸出相連;所述被測電路⑶T是由相同類型的連線線段通過開關(guān)矩陣及回轉(zhuǎn)矩陣串聯(lián)而成。
2.—種FPGA內(nèi)連線資源的測試方法,其特征在于該方法將通過四次配置分別對現(xiàn)場可編程門陣列FPGA中有可編程邏輯模塊CLB的行列的雙長線資源、有可編程邏輯模塊CLB 的行列的智能型長線資源、無可編程邏輯模塊CLB的行列的雙長線資源及無可編程邏輯模塊CLB的行列的智能型長線資源進(jìn)行測試;該方法具體步驟如下步驟一可編程邏輯模塊CLB布局在各行各列選取相同數(shù)量的可編程邏輯模塊CLB, 其數(shù)量由待測連線個數(shù)決定,各行各列間不沖突;步驟二 配置測試圖形生成器TPG 在各行各列的可編程邏輯模塊CLB中配置相同數(shù)量的測試圖形生成器TPG以作為各行線資源及列線資源的激勵;將測試圖形生成器TPG內(nèi)的查找表LUT配置為一個非門;設(shè)置測試圖形生成器TPG內(nèi)觸發(fā)器的初始,一組設(shè)置為低電平,另一組設(shè)置為高電平,分別用于激勵相鄰的兩條待測線段,使得所有相鄰待測線段的激勵信號不同;步驟三配置輸出響應(yīng)分析儀ORA 在各行各列的可編程邏輯模塊CLB配置相同數(shù)量的輸出響應(yīng)分析儀ORA以分析判斷各行線資源及列線資源的輸出響應(yīng);將輸出響應(yīng)分析儀 ORA內(nèi)的查找表LUT配置為一個異或門;設(shè)置輸出響應(yīng)分析儀ORA內(nèi)觸發(fā)器的初始值為低電平,輸出響應(yīng)分析儀ORA的輸入為測試圖形生成器TPG的輸出經(jīng)過被測電路CUT后的信號及測試圖形生成器TPG的直接輸出信號,即輸出響應(yīng)分析儀ORA將對這兩種信號進(jìn)行異或處理;當(dāng)被測電路⑶T發(fā)生故障時,測試圖形生成器TPG的輸出經(jīng)過被測電路⑶T后的信號及測試圖形生成器TPG的直接輸出信號將會不一致,則經(jīng)過異或后會得到高電平,并傳輸至觸發(fā)器鎖存;步驟四配置被測電路CUT 通過配置開關(guān)矩陣及回轉(zhuǎn)矩陣,將各行各列相同類型的連線線段串聯(lián)起來,起點(diǎn)連接測試圖形生成器TPG,終點(diǎn)連接輸出響應(yīng)分析儀0RA,各行各列間相互獨(dú)立;步驟五用現(xiàn)場可編程門陣列FPGA開發(fā)平臺創(chuàng)建回讀文件,上電運(yùn)行FPGA,讀取輸出響應(yīng)分析儀ORA中觸發(fā)器存儲的分析結(jié)果數(shù)據(jù),檢測并定位故障;步驟六重復(fù)步驟一至步驟五,根據(jù)所測資源調(diào)整可編程邏輯模塊CLB位置分布及被測電路⑶T類型,完成有可編程邏輯模塊CLB的行列的雙長線資源、有可編程邏輯模塊CLB 的行列的智能型長線資源、無可編程邏輯模塊CLB的行列的雙長線資源及無可編程邏輯模塊CLB的行列的智能型長線資源測試的四次配置及最終測試。
全文摘要
一種FPGA內(nèi)連線資源的測試結(jié)構(gòu),它是一種內(nèi)建自測試結(jié)構(gòu),即測試圖形生成器TPG、輸出響應(yīng)分析儀ORA和被測電路CUT整個測試結(jié)構(gòu)都由現(xiàn)場可編程門陣列FPGA內(nèi)部資源構(gòu)成,它通過編寫測試配置程序配置FPGA實(shí)現(xiàn)。一種FPGA內(nèi)連線資源的測試方法,它有六大步驟一、可編程邏輯模塊CLB布局;二、配置測試圖形生成器TPG;三、配置輸出響應(yīng)分析儀ORA;四、配置被測電路CUT;五、用現(xiàn)場可編程門陣列FPGA開發(fā)平臺創(chuàng)建回讀文件并運(yùn)行FPGA,讀取ORA中觸發(fā)器存儲的分析結(jié)果數(shù)據(jù),檢測并定位故障;六、重復(fù)步驟一至步驟五,根據(jù)所測資源調(diào)整CLB位置分布及被測電路CUT類型,完成有CLB行列的雙長線資源、智能型長線資源,無CLB行列的雙長線資源、智能型長線資源的四次配置及最終測試。
文檔編號G01R31/319GK102288903SQ20111020991
公開日2011年12月21日 申請日期2011年7月26日 優(yōu)先權(quán)日2011年7月26日
發(fā)明者俞少華, 郭偉, 高成, 黃姣英 申請人:北京航空航天大學(xué)