利用FPGA新特性實(shí)現高可靠性汽車(chē)系統設計
SRAM軟錯誤損壞檢測(SED)
來(lái)自宇宙射線(xiàn)的中子和封裝材料中的帶電α粒子的輻射會(huì )造成軟錯誤,它會(huì )改變存儲單元的存儲內容。這種現象首先成為DRAM中的一個(gè)問(wèn)題,要求能對高可靠性應用中的大容量存儲系統進(jìn)行錯誤檢測和糾錯。由于器件的尺寸不斷縮小,對某些系統而言,SRAM中的軟錯誤概率已相當大。
用于汽車(chē)應用的高性能FPGA將邏輯配置數據存儲在SRAM單元。由于FPGA中SRAM單元數量和密度的增加,軟錯誤改變系統可編程邏輯行為的概率也隨之增加。設計者已經(jīng)采取了各種辦法來(lái)解決該問(wèn)題,其中大部分涉及用戶(hù)用于設計的知識產(chǎn)權(IP)核。雖然這種方法提供了一個(gè)解決方案,但它也占用了寶貴的可編程資源,并可能會(huì )影響性能。然而,這些缺陷是可以避免的。例如,LatticeXP2 FPGA內有用硬件實(shí)現的軟錯誤檢測器,它不會(huì )影響系統性能或器件的熱耗散。
在這些非易失性FPGA中的SED硬件有一個(gè)訪(fǎng)問(wèn)FPGA SRAM配置存儲器的接口,還有SED控制器電路和一個(gè)存儲當前位流CRC的32位寄存器(圖3)。SED功能需要使用幾個(gè)I/O引腳,要占用4個(gè)專(zhuān)用的輸入引腳和4個(gè)專(zhuān)用的輸出引腳。這些引腳用于使能和啟動(dòng)SED檢測,還能指明SED的工作狀態(tài)。
圖3、LatticeXP2 FPGA具有SRAM軟錯誤監測功能。
SED工作期間,控制電路從FPGA的SRAM配置存儲器讀取串行數據流數據,并計算CRC。然后,計算出的CRC與預期的存儲在32位寄存器中的CRC進(jìn)行比較。如果這兩個(gè)CRC值不匹配,說(shuō)明配置存儲器中有差錯,并設置一個(gè)外部信號為高電平,指明有差錯。對應出錯信號,用戶(hù)可以有幾種選擇:忽略這個(gè)差錯;使用外部處理器記錄這個(gè)差錯;或從原來(lái)的引導器件重新載入SRAM配置。
LatticeXP2 FPGA能夠滿(mǎn)足所有這些系統的要求。其片上閃存允許統一的系統測試,保證器件即使在最高溫度下連續工作,最少10年不會(huì )引起存儲內容的丟失或產(chǎn)生系統故障。此外,雙引導功能和硬件實(shí)現的SED檢測功能對SRAM內容損壞提供了安全保證,不會(huì )影響器件性能或用戶(hù)邏輯的運行。
應用上述四種配置保護技術(shù)的FPGA設計具有高度可靠的啟動(dòng)和初始化功能,可以保護更新,阻止下載、刪除或修改初始化配置的企圖。此外,整合SED管理邏輯的設計還增加了保護措施,防止由帶電粒子導致的改變運行配置的情況。將啟動(dòng)和SED保護進(jìn)行整合的方法使汽車(chē)系統設計人員能夠構建完整可靠的FPGA設計,同時(shí)不必擔心配置被蓄意篡改或環(huán)境對器件造成的損壞。
評論