CN113377441B - 用于量子物理实验平台的通用时序控制器架构 - Google Patents

用于量子物理实验平台的通用时序控制器架构 Download PDF

Info

Publication number
CN113377441B
CN113377441B CN202110668104.XA CN202110668104A CN113377441B CN 113377441 B CN113377441 B CN 113377441B CN 202110668104 A CN202110668104 A CN 202110668104A CN 113377441 B CN113377441 B CN 113377441B
Authority
CN
China
Prior art keywords
instruction
data
arithmetic
interpreter
register
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
CN202110668104.XA
Other languages
English (en)
Other versions
CN113377441A (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.)
Southwest University of Science and Technology
Original Assignee
Southwest University of Science and Technology
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 Southwest University of Science and Technology filed Critical Southwest University of Science and Technology
Priority to CN202110668104.XA priority Critical patent/CN113377441B/zh
Publication of CN113377441A publication Critical patent/CN113377441A/zh
Application granted granted Critical
Publication of CN113377441B publication Critical patent/CN113377441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明公开了一种用于量子物理实验平台的通用时序控制器架构,包括:多个寄存器、数据总线、运算器、多个功能模块、指令缓存和指令解释器;指令缓存用于缓存发送至时序控制器的指令,并向指令解释器发送缓存的指令;指令解释器用于解析指令缓存发送的指令,并根据从指令中解析出的操作码确定指令的类型,根据指令的类型执行对应的指令处理流程;运算器用于根据指令解释器发送的算术指令对数据总线输出的数据进行算术或逻辑运算;多个功能模块用于通过指令解释器发送的动作指令执行除算术或逻辑运算、流程控制以外的其他功能。本发明实施例公开的用于量子物理实验平台的通用时序控制器架构,能够满足复杂的量子计算实验控制的时序需求。

Description

用于量子物理实验平台的通用时序控制器架构
技术领域
本发明实施例量子技术,尤其涉及一种用于量子物理实验平台的通用时序控制器架构。
背景技术
量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式。量子力学态叠加原理使得量子信息单元的状态可以处于多种可能性的叠加状态,从而导致量子信息处理从效率上相比于经典信息处理具有更大潜力。因此对量子计算的研究是计算领域的重要研究方向。
主流的实现量子计算的物理平台包括超导、离子阱、超冷原子、硅量子点以及核磁共振等等。在这些系统中,实际的量子计算方案实现都需要通过光、电等信号对这些系统的一些微观状态进行调控。这些调控操作的时间尺度通常在纳秒至微秒量级,且这些操作在时间上的不稳定和漂移会造成量子系统的退相干,降低操作的质量。此外,根据具体物理平台的不同,一个完整的量子计算实验系统通常需要包括信号源、探测器、激光器等等不同类型的设备,进行量子计算实验需要系统中的所有设备协同作用。
另外,与量子计算属于同一领域的量子精密测量、量子通信领域对实验系统的控制也有同样的需求。因此,一个量子物理实验系统需要一个时序控制器来协调控制不同的实验设备,同时其时间控制精度须达到纳秒量级。
但受限于现有的实验技术,当前的量子物理实验流程的结构都较为简单,不包含反馈、分支等复杂的逻辑结构,因而在时序控制方面一直没有一种成体系、成架构的解决方案,都是根据具体需要进行即时开发。但近年来新提出的一些量子纠错、量子机器学习等方案的实验实现就需要较为复杂的流程结构。这就要求时序控制器在保证高时间精度、高速度的同时,还要能够对实验数据进行实时处理,并相应的生成后续的控制方案。目前尚没有时序控制方案能满足这一要求。
发明内容
本发明提供一种用于量子物理实验平台的通用时序控制器架构,提供了一种集流程控制、时序控制、设备通信和数据处理为一体的时序控制器架构,以满足复杂的量子计算实验控制的需求。
第一方面,本发明实施例提供一种用于量子物理实验平台的通用时序控制器架构,包括:多个寄存器、数据总线、运算器、多个功能模块、指令缓存和指令解释器;
指令缓存用于缓存发送至时序控制器的指令,并向指令解释器发送缓存的指令;
指令解释器用于解析指令缓存发送的指令,并根据从指令中解析出的操作码确定指令的类型,根据指令的类型执行对应的指令处理流程,指令的类型包括流控制指令、算术指令和动作指令;
多个寄存器用于存储数据,包括通用寄存器、只读寄存器和只写寄存器;
数据总线用于汇总、选择来自多个寄存器以及来自指令本身的数据;
运算器用于根据指令解释器发送的算术指令对数据总线输出的数据进行算术或逻辑运算;
多个功能模块用于通过指令解释器发送的动作指令执行除算术或逻辑运算、流程控制以外的其他功能。
在第一方面一种可能的实现方式中,指令解释器具体用于解析指令缓存发送的指令,得到指令中包含的操作码、操作数地址、目标地址、指令数据和动作标记。
在第一方面一种可能的实现方式中,当指令为流控制指令时,指令解释器中的流程控制器根据流控制指令和从数据总线读取的数据以及功能模块发送的流控制标记,计算指令指针,指令指针为下一条指令的地址,并将指令指针发送至指令缓存。
在第一方面一种可能的实现方式中,当指令为算术指令时,指令解释器向数据总线发送操作数地址,以使数据总线将算术指令所需操作数发送至运算器;并向运算器发送算术操作码;以及根据算术指令的目标地址令对应的寄存器写入使能生效,以使对应的寄存器存储运算器的运算结果。
在第一方面一种可能的实现方式中,当指令为动作指令时,指令解释器根据动作标记控制与动作标记对应的功能模块执行所需处理。
在第一方面一种可能的实现方式中,数据总线包括总线和多个数据选择器,总线用于汇总各寄存器以及指令本身的数据,多个数据选择器用于根据指令解释器输入的目标地址输出对应的数据。
在第一方面一种可能的实现方式中,运算器包括多个算术运算或逻辑运算单元、结果选择器,多个算术或逻辑运算单元根据数据总线输入的多个操作数进行算术或逻辑运算,结果选择器根据指令解释器输入的操作码对算术或逻辑运算结果进行选择输出。
在第一方面一种可能的实现方式中,每个功能模块用于根据指令解释器发送的动作标记和时序控制器的外部输入数据进行功能逻辑处理,并向时序控制器外部输出处理后的数据、向指令解释器输出流控制标记或者向只读寄存器写入处理后的数据;
所述只写寄存器用于存储功能模块的具体参数配置,所述只读寄存器用于存储功能模块处理后的数据。
在第一方面一种可能的实现方式中,多个功能模块包括计时模块、多通道TTL电平输出模块、输入/输出模块、门控计数模块、触发模块、缓存模块中的一种或多种的组合。
在第一方面一种可能的实现方式中,不同的功能模块逻辑上相互独立,可用相同或不同的时钟驱动。
本发明实施例提供的用于量子物理实验平台的通用时序控制器架构,包括:多个寄存器、数据总线、运算器、多个功能模块、指令缓存和指令解释器;指令缓存用于缓存发送至时序控制器的指令,并向指令解释器发送缓存的指令;指令解释器用于解析指令缓存发送的指令,并根据从指令中解析出的操作码确定指令的类型,根据指令的类型执行对应的指令处理流程,指令的类型包括流控制指令、算术指令和动作指令,多个寄存器用于存储数据,包括通用寄存器、只读寄存器和只写寄存器;数据总线用于汇总、选择来自多个寄存器和指令本身的数据;运算器用于根据指令解释器发送的算术指令对数据总线输出的数据进行算术或逻辑运算;多个功能模块用于通过指令解释器发送的动作指令执行除算术或逻辑运算、流程控制以外的其他功能,由于本申请实施例提供的用于量子物理实验平台的通用时序控制器架构将时序控制器的具体功能封装为功能模块,与流控制逻辑分开,如此,计时模块可以单独使用高速时钟,流控制以及其它功能的复杂逻辑不会影响计时的时间分辨率,从而可以满足复杂的量子计算实验控制的时序控制需求。
附图说明
图1为本发明实施例提供的一种用于量子物理实验平台的通用时序控制器架构的结构示意图;
图2为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中指令解释器的结构示意图;
图3为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中数据总线的结构示意图;
图4为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中运算器的结构示意图;
图5为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中功能模块的结构示意图;
图6为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中寄存器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种用于量子物理实验平台的通用时序控制器架构的结构示意图,如图1所示,本实施例提供的用于量子物理实验平台的通用时序控制器架构(以下简称时序控制器)包括:
指令缓存11、指令解释器12、数据总线13、运算器14、功能模块15、通用寄存器16、只写寄存器17和只读寄存器18。其中图1中仅示意性地示出一个功能模块15,但本实施例提供的时序控制器可以包括多个功能模块15,每个功能模块15与其他模块或单元的连接方式与图1中相同。通用寄存器16、只写寄存器17和只读寄存器18可以统称为寄存器,通用寄存器16、只写寄存器17和只读寄存器18可以分别包括一个或多个,各寄存器均用于存储数据,在图1中仅以一个通用寄存器16、一个只写寄存器17、一个只读寄存器18为例进行说明。其中通用寄存器16具有数据输出和写入功能,只写寄存器17仅具有数据写入功能,只读寄存器18仅具有数据输出功能。只写寄存器17中的“只写”意为通过指令只可写、不可读,时序控制器可通过向只写寄存器17写入数据来配置功能模块15的功能。只读寄存器18中的“只读”意为通过指令只可读、不可写,时序控制器可通过只读寄存器18访问功能模块15的数据处理结果。
本实施例提供的用于量子物理实验平台的通用时序控制器架构应用于量子物理实验平台中,用于对量子物理实验平台进行时序控制。量子物理实验平台由于对时序操作的尺度在纳秒至微秒量级,因此需要对各种操作指令的时序进行精确的控制,以保证在高时间精度、高速度的同时,能够对实验数据进行实时处理,并形成后续的控制方案。本实施例提供的用于量子物理实验平台的通用时序控制器架构用于在量子物理实验平台中对各种指令进行处理和时序控制。
本实施例提供的用于量子物理实验平台的通用时序控制器架构可以在现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)上实现。具体而言,一个流程时序由一组指令描述,时序控制器通过执行这些指令来控制实验的流程。指令分为流控制指令、算术指令和动作指令三类。其中流控制指令用于调控时序控制器读取、执行指令的流程,以实现分支、循环等复杂流程结构;算术指令用于执行算术、逻辑计算;动作指令用于除流程控制和算术逻辑运算之外其它具体功能的控制,例如计时以及同外部仪器设备间的交互。
各模块或单元的连接关系如图1所示,指令缓存11用于缓存发送量子物理实验平台的指令,并向指令解释器12发送缓存的指令。时序控制器需要根据发送至量子物理实验平台的各种指令执行相应的处理,并在处理过程中起到时序控制的目的。外界发送至量子物理实验平台的各种指令均先由指令缓存11进行缓存,然后再发送至指令解释器12,这样避免大规模并发的指令产生的拥塞,提高时序控制器对指令的处理效率。时序控制器可以与外界的计算机或其他能够发送控制指令的机器连接,通过指令缓存11接收并存储外界的计算机发送的各种指令。指令缓存11为一个随机存储器,可以根据接收到的指令的指令地址输出相应的指令内容。
指令解释器12作为时序控制器的核心处理模块,用于对指令缓存11发送的指令进行解析,确定指令的内容并控制时序控制器中的其他模块或单元执行指令。在发送至量子物理实验平台的各种指令中,包括用于区分指令类型的操作码,当指令缓存11向指令解释器12发送了缓存的指令后,指令解释器12对其进行解析,从指令中至少能够解析出指令中的操作码。指令解释器12根据解析出的操作码可以区分出指令的类型,包括流控制指令、算术指令和动作指令。然后指令解释器12就可以根据不同类型指令对应的指令处理流程进行相应的处理。指令解释器12对不同类型的指令进行处理的具体方式将在后续实施例中进行详细说明。
具体地,指令解释器12对指令缓存11发送的指令进行解析,可以解析出指令中包含的操作码、操作数地址、目标地址、指令数据和动作标记。其中操作码用于区分指令的类型,并且操作码还可以包括具体的处理操作代码,用于在指令为算术指令时指示运算器14进行相应的算术或逻辑运算。操作数地址用于指示指令操作所需操作数的地址,以使数据总线13能够根据操作数地址选择对应的操作数。目标地址用于指示指令操作对应的计算结果所需存储的寄存器的地址,以使指令解释器12能够向目标地址所在寄存器发送写入使能信号。指令数据为一条指令本身所携带的数据,与寄存器数据一同通过总线汇总,且可被选择为操作数。动作标记用于指示不同的功能模块15执行对应的处理。
通用寄存器16、只写寄存器17和只读寄存器18等多个寄存器用于存储数据。针对流控制指令、算术指令和动作指令几种不同类型的指令,各种不同寄存器均根据需求在流程处理过程中提供处理所需数据。各种不同寄存器在处理不同类型的指令时的作用将在后续实施例中进行详细说明。
数据总线13用于汇总、选择来自多个寄存器以及指令本身的指令数据,数据总线13汇总的数据来自通用寄存器16、只读寄存器18以及指令解释器12解析当前指令所得到指令数据,将其汇总到一个总线中,然后再对总线中的数据通过输入操作数的地址进行选择,并分别输出。
运算器14用于根据指令解释器12发送的算术指令对数据总线13输出的数据进行算术或逻辑运算。在指令解释器12对指令进行解析后,若解析出指令中的操作码后确定该指令为算术指令,那么意味着该指令需要进行算术或逻辑运算。因此需要通过运算器14进行算术或逻辑运算,其中运算器14进行运算的数据是从数据总线13中获取的,在图1中以运算器14对两个操作数进行运算为例进行说明。运算器14从数据总线13中获取操作数后,再通过指令解释器12发送的操作码指示的具体算术或逻辑运算,对操作数进行算术或逻辑运算,得到运算结果后将结果存入通用寄存器16或只写寄存器17。存储于只写寄存器17中的数据可以被功能模块15在处理过程中所使用。
功能模块15用于通过指令解释器12发送的动作指令执行除算术或逻辑运算、流程控制以外的其他功能,也就是除了流程控制、算术或逻辑运算以外的其他各种处理均由功能模块15执行。功能模块15所执行的处理包括但不限于计时、外部触发、计数和电平输出等。功能模块15由指令解释器12在解析出指令为动作指令时,接收指令解释器12发送的动作标记而执行相应的处理,并且功能模块15在处理过程中可以根据需要从只写寄存器17中读取所需数据,以及对时序控制器外部输入的数据进行处理,最终功能模块15可以向时序控制器外部输出数据、向指令解释器12发送流控制标记或者向只读寄存器18写入数据供时序控制器进行后续处理。
多个功能模块15可以包括计时模块、多通道TTL电平输出模块、输入/输出模块、门控计数模块、触发模块、缓存模块中的一种或多种的组合。
图2为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中指令解释器的结构示意图。图2中主要示出指令解释器的各种数据流向。
结合图1和图2,指令解释器12从指令缓存11接收到指令后,首先对其进行解析,得到操作码、操作数地址、目标地址、指令数据、动作标记,其中操作数地址可以为多个,在图2中以两个操作数地址,操作数1地址和操作数2地址为例。在对指令中的操作码进行解析后,可以将指令分为流控制指令、算术指令和动作指令三种不同的类型。
其中对于流控制指令,指令解释器12中的流程控制器21根据流控制指令中的操作码和从数据总线13读取的数据(图2中以两个数据操作数1和操作数2为例,操作数1和操作数2是从指令中解析出的指令数据和操作数地址发送至数据总线13后获取的)以及功能模块15发送的流控制标记,计算指令指针。指令指针为下一条指令的地址,并将指令指针发送至指令缓存11。
对于算术指令,指令解释器12向数据总线13发送操作数地址,以使数据总线13将算术指令所需操作数发送至运算器14。而数据总线13中的数据是从各寄存器(通用寄存器16和只读寄存器18)以及当前解析的指令中获取的。指令解释器还向运算器14发送算术操作码,以使运算器14根据从数据总线13获取的操作数(图中以两个操作数,即操作数1和操作数2为例)进行算术或逻辑运算。指令解释器12还根据算术指令的目标地址令对应的寄存器(通用寄存器16和只写寄存器17)写入使能生效,以使对应的寄存器存储运算器14的运算结果。
对于动作指令,指令解释器12根据动作标记控制与动作标记对应的功能模块15执行所需处理。
需要说明,任何时候,指令的执行都受到流控制标记的调控,根据流控制标记暂停或终止指令的读取和执行。
图3为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中数据总线的结构示意图。图3中主要示出数据总线的各种数据流向。
结合图1和图3,数据总线13包括总线31和多个数据选择器32(图中以数据选择器1和数据选择器2共2个数据选择器为例进行说明),总线31用于汇总来自各寄存器以及当前所解析的指令的数据,多个数据选择器32用于根据指令解释器12输入的操作数地址输出对应的数据。
图4为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中运算器的结构示意图。图4中主要示出运算器的各种数据流向。
运算器14包括多个算术运算或逻辑运算单元41、结果选择器42,多个算术或逻辑运算单元41根据数据总线13输入的多个操作数进行算术或逻辑运算,结果选择器42根据指令解释器12输入的操作码对算术或逻辑运算结果进行选择输出。
算术运算或逻辑运算单元41用于对数据总线13输入的操作数(例如图中所示操作数1和操作数2)执行加、减、乘、除等算术运算或执行于、或、非等逻辑运算。由指令解释器12发送的操作码对结果选择器42中的结果进行选择,选择所需算术或逻辑运算结果输出。
图5为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中功能模块的结构示意图。图5中主要示出功能模块的各种数据流向。
每个功能模块15与各寄存器交互以执行所需处理。图5中示出功能模块15与一个只读寄存器18和一个只写寄存器17的交互为例进行说明。
功能模块15用于根据指令解释器12发送的动作标记和时序控制器的外部输入数据进行功能逻辑处理,并向时序控制器外部输出处理后的数据、向指令解释器12输出流控制标记或者向只读寄存器18写入处理后的数据;
只读寄存器18和只写寄存器17的数量不以图中为限。只读寄存器18用于存储功能模块15处理后的数据,只写寄存器17用于存储功能模块15的具体参数配置。
功能模块15用于实现除流程控制和算术逻辑运算之外的其它功能,包括但不限于计时、外部触发、计数和电平输出等。经过功能模块15处理的数据,存储在只读寄存器18中,可被时序控制器访问,而执行功能的具体参数配置可从只写寄存器17中获取。时序控制器可通过控制每个功能模块15对应的动作标记来调控其功能的执行,反之功能模块15可通过输出流控制标记来影响指令的执行流程。
由于在时序控制器中将不同的功能封装为不同的功能模块,因此不同的功能模块可以使用不同的时钟驱动,这样就可以针对不同的功能的逻辑电路对本身速度的需求,使用不同的时钟驱动,以满足量子物理实验平台对时序控制的需求。
图6为本发明实施例提供的用于量子物理实验平台的通用时序控制器架构中寄存器的结构示意图。图6中主要示出寄存器的各种数据流向。
图6所示的寄存器为通用寄存器的基本结构,不同种类的寄存器的区别仅在于输入端口和输出端口的区别。图6以通用寄存器的结构为例进行说明,从图中可以看出,每个通用寄存器16都具有一个独立、固定的地址,以及数据存储区域。对于通用寄存器16,其数据输出端口的输出状态为其当前所存储的数据,当写入使能有效时,数据输入端口的数据被存储进寄存器中。只写寄存器17没有数据输出端口(其数据通过其它方法提供给对应的功能模块15使用),只读寄存器18没有数据输入端口和写入使能(其数据由对应的功能模块15写入),其他结构与图6所示通用寄存器16的结构相同。
根据图1至图6所示实施例,可以得到一个具体的时序控制器架构,指令解释器12向指令缓存11输出下一条指令的指针,而后从指令缓存11读取相应的指令内容。所有通用寄存器16和只读寄存器18所存储的数据以及当前所解析的指令包含的指令数据汇总到数据总线13中,数据选择器1、数据选择器2根据指令解释器12解析当前指令所得的操作数1、操作数2的地址,选出对应的数据并输出。一方面,数据选择器1和数据选择器2输出的操作数进入运算器14,运算器14根据操作数和指令解释器12输出的操作码产生运算结果并输出,同时指令解释器12根据当前指令的目标地址控制对应的通用寄存器16或只写寄存器17的写入使能,将运算器14的输出结果写入该寄存器。另一方面,数据选择器1、数据选择器2输出的操作数进入指令解释器12,作为流控制指令的参数,实现流程的分支结构(例如比较两个操作数的大小,而后根据结果决定指令指针的输出)。此外,指令解释器12通过向功能模块15发送动作标记,调控相应功能的执行,同时接收流控制标记,控制流程的执行。
由于本申请实施例提供的用于量子物理实验平台的通用时序控制器架构中,将时序控制器的具体功能封装为功能模块,以寄存器和动作标记作为接口进行标准化的控制,具有很高的可扩展性。在已有设计的基础上添加新的功能只需增添新的模块即可,不需要对已有的功能、架构和指令等进行修改。
本申请实施例提供的用于量子物理实验平台的通用时序控制器架构通过寄存器、数据总线和运算器实现了常用的算术和逻辑操作,从而能够实现实验数据的即时片上处理,再辅以跳转、判断等流控制指令,即可在片上实现包含循环、条件判断、CASE分支等高级语言结构的流程控制。
在本申请实施例提供的用于量子物理实验平台的通用时序控制器架构中,时序控制器最核心的计时功能也被封装为一个功能模块,与流控制逻辑分开,如此,计时模块可以单独使用高速时钟,流控制以及其它功能的复杂逻辑不会影响计时的时间分辨率。
下面以一个具体实施例对本申请实施例提供的用于量子物理实验平台的通用时序控制器架构进行进一步说明。其中假设用于量子物理实验平台的通用时序控制器架构包括16个通用寄存器(记为R0~RF)和6个功能模块,每个功能模块详述如下:
计时模块:包含1个只写寄存器TIME,用于配置计时的时长,以时钟周期为单位。对应1个动作标记WAIT,激活后计时模块通过流控制标记暂停时序的执行,并开始计时,直到计时完毕后再恢复时序的执行。
多通道晶体管-晶体管逻辑(Transistor Transistor Logic,TTL)电平输出模块:包含1个只写寄存器TTLO,用于配置各通道的输出电平。输出通道直接输出寄存器的数据,没有动作标记。
串口输入/输出模块:包含1个只读寄存器SRLI,用于存储外部设备通过该串口发送给时序控制器的数据;包含1个只写寄存器SRLO,用于存储时序控制器需要从该串口发送的数据。对应1个动作标记SEND,激活后该模块即将SRLO中的数据通过串口输出。
门控计数模块:包含1个只读寄存器CNTR,用于存储计数的值。对应2个动作标记,其一为CTON,激活后计数器清零,而后开始计算脉冲输入端口输入的脉冲或上升沿的个数;其二为CTOF,激活后停止计数,同时将计数结果存入CNTR中。
触发模块:对应1个动作标记TRIG,激活后该模块暂停时序的执行,等待触发端口的上升沿信号,收到上升沿后恢复时序的执行。
缓存模块:实现随机存储器功能。包含3个只写寄存器RADD、WADD、WDAT以及1个只读寄存器RDAT。将地址写入RADD后,即可从RDAT读取该地址对应的数据。寄存器WADD用于配置要写入的地址,WDAT用于配置要写入的数据。缓存模块对应1个动作标记WRIT,激活后即将WDAT中的数据写入地址WADD处。
以上各功能模块视实际情况需要均可部署多个,只需对配置用的寄存器和动作标记加以区分即可。时序控制器的指令集如下:
算术指令:
SET:将操作数1的值写入目标寄存器
ADD:将操作数1、2之和写入目标寄存器
SUB:将操作数1、2之差写入目标寄存器
AND:将操作数1、2按位逻辑与的结果写入目标寄存器
OR:将操作数1、2按位逻辑或的结果写入目标寄存器
XOR:将操作数1、2按位逻辑异或的结果写入目标寄存器
NOT:将操作数1按位逻辑非的结果写入目标寄存器
MUL:将操作数1、2之积写入目标寄存器
DIV:将操作数2整除操作数1的商写入目标寄存器
MOD:将操作数2整除操作数1的余数写入目标寄存器
流控制指令:
NOP:空指令,不执行任何操作
HAL:停止时序的执行,时序控制器进入待机状态
JMP:将该指令的数据作为下一条指令指针的值(即跳转到指令数据所指的位置)
CAL:跳转到指令数据所指的位置,并存储当前指令指针的值
RET:读取之前的CAL指令存储的指令指针的值,并跳转到该位置
JIF:比较操作数1、2的值,若操作数1较小,则执行该指令之后第1条指令,否则执行之后第2条
CAS:根据操作数1的值决定跳转位置,若为0则跳转到该指令之后第1条指令,若为1则跳转到之后第2条,以此类推
动作指令:
FLG:激活指令中指定的动作标记
整个时序控制器可以利用一个FPGA芯片配合少量外部通信芯片实现。时序控制器与计算机或其他外部控制设备通过任一种通信端口通信(例如通用串行总线(UniversalSerial Bus,USB)端口)。指令缓存和缓存功能模块可利用FPGA的片上随机存取存储器(Random Access Memory,RAM实现);各输入输出模块可利用FPGA的通用输入/输出(Input/Output,I/O)端口实现。
本申请实施例提供的用于量子物理实验平台的通用时序控制器架构,将指令的读取、解释和执行同计时、算术逻辑运算及输入输出等其它功能分开,分别在不同模块中实现。使用寄存器、数据总线、数据选择器和运算器实现通用的算术逻辑运算。时序控制器的计时和输入输出等具体功能封装为功能模块,使用寄存器和动作标记作为功能模块的标准化接口。
本申请实施例提供的用于量子物理实验平台的通用时序控制器架构,使用寄存器数据和指令数据作为算术逻辑运算的操作数,且使用寄存器接收运算的结果。使用数据总线和数据选择器或等效的逻辑电路选出指令指定的数据作为操作数,发送给运算器执行运算。运算器集合了时序控制器处理数据所需的所有算术逻辑运算功能,包括但不限于加、减、乘、除等,并选出指令指定的运算结果并输出。
本申请实施例提供的用于量子物理实验平台的通用时序控制器架构,不同的功能模块在逻辑上相互独立,在电路实现上可以使用不同的时钟驱动。功能模块执行功能所需的数据,通过向与该模块关联的寄存器写入数据来提供。功能模块执行功能所得的数据存储在与该模块关联的寄存器中,通过读取寄存器来访问这些数据。对模块功能的启动、暂停和停止等控制,通过激活与该模块关联的动作信号来实现。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种用于量子物理实验平台的通用时序控制器架构,其特征在于,包括:多个寄存器、数据总线、运算器、多个功能模块、指令缓存和指令解释器;
所述指令缓存用于缓存发送至所述时序控制器的指令,并向所述指令解释器发送缓存的指令;
所述指令解释器用于解析所述指令缓存发送的指令,并根据从所述指令中解析出的操作码确定所述指令的类型,根据所述指令的类型执行对应的指令处理流程,所述指令的类型包括流控制指令、算术指令和动作指令;
所述多个寄存器用于存储数据,包括通用寄存器、只读寄存器和只写寄存器;
所述数据总线用于汇总、选择来自所述多个寄存器以及来自所述指令本身的数据;
所述运算器用于根据所述指令解释器发送的算术指令对所述数据总线输出的数据进行算术或逻辑运算;
所述多个功能模块用于通过所述指令解释器发送的动作指令执行除算术或逻辑运算、流程控制以外的其他功能;
所述指令解释器具体用于解析所述指令缓存发送的指令,得到所述指令中包含的操作码、操作数地址、目标地址、指令数据和动作标记;
当所述指令为流控制指令时,所述指令解释器中的流程控制器根据所述流控制指令和从所述数据总线读取的数据以及所述功能模块发送的流控制标记,计算指令指针,所述指令指针为下一条指令的地址,并将所述指令指针发送至所述指令缓存;当所述指令为算术指令时,所述指令解释器向所述数据总线发送操作数地址,以使所述数据总线将算术指令所需操作数发送至运算器;并向所述运算器发送算术操作码;以及根据所述算术指令的目标地址令对应的寄存器写入使能生效,以使对应的寄存器存储所述运算器的运算结果;当所述指令为动作指令时,所述指令解释器根据动作标记控制与动作标记对应的功能模块执行所需处理;
每个功能模块用于根据所述指令解释器发送的动作标记和所述时序控制器的外部输入数据进行功能逻辑处理,并向时序控制器外部输出处理后的数据、向所述指令解释器输出流控制标记或者向只读寄存器写入处理后的数据;
所述只写寄存器用于存储功能模块的具体参数配置,所述只读寄存器用于存储功能模块处理后的数据;
所述多个功能模块包括计时模块、多通道TTL电平输出模块、输入/输出模块、门控计数模块、触发模块、缓存模块中的一种或多种的组合。
2.根据权利要求1所述的通用时序控制器架构,其特征在于,所述数据总线包括总线和多个数据选择器,所述总线用于汇总各寄存器以及指令本身的数据,所述多个数据选择器用于根据所述指令解释器输入的目标地址输出对应的数据。
3.根据权利要求1所述的通用时序控制器架构,其特征在于,所述运算器包括多个算术运算或逻辑运算单元、结果选择器,所述多个算术或逻辑运算单元根据所述数据总线输入的多个操作数进行算术或逻辑运算,所述结果选择器根据所述指令解释器输入的操作码对算术或逻辑运算结果进行选择输出。
4.根据权利要求1所述的通用时序控制器架构,其特征在于,不同的功能模块逻辑相互独立,使用相同或不同的时钟驱动。
CN202110668104.XA 2021-06-16 2021-06-16 用于量子物理实验平台的通用时序控制器架构 Active CN113377441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110668104.XA CN113377441B (zh) 2021-06-16 2021-06-16 用于量子物理实验平台的通用时序控制器架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110668104.XA CN113377441B (zh) 2021-06-16 2021-06-16 用于量子物理实验平台的通用时序控制器架构

