(57)【特許請求の範囲】
【請求項１】
外部クロック信号が入力され、前記外部クロック信号の第１レベルから第２レベルへの遷移に同期して、前記外部クロック信号より第２レベルの期間が短いパルス型クロック信号を出力するパルス型クロック発生回路と、
入力データ信号と内部クロック信号とが入力され、前記内部クロック信号が第４レベルにある期間で前記入力データ信号の値を取り込み、前記内部クロック信号が第３レベルにある期間で取り込んだ値を保持して保持データ信号として出力するデータラッチ回路と、
前記パルス型クロック信号と前記データラッチ回路の前記入力データ信号と前記保持データ信号とが入力され、前記パルス型クロック信号が第１レベルの期間で第３レベルの前記内部クロック信号を出力し、前記パルス型クロック信号が第２レベルの期間で前記入力データ信号と前記保持データ信号との一致を検出して、不一致の場合は第４レベルの前記内部クロック信号を出力し、一致した場合には第３レベルの前記内部クロック信号をそのまま出力するデータ比較回路とを備え、
前記データ比較回路は、
前記パルス型クロック信号が第１レベルのとき、前記入力データ信号と前記保持データ信号とそれぞれの反転値が入力されるトランジスタが、前記パルス型クロック信号により電源もしくは接地から遮断されることを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記データ比較回路は、排他的論理和回路からなり、
前記排他的論理和回路は、
直列接続された２つのｎ型ＭＯＳＦＥＴが、２並列に接続された構成からなり、
直列接続された前記ｎ型ＭＯＳＦＥＴの一方の接続部が接地され、直列接続された前記ｎ型ＭＯＳＦＥＴの他方の接続部がパルス型クロック信号の入力されるインバータ回路のｎ型ＭＯＳＦＥＴのソース側に接続されたことを特徴とする半導体集積回路装置。
【請求項３】
請求項１記載の半導体集積回路装置において、
前記データ比較回路は、
排他的論理和回路からなり、
前記排他的論理和回路は、
直列接続された２つのｐ型ＭＯＳＦＥＴが、２並列に接続された構成からなり、
直列接続された前記ｐ型ＭＯＳＦＥＴの一方の接続部が電源に接地され、直列接続された前記ｐ型ＭＯＳＦＥＴの他方の接続部がパルス型クロック信号の入力されるインバータ回路のｐ型ＭＯＳＦＥＴのソース側に接続されたことを特徴とする半導体集積回路装置。
【請求項４】
請求項１記載の半導体集積回路装置において、
前記データ比較回路は、
パルス型クロック信号が第２レベルの期間で入力データ信号と保持データ信号の比較結果が一致した場合に、内部クロックの第３レベルを保証するフィードバック回路を有することを特徴とする半導体集積回路装置。
【請求項５】
請求項４記載の半導体集積回路装置において、
前記フィードバック回路にフィードバックを掛ける電流値を制御するトランジスタを付加したことを特徴とする半導体集積回路装置。
【請求項６】
請求項１記載の半導体集積回路装置において、
前記データラッチ回路のデータ保持用のループ回路に、クロックトインバータを用いたことを特徴とする半導体集積回路装置。
【請求項７】
請求項１記載の半導体集積回路装置において、
前記データラッチ回路のデータ保持用のループ回路に、インバータを用いたことを特徴とする半導体集積回路装置。
【請求項８】
請求項１記載の半導体集積回路装置において、
前記データ比較回路は、
入力データ信号と保持データ信号とそれぞれの反転値が接続されるトランジスタのしきい値電圧値が他のトランジスタのしきい値電圧よりも低いことを特徴とする半導体集積回路装置。
【請求項９】
請求項１記載の半導体集積回路装置において、
前記第１レベルはロウレベルであり、前記第２レベルはハイレベルであり、前記第３レベルはロウレベルであり、前記第４レベルはハイレベルであることを特徴とする半導体集積回路装置。
【請求項１０】
請求項１記載の半導体集積回路装置において、
前記第１レベルはロウレベルであり、前記第２レベルはハイレベルであり、前記第３レベルはハイレベルであり、前記第４レベルはロウレベルであることを特徴とする半導体集積回路装置。
【請求項１１】
請求項１記載の半導体集積回路装置において、
前記第１レベルはハイレベルであり、前記第２レベルはロウレベルであり、前記第３レベルはロウレベルであり、前記第４レベルはハイレベルであることを特徴とする半導体集積回路装置。
【請求項１２】
請求項１記載の半導体集積回路装置において、
前記第１レベルはハイレベルであり、前記第２レベルはロウレベルであり、前記第３レベルはハイレベルであり、前記第４レベルはロウレベルであることを特徴とする半導体集積回路装置。
【請求項１３】
請求項１記載の半導体集積回路装置において、
前記パルス型クロック発生回路、前記データラッチ回路、および前記データ比較回路を同一セルとしてレイアウトすることを特徴とする半導体集積回路装置。
【請求項１４】
請求項１記載の半導体集積回路装置において、
前記パルス型クロック発生回路を１つのセルとし、前記データラッチ回路と前記データ比較回路とは別のセルとしてレイアウトすることを特徴とする半導体集積回路装置。
【請求項１５】
請求項１４記載の半導体集積回路装置において、
前記パルス型クロック発生回路が出力するパルス型クロック信号の短い第２レベルの期間を保証するために、前記パルス型クロック発生回路のセルから一定の距離に前記データラッチ回路と前記データ比較回路とのセルを複数個配置したことを特徴とする半導体集積回路装置。
【請求項１６】
請求項１５記載の半導体集積回路装置において、
前記パルス型クロック発生回路のセルと、複数の前記データラッチ回路のセル、および複数の前記データ比較回路のセルとを１つのフリップフロップセルとしてアレイ状にレイアウトしたことを特徴とする半導体集積回路装置。
【請求項１７】
請求項１６記載の半導体集積回路装置において、
前記フリップフロップセルが縦長にレイアウトされたことを特徴とする半導体集積回路装置。
【請求項１８】
請求項１６記載の半導体集積回路装置において、
前記フリップフロップセルが、バスと機能ブロック界面に配置されたことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関するものであり、特に、携帯機器向けシステムＬＳＩに適用して有用なものである。
【背景技術】
【０００２】
近年、携帯電話向けのシステムＬＳＩを始めとしたＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）はＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）の集積が容易になったこともあり、多機能化が進んでいる。
【０００３】
沢山のＩＰを集積することで、その動作時の電力増大がさらに顕著になってきており、限られた電池容量での駆動が求められる携帯機器向けのＬＳＩにとっては電力削減が益々重要になってきた。
【０００４】
ＬＳＩの動作時電力を削減するために、これまでクロックゲーティングという技術が用いられてきた。クロック系の電力がＬＳＩの全消費電力に対して大きな割合を占めているからである。
【０００５】
たとえば、非特許文献１には、３９％以上の電力が削減可能との報告がある。しかし、現状ではクロックゲーティングの実施が十分ではない（非特許文献１参照）。それは、クロック分配を考えるとクロックツリーと呼ばれるクロック分配の階層の下層に行くに従い、回路数が爆発的に増え、クロックゲーティングを実施するための条件が難しくなるからである。
【０００６】
クロックゲーティングを実施するための条件とは、どのような場合にクロックゲーティングをするか、またどのような場合にクロックゲーティングを実施しないかを判定するための条件である。
【０００７】
そこで、本願発明者らは、クロックツリーの末端に配置されるフリップフロップにおける個別なクロックゲーティングは比較的容易であることを見出し、その実施方法を検討した。
【０００８】
フリップフロップでのゲーティングを実施しようという試みは、たとえば、特許文献１、特許文献２にあるような回路が提案されているが、実際の回路上で生じうるグリッチと呼ばれるノイズに対する十分な検討が実施されていなかった（特許文献１、特許文献２参照）。
【非特許文献１】Ｋｉｔａｈａｒａ, Ｔ．ｅｔ ａｌ．，（１９９８）．“Ａ  Ｃｌｏｃｋ−Ｇａｔｉｎｇ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  ＬＳＩ  Ｄｅｓｉｇｎ，”  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＡＳＣ−ＤＡＣ’９８，  Ｃｏｎｆｅｒｅｎｃｅ，  ｐ．３０７−３１２．
【特許文献１】特開２０００−２３２３３９号公報
【特許文献２】特開２００４−０５６６６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
背景技術のところでも述べたが、一般的なＬＳＩにおいてクロック系の電力が非常に多く、そのなかでもフリップフロップの電力が非常に多い。したがって、このフリップフロップの電力を削減することが重要である。
【００１０】
その電力を削減するために、特許文献１、および特許文献２に示した自動クロックゲーティングフリップフロップが提案されている。
【００１１】
このフリップフロップは、図１９に示すように、入力データ（Ｄ）の論理値とフリップフロップの保持データ（Ｑ）の論理値の排他的論理和の反転値ＡがダイナミックにクロックＣＬＫを制御する。
【００１２】
まず、入力データ（Ｄ）の論理値と保持データ（Ｑ）の論理値が等しい場合には、否定排他論理和がハイレベルＶＤＤとなりＮＯＲの出力がロウレベルＶＳＳとなることでＮＡＮＤの出力がハイレベルＶＤＤに固定される。結果として、クロック（ＣＬＫ）の論理値に関わらずＣＫＩはロウレベルＶＳＳ、ＣＫＩＢはハイレベルＶＤＤに固定される。
【００１３】
次に、入力データＤの論理値と保持データＱの論理値が異なる場合には、否定排他論理和がロウレベルＶＳＳとなる。このとき、クロックＣＬＫがロウレベルＶＳＳであればＡＮＤの出力もロウレベルＶＳＳとなるのでＮＯＲの出力はハイレベルＶＤＤとなる。
【００１４】
ここでクロックＣＬＫがハイレベルＶＤＤになるとＮＡＮＤの出力はロウレベルＶＳＳに変化し、内部ＣＫＩはハイレベルＶＤＤ、ＣＫＩＢはロウレベルＶＳＳと変化し、入力データＤは保持データＱにラッチされる。
【００１５】
その結果ＡはハイレベルＶＤＤとなり、ＮＯＲの出力はロウレベルＶＳＳ、ＮＡＮＤの出力はハイレベルＶＤＤと変化し、ＣＫＩはロウレベルＶＳＳ、ＣＫＩＢはハイレベルＶＤＤと変化する。
【００１６】
ところで、この自動クロックゲーティングフリップフロップは入力データが変化しない場合は入力データＤの取り込みが実施されないため低電力化できる効果がある。しかし、実際の製品においては、グリッチと呼ばれるノイズの影響も検討しなくてはならず、その影響を検討した結果、従来技術ではグリッチによって消費する電力が多いことがわかった。グリッチとは信号が最終的な論理値に確定するまでにロウレベルＶＳＳとハイレベルＶＤＤを何度か遷移することである。
【００１７】
その理由としてはフリップフロップ間の遅延時間の違いが挙げられる。グリッチはフリップフロップ間の遅延時間を全く同一にすれば防ぐことが可能であるが、そのような設計は根本的に不可能であるため、同期回路を設計する上で本質的な問題である。
【００１８】
グリッチが発生した場合、従来回路においては保持データＱとＱＢに接続されたトランスミッションゲートが同時に導通する期間が生じ、保持データＱとＱＢ間で貫通電流が流れてしまう。この貫通電流はグリッチが乗った回数だけ何度でも流れてしまう。
【００１９】
以上述べたように、グリッチ電力を考えると、従来技術では不十分であり、このグリッチ電力を削減する必要がある。
【００２０】
本発明の目的は、フリップフロップのグリッチ電力を削減し、半導体集積回路装置の低消費電力化を実現する技術を提供することにある。
【００２１】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００２３】
本願発明に先立ち発明者らが実施した検討によると、上記グリッチを削減するためには、入力データＤと保持データＱを比較する時間、および取り込む期間と、保持データＱを保持する期間を明確に分け、保持データＱを保持する期間におけるグリッチを阻止することが重要との見解にいたった。
【００２４】
そのためには、通常フリップフロップに供給されるクロックをパルス化し、短いデータ取り込み期間と長いデータ保持期間に明確に分離することが本質であると気づいた。なぜなら、入力データＤと保持データＱの比較および保持データＱの更新を出来るだけ短い時間で実施し、それ以外の全期間を保持データＱの保持とグリッチの阻止に充てようとした場合、デューティ比５０％のクロック信号ではフィードバック制御が必要になってしまうからである。
【００２５】
フィードバック制御には入力データＤと保持データＱの比較結果が必要なため、保持データＱの保持期間においても入力データＤと保持データＱの比較を実施しなければならない。これでは従来例と同様にグリッチによる貫通電流が流れてしまう。
【００２６】
さらに、パルス型クロックをＦＦへの分配にのみ使い、それをマクロセルとしてレイアウトすることで従来の設計フローに与える影響を最小限にする。
【発明の効果】
【００２７】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２８】
（１）フリップフロップの電力を削減し、特にグリッチ電力が削減できるため、半導体集積回路装置を低消費電力化することができる。
【００２９】
（２）また、従来の設計フローを大幅に変更することなく低消費電力フリップフロップを実装可能となり、低消費電力の半導体集積回路装置を低コストで実現することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００３１】
図１は本発明であるパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦの基本的な構成を示した回路図である。
【００３２】
この図１はデューティ比５０％のクロックＣＰをハイレベルＶＤＤの期間が短いパルス型クロックＣＫＩへと変換するパルス型クロック発生器ＰＧ１、入力データＤと保持データＱとそれぞれの反転論理ＤＢとＱＢの論理値を用いて、入力データＤと保持データＱを比較し、その結果を用いてパルス型クロックＣＫＩを動的に遮断するダイナミックＸＯＲ（排他的論理和）回路（データ比較回路）ＤＸＯＲ１、パルス型クロックＣＫＩがハイレベルＶＤＤである期間を用いて、入力データＤの論理値を保持データＱとして記憶するパルスラッチ回路（データラッチ回路）ＰＬ１から構成されている。
【００３３】
パルス型クロック発生器ＰＧ１は奇数個のインバータチェーンを構成するインバータＩＮＶ１〜ＩＮＶ５と、ＮＡＮＤ（否定論理積）回路ＮＡＮＤ１とインバータＩＮＶ６からなるＡＮＤ（論理積）回路ＡＮＤ１から構成される。ここではインバータチェーンの段数を５としたが、この数はパルス型クロック発生器ＰＧ１で発生させるパルス幅に応じて適宜変更できる。
【００３４】
ダイナミックＸＯＲ回路ＤＸＯＲ１はインバータＩＮＶ７，ＩＮＶ８と、４個のｎ型ＭＯＳＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）ＭＮ２〜ＭＮ５からなるＸＯＲ回路ＸＯＲ１と、２個のｐ型ＭＯＳＦＥＴＭＰ２、ＭＰ３からなるフィードバック回路ＦＢ１から構成される。
【００３５】
パルスラッチ回路ＰＬ１は２個のインバータＩＮＶ９〜ＩＮＶ１０と、ｐ型ＭＯＳＦＥＴＭＰ４とｎ型ＭＯＳＦＥＴＭＮ６からなるトランスミッションゲートＴＭ１と、インバータＩＮＶ１１とクロックトインバータＣＫＩＮＶ１からなるラッチＬ１から構成される。
【００３６】
パルス型クロック発生器ＰＧ１において、クロックＣＰはインバータＩＮＶ１〜ＩＮＶ５とＡＮＤ回路ＡＮＤ１の一方に接続され、インバータＩＮＶ１〜ＩＮＶ５の出力がＡＮＤ回路ＡＮＤ１の他方に接続される。
【００３７】
ダイナミックＸＯＲ回路ＤＸＯＲ１において、パルス型クロックＣＫＩはインバータＩＮＶ８に接続され、インバータＩＮＶ８のｎ型ＭＯＳＦＥＴＭＮ１側にＸＯＲ回路ＸＯＲ１が接続され、インバータＩＮＶ８の出力内部パルス型クロックの反転信号ＣＫＩＢ２にはインバータＩＮＶ７が接続され、インバータＩＮＶ７の内部パルス型クロックＣＫＩ２とその反転信号ＣＫＩＢ２にフィードバック回路ＦＢ１が並列に接続される。
【００３８】
パルスラッチ回路ＰＬ１において、入力データＤはインバータＩＮＶ９に接続され、インバータＩＮＶ９の出力ＤＢはトランスミッションゲートＴＭ１に接続され、トランスミッションゲートＴＭ１の出力ＱＢはラッチ回路Ｌ１とインバータＩＮＶ１０に接続され、インバータＩＮＶ１０の出力は出力データＯＵＴとなる。また、トランスミッションゲートＴＭ１とクロックトインバータＣＫＩＮＶ１にはそれぞれ内部パルス型クロックＣＫＩ２とその反転信号ＣＫＩＢ２が接続される。
【００３９】
本発明の特長は、パルス型クロックＣＫＩの論理値がハイレベルＶＤＤである期間に、入力データＤと保持データＱとそれぞれの反転論理値ＤＢとＱＢを用いてパルス型クロックＣＫＩの遮断制御をすることである。
【００４０】
そして、パルス型クロックＣＫＩの論理値がロウレベルＶＳＳである期間を用いて入力データＤのグリッチによる不要な電力消費を抑制することである。
【００４１】
パルス型クロックＣＫＩの遮断制御はパルス型クロックＣＫＩの論理値がハイレベルＶＤＤの期間で行われ、入力データＤと保持データＱが異なる論理値の場合のみパルス型クロックＣＫＩを後段へ伝達することで実現する。
【００４２】
このとき、入力データＤおよび保持データＱの論理値に応じて、ＸＯＲ回路ＸＯＲ１を構成するｎ型ＭＯＳＦＥＴＭＮ２、ＭＮ３の組、およびｎ型ＭＯＳＦＥＴＭＮ４、ＭＮ５の組が選択的にオンするため、インバータＩＮＶ８が駆動可能となるからである。
【００４３】
インバータＩＮＶ８が駆動されることによってパルス型クロックＣＫＩのＶＳＳ→ＶＤＤ→ＶＳＳなる遷移に伴って内部パルス型クロックの反転信号ＣＫＩＢ２はＶＤＤ→ＶＳＳ→ＶＤＤと遷移する。
【００４４】
その結果、トランスミッションゲートＴＭ１が導通し、クロックトインバータＣＫＩＮＶ１が駆動されて保持データＱの論理値が入力データＤの論理値に更新される。
【００４５】
また、入力データＤと保持データＱが同じ論理値の場合にはＸＯＲ回路ＸＯＲ１を構成するｎ型ＭＯＳＦＥＴＭＮ２、ＭＮ５の組かｎ型ＭＯＳＦＥＴＭＮ３，ＭＮ４の組が選択的にオンし、ＸＯＲ回路としてはオフになるため、パルス型クロックＣＫＩの論理値がＶＳＳ→ＶＤＤ→ＶＳＳと遷移しても内部パルス型クロックの反転信号ＣＫＩＢ２の論理値はハイレベルＶＤＤのままである。
【００４６】
このとき一瞬内部パルス型クロックの反転信号ＣＫＩＢ２がフローティング状態となるが、フィードバック回路ＦＢ１が内部パルス型クロックの反転信号ＣＫＩＢ２に対してフィードバックを掛けているので誤動作の心配はない。
【００４７】
図２を用いて図１で示した本願発明の基本的な動作を説明する。
【００４８】
入力データＤの論理値と保持データＱの論理値が異なる場合の動作波形をＴ１〜Ｔ４およびＴ７〜Ｔ１０に、入力データＤの論理値と保持データＱの論理値が同じ場合の動作波形をＴ５〜Ｔ６およびＴ１１〜Ｔ１２に示す。
【００４９】
まず、入力データＤがロウレベルＶＳＳからハイレベルＶＤＤへ変化し、その入力データＤを取り込む場合を説明する。
【００５０】
パルス型クロック発生器ＰＧ１のクロックＣＰがＶＳＳ→ＶＤＤと変化するとインバータＩＮＶ１〜ＩＮＶ５の遅延分Ｔ２’−Ｔ２がパルスとなってパルス型クロックＣＫＩはＶＳＳ→ＶＤＤ→ＶＳＳと変化する。
【００５１】
パルス型クロックＣＫＩはダイナミックＸＯＲ回路ＤＸＯＲ１へ入力されるが、時刻Ｔ３では入力データＤがハイレベル、保持データＱがロウレベルＶＳＳであるため、ＸＯＲ回路ＸＯＲ１を構成する２個のｎ型ＭＯＳＦＥＴＭＮ２，ＭＮ３がオンし、インバータＩＮＶ８が駆動可能となる。
【００５２】
その結果、ここでは図示しないが、インバータＩＮＶ８が駆動されて内部パルス型クロックの反転信号ＣＫＩＢ２がＶＤＤ→ＶＳＳ→ＶＤＤと変化し、内部パルス型クロックＣＫＩ２がＶＳＳ→ＶＤＤ→ＶＳＳと変化する。
【００５３】
内部パルス型クロックＣＫＩ２がハイレベルＶＤＤ、かつ内部パルス型クロックの反転信号ＣＫＩＢ２がロウレベルＶＳＳの期間において、パルスラッチ回路ＰＬ１のトランスミッションゲートＴＭ１が閉じ、クロックトインバータＣＫＩＮＶ１が開くため、時刻Ｔ４においてパルスラッチ回路ＰＬ１の入力データＤの論理値が保持データＱに書き込まれる。
【００５４】
次に、入力データＤがハイレベルＶＤＤからロウレベルＶＳＳへ変化し、その入力データＤを取り込む場合を説明する。
【００５５】
時刻Ｔ７においてパルス型クロック発生器ＰＧ１のクロックＣＰがＶＳＳ→ＶＤＤと変化すると、入力データＤがロウレベルＶＳＳからハイレベルＶＤＤへ遷移する場合と同様に、インバータチェーンの遅延分がパルスとなってパルス型クロックＣＫＩはＶＳＳ→ＶＤＤ→ＶＳＳと変化し、時刻Ｔ８においてパルス型クロックＣＫＩがＶＳＳ→ＶＤＤ→ＶＳＳと変化する。
【００５６】
ここでは入力データＤがロウレベルＶＳＳ、保持データＱがハイレベルＶＤＤであるため、ダイナミックＸＯＲ回路ＤＸＯＲ１を構成する２個のｎ型ＭＯＳＦＥＴＭＮ４，ＭＮ５がオンし、インバータＩＮＶ８が駆動可能となる。
【００５７】
時刻Ｔ９において内部パルス型クロックの反転信号ＣＫＩＢ２はＶＤＤ→ＶＳＳ→ＶＤＤと、内部パルス型クロックＣＫＩ２はＶＳＳ→ＶＤＤ→ＶＳＳと変化する。内部パルス型クロックＣＫＩ２がハイレベルＶＤＤかつ内部パルス型クロックの反転信号ＣＫＩＢ２がロウレベルＶＳＳの期間は、パルスラッチ回路ＰＬ１のトランスミッションゲートＴＭ１が閉じ、クロックトインバータＣＫＩＮＶ１が開くので、時刻Ｔ１０においてパルスラッチ回路ＰＬ１の入力データＤの論理値が保持データＱに書き込まれる。
【００５８】
一方、入力データＤが変化しない場合の説明をする。
【００５９】
まず、入力データＤと保持データＱが共にハイレベルＶＤＤの場合を説明する。時刻Ｔ５においてクロックＣＰがハイレベルＶＤＤへ立ち上がるので時刻Ｔ６でパルス型クロックＣＫＩがＶＳＳ→ＶＤＤ→ＶＳＳと変化するが、ここでは入力データＤの論理値と保持データＱの論理値が等しくハイレベルＶＤＤのため、ダイナミックＸＯＲ回路ＤＸＯＲ１内のＸＯＲ回路ＸＯＲ１を構成する２個のｎ型ＭＯＳＦＥＴＭＮ３，ＭＮ４がオンするものの、インバータＩＮＶ８は駆動されない。
【００６０】
その結果、内部パルス型クロックＣＫＩ２は以前の値であるロウレベルＶＳＳのままとなる。パルス型クロックＣＫＩがハイレベルＶＤＤとなる時刻Ｔ６では内部パルス型クロックの反転信号ＣＫＩＢ２が一瞬フローティングとなるが、フィードバック回路ＦＢ１があるため内部パルス型クロックの反転信号ＣＫＩＢ２はハイレベルＶＤＤの保持が可能である。
【００６１】
次に、時刻Ｔ１１においてクロックＣＰがハイレベルＶＤＤへ立ち上がるので、パルス型クロック発生器ＰＧ１からの出力であるパルス型クロックＣＫＩは、時刻Ｔ１２でＶＳＳ→ＶＤＤ→ＶＳＳと変化するが、ここでは入力データＤの論理値と保持データＱの論理値が等しくロウレベルＶＳＳのため、ダイナミックＸＯＲ回路ＤＸＯＲ１のＸＯＲ回路ＸＯＲ１内を構成する２個のｎ型ＭＯＳＦＥＴＭＮ２、ＭＮ５がオンするものの、インバータＩＮＶ８が駆動されない。
【００６２】
その結果、内部パルス型クロックＣＫＩ２はロウレベルＶＳＳのままである。パルス型クロックＣＫＩがハイレベルＶＤＤとなる時刻Ｔ１２では内部パルス型クロックの反転信号ＣＫＩＢ２が一瞬フローティングとなるが、フィードバック回路ＦＢ１があるため内部パルス型クロックの反転信号ＣＫＩＢ２はハイレベルＶＤＤのままである。
【００６３】
以上、通常動作時における本願発明のフリップフロップの動作を説明した。続いて、本発明が解決する従来からの課題であった、入力データＤにグリッチが生じた場合のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦの動作を説明する。
【００６４】
入力データＤに外部ノイズとしてのグリッチが発生すると、従来技術においては不要な電力消費を消費していたが、本発明によると、その不要な電力を抑制可能である。
【００６５】
本発明においては、パルス型クロックＣＫＩの論理値がロウレベルＶＳＳの期間に入力データＤへ乗るグリッチに対して高い耐性を持つ。その期間はトランスミッションゲートＴＭ１がオフしているため、入力データＤの論理値が遷移しても、その遷移はインバータＩＮＶ９と２個のｎ型ＭＯＳＦＥＴＭＮ２、ＭＮ４のゲートを駆動するのみであり、入力データＤのグリッチによる消費電力はインバータＩＮＶ９で消費される電力と２個のｎ型ＭＯＳＦＥＴＭＮ２、ＭＮ４のゲート充放電電力のみである。
【００６６】
図３を用いて、入力データＤにグリッチが乗った際の動作を説明する。
【００６７】
まず、入力データＤの論理値がロウレベルＶＳＳである場合にその入力データＤにグリッチが乗った例を示す。
【００６８】
時刻Ｔ１３において入力データＤにグリッチが乗りＶＳＳ→ＶＤＤ→ＶＳＳと変化するが、パルス型クロックＣＫＩがロウレベルＶＳＳであるためグリッチはインバータＩＮＶ９を駆動するのみであり、その後このグリッチの伝播は阻止される。
【００６９】
したがって、消費される電力はインバータＩＮＶ９の駆動電力と２個のｎ型ＭＯＳＦＥＴＭＮ２，ＭＮ４のゲートが充放電される電力のみである。時刻Ｔ１８におけるパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦの動作も同様である。
【００７０】
なお、この例では入力データＤの論理値がロウレベルＶＳＳで、入力データＤにＶＳＳ→ＶＤＤ→ＶＳＳなるグリッチが乗った場合を示したが、入力データＤの論理値がハイレベルＶＤＤで、入力データＤにＶＤＤ→ＶＳＳ→ＶＤＤなるグリッチが乗った場合の電力も、同様に抑制可能である。
【００７１】
また、時刻Ｔ１４，Ｔ１６，Ｔ１９，Ｔ２１でクロックＣＰが立ち上がり、パルス型クロック発生器ＰＧ１のインバータＩＮＶ１〜ＩＮＶ５だけ遅延した時刻Ｔ１５，Ｔ１７，Ｔ２０，Ｔ２２においてパルス型クロックＣＫＩが立ち上がるが、入力データＤと保持データＱがともにロウレベルＶＳＳであるため、図２で説明したように、内部パルス型クロックＣＫＩ２は変化せず低消費電力化する。
【００７２】
図４は図１に記載のパルスラッチ回路ＰＬ１の変形例である。
【００７３】
パルスラッチ回路ＰＬ１の動作速度が遅くなってもよいのであれば、パルスラッチ回路ＰＬ１内のクロックトインバータＣＫＩＮＶ１をインバータＩＮＶ１２と置換するとパルスラッチＰＬ１の面積が小さくなる効果がある。この図４ではＭＯＳＦＥＴ２つ分の面積縮小が可能である。なお、図４は、以下に説明する図５、図６、図７、および図８と同時に実施が可能である。
【００７４】
図５は図１に記載のダイナミックＸＯＲ回路ＤＸＯＲ１の変形例である。
【００７５】
入力データＤの論理値と保持データＱの論理値が等しい場合でパルス型クロックＣＫＩの論理値がハイレベルＶＤＤとなったときに、ダイナミックＸＯＲ回路ＤＸＯＲ１内の内部パルス型クロックの反転信号ＣＫＩＢ２はハイレベルＶＤＤへの経路が絶たれて一瞬フローティングになるが、クロック周波数が高い場合には、リークによる放電の時定数を考慮して、そのフローティングのレベルが論理しきい値を超える恐れはない場合がある。
【００７６】
その場合には、フィードバック回路ＦＢ１を省略することでダイナミックＸＯＲ回路ＤＸＯＲ１の面積が小さくなる効果がある。実施例３ではＭＯＳＦＥＴ２つ分の面積縮小が可能である。なお、図５の変形例は、図４、図６、図７、図８と同時に実施が可能である。
【００７７】
図６は図１に記載のダイナミックＸＯＲ回路ＤＸＯＲ１の変形例である。
【００７８】
しきい値の異なる２種類のＭＯＳＦＥＴを使用してもよいのであれば、ダイナミックＸＯＲ回路ＤＸＯＲ１内のＸＯＲ回路ＸＯＲ１を構成する４個のｎ型ＭＯＳＦＥＴをしきい値電圧の低いｎ型ＭＯＳＦＥＴＭＮＬ１〜ＭＮＬ４で構成したＸＯＲ回路ＸＯＲ２に置換するとパルス型クロックＣＫＩ遮断制御の速度を速くする効果がある。なお、図６は、図４、図５、図７、ならびに図８と同時に実施が可能である。
【００７９】
図７は図６に記載のダイナミックＸＯＲ回路ＤＸＯＲ１の変形例である。
【００８０】
しきい値の異なる２種類のＭＯＳＦＥＴを使用してもよいのであれば、ダイナミックＸＯＲ回路ＤＸＯＲ３内のＸＯＲ回路ＸＯＲ２を構成する４個のｎ型ＭＯＳＦＥＴだけでなくインバータ回路ＩＮＶ８を構成するｎ型ＭＯＳＦＥＴもしきい値電圧の低いｎ型ＭＯＳＦＥＴＭＮＬ５へと置換したインバータ回路ＩＮＶ８ａとすることでパルス型クロックＣＫＩ遮断制御の速度をさらに速くする効果がある。
【００８１】
一般的にしきい値電圧の低いＭＯＳＦＥＴはリーク電流が増加してしまうが、本実施例においてはしきい値電圧の低いＭＯＳＦＥＴが３つ直列に接続されているため、リーク電流はそれほど増加しない。なお、図７は図４、図５、図６、および図８と同時に実施が可能である。
【００８２】
図８は図１に記載のパルス型クロック発生器ＰＧ１およびダイナミックＸＯＲ回路ＤＸＯＲ１を変形したパルス型クロック内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦの構成例である。
【００８３】
ｐ型ＭＯＳＦＥＴを用いてＸＯＲ論理を構成してもよいのであれば、ＡＮＤ回路ＡＮＤ１を構成する素子からインバータＩＮＶ６を取り除き、ダイナミックＸＯＲ回路ＤＸＯＲ１内のＸＯＲ回路ＸＯＲ１をｐ型ＭＯＳＦＥＴＭＰ５〜ＭＰ８で構成したＸＯＲ回路ＸＯＲ３をインバータＩＮＶ８のｐ型ＭＯＳＦＥＴＭＰ１側へ直列に接続し、フィードバック回路ＦＢ１をｎ型ＭＯＳＦＥＴＭＮ７、ＭＮ８で構成しフィードバック回路ＦＢ２とすると、パルス型クロック発生器ＰＧ１の面積を小さくする効果がある。なお、図８は、図４〜図７と同時に実施が可能である。
【００８４】
図９と図１０にパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦのセルイメージを示す。
【００８５】
図９はダイナミックＸＯＲ回路ＤＸＯＲとパルスラッチ回路ＰＬとからなるクロックゲーティングフリップフロップＡＣＧＦＦを１つのセルとし、パルス型クロック発生器ＰＧ１のみを分離したもので、パルス型クロック発生器ＰＧ１のセルの入力ピンはクロックＣＰ、出力ピンはパルス型クロックＣＫＩ、クロックゲーティングフリップフロップＡＣＧＦＦの入力ピンはパルス型クロックＣＫＩと入力データＤ、出力ピンは出力データＯＵＴとなる。
【００８６】
図１０はパルス型クロック発生器ＰＧ１とダイナミックＸＯＲ回路ＤＸＯＲとパルスラッチ回路ＰＬを１つのセルとしたものである。パルス型クロック発生器内蔵自動クロックゲーティングフリップフロップＰＧＡＣＧＦＦの入力ピンはクロックＣＰと入力データＤ、出力ピンは出力データＯＵＴとなる。
【００８７】
図１１に１個のパルス型クロック発生器ＰＧ１に対し、クロックゲーティングフリップフロップＡＣＧＦＦを複数個配置したＡＣＧＦＦマクロセルＡＣＧＦＦＭＣのイメージを示す。図１１の例は１個のパルス型クロック発生器ＰＧ１に対しＡＣＧＦＦを１６個配置している。
【００８８】
ＡＣＧＦＦマクロセルＡＣＧＦＦＭＣの入力ピンはクロックＣＰと１６ビット幅の入力データＤ、出力ピンは１６ビット幅の出力データＯＵＴとなる。パルス型クロック発生器ＰＧ１とクロックゲーティングフリップフロップＡＣＧＦＦを一緒にレイアウトしたものをハードマクロセルと呼ぶ。
【００８９】
このハードマクロセルにより、クロックゲーティングフリップフロップＡＣＧＦＦにおけるパルス型クロックＣＫＩのＶＳＳ→ＶＤＤ→ＶＳＳなるパルス幅を保証することができる。なお、１つのＡＣＧＦＦマクロセルＡＣＧＦＦＭＣに配置するクロックゲーティングフリップフロップＡＣＧＦＦの個数は１個以上であれば何個でもよい。
【００９０】
図１２にＡＣＧＦＦマクロセルＡＣＧＦＦＭＣのレイアウトイメージを示す。
【００９１】
構成要素はフィルセルＦＣ、パルス型クロック発生器ＰＧ１、およびクロックゲーティングフリップフロップＡＣＧＦＦの３種類である。フィルセルＦＣはセル同士の隙間を埋めるものである。
【００９２】
真ん中にパルス型クロック発生器ＰＧ１を配置し、その上下にクロックゲーティングフリップフロップＡＣＧＦＦを複数個配置することで、該クロックゲーティングフリップフロップＡＣＧＦＦの入出力ピンが込み合わず、各クロックゲーティングフリップフロップＡＣＧＦＦまでのパルス型クロックＣＫＩの配線距離が一定に保ちやすく、電源負荷が分散する効果が得られる。
【００９３】
なお、図１３では上側の電源をロウレベルＶＳＳとし、下側の電源をハイレベルＶＤＤとしたが、逆に配置してもよい。また、パルス型クロックＣＫＩ配線は各クロックゲーティングフリップフロップＡＣＧＦＦまでの配線距離が等しければどのように引き回してもよい。さらに、クロックゲーティングフリップフロップＡＣＧＦＦの入力データＤおよび出力データＯＵＴの端子に関してもクロックゲーティングフリップフロップＡＣＧＦＦのセル内部で自由に配置してよい。
【００９４】
図１３にＡＣＧＦＦソフトマクロセルＡＣＧＦＦＳＭＣのレイアウトイメージを示す。
【００９５】
この場合、図１２とは異なり、パルス型クロック発生器ＰＧ１を中心にした一定の面積ＰＡＲＥＡ内であれば自由にクロックゲーティングフリップフロップＡＣＧＦＦを配置してよい。
【００９６】
各クロックゲーティングフリップフロップＡＣＧＦＦまでのパルス型クロックＣＫＩ配線距離を等しくできるのであれば、該クロックゲーティングフリップフロップＡＣＧＦＦを自由に配置できることで最適なレイアウトが可能となる。
【００９７】
図１４にＡＣＧＦＦマクロセルＡＣＧＦＦＭＣを半導体集積回路装置ＬＳＩ内フリップフロップの一部に適用したチップイメージを示す。
【００９８】
ＰＬＬなどを用いた発振回路から発信されるクロックＣＰはクロックバッファＢＵＦでバッファリングされながらクロックツリーを伝播してクロックツリー末端のフリップフロップおよびラッチへ伝えられる。
【００９９】
ＡＣＧＦＦマクロセルＡＣＧＦＦＭＣを半導体集積回路装置ＬＳＩへ適用する場合には、クロックツリー最終段のクロックバッファＢＵＦ以降をＡＣＧＦＦマクロセルＡＣＧＦＦＭＣへ置換する。
【０１００】
このとき、置換するＡＣＧＦＦマクロセルＡＣＧＦＦＭＣは、ハードマクロセルではなくソフトマクロセルであってもよい。以降で述べるＡＣＧＦＦマクロセルＡＣＧＦＦＭＣも同様に、ハードマクロセルＡＣＧＦＦＭＣだけでなく、全てソフトマクロセルに置換可能である。
【０１０１】
さらに、ここでは、図１４では、一部のフリップフロップのみをハードマクロセルに置換したが、タイミング制約を満たすのであれば全フリップフロップをハードマクロセルへ置換してもよい。
【０１０２】
また、図１４の従来フリップフロップアレイＭＳＦＦＡ、およびＡＣＧＦＦマクロセルＡＣＧＦＦＭＣ内の構成を図１５（ａ）、（ｂ）に示す。
【０１０３】
図１５（ａ）、（ｂ）は複数個のフリップフロップとクロックバッファＢＵＦ、あるいはパルス型クロック発生器ＰＧから構成されている。
【０１０４】
図１６は図１４、図１５おいて分配されるクロック波形を示したものである。
【０１０５】
図１４、および図１５に示す’ａ’、’ｂ’はデューティ比５０％のクロックＣＰとなり、ＡＣＧＦＦマクロセルＡＣＧＦＦＭＣ内のパルス型クロック発生器ＰＧ以降である図１４、および図１５に示す’ｃ’はハイレベルＶＤＤである期間の短いパルス型クロックＣＫＩとなる。
【０１０６】
図１７にＡＣＧＦＦマクロセルＡＣＧＦＦＭＣの半導体集積回路装置ＬＳＩへの適用箇所を示す。
【０１０７】
ＡＣＧＦＦマクロセルＡＣＧＦＦＭＣは他のセルと比べて比較的レイアウト上の制約が多いセルとなるので、例えば制約条件の等しいフリップフロップが集中して配置される機能ブロックＭＤＬと機能ブロックＭＤＬの界面、あるいは機能ブロックＭＤＬ内のレイテンシ調整用フリップフロップなどに適用すれば比較的簡単に低電力化を実現できる。
【０１０８】
図１８にＡＣＧＦＦマクロセルＡＣＧＦＦＭＣを半導体集積回路装置へ適用する場合の設計フローを示す。
【０１０９】
ここでは、クロック信号を半導体集積回路装置へ分配するツリー状のバッファチェーンクロックツリーを生成する前に、従来フリップフロップをハードマクロセル、あるいはソフトマクロセルのＡＣＧＦＦマクロセルＡＣＧＦＦＭＣへと予め置換する。
【０１１０】
このようにすれば、従来フリップフロップやハードマクロセル、またはソフトマクロセルのＡＣＧＦＦマクロセルＡＣＧＦＦＭＣへのクロック供給タイミングを考慮した上で、前述のクロックツリーを生成できる効果がある。
【０１１１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１１２】
本発明は、半導体集積回路装置に設けられたフリップフロップのグリッチ電力を削減する技術に適している。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態によるパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップの構成例を示した回路図である。
【図２】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップにおける動作の一例を示すタイミングチャートである。
【図３】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップにおける入力データにグリッチが乗った際の動作例を示すタイミングチャートである。
【図４】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップに設けられたパルスラッチ回路の他の構成例を示した回路図である。
【図５】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップに設けられたダイナミックＸＯＲ回路の他の構成例を示した回路図である。
【図６】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップに設けられたダイナミックＸＯＲ回路の一例を示す回路図である。
【図７】図６のダイナミックＸＯＲ回路の他の構成例を示す回路図である。
【図８】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップに設けられたパルス型クロック発生器、およびダイナミックＸＯＲ回路の他の例を示す回路図である。
【図９】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップにおけるセルイメージの一例を示す説明図である。
【図１０】図１のパルス型クロック発生器内蔵自動クロックゲーティングフリップフロップにおけるセルイメージの他の例を示す説明図である。
【図１１】本発明の実施の形態によるマクロセルのイメージを示す説明図である。
【図１２】本発明の実施の形態によるハードマクロセルのレイアウトの一例を示すレイアウト図である。
【図１３】本発明の実施の形態によるソフトマクロセルのレイアウトの一例を示すレイアウト図である。
【図１４】図１２のハードマクロセルを半導体集積回路装置内のフリップフロップの一部に適用した際のチップイメージを示す説明図である。
【図１５】図１４のフリップフロップアレイ内の構成例を示す説明図である。
【図１６】図１４、および図１５のフリップフロップアレイに分配されるクロック波形の一例を示したタイミングチャートである。
【図１７】図１２のハードマクロセルを半導体集積回路装置に適用した際の一例を示す説明図である。
【図１８】図１２のハードマクロセルを半導体集積回路装置に適用した際の設計フローを示すフローチャートである。
【図１９】従来例のフリップフロップ回路における説明図である。
【符号の説明】
【０１１４】
ＶＤＤ  ハイレベル電圧値
ＶＳＳ  ロウレベル電圧値
ＰＧ１  パルス型クロック発生器
ＤＸＯＲ１  ダイナミックＸＯＲ回路（データ比較回路）
ＰＬ１  パルスラッチ回路（データラッチ回路）
ＮＡＮＤ１  ＮＡＮＤ回路
ＩＮＶ１〜ＩＮＶ１２  インバータ
ＡＮＤ１  ＡＮＤ回路
ＭＮ１〜ＭＮ６  ｎ型ＭＯＳＦＥＴ
ＭＰ１〜ＭＰ４  ｐ型ＭＯＳＦＥＴ
ＸＯＲ１  ＸＯＲ回路
ＦＢ１，ＦＢ２  フィードバック回路
ＴＭ１  トランスミッションゲート
ＣＫＩＮＶ１  クロックトインバータ
Ｌ１  ラッチ
ＭＮＬ１〜ＭＮＬ４  ｎ型ＭＯＳＦＥＴ
ＰＧＡＣＧＦＦ  パルス型クロック発生器内蔵自動クロックゲーティングフリップフロップ
ＡＣＧＦＦ  クロックゲーティングフリップフロップ
ＡＣＧＦＦＭＣ  ＡＣＧＦＦマクロセル
【図１】
0004820586.tif 000002
【図２】
0004820586.tif 000003
【図３】
0004820586.tif 000004
【図４】
0004820586.tif 000005
【図５】
0004820586.tif 000006
【図６】
0004820586.tif 000007
【図７】
0004820586.tif 000008
【図８】
0004820586.tif 000009
【図９】
0004820586.tif 000010
【図１０】
0004820586.tif 000011
【図１１】
0004820586.tif 000012
【図１２】
0004820586.tif 000013
【図１３】
0004820586.tif 000014
【図１４】
0004820586.tif 000015
【図１５】
0004820586.tif 000016
【図１６】
0004820586.tif 000017
【図１７】
0004820586.tif 000018
【図１８】
0004820586.tif 000019
【図１９】
0004820586.tif 000020