CN113227935A - 异步asic - Google Patents

异步asic Download PDF

Info

Publication number
CN113227935A
CN113227935A CN201980085678.5A CN201980085678A CN113227935A CN 113227935 A CN113227935 A CN 113227935A CN 201980085678 A CN201980085678 A CN 201980085678A CN 113227935 A CN113227935 A CN 113227935A
Authority
CN
China
Prior art keywords
clock
circuit
data
candidates
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980085678.5A
Other languages
English (en)
Inventor
N·毛尔高利特
E·塞拉
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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN113227935A publication Critical patent/CN113227935A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0816Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals

Abstract

公开了一种电子设备。该电子设备包括被配置为以频率工作的第一时钟。该电子设备中的第一电路被配置为与第一时钟同步。第二电路被配置为基于第一时钟来确定第二时钟。第二时钟被配置为以第一时钟的频率工作,并且还被配置为以相对于第一时钟的相移来工作。第三电路被配置为与第二时钟同步。

Description

异步ASIC
相关申请的交叉引用
本申请要求于2018年10月24日提交的美国临时申请No.62/750,180的优先权,在此通过引用整体将其内容并入本文。
技术领域
本公开涉及电子电路,具体地,涉及用于向电子设备的组件提供时钟信号的系统和方法。
背景技术
几乎所有的数字逻辑设备都利用时钟信号来触发或控制这些设备中的电子组件的定时行为。例如,被提供给寄存器的时钟输入的时钟信号将致使寄存器将数据输入传播到数据输出。在低电平处,时钟信号(例如,在逻辑1与逻辑0之间交替的周期性数字逻辑信号)可致使一个或多个半导电设备(例如,寄存器中的晶体管)从导电状态切换到非导电状态,反之亦然。
在包括专用集成电路(ASIC)的设备中,ASIC可以被认为包括分立的功能单元或“块”,其中每个块中的寄存器与该块的本地时钟同步。块可以包括被配置为执行与块相关联的一个或多个功能的电路(包括可编程逻辑电路)。在所谓的同步电路设计中,两个或更多个块可以与单个“时钟域”中的相同的全局时钟同步。通过使块在时钟域内同步,同步电路能够避免使用多个独立的本地时钟而导致的共同问题—即,时钟漂移,其可能需要低效的重新缓冲(rebuffer)工作来校正。然而,通过同时向多个块提供相同的时钟信号,同步电路可经历不想要的高阶效应,例如由一次切换的大量晶体管引起的谐振电路噪声(“晶体管谐振”)。对于现代数字设备,这样的晶体管的数目可以是交错的(stagger)—对于一些设备大约是数十亿—并且所得到的谐振电路噪声可能变得相当显著。此外,这些不想要的效应可以随着时钟频率的增加而被放大。期望的是,利用维持同步时钟的优点同时避免它们可能引入的不想要的噪声的时钟方案。如本文所述,这可通过将时钟域划分成“相移时钟域”来实现,该“相移时钟域”异步地交换数据但是与从共同的参考时钟导出的“相移时钟”同步。
发明内容
公开了用于在数字设备中提供时钟信号的系统和方法。在一些示例中,公开了一种电子设备,其包括被配置为以频率工作的第一时钟。电子设备中的第一电路被配置为与第一时钟同步。第二电路被配置为基于第一时钟来确定第二时钟。第二时钟被配置为以第一时钟的频率工作,并且还被配置为以相对于第一时钟的相移来工作。第三电路被配置为与第二时钟同步。
附图说明
图1示出了根据一些实施例的具有被分组到时钟域中的块的示例电子设备。
图2示出了根据一些实施例的具有被分组到时钟域和相移时钟域中的块的示例电子设备。
图3示出了根据一些实施例的被配置为交换数据的电子设备的两个相移时钟域的示例。
图4示出了根据一些实施例的被配置用于在电子设备的两个相移时钟域之间传送(transfer)数据的示例先进先出(FIFO)缓冲器。
图5示出了根据一些实施例的从参考时钟生成相移时钟的示例。
图6示出了根据一些实施例的用于配置在电子设备的两个相移时钟域之间的数据传送的示例过程的块图。
具体实施方式
在以下示例的描述中,参考了形成其的一部分的附图,并且在附图中通过示例的方式示出了可以实践的特定示例。应当理解,在不脱离所公开的示例的范围的情况下,可以使用其他示例并且可以进行结构改变。
图1示出了根据一些实施例的ASIC 100的高级(high-level)图。ASIC100包括七个功能块110、112、114、116、118、120和122;三个参考时钟130、132和134;以及三个时钟域140、142和144(其分别与参考时钟130、132和134同步)。如图1所示,三个时钟域(140、142、144)在ASIC 100(110、112、114、116、118、120、122)中的七个块之间共享,以使得多个块(例如,块110、112、114)与相同的时钟域(例如,时钟域140)同步。与相同的时钟域同步的块享有诸如消除时钟漂移(排除将块同步到独立时钟的需要)的益处。在此类系统中,可以在相同的时钟域内的两个块之间(例如,在示例中的块110与块112之间)同步地传输(transmit)数据。
然而,将多个块(例如,块110、112、114)同步到相同的时钟域(例如,时钟域140)可引入其自身的问题。例如,部分地由于连接传输块和接收块的布线(wire)的长度,传播延迟是由从传输块(例如,块110)发送到接收块(例如,块112)的数据信号引起的,并且这些信号可能不会全部地同时到达接收块中它们相应的目的地(部分地由于携带这些信号的不同长度的布线)。对这样的定时误差进行校正引入了开销和复杂性;例如,数据信号可能需要沿着传输路径被缓冲,因为它们从传输块传播到接收块,并且缓冲过程通常增加了包括传输块和接收块的数字逻辑设备的功耗。更糟糕的是,对缓冲的需求随着数字逻辑设备的尺寸和复杂性而增加,这对于芯片间通信而言越来越需要更多数量的块和更薄的布线。
此外,在单个时钟域内同步数字逻辑设备的多个块意味着这些块内的半导体设备的导电状态转换活动将被同步。例如,相同的时钟域内的块(例如,时钟域140内的块110、112、114)中的所有晶体管可以同时改变状态。所生成的谐振可引入与ASIC 100的大小、复杂性和晶体管密度成比例的不想要的数字噪声。虽然可通过将噪声隔离添加到ASIC块来减少此类噪声,但是添加噪声隔离通常引入不想要的功耗且可能提供不期望的布局和设计约束。将期望的是,在单个时钟域内,使此类晶体管在开启与关闭状态之间转换的时间交错。
因此,为了降低ASIC的功耗和复杂性,减少了对在与相同的时钟域同步的两个ASIC块之间重新缓冲数据信号的需要。此外,可以减少由单个时钟域内的半导体的同步切换引起的噪声。此外,可以实现这些目标,同时保留使多个ASIC块与单个时钟域内的单个参考时钟同步的益处(例如,简单性、可靠性)。
在一些实施例中,这可以通过在与单个参考时钟同步的单个时钟域内从参考时钟生成一个或多个相移时钟;以及通过将每个相移时钟耦合到该相移时钟域内的寄存器的子集来实现。从参考时钟生成的相移时钟可共享与参考时钟相同的频率,但是以相对于参考时钟的相移来工作。因为相移时钟从相同的参考时钟生成并且以与参考时钟相同的频率来工作,所以在相同的相移时钟域内的两个相移时钟之间或在相移时钟与其参考时钟之间不发生时钟漂移。时钟域内的寄存器可以被划分成子组(“相移时钟域”),其中每个子组被计时(clocked)到相移时钟;每个相移时钟的相移确定其对应的寄存器中的晶体管何时相对于参考时钟而改变状态。这些状态改变时间可以由电路设计者交错以实现期望的“负载平衡”。负载平衡可以反映设计者对控制设计的切换峰值的努力。例如,其中许多或所有寄存器在相同的时刻切换的ASIC可能经历来自电源的高峰值电流、以及高水平的噪声。但是,通过使ASIC块与相移时钟同步来使得大量组的寄存器不在相同时刻切换,可以实现来自电源的较低峰值的电流和较低的噪声。
图2示出了根据一些实施例的将示例ASIC 100的时钟域划分成相移时钟域的示例。如图2所示,时钟域140(其与参考块130同步)被细分为三个相移时钟域:140A、140B和140C。相移时钟域140A可以与相移时钟130A同步;相移时钟域140B可以与相移时钟130B同步;以及相移时钟域140C可以与相移时钟130C同步,其中相移时钟130A、130B和130C从参考时钟130导出并以与参考时钟130相同的频率来工作。类似地,在该示例中,时钟域142被细分为相移时钟域142A、142B和142C,并且分别与相移时钟132A、132B和132C同步,其中相移时钟从参考时钟132导出。不是所有时钟域都需要被划分成相移时钟域;例如,在所示的示例中,时钟域144未被划分成相移时钟域并且保持与参考时钟134同步。
ASIC块可以与一个或多个相移时钟域同步。例如,在图2所示的示例中,块110与相移时钟域140A同步;块112与相移时钟域140B同步;以及块114与相移时钟域140C同步。在一些情况下,两个或更多个ASIC块可以与单个相移时钟域同步。此外,单个ASIC块中的两个或更多个部分(例如,组件或寄存器的分组)可以与不同的相移时钟域同步。例如,如图所示,块120的第一部分与相移时钟域142B同步,以及块120的第二部分与相移时钟域142C同步。电路设计者可以基于特定应用的设计考虑来将ASIC块或ASIC块的区域划分成相移时钟域。
相移时钟可以使用本领域已知的用于从参考时钟生成时钟的各种技术来生成。例如,延迟锁定环(DLL)可用于生成具有与参考时钟(例如,参考时钟130)相同的频率的相移时钟(例如,相移时钟130A),以作为参考时钟的相移版本。
图3示出了根据一些实施例的被配置为异步地交换数据的ASIC(诸如示例ASIC100)的两个相移时钟域的示例。如图3所示,块110(其与相移时钟域140A同步)与块112(其与相移时钟域140B同步)异步地交换数据。块110包括用于经由总线150A将数据和/或控制信号传输到块112的异步传送模块310A,以及块112包括用于接收来自块110(经由传送模块310A)的数据的异步接收模块312A。模块310A和312A可以以主(master)/从(slave)配置来布置,其中模块310A被配置作为主并且模块312A被配置作为从。类似地,在其中块112被配置为发送(send)数据并且块110被配置为接收数据的示例中,块112可以包括用于经由总线150B(在一些示例中,其可以与总线150A相同)将数据和/或控制信号传输到块110的异步传送模块312B,以及块110可以包括用于接收来自块112(经由传送模块312B)的数据的异步接收模块310B。模块312B和310B可以以主/从配置来布置,其中模块312B被配置作为主并且模块310B被配置作为从。每个块中的传送/接收模块被计时到其相应的相移时钟域的相移时钟:例如,块110中的传送模块310A和接收模块310B被计时到相移时钟130A,以及块112中的传送模块312B和接收模块312A被计时到相移时钟130B。(在一些示例中,诸如本文所述的传送模块和接收模块不需要作为分立的单元,并且可以重叠或共享公共组件)。
数据总线150A和/或150B可以以任何合适的配置来携带数据和/或控制信号。当数据在时钟域或相移时钟域之间异步地交叉时,可能引入各种问题。例如,总线150A/150B上的数据变得不相干,诸如如果来自数据总线的一个“通道(lane)”的数据早于或晚于预期到达接收端(例如,由于每个通道中的数据必须行进的电轨迹(trace)的长度的差异)。另外,如果由于数据不稳定性而在接收相移时钟域内未捕获到从传输相移时钟域传输的数据,则该从传输相移时钟域传输的数据可能丢失。此类相移时钟域交叉问题可能导致接收相移时钟域中的功能误差。用于寻址时钟域交叉的各种合适的技术可能适用于相移时钟域交叉;用于处理相移时钟域交叉问题的一个示例系统是诸如以下所述的先进先出(FIFO)缓冲器。时钟域交叉逻辑可以例如完全或部分地在块112中的异步接收模块312A内;在块110中的异步传送模块310A内;在块110中的异步接收模块310B内;在块112中的异步传送模块312B内;在块110与块112之间的电路设置(circuitry sitting)内;或者在任何其他合适的位置或位置的组合中来实现。
图4示出了根据一些实施例的被配置为在ASIC的相移时钟域(例如示例ASIC 100中的相移时钟域140A和140B)之间移交(hand off)数据的示例FIFO缓冲器400的一部分。在一些示例中,FIFO缓冲器400可以完全或部分地在块112中的异步接收模块312A内;在块110中的异步传送模块310A内;在块110中的异步接收模块310B内;在块112中的异步传送模块312B内;在块110与块112之间的电路设置内;或者在任何其他合适的位置或位置的组合中来实现。如图4所示,输入402(在图中示为402(K))是被传输到FIFO缓冲器400的数据;例如,输入402可以对应于如图3所示的经由总线150A中的一个或多个布线从块110传输到块112的数据。在所示出的示例中,输入402具有四个位(bit)的宽度K,其中四个位被示为402A、402B、402C和402D(其可以对应于总线150A中的布线的数目K)。然而,K的值可以对应于任何合适的数据宽度。位402A至402D中的每一者被提供作为到相应的寄存器404A至404D的输入。寄存器404A至404D各自由相应的通道时钟406A至406D计时。每个通道时钟406A至406D是相移时钟,该相移时钟是如下文所述的针对相应的寄存器404A至404D而选择的。通道时钟406A至406D分别通过寄存器404A至404D将数据位402A至402D分别推进(advance)到多路复用器408。一般地,寄存器404的数目、通道时钟406的数目和到多路复用器408的输入的数目将全部等于输入402的数据宽度K(在此示例中,四个,尽管可使用任何合适的数据宽度)。
选择通道时钟406A至406D,以使得输入位402A至402D以与输入402内的其的位位置对应的对准序列到达多路复用器408的输入处。通道时钟406A至406D可从参考时钟(例如,参考时钟130)生成并且如下面关于图5和6所描述的那样被选择。在位402A至402D以对准的序列到达多路复用器408的情况下,多路复用器408可以将对准的数据写入存储器410(其可以包括RAM或任何其他合适类型的存储)。对准的数据可以从存储器410读取以作为数据440。存储器410的细节可以被选择为适合于供使用的(at hand)应用;例如,示例存储器410可以包括足以存储用于每个数据位402A至402D的十个阶段(stage)的存储。
用于将输入402写入到存储器410的写入地址可以由写入指针420控制,该写入指针420可以在写入使能424是有效的(active)的同时由写入时钟422顺序地推进。类似地,用于从存储器410读取数据440的读取地址可以由读取指针430控制,该读取指针430可以在读取使能434是有效的同时由读取时钟432顺序地推进。在该示例中,写入时钟422属于相移时钟域140A,而读取时钟432属于相移时钟域140B。相移时钟域140A(且因此写入时钟422)可以与相移时钟130A同步;而相移时钟域140B(且因此读取时钟432)可以与相移时钟130B同步。如上所述,相移时钟130A和相移时钟130B中的一者或多者可以与参考时钟130同步;而相移时钟130A和相移时钟130B中的另一者或多者可以是参考时钟130的相移版本(尽管以与参考时钟130相同的频率来工作)。因此,FIFO缓冲器400提供了将数据从第一相移时钟域(例如,140A)中的第一块(例如,110)传输到第二相移时钟域(例如,140B)中的第二块(例如,112)的示例。此外,数据可以以类似的方式在反向方向(即,经由总线150B从块112到块110)被传输。
通道时钟406A至406D、写入时钟422和读取时钟432对应于从参考时钟(例如,参考时钟130)生成的相移时钟,如上文所描述的。写入时钟422可对应于上文所描述的相移时钟130A(相移时钟域140A与其同步);以及读取时钟342可对应于上文所描述的相移时钟130B(相移时钟域140B与其同步)。在一些示例中,通道时钟406A至406D、写入时钟422和读取时钟432可选自相移时钟“候选(candidate)”中的一个或多个,其中每个相移时钟候选(例如,经由DLL)从参考时钟生成;共享参考时钟的频率;并且与相对于参考时钟的相移中的其它相移时钟候选不同。
图5示出了根据一些实施例的从参考时钟生成相移时钟的示例。DLL可接受具有周期T的参考时钟502(其可对应于例如参考时钟130)来作为输入,并输出N个相移时钟候选(例如,八个时钟信号506A至506H)。相移时钟候选的数目N可以但不需要等于通道时钟(例如,406A至406D)的数目。在图5所示的示例中,相移时钟候选506A至506H中的每一者相对于参考时钟502在相位上移位了T/N的倍数。例如,如果参考时钟502具有24ns的周期(例如,图5中的t0与t1之间的时间差),且如图所示n为8,则相移时钟候选506A可具有0ns的相移(即,0*24/8ns);相移时钟候选506B可具有3ns的相移(即,1*24/8ns);相移时钟候选506C可具有6ns的相移(即,2*24/8ns);等等。用于使用DLL来从参考时钟生成相移时钟(例如,相移时钟候选506A至506H)的技术对于本领域技术人员将是熟悉的。T是参考时钟频率的倒数,以及数字N可以由电路设计者基于诸如期望的准确度、等待时间和复杂度要求的考虑以及参考时钟频率来选择。例如,较大数目N个相移时钟候选可潜在地以复杂性为代价而导致较低的等待时间(因为可潜在地选择更合适的相移时钟候选)。
一旦已经生成相移时钟候选506A至506H,就可以为输入数据的每个位(例如,输入数据402的K位402A至402D)来选择通道时钟(例如,406A至406D)。在一些示例中,时钟选择可以如下进行。在已知N个相移时钟候选506A至506H中的每一者相对于参考时钟在相位上移位了T/N的不同倍数的情况下,其中T为参考时钟的一个周期的长度(例如,在时间t0处开始且在时间t1结束的周期),已知506A至506H中的每一者将包括在参考时钟的单个周期内的不同时刻处的上升沿。也就是,对于N个相移时钟候选,具有索引i的相移时钟候选可以包括在时间t0+i*((t1–t0/N))处的上升沿。例如,如果t0是10、t1是14、以及N是8,则具有索引0的相移时钟候选(例如,对应于相移时钟候选506A)可以包括在时间10+0*((14–10)/8)=10处的上升沿。类似地,具有索引1的相移时钟候选(例如,对应于相移时钟候选506B)可以包括在时间10+1*((14–10)/8)=10.5处的上升沿;具有索引2的相移时钟候选可以包括在时间10+2*((14–10)/8)=11处的上升沿;等等。
在知道N个相移时钟候选中的每一者可以包括在参考时钟的单个周期内的均匀隔开的间隔处的上升沿的情况下,可以预测的是,半周期数据脉冲(例如,可以沿着总线150A提供的作为数据输入402的位的数据脉冲504)将被N/2个相移时钟候选捕获。也就是,如果半周期数据脉冲被提供给N个锁存器,其中每个锁存器由N个相移时钟候选中的相应一个来选通(gated),则N个锁存器中的一半—其相的应栅极在数据脉冲为高的同时从低转换到高—将在它们相应的输出处产生逻辑1。此外,如果相移时钟候选按顺序来排序(也就是,每个连续的相移时钟候选的特征在于比在其之前的相移时钟候选具有更长的相移),则半周期数据脉冲可以由连续组的相移时钟候选而捕获。例如,在图5中,数据脉冲504被示出为在时间t0从低转换到高,并且在时间t0与时间t1(从该时间点其保持为低)之间的中点处从高转换到低。在该示例中,数据脉冲504将由八个相移时钟候选中的四个捕获:例如,相移时钟候选506A至506D,其对应于在数据脉冲504为高时从低转换到高的四个相移时钟候选。
从捕获半周期数据脉冲504的相移时钟候选组中,优选的相移时钟候选可以被选择为通道时钟。可能期望的是,通道时钟在其已经到达和稳定之后—也就是,在瞬变已平息(settle)并且数据已经在接收块(例如,112)处进入足够稳定的状态以使得保证数据有效—来捕获数据。可能进一步期望的是,通道时钟捕获距数据的上升沿或下降沿的显著时间距离的数据,以便增加数据或时钟信号中的芯片上变化(OCV)、抖动、温度漂移和其他波动源的容差。根据这些示例标准,可以使用各种度量来从相移时钟候选组中识别优选的相移时钟候选,并且由此选择通道时钟。在一些实施例中,通道时钟可以被选择为相移时钟候选,该相移时钟候选的上升沿最接近参考时钟周期的中间(也就是,该相移时钟候选的相对于参考时钟的相移最接近180度);这可能是因为在正常的设备工作期间,数据将以对应于参考时钟的完整周期的增量到达,以使得上升沿最接近参考时钟周期的中间的相移时钟候选可以为最确保数据稳定性的相移时钟候选。在一些实施例中,通道时钟可以被选择为捕获半周期数据脉冲的一组相移时钟候选中的最后一个相移时钟候选(即,在参考时钟周期的中点之前的最后一个相移时钟候选)。在一些实施例中,通道时钟可以被选择为在捕获半周期数据脉冲的一组相移时钟候选之后的第一个相移时钟候选(即,在参考时钟周期的中点之后的第一个相移时钟候选)。在一些实施例中,通道时钟可以选择为捕获数据脉冲的一组相移时钟候选中的任一相移时钟候选。
相移时钟候选的数目N可能影响通道时钟的准确度。N的值越大,两个相邻的相移时钟候选之间的相移差越小;并且理想的通道时钟能够被选择到的可能性越大。然而,增加相移时钟候选的数目N通常增加进行通道时钟校准过程所需的时间和电路复杂性。取决于使用的特定设备的要求,设计者可以选择期望的N值。
可以针对示例数据402的K个数据位中的两个或更多个来重复(顺序地或同时地)上述通道时钟选择过程。例如,可以在与数据402的每个位(例如,数据位402A至402D)对应的路径上提供半周期数据脉冲504,并且对于每个位,可以从N个相移时钟候选中选择最佳通道时钟。因为数据行进时间在数据位之间可能稍微不同,所以一些相移时钟候选可以比其他相移时钟候选更好地适合于某些数据位。在每位的基础上选择单独的通道时钟并且根据其相应的通道时钟分别对每个数据位402A至402D计时,从而促进如上所述的进入存储器410的数据位的正确对准。
除了选择一个或多个通道时钟之外,读取时钟(例如,432)可以选自相移时钟候选506A至506H中的一者。与通道时钟一样,如上所述,所选择的读取时钟共享参考时钟的频率,但在相位上不同。示例中的读取时钟可对应于上文关于图2所描述的相移时钟130B;例如,接收来自相移时钟域140A的数据的相移时钟域140B中的所有组件可以与所选择的读取时钟同步。为了最小化上述噪声效应—其可能通过使电子设备中的大部分与相同的时钟同步而引起的谐振而被放大—电路设计者可能希望选择作为与设备的其他参考时钟和其他相移时钟在相位上最不同的相移时钟候选的读取时钟。这能够有助于在可能的程度上最小化在相同的时间切换晶体管状态的程度。例如,在其中设备中的许多块与参考时钟同步的设备中,读取时钟可以被选择为具有相对于参考时钟的半周期相移的相移时钟候选。
类似地,在一些示例中,写入时钟(例如,422)可以选自相移时钟候选506A至506H中的一者。示例中的写入时钟可对应于上文关于图2所描述的相移时钟130A;例如,将数据传输到相移时钟域140B的相移时钟域140A中的所有组件可以与所选择的写入时钟同步。在一些示例中,可根据类似于上文关于读取时钟所描述的过程来选择写入时钟。在一些示例中,写入时钟可以简单地是参考时钟(例如,130)的缓冲版本,或者在一些情况下,可以是参考时钟本身。
设计者可能希望在可能的程度上避免选择具有与参考时钟或设备中的显著部分与其同步的相移时钟相同的相移的相移时钟。通过将数字设备适当地分配到相移时钟域中并且针对在相位上充分不同的那些相移时钟域选择相移时钟,能够管理由同步切换的晶体管产生的谐振(和伴随的噪声)。
图6示出了配置用于在同第一相移时钟域(例如,140A)相关联的传输块与同第二相移时钟域(例如,140B)相关联的接收块之间传输数据的设备(例如,上文所描述的设备100)的示例过程600。在所示的示例过程中,图的左侧上的阶段可以对应于由“主”传输块(例如,通过上述的异步传送模块310A)执行的步骤,以及该图的右侧上的阶段可以对应于由“从”接收块(例如,通过上述的异步接收模块312A)执行的步骤。然而,其他合适的配置是可能的,并且示例过程的各个步骤可以由传输块、由接收块、由与传输块和接收块分离的电路、或者有上述的任何合适的组合来执行。
在阶段610处,主块可以在所有数据和控制总线上发送初始化信号以初始化相移时钟选择和数据传输过程。例如,该初始化信号可以是在所有数据和控制总线上的逻辑0。在阶段612处,主块可以发送测试脉冲(例如,双时钟周期脉冲),从而从块处使所有锁存器在复位(阶段614)。
在阶段616处,从块可以进入上面描述的通道时钟选择阶段;如上所述,DLL可以生成期望数目的相移时钟候选,其中相移时钟候选作为时钟输入被提供给如上所述的相应锁存器。在阶段618处,主块可以向锁存器发送半周期数据测试脉冲,随后是逻辑低(阶段620),诸如上面关于信号504所描述的。然后,主块等待来自从的就绪信号(阶段622)。同时,在阶段624处,从块的锁存器对如上所述的数据测试脉冲采样。在阶段626处,从块可以为每个数据位选择优选的通道时钟,诸如上面所描述的。一旦已选择了通道时钟,就选择读取时钟(例如,对应于相移时钟130B)(阶段628),如上所述。(在一些示例中,也可以如上所述地选择诸如可以与相移时钟130A对应的写入时钟。)
在已选择了通道时钟和读取时钟之后,从块可以向主块发送就绪信号(阶段630),从而指示已经选择了时钟并且应当开始数据传送。可以在此阶段初始化用于存储器410的读取指针(阶段632)和写入指针(阶段634),例如上文关于图4所示。可能期望的是,读取指针和写入指针被初始化为彼此偏移的值,以避免可能损害存储器的数据完整性的潜在竞争条件。在读取和写入指针的初始化之后,可以在主块上开始数据传输(阶段636),并且可以在从块上开始数据接收(阶段638),诸如上面所描述的。
本文所公开的一些实施例涉及一种电子设备,其包括:第一时钟,其被配置为以频率工作;第一电路,其被配置为与所述第一时钟同步;第二电路,其被配置为基于所述第一时钟来确定第二时钟,所述第二时钟被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相移来工作;以及第三电路,其被配置为与所述第二时钟同步。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,确定所述第二时钟包括:生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相应相移来工作;以及从所述多个时钟候选中选择所述第二时钟。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第二时钟被选择为所述多个时钟候选中具有最接近180度的相应相移的时钟候选。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第二时钟被选择以减小所述电子设备的晶体管谐振。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述电子设备是ASIC,所述第一电路对应于所述ASIC中的第一功能块,所述第二电路包括延迟锁定环,以及所述第三电路对应于所述ASIC中的第二功能块。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述电子设备还包括存储器,所述电子设备被配置为相对于所述存储器执行数据写入工作,所述数据写入工作与所述第一时钟同步,以及所述电子设备还被配置为相对于所述存储器执行数据读取工作,所述数据读取工作与所述第二时钟同步。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第一电路还被配置为将数据传输到所述第三电路。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述电子设备还包括数据总线,所述数据总线被电耦合到所述第一电路和所述第三电路,所述数据总线包括包含第一布线的一个或多个布线;所述第一电路还被配置为经由所述数据总线将所述数据传输到所述第三电路;所述电子设备还包括包含第一锁存器的一个或多个锁存器,所述第一锁存器被配置为经由所述第一布线接收所述数据,所述第一锁存器被配置为与基于所述第一时钟来确定的第三时钟同步;基于所述第一时钟来确定所述第三时钟包括:生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相应相移来工作,以及从所述多个时钟候选中选择所述第三时钟;以及所述第三时钟是基于在传输所述数据的所述第一电路与接收所述数据的所述第一锁存器之间的等待时间来从所述多个时钟候选中选择的。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述一个或多个锁存器中的每个锁存器对应于所述一个或多个布线中的相应布线,并且被配置为经由所述相应布线接收所述数据;所述一个或多个锁存器中的每个锁存器被配置为与从所述多个时钟候选中选择的相应时钟同步;以及基于在传输所述数据的所述第一电路与接收所述数据的相应锁存器之间的等待时间,从所述多个时钟候选中选择每个相应的时钟。
本文所公开的一些实施例涉及一种方法,其包括:在包括第一电路、第二电路和第三电路的电子设备处,使所述第一电路与以频率工作的第一时钟同步;基于所述第一时钟来确定第二时钟,所述第二时钟以所述第一时钟的频率工作并且还以相对于所述第一时钟的相移来工作;以及使所述第三电路与所述第二时钟同步。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,确定所述第二时钟包括:生成多个时钟候选,所述多个时钟候选中的每个时钟候选以所述第一时钟的频率工作并且还以相对于所述第一时钟的相应相移来工作;以及从所述多个时钟候选中选择所述第二时钟。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第二时钟被选择为所述多个时钟候选中具有最接近180度的相应相移的时钟候选。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第二时钟被选择以减小所述电子设备的晶体管谐振。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述第一电路对应于ASIC中的第一功能块,所述第二电路包括延迟锁定环,以及所述第三电路对应于所述ASIC中的第二功能块。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述方法,还包括:根据所述第一时钟的转换,相对于所述电子设备的存储器执行数据写入工作;以及根据所述第二时钟的转换,相对于所述存储器执行数据读取工作。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述方法还包括:将数据从所述第一电路传输到所述第三电路。
本文所公开的一些实施例涉及一种传输数据的方法,所述方法包括:使第一电路与以频率工作的第一时钟同步,所述第一时钟与第一时钟域相关联;基于所述第一时钟来确定第二时钟,所述第二时钟以所述第一时钟的频率工作并且还以相对于所述第一时钟的相移来工作,所述第二时钟与第二时钟域相关联;使第二电路与所述第二时钟同步,所述第二电路被配置为经由被电耦合到数据总线的一个或多个锁存器来接收来自所述第一电路的数据,所述数据总线包括包含第一布线的一个或多个布线,所述一个或多个锁存器包括被配置为经由所述第一布线接收所述数据的第一锁存器;生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作并且还被配置为以相对于所述第一时钟的相应相移来工作;使所述第一锁存器与从所述多个时钟候选中选择的第三时钟同步;以及经由所述数据总线和所述第一锁存器将所述数据从所述第一电路传输到所述第二电路。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,基于在传输所述数据的所述第一电路与接收所述数据的所述第一锁存器之间的等待时间,从所述多个时钟候选中选择所述第三时钟。作为对本文公开的实施例中的一个或多个的附加或替代,在一些实施例中,所述一个或多个锁存器中的每个锁存器对应于所述一个或多个布线中的相应布线,并且被配置为经由所述相应布线接收所述数据,以及所述方法还包括:对于所述一个或多个锁存器中的每个锁存器,基于在该锁存器与传输所述数据的所述第一电路之间的等待时间来从所述多个时钟候选中选择相应的时钟,以及使所述锁存器与其相应的时钟同步。
虽然已经参照附图完整地描述了所公开的实施例,但是应当注意,对于本领域技术人员,各种改变和修改将变得显而易见。例如,一个或多个实现方式中的元素可以被组合、删除、修改或补充以形成进一步的实现方式。这些改变和修改应被理解为被包括在由所附权利要求限定的所公开的实施例的范围内。

Claims (19)

1.一种电子设备,包括:
第一时钟,其被配置为以频率工作;
第一电路,其被配置为与所述第一时钟同步;
第二电路,其被配置为基于所述第一时钟来确定第二时钟,所述第二时钟被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相移来工作;以及
第三电路,其被配置为与所述第二时钟同步。
2.根据权利要求1所述的电子设备,其中,确定所述第二时钟包括:
生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相应相移来工作;以及
从所述多个时钟候选中选择所述第二时钟。
3.根据权利要求2所述的电子设备,其中,所述第二时钟被选择为所述多个时钟候选中具有最接近180度的相应相移的时钟候选。
4.根据权利要求2所述的电子设备,其中,所述第二时钟被选择以减小所述电子设备的晶体管谐振。
5.根据权利要求1所述的电子设备,其中,所述电子设备是ASIC,所述第一电路对应于所述ASIC中的第一功能块,所述第二电路包括延迟锁定环,以及所述第三电路对应于所述ASIC中的第二功能块。
6.根据权利要求1所述的电子设备,还包括存储器,其中:
所述电子设备被配置为相对于所述存储器执行数据写入工作,所述数据写入工作与所述第一时钟同步,以及
所述电子设备还被配置为相对于所述存储器执行数据读取工作,所述数据读取工作与所述第二时钟同步。
7.根据权利要求1所述的电子设备,其中,所述第一电路还被配置为将数据传输到所述第三电路。
8.根据权利要求7所述的电子设备,其中:
所述电子设备还包括数据总线,所述数据总线被电耦合到所述第一电路和所述第三电路,所述数据总线包括包含第一布线的一个或多个布线;
所述第一电路还被配置为经由所述数据总线将所述数据传输到所述第三电路;
所述电子设备还包括包含第一锁存器的一个或多个锁存器,所述第一锁存器被配置为经由所述第一布线接收所述数据,所述第一锁存器被配置为与基于所述第一时钟来确定的第三时钟同步;
基于所述第一时钟来确定所述第三时钟包括:
生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作,并且还被配置为以相对于所述第一时钟的相应相移来工作,以及
从所述多个时钟候选中选择所述第三时钟;以及
所述第三时钟是基于在传输所述数据的所述第一电路与接收所述数据的所述第一锁存器之间的等待时间来从所述多个时钟候选中选择的。
9.根据权利要求8所述的电子设备,其中:
所述一个或多个锁存器中的每个锁存器对应于所述一个或多个布线中的相应布线,并且被配置为经由所述相应布线接收所述数据;
所述一个或多个锁存器中的每个锁存器被配置为与从所述多个时钟候选中选择的相应时钟同步;以及
基于在传输所述数据的所述第一电路与接收所述数据的相应锁存器之间的等待时间,从所述多个时钟候选中选择每个相应的时钟。
10.一种方法,包括:在包括第一电路、第二电路和第三电路的电子设备处,
使所述第一电路与以频率工作的第一时钟同步;
基于所述第一时钟来确定第二时钟,所述第二时钟以所述第一时钟的频率工作并且还以相对于所述第一时钟的相移来工作;以及
使所述第三电路与所述第二时钟同步。
11.根据权利要求10所述的方法,其中,确定所述第二时钟包括:
生成多个时钟候选,所述多个时钟候选中的每个时钟候选以所述第一时钟的频率工作并且还以相对于所述第一时钟的相应相移来工作;以及
从所述多个时钟候选中选择所述第二时钟。
12.根据权利要求11所述的方法,其中,所述第二时钟被选择为所述多个时钟候选中具有最接近180度的相应相移的时钟候选。
13.根据权利要求11所述的方法,其中,所述第二时钟被选择以减小所述电子设备的晶体管谐振。
14.根据权利要求10所述的方法,其中,所述第一电路对应于ASIC中的第一功能块,所述第二电路包括延迟锁定环,以及所述第三电路对应于所述ASIC中的第二功能块。
15.根据权利要求10所述的方法,还包括:
根据所述第一时钟的转换,相对于所述电子设备的存储器执行数据写入工作;以及
根据所述第二时钟的转换,相对于所述存储器执行数据读取工作。
16.根据权利要求10所述的方法,还包括:将数据从所述第一电路传输到所述第三电路。
17.一种传输数据的方法,所述方法包括:
使第一电路与以频率工作的第一时钟同步,所述第一时钟与第一时钟域相关联;
基于所述第一时钟来确定第二时钟,所述第二时钟以所述第一时钟的频率工作并且还以相对于所述第一时钟的相移来工作,所述第二时钟与第二时钟域相关联;
使第二电路与所述第二时钟同步,所述第二电路被配置为经由被电耦合到数据总线的一个或多个锁存器来接收来自所述第一电路的数据,所述数据总线包括包含第一布线的一个或多个布线,所述一个或多个锁存器包括被配置为经由所述第一布线接收所述数据的第一锁存器;
生成多个时钟候选,所述多个时钟候选中的每个时钟候选被配置为以所述第一时钟的频率工作并且还被配置为以相对于所述第一时钟的相应相移来工作;
使所述第一锁存器与从所述多个时钟候选中选择的第三时钟同步;以及
经由所述数据总线和所述第一锁存器将所述数据从所述第一电路传输到所述第二电路。
18.根据权利要求17所述的方法,其中,基于在传输所述数据的所述第一电路与接收所述数据的所述第一锁存器之间的等待时间,从所述多个时钟候选中选择所述第三时钟。
19.根据权利要求18所述的方法,其中:
所述一个或多个锁存器中的每个锁存器对应于所述一个或多个布线中的相应布线,并且被配置为经由所述相应布线接收所述数据,以及
所述方法还包括:
对于所述一个或多个锁存器中的每个锁存器,基于在该锁存器与传输所述数据的所述第一电路之间的等待时间来从所述多个时钟候选中选择相应的时钟,以及使所述锁存器与其相应的时钟同步。
CN201980085678.5A 2018-10-24 2019-10-23 异步asic Pending CN113227935A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862750180P 2018-10-24 2018-10-24
US62/750,180 2018-10-24
PCT/US2019/057723 WO2020086760A2 (en) 2018-10-24 2019-10-23 Asynchronous asic

Publications (1)

Publication Number Publication Date
CN113227935A true CN113227935A (zh) 2021-08-06

Family

ID=70331255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980085678.5A Pending CN113227935A (zh) 2018-10-24 2019-10-23 异步asic

Country Status (5)

Country Link
US (4) US11487316B2 (zh)
EP (1) EP3871062A4 (zh)
JP (2) JP2022505662A (zh)
CN (1) CN113227935A (zh)
WO (1) WO2020086760A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487316B2 (en) 2018-10-24 2022-11-01 Magic Leap, Inc. Asynchronous ASIC

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040212742A1 (en) * 2003-01-27 2004-10-28 Satoru Tanigawa Video signal processor and video signal processing method
US7433439B1 (en) * 2002-12-20 2008-10-07 Cypress Semiconductor Corp. Apparatus, system, and method for synchronizing signals received by one or more system components
US20160141017A1 (en) * 2014-11-14 2016-05-19 Cavium, Inc. Controlled dynamic de-alignment of clocks

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852988A (en) 1988-09-12 1989-08-01 Applied Science Laboratories Visor and camera providing a parallax-free field-of-view image for a head-mounted eye movement measurement system
US5317601A (en) 1992-08-21 1994-05-31 Silicon Graphics Clock distribution system for an integrated circuit device
US5604452A (en) * 1995-04-03 1997-02-18 Exar Corporation Clock generator using a state machine to switch between two offset clocks
US6847336B1 (en) 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
US6433760B1 (en) 1999-01-14 2002-08-13 University Of Central Florida Head mounted display with eyetracking capability
US6491391B1 (en) 1999-07-02 2002-12-10 E-Vision Llc System, apparatus, and method for reducing birefringence
CA2316473A1 (en) 1999-07-28 2001-01-28 Steve Mann Covert headworn information display or data display or viewfinder
CA2362895A1 (en) 2001-06-26 2002-12-26 Steve Mann Smart sunglasses or computer information display built into eyewear having ordinary appearance, possibly with sight license
DE10132872B4 (de) 2001-07-06 2018-10-11 Volkswagen Ag Kopfmontiertes optisches Durchsichtssystem
US20030030597A1 (en) 2001-08-13 2003-02-13 Geist Richard Edwin Virtual display apparatus for mobile activities
CA2388766A1 (en) 2002-06-17 2003-12-17 Steve Mann Eyeglass frames based computer display or eyeglasses with operationally, actually, or computationally, transparent frames
US6928569B2 (en) * 2002-07-19 2005-08-09 Texas Instruments Incorporated Automatic output delay timing adjustment for programmable glitch filter
US6943754B2 (en) 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
US7347551B2 (en) 2003-02-13 2008-03-25 Fergason Patent Properties, Llc Optical system for monitoring eye movement
US7500747B2 (en) 2003-10-09 2009-03-10 Ipventure, Inc. Eyeglasses with electrical components
DE102004011673B3 (de) * 2004-03-10 2005-06-02 Texas Instruments Deutschland Gmbh Vorrichtung zur Datensynchronisation
DE102004011672B4 (de) * 2004-03-10 2007-04-05 Texas Instruments Deutschland Gmbh Vorrichtung zur Datensynchronisation
ZA200608191B (en) 2004-04-01 2008-07-30 William C Torch Biosensors, communicators, and controllers monitoring eye movement and methods for using them
EP1587080A1 (en) * 2004-04-14 2005-10-19 Deutsche Thomson-Brandt Gmbh Method for track jump control
KR100674910B1 (ko) * 2004-07-06 2007-01-26 삼성전자주식회사 글리치를 유발하지 않는 클럭 스위칭 회로
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US7979684B2 (en) * 2006-08-07 2011-07-12 Qualcomm Incorporated Method and context switch device for implementing design-for-testability functionality of latch-based register files
US7652516B2 (en) * 2006-10-20 2010-01-26 Marvell Israel (M.I.S.L.) Ltd. Apparatus and method for generating a clock signal
US7656745B2 (en) * 2007-03-15 2010-02-02 Micron Technology, Inc. Circuit, system and method for controlling read latency
US7573293B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
JP5663881B2 (ja) * 2010-01-18 2015-02-04 富士通株式会社 クロック装置
US20110213664A1 (en) 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US8890946B2 (en) 2010-03-01 2014-11-18 Eyefluence, Inc. Systems and methods for spatially controlled scene illumination
US8464117B2 (en) * 2010-05-25 2013-06-11 Freescale Semiconductor, Inc. System for testing integrated circuit with asynchronous clock domains
US8179162B2 (en) * 2010-07-13 2012-05-15 Taiwan Semiconductor Manufacturing Company, Ltd. Phase-lock assistant circuitry
US8531355B2 (en) 2010-07-23 2013-09-10 Gregory A. Maltz Unitized, vision-controlled, wireless eyeglass transceiver
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US8929589B2 (en) 2011-11-07 2015-01-06 Eyefluence, Inc. Systems and methods for high-resolution gaze tracking
US8611015B2 (en) 2011-11-22 2013-12-17 Google Inc. User interface
US8235529B1 (en) 2011-11-30 2012-08-07 Google Inc. Unlocking a screen using eye tracking information
US8958517B2 (en) * 2011-12-30 2015-02-17 Oracle International Corporation Clock phase adjustment for a low-latency FIFO
US10013053B2 (en) 2012-01-04 2018-07-03 Tobii Ab System for gaze interaction
US8638498B2 (en) 2012-01-04 2014-01-28 David D. Bohn Eyebox adjustment for interpupillary distance
US9274338B2 (en) 2012-03-21 2016-03-01 Microsoft Technology Licensing, Llc Increasing field of view of reflective waveguide
US8989535B2 (en) 2012-06-04 2015-03-24 Microsoft Technology Licensing, Llc Multiple waveguide imaging structure
US8674736B2 (en) * 2012-07-31 2014-03-18 Fujitsu Limited Clock synchronization circuit
US10025379B2 (en) 2012-12-06 2018-07-17 Google Llc Eye tracking wearable devices and methods for use
EP2951811A4 (en) 2013-01-03 2016-08-17 Meta Co DIGITAL EYES FOR EXTRAMISSIVE SPATIAL IMAGING, PROCESSES AND SYSTEMS FOR VIRTUAL OR ENLARGED VISIBILITY, MANIPULATION, PRODUCTION OR INTERACTION WITH OBJECTS, MATERIALS, OR OTHER UNITS
US20140195918A1 (en) 2013-01-07 2014-07-10 Steven Friedlander Eye tracking user interface
US10044496B2 (en) * 2014-03-21 2018-08-07 Empire Technology Development Llc Bandwidth amplification using pre-clocking
US10432209B1 (en) * 2018-10-10 2019-10-01 Globalfoundries Inc. Linear feedback shift register-based clock signal generator, time domain-interleaved analog to digital converter and methods
US11487316B2 (en) 2018-10-24 2022-11-01 Magic Leap, Inc. Asynchronous ASIC

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7433439B1 (en) * 2002-12-20 2008-10-07 Cypress Semiconductor Corp. Apparatus, system, and method for synchronizing signals received by one or more system components
US20040212742A1 (en) * 2003-01-27 2004-10-28 Satoru Tanigawa Video signal processor and video signal processing method
US20160141017A1 (en) * 2014-11-14 2016-05-19 Cavium, Inc. Controlled dynamic de-alignment of clocks

