更新文档

This commit is contained in:
guocheng 2025-10-29 18:20:54 +08:00
parent cf02c4817a
commit 8b3af1fabe
8 changed files with 151 additions and 83 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -1,11 +1,5 @@
AWG模块仅使用码字指令的低13位其余位保留
AWG模块仅使用码字指令的低13位其余位保留
控制码字功能定义如下表所示。
指令码低8位用作波形索引总共可以索引256种波形能够实现多个比特不同排列组合下的读取操作
码字比特[8]用于触发发出Pump脉冲输出该脉冲可用于使能外部开关避免Pump信号持续输出加热制冷机
码字比特[9]用于触发Marker脉冲输出该脉冲能够触发外部仪器可协同控制与外部芯片或者仪器方便调试
码字比特[10]用作内部NCO清零信号该功能可以在调制输出模式下复位输出波形的相位
码字比特[11]用于使能动态波形输出功能该功能直接使用wave_ctrl寄存器中来索引波形
码字比特[12]用于禁用波形输出通过使能该比特可以仅输出Pump或者Marker脉冲而不输出波形。
|比特位|名字|功能描述|
|:-|:-|:-|
@ -15,3 +9,10 @@ AWG模块仅使用码字指令的低13位其余位保留。
|[9]|MARK_EN| 标记脉冲输出使能, 高有效|
|[8]|PUMP_EN| 泵浦脉冲输出使能, 高有效|
|[7:0]|WAVE_ID| 波形编号, 最大索256个波形输出|
- 码字比特[7:0]用作波形索引总共可以索引256种波形能够实现多个比特不同排列组合下的读取操作
- 码字比特[8]用于触发发出Pump脉冲输出该脉冲可用于使能外部开关避免Pump信号持续输出加热制冷机
- 码字比特[9]用于触发Marker脉冲输出该脉冲能够触发外部仪器可协同控制与外部芯片或者仪器方便调试
- 码字比特[10]用作内部NCO清零信号该功能可以在调制输出模式下复位NCO的累积相位
- 码字比特[11]用于使能动态波形输出功能该功能直接使用wave_ctrl寄存器中来索引波形暂不使用该功能
- 码字比特[12]用于禁用波形输出通过使能该比特可以仅输出Pump或者Marker脉冲而不输出该指令码字[7:0]索引的波形。

View File

