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

📄 idt72132.vhd

📁 VHDL的ram和fifo model code 包含众多的厂家
💻 VHD
📖 第 1 页 / 共 3 页
字号:
        XINeg_nwv      := To_UX01 (s => XINeg_ipd);        FLNeg_nwv      := To_UX01 (s => FLNeg_ipd);        RNeg_nwv       := To_UX01 (s => RNeg_ipd);        OENeg_nwv      := To_UX01 (s => OENeg_ipd);        SIX_nwv        := To_UX01 (s => SIX_ipd);        SI_nwv         := To_UX01 (s => SI_ipd);    ----------------------------------------------------------------------------    -- Timing Check Section    ----------------------------------------------------------------------------    IF (TimingChecksOn) THEN        VitalSetupHoldCheck (            TestSignal      => SI_ipd,            TestSignalName  => "SI",            RefSignal       => SICP_ipd,            RefSignalName   => "SICP",            SetupHigh       => tsetup_SI_SICP,            SetupLow        => tsetup_SI_SICP,            HoldHigh        => thold_SI_SICP,            HoldLow         => thold_SI_SICP,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_SI_SICP,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_SI_SICP        );        VitalSetupHoldCheck (            TestSignal      => SIX_ipd,            TestSignalName  => "SIX",            RefSignal       => SICP_ipd,            RefSignalName   => "SICP",            SetupHigh       => tsetup_SIX_SICP,            SetupLow        => tsetup_SIX_SICP,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_SIX_SICP,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_SIX_SICP        );        VitalSetupHoldCheck (            TestSignal      => RNeg_ipd,            TestSignalName  => "RNeg",            RefSignal       => EFNeg_int,            RefSignalName   => "EFNeg",            HoldLow         => thold_RNeg_EFNeg,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_RNeg_EF,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_RNeg_EF        );        VitalSetupHoldCheck (            TestSignal      => SICP_ipd,            TestSignalName  => "SICP",            RefSignal       => RSNeg_ipd,            RefSignalName   => "RSNeg",            SetupLow        => tsetup_SICP_RSNeg,            HoldLow         => thold_SICP_RSNeg,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_SICP_RSNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_SICP_RSNeg        );        VitalSetupHoldCheck (            TestSignal      => RNeg_ipd,            TestSignalName  => "RNeg",            RefSignal       => RSNeg_ipd,            RefSignalName   => "RSNeg",            SetupHigh       => tsetup_SICP_RSNeg,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_RNeg_RSNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_RNeg_RSNeg        );        VitalSetupHoldCheck (            TestSignal      => SICP_ipd,            TestSignalName  => "SICP",            RefSignal       => FLNeg_ipd,            RefSignalName   => "FLNeg",            SetupLow        => tsetup_SICP_FLNeg,            HoldLow         => thold_SICP_FLNeg,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_SICP_FLNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_SICP_FLNeg        );        VitalSetupHoldCheck (            TestSignal      => XINeg_ipd,            TestSignalName  => "XINeg",            RefSignal       => SICP_ipd,            RefSignalName   => "SICP",            SetupLow        => tsetup_RNeg_XINeg,            CheckEnabled    => TRUE,            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_XINeg_SICP,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_XINeg_SICP        );        VitalSetupHoldCheck (            TestSignal      => XINeg_ipd,            TestSignalName  => "XINeg",            RefSignal       => RNeg_ipd,            RefSignalName   => "RNeg",            SetupLow        => tsetup_RNeg_XINeg,            CheckEnabled    => TRUE,            RefTransition   => '\',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_XINeg_RNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Tviol_XINeg_RNeg        );        VitalRecoveryRemovalCheck (            TestSignal      => SICP_ipd,            TestSignalName  => "SICP",            RefSignal       => FFNeg_int,            RefSignalName   => "FFNeg",            Recovery        => trecovery_SICP_FFNeg,            ActiveLow       => TRUE,            CheckEnabled    => (FFNeg_int ='1'),            RefTransition   => '/',            HeaderMsg       => InstancePath & PartID,            TimingData      => TD_SICP_FFNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Rviol_SICP_FFNeg        );        VitalPeriodPulseCheck (            TestSignal      => RNeg_ipd,            TestSignalName  => "RNeg",            Period          => tperiod_RNeg_negedge,            PulseWidthHigh  => tpw_RNeg_posedge,            PulseWidthLow   => tpw_RNeg_negedge,            HeaderMsg       => InstancePath & PartID,            CheckEnabled    => TRUE,            PeriodData      => PD_RNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Pviol_RNeg        );        VitalPeriodPulseCheck (            TestSignal      => SICP_ipd,            TestSignalName  => "SICP",            Period          => tperiod_SICP_negedge,            PulseWidthHigh  => tpw_SICP_negedge,            PulseWidthLow   => tpw_SICP_negedge,            HeaderMsg       => InstancePath & PartID,            CheckEnabled    => TRUE,            PeriodData      => PD_SICP,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Pviol_SICP        );        VitalPeriodPulseCheck (            TestSignal      => RSNeg_ipd,            TestSignalName  => "RSNeg",            PulseWidthLow   => tpw_RSNeg_negedge,            HeaderMsg       => InstancePath & PartID,            CheckEnabled    => TRUE,            PeriodData      => PD_RSNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Pviol_RSNeg        );        VitalPeriodPulseCheck (            TestSignal      => FLNeg_ipd,            TestSignalName  => "FLNeg",            PulseWidthLow   => tpw_FLNeg_negedge,            HeaderMsg       => InstancePath & PartID,            CheckEnabled    => TRUE,            PeriodData      => PD_FLNeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Pviol_FLNeg        );        VitalPeriodPulseCheck (            TestSignal      => XINeg_ipd,            TestSignalName  => "XINeg",            PulseWidthHigh  => tpw_XINeg_posedge,            PulseWidthLow   => tpw_XINeg_negedge,            HeaderMsg       => InstancePath & PartID,            CheckEnabled    => TRUE,            PeriodData      => PD_XINeg,            XOn             => XOn,            MsgOn           => MsgOn,            Violation       => Pviol_XINeg        );    END IF;    ----------------------------------------------------------------------------    -- Functionality Section    ----------------------------------------------------------------------------    Violation := Tviol_SI_SICP OR Tviol_SIX_SICP OR Tviol_RNeg_EF OR                 Tviol_SICP_RSNeg OR Tviol_RNeg_RSNeg OR Tviol_SICP_FLNeg OR                 Tviol_XINeg_SICP OR Tviol_XINeg_RNeg OR Rviol_SICP_FFNeg OR                 Pviol_RNeg OR Pviol_SICP OR Pviol_RSNeg OR Pviol_FLNeg OR                 Pviol_XINeg;    -- reset    IF falling_edge(RSNeg_ipd) THEN        FFNeg_zd  := '1';        XONeg_zd  := '1';        EFNeg_zd  := '0';        AEFNeg_zd := '0';        D8_zd     := '0';        D7_zd     := '0';        RDPoint   := 0;        WRPoint   := 0;        Count     := 0;        wr_inhibit := false;    ELSIF rising_edge(RSNeg_ipd) THEN        reset_done := true;        IF XINeg_nwv = '0' THEN            mode := single;            rd_stat := act;            wr_stat := act;        ELSIF FLNeg_nwv = '0' THEN            mode := first_exp;            rd_stat := act;            wr_stat := act;        ELSE            mode := other_exp;            rd_stat := inact;            wr_stat := inact;        END IF;    END IF;    -- serial in    IF rising_edge(SICP_ipd) AND SIX_nwv = '1' AND reset_done THEN         IF wr_stat = act AND not wr_inhibit THEN            in_reg(sicnt) := SI_nwv;            IF sicnt = 0 THEN                D7_zd := '0';                D8_zd := '0';            ELSIF sicnt = 1 AND Count = TotalLOC THEN                FFNeg_zd := '0';            ELSIF sicnt = 7 THEN                D7_zd := '1';            ELSIF sicnt = 8 THEN                D8_zd := '1';            END IF;            sicnt := sicnt + 1;        END IF;    ELSIF rising_edge(NWNeg_ipd) THEN    -- load serial data        IF wr_stat = act AND not wr_inhibit THEN            MemData(WRPoint) := to_nat(in_reg);            IF WRPoint < TotalLoc THEN                WRPoint := WRPoint + 1;            ELSE                WRPoint := 0;            END IF;            EFNeg_zd := '1';            sicnt := 0;            IF Count < TotalLOC THEN                IF WRPoint >= RDPoint THEN                    Count := WRPoint - RDPoint;                ELSE

⌨️ 快捷键说明

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