应用于10 G EPON系统的RS(255,223)码译码器设计
2010-01-27郭志勇杨一波李广军
郭志勇,杨一波,李广军
(电子科技大学 通信与信息工程学院,四川 成都 611731)
应用于10 G EPON系统的RS(255,223)码译码器设计
郭志勇,杨一波,李广军
(电子科技大学 通信与信息工程学院,四川 成都 611731)
介绍一款应用于10 G EPON系统中的RS(255,223)码译码器。采用ME算法设计了一种新的脉动结构电路求解关键方程,从而获得较低的处理延时并使用较少资源。仿真以及综合结果表明,结合并行处理方法,译码器能够完成10 G EPON系统数据的实时译码功能,最大数据吞吐率大于16 Gb/s。
REED-SOLOMON;译码器;ME算法;KES;脉动结构
近年来,基于802.3ah协议的无源以太网的光接入网EPON(Ethernet based Passive Optical Network)系统在接入网中得到了很多应用。在此基础上的能够提供上下行均为10 Gb/s接入速率的基于802.3av的10 G EPON标准[1]也于 2009年 9月正式发布。与802.3ah协议中不同的是,802.3av协议采用了纠错性能更佳的 Reed-Solomon(255,223)码作为信道码,以保证物理层与数据链路层接口数据误码率低于 10-12。
RS译码器的设计因关键方程求解KES(Key Equation Solution)电路所采用算法不同而分为两种,分别是基于BM(Berlekamp-Massey)算法以及ME(Modified Euclidean)算法[2]。由于 BM算法电路带有反馈,电路速度难以通过流水等方式得到进一步提升获得更大数据吞吐率,因此现有研究集中于使用ME算法、采用脉动结构电路的流水线实现方案[3]。传统的脉动结构 KES电路[4]实现RS(255,223)译码求解关键方程需要 32级电路、32个数据处理周期。译码器的其余模块则是采用串行工作方式,需要255个周期的处理时间。由于10 G EPON系统中要求每一级电路处理一个编码分组的时间不超过31个周期,因此已有的译码器设计方法不能达到要求。
本文简要介绍了Reed-Solomon码的一般译码方法,结合802.3av协议,提出了一种应用于10 G EPON系统的译码器电路设计方案及采用ME算法的一种优化的KES电路设计。
1 REED-SOLOMON码的一般译码方法
由于Reed-Solomon码擅长纠正突发错误,因此适用于光纤通信环境。802.3av协议规定的FEC信道纠错码RS(255,223)码为基于 GF(28)有限域的多进制 BCH码,最多能够纠正16个错误符号。
RS码为分组码,其译码算法主要由三部分构成。由接收码字乘以校验矩阵得到其伴随多项式;由伴随多项式求得其错误向量值;将接收向量与错误向量相减,得到最后的译码输出。
伴随式求解式为:
求得伴随式以后,求解关键方程得到错误位置多项式σ(x)与错误特征多项式ω(x):
由错误位置多项式,可以用穷举算法——钱搜索算法得到错误位置。同时,使用forney公式求得错误值。最后,用延时后的接收值减去错误值,得到最后的译码输出。Forney公式可以表示为:
其中,ei代表发生在第 i位上的错误值,σODD(x)代表错误位置多项式奇数次项之和。
2 应用于10 G EPON系统的RS(255,223)码译码器设计
802.3 av协议中 FEC(前向纠错)子层所规定的译码流程为:译码器将接收到的数据去除相应同步头比特后送入译码器处理;译码器核心电路按照常规方式进行译码;译码器输出的数据再按照协议规定方式进行重新分组并且恢复其同步头比特得到最后的输出。
本文所设计的 RS(255,223)译码器实现框图如图 1所示。
图 1 本文所设计的RS(255,223)译码器结构图
输入同步(IS)模块完成协议规定的数据重组功能。伴随式计算(SC)模块采取了 9倍并行计算,按照公式 1完成伴随式计算,将伴随式系数并行输出到KES模块,同时输出计算得到伴随多项式阶数。关键方程求解(KES)模块采用ME算法求解关键方程并并行输出错误位置多项式以及错误特征多项式的系数。钱搜索(CS)与错误纠正(EE)模块完成公式(4)与公式(5)的运算。由于本文设计的RS译码器需要在31个周期内在255个符号上搜索并纠正错误,因此,本文所设计的钱搜索模块以及错误纠正模块均为文献[4]电路基础上所设计并行处理能力的9倍。输出同步(OS)模块负责将EE模块送入的纠正后的码字恢复成 802.3av协议所规定的 66 bit数据进行最后输出。延时缓冲器(DF)模块完成译码过程中的数据延迟功能,控制模块(CTL)则提供相应的控制信号。
3 利用ME(Modified Euclidean)算法求解关键方程
RS译码的关键在于求解关键方程,公式(2)可以重写为:
由文献[4]中介绍,使用ME算法可以将关键方程求解问题建模为求多项式的最大公约式问题求解。此时,σ(x)为所求的错误位置多项式,ω(x)为所求的错误特征多项式,而S(x)为输入的伴随多项式。
ME算法为迭代算法,其初始条件为:
当deg(Ri(x))<t时,迭代结束。算法结束时的 Ri(x)即为错误特征多项式 ω(x),而σi(x)即为所求的错误位置多项式 σ(x)。
4 简化的关键方程求解(KES)模块设计
已有参考文献[2]、[3]、[4]中的脉动实现方案,均需要32级迭代能够完成31阶(32个系数)的伴随多项式的关键方程求解。但是802.3av协议中所规定的每一个编码分组只使用了31个周期数据来表示。因此,要求设计电路的每一级处理一个编码分组的时间不能超过31个周期。所以必须将原有的KES电路做修改优化,以求缩减数据表示周期以及电路处理周期。
观察ME算法后能够发现,ME算法首次迭代时算法行为固定(l恒等于 1),且多项式 R(x)首相系数 α恒为1,其余项系数恒为0。此时,脉动电路的第一级实际上不用完成任何的有限域运算,实现电路可以通过对时序的控制将Q(x)多项式相应项系数直接输出得到首级电路的各多项式输出。在此种条件下,本文设计的RS译码器KES模块将ME算法的第一、二级迭代算法整合到一级模块中实现,满足了31级迭代要求,也节省了电路资源。本文所设计的KES电路结构图如图2所示。
根据公式(8)~(12),ME算法中多项式的每一级迭代计算均需要在得到当前输入多项式的阶数后才能确定当前迭代行为。但是在脉动结构中的处理过程必须保持连续,因此,使用阶数预测的方式来获取多项式阶数。具体预测的方式如下:(1)首级迭代模块的时序与行为固定为 deg(S) =31时的时序与行为。(2)其余模块的 R(x)多项式与 Q(x)多项式首系数均不为0时,认为当前输入的多项式阶数预测正确,按照ME算法进行迭代处理,计算后所得到多项式的阶数则根据当前的运算行为进行预测,其输出相应减 1或不变。(3)其余迭代模块输入的 R(x)或 Q (x)多项式首系数为 0时,不进行迭代操作,只将相应多项式系数提前一周期输出,并修正相应多项式阶数后输出至下一级模块。本文所设计KES模块的单级迭代电路示意图如图3所示。
5 综合验证与结论
采用SMIC 0.13 μm CMOS工艺及SYNOPSYS Design Compiler 2006工具对本文设计的RS译码器进行了综合验证。综合验证结果表明,本文所设计的 RS(255,223)码译码器共使用了57 293个门单元,在最差情况下具有180 MHz的最大工作频率,功耗为 251.3 mW,能够提供超过16.8 Gb/s的数据吞吐率,足以实现10 G EPON系统实时纠错功能。此外,本文所提出的KES模块设计方案在降低了处理延时的基础上也节约了硬件资源,在相同综合环境和约束条件下,使用了42 563个门单元,与未做优化的KES电路模块相比节约了7%的硬件资源。
[1]IEEE 802.3 Ethernet in the First Mile Study Group. P802.3av(D3.0)Draft Part 3:Carrier sense multiple access with collision detection(CSMA/CD)access method and physical layer specifications-amendment:Physical Layer Specifications and Management Parameters for 10 Gb/s Passive Optical Networks[OL].http://standards.ieee.org/index.html,2009.
[2]DILIP V.S,NARESH R.S.High-speed architectures for reed-solomon decoders[J].IEEE Trans on VLSI Systems,2001,9(5):641-655.
[3]HOWARD M.S,TRUONG T.K,LESLIE J.D,et al.A VLSI design of a pipeline reed-solomon decoder[J].IEEE Trans on Computers,1985,34(5):393-403.
[4]HANHO L.High-speed VLSI architecture for parallel reedsolomon decoder[J].IEEE Trans on very large scale integration system,2003,11(2):288-294.
[5]FRANK E.Supplement to comment#842[OL].http://www. ieee802.org/3/av/public/2008_03/3av_0803_effenberger_3. pdf,2008.
[6]向征,刘兴钊.RS(255,223)编译码器的设计与 FPGA实现[J].电路及应用,2006,11:17-31.
[7]王新梅,肖国镇.纠错码-原理与方法[M].西安:西安电子科技大学出版社,2001.
A VLSI design of RS(255,223)code decoder used in 10 G EPON system
GUO Zhi Yong,YANG Yi Bo,LI Guang Jun
(Institute of Communication and Information Engineering, University of Electronic Science and Technology of China,Chengdu 611731,China)
:A VLSI design of RS(255,223)decoder used in 10 G EPON system is introduced.The decoder uses a novel systolic iteration circuit to solve the key equation with shorter iteration delay and fewer resources.The simulation and synthesis result shows that,combining with parallel processing,the proposed decoder could successfully perform the real-time decoding in 10 G EPON system,which throughput is bigger than 16 Gb/s.
reed-solomon;decoder;ME algorithm;KES;systolic structure
TN492
A
0258-7998(2010)09-0058-03
book=67,ebook=52
2010-03-03)
郭志勇,男,1975年生,讲师,在职博士生,主要研究方向:通信ASIC及 SoC设计、可重构电路设计、嵌入式系统设计等。
杨一波,男,1984年生,硕士研究生,主要研究方向:通信专用集成电路设计。
李广军,男,1950年生,教授,博士生导师,主要研究方向:通信系统中的信号与信息处理、通信 ASIC及 SoC设计、嵌入式系统设计、有线/无线通信系统,接入技术、多媒体通信系统及接口设计等。