一文看透SEU软错误
拓展EDA硬件辅助验证的服务边界,使技术更具普惠价值。换而言之,除了那些专用于超大规模IC设计的特殊功能外,其它用于提升调试验效率的软件功能,同样可服务于日常的FPGA应用设计。

摩尔定律带来的不只是快,同样推动了芯片架构、应用和工具的质变。
FPGA也不例外。
自从上世纪80年代发明以来,除了性能增长之外,成本和能耗降低1000倍以上,容量增长了1万倍以上。
一直走在异构计算、硬件加速最前沿的EDA辅助验证市场,更为明显。
1988年的第一台现代硬件仿真工具(Emulation),使用赛灵思XC3060组装,单FPGA只有6000个逻辑单元(Logic Cell)。
到最新一代的旗舰芯片VP1902,单芯片容量高达18.9M个LCs,超过初代的3万倍。
除了仿真加速应用,如今已深入到国民经济的各个角落。也是国产化替代率先取得突破的细分赛道。
实际应用情况,要比技术扩展带来的简单的容量增长,复杂得多,也有趣得多。
在硬件加速一切的异构计算时代,也从长期的偏安一隅,正式走上前台。延续到现在的AI平民化,万物智能且互相连接的可编程世界。
从云到端,从地面到太空,各个行业,都在用芯片构造更加智能的二进制数字世界。
FPGA也将帮助人们把对未来生活的美好想象,加速成为现实。
01
避无可避的软错误
芯片是信息系统的基石。
所有的数字芯片,都会存在软错误或软失效。
虽然会导致硬件电路出现功能故障,但如果“重启”,系统将恢复正常运行。这种短暂的、瞬时的功能故障,通常称之为软错误。
对于ASIC芯片,主要是门级电路(Gates)、寄存器(DFF)中01数值的翻转,由单粒子效应引发的瞬态故障(SET)。
对于FPGA芯片,还需要额外关注直接配置硬件电路的存储器(CRAM)中01数据,受单粒子效应影响被动发生改变,可能引发的系统异常。
FIT Rate Swap: ASIC vs. FPGAs

Source:Soft Error Derating, or Architectural Vulnerability, Xilinx, 2011
作为价格亲民的ASIC,即便出现功能故障,理论上甚至都无需重启。只需保持在线刷新,就可让FPGA恢复正常运行。
可靠性不易被直接感知,可用性则是用户的真实体验。
发生故障后的平均修复时间,决定可用性。
1FIT等于每10亿小时系统失效1次。
常见的可靠性指标之间简单换算关系:
1FIT=1 failure per billion hours
1000 FIT~ 100 years MTBF
Device (raw) FIT = number of MB X FIT/Mb

在对可靠性要求最高的航天领域,赛灵思公司的第五代FPGA,即便只是军用级的Virtex-5QV,器件层面的可靠性指标,也非常可观。
相对最易发生翻转的配置存储器,在辐照试验环境下,用每个bit每天典型的翻转概率,换算成平均无故障时间,也将长达75天。
Radiation Tolerances

Source:Radiation-Hardened,Space-Grade Virtex-5QV Family Overview
但是FPGA的应用设计,众所周知,也是出了名的设计难度大。
不仅是赛灵思的芯片,现在想要成功和快速实现一个高可靠的应用设计,可能需要正确的组合。
在主打高性能的赛灵思,与高可靠立足江湖的Microsemi公司之外,许多中小规模FPGA的供应商,也在付诸行动。

Source:A Lattice Semiconductor White Paper,2024
按照赛灵思公司的观点,即便芯片的可靠性很差,但能够在短时间内修复,系统可能仍然达到预期设计目标;
反之,虽然可靠性很好,但如果每次发生故障,都修复需要技术人员现场支持,则系统可能永远无法实现其预定目标。
赛灵思的SEM IP,阿尔特拉的故障注入调试器,或者其它第三方公司的故障注入测试工具,均可胜任该任务。
用户得以在日常开发过程中,能够以数天或者数周时间进行迭代,不断优化设计。
有些软件领域敏捷开发的意思。
即便在非常特殊的空间领域应用,也已成为进入到物理故障注入前的最后确认测试环节,所需的准备工作。
否则有可能造成巨大的成本风险。
FPGA design process culminating in a single beam test comes with risks

Source:FPGA design process,Raytheon Technologies, 2020
直接上马“辐照试验”做确认测试,即便是长期施行的行业黄金法则,也不是风险全然无忧。
除了每次花费不菲外,一旦试验不及预期,将严重影响项目进度。
-
Large schedule and monetary cost to a failed beam test
-
Difficult to test with very low flux on beam
只有经过日常测试迭代的设计,才会事半功倍。

