(57)【要約】  グリッチに対する自己クロック回路を強化するための複数の技術が開示されている。グリッチフィルタが、デジタル設計の同じ場所に設けられている。ある実施例では、グリッチフィルタが動的に同調可能である。一実施例では、入力が出力によってロックアウトされる。差動信号のための回路のように、コード符号を見積もるための方法が与えられている。【選択図】なし【特許請求の範囲】
【請求項１】
自己クロック回路を強化するための回路であって、
電気信号を搬送するためのラインに直列のグリッチフィルタを具えており、
前記ラインが自己クロック回路の入力端子に接続されていることを特徴とする回路。
【請求項２】
前記グリッチフィルタが、信号ラインに並列な遅延ラインを具えており、
前記遅延ライン及び前記信号ラインが、ゲートの入力端子に接続されていることを特徴とする請求項１に記載の回路。
【請求項３】
前記ゲートが、Ｍｕｌｌｅｒ  Ｃ要素であることを特徴とする請求項２に記載の回路。
【請求項４】
前記遅延ラインが、偶数の直列接続された反転器を有することを特徴とする請求項２に記載の回路。
【請求項５】
さらに、偶数であるが全ての前記反転器よりも少ない前記反転器に接続されたスイッチを具えており、
前記スイッチが、前記スイッチの制御端子に供給される信号に応答し、
前記スイッチが、偶数の前記反転器にわたって電気的短絡を供給することで、前記遅延ラインの時間遅延値を変えることを特徴とする請求項４に記載の回路。
【請求項６】
複数のＭｕｌｌｅｒ  Ｃ要素を具えた自己クロック回路を強化するための回路であって、
各Ｍｕｌｌｅｒ  Ｃ要素から出力信号を搬送するためのラインであって、各ラインが異なるＭｕｌｌｅｒ  Ｃ要素の出力端子に接続されるラインと；
複数のＡＮＤゲートであって、ＡＮＤゲートの数がＭｕｌｌｅｒ  Ｃ要素の数に等しく、各ＡＮＤゲートの入力端子の数が前記Ｍｕｌｌｅｒ  Ｃ要素の数に等しいＡＮＤゲートと；
各ＡＮＤゲートの入力端子の少なくとも１つの反転器であって、各ＡＮＤゲートが同じ数の入力端子の反転器を有しており、２つのＡＮＤゲートが少なくとも１つの入力反転器に出力される同じＭｕｌｌｅｒ  Ｃ出力信号を有さない反転器と；
全ての前記ＡＮＤゲートから出力信号を受信するためのＯＲゲートと；
ＯＲゲートからの出力信号を反転させるための反転器と；
前記反転器の出力端子からの信号を搬送するためのラインであって、前記各Ｍｕｌｌｅｒ  Ｃ要素の入力端子に接続されたラインと；
を具えることを特徴とする回路。
【請求項７】
ラインの電気的ノイズの影響を減らすための回路であって、
前記ラインに接続された入力端子を有するバッファと；
前記バッファと並列に前記ラインに接続された入力端子を有する反転器と；
Ｍｕｌｌｅｒ  Ｃ要素であって、
前記バッファからのラインの信号を受信するための入力端子と；
前記反転器からのラインの信号を受信するための入力端子と；
前記反転器からのラインに対応する前記入力端子の反転器と；
出力端末と；
を具えるＭｕｌｌｅｒ  Ｃ要素と；
を具えることを特徴とする回路。
【発明の詳細な説明】
【背景技術】
【０００１】
非同期回路は、多くの場合「クロックレス回路」と称され、又は「セルフタイム」回路が、集積回路といったエレクトロニクス機器を具えるデジタル論理で使用される場合に、非同期回路に対して多くの利点を提供する。非同期回路の顕著な利点は、同期回路設計方法を用いて実施される同じ機能と比較して低電力なことである。歴史的に、同期回路の設計は、一部には小さなダイエリア（die area）しか要しない、より簡単により良好に理解される試験性能、及び設計ツールのより広い利用可能性といった要因により、非同期回路の設計よりも広範囲に使用されている。
【０００２】
同期回路は、回路が入力状態に対して評価（及び応答）するための特定の時間を判断する。例えば、同期回路は多くの場合クロック信号を利用して、同期論理ゲートの入力の中へのデータ信号の受け入れ（「クロックイン」）を有効／無効にする。非クロック周期における入力ラインの誤った信号は論理ゲートに認識されず、これにより、ゲートの挙動に対して影響を及ぼさない。
【０００３】
一方、明らかに、クロックレス回路は入力信号に非同期で応答し、特定の状態では、ゲート入力での信号変化に応答する可能性があり、この信号変化は、（例えば、閾値電圧を超える）十分な信号レベル及び（例えば、ゲート入力段階のオン動作時間）時間部分である。このため、クロックレス回路への入力信号ラインにおける電圧の瞬時の上昇といったグリッチが、望ましくない挙動の原因となる可能性がある。
【０００４】
クロストーク、供給ノイズ、電磁結合及び電気的な乱れの他の原因は全て、信号伝播遅延のバリエーションの原因となる可能性があり、潜在的に回路の信号グリッチの原因となる可能性がある。グリッチがトランジスタの閾値電圧に等しいか又はそれを超えるのにほぼ十分である場合、グリッチは十分長い時間分継続し、トランジスタを含む論理ゲートが、その内部状態及び論理ゲートへの他の入力信号の値との組み合わせのためにその出力値を変えてしまう可能性がある。自己タイミング論理回路では、このようなグリッチが、誤った状態又は値又は不適切な信号の伝送をもたらす可能性がある。
【０００５】
回路のどの部分に障害が影響を及ぼすかによって、障害が、回路のその部分の瞬間的な状態、及び回路のその部分に生じる次の適切なアクションを様々な方法で明らかにし得る。例えば、Muller C要素の入力へのハイの状態のグリッチは、この要素が上流のMuller C要素の論理信号を予想する場合に、この要素が有効な論理ＨＩ入力信号としてグリッチを判断する可能性があり、要素がその出力状態を変える原因となり、これにより、そうすべきではない時にＨＩ論理出力を伝送してしまう。別の例では、ＲＴＺ（「ゼロ復帰」）論理設計の複数の並列のMuller C要素が、Muller C要素を制御する信号ラインのロー状況のグリッチによって、「待機」状態から不適切に解放される可能性がある。
【０００６】
いくつかの障害が、システムを通って障害の孤立点まで伝播する可能性がある。このような例は、コード符号が変更され又は間違った値として受信される原因となり、又はさらなるコード符号が注入される原因となる。注入される信号は、意図する符号に先立って受信され、意図する符号の代わりに使用され、真のコード符号を押しやり、その後で応答確認を行う。
【０００７】
伝播する障害は、障害の結果としてコード符号が変更又は注入され孤立点に伝播する場合には、障害を引き起こす場合に誤った情報の受信をもたらすであろう。
【０００８】
伝播する障害がオンチップネットワーク（「NoC」）パケットのメッセージヘッダのフィールドに影響を及ぼす場合に、それはパケット又はメッセージに対して誤った経路処理をもたらす可能性がある。例として、間違った受信器にルーティングされるパケット、切断されるパケット、あるいはパケットマーカの最後の部分によって連結した認識されないよう改変された複数のパケットである。
【０００９】
あるケースでは、障害が入力又はセルフタイムの通信プロトコルを扱うことに関する状態マシンへの状態保持素子を混乱させる。これにより、スイッチングが間違った状態になり、状態マシンが最早その隣接部と正しく通信することができなくなるため、不適切な動作の原因となり又はプロトコルがデッドロックする原因となる。
【００１０】
必要とされるのは、グリッチがクロックレス回路で論理障害を引き起こすのを防止するための手段である。
【発明の概要】
【００１１】
本発明は、
ａ．グリッチフィルタ；
ｂ．同調可能なグリッチフィルタ；
ｃ．信号ロッキング；
ｄ．完全なコード符号の検証；
ｅ．Muller C要素を有する補完的な信号伝達
を具える自己クロック論理ブロックの強化を改良するための複数の回路を具える。
【００１２】
全て又はいくつかの強化方法が、１つの設計にわたって又は選択した場所のみに採用される。グリッチフィルタは、信号を搬送するラインと並列な論理要素を終端とする遅延ラインを具えることで、狭パルスを除去する。グリッチフィルタのいくつかの実施例が、遅延ラインの遅延時間を同調するための手段を提供する。信号ロックアウトが、論理ブロックの入力が戻されるラッチ出力を提供し、上流の送信ブロックからゼロに戻るまで状態を変えるのを防ぐ。非アクティブの信号ラインであると仮定することを含め、完全なコード符号を検証することによって、追加の障害を防止し得る。差動信号伝達は、共通コードの拒絶を増やすことによってグリッチに対して長いラインを強固にするための新たな方法のために、信号ライン及びMuller Cゲートの相補対を使用する。
【図面の簡単な説明】
【００１３】
【図１】図１は、従来技術のMuller C論理ゲートの標準的な符号である。
【図２】図２は、従来技術のMuller C要素の回路図を示す。
【図３】図３は、従来技術のMuller C要素の代替的な実施例を示す。
【図４】図４は、従来技術のデータを送信するための自己クロック回路の一例である。
【図５】図５は、図４の信号とそれらのエッジの遷移との関係を示す。
【図６】図６は、図５及び図４に対応する遷移信号のグラフである。
【図７】図７は、従来技術のグリッチフィルタである。
【図８】図８は、従来技術のグリッチフィルタである。
【図９】図９は、本発明に係るMuller Cゲートを用いたグリッチフィルタである。
【図１０】図１０は、本発明に係る同調可能なグリッチフィルタである。
【図１１】図１１は、例えば、図４の論理ブロックの中のグリッチフィルタの一例である。
【図１２】図１２は、ハイ信号を評価することによって適切なコード符号を検出するための回路を示す。
【図１３】図１３は、全ての信号端子を評価することによって適切なコード符号を検出するための回路を示す。
【図１４】図１４は、アイドル状態が出力されるまで論理ブロックへの入力をロックアウトするための回路である。
【図１５】図１５は、Muller C要素を用いた差動信号の伝達方法を示す。
【発明を実施するための形態】
【００１４】
用語の定義
2011511484.tif 000002
【００１５】
符号１００及び当技術分野で既知の「Mullar C」要素の論理式を図１に示す。時として、「Mullar C」要素を交互に「Ｃ−ｃｅｌｌ」又は「Ｃ要素」と称することとする。図２は、Mullar C要素２００の典型的な実施例を示す。回路図を調べると、各入力端子の入力信号Ａ及びＢが、論理式
［１］      Ｑ＝Ａ・Ｂ＋Ｑ・（Ａ＋Ｂ）
についてライン２０６の出力信号Ｑの状態に変化させる。
【００１６】
式［１］を、信号Ａ及びＢ双方が同じ状態に変わらない限り出力信号Ｑが状態を変えないという命令によって、言葉で説明できる。ライン２０６の信号Ｑは、ライン２０８の積層ＦＥＴ２１７の出力に対応し、反転器２０２によってバッファーリングされ反転する。信号Ａ及びＢが変化するときに（しかしながら信号Ｑが変化しないように）ライン２０６の信号Ｑの出力状態を保存するために、弱いフィードバック反転器２０４が反転器２０２の向こうに接続されている。また、フィードバック反転器２０４は、ライン２０６のグリッチを軽減又は除去することができる。当業者は、ライン２０６の信号Ｑの状態を保存するための他の回路を知っているであろう。
【００１７】
ＦＥＴ積層２１７は、式［１］の項Ａ・Ｂを実施する。例えば、Ａ＝Ｂ＝１である場合、ＦＥＴ２１０及び２１２がオフになり、ＦＥＴ２１４及び２１６がオンになるため、反転器２０２への入力端子がライン２０８の接地信号に接続されて引き下げられ、ライン２０８のＦＥＴ積層４１７の出力が弱いフィードバック反転器２０４よりも強い場合に、反転器２０２の出力がハイとなる。同様に、Ａ＝Ｂ＝０である場合、ＦＥＴ２１０及び２１２がオンになり、ＦＥＴ２１４及び２１６がオフになるため、反転器２０２への入力端子がライン２０８の高電圧信号に接続されてハイになり、この場合はライン２０８のＦＥＴ積層２１７の出力が弱いフィードバック反転器２０４よりも強い場合には、反転器２０２の出力がローになる。このように、Ａ＝Ｂ＝１の状態がセル２００のＳＥＴに対応し、Ａ＝Ｂ＝０の状態がセル２００のＲＥＳＥＴに対応する。他の状態はセル２００に変化を引き起こさない。例えば、Ａ＝１及びＢ＝０の場合、ＦＥＴ積層２１７の出力がフロートし、弱いフィードバック反転器２０４がライン２０８の入力信号を変えないようにするため、反転器２０２の出力（及びＱ）は変わらない。このような状態、すなわち、信号Ａ及びＢが異なる場合に信号Ｑを保存することは、式［１］の項Ｑ・（Ａ＋Ｂ）を実施することである。
【００１８】
図３は、Mullar C要素３００の別の実施例である。Mullar C要素３００は、図２のMullar C要素２００と論理的に等価であることに留意されたい。セル３００の挙動が表１によって記載されている。表の項目は入力信号Ａ及びＢに対応し、続いて図３の参照番号に対応する論理ゲートの出力が示されている。「Ｑ’」はゲートの出力を確定できないこと；すなわち、前の出力信号から変化しないことを示す。
2011511484.tif 000003
【００１９】
そして、図２及び図３のMullar C要素は、信号Ａ及びＢが等しくなるときにはいつでも信号Ａ及びＢの状態に応答して出力信号Ｑの状態を変えるものと見なすことができる。それが発生する時間は問題ではない。すなわち、応答する出力信号Ｑのために特定の時間に信号Ａ＝Ｂをセル入力に与えなくてもよい。このため、いくらかの入力時間を有する様々なバージョンのセルフタイマのセルを使用することによって、及び別のセルフタイマ要素への入力信号としてセルの出力信号Ｑを与えることによって、各構成要素がその入力が有効になるまで状態を変えないため、所定のタイミングクロック信号から独立した所定の状態の入力に対する正しい出力状態を推定する論理ブロックを設計できる。
【００２０】
グリッチにより、回路に対して有効又は無効の入力をもたらす可能性がある。中間ポイントでチェックを実行することもできるが、例えば、ソフトウェア又はロジックによって、データ符号を最後に使用するポイントにおいて、データの検証を実行し得る。このため、適切な設計により、グリッチによって引き起こされる無効状態は、システムの性能を低下させるがシステムに対して致命的なものではない。無効状態は、その特性のため、検出するのが容易ではない。グリッチによりゲートが意図しない有効な入力状態を受け入れる状態は、検出することがより難しい。このため、有効な符号をもたらすグリッチにより耐え得るよう設計を強固にするのが重要である。このような状況を理解するために、適切に動作する；すなわち、エラーの無い自己クロックの論理的設計の動作を試験する。
【００２１】
当技術分野において多くの自己クロック設計トポロジーが存在する。具体例を挙げることを目的として、ゼロ復帰（ＲＴＺ）データ通信プロトコルを使用する「1 of n」又は「one hot」回路設計を論じる。図４は、このような回路の一例を示す。動作を説明するために、１つのゲートの動作を詳細に試験する。図４は、３つのMullar Cベースの回路要素を具えている。送信器４０２が受信器４０４にデータを送信する。必須ではないが、図示する例では、パイプライン中継器４０６が、送信器から受信したデータを受信器に向けて下流側に単に反復する。表２は、パイプライン中継器４０６の状態表であり、ＲＴＺ符号プロトコルがかけられていて、１つのハイ信号が唯一の有効な入力である。入力番号は、ゲート４０４への入力ラインの信号に関する。
2011511484.tif 000004
【００２２】
４０２．ｎから４０４．ｎまでの３つのデータラインを具えるデータ経路の下流へのデータ伝送を、データのリップル（ripple）として考えることができる。データパケットがゲートの入力側から出力側に通過すると、ゲートがその隣の最も上流の回路へのＡＣＫ信号との動作を認識し、上流側の回路が次のデータパケットを出力できる。
【００２３】
図５は、図４のパイプライン中継器４０６のゲートに関する論理シーケンスを示す。図６は、パイプライン中継器に関する立ち上がり及び立ち下がり信号エッジの相互作用の遷移図を示す。図５の信号番号は、図４に示す回路の信号ラインに対応する。括弧の文字は図６の遷移図の同じ文字に対応する。文字の後の＋は信号が立ち上がっていることを表し、文字の後の−は信号が立ち下がっていることを表す。
【００２４】
ここの例では、送信器４０２から中継器４０６を通して受信器４０４に符号「００１」を送信すると考える（ライン４０２．０が、データワードのＬＳＢであると仮定する）。各Mullar C要素４２０、４２２、４２４へのハイ入力を仮定すると、ライン４１３の信号はハイである。上述のようにMullar C要素は、双方の入力が同じ値になるまでその出力を変えない。図示する例ではＲＴＺプロトコルが実施されることで、ライン４１３のハイが、適合するハイレベルの信号を送信器４０２から受信するよう待機している要素４２０、４２２及び４２４を有効にする。表２によって、ゲート４０６はアイドル状態にある。データワード｛００１｝が送信器４０２によって送信されるとき、ライン４０６．０の信号が（Ａ＋）に立ち上がる。ライン４１３の信号がハイであるため、データワード｛００１｝は、伝搬遅延の後にライン４０４．０、４０４．１、４０４．２（Ｂ＋）の中継器４０６の出力に向けて通過する。ライン４０４．０の信号の立ち上がりエッジは、ライン４２８（Ｅ＋）のＯＲゲート４１８の出力をハイにする。ライン４２８の信号が送信器４０２の反転器４１０に戻されることで、中継器４０６によってデータワードが伝えられる送信器４０２に（上流の）ＡＣＫ信号を出力する。
【００２５】
（反転器４１４の出力もハイであったため、）ライン４０４．０（Ｂ＋）のハイ信号は、隣のMullar C要素４２６を通って通過することで、ライン４１９のＯＲゲート４３８出力信号を（Ｃ＋）に駆動し、この信号が反転器４１２によって反転し、ゲート４０４からゲート４０６（Ｄ−）に（下流の）ＡＣＫを出力する。上流のＡＣＫ（ライン４２８の信号）は、ゲート４０２のMullar C要素にロー入力を出力することで、受信器４０４でデータを受信したことを送信器４０２に知らせ、ゲート４０２のMullar C要素がロー入力にするよう準備し、プロトコルのＲＴＺ要求を完了する。そして、送信器４０２がデータワード｛０００｝をライン４０６．０、４０６．１、及び４０６．２（Ａ−）の中継器４０６に出力するときに、ライン４１３の信号が前にローだったためにライン４０４．０の出力がロー（Ｂ−）になることで、Mullar C要素４２０への双方の入力をローにする。ライン４０４．０のロー信号はＯＲ４１８をロー（Ｅ−）にすることで、ライン４４０への信号をハイにするため、ゲート４０２が別のデータワードの準備をする。同様に、Mullar C要素４２６のデータ出力が、ライン４１９のＯＲゲート４３８（Ｃ−）の出力が行うように、ローにする。ライン４１９のロー信号とともに、中継器４０６が別のデータワードを受信するよう構成される時点で、ライン４１３の信号が反転器４１２（Ｄ＋）によってハイになる。図５に示すタイミング信号は特定のスケールではないが、信号エッジの相対的な位置を示す。
【００２６】
さらに図４を見ると、適切な動作（すなわち、グリッチなし）の間に、ゲート４０６への有効なハイ入力により、ゲート４０６出力がゲート４０４に対応する符号を与える。ＯＲゲート４１８は、ライン４０４．０、４０４．１、及び４０４．２から信号を受信する。ＯＲ４１８ゲートの出力は、反転器４１０に与えられる。反転器４１０出力は、ゲート４０６からゲート４０２に確認（「ＡＣＫ」）信号を与える。例えば、４０２．０＝１、４０２．１＝４０２．２＝０を考慮すると、このようなデータがゲート４０２によってゲート４０６に前に出力されている。ＯＲゲート４１８は、ライン４０６．０のゲート４０６のハイ出力によってハイになる一方、ライン４１３の反転器４１２の出力がローになる。ＯＲゲート４１８のハイ出力が、ゲート４０２の反転器４１０に出力されることで、ゲート４０２に確認（「ＡＣＫ」）を出力し、ゲート４０２からの符号がゲート４０４に伝えられるというゲート４０６による表示を与える。送信器のゲート４０２の各Mullar C要素は、上述の２入力Mullar C要素に対応し、表１及び式［１］によれば、（ライン４０６．０の信号に対応する）出力Ｑは、（ＲＴＺ要求を実行して）今度はゼロに戻る。そして、データが送信器及び受信器の間の任意のゲートを具えたバスに沿って送信器から受信器に向けて通り、各段階において段階の出力がＡＣＫを前段階に戻るよう出力する一方で、（もしあれば）次の段階にデータを通す。
【００２７】
上述の議論が示すように、特定の時間及び（回路の）場所における特定の極性及び出力のグリッチによりクロックレスの回路となり、適切な（意図する）段階変化と同じようは方法で振る舞う可能性がある。表３は、グリッチに起因する自己クロック回路のいくつかのエラーを挙げている。当然ながら、表３に挙げられた可能性のある問題は他の状態によって決まる。
【００２８】
2011511484.tif 000005
【００２９】
本発明は回路設計を具えており、セルフタイムの回路がグリッチの影響に対して強固になっている。ここで与えられる技術は、一般に、互いに独立し補完している。性能の低下及び／又は停止領域の増加につながるが、それらを全て一緒に使用できる。
【００３０】
パルスがＣＭＯＳ論理ゲートを通過するとパルスが減衰し（幅が狭くなり）、これにより同調可能な遅延ラインを用いてグリッチを除去可能である。遅延ラインは、入力線とＣ要素の追加の入力ポートとの間に置かれた場合に、ラッチされるレベル維持の変化を単に与える。遅延ラインの同調可能な特性により、グリッチフィルタの感度の設定が可能となる。グリッチフィルタリングのこのような技術を、フォワードパス、リターンパス及び状態マシンの内部動作を含むシステムの信号に適用でき、より複雑なｍ−ｏｆ−ｎコードに適用できる。
【００３１】
図７、図８及び図９は、遅延ラインのグリッチフィルタの３つの例を示す。図７は、ＡＮＤゲート７１２への入力リード７１０に対して並列な４つの反転器７０２、７０４、７０６、及び７０８を具えるグリッチフィルタ７００を示す。遅延ライングリッチフィルタの反転器の数は、グリッチパルス信号の極性を維持するために偶数であることに留意されたい。フィルタ７００は、ハイ状態のグリッチのみに対する耐性を改善する。図８は、同じようなグリッチフィルタ８００を示しており、ＡＮＤゲート７１２がＯＲゲート８１２に置き換わることで、ロー状態のグリッチのみに対する耐性を与える。
【００３２】
一実施例では、フィルタ７００及び８００が回路の中の場所で使用され、主にハイ状態及びロー状態のグリッチがそれぞれ予測され、又はハイ状態及びロー状態双方のグリッチが予測されるが、一方の極性の影響は他方よりも問題を含んでいる。一方のパルス極性のみに対して保護する利点は、双方の極性に対するフィルタ効果と比較して実装面積（ダイエリア）が小さくこのようなフィルタによる性能に対する悪影響が少ないことである。
【００３３】
図９は、双方の極性の特定のパルス幅を下回るグリッチを減らすのに効果的なグリッチフィルタ９００を示す。（偶数の）一連の反転器（９０２、９０４、９０６、９０８）が、Mullar C要素９１２への信号リード９１０に対して並列になっている。上述のように（表１参照）、Mullar C要素は、双方の入力信号が同じ論理値にならない限りその出力を変えない。これは、Ａ＝Ｂ＝０及びＡ＝Ｂ＝１の双方に当てはまる（「Ａ」は最後の反転器９０８の出力に相当し；「Ｂ」はリード９１０の信号の値に相当する）。このため、フィルタ９００は立ち上がり及び立ち下がりパルス双方をフィルタリングするのに効果的である。
【００３４】
一実施例では、フィルタ７００、８００、及び９００といった遅延ライングリッチフィルタが、一連の反転器のうちのいくつかの（偶数の）一連の反転器を短絡させるための構造を追加することによって、同調可能に作製される。図１０は、選択可能なパルス幅フィルタ同調を具えたフィルタ９００と同じようなフィルタを示す。ライン１０１６の信号ＴＵＮＥが、パストランジスタ１０１４をオン作動させることで、８に対して４に一連の反転器の数を減らす。当業者は、遅延ラインを同調させるための多くの代替的な方法を知っているであろう。本発明のある実施例では、同調がロジック又はファームウェアによって判断され、特定のレートのデータ送信障害が、より長い又はより短い遅延時間が望ましいと判断する。例えば一実施例では、符号がローパワーモードに入っている場合に遅延時間が増加し、データレートがより低いと予想することで、有効信号のパルス幅がより広くなる。ある実施例では、集中モニタが数及び障害の規則性を追跡し、より適合するグリッチフィルタリング方法を与えて高性能を実現する。各トランスポート層の構成要素についての同調可能な遅延ラインが高性能のために最初に同調され、特定のルートで定期的に障害が発見された場合にこれらの構成要素のみについての遅延が増加する。
【００３５】
図１１は、図４のパイプライン中継器４０６の周囲に採用されるグリッチフィルタの実施例である。遅延ライン１１４１、１１４２、及び１１４３が、データワード信号ラインに対して並列に加えられる。遅延ライン１１４４が、追加のMullar C要素１１２２に加えられる。遅延ライン１１４１、１１４２、及び１１４３は、Mullar C要素（それぞれ１１２０、１１２２，１１２４）への追加の入力に接続されており、遅延ラインフィルタの部分として（図９の要素９１と同じような）Mullar C要素を必要としないことに留意されたい。すなわち、Mullar C要素１１２０、１１２２、１１２４は、ここでは３入力Mullar C要素であり、Ｃ要素の応答の前に同じ値の３入力信号を全て必要とする。例えば、遅延ライン１１４１の遅延時間が少なくともグリッチのパルス幅と同じくらい長い場合には、ライン１１０６．０のグリッチが除去されて無視される。
【００３６】
グリッチフィルタは、一般的に使用しなくてもよい。例えば、本発明のある実施例では、非グリッチフィルタのハードウェアブロックが、その入力がフォワードパスグリッチフィルタによってラップされ、その出力がリターンパスグリッチフィルタによってラッピングされている。このようなハードウェアブロックのラッピングを、内部接続が短絡しておりグリッチの影響を受けにくいと仮定する場合に使用できる。ハードウェアブロックの内部がグリッチの影響を受けやすい場合、標的とする線毎に、同じような方法を内部の線に適用できる。
【００３７】
本発明の一実施例では、不適切な／間違った符号を引き起こす瞬時のグリッチの可能性をさらに減らすために、監視されラッチされる有効な符号のために、より多くの線をレベルシフトに要する。例えば、３−ｏｆ−６構成は、２つの（３−１）信号を要して、グリッチの機会の前又はグリッチの時にレベルを変える。
【００３８】
従来技術では、セルフタイムの回路が、障害が無いであろうという仮定によって設計される。通常は、アイドル／ロー状態が仮定され（例えば、ＲＴＺ）、アクティブ／ハイ状態が明確に検出される。例えば、図４に示す回路では、非アクティブの入力がローであるため、完了の検出がＯＲゲート（４１６、４１８、４３８）によって実行される。同様に、ｍ−ｏｆ−ｎ回路については、（ｎ−ｍ）信号が非アクティブであると仮定すれば、「ｍ」アクティブ信号を検出するのが有用である。換言すれば、論理「don't care」状態が非アクティブと仮定される信号に適用される。図１２は、２−ｏｆ−３回路の完了コードの検出の一例である。ＡＮＤゲート１２０２、１２０４、１２０６が、３つの全て可能な有効な符号：ＡＣ、ＡＢ、及びＢＣを検出する。このような方法のある実施例は、このような設計のＡＮＤゲートの代わりにＣ要素を使用して、物理的な実装を作製する配置エンジニアが満足するのに要するタイミングの制約の数を最小限にする。図１２（及び図１３）で、符号Ａ、Ｂ、ＣはMullar C要素の出力ラインの論理レベルに関することに留意されたい。しかしながらこのような構成は、不適切なデータワード｛１１１｝、すなわち、Ａ＝Ｂ＝Ｃ＝１を検出しないであろう。ＯＲゲート１２０８は、このような不適切な符号が適切な符号となるように、ライン１２１０のハイ信号を駆動する。本発明の一実施例では、適切なデータワード／符号を検証するための全ての条件が予測される。フル（full）のコード符号の検出が、非アクティブの信号が３つの信号ラインの正確なパターンを探す検出器に含まれる点で、より多くのダイエリア（die area）を要するが、検出される３−ｏｆ−３パターンを引き起こすためグリッチを検出できる。例えば、図１３を視ると、３つの３入力ＡＮＤゲートを使用し、２つのハイ信号及び１つのロー信号の全ての組み合わせ（すなわち、２−ｏｆ−３回路）が評価され、ＯＲゲート１３０８のみが適切なコード符号に応答する。一実施例では、ゲート１２０２、１２０４、及び１２０６にＣ要素を用いることによって、さらなる強化が得られる。強化の増大はMullar Cによるものであり、入力ラインのＲＴＺの完了に対してＡＣＫ信号のみが除去される。
【００３９】
２−ｏｆ−３コードと比較して「ｍ」が大きな数である３−ｏｆ−６コードといった「ｍ−ｏｆ−ｎ」コードは、より高いデータレートを与える。すなわち、それらは、できる限り少ない線を通して遅延に敏感でない方法で所定の数のビットを送信するための小さな数よりもより効果的である。これは、通常望ましい特性であるが、グリッチ強化の理由のために、ある実施例では、効果がわずかに低いコードを使用して、電力（エネルギ）をやりとりする方法及びロバスト性のための領域を適用し得る。本発明の一実施例は、「ｍ−ｏｆ−ｎ」符号化で「ｍ」アクティブ信号を有する代わりに、（ｎ−ｍ）アクティブ信号、すなわち、ｍ−ｏｆ−ｎ方式と同じ置換数及び容量を伝えるための同じ情報及び同じ数の線を有する「（ｎ−ｍ）−ｏｆ−ｍ」符号化を有する。
【００４０】
本発明の別の実施例では、自己クロック論理ブロックが、問題を引き起こすグリッチの機会を狭くすることによって、グリッチ強化されている。これは、出力においてデータ出力完了をもたらす下流のラッチを通って伝播する記憶値を用いることによって実現され、ＡＣＫのアサーションを引き起こし、ひいてはグリッチによって攻撃されることから元のラッチを無効にする。このような方法を図１２及び図１３に示しており；図１４を参照してさらに議論する。
【００４１】
ライン１４１０のハイ信号がＣセル１４０２の出力に伝播する入力ワード｛０１０｝を考えることで、ＯＲゲート１４０４をハイにして、ブロックによるデータワードの受信を知らせる。ライン１４０６のハイＯＲゲート１４０４信号は反転器１４０８に出力される。反転器１４０８のロー出力が入力Ｃセルに出力されることで、入力Ｃセルをさらなる状態変化からロックアウトする。Ｃセルへの入力がＲＴＺを完了する場合に、ライン１４１２の下流のＡＣＫ信号が受信されると仮定すると、ＯＲ１４０４が行うように、全ての出力がローになることでロックアウト状態を解放する。その時まで、反転器１４０８からのロー出力により入力グリッチがブロックの出力の変化の原因となるのを防ぐ。
【００４２】
ラッチの構成を改良して明確なロックアウト性能の可能性を与えることによって、そして、パイプラインのラッチの中のローカルの完了検出器を使用してこれを活用することによって、ラッチを改善し得る。そのようにすることで、最初から最後までのロバスト性を改善する。
【００４３】
ラッチの記憶データ及びロックアウトハザード−ロックアウト間の遅延を減らすことは、ローカルの完了検出器及び反転器を通して正に伝播を要する非常に素早いものである。
【００４４】
ラッチの出力のデータ線のハザードは、ラッチの中の完了検出器を通して還流する可能性があり、上流の送信器への肯定応答線の誤った（アドバンス）伝送の原因となる。このような状況は、新たなデータがそのラッチに入るのを送信器が阻止する原因となろう。１−ｏｆ−ｎ符号化では、（又はグリッチがＡＣＫに何らかの符号化とともに発生する場合には）、このような状況は単に一時的なものであるが、完了検出器が状態を保持する素子（例えば、Ｃ素子又はＳＲラッチ）を有するｍ−ｏｆ−ｎ符号化では、それは完了検出器がさらなる動作をブロックする恒久的なロックアウトとなる。さらなる非対称のＣ要素又はラッチを挿入し、出力完了と下流肯定応答間の差に基づいて肯定応答線をロックアウトすることによって、各ラッチの感度を減らして期限が来る前に発生するＡＣＫ事象を除去することによって、このような状況を防止し得る。図１２に示す例では、Muller C要素１２０８が、完了検出ＯＲゲート１２１２からのライン１２１０での完了信号を受信するための追加入力を有している。
【００４５】
図１５は、本発明の別の実施例を示しており、補完的な信号伝達とともにMuller C要素を使用してグリッチを引き起こすエラーに対する耐性を改善する。このような方法を一般に使用できるが、通常はＡＣＫ信号を搬送するデータラインといったロングランのデータラインのために使用される。図１５を視ると、ライン１５０４の完了検出ＯＲゲート１５０２出力信号が、バッファ１５０６及び反転器１５０８に対して並列に出力される。ライン１５１２及び１５１４はMuller C要素１５１０に補完信号を搬送し、素子１５１０への２つの入力のうち一方が反転器を有する。ライン１５１６の素子１５１０の出力は、ライン１５０４のＯＲゲート１５０２からの出力を返す。２−ｏｆ−３プロトコルが最小になることで、最も安価になり、ｍ−ｏｆ−ｎコードは上述の全ての障害強化方法をともに適用し得る。当然ながら、本開示で与えられたこのような方法を、程度の差はあるが自己クロック設計方法論を採用する任意のコードプロトコルと組み合わせることができる。
【図１】
2011511484.tif 000006
【図２】
2011511484.tif 000007
【図３】
2011511484.tif 000008
【図４】
2011511484.tif 000009
【図５】
2011511484.tif 000010
【図６】
2011511484.tif 000011
【図７】
2011511484.tif 000012
【図８】
2011511484.tif 000013
【図９】
2011511484.tif 000014
【図１０】
2011511484.tif 000015
【図１１】
2011511484.tif 000016
【図１２】
2011511484.tif 000017
【図１３】
2011511484.tif 000018
【図１４】
2011511484.tif 000019
【図１５】
2011511484.tif 000020
【国際調査報告】
2011511484.tif 000021
2011511484.tif 000022
2011511484.tif 000023
2011511484.tif 000024