Software
All bugs regarding the module_test_sw.
ImportError: Failed to load uHAL bindings.
Details: "libcactus_uhal_tests.so.2.8: cannot open shared object file: No such file or directory"
- Remember to do
source setup.sh
if you get this error to get the uhal software to talk to the KCU. This is for having uhal already installed!
The RB doesn't connect
-
Check fiber orientation, instructions
-
Check power of the RB. The LED on the power dongle has to be on.
-
Power cycle the RB.
-
The RB has a few indicator LEDs. Check if the relevant status LEDs are on to get an idea which part of the configuration is failing, if the error message does not give helpful information.
Potential error messages:
TimeoutError: I2C transaction failed after 50 retries because of an issue in writing the register address, status=132
Runtime Error: DAQ link does not have a stable connection after 50 retries
No data in the FIFO
- Check that the internal trigger generator rate, and reset it The FIFO might always be completely full, which can cause problems. Check the occupancy, and set the trigger rate back to 0 (default).
The error message may look like this (ran from this script, less stable code but for referance: python3 test_module.py --configuration modulev1 --moduleid 103 --test_chip --threshold auto
):
uhal UDP error in FIFO.is_full, trying again
Then, reset the FIFO. (You can get into interactive mode to easily get the tamalero objects, ex: ipython3 -i test_module.py -- --moduleid 110 --configuration modulev1 --test_data_stream
)
# RUN A SCRIPT IN INTERACTIVE MODE TO ACCESS THESE OBJECTS EASILY
fifo.get_occupancy()
fifo.set_trigger_rate(0)
fifo.reset()
-
Power-cycle the RB and module Have you tried turning it on and off again?
-
Reprogram the KCU Sometimes the KCU seems to get stuck. Try to power cycle and/or reprogram the KCU board with the latest Firmware.
# Download FW if you don't have it. Look at the Firmware tab to setup the get_firmware_zip function get_firmware_zip v3.2.3 cd etl_test_fw-v3.2.3 source program.sh # follow instructions, don't program the flash
-
Check the FC align status It is possible that links are locked, but the ETROC does not receive valid fast commands. One way to check the status of the received fast commands on the ETROC is to look at the status registers of the peripheral block:
If the invalid FC count increases over time, there's an issue with the FC module, which can be reset withetroc.print_perif_status()
etroc.reset_modules()
-
Reconfigure the ETROC: Especially when running a realistic module with multiple ETROCs a hard reset will reset all ETROCs on the same module. If not all the ETROCs get reconfigured afterwards issues will emerge. For the ETROC instance
etroc
in question runetroc.reset() etroc.default_config()
KCU and Firmware Setup
Bugs for setting up the KCU and the firmware.
ERROR: Vivado not found in path.
- This means you just have to set Vivado to your path (inside the directory withe firmware in it!): by doing
source /tools/Xilinx/Vivado_Lab/2021.1/settings64.sh
(RECOMMENDED TO PUT IN BASHRC)
ERROR: Hardware not found error
- First just double check all the usb plugs are in and the KCU is on
- If still the same error when doing
source program.sh
then you can try some things:- Install the drivers for the USB, head to this directory inside of your vivado installaion
${vivado_install_dir}/data/xicom/cable_drivers/lin64/install_script/install_drivers/
and in your terminal type./install_drivers
- Check permissions on the USB ports,
ls -l /dev/ttyUSB*
you can add yourself to the group if you are not there, for example if there is a group calleddialout
then dosudo usermod -aG dialout <user>
and you can finduser
by typingwhoami
into the terminal. Restart your computer to have all these go into effect
- Install the drivers for the USB, head to this directory inside of your vivado installaion
ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful.
- This is a known error, do not worry about it. If it was gotten from
program.sh
you chose the second prompt, you should put no on that one Full error:ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful. boot_hw_device: Time (s): cpu = 00:00:00.12 ; elapsed = 00:03:01 . Memory (MB): peak = 2745.438 ; gain = 0.000 ; free physical = 55791 ; free virtual = 61185 ERROR: [Common 17-39] 'boot_hw_device' failed due to earlier errors. while executing "boot_hw_device [lindex [get_hw_devices $device] 0]" ("foreach" body line 18) invoked from within "foreach target $targets { puts " > Programming $target" get_hw_targets open_hw_target $target set device [dict get $devices $target] ..." (file "program.tcl" line 131)