区别
双口RAM分为两种: A两套地址总线,一套D,Q 一个口只能写,一个口只能读;这个被称为simple dual-port RAM B 两套地址总线,两套D,Q两个口都可以读写; 这个被成为true dual-port RAM (不能对同一个地址一起写)
Simple dual block memory code
**module SimpleDualPortRAM_256x19b
(
clk,
enb,
wr_din,
wr_addr,
wr_en,
rd_addr,
rd_dout
);
input clk;
input enb;
input [18:0] wr_din; // ufix19
input [7:0] wr_addr; // ufix8
input wr_en; // ufix1
input [7:0] rd_addr; // ufix8
output [18:0] rd_dout; // ufix19
parameter addr_width = 8;
parameter data_width = 19;
reg [data_width - 1:0] ram [2**addr_width - 1:0];
reg [data_width - 1:0] data_int;
integer i;
initial begin
for (i=0; i<=2**addr_width - 1; i=i+1) begin
ram[i] = 0;
end
data_int = 0;
end
always @(posedge clk)
begin : Simp