题解 | #非整数倍数据位宽转换24to128#

非整数倍数据位宽转换24to128

https://www.nowcoder.com/practice/6312169e30a645bba5d832c7313c64cc

`timescale 1ns/1ns

//串转并的方式有很多种:
//(1)单比特转多比特。这个比较容易,只需使用移位寄存器寄存,然后计数,在相同同的计数值输出结果即可。

//(2)多比特转多比特有两种可能,一种可能输出是输入的倍数,另一种可能是输出不是输入的倍数。

//(3)输出是输入的倍数,只需使用移位寄存器寄存,然后计数,在相同的计数值输出结果。

//(4)输出不是输入的倍数,使用移位寄存器寄存,找到输入和输出的最小公倍数,然后计数,在不同的计数值输出结果。


module width_24to128(
	input 				clk 		,   
	input 				rst_n		,
	input				valid_in	,
	input	[23:0]		data_in		,
 
 	output	reg			valid_out	,
	output  reg [127:0]	data_out
);

//24bit---128bit: 最小公倍数为  24*16=128*3

reg [3:0] cnt;//计数器16

reg	[127:0] data_reg;//数据缓存器

always@(posedge clk or negedge rst_n)begin 
	if(!rst_n)
		cnt <= 0;
	else if(valid_in) begin
		if(cnt==15)
			cnt <= 0;
		else
			cnt <= cnt+1'b1;
	end
	else
		cnt <= cnt;
end

always@(posedge clk or negedge rst_n)begin  //数据缓存器,当输入valid_in有效时,将数据data_in从低位移入
	if(!rst_n)
		data_reg <= 128'd0;

	else if(valid_in) 

		data_reg <= {data_reg[103:0],data_in};
	else
		data_reg <= data_reg;
end

// 当计数器cnt计数到5、10、15时,data_out要进行更新,并拉高valid_out
always@(posedge clk or negedge rst_n) begin
    if(~rst_n)

        valid_out <= 0;

    else if ((cnt==5 || cnt==10 || cnt==15)&&valid_in)

        valid_out <= 1;

	else
		valid_out <= 0;
end


always@(posedge clk or negedge rst_n)begin 
	if(!rst_n)

		data_out <= 4'd0;

	else if(valid_in&&cnt==5) 

		data_out <= {data_reg[119:0], data_in[23:16]};

	else if(valid_in&&cnt==10) 

		data_out <= {data_reg[111:0], data_in[23:8]};

	else if(valid_in&&cnt==15) 

		data_out <= {data_reg[103:0], data_in[23:0]};
	else
		data_out <= data_out;
end
endmodule

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
感觉他们一点都不了解现在这个社会就业有多难,已经在牛客刷到好多篇&nbsp;延毕的帖子了,延毕就会导致已经找好的工作就没了,还得重新再找,学校和老师们是怎么想的呢????看到学生丢失工作会开心吗&nbsp;就业数据都在造假,真实的就业困难不去解决&nbsp;一个个真是好样的
从明天开始狠狠卷JV...:学生看到的是导师不放实习导致offer黄了。 导师看到的是招进来的学生吃自己补助和自己的招生名额,却没给自己升迁带来任何帮助,还要跑路。 根本利益的不一致,最主要留校的导师大概率是职场上招聘失败的,被迫留校的,什么牛鬼蛇神都会有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务