The firmware requirements are derived from requests that come from the ASIC, detector and DAQ subsystems. The goal of defining them is to communicate among the design team and support teams which feature must be present and why and therefore establish a communication platform.



Requirement numberDescriptionWhoMetric of successStatus
ASIC



ASIC 1.0Generate wareforms to control ASIC data acquisition (i.e. R0, ACQ, GR, SRO, CLK, DigRST, etc)DawoodWaveform generated by the FPGA matches ASIC specsdone
ASIC 1.1Receive and decode data with stream auto tuningDawoodReceive encoded data, with the firmware finding the best eye delay position automaticallydone
ASIC 1.2Data decode using 16b20b to retrieve SoF, Eof, and real dataDawoodData decoded can be used to generate image packetsdone
ASIC 1.3Program each ASIC individually using SACI busDawood
done
ASIC 1.4Provide external DAC 20bit voltage source to check ASIC ADC performance. (This allows to fine tune Pipo delay)Dawood
done
ASIC 1.5Allow ASIC power supplies to be turned on and off via registersDawood
done
ASIC 1.6Monitor ASIC analog outputs (for the ASIC where this feature is available) and stream the data as a "pseudo" scopeJulian

ASIC 1.7Initialize Monitoring ADC in firmware (using Microblaze or other means)







Trigger



Trigger 1.0Two trigger operation should be available. Run Triggers generates a frame but does not send data. Run Triggers followed but DAQ triggers generates a frame and sends data to DAQ. This two trigger operation allows for system level thermal stabilization


Trigger 1.13 trigger sources, one from the timing module, one internal based on auto trigger fw module and one via software using SSI command












DATA



DATA 1.0Data packet should be created with a 4 ASIC to one packet
FW demonstrate implemented 4 to 1
DATA 1.1Data packed should be added by a header containing acquisition number, ID


DATA 1.2Data descrambling, image should be reagentes in FW such that each 4 x 1 ASIC data shout is receiving with physical meaning (in software a single matrix reshape should be enough to display the 4x1 ASIC image correctly)


DATA 1.3Pre-processing module placeholder should be available. The intent is to perform point like operation such as dark subtraction and gain correction followed by downsampling to send a reduced dataset for edgeML usage.












DAQ



DAQ 1.0Serial number of each carrier, digital board and analog board should be readout and available via register access


DAQ 1.1Timing receiver module should be part of the FW. 


DAQ 1.1.1The timing receiver should be configure as 2 detectors, one for Run Trigger and the other for DAQ trigger


DAQ 1.1.2Trigger information and timestamps received by the timing receiver should be sent out via Axi Stream Batcher Event Builder


DAQ 1.2Monitor environmental variables (temperature, humidity and selected voltage and currents based on board specific schematics)


DAQ 1.3Add to the data packed the trigger information. This should be implemented with surf module  
















  • Image header description

Add a table hear with new header description


  • Block diagram

System level diagram


Add proposed block diagram to implement the aforementioned requirements (update figure below)


List of tracking tasks

  • System level
    • Over the fiber programability
    • XVC infrastructure
    • Insert timing receiver modules and LCLS-II timing receiver
  • ASIC Modules
    • Integrate of ASIC controls and configuration
    • Integrate of data receiver and decoder
    • Development of data packet and event builder
    • Serial number
  • Digital board infrastructure
    • PGP4 comminication
    • PLL configuration
    • Environmental monitoring
    • Serial number
  • Analog board infrastructure
    • ASIC power supply control
    • ASIC analog monitoring subsystem
    • ASIC digital monitoring 
    • Serial number
  • Software
    • Rogue tree definition
    • Data visualization
  • Testing
    • Test each individual module read and write registers
    • Test ALL 20 ASIC positions for configuration, control and data streaming
    • Stress test data frame rate generation
    • Test RUN trigger and DAQ trigger
    • Test all monitor sensors
    • Test all DACs
    • Test high speed DAC with ASIC ADC
    • Test timing trigger with multiple quads
  • No labels