Home » Mu2e UEM microTCA Firmware Notes

Mu2e UEM microTCA Firmware Notes

(last updated December 20, 2023)


These are notes on migrating the AMC502 from the mu2euem computer (formerly mu2etest) to a new setup at Fermilab.

Computer Setup

Detailed notes on the original setup of both the computer and the microTCA crate can be found here.  The crate itself should remember its setup, so nothing should be required at this point.  The Linux setup is here, but should be updated to the latest version of Scientific Linux, which might change a few things.

It’s very important to initially install the 2016.2 version of Vivado, which can be found at the archive page here.  The web installer seems to have gone away, so you’ll have to download the whole installation package, which can take several hours to download.  Follow the rest of the instructions in the setup page to install cable drivers, etc.  This also includes links to the setup files to point to the Fermilab Vivado license server.  These may or may not still work.  Contact Ryan Rivera if they don’t.

Be sure to install and configure the additional software described at the page.

Vivado Firmware and Support Code

The Vivado firmware has been put in the GitHub repository prebys/Mu2e_UEM_firmware.  As of version 1.2, this repository also contains the code tree, with the C++ programs needed to communicate with the FPGA.

As of this writing, this should only be built with the 2016.2 version of Vivado.  There are three errors associated with simulation files, but they can be safely ignored.

Using the Firmware

Detailed instruction on the use of the firmware can be found in Mu2e-DOC-40514 (requires a Services account and Mu2e access).  Moving the firmware from the mu2euem computer has changed some of the specifics of the document.  In particular:

  • References to the directory “/disk2/data/tmnguyen/mu2e monitor firmware original/firmware New v2” should be replaced with the Mu2e_UEM_firmware repository.
  • The Vivado project name has been changed from “mu2e” to “Mu2e_UEM_firmware”, so all project directories and files have been renamed accordingly.

Migrating to a New System

These are some miscellaneous notes on migrating the system to a new computer, running Alma Linux, which has replaced Fermi Linux.

  • The USB to RS-232 adapter had a great deal of problems.  When plugged into the AC power, it burned out two computers.  When we tried to run it without the AC power, it no longer worked.  It was replaced with two individual USB to RS-232 cables, which were able to communicate with the FPGA in accordance with Minh’s notes.  Note that the /dev/USBtty01 and /dev/USBtty02 devices must have their permissions changed to allow non-root users to use them.
  • Rather than a PCIe ethernet card, we used a USB to ethernet adapter and configured it according to these notes.
  • There were a few problems due to the increases in ssh security since the version of Linux in the VadaTech crate.  The system must be set to allow legacy crypto with
    • sudo update-crypto-policies --set LEGACY
    • Then the algorithm and lower RSA size can be overridden at the command line with
      • sudo ssh -oPubkeyAcceptedAlgorithms=+ssh-rsa -RequiredRSASize=1024 root@
    • It can be permanently accommodated by copying this this file to /etc/ssh/ssh_config.d/