实现数据位宽转换电路,实现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是异步复位信号。
接口时序示意图
请使用以下代码模板完成本题:
`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
各位牛油好~由于我们首次产出这个内容,近期部分功能上的未完善导致了不太良好的刷题体验,为了给大家更好的体验,面向所有的牛油征集反馈意见,诚邀请各位友友能进群给我们提供优化的方向~
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链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
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
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
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
进群点我
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
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