由ME算法推导可知,使用脉动电路结构实现ME算法时,至多使用2级迭代电路即可降低R(x)多项式阶数1阶。因此,脉动电路结构采用32阶流水结构电路即可保证迭代算法完成收敛得到最后结果。电路结构如图4所示。
2.3 钱搜索和Forney算法
钱搜索模块接收KES模块的错误位置多项式信号δ(x),利用钱搜索算法逐个检查符号位是否发生错误,输出错误位置和错误位置多项式的奇数项之和,供EE模块计算错误图案和纠错。
设错误位置多项式δ(x)可以表达为奇数项和偶数项之和:
并行钱搜索电路子结构如图5所示。图中m表示并行模块编号数,m=1,2,…,8。所有的乘法器均是常数乘法器,8倍并行结构由图5所示的8个同样的结构组成。
EE(错误值计算)模块根据CS模块输出的δ
odd(x)以及KES模块输出的ω(x)计算出错误图案。
EE模块需要求解w(a
i),电路结构推导过程和求解δ(a
i)的过程一样,电路结构也基本相同,这里不再累述。
3 仿真验证与综合
上述译码器采用自顶向下的设计流程划分模块,用Verilog HDL完成RTL代码的编写,然后在Mentor公司的ModelSim SE 6.1b仿真验证工具下编写测试代码进行仿真验证。仿真结果如图6所示,译码器能正确实现译码功能。
因本译码器可纠正16个错误,超过16个错误便不可纠正,在仿真时译码输入样本采用了2种:一种样本不超过16个错误,另一种样本超过16个错误。仿真结果表明,此译码器能在不超过16个错误的样本下正常译码。
译码器在Quartus II 8.0上进行综合和优化,采用Altera公司Cyclone系列的EP2C15AF256C8芯片为目标器件。译码器的工作时钟频率可达85 MHz,数据吞吐率可达5 440 Mb/s,占用逻辑单元数为13 947个(片内共14 448,占用率为97%),RAM占用16 698位(片内共239 616位,占用率为7%)。译码器性能对比如表1所列。
与参考文献[4]相比,由于本译码器采用了并行结构在增加了不到3倍的硬件资源的情况下,吞吐率时钟比(吞吐率/时钟)提高了8倍,而且缩短了3/4的泽码延迟。与参考文献[5]相比,本文所采用的译码器增加了不到3倍的硬件资源,提高了8倍的吞吐率时钟比。由于参考文献[5]采用串行译码结构,本文所采用的并行流水译码结构较串行译码结构缩减了19/20的译码延迟。
上一页 [1] [2] [3] 下一页