图片

摩尔定律带来的不只是快,同样推动了芯片架构、应用和工具的质变。

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