Remote Server Access

From Reconfigurable Computing Wiki
Jump to: navigation, search

This is a WiKi for those who would like to have remote access to any board supported by Vivado hw_server. Xilinx Zync Zedboard is supported.


This manual will give step by step instruction on how to access the zedboard for download over the network with all requirements and possible solutions to common issues.


  1. Vivado 201x.2 (version specific) installed in the current system you are working on. note: x is the version of the vivado you are running on the host sytem. Both the vivado in the host and the server should be the same (ex. Vivado 2016.2).
  2. System is within the campus network(IASTATE,ISUCARDINAL or eduroam) or using vpn when accessing from outside the network.
  3. .sh script(updated file will be posted in blackboard with this instruction) which mentions the location of the installed vivado 2016.2 on the campus server.
  4. An ssh program to remotely access any remote server(eg. PuTTy, ssh -from terminal).

Available tools

These are the following available tools on campus

  1. Three servers connected to zync Zedboards. Server access names are:
  2. Vivado 201x.2 installed in the redhat system. To be acces by running the as source in Linux. note: x can be 5 or 6. Make sure both the hw_server on the server and your system runs the version of Vivado.

The hardware tools and servers are located in the following address on campus.

RCL,310, Durham Center

You can visit the lab in-case you need to visually see the output like led blinking or so. Also the jumpers are set not to boot from SD card. If required to boot from SD card, please notify the faculty and make the required changes both on board and in wiki.

Jumper Settings
Server Boot from SD card Enabled No No No


  1. Open Vivado 2016.2 in your system and work on the project normally.
  2. Once you have generated the bitstream and need to upload the code onto the FPGA (Zync Zedboard to be specific). Note: please check if anyone else is running the same FPGA board before downloading the bitstream.
  3. Choose a server from the list in available tools. Remotely access the server using the ssh protocol.
  4. Go to the directory holding the and use the command following.
    $ source
    This will set the destination of where the vivado and other tools are installed in the server.
  5. Now run the hw_server as follows.
    $ hw_server -s
    This will run the hardware server on the xilinx server and open port 3121 (also by default). x = 6,7,8
  6. Now in Vivado in your system open Hardware manager and select Open new Target in Open Target, instead of auto connect.
  7. In the following popup dialog box, click next.
  8. In the hardware server setting dialog box, select remote server in the connect to dropdown list. Fill the remote server host name as the server address on which the hw_server is running.Also fill the port no as 3121 in the port text box. Then click next.
  9. This will connect to the hardware server and show the available devices.Each of the server will be connected to a single FPGA board only.
  10. Select the target and then download the bitstream on to the FPGA.
  11. After the required work is done close the hw_server using Ctrl + C and log out of the server.

Common Issues

The most common issue that can occur in the process is as follows:

  1. The remote connection says port not opened or no host exists.
    This is due to either few of these reason
    • Running wrong version of Vivado either on the remote server or user system.
    • Port blocked by Firewall in the network
    • hw_server not invoked properly


While handling the Zedboard in the lab the following precautions should be as follows.

  1. Read the Zync Zedboard hardware manual and learn how the jumpers work,
  2. Before running the hw_server in the server please check if anyone else is running the hw_server or ping a request in the class group.
  3. Make sure to shut down (using Ctrl + C) the hw_server after our work with the FPGA is complete.

Note: The zedboard or servers are not to be touched or modified. Only the jumper pins and the buttons found on the Zedboard.