silq.instrument_interfaces.keysight.fpga_interfaces package¶
Submodules¶
silq.instrument_interfaces.keysight.fpga_interfaces.Bayesian_update_interface module¶
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface module¶
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface.
DCPulseImplementation
(pulse_requirements=[])[source]¶ Bases:
silq.pulses.pulse_modules.PulseImplementation
-
implement
(*args, **kwargs)[source]¶ Implements a targeted pulse for an InstrumentInterface.
This method is called during
InstrumentInterface.setup
.Implementation of a targeted pulse is very dependent on the interface. For an AWG, this method may return a list of waveform points. For a triggering source, this method may return the triggering time. In very simple cases, this method may not even be necessary.
- Parameters
*args – Interface-specific args to use
**kwargs – Interface-specific kwargs to use
- Returns
Instrument-specific return values.
See also
Other interface source codes may serve as a guide for this method.
-
pulse_class
¶ alias of
silq.pulses.pulse_types.DCPulse
-
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface.
FrequencyRampPulseImplementation
(pulse_requirements=[])[source]¶ Bases:
silq.pulses.pulse_modules.PulseImplementation
-
implement
(*args, **kwargs)[source]¶ Implements a targeted pulse for an InstrumentInterface.
This method is called during
InstrumentInterface.setup
.Implementation of a targeted pulse is very dependent on the interface. For an AWG, this method may return a list of waveform points. For a triggering source, this method may return the triggering time. In very simple cases, this method may not even be necessary.
- Parameters
*args – Interface-specific args to use
**kwargs – Interface-specific kwargs to use
- Returns
Instrument-specific return values.
See also
Other interface source codes may serve as a guide for this method.
-
pulse_class
¶
-
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface.
MarkerPulseImplementation
(pulse_requirements=[])[source]¶ Bases:
silq.pulses.pulse_modules.PulseImplementation
-
implement
(*args, **kwargs)[source]¶ Implements a targeted pulse for an InstrumentInterface.
This method is called during
InstrumentInterface.setup
.Implementation of a targeted pulse is very dependent on the interface. For an AWG, this method may return a list of waveform points. For a triggering source, this method may return the triggering time. In very simple cases, this method may not even be necessary.
- Parameters
*args – Interface-specific args to use
**kwargs – Interface-specific kwargs to use
- Returns
Instrument-specific return values.
See also
Other interface source codes may serve as a guide for this method.
-
pulse_class
¶ alias of
silq.pulses.pulse_types.MarkerPulse
-
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface.
PCDDSInterface
(instrument_name, **kwargs)[source]¶ Bases:
silq.instrument_interfaces.interface.InstrumentInterface
-
property
active_channel_ids
¶ Sorted list of active channel id’s
-
property
active_instrument_channels
¶
-
get_additional_pulses
(connections)[source]¶ Get list of pulses required by instrument (trigger pulses)
A trigger pulse is returned for each pulse start and stop time.
-
setup
(**kwargs)[source]¶ Set up instrument after layout has been targeted by pulse sequence.
Needs to be implemented in subclass.
- Parameters
samples – Number of acquisition samples. If None, it will use the previously set value.
input_connections – Input
Connection
list of instrument, needed by some interfaces to setup the instrument.output_connections – Output
Connection
list of instrument, needed by some interfaces to setup the instrument.repeat – Repeat the pulse sequence indefinitely. If False, calling
Layout.start()
will only run the pulse sequence once.**kwargs – Additional interface-specific kwarg.
- Returns
setup flags (see
Layout.flags
)
-
property
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.PCDDS_interface.
SinePulseImplementation
(pulse_requirements=[])[source]¶ Bases:
silq.pulses.pulse_modules.PulseImplementation
-
implement
(*args, **kwargs)[source]¶ Implements a targeted pulse for an InstrumentInterface.
This method is called during
InstrumentInterface.setup
.Implementation of a targeted pulse is very dependent on the interface. For an AWG, this method may return a list of waveform points. For a triggering source, this method may return the triggering time. In very simple cases, this method may not even be necessary.
- Parameters
*args – Interface-specific args to use
**kwargs – Interface-specific kwargs to use
- Returns
Instrument-specific return values.
See also
Other interface source codes may serve as a guide for this method.
-
pulse_class
¶ alias of
silq.pulses.pulse_types.SinePulse
-
silq.instrument_interfaces.keysight.fpga_interfaces.trigger_FPGA_interface module¶
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.trigger_FPGA_interface.
TriggerFPGAInterface
(instrument_name, **kwargs)[source]¶ Bases:
silq.instrument_interfaces.interface.InstrumentInterface
-
setup
(repeat=True, **kwargs)[source]¶ Set up instrument after layout has been targeted by pulse sequence.
Needs to be implemented in subclass.
- Parameters
samples – Number of acquisition samples. If None, it will use the previously set value.
input_connections – Input
Connection
list of instrument, needed by some interfaces to setup the instrument.output_connections – Output
Connection
list of instrument, needed by some interfaces to setup the instrument.repeat (
bool
) – Repeat the pulse sequence indefinitely. If False, callingLayout.start()
will only run the pulse sequence once.**kwargs – Additional interface-specific kwarg.
- Returns
setup flags (see
Layout.flags
)
-
-
class
silq.instrument_interfaces.keysight.fpga_interfaces.trigger_FPGA_interface.
TriggerPulseImplementation
(pulse_requirements=[])[source]¶ Bases:
silq.pulses.pulse_modules.PulseImplementation
-
pulse_class
¶ alias of
silq.pulses.pulse_types.TriggerPulse
-