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

Subversion Repositories tdm

[/] [tdm/] [trunk/] [code/] [MEM_PKG.VHD] - Blame information for rev 8

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

Line No. Rev Author Line
1 5 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.1  2001/04/27 19:17:45  khatib
72
-- First stable release
73
--
74
-- Revision 1.4  2001/04/16 20:14:35  jamil
75
-- WishBone components added
76
--
77
-- Revision 1.3  2001/03/20 19:39:32  jamil
78
-- tools pkg bug fixed
79
--
80
-- Revision 1.2  2001/03/11 21:22:55  jamil
81
-- FIFO component added
82
--
83
-------------------------------------------------------------------------------
84
 
85
library ieee;
86
use ieee.std_logic_1164.all;
87
 
88
library utility;
89
use utility.tools_pkg.all;
90
 
91
package mem_pkg is
92
 
93
  constant ADD_WIDTH : integer := 8;    -- Address width
94
  constant WIDTH     : integer := 4;    -- Data width
95
-------------------------------------------------------------------------------
96
  component dpmem_ent
97
    generic (
98
      USE_RESET   : boolean;
99
      USE_CS      : boolean;
100
      DEFAULT_OUT : std_logic;
101
      CLK_DOMAIN  : integer;
102
      ADD_WIDTH   : integer;
103
      WIDTH       : integer);
104
    port (
105
      W_clk    : in  std_logic;
106
      R_clk    : in  std_logic;
107
      reset    : in  std_logic;
108
      W_add    : in  std_logic_vector(add_width -1 downto 0);
109
      R_add    : in  std_logic_vector(add_width -1 downto 0);
110
      Data_In  : in  std_logic_vector(WIDTH - 1 downto 0);
111
      Data_Out : out std_logic_vector(WIDTH -1 downto 0);
112
      WR       : in  std_logic;
113
      RE       : in  std_logic);
114
  end component;
115
-------------------------------------------------------------------------------
116
  COMPONENT wb_dpmem
117
    GENERIC (
118
      ADD_WIDTH  : INTEGER;
119
      WIDTH      : INTEGER;
120
      CLK_DOMAIN : INTEGER);
121
    PORT (
122
      CLK_I_1 : IN  STD_LOGIC;
123
      CLK_I_2 : IN  STD_LOGIC;
124
      ADR_I_1 : IN  STD_LOGIC_VECTOR(ADD_WIDTH-1 DOWNTO 0);
125
      ADR_I_2 : IN  STD_LOGIC_VECTOR(ADD_WIDTH-1 DOWNTO 0);
126
      DAT_O   : OUT STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
127
      DAT_I   : IN  STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
128
      WE_I_1  : IN  STD_LOGIC;
129
      WE_I_2  : IN  STD_LOGIC;
130
      ACK_O_1 : OUT STD_LOGIC;
131
      ACK_O_2 : OUT STD_LOGIC;
132
      STB_I_1 : IN  STD_LOGIC;
133
      STB_I_2 : IN  STD_LOGIC);
134
  END COMPONENT;
135
-------------------------------------------------------------------------------
136
  component Spmem_ent
137
    generic (
138
      USE_RESET   : boolean;
139
      USE_CS      : boolean;
140
      DEFAULT_OUT : std_logic;
141
      OPTION      : integer;
142
      ADD_WIDTH   : integer;
143
      WIDTH       : integer);
144
    port (
145
      cs       :     std_logic;
146
      clk      : in  std_logic;
147
      reset    : in  std_logic;
148
      add      : in  std_logic_vector(add_width -1 downto 0);
149
      Data_In  : in  std_logic_vector(WIDTH -1 downto 0);
150
      Data_Out : out std_logic_vector(WIDTH -1 downto 0);
151
      WR       : in  std_logic);
152
  end component;
153
 
154
-------------------------------------------------------------------------------
155
  COMPONENT WB_spmem
156
    GENERIC (
157
      ADD_WIDTH : INTEGER;
158
      WIDTH     : INTEGER;
159
      OPTION    : INTEGER);
160
    PORT (
161
      DAT_O : OUT STD_LOGIC_VECTOR(ADD_WIDTH -1 DOWNTO 0);
162
      DAT_I : IN  STD_LOGIC_VECTOR(WIDTH -1 DOWNTO 0);
163
      CLK_I : IN  STD_LOGIC;
164
      ADR_I : IN  STD_LOGIC_VECTOR(ADD_WIDTH -1 DOWNTO 0);
165
      STB_I : IN  STD_LOGIC;
166
      WE_I  : IN  STD_LOGIC;
167
      ACK_O : OUT STD_LOGIC);
168
  END COMPONENT;
169
-------------------------------------------------------------------------------
170
  component FIFO_ent
171
    generic (
172
      ARCH        : integer;
173
      USE_CS      : boolean;
174
      DEFAULT_OUT : std_logic;
175
      CLK_DOMAIN  : integer;
176
      MEM_CORE    : integer;
177
      BLOCK_SIZE  : integer;
178
      WIDTH       : integer;
179
      DEPTH       : integer);
180
    port (
181
      rst_n      : in  std_logic;
182
      Rclk       : in  std_logic;
183
      Wclk       : in  std_logic;
184
      cs         : in  std_logic;
185
      Din        : in  std_logic_vector(WIDTH-1 downto 0);
186
      Dout       : out std_logic_vector(WIDTH-1 downto 0);
187
      Re         : in  std_logic;
188
      wr         : in  std_logic;
189
      UsedCount  : out std_logic_vector(log2(DEPTH)-1 downto 0);
190
      RFull      : out std_logic;
191
      RHalf_full : out std_logic;
192
      REmpty     : out std_logic;
193
      WFull      : out std_logic;
194
      WHalf_full : out std_logic;
195
      WEmpty     : out std_logic);
196
  end component;
197
 
198
end mem_pkg;
199
 
200
-------------------------------------------------------------------------------

powered by: WebSVN 2.1.0

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