Virtual Input/Output

Virtual Input/Output Thumbnail

https://www.amd.com/en/products/adaptive-socs-and-fpgas/intellectual-property/vio.html

When debugging an FPGA, there are times when you need to modify settings or parameters and monitor internal signals in real time. Setting up communication interfaces, such as receiving input from switches and keys or using UART, can be a complex process. However, AMD FPGAs offer a solution with the Virtual I/O IP, which allows these tasks to be easily performed via JTAG.

https://docs.amd.com/v/u/en-US/pg159-vio

Xilinx Virtual Input/Output (VIO) is a soft IP core provided by Xilinx that allows you to monitor and control internal FPGA signals in real time using the Vivado Integrated Logic Analyzer (ILA) without needing physical I/O pins.

What is Xilinx VIO?

The VIO core acts like a virtual set of buttons, switches, and LEDs inside the FPGA. It can:

  • Send values into your design (inputs),
  • Read values from your design (outputs),
  • Be connected to internal signals (not exposed to pins),
  • Allow real-time interaction through the Vivado Hardware Manager (using JTAG).

How Does It Work?

  • The VIO core is added via the IP Catalog in Vivado.
  • You configure the number of inputs/outputs, and bit-widths.
  • Connect the VIO inputs/outputs to your internal signals in your design.
  • During hardware debugging:
    • You can set input values manually.
    • You can observe output values in real-time.
IP Generation
vio_eth i_vio_eth (
    .clk (gtx_clk),
    .probe_in0 (tx_state),
    .probe_in1 (rx_src_mac_addr),
    .probe_in2 (rx_arp_spa),
    .probe_out0 (perform_test_mode)

);

IP integration

VIO with Hardware manager

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다