OpenCores
URL https://opencores.org/ocsvn/fpga-median/fpga-median/trunk

Subversion Repositories fpga-median

[/] [fpga-median/] [trunk/] [rtl/] [dual_port_ram.v] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 joaocarlos
//*******************************************************************//
2
//-------------------------------------------------------------------//
3
// File name            : dual_port_ram.v
4
// File contents        : Parameterized memory for syncronous fifo     
5
//
6
// Design Engineer      : Igor Dantas
7
// Last Changed         : 10/27/2008 09:00
8
//-------------------------------------------------------------------//
9
//*******************************************************************//
10
 
11
`timescale 1ns/10ps
12
 
13
module dual_port_ram
14
#(
15
   parameter MEMFILE = "",
16
   parameter DATA_WIDTH = 'd32,
17
   parameter ADDR_WIDTH = 14
18
)
19
(
20
   input clk,
21
   input r_ena,
22
   input w_ena,
23
   input [DATA_WIDTH-1:0] w_data,
24
   input [ADDR_WIDTH-1:0] w_addr,
25
   input [ADDR_WIDTH-1:0] r_addr,
26
   output reg [DATA_WIDTH-1:0] r_data
27
);
28
 
29
//The Register memory
30
reg [DATA_WIDTH-1:0] mem[0:2**ADDR_WIDTH-1];
31
// synchronous read and write when enabled
32
always @ (posedge clk) begin
33
   if (w_ena)  mem[w_addr] <=  w_data;
34
   if (r_ena) r_data <= mem[r_addr];
35
end
36
 
37
initial $readmemh(MEMFILE, mem);
38
 
39
 
40
endmodule
41
 

powered by: WebSVN 2.1.0

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