国产FPGA故障注入测试-用户使用指南

采用软件行业的"数据库"类似工作机制,不同类型的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

全文完,感谢您的耐心阅读

相关推荐
扮作大侠3 小时前
vitis板级支持包的.c文件位置
fpga开发
FPGA_小田老师3 小时前
FPGA例程(2):LED流水灯--vivado FPGA程序固化下载
fpga开发·fpga程序固化·flash烧写·mcs文件生成
Hqst_xiangxuajun3 小时前
万兆SFP光纤笼子交换机和PCIE网卡主板上起到什么作用
网络·fpga开发·oracle·sqlite·json·信息与通信
雨洛lhw3 小时前
vivado码流压缩
fpga开发·码流压缩
minglie13 小时前
Tang-Nano-1K移植vio_uart
fpga开发
国科安芯3 小时前
商业卫星载荷FPGA转RISC-V架构MCU方案经济性评估
单片机·嵌入式硬件·fpga开发·架构·安全威胁分析·risc-v
ehiway13 小时前
中科亿海微牵头构建国产化FPGA/EDA生态 以协同创新破解“卡脖子”难题
fpga开发
华舞灵瞳13 小时前
学习FPGA(六)锁相环
学习·fpga开发
FPGA小迷弟14 小时前
Modelsim仿真软件的,安装/破解/使用教程大全
fpga开发·fpga·modelsim·fpga仿真·rtl仿真