《数字错误校正.pdf》由会员分享,可在线阅读,更多相关《数字错误校正.pdf(30页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103890732 A (43)申请公布日 2014.06.25 CN 103890732 A (21)申请号 201280052786.0 (22)申请日 2012.08.10 1114831.9 2011.08.26 GB 61/608,694 2012.03.09 US G06F 11/10(2006.01) (71)申请人 牛津布鲁克斯大学 地址 英国牛津 (72)发明人 M波拉卡帕拉姆贝尔 A贾比尔 J马修 DK普拉丹 (74)专利代理机构 北京戈程知识产权代理有限 公司 11314 代理人 程伟 王锦阳 (54) 发明名称 数字错误校正 (57) 摘要 一。
2、种错误校正电路, 包括 : 组件、 错误检测器、 校正发生器以及输出发生器, 其中, 所述组件布置 成根据第一输入和第二输入产生第一输出 ; 所述 错误检测器布置成基于所述第一输出、 所述第一 输入和所述第二输入产生错误标记, 所述错误标 记指示在所述第一输出中是否已经检测到错误 ; 所述校正发生器适合于基于所述第一输出、 所述 第一输入和所述第二输入, 在起始于时序事件的 第一时间周期之后产生校正输出 ; 所述输出发生 器布置成在起始于时序事件的第二时间周期之后 产生错误校正电路的输出。如果所述错误标记指 示在所述第一输出中已经检测到错误, 则所述第 二时间周期可能比所述第一时间周期长, 否。
3、则所 述第二时间周期可能不比所述第一时间周期长。 如果所述错误标记指示在所述第一输出中已经检 测到错误, 则所述错误校正电路的输出可以包括 所述第一输出和所述校正输出的组合, 从而在所 述第一输出中检测到的错误得以校正, 否则所述 错误校正电路的输出可能直接对应于所述第一输 出。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.04.25 (86)PCT国际申请的申请数据 PCT/GB2012/051953 2012.08.10 (87)PCT国际申请的公布数据 WO2013/030528 EN 2013.03.07 (51)Int.Cl. 权利要求书 3 页 说明书 16。
4、 页 附图 10 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书16页 附图10页 (10)申请公布号 CN 103890732 A CN 103890732 A 1/3 页 2 1. 一种错误校正电路, 布置成接收时钟信号, 包括 : 组件, 所述组件布置成根据第一输入和第二输入产生第一输出 ; 错误检测器, 所述错误检测器布置成基于所述第一输出、 所述第一输入和所述第二输 入产生错误标记, 所述错误标记指示在所述第一输出中是否已经检测到错误 ; 校正发生器, 所述校正发生器适合于基于所述第一输出、 所述第一输入和所述第二输 入, 在起始于在时钟信号中。
5、的时序事件的第一时间周期之后产生校正输出 ; 以及 输出发生器, 所述输出发生器布置成在起始于在时钟信号中的时序事件的第二时间周 期之后产生错误校正电路的输出, 其中, 如果所述错误标记指示在所述第一输出中已经检测到错误, 则所述第二时间周 期比所述第一时间周期长, 或者如果所述错误标记指示在所述第一输出中没有检测到错 误, 则所述第二时间周期不比所述第一时间周期长, 并且其中, 如果所述错误标记指示在所述第一输出中已经检测到错误, 则所述错误校 正电路的输出包括所述第一输出和所述校正输出的组合, 从而在所述第一输出中检测到的 错误得以校正, 或者如果所述错误标记指示在所述第一输出中已经检测到。
6、错误, 则所述错 误校正电路的输出直接对应于所述第一输出。 2. 根据权利要求 1 所述的电路, 其中所述输出发生器包括具有输出的输出寄存器, 所 述输出寄存器的输出为所述错误校正电路的输出, 并且其中所述输出发生器布置成当所述 错误标记指示在所述第一输出中已经检测到错误时, 在更新其输出时对所述输出寄存器进 行延迟, 从而使得所述第二时间周期比所述第一时间周期长。 3.根据权利要求1或权利要求2所述的电路, 其中所述输出发生器包括输出使能组件, 所述输出使能组件布置成基于所述时钟信号和所述错误标记产生门控时钟, 并且其中所述 输出寄存器在其时钟输入处接收所述门控时钟, 从而在所述错误标记指示。
7、在所述第一输出 中已经检测到错误时, 在更新其输出时对所述输出寄存器进行延迟。 4. 根据任意一项前述权利要求所述的电路, 进一步包括校验位发生器, 其中所述校验位发生器布置成基于所述第一输入和所述第二输入产生至少一个校验 位, 以及 其中所述错误检测器和所述校正发生器布置成基于所述第一输出和所述至少一个校 验位, 分别产生所述错误标记和所述校正输出。 5. 根据权利要求 4 所述的电路, 其中所述错误检测器布置成基于第一结果和至少一个 校验位产生所述错误标记, 所述错误标记指示所述错误检测器是否已经检测到所述错误检 测器布置成检测的多个不同错误中的任意一个, 所述多个不同错误包括在所述第一输。
8、出中 的错误和在所述至少一个校验位中的错误。 6. 根据权利要求 4 或权利要求 5 所述的电路, 其中所述校正发生器适合于基于所述第 一输出和所述至少一个校验位产生校正输出, 所述校正输出适合于校正多个不同错误中的 任意一个, 所述多个不同错误包括在所述第一输出中的错误和在所述至少一个校验位中的 错误。 7. 根据权利要求 4 至 6 中任一项所述的电路, 其中所述校验位发生器布置成根据所述 第一输入和所述第二输入直接产生所述至少一个校验位, 而不单独产生所述第一输出。 8. 根据任意一项前述权利要求所述的电路, 其中所述校正发生器布置成通过产生错误 权 利 要 求 书 CN 1038907。
9、32 A 2 2/3 页 3 位置多项式并接着搜索所述错误位置多项式的根来产生所述校正输出, 其中所述校正发生 器仅搜索对应于所述第一输出的根。 9. 根据任意一项前述权利要求所述的电路, 其中布置成产生所述第一输出的所述组件 布置成通过对所述第一输入和所述第二输入执行算术运算而产生所述第一输出。 10. 根据权利要求 9 所述的电路, 其中所述算术运算为有限域算术运算, 比如在伽罗瓦 域 GF(2k) 上的乘法。 11. 一种错误校正电路, 基本上如在本文中参照图 3 至图 6 所描述的。 12. 一种错误校正电路, 包括 : 组件, 所述组件布置成根据第一输入和第二输入产生第一输出 ; 校。
10、正发生器, 所述校正发生器布置成基于所述第一输出、 所述第一输入和所述第二输 入产生适合于与所述第一输出进行组合的校正输出, 以便校正其中的错误 ; 以及 组合器, 所述组合器布置成将所述校正输出和所述第一输出进行组合, 从而产生第二 输出, 在所述第二输出中已经校正了在所述第一输出中的错误。 13. 根据权利要求 12 的电路, 进一步包括校验位发生器, 其中所述校验位发生器布置成基于所述第一输入和所述第二输入产生至少一个校验 位, 以及 其中所述校正发生器布置成基于第一结果和所述至少一个校验位产生所述校正输出。 14. 根据权利要求 13 所述的电路, 其中所述校验位发生器布置成根据所述第。
11、一输入和 所述第二输入直接产生所述至少一个校验位, 而不单独产生所述第一结果。 15.根据权利要求13或权利要求14所述的电路, 其中所述错误检测器布置成基于所述 第一结果和所述至少一个校验位产生错误标记, 所述错误标记指示所述错误检测器是否已 经检测到所述错误检测器布置成检测的多个不同错误中的任意一个, 所述多个不同错误包 括在所述第一输出中的错误和在所述至少一个校验位中的错误。 16.根据权利要求13至15中任一项所述的电路, 其中所述校正发生器适合于基于所述 第一输出和所述至少一个校验位产生校正输出, 所述校正输出适合于校正多个不同错误中 的任意一个, 所述多个不同错误包括在所述第一输出。
12、中的错误和在所述至少一个校验位中 的错误。 17.根据权利要求12至16中任一项所述的电路, 其中所述校正发生器布置成通过产生 错误位置多项式并接着搜索所述错误位置多项式的根来产生所述校正输出, 其中所述校正 发生器仅搜索对应于所述第一结果的根。 18.根据权利要求12至17中任一项所述的电路, 其中布置成产生所述第一输出的所述 组件布置为通过对所述第一输入和所述第二输入执行算术运算而产生所述第一输出。 19. 根据权利要求 18 所述的电路, 其中所述算术运算为有限域算术运算, 比如在伽罗 瓦域 GF(2k) 上的乘法。 20. 根据任意一项前述权利要求所述的电路, 其中所述输出包括多个位,。
13、 并且所述校正 发生器布置成将输出位分配至第一组的集合并对所述第一组的集合的每一个执行第一错 误检测步骤, 将所述输出位分配至第二组的集合并对所述第二组的集合的每一个执行第二 错误检测步骤, 并且使用所述第一错误检测步骤和所述第二错误检测步骤的结果来执行错 误定位步骤以在所述输出中定位错误。 权 利 要 求 书 CN 103890732 A 3 3/3 页 4 21. 一种错误校正电路, 所述错误校正电路布置成接收包括多个输出位的系统输出, 将 所述输出位分配至第一组的集合并对所述第一组的集合的每一个执行第一错误检测步骤, 将所述输出位分配至第二组的集合并对所述第二组的集合的每一个执行第二错误。
14、检测步 骤, 使用所述第一错误检测步骤和所述第二错误检测步骤的结果来执行错误定位步骤以在 所述输出中定位错误, 并且根据接收的输出和所述错误定位步骤的结果产生校正的输出。 22.根据权利要求20或权利要求21所述的电路, 其中所述输出位的每一个都为所述第 一组的集合的其中之一和所述第二组的集合的其中之一的成员。 23.根据权利要求20至22中任一项所述的电路, 其中所述第一组的集合和所述第二组 的集合布置成使得对于所述输出位中的任意一个, 来自其作为成员的所述第一集合的组的 身份和来自其作为成员的所述第二集合的组的身份唯一识别所述输出位。 24. 根据权利要求 20 至 23 中任一项所述的电。
15、路, 其包括以下中的至少一个 : 分配子电 路、 第一错误检测子电路、 第二错误检测子电路、 错误定位子电路以及校正子电路。 25.根据权利要求20至24中任一项所述的电路, 其中所述错误检测步骤的每一个布置 成确定在相关组中位错误的数量。 26.根据权利要求20至25中任一项所述的电路, 其中所述错误检测步骤的每一个布置 成产生用于相关组的错误检测代码。 27. 一种错误校正电路, 基本上如在本文中参照图 1 和图 2, 或者图 3 和图 4, 或者图 7 所描述的。 权 利 要 求 书 CN 103890732 A 4 1/16 页 5 数字错误校正 技术领域 0001 本发明涉及错误校正。
16、。其应用在容错电路的设计中, 例如在用于执行算术运算的 电路中, 但也在其他类型的电路中。本发明的一些方面也应用在通信和存储器设计中的其 他领域, 比如错误校正。 背景技术 0002 现代数字电路变得越来越大且复杂, 并因此越来越易受出于各种各样的原因的错 误的影响。例如, 电路减小的规模, 以及用于表示数据的降低的电压, 常常增加了错误的可 能性。 可能会出现错误, 例如, 由于在使用的电路导致在电路中的位翻转的环境中的高能粒 子, 或者简单地由于制造错误。 而且, 刻意尝试的在电路中引入错误的利用高能粒子对电路 的轰击越来越成为错误的来源, 特别是在密码系统中。 因此, 在数字电路中的错误。
17、的检测和 / 或校正变得越来越重要。 0003 作为一个实例, 比如在伽罗瓦域 (Galois fields)GF(2k) 上的算术的有限域算术 用于包括密码系统的诸多应用中。在密码系统中, 例如, 容错电路是合适的, 尤其是因为可 以在电路执行密码运算的同时通过在电路中引起故障来学习秘密信息。 为了实现用于密码 系统的容错电路, 已经提出了具有并行错误检测以及校正能力的有限域乘法电路。 然而, 这 些往往或者非常大, 或者仅校正单个错误。 发明内容 0004 根据一个方面, 本发明提供了一种错误校正或容错电路, 包括 : 组件、 校正发生器 以及组合器, 其中, 所述组件布置成根据第一输入和。
18、第二输入产生第一输出 ; 所述校正发生 器布置成基于第一输出、 第一输入和第二输入产生适合于与所述第一输出进行组合的校正 输出, 以便校正其中的错误 ; 所述组合器布置成将所述校正输出和所述第一输出进行组合, 从而产生第二输出, 其中已经校正在所述第一输出中的错误。所述校正发生器优选地布置 成使用 BCH 解码产生所述校正输出。BCH 编码和解码的使用为校正在布置成产生输出的电 路组件中的多个错误的极其有效的方式。 0005 可选择地, 电路能够接收一个或更多个输入 ( 例如, 第一和第二输入 ), 并且然后 根据其产生与通过所述组件产生的第一结果并行的校正输出, 从而通过所述组件引入所述 第。
19、一结果的错误能够得以校正, 尽管在接收时, 一个或更多个输入并不具有与其相关联的 错误校正数据。在一些情况中, 电路 “联机 (on the fly)” 产生校正数据, 并且在一些实例 中, 电路能够在相同的时钟周期中校正第一结果, 在所述相同的时钟周期中通过所述组件 接收一个或更多个输入。 0006 可选择地, 电路进一步包括校验位发生器, 所述校验位发生器布置成基于所述第 一输入和所述第二输入产生至少一个校验位, 并且所述校正发生器布置成基于所述第一结 果和所述至少一个校验位产生所述校正输出。 0007 可选择地, 所述校验位发生器布置成根据所述第一输入和所述第二输入直接产生 说 明 书 。
20、CN 103890732 A 5 2/16 页 6 所述至少一个校验位, 而不单独产生所述第一结果。这能够帮助简化所述校验位发生器的 设计。 0008 可选择地, 所述错误检测器布置成基于所述第一结果和所述至少一个校验位产生 所述错误标记, 所述错误标记指示所述错误检测器是否已经检测到所述错误检测器布置成 检测的多个不同错误中的任意一个, 所述多个不同错误包括在所述第一输出中的错误和在 所述至少一个校验位中的错误。 0009 可选择地, 所述校正发生器适合于基于所述第一输出和所述至少一个校验位产生 校正输出, 所述校正输出适合于校正多个不同错误中的任意一个, 所述多个不同错误包括 在所述第一输。
21、出中的错误和在所述至少一个校验位中的错误。 0010 可选择地, 所述校正发生器布置成通过产生错误位置多项式并接着搜索所述错误 位置多项式的根来产生所述校正输出, 其中所述校正发生器仅搜索对应于所述第一结果的 根。这能够显著地帮助所述校正发生器大小的最小化。 0011 可选择地, 布置成产生所述第一输出的所述组件布置为通过对第一和第二输入执 行算术运算而产生所述第一输出。 0012 可选择地, 所述算术运算为有限域算术运算, 比如在伽罗瓦域 GF(2k) 上的乘法。 0013 在另一个方面, 本发明提供了一种错误校正电路, 所述错误校正电路布置成接收 时钟信号, 包括 : 组件、 错误检测器、。
22、 校正发生器以及输出发生器, 其中, 所述组件布置成根 据第一输入和第二输入产生第一输出 ; 所述错误检测器布置成基于所述第一输出、 所述第 一输入和所述第二输入产生错误标记, 所述错误标记指示在所述第一输出中是否已经检测 到错误 ; 所述校正发生器适合于基于所述第一输出、 所述第一输入和所述第二输入, 在起始 于在时钟信号中的时序事件的第一时间周期之后产生校正输出 ; 所述输出发生器布置成在 始于在时钟信号中的时序事件的第二时间周期之后产生错误校正电路的输出。 如果所述错 误标记指示在所述第一输出中已经检测到错误, 则所述第二时间周期可能比所述第一时间 周期长。否则, 所述第二时间周期可能不。
23、比所述第一时间周期长。如果所述错误标记指示 在所述第一输出中已经检测到错误, 则所述错误校正电路的输出可以包括所述第一输出和 所述校正输出的组合, 从而在所述第一输出中检测到的错误得以校正。 否则, 所述错误校正 电路的输出可能直接对应于所述第一输出。 0014 根据本发明的这个方面的电路能够用于通信、 存储器和其他应用, 以及容错电路 设计。它们能够用于提高例如解密、 通信或存储器系统处理数据的速率。 0015 可选择地, 所述输出发生器包括具有输出的输出寄存器, 所述输出寄存器的输出 为所述错误校正电路的输出, 并且其中所述输出发生器布置成当所述错误标记指示在所述 第一输出中已经检测到错误。
24、时, 在更新其输出时对所述输出寄存器进行延迟, 从而使得所 述第二时间周期比所述第一时间周期长。 0016 可选择地, 所述输出发生器包括输出使能组件, 所述输出使能组件布置成基于所 述时钟信号和所述错误标记产生门控时钟, 并且其中所述输出寄存器在其时钟输入处接收 所述门控时钟, 从而在所述错误标记指示在所述第一输出中已经检测到错误时, 防止所述 输出寄存器更新其输出。 0017 例如, 接收的时钟信号可以具有比所述第二时间周期短的恒定周期 ; 所述门控时 钟将具有与所述接收的时钟信号大致相同的周期, 直到在所述第一输出中已经检测到错 说 明 书 CN 103890732 A 6 3/16 页。
25、 7 误, 在该点处, 所述门控时钟的至少一个周期被延伸, 以允许额外的时间使所述校正发生器 产生合适的校正输出。 0018 可选择地, 电路进一步包括校验位发生器, 其中所述校验位发生器布置成基于所 述第一输入和所述第二输入产生至少一个校验位, 并且其中所述错误检测器和所述校正发 生器布置成基于所述第一输出和所述至少一个校验位分别产生所述错误标记和所述校正 输出。 0019 可选择地, 所述错误检测器布置成基于所述第一结果和所述至少一个校验位产生 所述错误标记, 所述错误标记指示所述错误检测器是否已经检测到所述错误检测器布置成 检测的多个不同错误中的任意一个, 所述多个不同错误包括在所述第一。
26、输出中的错误和在 所述至少一个校验位中的错误。 0020 相对于现有技术, 有利的是, 可以检测在所述校验位发生器中的错误。 0021 可选择地, 所述校正发生器适合于基于所述第一输出和所述至少一个校验位产生 校正输出, 所述校正输出适合于校正多个不同错误中的任意一个, 所述多个不同错误包括 在所述第一输出中的错误和在所述至少一个校验位中的错误。 0022 相对于现有技术, 有利的是, 可以校正在所述校验位发生器中的错误。 0023 可选择地, 所述校验位发生器布置成根据所述第一输入和所述第二输入直接产生 所述至少一个校验位, 而不单独产生所述第一输出。 0024 可选择地, 所述校正发生器布。
27、置成通过产生错误位置多项式并接着搜索所述错误 位置多项式的根来产生所述校正输出, 其中所述校正发生器仅搜索对应于所述第一输出的 根。 0025 可选择地, 布置成产生所述第一输出的所述组件布置为通过对第一和第二输入执 行算术运算而产生所述第一输出。 0026 可选择地, 所述算术运算为有限域算术运算, 比如在伽罗瓦域 GF(2k) 上的乘法。 0027 在本发明的第一和第二方面的两者之一中, 输出可以包括多个位, 并且所述校正 发生器可以布置成将输出位分配至第一组的集合并对所述第一组的集合的每一个执行第 一错误检测步骤, 将所述输出位分配至第二组的集合并对所述第二组的集合的每一个执行 第二错误。
28、检测步骤, 使用第一和第二错误检测步骤的结果来执行错误定位步骤以在所述输 出中定位错误。 0028 根据本发明的另一个方面, 本发明提供了一种错误校正电路, 布置成接收包括多 个输出位的系统输出, 所述错误校正电路将所述输出位分配至第一组的集合并对所述第一 组的集合的每一个执行第一错误检测步骤, 将所述输出位分配至第二组的集合并对所述第 二组的集合的每一个执行第二错误检测步骤, 使用第一和第二错误校正步骤的结果来执行 错误定位步骤以在所述输出中定位错误, 并且根据接收的输出和所述错误定位步骤的结果 产生校正的输出。 0029 根据本发明的这个方面的一些电路具有这样的好处 : 所述错误校正能够以。
29、相对低 的空间开销合并到电路中, 以及错误校正能够以通常有效的方式执行, 并且能够校正相对 大量的位错误。 0030 可选择地, 第一和第二组的集合布置成使得对于所述输出位的任意一个, 来自其 作为成员的第一集合的组的身份和来自其作为成员的第二集合的组的身份唯一识别所述 说 明 书 CN 103890732 A 7 4/16 页 8 输出位。 0031 例如, 如果所述输出位布置在行和列的矩形表格内, 则所述第一组的集合可以包 括行, 并且所述第二组的集合可以包括列, 反之亦然。 然而, 应当理解的是, 在输出中的位能 够以任意顺序分配到表格中的位置。 0032 电路可以包括布置成执行每一个步。
30、骤的子电路, 例如其可以包括以下中的任意一 个或多个 : 分配子电路、 第一错误检测子电路、 第二错误检测子电路、 错误定位子电路以及 校正子电路。 0033 所述错误检测步骤或子电路可每一个都布置成确定在相关组中位错误的数量。 例 如, 它们可以布置成对于每一个组产生错误检测代码, 例如奇偶校验码。 0034 在第一集合中的组可以全部是相同的大小, 或者可以是不同的大小。在第二集合 中的组可以全部是相同的大小, 或者可以是不同的大小。第一集合中的组与第二集合中的 组可以是相同的大小, 或者可以是不同的大小。 0035 系统可以是功能电路, 比如乘法器, 在该情况下所述输出可以是对一个或多个输。
31、 入执行功能的结果。 在其他情况下, 系统可以是在其上传输通信的通道, 在该情况下所述输 出可以是如从所述通道接收的通信。 在其他情况下, 系统可以是存储器电路, 在该情况下所 述输出可以是从所述存储器电路重新得到的数据。 附图说明 0036 电路可以进一步包括任意组合的本发明的任意一个或多个优选实施方案的任意 一个或多个特征, 其将在现在仅通过实例的方式, 参考所附附图进行描述, 在所附附图中 : 0037 图 1 为根据第一实施方案的用于计算有限域乘法并具有并行错误校正能力的电 路的示意性方框图 ; 0038 图 2 为显示图 1 的校正发生器块的组件的示意性方框图 ; 0039 图 3 。
32、为根据第二实施方案的用于计算有限域乘法并具有并行错误校正能力的电 路的示意性方框图 ; 以及 0040 图 4 为显示图 3 的错误检测子电路的组件的示意性方框图 ; 0041 图5为显示代表通过图3的电路的不同组件的各自传播延迟的一些时间同期的时 间线 ; 0042 图 6 为显示图 3 的电路的一些信号的时序图 ; 0043 图 7 为根据本发明的第三实施方案的错误校正电路的示意性方框图 ; 0044 图 8 为显示在图 7 的电路中产生的校验位的表格 ; 0045 图 9A、 图 9B、 图 9C 和图 9D 为显示能够使用图 7 的电路进行校正的错误的组合的 一些实例的表格 ; 004。
33、6 图 10 为显示对于图 7 的实施方案的修改的能够进行校正的错误的组合的一些实 例的表格 ; 0047 图 11 为显示在本发明的进一步实施方案中能够检测的错误的组合的一些实例的 表格 ; 0048 图 12 为显示使用 180nm 和 90nm 技术的不同大小的乘法器电路的面积的图表 ; 0049 图 13 为显示用于对位表格的每一行中的多个错误校正使用海明码的使用 180nm 说 明 书 CN 103890732 A 8 5/16 页 9 和 90nm 技术的不同大小的乘法器的错误检测和校正电路的面积的图表 ; 0050 图 14 为显示用于使用 BCH 码的使用 180nm 和 90。
34、nm 技术的不同大小的乘法器的错 误检测和校正电路的面积的图表 ; 以及 0051 图 15 和图 16 显示了图 13 和图 14 的具有错误检测和校正的乘法器电路的功率消 耗。 具体实施方式 0052 参照图 1, 在本发明的第一实施方案中, 电路 100 包括具有两个并行输入 105a、 105b 以及并行输出 105c 的有限域乘法子电路 105。乘法子电路 105 布置成在输出 105c 处 产生乘积 C。乘积 C 是将在两个并行输入 105a、 105b 处接收的两个操作数 A、 B 在伽罗瓦域 GF(2k)( 在该域中两个操作数为元素 ) 上相乘的结果。两个并行输入 105a、 。
35、105b 以及并行 输出 105c 宽为 k 位, 也即, 每一个由 k 个位组成。 0053 在其他实施方案中, 有限域乘法子电路 105 可以由用于执行其他有限域算术 ( 比 如, 乘法逆元 (multiplicative inversion) 或取幂 ( 例如, 平方 ) 运算 ) 的电路进行替代。 例如, 在一些实施方案中, 有限域乘法子电路 105 可以由用于执行并非有限域算术的算术 ( 比如, 二进制补码的二进制算术 ) 的电路进行替代。 0054 在第一实施方案中, 电路 100 还包括具有两个 k 位并行输入 110a、 110b 以及 n-k 位并行输出 110c 的校验位发。
36、生器 110, 其在一些实施方案中可以为单位输出。 0055 校验位发生器 110 布置成在接收相同的两个操作数 A、 B( 其在乘法子电路 105 处 接收 ), 并且在并行输出 110c 处产生奇偶校验字 P。在一些实施方案中, 奇偶校验字 P 可以 由奇偶校验位进行替代。 0056 校验位发生器110包括逻辑电路以在并行输出110c处产生奇偶校验字P。 通过执 行对在两个并行输入 110a、 110b 处接收的两个操作数 A、 B 的 BCH 编码和有限域乘法的组合 而产生奇偶校验字 P。校验位发生器 110 的逻辑电路布置成直接从两个操作数 A、 B 产生奇 偶校验字 P, 而不是首先。
37、产生乘法结果, 然后从该乘法结果产生奇偶校验字 P, 发明人发现 这样更有效率 ( 例如, 更小的延迟和 / 或更少的逻辑门 )。校验位发生器 110 并不输出对应 于乘积 C 的乘法结果。 0057 在该实施方案中, 通过将在伽罗瓦域 GF(2k) 上定义乘法的常规表达式 - 通过有限 域乘法子电路 105 执行的相同类型的乘法 - 代入定义二进制 (n, k, t)BCH 代码 ( 其中 k 为 在 “消息” 中的位的数量, 例如, 在两个操作数 A、 B 的每一个中以及在乘积 C 中, t 为电路 100 通常能够校正的错误的数量, 无论它们在哪里发生 ( 有时能够校正更大数量的错误, 。
38、但 不是在所有情况下), 以及n-k为在奇偶校验字P中的位的数量)的奇偶校验位的常规表达 式中来推导校验位发生器 110 的逻辑电路。 0058 电路 100 进一步包括具有两个输入 115a、 115b 以及输出 115c 的校正发生器 115。 两个输入 115a、 115b 以相同的宽度分别连接到乘法子电路 105 的输出 105c 以及校验位发 生器 110 的输出 110c。输出 115c 为 k 位并行输出。 0059 校正发生器115布置成在其两个输入115a、 115b处接收乘积C和奇偶校验字P, 并 且在其输出 115c 处产生校正值 E。在该实施方案中, 校正发生器 115。
39、 包括逻辑电路以通过 对乘积C和奇偶校验字P执行BCH解码来产生校正值E, 如将在下面参照图2进行更加详细 说 明 书 CN 103890732 A 9 6/16 页 10 的描述。 0060 电路 100 进一步包括具有两个 k 位并行输入 120a、 120b 以及 k 位并行输出 120c 的组合子电路 120, 两个 k 位并行输入 120a、 120b 分别连接到乘法子电路 105 的输出 105c 和校正发生器 115 的输出 115c。 0061 组合子电路 120 布置成接收乘积 C 和校正值 E, 并且在并行输出 120c 处产生校正 的乘积 C。在该实施方案中, 组合子电路。
40、 120 由多个 XOR 门 ( 未示出 ) 组成, 对于并行输出 120c 的每一位都有各自的一个。乘积 C 的每一位经由异或运算 ( 通过 XOR 门中各自的一 个 ) 与校正值 E 的相应位组合, 这导致了乘积 C 的错误位在校正的乘积 C 中被反转 ( 即, 逻辑 0 被转换为逻辑 1, 反之亦然 ), 从而校正了乘积 C 的错误位。 0062 参照图 2, 校正发生器 115 包括校验子发生器 125 和错误定位器 130, 并且在其输 出 115c 处产生 k 位校正值 E( 在图 2 中单独显示为 ek-1e0)。 0063 校验子发生器 125 具有两个输入 125a、 125。
41、b 以及 t 位宽的并行输出 125c。两个输 入 125a、 125b 以相同的宽度分别连接到校正发生器 115 的两个并行输入 115a、 115b。校验 子发生器 125 布置成接收乘积 C 和奇偶校验字 P, 并且在其输出 125c 处产生错误位置多项 式 StS1。校验子发生器 125 布置成使用众所周知的 Peterson-Gorenstein-Zierler 算 法产生错误位置多项式 StS1, 但是产生错误位置多项式 StS1 的其它合适的方法对本 领域技术人员来说将是很明显的, 并且可以用在其他实施方案中。 0064 错误定位器130具有t位宽的并行输入130a, 并行输入1。
42、30a连接到校验子发生器 125 的输出, 并且具有连接到校正发生器 115 的输出 115c 的 k 位宽的并行输出 130c。 0065 错误定位器130布置成接收错误位置多项式StS1, 并且在其输出130c处产生校 正值 E, 校正值 E 由 k 个错误定位器 ek-1e0组成。在该实施方案中, 通过使用众所周知的 Chien 搜索算法找到错误位置多项式 StS1 的根来产生错误定位器。有利地, 错误定位器 130 并不搜索对应于奇偶校验字 P 的根 ( 这是由于在该实施方案中并不想要奇偶校验字 P 的校正 ), 如果搜索对应于奇偶校验字 P 的根, 其趋于减少在错误定位器 130 中。
43、逻辑电路的 量 ( 与需要的量相比 )。在其他实施方案中, 错误定位器 130 可以搜索对应于奇偶校验字 P 的根。在这样的实施方案中, 校正发生器的输出可以为 t+k 位宽, 并且校正发生器可以布置 成在其输出处产生适合于校正多个不同错误中任意一个的校正值, 所述多个不同错误包括 在奇偶校验字中的错误和在乘积中的错误。 0066 参照图3, 在本发明的第二实施方案中, 电路200包括有限域乘法子电路205、 校验 位发生器 210、 校正发生器 215 以及组合子电路 220。这些组件中的每一个都基本上与第一 实施方案的相应组件 ( 相同名字的组件 ) 相同。乘法子电路 205、 校验位发生。
44、器 210 和校正 发生器 215 以与在第一实施方案中相同的方式连接在一起 ; 这些组件不需要进行进一步的 描述。 0067 电路 200 还包括错误检测子电路 250、 位掩码子电路 255、 输出使能子电路 260 以 及输出寄存器 265。 0068 错误检测子电路 250 具有两个输入 250a、 250b 以及一位输出 250c。两个输入 250a、 250b以相同的宽度分别连接到乘法子电路205的输出205c以及校验位发生器210的 输出 210c。错误检测子电路 250 布置成检测在乘积 C 中的错误, 并且检测在奇偶校验字 P 中的错误, 而无论那些错误单独发生还是同时发生。。
45、因此, 错误检测子电路 250 能够检测多 说 明 书 CN 103890732 A 10 7/16 页 11 个不同错误中的一个或多个。 0069 由于错误检测子电路 250 连接到校验位发生器 210, 因此其并不需要直接从两个 操作数 A、 B 产生校验位。这可能被视为在错误检测子电路 250 和校正发生器 215 之间共享 的有利资源, 这是由于共用模块 ( 校验位发生器 210) 被用于对于两者而非每一个 ( 包括其 自己的逻辑电路 ) 产生奇偶校验字 P, 以便直接从两个操作数 A、 B 推导奇偶校验字 P。 0070 参照图 4, 错误检测子电路 250 包括校验位发生模块 25。
46、1 和比较模块 252。 0071 校验位发生模块 251 具有 k 位并行输入 251a 以及 n-k 位宽的并行输出 251c, k 位 并行输入 251a 连接到错误检测子电路 250 的并行输入 250a 中的第一个。 0072 校验位发生模块 251 布置成接收乘积 C, 并且在其输出 251c 处产生进一步的奇偶 校验字 P。以对应于由校验位发生器 210 使用以产生奇偶校验字 P 的 BCH 编码的方式来产 生进一步的奇偶校验字P。 因此, 如果没有错误出现在奇偶校验字P中, 并且没有错误出现 在乘积 C 中, 则进一步的奇偶校验字 P 将等于奇偶校验字 P。 0073 比较模块。
47、 252 具有两个输入 252a、 252b 以及连接到错误检测子电路 250 的输出 250c的一位输出252c。 两个输入252a、 252b以相同的宽度分别连接到校验位发生模块251 的输出 251c 以及错误检测子电路 250 的并行输入 250b 中的第二个。 0074 比较模块 252 布置成接收进一步的奇偶校验字 P 以及奇偶校验字 P, 并且在其输 出 252c 处产生错误标记 F。错误标记 F 指示是否已经检测到多个不同错误中的任意一个, 所述多个不同错误包括在乘积 C 上的错误和在奇偶校验字 P 中的错误。 0075 尽管可能有其他合适的布置, 但在该实施方案中, 比较模块。
48、252由异或模块253和 评估模块 254 组成。 0076 异或模块 253 具有两个并行输入 253a、 253b( 每一个都为 n-k 位宽 ) 以及相同宽 度的并行输出 253c, 两个并行输入 253a、 253b 分别连接到校验位发生模块 251 的输出 251c 以及错误检测子电路 250 的并行输入 250b 中的第二个。 0077 异或模块 253 布置成接收奇偶校验字 P 和进一步的奇偶校验字 P, 并且通过对奇 偶校验字 P 和进一步的奇偶校验字 P 执行按位异或运算而在其输出 253c 处产生第三奇偶 校验字 P。 0078 评估模块254具有为n-k位宽的并行输入25。
49、4a以及一位输出254c, 并行输入254a 连接到异或模块 253 的并行输出 253c, 一位输出 254c 连接到比较模块 252 的输出 252c。 0079 评估模块 254 布置成接收第三奇偶校验字 P, 对其进行评估以便确定是否它的 所有位都为逻辑 0, 并且在其输出 254c 处产生错误标记 F。如果第三奇偶校验字 P 的所 有位都为零, 则评估模块 254 将错误标记 F 的值设定为逻辑 1, 以指示在乘积 C 中或在奇偶 校验字 P 中不存在错误, 否则评估模块 254 将错误标记 F 的值设定为逻辑 0, 以指示已经检 测到多个错误中的一个。 0080 再次参照图 3, 位掩码子电路 255 具有两个输入 255a、 255b 以及 k 位并行输出 255c。两个输入 255a、 255b 以相同的宽度分别连接到错误检测子电路 250 的输出 250c 以 及校正发生器 215 的输出 215c。