CN106941356B - 用于可分解的解码器的电路装置和方法 - Google Patents

用于可分解的解码器的电路装置和方法 Download PDF

Info

Publication number
CN106941356B
CN106941356B CN201610440126.XA CN201610440126A CN106941356B CN 106941356 B CN106941356 B CN 106941356B CN 201610440126 A CN201610440126 A CN 201610440126A CN 106941356 B CN106941356 B CN 106941356B
Authority
CN
China
Prior art keywords
circuit arrangement
output
finite field
search
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610440126.XA
Other languages
English (en)
Other versions
CN106941356A (zh
Inventor
M·朗哈默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/986,788 external-priority patent/US10230399B2/en
Application filed by Altera Corp filed Critical Altera Corp
Publication of CN106941356A publication Critical patent/CN106941356A/zh
Application granted granted Critical
Publication of CN106941356B publication Critical patent/CN106941356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种用于具有数据速率的输入信道解码器电路装置,其中在输入信道上的码字包括多个符号,包括提供具有数据速率的第一输出信道的选项以及具有较慢的数据速率的多个第二输出信道的选项。解码器电路装置包括校验子计算电路装置、多项式计算电路装置、以及搜索和校正电路。校验子计算电路装置包括有限域乘法器以用于将每一个符号与场的根的幂相乘。除了第一乘法器的每一个乘法器将符号与根的比相邻乘法器更高的幂相乘。第一级加法器将若干乘法器组的输出相加。第二级加法器将第一级加法器的输出相加,以被累加为第一输出信道的校验子。其他多个累加器累加第一级加法器的输出,其在缩放之后,是第二输出信道的校验子。

Description

用于可分解的解码器的电路装置和方法
相关申请的交叉引用
本专利文件要求共同待决的、共同受让的2015年6月18日提交的No.62/181,470号美国临时专利申请号的权益,其在通过引用的方式全文并入于此。
技术领域
本发明涉及将前向纠错(FEC)解码器分解为多个较慢的前向纠错解码器。
背景技术
在FEC解码器的某些应用中包括BCH类型解码器,例如,所罗门(Reed-Solomon)解码器,可能要求不同尺寸或总处理能力的解码器。这些解码器可以具有针对每个码字的不同数量的奇偶性校验或符号校验。迄今为止,针对每一个不同尺寸的解码器,已经需要不同的解码器“引擎”或电路。
发明内容
与本发明的实施例一致,较快的FEC解码器,诸如所罗门(Reed-Solomon)解码器或其它BCH类型解码器,可以被分解为多个较慢的FEC解码器。例如,系统可以要求多个不同FEC解码器,诸如以系统其以一个速率接收数据但是以一个不同的较慢的速率内部处理数据。在该示例中,系统可以具有用于它外部接口的较快的FEC解码器,以及较慢的内部FEC解码器,当使用共同的解码器引擎用于所有FEC解码器,具有较快的FEC解码器被分解为使用共同解码引擎的并行的较慢的FEC解码器。
支持每个码字的奇偶性校验或符号校验的数量可以在较大的(即,较快的)和较小的(即,较慢的)FEC解码器之间不同。校验符号的数量,以及因此将被计算的校验子的数量也可以不同。尽管通常认为较大的FEC解码器的码字具有比较小的FEC解码器的码字较大数量的校验符号,相反的情况也是可能的。
本发明提供一种结构,其可以被用于具有不同尺寸码字和每个码字校验符号的不同数量,以及码字的边界可以不与时钟边界一致的较大的和较小的FEC解码器的任意组合。尽管结构是灵活的,针对解码器尺寸的任意组合,结构的任意特别的实现将是固定的,以及应该包括被该实现支持的最大校验符号数量的资源。
应当注意的是,本发明对于场尺寸(伽罗瓦域中的比特数量)和不可简化多项式(其定义场序)对于所有的解码器分解是相同的实现来说是最合适的。而本发明的实现还可以被使用在场定义在解码器类型之间是可变的情况,在这样的实现中,要求更大量的资源可以导致解码器比用于不同情况简单实现的分离的解码器更大。
不同的解码器实现将根据情况。在一个示例中,400G比特每秒(bps)以太网信道可以接连至不支持100G比特每秒以上的设备。解决方案可以是分解400G比特每秒的信道为4个100G比特每秒的信道。然而,本发明的实现是可成比例缩放的。因此,400G比特每秒信道还可以被分解为8个50G比特每秒的信道或16个25G比特每秒的信道。在400G比特以太网场景中,其中400G比特每秒的信道被提供为两个并行的200G比特每秒的信道,二对一分解将从每一个200G比特每秒信道中产生2个100G比特每秒信道。
因此,与本发明的实施例一致,提供了用于具有第一数据速率的输入信道的解码器电路装置,其中输入信道上的码字包括并行的多个符号。解码器信道包括选择提供具有第一数据速率的第一输出信道和选择提供具有小于第一数据速率的数据速率的多个第二输出信道二者。解码器电路装置包括校验子计算电路装置,多项式计算电路装置,以及搜索和校正电路。校验子计算电路装置包括数量上对应于多个符号量的多个有限域乘法器,用于使符号与有限域的根的幂相乘,除了第一乘法器之外的多个乘法器中的每一个相应的乘法器使所述多个符号中的对应的符号与在所述多个乘法器中比相邻乘法器更高的所述根的幂相乘。第一级加法器电路使多个乘法器中若干乘法器组的输出相加。第二级加法器使第一级加法器电路的输出相加。第一累加器累加第二级加法器的输出作为第一输出信道的校验子。数量上等于乘法器的组的多个第二累加器累加第一级加法器电路的输出。相应的缩放乘法器操作在除了一个第二累加器之外所有的第二累加器中。每一个第二累加器的输出是第二输出信道的一个校验子。
还提供了操作这种电路装置的方法。
附图说明
结合附图,基于下述详细描述的说明书的考虑,本发明的其他特征,其性质以及不同的优点是明显的,在全文中,相同的附图标记涉及同样的部件,在附图中,
图1示出了用于第一信道和四个较慢的信道的典型的码字输入模式,其中在四个较慢的信道处码字边界与时钟周期边界一致;
图2示出了用于不同速度的第一信道的码字输入模式的比较,其中在不同速度的第一信道处的码字边界与时钟周期边界不一致;
图3示出了根据本发明实现的一般的FEC解码器的示意性示图;
图4是根据本发明的实施例用于计算校验子的一个实施方式的示意性示图;
图5是第一求和装置的示意表示;
图6是第二求和装置的示意表示;
图7是根据本发明实施例的用于计算码字边界位置的移位电路装置的示意表示;
图8示出对应于多个线道的多个移位电路装置的第一布置;
图9示出对应于多个线道的多个移位电路装置的第二布置;
图10是根据本发明配置的采用可编程逻辑设备的示例性系统的简化框图;以及
图11是根据本发明的方法的校验子计算部分的流程图。
具体实施方式
如上文注释,本公开描述了一种结构,其根据较快的FEC解码器,诸如BCH解码器,和具体地所罗门(Reed-Solomon)解码器可以被分解为多个较慢的FEC解码器。例如,系统可以要求多个不同的FEC解码器,诸如,系统其以一个速率接收数据但是以不同的较慢的速率内部处理数据。在该示例中,系统可以具有用于它的外部接口的较快的FEC解码器,以及内部较慢的FEC解码器。在较快的FEC解码器被分解为并行的较慢的FEC解码器的条件下,较快的外部解码器以及较慢的内部解码器二者可以被构造为使用共同的较慢的解码器引擎。
图1在图的上半部分示出了较快的信道101之间分解的示例,并且在图的下半部分示出了四个较慢的并行信道102。为了简明,码字是同样的(例如,RS(544,528))。然而,还可能的是在较快的信道101中的码字具有一个规格(例如,RS(544,514))以及在较慢的信道102中的码字具有不同的规格(例如,RS(528,514))。
可以看出,在较快的信道101中的每一个单独的码字111是四个时钟100上的输入(例如,每时钟136符号)。并行的较慢的信道102中的码字112是16个时钟100上的输入(例如,每时钟34符号)。码字边界与时钟边界一致。可以看出更低速度的配置将具有比更高总处理能力情况的更长输入延迟,即使合计的总处理能力是同样的。
图2仅示出了针对更复杂情况的输入线道,其中码字长度不是由每一时钟符号输入的数量可均等划分的,以及因此码字的开始和结束点关于时钟边界变化。例如,在图的上部中线道201可以对应于每次被输入128个符号的RS(544,514)码字211,以及在图的下部中线道202可以示出同样的每次以较快的时钟速率被输入64个符号的码字212。较慢和较快的时钟速率可以分别地对应于例如,不同的电路实现,诸如场可编程门阵列(FPGA)实现和专用集成电路(ASIC)实现。总之,分解的较慢的信道没有在该图中被示出。
用于处理不对应于时钟边界的码字长度的实现,在共同待决的、共同受让的、在2015年9月3日提交的申请号为No.14/844,551美国专利,其通过引用全文合并于此。在应用技术(诸如那些在共同审理中公开的)到图2中示出的输入后,那些可以如本公开余下中公开的被处理。特别地,以下的讨论中详述处理多个码字均具有潜在不同结束/开始位置。
图3示出根据本发明的实施例的全部的解码器结构300,其中一个进入线道301被分解为四个流出线道302,为了允许四个较小的(即,较慢的)解码器代替一个较大的(即,较快的)解码器。结构300包括校验子计算级310、关键等式解算器级320、以及搜索和校正级330。
关键等式解算器级320包括若干关键等式解算器块321,其计算错位定位多项式λ和错误校正多项式Ω。关键等式解算器块321可以是常规的。此外,尽管图中图示的关键等式解算器块321的数量等于输出线道302的数量,关键等式解算器块321的数量可以不同于输出线道302的数量,取决于关键等式解算器块321的总处理能力。
例如,如果关键等式解算器块321是用于关键等式解算器块321的数量和输出线道302的数量之间一对一对应的所需要的两倍快,关键等式解算器块321的数量可以是输出线道320数量的一半,只要合适的缓冲器(未示出)被提供。相反地,作为另一个示例,如果关键等式解算器块321仅仅是用于关键等式解算器块321的数量和输出线道302的数量之间一对一对应的所需要的一半快,关键等式解算器块321的数量可以是输出线道320数量的两倍。
校验子计算级310可以包括并行的校验子计算电路装置,诸如在共同受让的美国专利8,347,192,其通过引用全文合并于此。电路把进入符号与增加的幂α相乘来提供之后要被加和的项。
与本发明的实施例一致,求和可以被实现为二级过程。对应于解码器待被分解的线道的数量,第一级和计项至若干子组。数量将从解码器到解码器地变化,因此任意特定的实现将必须提供等于解码器能被分解的独立的线道的最大数量的若干子组。子组可以针对单独的线道单独地使用,或者如果解码器没有被分解,可以被相加。
用于计算校验子的实现400在图4中被示出。在解码器中电路400实例将与可能遇到的最大数量的校验子一样多,其由码字中的奇偶校验、符号校验的数量确定。特别地,电路400的一个实例将用于在特别的码字中遇到的每一个校验子。电路400中的s是用于电路400的实例正被使用的特别的校验子的指数。
如绘出的那样,电路400示出三个子组,但是省略号401指示未示出的附加的子组。例如,假设四个子组以及每时钟周期12个符号输入。取第三校验子s=2,乘法器402的输入系数将是α0,α2,α4,α6,α8,α10,α12,α14,α16,α18,α20和α22。每一个加法器403针对子组的一个的相加乘法器项。针对单独的线道情况,和由加法器404相加(注意如果有由省略号401表示的附加的子组,它们也在加法器404相加)。单独的线道的和404在累加器405被累加具有校验子的运行总和,在415由α被提高至并行p和校验子指数s的乘积移位值来缩放。在该示例其中p=12(每时钟有12个并行输入符号)s=2,移位值是α24。结果是用于更高速度的线道的sth校验子,表示Ss.n.1,其中“1”指示线道数量(在更高速度情况只有一个线道)以及n是速度倍数(其与线道倍数相同)。在示例中,其中s=2并且有四个线道以及更高速度线道是更低速度线道的速度的四倍,指示是S2.4.1
对于子组,相应的加法器403的输出在相应的累加器413被累加,在423由移位值来缩放,该移位值是α被提高至子组并行p/n(其中n是子组的数量)和校验子指数s的乘积。因此,对于四个子组,移位值是α(p/4)s=αps/4。除了第一子组以外,项必须被除回(dividedback down)以使得每一个项以α0开始,因此在除了第一个的每一个累加器413,在累加之前,乘法器433把和乘以适当的反相校验子幂α-xs,…,α-(p-3)s。结果是对于每一个更低速度线道的相应的sth校验子,以Ss.1.m表示,其中“1”(n的一个)指示更低的线道速度并且m是线道数量。在示例中,s=2并且m=1,…,4,以及校验子被表示为S2.1.1,S2.1.2(未示出),S2.1.3和S2.1.4
任意数量的子组可以这样被分解。作为另一个示例,如果输入是64个符号宽度,可以实现一个线道,四个线道(四个子组其是十六个符号宽度),八个线道(八个子组其是八个符号宽度),十六个线道(十六个子组其是四个符号宽度),32个线道(32个子组其是两个符号宽度)。其它组合或分解也可以被创造。在这种情况,子组附加可以是嵌套的。
为了图示目的,简单求和布置500,其可以被指代为“嵌套的”,使用八符号宽度的输入在图5中被示出。每一个符号501输入至乘法器502。相应的乘法器502的对被第一级加法器503相加,其输出可以提供两符号宽度的输出513。第一级加法器503的输出还可以被第二级加法器504相加来提供四符号宽度的输出514。第二级加法器504的输出还可以被第三级加法器505相加来提供八符号宽度的输出515。输出由以下表示法标注:
index_of_a_certain_group_size:group_size
从而,例如,2:4指示第二组具有四的组尺寸。
在一些情况下,诸如图5的布置,递归的嵌套布置不可以被使用,并且相反完全独立或部分独立的附加物被使用。图6十二个符号输入的情况,具有三个、四个和十二个符号宽度的组。再一次,每一个符号601输入至乘法器602。相应的乘法器602对被第一级加法器603相加。应该清楚的是,除指示的三个、四个和十二个符号宽度的组,如果需要,这些加法器可以支持两个符号宽度的组(未示出)。第一级加法器604的相应的对的输出继而在相应的第二级加法器604被相加来提供相应的四个符号宽度的组614。每一个第一级加法器603的输出也在一个第三级加法器605被加至一个乘法器602的输出来提供三个符号宽度的组615。两个第二级加法器604的输出在第四级加法器606相互相加,以及继而第四级加法器606的输出在第五级加法器607被加至一个第二级加法器604的输出来提供十二个符号宽度的组617。
关键等式解算器块321的数量将取决于要求的来解决多项式的周期的数量。如以上注释的,合计的在关键等式解算器部分中的关键等式解算器321的总处理能力应该等于或者大于具有最大数量的校验符号的线道的总处理能力。在示例中,有一个400G比特每秒校验子集322、以及四个100G比特每秒校验子集342。400G比特每秒校验子集322经由乘法器352以循环方式被分配至每一个关键等式解算器块321。每一个100G比特每秒校验子集342被发送至关键等式解算器块321的仅一个(在该实施例中总是相同的一个)。对于不同的实现,用于映射校验子集至关键等式解算器块321的复用模式将是不同的,但是可以由本领域一般技术人员计算。
相似地,关键等式解算器块321的输出多项式必须被分配至搜索和校正块331。如以上注释的,每一个关键等式解算器块321输出错位定位多项式λ和错误校正多项式Ω二者。然而,为了避免使图杂乱,图3中仅示出错位定位多项式λ。对于每一个Ωm,电路被重复(未示出)。对于n个更低速度线道,如校验子集的情况,每一个多项式(λ100_线道)被发送至搜索和校正块331的仅一个(在本实施例中总是同一个)。对于更高速度线道,每一个相应的关键等式解算器块321输出相应的多项式段(λ400_段),并且这些段在362被复用并经由移位电路装置700和乘法器323被分配至搜索和校正块331。针对每一个搜索和校正块331,乘法器323针对单独的更高的速度线道情况选择相应的多项式段(λ400_段),或者针对多个更低速度的线道情况选择多项式(λ100_线道)。针对单独的更高速度线道情况,针对不同的实现,映射再一次不同,但是可以由本领域一般技术人员计算。
移位电路装置700被用以排列每一个多项式成行至正确的开始位置,取决于不同的搜索和校正块331中的哪一个接收多项式。在以上使用的4:1示例中,针对多个更低速度线道的情况,每一个线道有一个搜索和校正电路,具有恒定的映射,因此不需要移位。但是针对更高速度单独线道情况,四个搜索和校正块331中的一个将被用于码字的开始,并且码字宽度的每四分之一将被映射到下一个块331,以块331的数量为模。
此外,在多数情况下,码字将被缩短,即,它将具有比由场尺寸支持的最大数量的更少的符号。这要求在使用前多项式被移位至第一搜索位置的开始。对于第一搜索多项式系数,将是αi。对于第二、第三、以及随后的系数,将是α2i,α3i,α4i以及等等。因为搜索和校正电路是p并行,并且有四个可能的开始/结束位置(见图2的上部分),每一个电路的输入必须是进一步被p/4移位针对每一个电路相关与前一个电路。对于nth系数,qth电路的输入,具有分布在g组上的p并行信号的总数量,移位值将是αn(i+(q-1)p/g)
移位电路装置700的实现在图7中被示出。每一个系数将具有从中选择g值的一个。这些可以由乘法器选择。乘法器的选择是明确的。如图7中示出,针对每一个码字类型,计数器701计数至针对该码字每一个线道符号输入的数量,以码字长度n为模。结果将具有少量若干值,其可以由线道选择电路702解码来生成乘法器选择。
每一个线道有一个移位选择电路703。移位选择电路703包括m个4输入乘法器710、一个用于m个多项式λm的每一个。电路针对每一个Ωm重复(未示出)。选择控制信号702将针对每一个乘法器710选择同样的输入,由p/4的同样的倍数移位。图8示出单独的电路700怎样提供给每一个线道,其具有用于由同样的计数器701生成的所有线道的乘法器选择。然而,线道选择电路702生成选择控制信号将不同来适应针对不同线道的不同映射。
在一些情况下,开始/结束位置的数量小于线道的数量。例如,图2中底部的模式仅具有两个明显的可能性,尽管如此,由于较快的和较慢的速度码字之间的比率仍然需要四个线道。在这样的情况,图9中图示,选择控制电路装置902可以在两个线道移位选择块之间共享,尽管输入到相应的在两个线道中共享一个选择控制电路或线道选择电路902的乘法器的映射将是不同的。
每一个搜索和校正块331可以以任意已知方法执行搜索,诸如钱氏搜索(Chiensearch)。例如,在共同受让的美国专利第8,621,331号中用于针对变化的码字开始位置初始化多个钱氏搜索组的方法,其以引用的方式全文并入于此。众所周知,在所罗门(Reed-Solomon)解码器中,搜索和校正块331还将包含福尼算法(Forney algorithm)来计算校正值。
以上描述的电路装置可以在固定的电路中被实现(诸如,ASIC),而在可编程逻辑设备(PLD)(诸如,FPGA)中,每一个用户实例可以被调整适应特殊的要求。然而,这样的电路可以被提供为FPGA上的硬逻辑块或其它PLD。诸如PLD 140的集成电路设备被配置为包括根据本发明的实现的电路可以在很多种类的电子设备中使用。一种可能的使用是在图10中示出的示例性数据处理系统1400中。数据处理系统1400可以包括一个或多个以下的部件:处理器1401;存储器1402;I/O电路1403;以及外部设备1404。这些部件通过系统总线耦合至一起以及在电路板1406上其被包括在终端用户系统1407中。
系统1400可以在各种各样的应用中使用,诸如计算机网络、数据网络、仪器、视频处理、数字信号处理、远程射频头(RRH)或者其它应用其中使用可编程的或可改程序的优点是需要的。PLD140可以用以执行各种各样不同的逻辑功能。例如,PLD可以被配置为处理器或者控制器其与处理器1401合作工作。PLD 140还可以被用为仲裁机用来仲裁系统1400中接入至共享资源。在另一个示例中,PLD 140可以被配置为处理器1401和系统1400中其它部件中的一个之间的接口。应该注意的是系统1400仅是示例性的,并且本发明的真实范围和精神应该由以下权利要求指明。
如以上描述以及包含本发明,不同的技术可以用以实现PLD 140。
本发明实施例的方法的校验子计算部分1100在图11中图解。在1101,执行对应于多个符号数量的多个有限域乘法运算,同时每一个乘法运算包括将符号中的一个符号与有限域的根的幂相乘,其中除了第一乘法运算之外的每一个乘法运算将多个符号中的相应的符号与根的比相邻的乘法运算更高的幂相乘。在1102,乘法运算被分组为若干乘法组,并且执行第一级加法运算,以将每一乘法组中的乘法的结果相加到一起。在1103,执行第二级加法运算,以将第一级加法运算的结果相加到一起。在1104,累加第二级加法运算的输出作为第一输出信道的校验子。在1105,在数量上等于乘法组的多个附加累加运算中,累加第一级加法运算的输出。在1106,缩放除了一个附加累加运算之外的所有附加累加运算的输出,连同附加累加运算中的一个附加累加运算的输出一起,是第二输出信道的相应的第二输出信道的相应校验子。
根据一个方面,用于输入信道具有第一数据速率的解码器电路装置,在输入信道上的码字具有多个符号,由此解码器信道包括提供具有第一数据速率的第一输出信道的选项以及提供具有小于第一数据速率的数据速率的多个第二输出信道的选项二者,由此解码器电路装置包括校验子计算电路装置、多项式计算电路装置、以及搜索和校正电路装置,并且其中校验子计算电路装置包括多个有限域乘法器、第一级加法器电路、第二级加法器、第一累加器、多个第二累加器、以及用于除了一个第二累加器之外的所有第二累加器的相应的缩放乘法器,由此第二累加器的每一个的输出是第二输出信道中的一个的校验子。数量上对应于多个符号多个有限域乘法器用于将符号与有限域的根的幂相乘。多个乘法器中的除了第一乘法器之外的每一个乘法器将多个符号中的相应的符号与根的比多个乘法器中的相邻乘法器更高的幂相乘。第一级加法器电路将多个乘法器中若干乘法器组的输出相加,第二级加法器将第一级加法器电路的输出相加,并且第一累加器累加第二级加法器的输出作为第一输出信道的校验子。数量上等于乘法器组的多个第二累加器用于累加第一级加法器电路的输出。
在一些实施例中,解码器电路装置包括用于码字的每一个校验子的校验子计算电路装置的相应实例并且多个有限域乘法器中的每一个相应的有限域乘法器将符号中的相应的一个符号与被提高到与符号中的一个符号有关的指数和校验子的指数的乘积的根相乘。
在一些实施例中,在第二累加器的相应的一个第二累加器之前,相应的缩放乘法器抽取有助于第二累加器中的相应的一个第二累加器的多个有限域乘法器中的一个有限域乘法器的最小输出。
在一些实施例中,第一累加器应用第一缩放因子,第一缩放因子等于被提高到符号的总数量和校验子的指数的乘积的根。
在一些实施例中,第二累加器的每一个应用第二缩放因子,第二缩放因子等于第一缩放因子除以乘法器组的数量。
在一些实施例中,多个乘法器被均等地分成乘法器组。
在一些实施例中,多个乘法器被不均等地分成乘法器组。
在一些实施例中,搜索和校正电路装置包括数量上等于多个第二信道的多个搜索和校正电路,并且解码器电路装置还包括映射电路装置,用于将多项式计算电路装置的输出传导至搜索和校正电路装置,映射电路装置包括移位电路装置,以补偿在位置上关于时钟周期边界变化的码字边界。
在一些实施例中,移位电路装置包括:用于搜索和校正电路中的每一个的相应的移位选择电路;模码字长度计数器;用于生成用于相应的移位选择电路的移位控制信号;以及多个移位选择解码器,用于解码移位控制信号以控制搜索和校正电路。
在一些实施例中,多个移位选择解码器在数量上等于多个搜索和校正电路。
在一些实施例中,处于时钟边界之外的位置的码字边界在数量上少于多个搜索和校正电路,多个移位选择解码器在数量上小于多个搜索和校正电路,多个移位选择解码器中的至少一个移位选择解码器由多于一个的移位选择电路共享。
在一些实施例中,移位选择解码器中的每一个由移位选择电路中的两个共享。
根据一个方面,提出对具有第一数据速率的输入信道进行解码的方法,并且输入信道上的码字包括多个符号,该方法包括提供具有第一数据速率的第一输出信道的选项以及提供具有小于第一数据速率的数据速率的多个第二输出信道的选项二者。解码方法还包括计算校验子、计算多项式、以及执行搜索和校正操作、由此计算校验子包括执行在数量上对应于多个符号的多个有限域乘法运算,每一个乘法运算包括将符号中的一个符号与有限域的根的幂相乘,除了第一乘法运算之外的每一个乘法运算将多个符号中的相应的符号与根的比相邻的乘法运算更高的幂相乘。此外,计算校验子包括将乘法运算分组成若干乘法组并且执行第一级加法运算,以将每一乘法组中的乘法的结果相加到一起。计算校验子还包括执行第二级加法运算,以将第一级加法运算的结果相加到一起,累加第二级加法运算的输出作为第一输出信道的校验子,在数量上等于乘法组的多个附加累加运算中,累加第一级加法运算的输出,并且缩放除了一个附加累加运算之外的所有附加累加运算的输出。除了一个附加累加运算之外的所有附加累加运算的经缩放的输出,连同附加累加运算中的一个附加累加运算的输出一起,是第二输出信道的相应的第二输出信道的相应校验子。
在一些实施例中,多个有限域乘法运算中的每一个相应的有限域乘法运算将符号中的相应的一个符号与被提高至与符号中的一个符号有关的指数和校验子的指数的乘积的根相乘。
在一些实施例中,缩放包括在附加累加运算中的相应的一个附加累加运算之前,抽取有助于附加累加运算中的相应的一个附加累加运算的多个有限域乘法运算中的一个有限域乘法运算的最小输出。
在一些实施例中,累加运算应用第一缩放因子,第一缩放因子等于被提高至符号的总数量和校验子的指数的乘积的根。
在一些实施例中,附加累加运算中的每一个附加累加运算应用第二缩放因子,第二缩放因子等于第一缩放因子除以乘法组的数量。
在一些实施例中,多个乘法运算被均等地分成乘法运算组。
在一些实施例中,多个乘法运算被不均等地分成乘法运算组。
在一些实施例中,执行搜索和校正操作包括执行在数量上等于多个第二信道的多个搜索和校正操作,并且解码方法还包括将多项式计算操作的输出映射至搜索和校正操作,映射包括移位,以补偿在位置上关于时钟周期边界变化的码字边界。
在一些实施例中,移位包括从模码字长度计数器操作中生成移位控制信号以及解码移位控制信号,以控制搜索和校正操作。
将被理解的是前述只是本发明的原则的说明性的,并且在不脱离本发明的范围和精神的条件下,不同的修改可以由本领域技术人员做出。例如,本发明的不同的元件可以以任意需要的数量和/或布置被提供在PLD上。本领域技术人员将理解本发明可以由描述的实施例之外实践,其呈现用于说明的目的而非限制,并且本发明只被以下的权利要求限制。

Claims (21)

1.一种用于具有第一数据速率的输入信道的解码器电路装置,所述输入信道上的码字包括多个符号,其中:
所述输入信道包括提供具有所述第一数据速率的第一输出信道的选项以及提供具有小于所述第一数据速率的数据速率的多个第二输出信道的选项二者;
所述解码器电路装置包括校验子计算电路装置、多项式计算电路装置、以及搜索和校正电路装置;以及
所述校验子计算电路装置包括:
数量上对应于所述多个符号的多个有限域乘法器,用于将所述符号与所述有限域的根的幂相乘,所述多个有限域乘法器中的除第一乘法器之外的每一个相应的乘法器将所述多个符号中的相应的符号与所述根的比所述多个有限域乘法器中的相邻乘法器更高的幂相乘,
第一级加法器电路装置,用于将所述多个有限域乘法器中的若干乘法器组的输出相加,
第二级加法器,用于将所述第一级加法器电路装置的输出相加,
第一累加器,用于累加所述第二级加法器的输出作为所述第一输出信道的校验子,
数量上等于所述乘法器组的多个第二累加器,用于累加所述第一级加法器电路装置的输出,以及
相应的缩放乘法器,用于除了一个所述第二累加器之外的所有所述第二累加器,由此所述第二累加器的每一个的输出是所述第二输出信道中的一个第二输出信道的校验子。
2.根据权利要求1所述的解码器电路装置,包括用于所述码字的每一个校验子的所述校验子计算电路装置的相应实例;其中:
所述多个有限域乘法器中的每一个相应的有限域乘法器将所述符号中的相应的一个符号与被提高到与所述符号中的所述一个符号有关的指数和所述校验子的指数的乘积的所述根相乘。
3.根据权利要求2所述的解码器电路装置,其中在所述第二累加器的相应的一个第二累加器之前,所述相应的缩放乘法器抽取有助于所述第二累加器中的所述相应的一个第二累加器的所述多个有限域乘法器中的一个有限域乘法器的最小输出。
4.根据权利要求1所述的解码器电路装置,其中所述第一累加器应用第一缩放因子,所述第一缩放因子等于被提高到所述符号的总数量和所述校验子的指数的乘积的所述根。
5.根据权利要求4所述的解码器电路装置,其中所述第二累加器的每一个应用第二缩放因子,所述第二缩放因子等于所述第一缩放因子除以所述乘法器组的数量。
6.根据权利要求1所述解码器电路装置,其中所述多个有限域乘法器被均等地分成所述乘法器组。
7.根据权利要求1所述解码器电路装置,其中所述多个有限域乘法器被不均等地分成所述乘法器组。
8.根据权利要求1所述解码器电路装置,其中所述搜索和校正电路装置包括数量上等于多个第二信道的多个搜索和校正电路;所述解码器电路装置还包括:
映射电路装置,用于将所述多项式计算电路装置的输出传导至所述搜索和校正电路装置,所述映射电路装置包括移位电路装置,以补偿在位置上关于时钟周期边界变化的码字边界。
9.根据权利要求8所述的解码器电路装置,其中所述移位电路装置包括:
用于所述搜索和校正电路中的每一个的相应的移位选择电路;
模码字长度计数器,用于生成用于所述相应的移位选择电路的移位控制信号;以及
多个移位选择解码器,用于解码所述移位控制信号以控制所述搜索和校正电路。
10.根据权利要求9所述的解码器电路装置,其中所述多个移位选择解码器在数量上等于所述多个搜索和校正电路。
11.根据权利要求9所述的解码器电路装置,其中处于时钟边界之外的位置的码字边界在数量上少于所述多个搜索和校正电路,所述多个移位选择解码器在数量上小于所述多个搜索和校正电路,所述多个移位选择解码器中的至少一个移位选择解码器由多于一个的移位选择电路共享。
12.根据权利要求11所述的解码器电路装置,其中所述移位选择解码器中的每一个由所述移位选择电路中的两个共享。
13.一种对具有第一数据速率的输入信道进行解码的方法,所述输入信道上的码字包括多个符号,其中:
所述方法包括提供具有所述第一数据速率的第一输出信道的选项以及提供具有小于所述第一数据速率的数据速率的多个第二输出信道的选项二者;
所述方法包括计算校验子,计算多项式,以及执行搜索和校正操作;
所述计算校验子包括:
执行在数量上对应于所述多个符号的多个有限域乘法运算,每一个乘法运算包括将所述符号中的一个符号与所述有限域的根的幂相乘,除了第一乘法运算之外的每一个乘法运算将所述多个符号中的相应的符号与所述根的比相邻的乘法运算更高的幂相乘,
将所述多个有限域乘法运算分组成若干乘法组并且执行第一级加法运算,以将每一乘法组中的乘法的结果相加到一起,
执行第二级加法运算,以将所述第一级加法运算的结果相加到一起,
在累加运算中,累加所述第二级加法运算的输出作为所述第一输出信道的校验子,
在数量上等于所述乘法组的多个附加累加运算中,累加所述第一级加法运算的输出,并且
缩放除了一个附加累加运算之外的所有所述附加累加运算的输出;并且
除了一个附加累加运算之外的所有所述附加累加运算的经缩放的输出,连同所述附加累加运算中的所述一个附加累加运算的输出一起,是所述第二输出信道的相应的第二输出信道的相应校验子。
14.根据权利要求13所述的方法,其中:
所述多个有限域乘法运算中的每一个相应的有限域乘法运算将所述符号中的相应的一个符号与被提高至与所述符号中的所述一个符号有关的指数和所述校验子的指数的乘积的所述根相乘。
15.根据权利要求14所述的方法,其中所述缩放包括:在所述附加累加运算中的相应的一个附加累加运算之前,抽取有助于所述附加累加运算中的所述相应的一个附加累加运算的所述多个有限域乘法运算中的一个有限域乘法运算的最小输出。
16.根据权利要求13所述的方法,其中所述累加运算应用第一缩放因子,所述第一缩放因子等于被提高至所述符号的总数量和所述校验子的指数的乘积的所述根。
17.根据权利要求16所述的方法,其中所述附加累加运算中的每一个附加累加运算应用第二缩放因子,所述第二缩放因子等于所述第一缩放因子除以所述乘法组的数量。
18.根据权利要求13所述的方法,其中所述多个有限域乘法运算被均等地分为所述乘法组。
19.根据权利要求13所述的方法,其中所述多个有限域乘法运算被不均等地分为所述乘法组。
20.根据权利要求13所述的方法,其中所述执行搜索和校正操作包括执行在数量上等于多个第二信道的多个搜索和校正操作;所述方法还包括:
将所述多项式计算操作的输出映射至所述搜索和校正操作,所述映射包括移位,以补偿在位置上关于时钟周期边界变化的码字边界。
21.根据权利要求20所述的方法,其中所述移位包括:
从模码字长度计数器操作生成移位控制信号;以及
解码所述移位控制信号,以控制所述搜索和校正操作。
CN201610440126.XA 2016-01-04 2016-06-17 用于可分解的解码器的电路装置和方法 Active CN106941356B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/986,788 US10230399B2 (en) 2015-06-18 2016-01-04 Circuitry and method for decomposable decoder
US14/986,788 2016-01-04

Publications (2)

Publication Number Publication Date
CN106941356A CN106941356A (zh) 2017-07-11
CN106941356B true CN106941356B (zh) 2020-10-27

Family

ID=59469788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610440126.XA Active CN106941356B (zh) 2016-01-04 2016-06-17 用于可分解的解码器的电路装置和方法

Country Status (1)

Country Link
CN (1) CN106941356B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1288293A (zh) * 1999-09-14 2001-03-21 三星电子株式会社 使用改进追溯的两步软输出维特比算法解码器
US6470471B1 (en) * 1999-02-19 2002-10-22 Matsushita Electric Industrial Co., Ltd. Data error correction apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990624B2 (en) * 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US20030101406A1 (en) * 2001-10-12 2003-05-29 Leilei Song Low complexity and low power FEC supporting high speed parallel decoding of syndrome-based FEC codes
US7477495B2 (en) * 2005-12-13 2009-01-13 Silicon Laboratories, Inc. System and method of ESD protection of integrated circuit components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470471B1 (en) * 1999-02-19 2002-10-22 Matsushita Electric Industrial Co., Ltd. Data error correction apparatus
CN1288293A (zh) * 1999-09-14 2001-03-21 三星电子株式会社 使用改进追溯的两步软输出维特比算法解码器

Also Published As

Publication number Publication date
CN106941356A (zh) 2017-07-11

Similar Documents

Publication Publication Date Title
US11249726B2 (en) Integrated circuits with modular multiplication circuitry
Sarwate et al. High-speed architectures for Reed-Solomon decoders
US4873688A (en) High-speed real-time Reed-Solomon decoder
CN114063973B (zh) 伽罗华域乘法器及纠删编解码系统
US6701336B1 (en) Shared galois field multiplier
KR20060125837A (ko) 데이터를 인코딩하기 위한 방법 및 장치
Fenn et al. Dual basis systolic multipliers for GF (2m)
CN103986475A (zh) 里德-所罗门伞型代码的并行分解
US9065482B1 (en) Circuit for forward error correction encoding of data blocks
Elango et al. Hardware implementation of residue multipliers based signed RNS processor for cryptosystems
US8099655B1 (en) Galois field multiplier system and method
US9417848B2 (en) Serial multiply accumulator for galois field
US10230399B2 (en) Circuitry and method for decomposable decoder
CN117014017A (zh) 一种基于高位宽数据计算多项式除法余数的crc计算方法
CN106941356B (zh) 用于可分解的解码器的电路装置和方法
JP3913921B2 (ja) 有限フィールドでの任意要素の逆数具現回路
Namin et al. A High-Speed Word Level Finite Field Multiplier in ${\BBF} _ {2^ m} $ Using Redundant Representation
Zhang et al. Low-power design of Reed-Solomon encoders
CN115632662A (zh) 一种rs译码中的伴随式计算方法、装置、设备及介质
Wu et al. Stream cipher by reed-solomon code
Jittawutipoka et al. Low complexity Reed-Solomon encoder using globally optimized finite field multipliers
Yadav et al. Forward Error Correction for Gigabit Automotive Ethernet using RS (450 406) Encoder
Zhang et al. Low-complexity transformed encoder architectures for quasi-cyclic nonbinary LDPC codes over subfields
Dash et al. VLSI implementation of Reed-Solomon encoder algorithm for communication systems
CN104917535A (zh) 用于分组码的高阶伴随式计算器和计算高阶伴随式的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant