Engineering Projects

Table of Contents

This page is an incomplete list of projects that I worked on.

FPGA Firmware

ETL Readout Firmware
ATLAS L0MDT Firmware
GEX1 Optohybrid Firmware
ME0 Segment Finding Firmware
OTMB Firmware
ALCT Test Firmware
TOF Master Trigger Firmware
TOF Readout Firmware
CSC Comparator Test Firmware

Schematic + PCB

CSC Comparator Test Board
TOF Readout Board
CSC ALCT Boards
ME0 ASIAGO
ETL Readout Board
ETL Module PCB
SCT Control Boards

Software

SCT Control Software
ETL Test Software
ME0 Scripts
TMB Queue Model
CSC Comparator Testing
pGAPS Readout Software

PsiQuantum

I work in the system architecture group at PsiQuantum, co-designing the synchronous control logic for a utility scale quantum computer.

CMS CSC

(2012–2023)

LX100 + ALCT LX150T

Sole engineer responsible for all aspects of the design, production, and testing of two Spartan-6 FPGA designs, used for anode local track processing in the muon endcap.

One design utilizes the CERN VTRX module and CERN GBTX ASIC. The GBTX is used for both data transmission on a 5.12 Gbps optical link, as well as for a novel system for providing a radiation-hard alternative to an EEPROM (which have shown significant issues due to charge pump degradation in the radiation environment of ME1/1). The second design uses the CERN VTTX module to provide twin 3.2 Gbps optical links, along with a larger FPGA than the LX100 card, specifically designed for the high channel-count inner stations of the CMS Muon Endcap.

alct-mezzanines-small.jpg

Figure 1: ALCT Spartan-6 Mezzanines

CMS ALCT Test Utilities

Wrote a command-line Python suite for testing UCLA-produced ALCT hardware. This was designed as a more future-proof upgrade to the existing test suite, based on a 20 year-old software suite with missing source code.

CMS ALCT Single Cable Test Firmware

Wrote firmware for a special hardware functionality testing system as part of board production testing.

CMS LCT Comparator ASIC Fabrication and Testing

I was solely responsible for the fabrication, packaging, and testing of 3200 ASICs which were originally designed by UCLA in 2002. I recovered the design files for the ASIC and contacted vendors to oversee the complete wafer production, dicing, thinning, packaging, as well as re-engineering from scratch all testing hardware, firmware, software, and analysis code.

I also performed characterization of the chip under radiation, using the TAMU reactor as well as the UC Davis Cyclotron.

lct-comp-small.jpg

Figure 2: LCT Comparator

The test board for production testing of the ASICs uses a Spartan-6 FPGA along with a microcontroller and a custom-designed analog pulse shaping network to provide programmable analog inputs and check the digital response of each one of the 3200 ASICs. Along with the PCB design, I also handled all microcontroller software (C++), analysis software (C++/ROOT), and firmware (Verilog).

comp-test-small.jpg

Figure 3: LCT Comparator test board, featuring an Atmel SAMD21 microprocessor along with a Spartan-6 FPGA which controls a programamble analog pulse injection circuit.

I wrote the logic for our ASIC production testing board, implemented in a Spartan-6 FPGA. Used for the successful production testing of 3200 ASICs.

CMS CSC OTMB Firmware

Contributed to the CSC OTMB firmware to incorporate additional trigger data coming from the newly installed GEM chambers into the formation of CSC trigger primitives.

I also designed and implemented a new FPGA algorithm for the CSC trigger primitive generation, which is currently being commissioned and seems to achieve a factor of 2 improvement in bend-angle resolution along with a factor of 4 improvement in position measurement by applying a lookup-table based fit to the hits with zero added latency. I also supervised two students who developed a C++ version of the algorithm which was used for validation of the firmware through a Verilog test bench as well as for performance studies.

CMS RAT Board Fabrication

I managed the fabrication, assembly, testing, and repair of 56 RPC-ALCT-Transition (RAT) boards for the CSC ME4/2 upgrade, which was a preexisting design of which additional circuit boards were needed.

CMS CSC Electronics Repair

I repaired many dozens of boards for CMS (CFEB, ALCT, TMB, RAT, ALCT Mezzanine, TMB Mezzanine) for maintenance and operation of CSC electronics.

undergraduates-andrew-shawn-at-UCLA-small.jpg

Figure 4: Electronics workstation for testing and repair of CSC electronics boards.

CMS Emu Online Software

Contributed bug fixes and new features to the CMS EMU online software (C++), mostly relating to the operation of the CSC trigger motherboard and ALCT boards.

CMS TMB Queue Model

Developed a Monte Carlo based model of the CSC TMB readout electronics to understand and predict the effects of increasing luminosity and pileup on the DAQ requirements of the TMB. The model was compared to analytic methods based on standard queue modeling and coincided well.

tmb-queue.png

CSC Chamber Construction and Testing

Worked on the construction and testing of 72 Cathode Strip Chambers for installation in the CMS ME4/2 system. I was responsible for the final quality control of the electronics, doing the final testing and sign off on the assembled chambers.

undergrad-andrew-and-ucRiverside-gradstudent-Jesse-at-CERN-small.jpg

Figure 5: CSC factory at Prevessin, France.

I was also involved in the factory QA for the production of the bare copper panels for CSC production.

faculty-and-undergrad-in-Los-Angeles-Factory-small.jpg

Figure 6: Andrew and Professor Saltzberg at the Gill Corporation in El Monte, CA.

CMS GEM

(2013–2023)

I contributed extensively to the system design of GE11 and GE21. I worked for many years on the overall electronics system design, including the review, debugging, and validation of all generations of the electronics designs, firmware, and software. I also investigated and solved numerous issues in the design and commissioning of the detector.

I was also responsible for a wide range of tasks in the ME0 detector of CMS, a new detector in the CMS Muon Endcap. ME0 is designed to increase the coverage of the muon endcap, using a stack of 6 triple GEM detectors. I worked on ME0 from its conception and played a key role in the design of the detector electronics, as well as leading the design and implementation of the ME0 trigger algorithm.

I trained numerous students as well as junior engineers working on this project.

I made extensive contributions to the overall ME0 system design. I significantly re-reworked the electronics design to eliminate all commercial components, did a great amount of work in understanding the fiber plant requirements, backend partitioning, reviewing electronics designs and suggesting improvements, etc.

gem-electronics.jpg

I was awarded the 2018 CMS Detector Award for my “outstanding, sustained contributions to design and costing of new electronics, including complex optical link planning, for the CSC and GEM muon systems”.

GEX1 Firmware

I designed, simulated, implemented, and tested firmware targeting Artix-7 and Virtex-6 FPGAs which takes in ~112 Gbps of data on differential links and uses a custom design zero suppression scheme to perform lossy 14:1 data concentration in an algorithmic latency budget of only 100 ns. The output data is concentrated onto an optical fiber at 4.0 Gbps. The firmware suite was largely triplicated using TMR to make it more robust to radiation.

Additionally, I worked on the firmware for the backend readout of the GEM detectors. As part of this effort, we created a central repository that merged the source code of the front-end and back-end FPGAs, allowing us to reduce code duplication and maintain synchronization between firmware versions:

ge21-geb.png

Figure 7: GE21 Electronics Board; I write the data concentration firmware that collects and concentrates data from 12 front-end ASICs.

ME0 Segment Finder

I designed and tested the the ME0 “segment finder”, which is a custom firmware block that does multi-layer pattern recognition and sorting to identify patterns of hits corresponding to charged particles passing through the detector. This design targeting a Xilinx VU13P FPGA and is now in the early stages of verification in chip.

In the late stages of the algorithm design I began working with a physicist in performance studies of the algorithm. Despite its “naive” design implemented by a solo engineer it achieved over 99% efficiency and met physics requirements.

┌─────────────────────────────────────┐
│-------------xx+x--------------------│
│--------------xx+x-------------------│
│----------------x+x------------------│
│----------------xx+------------------│
│------------------x+xxx--------------│
│-------------------x+xxx-------------│
└─────────────────────────────────────┘
-18     <--       0       -->       18

ME0 ASIAGO

I designed two generations of an lpGBT-based on-chamber DAQ + trigger concentrator for ME0. I also worked on the firmware and low-level software for integrating the board into the ME0 detector:

asiago-both-sides-small.jpg

Figure 8: ME0 ASIAGO front and back views. I was responsible for aspects of the board design, layout, and prototype testing.

ME0 CACIO

I designed two versions of a VL+ to Firefly (“CACIO”) adapter board to allow the use of commercial Samtec Firefly modules in place of CERN VL+. This module was produced for CMS ME0, but an alternative variant was also designed for use by the CERN VLDB+ team:

image2-small.jpg

Figure 9: CACIO (Custom Alternative to CERN Integrated Optics) adapter for 10Gbps optics.

ME0 PIZZA

I supervised a postdoc with no prior electronics design background to design and fabricate an adapter board to connect ME0 readout electronics to a GE2/1 chamber.

image3-small.jpg

Figure 10: PIZZA (Prototype Interface meZZanine Adapter) board

ME0 Scripts

ME0 Configuration Scripts: I Ported the GBTX python scripts to a cross-platform backend supporting Linux / Windows / OSX (to replace the windows only software provided by CERN) and developed several scripts for configuring and controlling LPGBTs

ME0 Testing

Helped supervise junior engineers and students to develop a custom test board utilizating 3x Spartan-7 FPGAs to due long-term bit-error rate testing for the production of the ME0 ASIAGO boards.

test-stand-2-small.jpg

Figure 11: Production test stand for ME0 electronics, using custom designed test socket. The test stand is replicated for long-term burn-in testing.

CMS ETL

(2020–2023)

ETL Readout Board

I co-designed the CMS Endcap Timing Layer readout board, featuring a variety of CERN ASICS (LPGBT, SCA, LinPOL12, and VTRX+). The board is required to fit in a tight space, so extensive work was done to optimize the use of the space to ensure that the system would be feasible. This optimization ended up completely re-thinking the electronics layout and significantly changing the overall design.

readout-board-top-small.jpg

Figure 12: ETL Readout Board

ETL Readout Firmware

I wrote the firmware and the software for a KCU105-based control and readout system for the readout board, which will be used for both readout board and module testing.

etl-test-stand.jpg

ETL Module PCB

I co-designed the front-end readout hybrid, which will host a wirebonded 256 pixel Low Gain Avalanche Diode array with a readout TDC achieving 40 ps time resolution.

module-pcb.jpg

Module Test Software

I am co-developing the control software (Python) for the ETL readout / module testing system. I wrote an initial version of the software that was used for board testing and firmware development; the software has largely been taken over by a postdoc but I am still involved in most of its developments.

ETL System Design

I worked extensively in the Endcap Timing Layer on the overall system design, integration of services, mechanics, board-to-board interfaces, etc to bring the design from a conceptual goal to a realistic implementation.

ATLAS L0MDT

(2020–2023)

I developed much of the firmware for the L0MDT system, including the entire control and monitoring infrastructure, all of the hardware interfaces, as well as managing the integration of the large number of sub-modules contributed by a number of engineers. I provided extensive feedback to other developers on optimizations and best practices and was able to reduce the resource usage of the core segment finding algorithm by 40%.

l0mdt.jpg

I played a key role in the development and coordination of the system design, including managing communications with other systems (FELIX, CSM, Sector Logic) to ensure compatibility of all protocols.

I extensively guided and reviewed the design of the on-chamber data concentrator card (CSM), performing many reviews of schematics and the printed-circuit design to identify and correct many design issues and bugs across multiple revisions of the board.

I also served as a reviewer on other associated projects, including the Sector Logic firmware and the FELIX Phase-2 system, as well as extensive review and collaboration on the Chamber Service Mezzanine.

I played a significant role in developing the L0MDT Command Module, including specifications development and documentation, design review, and testing.

GAPS TOF

(2018–2023)

As a weekend project, I was a consulting designer working on the readout electronics system for the time of flight (TOF) system of a multi-million dollar scientific instrument (GAPS) which is set to be the largest ever balloon-borne scientific payload, which is scheduled for a month-long flight in the upper atmosphere over Antarctica in search of dark matter.

gaps-payload.jpg

TOF master trigger

I participated in the design of the GAPS master trigger system, a Kintex-7 based FPGA system responsible for receiving 400 channels of detector data and making low-latency trigger decisions to identify decay signatures. I worked with the project manager and another engineer to define the system specifications and did detailed schematic and layout reviews. I worked on board testing and debug, and wrote all firmware for the FPGA (VHDL). The firmware is responsible for deserializing data from 100 asynchronous serial lines, performing low-latency trigger logic to identify characteristic decay signatures, and serializing trigger information to the readout boards. The firmware also has a GbE UDP interface for control and readout of the trigger information, SPI interfaces for monitoring. I also created control software for the master trigger in Python.

MTBv1-small.jpg

Figure 13: GAPS Master Trigger, showing one equipped slot along with the Kintex-7 controller board.

TOF readout board design + firmware

I was involved in the experiment since it was in the prototype stage, and played a major role in guiding the design of the readout and trigger system for the TOF. I trained and supervised a series of junior engineers as well as a postdoc in the conceptual design, schematic capture, and layout of the “Readout Board”, a PCB hosting a 5 Gsps 8 channel waveform digitizer ASIC along with a Zynq SOC that is used for control and data acquisition. I participated heavily in all steps of the design, debug, and software development by advising the junior engineers who were doing much of the day-to-day work. Additionally, I was solely responsible for writing all the readout firmware (Verilog/VHDL) running on the FPGA that is responsible for reading and controlling the waveform digitizer, receiving serialized triggers, packetizing and buffering data and transferring it into the processing system through DMA.

RB-small.jpg

Figure 14: GAPS Readout Board

pGAPS Software

I wrote a command-line implementation of the DAQ software for the DRS ASIC evaluation board. I also wrote analysis code (using ROOT) and performed extensive characterization to understand the timing resolution achievable with our PMTs when reading out with the DRS ASIC.

CTA SCT Telescope

(2014–2016)

sct-telescope-small.jpg

Figure 15: CTA Prototype Schwarzschild-Couder Telescope at Whipple Observatory in Arizona

PSD Readout Board

  • Designed a board for precision amplification and digitization of analog signals coming from a commercial position-sensitive device module, which is currently used in the alignment system of the CTA-SCT prototype telescope in Arizona.
    • The board had tight mechanical requirements to fit in the available envelope and had to be realized as 4 printed circuit boards interconnected into a three-dimensional array

sct-electronics-assy-small.jpg

Figure 16: SCT PSD Readout Board, featuring an Atmel 32 bit MCU which digitizes analog signals from a Position Sensitive Device (PSD), applies a calibration, and converts the readings into position measurements which are sent out on a UART.

  • PSD Readout Software (microcontroller): Wrote microcontroller software for digitizing and reading out measurements from a position sensitive detector (PSD) which was used in the alignment system of the telescope.

PEDB Power Distribution Board

  • Designed boards for distribution and monitoring of high current, low-voltage for the panel-to-panel alignment system of the CTA-SCT
  • Designed a board for interfacing with a microcontroller to connect ADCs to the PEDB power supply board current sensors

CTA Mirror Control Software

  • Wrote a suite of software in C++ for low-level hardware control of the CTA SCT mirror control board. For speed, the software was required to interface directly with the registers of the embedded CPU, bypassing all Linux drivers.

PEDB Firmware

PiUSB Software

Reverse-engineered a closed-source Windows driver and ported all functionality for controlling hardware modules to Linux.

Dimetix Software

Dimetix Laser Sensor: Created a software tool for controlling and reading back a precision laser rangefinder. The vendor provided a Windows tool but a Linux utility was needed for use on the CTA SCT telescope.

Other Projects

CMS OCEAN

(2017–2019)

I assisted a (then) junior engineer to build several smaller prototypes along with a complex electronics design (OCEAN, shown below) which features a large Xilinx ZU19EG FPGA, high current power supplies, SATA, USB, DDR4, Gigabit Ethernet, display port, and 72 optical links operating at 25 Gbps, while confirming to the ATCA specification.

ocean-small.jpg

UCLA Plasma Lab (C. Niemann)

(2014–2016)

Developed many small projects for the Niemann plasma lab at UCLA. Some examples that I can recall are:

  • TTL Line Driver: designed a small interface board for connecting an FPGA to a legacy plasma control system requiring 15V logic

    line-driver-small.jpg

  • Modulator Driver: developed a module (analog summer) that provides a programmable DC offset to an analog input signal, needed for biasing a driving circuit of a laser

    niemann-small.jpg

  • POF receiver: designed a small board that digitizes signals photodiode (receiving trigger data over POF) and produces a low jitter output capable of driving 5V 50 ohm loads

    pof-converter-small.jpg

  • POF driver: designed a small board that takes TTL inputs on BNC and drives a plastic optical fiber
  • Repair: repaired and maintained many legacy instruments which were commercially produced but no longer supported

