《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 一種SRAM型FPGA單粒子效應(yīng)加固平臺(tái)設(shè)計(jì)
一種SRAM型FPGA單粒子效應(yīng)加固平臺(tái)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第5期
齊劉宇,劉國(guó)棟,趙正陽(yáng)
中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊050081
摘要: 針對(duì)大規(guī)模集成電路在空間環(huán)境的應(yīng)用需求,介紹了目前國(guó)內(nèi)外針對(duì)FPGA的抗輻射加固的研究現(xiàn)狀,對(duì)空間輻射和單粒子效應(yīng)進(jìn)行了簡(jiǎn)單描述,分析了SRAM型FPGA的結(jié)構(gòu)和故障特點(diǎn),提出了一種基于高可靠單元針對(duì)Xilinx Kintex-7系列FPGA進(jìn)行配置、監(jiān)控、回讀校驗(yàn)和刷新的單粒子翻轉(zhuǎn)加固硬件平臺(tái)設(shè)計(jì)。介紹了對(duì)Kintex-7系列FPGA進(jìn)行防護(hù)的流程和故障注入測(cè)試系統(tǒng)的組成,該平臺(tái)已經(jīng)在某項(xiàng)目中得到應(yīng)用并通過(guò)了功能測(cè)試和相關(guān)環(huán)境試驗(yàn),為大規(guī)模集成電路在空間應(yīng)用提供了設(shè)計(jì)參考。
中圖分類號(hào): TN47;V476.5
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190130
中文引用格式: 齊劉宇,劉國(guó)棟,趙正陽(yáng). 一種SRAM型FPGA單粒子效應(yīng)加固平臺(tái)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(5):78-80,88.
英文引用格式: Qi Liuyu,Liu Guodong,Zhao Zhengyang. A platform design of single event effect mitigation for SRAM-based FPGA[J]. Application of Electronic Technique,2019,45(5):78-80,88.
A platform design of single event effect mitigation for SRAM-based FPGA
Qi Liuyu,Liu Guodong,Zhao Zhengyang
The 54th Research Institute of CETC,Shijiazhuang 050081,China
Abstract: Be aimed at application requirements of VLSI(very large scale integration) in space environment, current researching status in China and abroad of radiation harden of FPGA are introduced in the paper. With a simple description of space radiation environment and SEE(single event effect) and analyzing the structure and fault characteristics of SRAM-based FPGA, a hardware platform design of single event effect mitigation for configuration, monitoring, readback verification and Scrubbing of Xilinx Kintex-7 series FPGA based on HRU(high reliability unit) is proposed. The process of protecting Kintex-7 series FPGA and the composition of SEU injection test system are elaborated. The platform is used in a project and has passed functional testing and related environmental tests, and it has provided a design reference for space application of VLSI.
Key words : single event effect;Kintex-7 FPGA;radiation harden design;scrubbing test

0 引言

    隨著半導(dǎo)體技術(shù)的高速發(fā)展,大規(guī)模集成電路變得更加復(fù)雜,開發(fā)周期變得更長(zhǎng)。FPGA由于具備可編程性,其廣泛應(yīng)用可以降低電路的開發(fā)成本。然而,單粒子翻轉(zhuǎn)(SEU)會(huì)使FPGA內(nèi)部的大量的存儲(chǔ)器變得不可靠,尤其是Static RAM(SRAM)型FPGA的配置存儲(chǔ)器受到重離子轟擊時(shí),會(huì)導(dǎo)致器件邏輯布線出錯(cuò),進(jìn)而引起模塊故障,甚至導(dǎo)致整個(gè)系統(tǒng)的功能中斷。對(duì)于SRAM型FPGA,配置存儲(chǔ)器的單粒子翻轉(zhuǎn)占整個(gè)器件翻轉(zhuǎn)總數(shù)的90%以上的比例[1],因此對(duì)配置存儲(chǔ)器的單粒子翻轉(zhuǎn)防護(hù)十分重要。

    目前也有一些方法可以對(duì)抗SEU。三模冗余(Triple Modular Redundancy,TMR)是一種常用的有效加固設(shè)計(jì),可以有效提高可靠性。TMR的每一個(gè)冗余支路可以屏蔽一個(gè)錯(cuò)誤,但無(wú)法處理多比特翻轉(zhuǎn),尤其是3倍資源的消耗也會(huì)影響整個(gè)器件的運(yùn)行功耗。為了減少資源的消耗,文獻(xiàn)[2]提出了一種基于雙模冗余(Double Modular Redundancy,DMR)的檢錯(cuò)電路,它以較小的資源代價(jià)來(lái)處理多比特翻轉(zhuǎn);文獻(xiàn)[3]提出了一種星載信號(hào)處理平臺(tái)結(jié)構(gòu),利用高可靠性的反熔絲Actel FPGA對(duì)Xilinx V4系列 FPGA進(jìn)行監(jiān)控和刷新;文獻(xiàn)[4]介紹了FPGA的刷新設(shè)計(jì)要處理Half-latch,來(lái)避免回讀無(wú)法發(fā)現(xiàn)的錯(cuò)誤;文獻(xiàn)[5]介紹了一種高效的加固測(cè)試的方法;文獻(xiàn)[6]提出了基于ZYNQ加固的技術(shù)。

    隨著技術(shù)的發(fā)展,功能模塊的集成度逐漸提高,Xilinx公司Kintex-7系列FPGA是當(dāng)下較為普遍的處理器,而對(duì)其的單粒子防護(hù)變得更為迫切。為了提高可靠性,有效對(duì)抗空間輻射引起的故障,本文提出了一種基于高可靠性反熔絲Actel FPGA對(duì)Xilinx Kintex-7 FPGA進(jìn)行回讀、校驗(yàn)和刷新的處理平臺(tái)。

1 空間輻射

    空間中的電子器件,會(huì)受到空間中大量高能輻射粒子(質(zhì)子、電子、α粒子、重離子、γ射線等)的作用,高能粒子對(duì)半導(dǎo)體器件PN結(jié)的碰撞,在重粒子的運(yùn)動(dòng)軌跡周圍形成電荷被PN節(jié)靈敏電極收集形成瞬態(tài)電流,當(dāng)瞬態(tài)電流超過(guò)一定值就會(huì)觸發(fā)邏輯電路,將造成半導(dǎo)體存儲(chǔ)器或觸發(fā)器的翻轉(zhuǎn)、邏輯功能的瞬時(shí)異?;蛑袛?,即單粒子效應(yīng)

    根據(jù)單粒子效應(yīng)的產(chǎn)生機(jī)理,可以對(duì)航天應(yīng)用中的集成電路芯片進(jìn)行加固,以減少單粒子效應(yīng)對(duì)系統(tǒng)功能的影響。對(duì)于單粒子效應(yīng)的加固,從加固方法上可將其分為工藝上加固和功能上加固兩大類。

    工藝上的加固指的是采用抗輻射能力強(qiáng)的工藝和材料,制造出具有較高抗輻射能力的器件,例如宇航級(jí)的器件,它本身就進(jìn)行了輻射加固設(shè)計(jì)。功能上的加固是指通過(guò)復(fù)位或者重寫操作對(duì)器件進(jìn)行修復(fù),將單粒子效應(yīng)引起的錯(cuò)誤邏輯進(jìn)行糾正,從而達(dá)到抗輻射的目的。

2 研究現(xiàn)狀

    美國(guó)的好奇號(hào)探測(cè)器、金星快車探測(cè)器均使用Xilinx公司的宇航級(jí)FPGA,目前該公司的抗輻射FPGA產(chǎn)品如Virtex-4QV(以下簡(jiǎn)稱V4)被認(rèn)為是用于空間應(yīng)用的成熟處理器。但其高昂的價(jià)格和較長(zhǎng)的采購(gòu)周期提高了國(guó)內(nèi)相關(guān)領(lǐng)域的研究成本。Xilinx制造的Kintex-7(以下簡(jiǎn)稱K7) FPGA具有低功耗高性價(jià)比的優(yōu)點(diǎn),并且可用資源比抗輻射的V4有較大優(yōu)勢(shì),表1比較了V4(具體型號(hào)為XQ4VSX55)和K7(具體型號(hào)為XC7K32ST)兩款芯片的主要參數(shù)[7]。

jsj5-b1.gif

    XC7K325T的邏輯單元是XQ4VSX55的5.9倍,DSP資源是它的1.6倍,豐富的資源提供了復(fù)雜信號(hào)處理的解決能力,同時(shí)為系統(tǒng)的小型化設(shè)計(jì)提供了可靠的解決方案。

    XC7K325T和XQ4VSX55均采用SRAM型結(jié)構(gòu),其主要硬件組成為:可配置存儲(chǔ)器(Configurable Memory)、可編程邏輯單元(Configurable Logic Block)、可編程輸入輸出口(Programmable IO)、塊存儲(chǔ)器(BlockRAM)、乘法器(Multiplier)、數(shù)字時(shí)鐘管理模塊(Digital Clock Manager)、配置狀態(tài)機(jī)(Configuration State Machine)、上電復(fù)位狀態(tài)機(jī)(Power On Reset State Machine)、布線資源(Routing Resource)。

    由于采用SRAM型結(jié)構(gòu),通過(guò)相關(guān)實(shí)驗(yàn)表明,F(xiàn)PGA故障多數(shù)是由可配置存儲(chǔ)器發(fā)生單粒子翻轉(zhuǎn)(SEU)引起的[8]??膳渲么鎯?chǔ)器控制著FPGA設(shè)計(jì)中的控制位(Control Bit)、查找表(Look Up Table)、開關(guān)矩陣(Multiplexiers)、可編程互連點(diǎn)(Programmable Interconnect Points)和布線緩存器(Routing Buffer)。根據(jù)可配置存儲(chǔ)器中各類功能位所占的比例,可以判斷可配置存儲(chǔ)器單粒子翻轉(zhuǎn)主要引起布線資源的錯(cuò)誤。單粒子翻轉(zhuǎn)影響它所在功能模塊的功能,但并不一定引起整個(gè)器件信號(hào)處理功能的失效,并且此類故障可以通過(guò)刷新來(lái)修復(fù)。

3 加固平臺(tái)設(shè)計(jì)

3.1 總體設(shè)計(jì)

    本單粒子加固平臺(tái)主要由高可靠性單元(High Reliability Unit,HRU)、XC7K325T和PROM組成。其中,信號(hào)處理部分由一片F(xiàn)PGA完成,高可靠單元完成對(duì)FPGA的配置、監(jiān)控、回讀校驗(yàn)和刷新功能?;赬C7K325T的抗SEU平臺(tái)設(shè)計(jì)框圖如圖1所示。

jsj5-t1.gif

    圖中K7 FPGA和反熔絲HRU直接交互,同時(shí)HRU直接與存儲(chǔ)芯片連接,程序采用幀校驗(yàn)的方法來(lái)比對(duì)K7 FPGA中的配置位,存儲(chǔ)芯片17V16的大小為16 Mb,經(jīng)過(guò)計(jì)算共需要6片17V16。

3.2 K7的上電配置

    該平臺(tái)工作流程是,系統(tǒng)加電后,HRU首先配置K7,根據(jù)K7的配置時(shí)序圖(如圖2所示),首先置低PROGRAM_B引腳,初始化K7的配置寄存器,當(dāng)INIT_B引腳變高后,這時(shí)再將PROM中的程序下載到K7中,當(dāng)配置完成后,K7的DONE引腳會(huì)變高,意味著配置成功,此時(shí)K7開始工作;這時(shí)HRU首先檢測(cè)配置是否成功,如果未成功,則重新配置;如果配置K7成功后,它的看門狗電路開始工作,這時(shí)HRU進(jìn)入監(jiān)測(cè)狀態(tài),實(shí)時(shí)地檢測(cè)K7的工作狀態(tài)。

jsj5-t2.gif

    其中K7的各個(gè)配置引腳的定義如表2所示。

jsj5-b2.gif

3.3 K7的回讀校驗(yàn)與刷新

    當(dāng)K7配置完成后,等待回讀校驗(yàn)命令對(duì)器件進(jìn)行回讀測(cè)試。K7的回讀校驗(yàn)采用按幀編碼校驗(yàn)的方式。在回讀過(guò)程中,對(duì)出錯(cuò)的幀進(jìn)行記錄和數(shù)傳。當(dāng)K7的回讀校驗(yàn)都完成以后,進(jìn)行錯(cuò)誤判決。如果檢測(cè)出錯(cuò)誤,則對(duì)相應(yīng)的器件進(jìn)行動(dòng)態(tài)重構(gòu)處理,使其恢復(fù)到原始設(shè)計(jì)狀態(tài)。完整的K7抗SEU加固軟件執(zhí)行流程如圖3所示。

jsj5-t3.gif

    其中檢測(cè)K7的狀態(tài)是通過(guò)回讀操作完成的,回讀是通過(guò)SelectMAP接口將K7內(nèi)部配置存儲(chǔ)器中的數(shù)據(jù)讀出的過(guò)程。回讀過(guò)程可以讀出K7存儲(chǔ)器的當(dāng)前狀態(tài)以及布線資源的配置情況等,然后通過(guò)檢測(cè)回讀數(shù)據(jù)來(lái)判斷當(dāng)前配置數(shù)據(jù)的正確性?;刈x校驗(yàn)是K7單粒子效應(yīng)故障檢測(cè)的重要方法?;刈x過(guò)程分為寫操作命令、讀取數(shù)據(jù)和恢復(fù)現(xiàn)場(chǎng)三部分。FPGA每一幀回讀數(shù)據(jù)的內(nèi)容都決定著與其相對(duì)應(yīng)的功能模塊的邏輯功能。通過(guò)對(duì)配置存儲(chǔ)器的回讀和校驗(yàn),HRU可以決定是否需要對(duì)該功能模塊進(jìn)行局部重配置。

4 應(yīng)用驗(yàn)證

    本設(shè)計(jì)采用的動(dòng)態(tài)回讀是在不中斷正在運(yùn)行的電路邏輯功能的情況下對(duì)配置存儲(chǔ)器的回讀。當(dāng)回讀發(fā)現(xiàn)K7的配置數(shù)據(jù)異常時(shí),則進(jìn)行刷新操作。刷新操作是在對(duì)目標(biāo)器件K7的錯(cuò)誤配置數(shù)據(jù)進(jìn)行重構(gòu)修復(fù),通過(guò)以上流程HRU可以完成對(duì)XC7K325T的SEU加固。

    為通過(guò)模擬XC7K325T空間環(huán)境應(yīng)用時(shí)發(fā)生SEU,對(duì)加固軟件的回讀校驗(yàn)和刷新功能進(jìn)行測(cè)試。測(cè)試系統(tǒng)組成如圖4所示。

jsj5-t4.gif

    測(cè)試系統(tǒng)主要由故障生成計(jì)算機(jī)、XC7K325T和HRU組成。為了調(diào)試方便,用Flash存儲(chǔ)K7的配置文件,計(jì)算機(jī)通過(guò)JTAG口將錯(cuò)誤的配置信息燒錄到FPGA中,HRU通過(guò)與Flash存儲(chǔ)的配置文件比對(duì),檢測(cè)出SEU后實(shí)施刷新操作。通過(guò)工作指示可以監(jiān)測(cè)當(dāng)注入錯(cuò)誤的配置信息后K7的工作狀態(tài),隨后當(dāng)回讀校驗(yàn)刷新時(shí),F(xiàn)PGA的原有的配置程序功能恢復(fù)。

    測(cè)試主要分為以下幾個(gè)步驟:

    (1)以存儲(chǔ)在Flash中的配置文件為基礎(chǔ),修改其中的一位或幾位,并生成校驗(yàn)正確的配置文件;

    (2)將兩種配置文件的工作指示加以區(qū)別以便監(jiān)測(cè)刷新操作;

    (3)模擬SEU注入修改過(guò)的配置文件,并觀察工作指示;

    (4)等待程序中設(shè)定的校驗(yàn)時(shí)間后,通過(guò)工作指示判斷HRU是否檢測(cè)到了翻轉(zhuǎn)并實(shí)施刷新操作;

    (5)改變翻轉(zhuǎn)的數(shù)目和故障注入的位置,重復(fù)試驗(yàn)。

    測(cè)試表明,HRU加固軟件能夠正常完成對(duì)單片XC7K325T的上電配置,檢測(cè)XC7K325T配置存儲(chǔ)區(qū)的SEU和修復(fù)功能。

5 后續(xù)工作

    FPGA單粒子效應(yīng)故障加固設(shè)計(jì),針對(duì)程序代碼本身還需要增加以下幾項(xiàng)工作,來(lái)增加整體平臺(tái)對(duì)抗SEU的能力:

    (1)對(duì)于FPGA中的關(guān)鍵邏輯模塊,要采取三模冗余[9]設(shè)計(jì)TMR(Triple Modular Redundancy);

    (2)如果FPGA對(duì)信號(hào)的運(yùn)算速度要求寬裕,可以利用檢錯(cuò)算法來(lái)判斷FPGA的邏輯運(yùn)行是否正確[10];

    (3)可以在程序中增加邏輯探針,用區(qū)域約束布線的方法固定在FPGA重要模塊的附近,實(shí)時(shí)對(duì)該區(qū)域的單粒子效應(yīng)進(jìn)行檢測(cè)。

6 結(jié)束語(yǔ)

    本文通過(guò)分析空間輻射的特點(diǎn),結(jié)合SRAM型FPGA的硬件結(jié)構(gòu),闡述了單粒子翻轉(zhuǎn)引起SRAM型FPGA的故障機(jī)理,結(jié)合工程實(shí)踐提出了一種利用高可靠單元對(duì)XC7K325T進(jìn)行配置、監(jiān)控、回讀校驗(yàn)和刷新功能的抗單粒子翻轉(zhuǎn)的加固平臺(tái)設(shè)計(jì)。模擬了故障注入對(duì)加固設(shè)計(jì)進(jìn)行了測(cè)試,測(cè)試表明該加固平臺(tái)設(shè)計(jì)可以完成對(duì)FPGA監(jiān)控和修復(fù),為Kintex-7 系列大容量的FPGA在空間環(huán)境中應(yīng)用提供了設(shè)計(jì)參考。試驗(yàn)表明該平臺(tái)可以有效修復(fù)單粒子效應(yīng)引起的位翻轉(zhuǎn)和功能故障。

參考文獻(xiàn)

[1] 王躍科,邢克飛,楊俊,等.空間電子儀器單粒子效應(yīng)防護(hù)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2010.

[2] AMAGASAKI M,NAKAMURA Y,TERAOKA T,et al.An area compact soft error resident circuit for FPGA[C].IC Design and Technology 2016 International Conference(ICICDT),2016.

[3] 邢克飛,楊俊,王躍科,等.Xilinx SRAM型FPGA抗輻射設(shè)計(jì)技術(shù)研究[J].宇航學(xué)報(bào),2007,28(1):123-129.

[4] 邢克飛,楊俊,周永彬,等.星用SRAM型FPGA加固設(shè)計(jì)方法研究[J].電子器件,2007,30(1):202-205.

[5] 王鵬,張道陽(yáng),蘆浩,等.基于分區(qū)測(cè)試的翻轉(zhuǎn)故障注入方法研究[J].電子技術(shù)應(yīng)用,2017,43(8):88-91.

[6] 張小林,丁磊,顧黎明.基于三層級(jí)低開銷的FPGA多比特翻轉(zhuǎn)緩解技術(shù)[J].電子技術(shù)應(yīng)用,2018,44(4):61-64.

[7] Virtex-7 FPGA user guide[Z].UG470(v1.4),Xilinx,2012.

[8] 林金茂.SDR平臺(tái)抗SEU性能評(píng)價(jià)關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2009.

[9] 黃錦杰,孫鵬,沈鳴杰,等.基于TMR的FPGA單粒子加固試驗(yàn)探究[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版),2011,50(4):477-484.

[10] 李夢(mèng)良,樂(lè)立鵬,張建軍,等.星載65 nm抗輻射GNSS接收機(jī)ASIC的SEFI實(shí)驗(yàn)方法[J].電子技術(shù)應(yīng)用,2017,43(1):53-56.



作者信息:

齊劉宇,劉國(guó)棟,趙正陽(yáng)

(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊050081)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。