一种里德-所罗门译码器关键方程求解电路的制作方法

文档序号:7508693阅读:178来源:国知局
专利名称:一种里德-所罗门译码器关键方程求解电路的制作方法
技术领域
本发明涉及一种里德-所罗门译码器关键方程求解电路。
背景技术
里德-所罗门码(以下简称RS码)具有很强的纠错能力,既可以纠正随机错误,又可以纠正突发错误,在通信系统和存贮系统中应用广泛。译码算法的计算量是否小、算法结构是否规则、译码差错率是否低、译码器是否简单快速、是否便于硬件实现等等是RS码字选取与硬件实现中的重要衡量指标。在RS码译码时,最重要的一步是求解关键方程以获得错误值多项式和错误位置多项式,它占用资源最多、运算量最大。
参照图2。2000年5月Young-Jin Lim和Moon-ho Lee在IEEE/AFCEA主办的Information Systems for Enhanced Public Safety and Security会议上发表了《A MinimizedModified Euclid Architecture》一文(第177~178页),作者提出了一种最小化的、改进的Euclid算法实现电路,可用作RS码译码中关键方程求解电路。这种结构根据算法的特性对按奇偶次迭代进行了合并,运算单元减少,占用资源下降,但它存在的缺点是寄存器之间有两个有限域乘法器和两个有限域加法器,关键路径太长,限制了译码器电路内部时钟工作频率的提高。
基于这种关键方程求解电路,在Altera公司Cyclone系列FPGA器件EP1C3T144C6上对RS(255,239)码进行逻辑综合的结果显示,这种电路最高内部时钟工作时钟频率为133.33MHz。

发明内容
为了克服现有技术寄存器之间关键路径长,译码器内部工作频率低的不足,本发明提供一种里德-所罗门译码器关键方程求解电路,以获取错误位置多项式和错误值多项式。它采用流水线实现结构,占用资源较少,同时译码器工作频率得到提高,或在相同的工作频率下降低功耗,适合于高速数据通信及信息存储与恢复领域。
本发明解决其技术问题所采用的技术方案是一种里德-所罗门译码器关键方程求解电路,包括R(x)移位寄存器、Q(x)移位寄存器、λ(x)移位寄存器、μ(x)移位寄存器、有限域乘法器A、有限域乘法器B、有限域乘法器C、有限域乘法器D、有限域乘法器E、有限域乘法器F、有限域乘法器G、有限域乘法器H、有限域加法器A、有限域加法器B、有限域加法器C、有限域加法器D、系数锁存器a0、系数锁存器b0和系数锁存器a1,其特征在于还包括流水线寄存器C和流水线寄存器E,流水线寄存器C输入端与有限域加法器A电连接,流水线寄存器C输出端分别与系数锁存器a1和有限域乘法器C电连接,流水线寄存器E输入端与有限域加法器C电连接,流水线寄存器E输出端与有限域乘法器G电连接。
还可以包括流水线寄存器A、流水线寄存器B和流水线寄存器D,流水线寄存器A输入端分别与有限域乘法器A、有限域乘法器E并联后,与系数锁存器b0电连接,流水线寄存器A输出端分别与有限域乘法器C和有限域乘法器G电连接;流水线寄存器B输入端与Q(x)移位寄存器电连接,流水线寄存器B输出端分别与R(x)移位寄存器和有限域乘法器D电连接;流水线寄存器D输入端与μ(x)移位寄存器电连接,流水线寄存器D输出端分别与λ(x)和有限域乘法器H电连接。
本发明的有益效果是由于在移位寄存器R(x)、移位寄存器Q(x)、移位寄存器λ(x)和移位寄存器μ(x)之间的运算单元中分别增加了一级寄存器,使寄存器之间的逻辑单元由两个有限域乘法器和两个有限域加法器减少为一个有限域乘法器和一个有限域加法器,关键路径由“2×Tmult+2×Tadd”缩短为“Tmult+Tadd”。在Altera公司的Cyclone系列FPGA器件EP1C3T144C6上,利用本发明对RS(255,239)译码器的关键方程求解电路进行了逻辑综合,结果显示,其最高内部时钟工作频率为204.79MHz,比现有技术的133.33MHz提高了53.6%,本发明的数据处理速率也因此达到1.638Gbits/s,能满足现有大多数数据通信系统及计算机存贮系统的处理速率要求。
下面结合附图和实施例对本发明进一步说明。


