首页 > 技术 > 内容

SRAM型FPGA的抗辐照加固设计

时间:2025-11-30  作者:Diven  阅读:0

让一颗SRAMFPGA在太空长期稳定运行的难度,就类似练成独孤九剑的难度。

SRAMFPGA的抗辐照加固设计包括芯片工艺、Die加固和芯片应用层面加固。本文主要讨论芯片应用层面的加固方法,包括外置刷新和FPGA内部软件抗辐加固。

今日登坛做法,贫道首先从FPGA资源角度来介绍不同资源对应的解决办法,更清楚的表明外置刷新和三模冗余是解决SEE的有效办法。然后从解决办法到解决措施,讲具体是如何去实现刷新和三模冗余。最后是介绍如何验证刷新是否有效,如何验证三模冗余是否有效。

图1 SRAM型FPGA的抗辐照加固设计

01

SRAM型FPGA的资源及其发生SEU故障分类

如表1所示,SRAM型FPGA资源包括配置SRAM,内部的块RAM(BRAM),触发器CLB DFF,全局时钟网络,DSP和高速串行接口GT。每种资源都有其特点和对应SEU解决办法。

表1 SRAM型FPGA的资源及其发生SEU概率说明

1.1 配置SRAM(CRAM)

CRAM的特点占芯片面积达到30%,发生SEU的概率很大。由于CRAM里面含有很多无效位,因此CRAM发生SEU可能不会导致FPGA功能异常。但是随着时间的累积,越来越多的CRAM发生SEU,那么FPGA功能一定会错。这种累积错误可以通过刷新Scrub来解决。

有两点值得注意,第一个是累积错误是在刷新周期的下一个周期解决,在用户时钟周期内该累积错误可能被时序电路捕获,提升刷新频率有助于缓解该问题。第二个是即使累积错误是在刷新周期的下一个周期解决,累积错误带来的时序逻辑错误也可能没有办法恢复。

因此仅仅使用刷新的方法是不能解决CRAM的SEU所带来的功能异常问题,推荐刷新+三模冗余的方法来提升FPGA可靠性。

图2 CRAM SEU带来的时序逻辑错误

DRP CRAM指的是用户可以使用的CRAM资源,包括分布式RAM、移位寄存器SRL、MMCM/DCM/PLL DRP参数、高速串行接口Serdes DRP 参数等。DRP CRAM一般不能被刷新,因为一旦刷新就会恢复成初始值,影响用户功能。但是如果DRP CRAM的值是固定不变的,那么则可以通过刷新来进行加固。

1.2 BlockRAM

FPGA内部含有大量的BlockRAM资源,占芯片面积也比较大,而且无法刷新。如果BRAM发生了SEU那该怎么办呢?

如果BRAM用作SRAM缓存或者FIFO缓存且允许出错的情况下,那么BRAM可以不做加固,不允许出错或者可靠性有要求的情况下,BRAM也可以进行加固。如果BRAM用作储存ROM程序,那么BRAM就必须进行加固。

BRAM错误屏蔽加固的方法包括ECC和TMR,这两种方法无法修复错误本身。ECC基于SECEDC纠一检二码只能纠正SBU错误,无法纠正错误累积导致的MBU。TMR无法解决错误累积导致的TMR两份以上同一地址同一位同时失效的问题。

BRAM错误修复加固的方法包括ECC回写和TMR回写,可以部分或者完全纠正错误数据并回写正确数据。ECC回写基于Read-Modify-Write机制可纠正SBU数据并回写正确数据。TMR回写基于确定性方式扫描RAM存储空间,可纠正并修复SBU/MBU数据错误,避免数据错误累积,可靠性最高。

图3 系列FPGA BRAM不同加固方案翻转数据比较

1.3 CLB DFF

触发器的有效加固方法是三模冗余,根据可靠性高低,细分为“3Reg+3Voter”,“3Reg+1Voter”和“3Reg”三种。

