Introduction
Currently at SLAC there are multiple FELIX readouts possible. The other twiki, shows the Direct-FELIX readout.
This one is dedicated to LpGBT based FELIX readout using Felix712 Board. With the instruction on this page you can readout out the following LpGBT boards:
VLDB+ Board | |
OptoBoard (Currently Not Available At SLAC and will be skipped in this confulance page) | |
RCE Aggregator Readout (LpGBT Emulator) |
This documentation will be split into two sections of Felix712 setup, and LpGBT board specific setup.
FELIX Software Configuration and Setup
In order to use/setup FELIX, the following instructions needs to be executed at each individual FELIX PC. (PC that holds a FELIX712 board). Currently at SLAC there is only one FELIX PC, but this number might change in the future.
The FELIX PC setup is comprimised of following steps steps: Installing Felix Drivers, Installing FELIX software, Installing FELIX firmware, Configuring the FELIX software, Installing YARR.
Installing FELIX Drivers:
Drivers can be found here: https://atlas-project-felix.web.cern.ch/atlas-project-felix/user/dist/software/driver/
We are currently using the following driver: tdaq_sw_for_Flx-4.7.0-2dkms.noarch.rpm
You can install the driver following the instruction here: https://atlas-project-felix.web.cern.ch/atlas-project-felix/user/felix-user-manual/versions/4.0.6/5_software_installation.html#_5_2_1_driver_rpm_installation_instructions
We don't need to update the FELIX driver regularly, and I don't recommend doing it unless there is a need due to FW changes.
Installing FELIX Software:
There are two ways of installing FELIX software, the easy and the hard way. The easy way is the recommended way, but currently we need to do the hardway setup as well due to some patch needed on felixcore (Feb 2022), whcih hopefully would be merged into master branch soon.
The currently installed felix sofware in itkpix@felix account is at: /home/itkpix/felix-sw/felix-05-00-xx-stand-alone
Easy Way (Pre-Compiled Packages):
Download the pre-complied FELIX library for centos7 from the website: https://atlas-project-felix.web.cern.ch/atlas-project-felix/user/dist/software/latest/
You should download a reg 5.0 version which looks like: felix-05-00-xx-stand-alone-x86_64-centos7-gcc8-opt.tar.gz
Un-tar the download file, and you should be able to use FELIX out of the box.
Hard Way (Compiled By Your Self) (Required to have the FLX-1613 patch applied):
Download the Felix software following the instructions at the git site. https://gitlab.cern.ch/atlas-tdaq-felix/software/blob/master/README.md
The instructions as of Feb 2022 Goes as:
git clone ssh://git@gitlab.cern.ch:7999/atlas-tdaq-felix/software.git <Directory Name for FELIX> cd <DIRNAMEFELIX> ./clone_all.sh export REGMAP_VERSION=0x0500 ###Most important step , you might want to add this information inside the source setup.sh to prevent calling it everytime source setup.sh cmake_config x86_64-centos7-gcc8-opt cd x86_64-centos7-gcc8-opt make -j4
To Apply the FLX-1613 Patch that is required for running perfect scans with the latest firmware follow these steps: (These steps are required for nicer scans but is not mendetory for making scans)
cd <DIRNAMEFELIX>/felixcore git checkout FLX-1613 cd <DIRNAMEFELIX>/x86_64-centos7-gcc8-opt make
Installing FELIX Firmware:
To install felix-fw you need to download the latest felix-fw: The current felix-fw's can be found:
- Get the latest firmwares from the Jira Ticket : https://its.cern.ch/jira/browse/FLXUSERS-433
- Directly getting from gitlab artifacts https://gitlab.cern.ch/atlas-tdaq-felix/firmware/
For this project we use FELIX Pixel firmware. There are 4CH and 24CH firmwares. 4CH Firmware has 1 Command and 4 Data Fibers available. On felix pc in building 84. The firmwares can be found under /home/itkpix/felix-fw/ directory
The 24CH firmware should have 4 Command 24 Data Fibers available. (Not confirmed)
There are two ways to install the downloaded felix-fw:
Easy Way (Recommended)
cd <DIRNAMEFELIX>/ source setup cd <felixfwdirectory> ## you can use /home/itkpix/felix-fw/FLX712_PIXEL_4CH_CLKSELECT_GIT_phase2-master_rm-5.0_2030_211118_20_23 fflashprog -f 2 ${FELIXFWDIR}/${FELIXFW}.mcs prog ###This sshould be enough, but depending on the hardware the next one could be needed so I recommend doing both fflashprog -f 3 ${FELIXFWDIR}/${FELIXFW}.mcs prog sudo reboot now
Important note, in the felix PC in Bldg84, rebooting the felix-pc is not enough. To install the new FW, the felix-pc requires a complete power cycle and to do that, you need to shutdown the pc. pull the power cables out of the pc wait few seconds, re-plug them in and reboot. This wasn't needed on other setups we had, and probably due to how the FELIX board is powered in the SLAC setup.
Hard Way (Using Vivado)
Run Vivado, and follow the diagrams shown below
Important note, in the felix PC in Bldg84, rebooting the felix-pc is not enough. To install the new FW, the felix-pc requires a complete power cycle and to do that, you need to shutdown the pc. pull the power cables out of the pc wait few seconds, re-plug them in and reboot. This wasn't needed on other setups we had, and probably due to how the FELIX board is powered in the SLAC setup.
Configuring FELIX Hardware/Software:
After each PC restart, the FELIX hardware needs to be primed and configured. These setups shouldn't be repeated This is an easy process but requires some external scripts.
The scripts can be downloaded from here (Only Scripts directory is needed): https://cernbox.cern.ch/index.php/s/jUKu6ayuPVqD5qB
At felix-pc in Bldg84, the scripts can be found at: /home/itkpix/felix-sw/MarcoScripts/
cd <DIRNAMEFELIX>/ source setup.sh flx-init -c X cd <MarcoScriptsDir> # cd /home/itkpix/felix-sw/MarcoScripts/ . ./config_encoding_decoding.sh 0 . ./config_encoding_decoding.sh 1