Publications (2)

Publication Number Publication Date
CN113377441A CN113377441A (zh) 2021-09-10
CN113377441B true CN113377441B (zh) 2023-07-11

Family

ID=77572836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110668104.XA Active CN113377441B (zh) 2021-06-16 2021-06-16 用于量子物理实验平台的通用时序控制器架构

Country Status (1)

Country Link
CN (1) CN113377441B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579078A (zh) * 2022-02-25 2022-06-03 阿里巴巴(中国)有限公司 一种加速器、加速方法和电子设备
CN116055501B (zh) * 2023-01-17 2023-07-25 深圳国际量子研究院 一种用于节点间实时通信的链路系统
CN116227614B (zh) * 2023-01-17 2024-01-26 深圳国际量子研究院 一种使用指令集的实时微系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
US6026484A (en) * 1993-11-30 2000-02-15 Texas Instruments Incorporated Data processing apparatus, system and method for if, then, else operation using write priority
CN1766834A (zh) * 2005-01-20 2006-05-03 西安电子科技大学 双算术逻辑单元精简指令集8位微控制器
CN102929591A (zh) * 2012-11-08 2013-02-13 广西工学院 并行操作逻辑运算及其控制器
CN103645887A (zh) * 2013-12-13 2014-03-19 广西科技大学 双指令多浮点操作数加/减、乘、除运算控制器
CN103645886A (zh) * 2013-12-13 2014-03-19 广西科技大学 多浮点操作数加/减、乘、除运算控制器
WO2016011440A1 (en) * 2014-07-18 2016-01-21 President And Fellows Of Harvard College Quantum processor schedule control
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10068183B1 (en) * 2017-02-23 2018-09-04 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
US6026484A (en) * 1993-11-30 2000-02-15 Texas Instruments Incorporated Data processing apparatus, system and method for if, then, else operation using write priority
CN1766834A (zh) * 2005-01-20 2006-05-03 西安电子科技大学 双算术逻辑单元精简指令集8位微控制器
CN102929591A (zh) * 2012-11-08 2013-02-13 广西工学院 并行操作逻辑运算及其控制器
CN103645887A (zh) * 2013-12-13 2014-03-19 广西科技大学 双指令多浮点操作数加/减、乘、除运算控制器
CN103645886A (zh) * 2013-12-13 2014-03-19 广西科技大学 多浮点操作数加/减、乘、除运算控制器
WO2016011440A1 (en) * 2014-07-18 2016-01-21 President And Fellows Of Harvard College Quantum processor schedule control
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NOON States of Nine Quantized Vibrations in Two Radial Modes of a Trapped Ion;Junhua Zhang et al.;《PHYSICAL REVIEW LETTERS》;第121卷(第16期);第1-6页 *
Single ion qubit with estimated coherence time exceeding one hour;Pengfei Wang et al.;《NATURE COMMUNICATIONS》;第12卷(第1期);第1-8页 *
基于FPGA的PLC并行逻辑运算器的设计;余玲 等;大众科技(第09期);全文 *

