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

📄 mb811643242.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 5 页
字号:
----------------------------------------------------------------------------------  File Name: mb811643242.vhd----------------------------------------------------------------------------------  Copyright (C) 1999-2003 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    R. Munden    99 JUL 26   Initial coding--    V2.0    R. Munden    99 NOV 06   rewrite based on km416s4030 V2.0--    V2.1    R. Munden    00 JAN 22   Fixed corner case for write_suspend--    V2.2    R. Munden   03 MAR 08    Changed type of some _nwv signals to--                                     satisfy ncvhdl--                                    ----------------------------------------------------------------------------------  PART DESCRIPTION:-- --  Library:    RAM--  Technology: LVTTL--  Part:       KM432S2030, MB811643242-- --  Description: 512K x 32Bit x 4 Banks SDRAM--------------------------------------------------------------------------------LIBRARY IEEE;   USE IEEE.std_logic_1164.ALL;                USE IEEE.VITAL_timing.ALL;                USE IEEE.VITAL_primitives.ALL;LIBRARY FMF;    USE FMF.gen_utils.ALL;                USE FMF.conversions.ALL;---------------------------------------------------------------------------------- ENTITY DECLARATION--------------------------------------------------------------------------------ENTITY mb811643242 IS    GENERIC (        -- tipd delays: interconnect path delays        tipd_BA0                 : VitalDelayType01 := VitalZeroDelay01;        tipd_BA1                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQM0                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQM1                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQM2                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQM3                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ0                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ1                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ2                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ3                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ4                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ5                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ6                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ7                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ8                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ9                 : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ10                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ11                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ12                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ13                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ14                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ15                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ16                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ17                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ18                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ19                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ20                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ21                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ22                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ23                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ24                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ25                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ26                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ27                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ28                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ29                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ30                : VitalDelayType01 := VitalZeroDelay01;        tipd_DQ31                : VitalDelayType01 := VitalZeroDelay01;        tipd_CLK                 : VitalDelayType01 := VitalZeroDelay01;        tipd_CKE                 : VitalDelayType01 := VitalZeroDelay01;        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_WENeg               : VitalDelayType01 := VitalZeroDelay01;        tipd_RASNeg              : VitalDelayType01 := VitalZeroDelay01;        tipd_CSNeg               : VitalDelayType01 := VitalZeroDelay01;        tipd_CASNeg              : VitalDelayType01 := VitalZeroDelay01;        -- tpd delays        tpd_CLK_DQ2              : VitalDelayType01Z := UnitDelay01Z;        tpd_CLK_DQ3              : VitalDelayType01Z := UnitDelay01Z;        -- tpw values: pulse widths        tpw_CLK_posedge          : VitalDelayType    := UnitDelay;        tpw_CLK_negedge          : VitalDelayType    := UnitDelay;        -- tsetup values: setup times        tsetup_DQ0_CLK           : VitalDelayType    := UnitDelay;        -- thold values: hold times        thold_DQ0_CLK            : VitalDelayType    := UnitDelay;        -- tperiod_min: minimum clock period = 1/max freq        tperiod_CLK_posedge      : VitalDelayType    := UnitDelay;        -- tdevice values: values for internal delays        -- time between refresh        tdevice_REF              : VitalDelayType    := 15_625 ns;        -- RAS cycle time        tdevice_TRC              : VitalDelayType    := 90 ns;        -- RAS to CAS delay time        tdevice_TRCD             : VitalDelayType    := 30 ns;        -- RAS precharge time        tdevice_TRP              : VitalDelayType    := 30 ns;        -- auto refresh        tdevice_TRCAR            : VitalDelayType    := 90 ns;        -- write recovery time        tdevice_TWR              : VitalDelayType    := 15 ns;        -- RAS active time        tdevice_TRAS             : VitalDelayType01  := (60 ns, 120_000 ns);        -- tpowerup: Power up initialization time. Data sheets say 100 us.        -- May be shortened during simulation debug.        tpowerup            : TIME      := 100 us;        -- generic control parameters        InstancePath        : STRING    := DefaultInstancePath;        TimingChecksOn      : BOOLEAN   := DefaultTimingChecks;        MsgOn               : BOOLEAN   := DefaultMsgOn;        XOn                 : BOOLEAN   := DefaultXon;        SeverityMode        : SEVERITY_LEVEL := WARNING;        -- For FMF SDF technology file usage        TimingModel         : STRING    := DefaultTimingModel    );    PORT (        BA0             : IN    std_logic := 'U';        BA1             : IN    std_logic := 'U';        DQM0            : IN    std_logic := 'U';        DQM1            : IN    std_logic := 'U';        DQM2            : IN    std_logic := 'U';        DQM3            : IN    std_logic := 'U';        DQ0             : INOUT std_logic := 'U';        DQ1             : INOUT std_logic := 'U';        DQ2             : INOUT std_logic := 'U';        DQ3             : INOUT std_logic := 'U';        DQ4             : INOUT std_logic := 'U';        DQ5             : INOUT std_logic := 'U';        DQ6             : INOUT std_logic := 'U';        DQ7             : INOUT std_logic := 'U';        DQ8             : INOUT std_logic := 'U';        DQ9             : INOUT std_logic := 'U';        DQ10            : INOUT std_logic := 'U';        DQ11            : INOUT std_logic := 'U';        DQ12            : INOUT std_logic := 'U';        DQ13            : INOUT std_logic := 'U';        DQ14            : INOUT std_logic := 'U';        DQ15            : INOUT std_logic := 'U';        DQ16            : INOUT std_logic := 'U';        DQ17            : INOUT std_logic := 'U';        DQ18            : INOUT std_logic := 'U';        DQ19            : INOUT std_logic := 'U';        DQ20            : INOUT std_logic := 'U';        DQ21            : INOUT std_logic := 'U';        DQ22            : INOUT std_logic := 'U';        DQ23            : INOUT std_logic := 'U';        DQ24            : INOUT std_logic := 'U';        DQ25            : INOUT std_logic := 'U';        DQ26            : INOUT std_logic := 'U';        DQ27            : INOUT std_logic := 'U';        DQ28            : INOUT std_logic := 'U';        DQ29            : INOUT std_logic := 'U';        DQ30            : INOUT std_logic := 'U';        DQ31            : INOUT std_logic := 'U';        CLK             : IN    std_logic := 'U';        CKE             : IN    std_logic := 'U';        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';        WENeg           : IN    std_logic := 'U';        RASNeg          : IN    std_logic := 'U';        CSNeg           : IN    std_logic := 'U';        CASNeg          : IN    std_logic := 'U'    );    ATTRIBUTE VITAL_LEVEL0 of mb811643242 : ENTITY IS TRUE;END mb811643242;---------------------------------------------------------------------------------- ARCHITECTURE DECLARATION--------------------------------------------------------------------------------ARCHITECTURE vhdl_behavioral of mb811643242 IS    ATTRIBUTE VITAL_LEVEL0 of vhdl_behavioral : ARCHITECTURE IS TRUE;    CONSTANT partID         : STRING := "mb811643242";    CONSTANT hi_bank        : NATURAL := 3;    CONSTANT depth          : NATURAL := 524287;    SIGNAL CKEreg              : X01 := 'X';    SIGNAL PoweredUp           : boolean := false;    SIGNAL BA0_ipd             : std_ulogic := 'X';    SIGNAL BA1_ipd             : std_ulogic := 'X';    SIGNAL DQM0_ipd            : std_ulogic := 'X';    SIGNAL DQM1_ipd            : std_ulogic := 'X';    SIGNAL DQM2_ipd            : std_ulogic := 'X';    SIGNAL DQM3_ipd            : std_ulogic := 'X';    SIGNAL DQ0_ipd             : std_ulogic := 'X';    SIGNAL DQ1_ipd             : std_ulogic := 'X';    SIGNAL DQ2_ipd             : std_ulogic := 'X';    SIGNAL DQ3_ipd             : std_ulogic := 'X';    SIGNAL DQ4_ipd             : std_ulogic := 'X';    SIGNAL DQ5_ipd             : std_ulogic := 'X';    SIGNAL DQ6_ipd             : std_ulogic := 'X';    SIGNAL DQ7_ipd             : std_ulogic := 'X';    SIGNAL DQ8_ipd             : std_ulogic := 'X';    SIGNAL DQ9_ipd             : std_ulogic := 'X';    SIGNAL DQ10_ipd            : std_ulogic := 'X';    SIGNAL DQ11_ipd            : std_ulogic := 'X';    SIGNAL DQ12_ipd            : std_ulogic := 'X';    SIGNAL DQ13_ipd            : std_ulogic := 'X';    SIGNAL DQ14_ipd            : std_ulogic := 'X';    SIGNAL DQ15_ipd            : std_ulogic := 'X';    SIGNAL DQ16_ipd            : std_ulogic := 'X';    SIGNAL DQ17_ipd            : std_ulogic := 'X';    SIGNAL DQ18_ipd            : std_ulogic := 'X';    SIGNAL DQ19_ipd            : std_ulogic := 'X';    SIGNAL DQ20_ipd            : std_ulogic := 'X';    SIGNAL DQ21_ipd            : std_ulogic := 'X';    SIGNAL DQ22_ipd            : std_ulogic := 'X';    SIGNAL DQ23_ipd            : std_ulogic := 'X';    SIGNAL DQ24_ipd            : std_ulogic := 'X';    SIGNAL DQ25_ipd            : std_ulogic := 'X';    SIGNAL DQ26_ipd            : std_ulogic := 'X';    SIGNAL DQ27_ipd            : std_ulogic := 'X';    SIGNAL DQ28_ipd            : std_ulogic := 'X';    SIGNAL DQ29_ipd            : std_ulogic := 'X';    SIGNAL DQ30_ipd            : std_ulogic := 'X';    SIGNAL DQ31_ipd            : std_ulogic := 'X';    SIGNAL CLK_ipd             : std_ulogic := 'X';    SIGNAL CKE_ipd             : std_ulogic := 'X';    SIGNAL A0_ipd              : std_ulogic := 'X';    SIGNAL A1_ipd              : std_ulogic := 'X';    SIGNAL A2_ipd              : std_ulogic := 'X';    SIGNAL A3_ipd              : std_ulogic := 'X';    SIGNAL A4_ipd              : std_ulogic := 'X';    SIGNAL A5_ipd              : std_ulogic := 'X';    SIGNAL A6_ipd              : std_ulogic := 'X';    SIGNAL A7_ipd              : std_ulogic := 'X';    SIGNAL A8_ipd              : std_ulogic := 'X';    SIGNAL A9_ipd              : std_ulogic := 'X';    SIGNAL A10_ipd             : std_ulogic := 'X';    SIGNAL WENeg_ipd           : std_ulogic := 'X';    SIGNAL RASNeg_ipd          : std_ulogic := 'X';    SIGNAL CSNeg_ipd           : std_ulogic := 'X';    SIGNAL CASNeg_ipd          : std_ulogic := 'X';    SIGNAL BA0_nwv             : std_ulogic := 'U';    SIGNAL BA1_nwv             : std_ulogic := 'U';    SIGNAL DQM0_nwv            : std_ulogic := 'U';    SIGNAL DQM1_nwv            : std_ulogic := 'U';    SIGNAL DQM2_nwv            : std_ulogic := 'U';    SIGNAL DQM3_nwv            : std_ulogic := 'U';    SIGNAL DQ0_nwv             : UX01 := 'X';    SIGNAL DQ1_nwv             : UX01 := 'X';    SIGNAL DQ2_nwv             : UX01 := 'X';    SIGNAL DQ3_nwv             : UX01 := 'X';    SIGNAL DQ4_nwv             : UX01 := 'X';    SIGNAL DQ5_nwv             : UX01 := 'X';    SIGNAL DQ6_nwv             : UX01 := 'X';    SIGNAL DQ7_nwv             : UX01 := 'X';    SIGNAL DQ8_nwv             : UX01 := 'X';    SIGNAL DQ9_nwv             : UX01 := 'X';    SIGNAL DQ10_nwv            : UX01 := 'X';    SIGNAL DQ11_nwv            : UX01 := 'X';

⌨️ 快捷键说明

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