JP3870162B2 - 高速シグナリングのデータ・キャプチャ技法 - Google Patents

高速シグナリングのデータ・キャプチャ技法 Download PDF

Info

Publication number
JP3870162B2
JP3870162B2 JP2002568558A JP2002568558A JP3870162B2 JP 3870162 B2 JP3870162 B2 JP 3870162B2 JP 2002568558 A JP2002568558 A JP 2002568558A JP 2002568558 A JP2002568558 A JP 2002568558A JP 3870162 B2 JP3870162 B2 JP 3870162B2
Authority
JP
Japan
Prior art keywords
data
eye
register
history
clock
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.)
Expired - Fee Related
Application number
JP2002568558A
Other languages
English (en)
Other versions
JP2004531117A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004531117A publication Critical patent/JP2004531117A/ja
Application granted granted Critical
Publication of JP3870162B2 publication Critical patent/JP3870162B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/16Combinations of two or more pumps ; Producing two or more separate gas flows
    • F04D25/166Combinations of two or more pumps ; Producing two or more separate gas flows using fans
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D27/00Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
    • F04D27/004Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery
    • 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
    • H04L7/0338Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/70Control systems characterised by their outputs; Constructional details thereof
    • F24F11/72Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
    • F24F11/74Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity
    • F24F11/77Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity by controlling the speed of ventilators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/70Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mechanical Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Thermal Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Peptides Or Proteins (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、全般的には高速シグナリングのデータ・キャプチャ技法に関し、具体的には、非同期データ・ストリームの最適サンプリングを可能にする技法に関する。この技法を用いると、極端に高いデータ・レートが可能になり、ソース同期システムで行われている、クロックをデータと共に送ることは必要でない。
本発明は、最適な2ビット同時双方向(SiBiDi、SimultaneousBi-Directional)シグナリングの伝送遅延を自動的に調整するハードウェア機構も提供する。
重要な計算の大きいクラスを、大量並列(massively parallel)コンピュータ・システムによって実行することができる。そのようなシステムは、多数の同一の計算ノードからなり、各計算ノードは、通常は、1つまたは複数のCPU、メモリ、およびそのノードを他のノードに接続する1つまたは複数のネットワーク・インターフェースからなる。
大量並列スーパーコンピュータに関する、2001年2月24日出願の関連出願である米国仮出願番号60/271,124に記載のコンピュータでは、システムオンアチップ(SOC、system-on-a-chip)技術を活用して、高いスループットを有する、スケーラブルでコスト効率のよいコンピューティング・システムが作成される。SOC技術によって、集積された第1レベル・キャッシュを伴うCPUコアを含む組込み構成要素のライブラリを使用して、単一のチップ上でマルチプロセッサ・ノード全体を作ることが可能になった。そのようなパッケージ化によって、ノードの構成要素カウントが大きく減り、信頼性がある大スケール計算機の作成が可能になる。
本発明は、たとえば生命科学の分野のアプリケーションなどのさまざまなアプリケーションに使用される大量並列コンピュータの分野に関する。具体的には、本発明は、高速シグナリングの分野に関し、単一方向シグナリングまたは同時双方向(SiBiDi)シグナリングのいずれかに関する。
大量のデータ転送が必要であるが、使用できるワイヤの数が限られている場合がある。同時双方向(SiBiDi)シグナリングを用いると、同一のワイヤを使用して送出と受取を同時に行うことができる。これによって、ワイヤの数が半分に減る。大量のデータ転送が必要であるが、ケーブルの数が厳しく制限される場合の例が、ワイヤを介して通信する数千個のプロセッサを有する大型並列スーパー・コンピュータである。
SiBiDiシグナリングは、データを受け取るのと同一のワイヤでデータを送ることによって動作する。したがって、受取中に、ワイヤの他端から送られた所望のデータだけではなく、送出したばかりのデータも受け取られる。もちろん、これによって、所望の信号が崩れる。しかし、送られたばかりのデータがわかっているので、「それを減算する」ことができる。これは、標準SiBiDi回路によって行われる。
米国仮出願番号60/271,124
したがって、本発明の主目的は、高速シグナリングに関するデータ・キャプチャ技法を提供すること、特に、データ・ストリームと共にクロック信号を送らない、非同期データ・ストリームの最適なサンプリングおよびキャプチャを可能にすることである。
上記課題を解決するにあたり、データは、一連の遅延タップを有するクロックド遅延線(clockeddelay line)にデータ・ストリームのシリアル・ビットを送り、クロックを用いて遅延タップのすべてをサンプリングすることによってキャプチャされる。各遅延タップ出力を、隣接遅延タップ出力と比較して、同一であるかどうかを判定し、この比較を使用して、クロックド・ストリングを形成して、データ・ヒストリ・レコードを生成し、このデータ・ヒストリ・レコードを検査して、データが隣接する遅延タップの間で推移しない、最適データ・キャプチャ・アイとして検出されるデータ・キャプチャ・アイを探すことによって、最適データ・キャプチャ・アイを判定する。
本発明のもう1つの目的は、2ビットSiBiDiシグナリングの信号品質を改善するための、最適な2ビットSiBiDiシグナリングの伝送遅延を自動的に調整するハードウェア機構を提供することである。特殊なハードウェア・アルゴリズムが、実施され、2つのノードのハードウェア・アルゴリズムによってセットアップ・シーケンス中に設定パラメータを安全に交換できるようにするために、2ビットのそれぞれが、単一方向チャネルで使用される。同一周波数の単一方向チャネルは、SiBiDiチャネルの半分の帯域幅を有するが、かなり良い信号品質を有する。
高速シグナリングのデータ・キャプチャ技法に関する本発明の前述の目的および利点は、添付図面と共に以下の本発明の実施形態の詳細な説明を参照することによって、当業者が簡単に理解することができる。添付図面では、類似する要素が、複数の図面を通じて同一の符号によって指定される。
概要
本発明は、コンピュータ業界の長年にわたる2つの問題すなわち、(1)クロック・サイクル単位で測定される、プロセッサとメモリの間の距離の増加、および(2)主流の単一プロセッサまたは対称型マルチプロセッサから作られる並列コンピュータの高い電力密度を解決する、大量並列スーパーコンピュータ内の相互接続を実施するのに使用されるように設計されている。
本発明は、全般的には、高速シグナリングのデータ・キャプチャ技法に関し、具体的には、非同期データ・ストリームの最適サンプリングを可能にする技法に関する。この技法を用いると、極端に高いデータ・レートが可能になり、ソース同期システムで行われている、クロックをデータと共に送ることは必要でない。
シリアル・リンクの調査
大量並列スーパーコンピュータのノードを接続するシリアル・リンクの目標帯域幅は、1.4Gb/s(各方向)である。この帯域幅は、両方向でなければならない。両方向要件は、複数の形で処理することができる。どの場合も、低電力であり低コストであるという制約が共通する。選り抜きの実施形態が、処理ノード内のASICに集積される。この手法に関連する特定の課題が、低電力制約である。これが、リンク伝送に関する相対位相情報の欠如と組み合わされて、標準PLLクロック設計およびデータ回復設計が排除される。この場合には、位相を、PLLを使用せずに、データ自体から高い信頼性で抽出しなければならない。
ディジタル・データ・キャプチャ
概要
本明細書で、ディジタル・データ・キャプチャ技法を詳細に説明する。図1に、2Gビット・レートのシリアル・データをキャプチャでき、ローカル・クロック・ドメインに移すことができるデータ受取マクロを示す。目標は、少数のセルを使用して低電力で信頼性のある形でこれを行うことである。図2に、データ受け取りマクロよりかなり単純な送出マクロ・ブロックを示す。これは、本明細書の第2セクションで説明する。これによって、ビット時間の半分の周波数である内部クロックを可能にするDDR(ダブル・データ・レート)スタイルのデータ回復を説明する。これは、望まれる場合に、SDR(シングル・データ・レート)モードで使用するか、クワッド・データ・レート・スキームに拡張することができる。
図1に戻って、データ受取マクロに入力されるデータは、2Gb/s入力シリアル・データの2つのデータ・ストリームであり、これは、4Gb/sの総データ・ストリームを表し、データ出力は、500MHzのバイト幅(8ビット幅)の1つのデータ・ストリームである。他の入力信号は、1GHzクロック、データ・キャプチャ・マクロを既知の状態にリセットするリセット信号、データを回復するために最適アイ(データが推移せず、したがって、データ・エラーを有する可能性が最も低い、最も正確なデータ・キャプチャ位置である可能性が高い、複数タップ遅延線に沿った位置またはステージ(図3、4、および5参照))を見つけるようにマクロに指示するトレーン信号、データが受け取られていない時にマクロによって受け取られる所定のアイドル・データ・パターンであるアイドル・バイト信号、ダブル・データ・レート・モードで動作するようにマクロに指示するDDRモード、および最適データまたは最適アイドル・アイを見つけるための制約パラメータである最小距離である。他の出力信号には、アイドル・パターンの有効な受け取りを示す有効アイドル信号、最適アイの位置およびパラメータが検出されていることを示すEye_found信号、最適アイ位置がロックされたことを示すLocked信号、最適アイ位置が、複数タップ・ディジタル遅延線の一端に近すぎることによって、失われる危険性があることを示す警告信号が含まれる。
図1のマクロを、図3、4、5、6、7、8、および9に関してさらに説明する。
受け取りマクロの待ち時間は、データのバイト・フェーズに応じて、7と12の間のビット時間である。バイト出力をスキップすることによって、待ち時間を5から6ビット時間まで短縮することができる。これは、データ内容を無視できる信号再駆動に適度な手法である。
図2は、500MHzで1バイト幅のデータ入力を受け取り、2つのデータ・ストリームのデータ出力を作る、データ送出マクロ・ブロックを示す図である。2つのデータ・ストリームのデータ出力は、それぞれが2Gb/sシリアル・データであり、下で説明される単一方向またはSiBiDi(同時双方向)の差動データ・リンクを介して送出され、図1のデータ・キャプチャ・マクロに入力されるデータになる。さらなる入力が、バイト有効信号であり、これは、有効なデータ信号が受け取られつつあることを示し、アイドル信号ではなくこの信号が送られ、さらなる入力が、1GHzクロック信号と、データ送出マクロを既知の状態にリセットするリセット信号である。
図3、4、および5に、データの受け取りおよびキャプチャを示す。データは、高速タップ付き遅延線(図3、4、および5参照)にデータ・ビットを送り、ローカル・クロックを用いてすべてのタップをサンプリングすることによってキャプチャされる。各タップをその隣と比較して(図3および5参照)、同一であるかどうかを調べる。これらの比較の集団が、クロックド・ストリング(clocked string)を形成し、このクロックド・ストリングが、前のクロックド・ストリングと組み合わされて、最適サンプリング点の判定に使用することができるヒストリが生成される。最適サンプリング点は、データが遅延タップの間で変化しない領域(本明細書では「アイ」と称する)を探すことによって、ヒストリ・ストリングから見つけることができる(図5、レジスタA、B、C、およびD参照)。ヒストリは、ローカル・クロックごとなど、周期的に更新される。周期的更新によって、異なる構成要素の温度または周波数の変化など、変化するパラメータについて補償することができる。低い頻度で更新される3つの追加の「アイ」パイプライン式レジスタがある(図5、レジスタB、C、およびD参照)。これによって、プログラム可能な永続性期間を有すると同時に、分離されたビット・エラーに対して免疫性の、キャプチャ方式を開発できるようになる。永続性時間は、任意の長さに設定することができるが、信頼性のある形でデータ・エッジをサンプリングするのに必要な最大時間より短くしてはならない。ローカル・クロック期間より高速のビット・サンプル時間に対応するために、クロックの両方のエッジが、DDRデータのキャプチャに使用される(図3および4参照)。クロックの各エッジは、最適なアイを見つけるために、それ自体の関連するキャプチャ・レジスタおよび独立の論理を有する。したがって、この技法は、ローカル・クロックおよび送出側クロックのデューティ・サイクルの非対称性に対して十分に免疫性である。
ヒストリ・レジスタが変化する際に、最適サンプリング点も移動する。この更新は、永続性時間より短い時間スケールで行われなければならない。この機能は、ヒストグラムおよびサンプリング点判定ユニットで行われる。
このデータ・キャプチャの方法には、システム・リセットまたは別々の「トレーン」信号のアサートのいずれかの後に進行する2ステージの初期化が含まれる。
・ステージ1:リセットまたは「トレーン」信号(図1および2参照)の後に、ヒストリ・レジスタがフラッシュされ、新しいヒストリ・パターンが、3つの「アイ」レジスタに獲得される。「アイ」レジスタの有効な組を獲得した後に、最良のサンプリング点が、状態機械シーケンス(図11および12参照)を介して判定される。これは、クロックのフェーズごとに独立に行われる。これらのサンプリング点が、使用され、2ビットが、すべてのシステム・クロックの際に次のステージに転送される。
・ステージ2:2ビットが、受け取られ、シフト・レジスタに挿入され、このシフト・レジスタが、適当なニブル(1/2バイトまたは4ビット)境界を可能にするためにバレル・シフタと共に使用される(図9参照)。境界は、初期化シーケンス中の一意のアイドル・ニブル・パターンの使用を介して発見される。
クロックド遅延線ブロック:
図4および5に、シリアル・データが左側のインバータIに入り、組み合わされた一連のインバータを通過する(インバータのそれぞれが、遅延の増分を追加する)クロックド遅延線の実施形態を示す。各インバータ出力には、2つのレジスタ・ラッチFF(図3から5)があり、一方のFFは、クロックの正エッジによってクロッキングされ、他方のFFは、負エッジによってクロッキングされる。これによって、この論理が、クロック・レートの2倍でデータをキャプチャできるようになる。ラッチの一方のバンクが、正クロック・フェーズのデータ・アイをキャプチャし、ラッチの他方のバンクが、負クロック・フェーズのデータ・アイをキャプチャする。両方のアイが、別々に検出され、サンプリングされ、図5に示されているように、各クロック・フェーズで別々の回路が必要になる。独立の正負のクロックド論理回路は、クロック信号のデューティ・サイクル、特にローカルと送出側のクロックのデューティ・サイクルの非対称性に対する非常に小さい依存性をもたらす。
このモジュールは、その入力として、入力レシーバの後の高速信号を有する。このモジュールへの唯一の他の入力は、すべてのフリップ・フロップに同じ回数だけファン・アウトされるローカル・クロックである。このモジュールの唯一の出力は、N+1個のクロックド遅延タップD[0:N]である。各タップは、立ち上がりエッジと立ち下がりエッジの間の比較的よい一致を伴い、約50psである。立ち下がり遅延と立ち上がり遅延の間に必要な一致は、約20から30%である。クロックが、すべての隣接するラッチに〜10ps以内で等しい時間である必要がある。これは、クロック・ツリーよりもタップ付きクロック線によってよりよく達成される可能性がある。多数のこれらのデータ・キャプチャ回路が実施される可能性があり、したがって、電力がクリティカルである。
このモジュールは、レイアウトにクリティカルであり、したがって、余分なレイアウト考慮事項を必要とする。テスト・チップの目的に関して、要素の数を32個に固定する。これによって、約1.6nsecの公称総遅延が与えられるが、これは、約1Gb/sまでの周波数でDDRデータをキャプチャするのに十分である。
図3および5、特に図5を参照すると、各レジスタFF(フリップ・フロップ)の出力は、排他的論理和ゲートXORに向けられ、このXORは、遅延線の次のレジスタFFからの入力も受け取る。遅延線の第1ステージおよび第2ステージを参照すると、データ・ビットが、第2レジスタFFに入る前に第2インバータによって反転されるので、データ・ビットが、2つの連続するステージの間で推移をこうむらない場合に、第1レジスタおよび第2レジスタが、反対の値を保持し、第1ステージXORが、1を作り、このステージの間に推移がないことが示される。逆に、データ・ビットが、2つの連続するステージの間に推移をこうむる場合に、第1レジスタおよび第2レジスタが、同一の値を保持し、第1ステージXORが、0を作り、このステージの間に推移があったことが示される。
図5のシステムは、データが推移をこうむらない、クロックド遅延線に沿った、データを検出するのに安定した位置またはアイを探しており、この位置またはアイは、一連の連続したXORからの一連の1の出力によって示され、データ検出アイが、一連の1の中央に位置合せされなければならない。各XORの出力は、ANDゲートに入力され、このANDゲートの出力は、レジスタAに入力され、レジスタAは、一連のFF(フリップ・フロップ)ヒストリ・レジスタA、B、C、およびDの最初のレジスタである。最初のレジスタAは、最大の1Ghzクロック・レートでサンプリングされ、比較的遅いクロック・レート、たとえば1ミリ秒より長いレートのSet to high信号によって周期的にハイにリセットされるが、レジスタB、C、およびDは、Set to highと同一のクロック論理レートでサンプリングされ、更新される。
レジスタAは、>1msクロック・レートのクロックによってハイ1出力にセットまたはリセットされ、リセットの後に、XORの出力が1である場合に、ANDゲートの出力が1であり、レジスタAの出力は1であり、これは、その後、レジスタB、C、およびDを介して直列にクロッキングされる(レジスタB、C、およびDのロード(ld)入力への更新信号によって)。逆に、XORの出力が0であり、レジスタAの出力が1にセットまたはリセットされる場合に、ANDゲートの出力は0であり、レジスタAは0を出力し、これが、その後、レジスタB、C、およびDを介して直列にクロッキングされる。この配置は、レジスタAの出力が0になったならば、レジスタAがSet to high信号によってリセットされるまで0のままになり、レジスタB、C、およびDのそれぞれの出力が、直列に0にクロッキングされ、レジスタAがSet to high信号によって1にリセットされるまで0のままになるようになっている。
ヒストリ・レジスタB、C、およびDのそれぞれの出力は、3中2論理要素に入力され、この3中2論理要素は、3つの入力のいずれか2つが1である場合に1またはハイ(H)出力を作る。3中2論理の目的は、ディジタル遅延線を介するデータ・ストリーム内のグリッチ(これによって、3つの入力のうちの1つが誤って0にされる可能性がある)を補償し、データ・グリッチがあっても正確な出力を作ることである。さらに、3中2論理検出の発生を、カウントし、受け取られるデータの保全性の表示として報告することができる。H出力(0からN−1まで)は、図に示されているように、図8のMUXへの入力である。一般に、H出力の1のストリングによって、1のストリングの中央にセンタリングされなければならないデータ・サンプリング・アイのよい候補が示される。
図3に、インステージ(instage)2ビット・マクロ・ブロックを示すが、そのほとんどは、図5に関して説明した。ヒストグラムおよびサンプリング点判定ユニットには、ANDゲートと、図5のヒストリ・レジスタおよび3中2論理と、図8のMUXと、図11および12の状態図が含まれる。このマクロ・ブロックには、MUXも含まれ、このMUXは、入力としてディジタル遅延線のFFレジスタの出力のすべてを受け取り、図5の最下部の信号H[0]、H[1]、およびH[N−1]の制御の下でData outとしてこれらの入力を選択的に通過させる。
ヒストリ・ブロック:
図5に、ヒストリ論理ブロックを示すが、このヒストリ論理ブロックによって、クロック遅延線ブロックの延長が示され、1クロック・フェーズが示される。同一の回路が、他のクロック・フェーズに必要である。図5に示されたインバータ・ストリングは、両方のクロック・フェーズに共通する。
サンプリング点ブロック:
サンプリング点ブロックは、クロック・フェーズごとに1つの、2つの最適サンプリング点を判定する状態図によって最も簡単に説明される。サンプリング点は、頻繁に更新されない(更新の間に少なくとも50クロック)ので、複数クロック処理を使用して、最適なサンプリング点を見つけることができる。
図6および7に、データおよびヒストリ・サンプルMUXを示す。このサンプリングMUXは、それぞれD_even[N:0]およびD_odd[N:0]という入力を有し、この入力のそれぞれが、図3の最下部に示されたMUXに対応し、リーディング・エッジ・クロック・フェーズおよび立ち下がりエッジ・クロック・フェーズのそれぞれについて1つずつある。図8のMUXは、前に説明したように、図5の最下部の出力信号を受け取る。
2つの2ビット・マクロの組合せ
図9に、シリアル・ビット組合せおよびバイト位置合わせ論理を示す。このシリアル・ビット組合せおよびバイト位置合わせ論理は、クロック・サイクルごとに4データ・ビットをキャプチャできる対にされたリンクとして使用され、2つの2ビット・マクロ(図3に図示)を組み合わせ、2つの入力データ・ストリームの間の正しいバイト位置合わせを見つけ、2つの入力データ・ストリームは、それぞれ2Ghzであり、2つの2ビット・マクロ70(図3に図示)に入力される。2つの入力信号は、正しいバイト位置合わせで組み合わされる、図1の入力信号とみなすことができる。図3の2つの2ビット・マクロの出力は、それぞれ1Ghzの2つのデータ・ストリームであり、これが、レジスタ71に入力され、レジスタ71は、2つのデータ・ストリームを遅延させ、標準化し、このデータ・ストリームが、12ビット・シフト・レジスタ72に入力され、シフト・レジスタ72は、半分の速度Clk/2でクロッキングされ、2つのデータ・ストリームを、500Mhzの12ビット幅データ・ストリームに変換する。これらは、論理73およびバレル・シフタ74に入力され、バレル・シフタ74は、2つの12ビット幅データ・ストリームの24ビット入力を有し、本質的に、論理73の制御下で24ビットのうちの正しく位置合せされた8ビットを選択して、バレル・レジスタの正しいビット・シフトを判定する。論理73では、既知のトレーニング・パターンを使用して、2つの4ビット幅出力を作り、この2つの4ビット幅出力によって、バレル・シフタを制御する。論理73は、本質的に、ソフトウェア制御の下で、バレル・シフタの正しいビット・シフトがわかるまで、クロックド遅延線を介して同一の既知のデータ・トレーニング・パターンを再送信し続ける。バレル・シフタは、論理の制御下で、24ビット入力のうちの最善の8つの正しく位置合せされた8ビットを選択的に選択して、Byte outputとして渡す。
状態図:
アイ検出のフロー
図10に、アイ検出流れ図でアイ検出処理の全般的な流れを示すが、この図は、リセット80から開始され、ここで、システムが既知の値に初期化され、これにブロック81が続き、ブロック81では、十分な数のデータ推移を待って、アイのきれいな判定を保証する。ブロック82で、偶数アイ・ヒストリ・レジスタ内の1および0を調べて、立ち上がりエッジ・クロックド・データに対応する偶数アイを判定し、クロックド遅延線を介する最小の遅延を有する最初のアイを選択する。ブロック83で、奇数アイに関して同一のことを行い、奇数アイ・ヒストリ・レジスタの1および0を調べて、立ち下がりエッジ・クロックド・データに対応する奇数アイを判定し、クロックド遅延線を介する最小の遅延を有する奇数アイを選択する。
遅延線に沿った異なる位置に対応する複数の異なる偶数フェーズ・アイおよび奇数フェーズ・アイが存在する可能性があり、したがって、最小遅延のアイを検出した後に、この流れ図は、ブロック84からブロック82に再循環して、次に大きい遅延を有するアイの次の対を見つけ、対応する偶数フェーズ・アイおよび奇数フェーズ・アイについて遅延線の長さ全体が検査されるまで、論理制御はブロック82への再循環を継続する。ブロック84で、各次に検出されたアイ対を、最良の前に検出されたアイ対と比較し、最良のアイ対を保持し、候補アイ対のすべての最良のアイ対を選択するようにするが、この機能は、図9の論理73によって実行される。
この点で、論理73は、ブロック85で、ビットの既知のシーケンスなどの既知のトレーニング・パターンである「位置合わせ」パケットを待って、この時点で未知のバイト境界を確立する。位置合わせトレーニング・パターンによって、図9の論理73によってバイト境界を確立した後に、これも論理73に対応するブロック86で、バレル・シフタへの位置合わせ入力をセットして、Byte outとして正しく位置合せされた8ビットを選択し、渡すようにバレル・シフタ74を位置合せし、論理73は、locked出力信号も作る。バレル・シフタは、通常のデータの受取中に、Byte outとして8つの正しく位置合せされたビットを渡す準備ができる。
ブロック87は、データ・サンプリング・アイが常時更新されていることを示す。好ましい再位置合わせは、既存の偶数データ・サンプリング・アイおよび奇数データ・サンプリング・アイから開始され、既存のアイの左右を調べて、アイの左右のエッジを判定し、図11に関して説明するように、偶数フェーズ・アイと奇数フェーズ・アイの中央をその左右のエッジの間に再位置合せする。
トレーニング・アイ検出の状態図
図11に、その間にアイ位置サンプル点が決定されるフェーズの状態フローを示す、2つの2ビット・マクロ状態図1/2を示す。この状態フローは、概して図10のブロック82および83に対応する。
図11では、図5の最下部の出力に対応する、図8のMUXへのH[N−1:0]入力が、次々にサンプリングされ、1時に1つずつ、図8のMUXの渡される出力Hsampとして検査される。最初のビットH[0]は、アイの外のデータ推移を示す0、またはおそらくはアイの中のデータ推移なしを示す1のいずれかであるが、図11のステップのシーケンスで検査され、図11では、0はSamp(サンプル)=0として示され、1はSamp=1として示されている。最初のビットH[0]を、図11のステップS0からSUMMARYのすべてを介して検査した後に、第2のビットH[1]が、同一のステップのシーケンスを介して検査され、最後のビットH[N−1]が検査されるまで、同様に検査される。
図11の2ビット・マクロ状態図1/2の状態は、次の通りである:
・S0は、リセット状態である。リセットがアクティブである間は、制御はここに留まる。
・S1は、初期化状態である。リセットが解放された後に、更新カウンタが満了するまで、制御はここに留まり、その後、samp=0(図5の検査されるタップが、0を作り、したがって、アイの中ではないことを示す)の場合にはS2、samp=1(検査れるタップの出力が、1であり、おそらくはアイの一部である)の場合にはS3に進む。
状態S2からS3.5では、アイ遅延線ヒストリを増分的に検索することによって偶数アイを検索し、このアイは、立ち上がりクロック・エッジ・クロックド・データに対応する。
・S2では、アイ遅延線ヒストリを左から右に増分することによって偶数アイ(samp=1)を検索する。S2では、偶数アイの左端を見つける。見つかる場合または遅延線の右端に出会う場合には、状態S3に進み、そうでない場合にはS2に留まる。
・S3では、偶数アイの右端を検索し、やはりsamp=0を見つけるまで右に検索する。samp=1は、アイの中なので、samp=1である間は、制御はS3に留まる。samp=0が見つかる時には、制御は、いくつかの場合に制御が正しく働くのに必要な遅延状態であるS3.5に移る。
・S3.5は、即座にS4に推移する。
状態S4からS13では、立ち下がりクロック・エッジ・クロックド・データに対応する奇数アイを検索する。奇数アイの検索は、偶数アイの検出された中央から開始され、偶数アイの検索より複雑である。
・S4は、偶数アイの検索から始まる。通常モードでは、奇数アイsamp=0の場合に、S7に進み、そうでない場合はsamp=1であり、S5に進む。samp=0は、奇数アイが奇数遅延線ヒストリで偶数アイと位置合せされていないことを意味し、通常の戦略は、左右を検索して最も近い奇数アイを選択することである。2つの代替モードがある。右検索では制御がS13に移り、左検索では制御がS12に移る。
・S5は、奇数アイが偶数アイと位置合せされ、初期サンプル点がすでに偶数アイの中であることを意味する。したがって、この状態では、奇数アイの左端または遅延線の左端を見つけるまで、サンプル・ポインタ(データ点を選択するのに使用される)を減分することによって、初期サンプル点から左に検索する。その後、制御はS6に移る。
・S6では、奇数アイの右端を探して右に検索する。それが見つかるか、遅延線の右端が見つかった時に、制御はSUMMARY状態に移るが、このSUMMARY状態は、ステップS13の後の検索の終りの状態であり、データ・サンプル・ポインタは、偶数アイおよび奇数アイの通常処理のためにセットされている。
・S7は、奇数アイが、偶数アイと位置合せされておらず、初期サンプル点が、アイの外の雑音区域にあることを意味する。この状態では、サンプル・ポインタを減分することによって、左側へ、一致する奇数アイを検索する。samp=1の時には、奇数アイの右端が見つかっており、これをMAX(右端レジスタ)に記憶し、制御はS8に移る。そうでない場合には、遅延線の左端に達しており、左奇数アイが見つからず、この場合にはS11に進む。
・S8は、位置合せされない右奇数アイを検索することが意図されている。S8では、samp=0である間、samp=1になるまで検索を継続し、samp=1は、右奇数アイの左端が見つかったことを示し、これがMIN(左端レジスタ)に記憶され、制御はS9に進む。samp=1を見つける前に遅延線の右端に達する場合には、右アイがなく、したがって、制御はS10の左アイ処理に直接に進む。
・S9では、偶数アイからのMIN距離およびMAX距離が比較される。MINが近い場合には、制御はS6に移る。MAXが近い場合には、制御はS10に移る。
・S10では、奇数アイの左端を検索する。samp=1である間は、制御はS10に留まる。samp=0または遅延線の左端に達した時に、制御はSUMMARYに移る。
・S11では、左奇数アイがない時に、位置合せされない右奇数アイを検索する。samp=0である間は、制御はS11に留まる。samp=1の時に、制御はS6に進む。samp=1を見つける前に遅延線の右端に達した場合には、奇数アイがない。これは、エラー状態であり、このエラー状態は、検出され、警告インジケータによって示される。
・S12では、遅延線の偶数アイの左の位置合せされない奇数アイを検索する。samp=0である間は、制御はS12に留まり、samp=1の時に、制御はS10に進む。samp=1を見つける前に遅延線の左端が見つかった場合には、左アイが存在せず、制御は、S13からS12に来たのでない場合にはS13での右検索を選び、S13から来た場合には奇数アイがない。これは、検出され、警告インジケータによって示されるエラー状態であり、制御はSUMMARYに進む。
・S13では、遅延線の偶数アイの右の位置合せされない奇数アイを検索する。samp=0である間は、制御はS13に留まり、samp=1の時にS6に進む。samp=1を見つける前に遅延線の右端に達した場合には、右アイが存在せず、制御は、S12からS13に来たのでない場合にはS12での左検索を選び、S12から来た場合には奇数アイがない。これは、検出され、警告インジケータによって示されるエラー状態であり、制御はSUMMARYに進む。
・SUMMARYは、アイ・データ・サンプリング点が、通常動作のために固定された状態である。
アイ・サンプル点の再位置合わせを伴う、通常動作の状態図
図12に、通常データ・キャプチャ動作中の反復状態フローを示す、2ビット・マクロ状態図2/2を示す。このフェーズでは、論理が、シリアル・データをキャプチャし、バイト並列フォーマットに変換する。
図12に、通常データ・キャプチャ実行状態を示す。制御は、通常は、RUN0に留まる。クロック・カウンタによって決定される周期で、done update信号によって、制御をRUN1に進められるようになる。状態RUN1およびRUN2では、偶数アイの両端まで増分し、減分するが、これが変更されている場合がある。新しい限界が、記憶される。同様に、RUN3およびRUN4では、奇数アイの両端まで増分し、減分し、限界を記憶する。状態RUN5では、RUN1からRUN4の発見を使用して、新しいデータ・サンプリング点を計算し、これが使用されるようになる。その後、制御は、別の更新期間のためにRUN0に戻る。
SiBiDi
本発明は、最適2ビット同時双方向SiBiDiシグナリングに関して伝送遅延を自動的に調整するハードウェア機構も提供する。
送信された信号のSiBiDi(同時双方向)入出力セル「減算」は、減算される必要がある信号が、所望の受信信号が変化しない時に変化する場合に、より成功する。これは、適当な量(クロック・サイクルのある分数)だけ伝送を遅延させることによって達成することができる。しかし、一端で伝送を遅延させることは、データが、他端に遅れて達することを意味する。他端の回路は、その伝送遅延を再調整し、その結果、それ自体の「減算」が最適になるようにしなければならない。したがって、ワイヤの両端のそれぞれの回路ごとに1つの、遅延設定の組を見つけ、その結果、「減算」によって両端で同等に良い品質の結果が与えられるようにする必要がある。
さらに、これを達成するために、両端が、他端での伝送遅延の選択のそれぞれに関するローカル減算の品質に間する情報を交換する必要がある。しかし、この情報は、最適化されつつあるものと同一のシグナリング伝送技法を使用して交換することができない。遅延設定が悪い場合に、それによって、それがどれほど悪いかを記述する、送られるデータが破壊される可能性がある。本発明では、最適2ビットSiBiDiシグナリングの伝送遅延を自動的に調整するハードウェア機構を説明する。
図13に、2つの差動データ線によって、同一のノード1および2の対が接続され、各ノードが、一意のIDを有し、各ノードが、2ビット送信側CPUおよび2ビット・キャプチャCPUを用いて動作する、第1の実施形態を示す。
この方法では、「安全な通信」セットアップ・フェーズを使用して、伝送遅延の各組の結果を通信する。2ビット送信側/キャプチャ・ユニットは、入出力セルに関する単一方向設定(伝送が、雑音を最小化するために1方向のみである)と、ユニットの1ビット部分の一方だけを使用することによって、安全な通信に使用される。
図13に、ノードの対の間の電気接続を示し、2つの異なる差動データ線(それぞれが、差動シグナリングを可能にするために2つのワイヤからなる)を示す。矢印は、安全な通信のセットアップ・フェーズ中の単一方向信号の方向を示す。そのフェーズ以外では、電気接続は、通常通信中は両方向である。
Sel AおよびSel Bの箱は、MUXであり、Sel=0によって、2ビット送信側ユニットからの上側のパスおよび2ビット・キャプチャ・ユニットへの上側のパスが選択され、Sel=1によって、下側のパスが選択される。
READYレジスタ(図示せず)に0をセットする
1)入出力セルA=単一方向送信器モード。
入出力セルB=単一方向受信器モード。
Sel A=1(上側のパスを選択)。
Sel B=1(上側のパスを選択)。

2)送信側遅延モードを0遅延にセットする。
3)トレーニングを開始する。これは、よいデータ・キャプチャ・アイの発見および検出について上で説明されたものである。
4)よいデータ・キャプチャ・アイの中央で、安全な単一方向セットアップ・フェーズ通信のアイ・パラメータを保存する。
5)IDの第1ビットを送信する。この実施形態では、ノード1および2のそれぞれの一意のIDによって、どのノードがマスタであり、どのノードがスレーブであるかが決定され、より大きいIDが、自動的にマスタ・ノードになる。
他のノードのIDの第1ビットを受け取るまで待つ。
第1IDビットをキャプチャする。
等しい場合には、繰り返す。
ローカルが、隣より小さい場合には、PRIORITY=0をセットする
ローカルが、隣より大きい場合には、PRIORITY=1をセットする
6)入出力セルA=SiBiDiモード。
入出力セルB=SiBiDiモード。
Sel A=0
Sel B=0
7)送信側遅延モード=0
トレーニングを開始する。
アイを探す。
ローカル・アイ・パラメータを保管する。
8)ステップ1)の安全モードに進む。
9)ローカル・アイ・パラメータを他方のノードに送る。
他方のノードのアイ・パラメータを受け取る。
10)パラメータを比較し、最小値を保管する。
11)現在の最小アイ・パラメータを、前の最小アイ・パラメータと比較し、この2つの最大値を、最大値のローカル送信側遅延モードと一緒に保管する。このモードは、最適モードであると考えられ、OPT_SENDER_MODEと指定される。
この第1の実施形態では、8タップ遅延線が仮定され、その結果、各ノードは、0遅延から8ステップの最大遅延までの範囲の8つの異なる遅延の可能性を有し、その結果、可能な組合せの数が、8×8=64になる。言い換えると、1つのノードの8つの遅延のそれぞれについて、第2のノードで8つの可能な遅延がある。したがって、64個の可能な組合せをテストして、最適な組合せを選択しなければならない。ステップ12では、1時に1つずつ、64個の組合せのすべてをサイクルする。
ステップ6)に戻り、下記の送信側遅延モード・シーケンスを使用して、合計64回繰り返す。
PRIORITY=0の場合には、隣が先にモードを変更する。ローカル・シーケンスは次の通りである:
0を8ステップ
1を8ステップ
2を8ステップ
3を8ステップ
4を8ステップ
5を8ステップ
6を8ステップ
7を8ステップ
PRIORITY=1の場合には、ローカル・シーケンスは次の通りである。
0を1ステップ
1を1ステップ
2を1ステップ
3を1ステップ
4を1ステップ
5を1ステップ
6を1ステップ
7を1ステップ
8回繰り返す
1)送信側遅延モード=OPT_SENDER_MODEで6)のSiBiDi動作に進む。
2)READYレジスタを1にセットして、システムが最適化され、通常のSiBiDi通信の準備ができていることを示す。
いずれかのステップで、障害があり、その結果、ステップ14に達しない場合には、ノードに障害が発生している。障害を発生したノードは、READYレジスタの内容によって識別することができる。
図14に、第1の実施形態との1つの相違が、単一の差動通信線によってノードが接続されることである、2つのノード、ノード1およびノード2の間のSiBiDi電気通信の第2の実施形態を示す。第2の相違は、この実施形態が、図13の実施形態のように2ビット・データではなく、1ビット・データを用いて動作することである。もう1つの相違は、この実施形態で、マスタ・ノードおよびスレーブ・ノードが、割り当てられたIDに基づくのではなく、制御ソフトウェアによって指定されることである。この実施形態では、図13の8タップ遅延線ではなく、16タップ遅延線が仮定される。
概要:
初期位置合わせ手順(Initial Alignment Procedure、IAP)は、各ポートの各同期式信号が、最適伝送遅延線設定(アウトステージに関して)が判定されるステップのシーケンスである。米国仮出願番号60/271,124に記載の大量並列スーパーコンピュータでは、各ノードが6つの隣接ノードに接続される、3次元トーラスとして接続される32×32×64個のノードを有する大量並列コンピュータが記述される。各ノードが、6つのポートを有し、ポートごとに20個の同期式信号があり、スーパーコンピュータのノードのノード・コンピュータ・チップ上の120個の同期式信号のすべて(6ポート×20同期式信号/ポート)が、この個々のトレーニングを独立に実行することができる。すべてが、並列に行われるか、1時に1つずつ行われる(すべてがソフトウェア制御下である)。トレーニングは、SiBiDiリンクの両方の方向で同時に行われ、これによって、必要なISI(シンボル間干渉)および近端雑音(環境雑音を伴う)が考慮される。図14を参照すると、IAPシーケンスの高水準フローは次の通りである:
1.ソフトウェア処置:各ノード・コンピュータ・チップのIAP制御レジスタに書き込むことによって、同期式リンクの片側を「マスタ」、反対側を「スレーブ」として識別する。
2.ハードウェア処置:マスタ側(図14のサイドA)が、スレーブ側(図14のサイドB)と通信して、トレーニングを開始する。これは、多少複雑である。というのは、リンクを完全にトレーニングする前に、リンクを介して情報を通信しなければならないからである(下の「トレーニングされていないリンクを介する通信」を参照されたい)。
3.ハードウェア処置:個々のリンクの両側が、状態機械(図15から18に図示)を有し、この状態機械は、可能なすべての遅延線設定を調べ、結果を比較して、最適な遅延線設定を見つける。片側での遅延設定の変更は、両側のアイに影響するので、システムは、16×16個のすべての組合せを調べる必要がある(注:アウトステージ(データ送信)遅延線は、前に説明したように16個の設定を有する)。遅延線トレーニングのループのそれぞれについて、インステージ(データ・キャプチャ)マクロは、他方から擬似乱数データを受け取り、アイを探し、アイ・サイズ情報を分析のために提示する。
4.ソフトウェア処置:IAP状況レジスタを読み取って、トレーニングの成功/失敗を判定する。達成された正確な遅延線設定およびアイ・サイズ・マージンは、ソフトウェア・アクセス可能である、他のリンク固有状況レジスタを介して読み取ることができる。
リンク・トレーニング・シーケンス:
図15から18の状態機械によって、同期式Si−Bi−Di接続のトレーニングでノード計算チップによって行われるステップが示される。リンクの両側で、下記のレジスタが使用される:
DTR − 遅延タップ・レジスタ − アウトステージの遅延線を制御する(有効な設定は0から15まで)。2つの追加の「作業用」コピーすなわち、Mst−DTRおよびSlv−DTRが、IAPシーケンス中に使用される。
LBDTR − ローカル最良遅延タップ・レジスタ − トレーニング中にこれまでに見られた最良のアイ・サイズに対応するDTR値を保持する。トレーニングの終りに、LBDTRの内容が、DTRに永久的にロードされる。
MBESR − 相互最良アイ・サイズ・レジスタ − トレーニング中にこれまでに見られた最良のアイ・サイズを保持する(トレーニングの所与のステップに関するサイドAおよびサイドBのアイ・サイズの最小値に基づく)。
非常に雑音の多い環境をシミュレートするために雑音を人工的に追加し、より多くの垂直電圧マージン(アイのサイズに関連する)を保証する形として、リンク・トレーニング・シーケンス中に雑音ジェネレータ・マクロを使用可能にすることができる。ソフトウェアは、IAP制御レジスタの「スタート」ビットに書き込むことによってIAPシーケンスを開始し、マスタ(サイドA)またはスレーブ(サイドB)としてチップを識別する。
トレーニングされていないリンクを介する通信
リンクを完全にトレーニングする前に、リンクの両側の間で通信を実行する必要がある。可能な最も信頼性があるデータ転送を保証するために、下記の手順を使用する:
1)データは、一時に1方向だけで送られる。
2)データは、より低速のデータ・レートで送られる。1:8の比率を使用することができる(すなわち、8ビット時間の間「1」または「0」を保持する)。
トレーニングの前に、リンクの両側は、予測可能な位相関係を有しない。したがって、片側が、「110011」を送り、サンプル点が、スイッチング・データと並ぶ場合に、データが、「111011」または「100011」などとして受け取られる場合がある。送信レートは、連続するサンプルにまたがって安定したデータを検出するのに十分に遅くしなければならず、ビット・ストリーム内の0→1または1→0の推移中に発生する可能性がある誤サンプリングによって混乱させられてはならない。
マスタとスレーブの間で送られる「コマンド」の前に、1の長いストリングとそれに続く8つの0が置かれる。コマンドは、...多数の1、8つの0、8ビット時間のコマンドの第1ビット、8ビット時間のコマンドの第2ビット、...、8ビット時間のコマンドの最後のビットとして現れる。受信側は、1→0推移を検出し、8ビット時間ウィンドウの中央を推定する(実際には、これが、8ビット時間ウィンドウの第3ビット、第4ビット、または第5ビットである可能性があるが、これらのすべてが安定し、有効でなければならない)。その後、すべての8ビットをサンプリングして、コマンド/情報を復号する。
図15から18を参照すると、すべてのコマンドが、大文字で示され、図17および18のブロック内の「同一物」は、図15および16と同一のまたは対応するブロックを示す。
図15および16を参照すると、この図はマスタ側であるが、ステージ(0)で、Startソフトウェア・コマンドを待ち、その後、レジスタDTR、LBDTR、およびMBESRをリセットする。ステージ(1)で、マスタは、スレーブからBEGINコマンドを受け取るのを待ち、受け取らない場合には、スレーブにBEGINを送り、スレーブからのBEGIN応答を受け取るのを待つ。受け取らない場合には、マスタが、待ち、スレーブにBEGINを再送出する。マスタが、別のマスタからBEGINを受け取る場合には、打ち切る。
ステージ(4)で、Yesの場合に、マスタは、TRAINコマンドを送り、マスタが同期化を開始しようとしていることを示し、一時停止する。
ステージ(5)で、マスタは、ランダム・データ・ビット・ストリームを送って、アイのキャプチャを可能にする。
ステージ(6)で、マスタは、アイのキャプチャを待ち、アイ・サイズなどの各アイに関する情報を評価する。
ステージ(7)で、マスタは、アイ・サイズに関するデータを受け取るのを待ち、受け取らない場合には、待ち(たとえば1μ秒)、アイ・サイズに関するデータを送り、もう一度、アイ・サイズに関するデータを受け取るのを待つ。受け取った時に、マスタは、MBESRレジスタおよびLBDTRレジスタを更新し、Mst−DTRを増分し、ラップ(カウンタ・オーバーフロー)の場合には、Slv−DTRレジスタを増分し、256個の組合せのすべてについてステージ(4)から(9)を繰り返す。
そうである場合には、ステージ(10)で、マスタが、ENDコマンドを送って、アイ・トレーニングを終了する。
ステージ(11)で、マスタは、スレーブからENDコマンドを受け取るのを待つ。
そうである場合には、ステージ(12)で、マスタが、DTRにLBDTRレジスタをロードし、インステージをリセットし、これがセットアップ・ノードになる。
ステージ(13)で、最適アイ・パラメータを使用して、ランダム・データを送る。
ステージ(12)および(13)では、最適アイ・パラメータを使用してデータを送り、その後、最適アイ・パラメータを、再評価し、成功の場合にはその場でロックする。
ステージ(14)で、マスタが、リセット・グリッチ信号をアサートして、リセットし、データ・キャプチャを再評価し、最小アイ・サイズ・データに対してアイ・サイズを検査し、IAP状況レジスタを更新する。
図17および18のスレーブ側の動作は、マスタ側の上の説明から明白である。
高速シグナリングのデータ・キャプチャ技法に関する本発明の複数の実施形態および変形形態を、本明細書で詳細に説明したが、本発明の開示および教示によって、当業者に多数の代替設計が提案されることは明白である。
2Gビット・レートのシリアル・データをキャプチャでき、ローカル・クロック・ドメインに移すことができるデータ受取マクロを示す図である。 500MHzで1バイト幅のデータ入力を受け取り、それぞれが2Gb/sシリアル・データであり、SiBiDi(同時双方向)差動データ・リンクを介して送出され、図1のデータ・キャプチャ・マクロに入力されるデータになる2データ・ストリームのデータ出力を作る、データ送出マクロ・ブロックを示す図である。 インステージ2ビット・マクロ・ブロックを示す図である。 シリアル・データが、それぞれが遅延の増分を追加する組み合わされた一連のインバータを通る、クロックド遅延線の実施形態を示す図である。 クロック遅延線の延長を示し、1クロック・フェーズを示す、ヒストリ論理ブロックを示す図である。 それぞれが図3の最下部に示されたMUXに対応する、リーディング・エッジ・クロック・フェーズおよび立ち下がりエッジ・クロック・フェーズごとに1つの、データおよびヒストリ・サンプルMUXを示す図である。 それぞれが図3の最下部に示されたMUXに対応する、リーディング・エッジ・クロック・フェーズおよび立ち下がりエッジ・クロック・フェーズごとに1つの、データおよびヒストリ・サンプルMUXを示す図である。 図5の最下部で出力信号を受け取るMUXを示す図である。 クロック・サイクルごとに4データ・ビットをキャプチャできる対にされたリンクとして使用され、2つの2ビット・マクロ(図3)を組み合わせ、2つの入力データ・ストリームの間の正しいバイト位置合わせを見つける、シリアル・ビット組合せおよびバイト位置合わせ論理を示す図である。 アイ検出流れ図でアイ検出処理を示す図である。 その間にアイ位置サンプル点が決定されるフェーズの状態フローを示す、2ビット・マクロ状態図1/2を示す図である。 通常データ・キャプチャ動作中の反復状態フローを示す、2ビット・マクロ状態図2/2を示す図である。 2つの差動データ線によって、同一のノード1および2の対が接続され、各ノードが、一意のIDを有し、各ノードが、2ビット送信側CPUおよび2ビット・キャプチャCPUを用いて動作する、第1の実施形態を示す図である。 単一の差動通信線によってノードが接続される、2つのノード、ノード1およびノード2の間のSiBiDi電気通信の第2の実施形態を示す図である。 同期Si−Bi−Di接続のトレーニングでノード計算チップによって行われるステップを示す状態機械を示す図である。 同期Si−Bi−Di接続のトレーニングでノード計算チップによって行われるステップを示す状態機械を示す図である。 同期Si−Bi−Di接続のトレーニングでノード計算チップによって行われるステップを示す状態機械を示す図である。 同期Si−Bi−Di接続のトレーニングでノード計算チップによって行われるステップを示す状態機械を示す図である。

Claims (12)

  1. 非同期データ・ストリームと共にクロック信号を送らない、前記データ・ストリームの最適なサンプリングおよびキャプチャを可能にするデータ・キャプチャ方法であって、
    一連の遅延タップを有するクロックド遅延線に前記データ・ストリームのシリアル・データ・ビットを送ることによって前記データをキャプチャすることと、
    クロックを用いて前記遅延タップのすべてをサンプリングすることと、
    各遅延タップ出力と隣接する遅延タップ出力とが同一であるかどうかを判定するために、これらを比較することと、
    データ・ヒストリ・レコードを生成するためにクロックド・ストリングを形成するのに前記比較を使用することと、
    データが隣接する遅延タップの間で推移しない、最適データ・キャプチャ・アイとして検出されるデータ・キャプチャ・アイを探すことによって、最適データ・キャプチャ・アイを判定するために前記データ・ヒストリ・レコードを検査することと、
    変化するパラメータを補償するために前記データ・ヒストリ・レコードを周期的に更新すること
    を含む方法。
  2. 前記データ・ヒストリ・レコードを生成するために、前記クロックド・ストリングが、前のクロックド・ストリングと組み合わせられる、請求項1に記載の方法。
  3. 前記シリアル・データが、前記クロックド遅延線に入り、組み合わされた一連のインバータを介してクロッキングされ、前記組み合わされた一連のインバータのそれぞれが、遅延の増分を追加し、各インバータ出力が、ヒストリ・レジスタに向けられる、請求項1に記載の方法。
  4. 各インバータ出力が、偶数ヒストリ・レジスタおよび奇数ヒストリ・レジスタに向けられ、論理がクロック・レートの2倍で前記シリアル・データをキャプチャできるようにするために、前記偶数ヒストリ・レジスタが、前記クロックの正エッジによってクロッキングされ、前記奇数ヒストリ・レジスタが、前記クロックの負エッジによってクロッキングされ、前記偶数ヒストリ・レジスタが、正クロック・フェーズの偶数データ・キャプチャ・アイを検出するのに使用され、前記奇数ヒストリ・レジスタが、負クロック・フェーズの奇数データ・キャプチャ・アイを検出するのに使用される、請求項3に記載の方法。
  5. 偶数アイ・マルチプレクサが、前記偶数ヒストリ・レジスタの出力のすべてを受け取り、奇数アイ・マルチプレクサが、前記奇数ヒストリ・レジスタの出力のすべてを受け取る、請求項4に記載の方法。
  6. 前記ヒストリ・レジスタが、第1クロック・レートでクロッキングされる第1ヒストリ・レジスタと、前記第1ヒストリ・レジスタの出力を直列に受け取り、第2クロック・レートでクロッキングされる、直列に配置された第2データ・ヒストリ・アイ・レジスタ、第3データ・ヒストリ・アイ・レジスタ、および第4データ・ヒストリ・アイ・レジスタとを含む、請求項3に記載の方法。
  7. 前記クロックド遅延線が、各インバータの前記出力にある遅延線レジスタを含み、
    各遅延線レジスタの出力が、前記クロックド遅延線内の次の遅延線レジスタからの入力も受け取る排他的論理和XORゲートに向けられ、前記データ・ビットが、次の遅延線レジスタに入る前に次の遅延線インバータによって反転されるので、前記データ・ビットが、連続するステージの間で推移をこうむらない場合に、各レジスタおよび次のレジスタが、反対の値を保持し、前記XORゲートが、1を作り、連続するステージの間でデータ推移がないことが示され、逆に、前記データ・ビットが、連続するステージの間で推移をこうむる場合に、各レジスタおよび次のレジスタが、同一の値を保持し、各ステージのXORゲートが、0を作り、連続するステージの間でデータ推移があったことが示される、請求項3に記載の方法。
  8. 各XORゲートの出力が、ANDゲートに入力され、前記ANDゲートの出力が、第1ヒストリ・レジスタに入力され、前記第1ヒストリ・レジスタが、一連の4つのヒストリ・レジスタの第1のレジスタであり、前記第1ヒストリ・レジスタが、第1クロック・レートでサンプリングされ、ハイにリセットされ、第2ヒストリ、第3ヒストリ、および第4ヒストリが、より高い第2クロック・レートでサンプリングされ、更新される、請求項7に記載の方法。
  9. 偶数データ・アイのリーディング・エッジおよびエンディング・エッジの検索のために、前記偶数ヒストリ・レジスタを介して増分的に検索することによって前記偶数データ・アイを検索することを含み、奇数データ・アイの検索が、前記偶数データ・アイの検出された中央で開始され、その後、第2データ・アイのリーディング・エッジおよびエンディング・エッジに関する検索が開始される、請求項4に記載の方法。
  10. 第1ステージで、前記ヒストリ・レジスタが、周期的にリセットされ、フラッシュされ、新しいヒストリ・レコードが、獲得され、その後に、最良データ・アイが、前記クロックのフェーズごとに独立に判定され、最良データ・アイが、データ・ビットを送り、キャプチャするのに使用され、前記データ・ビットが、次のステージのすべてのシステム・クロックに転送され、
    第2ステージで、前記転送されたデータ・ビットが、シフト・レジスタに挿入され、前記シフト・レジスタが、正しく位置合せされたデータ・ビットを選択し、渡すために、バレル・シフタと共に使用される、請求項4に記載の方法。
  11. データ・サンプリング・アイが、常に更新され、再位置合せされており、前記更新および再位置合わせが、既存の偶数データ・サンプリング・アイおよび奇数データ・サンプリング・アイから開始され、次に、左右のアイ・エッジを判定するために、既存のアイの左右を調べ、次に、前記偶数データ・サンプリング・アイおよび前記奇数データ・サンプリング・アイの中央をその左右のエッジの間で再位置合せする、請求項4に記載の方法。
  12. 前記遅延タップ出力が、前記クロックの正エッジによってクロッキングされる第1回路によって、および前記クロックの負エッジによってクロッキングされる第2回路によって、サンプリングされ、偶数データ・キャプチャ・アイが、前記正クロック・フェーズについて検出され、奇数データ・キャプチャ・アイが、前記偶数データ・キャプチャ・アイの前記検出と独立に、前記負クロック・フェーズについて検出される、請求項4に記載の方法。
