基于SRAM的FPGA連線資源的一種可測性設計
上述的7種配置中同一個SB內(nèi)編號相同的開關的狀態(tài)都是一樣的。配置中SB旁邊的數(shù)字表示SB內(nèi)需要閉合的傳輸管的編號。圖中SB的編號Smn,其中:S00:處于奇行奇列的SB;S01:處于偶行奇列的SB;S10:處于奇行偶列的SB;S11:處于偶行偶列的SB。編號相同的SB在同一個測試配置中狀態(tài)是完全一樣的。如果對故障進行診斷,需要配置1到配置6。
1)配置l和配置2能夠診斷任何單個線段開路故障、線段固定故障和線段橋接故障;
2)配置l、2、3、4、5和配置6能夠診斷任何編號為3、6的單個傳輸管固定O故障;
3)配置1、2、3、4、5和配置6能夠診斷任何編號為2、5的單個傳輸管固定0故障;
4)配置3、4、5和配置6能夠診斷任何編號為4、1的單個傳輸管固定0故障;
5)配置l(或配置2)、配置3和配置4能夠診斷任何編號為l的單個傳輸管固定1故障;
6)配置1(或配置2)、配置3和配置4能夠診斷任何編號為4的單個傳輸管固定1故障;
7)配置3、4、5和配置6能夠診斷編號為2、3、5、6的單個傳輸管固定1故障。
如果僅僅是進行故障檢測,配置1、2和配置7就夠了。
4 移位寄存器鏈測試方法
由于FPGA規(guī)模越來越大,編程SRAM單元數(shù)量巨大,下載測試配置的時間就非常大。在測試中,需將配置下載到芯片中,然后加測試矢量對連線資源進行測試,但是在下載的過程中,也同時將邏輯資源的編程數(shù)據(jù)下載到了芯片中,這種下載對測試連線資源是沒有用的,所以這部分時間對連線資源測試來說是多余的。
從圖2的開關盒連接關系和圖3中的測試配置可以看出,在一個開關盒內(nèi)部編號相同的開關狀態(tài)是一樣的,所以在這種情況下就可以在開關盒內(nèi)部增加6個觸發(fā)器,每個觸發(fā)器的輸出端連接到相同編號的所有傳輸管上,并且將所有的觸發(fā)器連接成多條移位寄存器鏈,這樣在配置的時候就可以將事先設計好的配置數(shù)據(jù)通過移位寄存器鏈下載相對應的開關盒內(nèi)SRAM單元中,每個觸發(fā)器可以并行配置與其相連的SRAM單元,時間又可以節(jié)省很多。如圖4所示。各信號意義如下:
1)DATA IN:將設計好的編程數(shù)據(jù)通過移位寄存器移位到相對應的位置上;
2)DATA 0UT:移位鏈的輸出端;
3)TEST CONTROL:控制芯片為測試狀態(tài)或正常工作狀態(tài)。當其為1時,所有的測試控制NMOS管都閉合,將觸發(fā)器的輸出寫到相應的SRAM單元中;而當其為0時,所有的測試控制NMOS管都斷開,芯片處于正常工作狀態(tài),測試電路和工作電路完全斷開,不會影響芯片的正常工作;
4)NEXT:連接到另外一個開關盒的DATA IN,將所有的觸發(fā)器連接成多條移位寄存器鏈;
5)CLOCK:時鐘控制端,控制數(shù)據(jù)的移位。其他的一些輸入控制端沒有列出。
測試方法:比如要實現(xiàn)圖3中測試配置3,因為在這個配置中,開關盒S00需要將編號為1、3、6的傳輸管閉合,所以此開關盒寄存器的配置為101001,開關盒S10,S11需要將編號為4的傳輸管閉合,其需要的配置為000100,而開關盒Sol將閉合傳輸管l、2、5,所以其配置為110010,所以對于配置3中的9個開關盒來說,需要的配置序列為:101001,000100,10100l;1 100lO,000100,110010;101001,000100,101001。
在測試的時候分別將6種配置的測試序列分別通過下載端口下載到芯片中,實現(xiàn)測試需要的配置對開關盒進行測試。
三種常用的SB結(jié)構(gòu)如圖5所示。
評論