## 5.2. 寄存器功能定义

EXC-Pump通道的全部寄存器可以被SPI和MCU同时访问，
用户可以根据需要决定使用SPI还是MCU来控制寄存器的值。

|名字|功能描述|
|:-|:-|
|wave_ctrl|寄存器索引波形，包含地址和长度信息|
|amplitude|波形输出调制幅度|
|Frequency|调制载波频率|
|Phase|调制载波相位|
|Function|AWG工作模式定义|
|pump_ctrl|pump使能脉冲控制|
|mark_ctrl|标记使能脉冲控制|

- `wave_ctrl`波形输出直接控制，可直接从波形仓库取采样点输出。
    - 高16位为索引地址，单位是时钟周期
    - 低16位为索引长度，单位是时钟周期
- `amplitude`调制幅度控制字
    - 高16位为幅度控制字acw，范围-32768~32767，归一化幅度$Amp = acw/2^{14}$
- `frequency`调制频率控制
    - 32比特频率控制字fcw，$F_{nco}= fcw/2^{32}*F_s$，其中$F_s$是输出采样率。
- `phase`调制相位控制
    - 高16位相位控制字pcw： $\phi_{nco} = pcw/2^{16}*2*\pi$。
- `function`寄存器用于设置AWG的工作模式
- `pump_ctrl`泵浦脉冲使能控制
    - 高16位控制输出延迟时钟周期，范围（1~65535）
    - 低16位控制附加持续时钟周期，范围（1~65535）
- `mark_ctrl`标记脉冲使能控制
    - 高16位控制输出延迟时钟周期，范围（1~65535）
    - 低16位控制脉冲持续时钟周期，范围（1~65535）

function的详细控制如下所示：

|比特位|名字|功能描述|
|:-|:-|:-|
|[3]|INTP_SEL| 插值模式选择，1：半带插值，0：邻近插值|
|[2]|MIX_MODE| 混频模式选择，1：混频模式，0：基带模式|
|[1:0]|AWG_MODE| AWG模式, 00：直出，01：调制，10：Hilbert，11：NCO|

* `INTP_SEL`在FPGA平台下受限于DSP资源，只能设置为邻近插值模式。
* `MIX_MODE`用于直接输出射频信号，由于采用了模拟混频方案，仅使用基带模式。
* `AWG_MODE`设置AWG模式，实验选用直出模式或者调制模式，其余两种模式用于调试。

### AWG 工作模式选择指南

`func_ctrl` 寄存器的 `AWG_MODE` 字段定义了 AWG 模块的四种工作模式，不同模式适用于不同的实验场景：

| AWG_MODE | 模式名称 | 数据路径 | 典型用途 | 频率灵活性 |
|:---:|:---|:---|:---|:---|
| `00` | 直出模式 (Direct) | 波形仓库 → DAC | **量子比特操作**：直接输出包含多频点的基带波形，配合外部模拟混频实现多比特并行读出 | 频率固定（由波形数据决定） |
| `01` | 调制模式 (Modulation) | 波形仓库 → NCO 混频 → DAC | **腔频扫描**：基带波形为 DC 包络，NCO 频率可由寄存器实时切换实现扫频 | 频率灵活（MCU 实时改 NCO） |
| `10` | Hilbert 模式 | 波形仓库 → Hilbert 变换 → DAC | **调试**：输出波形的正交分量，用于验证 Hilbert 变换实现 | — |
| `11` | NCO Only 模式 | NCO → DAC | **性能测试**：输出纯净单音连续波，连接外部仪器测试芯片性能 | 仅输出 NCO 频率 |

**模式选择决策树**：

1. **实验需要输出量子门操作波形** → 使用**直出模式** (`00`)
    - 波形包含多个读出频率分量，可并行读出多个 qubit
    - 频率由预计算的基带波形确定，触发后不可实时改变
   
2. **实验需要扫频（如腔频扫描、Rabi 振荡）** → 使用**调制模式** (`01`)
    - 基带波形仅定义脉冲包络，NCO 提供频率灵活性
    - MCU 可通过写 `frequency` 寄存器实时改变输出频率，无需重新加载波形
   
3. **芯片本身性能验证（如相噪、杂散测试）** → 使用**NCO Only 模式** (`11`)
    - 输出连续波，不受波形仓库长度限制
   
4. **验证 Hilbert 变换硬件实现** → 使用**Hilbert 模式** (`10`)
    - 仅用于调试，正常实验不使用

> **建议**：常规量子实验使用直出模式（`00`）；需要频率扫描的实验使用调制模式（`01`）；Hilbert 和 NCO Only 模式仅在调试和测试阶段使用。

### 输出模式 (NRZ/MIX/HBNRZ/HBMIX) 选择

结合 `MIX_MODE` 和 `INTP_SEL`，AWG 支持四种最终输出模式：

| 输出模式 | MIX_MODE | INTP_SEL | 特点 | 平台支持 | 适用场景 |
|:---|:---:|:---:|:---|:---|:---|
| NRZ | 0（基带） | 0（邻近插值） | 基带直出，无插值滤波 | FPGA + ASIC | 外部模拟混频，低频输出 |
| MIX | 1（混频） | 0（邻近插值） | 混频输出，无插值滤波 | FPGA + ASIC | 射频直出，高频输出 |
| HBNRZ | 0（基带） | 1（半带插值） | 基带 + 半带插值，平坦度优化 | **仅 ASIC** | 外部模拟混频 + 高平坦度要求 |
| HBMIX | 1（混频） | 1（半带插值） | 混频 + 半带插值，最佳高频性能 | **仅 ASIC** | 射频直出 + 最优平坦度（推荐 ASIC 高频场景） |

> **当前推荐**：ez-Q 2.5 采用模拟混频方案，所有平台使用 **NRZ 模式**（`MIX_MODE=0, INTP_SEL=0`）。MIX/HBMIX/HBNRZ 模式为 ASIC 平台射频直出方案预留。
