题解 | #数据串转并电路#
数据串转并电路
https://www.nowcoder.com/practice/6134dc3c8d0741d08eb522542913583d
`timescale 1ns/1ns
module s_to_p(
	input 				clk 		,   
	input 				rst_n		,
	input				valid_a		,
	input	 			data_a		,
 
 	output	reg 		ready_a		,
 	output	reg			valid_b		,
	output  reg [5:0] 	data_b
);
reg [5:0] data_reg;
reg [2:0] data_cnt;
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n) ready_a<=1'd0;
else ready_a<=1'd1;
end
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n) data_cnt<=3'd0;
else if (valid_a&&ready_a) data_cnt<=(data_cnt==3'd5)?3'd0:(data_cnt+1'd1);
end
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n) data_reg<=6'd0;
else if (valid_a&&ready_a) data_reg<={data_a,data_reg[5:1]};
end
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n) begin valid_b<=1'd0; data_b<=6'd0;end
else if (data_cnt==3'd5) begin valid_b<=1'd1;data_b<={data_a,data_reg[5:1]}; end
else valid_b<=1'd0;
end
endmodule
 查看3道真题和解析
查看3道真题和解析 投递中国电信等公司10个岗位
投递中国电信等公司10个岗位