(57)【特許請求の範囲】
【請求項１】
透過データ・トリガされるパイプライン・ラッチであって、
ａ）ハイおよびロー・レベルのマウストラップ・データ入力と、
ｂ）ハイおよびロー・レベルのマウストラップ・データ出力と、
ｃ）ハイおよびロー・レベルのマウストラップ・データ記憶ノードと、
ｄ）クロック入力と、
ｅ）ハイおよびロー・レベルのマウストラップ・データの制御であって、該制御の各々は、それぞれのハイまたはロー・レベルのマウストラップ・データ入力、出力、および記憶ノードとに接続され、各々の制御は、
i）該制御のデータ入力によって操作される入力トリガと、
ii）対照となる該制御のデータ記憶ノードに対してされたクロスオーバ接続を介して操作される入力トリガ禁止手段と、
iii）該制御のデータ記憶ノードと該制御のデータ出力手段の間に接続されたデータ記憶装置と、
iv）前記クロック入力によって操作されるリセット機構と、
v）該制御のデータ入力によって操作されるリセット禁止手段と、
を有する前記制御と、
を備える透過データ・トリガされるパイプライン・ラッチ。
【請求項２】
セルフ・タイムされたダイナミック論理パイプラインであって、  ａ）第１および第２の論理ブロックであって、各々が少なくとも１つのアーミング機構に連結しているセルフ・タイムされたダイナミック論理を含む、前記第１および第２の論理ブロックと、
ｂ）第１および第２クロック信号であって、
i）前記第１および第２論理ブロックのアーミング機構にそれぞれ発送され、
ii）次のＡ）とＢ）を行うように第１のクロックと第２のクロックとが切り替えられ、
Ａ）前記第２の論理ブロックが評価期間を与えられるとき、前記第１の論理ブロックは予充電期間を与えられ、
Ｂ）前記第１の論理ブロックが評価期間を与えられるとき、前記第２の論理ブロックは予充電期間を与えられ、
iii）前記第２のクロック信号は、前記第２の論理ブロックで前記評価期間を開始するための第１のエッジと、前記第２の論理ブロックで前記予充電期間を開始する第２のエッジと、を有し、
ｃ）前記第１の論理ブロックの論理出力からの論理入力を有するラッチであって、入力は前記第２のクロック信号のためであり、論理出力は前記第２の論理ブロックの論理入力に接続され、前記ラッチは、更に、
i）前記第１の論理ブロックから受信したセルフ・タイムされたデータを記憶する記憶手段と、
ii）前記第２のクロック信号の前記第１のエッジに先立ち、前記記憶手段によって、前記セルフ・タイムされたデータの受信を可能にするリセット手段と、
iii）前記第１の論理ブロックから前記セルフ・タイムされたデータを受信した後、前記記憶手段によるデータの受信を禁止する禁止手段と、
iv）前記第２のクロック信号の前記第１のエッジに先立ち、前記記憶手段に記憶されているセルフ・タイムされたデータを第２の論理ブロックの論理に転送する転送手段であって、前記第１および第２のクロック信号から独立して稼働している前記転送手段と、を有する前記ラッチと、
を備えるセルフ・タイムされたダイナミック論理パイプライン。
【請求項３】
交互に評価されるダイナミック論理パイプラインの第１および第２の論理ブロック間でデータを転送する方法であって、前記パイプラインは、前記第１および第２の論理ブロック間のデータ・フローを制御する複数のラッチを含み、前記方法は、前記第１の論理ブロックに与えられた評価期間の間、
ａ）同時に、
i）前記第１の論理ブロックのデータ入力に存在するデータを評価し、
ii）前記複数のラッチをリセットする、ステップと、
ｂ）前記第１の論理ブロックから出力される有効なデータとして、前記複数のラッチの１番目をトリガするステップと、
ｃ）前記複数のラッチの１番目をトリガするステップの直後に、多くの有効なデータ信号を第２の論理ブロックに提供し、前記多数の有効なデータ信号は、前記複数のラッチの２番目の出力から発生し、前記複数のラッチの２番目は、前記複数のラッチの１番目のサブセットである、ステップと、
ｄ）前記多数の有効なデータ信号を無効信号でＡＮＤすることによって、前記多数の有効なデータ信号の伝播を停止するステップと、
を有する前記方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ダイナミック論理パイプラインに関連し、特に、ベクトル論理とダイナミック論理ゲートを備えるダイナミック論理パイプライン内で使用するための透過データ・トリガされるラッチに関連する。
【０００２】
【従来の技術】
ダイナミック論理ゲートは、ハイ・パフォーマンスであって大型にならないことを必要とする従来型の論理回路（そのような回路の一例としてパイプラインがある）で使用される。ダイナミック論理ゲートは、スタティック論理ゲートより高速である。本質的に、ダイナミック論理ゲートは、その目的とする論理機能を維持し、正しく実行するために、定期的な電気的予充電またはリフレッシュを必要とする回路である。ダイナミック論理ゲートの電気的予充電が放電されると、ダイナミック論理ゲートは、次に予充電がなされるまでは、他のいかなる論理機能も実行することができない。
【０００３】
米国特許第5,392,423号「マウストラップ（mousetrap）論理回路のための一般的なパイプライン・ラッチ」の中で記述されるように、ダイナミック論理パイプラインのスピードは、パイプラインの論理段の各々に、パイプで送られたデータをラッチすることによって改善することができる。この特許は、ベクトル論理を使用しており、また、ダイナミック・マウストラップ論理ゲートを備えるパイプラインを開示している。１または複数のパイプライン・ラッチは、パイプラインの各々の論理段と関連する。各々のパイプライン・ラッチは、ラッチ・リセット機構、入力トリガ機構、禁止機構、フリップフロップ機構、出力ゲート制御機構、およびラッチ・イネーブル・プルアップ（latch enable pull-up）機構を備える。パイプラインの論理段は、交互にクロックされる。従って、偶数の番号をつけられた段が、データの転送を促すためにハイ・クロック信号を受信していると同時に、奇数の番号をつけられた段は、論理回路の予充電を促すためにロー・クロック信号を受信している。また、この反対も同様である。この結果、論理回路の予充電は、パイプラインのオペレーションをそこなわない。
【０００４】
上記特許のパイプラインの各々の段のためのハイおよびロー・クロック・タイムは、事実上等しく設計されるが、固有の製造上の不均一により、クロックは、不均衡なものとなる。クロック不均衡は、有利および不利なクロック・フェーズを生じる。しかしながら、上記特許のパイプライン・ラッチのため、不利なフェーズで稼働しているパイプライン段は、有利なフェーズで稼働しているものから時間をとる（steal）ことができる。
【０００５】
【発明が解決しようとする課題】
上記特許のパイプラインは、クロックの立上りエッジおよび立下りエッジをトリガとして使用することによって、パイプラインの効率を増加させるが、パイプライン段が次のクロックのエッジを待つ間に、有効なデータが、どっちつかずの状態（in limbo）になる場合がある。すなわち、次の論理段がクロックのトリガを受信する前に、次の論理段にデータを伝播した方がよい状況が生じることがあった。
【０００６】
したがって、本発明の目的は、クロックのエッジの受信ではなく、有効なときに起動すべきデータを使用可能にする、データ・トリガされる出力を有するパイプライン・ラッチを提供することである。
【０００７】
本発明の他の目的は、回路のタイミングに本質的に影響せずに、記憶されるデータを使用可能にする、透過的なパイプライン・ラッチを提供することである。
【０００８】
本発明の他の目的は、有効なデータの記憶からダウンストリーム論理段のクロックのエッジを使用可能とするまでの時間で有益な仕事が行われるようにするパイプライン・ラッチを提供することである。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、発明者は、ダイナミック論理パイプラインの交互に評価される第１および第２の論理ブロック間で、データを転送する方法を発明した。この方法は、透過データ・トリガされるパイプライン・ラッチと関連する。この方法によって示されるように、複数の「データ・トリガされる出力」と「クロック・トリガされる出力」のパイプライン・ラッチは、第１および第２の論理ブロック間で、データ・フローを制御するために使用される。
【００１０】
第１の論理ブロックに与えられた評価期間の間、論理ブロックのデータ入力に存在しているデータが、評価される。それと同時に、第１および第２の論理ブロック間のデータ・フローを制御する複数のラッチが、リセットされる。有効なデータが第１の論理ブロックからの出力となるように、複数のラッチの１番目が、トリガされる。トリガされたラッチのいくつかはクロック・トリガされる出力を有し、いくつかはデータ・トリガされる出力を有する。データ・トリガされるラッチがトリガされた直後であって、クロック・トリガされる評価期間が第２の論理ブロックに与えられる前に、これらのラッチに記憶されたデータは、第２の論理ブロックに出力される。早めに到着しているデータ信号とまだ有効でないクロックされた信号とをアンド（ＡＮＤ）することによって、早めに到着しているデータの転送を停止することができる。無効な信号は、クロックまたはデータ信号を含むことがある。
【００１１】
早めに到着しているデータは、クロック信号またはクロックのエッジとは独立に動作するスタティック論理ゲートに供給されるとき、または、転送ディレイに関連して重負荷のデータ・ラインを通じて送られるとき、有益なものとなる。
【００１２】
新しく考えられたデータ・トリガされるパイプライン・ラッチは、一般に、「マウストラップ」論理として知られているベクトル論理のシステムを使用して実行される。マウストラップ論理は、米国特許第5,208,490号の中に記載されている。マウストラップ論理によって提供される固有の特徴は、１）機能の完全性、２）自己タイミング、および３）高速で稼働する能力、である。これらの特徴は、本発明を実行する際に、マウストラップ論理を特に有効なものとする。
【００１３】
ここに記載されたラッチの実施例は、ハイおよびロー・レベルのマウストラップ・データ制御を含む。ここで使用されるように、ハイおよびロー・レベルの制御は、ハイおよびローの論理レベルに対応し、ハイおよびローの電気レベルには対応しない。したがって、ハイ・レベルの論理制御は、変数の真に対応し、ロー・レベルの論理制御は、変数の偽に対応する。しかしながら、各々の制御は、「真／真でないまたは不明」、若しくは「偽／偽でないまたは不明」である変数に対応して、ハイまたはローの電気信号を生じることもある。例えば、ハイ・レベルの制御によって生じたハイ・レベルの電気信号が、変数が真であることを示すのに対して、ハイ・レベルの制御によって生じたロー・レベルの電気信号が、変数が真でないまたは不明であることを示す。各々の制御は、それぞれのハイまたはロー・レベルのマウストラップ・データ入力、出力、および記憶ノードと接続され、更に、入力トリガ、入力トリガ禁止手段、データ記憶装置、リセット機構、およびリセット禁止手段を含む。ラッチの前に論理段を与えられた評価期間の最初で、データ記憶装置は、リセット機構を通してクリアされ、そして、入力トリガは分岐される。データＨＩが入力トリガの１つによって受信されるとき、入力トリガ禁止手段は、相対する入力トリガを使用禁止にするために使用される。
【００１４】
このように、有効なデータはデータ記憶装置によって記憶され、劣化しつつある入力ノードのために的外れな信号をラッチが受取っても、記憶された有効なデータに影響を及ぼさない。有効なデータが記憶されると、それは直ちに次の論理段への出力となる。これによって、有益な仕事が次のクロックのエッジに先立ち完了される。クロックのエッジに応じてデータをラッチから送り出すというよりはむしろ、データは、有効なときに、出力される。
【００１５】
【発明の実施の形態】
マウストラップ論理回路のための透過データ・トリガされるパイプライン・ラッチ400を、図４に示す。ラッチ400は、一般に、ハイおよびロー・レベルのマウストラップ・データ入力406、408、ハイおよびロー・レベルのマウストラップ・データ出力402、404、ハイおよびロー・レベルのマウストラップ・データ記憶ノード428、430、及びクロック入力418を備える。更に、ラッチ400は、ハイおよびロー・レベルのマウストラップ・データ制御464、466を備え、各々の制御464、466は、そのそれぞれ、ハイおよびロー・レベルのマウストラップ・データ入力406、408、出力402、404、および記憶ノード428、430と接続される。各々の制御464、466は、入力トリガ412、413、入力トリガ禁止手段414、415、データ記憶装置416、417、リセット機構410、411、およびリセット禁止手段425、427を含む。各々の入力トリガ412、413はその制御のデータ入力406、408によって操作され、各々の入力トリガ禁止手段414、415は、クロスオーバ接続438、436を通じて、相対する制御446、464のデータ記憶ノード430、428へ操作される。共用制御機構464、466の入力トリガと入力トリガ禁止手段412/414、413/415は、制御のデータ記憶ノード428、430とアースの間に直列に接続される。各々のデータ記憶装置416、417は、その制御のデータ記憶ノード428、430とデータ出力402、404の間に接続され、各々のリセット機構410、411は、クロック入力418によって操作される。各々のリセット禁止手段425、427は、その制御のデータの入力406、408によって操作される。共用制御機構464、466のリセット機構とリセット禁止手段410/425、411/427は、制御のデータ記憶ノード428、430と電源の間に直列に接続される。
【００１６】
図１は、上述された透過データ・トリガされるラッチ400を使用するシステムを示す。システムは、一般に、第１および第２の論理ブロック112、116を含むセルフ・タイムされたダイナミック論理パイプライン100を備える。論理ブロック112、116の各々は、少くとも１つのアーミング機構で連結しているセルフ・タイムされたダイナミック論理を含む。
【００１７】
また、システムは、第１および第２のクロック信号126、128を含み、クロック信号126、128が、それぞれ、第１および第２の論理ブロック112、116のアーミング機構に送られる。クロック信号126、128は、実際に、交互に切り換わり、従って、第２の論理ブロック116が評価期間の間、第１の論理ブロック112が予充電期間となり、第１の論理ブロック112が評価期間の間、第２の論理ブロック116が予充電期間となる。特に、第２のクロック信号128は、第１および第２のエッジ328、330（図３）を有し、第２のエッジ330によって、第２の論理ブロック116で、予充電を開始し、第１のエッジ328によって、第２の論理ブロック116で、評価を開始する。
【００１８】
システムは、更に、ラッチ114、400（図４）を含む。ラッチ114、400は、第１の論理ブロック112の論理出力132から得られる論理入力406、408、第２のクロック信号128のための入力418、および第２の論理ブロック116の論理入力に接続される論理出力402、404を有する。ラッチ114、400は、更に、記憶手段416、417、リセット手段410、411、禁止手段414、415、およびデータ転送手段468、470を含む。記憶手段416、417は、第１の論理ブロック112から受信したセルフ・タイムされたデータを記憶し、上述したハイおよびロー・レベルのマウストラップ・データ制御464、466内のデータ記憶装置416、417と同一である。リセット手段410、411が、記憶手段416、417によってセルフ・タイムされたデータの受信を可能にする。リセット手段410、411は、ハイおよびロー・レベルのマウストラップ・データ制御464、466内の前述したリセット機構410、411と同一である。禁止手段414、415は、有効なセルフ・タイムされたデータが第１の論理ブロック112からすでに受信されているならば、記憶手段416、417が追加のデータを受信することを禁止する。禁止手段414、415は、ハイおよびロー・レベルのマウストラップ・データ制御464、466内の前述した入力トリガ禁止手段414、415と同一である。最後に、転送手段468、470は、記憶手段416、417に記憶されているセルフ・タイムされたデータを第２の論理ブロック116の論理回路に転送する。今まではできなかったが、第２のクロック信号128の第１のエッジ330に先立ちデータが、転送される。転送手段468、470は、ワイヤであり、第１および第２のクロック信号126、128とは独立して稼働する。
【００１９】
上述のシステムとラッチ400を使用して、ダイナミック論理パイプライン100の交互に評価される第１および第２の論理ブロック112、116の間でデータを転送する方法は、第１の論理ブロック112に調和する評価期間の間に起こる、以下のステップを含むことができる。最初に、第１の論理ブロック112のデータ入力に存在しているデータが評価される。このステップと実質的に同時に、第１および第２の論理ブロック112、116の間のデータ・フローを制御する複数のラッチ114がリセットされる。複数のラッチ114をリセットした後に、有効なデータ132が第１の論理ブロック112からの出力となるように、複数のラッチ114のうちの第１の数がトリガされる。複数のラッチ114のうちの第１の数をトリガした直後に、第２の論理ブロック116には、ある数の有効なデータ信号が供給される。この有効なデータ信号は、複数のラッチ114のうちの第２の数の出力から得られる、複数のラッチ114のうちの第２の数は、複数のラッチ114のうちの第１の数のサブセットであり、複数のラッチ114のうちの第１の数に等しくてもよい。最後に、多くの有効なデータ信号の転送は、無効な信号で有効なデータ信号をＡＮＤすることによって停止される。
【００２０】
透過データ・トリガされるラッチ400、それを使用するシステムと方法、そのシステムの実施例、ラッチ400、およびそれらを使用する方法を、詳述する。
【００２１】
図１は、従来のダイナミック論理パイプライン100を示す。パイプライン100は、一連のＮパイプライン段102-108を含む。パイプライン段102-108の各々は、複数のラッチ（ラッチ段110、114、118、122として図１の中で示す）の後に、論理ブロック112、116、120、124を含む。論理ブロック112、116、120、124の各々は、複数の論理ゲートを含む。ラッチ段110、114、118、122の各々のラッチは、単一のセルフ・タイムされたダイナミック論理変数に対応する。図１の矢印130によって示されるように、データがパイプライン100に導入される。データは、パイプライン段102-108の各々を通じて、最終的に、最適なクロック信号126、128に応答して、（連続した矢印130-138に示すように）移動する。クロック信号126、128は、同一か、または要求されるように同位相でずらされる。
【００２２】
一般に、「パイプライン化」が、データの処理とスループット率を増やす目的で、未完了の又は進行中のオペレーションの完了に先立ち、新しいオペレーションを開始する処理をさせる。パイプライン化は、加算器、乗算器のようなハイ・レベル待ち時間論理ネットワークの有効なバンド幅を増加させる。例えば、単一乗算オペレーションは、完了まで、いくつかのクロック・サイクル（例えば、Ｍサイクル）を必要とする。パイプライン化がない場合、連続した乗算オペレーションを完了するために、各々Ｍサイクルの追加が必要となる。しかし、パイプライン化の結果、新しい乗算オペレーションは、単一乗算オペレーションが完了するために必要なクロック・サイルク数より基本的に少ないサイクル数で開始することができる。したがって、連続した乗算オペレーションは、各々Ｍサイクルよりも少ないサイクル数で完了される。パイプライン化の詳細は、米国特許第5,392,423号に記載されている。
【００２３】
また、米国特許第5,392,423号に示されたように、ベクトル論理を、ダイナミック論理パイプライン100（図１）と結合して、有効に使うことができる。要約すると、ベクトル論理は、２以上の有効論理状態が、コンピュータの論理ゲートを通じて伝播される論理構成である。１つの論理パスによって定義される２つの有効論理状態（即ち、ハイかローか）を有する従来の二進論理と違って、ベクトル論理は、各々の有効論理状態のための１または複数の論理パスを使用して、無効な論理状態を許す。
【００２４】
２つの論理パスを含むベクトル論理を、従来の二進データをパイプライン化するために使用することができる。両方の論理パスが、論理ロー・レベル（即ち、「０、０」）であるとき、定義によって、無効な論理状態が存在する。２つ論理パスのいずれか一方に論理ハイ・レベルが存在しているとき（即ち、「１、０」または「０、１」）、論理ハイ・レベルは、従来の二進論理（即ち、ハイまたはロー・レベル）の２つ有効論理状態の１つに対応する。最後に、両方の論理パスがハイ・レベル（即ち、「１、１」）であるとき、未定義の状態となる。
【００２５】
マウストラップ論理ゲート200（図２）は、ベクトル論理を実行する際に使用することができる論理ゲートの形式である。マウストラップ論理ゲート200は、高速でベクトル論理を実行することができ、機能的に完結していて、セルフ・タイムされて、連続した段でつながれるとき、スタティック・ハザードの結果として悪い反応を生じない。
【００２６】
図２で示すように、マウストラップ論理ゲート200は、アーミング機構202、208、セルフ・タイムされたダイナミック論理204、210（または、ラダー（ladder）論理回路）、およびマウストラップ・ゲート200の各々の論理パスに対応する反転バッファ機構206、212を含む。単一の論理パスに対応するマウストラップ論理ゲート200のエレメントは、ゲート200のコンポーネント222、224として後述する。アーミング機構202、208は、マウストラップ論理ゲート200を分岐し、再設定する予充電手段として作用する。マウストラップ論理ゲート200に対するベクトル入力214は、無制限に多く、図２の中で、I=<IH,IL>,J=<JH,JL>,...K=<KH,KL>として表されている。マウストラップ論理ゲートのベクトル出力220は、O=f(I,J...K)=<OH,OL>として表わされる。定義により、マウストラップ論理ゲート200の有効出力220は、ＯＨまたはＯＬが論理ＨＩにあるときのみ存在する。ベクトル論理とマウストラップ論理ゲート200は、米国特許第5,208,490号と第5,392,423号に詳細に記述されてる。
【００２７】
上述したように、ダイナミック論理ゲート（特に、マウストラップ論理ゲート200）は、ゲート200のコンポーネント222、224をリセットし、それらを稼働可能とするために、予充電サイクルを必要とする。したがって、ダイナミック論理段102-108のパイプライン100は、交流（alternating）クロック（即ち、ＣＫ１（126）とＣＫ２（128））を使用して稼働されている。第２の論理ブロック116が、評価期間を与えられると同時に、第１の論理ブロック112が、予充電期間を与えられるように交流クロック126、128（図３）によって、パイプライン100の連続段102、104がクロックされる。この反対も、同様である。このように、予充電サイクルは、「隠され」て、パイプライン100の有効な仕事サイクルに割込を生じない。
【００２８】
図３は、図１のパイプライン100で使用されたクロック信号126、128のタイミング図を示す。図１で示される各々の連続パイプライン段102、104は、図３で示されるように、理想的には１８０度位相を異にしてずらした交流の相補クロック信号ＣＫ１(126)とＣＫ２(128)によってクロックされる。クロック信号ＣＫ１(126)とＣＫ２(138)は、同時に切換わるように設計されており、交流（１８０度の位相ずれ）となり、システム・クロックの１クロック状態（Ｔ期間）に関して５０パーセントのデューティ・サイクルを有する。しかしながら、クロック・スキュー328、330を避けることができないため、５０%のデューティ・サイクルが、現実的には存在せず、ここで記載されたラッチ400（およびそれを利用したシステムと方法）は、厳密には相互にクロックするものではない。技術的に明らかなように、米国特許第5,392,423号に記載されたパイプラインによって克服されるように、クロック・スキュー328、330は、ここで記載される回路によって克服される。従って、説明を容易にするために、この後、クロックのデューティ・サイクルは、５０％と仮定する。
【００２９】
パイプライン100の中の多くのラッチが、米国特許第5,392,423号で記載されたように構成されるが、上記特許のラッチの出力が、「クロック・トリガされる」または「クロックのエッジ・トリガされる」である点に注目すべきである。データは、ラッチの外で「クロック」される。しかしながら、より早く安定するように、設計者がクロックのエッジに先立ち次の論理ブロックにデータを伝播したい、という状況が存在することがありえる。この様な状況において、ラッチ段110、114、118、122の１つ又は複数（又は全て）のラッチが、透過データ・トリガされるパイプライン・ラッチ400で置換される。このようにして、与えられたクロック・サイクル中に、実行される有効な仕事の量は、増加する。
【００３０】
たとえば、米国特許第5,392,423号の図１１に記載されたラッチが、本願の図１のパイプライン100の中の第２のラッチ・フェーズ114の一部分であるとする。また、クロック信号ＣＫ１（126）とＣＫ２（128）は、図３で示された関係を有するとする。上記米国特許のラッチの入力602と出力604は、図６で示されるように、発生することがある。ＣＫ２がＨＩを越えるとき、ラッチのデータ出力が無効に操作されると同時に、ラッチのデータ入力は有効な状態606に移行する。ラッチのデータ入力によって受信された有効なデータは、フリップ／フロップ機構に記憶される。ＣＫ２がＬＯを越えるとき、ラッチのデータ出力は有効な状態608に移行する、そして、データは次の論理段116のゲートに移行される。ラッチの入力を有効な状態606に移行することと、ラッチの出力を有効な状態608に移行することで、クロック・サイクルのほとんど半分が経過する（610）ことに留意する。この結果、論理段116は、その有効な仕事を実行するのに、サイクルの半分も割り当てられない（612）。
【００３１】
次に、上記特許のラッチと同じ状況下で稼働する、図４の透過データ・トリガされるパイプライン・ラッチ400について述べる。図５は、そのようなラッチ400の入力502と出力504の波形を示す。ＣＫ２がＨＩを越えたあと、ラッチのデータ入力が、有効な状態506に移行する。これと同時に、ラッチ400が、リセットされる。しかしながら、ラッチの入力が有効な状態506に移行すると、ラッチの出力は、有効な状態508への移行を「直ちに」開始する。この結果、１）ラッチの入力と出力の有効な状態への移行の間の遅延510が、最小限に減少され、２）論理段116は、実質的に、その有効な仕事を実行するために半分以上のサイクル512を割り当てられる。
【００３２】
以下に示すように、次の場合に、データ・トリガされるパイプライン・ラッチ400が特に有利なものとなる。１）重負荷のデータ・ライン710を含む論理段702（図７）に先行するとき。あるいは、２）大量のダイナミック論理1006に先行する大量のスタティック論理1004を含む論理段1002（図１０）に先行するとき。
【００３３】
データ・トリガされるパイプライン・ラッチ400の一例として、図４に示されるように、ベクトル論理とマウストラップ論理ゲート200を使用するように設計される。ラッチ400の入力406、408と出力402、404は、与えられた論理変数のハイおよびロー・レベルのマウストラップ信号に対応する。ラッチ400は、ハイおよびロー・レベルのマウストラップ信号（即ち、「ハイおよびロー・レベル」または「真および偽」論理パス）に対応するパラレル・マウストラップ・データ制御464、466を含む。各々の制御464、466は、入力トリガ412、413、入力トリガ禁止手段414、415（請求項では禁止手段として記述する）、データ記憶装置416、417（請求項では記憶手段として記述する）、リセット機構410、411（請求項ではリセット手段として記述する）、およびリセット禁止手段425、427を含む。
【００３４】
各々のリセット機構410、411は、ｐチャネルＭＯＳＦＥＴ（Metal-Oxide-Semiconductor Field-Effect Transistors）420、422を含む。ＭＯＳＦＥＴ420、422は、ラッチ400を含むパイプライン段104（図１）に対応するクロック信号418によって操作される。
【００３５】
リセット禁止手段425、427は、各々別のＭＯＳＦＥＴ424、426を含む。これらのＭＯＳＦＥＴ 424、426は、セルフ・タイムされたダイナミック論理変数のハイおよびロー・レベルのライン406、408によってそれぞれ操作される。ラッチ400の前の論理段112の評価期間の開始部514（図５）で、ラッチ400が、１）ロー・レベルのクロック信号418と、２）無効な論理入力（ＩＨ406とＩＬ408の論理入力ライン上のロー・レベル）との組合せを介してリセットされる。直前のパイプライン段102を含む論理112に与えられた予充電（図５のポイント514の前のポイントで起こっている直前のパイプライン段102の予充電）の結果、無効な論理入力406、408が受信される。リセット機構410、411とリセット禁止手段425、427を含む全てのＭＯＳＦＥＴ 420、422、424、426は、入力428、430をデータ記憶手段416、417にハイ・レベルに引き込み、それによって、データ記憶手段416、417の出力402、404をロー・レベル（即ち、無効）に操作する。データ記憶手段416、417への入力428、430は、データ記憶ノード428、430として説明される場合がある。
【００３６】
データ記憶ノード428、430は、分割回路436、438を介して、入力トリガ禁止手段414、415を有するアースされているＭＯＳＦＥＴ440、442に接続される。ラッチ400の再設定は、アースされているＭＯＳＦＥＴ440、442を操作し、それによって、入力トリガ412、413を使用可能にする。以下これについて説明する。
【００３７】
入力トリガ412、413の各々は、それぞれ、ハイ406およびロー408レベルのセルフ・タイムされたデータ入力によって操作されるｎチャネルＭＯＳＦＥＴ432、434を含む。入力トリガＭＯＳＦＥＴ432、434は、入力トリガ禁止手段414、415のアースされているＭＯＳＦＥＴ440、442とデータ記憶ノード428、430との間に接続される。クロック・ハイの間、データがラッチ入力406、408で受信されるとき、論理ＨＩを受信する入力トリガ412、413のＭＯＳＦＥＴ432、434は、それが接続されるデータ記憶ノード428、430に引き下げられ、それによって、有効なデータをデータ記憶装置416、417に記憶されるようにする。
【００３８】
ロー・レベルのクロックの間、データがラッチ入力406、408で受信されるとき、２つ事象が起こる。第１に、データが、リセット禁止手段425、427のデータによって操作されるＭＯＳＦＥＴ 424、426の１つを使用禁止にし、それによって、入力トリガ412、413を使用可能にしている。第２に、使用可能な入力トリガ412、413のＭＯＳＦＥＴ432、434は、対応しているデータ記憶ノード428、430を引き下げる論理ＨＩを受信し、それによって、有効なデータをデータ記憶手段416、417に記憶する。
【００３９】
入力トリガ禁止手段414、415の各々が、アースと入力トリガ412、413の間に接続されたｎチャネルＭＯＳＦＥＴ440、442を有する。ｎチャネルＭＯＳＦＥＴ440、442は、対照的な制御回路466、464の中のデータ記憶ノード430、428へのクロスオーバ接続438、436によって操作される。
【００４０】
特に重要なことではないが、ラッチ400も、各々の制御回路464、466と関連する記憶ノード・プルアップ機構419、421を含むようになっている。記憶ノード・プルアップ機構419、421は、電源とそれぞれのデータ記憶ノード428、430の間に接続されたｐチャネルＭＯＳＦＥＴ 444、446を含む。ｐチャネルＭＯＳＦＥＴ444、446は、入力トリガ禁止手段414、415のアースされているＭＯＳＦＥＴ440、442を操作するのと同じクロスオーバ接続438、436によって操作される。データが、ラッチの入力406、408の内の１つによって受信されると、対応するデータ記憶ノード428、430は、上述したように、ロー・レベルに引き下げられる。データ記憶ノード428、430がロー・レベルに引き下げられると、クロスオーバ接続436、438されてアースされている、入力トリガ禁止手段414、415のＭＯＳＦＥＴ442、440が使用禁止にされ、それによって、追加データ（ソフト・エラー）の受信を防止する。さらに、ロー・レベルに引き下げられた記憶ノード428、430が、クロスオーバ接続436、438されて電源を供給される、記憶ノード・プルアップ機構421、419のＭＯＳＦＥＴ446、444を操作し、それによって、ＨＩデータ信号が、データ記憶ノード430、428の１つに伝播することを保証する。要するに、プッシュ／プル（push/pull）状態は、入力トリガ禁止手段414、415と記憶ノード・プルアップ機構419、421のクロスオーバ接続438、436とを介して生じる。
【００４１】
データ記憶ノード428、430に伝播しているデータは、データ記憶手段416、417内の一組のクロス接続否定回路によって記憶される。クロス接続否定回路の各々の組が、ラッチ400の各々のハイ（406、428、402）およびロー（408、430、404）レベルの論理パスに関連する。各々の否定回路は、共用信号448/450、452/454、456/458、460/462によって操作された、直列に接続されたｎチャネルとｐチャネルＭＯＳＦＥＴを含む。
【００４２】
データ・トリガされるパイプライン・ラッチ400において、ラッチ400の出力402、404は、ゲートされない。ここで述べられたように、「ゲートされた」信号は、１つがシステムクロック、ローカル・クロック、または評価クロックのようなクロックである少くとも２つの入力を有している組合せ論理ゲートの出力を意味する。ゲートされないが、出力402、404は、反転されるか、またはバッファされることがありえる。若しくは、出力402、404は、１つ又は複数の次の論理ゲートに直接配線されることがありえる。次の論理段（データ転送手段）にデータを転送するための代替配列は、図４のブラック・ボックス468、470で表わされる。
【００４３】
透過データ・トリガされるパイプライン・ラッチ400または複数のラッチの使用が有益となる第１の状態は、論理段702が共用論理入力を受信し、またはそれによって操作される、多数の論理ゲート704、706、708やトランジスタ710を有することである。図７は、そのような論理段702を示す。論理段702が、１つ又は複数の透過データ・トリガされるラッチ720を含む段714の後に続く。また、ラッチ段714は、クロック出力を有する１つ又は複数のラッチ716、718、722を含む。データ・トリガされるラッチ720は、図４の中で示されるように構成され、クロックされたラッチ716、718、722は、上記米国特許第5,392,423号の中で記載されているように構成される。上述されたパイプライン段のように、ラッチ段714と論理段702は、共用クロック信号732によって起動される。
【００４４】
すでに記述したように、評価クロックＣＫ２（732）の立下りエッジが、ラッチ段714をリセットする。セルフ・タイムされたダイナミック・データ736がラッチ段714によって受信されると、データ736は、それぞれの、データ・トリガされるラッチ720またはクロックされた出力ラッチ716、718、722によって、記憶される。しかしながら、データ・トリガされるラッチ720によって記憶されたデータは、直ちに論理段702へ転送される。論理段702にデータを転送するための手段724-730は、ワイヤ接続を有する。しかしながら、データ・トリガされるラッチ720から論理段702へデータを転送するための手段728は、たいていバッファ付きラインである。トランジスタ内で一対の直列接続された否定回路を含むバッファは、信号の振幅を増幅するために選択される。それから、増幅された信号は、論理ゲート708内で、いろいろな論理ゲート704、706、708やトランジスタ710に発信される。信号が、重負荷のロード・ライン728を介して非常に遅く伝わるので、評価信号が受信されたら、論理702のより早急な評価のために、論理信号が、これらのライン728を介して「クロック」に先立ち伝播されるようになる。上述の技術を使用すると、重負荷のライン728上を伝わる論理信号は、論理段702によるそれらの評価に先立つ「準備」となる。以下に記述されるように、早めに到着している論理信号728を、それらの予充電段（即ち、図７の、ＣＫ２(732)がハイレベルのもの）にある１又は複数のダイナミック論理ゲート704、706、708を「介して操作する」ことが可能となる。これに対して、論理ゲート704、706、708、712は、クロックされたラッチ716、718、722によって、ＡＮＤ機能を提供する。マウストラップ・ゲートのようなダイナミック論理ゲートがセルフ・タイムするまで、早めに到着している論理信号728を無効信号でＡＮＤすることによって、早めに到着している論理信号728の転送を行わない。
【００４５】
早めに到着している論理信号728の転送を停止するために使用される回路の第１のタイプとして、マウストラップＡＮＤ機能を提供する回路がある。図８は、条件「（Ａ＋Ｂ）＊Ｃ 」（即ち、Ａ OR Ｂ、AND Ｃ）の評価を供給するマウストラップ・ゲート800を示す。回路800は、ＯＲされるための信号のハイ・レベル入力ＡＨおよびＢＨによって操作される、並列接続されたｎチャネルＭＯＳＦＥＴ802、804を有する。ＯＲ論理802、804は、ＡＮＤされる信号のハイ・レベル入力ＣＨによって操作されるトランジスタ806に直列に接続される。評価される論理808の全ハイ・レベル・ブロックは、アースと、電源に接続されるクロックされたｐチャネルＭＯＳＦＥＴ810との間に接続される。ＯＲされるための信号のロー・レベル入力ＡＬおよびＢＬによって操作されるｎチャネルＭＯＳＦＥＴ 818、820は、直列に接続される。この論理818、820は、ＡＮＤされる信号ＣＬによって操作されたトランジスタ822と並列に接続される。論理824の全部のロー・レベルのブロックが、アースと、電源に接続されクロックされたｐチャネルＭＯＳＦＥＴ826との間に接続される。ｐチャネルＭＯＳＦＥＴ 810、826が、アーミング機構812、828として作用して、クロック信号ＣＫ２（834）がロー・レベルであるとき、出力ノード814、830を予充電することによって、マウストラップ・ゲート800を分岐するために使用される。出力ノード814、830に供給される信号の反転816、832は、マウストラップＡＮＤ／ＯＲゲート800で、無効な出力を発生する。信号Ａの負荷が重い（すなわち、信号ＡＨとＡＬが、１又は複数の論理ゲートを介して配置された多数のトランジスタを操作する）ならば、ＡＨとＡＬは、図８の論理ゲート800の評価期間前に、それらそれぞれのトランジスタ・ゲート802、818に伝播することを許される。信号ＡＨが、有効なＣＨ信号の存在なしに、ハイ・レベル出力ノード814を降下させることができず、ＡＬが、有効なＢＬ信号の存在なしに、ロー・レベル出力ノード830を降下させることができないので、信号ＡＨとＡＬの早い到着は、ＡＮＤ／ＯＲ論理ゲート800の出力に影響を及ぼさない。ゲートのハイおよびロー・レベル論理ブロックは、最適なクロック信号が受信されるまで評価されない（すなわち、信号ＣＫ２（834）がハイになったとき、それらが評価される）。
【００４６】
信号ＢとＣが、それらのそれぞれのトランジスタ・ゲートに速く伝わり、負荷の重い信号Ａが図８の論理ゲート800の評価期間前に伝わるならば、クロックＣＫ２（834）の最高クロック周波数は、信号Ａの重負荷に影響されない。
【００４７】
ＡＮＤされた論理信号を、データ・トリガされるパイプライン・ラッチを通じて伝播されたデータのフォワード・フローを停止させるために使用することができるが、２つの論理信号をＡＮＤすることができず、非効率的なときがある。したがって、回路の第２のタイプは、早めに到着している論理信号728の転送を停止するために使用される。そのような回路900を、図９に示す。回路900は、条件「Ａ＋Ｂ」（即ち、Ａ OR Ｂ）の評価を提供する。回路900は、ＯＲされるための信号のハイ・レベル入力ＡＨおよびＢＨによって操作される、並列接続されたｎチャネルＭＯＳＦＥＴ902、904を有する。ＯＲ論理906は、アースに接続されクロックされたｎチャネルＭＯＳＦＥＴ930と、電源に接続されクロックされたｐチャネルＭＯＳＦＥＴ908との間に接続される。ＯＲされるための信号のロー・レベル入力ＡＬおよびＢＬによって操作されたｎチャネルＭＯＳＦＥＴ916、918は、直列に接続される。この論理920は、アースと、電源に接続されクロックされたｐチャネルＭＯＳＦＥＴ922との間に接続される。ｐチャネルＭＯＳＦＥＴ907、922が、アーミング機構910、924として作用し、クロック信号ＣＫ２（932）がロー・レベルのとき、出力ノード912、926を予充電することによって、マウストラップ・ゲート900を分岐する。有効な論理が、ゲートの評価期間の間で受信されるまで、出力ノード912、926で作用する信号の反転回路914、928は、マウストラップＯＲゲート900で、無効な出力を発生する。
【００４８】
マウストラップＯＲゲートのハイ・レベル論理906は、早く到着するセルフ・タイムされたデータのフォワード転送を停止させるために必要なＡＮＤ機能を提供しないので、そのような機能を提供するために、クロックされたｎチャネルＭＯＳＦＥＴ930が使用される。ＣＫ２（932）がハイ・レベルになるとき、ＯＲゲートのアーミング機構910、924を使用禁止にするだけでなく、ハイ・レベル論理ブロック906を使用可能にするｎチャネルＭＯＳＦＥＴを操作する。信号ＣＫ２932が、ローレベルになるとき、クロックされたｎチャネルＭＯＳＦＥＴ930が、ハイ・レベル論理906を使用禁止にし、それによって、初期到着ＡＨ信号が、予充電するハイ・レベル・ノード912を引き下げるような装置競合を回避する。
【００４９】
信号ＡＨとＡＬの早い到着がＯＲ論理ゲート900の出力に影響を及ぼさないことが、さらに確認できる。最適なクロック信号が受信されるまで、ゲートのハイおよびロー・レベルの論理ブロックは、評価されない（すなわち、信号ＣＫ２834がハイ・レベルになると、それらは評価される）。
【００５０】
また、クロックされたｎチャネルＭＯＳＦＥＴが、マウストラップ論理ゲートの中で、予充電容易化手段（米国特許第5,208,490号参照）として使用されている。マウストラップ・ゲートの論理ブロックの慎重な設計を通じて、クロックされたｎチャネルＭＯＳＦＥＴ930は、二重の効果を作用するために使用される場合がある。
【００５１】
ダイナミック論理1006の一部の前にスタティック論理1004の一部を含んでいる論理段1002は、透過データ・トリガされるパイプライン・ラッチ400または複数のラッチの使用が有利となる状況を提供する。図１０は、そのような論理段1002を示す。論理段1002は、１又は複数のデータ・トリガされるラッチ1010、1012、1014を含んでいるラッチ段1008の後ろに続く。また、ラッチ段1008は、１又は複数のクロックされたラッチ1016を含む。データ・トリガされるラッチ1010、1012、1014は、図４の中で示されるように構成され、クロックされたラッチ1016は、前述の米国特許第5,392,423号に記載されたように構成される。上述されたパイプライン段のように、ラッチ段1016と論理段1002は、共用クロック信号1018によって起動される。
【００５２】
すでに、述べたように、評価クロックＣＫ２（1018）の立下りエッジが、ラッチ段1008をリセットする。セルフ・タイムされたダイナミック・データ1022がラッチ段1008によって受信されるとき、データ1022は、それぞれのデータ・トリガされるラッチ1010、1012、1014またはクロックされたラッチ1016によって記憶される。しかしながら、データ・トリガされるラッチ1010、1012、1014によって記憶されたデータは、段のスタティック論理1004によって直ちに評価されるように、論理段1002へ、直ちに転送される。論理段1002へデータを転送する手段1024-1030は、ワイヤ接続、バッファ・ライン等を有する。
【００５３】
データ1024、1026、1028のスタティック論理ゲート1004への先立つ到着によって、データ1022がパイプラインのクリティカル・パスを通じて伝わるスピードを増すことができる。さらに、ラッチ段1008に続くスタティック論理1004の使用は、１）論理機能を実行する必要があるトランジスタの数を減少し、２）重負荷のラインの発生を減少する。例えば、図１０のパイプライン段1000の論理1002の一部である1004は、スタティック・デコーディング機能を実行する。クロックされた論理段1006を含む論理の一部としてデコーダを稼働するよりも、デコーダは、本質的に、ラッチと、パイプライン段1000の評価機能の間で、稼働される。このように、Ｍビット・マウストラップ符号化ワード1010-1014は、ラッチ段1008を通じて送られ、（２Ｍ）2ビット・マウストラップ・ワードにデコードされる（例えば、８ビット・ワードは、スタティック論理1004のＭ入力1024、1026、1028と、スタティック論理1004の出力の（２Ｍ）2ライン1032を介して、２５６ビット・ワードにデコードされる）。これによって、１）２５６ラッチよりは８ラッチのほうが、ラッチ段1008で必要とされるので、２）デコーディングは、復号された出力やクロックされセルフ・タイムされたダイナミック論理の評価に先立って行われる。
【００５４】
代わりに、スタティック論理1004は、スタティック・ゲートとして稼働するために構成された１又は複数のダイナミック論理ゲートを含んでもよい。例えば、図１１は、擬似ＮＭＯＳのＯＲゲートとして機能するように構成されたマウストラップＯＲゲート1100を示す。マウストラップ・ゲート構成の規則として、ＯＲされるための信号のハイ・レベル入力ＡＨとＢＨによって操作されるｎチャネルＭＯＳＦＥＴ1102、1104は、アースと、電源に接続されクロックされたｐチャネルＭＯＳＦＥＴ110との間に並列に接続される。ＯＲされるための信号のロー・レベル入力ＡＬおよびＢＬによって操作されるｎチャネルＭＯＳＦＥＴ1112、1114は、アースと、電源に接続されクロックされたｐチャネルＭＯＳＦＥＴ1118との間に、直列に接続される。ｐチャネルＭＯＳＦＥＴ1108、1118は、アーミング機構1110、1120として作用して、クロック信号ＣＫ２1018がハイ・レベルであるとき、出力ノード1122、1126を予充電することによって、マウストラップ・ゲート1100を分岐するために使用される。出力ノード1122、1126で作用する信号の反転回路1124、1128は、マウストラップＯＲゲート1100で、無効な出力を発生している。一般的に、ｐチャネルＭＯＳＦＥＴ1108、1118は、評価されるｎチャネルＭＯＳＦＥＴ論理1106、1116と比較すると、比較的大きい。従って、論理1106、1116は、ハイ・レベルになっているクロックＣＫ２（1018）上で、評価される。しかしながら、ｐチャネルＭＯＳＦＥＴ1108、1118が、ｎチャネルＭＯＳＦＥＴ 1106、1116のサイズ以下であれば、ゲート1100への有効な入力によって、ゲート1100が、疑似ＮＭＯＳまたはスタティックゲートとして機能することができる。ＯＨまたはＯＬは、関連ｐチャネルＭＯＳＦＥＴをオフにせずに、ハイ・レベルに操作される。このように、ダイナミック論理の部分が、「クロックの前」に評価され、クリティカル・パス・タイミングは、増加された消費電力で最適化されることができる。
【００５５】
上述のように、ラッチ段1008の１又は複数のデータ・トリガされるラッチ1010、1012、1014の結果として、スタティック論理1004を通じ、ダイナミック論理1006に伝わっているデータ1032、またはダイナミック論理1006に直接伝わっているデータ1024、1026、1028は、クロックされたデータ1030でデータ1024、1026、1028、1032をＡＮＤすることによって、またはクロック信号1018でデータ1024、1026、1028、1032をＡＮＤすることによって、停止される。
【００５６】
本発明は例として次の実施態様を含む。
（１）透過データ・トリガされるパイプライン・ラッチであって、ａ）ハイおよびロー・レベルのマウストラップ・データ入力と、ｂ）ハイおよびロー・レベルのマウストラップ・データ出力と、ｃ）ハイおよびロー・レベルのマウストラップ・データ記憶ノードと、ｄ）クロック入力と、ｅ）ハイおよびロー・レベルのマウストラップ・データ制御であって、該制御の各々は、それぞれのハイまたはロー・レベルのマウストラップ・データ入力、出力、および記憶ノードとに接続され、各々の制御は、i）該制御のデータ入力によって操作される入力トリガと、ii）対照となる該制御のデータ記憶ノードに対してされたクロスオーバ接続を介して操作される入力トリガ禁止手段と、iii）該制御のデータ記憶ノードと該制御のデータ出力手段の間に接続されたデータ記憶装置と、iv）前記クロック入力によって操作されるリセット機構と、v）該制御のデータ入力によって操作されるリセット禁止手段と、を有する前記制御と、を備えることを特徴とする前記透過データ・トリガされるパイプライン・ラッチ。
【００５７】
（２）セルフ・タイムされたダイナミック論理パイプラインであって、ａ）各々が少くとも１つのアーミング機構に連結しているセルフ・タイムされたダイナミック論理を含む第１および第２の論理ブロックと、ｂ）第１および第２クロック信号であって、ｉ）前記第１および第２論理ブロックのアーミング機構にそれぞれ発送され、ｉｉ）Ａ）前記第２の論理ブロックが評価期間を与えられるとき、前記第１の論理ブロックは予充電期間を与えられ、Ｂ）前記第１の論理ブロックが評価期間を与えられるとき、前記第２の論理ブロックは予充電期間を与えられ、該Ａ）とＢ）が実質的に切り換えられ、ｉｉｉ）前記第２のクロック信号は、前記第２の論理ブロックで前記評価期間を開始するための第１のエッジと、前記第２の論理ブロックで前記予充電期間を開始する第２のエッジと、を有する前記第１および第２クロック信号と、ｃ）前記第１の論理ブロックの論理出力からの論理入力と、前記第２のクロック信号のための入力と、前記第２の論理ブロックの論理入力に接続された論理出力と、を有するラッチであって、更に、ｉ）前記第１の論理ブロックから受信したセルフ・タイムされたデータを記憶する記憶手段と、ｉｉ）前記第２のクロック信号の前記第１のエッジに先立ち、前記記憶手段によって、前記セルフ・タイムされたデータの受信を可能にするリセット手段と、ｉｉｉ）前記第１の論理ブロックから前記セルフ・タイムされたデータを受信した後、前記記憶手段によるデータの受信を禁止する禁止手段と、ｉｖ）前記第２のクロック信号の前記第１のエッジに先立ち、前記記憶手段に記憶されているセルフ・タイムされたデータを第２の論理ブロックの論理に転送する転送手段であって、前記第１および第２のクロック信号から独立して稼働している前記転送手段と、を有する前記ラッチと、を備えることを特徴とする前記セルフ・タイムされたダイナミック論理パイプライン
（３）前記第１および第２の論理ブロックは、各々マウストラップ論理を含む（２）記載のセルフ・タイムされたダイナミック論理パイプライン。
【００５８】
（４）交互に評価される第１および第２の論理ブロックの間でデータを転送する方法において、第２の論理ブロックの評価に先立ち、ａ）第１の論理ブロックから出力された有効なデータをラッチ機構に記憶するステップと、ｂ）ラッチ機構に記憶されている前記有効なデータを前記第２の論理ブロックに出力するステップと、を有する前記方法。
（５）前記第１の論理ブロックから出力された有効なデータを記憶するステップは、ａ）前記ラッチ機構の入力トリガを使用可能にするステップと、ｂ）前記ラッチ機構の入力に有効なデータを渡すステップと、ｃ）前記ラッチ機構の入力トリガの１つをトリップするステップと、ｄ）前記ラッチ機構の前記入力に渡された前記有効なデータを前記ラッチ機構のデータ記憶装置に記憶するステップと、を有する（４）記載の方法。
（６）前記ラッチ機構の入力トリガの１つをトリップするステップの後に、更に、他の全ての入力トリガを禁止するステップを含む（５）記載の方法。
【００５９】
（７）前記ラッチ機構に記憶されている有効なデータを出力するステップは、前記ラッチ機構に記憶されている有効なデータを第２の論理ブロックの重負荷のデータラインを通じて伝播するステップを含み、前記伝播は、前記第２の論理ブロックの評価に先立って開始される、ことを特徴とする（５）記載の方法。
（８）前記第２の論理ブロックは、ダイナミック論理のより多いスタティック論理を含み、前記ラッチ機構に記憶されている有効なデータを出力するステップは、ａ）前記ラッチ機構に記憶されている有効なデータを前記第２の論理ブロックの前記スタティック論理に伝播するステップと、ｂ）前記第２の論理ブロックの前記スタティック論理を評価するステップと、ｃ）スタティック論理から出力された有効なデータを無効な入力と論理的にＡＮＤすることによって、それのダイナミック論理への伝播を停止するステップと、を有し、前記ステップの全てが、前記第２の論理ブロックの前記ダイナミック論理の評価に先立って起こる、ことを特徴とする（５）記載の方法。
【００６０】
（９）交互に評価されるダイナミック論理パイプラインの第１および第２の論理ブロック間でデータを転送する方法において、前記パイプラインは、前記第１および第２の論理ブロック間のデータ・フローを制御する複数のラッチを含み、前記方法は、前記第１の論理ブロックに与えられた評価期間の間、ａ）実質上同時に、ｉ）前記第１の論理ブロックのデータ入力に存在するデータを評価し、ｉｉ）前記複数のラッチをリセットする、ステップと、ｂ）前記第１の論理ブロックから出力される有効なデータとして、前記複数のラッチの１番目をトリガするステップと、ｃ）前記複数のラッチの１番目をトリガするステップの直後に、多くの有効なデータ信号を第２の論理ブロックに提供し、前記多数の有効なデータ信号は、前記複数のラッチの２番目の出力から発生し、前記複数のラッチの２番目は、前記複数のラッチの１番目のサブセットである、ステップと、ｄ）前記多数の有効なデータ信号を無効信号でＡＮＤすることによって、前記多数の有効なデータ信号の伝播を停止するステップと、を有する前記方法。
（１０）前記有効なデータ信号でＡＮＤされた１又は複数の前記無効信号は、前記第２の論理ブロックを評価する際に使用されるクロック信号である、（９）記載の方法。
【００６１】
【発明の効果】
本発明によると、クロックのエッジの受信ではなく、有効なときに操作されるデータを使用可能にする、データ・トリガされる出力を有するパイプライン・ラッチを提供することができるようになった。また、回路のタイミングに本質的に影響せずに、記憶されるデータを使用可能にする、透過的なパイプライン・ラッチを提供することができるようになった。更に、有効なデータの記憶からダウンストリーム論理段のクロックのエッジを使用可能とするまでの時間で有益な仕事が行われるようにするパイプライン・ラッチを提供することができるようになった。
【図面の簡単な説明】
【図１】順序論理段のラッチされたパイプラインのブロック図である。
【図２】本発明の図１のパイプラインで使用される、「マウストラップ」論理ゲートとして知られているダイナミック・ベクトル論理ゲートのファミリーのブロック図を示す。
【図３】図１のパイプラインを通じてデータをパイピングするときに使用するクロック間の関係を示す図である。
【図４】図３の「マウストラップ」論理ゲートに関連して、図１のパイプラインで使用される、透過データ・トリガされるパイプライン・ラッチのロー・レベル概略図を示す。
【図５】図４で示されたラッチの入出力（Ｉ／Ｏ）信号間の関係を表す図である。
【図６】図１のパイプラインで使用される従来のラッチの入出力（Ｉ／Ｏ）信号間の関係を表す図である。
【図７】図１のパイプラインの単一にラッチされたパイプライン段で、ロードされ重くなったデータ・ラインを示す図である。
【図８】ＡＮＤ／ＯＲ「マウストラップ論理」ゲートを示す図である。
【図９】予充電を容易にする手段を含むＯＲ「マウストラップ論理」ゲートを示す図である。
【図１０】スタティック論理の数量がダイナミック論理の数量に勝る、図１のパイプラインの単一にラッチされたパイプライン段を示す図である。
【図１１】疑似ＮＭＯＳスタティックゲートとして機能的に設計されるＯＲ「マウストリップ論理」ゲートを示す図である。
【符号の説明】
１００  ダイナミック論理パイプライン
１０２、１０４、１０６、１０８  パイプライン段
１１０、１１４、１１８、１２２  ラッチ段
１１２、１１６、１２０、１２４  論理ブロック
１２６、１２８  クロック信号
１３２  論理出力
２００  マウストラップ論理ゲート
３２８、３３０  エッジ
４００  ラッチ
４０２、４０４  データ出力
４０６、４０８  データ入力
４１０、４１１  リセット機構
４１２、４１３  入力トリガ
４１４、４１５  入力トリガ禁止手段
４１６、４１７  データ記憶装置
４１８  クロック入力
４２５、４２７  リセット禁止手段
４２８、４３０  データ記憶ノード
４３８、４３６  クロスオーバ接続
４６４、４６６  データ制御
４６８、４７０  データ転送手段
【図１】
0003862355.tif 000002
【図２】
0003862355.tif 000003
【図３】
0003862355.tif 000004
【図４】
0003862355.tif 000005
【図５】
0003862355.tif 000006
【図６】
0003862355.tif 000007
【図７】
0003862355.tif 000008
【図８】
0003862355.tif 000009
【図９】
0003862355.tif 000010
【図１０】
0003862355.tif 000011
【図１１】
0003862355.tif 000012