JP2002568558A 2001-02-24 2002-02-25 高速シグナリングのデータ・キャプチャ技法 Expired - Fee Related JP3870162B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
PCT/US2002/005568 WO2002069552A1 (en) 2001-02-24 2002-02-25 Data capture technique for high speed signaling

Publications (2)

Publication Number Publication Date
JP2004531117A JP2004531117A (ja) 2004-10-07
JP3870162B2 true JP3870162B2 (ja) 2007-01-17

Family

ID=68499831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002568558A Expired - Fee Related JP3870162B2 (ja) 2001-02-24 2002-02-25 高速シグナリングのデータ・キャプチャ技法

Country Status (10)

Country Link
US (2) US7418068B2 (ja)
EP (1) EP1378090B1 (ja)
JP (1) JP3870162B2 (ja)
KR (2) KR100612068B1 (ja)
CN (2) CN1901439B (ja)
AT (1) ATE367690T1 (ja)
CA (1) CA2436412A1 (ja)
DE (1) DE60221235T2 (ja)
IL (1) IL157513A0 (ja)
WO (1) WO2002069552A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097375A (ko) * 2000-04-21 2001-11-08 이희창 빙정석 대용품 제법
US7490275B2 (en) 2001-02-02 2009-02-10 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
US7076377B2 (en) * 2003-02-11 2006-07-11 Rambus Inc. Circuit, apparatus and method for capturing a representation of a waveform from a clock-data recovery (CDR) unit
US7408981B2 (en) * 2003-05-20 2008-08-05 Rambus Inc. Methods and circuits for performing margining tests in the presence of a decision feedback equalizer
US7627029B2 (en) 2003-05-20 2009-12-01 Rambus Inc. Margin test methods and circuits
US7590175B2 (en) * 2003-05-20 2009-09-15 Rambus Inc. DFE margin test methods and circuits that decouple sample and feedback timing
KR100617387B1 (ko) * 2004-02-18 2006-08-31 광주과학기술원 비동기식 이중선 버스를 이용한 데이터 전송 장치 및 그방법
US7983142B2 (en) 2004-03-30 2011-07-19 Intel Corporation Apparatus, systems, and methods for the reception and synchronization of asynchronous signals
US7924909B2 (en) * 2004-06-02 2011-04-12 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for interference cancellation in wireless receivers
JP4533715B2 (ja) * 2004-10-07 2010-09-01 川崎マイクロエレクトロニクス株式会社 位相比較器
US7839768B2 (en) * 2005-02-04 2010-11-23 Quasar Technologies, Inc. Redundant ethernet packet network management
US7970087B2 (en) * 2005-04-06 2011-06-28 Freescale Semiconductor, Inc. Eye center determination system and method
JP4718933B2 (ja) 2005-08-24 2011-07-06 富士通株式会社 並列信号のスキュー調整回路及びスキュー調整方法
US7587015B2 (en) * 2006-02-15 2009-09-08 Verigy (Singapore) Pte. Ltd. Asynchronous digital data capture
JP2007248379A (ja) * 2006-03-17 2007-09-27 Fujitsu Ltd 半導体装置及び半導体装置のテスト方法
US7889824B2 (en) * 2006-09-28 2011-02-15 Intel Corporation System and method for alignment of clock to data
US8108738B2 (en) * 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US7703063B2 (en) * 2007-08-17 2010-04-20 International Business Machines Corporation Implementing memory read data eye stretcher
US7661084B2 (en) * 2007-08-17 2010-02-09 International Business Machines Corporation Implementing memory read data eye stretcher
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US8208521B2 (en) * 2007-12-31 2012-06-26 Agere Systems Inc. Methods and apparatus for detecting a loss of lock condition in a clock and data recovery system
US8428195B2 (en) * 2007-12-31 2013-04-23 Agere Systems Llc Methods and apparatus for detecting and decoding adaptive equalization training frames
US8121239B2 (en) * 2008-02-11 2012-02-21 Intel Corporation Unidirectional sweep training for an interconnect
GB2473759B (en) * 2008-04-30 2013-03-27 Hewlett Packard Development Co Intentionally skewed optical clock signal distribution
EP2293199A4 (en) 2008-06-03 2012-04-25 Fujitsu Ltd INFORMATION PROCESSOR AND ITS CONTROL METHOD
US9008196B2 (en) * 2011-04-28 2015-04-14 International Business Machines Corporation Updating interface settings for an interface
US9153198B2 (en) * 2012-09-25 2015-10-06 Ati Technologies Ulc Method and device for link over-training
JP6098171B2 (ja) * 2013-01-09 2017-03-22 富士通株式会社 信号処理回路
TWI514775B (zh) * 2013-07-22 2015-12-21 Realtek Semiconductor Corp 時脈邊緣偵測裝置與方法
US9660656B2 (en) * 2015-04-15 2017-05-23 Sandisk Technologies Llc Delay compensation
KR102645150B1 (ko) * 2016-12-30 2024-03-07 엘지디스플레이 주식회사 디스플레이 인터페이스 장치 및 그의 데이터 전송 방법
US10230360B2 (en) * 2017-06-16 2019-03-12 International Business Machines Corporation Increasing resolution of on-chip timing uncertainty measurements
CN110196825B (zh) * 2019-05-20 2020-11-20 中国科学院微电子研究所 并行数据同步发送的方法及系统
CN112013506B (zh) * 2019-05-31 2022-02-25 青岛海尔空调电子有限公司 用于通讯检测的方法及装置、空调
US10784874B1 (en) * 2020-02-05 2020-09-22 Intel Corporation All-digital voltage monitor (ADVM) with single-cycle latency
CN113468095B (zh) * 2021-07-07 2023-12-15 西北核技术研究所 高速串行传输数据相位对齐方法、存储介质及终端设备
CN117009267B (zh) * 2023-10-07 2024-01-30 成都博宇利华科技有限公司 源同步数据流中插入时间信息的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821296A (en) * 1987-08-26 1989-04-11 Bell Communications Research, Inc. Digital phase aligner with outrigger sampling
US5144525A (en) * 1990-09-27 1992-09-01 Tektronix, Inc. Analog acquisition system including a high speed timing generator
EP0511836B1 (en) * 1991-05-01 1997-04-16 Motorola, Inc. Broadband digital phase aligner
US5258933A (en) * 1992-08-27 1993-11-02 Quantum Corporation Timing control for PRML class IV sampling data detection channel
US5491722A (en) * 1992-12-21 1996-02-13 Communications Technology Corporation Eye pattern margin measurement and receiver stress detection device
DE69415378T2 (de) * 1993-04-05 1999-06-17 Koninklijke Philips Electronics N.V., Eindhoven Digitaler Phasenregelkreis
US5642386A (en) * 1994-06-30 1997-06-24 Massachusetts Institute Of Technology Data sampling circuit for a burst mode communication system
US5729597A (en) * 1995-05-16 1998-03-17 At&T Corp Service and information management system for a telecommunications network
US5852600A (en) * 1995-06-07 1998-12-22 Mci Communications Corporation System and method for resolving substantially simultaneous bi-directional requests of spare capacity
US5844908A (en) * 1996-11-14 1998-12-01 Alcatel Network Systems, Inc. Digital delay system and method for digital cross connect telecommunication systems
JP3006524B2 (ja) * 1996-12-25 2000-02-07 日本電気株式会社 双方向遷移数削減インターフェース回路
JP2993463B2 (ja) * 1997-05-08 1999-12-20 日本電気株式会社 同期回路制御装置
US5968180A (en) * 1997-09-30 1999-10-19 Intel Corporation Data capture circuit for asynchronous data transfer
KR100261295B1 (ko) * 1997-12-03 2000-07-01 이계철 준안정이 고려된 디지털 위상 정렬장치
US6108794A (en) * 1998-02-24 2000-08-22 Agilent Technologies Signal comparison system and method for improving data analysis by determining transitions of a data signal with respect to a clock signal
JP3767997B2 (ja) 1998-02-27 2006-04-19 沖電気工業株式会社 ビット位相同期回路
US7206397B1 (en) * 1998-08-04 2007-04-17 At&T Corp. Method for allocating network resources
US6112283A (en) * 1998-08-06 2000-08-29 Intel Corporation Out-of-order snooping for multiprocessor computer systems
US6341326B1 (en) * 1998-12-23 2002-01-22 Intel Corporation Method and apparatus for data capture using latches, delays, parallelism, and synchronization
US6516363B1 (en) * 1999-08-06 2003-02-04 Micron Technology, Inc. Output data path having selectable data rates
US6396329B1 (en) * 1999-10-19 2002-05-28 Rambus, Inc Method and apparatus for receiving high speed signals with low latency
US6452428B1 (en) * 1999-11-23 2002-09-17 Intel Corporation Slew rate control circuit
JP2001230824A (ja) * 2000-02-18 2001-08-24 Matsushita Electric Ind Co Ltd データ受信方式
US6617871B2 (en) * 2001-07-09 2003-09-09 Rambus Inc. Methods and apparatus for bi-directional signaling
US6868134B2 (en) * 2001-07-30 2005-03-15 Matsushita Electric Industrial Co., Ltd. Method and apparatus for recovering a clock signal from an asynchronous data signal

