基于動態重構的fpga配置信息翻轉測試平臺及測試方法
【專利摘要】本發明公開了一種基于動態重構的FPGA配置信息翻轉測試平臺及測試方法。其包括上位機控制模塊、TCP/IP協議通信模塊、配置讀寫模塊、待測模塊、數據收集模塊及上位機數據分析模塊。上位機控制模塊產生測試所需參數,并通過TCP/IP協議通信模塊傳給配置讀寫模塊;配置讀寫模塊通過內部配置訪問端口ICAP實現配置信息的讀寫及實時翻轉;待測模塊由用戶根據需要提供;數據收集模塊產生待測模塊所需激勵信號,并將配置信息翻轉后待測模塊的輸出結果發送至上位機數據分析模塊;上位機數據分析模塊對測試結果進行統計和分析,判斷待測模塊功能能否正確實現。本發明具有FPGA資源消耗小、待測系統靈活、接口處理速度快的優點,可用于星載FPGA系統的可靠性測試。
【專利說明】基于動態重構的FPGA配置信息翻轉測試平臺及測試方法
【技術領域】
[0001]本發明屬于測試【技術領域】,特別涉及一種用于FPGA配置信息翻轉測試的平臺,可應用于航天星載FPGA系統的可靠性測試。
【背景技術】
[0002]FPGA (Field Programmable Gate Array)因其使用靈活、可反復燒寫的優異特性,在空間領域得到了廣泛的應用。然而由于空間環境存在高能粒子輻射,它會引起FPGA產生單粒子效應,尤其是單粒子的翻轉,這會導致FPGA的配置信息發生改變,致使電路功能出錯,無法保證系統整體功能的正常運作。為保證航天星載FPGA系統的可靠性,有必要對其進行單粒子翻轉測試。
[0003]目前在國內,進行FPGA系統的單粒子翻轉測試,只有專門的機構能夠進行,其實驗費用高、等待周期長。因此,搭建可模擬單粒子翻轉的測試平臺對待測試系統進行可靠性檢測,是節省研究資源、提高研究效率的有效方法。而現階段我國模擬單粒子翻轉測試平臺及測試方法的相關技術仍處于起步階段,如中國人民解放軍國防科學技術大學申請的發明專利(CN200910043423.0)《現場可編程邏輯門陣列中單粒子翻轉的檢測方法及裝置》,該專利申請由于采用NVRAM接口進行配置幀讀取及回讀控制,存在FPGA資源消耗較大、待測試系統不可靈活調整、接口處理速度慢的問題。
【發明內容】
[0004]本發明的目的在于針對上述已有技術的不足,提出一種基于動態重構的FPGA配置信息翻轉測試平臺及測試方法,以減小FPGA的資源消耗,提高待測試系統的靈活性和接口的處理速度。
[0005]本發明的技術方案是這樣實現的:
[0006]一.技術思路
[0007]本發明通過搭建一種局部配置信息可被動態任意修改的配置信息翻轉測試平臺,實現對FPGA配置信息的讀取及實時修改、使其具有運行狀態健康判斷和與上位機數據交換的功能。
[0008]二.測試平臺
[0009]本發明的FPGA配置信息翻轉測試平臺,包括:
[0010]上位機控制模塊(I),用于產生測試所需的隨機向量、隨機向量位置及模擬單粒子翻轉的次數,輸出給配置讀寫模塊;
[0011]TCP/IP協議通信模塊(2),用于完成上位機控制模塊與配置讀寫模塊之間的信息傳輸,以及配置讀寫模塊與上位機數據分析模塊之間的信息傳輸;
[0012]配置讀寫模塊(3),用于實現FPGA配置信息的讀寫及實時修改,即通過訪問FPGA內部配置訪問端口 ICAP,回讀出待測模塊配置信息,并對該配置信息與隨機向量進行運算,再將加入隨機向量后的配置信息重新寫入待測模塊;[0013]待測模塊(4),用于配置自身的電路信息,將配置信息輸出至配置讀寫模塊,或根據配置讀寫模塊傳回的加入隨機向量后的配置信息,重新配置自身的電路信息,并將新配置后該模塊的輸出結果送入數據收集模塊;
[0014]數據收集模塊(5),用于產生待測模塊所需的激勵信號,并將待測模塊輸出的新配置后的結果,輸出給上位機數據分析模塊(6);
[0015]上位機數據分析模塊出),用于對從數據收集模塊中傳入的模塊功能結果進行統計和分析。
[0016]上述FPGA配置信息翻轉測試平臺,其特征在于所述的上位機控制模塊⑴,
[0017]包括:
[0018]模擬單粒子產生密度子模塊(11),用于根據用戶輸入的環境參數,模擬產生單粒子的翻轉次數;
[0019]隨機向量產生子模塊(12),用于隨機產生需要注入到配置信息文件中的錯誤配置信息,即隨機向量;
[0020]隨機向量位置產生子模塊(13),用于隨機產生注入錯誤配置信息的位置,即隨機向量位置。
[0021]上述FPGA配置信息翻轉測試平臺,其特征在于所述的TCP/IP協議通信模塊(2),用于通過Micro Blaze軟核,建立上位機與FPGA之間的TCP/IP協議通信。
[0022]上述FPGA配置信息翻轉測試平臺,其特征在于所述的配置讀寫模塊(3),包括:
[0023]ICAP控制子模塊(31),用于根據上位機控制模塊傳入的指令,控制ICAP狀態機在各個狀態之間的跳轉,包括空閑狀態、回讀狀態、寫狀態及數據收集狀態四個狀態;
[0024]ICAP回讀控制子模塊(32),用于通過訪問內部配置訪問端口 ICAP,實現讀取待測模塊的動態區域配置信息,并將其存入配置信息寄存器RAM中;
[0025]配置信息寄存RAM子模塊(33),用于存儲通過內部配置訪問端口 ICAP回讀出的待測模塊動態區域配置信息;
[0026]翻轉向量寄存RAM子模塊(34),用于存儲由上位機控制模塊產生并通過MicroBlaze傳入的隨機向量及隨機向量位置;
[0027]ICAP寫控制子模塊(35),用于對配置信息寄存器RAM中的配置信息與翻轉向量寄存器RAM中的隨機向量進行異或運算,并將翻轉后的配置信息重新寫入待測模塊。
[0028]三.測試方法
[0029]本發明對待測模塊的配置信息進行翻轉測試包括兩種方案,一是對配置信息文件可存入FPGA內部的待測模塊進行測試的方法,二是對配置信息文件不可存入FPGA內部的待測模塊進行測試的方法。
[0030]1.對配置信息文件可存入FPGA內部的待測模塊進行測試的方法,包括如下步驟:[0031 ] (I)將上位機與FPGA測試板相連,FPGA復位上電,由待測模塊配置自身的電路信息;
[0032](2)建立上位機與FPGA之間的傳輸控制協議和因特網互聯協議TCP/IP通信連接;
[0033](3) ICAP回讀控制子模塊對步驟(I)中產生的配置信息進行讀取,并將其存入配置信息寄存器RAM中;[0034](4)啟動上位機控制模塊,由用戶輸入測試參數,產生模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置,并將其送入翻轉向量寄存器RAM中;
[0035](5) ICAP寫控制子模塊讀取翻轉向量寄存RAM子模塊中的隨機向量位置,對該處的配置信息與隨機向量進行異或運算,并將翻轉后的配置信息通過內部配置訪問端口 ICAP重新寫入待測模塊;
[0036](6)待測模塊根據翻轉后的配置信息,對其自身的電路信息進行重新配置,并將新配置后待測模塊的輸出結果傳入數據收集模塊;
[0037]7)重復步驟(4)-?),直到達到預設的單粒子翻轉次數,數據收集模塊向待測模塊發出收集結束信號,并將結果發回至上位機數據分析模塊;
[0038](8)上位機數據分析模塊對返回的新配置后待測模塊的輸出結果進行統計,判斷待測模塊的配置信息經單粒子翻轉影響后其自身的測試內容能否正確實現,即將該輸出結果與步驟(I)中待測模塊的輸出結果進行比較,若二者相吻合,則判斷待測模塊自身的測試內容能正確實現;否則,待測模塊自身的測試內容不能正確實現。
[0039]2.對配置信息文件不可存入FPGA內部的待測模塊進行測試的方法,包括如下步驟:
[0040](I)將上位機與FPGA測試板相連,FPGA復位上電,由待測模塊配置自身的電路信息,并將配置信息送入上位機控制模塊中;
[0041](2)建立上位機與FPGA之間的傳輸控制協議和因特網互聯協議TCP/IP通信連接;
[0042](3)啟動上位機控制模塊,由用戶輸入測試參數,產生模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置,并將其存入上位機控制模塊內部寄存器中,在上位機控制模塊內部對配置信息與隨機向量進行異或運算,并將翻轉后的配置信息發送至ICAP寫控制子模塊;
[0043](4) ICAP寫控制子模塊通過內部配置訪問端口 ICAP將翻轉后配置信息重新寫入待測模塊;
[0044](5)待測模塊根據翻轉后的配置信息,對其自身的電路信息進行重新配置,并將新配置后待測模塊的輸出結果傳入數據收集模塊;
[0045](6)重復步驟(3)-(5),直到達到預設的單粒子翻轉次數,數據收集模塊向待測模塊發出收集結束信號,并將結果發回至上位機數據分析模塊;
[0046](7)上位機數據分析模塊對返回的新配置后待測模塊的輸出結果進行統計,判斷待測模塊的配置信息經單粒子翻轉影響后其自身的測試內容能否正確實現,即將該輸出結果與步驟(I)中待測模塊的輸出結果進行比較,若二者相吻合,則判斷待測模塊自身的測試內容能正確實現;否則,待測模塊自身的測試內容不能正確實現。
[0047]本發明與現有技術相比具有以下優點:
[0048]第一,本發明采用FPGA的內部配置訪問接口 ICAP(Internal ConfigurationAccess Port),通過ICAP訪問待測模塊的動態配置區域,完成對配置信息的讀、寫操作,這樣無論待測模塊的配置信息存儲所需RAM大或小,都只需一片FPGA便可完成整個測試,使得本發明的資源更節省。
[0049]第二,本發明的測試平臺結構可適應不同規模的待測模塊,結構靈活可調,使得本發明的應用范圍更廣泛。
[0050]第三,本發明通過Micro Blaze軟核實現FPGA內部與外部的信息傳輸,MicroBlaze軟核支持C語言且方便移植,可更為簡單地實現傳輸控制協議和因特網互聯協議TCP/IP,使得本發明的接口處理速度更快。
[0051]第四,本發明采用人性化的上位機來模擬單粒子翻轉的產生,并支持用戶根據需要來自定義測試參數,使得本發明的測試平臺結構更為完善、全面,操作更簡單。
【專利附圖】
【附圖說明】
[0052]圖1為本發明的FPGA配置信息翻轉測試平臺的整體結構框圖;
[0053]圖2為本發明測試平臺中配置信息可存入FPGA內部時的配置讀寫模塊結構圖;
[0054]圖3為本發明測試平臺中配置信息不可存入FPGA內部時的配置讀寫模塊結構圖;
[0055]圖4為本發明測試平臺中配置信息可存入FPGA內部時的測試流程圖;
[0056]圖5為本發明測試平臺中配置信息不可存入FPGA內部時的測試流程圖。
【具體實施方式】
[0057]本發明的測試平臺采用Xilinx ISE 14.3集成開發軟件和VS2010軟件,基于Xilinx Virtex5 FPGA 搭建。
[0058]參照圖1,本發明的FPGA配置信息翻轉測試平臺包括:上位機控制模塊1、TCP/IP協議通信模塊2、配置讀寫模塊3、待測模塊4、數據收集模塊5以及上位機數據分析模塊6。
[0059]上位機控制模塊1、上位機數據分析模塊6同屬上位機,配置讀寫模塊3、待測模塊4與數據收集模塊5同屬FPGA ;上位機與FPGA之間通過TCP/IP協議通信模塊2相連,其中,TCP/IP協議通信模塊2利用Micro Blaze軟核實現。上位機控制模塊I由微軟基礎類MFC實現,產生模擬單粒子翻轉的次數、隨機向量及隨機向量位置,通過TCP/IP協議通信模塊2輸出給配置讀寫模塊3 ;配置讀寫模塊3回讀待測模塊4配置信息,并對配置信息與隨機向量進行異或運算,將翻轉后的配置信息重新寫入待測模塊4 ;待測模塊4配置自身的電路信息,并將配置信息輸出至配置讀寫模塊3,或根據配置讀寫模塊3傳回的加入隨機向量后的配置信息,重新配置自身的電路信息,再將新配置后該模塊的輸出結果送入數據收集模塊5 ;數據收集模塊5為待測模塊4提供激勵信號,并將收集的待測模塊4的新配置后該模塊的輸出結果送回上位機數據分析模塊6 ;上位機數據分析模塊6對從數據收集模塊5中傳入的模塊功能結果進行統計,并將該結果與待測模塊4的輸出結果進行比較,若二者相吻合,則判斷待測模塊自身的測試內容能正確實現;否則,待測模塊自身的測試內容不能正確實現。
[0060]上述平臺中的配置讀寫模塊3,其結構根據待測模塊的配置信息文件大小能否存入FPGA內部RAM而不同。對于待測模塊的配置信息文件能存入FPGA內部RAM時的配置讀寫模塊,其結構如圖2 ;對于待測模塊的配置信息文件不能存入FPGA內部RAM時的配置讀寫模塊,其結構如圖3。
[0061]參照圖2,本發明測試平臺中的配置讀寫模塊3,包括:ICAP控制子模塊31、ICAP回讀控制子模塊32、配置信息寄存RAM子模塊33、翻轉向量寄存RAM子模塊34、ICAP寫控制子模塊35、選擇器以及內部配置訪問端口 ICAP,其中:
[0062]ICAP控制子模塊31,通過狀態機實現,該狀態機包括回讀狀態、寫狀態、數據收集狀態及空閑狀態四個狀態。根據上位機控制模塊I傳入不同的指令,ICAP控制子模塊31通過選擇器來跳轉至不同的狀態:當收到回讀指令時則跳轉至回讀狀態,即ICAP回讀控制子模塊32開始工作;當收到寫指令時則跳轉至寫狀態,即ICAP寫控制子模塊35開始工作;當收到數據收集指令時則跳轉至數據收集狀態,即數據收集模塊5開始工作;當收到空指令時則跳轉至空閑狀態,即不進行任何操作。
[0063]ICAP回讀控制子模塊32,通過內部配置訪問端口 ICAP讀取待測模塊的動態區域配置信息,并將其存入配置信息寄存RAM子模塊33中;
[0064]配置信息寄存RAM子模塊33,存儲ICAP回讀控制子模塊32通過內部配置訪問端口 ICAP讀取的待測模塊配置信息;
[0065]翻轉向量寄存RAM子模塊34,存儲由上位機控制模塊I產生并通過Micro Blaze傳來的隨機向量及隨機向量位置;
[0066]ICAP寫控制子模塊35,讀取配置信息寄存RAM子模塊33中的配置信息以及翻轉向量寄存RAM子模塊34中的隨機向量,并訪問翻轉向量寄存RAM子模塊34中的隨機向量位置,對該位置處的配置信息和隨機向量進行異或運算,然后將翻轉后的配置信息重新寫入待測模塊4。
[0067]參照圖3,本發明測試平臺中的配置讀寫模塊3,包括:ICAP寫控制子模塊35以及內部配置訪問端口 ICAP。
[0068]ICAP寫控制子模塊35接收由上位機控制模塊I傳入的翻轉后配置信息,并通過內部配置訪問端口 ICAP將其重新寫入待測模塊,該翻轉后配置信息是由配置信息和隨機向量進行異或運算得到,其中,配置信息由待測模塊4傳入,隨機向量由上位機控制模塊I產生并通過Micro Blaze傳入。
[0069]上述待測模塊4,采用RS編碼器實現。當RS編碼器所屬動態區域產生的配置信息文件可存入FPGA內部RAM中時,待測模塊的測試流程如圖4 ;當RS編碼器所屬動態區域產生的配置信息文件不可存入FPGA內部RAM中時,待測模塊的測試流程如圖5。
[0070]參照圖4,利用上述FPGA配置信息翻轉測試平臺,對配置信息文件可存入FPGA內部的待測模塊進行測試,包括如下步驟:
[0071]步驟I,配置 FPGA。
[0072]將上位機與FPGA測試板相連,FPGA復位上電,待測模塊產生配置信息,并根據數據收集模塊傳來的時鐘激勵信號,產生RS編碼碼流。
[0073]步驟2,建立TCP/IP連接。
[0074]啟動上位機,打開上位機控制模塊中的微軟基礎類MFC控制窗口,在MFC控制窗口內點擊連接按鈕,即可自動建立上位機與FPGA之間的TCP/IP通信連接,即傳輸控制協議和因特網互聯協議。
[0075]步驟3,配置信息的讀取與存儲
[0076]上位機控制模塊發出讀指令,ICAP控制子模塊收到讀指令后,狀態機跳轉至回讀狀態,ICAP回讀控制子模塊按如下步驟讀取步驟I中產生的配置信息并將其存入配置信息寄存器RAM中:[0077]3a)第一次寫命令字:上位機控制模塊傳入讀指令后,ICAP回讀控制子模塊向ICAP中寫入讀操作命令字;
[0078]3b)讀取并存儲配置信息:讀操作命令字寫入后,待測模塊開始輸出配置信息,ICAP回讀控制子模塊通過ICAP讀取該配置信息;
[0079]3c)第二次寫命令字:配置信息讀取完成后,ICAP回讀控制子模塊向ICAP中寫入讀操作結束命令字,讀操作結束;
[0080]3d) ICAP回讀控制子模塊將回讀完成操作信號傳給ICAP控制子模塊,并將讀取的配置信息存入到配置信息寄存器RAM中。
[0081]步驟4,輸入測試參數。
[0082]4a)在MFC控制窗口內輸入自定義測試參數,包括配置容量、粒子強度及放大倍數;
[0083]4b)上位機控制模塊根據上述測試參數,自動計算出模擬單粒子預設的翻轉次數,并生成相應個數的隨機向量及隨機向量位置;
[0084]4c)將模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置整合為數據包,利用TCP/IP協議,將該數據包通過Micro Blaze發送至FPGA內部的翻轉向量寄存器RAM中。
[0085]步驟5,進行配置信息翻轉,并將翻轉后的配置信息重新寫入待測模塊。
[0086]上位機控制模塊發出寫指令,ICAP控制子模塊收到寫指令后,狀態機跳轉至寫狀態,ICAP寫控制子模塊按如下步驟進行配置信息翻轉運算,并將其重新寫入待測模塊:
[0087]5a)第一段執行寫頭部命令字操作;
[0088]5b)第二段執行寫翻轉后配置信息操作:
[0089]5bl)從配置信息寄存器RAM中讀出配置信息,從翻轉信息寄存器RAM中讀出隨機
向量;
[0090]5b2)讀取翻轉信息寄存器RAM中的隨機向量位置,并對該處的配置信息與隨機向量進行異或運算,然后將翻轉后的配置信息重新寫入待測模塊。
[0091]5c)第三段執行寫尾部命令字操作。
[0092]步驟6,獲取測試結果。
[0093]6a)根據重新寫入的翻轉后配置信息,待測模塊產生配置信息翻轉后的RS編碼碼流;
[0094]6b)上位機控制模塊發出數據收集指令,ICAP控制子模塊收到數據收集指令后,跳轉至數據收集狀態,數據收集模塊對待測模塊傳出的配置信息翻轉后的RS編碼碼流進行收集。
[0095]步驟7,判斷是否已達到預設的單粒子翻轉次數。
[0096]根據步驟4中上位機控制模塊產生的模擬單粒子預設的翻轉次數,判斷是否已達到該次數:
[0097]若未達到,則返回步驟5,繼續進行測試;
[0098]若已達到,則數據收集模塊數據收集結束,數據收集模塊向待測模塊發出收集結束信號,并將配置信息翻轉后的RS編碼碼流發回至上位機數據分析模塊,本次測試結束。
[0099]步驟8,結果分析。
[0100]上位機數據分析模塊對返回的配置信息翻轉后的RS編碼碼流進行統計,并將配置信息翻轉后的RS編碼碼流與步驟I中輸出的RS編碼碼流進行比較:
[0101]若二者相吻合,則判斷配置信息翻轉后的RS編碼器功能能正確實現;
[0102]否則,配置信息翻轉后的RS編碼器功能不能正確實現。
[0103]參照圖5,利用上述FPGA配置信息翻轉測試平臺,對配置信息文件不可存入FPGA內部的待測模塊進行測試,包括如下步驟:
[0104]步驟I,配置 FPGA。
[0105]Ia)將上位機與FPGA測試板相連,FPGA復位上電,待測模塊產生配置信息,并將其發送至上位機控制模塊;
[0106]Ib)根據數據收集模塊傳來的時鐘激勵信號,待測模塊產生RS編碼碼流,并將其發送至上位機控制模塊。
[0107]步驟2,建立TCP/IP連接。
[0108]啟動上位機,打開上位機控制模塊中的微軟基礎類MFC控制窗口,在MFC控制窗口內點擊連接按鈕,即可自動建立上位機與FPGA之間的TCP/IP通信連接,即傳輸控制協議和因特網互聯協議。
[0109]步驟3,進行配置信息翻轉。
[0110]3a)在微軟基礎類MFC控制窗口內輸入自定義測試參數,包括配置容量、粒子強度及放大倍數;
[0111]3b)上位機控制模塊根據上述測試參數,自動計算出模擬單粒子預設的翻轉次數,并生成相應個數的隨機向量及隨機向量位置;
[0112]3c)將模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置存于上位機控制模塊的內部寄存器中;
[0113]3d)在上位機控制模塊內部,對配置信息與隨機向量進行異或運算,然后將翻轉后的配置信息通過Micro Blaze輸出給ICAP寫控制子模塊。
[0114]步驟4,將翻轉后配置信息通過ICAP寫入待測模塊。
[0115]ICAP寫控制子模塊收到上位機控制模塊傳來的翻轉后配置信息,通過以下步驟將該翻轉后配置信息通過內部配置訪問端口 ICAP寫入待測模塊:
[0116]4a)第一段執行寫頭部命令字操作;
[0117]4b)第二段將翻轉后的配置信息寫入待測模塊;
[0118]4c)第三段執行寫尾部命令字操作。
[0119]步驟5,獲取測試結果。
[0120]根據重新寫入的翻轉后配置信息,待測模塊產生配置信息翻轉后的RS編碼碼流,數據收集模塊對該RS編碼碼流進行收集。
[0121]步驟6,判斷是否已達到預設的單粒子翻轉次數。
[0122]根據步驟3中上位機控制模塊產生的模擬單粒子預設的翻轉次數,判斷是否已達到該次數:
[0123]若未達到,則返回步驟4,繼續進行測試;
[0124]若已達到,則數據收集模塊數據收集結束,數據收集模塊向待測模塊發出收集結束信號,并將配置信息翻轉后的RS編碼碼流發回至上位機數據分析模塊,本次測試結束。
[0125]步驟7,結果分析。[0126]上位機數據分析模塊對返回的配置信息翻轉后的RS編碼碼流進行統計,并將配置信息翻轉后的RS編碼碼流與步驟I中輸出的RS編碼碼流進行比較:
[0127]若二者相吻合,則判斷配置信息翻轉后的RS編碼器功能能正確實現;
[0128]否則,配置信息翻轉后的RS編碼器功能不能正確實現。
[0129]以上描述僅是本發明的一個具體實例,不構成對本發明的任何限制,顯然對于本領域的專業人員來說,在了解了本
【發明內容】
和原理后,都可能在不背離本發明原理、結構的情況下,進行形式和細節上的各種修正和改變,但是這些基于本發明思想的修正和改變仍在本發明的權利要求保護范圍之內。
【權利要求】
1.一種基于動態重構的FPGA配置信息翻轉測試平臺,包括: 上位機控制模塊(I),用于產生測試所需的隨機向量、隨機向量位置及模擬單粒子翻轉的次數,輸出給配置讀寫模塊; TCP/IP協議通信模塊(2),用于完成上位機控制模塊與配置讀寫模塊之間的信息傳輸,以及配置讀寫模塊與上位機數據分析模塊之間的信息傳輸; 配置讀寫模塊(3),用于實現FPGA配置信息的讀寫及實時翻轉,即通過訪問FPGA內部配置訪問端口 ICAP,回讀出待測模塊配置信息,并對該配置信息與隨機向量進行運算,再將加入隨機向量后的配置信息重新寫入待測模塊; 待測模塊(4),用于配置自身的電路信息,將配置信息輸出至配置讀寫模塊,或根據配置讀寫模塊傳回的加入隨機向量后的配置信息,重新配置自身的電路信息,并將新配置后該模塊的輸出結果送入數據收集模塊; 數據收集模塊(5),用于產生待測模塊所需的激勵信號,并將待測模塊輸出的新配置后的結果,輸出給上位機數據分析模塊(6); 上位機數據分析模塊(6),用于對從數據收集模塊中傳入的模塊功能結果進行統計和分析。
2.根據權利要求1所述的FPGA配置信息翻轉測試平臺,其特征在于所述的上位機控制模塊(I),包括: 模擬單粒子產生密度子模塊(11),用于根據用戶輸入的環境參數,模擬產生單粒子的翻轉次數; 隨機向量產生子模塊(12),用于隨機產生需要注入到配置信息文件中的錯誤配置信息,即隨機向量; 隨機向量位置產生子模塊(13),用于隨機產生注入錯誤配置信息的位置,即隨機向量位置。
3.根據權利要求1所述的FPGA配置信息翻轉測試平臺,其特征在于所述的TCP/IP協議通信模塊(2),用于通過Micro Blaze軟核,建立上位機與FPGA之間的TCP/IP協議通信。
4.根據權利要求1所述的FPGA配置信息翻轉測試平臺,其特征在于所述的配置讀寫模塊⑶,包括: ICAP控制子模塊(31),用于根據上位機控制模塊傳入的指令,控制ICAP狀態機在各個狀態之間的跳轉,包括空閑狀態、回讀狀態、寫狀態及數據收集狀態四個狀態; ICAP回讀控制子模塊(32),用于通過訪問內部配置訪問端口 ICAP,實現讀取待測模塊的動態區域配置信息,并將其存入配置信息寄存器RAM中; 配置信息寄存RAM子模塊(33),用于存儲通過內部配置訪問端口 ICAP回讀出的待測模塊動態區域配置信息; 翻轉向量寄存RAM子模塊(34),用于存儲由上位機控制模塊產生并通過Micro Blaze傳入的隨機向量及隨機向量位置; ICAP寫控制子模塊(35),用于對配置信息寄存器RAM中的配置信息與翻轉向量寄存器RAM中的隨機向量進行運算,并將加入隨機向量后的配置信息重新寫入待測模塊。
5.一種利用權利要求1對配置信息文件可存入FPGA內部的待測模塊進行測試的方法,包括如下步驟:(1)將上位機與FPGA測試板相連,FPGA復位上電,由待測模塊配置自身的電路信息; (2)建立上位機與FPGA之間的傳輸控制協議和因特網互聯協議TCP/IP通信連接; (3)ICAP回讀控制子模塊對步驟(I)中產生的配置信息進行讀取,并將其存入配置信息寄存器RAM中; (4)啟動上位機控制模塊,由用戶輸入測試參數,產生模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置,并將其送入翻轉向量寄存器RAM中; (5)ICAP寫控制子模塊讀取翻轉向量寄存RAM子模塊中的隨機向量位置,對該處的配置信息與隨機向量進行異或運算,并將翻轉后的配置信息通過內部配置訪問端口 ICAP重新與入待測1旲塊; (6)待測模塊根據翻轉后的配置信息,對其自身的電路信息進行重新配置,并將新配置后待測模塊的輸出結果傳入數據收集模塊; (7)重復步驟(4)-?),直到達到預設的單粒子翻轉次數,數據收集模塊向待測模塊發出收集結束信號,并將結果發回至上位機數據分析模塊; (8)上位機數據分析模塊對返回的新配置后待測模塊的輸出結果進行統計,判斷待測模塊的配置信息經單粒子翻轉影響后其自身的測試內容能否正確實現,即將該輸出結果與步驟(I)中待測模塊的輸出結果進行比較,若二者相吻合,則判斷待測模塊自身的測試內容能正確實現;否則,待測模塊自身的測試內容不能正確實現。
6.一種利用權利要求1對配置信息文件不可存入FPGA內部的待測模塊進行測試的方法,包括如下步驟: (1)將上位機與FPGA測試板相連,FPGA復位上電,由待測模塊配置自身的電路信息,并將配置信息送入上位機控制模塊中; (2)建立上位機與FPGA之間的傳輸控制協議和因特網互聯協議TCP/IP通信連接; (3)啟動上位機控制模塊,由用戶輸入測試參數,產生模擬單粒子預設的翻轉次數、隨機向量及隨機向量位置,并將其存入上位機控制模塊內部寄存器中,在上位機控制模塊內部對配置信息與隨機向量進行異或運算,并將翻轉后的配置信息發送至ICAP寫控制子模塊; (4)ICAP寫控制子模塊通過內部配置訪問端口 ICAP將翻轉后配置信息重新寫入待測模塊; (5)待測模塊根據翻轉后的配置信息,對其自身的電路信息進行重新配置,并將新配置后待測模塊的輸出結果傳入數據收集模塊; (6)重復步驟(3)-(5),直到達到預設的單粒子翻轉次數,數據收集模塊向待測模塊發出收集結束信號,并將結果發回至上位機數據分析模塊; (7)上位機數據分析模塊對返回的新配置后待測模塊的輸出結果進行統計,判斷待測模塊的配置信息經單粒子翻轉影響后其自身的測試內容能否正確實現,即將該輸出結果與步驟(I)中待測模塊的輸出結果進行比較,若二者相吻合,則判斷待測模塊自身的測試內容能正確實現;否則,待測模塊自身的測試內容不能正確實現。
【文檔編號】H04L29/06GK103473159SQ201310478764
【公開日】2013年12月25日 申請日期:2013年10月13日 優先權日:2013年10月13日
【發明者】雷杰, 李云松, 程蕾, 郭杰, 賈超群, 魏雯, 李雙十 申請人:西安電子科技大學