Also Published As

Publication number Publication date
US11747856B2 (en) 2023-09-05
EP3871062A2 (en) 2021-09-01
EP3871062A4 (en) 2021-12-29
WO2020086760A2 (en) 2020-04-30
US20230367361A1 (en) 2023-11-16
WO2020086760A3 (en) 2020-07-30
JP2022183237A (ja) 2022-12-08
JP2022505662A (ja) 2022-01-14
US11619965B2 (en) 2023-04-04
US20210382520A1 (en) 2021-12-09
US20230205257A1 (en) 2023-06-29
US20230018203A1 (en) 2023-01-19
US11487316B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
US20140376569A1 (en) Multiple clock domains in noc
US10355851B2 (en) Methods and systems for synchronization between multiple clock domains
US5717729A (en) Low skew remote absolute delay regulator chip
US4811364A (en) Method and apparatus for stabilized data transmission
CN210168032U (zh) 用于对准高数据速率时钟和数据恢复解串器的采样实例的系统
US20180069732A1 (en) Transmission apparatus and detection method
US20230367361A1 (en) Asynchronous asic
US20130043915A1 (en) Circuits and methods for signal transfer between different clock domains
US7242737B2 (en) System and method for data phase realignment
US7340021B1 (en) Dynamic phase alignment and clock recovery circuitry
US7120214B2 (en) Synchronous signal transfer and processing device
US9684332B2 (en) Timing control circuit
US7280628B1 (en) Data capture for a source synchronous interface
US6775339B1 (en) Circuit design for high-speed digital communication
US9712353B2 (en) Data transmission between asynchronous environments
US7328361B2 (en) Digital bus synchronizer for generating read reset signal
US6760277B1 (en) Arrangement for generating multiple clocks in field programmable gate arrays of a network test system
US7142605B2 (en) Method to transfer data without a clock or strobe signal
US6128356A (en) CMOS circuit composed of CMOS circuit blocks arranged in bit-parallel data paths
Jantsch Synchronization and Communication
US20070170970A1 (en) Semiconductor device and data input/output system
Jackson Gradual Synchronization
Kessner Design of a time-slot-interchanger and other TDM bus interfacing issues
JP2001195354A (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式

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