lnls-dig/bpm-gw

[wb_trigger] Module not flexible enough

Closed this issue · 0 comments

Problem: Our BPM use case needs a more flexible wb_trigger interface so multiple acquisition modules (with multiple acquisition interfaces) can multiplex triggers from/to physical triggers.
With the previous implementation, a single wb_trigger module needed to be coupled to a single acquisition module.

Moreover, multiple acquisition modules could not send a trigger to the external interface, as we had a mux selecting only one of them .

Solution: Split wb_trigger functionality into 3:

  1. wb_trigger_iface responsible for the low-level
    interface to board and FPGA

  2. wb_trigger_mux responsible for multiplexing
    multiple physical triggers (external trigger signals)
    to multiple, independent, trigger interfaces (FPGA signals)

  3. wb_trigger responsible for wrapping 1) and 2) together
    and providing a resolution method for assigning physical
    triggers to trigger interfaces (e.g., fanout resolution)
    and a resolution method for collapsing trigger interfaces
    to physical triggers (e.g, ORing trigger interface pulses)