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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [micron/] [sdram/] [components.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
----------------------------------------------------------------------------
2
--  This file is a part of the GRLIB VHDL IP LIBRARY
3
--  Copyright (C) 2004 GAISLER RESEARCH
4
--
5
--  This program is free software; you can redistribute it and/or modify
6
--  it under the terms of the GNU General Public License as published by
7
--  the Free Software Foundation; either version 2 of the License, or
8
--  (at your option) any later version.
9
--
10
--  See the file COPYING for the full details of the license.
11
--
12
-----------------------------------------------------------------------------
13
-- Package:     components
14
-- File:        components.vhd
15
-- Author:      Jiri Gaisler, Gaisler Research
16
-- Description: Component declaration of Micron SDRAM
17
------------------------------------------------------------------------------
18
 
19
-- pragma translate_off
20
 
21
library ieee;
22
use ieee.std_logic_1164.all;
23
use std.textio.all;
24
 
25
package components is
26
 
27
  component mt48lc16m16a2
28
    GENERIC (
29
        -- Timing Parameters for -75 (PC133) and CAS Latency = 2
30
        tAC       : TIME    :=  6.0 ns;
31
        tHZ       : TIME    :=  7.0 ns;
32
        tOH       : TIME    :=  2.7 ns;
33
        tMRD      : INTEGER :=  2;          -- 2 Clk Cycles
34
        tRAS      : TIME    := 44.0 ns;
35
        tRC       : TIME    := 66.0 ns;
36
        tRCD      : TIME    := 20.0 ns;
37
        tRP       : TIME    := 20.0 ns;
38
        tRRD      : TIME    := 15.0 ns;
39
        tWRa      : TIME    :=  7.5 ns;     -- A2 Version - Auto precharge mode only (1 Clk + 7.5 ns)
40
        tWRp      : TIME    := 15.0 ns;     -- A2 Version - Precharge mode only (15 ns)
41
 
42
        tAH       : TIME    :=  0.8 ns;
43
        tAS       : TIME    :=  1.5 ns;
44
        tCH       : TIME    :=  2.5 ns;
45
        tCL       : TIME    :=  2.5 ns;
46
        tCK       : TIME    := 10.0 ns;
47
        tDH       : TIME    :=  0.8 ns;
48
        tDS       : TIME    :=  1.5 ns;
49
        tCKH      : TIME    :=  0.8 ns;
50
        tCKS      : TIME    :=  1.5 ns;
51
        tCMH      : TIME    :=  0.8 ns;
52
        tCMS      : TIME    :=  1.5 ns;
53
 
54
        addr_bits : INTEGER := 13;
55
        data_bits : INTEGER := 16;
56
        col_bits  : INTEGER :=  9;
57
        index     : INTEGER :=  0;
58
        fname     : string := "sdram.srec"      -- File to read from
59
    );
60
    PORT (
61
        Dq    : INOUT STD_LOGIC_VECTOR (data_bits - 1 DOWNTO 0) := (OTHERS => 'Z');
62
        Addr  : IN    STD_LOGIC_VECTOR (addr_bits - 1 DOWNTO 0) := (OTHERS => '0');
63
        Ba    : IN    STD_LOGIC_VECTOR := "00";
64
        Clk   : IN    STD_LOGIC := '0';
65
        Cke   : IN    STD_LOGIC := '1';
66
        Cs_n  : IN    STD_LOGIC := '1';
67
        Ras_n : IN    STD_LOGIC := '1';
68
        Cas_n : IN    STD_LOGIC := '1';
69
        We_n  : IN    STD_LOGIC := '1';
70
        Dqm   : IN    STD_LOGIC_VECTOR (1 DOWNTO 0) := "00"
71
    );
72
  end component;
73
 
74
  component mt46v16m16
75
    GENERIC (                                   -- Timing for -75Z CL2
76
        tCK       : TIME    :=  7.500 ns;
77
        tCH       : TIME    :=  3.375 ns;       -- 0.45*tCK
78
        tCL       : TIME    :=  3.375 ns;       -- 0.45*tCK
79
        tDH       : TIME    :=  0.500 ns;
80
        tDS       : TIME    :=  0.500 ns;
81
        tIH       : TIME    :=  0.900 ns;
82
        tIS       : TIME    :=  0.900 ns;
83
        tMRD      : TIME    := 15.000 ns;
84
        tRAS      : TIME    := 40.000 ns;
85
        tRAP      : TIME    := 20.000 ns;
86
        tRC       : TIME    := 65.000 ns;
87
        tRFC      : TIME    := 75.000 ns;
88
        tRCD      : TIME    := 20.000 ns;
89
        tRP       : TIME    := 20.000 ns;
90
        tRRD      : TIME    := 15.000 ns;
91
        tWR       : TIME    := 15.000 ns;
92
        addr_bits : INTEGER := 13;
93
        data_bits : INTEGER := 16;
94
        cols_bits : INTEGER :=  9;
95
        index     : INTEGER :=  0;
96
        fname     : string := "sdram.srec";     -- File to read from
97
        bbits     : INTEGER :=  16
98
    );
99
    PORT (
100
        Dq    : INOUT STD_LOGIC_VECTOR (data_bits - 1 DOWNTO 0) := (OTHERS => 'Z');
101
        Dqs   : INOUT STD_LOGIC_VECTOR (1 DOWNTO 0) := "ZZ";
102
        Addr  : IN    STD_LOGIC_VECTOR (addr_bits - 1 DOWNTO 0);
103
        Ba    : IN    STD_LOGIC_VECTOR (1 DOWNTO 0);
104
        Clk   : IN    STD_LOGIC;
105
        Clk_n : IN    STD_LOGIC;
106
        Cke   : IN    STD_LOGIC;
107
        Cs_n  : IN    STD_LOGIC;
108
        Ras_n : IN    STD_LOGIC;
109
        Cas_n : IN    STD_LOGIC;
110
        We_n  : IN    STD_LOGIC;
111
        Dm    : IN    STD_LOGIC_VECTOR (1 DOWNTO 0)
112
    );
113
  END component;
114
 
115
  component ftmt48lc16m16a2
116
    GENERIC (
117
        -- Timing Parameters for -75 (PC133) and CAS Latency = 2
118
        tAC       : TIME    :=  6.0 ns;
119
        tHZ       : TIME    :=  7.0 ns;
120
        tOH       : TIME    :=  2.7 ns;
121
        tMRD      : INTEGER :=  2;          -- 2 Clk Cycles
122
        tRAS      : TIME    := 44.0 ns;
123
        tRC       : TIME    := 66.0 ns;
124
        tRCD      : TIME    := 20.0 ns;
125
        tRP       : TIME    := 20.0 ns;
126
        tRRD      : TIME    := 15.0 ns;
127
        tWRa      : TIME    :=  7.5 ns;     -- A2 Version - Auto precharge mode only (1 Clk + 7.5 ns)
128
        tWRp      : TIME    := 15.0 ns;     -- A2 Version - Precharge mode only (15 ns)
129
 
130
        tAH       : TIME    :=  0.8 ns;
131
        tAS       : TIME    :=  1.5 ns;
132
        tCH       : TIME    :=  2.5 ns;
133
        tCL       : TIME    :=  2.5 ns;
134
        tCK       : TIME    := 10.0 ns;
135
        tDH       : TIME    :=  0.8 ns;
136
        tDS       : TIME    :=  1.5 ns;
137
        tCKH      : TIME    :=  0.8 ns;
138
        tCKS      : TIME    :=  1.5 ns;
139
        tCMH      : TIME    :=  0.8 ns;
140
        tCMS      : TIME    :=  1.5 ns;
141
 
142
        addr_bits : INTEGER := 13;
143
        data_bits : INTEGER := 16;
144
        col_bits  : INTEGER :=  9;
145
        index     : INTEGER :=  0;
146
        fname     : string := "sdram.srec"      -- File to read from
147
    );
148
    PORT (
149
        Dq    : INOUT STD_LOGIC_VECTOR (data_bits - 1 DOWNTO 0) := (OTHERS => 'Z');
150
        Addr  : IN    STD_LOGIC_VECTOR (addr_bits - 1 DOWNTO 0) := (OTHERS => '0');
151
        Ba    : IN    STD_LOGIC_VECTOR := "00";
152
        Clk   : IN    STD_LOGIC := '0';
153
        Cke   : IN    STD_LOGIC := '1';
154
        Cs_n  : IN    STD_LOGIC := '1';
155
        Ras_n : IN    STD_LOGIC := '1';
156
        Cas_n : IN    STD_LOGIC := '1';
157
        We_n  : IN    STD_LOGIC := '1';
158
        Dqm   : IN    STD_LOGIC_VECTOR (1 DOWNTO 0) := "00"
159
    );
160
  end component;
161
 
162
  component ddr2 is
163
  generic(
164
    DM_BITS : integer := 2;
165
    ADDR_BITS : integer := 13;
166
    ROW_BITS : integer := 13;
167
    COL_BITS : integer := 9;
168
    DQ_BITS : integer := 16;
169
    DQS_BITS : integer := 2;
170
    TRRD : integer := 10000;
171
    TFAW : integer := 50000;
172
    DEBUG   : integer := 1
173
  );
174
  port (
175
    ck      : in std_ulogic;
176
    ck_n    : in std_ulogic;
177
    cke     : in std_ulogic;
178
    cs_n    : in std_ulogic;
179
    ras_n   : in std_ulogic;
180
    cas_n   : in std_ulogic;
181
    we_n    : in std_ulogic;
182
    dm_rdqs : inout std_logic_vector(DQS_BITS-1 downto 0);
183
    ba      : in std_logic_vector(1 downto 0);
184
    addr    : in std_logic_vector(ADDR_BITS-1 downto 0);
185
    dq      : inout std_logic_vector(DQ_BITS-1 downto 0);
186
    dqs     : inout std_logic_vector(DQS_BITS-1 downto 0);
187
    dqs_n   : inout std_logic_vector(DQS_BITS-1 downto 0);
188
    rdqs_n  : out std_logic_vector(DQS_BITS-1 downto 0);
189
    odt     : in std_ulogic
190
  );
191
  end component;
192
 
193
  component mobile_ddr
194
    GENERIC (                                   -- Timing for -75Z CL2
195
    --    tCK       : TIME    :=  7.500 ns;
196
    --    tCH       : TIME    :=  3.375 ns;       -- 0.45*tCK
197
    --    tCL       : TIME    :=  3.375 ns;       -- 0.45*tCK
198
    --    tDH       : TIME    :=  0.500 ns;
199
    --    tDS       : TIME    :=  0.500 ns;
200
    --    tIH       : TIME    :=  0.900 ns;
201
    --    tIS       : TIME    :=  0.900 ns;
202
    --    tMRD      : TIME    := 15.000 ns;
203
    --    tRAS      : TIME    := 40.000 ns;
204
    --    tRAP      : TIME    := 20.000 ns;
205
    --    tRC       : TIME    := 65.000 ns;
206
    --    tRFC      : TIME    := 75.000 ns;
207
    --    tRCD      : TIME    := 20.000 ns;
208
    --    tRP       : TIME    := 20.000 ns;
209
    --    tRRD      : TIME    := 15.000 ns;
210
    --    tWR       : TIME    := 15.000 ns;
211
        addr_bits : INTEGER := 13;
212
        data_bits : INTEGER := 16;
213
    --    cols_bits : INTEGER :=  9;
214
    --    index     : INTEGER :=  0;
215
          --    fname     : string := "sdram.srec";     -- File to read from
216
        bbits     : INTEGER :=  32
217
    );
218
    PORT (
219
        Dq    : INOUT STD_LOGIC_VECTOR (data_bits - 1 DOWNTO 0) := (OTHERS => 'Z');
220
        Dqs   : INOUT STD_LOGIC_VECTOR (data_bits/8 - 1 DOWNTO 0) := "ZZZZ";
221
        Addr  : IN    STD_LOGIC_VECTOR (addr_bits - 1 DOWNTO 0);
222
        Ba    : IN    STD_LOGIC_VECTOR (1 DOWNTO 0);
223
        Clk   : IN    STD_LOGIC;
224
        Clk_n : IN    STD_LOGIC;
225
        Cke   : IN    STD_LOGIC;
226
        Cs_n  : IN    STD_LOGIC;
227
        Ras_n : IN    STD_LOGIC;
228
        Cas_n : IN    STD_LOGIC;
229
        We_n  : IN    STD_LOGIC;
230
        Dm    : IN    STD_LOGIC_VECTOR (data_bits/8 - 1 DOWNTO 0)
231
    );
232
  END component;
233
 
234
  component mobile_sdr
235
    GENERIC (
236
        DEBUG     : INTEGER := 1;
237
        addr_bits : INTEGER := 13;
238
        data_bits : INTEGER := 16
239
    );
240
    PORT (
241
        Dq    : INOUT STD_LOGIC_VECTOR (data_bits - 1 DOWNTO 0) := (OTHERS => 'Z');
242
        Addr  : IN    STD_LOGIC_VECTOR (addr_bits - 1 DOWNTO 0) := (OTHERS => '0');
243
        Ba    : IN    STD_LOGIC_VECTOR := "00";
244
        Clk   : IN    STD_LOGIC := '0';
245
        Cke   : IN    STD_LOGIC := '1';
246
        Cs_n  : IN    STD_LOGIC := '1';
247
        Ras_n : IN    STD_LOGIC := '1';
248
        Cas_n : IN    STD_LOGIC := '1';
249
        We_n  : IN    STD_LOGIC := '1';
250
        Dqm   : IN    STD_LOGIC_VECTOR (1 DOWNTO 0) := "00"
251
    );
252
  end component;
253
 
254
end;
255
 
256
-- pragma translate_on

powered by: WebSVN 2.1.0

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