请问如何在verilog设计中使用M9K的片上存储器呢?
时间:10-02
整理:3721RD
点击:
请问如何在verilog设计中使用M9K的片上存储器呢?
不通过mega function调用,想自己编写verilog来控制这个片上存储器。
不通过mega function调用,想自己编写verilog来控制这个片上存储器。
module sram(
CLK,
WREN,
DATA,
WRADDRESS,
READDRESS,
Q);
parameter DATA_WIDTH = 8;
parameter ADDR_WIDTH = 9;
input CLK;
input WREN;
input [DATA_WIDTH-1:0] DATA;
input [ADDR_WIDTH-1:0] WRADDRESS;
input [ADDR_WIDTH-1:0] READDRESS;
output [DATA_WIDTH-1:0] Q;
wire [DATA_WIDTH-1:0] Q;
reg [DATA_WIDTH-1:0] buffer[0: (1<<ADDR_WIDTH)-1];
reg [ADDR_WIDTH-1:0] READDRESS_r;
always @( posedge CLK )
begin
READDRESS_r <= READDRESS;
if( WREN ) begin
buffer[ WRADDRESS ] <= DATA;
end
end
assign Q = buffer[ READDRESS_r ];
endmodule
就写一个memory就可以了,
合成工具会自动将它安排到片上存储器.
那请问楼上的,如果这里想用两个M9K RAM做个乒乓结构的设计,该如何写呢?
