⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cy7c1363.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 4 页
字号:
----------------------------------------------------------------------------------  File Name: cy7c1363.vhd----------------------------------------------------------------------------------  Copyright (C) 2005 Free Model Foundry; http://www.FreeModelFoundry.com----  This program is free software; you can redistribute it and/or modify--  it under the terms of the GNU General Public License version 2 as--  published by the Free Software Foundation.----  MODIFICATION HISTORY:----  version: |  author:         | mod date: | changes made:--    V1.0     D. Randjelovic     05 Nov 28   Inital Release------------------------------------------------------------------------------------  PART DESCRIPTION:----  Library:     SRAM--  Technology:  CMOS--  Part:        CY7C1363----  Description: 512K x18 Synchronous Flow-Thru Burst SRAM----  For correct simulation, simulator resolution should be set to 1ps--------------------------------------------------------------------------------LIBRARY IEEE;     USE IEEE.std_logic_1164.ALL;                  USE IEEE.VITAL_timing.ALL;                  USE IEEE.VITAL_primitives.ALL;                  USE STD.textio.ALL;LIBRARY FMF;      USE FMF.gen_utils.ALL;                  USE FMF.conversions.ALL;---------------------------------------------------------------------------------- ENTITY DECLARATION--------------------------------------------------------------------------------ENTITY cy7c1363 IS    GENERIC (        -- tipd delays: interconnect path delays        tipd_A0                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A1                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A2                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A3                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A4                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A5                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A6                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A7                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A8                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A9                  : VitalDelayType01 := VitalZeroDelay01;        tipd_A10                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A11                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A12                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A13                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A14                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A15                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A16                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A17                 : VitalDelayType01 := VitalZeroDelay01;        tipd_A18                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA0                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA1                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA2                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA3                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA4                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA5                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA6                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA7                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQA8                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB0                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB1                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB2                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB3                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB4                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB5                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB6                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB7                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQB8                : VitalDelayType01 := VitalZeroDelay01;        tipd_BWANeg              : VitalDelayType01 := VitalZeroDelay01;        tipd_BWBNeg              : VitalDelayType01 := VitalZeroDelay01;        tipd_GWNeg               : VitalDelayType01 := VitalZeroDelay01;        tipd_BWENeg              : VitalDelayType01 := VitalZeroDelay01;        tipd_CLK                 : VitalDelayType01 := VitalZeroDelay01;        tipd_CENeg               : VitalDelayType01 := VitalZeroDelay01;        tipd_CE2                 : VitalDelayType01 := VitalZeroDelay01;        tipd_CE2Neg              : VitalDelayType01 := VitalZeroDelay01;        tipd_OENeg               : VitalDelayType01 := VitalZeroDelay01;        tipd_ADVNeg              : VitalDelayType01 := VitalZeroDelay01;        tipd_ADSPNeg             : VitalDelayType01 := VitalZeroDelay01;        tipd_ADSCNeg             : VitalDelayType01 := VitalZeroDelay01;        tipd_MODE                : VitalDelayType01 := VitalZeroDelay01;        tipd_ZZ                  : VitalDelayType01 := VitalZeroDelay01;        -- tpd delays        tpd_CLK_DQA0             : VitalDelayType01Z := UnitDelay01Z;        tpd_CLK_DQA1             : VitalDelayType01Z := UnitDelay01Z;        tpd_OENeg_DQA0           : VitalDelayType01Z := UnitDelay01Z;        tpd_OENeg_DQA1           : VitalDelayType01Z := UnitDelay01Z;        -- tpw values: pulse widths        tpw_CLK_posedge        : VitalDelayType := UnitDelay;        tpw_CLK_negedge        : VitalDelayType := UnitDelay;        -- tperiod min (calculated as 1/max freq)        tperiod_CLK_posedge    : VitalDelayType := UnitDelay;        -- tsetup values: setup times        tsetup_A0_CLK           : VitalDelayType := UnitDelay;        tsetup_DQA0_CLK         : VitalDelayType := UnitDelay;        tsetup_ADVNeg_CLK       : VitalDelayType := UnitDelay;        tsetup_ADSCNeg_CLK      : VitalDelayType := UnitDelay;        tsetup_CE2_CLK          : VitalDelayType := UnitDelay;        tsetup_BWANeg_CLK       : VitalDelayType := UnitDelay;        -- thold values: hold times        thold_A0_CLK            : VitalDelayType := UnitDelay;        thold_DQA0_CLK          : VitalDelayType := UnitDelay;        thold_ADVNeg_CLK        : VitalDelayType := UnitDelay;        thold_ADSCNeg_CLK       : VitalDelayType := UnitDelay;        thold_CE2_CLK           : VitalDelayType := UnitDelay;        thold_BWANeg_CLK        : VitalDelayType := UnitDelay;        -- generic control parameters        InstancePath        : STRING    := DefaultInstancePath;        TimingChecksOn      : BOOLEAN   := DefaultTimingChecks;        MsgOn               : BOOLEAN   := DefaultMsgOn;        XOn                 : BOOLEAN   := DefaultXon;        SeverityMode        : SEVERITY_LEVEL := WARNING;        -- memory file to be loaded        mem_file_name       : STRING    := "none";  --"cy7c1363.mem";        -- For FMF SDF technology file usage        TimingModel         : STRING    := DefaultTimingModel    );    PORT (        A0              : IN    std_logic := 'U';        A1              : IN    std_logic := 'U';        A2              : IN    std_logic := 'U';        A3              : IN    std_logic := 'U';        A4              : IN    std_logic := 'U';        A5              : IN    std_logic := 'U';        A6              : IN    std_logic := 'U';        A7              : IN    std_logic := 'U';        A8              : IN    std_logic := 'U';        A9              : IN    std_logic := 'U';        A10             : IN    std_logic := 'U';        A11             : IN    std_logic := 'U';        A12             : IN    std_logic := 'U';        A13             : IN    std_logic := 'U';        A14             : IN    std_logic := 'U';        A15             : IN    std_logic := 'U';        A16             : IN    std_logic := 'U';        A17             : IN    std_logic := 'U';        A18             : IN    std_logic := 'U';        DQA0            : INOUT std_logic := 'U';        DQA1            : INOUT std_logic := 'U';        DQA2            : INOUT std_logic := 'U';        DQA3            : INOUT std_logic := 'U';        DQA4            : INOUT std_logic := 'U';        DQA5            : INOUT std_logic := 'U';        DQA6            : INOUT std_logic := 'U';        DQA7            : INOUT std_logic := 'U';        DQA8            : INOUT std_logic := 'U';        DQB0            : INOUT std_logic := 'U';        DQB1            : INOUT std_logic := 'U';        DQB2            : INOUT std_logic := 'U';        DQB3            : INOUT std_logic := 'U';        DQB4            : INOUT std_logic := 'U';        DQB5            : INOUT std_logic := 'U';        DQB6            : INOUT std_logic := 'U';        DQB7            : INOUT std_logic := 'U';        DQB8            : INOUT std_logic := 'U';        BWANeg          : IN    std_logic := 'U';        BWBNeg          : IN    std_logic := 'U';        GWNeg           : IN    std_logic := 'U';        BWENeg          : IN    std_logic := 'U';        CLK             : IN    std_logic := 'U';        CENeg           : IN    std_logic := 'U';        CE2             : IN    std_logic := 'U';        CE2Neg          : IN    std_logic := 'U';        OENeg           : IN    std_logic := 'U';        ADVNeg          : IN    std_logic := 'U';        ADSPNeg         : IN    std_logic := 'U';        ADSCNeg         : IN    std_logic := 'U';        MODE            : IN    std_logic := 'U';        ZZ              : IN    std_logic := 'U'    );    ATTRIBUTE VITAL_LEVEL0 of cy7c1363 : ENTITY IS TRUE;END cy7c1363;---------------------------------------------------------------------------------- ARCHITECTURE DECLARATION--------------------------------------------------------------------------------ARCHITECTURE vhdl_behavioral of cy7c1363 IS    ATTRIBUTE VITAL_LEVEL0 of vhdl_behavioral : ARCHITECTURE IS TRUE;    CONSTANT partID           : STRING := "cy7c1363";    -- ipd    SIGNAL A0_ipd              : std_ulogic := 'U';    SIGNAL A1_ipd              : std_ulogic := 'U';    SIGNAL A2_ipd              : std_ulogic := 'U';    SIGNAL A3_ipd              : std_ulogic := 'U';    SIGNAL A4_ipd              : std_ulogic := 'U';    SIGNAL A5_ipd              : std_ulogic := 'U';    SIGNAL A6_ipd              : std_ulogic := 'U';    SIGNAL A7_ipd              : std_ulogic := 'U';    SIGNAL A8_ipd              : std_ulogic := 'U';    SIGNAL A9_ipd              : std_ulogic := 'U';    SIGNAL A10_ipd             : std_ulogic := 'U';    SIGNAL A11_ipd             : std_ulogic := 'U';    SIGNAL A12_ipd             : std_ulogic := 'U';    SIGNAL A13_ipd             : std_ulogic := 'U';    SIGNAL A14_ipd             : std_ulogic := 'U';    SIGNAL A15_ipd             : std_ulogic := 'U';    SIGNAL A16_ipd             : std_ulogic := 'U';    SIGNAL A17_ipd             : std_ulogic := 'U';    SIGNAL A18_ipd             : std_ulogic := 'U';    SIGNAL DQA0_ipd            : std_ulogic := 'U';    SIGNAL DQA1_ipd            : std_ulogic := 'U';    SIGNAL DQA2_ipd            : std_ulogic := 'U';    SIGNAL DQA3_ipd            : std_ulogic := 'U';    SIGNAL DQA4_ipd            : std_ulogic := 'U';    SIGNAL DQA5_ipd            : std_ulogic := 'U';    SIGNAL DQA6_ipd            : std_ulogic := 'U';    SIGNAL DQA7_ipd            : std_ulogic := 'U';    SIGNAL DQA8_ipd            : std_ulogic := 'U';    SIGNAL DQB0_ipd            : std_ulogic := 'U';    SIGNAL DQB1_ipd            : std_ulogic := 'U';    SIGNAL DQB2_ipd            : std_ulogic := 'U';    SIGNAL DQB3_ipd            : std_ulogic := 'U';    SIGNAL DQB4_ipd            : std_ulogic := 'U';    SIGNAL DQB5_ipd            : std_ulogic := 'U';    SIGNAL DQB6_ipd            : std_ulogic := 'U';    SIGNAL DQB7_ipd            : std_ulogic := 'U';    SIGNAL DQB8_ipd            : std_ulogic := 'U';    SIGNAL BWANeg_ipd          : std_ulogic := 'U';    SIGNAL BWBNeg_ipd          : std_ulogic := 'U';    SIGNAL GWNeg_ipd           : std_ulogic := 'U';    SIGNAL BWENeg_ipd          : std_ulogic := 'U';    SIGNAL CLK_ipd             : std_ulogic := 'U';    SIGNAL CENeg_ipd           : std_ulogic := 'U';    SIGNAL CE2_ipd             : std_ulogic := 'U';    SIGNAL OENeg_ipd           : std_ulogic := 'U';    SIGNAL CE2Neg_ipd          : std_ulogic := 'U';    SIGNAL ADVNeg_ipd          : std_ulogic := 'U';    SIGNAL ADSPNeg_ipd         : std_ulogic := 'U';    SIGNAL ADSCNeg_ipd         : std_ulogic := 'U';    SIGNAL MODE_ipd            : std_ulogic := 'U';    SIGNAL ZZ_ipd              : std_ulogic := 'U';BEGIN    ----------------------------------------------------------------------------    -- Wire Delays    ----------------------------------------------------------------------------    WireDelay : BLOCK    BEGIN        w_01 : VitalWireDelay (A0_ipd,      A0,      tipd_A0);        w_02 : VitalWireDelay (A1_ipd,      A1,      tipd_A1);        w_03 : VitalWireDelay (A2_ipd,      A2,      tipd_A2);        w_04 : VitalWireDelay (A3_ipd,      A3,      tipd_A3);        w_05 : VitalWireDelay (A4_ipd,      A4,      tipd_A4);        w_06 : VitalWireDelay (A5_ipd,      A5,      tipd_A5);        w_07 : VitalWireDelay (A6_ipd,      A6,      tipd_A6);        w_08 : VitalWireDelay (A7_ipd,      A7,      tipd_A7);        w_09 : VitalWireDelay (A8_ipd,      A8,      tipd_A8);        w_10 : VitalWireDelay (A9_ipd,      A9,      tipd_A9);        w_11 : VitalWireDelay (A10_ipd,     A10,     tipd_A10);        w_12 : VitalWireDelay (A11_ipd,     A11,     tipd_A11);        w_13 : VitalWireDelay (A12_ipd,     A12,     tipd_A12);        w_14 : VitalWireDelay (A13_ipd,     A13,     tipd_A13);        w_15 : VitalWireDelay (A14_ipd,     A14,     tipd_A14);        w_16 : VitalWireDelay (A15_ipd,     A15,     tipd_A15);        w_17 : VitalWireDelay (A16_ipd,     A16,     tipd_A16);        w_18 : VitalWireDelay (A17_ipd,     A17,     tipd_A17);        w_19 : VitalWireDelay (A18_ipd,     A18,     tipd_A18);        w_20 : VitalWireDelay (DQA0_ipd,    DQA0,    tipd_DQA0);        w_21 : VitalWireDelay (DQA1_ipd,    DQA1,    tipd_DQA1);        w_22 : VitalWireDelay (DQA2_ipd,    DQA2,    tipd_DQA2);        w_23 : VitalWireDelay (DQA3_ipd,    DQA3,    tipd_DQA3);        w_24 : VitalWireDelay (DQA4_ipd,    DQA4,    tipd_DQA4);        w_25 : VitalWireDelay (DQA5_ipd,    DQA5,    tipd_DQA5);        w_26 : VitalWireDelay (DQA6_ipd,    DQA6,    tipd_DQA6);        w_27 : VitalWireDelay (DQA7_ipd,    DQA7,    tipd_DQA7);        w_28 : VitalWireDelay (DQA8_ipd,    DQA8,    tipd_DQA8);        w_29 : VitalWireDelay (DQB0_ipd,    DQB0,    tipd_DQB0);        w_30 : VitalWireDelay (DQB1_ipd,    DQB1,    tipd_DQB1);        w_31 : VitalWireDelay (DQB2_ipd,    DQB2,    tipd_DQB2);        w_32 : VitalWireDelay (DQB3_ipd,    DQB3,    tipd_DQB3);        w_33 : VitalWireDelay (DQB4_ipd,    DQB4,    tipd_DQB4);        w_34 : VitalWireDelay (DQB5_ipd,    DQB5,    tipd_DQB5);        w_35 : VitalWireDelay (DQB6_ipd,    DQB6,    tipd_DQB6);        w_36 : VitalWireDelay (DQB7_ipd,    DQB7,    tipd_DQB7);        w_37 : VitalWireDelay (DQB8_ipd,    DQB8,    tipd_DQB8);        w_38 : VitalWireDelay (BWANeg_ipd,  BWANeg,  tipd_BWANeg);        w_39 : VitalWireDelay (BWBNeg_ipd,  BWBNeg,  tipd_BWBNeg);        w_40 : VitalWireDelay (GWNeg_ipd,   GWNeg,   tipd_GWNeg);        w_41 : VitalWireDelay (BWENeg_ipd,  BWENeg,  tipd_BWENeg);        w_42 : VitalWireDelay (CLK_ipd,     CLK,     tipd_CLK);        w_43 : VitalWireDelay (CENeg_ipd,   CENeg,   tipd_CENeg);        w_44 : VitalWireDelay (CE2_ipd,     CE2,     tipd_CE2);        w_45 : VitalWireDelay (CE2Neg_ipd,  CE2Neg,  tipd_CE2Neg);        w_46 : VitalWireDelay (OENeg_ipd,   OENeg,   tipd_OENeg);        w_47 : VitalWireDelay (ADVNeg_ipd,  ADVNeg,  tipd_ADVNeg);        w_48 : VitalWireDelay (ADSPNeg_ipd, ADSPNeg, tipd_ADSPNeg);        w_49 : VitalWireDelay (ADSCNeg_ipd, ADSCNeg, tipd_ADSCNeg);        w_50 : VitalWireDelay (MODE_ipd,    MODE,    tipd_MODE);        w_51 : VitalWireDelay (ZZ_ipd,      ZZ,      tipd_ZZ);    END BLOCK;    ----------------------------------------------------------------------------    -- Main Behavior Block    ----------------------------------------------------------------------------    Behavior: BLOCK        PORT (            BWANIn          : IN    std_ulogic := 'U';            BWBNIn          : IN    std_ulogic := 'U';            GWNIn           : IN    std_ulogic := 'U';            BWENIn          : IN    std_ulogic := 'U';            DatAIn          : IN    std_logic_vector(8 downto 0);            DatBIn          : IN    std_logic_vector(8 downto 0);            DataOut         : OUT   std_logic_vector(17 downto 0)                                                     := (others => 'Z');            CLKIn           : IN    std_ulogic := 'U';            AddressIn       : IN    std_logic_vector(18 downto 0);            OENegIn         : IN    std_ulogic := 'U';            ADVNIn          : IN    std_ulogic := 'U';            ADSPNIn         : IN    std_ulogic := 'U';            ADSCNIn         : IN    std_ulogic := 'U';            MODEIn          : IN    std_ulogic := 'U';            ZZIn            : IN    std_ulogic := 'U';            CE2In           : IN    std_ulogic := 'U';            CENegIn         : IN    std_ulogic := 'U';            CE2NegIn        : IN    std_ulogic := 'U'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -