0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于三層級(jí)低開銷的系統(tǒng)性的緩解FPGA中MBU問題的技術(shù)框架

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-05-02 10:02 ? 次閱讀

商用現(xiàn)貨型FPGA被認(rèn)為是解決目前空間應(yīng)用對(duì)處理能力需求不斷增加的唯一途徑,由于其對(duì)多比特翻轉(zhuǎn)的敏感性,需要針對(duì)空間應(yīng)用的單粒子效應(yīng)采取專門的設(shè)計(jì)加固技術(shù)。提出了基于用戶邏輯層、配置存儲(chǔ)器層和控制層3個(gè)層級(jí)的容錯(cuò)技術(shù)框架。在用戶邏輯層,提出了一種新型的低開銷的FTR策略用于用戶邏輯的錯(cuò)誤檢測(cè);在配置存儲(chǔ)器級(jí),提出了基于模塊和幀的動(dòng)態(tài)部分可重構(gòu)策略用于處理配置存儲(chǔ)器的錯(cuò)誤;在控制級(jí),以Xilinx ZYNQ片上系統(tǒng)型FPGA為目標(biāo),利用其嵌入的硬核處理器進(jìn)行基于檢查點(diǎn)和卷回體制的電路狀態(tài)保存和恢復(fù)。整個(gè)容錯(cuò)技術(shù)框架在7級(jí)流水的LEON3開源器處理器中進(jìn)行了故障注入的試驗(yàn)驗(yàn)證,試驗(yàn)結(jié)果顯示在增加85%的LUT資源和125%的觸發(fā)器資源使用條件下,99.997%注入的故障得到了及時(shí)糾正。

0 引言

商用芯片擁有比宇航級(jí)芯片更強(qiáng)的處理能力,但是容易受到單粒子效應(yīng)的影響。已經(jīng)有不少學(xué)者開展了相關(guān)的研究工作,主要是通過持續(xù)的全局配置刷新來緩解配置存儲(chǔ)器中的錯(cuò)誤數(shù)據(jù)位。在此基礎(chǔ)上,提出基于動(dòng)態(tài)部分重構(gòu)(Dynamic Partial Reconfiguration,DPR)技術(shù)對(duì)特定區(qū)域電路進(jìn)行重配置,既減少了配置時(shí)間,又提高了效率。

另一種可行的處理方式就是在配置存儲(chǔ)器內(nèi)部進(jìn)行錯(cuò)誤檢測(cè)和編碼糾正,通??梢詸z測(cè)2位錯(cuò)誤糾正1位錯(cuò)誤(Single Error Correction and Double-Error Detection,SEC-DED),但是無法應(yīng)對(duì)多比特翻轉(zhuǎn)(Multiple bit Upset,MBU)的情況[5]。對(duì)于用戶邏輯電路的容錯(cuò)設(shè)計(jì)主要有兩種方式:一種是進(jìn)行三模冗余(Triple Modular Redundancy,TMR)設(shè)計(jì),主要缺點(diǎn)是代價(jià)大;另一種方法是在用戶邏輯電路中只進(jìn)行錯(cuò)誤檢測(cè),采用復(fù)制比較(Duplication With Comparison,DWC)技術(shù),對(duì)所有邏輯資源進(jìn)行復(fù)制,增加比較器對(duì)結(jié)果進(jìn)行比較。為了進(jìn)一步減少資源利用,提出在用戶邏輯電路中進(jìn)行錯(cuò)誤檢測(cè)的同時(shí),通過增加一個(gè)層級(jí)對(duì)電路狀態(tài)進(jìn)行保存和恢復(fù)。

根據(jù)上面的分析,目前針對(duì)FPGA的軟錯(cuò)誤技術(shù)主要涉及用戶邏輯層、配置存儲(chǔ)器層和控制層,不同的技術(shù)可針對(duì)不同的場(chǎng)景,在資源、功耗之間沒有針對(duì)特殊應(yīng)用實(shí)現(xiàn)針對(duì)性的優(yōu)化。因此,本文在此基礎(chǔ)上提出了基于三層級(jí)低開銷的系統(tǒng)性的緩解FPGA中MBU問題的技術(shù)框架,并通過Xilinx ZYNQ平臺(tái)針對(duì)開源的LEON3處理器軟核進(jìn)行了故障注入的仿真驗(yàn)證。

1 三層級(jí)軟錯(cuò)誤緩解技術(shù)框架

以最少的資源開銷、最低功耗和最短的處理延遲時(shí)間為優(yōu)化目標(biāo),通過在用戶邏輯層、配置存儲(chǔ)器層和控制層3個(gè)層級(jí)的有效協(xié)同,提出了系統(tǒng)性的緩解商用現(xiàn)貨型FPGA空間應(yīng)用面臨的MBU能力問題的軟錯(cuò)誤緩解技術(shù)框架,其基于Xilinx ZYNQ SoC(System-on-Chip)的容錯(cuò)技術(shù)框架如圖1所示。

用戶邏輯層選擇的冗余策略直接影響上層的架構(gòu)。例如,使用TMR技術(shù)進(jìn)行軟錯(cuò)誤緩解,需要200%以上的資源開銷,不太適用于對(duì)資源和功耗都嚴(yán)格受限的空間應(yīng)用環(huán)境,需要以面積和功耗的降低為優(yōu)化目標(biāo),同時(shí)盡可能地減少延遲。

配置存儲(chǔ)器層選擇的策略的延遲和功耗主要依賴于重配置的粒度和檢糾錯(cuò)能力,后者主要取決于是對(duì)整個(gè)配置數(shù)據(jù)還是只是對(duì)內(nèi)置的糾錯(cuò)編碼的冗余信息進(jìn)行讀取和寫回。

在控制層,主要考慮的因素也是延遲和功耗,可采用檢查點(diǎn)(check pointing)和卷回(rollback)體制,主要的設(shè)計(jì)參數(shù)就是檢查點(diǎn)設(shè)置的周期。

2 用戶邏輯層

在用戶邏輯層,有兩種較為通用的錯(cuò)誤檢測(cè)方法是:一種是DWC技術(shù),這是一種全硬件備份策略;另一種就是時(shí)間冗余(Temporal Redundancy,TR)技術(shù)。圖2中的組合邏輯和時(shí)序邏輯都有兩個(gè)獨(dú)立的路徑,可以在每個(gè)觸發(fā)器的輸出進(jìn)行比較,這樣檢測(cè)延遲時(shí)間最短。圖3中采用的是TR技術(shù)體制,只對(duì)時(shí)序邏輯進(jìn)行冗余,通常是基本電路采用一個(gè)時(shí)鐘,一個(gè)延遲時(shí)間d的時(shí)鐘提供給冗余的觸發(fā)器,這樣整個(gè)電路的保持時(shí)間約束最壞情況是d,建立時(shí)間約束不變。該策略可用于在組合邏輯資源開銷很低的情況下同時(shí)檢測(cè)時(shí)序邏輯中的單粒子翻轉(zhuǎn)和組合邏輯中的單粒子瞬態(tài)現(xiàn)象(Single-Event Transients,SET)造成的錯(cuò)誤。

延遲時(shí)間d首先要保證能夠檢測(cè)到組合邏輯中全部的SET,因此必須大于SET的最大持續(xù)時(shí)間。隨著工藝尺寸的減少,SET持續(xù)時(shí)間在增加,對(duì)于30 MeV·cm2/mg的LET和130 nm工藝,SET的持續(xù)時(shí)間為0.2~0.8 ns,Xilinx ZYNQ采用了28 nm工藝技術(shù),延遲在2 ns左右。同時(shí),隨著延遲d的增加,需要增加更多延遲布線資源,容易造成競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,極大地降低了最高時(shí)鐘工作頻率。因此,對(duì)于高達(dá)2 ns的延遲,TR策略的使用十分受限。

