Specifications
9-4
Program Examples
Performing Clock To Data Delay Alignment
Performing Clock To Data Delay Alignment
23810 ! FNAlignEdDelay
23820 !
23830 ! Perform an alignment of the error detector's CLOCK IN
23840 ! with respect to its DATA IN in order position the
23850 ! detector's sampling of the pattern data at the middle
23860 ! of the eye.
23870 ! Return 1 for success and o/p the resultant eye-width and center delay
23880 ! Return 0 for failure (In this case the resultant eye-width and center
23890 ! delay are Nan.)
23900 !
23910 DEF FNAlignEdDelay( @Bert, REAL EyeEdgeThold, REAL Eye_width,
REAL Center_delay )
23920 !
23930 DIM A$[100] ! for status text
23940 REAL Ghz,Nan,Sectops
23950 INTEGER Attempt no,Max attempt,Attempt delay,In progress,Success,Abort
23960 !
23970 Attempt delay =2 ! seconds
23980 Max attempt =120/Attempt delay ! 2 minutes
23990 EyeEdgeThold =1.0E-7
24000 Ghz =1.0E+9 ! conversion constant
24010 Sectops =1.0E+12 ! conversion constant
24020 Nan =9.9E+37 ! “Not a number” => failed
24030 !
24040 CALL Seteyeedge(@Bert, EyeEdgeThold)
24050 GOSUB Startalign
24060 GOSUB Doalign
24070 Success = NOT(In progress OR Abort)
24080 IF Success THEN
24090 GOSUB Readeyewidth
24100 ELSE
24110 GOSUB Abortalign
24120 END IF
24130 RETURN Success
24140 !
24150 Startalign: !
24160 OUTPUT @Bert;“SENSE1:EYE:TCENTER ON”
24170 Attempt_no=0
24180 REPEAT
24190 Attempt no=Attempt no+1
24200 Abort = (Attempt no>=2)
24210 UNTIL (FNAligning OR Abort)