SiLab-Bonn/basil

TDC module with inverted trigger and tigger delay does not work

Closed this issue · 3 comments

Only a positive edge trigger for the trigger delay determination is working (= delay between edges of TDC and trigger) . If a negative edge trigger is used it fails. The setting EN_INVERT_TRIGGER signal is not recognized by the TDC module. The result looks the same if it's 0 / 1.

Not working

TLU cfg:
EN_INVERT_TRIGGER = 1
TDC cfg:
ENABLE = True
EN_TRIGGER_DIST = True
capture

Working

TLU cfg:
EN_INVERT_TRIGGER = 0
TDC cfg:
ENABLE = True
EN_TRIGGER_DIST = True
capture

Use TDC invert trigger.

More info:
The concrete implementation of the TDC / TLU module in pyBAR (where this was tested with) is such, that the trigger signal is routed through the TDC module. Thus is you want to accept inverted triggers, it has to be set in the TDC module and not in the TLU module:

self.dut['tdc_rx2']['EN_INVERT_TRIGGER'] = 1

As an enhancement the trigger signal routed through the TDC module should not be affected by EN_INVERT_TRIGGER to make the configuration of these modules independet from each other.

this is also fixed now, the TDC outputs are not affected anymore