图1是本发明实施例电路结构示意2是文献《A Minimized Modified Euclid Architecture》中Young-Jin Lim等公开的RS译码器关键方程求解电路结构示意图,为现有技术3是本发明操作流程图具体实施方式
参照图1。上一部分完成计算错误值多项式的功能,下面一部分计算错误位置多项式。该电路包括R(x)移位寄存器、Q(x)移位寄存器、λ(x)移位寄存器、μ(x)移位寄存器、有限域乘法器A、有限域乘法器B、有限域乘法器C、有限域乘法器D、有限域乘法器E、有限域乘法器F、有限域乘法器G、有限域乘法器H、有限域加法器A、有限域加法器B、有限域加法器C、有限域加法器D、系数a0锁存器、系数b0锁存器、系数a1锁存器。a0、b0分别是R(x),Q(x)的最高项系数,a1是关键方程经过奇数次迭代后R(x)的最高项系数。移位寄存器的每一级寄存值是有限域中的元素。
R(x)移位寄存器为2t+1级右移位寄存器,在初始化时第2t+1位寄存器为1,其余位为0,第一级的输入为流水线寄存器B,第2t级的输出端接有限域乘法器A,第2t+1级输出到系数锁存器a0。Q(x)移位寄存器为2t级右移位寄存器,在初始化时从左至右依次存储伴随式的值s0,s1,…,s2t-1,第一级的输入接有限域加法器B,第2t-1级的输出端接有限域乘法器B,第2t级输出到流水线寄存器B和系数锁存器b0。λ(x)移位寄存器为t+2级右移位寄存器,在初始化全为零,第1级的输入端接流水线寄存器D,第t+2级的输出接有限域乘法器E。μ(x)移位寄存器为t+2级寄存器,初始化时第1级为1,其余为零,第1级的输入端接有限域加法器D,第t+1级输出端接有限域乘法器F,第t+2级输出端接流水线寄存器D。
系数a0锁存器用于在每次循环迭代时对R(x)的最高项系数值进行锁存,在控制模块的作用下,对R(x)移位寄存器第2t+1级中的第一个非零值进行锁存直至本次循环结束。它的输出端接有限域乘法器B、有限域乘法器F。系数b0锁存器用于在每次循环迭代时对Q(x)的最高项系数值进行锁存,在控制模块的作用下,对Q(x)移位寄存器第2t级中的第一个非零值进行锁存直至本次循环结束。它的输出端接有限域乘法器A、有限域乘法器E和流水线寄存器A。系数a1锁存器用于在每次循环迭代时对流水线寄存器C的第一个非零值进行锁存直至本次循环结束。它的输出端接有限域乘法器D、有限域乘法器H。其余有限域乘法器与有限域加法器完成有限域中的乘法和加法运算。
该电路接收来自伴随式计算单元输出的伴随多项式,构造关键方程,然后用迭代的方法求解关键方程,输出错误值多项式和错误位置多项式。换句话说,伴随式计算单元必须预先计算出一个RS码字的2t个伴随式的值,其中t为该类型RS码字的最大可纠错误符号数,这些值分别为伴随多项式的系数;经解关键方程电路计算出的错误位置多项式和错误值多项式送往钱搜索和Forney算法运算电路,求出错误值和错误位置并进行纠错。
因为在移位寄存器R(x)、移位寄存器Q(x)、移位寄存器λ(x)和移位寄存器μ(x)之间的运算单元中分别增加了一级寄存器,使寄存器之间的逻辑单元由两个有限域乘法器和两个有限域加法器减少为一个有限域乘法器和一个有限域加法器,关键路径由“2×Tmult+2×Tadd”缩短为“Tmult+Tadd”,提高了电路的最高内部工作时钟频率。其中,Tmult为有限域乘法器的时间延迟,Tadd为有限域加法器的时间延迟。
根据电路流水线结构的设计方法,为保持电路功能的不变,在系数锁存器b0和有限域乘法器C,移位寄存器Q(x)和有限域乘法器D,移位寄存器μ(x)和有限域乘法器H之间分别添加一级寄存器,将数据延迟一个时钟周期。
对现有电路进行流水线改进之后,电路中各模块的控制方法随之改变。下面,将描述本发明的操作方法。
参照图3。采用本发明的关键方程求解电路,若一组RS码字中出现n个符号错误(n必须小于或等于该类型RS码字的最大可纠错误数t),在解关键方程时需n次迭代过程,而在每一次迭代过程中,要完成一个多项式的计算,需要2t+1次循环移位。
在操作S1中,首先进行移位寄存器的初始化,即R(x)移位寄存器的第2t+1级置1,来自伴随式计算单元的伴随式s0,s1,…,s2t-1依次存入Q(x)移位寄存器,λ(x)移位寄存器所有级置0,μ(x)移位寄存器的第1级置1,其余置0。
在操作S2中,判断Q(x)移位寄存器的高t级是否为零,以决定运算是否终止。当信道条件很好时,在该RS码字中可能会无错误,此时伴随式s0,s1,…,s2t-1皆为0,则不需要循环迭代,直接转到操作S14,输出错误位置及错误值多项式皆为零。若该RS码字中出现若干个符号错误,则进入循环迭代过程。
在每一次迭代过程中,操作S3判断R(x)移位寄存器的第2t+1级是否首次出现非零值,也就是说,在每次迭代的2t+1次循环中,当R(x)移位寄存器1的第2t+1级首次出现非零值时,此值即为R(x)的最高次项系数,在操作S5中,将此非零值存入系数a0锁存器,同时把Q(x)移位寄存器的第2t级的值存入系数b0锁存器。因为每次迭代之后R(x)比Q(x)高一次,因此当R(x)移位寄存器1的第2t+1级首次出现非零值时,Q(x)移位寄存器的第2t级也首次出现非零值。在操作S4中,判断流水线寄存器C是否首次非零,若在一次迭代中首次出现非零值,就将该值存入系数a1锁存器。在其它状态就直接转入循环移位过程。
在操作S7中,判断是否是某次迭代的第一次循环,若是第一次循环,则不进行任何移位操作。因为运算单元中增加了一级流水线寄存器,循环移位寄存器要等待一个循环过程,所以在每次迭代的第一次循环,所有移位寄存器不进行移位操作。从第2次循环开始,R(x)移位寄存器、Q(x)移位寄存器才开始执行移位操作S8,接着执行操作S9,判断循环次数是否小于t-2,若条件成立,则转到操作S11,否则λ(x)移位寄存器、μ(x)移位寄存器进行移位操作S10。
在操作S11中,判断循环次数是否达到2t+1,若达到2t+1,说明该次迭代已经结束,则执行操作S12,将系数a0锁存器、系数b0锁存器、系数a1锁存器进行清零,为进入下一次迭代过程做准备。
在操作S13中,判断迭代的次数是否达到该RS码设计的最大可纠符号数,若达到该RS码设计的最大可纠符号数,则在操作S14中,输出错误位置多项式和错误值多项式至钱搜索和Forney算法单元,然后算法终止。
采用本发明的基于Altera公司Cyclone器件的可编程单芯片RS编译码硬件解决方案已在兰州瑞德高科技有限公司的某跳扩频电台项目和即将在中国普天集团西安蓝芽通讯设备有限公司的三次群无线扩频通信机的改造项目中应用。
以上操作方法对里德-所罗门译码器关键方程求解电路进行了例示,通过在改进的Euclid算法中采用流水线实现结构,缩短了内部寄存器之间的关键路径,并降低了资源占用量,提高了芯片内部最高工作频率,或在相同工作频率下降低了功耗,提高了RS译码器的性能。该电路的具体实现硬件方式可采用基于不同公司的FPGA、DSP或分立电子元件的方案,也可设计成专用芯片。
权利要求
1.一种里德-所罗门译码器关键方程求解电路,包括R(x)移位寄存器、Q(x)移位寄存器、λ(x)移位寄存器、μ(x)移位寄存器、有限域乘法器A、有限域乘法器B、有限域乘法器C、有限域乘法器D、有限域乘法器E、有限域乘法器F、有限域乘法器G、有限域乘法器H、有限域加法器A、有限域加法器B、有限域加法器C、有限域加法器D、系数锁存器a0、系数锁存器b0和系数锁存器a1,其特征在于还包括流水线寄存器C和流水线寄存器E,流水线寄存器C输入端与有限域加法器A电连接,流水线寄存器C输出端分别与系数锁存器a1和有限域乘法器C电连接,流水线寄存器E输入端与有限域加法器C电连接,流水线寄存器E输出端与有限域乘法器G电连接。
2.根据权利要求1所述的里德-所罗门译码器关键方程求解电路,其特征在于还可以包括流水线寄存器A、流水线寄存器B和流水线寄存器D,流水线寄存器A输入端分别与有限域乘法器A、有限域乘法器E并联后,与系数锁存器b0电连接,流水线寄存器A输出端分别与有限域乘法器C和有限域乘法器G电连接;流水线寄存器B输入端与Q(x)移位寄存器电连接,流水线寄存器B输出端分别与R(x)移位寄存器和有限域乘法器D电连接;流水线寄存器D输入端与μ(x)移位寄存器电连接,流水线寄存器D输出端分别与λ(x)和有限域乘法器H电连接。
全文摘要
本发明公开了一种里德-所罗门译码器关键方程求解电路,目的是为了克服现有技术寄存器之间关键路径长,译码器内部工作频率低的不足,包括R(x)移位寄存器、Q(x)移位寄存器、λ(x)移位寄存器、μ(x)移位寄存器、有限域乘法器、有限域加法器、系数锁存器a
文档编号H03M13/05GK1658515SQ200510041820
公开日2005年8月24日 申请日期2005年3月21日 优先权日2005年3月21日
发明者杜兴民, 王卫民, 马林华, 茹乐, 向新 申请人:中国人民解放军空军工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1