(57)【特許請求の範囲】
【請求項１】
並列データを直列データに変換する回路であって、
第１のクロック入力に結合され、複数の第１の出力及び複数の第２の出力を有し、ｎ並列ビットのデータを記憶する第１のレジスタと、
第２のクロック入力及び前記第１のレジスタの前記複数の第２の出力に結合され、複数の第３の出力を有する第２のレジスタと、及び
前記第１のレジスタの前記複数の第１の出力及び前記第２のレジスタの前記複数の第３の出力に結合された複数の論理ゲートと
を備えることを特徴とする回路。
【請求項２】
前記複数の第１の論理ゲートの４番目の出力に結合され、該４番目の出力の一つをその出力として送信する論理ゲートを更に備えることを特徴とする請求項１に記載の回路。
【請求項３】
それぞれが他の全てのクロック信号とは位相がずれている、複数のｎクロック信号を更に備えることを特徴とする請求項１に記載の回路。
【請求項４】
（ｎ＋１）番目のクロック信号は、前記複数の論理ゲートのｎ番目の論理ゲートに結合されることを特徴とする請求項３に記載の回路。
【請求項５】
前記記憶されたｎ並列ビットのデータは、複数の受信した並列ビット及び論理１及び論理０を備えていることを特徴とする請求項１に記載の回路。
【請求項６】
前記第１のレジスタ及び前記第２のレジスタは、Ｄ型フリップ-フロップを備えていることを特徴とする請求項１に記載の回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、全二重直列データ通信を可能にする高速通信リンクを提供するためのシステムに関する。より特定的には、本発明は、このような直列リンクを介して、並列データ経路を有する装置を相互接続するためのインタフェース回路に関する。
【０００２】
【従来の技術】
電子及びコンピュータ技術が発展し続けるにつれて、近くに位置している、またはある距離に位置している異なる装置間の情報の通信が益々重要になってきている。例えば現在では、１つの回路基板上の異なるチップ間、１つのシステム内の異なる回路基板間、及び異なるシステム同士の高速通信を提供することが、従来よりも一層望まれている。また、特にグラフィックもしくはビデオ情報、多重入力・出力チャネル、構内通信回路網等々を使用する集中的なデータ消費システムにおけるデータ通信に要求される大量のデータを考えると、これらの通信を極めて高速で行うことも益々望まれている。
通常は並列データバスを使用してデータを内部で転送している個々のパーソナルコンピュータ、ワークステーション、もしくは他の計算装置を、比較的簡単な伝送路を通して互いに通信できるようにすることが特に望まれている。現在市販されている計算システム内では、 64 ビット及びより幅広いデータ経路を使用しているのに対して、これらの伝送路は典型的には１本もしくは２本の導体を含んでいる。
【０００３】
並列データを直列形状に高速変換し、直列リンクを通して伝送しようとする製品は多数市販されてきた。 Hewlett-Packard G-link チップセットがこのような製品の一つである。このチップセットは送信機セットを含み、 20 もしくは 24 ビット幅の並列データを処理することが可能である。しかしながら、必要速度を得るために、このチップセットはバイポーラプロセスを使用して製造され、受信機及び送信機は分離したチップを必要とする。このような解決法は、大きい電力を消費し、且つ高価である。またこれは、並列・直列データ変換に対して普通のアプローチ、即ち伝送速度で動作するフェーズロックドループ発振器を使用している。典型的にこれらの装置は、シリコンサブストレート内に雑音を導入し、そのチップ上の他のフェーズロックドループ回路と干渉し合う。このため多くのチャネルを単一のチップ上に集積することを困難にしている。
別の解決法がフランスの Bull によって提唱されている。 Bull の技術は、並列・直列データ変換のために周波数逓倍器を使用する。典型的にこれらの装置はシリコンサブストレート内に雑音を導入し、そのチップ上の他の逓倍器と干渉し合う。更に Bull の技術は、並列・直列変換のために排他的ＯＲ樹木を使用している。排他的ＯＲ樹木の使用は、これらの装置の全ての経路を通る遅延を等化することが困難であることと共に公知である。 Bull の技術は、特別なコード構成の使用が必要な遅延ロックループを使用しており、これはコーディング効率を低下させる。
【０００４】
【発明の概要】
本発明は、１ギガビット／秒より速い速度で並列データを直列データに変換することができる極めて高速のデータシリアライザ（もしくはダイナミサイザ）、及び各チャネル毎に個々の独立クロックを必要としないデータ／クロック回復回路を提供する。極めて高い速度でデータ変換が可能であるにも拘わらず、本発明は、これらの高速装置に普通に使用されているガリウム・砒素、バイポーラその他の技術とは対照的に、公知の相補ＭＯＳ技術を使用して比較的安価に製造することができる。また本発明は、直列データを並列データに変換する技術をも提供する。この技術によれば、多くのチャネルに対して単一の発振器だけを使用し、それによって注入効果（従来技術の装置では個々のチャネルに組合わされている全ての発振器が単一の周波数に誤って同期する）の可能性を排除する。更に、使用される技術は排他的ＯＲ樹木の使用を回避し、それらに伴う遅延経路の等化の困難性を排除している。好ましい実施例では、並列・直列変換は１もしくはそれ以上のラッチを使用し、変換前の並列データストリーム内のデータをラッチすることによって達成される。各ラッチの出力端子は対応するＡＮＤゲートに接続されている。各ＡＮＤゲートの他方の端子は、位相調整されたクロック信号を受信するように接続されている。クロック信号が可能にされると、ラッチされていたデータがＡＮＤゲートの出力端子に供給され、そのデータは多入力ＯＲゲートの入力端子に印加される。クロック信号は、各ＡＮＤゲートからのデータがＯＲゲートに順次に供給されるように位相調整されおり、ＯＲゲートから適当な送信機もしくは他の装置へデータが直列に供給される。
【０００５】
一実施例では、並列データのＮビットを直列データストリングに変換する回路は、並列データを一時的に記憶する少なくともＮ記憶位置を有するレジスタを含んでいる。各クロック信号が他の全てのクロック信号とは異なる位相を有するような適切な数のクロック信号の源が設けられており、一連のＡＮＤゲートのそれぞれには異なるクロック信号が印加される。各ＡＮＤゲートは、並列データの適切な１つのビットも受信するように接続されている。対応する数の入力ノードを有するＯＲゲートに各ＡＮＤゲートの出力が印加される。クロック信号を適切に位相調整することによって、ＡＮＤゲートの入力端子に印加されたデータはＯＲゲートによって直列形状に変換され、送信機もしくは他の装置へ直列に供給される。
【０００６】
【実施例】
図１は、全二重高速データ通信のための直列リンクを提供するシステムの高レベルブロック線図である。図１に示すように、システム１０は伝送路１００に接続されている。概述すればシステムは、所望の他の装置に結合される並列インタフェース１２を含んでいる。例えば、インタフェース１２は、ワークステーション、パーソナルコンピュータ、高品位テレビジョン、構内通信回路網、印刷回路基板等々のバスに結合することができる。本質的に、インタフェース１２は、一連のライン即ち“バス”を通してデータを並列に供給するどのような外部装置にも結合することができる。インタフェースがデータを受信すると、それは並列・直列変換器１５へ供給される。変換器１５は、インタフェース１２からの並列ビットストリームを直列ビットストリームに変換し、それを、伝送路１００上に信号を駆動することができるドライバ回路２０へ差動式に供給する。ドライバ回路２０からの信号は、伝送路１００に直接結合されている双方向バッファ２５へ転送される。双方向バッファ２５は、信号を伝送路へ供給するのと同時に、伝送路から信号を受信することもできる。変換器１５からドライバ２０を通ってバッファ２５へ達する経路が、出力データ、即ち伝送路へ印加されて遠隔チップ、ＰＣ基板、システム、その他の装置へ送られるデータのために設けられている。伝送路１００はツイナックス（ twinax ）もしくはツイストペア線であり、典型的には二地点間リンクとして機能する。
【０００７】
伝送路上に出力データと同時に存在することができる入力データは、双方向バッファ２５によって、伝送路１００上の混合された入力／出力信号から抽出される。次いで入力データはドライバ３０を通して直列・並列変換器３４へ供給される。変換器３４はライン３２上に差動形状で供給される直列データを受入れ、それをサンプルして並列データに変換する。変換後、データはデータ分離回路４０へ供給され、データ分離回路４０はオーバサンプルされたデータビットから適切なビットを抽出してそれらを出力インタフェース４２へ供給する。入力インタフェース１２と同様に、出力インタフェース４２は、データを供給すべき外部コンピュータシステムもしくは他の所望装置に接続される。
図２は、４チャネルを有する直列リンクのより詳細なブロック線図である。図２はシステム１０の成分間の相互関係を詳細に示すと共に、１群の直列リンクシステムを共通に制御して１群の直列リンクとインタフェースできる手法をも示している。また、共通クロック信号及び共通インタフェース整合回路を直列リンクの幾つかのチャネルの間で共用できる手法をも示している。
直列リンクの各チャネル、例えばチャネル０は、外部システム５０からの並列インタフェース１２と、外部システム５０へデータを供給するインタフェース４２とを含む。動作中、インタフェース１２上のデータは、詳細構造に関しては後述する送信機へ供給される。双方向バッファ２５は送信機から直列データを受信し、それを直列リンク伝送路上へ印加する。同様に、伝送路１００からの直列データは双方向バッファ２５によって受信され、サンプラ３４によってサンプルされ、そして並列データに変換するために受信機５２へ供給される。受信機から外部システム５０のために並列バス４２が設けられている。
【０００８】
詳細に関しては後述する高速クロック６０が直列リンク１００と、一連のクロックライン６２とに接続され、送信機間にクロック信号を分配する。受信機もクロックライン６２に接続されている。この高速クロックは本システムの重要な部分である。普通のデータシリアライザでは、Ｄ型フリップフロップもしくはラッチが、並列入力・直列出力シフトレジスタとして構成されている。不幸にもこのようなアプローチを使用した場合、データ転送速度に等しい周波数のクロック信号を生成して処理することが困難であるために、極めて高速のデータシリアライザを製造することは困難である。また、このようなクロックの速度で動作するフリップフロップもしくはラッチを設計することも困難である。従って、１ギガビット／秒を超えるビット転送速度を有するシリアライザでは、このように高い周波数でクロック、ラッチ、フリップフロップ等を生成することは極めて困難である。高電力消費もしくは未来半導体技術を使用することを望まない場合には、この困難の程度は一層大きいものとなる。例えば、バイポーラ技術でこのような速度でスイッチングさせることは可能であるが、一般に大量の電力を消費し、大容量の電源、チップの冷却その他の問題を生ずる。ガリウム・砒素はこのような高速クロックを供給できる別の技術であるが、ガリウム・砒素技術を使用して製造された成分は一般に高価であり、広く使用することはできない。これに対して、ＣＭＯＳ技術は広く使用可能であり、比較的安価であり、そして一般に大きいスタンバイ電力を消費しない。
【０００９】
これらの欠点を解消するために、好ましいことに本発明のシステムのクロック６０は、システムの残余と共に、標準ＣＭＯＳ技術を使用して製造されていながら、１ギガビット／秒以上のデータ転送速度を十分に処理するために十分な数のクロック位相を発生することが可能である。
図３は、図２に示したクロックライン６２のレイアウトを示す図である。多数のクロックが回路基板もしくは他のサブストレートを横切って敷設されている場合には、隣接電線からの漏話（もしくはクロストーク）が各クロックラインに信号遅延を付与する。図３に示す一連の並列クロックラインはそれぞれ、隣接クロックラインに容量的に結合されている。もしクロックが、等間隔の位相を有する多相クロックであれば、ラインの集合の中央のクロック信号は両隣接クロックライン上の信号から同じように影響され、それによって容量性結合の逆方向効果が打ち消される。打ち消されることがない唯一の例外は、並列導体の端付近のクロックラインである。これらのクロックラインはそれらに隣接する一方のラインが存在していないので、非対称効果によってクロックスキューがもたらされる。しかしながら図３に示すように、本システムの好ましい実施例では、ダミークロックラインを敷設し、並列群の各端のクロックラインがこれらのダミークロックラインから対称的な結合を受けるようにし、それによってスキューを除去するようになっている。即ち、クロック位相φ0 及びφ1 が重複しており、クロック位相φn を輸送するラインに隣接して配置されている。同様に、φn-1 及びφn を輸送するラインがクロック相φ0 を輸送するラインに隣接して配置されている。このようにすると非対称容量性結合が無効になる。４ライン置きにではなく、全てのクロックラインが必要な実施例では、このレイアウトは、φ0 、φ1 、φ2 、・・・φn-1 、φn が隣接し合うように変更される。別の実施例では、中央のラインの状態が移り変わる時に、隣接クロックが静的０もしくは１に整定し終わっているようにクロックラインを配置することができる。例えば 30 位相クロックの場合、φ0 はその隣接位相としてφ5 、φ6 、φ25、もしくはφ26  を有していなければならないが、φ29  もしくはφ1 と隣接してはならない。勿論、バスの遠い側においては多数のラインが必要である。
【００１０】
図４は、単一で使用されようと、もしくは図２に示すような多チャネル実施例内に使用されようとも、直列リンクシステムに供給される位相クロックを生成するために使用されるクロック回路６０のブロック線図である。図４に示すようにクロックシステムは、位相周波数検出器６４、チャージポンプ及びループフィルタ６５、及び一連の遅延セル６８を含んでいる。図示の回路はライン７０上の参照クロック信号を受信し、そのクロックの移り変わりに応答して周波数分割器の効果によって所望数の内部クロックをライン７３上に生成するように機能する。各クロックは、位相をずらせた（即ち、移相した）クロック信号に対応する。図示実施例では、 30 の平等に位相をずらせたクロック信号が参照周波数の２倍で生成される。換言すれば、参照クロック信号の２つの連続的な立ち上がり縁の間に 29 の内部クロックの立ち上がり縁が生成される。外部参照クロックが 50 ＭＨｚであれば、システムは実効的に遙かに高速度のクロックを供給することができる（例えばこの実施例では、 30 クロックの単一のクロック周波数を用いて発生し得る縁の数は３ＧＨｚである）。これらの多相クロックは、直列リンクの送信機及びデータサンプリング機能を制御するために使用することができる。図示の特定実施例の場合には、 10 個の位相クロック（ 30 クロックの３クロック毎に）が送信機に供給され、 30 位相クロックがデータサンプラに供給される。データサンプラからの 30 出力を受信機において調べ、正しいデータ及び元の参照クロックを回復することができる。図２に示した実施例を使用すれば、位相クロックは直列リンクシステムの種々のチャネル間で共用することができる。
【００１１】
図４の実施例は、フェーズロックドループとして機能する。位相検出器６４は１つの遅延セルからの副位相クロック７３の１つ ck0  の周波数を、２で除した後に、ライン７０上の参照クロック信号の周波数と比較する。位相検出器の出力は、ループフィルタ６５を通過した後に遅延セルを通して戻され、その遅延を参照クロック信号と精密に同相に維持される。このようにして、ライン７３上の副周波数クロック信号は、元の参照クロックから平等に分割されるのである。
位相周波数検出器６４は、参照クロック信号と、１つの段の遅延セルからの発振器クロック信号との相差に関連する出力信号を発生する。これにより、その発振器クロックを参照クロック信号と同期して制御することができる。位相周波数検出器６４の出力はチャージポンプ及びループフィルタ６５を制御し、制御電圧をライン７４を通して遅延セル６８へ供給させる。この制御電圧は、遅延セルを速くしたり、遅くしたりする。各遅延セルは、先行遅延セルの出力信号から僅かに遅延している出力信号を発生する。フェーズロックドループによって、遅延セルの各出力は参照クロック信号の周波数を整数で除した値である。発振器の周波数ｆは、ｆ＝１／（２・Ｎ・Ｔd ）なる関係を持つように制御電圧によって制御される。ここに、Ｎは遅延段数であり、Ｔd は制御電圧の関数としての各遅延セルの遅延時間である。
【００１２】
クロック発振器は、 15 段差動遅延セル、周波数分割器、位相周波数検出器、チャージポンプ、ループフィルタ、及びクロックバッファで構成されている電圧制御発振器（ＶＣＯ）を含む。各位相クロックは２つの並列バッファによって緩衝されるから、クロックバッファからは２つの群の 100  ＭＨｚ、 30 位相クロックが生成される。各位相クロックを２つのクロックバッファによって緩衝し、２つの群の 30 位相クロックを生成するのに等しい位相を有する２つのクロックを発生させるのは、等しくロードされた等間隔の‘きれいな’クロックを‘汚れた’クロックから分離するためである。受信機内では３ＧＨｚデータオーバサンプリングクロックとして１組が使用される。データオーバサンプリングでは、センス間隔を可能な限り等間隔にする、即ちセンス間隔を 0.33 ｎｓ以内に制御することが重要である。この組のクロックは等間隔で且つ等しくロードされていなければならず、即ち‘きれいな’クロックでなければならない。他方の組のクロックは送信機をクロックするために使用され、送信機内に含まれるデータローダが１つのクロックを使用して 10 ビット入力並列データをロードする。クロックは、100 ＭＨｚ、 10 位相クロックである。各位相の間隔は１ビット直列データの伝送時間に等しい。
【００１３】
図５は、クロック発振器の回路構造を示す回路図である。図５の右下部分には２つの遅延セル８６及び８７が示されている。各遅延セル８６及び８７は、それぞれ図４に示した 30 段の遅延セル６８内の１つの遅延セルに対応する。遅延セル８６はノード８８及び８９から参照クロック信号と、その反転を受信する。クロック信号はトランジスタ９１及び９２をオン及びオフにトグルし、出力信号“出力”及び“出力バー”（“出力バー”は“出力”の否定もしくは反転を表し、図では字上線で示されるものである、以下同じ）を生成する。これらの出力信号はクロックドライバ回路９０を制御するのに使用される。クロックドライバ回路９０は普通のクロックドライバであって、クロック信号 ck0  を生成するためにこの差動出力信号を使用する。ck0 のために使用されるこれらの信号は、遅延セル８７内のトランジスタ９３及び９４へ入力クロック信号を供給するようにも接続されている。同様にして、遅延セル８７は中間ノードに出力信号を供給する。これらの出力信号は共にクロックドライバへ供給されてクロック信号 ck1  が生成され、後続遅延段（図示してない）へ印加される。遅延セルの各段にスイッチング遅延があるために、各後続遅延セル段のための入力クロック信号は先行段の入力クロック信号よりも僅かに遅延させてある。即ち、クロック ck0、ck1 、ck2 、・・・ckn は各々先行クロックから小さい量だけ遅延されている。
【００１４】
しかしながらクロック信号の１つ、例えば ck0  は、ライン８０を通して位相周波数検出器６４へも戻され、検出器６４においてライン７０から到着する元の参照クロックと比較される。参照クロックと遅延セルチェーンから選択されたクロックとの位相関係に依存して、位相周波数検出器６４はトランジスタ８１及び８２をターンオン及びオフさせる出力制御信号を供給する。位相周波数検出器６４は公知設計のものである。位相周波数検出器６４から供給される制御信号は、参照クロックとクロック ck0  との位相関係に依存して、トランジスタ８１と８２との間のノードＡをプルアップもしくはプルダウンさせる。トランジスタ８１がオンになると、電流がノードＡへポンプされ、ノードＡに共通接続されているトランジスタ９６、９７等へ印加される制御信号を増加させる。この増加した電圧がトランジスタ９６及び９７をより大きく導通させるので、トランジスタ９１、９２、９３、９４等のスイッチング時間を短縮させ、今度はそれらが各段内のクロック遅延を短縮させる。一方、もしトランジスタ８２がオンであればノードＡはプルダウンされ、ノードＡの制御電圧が低下するので、各遅延セルの動作が遅くなる。
【００１５】
図示のように公知のループフィルタリング回路も設けられ、ノードＡに接続されている。更に、位相周波数検出器制御信号によって引き出すことができる最大電流を制御するために、外部電流制御抵抗がノード８４に接続されている。
また、トランジスタ９６、９７等の制御ノード並びに遅延セルチェーン内の他のトランジスタに接続されているレプリカバイアス回路も示されている。このレプリカバイアス回路は、遅延セルのスイッチングによって生ずる電源（ＶＤＤ）内の動揺の影響を最小にすることによって、遅延セル上の電圧を安定化させるようになっている。
以上のようにして各遅延セルの出力が取り出され、対応するクロックドライバ９０を通して図２に示すクロックラインの１つに供給される。このようにして一連の等間隔のクロック信号（各々の位相は先行クロック信号とは僅かに異なる）が供給され、直列リンクの送信機及び受信機によって使用される。
上述したように、遅延セルはレプリカバイアス回路によって制御される電圧制御抵抗（ＶＣＲ）を含む差動構造を用いて実現されている。差動的に構成された遅延セルが高周波発振を支援するために使用される。レプリカバイアス回路はＶＣＯ遅延セルと同一の構造を有している。レプリカバイアス回路はクロック信号スイングの最小電圧レベルを実現し、この電圧レベルは演算増幅器によって参照電圧と比較される。この演算増幅器は、クロック信号の最小電圧レベルと参照電圧とを比較してレプリカバイアス回路及び 15 段遅延セル内に含まれるＶＣＲを制御する。その結果、ＶＣＲが演算増幅器によって調整され、ＶＣＯの電圧スイングは高周波発振を支援することができる約１Ｖに制限される。このフィードバックループを安定にするために、補償用ＭＯＳコンデンサが含まれている。チャージポンプの電流レベルは、カレントミラー回路によって制御される。カレントミラーの電流レベルは、外部ピン８４を介してＶＤＤに接続されている抵抗によって制御される。カラントミラーの大きさは、チャージポンプの電流源の大きさの約 10 倍である。これにより漏洩電流の効果が排除され、チャージポンプの電流レベルの精密さが増大する。
【００１６】
図６は、図４のシステムからの一連のクロック信号の位相関係を示すタイミング図である。前述したように、各クロック信号は先行クロック信号から僅かに遅延されている。
図７は、直列リンク内の送信機回路の並列・直列変換器１５（図１）の部分を示すブロック線図である。図７に示すように、並列・直列変換器１５は、一対のレジスタ１１７及び１１８を含む。一連のＤ型フリップフロップであることが好ましいレジスタ１１７は、入力として並列データバスの各ラインからのデータを受け、図７にクロック１で示されているクロック信号を受信するとこのデータをレジスタ１１７内にラッチする。
レジスタ１１８は、レジスタ１１７の若干のフリップフロップからデータを受けるように接続され、クロック信号（クロック２）を受信するとそのデータをラッチする。この特別なレジスタ１１８は、付加的なセットアップ及び保持時間を与えるものであり、従って任意選択的である。レジスタ１１８を用いると、先行サイクルからのデータが未だにレジスタ１１８から転送中である間に、新しいデータをレジスタ１１７内へロードすることができる。データがレジスタ内へクロックされ終わってから、それはＡＮＤ／ＯＲ回路内へクロックされる。ＡＮＤ／ＯＲ回路は一連のＡＮＤゲート１１０及び１つのＯＲゲート１１５からなっている。
【００１７】
好ましい実施例では、並列データの８ビットが直列データの 10 ビットとしてエンコードされるので、図７に示す実施例には 10 データビットを示してある。どのような望ましいエンコーディングスキームを使用しても差し支えないが、データビットの状態には関係なく必ず十分の数の縁（もしくはエッジ）が発生し、直列データリンク上の受信機を入力データに同期可能にするために、好ましい実施例ではこのコーディングスキームを使用しているのである。入力データ内に“縁”が存在することが保証されていなければ、長い０もしくは１のストリングを受信した時に受信機はドリフトする恐れがある。更に、０もしくは１の長いストリームが受信機バイアスにドリフトを発生させないように、２つの特別ビットによってデータストリームを平衡させることができる。
レジスタからのデータは、各ビットが分離している導体によってＡＮＤゲート１１０に印加される。各導体は、ＡＮＤゲート１１０の対応する１つに接続されている。各ＡＮＤゲートは、図４に示すクロック発振器回路によって生成された副周波数クロックの１つをも受けている。副周波数クロックは等間隔であることが好ましい。換言すれば、もし 10 クロックを直列化のために使用するのであれば、 30 の考え得るクロックの中から３番目のクロック信号毎に選択する。一つの例として、ＡＮＤゲート１１０ｄの一方の端子がデータビット２を受け、第２の入力端子が位相クロックφ3 を受けているものとする。このＡＮＤゲートに第３の入力端子がない場合には、クロック信号が印加されるとこのＡＮＤゲートはレジスタ１１６からのデータをその出力端子へ通過させ、ＯＲゲート１１５の入力端子の１つへ印加する。
【００１８】
クロック信号φ0 −φ9 は重なり合っているから、ＯＲゲートの２以上の入力端子が任意の時点に活動になることを防ぐ必要がある。これは各ＡＮＤゲートに第３の端子を設け、この第３の端子にはそのＡＮＤゲートに直接印加される位相の次の順番の位相のクロック信号を反転した信号を印加することによって達成される。例えば、ＡＮＤゲート１１０ｄは位相φ3 と、反転端子を通して位相φ4 とを受けている。これにより、クロック信号φ3 が活動になるか、もしくは非活動になり、且つクロック信号φ4 が非活動であれば、このＡＮＤゲートは可能化されそれに印加されたデータはＯＲゲート１１５へ通過することができるようになる。これに対して、クロック位相φ3 及びφ4 が共に活動である場合には、このＡＮＤゲートは不能化されてデータはＯＲゲート１１５へ印加されない。
ＯＲゲート１１５は、入力信号として各ＡＮＤゲート１１０からの出力信号を受信する。ＯＲゲートには入力信号が順次に到着するので、ＯＲゲート１１５の出力には、レジスタ１１７に供給される並列入力データの順次サンプリングを表す直列データストリームが現れる。レジスタ１１７及び１１８に供給されるクロック１及び２を適切に位相調整することによってこれらのレジスタにデータを再ロードすることができるので、クロック位相φ0 が到着した時には、第２の組のデータはレジスタを再ロードするのを待機する必要なくＯＲゲート１１５を通してクロックされる準備が整っている。
【００１９】
図８及び９は、それぞれ 20 対 10 マルチプレクサの詳細構造と、マルチプレクサ動作のタイミング図である。マルチプレクサは 10 個のＮＭＯＳパストランジスタと 10 個のＰＭＯＳトランジスタとからなっている。 20 ビットの入力データの下側の 10 ビットは 10 個のＮＭＯＳパストランジスタに印加され、上側の 10 ビットは 10 個のＰＭＯＳトランジスタに印加される。‘mux  switch’と命名されている 50 ＭＨｚのマルチプレクサ制御クロックは‘M  clk(2)’を２で除すことによって得られたものである。図９に示すように‘mux  switch’クロックは‘M  clk(2)’の立ち下がり縁によってトグルする、即ち状態を反転する。‘mux  switch’クロックが高に保持されている間は 10 個のＮＭＯＳパストランジスタがターンオンされ、下側の 10 ビットがマルチプレクサを通して送信機へ伝送され、そして‘M  clk(2)’の立ち上がり縁においてデータローダによってセンスされる。このクロックが低に保持されている間は 10 ＰのＮＭＯＳパストランジスタがターンオンされ、上側の 10 ビットがマルチプレクサを通して送信機へ伝送され、そして‘M  clk(2)’の立ち上がり縁においてデータローダによってセンスされる。
【００２０】
図１０は、図７のＡＮＤゲート１１０及びＯＲゲート１１５に使用される回路の回路図である。図１０において、各枝路１２０はＡＮＤ機能を遂行する。例えば図１０の左側の枝路の場合、ノード１２５はクロック ck0  が存在し、且つクロック ck1  が非活動である場合に限って、ｄ５の状態によって制御される。従って適切なクロック信号が活動である時には、出力ノードはノードｄ５からデータを受ける。ＡＮＤゲートを表す枝路は全て一緒にノード１２５に接続され、それによってＯＲゲートを構成している。換言すれば、クロック信号は位相調整されているので、ＭＯＳトランジスタの制御ノードに印加されるデータは順次に出力ノード１２５に現れる。従って、出力ノードは先ずデータｄ５を発生し、次いでｄ６を発生し、次いでｄ３を発生する等々である。
本発明の好ましい実施例では差動データ信号を使用している。この場合、図１０の右側部分は図１０の左側部分に対応している。但し、右側のデータは左側のデータに対して反転されている、即ち相補的であることが異なっている。即ち、図１０の右側部分の左側枝路は反転されたデータ信号ｄ５バーを受け、他の全ての枝路も反転したデータ信号を受けている。このように相補データが出力ノード１２８へ供給される。可能化信号はトランジスタ１３０及び１３１の制御電極へ印加され、ノード１２５及び１２８からのデータをライン１３５を通してスイッチし、最終的に直列リンクを駆動する。
【００２１】
図１１は、出力ドライバ及び双方向バッファの回路図である。図１１の回路構成を図１もしくは図２の双方向バッファ２５として使用することが好ましい。差動双方向バッファを図１２に示し、以下に説明する。
伝送路を通信のための媒体として使用する場合、伝送路上に現れる混合された入力及び出力データから入力データを分離するために適切な回路を使用している時に限って、伝送路を同時に両方向に使用することが許容される。この場合、全二重動作が許される。勿論、全二重動作は、媒体に対して特別なハードウェア費用を課すことなく利用可能な帯域幅を二倍にするので有利である。
図１１に示す回路は、伝送路上に存在する混合されたデータから出力データを減算し、それによって入力データを抽出する減算器として機能する。通常、演算には精密な抵抗が必要であり、これらの精密抵抗はＣＭＯＳ技術では実現できないことから、典型的にはＣＭＯＳで減算器回路を実現するのは困難である。
図１１に示す回路は、抵抗を使用する必要がないことから特に有利である。抵抗の代わりに、この回路は送出レプリカ信号発生器及び差動対の組合せを使用している。送出レプリカ信号発生器は、送信機から出て行く送出信号の正確なレプリカを生成する。受信した信号と出力信号とを比較することによって純入力信号を決定することができる。例えばもし受信信号及びレプリカ信号が同一であれば比較の結果は０になり、これは純受信信号が存在しないことを意味する。しかしながらもし入力信号がレプリカより大きければ、比較の結果は正となり、伝送路から正の信号を受信したことを意味する。同様に、もし比較が負であれば、負の信号を伝送路から受信したことを意味する。
【００２２】
図１１において、伝送路１００上の入力及び出力の両データからなる混合信号は、ノード１４０からトランジスタ１４４の一方の電極に印加される。トランジスタ１４４の他方の電極は、ノード１４６の参照電圧を受けるように接続されている。この参照電圧は、ノード１４６と電流源１４７とに接続されているトランジスタ１４５に印加される参照電圧を使用して生成される。
トランジスタ１４４の制御電極は送信機からのデータ出力を反転した形状で受信するように接続されている。このデータはトランジスタ１４９にも供給されて反転され、ノード１５０に供給される。従ってノード１５０は、直列リンク送信機からの出力データ信号のレプリカを表している。伝送路１００は、差動トランジスタ対１４２及び１５２のトランジスタ１４２の制御電極にも印加される。トランジスタ１５２の制御電極はノード１５０に接続されていて出力データのレプリカを受信する。各トランジスタ１４２及び１５２の別の電極は一緒に電流源１５５に接続されている。トランジスタ１４２の他方の電極は電位源に接続され、一方トランジスタ１５２の他方の電極は負荷を通して電位源に接続されている。従ってトランジスタ１４２及び１５２の差動対は、出力信号のレプリカと伝送路上に存在する混合された入力及び出力信号とを比較する。これらの両信号が同一の電位を有している場合には、ライン１５７上の出力信号は０Ｖになる。一方もし伝送路１００が上記電位よりも高ければ、線１５７上の出力は正になり、もし出力信号のレプリカが高ければライン１５７上の回路の出力は上記電位よりも低くなる。
【００２３】
図示回路は、出力ライン１５７上の電圧スイングが比較的小さく、１Ｖ程度であるので特に有利である。即ち、出力が従来の減算回路よりも迅速にスイッチする。双方向ブリッジ及び適切なインピーダンス整合回路によって同軸ケーブルだけを使用する全二重データ転送が可能になる。
図１２は、インピーダンス整合回路及び双方向ブリッジの差動実施例を示す。インピーダンス整合回路内に電圧制御抵抗（ＶＣＲ）として含まれているＰＭＯＳトランジスタ１７５は等価 500Ω抵抗である。双方向ブリッジ内に含まれる各ＶＣＲ１７０及び１７３は、それぞれがトランジスタ１７５より 10 倍大きいので等価 50 Ω抵抗であり、ＶＣＲ制御信号 Z0bias によって制御される。同様にトランジスタ１７０及び１７３は、伝送路の内部終端抵抗として動作して信号反射を除去する。ノード‘ dsend’及び‘ dsendb ’には出力差動信号が現れ、ノード‘ twinax  data’及び‘ twinax  datab ’には出力差動信号と入力差動信号の混合が現れる。‘ twinax  data’及び‘ twinax  datab ’は、特性インピーダンスが 50 Ωである同軸伝送路のケーブル端であるので、そのノードの活動負荷抵抗は 50 ΩＶＣＲと特性インピーダンスとの並列の 25 Ωである。電流舵取りが最大の場合には、‘ twinax  data’及び‘ twinax  datab ’のノードの電流レベルはトランジスタ１７５（等価 500Ω  抵抗である）より 10 倍大きい。従って、トランジスタ１７５の電流レベルが２ｍＡである場合には‘ twinax  data’及び‘ twinax  datab ’は 20 ｍＡを供給する。入力差動信号が存在しない場合にノード（ twinax  data、 twinax  datab ）に現れる出力差動信号だけの最大スイングは約 0.5Ｖ（ 25 Ω× 20 ｍＡ＝ 0.5Ｖ）である。もし入力差動信号が受信されれば、入力及び出力信号の混合された差動信号がノード twinax  data及び twinax  datab に現れる。もし入力差動信号及び出力差動信号が‘同相’であれば、混合差動信号の最大スイングは除去される（ 0.5−0.5 ＝0 Ｖ）。即ち twinax  dataと twinax  datab との間の偏差は０になる。混合差動信号からの入力差動信号の抽出は、双方向ブリッジ内に含まれる抽出器回路によって遂行される。ミクサ構造の抽出器回路は‘ Vtwinax data’及び‘ Vdsend ’で構成されている差動信号と‘ Vdsendb  ’及び‘ Vtwinax datab ’で構成されている別の差動信号とを混合する。この混合のメカニズムを示す式は
0003720076.tif 000002
である。
【００２４】
インピーダンス整合回路は２つのフィードバックループで構成され、一方は電流バイアス用信号‘IObias’を生成し、他方はＶＣＲ制御信号‘Z0bias’を生成する。
図１２に示す演算増幅器１は、参照電圧 Vext  swing とノード電圧 Vext  res とを比較する。このノードは 500Ω  の抵抗を通してＶＤＤに接続されている。もし‘ Vext  swing ’と‘ Vext  res ’との間に偏差があれば、演算増幅器１の出力信号は 500Ω  抵抗の電流レベルを制御して電流源のゲート電圧を調整することによって偏差を補償する。この電流源のゲート電圧は、電流バイアス用信号‘IObias’として使用される。その結果演算増幅器１を含んで構成されている負フィードバックループによって‘ Vext  res ’は‘ Vext  swing ’に等しくされる。
図１２に示す演算増幅器２は‘ Vext  swing ’と、ＶＣＲとして使用されているＰＭＯＳトランジスタのドレインである内部ノード電圧‘ Vnode1 ’とを比較する。もし‘ Vext  swing ’と‘ Vnode1 ’との間に偏差が存在すれば、演算増幅器２の出力信号はＶＣＲのゲート電圧を制御してこの偏差を取り除く。演算増幅器２の出力信号はＶＣＲ制御信号‘Z0bias’として使用される。その結果ＶＣＲの電流レベルが‘IObias’信号によって 500Ω  の抵抗に等しくされているので、ＶＣＲは 500  Ωの抵抗と等価になる。‘ Vnode1 ’は、‘ Vext  swing ’に等しくされている‘ Vext  res ’に等しくなる。従ってもしＶＣＲのゲート電圧が‘Z0bias’信号によって制御され、また電流レベルが‘IObias’電流源によって決定されれば、ＰＭＯＳトランジスタはある抵抗に等しいＶＣＲとして使用することができる。フィードバックループを安定させるために、内部補償ＭＯＳコンデンサが含まれている。これらのフィードバックループは電源投入時に活動となり、温度及び電源変動を絶えず補償する。
【００２５】
図１３は、受信機システムの詳細なブロック線図である。図１３に示すシステムは、‘直列入力’ラインから到達する直列データを並列データに変換し、それをＲｘデータとして他の装置（図示してない）へ供給する。直列入力ライン上に存在するデータは、図１２に示す双方向バッファから供給されるデータに対応している。換言すれば、直列入力ライン上のデータは、伝送路上の混合信号から送信機の出力データを減算済であり、従って並列形状に変換すべきデータである。図１３にはシングルエンデッド形状に示されているが、好ましい実施例では図１３に示されている全ての回路が差動であることを理解されたい。
図１３において、クロック６０は 30 位相のクロック信号をデータサンプラに供給する。従って 10 ビットのデータを生ずるようなエンコーディング技術を使用するものとすれば、データサンプラはデータの各ビットを３つの異なる時点にサンプルする。この３回毎のサンプリングによって、データストリーム内の縁を決定し、データビットを正しく整列させることができる。
要約すれば、図１３に示す構造には２つの目的がある。第１に、入力直列データストリーム内の如何なるビットの状態をも正しく検出できるような手法で、入力データをサンプルしなければならない。データを送出した原始ステーションとデータを検出する受信ステーションとの間のクロック信号は同期していないから、システムは各データビットの縁を決定できなければならない。更に、システムはデータの各フレーム内の第１データビットの位置を正しく決定できなければならない。そうでなければ、データが正しく検出されサンプルされても、各バイト（ワード）の内容は不正確になる。何故ならば、ワードはその高位ビットとして先行バイトの低位ビットを含み、またその低位ビットとして受信されるバイトの高位ビットを含み得るからである。他の誤りも考え得る。従って、図１３のデータ回復システムは、低オーバサンプリング比、短待ち時間、及び並列データ回復を提供する。このシステムは、遠隔ステーションのクロックとローカルステーションのクロックとの間の周波数差が小さいものとして、３倍オーバサンプリングを使用する。オーバサンプリング比が低く、データを並列に処理することによって、データ処理速度が増加する。100 ＭＨｚクロックの１クロックサイクル中にデータサンプラは、実際のデータの 10 ビットに対応してサンプルしたデータの 30 ビットを供給する。デジタルフェーズロックドループは、データ内の移り変わり縁を見出す。サンプルされたデータの 30 ビット内には 10 個の低から高への、もしくは高から低への移り変わりが存在し得る。複数の移り変わり位置がデジタル的に平均され、低域通過濾波される。ジッタを原因とする高速位相変化はデジタル低域通過濾波によって除去されるが、それでも遠隔ステーションとローカルステーションとの間の周波数サンプルによってもたらされる徐々の位相ドリフトには従う。
【００２６】
図１４は、 30 サンプル点を有する伝送路上の典型的なデータ信号を示す。クロック６０は、直列リンクに結合されているデータサンプラに 30 位相クロックを供給する。図示の目的で 1001110101 の仮説ビットストリームをシングルエンデッド形状で示してある。もし差動伝送路を使用するのであれば、図１４に示す波形の鏡像が付加され、この鏡像が同一のクロック信号で、しかし付加的な回路によってサンプルされる。しかしながら、実効的には、並列サンプラはこの波形をサンプルし、得られた２値出力信号をデータシャフラ２１０（図１３）へ供給する。
図１３のデータサンプラは、入力データをサンプルするためのセンス増幅器を含む。図１５は、図１３に示すデータ入力ライン上のデータの状態を検出するセンス増幅器の詳細図である。図１５に示す入力ノード２１１及び２１２は、双方向バッファから差動信号を受信するように接続されている。この信号はインバータ２１３及び２１４によって形成されている反転段を通り、適切なクロック位相に接続されている一対の直列接続されたトランジスタに供給される。図１５に示すセンス増幅器の場合には、クロック位相φ1 及びφ2 を使用している。直列リンクに結合されている他のセンス増幅器は、異なる時点にデータをサンプルできるように他のクロック位相を使用する。センス増幅器は、プリチャージ、サンプル、再生成及び保持シーケンスを使用して機能する。図の上側部分に示す第１段は主として信号の検出を行い、図の下側部分に示す第２段は検出した信号の主増幅を行う。
【００２７】
クロックφ1 及びφ2 が重なり合う時に、入力信号がノード２１５及び２１６へ供給される。ノード２１５と２１６との間の回路は、公知設計の交差結合差動センス増幅器を形成し、信号を増幅する。
全体を２１７で示すトランジスタはクロック信号を受け、センシングの前にノード２１５及び２１６を平衡させる。換言すれば、クロック信号φ1 及びφ2 が重なり合う直前にノード２１５及び２１６を互いに短絡してそれらを平衡させるのである。これにより入力ノード２１１及び２１２をより正確にセンスすることができる。トランジスタ２１８はセンス増幅器の第１段を第２段へ接続する。これらのトランジスタがオンになると、センス増幅器の第１段からの出力信号がセンス増幅器の第２段の入力ノードへ転送される。第２段は第１段と類似しており、論理的には反転透過ラッチと等価である。
図１３に示すように、位相検出器２４０がデータシャフラ（ shuffler ）に接続され、データの縁を検出するように機能する。例えば位相検出器はクロック信号 ck2  と ck 3 との間、もしくは ck20 と ck21 との間の縁（図１４参照）の存在を検出することができる。縁の信頼できる位置が分かると、個々のデータビットを決定することができる。換言すれば、一旦 ck2  と ck3  との間の縁が分かれば、クロック信号 ck0、ck1 、及び ck2  に採取されれたサンプルがデータストリーム内の１つのビットを表し、データストリーム内の別のビットはクロック時 ck3、ck4 、及び ck5  によって表される等が分かる。データサンプラはこの情報をボータ（ voter）へ供給し、ビットを表すにはどのデータサンプルを使用すべきかを決定可能ならしめる。例えば上記の仮説を使用すれば、クロック信号 ck1、ck4 、・・・、ck19  にサンプルされたデータは、データライン上のビットの状態の正しいサンプルを表している。（これらは、そのビットを形成するパルスの中央付近で得られたサンプルである。）
勿論、単にビットを検出するだけで十分ではない。前述したように、データを信頼できるものとするために、データの各バイト即ちワードの周囲のフレーム境界を決定しなければならない。実効的にはバレルシフタであるデータシャフラ２１０がこの機能を遂行する。この技術を以下に説明する。
【００２８】
最初にシステムに電源を投入した時に、データは所望プロトコルを使用してエンコードされる。前述したように好ましい実施例では、データの内容には無関係に十分な縁を得るために、またデータに統計的平衡を与えて受信機の偏りを防ぐために、８：10  ビットプロトコルが使用されている。８ビットが 10 ビットにエンコードされるので、若干のビット組合せはイリーガルな状態を表している。これらの状態を検出し、フレーム制御同期等を発生するために使用することができる。直列リンクインタフェースがソフトウェア制御の下に最初に活動化される時に、インタフェースの各ステーションは既知のパターンをインタフェースの他のステーションへ送信する。この既知のパターンは、直列リンクの一方の端の送信機と、直列リンクの他方の端の受信機が互いに同期するまで繰り返し送信される。両者が同期すると、回路２５０によって縁ポインタが決定される。縁ポインタは、各バイト内のデータの最初のビットを表すクロック位相を実効的に“指し示す”。従って図１４に示すデータストリーム例の場合には、縁ポインタはデータストリーム内の ck20 におけるビットサンプルを、 10 ビットのシーケンス内のデータの最初のビットであるとして指し示すことができる。このようにしてシステムは、フレーム内の最初のデータの状態を表す信号 ck20 の間にサンプルされたデータビットの状態を“知る”。（後にデータ分離器がデータの特別の２ビットを 10 ビットから取り除き、それらを“有効”ビットとして処理し、残余の８ビットを出力として供給する。）
フレーム境界が正しく決定されると、本質的には３対１のマルチプレクサであるボータ２２０は、適切に配列された正しい 10 ビットの出力をデータセレクタ２３０へ供給する。図１３に示すように、これによりシステムは差動データ出力信号を供給することができる。
【００２９】
データ回復は、オーバサンプルされた３ビットから１ビットを通過させることによって遂行される。入力データの中心をサンプルするビットだけが通過させられる。１内部クロックサイクル中に 10 ビットが処理される。デジタルフェーズロックドループ（ＤＰＬＬ）の外部の他のデジタル回路はＤＰＬＬの周波数の半分で動作するから、ＤＰＬＬは 20 ｎｓ中に 20 ビットの並列データを送給する。
30：１のマルチプレクサは２つのポインタによって、 30 の等間隔クロックの中から１つのクロックを選択する。選択されたクロックは、緩衝された後にＤＰＬＬ自体をクロッキングするために使用される。選択されたクロックは、他のデジタル回路へ渡される前に２で除算される。この除算されたクロックは、遠隔ステーションの周波数と同一の周波数を有している。
ＤＰＬＬは最高位ビット（ＭＳＢ）整列をも行う。ＤＰＬＬの外側のコーダはプリアンブリング期間中に 20 ビットの並列データ内のＭＳＢ位置を調べる。回復されたデータがワード整列されていない場合には、コーダはＳＫＩＰ信号を発生する。ＤＰＬＬはスキップ信号が発生したことを見出すと、ビット位置を１ビットだけ回転させる。コントローラは、回復されたデータがワード整列するまでスキップ信号を発生する。
【００３０】
現在の位相及びワード情報を保持する２つのポインタが存在する。位相ポインタは３ビットのリングカウンタであり、位相情報を記憶する。位相ポインタＰは３つの値、即ち０、１、２を取ることができる。オーバサンプルされた 30 ビット並列データの中の 10 ビット、 OverData[0:29] だけが位相ポインタに従って選択される。Ｐ＝“Ｏ”である時に OverData[1]、OverData[4] 、・・・、OverData[28]が回復されたデータとして選択される。位相ポインタと回復されたデータ RecData  は、
RecData[n]＝ OverData[ 3n ＋(P＋1) mod 3 ]
なる関係がある。但し、 n＝0 、1 、2 、・・・、9 である。
もし現位相ポインタが１であれば、それは OverData[ 3n ] と OverData[ 3n ＋1 ] との間に発生するオーバサンプルされたデータ内に低から高へのデータ移り変わりが発生したことを意味する。各サイクル毎に、低から高への、または高から低へのデータ移り変わり位置が計数され、現位相ポインタと比較される。OverData[ 3n ]と OverData[ 3n ＋1 ] との間に発生した移り変わりの数は４ビット数 Tran01 にエンコードされる。 Tran01 、 Tran12 及び Tran20 は次のように与えられる。
【００３１】
【数１】
0003720076.tif 000003
【００３２】
デジタル縁ボータは、１の数の合計と、比較とを行う。 Tran01 、 Tran12 及び Tran20 は現位相ポインタと比較され、位相ポインタを移動させるか否かが決定される。最大数の移り変わりを有している位相が現位相と比較される。もし新位相が現位相よりも進んでいれば、アップ信号が生成される。このアップ信号は低域通過濾波される。３連続アップ信号が位相ポインタを１ポイントだけ更新する。もし入力データの形状が方形であり、サンプリングプロセスが完璧であれば、全ての１ビットは３回サンプルされ、位相ポインタが指し示している点において移り変わりが発生する。しかしながら実際のシステム環境においては、データパターンに３連続０もしくは１を持たせないようにする幾つかの誤りの源が存在する。この理由から、低域通過濾波が必要なのである。
ワードポインタ２４０は、 20 ビット整列及びクロック選択のために使用される。これは 10 ビットのリングカウンタであり、 10 値、即ち 0、1 、2 、・・・、9 を取ることができる。ワードポインタは２つの場合に変化する。第１にＤＰＬＬがスキップ信号を受信した時に、ワードポインタは１だけ増加する。第２に位相ポインタが１から２へ変化した時に、ワードポインタは１だけ増加する。位相ポインタが２から１へ変化した時に、ワードポインタは１だけ減少する。ワードポインタ及び位相ポインタは、ＨＰコーダがリセット信号を送った時に０にリセットされる。
【００３３】
クロック回復は、 30 多相クロックの１つを選択することによって行われる。この選択はワードポインタ及び位相ポインタによって行われる。選択されたクロックは緩衝され、ＤＰＬＬ自体によって使用される。コーダ及び他のデジタル回路は 50 ＭＨｚで動作しているから、このクロックは分割され、緩衝される。ポインタと選択されたクロックとの間の関係は、次式で表すことができる。
INT  CLK ＝CK[3((W ＋1) mod 10)＋(P＋1) mod 3]
ローカルステーションは、ワード及び位相ポインタを変化させることによって遠隔ステーションの周波数及び位相を追尾する。遠隔ステーションの周波数がローカルステーションの周波数より高い場合には、現クロックをもたらしたクロックが選択される。スキップ信号によるワードポインタ変化も、クロック選択を変化させる。図１６の（ａ）は、送信ステーションの周波数が受信ステーションの周波数よりも高い場合のクロック選択プロセスを示す。図１６の（ｂ）は、受信ステーションが速い場合のプロセスを示す。
データサンプラ（図１３）は入力データを 30 多相クロックでオーバサンプルする。SeqOverData[0:29] はオーバサンプルされたデータである。サンプリングは順次に発生するからサンプラの出力も順次に使用可能であり、 30 位相クロックに同期されている。データシャフラはビット整列を行う。内部クロック同期回路（もしくはシンクロナイザ）は、 15 のフリップフロップからなる。この回路は 30 ビットの SeqOverData  をＤＰＬＬの内部クロックに同期させる。縁ボータは移り変わりの数を計数し、比較する。
【００３４】
図１７は、位相ポインタを示す。これは３ビットのリングカウンタであり、プルダウン及びプルアップ信号に従って単一のビットを循環させる。ワードポインタは位相ポインタと同一構成であるが、ワードポインタは 10 ビットのリングカウンタである。これら２つのポインタ間の接続を図１８に示す。位相が２から１へ変化すると、マイナス信号が発生してワードポインタを減少させる。コーダがスキップ信号を生成すると、それは 50 ＭＨｚクロックに同期される。もしスキップ信号が直接ＤＰＬＬに与えられれば、ＤＰＬＬは２サイクルの間発生していることになる。スキップ同期発生器は、コーダが生成したスキップ信号をＤＰＬＬの内部クロックに同期させる。もしスキップ同期信号及びマイナス信号が同時に発生すれば、スキップ同期信号が無視されてスプリアス効果を防ぐ。
リセット同期回路を使用するのは２つの理由からである。第１は、ポインタの状態は電源投入時には予測できないから、リセット機構が必要なことである。第２は、リセット信号をＤＰＬＬの内部クロックに同期させることによって、リセット信号がＤＰＬＬの動作をより信頼できるものとするからである。図１９はリセットタイミング図である。
【００３５】
図２０のクロックマルチプレクサは１段 30 : 1 マルチプレクサである。これは 30 多相クロックの中から１つを選択する。マルチプレクサの第１段は位相ポインタによって制御され、第２段はワードポインタによって制御される。位相が変化すると内部クロック期間は、システムクロック期間の 29/30  に一時的に短縮される。
データシャフラは、ワードポインタ値に従って順次に使用可能なデータを整列させる。図２１はデータシャフラの回路図である。データシャフラは、本質的にバレルシフタである。
図２２のデータセレクタは、位相ポインタの値に従って、 30 のオーバサンプルされたデータの中の 10 ビットだけを通過させる。このセレクタは 10 個の 3 : 1  マルチプレクサのアレイである。位相が変化したデータは位相ポインタが変化してから１サイクル後にデータセレクタに到着するから、３つのフリップフロップが挿入されて位相ポインタ値を１サイクルだけ遅延させている。
図２３は、図１３にブロックで示されているボータ２２０の詳細な回路図である。ボータは本質的に３つの異なる区分からなり、各区分はオーバサンプルされたデータを受ける。実際には、全ての縁情報は３つの移り変わり位置にグループ化され、各位置は先行位置から１クロック位相だけシフトされ、殆どの移り変わりを有する位置は各グループに属する縁を計数した３つの数を比較することによって検出される。即ち、ボータの上側部分２３２は一連のＯＲゲートを含み、各ゲートはサンプルデータの２つの隣接するビットを受信するように接続されている。例えば、ＯＲゲート２５３はクロック ck3  及び ck4  にサンプルデータを受けている。区分２３５内の対応するＯＲゲート２５５はクロック位相 ck4  及び ck5  にサンプルデータを受け、区分２３８内の別のＯＲゲート２５７はクロック位相 ck5  及び ck6  にサンプルデータを受けている。従ってもし ck4  と ck5との間に縁移り変わりが発生すれば、区分２３５に１の計数が発生し、区分２３２もしくは２３８内には計数は発生しない。これらのＯＲゲートは、破線ブロック２６１内の回路で示されているようなカウンタ内に接続されており、これらのカウンタ自体はコンパレータ２６５によって比較される。最終的に、ノードＶＯ、Ｖ１、もしくはＶ２の１つに大きい計数が現れる。この大きい計数は縁検出器２４０（図１３）を制御するために使用され、検出器はデータシャフラ２１０（図１３）を制御する。
【００３６】
ボータ内のＦＡで示されているブロックは全加算器であり、ＨＡで示されているブロックは半加算器である。縁ボータからは３つの出力が存在する。OverData[3n ＋1]と OverData[3n＋2]との間の移り変わり数が、OverData[3n ] と OverData[3n＋1]との間の移り変わり数より大きい場合に、LTran12 は高になる。
図２４は、位相追尾回路及び付属回路を示す。送信機クロックと受信機クロックとの間にドリフトがあると、所与のサイクル内にあるものと解釈すべきであったあるビットが、先行もしくは後続サイクル内にあるものと解釈されるような点まで位相が時間の経過につれてゆっくりと変化するので、位相追尾が必要なのである。このようなことがあると受信データストリームに誤りを発生させる恐れがある。位相追尾は、図２３に示すボータ回路からの３つの出力信号 LTran  を受信するように接続することが好ましい。位相追尾回路はボータからの出力信号の全てのサイクルを使用して、縁が移動したか否かを決定することができる。もし縁が移動していれば、図１３の縁ポインタはある信号を受信してポインタの位置を調整する。
追尾フィルタは、縁ボータから移り変わり数情報を受信する。追尾フィルタは移り変わり位相と現位相とを比較してポインタを変化させる。３連続アップもしくはダウンだけが現ポインタを変化させることができる。アップ及びダウン信号は、表１のように生成される。E01 、E12 、E20 は以下のように定義される。
【００３７】
【数２】
0003720076.tif 000004
【００３８】
以下の表１は、位相追尾回路が遂行する論理を示している。
【００３９】
【表１】
0003720076.tif 000005
【００４０】
最初の３列は、位相追尾回路への３つの入力信号Ｖ０、Ｖ１及びＶ２の組合せを表している。システムの現位相は、次の３列に示されている。位相追尾回路から供給される出力信号は、最後の２列に示されている。表に示されているようにもし現位相及び位相追尾回路入力信号が同一であれば、アップ及びダウン制御信号は供給されない。しかしながら、他の入力信号は表に示すように出力信号を生成することができる。
図２５は、送信機のタイミング図である。図２６は、受信機の総合タイミングを示す。両図には、先行図において使用した信号名が使用されている。
以上に好ましい実施例を説明したが、この説明は本発明を例示したに過ぎず、本発明を限定する意図はない。本発明の範囲は、特許請求の範囲によって限定されるものである。
【図面の簡単な説明】
【図１】直列リンクインタフェースシステムを高レベルで示すブロック線図。
【図２】直列リンクインタフェースを示すより詳細なブロック線図。
【図３】図２内のクロック導体の配列を示す詳細な回路図。
【図４】クロック発振器を示すブロック線図。
【図５】クロック発振器の詳細な回路図。
【図６】図４及び５の回路によって生成される位相調整されたクロックの関係を示すタイミング図。
【図７】データシリアライザを示すブロック線図。
【図８】  20：40  マルチプレクサの詳細な構造を示す図。
【図９】マルチプレクサの動作を示すタイミング図。
【図１０】データシリアライザの詳細な回路図。
【図１１】双方向バッファのシングルエンデッド実施例の詳細な回路図。
【図１２】双方向バッファ、インピーダンス整合回路及び電流バイアス発生器の差動実施例の詳細な回路図。
【図１３】受信機のブロック線図。
【図１４】直列リンク上の仮説波形と、それがサンプルされる手法を示す図。
【図１５】直列リンクの状態をセンスするのに使用するセンス増幅器の詳細な回路図。
【図１６】（ａ）及び（ｂ）は送信機及び受信機の相対速度に基づくクロック選択プロセスを示すタイミング図。
【図１７】位相ポインタの詳細な回路図。
【図１８】ワードポインタと位相ポインタとの間の接続を示すブロック線図。
【図１９】リセット信号を示すタイミング図。
【図２０】クロックマルチプレクサのブロック線図。
【図２１】データシャフラの回路図。
【図２２】データセレクタのブロック線図。
【図２３】ボータの回路図。
【図２４】追尾フィルタの回路図。
【図２５】送信機の総合タイミング図。
【図２６】受信機の総合タイミング図。
【符号の説明】
１０  全二重高速データ通信用直列リンクシステム
１２  並列インタフェース
１５  並列・直列変換器
２０  ドライバ回路
２５  双方向バッファ
３０  ドライバ
３４  直列・並列変換器
４０  データ分離回路
４２  出力インタフェース
５０  外部システム
５２  受信機
６０  高速クロック
６２  クロックライン
６４  位相周波数検出器
６５  チャージポンプ及びループフィルタ
６８、８６、８７  遅延セル
９０  クロックドライバ回路
１００  伝送路
１１７、１１８  レジスタ
１４７、１５５  電流源
２１０  データシャフラ
２２０  ボータ
２３０  データセレクタ
２４０  縁検出器（位相及びワード検出器）
【図１】
0003720076.tif 000006
【図２】
0003720076.tif 000007
【図３】
0003720076.tif 000008
【図４】
0003720076.tif 000009
【図５】
0003720076.tif 000010
【図６】
0003720076.tif 000011
【図７】
0003720076.tif 000012
【図８】
0003720076.tif 000013
【図９】
0003720076.tif 000014
【図１０】
0003720076.tif 000015
【図１１】
0003720076.tif 000016
【図１２】
0003720076.tif 000017
【図１３】
0003720076.tif 000018
【図１４】
0003720076.tif 000019
【図１５】
0003720076.tif 000020
【図１６】
0003720076.tif 000021
【図１７】
0003720076.tif 000022
【図１８】
0003720076.tif 000023
【図１９】
0003720076.tif 000024
【図２０】
0003720076.tif 000025
【図２１】
0003720076.tif 000026
【図２２】
0003720076.tif 000027
【図２３】
0003720076.tif 000028
【図２４】
0003720076.tif 000029
【図２５】
0003720076.tif 000030
【図２６】
0003720076.tif 000031