微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问如何在verilog设计中使用M9K的片上存储器呢?

请问如何在verilog设计中使用M9K的片上存储器呢?

时间:10-02 整理:3721RD 点击:
请问如何在verilog设计中使用M9K的片上存储器呢?
不通过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做个乒乓结构的设计,该如何写呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top