📄 crc_send.v
字号:
module crc_send(data_send, data_in, reset, clk, ready); parameter WIDTH=1,AMOUNT=8; input [WIDTH-1:0]data_in; input reset,clk; output ready; output [WIDTH*AMOUNT+15:0] data_send; reg ready; reg [WIDTH*AMOUNT+15:0] data_send; reg [WIDTH*AMOUNT+15:0] buf_in; reg[3:0] n,i; always @ (posedge clk or posedge reset) begin if(reset) n=0; else if(n<AMOUNT-1) begin ready<=0; buf_in=buf_in<<WIDTH; buf_in[WIDTH-1:0]=data_in; n=n+1; end else begin buf_in=buf_in<<WIDTH; buf_in[WIDTH-1:0]=data_in; buf_in=buf_in<<16; data_send=buf_in; for(i=0;i<WIDTH*AMOUNT;i=i+1) if(buf_in[WIDTH*AMOUNT+15-i]) begin buf_in[WIDTH*AMOUNT+15-i]=~buf_in[WIDTH*AMOUNT+15-i]; buf_in[WIDTH*AMOUNT+14-i]=~buf_in[WIDTH*AMOUNT+14-i]; buf_in[WIDTH*AMOUNT+1-i]=~buf_in[WIDTH*AMOUNT+1-i]; buf_in[WIDTH*AMOUNT-1-i]=~buf_in[WIDTH*AMOUNT-1-i]; end data_send[15:0]=buf_in[15:0]; n=0; ready<=1; end end endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -