引言
隨著工藝技術的迅速發展,創新進一步提高了器件在速率、容量和功耗等方面的性能,使得FPGA比ASIC更具優勢。然而,技術的發展也突出了以前可以忽略的某些效應,例如,單事件干擾(SEU)導致的軟誤碼影響越來越大。通過仔細的IC設計,65nm節點單位比特的軟誤碼率有所下降,但是每一工藝節點的邏輯容量在不斷翻倍,配置RAM(CRAM)比特數量也隨之增長。
現在的FPGA容量越來越大,功能越來越強,逐漸擔負起系統的核心功能,例如數據通路等;因此,設計人員能夠將系統集成在一片可編程芯片中。這些發展趨勢促使FPGA成為許多系統的主要芯片選擇方案,包括電信、存儲和數據處理系統中利用率非常高的芯片。這些應用領域對可靠性的要求非常高,所采用的現代高端FPGA必須具有強大的SEU抑制能力,特別是在中子流密度較高的工作環境中,例如航空電子系統等。
SEU背景介紹
SEU是一種非破壞性事件,離子輻射穿過CMOS器件晶體管結時會出現這種效應。在地面應用中,比較重要的兩種離子輻射源是封裝材料釋放的alpha粒子,以及地球大氣和宇宙射線相互作用產生的高能量中子。數字CMOS器件中最常見的效應是軟誤碼,SEU產生的電荷積累到一定程度,對SRAM單元存儲節點發生作用,導致比特狀態翻轉。軟誤碼的發生和其原因(離子輻射)一樣都具有隨機性,和能級、通量以及單元敏感程度有一定的概率關系。軟誤碼很重要的特點是向單元重新寫入正確值便能恢復正常狀態。由于芯片沒有閉鎖,因此不需要重新上電啟動。
Altera對這些現象的研究十分透徹,非常重視怎樣降低FPGA中SRAM單元的軟誤碼率,在出現軟誤碼時,提供解決方案以減小其影響,幫助設計人員實現系統可靠性目標。
降低干擾率
SRAM單元的靈敏度可以用每Mbit的失效時間(FIT)或者中子截面積表示。業界常用的標準是大于10MeV中子截面積,需要在Los Alamos武器中子研究室(WNR)進行測量。這一標準對工藝技術逐一對比,不會受到某些定標因子的影響而提供結果看起來更好的FIT數值。通過仔細地選擇工藝技術以及SRAM單元物理設計和電路設計方法,Altera在小工藝節點上降低了單位比特的干擾率。而且,在65nm等工藝技術上,避免了閉鎖等有害效應的影響,剩下的唯一問題就是如何消除軟誤碼。
為了便于理解軟誤碼的影響,首先要清楚FPGA中的模塊構成。以下按照對誤碼影響從大到小的順序列出了這些模塊。邏輯、走線和硬核IP CRAM單元:在容量最大的Stratix III器件中,CRAM單元高達120Mbits,占據了片內大部分SRAM單元。由于這些SRAM單元直接控制FPGA的功能,其完整性非常重要。而實際上,由于整個設計的走線效率較低,這些比特一般只有10%會對設計有影響。片內存儲器RAM單元:Stratix III FPGA的用戶存儲器超過17Mbits,因此,大量的用戶存儲器會對FPGA軟誤碼發生率有較大貢獻。器件內核寄存器和觸發器:這些單元出現在Stratix III自適應邏輯模塊(ALM)、數字信號處理(DSP)模塊、流水線以及存儲器端口中。由于這些單元的中子截面積要比一般的SRAM單元小,數量相對較少(即使在容量最大的Stratix III器件中,也少于1Mbits),對FIT的貢獻非常小,從統計角度看,在基于SRAM的FPGA中可以忽略它們。I/O寄存器:這些寄存器位于芯片外圍,工作電壓較高。由于I/O寄存器的數量非常少(在容量最大的Stratix III中,少于10,000),因此,對FIT基本沒有貢獻。Altera在測試過程中,沒有發現這些寄存器出現過干擾事件。
因此,Altera重點關注怎樣降低CRAM單元和用戶RAM單元的SEU。
減小Stratix III配置RAM軟誤碼
從130nm工藝開始,Altera利用循環冗余校驗(CRC)引擎,在所有FPGA中建立了背景誤碼探測電路,在器件工作期間,不斷驗證CRAM的內容。CRC最多能夠探測到三個比特的誤碼。在片內硬件邏輯門中集成這一電路的好處在于這種電路非??煽浚粫艿杰浾`碼的影響。而且,CRC引擎是一種自主式模塊,在Quartus II編譯選項中選中復選框就可以激活該功能。Stratix III FPGA提高了CRC的性能,和以前產品相比,進一步擴展了功能,如圖1所示。
以前的產品在整個器件中采用32位CRC值,而Stratix III FPGA每一幀采用了16位CRC值,這樣有多種好處。首先,誤碼探測電路不需要等待整個器件CRC計算完畢,才去探測誤碼,從而縮短了軟誤碼的探測時間。其次,片內更多的CRC比特表明有足夠的信息來定位軟誤碼,不論它是單比特軟誤碼還是鄰近比特的雙比特軟誤碼。還有一個好處是可以同時探測并定位不同幀的軟誤碼,這是由于每一幀及其相應的CRC寄存器彼此相互隔離。
Stratix III FPGA具備軟誤碼定位功能后,可以確定誤碼的靈敏度。由于通常只有10%的配置誤碼影響FPGA的功能,因此,可以忽略“無關緊要”的配置軟誤碼,FPGA功能不會中斷,繼續工作,降低了實際的FIT。
關鍵誤碼探測功能利用參考設計在軟核邏輯中實現,由即將推出的Quartus II軟件7.2提供支持。圖2顯示了這一關鍵比特探測系統是怎樣工作的。關鍵誤碼探測方案的工作原理如下:
1. 通過內置軟誤碼探測電路探測并定位配置軟誤碼。這將置位CRC_ERROR引腳。
2. 軟核邏輯獲得誤碼信息,計算映射文件中的地址,確定哪些配置比特“緊要”或者“無關緊要”。
3. 軟核邏輯使用用戶專用存儲器接口,例如主動串行配置端口,訪問靈敏度映射文件中的對應比特,確定某一配置軟誤碼對FPGA當前配置設計的影響是否重要。
4. 如果配置軟誤碼“無關緊要”,FPGA繼續工作,不出現功能錯誤。如果配置軟誤碼非常“緊要”,會影響功能,則置位CRITICAL_ERROR引腳,系統將采取相應的措施,例如重新配置FPGA等。
Quartus II設計軟件針對某一設計,根據資源占用和使用的布線情況自動生成含有“緊要/無關緊要”比特映射文件。這表明在部分設計上會進一步降低FIT,原因在于沒有使用的資源中出現配置軟誤碼后,不會產生關鍵誤碼。由于確定“緊要”或者“無關緊要”引腳的靈敏度處理器參考設計采用了軟核邏輯,因此,接口信號和控制邏輯同時采用了三模冗余技術,在配置軟誤碼影響FPGA中的某些部分時,能夠繼續可靠地工作。
可靠性高的系統需要采用這種降低誤碼的高級方法,但更重要的是能夠在插入配置軟誤碼時對系統進行測試。這樣,不需要采用適當的離子輻射源來測試系統對軟誤碼的反應。Stratix III FPGA增強了Stratix II FPGA的誤碼插入功能,用戶可以插入多個單比特誤碼以及多個鄰近兩比特誤碼。硬件已經實現后,這一功能特別有用。因此,Stratix III FPGA通過JTAG端口提供這一功能,很容易對運行中的系統進行測試,降低錯誤的發生。
減小Stratix III用戶RAM軟誤碼
除了配置存儲器校驗之外,Stratix III器件還能夠檢查片內存儲器的完整性。Stratix III FPGA提供三種容量的用戶存儲器,在每一字節中都含有第9存儲位。利用這一額外的存儲位,以及自動產生的誤碼糾正(ECC)電路,640位MLAB和9-Kb M9K模塊都能夠減小SEU。144-Kb M144K模塊也具有這一功能,只是其ECC電路采用了存儲器模塊的硬件邏輯門實現(參見圖3)。
利用ECC,每種片內存儲器模塊都可以探測到兩個誤碼,實時自動糾正一個誤碼。MegaWizard插件管理器簡化了對ECC的配置,不需要額外的設計工作便可以實現這一功能。
ECC的局限在于一個字中出現兩個誤碼的情況,它只能探測到誤碼,但不能糾正。雖然這要比不能發現誤碼好一些,但是需要系統高層使用其他但是需要系統高層使用其他方法來處理誤碼,例如請求重新發送受影響的數據等。為減輕這種影響,Stratix III FPGA大容量存儲器字中的邏輯比特在物理上分開,減小了字內部邏輯多比特誤碼發生的概率,在多個比特干擾(MBU)出現時,ECC也能夠工作。可以利用SignalTap邏輯分析器的系統存儲器內容編輯器來測試Altera FPGA用戶存儲器的軟誤碼,通過JTAG連接,由Quartus II軟件修改存儲器內容。
當Stratix III FPGA采用了外部存儲器時,Altera的存儲器接口IP也為ECC提供支持。控制器的誤碼記錄和中斷管理功能使系統能夠監控外部存儲器的軟誤碼。
措施討論
在利用率高、可靠性高、安全性高的系統中,高端FPGA設計應具有很低的軟誤碼率,以及強大的誤碼抑制能力。對可靠性要求高的工程師而言,降低誤碼才能滿足系統的可靠性目標。根據系統工作環境和需求,可以采取多種措施來降低誤碼。一般而言,第一步是建立目標,例如MTBF、停機時間或者必須的失效模式等。在很多情況下,比較容易達到可靠性目標。例如,集成了CRC引擎的中等容量Altera FPGA,采用“誤碼重新配置”措施,比較容易達到10-11停機時間,比電信基礎設施要求的99.999%高6個數量級。然而,應對系統進行全面考慮,特別是材料較多,或者FPGA含有大量復雜IP的情況。處理器、操作系統以及軟件編程都會對實際系統的可靠性指標有影響,大部分系統設計人員已經意識到這一問題。數字IC中出現軟誤碼時,也應該分析含有易失存儲器的元件。例如,如果有容量較大的DDR SDRAM,它對系統軟誤碼率的影響最大,此時應考慮存儲控制內部ECC等方法。怎樣劃分系統對可靠性的影響也較大,例如系統大小對內核工作的影響非常關鍵,或者在系統冗余情況下,所采用的冗余粒度(通常粒度越大越好)等。
有多種方法可以處理軟誤碼,包括確保軟誤碼停機時間小于關鍵參數等,例如控制系統的閉環時間常數。降低系統軟誤碼的其他措施還包括系統運行情況保存、復位和恢復,在日志中標記軟誤碼,及早復位系統等。有些方法有一定的危險性,例如配置數據的連續背景刷新(也被稱為清洗)等。關鍵配置SRAM比特出現軟誤碼后,在以開環方式進行糾正之前,系統功能在一段時間內會不正常。這種情況的危險性在于,FPGA已經處理了不正確的數據,結果會在系統其他部分擴散。盡管任何FPGA誤碼探測方法中都存在類似的問題,但最好能夠在系統級確認出現軟誤碼,從而標記出不正確的數據。設計FPGA時,Altera重點關注降低CRAM單元的單位比特軟誤碼率以及降低誤碼的措施,例如關鍵誤碼探測等,以最小的成本大幅度提高可靠性。Stratix III FPGA的很多特性都有助于達到這些目標。表1對此進行了總結。在降低片內RAM軟誤碼的措施中,原理最清楚、應用情況最好的是ECC,它不但保護效果好,而且在芯片面積和性能上的成本最低。對于字寬較寬的情況,存儲器總寬度(數據比特和校驗比特)效率更高,帶有8個校驗位的64位數據(總共72個比特)是比較容易接受的方案。服務器和緩存應用中都采用了這一比例,Stratix III FPGA中的M144K存儲器模塊也支持這種配置。使用ECC意味著對存儲器進行校驗,并且以系統速率自動糾正錯誤。
對于需要徹底解決軟誤碼的設計人員而言,ASIC當然是最佳方案。Altera的HardCopy結構化ASIC系列實現了從原型FPGA到引腳兼容結構化ASIC的無縫移植,不需要在設計工具、芯片設計以及電路板重新設計上進行大量投入。在FPGA原型對系統(包括PCB)進行全面驗證之前,其他的結構化ASIC不能下單。作為一種結構化ASIC,HardCopy器件沒有SRAM配置單元。硬件設置對SEU不敏感,因此,器件邏輯功能不受軟誤碼的影響。芯片中唯一容易受影響的部分是用戶存儲器和內核寄存器,可以使用ECC糾正用戶存儲器的誤碼。
內核寄存器的干擾率非常低。例如,在HardCopy II結構化ASIC中,邏輯寄存器由Hcell構成。在Los Alamos WNR的測試中,發現根本不可能干擾寄存器。其原因在于采用了大量的創新技術,例如提高反饋環邏輯門的強度,主從級隔離,通過設置提高節點電容等。65nm HardCopy III結構化ASIC以Stratix III FPGA為原型,將使用相同的方法,在所有結構化ASIC中,抑制軟誤碼的能力最強。
結語
Stratix III FPGA在降低SEU上有多種措施,例如從簡單配置軟誤碼探測,到確定關鍵和“無關緊要”配置軟誤碼之間的不同等。結合片內和外部存儲器軟誤碼自動糾正功能,采用Stratix III FPGA設計的系統大大提高了可靠性,使FPGA能夠用于利用率高、可靠性高、安全性高的系統中。
參考文獻
1. Stratix III器件手冊第四章:設計安全性以及降低單事件干擾(SEU)www.altera.com/literature/hb/stx3/stx3_siii5v1_04.pdf
2.AN 357:利用 Altera FPGA的CRC實現誤碼探測和糾正www.altera.com/literature/an/an357.pdf
網站首頁 |網站簡介 | 關于我們 | 廣告業務 | 投稿信箱
Copyright © 2000-2020 www.xnbt.net All Rights Reserved.
中國網絡消費網 版權所有 未經書面授權 不得復制或建立鏡像
聯系郵箱:920 891 263@qq.com
主站蜘蛛池模板: 特级毛片在线观看| 三级台湾电影在线| 亚洲大成色www永久网站| 妞干网手机免费视频| 北条麻妃毛片在线视频| 女邻居的大乳| 好吊妞网站| 国产高清日韩| 干妞网在线观看| 狼群视频在线观看www| 精品精品国产高清a级毛片| 中文字幕无线码中文字幕免费| 2019天天干夜夜操| 国产一在线精品一区在线观看| 亚洲伊人色欲综合网| 久久精品无码一区二区三区| 扒开双腿疯狂进出爽爽爽动态图| 欧美国产日本高清不卡| 四虎影永久在线高清免费| 三级伦理在线| 在线网站你懂得| 又爽又黄又无遮挡网站| 37大但人文艺术a级| 国产大尺度吃奶无遮无挡网| 国产大片免费天天看| 免费的黄色影片| 久久er99热精品一区二区| 欧美性69式xxxx护士| 韩国朋友夫妇:交换4| 成人永久福利免费观看| 国产日韩一区二区三区在线观看| 一级黄色片免费观看| 第一福利官方航导航| 亚洲另类春色校园小说| 欧美乱大交| 真实国产乱子伦对白视频| 一级美国乱色毛片| 国产三级在线观看专区| 新梅瓶4在线观看dvd| 性美国xxxxx免费| 老司机福利在线播放|