@ -1,36 +1,52 @@
RI-Pump通道的编程包括
EXC-Pump通道的编程包括
MCU的指令、MCU的数据、控制寄存器、波形索性表、波形仓库和模拟电路配置6类数据。
其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器
控制寄存器可用于指定调制频率、调制相位等参数;
波形索引表定义了从波形ID到波形地址和长度的映射波形仓库定义了波形具体的采样点数据。
模拟电路配置用于设置变频增益和输出频率。
下图是RO通道数字部分的编程控制模型。
- MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器
- 控制寄存器可用于指定调制频率、调制相位等参数;
- 波形索引表定义了从波形ID到波形地址和长度的映射波形仓库定义了波形具体的采样点数据。
- 模拟电路配置用于设置变频增益和本振频率以及Pump通道的频率和功率等。
当前模拟电路仅需配置Pump参数下图是EXC-Pump通道数字部分的编程控制模型。
![读出RI-Pump通道控制模型](D:/code/ezq3p0/manual_doc/readout_program/assets/readout_ri.png)
RI-Pump通道的波形输出由AWG模块MCU发出的码字触发。
1. EXC-Pump通道的波形输出由AWG模块MCU发出的码字触发。
对于输出波形而言MCU发出的码字定义波形的索引ID
索引ID输入到波形索引表之后输出波形在波形仓库中的起始地址和长度
1. 索引ID输入到波形索引表之后输出波形在波形仓库中的起始地址和长度
接着波形仓库利用起始地址和长度将对应采样点的原始数据输出。
原始数据经过希尔伯特变换后增加了虚部数据(滤除了负频),
1. 原始数据经过希尔伯特变换后增加了虚部数据(滤除了负频),
接着数据进入正交数字混频模块与NCO产生的单音信号混频后得到调频数据。
上述过程中的原始波形数据、希尔伯特虚部数据、调频数据以及NCO自身产生的单音数据都可以通过数据源选择器选择输出。
经过选择器后数据首先经过调幅模块接着经过半带滤波器进行插值、然后再经过MIX模块进行采样频率搬移
半带滤波器和MIX模块都支持旁路功能因此最终波形输出支持NRZ、MIX、HBNRZ和HBMIX四种模式。
最后经过DAC和外部模拟混频后输出读出激励波形。
1. 经过模式选择器后数据首先经过调幅模块接着经过半带滤波器进行插值、然后再经过MIX模块进行采样频率搬移
上述过程中模式选择器可以选择原始波形数据、希尔伯特虚部数据、正交调制数据以及NCO自身产生的单音数据。
- 原始波形模式:用于量子实验,通过直接输出包含多个读出频率的波形,可以实现对多个量子比特的并行读出;
- 正交调制模式用于腔频扫描等应用通过实时修改NCO频率可以实时改变输出频率配合DAQ进行实时读取可以实现扫频功能。若基带信号包含多个频点还能实现多频点并行扫描功能
- NCO Only模式可以输出连续波形方便连接外部仪器上进行测试用于芯片本身性能的测试。
- 希尔伯特虚部模式:输出波形经过希尔伯特变换后的正交部分,仅用于调试。
最后数字信号经过DAC转换成基带信号基带信号再和外部本振信号模拟混频后输出读出激励波形。
读出芯片不同模式输出的频响曲线如下图所示:
![output_response](D:/code/ezq3p0/manual_doc/readout_program/assets/output_response.png)
为了兼容混频输出和射频直出两种工作模式以及在FPGA和ASIC平台上实现半带滤波器和MIX模块都支持旁路功能因此最终波形输出支持NRZ、MIX、HBNRZ和HBMIX四种模式。
- NRZ模式适合低频输出可用于外部混频情况无需插值滤波器ASIC和FPGA平台可用。
- MIX模式适合高频输出可用于射频直出情况无需插值滤波器ASIC和FPGA平台可用。
- HBNRZ模式在NRZ模式的基础上增加了插值滤波器优化了输出平坦度仅ASIC平台支持。
- HBMIX模式在MIX模式的基础上增加了插值滤波器优化了输出平坦读仅ASIC平台支持。
射频直出主要为ASIC平台预留使用HBMIX模式时读取激励信号使用了高阶奈奎斯特域频率考虑DAC采样率超频到8 GSps使用mix-mode模式时等价采样率为16 GSps。6~7 GHz的输入频率会由于0阶保持输出功率存在sinc滚降归一化的信号输出功率如上图绿色曲线所示。可以看到7 GHz输出相比直流输出功率下降了6.5 dB6~7GHz工作范围内功率平坦度约为2 dB。
Pump通道输出的使能信号由MCU码字触发输出
当MCU输出码字的对应位使能后脉冲发生模块从寄存器或波形索引表得到脉冲长度控制数据
并将指定长度的脉冲信号通过I/O直接输出。
```
ez-Q 2.2的Pump通道需要提前配置频率、功率和输出使能
```
由于RI-Pump通道有且仅有基带处理单元存在状态机
当RI-Pump通道由于上位机强制中断程序或者MCU配置了错误指令而产生异常时
为了清除RI-Pump通道的异常状态
RI-Pump通道提供了软复位功能支持通过调用驱动API来执行软复位操作
由于EXC-Pump通道有且仅有基带处理单元存在状态机
EXC-Pump通道由于上位机强制中断程序或者MCU配置了错误指令而产生异常时
为了清除EXC-Pump通道的异常状态
EXC-Pump通道提供了软复位功能支持通过调用驱动API来执行软复位操作
其能够使得状态机从异常中恢复,从而使得下一次历史无关配置项能够正确执行。
![output_response](D:/code/ezq3p0/manual_doc/readout_program/assets/output_response.png)
读出芯片兼容射频直出功能射频直出时读取激励信号使用了高阶奈奎斯特域频率考虑DAC采样率超频到8 GSps使用mix-mode模式时等价采样率为16 GSps。6~7 GHz的输入频率会由于0阶保持输出功率存在sinc滚降归一化的信号输出功率如上图红色部分所示。可以看到7 GHz输出相比直流输出功率下降了6.5 dB6~7GHz工作范围内功率平坦度约为2 dB。
AWG的波形输出支持3种工作模式分别是波形直出模式、调制模式、NCO Only模式。一般情况下直出模式用于量子实验通过直接输出包含多个读出频率的波形可以实现对多个量子比特的并行读出调制模式用于腔频扫描等应用通过实时修改NCO频率可以实时改变输出频率配合DAQ进行实时读取可以实现扫频功能。若基带信号包含多个频点还能实现多频点并行扫描功能NCO Only模式可以输出连续波形方便连接外部仪器上进行测试用于芯片本身的测试

