rbpu_datasheet/chapters/08_register_map.md

66 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 寄存器定义
## 寄存器摘要
读出芯片偏移地址空间分配如下所示用户可以通过读写相应地址来控制读出芯片功能和访问芯片状态。读出芯片地址空间包含系统配置状态、模拟配置状态、DAQ 配置状态、AWG 配置状态以及 PLL 配置状态五个部分。
@import "data/seg_define.csv" using render_address.py
<div class="note">
**注 1** DAQ 和 AWG 各自包含一个 MCU 模块MCU 模块仅能够访问模块内部的控制器指令、控制器数据和寄存器配置,访问基地址分别重新映射到了 `0x000000`、`0x100000` 和 `0x200000`
**注 2** MCU 仅能够显示访问控制器数据和对应寄存器配置数据。对于控制器指令空间,控制器自动读取指令并运行,无法显式访问和修改数据。
**注 3** 匹配滤波器参数和匹配滤波器权重分别对应 FPGA 和 ASIC 平台。FPGA 平台受限于计算资源有限,采用系数直接存储的方案,需要额外配置 `0x580000` 地址数据,此时 `0x500000` 地址中仅包络参数有效。
**注 4** 系统状态配置、模拟配置状态、PLL 配置状态属于运维寄存器,实验时禁止修改。实验只需要修改 DAQ 配置状态和 AWG 配置状态。
</div>
## 操作码字定义
### 激励输出控制码字
AWG MCU 发出的控制码字格式13 位):
| Bit | 字段名 | 说明 |
|:-:|:-|:-|
| [12] | PULSE_ONLY | 仅脉冲输出模式。置 1 时仅输出 Pump 脉冲,不输出波形 |
| [11] | PARAMETER_SEL | 参数选择。0: 使用默认参数1: 使用码字携带的参数 |
| [10] | NCO_CLR_EN | NCO 相位清零使能。置 1 时清零 NCO 相位累加器 |
| [9] | MARK_EN | 标记输出使能。置 1 时在当前波形段输出期间使能标记信号 |
| [8] | PUMP_EN | Pump 使能。置 1 时触发 Pump 脉冲输出 |
| [7:0] | WAVE_ID | 波形段 ID。通过波形映射表查找对应的波形段起始地址和长度 |
### 采集处理控制码字
DAQ MCU 发出的控制码字格式32 位):
| Bit | 字段名 | 说明 |
|:-:|:-|:-|
| [31:16] | QUBIT_EN | 16 量子比特使能。每比特对应一个量子比特1 表示使能对应通道 |
| [15] | COUNT_SAVE_EN | 计数统计保存使能 |
| [14] | STATE_SAVE_EN | 态结果保存使能 |
| [13] | IQ_SAVE_EN | IQ 数据保存使能 |
| [12] | WAVE_SAVE_EN | 原始波形保存使能 |
| [11] | MTF_IDX_SEL | 匹配滤波器索引选择 |
| [10] | DDS_FPW_SEL | DDS 频率/相位字选择 |
| [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 | 读出参数 ID。指向 DAQ_PAR 中的参数组 |
<div class="note">
对于多比特解模DAQ 按每个量子比特通道执行解模运算,运算顺序为 Qubit 0 → Qubit 15。数据存储顺序与解模顺序一致。态判定在解模完成后进行态统计在态判定完成后进行。
</div>
## 寄存器/存储详细定义
读出芯片的详细寄存器/存储定义参考 [读出芯片 IDS 表](../script/读出子系统IDS表.xls)。相应的驱动软件配置文件参考 [读出芯片 IDS 表 JSON](../data/ids.json)。
@import "data/ids.json" using render_registers.py