题解 | #并串转换#
并串转换
https://www.nowcoder.com/practice/296e1060c1734cf0a450ea58dd09d36c
`timescale 1ns/1ns
module huawei5(
input wire clk ,
input wire rst ,
input wire [3:0]d ,
output wire valid_in ,
output wire dout
);
//*************code***********//
reg [1:0] cnt;
reg valid_in_temp;
reg [3:0] din;
always@(posedge clk or negedge rst)begin
if(!rst)
cnt <= 2'd0;
else
cnt <= cnt + 1'b1;
end
always@(posedge clk or negedge rst)begin
if(!rst)
valid_in_temp <= 1'b0;
else
valid_in_temp <= (cnt == 3) ? 1'b1 : 1'b0;
end
assign valid_in = valid_in_temp;
always@(posedge clk or negedge rst)begin
if(!rst)
din <= 3'd0;
else begin
if (cnt == 3)
din <= d;
else
din <= {din[2:0],din[3]};
end
end
assign dout = din[3];
//*************code***********//
endmodule

查看4道真题和解析