View File

@ -1,13 +1,4 @@
RO通道通过产生32位的码字来控制读出行为32位的操控码字功能定义如下表所示。
码字比特[3:0]用于选择要实时从存储中加载的解模和态判断参数总共支持16组参数进行快速切换
解模包络参数和频率参数也可以通过码字比特[11:10]来选择寄存器控制还是查找表控制。
寄存器控制可以实时修改解模产生,而查找表控制可以支持参数快速切换。
码字比特[5:4]用于对解模数据进行统计操作,通过实时统计可降低芯片外传数据量;
码字比特[7:6]用于将读出比特数据通过并行和串行接口发出,用于支持系统局部和全局反馈功能;
码字比特[9:8]用于对统计数据进行清零;
码字比特[15:11]用于使能要存储几种数据模式,四种数据仅能在部分条件下支持同时存储,
同时存储多种数据时,死时间会增加,推荐实验过程中一次指令仅能使能一种数据;
码字比特 [31:16]用于使能对对每个比特的控制读出芯片最大支持16个量子比特。
|比特位|名字|功能描述|
|:-|:-|:-|
@ -26,9 +17,22 @@ RO通道通过产生32位的码字来控制读出行为32位的操控码字
|[4]|DEMOD_SUM_VAL| 解模求和命令有效, 高电平使能解模求和功能|
|[3:0]|PARA_ID| 读出参数查找表索引, 总共支持最大16组参数|
- 码字比特[3:0]用于选择要实时从存储中加载的解模和态判断参数总共支持16组参数进行快速切换
- 码字比特[4]用于对解模数据进行求和操作,通过采集求和数据可降低芯片推送数据量;
- 码字比特[5]用于对态判断结果进行计数统计,通过采集计数结果可降低芯片推送数据量;
- 码字比特[6]用于使能读出比特数据通过并行接口发出,用于支持系统局部反馈功能;
- 码字比特[7]用于使能读出比特数据通过串行接口发出,用于支持系统全局反馈功能;
- 码字比特[8]用于对IQ求和数据进行清零清零后可开启新一轮统计
- 码字比特[9]用于对态计数数据进行清零,清零后可开启新一轮统计;
- 码字比特[10]用于使能寄存器控制NCO可通过MCU实时控制突破参数个数限制。
- 码字比特[11]用于使能寄存器索引权重/系数可通过MCU实时控制突破参数个数限制。
- 码字比特[15:12]使能要存储数据,同时存储多种数据会导致死时间会增加,推荐仅使能一种数据;
- 码字比特 [31:16]用于使能对对每个比特的控制读出芯片最大支持16个量子比特。
当同一个码字指令驱动的多个量子比特解模长度不同时,
解模时间等于最长那个比特的解模时间。
解模在当同时使能四种数据存储时,
存储的先后顺序为波形数据、解模IQ数据、态判断数据和计数数据。
当同时使能解模清零和求和操作时,先执行清零再执行求和。
当同时使能态统计和态清零时,先执行态清零再执行态统计。
* 在一个指令中同时使能了解模求和清零、解模求和和求和存储时:先执行求和清零,再执行求和,最后执行求和结果存储
* 在一个指令中同时使能了态计数清零、态计数和计数存储时:先执行态计数清零,再执行态计数,最后执行计数结果存储

View File

@ -3,17 +3,22 @@
对模拟调理电路的编程包括变频增益控制和变频本振频率控制。
模拟信号进入基带处理单元后先经过巴伦将单端信号转换成ADC所需的差分信号。
接着读出芯片利用ADC8 bit@5.6Gsps)采样输入信号并给到数字电路。
对读出基带单元RO通道数字电路的编程包括MCU的指令、MCU的数据、RO通道控制寄存器、解模参数四类数据。
其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器
控制寄存器可用于指定解模频率、解模相位、解模权重数据索引地址和长度等参数;
解模参数数据定义了具体的权重数据和量子态判断参数等数据。下图是RO通道的编程控制模型。
对读出基带单元RO通道数字电路的编程包括MCU的指令、MCU的数据、RO通道控制寄存器、解模参数、模拟电路配置5类数据。
- MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器
- 控制寄存器可用于指定解模频率、解模相位、解模权重数据索引地址和长度等参数;
- 解模参数数据定义了具体的权重数据和量子态判断参数等数据。
- 模拟电路配置用于设置变频增益和本振频率。
当前模拟电路无需配置下图是ACQ通道的编程控制模型。
![读出RI-Pump通道控制模型](D:/code/ezq3p0/manual_doc/readout_program/assets/readout_ro.png)
射频信号经过混频板下变频后进入到ADCADC采集的原始波形数据①从图中右侧端口输入接着输入到解模模块中
解模模块利用匹配滤波器模块生成的解模参数对输入波形进行解模运算得到IQ数据②
接着解模IQ数据②输入到态判断模块中经过态判定后得到态数据④
最后态数据④经过态统计后得到态统计结果⑤。
- 射频信号经过混频板下变频后进入到ADC
- ADC采集的原始波形数据①从图中右侧端口输入接着输入到解模模块中
- 解模模块利用匹配滤波器模块生成的解模参数对输入波形进行解模运算得到IQ数据②
- 接着解模IQ数据②输入到态判断模块中经过态判定后得到态数据④
- 最后态数据④经过态统计后得到态统计结果⑤
上述过程中,数据①②③④⑤都可以在数据转发模块缓存后通过`rslt_push`接口发送出去,
需要注意到的是数据②是解模求和数据③在求和次数为1的特殊情况。
由于RO通道有且仅有基带处理单元存在状态机因此需要考虑到异常状态恢复因此RO通道提供了软复位功能

View File

