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

📄 idt72t36135m.vhd

📁 VHDL的ram和fifo model code 包含众多的厂家
💻 VHD
📖 第 1 页 / 共 5 页
字号:
                TmpOffset (CountForSerial) := FWFT ;            ELSE                SerLdOk := no;            END IF;            CountForSerial := CountForSerial + 1;            IF CountForSerial = 38 THEN                SerLdEnd := yes;                CountForSerial := 0;            END IF;        END SerialLoad;        PROCEDURE ParallelRead        IS        BEGIN            TmpMemLocOE := TmpMemLocRead;            SetFlagForOE;            IF ReadByteOffset = LSBEmptyOffset AND EnReadOffs = yes THEN                TmpOffsetRead := to_slv(EmptyOffset,19);                TmpMemLocRead (15 DOWNTO 0) := TmpOffsetRead (15 DOWNTO 0);                ReadByteOffset := MSBEmptyOffset;                EnReadOffs := no;            ELSIF ReadByteOffset = MSBEmptyOffset AND EnReadOffs = yes THEN                TmpOffsetRead := to_slv(EmptyOffset,19);                TmpMemLocRead (2 DOWNTO 0) := TmpOffsetRead (18 DOWNTO 16);                ReadByteOffset := LSBFullOffset;                EnReadOffs := no;            ELSIF ReadByteOffset = LSBFullOffset AND EnReadOffs = yes THEN                TmpOffsetRead := to_slv(FullOffset,19);                TmpMemLocRead (15 DOWNTO 0) := TmpOffsetRead (15 DOWNTO 0);                ReadByteOffset := MSBFullOffset;                EnReadOffs := no;            ELSIF ReadByteOffset = MSBFullOffset AND EnReadOffs = yes THEN                TmpOffsetRead := to_slv(FullOffset,19);                TmpMemLocRead (2 DOWNTO 0) := TmpOffsetRead (18 DOWNTO 16);                ReadByteOffset := LSBEmptyOffset;                EnReadOffs := no;            END IF;        END ParallelRead;        BEGIN            --------------------------------            -- Timing Check Section            --------------------------------            IF (TimingChecksON) THEN            -- WCLK pulse ( low&high ) width and period check - Syn                VitalPeriodPulseCheck (                  TestSignal      => WCLK,                  TestSignalName  => "WCLK",                  Period          => tperiod_WCLK_SYN_EQ_1_posedge,                  PulseWidthHigh  => tpw_WCLK_SYN_EQ_1_posedge,                  PulseWidthLow   => tpw_WCLK_SYN_EQ_1_negedge,                  CheckEnabled    => ASYWNeg='1',                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_WCLK_SYN,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_WCLK_SYN);            -- WCLK pulse ( low&high ) width and period check - Asyn                VitalPeriodPulseCheck (                  TestSignal      => WCLK,                  TestSignalName  => "WCLK",                  Period          => tperiod_WCLK_ASYN_EQ_1_posedge,                  PulseWidthHigh  => tpw_WCLK_ASYN_EQ_1_posedge,                  PulseWidthLow   => tpw_WCLK_ASYN_EQ_1_negedge,                  CheckEnabled    => ASYWNeg='0',                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_WCLK_ASYN,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_WCLK_ASYN);            -- RCLK pulse ( low&high ) width and period check - Syn                VitalPeriodPulseCheck (                  TestSignal      => RCLK,                  TestSignalName  => "RCLK",                  Period          => tperiod_RCLK_SYN_EQ_1_posedge,                  PulseWidthHigh  => tpw_RCLK_SYN_EQ_1_posedge,                  PulseWidthLow   => tpw_RCLK_SYN_EQ_1_negedge,                  CheckEnabled    => ASYRNeg='1',                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_RCLK_SYN,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_RCLK_SYN);            -- RCLK pulse ( low&high ) width and period check - Asyn                VitalPeriodPulseCheck (                  TestSignal      => RCLK,                  TestSignalName  => "RCLK",                  Period          => tperiod_RCLK_ASYN_EQ_1_posedge,                  PulseWidthHigh  => tpw_RCLK_ASYN_EQ_1_posedge,                  PulseWidthLow   => tpw_RCLK_ASYN_EQ_1_negedge,                  CheckEnabled    => ASYRNeg='0',                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_RCLK_ASYN,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_RCLK_ASYN);            -- SCLK pulse ( low&high ) width and period check                VitalPeriodPulseCheck (                  TestSignal      => SCLK,                  TestSignalName  => "SCLK",                  Period          => tperiod_SCLK_posedge,                  PulseWidthHigh  => tpw_SCLK_posedge,                  PulseWidthLow   => tpw_SCLK_negedge,                  CheckEnabled    => TRUE,                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_SCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_SCLK);            --  MRSNeg pulse low width check                VitalPeriodPulseCheck (                  TestSignal      => MRSNeg,                  TestSignalName  => "MRSNeg",                  PulseWidthLow   => tpw_MRSNeg_negedge,                  CheckEnabled    => TRUE,                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_MRSNeg,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_MRSNeg);            --  PRSNeg pulse low width check                VitalPeriodPulseCheck (                  TestSignal      => PRSNeg,                  TestSignalName  => "PRSNeg",                  PulseWidthLow   => tpw_PRSNeg_negedge,                  CheckEnabled    => TRUE,                  HeaderMsg       => InstancePath & partID,                  PeriodData      => PD_PRSNeg,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Pviol_PRSNeg);            -- DIn/WCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => DIn,                  TestSignalName  => "DIn",                  RefSignal       => WCLK,                  RefSignalName   => "WCLK",                  SetupHigh       => tsetup_D0_WCLK,                  SetupLow        => tsetup_D0_WCLK,                  HoldHigh        => thold_D0_WCLK,                  HoldLow         => thold_D0_WCLK,                  CheckEnabled    => TRUE,                  RefTransition    => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_DIn_WCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_DIn_WCLK);            -- FWFT/SCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => FWFT,                  TestSignalName  => "FWFT",                  RefSignal       => SCLK,                  RefSignalName   => "SCLK",                  SetupHigh       => tsetup_FWFT_SCLK,                  SetupLow        => tsetup_FWFT_SCLK,                  HoldHigh        => thold_FWFT_SCLK,                  HoldLow         => thold_FWFT_SCLK,                  CheckEnabled    => SENNeg='0',                  RefTransition    => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_FWFT_SCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_FWFT_SCLK);             -- WENNeg/WCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => WENNeg,                  TestSignalName  => "WENNeg",                  RefSignal       => WCLK,                  RefSignalName   => "WCLK",                  SetupLow        => tsetup_WENNeg_WCLK,                  HoldLow         => thold_WENNeg_WCLK,                  CheckEnabled    => TRUE,                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_WENNeg_WCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_WENNeg_WCLK);            -- RENNeg/RCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => RENNeg,                  TestSignalName  => "RENNeg",                  RefSignal       => RCLK,                  RefSignalName   => "RCLK",                  SetupLow        => tsetup_RENNeg_RCLK,                  HoldLow         => thold_RENNeg_RCLK,                  CheckEnabled    => TRUE,                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_RENNeg_RCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_RENNeg_RCLK);            -- RENNeg/RCLK setup time check                VitalSetupHoldCheck (                  TestSignal      => RENNeg,                  TestSignalName  => "RENNeg",                  RefSignal       => RCLK,                  RefSignalName   => "RCLK",                  SetupHigh       => tsetup_RENNeg_RCLK,                  CheckEnabled    => RTNeg='0',                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_RENNeg_RCLK_RT,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_RENNeg_RCLK_RT);            -- WENNeg/RCLK setup time check                VitalSetupHoldCheck (                  TestSignal      => WENNeg,                  TestSignalName  => "WENNeg",                  RefSignal       => RCLK,                  RefSignalName   => "RCLK",                  SetupHigh       => tsetup_WENNeg_RCLK,                  CheckEnabled    => RTNeg='0',                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_WENNeg_RCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_WENNeg_RCLK);            -- MARK/RCLK setup time check                VitalSetupHoldCheck (                  TestSignal      => MARK,                  TestSignalName  => "MARK",                  RefSignal       => RCLK,                  RefSignalName   => "RCLK",                  SetupHigh       => tsetup_MARK_RCLK,                  CheckEnabled    => TRUE,                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_MARK_RCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_MARK_RCLK);            -- SENNeg/SCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => SENNeg,                  TestSignalName  => "SENNeg",                  RefSignal       => SCLK,                  RefSignalName   => "SCLK",                  SetupLow        => tsetup_SENNeg_SCLK,                  HoldLow         => thold_SENNeg_SCLK,                  CheckEnabled    => TRUE,                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_SENNeg_SCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_SENNeg_SCLK);            -- RTNeg/RCLK setup/hold time check                VitalSetupHoldCheck (                  TestSignal      => RTNeg,                  TestSignalName  => "RTNeg",                  RefSignal       => RCLK,                  RefSignalName   => "RCLK",                  SetupLow        => tsetup_RTNeg_RCLK,                  HoldLow         => thold_RTNeg_RCLK,                  CheckEnabled    => TRUE,                  RefTransition   => '/',                  HeaderMsg       => InstancePath & partID,                  TimingData      => TD_RTNeg_RCLK,                  XOn             => XOn,                  MsgOn           => MsgOn,                  Violation       => Tviol_RTNeg_RCLK);            -- LDNeg/RCLK setup/hold time check          

⌨️ 快捷键说明

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