你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

Xilinx FPGA抗辐射设计技术研究

发布者:jackzhang 时间:2011-07-21 21:16:21

摘要:针对Xilinx FPGA在航天应用中的可行性,文章分析了Xilinx FPGA的结构以及空间辐射效应对FPGA的影响,结合实际工程实践给出了提高其可靠性的一有用办法和注意事项,如冗余设计、同步设计、自检等。表明配置信息的周期刷新和三模冗余设计是减轻单粒子效应的有效方法。
关键词:可编程逻辑门阵列;总剂量效应;单粒子翻转;单粒子闩锁;单粒子功能中断;单粒子烧毁:单粒子瞬

0 引言
    空间辐射环境中的带电粒子会导致航天器电子系统的半导体器件发生单粒子效应,严重影响航天器的可靠性和寿命,其中高能质子和重离子是导致单粒子效应的主要因素。必须对航天器用电子元器件的单粒子效应进行评估,采取一定的抗辐射加固措施,提高其可靠性。因此,空间辐射的单粒子效应研究具有重要意义。
    基于SRAM的FPGA在航天领域受到极大关注。Xilinx公司的FPGA相继在MARS2003 Lander(JPL)XQR4062XL:Controlling Pyrotechnics、MARS2003 Rover(JPL)XQVR1000:Motor Control、GRACE(NASA、XQR4036XL:Sensor等任务中成功应用之后,国外航天界对Xilinx FPGA的应用兴趣大增。我国相关领域对XilinxFPGA的航天应用正处在研究阶段,对其中亟待解决的可靠性设计问题研究相对较少,本文根据作者在某卫星载荷设备信号处理器中的实践对Xilinx FPGA(以下简称FPGA)的可靠性设计技术进行了研究。

1 Xilinx FPGA介绍
    Xilinx SRAM型FPGA主要由以下几部份组成,图1所示为Virtex II FPGA的结构图。

a.JPG


    (1)配置存储器(Configure Memory):FPGA可以看作配置存储器和受其控制的可配置逻辑资源两层的叠加。配置存储器是FPGA内部的一个大容量存储器,控制着可配置逻辑资源,如布线资源、可编程逻辑资源、数字时钟等逻辑功能。配置存储器的失效将造成FPGA功能的持久失效(直至重新配置成功)。
    (2)布线资源(Routing Resource):布线资源是FPGA内部逻辑功能单元互联的通道,它将用户设计的各个逻辑功能模块连在一起。
    (3)可编程I/O(Programmable I/O):FPGA的输入输出接口,通常情况下I/O脚可以设置成输入、输出、高阻态、双向I/O。
    (4)可编程逻辑单元(CLB:Configurable LogicBlock):可编程逻辑功能单元是FPGA的细胞,通过它可以完成各式各样的逻辑功能。
    (5)块存储器(Block Select-RAM)和乘法器(Multiplier)等:FPGA内部集成的硬件存储器和乘法器,用以实现快速的数字运算。
    (6)数字时钟管理模块(DCM:Digital ClockManager):FPGA内部的时钟管理单元。通过它可以对输入时钟进行倍频、分频处理,同时还可以减小时钟的抖动,提高时钟的驱动能力。
    目前FPGA的工艺水平从Virtex系列的220mm发展到Virtex II的150mm,一直到现在Virtex 4系列高密度FPGA的90nm,虽然抗总剂量效应能力在不断增强,但是随着器件的核电压的降低、门数的剧增,单粒子效应会越来越明显。因此FPGA上述组成部分,如配置存储器、CLB和块存储器的抗辐射可靠性设计越来越重要。


2 辐射效应及其影响
    空间电子设备由于其所处的轨道不同,受到的辐射影响也不相同,但是,总的来讲对Xilinx FPGA影响比较大的辐射效应主要有:总剂量效应(TID:Total IonizingDose)、单粒子翻转(SEU:Single Event Upset)、单粒子闩锁(SEL:Single Event Latch-up)、单粒子功能中断(SEFI:Single Event Functional Interrupt)、单粒子烧毁(SEB:Single Event Burnout)、单粒子瞬态脉冲(SET:Single Event Tran-sient)、位移损伤(Displacement Damage)等。上述辐射效应产生的机理不尽相同,引起FPGA的失效形式也不同。
    FPGA的配置存储器、DCM、CLB、块存储器对单粒子翻转比较敏感,可通过TMR(三倍冗余法)、Scrubbing等来解决。
    单粒子闭锁会导致FPGA电流增大,局部温度升高,有时甚至可以高达200℃上,如果FPGA长时间处于高温状态将导致器件的永久损坏。只有降低电源电压才能退出闩锁状态,因此在检测到单粒子闩锁之后最好的办法是断开器件的电源。
    FPGA中单粒子功能中断的敏感部分为配置存储器、上电复位电路(POR:power on reset)、
    Select-MAP接口和JATAG接口,分别可通过Monitor the DONE pin、Read and Write to FAR、Read-back and compare to known CRC和toggling PROG等措施解决,对所有SEFI,Xilinx提供IP监视和改正。
    单粒子瞬态脉冲能引起FPGA内部逻辑电路的短时错误,可通过TMR、Scrubbing等来解决。单粒子瞬态脉冲对于小于0.25 μm工艺的FPGA影响较大。
    上述辐射效应对FPGA造成的影响有的是永久性的,如总剂量效应、单粒子烧毁、位移损伤;有的是能够恢复的,如单粒子翻转、单粒子功能中断、单粒子瞬态脉冲。接下来根据对上述辐射影响的分析,研究提高FPGA抗辐射效应的可靠性设计方法。

3 FPGA抗辐射效应可靠性设计
    FPGA抗辐射效应可靠性设计可以从以下几方面进行考虑:FPGA整体设计加固考虑;散布内部间接检测辐射效应的自检模块;引入外部高可靠性的电子器件在空间中不可避免地会受到辐射效应监测模块等措施。
3.1 整体加固设计
    在电子设备的外面一般采用一定厚度的材料对辐射进行屏蔽,屏蔽可以减少设备所受的辐射效应。不同的材料对不同的粒子有着不同的屏蔽性能,经常采用的材料有铝、钽和脂类化合物等。整体屏蔽的办法在航天电子设备中使用较多,也比较成熟。
    结合我们实际,考虑整星及电控机箱的整体屏蔽效果,在轨高500km及四年工作寿命条件下,选器件耐辐射能力10~20krad(Si)以上。
3.2 冗余设计
    冗余设计方法是被公认为比较可靠的应对辐射效应的方法。常用的冗余设计有三倍冗余法(TMR:Triple Module Redundancy)和部分三倍冗余法(PTMR:PartialTriple Module Redundancy)。图2所示为Xilinx推荐的三倍冗余设计逻辑,这种逻辑充分的考虑了SEU、SET产生的
影响。虽然TMR带来了可靠性的提高,但是也会使模块的速度降低(有的甚至低到原来的80%)、占用资源和功率增加(约为3.2倍)。

b.JPG


    TMR:Throughput Logic
    简单复制(Three copies of the original design-Logic and I/O)
    TMR Tradeoffs(TMR折中方案)
    设计时可以根据实际情况对关键部分使用部分三倍冗余法。全部逻辑和敏感端口三模冗余有时需要权衡做出折衷,如下表。

d.JPG


    FPGA的可编程I/O也容易受到辐射粒子的影响产生SEU和SEL(目前只发现三态脚在发生错误时可以变成输出脚,还没有发现I/O发生方向转换(即输入变成输出或者输出变成输入)。输入输出脚的三倍冗余设计是一种非常有效的方法,尤其是对因为配置存储器发生单粒子效应的情况下,但是这种方法需要占用三倍的I/O资源,所以设计的时候需要慎重考虑。
    我们在FPGA内分多个区域,分别采用TMR设计,减小出错概率。
3.3 防止关键电路SET引起的抖动
    SET在时钟电路或者其他数据、控制线上容易产生短脉冲抖动,这种抖动有可能会造成电路的误触发或者数据锁存的错误。为了减少这种短脉冲抖动的影响,在设计时可采用如下方法:
    (1)内部复位电路尽可能使用同步复位;
    (2)控制线尽可能配合使能信号线使用;
    (3)组合逻辑数据在锁存时尽可能配合使能信号。
    也就是说,尽量在触发逻辑中配合另一个使能条件,这样就可以屏蔽由SET产生的大部分抖动。
3.4 系统监控与重配置(Configuration Scrubbing)
    在某些设计寿命不是很长的卫星中,COTS器件的应用已经成为可能,在类似的信号处理或者星务管理平台中,采用一种金字塔形体系结构可以大大提高平台的可靠性,有效地抵抗各种辐射效应引起的可恢复故障。
    Actel高可靠性的反熔丝FPGA负责从非易失大容量存储器中读取Xilinx FPGA的配置数据对其进行配置,然后在运行期间,对最容易受辐射效应影响的配置存储器按列进行读操作,然后与标准数据进行比对,对出现错误的列进行局部重配置。
    另外,也可以通过对回读数据进行CRC校验来检验配置存储器是否出现错误。
    对配置存储器的回读校验和重配置(或局部重配置)是一种有效的抵抗辐射效应的方法。

c.JPG


    Scrubbing通过部分重置刷新配置存储器,通过连续重置修复SEU,Scrub速度至少十倍于最坏的SEU速度。可以通过两条途径来实现Scru-bbing,第一条途径是回读、比较、修复(closed-loop scrubbing)),第二条途径是连续重置(open-loop scrubbing) 并不是所有的资源都可以被scrubbed的,比如SRL16s、LUT RAM、BRAM、BRAM data就不能被scrubbed,可以使用BRAM多模冗余或EDAC算法。
    也并不是所有的资源都需要被scrubbed,大部分routing bits不需要scrubbed。

4 结论
    文章结合实际工程实践给出了解决常见的FPGA辐射失效问题的一些方法;对FPGA在电源输入端使用限流电阻,信号处理板采用双机冷备份,对于单粒子翻转和锁定均具有相应对策,如发生单粒子翻转或锁定只对单机的部分功能有影响,都可以通过切机或重新加电消除影响。本文给出的有关大规模可配置电子器件的设计方法可以为航天电子设备的设计提供参考。

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了