# 3. 编程控制模型概述 ## 3.1. 测控系统编程概述 超导量子计算机利用微波信号来驱动量子比特和读出量子比特状态,量子比特不同类型的操作依赖不同类型的信号来控制。 ez-Q 2.5测控系统包含5种物理通道,对应5类硬件接口,分别是ACQ、EXC、Pump、XYZ/Reset和ZCP通道; 系统具有7种控制信号,对应7种编程对象,分别是EXC、ACQ、Pump、XY、Reset、Z和ZCP信号; 系统具有4种控制模型,对应4种编程类型,分别是ACQ、EXC-Pump、XY/Reset和Z/ZCP模型,分类关系如下表所示。 |5种物理通道|7种控制对象|4种控制模型| |:-:|:-:|:-:| |XYZ通道|XY 信号|XY/Reset控制模型| |^|Reset信号|^| |^|Z信号|Z/ZCP控制模型| |ZCP通道|ZCP信号|Z/ZCP控制模型| |ACQ通道|ACQ(RO)信号|ACQ控制模型| |EXC通道|EXC(RI)信号|EXC-Pump控制模型| |Pump通道|Pump信号|^| - 测控系统中的每种控制模型实现的功能都是通过以下四类数据进行定义, - 通道微控制器码字指令 - 通道寄存器配置数据 - 通道SRAM配置数据 - 通道模拟电路配置 - 测控系统的寄存器、配置数据和模拟电路配置返回数据统一采用**大端字节序**。 通道寄存器配置数据支持微控制器实时修改,从而让通道的输入/输出控制具备动态控制能力。 ACQ和EXC-Pump通道配置寄存器的地址索引定义详见[附录A. IDS寄存器索引表](#a-ids)的 [A.2 DAQ_REG](#a2-daq_reg-acq) 和 [A.3 AWG_REG](#a3-awg_reg-exc-pump) 节。 本文档通过对不同编程模型下码字指令、通道寄存器配置数据、通道SRAM配置数据和通道模拟电路配置进行介绍, 旨在让用户掌握对读出激励信号的产生和采集信号处理的编程方法。 其中码字指令通过MCU来产生,MCU的编程关键参数如下: * ACQ通道和EXC-Pump通道使用**相同MCU**; * MCU分别使用**16 KB**的ITCM和DTCM; * FPGA平台MCU主时钟频率为**250 MHz**, * ASIC平台MCU主时钟频率为**750 MHz**; * MCU以固定的**3个时钟周期每指令**的速度运行; * MCU通过**0x100000**地址访问MCU数据空间; * MCU通过**0x200000**地址访问通道配置寄存器空间; 针对具体的指令定义和使用方法, 读者可查看[《量子编程指令集》](TODO)了解相关信息。 ## 3.2. 读出子系统编程 ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出泵浦板三个硬件组成 - 三个板卡以PXIe板卡的形式安装在机箱中位置相邻的三个槽位上 - 混频板的槽位号比基带板大1,泵浦板槽位号比基带板槽位号小1 因此可以通过仅指定读出基带板槽位号来定位混频板和泵浦板槽位号, 读出子系统硬件架构如下图所示。 - 读出基带板负责产生、输出、采集和处理基带信号以及为泵浦通道产生使能信号; - 读出混频板自身产生一个本振信号,用于实现基带信号与射频信号之间的转换; - 而读出泵浦板负责产生一个指定功率频率的单音信号,并在外部使能信号控制下输出; ![读出子系统组成](../assets/readout_system.png) 当软件需要对不同通道编程时,其通过ip地址指定机箱、通过槽位号指定板卡、 通过扩展地址指定同一个板卡内的多个通道、通过地址指定一个通道内的不同配置项。 ``` 索引基地址定义详见[附录A. IDS寄存器索引表](#a-ids)的 [A.1 地址空间映射](#a1) 节。 ``` 本文所述的三类编程通道具体定义如下: * ACQ 编程通道定义从混频板`rf_in`输入端口到基带板卡内部DAQ模块; * EXC 编程通道定义为从基带板内部AWG模块混频板到`rf_out`接口; * Pump 编程通道定义为从基带板卡内部AWG模块到泵浦板`pump_out`接口; ASIC和FPGA平台具有以下区别: * ez-Q 2.5 FPGA平台读出子系统混频板和泵浦板复用同一个硬件板卡。 * ez-Q 2.5 FPGA平台将读出基带芯片RBPU和FPGA集成在一个FPGA中。 * ez-Q 2.5 FPGA平台使用外部商用ADC、DAC和PLL来替换RBPU的对应功能。 * ez-Q 2.5 FPGA平台ADC、DAC采样率为4 Gsps, ASIC平台暂定为6 Gsps