CN113424205B - 具有模块化和动态脉冲生成和路由的量子控制器中的同步系统 - Google Patents

具有模块化和动态脉冲生成和路由的量子控制器中的同步系统 Download PDF

Info

Publication number
CN113424205B
CN113424205B CN202080013725.8A CN202080013725A CN113424205B CN 113424205 B CN113424205 B CN 113424205B CN 202080013725 A CN202080013725 A CN 202080013725A CN 113424205 B CN113424205 B CN 113424205B
Authority
CN
China
Prior art keywords
quantum
control pulse
synchronization
pulse generation
quantum control
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.)
Active
Application number
CN202080013725.8A
Other languages
English (en)
Other versions
CN113424205A (zh
Inventor
约纳坦·科亨
尼西姆·欧费克
伊塔马尔·西旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantum Machines Ltd
Original Assignee
Quantum Machines Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quantum Machines Ltd filed Critical Quantum Machines Ltd
Priority to CN202311571618.9A priority Critical patent/CN117556912A/zh
Publication of CN113424205A publication Critical patent/CN113424205A/zh
Application granted granted Critical
Publication of CN113424205B publication Critical patent/CN113424205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/38Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of superconductive devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/195Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using superconductive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)

Abstract

一种量子控制器,包括第一量子控制脉冲生成电路和第二量子控制脉冲生成电路。第一量子控制脉冲生成电路和第二量子控制脉冲生成电路可操作为在量子算法的某一时间间隔期间异步地操作并且在量子算法的其他时间间隔期间同步地操作。

Description

