Skip to content

Firmware

Tom Eichlersmith edited this page Dec 9, 2025 · 8 revisions

Firmware available on Google Drive hosted by Jeremy.

Status Check

On ZCU

You can make sure that the firmware compatible with the HGCROC is active by looking in /opt/ldmx-firmware/. For example

[eichl008@umn-zcu102-ldmx ~]$ ls -l /opt/ldmx-firmware/
total 8
lrwxrwxrwx 1 root root   30 May 29 17:01 active -> /opt/ldmx-firmware/hcal-zcu102
drwxr-xr-x 3 root root 4096 May 29 17:01 hcal-zcu102
drwxr-xr-x 3 root root 4096 Apr 11 16:37 lpgbt-zcu102

You can check the version of this firmware by inspecting the name of the installed RPM.

[eichl008@umn-zcu102-ldmx ~]$ rpm -qa '*hcal-zcu102*'
ldmxfw-hcal-zcu102-20250529_120007-10dbd92.noarch

On Bittware Host

cat /proc/datadev_N # N is index of Bittware you are talking to
cat /proc/datadev_0 # eg

Versions

Esa25EcalBittware

For the Bittware card with focus on HcalBackplane or Ecal Single Module Motherboard (SMM).

Esa25EcalBittware-0xFFFFFFFF-20251205113601-jmmans-a81c1dd0

Functional Fast Control and DAQ for single-link

Esa25EcalBittware-0xFFFFFFFF-20251115110324-jmmans-308059f0

Update for EcalSMM and prep for Fast Control and DAQ

Esa25EcalBittware-0xFFFFFFFF-20251117092124-jmmans-9f468f0b

Original, able to do basic Slow Control motions with an HcalBackplane

dualtarget-zcu102

This firmware is for the ZCU102 optically connected to an HcalBackplane or Ecal Single Module Motherboard (SMM).

dualtarget-zcu102-20251111_151444-fc2ec52

Another update to fix shifting the readout pointer now that the ECOND and HGCROC are aligned, we could observe non-empty data packets.

dualtarget-zcu102-20241104_193423-f99670b

Update to the dual target firmware to read empty data packets from the mounted ECOND.

dualtarget-zcu102-20250916_140921-26bbd6c

Original "dual target" firmware supporting access to the HGCROC via the Hcal backplane board and its lpGBTs.

hcal-zcu102

For the ZCU and focused on fiberless connections where the HGCROC Board is connected directly to the ZCU.

hcal-zcu102-20250529_120007-10dbd92

Patched an issue with the data alignment causing nibbles of data to be shuffled within a word.

You can actually observe the bug on prior versions of the firmware. After aligning the elinks, change the idle frame and then observe the elinks.

ELINKS
  AUTO
  EXIT
ROC
  POKE
    DIGITALHALF_0
    IDLEFRAME
    0x1234567
  EXIT
ELINKS
  SPY
    0

This last command would return 0xa5274163 instead of the expected 0xa1234567.

hcal-zcu102-20250520_140433-10dbd92

Patched an issue where the readout pointer was not always being advanced.

hcal-zcu102-20250304_120635-a71f935

Original

Clone this wiki locally