📄 ser_par_conv_32.v
字号:
module Ser_Par_Conv_32(Data_out,write,Data_in,En,clk,rst); output[31:0] Data_out; output write; input Data_in; input En,clk,rst; parameter S_idle=0; parameter S_1=1; reg state,next_state; reg [4:0] cnt; reg [31:0] Data_out; reg shift,incr; always @(posedge clk or posedge rst) if(rst)begin state<=S_idle;end else state<=next_state; always @(state or En or write)begin shift=0; incr=0; next_state=state; case(state) S_idle: if(En)begin next_state=S_1;shift=1;end S_1: if(!write)begin shift=1;incr=1;end else if(En)begin shift=1;incr=1;end else begin next_state=S_idle;incr=1;end endcase end always @(posedge clk or posedge rst) if(rst) begin cnt<=0;end else if(incr)cnt<=cnt+1; always @(posedge clk or posedge rst) if(rst) Data_out<=0; else if(shift) Data_out<={Data_in,Data_out[31:1]}; assign write=(cnt==31); endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -