04-17-2018 11:29 AM
I'm following the tutorials from the Zynq Book, but I'm getting an error when trying to program the FPGA from the SDK. The error message says:
"Program FPGA failed
Could not find FPGA device on the board for connection 'Local'."
I'm using a Diligent ZedBoard and Vivado 2017.3 on Ubuntu 16.04.1 in a VMware Fusion VM on Mac.
I followed the same tutorial on a Windows 7 VM and it works properly, so I suspect it's a Linux related issue. Any suggestions?
04-17-2018 12:06 PM
Open the hardware manager and try to make a JTAG connection to the board. If this doesn't work, you probably have a driver issue in connecting to the card. Remember, on Linux boxes, installing the JTAG drivers is NOT automatic when vivado is installed, it's a separate manual step.
For Linux you need to follow the procedure outlined in the readme.txt
<Vivado installation dir>/data/xicom/cable_drivers/lin64/install_script/install_drivers/readme.txt
Although in 2017.4, I didn't find a readme file, just some shell scripts to be executed via sudo.. With Vivado 2017.4 it's just:
04-17-2018 01:35 PM
Hi jmcclusk, thank you for your help. Indeed I hadn't installed the Linux drivers before, but even after installing them I get the same error. From the Hardware Manager in Vivado, when I click on Open target, I get the following error:
[Labtoolstcl 44-494] There is no active target available for server at localhost.
Targets(s) ", jsn-Zed-210248A27269" may be locked by another hw_server.
Any other suggestions?
04-17-2018 01:54 PM
04-17-2018 03:56 PM
04-18-2018 04:52 AM
Are you trying to program the FPGA through Ubuntu virtual machine? I had same problem and couldn't resolve it. So, I had to install ubuntu as dual boot system.
04-18-2018 06:03 AM
Hi Mithun, yes, I have Ubuntu in a virtual machine. Uhm, what a bummer. At least it works under a Windows VM.
04-18-2018 06:39 AM
I've used a JTAG cable before with a Ubuntu virtual machine.. First of all, you need to make sure that there are no drivers for the JTAG cable in the Host OS. Remove them. Then make sure the virtual machine (I'm assuming you are using Virtual Box) has the USB extension package installed. Then after plugging in the JTAG cable, go to the Devices menu and connect the JTAG USB device to the virtual machine. Then the VM guest OS (Ubuntu) should see the cable.
Confirm this with "lsusb" on the Ubuntu command line.
04-18-2018 09:09 AM
jmcclusk, I'm not really sure what the JTAG cable should look like in Linux. Physically, I just connect a regular USB cable to connector J17 on the ZedBoard. I'm using VMware Fusion, not VirtualBox, anyway the USB device is connected to the guest OS.
The ZedBoard shows up as follows with "lsusb:"
Bus 001 Device 005: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
04-18-2018 09:35 AM
This is encouraging that your Guest OS can see the usb connection. My only suggestion now is to reboot the guest OS, connect the USB to it, and try it again.