欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種FPGA芯片中查找表的檢測電路及檢測方法與流程

文檔序號:11516957閱讀:286來源:國知局
本發(fā)明涉及集成電路芯片測試領(lǐng)域,更具體地,涉及sram型fpga芯片中查找表的檢測電路及檢測方法。
背景技術(shù)
::fpga(field-programmablegatearray),即現(xiàn)場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。xilinx7系列fpga包括artix-7、kentix-7與virtex-7三個子類,三類器件的可配置邏輯塊(clb)結(jié)構(gòu)相同,如圖1所示。每個clb由2個切片組成,每個切片具有唯一的物理位置編號(如x0y0,x2y1)。查找表(lookuptable,lut)是切片中實現(xiàn)可編程組合邏輯的功能模塊,如圖2所示,7系列fpga中的查找表采用lut6結(jié)構(gòu),共有6個輸入端口(i0~i5)和2個輸出端口(o5、o6),每個查找表由2個lut5和一個2輸入mux(multiplexer,多路選擇器)組合而成的,每個lut5聚源5個輸入端口(i0~i4)和1個輸出端口(o5或o6)?,F(xiàn)有關(guān)于lut的測試方法及優(yōu)缺點如下:bist方法該方法的思路是將fpga內(nèi)部資源分為兩部分,一部分作為被測電路(cut),另一部分作為測試輔助電路。測試輔助電路主要包括測試圖形發(fā)生器和結(jié)果比較器兩部分,用來測試被測電路的功能。該方法的優(yōu)點在于外部接口簡單,缺點則在于為了便于建立bist結(jié)構(gòu)并減少配置次數(shù),通常會犧牲一部分測試覆蓋性。透明模塊鏈方法該方法的思路是將fpga內(nèi)一定數(shù)量位置相鄰的lut組成一個透明傳輸模塊(輸出端口與輸入端口的數(shù)量與邏輯狀態(tài)相同),并將一定數(shù)量的透明傳輸模塊首位銜接串聯(lián)成鏈進(jìn)行測試。該方法的優(yōu)點在于設(shè)計實現(xiàn)上比較簡便,不需要編寫復(fù)雜的物理約束代碼;缺點則在于無法對檢測到的故障進(jìn)行精確的物理定位與分析。此外,還有一些測試方法是從應(yīng)用級別考慮的,大體思路都是基于fpga內(nèi)部其他資源建立測試輔助電路及互聯(lián)結(jié)構(gòu),配合外部激勵信號對lut或其他資源進(jìn)行特定功能的測試,這些方法一般都不考慮故障覆蓋性。最后,現(xiàn)有測試方法針對的被測對象一般都是傳統(tǒng)的lut4單元,因此測試結(jié)構(gòu)大多是依據(jù)virtex、virtex-2及virtex-4等型號fpga的clb架構(gòu)建立的,缺少對于lut6,特別是7系列fpga的clb中l(wèi)ut6測試方法的研究。技術(shù)實現(xiàn)要素:本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的fpga芯片中查找表的檢測電路及檢測方法。根據(jù)本發(fā)明的一個方面,提供一種fpga芯片中查找表的檢測電路,所述fpga芯片包括n個可配置邏輯塊,每個所述可配置邏輯塊包含兩個切片,兩個切片中均具有m個查找表,其中一個切片為被測電路,與lut_in端口連接,另一個切片為檢測電路,所述檢測電路包括:控制信號電路,發(fā)送控制信號;多個選擇器,接收所述控制信號,所述選擇器與被測電路中的查找表的個數(shù)對應(yīng),所述選擇器基于所述控制信號,連接被測電路中平級的查找表,或者連接sr_in端口或上一級的觸發(fā)器;時鐘信號電路,發(fā)送時鐘信號;以及多個所述觸發(fā)器,接收所述時鐘信號,所述觸發(fā)器與被測電路中的查找表的個數(shù)對應(yīng),所述觸發(fā)器與檢測電路中平級的選擇器連接,且最下級的觸發(fā)器與sr_out端口連接。根據(jù)本發(fā)明的另一個方面,一種檢測方法,采用上述的檢測電路,包括:s1、對n個可配置邏輯塊中的所有查找表配置異或門結(jié)構(gòu)和同或門結(jié)構(gòu);s2、基于控制信號和m×n個周期的時鐘信號,測試檢測電路中的觸發(fā)器;s3、循環(huán)輸入控制信號、時鐘信號和測試地址,檢測被測電路中查找表的固定故障,基于當(dāng)前的測試地址和故障位的編號,定位失效的查找表。本申請為了檢測fpga中查找表,首先構(gòu)建一種檢測模塊,進(jìn)而對測試電路進(jìn)行配置,最后向檢測電路輸出測試向量,可配置邏輯塊包括被測電路與檢測電路,檢測電路又包括mux與觸發(fā)器,配置方法包括偶數(shù)列異或門配置方法、偶數(shù)列同或門配置方法、奇數(shù)列異或門配置方法與奇數(shù)列同或門配置方法,本發(fā)明運行速度快、時序收斂、測試結(jié)果穩(wěn)定可靠。附圖說明圖1為現(xiàn)有技術(shù)中fpga中可配置邏輯塊的示意圖;圖2為本發(fā)明實施例的lut6結(jié)構(gòu)的查找表的示意圖;圖3為本發(fā)明實施例查找表的檢測電路的示意圖。具體實施方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明中的fpga芯片包括多個可配置邏輯塊,每個所述可配置邏輯塊包含兩個切片,其中一個切片為被測電路,另一個切片為檢測電路,圖3示出了查找表的檢測電路的示意圖,如圖可知,被測電路中具有4個查找表,分別為lut6a、lut6b、lut6c和lut6d,每個查找表的輸入端均連接lut_in端口,lut_in端口用于向查找表輸入測試地址,由于本發(fā)明中的查找表為lut6結(jié)構(gòu),即為64位的查找表,因此在檢測查找表是否有故障時,需要對每一位進(jìn)行檢測。每一個查找表具有兩個輸出端o5和o6,對應(yīng)于具體的查找表來說,lut6a具有o5a和o6a兩個輸出端,lut6b具有o5b和o6b兩個輸出端,lut6c具有o5c和o6c兩個輸出端,lut6d具有o5d和o6d兩個輸出端。檢測電路中,包括8個2選1的選擇器和8個觸發(fā)器,按照對應(yīng)的被測的查找表的位置及輸出端口不同,將8個選擇器分別命名為mux5d與mux6d、mux5c與mux6c、mux5b與mux6b、mux5a與mux6a,將8個觸發(fā)器分別命名為ff5d與ff6d、ff5c與ff6c、ff5b與ff6b、ff5a與ff6a。在本發(fā)明中,選擇器是由檢測電路切片中的查找表來實現(xiàn),每個查找表實現(xiàn)兩個2選1選擇器的功能,按照位置對應(yīng)關(guān)系,mux5d與mux6d由lut6d實現(xiàn),mux5c與mux6c由lut6c實現(xiàn),mux5b與mux6b由lut6b實現(xiàn),mux5a與mux6a由lut6a實現(xiàn)。在本發(fā)明中,觸發(fā)器由檢測電路切片中的單bit存儲單元實現(xiàn),每個存儲單元實現(xiàn)1個帶時鐘使能端與異步復(fù)位的觸發(fā)器功能,該功能通過使用7系列fpga的fdce原語實現(xiàn)。8個觸發(fā)器的輸入信號分別命名為:d5d與d6d,d5c與d6c,d5b與d6b,d5a與d6a”,輸出信號分別命名為“q5d與q6d,q5c與q6c,q5b與q6b,q5a與q6a。在一個實施例中,每個被測的查找表的輸入信號lut_in由統(tǒng)一的外部信號提供;全部選擇器的控制信號sr_sel由外部的控制信號電路統(tǒng)一提供,所述控制信號電路發(fā)送第一控制信號和第二控制信號,在一個實施例中,所述第一控制信號為1,第二控制信號為0。全部觸發(fā)器的時鐘信號sr_clk由外部的時鐘信號電路統(tǒng)一提供。全部觸發(fā)器的時鐘使能端口ce固定為1(ce=1’b1,即始終使能)。全部觸發(fā)器的異步復(fù)位端口clr固定為0(clr=1’b0,即不復(fù)位)。每個被測的查找表的輸出端口連到對應(yīng)選擇器的1個輸入端口上,即o5d連到mux5d,o6d連到mux6d,o5c連到mux5c,o6c連到mux6c,o5b連到mux5b,o6b連到mux6b,o5a連到mux5a,o6a連到mux6a。每個觸發(fā)器的輸出連到下一級選擇器的另1個輸入端口上,即q5d連到mux5c,q6d連到mux6c,q5c連到mux5b,q6c連到mux6b,q5b連到mux5a,q6b連到mux6a;mux5d和mux6d的另1個輸入端口由外部輸入信號sr_in5和sr_in6提供;q5a與q6a通過檢測電路的sr_out5和sr_out6端口輸出到模塊外部。每個mux的輸出連到對應(yīng)觸發(fā)器的輸入上,即mux5d連到d5d,mux6d連到d6d,mux5c連到d5c,mux6c連到d6c,mux5b連到d5b,mux6b連到d6b,mux5a連到d5a,mux6a連到d6a。當(dāng)sr_sel輸入信號為1時(sr_sel=1’b1),mux5d的輸出為sr_in5,mux6d的輸出為sr_in6,mux5c的輸出為q5d,mux6c的輸出為q6d,mux5b的輸出為q5c,mux6b的輸出為q6c,mux5a的輸出為q5b,mux6a的輸出為q6b;當(dāng)sr_sel輸入信號為0時(sr_sel=1’b0),mux5d的輸出為o5d,mux6d的輸出為o6d,mux5c的輸出為o5c,mux6c的輸出為o6c,mux5b的輸出為o5b,mux6b的輸出為o6b,mux5a的輸出為o5a,mux6a的輸出為o6a。在一個實施例中,多個可配置邏輯塊之間可以實現(xiàn)級聯(lián),不同可配置邏輯塊使用相同的sr_sel和sr_clk信號,通過將前一個可配置邏輯塊的sr_out5連到下一個可配置邏輯塊的sr_in5,將前一個可配置邏輯塊的sr_out6連到下一個可配置邏輯塊的sr_in6上來實現(xiàn)多個可配置邏輯塊的級聯(lián)測試,最多可以級聯(lián)fpga內(nèi)全部clb模塊。在布置完檢測電路后,本發(fā)明需要對全部的查找表進(jìn)行配置,由于每個切片具有唯一的物理位置編號(如x0y0、x2y1),因此,在一個實施例中,所述配置方法包括偶數(shù)列異或門配置方法、偶數(shù)列同或門配置方法、奇數(shù)列異或門配置方法與奇數(shù)列同或門配置方法。所述偶數(shù)列異或門配置方法包括:將全部可配置邏輯塊中x軸坐標(biāo)編號為偶數(shù)的切片作為被測電路,編號為奇數(shù)的切片作為檢測電路;將被測電路的全部查找表配置為6輸入異或門結(jié)構(gòu),初始化數(shù)據(jù)為64’h6996_9669_9669_6996:由于6的二進(jìn)制符號為0110,9的二進(jìn)制符號為1001,因此初始化數(shù)據(jù)實際上是一個由0和1組成的64位的二進(jìn)制代碼;將檢測電路中的觸發(fā)器的初始數(shù)據(jù)設(shè)為1’b0;以及將全部的待測查找表通過物理約束指令,每4個1組按順序放置在被測電路切片內(nèi),對應(yīng)的8個觸發(fā)器放置在相應(yīng)的檢測電路切片內(nèi)。所述偶數(shù)列同或門配置方法包括:將全部可配置邏輯塊中x軸坐標(biāo)編號為偶數(shù)的切片作為被測電路,編號為奇數(shù)的切片作為檢測電路;將被測電路的全部查找表配置為6輸入同或門結(jié)構(gòu),初始化數(shù)據(jù)為64’h9669_6996_6996_9669;將檢測電路中的觸發(fā)器的初始數(shù)據(jù)設(shè)為1’b0;以及將全部的待測查找表通過物理約束指令,每4個1組按順序放置在被測電路切片內(nèi),對應(yīng)的8個觸發(fā)器放置在相應(yīng)的檢測電路切片內(nèi)。所述奇數(shù)列異或門配置方法包括:將全部可配置邏輯塊中x軸坐標(biāo)編號為奇數(shù)的切片作為被測電路,編號為偶數(shù)的切片作為檢測電路;將被測電路的全部查找表配置為6輸入異或門結(jié)構(gòu),初始化數(shù)據(jù)為64’h6996_9669_9669_6996;將檢測電路中的觸發(fā)器的初始數(shù)據(jù)設(shè)為1’b0;以及將全部的待測查找表通過物理約束指令,每4個1組按順序放置在被測電路切片內(nèi),對應(yīng)的8個觸發(fā)器放置在相應(yīng)的檢測電路切片內(nèi)。所述奇數(shù)列同或門配置方法包括:將全部可配置邏輯塊中x軸坐標(biāo)編號為奇數(shù)的切片作為被測電路,編號為偶數(shù)的切片作為檢測電路;將被測電路的全部查找表配置為6輸入同或門結(jié)構(gòu),初始化數(shù)據(jù)為64’h9669_6996_6996_9669;將檢測電路中的觸發(fā)器的初始數(shù)據(jù)設(shè)為1’b0;以及將全部的待測查找表通過物理約束指令,每4個1組按順序放置在被測電路切片內(nèi),對應(yīng)的8個觸發(fā)器放置在相應(yīng)的檢測電路切片內(nèi)。通過以上4次配置,可以覆蓋fpga內(nèi)全部lut6模塊,并且全部查找表的每1bit存儲區(qū)都遍歷了0和1。接下來,就進(jìn)行到檢測方法的最后一步,對檢測電路輸入測試向量。本過程需要首先測試觸發(fā)器的功能,然后再測試被測電路上查找表。首先,將控制信號設(shè)為1,有上述內(nèi)容可知,此時每一級選擇器不與被測電路中平級的查找表的輸出端口連接,而是與自己上一級的觸發(fā)器的輸出端口連接,構(gòu)成鏈?zhǔn)浇Y(jié)構(gòu),最上級的選擇器mux5d與sr_in端口連接,具體地說,即mux5d和sr_in5端口連接,mux6d和sr_in6端口連接,mux5c與ff5d的q5d端口連接,mux6c與ff6d的q6d端口連接,mux5b與ff5c的q5c端口連接,mux6b與ff6c的q6c端口連接,mux5a與ff5b的q6b端口連接,mux6a與ff6b的q6b端口連接。設(shè)置sr_in5和sr_in6的輸入信號均為1,連續(xù)給出4×n個周期的時鐘信號(n為檢測鏈路上可配置邏輯塊的數(shù)目,4表示檢測電路上共有4個查找表),這個過程中,以sr_in5為例,輸入信號1傳輸至mux5d,mux5d繼續(xù)將信號1發(fā)送至ff5d,接著ff5d通過q5d端口發(fā)送至mux5c,以此類推,直到全部觸發(fā)器都為1,并在鏈尾可配置邏輯塊的sr_out5和sr_out6持續(xù)輸出0,若不為0,則說明信號傳導(dǎo)出現(xiàn)了問題。接下來將sr_in5和sr_in6的輸入信號改為0,繼續(xù)給出4×n個周期的時鐘信號,該過程鏈尾可配置邏輯塊的sr_out5與sr_out6應(yīng)持續(xù)為1,其原理與上述過程的原理一樣,不再贅述。再繼續(xù)給出4×n個周期的時鐘信號,該過程中鏈尾可配置邏輯塊的sr_out5與sr_out6應(yīng)持續(xù)為0,到此對觸發(fā)器的檢測工作結(jié)束。接下來開始對查找表進(jìn)行檢測。首先將控制信號設(shè)為0,此時選擇器與被測電路中平級的查找表的輸出端口連接,構(gòu)成1對1結(jié)構(gòu),而不是與自己上一級的觸發(fā)器的輸出端口連接。接著,將被測電路上的輸入信號lut_in=6’b000000,即給出被測lut6的首個測試地址。輸入一個周期的時鐘信號,此時,顯然每個查找表的o5與o6端口上的輸出數(shù)據(jù)被鎖存進(jìn)對應(yīng)的觸發(fā)器中。設(shè)置控制信號為1,并連續(xù)給出4×n個周期的時鐘信號,通過鏈尾的sr_out5和sr_out6判斷測試結(jié)果,此時的輸出應(yīng)為lut6內(nèi)初始化數(shù)據(jù)的最低位0,若輸出不是lut6內(nèi)初始化數(shù)據(jù)的最低位,則根據(jù)測試序列異常位的編號定位失效的lut編號,例如,測試序列異常位的編號為3,則說明lut6c為失效的查找表。最后,對lut_in[5:0]信號值加1,即測試地址加1,重復(fù)對查找表的檢測步驟,將sr_out輸出信號與所述第一數(shù)據(jù)的第t位比較,直至全部64個地址測試完畢。本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點:相比bist方法,本方法可對lut6單元的固定型故障進(jìn)行完全的測試覆蓋;相比透明模塊鏈方法,本方法在設(shè)計中采用了物理約束手段,從而對檢測到的lut6單元故障可以進(jìn)行精確的物理定位;本發(fā)明是針對xilinx7系列fpgaclb結(jié)構(gòu)提出的lut6測試方法,同時適用于virtex-6系列fpga的lut6測試;本發(fā)明理論上僅需4次配置即可覆蓋fpga中全部的lut6模塊,當(dāng)器件規(guī)模較大時,為便于設(shè)計的綜合與實現(xiàn),可以進(jìn)行一定的物理分割,適當(dāng)增加配置次數(shù)來降低綜合實現(xiàn)的難度;本發(fā)明以clb為最小單元構(gòu)建測試結(jié)構(gòu),便于在不同型號fpga間進(jìn)行移植;本發(fā)明在測試lut6的同時也對切片內(nèi)全部觸發(fā)器模塊存儲位的固定故障進(jìn)行了檢測;本發(fā)明采用同步電路設(shè)計方法建立測試結(jié)構(gòu),數(shù)據(jù)流全部為流水線結(jié)構(gòu),具有運行速度快、時序收斂、測試結(jié)果穩(wěn)定可靠等優(yōu)點。最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吐鲁番市| 阳高县| 南通市| 富蕴县| 青阳县| 灵武市| 星子县| 镇坪县| 密山市| 保德县| 北京市| 乐都县| 上犹县| 孟连| 芮城县| 青海省| 阿尔山市| 温宿县| 金川县| 扎鲁特旗| 牡丹江市| 奉新县| 扎鲁特旗| 邻水| 台南县| 枝江市| 南澳县| 耒阳市| 巩留县| 永新县| 东港市| 色达县| 田东县| 察隅县| 仁怀市| 平阳县| 姜堰市| 商水县| 栾城县| 蒙自县| 澄城县|