Also Published As

Publication number Publication date
KR100546971B1 (ko) 2006-01-31
EP1378090A4 (en) 2005-02-09
US7817585B2 (en) 2010-10-19
EP1378090A1 (en) 2004-01-07
WO2002069552A1 (en) 2002-09-06
CN1901439B (zh) 2011-04-20
CN1303774C (zh) 2007-03-07
DE60221235T2 (de) 2008-04-10
IL157513A0 (en) 2004-03-28
KR100612068B1 (ko) 2006-08-14
US7418068B2 (en) 2008-08-26
CA2436412A1 (en) 2002-09-06
DE60221235D1 (de) 2007-08-30
EP1378090B1 (en) 2007-07-18
ATE367690T1 (de) 2007-08-15
KR20060002014A (ko) 2006-01-06
JP2004531117A (ja) 2004-10-07
CN1901439A (zh) 2007-01-24
CN1529958A (zh) 2004-09-15
KR20030080028A (ko) 2003-10-10
US20090028073A1 (en) 2009-01-29
US20040114698A1 (en) 2004-06-17

Similar Documents

Publication Publication Date Title
JP3870162B2 (ja) 高速シグナリングのデータ・キャプチャ技法
EP1670199B1 (en) Design of channel alignment, error handling, and clock routing using hard-wired blocks for data transmission within programmable logic integrated circuits
US5768529A (en) System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers
US6240523B1 (en) Method and apparatus for automatically determining the phase relationship between two clocks generated from the same source
CN105893291B (zh) 一种异步接收串行数据的方法及装置
KR20110080175A (ko) 다중 직렬 수신기용 자동 데이터 정렬기를 위한 방법, 장치, 및 시스템
US7242737B2 (en) System and method for data phase realignment
EP1696600B1 (en) Prediction of an optimal sampling point for clock resynchronization in a source synchronous data channel
US6556152B2 (en) Deserializer
US6668335B1 (en) System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
JP4336860B2 (ja) シリアルインタフェース回路、及びシリアル受信器
Hoke et al. Self-timed interface for S/390 I/O subsystem interconnection
US7428283B2 (en) Data recovery algorithm using data position detection and serial data receiver adopting the same
US20060187729A1 (en) Source synchronous communication channel interface receive logic
US20100315886A1 (en) Data transfer apparatus, and method, and semiconductor circuit
Ouyang et al. AFTER: Asynchronous fault-tolerant router design in network-on-chip
Poornima et al. Functional verification of clock domain crossing in register transfer level
US20080310571A1 (en) Pulsed Serial Link Transmitting Data and Timing Information on a Single Line
US6744834B1 (en) Method and apparatus for initializing a synchronizer for same frequency, phase unknown data across multiple bit-sliced interfaces
CN110875068B (zh) 存储器装置的命令在管线中计数器
WO2009066238A1 (en) Asynchronous pipeline controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060302

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061016

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131020

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees