CN107092539B - 一种基于配置码流的fpga故障注入复合模型 - Google Patents
一种基于配置码流的fpga故障注入复合模型 Download PDFInfo
- Publication number
- CN107092539B CN107092539B CN201710103760.9A CN201710103760A CN107092539B CN 107092539 B CN107092539 B CN 107092539B CN 201710103760 A CN201710103760 A CN 201710103760A CN 107092539 B CN107092539 B CN 107092539B
- Authority
- CN
- China
- Prior art keywords
- model
- configuration
- fault injection
- bit
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Logic Circuits (AREA)
Abstract
一种基于配置码流的FPGA故障注入复合模型,包括空间遍历模型、环境重建模型、定点精确模型、资源导向模型和多位翻转模型,各模型针对不同的研究目的和不同的电路设计,在FPGA的配置码流层面上获取相应目标配置位的地址信息,并据此对FPGA电路执行单粒子翻转故障注入。本发明的复合模型可以从整体、从局部、从不同研究目的、从不同电路类型多个角度评估FPGA电路对单粒子翻转效应的敏感度,克服了现有故障注入模型应用范围和应用情境的单一性,同时有针对性的对部分配置位而不总是对全部配置位进行单粒子翻转故障注入,大大提高了执行效率。
Description
技术领域
本发明涉及FPGA单粒子翻转故障注入,特别是一种基于配置码流的FPGA故障注入复合模型,属于FPGA可靠性测试领域。
背景技术
空间应用的FPGA电路易受辐射环境中单粒子翻转效应影响,导致SRAM存储单元的数据损坏,电路功能由此改变。单粒子翻转效应由空间中的高能带电粒子撞击FPGA的SRAM单元产生,机理较为复杂,而表征在配置码流上,仅表现为配置位逻辑状态的翻转。由于带电粒子入射位置、粒子能量、器件工艺、电路设计的差异,单粒子翻转效应通常有配置位的一位翻转和多位翻转两种形式,目前随着工艺进步,器件敏感性增大,多位翻转发生的概率越来越高。
在地面上进行单粒子翻转故障注入是评估FPGA可靠性的有效手段。利用重离子源或质子源对FPGA做辐照实验对空间辐射环境的还原度高、数据可靠,但成本高昂、可控性差,因此,通常采用另一种方法,即建立一个基于FPGA配置码流、借助动态可重构特性来人为翻转配置位的故障注入系统。现有的基于配置码流的单粒子翻转故障注入系统常采用对全部配置空间逐位翻转的模型,能够得到较为全面的敏感位的分布信息,实现对器件整体单粒子敏感程度的评估。但也存在下列问题:
(1)由于器件规模不断扩大,逐位翻转效率低的缺点逐渐暴露出来;
(2)逐位翻转获得无差别的码流故障位的信息,对SEU敏感度的评估作用不大,随着FPGA片上资源更加多样化,对可靠性的要求更高,需要通过多种故障翻转方式研究FPGA单粒子翻转效应,从而为SEU敏感度评估提供更详细的数据;
(3)器件特征尺寸缩小,敏感性增大,导致多位翻转存在的可能性不容忽视,现有的故障注入模型不能一次实现多位翻转;
(4)单一的故障注入模型不适用于当前多研究目的、多类型电路设计的FPGA单粒子翻转效应敏感度的研究。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于配置码流的FPGA故障注入复合模型,具备多种故障翻转方式,工作效率高,可以从整体、从局部、从不同研究目的、从不同电路类型多个角度评估FPGA电路对单粒子翻转效应的敏感度,克服了现有模型应用范围和应用情境的单一性。
本发明的技术解决方案是:一种基于配置码流的FPGA故障注入复合模型,包括空间遍历模型、环境重建模型、定点精确模型、资源导向模型和多位翻转模型;
空间遍历模型:对用户选定空间内的全部配置位进行逐位翻转,所述用户选定空间为目标FPGA器件的整个配置存储空间或使用区域布局约束之后确定的目标电路模块占用的部分配置存储空间;
环境重建模型:生成伪随机数,作为配置存储器中的地址,将该地址对应的配置位进行随机翻转;
定点精确模型:对用户感兴趣的电路结构对应的配置位进行翻转;
资源导向模型:选择一种或几种类型的数据帧进行所有配置位的翻转,所述数据帧为与可编程资源关联的配置数据帧;
多位翻转模型:对物理相邻的n个配置位同时进行翻转,n为大于1的自然数。
通过配置位在配置存储器中的帧地址和位偏移来寻址配置位。
所述环境重建模型采用线性反馈移位寄存器的方式生成伪随机数,作为配置存储器中的地址,具体方法如下:
(3.1)设置伪随机数的位宽;
(3.2)选定一个生成多项式;
(3.3)当线性反馈移位寄存器开始循环时,每个时钟周期生成一个伪随机数,将该伪随机数转换成帧地址和位偏移的数据组合格式,据此得到配置位的地址。
所述定点精确模型的实现方法为:
(4.1)分析电路设计的XDL文件,获取用户感兴趣的电路结构占据的可编程资源在器件物理结构上的位置坐标;
(4.2)解析配置码流文件,找到步骤(4.1)获得的位置坐标与配置码流在配置存储器中地址的映射关系,获取该位置坐标对应的配置位,对其进行翻转。
所述资源导向模型的实现方法为:
(5.1)资源导向模型将可编程资源的每一列资源以配置数据帧为基本单位细分,分成布线访问帧、接口访问帧、功能访问帧三种类型;
(5.2)针对每一列资源,选择一种或几种类型的数据帧进行所有配置位的翻转。
本发明与现有技术相比的有益效果是:
(1)空间遍历模型对于大规模的电路设计,可以遍历部分配置存储空间,对于小规模的电路设计,可以遍历整个配置存储空间,使用方式灵活,评估的是区域的整体单粒子敏感程度。
(2)环境重建模型在一定程度上还原真实空间辐射环境,随机式翻转可用于产品的抽样检测,测试产品抗单粒子翻转效应的能力。
(3)定点精确模型对特定位置的若干配置位进行单粒子翻转故障注入,满足了用户的特殊研究目的,使研究更加深入,提高了故障注入的针对性。
(4)资源导向模型对可编程资源按照特定的规则进行划分,在此基础上的故障注入可以单独获取不同类型配置数据帧的单粒子翻转效应敏感度,是一种局部的单粒子敏感度,同样提高了故障注入的针对性。
(5)多位翻转模型采用n比特掩膜,能够一次实现多位翻转,扩大了单粒子翻转故障注入的研究范围,提高了研究的广度。
(6)故障注入系统可以选择本发明复合模型中的一个或多个进行故障注入,选中复合模型中的任何模型,都是根据需求对配置码流的选择性故障注入,与传统对目标不加以区分的大面积的故障注入相比,显著提高了系统工作的效率。同时选择几个模型,可以实现多种故障翻转方式,为SEU敏感度评估提供更详细的数据。
附图说明
图1是本发明基于码流的FPGA故障注入复合模型示意图;
图2是应用本发明复合模型的单粒子翻转故障注入系统的工作流程示意图。
具体实施方式
如图1所示,本发明提出的一种基于配置码流的FPGA故障注入复合模型包括空间遍历模型1、环境重建模型2、定点精确模型3、资源导向模型4和多位翻转模型5。各模型的功能如下:
(1)空间遍历模型:根据用户需求和电路规模,可选择整个配置存储空间1或部分配置存储空间7(用户选定空间)作为单粒子翻转故障注入的目标,一旦空间大小确定,空间中可访问的配置位被逐位翻转;全部空间的配置位的帧地址和位偏移一般从0开始,帧地址初始为00000000(十六进制),位偏移初始为0,遍历范围与器件型号有关;部分空间的配置位的起始地址是由用户指定的。
(2)空间辐射环境的不确定性使得FPGA单粒子翻转效应的发生是不可预测和不可再现的,环境重建模型采用基于线性反馈移位寄存器的伪随机数生成方法生成目标配置位的地址,将该地址对应的配置位进行随机翻转,以此来还原辐射环境的不确定性。
环境重建模型生成目标配置位地址的方法如下:
首先设置伪随机数的位宽,再选定一个生成多项式,当移位寄存器开始循环时,每个时钟周期生成一个伪随机数,将该伪随机数转换成帧地址和位偏移的数据组合格式,据此得到目标配置位的地址。
(3)定点精确模型:首先分析电路设计的XDL文件,该文件指明电路设计中典型电路结构与可编程资源的映射关系,用户选取少量的、感兴趣的电路结构作为故障注入的目标,可直接获取该电路结构占据的可编程资源在器件物理结构上的位置坐标;再解析配置码流文件,找到可编程资源的物理位置与配置码流在配置存储空间中的地址的映射关系,获取确定位置的可编程资源对应的配置位,因此该配置位是用户指定的有确切含义的配置位,对该配置位进行翻转。
(4)资源导向模型:FPGA的可编程片上资源有IOB、CLB、BRAM、DSP、GTP等,在器件物理结构的每一行内部,以上资源以列为单位排列,而在每列资源内部,以配置数据帧为基本单位还可以继续细分为布线访问帧、接口访问帧、功能访问帧三种类型,以IOB列和CLB列为例,IOB列分成布线访问帧10、接口访问帧11、IOB功能访问帧12,CLB列分成布线访问帧13、接口访问帧15、功能访问帧(包括Slice_L访问帧14和Slice_M访问帧16)。用户选择其中一种或几种数据帧,进行所有配置位的翻转。
(5)考虑单粒子翻转效应会造成FPGA配置位一位翻转与多位翻转两种情境,而且当前主流器件由于工艺因素发生多位翻转的概率上升,提供多位翻转模型以模拟FPGA多位翻转故障。从物理结构上看,多位翻转模型是相邻的SRAM存储单元被同时打翻产生的,本发明多位翻转模型是对物理相邻的n个配置位进行翻转,n为大于1的自然数。如五位翻转模型采用5比特掩膜,将物理相邻的5个存储单元的多位翻转掩膜映射到配置数据帧8和与其左右相邻的两帧上,得到帧地址和位偏移组成的地址元素为(fa,bo)、(fa,bo-1)、(fa,bo+1)、(fa-1,bo)、(fa+1,bo)的5个配置位,获取对应的5比特配置位作为故障注入的对象,同时进行翻转。
将本发明的故障注入复合模型应用到故障注入系统中,故障注入系统可以根据需要选择其中的一个或多个模型,通过人为翻转所选模型确定的配置位的逻辑状态实现对单粒子翻转效应的模拟。图2所示是基于本发明的故障注入复合模型,FPGA单粒子翻转故障注入系统执行故障注入的流程,具体解释如下:
A1初始化故障注入系统:设置器件参数、电路参数和系统参数;
A2选择故障注入模型:根据需求从故障注入复合模型中选择适合的故障注入模型,实现对配置码流区域上的限定或特定电路结构的映射或特定可编程资源的映射;
A3生成每个故障注入模型目标配置位的集合:对选中的码流按照(帧地址,位偏移)的数据格式组合,整理得到每个故障注入模型对应的目标配置位地址信息的集合;
A4执行单粒子翻转故障注入:
对于空间遍历模型、环境重建模型、定点精确模型和资源导向模型,每次读取集合中的一个地址进行故障注入(翻转);对于多位翻转模型,集合中的地址以n个配置位的地址为一个单位,每次对这n个配置位进行同时翻转;单次执行完毕之后首先保存得到的电路运行数据,然后对当前翻转的配置位进行修复之后再执行下一次的故障注入;
A5对全部目标配置位的故障注入执行完毕之后,整理得到反映电路单粒子敏感度的运行数据,结束流程。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (5)
1.应用基于配置码流的FPGA故障注入复合模型的故障注入系统,其特征在于:所述基于配置码流的FPGA故障注入复合模型包括空间遍历模型、环境重建模型、定点精确模型、资源导向模型和多位翻转模型;
空间遍历模型:对用户选定空间内的全部配置位进行逐位翻转,所述用户选定空间为目标FPGA器件的整个配置存储空间或使用区域布局约束之后确定的目标电路模块占用的部分配置存储空间;
环境重建模型:生成伪随机数,作为配置存储器中的地址,将该地址对应的配置位进行随机翻转;
定点精确模型:对用户感兴趣的电路结构对应的配置位进行翻转;
资源导向模型:选择一种或几种类型的数据帧进行所有配置位的翻转,所述数据帧为与可编程资源关联的配置数据帧;
多位翻转模型:对物理相邻的n个配置位同时进行翻转,n为大于1的自然数;
基于故障注入复合模型,FPGA单粒子翻转故障注入系统执行故障注入的流程如下:
A1初始化故障注入系统:设置器件参数、电路参数和系统参数;
A2选择故障注入模型:根据需求从故障注入复合模型中选择适合的故障注入模型,实现对配置码流区域上的限定或特定电路结构的映射或特定可编程资源的映射;
A3生成每个故障注入模型目标配置位的集合:对选中的码流按照帧地址,位偏移的数据格式组合,整理得到每个故障注入模型对应的目标配置位地址信息的集合;
A4执行单粒子翻转故障注入:
对于空间遍历模型、环境重建模型、定点精确模型和资源导向模型,每次读取集合中的一个地址进行故障注入,即翻转;对于多位翻转模型,集合中的地址以n个配置位的地址为一个单位,每次对这n个配置位进行同时翻转;单次执行完毕之后首先保存得到的电路运行数据,然后对当前翻转的配置位进行修复之后再执行下一次的故障注入;
A5对全部目标配置位的故障注入执行完毕之后,整理得到反映电路单粒子敏感度的运行数据,结束流程。
2.根据权利要求1所述的应用基于配置码流的FPGA故障注入复合模型的故障注入系统,其特征在于:通过配置位在配置存储器中的帧地址和位偏移来寻址配置位。
3.根据权利要求2所述的应用基于配置码流的FPGA故障注入复合模型的故障注入系统,其特征在于:所述环境重建模型采用线性反馈移位寄存器的方式生成伪随机数,作为配置存储器中的地址,具体方法如下:
(3.1)设置伪随机数的位宽;
(3.2)选定一个生成多项式;
(3.3)当线性反馈移位寄存器开始循环时,每个时钟周期生成一个伪随机数,将该伪随机数转换成帧地址和位偏移的数据组合格式,据此得到配置位的地址。
4.根据权利要求1所述的应用基于配置码流的FPGA故障注入复合模型的故障注入系统,其特征在于:所述定点精确模型的实现方法为:
(4.1)分析电路设计的XDL文件,获取用户感兴趣的电路结构占据的可编程资源在器件物理结构上的位置坐标;
(4.2)解析配置码流文件,找到步骤(4.1)获得的位置坐标与配置码流在配置存储器中地址的映射关系,获取该位置坐标对应的配置位,对其进行翻转。
5.根据权利要求1所述的应用基于配置码流的FPGA故障注入复合模型的故障注入系统,其特征在于:所述资源导向模型的实现方法为:
(5.1)资源导向模型将可编程资源的每一列资源以配置数据帧为基本单位细分,分成布线访问帧、接口访问帧、功能访问帧三种类型;
(5.2)针对每一列资源,选择一种或几种类型的数据帧进行所有配置位的翻转。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710103760.9A CN107092539B (zh) | 2017-02-24 | 2017-02-24 | 一种基于配置码流的fpga故障注入复合模型 |
PCT/CN2017/113268 WO2018153131A1 (zh) | 2017-02-24 | 2017-11-28 | 一种基于配置码流的fpga故障注入复合模型及故障注入系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710103760.9A CN107092539B (zh) | 2017-02-24 | 2017-02-24 | 一种基于配置码流的fpga故障注入复合模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107092539A CN107092539A (zh) | 2017-08-25 |
CN107092539B true CN107092539B (zh) | 2020-05-19 |
Family
ID=59646191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710103760.9A Active CN107092539B (zh) | 2017-02-24 | 2017-02-24 | 一种基于配置码流的fpga故障注入复合模型 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107092539B (zh) |
WO (1) | WO2018153131A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092539B (zh) * | 2017-02-24 | 2020-05-19 | 北京时代民芯科技有限公司 | 一种基于配置码流的fpga故障注入复合模型 |
CN107895087B (zh) * | 2017-11-29 | 2021-02-26 | 中科亿海微电子科技(苏州)有限公司 | 可编程逻辑电路模块级仿真配码自动生成的方法及系统 |
CN110413468A (zh) * | 2019-08-06 | 2019-11-05 | 哈尔滨工业大学 | 基于代码突变的fpga在线故障注入方法 |
CN112596506A (zh) * | 2020-12-30 | 2021-04-02 | 中国科学院空天信息创新研究院 | 故障注入方法、故障注入器、存储介质及故障注入系统 |
CN112988431B (zh) * | 2021-03-18 | 2022-07-08 | 中国人民解放军国防科技大学 | Sram型fpga不同异常的可靠性评估方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521467A (zh) * | 2011-12-29 | 2012-06-27 | 北京航空航天大学 | 一种针对sram型fpga的逐位翻转故障注入方法 |
CN104317995A (zh) * | 2014-10-17 | 2015-01-28 | 电子科技大学 | 基于PSpice AD电路仿真的单故障自动注入方法 |
CN104598699A (zh) * | 2015-02-13 | 2015-05-06 | 上海交通大学 | 面向SystemC电路模型的软错误敏感度分析方法 |
CN106124970A (zh) * | 2016-06-17 | 2016-11-16 | 工业和信息化部电子第五研究所 | Sram型fpga的故障注入方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437640B2 (en) * | 2003-02-13 | 2008-10-14 | Janusz Rajski | Fault diagnosis of compressed test responses having one or more unknown states |
CN107092539B (zh) * | 2017-02-24 | 2020-05-19 | 北京时代民芯科技有限公司 | 一种基于配置码流的fpga故障注入复合模型 |
-
2017
- 2017-02-24 CN CN201710103760.9A patent/CN107092539B/zh active Active
- 2017-11-28 WO PCT/CN2017/113268 patent/WO2018153131A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521467A (zh) * | 2011-12-29 | 2012-06-27 | 北京航空航天大学 | 一种针对sram型fpga的逐位翻转故障注入方法 |
CN104317995A (zh) * | 2014-10-17 | 2015-01-28 | 电子科技大学 | 基于PSpice AD电路仿真的单故障自动注入方法 |
CN104598699A (zh) * | 2015-02-13 | 2015-05-06 | 上海交通大学 | 面向SystemC电路模型的软错误敏感度分析方法 |
CN106124970A (zh) * | 2016-06-17 | 2016-11-16 | 工业和信息化部电子第五研究所 | Sram型fpga的故障注入方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018153131A1 (zh) | 2018-08-30 |
CN107092539A (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092539B (zh) | 一种基于配置码流的fpga故障注入复合模型 | |
Campbell et al. | The black book of quantum chromodynamics: a primer for the LHC era | |
CN108363894B (zh) | 一种电路级单粒子效应仿真平台 | |
CN102332307B (zh) | Sram型fpga单粒子效应试验系统及方法 | |
CN102540062B (zh) | 一种针对sram型fpga的随机翻转故障注入方法 | |
US20090106716A1 (en) | Various methods and apparatuses for memory modeling using a structural primitive verification for memory compilers | |
CN105548866A (zh) | 一种基于辐照试验环境模拟的sram型fpga测试方法 | |
CN102521467A (zh) | 一种针对sram型fpga的逐位翻转故障注入方法 | |
Tarrillo et al. | Multiple fault injection platform for SRAM-based FPGA based on ground-level radiation experiments | |
Lin et al. | Random number generators for large-scale parallel Monte Carlo simulations on FPGA | |
Gopalan et al. | A saboteur and mutant based built-in self-test and counting threshold-based built-in self repairing mechanism for memories | |
Bozzoli et al. | COMET: a configuration memory tool to analyze, visualize and manipulate FPGAs bitstream | |
Villalta et al. | Estimating the SEU failure rate of designs implemented in FPGAs in presence of MCUs | |
JP6045351B2 (ja) | 検証装置及び検証方法 | |
Tonfat et al. | Analyzing the influence of the angles of incidence on SEU and MBU events induced by low LET heavy ions in a 28-nm SRAM-based FPGA | |
Benevenuti et al. | Investigating the reliability impacts of neutron-induced soft errors in aerial image classification cnns implemented in a softcore sram-based fpga gpu | |
Staudigl et al. | Fault injection in native logic-in-memory computation on neuromorphic hardware | |
Azimi et al. | Micro latch-up analysis on ultra-nanometer vlsi technologies: a new monte carlo approach | |
Mao et al. | An Automated Fault Injection Platform for Fault Tolerant FFT Implemented in SRAM-Based FPGA | |
CN103901342B (zh) | 一种基于掩码文件的fpga精确故障注入系统 | |
CN104615829B (zh) | 频率感知的快速dff软错误率评估方法与系统 | |
Guibbaud et al. | New combined approach for the evaluation of the soft-errors of complex ICs | |
Yao et al. | A SEU test and simulation method for Zynq BRAM and flip-flops | |
Karthy et al. | Optimized counting threshold Built-in redundancy analysis for memories | |
Chadjiminas et al. | In-field vulnerability analysis of hardware-accelerated computer vision applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |