请设计带有空满信号的同步FIFO,FIFO的深度和宽度可配置。双口RAM的参考代码和接口信号已给出,请在答案中添加并例化此部分代码。 电路的接口如下图所示。端口说明如下表。 接口电路图如下: 双口RAM端口说明: 端口名 I/O 描述 wclk input 写数据时钟 wenc input 写使能 waddr input 写地址 wdata input 输入数据 rclk input 读数据时钟 renc input 读使能 raddr input 读地址 rdata output 输出数据 同步FIFO端口说明: 端口名 I/O 描述 clk input 时钟 rst_n input 异步复位 winc input 写使能 rinc input 读使能 wdata input 写数据 wfull output 写满信号 rempty output 读空信号 rdata output 读数据 参考代码如下: module dual_port_RAM #(parameter DEPTH = 16,                        parameter WIDTH = 8)(      input wclk     ,input wenc     ,input [$clog2(DEPTH)-1:0] waddr       ,input [WIDTH-1:0] wdata             ,input rclk     ,input renc     ,input [$clog2(DEPTH)-1:0] raddr       ,output reg [WIDTH-1:0] rdata        ); reg [WIDTH-1:0] RAM_MEM [0:DEPTH-1]; always @(posedge wclk) begin     if(wenc)         RAM_MEM[waddr] <= wdata; end  always @(posedge rclk) begin     if(renc)         rdata <= RAM_MEM[raddr]; end  endmodule 

区块链毕设网qklbishe.com为您提供问题的解答 请设计带有空满信号的同步FIFO,FIFO的深度和宽度可配置。双口RAM的参考代码和接口信号已给出,请在答案中添加并例化此部分代码。
电路的接口如下图所示。端口说明如下表。

接口电路图如下:
请设计带有空满信号的同步FIFO,FIFO的深度和宽度可配置。双口RAM的参考代码和接口信号已给出,请在答案中添加并例化此部分代码。   电路的接口如下图所示。端口说明如下表。    	接口电路图如下:   	     	双口RAM端口说明:   	 		 			 				 					 						端口名   					 				 				 					 						I/O  					 				 				 					 						描述   					 				 			 			 				 					 						wclk  					 				 				 					 						input  					 				 				 					 						写数据时钟   					 				 			 			 				 					 						wenc  					 				 				 					 						input  					 				 				 					 						写使能   					 				 			 			 				 					 						waddr  					 				 				 					 						input  					 				 				 					 						写地址   					 				 			 			 				 					 						wdata  					 				 				 					 						input  					 				 				 					 						输入数据   					 				 			 			 				 					 						rclk  					 				 				 					 						input  					 				 				 					 						读数据时钟   					 				 			 			 				 					 						renc  					 				 				 					 						input  					 				 				 					 						读使能   					 				 			 			 				 					 						raddr  					 				 				 					 						input  					 				 				 					 						读地址   					 				 			 			 				 					 						rdata  					 				 				 					 						output  					 				 				 					 						输出数据   					 				 			 		 	 同步FIFO端口说明:   	 		 			 				 					 						端口名   					 				 				 					 						I/O  					 				 				 					 						描述   					 				 			 			 				 					 						clk  					 				 				 					 						input  					 				 				 					 						时钟   					 				 			 			 				 					 						rst_n  					 				 				 					 						input  					 				 				 					 						异步复位   					 				 			 			 				 					 						winc  					 				 				 					 						input  					 				 				 					 						写使能   					 				 			 			 				 					 						rinc  					 				 				 					 						input  					 				 				 					 						读使能   					 				 			 			 				 					 						wdata  					 				 				 					 						input  					 				 				 					 						写数据   					 				 			 			 				 					 						wfull  					 				 				 					 						output  					 				 				 					 						写满信号   					 				 			 			 				 					 						rempty  					 				 				 					 						output  					 				 				 					 						读空信号   					 				 			 			 				 					 						rdata  					 				 				 					 						output  					 				 				 					 						读数据   					 				 			 		 	 参考代码如下:   module&nbsp;dual_port_RAM&nbsp;#(parameter&nbsp;DEPTH&nbsp;=&nbsp;16, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameter&nbsp;WIDTH&nbsp;=&nbsp;8)( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input&nbsp;wclk &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;wenc &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;[$clog2(DEPTH)-1:0]&nbsp;waddr&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;[WIDTH-1:0]&nbsp;wdata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;rclk &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;renc &nbsp;&nbsp;&nbsp;&nbsp;,input&nbsp;[$clog2(DEPTH)-1:0]&nbsp;raddr&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;,output&nbsp;reg&nbsp;[WIDTH-1:0]&nbsp;rdata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );  reg&nbsp;[WIDTH-1:0]&nbsp;RAM_MEM&nbsp;[0:DEPTH-1];  always&nbsp;@(posedge&nbsp;wclk)&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;if(wenc) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RAM_MEM[waddr]&nbsp;&lt;=&nbsp;wdata; end&nbsp;  always&nbsp;@(posedge&nbsp;rclk)&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;if(renc) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rdata&nbsp;&lt;=&nbsp;RAM_MEM[raddr]; end&nbsp;  endmodule&nbsp;
双口RAM端口说明:

端口名

I/O

描述

wclk

input

写数据时钟

wenc

input

写使能

waddr

input

写地址

wdata

input

输入数据

rclk

input

读数据时钟

renc

input

读使能

raddr

input

读地址

rdata

output

输出数据

同步FIFO端口说明:

端口名

I/O

描述

clk

input

时钟

rst_n

input

异步复位

winc

input

写使能

rinc

input

读使能

wdata

input

写数据

wfull

output

写满信号

rempty

output

读空信号

rdata

output

读数据

参考代码如下:

module dual_port_RAM #(parameter DEPTH = 16,                        parameter WIDTH = 8)(      input wclk     ,input wenc     ,input [$clog2(DEPTH)-1:0] waddr       ,input [WIDTH-1:0] wdata             ,input rclk     ,input renc     ,input [$clog2(DEPTH)-1:0] raddr       ,output reg [WIDTH-1:0] rdata        );  reg [WIDTH-1:0] RAM_MEM [0:DEPTH-1];  always @(posedge wclk) begin     if(wenc)         RAM_MEM[waddr] <= wdata; end   always @(posedge rclk) begin     if(renc)         rdata <= RAM_MEM[raddr]; end   endmodule  

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请设计带有空满信号的同步FIFO,FIFO的深度和宽度可配置。双口RAM的参考代码和接口信号已给出,请在答案中添加并例化此部分代码。 电路的接口如下图所示。端口说明如下表。 接口电路图如下: 双口RAM端口说明: 端口名 I/O 描述 wclk input 写数据时钟 wenc input 写使能 waddr input 写地址 wdata input 输入数据 rclk input 读数据时钟 renc input 读使能 raddr input 读地址 rdata output 输出数据 同步FIFO端口说明: 端口名 I/O 描述 clk input 时钟 rst_n input 异步复位 winc input 写使能 rinc input 读使能 wdata input 写数据 wfull output 写满信号 rempty output 读空信号 rdata output 读数据 参考代码如下: module dual_port_RAM #(parameter DEPTH = 16,                        parameter WIDTH = 8)(      input wclk     ,input wenc     ,input [$clog2(DEPTH)-1:0] waddr       ,input [WIDTH-1:0] wdata             ,input rclk     ,input renc     ,input [$clog2(DEPTH)-1:0] raddr       ,output reg [WIDTH-1:0] rdata        ); reg [WIDTH-1:0] RAM_MEM [0:DEPTH-1]; always @(posedge wclk) begin     if(wenc)         RAM_MEM[waddr] <= wdata; end  always @(posedge rclk) begin     if(renc)         rdata <= RAM_MEM[raddr]; end  endmodule