為了改進(jìn)TR策略的適用范圍,提出了圖4所示的前向時(shí)間冗余(Forward Temporal Redundancy,F(xiàn)TR)策略,其與TR的主要區(qū)別是延遲是反向的,用于觸發(fā)器比較的時(shí)鐘相位提前,電路的保持時(shí)間沒有變化,但是建立時(shí)間約束更加嚴(yán)酷。因此,從clk到clk′時(shí)鐘域的最大傳播延遲減少了d。FTR是一種低功耗和低面積的解決方案,不存在冒險(xiǎn)競(jìng)爭(zhēng)條件。

3 配置存儲(chǔ)器層

對(duì)于配置存儲(chǔ)器的重構(gòu)或者刷新主要有3種不同粒度的操作,如圖5所示,第一種就是完全重配置或者刷新,效率比較低;第二種是基于模塊的部分重構(gòu),適用電路局限在部分重構(gòu)區(qū)域(Partially Reconfigurable Region,PRR);第三種是最好的操作粒度,即基于幀的部分重構(gòu),幀是基于地址表的最小單位,對(duì)于Xilinx ZYNQ平臺(tái),包括101個(gè)32 bit字,每一個(gè)幀通過對(duì)應(yīng)的幀地址(Frame Address Register,F(xiàn)AR)進(jìn)行訪問,可提供最快的錯(cuò)誤檢測(cè)能力。

為提高檢糾錯(cuò)效率,提出了在配置存儲(chǔ)器層組合使用基于模塊和基于幀的DPR方法:首先,準(zhǔn)確定位用戶邏輯電路的資源位置,同時(shí)提取相應(yīng)部分的比特流信息,然后實(shí)現(xiàn)快速的檢錯(cuò)?;趲幕刈x可以用于檢測(cè)PRR內(nèi)部所有錯(cuò)誤。比特流信號(hào)中不僅包括配置位,也包括用戶存儲(chǔ)器單元,這些都可能在電路運(yùn)行過程中狀態(tài)進(jìn)行改變。這些對(duì)應(yīng)比特位必須在回讀時(shí)通過.mask文件進(jìn)行屏蔽。

上述方法特別適用于用戶電路可以分成多個(gè)獨(dú)立的小PRR的情況,對(duì)區(qū)域位置定位越準(zhǔn)確,PRR越小,延遲就越少,電路的性能也越穩(wěn)定。

同時(shí),對(duì)于硬件錯(cuò)誤的處理可以通過比特流的重定位技術(shù),只需要小容量的外部存儲(chǔ)器對(duì)部分比特流進(jìn)行存儲(chǔ)。

另一種通用的配置存儲(chǔ)器保護(hù)策略是Xilinx提供的IP核,對(duì)整個(gè)配置存儲(chǔ)器進(jìn)行監(jiān)視和錯(cuò)誤糾正,這個(gè)核在Xilinx ZYNQ中不進(jìn)行容錯(cuò)設(shè)計(jì)就需要900個(gè)查找表和 700個(gè)觸發(fā)器,資源開銷較大。

Xilinx的FPGA支持多種刷新和配置途徑,為了盡可能減少延遲,提高系統(tǒng)的可靠性,優(yōu)選ICAP接口。

4 控制層

控制層主要完成兩個(gè)任務(wù):協(xié)調(diào)處理和狀態(tài)保存。協(xié)調(diào)處理功能主要分為兩部分,一部分與用戶邏輯層有關(guān),用于處理用戶邏輯中檢測(cè)到的錯(cuò)誤;另一部分與配置存儲(chǔ)層有關(guān),用于配置存儲(chǔ)器中錯(cuò)誤的糾正。狀態(tài)保存專門用于支持檢查點(diǎn)和回滾操作,圖6所示為基于Xilinx ZYNQ平臺(tái)的完整算法描述。

檢查點(diǎn)和回滾操作可以通過3種方式實(shí)現(xiàn)。第一種是利用FPGA的BRAM存儲(chǔ)狀態(tài)信息,為保證這些信息不會(huì)被更改,必須采用合適的保護(hù)機(jī)制,通常采用內(nèi)建的SEC-DED-EDAC,不能針對(duì)MBU情況。第二種方法是在更高層級(jí)進(jìn)行處理,使用回讀捕獲特性,通過處理器直接從配置邏輯單元中重新獲取狀態(tài)信息。但是這種方法需要進(jìn)行專門的布局設(shè)計(jì),否則可能造成大的延遲開銷。最后一種方法是通過內(nèi)部數(shù)據(jù)總線進(jìn)行傳輸,比如AXI,可以在多PRR的模塊設(shè)計(jì)中進(jìn)行共享,與第二種方法類似,重新獲取的狀態(tài)數(shù)據(jù)可以使用具備更高糾錯(cuò)能力的軟件編碼進(jìn)行糾錯(cuò),或者存儲(chǔ)到對(duì)單粒子免疫的存儲(chǔ)器中來保證數(shù)據(jù)的正確性,這些數(shù)據(jù)也可以傳回來支持卷回操作。

根據(jù)延遲和功耗的折中,選擇一個(gè)優(yōu)化的檢查點(diǎn)的周期參數(shù),處理器按照時(shí)間周期執(zhí)行任務(wù),這個(gè)參數(shù)需要根據(jù)應(yīng)用需求進(jìn)行調(diào)整。對(duì)于硬實(shí)時(shí)系統(tǒng),檢查點(diǎn)周期可以減少為0,最小的延遲邊界通過回讀的時(shí)間確定。使用硬核處理器進(jìn)行控制的方法由于減少了對(duì)單粒子敏感的FPGA資源的使用,可提高系統(tǒng)整體的可靠性。

5 利用開源的LEON3處理器核的測(cè)試結(jié)果

本文采用開源LEON3處理器軟核作為基本程序進(jìn)行測(cè)試,其狀態(tài)單元主要包括程序計(jì)數(shù)器、寄存器文件和數(shù)據(jù)存儲(chǔ)器,需要通過檢查點(diǎn)和回滾操作進(jìn)行保護(hù)?;赬ilinx ZYNQ XC7Z010-1CLG400C平臺(tái)進(jìn)行測(cè)試。

在用戶邏輯層對(duì)不同的冗余策略進(jìn)行量化比較,表1所示為比較的結(jié)果。從表中可以看出,F(xiàn)TR策略的結(jié)果最好,功耗低,面積開銷低,適合空間應(yīng)用,實(shí)現(xiàn)了性能和代價(jià)之間的最好平衡。由于更加嚴(yán)格地建立時(shí)間約束,與TR相比,F(xiàn)TR策略可以運(yùn)行的最高工作頻率更大。

圖7所示為全部緩解技術(shù)實(shí)現(xiàn)需要的資源開銷比較,從圖中可以看出采用FTR策略,只增加了63%的組合邏輯和101%的時(shí)序邏輯資源。

在配置存儲(chǔ)器層,位置確定更準(zhǔn)確,更能體現(xiàn)FTR的優(yōu)勢(shì),只需要34 μs就可以糾正一個(gè)幀中的錯(cuò)誤,LEON3處理器包括2 640幀,在90 ms內(nèi)就可以實(shí)現(xiàn)整個(gè)PRR的回讀,通過優(yōu)化ICAP端口的速度可以進(jìn)一步減少時(shí)間,最高可以運(yùn)行到300 MHz。

在控制層,狀態(tài)信息保存在程序計(jì)數(shù)器中,寄存器文件和數(shù)據(jù)存儲(chǔ)器中,通過檢查點(diǎn)和卷回操作進(jìn)行保護(hù),并通過AXI總線與硬核處理器連接。這種策略對(duì)需要傳輸?shù)臄?shù)據(jù)量比較敏感,通常片上數(shù)據(jù)存儲(chǔ)器只有幾KB,更大的容量需求通過片外存儲(chǔ)器提供,片外存儲(chǔ)器可以采用復(fù)雜檢糾錯(cuò)編碼。

圖8顯示22%的組合邏輯和24%的時(shí)序邏輯開銷用于檢查點(diǎn)和卷回處理程序。

通過故障注入對(duì)整個(gè)軟件緩解技術(shù)框架的有效性進(jìn)行了驗(yàn)證。首先讀取幀對(duì)應(yīng)的地址信息,然后對(duì)其中的一個(gè)比特位進(jìn)行翻轉(zhuǎn),最后把幀數(shù)據(jù)寫回,從而產(chǎn)生一個(gè)錯(cuò)誤。通過Xilinx產(chǎn)生的.ebd和.ll文件可以找出有效使用的比特信息,試驗(yàn)結(jié)果表明99.997%注入的軟錯(cuò)誤得到糾正。

6 結(jié)論

為了滿足低成本高性能空間應(yīng)用處理平臺(tái)的面積和功耗要求,提出了基于三層級(jí)的以功耗、面積、可靠性和延遲特性為目標(biāo)的優(yōu)化模型。以LEON3開源處理器軟核為基準(zhǔn)程序,通過增加85%的組合邏輯和125%時(shí)序邏輯資源開銷,實(shí)現(xiàn)了冗余和狀態(tài)的保存,比單純的DWC體制更優(yōu)。通過故障注入的仿真實(shí)驗(yàn),驗(yàn)證了該框架可有效糾正99.997%的軟錯(cuò)誤,具備MBU的緩解能力。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600501
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7403

    瀏覽量

    163394

