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

alias of silq.pulses.pulse_types.FrequencyRampPulse

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.

Return type

List[Pulse]

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)

start()[source]

Start instrument

Note

Acquisition instruments usually don’t need to be started

stop()[source]

Stop instrument

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, calling Layout.start() will only run the pulse sequence once.

  • **kwargs – Additional interface-specific kwarg.

Returns

setup flags (see Layout.flags)

start()[source]

Start instrument

Note

Acquisition instruments usually don’t need to be started

stop()[source]

Stop instrument

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

Module contents