新聞中心

SEU的抑制

作者:Altera公司 時(shí)間:2008-04-16 來(lái)源:電子產(chǎn)品世界 收藏

  引言

本文引用地址:http://butianyuan.cn/article/81621.htm

  隨著工藝技術(shù)的迅速發(fā)展,創(chuàng)新進(jìn)一步提高了器件在速率、容量和功耗等方面的性能,使得FPGA比ASIC更具優(yōu)勢(shì)。然而,技術(shù)的發(fā)展也突出了以前可以忽略的某些效應(yīng),例如,單事件干擾()導(dǎo)致的軟誤碼影響越來(lái)越大。通過(guò)仔細(xì)的IC設(shè)計(jì),65nm節(jié)點(diǎn)單位比特的軟誤碼率有所下降,但是每一工藝節(jié)點(diǎn)的邏輯容量在不斷翻倍,配置RAM(CRAM)比特?cái)?shù)量也隨之增長(zhǎng)。

  現(xiàn)在的FPGA容量越來(lái)越大,功能越來(lái)越強(qiáng),逐漸擔(dān)負(fù)起系統(tǒng)的核心功能,例如數(shù)據(jù)通路等;因此,設(shè)計(jì)人員能夠?qū)⑾到y(tǒng)集成在一片可編程芯片中。這些發(fā)展趨勢(shì)促使FPGA成為許多系統(tǒng)的主要芯片選擇方案,包括電信、存儲(chǔ)和數(shù)據(jù)處理系統(tǒng)中利用率非常高的芯片。這些應(yīng)用領(lǐng)域?qū)煽啃缘囊蠓浅8?,所采用的現(xiàn)代高端FPGA必須具有強(qiáng)大的抑制能力,特別是在中子流密度較高的工作環(huán)境中,例如航空電子系統(tǒng)等。

  背景介紹

  SEU是一種非破壞性事件,離子輻射穿過(guò)CMOS器件晶體管結(jié)時(shí)會(huì)出現(xiàn)這種效應(yīng)。在地面應(yīng)用中,比較重要的兩種離子輻射源是封裝材料釋放的alpha粒子,以及地球大氣和宇宙射線相互作用產(chǎn)生的高能量中子。數(shù)字CMOS器件中最常見(jiàn)的效應(yīng)是軟誤碼,SEU產(chǎn)生的電荷積累到一定程度,對(duì)SRAM單元存儲(chǔ)節(jié)點(diǎn)發(fā)生作用,導(dǎo)致比特狀態(tài)翻轉(zhuǎn)。軟誤碼的發(fā)生和其原因(離子輻射)一樣都具有隨機(jī)性,和能級(jí)、通量以及單元敏感程度有一定的概率關(guān)系。軟誤碼很重要的特點(diǎn)是向單元重新寫(xiě)入正確值便能恢復(fù)正常狀態(tài)。由于芯片沒(méi)有閉鎖,因此不需要重新上電啟動(dòng)。

  Altera對(duì)這些現(xiàn)象的研究十分透徹,非常重視怎樣降低FPGA中SRAM單元的軟誤碼率,在出現(xiàn)軟誤碼時(shí),提供解決方案以減小其影響,幫助設(shè)計(jì)人員實(shí)現(xiàn)系統(tǒng)可靠性目標(biāo)。

  降低

  SRAM單元的靈敏度可以用每Mbit的失效時(shí)間(FIT)或者中子截面積表示。業(yè)界常用的標(biāo)準(zhǔn)是大于10MeV中子截面積,需要在Los Alamos武器中子研究室(WNR)進(jìn)行測(cè)量。這一標(biāo)準(zhǔn)對(duì)工藝技術(shù)逐一對(duì)比,不會(huì)受到某些定標(biāo)因子的影響而提供結(jié)果看起來(lái)更好的FIT數(shù)值。通過(guò)仔細(xì)地選擇工藝技術(shù)以及SRAM單元物理設(shè)計(jì)和電路設(shè)計(jì)方法,Altera在小工藝節(jié)點(diǎn)上降低了單位比特的。而且,在65nm等工藝技術(shù)上,避免了閉鎖等有害效應(yīng)的影響,剩下的唯一問(wèn)題就是如何消除軟誤碼。

  為了便于理解軟誤碼的影響,首先要清楚FPGA中的模塊構(gòu)成。以下按照對(duì)誤碼影響從大到小的順序列出了這些模塊。邏輯、走線和硬核IP CRAM單元:在容量最大的Stratix III器件中,CRAM單元高達(dá)120Mbits,占據(jù)了片內(nèi)大部分SRAM單元。由于這些SRAM單元直接控制FPGA的功能,其完整性非常重要。而實(shí)際上,由于整個(gè)設(shè)計(jì)的走線效率較低,這些比特一般只有10%會(huì)對(duì)設(shè)計(jì)有影響。片內(nèi)存儲(chǔ)器RAM單元:Stratix III FPGA的用戶存儲(chǔ)器超過(guò)17Mbits,因此,大量的用戶存儲(chǔ)器會(huì)對(duì)FPGA軟誤碼發(fā)生率有較大貢獻(xiàn)。器件內(nèi)核寄存器和觸發(fā)器:這些單元出現(xiàn)在Stratix III自適應(yīng)邏輯模塊(ALM)、數(shù)字信號(hào)處理(DSP)模塊、流水線以及存儲(chǔ)器端口中。由于這些單元的中子截面積要比一般的SRAM單元小,數(shù)量相對(duì)較少(即使在容量最大的Stratix III器件中,也少于1Mbits),對(duì)FIT的貢獻(xiàn)非常小,從統(tǒng)計(jì)角度看,在基于SRAM的FPGA中可以忽略它們。I/O寄存器:這些寄存器位于芯片外圍,工作電壓較高。由于I/O寄存器的數(shù)量非常少(在容量最大的Stratix III中,少于10,000),因此,對(duì)FIT基本沒(méi)有貢獻(xiàn)。Altera在測(cè)試過(guò)程中,沒(méi)有發(fā)現(xiàn)這些寄存器出現(xiàn)過(guò)干擾事件。

  因此,Altera重點(diǎn)關(guān)注怎樣降低CRAM單元和用戶RAM單元的SEU。

  減小Stratix III配置RAM軟誤碼

  從130nm工藝開(kāi)始,Altera利用循環(huán)冗余校驗(yàn)(CRC)引擎,在所有FPGA中建立了背景誤碼探測(cè)電路,在器件工作期間,不斷驗(yàn)證CRAM的內(nèi)容。CRC最多能夠探測(cè)到三個(gè)比特的誤碼。在片內(nèi)硬件邏輯門中集成這一電路的好處在于這種電路非??煽?,不會(huì)受到軟誤碼的影響。而且,CRC引擎是一種自主式模塊,在Quartus II編譯選項(xiàng)中選中復(fù)選框就可以激活該功能。Stratix III FPGA提高了CRC的性能,和以前產(chǎn)品相比,進(jìn)一步擴(kuò)展了功能,如圖1所示。

  以前的產(chǎn)品在整個(gè)器件中采用32位CRC值,而Stratix III FPGA每一幀采用了16位CRC值,這樣有多種好處。首先,誤碼探測(cè)電路不需要等待整個(gè)器件CRC計(jì)算完畢,才去探測(cè)誤碼,從而縮短了軟誤碼的探測(cè)時(shí)間。其次,片內(nèi)更多的CRC比特表明有足夠的信息來(lái)定位軟誤碼,不論它是單比特軟誤碼還是鄰近比特的雙比特軟誤碼。還有一個(gè)好處是可以同時(shí)探測(cè)并定位不同幀的軟誤碼,這是由于每一幀及其相應(yīng)的CRC寄存器彼此相互隔離。

  Stratix III FPGA具備軟誤碼定位功能后,可以確定誤碼的靈敏度。由于通常只有10%的配置誤碼影響FPGA的功能,因此,可以忽略“無(wú)關(guān)緊要”的配置軟誤碼,F(xiàn)PGA功能不會(huì)中斷,繼續(xù)工作,降低了實(shí)際的FIT。

  關(guān)鍵誤碼探測(cè)功能利用參考設(shè)計(jì)在軟核邏輯中實(shí)現(xiàn),由即將推出的Quartus II軟件7.2提供支持。圖2顯示了這一關(guān)鍵比特探測(cè)系統(tǒng)是怎樣工作的。關(guān)鍵誤碼探測(cè)方案的工作原理如下:

  1. 通過(guò)內(nèi)置軟誤碼探測(cè)電路探測(cè)并定位配置軟誤碼。這將置位CRC_ERROR引腳。

  2. 軟核邏輯獲得誤碼信息,計(jì)算映射文件中的地址,確定哪些配置比特“緊要”或者“無(wú)關(guān)緊要”。

  3. 軟核邏輯使用用戶專用存儲(chǔ)器接口,例如主動(dòng)串行配置端口,訪問(wèn)靈敏度映射文件中的對(duì)應(yīng)比特,確定某一配置軟誤碼對(duì)FPGA當(dāng)前配置設(shè)計(jì)的影響是否重要。

  4. 如果配置軟誤碼“無(wú)關(guān)緊要”,F(xiàn)PGA繼續(xù)工作,不出現(xiàn)功能錯(cuò)誤。如果配置軟誤碼非常“緊要”,會(huì)影響功能,則置位CRITICAL_ERROR引腳,系統(tǒng)將采取相應(yīng)的措施,例如重新配置FPGA等。

  Quartus II設(shè)計(jì)軟件針對(duì)某一設(shè)計(jì),根據(jù)資源占用和使用的布線情況自動(dòng)生成含有“緊要/無(wú)關(guān)緊要”比特映射文件。這表明在部分設(shè)計(jì)上會(huì)進(jìn)一步降低FIT,原因在于沒(méi)有使用的資源中出現(xiàn)配置軟誤碼后,不會(huì)產(chǎn)生關(guān)鍵誤碼。由于確定“緊要”或者“無(wú)關(guān)緊要”引腳的靈敏度處理器參考設(shè)計(jì)采用了軟核邏輯,因此,接口信號(hào)和控制邏輯同時(shí)采用了三模冗余技術(shù),在配置軟誤碼影響FPGA中的某些部分時(shí),能夠繼續(xù)可靠地工作。

  可靠性高的系統(tǒng)需要采用這種降低誤碼的高級(jí)方法,但更重要的是能夠在插入配置軟誤碼時(shí)對(duì)系統(tǒng)進(jìn)行測(cè)試。這樣,不需要采用適當(dāng)?shù)碾x子輻射源來(lái)測(cè)試系統(tǒng)對(duì)軟誤碼的反應(yīng)。Stratix III FPGA增強(qiáng)了Stratix II FPGA的誤碼插入功能,用戶可以插入多個(gè)單比特誤碼以及多個(gè)鄰近兩比特誤碼。硬件已經(jīng)實(shí)現(xiàn)后,這一功能特別有用。因此,Stratix III FPGA通過(guò)JTAG端口提供這一功能,很容易對(duì)運(yùn)行中的系統(tǒng)進(jìn)行測(cè)試,降低錯(cuò)誤的發(fā)生。

  減小Stratix III用戶RAM軟誤碼

  除了配置存儲(chǔ)器校驗(yàn)之外,Stratix III器件還能夠檢查片內(nèi)存儲(chǔ)器的完整性。Stratix III FPGA提供三種容量的用戶存儲(chǔ)器,在每一字節(jié)中都含有第9存儲(chǔ)位。利用這一額外的存儲(chǔ)位,以及自動(dòng)產(chǎn)生的誤碼糾正(ECC)電路,640位MLAB和9-Kb M9K模塊都能夠減小SEU。144-Kb M144K模塊也具有這一功能,只是其ECC電路采用了存儲(chǔ)器模塊的硬件邏輯門實(shí)現(xiàn)(參見(jiàn)圖3)。

  利用ECC,每種片內(nèi)存儲(chǔ)器模塊都可以探測(cè)到兩個(gè)誤碼,實(shí)時(shí)自動(dòng)糾正一個(gè)誤碼。MegaWizard插件管理器簡(jiǎn)化了對(duì)ECC的配置,不需要額外的設(shè)計(jì)工作便可以實(shí)現(xiàn)這一功能。

  ECC的局限在于一個(gè)字中出現(xiàn)兩個(gè)誤碼的情況,它只能探測(cè)到誤碼,但不能糾正。雖然這要比不能發(fā)現(xiàn)誤碼好一些,但是需要系統(tǒng)高層使用其他但是需要系統(tǒng)高層使用其他方法來(lái)處理誤碼,例如請(qǐng)求重新發(fā)送受影響的數(shù)據(jù)等。為減輕這種影響,Stratix III FPGA大容量存儲(chǔ)器字中的邏輯比特在物理上分開(kāi),減小了字內(nèi)部邏輯多比特誤碼發(fā)生的概率,在多個(gè)比特干擾(MBU)出現(xiàn)時(shí),ECC也能夠工作??梢岳肧ignalTap邏輯分析器的系統(tǒng)存儲(chǔ)器內(nèi)容編輯器來(lái)測(cè)試Altera FPGA用戶存儲(chǔ)器的軟誤碼,通過(guò)JTAG連接,由Quartus II軟件修改存儲(chǔ)器內(nèi)容。

  當(dāng)Stratix III FPGA采用了外部存儲(chǔ)器時(shí),Altera的存儲(chǔ)器接口IP也為ECC提供支持。控制器的誤碼記錄和中斷管理功能使系統(tǒng)能夠監(jiān)控外部存儲(chǔ)器的軟誤碼。

  措施討論

  在利用率高、可靠性高、安全性高的系統(tǒng)中,高端FPGA設(shè)計(jì)應(yīng)具有很低的軟誤碼率,以及強(qiáng)大的誤碼抑制能力。對(duì)可靠性要求高的工程師而言,降低誤碼才能滿足系統(tǒng)的可靠性目標(biāo)。根據(jù)系統(tǒng)工作環(huán)境和需求,可以采取多種措施來(lái)降低誤碼。一般而言,第一步是建立目標(biāo),例如MTBF、停機(jī)時(shí)間或者必須的失效模式等。在很多情況下,比較容易達(dá)到可靠性目標(biāo)。例如,集成了CRC引擎的中等容量Altera FPGA,采用“誤碼重新配置”措施,比較容易達(dá)到10-11停機(jī)時(shí)間,比電信基礎(chǔ)設(shè)施要求的99.999%高6個(gè)數(shù)量級(jí)。然而,應(yīng)對(duì)系統(tǒng)進(jìn)行全面考慮,特別是材料較多,或者FPGA含有大量復(fù)雜IP的情況。處理器、操作系統(tǒng)以及軟件編程都會(huì)對(duì)實(shí)際系統(tǒng)的可靠性指標(biāo)有影響,大部分系統(tǒng)設(shè)計(jì)人員已經(jīng)意識(shí)到這一問(wèn)題。數(shù)字IC中出現(xiàn)軟誤碼時(shí),也應(yīng)該分析含有易失存儲(chǔ)器的元件。例如,如果有容量較大的DDR SDRAM,它對(duì)系統(tǒng)軟誤碼率的影響最大,此時(shí)應(yīng)考慮存儲(chǔ)控制內(nèi)部ECC等方法。怎樣劃分系統(tǒng)對(duì)可靠性的影響也較大,例如系統(tǒng)大小對(duì)內(nèi)核工作的影響非常關(guān)鍵,或者在系統(tǒng)冗余情況下,所采用的冗余粒度(通常粒度越大越好)等。

  有多種方法可以處理軟誤碼,包括確保軟誤碼停機(jī)時(shí)間小于關(guān)鍵參數(shù)等,例如控制系統(tǒng)的閉環(huán)時(shí)間常數(shù)。降低系統(tǒng)軟誤碼的其他措施還包括系統(tǒng)運(yùn)行情況保存、復(fù)位和恢復(fù),在日志中標(biāo)記軟誤碼,及早復(fù)位系統(tǒng)等。有些方法有一定的危險(xiǎn)性,例如配置數(shù)據(jù)的連續(xù)背景刷新(也被稱為清洗)等。關(guān)鍵配置SRAM比特出現(xiàn)軟誤碼后,在以開(kāi)環(huán)方式進(jìn)行糾正之前,系統(tǒng)功能在一段時(shí)間內(nèi)會(huì)不正常。這種情況的危險(xiǎn)性在于,F(xiàn)PGA已經(jīng)處理了不正確的數(shù)據(jù),結(jié)果會(huì)在系統(tǒng)其他部分?jǐn)U散。盡管任何FPGA誤碼探測(cè)方法中都存在類似的問(wèn)題,但最好能夠在系統(tǒng)級(jí)確認(rèn)出現(xiàn)軟誤碼,從而標(biāo)記出不正確的數(shù)據(jù)。設(shè)計(jì)FPGA時(shí),Altera重點(diǎn)關(guān)注降低CRAM單元的單位比特軟誤碼率以及降低誤碼的措施,例如關(guān)鍵誤碼探測(cè)等,以最小的成本大幅度提高可靠性。Stratix III FPGA的很多特性都有助于達(dá)到這些目標(biāo)。表1對(duì)此進(jìn)行了總結(jié)。在降低片內(nèi)RAM軟誤碼的措施中,原理最清楚、應(yīng)用情況最好的是ECC,它不但保護(hù)效果好,而且在芯片面積和性能上的成本最低。對(duì)于字寬較寬的情況,存儲(chǔ)器總寬度(數(shù)據(jù)比特和校驗(yàn)比特)效率更高,帶有8個(gè)校驗(yàn)位的64位數(shù)據(jù)(總共72個(gè)比特)是比較容易接受的方案。服務(wù)器和緩存應(yīng)用中都采用了這一比例,Stratix III FPGA中的M144K存儲(chǔ)器模塊也支持這種配置。使用ECC意味著對(duì)存儲(chǔ)器進(jìn)行校驗(yàn),并且以系統(tǒng)速率自動(dòng)糾正錯(cuò)誤。

  對(duì)于需要徹底解決軟誤碼的設(shè)計(jì)人員而言,ASIC當(dāng)然是最佳方案。Altera的HardCopy結(jié)構(gòu)化ASIC系列實(shí)現(xiàn)了從原型FPGA到引腳兼容結(jié)構(gòu)化ASIC的無(wú)縫移植,不需要在設(shè)計(jì)工具、芯片設(shè)計(jì)以及電路板重新設(shè)計(jì)上進(jìn)行大量投入。在FPGA原型對(duì)系統(tǒng)(包括PCB)進(jìn)行全面驗(yàn)證之前,其他的結(jié)構(gòu)化ASIC不能下單。作為一種結(jié)構(gòu)化ASIC,HardCopy器件沒(méi)有SRAM配置單元。硬件設(shè)置對(duì)SEU不敏感,因此,器件邏輯功能不受軟誤碼的影響。芯片中唯一容易受影響的部分是用戶存儲(chǔ)器和內(nèi)核寄存器,可以使用ECC糾正用戶存儲(chǔ)器的誤碼。

  內(nèi)核寄存器的非常低。例如,在HardCopy II結(jié)構(gòu)化ASIC中,邏輯寄存器由Hcell構(gòu)成。在Los Alamos WNR的測(cè)試中,發(fā)現(xiàn)根本不可能干擾寄存器。其原因在于采用了大量的創(chuàng)新技術(shù),例如提高反饋環(huán)邏輯門的強(qiáng)度,主從級(jí)隔離,通過(guò)設(shè)置提高節(jié)點(diǎn)電容等。65nm HardCopy III結(jié)構(gòu)化ASIC以Stratix III FPGA為原型,將使用相同的方法,在所有結(jié)構(gòu)化ASIC中,抑制軟誤碼的能力最強(qiáng)。

  結(jié)語(yǔ)

  Stratix III FPGA在降低SEU上有多種措施,例如從簡(jiǎn)單配置軟誤碼探測(cè),到確定關(guān)鍵和“無(wú)關(guān)緊要”配置軟誤碼之間的不同等。結(jié)合片內(nèi)和外部存儲(chǔ)器軟誤碼自動(dòng)糾正功能,采用Stratix III FPGA設(shè)計(jì)的系統(tǒng)大大提高了可靠性,使FPGA能夠用于利用率高、可靠性高、安全性高的系統(tǒng)中。

  參考文獻(xiàn)

  1. Stratix III器件手冊(cè)第四章:設(shè)計(jì)安全性以及降低單事件干擾(SEU)www.altera.com/literature/hb/stx3/stx3_siii5v1_04.pdf

  2.AN 357:利用 Altera FPGA的CRC實(shí)現(xiàn)誤碼探測(cè)和糾正www.altera.com/literature/an/an357.pdf



關(guān)鍵詞: SEU 干擾率

評(píng)論


技術(shù)專區(qū)

關(guān)閉