国产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

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

相关推荐
仲南音2 天前
Xilinx FPGA——时钟IP核MMCM、PLL
fpga开发
I'm a winner3 天前
基于Xilinx FPGA的LVDS高速串行通信系统(三)--数据训练及握手机制【文末源码】
fpga开发
upper20203 天前
coremark移植坑之-nostartfiles -nostdlib参数
学习·fpga开发·coremark移植·riscv设计
Eloudy3 天前
Vivado 纯命令行构建 FPGA 项目教程
fpga开发
Rambo.xia3 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
upper20203 天前
FPGA部署卷积神经网络识别MINST图片
fpga开发·卷积神经网络·minst·minst识别·部署神经网络·神经网络识别图片
你是我的解忧王子4 天前
嵌入式 ADC采样 原始数据分析上层(平均值 波动率 正态分布 线性补偿 系统误差)
fpga开发·数据挖掘·数据分析
9527华安4 天前
FPGA纯verilog代码ISP图像处理培训教程,基于IMX214,提供工程源码+视频教程+FPGA开发板
图像处理·fpga开发·isp·imx214·mipi
千寻xun5 天前
二、实战篇-NVME SSD控制之ZYNQ实现(六)-读写NVME SSD硬盘数据
fpga开发·nvme·nvme ssd
千寻xun5 天前
二、实战篇-NVME SSD控制之ZYNQ实现(三)
fpga开发·nvme ssd·nvme协议