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