rbpu_datasheet/chapters/06_theory_of_operation.md

8.6 KiB
Raw Blame History

操作原理

原理及模块划分

RBPU16 是一颗用于完成超导量子比特的态读出的 SoC 基带芯片。芯片模拟部分包括 ADC、DAC、PLL、LVDS、POR 和温度传感器;数字部分主要包括 DAQ、AWG、PlsGen、Feedback 以及 System 模块。读出芯片的总体功能组成如下图所示。

rbpu_schematic

在激励信号生成路径上AWG 用于控制激励通道待输出的波形,接着波形经过 DAC 转换成基带读出激励信号,同时 AWG 模块触发 PlsGen 模块实时发出脉冲信号使能外部 Pump 通道。回波信号处理路径上ADC 用于采集反射的读出基带信号,接着 DAQ 对基带信号进行分析处理,结果再通过 LVDS 接口发送出去,同时 DAQ 模块触发 Feedback 模块将部分结果上报或者下发到外部芯片。

片内 PLL 用于管理整个芯片的时钟,为 ADC 采样时钟、DAC 更新时钟、数字模块主时钟等生成所需频率。POR 用于在芯片上电时对整个芯片进行复位保障芯片正常工作。温度监视模块用于实时监测芯片温度变化保障芯片稳定工作。System 模块用于管理芯片上控制的状态,为芯片运维和调试提供支撑。

读出芯片不仅支持以 ASIC 芯片模式工作,也支持部分核心控制在 FPGA 内部工作。这两种工作模式受制于 ASIC 和 FPGA 资源以及外部 ADC、DAC 硬件性能不同,部分功能实现存在差异,后续阅读时需要重点关注。

关键数据路径

读出激励输出通道

读出激励输出通道RO 通道)由 AWG 模块和 Pump 模块协同工作,负责产生基带读出激励信号和 Pump 使能信号。

AWG 模块需要编程六类数据:

  1. 控制器指令 (MCU_INS):控制 MCU 执行指令流,指令位于地址空间 0x700000
  2. 控制器数据 (MCU_DAT)MCU 指令需要引用的初始数据,位于地址空间 0x800000
  3. 控制寄存器 (AWG_REG):配置 AWG 工作模式与参数,位于地址空间 0x900000
  4. 波形映射表 (AWG_IDX):码字 → 波形段的映射查找表,位于地址空间 0xA00000
  5. 波形数据存储 (AWG_WVE):实际输出的波形采样点,位于地址空间 0xB00000
  6. 模拟配置 (SYS_ANA)DAC 输出模式NRZ/MIX/HBMIX与偏置校准

波形输出流程如下:

  1. MCU 每 3 个时钟周期执行一条指令,发出控制码字
  2. 码字中的 WAVE_ID 字段通过查找表映射为波形段的起始地址和长度
  3. 波形数据从 WVE 存储中读取,经希尔伯特变换生成 I/Q 两路
  4. I/Q 信号与 NCO 混频,实现频率搬移
  5. 经数字调幅、半带插值滤波
  6. 输出至 DAC 转换为模拟信号

AWG 支持以下输出模式:

模式 描述 特点
直出模式 (NRZ) 基带波形直接输出 输出频率 DC3 GHz适用于直接产生多音基带信号
调制模式 (MIX) 基带波形与 NCO 混频 输出频率 0.32.4 GHz通过 NCO 频率控制精确频点定位
NCO Only 模式 仅 NCO 连续波形 方便连接外部仪器进行芯片测试
半带调制模式 (HBMIX) 混频 + 半带插值 提升高频输出信号质量
一般情况下,直出模式用于量子实验,通过直接输出包含多个读出频率的波形,可以实现对多个量子比特的并行读出;调制模式用于腔频扫描等应用,通过实时修改 NCO 频率实现扫频功能NCO Only 模式可以输出连续波形,方便连接外部仪器上进行测试。

射频直出:在 NRZ 模式下利用高阶奈奎斯特区输出,可以实现 67 GHz 的射频直出,功率平坦度约 2 dB受限于 sinc 滚降特性)。

Pump 通道:由 MCU 码字中的 PUMP_EN 位触发 PlsGen 模块,产生可编程宽度的脉冲信号,通过 PO_PUMP_EN 管脚输出,用于使能外部 Pump 上变频通道。

软复位:通过写 AWG_REG 中的软复位寄存器,可复位 AWG 内部状态机和 FIFO复位后需重新编程。

读出回波信号处理

读出回波输入通道RI 通道)由 ADC + DAQ 模块构成,负责采集和处理反射回来的基带信号。

模拟信号路径RF 回波信号经外部混频器下变频为基带 → 巴伦差分转换 → ADC 采样FPGA 平台 8 位 @4 GSPSASIC 平台 8 位 @6 GSPS

DAQ 模块需要编程五类数据:

  1. 控制器指令 (MCU_INS)DAQ 内部 MCU 的执行指令流,位于地址空间 0x200000
  2. 控制器数据 (MCU_DAT)MCU 需要引用的初始数据,位于地址空间 0x300000
  3. 控制寄存器 (DAQ_REG):配置 DAQ 工作模式与参数,位于地址空间 0x400000
  4. 读出参数与滤波器权重 (DAQ_PAR + DAQ_FLT):解模参数、匹配滤波器系数,位于地址空间 0x5000000x580000
  5. 模拟配置 (SYS_ANA)ADC 参考电压选择

数据处理流程:

  1. ADC 采集原始波形数据
  2. 数字解模:原始波形与匹配滤波器进行相关运算,得到 I/Q 复数数据
  3. 态判定:根据 I/Q 数据判定量子态0 态/1 态/2 态/未定义)
  4. 态统计:对多次测量的态结果进行计数统计
  5. 结果输出:通过 RSLT_PUSH LVDS 接口发送数据

DAQ 支持多种数据采集模式:

模式 输出数据量 适用场景
原始波形 最大 调试、原始数据分析
IQ 数据 中等 (64 bit × N) 解模结果分析
态数据 小 (2 bit × N) 高速态读出
态统计 最小 多次测量统计

软复位功能:通过写 DAQ_REG 中的软复位寄存器复位 DAQ 状态机。

接口控制协议

SPI 配置协议

读出芯片通过 SPI 来配置内部寄存器和内存SPI 采用四线模式。时钟极性 CPOL = 1即时钟在空闲时处于高电平状态时钟相位 CPHA = 1即在第一个时钟沿输出数据第二个时钟沿采样数据。SPI 的通信数据格式采用自定义协议,支持流模式发送接收。

spi_prot

SPI 帧格式:

字段 RW ADDR CHIP_ID RSV DATA
位宽 1 25 5 1 32 × N
含义 0: 读, 1: 写 32 MB 寻址空间 总线片选 保留位 数据
协议首先发送 1 比特读写标识位,然后发送 25 比特地址位,接着再发送 5 比特的芯片选择信号,最后再发送/接收数据。数据发送/接收以 32 比特为单位,以流模式发送,支持发送/接收 N × 32 位的数据,直到主控端将 CSN 拉低后结束通信N ≥ 1。流模式要求从设备在完成 32 比特数据接收/发送后自动对地址进行 4 字节递增。

LVDS 通信协议

从读出芯片到多功能母卡的数据推送接口 rslt_push_[p,n]、反馈上报接口 glb_tx_[p,n] 和从多功能母板到读出芯片的反馈下发接口 glb_rx_[p,n] 采用定制的 LVDS 通信协议。

帧格式:

    +---------------------------------------+
    |           LVDS DATA FRAME             |
    +------+-------------------+------------+
    |  4   |    16/32/64/128   |     8      |
    +------+-------------------+------------+
    | HEAD |       Payload     |    CRC8    |
    +------+-------------------+------------+
    MSB                                   LSB

帧头包含 4 比特数据,其中最高位比特用于指示是否启动数据传输,次高位置 0 保留最低两位用于指示本次传输的数据量0: 16 比特1: 32 比特2: 64 比特3: 128 比特)。载荷后面附带 8 比特 CRC 校验码,校验多项式为:

x^8 + x^2 + x + 1

lvds_prot

同步机制:接收端在接收数据之前必须先和发送端同步。发送端通过发送同步码来同步接收端,当完成设定数量的同步码发送完毕后发送一个结束码结束同步过程。同步码为字符串 "hfnl" 对应的 32 比特数据,结束码为 "exit" 对应的 32 比特数据。

接收端在启动时被初始化到未同步状态,此时必须接收到足够次数的同步码之后才能进入确认状态,直到接收到结束码之后发送端和接收端同时进入就绪状态。接收端后续如果在接收数据过程中发现 CRC8 校验码出错,会再次进入未同步状态。

空闲状态:当处于空闲状态不用传输数据时,发送端将 LVDS 信号电平拉高。当传输数据时,发送端将 LVDS 电平拉低两个数据周期启动数据发送。