📄 fifowrclkram.v
字号:
// Output ports are always registered to ensure Rams get packed into BlockRAM
`define synthesis
//`timescale 1ns/100ps
`ifdef synthesis
module fifowrclkram
`else
module fifowrclkram_rtl
`endif
(
PortAClk
,PortAAddr
,PortADataIn
,PortAWriteEnable
,PortBClk
,PortBAddr
,PortBDataOut
);
parameter DATAWIDTH = 16;
parameter ADDRWIDTH = 8;
parameter MEMDEPTH = 2**(ADDRWIDTH);
parameter SPRAM = 0;
parameter READ_MODE_A = 1;
parameter READ_WRITE_A = 3;
parameter ENABLE_WR_PORTA = 1;
parameter REGISTER_RD_ADDR_PORTA = 0;
parameter REGISTER_OUTPUT_PORTA = 0;
parameter ENABLE_OUTPUT_REG_PORTA = 0;
parameter RESET_OUTPUT_REG_PORTA = 0;
parameter READ_MODE_B = 1;
parameter READ_WRITE_B = 2;
parameter ENABLE_WR_PORTB = 0;
parameter REGISTER_RD_ADDR_PORTB = 0;
parameter REGISTER_OUTPUT_PORTB = 1;
parameter ENABLE_OUTPUT_REG_PORTB = 0;
parameter RESET_OUTPUT_REG_PORTB = 0;
input PortAClk;
input [ADDRWIDTH-1:0] PortAAddr;
input [DATAWIDTH-1:0] PortADataIn;
input PortAWriteEnable;
input PortBClk;
input [ADDRWIDTH-1:0] PortBAddr;
output [DATAWIDTH-1:0] PortBDataOut;
wire PortAClk;
wire [ADDRWIDTH-1:0] PortAAddr;
wire [DATAWIDTH-1:0] PortADataIn;
wire [DATAWIDTH-1:0] PortADataOut;
wire PortAWriteEnable;
wire PortAReadEnable;
wire PortAReset;
wire PortBClk;
wire [DATAWIDTH-1:0] PortBDataIn;
wire PortBWriteEnable;
wire [ADDRWIDTH-1:0] PortBAddr;
wire [DATAWIDTH-1:0] PortBDataOut;
wire PortBReadEnable;
wire PortBReset;
Syncore_ram
#(
.SPRAM(SPRAM)
,.READ_MODE_A(READ_MODE_A)
,.READ_MODE_B(READ_MODE_B)
,.READ_WRITE_A(READ_WRITE_A)
,.READ_WRITE_B(READ_WRITE_B)
,.DATAWIDTH(DATAWIDTH)
,.ADDRWIDTH(ADDRWIDTH)
,.ENABLE_WR_PORTA(ENABLE_WR_PORTA)
,.REGISTER_RD_ADDR_PORTA(REGISTER_RD_ADDR_PORTA)
,.REGISTER_OUTPUT_PORTA(REGISTER_OUTPUT_PORTA)
,.ENABLE_OUTPUT_REG_PORTA(ENABLE_OUTPUT_REG_PORTA)
,.RESET_OUTPUT_REG_PORTA(RESET_OUTPUT_REG_PORTA)
,.ENABLE_WR_PORTB(ENABLE_WR_PORTB)
,.REGISTER_RD_ADDR_PORTB(REGISTER_RD_ADDR_PORTB)
,.REGISTER_OUTPUT_PORTB(REGISTER_OUTPUT_PORTB)
,.ENABLE_OUTPUT_REG_PORTB(ENABLE_OUTPUT_REG_PORTB)
,.RESET_OUTPUT_REG_PORTB(RESET_OUTPUT_REG_PORTB)
)
U1(
.PortClk({PortBClk, PortAClk})
,.PortReset({PortBReset, PortAReset})
,.PortWriteEnable({PortBWriteEnable, PortAWriteEnable})
,.PortReadEnable({PortBReadEnable, PortAReadEnable})
,.PortDataIn({PortBDataIn, PortADataIn})
,.PortAddr({PortBAddr, PortAAddr})
,.PortDataOut({PortBDataOut, PortADataOut})
);
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -