📄 idt72t36135m.vhd
字号:
DIn(29) => D29_ipd, DIn(30) => D30_ipd, DIn(31) => D31_ipd, DIn(32) => D32_ipd, DIn(33) => D33_ipd, DIn(34) => D34_ipd, DIn(35) => D35_ipd, ASYRNeg => ASYRNeg_ipd, ASYWNeg => ASYWNeg_ipd, FSEL0 => FSEL0_ipd, FSEL1 => FSEL1_ipd, FWFT => FWFT_ipd, LDNeg => LDNeg_ipd, MARK => MARK_ipd, OENeg => OENeg_ipd, MRSNeg => MRSNeg_ipd, PRSNeg => PRSNeg_ipd, PFM => PFM_ipd, RCLK => RCLK_ipd, RENNeg => RENNeg_ipd, RCSNeg => RCSNeg_ipd, RTNeg => RTNeg_ipd, SENNeg => SENNeg_ipd, SCLK => SCLK_ipd, WCLK => WCLK_ipd, WENNeg => WENNeg_ipd, WCSNeg => WCSNeg_ipd, QOut(0) => Q0, QOut(1) => Q1, QOut(2) => Q2, QOut(3) => Q3, QOut(4) => Q4, QOut(5) => Q5, QOut(6) => Q6, QOut(7) => Q7, QOut(8) => Q8, QOut(9) => Q9, QOut(10) => Q10, QOut(11) => Q11, QOut(12) => Q12, QOut(13) => Q13, QOut(14) => Q14, QOut(15) => Q15, QOut(16) => Q16, QOut(17) => Q17, QOut(18) => Q18, QOut(19) => Q19, QOut(20) => Q20, QOut(21) => Q21, QOut(22) => Q22, QOut(23) => Q23, QOut(24) => Q24, QOut(25) => Q25, QOut(26) => Q26, QOut(27) => Q27, QOut(28) => Q28, QOut(29) => Q29, QOut(30) => Q30, QOut(31) => Q31, QOut(32) => Q32, QOut(33) => Q33, QOut(34) => Q34, QOut(35) => Q35, EFNeg(1) => EF1Neg, EFNeg(2) => EF2Neg, FFNeg(1) => FF1Neg, FFNeg(2) => FF2Neg, PAENeg(1) => PAE1Neg, PAENeg(2) => PAE2Neg, PAFNeg(1) => PAF1Neg, PAFNeg(2) => PAF2Neg ); SIGNAL flagRCLKskew1 : std_ulogic := '0'; SIGNAL flagRCLKskew2 : std_ulogic := '0'; SIGNAL flagWCLKskew1 : std_ulogic := '0'; SIGNAL flagWCLKskew2 : std_ulogic := '0'; SIGNAL flagRCS : std_ulogic := '0'; SIGNAL flagRCSNeg : std_ulogic := '0'; SIGNAL FlagForOE : std_ulogic := '0'; SIGNAL FlagForDelay : std_ulogic := '0'; SIGNAL flagRPE : std_ulogic := '0'; SIGNAL FlagAbd : std_ulogic := '0'; SIGNAL CopyFFNeg : std_ulogic := 'U'; SIGNAL CopyEFNeg : std_ulogic := 'U'; SIGNAL CopyHF : std_ulogic := 'U'; SIGNAL CopyPAF : std_ulogic := 'U'; SIGNAL CopyPAE : std_ulogic := 'U'; BEGIN CHECK: PROCESS (DIn,WCLK,RCLK,SCLK,WENNeg,RENNeg,SENNeg,RTNeg,LDNeg,FWFT, FSEL0,FSEL1,MRSNeg,PRSNeg,PFM,RCSNeg,WCSNeg,MARK, OENeg,CopyEFNeg) -- Pulse Width and Period Check Variables VARIABLE Pviol_WCLK_SYN : X01 := '0'; VARIABLE PD_WCLK_SYN : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_WCLK_ASYN : X01 := '0'; VARIABLE PD_WCLK_ASYN : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_RCLK_SYN : X01 := '0'; VARIABLE PD_RCLK_SYN : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_RCLK_ASYN : X01 := '0'; VARIABLE PD_RCLK_ASYN : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_SCLK : X01 := '0'; VARIABLE PD_SCLK : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_MRSNeg : X01 := '0'; VARIABLE PD_MRSNeg : VitalPeriodDataType := VitalPeriodDataInit; VARIABLE Pviol_PRSNeg : X01 := '0'; VARIABLE PD_PRSNeg : VitalPeriodDataType := VitalPeriodDataInit; -- Setup/Hold Check Variables VARIABLE Tviol_DIn_WCLK : X01 := '0'; VARIABLE TD_DIn_WCLK : VitalTimingDataType; VARIABLE Tviol_FWFT_SCLK : X01 := '0'; VARIABLE TD_FWFT_SCLK : VitalTimingDataType; VARIABLE Tviol_WENNeg_WCLK : X01 := '0'; VARIABLE TD_WENNeg_WCLK : VitalTimingDataType; VARIABLE Tviol_WENNeg_RCLK : X01 := '0'; VARIABLE TD_WENNeg_RCLK : VitalTimingDataType; VARIABLE Tviol_RENNeg_RCLK : X01 := '0'; VARIABLE TD_RENNeg_RCLK : VitalTimingDataType; VARIABLE Tviol_RENNeg_RCLK_RT : X01 := '0'; VARIABLE TD_RENNeg_RCLK_RT : VitalTimingDataType; VARIABLE Tviol_SENNeg_SCLK : X01 := '0'; VARIABLE TD_SENNeg_SCLK : VitalTimingDataType; VARIABLE Tviol_RTNeg_RCLK : X01 := '0'; VARIABLE TD_RTNeg_RCLK : VitalTimingDataType; VARIABLE Tviol_LDNeg_RCLK : X01 := '0'; VARIABLE TD_LDNeg_RCLK : VitalTimingDataType; VARIABLE Tviol_MARK_RCLK : X01 := '0'; VARIABLE TD_MARK_RCLK : VitalTimingDataType; VARIABLE Tviol_LDNeg_WCLK : X01 := '0'; VARIABLE TD_LDNeg_WCLK : VitalTimingDataType; VARIABLE Tviol_LDNeg_SCLK : X01 := '0'; VARIABLE TD_LDNeg_SCLK : VitalTimingDataType; VARIABLE Tviol_WCSNeg_WCLK : X01 := '0'; VARIABLE TD_WCSNeg_WCLK : VitalTimingDataType; VARIABLE Tviol_RCSNeg_RCLK : X01 := '0'; VARIABLE TD_RCSNeg_RCLK : VitalTimingDataType; VARIABLE Tviol_RENNeg_MRSNeg : X01 := '0'; VARIABLE TD_RENNeg_MRSNeg : VitalTimingDataType; VARIABLE Tviol_WENNeg_MRSNeg : X01 := '0'; VARIABLE TD_WENNeg_MRSNeg : VitalTimingDataType; VARIABLE Tviol_FWFT_MRSNeg : X01 := '0'; VARIABLE TD_FWFT_MRSNeg : VitalTimingDataType; VARIABLE Tviol_LDNeg_MRSNeg : X01 := '0'; VARIABLE TD_LDNeg_MRSNeg : VitalTimingDataType; VARIABLE Tviol_FSEL0_MRSNeg : X01 := '0'; VARIABLE TD_FSEL0_MRSNeg : VitalTimingDataType; VARIABLE Tviol_FSEL1_MRSNeg : X01 := '0'; VARIABLE TD_FSEL1_MRSNeg : VitalTimingDataType; VARIABLE Tviol_PFM_MRSNeg : X01 := '0'; VARIABLE TD_PFM_MRSNeg : VitalTimingDataType; VARIABLE Tviol_RTNeg_MRSNeg : X01 := '0'; VARIABLE TD_RTNeg_MRSNeg : VitalTimingDataType; VARIABLE Tviol_SENNeg_MRSNeg : X01 := '0'; VARIABLE TD_SENNeg_MRSNeg : VitalTimingDataType; VARIABLE Tviol_RENNeg_PRSNeg : X01 := '0'; VARIABLE TD_RENNeg_PRSNeg : VitalTimingDataType; VARIABLE Tviol_WENNeg_PRSNeg : X01 := '0'; VARIABLE TD_WENNeg_PRSNeg : VitalTimingDataType; VARIABLE Tviol_RTNeg_PRSNeg : X01 := '0'; VARIABLE TD_RTNeg_PRSNeg : VitalTimingDataType; VARIABLE Tviol_SENNeg_PRSNeg : X01 := '0'; VARIABLE TD_SENNeg_PRSNeg : VitalTimingDataType; VARIABLE Tviol_RENNeg_MRSNeg_hold : X01 := '0'; VARIABLE TD_RENNeg_MRSNeg_hold : VitalTimingDataType; VARIABLE Tviol_WENNeg_MRSNeg_hold : X01 := '0'; VARIABLE TD_WENNeg_MRSNeg_hold : VitalTimingDataType; VARIABLE Tviol_FWFT_MRSNeg_hold : X01 := '0'; VARIABLE TD_FWFT_MRSNeg_hold : VitalTimingDataType; VARIABLE Tviol_LDNeg_MRSNeg_hold : X01 := '0'; VARIABLE TD_LDNeg_MRSNeg_hold : VitalTimingDataType; VARIABLE Tviol_RENNeg_PRSNeg_hold : X01 := '0'; VARIABLE TD_RENNeg_PRSNeg_hold : VitalTimingDataType; VARIABLE Tviol_WENNeg_PRSNeg_hold : X01 := '0'; VARIABLE TD_WENNeg_PRSNeg_hold : VitalTimingDataType; -- Violation variable VARIABLE Violation : X01 := '0'; -- Memory array declaration TYPE MemStore IS ARRAY (0 to TotalLoc) OF INTEGER RANGE -1 TO MaxData; TYPE yesno IS (yes, no); TYPE ProgramModeType IS (Serial, Parallel); TYPE ModeType IS (IDTStandard, FWFTMode); TYPE OffsetType IS (EOffset, FOffset); TYPE ByteOffsetType IS (LSBEmptyOffset, MSBEmptyOffset, LSBFullOffset, MSBFullOffset); TYPE RetransmitStatus IS (marked,initiated, hold, done); VARIABLE reset : yesno:= no; VARIABLE EnWrite : yesno:= no; VARIABLE PaLdEmptyOk : yesno:= no; VARIABLE PaLdEmptyEnd: yesno:= no; VARIABLE SerLdEnd : yesno:= no; VARIABLE SerLdOk : yesno:= no; VARIABLE ResetEF : yesno:= no; VARIABLE SetOR : yesno:= no; VARIABLE ResetFF : yesno:= no; VARIABLE SetPAF : yesno:= no; VARIABLE SetPAFabd : yesno:= no; VARIABLE SetPAF_1 : yesno:= no; VARIABLE ResetPAFabd : yesno:= no; VARIABLE ResetPAF : yesno:= no; VARIABLE ResetPAF_1 : yesno:= no; VARIABLE ResetOR : yesno:= no; VARIABLE SetIR : yesno:= no; VARIABLE ResetPAE : yesno:= no; VARIABLE ResetPAEabd : yesno:= no; VARIABLE ResetPAE_1 : yesno:= no; VARIABLE SetPAE_1 : yesno:= no; VARIABLE SetPAE : yesno:= no; VARIABLE SetPAEabd : yesno:= no; VARIABLE ResPAE_Ret : yesno:= no; VARIABLE SetPAE_Ret : yesno:= no; VARIABLE PaLdFullOk : yesno:= no; VARIABLE PaLdFullEnd : yesno:= no; VARIABLE FirstWord : yesno:= no; VARIABLE EnFirstWord : yesno:= no; VARIABLE EnReadOffs : yesno:= yes; VARIABLE CondAbd : yesno:= no; VARIABLE ProgramMode : ProgramModeType; VARIABLE ReadOperation : SyncAsync; VARIABLE WriteOperation : SyncAsync; VARIABLE Mode : ModeType; VARIABLE Retransmit : RetransmitStatus := done; VARIABLE ByteOffset : ByteOffsetType; VARIABLE ReadByteOffset : ByteOffsetType; VARIABLE FullOffset : INTEGER; VARIABLE EmptyOffset : INTEGER; VARIABLE ValueForPAE : INTEGER; VARIABLE ValueForPAF : INTEGER; VARIABLE WrPointer : INTEGER := 0; VARIABLE RdPointer : INTEGER := 0; VARIABLE OldRdPointer : INTEGER := 0; VARIABLE RefPointer : INTEGER := 0; VARIABLE CntRCLKforResEF : INTEGER; VARIABLE MarkedPointer : INTEGER; VARIABLE CntWCLKforResFF : INTEGER; VARIABLE CntRCLKforSetOR : INTEGER; VARIABLE CntRCLKforFirstWord : INTEGER; VARIABLE CntWCLKforSetPAF : INTEGER; VARIABLE CntWCLKforSetPAF_1 : INTEGER; VARIABLE CntWCLKforResPAF : INTEGER;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -