采用软件行业的"数据库"类似工作机制,不同类型的bit数据,分别存储在FPGA芯片内部的存储器/寄存器中,本文所指的故障注入测试,特指对直接配置芯片应用硬件电路的CRAM数据。
用户通过对"补丁"后的最终位流进行增减操作,就能像对AMD FPGA故障注入测试操作一样,实现跨芯片厂商的验证服务。
即在赛灵思的基础上,通过对位流数据进行增减,替补,用补丁打败补丁。

本文以第七代使用最多的28nm 工艺的7VX690T芯片、也是国产替代主力器件为例,如果用户已经拥有forgedaFX-690T故障测试软件,只需额外增加2个功能API和1个小程序,就可以对复旦微电的JFM 690T FPGA进行故障注入测试,快速验证用户应用设计/实物产品/IT系统产品质量。
无论是AMD的7VX690T FPGA,还是复旦微JFM7VX690T 、或者772所BQR7VX690T的国产对标芯片,对位流级别的故障注入测试软件来说,宇航级QR、军用级Q还是工业级芯片,位流数据(内部器件结构)是完全一样的。
以下内容摘自forgedaFX v2025.2软件《用户使用指南》的高级功能------proAPI进阶版。

1. FDB-API功能概览
forgedaFX 软件提供的FDB-API组件,是在主软件提供的原生故障注入数据库XDB (forgedaFX Fault Injection D ataB ase)基础上,快速构建与复旦微FPGA设计相适配的目标数据库文件------FDB (JF M Fault Injection D ataBase)。
可实现对国产FPGA(JFM 690T)芯片应用设计的故障注入测试。
该组件包含2个功能API,1个小程序,用途见下表:

与赛灵思同款FPGA芯片相比,复旦微Procise软件提供的IncreBitCfg Patch功能,直接作用在配置编程点上的只有"GT_CFG",即由"GTX/GTH增量配置文件",对位流进行补丁操作。
除了" GT-CFG ",其它 Patch 选项,仅影响配置命令的内容,不会影响配置编程点的内容。
不论是赛灵思FPGA芯片,还是复旦微的同款竞品芯片,GTX/GTH配置资源均位于器件左右两侧,如下图所示:

FDB-API 组件,能够精准定位受Patch 影响的GTX/GTH 配置编程点地址,进而对forgedaFX 软件提供的XDB 原生数据库文件,进行增补和替换,从而构建与国产FPGA 设计相适配的FDB 目标数据库文件,服务用户的故障注入测试工作。

2. 构建JFM FDB 故障注入数据库
getFDB 功能API 使用内置的genFMDB 数据分析引擎,读取输入的原生故障注入
数据库文件XDB,对受Patch 影响的GTX/GTH 资源进行定位分析,构建相应的
目标数据库文件FDB。
并且,同时输出编程点位置文件(.pin),用于风险地图显示。


即便是资源利用率非常高的复杂硬件设计,都可通过以下步骤,创建在复旦微FPGA 上,该设计对应的FDB 数据库文件(fm_record.txt)。


处理结束,输出如下信息:

待getFDB API 处理结束后,可直接查看FDB 数据库文件。
其中,以"IFFFFFFFF-FF"为前缀的配置编程点,即为受复旦微Patch 影响的编程点位置。

例如,输入的原生数据库(XDB)规模为66829957 Bits,获得的JFM FPGA 目标数据库(FDB)规模为68673431Bits,多出的1843474 Bits,即为受复旦微Patch 影响,额外增补需要"遍历/随机"测试的部分。
3. 获取编程点位置文件
编程点位置文件(.pin),即Programming Bits Position File,可直观显示目标设计在赛灵思/复旦微FPGA 中的风险地图。
对于海量编程点构成的风险地图,FDB-API 组件提供pinMatrix 功能API,用于精简编程点位置文件(.pin)的规模,加快风险地图载入速度。


对于GTX 样例,使用pinMatrix 功能API 压缩风险地图数据规模,步骤如下。
Step 1. 启动Vivado Tcl Shell,导航到FDB-API 组件所在目录
Step 2. 调用pinMatrix 功能API,获取编程点位置文件(.pin)

处理结束,生成风险地图显示所需的.pin 位置文件,输出如下信息。

4. 查看风险地图
使用FDB API 目录下pinPlot-View 小程序,选择编程点位置文件(.pin),查看风险地图,并显示Patch 所在的位置。

对于GTX 样例,在第2 部分(Page 7),使用pinMatrix API, 已获得Patch 前的原生XDB 编程点位置文件gtx-raw.pin。
选择该.pin 文件,风险地图显示如下:

作为比较,在第1 部分(Page 4),使用getFDB API, 已获得Patch 之后的FDB 编程点文件fm_pin.pin。
选择该.pin 文件,复旦JMF FPGA的风险地图显示如下:

在芯片左右两侧的橙色部分,为Patch 后的配置编程点位置。
下图是另一个在7VX690T 上实现的GTX 样例的布局布线图、风险地图。

在Patch 之后,对应的风险地图如下,右侧橙色条带部分,即为受补丁影响的配置编程点位置。
此外,风险地图在上半区显示结束,准备显示下半区时,由于Cache 数据更新,请耐心等待即可。

5. 对FDB 中的编程点进行故障注入
使用FDB-API 功能组件,获得FDB 数据库文件,由"IFFFFFFFF-FF"前缀,精准标记了受复旦微Patch 影响的编程点位置。

forgedaFX 软件自动构建XDB、FDB 数据库,同时支持对赛灵思和复旦微FPGA进行故障注入,如下图所示。

您可以在forgedaFX 软件的故障注入工作界面,直接从获得的FDB 数据库文件中,按需选择编程点地址,对运行在复旦微FPGA 上的应用设计进行"单点式"故障注入测试。
例如,对上图FDB 文件中的"#264775"编程点------即受Patch 影响的GTX/GTH配置帧中的风险点,启动故障注入测试,操作如下图所示。

对于构建在超大规模国产FPGA 上的复杂设计,将FDB 数据库与forgedaFX 软件提供的proAPI 高级功能组件配合使用,能够在容器环境------AMD Vivado Tcl Shell 中,对实物板卡进行完全自动化的"批量式"故障注入测试,超高效率。
具体步骤,可进一步查阅《proAPI 用户使用指南》。
复及科技全自主开发的系列位流级别EDA 软件,充分借鉴云计算领域先进的微服务模式,将复杂系统分而治之,只聚焦一个特定的业务功能和业务需求,在硬件加速一切的异构计算时代,为用户提供高效易用的全新解决方案。
正版,好用,不贵。
您在使用过程中如有需要任何帮助或建议,可发送至viewall@forgeda.com
全文完,感谢您的耐心阅读
