当前位置: 首页 > ai >正文

配置刷新技术

FPGA 片上三模冗余( TMR) 设计结合配置刷新( Scrubbing) 的防护方法能够有效地提高系统的抗单粒子翻转性能。

        三模冗余的方法利用模块三冗余及三取二自动表决来掩蔽错误,但是如果错误积累到一定程度,导致同时有两个或两个以上模块发生翻转错误,三模冗余的掩蔽功能就会失效。因此,必须利用配置刷新及时纠正已发生的翻转错误。

        配置刷新的方法通过连续的回读检测或周期性的回写及时纠正翻转错误。这种方法通常需要连续地占用配置端口,这就限制了部分FPGA 的局部重构( Partial Reconfiguration) 功能。

        FPGA 的局部重构是指在系统运行的情况下,对设计中的某些子模块进行功能的升级或修改。这种功能在航天应用中有重要意义。

配置刷新一般有全局复位刷新和动态刷新两种方法。

        全局复位刷新的方法是指,在每隔一定时间拉低FPGA 的PROG 管脚,对FPGA 进行全局的重配置,完成刷新。这种方法会造成FPGA 的功能中断。动态刷新是指,在不中断FPGA 功能的情况下,对FPGA 内部的配置空间进行整体或局部的刷新。

配置刷新能够有效纠正FPGA 中发生的单粒子翻转错误。其基本思想是将正确的配置数据按照一定的规则写入到FPGA 的配置空间内,刷新其内容。

通常来讲,实现配置刷新需加入额外的配置控制器来控制刷新的过程。其系统结构示于下图。


        图中左侧的存储器中存储着原始的配置数据,为了防止其中的配置数据受到单粒子效应的影响发生翻转,通常该存储器采用抗单粒子翻转的存储器件,如PROM 等。

        配置存储器用于控制整个刷新的过程,通过配置端口对目标FPGA 的配置空间进行刷新。目标FPGA 中是待保护的设计实体,其中的配置端口可以是JTAG、Select MAP 及ICAP 中的一种。

按照配置刷新过程中写入规则的不同,可以将配置刷新的方法分为检测刷新和直接刷新两大类。

1 检测刷新

        这种方法利用FPGA 的回读功能,将配置空间中的数据进行回读,然后与外部的原始配置数据进行比较校验,检测出错误后,对出错帧进行刷新,完成纠错。比较校验的方法通常有两种: 一种是直接将回读数据与原始配置数据进行比较,另一种是比较二者的编码值( 例如: CRC 码) 。检测刷新能够准确地发现并纠正翻转错误,但控制逻辑相对复杂。

2 直接刷新

        与检测刷新不同,直接刷新的方法省掉了比较检测的过程,只是周期性地对配置空间进行逐帧的刷新。这种方法的控制逻辑相对简单,但对FPGA 的写入操作明显增多,将增大写入过程中发生故障的概率。

http://www.xdnf.cn/news/10601.html

相关文章:

  • 【Python 进阶3】常见的 call 和 forward 区别
  • JavaSE 字符串:深入解析 String、StringBuilder与 StringBuffer
  • 第十章:Next的Seo实践
  • 力扣HOT100之多维动态规划:62. 不同路径
  • C. Basketball Exercise
  • Vue-6-前端框架Vue之基于Plotly.js绘制曲线
  • 3,信号与槽机制
  • BUUCTF[ACTF2020 新生赛]Include 1题解
  • NVM,Node.Js 管理工具
  • 【Delphi】接收windows文件夹中文件拖拽
  • (Python网络爬虫);抓取B站404页面小漫画
  • Python-matplotlib库之核心对象
  • 设计模式——备忘录设计模式(行为型)
  • Kotlin 中 companion object 扩展函数详解
  • Java连接Redis和基础操作命令
  • 【Linux】Ubuntu 20.04 英文系统显示中文字体异常
  • 什么是线程上下文切换?
  • 【SpringBoot】| 接口架构风格—RESTful
  • 概率统计:AI大模型的数学支柱
  • Linux--进程概念
  • 【redis实战篇】第七天
  • 03- javascript的运行原理
  • 启动metastore时报错MetaException(message:Version information not found in metastore
  • 海底三维可视化平台
  • 使用Python进行函数作画
  • azure devops 系列 - 常用的task
  • C++面向对象编程:类与对象详解
  • CppCon 2014 学习:(Costless)Software Abstractions for Parallel Architectures
  • 已有的前端项目打包到tauri运行(windows)
  • Python应用range函数初解pro