Project

General

Profile

FELIX at Nikhef readme

Programming a bitfile into a FELIX (FLX712) card.

The computers in the Nikhef Atlas playground can be accessed through the SSH gateway login.nikhef.nl, or by setting up a VPN with institute access, see https://wiki.nikhef.nl/ct/EduVPN

A list of computers and the cards in them can be found on the Atlas setup in H148 wiki page.

First you need a graphical session to any Linux computer in the Nikhef network where you launch Vivado. This can for instance be tarfa.nikhef.nl. For the graphical session you can use ssh -X tarfa.nikhef.nl, but the GUI response of Vivado will be slow. More convenient options to use are x2goclient (Recommended by Frans), VNC (Recommended by Jos) or FastX (Recommended by Nikhef CT).

Once logged in to tarfa, Vivado can be launched using the following commands:

source /eda/fpga/xilinx/Vivado/2020.1/settings64.sh
vivado

In Vivado clock on hardware_manager => Open Target => Open New Target.

Now choose "Connect to remote server" and select rother as the hardware server. Rother is a (NUC) computer that connects to all the USB/JTAG cables to program the FPGAs.

Choose the hardware target that matches the card / server you want to use, see Atlas setup in H148

Now you can select "Program device" and then select the .bit file that you want to flash into the FPGA, the debug probes file (.ltx) is optional and only available if the firmware was built with internal ILA/Chipscope to look into details of internal signals of the FPGA.

Finally the PCIe device must be recognized, for this to happen the computer holding the card must be rebooted:

sudo shutdown -r now

Phase2 (register-map 5.0) compatible FELIX software

SSH key

If you don't have an SSH key on the computer yet, create one using

ssh-keygen

Then copy the contents of the file ~/.ssh/id_rsa.pub into SSH keys under your gitlab account settings

Clone the felix and software repository

git clone ssh://git@gitlab.cern.ch:7999/atlas-tdaq-felix/felix
cd felix/
./clone_all.sh ssh
cd software/
./clone_all.sh ssh
cd elinkconfig/
git checkout rm-5.0
cd ../felix-config/
git checkout rm-5.0
cd ../felixcore/
git checkout rm-5.0
cd ../felix-star/
git checkout rm-5.0
cd ../felixtest/
git checkout rm-5.0
cd ../flxcard/
git checkout rm-5.0
cd ../ftools/
git checkout rm-5.0
cd ../regmap/
git checkout rm-5.0
cd ..
source cmake_tdaq/bin/setup.sh
cmake_config
cd x86_64-centos7-gcc8-opt/
make

Initializing the FLX712 card

cd felix/software/
source cmake_tdaq/bin/setup.sh
cd x86_64-centos7-gcc8-opt/
export PATH=$PATH:$(pwd)/flxcard:$(pwd)/ftools:$(pwd)/elinkconfig:$(pwd)/felig-tools:$(pwd)/felix-star
elinkconfig
flx-init
Add picture from clipboard (Maximum size: 97.7 MB)