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

📄 k7r321882m.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 4 页
字号:
            VARIABLE TD_A0_KNeg         : VitalTimingDataType;            VARIABLE Tviol_D0_K         : X01 := '0';            VARIABLE TD_D0_K            : VitalTimingDataType;            VARIABLE Tviol_D1_K         : X01 := '0';            VARIABLE TD_D1_K            : VitalTimingDataType;            VARIABLE Tviol_D0_KNeg      : X01 := '0';            VARIABLE TD_D0_KNeg         : VitalTimingDataType;            VARIABLE Tviol_D1_KNeg      : X01 := '0';            VARIABLE TD_D1_KNeg         : VitalTimingDataType;            VARIABLE Tviol_RNeg_K       : X01 := '0';            VARIABLE TD_RNeg_K          : VitalTimingDataType;            VARIABLE Tviol_WNeg_K       : X01 := '0';            VARIABLE TD_WNeg_K          : VitalTimingDataType;            VARIABLE Tviol_BW0Neg_K     : X01 := '0';            VARIABLE TD_BW0Neg_K        : VitalTimingDataType;            VARIABLE Tviol_BW1Neg_K     : X01 := '0';            VARIABLE TD_BW1Neg_K        : VitalTimingDataType;            VARIABLE Tviol_BW0Neg_KNeg  : X01 := '0';            VARIABLE TD_BW0Neg_KNeg     : VitalTimingDataType;            VARIABLE Tviol_BW1Neg_KNeg  : X01 := '0';            VARIABLE TD_BW1Neg_KNeg     : VitalTimingDataType;            VARIABLE Pviol_C            :  X01 := '0';            VARIABLE TD_C          : VitalPeriodDataType := VitalPeriodDataInit;            VARIABLE Pviol_CNeg         :  X01 := '0';            VARIABLE TD_CNeg       : VitalPeriodDataType := VitalPeriodDataInit;            VARIABLE Pviol_K            :  X01 := '0';            VARIABLE TD_K          : VitalPeriodDataType := VitalPeriodDataInit;            VARIABLE Pviol_KNeg         :  X01 := '0';            VARIABLE TD_KNeg       : VitalPeriodDataType := VitalPeriodDataInit;            VARIABLE Sviol_KNeg_CNeg    :  X01 := '0';            VARIABLE SD_KNeg_CNeg  : VitalSkewDataType := VitalSkewDataInit;            VARIABLE Sviol_K_C          :  X01 := '0';            VARIABLE SD_K_C        : VitalSkewDataType := VitalSkewDataInit;            VARIABLE Sviol_K_KNeg       :  X01 := '0';            VARIABLE SD_K_KNeg     : VitalSkewDataType := VitalSkewDataInit;            VARIABLE Sviol_C_CNeg       :  X01 := '0';            VARIABLE SD_C_CNeg     : VitalSkewDataType := VitalSkewDataInit;            -- Functionality Results Variables            VARIABLE Violation  : X01 := '0';            VARIABLE CQ_zd      : std_ulogic := 'U';            VARIABLE CQNeg_zd   : std_ulogic := 'U';            VARIABLE CQ_GlitchData    : VitalGlitchDataType;            VARIABLE CQNeg_GlitchData : VitalGlitchDataType;            -- Memory array declaration            TYPE MemStore IS ARRAY (0 to TotalLOC) OF INTEGER                             RANGE  -2 TO MaxData;            VARIABLE MemData0A   : MemStore;            VARIABLE MemData1A   : MemStore;            VARIABLE MemData0B   : MemStore;            VARIABLE MemData1B   : MemStore;            VARIABLE wrop        : boolean := false;            VARIABLE rdop        : boolean := false;            VARIABLE waddr       : NATURAL;            VARIABLE raddr       : NATURAL;            VARIABLE datatmp     : INTEGER;            -- No Weak Values Variables            VARIABLE BW0Neg_nwv        : UX01 := 'U';            VARIABLE BW1Neg_nwv        : UX01 := 'U';            VARIABLE BW0Neg_reg        : UX01 := 'U';            VARIABLE BW1Neg_reg        : UX01 := 'U';            VARIABLE RNeg_nwv          : UX01 := 'U';            VARIABLE WNeg_nwv          : UX01 := 'U';            VARIABLE dat0_reg          : std_logic_vector(HiDbit downto 0);            VARIABLE dat1_reg          : std_logic_vector(HiDbit downto 0);            VARIABLE dout_tmpA         : std_logic_vector(17 downto 0):=                                                            (OTHERS=>'Z');            VARIABLE dout_tmpB         : std_logic_vector(17 downto 0):=                                                            (OTHERS=>'Z');            VARIABLE dout_regA         : std_logic_vector(17 downto 0);            VARIABLE dout_regB         : std_logic_vector(17 downto 0);            -- mem file            FILE mem_file       : text IS mem_file_name;            VARIABLE ind        : NATURAL := 0;            VARIABLE buf        : line;        BEGIN            BW0Neg_nwv     := To_UX01 (s => BW0NIn);            BW1Neg_nwv     := To_UX01 (s => BW1NIn);            RNeg_nwv       := To_UX01 (s => RInt);            WNeg_nwv       := To_UX01 (s => WInt);            --------------------------------------------------------------------            -- Timing Check Section            --------------------------------------------------------------------            IF (TimingChecksOn) THEN                VitalSetupHoldCheck (                    TestSignal      => RInt,                    TestSignalName  => "RNeg",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_RNeg_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RNeg_K );                VitalSetupHoldCheck (                    TestSignal      => WInt,                    TestSignalName  => "WNeg",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_WNeg_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_WNeg_K );                VitalSetupHoldCheck (                    TestSignal      => BW0NIn,                    TestSignalName  => "BW0Neg",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => ( WNeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BW0Neg_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BW0Neg_K );                VitalSetupHoldCheck (                    TestSignal      => BW1NIn,                    TestSignalName  => "BW1Neg",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => ( WNeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BW1Neg_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BW1Neg_K );                VitalSetupHoldCheck (                    TestSignal      => BW0NIn,                    TestSignalName  => "BW0Neg",                    RefSignal       => KNegIn,                    RefSignalName   => "KNeg",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => ( WNeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BW0Neg_KNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BW0Neg_KNeg );                VitalSetupHoldCheck (                    TestSignal      => BW1NIn,                    TestSignalName  => "BW1Neg",                    RefSignal       => KNegIn,                    RefSignalName   => "KNeg",                    SetupLow        => tsetup_RNeg_K,                    HoldLow         => thold_RNeg_K,                    CheckEnabled    => ( WNeg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BW1Neg_KNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BW1Neg_KNeg );                VitalSetupHoldCheck (                    TestSignal      => Dat0In,                    TestSignalName  => "Dat0In",                    RefSignal       => KNegIn,                    RefSignalName   => "KNeg",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW0Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D0_KNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D0_KNeg );                VitalSetupHoldCheck (                    TestSignal      => Dat1In,                    TestSignalName  => "Dat1In",                    RefSignal       => KNegIn,                    RefSignalName   => "KNeg",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW1Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D1_KNeg,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D1_KNeg );                VitalSetupHoldCheck (                    TestSignal      => Dat0In,                    TestSignalName  => "Dat0In",                    RefSignal       => KIn,                    RefSignalName   => "K",                    SetupLow        => tsetup_D0_K,                    HoldLow         => thold_D0_K,                    CheckEnabled    => ( WNeg_nwv = '0' AND BW0Neg_nwv = '0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_D0_K,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_D0_K );                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      => 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,

⌨️ 快捷键说明

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