@ -3,7 +3,7 @@
# 修订记录
|版本|修订日期|修订原因|修订内容|修订人|
|:-|:-|:-|:-|:-|
|v1.0|2025/10/27|统一格式|初始版本|郭成|
|v0.1|2025/10/27|统一格式|初始版本|郭成|
# 1. 前言
## 1.1. 目的与范围
@ -50,28 +50,35 @@ ez-Q 2.5测控系统包含5种物理通道对应5类硬件接口分别是
|EXC通道|EXC(RI)信号|EXC-Pump控制模型|
|Pump通道|Pump信号|^|
测控系统中的每种控制模型实现的功能都是通过微控制器发出的码字+当前寄存器+配置数据+模拟电路配置这4种数据来定义
- 测控系统中的每种控制模型实现的功能都是通过微控制器发出的码字+当前寄存器+配置数据+模拟电路配置这4种数据来定义
其中部分寄存器状态支持微控制器实时修改,从而让通道的输入/输出控制具备动态控制能力。
测控系统的寄存器、配置数据和模拟电路配置返回数据统一采用大端字节序。
- 测控系统的寄存器、配置数据和模拟电路配置返回数据统一采用**大端字节序**。
本文档通过对不同编程模型下码字定义、控制寄存器、配置数据和模拟电路设置进行介绍,旨在让用户能够对信号的产生和处理进行编程控制。针对实验流程和码字产生的编程,读者需要查看对应指令集文档或者编程语言文档。
## 2.2 读出子系统编程
ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出泵浦板三个硬件组成
三个板卡以PXIe板卡的形式安装在机箱中位置相邻的三个槽位上
混频板的槽位号比基带板大1泵浦板槽位号比基带板槽位号小1
ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出泵浦板三个硬件组成
- 三个板卡以PXIe板卡的形式安装在机箱中位置相邻的三个槽位上
- 混频板的槽位号比基带板大1泵浦板槽位号比基带板槽位号小1
因此可以通过仅指定读出基带板槽位号来定位混频板和泵浦板槽位号,
读出子系统硬件架构如下图所示。
读出基带板负责产生、输出、采集和处理基带信号以及为泵浦通道产生使能信号;
读出混频板通过产生一个本振信号,用于实现基带信号与射频信号之间的转换,
而读出泵浦板负责产生一个指定功率频率的单音信号,并利用外部使能信号来实时使能微波信号的输出。
- 读出基带板负责产生、输出、采集和处理基带信号以及为泵浦通道产生使能信号;
- 读出混频板通过产生一个本振信号,用于实现基带信号与射频信号之间的转换,
- 而读出泵浦板负责产生一个指定功率频率的单音信号,并利用外部使能信号来实时使能微波信号的输出。
```
在ez-Q 2.5 FPGA平台读出子系统混频板和泵浦板复用同一个硬件板卡。
```
![读出子系统组成](./assets/readout_system.png)
当软件需要对不同通道编程时其通过ip地址指定机箱、通过槽位号指定板卡、
通过扩展地址指定同一个板卡内的多个通道、通过地址指定一个通道内的不同配置项。
```
地址维护由专门的表来定义,本文不对地址翻译进行赘述。
```
# 3. 处理器ACQ通道编程模型
@ -81,20 +88,28 @@ ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出
来自量子比特RO端口的射频信号需要经过前端模拟电路处理后才能够被读出基带处理单元采集处理。
前端模拟调理电路包括增益和本振,这里需要注意同一个混频板上四个通道上下变频使用同一个本振信号。
目前ez-Q 2.5 FPGA平台暂不支持变频增益`mix_gain`设置。
|配置名|描述|
|:-:|:-:|
|lo_freq|变频本振频率设置|
|mix_gain|下变频增益设置|
```
目前ez-Q 2.5 FPGA平台暂不支持下变频增益
mix_gain 设置;仅支持 lo_freq 变频本振频率设置
```
## 3.2. ACQ码字功能定义
@import "ro_codeword.md"
## 3.3 ACQ寄存器功能定义
ACQ通道寄存器的地址空间可以被SPI和MCU同时访问
因此用户可通过SPI或者MCU设置参数。
```
建议静态参数通过SPI配置完成就保持不变
需要动态控制的参数通过MCU来实时更新。
```
|名字|功能描述|
|:-|:-|
@ -103,10 +118,11 @@ ACQ通道寄存器的地址空间可以被SPI和MCU同时访问
|mtf_idx_q[15:0]|解模参数控制分别对应16个频点|
|dds_fpw_q[15:0]|解模频率相位控制分别对应16个频点|
sample_depth用于控制波形采集模式下采集波形的长度
mtf_idx_q在使能寄存器控制情况下用于直接索引匹配滤波器权重/系数;
dds_fpw_q在使能寄存器控制情况下用于控制解模的频率和相位
function用来控制整个读出基带板数据处理行为
- sample_depth用于控制波形采集模式下采集波形的长度
- mtf_idx_q在使能寄存器控制情况下用于直接索引匹配滤波器权重/系数;
- dds_fpw_q在使能寄存器控制情况下用于控制解模的频率和相位
- function用来控制整个读出基带板数据处理行为
function功能寄存器与实验控制相关的具体控制位包括
|比特位|名字|功能描述|
@ -120,36 +136,48 @@ function功能寄存器与实验控制相关的具体控制位包括
系数计算模式支持通过设置`CONST_EN=1`来启用常量权重功能,此时权重值为`WEIGHT_IQ`。
而当`CONST_EN=0`时,权重数据通过`mtf_idx_q`来索引得到,
并通过`STEP_CTRL`控制每个权重值对应多少个时钟周期的采样点。
```
ez-Q 2.5 FPGA平台采用系数直读模式因此不支持上述功能。
即在ez-Q 2.5平台下WEIGHT_IQCONST_EN 控制位无实际效果
```
解模完成后,可以通过`TWO_STA_EN`来控制是否启动2态判定
当`TWO_STA_EN=1`时,可以只配置一组直线方程系数进行态判断。
## 3.4 匹配滤波器参数
## 3.4 匹配滤波器
匹配滤波器在FPGA/ASIC两种平台下由于资源不同实现的形式也不同。
### 3.4.1 ASIC平台
由于ASIC多计算少存储因而ASIC平台时使用系数计算模式。
系数计算模式下匹配滤波器的系数由DDS生成的载波乘以权重参数得到。
其中载波的频率和相位由dds_pfd控制其高20为作为频率控制字低12位作为相位控制字。
权重参数的选择由mtf_idx控制其高16位作为地址低16位作为长度。
寄存器dds_pfw_q 和mtf_idx_q 的详细定义与查找表中定义保持相同。
- 其中载波的频率和相位由dds_pfd控制其高20为作为频率控制字低12位作为相位控制字。
- 权重参数的选择由mtf_idx控制其高16位作为地址低16位作为长度。
- 寄存器dds_pfw_q 和mtf_idx_q 的详细定义与查找表中定义保持相同。
读出系统的的相关参数的存储格式如下图所示。
系数只读模式只使用`Ctrl`部分中的数据,并忽略`dds_pfw`控制字.
![读出ACQ通道控制模型](./assets/readout_para.png)
## 3.5 匹配滤波器系数
### 3.4.2 FPGA平台
由于FPGA 多存储少计算资源因此FPGA平台时使用系数直读模式以节省DSP资源。
ez-Q 2.5 FPGA平台使用系数只读模式其需要额外配置匹配滤波器系数。
其中mtf_idx的含义从索引权重数据变为索引匹配滤波器系数。
匹配滤波器系数索引的粒度是时钟周期,
在FPGA平台下每个时钟周期对应16个采样点数据。
匹配滤波器系数采样点采用8比特数据位宽因此1个周期数据位宽为128 bit
- 其中mtf_idx的含义从索引权重数据变为索引匹配滤波器系数。
- 匹配滤波器系数索引的粒度是时钟周期,
- 在FPGA平台下每个时钟周期对应16个采样点数据。
- 匹配滤波器系数采样点采用8比特数据位宽因此1个周期数据位宽为128 bit
匹配滤波器系数存储结构如下图所示。
匹配滤波器的I和Q数据分开存储每个比特的I、Q数据容量分别为16 KB。
I路数据偏移地址为x*32KBQ路数据偏移地址为x*32KB+16 KB其中x为Qubit序号范围为0~15。
- 匹配滤波器的I和Q数据分开存储每个比特的I、Q数据容量分别为16 KB。
- I路数据偏移地址为x*32KBQ路数据偏移地址为x*32KB+16 KB其中x为Qubit序号范围为0~15。
![读出ACQ通道控制模型](./assets/readout_mtf.png)
```
ez-Q 2.5平台为FPGA平台
```
# 4. 处理器EXC-Pump编程模型
@import "ri_datapath.md"
@ -170,13 +198,13 @@ EXC-Pump通道的全部寄存器可以被SPI和MCU同时访问
|pump_ctrl|pump使能脉冲控制|
|mark_ctrl|标记使能脉冲控制|
`wave_ctrl`的格式定义保持和波形索引表格式相同绕过波形查找表直接控制AWG波形输出。
`amplitude`高16为用于设置调幅幅度码值范围0\~16384对应归一化范围0~1。
`frequency`对应NCO的48位FCW的高32位而FCW的低16位恒为0。
$F_{NCO}= FCW/2^{48}*F_s$。其中`F_s`是输出采样率。
`phase`寄存器的高16位用于设置NCO的相位控制字PCW
$\phi_{NCO} = PCW/2^{16}*2*\pi$。
`funciton`寄存器和实验相关的控制包括:
- `wave_ctrl`的格式定义保持和波形索引表格式相同绕过波形查找表直接控制AWG波形输出。
- `amplitude`高16为用于设置调幅幅度码值范围0\~16384对应归一化范围0~1。
- `frequency`对应NCO的48位FCW的高32位而FCW的低16位恒为0。
$F_{nco}= fcw/2^{48}*F_s$。其中`F_s`是输出采样率。
- `phase`寄存器的高16位用于设置NCO的相位控制字PCW
$\phi_{nco} = pcw/2^{16}*2*\pi$。
- `funciton`寄存器和实验相关的控制包括:
|比特位|名字|功能描述|
|:-|:-|:-|
@ -184,18 +212,32 @@ $\phi_{NCO} = PCW/2^{16}*2*\pi$。
|[2]|MIX_MODE| 混频模式,用于将采用率翻倍|
|[1:0]|AWG_MODE| AWG工作模式, 直出、调制、NCO、Hilbert|
```
对于实验一般选用直出模式或者调制模式,其余两种模式用于调试。
```
```
MIX_MODE用于直接输出射频信号由于采用了模拟混频方案不使能该功能。
```
```
`INTP_SEL`在FPGA平台下受限于DSP资源只能设置为邻近插值模式。
```
## 4.3 波形索引表定义
波形查找表的深度为256条1 kB每个条目的位宽为32比特
其通过8比特的波形id来索引输出波形的参数地址和长度最大支持256种不同的输出波形。
索引表格式定义如下图所示: wave_id是mcu产生的码字其可以作为地址索引波形控制参数。
波形控制参数包括波形地址`addr`和波形长度`len`参数。
```
ezq2.5 ASIC平台下读出地址和长度单位是8个采样点
ezq2.5 FPGA平台下读出地址和长度单位是16个采样点。
```
```
每个采样点为16比特的二进制补码数据。
```
![波形查找表和波形仓库](./assets/readout_lut.png)