readout_program/chapters/04-02-acq-codeword.md

68 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

2026-07-24 20:24:39 +08:00
## 4.2. ACQ码字功能定义
2026-07-28 14:32:35 +08:00
ACQ通道利用MCU产生32位的码字来控制读出行为32位的操控码字功能定义如下表所示。
2025-09-24 11:47:31 +08:00
|比特位|名字|功能描述|
|:-|:-|:-|
|[31:16]|QUBIT_EN| 16个量子比特使能高电平使能对应位量子比特|
2026-07-28 16:31:02 +08:00
|[15]|COUNT_SAVE_EN| 态计数数据存储使能, 高电平使能态计数存储|
2025-09-24 11:47:31 +08:00
|[14]|STATE_SAVE_EN| 态数据存储使能, 高电平使能态数据存储|
|[13]|IQ_SAVE_EN| 解模数据存储使能, 高电平使能解模数据存储|
|[12]|WAVE_SAVE_EN| 波形数据存储使能, 高电平使能波形数据存储|
|[11]|MTF_IDX_SEL| 匹配滤波器索引选择1寄存器0查找表|
|[10]|DDS_FPW_SEL| 解模频率相位控制字选择, 1寄存器0查找表|
|[9]|STATE_CLR_VAL| 态统计清零有效, 高电平清零计数|
|[8]|DEMOD_CLR_VAL| 解模求和清零有效, 高电平清零求和值|
|[7]|GLB_FB_VAL| 全局反馈触发有效, 高电平使能全局反馈|
|[6]|LOC_FB_VAL| 局部反馈命令有效, 高电平使能局部反馈|
|[5]|STATE_STS_VAL| 态统计命令有效, 高电平使能态计数功能|
|[4]|DEMOD_SUM_VAL| 解模求和命令有效, 高电平使能解模求和功能|
|[3:0]|PARA_ID| 读出参数查找表索引, 总共支持最大16组参数|
2025-10-29 18:20:54 +08:00
- 码字比特 [31:16]用于使能对对每个比特的控制读出芯片最大支持16个量子比特。
2025-11-04 21:13:36 +08:00
- 码字比特[15:12]使能要存储数据,同时存储多种数据将导致死时间增加,推荐仅使能一种数据;
- 码字比特[11]用于使能寄存器索引权重/系数可通过MCU实时控制突破参数个数限制。
- 码字比特[10]用于使能寄存器控制NCO可通过MCU实时控制突破参数个数限制。
- 码字比特[9]用于对态计数数据进行清零,清零后可开启新一轮统计;
- 码字比特[8]用于对IQ求和数据进行清零清零后可开启新一轮统计
- 码字比特[7]用于使能读出比特数据通过串行接口发出,用于支持系统全局反馈功能;
- 码字比特[6]用于使能读出比特数据通过并行接口发出,用于支持系统局部反馈功能;
- 码字比特[5]用于对态判断结果进行计数统计,通过采集计数结果可降低芯片推送数据量;
- 码字比特[4]用于对解模数据进行求和操作,通过采集求和数据可降低芯片推送数据量;
- 码字比特[3:0]用于选择要实时从存储中加载的解模和态判断参数总共支持16组参数进行快速切换
2025-10-29 18:20:54 +08:00
2025-11-04 21:13:36 +08:00
**注意码字存在优先级和时序:**
2026-07-28 14:32:35 +08:00
2025-11-04 21:13:36 +08:00
* 当同一个指令中同时对多个量子比特解模/读出时,
2026-07-28 16:31:02 +08:00
* 解模时间等于最长那个比特的解模时间
* 读出时间等于最长那个比特的读出时间
2025-11-04 21:13:36 +08:00
* 在一个指令中同时使能四种数据存储时,存储的先后顺序为:
2026-07-28 16:31:02 +08:00
1. 波形数据
1. 解模IQ数据
1. 态判断数据
1. 态计数数据
2025-11-04 21:13:36 +08:00
* 在一个指令中同时使能了解模求和清零、解模求和和求和存储时,顺序为:
2026-07-28 16:31:02 +08:00
1. 先执行IQ结果清零
1. 再执行IQ结果求和
1. 最后执行IQ结果存储
2025-11-04 21:13:36 +08:00
* 在一个指令中同时使能了态计数清零、态计数和计数存储时,顺序为:
2026-07-28 16:31:02 +08:00
1. 先执行态计数清零
1. 再执行态计数
2026-07-30 01:42:16 +08:00
1. 最后执行计数结果存储
### 死时间与存储选择
同时使能多种数据存储将引入额外的死时间dead time即硬件在完成当前数据推送之前无法响应下一触发的时间间隔。不同存储类型的相对数据量如下
| 存储类型 | 单次数据量 | 特点 |
|:---|:---|:---|
| 波形数据 (WAVE_SAVE_EN) | 取决于 `sample_depth`(时钟周期数 × 每周期采样点数 × 8 bit | 数据量最大 |
| 解模 IQ 数据 (IQ_SAVE_EN) | 8 字节/qubitI 4B + Q 4B | 数据量较小 |
| 态数据 (STATE_SAVE_EN) | 4 字节/全部 qubit每 qubit 2 bit | 数据量最小 |
| 态计数 (COUNT_SAVE_EN) | 16 字节/全部 qubit4 个计数器各 4B | 数据量较小 |
> **推荐实践**
2026-07-30 11:53:34 +08:00
>
2026-07-30 01:42:16 +08:00
> - 同时使能多种存储类型时,存储顺序为:波形数据 → 解模 IQ 数据 → 态判断数据 → 态计数数据;
> - 同时使能多种存储会叠加死时间并增加数据帧解析复杂度。**建议每次仅使能一种存储类型**
> - 实际死时间取决于使能数据类型、qubit 数量和平台时钟频率,具体数值应通过实验测定。