一种应用电路的三模冗余方法及装置与流程

文档序号:22879216发布日期:2020-11-10 17:36阅读:497来源:国知局
一种应用电路的三模冗余方法及装置与流程

本发明涉及数字集成电路中现场可编程门阵列(fpga)的可编程逻辑单元设计的技术领域,尤其涉及一种应用电路的三模冗余方法,以及一种应用电路的三模冗余装置。



背景技术:

fpga(field-programmablegatearray,现场可编程门阵列)是一种通用的逻辑电路,与cpu,dsp并称为三大通用信号处理器件。具有灵活性高、并行性高、开发风险低的优点,已广泛地应用于工业控制、航空航天、通信、汽车电子、数据中心、智能处理等领域,并且占据着越来越多的市场份额。作为一种可编程器件,fpga由可编程逻辑模块(reconfigurablelogicmodule,rlm)、可编程互连资源(reconfigurablerouting,rr)、可编程输入输出模块(reconfiguableiomodule)、嵌入式ip(块存储器、dsp等)等组成。

在如太空轨道的复杂高辐射环境中,fpga芯片受到了辐射诱发的单粒子效应(see)的严重影响,并带来功能中断或紊乱,为整体电路系统的稳定性带了严重的隐患。see经常通过多种方式表现出来,其中单粒子翻转(singleevenupsets,seu)、单粒子瞬变效应(singleeventransient,set)大部分情况下并不会对xilinx的fpga芯片造成物理损坏,但需要一种加固方案来减轻这些潜在影响。三模冗余(tmr)就是这样一种方法。

tmr通过修改综合后网表,在网表中复制冗余逻辑并增加表决器逻辑。可以借助开发自动化工具来自动实现网表级的读写操作,设计用户无需参与tmr设计的复杂过程。

对于三模冗余的具体实现方式,美国xilinx公司给出了一套方案,它将用户电路的每个逻辑资源做成三个方案(图1的标准模式standardtype、图2的会聚模式convergetype、图3的别触摸模式don’ttouchtype)之一。

这三种模式的自由组合,构成了整个电路的三模实现方式,如图4所示,standard模式中a1代表原始电路,a2代表第一份复制的电路模块,a3代表第二份复制的电路模块,converge模式中v代表多数表决器模块。

总共有3×3=9种组合,可以看出只有当standard和converge模式组合在一起的时候,才会在电路中插入表决器。

在用户设计的应用电路中,数据的传输可能出现回路。如果电路中没有回路,寄存器中每一位数据,即使在当前时刻发生错误,在下一个时钟周期都会被新的数据刷新。如果存在回路,寄存器的错误数据会一直循环下去。

xilinx的默认的三模冗余做法是把全部资源都设置成standard,这样的做法有两个明显的弊端:

1.资源消耗较多,需要至少三倍的资源消耗。

2.只有在最终的输出端口才有表决器,在电路的中间过程,如果有状态机回路,则没有表决器。

于是,在芯片可用资源较少或者用户对三模冗余设计不希望占用过多资源的情况下,就需要识别出电路中各组件的关键程度,找到资源消耗和可靠性之间的一种平衡。



技术实现要素:

为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种应用电路的三模冗余方法,其能够占用较少fpga片上资源,实现关键电路模块加固的高性价比三模冗余方案,为用户在fpga芯片可用资源有限的情况下,提供了一种资源利用最优化的三模冗余实现方案,降低了用户三模冗余设计的资源需求和门槛,也降低了用户手动进行设计的工作量和难度,有着很好的实用价值和应用前景。

本发明的技术方案是:这种应用电路的三模冗余方法,其包括以下步骤:

(1)将用户电路的所有逻辑资源构建成一张有向图g;

(2)对有向图g进行深度优先遍历,记录每个节点的离开时间;

(3)选择具有最晚离开时间的顶点,对反向图gt进行遍历,删除能够遍历到的顶点,这些顶点构成一个强连通分支;

(4)如果还有顶点没有删除,跳转到步骤(2),否则执行步骤(5);

(5)对每一个强连通分支,删掉其中度数最大的节点,重复步骤(2)-(4),再删掉其强连通分支中度数最大的节点,重复以上过程直到结束,此时,该有向图不包含任何强连通分支;

(6)把所有删掉的节点所对应的逻辑资源设置成会聚converge模式,原先在强连通分支中的节点都设置成标准standard模式,其余不在强连通分支中的点设成别触摸don'ttouch模式,从而得到三模冗余结果。

本发明自动识别应用电路中的闭环回路(即强连通分支)关键节点,并将相关节点进行三备份,插入多数表决器,实现了对应用电路中容易受单粒子效应影响并持续出现错误的状态机电路进行三模冗余设计,其余电路保持不变,完成了自动用一种最少的资源消耗完成了用户电路中所有状态机的纠错。与传统提供的三模冗余方案相比,提供了一种占用较少fpga片上资源,实现关键电路模块加固的高性价比三模冗余方案,为用户在fpga芯片可用资源有限的情况下,提供了一种资源利用最优化的三模冗余实现方案,降低了用户三模冗余设计的资源需求和门槛,也降低了用户手动进行设计的工作量和难度,有着很好的实用价值和应用前景。

还提供了一种应用电路的三模冗余装置,其包括:

构图模块,其配置来将用户电路的所有逻辑资源构建成一张有向图g;

时间记录模块,其配置来对有向图g进行深度优先遍历,记录每个节点的离开时间;

强连通分支获取模块,其配置来选择具有最晚离开时间的顶点,对反向图gt进行遍历,删除能够遍历到的顶点,这些顶点构成一个强连通分支;

判断模块,其配置来判断是否还有顶点没有删除,有则执行时间记录模块,否则执行删除节点模块;

删除节点模块,其配置来对每一个强连通分支,删掉其中度数最大的节点,执行时间记录模块、强连通分支获取模块、判断模块,再删掉其强连通分支中度数最大的节点,重复以上过程直到结束,此时,该有向图不包含任何强连通分支;

结果获取模块,其配置来把所有删掉的节点所对应的逻辑资源设置成会聚converge模式,原先在强连通分支中的节点都设置成标准standard模式,其余不在强连通分支中的点设成别触摸don'ttouch模式,从而得到三模冗余结果。

附图说明

图1示出了标准模式standardtype。

图2示出了会聚模式convergetype。

图3示出了别触摸模式don’ttouchtype。

图4示出了整个电路的三模实现方式。

图5示出了根据本发明的应用电路的三模冗余方法的有向图g。

图6示出了根据本发明的应用电路的三模冗余方法的一个实施例。

具体实施方式

如图5、6所示,这种应用电路的三模冗余方法,其包括以下步骤:

(1)将用户电路的所有逻辑资源构建成一张有向图g;

(2)对有向图g进行深度优先遍历,记录每个节点的离开时间(即保存的是后序遍历);

(3)选择具有最晚离开时间的顶点,对反向图gt进行遍历,删除能够遍历到的顶点,这些顶点构成一个强连通分支;

(4)如果还有顶点没有删除,跳转到步骤(2),否则执行步骤(5);

(5)对每一个强连通分支,删掉其中度数最大的节点,重复步骤(2)-(4),再删掉其强连通分支中度数最大的节点,重复以上过程直到结束,此时,该有向图不包含任何强连通分支;

(6)把所有删掉的节点所对应的逻辑资源设置成会聚converge模式,原先在强连通分支中的节点都设置成标准standard模式,其余不在强连通分支中的点设成别触摸don'ttouch模式,从而得到三模冗余结果。

本发明自动识别应用电路中的闭环回路(即强连通分支)关键节点,并将相关节点进行三备份,插入多数表决器,实现了对应用电路中容易受单粒子效应影响并持续出现错误的状态机电路进行三模冗余设计,其余电路保持不变,完成了自动用一种最少的资源消耗完成了用户电路中所有状态机的纠错。与传统提供的三模冗余方案相比,提供了一种占用较少fpga片上资源,实现关键电路模块加固的高性价比三模冗余方案,为用户在fpga芯片可用资源有限的情况下,提供了一种资源利用最优化的三模冗余实现方案,降低了用户三模冗余设计的资源需求和门槛,也降低了用户手动进行设计的工作量和难度,有着很好的实用价值和应用前景。

优选地,所有强连通分支都至少插入一个表决器。

优选地,所述步骤(5)中,度数为出度与入度的和。有向图中顶点的出度是指从该顶点离开的有向边的条数。有向图中顶点的入度是指向该顶点的有向边的条数。比如在图5中,点f的出度是1,入度是3。

具体地,如图6所示,左图为应用电路的dag图,右图为采用本发明所提方案实现最小代价资源的三摸冗余后的应用电路dag图。其中,黑色实心节点代表应用电路中的各节点,黑色空心节点代表所插入的多数表决器。

其中,所有强连通分支(也就是回路或者状态机)都至少插入了一个表决器,在没有将所有节点都进行三备份的情况下,将其中回路部分容易出现错误持续的关键节点进行了冗余设计,达到了关键电路三备份纠错的效果。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:rom/ram、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种应用电路的三模冗余装置,该装置通常以与方法各步骤相对应的功能模块的形式表示。该装置包括:

构图模块,其配置来将用户电路的所有逻辑资源构建成一张有向图g;

时间记录模块,其配置来对有向图g进行深度优先遍历,记录每个节点的离开时间;

强连通分支获取模块,其配置来选择具有最晚离开时间的顶点,对反向图gt进行遍历,删除能够遍历到的顶点,这些顶点构成一个强连通分支;

判断模块,其配置来判断是否还有顶点没有删除,有则执行时间记录模块,否则执行删除节点模块;

删除节点模块,其配置来对每一个强连通分支,删掉其中度数最大的节点,执行时间记录模块、强连通分支获取模块、判断模块,再删掉其强连通分支中度数最大的节点,重复以上过程直到结束,此时,该有向图不包含任何强连通分支;

结果获取模块,其配置来把所有删掉的节点所对应的逻辑资源设置成会聚converge模式,原先在强连通分支中的节点都设置成标准standard模式,其余不在强连通分支中的点设成别触摸don'ttouch模式,从而得到三模冗余结果。

优选地,所有强连通分支都至少插入一个表决器。

优选地,所述删除节点模块中,度数为出度与入度的和。

本发明引入了kosaraju算法,自动识别应用电路中的闭环回路关键节点,并将相关节点进行三备份,插入多数表决器,实现了对应用电路中容易受单粒子效应影响并持续出现错误的状态机电路进行三模冗余设计,其余电路保持不变,完成了自动用一种最少的资源消耗完成了用户电路中所有状态机的纠错。与传统提供的三模冗余方案相比,提供了一种占用较少fpga片上资源,实现关键电路模块加固的高性价比三模冗余方案,为用户在fpga芯片可用资源有限的情况下,提供了一种资源利用最优化的三模冗余实现方案,降低了用户三模冗余设计的资源需求和门槛,也降低了用户手动进行设计的工作量和难度,有着很好的实用价值和应用前景。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1