题解 | #整数倍数据位宽转换8to16#

整数倍数据位宽转换8to16

https://www.nowcoder.com/practice/f1fb03cb0baf46ada2969806114bce5e

module width_8to16(
	input 				   clk 		,   
	input 				   rst_n		,
	input				      valid_in	,
	input	   [7:0]		   data_in	,
 
 	output	reg			valid_out,
	output   reg [15:0]	data_out
);
reg [1:0] cnt,temp;
reg [15:0] out;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
cnt<=2'd0;
temp<=2'd0;
end
else
begin
if(valid_in)
begin
cnt<= cnt==2'd2 ? 2'd1 : cnt+2'd1;
end
else
begin
cnt<=cnt;
end
temp<=cnt;
end
end
always @(*)
begin
if(!rst_n)
begin
valid_out<=1'b0;
end
else
begin
valid_out<= (temp==2'd1 && cnt==2'd2);
end
end
    always @(posedge clk or negedge rst_n)
    begin
    if(!rst_n)
    begin
    out<=16'd0;
    end
    else if (valid_in)
    begin
    out<={out[7:0],data_in};
    end
    end
    always @(* )
    begin
    if(!rst_n)
    begin
       data_out<=16'd0;
    end
     else if (temp==2'd1 && cnt==2'd2)
    begin
    data_out<=out;
    end
    end
  

endmodule
`timescale 1ns/1ns
module testbench();
    reg rst,valid_in;
	reg clk=1;
 reg[7:0] data_in;
 wire valid_out;
 wire [15:0] data_out;
	 width_8to16 u0(
      .clk (clk),   
	  .rst_n(rst),
	 . valid_in(valid_in),
	.data_in(data_in),
 	.valid_out(valid_out),
     .data_out(data_out)
);
	always #5 clk = ~clk;  // Create clock with period=10 
  initial begin
  rst=0;valid_in=0;
 #10 rst=1;valid_in=1;data_in=8'ha0;
#10 data_in=8'ha1;
#10 data_in=8'hb0;
#10 valid_in=0;
#20 valid_in=1;data_in=8'hb1;
#10 valid_in=0;
#30
 $finish;
end  
    
endmodule

仿真波形如下:

全部评论

相关推荐

12-01 12:34
已编辑
广东工业大学 Java
如题,fw🐭🐭,加上准备的太晚,大三上已找不到日常实习,导致连锁反应,下学期的暑期实习找不到好的实习,导致秋招找不到中大厂,现在是中小厂Java还有考公的选择,由于有些中小厂工作强度比肩大厂,钱还少,感觉不如考公如果🐮u们是我现在这种情况,会怎么选?
负债的混子:关注你一段时间了,突然发现你头像名字都改了,想必是这段时间压力很大。关于就业还是考公的选择,就像很多牛友说的:不要美化自己没走过的路。你现在想往互联网发展,发现这条路很难走,然后想往考公发展,但是你没走过考公这条路,所以你不知道这条路的压力如何。你今年大三了,还有时间给你做选择,我希望你能够尽快的决定自己的方向,然后一条路走到黑,而不是在这里徘徊,每个人的道路是不一样的,你无法复刻别人的路,你能做的就是尽力的完善自己。 最后,我想说的是,加油,陌生人!
点赞 评论 收藏
分享
点赞 评论 收藏
分享
AFBUFYGRFHJLP:直接去美帝试试看全奖phd吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务