本发明属于fpga设计可靠性,具体涉及一种基于网表的智能三模加固方法。
背景技术:
1、在fpga设计可靠性领域,需要对fpga设计进行加固,以防设计故障导致的功能错乱。目前最常用的加固方式即三模冗余加固(tmr),简称“三模”。在现有三模冗余加固方案中,主要应用的是“全三模”。
2、由于网表通常非常复杂,且体量也都很大,因此目前的加固主要是通过三模工具去实现的。目前主流的三模工具有precision hi-rel、xtmr tool,这些工具加固前后的网表结构如图1和图2所示。
3、除了“全三模”以外,上述工具还提供了一定程度的“部分三模”加固的功能,即用户可以手动指定哪些实例需要被加固,其实现的加固案例如图3所示。
4、现有技术在对网表进行加固的时候,由于是全三模,无论实例是否有加固的必要都会被加固,因此其资源消耗量往往很大,通常其加固后的资源量会在加固前资源量的300%以上(网表中所有实例都被复制成三份,且还需要插入投票器)。对于大型设计而言,在不升级fpga芯片的情况下,往往难以支持这么多的资源量,在这种情况下,现有技术就无法进行很好的加固操作了。
技术实现思路
1、有鉴于此,本发明的目的是提供一种基于网表的智能三模加固方法。
2、一种基于网表的智能三模加固方法,包括:
3、使用不同类型的标签对网表中任意实例进行标记,并根据标签类型设置实例之间的连接方式,其中:定义三种标签类型,分别是donttouch规则、converge规则和triple规则;
4、当一个实例被标记为donttouch规则时,不对该实例进行特殊操作,该规则为默认规则;如果其输入端的实例标签类型为converge规则,输入端的信号正常连接至当前实例;如果其输入端的实例标签类型为triple规则,原始信号连接至当前实例,其余新复制出的两路信号保持悬空;
5、当一个实例被标记为converge规则时,如果其输入端的实例标签类型为triple规则,在该两个实例之间添加一个voter,将triple规则的实例的三路输出信号汇聚为一路信号后再输入;如果其输入端的实例标签类型为converge规则,那么输入端的信号将正常连接至当前实例;
6、当一个实例被标记为triple规则时,该实例被复制三份;如果其输入端的实例标签类型为donttouch规则或converge规则,那么输入端的信号将同时连接至当前实例的三份复制上;如果其输入端的实例标签类型为triple规则,那么输入端的三路输出信号与当前实例的三份复制之间呈一一对应连接。
7、较佳的,如果一个实例的标签类型为triple规则,则其输出端实例的标签类型为converge规则。
8、较佳的,多个标签类型为triple规则的实例连接到一起时,在最终输出端设置一个标签类型为converge规则的实例,将三路信号汇聚至一起,实现三模加固的效果。
9、较佳的,在对实例的标签类型进行标记时,根据寄存器的加固必要性w确定标签类型。
10、较佳的,根据寄存器的加固必要性w确定标签类型的方法包括:对所有实例对应的加固必要性w进行排序,将w高于设定阈值的实例标签类型设置为triple规则,其余所有实例的标签类型设置为converge规则。
11、较佳的,加固必要性w表示为:
12、w=α1a1+α2a2+...+αnan+...;
13、上式中,an代表寄存器的第n个相关参数;αn代表第n个参数对应的系数。
14、较佳的,所述相关参数选择扇出数量、寄存器下标、环路大小、是否处于环路反馈点、输出信号作为后级控制信号、数据信号、时钟信号、其余信号的数量中的一种或者多种。
15、本发明具有如下有益效果:
16、现有技术仅支持对网表整体进行三模冗余,而本发明允许用户对网表中任意实例进行单点的三模加固,具有如下有益效果:
17、(1)用户对于加固操作有更多的操作空间,可以根据自己对网表的理解,执行定制化的操作;
18、(2)在设计资源量消耗较大,但fpga资源量有限的情况下,现有技术往往无法实施,因为现有技术的整体三模冗余会让资源量变为原本的300%以上,而本发明在资源量有限的情况下,仍可以进行三模加固操作;
19、(3)本发明中的智能加固策略能够在一定程度上帮助用户进行设计分析并进行对应的加固,大大降低了用户在执行三模加固时的工作量,从而提高了加固工作的效率。
1.一种基于网表的智能三模加固方法,其特征在于,包括:
2.如权利要求1所述的一种基于网表的智能三模加固方法,其特征在于,如果一个实例的标签类型为triple规则,则其输出端实例的标签类型为converge规则。
3.如权利要求1所述的一种基于网表的智能三模加固方法,其特征在于,多个标签类型为triple规则的实例连接到一起时,在最终输出端设置一个标签类型为converge规则的实例,将三路信号汇聚至一起,实现三模加固的效果。
4.如权利要求1、2或3所述的一种基于网表的智能三模加固方法,其特征在于,在对实例的标签类型进行标记时,根据寄存器的加固必要性w确定标签类型。
5.如权利要求4所述的一种基于网表的智能三模加固方法,其特征在于,根据寄存器的加固必要性w确定标签类型的方法包括:对所有实例对应的加固必要性w进行排序,将w高于设定阈值的实例标签类型设置为triple规则,其余所有实例的标签类型设置为converge规则。
6.如权利要求5所述的一种基于网表的智能三模加固方法,其特征在于,加固必要性w表示为:
7.如权利要求6所述的一种基于网表的智能三模加固方法,其特征在于,所述相关参数选择扇出数量、寄存器下标、环路大小、是否处于环路反馈点、输出信号作为后级控制信号、数据信号、时钟信号、其余信号的数量中的一种或者多种。