具有模块化和动态脉冲生成和路由的量子控制器中的同步 系统
技术领域
本申请的各方面涉及一种量子计算机控制系统。更具体地,涉及用于在具有动态脉冲路由的量子控制器中进行同步的方法和系统。
背景技术
通过该解决方案与参考附图在本公开的其余部分中所阐述的本方法和系统的一些方面的比较,量子计算机控制系统的常规解决方案的局限性和缺陷对本领域技术人员变得显而易见。
发明内容
如通过至少一个图充分示出和/或结合至少一个图充分描述的,如权利要求中更为完整地阐述的,提供用于在具有模块化和动态脉冲生成和路由的量子控制器中进行同步的方法和系统。
附图说明
图1A和图1B对典型的(二进制)计算和量子计算的一些方面进行比较。
图2示出了示例性的量子计算系统。
图3A示出了根据本公开的各个示例性实现方式的示例性量子控制器架构。
图3B示出了图3A中的量子控制器电路的示例性实现方式。
图3C示出了图3B中的同步管理器电路的示例性实现方式。
图3D示出了每个脉冲发生器包括用于脉冲发生器同步的寄存器的示例性实现方式。
图4A示出了图3B中的脉冲发生器的示例性实现方式。
图4B和图4C示出了由脉冲发生器302l执行的示例性指令。
图5A和图5B示出了由图3A中的量子控制器执行的示例性操作。
图6A至图7C示出了图3A中的量子控制器的示例性实现方式的同步。
具体实施方式
典型的计算机通过存储二进制数字(“比特”)形式的信息并且经由二进制逻辑门处理这些比特而操作。在任意给定的时间,每个比特仅占用两个离散值中的一个:0(或“关闭”)和1(或“开启”)。通过布尔代数定义由二进制逻辑门执行的逻辑运算并且通过典型的物理学管理电路行为。在现代典型的系统中,用于存储比特并且实现逻辑运算的电路通常由承载两个不同电压(表示0和1比特)的电线和执行布尔逻辑运算的基于晶体管的逻辑门组成。
图1A中所示的是被配置成比特102并且对比特102应用单一逻辑运算104的典型计算机的简单实施例。在时间t0,比特102处于第一状态,在时间t1,对比特102应用逻辑运算104,并且在时间t2,比特102处于通过时间t0的状态和逻辑运算所确定的第二状态。因此,例如,比特102通常可以存储为应用于逻辑运算104(包括一个或多个晶体管)的输入的电压(例如,对于“1”,为1Vdc,或者对于“0”,为0Vdc)。根据所执行的逻辑运算,逻辑门的输出则为1Vdc或0Vdc。
显而易见,具有单一比特和单一逻辑门的典型计算机的使用有限,这是为什么甚至具有适度计算能力的现代典型计算机包含数十亿比特和晶体管的原因。即,能够解决日益复杂的问题的典型计算机不可避免地需要日益增加的大量比特和晶体管和/或日益增加的大量时间来执行算法。然而,存在需要非常大量的晶体管和/或非常大量的时间来满足解决方案的一些问题。将该问题成为难处理的。
量子计算机通过存储量子比特(“量子位”)形式的信息并且经由量子门处理这些量子位而操作。不同于在任意给定的时间仅能够处于一种状态(0或1)的比特,量子位能够同时处于两种状态的叠加。更精确地,量子比特是其状态处于二维希尔伯特(Hilbert)空间中的系统并且因此被描述为线性组合α|0>+β|1>,其中,|0>和|1>是两个基础状态,并且α和β是复数,通常被称为概率幅度,即,满足|α|2+|β|2=1。使用该表示法,当测量量子位时,其将是概率为|α|2的0并且概率为|β|2的1。|0>和|1>还能够分别由二维基向量和/>表示,并且因此,量子位状态由/>表示。通过希尔伯特空间中的线性代数定义由量子门执行的运算并且通过量子物理学管理电路行为。量子位的数学行为及其上的运算的这种额外丰富性能够使得量子计算机比典型的计算机更快的解决一些问题(事实上,对于典型计算机难处理的一些问题,对于量子计算机可能变得微不足道)。
图1B中所示的是被配置为存储量子位122并且对量子位122应用单一量子门运算124的量子计算机的简单实施例。在时间t0,通过α1|0>+β1|1>描述量子位122,在时间t1,对量子位122应用逻辑门运算124,并且在时间t2,通过α2|0>+β2|1>描述量子位122。
不同于典型的比特,不能将量子位存储为导线上的单个电压值。而是,使用二级量子力学系统物理地实现量子位。近年来已经提议并且开发了量子位的许多物理实现方式,且其中的一些实现方式比其他的更有希望。前沿性的量子位实现方式的一些实施例包括超导电路、自旋量子位、以及俘获离子。
量子控制器的工作是生成一系列精确的外部信号,通常是电磁波的脉冲和基带电压的脉冲,以执行所需的逻辑运算(并且由此完成所需的量子算法)。下面对量子控制器的示例性实现方式进行进一步详细地描述。
图2示出了示例性的量子计算系统。系统包括量子编程子系统202、量子控制器210、以及量子处理器218。
量子编程子系统202包括可操作为生成量子算法描述206的电路,量子控制器210能够在算法的运行期间过程中人类很少干预或无人为干预的情况下执行量子算法描述206,以对量子处理器218执行量子算法(即,生成必要的出站量子脉冲213)。在示例性的实现方式中,量子编程子系统202是其上安装有能够使得用户使用编程语言生成量子算法描述206的量子控制器软件开发套件(SDK)的个人计算机。在示例性的实现方式中,编程语言可以是低级语言,即,几乎不从由量子控制器210的指定硬件所使用的指令集抽象化或毫无抽象化。在不需要编译器或解释器的情况下,可以将该指令转换成量子控制器210的机器代码。在示例性的实现方式中,编程语言可以是高级语言,即,从量子控制器210的具体硬件更加地抽象化。在量子控制器210上运行其之前,可以将该指令编译成机器代码。在示例性的实现方式中,描述206可以是量子算法的机器码描述。在示例性的实现方式中,描述206可以是高级描述,即,量子控制器210自身可以编译成机器码。在示例性的实现方式中,描述206可以是高级描述,即,在运行时间过程中,量子控制器210可以解释成机器码。在示例性的实现方式中,操作系统或其他软件层可以在量子控制器210上运行并且量子算法描述206可以是利用量子控制器210上运行的软件的应用编程接口(API)的软件指令。
量子编程子系统202经由互连204耦合至量子控制器210,例如,互连204可以利用通用串行总线(USB)、外围部件互连(PCIe)总线、有线或无线以太网、或任意其他合适的通信协议。
量子控制器210包括可操作为加载量子算法描述206并且然后根据量子算法描述206执行量子算法的电路。在示例性的实现方式中,量子算法描述206是被加载到量子控制器210中的机器码(即,表示量子控制器的硬件能够直接解释并且运行的指令的一系列二进制向量)。然后,由量子控制器210运行机器码而致使量子控制器210生成与在量子处理器218上所执行的所需操作对应的必要出站脉冲213(例如,发送至用于操纵量子位的状态的量子位或发送至用于读取量子位的状态的读出谐振器等)。根据待执行的量子算法,可以在设计时间预先确定和/或可能在运行时间过程中需要确定用于完成算法的出站脉冲213。脉冲的运行时间确定可以包括在算法的运行时间过程中在量子控制器210和/或量子编程子系统202中执行典型计算和处理(例如,从量子处理器218所接收的入站脉冲215的运行时间分析)。
在由量子控制器210完成量子算法和/或在量子算法的运行时间过程中,量子控制器210可以将数据/结果298输出至量子编程子系统202。在示例性的实现方式中,可以使用这些结果生成新的量子算法描述206,以供量子算法的后续运行和/或在运行时间过程中更新量子算法描述。
量子控制器210经由互连212而耦合至量子处理器218,例如,互连212可以包括一个或多个导体和/或光学纤维。
量子处理器218包括K(整数)个量子元件122,即,包括量子位(其可以是诸如超导、自旋量子位、离子捕获等任意类型),并且如适用,包括用于处理量子信息、存储量子信息(例如,存储谐振器)、和/或耦合互连212与量子元件122(例如,读出谐振器)之间的出站量子脉冲213和215的任意其他元件。在量子处理器包括读出谐振器(或其他读出电路)的示例性实现方式中,K可以等于量子位的总数量加上读出电路的数量。即,如果量子处理器218的Q(整数)个量子位中的每个量子位与专用读出电路相关联,则K可以等于2Q。为易于描述,本公开的剩余部分将假定该实现方式,但在全部实现方式中不需要是这种情况。例如,量子处理器218的其他元件可以包括磁通线(用于承载电流的电子线路)、栅电极(电压门控电极)、电流/电压线、放大器、寄存在量子处理器218的芯片上的典型逻辑电路等。
图3A示出了根据本公开的各个示例性实现方式的示例性量子控制器架构。量子控制器210包括L(整数≥1)个脉冲发生器电路3020–302L-1和共享电路310。
在所示的示例性实现方式中,每个脉冲发生器电路302l(l是0与L-1之间的整数)包括用于通过信号路径304l、306l、以及308l交换信息的电路,其中,信号路径308l承载由脉冲发生器电路302l生成的出站脉冲(例如,图2中的213)(其可以是被发送至量子处理器218来操纵一个或多个量子位的状态的控制脉冲和/或读出一个或多个量子位的状态的读出脉冲),信号路径306l承载由脉冲发生器电路302l处理的入站量子元件读出脉冲(例如,图2中的215),并且信号路径304l承载控制信息。每个信号路径可以包括一个或多个导体、光学信道、和/或无线信道。
每个脉冲发生器电路302l包括可操作为根据量子处理器上218所执行的量子控制操作而在信号路径308l上生成出站脉冲的电路。这涉及非常精确地控制诸如出站脉冲的相位、频率、幅度、以及时刻等特征。对于之前时间从量子处理器218(经由共享电路310和信号路径306l)所接收的入站脉冲,至少可以部分地确定在任意具体时间所生成的出站脉冲的特征。在示例性的实现方式中,关闭反馈回路所需的时间(即,从在一个或多个路径3151–315L上(例如,在路径的模数转换器处)接收第一脉冲至在一个或多个路径3130–313L-1上(例如,在路径的数模转换器的输出处)发送第二脉冲的时间,其中,第二脉冲基于第一脉冲)明显少于量子处理器218的量子位的相干时间。例如,关闭反馈回路的时间可以基于100纳秒的量级。应注意,实际上,图3A中的每个信号路径可以是用于支持生成相位正交(“I”和“Q”)脉冲对的一对信号路径。
在所示的示例性实现方式中,共享电路310包括用于通过信号路径3040–304L-1、3060–306L-1、以及3080–308L-1与脉冲发生器电路3020–302L-1交换信息的电路,其中,每个信号路径308l承载由脉冲发生器电路302l生成的出站脉冲,每个信号路径306l承载由脉冲发生器电路302l处理的入站脉冲,并且每个信号路径304l承载诸如标志/状态信号、从存储器读取的数据、待存储在存储器中的数据、流化至/从量子编程子系统202流化的数据、在两个以上脉冲发生器3020–302L-1之间交换的数据等控制信息。同样,在所示的实施例中,共享电路310包括用于通过信号路径3150–315M-1和3131–313K-1与量子处理器218交换信息的电路,其中,每个信号路径315m(m是0与M-1之间的整数)承载来自量子处理器218的入站脉冲,并且每个信号路径313k(k是0与K-1之间的整数)承载到量子处理器218的出站脉冲。此外,在所示的实施例中,共享电路310包括用于通过信号路径311与量子编程子系统交换信息的电路。共享电路310可以:与量子控制器集成(例如,在同一场可编程门阵列或专用集成电路或印刷电路板上)、位于量子控制器的外部(例如,位于经由一个或多个线缆、背板连接至量子控制器的独立FPGA、ASIC、或PCB上、连接至量子控制器218的其他设备中等)、或与量子控制器部分集成并且部分位于量子控制器的外部。
在各个实现方式中,M可以小于、等于、或大于L,K可以小于、等于、或大于L,并且M可以小于、等于、或大于K。例如,一些量子算法的性质使得并不需要同时驱动全部K个量子元件。对于这种算法,L可以小于K并且可以在K个量子元件电路的多个量子元件电路之间共享L个脉冲发生器302l中的一个或多个脉冲发生器。即,任意脉冲发生器302l可以在不同的时间针对不同的量子元件生成脉冲。脉冲发生器302l在不同的时间针对不同的量子元件生成脉冲的这种能力,能够减少支持给定数量的量子元件所需的脉冲发生器3020–302L-1的所需数量(即,减少L)(由此在涉及到大量量子位时节省大量资源、成本、大小、支出等)。
脉冲发生器302l在不同的时间针对不同的量子元件生成脉冲的能力还能够实现延迟减少。仅作为一个实施例,假设在时间T1需要将脉冲发送至量子元件1220的量子算法,但是,直至在时间T1-DT(即,输出脉冲之前的DT时间间隔)处理入站读出脉冲之后,才能确定脉冲是属于第一类型还是属于第二类型(例如,X脉冲或哈达玛积(Hadamard)脉冲)。如果存在脉冲发生器3020–302L-1到量子处理器218的量子元件的固定分配(即,如果3020仅将脉冲发送至量子元件1220,并且3021仅将脉冲发送至量子元件1221等),则直至确定属于什么类型,脉冲发生器3020才能够开始生成脉冲。另一方面,在所描述的示例性实现方式中,脉冲发生器3020能够开始生成第一类型的脉冲并且脉冲发生器3021能够开始生成第二类型的脉冲,并且然后,能够在确定必要的类型时尽快地释放两个脉冲中的任一脉冲。由此,如果生成脉冲的时间是Tlat,则在该实施例中,示例性的量子控制器210可以使输出脉冲的延迟减少Tlat
由此,共享电路310可操作为经由信号路径3080–308L-1和/或3150–315M-1中的任意一个或多个信号路径接收脉冲、根据需要处理用于完成量子算法的已接收脉冲、并且然后经由信号路径3060–306L-1和/或3130–313K-1中的一个或多个信号路径输出所合成的处理脉冲。脉冲的处理可能发生在数字域和/或模拟域中。例如,处理可以包括:频率转换/调制、相位转换/调制、频率和/或时分复用、时间和/或频分解复用、放大、衰减、频域和/或时域中的滤波、时间-频率或频率-时域转换、上采样、下采样、和/或任意其他的信号处理操作。在任意给定的时间,关于从哪个信号路径接收一个或多个脉冲的决策、和关于将脉冲输出至哪个信号路径上的决策可以是:在量子算法描述中预先确定的(至少部分)、和/或基于在运行时间过程中所执行的典型程序/计算在量子算法的运行时间过程中动态确定的(至少部分),这可能涉及入站脉冲的处理。作为预定脉冲生成和路由的实施例,量子算法描述可以仅指出在预定时间将具有预定特征的具体脉冲发送至信号路径3131。作为动态脉冲确定和路由的实施例,量子算法描述可以指出应对时间T-DT的读出脉冲进行分析并且指出用于在时间T确定脉冲发生器302l应将脉冲输出至第一量子元件还是第二量子元件的其特征(例如,相位、频率、和/或幅度)。在量子控制器210的各个实现方式中,代替和/或除上述这些功能之外,共享电路310可以执行各种其他功能。通常,共享电路310可以执行需要在各个脉冲发生器电路3020–302L-1的外部执行的功能。例如,可能希望在由多个脉冲发生器电路3020–302L-1需要同一功能并且由此可以在这些脉冲发生器电路之间共享、而非在各个脉冲发生器电路内冗余地实现的共享电路310中实现功能。作为另一实施例,可能希望在并非全部脉冲发生器电路3020–302L-1同时和/或在同一频率需要功能并且由此可以通过时间和/或频率复用,而在L个脉冲发生器电路3020–302L-1之间共享少于用于实现功能的L个电路的共享电路310中实现功能。作为另一实施例,可能希望在功能涉及基于L个脉冲发生器电路3020–302L-1中的多个脉冲发生器电路或其他电路的输入、输出、和/或状态做出决策的共享电路310中实现功能。利用共享电路310中的集中式协调器/决策器可以具有下列益处:(1)减少脉冲发生器电路3020–302L-1的引出线和复杂性;和/或(2)减少做出决策的延迟。无需多言,在一些实现方式中,可以由脉冲发生器电路3020–302L-1中的一个或多个脉冲发生器电路做出影响多个脉冲发生器电路3020–302L-1的决策,其中,能够通过可容忍数量的引脚/迹线,在合适的时间帧内、在脉冲发生器电路之间通信做出决策所需的信息(例如,仍允许在量子位相干时间内关闭反馈回路)。
图3B示出了图2中的量子控制器的示例性实现方式。所示的示例性量子控制器包括脉冲发生器3021–302L-1、接收模拟前端350、输入管理器352、数字管理器354、脉冲操作管理器356、脉冲操作电路358、输出管理器360、发射模拟前端362、数据交换电路364、同步管理器366、以及输入/输出管理器368。图3B中所描述的除脉冲发生器电路3020–302L-1之外的电路与图3A中的共享电路310的示例性实现方式对应。
接收模拟前端350包括可操作为同时处理经由信号路径3150–315M-1所接收的多至M(整数≥1)个模拟入站信号(RP'0–RP'M-1)、以生成经由一个或多个信号路径被输出至输入管理器352的多至M个的并发入站信号(RP0–RPM-1)的电路。尽管示出了M个信号RP和M个信号RP’,然而,不需要是这种情况。例如,该处理可以包括模数转换、滤波、上变频、下变频、放大、衰减、时分复用/解复用、频分复用/解复用等。在各个实现方式中,M可以小于、等于、或大于L,并且M可以小于、等于、或大于K。
输入管理器352包括可操作为将任意一个或多个信号(RP0–RPM-1)路由至任意一个或多个脉冲发生器3020–302L-1(作为信号AI0–AIL-1)和/或其他电路(例如,作为到I/O管理器368的信号io_mgr)的电路。在示例性的实现方式中,输入管理器352包括用于动态地重新配置将哪个信号RP0–RPM-1路由至哪个脉冲发生器3020–302L-1的一个或多个开关网络、多路复用器等。这能够实现多个信号RP0–RPM-1到单一信号AIl的时分多复用和/或信号RPm到多个信号AI0–AIL-1的时分解复用分量(例如,时间碎片)。在示例性的实现方式中,输入管理器352包括用于多个信号RP0–RPM-1到单一信号AIl的频分复用和/或信号RPm到多个信号AI0–AIL-1的频分解复用分量(例如,频带)的一个或多个混频器和/或滤波器。由输入管理器352执行的信号路由和复用/解复用功能能够使得:具体脉冲发生器302l处理在不同的时间来自不同量子元件的不同入站脉冲;具体脉冲发生器302l处理在同一时间来自不同量子元件的不同入站脉冲;并且多个脉冲发生器3020–302L-1在同一时间处理相同的入站脉冲。在所示的示例性实现方式中,通过来自脉冲发生器3020–302L-1的数字控制信号in_slct0–in_slctL-1控制在脉冲发生器3020–302L-1的输入之间信号RP0–RPM-1的路由。在另一实现方式中,输入管理器可以操作为自动确定适当的路由(例如,其中量子算法描述包括被加载到输入管理器352的存储器中并且由输入管理器352执行的指令)。在示例性的实现方式中,输入管理器352可操作为将输入信号RP0–RPM-1路由至I/O管理器368(作为信号io_mgr),以被发送至量子编程子系统202。例如,通过来自数字管理器354的信号可以控制该路由。在示例性的实现方式中,对于每个输入信号RPm,存在从数字管理器354至输入管理器352的数字信号流m,即,控制是否将RPm从输入管理器352发送至I/O管理器368并且从此发送至量子编程子系统202。
上面参考图3A对各个脉冲发生器3020–302L-1进行了描述。在所示的示例性实现方式中,每个脉冲发生器302l可操作为生成原始出站脉冲CP'l(“原始”仅用于表示脉冲操作电路358尚未对脉冲进行处理)和用于在量子处理器218上完成量子算法的数字控制信号in_slctl、D_portl、Dl、out_slctl、ops_ctrll、ops_slctl、IFl、Fl、以及dmod_scltl、以及用于将由脉冲发生器302l生成的中间和/或最终结果承载至量子编程子系统202的结果l。脉冲发生器3020–302L-1中的一个或多个脉冲发生器可以接收和/或生成为清晰示出而在图3A中未示出的额外信号。经由信号路径3080–308L-1传送原始出站脉冲CP'0–CP'L-1,并且经由信号路径3040–304L-1传送数字控制信号。各个脉冲发生器302l可操作为接收入站脉冲信号AIl和信号f_dmodl。脉冲发生器302l可以对入站信号AIl进行处理,以确定特定量子元件在量子处理器218中的状态并且使用该状态信息做出决策,诸如,例如,下一步生成哪个原始出站脉冲CP'l,何时生成并且生成哪个控制信号来适当地影响该原始出站脉冲的特征。脉冲发生器302l可以使用信号f_dmodl确定如何对入站脉冲信号AIl进行处理。作为实施例,当脉冲发生器3021需要对来自量子元件1223的入站信号AI1进行处理时,其能够发送引导脉冲操作管理器356在f_dmod1上发送用于对来自量子元件1223的入站信号AI1进行解调的设置的dmod_sclt1信号(例如,脉冲操作管理器356可以发送值cos(ω3*time_stamp+φ3),其中,ω3是量子元件1223的频率,time_stamp是自参考点起所逝去的时间量,例如,自开始运行量子算法的时间起,并且φ3是量子元件1223的总帧旋转的相位,即,自参考点起的全部帧旋转的累积相位)。
脉冲操作电路358可操作为对原始出站脉冲CP'0–CP'L-1进行处理,以生成对应的输出出站脉冲CP0–CPL-1。例如,这可以包括:操纵原始脉冲CP'l的幅度、相位、和/或频率。脉冲操作电路358从脉冲发生器3020–302L-1接收原始出站脉冲CP'0–CP'L-1、来自脉冲操作管理器356的控制信号ops_cnfg0–ops_cnfgL-1、以及来自脉冲发生器3020–302L-1的ops_ctrl0–ops_ctrlL-1
控制信号ops_cnfgl至少部分将脉冲操作电路358配置为使得经过脉冲操作电路358的每个原始出站脉冲CP'l对其执行针对该具体脉冲进行定制的一个或多个操作。为了示出,将时间T1来自脉冲发生器3023的原始出站脉冲表示为CP'3,T1,然后,在时间T1(或有时在T1之前,允许延迟、电路设置等),数字控制信号ops_cnfg3(出于该实施例之目的,表示为ops_cnfg3,T1)提供关于对脉冲CP'3,T1执行什么具体操作的信息(例如,通过如下所述的一个或多个矩阵形式)。同样,ops_cnfg4,T1提供关于对脉冲CP'4,T1执行什么具体操作的信息,并且ops_cnfg3,T2提供关于对脉冲CP'4,T1执行什么具体操作的信息。
控制信号ops_ctrll提供使得脉冲发生器302l配置如何在脉冲操作电路358中对任意具体的脉冲进行处理的另一种方式。例如,这能够使得脉冲发生器302l将并不需要经过脉冲操作管理356的信息提供至脉冲操作电路358。例如,脉冲发生器302l可以将通过脉冲发生器302l实时计算、由脉冲操作电路358使用的矩阵值发送至修改脉冲CP'l。这些矩阵值从脉冲发生器302l直接到达脉冲操作电路358并且并不需要先被发送至脉冲操作管理器。另一实施例可能是,脉冲发生器302l将影响自身操作的信息提供至脉冲操作电路358(例如,信号ops_ctrll能够从对脉冲执行的若干不同数学运算中选择)。
脉冲操作管理器356包括可操作为配置脉冲操作电路358的电路,以使得针对该具体的原始出站脉冲而定制应用于各个原始出站脉冲CP'l的脉冲操作。为了示出,将在第一时间间隔T1期间所输出的第一原始出站脉冲表示为CP'l,T1,并且将在第二时间间隔T2期间所输出的第二原始出站脉冲表示为CP'l,T2,则脉冲操作电路358可操作为对CP'l,T1执行第一一个或多个操作并且对CP'1,T2执行第二一个或多个操作。基于将脉冲CP1,T1发送至哪个量子元件,至少可以部分地确定第一一个或多个操作,并且基于将脉冲CP1,T2发送至哪个量子元件,至少可以部分地确定第二一个或多个操作。可以在运行时间过程中动态地确定第一一个或多个操作和第二一个或多个操作中的判断。脉冲操作电路358可操作为将每个原始出站脉冲CP'l作为单相脉冲或正交相脉冲对中的一个脉冲进行处理。如下面参考图7A至图7C进一步描述的,在所示的示例性实现方式中,可以在控制信号对l在时间T1(即,对l,T1)的运行时间过程中确定时间T1的具体脉冲CP'l(即,CP'l,T1)是作为单脉冲还是作为脉冲对的一部分进行处理。
发射模拟前端362包括可操作为对多至K个数字信号DOk同时进行处理、以生成被输出至量子处理器218的多至K个并发模拟信号AOk的电路。例如,该处理可以包括:数模转换、滤波、上变频、下变频、放大、衰减、时分复用/解复用、频分复用/解复用等。在示例性的实现方式中,一个或多个信号路径3130–313K-1中的每个信号路径(图3A)表示Tx模拟前端电路362的相应部分以及Tx模拟前端电路362与量子处理器218之间的互连212(图2)的相应部分。在此处所述的示例性实现方式中,尽管多个DO信号与多个AO信号之间存在一对一的对应性,然而,并不需要是这种情况。在另一示例性的实现方式中,模拟前端362可操作为将更多(或更少)的信号DO映射至更少(或更多)的信号AO。在示例性的实现方式中,发射模拟前端362可操作为将数字信号DO0–DOK-1作为K个单相出站脉冲、作为K/2个正交相脉冲对进行处理、或者将一些信号DO0–DOK-1作为单相出站脉冲并且将一些信号DO0–DOK-1作为正交相脉冲对(在不同的时间和/或并发地)进行处理。
输出管理器360包括可操作为将任意一个或多个信号CP0–CPL-1路由至任意一个或多个信号路径3130–313K-1的电路。仅作为一个可能的实施例,信号路径3130可以包括通过输出AO0的模拟前端362(例如,第一混频器和DAC)和承载信号AO0的互连212的迹线/导线的第一路径;信号路径3131可以包括通过输出AO1的模拟前端362(例如,第二混频器和DAC)和承载信号AO1的互连212的迹线/导线的第二路径等。在示例性的实现方式中,输出管理器360包括用于动态地重新配置将哪一个或多个信号CP0–CPL-1路由至哪个信号路径3130–313K-1的一个或多个开关网络、多路复用器等。这能够实现多个信号CP0–CPL-1到单一信号路径313k的时分复用和/或信号CPm到多个信号路径3130–313K-1的时分解复用分量(例如,时间碎片)。在示例性的实现方式中,输出管理器360包括用于多个信号CP0–CPM-1到单一信号路径313k的频分复用和/或信号CPm到多个信号路径3130–313K-1的频分解复用分量(例如,频带)的一个或多个混频器和/或滤波器。由输出管理器360执行的信号路由和复用/解复用功能能够使得:在不同的时间将出站脉冲从具体的脉冲发生器302l路由至信号路径3130–313K-1中的不同信号路径;同时将出站脉冲从具体的脉冲发生器302l路由至多个信号路径3130–313K-1;并且多个脉冲发生器3020–302L-1同时针对同一信号路径313k而生成脉冲。在所示的示例性实现方式中,通过来自脉冲发生器3020–302L-1的数字控制信号out_slct0–out_slctL-1而控制信号CP0–CPL-1在信号路径3130–313K-1之间的路由。在另一实现方式中,输出管理器360可以操作为自动确定适当的路由(例如,其中量子算法描述包括被加载到输出管理器362的存储器中并且由输出管理器362执行的指令)。在示例性的实现方式中,在任意给定的时间,输出管理器360可操作为将K个数字信号CP0–CPL-1作为K个单相出站脉冲同时进行路由、将数字信号CP0–CPL-1作为K/2个正交相脉冲对同时进行路由、或者将一些信号CP0–CPL-1作为单相出站脉冲并且将另一些信号CP0–CPL-1作为正交相脉冲对(在不同的时间和/或并发地)进行路由。
数字管理器354包括可操作为处理和/或将数字控制信号(DigCtrl0–DigCtrlJ-1)路由至量子控制器210的各个电路和/或与量子控制器210耦合的外部电路的电路。在所示的示例性实现方式中,数字管理器从各个脉冲发生器302l(例如,经由一个或多个信号路径3040–304N-1)接收由数字管理器354处理并且路由的数字信号Dl和表示应将信号Dl路由至数字管理器354的哪个输出端口的控制信号D_portl。例如,可以将数字控制信号路由至图3B中所示的任意一个或多个电路、连接输出AO0–AOK-1与量子处理器218以及使输出AO0–AOK-1从量子处理器218断开的开关/门、与量子控制器210耦合的诸如微波混频器和放大器等外部电路、和/或能够从来自脉冲发生器电路3020–302L-1的实时信息获益的任意其他电路。数字信号的每个该目的地可能需要对数字信号执行不同的操作(诸如利用给定数字模式的延迟、加宽、或数字卷积等)。通过数字管理器354可以执行这些操作并且这些操作可以通过来自脉冲发生器3020–302L-1的控制信号来指定。这允许每个脉冲发生器302l生成到不同目的地的数字信号并且允许脉冲发生器3020–302L-1中的一些不同的脉冲发生器在节省资源的同时生成到同一目的地的数字信号。
同步管理器366包括可操作为管理图3B中所示的各个电路的同步的电路。该同步的优点在于诸如量子控制器210的模块化和动态系统,其中,脉冲发生器3020–302L-1中的一些不同的脉冲发生器生成、接收、并且处理在不同时间到并且来自不同量子元件的脉冲。例如,在完成量子算法的同时,第一脉冲发生器电路3021与第二脉冲发生器电路3022有时可能需要在同一时间精确地发射脉冲并且在其他时间彼此独立地发射脉冲。在所示的示例性实现方式中,同步管理器366减少执行该同步时所涉及的支出。下面参考图3C对同步管理器366的示例性实现方式进行描述。
数据交换电路364可操作为管理图3B中所示的各个电路之间的数据交换。例如,在完成量子算法的同时,第一脉冲发生器电路3021与第二脉冲发生器电路3022有时可能需要交换信息。仅作为一个实施例,脉冲发生器3021可能需要与脉冲发生器3022共享刚刚经过处理的入站信号AI1的特征,以使得脉冲发生器3022能够基于AI1的特征生成原始出站脉冲CP'2。数据交换电路364能够实现这种信息交换。在示例性的实现方式中,数据交换电路364可以包括能够从脉冲发生器3020–302L-1读取并且写入脉冲发生器3020–302L-1的一个或多个寄存器。
I/O管理器368可操作为在量子控制器210与量子编程子系统202之间路由信息。
图3C示出了图3B中的同步管理器电路的示例性实现方式。示例性的同步管理器电路366包括共享同步寄存器370、时间_戳(time-stamp)寄存器372、网格_步进(grid_step)寄存器374、等待_时间(wait_time)寄存器380、以及并网(on_grid)寄存器376。每个寄存器可以包括硬件和/或软件寄存器。脉冲发生器3020–302l通过数据总线371与同步管理器366交换信息。这可以包括将脉冲发生器3020–302l写入共享同步寄存器370以及从共享同步寄存器370读取脉冲发生器3020–302l并且在数据总线371中将并网寄存器376作为并网(on_grid)信号输出至脉冲发生器3020–3021。下面参考图6A至图7C对使用图3C中的寄存器在脉冲发生器的异步操作与同步操作之间进行转换的量子控制器的示例性实现方式进行描述。还示出了时钟电路378(例如,晶体振荡器、PLL、和/或任意其他合适的时钟信号生成电路)。
可以在其中量子控制器220确定下列项的校准例程过程中设置网格_步进寄存器374和等待_时间寄存器380的内容:(1)两对以上脉冲发生器3020-302L-1之间和/或两个以上脉冲发生器3020-302L-1与同步管理器366之间的信号行进时间;和(2)这些行进时间的不确定性。然后,可以基于信号行进时间设置等待_时间寄存器380的值,并且可以基于信号行进时间的不确定性设置网格_步进寄存器的值。
图3D示出了图3C中的可替代实现方式。在图3D中,每个脉冲发生器302l具有其自身的网格_步进寄存器374和并网寄存器376并且生成其自身的并网(on_grid)信号。
图4A示出了图3B中的原始脉冲发生器的示例性实现方式。所示的示例性脉冲发生器302l包括指令存储器402、脉冲模板存储器404、数字模式存储器406、控制电路408、以及计算和/或信号处理电路(CSP)410。
存储器402、404、406可以包括一个或多个任意类型的合适存储元件(例如,DRAM、SRAM、闪存等)。存储在指令存储器402中的指令是由在量子算法中发挥作用的脉冲发生器302l所执行的指令。因为不同的脉冲发生器3020–302L-1在任意具体的量子算法中发挥不同的作用(例如,在不同的时间生成不同的脉冲),所以每个脉冲发生器302l的指令存储器402可以特定于该脉冲发生器。例如,来自量子编程子系统202的量子算法描述206可以包括被加载到(经由I/O管理器368)脉冲发生器3020中的第一组指令、被加载到脉冲发生器3021中的第二组指令等。存储在脉冲模板存储器404中的每个脉冲模板包括表示被发送至脉冲操作电路358的脉冲的任意随机形状(例如,高斯、辛克函数、脉冲等)的一个或多个样品序列。存储在数字模式存储器406中的每个数字模式包括表示被发送至数字管理器354用于生成数字控制信号DigCtrl0–DigCtrlJ-1的数字脉冲的一个或多个二进制值序列。
控制电路408可操作为执行存储在存储器402中的指令来处理入站信号AIl、生成原始出站脉冲CP'l、并且生成数字控制信号in_slctl、out_slctl、D_portl、Dl、IFl、Fl、ops_slctl、ops_ctrll、结果l、以及dmod_slctl。在所示的示例性实现方式中,由CSP电路410并且基于(至少部分)信号f_dmodl执行入站信号AIl的处理。
计算和/或信号处理电路(CSP)410可操作为执行计算和/或信号处理功能,其可以包括例如基于布尔代数的逻辑和算术函数以及解调(例如,入站信号AIl)。
在示例性实现方式的操作中,生成原始出站脉冲CP'l包括控制电路408:(1)确定从脉冲模板存储器404检索的脉冲模板(例如,基于由CSP 410执行的计算和/或信号处理的结果);(2)检索脉冲模板;(3)对脉冲模板执行一定的初步处理;(4)确定被发送至脉冲操作管理器356的值F、IF、ops_slctl、以及dmod_slctl(如在量子算法描述中预先确定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态确定的);(5)确定被发送至脉冲操作电路358的ops_ctrll的值;(6)确定被发送至输入管理器352的in_slctl的值;(7)确定从数字模式存储器406检索的数字模式(如在量子算法描述中预先确定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态确定的);(8)将数字模式作为Dl与控制信号D_portl(如在量子算法描述中预先确定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态确定的)一起输出至数字管理器;(9)将原始出站脉冲CP'l输出至脉冲操作电路358;(10)将结果l输出至I/O管理器。
图4B示出了由脉冲发生器302l执行的示例性指令。指令448包括多个字段450,每个字段可以由一个或多个比特构成并且其中一个是步进网格(step-to-grid)和/或同步字段4502并且其中一个可以是脉冲发生器同步字段4503。步进网格和/或同步字段4502表示执行指令448的脉冲发生器302l是否应该准备并且何时准备与其他脉冲发生器3020–302L的指令执行同步地执行后续的指令。脉冲发生器同步字段4503表示哪些脉冲发生器3020–302L应在后续指令的过程中同步地执行指令。在示例性的实现方式中,脉冲发生器同步字段4503可以包括各个脉冲发生器3020-302l中的比特以及指示哪些脉冲发生器3020-302l-1(在图4B所示的实施例中)在后续过程中同步操作的字段中的确认比特。例如,在具有1=6的该实现方式中,脉冲发生器同步字段4503中的值001011表示脉冲发生器3020、3021、以及3023是同步的。
在图4B的示例性实现方式中,使用单一字段4502表示需要同步并且需要步进网格。该指令可以用于诸如下面参考图6A和图7B所描述的实现方式,其中,不需要明确的步进网格字段,并且在同步程序之前或在刚刚开始同步程序之前,能够在最后的指令中指示对同步的需求。
在图4C所示的另一实现方式中,步进网格字段4505与同步字段4506是可以通过不同的指令460和462发送的独立字段。该指令可以用于诸如下面参考图7A和图7C所描述的实现方式,其中,例如,在同步程序之前,步进网格字段可以存在于最后的指令中并且在最后指令中确认步进网格字段,并且同步字段可以存在于同步程序的第一指令中并且在同步程序的第一指令中确认同步字段。
图5A和图5B示出了由图3A中的量子控制器执行的示例性操作。具体地,操作涉及脉冲发生器3020将量子位1220重置为0状态、脉冲发生器3021将量子位1221重置为0状态、脉冲发生器3021对量子位1221执行哈达玛(Hadamard)门操作、并且然后脉冲发生器3020和3021利用控制量子位(即,量子位1220)执行CNOT(非受控)操作。在一些实现方式中,因为CNOT要求脉冲发生器3020将脉冲发送至量子位1220并且脉冲发生器3021将脉冲发送至量子位1221并且需要同时发送脉冲(例如,“同时”可以指在彼此的数百皮秒或更短时间内),所以脉冲发生器3020和3021必须相对于彼此同步地操作,以执行CNOT操作。
如下面参考图5B所描述的,因为重置过程502占用不确定数量的时钟周期,所以仅在图5A的程序开始时对脉冲发生器3020和3021进行同步可能是不充分的。由此,尽管脉冲发生器3020和3021在同一时间T0开始其相应的重置,然而,脉冲发生器3021在时间T1完成重置5021,而脉冲发生器3020直至随后在时间T2才完成重置5020。在时间T2,脉冲发生器3020开始执行一个或多个同步指令,期间,其发出准备开始CNOT的信号。在时间T3,脉冲发生器3021完成哈达玛运算504并且然后开始执行一个或多个同步指令,期间,其发出准备开始CNOT的信号。由此,在T3之后,脉冲发生器3020和3021发出准备执行CNOT的信令,并且在时间T4,其同时开始CNOT。
返回图5B,重置过程从开始框522开始,其中,测量量子位的状态。接着,在框528,确定所测量的状态是0还是1。如果是0,则过程进行至框530并且完成。如果状态不是0,则过程进行至框526,其中,将信号发送至量子位,以尝试改变使量子位的状态,然后,过程返回至框524。
图6A示出了图3A中的量子控制器的示例性实现方式的同步。图6A中所示的是当时间从图的顶部前进至底部时的时间_戳寄存器372的值。应注意,在图6A的实现方式中,时间_戳寄存器372不需要同步,但是,仅为易于描述而示出了其值。在其他实现方式中,可以使用时间_戳寄存器372中的值提供用于同步的共同参考点。在所示的实施例中,时间_戳寄存器372的值按照每个时钟周期(例如,由时钟378生成的时钟信号的每个正边缘)增加,并且示出了自当前执行的量子算法开始时的时钟周期的数量(在所示的实施例中,包括由脉冲发生器3020和3021执行的多个指令组,并且可以包括由图中未示出的其他脉冲发生器3020-302L-1执行的其他指令组)。
图6A中还示出了由脉冲发生器3020在所描述的时间帧内所执行的示例性指令、和由脉冲发生器3021在所描述的时间帧内所执行的示例性指令。
从时间_戳=0至时间_戳=11,脉冲发生器3020执行指令组620。在指令组620的最后指令中,或在紧跟指令组620之后的第一指令中,存在同步命令(例如,通过确定指令448的同步字段4502),指示与一个或多个其他脉冲发生器3020-302L-1的指令执行同步地,执行由脉冲发生器3020执行的下一指令组。在存在多于两个脉冲发生器3020-302L-1的情况下,同步指令还可以指定哪些脉冲发生器3020-302L-1在执行下一指令时(例如,指令448的脉冲发生器同步字段4503的值)开始同步操作。由此,在时间_戳=12,脉冲发生器3020开始执行同步程序652。
在同步程序652开始时,在时间_戳=12,脉冲发生器3020指示其通过将同步信号发送至的脉冲发生器3021,由箭头602a01和602b01指示并且通过在其自身的同步寄存器370中设置其“就绪”比特而准备开始同步操作。
在图6A的示例性实现方式中,从脉冲发生器3020发送同步信号至到达脉冲发生器3021所需的时间tsignal,01以及此时的不确定性dtsignal,01(表示为箭头602a01和602b01的到达时间差)使得同步信号在同步程序的第7个时钟周期期间到达脉冲发生器3021,以使得在时间_戳=18与时间_戳=19之间的上升时钟边缘上,脉冲发生器3021的同步寄存器370改变为指示脉冲发生器3020已经到达同步程序。不确定性dtsignal,01足够小,以确保(具有一定期望的概率)脉冲发生器3021的同步寄存器370仅在该上升时钟边缘上改变、而非在上升时钟边缘之前或之后改变。
在同步程序的第8个时钟周期,即,在时间_戳=19,脉冲发生器3020对其同步寄存器370进行检查,以确定所需脉冲发生器(即,与脉冲发生器3020同时操作指令组624的一个或多个脉冲发生器3021-302L-1--在所示的实施例中,为脉冲发生器3021)是否到达同步程序并且准备继续。
如果所需的脉冲发生器3021已经到达同步程序,则在下一时钟周期,脉冲发生器3020开始执行指令组624。如果脉冲发生器3021尚未到达同步程序,脉冲发生器3020则在下一时钟周期开始对同步寄存器370进行另一次检查。重复该过程,直至同步寄存器370指示脉冲发生器3021已经到达同步程序。在寄存器370指示脉冲发生器3021处于同步程序之后的下一时钟周期,脉冲发生器3020开始执行指令组624。
同时,在时间_戳=17,脉冲发生器3021开始执行其自身的同步程序654。如由箭头602a10和602b10指示的,在时间_戳=17,脉冲发生器3021通过将同步信号发送至脉冲发生器3020并且通过在其同步寄存器中设置其“就绪”比特而指示其准备开始同步操作。
在图6A的示例性实现方式中,从脉冲发生器3021发送同步信号至到达脉冲发生器3020所需的时间tsignal,10以及此时的不确定性dtsignal,10(表示为箭头602a10和602b10的到达时间差)使得同步信号在同步程序的第7个时钟周期期间到达脉冲发生器3020,以使得在时间_戳=23与时间_戳=24之间的上升时钟边缘上,脉冲发生器3020的同步寄存器改变为指示脉冲发生器3021已经到达同步程序。不确定性dtsignal,10足够小,以确保(在所期望的概率上)脉冲发生器3020的同步寄存器370仅在该上升时钟边缘上改变、而非在上升时钟边缘之前或之后改变。
在同步程序的第8个时钟周期,即,在时间_戳=24,脉冲发生器3021对其同步寄存器370进行检查,以确定所需的脉冲发生器是否已经到达同步程序。在图6A所示的实施例中,所需的唯一脉冲发生器是脉冲发生器3020,但是,在其他情况下,可能需要两个以上的脉冲发生器3020、3022-302L-1同步。
如果脉冲发生器3020已经到达同步程序,脉冲发生器3021则在下一时钟周期开始执行指令组626。如果脉冲发生器3020尚未到达同步程序,脉冲发生器3021则在下一时钟周期对其同步寄存器370进行重复检查。重复该过程,直至同步寄存器370指示脉冲发生器3020已经到达同步程序。在寄存器370指示脉冲发生器3020处于同步程序之后的下一时钟周期,脉冲发生器3021开始执行指令组626。
因此,从图中能够看出,脉冲发生器3020和3021在同一时间_戳(即,在时间_戳=24)退出同步程序652和654,并且由此在开始时间_戳=25的时钟边缘上同时开始执行指令组624和626。
应注意,尽管脉冲发生器3021的同步寄存器370指示脉冲发生器3020和3021在更早的时间(在时间_戳=19)就绪,然而,直至时间_戳=24,脉冲发生器3021才对同步寄存器进行检查(或才基于其同步寄存器的内容采取行动)。在所示的实施例中,这防止了在脉冲发生器3020继续执行指令组624之前、脉冲发生器3021过早地执行指令组626的情形。
还应注意,由于这些时间是提前已知的(在所期望的概率上)并且相应地设置了每个脉冲发生器开始检查其同步寄存器的时间(即,同步程序652和654中的7个周期的“等待”时间),将同步信号从一个脉冲发生器302l发送至另一个脉冲发生器所需的具体时间tsignal,ij并不重要。而且,如果存在两个以上脉冲发生器,并且对于每对不同的脉冲发生器,时间tsignal,ij不同,则能够提前或动态地将这些时间特意修改为彼此相等。例如,在图6A和图6B的示例性实现方式中(下面所讨论的),当信号在待同步的脉冲发生器之间行进的时间较短时(例如,因为脉冲发生器位于同一封壳内、同一印刷电路板上、和/或同一芯片上),可以使用较短的等待时间,并且当信号在待同步的脉冲发生器之间行进的时间较长时(例如,因为其位于不同的封壳内、不同的印刷电路板上、和/或不同的芯片上),可以使用较长的等待时间。同样,对于图7A至图7C的示例性实现方式(下面所述),当信号在同步管理器与一个或多个待同步的脉冲发生器之间行进的时间较短时,可以使用较短的等待时间,并且当信号在同步管理器与一个或多个待同步的脉冲发生器之间行进的时间较长时,可以使用较长的等待时间。
图6B示出了与图6A相同的同步方法,但是,示出了当同步信号从脉冲发生器3020到达脉冲发生器3021所需的时间不确定性(由dtsignal,01表示并且表示为箭头602a01和602b01的到达时间差)、和/或当同步信号从脉冲发生器3021到达脉冲发生器3020所需的时间不确定性(由dtsignal,10表示并且表示为箭头602a10和602b10的到达时间差)可能大于1个时钟周期时,其如何是不可靠的。如同图6A,在图6B中,脉冲发生器3020和3021分别在时间_戳=12和时间_戳=17将同步信号发送至彼此。在示例性的实现方式中,每个脉冲发生器在第一次检查其相应的同步寄存器之前所等待的时间现在增加至8个周期(因此,其大于脉冲发生器共享其状态所需的最大时间)。然而,如图中所示,由于可能的不确定性dtsignal,10,即,在该示例性的实现方式中,大于1个时钟周期,不可能提前确定脉冲发生器3020在时间_戳=24或时间_戳=25是否退出同步程序。由此,不可能确定脉冲发生器3021应在多少个时钟周期之后第一次检查其同步寄存器,以与脉冲发生器3020一起退出同步程序。因此,利用该方法不能实现单个时钟周期准确度内的同步。
图7A示出了图3A中的量子控制器的示例性实现方式的同步。图7A中所示的是从图的顶部前进至底部的时间的时间_戳寄存器372的值、并网寄存器376的内容、以及网格_步进寄存器374。如同图6A和图6B,实际上,图7A至图7C的实现方式中并不需要时间_戳寄存器372,但是,仅出于描述清楚而示出。在其他实现方式中,可以使用时间_戳寄存器372中的值作为用于同步的共同参考点。还示出了由脉冲发生器3020在所描述的时间帧内所执行的示例性指令和由脉冲发生器3021在所描述的时间帧内所执行的示例性指令。
在所示的实施例中,将网格_步进寄存器374设置为4,以使得每第4个时钟周期是并网周期。由此,在每第4个时钟周期,确认并网寄存器376的值(在所示的实施例中,确认=1),并且然后,在下一时钟周期不进行确认。网格_步进寄存器374的值被选择为大于将同步信号从任意一个脉冲发生器302i发送至任意其他脉冲发生器302j所需的时间tsignal,ij的不确定性dtsignal,ij。在示例性的实现方式中,下述同步程序始终在紧跟并网=1个时钟周期之后的下一时钟周期开始(下面我们称为并网时钟周期)。
从时间_戳=0至时间_戳=13,脉冲发生器3020执行指令组720。在指令组720的最后指令中,确认步进_网格字段4505,指示与另一脉冲发生器(在所示的实施例中,为脉冲发生器3021)的指令执行同步地执行由脉冲发生器3020执行的下一指令组724。由此,在时间_戳=13,脉冲发生器3020开始等待在时间_戳=16发生的下一并网时钟周期(例如,其执行“闲置”或“等待”操作)。在检测时间_戳=16的并网时钟周期之后,脉冲发生器3020开始执行同步程序734。此外,在两个以上的脉冲发生器3020-302L-1同步的情况下,指令组720中的最后指令或紧跟之后的第一指令也可以指定哪些脉冲发生器3020-302L-1与指令组724的执行同步地执行指令(例如,通过指令448的脉冲发生器同步字段4503的值)。
在同步程序734开始时,在时间_戳=17,脉冲发生器3020指示其通过将同步信号发送至脉冲发生器3021,由箭头602a01和602b01指示,并且通过在其同步寄存器370中设置其“就绪”比特,而准备开始同步操作。
在图7A的示例性实现方式中,从脉冲发生器3020发送信号至到达脉冲发生器3021所需的时间tsignal,01以及此时的不确定性(由dtsignal,01表示并且表示为箭头602a01和602b01的到达时间差)使得信号在同步程序的第7个、第8个、或第9个周期期间到达脉冲发生器3021,以使得在时间_戳=23与时间_戳=26之间的一个上升时钟边缘上,脉冲发生器3021的同步寄存器370改变为指示脉冲发生器3020已经到达同步程序。不确定性dtsignal,01太大而不能确保脉冲发生器3021的同步寄存器在确定性的时钟边缘上改变,而是,足够小,以确保(在一定所期望的概率上)其在这三个上升时钟边缘中的一个上升时钟边缘上改变、而非在上升时钟边缘之前或之后改变。
在时间_戳=26(即,在脉冲发生器3020的同步程序734的第10个时钟周期),脉冲发生器3020对其同步寄存器进行检查,以确定所需脉冲发生器(在所示的实施例中,为脉冲发生器3021)是否已经到达同步程序并且准备继续。
如果脉冲发生器3021已经到达同步,脉冲发生器3020则在下一时钟周期开始执行指令组724。如果脉冲发生器3021尚未到达同步程序,脉冲发生器3020则等待从检查同步寄存器370的时间戳起计数的第4个上升时钟边缘,并且然后开始对同步寄存器370进行另一次检查。重复该过程,直至脉冲发生器3020的同步寄存器370指示脉冲发生器3021已经到达同步程序。在寄存器370指示脉冲发生器3021处于同步程序之后的下一时钟周期,脉冲发生器3020开始执行指令组724。
同时,在时间_戳=21,脉冲发生器3021已经完成722。因为在指令组722的最后指令中确认步进_网格,所以脉冲发生器3021等待下一并网时钟周期,其在时间_戳=24到达并且然后开始执行同步程序738。
在同步程序738开始时(时间_戳=25),脉冲发生器3021指示其通过将同步信号发送至脉冲发生器3020,由箭头602a10和602b10指示,并且通过在其同步寄存器370中设置其“就绪”比特而准备开始同步操作。
在图7A的示例性实现方式中,从脉冲发生器3021发送信号至到达脉冲发生器3020所需的时间(tsignal,10)以及此时的不确定性(由dtsignal,10表示并且表示为箭头602a10和602b10的到达时间差)使得信号在同步程序的第7个、第8个、或第9个周期期间到达脉冲发生器3020,以使得在时间_戳=31与时间_戳=34之间的一个上升时钟边缘上,脉冲发生器3021的同步寄存器370改变为指示脉冲发生器3020已经到达同步程序。不确定性dtsignal,01太大而不能确保脉冲发生器3021的同步寄存器在确定性的时钟边缘上改变,而是,足够小,以确保其在这三个上升时钟边缘中的一个上升时钟边缘上改变、而非在上升时钟边缘之前或之后改变。
在时间_戳=34(即,在脉冲发生器3021的同步程序738的第10个时钟周期),脉冲发生器3021对其同步寄存器进行检查,以确定所需脉冲发生器(在图7A的实施例中,为脉冲发生器3020)是否已经到达同步程序。
如果脉冲发生器3020已经到达同步程序,脉冲发生器3021则在下一时钟周期开始执行指令组726。如果脉冲发生器3020尚未到达同步程序,脉冲发生器3021则等待从检查同步寄存器370的时间戳起计数的第4个上升时钟边缘,并且然后开始对同步寄存器370进行另一次检查。重复该过程,直至脉冲发生器3021的同步寄存器370指示脉冲发生器3020已经到达同步程序,在这种情况下,脉冲发生器3021在下一时钟周期开始执行指令组726。
因此,从图中能够看出,脉冲发生器3020和3021在同一时间_戳(时间_戳=34)决定退出同步程序并且由此在开始时间_戳=35的时钟边缘上同时开始执行指令组724和726。
应注意,尽管脉冲发生器3021的同步寄存器370指示脉冲发生器3020和3021尽可能在与时间_戳=24一样早的较早时间就绪,然而,直至时间_戳=34,脉冲发生器3021才对其同步寄存器370进行检查(或者才基于其同步寄存器370的内容采取行动)。
还应注意,尽管脉冲发生器3020的同步寄存器370可以指示脉冲发生器3020和3021在更早的时间就绪(与时间_戳=32一样早),然而,脉冲发生器3020在时间_戳=30对其同步寄存器370进行检查,并且然后直至时间_戳=34,才对其进行再次检查(或者才基于此采取行动),由此在这些不确定的时间基于同步寄存器370的内容避免采取任意行动。
还应注意,由于这些时间是提前已知的(在所期望的概率上)并且相应地设置了每个脉冲发生器开始检查其同步寄存器370的时间,将同步信号从一个脉冲发生器302i发送至另一个脉冲发生器302j所需的具体时间tsignal,ij量并不重要。而且,如果存在两个以上的脉冲发生器同步,并且对于每对不同的脉冲发生器,时间tsignal,ij不同,则能够提前或动态地将这些时间特意修改为彼此相等。
还应注意,由于该不确定性是提前已知的(在所期望的概率上),将各个同步信号从一个脉冲发生器302i发送至另一个脉冲发生器302j所需的时间的具体不确定性dtsignal,ij并不重要。而且,如果存在两个以上的脉冲发生器同步,并且对于每对不同的脉冲发生器,不确定性dtsignal,ij不同,则能够提前或动态地将这些不确定性特意修改为彼此相等。
通过将网格_步进设置成大于将同步信号从任意一个脉冲发生器302i发送至任意其他脉冲发生器302j所需的时间tsignal,ij的不确定性dtsignal,ij,实现了与单个时钟周期准确度的同步。
图7B示出了图3A中的量子控制器的示例性实现方式的同步。图表现出与上面图6A中所描述的相似的同步方法,但是,并非每个脉冲发生器3020-302L-1具有其自身的同步寄存器370,存在使得全部脉冲发生器3020-302L-1共享同步寄存器370的同步管理器366。
与图6A中所描述的实现方式相似,在图7B的示例性实现方式中,脉冲发生器3020和3021分别在时间_戳=11和时间_戳=16开始同步程序734和738。然而,当每个脉冲发生器3020和3021开始同步程序时,并非将其同步信号发送至同步所涉及的其他脉冲发生器,其将同步信号发送至同步管理器366(如箭头752a0M和752b0M、以及752a1M和752a1M所示)。同步信号在其发送之后的某一时间tplsr_mgr±dtplsr_mgr到达同步管理器366,并且将共享同步寄存器370改变为指示发送同步信号的脉冲发生器准备开始同步操作。
在所示的示例性实现方式中,同步管理器366在每个时钟周期对共享同步寄存器370进行检查并且将所有_就绪信号发送至需要同步的全部脉冲发生器,指示是否全部所需的脉冲发生器(在图7B所示的示例性实现方式中,为脉冲发生器3020和3021)准备开始同步操作。所有_就绪信号754在之后的某一时间tmgr_plsr,jΦdtmgr_plsr,j到达各个相关的脉冲发生器302j(其中,dtmgr_plsr,j指将所有_就绪信号754Mj从同步管理器366发送至脉冲发生器302j所需的时间的不确定性,并且表示为两个对应箭头754aMj和754bMJ的到达时间差)。
在图7B的示例性实现方式中,时间tplsr_mgr和tmgr_plsr以及这些时间的不确定性dtplsr_mgr和dtmgr_plsr、以及同步管理器366从共享同步寄存器370计算所有_就绪信号754所需的时间(在图7B所示的示例性实现方式中,为1个时钟周期),使得仅能够在致使所有_就绪信号改变的同步程序(即,到达同步程序的待同步的最后脉冲发生器的同步程序)的第7个时钟周期与第8个时钟周期之间确认到达各个脉冲发生器(改变为1)的所有_就绪信号754(在图7B所示的示例性实现方式中)。
需要同步的脉冲发生器中的每个脉冲发生器(在图7B的实施例中,为3020和3021)在其同步程序的第8个时钟周期对从同步管理器接收的所有_就绪信号754进行检查并且在之后的每个时钟周期继续对所有_就绪信号754进行检查,直至所有_就绪=1。一旦确认所有_就绪信号754,脉冲发生器则能够在下一时钟周期开始执行即将被同步执行的下一指令。因为存在从确认同步管理器366的所有_就绪信号754的周期至全部脉冲发生器接收该信号的周期的确定性数量的周期,所以实现了同步。
图7C示出了图3A中的量子控制器的示例性实现方式的同步。图表现出与上面图6A所述的相似的同步方法,但是,并非每个脉冲发生器302l具有其自身的同步寄存器370,存在使得全部脉冲发生器3020-302L-1保持共享同步寄存器370的同步管理器366。
与图7A中所述的实现方式相似,在图7C的示例性实现方式中,在等待并网时间戳之后,脉冲发生器3020和3021分别在时间_戳=16和时间_戳=24开始同步程序。然而,当每个脉冲发生器302l开始同步程序时,并非将其同步信号发送至同步所涉及的所有其他脉冲发生器,其将同步信号752发送至同步管理器366。来自各个脉冲发生器302l的同步信号在其发送之后的某一时间到达同步管理器并且将共享同步寄存器370改变为指示脉冲发生器302l准备开始同步操作。
在示例性的实现方式中,同步管理器366在每个时钟周期对共享同步寄存器370进行检查并且将所有_就绪信号754发送至需要同步的全部脉冲发生器。所有_就绪信号754指示全部所需的脉冲发生器(在图7C的示例性实现方式中,为脉冲发生器3020和3021)是否准备开始同步操作。所有_就绪信号754在之后的某一时间到达各个相关的脉冲发生器302l
在图7C的示例性实现方式中,时间tplsr_mgr′l这些时间的不确定性和/>(与一对箭头754a和754b的到达时间差对应)、以及同步管理器366从给定的共享同步寄存器值(在示例性的实现方式中,为1个时钟周期)计算所有_就绪信号754所需的时间,使得仅能够在致使其改变的同步程序(即,到达同步程序的所需脉冲发生器中的最后脉冲发生器的同步程序)的第7个时钟周期与第10个时钟周期之间确认到达各个脉冲发生器(改变为1)的所有_就绪信号754(在图7C所示的示例性实现方式中)。
在图7C所示的实施例中,各个脉冲发生器3020和3021在其同步程序的第10个时钟周期对从同步管理器366接收的所有_就绪信号754进行检查,并且在之后的每4个时钟周期(与存储在时间_网格_步进寄存器374中的值相等的时钟周期的数量)继续对所有_就绪信号754进行检查,直至所有_就绪=1。一旦所有_就绪=1,脉冲发生器则在下一时钟周期移至执行即将被同步执行的下一指令。网格_步进寄存器374的值被选择为使得到达各个脉冲发生器的所有_就绪信号754的值仅能够在两个检查周期(即,脉冲发生器检查所有_就绪的值的周期)之间改变,由此这些信号在检查周期的值是确定性的。因此,全部脉冲发生器看到在同一检查周期所确认的所有_就绪信号并且实现同步。
应注意,以及/>的具体值并不重要。问题在于这些值是提前已知的(在所期望的概率上)。在图7A、图7B、以及图7C中,为有助于示出,这些值被选择为是相同的,但是,实际上,值能够是任意的。
在存在两个以上脉冲发生器3020-302L-1同步的情况下,因为每个脉冲发生器302l仅需要发送并且接收单一信号(同步信号和所有_就绪信号)并且仅需要单一电路执行计算来确定全部相关的脉冲发生器是否就绪,所以图7B和图7C的示例性实现方式中的同步管理器366是有利的。这与下列情况相反,即,脉冲发生器3020-302L-1中的每个脉冲发生器具有其自身的同步寄存器370并且由此脉冲发生器3020-302L-1中的每个脉冲发生器必须从脉冲发生器3020-302L-1中的所有其他脉冲发生器接收同步信号并且对其自身执行计算,以确定所有待同步的脉冲发生器是否就绪,即,例如,在布线和计算功率方面可能需要更高的支出。
图7B和图7C的示例性实现方式中的同步管理器366可以被配置为在由量子控制器执行量子算法的过程中的每个时间点,自动确定哪些脉冲发生器3020-302L-1即将被同步,或者可以从量子控制器的另一电路接收该信息。
根据本公开的示例性实现方式,量子控制器(例如,210)包括第一量子控制脉冲生成电路(例如,脉冲发生器3020)、第二量子控制脉冲生成电路(例如,脉冲发生器3021)、以及同步电路(例如,370、374、376、以及378中的一个或多个)。同步电路可操作为确定(例如,经由存储在一个或多个寄存器中的值)一周期内周期性地发生的并网时间序列在所确定的概率上大于第一量子控制脉冲生成电路和第二量子控制脉冲生成电路的同步信号传播时间的不确定性,其中,第一量子控制脉冲生成电路和第二量子控制脉冲生成电路的同步信号传播时间指:第一量子控制脉冲生成电路和第二量子控制脉冲生成电路中的一者生成同步信号所需的时间、加上同步信号从第一量子控制脉冲生成电路和第二量子控制脉冲生成电路中的一个行进至另一个所需的时间、加上另一个接收信号并且提取信号中的信息的时间。第一量子控制脉冲生成电路可操作为:在执行第一指令组(例如,620或720)的过程中确定第一量子控制脉冲生成电路在由第二量子控制脉冲生成电路执行第二指令组(例如,626或726)的同时接着执行第三指令组(例如,624或724)。第一量子控制脉冲生成电路可操作为:在执行第一指令组完成时,等待并网时间中的下一个并网时间;在下一个并网时间到达时,执行同步程序(例如,652或734)。同步程序包括:生成指示第一量子控制脉冲生成电路已经开始同步程序的同步信号(例如,602a01);在等待期之后,检查第二量子控制脉冲生成电路是否处于同步程序,其中,等待期在所确定的概率上大于同步信号传播时间;如果检查显示第二量子控制脉冲生成电路处于同步程序,则在随后的确定时间开始执行第三指令组;并且如果检查显示第二量子控制脉冲生成电路不处于同步程序,则在与并网时间的时段相等的时段之后再一次检查第二量子控制脉冲生成电路是否处于同步程序。量子控制器可以包括时钟电路(例如,378)。并网时间的时段可以是时钟电路的一个周期。并网时间的时段可以是时钟电路的多个周期。可以将与并网时间的时段对应的时钟电路的多个周期存储在同步电路的网格步进寄存器(例如,374)中。多个量子控制脉冲生成电路可以包括三个以上量子控制脉冲生成电路(例如,3020、3021、以及3022)。同步电路可以操作为基于以下项调整存储在网格步进寄存器中的值以及初始等待时段,即,基于三个量子控制脉冲生成电路中的两个是多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路和第二量子控制脉冲生成电路。检查多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路是否处于同步程序可以包括:检查同步电路的同步寄存器(例如,370)的状态。确定在由多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路执行第二指令组的同时,多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路是否接着执行第三指令组可以包括:在由第一量子控制脉冲生成电路接收的指令中检测所确认的同步字段(例如,4502)。多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路可以包括同步寄存器(例如,370),并且检查多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路是否处于同步程序可以包括:读取同步寄存器的状态。多个量子控制脉冲生成电路可以包括三个以上量子控制脉冲生成电路,并且多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路可以操作为确定三个以上量子控制脉冲生成电路中的哪一个是与多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路同步的、多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路。可以基于由多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路所接收的指令的脉冲发生器同步字段(例如,4503),确定至少三个量子控制脉冲生成电路中的哪一个是与多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路同步的、多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路。量子控制器可以包括同步管理器电路(例如,366),并且同步管理器可以包括电路(例如370),该电路被配置为指示至少三个量子控制脉冲生成电路中的哪一个是与多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路同步的第二量子控制脉冲生成电路。被配置为指示至少三个量子控制脉冲生成电路中的哪一个是与多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路同步的第二量子控制脉冲生成电路的电路,可以包括脉冲发生器同步寄存器(例如,寄存器370的一部分),并且同步寄存器的状态可以指示三个以上量子控制脉冲生成电路中的哪一个是与多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路同步的第二量子控制脉冲生成电路。同步管理器电路可以操作为生成就绪信号(例如,754a),就绪信号指示多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路和多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路彼此是否准备开始同步执行指令。检查多个量子控制脉冲生成电路中的第二量子控制脉冲生成电路是否处于同步程序可以包括:检查就绪信号的状态。
如此处使用的,术语“电路(circuits)”和“电路(circuitry)”指物理电子部件(即,硬件)及可以配置硬件、由硬件执行、或者另外与硬件相关联的任意软件和/或固件(“代码”)。如此处使用的,例如,具体处理器和存储器可以包括执行第一一行或多行代码时的第一“电路”并且可以包括执行第二一行或多行代码时的第二“电路”。如此处使用的,“和/或”指通过“和/或”连接的列表中的任意一项或多项。作为实施例,“x和/或y”指三元素集合{(x),(y),(x,y)}中的任意元素。作为另一实施例,“x、y、和/或z”指七元素集合{(x),(y),(z),(x,y),(x,z),(y,z),(x,y,z)}中的任意元素。如此处使用的,术语“示例性的”指用作非限制性实施例、实例、或例图。如此处使用的,术语“例如(e.g.)”和“例如(forexample)”阐述了一个或多个非限制性实施例、实例、或例图的列表。如此处使用的,与功能的执行被禁用或未启用无关(例如,通过用户配置设置、工厂修理等),无论何时电路包括执行功能的必要硬件和代码(如果需要任意零件),电路“可操作”为执行功能。如此处使用的,术语“基于”指“至少部分基于”。例如,“x基于y”指“x”至少部分基于“y”(并且例如,还可以基于z)。
在硬件、软件、或硬件与软件的组合中可以实现本方法和/或系统。可以在至少一个计算系统中以集中的方式、或者以不同的元件跨若干互连的计算系统分布的分布式方式,实现本方法和/或系统。被适配于完成此处所述的方法的任意类型的计算系统或其他装置是合适的。典型的实现方式可以包括一个或多个专用集成电路(ASIC)、一个或多个场可编程门阵列(FPGA)、和/或一个或多个处理器(例如,x86、x64、ARM、PIC、和/或任意其他合适的处理器架构)及相关联的支持电路(例如,存储器、DRAM、FLASH、总线接口电路等)。每个离散的ASIC、FPGA、处理器、或其他电路可以被称为“芯片”,并且多个这种电路可以被称为“芯片集”。另一实现方式可以包括具有存储在其上的一行或多行代码的非易失性机器可读(例如,计算机可读)介质(例如,闪存驱动、光盘、磁性存储盘等),当由机器执行时,致使机器执行如本公开中所描述的过程。另一实现方式可以包括具有存储在其上的一行或多行代码的非易失性机器可读(例如,计算机可读)介质(例如,闪存驱动、光盘、磁性存储盘等),当由机器执行时,致使机器被配置为(例如,将软件和/或固件加载到其电路中)操作为本公开中所描述的系统。
尽管已经参考特定实现方式对本方法和/或系统进行了描述,然而,本领域技术人员应当理解的是,在不偏离本方法和/或系统的范围的情况下,可以做出各种改变并且可以替换等同物。此外,在不偏离其范围的情况下,可以做出许多修改,以使具体情形或材料适配于本公开的教导。因此,其旨在使得本方法和/或系统不局限于所公开的具体实现方式,而是本方法和/或系统将包括落在所附权利要求的范围内的全部实现方式。

Claims (17)

1.一种量子控制器包括:
同步电路和多个量子控制脉冲生成电路,其中:
所述同步电路能操作为:确定一个周期内周期性地发生的并网时间序列在所确定的概率上大于所述多个量子控制脉冲生成电路中的第一量子控制脉冲生成电路和第二量子控制脉冲生成电路的同步信号传播时间的不确定性;
所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路能操作为:
在执行第一指令组的过程中确定在由所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路执行第二指令组的同时,所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路接着执行第三指令组;
在所述第一指令组的执行完成时,等待所述并网时间中的下一个并网时间;
在所述并网时间中的所述下一个并网时间到达时,执行同步程序,所述同步程序包括:
生成指示所述量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路已经开始所述同步程序的同步信号;
在等待时段之后,检查所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路是否处于所述同步程序,其中,所述等待时段在所确定的概率上大于所述同步信号传播时间;
如果检查显示所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路处于所述同步程序,则在随后的确定时间开始执行所述第三指令组;并且
如果检查显示所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路不处于所述同步程序,则在与所述并网时间的时段相等的时段之后再次检查所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路是否处于所述同步程序。
2.根据权利要求1所述的量子控制器,其中,所述量子控制器包括时钟电路。
3.根据权利要求2所述的量子控制器,其中,所述并网时间的所述时段是所述时钟电路的一个周期。
4.根据权利要求2所述的量子控制器,其中,所述并网时间的所述时段是所述时钟电路的多个周期。
5.根据权利要求2所述的量子控制器,其中,将与所述并网时间的所述时段对应的所述时钟电路的多个周期存储在所述同步电路的网格步进寄存器中。
6.根据权利要求5所述的量子控制器,其中:
所述多个量子控制脉冲生成电路包括至少三个量子控制脉冲生成电路;并且
所述同步电路能操作为基于以下内容调整存储在所述网格步进寄存器中的所述并网时间的所述时段,即,基于所述至少三个量子控制脉冲生成电路中的两个是所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路和所述第二量子控制脉冲生成电路。
7.根据权利要求1所述的量子控制器,其中:
所述多个量子控制脉冲生成电路包括至少三个量子控制脉冲生成电路;并且
所述同步电路能操作为基于以下内容调整所述等待时段,即,基于所述至少三个量子控制脉冲生成电路中的两个是所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路和所述第二量子控制脉冲生成电路。
8.根据权利要求1所述的量子控制器,包括存储有所述等待时段的寄存器。
9.根据权利要求1所述的量子控制器,其中,检查所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路是否处于所述同步程序包括:检查所述同步电路的同步寄存器的状态。
10.根据权利要求1所述的量子控制器,其中,确定在由所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路执行所述第二指令组的同时所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路是否接着执行所述第三指令组包括:在由所述第一量子控制脉冲生成电路接收的指令中检测所确认的同步字段。
11.根据权利要求1所述的量子控制器,其中,所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路包括同步寄存器,并且检查所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路是否处于所述同步程序包括:读取所述同步寄存器的状态。
12.根据权利要求1所述的量子控制器,其中:
所述多个量子控制脉冲生成电路包括至少三个量子控制脉冲生成电路;并且
所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路能操作为:确定所述至少三个量子控制脉冲生成电路中的哪一个是所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路。
13.根据权利要求12所述的量子控制器,其中,基于由所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路所接收的指令的脉冲发生器同步字段,确定所述至少三个量子控制脉冲生成电路中的哪一个是所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路。
14.根据权利要求1所述的量子控制器,其中:
所述多个量子控制脉冲生成电路包括至少三个量子控制脉冲生成电路;
所述量子控制器包括同步管理器电路;并且
所述同步管理器包括被配置为指示所述至少三个量子控制脉冲生成电路中的哪两个是所述第一量子控制脉冲生成电路和所述第二量子控制脉冲生成电路的电路。
15.根据权利要求14所述的量子控制器,其中:
被配置为指示所述至少三个量子控制脉冲生成电路中的哪一个是所述第二量子控制脉冲生成电路的所述电路包括同步寄存器;并且
所述同步寄存器的状态指示所述至少三个量子控制脉冲生成电路中的哪两个是所述第一量子控制脉冲生成电路和所述第二量子控制脉冲生成电路。
16.根据权利要求14所述的量子控制器,其中,所述同步管理器电路能操作为生成就绪信号,所述就绪信号指示所述多个量子控制脉冲生成电路中的所述第一量子控制脉冲生成电路和所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路彼此是否准备开始同步执行指令。
17.根据权利要求16所述的量子控制器,其中,检查所述多个量子控制脉冲生成电路中的所述第二量子控制脉冲生成电路是否处于所述同步程序包括:检查所述就绪信号的状态。
CN202080013725.8A 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步系统 Active CN113424205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311571618.9A CN117556912A (zh) 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/294,367 2019-03-06
US16/294,367 US10505524B1 (en) 2019-03-06 2019-03-06 Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US16/666,461 US10666238B1 (en) 2019-03-06 2019-10-29 Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US16/666,461 2019-10-29
PCT/IB2020/000218 WO2020178640A1 (en) 2019-03-06 2020-03-05 Synchronization in a quantum controller with modular and dynamic pulse generation and routing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311571618.9A Division CN117556912A (zh) 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步

Publications (2)

Publication Number Publication Date
CN113424205A CN113424205A (zh) 2021-09-21
CN113424205B true CN113424205B (zh) 2023-09-29

Family

ID=68766365

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080013725.8A Active CN113424205B (zh) 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步系统
CN202311571618.9A Pending CN117556912A (zh) 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311571618.9A Pending CN117556912A (zh) 2019-03-06 2020-03-05 具有模块化和动态脉冲生成和路由的量子控制器中的同步

Country Status (4)

Country Link
US (4) US10505524B1 (zh)
EP (1) EP3935583A4 (zh)
CN (2) CN113424205B (zh)
WO (1) WO2020178640A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333503B1 (en) 2018-11-26 2019-06-25 Quantum Machines Quantum controller with modular and dynamic pulse generation and routing
US10454459B1 (en) 2019-01-14 2019-10-22 Quantum Machines Quantum controller with multiple pulse modes
US10505524B1 (en) 2019-03-06 2019-12-10 Quantum Machines Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US11164100B2 (en) 2019-05-02 2021-11-02 Quantum Machines Modular and dynamic digital control in a quantum controller
US10931267B1 (en) 2019-07-31 2021-02-23 Quantum Machines Frequency generation in a quantum controller
US11245390B2 (en) 2019-09-02 2022-02-08 Quantum Machines Software-defined pulse orchestration platform
US10862465B1 (en) 2019-09-02 2020-12-08 Quantum Machines Quantum controller architecture
CN111160558B (zh) * 2019-12-13 2023-04-28 合肥本源量子计算科技有限责任公司 量子芯片控制器、量子计算处理系统和电子设备
US11507873B1 (en) * 2019-12-16 2022-11-22 Quantum Machines Highly scalable quantum control
US11126926B1 (en) 2020-03-09 2021-09-21 Quantum Machines Concurrent results processing in a quantum control system
US11043939B1 (en) 2020-08-05 2021-06-22 Quantum Machines Frequency management for quantum control
US11567887B2 (en) * 2020-09-11 2023-01-31 International Business Machines Corporation Quantum controller fast path interface
NL2027492B1 (en) 2021-02-03 2022-09-05 Qblox B V Controlling a network of data processing devices for a quantum computer
US11792839B2 (en) 2021-03-12 2023-10-17 Eagle Technology, Llc Systems and methods for controlling communications based on machine learned information
CN113132077B (zh) * 2021-04-19 2022-02-01 腾讯科技(深圳)有限公司 一种时钟同步系统、信号同步的控制方法以及存储介质
US11671180B2 (en) 2021-04-28 2023-06-06 Quantum Machines System and method for communication between quantum controller modules
US11915325B2 (en) * 2021-06-09 2024-02-27 Bank Of America Corporation Quantum enabled resource activity investigation and response tool
US11740901B2 (en) * 2021-06-15 2023-08-29 International Business Machines Corporation Centralized control of execution of quantum program
US20230236244A1 (en) * 2022-01-24 2023-07-27 Quantum Machines Machine Learning for Syncing Multiple FPGA Ports in a Quantum System

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222229A (en) * 1989-03-13 1993-06-22 International Business Machines Multiprocessor system having synchronization control mechanism
CN1194545A (zh) * 1997-02-17 1998-09-30 松下电器产业株式会社 同步处理电路
US6223228B1 (en) * 1998-09-17 2001-04-24 Bull Hn Information Systems Inc. Apparatus for synchronizing multiple processors in a data processing system
CN1725144A (zh) * 2004-07-23 2006-01-25 惠普开发有限公司 可编程同步脉冲发生器
CN103529904A (zh) * 2012-06-29 2014-01-22 瑞萨电子株式会社 时钟校正电路和时钟校正方法
US10223643B1 (en) * 2017-09-29 2019-03-05 International Business Machines Corporation Reduction and/or mitigation of crosstalk in quantum bit gates

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875484A (en) 1986-10-04 1989-10-24 Total Human Medical Laboratory Co., Ltd. Method for generating a low frequency electric stimulus signal and low frequency electric stimulus signal generating apparatus
US5289116A (en) * 1990-05-31 1994-02-22 Hewlett Packard Company Apparatus and method for testing electronic devices
JPH09148907A (ja) * 1995-11-22 1997-06-06 Nec Corp 同期式半導体論理装置
JP3542342B2 (ja) 2001-09-14 2004-07-14 独立行政法人 科学技術振興機構 半導体演算装置
WO2003043178A2 (en) 2001-11-15 2003-05-22 Hrl Laboratories, Llc Frequency agile spread waveform generator and method and pre-processor apparatus and method
US6993108B1 (en) * 2001-12-03 2006-01-31 Lattice Semiconductor Corporation Digital phase locked loop with programmable digital filter
AU2003259762A1 (en) 2002-08-10 2004-02-25 Routt, Thomas J Methods for transmitting data across quantum interfaces and quantum gates using same
US7627126B1 (en) 2002-10-15 2009-12-01 Bbn Technologies Corp. Systems and methods for implementing path length control for quantum cryptographic systems
JP4304298B2 (ja) 2004-02-13 2009-07-29 日本電気株式会社 通信システム及びその同期方法
US7437081B2 (en) 2004-11-01 2008-10-14 Magiq Technologies, Inc System and method for providing two-way communication of quantum signals, timing signals, and public data
US8385878B2 (en) 2005-06-28 2013-02-26 Qualcomm Incorporated Systems, methods, and apparatus for activity control in a wireless communications device
US8315969B2 (en) 2008-10-10 2012-11-20 Nec Laboratories America, Inc. Estimating a quantum state of a quantum mechanical system
WO2010093461A1 (en) 2009-02-13 2010-08-19 Silego Technology, Inc. An integrated circuit frequency generator
JP2011175078A (ja) 2010-02-24 2011-09-08 Tomohiro Aoto 量子コンピュータおよび量子情報処理方法
US9207672B2 (en) 2013-01-25 2015-12-08 D-Wave Systems Inc. Systems and methods for real-time quantum computer-based control of mobile systems
US9858531B1 (en) 2013-08-02 2018-01-02 University Of Maryland Fault tolerant scalable modular quantum computer architecture with an enhanced control of multi-mode couplings between trapped ion qubits
US9892365B2 (en) * 2014-02-28 2018-02-13 Rigetti & Co., Inc. Operating a multi-dimensional array of qubit devices
KR20170018379A (ko) 2014-06-05 2017-02-17 테크니온 리서치 엔드 디벨로프먼트 화운데이션 엘티디. 대용량 광집적 회로들의 다중-자유도 안정화
US10127499B1 (en) 2014-08-11 2018-11-13 Rigetti & Co, Inc. Operating a quantum processor in a heterogeneous computing architecture
WO2016044917A1 (en) 2014-09-24 2016-03-31 Quantum Valley Investment Fund LP Generating a control sequence for quantum control
AU2015252050B2 (en) * 2014-11-03 2019-08-08 Newsouth Innovations Pty Limited A quantum processor
EP3227837A1 (en) 2014-12-05 2017-10-11 Microsoft Technology Licensing, LLC Quantum deep learning
US9692423B2 (en) 2014-12-29 2017-06-27 Wisconsin Alumni Research Foundation System and method for circuit quantum electrodynamics measurement
ES2731668T3 (es) * 2015-02-19 2019-11-18 Tno Sistema de control de cambio de estado de un circuito de cúbits
WO2016194221A1 (ja) 2015-06-05 2016-12-08 株式会社日立製作所 計算機
US9996801B2 (en) 2015-07-20 2018-06-12 University Of Maryland, College Park Microwave-free control of a superconductor-based quantum computer
US9847121B2 (en) 2015-09-13 2017-12-19 International Business Machines Corporation Providing controlled pulses for quantum computing
US11062227B2 (en) 2015-10-16 2021-07-13 D-Wave Systems Inc. Systems and methods for creating and using quantum Boltzmann machines
CN109416764B (zh) 2015-11-06 2022-06-03 谷歌有限责任公司 单独量子比特激励控制的设备及方法
CN105281886B (zh) 2015-11-19 2018-05-29 中国科学院武汉物理与数学研究所 冷离子量子信息处理器的时序控制信号产生方法及装置
EP3182638B1 (en) 2015-12-18 2019-12-25 ID Quantique S.A. Apparatus and method for adding an entropy source to quantum key distribution systems
WO2017135444A1 (ja) * 2016-02-04 2017-08-10 国立大学法人北海道大学 乱数列生成装置、量子暗号送信機及び量子暗号通信システム
CA3012853A1 (en) * 2016-02-12 2017-08-17 Yale University Techniques for control of quantum systems and related systems and methods
CN105912070B (zh) 2016-04-08 2019-02-15 中国科学院物理研究所 用于量子比特操控的数字波形调整方法
US10311369B2 (en) 2016-08-01 2019-06-04 Northrop Grumman Systems Corporation Quantum gates via multi-step adiabatic drag
US10164724B2 (en) 2016-09-26 2018-12-25 International Business Machines Corporation Microwave combiner and distributer for quantum signals using frequency-division multiplexing
EP3300004A1 (en) 2016-09-27 2018-03-28 Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO Method for executing a quantum error correction cycle in a quantum computer
US9979400B1 (en) 2016-10-27 2018-05-22 Rigetti & Co., Inc. Analyzing control signals for quantum logic operations in superconducting quantum circuits
WO2018165607A1 (en) 2017-03-10 2018-09-13 Rigetti & Co, Inc. Event scheduling in a hybrid computing system
AU2018230440B2 (en) 2017-03-10 2022-11-17 Rigetti & Co, Llc Performing a calibration process in a quantum computing system
EP3593297B1 (en) 2017-03-10 2024-06-19 Rigetti & Co, LLC Modular control in a quantum computing system
US9978020B1 (en) 2017-03-29 2018-05-22 International Business Machines Corporation Optimizing physical parameters in fault-tolerant quantum computing to reduce frequency crowding
EP3642765A4 (en) 2017-06-19 2021-04-07 Rigetti & Co., Inc. DISTRIBUTED QUANTUM COMPUTER SYSTEM
US10122351B1 (en) 2017-07-25 2018-11-06 Northrop Grumman Systems Corporation Superconducting bi-directional current driver
CN108111306A (zh) 2018-01-03 2018-06-01 珠海科诺威配网自动化股份有限公司 一种配电自动化主站与配电自动化终端之间的通信方法
CA3088133A1 (en) 2018-01-31 2019-08-08 Google Llc Universal control for implementing quantum gates
US11238360B2 (en) 2018-02-12 2022-02-01 International Business Machines Corporation Fast quantum feedback using analog integration and control pulse gating
US11010145B1 (en) 2018-02-21 2021-05-18 Rigetti & Co, Inc. Retargetable compilation for quantum computing systems
US10380496B2 (en) 2018-03-19 2019-08-13 Intel Corporation Quantum computing assemblies
US20190042965A1 (en) 2018-03-30 2019-02-07 James Clarke Apparatus and method for a field programmable quantum array
US10540603B2 (en) 2018-06-19 2020-01-21 Northrop Grumman Systems Corporation Reconfigurable quantum routing
WO2020033807A1 (en) 2018-08-09 2020-02-13 Rigetti & Co, Inc. Quantum streaming kernel
US11531922B2 (en) 2018-09-27 2022-12-20 Intel Corporation Apparatus and method for scalable qubit addressing
US20190042973A1 (en) 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for arbitrary qubit rotation
US20190042970A1 (en) 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for a hybrid classical-quantum processor
US11704588B2 (en) 2018-09-27 2023-07-18 Intel Corporation Apparatus and method for injecting spin echo micro-operations in a quantum processor
US10333503B1 (en) 2018-11-26 2019-06-25 Quantum Machines Quantum controller with modular and dynamic pulse generation and routing
US10454459B1 (en) 2019-01-14 2019-10-22 Quantum Machines Quantum controller with multiple pulse modes
CN111464154B (zh) 2019-01-22 2022-04-22 华为技术有限公司 一种控制脉冲的计算方法及装置
US10505524B1 (en) 2019-03-06 2019-12-10 Quantum Machines Synchronization in a quantum controller with modular and dynamic pulse generation and routing
CN110085094A (zh) 2019-04-16 2019-08-02 国仪量子(合肥)技术有限公司 量子计算和量子精密测量的教学设备
EP3963518A1 (en) 2019-05-10 2022-03-09 Google LLC Frequency tunable qubit control strategy
US11748648B2 (en) 2019-07-01 2023-09-05 International Business Machines Corporation Quantum pulse optimization using machine learning
US10560076B1 (en) 2019-07-31 2020-02-11 Quantum Machines Frequency generation in a quantum controller
US10862465B1 (en) 2019-09-02 2020-12-08 Quantum Machines Quantum controller architecture
US11526797B2 (en) 2019-10-04 2022-12-13 X Development Llc Quantum repeater from quantum analog-digital interconverter
CN111767055A (zh) 2020-06-16 2020-10-13 合肥本源量子计算科技有限责任公司 一种量子程序的编译方法及装置
CN112019193B (zh) 2020-09-01 2021-10-22 北京百度网讯科技有限公司 用于实现量子门的控制脉冲的生成方法、装置
CN112149832B (zh) 2020-10-09 2022-05-10 腾讯科技(深圳)有限公司 量子比特的频率控制信号处理方法、超导量子芯片

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222229A (en) * 1989-03-13 1993-06-22 International Business Machines Multiprocessor system having synchronization control mechanism
CN1194545A (zh) * 1997-02-17 1998-09-30 松下电器产业株式会社 同步处理电路
US6223228B1 (en) * 1998-09-17 2001-04-24 Bull Hn Information Systems Inc. Apparatus for synchronizing multiple processors in a data processing system
CN1725144A (zh) * 2004-07-23 2006-01-25 惠普开发有限公司 可编程同步脉冲发生器
CN103529904A (zh) * 2012-06-29 2014-01-22 瑞萨电子株式会社 时钟校正电路和时钟校正方法
US10223643B1 (en) * 2017-09-29 2019-03-05 International Business Machines Corporation Reduction and/or mitigation of crosstalk in quantum bit gates

Also Published As

Publication number Publication date
WO2020178640A1 (en) 2020-09-10
EP3935583A4 (en) 2022-12-28
US10666238B1 (en) 2020-05-26
US20230253962A1 (en) 2023-08-10
US10505524B1 (en) 2019-12-10
US20210359670A1 (en) 2021-11-18
US11088679B2 (en) 2021-08-10
CN113424205A (zh) 2021-09-21
US20200287525A1 (en) 2020-09-10
EP3935583A1 (en) 2022-01-12
CN117556912A (zh) 2024-02-13
US11671082B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
CN113424205B (zh) 具有模块化和动态脉冲生成和路由的量子控制器中的同步系统
CN113330465B (zh) 具有模块化和动态脉冲生成和路由的量子控制器
US10560076B1 (en) Frequency generation in a quantum controller
US11463075B2 (en) Quantum controller architecture
US11507873B1 (en) Highly scalable quantum control
US10931267B1 (en) Frequency generation in a quantum controller
RU2769961C2 (ru) Программируемая логическая схема для управления электрической установкой, в частности ядерной установкой, ассоциированная с устройством и способом управления
US11868849B2 (en) Modular and dynamic digital control in a quantum controller
US12021532B2 (en) Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US20210091755A1 (en) Classical processor for quantum control

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
GR01 Patent grant
GR01 Patent grant