完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近我在弄一个RS编码 然后根据线性移位反馈寄存器的推导写了代码 ,但在第三次移位的时候,与计算出来的值对不上,计算出来的值应该是1010,而我仿真出来是0110, 这是仿真图
,这是书上的计算值,
,他们对不上。。
代码如下: module frs(clk,rst_n,x,y ); input clk; input rst_n; input [3:0] x; output [3:0] y; parameter idle=2'b00; parameter second=2'b01; parameter third=2'b10; parameter forth=2'b11; reg [1:0] state; reg [3:0] D1; // reg [3:0] x_in; //reg [3:0] cnt; always@(posedge clk or negedge rst_n) begin if(!rst_n) begin cnt<=4'b0000; D1<=4'b1101; state<=idle; end else case(state) idle: begin D1[0]<=x[3]^D1[3]; D1[1]<=D1[0]; D1[2]<=D1[1]^x[3]; D1[3]<=D1[2]^x[3]; state<=second; end second: begin D1[0]<=x[2]^D1[3]; D1[1]<=D1[0]; D1[2]<=D1[1]^x[2]; D1[3]<=D1[2]^x[2]; state<=third; end third: begin D1[0]<=x[1]^D1[3]; D1[1]<=D1[0]; D1[2]<=D1[1]^x[1]; D1[3]<=D1[2]^x[1]; state<=forth; end forth: begin D1[0]<=x[0]^D1[3]; D1[1]<=D1[0]; D1[2]<=D1[1]^x[0]; D1[3]<=D1[2]^x[0]; end default:state<=idle; endcase end assign y=D1; endmodule |
|
相关推荐
1个回答
|
|
有人吗?柑橘还是不知道买哪里错了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1034 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1000 浏览 0 评论
2099 浏览 1 评论
1827 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2051 浏览 0 评论
1706 浏览 44 评论
5947 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 22:17 , Processed in 0.612446 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号