From ea252b474197f1a7d501b2b02ceb5a79bdccf747 Mon Sep 17 00:00:00 2001 From: Sander de Snoo <59472150+sldesnoo-Delft@users.noreply.github.com> Date: Mon, 17 Oct 2022 15:59:07 +0200 Subject: [PATCH] Added MW frequency check. Add trigger_offset_ns to overall delay. --- pulse_lib/qblox/pulsar_uploader.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pulse_lib/qblox/pulsar_uploader.py b/pulse_lib/qblox/pulsar_uploader.py index 2ceb742a..79e2a123 100644 --- a/pulse_lib/qblox/pulsar_uploader.py +++ b/pulse_lib/qblox/pulsar_uploader.py @@ -82,8 +82,8 @@ class PulsarUploader: out_ch = [] rf_source = dig_ch.rf_source if rf_source is not None: - if rf_source.mode != 'continuous' and rf_source.trigger_offset_ns is None: - raise Exception(f"'{self.name}' RF source mode {rf_source.mode} trigger_offset_ns not specified") + if rf_source.trigger_offset_ns is None: + raise Exception(f"'{self.name}' RF source mode trigger_offset_ns not specified") out = rf_source.output if out is str or len(out) != 2: raise Exception(f'Resonator must be defined as (module_name,channel). ' @@ -495,6 +495,13 @@ class UploadAggregator: delays.append(channel.delay - channel.setup_ns) delays.append(channel.delay + channel.hold_ns) + for channel in digitizer_channels.values(): + delays.append(channel.delay) + if channel.rf_source: + rf_source = channel.rf_source + rf_source.trigger_offset_ns = PulsarConfig.floor(rf_source.trigger_offset_ns) + delays.append(-rf_source.trigger_offset_ns) + self.max_pre_start_ns = -min(0, *delays) self.max_post_end_ns = max(0, *delays) @@ -682,7 +689,11 @@ class UploadAggregator: # TODO @@@ Check: LO frequency can change during sweep lo_freq = qubit_channel.iq_channel.LO + if qubit_channel.reference_frequency is None: + raise Exception(f'Qubit idle frequency not set for {channel_name}') nco_freq = qubit_channel.reference_frequency-lo_freq + if abs(nco_freq) > 300e6: + raise Exception(f'NCO frequency {nco_freq/1e6:5.1f} MHz out of range') seq = IQSequenceBuilder(channel_name, self.program[channel_name], nco_freq, -- GitLab