一種抗SEU存儲器電路的FPGA設(shè)計(jì)
需要注意的是,擴(kuò)展?jié)h明碼模式下的地址信號需要進(jìn)行額外的處理。由于本設(shè)計(jì)采用了128K×16bit的SRAM芯片,它有17位地址信號。但是,正如上面提到過的,SRAM芯片組中將有4KB的存儲空間工作于TMR模式,還有248KB的存儲空間將工作于擴(kuò)展?jié)h明碼模式,而248KB的空間需要18位地址信號,這就要求有一個(gè)對地址信號進(jìn)行變換的模塊。當(dāng)?shù)刂沸∮?KB 時(shí),電路工作于TMR模式下而無需對地址進(jìn)行變換;當(dāng)?shù)刂反笥诘扔? KB同時(shí)小于128 KB時(shí),電路工作于擴(kuò)展?jié)h明碼模式,地址信號會選中第一個(gè)124 Kx(16+8)bit的空間,此時(shí)也無需地址變換;而當(dāng)?shù)刂反笥诘扔?28 KB,電路也工作于擴(kuò)展?jié)h明碼模式下,此時(shí)地址信號應(yīng)選中第二個(gè)124 Kx(16+81bit的空間,此時(shí)則應(yīng)將地址值加上4KB,然后取新的地址的低17位加到第二個(gè)124 Kx (16+8) bit的存儲空間上即可。
在上述TMR和擴(kuò)展?jié)h明碼模塊的設(shè)計(jì)中,對出錯(cuò)數(shù)據(jù)的回寫是設(shè)計(jì)中的重點(diǎn)和難點(diǎn),主要應(yīng)考慮是否回寫和何時(shí)回寫兩個(gè)問題。這兩個(gè)問題可由時(shí)序控制模塊來解決。它主要根據(jù)CPU的控制信號,適時(shí)的發(fā)出錯(cuò)誤標(biāo)示輸出使能信號flag_oe,從而改變CPU對RAM的讀寫狀態(tài),完成
修正數(shù)據(jù)的正確回寫。
另外,電路中的錯(cuò)誤標(biāo)示信號對整體設(shè)計(jì)的穩(wěn)定性至關(guān)重要。為了保證錯(cuò)誤標(biāo)示信號的穩(wěn)定,可在雙向傳輸門B的讀入端加一個(gè)鎖存器,鎖存器的鎖存使能端也可由時(shí)序控制模塊的flag_latch來控制。
4.3 模式選擇模塊
模式選擇模塊用于接收來自CPU的配置信號config和片選信號cs_fpga,以便將32位的配置數(shù)據(jù)寫入配置寄存器。該寄存器的低18位數(shù)據(jù)為模式配置數(shù)據(jù),地址信號通過與該數(shù)據(jù)進(jìn)行比較,可使小于該地址的存儲器空間工作于TMR模式,大于該地址的存儲空間工作于擴(kuò)展?jié)h明碼模式。
本電路采用軟件故障注入法來進(jìn)行電路的有效性驗(yàn)證,所以,在電路設(shè)計(jì)中,可將模式配置寄存器的其余14位用于注入外部干擾數(shù)據(jù),并將其連接到ctrl_err與add_err信號,以用來進(jìn)行軟件故障的注入,模擬SEU對電路的影響。
4.4 控制邏輯模塊
該模塊可接收模式選擇模塊的模式信號mode,以對TMR模塊和擴(kuò)展?jié)h明碼模塊輸出的讀寫信號和片選信號進(jìn)行選擇,然后輸出到RAM芯片的引腳上去,從而實(shí)現(xiàn)CPU對RAM的正確訪問。尤其是當(dāng)電路工作于擴(kuò)展?jié)h明碼模式時(shí),還需根據(jù)地址信號判斷當(dāng)前對哪個(gè)124 Kx (16+8)bit的存儲空間片選有效。其具體電路如圖5所示。本文引用地址:http://butianyuan.cn/article/180248.htm
5 結(jié)束語
本設(shè)計(jì)中的抗SEU存儲器的設(shè)計(jì)可通過ACTEL的ProAsic系列A3P400 FPGA實(shí)現(xiàn),并可使用與其配套的Liber08.5 EDA工具進(jìn)行代碼的編輯和原理圖的繪制,并進(jìn)行功能仿真與電路的綜合。通過仿真可以看到,本設(shè)計(jì)可以達(dá)到預(yù)期的目的,它既可實(shí)現(xiàn)存儲器的抗SEU設(shè)計(jì),又可以滿足對存儲器使用靈活性的要求,而且具有功能完善、適應(yīng)性強(qiáng)、電路簡單等特點(diǎn),非常適用于星載RAM的抗輻射電路設(shè)計(jì)。
評論