---------------------------------------------------------------------------- -- This file is a part of the GRLIB VHDL IP LIBRARY -- Copyright (C) 2004 GAISLER RESEARCH -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- See the file COPYING for the full details of the license. -- ----------------------------------------------------------------------------- -- Package: components -- File: components.vhd -- Author: Jiri Gaisler, Gaisler Research -- Description: Component declaration of Cypress sync-sram ------------------------------------------------------------------------------ -- pragma translate_off library ieee; use ieee.std_logic_1164.all; use std.textio.all; package components is component cy7c1354 generic ( fname : string := "sram.srec"; -- File to read from -- Constant parameters addr_bits : INTEGER := 18; data_bits : INTEGER := 36; -- Timing parameters for -5 (225 Mhz) tCYC : TIME := 4.4 ns; tCH : TIME := 1.8 ns; tCL : TIME := 1.8 ns; tCO : TIME := 2.8 ns; tAS : TIME := 1.4 ns; tCENS : TIME := 1.4 ns; tWES : TIME := 1.4 ns; tDS : TIME := 1.4 ns; tAH : TIME := 0.4 ns; tCENH : TIME := 0.4 ns; tWEH : TIME := 0.4 ns; tDH : TIME := 0.4 ns -- Timing parameters for -5 (200 Mhz) --tCYC : TIME := 5.0 ns; --tCH : TIME := 2.0 ns; --tCL : TIME := 2.0 ns; --tCO : TIME := 3.2 ns; --tAS : TIME := 1.5 ns; --tCENS : TIME := 1.5 ns; --tWES : TIME := 1.5 ns; --tDS : TIME := 1.5 ns; --tAH : TIME := 0.5 ns; --tCENH : TIME := 0.5 ns; --tWEH : TIME := 0.5 ns; --tDH : TIME := 0.5 ns -- Timing parameters for -5 (166 Mhz) --tCYC : TIME := 6.0 ns; --tCH : TIME := 2.4 ns; --tCL : TIME := 2.4 ns; --tCO : TIME := 3.5 ns; --tAS : TIME := 1.5 ns; --tCENS : TIME := 1.5 ns; --tWES : TIME := 1.5 ns; --tDS : TIME := 1.5 ns; --tAH : TIME := 0.5 ns; --tCENH : TIME := 0.5 ns; --tWEH : TIME := 0.5 ns; --tDH : TIME := 0.5 ns ); -- Port Declarations PORT ( Dq : INOUT STD_LOGIC_VECTOR ((data_bits - 1) DOWNTO 0); -- Data I/O Addr : IN STD_LOGIC_VECTOR ((addr_bits - 1) DOWNTO 0); -- Address Mode : IN STD_LOGIC := '1'; -- Burst Mode Clk : IN STD_LOGIC; -- Clk CEN_n : IN STD_LOGIC; -- CEN# AdvLd_n : IN STD_LOGIC; -- Adv/Ld# Bwa_n : IN STD_LOGIC; -- Bwa# Bwb_n : IN STD_LOGIC; -- BWb# Bwc_n : IN STD_LOGIC; -- Bwc# Bwd_n : IN STD_LOGIC; -- BWd# Rw_n : IN STD_LOGIC; -- RW# Oe_n : IN STD_LOGIC; -- OE# Ce1_n : IN STD_LOGIC; -- CE1# Ce2 : IN STD_LOGIC; -- CE2 Ce3_n : IN STD_LOGIC; -- CE3# Zz : IN STD_LOGIC -- Snooze Mode ); end component; component CY7C1380D GENERIC ( fname : string := "sram.srec"; -- File to read from -- Constant Parameters addr_bits : INTEGER := 19; -- This is external address data_bits : INTEGER := 36; --Clock timings for 250Mhz Cyp_tCO : TIME := 2.6 ns; -- Data Output Valid After CLK Rise Cyp_tCYC : TIME := 4.0 ns; -- Clock cycle time Cyp_tCH : TIME := 1.7 ns; -- Clock HIGH time Cyp_tCL : TIME := 1.7 ns; -- Clock LOW time Cyp_tCHZ : TIME := 2.6 ns; -- Clock to High-Z Cyp_tCLZ : TIME := 1.0 ns; -- Clock to Low-Z Cyp_tOEHZ : TIME := 2.6 ns; -- OE# HIGH to Output High-Z Cyp_tOELZ : TIME := 0.0 ns; -- OE# LOW to Output Low-Z Cyp_tOEV : TIME := 2.6 ns; -- OE# LOW to Output Valid Cyp_tAS : TIME := 1.2 ns; -- Address Set-up Before CLK Rise Cyp_tADS : TIME := 1.2 ns; -- ADSC#, ADSP# Set-up Before CLK Rise Cyp_tADVS : TIME := 1.2 ns; -- ADV# Set-up Before CLK Rise Cyp_tWES : TIME := 1.2 ns; -- BWx#, GW#, BWE# Set-up Before CLK Rise Cyp_tDS : TIME := 1.2 ns; -- Data Input Set-up Before CLK Rise Cyp_tCES : TIME := 1.2 ns; -- Chip Enable Set-up Cyp_tAH : TIME := 0.3 ns; -- Address Hold After CLK Rise Cyp_tADH : TIME := 0.3 ns; -- ADSC#, ADSP# Hold After CLK Rise Cyp_tADVH : TIME := 0.3 ns; -- ADV# Hold After CLK Rise Cyp_tWEH : TIME := 0.3 ns; -- BWx#, GW#, BWE# Hold After CLK Rise Cyp_tDH : TIME := 0.3 ns; -- Data Input Hold After CLK Rise Cyp_tCEH : TIME := 0.3 ns -- Chip Enable Hold After CLK Rise ); PORT (iZZ : IN STD_LOGIC; iMode : IN STD_LOGIC; iADDR : IN STD_LOGIC_VECTOR ((addr_bits -1) downto 0); inGW : IN STD_LOGIC; inBWE : IN STD_LOGIC; inBWd : IN STD_LOGIC; inBWc : IN STD_LOGIC; inBWb : IN STD_LOGIC; inBWa : IN STD_LOGIC; inCE1 : IN STD_LOGIC; iCE2 : IN STD_LOGIC; inCE3 : IN STD_LOGIC; inADSP : IN STD_LOGIC; inADSC : IN STD_LOGIC; inADV : IN STD_LOGIC; inOE : IN STD_LOGIC; ioDQ : INOUT STD_LOGIC_VECTOR ((data_bits-1) downto 0); iCLK : IN STD_LOGIC); end component; end; -- pragma translate_on