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

embedded/2025/1/12 1:08:28/

        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 模式或边界扫描配置模式下完成,这样能有效地提高系统的工作效率和可靠性能。


http://www.ppmy.cn/embedded/153167.html

相关文章

Kafka 深度剖析

Kafka 深度剖析:从基础概念到集群实战 在当今大数据与分布式系统蓬勃发展的时代,Apache Kafka 作为一款极具影响力的分布式发布 - 订阅消息系统,宛如一颗璀璨的明星,照亮了数据流转与处理的诸多场景。它由 LinkedIn 公司于 2010 年…

前端实时显示当前在线人数的实现

实时显示当前在线人数的实现 本文档提供了在网页上实时显示当前在线人数的多种实现方法,包括使用 WebSocket 实现实时更新和轮询方式实现非实时更新。 方法一:使用 WebSocket 实现实时更新 服务器端设置 通过 Node.js 和 WebSocket 库(如 …

STM32的存储结构

STM32F103 芯片是基于 ARM Cortex-M3 内核的微控制器,它集成了多种类型的存储器,每种存储器都有其特定的作用和存储对象。以下是关于 STM32F103 中 Flash、ROM 和 SRAM 的详细介绍: 1. Flash Memory (闪存) 作用:Flash 是非易失性…

浅析大语言模型安全和隐私保护国内外标准和政策

过去两年,大模型技术已经普及并逐步渗透到各行各业,2025年注定是大模型应用井喷式发展的一年,AI在快速发展的同时,其带来的安全风险也逐渐凸显。人工智能系统的安全性和隐私保护已经成为社会关注的重点。 附下载:600多…

PyCharm创建Django程序

查找关闭端口 netstat -ano | findstr :8000 taskkill /PID 21376 /F 1、pip install django 2、创建项目 django-admin startproject mydjango 3、运行django项目 python manage.py runserver 4、创建应用 python manage.py startapp myapp 5、注册应用:在 mydjang…

【神经网络中的激活函数如何选择?】

在神经网络中,激活函数的选择对于模型的性能和学习效率至关重要。以下是一些关于如何选择激活函数的建议: 一、隐藏层中的激活函数选择 ReLU及其变体: ReLU(Rectified Linear Unit,修正线性单元)&#xff…

多模态人工智能在零售业的未来:通过GPT-4 Vision和MongoDB实现智能产品发现

多模态人工智能在零售业的未来:通过GPT-4 Vision和MongoDB实现智能产品发现 引言 想象一下,顾客在购物时只需上传一张他们所期望的服装或产品的照片,几分钟内便能收到来自他们最喜欢的商店的个性化推荐。这就是多模态人工智能在零售领域所带…

【NLP 19、词的向量化和文本向量化】

祝我们都能在各自的选择中渐入佳境 —— 25.1.8 一、向量化 向量对于机器学习非常重要 大量的算法都需要基于向量来完成 1.文本向量化 对于机器来说,字符是没有含义的,只是有区别 只使用字符无法去刻画字与字、词与词、文本与文本之间的关系 文本转…