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

📄 idt72264.vhd

📁 VHDL的ram和fifo model code 包含众多的厂家
💻 VHD
📖 第 1 页 / 共 5 页
字号:
              Tviol_WENNeg_PRSNeg := '0';              Tviol_RENNeg_PRSNeg := '0';              Tviol_RTNeg_PRSNeg  := '0';              Tviol_SENNeg_PRSNeg := '0';              Tviol_FWFTSI_MRSNeg := '0';              Rviol_WENNeg_MRSNeg := '0';              Rviol_RENNeg_MRSNeg := '0';              Rviol_LDNeg_MRSNeg  := '0';              Rviol_FWFTSI_MRSNeg := '0';              Rviol_WENNeg_PRSNeg := '0';              Rviol_RENNeg_PRSNeg := '0';              --1 WCLK pulse (low & high) width and period check              --  (tWCLK, tWCLKH, tWCLKL)              IF WCLK'event THEN                VitalPeriodPulseCheck (                    TestSignal      => WCLK,                    TestSignalName  => "WCLK",                    Period          => tperiod_WCLK_posedge,                    PulseWidthHigh  => tpw_WCLK_posedge,                    PulseWidthLow   => tpw_WCLK_negedge,                    CheckEnabled    => TRUE,                    HeaderMsg       => InstancePath & partID,                    PeriodData      => PD_WCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Pviol_WCLK);              END IF;              --2 RCLK pulse (low & high) width and period check              --  (tperiod_RCLK_posedge, tperiod_RCLK_posedgeH,              --   tperiod_RCLK_posedgeL)              IF RCLK'event THEN                VitalPeriodPulseCheck (                    TestSignal      => RCLK,                    TestSignalName  => "RCLK",                    Period          => tperiod_RCLK_posedge,                    PulseWidthHigh  => tpw_RCLK_posedge,                    PulseWidthLow   => tpw_RCLK_negedge,                    CheckEnabled    => TRUE,                    HeaderMsg       => InstancePath & partID,                    PeriodData      => PD_RCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Pviol_RCLK);              END IF;              --3 MRSNeg low pulse width check (tRS)              IF MRSNeg'event THEN               VitalPeriodPulseCheck (                    TestSignal      => MRSNeg,                    TestSignalName  => "MRSNEg",                    PulseWidthLow   => tpw_MRSNeg_negedge,                    CheckEnabled    => TRUE,                    HeaderMsg       => InstancePath & partID,                    PeriodData      => PD_MRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Pviol_MRSNeg);              END IF;              --4 PRSNeg low pulse width check (tRS)              IF PRSNeg'event THEN                VitalPeriodPulseCheck (                    TestSignal      => PRSNeg,                    TestSignalName  => "PRSNEg",                    PulseWidthLow   => tpw_MRSNeg_negedge,                    CheckEnabled    => TRUE,                    HeaderMsg       => InstancePath & partID,                    PeriodData      => PD_PRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Pviol_PRSNeg);              END IF;            IF FIFOWStateint /= MRS AND               FIFOWStateint /= PRS AND               FIFORStateint /= MRS AND               FIFORStateint /= PRS THEN --(exclude 5-8 if reset)              --5 D/WCLK setup/hold time check (tDS, tDH)              IF D'event OR (WCLK'event AND WCLK = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => D,                    TestSignalName  => "D",                    RefSignal       => WCLK,                    RefSignalName   => "WCLK",                    SetupHigh       => tsetup_D0_WCLK_noedge_posedge,                    SetupLow        => tsetup_D0_WCLK_noedge_posedge,                    HoldHigh        => thold_D0_WCLK_noedge_posedge,                    HoldLow         => thold_D0_WCLK_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_D0_WCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D0_WCLK);              END IF;              --6 WENNeg/WCLK setup/hold time check (tENS, tENH)              IF WENNeg'event OR (WCLK'event AND WCLK = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => WENNEg,                    TestSignalName  => "WENNeg",                    RefSignal       => WCLK,                    RefSignalName   => "WCLK",                    SetupLow        => tsetup_RENNeg_RCLK_noedge_posedge,                    HoldHigh        => thold_RENNeg_RCLK_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_WENNeg_WCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_WENNeg_WCLK);              END IF;               --  SENNeg/WCLK setup/hold time check (tENS, tENH)              IF SENNeg'event OR (WCLK'event AND WCLK = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => SENNEg,                    TestSignalName  => "SENNeg",                    RefSignal       => WCLK,                    RefSignalName   => "WCLK",                    SetupLow        => tsetup_RENNeg_RCLK_noedge_posedge,                    HoldHigh        => thold_RENNeg_RCLK_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_SENNeg_WCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_SENNeg_WCLK);              END IF;              --7 RENNeg/RCLK setup/hold time check (tENS, tENH)              IF RENNeg'event OR (RCLK'event AND RCLK = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => RENNEg,                    TestSignalName  => "RENNeg",                    RefSignal       => RCLK,                    RefSignalName   => "RCLK",                    SetupLow        => tsetup_RENNeg_RCLK_noedge_posedge,                    HoldHigh        => thold_RENNeg_RCLK_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_RENNeg_RCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RENNeg_RCLK);              END IF;              --8 LDNeg/WCLK setup/hold time check (tLDS/tLDH)              IF (( LDNeg'event   OR (WCLK'event AND WCLK = '1' ))                  AND (WENNeg ='0'OR SENNeg = '0')) AND ((RENNeg ='1')                  OR NOT RENNeg'event ) THEN                VitalSetupHoldCheck (                    TestSignal      => LDNEg,                    TestSignalName  => "LDNeg",                    RefSignal       => WCLK,                    RefSignalName   => "WCLK",                    SetupLow        => tsetup_LDNeg_WCLK_noedge_posedge,                    HoldHigh        => thold_LDNeg_WCLK_noedge_posedge,                    CheckEnabled    => (RENNeg ='1'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_LDNeg_WCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_LDNeg_WCLK);              END IF;              --8 LDNeg/RCLK setup/hold time check (tLDS/tLDH)              IF (LDNeg'event OR (RCLK'event AND RCLK = '1'))    AND                                 ( RENNeg = '0') THEN                VitalSetupHoldCheck (                    TestSignal      => LDNEg,                    TestSignalName  => "LDNeg",                    RefSignal       => RCLK,                    RefSignalName   => "RCLK",                    SetupLow        => tsetup_LDNeg_RCLK_noedge_posedge,                    HoldHigh        => thold_LDNeg_RCLK_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_LDNeg_RCLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_LDNeg_RCLK);              END IF;             END IF;              --9 RENNeg/MRSNeg setup time check (tRSS)              IF RENNeg'event OR (MRSNeg'event AND MRSNeg = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => RENNEg,                    TestSignalName  => "RENNeg",                    RefSignal       => MRSNEg,                    RefSignalName   => "MRSNEg",                    SetupHigh       => tsetup_LDNeg_MRSNeg_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_RENNeg_MRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RENNeg_MRSNeg);              END IF;              --10 WENNeg/MRSNeg setup time check (tRSS)              IF WENNeg'event OR (MRSNeg'event AND MRSNeg = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => WENNEg,                    TestSignalName  => "WENNeg",                    RefSignal       => MRSNEg,                    RefSignalName   => "MRSNEg",                    SetupHigh       => tsetup_LDNeg_MRSNeg_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_WENNeg_MRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_WENNeg_MRSNeg);              END IF;              --11 LDNeg/MRSNeg setup time check (tRSS)              IF LDNeg'event OR (MRSNeg'event AND MRSNeg = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => LDNEg,                    TestSignalName  => "LDNeg",                    RefSignal       => MRSNEg,                    RefSignalName   => "MRSNEg",                    SetupHigh       => tsetup_LDNeg_MRSNeg_noedge_posedge,                    SetupLow        => tsetup_LDNeg_MRSNeg_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_LDNeg_MRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_LDNeg_MRSNeg);              END IF;              --12 RTNeg/MRSNeg setup time check (tRSS)              IF RTNeg'event OR (MRSNeg'event AND MRSNeg = '1') THEN                VitalSetupHoldCheck (                    TestSignal      => RTNEg,                    TestSignalName  => "RTNeg",                    RefSignal       => MRSNEg,                    RefSignalName   => "MRSNEg",                    SetupHigh       => tsetup_LDNeg_MRSNeg_noedge_posedge,                    CheckEnabled    => True,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & partID,                    TimingData      => TD_RTNeg_MRSNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RTNeg_MRSNeg);              END IF;              --13 SENNeg/MRSNeg setup time check (tRSS)              IF SENNeg'event OR (MRSNeg'event AND MRSNeg = '1') THEN

⌨️ 快捷键说明

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