JP2022505662A - 非同期asic - Google Patents

非同期asic Download PDF

Info

Publication number
JP2022505662A
JP2022505662A JP2021522076A JP2021522076A JP2022505662A JP 2022505662 A JP2022505662 A JP 2022505662A JP 2021522076 A JP2021522076 A JP 2021522076A JP 2021522076 A JP2021522076 A JP 2021522076A JP 2022505662 A JP2022505662 A JP 2022505662A
Authority
JP
Japan
Prior art keywords
clock
circuit configuration
data
phase
candidates
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
JP2021522076A
Other languages
English (en)
Other versions
JPWO2020086760A5 (ja
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.)
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 JP2022505662A publication Critical patent/JP2022505662A/ja
Priority to JP2022164507A priority Critical patent/JP2022183237A/ja
Publication of JPWO2020086760A5 publication Critical patent/JPWO2020086760A5/ja
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

(関連出願の相互参照)
本出願は、2018年10月24日に出願された米国仮特許出願第62/750180号に対する優先権を主張し、米国仮特許出願第62/750,180号の内容は、それらの全体が参照によって本明細書に援用される。
(分野)
本開示は、電子回路に関連し、特に、電子デバイスの部品へとクロック信号を提供するためのシステムおよび方法に関連する。
(背景)
ほとんど全てのデジタル論理デバイスが、これらのデバイスの電子部品の、時間を合わせされた挙動を始動させるために、または制御するためにクロック信号を使用している。例えば、レジスタのクロック入力へと提供されたクロック信号は、レジスタに、データ入力をデータ出力へと伝えさせる。低レベルでは、クロック信号(例えば、論理1と論理0とを交互に繰り返す周期性デジタル論理信号)は、1つまたは複数の半導体デバイス(例えば、レジスタのトランジスタ)に、伝導状態から非伝導状態へと切り替わらせ得、またはその逆をさせ得る。
特定用途向け集積回路(ASIC)を含むデバイスでは、ASICは、個別の機能ユニット(または「ブロック」)を、ブロックのローカルクロックに同期されている各ブロックのレジスタを伴って含むと考えられ得る。ブロックは、ブロックに関連付けられた1つまたは複数の機能を実行するように構成された(プログラム可能な論理回路構成を含む)回路構成を含み得る。いわゆる同期回路設計では、2つまたはそれより多いブロックが、単一の「クロックドメイン」において同じグローバルクロックに同期され得る。クロックドメイン内でブロックを同期することによって、同期回路は、複数の独立なローカルクロックを用いることに共通する問題、すなわち、補正するために非効率なリバッファリングオペレーションを必要とし得るクロックドリフトを回避し得る。しかしながら、同じクロック信号を複数のクロックへと同時に提供することによって、同期回路は、一度に切り替わる多数のトランジスタによって引き起こされる共振回路ノイズ(「トランジスタ共振」)等の不要な高次効果を経験し得る。現代のデジタルデバイスに対しては、このようなトランジスタの数は驚異的(いくつかのデバイスに対しては数百億のオーダー)であり、結果として生じる共振回路ノイズは、極めて顕著となり得る。その上、これらの不要な効果は、クロック周波数が増大するにつれて増幅され得る。同期されたクロックがもたらし得る不要なノイズを回避しつつ同期されたクロックの利点を保持する計時スキームを利用することが望ましい。本明細書に記載されるように、このことは、クロックドメインを「位相シフトしたクロックドメイン」へと分割することによって達成され得、ここで、位相シフトしたクロックドメインは、データを非同期的にやりとりするが、共通のリファレンスクロックから派生した「位相シフトしたクロック」に同期される。
(簡単な概要)
デジタルデバイスにおいてクロック信号を示すためのシステムおよび方法が、開示される。いくつかの例では、ある周波数で動作するように構成された第一のクロックを備えた電子デバイスが、開示される。電子デバイスの第一の回路構成は、第一のクロックと同期するように構成されている。第二の回路構成は、第一のクロックに基づいて第二のクロックを決めるように構成されている。第二のクロックは、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対する位相シフトを伴って動作するように構成されている。第三の回路構成は、第二のクロックと同期するように構成されている。
(図面の簡単な説明)
図1は、いくつかの実施形態に従った、クロックドメインへとグループ化されたブロックを伴う例となる電子デバイスを図示している。
図2は、いくつかの実施形態に従った、クロックドメインおよび位相シフトしたクロックドメインへとグループ化されたブロックを伴う例となる電子デバイスを図示している。
図3は、いくつかの実施形態に従った、データをやりとりするように構成された、電子デバイスの2つの位相シフトしたクロックドメインの例を図示している。
図4は、いくつかの実施形態に従った、電子デバイスの2つの位相シフトしたクロックドメイン間でデータを転送するように構成された例となる先入先出(FIFO)バッファを図示している。
図5は、いくつかの実施形態に従った、参照クロックから位相シフトしたクロックを生成する例を図示している。
図6は、いくつかの実施形態に従った、電子デバイスの2つの位相シフトしたクロックドメイン間のデータ転送を構成するための例となるプロセスのブロック図を図示している。
(詳細な説明)
以下の例の説明では、本明細書の一部を形成する付属の図面への参照がなされ、図中では、実践され得る具体的な例が、図示によって示されている。他の例が用いられ得ることと、開示される例の範囲を逸脱せずに構造の変更がなされ得ることとが理解されることとなる。
図1は、いくつかの実施形態に従ったASIC100の高レベル図を図示している。ASIC100は、7つの機能ブロック110、112、114、116、118、120および122と、3つの参照クロック130、132および134と、3つのクロックドメイン140、142および144とを含み、クロックドメイン140は参照クロック130に同期されており、クロックドメイン142は参照クロック132に同期されており、クロックドメイン144は参照クロック134に同期されている。図1に示されているように、複数のブロック(例えば110、112、114)が同じクロックドメイン(例えばクロックドメイン140)に同期されるように、3つのクロックドメイン(140、142、144)は、ASIC100の7つのブロック(110、112、114、116、118、120、122)間で共有される。同じクロックドメインに同期されたブロックは、クロックドリフトの排除(ブロックを独立のクロックに同期させる必要性を除去する)等の利益を享受する。このようなシステムでは、同じクロックドメイン内の2つのブロック間で(例えば、本例におけるブロック110とブロック112との間で)、データが同期的に送信され得る。
しかしながら、複数のブロック(例えばブロック110、112、114)を同じクロックドメイン(例えばクロックドメイン140)に同期させることは、特有の問題をもたらし得る。例として、例えば送信ブロック(例えばブロック110)と受信ブロック(例えばブロック112)とを接続するワイヤの長さが部分的に原因となって、送信ブロックから受信ブロックへと送られるデータ信号に伝搬遅延が発生し、これらの信号は、(これらの信号を運ぶワイヤの異なる長さが部分的に原因となって)受信ブロック内のこれらの信号のそれぞれの宛先へと全て同時には到着しない場合がある。このようなタイミングの誤差を補正することは、オーバーヘッドと複雑性とをもたらし、例として、データ信号は、データ信号が送信ブロックから受信ブロックへと伝搬するときに送信経路に沿ってバッファされる必要があり得、バッファリングプロセスは、送信ブロックと受信ブロックとを含むデジタル論理デバイスの電力消費を一般に増大させる。より悪いことに、バッファリングの必要性は、デジタル論理デバイスのサイズおよび複雑性に伴って増大し、デジタル論理デバイスは、より大きな数のブロックと、チップ間通信のためのより細いワイヤとを一層必要とする。
さらに、単一のクロックドメイン内でデジタル論理デバイスの複数のブロックを同期することは、これらのブロック内の半導体デバイスの伝導状態遷移活動が同期されることを意味する。例えば、同じクロックドメイン内のブロック(例えばクロックドメイン140内のブロック110、112、114)にある全てのトランジスタが、同時に状態を変化させ得る。結果として生じる共振は、ASIC100のサイズ、複雑性およびトランジスタ密度に伴って増減する不要なデジタルノイズをもたらし得る。ノイズ絶縁をASICブロックへと加えることによってこのようなノイズが減らされ得る一方で、ノイズ絶縁を加えることは、不要な電力消費を一般にもたらし、レイアウトおよび設計の望ましくない制約を示し得る。このようなトランジスタがオン状態とオフ状態との間を遷移する時間を、単一のクロックドメイン内でずらすことが望ましい。
従って、ASICの電力消費および複雑性を減らすために、同じクロックドメインに同期されている2つのASICブロック間で送信されるデータ信号をリバッファする必要性が減らされ得る。さらに、単一のクロックドメイン内の半導体の同期された切り替えによって引き起こされるノイズが減らされ得る。その上、これらの目的は、複数のASICブロックを単一のクロックドメイン内の単一の参照クロックに同期することの利益(例えば簡便性、信頼性)を保持しつつ成し遂げられ得る。
いくつかの実施形態では、これは、単一の参照クロックに同期された単一のクロックドメイン内で、1つまたは複数の位相シフトしたクロックを参照クロックから生成することによって、およびその位相シフトしたクロックドメイン内の、レジスタのサブセットに各位相シフトしたクロックを結合することによって達成され得る。参照クロックから生成された位相シフトしたクロックは、参照クロックと同じ周波数を共有し得るが、参照クロックに対する位相シフトを伴って動作し得る。位相シフトしたクロックは同じ参照クロックから生成され、参照クロックと同じ周波数で動作するので、同じ位相シフトしたクロックドメイン内の2つの位相シフトしたクロック間でも、位相シフトしたクロックとその参照クロックとの間でもクロックドリフトが起こらない。クロックドメイン内のレジスタは、サブグループ(「位相シフトしたクロックドメイン」)へと分けられ得、各サブグループは、位相シフトしたクロックに合わせて計時され、各位相シフトしたクロックの位相シフトが、参照クロックに関して、対応するレジスタのトランジスタがいつ状態を変化させるかを決定する。これらの状態変化の時間は、望ましい「ロードバランシング」を達成するために、回路設計者によってずらされ得る。ロードバランシングは、設計の切り替えピークを制御するための設計者の努力を反映し得る。例えば、多くのレジスタまたは全てのレジスタが同じ瞬間に切り替わるASICは、電力供給部からの高いピークの電流と、高レベルのノイズとを経験し得る。しかし、多数のレジスタが同じ瞬間に切り替わらないようにASICブロックを位相シフトしたクロックに同期することによって、電力供給部からのより低いピークの電流と、より低いノイズとが実現され得る。
図2は、いくつかの実施形態に従った、例となるASIC100のクロックドメインを、位相シフトしたクロックドメインへと分ける例を図示している。図2に図示されているように、クロックドメイン140(参照ブロック130に同期されている)が、3つの位相シフトしたクロックドメイン140A、140Bおよび140Cへと細分されている。位相シフトしたクロックドメイン140Aは、位相シフトしたクロック130Aに同期され得、位相シフトしたクロックドメイン140Bは、位相シフトしたクロック130Bに同期され得、位相シフトしたクロックドメイン140Cは、位相シフトしたクロック130Cに同期され得、ここで、位相シフトしたクロック130A、130Bおよび130Cは、参照クロック130から派生し、参照クロック130と同じ周波数で動作する。同様に、本例において、クロックドメイン142が、位相シフトしたクロックドメイン142A、142Bおよび142Cへと細分されており、位相シフトしたクロックドメイン142Aは位相シフトしたクロック132Aに同期されており、位相シフトしたクロックドメイン142Bは位相シフトしたクロック132Bに同期されており、位相シフトしたクロックドメイン142Cは位相シフトしたクロック132Cに同期されており、これらの位相シフトしたクロックは参照クロック132から派生している。全てのクロックドメインが位相シフトしたクロックドメインへと分けられる必要はなく、例として、示されている例において、クロックドメイン144は位相シフトしたクロックドメインへと分けられておらず、依然として参照クロック134に同期されている。
ASICブロックは、1つまたは複数の位相シフトしたクロックドメインに同期され得る。例として、図2に示されている例において、ブロック110が、位相シフトしたクロックドメイン140Aに同期されており、ブロック112が、位相シフトしたクロックドメイン140Bに同期されており、ブロック114が、位相シフトしたクロックドメイン140Cに同期されている。いくつかの場合では、2つまたはそれより多いASICブロックが、単一の位相シフトしたクロックドメインに同期され得る。さらに、単一のASICブロックの2つまたはそれより多い部分(例えば部品またはレジスタのグループ化)が、異なる位相シフトしたクロックドメインに同期され得る。例として、示されているように、ブロック120の第一の部分が、位相シフトしたクロックドメイン142Bに同期されており、ブロック120の第二の部分が、位相シフトしたクロックドメイン142Cに同期されている。回路設計者は、ASICブロックまたはASICブロックの領域を、特定用途の設計考察に基づいた位相シフトしたクロックドメインへと分割し得る。
位相シフトしたクロックは、参照クロックからクロックを生成するための当該技術分野において公知の様々な技法を用いて生成され得る。例えば、位相シフトしたクロック(例えば位相シフトしたクロック130A)を、参照クロック(例えば参照クロック130)の位相シフトしたバージョン(参照クロックと同じ周波数を伴う)として生成するために、ディレイロックループ(DLL)が用いられ得る。
図3は、いくつかの実施形態に従った、非同期的にデータをやりとりするように構成された、例となるASIC100等のASICの2つの位相シフトしたクロックドメインの例を図示している。図3に図示されているように、ブロック110(位相シフトしたクロックドメイン140Aに同期されている)は、ブロック112(位相シフトしたクロックドメイン140Bに同期されている)と非同期的にデータをやりとりする。ブロック110は、バス150Aを介してブロック112へとデータおよび/または制御信号を送信するための非同期転送モジュール310Aを含み、ブロック112は、(転送モジュール310Aを介して)ブロック110からデータを受信するための非同期受信モジュール312Aを含む。モジュール310Aおよびモジュール312Aは、マスター/スレーブ構成において配置され得、モジュール310Aはマスターとして構成されており、モジュール312Aはスレーブとして構成されている。同様に、ブロック112がデータを送るように構成されており、ブロック110がデータを受信するように構成されている例において、ブロック112は、バス150B(いくつかの例ではバス150Aと同じであり得る)を介してブロック110へとデータおよび/または制御信号を送信するための非同期転送モジュール312Bを含み得、ブロック110は、(転送モジュール312Bを介して)ブロック112からデータを受信するための非同期受信モジュール310Bを含み得る。モジュール312Bおよびモジュール310Bは、マスター/スレーブ構成において配置され得、モジュール312Bはマスターとして構成されており、モジュール310Bはスレーブとして構成されている。各ブロックの転送/受信モジュールは、それぞれの位相シフトしたクロックドメインの位相シフトしたクロックに合わせて計時され、例えば、ブロック110の転送モジュール310Aおよび受信モジュール310Bは、位相シフトしたクロック130Aに合わせて計時され、ブロック112の転送モジュール312Bおよび受信モジュール312Aは、位相シフトしたクロック130Bに合わせて計時される。(いくつかの例では、本明細書に記載されているもの等の転送モジュールおよび受信モジュールは、個別のユニットである必要はなく、重なり合ったり、または共通の部品を共有したりし得る。)
データバス150Aおよび/またはデータバス150Bは、任意の適切な構成においてデータおよび/または制御信号を運び得る。データがクロックドメインまたは位相シフトしたクロックドメインの間を非同期的に渡るとき、様々な問題がもたらされ得る。例として、データバスの1つの「レーン」からのデータが、(例えば、各レーンのデータが移動しなければならない電気配線の長さの差異が原因となって)期待より早く、または期待より遅く受信端に届く場合等には、バス150A/バス150B上のデータは、インコヒーレントになるリスクを有する。加えて、送信用の位相シフトしたクロックドメインから送信されたデータは、データ不安定性が原因となって受信用の位相シフトしたクロックドメイン内で捕捉されなかった場合には、失われ得る。このような位相シフトしたクロックドメインクロッシング問題は、受信用の位相シフトしたクロックドメインにおける機能上の誤差を招き得る。クロックドメインクロッシングに対処することに適した様々なテクノロジーが、位相シフトしたクロックドメインクロッシングに適合し得、位相シフトしたクロックドメインクロッシングの問題点を扱うための1つの例となるシステムが、下で述べられるような先入先出(FIFO)バッファである。クロックドメインクロッシングロジックは、その全体または一部分を、例えば、ブロック112の非同期受信モジュール312A内に実装され得、ブロック110の非同期転送モジュール310A内に実装され得、ブロック110の非同期受信モジュール310B内に実装され得、ブロック112の非同期転送モジュール312B内に実装され得、ブロック110とブロック112との間にある回路構成内に実装され得、または任意の他の適切な場所もしくは場所の組み合わせにおいて実装され得る。
図4は、いくつかの実施形態に従った、(例となるASIC100における位相シフトしたクロックドメイン140Aおよび140B等の)ASICの位相シフトしたクロックドメイン間でデータを渡すように構成されている例となるFIFOバッファ400の一部を図示している。いくつかの例において、FIFOバッファ400は、その全体または一部分を、ブロック112の非同期受信モジュール312A内に実装され得、ブロック110の非同期転送モジュール310A内に実装され得、ブロック110の非同期受信モジュール310B内に実装され得、ブロック112の非同期転送モジュール312B内に実装され得、ブロック110とブロック112との間にある回路構成内に実装され得、または任意の他の適切な場所もしくは場所の組み合わせにおいて実装され得る。図4に図示されているように、入力402(402(K)として図に示されている)は、FIFOバッファ400へと送信されるデータであり、例として、入力402は、図3に示されているような、ブロック110からブロック112へのバス150Aの1つまたは複数のワイヤを介して送信されるデータに対応し得る。示された本例では、入力402は、4つのビットの幅K(バス150Aのワイヤの数Kに対応し得る)を有し、4つのビットは、402A、402B、402Cおよび402Dとして示されている。しかしながら、Kの値は任意の適切なデータ幅に対応し得る。ビット402A~ビット402Dの各々は、それぞれのレジスタ404A~レジスタ404Dへの入力として示されている。レジスタ404A~レジスタ404Dは、各々、それぞれのレーンクロック406A~レーンクロック406Dによって計時される。レーンクロック406A~レーンクロック406Dの各々は、それぞれのレジスタ404A~レジスタ404Dに対して下で述べられるように選ばれる位相シフトしたクロックである。レーンクロック406A~レーンクロック406Dは、それぞれのレジスタ404A~レジスタ404Dを通じて、それぞれのデータビット402A~データビット402Dをマルチプレクサ408へと進める。概して、レジスタ404の数、レーンクロック406の数およびマルチプレクサ408への入力の数は、全て、入力402のデータ幅K(任意の適切なデータ幅が用いられ得るが、この例では4)に等しい。
レーンクロック406A~レーンクロック406Dは、入力ビット402A~入力ビット402Dが、入力402内のこれらの入力ビットのビット位置に対応して並べられた順番でマルチプレクサ408の入力に届くように選ばれる。レーンクロック406A~レーンクロック406Dは、参照クロック(例えば参照クロック130)から生成され得、図5および図6に関して下で述べられるように選ばれ得る。並べられた順番でマルチプレクサ408に届くビット402A~ビット402Dを伴って、マルチプレクサ408は、並べられたデータをメモリ410(RAMまたは任意の他の適切なタイプのストレージを含み得る)に書き込み得る。並べられたデータは、データ440としてメモリ410から読み取られ得る。メモリ410の細目は、近い将来の用途に適するように選択され得、例として、例となるメモリ410は、各データビット402A~データビット402Dに対して10ステージを記憶するのに十分なストレージを含み得る。
入力402をメモリ410に書き込むための書き込みアドレスは、書き込みポインタ420によって制御され得、書き込みポインタ420は、書き込みイネーブル424がアクティブである間、書き込みクロック422によって順番に進められ得る。同様に、データ440をメモリ410から読み取るための読み取りアドレスは、読み取りポインタ430によって制御され得、読み取りポインタ430は、読み取りイネーブル434がアクティブである間、読み取りクロック432によって順番に進められ得る。本例では、書き込みクロック422が位相シフトしたクロックドメイン140Aに属しており、書き込みクロック432が位相シフトしたクロックドメイン140Bに属している。位相シフトしたクロックドメイン140Aが(、かつそれによって書き込みクロック422が)、位相シフトしたクロック130Aに同期され得、位相シフトしたクロックドメイン140Bが(、かつそれによって書き込みクロック432が)、位相シフトしたクロック130Bに同期され得る。上述したように、位相シフトしたクロック130Aおよび位相シフトしたクロック130Bのうちの1つまたは複数が、参照クロック130に同期され得、位相シフトしたクロック130Aおよび位相シフトしたクロック130Bのうちの別の1つまたは複数が、参照クロック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は、位相シフトしたクロック「候補」のうちの1つまたは複数から選ばれ得、ここで、各位相シフトしたクロック候補は、(例えばDLLを介して)参照クロックから生成され、参照クロックの周波数を共有し、参照クロックに対する位相シフトの点で他の位相シフトしたクロック候補と異なる。
図5は、いくつかの実施形態に従った、参照クロックから位相シフトしたクロックを生成する例を図示している。DLLは、(例えば参照クロック130に対応し得る、)周期Tを有する参照クロック502を入力とみなし得、N個の位相シフトしたクロック候補(例えば8つのクロック信号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)の位相シフトを有し得、以下同様である。参照クロックから位相シフトしたクロック(例えば、位相シフトしたクロック候補506A~位相シフトしたクロック候補506H)を生成するためにDLLを用いる技法は、当業者によく知られている。Tは参照クロック周波数の逆数であり、数Nは、望ましい精度、レイテンシの要求および複雑性の要求、ならびに参照クロック周波数等の考慮に基づいて回路設計者によって選ばれ得る。例として、位相シフトしたクロック候補のより大きな数Nは、(より多くの適切な位相シフトしたクロック候補が潜在的に選ばれ得るので、)潜在的に、複雑性を犠牲にしてより低いレイテンシに帰着し得る。
一度、位相シフトしたクロック候補506A~位相シフトしたクロック候補506Hが生成されると、レーンクロック(例えば406A~406D)が、入力データの各ビット(例えば入力データ402のK個のビット402A~ビット402D)に対して選ばれ得る。いくつかの例では、クロックの選択は以下のように進行し得る。Tが参照クロックの1サイクル(例えば時刻t0で開始し時刻t1で終了するサイクル)の長さであるとして、N個の位相シフトしたクロック候補506A~位相シフトしたクロック候補506Hの各々が参照クロックに対してT/Nの異なる倍数だけ位相をシフトされていることが知られているので、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個の位相シフトしたクロック候補の各々が参照クロックの単一サイクル内で均等に離れた間隔で立ち上がりエッジを含み得るという知識を用いて、半サイクルデータパルス(例えば、データ入力402のビットとしてバス150Aに沿って届けられ得るデータパルス504)が、N/2個の位相シフトしたクロック候補によって捕捉されることが、予測され得る。すなわち、半サイクルデータパルスがN個のラッチ(各ラッチはN個の位相シフトしたクロック候補のうちのそれぞれの1つによってゲートされる)へと示される場合には、N個のラッチの半数(データパルスが高であった間にそれぞれのゲートが低から高へと遷移したもの)が、それらのそれぞれの出力で論理1を生じさせる。さらに、位相シフトしたクロック候補が順番通り整理されている場合には(すなわち、一連の位相シフトしたクロック候補のうちの各々が、それの前にある位相シフトしたクロック候補より長い位相シフトを特徴として有する場合には)、半サイクルデータパルスは、位相シフトしたクロック候補の隣り合うグループによって捕捉され得る。例として、図5では、データパルス504が、時刻t0で低から高へと遷移することと、時刻t0と時刻t1との間の中間点で高から低へと遷移する(その中間点からデータパルス504は低であり続ける)こととを示されている。本例では、データパルス504は、8つの位相シフトしたクロック候補のうちの4つ(例えば、データパルス504が高である間に低から高へと遷移する4つの位相シフトしたクロック候補に対応する位相シフトしたクロック候補506A~位相シフトしたクロック候補506D)によって捕捉される。
半サイクルデータパルス504を捕捉する位相シフトしたクロック候補のセットから、好ましい位相シフトしたクロック候補がレーンクロックとして選ばれ得る。データが届き安定化した後に(すなわち、データが有効であることが約束されるように、受信ブロック(例えば112)で、過渡が落ち着きデータが十分に安定な状態に入った後に)レーンクロックがデータを捕捉することが、望ましくあり得る。さらに、チップ内ばらつき(OCV)、ジッタ、温度ドリフト、および、データまたはクロック信号における変動の他のソースに対する耐性を増大させるために、データの立ち上がりエッジまたは立ち下がりエッジのどちらかからの有意な時間的な距離でレーンクロックがデータを捕捉することが、望ましくあり得る。様々なメトリックが、それらの例となる基準に従って、位相シフトしたクロック候補のセットから好ましい位相シフトしたクロック候補を特定し、その結果として、レーンクロックを選ぶために用いられ得る。いくつかの実施形態では、レーンクロックは、立ち上がりエッジが参照クロックサイクルの中間に最も近い位相シフトしたクロック候補(すなわち、参照クロックに対する位相シフトが180度に最も近い位相シフトしたクロック候補)であるように選ばれ得、このことは、通常のデバイス動作の間中、参照クロックのフルサイクルに対応して徐々にデータが届き、そのため、立ち上がりエッジが参照クロックの中間に最も近い位相シフトしたクロック候補が、データ安定性を最もよく保証するものであり得ることが、理由であり得る。いくつかの実施形態では、レーンクロックは、半サイクルデータパルスを捕捉する位相シフトしたクロック候補のグループのうちの最後の位相シフトしたクロック候補(すなわち、参照クロックサイクルの中間点の前にある最後の位相シフトしたクロック候補)であるように選ばれ得る。いくつかの実施形態では、レーンクロックは、半サイクルデータパルスを捕捉する位相シフトしたクロック候補のグループに続く最初の位相シフトしたクロック候補(すなわち、参照クロックサイクルの中間点の後にある最初の位相シフトしたクロック候補)であるように選ばれ得る。いくつかの実施形態では、レーンクロックは、データパルスを捕捉する位相シフトしたクロック候補のグループのうちの位相シフトしたクロック候補の任意の1つであるように選ばれ得る。
位相シフトしたクロック候補の数Nは、レーンクロックの精度に影響を及ぼし得る。Nの値が大きいほど、2つの隣接する位相シフトしたクロック候補間の位相シフトの差が小さく、理想的なレーンクロックが選ばれ得る見込みが大きい。しかしながら、位相シフトしたクロック候補の数Nを増大させることは、概して、レーンクロックのキャリブレーションプロセスを実施するために必要とされる時間および回路複雑性を増大させる。Nの望ましい値は、近い将来の具体的なデバイスの要求に応じて、設計者によって選ばれ得る。
上記レーンクロックの選択プロセスは、例となるデータ402のK個のデータビットのうちの2つまたはそれより多いデータビットに対して(順番に、または並行して)繰り返され得る。例として、半サイクルデータパルス504は、データ402の各データビット(例えばデータビット402A~データビット402D)に対応する経路上に提供され得、各ビットに対して、最もよいレーンクロックが、N個の位相シフトしたクロック候補から選択され得る。データ移動時間はデータビット間で若干異なり得るので、いくつかの位相シフトしたクロック候補は、他のデータビットより特定のデータビットによく適していることがあり得る。ビットの一つ一つに基づいて個々のレーンクロックを選ぶことと、各データビット402A~データビット402Dをそのそれぞれのレーンクロックに従って別々に計時することとは、上述したようにメモリ410に入るデータビットの正しい並びを促す。
1つまたは複数のレーンクロックを選ぶことに加えて、読み取りクロック(例えば432)は、位相シフトしたクロック候補506A~位相シフトしたクロック候補506Hのうちの1つから選ばれ得る。上述したレーンクロックと同様に、選ばれた読み取りクロックは、参照クロックの周波数を共有しているが、位相の点で異なる。本例における読み取りクロックは、図2に関して上述した位相シフトしたクロック130Bに対応し得、例として、位相シフトしたクロックドメイン140Aからデータを受信する位相シフトしたクロックドメイン140Bの全ての部品は、選ばれた読み取りクロックに同期され得る。上述したノイズ効果(電子デバイスの大部分を同じクロックに同期させることによって引き起こされる共振によって増幅され得る)を最小限にするために、回路設計者は、デバイスの他の参照クロックおよび他の位相シフトしたクロックに位相の点で最も異なる位相シフトしたクロック候補であるように、読み取りクロックを選ぶことを希望し得る。このことは、可能な範囲で、トランジスタの状態が同時に切り替わる程度を最小限にすることを助け得る。例えば、デバイスの多くのブロックが参照クロックに同期されているデバイスにおいて、読み取りクロックは、参照クロックからの半サイクル位相シフトを伴う位相シフトしたクロック候補であるように選ばれ得る。
同様に、いくつかの例では、書き込みクロック(例えば422)は、位相シフトしたクロック候補506A~位相シフトしたクロック候補506Hのうちの1つから選ばれ得る。本例における書き込みクロックは、図2に関して上述した位相シフトしたクロック130Aに対応し得、例として、位相シフトしたクロックドメイン140Bへとデータを送信する位相シフトしたクロックドメイン140Aの全ての部品は、選ばれた書き込みクロックに同期され得る。いくつかの例では、書き込みクロックは、読み取りクロックに関して上述した手順と類似の手順に従って選ばれ得る。いくつかの例では、書き込みクロックは、単に参照クロック(例えば130)のバッファされたバージョンであり得、または、いくつかの場合、参照クロック自身であり得る。
設計者は、デバイスの有意な部分が同期されている参照クロックまたは位相シフトしたクロックの位相シフトと同一の位相シフトを有する位相シフトしたクロックを選ぶことを、可能な範囲で回避することを希望し得る。位相シフトしたクロックドメインにデジタルデバイスを適正に割り当てることによって、かつ、位相の点で十分に異なるそれらの位相シフトしたクロックドメインに対して、位相シフトしたクロックを選ぶことによって、同調して切り替わるトランジスタによって生み出される共振(および付随するノイズ)は、管理され得る。
図6は、第一の位相シフトしたクロックドメイン(例えば140A)に関連付けられた送信ブロックと、第二の位相シフトしたクロックドメイン(例えば140B)に関連付けられた受信ブロックとの間でデータを送信するためにデバイス(例えば、上述したデバイス100)を構成する例となるプロセス600を図示している。示された本例となるプロセスでは、図の左側のステージは、「マスター」送信ブロックによって(例えば上述した非同期転送モジュール310Aによって)実行されるステップに対応し得、図の右側のステージは、「スレーブ」受信モジュールによって(例えば、上述した非同期受信モジュール312Aによって)実行されるステップに対応し得る。しかしながら、他の適切な構成が可能であり、例となるプロセスの様々なステップが、送信ブロックによって実行され得、受信ブロックによって実行され得、送信ブロックおよび受信ブロックから離れた回路構成によって実行され得、または上記の任意の適切な組み合わせによって実行され得る。
ステージ610では、マスターブロックが、位相シフトしたクロックの選択およびデータ送信プロセスを初期化するために、全データバスおよび全制御バスを経由して初期化信号を送り得る。例えば、この初期化信号は、全データバスおよび全制御バスにおいて論理0であり得る。ステージ612では、マスターブロックが、スレーブブロック(例えば614)において全てのラッチにリセットさせるテストパルス(例えば2クロックサイクルパルス)を送り得る。
ステージ616では、スレーブブロックが、上述したレーンクロック選択フェーズに入り得、DLLが、上述したように、望ましい数の位相シフトしたクロック候補を生成し得、位相シフトしたクロック候補は、上述したようにそれぞれのラッチへのクロック入力として提供される。ステージ618では、マスターブロックが、半サイクルデータテストパルスをラッチへと送り得、続いて、信号504に関して上述したような論理低が送られ得る(ステージ620)。そして、マスターブロックは、スレーブからのレディ信号を待つ(ステージ622)。その間、ステージ624では、スレーブブロックのラッチが、上述したようにデータテストパルスをサンプリングする。ステージ626では、スレーブブロックが、上述したような、各データビットに対する好ましいレーンクロックを選び得る。レーンクロックが選ばれると、読み取りクロック(例えば位相シフトしたクロック130Bに対応する)が、上述したように選ばれる(ステージ628)。(いくつかの例では、位相シフトしたクロック130Aに対応し得るもの等の書き込みクロックも、上述したように選ばれ得る。)
レーンクロックおよび読み取りクロックが選ばれた後、スレーブブロックが、クロックが選ばれておりデータ転送が始まるべきであることを指し示すレディ信号を、マスターブロックへと送り得る(ステージ630)。図4に関して上で示されたような、メモリ410に対する読み取りポインタ(ステージ632)および書き込みポインタ(ステージ634)は、このステージで初期化され得る。メモリのデータ完全性を損ない得る潜在的な競合状態を避けるために、読み取りポインタおよび書き込みポインタが、互いからオフセットされる値に初期化されることが望ましくあり得る。読み取りポインタおよび書き込みポインタの初期化に続いて、上述したように、データ送信がマスターブロック(ステージ636)において始まり得、データ受信がスレーブブロック(ステージ638)において始まり得る。
本明細書で開示されるいくつかの実施形態は、ある周波数で動作するように構成された第一のクロックと、第一のクロックと同期するように構成された第一の回路構成と、第一のクロックに基づいて第二のクロックを決めるように構成された第二の回路構成と、第一のクロックの周波数で動作するように構成され、さらに第一のクロックに対する位相シフトを伴って動作するように構成された第二のクロックと、第二のクロックと同期するように構成された第三の回路構成とを備える電子デバイスに向けられる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックを決めることは、複数のクロック候補を生成することであって、複数のクロック候補の各クロック候補は、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、それら複数のクロック候補から第二のクロックを選ぶこととを備える。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックは、複数のクロック候補のうちの、180度に最も近いそれぞれの位相シフトを有するクロック候補であるように選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックは、電子デバイスのトランジスタ共振を減らすように選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、電子デバイスは、ASICであり、第一の回路構成は、ASICの第一の機能ブロックに対応し、第二の回路構成は、ディレイロックループを備え、第三の回路構成は、ASICの第二の機能ブロックに対応する。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、電子デバイスは、さらにメモリを備え、電子デバイスは、メモリに対するデータ書き込み動作(第一のクロックに同期される)を実行するように構成されており、電子デバイスは、さらに、メモリに対するデータ読み取り動作(第二のクロックに同期される)を実行するように構成されている。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第一の回路構成は、さらに、第三の回路構成へとデータを送信するように構成されている。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、電子デバイスは、第一の回路構成および第三の回路構成に電子的に結合されるデータバス(第一のワイヤを含む1つまたは複数のワイヤを備える)をさらに備え、第一の回路構成は、さらに、データバスを介して第三の回路構成へとデータを送信するように構成されており、電子デバイスは、第一のラッチ(第一のワイヤを介してデータを受信するように構成されており、さらに、第一のクロックに基づいて決められる第三のクロックと同期するように構成されている)を含む1つまたは複数のラッチを備え、第一のクロックに基づいて第三のクロックを決めることは、複数のクロック候補を生成することであって、複数のクロック候補の各クロック候補は、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、複数のクロック候補から第三のクロックを選ぶこととを備え、第三のクロックは、データを送信する第一の回路構成と、データを受信する第一のラッチとの間のレイテンシに基づいて、複数のクロック候補から選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、1つまたは複数のラッチのうちの各ラッチは、1つまたは複数のワイヤのうちのそれぞれのワイヤに対応し、それぞれのワイヤを介してデータを受信するように構成されており、1つまたは複数のラッチのうちの各ラッチは、複数のクロック候補から選ばれるそれぞれのクロックと同期するように構成されており、それぞれのクロックは、データを送信する第一の回路構成と、データを受信する、そのそれぞれのラッチとの間のレイテンシに基づいて、複数のクロック候補から選ばれる。
本明細書で開示されるいくつかの実施形態は、第一の回路構成と第二の回路構成と第三の回路構成とを備える電子デバイスにおいて、第一の回路構成をある周波数で動作する第一のクロックと同期させることと、第一のクロックに基づいて第二のクロックを決めることであって、第二のクロックは、第一のクロックの周波数で動作し、さらに、第一のクロックに対する位相シフトを伴って動作する、ことと、第三の回路構成を第二のクロックと同期させることとを備える方法に向けられる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックを決めることは、複数のクロック候補を生成することであって、複数のクロック候補の各クロック候補が、第一のクロックの周波数で動作し、さらに、第一のクロックに対するそれぞれの位相シフトを伴って動作する、ことと、複数のクロック候補から第二のクロックを選ぶこととを備える。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックは、複数のクロック候補のうちの、180度に最も近いそれぞれの位相シフトを有するクロック候補であるように選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第二のクロックは、電子デバイスのトランジスタ共振を減らすように選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第一の回路構成は、ASICの第一の機能ブロックに対応し、第二の回路構成は、ディレイロックループを備え、第三の回路構成は、ASICの第二の機能ブロックに対応する。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、方法は、第一のクロックの遷移に従って電子デバイスのメモリに対するデータ書き込み動作を実行することと、第二のクロックの遷移に従ってメモリに対するデータ読み取り動作を実行することとをさらに備える。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、方法は、第一の回路構成から第三の回路構成へとデータを送信することをさらに備える。
本明細書で開示されるいくつかの実施形態は、データを送信する方法に向けられ、方法は、第一の回路構成をある周波数で動作する第一のクロックと同期させることであって、第一のクロックは、第一のクロックドメインに関連付けられる、ことと、第一のクロックに基づいて第二のクロックを決めることであって、第二のクロックは、第一のクロックの周波数で動作し、さらに、第一のクロックに対する位相シフトを伴って動作し、第二のクロックドメインに関連付けられる、ことと、第二の回路構成を第二のクロックと同期させることであって、第二の回路構成は、データバスに電子的に結合される1つまたは複数のラッチを介して第一の回路構成からデータを受信するように構成されており、データバスは、第一のワイヤを含む1つまたは複数のワイヤを備え、1つまたは複数のラッチは、第一のワイヤを介してデータを受信するように構成された第一のラッチを含む、ことと、複数のクロック候補を生成することであって、複数のクロック候補の各クロック候補が、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、第一のラッチを複数のクロック候補から選ばれる第三のクロックと同期させることと、データバスおよび第一のラッチを介して第一の回路構成から第二の回路構成へとデータを送信することとを備える。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、第三のクロックは、データを送信する第一の回路構成と、データを受信する第一のラッチとの間のレイテンシに基づいて、複数のクロック候補から選ばれる。本明細書で開示される実施形態のうちの1つまたは複数に加えて、または、代えて、いくつかの実施形態では、1つまたは複数のラッチのうちの各ラッチは、1つまたは複数のワイヤのうちのそれぞれのワイヤに対応し、それぞれのワイヤを介してデータを受信するように構成されており、方法は、1つまたは複数のラッチのうちの各ラッチに対して、ラッチと、データを送信する第一の回路構成との間のレイテンシに基づいて複数のクロック候補からそれぞれのクロックを選ぶことと、ラッチをそのそれぞれのクロックに同期させることとをさらに備える。
開示される実施形態が、付属の図面を参照して完全に記述されるが、様々な変更および改良が当業者にとって自明となることが、留意されることとなる。例えば、1つまたは複数の実装形態における要素が、組み合わされ得、削除され得、改良され得、または、さらなる実装形態を形成するために追加され得る。このような変更および改良は、添付の特許請求の範囲によって定義されるものとして開示される実施形態の範疇に含まれていると理解されることとなる。

Claims (19)

  1. ある周波数で動作するように構成された第一のクロックと、
    該第一のクロックと同期するように構成された第一の回路構成と、
    該第一のクロックに基づいて第二のクロックを決めるように構成された第二の回路構成であって、該第二のクロックは、該第一のクロックの該周波数で動作するように構成されており、さらに、該第一のクロックに対する位相シフトを伴って動作するように構成されている、第二の回路構成と、
    該第二のクロックと同期するように構成された第三の回路構成と
    を備える電子デバイス。
  2. 前記第二のクロックを決めることが、
    複数のクロック候補を生成することであって、該複数のクロック候補の各クロック候補が、前記第一のクロックの前記周波数で動作するように構成されており、さらに、該第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、
    該複数のクロック候補から該第二のクロックを選ぶことと
    を備える、請求項1に記載の電子デバイス。
  3. 前記第二のクロックが、前記複数のクロック候補のうちの、180度に最も近いそれぞれの位相シフトを有するクロック候補であるように選ばれる、請求項2に記載の電子デバイス。
  4. 前記第二のクロックが、前記電子デバイスのトランジスタ共振を減らすように選ばれる、請求項2に記載の電子デバイス。
  5. 前記電子デバイスが、ASICであり、前記第一の回路構成が、該ASICの第一の機能ブロックに対応し、前記第二の回路構成が、ディレイロックループを備え、前記第三の回路構成が、該ASICの第二の機能ブロックに対応する、請求項1に記載の電子デバイス。
  6. 前記電子デバイスが、さらにメモリを備え、
    該電子デバイスが、該メモリに対するデータ書き込み動作を実行するように構成されており、該データ書き込み動作は、前記第一のクロックに同期され、
    該電子デバイスが、該メモリに対するデータ読み取り動作を実行するように構成されており、該データ読み取り動作は、前記第二のクロックに同期される、
    請求項1に記載の電子デバイス。
  7. 前記第一の回路構成が、さらに、前記第三の回路構成へとデータを送信するように構成されている、請求項1に記載の電子デバイス。
  8. 前記電子デバイスが、前記第一の回路構成および前記第三の回路構成に電子的に結合されるデータバスをさらに備え、該データバスは、第一のワイヤを含む1つまたは複数のワイヤを備え、
    該第一の回路構成が、さらに、該データバスを介して該第三の回路構成へと前記データを送信するように構成されており、
    該電子デバイスが、第一のラッチを含む1つまたは複数のラッチをさらに備え、該第一のラッチは、該第一のワイヤを介して該データを受信するように構成されており、該第一のラッチは、前記第一のクロックに基づいて決められる第三のクロックと同期するように構成されており、
    該第一のクロックに基づいて該第三のクロックを決めることは、
    複数のクロック候補を生成することであって、該複数のクロック候補のうちの各クロック候補は、該第一のクロックの前記周波数で動作するように構成されており、さらに、該第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、
    該複数のクロック候補から該第三のクロックを選ぶことと
    を備え、
    該第三のクロックが、該データを送信する該第一の回路構成と、該データを受信する該第一のラッチとの間のレイテンシに基づいて該複数のクロック候補から選ばれる、
    請求項7に記載の電子デバイス。
  9. 前記1つまたは複数のラッチのうちの各ラッチが、前記1つまたは複数のワイヤのうちのそれぞれのワイヤに対応し、該それぞれのワイヤを介して前記データを受信するように構成されており、
    該1つまたは複数のラッチのうちの各ラッチが、前記複数のクロック候補から選ばれるそれぞれのクロックと同期するように構成されており、
    それぞれのクロックが、該データを送信する前記第一の回路構成と、該データを受信するそのそれぞれのクロックのラッチとの間のレイテンシに基づいて該複数のクロック候補から選ばれる、
    請求項8に記載の電子デバイス。
  10. 第一の回路構成、第二の回路構成および第三の回路構成を備える電子デバイスにおいて、
    該第一の回路構成をある周波数で動作する第一のクロックと同期させることと、
    該第一のクロックに基づいて第二のクロックを決めることであって、該第二のクロックは、該第一のクロックの該周波数で動作し、さらに、該第一のクロックに対する位相シフトを伴って動作する、ことと、
    該第三の回路構成を該第二のクロックと同期させることと
    を備える、方法。
  11. 前記第二のクロックを決めることが、
    複数のクロック候補を生成することであって、該複数のクロック候補のうちの各クロック候補は、前記第一のクロックの前記周波数で動作し、さらに、該第一のクロックに対するそれぞれの位相シフトを伴って動作する、ことと、
    該複数のクロック候補から該第二のクロックを選ぶことと
    を備える、請求項10に記載の方法。
  12. 前記第二のクロックが、前記複数のクロック候補のうちの、180度に最も近いそれぞれの位相シフトを有するクロック候補であるように選ばれる、請求項11に記載の方法。
  13. 前記第二のクロックが、前記電子デバイスのトランジスタ共振を減らすように選ばれる、請求項11に記載の方法。
  14. 前記第一の回路構成が、ASICの第一の機能ブロックに対応し、前記第二の回路構成が、ディレイロックループを備え、前記第三の回路構成が、該ASICの第二の機能ブロックに対応する、請求項10に記載の方法。
  15. 前記第一のクロックの遷移に従って前記電子デバイスのメモリに対するデータ書き込み動作を実行することと、
    前記第二のクロックの遷移に従って、該メモリに対するデータ読み取り動作を実行することと
    をさらに備える、請求項10に記載の方法。
  16. 前記第一の回路構成から前記第三の回路構成へとデータを送信することをさらに備える、請求項10に記載の方法。
  17. データを送信する方法であって、該方法は、
    第一の回路構成をある周波数で動作する第一のクロックと同期させることであって、該第一のクロックは、第一のクロックドメインに関連付けられる、ことと、
    該第一のクロックに基づいて第二のクロックを決めることであって、該第二のクロックは、該第一のクロックの該周波数で動作し、さらに、該第一のクロックに対する位相シフトを伴って動作し、該第二のクロックは、第二のクロックドメインに関連付けられる、ことと、
    第二の回路構成を該第二のクロックと同期させることであって、該第二の回路構成は、データバスに電子的に結合される1つまたは複数のラッチを介して該第一の回路構成からデータを受信するように構成されており、該データバスは、第一のワイヤを含む1つまたは複数のワイヤを備え、該1つまたは複数のラッチは、該第一のワイヤを介して該データを受信するように構成された第一のラッチを含む、ことと、
    複数のクロック候補を生成することであって、該複数のクロック候補のうちの各クロック候補は、該第一のクロックの該周波数で動作するように構成されており、さらに、該第一のクロックに対するそれぞれの位相シフトを伴って動作するように構成されている、ことと、
    該第一のラッチを該複数のクロック候補から選ばれる第三のクロックと同期させることと、
    該データバスおよび該第一のラッチを介して該第一の回路構成から該第二の回路構成へと該データを送信することと
    を備える、方法。
  18. 前記第三のクロックが、前記データを送信する前記第一の回路構成と、該データを受信する前記第一のラッチとの間のレイテンシに基づいて前記複数のクロック候補から選ばれる、請求項17に記載の方法。
  19. 前記1つまたは複数のラッチのうちの各ラッチが、前記1つまたは複数のワイヤのうちのそれぞれのワイヤに対応し、該それぞれのワイヤを介して前記データを受信するように構成されており、
    前記方法が、
    前記1つまたは複数のラッチのうちの各ラッチに対して、該ラッチと該データを送信する前記第一の回路構成との間のレイテンシに基づいて前記複数のクロック候補からそれぞれのクロックを選ぶことと、該ラッチをそのそれぞれのクロックに同期させることと
    をさらに備える、請求項18に記載の方法。
JP2021522076A 2018-10-24 2019-10-23 非同期asic Pending JP2022505662A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022164507A JP2022183237A (ja) 2018-10-24 2022-10-13 非同期asic

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022164507A Division JP2022183237A (ja) 2018-10-24 2022-10-13 非同期asic

Publications (2)

Publication Number Publication Date
JP2022505662A true JP2022505662A (ja) 2022-01-14
JPWO2020086760A5 JPWO2020086760A5 (ja) 2022-10-21

Family

ID=70331255

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021522076A Pending JP2022505662A (ja) 2018-10-24 2019-10-23 非同期asic
JP2022164507A Pending JP2022183237A (ja) 2018-10-24 2022-10-13 非同期asic

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022164507A Pending JP2022183237A (ja) 2018-10-24 2022-10-13 非同期asic

Country Status (5)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022505662A (ja) 2018-10-24 2022-01-14 マジック リープ, インコーポレイテッド 非同期asic

Family Cites Families (51)

* 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
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
CN1275455C (zh) * 2003-01-27 2006-09-13 松下电器产业株式会社 图像信号处理装置和图像信号处理方法
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
DE102004011672B4 (de) * 2004-03-10 2007-04-05 Texas Instruments Deutschland Gmbh Vorrichtung zur Datensynchronisation
DE102004011673B3 (de) * 2004-03-10 2005-06-02 Texas Instruments Deutschland Gmbh Vorrichtung zur Datensynchronisation
CN1960670B (zh) 2004-04-01 2011-02-23 威廉·C·托奇 用于监控眼睛运动的生物传感器、通信器、和控制器及其使用方法
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
US8638498B2 (en) 2012-01-04 2014-01-28 David D. Bohn Eyebox adjustment for interpupillary distance
US10013053B2 (en) 2012-01-04 2018-07-03 Tobii Ab System for gaze interaction
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
CN104903818B (zh) 2012-12-06 2018-12-14 谷歌有限责任公司 眼睛跟踪佩戴式设备和使用方法
CN105027190B (zh) 2013-01-03 2019-06-21 美达视野股份有限公司 用于虚拟或增强介导视觉的射出空间成像数字眼镜
US20140195918A1 (en) 2013-01-07 2014-07-10 Steven Friedlander Eye tracking user interface
WO2015142350A1 (en) * 2014-03-21 2015-09-24 Empire Technology Development Llc Bandwidth amplification using pre-clocking
US9613679B2 (en) * 2014-11-14 2017-04-04 Cavium, Inc. Controlled dynamic de-alignment of clocks
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
JP2022505662A (ja) 2018-10-24 2022-01-14 マジック リープ, インコーポレイテッド 非同期asic

Also Published As

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

Similar Documents

Publication Publication Date Title
US7796652B2 (en) Programmable asynchronous first-in-first-out (FIFO) structure with merging capability
US7975162B2 (en) Apparatus for aligning input data in semiconductor memory device
US8760325B2 (en) Scheme for balancing skew between lanes of high-speed serial digital interface
US7668022B2 (en) Integrated circuit for clock generation for memory devices
US9201449B1 (en) Method and apparatus for source-synchronous capture using a first-in-first-out unit
CN210168032U (zh) 用于对准高数据速率时钟和数据恢复解串器的采样实例的系统
JPS6223647A (ja) デジタル位相調整装置
US8644439B2 (en) Circuits and methods for signal transfer between different clock domains
US7242737B2 (en) System and method for data phase realignment
JP4672194B2 (ja) 受信回路
US20230367361A1 (en) Asynchronous asic
JP4488872B2 (ja) 位相同期回路及び半導体集積回路装置
US20070186124A1 (en) Data handover unit for transferring data between different clock domains
US7120214B2 (en) Synchronous signal transfer and processing device
US9684332B2 (en) Timing control circuit
US7280628B1 (en) Data capture for a source synchronous interface
US20130002315A1 (en) Asynchronous clock adapter
JP3562416B2 (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
US7290159B2 (en) Fixed latency data computation and chip crossing circuits and methods for synchronous input to output protocol translator supporting multiple reference oscillator frequencies
Fan GALS design methodology based on pausible clocking
Abdelhadi et al. Reconfigurable Synthesizable Synchronization FIFOs
Abasaheb et al. Design of Mesochronous Dual Clock Fifo Buffer with Modified Synchronizer Circuit
US7528642B2 (en) Semiconductor integrated circuit device and method of outputting signals on semiconductor integrated circuit
Kessner Design of a time-slot-interchanger and other TDM bus interfacing issues
JP2011114714A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240304