📄 bch_divd.v
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -