qick.rfboard

Classes

AD5781()

ADF4372()

ADMV8818()

AxisDdsMrSwitch(*args, **kwargs)

AxisSignalGenV3(*args, **kwargs)

AxisSignalGenV3Ctrl(*args, **kwargs)

AxisSignalGenV6Ctrl(*args, **kwargs)

BoardSelection(gpio_ip)

This class is used to enable one daughter card on the RF Board for the ZCU216, V1.

DAC11001()

LMH6401()

MCP23S08(dev_addr)

PE43705([address])

RFQickSoc(*args, **kwargs)

Overrides the __init__ method of QickSoc in order to add the drivers for the preproduction (V1) version of the RF board.

RFQickSoc216V1(*args, **kwargs)

RFQickSocV2(*args, **kwargs)

SwitchControl(spi_ip)

adc_dc_ch(ch, switches, gain_spi[, version])

adc_rf_ch([ch, switches, attn_spi, ...])

attenuator(spi_ip[, ch, nch, le, en_l, cs_t])

dac_bias(spi_ip, ch_en[, cs_t, gpio_ip, ...])

dac_ch([ch, switches, attn_spi, filter_spi, ...])

gain(spi_ip, ch_en[, cs_t])

lo_synth(spi_ip[, nch, le, en_l, cs_t])

lo_synth_v2(spi_ip, ch)

power_sw_fan(spi_ip, ch_en[, defaults, ...])

prog_filter(spi_ip[, ch, cs_t])

spi(*args, **kwargs)

class qick.rfboard.AxisSignalGenV3(*args: Any, **kwargs: Any)[source]

Bases: SocIp

class qick.rfboard.AxisSignalGenV3Ctrl(*args: Any, **kwargs: Any)[source]

Bases: SocIp

class qick.rfboard.AxisSignalGenV6Ctrl(*args: Any, **kwargs: Any)[source]

Bases: SocIp

class qick.rfboard.AxisDdsMrSwitch(*args: Any, **kwargs: Any)[source]

Bases: SocIp

class qick.rfboard.spi(*args: Any, **kwargs: Any)[source]

Bases: DefaultIP

en_level(nch=4, chlist=[0], en_l='high')[source]

chlist: list of bits to enable en_l: enable level “high”: ignore nch, enabled bits are set high “low”: nch is total length, enabled bits are set low

send_m(data, ch_en, cs_t='pulse')[source]

The data must be formatted in bytes, regardless of the data width of the SPI IP. For data width 16 or 32, the bytes will be packed in little-endian order.

receive()[source]

The returned data will be formatted in bytes, regardless of the data width of the SPI IP. For data width 16 or 32, the bytes will be unpacked in little-endian order.

send_receive_m(data, ch_en, cs_t='pulse')[source]

data: list of bytes to send ch_en: destination address

class qick.rfboard.BoardSelection(gpio_ip)[source]

Bases: object

This class is used to enable one daughter card on the RF Board for the ZCU216, V1.

class qick.rfboard.RFQickSoc(*args: Any, **kwargs: Any)[source]

Bases: QickSoc

Overrides the __init__ method of QickSoc in order to add the drivers for the preproduction (V1) version of the RF board. Otherwise supports all the QickSoc functionality.

rfb_config(no_tproc)[source]

Configure the SPI interfaces to the RF board.

rfb_set_lo(f)[source]

Set both of the RF-board local oscillators to the same frequency.

Tile 0 DACs and all RF ADCs are connected to LO[0], tile 1 DACs are connected to LO[1].

Parameters:

f (float) – Frequency (4000-8000 MHz)

rfb_set_gen_rf(gen_ch, att1, att2)[source]

Enable and configure an RF-board output channel for RF output.

Parameters:
  • gen_ch (int) – DAC channel (index in ‘gens’ list)

  • att1 (float) – Attenuation for first stage (0-31.75 dB)

  • att2 (float) – Attenuation for second stage (0-31.75 dB)

rfb_set_gen_dc(gen_ch)[source]

Enable and configure an RF-board output channel for DC output.

Parameters:

gen_ch (int) – DAC channel (index in ‘gens’ list)

rfb_set_ro_rf(ro_ch, att)[source]

Enable and configure an RF-board RF input channel. Will fail if this is not an RF input.

Parameters:
  • ro_ch (int) – ADC channel (index in ‘avg_bufs’ list)

  • att (float) – Attenuation (0 to 31.75 dB)

rfb_set_ro_dc(ro_ch, gain)[source]

Enable and configure an RF-board DC input channel. Will fail if this is not a DC input.

Parameters:
  • ro_ch (int) – ADC channel (index in ‘readouts’ list)

  • gain (float) – Gain (-6 to 26 dB)

rfb_set_bias(bias_ch, v)[source]

Set a voltage on an RF-board bias DAC.

Parameters:
  • bias_ch (int) – Channel number (0-7)

  • v (float) – Voltage (-10 to 10 V)

rfb_set_gen_filter(gen_ch, fc, bw=1, ftype='bandpass')[source]

Set the programmable Analog Filter of the chain.

Parameters:
  • gen_ch (int) – DAC channel (index in ‘gens’ list)

  • fc (float) – Center frequency for bandpass, cut-off frequency of lowpass and highpass.

  • bw (float) – Bandwidth.

  • ftype (string.) – Filter type: bypass, lowpass, highpass or bandpass.

rfb_set_ro_filter(ro_ch, fc, bw=1, ftype='bandpass')[source]

Enable and configure an RF-board RF input channel. Will fail if this is not an RF input.

Parameters:
  • ro_ch (int) – ADC channel (index in ‘avg_bufs’ list)

  • fc (float) – Center frequency for bandpass, cut-off frequency of lowpass and highpass.

  • bw (float) – Bandwidth.

  • ftype (string.) – Filter type: bypass, lowpass, highpass or bandpass.

class qick.rfboard.RFQickSocV2(*args: Any, **kwargs: Any)[source]

Bases: RFQickSoc

rfb_config(no_tproc)[source]

Configure the SPI interfaces to the RF board.

rfb_set_lo(f, ch=None, verbose=False)[source]

Set RF-board local oscillators.

LO[0]: all RF ADCs LO[1]: RF DACs 0-3 LO[2]: RF DACs 4-7

Parameters:
  • f (float) – Frequency (4000-8000 MHz)

  • ch (int) – LO to configure (None=all)

  • verbose (bool) – Print freq and lock info.

rfb_get_lo(gen_ch=None, ro_ch=None)[source]

Get local oscillator frequency for a DAC or ADC channel.

Parameters:
  • gen_ch (int) – DAC channel (index in ‘gens’ list)

  • ro_ch (int) – ADC channel (index in ‘readouts’ list)

class qick.rfboard.RFQickSoc216V1(*args: Any, **kwargs: Any)[source]

Bases: RFQickSoc

rfb_config(no_tproc)[source]

Configure the GPIO/SPI interfaces to the RF board.