一种基于查找表配置位统计的部分三模冗余方法

文档序号:6629585阅读:264来源:国知局
一种基于查找表配置位统计的部分三模冗余方法
【专利摘要】本发明一种基于查找表配置位统计的部分三模冗余方法,包括步骤S1:将待冗余电路映射为k-输入查找表格式,读取待冗余电路的信息,建立电路拓扑结构数据库;步骤S2:对电路拓扑结构信息进行统计,并记录待冗余电路中每个节点的无关配置位信息;步骤S3:根据无关配置位个数,获取查找表的单粒子效应敏感性信息;步骤S4:从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表,并对单粒子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。本发明能够极大地提高系统的可靠性,且可省掉全三模冗余电路约一半的硬件开销。
【专利说明】一种基于查找表配置位统计的部分三模冗余方法

【技术领域】
[0001]本发明涉及数字系统容错【技术领域】,特别涉及可编程器件三模冗余技术中的硬件 开销减少方法。 技术背景
[0002]可编程器件(FPGA)具有开发周期短、成本低、灵活性高的特点而广泛应用于电子 系统设计中,基于静态随机存储器(SRAM)配置的FPGA芯片,其功能的实现完全依赖内部的 配置数据,根据现有文献和在轨飞行数据,SRAM型FPGA器件在空间辐射环境中主要是容易 受到单粒子翻转(Single Event Upset,SEU)的影响,因此基于SRAM的FPGA系统设计应重 点考虑单粒子翻转防护。
[0003]图la所示为待冗余电路构成示意图,图lb所示为全三模冗余电路构成示意图。 如图la示出的待冗余电路包含模块[、1^2、1\13,所述待冗余电路为二值逻辑的数字电路,则 待冗余电路模块M1、M2、M3输出的结果为逻辑"0"或逻辑"1"。模块Ml接收外部输入的多 个逻辑信号,模块Ml输出多个第一逻辑信号,模块M2接收多个第一逻辑信号,模块M2的输 出的多个第二逻辑信号传递给模块M3,模块M3的输出为待冗余电路的多个第三逻辑信号。 对待冗余电路进行全三模冗余后的电路如图lb所示,即将图la中的待冗余电路整个复制 两份,形成由三模块M1、M 2、M3组成三支路的并联结构,其中每个模块M3分别输出多个第三 逻辑信号,根据三个模块M3输出第三逻辑信号总数目设置相同总数目的表决器V,表决器V 分别接收三个模块M3输出总数目的第三逻辑信号,每个表决器V对三个模块M3输出的第 三逻辑信号根据"少数服从多数"的原则进行表决,并判断出第三逻辑信号为全相同的逻辑 值,判断出第三逻辑信号为两个相同的逻辑值,因此当某个冗余模块被打翻表决器V依然 能够输出正确的结果。
[0004] 三模冗余是目前最常用的容错技术,由于其可靠性被广泛应用在空间系统中。该 方法将原始电路复制三份,当其中一个电路发生错误时还可以通过比较输出正确的结果。 当两个模块同时出错时表决器将无法判决正确结果,因此针对SRAM型FPGA的三模冗余技 术一般配合定时刷新技术使用,可以有效地保证系统安全稳定运行。
[0005] 但三模冗余技术存在电路开销过大的问题,完全的三模冗余电路会使电路开销达 到冗余之前的200 %甚至更多,而具体应用中考虑到功率和体积的限制应尽量减少硬件开 销。针对电路不同部分对单粒子效应的敏感性,选择性地对电路部件进行部分三模冗余可 以适当减少开销,部分三模冗余技术是以牺牲电路可靠性为代价的,硬件开销的节省相应 地会带来可靠性的降低。如何对电路进行取舍是部分三模冗余设计所要考虑的问题。
[0006] 本领域的技术人员曾提出敏感门的概念,通过只冗余敏感门来节省电路开销,该 方法首先根据经验值为电路原始输入设定一个输入概率,再根据电路拓扑结构计算每个门 的输入概率,结合门电路的控制值特性可将每个门定义为单粒子事件敏感或单粒子事件不 敏感。将单粒子事件敏感的门冗余后插入表决器再与单粒子事件不敏感门构成原来的电路 功能,然后再通过FPGA综合工具将其映射为查找表结构。
[0007]由于现有技术的敏感性是根据门级电路结构和输入概率计算的,其映射成基于查 找表的FPGA结构后容错效果和开销节省都大打折扣。 ' 一


【发明内容】

[0008](一)解决的技术问题
[0009]为了解决现有技术的问题,本发明目的在于寻找一种可以直接在杳找表申路模型 上操作并且不依赖于电路输入的部分三模冗余方法,具有十分深远的意义f [0010](二)技术方案 ^
[0011]本发明提供一种基于查找表配置位统计的部分三模冗余方法,包括步骤如下: [0012]步骤S1 :将待冗余电路映射为k-输入查找表格式,读取待冗余电路的信息,建立 电路拓扑结构数据库,所述查找表是FPGA中的查找表; J
[0013]步骤S2:对电路拓扑结构数据库的电路拓扑结构信息进行统计,并记录电路拓扑 结构数据库中待冗余电路中每个节点的无关配置位信息;
[0014]步骤S3 :根据无关配置位个数,获取查找表的单粒子效应敏感性信息;
[0015]步骤S4 :从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表, 并对单粒子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块 和非冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。
[0016](三)有益效果
[0017]本发明采取以上技术方案后,相对于现有技术具有以下优点:D由于本发明将电 路中单粒子翻转-敏感查找表进行了三模冗余,因此能够有效提高电路抗单粒子效应能 力,延长电路的平均无故障时间。2)本发明的部分三模冗余容错方法与全三模冗余容错方 法相比,本发明通过计算查找表的无关配置位,有针对性地选择需要进行三模冗余的查找 表,在一定程度上保障SRAM型FPGA电路的可靠性,能大大节省电路开销。3)本发明所采用 的窗口方法能够在较短的时间内得到查找表的大部分无关配置位,且所得集合是整个电路 的无关配置位集合的子集,即整个电路无关配置位的下确界。

