通用的容错纠错电路及其应用的译码器和三模冗余电路 |
|||||||
申请号 | CN201310740347.5 | 申请日 | 2013-12-27 | 公开(公告)号 | CN103731130A | 公开(公告)日 | 2014-04-16 |
申请人 | 华为技术有限公司; | 发明人 | 唐样洋; 张臣雄; | ||||
摘要 | 本 发明 提供一种通用的容错纠错 电路 及其应用的译码器和三模冗余电路,其中通用的容错纠错电路包括:由 逻辑 门 实现的容错纠错单元;容错纠错单元的数字输入 信号 分别为I0、I1…、I2k-1、I2k;容错纠错单元的数字 输出信号 分别为O0、O1…、Ok-2、Ok-1;数字 输入信号 和数字输出信号属于集合{0,1};其中,k为正整数;容错纠错单元,用于当k=1时,如果I0=I1,则O0=I0,否则O0=I2;当k>1时,如果Ok-2=I2k-1,则Ok-1=I2k-1,否则Ok-1=I2k。由于输入和输出之间的逻辑关系唯一确定,因此,该容错纠错电路可以只有 逻辑门 来实现,具体的实现方式可以有很多种,只要输入和输出之间满足本发明的唯一确定的逻辑关系即可。因此,本发明提供的容错纠错电路具有普遍的通用性。 | ||||||
权利要求 | 1.一种通用的容错纠错电路,其特征在于,包括:由逻辑门实现的容错纠错单元; |
||||||
说明书全文 | 通用的容错纠错电路及其应用的译码器和三模冗余电路技术领域[0001] 本发明涉及集成电路技术领域,特别涉及通用的容错纠错电路及其应用的译码器和三模冗余电路。 背景技术[0002] 随着电子信息的飞速发展,电子芯片的使用率越来越高,但是电子芯片在使用过程中也会出现软错误或者硬错误。 [0003] 软错误可以理解为电子管的逻辑错误,例如由0变为1,或者由1变为0。 [0004] 硬错误可以理解为电子管的永久性逻辑错误。 [0005] 但是,有些领域对于电子芯片的精度要求极高,例如航天航空、医疗和精密仪器等领域。电子芯片无论出现软错误还是硬错误都会产生严重的后果。 [0006] 目前现有技术中广泛使用的容错技术是三模冗余(TMR,Triple Modular Redundancy)。 [0007] 参见图1,该图为现有技术中提供的三模冗余容错示意图。 [0008] 三个模块(Function)同时执行相同的操作,三个模块的输出作为表决器(Voter)的输入;表决器以多数相同的输出作为表决系统的正确输出(Output),通常称为三取二。 [0009] 三个模块中只要不同时出现两个相同的错误,就能掩蔽故障模块的错误,保证系统正确的输出。由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可靠性。 [0011] 因此,本领域技术人员需要提供一种通用的容错纠错电路及其应用的译码器,具有普遍的通用性并且具有很强的纠错容错能力。 发明内容[0012] 本发明实施例提供一种通用的容错纠错电路及其应用的译码器和三模冗余电路,具有普遍的通用性,并且具有很强的纠错容错能力。 [0014] 所述容错纠错单元的数字输入信号分别为I0、I1…、I2k-1、I2k;所述容错纠错单元的数字输出信号分别为O0、O1…、Ok-2、Ok-1;所述数字输入信号和数字输出信号属于集合{0,1};其中,k为正整数; [0015] 所述容错纠错单元,用于当k=1时,如果I0=I1,则O0=I0,否则O0=I2;当k>1时,如果Ok-2=I2k-1,则Ok-1=I2k-1,否则Ok-1=I2k。 [0016] 在第一方面的第一种可能的实现方式中,当所述容错纠错单元中的k=1时,对应三个数字输入信号分别为:I0、I1、I2;对应一个数字输出信号为:O0; [0017] 所述容错纠错单元包括:第一与门、第一或门、第二与门和第二或门; [0018] 所述第一或门的两个输入信号分别为I0、I1; [0019] 所述第一与门的两个输入信号分别为I0、I1; [0020] 所述第二与门的一个输入信号I2,所述第一或门的输出信号作为所述第二与门的另一个输入信号; [0021] 所述第二与门的输出信号和第一与门的输出信号作为所述第二或门的两个输入信号; [0022] 所述第二或门的输出信号作为该容错纠错单元的输出信号O0。 [0023] 结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,当所述容错纠错单元中的k=3时,对应七个数字输入信号分别为:I0、I1、I2、I3、I4、I5、I6;对应三个数字输出信号分别为:O0、O1、O2; [0024] 所述容错纠错单元包括三个容错纠错子单元,分别为第一容错纠错子单元、第二容错纠错子单元和第三容错纠错子单元;每个容错纠错子单元均对应三个数字输入信号和一个数字输出信号;且每个容错纠错子单元均包括:第一与门、第一或门、第二与门和第二或门; [0025] 所述第一与门和第一或门的两个输入信号均为第一数字输入信号和第二数字输入信号;所述第二与门的一个输入信号为第三数字输入信号,所述第二与门的另一个输入信号为第一或门的输出信号;所述第二与门输出信号和第一与门的输出信号作为第二或门的两个输入信号; [0026] 所述第一容错纠错子单元的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I0、I1、I2;所述第一容错纠错子单元的输出信号为O0; [0027] 所述第二容错纠错子单元的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I3、I4、O0;所述第二容错纠错子单元的输出信号为O1; [0028] 所述第三容错纠错子单元的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I5、I6、O1;所述第三容错纠错子单元的输出信号为O2。 [0029] 第二方面,本发明实施例还提供一种通用译码器,包括:变量节点模块、交织器、校验节点模块和解交织器; [0030] 所述变量节点模块包括所述的通用的容错纠错电路; [0031] 所述交织器,用于对接收的信息序列进行随机置换后从前向后读出,并发送给校验节点模块; [0032] 所述校验节点模块,用于对变量节点模块输出的外部信息进行计算得到校验节点的信息值; [0033] 所述解交织器,用于对信息序列进行随机置换后从后向前排列; [0034] 所述变量节点模块,用于对校验节点模块输出的外部信息进行计算得到变量节点的信息值。 [0035] 在第二方面的第一种可能的实现方式中,所述容错纠错电路中变量节点模块的权重为三。 [0036] 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该译码器的迭代译码次数为三次。 [0037] 结合第二方面及上述任一种可能的实现方式,在第三种可能的实现方式中,所述校验节点模块由异或门电路来实现。 [0038] 结合第二方面及上述任一种可能的实现方式,在第四种可能的实现方式中,所述变量节点模块的权重为六。 [0039] 结合第二方面及上述任一种可能的实现方式,在第五种可能的实现方式中,该通用译码器用于为低密度奇偶校验码进行译码。 [0041] 所述表决器包括三个数字输入信号,一个数字输出信号。 [0042] 以上技术方案,提供的容错纠错电路具有应用的普遍通用性,具体的功能由数字输入信号和数字输出信号决定。由于容错纠错电路的输入和输出之间具有唯一的确定性,因此,只要能够满足本发明提供的容错纠错电路的输入和输出之间的关系的电路均属于本发明的保护范围。可以理解的是,由于输入和输出之间的逻辑关系唯一确定,因此,该容错纠错电路可以只有逻辑门来实现,具体的实现方式可以有很多种,只要输入和输出之间满足本发明的唯一确定的逻辑关系即可。因此,本发明提供的容错纠错电路具有普遍的通用性。附图说明 [0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0044] 图1是现有技术中提供的三模冗余的容错示意图; [0045] 图2是本发明提供的一种通用的容错纠错电路实施例一示意图; [0046] 图3是本发明提供的容错纠错电路中k=1的示意图; [0047] 图4是本发明提供的容错纠错电路中k=2的示意图; [0048] 图5是本发明提供的容错纠错电路实施例二示意图; [0049] 图6是本发明提供的容错纠错电路实施例三示意图; [0050] 图7是本发明提供的译码器实施例一示意图; [0051] 图8是本发明提供的译码器的实施例二示意图; [0052] 图9是本发明提供的译码器的仿真示意图; [0053] 图10是本发明提供的三模冗余电路图。 具体实施方式[0054] 需要说明的是,本发明实施例提供的一种通用的容错纠错电路,包括由逻辑门实现的容错纠错单元;所述容错纠错单元的数字输入信号分别为I0、I1…、I2k-1、I2k;所述容错纠错单元的数字输出信号分别为O0、O1…、Ok-2、Ok-1;所述数字输入信号和数字输出信号属于集合{0,1};其中,k为正整数;所述容错纠错单元,用于当k=1时,如果I0=I1,则O0=I0,否则O0=I2;当k>1时,如果Ok-2=I2k-1,则Ok-1=I2k-1,否则Ok-1=I2k。 [0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0056] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。 [0057] 实施例一: [0058] 参见图2,该图为本发明提供的一种通用的容错纠错电路结构示意图。 [0059] 本实施例提供的通用的容错纠错电路,其特征在于,包括:由逻辑门实现的容错纠错单元100; [0060] 所述容错纠错单元100的数字输入信号分别为I0、I1…、I2k-1、I2k;所述容错纠错单元的数字输出信号分别为O0、O1…、Ok-2、Ok-1;所述数字输入信号和数字输出信号属于集合{0,1};其中,k为正整数; [0061] 所述容错纠错单元,用于当k=1时,如果I0=I1,则O0=I0,否则O0=I2;当k>1时,如果Ok-2=I2k-1,则Ok-1=I2k-1,否则Ok-1=I2k。 [0062] 为了使本领域技术人员能够更好地理解本发明的技术方案,下面分别以k=1和k=2为例来说明。 [0063] 参见图3,该图为本发明提供的容错纠错电路中k=1的示意图。 [0064] 图3对应的容错纠错电路中的k=1,即对应三个数字输入信号I0、I1、I2和一个数字输出信号O0。 [0065] 图3对应的数字输入信号和数字输出信号的真值表如表1所示。 [0066] 表1 [0067] [0068] 下面结合图4和表2介绍k=2的情况。 [0069] 参见图4,该图为本发明提供的容错纠错电路中k=2的示意图。 [0070] 图4对应的容错纠错电路中的k=1,即对应三个数字输入信号I0、I1、I2、I3、I4和一个数字输出信号O0、O1、O2。 [0071] 图4对应的数字输入信号和数字输出信号的真值表如表2所示。 [0072] 表2 [0073] [0074] 通过图3、图4以及表1和表2可以分析得出,无论是k=1,还是k=2,容错纠错单元均满足当k=1时,如果I0=I1,则O0=I0,否则O0=I2;当k>1时,如果Ok-2=I2k-1,则Ok-1=I2k-1,否则Ok-1=I2k。 [0075] 可以理解的是,本发明提供的容错纠错电路具有应用的普遍通用性,具体的功能由数字输入信号和数字输出信号决定。由于容错纠错电路的输入和输出之间具有唯一的确定性,因此,只要能够满足本发明提供的容错纠错电路的输入和输出之间的关系的电路均属于本发明的保护范围。可以理解的是,由于输入和输出之间的逻辑关系唯一确定,因此,该容错纠错电路可以只有逻辑门来实现,具体的实现方式可以有很多种,只要输入和输出之间满足本发明的唯一确定的逻辑关系即可。因此,本发明提供的容错纠错电路具有普遍的通用性。 [0076] 下面结合附图介绍本发明实施例提供的容错纠错电路的一种内部具体实现电路。 [0077] 实施例二: [0078] 参见图5,该图为本发明提供的容错纠错电路实施例二示意图。 [0079] 本实施例提供的容错纠错单元中的k=1时,对应三个数字输入信号分别为:I0、I1、I2;对应一个数字输出信号为:O0; [0080] 所述容错纠错单元包括:第一与门A1、第一或门B1、第二与门A2和第二或门B2; [0081] 所述第一或门B1的两个输入信号分别为I0、I1; [0082] 所述第一与门A1的两个输入信号分别为I0、I1; [0083] 所述第二与门A2的一个输入信号I2,所述第一或门B1的输出信号作为所述第二与门A2的另一个输入信号; [0084] 所述第二与门A2的输出信号和第一与门A1的输出信号作为所述第二或门B2的两个输入信号; [0085] 所述第二或门B2的输出信号作为该容错纠错单元的输出信号O0。 [0086] 从图5所述的电路中的逻辑门关系,可以得出输入和输出之间的关系满足表1所示的真值表。 [0087] 实施例三: [0088] 图5所示的是k=1时电路实现方式,下面结合图6介绍k=3时的电路实现方式。 [0089] 参见图6,该图为本发明提供的容错纠错电路实施例三示意图。 [0090] 本实施例中,当所述容错纠错单元中的k=3时,对应七个数字输入信号分别为:I0、I1、I2、I3、I4、I5、I6;对应三个数字输出信号分别为:O0、O1、O2; [0091] 所述容错纠错单元包括三个容错纠错子单元,分别为第一容错纠错子单元100a、第二容错纠错子单元100b和第三容错纠错子单元100c;每个容错纠错子单元均对应三个数字输入信号和一个数字输出信号;且每个容错纠错子单元均包括:第一与门A1、第一或门B1、第二与门A2和第二或门B2; [0092] 所述第一与门A1和第一或门B1的两个输入信号均为第一数字输入信号和第二数字输入信号;所述第二与门A2的一个输入信号为第三数字输入信号,所述第二与门A2的另一个输入信号为第一或门B1的输出信号;所述第二与门A2输出信号和第一与门A1的输出信号作为第二或门B2的两个输入信号; [0093] 所述第一容错纠错子单元100a的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I0、I1、I2;所述第一容错纠错子单元100a的输出信号为O0; [0094] 所述第二容错纠错子单元100b的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I3、I4、O0;所述第二容错纠错子单元100b的输出信号为O1; [0095] 所述第三容错纠错子单元100c的第一数字输入信号、第二数字输入信号和第三数字输入信号分别为I5、I6、O1;所述第三容错纠错子单元100c的输出信号为O2。 [0096] 从图6所示的电路中的逻辑门关系,可以得出输入和输出之间的逻辑关系满足本发明实施例一种限定的输入和输出之间的对应关系。 [0097] 基于以上实施例提供的容错纠错电路,本发明还提供了使用该容错纠错电路来实现的译码器,下面结合附图进行详细介绍。 [0098] 译码器实施例一: [0099] 参见图7,该图为本发明提供的译码器实施例一示意图。 [0100] 本实施例提供的通用译码器,包括:变量节点模块704、交织器701、校验节点模块702和解交织器703; [0101] 所述变量节点模块704包括以上实施例所述的通用的容错纠错电路; [0102] 所述交织器701,用于对接收的信息序列进行随机置换后从前向后读出,并发送给校验节点模块702; [0103] 所述校验节点模块702,用于对变量节点模块704输出的外部信息进行计算得到校验节点的信息值; [0104] 需要说明的是,所述校验节点模块702可以由异或门电路来实现。 [0105] 所述解交织器703,用于对信息序列进行随机置换后从后向前排列; [0106] 所述变量节点模块704,用于对校验节点模块702输出的外部信息进行计算得到变量节点的信息值。 [0107] 本实施例提供的译码器中的变量节点模块704可以由本发明以上实施例提供的容错纠错电路来实现。应用本发明实施例提供的容错纠错电路可以在译码器中不仅实现译码的功能,而且还可以实现容错的功能。 [0108] 译码器实施例二: [0109] 下面结合一个具体实施例来详细介绍本发明提供的容错纠错电路在译码器中的应用。 [0110] 参见图8,该图为本发明提供的译码器实施例二示意图。 [0111] 本实施例中以变量节点的权重为三的译码器为例进行介绍,并且,译码器采用的迭代译码次数为三次,并且迭代的电路不采用计数器电路的形式来实现,而是直接采用本发明提供的容错纠错电路展开来实现,即将迭代的电路直接用逻辑门电路来搭建,具体可以参见图8所示的逻辑门电路部门。 [0112] 图8中的a代表二进制对称信道(BSC,Binary Symmetric Channel)的参数。 [0113] 图8中,包括三个容错纠错电路,分别为800a、800b和800c。 [0114] 可以看出,这个三个容错纠错电路的内部结构是相同的。每个容错纠错电路内部又包括三个容错纠错单元,这三个容错纠错单元的内部结构也是相同的,包括相同的逻辑门。 [0115] 在BSC的仿真环境下,采用图8所示的译码器电路用于为低密度奇偶校验码(LDPC,Low Density Parity Check Code)进行译码,例如LDPC采用码长64的(3,6),[s,r],其中s代表码字的源码字节部分,r代表码字的冗余字节部分,3表示译码器中的变量节点的权重为3,6表示译码器中的校验节点的权重为6,进行仿真。 [0116] 仿真结果可以参见图9,该图为本发明提供的译码器的仿真示意图。 [0117] 当从噪声信道接收的信息由图9中的X轴表示字节误码率(FER)。 [0118] 采用图9的译码电路,在BSC噪声信道的仿真环境下,采用码长64的(3,6)LDPC码,[s,r],其中[s]代表码字的源码字节部分,[r]代表码字的冗余字节部分,进行仿真。当从噪声信道接收的信息由图9中X轴表示其字节误码率(FER),另外在图9所示的译码电路中添加BSC噪声信道噪声作为译码电路的内部噪声(Internal Error),并且在码字的源码字节部分添加的硬错误来进行仿真电路中的硬错误率。 [0119] 图9所示的Y轴代表从图8所示的基于本发明提供的容错纠错电路的译码器输出的译码后的信息。 [0120] 从图9可以看出,当输入的字节误码率接近0.5时,译码后输出的字节误码率降到了接近10-3的水平。由此可以看出,通过采用本发明提供的包括容错纠错电路的译码器,且在译码器有内部噪声的环境之下,其容错纠错能力有至少两个数量级的纠错性能。 [0121] 该实施例中是以译码器用于为LDPC码译码,可以理解的是,译码器可以为很多类型的码来译码,本发明实施例中不再一一举例。 [0122] 从以上分析可以看出,本发明提供的译码器不仅速度快,仅需要三次译码就可以完成要求,而现有技术中的译码器一般需要多达20次的译码才能完成要求。另外,本实施例提供的译码器的容错纠错能力还很强,其容错纠错能力有至少两个数量级的纠错性能。需要说明的是,图8所示的译码器是本发明提供的容错纠错单元的一个具体应用实例,可以理解的是,本发明实施例提供的容错纠错单元不仅可以应用于译码器中,还可以应用在其他很多电路中。 [0123] 基于以上实施例提供的容错纠错电路,本发明还提供了一种应用该容错纠错电路来实现的三模冗余电路,下面结合附图来详细介绍。 [0124] 参见图10,该图为本发明提供的三模冗余电路示意图。 [0125] 三模冗余电路共包括三个数字输入信号,分别是I1、I2和I3,一个数字输出信号O0。 [0126] 从图10可以看出,该三模冗余电路包括六个容错纠错单元,每个容错纠错单元还是由图5所示的逻辑门电路来实现的。 [0127] 所述容错纠错单元包括:第一与门A1、第一或门B1、第二与门A2和第二或门B2; [0128] 所述第一或门B1的两个输入信号分别为I1、I2; [0129] 所述第一与门A1的两个输入信号分别为I1、I2; [0130] 所述第二与门A2的一个输入信号I3,所述第一或门B1的输出信号作为所述第二与门A2的另一个输入信号; [0131] 所述第二与门A2的输出信号和第一与门A1的输出信号作为所述第二或门B2的两个输入信号; [0132] 所述第二或门B2的输出信号作为该容错纠错单元的输出信号O0。 [0133] 需要说明的是,三模冗余电路中的表决器由本发明提供的图10的电路来实现。 [0134] 图1中,三个模块(Function)同时执行相同的操作,三个模块的输出作为表决器(Voter)的输入;表决器以多数相同的输出作为表决系统的正确输出(Output),通常称为三取二。 [0135] 三个模块中只要不同时出现两个相同的错误,就能掩蔽故障模块的错误,保证系统正确的输出。由于三个模块是互相独立的,两个模块同时出现错误是极小概率事件,故可以大大提高系统的可靠性。 [0136] 通过图10提供的电路来实现表决器的功能,在内部有错误的情况之下,能实现很强的纠错能力。 [0137] 图10所示的三模冗余的真值表如表1所示,只不过三个输入信号为I1、I2和I3,输出信号是O0。从表1所示的真值表中可以看出三模冗余电路中的表决器的工作原理是少数服从多数的三取二原则,即以多数相同的输出来决定整个系统的输出结果,当有两个输入信号为0时,则输出结果为0;当有两个输入信号为1时,则输出结果为1。从而完成很好的容错功能。 [0138] 需要说明的是,以上实施例是以本发明实施例提的容错纠错电路应用于译码器中以及三模冗余电路中为例进行介绍的,另外,本发明实施例提供的容错纠错电路不仅可以应用于以上电路中,还可以应用于许多其他电路中,例如可以应用在需要容错的加法器中。 [0139] 具体地,可以利用三个图6所示的架构来实现一个具有容错功能的二进制两位加法器,可以至少纠正一位输出错位。 [0140] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。 |