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

Subversion Repositories pss

[/] [pss/] [trunk/] [pss/] [hdl/] [pss/] [zpu_uc/] [ram/] [ram_dual.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 AlexAntono
module ram_dual
2
  #(
3
    parameter mem_data="data.hex", dat_width=32, adr_width=32, mem_size=1024
4
  )
5
  (
6
    input [dat_width-1:0]      dat0_i,
7
    input [adr_width-1:0]      adr0_i,
8
    input          we0_i,
9
    output reg [dat_width-1:0] dat0_o,
10
 
11
    input [dat_width-1:0]      dat1_i,
12
    input [adr_width-1:0]      adr1_i,
13
    input          we1_i,
14
    output reg [dat_width-1:0] dat1_o,
15
 
16
    input          clk
17
  );
18
 
19
  //(* ram_style="block" *)
20
  reg [dat_width-1:0] ram [0:mem_size - 1] ;
21
 
22
  always @ (posedge clk)
23
     begin
24
             dat0_o <= ram[adr0_i];
25
             if (we0_i)
26
               ram[adr0_i] <= dat0_i;
27
     end
28
 
29
  always @ (posedge clk)
30
     begin
31
       dat1_o <= ram[adr1_i];
32
       if (we1_i)
33
         ram[adr1_i] <= dat1_i;
34
     end
35
 
36
initial
37
begin
38
  $readmemh(mem_data, ram, 0) ;
39
end
40
 
41
 
42
endmodule // ram

powered by: WebSVN 2.1.0

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