MSHE-SE:一种针对软错误的多层时空加固框架及评估方法
作者:王卓莉(Zhuoli Wang)、赵向宇(Xiangyu Zhao)、王硕(Shuo Wang)、田春生(Chunsheng Tian)、周静(Jing Zhou)、张耀伟(Yaowei Zhang)、冯汉旭(Hanxu Feng)以及陈雷(Lei Chen)
《Electronics》:MSHE-SE: A Multi-Tier Spatiotemporal Hardening Framework and Evaluation Method for Soft Error
Zhuoli Wang,
Xiangyu Zhao,
Shuo Wang,
Chunsheng Tian,
Jing Zhou,
Yaowei Zhang,
Hanxu Feng and
Lei Chen
【字体:
大
中
小
】
时间:2026年05月02日
来源:Electronics 2.6
编辑推荐:
摘要:随着基于SRAM的FPGA在多种应用场景中的广泛部署,FPGA的软错误抗扰能力变得至关重要。为了减少错误,当前的主流技术要么会产生显著的性能、功耗和面积(PPA)开销,要么表现出不足的容错能力。为了解决这种容错性与PPA之间的权衡,本研究在三层模块冗余(TMR)实现中减少了
摘要:随着基于SRAM的FPGA在多种应用场景中的广泛部署,FPGA的软错误抗扰能力变得至关重要。为了减少错误,当前的主流技术要么会产生显著的性能、功耗和面积(PPA)开销,要么表现出不足的容错能力。为了解决这种容错性与PPA之间的权衡,本研究在三层模块冗余(TMR)实现中减少了资源消耗,并在替代的粒度层次上采用了高效的加固方法。我们提出了一种多层时空加固框架和评估方法(MSHE-SE),在7000万门FPGA平台上实现了两个关键贡献:通过在整个FPGA EDA阶段集成时空方法,实现了从RTL到物理实现后网表的全面保护和全粒度保护;以及利用协同的JTAG和SEM机制进行双模故障注入验证。伪随机序列生成器模拟现实世界环境,以评估FPGA设计的平均故障间隔时间(MTBF)。最终,实验结果表明,与商业TMR工具相比,所提出的方法将LUT资源利用率降低了10.9-45.7%,并将系统MTBF平均提高了18.28倍。
1. 引言
现场可编程门阵列(FPGA)由于其灵活性、可定制性和对高并发性的支持,在从航空航天和核研究到数据中心和AI加速器的广泛应用中变得不可或缺。然而,随着工艺几何尺寸的缩小和逻辑密度的增加,FPGA越来越容易受到软错误的影响,特别是由辐射或带电粒子引起的单事件翻转(SEU)。这些瞬态故障可能会损坏配置RAM(CRAM)或用户数据路径,可能导致灾难性的系统故障。在FPGA的许多应用领域中,太空和军事任务通常是长期进行的,并在恶劣的环境中运行。高能核应用使FPGA直接暴露在强烈的粒子辐射下,要求FPGA具有卓越的单个器件抗辐射能力。此外,部署在高海拔或空中系统的电子设备所经历的辐射水平比海平面高出数十到数百倍[1,2]。即使是在大型地面应用中——如数据中心、云计算平台和电信基础设施——虽然不暴露在极端条件下,也涉及大量的FPGA节点。为了系统的整体稳定性,这些领域也对FPGA级别的辐射耐受性提出了严格的要求。传统上,采用TMR和擦除等容错设计方法来减轻软错误。尽管这些方法有效,但往往会导致显著的性能、功耗和面积(PPA)开销,限制了它们在资源或能源受限环境中的适用性。此外,现有的解决方案往往只在FPGA工具链的孤立阶段处理软错误抗扰性,缺乏统一和系统的加固架构。最近的全面调查进一步分析了基于FPGA的可重构系统中的可靠性挑战和保护策略[3,4]。
为了解决这些挑战,我们提出了MSHE-SE:一种针对软错误的多层时空加固和评估框架。该框架通过在FPGA开发的不同阶段集成加固技术,从寄存器传输级(RTL)到路由后的物理网表,提供了全面的全粒度时空抗扰解决方案。我们的关键贡献包括以下内容:
- 我们提出了一种时空加固框架和评估方法MSHE-SE,它由实时软错误缓解(RT-SEM)、分层同步TMR(HS-TMR)和自适应原位软错误缓解(AIP-SEM)驱动。上述技术结合传统的FPGA EDA流程,为FPGA设计提供了全流程的软错误抗扰性增强。
- 我们提出了一种JTAG/串行双模故障注入方法,该方法集成了JTAG和ICAP基方法。这为现实世界系统级别的MTBF提供了一种评估方法。
- 我们使用双模故障注入方法评估了MSHE-SE框架相对于Mentor’s Precision Hi-Rel的软错误抗扰性提升。实验结果表明,与商业TMR工具相比,我们的框架平均将MTBF提高了18.28倍,同时将LUT资源利用率降低了10.9-45.7%。
本文的其余部分组织如下:第2节介绍了软错误的基本机制和相关软错误缓解技术。第3节概述了所提出的多层加固框架及其在FPGA设计流程中的集成。第4节介绍了基于实时软错误缓解引擎(RT-SEM)的运行时加固策略。第5节和第6节分别讨论了在综合后和路由后阶段实现的静态加固策略。第7节描述了我们的双模故障注入和MTBF评估方法。第8节提供了证明我们框架有效性的实验结果,最后第9节总结了本文。
2. 背景和相关工作
2.1. FPGA中的软错误
软错误,也称为瞬态故障,不会对硅造成永久性损坏,但可以暂时改变逻辑或数据。在基于SRAM的FPGA中,SEU主要影响CRAM,导致逻辑行为持续变化,直到重新配置。与ASIC不同,FPGA的可编程和分布式内存架构使它们更容易受到这些故障的影响。
FPGA中的软错误通常分为以下几类:
- 单事件翻转(SEU):配置内存中的位翻转,影响LUT逻辑、路由或状态元素。
- 多位翻转(MBU):由高能粒子引起的相关位翻转,在高级节点中更为常见。
- 共模故障(CMF):由于共享路由或物理接近性,同时影响多个冗余分支的错误。
鉴于FPGA在关键系统中的脆弱性和部署增加,对全面和平衡的软错误缓解技术的需求也在增长。
2.2. 现有的加固技术
辐射加固技术可以大致分为硬件级和软件级方法。硬件加固包括使用辐射加固材料、制造工艺和特殊布局结构,这些通常由芯片供应商和制造技术控制。相比之下,软件级技术为最终用户提供了更大的灵活性和可访问性。这些包括TMR、擦除机制和原位容错算法。
TMR将逻辑模块复制为三个副本,并使用多数投票器来屏蔽瞬态故障[5]。这是最广泛采用的软件级缓解策略,但存在显著的PPA开销,并且对CMF(如共享路由翻转)敏感。此外,它不能纠正随时间累积的错误[6]。
擦除技术通过定期重新加载配置内存[4,7]来处理累积的SEU,通常与TMR结合使用,但在擦除间隔期间仍会留下漏洞窗口[1]。擦除技术还会引入额外的电路面积和复杂性,需要在开销和有效性之间进行仔细权衡。
原位容错算法针对LUT中未使用或无关紧要的配置位。通过使用面向错误的重新综合来优化这些空闲位,它们有助于减轻上游逻辑锥中由SEU引起的错误。这种技术引入的PPA开销可以忽略不计,但会增加EDA工具的运行时间,仍然无法解决累积的软错误。
这三类软件缓解技术是独立的。它们可以共同作用,进一步增强FPGA设计的软错误抗扰性。
3. 多层加固技术
图1展示了所提出的多层时空加固框架。灰色部分表示传统的FPGA EDA设计流程。为了为FPGA提供足够的软错误抗扰能力,本研究在不同的FPGA EDA阶段引入了多种加固策略。这些策略分为运行时加固和静态加固。运行时加固在设计阶段实施。通过加入额外的RT-SEM核心,它能够在FPGA设计的运行时检测和纠正软错误。图1显示了多层加固技术及其在传统FPGA EDA流程中的位置。静态加固包括两个步骤:TMR加固和AIP-SEM加固。前者在综合后和技术映射阶段执行,提供基本的软错误抗扰性,但也会产生显著的性能、面积和功耗(PPA)开销。本研究采用了关键技术,包括系统层次结构和状态同步,以减少TMR的逻辑资源消耗。随后,在放置和路由后阶段引入了一种启发式的原位容错算法,以进一步提高FPGA的可靠性,而不会增加额外的PPA开销。
此外,我们还提出了一种双模JTAG/串行故障注入方法,能够利用ICAP评估实时加固技术,从而支持RT-SEM技术。
4. 设计阶段的运行时加固
在设计阶段,FPGA设计通常用HDL表示。在这种更高的抽象层次上,软错误缓解通常通过引入额外资源来实现,包括TMR和补充的擦除电路。在这项研究中,我们提出了一种实时软错误缓解(RT-SEM)技术,它采用解耦架构,无需修改用户的HDL代码。RT-SEM可以在毫秒级别实现修复延迟,同时专门保护CRAM,仅增加15%到20%的资源开销。
RT-SEM由汉明码驱动,具有三个阶段,如图2所示,包括预计算阶段、运行时检测阶段和错误校正阶段[8]。与传统的单粒度擦除相比,最近受大脑启发的混合粒度方法[9]在恢复效率方面显示出显著改进。
4.1. 预计算阶段
第一阶段是预设置汉明码,这些汉明码可以检测和纠正单比特错误,同时通过策略性地添加奇偶校验位来识别双比特错误。此阶段在设计开始之前预先计算每个配置帧的奇偶校验位。此外,为了避免在运行时错过软错误,预计算阶段应尽可能早开始,即在比特流下载完成后立即开始。
计算完成后,每个配置帧的奇偶校验位存储在BRAM中,如图2所示,其中奇偶校验位位于索引2i处,数据位位于其余索引处,额外的奇偶校验位位于索引0处。
以长度为k位的数据字为例,我们使用以下公式确定所需的奇偶校验位数r:
(1) 以Xilinx Virtex-7 XC7VX690T FPGA设备(Xilinx公司,美国加利福尼亚州圣何塞)为例。690T FPGA的一个帧包含3232个配置位。为了保护这些位,我们需要r等于12。因此,存储奇偶校验位所需的BRAM长度为13,包括12个奇偶校验位和1个额外的奇偶校验位。
每个奇偶校验位覆盖特定的数据位,由其索引决定。索引i处的奇偶校验位覆盖位置i中第i位最低有效位为1的位。额外的奇偶校验位覆盖所有位。奇偶校验位和额外奇偶校验位的值通过以下公式计算:
(2) (3)
其中i表示位置i的位,⊕表示异或运算。
需要注意的是,由于HS-TMR和AIP-SEM之后会改变配置位,因此这些奇偶校验位直到比特流部署到目标设备时才会被计算。
此外,预计算阶段以及后续阶段使用ICAP接口来启用对配置帧的访问。ICAP允许FPGA在运行时使用片上接口重新配置FPGA[10],但与JTAG配合使用效果不佳,我们将在第7节中讨论这一点。
4.2. 运行时检测阶段
运行时检测阶段在所有帧奇偶校验位计算完成后立即开始。在此阶段,RT-SEM通过ICAP读取所有帧数据(–)及其奇偶校验位(–)从BRAM中读取,并逐一读取额外的奇偶校验位()。这些位按照图2所示的顺序排列,用于计算SYNDROME标志信号。SYNDROME信号长度为13位,计算公式如下:
(4) (5)
其中i表示运行时数据位,是及其对应数据位的异或结果,SYNDROME[12]是新的额外奇偶校验位。
SYNDROME信号指示软错误类型,如图2所示。当和都为0时,没有错误位。当为1且不为0时,有一个错误位,表示错误位的地址。当为1但不为0时,有一个错误位发生在额外的奇偶校验位上。当为0但不为0时,有两个错误位,地址未知。
4.3. 错误校正阶段
一旦检测到软错误并更新了SYNDROME信号,就开始错误校正阶段。如图2所示,RT-SEM根据软错误类型采取不同的行动。当有0位错误或额外的奇偶校验位错误时,RT-SEM不采取任何行动。当有1位错误时,RT-SEM仅翻转错误位。当有2位或更多位错误时,RT-SEM将使用ICAP和存储在外部闪存中的比特流重新配置帧。此外,要激活多位校正功能,需要将比特流下载到外部闪存中。**合成后的静态加固**
在合成之后,可以提取出FPGA实现的关键细节,如层次结构和寄存器反馈循环。这有助于借助系统划分技术和状态同步技术[6],更细致地实现HS-TMR技术。
**5.1 系统划分**
传统的TMR设计可以在单个冗余模块内屏蔽故障。然而,如果多个同时发生的单粒子翻转(SEU,用红色箭头标记)在多个冗余模块中触发功能错误,这些错误会累积并通过电路传播。这种累积的错误很容易超过传统TMR实现的容错限制。系统划分技术通过在三重化电路中部署多个分阶段的投票器来增强HS-TMR的实现,如图3所示。这种划分隔离了多个SEU,阻止了它们在电路中的传播,确保在大多数情况下,即使多个冗余模块失效,系统仍能保持功能[11]。图3. 分割HS-TMR设计的错误缓解。系统划分技术以非常直接和明显的方式提高了FPGA的软错误抵抗力。然而,这也带来了额外的资源消耗,并增加了设计的临界路径长度,从而产生了负面的时序效应。分区太少可能无法达到所需的软错误抵抗力,而分区太多则可能导致性能下降和资源过度消耗。因此,需要探索最佳的层次结构数量,以平衡电路的面积、性能和可靠性。
**5.2 状态同步**
当SEU发生时,电路的状态也容易受到影响。这对于具有寄存器反馈循环的顺序电路尤其如此,即使使用了传统的TMR进行加固。然而,如果冗余模块中的一个寄存器反馈循环出现错误,该模块的状态将不会与其余两个冗余模块保持同步。如图4a所示,SEU影响了冗余分支3的下一状态逻辑,使其输出从值2变为值0。错误继续传播,导致冗余分支3的状态与其他两个分支不同步。在这种情况下,尽管最终投票器能够屏蔽该冗余分支的错误值,但由于第三个冗余分支的值不同步,电路的可靠性大大降低,任何一个剩余冗余分支的错误都会导致整个TMR电路失效。图4. 在SEU影响下的TMR设计的状态变化:(a) 无状态同步;(b) 有状态同步。传统的网表级TMR方法,如Precision Hi-Rel 2018.1(Siemens EDA,美国俄勒冈州威尔逊维尔),在所有或大多数触发器后插入投票器[12]。这种基于寄存器的投票器插入策略可以提高故障屏蔽能力,但也会引入大量冗余投票器,从而导致相当大的面积和时序开销。
为了解决上述问题,我们提出了一种状态同步技术,该技术可以利用其他两个冗余分支的正确寄存器值来恢复受SEU影响的那个分支的寄存器到正确状态。与在所有触发器后插入投票器不同,所提出的方法仅在通过图分析确定的寄存器反馈循环上插入同步投票器。状态同步技术的关键是在设计中寻找寄存器反馈循环,这需要三个步骤:构建有向无环图(DAGs)、检测反馈循环和放置同步投票器。
**5.2.1 构建DAGs**
直接在RTL网表中定位寄存器反馈循环非常复杂。与代码形式描述相比,使用基于图的表示方法来识别这些循环更为高效。因此,第一步是从RTL网表生成DAGs。
**5.2.2 检测反馈循环**
本研究进一步将DAGs中反馈循环的位置重新定义为图中强连通分量(SCCs)的识别。图中的SCCs是从每个节点到其他每个节点都存在路径的最大子图。SCC的定义导致了以下推论[13]:
- 每个SCC至少包含一个循环;
- 没有一个循环跨越多个SCC;
- 图之外的没有循环;
- 不参与任何循环的节点不会出现在任何SCC中。
SCC分解是找到图中所有反馈循环的过程,其中对DAGs中的所有节点应用深度优先搜索(DFS)。
**5.2.3 放置同步投票器**
在识别出所有反馈循环后,需要确定投票器在循环内的最佳位置。这一选择将严重影响电路的面积和性能。
在这项研究中,我们提出了一种启发式方法来最小化临界路径的长度增加。该方法找到反馈循环中寄存器对之间延迟最小的逻辑路径,并在反馈循环的末端插入投票器。
**5.3 共模错误**
当设计完全采用TMR时,从网表的角度来看,除了一个投票器外不会发生故障。然而,我们在FPGA板上对TMR电路进行了故障注入测试,结果表明仍然存在许多故障。通过故障定位和分类,我们发现大多数故障发生在互连上。这些特定的故障源于设计实现。它们不同于由于TMR不足而导致的常规故障。单个配置位的翻转会同时影响多个TMR分支,从而导致电路故障[14]。这些故障被称为共模故障(CMFs)。
当TMR设计在FPGA中实现时,会发生CMFs。这是因为TMR的多个冗余分支可能会受到设备底层架构中同一配置位的影响。例如,单个配置位的翻转可能导致互连线短路或开路,从而影响多个TMR冗余分支或投票器电路。CMFs的存在限制了TMR提供的最大软错误抵抗力。
为了减少CMFs,我们提出了一种基于路由网络的分布式布局技术。该技术物理上分离并限制了TMR电路的三个冗余分支。然而,强制分离这些模块会影响电路的时序性能。分离距离会影响设计的性能和软错误抵抗力。如果分布式分支之间的空间太小,冗余分支之间共享的关键资源仍可能触发CMF。相反,电路之间的空间过大则会降低时序性能。
我们使用CLB的数量n来表示冗余分支之间的空间,并引入了一个评估函数:
\[ \text{评估函数} = f(n, \text{时序性能指标}, \text{软错误抵抗力指标}) \]
其中\(\text{时序性能指标}\)是具有n个CLB的TMR电路的时序性能指标,\(\text{软错误抵抗力指标}\)是n空间TMR电路的软错误抵抗力指标,\(\alpha\)和\(\beta\)是权重因子,会根据实际需求进行调整。需要更高的时序性能时,\(\alpha\)的值会更大;相反,在辐射敏感领域,\(\beta\)的值会设置为大于1。更具体地说,参数\(\alpha\)和\(\beta\)通过方程(7)和(8)进行归一化并映射:
\[ \alpha = \frac{\text{时序性能指标}}{n}, \beta = \frac{\text{软错误抵抗力指标}}{n} \]
为了进一步验证参数\(\alpha\)和\(\beta\)对不同策略的影响,进行了敏感性研究。实验使用了OpenFPGA基准测试中的fft、fir、qsort和sobel作为测试用例。策略包括一个不使用TMR的简单版本(SIMPLEX),一个采用无约束策略的TMR版本(NOCON),以及六个采用不同分布式放置策略的TMR版本(0CLB、1CLB、2CLB、4CLB、12CLB和MAX)。
如表1所示,时序指标使用Xilinx Vivado 2020.2(Xilinx公司,美国加州圣何塞)进行测量。容错指标使用第7节讨论的 dual-mode故障注入方法进行测量。每个测试用例和配置的\(\alpha\)和\(\beta\)值也列在表1中。表1. 不同测试用例和配置下的时序、容错性和评估参数。基于上述数据,我们为每个测试用例绘制了四张图表,以说明\(\alpha\)、\(\beta\)和\(\text{评估函数}\)之间的关系,如图5所示。图5. 在不同\(\alpha\)和\(\beta\)值下的评估函数最大值:(a) FFT,(b) FIR,(c) QSORT,(d) SOBEL测试用例。FIR(图5b)和QSORT(图5c)中的最大值及其对应的\(\alpha\)和\(\beta\)值与我们在方程(6)中设计评估函数时的意图一致。\(\alpha\)越大,时序性能更好的策略更受青睐;\(\beta\)越大,共模错误抵抗力更好的策略更受青睐。然而,在FFT(图5a)和SOBEL(图5d)测试用例中,当\(\alpha\)较大时,时序性能更好的策略更受青睐,但当\(\beta\)较大时,共模错误抵抗力更好的策略并不更受青睐。这可能是因为FFT和SOBEL测试用例中不同策略的\(\beta\)值非常接近,使得评估函数对\(\alpha\)的变化更为敏感。
在实践中,我们建议将\(\alpha\)和\(\beta\)设置为默认值(1,1),对于辐射敏感领域设置为(1,2),对于性能敏感领域设置为(2,1)。
**合成后的静态加固(P&R阶段)**
在TMR和RT-SEM之后,FPGA设计获得了基本的软错误抵抗力。然而,这种能力伴随着巨大的PPA(功耗、面积和性能)消耗。多项研究[16,17]表明,基于合成的方法可以在最小化PPA开销的同时缓解SEU问题。
**6.1 闲置配置位**
在布局和布线之后,FPGA设计被描述为一个物理网表。物理网表包含FPGA设计的布局和布线信息,包括每个LUT的配置位。根据研究[17,18],LUT中有许多闲置配置位,包括未使用的配置位和无关紧要的配置位[19]。未使用的配置位指的是LUT上空闲的输入引脚。如[18]所述,所有输入都完全使用的LUT仅占总6-LUT数量的37.43%。也就是说,超过63%的6-LUT至少有一半的配置位未被使用。无关紧要的配置位是指无法访问的配置位,或者在任何配置值下都不会影响电路输出的配置位。然而,软错误会改变FPGA的配置,使这些无关紧要的配置位变得可访问并重要起来。因此,在讨论软错误时,需要关注这些无关紧要的配置位。
这些闲置配置位的不同配置值在正常条件下不会影响电路输出。然而,在发生软错误时,它们会对软错误抵抗力产生很大影响。这种差异激发了面向错误抵抗力的重新合成研究。
**6.2 配置位的软错误概率**
利用闲置配置位的第一步是计算软错误概率。配置位的软错误概率定义如下:
\[ \text{软错误概率} = \frac{\text{发生错误的概率}}{\text{输入计数} \times \text{输入模式的数量} \times \text{SEU发生时的主要输出模式} \]
根据方程(9),配置位的软错误概率是指在SEU影响该配置位时,在主要输出中发生错误的概率。因此,软错误概率为0的配置位是无关紧要的配置位。因此,可以通过总软错误概率计算来找到无关紧要的配置位的位置。然而,这样的计算消耗大量时间,因为计算复杂度随输入数量的增加而呈指数级增长。在提出的方法中,使用了[20]中展示的改进窗口技术。该技术将电路划分为多个子电路,从而减少了方程(9)中的N,大大降低了计算复杂度。基于子电路计算出的无关紧要集合是真正无关紧要集合的子集。为了确保覆盖所有无关紧要的配置位,窗口技术使用了三个关键特征。首先,窗口使用一种启发式的输入限制窗口技术进行扩展,该技术可以在一定的输入限制下最大化窗口体积(定义为窗口中的节点数量)。其次,重叠窗口技术将电路划分为多个重叠的窗口。因此,单个LUT会包含在多个重叠的窗口中,并具有几个不同的“无关位集”,如图6所示。最后,窗口沿着仿真方向扩展。这些技术可以进一步提高子电路内部软错误行为的准确性。图6展示了窗口技术的子电路。通过计算软错误概率,我们可以定量了解空闲配置位和其他所有位,从而进一步指导面向抗错误的重新合成。6.3. 在位复制对于FPGA中的LUT来说,一个未使用的输入引脚意味着有一半的配置位是空闲的。结合现代FPGA的双输出LUT结构,这种空闲状态可以作为冗余。图7显示了Xilinx Virtex-7 FPGA中的一个6-LUT,它由两个5-LUT组成,每个5-LUT连接到一个输出端。在这种情况下,6-LUT的一个输入引脚是空闲的。因此,可以将32个已使用的配置位复制到32个未使用的配置位中,然后根据配置位的软错误概率选择相应的逻辑类型,并最终将合并后的逻辑输出重新路由到原始输出。图7展示了在位复制算法的基本思想。6.4. 在位填充无关位也可以提高FPGA的软错误抗性。它们通常出现在重新收敛路径上,如图8a所示。来自A的信号通过两条不同的路径,并重新收敛到一个LUT。配置位是一个无关位,在黄金电路中无法被访问。然而,当网络或其输入锥体上的SEU(单粒子翻转)导致逻辑状态变化时,对该配置位的访问会变为对另一个配置位的访问,从而改变输出f的逻辑状态。图8b中的电路与图8a中的电路具有相同的功能和拓扑结构,但在上述错误情况下,输出f始终是正确的。因此,如果正确预设了无关位,LUT输入锥体中发生的错误可以在其内部被屏蔽。图8展示了在位填充算法中无关位填充的基本思想:(a) 一个重新收敛的结构,其中输入模式的配置位是一个无关位(用红色表示);(b) 在用适当的逻辑值填充无关位后相同的结构,以屏蔽传播的错误。A、B和C是主要输入,而和是内部信号。如上所述,在n-LUT中,无关位是在黄金输入向量下不会被访问的配置位。然而,在SEU的影响下,对无关位的相邻位(定义为与之汉明距离为1的配置位)的访问会变为对无关位本身的访问。因此,通过将无关位重新配置为其相邻位的逻辑状态,可以屏蔽由SEU引起的软错误。为了最小化n-LUT的整体软错误概率,应该将n-LUT内的无关位重新配置为适当的逻辑状态。表2显示了3-LUT中所有配置位的逻辑状态和软错误概率。配置位()是无关位,其软错误概率为0。配置位()、()和()是其相邻位,在表2中用灰色阴影表示。在这种情况下,配置位()的软错误概率最大,因此所提出的方法将其配置为逻辑状态。表2展示了3-LUT中无关位的重新配置策略。上述方法单次运行存在几个问题。首先,这些程序是启发式的,不能保证最优结果。其次,基于窗口计算出的无关位集只是实际无关位集的真子集。最后,当前无关位集的重新配置通常会产生新的无关位。因此,为了进一步优化结果,提出了迭代优化的方法。上述程序将执行多次,直到不再产生新的无关位。实验表明,只需几次迭代就可以获得稳定的结果。此外,AIP-SEM方法仅修改LUT的配置位,不会改变布局、布线资源、时钟结构、帧地址或任何其他设备级配置位。AIP-SEM之后生成的比特流不会影响实现的合法性。因此,所提出的方法可以轻松集成到传统的FPGA设计流程中。7. 在后置布局与布线(Post-P&R)阶段的可靠性评估当FPGA设计通过上述技术固化后,评估其软错误抗性非常重要。如上所述,当前的故障注入方法耗时很长,并且不支持ICAP接口[21]。本研究提出了一种双模式JTAG/串行故障注入方法。为了减少巨大的时间消耗,我们引入了一种随机故障注入技术,并结合了MTBF模型。为了支持ICAP接口,我们提出了一种基于JTAG/串行的新型故障注入方法。7.1. MTBF模型本文提出的故障注入方法在真实环境中模拟软错误,并记录在首次出现故障之前注入设计中的故障数量。实际MTBF为(10),其中i是设计的实际MTBF,是首次故障之前注入的故障数量。是设备上两次软错误之间的时间间隔,这在特定测试环境中是相同的特定设备。由于在给定实验条件下是一个常数,我们用作为MTBF的衡量标准。需要注意的是,上述假设是为了在固定实验条件下进行比较评估,而不是为了对所有辐射环境进行精确的物理建模。在实际设备中,由于架构和物理上的不均匀性,不同的功能区域可能会表现出不同的易扰动敏感性,使得成为一个复杂的函数。未来的工作将考虑一个包含变量在内的更细粒度的模型。7.2. 随机故障注入方法与遍历注入相比,所提出的方法使用随机注入,这模仿了软错误实际发生的方式。因此,该方法显著减少了故障注入工具的评估时间,超过82%,加快了对上述其他技术的反馈速度,并加快了设计周期。此外,为了减少测量MTBF的不准确性,上述故障注入过程将对每个设计重复30次。30次测量的MTBF的几何平均值将作为最终MTBF。因此,随机注入和遍历注入之间的相对误差小于10%。7.3. JTAG/串行双模式图9展示了所提出的双模式JTAG/串行故障注入方法的系统架构和数据流。这种硬件-软件协同设计集成了PC主机和FPGA评估板。图9展示了所提出的双模式JTAG/串行故障注入方法的系统架构。PC主机使用Qt 5.12(Qt公司,芬兰埃斯波)开发,执行故障注入控制软件,该软件指导测试序列并监控系统响应。这一层通过串行端口和JTAG下载器与硬件平台接口。评估板包括多个部分,如用户设计控制逻辑、用于注入和软错误缓解的RT-SEM、UART逻辑和片上资源。用户设计控制逻辑包含被测设备(DUT)电路、黄金电路和自动比较模块。RT-SEM可以使用ICAP注入比特翻转,这在JTAG被占用时无法实现。UART逻辑处理来自PC主机的命令,包括RT-SEM的注入命令、DUT和黄金电路的输入生成以及错误计数。数据流也在图9中说明:所提出的双模式故障注入框架支持JTAG和串行注入路径,同时共享相同的错误检测机制。在JTAG模式下,主机首先将比特流下载到FPGA,然后通过JTAG读取目标配置帧,在软件中修改选定的比特,并将修改后的帧写回配置内存以模拟比特翻转。在串行模式下,主机通过共享的串行接口向RT-SEM模块发送注入命令,RT-SEM模块直接通过ICAP将比特翻转注入配置内存。尽管注入机制不同,但两种模式都使用相同的用户设计控制逻辑、输出比较模块和基于UART的错误计数路径来评估注入的故障效果。因此,所提出的框架可以在基于JTAG的注入和基于串行的注入路径之间灵活切换,为故障注入实验提供了一个统一且实用的平台。所有电路都在FPGA评估板上物理实现,提供了测量接口和仪器访问点。这种架构使我们提出的MSHE框架得以评估。8. 实验结果所提出的方法在Ubuntu 20.04上使用C++实现。所有实验都在配备3.2 GHz Intel Core i7-12900K处理器(英特尔公司,美国加州圣克拉拉)和16 GB内存的工作站上进行。测试用例选自OpenFPGA基准测试套件。传统的FPGA EDA设计流程使用Xilinx ISE 14.7(Xilinx公司,美国加州圣何塞)完成。对于每个测试用例,比特流由我们的脚本生成,并部署在配备Xilinx XC7VX690T FPGA设备(Xilinx公司,美国加州圣何塞)的评估板上。在这项研究中,我们选择了Precision Hi-Rel(Mentor Graphics,美国俄勒冈州威尔逊维尔)作为对照组。Precision的TMR设计使用了分布式TMR(DTMR)模式,顶层输入/输出被配置为收敛。8.1. 软错误抗性表3总结了在不同软错误缓解策略下各种测试用例的平均故障间隔时间(MTBF)。与原始的未受保护设计相比,完整的MSHE框架使系统可靠性提高了243.79倍。Precision TMR作为行业基准,在多个基准测试中平均提高了13.33倍。这证实了其在故障屏蔽方面的有效性,尽管在某些基准测试中的改进效果适中,例如blowfish(4.81倍)和loop(13.93倍)。表3显示了我们提出方法的MTBF评估结果(单位:小时)。我们提出的策略显示出更大的收益。RT-SEM + TMR的组合使MTBF平均提高了206.01倍,显著超过了Precision TMR的15倍以上。这一提升主要归因于实时配置擦除的集成,它有效地消除了运行时累积的错误,这是传统TMR的一个已知限制。完整的框架(MSHE),将AIP集成到RT-SEM + TMR中,进一步将平均MTBF提高了243.79倍。这相当于比RT-SEM + TMR单独使用额外提高了1.18倍。虽然与Precision TMR相比这一提升幅度不大,但它表明AIP提供了额外的软错误抗性,特别是在TMR或运行时修复未能完全保护的逻辑锥或LUT配置中。有趣的是,当单独应用AIP时,其平均MTBF比原始提高了1.18倍,表明其优化效果相对较轻。MSHE相对于RT-SEM + TMR的边际效益表明,AIP的优化空间与TMR和擦除已经提供的保护有一定的重叠,这突显了多层次加固对于边缘情况故障的价值。为了进一步讨论本文提出的随机故障注入方法的有效性,我们跟踪了图10中30次故障注入运行中的几何平均值变化。图10展示了在不同缓解策略下gsm测试用例的实验次数与MTBF几何平均值的关系。应当注意的是,由于故障注入过程本身在方法论上是随机的,因此本工作中的随机故障注入方法表现出相当大的变异性。在每次运行中,注入的帧和位都是从候选配置空间中随机选择的,实验记录了在检测到第一个可观察的功能故障之前所需的注入次数。因此,即使使用相同的注入设置,两次运行也可能产生非常不同的故障前注入次数,这取决于何时遇到高敏感度位。出于这个原因,采用几何平均数作为主要的总结指标,因为它能更稳健地估计随机故障注入行为。如图10所示,几何平均数在10到15次运行后趋于稳定。然而,几何平均数并不能完全捕捉到分布的尾部行为,可能会低估罕见但显著的偏差。因此,报告的MTBF值应该被视为一个稳定的中心趋势,而不是一个精确的统计期望值。
8.2. 资源利用
表4显示了不同缓解策略下的资源利用情况。在LUT利用方面,我们的方法(4.47倍)相比Precision Hi-Rel TMR(5.90倍)具有优势,表明LUT实现更高效。然而,我们的方法中Flip-Flop(FF)的利用仍然相对较低,Precision TMR的FF效率略高(平均开销为3.39倍对比4.33倍)。这表明在FF密集型电路设计中有潜在的优化机会。值得注意的是,原始实现和AIP实现之间的资源消耗是相同的(均为1.00倍的开销)。这验证了AIP的关键优势:在不增加额外硬件资源开销的情况下提供增强的可靠性。同样,RT-SEM + HS-TMR和MSHE配置之间的资源指标也相同(均为4.47倍LUT开销和4.33倍FF开销),这证实了MSHE实现没有引入超出RT-SEM和HS-TMR技术组合的额外硬件负担。此外,HS-TMR与RT-SEM + HS-TMR实现之间的差距在各种基准测试中表现出一致的增量开销模式,揭示了RT-SEM的关键操作原理。如表4所示,LUT利用在各种基准测试中以近乎恒定的绝对值增加(平均增加418个LUT),相对变化很小(±204个LUT)。这种增长表明RT-SEM作为一个固定资源模块,其错误检测电路无论应用复杂度如何都能带来可预测的硬件成本。
资源利用模式进一步揭示了每种缓解策略的独特硬件开销特性。如表4所示,AIP保持了与原始实现相同的LUT利用(平均开销为1.00倍),证明了其硬件透明的保护机制,通过指令级加固不增加任何额外资源成本。相比之下,HS-TMR是主要的开销组成部分,LUT利用平均增加了4.14倍,主要是通过三重复制逻辑和投票电路实现空间冗余。观察到的资源权衡主要源于所提出框架的不同优化目标。一方面,HS-TMR通过避免直接的网表级复制,并应用层次感知的分区和选择性同步来减少LUT密集型冗余,而AIP-SEM不引入额外的硬件开销。这导致与商业TMR工具相比LUT利用明显减少。另一方面,所提出的框架更依赖于顺序结构,包括反馈状态同步和RT-SEM运行时控制逻辑,其开销更可能体现在触发器使用上。因此,所提出的方法实现了较低的LUT开销,但FF开销略高。这种权衡是有意的,因为它用显著提高的可靠性和较低的逻辑面积压力换取了部分顺序资源成本。
为了进一步说明硬件开销与可靠性提升之间的权衡,图11和图12分别绘制了不同缓解策略在LUT开销与MTBF增益以及FF开销与MTBF增益方面的分布。图11显示了不同缓解策略的LUT开销与MTBF增益关系;紫色十字表示MSHE的平均值。图12显示了不同缓解策略的FF开销与MTBF增益关系;紫色十字表示MSHE的平均值。需要注意的是,两个测试用例fft和loop在MTBF与FF开销分布上与平均值有较大偏差。对于fft,偏差主要是由于采用的TMR选择性策略导致的资源-可靠性权衡,这与大多数基准测试不同。对于loop,偏差主要是由于所提出框架中RT-SEM引入的固定硬件开销造成的。由于原始loop设计本身的LUT和FF资源有限,添加几乎固定量的加固逻辑导致了不成比例的大幅标准化开销。
8.3. 时序结果
表5分析了各种测试用例在不同配置下的时序指标,包括最坏负松弛时间(WNS,单位为ns)和最大工作频率(Fmax,单位为MHz)。原始配置的Fmax值被标准化为1.00倍,而Precision TMR和MSHE配置的Fmax分别为原始配置的0.73倍和0.80倍。为了更好地可视化时序-可靠性权衡,图13和图14分别显示了不同缓解策略在标准化Fmax与MTBF增益以及WNS与MTBF增益方面的分布。Precision TMR提供了适度的MTBF提升,但时序性能有所下降,并且在lowfish测试用例中记录了相对较大的偏差。相比之下,MSHE在保持更好时序性能的同时,始终实现了更高的MTBF提升。这种趋势在标准化Fmax和WNS视图中都可以观察到。平均点进一步证实了MSHE占据了更理想的操作区域,表明所提出的框架在实现更优的可靠性提升的同时,具有更平衡的时序开销。
图13显示了不同缓解策略的Fmax与MTBF增益关系;绿色十字表示MSHE的平均值。图14显示了不同缓解策略的WNS与MTBF增益关系;绿色十字表示MSHE的平均值。所提出的MSHE在大多数测试用例中始终优于Precision TMR——例如,在blowfish中,MSHE将频率从19 MHz提升到106 MHz,在adpcm中从83 MHz提升到109 MHz。总体而言,MSHE在安全关键系统中提供了更好的可靠性提升与性能保持之间的平衡。
9. 结论
本文提出了MSHE-SE,这是一个全面的多层时空加固框架,用于增强基于SRAM的FPGA的软错误抵抗力。通过在整个FPGA设计流程中协同集成新的加固技术,我们的框架解决了现有方法的关键限制,同时显著降低了资源开销。在本文中,我们提出了一个时空加固框架和评估方法MSHE-SE,它基于RT-SEM、HS-TMR和AIP-SEM。实验结果表明,我们的框架平均实现了18.28倍的MTBF提升,同时将LUT资源消耗减少了高达45.7%,相比商业TMR工具。该框架的模块化架构允许根据关键性要求选择性地部署加固组件,使其适用于从抗辐射系统到资源受限的边缘部署等各种应用。
未来,关于MSHE-SE框架仍有许多研究工作需要进行。未来的工作将集中在集成强化学习代理上,以动态优化AIP-SEM等算法中的可调参数。这些代理将持续分析故障注入反馈和运行时指标,自主确定评估函数中关键参数(如空间分离距离N和权重因子)的最优值。这种自适应方法将进一步平衡可靠性、性能和资源开销,而无需人工干预。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号