JP4245413B2 - 相補型バッファ回路及びその制御方法 - Google Patents

相補型バッファ回路及びその制御方法 Download PDF

Info

Publication number
JP4245413B2
JP4245413B2 JP2003166901A JP2003166901A JP4245413B2 JP 4245413 B2 JP4245413 B2 JP 4245413B2 JP 2003166901 A JP2003166901 A JP 2003166901A JP 2003166901 A JP2003166901 A JP 2003166901A JP 4245413 B2 JP4245413 B2 JP 4245413B2
Authority
JP
Japan
Prior art keywords
signal
circuit
rising
falling
reset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003166901A
Other languages
English (en)
Other versions
JP2004023789A (ja
Inventor
ポール マスレイド ロバート
ジャコモット クリストフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2004023789A publication Critical patent/JP2004023789A/ja
Application granted granted Critical
Publication of JP4245413B2 publication Critical patent/JP4245413B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/151Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with two complementary outputs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、広く論理ラッチに関し、特に、集積回路またはチップ間相互接続における長い経路に沿った信号の状態保存に関する。
【0002】
【従来の技術】
マイクロプロセッサなどの集積回路の動作速度は向上し続けている。典型的な高速集積回路は1ギガヘルツを上回るクロックサイクル周波数を有しており、これらのデバイスでは、可能な限り迅速にデータ信号を通信することが望ましい。従来、劣化信号の再生成や高速遷移時間を維持するために、バッファまたはリピータが集積回路のワイヤルートに沿って、或いは、クロスチップ相互接続において、使用されている。しかしながら、クロックサイクル周波数が上昇すると、クロックサイクル周期が短くなり、信号が回路素子間を1クロックサイクル周期内で伝播することが困難になる。データの完全性を保持しタイミングの制約を満足させるには、ロングワイヤ(long wire)またはチップ間相互接続のパイプライン処理が必要となる。
【0003】
なお、従来、クロック信号情報を立ち上がりエッジ信号および立ち下がりエッジ信号として供給するクロック分配システムが提案されている(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開2003−122446号公報
【0005】
【発明が解決しようとする課題】
ロングワイヤ経路をパイプライン処理するための従来からの方法の1つは、ワイヤ経路に典型的なラッチを挿入するものである。しかしながら、この方法の場合、性能が低下してしまう。典型的なラッチには挿入遅延が伴い、信号の再生成または信号駆動特性も良好ではなく、駆動信号の再生成に貴重な時間がさらに消費されることになる。
【0006】
他の従来の技術では、通常のバッファ内にラッチを構築している。一般的に、通常のバッファは、直列接続された2つのインバータを含んでいる。従来のCMOS設計において、これらのインバータは、それぞれNチャネル型FET(NFET)およびPチャネル型FET(PFET)から形成されており、通常、入力NFETおよび入力PFETデバイスと直列にクロックゲートデバイスが配置される。この技術に伴う問題点は、クリティカルパスに沿ってクロックゲートデバイスを追加すると、大幅な遅延が付加されることである。典型的なラッチを挿入し駆動信号を再生成することに比べれば高速ではあるが、この技術には、チップ領域、クロック電力および遅延における代償が伴う。
【0007】
従って、バッファおよびデータラッチの両方として有効であり、付加的な挿入遅延が伴わず、クロック電力をほとんど消費しないリピータまたはバッファラッチが必要とされているのである。
【0008】
【課題を解決するための手段】
本発明に係る第1の形態によれば、入力データ信号を入力し、出力データ信号を出力する相補型バッファ回路において、前記入力データ信号と立ち上がり帰還信号を入力し、前記入力データ信号の立ち上がり時から所定期間ローレベルが出力される反転立ち上がり信号を出力する反転立ち上がり信号生成回路と、前記入力データ信号と立ち下がり帰還信号を入力し、前記入力データ信号の立ち下がり時から所定期間ハイレベルが出力される反転立ち下がり信号を出力する反転立ち下がり信号生成回路と、前記反転立ち上がり信号を入力し、前記反転立ち上がり信号をさらに反転させるとともに遅延させた前記立ち上がり帰還信号を出力する立ち上がり帰還信号生成回路と、前記反転立ち下がり信号を入力し、前記反転立ち下がり信号をさらに反転させるとともに遅延させた前記立ち下がり帰還信号を出力する立ち下がり帰還信号生成回路と、前記立ち上がり帰還信号がローレベルの場合に、前記立ち上がり帰還信号の電圧レベルを一定に保持する立ち上がり帰還信号電圧保持回路と、前記立ち下がり帰還信号がハイレベルの場合に、前記立ち下がり帰還信号の電圧レベルを一定に保持する立ち下がり帰還信号電圧保持回路と、前記入力データ信号を入力し、前記入力データ信号を遅延させたリセット信号を出力するリセット信号生成回路と、前記リセット信号を入力し、前記リセット信号がローレベルの場合に、前記立ち上がり帰還信号をハイレベルに引き上げる立ち上がり帰還信号リセット回路と、前記リセット信号を入力し、前記リセット信号がハイレベルの場合に、前記立ち下がり帰還信号をローレベルに引き下げる立ち下がり帰還信号リセット回路と、前記反転立ち上がり信号と前記反転立ち下がり信号と前記リセット信号を入力し、前記出力データ信号を出力する出力回路と、を有することを特徴とする相補型バッファ回路が提供される。
本発明に係る第2の形態によれば、入力データ信号を入力し、出力データ信号を出力する相補型バッファ回路の制御方法において、反転立ち上がり信号生成回路に、前記入力データ信号と立ち上がり帰還信号を入力し、前記入力データ信号の立ち上がり時から所定期間ローレベルが出力される反転立ち上がり信号を出力するステップと、反転立ち下がり信号生成回路に、前記入力データ信号と立ち下がり帰還信号を入力し、前記入力データ信号の立ち下がり時から所定期間ハイレベルが出力される反転立ち下がり信号を出力するステップと、立ち上がり帰還信号生成回路に、前記反転立ち上がり信号を入力し、前記反転立ち上がり信号をさらに反転させるとともに遅延させた前記立ち上がり帰還信号を出力するステップと、立ち下がり帰還信号生成回路に、前記反転立ち下がり信号を入力し、前記反転立ち下がり信号をさらに反転させるとともに遅延させた前記立ち下がり帰還信号を出力するステップと、立ち上がり帰還信号電圧保持回路が、前記立ち上がり帰還信号がローレベルの場合に、前記立ち上がり帰還信号の電圧レベルを一定に保持するステップと、立ち下がり帰還信号電圧保持回路が、前記立ち下がり帰還信号がハイレベルの場合に、前記立ち下がり帰還信号の電圧レベルを一定に保持するステップと、リセット信号生成回路に、前記入力データ信号を入力し、前記入力データ信号を遅延させたリセット信号を出力するステップと、立ち上がり帰還信号リセット回路に、前記リセット信号を入力し、前記リセット信号がローレベルの場合に、前記立ち上がり帰還信号をハイレベルに引き上げるステップと、立ち下がり帰還信号リセット回路に、前記リセット信号を入力し、前記リセット信号がハイレベルの場合に、前記立ち下がり帰還信号をローレベルに引き下げると、出力回路に、前記反転立ち上がり信号と前記反転立ち下がり信号と前記リセット信号を入力し、前記出力データ信号を出力するステップと、を有することを特徴とする相補型バッファ回路の制御方法が提供される。
本発明の実施例において、コンプリメントリセットラッチ(complement reset latch)がコンプリメントリセットバッファ(complement reset buffer)内に組み込まれる。このコンプリメントリセットラッチは、ロングワイヤの信号リピータおよびデータラッチの両方として有効に機能する。すなわち、コンプリメントリセットラッチを使用すれば、伝播信号を再生成すると共に、出力信号を保存値に保持することができる。さらに、コンプリメントリセットバッファのクリティカルパスはラッチトランジスタの影響を受けないため、ラッチ挿入遅延は存在しない。クリティカルパスに追加されない、或いは、クリティカルパスノードに結合しない状態素子が提供される。さらに、ラッチFETは、ほとんど電力を消費しない小さなデバイスである。この結果、クロック負荷が従来のリピータラッチの十分の一程度になる。コンプリメントリセットラッチにより、キャッシュメモリインターフェイスなどのチップ間経路の効率的な設計が可能になる。コンプリメントリセットラッチがコンプリメントリセットバッファ内に構築されているため、タイミングの制約を満足させることが必要な場合に、コンプリメントリセットバッファをコンプリメントリセットラッチで簡単に置換することができる。
【0009】
他の実施例において、トランスペアレント(transparent)なコンプリメントリセットラッチがレベルイン/レベルアウトバッファ内に組み込まれる。状態素子により、入力データを選択的にラッチし出力ノードにおいて保持することができる。クロック信号を使用して状態素子を制御しバッファ回路のパルス生成器をゲート処理する。パルス生成器はトランスペアレント動作の際に有効になる。しかし、ラッチした場合には、出力段の大きなFETが保存状態に影響を与えることを防止するべく、パルス生成器は無効になる。
【0010】
さらなる実施例において、パルスコンプリメントリセットラッチがレベルイン/レベルアウトバッファ内に組み込まれる。このパルスラッチの特徴は、遅延を最適化するべく再構成されたクリティカルパスである。状態出力は、トランスペアレント実施例のようにデータ値の変化を待たず、パルスラッチの実施例において、クロックパルスに応答して出力状態を変化させる。
【0011】
さらなる他の実施例において、トランスペアレントコンプリメントリセットラッチがレベルイン/パルスアウトバッファ内に組み込まれる。動作においてはトランスペアレントレベルイン/レベルアウトラッチと類似しているが、QおよびQ’パルス出力を供給するために、2つの別個の状態出力QおよびQ’を生成するべく出力段が変更されている。
【0012】
【発明の実施の形態】
本発明は、信号が伝播を要する距離に1クロックサイクルを超過するかまたはラッチ境界と交差する伝播遅延が含まれている場合、長い経路においてデータ信号を駆動し、且つ、データ信号の状態を保存するべく集積回路内で使用されるコンプリメントリセットラッチに関するものである。このコンプリメントリセットラッチは、本件特許出願の基礎出願(米国特許出願第10/170,948号)の出願日(2002年6月12日)と同日に米国特許商標庁に出願された「コンプリメントリセットバッファ(Complement Reset Buffer)」という名称のロバート・ポール・マスレイド(Robert Paul Masleid)およびクリストフ・ジャコモット(Christophe Giacomotto)による米国特許出願第10/170,737号に開示されているコンプリメントリセットバッファに基づくものであり、この引用によってそのすべてが本明細書に包含される。以下、まずコンプリメントリセットバッファの実施例について説明した後に、コンプリメントリセットラッチの実施例について説明する。
【0013】
[A.コンプリメントリセットバッファ]
コンプリメントリセットバッファは、ロングワイヤにおけるデータ信号の伝播を円滑に実行するために使用され得る。従来の集積回路技術では、ロングワイヤを伝播するデータ信号は、通常、ファンアウト、抵抗、静電容量および電力問題によって劣化し、データ信号の立ち上がりおよび立ち下がりエッジの遷移時間が大きくなる。遷移時間が大きくなると、システムは、データ信号を完全に遷移させて有効なデータを処理できるように低クロック速度で動作しなければならない。従来の集積回路技術では、1mmを上回る長さのワイヤは長い(ロング:long)と見なされており、これは特に高クロック速度で動作するシステムにおいて顕著である。データの完全性を保持し且つ受容可能な遷移時間を維持するために、しばしば、データ信号を増幅すると共に高速の遷移時間を維持するべくバッファ(または、リピータ)がロングワイヤに沿って一定の間隔で配置される。
【0014】
図1は、コンプリメントリセットバッファの一実施例100の概略ブロック図である。バッファ100は、通常、入力112からパルスを生成するパルス段110と、これらのパルスを使用して入力112に対応する出力117を生成する出力段115と、を含んでいる。パルス段110は、2つの別個の回路に分割することもできる。第1回路は、入力112の立ち上がりエッジに反応し、出力117において遷移をトリガするべく出力段115に対して立ち上がりエッジパルスを出力するように構成されている。この立ち上がりエッジパルスは、入力112に立ち下がりエッジが出現する前に終了する。そして、第2回路は、入力112の立ち下がりエッジに反応し、出力117において遷移をトリガするべく出力段115に対して立ち下がりエッジパルスを出力するように構成されている。この第2回路は、入力112に立ち上がりエッジが出現する前に立ち下がりエッジパルスを終了させる。
【0015】
以下の説明において、「コンプリメント(complement:相補)」という用語を使用してこれら第1および第2回路、並びに、立ち上がりおよび立ち下がりエッジを区別することにする。この「コンプリメント」という用語は、特定の論理値を示すものではなく、単にバッファ100内の2つの回路の動作を説明するのに便利な方法を提供するものに過ぎない。
【0016】
第1回路は、立ち上がりエッジパルス生成器120、立ち上がりエッジパルスループ生成器122、立ち上がりエッジループ保持器135、および、立ち上がりエッジパルスリセット125を含んでいる。さらに、第1回路はリセット生成器130からリセット信号を受信する。
【0017】
第1回路は、動作の際、第1入力118で入力112のデータを受信し、立ち上がりエッジを検出すると、立ち上がりエッジパルスを出力して出力段115を駆動する。クローバ電流(crowbar current)およびその他の従来のバッファに伴う問題点を回避するべく、立ち上がりエッジパルスは、入力112に立ち下がりエッジが検出される(この時点で第2回路が動作する)前に終了しなければならない。第1回路では、立ち上がりエッジパルスを遮断するために、立ち上がりエッジパルスループ生成器122および立ち上がりエッジループ保持器回路135を介して、立ち上がりエッジパルス生成器120の第2入力137に立ち上がりエッジパルスをループバックしている。生成器120は、このループバックされたパルスを受信すると、立ち上がりエッジパルスの出力を停止する。立ち上がりエッジパルスループ生成器122は、立ち上がりエッジパルスの幅を設定するべく、立ち上がりエッジパルスを受信して該パルスを生成器120にループバックする前に遅延させるように構成されている。
【0018】
このパルスループを使用することにより、従来のインバータに基づいたパルス生成器と比べて利点が提供されている。前述のように、インバータに基づいたパルス生成器は、低速の遷移時間を有するデータに対して十分に応答することができない。これは、主として、インバータに基づいたパルス生成器の場合、遮断信号が入力から生成されており、遮断信号がパルスの生成が完了する前に生成器に到達してしまうという事実によるものである。しかしながら、コンプリメントリセットバッファの場合には、有利なことに、遮断信号(すなわち、ループされたパルス)はパルス生成器120の出力から生成されており、低速の遷移時間に反応するのに十分な時間を生成器120が確保できるようになっている。さらに、生成器と、入力に結び付いたインバータの両方を有するインバータに基づいたパルス生成器と比べ、第1回路が入力112上に有する能動デバイスは1つだけである。第1回路は、入力112上の構成要素数を減らすことにより、通常、インバータに基づいたパルス生成器に伴うファンアウト(fan-out)および雑音問題を回避しているのである。
【0019】
パルスループの使用は、広範囲の遷移時間を有する様々な信号の受信に有利であるが、データ入力112が高レベル(High)の際に生成器120が発振しないように注意しなければならない。立ち上がりエッジループ保持器回路135の機能は、ワンショットパルス生成器を効果的に実現することである。この機能は、最初の遅延パルスがループ保持器回路135を通過した後にパルスループを切断することによって実行される。この後、ループ保持器回路135は、さらなるパルスを出力しないよう生成器120を維持する値に生成器120の第2入力137を保持する。通常、入力112に到来するすべての立ち上がりエッジに反応する第1回路を有することが好ましい。従って、立ち上がりエッジパルスリセット125は、リセット生成器130からリセット信号を受信するように構成されており、このリセット信号は、立ち上がりエッジパルスリセット125をトリガして立ち上がりエッジループ保持器回路135を解除し、データ入力112の後続の立ち上がりエッジに反応できるようにする値を生成器120の第2入力137に出力させる。
【0020】
通常、バッファは、入力112のデータ内のそれぞれの立ち上がりまたは立ち下がりエッジに一度だけ反応するように構成されている。従って、リセット生成器130は、立ち下がりエッジ(すなわち、立ち上がりエッジのコンプリメント)を待った後に、立ち上がりエッジパルスリセット125用のリセット信号を生成するように構成されている。リセット生成器130は、有利なことに、入力112上のコンプリメントを使用し、データ入力が論理「0」の状態になるまで立ち上がりエッジパルス生成器120がリセットされないようにしているのである。コンプリメントリセットバッファは、コンプリメントを使用してリセットをトリガすることにより、リセットを実装するための外部制御やクロック信号を不要にしている。さらに、この場合、データ自体がそれぞれの遷移においてバッファを効果的にリセットするため、このバッファは、データのどのような稼動速度においても動作可能である。さらには、この回路の有効電力は、データの動きがゼロになるとゼロになり、これは、電力の制約が伴うアプリケーションに有利である。
【0021】
第2回路は、第1回路のコンプリメントとして機能するものであり、入力112の立ち下がりエッジに反応するように構成されている。この第2回路の全般的な動作と構造は、第1回路の動作および構造に類似している。第2回路は、第1入力142で入力112を受信し、入力112上で検出された立ち下がりエッジに応答して、出力段115と立ち下がりエッジパルスループ生成器145に対して立ち下がりエッジパルスを出力する立ち下がりエッジパルス生成器140を含んでいる。立ち下がりエッジパルスループ生成器145は、立ち下がりエッジパルスを遅延させ、立ち下がりエッジループ保持器回路155に遅延した立ち下がりエッジパルスを出力する。そして、立ち下がりエッジループ保持器回路155は、遅延した立ち下がりエッジパルスを立ち下がりエッジパルス生成器140の第2入力157に送信することによってループを完成させる。立ち下がりエッジループ保持器回路155が、遅延した立ち下がりエッジパルスによってトリガされ、立ち下がりエッジパルス生成器140におけるさらなるパルスの生成を効果的に遮断する。立ち下がりエッジパルスリセット150は、リセット生成器130からリセット信号を受信し、入力112で検出された後続の立ち下がりエッジに生成器140が応答できるよう、立ち下がりエッジループ保持器回路155と立ち下がりエッジパルス生成器140をリセットする。リセット生成器130は、第2回路のデータコンプリメント(すなわち、入力112上の論理「1」)の期間内に、リセット信号を立ち下がりエッジパルスリセット150に供給する。
【0022】
図2は、バッファ200の概略図を示している。このバッファ200は、図1のバッファ100をそれぞれの要素の具体的な構造によって示したものである。この図2には、後程図9を参照して説明する際の検討対象となる回路内の箇所を示す参照符号「A」〜「E」および「B’」〜「D’」が含まれている。さらに、図2内の構成要素には、「S」、「N」または「P」という標識も付加されている。「S」という標識が付加されたインバータは「小さな」インバータを示しており、これらは低速であって多くの電力やバッファ200内のスペースを消費しないものである。そして、「N」という標識が付加されたデバイスは、信号内の立ち上がりエッジに迅速に反応するように適合されているデバイスを示している。通常、これらのデバイスの立ち下がりエッジに対する反応は低速である。逆に、「P」という標識が付加されたデバイスは、信号内の立ち下がりエッジに迅速に反応するべく適合されており、立ち上がりエッジに対する反応は迅速ではない。
【0023】
この実施例において、立ち上がりエッジパルス生成器120は、「N」適合されたNANDゲート205を含んでいる。前述のように、NANDゲート205は、データ入力112内の立ち上がりエッジに迅速に反応するように適合されている。NANDゲート205は、第1入力118および第2入力137を有している。第1入力118は、入力112からデータを受信し、第2入力137は、最終的に立ち上がりエッジループ保持器回路135からループされたパルスを受信する。
【0024】
立ち上がりエッジパルスループ生成器122は、パルスを受信するべくNANDゲート205の出力に接続されると共にNFETトランジスタ215のゲートにも接続された「小さな」インバータ210を含んでいる。NFET215は、ドレインが集積回路の接地プレーンに接続されており、ソースは立ち上がりエッジループ保持器回路135とNANDゲート205の第2入力137に接続されている。この実施例において、ループ生成器122は、まず小さなインバータ210においてパルスを反転および遅延させた後に、該パルスをNFET215によって再度反転および遅延させる。この回路を慎重に検討した結果、完全なインバータの代わりにNFET215のみを使用することにより、NANDゲート205からの出力が論理「1」のときに常にパルスループが切断されることが判明した。すなわち、NANDゲート205が立ち上がりエッジを検出して論理「0」を生成すると、ループバックしてNANDゲート205の第2入力137に論理「0」が入力され、この結果「オフ」になって論理「1」が生成される。そして、この論理「1」が、NFET215をターンオフすることによってループが切断される。ここで、立ち上がりエッジパルスリセット125がオン状態でなければ、NANDゲート205の第2入力137は不確定レベルで浮遊することになる。
【0025】
ループが切断された際にNANDゲート205の第2入力137を論理「0」に維持するべく、立ち上がりエッジループ保持器回路135が提供されている。この立ち上がりエッジループ保持器回路135は、入力がNFET215のソースに接続され出力がNFETトランジスタ225のゲートに接続された「小さな」インバータ220を含んでいる。NFET225のドレインは接地されており、ソースはインバータ220の入力に再度接続されると共にNANDゲート205の第2入力137にも接続されている。論理「0」がパルスループ生成器122内のNFET215のソース上で(立ち上がりエッジを検出したNANDゲート205に応答して)アサートされると、保持器回路135はターンオンし、リセットされるまでNANDゲート205の第2入力137上に論理「0」を維持する。保持器回路135は、通常、システム内のその他の構成要素(すなわち、パルスリセット125)によってオーバードライブされるように「弱い(weak)」構成要素を有している。
【0026】
立ち上がりエッジパルスリセット125の機能は、次の立ち上がりエッジ用に第1回路をリセットするべく保持器インバータ220の入力に論理「1」をアサートすることである。論理「1」をアサートすることにより、保持器回路がオーバードライブされてターンオフし、NANDゲート205の第2入力137がパルスリセット125の制御下に残される。パルスリセット125は、ソースが論理「1」に接続されドレインがインバータ220の入力とNANDゲート205の第2入力137に接続されたPFETトランジスタ230を有している。このPFET230のゲートはリセット生成器130の出力に接続されており、PFET230はリセット生成器130から論理「0」を受信した場合にターンオンする。この論理「0」のリセット信号は、データ入力112におけるコンプリメントの立ち下がりエッジ状態に対応している。前述のように、パルスリセット125は、立ち下がりエッジの後であり且つ次の立ち上がりエッジがNFET215をオン状態にする前の第2回路がオン状態にある場合に、NANDゲート205上に論理「1」をアサートする。
【0027】
リセット生成器130は2つの小さなインバータ235、240を有しており、これらのインバータは直列接続され、インバータ235がデータ入力112から入力を受信してインバータ240の入力に反転信号を供給し、インバータ240が再反転信号を立ち上がりエッジパルスリセット125および立ち下がりエッジパルスリセット150に供給するようになっている。従って、この実施例において、リセット生成器130は、パルスリセット125、150をオン状態およびオフ状態にする入力信号をその経路において遅延させるべく機能している。
【0028】
なお、過度な遅延とクローバ電流を回避するために、リセット生成器130を通過する入力112のレイテンシーは、NANDゲート205およびインバータ210を通過する入力112のレイテンシーよりも小さくするべきである。「E」における持続時間の短い3ステート状態は受容可能であり、漏れの時間は「E」の電圧を大幅に変化させるほどにはならない。これは、DおよびBが略同時に遷移することを示すタイミング図900の930によって示されている。
【0029】
第2回路は第1回路と類似の構造になっているが、すべてのトランジスタがそれぞれのコンプリメントになっており(例えば、PFETはNFETになっており、この逆も同様)、立ち下がりエッジパルス生成器140には2入力NORゲート245が利用されている。具体的には、この実施例では、NORゲート245は、データ入力112における立ち下がりエッジに迅速に反応するべく「P」適合されている。このNORゲート245の第1入力142は入力112からデータを受信し、第2入力157は最終的に立ち下がりエッジループ保持器回路155からループしたパルスを受信する。
【0030】
立ち下がりエッジパルスループ生成器145は、パルスを受信するべくNORゲート245の出力に接続されると共にPFETトランジスタ255のゲートに接続された「小さな」インバータ250を含んでいる。そして、PFET255は、ソースが論理「1」を表す電源に接続され、ドレインは立ち下がりエッジループ保持器回路155とNORゲート245の第2入力157に出力されている。この実施例において、ループ生成器145は、まず小さなインバータ250においてパルスを反転および遅延させた後に、該パルスをPFET255によって再度反転および遅延させる。この回路を慎重に検討した結果、完全なインバータの代わりにPFET255のみを使用することにより、NORゲート245からの出力が論理「0」のときに常にパルスループが切断されることが判明した。すなわち、NORゲート245が立ち下がりエッジを検出して論理「1」を生成すると、ループバックしてNORゲート245の第2入力157上に論理「1」が供給され、この結果「オフ」になって、論理「0」が生成される。そして、この論理「0」によってループが切断される。ここで、立ち下がりエッジパルスリセット150がオン状態でなければ、NORゲート245の第2入力157は不確定レベルで浮遊することになる。
【0031】
ループが切断されたときに、NORゲート245の第2入力157を論理「1」に維持するために、立ち下がりエッジループ保持器回路155が提供されている。この立ち下がりエッジループ保持器回路155は、入力がPFET255のドレインに接続され出力がPFETトランジスタ265のゲートに接続された「小さな」インバータ260を含んでいる。PFET265のソースは論理「1」に接続されており、ドレインはインバータ260の入力に再度接続されると共にNORゲート245の第2入力157にも接続されている。論理「1」がパルスループ生成器145内のPFET255のドレイン上で(立ち下がりエッジを検出したNORゲート245に応答して)アサートされると、保持器回路155がターンオンし、リセットされるまでNORゲート245の第2入力157上に論理「1」を維持する。この保持器回路155は、通常、システム内のその他の構成要素によってオーバードライブされるよう、「弱い」構成要素を有している。
【0032】
立ち下がりエッジパルスリセット150の機能は、次の立ち下がりエッジ用に第2回路をリセットするべく保持器インバータ260の入力に論理「0」をアサートすることである。論理「0」をアサートすることにより、保持器回路155はオーバードライブされてターンオフし、NORゲート245の第2入力157がパルスリセット150の制御下に残される。パルスリセット150は、ドレインが接地されソースがインバータ260の入力とNORゲート245の第2入力157に接続されたNFETトランジスタ270を有している。NFET270のゲートはリセット生成器130の出力に接続されており、NFET270はリセット生成器130から論理「1」を受信した際にターンオンする。この論理「1」のリセット信号は、データ入力112における立ち上がりエッジ状態に対応している。前述のように、パルスリセット150は、立ち上がりエッジの後であり且つ次の立ち下がりエッジがPFET270をオン状態にする前の第1回路がオン状態である場合にのみNORゲート245上に論理「0」をアサートする。
【0033】
出力段115は、PFETトランジスタ275、NFETトランジスタ280、および、弱い保持器バッファ285を含んでいる。PFET275は、ソースが論理「1」に接続されており、ゲートはNANDゲート205の出力に、そして、ドレインは出力117とNFET280のソースに接続されている。NFET280は、ゲートが立ち下がりエッジパルスを受信するべくNORゲート245に接続されており、ドレインは接地されている。これらFET275、280は、第1または第2回路がそれぞれオン状態であってパルスを生成した場合にスイッチオンされる。前述のように、両方のFET275、280が同時に「オン」になると、クローバ電流が形成されてバッファの性能と効率が劣化する。これを回避するために、パルスの幅は、それぞれのFET275、280をオン状態にするのに十分な長さを有すると共に、両方のFET275、280が同時にオン状態になるほどには長くない。パルスとそのコンプリメントパルスの間において、両方のFET275、280がオフ状態であり、出力117は駆動されない。3ステート状態を回避するために、入力112を低速で出力117に転送し、スイッチオンしたFET275および280のいずれかによってオーバードライブされるまでそこで保持するべく、小さなバッファ285が提供されている。このバッファ285は、理想的には、オン状態のFET275または280がスイッチオフする前に入力112の値をアサートする。
【0034】
従って、出力段115の動作は、2つの段からなるものと見なすことができる。第1段は、FET275および280に関連するものであり、可能な限り迅速に入力信号112を出力117に転送するべく構成されており、利得が高く遷移が高速である。前述のように、この第1段は、遷移間ではアイドル状態にならなければならない。そして、弱いバッファ285を有する第2段は、第1段から引き継いで、新しい遷移が発生するまで出力117上に入力信号112を維持する。この結果、このバッファは、FET275、280がスイッチオフした際に3ステート状態を回避すると共に、迅速な応答と出力117における改善された遷移時間を実現することができる。
【0035】
バッファ200は、単一入力112および単一出力117を利用している。このバッファ方式は、レベルイン/レベルアウト(LILO:Level-In-Level-Out)バッファと呼ばれており、略すべてのVLSI論理回路がこのLILOである。LILOの場合、回路間で論理信号を搬送するのに必要なワイヤ数が1つだけである。さらに、LILOでは、最終的に雑音パルスが減衰し最終的に正しいレベルが回路の出力に現れるため、雑音に強い。また、LILOは、論理状態のそれぞれの変化ごとに存在する遷移が1つだけであり、低エネルギーである。このスタイルのバッファは、一般に単一ワイヤのデータ伝送用に使用されている。
【0036】
図9は、図2のバッファに関連する信号のタイミング図900を示している。このタイミング図900には、9つの波形「A」〜「F」および「B’」〜「E’」が示されており、縦軸は電圧を表し、横軸は時間を表している。これらのそれぞれの波形は、図2に示すバッファ内の地点「A」〜「F」および「B’」〜「E’」に存在する信号を表している。具体的には、「A」は入力112であり、「F」は出力117であり、「B」はリセット生成器130からのリセット信号であり、「C」および「C’」はパルス生成器120、140からのパルスであり、「D」および「D’」はパルスループ生成器122、145内の小さなインバータ210、250からの出力であり、「E」および「E’」はパルス生成器120、150の第2入力137、157である。
【0037】
図10は、バッファ200の動作に関連するプロセスフローであり、以下、図9と共に説明する。タイミング図900には、時間軸上の3つの時点907(1)、(2)、(3)が示されており、これらはバッファの安定した状態を表している。この安定した状態は、すべての内部遷移が終了し、パルスが停止し、且つ出力117がバッファ285によって保持されている場合に発生する。時点907(1)において、バッファの出力は信号「F」に示されているように論理「0」である。これは論理「0」である入力信号「A」に対応している。リセット信号「B」も入力信号「A」を反映しており、立ち上がりエッジパルスリセット125をトリガしてNANDゲート205の第2入力「E」に論理「1」をアサートする。この結果、入力「A」の立ち上がりエッジ遷移に応答するべくNANDゲート205の準備が整う。さらに、「C」は、立ち上がりエッジパルスがオン状態ではないことを示す論理「1」である。立ち上がりエッジパルスは、アクティブロー(active-low:オン状態−低レベル)であるPFET275に供給されるため、アクティブローである。同様に、「C’」は、アクティブハイ(active-high:オン状態−高レベル)の立ち下がりエッジパルスがオン状態ではないことを示す論理「0」である。「D」は、「C」を反転させ、従って、NFET215をターンオフした論理「0」である。同様に、「D’」は「C’」を反転させ、PFET255をターンオフさせた論理「1」である。NOR245の第2入力「E’」も高レベルに保持されており、NOR245を効果的にターンオフすることに留意されたい。「E’」は、立ち下がりエッジループ保持器回路155によって高レベルに保持されている。また、「B」および「D’」の両方がそれぞれのFET255および270をターンオフしていることにも留意されたい。
【0038】
「A」における立ち上がりエッジ遷移910によって第1回路のオン状態がトリガされる947。前述のように、第1回路は入力112における立ち上がりエッジに反応する。遷移910により、NAND205は「C」に論理「0」を生成する952。そして、「C」は、PFET275がオン状態であり「F」をプルアップするため、「F」を高レベルに駆動する954。パルスは小さなインバータ210を通過し956、論理「1」になってNFET215をスイッチオンする。
【0039】
NANDゲート205の第2入力「E」は、「D」における遷移に従って低レベルになる。「E」は、NFET215のレイテンシーによって遅延する。同様に、「E’」は、リセット生成器130が「B」を高レベルに設定しNFET270を切り替えて「E’」を論理「0」に駆動するため、低レベルになる。この結果、後続の立ち下がりエッジ遷移920用にNORゲート245がリセットされる962。「E」が低レベルになると、NANDゲート205は、「C」を再度高レベルに駆動することによってパルスを遮断する。インバータ210およびNFET215に関連する遅延によって「C」のパルス幅が決定されることを認識されたい。「C」が高レベルに駆動される時点までに、「B」の信号はバッファ285に伝播して出力「F」を入力「A」と同一に維持する。この結果、出力「F」上に3ステート状態を引き起こすことなく、高レベルになった「C」に応答してPFET275がターンオフされる960。バッファ285があまりに低速の場合には、PFET275がスイッチオフすると960、バッファは、新しい入力が伝播するまで以前の立ち下がりエッジ動作の継続として論理「0」をアサートし、この結果、出力「F」の不適切な遷移が発生する。
【0040】
「C」における変化もインバータ210に伝播して「D」を低レベルに駆動し、この結果、NFET215が遮断される。しかしながら、「E」は、立ち上がりエッジループ保持器回路135が論理「0」を維持するために低レベルに維持される。「E’」は、立ち下がりエッジパルスリセット150によって継続的に駆動されなければならない。ここまで動作した時点で、バッファは、第2の安定状態である時点907(2)に到達しており、この状態は立ち下がりエッジ遷移920で「A」が低レベルに遷移する949まで続く。上述の説明から、立ち下がりエッジパルス信号の生成を開始し964、「F」に低レベルを出力させ966、立ち下がりエッジループ生成器145によって立ち下がりエッジパルス信号を遅延させ968、立ち下がりエッジパルス信号の生成を終了させ970、NFET280の出力をターンオフし972、立ち上がりエッジパルス生成器をリセットする974という、立ち下がりエッジが第2回路をトリガする949方法についても認識されるであろう。
【0041】
なお、保持器回路135の構造は「E」に論理「0」を維持するだけのものであり、パルスリセット125が「E」を高レベルに駆動すると、完全に遮断されることに留意されたい。同様に、立ち下がりエッジループ保持器回路155は、「E’」を論理「1」に維持するのみであり、立ち下がりエッジパルスリセット150が「E’」を論理「0」に設定すると、遮断される。他の実施例において、それぞれのFET225、265を小さなインバータに置換することによって両保持器回路135、155を構築することが可能である。インバータによってFETを置換することにより、保持器回路が論理「1」または論理「0」を維持することが可能になり、「A」から「B」への遷移に必要な遅延が縮小する。但し、この置換の結果、バッファの消費電力とサイズが増大する。
【0042】
コンプリメントリセットバッファのこのコンプリメントリセットトポロジーとパルスループは、その他のタイプのバッファを形成するのにも使用可能である。図3および図4は、パルスイン/レベルアウト(PILO:Pulse-In-Level-Out)バッファ500の概略図およびタイミング図501を示している。これら図3および図4には、図2および図9と同様の方法でPILOバッファ500が示されており、信号を示す「A」〜「F」および「C’」〜「E’」が含まれている。追加の2つの信号「A’」および「B’」も示されており、「A’」は、2線式パルス通信システム(two wire pulse communication system)によって供給される負の入力に対応している。パルス通信システムにおいて、単一のデータ信号入力112が2つのパルス信号112(1)および112(2)に変換される。パルス信号112(1)は、データ入力112において立ち上がりエッジが検出された場合に高レベルにパルス化される。そして、パルス信号112(2)は、データ入力112が立ち下がりエッジを有している場合に低レベルにパルス化される。これらのパルス112(1)および112(2)のリーディングエッジ(leading edge)は入力112の情報を搬送しており、システムによって使用されるが、トレーリングエッジ(trailing edge)は情報を搬送しておらず、システムによって使用されない。パルス通信方式は、それぞれの遷移ごとに別個の信号を維持することにより、それぞれの情報を有する遷移をロングワイヤにおいて可能な限り高速化するのに有用である。この結果、それぞれの通信ラインは、低クリティカルエッジレイテンシーに適合されたバッファを使用することができる。バッファ500は、パルス入力「A」および「A’」を受信してレベル出力「F」を出力する。すなわち、バッファ500は、データ信号をバッファ処理およびブーストすると共に、「A」および「A’」を単一の出力「F」に組み合わせることによって信号のパルスからレベル通信システムへの変換をも実行する。
【0043】
パルス段510は、以下の相違点を除き、動作に関して図2に示すパルス段110と類似している。まず第1に、リセット信号「B」が2つの別個の信号「B」および「B’」として生成される。これは、「A」およびそのコンプリメントである「A’」が別個に供給されており、直交していないために必要となる。このため、リセット生成器130に対する変更が必要であり、リセット生成器には、2つの追加のインバータ235’および240’が含まれている。これら追加のインバータは直列接続されており、インバータ235’の入力は入力112(2)から「A’」を受信し、240’の出力である「B’」は、立ち上がりエッジパルスリセット125(具体的には、PFET230)用のリセット信号として機能する。インバータ235は、入力112(1)から「A」の入力を受信するが、この場合には、インバータ240の出力は、立ち下がりエッジパルスリセット150のNFET270用のリセット信号「B」としてのみ機能する。
【0044】
リセット方法は、前述のバッファ200と同一である。パルス段510のそれぞれの回路は、コンプリメント回路の動作中にリセットされる。但し、この場合には、「A」および「A’」はそれぞれパルスの形態であり、前述のループ保持器回路135および155を前述の単一のトランジスタトポロジーの代わりに一対のインバータから形成しなければならない。具体的には、立ち上がりエッジループ保持器回路はインバータ220によって形成され、NFET225がインバータ525によって置換されている。この結果、回路保持器135は、論理「1」または論理「0」を保持可能になり、オン状態に維持するためのPFET230のリセット信号が不要になる。同様に、PFET265がインバータ565によって置換されている。「A」および「A’」がパルス化されているため、リセット信号「B」および「B’」もパルス化されることになり、これがタイミング図501の580および590に示されている。
【0045】
パルス段510を採用したバッファにおける3ステート出力を防止するために、出力段115のバッファ285が2つのインバータ285(1)および285(2)によって置換されている。実施例500では、バッファ285が信号を取得する単一入力112が存在していないため、代わりに、出力117上の保持器回路を利用している。具体的には、インバータ285(2)の入力が出力117に接続され、インバータ285(2)の出力がインバータ285(1)の入力に接続されるよう、インバータ285(1)および285(2)が配列されている。そして、インバータ285(1)の出力が出力117に再度接続されている。従って、2つのインバータ285(1)および285(2)は、FET275および285によってアサートされた最新の値を維持するべく機能する。インバータ285(1)、285(2)は、FET275、280の出力をオーバーライドしないよう、十分に弱いものである。他の実施例において、バッファ285をセット−リセットラッチによって駆動可能であり、このラッチはパルス入力112(1)および112(2)によって駆動される。
【0046】
図5および図6は、パルスイン/パルスアウト(PIPO:Pulse-In-Pulse-Out)バッファ600の概略図およびタイミング図601を示している。これら図5および図6には、図3および図4と同様の方法でPIPOバッファ600が示されており、信号を示すA〜FおよびA’〜E’が含まれている。PILOバッファ500と同様に、PIPOバッファ600は、正および負のパルス信号「A」、「A’」を受信するが、入力信号「A」および「A’」を単一の信号「F」に組み合わせる代わりに、バッファ600の場合には、パルスのフォーマットを保持し、それぞれ正および負のパルス入力「A」および「A’」に対応する2つの信号「F」および「F’」を出力する。
【0047】
PIPOバッファ600は、前述の図3に示すPILOバッファ500と同一のパルス段510を採用している。但し、パルス出力「F」および「F’」を生成するべく出力段115が変更されている。2つの別個の出力「F」、「F’」が存在するため、出力段115は2つのトランジスタペア605、607に分かれている。それぞれのトランジスタペアは、図2のLILOバッファ200に関連して説明した出力段115と同様に動作する。1つの主要な相違点は、トランジスタペア605が大きなPFET275を含み、トランジスタペア607が大きなNFET280を含んでいることであり、これらは、以前の実施例では、レベル出力「F」を出力すべく一緒に接続されていたものである。
【0048】
大きなPFET275は、この場合にも、第1回路のNANDゲート205からゲートにパルスを受信し、論理「1」を表す電源にソースが接続されている。このPFET275のドレインは小さなNFET680のソースに接続されている。これらPFET275とNFET680間の接合部は、出力117(1)(すなわち、正のパルス出力「F」)としても機能している。そして、この出力は、第1インバータ285(1)および第2インバータ285(2)から形成された保持器回路にも接続されている。インバータ285(1)は、出力117(1)から入力を受信して反転信号をインバータ285(2)に供給し、インバータ285(2)が再反転信号を出力117(1)に再度供給しており、この結果、トランジスタペア605が3ステートモードに入った場合に出力が保持される。なお、トランジスタペア605が3ステートモードに入る場合の一例がタイミング図601のライン630によって示されている。
【0049】
再度トランジスタペア605を参照すれば、NFET680のドレインは接地されており、ゲートはライン620に接続されている。ライン620はインバータ255に接続されており、「C’」のバッファ処理されたバージョンに対応するパルス信号「CC’」を受信する。このパルス信号「CC’」は正のパルス出力「F」を遮断する。但し、エネルギーを節約するため、並びにパルス通信システムにおいては正のパルスの立ち下がりエッジは通常使用されないという事実に基づき、NFET680は非常に小さくすることができる。NFET680を小さくすることにより、消費電力が減少し、タイミング図601の640に示されているように立ち下がりエッジが大きな遷移時間を有するようになる。しかしながら、前述のように、このシステムは出力「F」の立ち下がりエッジを使用していないため、低速の立ち下がりエッジ640は受容可能である。「C’」から直接NFET680を駆動すると、クリティカルパスが減速する。NFET680の重要性は高くないため、これに代えて、「C’」にさらなる負荷を加えることなく「C’」から生成された「CC’」によって駆動している。
【0050】
トランジスタペア607も同様に構成されている。大きなNFET280は、この場合にも、第2回路のNORゲート245からパルスをゲートに受信しており、ドレインは接地されている。そして、NEFT280のソースは小さなPFET675のドレインに接続されている。NFET280とPFET675間の接合部は、出力117(2)(すなわち、負のパルス出力「F’」)としても機能している。そして、この出力は、第1インバータ285(3)および第2インバータ285(4)から形成された保持器回路にも接続されている。インバータ285(3)は、出力117(2)から入力を受信して反転信号をインバータ285(4)に出力し、インバータ285(4)が再反転信号を出力117(2)に再度供給しており、この結果、トランジスタペア607が3ステートモードに入った場合に出力が保持される。なお、トランジスタペア607が3ステートモードに入る場合の一例がタイミング図601のライン650によって示されている。
【0051】
再度トランジスタペア607を参照すれば、PFET675は、ソースが論理「1」を表す電源に接続されており、ゲートはライン610に接続されている。ライン610はインバータ210に接続されており、「C」のバッファ処理されたバージョンに対応するパルス信号「CC」を受信する。このパルス信号「CC」が負のパルス出力「F’」を遮断する。但し、エネルギーを節約するため、並びにパルス通信システムにおいては負のパルスの立ち上がりエッジは通常使用しないという事実に基づき、PFET675は非常に小さくすることができる。PFET675を小さくすることにより、消費電力が減少し、タイミング図601の660に示されているように、立ち上がりエッジが大きな遷移時間を有するようになる。前述のように、このシステムは、出力「F’」の立ち上がりエッジを使用しないため、低速の立ち上がりエッジ660は受容可能である。「C」から直接PFET675を駆動すると、クリティカルパスが減速する。PFET675の重要性は高くないため、これに代えて、「C」にさらなる負荷を加えることなく「C」から生成された「CC」によって駆動している。
【0052】
図7および図8は、レベルイン/パルスアウト(LIPO:Level-In-Pulse-Out)バッファ700の概略図およびタイミング図を示している。このLIPOバッファ700は、PILOバッファ500と反対の機能を実行する。LIPOバッファ700は、レベル入力「A」を受信し、データを正および負のパルス出力「F」および「F’」にそれぞれ分割する。このバッファ700では、図2に示すパルス段に類似したパルス段の配列を有しており、このパルス段が図5に示す出力段115と組み合わせられている。そして、これら2つの段を組み合わせるために小規模な変更も加えられている。図3のPILOバッファ500に関連して説明したように、立ち上がりエッジループ保持器回路135と立ち下がりエッジループ保持器回路155が変更され、それぞれのFET225、265が第2インバータ525、565で置換されている。この置換により、保持器回路135、155は、論理「1」または論理「0」を保持可能であり、オン状態に維持するリセット信号「B」に依存してはいない。この変更は必要なものではないが、図2で説明した構造に対する代替案として提示したものである。パルス段115に対する第2の小規模な変更には、図5で説明したライン610および620の追加が含まれている。これらのラインは、出力段が別個の正および負のパルス出力「F」および「F’」を生成できるようにするべく、含まれているものである。
【0053】
前述のように、コンプリメントリセットバッファは、速度、効率、および、ロングワイヤ距離を処理する能力を必要とするアプリケーションに適している。マイクロプロセッサの内部では、これは、通常、信号分配グリッドに相当する。これらのバッファは、高速であると共に同期動作を必要としないため、有利なことに、集積回路内のクロックスキューを軽減しつつクロックの分配を高速化するのに使用するか、或いはキャッシュメモリのアクセス時間を減少させるのに使用することができる(すなわち、L2およびL3ルートなどのワイヤ)。さらに、このバッファは、有利なことに、その大きな増幅度を使用して位相ロックループ(PLL)出力を駆動し、オフチップドライバ(OCD)、増幅器、および、その他の大きな負荷を構築することができる。
【0054】
[B.コンプリメントリセットラッチ]
以上、詳しく説明したように、バッファまたはリピータをワイヤ経路に沿って使用し、劣化信号を再生成したり高速の遷移時間を維持したりすることが有利である。マイクロプロセッサなどのギガヘルツレベルのクロックサイクル周波数で動作する高速の同期集積回路の場合には、相応してクロックサイクル周期も短い。性能の優秀なバッファと慎重なワイヤ設計をもってしても、周期τの1クロックサイクルにおいて回路素子間で信号が伝播するには信号経路が長すぎる場合がある。データの完全性を保持しタイミングの制約を満足するために、ロングワイヤまたはチップ間相互接続のパイプライン処理が必要になる。リピータラッチには、バッファまたはリピータの機能とラッチの状態保存機能が含まれている。すなわち、リピータラッチを使用すれば、伝播信号の再生成と、保存値での出力信号の保持の両方を実行することができる。
【0055】
図11は、リピータラッチを使用するロングワイヤにおけるデータのパイプライン処理を示している。この図には、複数のワイヤセグメント1015によって第2論理回路1010に接続された第1論理回路1005が示されている。第1論理回路1005から第2論理回路1010に伝播するためには、データは距離1020を進まなければならない。この距離1020を伝播するのに要する時間はクロックサイクル周期τを上回るため、クロックサイクル周期によって課されたタイミングの制約を満足させるべく、第1リピータラッチ1025および第2リピータラッチ1030が信号経路に挿入されている。これらの第1リピータラッチ1025および第2リピータラッチ1030は距離1035だけ離隔している。この距離1035はクロックサイクル周期τ内で移動可能であるため、第1リピータラッチ1030の出力として供給されるデータは1クロックサイクル内で第2リピータラッチ1030まで到達することができる。そして、第2リピータラッチ1025はデータの現在の値を保存する。次のクロックサイクルにおいて、第2リピータ1030は、データを一般の論理ラッチ1045に供給する。この結果、一般の論理ラッチ1045は、第2論理回路1010が使用できるようにデータを保持することができる。一般の論理ラッチ1045は、第2論理回路1010内のいくつかの回路の後に配置することも可能であるが、この場合にも、タイミングの制約が課されることになる。また、第1リピータラッチ1025および第2リピータラッチ1030に加えてリピータ1040を信号経路内に配置し、さらにデータ伝送を改善して雑音問題を軽減することも可能である。
【0056】
本発明の実施例では、データラッチ機能を前述のコンプリメントリセットバッファ内に組み込んでいる。組み込まれたバッファまたはリピータラッチは、いくつかの有利な特徴を有している。すなわち、コンプリメントリセットバッファのクリティカルパスはラッチトランジスタの影響を受けないため、ラッチ挿入遅延が存在せず、状態素子がクリティカルパスに追加されたりクリティカルパスノードに結合したりしない。さらに、クロック負荷が従来のリピータラッチと比べて十分の一程度である。従来のリピータラッチには入力FETと直列接続されたクロックデバイスが含まれており、大きな遅延と負荷が発生する。コンプリメントリセットラッチにより、チップ間経路の効率的な設計が可能になる。コンプリメントリセットラッチがコンプリメントリセットバッファ上に構築されているため、タイミングの制約を満足させる必要がある場合に、コンプリメントリセットバッファをコンプリメントリセットラッチによって簡単に置換することができる。
【0057】
図12を参照すれば、本発明の実施例によるレベルイン/レベルアウトラッチの概略図が示されている。この実施例において、前述のレベルイン/レベルアウトコンプリメントリセットバッファ内にコンプリメントリセットラッチが構築されている。対応するコンプリメントリセットバッファ用の前述の構造に加え、状態素子1120を制御するためのシステムクロック信号CLK’1110およびCLK1112が供給されている。CLK’1110とCLK1112は、それぞれが互いの反転であるという意味においてコンプリメント(相補的)信号であり、例えば、CLK1112の特定の状態を参照した際には、同時にCLK’1110もコンプリメントな状態を有しているものと理解されたい。状態素子1120により、入力データを選択的にラッチし出力Q117において保持することができる。また、CLK’1110およびCLK1112は、Q117経路に対する高速データ112を制御するパルスチェーンをゲート処理するためにも使用される。具体的には、PFET1150およびNFET1152は、立ち上がりエッジパルス生成器を選択的に無効にする立ち上がりエッジゲート回路を形成している。同様に、NFET1160およびPFET1162は、立ち下がりエッジパルス生成器140を選択的に無効にする立ち下がりエッジゲート回路を形成している。状態素子1120がデータ112をラッチすることが可能でありデータ112がラッチ保持モードにおいてさらなる遷移を有する場合に出力Q117が出力段115によって一時的にオーバーライドされないように、パルス生成器が選択的に無効になる。
【0058】
この実施例において、CLK1112が論理「1」値を有している場合に、ラッチはトランスペアレントである。トランスペアレントモードでは、ラッチはリピータまたバッファのように動作する。すなわち、データ112の遷移が出力Q117上で再生成される。具体的には、データ112の立ち上がりエッジに応答し、立ち上がりエッジパルス生成器120が、前述のように立ち上がりエッジパルスを出力段115に供給するべく機能する。同様に、データ112の立ち下がりエッジに応答し、立ち下がりエッジパルス生成器140が立ち下がりエッジパルスを出力段115に供給するべく機能する。以前と同様に、コンプリメントリセット技術を使用し、Q117経路に対するデータ112を制御するパルスチェーンがリセットされる。立ち上がりエッジパルス生成器120および立ち下がりエッジパルス生成器140は、CLK1112が論理値「1」を有している場合に有効になる。次に、パルス生成器のゲート処理について詳しく説明する。立ち下がりエッジに関しては、NFET1160のゲートがCLK1112に接続されており、これによってNFET1160がターンオンされる。NFET1160のソースはノードE’に接続されており、NFET1160のドレインはNFET270のソースに接続されている。そして、NFET270のゲートはインバータ1134の出力に接続され、このインバータはリセット生成器の一部を形成している。PFET1162は、論理「1」を表す供給電圧に接続されており、そのドレインはノードE’に接続されている。PFET1162のゲートもCLK1112に接続されており、これによってPFET1162がターンオフされる。NFET1160がターンオンされPFET1162がターンオフされるため、立ち下がりエッジパルスリセットおよび立ち下がりエッジループ保持器155により、データ112の次の立ち下がりエッジ用に立ち下がりエッジパルス生成器140の準備が整う。
【0059】
同様に、トランスペアレントモードにおいて、立ち上がりエッジパルス生成器120が有効になる。具体的には、PFET1150のゲートがCLK’1110に接続されており、これによってPFET1150がターンオンされる。PFET1150のドレインはノードEに接続されており、PFET1150のソースはPFET230のドレインに接続されている。そして、PFET230のゲートはインバータ1134の出力に接続されている。PFET1150は、インバータ1134が供給するリセット信号に応答してPFET230がノードEを論理「1」にプルできるかどうかを選択的に制御することにより、PFET230をゲート処理している。NFET1152のソースはノードEに接続されており、ドレインは論理「0」を表す接地に接続されている。NFET1152のゲートはCLK’1110にも接続されており、これによってNFET1152がターンオフされる。PFET1150がターンオンされNFET1152がターンオフされるため、立ち上がりエッジパルスリセット125および立ち上がりエッジループ保持器135により、データ112の次の立ち下がりエッジ用に立ち上がりエッジパルス生成器120の準備が整う。
【0060】
図示の実施例において、立ち上がりエッジパルス生成器120は、データ112の立ち上がりエッジに迅速に応答するべく構成された「N」適合されたNANDゲートである。一方、立ち下がりエッジパルス生成器140は、データ112の立ち下がりエッジに迅速に応答するべく構成された「P」適合されたNORゲートである。従って、クリティカルパスがデータ112の迅速な遷移に有利に働く。
【0061】
CLK1112の立ち下がりエッジに応答して、状態素子1120はデータ112をラッチする。状態素子1120は、有利なことに、クリティカルパスに影響を与えることなくコンプリメントリセットバッファ内に組み込まれている。この状態素子1120は、迅速に応答するパルス生成器が適切なパルスを出力段115に供給した後にデータ112をラッチするように構成されている。データ112を出力Q117に低速で転送しスイッチオンしたFET275、280のいずれかによってオーバードライブされるまでそこで保持するべく、「弱い」インバータチェーン(インバータ235、240、1126、および、285をそれぞれ有している)が提供されている。パルス生成器はCLK1112が論理「0」の場合に無効になるが、弱いインバータチェーンは、なおもデータ112を出力Q117に伝播させる。従って、状態素子1120は、選択的に弱いインバータチェーンを無効にすると共にフィードバック回路を有効にしてラッチしたデータ112の値を保存する。このフィードバック回路はインバータ1126および1130を有している。
【0062】
具体的には、CLK1112が論理「0」の場合には、PFET1122およびNFET1124がターンオフする。これらのデバイスは、インバータ240の内部にあるNFETおよびPFETデバイスと直列に配置されている。PFET1122およびNFET1124がターンオフすると、インバータ240は無効になり、弱いインバータチェーンが切断される。弱いインバータチェーンを切断することにより、データが出力Q117に伝播することを防止している。同様に、PFET1128およびNFET1132はインバータ1130の内部にあるNFETおよびPFETデバイスと直列に配置されている。PFET1128およびNFET1132はターンオンし、インバータ1130を有効にしてフィードバックをインバータ1126の入力に供給する。従って、インバータ1126および1130は、出力Q117の状態を保存するために交差結合されている。CLK1112が論理「1」になると、フィードバックインバータ1130は無効になり、インバータ240は有効になる。
【0063】
図13は、本発明の他の実施例によるレベルイン/レベルアウトラッチの概略図である。この実施例において、前述のレベルイン/レベルアウトコンプリメントリセットバッファ内にコンプリメントリセットラッチが構築されている。図12に示されている実施例と比較すると、立ち上がりエッジパルス生成器120および立ち下がりエッジパルス生成器140に結合する信号を再構成し、異なるクリティカルパスを提供している。立ち上がりエッジパルス生成器120は、ノードE上の立ち上がりエッジに迅速に応答するべく構成された「N」適合されたNANDゲートである。ノードEはCLK’1110によって制御されているため、ラッチは、CLK’1110のパルスを待って出力段115をトリガする。従って、出力Q117は、クロックパルスに応答して値を変化させる。同様に、立ち下がりエッジパルス生成器140は、ノードE’上の立ち下がりエッジに迅速に応答するべく構成された「P」適合されたNORゲートである。この構成は、図12と比べ、ラッチトランスペアレントモードにおけるData−Q間の遅延を犠牲にしてCLK−Q間の遅延を軽減している。この構成は、クリティカルパスがクロックを待たなければならないがクロック電力が不足している状況に適している。
【0064】
このラッチは、図12に関連した説明した実施例と同様に機能する。状態素子1120により、入力データ112を選択的にラッチし出力Q117において保持することが可能である。CLK’1110およびCLK1112は、Q117経路に対する高速データ112を制御するパルスチェーンをゲート処理するのにも使用される。具体的には、PFET1150およびNFET1152が立ち上がりエッジパルス生成器を選択的に無効にする。同様に、NFET1160およびPFET1162が立ち下がりエッジパルス生成器を選択的に無効にする。状態素子1120がデータ112をラッチ可能であり出力Q117が出力段115によってオーバーライドされないよう、パルス生成器が選択的に無効になる。
【0065】
図14は、本発明の実施例によるレベルイン/パルスアウトラッチの概略図である。この実施例において、前述のレベルイン/パルスアウトコンプリメントリセットバッファ内にコンプリメントリセットラッチが構築されている。QおよびQ’パルス出力を供給するべく、図12および図13に関連して説明した実施例の出力段115が変更されている。2つの別個の状態出力QおよびQ’が存在するため、出力段115は2つのトランジスタペア605、607に分割されている。それぞれのトランジスタペアは、図2のLILOバッファ200に関連して説明した出力段115と同様に動作する。1つの相違点は、トランジスタペア605が大きなPFET275を含み、トランジスタペア607が大きなNFET280を含んでいることであり、以前の実施例では、これらは状態出力Qを供給するために一緒に接続されていたものである。
【0066】
図14に示されたラッチの動作は図12のものと類似している。状態素子1120により、入力データ112を選択的にラッチし出力QおよびQ’において保持することが可能である。CLK’1110およびCLK1112は、Q117経路に対する高速データ112を制御するパルスチェーンをゲート処理するのにも使用されている。具体的には、PFET1150およびNFET1152が立ち上がりエッジパルス生成器を選択的に無効にする。同様に、NFET1160およびPFET1162が立ち下がりエッジパルス生成器を選択的に無効にする。状態素子1120がデータ112をラッチ可能でありデータ112がラッチモードにおいてさらなる遷移を有する場合にQおよびQ’が出力段605または607によってオーバーライドされないよう、パルス生成器が選択的に無効になる。
【0067】
この実施例において、ラッチは、CLK1112が論理「1」値を有している場合にトランスペアレントである。トランスペアレントモードにおいて、ラッチはリピータまたはバッファのように動作する。すなわち、データ112の遷移が出力QおよびQ’上にパルスとして再生成される。具体的には、データ112の立ち上がりエッジに応答し、前述のように、立ち上がりエッジパルス生成器120が立ち上がりエッジパルスを出力段605、607に供給するべく機能する。同様に、データ112の立ち下がりエッジに応答し、立ち下がりエッジパルス生成器1140が立ち下がりエッジパルスを出力段605、607に供給するべく機能する。以前と同様に、コンプリメントリセット技術を使用し、Q117クリティカルパスに対するデータ112を制御するパルスチェーンをリセットする。立ち上がりエッジパルス生成器120および立ち下がりエッジパルス生成器140は、CLK1112が論理「1」値を有する場合に有効になる。次に、パルス生成器のゲート処理について詳細に説明する。立ち下がりエッジに関して、NFET1160のゲートがCLK1112に接続されており、これによってNFET1160がターンオンされる。NFET1160のソースはノードE’に接続されており、NFET1160のドレインはNFET270のソースに接続されている。NFET270のゲートはインバータ1134の出力に接続されており、このインバータはリセット生成器の一部を形成している。PFET1162のソースは論理「1」に接続されており、ドレインはノードE’に接続されている。PFET1162のゲートはCLK1112にも接続されており、これによってPFET1162がターンオフされる。NFET1160がターンオンされPFET1162がターンオフされるため、立ち下がりエッジパルスリセット150および立ち下がりエッジループ保持器155により、データ112の次の立ち下がりエッジ用に立ち下がりエッジパルス生成器140の準備が整う。
【0068】
CLK1112の立ち下がりエッジに応答し、状態素子1120はデータ112をラッチする。状態素子1120は、有利なことに、クリティカルパスに影響を与えることなくコンプリメントリセットバッファ内に組み込まれている。この状態素子1120は、迅速に応答するパルス生成器が適切なパルスを出力段605、607に供給した後にデータ112をラッチするように構成されている。データ112を低速でインバータ1126および1130を有する状態素子に転送するよう、「弱い」インバータチェーン(インバータ235、240、および、1126をそれぞれ有する)が提供されている。インバータ285(1)〜285(4)を有する2つのラッチにより、出力段605、607のトランジスタペアによってオーバードライブされるまで2つの出力において状態が保持される。
【0069】
図15は、本発明の実施例(例えば、図13)のセットアップおよび保持時間の評価を示すチャートである。従来のデータラッチと同様に、グリッチのない出力を生成するには、コンプリメントリセットラッチの実施例にもクロックに対するデータのセットアップおよび保持時間が必要である。図15は、データDのセットアップ時間がクロックCLKに対して変化したときの出力Qの動きが示されている。限界セットアップおよび保持時間の近傍で、以前の状態に低速で減衰する大きな出力のグリッチが発生している。減衰時間は非常に長く、偶然にも略1クロックサイクルである。クリティカルパスは、ほとんど完全に出力を切り替えているが、ラッチはセットアップに失敗している。ラッチは、インバータ285(例えば、図13)により、低速で出力を以前の状態に戻している。これは、ショートパルスラッチとして使用するには、コンプリメントリセットラッチが最適ではないことを示している。コンプリメントリセットラッチは、トランスペアレントラッチとして、或いはパルス幅がτ/2(クロックサイクルの半分)のパルスラッチとして使用するのに適しており、クロック電力の効率が高く、パイプラインラッチアプリケーションに好適である。
【0070】
(付記1) データ信号およびクロック信号を受信し出力信号を供給するラッチ回路であって、
第1パルス生成器および第2パルス生成器を含むコンプリメントリセットバッファと、
前記データ信号および前記クロック信号を受信するべく接続され、前記クロック信号に応答して状態出力を生成するように構成された状態素子と、
前記クロック信号に応答して前記第1パルス生成器と前記第2パルス生成器を無効にするように構成されたゲート回路と、
前記状態素子から状態出力を受信するべく接続され、前記出力信号を供給するように構成された出力段と、を備えることを特徴とするラッチ回路。
【0071】
(付記2) 付記1に記載のラッチ回路において、前記状態素子は、前記クロック信号の負荷を軽減する小さなデバイスを含むことを特徴とするラッチ回路。
【0072】
(付記3) 付記1に記載のラッチ回路において、前記状態素子は、前記状態出力を保存するように構成された交差結合されたインバータを含むことを特徴とするラッチ回路。
【0073】
(付記4) 付記1に記載のラッチ回路において、前記状態素子は、さらに、前記クロック信号の遷移に応答して前記データ信号をラッチするように構成されていることを特徴とするラッチ回路。
【0074】
(付記5) 付記1に記載のラッチ回路において、前記状態素子は、さらに、前記クロック信号の立ち下がりエッジに応答して前記データ信号をラッチするように構成されていることを特徴とするラッチ回路。
【0075】
(付記6) 付記1に記載のラッチ回路において、前記状態素子は、さらに、前記データ信号としてレベル入力を受信するようにさらに構成されていることを特徴とするラッチ回路。
【0076】
(付記7) 付記1に記載のラッチ回路において、前記ゲート回路は、前記クロック信号の遷移に応答することを特徴とするラッチ回路。
【0077】
(付記8) 付記1に記載のラッチ回路において、前記ゲート回路は、さらに、前記データ信号の遷移に応答して前記第1パルス生成器と前記第2パルス生成器を選択的に無効にし出力段が前記状態出力をオーバーライドすることを防止するように構成されていることを特徴とするラッチ回路。
【0078】
(付記9) 付記1に記載のラッチ回路において、前記状態出力は、さらに、前記出力段を保存値に保持するように構成されていることを特徴とするラッチ回路。
【0079】
(付記10) 付記1に記載のラッチ回路において、前記出力段は、さらに、前記出力信号としてレベル出力およびパルス出力のいずれかを生成するように構成されていることを特徴とするラッチ回路。
【0080】
(付記11) データ信号を受信し出力信号を供給するラッチ回路であって、
前記データ信号を受信するべく接続され、前記入力信号の第1遷移エッジに応答して第1パルスを生成するように構成された第1パルス生成器と、
前記第1パルス生成器から前記第1パルスを受信するべく接続され、前記第1パルスに応答して第1パルスループ信号を生成し前記第1パルス生成器をオフ状態にするように構成された第1パルスループ生成器と、
前記データ信号を受信するべく接続され、前記入力信号の第2遷移エッジに応答して第2パルスを生成するように構成された第2パルス生成器と、
前記第2パルス生成器から前記第2パルスを受信するべく接続され、前記第2パルスに応答して第2パルスループ信号を生成し前記第2パルス生成器をオフ状態にするように構成された第2パルスループ生成器と、
前記データ信号および前記クロック信号を受信するべく接続され、前記クロック信号に応答して状態出力を生成するように構成された状態素子と、
前記クロック信号に応答して前記第1パルス生成器と前記第2パルス生成器を無効にするように構成されたゲート回路と、
前記第1パルス、第2パルスおよび状態出力を受信するべく接続され、出力信号として、前記第1パルスの持続時間において第1論理値を、そして、前記第2パルスの持続時間において第2論理値を生成するように構成された出力段と、を備えることを特徴とするラッチ回路。
【0081】
(付記12) 付記11に記載のラッチ回路において、前記状態素子は、前記クロック信号の負荷を軽減する小さなデバイスを含むことを特徴とするラッチ回路。
【0082】
(付記13) 付記11に記載のラッチ回路において、前記状態素子は、前記状態出力を保存するように構成された交差結合されたインバータを含むことを特徴とするラッチ回路。
【0083】
(付記14) 付記11に記載のラッチ回路において、前記状態素子は、さらに、前記クロック信号の遷移に応答して前記データ信号をラッチするように構成されていることを特徴とするラッチ回路。
【0084】
(付記15) 付記11に記載のラッチ回路において、前記ゲート回路は、前記クロック信号の遷移に応答することを特徴とするラッチ回路。
【0085】
(付記16) 付記11に記載のラッチ回路において、前記ゲート回路は、さらに、前記データ信号の遷移に応答して前記第1パルス生成器と前記第2パルス生成器を選択的に無効にし出力段が状態出力をオーバーライドすることを防止するように構成されていることを特徴とするラッチ回路。
【0086】
(付記17) 付記11に記載のラッチ回路において、前記出力段は、さらに、前記出力信号としてレベル出力およびパルス出力のいずれかを生成するように構成されていることを特徴とするラッチ回路。
【0087】
(付記18) 付記11に記載のラッチ回路において、前記出力段は、第1および第2パルス間で前記出力信号を一定に保持するように構成されている保持器回路を備えることを特徴とするラッチ回路。
【0088】
(付記19) 付記11に記載のラッチ回路において、前記第1パルスの幅は、前記第1パルスを生成する前記第1パルス生成器と前記第1パルスループ信号を生成する前記第1パルスループ生成器間の遅延量によって決定されることを特徴とするラッチ回路。
【0089】
(付記20) 付記11に記載のラッチ回路において、前記第2パルスの幅は、前記第2パルスを生成する前記第2パルス生成器と前記第2パルスループ信号を生成する前記第2パルスループ生成器間の遅延量によって決定されることを特徴とするラッチ回路。
【0090】
(付記21) データ信号を受信する入力手段と、
クロック信号を受信するクロック手段と、
出力信号を供給する出力手段と、
前記データ信号における遷移に応答してパルス信号をターンオンするパルス生成手段と、
前記クロック信号における遷移に応答して前記データ信号を保存するラッチ手段と、
前記データ信号の遷移に応答して前記出力手段が前記ラッチ手段をオーバーライドすることを防止するパルスをオフ状態にする手段と、を備えることを特徴とするラッチ回路。
【0091】
(付記22) 付記21に記載のラッチ回路において、前記パルスをオフ状態にする手段は、前記クロック信号の遷移に応答して前記パルス生成手段を無効にすることを特徴とするラッチ回路。
【0092】
(付記23) 付記21に記載のラッチ回路において、前記ラッチ手段は、前記クロック信号の負荷を軽減する小さなデバイスを含むことを特徴とするラッチ回路。
【0093】
(付記24) 付記21に記載のラッチ回路において、前記データ信号は、レベル信号を備えることを特徴とするラッチ回路。
【0094】
(付記25) 付記21に記載のラッチ回路において、前記出力信号は、レベル信号およびパルス信号のいずれかを備えることを特徴とするラッチ回路。
【0095】
(付記26)クロック信号に関連してデータ信号をラッチし出力信号を生成する方法であって、
前記データ信号およびクロック信号の中の少なくとも1つにおける遷移に応答してパルス信号をターンオンする段階と、
前記クロック信号における遷移に応答し、前記パルス信号を無効にして前記出力信号を保存値に保持する段階と、を備えることを特徴とする方法。
【0096】
(付記27) 付記26に記載の方法において、さらに、前記出力信号を保存値に保持している場合に、前記出力信号に伝播しないように前記データ信号を隔離する段階を備えることを特徴とする方法。
【0097】
(付記28) 付記26に記載の方法において、さらに、
前記パルス信号に応答して前記出力信号を生成する段階と、
前記パルス信号を遅延させて遅延パルス信号を生成する段階と、
前記遅延パルス信号に応答して前記パルス信号をターンオフする段階と、を備えることを特徴とする方法。
【0098】
(付記29) 付記26に記載の方法において、さらに、
前記データ信号およびクロック信号の中の少なくとも1つにおけるコンプリメントの遷移に応答して第2パルス信号をターンオンする段階と、
前記第2パルス信号に応答して前記出力信号を生成する段階と、
前記第2パルス信号を遅延させて第2遅延パルス信号を生成する段階と、
前記第2遅延パルス信号に応答して前記第2パルス信号をターンオフする段階と、を備えることを特徴とする方法。
【0099】
(付記30) 付記28に記載の方法において、前記遅延段階の持続時間は、前記パルス信号の幅を規定することを特徴とする方法。
【0100】
(付記31) 付記29に記載の方法において、前記遅延段階の持続時間は、前記第2パルス信号の幅を規定することを特徴とする方法。
【0101】
【発明の効果】
以上、詳述したように、本発明によれば、バッファおよびデータラッチの両方として有効であり、付加的な挿入遅延が伴わず、クロック電力をほとんど消費しないバッファラッチ(リピータ)を提供することができる。
【図面の簡単な説明】
【図1】コンプリメントリセットバッファの一実施例の概略ブロック図である。
【図2】レベルイン/レベルアウトコンプリメントリセットバッファの概略図である。
【図3】パルスイン/レベルアウトコンプリメントリセットバッファの概略図である。
【図4】パルスイン/レベルアウトコンプリメントリセットバッファのタイミング図である。
【図5】パルスイン/パルスアウトコンプリメントリセットバッファの概略図である。
【図6】パルスイン/パルスアウトコンプリメントリセットバッファのタイミング図である。
【図7】レベルイン/パルスアウトコンプリメントリセットバッファの概略図である。
【図8】レベルイン/パルスアウトコンプリメントリセットバッファのタイミング図である。
【図9】図2のバッファの動作に関連する信号を示すタイミング図である。
【図10】図2のバッファに関連する動作イベントを示すプロセスのフローチャートである。
【図11】リピータラッチを使用するロングワイヤ経路におけるデータのパイプライン処理を示す図である。
【図12】本発明の実施例によるレベルイン/レベルアウトラッチの概略図である。
【図13】本発明の他の実施例によるレベルイン/レベルアウトラッチの概略図である。
【図14】本発明の実施例によるレベルイン/パルスアウトラッチの概略図である。
【図15】本発明の実施例のセットアップおよび保持時間の評価を示すチャートである。
【符号の説明】
100,200…バッファ
110…パルス段
112…入力
115…出力段
117…出力
120…立ち上がりエッジパルス生成器
122…立ち上がりエッジパルスループ生成器
125…立ち上がりエッジパルスリセット
130…リセット生成器
135…立ち上がりエッジループ保持器
137…立ち上がりエッジパルス生成器の第2入力
140…立ち下がりエッジパルス生成器
142…第2回路の第1入力
145…立ち下がりエッジパルスループ生成器
150…立ち下がりエッジパルスリセット
155…立ち下がりエッジループ保持器回路
157…立ち下がりエッジパルス生成器の第2入力
500…パルスイン/レベルアウト(PILO)バッファ
600…パルスイン/パルスアウト(PIPO)バッファ
700…レベルイン/パルスアウト(LIPO)バッファ
1005…第1論理回路
1010…第2論理回路
1015…ワイヤセグメント
1020,1035…距離
1025…第1リピータラッチ
1030…第2リピータラッチ
1040…リピータ
1045…一般の論理ラッチ
1120…状態素子

Claims (12)

  1. 入力データ信号を入力し、出力データ信号を出力する相補型バッファ回路において、
    前記入力データ信号と立ち上がり帰還信号を入力し、前記入力データ信号の立ち上がり時から所定期間ローレベルが出力される反転立ち上がり信号を出力する反転立ち上がり信号生成回路と、
    前記入力データ信号と立ち下がり帰還信号を入力し、前記入力データ信号の立ち下がり時から所定期間ハイレベルが出力される反転立ち下がり信号を出力する反転立ち下がり信号生成回路と、
    前記反転立ち上がり信号を入力し、前記反転立ち上がり信号をさらに反転させるとともに遅延させた前記立ち上がり帰還信号を出力する立ち上がり帰還信号生成回路と、
    前記反転立ち下がり信号を入力し、前記反転立ち下がり信号をさらに反転させるとともに遅延させた前記立ち下がり帰還信号を出力する立ち下がり帰還信号生成回路と、
    前記立ち上がり帰還信号がローレベルの場合に、前記立ち上がり帰還信号の電圧レベルを一定に保持する立ち上がり帰還信号電圧保持回路と、
    前記立ち下がり帰還信号がハイレベルの場合に、前記立ち下がり帰還信号の電圧レベルを一定に保持する立ち下がり帰還信号電圧保持回路と、
    前記入力データ信号を入力し、前記入力データ信号を遅延させたリセット信号を出力するリセット信号生成回路と、
    前記リセット信号を入力し、前記リセット信号がローレベルの場合に、前記立ち上がり帰還信号をハイレベルに引き上げる立ち上がり帰還信号リセット回路と、
    前記リセット信号を入力し、前記リセット信号がハイレベルの場合に、前記立ち下がり帰還信号をローレベルに引き下げる立ち下がり帰還信号リセット回路と、
    前記反転立ち上がり信号と前記反転立ち下がり信号と前記リセット信号を入力し、前記出力データ信号を出力する出力回路と、を有することを特徴とする相補型バッファ回路。
  2. 前記相補型バッファ回路において、
    前記出力回路は、前記反転立ち上がり信号がハイレベルの場合且つ前記反転立ち下がり信号がローレベルの場合に、前記リセット信号を前記出力データ信号として出力することを特徴とする請求項1に記載の相補型バッファ回路。
  3. 前記相補型バッファ回路において、
    前記反転立ち上がり信号生成回路は、
    前記入力データ信号と前記立ち上がり帰還信号の否定的論理積演算を行う否定的論理積演算回路であり、
    前記反転立ち下がり信号生成回路は、
    前記入力データ信号と前記立ち下がり帰還信号の否定的論理和演算を行う否定的論理和演算回路であることを特徴とする請求項1又は2に記載の相補型バッファ回路。
  4. 前記相補型バッファ回路において、
    前記立ち上がり帰還信号生成回路は、
    前記反転立ち上がり信号をさらに反転させる第1のインバータ回路と、
    前記第1のインバータ回路の出力端子にゲート端子が接続され、ソース端子が接地電位に接続されるとともに、ドレイン端子から前記反転立ち上がり信号を出力する第1のN型トランジスタを有し、
    前記立ち下がり帰還信号生成回路は、
    前記反転立ち下がり信号をさらに反転させる第2のインバータ回路と、
    前記第2のインバータ回路の出力端子にゲート端子が接続され、ソース端子が電源電位に接続されるとともに、ドレイン端子から前記反転立ち下がり信号を出力する第1のP型トランジスタを有することを特徴とする請求項1〜3のいずれか1項に記載の相補型バッファ回路。
  5. 前記相補型バッファ回路において、
    前記立ち上がり帰還信号電圧保持回路は、
    前記立ち上がり帰還信号を入力して反転させる第3のインバータ回路と、
    前記第3のインバータ回路の出力端子にゲート端子が接続され、ソース端子が接地電位に接続されるとともに、ドレイン端子から前記立ち上がり帰還信号を出力する第2のP型トランジスタを有し、
    前記立ち下がり帰還信号電圧保持回路は、
    前記立ち下がり帰還信号を入力して反転させる第4のインバータ回路と、
    前記第4のインバータ回路の出力端子にゲート端子が接続され、ソース端子が電源電位に接続されるとともに、ドレイン端子から前記立ち下がり帰還信号を出力する第2のN型トランジスタを有することを特徴とする請求項1〜4のいずれか1項に記載の相補型バッファ回路。
  6. 前記相補型バッファ回路において、
    前記リセット信号生成回路は、
    前記入力データ信号を入力して遅延させた前記リセット信号を出力する第1の偶数個のインバータ回路を有することを特徴とする請求項1〜5のいずれか1項に記載の相補型バッファ回路。
  7. 前記相補型バッファ回路において、
    前記立ち上がり帰還信号リセット回路は、
    前記リセット信号生成回路の出力端子にゲート端子が接続され、ソース端子が電源電位に接続されるとともに、ドレイン端子が前記第1のN型トランジスタのドレイン端子に接続されるドレイン端子を備える第3のP型トランジスタを有し、
    前記立ち下がり帰還信号リセット回路は、
    前記リセット信号生成回路の出力端子にゲート端子が接続され、ソース端子が接地電位に接続されるとともに、ドレイン端子が前記第1のP型トランジスタのドレイン端子に接続されるドレイン端子を有する第3のN型トランジスタを有することを特徴とする請求項1〜6のいずれか1項に記載の相補型バッファ回路。
  8. 前記相補型バッファ回路において、
    前記出力回路は、
    前記リセット信号生成回路の出力端子に入力端子が接続されるとともに、前記相補型バッファ回路の出力端子に接続される出力端子を有するバッファ回路と、
    前記反転立ち上がり信号がゲート端子に接続され、ソース端子が電源電位に接続されるとともに、前記バッファ回路の出力端子に接続されるドレイン端子を有する第4のP型トランジスタと、
    前記反転立ち下がり信号がゲート端子に接続され、ソース端子が接地電位に接続されるとともに、前記バッファ回路の出力端子に接続されるドレイン端子を有する第4のN型トランジスタを有することを特徴とする請求項1〜7のいずれか1項に記載の相補型バッファ回路。
  9. 前記相補型バッファ回路において、
    前記リセット信号生成回路は、
    前記入力データ信号を遅延させて、前記立ち下がり帰還信号リセット回路における前記リセット信号として機能する第1のリセット信号を生成する第2の偶数個のインバータ回路と、
    前記入力データ信号を反転させた反転入力データ信号を遅延させて、前記立ち上がり帰還信号リセット回路における前記リセット信号として機能する第2のリセット信号を生成する第3の偶数個のインバータ回路を有することを特徴とする請求項1に記載の相補型バッファ回路。
  10. 前記相補型バッファ回路において、
    前記立ち上がり帰還信号電圧保持回路は、
    前記立ち上がり帰還信号を入力して反転させる第3のインバータ回路と、
    前記第3のインバータ回路の出力端子に入力端子が接続され、出力端子から前記立ち上がり帰還信号を出力する第5のインバータ回路を有し、
    前記立ち下がり帰還信号電圧保持回路は、
    前記立ち下がり帰還信号を入力して反転させる第4のインバータ回路と、
    前記第4のインバータ回路の出力端子に入力端子が接続され、出力端子から前記立ち下がり帰還信号を出力する第6のインバータ回路を有することを特徴とする請求項1に記載の相補型バッファ回路。
  11. 入力データ信号を入力し、出力データ信号を出力する相補型バッファ回路の制御方法において、
    反転立ち上がり信号生成回路に、前記入力データ信号と立ち上がり帰還信号を入力し、前記入力データ信号の立ち上がり時から所定期間ローレベルが出力される反転立ち上がり信号を出力するステップと、
    反転立ち下がり信号生成回路に、前記入力データ信号と立ち下がり帰還信号を入力し、前記入力データ信号の立ち下がり時から所定期間ハイレベルが出力される反転立ち下がり信号を出力するステップと、
    立ち上がり帰還信号生成回路に、前記反転立ち上がり信号を入力し、前記反転立ち上がり信号をさらに反転させるとともに遅延させた前記立ち上がり帰還信号を出力するステップと、
    立ち下がり帰還信号生成回路に、前記反転立ち下がり信号を入力し、前記反転立ち下がり信号をさらに反転させるとともに遅延させた前記立ち下がり帰還信号を出力するステップと、
    立ち上がり帰還信号電圧保持回路が、前記立ち上がり帰還信号がローレベルの場合に、前記立ち上がり帰還信号の電圧レベルを一定に保持するステップと、
    立ち下がり帰還信号電圧保持回路が、前記立ち下がり帰還信号がハイレベルの場合に、前記立ち下がり帰還信号の電圧レベルを一定に保持するステップと、
    リセット信号生成回路に、前記入力データ信号を入力し、前記入力データ信号を遅延させたリセット信号を出力するステップと、
    立ち上がり帰還信号リセット回路に、前記リセット信号を入力し、前記リセット信号がローレベルの場合に、前記立ち上がり帰還信号をハイレベルに引き上げるステップと、
    立ち下がり帰還信号リセット回路に、前記リセット信号を入力し、前記リセット信号がハイレベルの場合に、前記立ち下がり帰還信号をローレベルに引き下げると、
    出力回路に、前記反転立ち上がり信号と前記反転立ち下がり信号と前記リセット信号を入力し、前記出力データ信号を出力するステップと、を有することを特徴とする相補型バッファ回路の制御方法。
  12. 前記相補型バッファ回路の制御方法において、
    前記出力データ信号を出力するステップは、前記反転立ち上がり信号がハイレベルの場合且つ前記反転立ち下がり信号がローレベルの場合に、前記リセット信号を前記出力データ信号として出力するステップを有することを特徴とする請求項11に記載の相補型バッファ回路の制御方法。
JP2003166901A 2002-06-12 2003-06-11 相補型バッファ回路及びその制御方法 Expired - Fee Related JP4245413B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/170,948 US6577176B1 (en) 2002-06-12 2002-06-12 Complement reset latch

Publications (2)

Publication Number Publication Date
JP2004023789A JP2004023789A (ja) 2004-01-22
JP4245413B2 true JP4245413B2 (ja) 2009-03-25

Family

ID=22621931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003166901A Expired - Fee Related JP4245413B2 (ja) 2002-06-12 2003-06-11 相補型バッファ回路及びその制御方法

Country Status (2)

Country Link
US (2) US6577176B1 (ja)
JP (1) JP4245413B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020171898A1 (en) * 2001-05-15 2002-11-21 Patton Charles Milan Method and apparatus for using strategically located reflectors to create pathways for networking of line-of-sight computing devices
US6956405B2 (en) * 2002-07-09 2005-10-18 Ip-First, Llc Teacher-pupil flip-flop
JP4070121B2 (ja) * 2003-05-29 2008-04-02 三菱電機株式会社 電力変換装置
US20050064379A1 (en) * 2003-08-07 2005-03-24 Vikash Sanyal Consequence based story block learning system
CN100340060C (zh) * 2003-08-20 2007-09-26 松下电器产业株式会社 半导体集成电路
US7046063B2 (en) * 2004-04-08 2006-05-16 International Business Machines Corporation Interface circuit for coupling between logic circuit domains
US7119580B2 (en) * 2004-06-08 2006-10-10 Transmeta Corporation Repeater circuit with high performance repeater mode and normal repeater mode
US7656212B1 (en) 2004-06-08 2010-02-02 Robert Paul Masleid Configurable delay chain with switching control for tail delay elements
US7635992B1 (en) 2004-06-08 2009-12-22 Robert Paul Masleid Configurable tapered delay chain with multiple sizes of delay elements
US7173455B2 (en) 2004-06-08 2007-02-06 Transmeta Corporation Repeater circuit having different operating and reset voltage ranges, and methods thereof
US7336103B1 (en) 2004-06-08 2008-02-26 Transmeta Corporation Stacked inverter delay chain
US7405597B1 (en) * 2005-06-30 2008-07-29 Transmeta Corporation Advanced repeater with duty cycle adjustment
US7498846B1 (en) 2004-06-08 2009-03-03 Transmeta Corporation Power efficient multiplexer
US7304503B2 (en) * 2004-06-08 2007-12-04 Transmeta Corporation Repeater circuit with high performance repeater mode and normal repeater mode, wherein high performance repeater mode has fast reset capability
US7142018B2 (en) * 2004-06-08 2006-11-28 Transmeta Corporation Circuits and methods for detecting and assisting wire transitions
US7071747B1 (en) * 2004-06-15 2006-07-04 Transmeta Corporation Inverting zipper repeater circuit
US7330080B1 (en) 2004-11-04 2008-02-12 Transmeta Corporation Ring based impedance control of an output driver
US7592842B2 (en) * 2004-12-23 2009-09-22 Robert Paul Masleid Configurable delay chain with stacked inverter delay elements
US7724027B2 (en) * 2005-03-31 2010-05-25 Rozas Guillermo J Method and system for elastic signal pipelining
US7782089B2 (en) * 2005-05-27 2010-08-24 Ternarylogic Llc Multi-state latches from n-state reversible inverters
US20070013425A1 (en) * 2005-06-30 2007-01-18 Burr James B Lower minimum retention voltage storage elements
US7663408B2 (en) * 2005-06-30 2010-02-16 Robert Paul Masleid Scannable dynamic circuit latch
US7256634B2 (en) * 2005-07-06 2007-08-14 Transmeta Corporation Elastic pipeline latch with a safe mode
US7394681B1 (en) 2005-11-14 2008-07-01 Transmeta Corporation Column select multiplexer circuit for a domino random access memory array
US7642866B1 (en) 2005-12-30 2010-01-05 Robert Masleid Circuits, systems and methods relating to a dynamic dual domino ring oscillator
US7414485B1 (en) 2005-12-30 2008-08-19 Transmeta Corporation Circuits, systems and methods relating to dynamic ring oscillators
JP4836592B2 (ja) * 2006-02-09 2011-12-14 ソニー株式会社 ロボット装置及びその制御方法
CN1808904B (zh) 2006-03-10 2010-05-05 复旦大学 一种新型的抗噪声高速多米诺电路
US7710153B1 (en) 2006-06-30 2010-05-04 Masleid Robert P Cross point switch
US7495466B1 (en) * 2006-06-30 2009-02-24 Transmeta Corporation Triple latch flip flop system and method
US8793700B2 (en) * 2008-05-14 2014-07-29 Freescale Semiconductor, Inc. Synchronization of stateful elements in a processing resource using a scan chain
US8030960B2 (en) * 2008-12-29 2011-10-04 Oracle America, Inc. Converting dynamic repeaters to conventional repeaters
US8525550B2 (en) * 2010-10-20 2013-09-03 Robert P. Masleid Repeater circuit with multiplexer and state element functionality
US8904322B2 (en) * 2013-03-26 2014-12-02 International Business Machines Corporation Structure for stacked CMOS circuits
US9086457B2 (en) * 2013-03-26 2015-07-21 International Business Machines Corporation Scan chain latch design that improves testability of integrated circuits
US9122823B2 (en) 2013-12-20 2015-09-01 International Business Machines Corporation Stacked multiple-input delay gates
US10879994B2 (en) * 2019-05-10 2020-12-29 AR & NS Investment, LLC Repeater system and method for high-performance communication
US11218137B2 (en) * 2020-04-14 2022-01-04 Globalfoundries U.S. Inc. Low clock load dynamic dual output latch circuit
US11711079B2 (en) * 2021-03-01 2023-07-25 Texas Instruments Incorporated Integrated bus interface fall and rise time accelerator method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930008656B1 (ko) * 1991-07-19 1993-09-11 삼성전자 주식회사 노이즈가 억제되는 데이타 출력 버퍼
US5465060A (en) * 1994-06-10 1995-11-07 International Business Machines Corporation Fast edge triggered self-resetting CMOS receiver with parallel L1/L2 (Master/Slave) latch
US5656963A (en) * 1995-09-08 1997-08-12 International Business Machines Corporation Clock distribution network for reducing clock skew
US5614845A (en) * 1995-09-08 1997-03-25 International Business Machines Corporation Independent clock edge regulation
US5610548A (en) * 1995-09-08 1997-03-11 International Business Machines Corporation Split drive clock buffer
US5926050A (en) * 1996-07-29 1999-07-20 Townsend And Townsend And Crew Llp Separate set/reset paths for time critical signals
US6243797B1 (en) * 1997-02-18 2001-06-05 Micron Technlogy, Inc. Multiplexed semiconductor data transfer arrangement with timing signal generator
US5894419A (en) * 1997-04-21 1999-04-13 International Business Machines Corporation System and method for robust clocking schemes for logic circuits
US6025738A (en) * 1997-08-22 2000-02-15 International Business Machines Corporation Gain enhanced split drive buffer
US6101612A (en) * 1998-10-30 2000-08-08 Micron Technology, Inc. Apparatus for aligning clock and data signals received from a RAM
US6222404B1 (en) * 1999-06-28 2001-04-24 Sun Microsystems, Inc. Edge-triggered dual-rail dynamic flip-flop with an enhanced self-shut-off mechanism
US6188259B1 (en) * 1999-11-03 2001-02-13 Sun Microsystems, Inc. Self-reset flip-flop with self shut-off mechanism
US6323706B1 (en) 2000-02-24 2001-11-27 Rambus Inc. Apparatus and method for edge based duty cycle conversion
JP3604323B2 (ja) * 2000-05-19 2004-12-22 沖電気工業株式会社 クロック切替回路
GB2365234B (en) * 2000-06-21 2004-03-31 Sgs Thomson Microelectronics Selective modification of clock pulses
US6366115B1 (en) * 2001-02-21 2002-04-02 Analog Devices, Inc. Buffer circuit with rising and falling edge propagation delay correction and method
US6466063B2 (en) * 2001-03-20 2002-10-15 Taiwan Semiconductor Manufacturing Co., Ltd. Push-pull output buffer with gate voltage feedback loop
US6426652B1 (en) * 2001-05-14 2002-07-30 Sun Microsystems, Inc. Dual-edge triggered dynamic logic
US6630851B2 (en) * 2001-06-29 2003-10-07 Fujitsu Limited Low latency clock distribution
US6501304B1 (en) * 2001-10-11 2002-12-31 International Business Machines Corporation Glitch-less clock selector

Also Published As

Publication number Publication date
US6577176B1 (en) 2003-06-10
US20030231040A1 (en) 2003-12-18
JP2004023789A (ja) 2004-01-22
US6731140B2 (en) 2004-05-04

Similar Documents

Publication Publication Date Title
JP4245413B2 (ja) 相補型バッファ回路及びその制御方法
US6320418B1 (en) Self-timed pipelined datapath system and asynchronous signal control circuit
US7514975B2 (en) Data retention in operational and sleep modes
US7365575B2 (en) Gated clock logic circuit
US7154319B2 (en) Pulse-based high-speed low-power gated flip-flop circuit
JP2004023788A (ja) コンプリメントリセットバッファ
TWI584594B (zh) 時脈閘控閂鎖、時脈閘控閂鎖之運作方法與採用時脈閘控閂鎖之積體電路
US6563356B2 (en) Flip-flop with transmission gate in master latch
JP2005527166A (ja) リーク電流制御を用いた非揮発性多しきい値cmosラッチ
JP2002009242A (ja) 半導体集積回路、論理演算回路およびフリップフロップ
US6724231B2 (en) Clock signal propagation gate and semiconductor integrated circuit including same
US7449924B2 (en) Latch-based serial port output buffer
US8525566B2 (en) Glitch hardened flop repeater
US6078196A (en) Data enabled logic circuits
US6784694B2 (en) CMOS sequential logic configuration for an edge triggered flip-flop
JP5627163B2 (ja) 動作モード及びスリープモードでのデータ保持方法および回路
US20050189977A1 (en) Double-edge-trigger flip-flop
JPH11103240A (ja) クロック信号レベル変換機能付ラッチ回路及びフリップフロップ回路
US6970018B2 (en) Clocked cycle latch circuit
US6329835B1 (en) Quiet output buffers with neighbor sensing of wide bus and control signals
US10566959B1 (en) Sense amplifier flip-flop and method for fixing setup time violations in an integrated circuit
KR100885490B1 (ko) 반도체 집적회로의 플립 플롭
KR100611309B1 (ko) 래치 및 이를 구비하는 플립플롭

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees