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

📄 idt71016.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 3 页
字号:
        w_20: VitalWireDelay (D14_ipd, D14, tipd_D14);        w_21: VitalWireDelay (D15_ipd, D15, tipd_D15);        w_22: VitalWireDelay (A0_ipd, A0, tipd_A0);        w_23: VitalWireDelay (A1_ipd, A1, tipd_A1);        w_24: VitalWireDelay (A2_ipd, A2, tipd_A2);        w_25: VitalWireDelay (A3_ipd, A3, tipd_A3);        w_26: VitalWireDelay (A4_ipd, A4, tipd_A4);        w_27: VitalWireDelay (A5_ipd, A5, tipd_A5);        w_28: VitalWireDelay (A6_ipd, A6, tipd_A6);        w_29: VitalWireDelay (A7_ipd, A7, tipd_A7);        w_30: VitalWireDelay (A8_ipd, A8, tipd_A8);        w_32: VitalWireDelay (A9_ipd, A9, tipd_A9);        w_33: VitalWireDelay (A10_ipd, A10, tipd_A10);        w_34: VitalWireDelay (A11_ipd, A11, tipd_A11);        w_35: VitalWireDelay (A12_ipd, A12, tipd_A12);        w_36: VitalWireDelay (A13_ipd, A13, tipd_A13);        w_37: VitalWireDelay (A14_ipd, A14, tipd_A14);        w_38: VitalWireDelay (A15_ipd, A15, tipd_A15);    END BLOCK;    ----------------------------------------------------------------------------    -- Main Behavior Block    ----------------------------------------------------------------------------    Behavior: BLOCK        PORT (            AddressIn       : IN    std_logic_vector(HiAbit downto 0);            DataHIn         : IN    std_logic_vector(HiDbit downto 0);            DataLIn         : IN    std_logic_vector(HiDbit downto 0);            DataHOut        : OUT   std_logic_vector(HiDbit downto 0);            DataLOut        : OUT   std_logic_vector(HiDbit downto 0);            BHENegIn        : IN    std_ulogic := 'U';            BLENegIn        : IN    std_ulogic := 'U';            OENegIn         : IN    std_ulogic := 'U';            WENegIn         : IN    std_ulogic := 'U';            CENegIn         : IN    std_ulogic := 'U'        );        PORT MAP (            DataLOut(0) =>  D0,            DataLOut(1) =>  D1,            DataLOut(2) =>  D2,            DataLOut(3) =>  D3,            DataLOut(4) =>  D4,            DataLOut(5) =>  D5,            DataLOut(6) =>  D6,            DataLOut(7) =>  D7,            DataHOut(0) =>  D8,            DataHOut(1) =>  D9,            DataHOut(2) =>  D10,            DataHOut(3) =>  D11,            DataHOut(4) =>  D12,            DataHOut(5) =>  D13,            DataHOut(6) =>  D14,            DataHOut(7) =>  D15,            DataLIn(0) =>  D0_ipd,            DataLIn(1) =>  D1_ipd,            DataLIn(2) =>  D2_ipd,            DataLIn(3) =>  D3_ipd,            DataLIn(4) =>  D4_ipd,            DataLIn(5) =>  D5_ipd,            DataLIn(6) =>  D6_ipd,            DataLIn(7) =>  D7_ipd,            DataHIn(0) =>  D8_ipd,            DataHIn(1) =>  D9_ipd,            DataHIn(2) =>  D10_ipd,            DataHIn(3) =>  D11_ipd,            DataHIn(4) =>  D12_ipd,            DataHIn(5) =>  D13_ipd,            DataHIn(6) =>  D14_ipd,            DataHIn(7) =>  D15_ipd,            AddressIn(0) => A0_ipd,            AddressIn(1) => A1_ipd,            AddressIn(2) => A2_ipd,            AddressIn(3) => A3_ipd,            AddressIn(4) => A4_ipd,            AddressIn(5) => A5_ipd,            AddressIn(6) => A6_ipd,            AddressIn(7) => A7_ipd,            AddressIn(8) => A8_ipd,            AddressIn(9) => A9_ipd,            AddressIn(10) => A10_ipd,            AddressIn(11) => A11_ipd,            AddressIn(12) => A12_ipd,            AddressIn(13) => A13_ipd,            AddressIn(14) => A14_ipd,            AddressIn(15) => A15_ipd,            BHENegIn => BHENeg_ipd,            BLENegIn => BLENeg_ipd,            OENegIn => OENeg_ipd,            WENegIn => WENeg_ipd,            CENegIn => CENeg_ipd        );        SIGNAL DH_zd    : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL DL_zd    : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL DH_int   : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL DL_int   : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL DH_buf   : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL DL_buf   : std_logic_vector(HiDbit DOWNTO 0) := (OTHERS => 'Z');        SIGNAL CENeg_nwv : UX01 := 'U';        SIGNAL OENeg_nwv : UX01 := 'U';    BEGIN         CENeg_nwv   <= To_UX01 (s => CENegIn);        OENeg_nwv   <= To_UX01 (s => OENegIn);        ------------------------------------------------------------------------        -- Tristate Process        ------------------------------------------------------------------------        Tristate : PROCESS (OENeg_nwv, DH_int, DL_int)        BEGIN             IF OENeg_nwv = '0' THEN                DH_buf <= DH_int;                DL_buf <= DL_int;            ELSE                DH_buf <= (OTHERS => 'Z');                DL_buf <= (OTHERS => 'Z');            END IF;        END PROCESS;                                   ------------------------------------------------------------------------        -- Behavior Process        ------------------------------------------------------------------------        Behavior : PROCESS (OENeg_nwv, WENegIn, CENeg_nwv, AddressIn, DataHIn,                             DataLIn, BHENegIn, BLENegIn)                                     -- Timing Check Variables            VARIABLE Tviol_D0_WENeg: X01 := '0';            VARIABLE TD_D0_WENeg   : VitalTimingDataType;            VARIABLE Tviol_D8_WENeg: X01 := '0';            VARIABLE TD_D8_WENeg   : VitalTimingDataType;            VARIABLE Tviol_BHENeg_WENeg: X01 := '0';            VARIABLE TD_BHENeg_WENeg   : VitalTimingDataType;            VARIABLE Tviol_BLENeg_WENeg: X01 := '0';            VARIABLE TD_BLENeg_WENeg   : VitalTimingDataType;            VARIABLE Tviol_D8_CENeg: X01 := '0';            VARIABLE TD_D8_CENeg   : VitalTimingDataType;            VARIABLE Tviol_D0_CENeg: X01 := '0';            VARIABLE TD_D0_CENeg   : VitalTimingDataType;            VARIABLE Pviol_WENeg   : X01 := '0';            VARIABLE PD_WENeg      : VitalPeriodDataType := VitalPeriodDataInit;            -- Memory array declaration            TYPE MemStore IS ARRAY (0 to TotalLOC) OF INTEGER                              RANGE  -2 TO MaxData;            -- Functionality Results Variables            VARIABLE Violation  : X01 := '0';            VARIABLE DataHDrive : std_logic_vector(HiDbit DOWNTO 0)                                   := (OTHERS => 'X');            VARIABLE DataLDrive : std_logic_vector(HiDbit DOWNTO 0)                                   := (OTHERS => 'X');            VARIABLE DataTempH  : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE DataTempL  : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE Location   : NATURAL RANGE 0 TO TotalLOC := 0;            VARIABLE MemDataH   : MemStore;            VARIABLE MemDataL   : MemStore;            -- No Weak Values Variables            VARIABLE BHENeg_nwv  : UX01 := 'X';            VARIABLE BLENeg_nwv  : UX01 := 'X';            VARIABLE WENeg_nwv   : UX01 := 'X';        BEGIN             BHENeg_nwv  := To_UX01 (s => BHENegIn);            BLENeg_nwv  := To_UX01 (s => BLENegIn);            WENeg_nwv   := To_UX01 (s => WENegIn);            --------------------------------------------------------------------            -- Timing Check Section            --------------------------------------------------------------------            IF (TimingChecksOn) THEN                VitalSetupHoldCheck (                    TestSignal      => DataHIn,                    TestSignalName  => "DataH",                    RefSignal       => WENegIn,                    RefSignalName   => "WENeg",                    SetupHigh       => tsetup_D0_WENeg,                    SetupLow        => tsetup_D0_WENeg,                    HoldHigh        => thold_D0_WENeg,                    HoldLow         => thold_D0_WENeg,                    CheckEnabled    => (CENeg_nwv ='0' and OENeg_nwv ='1' and                                         BHENeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D8_WENeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D8_WENeg );                VitalSetupHoldCheck (                    TestSignal      => DataLIn,                    TestSignalName  => "DataL",                    RefSignal       => WENegIn,                    RefSignalName   => "WENeg",                    SetupHigh       => tsetup_D0_WENeg,                    SetupLow        => tsetup_D0_WENeg,                    HoldHigh        => thold_D0_WENeg,                    HoldLow         => thold_D0_WENeg,                    CheckEnabled    => (CENeg_nwv ='0' and OENeg_nwv ='1' and                                         BLENeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D0_WENeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D0_WENeg );                VitalSetupHoldCheck (                    TestSignal      => BHENegIn,

⌨️ 快捷键说明

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