Start and stop synchronization

06-Aug-2014, 14:00 Chicago time, Giles, Marvin, Tim, Erik, Matt G., Martin, Tom, Matt T, John F., Kurt

Question: Why not let the artdaq EventBuilders take care of managing the synchronization between subdetectors?

Answer: We need the microslices from all subsystems to be aligned, so we need to send a T0 to all BoardReaders already...

Yesterday, we discussed the possibility of having sending a T0 down to the BoardReaders and the RCEs and SSPs at run start.

In the electronics, the digitization of channel zero needs to start at T0.

Where to drop the data on the floor between runs (and during run pauses)?
  • in the BoardReader (FragmentGenerator)
  • in the software that is slightly upstream of the BoardReader (FragmentGenerator), such as Tim's receiver code
  • in the hardware

As we talked about it, we realized that there are actually two relevant times: the synchronization of the microslice boundary across all of the front-end electronics and the beginning of the run (which is really just a threshold).

For the different run modes, the BoardReader sees the same thing - one microslice block per microslice time window. The run mode controls what fraction of the microslice blocks are empty or zero suppressed or non-zero suppressed.

[a discussion of signals being split across microslice and millislice boundaries in the SSP and Penn board.]

Break the problem down into (two documents)
  1. time synchronizing the hardware
  2. managing the transitions of the processes in the DAQ