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

整数倍数据位宽转换8to16

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

`timescale 1ns/1ns

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     bit_cnt;
reg     [7:0]   data_reg;

always@(posedge clk or negedge rst_n)
    if(!rst_n)
        bit_cnt <=  1'b0;
    else    if(valid_in)
        bit_cnt <=  bit_cnt + 1'b1;

always@(posedge clk or negedge rst_n)
    if(!rst_n)
        data_reg    <=  8'd0;
    else    if(valid_in && bit_cnt==1'b0)
        data_reg    <=  data_in;

always@(posedge clk or negedge rst_n)
    if(!rst_n)
        valid_out   <=  1'b0;
    else    if(bit_cnt == 1'b1 && valid_in)
        valid_out   <=  1'b1;
    else
        valid_out   <=  1'b0;

always@(posedge clk or negedge rst_n)
    if(!rst_n)
        data_out    <=  15'd0;
    else    if(valid_in && bit_cnt==1'b1)
        data_out    <={data_reg,data_in};

endmodule

全部评论

相关推荐

感觉今年拿到大厂实习offer的人很多,光是身边同学室友都是好几个offer。由此可见,秋招得有多卷
小浪_Coding:必须卷的起飞, 应该比25更卷一点, 25已经是哀声一片了, 26会更难一点, 现在还有`很多25未找到的
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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