设置数据的抗辐照加固方法

打印 上一主题 下一主题

主题 970|帖子 970|积分 2910

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        SRAM 型FPGA 的设置存储器可以当作是由0 和1 组成的二维阵列,帧的高度为矩阵阵列的高度,相同结构的设置帧组成设置列,如CLB 列、IOB 列、输入输出互联(Input Output Interconnect,IOI)列、全局时钟(Global Clock, GCLK)列、BRAM 列和BRAM 互联列。设置存储器阵列由3 个独立的模块组成,即CLB 块(包含CLB、GCLK、IOB、IOI)、BRAM块和BRAM 互联块,其中这两个BRAM 块包含了SRAM 型FPGA 全部BRAM 单元的数据和互联,CLB 块则包含了FPGA 中可编程单元的全部设置信息。
  不同型号的SRAM 型FPGA 列数及每列对应的帧数有所区别,且在比特流中的位置也有差异。

1.设置数据容错方案

        回读是将内部设置存储器中的指定数据帧读出的过程,可以用来校验当前的设置数据是否精确。对于回读数据的校验,常用的方法有两种:一种方法是逐位比对法,另一种方法是CRC 校验。
1.1逐位比对法

        逐位比对法是将回读数据帧和原始的设置文件中比特流的位映射进行逐比特比较,如下图所示,但并非全部的回读数据都被用来校验,例如设置RAM 中的数据跟用户的计划相关且处于动态变化过程中,用户逻辑比特是为了内部寄存器状态而保留的存储器位置,下图 中的Mask 过滤文件就被用来过滤设置RAM 和用户逻辑比特。可见此过程必要保存设置文件以及过滤文件,而且过滤文件的大小与设置文件相同,如许增长了系统计划必要的存储器资源,因此该方法存在一定的局限性。

1.2CRC 校验

        相比之下,CRC 校验只必要保存精确的CRC结果值就能校验设置数据的精确性,对系统资源的消耗较少,因此常采用此方式进行回读校验。
           回读除了用于调试和验证外,还可以通过回读校验判断设置数据是否出现单粒子翻转,并对出现单粒子翻转的回读进行刷新操纵。刷新是一种简单的对FPGA设置数据进行重新写入的方法,刷新可以分为外部刷新和内部刷新两种方式。
  2.刷新

2.1外部刷新

        外部刷新示意图如下图所示,其中原始设置数据一般存储在外部的PROM 中,并通过JTAG 接口或SelectMAP 接口来读写设置数据,完成对内部设置RAM 的刷新操纵,此方案计划较为复杂,多出的外部PROM 也增长了系统的消耗。

2.2内部刷新

        内部刷新方式更加方便机动,如下图所示,该方式不必要外部存储器,依靠内部设置的ICAP 接口完成刷新时的读写操纵,大大缩短了读写时间,并简化了系统的计划。

        基于设置刷新方式进行SEU 故障修复又可分为定时刷新和局部重设置两种方式。
2.3定时刷新

        定时刷新就是以一定的刷新频率对FPGA 已写入的内容进行全局覆盖,该方式实现相对简单,但是由于缺乏故障检测操纵,大部分资源被浪费在了纠正已有的精确数据上,且易打断FPGA 的正常工作状态,导致刷新效率较低。
2.4局部设置

        而局部重设置手段则克服了如许的缺陷,和芯片的重启和完全重新设置不同,局部重设置可使新数据下载到芯片上指定的区域,而芯片的其他部分保持稳定甚至仍保持正常工作状态。对于Virtex-II 系列FPGA 而言,其动态重构和局部重设置可在Slave SelectMAP 模式或边界扫描设置模式下完成,如许能有效地进步系统的工作效率和可靠性能。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

温锦文欧普厨电及净水器总代理

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表