在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1591|回复: 3

[求助] Verilog实现RS(10,8)的编码电路中的问题,求各路大神求解

[复制链接]
发表于 2014-4-2 10:40:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这是《无线通信matlab和FPGA实现》书中的一个例子
使用verilog实现RS(10,8)的编码电路程序如下:
module rs_enc(clk,reset,x,y);
input clk;
input reset;
input[3:0] x;  /////输入数据
output[3:0] y; ////输出数据

reg[3:0] cnt;
reg[3:0] D1,x_in;   ////中间寄存变量

always @ (posedge clk)
    begin
       if(reset)
           begin

cnt<=4'b1001;

D1<=0;

x_in<=0;
           end

else

  begin

if(cnt==4'b1001)

cnt<=0;

else

cnt<=cnt+1;

    if(cnt==4'b0000)

begin

D1<=0;

x_in<=0;

end

    else

begin

D1[3]<=x_in[2]^x_in[1]^x_in[3];

D1[2]<=x_in[1]^x_in[1]^x_in[0]^x_in[2];

D1[1]<=x_in[2]^x_in[0]^x_in[1];

D1[0]<=x_in[3]^x_in[2]^x_in[1];

x_in<=D1^x;

end

  end
    end
assign y=(cnt==4'b1000)?D1cnt==4'b1001)?x_in:x;
endmodule

问题是:实现RS(10,8)编码,那么有用信息位不应该为8位,输出数据应该是10位,为什么程序里输入输出寄存器的位宽都才4位?求大神解答啊~
发表于 2014-4-2 16:02:15 | 显示全部楼层
发表于 2014-4-2 16:03:04 | 显示全部楼层
 楼主| 发表于 2014-4-3 09:20:39 | 显示全部楼层
回复 3# zkr1990
明白了,这里输入的数据已经是通过域的转换后的数值。太感谢啦~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-9 13:32 , Processed in 0.034747 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表