UCLA Biophysics (M. Mehta)

(2015)

Developed a custom PCB and housing for an optical sensor (extracted from high-performance gaming mice) as part of a custom-made motion-sensing application for Neurophysics research

Younger Lab Solenoid

(2023)

Developed a prototype solenoid driver with a PWM-based spike and hold driving circuit.

driver-v0.png

Electroporator

(2014–2016)

Designed and built a PCB and enclosure for a small digitally controlled high-voltage pulser used as a low-cost replacement for expensive bio-medical electroporation devices

Also wrote a simple microcontroller code that provides “electroporator” functionality, which involves using a foot-pedal to deliver high voltage pulses of programmable voltage, duration, and quantity for use in biomedical research.

electroporator-small.jpg

“Apollo” ATCA Project

(2020–2023)

For a small fraction of my time, I worked on the “Apollo project”, a common ATCA platform used in the CMS Track Trigger, CMS Tracker readout, and the ATLAS L0MDT.

I did in-depth schematic and layout reviews for the Apollo ATCA Service and Command Modules, and also ported the OpenIPMC firmware for the Apollo ATCA platform. The IPMC firmware is responsible for all critical low-level control and monitoring of the Apollo ATCA blades.

apollo-small.jpg

Figure 17: Apollo ATCA blade, for which I did design reviews and wrote microcontroller software.

UCLA Particle Beam Physics

(2014–2016)

  • Developed a pair of small boards to perform digitization of analog signals for remote monitoring of an electron accelerator
  • Developed a small board using a monostable multivibrator and some discrete logic components to create a pot-programmable “hold-off” to prevent retriggering of a device for use in a particle beam experiment
  • Developed an amplifier for driving analog signals over long (~100m) coaxial cables.
  • Reverse-engineered and re-created several hand-built legacy circuit boards and replaced them with printed circuit boards
  • Repaired several legacy instruments that were commercially produced but no longer supported by the vendor

UCLA Condensed Matter (K. Holczer)

I designed an RF PID controller based on a design taken from a paper as part of a condensed matter experiment

holczer-small.jpg

UCLA Physical Chemistry (L. Bouchard)

  • Created a high-voltage, low-current piezo driver that uses a low-voltage DC reference to produce an analog control signal for piezo steppers
  • Created a board for interfacing with an Arduino to allow for high-current control of valve actuators, as part of an effort to increase lab automation
  • Created a power distribution and monitoring board

UCLA Teaching Lab

Built a small BJT-based amplifier used by students in a lower-division teaching lab. I also repaired numerous instruments used in the UCLA teaching lab

High Voltage Controller (UCLA AMO Lab)

  • Designed a microcontroller based board that controlled precision ADCs and DACs and implemented a software control that was part of a PID feedback loop for a custom-designed high voltage power supply. The microcontroller also connected to a LCD touchscreen which was used to control the power supply
  • Wrote a microcontroller-based program which runs a GUI touchscreen that controls a custom built high voltage power supply.

    hv-controller-small.jpg

  • Did the box assembly for several multichannel HV systems.

    hv-box-small.jpg

UCLA Astroparticle Physics (David Saltzberg)

(2012)

While an undergraduate I designed, built, and programmed a system that used an FPGA evaluation board to drive motor-drivers that toggle a network of RF switches as part of the ANITA ground pulsing calibration system

anita-pulser-small.jpg

uHAL AXI Regmap

Worked on a system for mapping XML register tables into a hierarchical VHDL record which is automatically mapped into an AXI slave

Regtools

Worked on a system for mapping XML register tables into automatically generated Wishbone decoders that are mapped onto VHDL registers.

HOG (2020–present)

I made significant contributions to the HOG (HDL on Git) firmware build system. It is a cross-platform, open source firmware build system currently used throughout the LHC and in other experiments.

I also created an Emacs package for working with Hog managed projects, which provides various facilities including generation of LSP configurations, highlighting of Hog src files, commands to open/compile Hog projects.

EMPHATIC (2021)

I worked on the development of the prototype TDC/readout system for the EMPHATIC ARICH detector. Developed the readout firmware and overall firmware infrastructure

Publications

  • Novel Developments on the OpenIPMC Project. JINST 2024. https://arxiv.org//abs/2310.19742
  • The Apollo ATCA design for the CMS track finder and the pixel readout at the HL-LHC. JINST 130P 1021 https://doi.org/10.48550/arXiv.2112.01556
  • Time resolution of the CMS MIP Timing Detector Barrel sensor prototypes measured with test beam. arXiv. 2104.07786. 2021 https://doi.org/10.48550/arXiv.2104.07786
  • A flexible and low-cost open-source IPMC mezzanine for ATCA boards based on OpenIPMC. JINST https://doi.org/10.48550/arXiv.2112.12888
  • Time resolution of the CMS MIP Timing Detector Barrel sensor prototypes measured with test beam. arXiv. 2104.07786. 2021 https://doi.org/10.48550/arXiv.2104.07786
  • Modeling the detector response to background particles for a triple-GEM and comparison with experimental data in the context of the GE1/1 project. JINST https://doi.org/10.48550/arXiv.2107.03621
  • Benchmarking LHC background particle simulation with the CMS triple-GEM detector https://doi.org/10.1088/1748-0221/16/12/P12026
  • Alignment Strategies and Performance of CMS silicon tracker during LHC Run 2. https://doi.org/10.48550/arXiv.2111.08757 https://doi.org/10.1016/j.nima.2022.166795
  • Hog (HDL on git): a collaborative management tool to handle git-based HDL repository. JINST 16 T04006. April 2021 https://doi.org/10.1088/1748-0221/16/04/T04006
  • Test beam characterization of sensor prototypes for the CMS Barrel MIP Timing Detector. arXiv. 2104.07786. 2021 https://doi.org/10.48550/arXiv.2104.07786
  • Modeling the Triple-GEM detector response to background particles for the CMS Experiment. JINST 15 P10013. 2020 https://doi.org/10.48550/arXiv.2107.03621
  • ATLAS TDAQ Phase-II Upgrade: Level 0 Muon MDT Trigger Processor Hardware Specification and Design. ATL-COM-DAQ-2020-108. October 2020
  • ATLAS TDAQ Phase-II Upgrade: Level 0 Muon MDT Trigger Processor Firmware Specification and Design. ATL-COM-DAQ-2020-107. October 2020
  • Status of the Readout Electronics for the Triple-GEM Detectors of the CMS GE1/1 System and Performance of the Slice Test in the 2017-18 LHC Run.
  • Triple-GEM discharge probability studies at CHARM:simulations and experimental results. Journal of Instrumentation, Volume 15, Number 1. October 2020
  • Interstrip Capacitances of the Readout Board used in Large Triple-GEM Detectors for the CMS Muon Upgrade. CMS Muon Group Collaboration, arXiv:2009.09505. September 2020
  • Detector Control System for the GE1/1 slice test. Journal of Instrumentation, Volume 15, Number 05. May 2020
  • Layout and Assembly Technique of the GEM Chambers for the Upgrade of the CMS First Muon Endcap Station. Nucl. Instrum. Meth. A 918 67-75. 2019
  • Performance of GE1/1 Chambers for the CMS Muon Endcap Upgrade. CMS-Muon Collaboration. arXiv:1903.02186. March 2019
  • Operational Experience With the GEM Detector Assembly Lines for the CMS Forward Muon Upgrade. IEEE Trans. Nucl. Sci. Volume 65, Number 1. 2018.
  • The Phase-2 Upgrade of the CMS Muon Detectors. CMS-TDR-016. September 2017
  • Construction of a medium-sized Schwarzschild-Couder telescope as a candidate for the Cherenkov Telescope Array: development of the optical alignment system.. arXiv:1509.02463. September 2015
  • CMS Technical Design Report for the Muon Endcap GEM Upgrade. CMS-TDR-013. March 2015
  • Zr-Ti-based Be-bearing glasses optimized for high thermal stability and thermoplastic formability. Acta Materialia, Volume 56, Issue 11, pp. 2625–2630. June 2008

Author: Andrew Peck

Created: 2024-12-22 Sun 10:38