基于FPGA的星載計算機自檢EDAC電路設計
從圖中可以看出,啟動EDAC自檢后,EDAC開始巡檢RAM存儲單元,產生錯誤中斷(標志) 信號,給出錯誤信息。當單片機需要處理中斷時,將Check信號置‘0’,可暫時停止巡檢, 此時單片機可對RAM存儲單元進行正常讀寫操作。等中斷處理完后,單片機將Check信號置 ‘1’,恢復RAM巡檢操作。
另外可通過Rw_En的置‘0’或‘1’,來控制禁止或允許進行自糾錯操作。
當出現可識別的多位錯誤時,產生Err和MErr兩個錯誤中斷(標志)信號,但由于漢明碼僅能糾正單比特錯誤,因此不進行自糾錯操作。
從原注入錯誤數據對應的地址讀出數據,仿真輸出結果如圖4所示。
可以看出除最后一個地址(FFH)由于兩位錯仍輸出錯誤外,其他地址輸出數據均與地址相同,即為正確數據。
其中,24H、3CH、60H三個地址雖然輸出正確數據,但仍報錯,表明存儲器內數據仍然 為錯誤數據,在輸出時進行了糾錯。這是由于在上次巡檢到這部分地址空間時,通過把Rw_En 信號拉低,從而禁止了自動糾錯,導致這三個地址錯誤數據未被糾正。而在對其他地址進行 數據讀取時,未產生錯誤標志,證明其他錯誤數據已被糾錯。
4 結論
本文在采用FPGA芯片實現基本EDAC讀寫功能的設計思路基礎上,創(chuàng)建了一種新型的可對 RAM存儲單元進行自檢的EDAC功能模塊。該模塊不但可以對RAM存儲單元進行快速巡檢,巡檢 時間僅為傳統EDAC方法的十二分之一,還可以自動糾正已發(fā)現的錯誤。該模塊最大的優(yōu)點在 于節(jié)省了單片機資源,幾乎不需要單片機的參與即可完成所有自檢功能,從而使基于FPGA 的星載計算機對SEU事件防護能力得到較大的提升。本文中該模塊采用Verilog硬件描述語言 編程,具有可移植性,這種設計方法可用于各種體系結構的星載計算機中。
本文作者創(chuàng)新點: 通過引入FPGA技術,設計了一種靈活、高效的自檢EDAC電路,可在CPU 的控制下實現對錯誤信息的自動處理,并提出了該EDAC電路驗證方法。
評論