流水寄出器如果允许短暂出错,那么可以不做加固,需要增强可靠性可以选择“3Reg+1Voter”或“3Reg”。

图4 TMR-“3Reg”

图5 TMR“3Reg+1Voter”

Feedback Loop Register特别是状态机,可靠性要求很高,推荐采用“3Reg+3Voter”。

图6 “3Reg+3Voter”

防止TMR中两路Reg同时翻转,还可以采用物理隔离的方法,简单有效的方法一是时钟网络做三模,那么两路Reg由于时钟网络不一样,会被放在不同的SlICe中去。方法二是使用Area Group约束,UCF中的写法如下:

图7 Area Group约束解决MBU问题

1.4 高速串行接口SerDes

Serdes的加固方案比较复杂,篇幅有限,主要说明一下Serdes里面的参数该如何加固。Serdes里面的参数特别多,而且很多都是可动态配置的,属于DRP CRAM。

当发现Serdes功能异常的时候,设计师可以通过用户逻辑对DRP CRAM进行重配置,然后对Serdes进行复位操作来恢复功能。

02

SRAM型FPGA SEU解决措施

2.1 外置刷新芯片方案

图8 外置刷新方案

刷新分为外部刷新和内部刷新,关于两者比较细节,将在后续的文章中进行描述。今天主要介绍外部刷新方案,通常用外置专用刷新芯片或者反熔丝FPGA来实现外部刷新。

专用刷新芯片必须是抗辐照的,优点是刷新和重构功能已实现、设计简单。反熔丝FPGA的优点是可以实现用户自定义的功能。反熔丝FPGA的缺点设计复杂度高,PCB面积大,而且一次烧写增加了设计风险。

值得一提的是听说最近国内出了一款专用刷新芯片,功能比较强大,支持各种系列的FPGA,支持大容量存储器,支持1553B、CAN等多种重构接口,而且还能实现用户自定义的功能,可以说是业界佼佼者。

2.2 FPGA软件抗辐照加固设计方案

抗辐照加固软件设计的主要功能是实现三模冗余,实现过程可分为代码层面和网表层面。下面就两个不同的层面进行设计的优缺点进行说明。

代码层面大体有两种具体的做法:

第是设计师把关键的模块代码复制三份+表决器,这种方法的优点就是简单和灵活。缺点是模块越多设计效率越低,模块越大可靠性越低以及TMR代码存在被工具优化的可能。

第二种做法是借助第三方的EDA工具,可以解决可靠性低和代码被优化的问题,能提高设计效率,但是由于面向的是代码层面,对IP的加固没有办法实现,支持的应用场景受限。第三方的EDA工具更合适的定位应该是辅助,帮助设计师完成最终的设计,不能完全交给其来实现。

网表层面加固借助专用的高可靠设计软件,这种方法的优点是能够面向所有的应用场景。由于网表层面能够进行细粒度的三模冗余,而且加固后不会被优化掉,因此可靠性最高。高可靠设计软件的EDA效率、部分三模冗余的支持能力与主流的FPGA EDA软件的兼容程度,大体这三个方面会决定整个设计流程可实现性、效率和用户体验度。高可靠设计软件做的好的话,那整个加固设计可以完全交由其来实现,工程师会觉得福利满满。

图9 网表层面实现加固设计

03

SRAM型FPGA SEU解决措施效果验证

3.1 刷新有效性验证

3.1.1)Verify操作:

通过JTAG执行Verify操作可以知道FPGA里面的位流和Golden位流是否一样,是很常见的验证手段。要执行Verify操作,首先在生成位流的时候,得在settings里面勾选-mask_file。

图10 mask文件生成方法

选中devICe右键verify_device,执行完在Tcl_console看日志。

图11 执行verify device操作

图12 verify验证位流正常

图13 verify验证位流错误

完整的验证刷新有效的过程,首先执行一次verify操作确认加载是成功的。然后通过故障注入工具注入错误,执行第二次verify操作可以看到verify结果报错。接着执行完刷新操作,第三次执行verify操作可以看到verify结果正确。

