Vivado 2016.1 and 2016.2 on Ubuntu 16.04 64Bits
Here I share notes for running Vivado 2016.1 and SDK 2016.1 on Ubuntu 16.04 on an x64 bit CPU.
First of all, you will have to set a bunch of environment variables, I use this file that I have created myself.
export LC_TIME=en_US.UTF-8 export LC_MONETARY=en_US.UTF-8 export LC_PAPER=en_US.UTF-8 export LC_NAME=en_US.UTF-8 export LC_ADDRESS=en_US.UTF-8 export LC_TELEPHONE=en_US.UTF-8 export LC_MEASUREMENT=en_US.UTF-8 export LC_IDENTIFICATION=en_US.UTF-8 export LC_NUMERIC=en_US.UTF-8 source /opt/Xilinx/Vivado/2016.1/settings64.sh export SWT_GTK3=0
The last line is new in comparison with previous versions of ubuntu and that is for SDK eclipse to be able to run.
Now you will need some i386 libraries so that you can compile your applications for the ZYNQ. That means to be able to run the ARM toolchain arm-none-eabi- …
the following set of commands should solve the problem:
sudo dpkg --add-architecture i386 sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libz-dev:i386
And then for the digilent cable drivers:
cd /opt/Xilinx/Vivado/2016.1/data/xicom/cable_drivers/lin64/install_script/install_drivers sudo ./install_drivers
And then reboot your PC.
I am sure there is more, but for now things are working fine at my side.
I tried what you suggested but my synthesis dies with this error message:
#
# An unexpected error has occurred (11)
#
Stack:
/lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7f6b8be534a0]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12960) [0x7f6b8b90a960]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_synth.so(HARTNDb::waitForLoadPart()+0x49) [0x7f6b5ee51249]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_synth.so(+0xaf880f) [0x7f6b5eecd80f]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_synth.so(+0xafc655) [0x7f6b5eed1655]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x76bbe) [0x7f6b87f80bbe]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x7e767) [0x7f6b87f88767]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x77) [0x7f6b87f3f327]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2a8307) [0x7f6b84248307]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x76bbe) [0x7f6b87f80bbe]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_ExprObj+0xfb) [0x7f6b87f8833b]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_ExprBooleanObj+0x16) [0x7f6b87f3e0c6]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x3eae8) [0x7f6b87f48ae8]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x34d6b) [0x7f6b87f3ed6b]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalEx+0x16) [0x7f6b87f3f276]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_FSEvalFileEx+0x1d2) [0x7f6b87fa3d02]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2c5a32) [0x7f6b84265a32]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5b7707) [0x7f6b8cec1707]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x76bbe) [0x7f6b87f80bbe]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x7e767) [0x7f6b87f88767]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x77) [0x7f6b87f3f327]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0xb740f) [0x7f6b87fc140f]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x76bbe) [0x7f6b87f80bbe]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x7e767) [0x7f6b87f88767]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x77) [0x7f6b87f3f327]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2a83a4) [0x7f6b842483a4]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x34d6b) [0x7f6b87f3ed6b]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0xad531) [0x7f6b87fb7531]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x3491c) [0x7f6b87f3e91c]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalEx+0x16) [0x7f6b87f3f276]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_FSEvalFileEx+0x1d2) [0x7f6b87fa3d02]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2c5a32) [0x7f6b84265a32]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5b7707) [0x7f6b8cec1707]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalObjv+0x32) [0x7f6b87f3d7e2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x322) [0x7f6b87f3f5d2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(hdi::tcltasks::task_manager::eval_in_tcl(Tcl_Interp*, Tcl_Obj*, char const*, bool)+0x7fd) [0x7f6b8cec30cd]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_designutils.so(HRTInvoker::inProcessLaunch(HDGUIStatus&)+0x1ef) [0x7f6b7984327f]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_designutils.so(HRTInvoker::launch(HDGUIStatus&)+0x4b5) [0x7f6b79843fd5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_vivadotasks.so(+0x38a234) [0x7f6b5c350234]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_vivadotasks.so(+0x391440) [0x7f6b5c357440]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5b7707) [0x7f6b8cec1707]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x34d6b) [0x7f6b87f3ed6b]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalEx+0x16) [0x7f6b87f3f276]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_FSEvalFileEx+0x1d2) [0x7f6b87fa3d02]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2c5a32) [0x7f6b84265a32]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5b7707) [0x7f6b8cec1707]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalObjv+0x32) [0x7f6b87f3d7e2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x322) [0x7f6b87f3f5d2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2e3979) [0x7f6b84283979]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commontasks.so(+0x2dc7c3) [0x7f6b8427c7c3]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5b7707) [0x7f6b8cec1707]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(+0x331f5) [0x7f6b87f3d1f5]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_EvalObjv+0x32) [0x7f6b87f3d7e2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(TclEvalObjEx+0x322) [0x7f6b87f3f5d2]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_commonmain.so(+0x6330) [0x7f6b8c705330]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/libtcl8.5.so(Tcl_Main+0x1d5) [0x7f6b87faa175]
/opt/Xilinx/Vivado/2016.2/lib/lnx64.o/librdi_common.so(+0x5f0409) [0x7f6b8cefa409]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76fa) [0x7f6b8b8ff6fa]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f6b8bf24b5d]
Does anyone has ideas?
Hi Mohammad,
Firstly, I want to thank you for having such a useful hobby ! This page has been the first help I got from you before looking at several of your videos on the zynq and AXI (without even knowing that the guy who wrote this page and the guy who made the videos was actually the same one ;)).
But I am facing one big problem which you have probably solved as you seems to be using the Xilinx tools on Ubuntu in your videos, as I doo (Kubuntu). My problem is that the USB-to-UART port refuses to work on my Kubuntu. When I plug the board to my computer, a ttyACM0 port is created. I’ve added myself to the dialout group and tried a bunch of terminals but none of them displayed anything with the hello_world example.
However, I know that the board works fine because when I look at the UART port with a windows computer, it works just fine. Thanks to this test, I also know that my terminals on Kubuntu are properly set (115200 bauds, 8 data bits, 1 stop bit if I remember well).
I have also tried to reinstall the cp210x driver unsuccessfully.
Have you ever experienced or heard about this issue ?
Regards,
Gabriel
Hi again,
Since I’ve posted my first message, I’ve found that the cp210x driver is likely responsible for this. As it is not announced as being compatible with 4.x.x kernel (3.x.x kernels only, without explicitly saying that it doesn’t work for 4.x.x kernels), the latest kernels are not fully compatible with it.
I’ve tried an older ubuntu (12.04 with a 3.something kernel) and it works out of the box, even on a live USB !
Then, I recommend to use an old version of linux to use the UART port… Not very satisfying, I agree.
Regards,
Gabriel
Hi
You need to add the following line to give access to the ports to other users than root
chmod 666 /dev/windrvr6
This last command only works during the current session. In case of reboot, you have to do it again (consider adding it to your sourced script or .bashrc)
More details at
https://forums.xilinx.com/t5/Installation-and-Licensing/Vivado-2015-2-Cable-driver-installation-problem/td-p/642140
chera sitetoon update nemishe,matlabe jadid nemizarin
Dard e Tanbali !
Hii Sir ,How are you!
Sir what is the neccessity of using SDK?
Sir why we have to create hdl wrapper and what is it actually?
these questions are really covered in the videos. please watch them.
but quickly, you first create a design in vivado, this is your hardware, it contains your ip blocks with their configuration parameters. the bitstream will be generated out of this design. Now, this hardware characteristics should be passed to software. this is done through a .hdf file. the sdk reads the .hdf and finds out what ip blocks are used in the system and what are the configurations for those ip blocks. it then produces suitable initialization and configuration software for the ip blocks.