【专利附图】

【附图说明】
[0018]图la和图lb为待冗余电路和全三模冗余电路构成示意图;
[0019]图2为本发明基于查找表配置位统计的部分三模冗余方法的流程图;
[0020]图3为本发明方法实现一种部分三模冗余电路结构图;
[0021]图4为待冗余电路查找表级电路结构图;
[0022]图5为本发明所用实施例部分冗余后的查找表级电路结构图;
[0023]图6为本发明所用查找表无关配置位计算方法的工作流程图;
[0024]图7为本发明所用窗口划分方法流程图;
[0025]图8为本发明所用窗口划分方法示意图;
[0026]图9为本发明所用无关配置位查找方法流程图;
[0027]图10为本发明提供的单粒子事件仿真方法流程图。

【具体实施方式】
[0028]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明做进一步详细说明。
[0029]本发明部分二模冗余方法根据查找表无关配置位的个数定义单粒子翻转-敏感 查找表和单粒子翻转-不敏感查找表,并只冗余单粒子翻转-敏感查找表。所述部分三模 冗余系统包含二模冗余部分和非三模冗余部分,其中:三模冗余部分通过将电路中的单粒 子翻转-敏感查找表复制两份并在输出处插入多数表决器构成;非三模冗余部分由电路中 的单粒子翻转-不敏感查找表构成;三模冗余部分和非三模冗余部分的连接保持原始电路 的拓扑结构,所设计的部分三模冗余电路能保持原始电路功能不变。
[0030]如图2示出本发明基于查找表配置位统计的部分三模冗余方法的流程图,使用本 方法对FPGA电路进行部分三模冗余实施例的操作包括如下的步骤:步骤S1 :使用美国加州 大学洛杉矶分校提供的工具RASP将待冗余电路映射为卜输入查找表格式,读取该待冗余 电路信息,建立电路拓扑结构数据库,所述查找表是FPGA中的一种资源,用于实现组合逻 辑和时序逻辑。步骤S2 :对电路拓扑结构数据库的电路拓扑结构信息进行统计,并记录电 路拓扑结构数据库中待冗余电路中每个节点的无关配置位信息;根据电路拓扑结构对节点 进行划分,获得节点窗口,再根据节点窗口信息判断是否对无关配置位进行计算,若窗口的 叶子节点数满足小于叶子节点最大值Lmax时,则计算该节点的无关配置位的个数并记录; 若窗口的叶子节点数不满足小于最大值Lmax时,则将该节点的无关配置位个数记为〇。节 点无关配置位个数计算方法为:用穷举的方法为窗口生成测试集,向窗口叶子节点施加该 穷举测试集并逐一翻转节点的每个配置位,观察窗口根节点输出是否变化;若翻转某配置 位且遍历整个穷举测试集,窗口根节点输出均无变化,那么该配置位是节点的无关配置位。 步骤S3 :根据记录的无关配置位个数,获取查找表的单粒子效应敏感性信息,本方法首先 设定一个查找表无关配置位阈值H,当某个查找表的无关配置位个数高于查找表无关配置 位阈值Η时,则可判断该查找表为单粒子翻转-不敏感的查找表,当某个查找表的无关配置 位个数不高于查找表无关配置位阈值时,则认为该查找表是单粒子翻转-敏感的查找表。 该阈值的设定需要根据具体应用综合考虑,待冗余电路对可靠性要求越高,阈值Η应越大, 用Ρ表示待冗余电路被单粒子事件击中后表现出故障的概率,Nc表示查找表配置位个数, 本方法采用公式H = 10X (P-0· 9) XNc计算查找表无关配置位阈值。在对待冗余电路进行 三模冗余时,只对所述单粒子翻转-敏感的查找表做冗余处理。步骤S4 :部分三模冗余电 路搭建,从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表,并对单粒 子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非冗余 模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。
[0031]如图3所示使用本发明方法实现的一种部分三模冗余电路;设已有结果表明待冗 余电路中的三个模块中只有模块Ml是易受单粒子效应影响而发生故障,而模块M2和模块 M3对单粒子效应并不敏感,那么就可以选择性地只对模块Ml进行冗余。
[0032]鉴于上述设定图3给出本发明部分三模冗余电路,包括三个模块M1、一个模块M2 和一个模块M3和一个表决器V,三个模块Ml为第一模块Ml、第二模块Ml、第三模块Ml,其 中:第一模块Ml、第二模块Ml、第三模块Ml的输入端接收外部的输入多个逻辑信号,由于第 一模块Ml、第二模块Ml、第三模块Ml是三模冗余信号,因此将外部输入的多个逻辑信号扇 出两份分别输入第一模块Ml、第二模块Ml、第三模块Ml生成并输出冗余信号;表决器V的 输入端与第一模块Ml、第二模块Ml、第三模块Ml的输出端连接,表决器V对第一模块Ml、 第二模块M1、第三模块Ml输出的冗余信号进行表决,表决器根据"少数服从多数"的原则 总是输出三者中相同的值,当只有一个模块Ml电路被打翻而输出错误时表决器V仍能通过 表决输出正确的结果;模块M 2的输入端与表决器V的输出端连接,由于模块M2是单粒子翻 转-不敏感查找表,模块M 2不易被单粒子事件打翻而出错;模块M3的输入端与模块M2的 输出端连接,与模块M2相同,模块M3不易被单粒子事件打翻而出错,将输出电路的最终结 果。由上述结构可知,使用本发明方法实现的部分三模冗余电路与全三模冗余电路相比,本 发明的部分三模冗余可以节省不必要的开销,根据具体电路待冗余模块的不同,表决器的 插入个数与位置均不同,这会导致所节省的电路开销不同。
[0033] 下面给出本发明在具体电路中的应用实例:本实施例采用8选1多路选择器电路 cml52a,该电路选自南卡罗来纳州微电子中心提供的基准测试电路集(MCNC'91),该测试电 路集中包含多个基准测试电路,8选1多路选择器电路onl52a是其中较小的一个测试电路。 [0034]图4示出待冗余电路查找表级电路结构图,待冗余电路是 cml52a采用RASP工具 映射为4-输入查找表结构后的电路,待冗余电路由[15]、[16]、[9]、[10]、[2]、pi这6个 查找表构成三级结构。该待冗余电路有11个输入信号包括:多路选择器的8个待选输入信 号pa、pb、pc、pd、pe、pf、pg、ph,编码输入信号pi、pj、pk,该待冗余电路有1个输出信号 pl,电路通过编码输入信号pi、pj、pk的编码值选择8个待选输入信号中的一个作为输出信 号。
[0035]待冗余电路的第一级查找表为[15]、[16]、[9]、[10],查找表[15]有4个输入端, 分别接收来自外部的待选输入信号pb、pf和编码输入信号Pj、pk ;1个输出端,输出第一中 间信号。查找表[I6]有4个输入端,分别接收来自外部的待选输入信号pd、 ph和编码输入 信号pj、pk;l个输出端,输出第二中间信号。查找表[9]有4个输入端,分别接收来自外 部的待选输入信号pa、pe和编码输入信号pj、 pk ;1个输出端,输出第三中间信号。查找表 [10]有4个输入端,分别接收来自外部的待选输入信号pc、p g和编码输入信号pj、pk ;1个 输出端,输出第四中间信号。待冗余电路的第二级查找表为[2],查找表[2]有3个输入端, 分别接收来自外部的编码输入信号pi和查找表[I 5]、[16]的第一、第二中间信号;丨个输 出端,输出第五中间信号。 ^
[0036]待冗余电路的第三级查找表为pl,查找表pl有4个输入端,分别接收来自外部的 编码输入信号pi和查找表[2]、[9]、[10]的第五、第三、第四中间信号;丨个输出端,向外部 输出待冗余电路的输出信号pl。
[0037]待冗余电路由k-输入查找表构成,每个查找表的k个输入接受前一级查找表的输 出?寅号或原始输入信号,当一个查找表A的一个输入端与另一个查找表B的输出端相连时, 称B是A的输入查找表。
[0038]如图5示出采用本发明的方法实现的8选1多路选择器电路cmi52a选择性三模 冗余结构,选择性三模冗余结构电路包括未冗余电路部分51和三模冗余电路部分52,其中 三模冗余电路部分52包括冗余三份的查找表[10] (1)、[10] (2)、[10] (3)和表决器V。下 面举例使用本发明的方法判断结果为查找表[10]是单粒子翻转-敏感的查找表,其余5个 均为单粒子翻转-不敏感查找表,那么本发明的方法将查找表[ 10]复制两份分别为[10] (2)、[10] (3),同时查找表[10]的输入信号pc、pg、pj、pk也扇出两份分别作为查找表[ 10] ⑵、[10]⑶的输入信号,则形成三份功能相同的查找表[10]⑴、[10]⑵、[10]⑶,它们 各有一个输出端,分别输出第四中间信号(1)、第四中间信号(2)、第四中间信号(3),将这 三个输出信号通过表决器V进行表决后再作为查找表pi的输入信号。
[0039] 仍以上述8选1多路器电路cm152a为例,如图4所示若使用本发明的方法判断结 果为查找表[2]、[9]、[10]均是单粒子翻转-敏感查找表,[2]、[9]、[10]的输出端均与查 找表Pi的输入端相连,那么根据本发明的方法应将查找表[2]、[9]、[10]分别进行三模冗 余并在查找表[2]、[9]、[10]输出端处分别插入表决器,三个表决器的输出结果作为查找 表Pi的输入信号。这样电路在冗余了 [2]、[9]、[10]三个查找表以后还需要额外增加三个 查找表作为表决器。考虑到查找表[2]、[9]、[10]的输出端均与查找表pi的输入端相连, 即查找表[2]、[9]、[10]均为查找表pi的输入查找表,若将查找表pi也进行冗余并在查找 表pl的输出端处插入一个表决器,电路消耗的资源与插入三个表决器的方式相同且更能 保障电路的可靠性,因此在搭建部分三模冗余电路时应充分考虑电路结构与查找表的单粒 子事件敏感性之间的关系。本发明所用部分三模冗余电路搭建方法的策略是:对所述待冗 余电路进行部分三模冗余处理时还需考虑待冗余电路的具体结构,当冗余单粒子翻转-不 敏感的查找表所带来的硬件开销与插入表决器带来的硬件开销相同时,应选择冗余单粒子 翻转-不敏感的查找表,对该单粒子翻转-不敏感的查找表进行三模冗余。一个单粒子翻 转-不敏感的查找表是否应进行冗余的具体判断方式为:当一个单粒子翻转-不敏感的查 找表具有两个或两个以上输入查找表是单粒子翻转-敏感查找表时,该单粒子翻转-不敏 感查找表也应该进行三模冗余。
[0040] 如图6所示,为本发明所用查找表无关配置位计算的工作流程图,步骤S2中所述 的查找表无关配置位的计算步骤包括如下:
[0041] 步骤S221 :根据电路节点编号选中一个节点。
[0042] 步骤S222 :根据电路拓扑结构为该节点划分一个窗口,具体的窗口划分方法将在 本发明说明书的图7中描述。
[0043] 步骤S223 :判断节点窗口是否划分成功,若该节点可以划分窗口,将窗口的输入 记为叶子节点,输出记为根节点,建立数据库记录该节点的窗口信息进入步骤S224 ;若该 节点划分窗口不成功进入步骤S226。
[0044] 步骤S224 :判断节点的窗口叶子节点数是否小于预先设定的叶子节点数最大值 Lmax,由于本方法采用窗口内全仿真的方式查找无关配置位,工作量随着叶子节点数的增 加呈指数倍增长,当叶子节点数大于叶子节点数最大值Lmax时,进入步骤S226,当叶子节 点数不大于叶子节点数的最大值Lmax时,则进入步骤S225。本实施例中取叶子节点数最大 值 Lmax = 20。
[0045] 步骤S225:为建立了窗口的节点进行输入空间全仿真以获得节点所在查找表的 无关配置位,具体的无关配置位获取方法将在本发明的图8中描述。
[0046] 步骤S226 :对于未能建立窗口或窗口叶子节点数大于叶子节点数最大值Lmax的 节点直接将节点无关配置位个数记为0。
[0047] 步骤S227 :建立数据库记录电路节点的无关配置位信息;
[0048] 步骤S228:遍历整个电路对所有节点无关配置位信息进行统计,并返回步骤 S221,直至遍历整个电路的所有节点无关配置位信息统计完毕,结束本流程。
[0049] 如图7所示为本发明所用窗口划分方法流程图,步骤如下:
[0050] 步骤S21 :选择电路中某一节点i。
[0051] 步骤S22 :判断选中的节点扇出个数是否大于预先设定的可容忍扇出数最大值 Omax,若该节点扇出数超过可容忍扇出数最大值〇max则不进行窗口划分进入步骤S23,若 该节点扇出数未超过可容忍扇出数最大值Omax则进入步骤S27。
[0052] 本实施例中选用的测试集,该测试集为MCNC' 91测试集,所述测试集中的基准测 试电路中有几个大电路包含有少量多扇出节点,有个别节点扇出数甚至多达几十个,考虑 到节点扇出数增加时其故障的传播可能性增加,且过多扇出往往导致划分出来的窗口巨 大,在本方法的后期步骤中也无法操作,因此若本步骤发现节点扇出大于可容忍扇出数最 大值Omax就不对该节点划分窗口,标记为节点窗口划分失败。本实施例中取可容忍扇出数 最大值Omax = 50。
[0053]步骤S23 :记录节点i前N级的输入集合,计入直接输入集合S_I1,记录节点i后 Μ级的输出,计入直接扇出输出集合s_01。
[0054]步骤S24 :记录输入集合S_I1中所有节点的后M+N级输出集合,计入间接扇出集 合S_02,记录集合S_01中所有节点的前M+N级输入集合,计入间接输入集合S_I2。
[0055]步骤S25 :求间接扇出集合S_02和间接输入集合3_12的交集,记为窗口相关节点 集合 S = S_02~S_I2。
[0056]步骤S26 :根据集合S的扇入扇出信息计算待求节点i的叶子节点数与根节点数, 并返回窗口划分成功信息。其中叶子节点是窗口内所有节点的扇入且不属于集合S的节 点,根节点是属于集合S且其扇出至少有一个不属于集合S。
[0057]在本步骤中需要注意的是,集合S中的原始输入节点应记为叶子节点,原始输出 T点应记为根节点。具体可参考本流程实施例中的pi节点功能划分。
[0058]步骤S27 :标记节点i窗口划分失败,结束本节点i的窗口划分工作。
[0059]以下仍通过8选1多路器cml52a基准电路介绍本方法采用的窗口划分方法的具 体操作,为简单起见,本实施例只描述一级窗口的划分方法,即M = N = 1的情况:
[0060]本实施例为8选1多路器cml52a基准电路节点[2]划分窗口,为便于观察和理 解,将图4所示的8选1多路器cm152a4-输入查找表级电路表示成有向无环图(Directed acyclic graph,DAG)的形式,如图8所示,在该图中输入信号仍为pa、pb、pc、 pd、pe、pf、 pg、ph和pi、pj、pk,作为有向无环图的叶子节点;输出信号仍为pl,作为有向无环图的根节 点,图4中的第一级中间状态查找表[9]、[10]、[15]、[16]构成有向无环图的第一级,第二 级中间状态查找表[2]构成有向无环图的第二级,第三级输出查找表pi构成有向无环图的 第二级#该有向无环图中叶子节点、根节点和中间状态节点均以带节点标号的圆圈表示, 连线表示各节点的连接状态,箭头方向为电路的数据传递方向。模块 S1即采用本方法为节 点[2]所建立的窗口,若某个节点a的输入端是另一个节点b的输出端,那么称节点 b是节 点a的输入节点,节点a是节点b的输出节点。模块81节点[2]的输入端有输入信号 pi 和节点[I5]、[16],即节点[2]的输入节点为pi、[15]、[μ],输出端为节点 pl的输入端, 即节点[2]的输出节点为Pl,类似地,节点[15]有 4个输入节点为输入信 和一个输出节点为节点[2],节点[I6]有4个输入节点为输入信号 pd、ph、pj、pk和一个输 出节点为节点[2],节点[9]有4个输入节点为输入信号pa、 pe、pj、pk和一个输出节点为 节点[2],节点[10]有4个输入节点为输入信号pc、pg、pj、 Pk和一个输出节点为节点[2], 输入信号pi没有输入节点,有2个输出节点为节点[2]、pl,输出信号Pi有4个输入节点 为输入信号pi和节点[2]、[9]、[10],没有输出节点。采用本发明的方法为节点[2]划分 窗口的具体实施步骤如下:
[0061]对节点[2]向前查找一级输入节点,得到集合S_I1二{pi,[15],[16]},向后查找 一级输出节点,得到集合S_01 = {pi};
[0062]对集合S_I1中的每个节点分别向后查找两级输出得到间接输出集合SI_02 = {pi,[2],pl,[I5],[I6]},对集合S_01中的节点 pl向前查找两级输入得到间接输入集合 SI-12 = {pl,[2],pi,[15],[16],[9],pa,pe,pj,pk,[10],pc,pg},取集合 SI一02 和 SI_ 12的交集得到节点[2]的窗口相关节点集合S = {pi,[2],pl,[15],[16]},即图7中的;^ 块 811 ;
[0063]根据集合S可得到节点[2]的窗口叶子包含节点pb、pf、pj、pk、pd、ph、[9]、[10], 此外,集合S中的节点pi即是电路的原始输入,也是节点[2]的窗口叶子节点;集合S中只 有一个输出节点pl即窗口的根节点。综上可得该节点[2]的窗口包含9个叶子节点{ Pi, pb,pf,pj,pk,pd,ph,[9],[10]}和 1 个根节点 pi 以及 3 个窗口相关节点{[15],[16],
[2]}。
[0064]如图9所示,为本发明所用窗口内无关配置位查找方法流程图,在步骤S27已经划 分好的窗口中查找无关配置位的步骤如下:
[0065]步骤S231 :若是第一次进入本流程,选择节点的第一个配置位bk,k = 0,否则k = k+1,选择节点的下一个配置位bk。
[0066]步骤S232 :生成测试向量,记录输出R(x) |bk ;
[0067]用穷举的方法为窗口生成测试集,选择其中一个测试向量x并通过逻辑仿真获得 窗口根节点的输出R(X) |bk,其中R(x)为窗口叶子节点施加输入向量x时的根节点输出值。 [00 68]步骤S233 :翻转该配置位bk - bk,施加上一步产生的测试向量,得到输出 R' (x)|(bk -bk)。翻转步骤SW中选中的配置位匕并向窗口施加步骤S2:32中的测试向 量X,将获得的窗口根节点输出髮(x)lft 其中V (X)为配置位匕翻转以后窗口叶子 节点施加输入向量X时的根节点输出值,1表示对配置位bk进行单粒子翻转模拟,即, 右有 bk = 1 则 = ft,右有 bk = 0 则=; 1 0
[0069]步骤S2S4:比较步骤S232和步骤S233中的结果R( x) 若有 苺x)|^严友·_(% ,即翻转配置位bk对窗口根节点输出没有改变,则比不是敏感配置 位,则进入步骤S235 ;若有
[0070] 雖氣碎及'(*)1你4? #即翻转配置位bk后窗口根节点输出发生了变化,则、是 敏感配置位,进入步骤S237 ;
[0071]步骤S235 :对配置位K是否已穷举所有测试集进行判断,若还有未施加的测试 向量返回步骤S232继续施加测试向量进行测试,若已经施加了所有的测试向量进入步骤 S236〇
[0072] 步骤S236 :标记配置位bk是无关配置位。
[0073] 步骤S237 :标记配置位bk是敏感配置位,即不是无关配置位。
[0074] 步骤S238 :判断是否已遍历节点的所有配置位,判断配置位编号k是否达到最大 值,若己达到最大值,则进入步骤S29 ;若配置位编号k未达到未最大值,则返回步骤S21继 续进行该节点无关配置位的查找。
[0075] 步骤S239 :该节点所有配置位均已仿真完毕,建立数据库记录该节点的无关配置 位信息。
[0076] 如图10所示为本发明提供对待冗余电路和构建的部分三模冗余电路进行单粒子 事件仿真,以验证所构建的部分三模冗余电路抗单粒子效应的能力。所述单粒子事件仿真 的具体步骤如下:
[0077] 步骤S51 :随机选择待仿真电路的一个查找表的一个配置位Lsbt,其中L代表电路 中的查找表,s表示查找表编号,b代表查找表中的配置位,t代表配置位编号,即选中第s 个查找表中的第t位配置位。
[0078] 步骤S52 :随机生成一个测试向量V,根据待仿真电路拓扑结构信息获得对应输出 0(v) |Lsbt,其中0(v)代表对待仿真电路施加输入向量v时电路的输出值。
[0079] 步骤S53 :翻转步骤S51中选中的配置位Lsbt代表在第s个查找表中的第t位配 置位上发生了单粒子事件,并向待仿真电路施加步骤S52中生成的测试向量v获得对应输 出從。其中0'(v)代表翻转配置位Lsbt后对待仿真电路施加输入向量 v时电路的输出值。表示对配置位Lsbt进行单粒子翻转模拟,即,若有Lsb t =1 则 ,若有 Lsbt = 0 则= 1 β
[0080] 步骤S54 :比较步骤S52和步骤S53中的输出 ^(ν)|/,Λ -'λν >/·Λ)?:- 苫有- Η 示注入的故障飾传鐘至待德真电路 的输出端0,则进入步骤S55 ;
[0081] 若有,?Χ)表示注入的故障无法传播至待仿真电路 的输出端0,进入步骤S56。
[0082] 步骤S55 :待仿真电路的故障数加1。
[0083] 步骤S56 :判断注入的故障点数量是否己达到预设值,若未达到预设值,则进入返 回步骤S51继续注入故障;若已达到预设值,则进入步骤S57。
[0084] 步骤S57 :统计待仿真电路的故障信息,计算待仿真电路故障率,单粒子事件仿真 工作结束。
[0085] 以上所述仅是本发明的优选实施方式,应当指出,本领域的技术人员可以对本发 明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变 型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在 内。
【权利要求】
1. 一种基于查找表配置位统计的部分三模冗余方法,包括步骤如下: 步骤S1 :将待冗余电路映射为k-输入查找表格式,读取待冗余电路的信息,建立电路 拓扑结构数据库,所述查找表是FPGA中的查找表; 步骤S2 :对电路拓扑结构数据库的电路拓扑结构信息进行统计,并记录电路拓扑结构 数据库中待冗余电路中每个节点的无关配置位信息; 步骤S3 :根据无关配置位个数,获取查找表的单粒子效应敏感性信息; 步骤S4 :从查找表的单粒子效应敏感性信息中提取单粒子翻转-敏感的查找表,并对 单粒子翻转-敏感的查找表进行三模冗余处理,得到并根据冗余结果在每个冗余模块和非 冗余模块之间插入表决器,构建具有抗单粒子效应能力的部分三模冗余电路。
2. 如权利要求1所述的部分三模冗余方法,其特征在于,获得所述无关配置位信息的 步骤如下:根据电路拓扑结构对节点进行划分,获得节点窗口,再根据节点窗口信息判断是 否对无关配置位进行计算,若窗口的叶子节点数满足小于叶子节点最大值时,则计算该节 点的无关配置位的个数并记录;若窗口的叶子节点数不满足小于最大值时,则将该节点的 无关配置位个数记为0。
3. 如权利要求1所述的部分三模冗余方法,其特征在于,节点无关配置位个数计算方 法为:用穷举的方法为窗口生成测试集,向窗口叶子节点施加该穷举测试集并逐一翻转节 点的每个配置位,观察窗口根节点输出是否变化;若翻转某配置位且遍历整个穷举测试集, 窗口根节点输出均无变化,那么该配置位是节点的无关配置位。
4. 如权利要求1所述的部分三模冗余方法,其特征在于,获取查找表的单粒子效应敏 感性信息的步骤如下:设定一个查找表无关配置位阈值,当某个查找表的无关配置位个数 高于查找表无关配置位阈值时,则为单粒子翻转-不敏感的查找表;当某个查找表的无关 配置位个数不高于查找表无关配置位阈值时,则为单粒子翻转-敏感的查找表。
5. 如权利要求4所述的部分三模冗余方法,其特征在于,所述查找表无关配置位阈值Η 表示如下:Η = 10Χ (P-0. 9) XNc,其中Ρ为待冗余电路被单粒子事件击中后表现出故障的 概率,Nc为查找表配置位个数,由此得知待冗余电路对可靠性要求越高,查找表无关配置位 阈值越大。
6. 如权利要求4所述的部分三模冗余方法,其特征在于,在对待冗余电路进行三模冗 余时,只对所述单粒子翻转-敏感的查找表做冗余处理。
7. 如权利要求1所述的部分三模冗余方法,其特征在于,对待冗余电路和构建的部分 三模冗余电路进行单粒子事件仿真,以验证所构建的部分三模冗余电路抗单粒子效应的能 力。
8. 如权利要求1所述的部分三模冗余方法,其特征在于,对所述待冗余电路进行部分 三模冗余处理时还需考虑待冗余电路的具体结构,当冗余一个单粒子翻转-不敏感的查找 表能够减少两个或两个以上表决器的插入时,应对该单粒子翻转-不敏感的查找表进行三 模冗余。
【文档编号】G06F17/30GK104268253SQ201410526724
【公开日】2015年1月7日 申请日期:2014年10月9日 优先权日:2014年10月9日
【发明者】郑美松, 王子龙, 涂吉, 王骏也, 李立健 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1