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

📄 mcm63z818.vhd

📁 vhdl cod for ram.For sp3e
💻 VHD
📖 第 1 页 / 共 4 页
字号:
            VARIABLE Tviol_CE2In_CLK    : X01 := '0';            VARIABLE TD_CE2In_CLK       : VitalTimingDataType;            VARIABLE Tviol_RIn_CLK      : X01 := '0';            VARIABLE TD_RIn_CLK         : VitalTimingDataType;            VARIABLE Tviol_DatBIn_CLK   : X01 := '0';            VARIABLE TD_DatBIn_CLK      : VitalTimingDataType;            VARIABLE Tviol_DatAIn_CLK   : X01 := '0';            VARIABLE TD_DatAIn_CLK      : VitalTimingDataType;            VARIABLE Tviol_AddressIn_CLK      : X01 := '0';            VARIABLE TD_AddressIn_CLK         : VitalTimingDataType;            VARIABLE Pviol_CLK    : X01 := '0';            VARIABLE PD_CLK       : VitalPeriodDataType := VitalPeriodDataInit;            -- Memory array declaration            TYPE MemStore IS ARRAY (0 to 262143) OF NATURAL                             RANGE  0 TO 511;            VARIABLE MemDataA   : MemStore;            VARIABLE MemDataB   : MemStore;            VARIABLE MemAddr    : NATURAL RANGE 0 TO 262143;            VARIABLE MemAddr1   : NATURAL RANGE 0 TO 262143;            VARIABLE startaddr  : NATURAL RANGE 0 TO 262143;            VARIABLE Burst_Cnt  : NATURAL RANGE 0 TO 4 := 0;            VARIABLE memstart   : NATURAL RANGE 0 TO 3 := 0;            VARIABLE offset     : INTEGER RANGE -3 TO 3 := 0;            VARIABLE command : command_type;            VARIABLE BWB1    : UX01;            VARIABLE BWA1    : UX01;            VARIABLE BWB2    : UX01;            VARIABLE BWA2    : UX01;            VARIABLE wr1     : boolean := false;            VARIABLE wr2     : boolean := false;            VARIABLE wr3     : boolean := false;            -- Functionality Results Variables            VARIABLE Violation  : X01 := '0';            VARIABLE OBuf1      : std_logic_vector(17 DOWNTO 0)                                   := (OTHERS => 'Z');        BEGIN            --------------------------------------------------------------------            -- Timing Check Section            --------------------------------------------------------------------            IF (TimingChecksOn) THEN                VitalSetupHoldCheck (                    TestSignal      => BWBNIn,                    TestSignalName  => "BWB",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_BWANeg_CLK,                    SetupLow        => tsetup_BWANeg_CLK,                    HoldHigh        => thold_BWANeg_CLK,                    HoldLow         => thold_BWANeg_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BWBN_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BWBN_CLK );                VitalSetupHoldCheck (                    TestSignal      => BWANIn,                    TestSignalName  => "BWA",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_BWANeg_CLK,                    SetupLow        => tsetup_BWANeg_CLK,                    HoldHigh        => thold_BWANeg_CLK,                    HoldLow         => thold_BWANeg_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_BWAN_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_BWAN_CLK );                VitalSetupHoldCheck (                    TestSignal      => CKENIn,                    TestSignalName  => "CLKENNeg",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_CLKENNeg_CLK,                    SetupLow        => tsetup_CLKENNeg_CLK,                    HoldHigh        => thold_CLKENNeg_CLK,                    HoldLow         => thold_CLKENNeg_CLK,                    CheckEnabled    => TRUE,                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CKENIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CKENIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => ADVIn,                    TestSignalName  => "ADV",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_ADV_CLK,                    SetupLow        => tsetup_ADV_CLK,                    HoldHigh        => thold_ADV_CLK,                    HoldLow         => thold_ADV_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_ADVIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_ADVIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => CE1NegIn,                    TestSignalName  => "CE1Neg",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_CE2_CLK,                    SetupLow        => tsetup_CE2_CLK,                    HoldHigh        => thold_CE2_CLK,                    HoldLow         => thold_CE2_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE1NegIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE1NegIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => CE2NegIn,                    TestSignalName  => "CE2Neg",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_CE2_CLK,                    SetupLow        => tsetup_CE2_CLK,                    HoldHigh        => thold_CE2_CLK,                    HoldLow         => thold_CE2_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE2NegIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE2NegIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => CE2In,                    TestSignalName  => "CE2",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_CE2_CLK,                    SetupLow        => tsetup_CE2_CLK,                    HoldHigh        => thold_CE2_CLK,                    HoldLow         => thold_CE2_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_CE2In_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_CE2In_CLK );                VitalSetupHoldCheck (                    TestSignal      => RIn,                    TestSignalName  => "R",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_R_CLK,                    SetupLow        => tsetup_R_CLK,                    HoldHigh        => thold_R_CLK,                    HoldLow         => thold_R_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_RIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_RIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => AddressIn,                    TestSignalName  => "Address",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_A0_CLK,                    SetupLow        => tsetup_A0_CLK,                    HoldHigh        => thold_A0_CLK,                    HoldLow         => thold_A0_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_AddressIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_AddressIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => DatBIn,                    TestSignalName  => "DatB",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_DQA0_CLK,                    SetupLow        => tsetup_DQA0_CLK,                    HoldHigh        => thold_DQA0_CLK,                    HoldLow         => thold_DQA0_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_DatBIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_DatBIn_CLK );                VitalSetupHoldCheck (                    TestSignal      => DatAIn,                    TestSignalName  => "DatA",                    RefSignal       => CLKIn,                    RefSignalName   => "CLK",                    SetupHigh       => tsetup_DQA0_CLK,                    SetupLow        => tsetup_DQA0_CLK,                    HoldHigh        => thold_DQA0_CLK,                    HoldLow         => thold_DQA0_CLK,                    CheckEnabled    => (CKENIn ='0'),                    RefTransition   => '/',                    HeaderMsg       => InstancePath & PartID,                    TimingData      => TD_DatAIn_CLK,                    XOn             => XOn,                    MsgOn           => MsgOn,                    Violation       => Tviol_DatAIn_CLK );                VitalPeriodPulseCheck (                    TestSignal      =>  CLKIn,                    TestSignalName  =>  "CLK",                    Period          =>  tperiod_CLK_posedge,                    PulseWidthLow   =>  tpw_CLK_negedge,                    PulseWidthHigh  =>  tpw_CLK_posedge,                    PeriodData      =>  PD_CLK,                    XOn             =>  XOn,                    MsgOn           =>  MsgOn,                    Violation       =>  Pviol_CLK,                    HeaderMsg       =>  InstancePath & PartID,                    CheckEnabled    =>  (CKENIn ='0') );                Violation := Pviol_CLK OR Tviol_DatAIn_CLK OR Tviol_DatBIn_CLK                             OR Tviol_AddressIn_CLK OR Tviol_RIn_CLK OR                              Tviol_CE2In_CLK OR Tviol_CE2NegIn_CLK OR                             Tviol_CE1NegIn_CLK OR Tviol_ADVIn_CLK OR                             Tviol_CKENIn_CLK OR Tviol_BWAN_CLK OR                             Tviol_BWBN_CLK;                ASSERT Violation = '0'                    REPORT InstancePath & partID & ": simulation may be" &                           " inaccurate due to timing violations"                    SEVERITY SeverityMode;            END IF; -- Timing Check Section

⌨️ 快捷键说明

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