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

Subversion Repositories hdlc

[/] [hdlc/] [trunk/] [CODE/] [MEM_PKG.VHD] - Blame information for rev 17

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 khatib
-------------------------------------------------------------------------------
2
-- Title      : Memory Package
3
-- Project    : Memory Cores
4
-------------------------------------------------------------------------------
5
-- File        : mem_pkg.vhd
6
-- Author      : Jamil Khatib  
7
-- Organization: OpenIPCore Project
8
-- Created     : 2000/02/29
9
-- Last update: 2001/03/20
10
-- Platform    :
11
-- Simulators  : Modelsim 5.2EE / Windows98, NC-Sim/Linux
12
-- Synthesizers: Leonardo / Windows98
13
-- Target      : Flex10K
14
-- Dependency  : ieee.std_logic_1164
15
--               utility.tools_pkg
16
-------------------------------------------------------------------------------
17
-- Description: Memory Package
18
-------------------------------------------------------------------------------
19
-- Copyright (c) 2000 Jamil Khatib
20
--
21
-- This VHDL design file is an open design; you can redistribute it and/or
22
-- modify it and/or implement it under the terms of the Openip General Public
23
-- License as it is going to be published by the OpenIPCore Organization and
24
-- any coming versions of this license.
25
-- You can check the draft license at
26
-- http://www.openip.org/oc/license.html
27
 
28
-------------------------------------------------------------------------------
29
-- Revisions  :
30
-- Revision Number :   1
31
-- Version         :   0.1
32
-- Date            :   29th Feb 2000
33
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
34
-- Desccription    :   Created
35
--
36
-------------------------------------------------------------------------------
37
-------------------------------------------------------------------------------
38
-- Revisions  :
39
-- Revision Number :   2
40
-- Version         :   0.2
41
-- Date            :   29th Mar 2000
42
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
43
-- Desccription    :   Memory components are added.
44
--
45
-------------------------------------------------------------------------------
46
-- Revisions  :
47
-- Revision Number :   3
48
-- Version         :   0.3
49
-- Date            :   12 Jan 2001
50
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
51
-- Desccription    :   Memory components updated
52
--
53
-------------------------------------------------------------------------------
54
-- Revisions  :
55
-- Revision Number :   4
56
-- Version         :   0.31
57
-- Date            :   11 March 2001
58
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
59
-- Desccription    :   FIFO component added
60
--
61
-------------------------------------------------------------------------------
62
-- Revisions  :
63
-- Revision Number :   5
64
-- Version         :   0.5
65
-- Date            :   16 April 2001
66
-- Modifier        :   Jamil Khatib (khatib@ieee.org)
67
-- Desccription    :   WISHBONE components added
68
--
69
-------------------------------------------------------------------------------
70
-- $Log: not supported by cvs2svn $
71
-- Revision 1.4  2001/04/16 20:14:35  jamil
72
-- WishBone components added
73
--
74
-- Revision 1.3  2001/03/20 19:39:32  jamil
75
-- tools pkg bug fixed
76
--
77
-- Revision 1.2  2001/03/11 21:22:55  jamil
78
-- FIFO component added
79
--
80
-------------------------------------------------------------------------------
81
 
82
library ieee;
83
use ieee.std_logic_1164.all;
84
 
85
library utility;
86
use utility.tools_pkg.all;
87
 
88
package mem_pkg is
89
 
90
  constant ADD_WIDTH : integer := 8;    -- Address width
91
  constant WIDTH     : integer := 4;    -- Data width
92
-------------------------------------------------------------------------------
93
  component dpmem_ent
94
    generic (
95
      USE_RESET   : boolean;
96
      USE_CS      : boolean;
97
      DEFAULT_OUT : std_logic;
98
      CLK_DOMAIN  : integer;
99
      ADD_WIDTH   : integer;
100
      WIDTH       : integer);
101
    port (
102
      W_clk    : in  std_logic;
103
      R_clk    : in  std_logic;
104
      reset    : in  std_logic;
105
      W_add    : in  std_logic_vector(add_width -1 downto 0);
106
      R_add    : in  std_logic_vector(add_width -1 downto 0);
107
      Data_In  : in  std_logic_vector(WIDTH - 1 downto 0);
108
      Data_Out : out std_logic_vector(WIDTH -1 downto 0);
109
      WR       : in  std_logic;
110
      RE       : in  std_logic);
