基于分子级网表的三模冗余方法

文档序号:857507 发布日期:2021-04-02 浏览:3次 >En<

阅读说明:本技术 基于分子级网表的三模冗余方法 (Triple modular redundancy method based on molecular-level netlist ) 是由 杨海钢 于 2020-12-28 设计创作,主要内容包括:本公开提供一种基于分子级网表的三模冗余方法,包括:操作S1:将FPGA中的冗余的分子级模块进行复制得到三份该分子级模块;操作S2:将所述三份分子级模块连接至多数表决器形成表决单元,输出第一表决结果;操作S3:将所述第一表决结果输入至后接的非冗余单元后,再连接至后续的表决单元继续进行表决,进而以汇聚的方式处理路径上不需要冗余的模块,完成基于分子级网表的三模冗余。(The invention provides a triple modular redundancy method based on a molecular netlist, which comprises the following steps: operation S1: copying redundant molecular modules in the FPGA to obtain three parts of the molecular modules; operation S2: connecting the three molecular modules to a majority voter to form a voting unit and outputting a first voting result; operation S3: and inputting the first voting result to a subsequent non-redundant unit, then connecting to a subsequent voting unit for continuous voting, and further processing modules which do not need redundancy on the path in a convergence manner to complete the triple modular redundancy based on the molecular netlist.)

基于分子级网表的三模冗余方法

技术领域

本公开涉及FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)技术领域,尤其涉及一种基于分子级网表的三模冗余方法。

背景技术

随着信息化程度的不断提高,FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)的应用越来越广泛,特别是在航空领域应用尤为普遍。FPGA具有集成规模大、功耗低、高并发的优点。根据工艺的不同FPGA主要分为三大类SRAM型、FLASH型、反熔丝型。其中SRAM具有工艺简单、成本低、低功耗、可擦除等优势,应用最广。

当SRAM(Static Random-Access Memory,静态随机存取存储器)型FPGA作为核心器件被应用到航天器件中,太空中的高能粒子射线容易对SRAM造成干扰,产生单粒子效应(Single Event Effect,SEE),使得SRAM内不存储内容失效。近年来随着FPGA的制程工艺不断提升,FPGA已经向跨过28nm,向10nm迈进;性能提升的同时,空间中的单粒子效应引起其发生可靠性问题愈发明显。

因此,如何解决单粒子效应引起的可靠性问题是亟需解决的课题。

发明内容

(一)要解决的技术问题

基于上述问题,本公开提供了一种基于分子级网表的三模冗余方法,以缓解现有技术中空间中FPGA因单粒子效应引起可靠性降低等技术问题。

(二)技术方案

本公开提供一种基于分子级网表的三模冗余方法,包括:

操作S1:将FPGA中的冗余的分子级模块进行复制得到三份该分子级模块;

操作S2:将所述三份分子级模块连接至多数表决器形成表决单元,输出第一表决结果;

操作S3:将所述第一表决结果输入至后接的非冗余单元后,再连接至后续的表决单元继续进行表决,进而以汇聚的方式处理路径上不需要冗余的模块,完成基于分子级网表的三模冗余。

在本公开实施例中,所述三份该分子级模块输入同源。

在本公开实施例中,所述网表的格式为vqm格式。

在本公开实施例中,所述分子级模块包括:lcell模块或slice模块。

在本公开实施例中,所述操作S2还包括:判断分子级模块是否为级联模块。

在本公开实施例中,所述非冗余单元为时序器件。

在本公开实施例中,所述费冗余单元包括dff单元。

在本公开实施例中,多数表决器的网表的形式如下:

(三)有益效果

从上述技术方案可以看出,本公开基于分子级网表的三模冗余方法至少具有以下有益效果其中之一或其中一部分:

(1)用户无需再设计上进行冗余设计,原有设计进行综合,用本公开工具处理综合后的网表文件即可实现冗余处理。

(2)本公开冗余方案是软件冗余,相比硬件冗余,成本低,易实现。

(3)本公开冗余方案是对FPGA中的部分分子级单元进行冗余设计;冗余后的网表文件在面积、功耗方面比门级冗余方案有一定优势。

(4)基于分子级网表进行冗余处理后,网表的等价性验证可使用modleSim等仿真工具进行门级仿真即可,验证方便。

附图说明

图1为现有技术中三模冗余结构原理示意图。

图2为三模冗余结构中多数表决器的实现及真值表。

图3为FPGA的组成结构示意图。

图4为本公开实施例的基于分子级网表的三模冗余方法中基于vqm的TMR流程。

图5为本公开实施例的基于分子级网表的三模冗余方法中针对lcell的TMR流程示意图。

图6为本公开实施例的基于分子级网表的三模冗余方法中汇聚的TMR流程示意图。

图7为本公开实施例的基于分子级网表的三模冗余方法中表决器的组成结构示意图。

具体实施方式

本公开提供了一种基于分子级网表的三模冗余方法,以用户设计综合后的网表文件为输出,进行分子级TMR(Triple Module Redundancy,三模冗余),有效控制资源消耗的同时保证了器件的可靠性。

在实现本公开的过程中发明人发现,FPGA的单粒子翻转防护技术可分为硬件防护和软件防护。

硬件防护是指通过硬件设计增加系统的容错性,主要技术有循环加电、静态刷新、动态刷新(配置管理)、器件冗余。硬件防护可靠性高,但成本高,适用于SEU(Single EventUpset,单粒子翻转效应)发生概率高的工况。循环加电是一种简单的刷新措施,通过定时给FPGA上电,将设备中的全部内容刷新,在低辐射环境下可以考虑该方法。通过重新加载的方式纠正配置区发生的翻转的方法称为刷新。刷新分为静态刷新和动态刷新。静态刷新指设备不掉电的情况下对配置区的全部内容进行重载,进而纠正错误。静态刷新会造成器件工作中断,点前工作参数丢失;动态刷新也叫配置管理,是指对器件配置区的内容进行针对性的分析、解析、分块操作,与设计结合,保证了刷新过程中器件的工作不受影响。配置管理可由抗辐射FPGA、CPU、ASIC(Application Specific Integrated Circuit,专用集成电路)或FPGA设计本身完成。选用抗辐射FPGA、CPU、ASIC来完成的方法也叫作外刷新(ExternalScrub)。通过FPGA设计的器件自身实现刷新的办法叫做自刷新(Self Scrub)。根据NASA的实验情况,外刷新的效果要明显优于自刷新。器件冗余是在多片FPGA上实行配置管理和设计,并通过比较输出来确定最终的输出。对于冗余器件可以有多种实现方案,常见的是用两片FPGA实现两模冗余或用三片FPGA实现三模冗余。对于两片FPGA的实现方案,每片FPGA上有同一设计的两个备份,外加一个抗辐射器件用于输出判决。如果其中一个输出与其他三个不同,那么判决器忽略该FPGA的所有输出直到其输出重新与其他FPGA一致为止。如果其他三片FPGA中的任何一片出现了输出数据不一致的情况,则忽略本次结果,并复位FPGA。对于三片FPGA的实现方案,每片FPGA上的设计都相同,通过一片抗辐射FPGA进行输出判决。在解决单粒子翻转的问题上,器件冗余是目前效果最好的方案,但也存在成本高,多片FPGA同步难等弊端。

软件防护主要指三模冗余,原理如图1所示在FPGA器件中复制三份待保护的敏感电路,并在输出部分添加多数表决器取三份相同电路中多数输出作为最终电路的输出从而实现对电路逻辑的保护。其中多数表决器的作用是取三个复制模块输出中两个或者两个以上的相同信号作为电路的最终输出。这里我们将三个复制模块的输出信号分别标记为A、B、C,将电路的最终输出标记为OUT,那么就有OUT=AB+BC+AC。其中表决器与真值表如图2所示。

如果软错误发生在不同的配置位,TMR可以纠正每个n位字中的n个软错误,TMR的电路对延迟的影响仅仅是不受防护位数影响的多数表决器的添加,所以电路性能基本不受影响,但是其需要3倍的存储单元,并需要附加逻辑用于多数表决器,所以往往会造成多于3倍的面积开销。有研究表明,TMR的面积开销往往是原始电路的350%以上,同时会额外产生200%以上的功耗,而且表决器等额外增加的布线资源会使得布线速度降低约30%左右。巨大的开销限制了TMR技术在大规模FPGA设计中的应用。

