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/] [gsi/] [ssram/] [g880e18bt.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
--      Copyright 2000. GSI Technology
2
--                                              GSI Appications
3
--                                              apps@gsitechnology.com
4
--  v 1.0 4/23/2002 Jeff Duagherty  1) based on G16272
5
LIBRARY ieee;
6
USE ieee.std_logic_1164.all;
7
ENTITY G880E18BT IS
8
  GENERIC (
9
    CONSTANT A_size      : integer := 19;
10
    CONSTANT DQ_size     : integer := 9;
11
    CONSTANT bank_size   : integer := 1024 * 512;-- *8M /4 bytes in parallel
12
--250MHZ
13
--    CONSTANT tKQpipe     : time    := 2.5 ns ;
14
--    CONSTANT tKQflow     : time    := 5.5 ns ;
15
--    CONSTANT tKQXpipe     : time    := 1.5 ns ;
16
--    CONSTANT tKQXflow     : time    := 3.0 ns );
17
--225MHZ
18
--    CONSTANT tKQpipe     : time    := 2.7 ns ;
19
--    CONSTANT tKQflow     : time    := 6.0 ns ;
20
--    CONSTANT tKQXpipe     : time    := 1.5 ns ;
21
--    CONSTANT tKQXflow     : time    := 3.0 ns );
22
--200MHZ
23
--    CONSTANT tKQpipe     : time    := 3.0 ns ;
24
--    CONSTANT tKQflow     : time    := 6.5 ns ;
25
--    CONSTANT tKQXpipe     : time    := 1.5 ns ;
26
--    CONSTANT tKQXflow     : time    := 3.0 ns );
27
--166MHZ
28
    CONSTANT tKQpipe     : time    := 3.4 ns ;
29
    CONSTANT tKQflow     : time    := 7.0 ns ;
30
    CONSTANT tKQXpipe     : time    := 1.5 ns ;
31
    CONSTANT tKQXflow     : time    := 3.0 ns );
32
--150MHZ
33
--    CONSTANT tKQpipe     : time    := 3.8 ns ;
34
--    CONSTANT tKQflow     : time    := 6.7 ns ;
35
--    CONSTANT tKQXpipe     : time    := 1.5 ns ;
36
--    CONSTANT tKQXflow     : time    := 3.0 ns );
37
--133MHZ
38
--    CONSTANT tKQpipe     : time    := 4.0 ns ;
39
--    CONSTANT tKQflow     : time    := 8.5 ns ;
40
--    CONSTANT tKQXpipe     : time    := 1.5 ns ;
41
--    CONSTANT tKQXflow     : time    := 3.0 ns );
42
  PORT (
43
    SIGNAL A88   : IN std_logic_vector(A_size - 1 DOWNTO 0);-- address
44
    SIGNAL DQa   : INOUT std_logic_vector(DQ_size DOWNTO 1) BUS;-- byte A data
45
    SIGNAL DQb   : INOUT std_logic_vector(DQ_size DOWNTO 1) BUS;-- byte B data
46
    SIGNAL nBa   : IN std_logic;-- bank A write enable
47
    SIGNAL nBb   : IN std_logic;-- bank B write enable
48
    SIGNAL CK    : IN std_logic;-- clock
49
    SIGNAL nBW   : IN std_logic;-- byte write enable
50
    SIGNAL nGW   : IN std_logic;-- Global write enable
51
    SIGNAL nE1   : IN std_logic;-- chip enable 1
52
    SIGNAL E2    : IN std_logic;-- chip enable 1
53
    SIGNAL nE3   : IN std_logic;-- chip enable 1
54
    SIGNAL nG    : IN std_logic;-- output enable
55
    SIGNAL nADV  : IN std_logic;-- Advance not / load
56
    SIGNAL nADSC : IN std_logic;      -- ONLY FOR BURST DEVICES
57
    SIGNAL nADSP : IN std_logic;      -- ONLY FOR BURST DEVICES
58
    SIGNAL ZZ    : IN std_logic;-- power down
59
    SIGNAL nFT   : IN std_logic;-- Pipeline / Flow through
60
    SIGNAL nLBO  : IN std_logic);-- Linear Burst Order not
61
 
62
END G880E18BT;
63
 
64
LIBRARY GSI;
65
LIBRARY Std;
66
ARCHITECTURE BURST_8MEG_x18 OF G880E18BT IS
67
  USE GSI.FUNCTIONS.ALL;
68
  USE Std.textio.ALL;
69
  component VHDL_BURST_CORE
70
    generic (
71
      CONSTANT bank_size   : integer := 1024 * 512;-- *8M /4 bytes in parallel
72
      CONSTANT A_size      : integer := 19;
73
      CONSTANT DQ_size     : integer := 9);
74
    port (
75
      signal       A           : in    std_logic_vector(A_size - 1 downto 0);  -- address
76
      signal       DQa         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte A data
77
      signal       DQb         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte B data
78
      signal       DQc         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte C data
79
      signal       DQd         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte D data
80
      signal       DQe         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte E data
81
      signal       DQf         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte F data
82
      signal       DQg         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte G data
83
      signal       DQh         : inout std_logic_vector(DQ_size downto 1) bus;  -- byte H data
84
      signal       nBa         : in    std_logic;  -- bank A write enable
85
      signal       nBb         : in    std_logic;  -- bank B write enable
86
      signal       nBc         : in    std_logic;  -- bank C write enable
87
      signal       nBd         : in    std_logic;  -- bank D write enable
88
      signal       nBe         : in    std_logic;
89
      signal       nBf         : in    std_logic;
90
      signal       nBg         : in    std_logic;
91
      signal       nBh         : in    std_logic;
92
      signal       CK          : in    std_logic;  -- clock
93
      signal       nBW         : in    std_logic;  -- byte write enable
94
      signal       nGW         : in    std_logic;  -- Global write enable
95
      signal       nE1         : in    std_logic;  -- chip enable 1
96
      signal       E2          : in    std_logic;  -- chip enable 2
97
      signal       nE3         : in    std_logic;  -- chip enable 3
98
      signal       nG          : in    std_logic;  -- output enable
99
      signal       nADV        : in    std_logic;  -- Advance not / load
100
      signal       nADSC       : in    std_logic;  -- ONLY FOR BURST DEVICES
101
      signal       nADSP       : in    std_logic;  -- ONLY FOR BURST DEVICES
102
      signal       ZZ          : in    std_logic;  -- power down
103
      signal       nFT         : in    std_logic;  -- Pipeline / Flow through
104
      signal       nLBO        : in    std_logic;  -- Linear Burst Order not
105
      signal       SCD         : in    std_logic;  -- ONLY FOR BURST DEVICES
106
      SIGNAL       HighZ       : std_logic_vector(DQ_size downto 1) ;
107
      signal       tKQ         :       time;
108
      signal       tKQX         :       time);
109
  end component;
110
 
111
  SIGNAL HighZ : std_logic_vector(DQ_size downto 1);
112
  SIGNAL nBc   : std_logic := '1';
113
  SIGNAL nBd   : std_logic := '1';
114
  SIGNAL nBe   : std_logic := '1';
115
  SIGNAL nBf   : std_logic := '1';
116
  SIGNAL nBg   : std_logic := '1';
117
  SIGNAL nBh   : std_logic := '1';
118
  SIGNAL SCD   : std_logic := '0';-- ONLY FOR BURST DEVICES
119
  SIGNAL DQc   : std_logic_vector(DQ_size DOWNTO 1);-- byte C data
120
  SIGNAL DQd   : std_logic_vector(DQ_size DOWNTO 1);-- byte D data
121
  SIGNAL DQe   : std_logic_vector(DQ_size DOWNTO 1);-- byte E data
122
  SIGNAL DQf   : std_logic_vector(DQ_size DOWNTO 1);-- byte F data
123
  SIGNAL DQg   : std_logic_vector(DQ_size DOWNTO 1);-- byte G data
124
  SIGNAL DQh   : std_logic_vector(DQ_size DOWNTO 1);-- byte H data
125
  signal A     : std_logic_vector(A_size - 1 downto 0);
126
  signal tKQ   : time;
127
  signal tKQX   : time;
128
begin
129
  tKQ <= TERNARY(nFT, tKQpipe, tKQflow);
130
  tKQX <= TERNARY(nFT, tKQXpipe, tKQXflow);
131
  HighZ <= to_stdlogicvector( "ZZZZZZZZZZ" ,DQ_size);
132
  A     <= to_stdlogicvector(A88, A_size);
133
  CORE_CALL : VHDL_BURST_CORE port map (
134
    A, DQA, DQB, DQC, DQD, DQE, DQF, DQG, DQH, NBA, NBB, NBC, NBD, NBE, NBF, NBG, NBH, CK, NBW, NGW, NE1, E2, NE3, NG, NADV, NADSC, NADSP, ZZ, NFT, NLBO, SCD, HighZ, tKQ, tKQX);
135
 
136
END BURST_8MEG_x18;

powered by: WebSVN 2.1.0

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