原文標(biāo)題:【學(xué)術(shù)論文】基于三層級(jí)低開銷的FPGA多比特翻轉(zhuǎn)緩解技術(shù)

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三層交換機(jī)工作原理

    三層交換機(jī)工作原理--賽迪網(wǎng) 三層的涵義  三層交換機(jī)的“三層”指的是OSI(開放系統(tǒng)
    發(fā)表于 06-10 12:26

    EPON系統(tǒng)三層接口設(shè)計(jì)

    VLAN的二概念在EPON系統(tǒng)得以廣泛應(yīng)用,三層接口的添加勢(shì)必給系統(tǒng)帶來較大改動(dòng);本設(shè)計(jì)巧妙利用SUPER-VLAN
    發(fā)表于 06-06 05:00

    PCB四板與三層板的區(qū)別是什么

    得多的電路連接,這一點(diǎn)在有些空間很小的電子裝置特別重要?! ∷?b class='flag-5'>層板與三層板相比有什么不同?  1、工藝相同  在PCB廠都能制造,四板一般是采用一張CORE兩側(cè)各壓1張銅箔,3
    發(fā)表于 02-05 14:51

    三層交換技術(shù)解析

    三層交換技術(shù)解析 簡(jiǎn)單地說,三層交換技術(shù)就是:二交換技術(shù)
    發(fā)表于 08-01 11:59 ?629次閱讀

    三層交換技術(shù)

    三層交換技術(shù) 1.引言    在今天的網(wǎng)絡(luò)建設(shè),新出現(xiàn)的三層交換機(jī)已成為我們的首選。它以其高效的
    發(fā)表于 08-01 12:00 ?855次閱讀

    通信網(wǎng)的第三層交換技術(shù)的實(shí)際應(yīng)用

    通信網(wǎng)的第三層交換技術(shù)的實(shí)際應(yīng)用  第三層交換技術(shù)還是比較常用的,于是我研究了一下通信網(wǎng)
    發(fā)表于 01-12 16:41 ?1043次閱讀

    三層交換技術(shù)原理與應(yīng)用

    詳細(xì)的介紹了一種新的網(wǎng)絡(luò)交換技術(shù)三層交換技術(shù),并在此基礎(chǔ)上闡述了第三層交換技術(shù)的產(chǎn)生背景、工作原理及其所具有的獨(dú)特
    發(fā)表于 06-24 16:32 ?45次下載
    <b class='flag-5'>三層</b>交換<b class='flag-5'>技術(shù)</b>原理與應(yīng)用

    三層交換機(jī)-可靠配置

    三層交換機(jī)--可靠配置
    發(fā)表于 12-27 16:09 ?0次下載

    基于三層架構(gòu)的流程模擬系統(tǒng)的設(shè)計(jì)與應(yīng)用_劉紅霞

    基于三層架構(gòu)的流程模擬系統(tǒng)的設(shè)計(jì)與應(yīng)用_劉紅霞
    發(fā)表于 01-19 21:54 ?0次下載

    三層架構(gòu)的原理及作用_三層架構(gòu)怎么用

    在軟件系統(tǒng)設(shè)計(jì),分層式結(jié)構(gòu)是常見的,也是重要的一種結(jié)構(gòu)。三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:界面層、業(yè)務(wù)邏輯、數(shù)據(jù)訪問。每一
    發(fā)表于 12-27 16:19 ?1.7w次閱讀
    <b class='flag-5'>三層</b>架構(gòu)的原理及作用_<b class='flag-5'>三層</b>架構(gòu)怎么用

    三層交換技術(shù)概念_三層交換技術(shù)的特點(diǎn)

    三層交換技術(shù)就是:二交換技術(shù)+三層轉(zhuǎn)發(fā)技術(shù)。它解決了局域網(wǎng)中網(wǎng)段劃分之后,網(wǎng)段中子網(wǎng)必須依賴路
    發(fā)表于 08-20 15:12 ?1.2w次閱讀

    三層交換技術(shù)的原理_三層交換技術(shù)的基本原理_三層交換技術(shù)的工作原理

    三層交換工作在OSI七網(wǎng)絡(luò)模型的第三層即網(wǎng)絡(luò),是利用第三層協(xié)議
    發(fā)表于 08-20 15:19 ?1.2w次閱讀
    <b class='flag-5'>三層</b>交換<b class='flag-5'>技術(shù)</b>的原理_<b class='flag-5'>三層</b>交換<b class='flag-5'>技術(shù)</b>的基本原理_<b class='flag-5'>三層</b>交換<b class='flag-5'>技術(shù)</b>的工作原理

    SRIO IP核的三層協(xié)議的作用解析

    SRIO這種高速串口復(fù)雜就復(fù)雜在它的協(xié)議上,三層協(xié)議:邏輯,傳輸以及物理。 數(shù)據(jù)手冊(cè)會(huì)說這三層協(xié)議是干什么的呢?也就是分工(【
    的頭像 發(fā)表于 04-25 11:20 ?1560次閱讀
    SRIO IP核的<b class='flag-5'>三層</b>協(xié)議的作用解析

    javaweb三層架構(gòu)和mvc架構(gòu)

    模式。 展示(Presentation Layer) 展示是用戶與系統(tǒng)之間的接口,負(fù)責(zé)接收用戶的請(qǐng)求,展示相應(yīng)的頁面或數(shù)據(jù)。在JavaWeb開發(fā),展示
    的頭像 發(fā)表于 11-22 16:41 ?1444次閱讀

    springboot三層架構(gòu)mapper

    Boot 三層架構(gòu)的 Mapper。 首先,我們需要了解什么是三層架構(gòu)。三層架構(gòu)是一種常用的軟件設(shè)計(jì)方法,將應(yīng)用程序劃分為個(gè)層次:表示
    的頭像 發(fā)表于 12-03 15:01 ?1384次閱讀