Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

It is also possible to drive JTAG with a firmware core and use the Xilinx XVC protocol to remotely access JTAG. The SLAC surf library provides the necessary components.

Note: when operating over a slow connection then I get better response when I start a Xilinx hw_server on some machine that is close to the xvcSrv (rather than tunneling XVC from the remote machine):

  1. Start xvcSrv on machine with best connectivity to the FPGA
  2. Start hw_server on the same or a close-by machine (no special arguments necessary)
  3. From remote (e.g., laptop) you might have to use an ssh tunnel to get to the hw_server. You can in fact use ssh to directly launch the server and tunnel the connection (assuming hw_server is on the PATH):
      ssh -L 3121:localhost:3121 gateway_machine  hw_server
  4. On the remote machine launch Vivado and connect to the default target (since the ssh tunnel was opened on local port 3121 Vivado will find it)
  5. In the Vivado hardware manager connect to the hw target:
      % open_hw_target -xvc_url  <machine_where_xvcSrv_runs>:2542
  6. That's it. Vivado should find the new target. You will need to load the debug probe (.ltx) file and possibly "refresh" the target.
  7. The initialization then takes quite a while (from my home it takes ~30s for the GUI to populate in the hardware manager) but further interaction (including display of waveforms) is acceptable.