首页 / 专利分类库 / 基本电子电路 / 具有多个脉冲模式的量子控制器

具有多个脉冲模式的量子控制器

申请号 CN202410098319.6 申请日 2019-12-23 公开(公告)号 CN117933407A 公开(公告)日 2024-04-26
申请人 量子机械公司; 发明人 约纳坦·科亨; 尼西姆·欧费克; 伊塔马尔·西旺;
摘要 本公开涉及具有多个脉冲模式的量子 控制器 。一种系统,包括:第一脉冲发生 电路 ,能够操作为耦接至多个量子元件中的第一量子元件;第二脉冲发生电路,能够操作为耦接至多个量子元件中的第二量子元件;以及混频电路,能够操作为耦接至多个量子元件中的第三量子元件,其中,混频电路能够操作为将来自第一脉冲发生电路的输出与来自第二脉冲发生电路的输出混合。
权利要求

1.一种系统,包括:
第一脉冲发生电路,能够操作为耦接至多个量子元件中的第一量子元件;
第二脉冲发生电路,能够操作为耦接至所述多个量子元件中的第二量子元件;以及混频电路,能够操作为耦接至所述多个量子元件中的第三量子元件,其中,所述混频电路能够操作为将来自所述第一脉冲发生电路的输出与来自所述第二脉冲发生电路的输出混合。
2.根据权利要求1所述的系统,其中,所述系统包括管理器,所述管理器能够操作为确定与所述多个量子元件的耦接。
3.根据权利要求1所述的系统,其中,所述系统包括脉冲路由电路,所述脉冲路由电路能够操作为在所述第一脉冲发生电路、所述第二脉冲发生电路、所述混频电路和所述多个量子元件之间路由信号
4.根据权利要求3所述的系统,其中,所述脉冲路由电路能够操作为根据来自脉冲控制系统的返回脉冲的一个或多个特性来路由所述信号。
5.根据权利要求1所述的系统,其中,所述系统包括脉冲修改电路,所述脉冲修改电路能够操作为对由信号路径引入的误差进行预先补偿。
6.根据权利要求1所述的系统,其中,所述系统包括脉冲修改电路,所述脉冲修改电路能够操作为处理来自所述第一脉冲发生电路、所述第二脉冲发生电路和所述混频电路的输出。
7.根据权利要求1所述的系统,其中,所述系统包括脉冲修改电路,所述脉冲修改电路能够操作为对由所述混频电路引入的误差进行预先补偿。
8.一种方法,包括:
从第一脉冲发生电路向多个量子元件中的第一量子元件输出第一脉冲;
从第二脉冲生成电路向所述多个量子元件中的第二量子元件输出第二脉冲;并且从混频电路向所述多个量子元件中的第三量子元件输出第三脉冲,其中,所述混频电路能够操作为耦接至所述第一脉冲发生电路和所述第二脉冲发生电路,并且其中,所述混频电路能够操作为通过将来自所述第一脉冲发生电路的输出与来自所述第二脉冲发生电路的输出混合来生成所述第三脉冲。
9.根据权利要求8所述的方法,其中,所述方法包括确定一个或多个量子元件是否连接到所述多个量子元件。
10.根据权利要求8所述的方法,其中,所述方法包括在所述第一脉冲发生电路、所述第二脉冲发生电路、所述混频电路和所述多个量子元件之间路由信号。
11.根据权利要求10所述的方法,其中,所述路由是根据来自脉冲控制系统的返回脉冲的一个或多个特性。
12.根据权利要求8所述的方法,其中,所述第一脉冲发生电路、所述第二脉冲发生电路和所述混频电路能够操作为耦接至脉冲控制系统。
13.根据权利要求8所述的方法,其中,所述方法包括对由信号路径引入的误差进行预先补偿。
14.根据权利要求8所述的方法,其中,所述方法包括处理来自所述第一脉冲发生电路、所述第二脉冲发生电路和所述混频电路的输出。
15.根据权利要求8所述的方法,其中,所述方法包括对由所述混频电路引入的误差进行预先补偿。

说明书全文

具有多个脉冲模式的量子控制器

[0001] 本申请是申请日为2019年12月23日、发明名称为“具有多个脉冲模式的量子控制器”、国际申请号为PCT/IB2019/001394的中国国家阶段申请201980088890.7的分案申请,其全部内容结合于此作为参考。

背景技术

[0002] 通过将此类方法与参考附图在本公开的其余部分中阐述的本方法和系统的一些方面进行比较,量子计算机控制系统的常规方法的限制和缺点对本领域的普通技术人员将变得清楚。

发明内容

[0003] 提供了用于具有多个脉冲模式的量子控制器的方法和系统,基本上如在这些附图中的至少一个中所示和/或与其相结合所描述,如在权利要求书中更完整地列出。

附图说明

[0004] 图1A和图1B比较了经典(二进制)计算和量子计算的一些方面。
[0005] 图2示出了示例性量子计算系统。
[0006] 图3A示出了根据本公开的各种示例性实施方式的示例性量子控制器架构。
[0007] 图3B示出了图3A的量子控制器电路的示例性实施方式。
[0008] 图4示出了图3B的脉冲发生器的示例性实现方式。
[0009] 图5示出了图3B的脉冲操作管理器和脉冲操作电路的示例性实现方式。
[0010] 图6是示出了根据本公开的示例性实现方式的量子控制器的示例性操作的流程图
[0011] 图7A和图7B示出了图5的脉冲修正电路的示例性实现方式。
[0012] 图8A示出了输出双脉冲对的量子控制器。
[0013] 图8B示出了输出两个独立的脉冲的量子控制器。
[0014] 图8C示出了根据本公开的示例性实现方式的量子控制器,该量子控制器与使用不同信令的各种量子处理器接口连接。
[0015] 图9是示出了根据本公开的示例性实现方式的量子控制器的操作的流程图。

具体实施方式

[0016] 经典计算机通过以二进制数位(“位”)的形式存储信息并且经由二进制逻辑处理这些位来运算。在任何给定时间,每个位仅采用两个离散值中的一个:0(或“off”)和1(或“on”)。由二进制逻辑门执行的逻辑运算由布尔代数来定义,并且电路行为由经典物理来约束。在现代经典系统中,用于存储位并且实现逻辑运算的电路通常由可以承载两个不同电压(表示该位的0和1)的电线和执行布尔逻辑运算的基于晶体管的逻辑门构成。
[0017] 图1A中示出的是经典计算机的简单实例,经典计算机被配置成用于位102并且将单个逻辑运算104应用于位102。在时间t0处,位102处于第一状态,在时间t1处,逻辑运算104应用于位102,并且在时间t2处,位102处于由时间t0处的状态和逻辑运算确定的第二状态。因此,例如,位102通常可以存储为电压(例如,用于“1”的1Vdc或用于“0”的0Vdc),该电压施加到逻辑运算104(由一个或多个晶体管组成)的输入。然后,根据所执行的逻辑运算,逻辑门的输出是l Vdc或OVdc。
[0018] 显然,具有单个位和单个逻辑门的经典计算机用途有限,这就是为什么甚至具有中等计算能的现代经典计算机包含数十亿的位和晶体管。也就是说,能够解决日益复杂的问题的经典计算机不可避免地需要越来越大量的位和晶体管和/或越来越长的时间来执行算法。然而,存在一些问题,这些问题需要不可行的大量的晶体管和/或不可行的长的时间来获得解决方案。这样的问题被称为难处理的。
[0019] 量子计算机通过以量子位(“qubits”)的形式存储信息并且经由量子门处理这些量子位来运算。与在任何给定的时间只能处于一种状态(0或1)的位不同,量子位可以同时处于这两种状态的叠加。更确切地说,量子位是其状态存活于二维希尔伯空间中的系统,并且因此被描述为线性组合α|0>+β|1>,其中|0>和|1>是两个基本状态,并且α和β是复数,通2 2 2
常被称为概率幅值,其满足|α|+|β|=1。使用这种符号表示法,当测量量子位时,概率|α|
2
将是0,并且概率|β| 将1。|0>和|1>还可以分别由二维基向量 和 来表示,然后量子位状态由 表示。由量子门执行的运算由希尔伯空间上的线性代数来定义,并且电路行为由量子物理来约束。量子位的数学行为以及量子位上的运算的这种额外的丰富使得量子计算机能够比经典计算机更快地解决一些问题(事实上对于经典计算机而言难处理的一些问题对于量子计算机而言可能变得微不足道)。
[0020] 图1B中示出的是量子计算机的简单实例,量子计算机被配置为存储量子位122并且将单量子门运算124应用于量子位122。在时间t0处,由α1|0>+β1|1>描述量子位122,在时间t1处,逻辑运算104应用于量子位122,并且在时间t2处,由α2|0>+β2|1>描述量子位122。
[0021] 与经典的位不同,量子位不能作为单个电压值存储在布线上。相反,使用二级量子机械系统物理地实现了量子位。近几年已经提出和开发了量子位的许多物理实现方式,其中一些实现方式比其他实现方式更有前景。主要的量子位实现方式的一些实例包括超导电路、自旋量子位以及俘获的离子。
[0022] 量子控制器的工作是生成一系列精确的外部信号(通常是电磁波的脉冲和基带电压的脉冲)以执行所希望的逻辑运算(并且因此执行所希望的量子算法)。下面进一步详细描述量子控制器的示例性实施方式。
[0023] 图2示出了示例性量子计算系统。该系统包括量子编程子系统202、量子控制器210以及量子处理器218。
[0024] 量子编程子系统202包括可操作为生成量子算法描述206的电路,量子控制器210可以执行该描述以在该算法的运行期间在很少甚至没有人为干预的情况下在量子处理器218上执行量子算法(即,生成必要的出站量子脉冲213)。在示例性实现方式中,量子编程子系统202是其上安装有量子控制器软件开发包(SDK)的个人计算机,该量子控制器软件开发包(SDK)使用户能够使用编程语言生成量子算法描述206。在一个示例实现方式中,编程语言可以是很少或不从量子控制器210的特定硬件所使用的指令集中提取的低级语言。这样的指令可以被转换成量子控制器210的机器代码,而不需要编译器或翻译器。在一个示例实现方式中,编程语言可以是从量子控制器210的特定硬件中大量提取的高级语音。这样的指令可以在它们可以在量子控制器210上运行之前被编译成机器代码。在示例性实现方式中,描述206可以是量子算法的机器代码描述。在示例性实现方式中,描述206可以是量子控制器210本身可以编译成机器代码的高级描述。在一个示例性实现方式中,描述206可以是量子控制器210可以在运行期间解释成机器代码的高级描述。在示例性实现方式中,操作系统或其他软件层可以在量子控制器210上运行,并且量子算法描述206可以是利用在量子控制器210上运行的软件的应用编程接口(API)的软件指令。
[0025] 量子编程子系统202通过互连204耦接到量子控制器210,该互连可以例如利用通用串行总线(USB)、外围部件互连(PCIe)总线、有线或无线以太网、或任何其他适合的通信协议。
[0026] 量子控制器210包括可操作为加载量子算法描述206并且然后根据量子算法描述206执行量子算法的电路。在示例性实现方式中,量子算法描述206是被加载到量子控制器
210中的机器代码(即,表示量子控制器的硬件可直接解释和执行的指令的一系列二进制向量)。然后,量子控制器210执行机器代码使得量子控制器210产生必要的出站量子控制脉冲
213,这些出站量子控制脉冲对应于待在量子处理器218上执行的所希望的操作(例如,发送到用于操纵(多个)量子位的状态的量子位或发送到用于读取(多个)量子位的状态的读出共振器等)。根据要执行的量子算法,用于执行该算法的出站脉冲213可在设计时预先确定和/或可能需要在运行期间确定。对脉冲的运行时间的确定可以包括在算法的运行期间在量子控制器210和/或量子编程子系统202中执行经典计算和处理(例如,从量子处理器218接收的入站脉冲215的运行时间分析)。
[0027] 在量子控制器210完成量子算法和/或在量子算法的运行期间,量子控制器210可以将数据/结果208输出到量子编程子系统202。在示例性实现方式中,这些结果可以用于生成用于量子算法的后续运行的新量子算法描述206和/或在运行期间更新量子算法描述。
[0028] 量子控制器210通过互连212耦接到量子处理器218,互连可以包括例如一个或多个导体和/或光纤。
[0029] 量子处理器218包括K(整数)个量子元件122,该量子元件包括量子位(其可以是任何类型,如超导量子位、自旋量子位、离子俘获量子位等),并且在适用的情况下,包括用于处理量子信息、存储量子信息,和/或将出站量子控制脉冲213和215耦合在互连212与(多个)量子元件122(例如,(多个)读出谐振器)之间的任何其他元件(例如,存储谐振器)。在量子处理器包括读出谐振器(或其他读出电路)的示例性实现方式中,K可以等于量子位的总数加上读出电路的数量。即,如果量子处理器218的Q(整数)个量子位中的每一个量子位都与专用的读出电路相关联,则K可以等于2Q。为便于描述,本发明的其余部分将假定这样的实现方式,但其不必为所有实现方式中的情况。量子处理器218的其他元件可以包括例如通量线路(用于承载电流电子线路)、栅电极(用于电压选通的电极)、电流/电压线、放大器、驻留在量子处理器218中的芯片上的经典逻辑电路、和/或诸如此类。
[0030] 图3A示出了根据本公开的各种示例性实施方式的示例性量子控制器架构。量子控制器210包括L(整数≥1)个脉冲发生器电路3020–302L‑1和共享电路310。
[0031] 在所示出的示例性实现方式中,每个脉冲发生器电路302I(I是在0与L‑1之间的整数)包括用于在信号路径304I、306I、和308I上交换信息的电路,其中,信号路径308I承载由脉冲发生器电路302I生成的出站脉冲(例如,图2的213)(其可以是例如发送到量子处理器218以操纵一个或多个量子元件的一个或多个特性的控制脉冲,例如,操纵一个或多个量子位的状态,使用通量偏置来操纵量子位的频率等,和/或读出一个或多个量子元件的状态),信号路径306I承载将由脉冲发生器电路302I处理的入站量子元件读出脉冲(例如,图2的
215),并且信号路径304I承载控制信息。每个信号路径可以包括一个或多个导体、光信道和/或无线信道。
[0032] 每个脉冲发生器电路302I包括可操作为根据将在量子处理器218上执行的量子控制操作在信号路径308I上产生出站脉冲的电路。这涉及非常精确地控制诸如出站脉冲的相位、频率、振幅和定时的特性。可以至少部分根据先前时间从量子处理器218(经由共享电路310和信号路径306I)接收的入站脉冲来确定在任何特定时间生成的出站脉冲的特性。在一个示例性实现方式中,关闭反馈回路所需的时间(即,从在一个或多个路径3151–315L上(例如,在该路径的模数转换器处)接收第一脉冲到在一个或多个路径3130–313L‑1上(例如,在该路径的数模转换器的输出端处)发送第二脉冲的时间,其中第二脉冲是基于第一脉冲)明显小于量子处理器218的量子位的相干时间。例如,关闭反馈回路的时间可以约为100纳秒。
应注意,图3A中的每个信号路径实际上可以是用于支持生成多脉冲集合的信号路径的集合(例如,用于双脉冲对的两个信号路径,用于三个脉冲集合的三个信号路径,等等)。
[0033] 在所示出的示例性实现方式中,共享电路310包括用于通过信号路径3040–304L‑1、3060–306L‑1、和3080–308L‑1与脉冲发生器电路3020–302L‑1交换信息的电路,其中,每个信号路径308I承载由脉冲发生器电路302I生成的出站脉冲,每个信号路径306I承载将由脉冲发生器电路302I处理的入站脉冲,并且每个信号路径304I承载控制信息,如标记/状态信号,从存储器中读取的数据,待存储在存储器中的数据,流向量子编程子系统202/从该量子编程子系统流出的数据,以及要在两个或更多个脉冲发生器3020–302L之间交换的数据。类似地,在所示出的实例中,共享电路310包括用于在信号路径3150–315M‑1和3131–313K‑1上与量子处理器218交换信息的电路,其中,每个信号路径315m(m是在0与M‑1之间的整数)承载来自量子处理器218的入站脉冲,并且每个信号路径313k(k是在0与K‑l之间的一个整数)承载到量子处理器218的出站脉冲。另外,在所示出的实例中,共享电路310包括用于在信号路径311上与量子编程子系统交换信息的电路。共享电路310可以:与量子控制器集成在一起(例如,在同一个现场可编程门阵列专用集成电路或印刷电路板上);在量子控制器的外部(例如,在经由一个或多个电缆底板连接到量子控制器的单独的FPGA、ASIC或PCB上、在连接到量子处理器218的其他装置中,等等);或者部分地与量子控制器集成并且部分地在量子控制器的外部。
[0034] 在各种实现方式中,M可小于、等于或大于L,K可小于、等于或大于L,并且M可小于、等于或大于K。例如,一些量子算法的性质是使得并非所有K个量子元件都需要同时被驱动。对于这样的算法,L可以小于K,并且L个脉冲发生器302I中的一个或多个可以在K个量子元件电路中的多个之间共享。即,任何脉冲发生器302I可以在不同的时间针对不同的量子元件生成脉冲。脉冲发生器302I在不同时间为不同的量子元件生成脉冲的这种能力可以减少支持给定数量的量子元件所需的脉冲发生器3020–302L‑1的数量(即,减少L)(因此当扩展到更大数量的量子位时节省了大量资源、成本、大小、开销等)。
[0035] 脉冲发生器302I在不同时间为不同的量子元件生成脉冲的能力还使得能够减小延迟。仅作为一个实例,假设需要在时间T1处向量子元件1220发送脉冲的量子算法,但是直到在时间T1‑DT(即,在脉冲被输出之前的DT时间间隔)处理入站读出站脉冲之后,才可以确定该脉冲是第一类型还是第二类型(例如,X脉冲或Hadamard脉冲)。如果存在脉冲发生器3020–302L‑1到量子处理器218的量子元件的固定分配(即,如果3020仅可以将脉冲发送到量子元件1220,并且3021仅可以将脉冲发送到量子元件1221,等等),那么脉冲发生器3020可能不能够开始生成脉冲,直到确定是什么类型。另一方面,在所描述的示例性实现方式中,脉冲发生器3020可以开始生成第一类型脉冲并且脉冲发生器3021可以开始生成第二类型脉冲,并且然后一旦确定必要的类型,就可以释放这两个脉冲中的任一个脉冲。因此,如果生成脉冲的时间是Tlat,在这个实例中,示例性量子控制器210可以将输出站脉冲的延迟减小Tlat。
[0036] 因此,共享电路310可操作为经由信号路径3080–308L‑1和/或3150–315M‑1中的任何一个或多个来接收脉冲,根据需要处理所接收的脉冲以执行量子算法,并且然后经由信号路径3060–306L‑1和/或3130–313K‑1中的任何一个或多个信号路径输出所产生的经处理的脉冲。脉冲的处理可发生在数字域和/或模拟域中。处理可以包括,例如,频率转换/调制、相位转换/调制、分频和/或分时复用、分时和/或分频解复用、放大、衰减、频域和/或时域中的滤波、时域到频域或频域到时域的转换、上采样下采样、和/或任何其他信号处理操作。在任何给定时间,关于从哪个(哪些)信号路径接收一个或多个脉冲的决定和关于向哪个(哪些)信号路径输出脉冲的决定可以是:在量子算法描述中(至少部分地)预先确定的;和/或基于在运行期间执行的经典程序/计算在量子算法的运行期间(至少部分地)动态地确定的,这可能涉及入站脉冲的处理。作为预定脉冲生成和路由的实例,量子算法描述可以只指定在预定时间将具有预定特性的特定脉冲发送到信号路径3131。作为动态脉冲确定和路由的实例,量子算法描述可以指定:应该分析在时间T‑DT处的入站读出脉冲,并且其特性(例如,相位、频率和/或振幅)用于确定例如在时间T处脉冲发生器302I将脉冲输出到第一量子元件还是第二量子元件,或者确定例如在时间T处脉冲发生器302I向第一量子元件输出第一脉冲还是向第一量子元件输出第二脉冲。在量子控制器210的各种实现方式中,代替和/或除了上述那些功能之外,共享电路310可以执行各种其他功能。通常,共享电路310可以执行期望在各个脉冲发生器电路3020–302L‑1外部执行的功能。例如,在同样的功能被多个脉冲发生器电路需要的情况下,可能希望在共享电路310中实现该功能,因此该功能可以在这些脉冲发生器电路中共享而无需冗余地在每个脉冲发生器电路中实现。作为另一实例,在功能并不被所有的脉冲发生器电路同时和/或在相同的频率下需要并因此可以通过分时复用和/或分频复用在L个脉冲发生器电路3020–302L‑1中共享少于L个用于实现功能的电路的情况下,可能希望在共享电路310中实现该功能。作为另一实例,在功能基于L个脉冲发生器电路3020–302L‑1或其他电路中的多个电路的输入、输出和/或状态来作出决定的情况下,可能希望在共享电路310中实现功能。利用在共享电路310中的集中协调器/决策器可具有以下益处:(1)减少脉冲发生器电路3020–302L‑1的引脚和复杂性;和/或(2)减少决策的等待时间。然而,在一些实现方式中,在做出决定所必需的信息可以在适合的时间范围内(例如,仍然允许在量子位相干时间内闭合反馈回路)在可容忍数量的引脚/迹线上在脉冲发生器电路之间传送的情况下,影响多个脉冲发生器电路3020–302L‑1的决定可以由一个或多个脉冲发生器电路3020–302L‑1做出。
[0037] 图3B示出了图2的量子控制器的示例性实现方式。所示出的示例性量子控制器包括脉冲发生器3021–302L‑1、接收模拟前端350、输入管理器352、数字管理器354、脉冲操作管理器356、脉冲操作358、输出管理器360、发射模拟前端362、数据交换364、同步管理器366、以及输入/输出(“I/O”)管理器368。图3B中图示的除了脉冲发生器电路3020–302L‑1之外的电路对应于图3A的共享电路310的示例实现方式。
[0038] 接收模拟前端350包括这样的电路,该电路可操作为同时处理经由信号路径3150–315M‑1接收的多达M(≥1的整数)个模拟入站信号(RP'0–RP'M‑1)以生成多达M个同时入站信号(RP0–RPM‑1)以便经由一个或多个信号路径输出至输入管理器352。尽管示出了有M个信号RP和M个信号RP',但这不是必须的情况。这样的处理可以包括例如模数转换、滤波、上变频、下变频、放大、衰减、分时复用/解复用、分频复用/解复用等。在各种实现方式中,M可小于、等于或大于L,且M可小于、等于或大于K。
[0039] 输入管理器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执行的信号路由和复用/解复用功能使得:特定脉冲发生器302I在不同时间处理来自不同量子元件的不同入站脉冲;特定脉冲发生器302I同时处理来自不同量子元件的不同入站脉冲;以及多个脉冲发生器3020–302L‑1同时处理相同的入站脉冲。在所示出的示例性实现方式中,由来自脉冲发生器3020–
302L‑1的数字控制信号in_slct0–in_slctL‑1来控制脉冲发生器3020–302L‑1的输入中的信号RP0–RPM‑1的路由。在另一实现方式中,输入管理器可操作为自主确定适当的路由(例如,在量子算法描述包括要加载到输入管理器352的存储器中并由其执行的指令的情况下)。在示例性实现方式中,输入管理器352可操作为将输入信号RP0–RPM‑1路由至I/O管理器368(作为信号io_mgr)以发送至量子编程子系统202。该路由可以例如由来自数字管理器354的信号控制。在示例性实现方式中,对于每个输入信号RPm,都存在从数字管理器354到输入管理器
352的数字信号,streamm,其控制RPm是否将从输入管理器352发送到I/O管理器368并且从那里发送到量子编程子系统202。
[0040] 在示例性实现方式中,输入管理器352可操作为处理一个或多个信号RP0–RPM‑1作为独立信号和/或一个或多个信号RP0–RPM‑1作为多信号集合(在两个的情况下称为“对(pair)”)。关于单独处理任何特定信号RPm还是作为多信号集合的一部分的确定可以在运行期间动态地确定,和/或可以在量子算法描述中预先确定。关于此,输入管理器352可操作为执行与下述由脉冲操作管理器356和/或脉冲操作电路358所执行的功能相似的功能(例如,修正设置的生成和选择、修正设置的应用及乘以掩码矩阵)。例如,RP2和RP4(从RP0–RPM‑1中任意选择)在一些情况下可以作为独立的信号处理并且在一些情况下作为两个信号对来处理(例如,同相正交)。
[0041] 脉冲发生器3020–302L‑1中的每个如以上参考图3A所述。在所示出的示例性实现方式中,每个脉冲发生器302l可操作为生成原始出站脉冲CP'I(“原始”仅用于表示脉冲还没被脉冲操作电路358处理)和用于在量子处理器218上执行量子算法的数字控制信号in_slctI、D_portI、DI、out_slctI、ops_ctrlI、ops_slctI、IFI、FI以及dmod_scltI,以及用于将由脉冲发生器302I生成的中间和/或最终的结果承载到量子编程子系统202的resultI。脉冲发生器3020–302L‑1中的一个或多个可以接收和/或生成附加信号,为了清楚的说明,这些附加信号未在图3A中示出。经由信号路径3080–308L‑1传输原始出站脉冲CP'0–CP'L‑1,并且经由信号路径3040–304L‑1传输数字控制信号。脉冲发生器302I中的每一个可操作为接收入站脉冲信号AII和信号f_dmodI。脉冲发生器302I可以处理入站信号AII,以确定量子处理器218中的某个量子元件的状态,并且使用该状态信息来做出决定,例如,接下来生成哪个原始出站脉冲CP′I,何时生成该原始出站脉冲以及生成什么控制信号来适当地影响该原始出站脉冲的特性。脉冲发生器3021可以使用用于确定如何处理入站脉冲信号AI1的信号f_dmodl。作为实例,当脉冲发生器302I需要处理来自量子元件1223的入站信号AI1时,该脉冲发生器可以发送dmod_scltI信号,该信号指示脉冲操作管理器356在f_dmod1上发送用于解调来自量子元件1223的入站信号AI1的设置(例如,脉冲操作管理器356可以发送值Cos(ω3*time_stamp+φ3),其中ω3是量子元件1223的频率,time_stamp是自参考点以来经过的时间量,例如量子算法已开始运行的时间,并且φ3是量子元件1223的总旋转的相位,即,自参考点以来的所有帧旋转的累积相位)。
[0042] 脉冲操作电路358可操作为处理原始出站脉冲CP′0‑CP′L‑1,以生成相应的输出出站脉冲CP0‑CPL‑1。这可以包括例如操纵原始脉冲CP′I的幅度、相位、和/或频率。脉冲操作电路358从脉冲发生器3020‑302L‑1接收原始出站脉冲CP′0‑CP′L‑1,从脉冲操作管理器356接收控制信号ops_cnfg0‑ops_cnfgL‑1,以及从脉冲发生器3020‑302L‑1接收ops_ctrl0‑ops_ctrlL‑1。
[0043] 控制信号ops_cnfgI至少部分地配置脉冲操作电路358,使得通过脉冲操作电路358的每个原始出站脉冲CP′I已经在其上执行针对该特定脉冲定制的一个或多个操作。为了说明,将在时间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执行哪些特定操作的信息。
[0044] 控制信号ops_ctrlI为脉冲发生器302l提供另一种方式以配置如何在脉冲操作电路358中处理任何特定脉冲。这可使脉冲发生器302I能够例如不需要通过脉冲操作管理器356向脉冲操作电路358提供信息。例如,脉冲发生器302I可以发送由脉冲发生器302I实时计算的矩阵值以供脉冲操作电路358用于修改脉冲CP'I。这些矩阵值直接从脉冲发生器302I到达脉冲操作电路358,并且不需要先发送到脉冲操作管理器。另一实例可以是脉冲发生器
302I向脉冲操作电路358提供信息以影响操作本身(例如,信号ops_ctrlI可在可对脉冲执行的若干不同的数学运算中进行选择)。
[0045] 脉冲操作管理器356包括可操作为配置脉冲操作电路358的电路,使得施加到每个原始出站脉冲CP'I的脉冲操作适合于该特定原始出站脉冲。为了说明,将在第一时间间隔T1期间输出的第一原始出站脉冲表示为CP'I,T1,并且将在第二时间间隔T2期间输出的第二原始出站脉冲表示为CP'l,T2,则脉冲操作电路358可操作为对CP'I,T1执行第一一个或多个操作,并且对CP'I,T2执行第二一个或多个操作。可以至少部分地基于脉冲CPI,T1要发送到哪个量子元件来确定第一一个或多个操作,并且可以至少部分地基于脉冲CPI,T2要发送到哪个量子元件来确定第二一个或多个操作。第一一个或多个操作和第二一个或多个操作的确定可以在运行时间期间动态地确定。脉冲运算电路358可操作为将每个原始出站脉冲CP'I作为独立的脉冲(脉冲运算电路358不将脉冲的向量表示乘以具有非零、非对元素的矩阵)或脉冲的多脉冲集合的一个分量(脉冲运算电路358将脉冲的向量表示和一个或多个其他原始出站脉冲乘以具有非零、非对角元素的矩阵)处理。在所示出的示例性实现方式中,可以在运行时间期间由针对时间T1的控制信号pairl(即,pairI,T1)确定在时间T1处的特定脉冲CP'I(即,CP'I,T1)是作为独立的脉冲处理还是作为多脉冲集合的一部分处理,如以下参考图7A至图9进一步描述的。尽管为了说明而使用双脉冲集合,但实际上一个集合可包括任何数量的脉冲。例如,可以使用四个脉冲的集合,并且可以对四个脉冲进行混合以补偿由在其上输出四个分量的信号路径引入的串扰。
[0046] 发射模拟前端362包括这样的电路,该电路可操作为同时处理多达K个数字信号DOk以生成多达K个同时发生的模拟信号AOk以便输出至量子处理器218。这样的处理可以包括例如数模转换、滤波、上变频、下变频、放大、衰减、分时复用/解复用、分频复用/解复用等。在示例性实现方式中,一个或多个信号路径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作为双脉冲对进行处理。
[0047] 输出管理器360包括可操作为将信号CP0–CPL‑1中的任何一个或多个路由到信号路径3130–313k‑1中的任何一个或多个的电路。仅作为一个可能的实例,信号路径3130可以包括通过输出AO0的模拟前端362(例如,第一混频器和DAC)和互连212的承载信号AO0的迹线/导线的第一路径;信号路径3131可以包括通过输出AO1的模拟前端362(例如,第二混频器和DAC)和互连212的承载信号AO1的迹线/导线等的第二路径。在示例性实现方式中,输出管理器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执行的信号路由和复用/解复用功能使得:在不同时间将出站脉冲从特定脉冲发生器302I路由到信号路径3130–313k‑1中的不同的信号路径;将出站脉冲从特定脉冲发生器302I同时路由到多个信号路径;以及多个脉冲发生器3020–302L‑1同时为相同的信号路径313k生成脉冲。在所示出的示例形实现方式中,信号路径3130–313k‑1之间的信号CP0–CPL‑1的路由由来自脉冲发生器3020–302L‑1的数字控制信号out_slct0–out_slctL‑1控制。在另一实现方式中,输出管理器
360可操作为自主确定适当的路由(例如,其中量子算法描述包括要加载到输出管理器360的存储器中并由其执行的指令)。在示例性实现方式中,在任何给定时间,输出管理器360可操作为同时路由数字信号CP0–CPL‑1中的K个数字信号作为K个独立的出站脉冲,同时路由数字信号CP0–CPL‑1中的K/2个数字信号作为双脉冲对,或者(在不同时间和/或同时)路由信号CP0–CPL‑1中的一些信号作为独立的出站脉冲并且路由信号CP0–CPL‑1中的一些其他信号作为多脉冲集合。
[0048] 数字管理器354包括可操作为处理数字控制信号(DigCtrl0–
[0049] DigCtrlJ‑1)和/或将其路由至量子控制器210的各种电路和/或耦接至量子控制器210的外部电路的电路。在所示出的示例性实现方式中,数字管理器从每个脉冲发生器302I(例如,经由信号路径3040–304N‑1中的一个或多个)接收要由数字管理器354处理和路由的数字信号DI,以及指示信号DI应当被路由到数字管理器354的哪个(哪些)输出端口的控制信号D_portI。数字控制信号可被路由到例如图3B中所示的任何一个或多个电路,将输出AO0–AOk‑1与量子处理器218连接和断开的开关/门,耦接至量子控制器210(诸如,微波混频器和放大器)的外部电路,和/或可以受益于来自脉冲发生器电路3020–302L‑1的实时信息的任何其他电路。数字信号的每个这样的目的地可能需要对数字信号执行不同的操作(诸如,延迟、加宽或具有给定数字模式的数字卷积)。这些操作可以由数字管理器354执行,并且可以由来自脉冲发生器3020–302L‑1的控制信号指定。这允许每个脉冲发生器302I生成去往不同目的地的数字信号并且允许脉冲发生器3020–302L‑1中的不同脉冲发生器生成去往相同目的地的数字信号,同时节省资源。
[0050] 同步管理器366包括可操作为管理图3B中所示出的各种电路的同步的电路。这样的同步在模化动态系统(诸如,量子控制器210)中是有利的,其中,脉冲发生器3020–302L‑1中的不同脉冲发生器在不同的时间生成、接收和处理去往和来自不同量子元件的脉冲。例如,当执行量子算法时,第一脉冲发生器电路3021和第二脉冲发生器电路3022有时可能需要在精确的同一时间发射脉冲并且在其他时间彼此独立地发射脉冲。在所示出的示例性实现方式中,同步管理器366减少了执行这样的同步所涉及的开销。
[0051] 数据交换电路364可操作为管理图3B中所示出的各种电路之间的数据交换。例如,当执行量子算法时,第一脉冲发生器电路3021和第二脉冲发生器电路3022有时可能需要交换信息。仅作为一个实例,脉冲发生器3021可能需要与脉冲发生器3022共享其刚刚处理的入站信号AI1的特性,使得脉冲发生器3022可基于AI1的特性生成原始出站脉冲CP'2。数据交换电路364可实现这种信息交换。在示例性实现方式中,数据交换电路364可以包括一个或多个寄存器,脉冲发生器3020–302L‑1可以从该一个或多个寄存器读取和写入。
[0052] I/O管理器368可操作为在量子控制器210与量子编程子系统202之间路由信息。
[0053] 图4示出了图3B的原始脉冲发生器的示例性实现方式。所示出的示例性脉冲发生器302I包括指令存储器402、脉冲模板存储器404、数字模式存储器406、控制电路408和计算和/或信号处理电路(CSP)410。
[0054] 存储器402、404、406可以包括一个或多个任何类型的合适的存储元件(例如,DRAM、SRAM、闪存等)。存储在存储器402中的指令是由脉冲发生器302I执行的指令,用于执行其在量子算法中的作用。因为不同的脉冲发生器3020–302L‑1在任何特定量子算法中起到不同的作用(例如,在不同时间生成不同脉冲),用于每个脉冲发生器302I的指令存储器402可以特定于该脉冲发生器。例如,来自量子编程子系统202的量子算法描述206可以包括要(经由I/O管理器368)加载到脉冲发生器3020中的第一组指令、要加载到脉冲发生器3021中的第二组指令等等。存储在存储器404中的每个脉冲模板包括表示待发送至脉冲操作电路358的脉冲的任何任意形状(例如,高斯、正弦、脉冲等)的一个或多个样本的序列。存储在存储器406中的每个数字模式包括一个或多个二进制值的序列,一个或多个二进制值可以表示待发送至数字管理器354以用于生成数字控制信号DigCtrl0–DigCtrlJ‑1的数字脉冲。
[0055] 控制电路408可操作为执行存储在存储器402中的指令以处理入站信号AII,生成原始出站脉冲CP'I,并生成数字控制信号in_slctI,out_slctI,D_portI,DI,IFI,FI,ops_slctI,ops_ctrlI,resultsI,dmod_slctI和pairI。在所示出的示例性实现方式中,对入站信号AII的处理由CSP电路410(至少部分地)基于信号f_dmodI来执行。
[0056] 计算和/或信号处理电路(CSP)410可操作为执行计算和/或信号处理功能,其可包括例如基于布尔代数的逻辑和算术功能和(例如,入站信号AII的)解调。
[0057] 在示例性实现方式的操作中,生成原始出站脉冲CP'I包括控制电路408:(1)确定要从存储器404检索的脉冲模板(例如,基于由CSP 410执行的计算和/或信号处理的结果);(2)检索脉冲模板;(3)对脉冲模板进行一些初步处理;(4)确定要发送到脉冲操作管理器
356的F、IF、pairI、ops_slctI、及dmod_slctI的值(如在量子算法描述中预定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态地确定的);(5)确定要发送到脉冲操作电路
358的ops_ctrlI的值;(6)确定要发送到输入管理器352的in_slctI的值;(7)确定要从存储器406检索的数字模式(如在量子算法描述中预先确定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态地确定的);(8)将数字模式作为Dl与控制信号D_portI(在量子算法描述中预定的和/或基于由CSP 410执行的计算和/或信号处理的结果动态地确定的)一起输出到数字管理器;(9)将原始出站脉冲CP'I输出至脉冲操作电路358;(10)将resultl输出到I/O管理器。
[0058] 图5示出了图3B的脉冲操作管理器和脉冲操作电路的示例性实现方式。脉冲操作电路358包括多个脉冲修正电路5080–508R‑1(R通常是≥1的整数,并且在所示出的实例中R=L/2)。脉冲操作管理器356包括控制电路502、路由电路506和多个修正设置电路5040–504k‑1。
[0059] 尽管示例性实现方式在脉冲修正电路5080–508R‑1与脉冲发生器电路3020–302L‑1之间具有1对2的对应关系,但这不是必须的情况。在其他实现方式中,可能有比脉冲发生器电路302更少的脉冲修正电路508。类似地,其他实现方式可以包括比脉冲发生器电路302更多的脉冲修正电路508。
[0060] 作为一个实例,在一些情况下,脉冲发生器3020‑302L‑1中的两个可生成两个原始出站脉冲,它们是相位‑正交脉冲对。例如,假设CP1和CP2是将在路径3133上输出的相位‑正交脉冲对。在该实例中,脉冲操作电路358可以通过将CP′1和CP′2的向量表示乘以一个或多个2乘2矩阵来处理CP1和CP2,以:(1)执行单边带调制,如给出,其中ω
是单边带调制的频率,并且time_stamp是自参考时间(例如,某个控制协议的开始)以来经过的时间;(2)保持跟踪参考帧旋转,如由 给出
的,其中φ是自参考时间以来该参考帧累积的总相位;和/或(3)执行IQ混频器校正其中C00、C01、C10和C11是校正IQ混频器缺陷的矩阵的元素。
在示例性实现方式中,每个修正设置电路504k包含寄存器,该寄存器包含三个矩阵的矩阵元素: IQ混频器校正矩阵;
单边带频率调制矩阵;以
及 帧旋转矩阵,其使IQ轴围绕与IQ平面垂直的轴(即,如
果I和Q是x轴和y轴则围绕z轴)旋转。在示例性实现方式中,每个修正设置电路504k还包含寄存器,该寄存器包含矩阵乘积CkSkFk和SkFk的元素。
[0061] 在所示出的实例中,每个脉冲修正电路508r可操作为根据修正设置ops_cnfg2r和ops_cnfg2r+1;信号ops_ctrl2r和ops_ctrl2r+l;以及信号pair2r和pair2r+1处理两个原始出站脉冲CP′2r和CP′2r+1。在示例性实现方式中,pair2r和pair2r+1可作为ops_ctrl2r和ops_ctrl2r+1传送。处理的结果是出站脉冲CP2r和CP2r+1。这样的处理可包括调整原始出站脉冲CP′2r和CP′2r+1的相位、频率和/或振幅。在示例性实现方式中,ops_cnfg2r和ops_cnfg2r+1采用包括实数和/或复数的矩阵的形式,并且该处理包括涉及原始出站脉冲CP2r和CP2r+1的矩阵表示和ops_cnfg2r和ops_cnfg2r+1矩阵的矩阵乘法。以下参考图7描述这样的实施方式的一个实例。
[0062] 控制电路502可操作为与脉冲发生器电路3020‑302L‑1交换信息以通过基于信号ops_slct0‑ops_slctL‑1和dmod_slct0‑dmod_slctL‑1控制路由电路506并且通过基于IF0‑IFL‑1和F0‑FL‑1更新脉冲修正设置5040‑504K‑1来生成ops_confg0‑ops_confgL‑1和Ldemod0‑LdemodL‑1的值,使得输出到脉冲操作电路358的脉冲修正设置被专门用于要由脉冲操作电路358处理的每个原始出站脉冲(例如,该脉冲去往的量子元件222、该脉冲去往的信号路径313等)。
[0063] 每个修正设置电路504k包括可操作为存储修正设置以供稍后检索并传送至脉冲操作电路358的电路。存储在每个修正设置电路504k中的修正设置可以是一个或多个二维复值矩阵的形式。每个信号路径3130‑313K‑1可以具有由脉冲修改操作考虑的特定特性(例如,互连、混频器、开关、衰减器、放大器和/或沿着路径的电路的非理想因素)。类似地,每个量子元件1220‑122k可以具有一个特定的特性(例如,共振频率、参考帧等)。在一个示例性实现方式中,存储在电路504中的脉冲修正设置的数量K对应于量子元件1220–122K‑1和信号路径3130–313K‑1的数量,这样使得修正设置电路5040–504K‑1中的每一个存储量子元件1220–122K‑1和/或路径3130–313K‑1中的相应一个的修正设置。在其他实现方式中,可以有比信号路径313更多或更少的脉冲修正电路504以及比量子元件122更多或更少的脉冲修正电路
504以及比量子元件122更多或更少的信号路径313。
[0064] 路由电路506可操作为将修正设置从修正设置电路5040–504L‑1路由到脉冲操作电路358(作为ops_confg0–ops_confgL‑1)和脉冲发生器3020–302L‑1(作为f_dmod0–f_dmodL‑1)。在所示出的示例性实现方式中,由来自控制电路502的信号“route”来控制修正设置电路
5040–504K‑1中的哪个修正设置电路的内容发送到脉冲修正电路5080–508R‑1中的哪个脉冲修正电路和脉冲发生器3020–302L‑1中的哪个脉冲发生器。
[0065] 信号ops_slctI通知脉冲操作管理器356将哪些修正设置504k发送到脉冲修正电路508I。脉冲发生器302I可以基于特定量子元件122k和/或将向其传输脉冲的信号路径313k来确定ops_slctI(例如,量子元件的谐振频率、参考帧、和/或混频器校正)。特定脉冲发生器
302I要在特定时间向哪个量子元件和/或信号路径发送出站脉冲的确定可以在量子算法描述中预先确定,或者可以基于在运行时间期间由脉冲发生器302I和/或脉冲发生器3020–
302L‑1中的其他脉冲发生器执行的计算来确定。控制电路502然后可以使用该信息来配置路由块506,使得正确的修正设置被路由到脉冲修正电路5080–508L‑1中的正确的一个脉冲修正电路。
[0066] 在示例性实现方式中,数字信号IFI指示脉冲操作管理器356更新由ops_slctI指示的修正设置电路504k的频率设置。在示例性实现方式中,频率设置是矩阵Sk(如上所述)并且信号IFI承载指示将在矩阵Sk的元素中使用的新的ωk的新值。新值可以例如在校准例程(例如,作为量子算法的初始部分执行)期间确定,在校准例程中,脉冲发生器3020‑302L‑l中的一个或多个脉冲发生器发送一系列出站脉冲CP,每个出站脉冲处于不同的载波频率,并且然后测量相应的入站信号AI。
[0067] 在示例性实现方式中,信号FI指示脉冲操作管理器356更新由ops_slct1指示的修正设置电路504k的帧设置。在示例性实现方式中,帧设置是矩阵Fk(如上所述)并且信号F1承载 旋 转矩 阵 F 1 ,该 旋 转 矩阵 与 F k 相 乘 以 使 F k旋 转 。这 可 以 被 写 为[0068] ,其中,φk是旋转之前的参考帧,并且Δ φ是旋转该参考帧的量。脉冲发生器3021可以基于预定算法或基于在运行时间期间由脉冲发生器302I和/或脉冲发生器3020‑302L‑1中的其他脉冲发生器执行的计算来确定Δφ。
[0069] 在示例性实现方式中,信号dmod_scltI通知脉冲操作管理器356从修正设置电路504k中的哪个修正设置电路检索待发送至脉冲发生器302I的值作为f_dmodl。脉冲发生器
302I可以基于待处理的脉冲从其到达的特定量子元件122k和/或信号路径315k确定dmod_slctI。哪个量子元件和/或信号路径特定脉冲发生器3021将在特定时间处理入站脉冲的确定可以在量子算法描述中预先确定,或者可以基于在运行时间期间由脉冲发生器302I和/或脉冲发生器3020‑302L‑1中的其他脉冲发生器执行的计算来确定。控制电路502然后可以使用该信息来配置路由块506,使得正确的修正设置路由到脉冲发生器中的正确的脉冲发生器。例如,当脉冲生成电路302I需要解调来自量子元件122k的脉冲信号AlI时,其将发送指示脉冲操作管理器356将元件SFk00=cos(ωk*time_stamp+φk)从修正设置电路504k路由到脉冲发生器302I的dmod_scltI信号(作为f_dmodI)。
[0070] 在所示出的示例性实现方式中,数字信号C0‑CK‑1提供关于将用于信号路径中的每一个的信号路径特定修正设置的信息。例如,每个信号Ck可以包括要乘以原始出站脉冲CP′I的矩阵表示的矩阵,使得所得到的输出出站脉冲对当出站脉冲沿信号路径313k传播时引入的误差(例如,由混频器、放大器、布线等中的缺陷引起的误差)进行预补偿。预补偿的结果是输出出站脉冲CPI在到达量子处理器218时将具有适当的特性。信号C0‑CK‑1可以例如由量子控制器210本身、由编程子系统202、和/或由外部校准设备计算并且经由I/O管理器368提供。信号的计算可以作为校准例程的一部分来完成,该校准例程可以在量子算法之前执行和/或可以作为量子算法的一部分被实时地确定/适配(例如,以补偿量子算法期间的温度变化)。
[0071] 图6是示出了根据本公开的示例性实现方式的量子控制器的示例性操作的流程图。
[0072] 该过程开始于框602,其中,脉冲发生器3022决定生成原始出站脉冲CP′2,T1,以在时间T1处在信号路径3134上输出。该决定基于存储器402中加载的指令,并且可以考虑脉冲发生器3022的CSP 410和/或脉冲发生器3020‑302L‑1中的另一脉冲发生器的CSP 410执行的计算结果(例如,基于由CSP 410解调的入站量子元件读出信号AI2)。
[0073] 在框604中,脉冲发生器3022经由信号ops_slct2向脉冲操作管理器356发信号通知其想要用存储在5044中的脉冲修正设置来修正原始出站脉冲CP'2,T1。
[0074] 在框606中,脉冲修改管理器356将设置从脉冲修正设置电路5044路由到脉冲修正电路5082。
[0075] 在框608中,脉冲修正电路5082使用在框606中接收的设置来处理CP'2,T1。结果是输出出站量子脉冲CP2,T1。
[0076] 在框610中,如由脉冲发生器3022所引导,输出管理器360将CP2,T1路由到信号路径3134(作为信号DO4)。
[0077] 在框612中,脉冲发生器3022决定生成原始出站脉冲CP'2,T2,以在时间T2处在信号路径3137上输出。该决定基于存储器402中加载的指令,并且可以考虑脉冲发生器3022的CSP 410和/或脉冲发生器3020–302L‑1中的另一脉冲发生器的CSP 410执行的计算结果(例如,基于由CSP 410解调的入站量子元件读出信号AI2)。
[0078] 在框614中,脉冲发生器3022通过信号ops_slct2向脉冲操作管理器356发信号通知:其想要利用存储在5047中的脉冲修正设置修改原始出站脉冲CP'2,T2。
[0079] 在框616中,脉冲修改管理器356将设置从脉冲修正设置电路5047路由到脉冲修正电路5082。
[0080] 在框618中,脉冲修正电路5082使用在框616中接收的设置来处理CP’2T2。结果是输出出站量子脉冲CP2T2。
[0081] 在框620中,如由脉冲发生器3022所引导,输出管理器360将CP2,T2路由到信号路径3137(作为信号DO7)。
[0082] 由此,在单个量子算法的运行时间期间的不同时间,单个脉冲发生器302为两个不同的路径(在该实例中,其可以对应于量子处理器218的两个不同的量子元件122)产生脉冲,并且脉冲中的每一个接收针对其相应路径和/或量子元件定制的不同处理。
[0083] 图7A和图7B示出了图5的脉冲修正电路的示例形实现方式。所示出的示例性脉冲修正电路508r包括掩膜选择电路702和脉冲处理电路708A和708B。还示出了脉冲修正设置电路504k和504k+1。尽管示例性脉冲修正电路508r被配置为将两个脉冲作为独立的脉冲或双脉冲对处理,但是在其他实现方式中,脉冲修正电路508r可被配置用于处理3个或更多个脉冲(并且可具有相应更多个脉冲处理电路708)。
[0084] 在图7A中,脉冲修正电路508r被配置为将CP'2r和CP'2r+1作为两个独立的脉冲处理。信号pair2r和pair2r+1选择(如由线706表示)掩膜矩阵 用于到708A和708B的输入,并且脉冲操作管理器356输出(基于信号ops_slct2r和ops_slct2r+1)来自修正设置电路504k的ops_cnfg2r和来自504k+1的ops_cnfg2r+1(k和k+1是为了说明而任意选择的,但是ops_cnfg2r和ops_cnfg2r+1中的每一个可以来自修正设置电路5040–504K‑1中的任一k
个)。结果是脉冲处理电路708A输出CP2r=CSF00CP'2r,并且脉冲处理电路708B输出CP2r+1=k+1
CSF11 CP'2r+1。在所示出的示例性实现方式中,掩码矩阵[M]的值是0或1,并且mode2r=pair2r和mode2r+1=pair2r+1。在其他实现方式中,掩码矩阵可包括除0和1之外的值(例如,经计算以应用期望增益和/或相移的实或复数值),并且mode2r可不同于pair2r和/或mode2r+1可不同于pair2r+1。
[0085] 在图7B中,脉冲修正电路508r被配置为将CP'2r和CP'2r+1作为双脉冲对处理。信号pair2r和pair2r+1选择(如由线706指示)掩码矩阵 用于到708A和708B的输入,并且脉冲操作管理器356输出(基于信号ops_slct2r和ops_slct2r+1)来自504k的ops_cnfg2r和ops_cnfg2r+1两者(任意地选择来自504k的ops_cnfg2r和ops_cnfg2r+1两者用于说明,但是ops_cnfg2r可以来自与ops_cnfg2r+1不同的修正设置电路)。结果是脉冲处理电路708A输出k k k
CP2r=CSF00 CP'2r+CSF01 CP'2r+1,并且脉冲处理电路708B输出CP2r+1=CSF10 CP'2r+k
CSF11 CP'2r+1,这导致 在所示出的示例性实
现方式中,掩码矩阵[M]的值是0或1并且mode2r=pair2r,mode2r+1=pair2r+1。在其他实施方式中,掩码矩阵可以包括除0和1之外的值(例如,经计算以应用所期望的增益和/或相移的实数或复数值)。另外,在其他实现方式中,mode2r可以不同于pair2r和/或mode2r+1可以不同于pair2r+1。
[0086] 图8A示出了输出双脉冲对的量子控制器。在图8A中,输出出站脉冲CP2r和CP2r+1是相位‑正交对,其由输出管理器360作为信号DO2r和DO2r+1路由,由发送模拟前端362的数模转换器804A和804B(其可以是单个DAC的两个DAC元件/信道)转换成相应的模拟信号AO2r和AO2r+1,然后由正交混频器802上变频,导致在信号路径313k上输出的出站脉冲信号APk。
[0087] 图8B示出了输出两个独立的脉冲的量子控制器。在图8B中,输出出站脉冲CP2r和CP2r+1是两个独立的脉冲,其由输出管理器360作为信号DO2r和DO2r+1路由,并且由发送模拟前端362的数模转换器804A和804B转换成相应的模拟信号AO2r和AO2r+1。信号AO2r然后被单边带混频器806上变频以生成在信号路径313k上输出的信号APk。基带信号AO2r+1直接在信号路径313k‑1上输出(无需上变频)。
[0088] 图8C示出了与三个不同的量子处理器2181、2182和2183接口连接的量子控制器210的三个实例。三个量子处理器2181、2182和2183可以例如是处理器的不同品牌和/或型号。可替代地,三个量子处理器2181、2182和2183可以是同一个量子处理器的三个不同配置的实例(例如,每个不同的配置可以适合于执行不同的量子算法)。可替代地,这三个量子处理器2181、2182和2183可以是同一个量子处理器的三个不同配置的元件。可替换地,这三个量子处理器2181、2182和2183可以是相同的处理器的相同的元件(即,pair3131和3132),但是在不同的时间从多脉冲对模式动态地切换到独立脉冲模式。量子处理器2181需要经由正交混频器生成的脉冲,量子处理器2182需要经由单相混频器或者根本没有混频生成的脉冲(作为基带信号),并且量子处理器2183需要经由信号路径3131上的正交混频器生成的脉冲以及经由信号路径3132上的单相混频器或者根本没有混频(作为基带信号)生成的脉冲。
[0089] 图8A至图8C示出了量子控制器210与使用不同信令方案的不同量子处理器(或单个量子处理器的不同量子位/谐振器)交互的灵活性。量子控制器210可操作为在一些时间间隔内输出独立脉冲并且在相同和/或其他时间间隔期间输出多脉冲集合。量子控制器210可操作为在一个时间间隔内将独立的出站脉冲输出到特定的信号路径313k上,并且在不同的时间间隔内将多脉冲集合输出到相同的信号路径313k上。量子控制器210可操作为在一个或多个信号路径3130–313K‑1上输出一个或多个独立的脉冲,同时在一个或多个其他信号路径3130–313K‑1上输出一个或多个多脉冲集合。由量子控制器210输出的独立的脉冲可以根据需要或希望是基带、IF或RF信号。
[0090] 图9是示出了根据本公开的示例性实现方式的量子控制器的操作的流程图。该过程从框902开始,其中,量子控制器(基于正被执行的量子算法的指令和由一个或多个脉冲发生器302执行的计算)确定要生成以便在信号路径313k上输出的出站脉冲。为了说明的目的,任意选择脉冲发生器3020和3021为在该过程中涉及的脉冲发生器并且任意选择脉冲修正电路5080为在该过程中涉及的脉冲修正电路,但是在实践中,它可以是脉冲发生器3020–302L‑1中的任何两个和脉冲修正电路5080–508L‑1中的任何一个。
[0091] 在框904中,量子控制器210确定出站脉冲应该是独立的脉冲还是多脉冲集合(在该实例中是双脉冲对)。这种确定可以例如基于路径313k是连接到量子位还是读出谐振器。这种确定可以例如基于连接到量子控制器210的特定量子处理器218(其可以例如在量子算法描述中指定或者可以在量子控制器210与量子处理器218之间的发现/校准过程中被发现)。如果脉冲是双脉冲对,那么过程前进到框906。
[0092] 在框906中,脉冲发生器3020生成原始出站脉冲CP'0,其为双脉冲对的第一分量,并且脉冲发生器3021生成原始出站脉冲CP'1,其为双脉冲对的第二分量。
[0093] 在框908中,脉冲修正电路5080处理CP'0和CP'1以生成出站双脉冲对CP0和CP1。
[0094] 在框910中,CP0和CP1由输出管理器360作为DO0和DO1路由。
[0095] 在框912中,信号DO0和DO1被模拟前端362转换成模拟正交上变频的,以便生成信号APk,该信号在信号路径313k上被输出到量子处理器218。
[0096] 返回到框904,如果脉冲是单个独立脉冲,那么过程前进到框914。
[0097] 在框914中,脉冲发生器3020生成独立的原始出站脉冲CP'0。
[0098] 在框916中,脉冲修正电路5080处理CP'0以生成出站脉冲CP0。
[0099] 在框918中,CP0由输出管理器360作为信号DO0路由。
[0100] 在框920中,信号DO0被模拟前端386上变频以生成APk,其在信号路径313k上被输出到量子处理器。
[0101] 对于要生成的每个出站脉冲,可以重复图9的过程。例如,在量子算法描述的一个或多个指令的第一集合期间,可以为路径3134生成需要脉冲对的脉冲,并且在量子算法描述的一个或多个指令的第二集合期间,可以为路径3137生成需要单相脉冲的脉冲。在该实例中,过程可以在一个或多个指令的第一集合期间前进通过框906‑912并且在一个或多个指令的第二集合期间前进通过框914‑920。
[0102] 根据本公开的示例性实现方式,量子控制器(例如,210)包括第一原始出站量子控制脉冲生成电路(例如,3020)、第二原始出站量子控制脉冲生成电路(例如,3021)、以及出站量子控制脉冲修正电路(例如,356和358)。第一出站量子控制脉冲生成电路可操作为生成第一原始出站量子控制脉冲(例如,CP'0,T1)。第二原始出站量子控制脉冲生成电路可操作为生成第二原始出站量子控制脉冲(例如,CP'1,T1)。出站量子控制脉冲修正电路可操作为动态地确定(即,在量子算法的运行时间期间)是将第一原始出站量子控制脉冲和第二原始出站量子控制脉冲作为要混合在一起的多脉冲对(通过将脉冲的矢量表示乘以具有非零非对角元素的矩阵)还是作为两个独立的脉冲处理。是将第一原始出站量子控制脉冲和第二原始出站量子控制脉冲作为要混合在一起的多脉冲对还是两个独立脉冲处理的确定可以基于第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要路由到哪一个或多个信号路径(例如,313k)和/或一个或多个量子元件(例如,122k)。当第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要作为多脉冲对处理时,出站量子控制脉冲修正电路可操作为确定所生成的出站量子控制脉冲要输出到的信号路径和/或量子元件的N xN(N是整数)矩阵表示,并使用N x N矩阵和第一原始出站量子控制脉冲和第二原始出站量子控制脉冲的N x 1矩阵表示来混合多脉冲对。第一出站量子控制脉冲生成电路可以包括脉冲存储器(例如,404),该脉冲存储器被配置为存储包括一个或多个样本的脉冲模板。生成第一原始出站量子控制脉冲可以包括从脉冲存储器中检索脉冲模板中的一个,以及操纵脉冲模板的样本(例如,缩放和/或解压缩)。出站量子控制脉冲修正电路可以操作为存储多个脉冲修正设置(例如,在5040–504K‑1中)。出站量子控制脉冲修正电路可以是动态可配置的,从而在量子控制器执行量子计算算法的指令期间,多个脉冲修正设置中的哪个应用于第一原始出站量子控制脉冲以及多个脉冲修正设置中的哪个应用于第二原始出站量子控制脉冲是可选择的。多个脉冲修正设置中的每个脉冲修正设置可被配置为供多个信号路径和/或/量子元件的相应信号路径和/或量子元件(例如,第一量子元件122k和/或信号路径313k的第一设置、第二量子元件122k和/或信号路径313k的第二设置、第一量子跃迁的第三设置等等)使用。多个脉冲修正设置中的每个脉冲修正设置可以是实数或复数(包括零)的N乘N矩阵。在第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要作为两个独立的脉冲处理的情况下,脉冲修正电路可操作为使用第一脉冲修正设置(例如,存储在5041中)处理第一原始出站量子控制脉冲以补偿将由第一信号路径(例如,3131)引入的误差,并且使用第二脉冲修正设置(例如,存储在5042中)处理第二原始出站量子控制脉冲以补偿将由第二信号路径(例如,3132)引入的误差。在第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要作为两个独立的脉冲处理的情况下,脉冲修正电路可操作为使用第一脉冲修正设置(例如,存储在5041中)处理第一原始出站量子控制脉冲以执行频率调制(例如,I/Q调制或单边带调制),相位调制和/或对应于脉冲指向的量子元件(或跃迁)(例如,1221)的帧旋转,并且使用第二脉冲修正设置(例如,存储在5042中)处理第二原始出站量子控制脉冲,以执行对应于脉冲指向的量子元件(或跃迁)(例如,1222)的频率调制和/或帧旋转。在第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要作为多脉冲对处理的情况下,脉冲修正电路可操作为使用第三脉冲修正设置(例如,存储在5043中)处理第一原始出站量子控制脉冲和第二原始出站量子控制脉冲,以补偿由第三一个或多个信号路径(例如,3133)引入的误差。在第一原始出站量子控制脉冲和第二原始出站量子控制脉冲要作为多脉冲对处理的情况下,脉冲修正电路可操作为使用第三脉冲修正设置(例如,存储在5043中)处理第一原始出站量子控制脉冲和第二原始出站量子控制脉冲以执行频率调制(例如,I/Q调制或单边带调制),相位调制、帧旋转和/或任何线性变换(即,将脉冲的向量表示乘以任何通用矩阵)。调制、帧旋转和/或线性变换可基于脉冲指向的量子元件(或跃迁)和/或路径(例如,1223)来确定。
[0103] 本方法和/或系统可以用硬件、软件或硬件和软件的组合来实现。本方法和/或系统可实现为至少一个计算机系统的集中方式,或分散分布式方式,其中不同元件元素分散在几个相互连接的计算系统内。适合于实施本文中描述的方法的任何种计算系统或其他装置是合适的。典型的实现方式可以包括一个或多个专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)和/或一个或多个处理器(例如,x86、x64、ARM、PIC和/或任何其他合适的处理器架构)和相关联的支持电路(例如,存储、DRAM、FLASH、总线接口电路等)。每个分立ASIC、FPGA、处理器、或其他电路可以指“芯片”,并且多个这样的电路可以指“芯片集”。另一实现方式可以包括其上存储有一行或多行代码的非瞬时性机器可读(例如,计算机可读)介质(例如,闪存驱动、光盘、磁存储盘等),一行或多行代码在由机器执行时使该机器执行如本公开中所描述的过程。另一实现方式可以包括其上存储有一行或多行代码的非瞬时性机器可读(例如,计算机可读)介质(例如,闪存驱动、光盘、磁存储盘等),一行或多行代码在由机器执行时,使得机器被配置为(例如,将软件和/或固件加载到其电路中)作为本公开中描述的系统操作。如本文中使用的,术语“基于”是指“至少部分基于”。例如,“基于y的x”指示“x”至少部分基于“y”(并且例如还可以基于z)。
[0104] 尽管已经参考某些实现方式描述了本方法和/或系统,但是本领域技术人员将理解,在不脱离本方法和/或系统的范围的情况下,可以进行各种改变,并且可以替换等同物。另外,在不脱离本公开的范围的情况下,可以进行许多修改以使特定情况或者材料适应本公开的教导。因此,意图是本方法和/或系统不限于公开的具体特定实现,而是本方法和/或系统将包括在所附权利要求范围内的所有的实现。
QQ群二维码
意见反馈