JP2022183237A - 非同期asic - Google Patents
非同期asic Download PDFInfo
- Publication number
- JP2022183237A JP2022183237A JP2022164507A JP2022164507A JP2022183237A JP 2022183237 A JP2022183237 A JP 2022183237A JP 2022164507 A JP2022164507 A JP 2022164507A JP 2022164507 A JP2022164507 A JP 2022164507A JP 2022183237 A JP2022183237 A JP 2022183237A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- phase
- shifted
- data
- 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
Links
- 230000010363 phase shift Effects 0.000 abstract description 32
- 230000001360 synchronised effect Effects 0.000 description 52
- 238000000034 method Methods 0.000 description 30
- 238000012546 transfer Methods 0.000 description 16
- 230000007704 transition Effects 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0816—Details 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed 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/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
Abstract
【課題】非同期ASICの提供。【解決手段】ある電子デバイスが、開示される。電子デバイスは、ある周波数で動作するように構成された第一のクロックを備える。電子デバイスの第一の回路構成は、第一のクロックと同期するように構成されている。第二の回路構成は、第一のクロックに基づいて第二のクロックを決めるように構成されている。第二のクロックは、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対する位相シフトを伴って動作するように構成されている。第三の回路構成は、第二のクロックと同期するように構成されている。【選択図】なし
Description
(関連出願の相互参照)
本出願は、2018年10月24日に出願された米国仮特許出願第62/750180号に対する優先権を主張し、米国仮特許出願第62/750,180号の内容は、それらの全体が参照によって本明細書に援用される。
本出願は、2018年10月24日に出願された米国仮特許出願第62/750180号に対する優先権を主張し、米国仮特許出願第62/750,180号の内容は、それらの全体が参照によって本明細書に援用される。
(分野)
本開示は、電子回路に関連し、特に、電子デバイスの部品へとクロック信号を提供するためのシステムおよび方法に関連する。
本開示は、電子回路に関連し、特に、電子デバイスの部品へとクロック信号を提供するためのシステムおよび方法に関連する。
(背景)
ほとんど全てのデジタル論理デバイスが、これらのデバイスの電子部品の、時間を合わせされた挙動を始動させるために、または制御するためにクロック信号を使用している。例えば、レジスタのクロック入力へと提供されたクロック信号は、レジスタに、データ入力をデータ出力へと伝えさせる。低レベルでは、クロック信号(例えば、論理1と論理0とを交互に繰り返す周期性デジタル論理信号)は、1つまたは複数の半導体デバイス(例えば、レジスタのトランジスタ)に、伝導状態から非伝導状態へと切り替わらせ得、またはその逆をさせ得る。
ほとんど全てのデジタル論理デバイスが、これらのデバイスの電子部品の、時間を合わせされた挙動を始動させるために、または制御するためにクロック信号を使用している。例えば、レジスタのクロック入力へと提供されたクロック信号は、レジスタに、データ入力をデータ出力へと伝えさせる。低レベルでは、クロック信号(例えば、論理1と論理0とを交互に繰り返す周期性デジタル論理信号)は、1つまたは複数の半導体デバイス(例えば、レジスタのトランジスタ)に、伝導状態から非伝導状態へと切り替わらせ得、またはその逆をさせ得る。
特定用途向け集積回路(ASIC)を含むデバイスでは、ASICは、個別の機能ユニット(または「ブロック」)を、ブロックのローカルクロックに同期されている各ブロックのレジスタを伴って含むと考えられ得る。ブロックは、ブロックに関連付けられた1つまたは複数の機能を実行するように構成された(プログラム可能な論理回路構成を含む)回路構成を含み得る。いわゆる同期回路設計では、2つまたはそれより多いブロックが、単一の「クロックドメイン」において同じグローバルクロックに同期され得る。クロックドメイン内でブロックを同期することによって、同期回路は、複数の独立なローカルクロックを用いることに共通する問題、すなわち、補正するために非効率なリバッファリングオペレーションを必要とし得るクロックドリフトを回避し得る。しかしながら、同じクロック信号を複数のクロックへと同時に提供することによって、同期回路は、一度に切り替わる多数のトランジスタによって引き起こされる共振回路ノイズ(「トランジスタ共振」)等の不要な高次効果を経験し得る。現代のデジタルデバイスに対しては、このようなトランジスタの数は驚異的(いくつかのデバイスに対しては数百億のオーダー)であり、結果として生じる共振回路ノイズは、極めて顕著となり得る。その上、これらの不要な効果は、クロック周波数が増大するにつれて増幅され得る。同期されたクロックがもたらし得る不要なノイズを回避しつつ同期されたクロックの利点を保持する計時スキームを利用することが望ましい。本明細書に記載されるように、このことは、クロックドメインを「位相シフトしたクロックドメイン」へと分割することによって達成され得、ここで、位相シフトしたクロックドメインは、データを非同期的にやりとりするが、共通のリファレンスクロックから派生した「位相シフトしたクロック」に同期される。
(簡単な概要)
デジタルデバイスにおいてクロック信号を示すためのシステムおよび方法が、開示される。いくつかの例では、ある周波数で動作するように構成された第一のクロックを備えた電子デバイスが、開示される。電子デバイスの第一の回路構成は、第一のクロックと同期するように構成されている。第二の回路構成は、第一のクロックに基づいて第二のクロックを決めるように構成されている。第二のクロックは、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対する位相シフトを伴って動作するように構成されている。第三の回路構成は、第二のクロックと同期するように構成されている。
本発明は、例えば、以下を提供する。
(項目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に記載の方法。
デジタルデバイスにおいてクロック信号を示すためのシステムおよび方法が、開示される。いくつかの例では、ある周波数で動作するように構成された第一のクロックを備えた電子デバイスが、開示される。電子デバイスの第一の回路構成は、第一のクロックと同期するように構成されている。第二の回路構成は、第一のクロックに基づいて第二のクロックを決めるように構成されている。第二のクロックは、第一のクロックの周波数で動作するように構成されており、さらに、第一のクロックに対する位相シフトを伴って動作するように構成されている。第三の回路構成は、第二のクロックと同期するように構成されている。
本発明は、例えば、以下を提供する。
(項目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に記載の方法。
(図面の簡単な説明)
図1は、いくつかの実施形態に従った、クロックドメインへとグループ化されたブロックを伴う例となる電子デバイスを図示している。
(詳細な説明)
以下の例の説明では、本明細書の一部を形成する付属の図面への参照がなされ、図中では、実践され得る具体的な例が、図示によって示されている。他の例が用いられ得ることと、開示される例の範囲を逸脱せずに構造の変更がなされ得ることとが理解されることとなる。
以下の例の説明では、本明細書の一部を形成する付属の図面への参照がなされ、図中では、実践され得る具体的な例が、図示によって示されている。他の例が用いられ得ることと、開示される例の範囲を逸脱せずに構造の変更がなされ得ることとが理解されることとなる。
図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 (1)
- 本明細書に記載の発明。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862750180P | 2018-10-24 | 2018-10-24 | |
US62/750,180 | 2018-10-24 | ||
JP2021522076A JP2022505662A (ja) | 2018-10-24 | 2019-10-23 | 非同期asic |
PCT/US2019/057723 WO2020086760A2 (en) | 2018-10-24 | 2019-10-23 | Asynchronous asic |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021522076A Division JP2022505662A (ja) | 2018-10-24 | 2019-10-23 | 非同期asic |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022183237A true JP2022183237A (ja) | 2022-12-08 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021522076A Pending JP2022505662A (ja) | 2018-10-24 | 2019-10-23 | 非同期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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022505662A (ja) | 2018-10-24 | 2022-01-14 | マジック リープ, インコーポレイテッド | 非同期asic |
Family Cites Families (51)
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 |
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 |
CA2967756C (en) | 2004-04-01 | 2018-08-28 | Google Inc. | 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 | 삼성전자주식회사 | 글리치를 유발하지 않는 클럭 스위칭 회로 |
US20070081123A1 (en) | 2005-10-07 | 2007-04-12 | Lewis Scott W | Digital eyewear |
US8696113B2 (en) | 2005-10-07 | 2014-04-15 | Percept Technologies Inc. | Enhanced optical and perceptual 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 |
WO2014089542A1 (en) | 2012-12-06 | 2014-06-12 | Eyefluence, Inc. | Eye tracking wearable devices and methods for use |
CA2896985A1 (en) | 2013-01-03 | 2014-07-10 | Meta Company | Extramissive spatial imaging digital eye glass for virtual or augmediated vision |
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 |
-
2019
- 2019-10-23 JP JP2021522076A patent/JP2022505662A/ja active Pending
- 2019-10-23 WO PCT/US2019/057723 patent/WO2020086760A2/en unknown
- 2019-10-23 EP EP19874942.6A patent/EP3871062A4/en active Pending
- 2019-10-23 CN CN201980085678.5A patent/CN113227935A/zh active Pending
- 2019-10-23 US US17/288,457 patent/US11487316B2/en active Active
-
2022
- 2022-09-22 US US17/950,808 patent/US11619965B2/en active Active
- 2022-10-13 JP JP2022164507A patent/JP2022183237A/ja active Pending
-
2023
- 2023-02-27 US US18/175,466 patent/US11747856B2/en active Active
- 2023-07-25 US US18/358,623 patent/US20230367361A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11619965B2 (en) | 2023-04-04 |
WO2020086760A3 (en) | 2020-07-30 |
US20210382520A1 (en) | 2021-12-09 |
CN113227935A (zh) | 2021-08-06 |
US20230367361A1 (en) | 2023-11-16 |
US11487316B2 (en) | 2022-11-01 |
EP3871062A2 (en) | 2021-09-01 |
EP3871062A4 (en) | 2021-12-29 |
US11747856B2 (en) | 2023-09-05 |
US20230018203A1 (en) | 2023-01-19 |
JP2022505662A (ja) | 2022-01-14 |
US20230205257A1 (en) | 2023-06-29 |
WO2020086760A2 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
US10355851B2 (en) | Methods and systems for synchronization between multiple clock domains | |
CN210168032U (zh) | 用于对准高数据速率时钟和数据恢复解串器的采样实例的系统 | |
US7668022B2 (en) | Integrated circuit for clock generation for memory devices | |
US20080005402A1 (en) | Gals-based network-on-chip and data transfer method thereof | |
US7821850B2 (en) | Semiconductor digital circuit, FIFO buffer circuit, and data transferring method | |
US7340021B1 (en) | Dynamic phase alignment and clock recovery circuitry | |
US20230367361A1 (en) | Asynchronous asic | |
US20080072094A1 (en) | Asynchronous data holding circuit | |
US20050008110A1 (en) | System and method for data phase realignment | |
JP4748896B2 (ja) | 同期型データ転送処理装置 | |
US7280628B1 (en) | Data capture for a source synchronous interface | |
US6775339B1 (en) | Circuit design for high-speed digital communication | |
US6760392B1 (en) | Method and apparatus to provide fixed latency early response in a system with multiple clock domains with fixable clock ratios | |
US20130002315A1 (en) | Asynchronous clock adapter | |
Caputa et al. | An on-chip delay-and skew-insensitive multicycle communication scheme | |
JP4952177B2 (ja) | 記憶装置 | |
JP3562416B2 (ja) | Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式 | |
US6901526B1 (en) | Digital bus synchronizer for generating read reset signal | |
JP2002141922A (ja) | ループ型バスシステム | |
US7528642B2 (en) | Semiconductor integrated circuit device and method of outputting signals on semiconductor integrated circuit | |
US6128356A (en) | CMOS circuit composed of CMOS circuit blocks arranged in bit-parallel data paths | |
US20070170970A1 (en) | Semiconductor device and data input/output system | |
Kessner | Design of a time-slot-interchanger and other TDM bus interfacing issues | |
Jackson | Gradual Synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20231220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240315 |