diff --git a/读出子系统编程控制模型.md b/读出子系统编程控制模型.md index 45b01bb..544aef2 100644 --- a/读出子系统编程控制模型.md +++ b/读出子系统编程控制模型.md @@ -12,41 +12,41 @@ author: 郭成 date: --- -# 修订记录 +# 1. 修订记录 |版本|修订日期|修订原因|修订内容|修订人| |:-|:-|:-|:-|:-| |v0.1|2025/10/27|统一格式|初始版本|郭成| |v0.2|2025/10/31|评审意见|内容补充|郭成| -# 1. 前言 -## 1.1. 目的与范围 +# 2. 前言 +## 2.1. 目的与范围 本文档的目的是介绍读出芯片激励产生和采集处理相关控制, 该文档适用于ez-Q 2.5 FPGA/ASIC平台读出子系统编程。 本文档作为开放文档供大家阅读。 -## 1.2. 阅读对象 +## 2.2. 阅读对象 本文档的预期读者是所有使用本芯片的用户以及对该芯片工作原理感兴趣的读者。 -## 1.3. 文档概述 +## 2.3. 文档概述 本文档首先介绍了测控系统总体的编程对象和规范, 针对读出ACQ/EXCT/Pump三种类型通道对应的ACQ/EXCT-Pump编程模型进行了详细介绍。 -## 1.4. 引用文档 +## 2.4. 引用文档 |文档编号|标题|版本| |:-|:-|:-| |-|读出子系统历史无关配置集.md|V1.0| |-|读出子系统IDS表.xls|V1.0| |ez-Q 2.5-SDD-04|ez-Q 2.5 测控系统研制项目指令集设计报告_V1.0.docx|V1.0| -## 1.5. 术语定义 +## 2.5. 术语定义 |名字|全称|解释| |:-|:-|:-| |ACQ|Acquisition|读出回波采集处理通道| |EXCT|Excitation|读出激励生成发送通道| -# 2. 编程控制模型概述 +# 3. 编程控制模型概述 -## 2.1 测控系统编程概述 +## 3.1. 1 测控系统编程概述 超导量子计算机利用微波信号来驱动量子比特和读出量子比特状态,量子比特不同类型的操作依赖不同类型的信号来控制。 ez-Q 2.5测控系统包含5种物理通道,对应5类硬件接口,分别是ACQ、EXCT、Pump、XYZ/Reset和ZCP通道; 系统具有7种控制信号,对应7种编程对象,分别是EXCT、ACQ、Pump、XY、Reset、Z和ZCP信号; @@ -90,7 +90,7 @@ ACQ的配置数据定义参考 读者可查看[《量子编程指令集》](TODO)了解相关信息。 -## 2.2 读出子系统编程 +## 3.2. 2 读出子系统编程 ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出泵浦板三个硬件组成 - 三个板卡以PXIe板卡的形式安装在机箱中位置相邻的三个槽位上 - 混频板的槽位号比基带板大1,泵浦板槽位号比基带板槽位号小1 @@ -121,11 +121,11 @@ ASIC和FPGA平台具有以下区别: * ez-Q 2.5 FPGA平台使用外部商用ADC、DAC和PLL来替换RBPU的对应功能。 * ez-Q 2.5 FPGA平台ADC、DAC采样率为4 Gsps, ASIC平台暂定为6 Gsps -# 3. 处理器ACQ通道编程模型 +# 4. 处理器ACQ通道编程模型 @import "ro_datapath.md" -## 3.1. 下变频电路配置 +## 4.1. 下变频电路配置 来自量子比特RO端口的射频信号需要经过前端模拟电路处理后才能够被读出基带处理单元采集处理。 前端下变频电路包括增益和本振,这里需要注意同一个混频板上四个通道上下变频使用同一个本振信号。 @@ -140,10 +140,10 @@ ASIC和FPGA平台具有以下区别: mix_gain 设置;仅支持 lo_freq 变频本振频率设置 ``` -## 3.2. ACQ码字功能定义 +## 4.2. ACQ码字功能定义 @import "ro_codeword.md" -## 3.3 ACQ寄存器功能定义 +## 4.3. ACQ寄存器功能定义 ACQ通道寄存器的地址空间可以被SPI和MCU同时访问, 因此用户可通过SPI或者MCU设置参数,建议: ``` @@ -202,12 +202,12 @@ function寄存器WEIGHT_IQ,CONST_EN, STEP_CTRL 位无实际效果 解模完成后,可以通过`TWO_STA_EN`来控制是否启动2态判定, 当`TWO_STA_EN=1`时,可以只配置一组直线方程系数进行态判断。 -## 3.4 匹配滤波器 +## 4.4. 匹配滤波器 匹配滤波器在FPGA/ASIC两种平台下由于资源不同实现的形式也不同,区别如下: * 由于ASIC多计算少存储,因而ASIC平台使用系数计算模式以节省存储资源。 * 由于FPGA 多存储少计算,因此FPGA平台使用系数直读模式以节省DSP资源。 -### 3.4.1 读出参数存储 +### 4.4.1. 读出参数存储 系数计算模式下,匹配滤波器的系数由DDS生成的载波乘以权重参数得到。 @@ -221,7 +221,7 @@ FPGA平台下的系数直读模式只使用`Ctrl`部分中的数据,并忽略` ![读出ACQ通道控制模型](./assets/readout_para.png) -### 3.4.2 匹配滤波器系数 +### 4.4.2. 匹配滤波器系数 ez-Q 2.5 FPGA平台使用系数直读模式,其需要额外的存储空间来配置匹配滤波器系数。 - 其中mtf_idx的含义从索引权重数据变为索引匹配滤波器系数。 @@ -235,15 +235,41 @@ ez-Q 2.5 FPGA平台使用系数直读模式,其需要额外的存储空间来 ![读出ACQ通道控制模型](./assets/readout_mtf.png) +## 4.5. 采集数据处理 +读出子系统采集的数据以流的形式按照先后顺序缓存, +缓存到指定数据后或者计时器超时后会被打包成帧上传, +上位机驱动会解帧后以流模式返回给调用接口。 +当采集多种数据时,用户需要维护采集数据的顺序, +从而解析返回数据的含义。 +建议一个实验仅仅采集一种类型数据以简化数据处理。 -# 4. 处理器EXCT-Pump编程模型 +### 4.5.1. 采集波形数据 +* FPGA平台1个时钟周期对应16个采样点(16字节) +* 数据采用大端字节序,数据遵循先采先到顺序 + +### 4.5.2. 采集IQ数据 +* 1个完整的数据包含I,Q(8字节) +* I先到达,Q后到达 +* I, Q数据采用大端字节,都占用4个字节 + +### 4.5.3. 采集态数据 +* 1个完整数据包含16个qubit态信息(4字节) +* 每个量子比特态信息用2个比特表示 +* 高位表示高序号,即32比特对应{q15,q14,...,q0}; + +### 4.5.4. 采态计数数据 +* 1个完整数据包含4个计数器数据(16字节) +* 4个计数数据顺序为0态计数器、1态计数器、2态计数器、3态计数器 +* 计数器采用大端字节序,为32比特无符号数 + +# 5. 处理器EXCT-Pump编程模型 @import "ri_datapath.md" -## 4.1 码字功能定义 +## 5.1. 1 码字功能定义 @import "ri_codeword.md" -## 4.2 寄存器功能定义 +## 5.2. 2 寄存器功能定义 EXCT-Pump通道的全部寄存器可以被SPI和MCU同时访问, 用户可以根据需要决定使用SPI还是MCU来控制寄存器的值。 |名字|功能描述| @@ -284,7 +310,7 @@ function的详细控制如下所示: * `MIX_MODE`用于直接输出射频信号,由于采用了模拟混频方案,仅使用基带模式。 * `AWG_MODE`设置AWG模式,实验选用直出模式或者调制模式,其余两种模式用于调试。 -## 4.3 波形索引表定义 +## 5.3. 3 波形索引表定义 波形查找表的深度为256条(1 kB),每个条目的位宽为32比特, 其通过8比特的波形id来索引输出波形的参数(地址和长度),最大支持256种不同的输出波形。 @@ -294,7 +320,7 @@ function的详细控制如下所示: ![波形查找表和波形仓库](./assets/readout_lut.png) -## 4.4 波形仓库定义 +## 5.4. 4 波形仓库定义 * ASIC平台下,每个时钟周期对应8个采样点,采样点个数需要为8的整数倍,数据更新率为6 Gsps,每个采样点持续时间为167 皮秒(6 GS/s)。 * 在FPGA平台下,每个时钟周期对应16个采样点,采样点个数需要为16的整数倍,数据更新率为 4 GSps,每个采样点持续时间为250皮秒。 * 每个采样点为16比特的二进制补码数据; @@ -304,7 +330,7 @@ function的详细控制如下所示: 则存储区描绘的基带波形频率$F_{s}$为1.2 GHz ,$F_s = F_{out} - F_{LO}$。 -## 4.5 EXCT上变频电路配置 +## 5.5. 5 EXCT上变频电路配置 来自读出基带板输出端口的中频信号需要经过混频板上变频电路处理后才能够被发送到量子芯片。 前端上变频电路包括增益和本振,这里需要注意同一个混频板上四个通道上下变频使用同一个本振信号。 目前ez-Q 2.5 FPGA平台硬件暂不支持变频增益设置。 @@ -314,7 +340,7 @@ function的详细控制如下所示: * lo_freq:32比特整数,范围[5400000, 5600000]单位是kHz -## 4.6 Pump模拟电路配置 +## 5.6. 6 Pump模拟电路配置 对处理器Pump通道的编程包括模拟电路配置项和使能配置项。模拟电路用于将Pump通道配置输出一个指定功率和频率的微波信号,而使能配置项用于控制微波信号的实时开关。 Pump输出时,需要使能输出并配置好输出频率和功率,以下是具体配置项。