CN109858195A - 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** - Google Patents
一种sram型fpga上必要位单粒子翻转故障的在线仿真*** Download PDFInfo
- Publication number
- CN109858195A CN109858195A CN201910219751.5A CN201910219751A CN109858195A CN 109858195 A CN109858195 A CN 109858195A CN 201910219751 A CN201910219751 A CN 201910219751A CN 109858195 A CN109858195 A CN 109858195A
- Authority
- CN
- China
- Prior art keywords
- frame
- module
- test
- circuit
- dut
- 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.)
- Granted
Links
- 239000002245 particle Substances 0.000 title claims abstract description 35
- 238000004088 simulation Methods 0.000 title claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000013461 design Methods 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 17
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims abstract description 17
- 239000010931 gold Substances 0.000 claims abstract description 17
- 229910052737 gold Inorganic materials 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 17
- 238000002347 injection Methods 0.000 claims description 13
- 239000007924 injection Substances 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 11
- 230000008439 repair process Effects 0.000 claims description 11
- 238000011990 functional testing Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000000116 mitigating effect Effects 0.000 claims description 3
- 238000005067 remediation Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 230000005611 electricity Effects 0.000 claims 1
- 239000000203 mixture Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 3
- 230000005855 radiation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000001310 location test Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***。所述***设计方法属于测试技术领域。所述***设计由上位机(1)即PC端和下位机(2)即FPGA端组成。其中,上位机(1)***设计包括:测试界面(101),必要位文件提取模块(102),解析调试比特流文件模块(103),通信接口(104);下位机(2)***设计包括:主控制模块(201)、待测电路(202)、黄金电路(203)、比较电路(204)、串口通信模块(205)、JTAG接口(206)、配置RAM(207)。本发明中位于上位机(1)的测试界面(101)通过向下位机(2)发送指示命令控制单粒子翻转故障模拟的仿真流程,下位机(2)根据接收到的命令执行相应操作后将结果返回。本发明无需处理器参与,无需外部硬件开销,可以灵活地移植到其他支持ICAP的FPGA芯片。
Description
技术领域
本发明涉及一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,属于测试技术领域。
背景技术
SRAM(Static Random Access Memory)型FPGA(Field Programmable GateArray)由于其成本低、逻辑资源丰富、可重构、开发周期短等优势,越来越多地被应用在空天领域。然而由于SRAM型FPGA本身的工艺结构特性,其在太空等辐照环境下极易受高能带电粒子撞击而产生单粒子翻转效应(Single Event Upset,SEU),会导致FPGA中的存储单元发生位翻转。因配置RAM是芯片中数量最多的存储单元,且考虑到配置RAM对用户电路逻辑的直接影响,因此对于配置RAM上SEU故障的分类对FPGA在航天领域的应用评估显得尤为重要。
目前,故障注入大体分为两种:外部故障注入和内部故障注入。两者都访问了FPGA的配置RAM,前者通过外部配置接口(JTAG,Joint Test Action Group或SelectMAP),后者通过内部配置接口(Internal Configuration Access Port,ICAP)。对于外部故障注入,通常需要外部控制器如一片反熔丝型FPGA来辅助做故障注入处理,这不仅增加了硬件开销,还降低了空间应用中的可靠性。对于内部故障注入,大部分的设计都采用了片上内嵌的处理器来辅助实现故障注入。从Virtex-6/Spartan-6开始,Xilinx公司提供了一个基于PicoPlaze处理器的SEM(Soft Error Mitigation)IP核,其功能全面,可实现故障注入、故障修复、故障分类等功能。然而由于PicoPlaze处理器没有官方的C编译器且指令空间极小(1024个字),SEM控制器不能灵活地被重编程以实现新的刷新机制。
发明内容
本发明要解决的技术问题为:克服现有单粒子翻转模拟技术普遍需要外部控制器或内嵌处理器的不足,采用将故障注入***和待测电路布置在同一片FPGA上的方式来对待测电路进行故障模拟实现,因此需要对配置RAM的帧物理组织进行研究并需要给出一种提取必要位的方法。
为了解决上述技术问题,本发明提出一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***。所设计的***无需处理器参与,无需外部硬件开销,可以灵活地移植到其他支持ICAP(Internal Configuration Access Port)的芯片。所述***测试流程如下:上位机1的测试界面101通过串口通信接口向下位机2发送指示命令控制单粒子翻转故障模拟的仿真流程,下位机2的主控制模块201选择对应的命令模式,执行相应操作后将结果返回给上位机1。所述向下位机2发送的命令和相应命令需要的参数信息包括:命令一为翻转一个位,所需参数包括命令标识1、帧地址、字地址、位地址;命令二为回读一整帧,所需参数包括命令标识2、帧地址;命令三为开始待测电路(DUT,Design Under Test)功能测试,所需参数包括命令标识3。
所述上位机1***包括:
帧结构解析模块101:实现对指定芯片的帧结构解析,用以获取相应芯片配置bit流的帧组织;该模块根据芯片手册中的数据包格式对输入的调试比特流文件1011进行一次解析,提取出所有的帧地址,得到帧地址列表文件1012;之后对帧地址列表文件1012进行二次解析得到比特流结构可视化文档1013,进而得到具体芯片的帧结构以及配置比特流文件中的具体帧组织;
必要位提取模块102:用于从SEM(Soft Error Mitigation)IP核的中间文件EBD(Essential Bit Data)文件中提取出用户设计电路的必要位位置;EBD文件内容是配置bit流文件的子集,但其文件内容首部增加了一帧伪帧;必要位定义为与用户设计相关的位;必要位位置格式寻址形式为:{块类型,顶部/底部指示器,行位置,列位置,帧位置,帧中所处的字位置,字中所处的位位置};
测试界面103:基于QT所设计的人机交互界面;控制单粒子翻转故障模拟的仿真流程;对待测电路的必要位进行逐位的单粒子翻转故障模拟及修复测试;
布局工具104:为FPGA开发套件工具下的PlanAhead工具;用于将待测电路和其余电路分别布局在不同的Pblock(Physical block),据此布局信息可得到待测电路的必要位数据库;所提取出的待测电路必要位数据库作为故障库;
通信接口105,包括JTAG接口与串口;JTAG接口用于对FPGA进行首次配置,配置bit流通过JTAG接口写入FPGA的配置RAM;串口实现上位机1与下位机2的数据通讯,所述三种命令通过串口发送至下位机;以及,接收下位机2传回的操作结果数据。
所述测试界面103包括:
故障注入模块1031,回读一帧模块1032,待测电路功能检测模块1033和故障分类结果显示模块1034组成;故障注入模块1031用于发送翻转一个位的操作,以实现对FPGA配置RAM中单粒子翻转问题的模拟实现,其命令组成为{AA99556601,帧地址,帧中所处的字地址,字中所处的位地址};
回读一帧模块1032用于发送回读指定地址的帧内容的操作,以测试对帧中某一位进行翻转后是否影响同帧的其他位,该操作要在mask文件的掩码下与配置bit流文件的相应帧内容对比进行,其命令组成为{AA99556602,帧地址};
待测电路功能检测模块1033用于发送启动DUT测试的命令,以测试对帧中某一位进行翻转后是否会影响DUT的正常功能逻辑,其命令组成为{AA99556603};
故障分类结果显示模块1034用于对下位机2返回的操作结果信息进行解析并对结果进行总结分类,分类结果有5种:①非关键可修复位;②非关键不可修复位;③关键可修复位;④关键不可修复位;⑤影响了同帧的其他非掩码位的位;其中,关键位表示对该位进行翻转会导致DUT功能测试期间出现错误,非关键位表示对该位进行翻转不会影响DUT的功能逻辑。
所述下位机2***包括:
主控制模块201:控制下位机2进行单粒子翻转模拟实现的命令读取、命令切换与命令交付操作;包括:与上位机的通讯功能,解析上位机的命令功能,主程序状态切换与控制功能(对必要位所在位置进行翻转操作、回读整帧操作、修复操作以及对DUT进行功能测试操作);
待测电路202:用于在模拟的单粒子翻转故障环境下运行;
黄金电路203:是待测电路的正确备份,用于在正常环境下运行;
对比电路204:用于遍历对比待测电路和黄金电路的运行结果;
串口通信模块205:接收上位机1传来的命令;以及,返回下位机2的命令执行结果;返回信息包括:翻转一位的操作是否成功,回读一帧的操作是否成功并返回帧内容,修复一位的操作是否成功;对比电路对DUT和黄金电路遍历输入向量后DUT功能逻辑是否正确;
JTAG接口206:用于接收上位机1的配置bit流,实现对FPGA配置信息的首次加载;
本发明提供了一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***设计方法,所述主控制模块201包括:
Inj_fault_FSM 2011:主状态机,控制命令的操作与切换;在空闲状态下,该模块向Rx_fifo_controller 2013模块发送start_get_cmd信号,请求获取一个命令;Rx_fifo_controller 2013模块根据与上位机1约定好的协议从Rx_fifo 2012中读出一个有效命令给Inj_fault_FSM 2011模块,同时发出cmd_mode和cmd_valid信号分别作为命令标识头和有效命令标志;其中,cmd_mode的3种标识及含义如下:0b“00”表示注入一位错即翻转一个位,0b“01”表示回读一整,0b“10”表示开始DUT测试;
Rx_fifo 2012:用于存储来自上位机1的命令数据;
Rx_fifo_Controller 2013:用于从Rx_fifo 2012中读取一个有效命令交由主状态机;以及,该模块还需向Inj_fault_FSM 2011模块提供执行命令所需的参数:cmd_mode为0b“00”时需要提供帧地址、字地址、位地址,cmd_mode为0b“01”时需要提供帧地址,cmd_mode为0b“10”时无需提供参数;
ICAP_Controller 2014:通过ICAP接口对配置RAM进行回读与动态重配置,实现对配置RAM的读写;ICAP(Internal Configuration Access Port)作为内部配置访问端口,可以通过FPGA上配置的应用电路直接访问,允许他们在运行时更改自己的结构和功能;ICAP配置一帧所需的具体命令信息包括:总线宽度同步字、总线位宽检测字、同步字、复位CRC命令、WCFG命令、写FAR寄存器、向FDRI寄存器写入两帧内容(第一帧为有效帧,第二帧为用于缓冲的伪帧)、去同步命令;ICAP回读一帧所需的具体命令信息包括:总线宽度同步字、总线位宽检测字、同步字、复位CRC命令、RCFG命令、写FAR寄存器、从FDRO寄存器回读两帧内容(第一帧为缓冲的伪帧,第二帧为有效帧)、去同步命令;
RAM41x32 2018:用于暂存一帧的数据内容;
Flip_Bit_Controller 2015:用于翻转RAM中暂存的帧内容的某一位,其需要输入的参数为字地址和位地址;
Tx_fifo 2019:用于存储准备向上位机1发送的数据;
Write_to_tx_fifo_Controller 2016:用于向Tx_fifo中写入执行结果,包括:cmd_mode为0b“00”时写入翻转前后目标位所处的字节,cmd_mode为0b“01”时写入故障注入后目标帧的完整帧内容,cmd_mode为0b“10”时写入DUT_Test_Controller 2017的测试结果;
DUT_Test_Controller 2017:实现对待测电路的功能逻辑正确性测试;用于向待测电路和黄金电路发送测试输入向量,接收测试结果向量;黄金电路Golden_DUT_Circuit203用于同DUT_Circuit 204在比较器Comparator 205模块下进行比较。一旦两者的结果不一致,Comparator 205模块会返回0x“FF”标识DUT_Circuit功能出错。若所有的输入参数遍历完后两者的结果仍一致,则该模块会返回0x“00”标识DUT_Circuit功能正常;
本发明实施方式包括一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***装置,其具体步骤包括:
步骤301、生成故障库,故障库生成的大致流程如下:帧结构解析模块101输出比特流帧组织、设计好DUT电路并将其与其他模块经由布局工具104布局在不同的列、必要位提取模块102从ebd文件中解析出必要位的帧地址列表、从帧地址列表中根据布局信息提取出DUT的必要位文件作为故障库。
步骤302、若故障库不为空,测试界面103从故障库中读取一位必要位地址;若故障库已读取结束,则整个测试流程随之结束;
步骤303、故障注入模块1031发送故障注入指令至下位机2;
步骤304、下位机2中Inj_fault_FSM(2011)成功读取故障注入指令后,设置cmd_mode和read_mode均为0b“00”并需要执行以下具体步骤:①ICAP_Controller 2014读取指定帧地址的帧内容存于RAM41x32 2018;②Flip_Bit_Controller 2015翻转RAM中暂存的帧内容的指定的一位;③read_mode为0b“00”,则write_to_tx_fifo_Controller 2016根选择从RAM41x32 2018读取翻转前后该位所在字节内容写到Tx_fifo 2019;④一旦Tx_fifo2019不为空,则Write_to_tx_fifo_Controller 2016将其中所存内容发送至上位机1,上位机1等待接收操作结果以判断故障注入是否成功;若故障注入成功,转至步骤305,否则,跳转至步骤312,手动重配置FPGA;
步骤305、回读一帧模块1032发送回读整帧指令至下位机2;下位机2中Inj_fault_FSM2011成功读取回读整帧指令后,设置cmd_mode和read_mode均为0b“01”并需要执行以下具体步骤:①ICAP_Controller 2014读取指定帧地址的帧内容存于RAM41x32 2018;②ead_mode为0b“01”,则Write_to_tx_fifo_Controller 2016选择读取RAM41x32 2018的全部内容并写入Tx_fifo 2019;③一旦Tx_fifo 2019不为空,其中所存内容将会逐字节地发送至上位机1;
步骤306、回读一帧模块1032接收下位机2传来的帧数据,将其与原始配置bit文件的相应帧地址处的内容在mask文件屏蔽下进行逐位对比;
步骤307、若对比结果仅有目标位不一致,则说明对目标位进行翻转位影响同帧的其他非掩码位;否则,说明对目标位进行翻转位影响了同帧的其他非掩码位也出现了翻转;
步骤308、待测电路功能检测模块1033发送启动DUT测试的命令至下位机2;
步骤309、下位机2中Inj_fault_FSM 2011成功读取故障注入指令后,设置cmd_mode为0b“10”,交由DUT_Test_Controller 2017向Golden_DUT_Circuit 203和DUT_Circuit204遍历输入向量并返回测试结果写入Tx_fifo 2019;若上位机(1)接收到0x“FF”,表明该位为关键位,否则,该位为非关键位;
步骤310、故障注入模块1031发送故障修复指令至下位机2,与步骤303相同;
步骤311、判断故障修复是否成功,判断流程同步骤304;若故障修复失败,转至步骤312,手动重配置FPGA;
步骤312、对FPGA进行重配置操作,重新加载原始配置bit流内容;
步骤313、上位机中的故障分类结果显示模块1034将对应的必要位属性写入到相应的分类结果。
本发明与现有技术相比的优点在于:
(1)本发明对于配置RAM的帧结构进行了研究,由此可推动对其上的配置数据进行不同类型的容错算法实施和研究,同时获取到的帧结构也可用于推动对FPGA的配置流解析工作;
(2)本发明通过解析相关文件给出了提取配置比特流中与用户设计相关的配置位——必要位的过程,同时进行了结果验证。对必要位的提取将大大减少配置流中需要进行容错的帧数量,为后续进行故障修复算法上的速率改进提供了知识基础;
(3)本发明通过对SEU效应的故障分类实现***设计,可对用户设计电路中的相关配置位进行逐位分类,分类结果可用于评估不同FPGA设计的SEU防护有效性,以保证空间应用下的高可靠度模块的优先级;
(4)本发明对SEU效应的故障修复实现了***设计,对Xilinx内置ECC编码逻辑进行了测试与解码,对ICAP回读/配置机制进行了实现,所设计的***摆脱了对于片上内嵌处理器的束缚,可方便地移植到任何支持ICAP的FPGA器件。所设计的故障修复电路可用于在实际的辐射环境中连续工作,旨在确保FPGA在高安全和关键任务中的抗辐射功能。
附图说明
图1为本发明实施例中一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***的整体结构设计图;
图2为所设计的基于QT的人机交互界面即测试界面101;
图3为帧结构解析流程及结果图;
图4为所设计的下位机2端即FPGA端的结构框图;
图5为所设计的一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***实现故障分类的测试流程图;
图6为待测电路与所设计SEU仿真***的必要位经自动布局后在不同工具下的图示,其中图6(a)为实际PlanAhead工具下看到的布局结果,图6(b)为实际FPGA Editor工具下看到的布线结果,图6(c)为所提取出的必要位在matlab下按照必要位寻址{顶部/底部指示器,行位置,列位置,帧位置,帧中所处的字位置,字中所处的位位置}所绘的位置分布图;
图7为待测电路与所设计SEU仿真***的必要位经手动布局后在不同工具下的图示,其中图7(a)为实际PlanAhead工具下看到的布局结果,图7(b)为实际FPGA Editor工具下看到的布线结果,图7(c)为所提取出的必要位在matlab下按照必要位寻址{顶部/底部指示器,行位置,列位置,帧位置,帧中所处的字位置,字中所处的位位置}所绘的位置分布图;
具体实施方式
下面结合附图对本发明的实施例作详细说明。本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于以下的实施例。
参照图1,示出了本发明实施例中一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***的结构框图。所述***设计由上位机1即PC端和下位机2即FPGA端组成。其中,上位机1***设计包括:测试界面101,必要位文件提取模块102,解析调试比特流文件模块103,通信接口104;下位机2***设计包括:主控制模块201、待测电路202、黄金电路203、比较电路204、串口通信模块205、JTAG接口206、配置RAM 207。本发明中,位于上位机1的测试界面101通过向下位机2发送指示命令控制单粒子翻转故障模拟的仿真流程,下位机2根据接收到的命令执行相应操作后将结果返回。
所设计的测试界面101基于QT实现,界面实物如图2所示。测试界面101与下位机2的串口通讯基于QT5.9中的QserialPort类实现。
在下位机2***中,待测电路202用于在模拟的单粒子翻转故障环境下运行;黄金电路203是待测电路的正确备份,用于在正常环境下运行。在具体测试流程中,读写配置RAM的操作由ICAP_Controller 2014模块执行;翻转一位的操作由Flip_Bit_Controller 2015模块执行;DUT测试的操作由DUT_Test_Controller 2017模块执行。DUT_Test_Controller2017模块实现对待测电路的功能逻辑正确性测试,用于向待测电路和黄金电路发送测试输入向量,接收测试结果向量。黄金电路203用于同待测电路204在比较器205模块下进行比较。
下面以对一个待测电路的必要位做故障分类的过程来详细描述具体的实施过程。本实施例用以测试Xilinx XC5VFX70T芯片上所设计的三个经典电路(4位加法器、4位乘法器、8位乘法器)的单粒子翻转故障率,具体测试流程包括以下步骤:
1,帧结构解析模块101解析调试比特流文件并最终输出比特流帧组织。采用的芯片得到的调试比特流文件结构如下,其由四部分组成。其中FDRI为帧数据输入寄存器,LOUT寄存器称为Legacy Output Register,作为串行调试时菊花链的数据输出。第三部分给出的十六进制数0x30004029为Xilinx类型1格式的数据包,表示向FDRI寄存器写入41个字即一帧长度的命令。0x30010001同样为Xilinx类型1格式的数据包,表示向LOUT寄存器写帧地址。
(1)文件头;
(2)一些配置寄存器操作命令;
(3)帧内容相关部分:
30004029,即FDRI写41个字;
第0帧数据;
30010001,即向LOUT写帧地址;
第0帧地址;
30004029,即FDRI写41个字;
第1帧数据;
30010001,即向LOUT写帧地址;
第1帧地址;
……
30004029,即FDRI写41个字;
第20559帧数据;
30010001,即向LOUT写帧地址;
第20559帧地址;
(4)一些配置寄存器操作命令。
最终解析得到的文档1013示出了所得到的比特流帧结构可视化文件。总结配置帧的物理分布结构:分为上下两部分,上半部分4行,下半部分4行,共8行,每行又按照列再次划分(图6(c)中局部放大的矩阵块所示为列地址为47的CLB块,CLB列每列有36帧)。配置bit流包含块0和块1部分,块0为每行1802帧,共14416帧,块1为每行768帧,共6144帧,另外发现在块0每行切换时有2帧填充帧,块1每行切换时同样有2帧填充帧,因此每行有4帧填充帧,共32帧,共20592帧,与配置bit流中向FDRI寄存器写入的帧数量一致。
2,在FPGA片上设计实现待测电路及其黄金电路、对比电路;以及,通过布局工具将待测电路与其他模块至于不同的pblock;
3,在FPGA开发工具下首先经自动布局得到的ebd文件进行解析。图6为必要位的一个直观体现,图6(a)为实际PlanAhead工具下看到的布局结果,图6(b)为实际FPGA Editor工具下看到的布线结果,图6(c)为所提取出的必要位在matlab下按照必要位寻址{顶部/底部指示器,行位置,列位置,帧位置,帧中所处的字位置,字中所处的位位置}所绘的位置分布图,可以看到图6(c)与图6(a)、图6(b)的轮廓一致。接着,手动布局将待测电路与其余电路分离以提取出待测电路的必要位文件。如图7所示,待测电路位于标“A”部分,其余电路位于标“B”部分;
4,待测电路必要位文件作为待分类的故障库,配置bit文件、掩码文件存于上位机1用于后续同帧逐位对比;
5,若故障库不为空,测试界面103从故障库中读取一位必要位地址;若故障库已读取结束,则整个测试流程随之结束;
6,故障注入模块1031发送故障注入指令至下位机2;
7,下位机2中Inj_fault_FSM 2011成功读取故障注入指令后,设置cmd_mode和read_mode均为0b“00”并需要执行以下具体步骤:①ICAP_Controller 2014读取指定帧地址的帧内容存于RAM41x32 2018;②Flip_Bit_Controller 2015翻转RAM中暂存的帧内容的指定的一位;③read_mode为0b“00”,则write_to_tx_fifo_Controller 2016根选择从RAM41x32 2018读取翻转前后该位所在字节内容写到Tx_fifo 2019;④一旦Tx_fifo 2019不为空,则Write_to_tx_fifo_Controller 2016将其中所存内容发送至上位机1,上位机1等待接收操作结果以判断故障注入是否成功;若故障注入成功,转至步骤305,否则,跳转至步骤312,手动重配置FPGA;
8,回读一帧模块1032发送回读整帧指令至下位机2;下位机2中Inj_fault_FSM2011成功读取回读整帧指令后,设置cmd_mode和read_mode均为0b“01”并需要执行以下具体步骤:①ICAP_Controller 2014读取指定帧地址的帧内容存于RAM41x32 2018;②ead_mode为0b“01”,则Write_to_tx_fifo_Controller 2016选择读取RAM41x32(2018)的全部内容并写入Tx_fifo 2019;③一旦Tx_fifo(2019)不为空,其中所存内容将会逐字节地发送至上位机1;
9,回读一帧模块1032接收下位机2传来的帧数据,将其与原始配置bit文件的相应帧地址处的内容在mask文件屏蔽下进行逐位对比;
10,若对比结果仅有目标位不一致,则说明对目标位进行翻转位影响同帧的其他非掩码位;否则,说明对目标位进行翻转位影响了同帧的其他非掩码位也出现了翻转;
11,待测电路功能检测模块1033发送启动DUT测试的命令至下位机2;
12,下位机2中Inj_fault_FSM(2011)成功读取故障注入指令后,设置cmd_mode为0b“10”,交由DUT_Test_Controller 2017向Golden_DUT_Circuit 203和DUT_Circuit204遍历输入向量并返回测试结果写入Tx_fifo 2019;若上位机(1)接收到0x“FF”,表明该位为关键位,否则,该位为非关键位;
13,故障注入模块1031发送故障修复指令至下位机2,与步骤303相同;
14,判断故障修复是否成功,判断流程同步骤304;若故障修复失败,转至步骤312,手动重配置FPGA;
15,对FPGA进行重配置操作,重新加载原始配置bit流内容;
16,上位机中的故障分类结果显示模块1034将对应的必要位属性写入到相应的分类结果。
对三个经典待测电路的故障分类测试结果如表1所示。为了验证本发明方法的有效性,分别对三个待测电路进行三模冗余后再次进行故障分类测试,可以看到三模冗余后,关键位的比例会大幅减小,但不会降至0%,说明三模冗余可以减少SEU引起的电路故障率,但无法彻底规避该故障。至此验证了所设计的故障注入和分类***的有效性。
表1
注:
(1)必要位即为与DUT设计相关的位;
(2)非关键可修复位即对该位进行翻转不会影响DUT的功能逻辑,且该位翻转后可被修复,其占比为非关键可修复位个数与必要位个数之比;
(3)关键可修复位即对该位进行翻转会导致DUT功能测试期间出现错误,但该位翻转后可被修复,其占比为关键可修复位个数与必要位个数之比;
综上所述,本发明具体实施例提供的技术方案对于SRAM型FPGA在辐照环境下其配置RAM易发生的SEU问题进行了实物模拟实现。通过分析调试比特流文件提取出了FPGA器件的帧结构并解析了比特流文件和SEM IP核的中间文件——ebc和ebd文件的结构,给出了提取必要位的方法。通过在XC5VFX70T器件上对三个经典电路进行故障注入测试,验证了所设计的故障注入***的有效性。所设计的故障注入***无需处理器参与,无需外部硬件开销,可以灵活地移植到其他支持ICAP的芯片。同时本***对于DUT的必要位进行了分类,此分类结果可用于在容错加固实现中对特殊位进行重点防护。
本发明未详细阐述部分属于本领域技术人员的公知技术。
本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例变化,变型都将落在本发明权利要求书的范围内。
Claims (7)
1.一种SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述***包括:由上位机(1)即PC端和下位机(2)即FPGA端,其中,上位机(1)包括:测试界面(101),必要位文件提取模块(102),解析调试比特流文件模块(103),通信接口(104);下位机(2)包括:主控制模块(201)、待测电路(202)、黄金电路(203)、比较电路(204)、串口通信模块(205)、JTAG接口(206)、配置RAM(207);上位机(1)的测试界面(101)通过串口通信接口向下位机(2)发送指示命令控制单粒子翻转故障模拟的仿真流程,下位机(2)的主控制模块(201)选择对应的命令模式,执行相应操作后将结果返回给上位机(1)。
2.根据权利要求1所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述向下位机(2)发送的命令和相应命令需要的参数信息包括:命令一为翻转一个位,所需参数包括命令标识1、帧地址、字地址、位地址;命令二为回读一整帧,所需参数包括命令标识2、帧地址;命令三为开始待测电路(DUT,Design Under Test)功能测试,所需参数包括命令标识3。
3.根据权利要求2所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述上位机(1)***包括:
帧结构解析模块(101):实现对指定芯片的帧结构解析,用以获取相应芯片配置bit流的帧组织;该模块根据芯片手册中的数据包格式对输入的调试比特流文件(1011)进行一次解析,提取出所有的帧地址,得到帧地址列表文件(1012);之后对帧地址列表文件(1012)进行二次解析得到比特流结构可视化文档(1013),进而得到具体芯片的帧结构以及配置比特流文件中的具体帧组织;
必要位提取模块(102):用于从SEM(Soft Error Mitigation)IP核的中间文件ebd(Essential Bit Data)文件中提取出用户设计电路的必要位位置;ebd文件内容是配置bit流文件的子集,但其文件内容首部增加了一帧伪帧;必要位定义为与用户设计相关的位;必要位位置格式寻址形式为:{块类型,顶部/底部指示器,行位置,列位置,帧位置,帧中所处的字位置,字中所处的位位置};
测试界面(103):基于QT所设计的人机交互界面;控制单粒子翻转故障模拟的仿真流程;对待测电路的必要位进行逐位的单粒子翻转故障模拟及修复测试;
布局工具(104):为FPGA开发套件工具下的PlanAhead工具;用于将待测电路和其余电路分别布局在不同的Pblock(Physical block),据此布局信息可得到待测电路的必要位数据库;所提取出的待测电路必要位数据库作为故障库;
通信接口(105),包括JTAG接口与串口;JTAG接口用于对FPGA进行首次配置,配置bit流通过JTAG接口写入FPGA的配置RAM;串口实现上位机(1)与下位机(2)的数据通讯,所述三种命令通过串口发送至下位机;以及,接收下位机(2)传回的操作结果数据。
4.根据权利要求3所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述测试界面(103)包括:
故障注入模块(1031),回读一帧模块(1032),待测电路功能检测模块(1033)和故障分类结果显示模块(1034)组成;故障注入模块(1031)用于发送翻转一个位的操作,以实现对FPGA配置RAM中单粒子翻转问题的模拟实现,其命令组成为{AA99556601,帧地址,帧中所处的字地址,字中所处的位地址};
回读一帧模块(1032)用于发送回读指定地址的帧内容的操作,以测试对帧中某一位进行翻转后是否影响同帧的其他位,该操作要在mask文件的掩码下与配置bit流文件的相应帧内容对比进行,其命令组成为{AA99556602,帧地址};
待测电路功能检测模块(1033)用于发送启动DUT测试的命令,以测试对帧中某一位进行翻转后是否会影响DUT的正常功能逻辑,其命令组成为{AA99556603};
故障分类结果显示模块(1034)用于对下位机(2)返回的操作结果信息进行解析并对结果进行总结分类,分类结果有5种:①非关键可修复位;②非关键不可修复位;③关键可修复位;④关键不可修复位;⑤影响了同帧的其他非掩码位的位;其中,关键位表示对该位进行翻转会导致DUT功能测试期间出现错误,非关键位表示对该位进行翻转不会影响DUT的功能逻辑。
5.根据权利要求1所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述下位机(2)***包括:
主控制模块(201):控制下位机(2)进行单粒子翻转模拟实现的命令读取、命令切换与命令交付操作;包括:与上位机的通讯功能,解析上位机的命令功能,主程序状态切换与控制功能(对必要位所在位置进行翻转操作、回读整帧操作、修复操作以及对DUT进行功能测试操作);
待测电路(202):用于在模拟的单粒子翻转故障环境下运行;
黄金电路(203):是待测电路的正确备份,用于在正常环境下运行;
对比电路(204):用于遍历对比待测电路和黄金电路的运行结果;
串口通信模块(205):接收上位机(1)传来的命令;以及,返回下位机(2)的命令执行结果;返回信息包括:翻转一位的操作是否成功,回读一帧的操作是否成功并返回帧内容,修复一位的操作是否成功;对比电路对DUT和黄金电路遍历输入向量后DUT功能逻辑是否正确;
JTAG接口(206):用于接收上位机(1)的配置bit流,实现对FPGA配置信息的首次加载。
6.根据权利要求5所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述主控制模块(201)包括:
Inj_fault_FSM(2011):主状态机,控制命令的操作与切换;在空闲状态下,该模块向Rx_fifo_controller(2013)模块发送start_get_cmd信号,请求获取一个命令;Rx_fifo_controller(2013)模块根据与上位机(1)约定好的协议从Rx_fifo(2012)中读出一个有效命令给Inj_fault_FSM(2011)模块,同时发出cmd_mode和cmd_valid信号分别作为命令标识头和有效命令标志;其中,cmd_mode的3种标识及含义如下:0b“00”表示注入一位错即翻转一个位,0b“01”表示回读一整,0b“10”表示开始DUT测试;
Rx_fifo(2012):用于存储来自上位机(1)的命令数据;
Rx_fifo_Controller(2013):用于从Rx_fifo(2012)中读取一个有效命令交由主状态机;以及,该模块还需向Inj_fault_FSM(2011)模块提供执行命令所需的参数:cmd_mode为0b“00”时需要提供帧地址、字地址、位地址,cmd_mode为0b“01”时需要提供帧地址,cmd_mode为0b“10”时无需提供参数;
ICAP_Controller(2014):通过ICAP接口对配置RAM进行回读与动态重配置,实现对配置RAM的读写;ICAP(Internal Configuration Access Port)作为内部配置访问端口,可以通过FPGA上配置的应用电路直接访问,允许他们在运行时更改自己的结构和功能;ICAP配置一帧所需的具体命令信息包括:总线宽度同步字、总线位宽检测字、同步字、复位CRC命令、WCFG命令、写FAR寄存器、向FDRI寄存器写入两帧内容(第一帧为有效帧,第二帧为用于缓冲的伪帧)、去同步命令;ICAP回读一帧所需的具体命令信息包括:总线宽度同步字、总线位宽检测字、同步字、复位CRC命令、RCFG命令、写FAR寄存器、从FDRO寄存器回读两帧内容(第一帧为缓冲的伪帧,第二帧为有效帧)、去同步命令;
RAM41x32(2018):用于暂存一帧的数据内容;
Flip_Bit_Controller(2015):用于翻转RAM中暂存的帧内容的某一位,其需要输入的参数为字地址和位地址;
Tx_fifo(2019):用于存储准备向上位机(1)发送的数据;
Write_to_tx_fifo_Controller(2016):用于向Tx_fifo中写入执行结果,包括:cmd_mode为0b“00”时写入翻转前后目标位所处的字节,cmd_mode为0b“01”时写入故障注入后目标帧的完整帧内容,cmd_mode为0b“10”时写入DUT_Test_Controller(2017)的测试结果;
DUT_Test_Controller(2017):实现对待测电路的功能逻辑正确性测试;用于向待测电路和黄金电路发送测试输入向量,接收测试结果向量;黄金电路Golden_DUT_Circuit(203)用于同DUT_Circuit(204)在比较器Comparator(205)模块下进行比较。一旦两者的结果不一致,Comparator(205)模块会返回0x“FF”标识DUT_Circuit功能出错。若所有的输入参数遍历完后两者的结果仍一致,则该模块会返回0x“00”标识DUT_Circuit功能正常。
7.根据权利要求1、3或5所述的SRAM型FPGA上必要位单粒子翻转故障的在线仿真***,其特征在于,所述***的具体工作流程包括:
步骤301、生成故障库,故障库生成的大致流程如下:帧结构解析模块(101)输出比特流帧组织、设计好DUT电路并将其与其他模块经由布局工具(104)布局在不同的列、必要位提取模块(102)从ebd文件中解析出必要位的帧地址列表、从帧地址列表中根据布局信息提取出DUT的必要位文件作为故障库;
步骤302、若故障库不为空,测试界面(103)从故障库中读取一位必要位地址;若故障库已读取结束,则整个测试流程随之结束;
步骤303、故障注入模块(1031)发送故障注入指令至下位机(2);
步骤304、下位机(2)中Inj_fault_FSM(2011)成功读取故障注入指令后,设置cmd_mode和read_mode均为0b“00”并需要执行以下具体步骤:①ICAP_Controller(2014)读取指定帧地址的帧内容存于RAM41x32(2018);②Flip_Bit_Controller(2015)翻转RAM中暂存的帧内容的指定的一位;③read_mode为0b“00”,则write_to_tx_fifo_Controller(2016)根选择从RAM41x32(2018)读取翻转前后该位所在字节内容写到Tx_fifo(2019);④一旦Tx_fifo(2019)不为空,则Write_to_tx_fifo_Controller(2016)将其中所存内容发送至上位机(1),上位机(1)等待接收操作结果以判断故障注入是否成功;若故障注入成功,转至步骤305,否则,跳转至步骤312,手动重配置FPGA;
步骤305、回读一帧模块(1032)发送回读整帧指令至下位机(2);下位机(2)中Inj_fault_FSM(2011)成功读取回读整帧指令后,设置cmd_mode和read_mode均为0b“01”并需要执行以下具体步骤:①ICAP_Controller(2014)读取指定帧地址的帧内容存于RAM41x32(2018);②ead_mode为0b“01”,则Write_to_tx_fifo_Controller(2016)选择读取RAM41x32(2018)的全部内容并写入Tx_fifo(2019);③一旦Tx_fifo(2019)不为空,其中所存内容将会逐字节地发送至上位机(1);
步骤306、回读一帧模块(1032)接收下位机(2)传来的帧数据,将其与原始配置bit文件的相应帧地址处的内容在mask文件屏蔽下进行逐位对比;
步骤307、若对比结果仅有目标位不一致,则说明对目标位进行翻转位影响同帧的其他非掩码位;否则,说明对目标位进行翻转位影响了同帧的其他非掩码位也出现了翻转;
步骤308、待测电路功能检测模块(1033)发送启动DUT测试的命令至下位机(2);
步骤309、下位机(2)中Inj_fault_FSM(2011)成功读取故障注入指令后,设置cmd_mode为0b“10”,交由DUT_Test_Controller(2017)向Golden_DUT_Circuit(203)和DUT_Circuit(204)遍历输入向量并返回测试结果写入Tx_fifo(2019);若上位机(1)接收到0x“FF”,表明该位为关键位,否则,该位为非关键位;
步骤310、故障注入模块(1031)发送故障修复指令至下位机(2),与步骤303相同;
步骤311、判断故障修复是否成功,判断流程同步骤304;若故障修复失败,转至步骤312,手动重配置FPGA;
步骤312、对FPGA进行重配置操作,重新加载原始配置bit流内容;
步骤313、上位机中的故障分类结果显示模块(1034)将对应的必要位属性写入到相应的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219751.5A CN109858195B (zh) | 2019-03-22 | 2019-03-22 | 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910219751.5A CN109858195B (zh) | 2019-03-22 | 2019-03-22 | 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858195A true CN109858195A (zh) | 2019-06-07 |
CN109858195B CN109858195B (zh) | 2022-11-08 |
Family
ID=66901574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910219751.5A Active CN109858195B (zh) | 2019-03-22 | 2019-03-22 | 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858195B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090584A (zh) * | 2019-11-25 | 2020-05-01 | 大唐半导体科技有限公司 | 一种fpga平台ip原型快速验证方法及*** |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构***及实现方法 |
CN111680467A (zh) * | 2020-06-08 | 2020-09-18 | 重庆邮电大学 | 一种用于5g终端模拟器pdcch盲检测的fpga设计方法 |
CN111881636A (zh) * | 2020-07-07 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于risc-v芯片的仿真调试方法及装置 |
CN112527361A (zh) * | 2021-02-08 | 2021-03-19 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
CN113253097A (zh) * | 2021-05-31 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种基于整帧翻转的sram型fpga故障注入加速试验方法 |
CN113254288A (zh) * | 2021-06-02 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种星载设备中fpga单粒子翻转故障注入方法 |
CN113268263A (zh) * | 2021-06-10 | 2021-08-17 | 北京无线电测量研究所 | 一种fpga的回读刷新方法和*** |
CN113886158A (zh) * | 2021-09-28 | 2022-01-04 | 北京时代民芯科技有限公司 | 一种自动化的fpga故障注入测试***以及方法 |
CN114089161A (zh) * | 2021-11-19 | 2022-02-25 | 浙江大学 | 一种基于Zynq芯片的自动化故障注入***及方法 |
CN114661531A (zh) * | 2022-02-28 | 2022-06-24 | 成都市硅海武林科技有限公司 | 一种针对fpga的细粒度自修复电路和方法 |
WO2023019745A1 (zh) * | 2021-08-19 | 2023-02-23 | 无锡中微亿芯有限公司 | 通过复用缓冲内存提高关键配置码流可靠性的fpga |
US11604696B2 (en) | 2021-08-19 | 2023-03-14 | Wuxi Esiontech Co., Ltd. | Field programmable gate array (FPGA) for improving reliability of key configuration bitstream by reusing buffer memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099625B1 (en) * | 2009-04-03 | 2012-01-17 | Xilinx, Inc. | Self-checking and self-correcting internal configuration port circuitry |
CN102636744A (zh) * | 2012-04-24 | 2012-08-15 | 中国科学院空间科学与应用研究中心 | 一种检测fpga单粒子效应与其时序特性关系的装置及方法 |
CN106802645A (zh) * | 2016-12-21 | 2017-06-06 | 北京时代民芯科技有限公司 | 一种fpga单粒子翻转故障模拟***和方法 |
CN107678896A (zh) * | 2017-09-13 | 2018-02-09 | 湖南斯北图科技有限公司 | 一种sram型fpga翻转故障注入器及故障注入方法 |
-
2019
- 2019-03-22 CN CN201910219751.5A patent/CN109858195B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099625B1 (en) * | 2009-04-03 | 2012-01-17 | Xilinx, Inc. | Self-checking and self-correcting internal configuration port circuitry |
CN102636744A (zh) * | 2012-04-24 | 2012-08-15 | 中国科学院空间科学与应用研究中心 | 一种检测fpga单粒子效应与其时序特性关系的装置及方法 |
CN106802645A (zh) * | 2016-12-21 | 2017-06-06 | 北京时代民芯科技有限公司 | 一种fpga单粒子翻转故障模拟***和方法 |
CN107678896A (zh) * | 2017-09-13 | 2018-02-09 | 湖南斯北图科技有限公司 | 一种sram型fpga翻转故障注入器及故障注入方法 |
Non-Patent Citations (2)
Title |
---|
RONGSHENG ZHANG ET AL.: "A fast fault injection platform of multiple SEUs for SRAM-based FPGAs", 《MICROELECTRONICS RELIABILITY》 * |
祝周荣 等: "抗 SEU动态刷新FPGA的仿真验证技术研究", 《数字技术与应用》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090584A (zh) * | 2019-11-25 | 2020-05-01 | 大唐半导体科技有限公司 | 一种fpga平台ip原型快速验证方法及*** |
CN111274183A (zh) * | 2020-02-21 | 2020-06-12 | 山东超越数控电子股份有限公司 | 多路高速协议接口动态可重构***及实现方法 |
CN111680467A (zh) * | 2020-06-08 | 2020-09-18 | 重庆邮电大学 | 一种用于5g终端模拟器pdcch盲检测的fpga设计方法 |
CN111881636A (zh) * | 2020-07-07 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于risc-v芯片的仿真调试方法及装置 |
CN111881636B (zh) * | 2020-07-07 | 2021-05-04 | 广芯微电子(广州)股份有限公司 | 一种基于risc-v芯片的仿真调试方法及装置 |
CN112527361A (zh) * | 2021-02-08 | 2021-03-19 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
CN112527361B (zh) * | 2021-02-08 | 2021-05-11 | 鹏城实验室 | Fpga测试程序更新方法、装置、电子设备及存储介质 |
CN113253097B (zh) * | 2021-05-31 | 2021-09-21 | 中国人民解放军国防科技大学 | 一种基于整帧翻转的sram型fpga故障注入加速试验方法 |
CN113253097A (zh) * | 2021-05-31 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种基于整帧翻转的sram型fpga故障注入加速试验方法 |
CN113254288A (zh) * | 2021-06-02 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种星载设备中fpga单粒子翻转故障注入方法 |
CN113254288B (zh) * | 2021-06-02 | 2021-09-21 | 中国人民解放军国防科技大学 | 一种星载设备中fpga单粒子翻转故障注入方法 |
CN113268263A (zh) * | 2021-06-10 | 2021-08-17 | 北京无线电测量研究所 | 一种fpga的回读刷新方法和*** |
CN113268263B (zh) * | 2021-06-10 | 2024-06-07 | 北京无线电测量研究所 | 一种fpga的回读刷新方法和*** |
WO2023019745A1 (zh) * | 2021-08-19 | 2023-02-23 | 无锡中微亿芯有限公司 | 通过复用缓冲内存提高关键配置码流可靠性的fpga |
US11604696B2 (en) | 2021-08-19 | 2023-03-14 | Wuxi Esiontech Co., Ltd. | Field programmable gate array (FPGA) for improving reliability of key configuration bitstream by reusing buffer memory |
CN113886158A (zh) * | 2021-09-28 | 2022-01-04 | 北京时代民芯科技有限公司 | 一种自动化的fpga故障注入测试***以及方法 |
CN113886158B (zh) * | 2021-09-28 | 2024-04-02 | 北京时代民芯科技有限公司 | 一种自动化的fpga故障注入测试***以及方法 |
CN114089161A (zh) * | 2021-11-19 | 2022-02-25 | 浙江大学 | 一种基于Zynq芯片的自动化故障注入***及方法 |
CN114661531A (zh) * | 2022-02-28 | 2022-06-24 | 成都市硅海武林科技有限公司 | 一种针对fpga的细粒度自修复电路和方法 |
CN114661531B (zh) * | 2022-02-28 | 2023-08-29 | 成都市硅海武林科技有限公司 | 一种针对fpga的细粒度自修复电路和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109858195B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858195A (zh) | 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** | |
US6286114B1 (en) | Enhanced embedded logic analyzer | |
US6986125B2 (en) | Method and apparatus for testing and evaluating a software component using an abstraction matrix | |
US8627249B1 (en) | Method and system for generating design constraints | |
Graham | Logical hardware debuggers for FPGA-based systems | |
US7610568B2 (en) | Methods and apparatus for making placement sensitive logic modifications | |
US7756695B2 (en) | Accelerated simulation and verification of a system under test (SUT) using cache and replacement management tables | |
US20070005323A1 (en) | System and method of automating the addition of programmable breakpoint hardware to design models | |
US8788993B2 (en) | Computer system for generating an integrated and unified view of IP-cores for hierarchical analysis of a system on chip (SoC) design | |
CN106098104B (zh) | Fpga芯片内嵌bram核的测试***及方法 | |
US20070005322A1 (en) | System and method for complex programmable breakpoints using a switching network | |
Attia et al. | StateMover: Combining simulation and hardware execution for efficient FPGA debugging | |
US20060259834A1 (en) | Method and system for debug and test using replicated logic | |
CN109254883B (zh) | 一种片上存储器的调试装置及方法 | |
US6959272B2 (en) | Method and system for generating an ATPG model of a memory from behavioral descriptions | |
Ullah et al. | An FPGA-based dynamically reconfigurable platform for emulation of permanent faults in ASICs | |
US8265918B1 (en) | Simulation and emulation of a circuit design | |
US8245166B2 (en) | Optimal correlated array abstraction | |
Alderighi et al. | A tool for injecting SEU-like faults into the configuration control mechanism of Xilinx Virtex FPGAs | |
US6131079A (en) | Method and device for automatic simulation verification | |
US9864830B1 (en) | Method and apparatus for placement and routing of circuit designs | |
US9672094B1 (en) | Interconnect circuitry fault detection | |
Kafka et al. | FPGA-based fault simulator | |
Napoles et al. | Radiation environment emulation for VLSI designs: A low cost platform based on Xilinx FPGA's | |
CN111079356B (zh) | 一种单粒子加固有效性***级验证方法 |
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 |