Ettus USRP x310 installation on Ubuntu
Vivado 2017.4 Version (Aug 2018)
-
Install Xilinx Vivado 2017.4 from https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2017-4.html
-
sudo apt install python-pip
-
Configure licence by putting the below in ~/.bashrc
export [email protected]:/opt/Xilinx/13.4/license/Xilinx.lic
source ~/.bashrc
-
Install UHD and GNU Radio by following instructions at https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux.
-
Install RFNoC files https://kb.ettus.com/Getting_Started_with_RFNoC_Development
Vivado 2015.4 Version (Jun 2017)
Host computer requirements for installing the Ettus USRP x310 along with keras are:
-
The host machine must be 64-bit compatible (you can check under linux by typing
grep /proc/cpuinfo
which should have the “lm” flag present). -
You also need about 50GB of free disk space for the Xilinx tools.
The steps are:
-
(USRP hardware) Insert RF daughtercard and run cables from daughtercard to front panel
-
(Python) Install some basic development packages (https://files.ettus.com/manual/page_build_guide.html#build_dependencies)
sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
sudo apt-get install python-pip
pip install --upgrade pip
- (Tensorflow and Keras)Install according to http://www.pyimagesearch.com/2016/11/14/installing-keras-with-tensorflow-backend/
sudo pip install virtualenv
sudo pip install virtualenvwrapper
export WORKON_HOME=~/Envs # needed later for virtualenvwrapper
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv keras_tf
workon keras_tf
pip install tensorflow
pip install keras
pip install requests
- (Xilinx) Download Xilinx software (must be version 2015.4) and install using sudo. While you are there also get the free licence for
ten_gig_eth_pcs_pma
. Put the following line in /etc/udev/rules.d/70-persistent-net.rules and reboot (this is needed to change the ethernet device from en0 to eth0 which is needed for the Xilinx license system
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
then add the following line to ~/.bashrc
export [email protected]:/opt/Xilinx/13.4/license/Xilinx.lic
source ~/rfnoc/setup_env.sh
and reboot. This should change it in
ifconfig
source ~/.bashrc
# source /opt/Xilinx/Vivado/2015.4/settings64.sh
# export WORKON_HOME=~/Envs # needed later for virtualenvwrapper
# source /usr/local/bin/virtualenvwrapper.sh
- (Network connection to x310) Install ethernet SFP and make sure you use a 1G ethernet crossover cable (supplied with the system) to connect to a PC. The Apple USB ethernet adaptor doesn’t appear to work with the USRP x310! Configure your machine with an ethernet port which has a static ip address of 192.168.10.1. Turn on the Ettus x310.
ping 192.168.10.2
should work.
- (PyBombs) Install pybombs and gnuradio (https://github.com/gnuradio/pybombs)
sudo apt-get install git
sudo apt-get install python-setuptools python-dev python-pip build-essential
sudo pip install git+https://github.com/gnuradio/pybombs.git
pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add ettus git+https://github.com/EttusResearch/ettus-pybombs.git
pybombs prefix init ~/rfnoc -R rfnoc -a rfnoc
source ~/rfnoc/setup_env.sh
- (RFNoC tutorial) You should now be able to run the tutorial at https://kb.ettus.com/Getting_Started_with_RFNoC_Development.
*
* I changed rfnoc/src/uhd-fpga/usrp3/top/x300/setupenv.sh to reflect the version of Vivado being used.
cd ~/rfnoc
source setup_env.sh
cd ~/rfnoc/src/uhd-fpga/usrp3/top/x300
source setupenv.sh
make cleanall
make X310_HG # progress and output files in ~/rfnoc/src/uhd-fpga/usrp3/top/x300/build-X310_HG
- Install and excecute https://github.com/Xilinx/RFNoC-HLS-NeuralNet
* To generate a bitstream:
source ~/rfnoc/setup_env.sh
cd ~/rfnoc/src/uhd-fpga/usrp3/tools/script
./uhd_image_builder.py window fft exmodrec -d x310 -t X310_RFNOC_HLS_HG -m 5 -I /home/vivado/rfnoc/src/rfnoc-hls-neuralnet/ --fill-with-fifos -c
* Note that device is xc7k410tffg900-2