bch_divd.v
来自「这是我做的一个BCH译码模块硬件语言模块」· Verilog 代码 · 共 45 行
V
45 行
module bch_divd(clk,rst,gate,d16,d31,start,in,data_out);
input [0:0] clk;
input [0:0] rst;
input gate;
input [0:0] in;
input start;
input d16;
input d31;
wire gate_in;
output [3:0] data_out;
reg [3:0] data_out;
reg [3:0] shift_reg;
assign gate_in= gate & in;
always @(posedge clk or negedge rst)
begin
if(!rst)
begin
shift_reg<=0;
data_out<=0;
end
else if(d16 || d31) //d16,d13时刻取出数据
begin
data_out<=shift_reg;
shift_reg<={3'b000,gate_in};
end
else if(start) //start有效时,移位
begin
shift_reg[3]<=shift_reg[2];
shift_reg[2]<=shift_reg[1];
shift_reg[1]<=shift_reg[0]^shift_reg[3];
shift_reg[0]<=shift_reg[3]^gate_in;
end
else
shift_reg<=0;
end
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?