From 720acd800fe503ca07ea8f6c3bf09eb59411741a Mon Sep 17 00:00:00 2001 From: guocheng Date: Wed, 24 Sep 2025 11:47:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/output_response.png | Bin 0 -> 120350 bytes ri_codeword.md | 17 ++++++ ri_datapath.md | 36 +++++++++++++ ro_codeword.md | 34 ++++++++++++ ro_datapath.md | 22 ++++++++ 读出子系统编程控制模型.md | 104 ++++--------------------------------- 6 files changed, 120 insertions(+), 93 deletions(-) create mode 100644 assets/output_response.png create mode 100644 ri_codeword.md create mode 100644 ri_datapath.md create mode 100644 ro_codeword.md create mode 100644 ro_datapath.md diff --git a/assets/output_response.png b/assets/output_response.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb94caf1b0b8bac6bb8d6560dad06530b596226 GIT binary patch literal 120350 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%0DxB50Pfrhz- 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 TyJXk=1AgftuOlio?Lz+#iEJE2 literal 0 HcmV?d00001 diff --git a/ri_codeword.md b/ri_codeword.md new file mode 100644 index 0000000..55e4a3a --- /dev/null +++ b/ri_codeword.md @@ -0,0 +1,17 @@ +AWG模块仅使用码字指令的低13位,其余位保留。 +控制码字功能定义如下表所示。 +指令码低8位用作波形索引,总共可以索引256种波形,能够实现多个比特不同排列组合下的读取操作; +码字比特[8]用于触发发出Pump脉冲输出,该脉冲可用于使能外部开关,避免Pump信号持续输出加热制冷机; +码字比特[9]用于触发Marker脉冲输出,该脉冲能够触发外部仪器,可协同控制与外部芯片或者仪器,方便调试; +码字比特[10]用作内部NCO清零信号,该功能可以在调制输出模式下,复位输出波形的相位; +码字比特[11]用于使能动态波形输出功能,该功能直接使用wave_ctrl寄存器中来索引波形; +码字比特[12]用于禁用波形输出,通过使能该比特可以仅输出Pump或者Marker脉冲而不输出波形。 + +|比特位|名字|功能描述| +|:-|:-|:-| +|[12]|PULSE_ONLY| 波形输出禁用使能,高电平不输出波形| +|[11]|PARAMETER_SEL| 波形索引选择,1:寄存器,0:查找表| +|[10]|NCO_CLR_EN| NCO清零使能, 高有效| +|[9]|MARK_EN| 标记脉冲输出使能, 高有效| +|[8]|PUMP_EN| 泵浦脉冲输出使能, 高有效| +|[7:0]|WAVE_ID| 波形编号, 最大索256个波形输出| diff --git a/ri_datapath.md b/ri_datapath.md new file mode 100644 index 0000000..acfb41e --- /dev/null +++ b/ri_datapath.md @@ -0,0 +1,36 @@ +RI-Pump通道的编程包括: +MCU的指令、MCU的数据、控制寄存器、波形索性表、波形仓库和模拟电路配置6类数据。 +其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器; +控制寄存器可用于指定调制频率、调制相位等参数; +波形索引表定义了从波形ID到波形地址和长度的映射,波形仓库定义了波形具体的采样点数据。 +模拟电路配置用于设置变频增益和输出频率。 +下图是RO通道数字部分的编程控制模型。 + +![读出RI-Pump通道控制模型](D:/code/ezq3p0/manual_doc/readout_program/assets/readout_ri.png) + +RI-Pump通道的波形输出由AWG模块MCU发出的码字触发。 +对于输出波形而言,MCU发出的码字定义波形的索引ID, +索引ID输入到波形索引表之后输出波形在波形仓库中的起始地址和长度, +接着波形仓库利用起始地址和长度将对应采样点的原始数据输出。 +原始数据经过希尔伯特变换后增加了虚部数据(滤除了负频), +接着数据进入正交数字混频模块,与NCO产生的单音信号混频后得到调频数据。 +上述过程中的原始波形数据、希尔伯特虚部数据、调频数据以及NCO自身产生的单音数据都可以通过数据源选择器选择输出。 +经过选择器后,数据首先经过调幅模块,接着经过半带滤波器进行插值、然后再经过MIX模块进行采样频率搬移, +半带滤波器和MIX模块都支持旁路功能,因此最终波形输出支持NRZ、MIX、HBNRZ和HBMIX四种模式。 +最后经过DAC和外部模拟混频后输出读出激励波形。 + +Pump通道输出的使能信号由MCU码字触发输出, +当MCU输出码字的对应位使能后,脉冲发生模块从寄存器或波形索引表得到脉冲长度控制数据, +并将指定长度的脉冲信号通过I/O直接输出。 + +由于RI-Pump通道有且仅有基带处理单元存在状态机, +当RI-Pump通道由于上位机强制中断程序或者MCU配置了错误指令而产生异常时, +为了清除RI-Pump通道的异常状态, +RI-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 dB,6~7GHz工作范围内,功率平坦度约为2 dB。 +AWG的波形输出支持3种工作模式,分别是波形直出模式、调制模式、NCO Only模式。一般情况下,直出模式用于量子实验,通过直接输出包含多个读出频率的波形,可以实现对多个量子比特的并行读出;调制模式用于腔频扫描等应用,通过实时修改NCO频率,可以实时改变输出频率,配合DAQ进行实时读取,可以实现扫频功能。若基带信号包含多个频点,还能实现多频点并行扫描功能;NCO Only模式可以输出连续波形,方便连接外部仪器上进行测试,用于芯片本身的测试, \ No newline at end of file diff --git a/ro_codeword.md b/ro_codeword.md new file mode 100644 index 0000000..40379d9 --- /dev/null +++ b/ro_codeword.md @@ -0,0 +1,34 @@ +RO通道通过产生32位的码字来控制读出行为,32位的操控码字功能定义如下表所示。 +码字比特[3:0]用于选择要实时从存储中加载的解模和态判断参数,总共支持16组参数进行快速切换; +解模包络参数和频率参数也可以通过码字比特[11:10]来选择寄存器控制还是查找表控制。 +寄存器控制可以实时修改解模产生,而查找表控制可以支持参数快速切换。 +码字比特[5:4]用于对解模数据进行统计操作,通过实时统计可降低芯片外传数据量; +码字比特[7:6]用于将读出比特数据通过并行和串行接口发出,用于支持系统局部和全局反馈功能; +码字比特[9:8]用于对统计数据进行清零; +码字比特[15:11]用于使能要存储几种数据模式,四种数据仅能在部分条件下支持同时存储, +同时存储多种数据时,死时间会增加,推荐实验过程中一次指令仅能使能一种数据; +码字比特 [31:16]用于使能对对每个比特的控制,读出芯片最大支持16个量子比特。 + +|比特位|名字|功能描述| +|:-|:-|:-| +|[31:16]|QUBIT_EN| 16个量子比特使能,高电平使能对应位量子比特| +|[15]|COUNT_SAVE_EN| 态计数据存储使能, 高电平使能态计数存储| +|[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组参数| + +当同一个码字指令驱动的多个量子比特解模长度不同时, +解模时间等于最长那个比特的解模时间。 +解模在当同时使能四种数据存储时, +存储的先后顺序为波形数据、解模IQ数据、态判断数据和计数数据。 +当同时使能解模清零和求和操作时,先执行清零再执行求和。 +当同时使能态统计和态清零时,先执行态清零再执行态统计。 \ No newline at end of file diff --git a/ro_datapath.md b/ro_datapath.md new file mode 100644 index 0000000..5e3f3fc --- /dev/null +++ b/ro_datapath.md @@ -0,0 +1,22 @@ +来自量子芯片RO端口的射频信号首先经过混频板模拟电路调理后进入读出基带处理单元采集处理。 +混频板模拟调理电路主要负责将输入功率和频率的信号转换成基带板卡能够处理的中频信号, +对模拟调理电路的编程包括变频增益控制和变频本振频率控制。 +模拟信号进入基带处理单元后,先经过巴伦将单端信号转换成ADC所需的差分信号。 +接着读出芯片利用ADC(8 bit@5.6Gsps)采样输入信号并给到数字电路。 +对读出基带单元RO通道数字电路的编程包括:MCU的指令、MCU的数据、RO通道控制寄存器、解模参数四类数据。 +其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器; +控制寄存器可用于指定解模频率、解模相位、解模权重数据索引地址和长度等参数; +解模参数数据定义了具体的权重数据和量子态判断参数等数据。下图是RO通道的编程控制模型。 + +![读出RI-Pump通道控制模型](D:/code/ezq3p0/manual_doc/readout_program/assets/readout_ro.png) + +射频信号经过混频板下变频后进入到ADC,ADC采集的原始波形数据①从图中右侧端口输入,接着输入到解模模块中, +解模模块利用匹配滤波器模块生成的解模参数对输入波形进行解模运算得到IQ数据②, +接着解模IQ数据②输入到态判断模块中,经过态判定后得到态数据④, +最后态数据④经过态统计后得到态统计结果⑤。 +上述过程中,数据①②③④⑤都可以在数据转发模块缓存后通过`rslt_push`接口发送出去, +需要注意到的是数据②是解模求和数据③在求和次数为1的特殊情况。 +由于RO通道有且仅有基带处理单元存在状态机,因此需要考虑到异常状态恢复,因此RO通道提供了软复位功能 +当RO通道由于上位机强制中断或者MCU配置了错误指令而产生异常时,可以通过调用驱动API函数执行复位操作, +其能够将状态机从异常中复位(同时也复位部分寄存器的默认值), +从而使得下一次历史无关配置项能够正确执行。 \ No newline at end of file diff --git a/读出子系统编程控制模型.md b/读出子系统编程控制模型.md index 57cb6f9..36b8add 100644 --- a/读出子系统编程控制模型.md +++ b/读出子系统编程控制模型.md @@ -41,25 +41,7 @@ ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出 # 2. 处理器RO编程模型 -来自量子芯片RO端口的射频信号首先经过混频板模拟电路调理后进入读出基带处理单元采集处理。 -混频板模拟调理电路主要负责将输入功率和频率的信号转换成基带板卡能够处理的中频信号, -对模拟调理电路的编程包括变频增益控制和变频本振频率控制。 -对读出基带单元RO通道的编程包括:MCU的指令、MCU的数据、RO通道控制寄存器、解模参数四类数据。 -其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器; -控制寄存器可用于指定解模频率、解模相位、解模权重数据索引地址和长度等参数; -解模参数数据定义了具体的权重数据和量子态判断参数等数据。下图是RO通道的编程控制模型。 -![读出RO通道控制模型](./assets/readout_ro.png) - -射频信号经过混频板下变频后进入到ADC,ADC采集的原始波形数据①从图中右侧端口输入,接着输入到解模模块中, -解模模块利用匹配滤波器模块生成的解模参数对输入波形进行解模运算得到IQ数据②, -接着解模IQ数据②输入到态判断模块中,经过态判定后得到态数据④, -最后态数据④经过态统计后得到态统计结果⑤。 -上述过程中,数据①②③④⑤都可以在数据转发模块缓存后通过`rslt_push`接口发送出去, -需要注意到的是数据②是解模求和数据③在求和次数为1的特殊情况。 -由于RO通道有且仅有基带处理单元存在状态机,因此需要考虑到异常状态恢复,因此RO通道提供了软复位功能 -当RO通道由于上位机强制中断或者MCU配置了错误指令而产生异常时,可以通过调用驱动API函数执行复位操作, -其能够将状态机从异常中复位(同时也复位部分寄存器的默认值), -从而使得下一次历史无关配置项能够正确执行。 +@import "ro_datapath.md" ## 2.1. 模拟调理电路配置 @@ -72,33 +54,7 @@ ez-Q 2.5 ASIC平台读出子系统由读出基带板、读出混频板和读出 |mix_gain|下变频增益设置| ## 2.2. RO码字功能定义 -RO通道通过产生32位的码字来控制读出行为,32位的操控码字功能定义如下表所示。 -码字比特[3:0]用于选择要实时从存储中加载的解模和态判断参数,总共支持16组参数进行快速切换; -解模包络参数和频率参数也可以通过码字比特[11:10]来选择寄存器控制还是查找表控制。 -寄存器控制可以实时修改解模产生,而查找表控制可以支持参数快速切换。 -码字比特[5:4]用于对解模数据进行统计操作,通过实时统计可降低芯片外传数据量; -码字比特[7:6]用于将读出比特数据通过并行和串行接口发出,用于支持系统局部和全局反馈功能; -码字比特[9:8]用于对统计数据进行清零; -码字比特[15:11]用于使能要存储几种数据模式,四种数据仅能在部分条件下支持同时存储, -同时存储多种数据时,死时间会增加,推荐实验过程中一次指令仅能使能一种数据; -码字比特 [31:16]用于使能对对每个比特的控制,读出芯片最大支持16个量子比特。 - -|比特位|名字|功能描述| -|:-|:-|:-| -|[31:16]|QUBIT_EN| 16个量子比特使能,高电平使能对应位量子比特| -|[15]|COUNT_SAVE_EN| 态计数据存储使能, 高电平使能态计数存储| -|[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组参数| +@import "ro_codeword.md" ## 2.3 RO寄存器功能定义 RO通道寄存器的地址空间可以被SPI和MCU同时访问,因此用户可通过SPI或者MCU设置参数。建议静态参数通过SPI配置完成就保持不变,需要动态控制的参数通过MCU来实时更新。 @@ -158,55 +114,11 @@ I路数据偏移地址为x*32KB,Q路数据偏移地址为x*32KB+16 KB,其中 ![读出RO通道控制模型](./assets/readout_mtf.png) # 3. 处理器RI-Pump编程模型 -RI-Pump通道的编程包括:MCU的指令、MCU的数据、控制寄存器、波形索性表、波形仓库和模拟电路配置6类数据。 -其中MCU指令+MCU数据可用于编程发出触发码字以及实时修改控制寄存器; -控制寄存器可用于指定调制频率、调制相位等参数; -波形索引表定义了从波形ID到波形地址和长度的映射,波形仓库定义了波形具体的采样点数据。 -模拟电路配置用于设置变频增益和输出频率。 -下图是RO通道数字部分的编程控制模型。 -![读出RI-Pump通道控制模型](./assets/readout_ri.png) - -RI-Pump通道的波形输出由MCU发出的码字触发。 -对于输出波形而言,MCU发出的码字定义波形的索引ID, -索引ID输入到波形索引表之后输出波形在波形仓库中的起始地址和长度, -接着波形仓库利用起始地址和长度将对应采样点的原始数据输出。 -原始数据经过希尔伯特变换后增加了虚部数据(滤除了负频), -接着数据进入正交数字混频模块,与NCO产生的单音信号混频后得到调频数据。 -上述过程中的原始波形数据、希尔伯特虚部数据、调频数据以及NCO自身产生的单音数据都可以通过数据源选择器选择输出。 -经过选择器后,数据首先经过调幅模块,接着经过半带滤波器进行插值、然后再经过MIX模块进行采样频率搬移, -半带滤波器和MIX模块都支持旁路功能,因此最终波形输出支持NRZ、MIX、HBNRZ和HBMIX四种模式。 -最后经过DAC和外部模拟混频后输出读出激励波形。 - -Pump通道输出的使能信号由MCU码字触发输出, -当MCU输出码字的对应位使能后,脉冲发生模块从寄存器或波形索引表得到脉冲长度控制数据, -并将指定长度的脉冲信号通过I/O直接输出。 - -由于RI-Pump通道有且仅有基带处理单元存在状态机, -当RI-Pump通道由于上位机强制中断程序或者MCU配置了错误指令而产生异常时, -为了清除RI-Pump通道的异常状态, -RI-Pump通道提供了软复位功能,支持通过调用驱动API来执行软复位操作, -其能够使得状态机从异常中恢复,从而使得下一次历史无关配置项能够正确执行。 +@import "ri_datapath.md" ## 3.1 码字功能定义 -AWG模块仅使用码字指令的低13位,其余位保留。 -控制码字功能定义如下表所示。 -指令码低8位用作波形索引,总共可以索引256种波形,能够实现多个比特不同排列组合下的读取操作; -码字比特[8]用于触发发出Pump脉冲输出,该脉冲可用于使能外部开关,避免Pump信号持续输出加热制冷机; -码字比特[9]用于触发Marker脉冲输出,该脉冲能够触发外部仪器,可协同控制与外部芯片或者仪器,方便调试; -码字比特[10]用作内部NCO清零信号,该功能可以在调制输出模式下,复位输出波形的相位; -码字比特[11]用于使能动态波形输出功能,该功能直接使用wave_ctrl寄存器中来索引波形; -码字比特[12]用于禁用波形输出,通过使能该比特可以仅输出Pump或者Marker脉冲而不输出波形。 - -|比特位|名字|功能描述| -|:-|:-|:-| -|[12]|PULSE_ONLY| 波形输出禁用使能,高电平不输出波形| -|[11]|PARAMETER_SEL| 波形索引选择,1:寄存器,0:查找表| -|[10]|NCO_CLR_EN| NCO清零使能, 高有效| -|[9]|MARK_EN| 标记脉冲输出使能, 高有效| -|[8]|PUMP_EN| 泵浦脉冲输出使能, 高有效| -|[7:0]|WAVE_ID| 波形编号, 最大索256个波形输出| - +@import "ri_codeword.md" ## 3.2 寄存器功能定义 RI-Pump通道的全部寄存器可以被SPI和MCU同时访问,用户可以根据需要决定使用SPI还是MCU来控制寄存器的值。 @@ -251,7 +163,13 @@ ezq2.5 FPGA平台下读出地址和长度单位是16个采样点。 ## 3.4 波形仓库定义 -ASIC平台下,每个时钟周期对应8个采样点,数据更新率为6 Gsps,每个采样点持续时间为167 皮秒(6 GS/s)。在FPGA平台下,每个时钟周期对应16个采样点,数据更新率为 4 GSps,每个采样点持续时间为250皮秒。对于RO输出频率F(例如6.7 GHz),在本振为5.5GHz本振频率下,则存储区描绘的基带波形频率为1.2 GHz ,等于F(6.7 GHz)-本振(5.5 GHz)。波形仓库的容量为128 KB,在FPGA平台和ASIC平台下最大分别支持16 us和10 us波形输出。 +ASIC平台下,每个时钟周期对应8个采样点, +数据更新率为6 Gsps,每个采样点持续时间为167 皮秒(6 GS/s)。 +在FPGA平台下,每个时钟周期对应16个采样点, +数据更新率为 4 GSps,每个采样点持续时间为250皮秒。 +对于RO输出频率F(例如6.7 GHz),在本振为5.5GHz本振频率下, +则存储区描绘的基带波形频率为1.2 GHz ,等于F(6.7 GHz)-本振(5.5 GHz)。 +波形仓库的容量为128 KB,在FPGA平台和ASIC平台下最大分别支持16 us和10 us波形输出。 ## 3.5 模拟调理电路 来自读出基带板输出端口的中频信号需要经过前端模拟电路处理后才能够被发送到量子芯片。