对设计进行三模冗余,能显著减轻SEU的影响。三模冗余成本低,实现方式灵活,但是冗余后的设计功耗会有所增加,性能会有一定影响。在进行三模冗余设计时,还需考虑布局布线的可行性、信号完整性、异步设计等问题,如果三模冗余后性能不达标,则需对原设计进行优化。

硬件防护和软件防护各有优缺点,用户需根据不同应用场景,选择合适的防护措施,能够到效果和成本控制的最优。例如现有技术中已有给出了不同工况下,防护措施的选择表如下表1:

表1

FPGA内部单元根据不同的粒度可以分为不同的层级,粒度由小到大依次为:原子(Atom)级、分子(Molecule)级、簇(Cluster)级。

如图3所示,原子级主要是LUT、DFF等基本单元;分子级由原子级组成如alm;簇级则由分子级组成如clb。针对不同层级的TMR在性能、功耗、可靠性上均不同。当粒度越小耗费的资源更多、功耗更大、布局布线难度更大。原子级的TMR资源消耗最大。

针对上述问题,本公开提出了一种基于分子级的方法,该方法以用户设计综合后的网表文件为输出,进行分子级TMR,有效控制资源消耗的同时保证了器件的可靠性。

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

在本公开实施例中,提供一种基于分子级网表的三模冗余方法,结合图1至图7所示,所述三模冗余方法,包括:

操作S1:将FPGA中的冗余的分子级模块进行复制得到三份该分子级模块;

操作S2:将所述三份分子级模块连接至多数表决器形成表决单元,输出第一表决结果;

操作S3:将所述第一表决结果输入至后接的非冗余单元后,再连接至后续的表决单元继续进行表决,进而以汇聚的方式处理路径上不需要冗余的模块,完成基于分子级网表的三模冗余。

其中,所述三份该分子级模块输入同源;作为多数表决器voter的输入;

以现有技术中的FPGA为例,用户综合后的网表文件为vqm格式。

在本公开实施例中,如图4所示,基于vqm进行三模冗余处理,将vqm中需要冗余的模块如lcell,复制三份并追加表决器,将表决器的输出作为下一级单元的输入。最终冗余后的结果仍为vqm格式的网表文件。冗余处理后继续做门级仿真,布局布线以及生成码流。

在本公开实施例中,如图5和图6所示,先将目标lcell1复制两份lcell2、lcell3;然后在lcell后一级增加多数表决器voter;三个冗余lcell输入同源;做为多数表决器voter的输入;最终以汇聚的方式处理路径上不需要冗余的模块。

冗余算法的伪代码如下:

L为所有的分子级单元;

C为需要冗余处理的单元集合;

表决器的设计如下:

针对上述表决器设计在Quartus中进行逻辑综合,可得出网表的vqm形式如下:

至此,已经结合附图对本公开实施例进行了详细描述。需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。

依据以上描述,本领域技术人员应当对本公开基于分子级网表的三模冗余方法有了清楚的认识。

综上所述,本公开提供了一种基于分子级网表的三模冗余方法,冗余的对象为FPGA中lcell,slice等分子级单元;能够减少冗余后的面积,也减少后续布局、布线的复杂度。冗余中的汇聚思想,对于dff等时序器件不做冗余,进一步抑制冗余造成的面积增长。具体为多数表决器的vqm实现方式。用户无需再设计上进行冗余设计,原有设计进行综合,用本公开工具处理综合后的网表文件即可实现冗余处理。本公开冗余方案是软冗余,相比硬件冗余,成本低,易实现。冗余方案是对FPGA中的部分分子级单元进行冗余设计;冗余后的网表文件在面积、功耗方面比门级冗余方案有一定优势。基于分子级网表进行冗余处理后,网表的等价性验证可使用modleSim等仿真工具进行门级仿真即可,验证方便。

还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本公开的理解造成混淆时,将省略常规结构或构造。

并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本公开实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。

再者,单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。

说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。

此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。并且,在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种DDR SDRAM通道的优化方法、装置和存储芯片

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类