You cannot troubleshoot the issue
identified above by connecting a debug probe to the
GPIO_BUTTON [1]
input signal itself. The GPIO_BUTTON [1]
input signal is a PAD signal
that is not directly accessible from the FPGA fabric. Instead, you must trigger on
low-to-high transitions (rising edges) on the GPIO_BUTTON_IBUF
signal,
which is connected to the output of the input buffer of the GPIO_BUTTON
[1]
input signal.As described earlier, the glitch reveals
itself as multiple low-to-high transitions on the
GPIO_BUTTONS_IBUF_1
signal, but it occurs intermittently.
Because it could take several button presses to detect it, you will now set up the
Vivado logic analyzer tool to Repetitive Trigger Run Mode. This setting makes it
easier to repeat the button presses and look for the event in the Waveform
viewer.
- Under the Settings tab for hw_ila_1, configure the following:
- Trigger Mode to BASIC_ONLY
- Capture Mode to BASIC
- Window Data Depth to 1024
- Trigger position to 512
- Press the + button in the Trigger Setup window and add probe
GPIO_BUTTONS_IBUF_1. Change the Value field to RX by selecting the value
RX in the Value field, as shown in the following figure.
CAUTION:For different labs the GPIO_BUTTONS_IBUF might show up differently or have a different name such as button_in4_in. This might also show up as two individual bits or two bits lumped together in a bus. Ensure that you are using bit 1 of this bus to set up your trigger condition. For example in case of a two-bit bus, you will set the Value field in the Compare Value dialog box to RX.
- Select Enable Auto Re-trigger mode on the ILA debug
core as shown below.
CAUTION:The ILA properties window may look slightly different for different labs.When you issue a Run Trigger or a Run Trigger Immediate command after setting the Auto Retrigger mode, the ILA core does the following repetitively until you disable the Auto Retrigger mode option:
- Arms the trigger.
- Waits for the trigger.
- Uploads and displays waveforms.
- On the KC705 board, press the Sine Wave Sequencer button until you see
multiple transitions on the
GPIO_BUTTONS_IBUF_1
signal (this could take 10 or more tries). This is a visualization of the glitch that occurs on the input. An example of the glitch is shown in the following two figures.CAUTION:You may have to repeat the previous two steps repeatedly to see the glitch. After you can see the glitch, you may observe that the signal glitches are not at exactly the same location as shown in the figure below.