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

📄 idt709079.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 4 页
字号:
                                   := (OTHERS => 'Z');            VARIABLE DataRtmp   : std_logic_vector(HiDbit DOWNTO 0)                                   := (OTHERS => 'Z');            VARIABLE DataTempL  : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE DataTempR  : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE WrtDataL   : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE WrtDataR   : INTEGER RANGE -2 TO MaxData  := -2;            VARIABLE LocationL  : NATURAL RANGE 0 TO TotalLOC := 0;            VARIABLE LocationR  : NATURAL RANGE 0 TO TotalLOC := 0;            VARIABLE MemData    : MemStore;            VARIABLE LatencyL   : BOOLEAN;            VARIABLE LatencyR   : BOOLEAN;            -- Output Glitch Detection Variables            -- No Weak Values Variables            VARIABLE CE0LNeg_nwv       : UX01 := 'U';            VARIABLE CE0RNeg_nwv       : UX01 := 'U';            VARIABLE CE1L_nwv          : UX01 := 'U';            VARIABLE CE1R_nwv          : UX01 := 'U';            VARIABLE RWR_nwv           : UX01 := 'U';            VARIABLE RWL_nwv           : UX01 := 'U';            VARIABLE ADSLNeg_nwv       : UX01 := 'U';            VARIABLE ADSRNeg_nwv       : UX01 := 'U';            VARIABLE PIPER_nwv         : UX01 := 'U';            VARIABLE OELNeg_nwv        : UX01 := 'U';            VARIABLE OERNeg_nwv        : UX01 := 'U';            VARIABLE CNTRSTLNeg_nwv    : UX01 := 'U';            VARIABLE CNTRSTRNeg_nwv    : UX01 := 'U';            VARIABLE CNTENLNeg_nwv     : UX01 := 'U';            VARIABLE CNTENRNeg_nwv     : UX01 := 'U';        BEGIN            CE0LNeg_nwv    := To_UX01 (s => CE0LNegIn);            CE0RNeg_nwv    := To_UX01 (s => CE0RNegIn);            CE1L_nwv       := To_UX01 (s => CE1LIn);            CE1R_nwv       := To_UX01 (s => CE1RIn);            RWL_nwv        := To_UX01 (s => RWLIn);            RWR_nwv        := To_UX01 (s => RWRIn);            ADSLNeg_nwv    := To_UX01 (s => ADSLNegIn);            ADSRNeg_nwv    := To_UX01 (s => ADSRNegIn);            PIPER_nwv      := To_UX01 (s => PIPERIn);            OELNeg_nwv     := To_UX01 (s => OELNegIn);            OERNeg_nwv     := To_UX01 (s => OERNegIn);            CNTRSTLNeg_nwv := To_UX01 (s => CNTRSTLNegIn);            CNTRSTRNeg_nwv := To_UX01 (s => CNTRSTRNegIn);            CNTENLNeg_nwv  := To_UX01 (s => CNTENLNegIn);            CNTENRNeg_nwv  := To_UX01 (s => CNTENRNegIn);            --------------------------------------------------------------------            -- Timing Check Section            --------------------------------------------------------------------            IF (TimingChecksOn) THEN                VitalSetupHoldCheck (                    TestSignal      => ALIn,                    TestSignalName  => "AL",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_AL0_CLKL,                    SetupLow        => tsetup_AL0_CLKL,                    HoldHigh        => thold_AL0_CLKL,                    HoldLow         => thold_AL0_CLKL,                    CheckEnabled    => (CE0LNeg_nwv ='0' AND CE1L_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_ALIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_ALIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => ARIn,                    TestSignalName  => "AR",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_AL0_CLKL,                    SetupLow        => tsetup_AL0_CLKL,                    HoldHigh        => thold_AL0_CLKL,                    HoldLow         => thold_AL0_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_ARIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_ARIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => CE0LNegIn,                    TestSignalName  => "CE0LNeg",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_CE1L_CLKL,                    SetupLow        => tsetup_CE1L_CLKL,                    HoldHigh        => thold_CE1L_CLKL,                    HoldLow         => thold_CE1L_CLKL,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE0LNegIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE0LNegIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => CE0RNegIn,                    TestSignalName  => "CE0RNeg",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_CE1L_CLKL,                    SetupLow        => tsetup_CE1L_CLKL,                    HoldHigh        => thold_CE1L_CLKL,                    HoldLow         => thold_CE1L_CLKL,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE0RNegIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE0RNegIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => CE1LIn,                    TestSignalName  => "CE1L",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_CE1L_CLKL,                    SetupLow        => tsetup_CE1L_CLKL,                    HoldHigh        => thold_CE1L_CLKL,                    HoldLow         => thold_CE1L_CLKL,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE1LIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE1LIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => CE1RIn,                    TestSignalName  => "CE1R",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_CE1L_CLKL,                    SetupLow        => tsetup_CE1L_CLKL,                    HoldHigh        => thold_CE1L_CLKL,                    HoldLow         => thold_CE1L_CLKL,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE1RIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE1RIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => RWLIn,                    TestSignalName  => "RWL",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_RWL_CLKL,                    SetupLow        => tsetup_RWL_CLKL,                    HoldHigh        => thold_RWL_CLKL,                    HoldLow         => thold_RWL_CLKL,                    CheckEnabled    => (CE0LNeg_nwv ='0' AND CE1L_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_RWLIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RWLIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => RWRIn,                    TestSignalName  => "RWR",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_RWL_CLKL,                    SetupLow        => tsetup_RWL_CLKL,                    HoldHigh        => thold_RWL_CLKL,                    HoldLow         => thold_RWL_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_RWRIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RWRIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => IOLIn,                    TestSignalName  => "IOL",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_IOL0_CLKL,                    SetupLow        => tsetup_IOL0_CLKL,                    HoldHigh        => thold_IOL0_CLKL,                    HoldLow         => thold_IOL0_CLKL,                    CheckEnabled    => (CE0LNeg_nwv ='0' AND CE1L_nwv = '1'                                        AND RWL_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_IOLIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_IOLIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => IORIn,                    TestSignalName  => "IOR",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_IOL0_CLKL,                    SetupLow        => tsetup_IOL0_CLKL,                    HoldHigh        => thold_IOL0_CLKL,                    HoldLow         => thold_IOL0_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'                                        AND RWR_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_IORIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_IORIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => ADSLNegIn,                    TestSignalName  => "ADSLNeg",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_ADSLNeg_CLKL,                    SetupLow        => tsetup_ADSLNeg_CLKL,                    HoldHigh        => thold_ADSLNeg_CLKL,                    HoldLow         => thold_ADSLNeg_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_ADSLNegIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_ADSLNegIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => ADSRNegIn,                    TestSignalName  => "ADSRNeg",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_ADSLNeg_CLKL,                    SetupLow        => tsetup_ADSLNeg_CLKL,                    HoldHigh        => thold_ADSLNeg_CLKL,                    HoldLow         => thold_ADSLNeg_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_ADSRNegIn_CLKRIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_ADSRNegIn_CLKRIn );                VitalSetupHoldCheck (                    TestSignal      => CNTENLNegIn,                    TestSignalName  => "CNTENLNeg",                    RefSignal       => CLKLIn,                    RefSignalName   => "CLKL",                    SetupHigh       => tsetup_CNTENLNeg_CLKL,                    SetupLow        => tsetup_CNTENLNeg_CLKL,                    HoldHigh        => thold_CNTENLNeg_CLKL,                    HoldLow         => thold_CNTENLNeg_CLKL,                    CheckEnabled    => (CE0LNeg_nwv ='0' AND CE1L_nwv = '1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CNTENLNegIn_CLKLIn,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CNTENLNegIn_CLKLIn );                VitalSetupHoldCheck (                    TestSignal      => CNTENRNegIn,                    TestSignalName  => "CNTENRNeg",                    RefSignal       => CLKRIn,                    RefSignalName   => "CLKR",                    SetupHigh       => tsetup_CNTENLNeg_CLKL,                    SetupLow        => tsetup_CNTENLNeg_CLKL,                    HoldHigh        => thold_CNTENLNeg_CLKL,                    HoldLow         => thold_CNTENLNeg_CLKL,                    CheckEnabled    => (CE0RNeg_nwv ='0' AND CE1R_nwv = '1'),

⌨️ 快捷键说明

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