OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [rtl/] [verilog/] [components/] [ram_wb/] [ram_wb_sc_sw.v] - Blame information for rev 45

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 45 julius
module ram_wb_sc_sw (dat_i, dat_o, adr_i, we_i, clk );
2
 
3
   parameter dat_width = 32;
4
   parameter adr_width = 20;
5
   parameter mem_size  = 262144;
6
 
7
   input [dat_width-1:0]      dat_i;
8
   input [adr_width-1:0]      adr_i;
9
   input                      we_i;
10
   output reg [dat_width-1:0] dat_o;
11
   input                      clk;
12
 
13
   reg [dat_width-1:0] ram [0:mem_size - 1] /* synthesis ram_style = no_rw_check */;
14
 
15
   // Preload the memory
16
   // Note! This vmem file must be WORD addressed, not BYTE addressed
17
   // eg: @00000000 00000000 00000000 00000000 00000000
18
   //     @00000004 00000000 00000000 00000000 00000000
19
   //     @00000008 00000000 00000000 00000000 00000000
20
   //     @0000000c 00000000 00000000 00000000 00000000
21
   //     etc..
22
   parameter memory_file = "sram.vmem";
23
   initial
24
     begin
25
        $readmemh(memory_file, ram);
26
     end
27
 
28
   always @ (posedge clk)
29
     begin
30
        dat_o <= ram[adr_i];
31
        if (we_i)
32
          ram[adr_i] <= dat_i;
33
     end
34
 
35
endmodule // ram_wb_sc_sw
36
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.