RS(255,247)编码解码器Verilog源代码

所属分类:嵌入式/单片机/硬件编程
开发工具:VHDL
文件大小:10KB
下载次数:36
上传日期:2019-11-15 10:25:21
上 传 者心香花瓣
说明:  RS(255,247)编码解码器Verilog源代码
(Verilog source code of RS (255247) codec)

文件列表:
rtl (0, 2016-04-22)
rtl\chien.v (3036, 2016-02-24)
rtl\dec_ctrl.v (450, 2016-02-24)
rtl\euclid.v (13037, 2016-02-24)
rtl\forney.v (9762, 2016-02-24)
rtl\gf256inv.v (5199, 2016-01-26)
rtl\gf256mul.v (2278, 2016-02-02)
rtl\rs_decoder.v (3862, 2016-02-24)
rtl\rs_encoder.v (3614, 2016-02-24)
rtl\syndrome.v (1960, 2016-02-24)

作者声明 本设计提供RS(255,247)码的编码和解码的Verilog源代码。 作者已验证0~4个错误的编码与解码功能。对于大于4个错误的码字,没有做验证。 本原多项式为 p(x) = x^8 + x^4 + x^3 + x^2 + 1 生成多项式为 g(x) = (x+a)(x+a^2)(x+a^3)(x+a^4)(x+a^5)(x+a^6)(x+a^7)(x+a^8) 解码器电路可能包含一些延时较大的路径,存在求逆与乘法(或两个乘法)级联的组合电路,主要在euclid.v中。 由于时间关系,本人并没在代码中加入注释,也没有对电路时序加以优化。 代码中的一些关键变量加以下说明: ev: 表示错误数值。 el: 表示错误位置。 evp: 表示错误估值函数中各项的系数,如evp2表示x^2项的系数。 elp: 表示错误位置多项式中各项的系数。如elp0表示常数项的系数。 解码过程简要说明如下(关于解码算法的更多详细说明,可以查看林舒写的《差错控制编码》书籍)。 1,由输入码字,计算出校正子。在syndrome.v中实现。 2,基于步骤1得出的校正子,采用euclid算法计算出错误位置多项式、错误估值函数、错误个数。在euclid.v中实现。 3,基于步骤2得出的错误位置多项式,采用chien算法计算出错误位置。在chien.v中实现。 4,基于步骤2和3得出的数据,采用forney算法计算出错误数值。在forney.v中实现。 5,解码完成。(解码器最终输出为错误个数、错误位置、错误数值) 本设计可供个人学习与研究所用。 在未取得作者同意情况下,严禁任何组织或个人将本设计用于任何商业用途。 如有疑问可与作者本人联系:gonwendon@163.com (Mr 龚)

近期下载者

相关文件


收藏者