(57)【特許請求の範囲】
【請求項１】
少なくとも１つのクロック信号のためのクロック入力と、
前記少なくとも１つのクロック信号に基づいて、少なくとも１つの第１の変更されたクロック信号および第２の変更されたクロック信号を生成する前記クロック入力に接続されたクロックバッファと、
前記クロックバッファに接続された複数のフリップフロップと、
複数のデータ入力と、
複数のデータ出力と、
を具備し、
前記複数のフリップフロップの個々は、前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を受け取り、
前記複数のデータ入力の各々は、前記複数のフリップフロップに入力データを供給するために、前記複数のフリップフロップの少なくとも１つに接続され、
前記複数のデータ出力の各々は、前記複数のフリップフロップから出力データを供給するために、前記複数のフリップフロップの少なくとも１つに接続され、
前記複数のフリップフロップの各々は、前記クロックバッファから生成された前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を利用して前記入力データを前記出力データに変換し、
前記クロックバッファは、
少なくとも、直列に互いに接続された第１のクロックインバータおよび第２のクロックインバータを具備し、
前記第１のクロックインバータは、前記少なくとも１つのクロック信号を受け取り、前記少なくとも１つのクロック信号から前記第１の変更されたクロック信号を生成し、
前記第２のクロックインバータは、前記第１の変更されたクロック信号を受け取り、前記第１の変更されたクロック信号から前記第２の変更されたクロック信号を生成し、
前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記複数のデータ入力の少なくとも１つに接続され、前記第１の変更されたクロック信号に基づいて動作する第１のスイッチと、
前記入力データを第１の出力データに変換するように構成され、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するように構成され、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第２のインバータに接続され、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する第２のスイッチと、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第１のインバータに接続され、前記第２の変更されたクロック信号に基づいて動作する第３のスイッチと、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するように構成され、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するように構成され、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記第４のインバータに接続され、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する第４のスイッチと、
を具備する、回路。
【請求項２】
前記複数のフリップフロップは、少なくとも３つのフリップフロップを具備する、請求項１の回路。 
【請求項３】
前記複数のフリップフロップは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項１の回路。
【請求項４】
前記複数のフリップフロップ、ならびに前記第１のクロックインバータおよび前記第２のクロックインバータの少なくとも１つは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項１の回路。
【請求項５】
前記複数のフリップフロップの１つは、第１のフリップフロップを具備し、
前記第１のフリップフロップおよび前記第１のクロックインバータは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項１の回路。
【請求項６】
回路中のデータを転送する方法であって、
少なくとも１つのクロック信号のためのクロック入力を受け取ることと、
クロックバッファを使用して、前記少なくとも１つのクロック信号に基づいて、少なくとも１つの第１の変更されたクロック信号および第２の変更されたクロック信号を生成することと、
複数のフリップフロップに前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を供給することと、
前記複数のフリップフロップの少なくとも１つのための入力データを受け取ることと、
前記複数のフリップフロップから出力データを転送することと、
を具備し、
前記複数のフリップフロップの各々は、前記クロックバッファから生成された前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を利用して前記入力データを前記出力データに変換し、
前記クロックバッファは、
少なくとも、直列に互いに接続された第１のクロックインバータおよび第２のクロックインバータを具備し、
前記第１のクロックインバータは、前記少なくとも１つのクロック信号を受け取り、前記少なくとも１つのクロック信号から前記第１の変更されたクロック信号を生成し、
前記第２のクロックインバータは、前記第１の変更されたクロック信号を受け取り、前記第１の変更されたクロック信号から前記第２の変更されたクロック信号を生成し、
前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記複数のデータ入力の少なくとも１つに接続され、前記第１の変更されたクロック信号に基づいて動作する第１のスイッチと、
前記入力データを第１の出力データに変換するように構成され、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するように構成され、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第２のインバータに接続され、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する第２のスイッチと、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第１のインバータに接続され、前記第２の変更されたクロック信号に基づいて動作する第３のスイッチと、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するように構成され、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するように構成され、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記第４のインバータに接続され、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する第４のスイッチと、
を具備する、方法。
【請求項７】
前記複数のフリップフロップは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項６の方法。
【請求項８】
前記複数のフリップフロップ、ならびに前記第１のクロックインバータおよび前記第２のクロックインバータの少なくとも１つは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項６の方法。
【請求項９】
前記複数のフリップフロップの１つは、第１のフリップフロップを具備し、
前記第１のフリップフロップおよび前記第１のクロックインバータは、標準特定用途向け集積回路（ＡＳＩＣ）フローの中にセルとして利用可能である、請求項６の方法。
【請求項１０】
前記複数のフリップフロップは、少なくとも３つのフリップフロップを具備する、請求項６の方法。
【請求項１１】
少なくとも１つのクロック信号の入力を受け取るための手段と、
前記クロック信号に基づいて、少なくとも１つの第１の変更されたクロック信号および第２の変更されたクロック信号を生成するための単一の手段と、
前記第１の変更されたクロック信号および前記第２の変更されたクロック信号をそれぞれ受け取る、データを転送するための複数の手段と、
入力データを提供するために、データを転送するための前記複数の手段に接続された入力データを受け取るための手段と、
出力データを提供するために、データを転送するための前記複数の手段に接続されたデータを出力するための手段と、
を具備し、
データを転送するための前記複数の手段の各々は、前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を利用して前記入力データを前記出力データに変換し、 
少なくとも１つのクロック信号の入力を受け取るための前記手段は、クロック入力を具備し、
少なくとも前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を生成するための前記手段は、クロックバッファを具備し、
データを転送するための前記複数の手段は、複数のフリップフロップを具備し、
入力データを受け取るための前記手段は、複数のデータ入力を具備し、
データを出力するための前記手段は、複数のデータ出力を具備し、 
前記クロックバッファは、
少なくとも、直列に互いに接続された第１のクロックインバータおよび第２のクロックインバータを具備し、
前記第１のクロックインバータは、前記少なくとも１つのクロック信号を受け取り、前記少なくとも１つのクロック信号から前記第１の変更されたクロック信号を生成し、
前記第２のクロックインバータは、前記第１の変更されたクロック信号を受け取り、前記第１の変更されたクロック信号から前記第２の変更されたクロック信号を生成し、
前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記複数のデータ入力の少なくとも１つに接続され、前記第１の変更されたクロック信号に基づいて動作する第１のスイッチと、
前記入力データを第１の出力データに変換するように構成され、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するように構成され、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第２のインバータに接続され、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する第２のスイッチと、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第１のインバータに接続され、前記第２の変更されたクロック信号に基づいて動作する第３のスイッチと、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するように構成され、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するように構成され、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記第４のインバータに接続され、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する第４のスイッチと、
を具備する、回路。
【請求項１２】
少なくとも１つのクロック信号にクロック入力を提供することと、
前記少なくとも１つのクロック信号に基づいて、少なくとも１つの第１の変更されたクロック信号および第２の変更されたクロック信号を生成する前記クロック入力に接続されたクロックバッファを提供することと、
前記クロックバッファに複数のフリップフロップを接続することと、
前記複数のフリップフロップに入力データを提供するために、前記複数のフリップフロップの少なくとも１つに複数のデータ入力を接続することと、
前記複数のフリップフロップから出力データを提供するために、前記複数のフリップフロップの少なくとも１つに複数のデータ出力を接続することと、
を具備し、
前記複数のフリップフロップの個々は、前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を受け取り、
前記複数のフリップフロップの各々は、前記クロックバッファから生成された前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を利用して前記入力データを前記出力データに変換し、
前記クロックバッファは、
少なくとも、直列に互いに接続された第１のクロックインバータおよび第２のクロックインバータを具備し、
前記第１のクロックインバータは、前記少なくとも１つのクロック信号を受け取り、前記少なくとも１つのクロック信号から前記第１の変更されたクロック信号を生成し、
前記第２のクロックインバータは、前記第１の変更されたクロック信号を受け取り、前記第１の変更されたクロック信号から前記第２の変更されたクロック信号を生成し、
前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記複数のデータ入力の少なくとも１つに接続され、前記第１の変更されたクロック信号に基づいて動作する第１のスイッチと、
前記入力データを第１の出力データに変換するように構成され、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するように構成され、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第２のインバータに接続され、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する第２のスイッチと、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るように構成され、前記第１のインバータに接続され、前記第２の変更されたクロック信号に基づいて動作する第３のスイッチと、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するように構成され、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するように構成され、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るように構成され、前記第４のインバータに接続され、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する第４のスイッチと、
を具備する、回路を製造する方法。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
このＰＣＴ特許出願は、２００８年５月２７日に出願され、米国仮特許出願番号第６１／０５６，１９５号に基づく。その内容は、参照によってここに組み込まれる。
【発明の分野】
【０００２】
現開示は、動作中に電力を節約することを目的とする回路構造に関係がある。より具体的には、現開示は、電力を節約するマルチプルフリップフロップに応じた回路設計に関係がある。
【関連技術の説明】
【０００３】
フリップフロップは、一般的な電子回路素子である。通常、典型的には、シングルは、１つの内部クロックバッファを含んでいる。内部クロックバッファは、典型的には、２つのインバータを含んでいる。内部クロックバッファは、典型的には、４つのスイッチを駆動する。
【０００４】
従来の回路設計では、２つのインバータのサイズは、フリップフロップが特定の回路用の性能要件を満たすことを保証するために、非常に大きかった。
【０００５】
大きなクロックインバータを使用することの１つの利点は、回路設計者が回路の駆動能力の著しい増加を実現するかもしれないということである。さらに、大きなクロックインバータは、回路速度を増加させるかもしれない。
【０００６】
不運にも、これらの利点は、大きなクロックインバータの使用に関連した少なくとも１つの欠点によって相殺された。具体的には、大きなクロックインバータは、回路のための電力が増加する。また、これは、全体的なシステム実現に重大であるもしれない。消費電力が最小化されることになっている回路では、これは、従来のフリップフロップ回路の現実的な実現に障害を示すかもしれない。
【発明の概要】
【０００７】
したがって、回路設計を提供するための発明の１つの態様では、マルチプルフリップフロップを組み込み、消費電力は、より効率的になる。
【０００８】
言いかえれば、その発明は、フリップフロップを組み込むが、さらに好ましくない電力量を消費する大きなクロックインバータを含んでいない回路設計を提供する。
【図面の簡単な説明】
【０００９】
発明は、いくつかの図に関連して記述されるだろう。
【図１】図１は、典型的なフリップフロップ用の回路である。
【図２】図２は、発明によるフリップフロップに基づいた回路設計の第１の実施形態の回路図である。
【図３】図３は、発明によるフリップフロップに基づいた回路設計の第２の実施形態の回路図である。
【発明の実施の形態の説明】
【００１０】
発明のいくつかの実施形態は、ここに添付された図面に関して今記述されるだろう。当業者に直ちに明白であるべきように、発明の範囲から逸脱せずに使用されてもよい列挙された実施形態の多数のバリエーションおよび等価物がある。その発明は、この開示を読むおよび理解する上で技術における通常の熟練者によって理解されるあらゆるバリエーションおよび等価物を包含するように意図される。
【００１１】
図１は、当業者に知られていた回路１０の設計用の１つの典型的な図を示す。具体的には、回路１０は、典型的なフリップフロップ用である。
【００１２】
図１に例証されるように、回路１０は、クロックバッファ１２およびフリップフロップ１４を含んでいる。より非常に詳しく下に議論されるように、クロックバッファ１２は、フリップフロップ１４のクロック信号を生成する。
【００１３】
クロックバッファ１２は、直列に互いに接続された２つのインバータ１６および１８を含んでいる。インバータ１６は、外部クロック信号ＣＫを受け取る。その後、インバータ１６は、クロック信号ＣＫｉを生成するために、クロック信号ＣＫを操作する。それは、２つの経路に続く。第１の経路では、クロック信号ＣＫｉは、インバータ１８に提供される。第２の経路では、クロック信号ＣＫｉは、２つのスイッチ２０および２６に提供される。クロック信号ＣＫｉの受信に応じて、インバータ１８は、クロック信号ＣＫｉを変更し、クロック信号ＣＫｉを生成する。クロック信号ＣＫｉは、２つのスイッチ２２および２４に提供される。 
図１に示されるように、外部データＤは、クロック信号ＣＫとともに、フリップフロップ回路１０のための入力である。示されるように、データＤは、回路１０内のフリップフロップ１４に提供される。フリップフロップ１４および回路１０からの出力データは、文字「Ｑ」によって示される。
【００１４】
図１に示されるように、データＤは、インバータ２８に向かってスイッチ２０を通り抜ける。インバータ２８は、２つの可能なルートのうちの１つをとる変換されたデータ信号Ｄ１を生成する。第１のルートでは、データＤ１は、インバータ３０に進む。インバータ３０では、データＤ１は、データＤ２に変換される。そこでは、それは、スイッチ２２の後に、データフローに再び加わり、インバータ２８の上流ポイントで、ただし、スイッチ２０の下流で、インバータ２８への入力になる。
【００１５】
さらに、図１に示されるように、データＤ１は、スイッチ２４に進む。スイッチ２４から、データＤ１は、インバータ３２に移動する。ここで、それは、データＱに変換される。第１の経路では、データＱは、フリップフロップ１４、したがって回路１０から出る。第２の経路では、データＱは、インバータ３４に導かれる。ここで、それは、データＤ３に変換される。その後、データＤ３は、スイッチ２６を通り抜ける。ここで、それは、スイッチ２４の後にデータストリームを再び入れる。示されるように、データＤ３は、スイッチ２４の後で、ただしインバータ３２の前のポイントで、データストリームを連結する。
【００１６】
上述されたように、このフリップフロップアプローチへの１つの利点は、重要な利得およびフリップフロップ回路１０のための重要な速度があるように、クロックインバータ１６および１８に電力が供給されるかもしれないということである。フリップフロップ回路１０のこの実施の短所は、クロックインバータ１６および１８が大きく、したがって、フリップフロップ回路１０のための電力を、比例して大量に消費するということである。
【００１７】
今日、プロセス技術は、集積回路のための重大なサブミクロンレベル（つまり＜９０ｎｍ）に及んだ。当業者によって理解されるはずであるように、トランジスタサイズは、メーカーの生産回路とともに、このミクロンレベル（あるいは以下に）にますます小さくなる。このレベルで作成されたトランジスタのサイズは、フロップ中のクロックインバータのサイズに制限を設ける。言いかえれば、トランジスタがサイズを最小化されるので、フロップ中の関連するクロックインバータのサイズもまたそうである。しかしながら、小型化は、必ずしも減少した性能または能力に帰着しない。最小サイズのインバータは、速度性能（例えば、最高周波数、遷移時間、セットアップタイム、ホールドタイムなど）を失わずに、４つを超えるスイッチを駆動することができる。言い換えると、２つの同じフリップフロップを同時に接続することが可能であり、たった１つの内部クロックバッファ（２つのインバータから構成された）に接続される。その際、クロックバッファを構築し、そうでなければ、従来の回路設計で第２のフロップに供給される、２つの内部インバータの消費電力を節約することが可能である、
実際的な設計では、２つのフロップ（８つのスイッチを具備する）がともに接続される場合、デュアルフリップフロップがシングルフロップと同様の性能を有していることを保証するために、第２のクロックインバータサイズをわずかに調整することが必要かもしれない。
【００１８】
図２は、発明による回路３６のための図を提供する。直ちに明白なように、回路は、２つのフリップフロップ３８および４０を含んでいる。これらのフリップフロップ３８および４０の両方は、同じクロックバッファ４２によって駆動される。
【００１９】
図２に例証されるように、クロックバッファ４２は、２つのインバータ４４および４６を含んでいる。インバータ４４は、外部クロック信号ＣＫを受け取り、クロック信号ＣＫを変更し、クロック信号ＣＫｉを生成する。例証されるように、そのクロック信号ＣＫｉは、インバータ４６へ入力として提供される。それは、クロック信号ＣＫｉを生成するために、クロック信号ＣＫｉを変更する。
【００２０】
クロック信号ＣＫｉは、スイッチ４８、５４、５６および６２に提供される。クロック信号ＣＫｉは、順に、スイッチ５０、５２、５８および６０に提供される。
【００２１】
図２に示されるように、データＤ４は、インバータ６４に向かってスイッチ４８を通り抜ける。インバータ６４は、２つの可能なルートのうちの１つをとる変換されたデータ信号Ｄ５を生成する。第１のルートでは、データＤ５は、インバータ６６に進む。インバータ６６では、データＤ５は、データＤ６に変換される。ここで、それは、インバータ６４の上流で、ただしスイッチ４８の下流のポイントで、データストリームを再結合し、インバータ６４に入力を提供する。
【００２２】
さらに、図２に示されるように、データＤ５は、スイッチ５２に進む。スイッチ５２から、データＤ５は、インバータ６８に進む。ここで、それは、データＱ１に変換される。データＱｌは、経路の１つで回路フリップフロップ３８（したがって回路３６）から出る。別の経路では、データＱｌは、インバータ７０に導かれる。ここで、それは、データＤ７に変換される。その後、データＤ７は、スイッチ５４を通り抜ける。ここで、それは、スイッチ５２の後で、ただしインバータ６８の前のポイントで、データストリームを再結合する。 
フリップフロップ４０に関して、データＤ８は、インバータ７２に向かってスイッチ５６を通過する。インバータ７２は、２つの可能なルートのうちの１つをとる変換されたデータ信号Ｄ９を生成する。第１のルートでは、データＤ９は、インバータ７４に進む。インバータ７４では、データＤ９は、データＤ１０に変換される。データＤ１０は、インバータ７２の上流で、ただしスイッチ５６の下流のポイントで、データストリームを再結合し、インバータ７２に入力を提供する。
【００２３】
さらに、図２に示されるように、データＤ９は、スイッチ６０に進む。スイッチ６０から、データＤ９は、インバータ７６に進む。ここで、それは、データＱ２に変換される。データＱ２は、ある経路で、フリップフロップ４０（したがって回路４０）から出る。別の経路では、データＱ２は、インバータ７８に導かれる。ここで、それは、データＤ１１に変換される。その後、データＤ１１は、スイッチ６２を通り抜ける。ここで、それは、スイッチ６０の後で、ただしインバータ７６の前のポイントで、データストリームを再結合する。
【００２４】
図２から直ちに明白なように、回路３６、データＤ４、データＤ８およびクロック信号ＣＫに３つの入力がある。回路３６、出力データＱｌおよび出力データＱ２から２つの出力がある。
【００２５】
９０ｎｍおよび６５ｎｍの両方のプロセス技術のために、２つのフロップ３８および４０が２つの最小サイズのクロックインバータ４４および４６だけとともに組み合わせられる場合、シングルフロップと同様に実行するデュアルフリップフロップ回路３６を作成することは可能であることを、実験が示す。具体的には、デュアルフリップフロップ回路３６は、シングルフロップと同じ速度またはほとんど同じ速度で動作する。さらに、２つのシングルフリップフロップの消費電力と比較して、内部スイッチング消費電力は、約１５〜２５％減少される。
【００２６】
大規模な設計の中で２つのシングルフロップの代わりにデュアルフロップ回路３６を使用することは、クロックツリー用のシンク番号が少なくとも２（または２以上）のファクタによって減少されるので、デバイスのクロックツリーのための著しい節電に帰着するために熟考される。減少されたクロックツリーのロードは、クロックツリーバッファと同様の数に応じることを認める。１つの熟考された実施形態では、クロックツリーバッファの数は、従来技術の設計との比較に基づいて、半分（または半分より多く）だけ減少されてもよい。
【００２７】
図３は、発明の第２の実施形態の回路８０の図を提供する。回路８０は、３つのフリップフロップ３８、４０および８２を含んでいる。回路８０は、第３のフリップフロップ８２を加えることにより、回路３６を変更するので、２つのフリップフロップ３８および４０の参照数字は、同じままである。その結果、第３のフリップフロップ８２の議論は、回路８２の議論を単純化するために提供される。第３のフリップフロップは、４つのスイッチ８４、８６、８８、９０および４つのインバータ９２、９４、９６、９８を含んでいる。
【００２８】
図３に例証されるように、第３のフリップフロップ８２は、受信データＤ１２を受け取る。それは、インバータ９２に向かってスイッチ８４を通り抜ける。インバータ９２は、２つの可能なルートのうちの１つをとる変換されたデータ信号Ｄ１３を生成する。第１のルートでは、データＤ１３は、インバータ９４に進む。インバータ９４では、データＤ１３は、データＤ１４に変換される。データＤ１４は、インバータ９２の上流で、ただしスイッチ８４の下流のポイントで、データストリームを再結合し、インバータ９２に入力を提供する。
【００２９】
さらに、図３に示されるように、データＤ１３は、スイッチ８８に進む。スイッチ８８から、データＤ１３は、インバータ９６に移動する。ここで、それは、データＱ３に変換される。ある経路では、データＱ３は、フリップフロップ８２（したがって回路８０）から出る。別の経路では、データＱ３は、インバータ９８に導かれる。ここで、それは、データＤ１５に変換される。その後、データＤ１５は、スイッチ９０を通り抜ける。ここで、それは、スイッチ８８の後で、ただしインバータ９６の前のポイントで、データストリームを再結合する。
【００３０】
図３から直ちに明白なように、回路８０、データＤ４、データＤ８、データＤ１２およびクロック信号ＣＫに４つの入力がある。回路８０、出力データＱ１、出力データＱ２および出力データＱ３からの３つの出力がある。
【００３１】
この開示によって熟考されたさらなる実施形態では、４つ以上のフリップフロップは、シングルクロックバッファに関連させてもよい。
【００３２】
さらに、ここに記述した１つ以上の実施形態では、クロックインバータ４４および４６の１つまたは両方は、最小の外形（minimal aspect）を示す大きさにされてもよいことが熟考される。そのような大きさにされた場合、クロックインバータ４４および４６は、最小の電力量を消費する大きさにされてもよい。あるいは、クロックインバータ４４および４６は、使用されたプロセス技術（例えば＜９０ｎｍ）用に作成されてもよいのと同じくらい物理的サイズにおいて小さなものとして、作られてもよい。他の変更は、当業者に明白に違いない。 
これらの変更に従って、クロックインバータ４４または４６のうちの１つだけが、最小の外形を示す大きさにされてもよい。これは、インバータ４４またはインバータ４６だけを含んでもよい。別の熟考された実施形態では、クロックインバータ４４および４６は、両方とも最小の外形を示す大きさにされてもよい。
【００３３】
（ＡＳＩＣプロセッサへの埋め込み）
典型的な特定用途向け集積回路（「ＡＳＩＣ」）設計フローでは、複雑な回路（complex circuit）は、ＶＨＳＩＣ（超高速集積回路）ハードウェア記述言語（「ＶＨＤ１」）またはＶｅｒｉｌｏｇ（ハードウェア記述言語（「ＨＤ１」））のような、ハイレベルのハードウェア仕様言語を使用して設計されている。合成ツールは、これをゲートレベルネットリスト（gate level netlist）に変換する。その後、これらのゲートは、複雑な回路を実行するチップを製造するために使用することができる最終マスクに帰着するさらなる処理を受ける。
【００３４】
ハイレベルの仕様からゲートレベルネットリストに変更する場合、合成ツールは、ハイレベル言語の使用のために指定された動作を実行するために、ゲートの組合せを選択する。ゲートは、利用可能なゲート、それらの機能の動作、サイズ、速度および電力を指定するライブラリから選ばれる。合成ツールは、１組の制約、つまり、合計サイズ、速度、電力などのターゲットを与えられる。合成ツールは、利用可能なライブラリ要素、ハイレベルで指定されてターゲットに最も合うような同一の機能を生成するゲートの組合せから、選択する。
【００３５】
このライブラリおよび同等の他のデータベースは、ＡＳＩＣ設計フローで使用される他のツールに情報を提供する。その情報がＡＳＩＣフローで使用されるすべてのデータベースに加えられたエレメントは、セルと呼ばれる。
【００３６】
ＡＳＩＣフローに役立つようなデュアルおよびマルチフリップフロップのために、それらはセルとして利用可能であることが熟考される。言いかえれば、合成ツールがそれらを選択してもよいように、それらは、ライブラリ要素として提供される。デュアルおよびマルチフリップフロップについての情報は、すべてのデータベースに加えられる。その結果、フローに関連するすべてのツールは、それらの上で動作してもよい。
【００３７】
典型的には、セルは、異なる設計基準強度（design strength）で異なるバージョンにおいて利用可能になる。それは、同一の機能を有するが、異なる性能、サイズおよび電力特性を有する。
【００３８】
図２および３に関して、回路３６および８０は、ここに記述され、当業者によって理解されるバリエーションおよび同等の他のものでもよいような、個々のセルとして信頼されてもよい。
【００３９】
セルのバリエーションでは、フリップフロップ３８、４０、８２は、標準ＡＳＩＣフローの中にセルとして利用可能とされてもよい。同様に、フリップフロップ３８、４０、８２およびクロックバッファ４２は、標準ＡＳＩＣフローの中にセルまたは複数のセルとして利用可能とされてもよい。上述するように、クロックバッファ４２中のインバータ４４および４６の１つまたは両方は、最小の外形を示す大きさにされてもよい。
【００４０】
上述するように、発明のいくつかの実施形態が、記述された。ここに添付された請求項によって列挙されるように、発明の範囲から逸脱せずに使用されてもよい列挙された実施形態の多数のバリエーションおよび等価物がある。発明は、それらのバリエーションと等価物を包含するように意図される。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
［１］  少なくとも１つのクロック信号のためのクロック入力と、
前記少なくとも１つのクロック信号に基づいて、少なくとも１つの第１の変更されたクロック信号および第２の変更されたクロック信号を生成する前記クロック入力に接続された１つのみのクロックバッファと、
前記１つのみのクロックバッファに接続された複数のフリップフロップと、前記複数のフリップフロップの個々は、前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を受け取る、
複数のデータ入力と、前記複数のデータ入力の各々は、前記複数のフリップフロップに入力データを供給するために、前記複数のフリップフロップの少なくとも１つに接続されている、
複数のデータ出力と、前記複数のデータ出力の各々は、前記複数のフリップフロップから出力データを供給するために、前記複数のフリップフロップの少なくとも１つに接続されている、
を具備し、
前記複数のフリップフロップの各々は、前記第１の変更されたクロック信号および前記第２の変更されたクロック信号を利用して前記入力データを前記出力データに変換する、回路。
［２］  前記１つのみのクロックバッファは、
少なくとも、直列に互いに接続された第１のクロックインバータおよび第２のクロックインバータを具備し、
前記第１のクロックインバータは、前記少なくとも１つのクロック信号を受け取り、前記少なくとも１つのクロック信号から前記第１の変更されたクロック信号を生成する、
前記第２のクロックインバータは、前記第１の変更されたクロック信号を受け取り、前記第１の変更されたクロック信号から前記第２の変更されたクロック信号を生成する、
前記［１］の回路。
［３］  前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るために、前記複数のデータ入力の少なくとも１つに接続された第１のスイッチと、前記第１のスイッチは、前記第１の変更されたクロック信号に基づいて動作する、
前記入力データを第１の出力データに変換するために、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するために、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るために、前記第２のインバータに接続された第２のスイッチと、前記第２のスイッチは、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るために、前記第１のインバータに接続された第３のスイッチと、前記第３のスイッチは、前記第２の変更されたクロック信号に基づいて動作する、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するために、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するために、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るために、前記第４のインバータに接続された第４のスイッチと、前記第４のスイッチは、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する、
を具備する、前記［１］の回路。
［４］  前記フリップフロップの各々は、
前記入力データおよび前記第１の変更されたクロック信号を受け取るために、前記複数のデータ入力の少なくとも１つに接続された第１のスイッチと、前記第１のスイッチは、前記第１の変更されたクロック信号に基づいて動作する、
前記入力データを第１の出力データに変換するために、前記第１のスイッチに接続された第１のインバータと、
前記第１の出力データを第２の出力データに変換するために、前記第１のインバータに接続された第２のインバータと、
前記第２の出力データおよび前記第２の変更されたクロック信号を受け取るために、前記第２のインバータに接続された第２のスイッチと、前記第２のスイッチは、前記第１のインバータに前記第２の出力データを供給するために、前記第２の変更されたクロック信号に基づいて動作する、
前記第１の出力データおよび前記第２の変更されたクロック信号を受け取るために、前記第１のインバータに接続された第３のスイッチと、前記第３のスイッチは、前記第２の変更されたクロック信号に基づいて動作する、
前記第１の出力データを前記複数のデータ出力の１つのための前記出力データに変換するために、前記第３のスイッチに接続された第３のインバータと、
前記出力データを第３の出力データに変換するために、前記第３のインバータに接続された第４のインバータと、
前記第３の出力データおよび前記第１の変更されたクロック信号を受け取るために、前記第４のインバータに接続された第４のスイッチと、前記第４のスイッチは、前記第３のインバータに前記第３の出力データを供給するために、前記第１の変更されたクロック信号に基づいて動作する、
前記［２］の回路。
［５］  前記第１のクロックインバータおよび前記第２のクロックインバータの少なくとも１つは、最小の外形を示す大きさにされている、前記［２］の回路。
［６］  前記第１のクロックインバータだけが、最小の外形を示す大きさにされている、前記［５］の回路。
［７］  前記第１のクロックインバータおよび前記第２のクロックインバータの両方は、最小の外形を示す大きさに両方ともされている、前記［５］の回路。
［８］  前記複数のフリップフロップは、前記第１のクロックインバータおよび前記第２のクロックインバータによって、すべて駆動される、前記［２］の回路。
［９］  前記第１のクロックインバータおよび前記第２のクロックインバータの少なくとも１つは、最小の外形を示す大きさにされている、前記［８］の回路。
［１０］  前記第１のクロックインバータだけが、最小の外形を示す大きさにされている、前記［９］の回路。
［１１］  前記第１のクロックインバータおよび前記第２のクロックインバータの両方は、最小の外形を示す大きさに両方ともされている、前記［９］の回路。
［１２］  前記複数のフリップフロップは、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［１］の回路。
［１３］  前記複数のフリップフロップ、ならびに前記第１のクロックインバータおよび前記第２のクロックインバータの少なくとも１つは、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［２］の回路。
［１４］  前記第１のクロックインバータだけが、最小の外形を示す大きさにされ、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［１３］の回路。
［１５］  前記第１のクロックインバータおよび前記第２のクロックインバータの両方は、最小の外形を示す大きさにされ、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［１３］の回路。
［１６］  前記複数のフリップフロップの１つは、第１のフリップフロップを具備し、
前記第１のフリップフロップおよび前記第１のクロックインバータは、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［１３］の回路。
［１７］  前記第１のクロックインバータだけが、最小の外形を示す大きさにされている、前記［１６］の回路。
［１８］  最小の外形を示す大きさにされた前記複数のフリップフロップおよび前記第１のクロックインバータは、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［４］の回路。
［１９］  最小の外形を示す大きさにされた前記複数のフリップフロップ、前記第１のクロックインバータおよび前記第２のクロックインバータは、標準ＡＳＩＣフローの中にセルとして利用可能である、前記［４］の回路。
【図１】
0005453400.tif 000002
【図２】
0005453400.tif 000003
【図３】
0005453400.tif 000004