不只是航天领域,在其它任务关键、安全关键的应用场景,还包括额外的设计需求,比如三模冗余设计、软错误缓解策略在内的额外“加固”措施。
现在已成为FPGA在其它细分领域应用时,向包括航空设备、军工客户推荐使用的首选解决方案。
即便是最高等级的抗辐芯片QR系列宇航级芯片,也必须考虑软错误。

不再只是局限于航天领域的特殊需求。
对于地面通讯设备、汽车电子、工业控制,以及航空市场等重要且关键的应用市场,同样适用。
02
从关键止痛片到日常维生素
在日常的故障注入支持方面,赛灵思公司在一直走在行业前列。
技术研究的时间跨度,最早可以追溯到1998年。
第二大厂商阿尔特拉(Altera),更为直接,命名为故障注入调试器。
核心功能,就是为了得到关键位(Critical),或者称之为设计敏感因子,这也是准确计算系统可靠性指标的基础。

评估用户硬件电路设计的SEU敏感性,精准的故障注入就变得至关重要。
即便在非常特殊的空间应用,都会配置有专用刷新器。但设计阶段的非破坏、回归式故障注入测试流程,是完全无差别的。
解决方案也相当成熟,一直延续到现在支持最新的Versal架构。

如果说辐照试验就像是做大手术。
那么对配置电路存储器的故障注入测试时,可以像“桌面辐射源”一样使用。
前者每次都需要重新安排时间,排班轮候等待,可能长达数月时间。
与在医院“辐照环境”,对心脑血管做MRI/MRA成像,排查重大健康隐患的检测类似。
如果把芯片比作人体大脑的话,就算再有钱的大户,也不会有人为了身体健康,经常去做。
日常性的故障注入测试,更像常规"CT扫描", 便宜,快捷,可获得性也相对好。
在了解器件的可靠性基础上,预估设计的可用性,就变得非常重要。

为了验证SEM IP对配置存储器的故障注入功能,赛灵思公司特地给出了一个非常复杂的合成样例。
将400个8位处理器(Picoblaze)进行串联,组合而成。
实际部署在7k-325T的合成样例设计,占用“约90%”的片内资源。

理论上,SRAM FPGA内部所有的存储单元(RAM),都会发生SEU,尤其是直接决定硬件电路功能和结构的CRAM。
数据可见,设计生产力才能看得见。
主要涉及三个层次的数据“筛查”。

通常情况下,对CRAM进行故障注入,只有2%-5%的编程点,才会出现明显的功能错误,且能够被用户明显观察。
并且完全取决于用户自己的测试向量。
因为只有用户知道,在设计中,有哪些才可能影响功能安全是“关键位”。

以用于演示SEM IP故障注入功能的芯片为例,容量规模是326,080Logic Cells,其中,配置存储器CRAM的位流规模总数是72868672 bits。
这只是最“外层”的基础数据(Device Configuration Bits),芯片硬件内部的主要存储资源分布如图。
每个正方形单元格代表1Mb RAM资源。

Essentia Bits, 在应用开发设计中,用户并不会用到所有的存储单元,只有被真正使用的,才被标记为该数据。
在包含400个8位处理器(Picoblaze)进行串联、组合而成,非常复杂的合成样例,在布局布线图上,肉眼可见范围,“几乎”已经全部占用。
位流生成并载入到芯片,CRAM实际被真实占用“Used”的比例,也非常少。

即便在一些非常复杂的典型设计,按照赛灵思给出的统计数据,所占比例仅是20%-40%之间。
这也是有部分行业用户所说的“故障注入”做过,因为“不准确”,感觉没什么用。
对于这些用户的说法,也可以理解。毕竟故障注入的位置,极有可能都只是“空位”。
只是对与功能完全无关的“冗余点”进行测试,劳而无功,白费劲。
“虚假的”FI vs. 真实的FI

Source:Estimation flow uses design specific information to estimate susceptibility to SEUs [critical bits],Xilinx
真正决定硬件电路功能的核心数据,只有Critical Bits
工具毕竟只是工具,只是访问分析数据的通路和手段,只有用户通过工具,才可能真正准确定位这类数据。
工具的加成作用,让用户事半功倍。
非破坏、回归式的故障注入测试,可以在日常开发过程中,连续数天/数周不断迭代,对设计进行优化。
精准的日常故障注入测试,辐照试验等物理方法,两类测试结果所获数据,契合度非常高。

