CN109886413A - 一种自适应亚稳态的fpga阵列同步触发方法 - Google Patents
一种自适应亚稳态的fpga阵列同步触发方法 Download PDFInfo
- Publication number
- CN109886413A CN109886413A CN201910055668.9A CN201910055668A CN109886413A CN 109886413 A CN109886413 A CN 109886413A CN 201910055668 A CN201910055668 A CN 201910055668A CN 109886413 A CN109886413 A CN 109886413A
- Authority
- CN
- China
- Prior art keywords
- fpga
- master control
- module
- delay
- metastable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Variable-Direction Aerials And Aerial Arrays (AREA)
Abstract
本公开提供了一种自适应亚稳态的FPGA阵列同步触发方法,包括:步骤1:FPGA阵列上电后自动进行自适应,初始化基于IODELAY的延时链调节模块;步骤2:主控FPGA的触发生成模块产生触发脉冲,延时链调节模块将触发脉冲延时一个延时长度,经由触发分发模块分发回主控FPGA的自适应模块;步骤3:主控FPGA的自适应模块判断在该延时长度下是否发生亚稳态,并将判断结果记录于寄存器中;步骤4:主控FPGA的延时链调节模块增加一个延时长度,重复执行步骤2和步骤3,得到所有延时长度下的亚稳态情况;步骤5:找出未发生亚稳态的延时区间,将该延时区间的中间位置设置为主控FPGA的延时链调节模块的最终值;步骤6:进入监视阶段,监视亚稳态是否再次发生。
Description
技术领域
本公开涉及FPGA阵列同步触发领域,特别涉及一种自适应亚稳态的 FPGA阵列同步触发方法。
背景技术
在自动化测试和大规模数据探测领域中,比如超导量子计算系统中,需要有多个基于FPGA的任意波形发生器(AWG)设备提供调制微波信号来调控量子处理器,这些FPGA阵列必须同步触发,以控制DAC阵列同步输出调制信号以满足调控多量子比特所需的高精度相位同步。再比如大规模ADC采集系统中,同样需要实现FPGA阵列的同步触发以控制 ADC阵列的同步采样。为实现FPGA阵列的同步触发,通常所有FPGA 具有同相位的工作时钟,同时会收到同相位的触发信号,进而实现FPGA 阵列的同步触发。但由于触发信号相对于FPGA工作时钟为异步信号,有可能会出现亚稳态现象,导致多个FPGA响应之间可能出现一个时钟周期的抖动,这是不满足FPGA阵列同步需求的。
工程上最直接的方法是手动调节触发线缆的长度,使得触发信号到达时刻满足FPGA工作时钟的建立和保持时间,从而规避亚稳态现象。这种方法在FPGA数目不多(比如小于10个)时可以采用,但随着FPGA数目的增多(比如成百个,或上千个),该同步方法的工作量也会随之线性增加。另一种常用的方法是在FPGA触发信号的接收端加入一个延时单元,当检测有亚稳态现象出现时,手动调节延时单元的延时值至亚稳态现象消除。使用这种方法,每次设备上下电或硬件连接线缆的长度发生变化时,都需要手动校准,校准步骤繁杂,工作量大。
发明内容
(一)要解决的技术问题
为了解决以上问题,本公开提出了一种自适应亚稳态的FPGA阵列同步触发方法,可以自动同步触发多个FPGA,大大提升FPGA阵列的同步校准效率。
(二)技术方案
本公开提供了一种自适应亚稳态的FPGA阵列同步触发方法,包括:初始化基于IODELAY的延时链调节模块;步骤2:主控FPGA的触发生成模块产生触发脉冲,延时链调节模块将触发脉冲延时一个延时长度,经由触发分发模块分发回主控FPGA的自适应模块;步骤3:主控FPGA的自适应模块判断在该延时长度下是否发生亚稳态,并将判断结果记录于寄存器中;步骤4:主控FPGA的延时链调节模块增加一个延时长度,重复执行步骤2和步骤3,得到所有延时长度下的亚稳态情况;步骤5:找出未发生亚稳态的延时区间,将将该延时区间的中间位置设置为主控FPGA 的延时链调节模块的最终值,完成自适应过程;步骤6:进入监视阶段,监视亚稳态是否再次发生。
在本公开的一些实施例中,在所述步骤1中,FPGA阵列上电,上位机向主控FPGA发送自适应开始指令;将延时链调节模块中的延时链复位至tap数为0的位置。
在本公开的一些实施例中,在所述步骤2中,主控FPGA的触发生成模块产生指定间隔和个数的触发脉冲,通过延时链调节模块后,经由主控 FPGA的pin out脚输出,延时后的触发脉冲通过触发分发模块后,由主控 FPGA的pin in脚回到主控FPGA的自适应模块。
在本公开的一些实施例中,在所述步骤3中,主控FPGA的自适应模块记录探测到的触发脉冲的间隔,并判断所述间隔是否与设置值相等;如果不相等,将寄存器的与tap数对应的位置置为1,表明该位置发生了亚稳态;如果相等,将寄存器的与tap数对应的位置置为0,表明该位置没有发生亚稳态。
在本公开的一些实施例中,在所述步骤4中,控制主控FPGA的延时链调节模块,将其tap数加一,再重复执行步骤2和3,得到所有延时长度下,触发相对于时钟的亚稳态情况。
在本公开的一些实施例中,在所述步骤5中,找到寄存器中值为0的位置区间,计算出该位置区间的中间位置对应的延时链调节模块的tap值,将该tap值对应的延时长度设置为延时链调节模块的最终值。
在本公开的一些实施例中,在所述步骤6中,当温度、电压、硬件连接外部环境发生变化导致亚稳态再次发生时,给出亚稳态指示。
(三)有益效果
从上述技术方案可以看出,本公开至少具有以下有益效果:
采用该方法实现的FPGA阵列同步触发,可以避免手动调整,上电自动进行同步,且同步后触发脉冲相对于工作时钟处于稳定区域的中间位置,比人工同步更稳定可靠;同时,随着FPGA数量增加,同步工作量不会额外增加,不需要人工介入。
附图说明
图1显示了亚稳态的发生机制,其中的(a)显示了无亚稳态情况下的工作时钟(clock)与触发脉冲(trigger)的波形,其中的(b)显示了无亚稳态情况下的AWG的输出波形;其中的(c)显示了亚稳态情况下的工作时钟(clock)与触发脉冲(trigger)的波形,其中的(c)显示了亚稳态情况下的AWG的输出波形;
图2是基于FPGA的AWG阵列的星型连接示意图;
图3是本公开实施例的FPGA阵列同步触发系统的示意图;
图4是本公开实施例的自适应亚稳态过程中,触发生成模块输出触发脉冲的示意图;
图5是本公开实施例的自适应亚稳态的FPGA阵列同步触发方法的流程图。
具体实施方式
为进一步详细介绍本公开的目的、技术方案和优点,以下结合具体实施实例,对本公开进一步详细说明。
图1显示了亚稳态的发生机制。在其中的(a)图中,AWG工作时钟 (clock)的上升沿与触发脉冲(trigger)上升沿是分离的,满足时钟的建立保持时间,时钟总能采集到有效的触发电平,这种情况下AWG能够被同步触发,即可以输出同步波形,如其中的(b)图所示,因此无亚稳态。在其中的(c)图中,工作时钟与触发脉冲上升沿发生重叠,时钟不能采集到有效的触发电平,导致AWG不能同步响应触发信号,多个AWG的波形输出会出现一个时钟周期的不同步,如其中的(d)图所示。
在超导量子计算中,需同步触发FPAG阵列以实现AWG的同步触发,进而使能AWG中的DAC输出同步调制信号,来实现多量子比特的同步调控。故以下本实施方式中描述的AWG阵列触发本质上实为FPGA阵列的触发。由于所有的AWG具有同步的时钟和触发,触发信号又是由主控 AWG分发而来,因此,只要完成了主控AWG的亚稳态规避,即可完成所有AWG的亚稳态规避。
本公开实施例提供了一种自适应亚稳态的FPGA阵列同步触发方法。如图2所示,其显示了星型方式连接的任意波形发生器(AWG)阵列,每个AWG中包括一个FPGA,所以图1显示的也是星型方式连接的FPGA 阵列。AWG阵列包括一个任选的主控AWG和其余的多个受控AWG(图 1中是七个受控AWG),主控AWG和受控AWG通过触发分发硬件实现星型方式连接。主控AWG和受控AWG都通过时钟树获得了等相位的 250MHz同步时钟,主控AWG输出触发信号至触发分发硬件中,然后经由等长线缆分发至所有的AWG,以此确保AWG获得等相位的触发信号。此处的触发分发硬件为一驱多的扇出器件。
FPGA阵列同步触发系统包括:上位机、星型方式连接的FPGA阵列。图3中以两个受控FPGA为例进行了说明。星型方式连接的FPGA阵列包括:一个主控AWG、两个受控AWG和一个触发分发硬件。
主控AWG中的FPGA(以下称为主控FPGA)包括:监视模块(Monitor)、波形输出模块(Wave output)、触发生成模块(Trigger)、延时链调节模块 (delay)和自适应模块(Self-adaption)。
受控AWG中的FPGA(以下称为受控FPGA)包括:监视模块(Monitor) 和波形输出模块(Wave output)。
主控FPGA和受控FPGA通过等长线缆与触发分发硬件(Fan out)连接,并与上位机(Control computer)连接,监视模块和波形输出模块用于自适应完成后,AWG的波形输出和监视亚稳态现象是否再次发生。
本实施例中,FPGA的工作时钟为250MHz,主控FPGA的延时链调节模块包括3个级联的延时链,延时链为IODELAYE3。Xilinx公司FPGA IODELAYE3延时链的tap精度在2.5-15ps范围内,共有512个tap,单个延时链支持最大1.25ns的延时,其中tap的含义是延迟链的一个延时单位。本实施例选用3个IODELAYE3级联,实现大于4ns的可调链路延时。
本实施例的自适应亚稳态的FPGA阵列同步触发方法包括:
步骤1:FPGA阵列上电后自动进行自适应,初始化基于IODELAY 的延时链调节模块。
在步骤1中,首先FPGA阵列上电,上位机向FPGA阵列发送自适应开始指令;然后将延时链调节模块中的延时链复位至tap数为0的位置。
步骤2:主控FPGA的触发生成模块产生触发脉冲,延时链调节模块将触发脉冲延时一个延时长度,经由触发分发模块分发回主控FPGA的自适应模块。
在步骤2中,主控FPGA的触发生成模块产生指定间隔和个数的触发脉冲,通过延时链调节模块后,经由主控FPGA的pin out脚输出,延时后的触发脉冲通过触发分发模块后,由主控FPGA的pin in脚回到主控 FPGA的自适应模块。
如图4所示,触发脉冲的间隔和个数是预先设定的设置值,比如50000 个间隔为400ns的触发脉冲,产生的触发脉冲用于自适应模块的亚稳态检测。在图4中“第一次”对应于自适应开始后触发生成模块第一次产生的触发脉冲,在图4中“第二次”对应于修改延时链调节模块后第二次产生的触发脉冲,以此类推。
步骤3:主控FPGA的自适应模块判断在该延时长度下是否发生亚稳态,并将判断结果记录于寄存器中。
在步骤3中,主控FPGA的自适应模块记录探测到的触发脉冲的间隔,并判断所述间隔是否与设置值相等。
如果不相等,例如触发脉冲的间隔为396ns、400ns和404ns三种情况,只要50000个触发脉冲中有一个间隔不等于400ns,就说明发生了亚稳态现象,此时就将512位寄存器err的与tap数对应的位置置为1。
若50000个触发脉冲中,探测到的间隔均等于400ns,则认为没有发生亚稳态,此时寄存器err的与tap数对应的位置置为0。例如,当tap数为0时,将寄存器err的第0位置1或0,当tap数为1时,将寄存器err 的第1位置1或0,以此类推。
步骤4:主控FPGA的延时链调节模块增加一个延时长度,重复执行步骤2和步骤3,得到所有延时长度下的亚稳态情况。
在步骤4中,控制主控FPGA的延时链调节模块的IODELAYE3的INC 信号,将tap数加一,即延时链增加一个tap值的延时。然后再重复执行步骤2和3共511次,得到512个延时长度下,触发相对于时钟的亚稳态情况。
步骤5:找出未发生亚稳态的延时区间,将将该延时区间的中间位置设置为主控FPGA的延时链调节模块的最终值。
在步骤5中,找到512位寄存器err中值为0的位置区间,此即为没有发生亚稳态的位置区间,计算出该位置区间的中间位置对应的延时链调节模块的tap值,将该tap值对应的延时长度设置为延时链调节模块的最终值,此时工作时钟与触发脉冲间的相位差为远离亚稳态的最远位置,至此完成自适应过程,并将完成信号(Adapt complete)发送至上位机。
之后,主控FPGA的触发生成模块产生触发脉冲,延时链调节模块将触发脉冲延时该tap值对应的延时长度,经由主控FPGA的pin out脚输出,并由触发分发模块分发至主控FPGA和受控FPGA,延时后的触发脉冲通过触发分发模块后,由主控FPGA的pin in脚输入,并分发至主控FPGA 的波形输出模块和监视模块,由受控FPGA的pin in脚输入,并分发至受控FPGA的波形输出模块和监视模块。
步骤6:进入监视阶段,监视随着温度、电压、线缆连接等外界调节改变,亚稳态是否再次发生。
本实施例的自适应亚稳态的FPGA阵列同步触发方法,上电自动完成,无需人为干预。若在FPGA阵列不断电的情况下,FGPA与触发分发硬件之间的线缆长度发生变化,此时可手动运行上位机中的自适应指令,即可开始自适应过程,操作简单。
至此,已经结合附图对本公开进行了详细描述。依据以上描述,本领域技术人员应当对本公开有了清楚的认识。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换,例如:
(1)实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围;
(2)上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (7)
1.一种自适应亚稳态的FPGA阵列同步触发方法,包括:
步骤1:FPGA阵列上电后自动进行自适应,初始化基于IODELAY的延时链调节模块;
步骤2:主控FPGA的触发生成模块产生触发脉冲,延时链调节模块将触发脉冲延时一个延时长度,经由触发分发模块分发回主控FPGA的自适应模块;
步骤3:主控FPGA的自适应模块判断在该延时长度下是否发生亚稳态,并将判断结果记录于寄存器中;
步骤4:主控FPGA的延时链调节模块增加一个延时长度,重复执行步骤2和步骤3,得到所有延时长度下的亚稳态情况;
步骤5:找出未发生亚稳态的延时区间,将该延时区间的中间位置设置为主控FPGA的延时链调节模块的最终值,完成自适应过程;
步骤6:进入监视阶段,监视亚稳态是否再次发生。
2.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤1中,FPGA阵列上电,上位机向主控FPGA发送自适应开始指令;将延时链调节模块中的延时链复位至tap数为0的位置。
3.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤2中,主控FPGA的触发生成模块产生指定间隔和个数的触发脉冲,通过延时链调节模块后,经由主控FPGA的pin out脚输出,延时后的触发脉冲通过触发分发模块后,由主控FPGA的pin in脚回到主控FPGA的自适应模块。
4.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤3中,
主控FPGA的自适应模块记录探测到的触发脉冲的间隔,并判断所述间隔是否与设置值相等;
如果不相等,将寄存器的与tap数对应的位置置为1,表明该位置发生了亚稳态;
如果相等,将寄存器的与tap数对应的位置置为0,表明该位置没有发生亚稳态。
5.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤4中,控制主控FPGA的延时链调节模块,将其tap数加一,再重复执行步骤2和3,得到所有延时长度下,触发相对于时钟的亚稳态情况。
6.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤5中,找到寄存器中值为0的位置区间,计算出该位置区间的中间位置对应的延时链调节模块的tap值,将该tap值对应的延时长度设置为延时链调节模块的最终值。
7.如权利要求1所述的FPGA阵列同步触发方法,在所述步骤6中,当温度、电压、硬件连接外部环境发生变化导致亚稳态再次发生时,给出亚稳态指示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055668.9A CN109886413A (zh) | 2019-01-21 | 2019-01-21 | 一种自适应亚稳态的fpga阵列同步触发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055668.9A CN109886413A (zh) | 2019-01-21 | 2019-01-21 | 一种自适应亚稳态的fpga阵列同步触发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109886413A true CN109886413A (zh) | 2019-06-14 |
Family
ID=66926463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910055668.9A Pending CN109886413A (zh) | 2019-01-21 | 2019-01-21 | 一种自适应亚稳态的fpga阵列同步触发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109886413A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230291A (zh) * | 2020-09-10 | 2021-01-15 | 电子科技大学 | 一种用于井间电磁探测的信号同步收发方法及系统 |
CN112968691A (zh) * | 2021-02-10 | 2021-06-15 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 脉冲时延精度自适应同步方法 |
CN113468095A (zh) * | 2021-07-07 | 2021-10-01 | 西北核技术研究所 | 高速串行传输数据相位对齐方法、存储介质及终端设备 |
CN114660523A (zh) * | 2022-05-19 | 2022-06-24 | 杭州加速科技有限公司 | 一种数字通道输出同步精度测量和校准方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032498A (zh) * | 2018-07-25 | 2018-12-18 | 电子科技大学 | 一种多fpga的多通道采集系统的波形量化同步方法 |
-
2019
- 2019-01-21 CN CN201910055668.9A patent/CN109886413A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032498A (zh) * | 2018-07-25 | 2018-12-18 | 电子科技大学 | 一种多fpga的多通道采集系统的波形量化同步方法 |
Non-Patent Citations (2)
Title |
---|
LI-HUA SUN等: "Scalable Self-Adaptive Synchronous Triggering System in Superconducting Quantum Computing", 《ARXIV》 * |
樊民革等: "一种消除异步电路亚稳态的逻辑控制方法", 《电子测量技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230291A (zh) * | 2020-09-10 | 2021-01-15 | 电子科技大学 | 一种用于井间电磁探测的信号同步收发方法及系统 |
CN112968691A (zh) * | 2021-02-10 | 2021-06-15 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 脉冲时延精度自适应同步方法 |
CN113468095A (zh) * | 2021-07-07 | 2021-10-01 | 西北核技术研究所 | 高速串行传输数据相位对齐方法、存储介质及终端设备 |
CN113468095B (zh) * | 2021-07-07 | 2023-12-15 | 西北核技术研究所 | 高速串行传输数据相位对齐方法、存储介质及终端设备 |
CN114660523A (zh) * | 2022-05-19 | 2022-06-24 | 杭州加速科技有限公司 | 一种数字通道输出同步精度测量和校准方法 |
CN114660523B (zh) * | 2022-05-19 | 2022-09-06 | 杭州加速科技有限公司 | 一种数字通道输出同步精度测量和校准方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109886413A (zh) | 一种自适应亚稳态的fpga阵列同步触发方法 | |
US7240231B2 (en) | System and method for synchronizing multiple instrumentation devices | |
CN107168458B (zh) | 一种用于数字化pet探测器的时钟分配装置 | |
EP3002593B1 (en) | Multi-scope control and synchronization system | |
CN111800305B (zh) | 一种散热测试方法及系统和发热装置 | |
Batista et al. | ATCA control system hardware for the plasma vertical stabilization in the JET tokamak | |
US20150212123A1 (en) | Branch circuit monitoring | |
CN109190320A (zh) | 适用于adpss双馈风机闭环试验的并行异构仿真方法 | |
CN113109773A (zh) | 一种基于vpx的分布式雷达回波信号模拟系统及方法 | |
Zhang et al. | Progress in the development of the EAST timing synchronization system upgrade based on precision time protocol | |
CN112929121B (zh) | 时钟同步网络、时钟触发网络及实时触发处理方法 | |
EP3264108A1 (en) | Multi timebase oscilloscope | |
Correia et al. | Implementation of IEEE-1588 timing and synchronization for ATCA control and data acquisition systems | |
CN110046125B (zh) | 一种同频连续串行数据同步方法及装置 | |
CN102355239B (zh) | 一种方位增量脉冲信号自适应装置及处理方法 | |
JP7418660B2 (ja) | ギガヘルツ・デジタルアナログ変換器のデータ同期に対するトリガー | |
Lim et al. | Synchronization of multiple USB 3.0 devices using Isochronous Timestamp Packet | |
US12124290B2 (en) | Time-synchronized input and/or output of signals with a selectable sampling rate | |
CN109828632A (zh) | 一种基于fpga的可调超窄多路同步脉冲发生装置及方法 | |
Wu et al. | Upgrading of the EAST distributed synchronization and timing system | |
Galli et al. | A new generation of integrated trigger and read out system for the MEG II experiment | |
US20230131079A1 (en) | Method for the time-synchronised input and/or output of signals with a selectable sampling rate | |
US20040091271A1 (en) | System and method of measuring turn-on and turn-off times of an optoelectronic device | |
Koczor et al. | PIC microcontroller based external fast analog to digital converter to acquire wide-lined solid NMR spectra by BRUKER DRX and Avance-I spectrometers | |
Patel et al. | PXIe based data acquisition and control system for ECRH systems on SST-1 and Aditya tokamak |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190614 |