lm32_dp_ram.v

Sun, 06 Mar 2011 21:17:31 +0000

author
Philip Pemberton <philpem@philpem.me.uk>
date
Sun, 06 Mar 2011 21:17:31 +0000
changeset 23
252df75c8f67
parent 18
cc945f778cd7
permissions
-rw-r--r--

[MERGE] Merge changes from LatticeMico32 v3.6

     1 module lm32_dp_ram(
     2 	clk_i,
     3 	rst_i,
     4 	we_i,
     5 	waddr_i,
     6 	wdata_i,
     7 	raddr_i,
     8 	rdata_o);
    10 parameter addr_width = 32;
    11 parameter addr_depth = 1024;
    12 parameter data_width = 8;
    14 input clk_i;
    15 input rst_i;
    16 input we_i;
    17 input [addr_width-1:0] waddr_i;
    18 input [data_width-1:0] wdata_i;
    19 input [addr_width-1:0] raddr_i;
    20 output [data_width-1:0] rdata_o;
    22 reg [data_width-1:0] ram[addr_depth-1:0];
    24 reg [addr_width-1:0] raddr_r;
    25 assign rdata_o = ram[raddr_r];
    27 always @ (posedge clk_i)
    28 begin
    29 	if (we_i)
    30 		ram[waddr_i] <= wdata_i;
    31 	raddr_r <= raddr_i;
    32 end
    34 endmodule