3.2 三模有效性验证

3.2.1)网表级功能仿真

三模后的网表功能仿真结果应该和三模前的网表仿真结果一样。如果结果不一样,结合仿真也可以找到出问题的地方,迭代三模设计。

高可靠设计软件会在软件层面做大量的案例测试,保证形式验证结果一样,功能仿真结果肯定也一样。

在Vivado中执行仿真的方法如下:

首先open the synthesized design,然后再tcl console中输入:

3.2.2)网表ECO功能验证

Vivado IDE ECO:

图14 Vivado ECO流程

Vivado软件的ECO功能很强大,不再一一描述了。验证三模功能是否有效,可以简单修改TR0电路里面LUT里面的值,这样行为和TR1/TR2不一样,但是通过多数表决器Voter,输出结果还是正确的。

ISE: FPGA_EDITOR

修改网表编辑模式为Read Write;

通过IO观测内部信号;

通过ncd2xdl和xdl2ncd命令修改ILA观测内部信号;

快速生成bit文件,验证功能。

图12 FPGA editor的使用

战术

抬眼望去,对面零星的几盏烛火也熄灭了,又是连肝几个晚上,给各位兄弟姐妹分享了SRAM型FPGA加固的措施,目前从实际效果上来看,外置刷新和三模冗余仍是目前解决SRAM型FPGA SEU的有效办法。
审核编辑:刘清

猜您喜欢


快速识别贴片电阻大小,不再需要复杂的测量工具!只需掌握以下几个技巧,就能轻松搞定:1. 看数字编码: 大部分贴片电阻上都印有3位或4位数字编码。例如,「102」...
2024-11-26 11:29:17
钻头套装是工具箱中不可少的利器,应用于家庭装修、家具制作及工业加工等多个领域。主要作用在于帮助用户进行各种钻孔作业,满足不同材料的需求。钻头的种类繁多,包括木钻...
2020-12-08 00:00:00
电流检测电阻作为关键元件,应用于电源管理、电机控制、消费电子等领域。冠佐(SUSCON)作为国内知名的电子元器件品牌,其电流检测电阻系列因高精度、高可靠性和多样...
2022-07-29 17:26:22
熔断器作为重要的保护元件,起到了防止过载和短路的关键作用。赛尔特(SELT)作为知名的熔断器制造品牌,其旗下的SETSafe系列熔断器因高性能和可靠性受到青睐。...
2023-12-11 00:40:30
浪涌保护器和防雷器是保障电气设备安全的重要装置,分类主要可以分为以下几种。根据工作原理,浪涌保护器可分为压敏电阻型、气体放电管型和二极管型等。压敏电阻型通过改变...
2024-04-06 00:00:00
0201贴片电阻,以其极小的尺寸和优异的性能,广泛应用于各种电子产品中。这份规格表将为您详细介绍0201贴片电阻的关键参数,帮助您更好地理解和选择合适的电阻。0...
2025-04-14 15:03:28
十字盘头带垫机螺钉因其独特的设计和优越的性能,应用于各类机械设备和日常用品中。十字盘头设计使得螺钉在安装和拆卸时更加方便,能够有效减少滑丝的风险,提升工作效率。...
2008-02-18 00:00:00
光敏电阻,又称光电导体,是对光线变化敏感的电阻元件。的电阻值会入射光强度的变化而发生显著变化,因此应用于光电探测器、自动亮度调节、光控开关等领域。本文将深入探讨...
2025-04-16 22:00:38
贴片电阻,作为电子电路中不可或缺的元件,其封装尺寸和功率选择至关重要。封装尺寸直接影响电路板空间布局,而功率则决定了电阻能够承受的最大电流和电压。常见的贴片电阻...
2024-11-26 11:29:26
1206贴片电阻的耐压值并非固定不变,它与电阻的功率有关。通常情况下,1206封装的贴片电阻功率为1/4瓦(0.25W),其对应的耐压值为200V。然而,市面上...
2024-11-26 11:30:01