• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    可綜合FPGA SEU 容錯方法研究

    2022-07-23 07:41:36蒲恩強(qiáng)徐德利
    電子設(shè)計工程 2022年14期
    關(guān)鍵詞:觸發(fā)器寄存器粒子

    沈 凡,王 東,蒲恩強(qiáng),方 倪,徐德利,王 輝,龔 祺

    (華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,湖北武漢 430079)

    由于FPGA 具有強(qiáng)大的并行計算能力、靈活性、開發(fā)周期短等優(yōu)點被廣泛應(yīng)用于各種電子設(shè)備中[1]?,F(xiàn)代FPGA 廣泛應(yīng)用的可編程技術(shù)主要有SRAM、FLASH/E2PROM、反熔絲等?;赟RAM 的可編程技術(shù)因為具有可重復(fù)編程、可應(yīng)用于標(biāo)準(zhǔn)的CMOS 工藝等優(yōu)點在市場上占有主導(dǎo)地位[2-5]。

    近些年,F(xiàn)PGA 的研究者提出一種新型的可綜合FPGA 架構(gòu),即采用硬件描述語言基于數(shù)字標(biāo)準(zhǔn)單元庫對FPGA 進(jìn)行建模,并采用EDA 工具進(jìn)行自動綜合和版圖生成,最后完成FPGA 芯片的設(shè)計?;跇?biāo)準(zhǔn)單元庫工藝的FPGA 與傳統(tǒng)FPGA 一樣,也是由邏輯塊、輸入輸出單元、布線資源等組成,這些組成部分都可以由數(shù)字單元庫中的多路選擇器、D 觸發(fā)器等進(jìn)行建模,其中編程工藝也可以由觸發(fā)器進(jìn)行建模,建模方式一般采用Verilog、Chisel 等高級硬件描述語言。這種FPGA 主要用于SOC 中的可編程嵌入式核,芯片在制造和封裝后對該可編程核進(jìn)行現(xiàn)場編程,以實現(xiàn)一定的數(shù)字邏輯,從而具有可變的特性[6-8]。

    在空間和高能物理實驗等輻射環(huán)境中,高能粒子引起等離子體,當(dāng)?shù)入x子體附近存在電勢差時,會引起電荷的轉(zhuǎn)移,當(dāng)電荷轉(zhuǎn)移足夠大時,將引起單元邏輯狀態(tài)的改變,即單粒子翻轉(zhuǎn)(SEU)?;贑MOS工藝的SRAM、觸發(fā)器、鎖存器、等時序邏輯器件也都會發(fā)生這種SEU 故障[9]。

    FPGA 內(nèi)部的配置單元SRAM 或者觸發(fā)器發(fā)生單粒子翻轉(zhuǎn)后可能會導(dǎo)致邏輯電路的功能結(jié)構(gòu)發(fā)生變化,從而嚴(yán)重影響了FPGA 在輻射環(huán)境下的可靠性[10]。因此,在輻射環(huán)境下工作的FPGA 必須采取一定的防護(hù)措施,以降低SEU 對電路的影響,提高系統(tǒng)的可靠性。目前,電路級別SEU 加固技術(shù)主要有三模冗余技術(shù)[11]、糾錯編碼技術(shù)[12]、配置刷新技術(shù)等[13]。但是目前還沒有專門針對可綜合FPGA 架構(gòu)進(jìn)行的SEU 加固設(shè)計。目前,已有的三模冗余技術(shù)一般都是晶體管級別的電路級建模,而沒有寄存器傳輸級建模,無法做到可綜合。糾錯編碼技術(shù)主要針對總線接口中的數(shù)據(jù)流進(jìn)行糾錯,不適用于對FPGA 器件本身加固。配置刷新技術(shù)需要對FPGA 中的配置信息進(jìn)行不斷更新,電路的實現(xiàn)復(fù)雜,而且刷新時FPGA功能暫時中斷。為了對可綜合FPGA 進(jìn)行SEU 容錯設(shè)計,該設(shè)計采用寄存器傳輸級電路的設(shè)計方法對可綜合FPGA 中的配置單元觸發(fā)器進(jìn)行了三模冗余加固,同時加入了糾錯和檢錯的功能,最后對所設(shè)計的電路進(jìn)行了功能仿真驗證和單粒子效應(yīng)仿真。

    1 總體設(shè)計

    在標(biāo)準(zhǔn)單元庫工藝的FPGA 中,可編程技術(shù)主要是通過例化觸發(fā)器來實現(xiàn)的,因此文中主要針對觸發(fā)器進(jìn)行容錯設(shè)計。用于配置存儲電路中的觸發(fā)器可以采用級聯(lián)的方式構(gòu)成移位寄存器,這種結(jié)構(gòu)可以減少配置電路的復(fù)雜度,進(jìn)而獲得面積和性能上的優(yōu)勢。

    如圖1 所示是移位寄存器中容錯電路的結(jié)構(gòu)。移位寄存器中每個觸發(fā)器都進(jìn)行了容錯設(shè)計,容錯電路包括三模冗余電路、多數(shù)表決器電路、檢錯電路、糾錯電路等,這些電路模塊均可以通過數(shù)字標(biāo)準(zhǔn)單元庫中的門電路進(jìn)行搭建。三模冗余結(jié)構(gòu)由同樣的三份觸發(fā)器構(gòu)成,作為多數(shù)表決器的輸入,多數(shù)表決器根據(jù)3 個觸發(fā)器的輸出進(jìn)行判決,得到最終輸出的觸發(fā)器的值。檢錯電路可以判斷3 個觸發(fā)器中是否有翻轉(zhuǎn),糾錯電路可以根據(jù)錯誤信息對觸發(fā)器進(jìn)行立即糾正和更新。

    圖1 容錯電路總體框圖

    2 觸發(fā)器三模冗余電路

    三模冗余(TMR)是抗單粒子翻轉(zhuǎn)常用的電路加固技術(shù)。TMR 對硬件進(jìn)行冗余設(shè)計時,把關(guān)鍵電路復(fù)制成3 份,通過對三路輸出結(jié)果進(jìn)行表決來屏蔽任何一路的SEU 錯誤。圖2 是三模冗余電路的結(jié)構(gòu)框圖,主要由復(fù)制的三份電路和一個多數(shù)表決器組成[14]。

    圖2 三模冗余電路結(jié)構(gòu)框圖

    在基于標(biāo)準(zhǔn)單元庫工藝的FPGA 中,配置存儲器是由硬件描述語言對觸發(fā)器進(jìn)行例化而得來的。FPGA 中的邏輯塊、布線資源、輸入輸出塊等都是通過配置存儲器來改變功能的,因此配置存儲器的數(shù)量非常大。

    如圖3 所示,觸發(fā)器內(nèi)部有兩個和SRAM 結(jié)構(gòu)相似的互鎖結(jié)構(gòu),當(dāng)粒子轟擊觸發(fā)器主從級互鎖結(jié)構(gòu)中的敏感節(jié)點時,可能會使存儲邏輯值發(fā)生翻轉(zhuǎn),從而使觸發(fā)器的輸出結(jié)果產(chǎn)生錯誤導(dǎo)致電路功能失效[15]。

    圖3 觸發(fā)器電路結(jié)構(gòu)

    為了增強(qiáng)基于標(biāo)準(zhǔn)單元庫工藝的FPGA 的SEU容錯能力,文中對配置存儲單元所使用的觸發(fā)器進(jìn)行三模冗余設(shè)計,其電路圖如圖4 所示。

    圖4 三模冗余電路圖

    在該電路中,原來的寄存器被復(fù)制成了3 份,并且三路寄存器的輸出連接在一個多數(shù)表決器的輸入上。多數(shù)表決器是一個三輸入一輸出的表決器,由3個并聯(lián)的二輸入與門和一個三輸入或門級聯(lián)而成。一旦有一路寄存器受到SEU 的影響發(fā)生了邏輯翻轉(zhuǎn),其后面的多數(shù)表決器就會根據(jù)另外兩路正確的輸出結(jié)果最終輸出正確的結(jié)果。

    3 檢錯和糾錯電路

    三模冗余是把電路復(fù)制3 份,然后通過一個多數(shù)表決器來屏蔽錯誤,因此只能屏蔽一路發(fā)生錯誤而另外兩路正常的情況。如果SEU 積累到一定的程度導(dǎo)致三路邏輯電路中有兩個及以上的電路發(fā)生錯誤,三模冗余電路的錯誤屏蔽功能將會失效[16]。

    為了解決這個問題,文中結(jié)合標(biāo)準(zhǔn)單元庫工藝FPGA 配置寄存器的特點,設(shè)計了一個SEU 錯誤的檢錯和糾錯電路。

    圖5 是檢錯電路,當(dāng)三路寄存器的輸出結(jié)果一樣時,檢錯結(jié)果輸出“1”,表示三模冗余電路中三路寄存器沒有發(fā)生SEU 錯誤;當(dāng)三路寄存器中有一路輸出結(jié)果與另外兩路不一樣,檢錯電路輸出“0”,表示三模冗余電路中有一路發(fā)生了SEU 錯誤。

    圖5 檢錯電路

    基于標(biāo)準(zhǔn)庫單元庫工藝的FPGA 有一個特點,它的配置存儲器是由觸發(fā)器例化而得來的,因此,每一個存儲數(shù)據(jù)都有一個復(fù)位端和一個置位端,通過這兩個端口可以在必要時對寄存器的值進(jìn)行復(fù)位/置位操作,以恢復(fù)‘0’和‘1’的存儲值。如圖6 所示,檢錯電路輸出的結(jié)果errorn 作為觸發(fā)器的復(fù)位/置位使能信號,當(dāng)檢測到SEU 錯誤時,errorn 信號拉低,如果三模冗余電路輸出結(jié)果Q_o 為‘0’,則對觸發(fā)器進(jìn)行復(fù)位操作,把觸發(fā)器的值由錯誤的‘1’恢復(fù)到‘0’;如果Q_o 為‘1’,則對觸發(fā)器進(jìn)行置位操作,把觸發(fā)器的值由錯誤的‘0’恢復(fù)到‘1’。

    圖6 糾錯電路

    經(jīng)過糾錯電路對觸發(fā)器進(jìn)行置位后,由SEU 導(dǎo)致翻轉(zhuǎn)錯誤的觸發(fā)器就能夠恢復(fù)到正確的值,進(jìn)而避免因SEU 的累積使三模冗余電路失效。而且,當(dāng)SEU 檢測電路檢測到故障后會立即對寄存器進(jìn)行置位操作,這個響應(yīng)時間取決于檢測電路和糾錯電路的門延遲,一般不超過1 ns,因此糾錯速度非???。

    4 實驗結(jié)果與分析

    FPGA 抗SEU 設(shè)計的有效性主要有輻射實驗和故障注入兩種驗證措施。其中輻射實驗成本高、實驗周期長,同時目前國內(nèi)能夠做單粒子翻轉(zhuǎn)實驗的實驗室不多,而且輻射實驗對發(fā)現(xiàn)的問題難以定位故障點。另一種驗證措施是故障注入方式,該方式通過在電路中注入SEU 來模擬或者仿真實際應(yīng)用中電路發(fā)生SEU 的情況,具有成本低、速度快、定位精確等優(yōu)點,是評估SEU 加固措施有效性的重要手段[9]。

    4.1 功能仿真

    用Verilog HDL 對電路進(jìn)行建模,并對電路產(chǎn)生激勵,利用VCS 軟件進(jìn)行仿真,得到電路的輸入輸出波形圖,如圖7 所示。電路對寄存器進(jìn)行配置后,使寄存器存儲的值為‘0’,可以看到,三路寄存器輸出值和多數(shù)表決器的輸出全部為‘0’;在7 200 ps 時刻對三路寄存器中的一路Q_t_1 注入SEU 使這個寄存器的輸出值為‘1’,而另外兩路寄存器Q_t_2、Q_t_3保持原始值‘0’,可以看到,多數(shù)表決器的輸出值仍然保持正確的‘0’,而故障檢測電路的輸出errorn 出現(xiàn)了一個短暫的‘0’,使寄存器產(chǎn)生復(fù)位操作,復(fù)位后的值恢復(fù)到了正確的狀態(tài)‘0’。在13 400 ps 時刻作類似的操作,也得到了正確的結(jié)果。從以上功能仿真結(jié)果來看,電路實現(xiàn)了三模冗余的SEU 容錯設(shè)計,并且具有SEU 檢測和糾錯的能力。

    圖7 單比特錯誤功能仿真

    當(dāng)同時對兩路寄存器注入SEU 錯誤時,電路的檢錯和糾錯功能就失效了,如圖8 所示。在7 200 ps時刻對Q_t_2、Q_t_3 注入SEU 使寄存器輸出為‘0’,之后故障檢測器輸出為‘0’,但是此時多數(shù)表決器的值也變成了‘0’,電路發(fā)生了錯誤,直到下一個時鐘上升沿時寄存器被重新寫入正確的值。這個驗證結(jié)果與理論相符合。

    圖8 多比特錯誤功能仿真

    4.2 單粒子效應(yīng)仿真

    單粒子效應(yīng)的電路級仿真可以采用雙指數(shù)電流源對單粒子入射造成的瞬態(tài)響應(yīng)進(jìn)行模擬[17-18]。

    該模型的經(jīng)驗公式如下:

    式中,α為電荷收集的時間常數(shù),β為建立例子軌跡的時間常數(shù),I0為峰值電流。改變電流脈沖的峰值可得到不同LET 的單粒子脈沖,圖9 為該模型的脈沖波形。

    圖9 雙指數(shù)電流源脈沖波形

    在電路仿真過程中,把雙指數(shù)電流源注入到電路敏感節(jié)點即可模擬單粒子入射造成的瞬態(tài)響應(yīng)。文中在三模冗余電路的第一個觸發(fā)器的第二個鎖存器環(huán)中接入雙指數(shù)電流源,得到如圖10 所示的響應(yīng)。可以看到,敏感節(jié)點受到單粒子轟擊后發(fā)生了翻轉(zhuǎn),導(dǎo)致第一個觸發(fā)器的輸出端Q 發(fā)生了翻轉(zhuǎn),但是同時,檢錯電路檢測出錯誤,并經(jīng)過糾錯電路把setn 置低,使觸發(fā)器產(chǎn)生置位操作,最終使觸發(fā)器的錯誤翻轉(zhuǎn)被糾正。整個過程電路的輸出結(jié)果Q_o 沒有受到影響。由以上可以表明,該電路具有抗SEU 的能力。

    圖10 電路敏感節(jié)點受到單粒子轟擊后的響應(yīng)

    5 結(jié)論

    文中介紹了一種可綜合FPGA 的SEU 容錯方法,采用三模冗余和檢錯、糾錯電路相結(jié)合的方法對配置單元觸發(fā)器進(jìn)行了容錯設(shè)計。糾錯電路充分利用數(shù)字標(biāo)準(zhǔn)單元庫中觸發(fā)器已有的置位、復(fù)位端,只增加少量的邏輯電路就可實現(xiàn)糾錯的功能。該電路結(jié)構(gòu)不僅有傳統(tǒng)三模冗余電路抗SEU 的優(yōu)點,還具有自動檢錯、糾錯電路,該電路采用寄存器傳輸級硬件,是可綜合的,因此可以用于可綜合FPGA 的SEU加固。仿真結(jié)果表明,該電路設(shè)計合理,達(dá)到了預(yù)期的容錯目的,在可綜合FPGA 的SEU 容錯設(shè)計中具有重要的參考意義。

    猜你喜歡
    觸發(fā)器寄存器粒子
    Lite寄存器模型的設(shè)計與實現(xiàn)
    基于粒子群優(yōu)化的橋式起重機(jī)模糊PID控制
    基于粒子群優(yōu)化極點配置的空燃比輸出反饋控制
    主從JK觸發(fā)器邏輯功能分析
    電子世界(2017年22期)2017-12-02 03:03:45
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    使用觸發(fā)器,強(qiáng)化安全性
    基于Matlab的α粒子的散射實驗?zāi)M
    物理與工程(2014年4期)2014-02-27 11:23:08
    基于兩粒子糾纏態(tài)隱形傳送四粒子GHZ態(tài)
    對觸發(fā)器邏輯功能轉(zhuǎn)換的分析
    觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
    吴忠市| 龙口市| 通州市| 广河县| 无锡市| 盐池县| 西宁市| 丰镇市| 司法| 新余市| 电白县| 富民县| 当雄县| 左权县| 缙云县| 烟台市| 沙河市| 辛集市| 霍邱县| 夏津县| 个旧市| 南昌市| 苏尼特左旗| 牟定县| 古蔺县| 项城市| 大邑县| 汉寿县| 阳江市| 五指山市| 剑川县| 谷城县| 新泰市| 尤溪县| 阿克陶县| 太白县| 成安县| 宜城市| 德保县| 潜山县| 福建省|