目前国产FPGA的容量规模,已经超过7K-325T,最先进也是最大的国产UV3P型FPGA,共有862K Logic Cells,是前者(36.2K LCs)的近24倍。
随着芯片容量规模变得更大,可能就需要使用故障注入工具,对设计进行测试验证。
以此提升设计的可用性,正成为应有之义。
去个菜市场,不用开坦克。
03
厂商卖家秀?可能还不够!
辐照试验等物理验证方法,是各个团队紧密协作的复杂大工程。
由系统工程师(Systems Engineering )、组件和辐照试验工程师(Components & Radiation Eng.)、应用开发工程师(FPGA Design)共同完成。
即便地主家不缺余粮,有钱。
那也得等西北核物理所、中科院空间中心抗辐照实验室等第三方专业机构的轮次“排班”。
如果自己拥有设备,配备有强大团队,一应俱全,重复几次,也难免再多花时间,多花钱。
从赛灵思既有的成功实践经验表明,想要真正评估单粒子效应对FPGA应用设计的影响,日常的故障注入测试,将是强大且不可缺少的必备手段。
发现设计的脆弱点,及时优化设计。
设计越复杂,越是需要。

以赛灵思十多年前的7系列FPGA为例,其内建的CRC回读校验机制,已经不间断的持续对SEU进行检测。
根据芯片容量规模和时钟运行频率,每次探测时间从4.6ms到54.1ms不等。

其中,成本优化型芯片,XC7A200T的每次扫描的最长时间为18.3ms;
主打性价比,也是爆款的XC7V325T,则是23.5ms;
发生故障和报告错误之间的最长时间是40ms,最少时间为0ms,平均时间是20ms。
7系列内置的纠错功能,自动纠正所有单比特翻转事件,这也是最常见的类型。

每一帧(101×32 = 3232位)都有一个纠错码(ECC)——当包含错误的帧被扫描时检测错误。
平均检测时间减少50%。
从确定帧内单个比特错误的位置到纠错校正的时间少于1ms。
尽管卖家秀足够完美,但只有真正做过故障注入测试,才可能发现潜在的设计脆弱点。
包括但不仅限于,准确评估应用设计的SEU敏感性。

按照赛灵思对非破坏性测试工具的定位,就像用户放在自己办公桌上的“辐射源”一样,随手可用。
对于大多数行业用户来说,这种非破坏性的故障注入测试,将成为提升设计生产力,日常必备工具。
同样是赛灵思给出的故障注入测试建议。
除了空间领域的特殊应用场景,500次的随机测试,可能就足够了。

用SEM IP做500次随机故障注入,已经相当于飞行器在40000英尺高空,连续工作18年,可能遇到的最坏情况。
毕竟大多数SEU现象,不会真正影响硬件电路功能。
SEM IP对配置帧的故障注入结果

但是,这个只能算卖家秀。
对于很多终端用户来说,可能还还“远远不够”。
国内的雷科防务,曾经花费85万元,以项目公开招标方式,对FPGA应用设计的可靠性进行评估。
西安一飞院,与北京圣涛平试验工程公司合作项目,对赛灵思更早的第四代FPGA,进行可靠性测试。
2017年时,民航适航认证中心,对赛灵思第五代的XC5V FX130T的类似测试验证需求,公开招标价是125万元。
最近的2022年9月,近500万元的公开招标,是中电科南京14所的“FPGA故障注入测试平台”。
在完全免费(SEM IP),与成本昂贵的项目合作之间,长期存在一个有真实需求,蕴含着巨大潜力的市场商机。
市场上的产品和服务供给,明显不足。
不管是面向可靠性需求的硬件故障注入,还是日常的硬件调试,位流级别的专用EDA工具,具有高效、便捷的特点。
在做出决策之前,帮助您更好地了解FPGA内部存储器(CRAM)和寄存器(DFF)数据,不只是提升设计效率。
K7-325T FPGA的RAM资源概览

数据可见,设计生产力才能看得见。
从原先的追求极致性能,到兼顾安全和可靠性,进而提升可用性。
芯片本身适用于高可靠性应用-> 安全关键设计流程 -> 快速使用的自动化软件
以最为擅长的仿真加速应用为例,国内外航天领域,除了像行业旗舰XRTC这样的大杀器以外,欧洲也有著名的服务商。
如欧空局现在推荐使用的FT-UNSHADES2,提供两类服务模式。
面向ASIC设计的故障注入(DFF),以及面向FPGA应用设计故障注入(CRAM)。
国内中科院空间中心,提供的抗辐射高可靠器件电路分析与设计服务,与之类似。

无论是ASIC模式,还是FPGA模式,两者之间最大的区别,只是位流数据的类型不同,数据规模的大小有差异。
对于用户,都可以最大化利用EDA工具算力,降低人工经验成本。
与EDA巨头西门子,面向高安全、高可靠客户提供的IC设计服务,不谋而合。
04
拓展EDA硬件辅助验证的服务边界
数据可见,设计生产力才能看得见。
调试是自动化最后的堡垒,数据是调试的生命线。
无论是数字经济时代,软件为王,驾驭超大规模硬件的自动化编程接口API(Automatic Programming Interface)。
还是AI平民化,数智经济时代无处不在的AI(Artifical Intelligence)。
本质上都是最大程度的自动化处理能力。
从赛灵思创立之初的FPGA,服务主要面向教育和仿真市场。到十年前的异构计算时代,再到现在的AI平民化,FPGA一直置身其中,深度参与。
但非常难以使用。
FPGA工程师的漫长进阶之旅

