实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。 电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。 接口时序示意图 请使用以下代码模板完成本题: `timescale 1ns/1ns 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 ); endmodule

区块链毕设网qklbishe.com为您提供问题的解答

实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出。其中,先到的数据应置于输出的高bit位。

电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;clk是时钟信号;rst_n是异步复位信号。
实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。     	电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。   	     	     	接口时序示意图   	请使用以下代码模板完成本题:   	 `timescale 1ns/1ns  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 ); endmodule
实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。     	电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。   	     	     	接口时序示意图   	请使用以下代码模板完成本题:   	 `timescale 1ns/1ns  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 ); endmodule
接口时序示意图
请使用以下代码模板完成本题:

`timescale 1ns/1ns  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 ); endmodule

120位的寄存器每次直接存5个整24bits就可以了,不需要分情况(计数为5、10、15)讨论吧
16:24
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
);
   
    reg [4:0] count;
    //reg [1:0] valid_count;
    reg [119:0] mem;
   
    //counter
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n) begin
            count <= 0;
        end
        else if( valid_in && (count == 15)) begin
            count <= 0;
        end
        else if(valid_in) begin
            count <= count + 1;
        end
    end
   
    //valid_out
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n) begin
            valid_out <= 0;
        end
        else if (( count == 5 | count == 10 | count == 15) && valid_in ) begin
            valid_out <= 1;
        end
        else begin
            valid_out <= 0;
        end
    end

    //mem
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n) begin
            data_out <= 0;
            mem <= 0;
        end
        if(valid_in) begin
            mem <= { mem[195:0], data_in };
        end
    end

    //valid_count data_out
    always@(posedge clk or rst_n) begin
        if(!rst_n) begin
            data_out <= 0;
        end
        else if ( count == 5 && valid_in ) begin
            data_out <= { mem, data_in[23:16] };
        end
        else if ( count == 10 && valid_in ) begin
            data_out <= { mem[111:0], data_in[23:8] };
        end
        else if ( count == 15 && valid_in ) begin
            data_out <= { mem[103:0], data_in };
        end
        else
            data_out <= 0;
    end

    //data_out
    // always@(posedge clk or negedge rst_n) begin
    //     if (!rst_n) begin
    //         data_out <= 0;
    //     end
    //     else begin
    //         case(valid_count)
    //             1: data_out <= { mem, data_in[23:16] } & (valid_count == 1);
    //             2: data_out <= { mem[111:0], data_in[23:8] } & (valid_count == 2);
    //             3: data_out <= { mem[103:0], data_in } & (valid_count == 3);
    //             default: data_out <= 0;
    //         endcase
    //     end
    // end

endmodule

41:51
各位牛油好~由于我们首次产出这个内容,近期部分功能上的未完善导致了不太良好的刷题体验,为了给大家更好的体验,面向所有的牛油征集反馈意见,诚邀请各位友友能进群给我们提供优化的方向~

实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。     	电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。   	     	     	接口时序示意图   	请使用以下代码模板完成本题:   	 `timescale&nbsp;1ns/1ns  module&nbsp;width_24to128( 	input&nbsp;				clk&nbsp;		,&nbsp;&nbsp;&nbsp; 	input&nbsp;				rst_n		, 	input				valid_in	, 	input	[23:0]		data_in		, &nbsp; &nbsp;	output	reg			valid_out	, 	output&nbsp;&nbsp;reg&nbsp;[127:0]	data_out ); endmodule

实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。     	电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。   	     	     	接口时序示意图   	请使用以下代码模板完成本题:   	 `timescale&nbsp;1ns/1ns  module&nbsp;width_24to128( 	input&nbsp;				clk&nbsp;		,&nbsp;&nbsp;&nbsp; 	input&nbsp;				rst_n		, 	input				valid_in	, 	input	[23:0]		data_in		, &nbsp; &nbsp;	output	reg			valid_out	, 	output&nbsp;&nbsp;reg&nbsp;[127:0]	data_out ); endmodule

0

04:16

以上就是关于问题实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。 电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。

接口时序示意图 请使用以下代码模板完成本题: `timescale 1ns/1ns 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 ); endmodule的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 实现数据位宽转换电路,实现24bit 数据输入转换为128bit 数据输出。其中,先到的数据应置于输出的高bit 位。 电路的接口如下图所示。valid_in 用来指示数据输入data_in 的有效性,valid_out 用来指示数据输出data_out 的有效性;clk 是时钟信号;rst_n 是异步复位信号。 接口时序示意图 请使用以下代码模板完成本题: `timescale 1ns/1ns 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 ); endmodule