111
  end component;
112
-------------------------------------------------------------------------------
113
  COMPONENT wb_dpmem
114
    GENERIC (
115
      ADD_WIDTH  : INTEGER;
116
      WIDTH      : INTEGER;
117
      CLK_DOMAIN : INTEGER);
118
    PORT (
119
      CLK_I_1 : IN  STD_LOGIC;
120
      CLK_I_2 : IN  STD_LOGIC;
121
      ADR_I_1 : IN  STD_LOGIC_VECTOR(ADD_WIDTH-1 DOWNTO 0);
122
      ADR_I_2 : IN  STD_LOGIC_VECTOR(ADD_WIDTH-1 DOWNTO 0);
123
      DAT_O   : OUT STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
124
      DAT_I   : IN  STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
125
      WE_I_1  : IN  STD_LOGIC;
126
      WE_I_2  : IN  STD_LOGIC;
127
      ACK_O_1 : OUT STD_LOGIC;
128
      ACK_O_2 : OUT STD_LOGIC;
129
      STB_I_1 : IN  STD_LOGIC;
130
      STB_I_2 : IN  STD_LOGIC);
131
  END COMPONENT;
132
-------------------------------------------------------------------------------
133
  component Spmem_ent
134
    generic (
135
      USE_RESET   : boolean;
136
      USE_CS      : boolean;
137
      DEFAULT_OUT : std_logic;
138
      OPTION      : integer;
139
      ADD_WIDTH   : integer;
140
      WIDTH       : integer);
141
    port (
142
      cs       :     std_logic;
143
      clk      : in  std_logic;
144
      reset    : in  std_logic;
145
      add      : in  std_logic_vector(add_width -1 downto 0);
146
      Data_In  : in  std_logic_vector(WIDTH -1 downto 0);
147
      Data_Out : out std_logic_vector(WIDTH -1 downto 0);
148
      WR       : in  std_logic);
149
  end component;
150
 
151
-------------------------------------------------------------------------------
152
  COMPONENT WB_spmem
153
    GENERIC (
154
      ADD_WIDTH : INTEGER;
155
      WIDTH     : INTEGER;
156
      OPTION    : INTEGER);
157
    PORT (
158
      DAT_O : OUT STD_LOGIC_VECTOR(ADD_WIDTH -1 DOWNTO 0);
159
      DAT_I : IN  STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
160
      CLK_I : IN  STD_LOGIC;
161
      ADR_I : IN  STD_LOGIC_VECTOR(ADD_WIDTH -1 DOWNTO 0);
162
      STB_I : IN  STD_LOGIC;
163
      WE_I  : IN  STD_LOGIC;
164
      ACK_O : OUT STD_LOGIC);
165
  END COMPONENT;
166
-------------------------------------------------------------------------------
167
  component FIFO_ent
168
    generic (
169
      ARCH        : integer;
170
      USE_CS      : boolean;
171
      DEFAULT_OUT : std_logic;
172
      CLK_DOMAIN  : integer;
173
      MEM_CORE    : integer;
174
      BLOCK_SIZE  : integer;
175
      WIDTH       : integer;
176
      DEPTH       : integer);
177
    port (
178
      rst_n      : in  std_logic;
179
      Rclk       : in  std_logic;
180
      Wclk       : in  std_logic;
181
      cs         : in  std_logic;
182
      Din        : in  std_logic_vector(WIDTH-1 downto 0);
183
      Dout       : out std_logic_vector(WIDTH-1 downto 0);
184
      Re         : in  std_logic;
185
      wr         : in  std_logic;
186
      UsedCount  : out std_logic_vector(log2(DEPTH)-1 downto 0);
187
      RFull      : out std_logic;
188
      RHalf_full : out std_logic;
189
      REmpty     : out std_logic;
190
      WFull      : out std_logic;
191
      WHalf_full : out std_logic;
192
      WEmpty     : out std_logic);
193
  end component;
194
 
195
end mem_pkg;
196
 
197
-------------------------------------------------------------------------------

powered by: WebSVN 2.1.0

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