Source:Capapult Project,Microsoft,2011
学习壁垒高,技术实现难度大,熟练掌握的时间跨度大。
这也体现在FPGA工程师,越老越值钱的原因。都是大量项目经验、长期学习积累,“炼化”而成的火眼金睛。
人工经验不可复制,难以推广使用。
从这个意义上,FPGA工程师也将是通用AI短时间内,甚至更长时间内都无法取代的群体,可保长期工作无忧。
FPGA工程师一人成团所需的全栈技能树

Source:什么是FPGA工程师的核心竞争力,老石谈芯,2019
代表FPGA最先进调试验证技术的EDA硬件辅助验证,从原先服务需要流片的ASIC设计,长期与应用市场“隔离”。
基于成本等原因,始终与工程师距离遥远。
时至今日,随着FPGA应用设计更趋复杂,系统验证所需的工程量急剧加大,一些富有远见的行业领先用户,也在引入IC物理原型验证系统。
服务日常的设计开发,如欧洲巨头空客(Airbus)。
在EDA硬件辅助验证市场,作为8年前的行业旗舰产品,可能硬件容量稍显“落伍”,但在FPGA应用市场,还非常富裕。
如西门子的IC物理原型验证系统,上两代的proFPGA。

空客公司用于调试验证的数据处理系统(DHS),由23块抗辐FPGA,20块抗辐ASIC,一共43块芯片的异构计算系统,非常复杂。
使用一款赛灵思的大容量FPGA,以UV440作为验证平台,就可提供调试验证服务所需的全部硬件资源。
也就无需设计分割、时分复用等验证超大规模IC设计所需的专有技术。
还可保持性能最优,速度最快。
将原本90个小时仿真任务,90分钟完成,效率提升60倍。
在美国,也有雷神技术公司,也开发有自己的故障注入工具,服务日常的应用开发。
与辐照试验配套使用时,更是降本增效利器。
是对复杂设计进行故障注入测试的不二法宝。
Fault injection can replace the beam test or mitigate risk of a failed beam test

不只是应用在严苛的航天领域。
创新的EDA硬件辅助验证服务,用工具主动适配用户的需要,而不再是用户去迁就工具,用户为主,工具为辅。
比如对三模冗余设计进行验证时,位流级别的故障注入工具,能够让用户轻松的观测到各个模块、表决器的具体行为。
不再受限于仅仅在源码和网表级工具,如新思科技Synplify Premier,只能进行“慢速”数字仿真。
无论是部分三模、分布式三模,还是模块级三模设计,都能快速适用。
测试场景驱动的故障注入(DFF数据)

Source:FPGA的下一代智能调试验证软件forgedaX,复及科技,2023
用EDA工具告别芯片底层技术实现的细节.
抽象出市场上一流产品的整体复杂性,将大系统分而治之,只聚焦一个特点的功能和具体需求。
化繁为简,既可独立工作,也能无缝集成到测试环境使用。
测试用例驱动的故障注入(CRAM数据)

Source:forgedaFX用户使用指南,复及科技,2024
拓展EDA硬件辅助验证的服务边界,使技术更具普惠价值。
换而言之,除了那些专用于超大规模IC设计的特殊功能外,其它用于提升调试验效率的软件功能,同样可服务于日常的FPGA应用设计。
从应用需求出发,快速拓展现有EDA硬件辅助验证的服务边界,把高端专用技术普及化,可惠及快速增长的全球FPGA应用市场。
将拥有技术和市场的双重祝福。
全文完,感谢您的耐心阅读。

参考资料
【1】空间抗辐射实操手册,韩建伟等,中科院空间中心
【2】A Practical Look at SEU, Effects and Mitigation,Ken Chapman, Xilinx
【3】Soft Error Derating, or Architectural Vulnerability, Austin Lesea, Xilinx
【4】High Reliability & Functional Safety for FPGAs with Synplify & Radiant, Phil Simpson, Lattice Semiconductor ;Khalid Khan, Synopsys
【5】Radiation-Tolerant FPGAs Space Solutions Aerospace and Defense,Microchip
【6】SEU Emulation Environment, Paul Schumacher,Xilinx
【7】Verification Strategy of Multi-FPGA Systems, Isabel Hidalgo, Airbus Crisa
【8】FPGA development in Airbus products,Jean-Luc Poupat, Airbus Defence & Space
【9】Using Fault Injection for Characterization of SEU Mitigated FPGA Designs, Patrick Fleming and Bill Rowe, Raytheon
【10】XQR Space-Grade Kintex™ UltraScale™ and Space Heritage,Product Brief, AMD
更多推荐




所有评论(0)