(57)【特許請求の範囲】
【請求項１】
ＣＤＲ信号を処理するための方法であって、該方法は、
データ情報と、シリアルデータ流の中に埋め込まれたクロック信号とを含むＣＤＲ信号を受信することと、
該ＣＤＲ信号と同じソースから、該埋め込まれたクロック信号の周波数に関連する周波数を有する基準クロック信号を受信することと、
該埋め込まれたクロック信号の周波数と等しい周波数を有する該基準クロック信号から、復元されたクロック信号を生成することと、
該復元されたクロック信号の位相が実質的に該埋め込まれたクロック信号の位相と等しくなるまで該復元されたクロック信号の位相を調整することと、
該復元されたクロック信号を用いて、該ＣＤＲ信号から該データ情報を復元することと
を含む、方法。
【請求項２】
前記基準クロック信号の周波数は、プログラム可能なスケールファクタによって、前記埋め込まれたクロック信号の周波数に関連する、請求項１に記載の方法。
【請求項３】
前記プログラム可能なスケールファクタは、遠隔ソースから受信される、請求項２に記載の方法。
【請求項４】
内部クロック信号を生成することをさらに含み、前記基準クロック信号、前記復元されたクロック信号、該内部クロック信号の各々は、異なる周波数を有する、請求項１に記載の方法。
【請求項５】
前記復元されたクロック信号と関連付けられるクロックレジームと、前記内部クロック信号と関連付けられるクロックレジームとの間に前記データ情報をバッファリングすることをさらに含む、請求項４に記載の方法。
【請求項６】
ＣＤＲ信号を処理するための方法であって、該方法は、
ＣＤＲ信号と同じソースから基準クロック信号を受信することと、
ＣＤＲ信号ソースから、データ情報と、シリアルデータ流の中に埋め込まれたクロック信号とを含む該ＣＤＲ信号を受信することであって、該埋め込まれたクロック信号は、該基準クロック信号の周波数に関連する周波数を有する、ことと、
該埋め込まれたクロック信号の周波数と等しい周波数を有する該基準クロック信号から、復元されたクロック信号を生成することと、
該復元されたクロック信号の位相が実質的に該埋め込まれたクロック信号の位相と等しくなるまで該復元されたクロック信号の位相を調整することと、
該復元されたクロック信号を用いて、該ＣＤＲ信号から該データ情報を復元することと
を含む、方法。
【請求項７】
前記基準クロック信号の周波数は、プログラム可能なスケールファクタによって、前記埋め込まれたクロック信号の周波数に関連する、請求項６に記載の方法。
【請求項８】
前記プログラム可能なスケールファクタは、遠隔ソースから受信される、請求項７に記載の方法。
【請求項９】
内部クロック信号を生成することをさらに含み、前記基準クロック信号、前記復元されたクロック信号、該内部クロック信号の各々は、異なる周波数を有する、請求項６に記載の方法。
【請求項１０】
前記復元されたクロック信号と関連付けられるクロックレジームと、前記内部クロック信号と関連付けられるクロックレジームとの間に前記データ情報をバッファリングすることをさらに含む、請求項９に記載の方法。
【請求項１１】
ＣＤＲ信号を処理するための方法であって、該方法は、
データ情報信号を受信することと、
基準クロック信号を生成することと、
該基準クロック信号の周波数に関連する周波数を有する埋め込まれたクロック信号を生成することと、
該データ情報信号と、シリアルデータ流の中に埋め込まれた該埋め込まれたクロック信号とを含むＣＤＲ信号を生成することと、
該ＣＤＲ信号および該基準クロック信号をＣＤＲ信号レシーバに伝送することと
を含む、方法。
【請求項１２】
前記基準クロック信号の周波数は、プログラム可能なスケールファクタによって、前記埋め込まれたクロック信号の周波数に関連する、請求項１１に記載の方法。
【請求項１３】
前記プログラム可能なスケールファクタは、遠隔ソースから受信される、請求項１２に記載の方法。
【請求項１４】
内部クロック信号を生成することをさらに含み、前記基準クロック信号、前記埋め込まれたクロック信号、該内部クロック信号の各々は、異なる周波数を有する、請求項１１に記載の方法。
【請求項１５】
前記内部クロック信号と関連付けられるクロックレジームと、前記埋め込まれたクロック信号と関連付けられるクロックレジームとの間に前記データ情報をバッファリングすることをさらに含む、請求項１４に記載の方法。
【請求項１６】
ＣＤＲ信号を処理するための方法であって、該方法は、
データ情報信号を受信することと、
基準クロック信号の周波数に関連する周波数を有する埋め込まれたクロック信号を生成することと、
該データ情報信号と、シリアルデータ流の中に埋め込まれた該埋め込まれたクロック信号とを含むＣＤＲ信号を生成することと、
該ＣＤＲ信号および該基準クロック信号を該ＣＤＲ信号レシーバに伝送することと
を含む、方法。
【請求項１７】
前記基準クロック信号の周波数は、プログラム可能なスケールファクタによって、前記埋め込まれたクロック信号の周波数に関連する、請求項１６に記載の方法。
【請求項１８】
前記プログラム可能なスケールファクタは、遠隔ソースから受信される、請求項１７に記載の方法。
【請求項１９】
内部クロック信号を生成することをさらに含み、前記基準クロック信号、前記埋め込まれたクロック信号、該内部クロック信号の各々は、異なる周波数を有する、請求項１６に記載の方法。
【請求項２０】
前記内部クロック信号と関連付けられるクロックレジームと、前記埋め込まれたクロック信号と関連付けられるクロックレジームとの間に前記データ情報をバッファリングすることをさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はクロックデータリカバリ回路に係り、より具体的にはプログラマブルロジックデバイス上にまたはこれと結合して設けられるクロックデータリカバリ回路に関する。
【背景技術】
【０００２】
重要性が増しているデバイス間のシグナリングタイプとして、クロック信号情報がシリアルデータ流の中に埋め込まれ独立したクロック信号を伝送する必要が無くなるシグナリングが挙げられる。例えば、データは所与のパターンのバイナリ１およびバイナリ０からなるいくつかのトレーニングビットを含んだシリアル“ヘッダ”が先行する連続するいくつかのシリアルデータワードのパケットとして直列に伝送することができる。クロック信号はその信号内のハイローおよび／またはローハイ転換群の中に埋め込まれ、これは特定数のクロック信号サイクルの間に少なくとも１つのハイローまたはローハイ遷移（ｔｒａｎｓｉｔｉｏｎ）を含んでいなければならない。レシーバにおいてデータ信号内のデータを適宜に処理するためにデータ信号の中からクロック信号が“復元”される。利便性のためここではこのシグナリングを総称して“クロックデータリカバリ”または“ＣＤＲ”と称する。
【０００３】
ＣＤＲシグナリングは、今日多数の異なったシグナリングプロトコルの中で使用されている。これらのプロトコルは、クロック信号周波数、ヘッダ構成、パケットサイズ、パラレルチャンネル数等に従って異なるものとなる。
【０００４】
プログラマブルロジックデバイス（“ＰＬＤ”）は、例えばクリフ氏等の米国特許第５６８９１９５号公報、クリフ氏等の米国特許第５９０９１２６号公報、１９９９年３月１０日出願のジェファーソン氏等の米国特許出願第０９／２６６２３５号、ならびに２０００年３月２日出願のガイ氏等の米国特許出願第０９／５１６９２１号等によって知られている。一般的に、ＰＬＤは広範囲のロジックタスクのうちの任意のものを実行するためにプログラムすることが可能な汎用集積回路デバイスである。異なったロジックタスクを実行するために独立した回路を設計して構成するよりも、これらの多様なロジックタスクを実行するようにＰＬＤを多様な方式でプログラムすることができる。多くの製造業者は、製造が必要な多様な構成要素を提供するためにＰＬＤは好適な手段であると考えている。
【０００５】
ＣＤＲシグナリングは、常に多数の異なったＣＤＲプロトコルごとに固有であるＣＤＲトランスミッタおよびレシーバを設計および構成することを避けながらＰＬＤを使用し得るために極めて重要な部分である。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明によれば、ＣＤＲレシーバ回路、ＣＤＲトランスミッタ回路、および／またはＣＤＲレシーバ回路とＣＤＲトランスミッタ回路の両方を備えることができるＣＤＲ回路が提供される。本発明のＣＤＲ回路は少なくともいくつかの点でプログラム可能であるとともに、より従来型のＰＬＤ回路とともに集積回路上に装備することができるか、または独立した集積回路上に少なくとも部分的に含まれるものとすることが好適である。ＣＤＲ回路が独立した回路上に少なくとも部分的に含まれる場合、より従来型のＰＬＤ回路への効率的な結合を実行することができるよう構成することができる（例えば、一般的なＰＬＤとのパッケージ）。
【０００７】
本発明に係るＣＤＲリカバリ回路は、処理すべきＣＤＲデータ信号源あるいはその他の好適なクロック信号源から、独立したかつ追加的な基準クロック信号を受信することが好適である。基準クロック信号の周波数は、ＣＤＲデータ信号の周波数に対して既知の相関性を有しているが、ＣＤＲデータ信号と同位相である必要ことは必要ない。独立した基準クロック信号の必要性は典型的なＣＤＲシグナリングとは相違しているが、これによって本発明に係る回路が広範なＣＤＲ周波数のうち任意のもので動作するようプログラム可能になることを補助する。独立した基準クロック信号がＣＤＲデータ信号に対して特別な位相関係を有する必要がないため、基準クロック信号とＣＤＲデータ信号間に生じ得るスキュー（すなわち位相シフト）に関する制限は存在しない。（スキューに関連する問題はＣＤＲシグナリングを使用する動機の一つであり、これはＣＤＲシグナリングによってクロック信号がデータ信号内に埋め込まれ、このためデータ信号に対してスキューが生じることがあり得ないためである。）ＣＤＲレシーバ回路はＣＤＲデータ信号から埋め込まれたクロック信号を復元するために基準クロック信号とＣＤＲデータ信号を使用する。このＣＤＲデータ信号クロックの復元に使用する種々のパラメータは、プログラム可能であることが好適である。復元されたクロック信号は、好適にはワード長パラメータ等のプログラム可能なパラメータを使用してＣＤＲデータ信号を非直列化するために使用される。その後非直列化されたデータは、異なったクロックレジームで処理するために同期化またはバッファリングされる（例えば、ＣＤＲ回路に結合されているより従来型のＰＬＤ回路内のクロック信号に従って）。
【０００８】
本発明に係るＣＤＲトランスミッタ回路も、伝送されるＣＤＲデータ信号の宛先からあるいはその他の好適な基準クロック信号源から、独立したかつ追加的な基準クロック信号を受信することが好適である。この基準クロック信号は、前述したＣＤＲレシーバ回路によって使用される基準クロック信号と同様な特徴を有している。伝送されるデータのソースは、ＣＤＲトランスミッタ回路と結合された従来型のＰＬＤ回路とすることができる。伝送されるデータはいくつかのパラレルビットからなる連続するワードとして表示することができる。このデータの多様な特徴（ワード周波数、ワード長等々）は選択可能（すなわちプログラム可能）とすることが好適である。この段落で述べた基準クロック信号は、好適にはプログラム可能なパラメータに従って処理することができ、その後ＣＤＲトランスミッタ回路内に伝送されるデータ流を同期化するために使用することができる。処理された基準クロック信号も、好適にはプログラムによって選択可能なワード長パラメータに従って、伝送されるデータの各ワードのビットを直列化するために使用することができる。
【０００９】
前述したプログラム可能の観点において、本発明に係るＣＤＲレシーバおよび／またはトランスミッタ回路はその他の点に関してもプログラム可能とすることができる。例えば、ＣＤＲ回路は任意の数のＣＤＲデータレシーバおよび／またはトランスミッタサブ回路を並列して動作させる性能を備えることができる。別の例として、ＣＤＲ回路は任意の数の異なった基準クロック信号を並列に処理し従って任意の数の異なったＣＤＲレシーバおよび／またはトランスミッタを動作させる能力を有することができる。
【００１０】
本発明の回路は、さらに非ＣＤＲ低電圧差動シグナリング（“ＬＶＤＳ”）等の他の非ＣＤＲシグナリング形式をサポートようプログラムすることもできる。本発明の回路は、回路の種々の部分をリセットするために使用し得るロック欠如（ｌｏｓ  ｏｆ  ｌｏｃｋ）およびランレングス違反（ｖｉｏｌａｔｉｏｎ）信号等の信号を提供するように構成することもできる。回路の様々な部分のリセットおよび／またはパワーダウンを実行するための回路も提供される。回路の様々な部分のテストを実行するために、回路内において種々のタイプのテストループを選択的に形成する回路も提供することができる。特定の動作モードにおいて基準クロック信号をプログラムによって変更するための回路を提供することもできる（特にプログラマブルロジックデバイスによる基準クロック信号出力）。
【００１１】
本発明はＰＬＤによってＣＤＲデータを処理することを促進するため、ＰＬＤのロジックを任意のプロトコルに従って（例えば、バイト配列、カンマディテクト、ワード長、その他のレシーバ側のデータのデコーディングおよび／またはトランスミッタ側のデータのエンコーディング特性等に従って）データを処理するために使用することができる。従って、このＣＤＲとＰＬＤの組合せは極めて効果的なものとなる。
【００１２】
本発明のその他の構成要素、特徴および種々の利点は、添付図面を参照しながら以下に記述する好適な実施例の詳細な説明によって明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係るＣＤＲシグナリング装置の説明的な実施例を示す簡略化された概略ブロック線図である。
【図１Ａ】本発明に係るＣＤＲシグナリング装置の別の実施例を示す簡略化された概略ブロック線図である。
【図２】図１の本発明に係る装置の説明的な実施例の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図３】図２の本発明に係る装置の説明的な実施例の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図４】図１の本発明に係る装置の説明的な実施例の別の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図５】図１の本発明に係る装置の説明的な実施例のさらに別の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図６】図１の本発明に係る装置の説明的な実施例のさらに別の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図７】本発明に係るＣＤＲシグナリング装置の別の実施例を示す簡略化された概略ブロック線図である。
【図７Ａ】本発明に係るＣＤＲシグナリング装置のさらに別の実施例を示す簡略化された概略ブロック線図である。
【図８】図７の本発明に係る装置の説明的な実施例の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図９】図７の本発明に係る装置の説明的な実施例の別の一部をより詳細に示したものであるがなお簡略化された概略ブロック線図である。
【図１０】本発明の以上の図面に示された特徴ならびにその他特徴を組合わせたプログラマブルロジックデバイスの説明的な実施例の代表的な部分を示す簡略化された概略ブロック線図である。
【図１０Ａ】本発明に係る図１０の回路内に含まれることができる回路の説明的な実施例を示す簡略化された概略ブロック線図である。
【図１０Ｂ】本発明に係る図１０の回路内に含まれることができる別の回路の説明的な実施例を示す簡略化された概略ブロック線図である。
【図１０Ｃ】本発明に係る図１０の回路の代表的な部分の可能な変更の説明的な実施例を示す簡略化された概略ブロック線図である。
【図１１Ａ】本発明に係る図１０に示される形式の回路の代替的な実施例を示す簡略化された概略ブロック線図である。
【図１１Ｂ】本発明に係る図１０に示される形式の回路の別の代替的な実施例を示す簡略化された概略ブロック線図である。
【図１１Ｃ】本発明に係る図１０に示される形式の回路のさらに別の代替的な実施例を示す簡略化された概略ブロック線図である。
【図１２】本発明に係る回路を使用するシステムの説明的な実施例を示す簡略化された概略ブロック線図である。
【図１３Ａ】図１１Ｂの回路の代表的な部分の説明的な実施例をより詳細に示す簡略化された概略ブロック線図である。
【図１３Ｂ】図１１Ｂの回路の別の代表的な部分の説明的な実施例をより詳細に示す簡略化された概略ブロック線図である。
【発明を実施するための形態】
【００１４】
図１には、本発明に係るＣＤＲシグナリング装置１０の説明的な実施例が示されている。この装置はＣＤＲ信号源（ソース）２０とレシーバ４０とから構成されている。要素２０と４０は同一の集積回路上に設けることができるが、これは一般的なケースを示したものであり、これらは集積回路または回路アセンブリのより典型的な各部分である。例えば、図１２に示されているようなシステムにおいて、レシーバ４０は要素５００／６００の一部であるのに対し、ソース２０はその他の要素（要素群）１００４，１００６，１００８および／または１０１０の一部とすることができる。
【００１５】
ＣＤＲ信号源２０は基準クロック信号源２２とＣＤＲデータ信号源３０を備えており、このＣＤＲデータ信号源は従来型のものまたは実質的に従来型のものとすることができる。基準クロック信号源２２は、ＣＤＲデータ信号源３０によって形成されるＣＤＲデータ信号内に埋め込まれたクロック周波数に対して正確な周波数相関性を持った基準クロック信号を形成する。例えば、基準クロック信号源２２は、ＣＤＲデータ信号内に埋め込まれたクロック周波数と同じ周波数かまたは適宜な分数あるいは倍数の周波数を有する基準クロック信号を形成することができる。特に、基準クロック信号周波数ＲＥＦＣＬＫは埋め込まれたクロック周波数ＥＭＢＣＬＫに対して以下の相関性を有し：
ＲＥＦＣＬＫ＊Ｗ＝ＥＭＢＣＬＫ
ここでＷは０．５，１，２，４等の適宜なスケールファクタとすることができる。要素２２と３０の間の点線はこれらの要素の出力の間に周波数相関性があることを示しており、従ってソース２２によって形成される基準クロック信号の周波数（またはこの信号の任意の分数あるいは整数倍の周波数）がＣＤＲデータ信号の周波数を確立するために要素３０によって使用され得る。しかしながら、要素２０と３０の出力信号の間に特定の位相関係が存在する必要はない。
【００１６】
基準クロック信号源２２の出力信号は一般的な差動シグナリングドライバ２４に付加されリード２６ａおよび２６ｂ上にペアの差動ＲＥＦＣＬＫ出力が形成される。（オプショナルとして、必要であれば要素２０と４０の間において基準クロック信号を単一の信号として単一のリード上で伝送することもできる。）
【００１７】
前述したように、ＣＤＲデータ信号源３０は従来型のＣＤＲデータ信号源とすることができる。この信号は一般的な差動シグナリングドライバ３２に付加されリード３４ａおよび３４ｂ上にペアの差動ＣＤＲ出力信号が形成される。（ここでも再びＣＤＲデータ信号の差動シグナリングはオプショナルであり、ＣＤＲデータ信号は要素２０と４０の間において単一のリード上で伝送することもできる。）
【００１８】
レシーバ４０においてリード２６ａおよび２６ｂ上の差動ＲＥＦＣＬＫは一般的な差動ドライバ４２に付加され、この受信したＲＥＦＣＬＫを変換して単一リード上の信号に戻しＣＤＲ回路５０に付加する。同様に、リード３４ａおよび３４ｂ上の差動ＣＤＲデータ信号は一般的な差動ドライバ４４に付加され、受信したＣＤＲデータ信号を変換して単一リード上の信号に戻しＣＤＲ回路５０に付加する。
【００１９】
ＣＤＲ回路５０は、受信したＲＥＦＣＬＫとＣＤＲデータ信号を使用してＣＤＲデータ信号からクロック信号とデータ信号を抽出する。これらの信号はデシリアライザ６０に付加され、これは付加された直列データを並列データに変換する。並列データ信号はＣＤＲ回路５０によって形成されたクロック信号と同期させてシンクロナイザ７０に付加する。シンクロナイザ７０は、並列データをバッファしてＰＬＤコア８０によってシンクロナイザ７０に供給される別のクロック信号８２に同期させてＰＬＤコア８０に最終的に付加する。
【００２０】
図１ＡにはＣＤＲシグナリング装置１０′の代替的実施例が示されており、これにおいてはレシーバ４０によって使用される基準クロック信号源２２′がＣＤＲ信号源２０′から分離されている。ＣＤＲ信号源２０′は、基準クロック信号をレシーバ４０に送信するための図１に示された要素２４に相当する要素を備えていない点を除いて基本的に図１のＣＤＲ信号源２０と同様なものである。これに代えて、独立した基準クロック信号源２２′がリード２６ａ′および２６ｂ′を介して基準クロック信号をレシーバ４０に送信する。基準クロック信号源２２′は図１の基準クロック信号源２２と類似のものとすることができ、図１のソース２２に対して述べた全てのものが図１Ａのソース２２′対して同様に適用することができる（勿論、ソース２２′がソース２０′から独立しておりソース３０に対して入力またはクロック基準を提供しない点は除く）。加えて、ソース２２と２２′の間には正確で既知の周波数相関性が必要であるが（再び、これらの周波数間には０．５，１，２，４等のスケールファクタが存在し得る）、これらのソースの周波数は同一である必要は無いとともにソース２２と２２′の間に特定の位相相関性がある必要は無い。図１Ａのレシーバ４０は図１のレシーバ４０と同等なものとすることができる。
【００２１】
図１Ａに示されているタイプの構成はソース２０′とレシーバ４０とが比較的遠くに離間している場合に使用することができ、大きく離れた要素２０′と４０との間においてＣＤＲデータリード３４と基準クロックリード２６の両方を動作させることを不要にし得る。この場合、ソース２２′はレシーバ４０に対して比較的に近接して配置することができ、従ってリード３４のみを比較的長くする必要があり、他方リード２６′は比較的短いものとすることができる。特徴的な説明として、要素２０′および４０はそれぞれ異なった領域に設けることができ、ソース２２′はレシーバ４０の近くに設け従ってＣＤＲデータ信号３４自体のために領域間リンクのみが必要となる。（これに関して、リンク３４，２６，２６′のいずれかを代替的に単一信号とすることができ、これらは代替的にワイヤ線等のその他の手段によって（全体的または部分的に）伝送することができることに着目すべきである。例えば、これらは全体的または部分的に無線、光線、またはその他の好適な方式で伝送することができる。これと同じことが、図７および図７Ａに示されているようなその他の実施例においても伝送ことが必要な信号に対して有効である。）
【００２２】
図２には、ＣＤＲ回路５０の部分１００の実施例がより詳細に示されている。回路１００は基本的に位相ロックループ（“ＰＬＬ”）回路であり、従って場合によってそのように呼称することがある。ＰＬＬ１００は位相周波数検出器（“ＰＦＤ”）回路１１０を備えており、これは図１のバッファ４２によるＲＥＦＣＬＫならびにＷプリスケーラ回路の出力信号を受信する。ＰＦＤ１１０は従来型のものとすることができ、受信した２つの信号の位相と周波数を比較してＲＥＦＣＬＫ信号の位相および周波数がより適正に一致するためにプリスケーラ１４０の出力信号がスピードアップすべきかまたはスローダウンすべきかを示す信号を出力する。チャージポンプ回路１２０（これも従来型のものとすることができる）はＰＦＤ１１０の出力信号を積算してＶＣＯ電流制御信号を形成し、これは電圧制御発振器（“ＶＣＯ”）１３０の出力信号（Ｗプリスケーラ１４０によって処理された後）が位相および周波数に関してＲＥＦＣＬＫ信号により適正に一致するような方式でＶＣＯ１３０を制御するために適したものである。ＶＣＯ１３０の出力信号はＷプリスケーラ１４０に付加され、これはＶＣＯ出力信号をスケールファクタＷで除算しＰＦＤ１１０に付加される２つの信号のうちの一つを形成する。スケールファクタＷは、前述したＲＥＦＣＬＫとＥＭＢＣＬＫの相関において使用したものと同一の数値とされる。Ｗプリスケーラ１４０は、いくつかのＷ数値のうちのいずれかを使用して動作するようプログラム可能であるか、またはその他の方式によって制御可能であることが好適である。例えば、所要のＷ値をレシーバ４０の一部分である１つまたは複数のプログラム可能な機能制御要素（“ＦＣＥｓ”）内に記録することができる。
【００２３】
ＰＬＬ１００の説明から、この回路の動作はＶＣＯ１３０がＥＭＢＣＬＫ周波数に殆ど一致する周波数で動作することを誘起するものであることが明らかである。ＶＣＯ１３０は８個のクロック信号を出力し、これらは全てＥＭＢＣＬＫ周波数を有しているが相互に位相シフトしており、従ってこれらは全体としてＥＭＢＣＬＫ信号の周期を８個の同等な時間インタバルに分割している。ＶＣＯ１３０は、広範な動作周波数で動作することを補助するためにプログラム可能とするかまたはその他と方式によりＤ信号によって制御可能とすることができる。例えば、Ｄ信号はＶＣＯ１００の“荒”調整と呼ばれるような制御を行い、一方チャージポンプ１２０からのＶＣＯ電流制御信号はＶＣＯの“細密”調整のためのものである。所要のＤ値は、レシーバ４０の一部分である１つまたは複数のプログラマブルＦＣＥ内に記憶することができる。
【００２４】
図２に示されたリセット信号はＰＬＬ１００をリセットして制御された方式による始動を許可することを可能にする。例えば、ＰＬＬ１００内において同期ロック喪失（ロス・オブ・ロック）状態が検出された場合にＰＬＬ１００のリセットが必要あるいは要望されるものとなる。（種々のリセット動作のこれらおよびその他の特徴はこの明細書において後により詳細に説明される。）リセット信号はチャージポンプ１２０、ＶＣＯ１３０、およびＷプリスケーラ１４０をリセットする。Ｗ、Ｄ、およびリセット信号は全てＰＬＤコア８０から送信される（図１）。
【００２５】
図２に示されているパワーダウン信号は、ＰＬＬ１００が使用されない場合にこれをターンオフすることを可能にする。このことはパワーダウン信号によってＶＣＯ１３０への電流をターンオフすることによって実施される。このことは、以下に詳細に記述する図３に示されたＶＣＯ１３０構成例において、電流源１３１をターンオフしその結果差動ドライバ１３２への電流をターンオフすることによって実施することができる。パワーダウン信号はＰＬＬ１００に結合されたＦＣＥから送信することができる。このようにしてＰＬＬ１００をターンオフすることによってＰＬＬが使用されない場合に電力を節約することができる。
【００２６】
図３には、ＶＣＯ１３０の説明的な構成の一部がより詳細に示されている。差動ドライバ１３２ａ−ｄは閉ループ列として相互接続される。このループの１つの完全な回路を作成するための信号伝達（正式なまたは補完的なパスを介して）に必要とされる時間は、クロック信号の周期の半分である。各ドライバ１３２が動作する速度、従ってループの信号伝達速度は、（少なくともある程度は）電流源１３１からドライバに提供される電流量によって決定されるものとなる。（図２に関連して前述した）Ｄ信号は、電流源１３１が動作するいくつかの電流レンジのいずれか１つをプログラムによって選択するために使用することができる。従ってＤ信号は前述した電流源１３１ならびにＶＣＯ１３０の“荒”調整を制御する。（図２のチャージポンプからの）ＶＣＯ電流制御信号は、電流源１３１によって提供される電流の追加的な動的制御を実施する。特に、ＶＣＯ電流制御信号は電流源１３１によって提供される電流をＤ信号によって選択されたいずれかのレンジ内において調節する。このようにしてＶＣＯ電流制御信号は電流源１３１ならびにＶＣＯ１３０の動的な“細密”制御を実施する。（同様に図２に関連して説明したパワーダウン信号はＰＬＬ１００が全く使用されないケースにおいて電流源１３１をプログラムによってターンオフするよう使用し得る。）
前述した説明から、（Ｄ信号を使用して選択される、可能ないくつかの周波数レンジいずれかの範囲において）クロック信号の周波数はＶＣＯ電流制御信号を変化させることによって上昇または低下させることができることが理解される。ドライバ１３２の閉ループを通じた真または補のパスは、全体としてクロック信号周期を８つの等時間インタバルに有効に分割する８つの点においてタップされる。これらの８つの点における信号は、前述した８つの等間隔で位相シフトされたクロック信号として出力される。
【００２７】
ＶＣＯ１３０内において差動ドライバ１３２に代えてシングルエンド型のドライバを使用することもできるが、いくつかの理由のため差動ドライバの方が好適である。それらの理由のうち１つは、差動ドライバはノイズが少ない傾向があるためである。差動ドライバはより小さな入力信号振幅において動作するよう形成することがより簡単である（例えば、３Ｖの代わりに３００ｍＶ）。差動ドライバはさらにより簡単に高速化することができ、より効果的にジッタを防止し、ノイズに対する抵抗力もより高いものである。ＶＣＯ１３０に差動ドライバを使用することが好適である別の理由は、ＶＣＯによって差動出力信号が必要とされるからである。前述した電流制御に代えてＶＣＯ１３０の電圧制御を使用し得ることは勿論であるが、現状において電流制御が好適である。
【００２８】
ＣＤＲ回路５０の別の部分１５０の実施例が図４に示されている。少なくとも特にアナログ回路において有利であるＰＬＬ１００と異なって、図４に示された回路１５０はデジタル回路とすることが好適である。デジタルであるとともに位相ロックループのごとく動作するため、回路１５０は本明細書においてデジタル位相ロックループ（“ＤＰＬＬ”）回路１５０と称することもある。
【００２９】
ＤＰＬＬ１５０は、（図１のドライバ４４からの）ＣＤＲデータ信号とマルチプレクサ１９０によるクロック出力信号の両方を受信する位相検出器１６０を備えている。以下により詳細に説明するように、マルチプレクサ１９０の２つの出力のうちのいずれか１つはＣＤＲデータ信号の立ち上がりエッジと比較することを目的としており、マルチプレクサ１９０の２つの出力のうちの他の１つはＣＤＲデータ信号の立ち下りエッジと比較するためのものである。位相検出器１６０は受信した信号の位相を比較し、ＣＤＲデータ信号内のトランジション位相と共により有効に動作するためにクロック信号をスピードアップする必要がある場合にＵＰ出力信号パルスを形成し、ＣＤＲデータ信号内のトランジション位相と共により有効に動作するためにクロック信号をスローダウンする必要がある場合にはＤＯＷＮ出力信号パルスを形成する。これらのＵＰおよびＤＯＷＮ信号パルスは位相補間ステートマシン１６２に付加される。
【００３０】
位相補間ステートマシン１６２は、ＵＰおよびＤＯＷＮ信号のそれぞれに対して内部状態を変更することによって応答する。しかしながら、ステートマシン１６２は、受信した全てのＵＰまたはＤＯＷＮ信号パルスに応答して出力信号を形成するわけではない。代わりに、ステートマシン１６２は、受信した信号内に所定の傾向が見られた後のみにさらなるＵＰまたはＤＯＷＮ信号パルスを出力する。言い換えると、ステートマシン１６２はデジタルローパスフィルタのように動作し、図４の回路の残り部分が位相検出器１６０によって形成される極短時間の位相不整合表示に過剰に速く反応することを防止する。従ってステートマシン１６２は、図４に示された回路に所要の待ち時間をもたらす（回路１６２のデバッグ出力はオプショナルのものであり、必要であれば回路の性能を監視するために使用される。）
【００３１】
ステートマシン１６２によって出力されるＵＰおよびＤＯＷＮ信号パルスは、ＵＰ／ＤＯＷＮカウンタおよびデコーダ回路１６４によってカウントおよびデコードされる。（回路１６４のデバッグ出力信号もオプショナルであり、さらに回路性能を監視するためのものである。）回路１６４の出力のうちのいくつかはクロックマルチプレクサ回路１７０によって使用され、（１）ＰＬＬ１００からの８個のクロック信号のうちＣＤＲデータ信号の立ち上がりエッジに最も適合して動作する２つを選択し、ＰＬＬ１００からの８個のクロック信号のうちＣＤＲデータ信号の立ち下がりエッジに最も適合して動作する２つを選択する。前述の説明により、選択されたクロック信号のそれぞれは位相に関して直ぐ隣接（８個のクロック信号の中にある８個の位相の中から）している信号を含むことが明らかである。さらに、各ペアの信号のうちのそれぞれが別のペアの中の信号のそれぞれ１つに対して位相が１８０°離れていることが理解される。従って、８個の入力クロック信号の中から、回路１７０は４個の出力クロック信号を動的に選択する。例えば、８個の入力クロック信号について位相順に０−７の番号を付けると、回路１７０は一定の時間周期の間にＣＤＲデータ信号の立ち上がりエッジに最も適合して動作するものとしてクロック信号０および１を選択し、ＣＤＲデータ信号の立ち下がりエッジに最も適合して動作するものとしてクロック信号４および５を選択する。回路１７０によって選択された４つのクロック信号は、アナログ補間回路１８０ならびにデジタル補間回路１８２に付加される。デバイスの使用者は、これら２つの補間回路のうちいずれを使用するかを選択することができる。
【００３２】
アナログ補間回路１８０は、回路１７０から受信した各クロック信号のペア内の２つのクロック信号間の時間インタバルを８個の等しいサブインタバルに分割するよう動作する。アナログ補間回路１８０はさらに回路１６４の出力信号を受信し、これは各ペアのクロック信号に対して前記サブインタバルのうち１つを選択するとともにこのサブインタバルと同期するシフトされたクロック信号を形成するよう補間回路を制御する。選択されたサブインタバル（およびシフトされたクロック信号）は、ＣＤＲデータ信号内の立ち上がりまたは立ち下がりエッジのうち適宜の１つに最も適合して動作するものである。従って、アナログ補間回路１８０によって形成された２つのシフトされたクロック信号は、それぞれＣＤＲデータ信号内の立ち上がりエッジまたは立ち下がりエッジとともに動作するように最適化（または殆ど最適化）されたものである。マルチプレクサ１９０はこれらの２つの信号を位相検出器１６０にフィードバックするようプログラムによって制御する（ＦＣＥによって）ことができる。マルチプレクサ１９０の立ち上がりエッジと共に動作する信号出力は図４の回路の復元されたクロック出力信号でもある。位相検出器１６０は、その他の機能（前述された）に加えて、マルチプレクサ１９０によってフィードバックされた信号のうち１つによってクロックされるレジスタにＣＤＲデータ信号を伝送し、図４のリタイムされたデータ出力信号を形成する。このリタイムされたデータ出力信号は、本発明の装置によってさらに（復元されたクロック信号を使用して）処理されるデータ信号である。
【００３３】
次にデジタル補間回路１８２を参照すると、回路１７０によって出力された２つのペアのクロック信号を受信し、回路１６４からの制御信号に基づいて各ペアの中からより好適なタイミングを有する１つの信号を選択する。マルチプレクサ１９０は、回路１８２によって選択された２つの信号を前述した使用目的（回路１８０の出力信号の代わりに）のために出力するよう制御され得る。
【００３４】
図４に示されたリセット信号は、一般的に図２のリセット信号と同じ目的を有している。従って、ＤＰＬＬ１５０をリセットすることが必要あるいは要望される（例えばロックの喪失状態が検出されて）場合、要素１６２，１６４，１８０および１８２をリセットするようリセット信号が発行される。図２のリセット信号と同様に、図４のリセット信号もＰＬＤコア８０（図１）から発信される。
【００３５】
図４に示されたパワーダウン信号は、ＤＰＬＬ１５０が使用されない際に全ての８個の入力クロック信号をゲートオフするよう使用される。入力クロック信号の全てをゲートオフすることによって、図４の回路は全く動作せず従って電力を極僅かに消費するかあるいは全く消費しない。
【００３６】
前述の説明から、適宜な動作周期の後、ＤＰＬＬ１５０の出力信号が図１のドライバ４４によって受信されたＣＤＲデータ信号内に埋め込まれたクロック信号と実質的に等しい位相および周波数を有することが理解される。適正な周波数はＰＬＬ１００によって確立され、これはさらにその周波数を有するとともにいくつかの異なった候補位相を有するクロック信号の一群を形成する。ＤＰＬＬ１５０は最適な候補位相（マルチプレクサ１７０の出力信号）を取り出し、その後候補の間で適正な調節または選択を実施することによって位相選択をさらに改善する。ＤＰＬＬ１５０は、さらにＰＬＬ出力と入力されたＣＤＲデータ信号内に埋め込まれたクロック情報との間に生じ得る比較的小さな相違にも留意することができる。言い換えると、ＤＰＬＬ１５０は、充分なＣＤＲデータ伝送を妨害することなくこのような比較的小さな周波数相違が存在することを可能にする。この能力は、図１Ａに示されているように実際のＣＤＲクロックとＲＥＦＣＬＫ信号に対して異なったソース２２および２２′が使用される実施例の動作を補助するものである。
【００３７】
図５には、デシリアライザ６０（図１）の説明的な実施例がより詳細に示されている。この実施例において、デシリアライザ６０は、マルチステージシフトレジスタ２００とマルチステージパラレルバッファレジスタ２１０とプログラマブルディバイダ２２０とを備えている。例えば、レジスタ２００および２１０のそれぞれは２０のステージを有し、ディバイダ２２０は付加されたクロック信号を１ないし２０の選択可能な複数の数値Ｊのいずれかによって除算する（１つまたは複数のＦＣＥを使用して）ようプログラムすることができる。ＤＰＬＬ１５０（図４）からのリタイムされたシリアルＣＤＲデータは、シフトレジスタ２００のシリアルデータ入力に付加される。シフトレジスタ２００はさらにＤＰＬＬ１５０からの復元されたクロック信号を受信する。従って、シフトレジスタ２００は、ＥＭＢＣＬＫのレートかつＣＤＲ信号内に埋め込まれたクロック信号情報と完全に同期してシリアルデータをいくつかのステージにシフトする。
【００３８】
各タイムディバイダ２２０はＪの数値と等しい数のクロックパルスを受信し、ディバイダ２２０の出力信号は、バッファレジスタ２１０がクロック信号に応答してシフトレジスタ２００の水平方向に隣接するステージの内容を記憶することを可能にするレベルに転換する。言い換えると、シフトレジスタ２００はデータをシリアルに記憶し、バッファレジスタ２１０はシフトレジスタ２００の内容を周期的かつパラレル受信および記録する。Ｊはデシリアライザ６０によって出力される各ワードの長さ（すなわちワードごとのビット数）である。デシリアライザ６０の別の出力信号は、Ｊによって除算されたクロック信号（すなわちＣＬＫ／Ｊ）である。
【００３９】
図５に示されているＪおよびリセット信号はＰＬＤコア８０（図１）から提供される。前述した他のリセット信号と同様に、図５のリセット信号は回路をリセットすることが必要あるいは要望される場合にディバイダ２２０をリセットするよう使用される（例えば、ロックの喪失が検出されたことによって）。
【００４０】
図６には、シンクロナイザ７０（図１）の説明的な実施例がより詳細に示されている。この実施例において、シンクロナイザ７０はＲＡＭアレー２５０と書き込みアドレスロジック２６０と読み取りアドレスロジック２７０とを備えている。これらの要素は独立した読み取りおよび書き込みを備える先入れ先出し（“ＦＩＦＯ”）メモリとして動作する。書き込みアドレスロジック２６０は、基本的にデシリアライザ６０（図５）によって出力されたＣＬＫ／Ｊ信号内のパルス数を（繰り返しサイクルで）カウントするリングカウンタとすることができる。従って、書き込みアドレスロジック２６０は、ＣＬＫ／Ｊ信号内のパルスと同期して繰り返しサイクルで、連続するワード記憶ロケーションをＲＡＭアレー２５０内にアドレスする。ＥＮＷ信号が適正なレベルを有していると仮定すると、ＲＡＭアレー２５０はデシリアライザ６０からの信号内のデータを受信および蓄積するよう付勢される。このようにして、デシリアライザ６０から提供された連続するパラレルデータワードは、ＲＡＭアレー２５０内の連続するワード記憶ロケーションに蓄積される。前述したようにＲＡＭ２５０への書き込みはＥＮＷ信号によって選択的に付勢され、この信号はＰＬＤコア８０（図１）から提供することができるとともに、ＲＡＭアレー２５０がＦＵＬＬ出力信号（以下に説明する）を形成するまで付勢する。
【００４１】
読み取りアドレスロジック２７０は書き込みアドレスロジック２６０とは別のリングカウンタとすることができる。しかしながら、読み取りアドレスロジック２７０は、デシリアライザ６０からのクロックパルスをカウントする代わりにＰＬＤコア８０（図１）によって形成されたクロックパルス（ＣＯＲＥＣＬＫ）をカウントする。従って、読み取りアドレスロジック２６０はＥＮＲ信号によって読み取りが付勢されている限りＲＡＭ２５０内の連続するロケーション（このロケーションはＣＯＲＥＣＬＫと同期して繰り返しアドレスされる）からデータワードを読み取ることを誘起する。ＥＮＷ信号と同様にＥＮＲ信号も通常ＰＬＤコア８０（図１）から提供され、特にＲＡＭアレー２５０がＥＭＰＴＹ出力信号（以下に説明する）を形成しない限り付勢を行う。ＲＡＭアレー２５０から読み取られるデータワードはＰＬＤコア８０に付加される。
【００４２】
前述した説明から、ＲＡＭアレー２５０とこれに結合された要素が可能な２つのクロックレジーム（すなわちＣＤＲクロックおよびＰＬＤコアクロック）の間でデータをバッファすることが理解される。例えば、データワードのＰＬＤコア処理は、時々入力されたＣＤＲデータ流に遅れることがあり得る（例えば、割り込みの最中あるいはシンクロナイザ７０に付加されたＣＯＲＥＣＬＫ信号のスローダウンに際して）。その後ＰＬＤは入力されるＣＤＲデータ流に追いつくためにデータをより高速に処理することができる。ＲＡＭアレー２５０（または結合された要素）は、ＰＬＤコア８０に付加されるＦＵＬＬおよびＥＭＰＴＹ信号を形成し、ＲＡＭアレーが充満または空状態である際にこれをそれぞれＰＬＤコアに伝達することができる。例えば、ＦＵＬＬ信号に応答してＰＬＤコア８０はシンクロナイザ７０からのデータの読み取りをスピードアップするか、および／または使用者がＦＵＬＬ信号に応答してＥＮＷ信号を使用することによってＰＬＤコア８０にＲＡＭアレー２５０への新たな書き込みを中止させることを選択できる。ＥＭＰＴＹ信号に応答してＰＬＤコア８０はシンクロナイザ７０からのデータの読み取りをスローダウンするか、および／または使用者がＦＵＬＬ信号に応答してＥＮＲ信号を使用することによってＰＬＤコア８０にＲＡＭアレー２５０からの新たな読み取りを中止させることを選択できる。
【００４３】
図６に示されたリセット信号は、回路をリセットすることが必要または要望される際（例えば、ロックの喪失の検出に応答して）にＲＡＭアレー２５０の内容を消去するために使用される。前述した他のリセット信号と同様に、図６のリセット信号もＰＬＤコア８０（図１）から提供することができる。
【００４４】
図７には、本発明に係る別のＣＤＲシグナリング装置３００の説明的な実施例が示されている。再び、主要な構成要素３１０および３２０は同一の集積回路上に設けることができるが、これらはより典型的には分離された集積回路または回路アセンブリの一部とされる。例えば、図１２において、要素３２０は要素５００／６００と結合することができ、一方要素３１０はその他のいずれかの要素１００４，１００６，１００８および／または１０１０と結合することができる。
【００４５】
装置１０において、ＰＬＤコア８０はＣＤＲ信号のレシーバ４０と結合されている。装置３００において、ＰＬＤコア８０はＣＤＲ信号のトランスミッタ３２０に結合される。ここで再び、ＣＤＲクロック信号の周波数に関して広範なレンジが予想されるＣＤＲレシーバ３１０と交信し得るプログラム可能なＰＬＤベースのトランスミッタの提供を達成するために、装置３００はレシーバ３１０内に基準クロック信号源２２を備えている。要素２２，２４，２６，４２および１００はいずれも図１および図２の同一参照符号の要素と類似のものである。従って、基準クロック信号源２２の出力信号の周波数（ＲＥＦＣＬＫ）は所要のＣＤＲクロック信号周波数（ＥＭＢＣＬＫ）に対して以下の相関性を有しており：
ＲＥＦＣＬＫ＊Ｗ＝ＥＭＢＣＬＫ
ここでＷは０．５，１，２，４等の適宜なスケールファクタとすることができる。この基準クロック信号は図１に関連して記述したようにトランスミッタ３２０に伝送される。トランスミッタ３２０内のＰＬＬ１００は図２に関連して記述したようにこの信号を処理し、所要のＣＤＲクロック周波数に正確に等しい周波数を有する出力信号を形成する。この信号は図２の出力と同様に８個のクロック信号のうち１つとすることができ、これはこの信号の位相が重要ではないからである。（以下により詳細に記述するように、一般的なＣＤＲ信号レシーバ３５０は位相多様型であり、従って特定の位相を有する受信ＣＤＲ信号に束縛されることはない。）
【００４６】
ＰＬＬ１００によって形成されるＣＤＲクロック信号（または以下に詳細に記述するようにこの信号の数倍のもの）は、シンクロナイザ３３０ならびにシリアライザ３４０に付加される。シンクロナイザ３３０もＰＬＤコア８０からデータおよびクロック信号を受信する。シンクロナイザ３３０は、受信した信号をコア８０からのデータをＣＤＲクロック信号に同期させて出力するために使用する。シリアライザ３４０は通常パラレルであるシンクロナイザ３３０からのデータを通常シリアルであるＣＤＲデータに変換する。シリアライザ３４０によって出力されたシリアルＣＤＲデータは、一般的な差動ドライバ３４２、リード３４４ａおよび３４４ｂ、ならびに一般的な差動ドライバ３４６を介してＣＤＲ信号レシーバ３５０に伝送される。（要素３４２，３４４および３４６は、それぞれ図１の要素２４，２６および４２と類似のものとである。図１の場合と同様に差動シグナリングはオプショナルのものである。）一般的なＣＤＲ信号レシーバ３５０は、受信したＣＤＲ信号内に埋め込まれたクロック情報を使用して一般的な方式によってこの信号からデータを抽出する。
【００４７】
図１に示された装置と同様に、図７の装置は広範なＣＤＲ周波数のうちいずれか１つにおいて動作することができる。ＣＤＲシグナリングにおいては一般的でないが、レシーバ３１０内の基準クロック信号源２２を使用してトランスミッタ３２０に基準クロック信号を提供することにより、広範なＣＤＲ周波数をサポートするようプログラム可能な総合的なトランスミッタ装置を提供することができる。
【００４８】
図７Ａには図７に示された回路の代替的な実施例が示されている。図７および図７Ａの実施例の関係は、図１および図１Ａの実施例の関係と同様である。図７Ａは、基準クロック信号源２２′をレシーバ３１０′から分離し得ることを示している。（他の点においてソース２２′はソース２２と同様である。）図１Ａの場合と同様に、トランスミッタ３２０に近接するものとし得る分離されたソース２２′を提供することによって、要素３１０′と３２０を互いに比較的大きく離間して配置することができ、これはＣＤＲデータ信号のみ（ＲＥＦＣＬＫ信号は不要）を要素３１０′と３２０の間において比較的遠距離を介して伝送する必要があるためである。
【００４９】
図８には、シンクロナイザ３３０の代替的な実施例がより詳細に示されている。この実施例においてシンクロナイザ３３０は、ＲＡＭアレー３６０、書き込みアドレスロジック３７０、クロックディバイダ３８０、および読み取りアドレスロジック３９０を備えている。ＲＡＭアレー３６０は、ＰＬＤコア８０（図７）から書き込みアドレスロジック３７０に付加されたＣＯＲＥＣＬＫ信号と同期してＰＬＤコア８０からのパラレルデータワードを受信する。書き込みアドレスロジック３７０は図６の書き込みアドレスロジック２６０と同様なものとすることができ、繰り返しサイクルでＲＡＭアレー３６０内に連続するデータワード記憶ロケーションをアドレスする。従ってＰＬＤコア８０によって提供された連続するデータワードは、同様にＰＬＤコア８０によって提供されるＥＮＷ信号によって書き込みが付勢されている限り、ＣＯＲＥＣＬＫ信号に同期させながら繰り返しサイクルでＲＡＭアレー３６０内の連続するロケーション内に記憶される。コア８０は通常ＲＡＭアレー３６０がＦＵＬＬ信号を形成しない限り書き込み付勢ＥＮＷ信号を提供する。
【００５０】
クロック信号周波数ディバイダ３８０は、ＰＬＬ１００（図７）によって出力されたＣＤＲＣＬＫ信号をＪによって除算する。Ｊの数値はプログラム可能な装置パラメータとすることが好適である（例えば、１つまたは複数のＦＣＥ内に記憶される）。図５に関連して記述したように、Ｊは図８の装置がＰＬＤコア８０（図７）から受信した各パラレルデータワード内のビット数に等しい整数である。ディバイダ３８０の出力信号は読み取りアドレスロジック３９０に付加される。ロジック３９０は図６の読み取りアドレスロジック２７０と同様なものとすることができる。従って、ロジック３９０は繰り返しサイクルでＲＡＭアレー３６０内に連続するワード記憶ロケーションをアドレスし、同様にコア８０から提供されたＥＮＲ信号によって読み取りが付勢されている限りディバイダ３８０からの出力信号に同期して前記ロケーションからデータワードを読み取る。。コア８０は通常ＲＡＭアレー３６０がＥＭＰＴＹ信号を形成しない限り読み取り付勢ＥＮＲ信号を提供する。ＲＡＭアレー３６０から読み取られたデータは、シリアライザ３４０（図７）にパラレルで付加される。
【００５１】
前述の説明から、シンクロナイザ３３０（図６のシンクロナイザ７０と同様に）が可能な２つのクロックレジームの間でデータをバッファするＦＩＦＯメモリのように動作することが理解される。この場合、バッファされるデータはシリアライザ３４０へ伝送中のＰＬＤコア８０からのデータである。既に記述したように、シンクロナイザ３３０は、充満または空状態に際してＰＬＤコア８０に対してそれぞれＦＵＬＬまたはＥＭＰＴＹ信号を形成することができる。
【００５２】
図８に示されたリセット信号は、回路をリセットすることが必要あるいは要望される際に（例えばロックの喪失が検出されたことに応答して）、ＲＡＭアレー３６０の内容を消去しディバイダ３８０をリセットするために使用される。前述した他のリセット信号と同様に、図８のリセット信号もＰＬＤコア８０（図７）から提供することができる。
【００５３】
図９にはシリアライザ３４０の説明的な実施例がより詳細に示されている。この実施例において、シリアライザ３４０はパラレルデータレジスタ４００およびシフトレジスタ４１０を備えている。図８のクロック周波数ディバイダ３８０も再び使用される。ＲＡＭアレー３６０からのパラレルデータはレジスタ４００に付加され、ディバイダ３８０の出力信号によってゲートされたＣＤＲＣＬＫ信号パルスに応答してこのレジスタ内に記憶される。（図９に示されたＣＤＲＣＬＫ信号は図８内の類似の標記のものと同等とすることができる。）レジスタ４００に記憶されたデータは、ディバイダ３８０の出力信号がレジスタ４１０に対してＣＤＲＣＬＫ信号パルスの間にデータを受信するべきであることを指示している際に、ＣＤＲＣＬＫ信号パルスに応答してシフトレジスタ４１０へパラレル伝送される。ＣＤＲＣＬＫパルスの間、シフトレジスタ４１０はそのシリアルデータ出力リードの方向へデータをシフトさせる。特に、シフトレジスタ４１０は、各ＣＤＲＣＬＫパルスに応答してその内容をそのシリアルデータ出力リードの方向に１ステージシフトさせる。従って、シリアライザ３４０は、Ｊビットの各パラレルデータワードをＣＤＲＣＬＫ信号に同期したシリアルＣＤＲ出力に変換する。結果として得られるＣＤＲデータ信号は差動ドライバ３４２に付加され、図１においてＣＤＲデータ信号がソース３０からレシーバ４０へ伝送される場合と同様な方式でレシーバ３１０に伝送される。
【００５４】
図１０には、前述したレシーバ４０（図１）およびトランスミッタ３２０（図７）の全ての機能ならびに以下に記述する追加的な機能を備えたＰＬＤ５００の説明的な実施例の代表的な部分が示されている。図１０内の構成要素は既に記述した同一の参照符号を有する要素と類似のものである。図１０において、２つ以上使用される要素を個別に参照するために“ａ”および“ｂ”添え字が付けられている。図１０において、５００番台の参照符号は以前の図には特に示されていないかあるいは図１０において追加された要素対して使用しており、従って以前の図には対応するものは存在しない。図１０において、いくつかの要素は、以前の図に関連して説明されたＣＤＲシグナリングモードに対する代替的なシグナリングモードをサポートするためのオプショナルとして変更あるいは追加されている。例えば、図１または図７において提供されたクロック信号は差動信号でなければならないことはなく、代わりにシングルエンド信号とすることもできる。図１０はこの代替方式をサポートする装置を示している。別の例として、図１０は非ＣＤＲ低電圧差動シグナリング（“ＬＶＤＳ“）をサポートする装置を示している。（非ＣＤＲ−ＬＶＤＳに関する追加的な技術背景は、例えば１９９９年６月２５日提出のグエン氏等の米国特許出願第０９／３４０２２号を参照すべきである。）
【００５５】
図面の過密化を防止するため、図１０には以前の図の全ての回路が繰り返し示されているわけではないことは勿論である。例えば、図１０には以前のいくつかの図に示された種々のリセットならびにパワーダウン信号は示されていない。さらに、図１０には以前のいくつかの図に示されたＥＮＷおよびＥＮＲ信号は示されていない。しかしながら、図１０の回路においてもこれらの信号が好適に存在するこは勿論である。
【００５６】
まず入力面について説明すると、図１０には２つの代表的な入力クロックサブ回路が示されている（例えば、ＣＤＲシグナリングに関連して、代替的にＬＶＤＳクロック信号を受信するためのＰＬＬ１００ｂおよびこれに結合された回路の場合に使用される基準クロック信号）。図１０にはさらに２つの代表的なデータ入力サブ回路が示されている（例えばＣＤＲまたはＬＶＤＳ信号を受信するために）。これらの種々のサブ回路は互いに完全にまたは部分的に独立するか、または広範な組合せで統合して使用し得ることは勿論である。例えば、いくつかのサブ回路をＣＤＲシグナリングのために使用し、その他のサブ回路をＬＶＤＳ用にすることができる。デバイス５００はこれらの種々のサブ回路をさらに多くまたは全て備え得ることが理解される。
【００５７】
典型的なクロック入力サブ回路は要素４２ａ，５１０ａ，５１２および１００ａからなる。要素５１０ａは単純なドライバであり、入力されるクロック信号（例えばＣＤＲ基準クロック信号）が差動ではなくシングルエンドである際に差動ドライバ４２ａに代えてプログラムによって選択することができる。プログラマブルロジックコネクタ（“ＰＬＣ”）５１２は、ドライバ４２ａ／５１２ａの出力信号およびＰＬＤコア８０内のいくつかのグローバルクロック信号コンダクタ５２０のいずれか上のクロック信号の中からＰＬＬ１００ａに付加されるクロック信号をプログラムによって選択することを可能にする。例えばＰＬＬ１００ａがＬＶＤＳ伝送のためのクロック信号を形成するために使用される際にグローバルクロック信号のうちの１つを選択することができる。この目的で使用する場合、ＰＬＬ１００ａによって形成されたクロック信号はＬＶＤＳ差動ドライバ５３０を介して出力される。伝送（ＬＶＤＳ伝送を含む）については本明細書において後により詳細に説明する。ＰＬＬ１００ｂはＬＶＤＳ伝送に使用することができないため、このＰＬＬ１００ｂに結合されたＰＬＣ５１２は備えていない。しかしながら、ＰＬＬ１００ｂはＬＶＤＳ入力に付随する必要があるクロック信号のために使用される。以前に記述したものと同様にＣＤＲシグナリングに使用する場合、ＰＬＬ１００ａはドライバ４２ａまたは５１０ａの出力信号を受信し、８個の位相シフトされた候補ＣＤＲクロック信号を出力する。同様な８個の信号グループがＰＬＬ１００ｂによって出力され得る。
【００５８】
図１０においてＰＬＬ１００は以前の図には示されていない別の出力信号を有することができる。これは各ＰＬＬに結合されたリード５１４上の“ロックの喪失”信号である。このロック喪失信号は結合されたＰＬＬが付加されるクロック信号にロックされているかどうかを示すフラグである。ロック状態を示すロック喪失信号数値は、例えばＰＦＤ１１０（図２）の出力信号が予め設定された時間インタバルにわたって比較的低振幅であった後に形成することができる。そうでない場合、ロック喪失信号はロックが喪失されたことを示す数値に伴って形成される。リード５１４上の信号は、ＰＬＤコア８０のプログラマブルロジックが必要とするいずれかの使用目的のためにこのコアに付加される。例えば、コア８０は、その時点でロックの喪失が示されているサブ回路から受信したデータを無視するか、および／またはこのサブ回路に対して前述したリセット信号を形成するようプログラムすることができる。
【００５９】
各ＤＰＬＬ１５０は結合されたＰＬＣ５４０を備えており、これによってＰＬＬ１００ａまたはＰＬＬ１００ｂによる８個の出力信号からなる２つのグループのうちのいずれかを選択してＤＰＬＬに付加することを可能にする。従って、各ＤＰＬＬ１５０はＰＬＬ１００のうちのいずれかと共に使用することができる。各ＤＰＬＬ１５０はこれに結合された差動入力ドライバ４４（例えばＣＤＲ信号の受信用に）を備えている。各ＤＰＬＬ１５０は、付加されたＣＤＲ信号と候補ＣＤＲクロック信号を処理して、以前の記述と同様に結合された要素６０および２２０に付加される最終的なＣＤＲクロック信号を形成する。各ＤＰＬＬ１５０は結合された要素６０に付加するリタイムされたＣＤＲデータ信号を形成する（図１０においては過密化を防ぐためにＣＤＲデータ入力ドライバ４４から結合された要素６０へ直接的な接続として示されている）。（ＤＰＬＬ１５０が全てのＬＶＤＳシグナリングに使用されるわけではないことは勿論である。このため各ＤＰＬＬ１５０は、ＰＬＬ１００ｂの８個の出力信号のうちの選択された１つをこのＤＰＬＬをバイパスさせてこのＤＰＬＬに結合された要素６０および２２０に付加することを可能にするための結合されたＰＬＣ５１８を備えている。入力されたＬＶＤＳデータは、結合されたＤＰＬＬ１５０を使用せずに、入力ドライバ４４から結合されたデシリアライザ６０へ直接伝送される。）
【００６０】
図１０に示されているように、各ＤＰＬＬ１５０は前述の説明にはない他の２つの出力を有することができる。これらは各ＤＰＬＬに結合されたリード５１６上の“ランレングス違反（ＲＬＶ）”フラグ、ならびに各ＤＰＬＬに結合されたリード５１７上の“デジタルロックの喪失”フラグである。ランレングス違反信号は、結合されたＤＰＬＬ１５０が付加されたＣＤＲ信号のレベルの遷移（ｔｒａｎｓｉｔｉｏｎ）が無いまま許可された数以上のＣＤＲクロック信号サイクルが経過したことを検出した際にランレングス違反を示す数値を有する。この種のランレングス違反信号は各ＤＰＬＬ１５０内のカウンタ／コンパレータ回路によって形成することができる。カウンタは各ＣＤＲ信号パルスをカウントするが、ＣＤＲ信号内の各遷移によってリセットされる。コンパレータは、カウンタ内のカウント数値を、有効なＣＤＲ信号内の遷移間において生じることが許される許容ＣＤＲクロック信号サイクル数あるいはパルス数を示す、予め設定された数値（好適にはプログラムによって）と比較する。カウンタのカウント数が許容数値を超過したことをコンパレータが示すと、ランレングス違反が生じたことを示すためにランレングス違反数値信号が形成される。
【００６１】
図１０ＡにはＲＬＶ信号５１６を形成するために使用することができる回路６００の説明的な実施例が示されている。この回路内のアップカウンタ６２０は復元されたクロック信号パルスをカウントするが（図４のソース参照）、排他的ＯＲ（“ＸＯＲ”）ゲート６１２の出力信号が高位になる度にゼロにリセットされる。ＸＯＲゲート６１２はその入力を介してリタイムされたデータ信号（図４のソース参照）を受信し、さらに別の入力を介してレジスタ６１０の出力を受信する。レジスタ６１０は、リタイムされたデータ信号を記録するために復元されたクロック信号によってクロックされる。ＸＯＲゲート６１２の出力は、このゲートへの入力のうち１つ（両方ではなく）が高位になる度に高位なる。リタイムされたデータ信号が立ち上がりエッジを有すると、ＸＯＲゲート６１２の出力信号が高位になるが（これによってカウンタ６２０をリセットする）、レジスタ６１０が依然として先の低レベルのリタイムされたデータ信号を出力し続けるからである。その後、レジスタ６１０の出力は高位になり、リタイムされたデータ信号が立ち下がりエッジを有していなかった場合ＸＯＲゲートの出力信号は低位になり、カウンタ６２０がカウントを開始することを可能にする。この状態（すなわちリタイムされたデータ信号内に立ち下がりエッジが存在しない）が過度に多くの復元されたクロック信号サイクル間にわたって持続した場合、カウンタ６２０はリード６２２を介してこれに提供された閾値に到達する。この閾値カウントパラメータはプログラム可能（例えばＦＣＥを使用して）とすることが好適である。閾値カウント値に到達すると同時に、カウンタ６２０は、レジスタ６３０をセットしこれによってレジスタ６３０の出力信号を即座にロジック１に変更する。次のＰＬＤクロック信号（ＰＬＤコア８０（図１０）からの）に対応して、レジスタ６４０はレジスタ６３０の高位の出力信号を記録し、これによってランレングス違反が発生したことを示すＲＬＶ出力信号５１６を形成する。レジスタ６３０は、カウンタ６２０からのセット信号が除去された後いずれかのＰＬＤクロッ
ク信号パルスに応答してロジック０を出力する状態に回帰する。充分短い時間のうちに立ち上がりエッジが後続していない立ち下がりエッジがリタイムされたデータ信号内に存在することに対して、回路６００は一般的に同様な方式で応答する。しかしながら、リタイムされたデータ信号内の立ち下がりおよび立ち上がりエッジが時間的に充分接近している場合、カウンタ６２２は充分に頻繁にリセットされ、従って閾値カウントには決して到達せずＲＬＶフラグ信号５１６は形成されない。
【００６２】
ＲＬＶ検出はＰＬＤコア８０内で代替的に実行することもできるが、ここに示されるようにＣＤＲ回路内に含める方がＰＬＤコアを他の使用目的のために保存できるため好適である。また、ＲＬＶ検出にＰＬＤコア８０を使用する場合よりも早くＲＬＶフラグ信号を得ることができる。回路６００のようなＲＬＶ検出回路は、高速の復元されたクロック信号の使用を可能にし、これによってＲＬＶ状態の検出が高速化される。
【００６３】
図１０に戻って説明すると、前述したＰＬＬ１００がロック喪失信号５１４を形成する場合と同様な状況においてＤＰＬＬ１５０によってデジタルロックの喪失信号５１７が形成される。例えば、デジタルロック喪失信号はＤＰＬＬ１５０が予め設定された時間周期の間比較的安定的になるまでこのＤＰＬＬ１５０によって形成することができる。安定性のために要求される周期はプログラム可能（例えばＦＣＥによって）とすることが好適であり、これによって回路５００を広範なＤＰＬＬ周波数で使用することを達成する。
【００６４】
図１０Ｂには、デジタルロック喪失（“ＤＬＯＬ”）信号５１７を形成するための回路７００が示されている。この回路は、いくつかのロック喪失時間インタバルまたはウィンドウをプログラムによって選択する（例えばリード７０２上にマルチプレクサ制御信号を提供するＦＣＥを介して）ことを可能にする。ａ−ｎの各グループの要素７１０／７１２／７２０／７２２／７３０／７４０は可能なＤＬＯＬ時間ウィンドウのうちの１つをそれぞれ提供する。各時間ウィンドウは、基本的に要素グループ内のこの時間ウィンドウに相関する要素７１０および７２０の遅延によって実行される。例えば、代表的なグループａについて説明すると、遅延要素７１０ａは一定量の遅延時間の後にリタイムされたデータ信号（図４のソース参照）を伝送する。遅延要素７２０ａは復元されたクロック信号（図４のソース参照）を同じ遅延時間の後に伝送する。レジスタ７１２ａは、遅延要素７１０ａの出力信号をデータ信号として受信し復元されたクロック信号によってクロックされる。レジスタ７２２ａはデータ信号としてリタイムされたデータ信号を受信し遅延要素７２０ａの出力信号によってクロックされる。復元されたクロック信号の中の立ち上がりエッジがリタイムされたデータインタバルのそれぞれ略中央に配置されるべきである。従って適宜にタイム設定されると、レジスタ７１２ａと７２２ａの両方がデータを捕捉し、結合されたＸＯＲゲート７３０ａの出力信号がロジック０となり、それによってロック喪失問題が発生していないことを示す。他方、リタイムされたデータパルスが充分に遅く要素７１０ａの遅延がレジスタ７１２ａによって記録されるには遅過ぎるようになると、レジスタ７１２ａの出力信号はロジック０となり、一方レジスタ７２２ａの出力信号はロジック１となる。このことによってＸＯＲゲートの出力信号がロジック１にされ、これはロック喪失状態を示すものである。同様に、リタイムされたデータパルスが復元されたクロックの立ち上がりエッジに対して早過ぎると、要素７２０ａの遅延はレジスタ７２２ａがデータパルスを記録することを妨害するために充
分なものとなる。このことによってレジスタ７２２ａの出力信号をロジック０にすることができ、一方レジスタ７１２ａの出力信号はロジック１となる。これによって再びＸＯＲゲート７３０ａの出力信号がロジック１にされロック喪失問題を示すことができる。
【００６５】
ＸＯＲゲート７３０によって形成されるいずれのロジック１出力信号も、復元されたクロック信号に応答して結合されたレジスタ７４０によって記録される。マルチプレクサ７５０はリード７０２（前述された）上の信号によってプログラム制御され、レジスタ７４０の信号のうち任意の１つを出力する。従ってマルチプレクサ７５０の出力信号は、選択されたレジスタ７４０を含む要素グループに相関する遅延ウィンドウに基づいたエラー信号である。マルチプレクサ７５０のいずれのロジック１出力信号も即座にレジスタ７６０をセットする。レジスタ７６０のセッティングは、次のＰＬＤクロック信号を受信した際にＤＬＯＬカウンタ７７０によってカウントされる。カウンタ７７０は、レジスタ７６０がセットされる限りカウントを継続する。（レジスタ７６０は、このレジスタ７６０がマルチプレクサ７５０からの信号を受信していない間に生じるいずれかのＰＬＤクロックパルスによって有効にリセットされる。）カウンタ７７０が予め設定された閾値（リード７０４を介して提供され、また好適にはプログラム可能（ＦＣＥを使用して）である）に到達すると、カウンタ７７０はリード５１７を介してロック喪失フラグ信号を出力する。図１０Ｂには示されていないが、カウンタ７７０は必要に応じて（例えばロック喪失の検出ステップが適宜に実行された後）常にリセットする（例えばＰＬＤコア８０からの信号によって）ことができる。
【００６６】
図１０Ｂに示された種々の異なった遅延は、いくつかのＣＤＲクロック信号周波数レンジのいずれかにおいてロック喪失を検出するために適宜に選択することができる。従って、いくつかの遅延ウィンドウのうちいずれかをプログラムによって選択することは、本発明の回路を広範なＣＤＲクロック周波数のうちいずれかと共に使用するために有用である。この機能は、ＣＤＲデータと復元されたＣＤＲクロックとの間のドリフトに対してプログラムによってレベルを選択できる異なった許容差を提供することを可能にする。ＤＬＯＬ回路の感度も、リード７０４上のＤＬＯＬ選択信号を介してプログラム選択することができる。
【００６７】
再び図１０に戻ると、ランレングス違反信号５１６およびデジタルロック焼失信号５１７は、考えられるロジックコア８０のプログラマブルロジックによる使用のためこのコアに付加される。例えば、コア８０は、ランレングス違反信号５１６がその時点でランレングス違反が発生していることを示す数値を有しているサブ回路（サブ回路群）からの入力データの使用を保留するか、および／またはこのような回路（群）に対して前述したリセット信号を形成するようプログラムすることができる。デジタルロック喪失に対しても同様な動作（あるいは複数動作）を実行することができる。
【００６８】
各ドライバ４４からのデータ信号（実際はＣＤＲモードにおいて結合されたＤＰＬＬ１５０からの）はさらに結合されたデシリアライザ６０に付加される。各デシリアライザ６０はさらに２つのクロック信号を受信し、１つは結合されたＰＬＣ５１８からのものであり、もう１つは結合されたディバイダ２２０からのものである。各デシリアライザ６０は、入力された信号を使用して付加されたシリアルデータをそれぞれＪビットからなる連続するパラレルデータに変換する。データはＣＤＲ入力データまたはＬＶＤＳ等のその他の形式のデータとすることができる。
【００６９】
ディバイダ２２０（またドライバ３８０）の出力信号は、これらのディバイダの信号のいずれかがＰＬＤコア８０内におけるクロック信号として必要である場合に、ＰＬＣ５２２を介してグローバルクロック信号コンダクタ５２０のうちの異なったいずれかに付加される。勿論、クロック信号コンダクタ５２０上の信号は、ローカル発振器、クロック入力ピン、またはコア８０内の出力信号ロジック要素等のその他ソースから代替的に選択することもできる。
【００７０】
各デシリアライザ６０からのパラレルデータ出力は、以前の図に関連して記述したものと同様に結合されたシンクロナイザ７０に付加するか、またはこのデータはシンクロナイザをバイパスし結合されたＰＬＣ５４０を介して直接ＰＬＤコア８０に付加することができる。前者のルーティングは典型的にＣＤＲシグナリングのためのものであり（必要であればＬＶＤＳにも使用できるが）、この場合シンクロナイザ７０は結合されたディバイダ２２０およびＰＬＤコア８０の両方からのクロック信号をＣＤＲ（またはＬＶＤＳ）クロックレジームとＰＬＤコアクロックレジーム間の一時的インタフェースを介してデータを伝送するために使用する。特に、ＰＬＣ５４２は、ＰＬＤコア８０内のいくつかのソースからのクロック信号（例えばグローバルクロック信号コンダクタ５２０のいずれか、またはＰＬＤコア８０内のその他の好適なソースからの）を結合されたシンクロナイザ７０に対して選択することを可能にする。前述したように、各シンクロナイザ７０によるパラレルデータ信号出力は、ＰＬＤがそのような選択を行うようプログラムされている場合、結合されたＰＬＣ５４０を介してＰＬＤコア８０に付加される。既に説明したように、結合されたＰＬＣ５４０がそのようなルーティングを可能にするようにプログラムされている場合、結合されたデシリアライザ６０のパラレル出力を直接ＰＬＤコア８０に付加するために各シンクロナイザ７０をバイパスすることができる。このことは、ＰＬＤコア８０内で使用されるものと同一のクロックを有するＣＤＲまたはＬＶＤＳ入力に対して実行される。
【００７１】
各シンクロナイザ７０の出力信号５４４（例えば前述したＦＵＬＬおよびＥＭＰＴＹ信号）も考えられるＰＬＤコア８０による使用（例えばコアのプログラマブルロジックによって）のためこのコアに付加される。例えば、ＰＬＤコア８０は、これらの信号を利用してその時点でＥＭＰＴＹ出力信号を形成しているシンクロナイザ７０からの読み取りを一時的に停止することができる。これに代えてまたは追加して、ＰＬＤコア８０は“ストップ”信号をトランスミッタ（例えば図１の要素２０等）に送信しその時点でＦＵＬＬ出力信号を形成しているシンクロナイザ７０へのそれ以上のデータ送信を停止することができる。
【００７２】
ここで出力面について説明すると、図１０には２つの代表的な出力サブ回路が示されている（例えば、ＣＤＲまたはＬＶＤＳ信号の伝送用）。これらのサブ回路のそれぞれは、ＰＬＤコア８０からのパラレルデータを受信するシンクロナイザ３３０か始まっている。他方、このデータは結合されたＰＬＣ５５０を介してシンクロナイザ３３０をバイパスすることができる。このバイパスルーティングはＬＶＤＳに使用することができ、一方シンクロナイザルートは以前の図に関連して説明したようにＣＤＲに対して使用することができる。シンクロナイザ３３０を介するルーティングと仮定すると、このシンクロナイザは結合されたＰＬＣ５５２からのコアクロック信号も受信する。各ＰＬＣ５５２は、いずれかのグローバルクロック信号コンダクタ５２０、コア８０内のロジック要素等の可能ないくつかのソースの中からコアクロック信号を選択することを可能にする。各シンクロナイザ３３０は、さらに結合されたディバイダ３８０からのＣＤＲまたはＬＶＤＳクロック信号（Ｊによる除算後の）を受信する。（各ディバイダ３８０はそのＣＤＲ／ＬＶＤＳクロック信号を結合されたＰＬＣ３６０から受信し、これがいずれかのＰＬＬ１００の出力のうちから使用するＣＤＲ／ＬＶＤＳクロック信号を選択することができる。（ＣＤＲの場合、一般的に適正なＰＬＬ１００の８個の出力のいずれを使用することも可能である。ＬＶＤＳの場合、スキュー問題を緩和するＰＬＬ１００ａの１出力を選択することが好適である。））従って、各シンクロナイザ３３０は、以前の図に関連して説明したものと同様に、ＰＬＤコアクロックレジームと外部ＣＤＲあるいはＬＶＤＳクロックレジームとの間でデータをインタフェースすることができる。
【００７３】
各シンクロナイザ３３０に結合されたＰＬＣ５５０は、このシンクロナイザによってデータを出力するか、またはこのシンクロナイザをバイパスして結合されたシリアライザ３４０にデータを付加することを可能にする。各シンクロナイザ３３０のその他の出力信号（例えば前述したＦＵＬＬおよびＥＭＰＴＹ信号）は、結合されたリード５５４を介してＰＬＤコア８０に付加することができる。ＰＬＤコア８０は、これらの信号を必要とされる任意の方式で使用することができる（例えば、前述したシンクロナイザ７０によるＦＵＬＬおよびＥＭＰＴＹ出力信号の使用と同様に）。
【００７４】
前述したように各シリアライザ３４０は結合されたＰＬＣ５５０のパラレル出力信号をシリアルデータに変換するよう動作し、これは結合された出力ドライバ３４２に付加される。このため、各シリアライザ３４０は、結合されたディバイダ３８０によって導出されたファクタＪを介して互いに相関するクロック信号を使用する。前述したように、これらの信号のソースはＰＬＬ１００の出力信号のうちの１つである。シリアライザ３４０がＣＤＲ信号を処理している場合、このシリアライザに付加されるクロック信号は、ドライバ４２または５１０のうち１つを介してＰＬＤ５００に付加されたＣＤＲ基準クロック信号上で動作するＰＬＬ１００から伝送される。ＰＬＬ１００ａの場合、このＰＬＬに付加するためにＣＤＲクロック基準信号がＰＬＣ５１２によって選択される。他方、シリアライザ３４０がＬＶＤＳ信号を処理している場合、このシリアライザに付加されるクロック信号はＰＬＬ１００ａから伝送され、この場合これはＰＬＣ５１２によって選択されたＰＬＤコア８０（例えば、いくつかのリード５２０のいずれか）からのクロック信号（ＬＶＤＳクロック信号と呼ばれることもある）上で動作する。ＬＶＤＳ出力信号は特にデータとクロック信号とを別々のリード上に有するため、ＰＬＬ１００ａはさらにリード５２８を介してＬＶＤＳクロック信号を出力する。この信号は、ＰＬＣ３６０に付加されるＰＬＬ１００ａの出力リード上の信号に対して適宜な位相相関性を有する。周波数ディバイダ５２９によって可能な周波数の調節が行われた後、リード５２８上のＬＶＤＳクロック信号は差動ドライバ５２０に付加され、これは付加されたクロック信号をＬＶＤＳ基準に従ってＰＬＤ５００から出力するための２つの差動信号に変換する。従ってＰＬＤ５００はドライバ３４２のいずれか１つまたは複数を介してＬＶＤＳデータ信号を出力し得るとともに、ドライバ５３０を介して同期ＬＶＤＳクロック信号を出力することができる。
【００７５】
ユーザによっては相関するＬＶＤＳデータ出力信号の形成に関わる要素１００ａ，３３０および３４０によって使用される周波数とは異なった周波数有するＬＶＤＳクロック出力信号を要望するため、周波数ディバイダ５２９が設けられている。例えば、ＬＶＤＳデータはＰＬＤコア８０によって４２ＭＨｚおよび２０ビットで提供することができる。この種のデータを処理するために、ＰＬＬ１００ａは８４０ＭＨｚでクロック信号を出力する必要がある（すなわちＰＬＬ１００ａのＲＥＦＣＬＫが４２ＭＨｚであり、このＰＬＬ内のＷが２０である）。結合されたＬＶＤＳデータサブ回路内のＪも２０となる。しかしながら、ユーザはドライバ５３０から（８４０ＭＨｚではなく）４２０ＭＨｚのＬＶＤＳクロック信号を望むこともある。そのため、リード５２８上の８４０ＭＨｚの出力信号をＢ（前記の例においてはＢ＝２）で分割するために周波数ディバイダ５２９が設けられており、その結果ドライバ５２０は４２０ＭＨｚのＬＶＤＳクロック信号を受信ならびに出力する。ディバイダ５２９はＢに関してプログラム可能であることが好適であり（例えば１つまたは複数のＦＣＥを使用して）、Ｂはその他の複数の数値とすることができる。ＢはＰＬＤコア８０によって周波数ディバイダ５２９に提供することができる。
【００７６】
前述の説明から、ＰＬＤ５００はその入力および出力サブ回路を多様な方式で使用できることが理解される。例えば、広範なＣＤＲおよび／またはＬＶＤＳ入力および／または出力の組合せを同時に行うことができる。２つのＣＤＲサブ回路を使用する場合、これらのサブ回路は同一または異なったクロック周波数を有することができる。同様に２つのサブ回路を使用する場合、両方が入力し両方が出力するか、または１つが入力、他方が出力を行うことができる。図１０に示されたより多数のデータ回路を反復して追加することができ、その結果各クロックサブ回路は任意の数のデータサブ回路と組合わせて使用することができる。ＬＶＤＳまたはデシリアライザ６０および／またはシリアライザ３４０の使用を必要としないその他のシグナリングモードをサポートまたは実行するために、データ信号がこれらの要素をバイパスすることを可能にする別のルーティングを設けることができる。結果として、広範なＣＤＲシグナリングプロトコルのいずれかをサポートするように回路がプログラム可能であるため、広範な非ＣＤＲ−ＬＶＤＳまたはその他のプロトコルに関しても同様に柔軟であることが理解される。
【００７７】
必要であれば図１０に示された形式の回路を図１０Ｃに示されているように追加的な回路で拡大することができる。各データ信号レシーバサブ回路は、入力ドライバ４４と残りのレシーバ回路６０／ＥＴＣの間に直列接続されたＰＬＣ５６０を備えることができる。（ここでは便宜上プログラマブルロジックコネクタあるいはＰＬＣ５６０と呼称されるが、要素５６０は時にはＰＬＤコア８０によって動的に制御することもできる。しかしながら、便宜上ＰＬＣという用語を継続して使用する。ＰＬＣ５７０についても同様なことが有効であり、また本明細書中に記載されているその他のＰＬＣについても同様である。）ＰＬＣ５６０への別の入力は、結合された出力データサブ回路内のトランスミッタ回路３４０／ＥＴＣの出力である。ＰＬＣ５６０は、その入力うちのいずれかをレシーバ回路６０／ＥＴＣに付加するために選択することができる。ＰＬＣ５６０は、この選択を行うようＰＬＣ５６２の出力信号によって制御される。ＰＬＣ５６２は、固定されたロジック０信号またはＰＬＤコア８０の出力信号をＰＬＣ５６０の制御入力端子に付加するようＦＣＥ５６４によってプログラム制御される。固定されたロジック０を付加する場合、ＰＬＣ５６０は常にドライバ回路４４の出力信号を回路６０／ＥＴＣに付加する。ＰＬＤコア８０の出力信号を付加する場合、この信号はロジック０またはロジック１のいずれかとすることができ、信号レベルは装置の動作中の異なった時点ごとに異なったものとなる。信号がロジック０である場合、ＰＬＣ５６０はドライバ４４を回路６０／ＥＴＣに接続する。信号がロジック１である場合、ＰＬＣ５６はトランスミッタ回路３４０／ＥＴＣの出力を回路６０／ＥＴＣに接続する。
【００７８】
要素５７０，５７２および５７４は、図１０Ｃに示された出力サブ回路に関して同様に動作する。従ってＰＬＣ５７０は、トランスミッタ回路３４０／ＥＴＣの出力または入力ドライバ４４の出力のうちのいずれか一方をドライバ３４２に付加することができる。ＰＬＣ５７０はこの選択を行うようＰＬＣ５７２によって制御される。ＰＬＣ５７２の出力は、ＦＣＥ５７４のプログラム状態に従って、固定されたロジック０またはＰＬＤコア８０の出力信号のいずれかとすることができる。ＰＬＣ５７２の出力がロジック０（固定されたものまたはＰＬＤコア８０からのもの）である場合、ＰＬＣ５７０は回路３４０／ＥＴＣをドライバ３４２に接続する。他方、ＰＬＣ５７２の出力がロジック１（ＰＬＤコア８０からの）である場合、ＰＬＣ５７０は入力ドライバ４４の出力をドライバ３４２に接続する。
【００７９】
前述の説明から、要素５６０／５７０およびこれに結合された回路は種々の異なったテストループを提供するために使用し得ることが理解される。例えば、要素５６０は、トランスミッタ回路３４０／ＥＴＣの出力信号をレシーバ回路６０／ＥＴＣへ戻すようにルーティングするよう制御することができる。このルーティングは、ＰＬＣコア８０が回路３４０／ＥＴＣを介してテストデータを伝送し、回路６０／ＥＴＣを介して返送されたデータを受信することを可能にするため使用し得る。ＰＬＤコア８０にテストデータが正確に返送された場合、コア８０は回路３４０／ＥＴＣおよび回路６０／ＥＴＣが適正に動作していることを検知する。別の例として、要素５７０はドライバ４４を介して受信したテストデータをドライバ３４２を介して返送するルーティングを行うよう制御することができる。これは、ドライバ４４と３４２の適正な動作を検査するための便利な方式である。勿論、ドライバ４４を介し要素５６０，６０／ＥＴＣ，８０，３４０／ＥＴＣおよび５７０によって受信したテストデータをドライバ３４２によって返送する、別のテストモードも可能である。通常の（すなわち非テストモード）ルーティングは、ＰＬＣ５６０がドライバ４４を回路６０／ＥＴＣに接続し、ＰＬＣ５７０が回路３４０／ＥＴＣをドライバ３４２に接続するものである。
【００８０】
本明細書に記載されている種々の状態監視信号（例えばロック喪失およびランレングス違反信号等）、ならびにユーザがＰＬＤコア８０内にプログラムすることができる種々の動作チェック、さらに種々のリセット信号をＰＬＤコア８０が使用して、多様な状況下において回路５００の多様な部分を自動リセットすることができる。このような考えられるリセット手段の例として、“グローバルリセット”および“チャネルリセット”と呼ばれるものが挙げられる。グローバルリセットは、全てのＰＬＬ１００、全てのＤＰＬＬ１５０、全てのカウンタ（ＰＬＬ、ＤＰＬＬ、シリアライザ、デシリアライザ内のカウンタ／ディバイダ／マルチプライア）、ならびに全てのＦＩＦＯ（すなわちＲＡＭアレー２５０および３６０）をリセットする。チャネルリセットは、ペアのレシーバ内と、互いに結合されたあるいはリセットされるチャネルを形成するために組合されたトランスミッタサブ回路内のＦＩＦＯをリセットする。チャネルリセットは、さらにリセットされるチャネル内のＤＰＬＬをリセットする。ＰＬＬ、ＤＰＬＬ、シリアライザ、デシリアライザ、またはシンクロナイザＦＩＦＯ等の各要素内のリセットされる構成部分は、前述した各図内のリセット信号の受信部によってより明らかにされている。
【００８１】
前述したように、多様なタイプのリセットが実施される状況はＰＬＤコア８０内にプログラムすることができる。例えば、グローバルリセットはＰＬＬによってロック喪失信号が出力された際に実行することができる。別の例として、チャネルリセットは、以下のいずれかの状況が検出された際に実行することができ：それらは（１）ランレングス違反、（２）デジタル（すなわちＤＰＬＬ）ロック喪失、（３）ユーザによって定義されたエラーまたは異常状態（例えば、ＰＬＤコア８０内におけるユーザのロジックがデータ伝送エラーを検出する）である。前述したように、ランレングス違反、ロック喪失、デジタルロック喪失の検出に使用されるパラメータは、勿論プログラム可能（例えばＰＬＤコア８０のプログラミングによって）とすることが好適である。
【００８２】
図１０においては単一の集積回路上に全てが示されているが、実施例によっては構成要素および／または機能のうちのいくつかを（完全にまたは部分的に）第２の集積回路上に設けることが好適である。例えば、図１１Ａには、全ての高周波ＰＬＬ（図１０のＰＬＬ１００等）および全てのＤＰＬＬ（図１０のＤＰＬＬ１５０等）がマルチチップモジュール８００内の１つのチップ（集積回路）８１０上に設けられている説明的な実施例が示されている。図１０内のその他の主要な機能要素（例えば、デシリアライザ６０、シリアライザ３４０、シンクロナイザ７０および３３０、ならびにＰＬＤコア８０）は、マルチチップモジュール内の第２のチップ（集積回路）８２０上に設けられている。チップ８１０および８２０は互いに独立しているがマルチチップモジュール８００内において近接して組合わせることが好適である。例えば、チップ８１０と８２０の間において全てまたは殆どの信号ついて差動シグナリングを使用することができる。目的によっては（例えば、ＣＤＲまたは特定の高周波非ＣＤＲシグナリング等）、チップ８２０はシップ８１０を介して外部の回路と交信することができる。その他の目的において、チップ８２０は外部の回路と直接交信することもできる。高周波ＰＬＬおよびＤＰＬＬをＰＬＤコア８０等のその他の回路から分離することによって、このその他の回路との間の高周波干渉を低減することが可能になる。図１１Ａにはチップ８１０および８２０内の種々の要素がどのように相互接続されるかは示されていないが、この相互接続は基本的に図１０に示されたものと同様であることが理解される。
【００８３】
図１１Ｂには、本発明に係るマルチチップモジュール８００′の別の説明的な実施例が示されている。図１１Ｂにおいて、マルチチップモジュールの１つのチップ８３０は、図１１（チップ８１０）に示された全ての高周波ＰＬＬ１００およびＤＰＬＬ１５０′を含んでいる。加えてこの回路チップ８３０は、ＰＬＬ１００の出力信号を２で分割してその結果をチップ８４０に付加する回路８０２を含んでいる。チップ８３０は、さらにデシリアライザ６０′、シンクロナイザ７０′、シンクロナイザ３３０′、シリアライザ３４０′を含んでいる。チップ８３０は、高周波外部（例えばＣＤＲ）クロックレジームと低周波ＰＬＤコアクロックレジームとの間において信号をトランスレートするために必要な動作の一部を実行する設定されている。チップ８３０は、特にこの機能のうちの高周波部分を実行する。チップ８４０は、この機能のうちの低周波部分を実行する。従って、チップ８４０は、ＰＬＤコア８０、ならびにそれぞれ要素６０′、７０′、３３０′および３４０′に類似であるがより低い周波数で動作する追加的な要素６０″、７０″、３３０″および３４０″を備えている。図示された実施例において、チップ８３０は、信号によって示される情報に相関する最高（外部）周波数とこの最高周波数の半分の周波数の間で信号をトランスレートするために必要な全ての操作を実行する。チップ８４０は、最高周波数の半分の周波数とＰＬＤコアクロック周波数の間において信号をトランスレートする操作を実行する。前記のことは、信号送信ならびに信号受信の両方に対して好適である。この方式により、チップ８４０は、最高または外部クロック信号周波数の半分よりも高い周波数有する信号を受信または処理する必要がなくなる。例えば、システムが１．２５ＧＨｚのクロック信号周波数を扱っている場合、チップ８３０はこの周波数を６２５ＭＨｚにステップダウンしてチップ８４０に付加するために必要な全てのことを実行する。チップ８４０は６２５ＭＨｚよりも高い周波数を有するデータまたはクロック信号を取り扱うことはない。これは、高周波ＰＬＬおよびＤＰＬ
Ｌをオンボードに備えていないがチップ８２０が最高周波数のクロック信号（例えばチップ８１０からの）を処理する必要がある図１１Ａの実施例とは対照的である。
【００８４】
図１１Ｂの実施例の考えられる制限は、全周波数変換を要素８０２に相関する除数の倍数としなければならないことである。（この除数は２に限定されるものではなく、３または４等の数字とすることができる。）例えば、除数が２である場合、奇数ワード長（例えば３，５，７等のワード長）を簡便に非直列化または直列化することができない。図１１Ａの場合のように、チップ８３０と８４０の間を伝送される殆どまたは少なくとも多くの信号に対して差動シグナリングを使用することが好適である。
【００８５】
図１１Ｂの実施例について考えてみると、チップ８３０と８４０の間のデータ交信のデータ速度がチップ８３０から外部回路への接続に関連した最高周波数データ速度よりも低いため、チップ８３０の１つの外部データ接続のためにチップ８３０と８４０の間のより多数のデータ接続が必要となる。例えば、図１１Ｂの回路８０２に相関する除数が２である場合、チップ８３０から外部回路への各データ接続のためにチップ８３０と８４０の間に２つのデータ接続が必要となる。このことは以下に記す図１３Ａおよび図１３Ｂの説明によってより明らかにされる。これらの図の両方が図１１Ｂの回路８０２に相関する除数が２であると仮定したものであるが、図１３Ａおよび図１３Ｂの回路がその他の除数値のためにどのように変更し得るかが明らかとなっている。
【００８６】
図１３Ａにはチップ８３０および８４０内のレシーバ回路がより詳細に示されている。デシリアライザ６０′は、クロック速度ＣＬＫを有するシリアル入力データをそれぞれＣＬＫ／２のクロック速度を有するとともに元のシリアルデータ入力信号情報のそれぞれ半分を含んだ２つのパラレルデータ出力信号に変換する点を除いて、図５のデシリアライザ６０に極めて類似している。（勿論、これら２つのデータ信号はなおシリアルデータ信号である。）これら２つのデータ出力信号のそれぞれは、チップ８３０のその他の回路（例えばシンクロナイザ７０′（図１１Ｂ）および出力ドライバ（図１０の出力ドライバ３４２に類似）を分離して伝送することができ、その後チップ８４０に付加される。この信号経路内において、シンクロナイザ７０′は、データ出力信号をリタイムしてディバイダ８０２のＣＬＫ／２出力信号とより良好に同期させるために使用することができ、前記の出力信号はさらに出力ドライバ（図１０の出力ドライバ５３０に類似）等のその他の回路を介してチップ８３０の外部へ伝送されチップ８４０に付加される。（デシリアライザ６０′はチップ８３０上のＤＰＬＬ１５０からの復元されたＣＬＫ信号と共に動作するがディバイダ８０２はチップ８３０上のＰＬＬ１００の出力信号と共に動作するため、このリタイミングが必要または有用なものとなる。これら２つの信号は同じ周波数を有するが、異なった位相を有することがあり得る。）
【００８７】
図１３Ａのチップ８４０上において、各入力データは最初に入力ドライバ等（図１０の入力ドライバ４４に類似）のさらにその他の回路を介して伝送することができ、その後デシリアライザ６０ａ″および６０ｂ″のうち適宜な１つにそれぞれ付加される。（デシリアライザ６０ａ″および６０ｂ″は単一のディバイダ回路２２０″を共有しているように示されているが、必要であれば別々のディバイダ回路を代わりに使用することができる。）デシリアライザ６０″のそれぞれは、（既に明らかなように）各デシリアライザ６０″が元の入力シリアルデータの半分のみを処理する点を除いて、再び図５のデシリアライザ６０に類似している。加えて、結合されたディバイダ回路２２０″は、Ｊ／２（Ｊではなく）によって受け取ったＣＬＫ／２信号を分割するためにのみ必要とされる。両方のデシリアライザ６０ａ″および６０ｂ″のパラレル出力信号は、合わせて元のシリアルデータ入力信号の全パラレルデータ出力バージョンである。このパラレル出力信号は（例えば図１０に関連して）前述したようにさらに処理される。例えば、チップ８４０上のシンクロナイザ７０″は、パラレルデータ信号をＰＬＤコア８０に相関するクロックレジームにリタイムするために使用することができる。
【００８８】
図１３Ｂには、チップ８３０および８４０上のデータトランスミッタ回路がより詳細に示されている。シリアライザ３４０ａ″および３４０ｂ″はそれぞれ図９のシリアライザ３４０に類似している。シリアライザ３４０ａ″および３４０ｂ″はディバイダ回路３８０″を共有しているように示されているが、必要であれば各シリアライザがそれぞれ独自のディバイダを備えることもできる。各シリアライザ３４０ａ″および３４０ｂ″は、全パラレル入力データの半分を２つのシリアル出力信号の一方にそれぞれ変換する。これらの信号は、チップ８４０から送出され（例えば図１０の出力ドライバ３４２に類似する出力ドライバを介して）チップ８３０に付加される。チップ８３０上の入力ドライバ（例えば図１０の４４に類似）およびその他の回路がこれらの信号を受信し、シリアライザ３４０′の入力側にパラレル付加するために処理する。（シンクロナイザ３３０′は、チップ８４０上のシリアライザ３４０ａ″および３４０ｂ″によって使用されるＰＬＬに基づいたクロックレジームからのデータ信号をチップ８３０上のシリアライザ３４０′によって使用されるＤＰＬＬに基づいたクロックレジームにリタイムするために使用することができる。）シリアライザ３４０′は再び図９のシリアライザ３４０に類似しており、パラレルに受信した２つのデータ信号をシリアルデータ出力信号に変換する。
【００８９】
このように、図１３Ａおよび図１３Ｂは図１１Ｂ内のチップ８３０および８４０内のいくつかの要素がどのように相互接続され得るかを示している。図１１Ｂの要素のその他相互接続は一般的に図１０に示されたものと同様にすることができる。
【００９０】
図１１Ｃには、本発明に係るマルチチップモジュール８００″のさらに別の説明的な実施例が示されている。この実施例において、チップ８６０は、図１０のデバイス５００と同一かあるいは実質的に同一のものとすることができる。しかしながら、システムよって受信されたＣＤＲ信号をチップ８６０に伝送する前に“クリーンアップ”し、および／またはチップ８６０によって形成されたＣＤＲ信号を外部回路に伝送する前に同様に“クリーンアップ”するためのインタフェースチップ８６０が追加されている。従ってチップ８５０は外部回路からＣＤＲ信号を受信することができる。チップ８５０はＰＬＬ１００′およびＤＰＬＬ１５０′を使用してこれらの信号からクロックを復元する。チップ８５０はシンクロナイザ７０′（これらの信号をバッファおよび／またはリタイムするために）を介してＣＤＲ信号を伝送し、また結合されたＣＬＫＲＥＦ信号を出力することもできる。これらのチップ８５０の出力ＣＤＲ信号は、このチップ８５０が受信したものよりも一般的に良好な信号品質を有しているが、その他の点に関しては入力および出力ＣＤＲ信号は同等なものとなる。チップ８６０はこのチップ８５０の出力信号を受信し、これらはより高い信号品質を有しているため元の信号よりも信頼性の高い処理を行うことができる。チップ８５０上において非直列化は必要とされず、チップ８６０上においてのみ実行することができる。チップ８５０による外向き信号処理も同様であり、チップ８６０からの入力ＣＤＲ信号とチップ８５０から外部回路への出力信号との間においてバッファおよび／またはリタイムを行うためにシンクロナイザ３３０′を使用することを含んでいる。図１１Ａおよび図１１Ｂの場合と同様に、チップ８５０と８６０の間で伝送される多くの信号（全てではない）について差動シグナリングを使用することが好適である。また、前述の説明により、チップ８５０と８６０の間において、モジュール８００″によってＣＤＲ信号として受信されたものかあるいはモジュール８００″によってＣＤＲ信号として出力されるもののいずれか信号に対してＣＤＲシグ
ナリングが使用されることが少なくとも示唆されている。図１１Ａおよび図１１Ｂの場合と同様に、図１１Ｃに示された種々の要素の間の相互接続は一般的に図１０に示されているものと同様である。
【００９１】
以下の記述においては、既に説明した種々のマルチチップモジュール８００，８００′および８００″の全てが参照符号８００をもって総称される。
【００９２】
図１２には、データ処理システム１００２内に設けられた本発明に係るＰＬＤ５００またはマルチチップモジュール８００が示されている。データ処理システム１００２は以下の構成要素のうち１つまたは複数を備えており：それらはプロセッサ１００４；メモリ１００６；Ｉ／Ｏ回路１００８；および周辺デバイス１０１０である。これらの構成要素はシステムバスまたはその他の相互接続要素１０２０を介して互いに結合され、エンドユーザシステム１０４０内に内蔵された回路基板１０３０上に装備されている。要素５００／８００およびその他の要素の間のいずれの相互接続も前述したＣＤＲまたはＬＶＤＳシグナリングを使用して形成することができる。
【００９３】
システム１００２は、コンピュータネットワーキング、データネットワーキング、ビデオ処理、デジタル信号処理、またはプログラマブルあるいはリプログラマブルロジックデバイスの利点を活用することが望まれる、広範な適用形態で使用することができる。ＰＬＤ／モジュール５００／８００は多様なロジック機能を広範囲に実行するために使用することができる。例えば、ＰＬＤ／モジュール５００／８００はプロセッサ１００４と組合されて動作するプロセッサまたはコントローラとして構成することができる。ＰＬＤ／モジュール５００／８００は、さらにシステム１００２内の共有リソースへのアクセスを仲介するアービタとして構成することもできる。さらに別の例として、ＰＬＤ／モジュール５００／８００は、プロセッサ１００４とシステム１００２内の他の構成要素との間のインタフェースとして構成することもできる。システム１００２は１つの例であり、本発明の視点ならびに精神は請求の範囲によってのみ定義されることは勿論である。
【００９４】
本発明の特徴を有するＰＬＤ５００またはマルチチップモジュール８００、ならびにこれらのデバイスの種々の構成要素（例えば、先述したＰＬＣおよびこのＰＬＣを制御するプログラム可能な機能制御要素（“ＦＣＥ”）を実施するために多様な技術を使用することができる。例えば、各ＰＬＣは、いくつかの入力を１つの出力に接続するためのスイッチまたはスイッチ群等の比較的単純なプログラマブルコネクタとすることができる。他方、各ＰＬＣは、接続を行うだけでなくロジック（例えば、複数の入力のロジック結合）を実行することができるより複雑な要素とすることもできる。後者において、各ＰＬＣはＡＮＤ、ＮＡＮＤ、ＯＲ、またはＮＯＲ等の機能を実施するｐ項ロジックとすることができる。ＰＬＣを構成するために適した要素の例としては、ＥＰＲＯＭ、ＥＥＰＲＯＭ、パストランジスタ、伝達ゲート、アンチヒューズ、レーザヒューズ、メタルオプショナルリンク等が挙げられる。ＰＬＣおよびその他の回路要素は、多様なプログラマブル機能制御要素（“ＦＣＥ”）によって制御することができる。（特定に実施形態（例えばヒューズおよびメタルオプショナルリンク）については独立したＦＣＥデバイスは必要でない。）ＦＣＥもいくつかの異なった方式で実施することができる。例えば、ＦＣＥは、ＳＲＡＭ、ＤＲＡＭ、先入れ先出し（“ＦＩＦＯ”）メモリＥＰＲＯＭ、ＥＥＰＲＯＭ、機能制御レジスタ（例えば、ウォールストロームの米国特許第３４７３１６０号に記載）、強誘電メモリ、ヒューズ、アンチヒューズ等から構成することができる。前述の多様な例から、本発明は一回のみプログラム可能なデバイスおよびリプログラム可能なデバイスの両方に適用可能であることが理解される。
【００９５】
以上の記述は単に本発明の原理を説明したものであり、当業者においては本発明の視点および精神を逸脱することなく種々の設計変更をなし得ることは勿論である。構成要素５００／６００上の種々のリソースの数は、図示ならびに記述された実施例とは異なった数とすることができる。
【図１】
0005579629.tif 000002
【図１Ａ】
0005579629.tif 000003
【図２】
0005579629.tif 000004
【図３】
0005579629.tif 000005
【図４】
0005579629.tif 000006
【図５】
0005579629.tif 000007
【図６】
0005579629.tif 000008
【図７】
0005579629.tif 000009
【図７Ａ】
0005579629.tif 000010
【図８】
0005579629.tif 000011
【図９】
0005579629.tif 000012
【図１０】
0005579629.tif 000013
【図１０Ａ】
0005579629.tif 000014
【図１０Ｂ】
0005579629.tif 000015
【図１０Ｃ】
0005579629.tif 000016
【図１１Ａ】
0005579629.tif 000017
【図１１Ｂ】
0005579629.tif 000018
【図１１Ｃ】
0005579629.tif 000019
【図１２】
0005579629.tif 000020
【図１３Ａ】
0005579629.tif 000021
【図１３Ｂ】
0005579629.tif 000022