📄 mt47h128m8.vhd
字号:
VARIABLE Pviol_DQS316 : X01 := '0'; VARIABLE PD_DQS316 : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_CK3 : X01 := '0'; VARIABLE PD_CK3 : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_CK4 : X01 := '0'; VARIABLE PD_CK4 : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_CK5 : X01 := '0'; VARIABLE PD_CK5 : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_CK6 : X01 := '0'; VARIABLE PD_CK6 : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Violation : X01 := '0'; BEGIN ---------------------------------------------------------------------------- -- Timing Check Section ---------------------------------------------------------------------------- IF (TimingChecksOn) THEN -- Setup/Hold Check between DQIn and DQSDiff VitalSetupHoldCheck ( TestSignal => DQIn, TestSignalName => "DQIn", RefSignal => DQSDiff, RefSignalName => "DQSDiff", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => DQIn /= DQOut_zd AND EMR(10) = '0', RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_DQ0_DQS, Violation => Tviol_DQ0_DQS ); -- Setup/Hold Check between DQIn and DQSIn VitalSetupHoldCheck ( TestSignal => DQIn, TestSignalName => "DQIn", RefSignal => DQSIn, RefSignalName => "DQSIn", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => DQIn /= DQOut_zd, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_DQ0_DQS1, Violation => Tviol_DQ0_DQS1 ); -- Setup/Hold Check between DQIn and DQSDiff VitalSetupHoldCheck ( TestSignal => DQIn, TestSignalName => "DQIn", RefSignal => DQSDiff, RefSignalName => "DQSDiff", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => DQIn /= DQOut_zd AND EMR(10) = '0', RefTransition => '\', HeaderMsg => InstancePath & PartID, TimingData => TD_DQ1_DQS, Violation => Tviol_DQ1_DQS ); -- Setup/Hold Check between DQIn and DQSIn VitalSetupHoldCheck ( TestSignal => DQIn, TestSignalName => "DQIn", RefSignal => DQSIn, RefSignalName => "DQSIn", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => DQIn /= DQOut_zd, RefTransition => '\', HeaderMsg => InstancePath & PartID, TimingData => TD_DQ1_DQS1, Violation => Tviol_DQ1_DQS1 ); -- Setup/Hold Check between DM and DQSDiff VitalSetupHoldCheck ( TestSignal => DM, TestSignalName => "DM", RefSignal => DQSDiff, RefSignalName => "DQSDiff", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => EMR(10) = '0' AND EMR(11) = '0', RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_DM0_DQS, Violation => Tviol_DM0_DQS ); -- Setup/Hold Check between DM and DQSIn VitalSetupHoldCheck ( TestSignal => DM, TestSignalName => "DM", RefSignal => DQSIn, RefSignalName => "DQSIn", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => EMR(11) = '0', RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_DM0_DQS1, Violation => Tviol_DM0_DQS1 ); -- Setup/Hold Check between DM and DQSDiff VitalSetupHoldCheck ( TestSignal => DM, TestSignalName => "DM", RefSignal => DQSDiff, RefSignalName => "DQSDiff", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => EMR(10) = '0' AND EMR(11) = '0', RefTransition => '\', HeaderMsg => InstancePath & PartID, TimingData => TD_DM1_DQS, Violation => Tviol_DM1_DQS ); -- Setup/Hold Check between DM and DQSIn VitalSetupHoldCheck ( TestSignal => DM, TestSignalName => "DM", RefSignal => DQSIn, RefSignalName => "DQSIn", SetupHigh => tsetup_DQ0_DQS, SetupLow => tsetup_DQ0_DQS, HoldHigh => thold_DQ0_DQS, HoldLow => thold_DQ0_DQS, CheckEnabled => EMR(11) = '0', RefTransition => '\', HeaderMsg => InstancePath & PartID, TimingData => TD_DM1_DQS1, Violation => Tviol_DM1_DQS1 ); -- Setup/Hold Check between ODT and CKDiff VitalSetupHoldCheck ( TestSignal => ODT, TestSignalName => "ODT", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_ODT_CK, Violation => Tviol_ODT_CK ); -- Setup/Hold Check between CKE and CKDiff VitalSetupHoldCheck ( TestSignal => CKE, TestSignalName => "CKE", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_CKE_CK, Violation => Tviol_CKE_CK ); -- Setup/Hold Check between CSNeg and CKDiff VitalSetupHoldCheck ( TestSignal => CSNeg, TestSignalName => "CSNeg", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_CSNeg_CK, Violation => Tviol_CSNeg_CK ); -- Setup/Hold Check between RASNeg and CKDiff VitalSetupHoldCheck ( TestSignal => RASNeg, TestSignalName => "RASNeg", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_RASNeg_CK, Violation => Tviol_RASNeg_CK ); -- Setup/Hold Check between CASNeg and CKDiff VitalSetupHoldCheck ( TestSignal => CASNeg, TestSignalName => "CASNeg", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_CASNeg_CK, Violation => Tviol_CASNeg_CK ); -- Setup/Hold Check between WENeg and CKDiff VitalSetupHoldCheck ( TestSignal => WENeg, TestSignalName => "WENeg", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK, CheckEnabled => TRUE, RefTransition => '/', HeaderMsg => InstancePath & PartID, TimingData => TD_WENeg_CK, Violation => Tviol_WENeg_CK ); -- Setup/Hold Check between BAIn and CKDiff VitalSetupHoldCheck ( TestSignal => BAIn, TestSignalName => "BAIn", RefSignal => CKDiff, RefSignalName => "CKDiff", SetupHigh => tsetup_A0_CK, SetupLow => tsetup_A0_CK, HoldHigh => thold_A0_CK, HoldLow => thold_A0_CK,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -