resources#

Common resources for use with the quantify_scheduler.

Module Contents#

Classes#

Resource

A resource corresponds to a physical resource such as a port or a clock.

ClockResource

The ClockResource corresponds to a physical clock used to modulate pulses.

BasebandClockResource

Global identity for a virtual baseband clock.

DigitalClockResource

Global identity for a virtual digital clock.

class Resource(name: str)[source]#

Bases: collections.UserDict

A resource corresponds to a physical resource such as a port or a clock.

JSON schema for a quantify resource.

type

object

properties

  • name

Name of the resource.

type

string

  • type

Type of the resource, this property can be used by compilation steps.

type

string

additionalProperties

True

Parameters:

name – The resource name.

classmethod is_valid(operation: Resource) bool[source]#

Validates the Resource against the schemas/resource.json fastjsonschema.

Parameters:

operation – The operation to validate.

Raises:
Returns:

If the validation was successful.

Return type:

bool

property name: str[source]#

Returns the name of the Resource.

property hash: str[source]#

A hash based on the contents of the Operation.

class ClockResource(name: str, freq: float, phase: float = 0)[source]#

Bases: Resource

The ClockResource corresponds to a physical clock used to modulate pulses.

Parameters:
  • name – the name of this clock

  • freq – the frequency of the clock in Hz

  • phase – the starting phase of the clock in deg

class BasebandClockResource(name: str)[source]#

Bases: Resource

Global identity for a virtual baseband clock.

Baseband signals are assumed to be real-valued and will not be modulated.

Parameters:

name – the name of this clock

IDENTITY = 'cl0.baseband'[source]#
class DigitalClockResource(name: str)[source]#

Bases: Resource

Global identity for a virtual digital clock.

Digital clocks can only be associated with digital channels.

Parameters:

name – the name of this clock

IDENTITY = 'digital'[source]#