Use the following procedure to use eye-scan.
- Configure the part for JESD204C operation
by following the steps in the JESD204C Usage Model. Return here after setting SYS_EN=1.
Eye-scan can be run with JESD204C bitstreams, but can also work with general PRBS input
stimulus. Eye-scan runs on all enabled physical lanes simultaneously.
- Program ES to the desired eye-scan mode.
- If ES is less than 8, you must program
ESVO to the desired voltage offset. For other modes, the eye-scan logic automatically
adjusts the voltage offset of the eye-scan sampler.
- Program ESPO to the desired phase offset.
- Program ESBSEL to a value from 0 to 31.
Eye-scan analyzes every 32th received bit (decimate-by-32). ESBSEL adjusts this decimation
phase. For random stimulus, this does not impact the results. If the input has repeating
patterns, this can affect the results.
- Program ESLEN to the desired number of
samples. Higher settings gives more consistent results.
- Set ECOUNT_CLR = 1 then set ECOUNT_CLR =
0 to clear the error counter. This step is recommended, but can be skipped if desired
(e.g. to add up counts from multiple eye scan runs). This can also be skipped if ECOUNT
won’t be used (for modes with ES of 8 or greater)
- Program ESRUN = 1 to start the scan.
- Poll ESDONE until ESDONE returns 1 for
each of the lanes you want to run eye-scan on.
- If the selected eye-scan mode modified the eye-scan voltage offset (inner/outer/average
modes), read ESVO_S to get the inner/outer/average eye boundary. For other eye-scan modes,
read ECOUNT to return the number of mismatches (or matches) recorded.
- Program ESRUN = 0.
- Return to step 2 to run another eye-scan
data collection process. The receiver can remain enabled during multiple iterations of
steps 2 to 12.