The PHY layer contains features for generating eye diagrams. A variety of different
modes are supported (see ES register for list of modes). The following sections describe how to
generate eye-scan data from the part and some approaches for building an
eye-diagram.
- Configure the part for JESD204C operation by following the steps in the Startup Procedure for DUC Mode. Return here after setting JESD_EN=1.
Eye-scan can be run with JESD204C bitstreams, but can also work with general
PRBS input stimulus. Eye-scan is run 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 ES_BIT_SELECT to a value from 0 to 19. Eye-scan analyzes every
20th received bit (decimate-by-20). ES_BIT_SELECT 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 give more
consistent results.
- Set ECOUNT_CLR = 1 then set ECOUNT_CLR 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-12.
There are two basic approaches to build an eye diagram using the eye-scan
feature.
- 1. Fast approach using ESVO_S:
- Repeat the procedure above for each valid value of ESPO. For each value of ESPO, run an inner-eye analysis of zeros and ones. This
locates the maximum zero (ESVOmax0 ) and minimum one
(ESVOmin1) for each value of ESPO.
- All the cells of the eye between ESVOmax0 and
ESVOmin1 (inclusive) can be colored black, and all other
cells colored white.
- Additional detail can be added to the eye-diagram by including outer
and/or average analysis (see ES). For example, the ESVO_S values produced from average analysis can be colored
red, while all other values between and including the inner and outer
values colored white.
- Detailed approach using ECOUNT:
- select an eye-scan mode that counts mismatches. Repeat the procedure
outlined above for each valid value of ESVO and ESPO.
- After each run, record the value of ECOUNT (resetting ECOUNT before each run).
- Each eye-scan run corresponds to one cell of the eye-diagram. ESPO is the x-coordinate of the cell. ESVO is the y-coordinate of the cell. The intensity of the
cell is proportional to ECOUNT/Nsamples, where Nsamples is the number of analyzed
samples per run (determined by ESLEN).
- This approach takes much more time to run, but can provide a more
granular eye-diagram.