Verifying the VIO Core Activity (Only Applicable to Lab 3) - 2021.2 English

Vivado Design Suite Tutorial: Programming and Debugging

Document ID
Release Date
2021.2 English
  1. From the Program and Debug section in Flow Navigator, click Open Hardware Manager.

    The Hardware Manager window opens.

  2. Click Open a new hardware target.

  3. The Open New Hardware Target wizard opens. Click Next.
  4. In the Hardware Server Settings page, type the name of the server (or select Local server if the target is on the local machine) in the Connect to field.
  5. Ensure that you are connected to the right target by selecting the target from the Hardware Targets page. If there is only one target, that target is selected by default. Click Next.
  6. In the Set Hardware Target Properties page, click Next.
  7. In the Open Hardware Target Summary page, verify that all the information is correct, and click Finish.
  8. Program the device by selecting and right-clicking the device in the Sources window and then selecting Program Device.

  9. In the Program Device dialog box, ensure that the bit file to be programmed is correct. Click OK.

  10. After the FPGA device is programmed, you see the VIO and the ILA core in the Hardware window.

    You now have a debug dashboard for the ILA core as shown in the following figure.

  11. Click Run Trigger Immediate to capture the data immediately.

  12. Make sure that there is activity on the sine [19:0] signal.
  13. Select the sine signal in the Waveform window, right-click and select Waveform Style > Analog.
  14. Select the sine signal in the Waveform window again, right-click and select Radix > Signed Decimal. You should be able to see the sine wave in the Waveform window.

  15. Instead of using the GPIO_SW push button to cycle through each different sine wave output frequency, you are going to use the virtual “push_button_vio” toggle switch from the VIO core.
  16. You can now customize the ILA dashboard options to include the VIO window. This allows you to toggle the VIO output drivers and observe the impact on the ILA waveform window all in one dashboard. Slide out the Dashboard Options window.

  17. Add the VIO window to the ILA dashboard by selecting hw_vio_1.

    Note: The ILA dashboard now contains the VIO window as well.
  18. Adjust the Trigger Setup – hw_ila_1 window and the hw_vio_1 window so that they are side by side as shown in the following figure.

  19. In the hw_vio_1 window, select the “+” button, and select all the probes under hw_vio_1.
  20. Click OK.
    Note: The initial values of all the probes.

  21. Note the values on all probes in the hw_vio_1 window.

  22. Set the push_button_reset output probe by right-clicking push_button_reset and select Toggle Button.

    This will toggle the output driver from logic from 0 to 1 to 0 as you click. It is similar to the actual push button behavior, though there is no bouncing mechanical effect as with a real push button switch.

    The Value field for push_button_reset is highlighted.

  23. Click in the Value field to change its value to 1.

  24. Follow the step above to change the push_button_vio to Toggle button as well.
  25. Set these two bits of the “sineSel” input probe by right-clicking PROBE_IN0[0] and PROBE_IN0[1] and selecting LED.

  26. In the Select LED Colors dialog box, pick the Low Value Color and the High Value Color of the LEDs as you desire and click OK.

  27. When finished, your VIO Probes window in the Hardware Manager should look similar to the following figure.

  28. To cycle through each different sine wave output frequency using the virtual “push_button_vio” from the VIO core, perform the following simple steps:
    1. Toggle the value of the “push_button_vio” output driver from 0 to 1 to 0 by clicking on the logic displayed under the Value column. You will notice the sineSel LEDs changed accordingly – 0, 1, 2, 3, 0, etc…

    2. Click Run Trigger for hw_ila_1 to capture and display the selected sine wave signal from the previous step.