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

Subversion Repositories memory_cores

[/] [memory_cores/] [trunk/] [dpmem/] [dpmem2clk/] [dpmem2clk.v] - Blame information for rev 25

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 khatib
/*
2
-------------------------------------------------------------------------------
3
-- Title      : Dual Port memory Core
4
-- Project    : Memory Cores
5
-------------------------------------------------------------------------------
6
-- File        : dpmem2clk.v
7
-- Author      : Jamil Khatib  (khatib@ieee.org)
8
-- Organization: OpenCores Project
9
-- Created     : 2000/09/20
10
-- Last update : 2000/09/26
11
-- Platform    :
12
-- Simulators  : Modelsim 5.3XE/Windows98
13
-- Synthesizers:
14
-- Target      :
15
-- Dependency  :
16
-------------------------------------------------------------------------------
17
-- Description:
18
-------------------------------------------------------------------------------
19
-- Copyright (c) 2000 Jamil Khatib
20
--
21
-- This Verilog code file is an open design; you can redistribute it and/or
22
-- modify it and/or implement it after contacting the author
23
-- You can check the draft license at
24
-- http://www.opencores.org/OIPC/license.shtml
25
 
26
-------------------------------------------------------------------------------
27
-- Revisions  :
28
-- Revision Number :   1
29
-- Version         :   0.1
30
-- Date            :   20 September 2000
31
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
32
-- Desccription    :   Created
33
-- Todo                    :   Must use generic code i.e. use the parameters
34
-------------------------------------------------------------------------------
35
*/
36
 
37
 
38
module dpmem2clk(Wclk,Wen,Wadd,Datain,Rclk,Ren,Radd,Dataout);
39
 
40
parameter WIDTH=8;
41
parameter ADD_WIDTH=4;
42
parameter IDELOUTPUT=8'h0;
43
 
44
 
45
input Wclk;
46
input Wen;
47
input [3:0] Wadd;
48
input [7:0] Datain;
49
input Rclk;
50
input Ren;
51
input [3:0] Radd;
52
output [7:0] Dataout;
53
 
54
/////////////////////////
55
 
56
 
57
 
58
reg [7:0] data [0:7];
59
 
60
reg [7:0] outport;
61
/////////////////////////
62
 
63
always @ (posedge Rclk)
64
begin
65
 
66
   if( Ren == 1'b1 )
67
        outport  <= data[Radd];
68
      else
69
        outport  <= IDELOUTPUT;
70
 
71
end
72
 
73
/////////////////////////
74
 
75
always @ (posedge Wclk)
76
begin
77
 
78
   if( Wen == 1'b1 )
79
       data[Wadd]   <= Datain;
80
 
81
end
82
 
83
 
84
/////////////////////////
85
 
86
assign Dataout = outport;
87
 
88
/////////////////////////////////
89
endmodule

powered by: WebSVN 2.1.0

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