TriggerGeneratorDriver#

class FIREQ_LL_API.TriggerGeneratorDriver(*args: Any, **kwargs: Any)[source]#

Bases: _FIREQDriver

Driver class for the trigger generator IP.

Provides methods to set the generation time of pulses and acquisition events.

bindto = ['user.org:user:axisTriggerGeneratorIP:1.0']#
fabric_clock_port = 'HS_axi_clock'#
reset_memory_and_registers() → None[source]#

Reset all memory and registers to 0.

print_description(printer_func: callable) → None[source]#

Print the description of the trigger generator IP.

Param:

printer_func: Function to use to print the description

init_axi_full_interface(base_address: int, axi_depth: int) → None[source]#

Initialize the AXI Full interface for this IP.

Parameters:
  • base_address (int) – Base address of the AXI Full interface

  • axi_depth (int) – Depth of the AXI interface in bytes

init_axi_lite_interface(base_address: int, axi_depth: int) → None[source]#

Initialize the AXI Lite interface for this IP.

Parameters:
  • base_address (int) – Base address of the AXI Lite interface

  • axi_depth (int) – Depth of the AXI interface in bytes

set_experiment_duration(duration: int) → None[source]#

Set the experiment duration for a single shot.

Parameters:

duration (int) – Duration in clock cycles

set_number_of_shots(value: int) → int[source]#

Set the number of shots to execute in hardware.

Parameters:

value (int) – Number of shots (must be between 1 and max_hw_repetitions)

Returns:

Error code (0 on success)

Return type:

int

start_experiment() → None[source]#

Start the generation of triggers.

is_done() → bool[source]#

Check if the experiment is finished.

Returns:

True if the experiment is finished, False if still running

Return type:

bool

insert_delay(trigger_mask: int, ttype: bool, index: int, delay: int) → int[source]#

Insert a delay in the trigger generator at index.

The trigger_mask input defines the triggers that will be set once the delay expires.

Parameters:
  • trigger_mask (int) – Trigger channels to activate (Fifthen bit mask, e.g. 0b0010 means channel 2)

  • ttype (bool) – Trigger type (True for readout, False for drive)

  • index (int) – FIFO index (1 is the first delay)

  • delay (int) – Delay in clock cycles (1 to drive_delay_max)

Returns:

Error code (0 on success)

Return type:

int