Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion aidatlu/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To disable the generation of internal triggers set this frequency to zero.
### DUT Module (dut_module)
The DUT module configures the individual DUT interfaces.
Where each interface can be set to one operating mode.
The possible modes are 'aida', 'aidatrig' and 'eudet'.
The possible modes are 'aida', 'aidatrig', 'eudet' and 'eudet_with_busy'.
With 'aidatrig' the AIDA mode with additional trigger number.
And 'aida' or 'eudet' the AIDA or EUDET operating modes.
It is important to note that only working DUT devices should be enabled.
Expand Down
2 changes: 1 addition & 1 deletion aidatlu/constellation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ This means DUT interface signals (e.g. clock signals) are disrupted here.
| Configuration | Description | Type | Default Value |
|-----------|-------------|------| ------|
| `internal_trigger_rate` | (Optional) Generates internal triggers with a given frequency given in Hz. | Integer | 0 |
| `dut_interfaces` | (Required) Specify the operation mode of the DUT interface (`aida`, `eudet`, `aidatrig`, `off`), given as list with a required length of 4. `aida` and `eudet` correspond to the classic AIDA and EUDET mode respectively and `aidatrig` to the AIDA-mode with handshake. Disable a DUT interface with `off`. | List | None |
| `dut_interfaces` | (Required) Specify the operation mode of the DUT interface (`aida`, `eudet`, `aidatrig`, `eudet_with_busy`, `off`), given as list with a required length of 4. `aida` and `eudet` correspond to the classic AIDA and EUDET mode respectively and `aidatrig` to the AIDA-mode with handshake. `eudet_with_busy` additionally allows an asserted DUTClk from the device to produce a global veto. Disable a DUT interface with `off`. | List | None |
| `ignore_busy` | (Optional) Specific DUT interface ignores busy signals. | List | `[false, false, false, false]` |
| `trigger_threshold` | (Required) Threshold setting of each individual trigger input channel given in V. | List | None |
| `trigger_inputs_logic` | (Required) Trigger Logic configuration accepts a Python expression for the trigger inputs. The logic is set by using the variables for the input channels `CH1`, `CH2`, `CH3`, `CH4`, `CH5` and `CH6` and the Python logic operators `and`, `or`, `not` and so on. Don't forget to use brackets... | String | None |
Expand Down
1 change: 1 addition & 0 deletions aidatlu/constellation/aidatlu_satellite.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

class DUTInterfaceType(StrEnum):
EUDET = "eudet"
EUDET_WITH_BUSY = "eudet_with_busy"
AIDA = "aida"
AIDATRIG = "aidatrig"
OFF = "off"
Expand Down
9 changes: 8 additions & 1 deletion aidatlu/hardware/tlu_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,13 +287,20 @@ def conf_dut(self) -> None:
"""Parse the configuration for the DUT interface to the AIDATLU."""
dut = [0, 0, 0, 0]
dut_mode = [0, 0, 0, 0]
dut_mode_modifier = [0, 0, 0, 0]
ignore_busy = 0
for i in range(4):
if self.conf["DUT_%s" % (i + 1)] == "eudet":
self.tlu.io_controller.switch_led(i + 1, "g")
dut[i] = 2**i
# Clock output needs to be disabled for EUDET mode.
self.tlu.io_controller.clock_hdmi_output(i + 1, "off")
if self.conf["DUT_%s" % (i + 1)] == "eudet_with_busy":
self.tlu.io_controller.switch_led(i + 1, "g")
dut[i] = 2**i
dut_mode_modifier[i] = 2**i
# Clock output needs to be disabled for EUDET mode.
self.tlu.io_controller.clock_hdmi_output(i + 1, "off")
if self.conf["DUT_%s" % (i + 1)] == "aidatrig":
self.tlu.io_controller.switch_led(i + 1, "w")
dut[i] = 2**i
Expand Down Expand Up @@ -333,7 +340,7 @@ def conf_dut(self) -> None:
% (dut_mode[0] | dut_mode[1] | dut_mode[2] | dut_mode[3])
)
# Special configs
self.tlu.dut_logic.set_dut_mask_mode_modifier(0)
self.tlu.dut_logic.set_dut_mask_mode_modifier(dut_mode_modifier[0] | dut_mode_modifier[1] | dut_mode_modifier[2] | dut_mode_modifier[3])
self.tlu.dut_logic.set_dut_ignore_busy(ignore_busy)
self.tlu.dut_logic.set_dut_ignore_shutter(0x1)

Expand Down
2 changes: 1 addition & 1 deletion aidatlu/tlu_configuration.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Generate TLU internal trigger with given rate in Hz
internal_trigger_rate: 0

# Set operating mode of the DUT, supported are three operating modes 'aida', 'aidatrig' and 'eudet'
# Set operating mode of the DUT, supported are three operating modes 'aida', 'aidatrig', 'eudet', and 'eudet_with_busy'
# Set unused DUT interfaces to off, false or None
dut_module:
dut_1:
Expand Down
Loading