專利名稱:Sram型fpga單粒子效應試驗系統及方法
技術領域:
本發明涉及一種SRAM型FPGA單粒子效應試驗系統及方法。
背景技術:
FPGA為可重構的新型器件,在衛星研制中使用FPGA,可以加快衛星的研制進度, 縮短研制周期,同時提高衛星的性能。衛星工作在空間輻射環境中,輻射效應會導致FPGA 性能退化甚至失效,而單粒子輻射效應導致的FPGA性能退化尤為明顯。在衛星使用FPGA 前,必須對FPGA進行單粒子效應檢測,通過試驗,評估單粒子效應敏感度,為型號選用器件和系統進行抗輻射加固設計提供依據。國內的單粒子試驗主要集中在各類傳統的固定功能器件上,如微處理器、存儲器、 數字邏輯電路、A/D、D/A轉換器等,而FPGA在結構和功能原理上與以往研究的器件有本質的區別,在系統中實現的功能和內部連線由配置文件決定,而配置文件存儲于單粒子敏感的SRAM區內,因此在檢測原理上不能將其看作固定邏輯功能的器件進行單粒子模擬試驗, 而是需要針對其結構特點設計全新的檢測系統進行單粒子效應檢測。目前國內從事SRAM型FPGA單粒子效應檢測研究的單位主要為國防科學技術大學。國防科技大學的現場可編程邏輯門陣列中單粒子翻轉的檢測方法及裝置,只針對SRAM 型FPGA單粒子翻轉效應的檢測,采用回讀配置幀與原始配置幀進行直接字節比對的檢測方式。由于SRAM型FPGA的回讀配置幀存在一定數量的數據冗余,采用回讀配置幀與原始配置幀進行直接字節比對的檢測方式,不排除回讀配置幀的冗余數據,會影響檢測效率;另外,單粒子功能中斷對單粒子翻轉結果準確度的會造成一定影響,采用回讀配置幀與原始配置幀進行直接字節比對的單一檢測方式,得到的單粒子翻轉檢測結果,有可能不準確。SRAM型FPGA單粒子效應故障注入主要用于非輻照環境下,模擬SRAM型FPGA配置存儲區和BRAM的單粒子翻轉效應,開展單粒子翻轉效應的影響研究。目前國內從事SRAM 型FPGA單粒子效應故障注入研究的單位主要為上海微小衛星工程中心和北京時代民芯科技有限公司。上海微小衛星工程中心的智能全自動單粒子事件故障注入器,主要采用軟件仿真方式進行,不再實際硬件平臺開展試驗研究。北京時代民芯科技有限公司的故障注入系統及其方法需要通過制作故障單元模塊,修改目標電路的門級HDL代碼,生成故障電路, 操作所需專業能力較高,過程復雜。國外從事單粒子效應試驗研究的報道主要有美國XILINX公司和歐洲SAAB試驗室,美國XILINX公司是FPGA的生產設計方,完全掌握該類器件的核心技術,采用了專門設計的檢測板、上位機檢測軟件以及IP核,能夠較全面地完成對被測FPGA內部資源的單粒子效應檢測和故障注入,但是試驗應用的FPGA內部資源檢測技術并未公開,大量技術國內無法獲得,且其檢測方法是將被測FPGA配置為固定邏輯功能,由外部計算機通過專用軟件對器件通用內部資源進行檢測,其檢測方案不針對器件的具體應用邏輯;歐洲SAAB試驗室也是和Xilinx公司合作,采用了專門設計的檢測板、上位機檢測軟件以及IP核進行單粒子效應檢測和故障注入,其檢測技術細節未公開,國內無法獲得。
發明內容
本發明解決的技術問題是克服現有技術的不足,提供了操作簡單、檢測全面、準確度高、實時性好、通用性強的SRAM型FPGA單粒子效應試驗系統及方法。本發明的技術解決方案是SRAM型FPGA單粒子效應試驗系統包括單片機處理器、RS232接口、USB接口、測試FPGA以及存儲單元,其中單片機處理器接收外部傳來的配置數據和控制命令,并將數據和命令送至測試 FPGA ;根據外部控制命令,設置測試FPGA為配置操作狀態、刷新操作狀態、故障注入狀態、 單粒子翻轉與功能中斷檢測操作狀態和觸發器翻轉檢測操作狀態;從測試FPGA接收控制命令反饋信號和檢測結果,并向外部輸出;測試FPGA 根據單片機處理器傳來的命令對存儲單元進行初始化,接收單片機處理器傳來的配置數據,并存至存儲單元;根據單片機處理器傳來的命令進入相應的操作狀態,所述操作狀態包括配置操作狀態、刷新操作狀態、故障注入狀態、單粒子翻轉與功能中斷檢測操作狀態和觸發器翻轉檢測操作狀態;當配置操作狀態時,測試FPGA從存儲單元中讀出配置數據,對被測FPGA的進行配置操作,并向單片機處理器反饋配置操作結果;刷新操作狀態時,對被測FPGA的進行配置操作,并向單片機處理器反饋配置操作結果;故障注入狀態時,測試FPGA收到單片機處理器的故障注入操作命令后,經由USB接口從上位機接收故降數據信息,通過被測FPGA的串行配置口對被測FPGA進行部分重配,在指定位置的配置位寫入故障數據;所述部分重配是只針對FPGA配置文件的片斷進行修改,從而完成對被測FPGA進行故障注入;單粒子翻轉與功能中斷檢測操作狀態時,從被測FPGA回讀當前的配置數據,通過與原始配置數據的比較進行單粒子翻轉檢測,通過讀寫被測FPGA配置地址寄存器和檢測DONE管腳進行單粒子功能中斷檢測,當確認FPGA沒有發生功能中斷后,依次向被測FPGA發送同步命令和配置數據回讀命令,并檢測被測FPGA的BUSY引腳,當BUSY 引腳無效時,將回讀的配置數據的有效位與存儲器存儲的原始配置數據的相應位進行實時比對,統計翻轉總數,并將統計結果發送至單片機處理器;觸發器翻轉檢測操作狀態時,測試FPGA首先刷新被測FPGA的配置數據,確保被測FPGA用戶邏輯鏈路連通,然后讀出被測 FPGA的用戶觸發器值,與所賦初值進行比較,統計翻轉總數,并將統計結果發送至單片機處理器;存儲單元用于存儲外部傳來的配置數據;RS232接口 完成上位機向單片機處理器發送控制命令,并從單片機接收控制命令反饋或檢測結果;USB接口 完成上位機向單片機處理器發送被測FPGA原始配置數據。所述的單片機處理器的工作過程為單片機處理器首先進行初始化操作,然后進入到循環操作;循環操作時,單片機處理器循環檢測RS232接口信號輸入,確定下一步需要進行的操作;若單片機處理器從RS232 接口收到配置操作命令、刷新操作命令、故障注入命令、單粒子翻轉與功能中斷檢測操作命令或觸發器翻轉檢測操作命令,則將相應命令發送給測試FPGA,待測試FPGA完成相應操作后,從測試FPGA接收控制命令反饋信號或檢測結果,經RS232接口向外部傳送。單片機處理器在完成一個命令操作周期后,重新進入循環操作,等待下一個命令。
所述的配置數據接收的工作過程為測試FPGA首先進行初始化操作,然后進入到循環操作;循環操作時,測試FPGA循環檢測USB接口的信號輸入,若測試FPGA從USB接口收到配置數據下載命令,則終止其他操作,連續從USB接口接收被測FPGA的原始配置數據,并交由測試FPGA進行存儲。所述的測試FPGA的配置操作過程為收到單片機處理器的配置操作命令后,使能被測FPGA的配置控制引腳CS、WRITE 和PROGRAM,并保證PROGRAM信號保持低電平至少300ns,然后檢測被測FPGA輸出的INIT引腳,當INIT引腳有效時從配置存儲器的首地址讀出配置數據并寫入被測FPGA,同時檢測被測FPGA的BUSY引腳,當BUSY引腳無效時,表示該地址配置數據已被寫入被測FPGA,將配置存儲器的地址加一,重復進行寫入操作,直至將配置存儲器中的全部配置數據發送完畢;然后檢測被測FPGA輸出的DONE引腳,當DONE引腳有效時,表示被測FPGA的已經配置成功; 在被測FPGA配置成功后,測試FPGA開始對被測FPGA的用戶觸發器進行賦初值操作,賦初值操作完成后,整個的配置操作全部結束。所述的測試FPGA的刷新操作過程為收到單片機處理器的刷新操作命令后,從配置存儲器的首地址讀出配置數據并寫入被測FPGA,同時檢測被測FPGA的BUSY引腳,當BUSY引腳無效時,表示該地址配置數據已被寫入被測FPGA,將配置存儲器的地址加一,重復進行寫入操作,直至將配置存儲器中的全部配置數據發送完畢。SRAM型FPGA單粒子效應試驗方法,其特征在于包括故障注入;單粒子翻轉檢測, 包括配置存儲區、BRAM和觸發器翻轉檢測;單粒子功能中斷檢測;單粒子鎖定檢測四部分之一;其中所述故障注入方法步驟如下(a)上位機確定故障注入配置位的位置,并將故障位置信息發送給單片機處理器;(b)單片機處理器將故障位置信息發送給測試FPGA ;(c)測試FPGA依據接收到的位置信息,通過被測FPGA的串行配置口,對被測FPGA 進行部分重配,更改相應配置位的配置數據,實現故障注入;所述單粒子翻轉檢測和單粒子功能中斷檢測合并完成,實現步驟如下(1)選擇輻射源;(2)由外部發送初始化命令,將配置數據送至存儲單元中,完成初始化;(3)初始化結束后,由外部向單片機處理器發送配置命令,啟動測試FPGA對被測 FPGA進行配置操作;(4)配置操作完成后,由外部向單片機處理器發送檢測命令,啟動測試FPGA的循環檢測操作;(5)使用輻射源產生高能粒子照射被測FPGA芯片表面;(6)測試FPGA檢測被測FPGA的配置地址寄存器和DONE管腳,判斷被測FPGA是否發生單粒子功能中斷,完成被測FPGA的單粒子功能中斷測試;(7)在確認FPGA沒有發生單粒子功能中斷的情況下,測試FPGA回讀被測FPGA的配置數據,將回讀的配置數據的有效位與存儲器存儲的原始配置數據的相應位進行實時比對,分別統計配置存儲區和BRAM翻轉總數,并將統計結果發送至單片機處理器;(8)循環執行步驟(6) (7),直至高能粒子照射結束;(9)刷新被測FPGA的配置數據,讀出被測FPGA的用戶觸發器值,與所賦初值進行比較,統計翻轉總數,并將統計結果發送至單片機處理器,完成觸發器功能中斷測試;所述單粒子鎖定檢測方法實現步驟如下(A)選擇輻射源;(B)由外部發送初始化命令,將配置數據送至存儲單元中,完成初始化;(C)初始化結束后,由外部向單片機處理器發送配置命令,啟動測試FPGA對被測 FPGA進行配置操作;(D)使用輻射源產生高能粒子照射被測FPGA芯片表面;(E)定時刷新被測FPGA的配置數據,防止被測FPGA未發生單粒子鎖定時的工作電流過大;(F)若發現被測FPGA工作電流突然變大,超過檢測閾值,在刷新配置數據后,電流基本無變化,則判定被測FPGA發生單粒子鎖定。所述步驟(1)、(A)中的輻射源為回旋加速器或串列加速器,其產生的高能粒子在硅中的射程大于30 μ m, LET值大于30MeV. cm2/mg。所述步驟(8)中照射結束的條件為被測FPGA發生單粒子功能中斷,或者輻射源輻照粒子的注量達到9 X IO4 105/cm2。本發明與現有技術相比的優點在于(1)本發明操作簡單。現有的故障注入方法需要通過制作故障單元模塊,修改目標電路的門級HDL代碼,生成故障電路,操作所需專業能力較高,過程復雜。本發明的故障注入方法,只需指定故障位置,就可通過部分重配完成故障注入,操作簡單。(2)本發明檢測全面。現有技術有的只能檢測配置存儲區和BRAM的單粒子翻轉, 本發明可實現配置存儲區、BRAM和觸發器的單粒子翻轉檢測,單粒子功能中斷檢測,單粒子鎖定檢測,檢測全面。(3)本發明單粒子翻轉檢測準確度高。現有技術直接將回讀配置數據與原始配置數據的差異位總數,作為單粒子翻轉總數,不考慮單粒子功能中斷對單粒子翻轉檢測結果準確性的影響。本發明通過綜合考慮單粒子翻轉和單粒子功能中斷的檢測結果,來認定最終的單粒子翻轉檢測結果,準確度高。(4)本發明單粒子翻轉檢測實時性好。現有技術有些將回讀的配置數據存儲成回讀配置文件,通過回讀配置文件與原始配置文件的非實時比對得出檢測結果;有些讓全部的回讀配置數據都參與比對操作,效率低,實時性差。本發明單粒子翻轉檢測直接提取回讀數據的有效位進行實時比對,得到翻轉檢測結果,排除冗余數據的影響,效率高,實時性好。(5)本發明可以通過上位機遠程下載任意功能的配置文件至被測FPGA,實現被測 FPGA的任意應用邏輯功能,通用性強;該遠程配置功能可用于航天型號上的FPGA單粒子模擬試驗,有效效驗證具體配置功能的單粒子敏感性,對于工程應用單粒子摸底試驗和在軌失效分析具有實際意義。
圖1為本發明SRAM型FPGA單粒子效應試驗系統的原理框圖;圖2為本發明SRAM型FPGA單粒子效應試驗系統單片處理器的工作流程圖;圖3為本發明SRAM型FPGA單粒子效應試驗系統測試FPGA對被測FPGA進行配置操作的工作流程圖;圖4為本發明SRAM型FPGA單粒子效應試驗系統測試FPGA對被測FPGA進行刷新操作的工作流程圖;圖5為本發明SRAM型FPGA單粒子效應試驗系統測試FPGA對被測FPGA進行故障注入操作的工作流程圖。圖6為本發明SRAM型FPGA單粒子效應試驗系統測試FPGA對被測FPGA進行單粒子翻轉與功能中斷檢測操作的工作流程圖。圖7為本發明SRAM型FPGA單粒子效應試驗系統測試FPGA對被測FPGA進行觸發器翻轉檢測操作的工作流程圖。
具體實施例方式如圖1所示,為本發明SRAM型FPGA單粒子效應試驗系統的組成框圖,包括單片機處理器、RS232接口電路、USB接口電路、測試FPGA以及存儲單元。本發明在具體實施中,單片機處理器選用Silicon Laboratories公司的C8051F020,測試FPGA選用Altera 公司的 Cyclone III 系列 FPGAEP3C120F780C7,被測 FPGA 選用 Xilinx 公司的 Virtex 系列 FPGAXQV300-4CB228,該 FPGA 的串行配置口 為 JTAG 口,并行配置口 為 kIectMAP 口。首先進行相應的初始化操作,上電后單片機處理器和測試FPGA自動完成程序加載和初始化。測試FPGA循環檢測USB接口的信號輸入,若從USB接口接收到配置程序下載指令,則終止其他操作,啟動配置數據下載操作,從USB接口接收配置數據,寫入存儲單元。 單片機處理器循環檢測RS232接口的信號輸入,若從RS232接口接收到配置操作命令、刷新操作命令、故障注入命令、單粒子翻轉與功能中斷檢測操作命令或觸發器翻轉檢測操作命令,則將相應命令發送給測試FPGA。測試FPGA從存儲單元讀取所需數據,通過被測FPGA的串行配置口或并行配置口,完成相應的操作,并將控制命令反饋信號或檢測結果發送給單片機處理器,由單片機處理器通過RS232向上位機發送。如圖2所示,為本發明SRAM型FPGA單粒子效應試驗系統的單片機處理器工作流程圖。系統上電后,單片機處理器循環檢測RS232接口有無信號輸入。若無信號輸入,則繼續循環檢測;若有信號輸入,則對輸入信號進行解碼,并向測試FPGA發送相應控制命令。命令發送完成后,單片機處理器循環檢測測試FPGA有無控制命令反饋信號或檢測結果。若測試FPGA在設定時間內未給出控制命令反饋信號或檢測結果,則單片機處理器向上位機發送超時錯誤信號;若收到命令反饋信號或檢測結果,則將命令反饋信號或檢測結果向上位機發送。發送完成后,單片機處理器重新循環檢測RS232接口有無信號輸入。如圖3所示,為本發明SRAM型FPGA單粒子效應試驗系統的配置操作工作流程圖。 當測試FPGA從單片機處理器接收到配置操作命令時,啟動對被測FPGA的配置操作。首先使能被測FPGA的配置控制信號CS、WRITE和PROGRAM,保持PE0GRAM低電平至少300ns,然后檢測INIT信號。若INIT信號沒有在規定的時間內有效,則測試FPGA向單片機處理器發送配置失敗信號,結束本次配置操作;若INIT信號在規定的時間內有效,則在檢測配置數據發送計數器和BUSY信號的情況下,通過klectMAP 口向被測FPGA發送配置數據,直到所有配置數據發送完成。配置數據發送完成后,檢測被測FPGA的DONE信號。若DONE沒有在規定的時間內有效,則測試FPGA向單片機處理器發送配置失敗信號,結束本次配置操作; 若DONE在規定的時間內有效,則測試FPGA向被測FPGA觸發器賦初值,并向單片機處理器發送配置成功信號,結束本次配置操作。如圖4所示,為本發明SRAM型FPGA單粒子效應試驗系統的刷新操作工作流程圖。 當測試FPGA從單片機處理器接收到刷新操作命令時,啟動對被測FPGA的刷新操作。首先使能被測FPGA的配置控制信號CS、WRITE,在檢測配置數據發送計數器和BUSY信號的情況下,通aklectMAP 口向被測FPGA發送配置數據,直到所有配置數據發送完成。配置數據發送完成后,測試FPGA向單片機處理器發送刷新成功信號,結束本次刷新操作。刷新操作用于觸發器翻轉檢測時,在不改變觸發器存儲值的情況下,刷新被測FPGA的配置數據,確保被測FPGA用戶邏輯鏈路連通;用于單粒子鎖定檢測時,防止被測FPGA在未發生單粒子鎖定時的工作電流過大。如圖5所示,為本發明SRAM型FPGA單粒子效應試驗系統的故障注入操作工作流程圖。當測試FPGA從單片機處理器接收到故障注入操作命令時,啟動對被測FPGA的故障注入操作。測試FPGA首先通過被測FPGA的JTAG 口向被測FPGA發送同步字,在檢測故障注入計數器和BUSY信號的情況下,向被測FPGA發送部分重配數據地址和相應地址的重配數據,通過采用故障數據對被測FPGA的部分重配實現故障注入。所有重配數據發送完成后, 測試FPGA向單片機處理器發送故障注入成功信號,結束本次故障注入操作。如圖6所示,為本發明SRAM型FPGA單粒子效應試驗系統的單粒子翻轉與功能中斷檢測操作工作流程圖。當測試FPGA從單片機處理器接收到單粒子翻轉與功能中斷檢測操作命令時,啟動對被測FPGA的單粒子翻轉與功能中斷檢測操作。測試FPGA首先檢測被測FPGA的DONE引腳信號,若DONE信號有效,則判定被測FPGA沒有發生POR功能中斷;若 DONE信號為低電平,則判定被測FPGA發生POR功能中斷。POR功能中斷檢測結束后,測試 FPGA通過被測FPGA的JTAG 口向被測FPGA發送同步字,讀寫被測FPGA的特殊功能寄存器, 判斷JTAG 口是否發生功能中斷,然后發送解同步字與被測FPGA解同步。JTAG 口功能中斷檢測結束后,測試FPGA通過被測FPGA的klectMAP 口向被測FPGA發送同步字,讀寫被測 FPGA的特殊功能寄存器,判斷klectMAP 口是否發生功能中斷。klectMAP 口功能中斷檢測結束后,測試FPGA通過被測FPGA的kIectMAP 口向被測FPGA發送配置回讀命令,在檢測配置數據回讀計數器和BUSY信號的情況下,通過klectMAP 口從被測FPGA回讀配置數據,直到所有配置數據回讀完成。在回讀配置數據的過程中測試FPGA對回讀配置數據與原始配置數據進行實時比對,統計差異位數。若在回讀檢測前,被測FPGA已被檢出出現POR功能中斷或klectMAP 口功能中斷,則統計的差異位數能夠進一步驗證被測FPGA出現了相應的功能中斷;若在回讀檢測前,被測FPGA未被檢出出現POR功能中斷或klectMAP 口功能中斷,則統計的差異位數即為被測FPGA配置數據的單粒子翻轉數。配置數據單粒子翻轉檢測結束后,測試FPGA通過被測FPGA的kIectMAP 口向被測FPGA發送BRAM回讀命令,在檢測BRAM數據回讀計數器和BUSY信號的情況下,通過kIectMAP 口從被測FPGA回讀BRAM數據,直到所有BRAM數據回讀完成。在回讀BRAM數據的過程中測試FPGA對回讀BRAM數據與原始BRAM數據進行實時比對,統計差異位數。若在回讀檢測前,被測FPGA已被檢出出現POR功能中斷或klectMAP 口功能中斷,則統計的差異位數能夠進一步驗證被測FPGA出現了相應的功能中斷;若在回讀檢測前,被測FPGA未被檢出出現POR功能中斷或klectMAP 口功能中斷,則統計的差異位數即為被測FPGA BRAM數據的單粒子翻轉數。如圖7所示,為本發明SRAM型FPGA單粒子效應試驗系統的觸發器翻轉檢測操作工作流程圖。當測試FPGA從單片機處理器接收到觸發器翻轉檢測操作命令時,啟動對被測 FPGA的觸發器翻轉檢測操作。測試FPGA首先刷新被測FPGA的配置數據,回讀被測FPGA的觸發器值,并與所賦初值進行比對,統計差異位數,即為觸發器翻轉數。測試FPGA向單片機處理器發送檢測結果,結束本次觸發器翻轉檢測操作。在進行單粒子效應檢測時,方法如下(1)試驗樣品處理器件為Xilinx公司30萬門FPGAXQV300-4CB228。試驗前,采用《陶瓷四周扁平封裝FPGA器件開帽夾具及開帽方法》對樣品進行開帽,開帽過程不損傷器件內部結構。(2)輻射源單粒子鎖定檢測輻射源選擇蘭州中科院近代物理研究所HIRFL回旋加速器,粒子為Bi,試驗在真空環境中進行。回旋加速器產生的高能粒子在真空環境中,照射試驗樣品。 試驗用粒子的LET值和射程見表1。表1試驗用粒子的有效LET值
權利要求
1.SRAM型FPGA單粒子效應試驗系統,其特征包括單片機處理器、測試FPGA、存儲單元、RS232接口及USB接口,其中單片機處理器接收外部傳來的配置數據和控制命令,并將所述配置數據和命令送至測試FPGA ;根據外部控制命令,設置測試FPGA為配置操作狀態、刷新操作狀態、故障注入狀態、單粒子翻轉與功能中斷檢測操作狀態和觸發器翻轉檢測操作狀態;從測試FPGA接收控制命令反饋信號和檢測結果,并向外部輸出;測試FPGA 根據單片機處理器傳來的命令對存儲單元進行初始化,接收單片機處理器傳來的配置數據,并存至存儲單元;根據單片機處理器傳來的命令進入相應的操作狀態,所述操作狀態包括配置操作狀態、刷新操作狀態、故障注入狀態、單粒子翻轉與功能中斷檢測操作狀態和觸發器翻轉檢測操作狀態;當配置操作狀態時,測試FPGA從存儲單元中讀出配置數據,對被測FPGA的進行配置操作,并向單片機處理器反饋配置操作結果;刷新操作狀態時,對被測FPGA的進行配置操作,并向單片機處理器反饋配置操作結果;故障注入狀態時,測試FPGA收到單片機處理器的故障注入操作命令后,經由USB接口從上位機接收故障數據信息,通過被測FPGA的串行配置口對被測FPGA進行部分重配,在指定位置的配置位寫入故障數據;所述部分重配是只針對FPGA配置文件的片斷進行修改,從而完成對被測FPGA 進行故障注入;單粒子翻轉與功能中斷檢測操作狀態時,從被測FPGA回讀當前的配置數據,通過與原始配置數據的比較進行單粒子翻轉檢測,通過讀寫被測FPGA配置地址寄存器和檢測DONE管腳進行單粒子功能中斷檢測,當確認FPGA沒有發生功能中斷后,依次向被測 FPGA發送同步命令和配置數據回讀命令,并檢測被測FPGA的BUSY引腳,當BUSY引腳無效時,將回讀的配置數據的有效位與存儲器存儲的原始配置數據的相應位進行實時比對,統計翻轉總數,并將統計結果發送至單片機處理器;觸發器翻轉檢測操作狀態時,測試FPGA 首先刷新被測FPGA的配置數據,確保被測FPGA用戶邏輯鏈路連通,然后讀出被測FPGA的用戶觸發器值,與所賦初值進行比較,統計翻轉總數,并將統計結果發送至單片機處理器;存儲單元用于存儲外部傳來的配置數據;RS232接口 完成上位機向單片機處理器發送控制命令,并從單片機接收控制命令反饋或檢測結果;USB接口 完成上位機向測試FPGA發送被測FPGA原始配置數據。
2.根據權利要求1所述的SRAM型FPGA單粒子效應試驗系統,其特征在于所述的單片機處理器的工作過程為單片機處理器首先進行初始化操作,然后進入到循環操作;循環操作時,單片機處理器循環檢測RS232接口信號輸入,確定下一步需要進行的操作;若單片機處理器從RS232接口收到配置操作命令、刷新操作命令、故障注入命令、單粒子翻轉與功能中斷檢測操作命令或觸發器翻轉檢測操作命令,則將相應命令發送給測試FPGA,待測試FPGA完成相應操作后, 從測試FPGA接收控制命令反饋信號或檢測結果,經RS232接口向外部傳送。單片機處理器在完成一個命令操作周期后,重新進入循環操作,等待下一個命令。
3.根據權利要求1所述的SRAM型FPGA單粒子效應試驗系統,其特征在于所述的配置數據接收的工作過程為測試FPGA首先進行初始化操作,然后進入到循環操作;循環操作時,測試FPGA循環檢測USB接口的信號輸入,若測試FPGA從USB接口收到配置數據下載命令,則終止其他操作,連續從USB接口接收被測FPGA的原始配置數據,并交由測試FPGA進行存儲。
4.根據權利要求1所述的SRAM型FPGA單粒子效應試驗系統,其特征在于所述的測試FPGA的配置操作過程為收到單片機處理器的配置操作命令后,使能被測FPGA的配置控制引腳CS、WRITE和 PROGRAM,并保證PROGRAM信號保持低電平至少300ns,然后檢測被測FPGA輸出的INIT引腳,當I NIT引腳有效時從配置存儲器的首地址讀出配置數據并寫入被測FPGA,同時檢測被測FPGA的BUSY引腳,當BUSY引腳無效時,表示該地址配置數據已被寫入被測FPGA,將配置存儲器的地址加一,重復進行寫入操作,直至將配置存儲器中的全部配置數據發送完畢; 然后檢測被測FPGA輸出的DONE引腳,當DONE引腳有效時,表示被測FPGA的已經配置成功; 在被測FPGA配置成功后,測試FPGA開始對被測FPGA的用戶觸發器進行賦初值操作,賦初值操作完成后,整個的配置操作全部結束。
5.根據權利要求1所述的SRAM型FPGA單粒子效應試驗系統,其特征在于所述的測試FPGA的刷新操作過程為收到單片機處理器的刷新操作命令后,從配置存儲器的首地址讀出配置數據并寫入被測FPGA,同時檢測被測FPGA的BUSY引腳,當BUSY引腳無效時,表示該地址配置數據已被寫入被測FPGA,將配置存儲器的地址加一,重復進行寫入操作,直至將配置存儲器中的全部配置數據發送完畢。
6.SRAM型FPGA單粒子效應試驗方法,其特征在于包括故障注入;單粒子翻轉檢測,包括配置存儲區、BRAM和觸發器翻轉檢測;單粒子功能中斷檢測;單粒子鎖定檢測四部分之 其中所述故障注入方法步驟如下(a)上位機確定故障注入配置位的位置,并將故障位置信息發送給單片機處理器;(b)單片機處理器將故障位置信息發送給測試FPGA;(c)測試FPGA依據接收到的位置信息,通過被測FPGA的串行配置口,對被測FPGA進行部分重配,更改相應配置位的配置數據,實現故障注入;所述單粒子翻轉檢測和單粒子功能中斷檢測合并完成,實現步驟如下(1)選擇輻射源;(2)由外部發送初始化命令,將配置數據送至存儲單元中,完成初始化;(3)初始化結束后,由外部向單片機處理器發送配置命令,啟動測試FPGA對被測FPGA 進行配置操作;(4)配置操作完成后,由外部向單片機處理器發送檢測命令,啟動測試FPGA的循環檢測操作;(5)使用輻射源產生高能粒子照射被測FPGA芯片表面;(6)測試FPGA檢測被測FPGA的配置地址寄存器和DONE管腳,判斷被測FPGA是否發生單粒子功能中斷,完成被測FPGA的單粒子功能中斷測試;(7)在確認FPGA沒有發生單粒子功能中斷的情況下,測試FPGA回讀被測FPGA的配置數據,將回讀的配置數據的有效位與存儲器存儲的原始配置數據的相應位進行實時比對, 分別統計配置存儲區和BRAM翻轉總數,并將統計結果發送至單片機處理器;(8)循環執行步驟(6) (7),直至高能粒子照射結束;(9)刷新被測FPGA的配置數據,讀出被測FPGA的用戶觸發器值,與所賦初值進行比較, 統計翻轉總數,并將統計結果發送至單片機處理器,完成觸發器功能中斷測試; 所述單粒子鎖定檢測方法實現步驟如下(A)選擇輻射源;(B)由外部發送初始化命令,將配置數據送至存儲單元中,完成初始化;(C)初始化結束后,由外部向單片機處理器發送配置命令,啟動測試FPGA對被測FPGA 進行配置操作;(D)使用輻射源產生高能粒子照射被測FPGA芯片表面;(E)定時刷新被測FPGA的配置數據,防止被測FPGA未發生單粒子鎖定時的工作電流過大;(F)若發現被測FPGA工作電流突然變大,超過檢測閾值,在刷新配置數據后,電流基本無變化,則判定被測FPGA發生單粒子鎖定。
7.根據權利要求6所述的SRAM型FPGA單粒子效應試驗方法,其特征在于所述步驟(1)、(A)中的輻射源為回旋加速器或串列加速器,其產生的高能粒子在硅中的射程大于 30 μ m, LET 值大于 30MeV. cm2/mg。
8.根據權利要求6所述的SRAM型FPGA單粒子效應試驗方法,其特征在于所述步驟 (8)中照射結束的條件為被測FPGA發生單粒子功能中斷,或者輻射源輻照粒子的注量達到 9X104 105/cm2。
全文摘要
SRAM型FPGA單粒子效應試驗系統及方法包括單片機處理器、RS232接口電路、USB接口電路、測試FPGA以及存儲單元,可以用于SRAM型FPGA的配置存儲器和BRAM的故障注入試驗,實現SRAM型FPGA的單粒子功能中斷檢測、單粒子鎖定檢測和單粒子翻轉檢測,包括配置存儲區、BRAM和觸發器的單粒子翻轉檢測。本發明具有操作簡單、檢測全面、準確度高、實時性好、通用性強的優點。
文檔編號G11C29/08GK102332307SQ201110214108
公開日2012年1月25日 申請日期2011年7月28日 優先權日2011年7月28日
發明者于慶奎, 劉迎輝, 唐民, 孟猛, 寧永成, 張大宇, 張海明, 李鵬偉, 羅磊 申請人:中國空間技術研究院