(57)【要約】本発明の一実施形態は、回路内の非同期データの転送を制御するシステムを提供する。本システムは、回路の第１のステージがデータを含むかどうかを特定する、第１のコンダクタ上の第１の電圧レベルをモニタすることによって動作する。本システムはまた、回路の第２のステージがデータを含むかどうかを特定する、第２のコンダクタ上の第２の電圧レベルをモニタする。第１の電圧レベルは、第１のステージが第２のステージに転送されるデータを含むことを示すこと、および第２の電圧レベルは、第２のステージがデータを含まないことを示すことを検出することにおいて、それにより、第１のステージからのデータを受信することができ、本システムは、第１のステージから第２のステージにデータを転送する。【選択図】図５
2004512712.tif 000002
【特許請求の範囲】
【請求項１】
回路内の非同期データの転送を制御する方法であって、該方法は、
該回路の第１のステージがデータを含むかどうかを特定する、第１のコンダクタ上の第１の電圧レベルをモニタする工程と、
該回路の第２のステージがデータを含むかどうかを特定する、第２のコンダクタ上の第２の電圧レベルをモニタする工程と、
該第１の電圧レベルが、該第１のステージが該第２のステージに転送されるデータを含むことを示し、該第２の電圧レベルが、該第２のステージがデータを含まないことを示すことを検出し、それにより、該第１のステージからのデータを受信することができる場合に、該第１のステージから該第２のステージへ該データを転送する工程であって、該転送する工程は、
該第１のステージから該第２のステージにデータをラッチするように第２のステージラッチの信号を発生する工程と、
該第１のステージがもはやデータを含まないことを示すように該第１の電圧レベルを変化する工程と、
該第２のステージがデータを含むことを示すように該第２の電圧レベルを変化する工程と
による、該データを転送する工程と
を包含する方法
【請求項２】
前記第２のコンダクタ上の前記第２の電圧レベルをモニタする工程と、
前記回路の第３のステージがデータを含むかどうかを特定する、第３のコンダクタ上の第３の電圧レベルをモニタする工程と、
該第２の電圧レベルが、該第２のステージが該第３のステージに転送されるデータを含むことを示し、該第３の電圧レベルが、該第３のステージがデータを含まないことを示すことを検出し、それにより、該第２のステージからのデータを受信することができる場合に該第２のステージから該第３のステージへ該データを転送する工程であって、該工程は、
該第２のステージから該第３のステージにデータをラッチするように第３のステージラッチの信号を発生する工程と、
該第２のステージがもはやデータを含まないことを示すように該第２の電圧レベルを変化する工程と、
該第３のステージがデータを含むことを示すように該第３の電圧レベルを変化する工程と
による、該転送する工程と
をさらに包含する、請求項１に記載の方法。
【請求項３】
前記第２のコンダクタの第１の端部は、第２のステージコントローラに接続され、
該第２のコンダクタの第２の端部は第３のステージコントローラに接続され、
該第２のステージコントローラは、前記第２のステージがデータを含むことを示す前記第２の電圧レベルを変化させるように該第２のコンダクタの該第１の端部を駆動し、
該第３のステージコントローラは、該第２のステージがもはやデータを含まないことを示す該第２の電圧レベルを変化させるように該第２のコンダクタの該第２の端部を駆動する、請求項２に記載の方法。
【請求項４】
前記第２の電圧レベルが、前記第２のステージコントローラまたは前記第３のステージコントローラによって変化しない場合、該第２のコンダクタ上で定常値に該第２の電圧レベルを維持するようにキーパ回路を使用する工程をさらに含む、請求項３に記載の方法。
【請求項５】
前記第２のステージラッチ信号を発生する工程は、前記第１のステージから前記第２のステージにデータをラッチするようにパルスを発生する工程を含む、請求項１に記載の方法。
【請求項６】
前記第２のステージがデータを含むことを示す前記第２の第２の電圧レベルを変化する工程は、
駆動トランジスタとともに前記第２のコンダクタを駆動する工程と、
論理的反転のサイクルを使用して、固定された時間周期の後、該駆動トランジスタを遮断する工程と
を含む、請求項１に記載の方法。
【請求項７】
前記論理的反転のサイクルは３回の反転を含む、請求項６に記載の方法。
【請求項８】
前記論理的反転のサイクルは５回の反転を含む、請求項６に記載の方法。
【請求項９】
前記論理的反転のサイクルは奇数回の反転を含む、請求項６に記載の方法。
【請求項１０】
回路内の非同期データ転送を制御する装置であって、該装置は、
該回路の第１のステージがデータを含むかどうかを特定する第１の電圧を伝達する第１のコンダクタと、
該回路の第２のステージがデータを含むかどうかを特定する第２の電圧を伝達する第２のコンダクタと、
該第１のコンダクタと該第２のコンダクタとに接続された第２のステージコントローラと
を含み、
該第１の電圧が、該第１のステージが該第２のステージに転送されるデータを含むことを示し、該第２の電圧が、該第２のステージがデータを含まないことを示すことを検出し、それにより、該第１のステージからのデータを受信することができる場合に該第２のステージコントローラは、
該第１のステージから該第２のステージにデータをラッチするように第２のステージラッチの信号を生成し、
該第１のステージがもはやデータを含まないことを示すように該第１のコンダクタ上の該第１の電圧を駆動し、
該第２のステージがデータを含むことを示すように該第２のコンダクタ上の該第２の電圧を駆動するように構成される、装置。
【請求項１１】
前記回路の第３のステージがデータを含むかどうかを特定する第３の電圧を伝達する第３のコンダクタと、
前記第２のコンダクタと該第３のコンダクタとに接続された第３のステージコントローラと
をさらに含み、
該第２の電圧が、前記第２のステージが該第３のステージに転送されるようにデータ含むことを示し、該第３の電圧が、該第３のステージがデータを含まないことを示すこととを検出し、それにより、該第２のステージからのデータを受信することができる場合に、該第３のステージコントローラは、
該第２のステージから該第３のステージにデータをラッチするように第３のステージラッチ信号を発生し、
該第２のステージがもはやデータを含まないことを示すように該第２のコンダクタ上の該第２の電圧を駆動し、
該第３のステージがデータを含むことを示すように該第３のコンダクタ上の該第３の電圧を駆動するように構成される、請求項１０に記載の装置。
【請求項１２】
前記第２の電圧が前記第２のステージコントローラまたは前記第３のステージコントローラによって変化されない限り、該第２の電圧を定常値に維持する前記第２のコンダクタに接続されたキーパー回路をさらに含む、請求項１１に記載の装置。
【請求項１３】
前記第２のステージにデータをラッチするパルスを発生する、前記第２のステージコントローラ内にパルス発生回路をさらに含む、請求項１０に記載の装置。
【請求項１４】
前記第２のステージがデータを含むことを示すように、前記第２のコンダクタ上で前記第２の電圧を駆動するように構成される前記第２のステージコントローラ内の駆動トランジスタと、
固定された時間周期後に該駆動トランジスタを遮断するように構成される、該駆動トランジスタに接続された論理的反転のサイクルと
をさらに含む、請求項１０に記載の装置。
【請求項１５】
前記論理的反転のサイクルは３回の反転を含む、請求項１４に記載の装置。
【請求項１６】
前記論理的反転のサイクルは５回の反転を含む、請求項１４に記載の装置。
【請求項１７】
前記論理的反転のサイクルは奇数回の反転を含む、請求項１４に記載の装置。
【請求項１８】
前記駆動トランジスタは、一連の駆動トランジスタのスタックを含む、請求項１４に記載の装置。
【請求項１９】
前記第２のステージコントローラは、
前記回路の前記第２のステージに対するデータをラッチする出力を含むＮＡＮＤ−ゲートと、
前記第１のコンダクタに接続された入力と該ＮＡＮＤ−ゲートの第１の入力に接続された出力とを含む、第１の変換器と、
高電圧に接続されたソース、該ＮＡＮＤ−ゲートの出力に接続されたゲート、および該第１のコンダクタに接続されたドレインを含む、Ｐ型トランジスタと、
該ＮＡＮＤ−ゲートの出力に接続された入力を含む、第２の変換器と、
該ＮＡＮＤ−ゲートの第２の入力および該第２のコンダクタに接続されたドレイン、該第２の変換器の出力に接続されたゲート、およびアースに接続されたソースを含む、Ｎ型トランジスタと
を含む、請求項１０に記載の装置。
【請求項２０】
前記第２のステージコントローラは、
前記回路の前記第２のステージに対するデータをラッチする出力を含むＮＡＮＤゲートと、
前記第２の変換器に接続された入力と該ＮＡＮＤゲートの第２の入力に接続された出力とを含む第１の変換器と、
高電圧に接続されたソース、該ＮＡＮＤゲートの出力に接続されたゲートおよび前記第２の変換器に接続されたドレインを含むＰ型トランジスタと、
アースに接続されたソースを含む第１のＮ型トランジスタと、
該第１のＮ型トランジスタのドレインに接続されたソース、該第１の変換器の該出力に接続されたゲートおよび該第１の変換器に接続されたドレインを含む第２のＮ型トランジスタと、
該第１の変換器に接続された入力および該第１のＮ型トランジスタのゲート、および該ＮＡＮＤゲートの第１の入力に接続された出力を有する直列の二つの変換器と
を含む、請求項１０に記載の装置。
【発明の詳細な説明】
【０００１】
（背景）
（発明の分野）
本発明は、デジタル回路設計に関する。より詳細には、本発明は、回路内の状態情報を制御する方法および装置に関する。
【０００２】
（関連技術）
有限状態機械は、コンピュータ装置のすべての設計者に良く知られている。それらは、記述するのに容易であり、かつ一般的に実現するのに容易である。このような機械は、多数の「状態」の中の任意の１つの状態をとり得る。実現の多くの場合、有限状態機械の現状態をホールドするために、「状態フリップフロップ」のセットが用いられる。
【０００３】
各状態に対して、この有限状態機械を現状態から、ある他の状態に変化させる条件セットが存在する。各状態で試験される条件は、その状態に特有のものでもあり得るし、他の状態と共有されるものでもあり得る。デバイスの移行先の状態は、現状態、この状態で試験される条件、およびどの条件が真（ＴＲＵＥ）であるかに依存する。
【０００４】
例えば、簡単なアップダウンカウンタは、有限状態機械の１つである。その状態は、アップダウンカウンタがホールドできる、有限数のカウンタ値である。各状態で試験される条件は、「カウントアップ」および「カウントダウン」である。このアップダウンカウンタは、「カウントアップ」の条件になると現状態から次に高いカウンタ値に進み、そしてそれが「カウンタダウン」条件を検出すると次に低いカウンタ値に進む。設計によるが、アップダウンカウンタは、カウントダウンだけを行い得る最も高い状態か、カウントアップだけを行い得る最も低い状態か、または両方の状態を有し得る。
【０００５】
有限状態機械は典型的には、その状態をホールドするために、外部クロック型フリップフロップを用いる。論理素子は、現状態に適合した条件を試験し、各外部クロックパルスが到来すると、次の状態を確立するために、選択的にクロックされたフリップフロップをセットするかまたはクリアする。このような外部クロックされる有限状態機械の設計は、比較的容易である。なぜならば、すべてのフリップフロップは、変化する場合は、同じ外部クロック信号に対する応答としてのみ変化するからである。従って、例えば、バイナリカウンタにおいて、その「キャリ（ｃａｒｒｙ）」が数個のステージを通過し、これらのすべてを「零（ｚｅｒｏ）」の状態に戻す場合に起こるように、例えば、数個のフリップフロップの状態を同時に変化させることは受容可能である。カウンタのフリップフロップが外部からクロックされなかった場合、数個のフリップフロップを変化させるプロセスは、このカウンタに、短時間で、正規のバイナリシーケンス以外の１つ以上の中間状態を取らせ得る。
【０００６】
実際に、バイナリカウンタを含む幾つかの簡単な有限状態機械は、これらのフリップフロップへの外部クロックなしで、たびたび構築される。「リップルカウンタ」と呼ばれるこのようなカウンタにおいて、そのカウント値をホールドする状態フリップフロップは、それぞれ独立に動作する。カウンタの各ビットをホールドするフリップフロップは、その値の半分を表現するビットをホールドするフリップフロップにおける、「１（ｏｎｅ）」から「０（ｚｅｒｏ）」への変化に応じて状態を変える。従って、例えば、６ビットのリップルカウンタが００１１１１から０１００００に変化する場合、順序は正しくないにせよ、これは瞬間的に高速で連続して、００１１１０、００１１００、００１０００、０１００００という状態を取る。たとえ、非常に短い時間間隔であっても、このような偽（ＦＡＬＳＥ）の状態がリップルカウンタのフリップフロップに現われるので、リップルカウンタの応用には注意しなければならないということは、リップルカウンタを熟知する当業者にとって周知である。何らの複雑性を有する有限状態機械において、外部クロック型フリップフロップの簡便性が非常に好まれる。
【０００７】
すべての有限状態機械のある局面は、その機械の許容される状態を、状態を保持するフリップフロップの可能な状態にマッピングすることを含む。このようなマッピングが有限状態機械で用いられる「状態符号化」と呼ばれるのは、これがフリップフロップの可能性のある各状態の意味を定義しているためである。この符号化はさらに、フリップフロップ状態のある組み合わせを、有限状態機械にとって許容されている範囲外であるとして除外し得る。
【０００８】
２つの特に簡単な符号化が存在する。第１に、幾つかの有限状態機械は、「Ｎ個中の１つ（ｏｎｅ−ｏｕｔ−ｏｆ−Ｎ）」符号化を用い、この符号化において、各状態に対しても、１つの状態フリップフロップだけが「セット」される。この符号化は、１つより多い状態フリップフロップがセットされている状態のみならず何の状態フリップフロップもセットされていない状態を除外する。「Ｎ個中の１つ」符号化では、状態の各変化は新しい状態に関連する状態フリップフロップをセットし、かつ古い状態に関連する状態フリップフロップをクリアする。この「Ｎ個中の１つ」符号化は、簡単だが、多数の状態を有する有限状態機械にとっては実用的でない。
【０００９】
第２の簡単な状態符号化はバイナリ状態符号化である。この状態符号化において、各状態は、セットされた状態フリップフロップおよびクリアされた状態フリップフロップのバイナリ組み合わせによって定義される。このバイナリ符号化はすべての組み合わせを許容する。この符号化は、既に述べたバイナリカウンタなどの幾つかの有限状態機械に適合している。しかしながら、これは、幾つかの状態変化が、同時に多くの状態フリップフロップをセットし、かつ同時にその他の多くの状態フリップフロップをクリアすることを必要とし得るという問題を有する。多くの状態フリップフロップを同時に変化させる必要が、幾つかの応用においてバイナリ符号化を不適切にさせる。設計者は、各特定の応用のニーズに適合した符号化を選択するようになっている。
【００１０】
有限状態機械は、各フリップフロップのセットおよびクリア機能を制御するために、複雑な論理素子を用いる。これらの条件は、有限状態機械の状態の「遷移（ｔｒａｎｓｉｔｉｏｎｓ）」を生じさせる。ある特定の遷移を起こさせるために真（ＴＲＵＥ）でなければならない条件の集合は、まず、論理積（ｌｏｇｉｃａｌ　ＡＮＤ）関数によって結合されなければならない。この論理関数の出力は、すべての関連する条件が真の場合に真になる。このような関数は、今にも起こり得る状態遷移を示す。次に、用いられる特定の符号化によっては、数個の状態フリップフロップが、そのような状態遷移のために変化する必要があり、幾つかのフリップフロップはセットされ、別の幾つかのフリップフロップはクリアされ得る。この状態遷移論理は、その出力をすべての状態フリップフロップに伝達しなければならない。最後に、数個の遷移機能が、幾つかの状態フリップフロップにあてはまることがあり得る。このような複数の遷移機能が、外部クロック型状態フリップフロップの入力を駆動するために論理和（ｌｏｇｉｃａｌ　ＯＲ）回路で結合されなければならない。
【００１１】
このような有限状態機械の実現の複雑さにも拘わらず、これらは今日の設計者に熟知されているので、幅広く用いられている。実際に、設計者が所望の挙動を記述する式から要求される論理を開発することを支援するコンピュータ自動設計手法さえ存在する。有限状態機械の設計に、通常、用いられるソフトウエアは、状態をホールドする媒体としての外部クロック型フリップフロップの使用に依存する。
【００１２】
有限状態機械の設計に現在使用されている方法は、長い時間にわたって進化してきた。この方法は、初期には真空管から構築された機械で用いられるため、あるいはさらに早い時期においてはリレーから構築された機械で用いられるために開発された。この方法は、トランジスタ機械の時代の中に首尾良く取り込まれたが、それは、より近代的な技術がより古い技術に類似の方法で用いられる限りにおいてのみであった。このように、例えば、状態をホールドするクロック型フリップフロップの使用は、このようなフリップフロップを実現するために用いられる回路素子および回路の幾つかの変化を経て残った１つの形態である。
【００１３】
しかしながら、現在では、大抵のデジタルコンピューティングデバイスは、相補型金属酸化膜半導体（ＣＭＯＳ）回路を用いている。現在のＣＭＯＳ回路において、論理ゲートのコストよりもむしろワイヤのコストの方が、面積、パワー消費および性能を支配している。現在のＣＭＯＳ回路の殆どすべての領域は、内部接続のワイヤリングによって占有される。すなわち、論理ゲートを形成するトランジスタは、それらの内部接続に必要なワイヤの下に概ね適合する。回路のパワー消費のほとんどは、ワイヤに電荷を付与し、後にこれを取り除く必要性によるものである。回路の性能は、主に、ワイヤの充電および放電にかかる時間によって制限される。
【００１４】
さらに、ＣＭＯＳ回路において、電気的キャパシタンスは、以前はフリップフロップとして形成される論理素子によって提供されなければならなかった状態ホールド機能を提供することができる。実際、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）産業は、情報を記憶するキャパシタンスの使用を高い水準まで磨いた。ＤＲＡＭでは、小さなキャパシタに記憶される電荷が、情報の各ビットを記録する役目を果たす。しかしながら、他のＣＭＯＳ回路では、任意のワイヤ上の電荷もまた、情報を記憶する役目を果たす。
【００１５】
設計者は、「ダイナミック（ｄｙｎａｍｉｃ）」回路を作る際において、ワイヤ上に記憶されたこのような電荷を用いる。ダイナミック回路の動作は、ワイヤ上の電荷による情報保持に依存する。なぜなら、ダイナミック回路はＣＭＯＳにおいて可能であるＣＭＯＳトランジスタの制御入力、すなわち、トランジスタの「ゲート」は、電流よりむしろ電荷で動作するからである。トランジスタのゲートに存在する電荷は、この電荷が徐々に「漏れ尽きる」までの比較的長い間、このトランジスタの挙動を維持し続ける。
【００１６】
（要旨）
本発明は、多様な有限状態機械を基準としてこのような動的電荷格納装置を用いる。複数のトランジスタゲートに接続したＣＭＯＳコンダクタに配置された電荷は、これらのゲートを調整し、比較的長い間その調整を行い続けることに、留意されたい。有限状態機械の状態を状態フリップフロップの集合に格納する代わりに、本発明は、状態を保持するこれらのコンダクタの容量性電荷を用いて、有限状態機械の状態を一セットの状態コンダクタに格納する。
【００１７】
幾何学的に局在化している状態フリップフロップとは異なり、このような状態コンダクタは、広い領域に幾何学的に分散され得る。状態コンダクタは、所望の長さだけ延長され得、必要なだけ角で曲がりまたは分枝し、そして、所望の数だけの構成要素と互いに接続し得る。状態フリップフロップの状態を変化させるためには、遷移論理の出力を状態フリップフロップへ導くことが必要である。状態遷移ワイヤは、状態遷移論理から状態フリップフロップへ接続する。逆に、状態コンダクタの電荷を変化させるためには、状態コンダクタを、その長さに沿った任意の位置から新しい状態にすることのみが必要である。状態コンダクタは、その長さ全体にわたって自動的に新しい状態を伝える。
【００１８】
さらに、ＣＭＯＳ技術において、状態コンダクタは、比較的長い間その電荷状態を保持する。この状態が、無期限に保持される必要があるなら、小さな「キーパ」が、ワイヤに取り付けられ得る。このようなキーパは、ワイヤが既に正の場合、ワイヤを正の最大の状態へ徐々に導き、ワイヤが既に負の場合、ワイヤを負の最大の状態へ除々に導く。キーパは、有限状態機械の動作によって強いられた意図的な状態変化に抵抗不可能であるくらいに十分に弱い。しかし、キーパは、さもなくば少量の漏れ電流およびコンダクタに格納された電荷を妨害し、従って、ワイヤの状態を不適切に変化させる可能性のある電気的な「ノイズ」の影響を十分妨げるくらい強い。
【００１９】
状態を格納するために状態コンダクタの電荷を用いる別の利点は、各トランジスタを用いて、その電荷状態を変化させる能力である。本発明者らは、このようなトランジスタを「駆動トランジスタ」と呼んでいる。ＣＭＯＳ回路で用いられる二種類のトランジスタ（Ｎ−型およびＰ−型）の出力は、異なる方向へ出力される。状態コンダクタの長さに沿った任意の位置に接続された一つ以上のＮ−型駆動トランジスタは、コンダクタを「ＬＯ」状態にさせ、同様に、状態コンダクタの長さに沿った任意の位置に接続された一つ以上のＰ−型駆動トランジスタは、コンダクタを「ＨＩ」状態にする。これらの各駆動トランジスタのドレインが、静電容量をコンダクタに与えるために、これらの駆動トランジスタをコンダクタに取り付けることによって、実際に、電荷を格納するコンダクタの能力が増加し、従って、状態を保持するコンダクタの能力が向上する！
さらに、いくつかの遷移状態の各々が、コンダクタの状態を変化させる必要がある場合、いくつかのＮ−型またはＰ−型駆動トランジスタは、別々に、状態コンダクタへ取り付けられ得、適切に状態コンダクタを調整する。コンダクタは、その長さに沿った任意の位置にある任意のＮ−型駆動トランジスタに応答してＬＯ状態になる。同様に、コンダクタは、その長さに沿った任意の位置にある任意のＰ−型駆動トランジスタに応答してＨＩ状態になる。状態コンダクタは、一つより多くのＮ−型駆動トランジスタおよび一つより多くのＰ−型駆動トランジスタに対応することが多い。
【００２０】
しかし、単一の状態コンダクタに対するＮ−型駆動トランジスタおよびＰ−型駆動トランジスタが、同時に動作する必要が無い、ということは重要である。両方の種類の駆動トランジスタによる同時駆動は、いくつかの駆動トランジスタは、状態コンダクタをＨＩにして、いくつかの駆動トランジスタは、状態コンダクタをＬＯにするといった、論理的な矛盾を表す。このような矛盾が起こった場合、二つの悪いことが発生する。第一に、過剰の電流が、電源からグラウンドへ流れ、その結果、エネルギを不必要に消費することになる。第二に、コンダクタに残された電荷が、不確定であり、ＬＯ状態を生じるＮ−型駆動トランジスタ、または、ＨＩ状態を生じるＰ−型駆動トランジスタのいずれを優性にすべきか定まらない可能性がある。
【００２１】
本発明は、駆動の矛盾を避けるためにこの要求を対処する。特定の状態コンダクタに接続された一つ以上のＮ−型駆動トランジスタが動作する、または、その状態コンダクタに接続された一つ以上のＰ−型駆動トランジスタが動作するとき、各状態遷移が起こる。もちろん、選択されたコード化に応じて、いくつかの状態コンダクタ（設計により要求された、Ｎ−型駆動トランジスタによって駆動されるコンダクタ、Ｐ−型駆動トランジスタによって駆動されるコンダクタ）は、同時に状態を変化し得る。しかし、単一の状態コンダクタのＮ−型およびＰ−型両駆動トランジスタがともに動作する場合はない。
【００２２】
また、本発明によって対処される別の問題であるエネルギ消費について考察する。ＣＭＯＳ回路において、エネルギの消費原理は、ワイヤの静電容量を充電すること、または放電することである。ワイヤの充電または放電動作に関して消費されるエネルギ量は、ワイヤの静電容量（もちろん、ワイヤの長さに依存する）に関わる。従って、消費電力は、単位時間あたり付近の充電および放電サイクルが生じるか、および、このように充電または放電されるワイヤの長さに依存する。
【００２３】
外部クロックドフリップフロップを用いるＣＭＯＳ有限状態機械には、三つのエネルギ消費物が存在する。第一に、外部クロックを伝え、各状態フリップフロップに接続するワイヤ。これらのクロックワイヤは、機械の状態が変化するか否かにかかわらず、各クロックサイクルで充電および放電する。第二に、遷移コマンドをフリップフロップへ伝え、状態のソースから状態フリップフロップへ延びた遷移ワイヤ。遷移ワイヤは、遷移論理に応答して充電および放電する。各状態ワイヤは、ワイヤの遷移が起こり得る前に一つの状態を想定しており、ワイヤの遷移後にニュートラルな状態へ戻る。すなわち、１回の遷移につき２回変化する。最後に、状態フリップフロップの状態を報告し、状態フリップフロップからワイヤの状態に関する知見を要求する任意の回路まで延びる必要があるワイヤ。これらの状態フリップフロップ出力ワイヤは、状態遷移につき一度変化する。
【００２４】
しかし、本発明に従うＣＭＯＳ有限状態機械において、状況は全く異なる。第一に、外部クロックが無い。このことは、クロックワイヤによって消費されるスペースおよびエネルギを除去する。第二に、本発明は、状態フリップフロップの状態を局在化するのではなく、状態を状態コンダクタ一体に幾何学的に分散する。ちょうど状態フリップフロップの状態の知見を必要とする任意のものまで、状態フリップフロップの出力ワイヤが延びるように、状態コンダクタは、状態の知見が必要とされるいずれの場所へも延長する。第三に、状態フリップフロップを用いるシステムとは対照的に、本発明は、状態コンダクタを状態遷移論理へ延長するのであって、状態遷移論理を状態フリップフロップに接続する別のワイヤを有するのではない。状態コンダクタを状態遷移論理まで延ばすために必要とされるワイヤは、遷移論理から既存の状態コンダクタの最も近い部分へ延びることのみ必要であるために、そのワイヤの長さは、遷移ワイヤより長いことはなく、かなり短くてもよい。さらに、このワイヤは、各状態遷移に対して二度ではなく一度だけ充電または放電し、従って、エネルギを節約する。
【００２５】
それ故、遷移情報を状態フリップフロップ入力へ伝送するワイヤ、および、状態フリップフロップ出力を必要とされる場所へ伝送するワイヤの二つのワイヤを用いる代わりに、本発明は、両方の目的のために、一つのワイヤ（状態コンダクタ）のみを用いる。状態コンダクタの長さに沿った任意の場所に接続された駆動トランジスタは、必要に応じてその状態を変化させる。このように複雑さを低減することによって、有限状態機械を実行するために必要とされるワイヤ総量と有限状態機械が動作する際に消費されるエネルギとの両方が低減する。
【００２６】
本発明の一実施形態は、回路内の状態情報を非同期に制御するシステムを提供する。このシステムは、回路の状態を示す電圧を伝送する第一のコンダクタと、第一のコンダクタに結合された第一の駆動回路とを備える。この第一の駆動回路は、第一のコンダクタを第一の状態を示す第一の電圧レベルにするように構成されている。また、このシステムは、第一のコンダクタに結合された第二の駆動回路を備える。この第二の駆動回路は、第一のコンダクタを第二の状態を示す第二の電圧レベルにするように構成されている。さらに、システムは、状態を示す状態入力を備える。システムは、第一の駆動回路が第一のコンダクタを状態入力によって示された状態に基づいて、第一の電圧レベルに駆動するように構成される。
【００２７】
本発明の一実施形態において、第一の駆動回路は、さらに、第一のコンダクタを第一のコンダクタ上を伝送された電圧によって示された状態に基づいて、第一の電圧レベルにするように構成される。
【００２８】
本発明の一実施形態において、第一の駆動回路または第二の駆動回路が電圧を変化させない場合、システムは、さらに、第一のコンダクタに結合されたキーパ回路を備える。このキーパ回路は、第一のコンダクタ上の電圧を一定値に保持するように構成される。
【００２９】
本発明の一実施形態において、システムは、さらに、第一の駆動回路に結合されたパルス発生回路を備える。パルス発生回路は、第一の駆動回路に、制限された持続時間のパルスを用いて、第一のコンダクタを第一の電圧レベルにさせるように構成される。
【００３０】
本発明の一実施形態において、パルス発生回路は、パルスを生成するための一サイクルの論理反転を備える。この実施形態の修正において、論理反転のサイクルは、奇数回の反転を提供する。この実施形態の別の修正において、論理反転のサイクルは、三つの反転を提供する。この発明の実施形態のさらに別の修正において、論理反転のサイクルは、五つの反転を提供する。
【００３１】
本発明の一実施形態において、パルス発生回路は、ＡＮＤ関数を実行する回路を備える。
【００３２】
本発明の一実施形態において、第一のコンダクタ上の電圧は、第一のコンダクタの長さに沿った任意の点で第一のコンダクタを駆動することによって変化されてもよい。
【００３３】
本発明の一実施形態において、システムは、第一のコンダクタに結合されたさらなる駆動回路を備える。
【００３４】
本発明の一実施形態において、システムは、第一の駆動回路に影響を与えるように構成されたさらなる状態入力を備える。
【００３５】
本発明の一実施形態のおいて、第一の駆動回路は、Ｐ−型トランジスタおよびＮ−型トランジスタの一つを備える。
【００３６】
本発明の一実施形態において、第一の駆動回路は、駆動トランジスタの一連のスタックを備える。
【００３７】
本発明の一実施形態は、回路内の非同期データ転送を制御するシステムを提供する。このシステムは、回路の第一の段がデータを含むかどうかを特定する第一のコンダクタ上の第一の電圧レベルをモニタリングすることによって動作する。システムは、また、回路の第二のステージがデータを含むかどうかを特定する第二のコンダクタ上の第二の電圧レベルをモニタする。第一の電圧レベルが、第一のステージが第二のステージへ伝送されるべきデータを含むことを示し、かつ、第二の電圧レベルが、第二のステージがデータを含まないことを検出すると（従って、第一のステージからのデータを受信可能である）、システムは、データを第一のステージからデータを第二のステージへ転送する。これは、第一のステージから第二のステージ内へデータをラッチする第二のステージラッチ信号を発生させることによって達成される。また、これは、第一の電圧レベルを変化させて、第一のステージがもはやデータを含まないことを示し、第二のステージがデータを含むことを示すように第二の電圧のレベルを変化させることに関わる。
【００３８】
上記の実施形態の様々な修正において、システムは、さらに、回路の第三のステージがデータを含むかどうかを特定する第三のコンデンサ上の第三の電圧レベルをモニタする。第二の電圧のレベルが、第二のステージが第三のステージへ転送されるべきデータを含むことを示し、かつ、第三の電圧レベルが、第三のステージがデータを含ないことを示すことを検出すると（従って、第二のステージからデータを受信可能である）、システムは、データを第二のステージから第三のステージへ転送する。
【００３９】
（詳細な説明）
以下の説明は、当業者が本発明を作成かつ使用することを可能にするように提示され、特定の用途およびその要求の点において提供される。開示された実施形態に対する様々な改変は当業者に容易に明らかであり、本明細書中で規定された一般的な原理は、本発明の精神および範囲から逸脱することなく、他の実施形態および用途に適用され得る。従って、本発明は示された実施形態に限定されることを意図するものではなく、本明細書中で開示された原理および特徴に一致する最も広い範囲に一致させることを意図する。
【００４０】
本発明は、４つの部分を含み得る。すなわち、１つ以上の状態線、各状態線に接続された少なくとも２つの駆動トランジスタ、１つ以上の状態入力、および１つ以上のパルス発生回路である。パルス発生回路は、有限状態機械の各状態遷移に関連付けられる。各パルス回路は、その入力として、任意の条件入力および任意の状態線を使用し得る。各パルス回路がその入力において所定のセットの値を検出する場合、各パルス回路がパルスを発生する。このように発生されたパルスは、Ｎ型駆動トランジスタまたはＰ型駆動トランジスタを活性化して、特定の設計に対して要求される１つ以上の状態線を駆動する。従って、状態の所望の変化を引き起こす。所望される場合、任意の状態線または全ての状態線は、パルス回路によって活性化された駆動トランジスタによって、線上に設けられた電荷の遅い放電を回避するために、取り付けられた「キーパ（ｋｅｅｐｅｒ）」を有し、し得る。上記キーパは、駆動トランジスタの動作の妨害を回避する程度に弱くしなければならない。
【００４１】
キーパ回路は、同じ状態線に接続された入力および出力に共に直列接続された２つのインバータの形態の弱いドライバとして実現され得る。この構成では、線上に現れる電圧レベルが駆動回路によって強化される。駆動回路のこの強さは、キーパ回路にもかかわらず、より強い駆動回路が線上の電圧レベルを容易に変化させ得るように制限される。
【００４２】
本発明で使用されたパルス回路は、状態トランジスタ上の電荷を確実に変化させ、かつこのように有限状態機械の状態を変化させる程度に長く駆動トランジスタを活性化する。しかし、いくつかの他の回路によって開始された逆駆動の妨害を回避する程度に迅速に駆動動作を停止させる。
【００４３】
従って、本発明のパルス回路のタイミングは重要である。種々の回路形態が可能であり、いくつかの回路は他の回路よりも速い。タイミングは一般的に、より遅い回路よりもより速い回路の方にについてより慎重に考慮されなければならない。
【００４４】
本発明はパルス発生回路を使用して状態遷移を引き起こすために、外部クロック信号が不要である。この外部クロック信号が不要なことは、パイプラインおよびＦＩＦＯと呼ばれる先入れ先出しレジスタ回路等の種々の自己タイミング回路または非同期回路に本発明を適用可能にする。種々のこのような回路は、以下の開示において示される。
【００４５】
外部クロックの使用が必要である場合、外部クロック信号がパルス回路への条件入力の１つとして処理され得ることに留意されたい。条件入力として外部クロック信号を含むことは、状態線が、外部クロック信号によって特定される時間においてのみ状態を変化させることを確実にし得る。
【００４６】
パルス発生回路は、主に論理ＡＮＤ機能からなる。論理ＡＮＤ機能は、この機能が示す状態変化イベントに対して必要な条件を組み合わせる。論理ＡＮＤ機能は、以下に説明されるようにＮＡＮＤゲートまたはＮＯＲゲートを用いることを含む、多数の形態の内の任意の１つの形態において実現され得る。論理ＡＮＤ機能に加えて、パルス発生回路は、複数の機能を提供する複数のインバータを含む。第１に、インバータは、論理ＡＮＤ機能に対して正確な論理的な意味にする。第２に、インバータは、論理ＡＮＤの出力を正確な論理的な意味の入力条件にする。Ｎ型駆動トランジスタまたはＰ型駆動トランジスタを活性化する。第３に、インバータは短い遅延を提供してパルスの正確なタイミングを確実にする。そして第４に、インバータは所定の入力の入力電流要求を低減するように電気増幅を提供する。
【００４７】
本発明の一局面は、これらのインバータにおけるトランジスタのサイズ、論理ＡＮＤ機能におけるトランジスタのサイズ、および状態線に接続された駆動トランジスタのサイズの慎重な選択を含む。
【００４８】
各パルス回路では、ＡＮＤ機能への最後の入力が真になる場合、ＡＮＤ機能の出力を変化させるパルスの開始が生じる。最終的には、この変化は状態遷移を開始させる。なぜならば、この変化が１つ以上の状態線駆動トランジスタを活性化して、必要に応じて有限状態機械の状態を変化させるからである。ＡＮＤ論理出力が駆動トランジスタを直接活性化し得るか、または１つ以上のインバータを介して間接的に活性化し得る。
【００４９】
本発明の重要な局面は、パルス発生回路によって変化された１つ以上の状態線が、その発生回路のＡＮＤ機能への状態線の入力そのものであるということである。簡単には、パルス発生回路がパルスを発生させた後、選択された駆動トランジスタは状態線の状態を変化させる。次いで、これは、ＡＮＤ機能への少なくとも１つの入力を偽にしてパルスを停止させる。従って、パルス発生回路によって開始された状態遷移の終了は、状態遷移を開始したパルスを停止させるように役立つ。
【００５０】
このパルスの開始と終了との間の時間を慎重に制御することが重要である。このパルスは、駆動する全ての状態線の状態を確実に変化させる程度に長い間継続しなければならない。しかし、他の同様なパルス発生回路が状態線上のいたるところに存在するため、このパルスは、このような他のパルス回路の動作を妨害することを回避する程度に正確に終了させなければならない。
【００５１】
本発明では、パルスの持続時間は、論理ＡＮＤ機能に関連付けられたインバータの数および回路内のトランジスタの幅によって設定される。ＡＮＤ機能、駆動トランジスタ、状態線、およびＡＮＤ機能への状態線入力を含む論理フィードバックループが存在する。このループはさらに、必要に応じてＡＮＤ機能の前後に特定のトランジスタを含み得る。この論理フィードバックループは、ループ内に含まれるトランジスタの数およびトランジスタの幅に依存する特有の応答時間を有する。有限状態機械の種々の遷移に使用されるパルス発生回路の群は、その特有の応答時間の相互干渉を避けるように選択される場合、共に最良に作動する。本発明により構築された回路の設計は、トランジスタの幅のこのような各サイクルの論理反転において含むべきインバータの数およびループ中の選択を伴う。
【００５２】
インバータおよびトランジスタのサイズの適切な選択が行われると、本発明を用いて構築された有限状態機械は、非常に高速で動作し得る。この動作の高速性の本質的な理由は、パルス発生回路が、Ｉｖａｎ　Ｓｕｔｈｅｒｌａｎｄ，Ｂｏｂ　ＳｐｒｏｕｌおよびＤａｖｉｄ　ＨａｒｒｉｓによるＭｏｒｇａｎ　Ｋａｕｆｍａｎｎ　Ｐｕｂｌｉｓｈｅｒｓ，Ｉｎｃ．，Ｓａｎ　Ｆｒａｎｃｉｓｃｏ，Ｃａｌｉｆｏｒｎｉａ，１９９９による「Ｌｏｇｉｃａｌ　Ｅｆｆｏｒｔ」と題された書物に記載されるようにほとんど「論理努力（ｌｏｇｉｃａｌ　ｅｆｆｏｒｔ）」を有する必要がないということである。この低い論理努力は、３つの論理反転のような短い論理フィードバックループを構成することを可能にさせる。このようなループは、３つのインバータから構成されたリング発振器とほぼ同じ特徴的なサイクル時間を生じさせる。より速い動作は考え出すのが難しい。さらに論理反転の５または７、あるいは任意の奇数を有する論理反転のサイクルも可能である。このようなループは、より遅いが、製造におけるトランジスタのサイズの誤計算および改変体に対してより多くの許容度がある。３つのインバータループにおいて、ループ周辺の伝搬速度が非常に高速で、ＣＭＯＳにおける電圧立ち上がり時間が比較的遅いことに留意されたい。従って、電圧立ち上がりは、３つのインバータループが電圧を低電圧レベルに動かす前に終了することを確実にさせることが困難である。
【００５３】
本発明の主な利点は、単一の状態線上でいくつかのパルス回路の動作を組み合わせる能力にある。状態線は、それを駆動するパルス回路に最も都合がよい位置に拡張され得る。各パルス回路付近では、適切なＮ型駆動トランジスタまたはＰ型駆動トランジスタは、状態線をその新しい状態になるように駆動させる。従って、パルス回路の出力信号は、パルス回路から駆動トランジスタまでのほんの短い距離のみ拡張するする必要がある。いくつかのパルス回路の内の任意のものは、それ自体の駆動トランジスタを介して状態線の状態を等しく変化させることを可能にする。パルス制御論理自体は、次に続く状態変化に対する駆動動作が始まる前に、ある状態変化に対する駆動動作が終了することを確実にさせる。もちろん、全ての有限状態機械の設計のように、状態変化論理が同時に衝突する２つの状態遷移の開始を回避しなければならない。
【００５４】
（実施形態）
本明細書は、本発明に従ってＡＮＤ機能に対する複数の実施形態を提示する。図１に示された１つの形態は、状態線に直接接続された２つ以上のＮ型駆動トランジスタの直列のスタックを使用する。ＡＮＤ機能および駆動トランジスタ動作が組み合わせられる。もちろん、Ｐ型駆動トランジスタもまた使用され得る。全てのこのようなトランジスタが導通する場合、どれらのトランジスタは、状態遷移を選択するように状態線の電荷を変化させる。状態線自体は１つの入力として、インバータ１０４および１０６を介して、論理ＡＮＤ機能の１つの入力としての役目をする。インバータ１０４および１０６は、状態線を充電または放電するのにかかる時間と併せて、動作パルスの持続時間を設定する短い遅延を提供する。インバータ１０４および１０６、ならびにＮ型駆動トランジスタ１０８から構成された論理フィードバックループは、３つの論理反転を含む。これらの３つの論理反転の内２つはインバータ１０４および１０６であり、１つは駆動トランジスタのスタックの一部であるＮ型駆動トランジスタ１０８である。もちろん、他の数の論理反転も可能である。図１におけるトランジスタ１０８および１１０の順序は問題ではないことに留意されたい。代替的な実施形態では、Ｎ型トランジスタ１０８のソースは、グラウンドに接続され、Ｎ型トランジスタ１１０のドレインが状態線１０２に接続され得、およびＮ型トランジスタ１１０のソースがＮ型トランジスタ１０８のドレインに接続され得る。
【００５５】
他の状態条件信号１１２は、単一のＮ型トランジスタ１１０のゲートに接続されることに留意されたい。しかし、一般的に複数のＮ型トランジスタが直列に接続されて、複数の個々の状態条件に対するＡＮＤ動作を実行し得ることに留意されたい。
【００５６】
第２の形態は自己リセットＡＮＤ機能を使用する。図２は２つの直列のＮ型トランジスタ２１２および２１４を有するこの形態を図示するが、より多くの直列のトランジスが含まれてもよいし、またはＰ型トランジスタが使用されてもよい。この直列のスタック２１２および２１４における全トランジスタが導通すると、これらのトランジスタが接続されるノード２１１がＬＯ状態に変化する。またこのノードは、駆動トランジスタ２１６のゲートに接続され、状態線２１８をＨＩ状態に駆動させる。インバータ２０４および２０６、ならびにＰ型のリセットトランジスタ２０２を含む個々のメカニズムは、ノード２１１をＨＩ状態に戻す「リセットループ」を形成し、パルスを終了させ、駆動トランジスタ２１６を遮断する。この回路では、リセットループのタイミングは、動作パルスの持続時間を設定するため、慎重に制御されなければならない。状態線２１８の状態を適切に変化させるように駆動トランジスタ２１６への十分長いパルスを提供しなければならないし、そして状態線２１８の次の動作を妨害しない程度にすぐに駆動トランジスタ２１６を遮断しなければならない（本明細書および上記特許請求の範囲では、用語「ＮＡＮＤゲート」は、自己リセットＮＡＮＤゲートおよび非自己リセットＮＡＮＤゲートの両方を示し得ることに留意されたい）。
【００５７】
あるいは、図２におけるトランジスタ２１４および２１２の順序は問題にならないことを留意されたい。代替の実施形態では、Ｎ型トランジスタ２１２のソースは、グラウンドに接続され、Ｎ型トランジスタ２１４のドレインは、ノード２１１に接続され、Ｎ型トランジスタ２１４のソースは、Ｎ型トランジスタ２１２のドレインに接続され得る。
【００５８】
この自己リセット回路の１つの利点は、このような単一のＮＡＮＤ機能がいくつかの駆動トランジスタを役に立たせ得ることである。これは単一のパルス発生回路がいくつかの状態線の状態を変化させることを可能にする。このように駆動された状態線の内の少なくとも１つは、ＡＮＤ論理機能を行う直列スタックのトランジスタの１つに接続されて所望の動作（すなわち、状態線の状態を変化させること）が直列のスタックをオフにする。このオフ動作は直列スタックがリセットループおよびリセットトランジスタ２０２のリセット動作を妨害することを回避する。
【００５９】
第３の形態が他のＣＭＯＳ論理回路においてしばしば使用されるＮＡＮＤ回路のより一般的な形態を使用する。この形態は図３に示される。ＮＡＮＤ回路は直列のＮ型トランジスタ３１２および３１４と、並列のＰ型トランジスタ３０６および３０８からなる。もちろん、所望であれば、真および偽を示す電圧レベルにおける適切な変化によって、Ｎ型トランジスタおよびＰ型トランジスタは、ＮＯＲ論理ゲートとして公知のゲートを作製して交換され得る。この回路では、ＮＡＮＤゲートにおける直列のトランジスタがパルスを発生させる。これらの全てが導通すると、回路の内部ノード３１１はＬＯになり、次いで１つ以上の状態線３０２および３２０を駆動させる。図３は、３つの状態線３０２、３２０、および３３０を示す。これらのトランジスタの全ては、ＮＡＮＤ論理ゲートの出力に応答して駆動される。状態線３０２は、駆動トランジスタ３０４によってＨＩで駆動され、状態線３２０は、駆動トランジスタ３１８によってＬＯで駆動され、そして状態線３３０は、駆動トランジスタ３３１によってＬＯで駆動される。状態線３３０は、ＮＡＮＤ回路にわたってフィードバックループの一部ではないことに留意されたい。
【００６０】
図３の回路は３つの状態３０２、３２０、および３３０を制御するＮＡＮＤを示すが、この回路は、このような各線に対して個々の駆動トランジスタを含ませることによって、より多くの状態線またはより少ない状態線を等しく良好に制御し得る。同様に、図２の回路もまた、２１６のような個々の駆動トランジスタのそれぞれに対して含ませることによってさらなる状態線を収容し得る。図１の回路にさらなる状態線を収容させるために、単にこのような線それぞれに関して全体の回路を重複させればよい。
【００６１】
図３の回路では、ＮＡＮＤゲートを共有する２つの論理フィードバックループが存在する。２つのフィードバックループの両方は状態コンダクタを含み、この状態が、パルスの動作に応答して、状態線の状態を変化させる。状態線３０２についての駆動トランジスタ３０４は、論理フィードバックループにおいてインバータ３１０の前にあるが、状態線３２０についての駆動トランジスタ３１８が、論理フィードバックループにおいてインバータ３１６の後に続くため、状態線３０２は、状態線３２０がＬＯになるわずか前に、パルスの結果としてＨＩになることに留意されたい。しかし、十分に選択されたトランジスタサイズを有する回路では、ＮＡＮＤゲートへの２つの入力は、ほぼ同時に両方とも偽になる。
【００６２】
ＮＡＮＤゲートの両方の入力の偽へのこの同時帰還では、特別な考慮が為されるのは当然である。ＮＡＮＤゲートの通常の形態では、２つのＰ型トランジスタ３０６および３０８の幅が、これらのトランジスタのいずれかがその出力をＨＩ状態だけに戻すように選択される。この用途では、両方のトランジスタが常に共に動作し、そのトランジスタの幅が、そのトランジスタの組み合わされた動作を所望の時間内に動作させるように選択され得る。この結果が、一般的に、通常適切であると考えられているよりも狭いこれらのトランジスタの幅を生むことになる。
【００６３】
（より多くのインバータを有するループ）
図１、図２、および図３の回路のそれぞれにおいて、３つの論理反転機能を含む論理フィードバックループが理解される。理想的には、このようなフィードバックループのそれぞれは、ほぼ同じ遅延で動作すべきである。これらの遅延を整合することを望む理由は、図４Ａを参照して理解され得る。
【００６４】
図４Ａでは、左側の第１のパルス回路および右側の第２のパルス回路は、状態線４１６の状態を共に制御する。第１のパルス回路がＮＡＮＤタイプとして示されるが、任意のタイプが使用され得る。同様に第２のパルス回路は、駆動トランジスタ自体を、ＮＡＮＤ機能を行わせるように使用するが、再び任意のタイプの回路が使用され得る。
【００６５】
左側における「他の条件」４０２がＨＩかつ状態線４１６がＬＯである場合、左側のパルス回路が動作する。このパルスは、駆動トランジスタ４１４を介して状態線４１６ＨＩに駆動させ、そして３つのゲート遅延の後、駆動トランジスタ４１４を迅速に遮断する。また右側にある「他の条件」入力４２６がＨＩである場合、右側上のパルス回路が、駆動トランジスタ４２２を介して、状態線４１６を速やかにＬＯに駆動し、３つのゲート遅延の後、再び速やかに駆動トランジスタ４２２を遮断する。従って、「他の条件」入力４０２および４２６の両方が真のままである場合、３つのインバータリング発振器が発振すると丁度同じように図４Ａおよび４Ｂの回路が発振する。
【００６６】
図４Ｂは、この構成の等価回路を示す。インバータ４１８および４２１は、ほぼ同一の出力を生成する。ＮＡＮＤゲート４２８はまた、インバータとして作用し、インバータ４２０の出力とほぼ同一の出力を生成する。従って、トランジスタ４１４および４２２への入力が、ほぼ同一であることが理解され得る。
【００６７】
トランジスタ４１４および４２２への入力がほぼ同一であるために、点線で示されたように互いに接続されることができ、従って、トランジスタ４１４および４２２をインバータに変える。この結果は、３つの反転機能から論理的に構成されたリングである。このようなリングは、非常に急速に発振することが公知である。
【００６８】
このような発振は悪いことであると考えられ得る。そうではなく、なぜなら、図４Ａおよび４Ｂは、２つの簡単な規則に従う有限状態を示すからである。第１に、状態線４１６がＬＯであり、かつ他の条件４０２が真である場合、状態線４１６をＨＩにする。第２に、状態線４１６がＨＩであり、かつ他の条件４２６が真である場合、状態線をＬＯにする。入力条件４０２および４２６の全てが真である場合、図４Ｂを作成する際に推測されるように、システムはその可能な最大速度で発振し、状態線４１６を交互にＨＩおよびＬＯにする。任意の他の条件４０２および４２６の任意のものが真でなくなる場合、発振は中断する。
【００６９】
さらに複雑なシステムでは、簡単に理解されるように、これらのパルス回路は、複雑な発振ループを形成する態様で互いに適合する。これらのループは種々のパルス発生回路のＡＮＤ機能によって結合される。これらのパルス回路を有用にする結合された有限状態機械の興味ある挙動を生成するのは、これらのループの結合である。
【００７０】
本明細書中で使用される図示は、Ｎ型トランジスタおよびＰ型トランジスタならびにＨＩおよびＬＯ信号を特定の方法で使用してきたことが認識されなければならない。当業者に理解されるように、ＨＩおよびＬＯ電圧レベルの意味における適切な反転と共に、Ｐ型トランジスタをＮ型トランジスタに容易に置換し得る。
【００７１】
（サンプル用途）
これらのパルス回路の１つの用途は、非同期先入れ先出しレジスタシステム（すなわちＦＩＦＯ）の制御のために存在する。この用途は、５つの状態線および３つのパルス発生回路を示す図５に示される。各状態線は、ＦＩＦＯ段の個々の状態を示し、ＦＩＦＯ段の状態は、２つの状態（ＥＭＰＴＹまたはＦＵＬＬ）のうちの１つである。左側にある状態線がＬＯであり、かつ右側にある状態線がＨＩである場合、または１つ以上の状態線が右側にある場合、パルス発生回路はそれぞれ動作する。「段がＦＵＬＬ」の意味をＬＯ状態線に割り当て、「段がＥＭＰＴＹ」の意味をＨＩ状態線に割り当てる場合、この回路は、左側にある１つの入力から右側にある２つの出力に分枝する短いＦＩＦＯのための適切な制御を形成する。この回路から基本素子をより長い鎖に繰り返すと、任意の長さのＦＩＦＯ制御を形成する。もちろん、分枝特性が、所望であるならば省略され、それは本明細書中で例示目的のために示される。
【００７２】
各パルス回路の左側の入力がＬＯであり（すなわち、左側の段が「ＦＵＬＬ」である）、かつ右側の入力がＨＩである（すなわち、右側の段が「ＥＭＰＴＹ」である）場合、各パルスが応答することを思い出すこと。パルス回路が動作する場合、この左側の段を「ＥＭＰＴＹ」にし、右側の段を「ＦＵＬＬ」にする。従って、ＦＵＬＬ−ＥＭＰＴＹの組み合わせは、ＥＭＰＴＹ−ＦＵＬＬの組み合わせになる。この遷移条件は、非同期ＦＩＦＯを制御するために必要な動作として容易に認識される。連鎖的に繰り返される場合、このような回路はＦＩＦＯのために要求されたる制御を適切に実行する。
【００７３】
左側のパルス回路は、３入力ＮＡＮＤゲート５０８を使用して、入力のために使用する３つの状態線に適応させる。２つの駆動トランジスタ５１４および５１６を介して状態線の両方をその右側に駆動する。
【００７４】
さらに、パルス回路からのパルスは他の用途に役立ち得る。１つのこのような用途は、ＦＩＦＯを介してデータを伝達するラッチにおいてパスゲートを調整することである。「パルスのための他の用途に」と明記された各出力５１５、５４４、および５４６は、ＦＩＦＯ制御における対応するパルス回路の各動作に対して正のパルスを生成する。これらの正のパルスは、図示されないが、正確にラッチを行うために必要とされるものであり、ＦＩＦＯを介してデータを移動させる。
【００７５】
この回路に関して注意するいくつかの事項がある。第１に、１つのＮＡＮＤ回路の出力から右側の次のＮＡＮＤ回路の出力に４つの反転論理機能がカウントされ得る。例えば、３つの入力ＮＡＮＤ５０８の出力から開始すると、インバータ５１０、駆動トランジスタ５１４、インバータ５１８、およびＮＡＮＤ５２０を４としてカウントする。同様に、１つのＮＡＮＤの出力から左側のＮＡＮＤの出力にカウントすると、２つの反転論理素子のみがカウントされる。例えば、ＮＡＮＤ５２０で開始すると、Ｐ型トランジスタ５２２の後、ＮＡＮＤ５０８に続く。
【００７６】
４および２のこれらのカウントは、示されたＦＩＦＯの順方向遅延および逆方向遅延を示す。より長い待ち時間を順方向において行うように選択して、データラッチのために適切な時間を提供し、示されないがデータ値を伝搬するために、データラッチの余分な時間を提供すべく、順方向のより長い待ち時間を作るように選択される。逆方向待ち時間の２つのゲート遅延は、データが概して逆方向に移動しないためにできるだけ短いことである。
【００７７】
これらの回路が、示されたパルス回路に挿入されるさらなるインバータとともに効率的に作用することを当業者が速やかに認識する。従って、例えば、当業者は、６または８あるいはそれ以上のゲート遅延の順方向の待ち時間および４、６、または８あるいはそれ以上のゲート遅延の逆方向の待ち時間を有するＦＩＦＯ制御システムを構築できる。限定することなくこのようなシステムの全ては、本発明の特殊な場合として含まれる。
【００７８】
（シンボル）
図６は、いくつかのシンボルおよびシンボルに対応する回路（これら全ては、既に説明されたファミリのメンバとして認識されている）を示す。もちろん、このようなシンボルはまた、上述されたような多数のインバータを備える回路を表示し得る。
【００７９】
以上の図面に示されていないが、状態コンダクタそれぞれには小さなキーパが取り付けられている。このようなキーパは、駆動トランジスタが状態を変えるように機能しないとき、状態を保つ小さな隣り合わせのインバータのペアに過ぎない。また、個々の駆動トランジスタ（超小型である場合が多く、システム初期化の間に十分な初期状態に状態コンダクタのそれぞれの状態を予め条件付けする）は、図６に示されていない。
【００８０】
これらのシンボルのそれぞれは、１状態コンダクタに関連する回路を表示する。図６のシンボルは、状態コンダクタとパルス回路の中心にあるＡＮＤ関数との間の様々な接続を示す。それぞれの場合、パルス回路は、箱によって示される；状態コンダクタは、１つの箱を別の箱に接続するラインによって示される。このような状態コンダクタのそれぞれは、図６に示されるように、「Ｐ」等のラベルまたは図７Ａの７２２等の識別番号を有し得る。
【００８１】
それぞれのパルス回路の表示において、１リアル入力を有するＮＡＮＤゲートは、ゼロまたはさらに追加される入力を示すいくつかのドットを有する。多くの状態コンダクタについての特定のシンボルにおいて、それぞれの状態コンダクタは、このＮＡＮＤゲートに対する個々の入力またはＮＡＮＤゲートからの個々の出力を提供する。
【００８２】
状態コンダクの矢印を備えるパルス回路への接続箇所では、上方の２つのロウに見られるように、状態コンダクタは、ＮＡＮＤゲートに対する入力として役に立つ。状態コンダクタの矢印を備えないパルス回路への接続箇所では、パルス回路は、状態コンダクタを駆動するが、図６の下方の２つのロウに見られるように、状態コンダクタの状態を感知することはない。
【００８３】
完全なパルス回路は、多くの状態コンダクタ（矢印を備えるものと矢印を備えていないもの）に接続し得る。このＡＮＤ関数は、矢印を備える状態コンダクタの状態が適切な状態を保っているときにのみ発火する（ｆｉｒｅ）。ＡＮＤ関数は、矢印が描かれていない状態コンダクタには敏感しない（ｉｎｓｅｎｔｉｖｅ）。
【００８４】
暗い矢印または明るい矢印は、状態コンダクタの状態の初期化方法を含む以下の約束に応じて描かれている。暗い矢印は、初期化が終了してすぐに、初期化が終了した状態コンダクタがＡＮＤ関数の発火をできることを示す。明るい矢印は、初期化が終了してすぐに、初期化が終了した状態コンダクタがＡＮＤ関数の発火をできないことを示す。パルス回路は、明るい矢印に関係する状態コンダクタのそれぞれが、初期化してから状態を奇数回だけ変え、暗い矢印に関係する状態コンダクタのそれぞれが、初期化してから状態を偶数回だけ変える場合にのみ発火する。
【００８５】
この発火は、発火時のパルス回路が、状態コンダクタが接続されているパルス回路の矢印全てに対して全ての暗い矢印を明るい矢印に変える（およびその逆）こととみなされ得る。
【００８６】
（交流電源）
図７Ａおよび図７Ｂに示される構成は「交流電源」を表示する。この図のラインは状態コンダクタを表示し、箱はパルス回路を表示する。
【００８７】
図面の最も左にある状態コンダクタ７２１が動作を開始する。状態コンダクタ７２１はＦＵＬＬを示す場合、パルス回路７０２は発火しており、状態コンダクタ７２１はＥＭＰＴＹであり、状態コンダクタ７２２はＦＵＬＬである。ここで、パルス回路７０４は、２つの暗い矢印を有するので発火でき、パルス回路７１０は１つの明るい矢印を有するので発火できない。パルス回路７０４が発火する場合、状態コンダクタ７２２はＥＭＰＴＹであり、状態コンダクタ７２４はＦＵＬＬであり、パルス回路７０６は発火できる。状態コンダクタ７２２がＦＵＬＬを示す次のときに、その順序は、上方のロウの回路ではなく、下方のロウの回路を含み、この回路の動作が進行し、パルス回路７０４およびパルス回路７１０を介して制御信号を交互に送達させる。
【００８８】
図７Ｂは、図７Ａの制御構成の使用に適したデータパスを示す。Ｘを備えるそれぞれの箱はパスゲートを表示し、隣の三角は「ステッキーバッファ（ｓｔｉｃｋｙ　ｂｕｆｆｅｒ）」を示す。したがって、シンボルそれぞれは、多くのビットの並列データ「ワード」を保つのに適したデータラッチまたは複数のデータラッチを表示する。これらのラッチの制御信号は、図５の形式に従う図７Ａの対応するパルス回路から「パルスに対する他のユーザに」生じる。図７Ｂの制御回路のパルス出力の動作を介して、データは上方および下方のアームに交互にこのデータパスを通って移動する。
【００８９】
（ラウンドロビン（ｒｏｕｎｄ　ｒｏｂｉｎ）
同じ回路は、任意の数の出力に連続して情報を送達し得る。図８の制御回路は、この送達方法を示す。ここで、動作シーケンスは、シーケンス８０４、８１０、８１６、８２２、８０４、８１０．．．．のパルス回路を含む。
【００９０】
重要なことは、図７および図８の模式図がリレー回路図であることである。ラインが状態コンダクタを示す。箱は、状態間の変化を制御するパルス回路を表示する。状態コンダクタの長さに沿った任意の位置から状態コンダクタの状態を変える機能は、パルス回路それぞれが状態コンダクタの状態およびこの状態を変える機能の両方にアクセスするので、模式図に意味を与える。パルス回路は、所与の論理的に正しい設計について互いに干渉しないように十分に早く動作を終わらせる。
【００９１】
図７Ａ、図７Ｂおよび図８において、パルス回路には、２つの並列な状態コンダクタを介して接続されるものがある一方で、単一の状態コンダクタのみによって接続されるものもある。両方の端部上に矢印を備える単一の状態コンダクタがある位置で、両方のパルス回路は、その状態を試験し、一方のパルス回路が発火すると、発火したパルス回路は、他方の状態コンダクタが発火できるように状態コンダクタの状態を変える。次いで、状態コンダクタが一方のパルス回路を一方の端部にのみ矢印を備える他方のパルス回路に接続する位置で、パルス回路は、矢印によって示された順序で発火する。例えば、図７Ａにおいて、パルス回路７０４、７０６、７１０および７１２は、その順序で発火しなければならない。７１０の右側の明るい色の矢印は、７０６が発火した後に発火できることを示す。
【００９２】
（データ条件付分岐）
論理ＡＮＤ関数への入力の１つがＦＩＦＯで運ばれるデータビットを含む場合に、パルス回路は、データビットが特定値を運ぶときのみに動作する。この振る舞いは、図９に示されるデータ条件付分岐回路を実行可能にする。この回路において、論理ＡＮＤ関数は、３つの入力の合計を得るために２つの部分に分けられる。第１の部分は、２入力ＮＡＮＤゲート９０８を含み、第２の部分は、２つのＮタイプの駆動トランジスタ９１０および９１２の直列スタック（状態コンダクタ９２４をＬＯ状態に駆動し得る）である。ＮＡＮＤゲート９０８の左側の入力は、状態コンダクタ９０２の状態を示し、状態コンダクタ９０２の状態により、状態コンダクタ９０２がＬＯ（ＦＵＬＬを示す）であるときのみＮＡＮＤゲート９０８を応答させる。ＮＡＮＤゲート９０８の右側の入力は、状態コンダクタ９２４であり、状態コンダクタ９２４は、状態コンダクタ９０８がＨＩ（ＥＭＰＴＹを示す）であるときのみＮＡＮＤゲート９０８を応答させる。ＡＮＤ関数の第３の入力は、直列駆動スタックの２つのＮタイプのトランジスタ９１０および９１２のより下方にあるトランジスタに送達される「データイン」信号である。
【００９３】
論理ＡＮＤ関数の２つの部分は、いくらか分離して機能する。ＮＡＮＤゲート９０８は、２つの状態コンダクタ９０２および９２４それぞれがＦＵＬＬ条件およびＥＭＰＴＹ条件を示す場合いつでもパルスを生成する。その動作により、常に、状態コンダクタ９０２をＰタイプ駆動トランジスタ９０６を介してＥＭＰＴＹ状態に戻す。論理ＡＮＤ関数の第２の部分（すなわち、２つのＮタイプのトランジスタ９１０および９１２のスタック）は、状態コンダクタがＦＵＬＬおよびＥＭＰＴＹであり、データ入力値もＴＲＵＥであるときのみ機能する。したがって、状態コンダクタ９２４は、ＴＲＵＥデータ入力が存在するときのみＦＵＬＬ状態に設定される。データ入力９１８がＦＡＬＳＥを示す場合、状態コンダクタ９２４は、ＥＭＰＴＹ状態に戻る。したがって、データ入力９１８の値により、この値がパイプラインに沿ってさらに伝播されるか否かが決定される。
【００９４】
この回路のタイミングは幾分の配慮を必要とする。９３０および９３２とラベル付けられた２つのノードは、共通の入力でインバータ９１６および９１４によって駆動されることに留意されたい。次いで、十分に選択されたサイズに対して、これらの２つのノード９３０および９３２の信号は実質的に同一である。ＦＩＦＯパイプラインの以前のステージからのデータ入力信号は、信号９３０のエッジが立ち上げることに応答してラッチが獲得する時間内には有効である。したがって、９３２の立上がりエッジはまた、データ値によって２つのＮタイプのトランジスタ９１０および９１２のスタックで有効であることを示すことが理解される。次いで、回路の動作は、常に、ラッチの入力値を捕獲する（この値がＴＲＵＥまたはＦＡＬＳＥであるかを示し、入力値がＴＲＵＥであるときのみ右の状態コンダクタに制御信号を送る（ｐａｓｓ　ｏｎ））。
【００９５】
図９は、回路のＮＡＮＤゲート形式を用いるデータ条件付回路を示し、図１０は、回路の自己再設定を用いる同じデータ条件付回路を示す。ここで、再度、論理ＡＮＤ関数は２つの部分で表される。第１の部分は、２つのＮタイプトランジスタ１００８および１０１０の直列スタックである。第１の部分は、左の状態コンダクタ１００２に接続され、機能するとすぐに、ＥＭＰＴＹにその状態を変える。論理ＡＮＤ関数の第２の部分は、３つのＮタイプトランジスタ１０１２、１０１４および１０１６の直列スタックである。第２の部分は、Ｐタイプの駆動トランジスタ１０２６を介して右の状態コンダクタ１０３０に接続され、機能するとすぐに、右の状態コンダクタ１０３０の状態をＦＵＬＬに変える。
【００９６】
状態コンダクタ１００２および１０３０の状態がそれぞれＦＵＬＬおよびＥＭＰＴＹであるときには、論理ＡＮＤ関数の一方または両方が機能することが容易に理解される。データ入力１００１がＴＲＵＥである場合、両方の論理ＡＮＤ関数は一緒に機能し、状態コンダクタ１００２および１０３０をＥＭＰＴＹ状態およびＦＵＬＬ状態にそれぞれ変える。しかし、データ入力がＦＡＬＳＥである場合、２つの入力直列スタック１００８および１０１０のみが機能でき、これらの状態がＥＭＰＴＹ状態およびＥＭＰＴＹ状態にそれぞれ設定される。
【００９７】
（データ条件付の分岐および組合せ）
図２０は、２つの並行なＦＩＦＯステージを含む分枝部（データ依存分岐部および単一のＦＩＦＯステージ）を示す。パルス回路２００２および２００６によって形成される単一のＦＩＦＯステージは、Ａ１　２００４またはＢ１　２００８のいずれに分岐するかを決定するデータビット「Ｄ」を伝播する。このＦＩＦＯが「秩序」ＦＩＦＯとして呼ばれることに留意されたい。
【００９８】
図２０において、４つのパルスデバイス２００２、２００４、２００６および２００８は、条件付分岐回路を形成する。パルス回路２００２は、データパス（点線）からデータビットＤを受信する。この動作は、データビットＤの値に依存する。データビットがＴＲＵＥであるとき、データ値は、パルス回路２００４を介して上方の出力に送られ、データビットがＦＡＬＳＥであるとき、データ値は、パルス回路２００８を介して下方の出力に送られることが通常の発想である。両方の場合において、データビットは、中央のパルス回路を介して送られる。
【００９９】
パルス回路２００２は、その左の状態コンダクタ２００１がＦＵＬＬであり（すなわち、データは、回路の左の入力で利用可能であり）、全ての３つの右の状態コンダクタ２０１０、２０１２および２０１４がＥＭＰＴＹを示すときのみ発火できる。発火するとすぐに、データビットＤが２つの出力状態コンダクタ２０１０および２０１４の駆動を条件付ける。ＤがＴＲＵＥである場合、状態コンダクタ２０１０は状態を変える。ＤがＦＡＬＳＥである場合、状態コンダクタ２０１４は状態を変える。両方の場合、状態コンダクタ２０１２が状態を変える。
【０１００】
図２１は、４つの並行なパイプラインステージを含む組合せステージ（ステージＡと呼ばれるパイプラインＡのラストステージ、ステージＢと呼ばれるパイプラインＢのラストステージ、マージと呼ばれるパイプラインＡとパイプラインＢとを組み合わせるステージ、データ値「Ｄ」に基づいて、次のデータアイテムを検索するためのパイプラインを決定するコントロールと呼ばれるステージ）のインプリメンテーションを提示する。
【０１０１】
図２１において、６つのパルス回路は、データ依存性組合せを形成するために一緒に機能する。データがこの入力で利用可能であり、空間的にその出力が利用可能であるという指標（状態コンダクタ２１２４の状態のＦＵＬＬ状態への変化によって示されるような指標）を受信すると、パルス回路２１０４が発火する。データビットＤの値に依存して、この発火は、状態コンダクタ２１２８または状態コンダクタ２１３０のいずれかの状態を変える。
【０１０２】
パルス回路Ａ１およびＢ１（それぞれ２１０８および２１１０）は、３つの条件全てが存在するとき（それぞれのパルス回路で３つの矢によって示される）のみ発火できる。例えば、パルス回路２１０８は、状態コンダクタステージＡがＦＵＬＬを示すとき、コントロールがＦＵＬＬを選択するときおよび状態コンダクタ２１３０が空間が利用可能（ＥＭＰＴＹ）であるときに発火する。
【０１０３】
パルス回路２１０４が２つの出力状態コンダクタ２１２８および２１３０の内の１つを設定するに過ぎないので、２つのパルス回路２１０８および２１１０の内の１つのみが一度に発火できる。発火する１つは、データが上方のチャネル（ステージＡ）または下方のチャネル（ステージＢ）から得られるか否かを決定する。どちらかの場合において、状態コンダクタ２１３２は、ＦＵＬＬを示す状態に設定され、パルス回路２１１２を選択されたデータを前方に送ることを可能にする。
【０１０４】
（要求組合せ（アービトレーション））
非同期システムの１つの重要な問題は、サービス「オンデマンド」を提供することである。この問題は、任意のイベントが任意の時間に発生し得るので非同期システムにおいて特に困難になり、次いで、２つの矛盾するサービス要求がまさにほとんど同時に発生し得る。「アービタ（ａｒｂｉｔｅｒ）」または「相互排他要素」がこのような矛盾を解決するために用いられ得ることは公知である。
【０１０５】
図１１の回路は、図の左に１１０２および１１０４とラベル付けされた２つの状態コンダクタを有する。これらは入力と意味される。図の右の単一の状態コンダクタ１１０６は、オンデマンドでいずれの入力にも用いられる出力である。また、２つのＮタイプのトランジスタそれぞれ（１１３４および１１３６、１１２６および１１２８、１１１６および１１１８、および１１１４および１１１２）の４つのスタックがあり、これらの入力が並列に接続されているために２つの対に接続される。
【０１０６】
図１１の左には、２つのＮＡＮＤゲート１１３２および１１０８（相互排他要素を形成するように相互に結合される）が示されている。これらＮＡＮＤゲートの内の１つの両方の入力がＨＩである場合、ＮＡＮＤゲートの出力はＬＯに駆動され、次いで、他のＮＡＮＤゲートの両方の入力が両方ともＨＩになり得ないことを確実にする。次いで、任意の時間に、これらの２つのＮＡＮＤゲート１１３２および１１０８の出力の１つのみがＬＯとなり得る。しかし、これが全ストーリではない。
【０１０７】
状態コンダクタ１１０２および状態コンダクタ１１０４の両方がまさにほとんど同時にＨＩである（同時にサービスを要求する間に生じ得る）場合、ＮＡＮＤゲート１１３２および１１０８の対は、この対の出力がＨＩとＬＯとの間のほぼ中間電圧にある平衡状態に到達し得る。このような「準安定」状態は、当業者によって知られている。しばらくすると、準安定状態は、一方の出力がＨＩであり、他方の出力がＬＯである状態に落ち着く（ｇｉｖｅ　ｗａｙ）。準安定性でなくなる時間は、２つの入力時間がどれほど近いかおよび２つのＮＡＮＤゲートの初期の準安定状態がどれほど平衡かに依存する。
【０１０８】
準安定性でなくなることを検出し得ることは公知である。図１１の回路において、特に、星印が付いた２つのインバータ１１３０および１１１０は、単なる順安定でなくて明らかにＬＯでない場合に、ＬＯ出力を生成するように設計されている。次いで、星印が付いたインバータからのＨＩ出力は、準安定性が終わっていることを確実に示す。星印が付いたインバータの１つのみがＨＩ出力を生成する。
【０１０９】
この回路の論理は、上方および下方の論理ＡＮＤ関数による動作に対する以下の論理ＡＮＤ条件を確立する。上方の関数は、状態コンダクタ１１０２がＨＩであり、状態コンダクタ１１０６がＬＯであり、下方の関数は動作しないことが保証されている場合に動作できる。この保証は、状態コンダクタ１１０４がＬＯであるか、または相互排他要素１１３２および１１０８が他の状態にある場合に発生する。同様に、下方のＡＮＤ関数は、状態コンダクタ１１０４がＨＩであり、状態コンダクタ１１０６がＬＯであり、上方の関数が動作しないことが保証されている場合に動作できる。
【０１１０】
上方または下方のいずれかの関数による動作は、２つのことを達成する。第１に、状況次第で、Ｐタイプ駆動トランジスタ１１４４または１１４６を介して状態コンダクタ１１０６をＨＩに設定する。第２に、状況次第で、直列スタックであるＮタイプ駆動トランジスタ１１２６および１１２８または１１１４および１１１２を介して選択された左の状態コンダクタ１１０２または１１０４をＬＯに設定する。この組合せは、「要求のサービス（ｓｅｒｖｉｃｉｎｇ　ｔｈｅ　ｒｅｑｕｅｓｔ）」と呼ばれる。
【０１１１】
（実施例ＦＩＦＯ動作）
図１２〜１９は、３ステージ先入れ先出し（ＦＩＦＯ）レジスタ制御回路の動作を示す。
【０１１２】
図１２および図１６において、Ｗ、Ｘ、ＹおよびＺとラベル付けられた４つの状態コンダクタが示される。ＮＡＮＤゲートは、キャリーラベルＡ、ＢおよびＣを出力する。データパスのラッチを動作する増幅されたパルスは、ＡＡ、ＢＢおよびＣＣとラベル付けられる。
【０１１３】
（ＬＯがＦｕｌｌである回路）
「ＬＯがＦｕｌｌである」回路形式は、図１２に表れている。状態コンダクタＷ、Ｘ、ＹおよびＺは、ＦＩＦＯの制御回路の連続したステージのＦｕｌｌまたはＥｍｐｔｙ状態を表示する。状態コンダクタＷは、ＦＩＦＯの入力ステージの状態を表示し、状態コンダクタＺは、ＦＩＦＯの出力ステージの状態を表示する。状態コンダクタＸおよびＹは、ＦＩＦＯの内部ステージの状態を表示する。この回路の状態コンダクタは、ＦＵＬＬ状態をＬＯ信号で表示し、ＥＭＰＴＹ状態をＨＩ信号で表示する。これが「ＬＯがＦＵＬＬである」状態エンコーディングと呼ばれる。
【０１１４】
このＦＩＦＯのデータは、ラッチ１２０２、１２０６および１２１０を介して左から右に流れる。同様に、このＦＩＦＯのデータは、反転論理回路１２０４および１２０８を介して左から右に流れる。パルス出力ＡＡ、ＢＢおよびＣＣは、ラッチ１２０２、１２０６および１２１０をそれぞれ制御する。それぞれのラッチは、その制御信号がＨＩである場合には透明であり、逆の場合には不透明である。理解されるように、この回路は、ラッチ駆動出力上で短い持続時間のＨＩパルスを生成する。これらのパルスは、ＦＩＦＯデータパスのラッチを介してデータを移動することに適している。
【０１１５】
これらのパルス回路１２１２、１２１６および１２１７は図１２に表されている。それぞれがＮＡＮＤゲート、３つのインバータ、１つのＰタイプ駆動トランジスタおよび１つのＮタイプ駆動トランジスタからなる。これらの駆動トランジスタは、状態コンダクタＷ、Ｘ、ＹおよびＺを駆動させ得る。状態コンダクタＸおよびＹが図１２に簡単に表されているが、実際に使用する際、状態コンダクタＸおよびＹは、パルス回路が空間的にかなり離れている場合にはかなり長くなり得ることに留意されたい。
【０１１６】
パルス回路それぞれは、左の状態コンダクタの状態が「ＦＵＬＬ」であり、右の状態コンダクタの状態が「ＥＭＰＴＹ」であることを検出する。これは、選択された「ＬＯがＦＵＬＬである」状態エンコーディングを用いると、左の状態コンダクタがＬＯであり、右の状態コンダクタがＨＩであることに対応する。図１２のそれぞれのＮＡＮＤゲートがこの状態に応答することが容易に理解される。それぞれのＮＡＮＤゲートは、ＦＵＬＬ−ＥＭＰＴＹ条件を検出するといつでもＬＯ出力信号を生成する。
【０１１７】
ＮＡＮＤゲート１２２０からのＬＯ出力は３つのことを為す。第１に、ＮＡＮＤゲート１２２０からのＬＯ出力は、左のＰタイプ駆動トランジスタ１２２１を用いることによって左の状態コンダクタＸをＨＩ状態に駆動する。第２に、ＮＡＮＤゲート１２２０からのＬＯ出力は、右のインバータ１２２２およびＮタイプ駆動トランジスタ１２２３を用いることによって右の状態コンダクタＹをＬＯ状態に駆動する。第３に、ＮＡＮＤゲート１２２０からのＬＯ出力は、出力インバータ１２２４を用いて、ラッチ駆動ワイヤＢＢにおいて正の出力を生成する。他のＮＡＮＤゲート１２２５および１２３１の出力は同様に動作する。
【０１１８】
これらの動作の結果は、もちろん、状態コンダクタの以前のＥＭＰＴＹ−ＦＵＬＬ条件をＦＵＬＬ−ＥＭＰＴＹ条件に変え、対応するラッチを透明にすることであり、この結果、ＦＩＦＯの以前のＥｍｐｔｙステージにＦｕｌｌステージからデータを移動する。もちろん、状態コンダクタＸおよびＹにおける駆動トランジスタ１２２１および１２２３の動作は、ＮＡＮＤゲート１２２０を動作させるまさにその条件を除去し、次いで、回路の動作期間を終了する。動作期間後、駆動トランジスタ１２２１および１２２３は、オフにスイッチングされ、ラッチ制御出力ＢＢは、ラッチを通常の不透明な条件に戻すＬＯ状態に戻る。
【０１１９】
ここで、図１３〜１５に示される波形について説明する。垂直な点線は、時間の経過を表示する；それぞれの点線は、１ゲート遅延を表示する。波形図のそれぞれのロウは、対応してラベル付けされた回路の一部における信号の動作を表示する。
【０１２０】
状態コンダクタＷに示された波形は、波形が状態コンダクタＺに用いられるように部分的に点状になっている。これらの波形の点状部分は、図示された回路に入力を送達することに役に立ち、この回路からの出力を受容することに役に立つ回路によって引き起こされる（図示せず）。図１２に示される回路の部分は、点線で示されるように、状態コンダクタＷがＬＯとなる（入力データがＦＩＦＯで利用可能であることを示す）場合のみに動作を開始する。図１２に図示されない回路は、適切な時点で、状態コンダクタＷをＬＯに駆動する。図１２に示されていない他の回路は、適切な時点で、状態コンダクタＺをＨＩに駆動する。例示を目的とするために、これらの入力動作および出力動作は、異なる図で異なる時間に表される。
【０１２１】
（入力限界動作（Ｉｎｐｕｔ　ＬＩｍｉｔｅｄ　Ａｃｔｉｏｎ））
図１３を参照すると、「入力限界」とラベル付けされた第１のセットの波形は、一時的な入力に対する回路の動作を示す。ＦＩＦＯは、最初、状態コンダクタＷ、Ｘ、ＹおよびＺのＨＩ初期状態によって示されるようにＥＭＰＴＹである。入力回路（図示せず）は、新しいデータが利用可能であるときに、状態コンダクタＷをＬＯ状態（ＦＵＬＬを表す）に駆動する。理解されるように、ＦＩＦＯ制御は、このような入力データ項目を受容し、このデータ項目をＦＩＦＯ出力に進める。
【０１２２】
状態コンダクタＷがＬＯ（新しい入力を示す）になった後に、ＮＡＮＤゲート１２２５の出力ＡもＬＯになる。これには２ゲート遅延（インバータ１２２６に対するゲート遅延およびＮＡＮＤゲート１２２５自体のゲート遅延）を必要とする。
【０１２３】
信号ＡがＬＯになってから１ゲート遅延だけ経ったときに、Ｐタイプ駆動トランジスタ１２２７は、状態コンダクタＷをＨＩ状態に戻す。次いで、状態コンダクタＷは、３ゲート遅延の間のみＬＯのままである。状態コンダクタＷは、一連のＬＯパルスを生成するように見える。しかし、点状の降下線として示された、このようなパルスそれぞれの前方エッジ（ｌｅａｄｉｎｇ　ｅｄｇｅ）は、Ｎタイプ駆動トランジスタの動作の結果である（図示せず）。対照的に、立ち上がっている後方エッジのみがＮＡＮＤゲート１２２５およびそのＰタイプ駆動トランジスタ１２２７の動作の結果である。
【０１２４】
信号ＡがＬＯとなる毎に、この駆動トランジスタはまた状態コンダクタＸをＬＯ状態に駆動させる。これは、もちろん、２ゲート遅延（インバータ１２２８に対するゲート遅延およびＮタイプ駆動トランジスタ１２２９自体のゲート遅延）が必要となる。
【０１２５】
次に、状態コンダクタＷおよび状態コンダクタＸの両方の状態変化は、ＮＡＮＤゲート１２２５から入力を除去し、この出力Ａ（ｓｏ　ｉｔｓ　ｏｕｔｐｕｔ　Ａ）はＨＩ状態に戻り、駆動トランジスタ１２２７および１２２９をすぐに閉鎖する。この結果が信号Ａの短いＬＯパルスである。このパルスの長さは、２ループ接続の遅延によって設定される（一方のループはＮＡＮＤゲート１２２５の左に、他方のループはＮＡＮＤゲートの右にある）。ＮＡＮＤゲート１２２５は、これらのループの第一番目がその動作を完了させる時にはいつでも、閉鎖し、その出力ＡをＨＩにする。回路は、これらの２つのループのタイミングが図面の波形に示されるように十分に適合されるときに最良に動作する。
【０１２６】
信号ＡのＬＯパルスは、１ゲート遅延後に、対応するＨＩパルスを出力ＡＡに生成する。このパルスにより、出力ＡＡに接続されたラッチ１２０２が絶えず透明になり、次いで、このラッチを通常の不透明状態に戻す。ラッチが透明である間、ラッチは、入力データをラッチの出力にコピーする。
【０１２７】
ＮＡＮＤゲート１２２０を備えた第２のパルス回路１２１６が同様の動作を提供することに留意されたい。波形Ｂ、ＢＢおよびＹは、Ａ、ＡＡおよびＸと同様であるが、４ゲート遅延後に生じる。状態コンダクタＹの立下りエッジに状態コンダクタＸの立下りエッジを進めるには、４ゲート遅延がカウントされ得る。このゲート遅延は、インバータ１２３０、ＮＡＮＤゲート１２２０、インバータ１２２２およびＮタイプ駆動トランジスタ１２２３による。この制御回路の「前方待ち時間」は、１ステージに４ゲート遅延である。図１３に示された前方待ち時間は、波形Ｗ、Ｘ、ＹおよびＺの前方すなわち立下りエッジにのみ適用する。状態コンダクタＸおよびＹの立上がりエッジは、パルス回路それぞれ内部の動作の結果である。これらは図１３と同じ遅延後に生じるが、常に図１３と同じ遅延後に生じる必要はない。
【０１２８】
最後のパルス回路１２１７（信号Ｃを生成するＮＡＮＤゲート１２３１を備える）は、データがＦＩＦＯの出力ステージで利用可能になるときにいつでも状態コンダクタＺをＬＯ状態に駆動する。この動作は、波形Ｚの実線として示されている。適切な回路（図示せず）は、データ基準がＦＩＦＯの出力ステージから取り除かれるように状態コンダクタＺをＨＩに再駆動する。次の実施例において、除去信号が遅延される場合に何が生じるかが理解される。
【０１２９】
したがって、利用可能な入力レートによって制限される動作に対して、それぞれの信号は、一連のパルスを運ぶ。ＮＡＮＤゲート、Ａ、ＢおよびＣの出力は、まさしくパルスである。なぜなら、ＮＡＮＤゲートの出力がＬＯである時いつでも、それはＮＡＮＤゲートから入力を取り除くように機能するからである。この動作の左右するトランジスタの幅（ｔｈｅ　ｗｉｄｔｈ　ｏｆ　ｔｈｅ　ｔｒａｎｓｉｓｔｏｒｓ　ｒｅｓｐｏｎｓｉｂｌｅ　ｆｏｒ　ｔｈｉｓ　ａｃｔｉｏｎ）を制御することにより、ＮＡＮＤゲートのパルス出力の持続時間が制御され得る。信号ＡＡ、ＢＢおよびＣＣのパルスは、対応するＮＡＮＤゲートの出力におけるパルスの直接的な結果である。
【０１３０】
しかし、状態コンダクタＷ、Ｘ、ＹおよびＺのパルスは、さらに複雑な相互作用の結果である。状態コンダクタにおけるパルスは、前のステージからすぐにデータを取り除くＦＩＦＯの次のステージの結果である。例えば、状態コンダクタＸの立下がりエッジは、最も左のパルス回路１２１２の一部であるＮタイプの駆動トランジスタ１２２９による動作の結果である。しかし、状態コンダクタＸの立上がりエッジは、中心パルス回路の一部であるＰタイプ駆動トランジスタ１２２１による動作の結果である。
【０１３１】
波形Ｗ、Ｘ、ＹおよびＺがＥＭＰＴＹを示すＨＩであることが多いことに留意されたい。これは、ＦＩＦＯが常にＥＭＰＴＹであることを示し、その入力からのデータを待つことを示す。それぞれの入力データ要素は、図に示されるパルスパターンでＦＩＦＯを介して流れる。
【０１３２】
（出力制限（ｌｉｍｉｔｅｄ）動作）
図１４の波形は、回路の出力データレート制限での同様の回路動作を示す。入力デバイス（図示せず）は、できる限り早くＦＵＬＬを示す状態コンダクタＷでＬＯを駆動する。しかし、ＥＭＰＴＹを示す状態コンダクタＺからＨＩ状態への駆動を引き起こす出力デバイス（図示せず）は、そのデバイスの稼動を促す。
【０１３３】
図１４は、黒の垂直破線によって分けられた、二つの動作のはっきりした間隔を示す。黒線より前は、ＦＩＦＯが満ちる「充填」間隔である。黒線より後は、ＦＩＦＯが、データ要素がＦＩＦＯから除去される各時間に応答する間の「動作」間隔である。この例示において、波形ＷおよびＺの点線部分である入力および出力動作は、これら二つのはっきりした動作間隔を生成するためにこのようなパターンで生じる。
【０１３４】
充填間隔中、状態コンダクタＷは、急激な遷移における四つの入力をＦＩＦＯに示す。これらの入力は、状態コンダクタＷ上の四つの最初の点線の下降する変移である。しかし、状態コンダクタＷは、延長した周期に対してＬＯを残すので、第５のこのような入力は待機する必要がある。
【０１３５】
同様に、充填間隔中、状態コンダクタＸ（ＦＩＦＯにおいてより遅い一つのステージ）は、急激な遷移における三つの入力を得て、状態コンダクタＹ（さらに遅い一つのステージ）は二つの入力を得る。これらは、それらのそれぞれの波形の下降部分によって示される。状態コンダクタＺは、その第１の下降端によって示されるように、一つだけの入力を得る。状態コンダクタＺは、そこで動作間隔までＦＵＬＬになり、ＦＵＬＬのままである。
【０１３６】
垂直の黒線によって表される時間に、ＦＩＦＯは充填され、さらに稼動し得ない。各状態コンダクタが、ＦＵＬＬを示すＬＯであることに留意されたい。現在、動作は、ＦＩＦＯからのデータ要素の除去を待つばかりである。
【０１３７】
動作間隔における第１の稼動は、波形Ｚにおいて第１の上昇点線である。回路（図示せず）が、この上昇線を生成する。この上昇線は、ＦＩＦＯの出力が受信されたことを示す。状態コンダクタＺの上昇線は、ＦＩＦＯの出力ステージがＥＭＰＴＹであることを示し、最も右側のパルス回路の稼動によって補充され得る。データ要素が、既にＦＩＦＯの次の最後のステージで待機しているので、ＮＡＮＤゲート１２３１は、ＬＯに続く波形Ｃによって示されるように発火し得る。これは、ＦＵＬＬ状態を示すＬＯ状態に状態コンダクタＺを、およびＥＭＰＴＹを示すＨＩ状態に状態コンダクタＹを順に移動する。現在ＮＡＮＤゲート１２２０が稼動し、信号Ｂに類似のパルスを生成し得る。その後すぐに、ＮＡＮＤゲート１２２５が稼動し、信号Ａに類似のパルスを生成し得る。
【０１３８】
従って、動作間隔の間、稼動は出力から入力に生じる。ちょうど、渋滞中のフリーウェイ上の車が、その前にスペースが空いたときだけ移動するように、データ要素は、その前のデータアイテムのそれぞれの移動に応じて前方に移動する。従って、動作間隔中、波形Ｙは波形Ｚのコピーであるが、二ゲートディレイだけ遅延されることを示している。同様に、波形Ｘは、波形Ｙなどから二ゲートディレイだけ同様に遅延される。
【０１３９】
「ｂｕｂｂｌｅ」（すなわち空のステージ（ｅｍｐｔｙ　ｓｔａｇｅ））は、ＦＩＦＯを介して、一ステージにつき二ゲートディレイだけ右から左に動く。状態コンダクタＹから状態コンダクタＸに進む上昇遷移の二ゲートディレイを考慮する。二ゲートディレイは、信号Ｂを生成するＮＡＮＤゲート１２２０、およびＸを駆動するＰ型駆動トランジスタ１２２１である。つまり、この回路の「逆の待ち時間」は、一ステージにつき二ゲートディレイである。
【０１４０】
動作間隔の間、状態コンダクタＸ、Ｙ、ＺおよびＷは、主に、ＦＵＬＬを示すＬＯであることに注意されたい。ＦＩＦＯは、たいてい、いっぱいのデータがあり、「ｂｕｂｂｌｅ」が右から左へＦＩＦＯを介して流すように時折だけ稼動する。
【０１４１】
（最大処理能力動作）
図から除外された入力および出力回路ができる限り早く動作する場合、何が生じただろうか？図１５の波形は、動作結果を示す。状態コンダクタＷ、Ｘ、Ｙ、およびＺが「ＦＵＬＬ」を示す時間を半分だけ、「ＥＭＰＴＹ」を示す時間を半分だけ費やすことに留意されたい。
【０１４２】
回路の各部分は、同じ特性周波数で発振する挙動を表す。動作の各サイクルを完了するためには、六ゲートディレイを要し、厳密に言えば、三つのインバータの合成されたリング発振器の周波数を要する。その代わり、この種の回路は、回路が共有するＮＡＮＤゲート１２２５、１２２０、および１２３１によって提供されたＡＮＤ関数を介して接続されたリング発振器のグループである。図１３および１４において、ＦＩＦＯの稼動に適切な状態で待機し、図１３においてＥＭＰＴＹ状態で待機し、図１４でＦＵＬＬ状態で待機する状態コンダクタを示す。図１５において、全ての部分は、出来るだけ速く稼動し、状態コンダクタは、時間ＦＵＬＬの半分およびＥＭＰＴＹの半分を費やす。全ての部分は、全速力で稼動するので、状態コンダクタは示される通常のパターンで稼動する。
【０１４３】
様々な信号の位相を見る価値がある。状態コンダクタＹは、状態コンダクタＸのパターン（四ゲートディレイ遅延、かつ、前方の待ち時間）をコピーすることに留意されたい。もちろん、サイクルが六ゲートディレイ長いので、状態コンダクタＸは、二ゲートディレイだけ後に続くＹ（後方の待ち時間）のように予想され得る。非同期ＦＩＦＯのサイクル時間が、前方および後方の待ち時間の合計であることは長く既知である。
【０１４４】
（ＨＩ＝Ｆｕｌｌ状態（ＨＩ　ｉｓ　Ｆｕｌｌ）の回路）
図１および図２の回路は、先入れ先出し（ＦＩＦＯ）回路の制御を形成するように組み合わされ得る。このようなＦＩＦＯの三つのステージの完全な回路は、図１６のように示す。状態コンダクタは、Ｗ、Ｘ、Ｙ、およびＺとラベル付けされる。
【０１４５】
この回路は、従来の回路のまさに逆である、「ＨＩ＝ＦＵＬＬ」状態のワイヤに対してその状態の符号化を用いる。さらに、それぞれのＡＮＤ関数は、状況ＦＵＬＬがＨＩ状態であり、状況ＥＭＰＴＹがＬＯ状態である隣接した状態コンダクタによって示されるように調整される（ｔｉｍｅ）。
【０１４６】
図１２の回路と異なる、図１６の回路において、ＡＮＤ関数は、二つの分割した部分のように示す。一方の部分は、ＮＡＮＤゲート１６０６から成り、他方の部分は、二つの直列のＮ型駆動トランジスタ１６０４および１６０５から成る。ＮＡＮＤゲートはまた、その内部に二つの直列のＮ型トランジスタを有し、その入力は、二つの直列の駆動トランジスタ１６０４および１６０５への入力と並列に結ばれることを覚えておきたい。従って、ＮＡＮＤゲート１６０６の出力がＬＯの方へ駆動されると、二つの直列駆動トランジスタ１６０４および１６０５は、状態ワイヤＸをＬＯの方へ同様に駆動させる。
【０１４７】
（入力制限された稼動）
図１７は、左からの時折の入力に応答するときのＦＩＦＯ制御の動作を示す。最初は、状態信号Ｗ、Ｘ、Ｙ、およびＺの全てが、ＦＩＦＯが最初にＥＭＰＴＹであるため、ＥＭＰＴＹを示すＬＯになる。
【０１４８】
波形Ｗの点線部分は、図示されていない回路によって生じる上昇遷移である。それぞれは、ＦＩＦＯの入力における新しいデータ要素の到達に一致する。それぞれのこのような到達により、ＦＩＦＯ制御が左から右へのステージからステージへの稼動を通すことは、図１７から容易に分かる。信号Ａ、Ｂ、およびＣが、信号ＡＡ、ＢＢ、およびＣＣと同様、正確に図１３の信号と類似することに留意されたい。
【０１４９】
この回路は、状態コンダクタとＮＡＮＤゲートとの間の異なる関係を特徴とする。以前、状態コンダクタＸとＮＡＮＤゲート１６０１との間にただ一つのインバータがあった所に、現在では二つのインバータがある。従って、状態ワイヤは、この回路において、一ゲートディレイ早い状態に変化して、ＮＡＮＤゲートにおいて同じタイミングで達する必要がある。図１７の状態コンダクタの波形Ｗ、Ｘ、Ｙ、およびＺが図１３のそれらの波形にしたがって反転されるだけでなく、それらの波形は、一ゲートディレイ早くなっていることに留意されたい。従って、例えば、波形Ｘの上昇端は、図１７の波形ＡＡの上昇端と一致する。それに対して、図１３において対応する波形は反転されるだけでなく、一ゲートディレイ遅くなる。
【０１５０】
それにもかかわらず、図１７の全体のパターンは、図１３のパターンと類似する。状態コンダクタＷにおける各入力イベントにより、連続パルスは、ＦＩＦＯを介して伝わり、最後にＦＩＦＯの出力にデータを送達する。
【０１５１】
（出力制限稼動）
図１３と同様に図１８は、黒の垂直破線によって分けられる、動作の二つの明確な間隔において回路の動作を示す。さらに、この間隔は、「充填間隔」および「動作間隔」である。充填間隔中、連続した少数のイベントは、イベントがいっぱいになるように、ＦＩＦＯの連続したステージに到達する。状態コンダクタＸ、Ｙ、Ｚ、およびＷは、最初は、ＥＭＰＴＹを示すＬＯであることに留意するべきである。黒の垂直線において、ＦＩＦＯが現在完全にＦＵＬＬであるため、状態コンダクタは、全て、ＦＵＬＬを示すＨＩである。
【０１５２】
動作間隔中、ＦＩＦＯ稼動は、出力回路（図示せず）が、状態コンダクタＺをＬＯ状態に駆動することによって、ＦＩＦＯからの要素を除去する割合によって制限される。このような動作の三つのサイクルは図１８で見られる。各サイクルに従って、ステージは、右から左へ連続して稼動することに留意されたい。もちろん、ＦＩＦＯの入力の方へ「ｂｕｂｂｌｅ」を通して、各項目の部屋を前方に移動させ、最終的に、別の項目の部屋を左から入れられる。
【０１５３】
さらに、この回路の「前方待ち時間」は四ゲートディレイである。状態コンダクタＸから状態コンダクタＹへの上昇端を伝播することを含むゲートをカウントし得る。ゲートは、インバータ１６０７、インバータ１６０８、ＮＡＮＤゲート１６０６、およびＰ型駆動トランジスタ１６１０である。
【０１５４】
さらに、この回路の「後の待ち時間」は、二ゲートディレイである。状態コンダクタＹから状態コンダクタＸへの下降端を伝播することを含むゲートをカウントし得る。ゲートは、状態コンダクタＸをＬＯの方へ駆動するインバータ１６１１および一対のＮ型トランジスタ１６０４および１６０５である。
【０１５５】
（最大処理能力動作）
図１９を参照すると、入力回路および出力回路（図示せず）は共に、適切な時間において、状態コンダクタＷをＨＩへ駆動し、状態コンダクタＺをＬＯへ駆動すると、回路は最大処理能力で動作する。この場合、回路の全ての部分は、ＡＮＤ関数を実行するゲートで接続されるリング発振器のように動作する。この回路には、ＡＮＤ関数を実行する二つの場所があることを覚えておきたい。一つは、ＮＡＮＤゲートであり、他方は、一対の直列Ｎ型トランジスタである。
【０１５６】
生じる波形は、図１５の波形と酷似する。しかし、ここでは、状態コンダクタは共に、反転され、前の図の波形より一ゲートディレイ進んでいる。
【０１５７】
ＨＩ＝ＦＵＬＬ形式は、ＬＯ＝ＦＵＬＬ形式以上の数の利点を有する。
【０１５８】
第１に、各状態コンダクタとＮＡＮＤゲートおよび一対の直列Ｎ型トランジスタへの入力との間に少なくとも一つのインバータがある。これらのトランジスタのスイッチレベルを制御し、状態コンダクタの状態において変化するための回路の応答を制御し得る。状態コンダクタは、これらの図において短く見えるが、実際は、長い距離を補っていることを思い起こされたい。従って、例えば、状態コンダクタＸからの入力を共に受け取る、図１６におけるインバータ１６１２および１６０７は、遠くに分けられ得る。
【０１５９】
第２に、ＨＩ＝ＦＵＬＬ形式の状態コンダクタが、ＬＯ＝ＦＵＬＬ形式の状態コンダクタよりも一ゲートディレイ早く稼動するため、状態コンダクタとＢＢのようなラッチ駆動出力との間により増幅するための時間がある。状態コンダクタＸから出力ＢＢにおいて、図１６の回路で四つのゲート（インバータ１６０７および１６０８、ＮＡＮＤゲート１６０６、ならびにインバータ１６１３）を見つけ得るが、図１２の回路では三つのゲート（インバータ１２３０、ＮＡＮＤゲート１２２０、およびインバータ１２２４）のみを見つけ得る。従って、ラッチ駆動出力における等価な出力レベルに対して、ＨＩ＝ＦＵＬＬ形式は、状態コンダクタにおいて、より少ない出力を必要とする。
【０１６０】
第３に、この回路におけるインバータ１６０７およびインバータ１６０８のような二つの直列インバータの存在は、いくつかのアプリケーションにおける主要な助けとなる。例えば、図１１の調停回路は、相互の除外要素およびその反準安定性ゲートと上記二つのインバータとを置き換える。様々な分岐回路および合流回路は、ＮＡＮＤゲートと上記インバータの一方または両方とを置き換えて、いくつかの一点に集中するパスからの入力を組み合わせる。
【０１６１】
本発明の実施形態の上記の説明は、図解および説明のみの目的のために提示される。これら説明は、開示された形式に本発明を網羅し、限定することを意図しない。従って、多くの変更および改変は、当業者にとって明白なことである。従って、上記の開示は、本発明を限定することを意図しない。本発明の意図は、上掲の特許請求の範囲によって定義される。
【図面の簡単な説明】
【図１】
図１は、本発明の実施形態による、コンダクタ上に状態情報を保持する非同期回路を示す。
【図２】
図２は、本発明の別の実施形態による、コンダクタ上に状態情報を保持し、かつ、自己リセットＮＡＮＤゲートを含む非同期回路を示す。
【図３】
図３は、本発明の実施形態による、二つのコンダクタを制御する非同期回路を示す。
【図４Ａ】
図４Ａは、本発明の実施形態による、コンダクタ上に状態情報を保持する別の非同期回路を示す。
【図４Ｂ】
図４Ｂは、本発明の実施形態による、図４Ａで示された回路の別の表現を提示する。
【図５】
図５は、本発明の実施形態による、分枝する短絡先入れ先出し（ＦＩＦＯ）回路を制御する非同期回路を示す。
【図６】
図６は、本発明の実施形態による、数個の記号、および、それらに対応する回路を示す。
【図７Ａ】
図７Ａは、本発明の実施形態による、交流回路を示す。
【図７Ｂ】
図７Ｂは、本発明の実施形態による、図７Ａの交流回路に関連するレジスタを示す。
【図８】
図８は、本発明の実施形態による、ラウンド・ロビン回路を示す。
【図９】
図９は、本発明の実施形態による、ＮＡＮＤゲート形式を用いたデータ条件付き回路を示す。
【図１０】
図１０は、本発明の実施形態による、自己リセットを用いたデータ条件付き回路を示す。
【図１１】
図１１は、本発明の実施形態による、要求マージを示す。
【図１２】
図１２は、本発明の実施形態による、ＬＯ＝ＦＵＬＬ形式のＦＩＦＯ回路を示す。
【図１３】
図１３は、本発明の実施形態による、図１２からのＦＩＦＯ回路の入力制限動作のタイミング図を提示する。
【図１４】
図１４は、本発明の実施形態による、図１２からのＦＩＦＯ回路の出力制限動作のタイミング図を提示する。
【図１５】
図１５は、本発明の実施形態による、図１２からのＦＩＦＯ回路の最大スループット動作のタイミング図を提示する。
【図１６】
図１６は、本発明の実施形態による、ＨＩ＝ＦＵＬＬ形式のＦＩＦＯ回路を示す。
【図１７】
図１７は、本発明の実施形態による、図１６からのＦＩＦＯ回路の入力制限動作のタイミング図を提示する。
【図１８】
図１８は、本発明の実施形態による、図１６からのＦＩＦＯ回路の出力制限動作のタイミング図を提示する。
【図１９】
図１９は、本発明の実施形態による、図１６からのＦＩＦＯ回路の最大スループット動作のタイミング図を提示する。
【図２０】
図２０は、本発明の実施形態による、条件付き分枝回路を示す。
【図２１】
図２１は、本発明の実施形態による、条件付きマージ回路を示す。
【図１】
2004512712.tif 000003
【図２】
2004512712.tif 000004
【図３】
2004512712.tif 000005
【図４Ａ】
2004512712.tif 000006
【図４Ｂ】
2004512712.tif 000007
【図５】
2004512712.tif 000008
【図６】
2004512712.tif 000009
【図９】
2004512712.tif 000010
【図１０】
2004512712.tif 000011
【図１１】
2004512712.tif 000012
【図１２】
2004512712.tif 000013
【図１４】
2004512712.tif 000014
【図１５】
2004512712.tif 000015
【図１６】
2004512712.tif 000016
【図１７】
2004512712.tif 000017
【図１８】
2004512712.tif 000018
【図１９】
2004512712.tif 000019
【図２１】
2004512712.tif 000020
【国際公開パンフレット】
2004512712.tif 000021
2004512712.tif 000022
2004512712.tif 000023
2004512712.tif 000024
2004512712.tif 000025
2004512712.tif 000026
2004512712.tif 000027
2004512712.tif 000028
2004512712.tif 000029
2004512712.tif 000030
2004512712.tif 000031
2004512712.tif 000032
2004512712.tif 000033
2004512712.tif 000034
2004512712.tif 000035
2004512712.tif 000036
2004512712.tif 000037
2004512712.tif 000038
2004512712.tif 000039
2004512712.tif 000040
2004512712.tif 000041
2004512712.tif 000042
2004512712.tif 000043
2004512712.tif 000044
2004512712.tif 000045
2004512712.tif 000046
2004512712.tif 000047
2004512712.tif 000048
2004512712.tif 000049
2004512712.tif 000050
2004512712.tif 000051
2004512712.tif 000052
2004512712.tif 000053
2004512712.tif 000054
2004512712.tif 000055
2004512712.tif 000056
2004512712.tif 000057
2004512712.tif 000058
2004512712.tif 000059
2004512712.tif 000060
2004512712.tif 000061
2004512712.tif 000062
2004512712.tif 000063
2004512712.tif 000064
2004512712.tif 000065
2004512712.tif 000066
2004512712.tif 000067
2004512712.tif 000068
2004512712.tif 000069
2004512712.tif 000070
2004512712.tif 000071
2004512712.tif 000072
2004512712.tif 000073
2004512712.tif 000074
2004512712.tif 000075
2004512712.tif 000076
2004512712.tif 000077
2004512712.tif 000078
2004512712.tif 000079
2004512712.tif 000080
2004512712.tif 000081
2004512712.tif 000082
2004512712.tif 000083
2004512712.tif 000084
【国際公開パンフレット（コレクトバージョン）】
2004512712.tif 000085
【国際調査報告】
2004512712.tif 000086
2004512712.tif 000087