Also Published As

Publication number Publication date
CN113377441A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN113377441B (zh) 用于量子物理实验平台的通用时序控制器架构
US10120740B2 (en) Apparatus and methods for debugging on a memory device
US10388393B2 (en) Apparatus and methods for debugging on a host and memory device
KR100638703B1 (ko) 데이터 프로세싱 시스템용 셀룰러 엔진
US7237091B2 (en) Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
CN103547998B (zh) 用于编译正则表达式的方法和设备
US7822958B1 (en) Booting mechanism for FPGA-based embedded system
JPS62180427A (ja) プログラム制御回路
CN108027769A (zh) 使用寄存器访问指令发起指令块执行
EP0021404A1 (en) Computing system for the simulation of logic operations
US20210406437A1 (en) Programmable chip, design method and device
US9041431B1 (en) Partial reconfiguration and in-system debugging
EP2743848A1 (en) Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
Marwedel Tree-based mapping of algorithms to predefined structures
US6745301B2 (en) Microcontroller programmable method for accessing external memory in a page mode operation
JPH08320808A (ja) エミュレーション方式
CN102221991A (zh) 一种4位risc微控制器
US8600722B1 (en) Method and apparatus for providing program-based hardware co-simulation of a circuit design
CN103460181A (zh) 集成电路器件和执行其位操纵的方法
CN102467444A (zh) 特殊功能寄存器的仿真调试系统
US11074988B2 (en) Apparatus and methods for debugging on a host and memory device
KR20230034386A (ko) 레지스터 데이터 소거
CN109857485B (zh) 一种可编程gpio装置及基于该装置的时序实现方法
CN103345377A (zh) Fifo存储器控制方法及装置
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템

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