10-25-2019 06:51 PM
Colleagues,
We have been having no ends of trouble getting Eye Scan to work when controlled using the MicroBlaze in a XCVU095 on a VCU108 board (basically retargetting XAPP743/XAPP1178). It works just fine when controlling the system directly from Hardware Manager. We took that design and modified it to turn over control to a MicroBlaze by selecting a value on a VIO. When we switch VIO values to have the MicroBlaze run the Eye Scan, the Eye Scan state machine correctly transitions from Wait to Reset but then stays in the Count state with the associated sample count never incrementing. I wait a really long time, too. No increment. It stays at zero.
Thinking that the MicroBlaze was controlling the EyeScan incorrectly, we took a trace of the DRP accesses when using Hardware Manager and double checked that the MicroBlaze was doing something identical. It was.
So the question is:
What would be wrong that would not enable sample increments in the Eye Scan state machine? I assume it's something small and obvious - just not to us. A missing clock? A stuck reset? A missing enable?
Any help would be greatly appreciated...even ideas of what to look at...
Thanks!
10-31-2019 09:37 AM
Those XAPPS will not work on UltraScale. The Eye Scan procedure is different and the XAPP would have to be modified according to http://www.xilinx.com/support/answers/67295.htm
Did you make the appropriate changes?
10-31-2019 10:29 PM
I did. I am curious about the black box nature of "Step 2: Reset the GT." While I believe I am resetting the GT is there a step-by-step guide that indicates how to do it and which registers to access to ensure it is reset?
12-02-2019 12:31 PM
12-03-2019 08:02 AM
We have customers who do this successfully so I think the only thing to do is approach it like a normal debug. Put in ILA's to verify each step. Read back the DRP addresses after each write and make sure they happen appropriately. For the GT reset you would likely monitor the resetdone pin going low and then high again. Make sure you have the static drp settings set up appropriately. There are some common mistakes i.e. 80'b1 is not equal to {80{1'b1}}. See the debug AR for eye scan: http://www.xilinx.com/support/answers/65469.htm. What is your line rate and setup for ES_QUALIFIER, ES_SDATA_MASK, RXOUT_DIV, EYESCANMODE, USE_PCS_CLK_PHASE_SEL, ES_CLK_PHASE_SEL, ES_prescale(initially start with a low prescale number for debug) and RX)INT_DATAWIDTH? Eye scan vs range should be 00.