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

📄 k7r323682m.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 5 页
字号:
                VitalSetupHoldCheck (                    TestSignal      => Dat1In,                    TestSignalName  => "Dat1In",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW1Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D1_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D1_K );                VitalSetupHoldCheck (                    TestSignal      => Dat2In,                    TestSignalName  => "Dat2In",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW2Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D2_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D2_K );                VitalSetupHoldCheck (                    TestSignal      => Dat3In,                    TestSignalName  => "Dat3In",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW3Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D3_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D3_K );                VitalSetupHoldCheck (                    TestSignal      => AddressIn,                    TestSignalName  => "Address",                    RefSignal       => KNegIn,                    RefSignalName   => "KNeg",                    SetupLow        => tsetup_A0_K,                    HoldLow         => thold_A0_K,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_A0_KNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_A0_KNeg );                VitalSetupHoldCheck (                    TestSignal      => AddressIn,                    TestSignalName  => "Address",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_A0_K,                    HoldLow         => thold_A0_K,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_A0_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_A0_K );               VitalPeriodPulseCheck (                    TestSignal      =>  CIn,                    TestSignalName  =>  "C",                    Period          =>  tperiod_K,                    PulseWidthLow   =>  tpw_K_negedge,                    PulseWidthHigh  =>  tpw_K_posedge,                    PeriodData      =>  TD_C,                    XOn             =>  XOn,                    MsgOn           =>  MsgOn,                    HeaderMsg       =>  InstancePath & PartID,                    CheckEnabled    =>  (mode = c),                    Violation       =>  Pviol_C );               VitalPeriodPulseCheck (                    TestSignal      =>  CNegIn,                    TestSignalName  =>  "CNeg",                    Period          =>  tperiod_K,                    PulseWidthLow   =>  tpw_K_negedge,                    PulseWidthHigh  =>  tpw_K_posedge,                    PeriodData      =>  TD_CNeg,                    XOn             =>  XOn,                    MsgOn           =>  MsgOn,                    HeaderMsg       =>  InstancePath & PartID,                    CheckEnabled    =>  (mode = c),                    Violation       =>  Pviol_CNeg );               VitalPeriodPulseCheck (                    TestSignal      =>  KIn,                    TestSignalName  =>  "K",                    Period          =>  tperiod_K,                    PulseWidthLow   =>  tpw_K_negedge,                    PulseWidthHigh  =>  tpw_K_posedge,                    PeriodData      =>  TD_K,                    XOn             =>  XOn,                    MsgOn           =>  MsgOn,                    HeaderMsg       =>  InstancePath & PartID,                    CheckEnabled    =>  TRUE,                    Violation       =>  Pviol_K );               VitalPeriodPulseCheck (                    TestSignal      =>  KNegIn,                    TestSignalName  =>  "KNeg",                    Period          =>  tperiod_K,                    PulseWidthLow   =>  tpw_K_negedge,                    PulseWidthHigh  =>  tpw_K_posedge,                    PeriodData      =>  TD_KNeg,                    XOn             =>  XOn,                    MsgOn           =>  MsgOn,                    HeaderMsg       =>  InstancePath & PartID,                    CheckEnabled    =>  TRUE,                    Violation       =>  Pviol_KNeg );               VitalInPhaseSkewCheck (                    Signal1         =>  KIn,                    Signal2         =>  CIn,                    SkewS1S2RiseRise => tskew_K_C,                    SkewData        =>  SD_K_C,                    CheckEnabled    =>  (mode = c),                    Trigger         =>  KCTRIG,                    Violation       =>  Sviol_K_C );               VitalInPhaseSkewCheck (                    Signal1         =>  KNegIn,                    Signal2         =>  CNegIn,                    SkewS1S2RiseRise => tskew_K_C,                    SkewData        =>  SD_KNeg_CNeg,                    CheckEnabled    =>  (mode = c),                    Trigger         =>  KCTRIGN,                    Violation       =>  Sviol_KNeg_CNeg );               VitalOutPhaseSkewCheck (                    Signal1         =>  KIn,                    Signal2         =>  KNegIn,                    SkewS1S2RiseFall => tskew_K_KNeg,                    SkewS2S1RiseFall => tskew_KNeg_K,                    SkewData        =>  SD_K_KNeg,                    CheckEnabled    =>  TRUE,                    Trigger         =>  KTRIG,                    Violation       =>  Sviol_K_KNeg );               VitalOutPhaseSkewCheck (                    Signal1         =>  CIn,                    Signal2         =>  CNegIn,                    SkewS1S2RiseFall => tskew_K_KNeg,                    SkewS2S1RiseFall => tskew_KNeg_K,                    SkewData        =>  SD_C_CNeg,                    CheckEnabled    =>  (mode = c),                    Trigger         =>  CTRIG,                    Violation       =>  Sviol_C_CNeg );                Violation := Tviol_A0_K OR Tviol_A0_KNeg OR Tviol_D0_K OR                             Tviol_D1_K OR Tviol_D2_K OR Tviol_D3_K OR                             Tviol_D0_KNeg OR Tviol_D1_KNeg OR Tviol_D2_KNeg OR                             Tviol_D3_KNeg OR Tviol_RNeg_K OR Tviol_WNeg_K OR                             Tviol_BW0Neg_K OR Tviol_BW1Neg_K OR Tviol_BW2Neg_K                             OR Tviol_BW3Neg_K OR Tviol_BW0Neg_KNeg OR                             Tviol_BW1Neg_KNeg OR Tviol_BW2Neg_KNeg OR                             Tviol_BW3Neg_KNeg OR Pviol_C OR Pviol_CNeg OR                             Pviol_K OR Pviol_KNeg  OR                             Sviol_KNeg_CNeg OR Sviol_K_C OR                             Sviol_K_KNeg OR Sviol_C_CNeg;            END IF; -- Timing Check Section        --------------------------------------------------------------------        -- Functional Section        --------------------------------------------------------------------        IF NOW < 10 ns  THEN--            assert false report " start" severity note;            IF To_UX01(CIn) = '1' AND To_UX01(CNegIn) = '1' THEN                mode <= k;            ELSE                mode <= c;            END IF;            rdop:= false;            wrop:= false;        END IF;        IF rising_edge(KIn) THEN            IF WNeg_nwv = '0' THEN                wrop := true;                ASSERT (not(Is_X(BW0Neg_nwv)))                    REPORT InstancePath & partID & ": Unusable value for BW0Neg"                    SEVERITY SeverityMode;                ASSERT (not(Is_X(BW1Neg_nwv)))                    REPORT InstancePath & partID & ": Unusable value for BW1Neg"                    SEVERITY SeverityMode;                ASSERT (not(Is_X(BW2Neg_nwv)))                    REPORT InstancePath & partID & ": Unusable value for BW2Neg"                    SEVERITY SeverityMode;                ASSERT (not(Is_X(BW3Neg_nwv)))                    REPORT InstancePath & partID & ": Unusable value for BW3Neg"                    SEVERITY SeverityMode;                BW0Neg_reg := BW0Neg_nwv;                BW1Neg_reg := BW1Neg_nwv;                BW2Neg_reg := BW2Neg_nwv;                BW3Neg_reg := BW3Neg_nwv;                dat0_reg := Dat0In;                dat1_reg := Dat1In;                dat2_reg := Dat2In;                dat3_reg := Dat3In;            END IF;            IF RNeg_nwv = '0' THEN                rdop := true;                raddr := To_Nat(AddressIn);            END IF;        END IF;        IF rising_edge(KNegIn) THEN            IF wrop = true THEN                waddr := To_Nat(AddressIn);                wrop := false;                IF BW0Neg_reg = '0' THEN                    IF Violation = '0' THEN                        MemData0A(waddr) := To_Nat(dat0_reg);                    ELSE                        MemData0A(waddr) := -1;                    END IF;                END IF;                IF BW0Neg_nwv = '0' THEN                    IF Violation = '0' THEN                        MemData0B(waddr) := To_Nat(Dat0In);                    ELSE                        MemData0B(waddr) := -1;                    END IF;                END IF;                IF BW1Neg_reg = '0' THEN                    IF Violation = '0' THEN                        MemData1A(waddr) := To_Nat(dat1_reg);                    ELSE                        MemData1A(waddr) := -1;                    END IF;                END IF;                IF BW1Neg_nwv = '0' THEN                    IF Violation = '0' THEN                        MemData1B(waddr) := To_Nat(Dat1In);                    ELSE                        MemData1B(waddr) := -1;                    END IF;                END IF;                IF BW2Neg_reg = '0' THEN                    IF Violation = '0' THEN                        MemData2A(waddr) := To_Nat(dat2_reg);                    ELSE                        MemData2A(waddr) := -1;                    END IF;                END IF;                IF BW2Neg_nwv = '0' THEN                    IF Violation = '0' THEN                        MemData2B(waddr) := To_Nat(Dat2In);                    ELSE                        MemData2B(waddr) := -1;                    END IF;                END IF;                IF BW3Neg_reg = '0' THEN                    IF Violation = '0' THEN                        MemData3A(waddr) := To_Nat(dat3_reg);                    ELSE                        MemData3A(waddr) := -1;                    END IF;                END IF;                IF BW3Neg_nwv = '0' THEN                    IF Violation = '0' THEN                        MemData3B(waddr) := To_Nat(Dat3In);                    ELSE                        MemData3B(waddr) := -1;                    END IF;                END IF;            END IF;        END IF;        IF rising_edge(CNegInt)

⌨️ 快捷键说明

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