(57)【要約】【課題】対象となる回路の制約を受けずに適用可能なゲーテッドクロック回路を提供すること。【解決手段】入力回路３０への動作クロックＣＬＫ２の入力を制限するゲーテッドクロック回路１０であって、入力回路３０に入力される非同期信号ＡＳＹＮＣと次クロックにおいて入力回路３０に入力される次信号ＤＡＴＡとの排他的論理和の信号を出力するＸＯＲ１０１と、ＸＯＲ１０１の出力信号を、ＣＬＫ２に応じて出力するＬＡＴ１０２及びＣＧＦＦ１０３と、ＣＧＦＦ１０３の出力とＣＬＫ２の論理積であるゲーテッドクロック信号ＧＣＬＫを出力するＡＮＤ１０４を含む。【選択図】図１
2010165069.tif 000002
【特許請求の範囲】
【請求項１】
入力される信号をラッチするラッチ回路への動作クロックの入力を制限するクロック制限回路であって、
前記ラッチ回路に入力される入力信号と次クロックにおいて前記ラッチ回路に入力される次入力信号との排他的論理和の信号を出力する排他的論理和出力部と、
前記排他的論理和の信号を、前記ラッチ回路を制御するためのクロック信号である入力クロック信号に応じてクロック制御信号として出力するクロック制御信号出力部と、
前記入力クロック信号と前記クロック制御信号の論理積である制限クロック信号を、前記ラッチ回路の動作クロックとして出力する制限クロック出力部と、を含むクロック制限回路。
【請求項２】
前記排他的論理和出力部は、前記ラッチ回路に入力されている信号を前記入力信号とし、次クロックにおいて前記ラッチ回路に入力される信号を前記次入力信号として前記排他的論理和の信号を出力し、
前記クロック制御信号出力部は、
前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部と、
前記クロック制御信号生成回路が生成したクロック制御信号を、前記入力クロック信号の反転信号に基づいて１クロック遅らせて出力するクロック制御信号遅延部と、を含み、
前記制限クロック出力部は、前記クロック制御信号遅延回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする請求項１に記載のクロック制限回路。
【請求項３】
前記クロック制御信号生成部は、前記入力クロック信号の反転信号に基づいてレベルセンシティブ動作を行うラッチ回路であり、
前記クロック制御信号遅延部は、前記入力クロック信号の反転信号に基づいてエッジセンシティブ動作を行うラッチ回路であることを特徴とする、請求項２に記載のクロック制限回路。
【請求項４】
前記排他的論理和出力部に入力される前記入力信号を遅延させる入力信号遅延部を更に含むことを特徴とする請求項２または３に記載のクロック制限回路。
【請求項５】
前記入力信号を１クロック遅らせて出力する入力信号保持部を更に有し、
前記排他的論理和出力部は、前記入力信号保持部が出力する信号を前記入力信号とし、前記ラッチ回路に入力されている信号を前記次入力信号として前記排他的論理和の信号を出力し、
前記クロック制御信号出力部は、前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部を含み、
前記制限クロック出力部は、前記クロック制御信号生成回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする請求項１に記載のクロック制限回路。
【請求項６】
前記クロック制御信号生成部は、前記入力クロック信号の反転信号に基づいてレベルセンシティブ動作を行うラッチ回路であることを特徴とする、請求項５に記載のクロック制限回路。
【請求項７】
前記制限クロック出力部における前記クロック制御信号の入力と前記排他的論理和出力部の出力との間に設けられ、前記ラッチ回路への動作クロックの入力の制限を行うか否かを選択する選択信号と前記排他的論理和出力部側から入力される信号の論理和を出力する論理和出力部を更に有することを特徴とする、請求項１乃至６いずれかに記載のクロック制限回路。
【請求項８】
前記選択信号は、前記ラッチ回路の保持している信号をリセットする信号であることを特徴とする、請求項７に記載のクロック制限回路。
【請求項９】
前記入力信号を出力する出力回路の動作を制御する出力クロック信号と前記入力クロック信号とが非同期の信号であることを特徴とする、請求項１乃至８いずれかに記載のクロック制限回路。
【請求項１０】
前記制限クロック信号を前記入力クロック信号の１クロック分遅らせて出力する制限クロック遅延部を更に有し、
前記制限クロック遅延部が出力する信号は、前記出力クロック信号と前記入力クロック信号との非同期を吸収するために前記ラッチ回路の後段に接続された回路を制御するためのクロック信号として用いられることを特徴とする、請求項９に記載のクロック制限回路。
【請求項１１】
請求項１に記載のクロック制限回路と、
前記入力信号をラッチして出力する出力回路と、を含み、
前記排他的論理和出力部は、前記出力回路が出力している信号を前記入力信号とし、前記出力回路に入力される信号を前記次入力信号として前記排他的論理和の信号を出力し、
前記クロック制御信号出力部は、
前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部と、
前記クロック制御信号生成回路が生成したクロック制御信号を、前記入力クロック信号の反転信号に基づいて１クロック遅らせて出力するクロック制御信号遅延部と、を含み、
前記制限クロック出力部は、前記クロック制御信号遅延回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする信号出力回路。
【請求項１２】
請求項１に記載のクロック制限回路と、
前記ラッチ回路と、を含むことを特徴とする信号入力回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック制限回路、信号出力回路及び信号入力回路に関し、特に信号が入力される側のクロックの制限に関する。
【背景技術】
【０００２】
従来、集積回路における消費電力の低減のために、ゲーテッドクロック設計が利用されている。図７に、ゲーテッドクロックが用いられる対象となる回路構成の例を示す。図７において、ＦＦ０、ＦＦ１、・・・ＦＦ１５はフリップフロップである。各フリップフロップのクロックポート（ＣＫ）には、クロック信号ＣＬＫが入力されており、このＣＬＫの立ち上がり毎に各データポート（Ｄ）の論理がフリップフリップに書き込まれる。
【０００３】
一般的に、このようなフリップフロップにおいてクロックの立ち上がりおよび立下りでの動作時に最も電力が消費される。各フリップフロップＦＦ０〜ＦＦ１５のデータポートにはマルチプレクサＭＵＸ０〜ＭＵＸ１５の出力が接続されている。各マルチプレクサの入力の一方はデータ信号ＤＡＴＡ０〜１５であり、もう一方は各フリップフロップの出力がフィードバックされている。
【０００４】
各マルチプレクサの入力の切り替えはイネーブル信号ＥＮＡＢＬＥにより行われる。ＥＮＡＢＬＥが“Ｈｉｇｈ”の場合、データ信号が選択され、各マルチプレクサは入力されているデータ信号を出力する。他方、イネーブル信号が“Ｌｏｗ”の場合、フリップフロップのフィードバック出力が選択される。
【０００５】
ここで、ＣＬＫはデータ信号の値にかかわらず、常に一定のタイミング(周期)でフリップフロップに入力されているのに対して、ＥＮＡＢＬＥが“Ｌｏｗ”の場合、フリップフロップは同じ値を自らにフィードバックしているに過ぎない。
【０００６】
従って、ＥＮＡＢＬＥが“Ｌｏｗ”のときにフリップフロップのクロックを止めることができれば、フリップフロップはクロックの立ち上がり時以外はその値を保持するのだから、回路の論理を崩すことなく各フリップフロップによる消費電力を削減することができる。
【０００７】
図８は図７の回路構成に対してクロックゲーティングを行った回路構成である。各フリップフロップのクロックポート（ＣＫ）には、クロックゲーティングセル（ＣＧ０）の出力ＧＣＬＫが接続されており、このクロックゲーティングセルの入力ポート（Ｅ）には前述のイネーブル信号ＥＮＡＢＬＥが入力され、クロック入力ポートにはＣＬＫが入力されている。このクロックゲーティングセルは入力ポート（Ｅ）が“Ｈｉｇｈ”のときのみ、ＣＬＫを出力ポート（ＧＣＫ））へ出力する統合化クロックゲーティングセルである。
【０００８】
この統合化クロックゲーティングセルは、一般には図９に示すように、ゲーテッドされるクロックの逆相（反転信号）で駆動されるラッチＬＡＴと論理積回路ＡＮＤで構成された回路と論理的に等価である。
【０００９】
このときの図８中ＦＦ０の回路動作におけるタイミングチャートを図１０に示す。図１０に示すように、データ信号ＤＡＴＡをフリップフロップへ書き込むとき以外はイネーブル信号ＥＮＡＢＬＥを“Ｌｏｗ”にしておくことで各フリップフロップでのクロックによる消費される無駄な電力を削減することができる。
【００１０】
このようなゲーテッドクロック設計において、信号受信側フリップフロップ（図７、８におけるＦＦ０〜ＦＦ１５）に入力されている信号と出力されている信号との排他的論理和により、上述したＥＮＡＢＬＥ信号を生成する方法が提案されている（例えば、特許文献１参照）。
【００１１】
特許文献１に開示されているようにＥＮＡＢＬＥ信号を生成することにより、信号が変化する場合にのみ後段の回路に信号をラッチさせ、入力信号の論理を損なうことなく後段の回路に信号を入力することが可能となる。
【００１２】
また、入力側と出力側との信号が非同期の場合に、レベルセンシティブ動作を行うラッチを用いてクロックゲーティングを行う方法が提案されている（例えば、特許文献２参照）。特許文献２に開示されているように、レベルセンシティブ動作を行うラッチを用いることにより、非同期のインタフェースにおいても好適にクロックゲーティングを行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献２に開示された方法の場合、お互いに非同期な信号ＡＳＹＮＣとＳＹＮＣを排他的論理和の回路に入力しているため、メタ・ステーブル状態が発生する可能性がある。これにより、出力されるクロック出力が不安定な状態となる可能性がある。
【００１４】
また、特許文献１及び特許文献２の方法においては、後段の回路に入力された信号を排他的論理和に入力する必要があるため、後段の回路がチップ化されている等の理由により信号を取り出すことが出来ない場合は、適用することができない。
【００１５】
本発明は、上記実情を考慮してなされたものであり、対象となる回路の制約を受けずに適用可能なゲーテッドクロック回路を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、請求項１に記載の発明は、入力される信号をラッチするラッチ回路への動作クロックの入力を制限するクロック制限回路であって、前記ラッチ回路に入力される入力信号と次クロックにおいて前記ラッチ回路に入力される次入力信号との排他的論理和の信号を出力する排他的論理和出力部と、前記排他的論理和の信号を、前記ラッチ回路を制御するためのクロック信号である入力クロック信号に応じてクロック制御信号として出力するクロック制御信号出力部と、前記入力クロック信号と前記クロック制御信号の論理積である制限クロック信号を、前記ラッチ回路の動作クロックとして出力する制限クロック出力部とを含む。
【００１７】
また、請求項２に記載の発明は、請求項１に記載のクロック制限回路において、前記排他的論理和出力部は、前記ラッチ回路に入力されている信号を前記入力信号とし、次クロックにおいて前記ラッチ回路に入力される信号を前記次入力信号として前記排他的論理和の信号を出力し、前記クロック制御信号出力部は、前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部と、前記クロック制御信号生成回路が生成したクロック制御信号を、前記入力クロック信号の反転信号に基づいて１クロック遅らせて出力するクロック制御信号遅延部と、を含み、前記制限クロック出力部は、前記クロック制御信号遅延回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする。
【００１８】
また、請求項３に記載の発明は、請求項２に記載のクロック制限回路において、前記クロック制御信号生成部は、前記入力クロック信号の反転信号に基づいてレベルセンシティブ動作を行うラッチ回路であり、前記クロック制御信号遅延部は、前記入力クロック信号の反転信号に基づいてエッジセンシティブ動作を行うラッチ回路であることを特徴とする。
【００１９】
また、請求項４に記載の発明は、請求項２または３に記載のクロック制限回路において、前記排他的論理和出力部に入力される前記入力信号を遅延させる入力信号遅延部を更に含むことを特徴とする。
【００２０】
また、請求項５に記載の発明は、請求項１に記載のクロック制限回路において、前記入力信号を１クロック遅らせて出力する入力信号保持部を更に有し、前記排他的論理和出力部は、前記入力信号保持部が出力する信号を前記入力信号とし、前記ラッチ回路に入力されている信号を前記次入力信号として前記排他的論理和の信号を出力し、前記クロック制御信号出力部は、前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部を含み、前記制限クロック出力部は、前記クロック制御信号生成回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする。
【００２１】
また、請求項６に記載の発明は、請求項５に記載のクロック制限回路において、前記クロック制御信号生成部は、前記入力クロック信号の反転信号に基づいてレベルセンシティブ動作を行うラッチ回路であることを特徴とする。
【００２２】
また、請求項７に記載の発明は、請求項１乃至６いずれかに記載のクロック制限回路において、前記制限クロック出力部における前記クロック制御信号の入力と前記排他的論理和出力部の出力との間に設けられ、前記ラッチ回路への動作クロックの入力の制限を行うか否かを選択する選択信号と前記排他的論理和出力部側から入力される信号の論理和を出力する論理和出力部を更に有することを特徴とする。
【００２３】
また、請求項８に記載の発明は、請求項７に記載のクロック制限回路において、前記選択信号は、前記ラッチ回路の保持している信号をリセットする信号であることを特徴とする。
【００２４】
また、請求項９に記載の発明は、請求項１乃至８いずれかに記載のクロック制限回路において、前記入力信号を出力する出力回路の動作を制御する出力クロック信号と前記入力クロック信号とが非同期の信号であることを特徴とする。
【００２５】
また、請求項１０に記載の発明は、請求項９に記載のクロック制限回路において、前記制限クロック信号を前記入力クロック信号の１クロック分遅らせて出力する制限クロック遅延部を更に有し、前記制限クロック遅延部が出力する信号は、前記出力クロック信号と前記入力クロック信号との非同期を吸収するために前記ラッチ回路の後段に接続された回路を制御するためのクロック信号として用いられることを特徴とする。
【００２６】
また、請求項１１に記載の発明は、信号出力回路であって、請求項１に記載のクロック制限回路と、前記入力信号をラッチして出力する出力回路と、を含み、前記排他的論理和出力部は、前記出力回路が出力している信号を前記入力信号とし、前記出力回路に入力される信号を前記次入力信号として前記排他的論理和の信号を出力し、前記クロック制御信号出力部は、前記入力クロック信号の反転信号に基づいて前記排他的論理和の信号を前記クロック制御信号の前段階の信号として出力するクロック制御信号生成部と、前記クロック制御信号生成回路が生成したクロック制御信号を、前記入力クロック信号の反転信号に基づいて１クロック遅らせて出力するクロック制御信号遅延部とを含み、前記制限クロック出力部は、前記クロック制御信号遅延回路が出力するクロック制御信号と前記クロック信号との論理積を前記制限クロック信号として出力することを特徴とする。
【００２７】
また、請求項１２に記載の発明は、信号入力回路であって、請求項１に記載のクロック制限回路と、前記ラッチ回路とを含むことを特徴とする。
【発明の効果】
【００２８】
本発明によれば、対象となる回路の制約を受けずに適用可能なゲーテッドクロック回路を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係るゲーテッドクロック回路を含む入出力回路の構成を示す図である。
【図２】本発明の実施形態に係るゲーテッドクロック回路の動作を示すタイミングチャートである。
【図３】本発明の他の実施形態に係るゲーテッドクロック回路の構成を示す図である。
【図４】本発明の他の実施形態に係るゲーテッドクロック回路を含む入出力回路の構成を示す図である。
【図５】本発明の他の実施形態に係るゲーテッドクロック回路の動作を示すタイミングチャートである。
【図６】本発明の他の実施形態に係るゲーテッドクロック回路の構成を示す図である。
【図７】従来技術に係る入出力回路の構成を示す図である。
【図８】従来技術に係るゲーテッドクロック回路を含む入出力回路の構成を示す図である。
【図９】従来技術に係るゲーテッドクロック回路の構成を示す図である。
【図１０】従来技術に係るゲーテッドクロック回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００３１】
実施の形態１．
図１は、本実施形態に係るゲーテッドクロック回路１０を含む入出力回路１の回路構成を示す図である。図１に示すように、本実施形態に係る入出力回路１は、ゲーテッドクロック回路１０、出力回路２０及び入力回路３０を含む。
【００３２】
出力回路２０は、本実施形態において入力回路３０に入力すべき信号を出力する回路であり、図１に示すように、フロップフロップ回路（以降、ＦＦとする）２１を含む。ＦＦ２１は、情報出力側のクロックである出力側クロックＣＬＫ１に応じて、出力すべき信号ＤＡＴＡをラッチして非同期信号ＡＳＹＮＣとして出力する。また、出力回路２０は、ＤＡＴＡをそのまま出力する機能を有する。
【００３３】
入力回路３０は、非同期吸収回路構成を有し、出力回路２０が出力する信号が入力される回路であり、図１に示すように、ＦＦ３１及びＦＦ３２を含む。このような構成により、入力回路３０は、ゲーテッドクロック回路１０が出力するゲーテッドクロックＧＣＬＫ及びディレイゲーテッドクロックＤＧＣＬＫに応じて、出力回路２０が出力するＡＳＹＮＣをラッチして入力する。ＦＦ３１及びＦＦ３２による非同期吸収回路構成については、公知の技術であるため、詳細な説明を省略する。
【００３４】
ゲーテッドクロック回路１０は、入力回路３０の動作を制御する信号を出力する回路であり、図１に示すように、排他的論理和回路（以降、ＸＯＲとする）１０１、ラッチ回路（以降、ＬＡＴとする）１０２、クロックゲーティングＦＦ（以降、ＣＧＦＦとする）１０３、論理積回路（以降、ＡＮＤとする）１０４及び遅延回路１０５を含む。
【００３５】
このような構成により、ゲーテッドクロック回路１０は、出力回路２０が出力するＤＡＴＡ及びＡＳＹＮＣに応じてＣＬＫ２の出力を制限し、入力回路３０の動作を制御するＧＣＬＫ及びＤＧＣＬＫを出力する。入力回路３０に入力するクロック信号を制限すること、即ち、クロックゲーティングを行うことにより、入力回路３０に含まれるＦＦ３１、ＦＦ３２の動作を制限し、消費電力を低減することが本実施形態に係る要旨の１つである。
【００３６】
次に、図２のタイミングチャートを参照して、本実施形態に係るゲーテッドクロック回路１０の動作を詳細に説明する。図２は、図１に示す各部の信号状態の遷移を示すタイミングチャートである。本実施形態に係る入出力回路１は、ＣＬＫ１に基づいて動作する部分とＣＬＫ２に基づいて動作する部分とを含むため、ＣＬＫ１に基づいて動作する部分を上段に、ＣＬＫ２に基づいて動作する部分を下段に示す。
【００３７】
図２の例においては、ＣＬＫ１のクロック周波数がＣＬＫ２のクロック周波数よりも低い場合を例とする。また、図２の例においては、ＤＡＴＡが“Ｈｉｇｈ”、“Ｌｏｗ”、“Ｌｏｗ”、“Ｌｏｗ”、“Ｈｉｇｈ”、“Ｈｉｇｈ”、“Ｌｏｗ”の順番である場合を例として説明する。
【００３８】
また、図２の例においては、ＣＬＫ１のクロック毎の期間をＴ11〜Ｔ18とし、ＣＬＫ２のクロック毎の期間をＴ20〜Ｔ29とする。図２に示すように、出力回路２０は、ＣＬＫ１に応じてＤＡＴＡをラッチし、ＡＳＹＮＣを出力する。その結果、ＡＳＹＮＣは、ＤＡＴＡをＣＬＫ１の１クロック分遅らせた信号となる。
【００３９】
ＸＯＲ１０１には、ＤＡＴＡ及びＡＳＹＮＣが入力され、ＤＡＴＡとＡＳＹＮＣとの信号状態が異なる場合に“Ｈｉｇｈ”を出力する。即ち、ＸＯＲ１０１は、出力回路２０が出力しているＡＳＹＮＣと次クロックにおいて出力回路２０がＡＳＹＮＣとして出力する信号、即ち前信号であるＤＡＴＡの信号状態が異なる場合に、“Ｈｉｇｈ”を出力し、ＬＡＴ１０２に入力する。図２において、ＸＯＲ１０１の出力はＬＡＴ／Ｄで示され、Ｔ11、Ｔ12、Ｔ15及びＴ17においてＸＯＲ１０１の出力が“Ｈｉｇｈ”となる。
【００４０】
本実施形態に係るＸＯＲ１０１の機能について更に説明する。現在のＡＳＹＮＣ（以降、現信号とする）と次クロックのＡＳＹＮＣ（以降、次信号とする）、即ちＤＡＴＡとが同一である場合、ＦＦ３１は、次クロックにおいて次信号をラッチして出力するのではなく、現信号を出力し続けても出力される信号は同一である。この場合に、ＦＦ３１へのクロックの入力を停止することにより消費電力を低減することがクロックゲーティングの原理である。即ち、本実施形態においては、ＡＳＹＮＣが現信号として用いられ、ＤＡＴＡが次信号として用いられる。
【００４１】
他方、現信号と次信号が異なる場合、ＦＦ３１は、次クロックにおいて次信号をラッチして出力する必要がある。即ち、ＸＯＲ１０１は、現信号と次信号とを比較した結果両信号が異なる場合、次クロックにおいてＦＦ３１がラッチを行う必要があることを示す信号として“Ｈｉｇｈ”を出力する。
【００４２】
ＬＡＴ１０２は、レベルセンシティブ動作を行う回路であり、ＣＬＫ２の反転信号に応じて、ＸＯＲ１０１の出力を通過させる。具体的に、ＬＡＴ１０２は、ＣＬＫ２の反転信号が“Ｈｉｇｈ”の場合、即ち、ＣＬＫ２が“Ｌｏｗ”の場合、ＸＯＲ１０１の出力をそのまま出力する。また、ＬＡＴ１０２は、ＣＬＫ２の反転信号の立ち下がりタイミング、即ち、ＣＬＫ２の立ち上がりタイミングにおけるＸＯＲ１０１の出力を保持し、ＣＬＫ２が“Ｈｉｇｈ”の期間、その出力を維持する。
【００４３】
具体的には、ＣＬＫ２の立ち上がりタイミングにおいてＸＯＲ１０１の出力が“Ｈｉｇｈ”であった場合、その後のＣＬＫ２が“Ｈｉｇｈ”の期間においてＸＯＲ１０１の出力が“Ｌｏｗ”に遷移したとしても、ＬＡＴ１０２は、“Ｈｉｇｈ”の出力を維持する。
【００４４】
このような動作の結果、ＬＡＴ１０２の出力信号のタイミングは、図２においてＬＡＴ／Ｑとして示すようなタイミングになる。ＬＡＴ１０２は、クロックゲーティングを行うための判断基準となる信号であるＸＯＲ１０１の出力信号を、ＣＬＫ２に同期した信号とするための前段階の処理（同期前処理）を行う。ＬＡＴ１０２により、クロックゲーティングを行うための基となる信号が生成される。即ち、ＬＡＴ１０２がクロック制御信号生成部として機能する。ＬＡＴ１０２が担う機能の具体的な効果については、後に詳述する。
【００４５】
ＣＧＦＦ１０３は、ＣＬＫ２の反転信号に応じてＬＡＴ１０２の出力、即ちＬＡＴ／Ｑをラッチして出力する。ＣＧＦＦ１０３の出力は、図２においてＣＧＦＦ／Ｑで示されている。従って、ＣＧＦＦ１０３は、ＬＡＴ１０２が出力した信号、即ち、上述した同期前処理が施された信号を、ＣＬＫ２に同期させる。
【００４６】
また、ＬＡＴ１０２とＣＧＦＦ１０３とは同一のＣＬＫ２に基づいて動作するため、ＣＧＦＦ１０３の出力は、ＬＡＴ１０２の出力よりも遅れた信号となる。ＸＯＲ１０１が判断するのは、次クロックにおけるＦＦ３１の信号のラッチ要否であるため、ＣＧＦＦ１０３が信号を遅らせることにより、次クロックの動作タイミングに合わせられる。即ち、ＣＧＦＦ１０３が、クロック制御信号遅延部として機能する。
【００４７】
ＡＮＤ１０４は、ＣＬＫ２とＣＧＦＦ１０３の出力との論理積を出力する。即ち、ＡＮＤ１０４は、ＸＯＲ１０１からＬＡＴ１０２及びＣＧＦＦ１０３を経て出力される信号（以降、クロックゲーティング信号とする）に応じてＣＬＫ２を出力する。具体的に、ＡＮＤ１０４は、クロックゲーティング信号が“Ｈｉｇｈ”である場合に、ＣＬＫ２を通過させ、クロックゲーティング信号が“Ｌｏｗ”の場合、ＣＬＫ２の出力を停止する。即ち、ＡＮＤ１０４が出力する信号は、制限されたＣＬＫ２の信号（以降、制限クロック信号）、即ち、ゲーテッドクロックＧＣＬＫであり、ＡＮＤ１０４が、制限クロック出力部として機能する。
【００４８】
ＡＮＤ１０４が出力する制限クロック信号は、図２においてＧＣＬＫで示されている。図２にＧＣＬＫとして示すように、ＧＣＬＫは、ＣＧＦＦ／Ｑが“Ｈｉｇｈ”の場合にのみＣＬＫ２が出力された結果、ＣＬＫ２の立ち上がりのうち、破線で示す立ち上がりが省略されたタイミングとなっている。この省略された立ち上がり分、消費電力が低減されることとなる。
【００４９】
このように出力されたＧＣＬＫに基づいて、ＦＦ３１がＡＳＹＮＣをラッチする。ＦＦ３１がＡＳＹＮＣをラッチして出力する信号は、図２においてＦＦ３１／Ｑで示されている。図２に示すように、ＦＦ３１がＧＣＬＫの立ち上がりに基づいてラッチして出力するＦＦ３１／Ｑは、ＡＳＹＮＣに準じたタイミングとなっており、入力回路３０において好適にＡＳＹＮＣが入力されていることが確認できる。
【００５０】
次に、ＬＡＴ１０２としてレベルセンシティブ動作を行う回路を用いた効果について説明する。ＬＡＴ１０２としてレベルセンシティブ動作を行う回路を用いた効果は、Ｔ27、Ｔ28に現れている。ＬＡＴ１０２としてレベルセンシティブではなくエッジセンシティブ動作を行う回路を用いた場合、Ｔ27においてＬＡＴ／Ｄが立ち上がるタイミングは、ＣＬＫ２の立ち下がりタイミングよりも後であるため、ＬＡＴ／Ｑは、すぐには “Ｈｉｇｈ”にならず、Ｔ28におけるＣＬＫ２の立ち下がりタイミングにおいて“Ｈｉｇｈ”となる。
【００５１】
この場合、ＣＧＦＦ／Ｑが、Ｔ28におけるＣＬＫ２の立ち下がりタイミングにおいて、“Ｈｉｇｈ”とならず、Ｔ29におけるＣＬＫ２の立ち下がりタイミングにおいて“Ｈｉｇｈ”となる。その結果、Ｔ29のＧＣＬＫは“Ｌｏｗ”となってしまい、Ｔ29のＦＦ３１／Ｑが“Ｈｉｇｈ”となる。結果的に、入力回路３０において好適にＡＳＹＮＣが入力されなくなってしまう。
【００５２】
これに対して、ＬＡＴ１０２としてレベルセンシティブ動作を行う回路を用いることにより、ＸＯＲ１０１の出力であるＬＡＴ／Ｄを即座にＬＡＴ／Ｑとして反映させることができるため、上記のような問題は生じない。このように、ＬＡＴ１０２としてレベルセンシティブ動作を行う回路を用いることにより、ＣＬＫ１とＣＬＫ２との非同期タイミングによる動作不良を緩和することができる。
【００５３】
また、遅延回路１０５は、ＣＬＫ２の１クロック分の遅延値を有する。即ち、遅延回路１０５は、ＧＣＬＫを１クロック分だけ遅延させて出力する制限クロック遅延部として機能する。ＦＦ３２はＦＦ３１が出力する信号をラッチすることにより非同期を吸収するため、ＦＦ３２がＧＣＬＫよりも１クロック以上遅れたＤＧＣＬＫに基づいて動作することにより、ＦＦ３１が出力する信号のタイミングを損なわずに信号をラッチすることができる。これに限らず、想定されるメタ・ステーブル状態の持続時間より長い遅延時間後にＤＧＣＬＫが伝播されることにより非同期が吸収されるため、遅延回路１０５の遅延地は、想定されるメタ・ステーブル状態の持続時間以上とすることが好ましい。
【００５４】
尚、遅延回路１０５を設けずにＡＮＤ１０４の出力であるＧＣＬＫをＦＦ３１及びＦＦ３２に直接接続した場合、ＡＮＤ１０４からＦＦ３２までの配線の長さが、ＦＦ３１までの配線の長さよりも長くなることが考えられる。その場合、配線の負荷により、ＦＦ３２に入力されるＧＣＬＫのタイミングがＦＦ３１に入力されるＧＣＬＫのタイミングよりも遅くなり、ＣＬＫ２の１クロック分遅れることが考えられる。即ち、配線負荷による遅延によってＧＣＬＫとＤＧＣＬＫとの１クロック分のずれが実現できる場合、遅延回路１０５を省略することができる。
【００５５】
また、少なくともＦＦ３１に入力するクロックをＧＣＬＫとすれば、ＦＦ３１における消費電力を低減することは可能である。従って、ＧＣＬＫを入力するのはＦＦ３１のみとし、ＦＦ３２にはＣＬＫ２を入力するようにしても良い。これにより、遅延回路１０５を設けない場合において、非同期吸収機能を損なうことなくクロックゲーティングを行うことが可能となる。
【００５６】
以上説明したように、本実施形態に係るゲーテッドクロック回路１０を用いることにより、非同期インタフェースや、受信側の信号を取り出すことが出来ない等、対象となる回路の制約を受けずに適用可能なゲーテッドクロック回路を提供することが可能となる。これにより、ＡＳＹＮＣの信号タイミングに影響を与えることなく、入力回路３０に入力されるクロック信号を低減し、結果として入力回路３０の消費電力を低減することができる。また、本実施形態に係るゲーテッドクロック回路１０において、ＸＯＲ１０１に入力される信号はいずれもＣＬＫ１に同期した信号である。従って、従来技術のように非同期の信号を入力することによる不具合を回避することができる。
【００５７】
尚、上記実施形態においては、入出力回路１がゲーテッドクロック回路１０、出力回路２０及び入力回路３０を含む場合が例として説明されている。この他、出力回路２０及びゲーテッドクロック回路１０を含む回路を１チップとして構成し、ゲーテッドクロック機能を含む信号出力回路として提供しても良い。また、入力回路３０及びゲーテッドクロック回路１０を含む回路を１チップとして構成し、ゲーテッドクロック機能を含む信号入力回路して提供しても良い。
【００５８】
上記実施形態においては、出力回路２０と入力回路３０とが非同期のクロックに基づいて動作する場合を例として説明した。このような非同期インタフェースの例としては、例えば電源オン／オフや、何らかの状態の検知／非検知等、フラグを示す信号のインタフェースが考えられる。このようなフラグを示す信号は、“Ｈｉｇｈ”／“Ｌｏｗ”の遷移頻度が低いため、本実施形態に係るゲーテッドクロック回路１０を適用することにより、大きな省電力効果を得ることができる。尚、フラグを示す信号に限らず、データ信号のインタフェースにも用いることが可能である。
【００５９】
実施の形態２．
本実施形態においては、入力回路３０が同期リセットを持つ場合において、ゲーテッドクロック回路１０によるクロックゲーティング動作の有無を切り換え可能な場合を説明する。尚、実施の形態１と同様の符号を付す構成については、同一または相当部を示すものとし、説明を省略する。
【００６０】
図３は、本実施形態に係るゲーテッドクロック回路１０の構成を示す図である。図３に示すように、本実施形態に係るゲーテッドクロック回路１０は、実施の形態１の構成に加えて、論理和回路（以降、ＯＲとする）１０６を含む。また、本実施形態に係るゲーテッドクロック回路１０は、実施の形態１の構成に加えて、同期リセット信号ＳＲＥＳＥＴが入力される。
【００６１】
ＳＲＥＳＥＴは、入力回路３０の同期リセット信号である。より具体的には、ＳＲＥＳＥＴは、入力回路３０が保持している信号をリセットするための信号であり、入力回路３０の保持している信号をリセットする場合に“Ｈｉｇｈ”となる。また、ＳＲＥＳＥＴは、ゲーテッドクロック回路１０においては、クロックゲーティング動作を実行させるか否かを指示するための選択信号であり、クロックゲーティング動作を実行させる場合は“Ｌｏｗ”、クロックゲーティング動作を実行させない場合は“Ｈｉｇｈ”となる。
【００６２】
図３に示すように、ＯＲ１０６は、ＬＡＴ１０２とＣＧＦＦ１０３との間に接続されており、ＬＡＴ１０２の出力とＳＲＥＳＥＴとの論理和をＣＧＦＦ１０３に出力する論理和出力回路として機能する。これにより、ＣＧＦＦ１０３の出力は、ＳＲＥＳＥＴが“Ｈｉｇｈ”の場合は常に“Ｈｉｇｈ”となる。その場合、ＸＯＲ１０１の出力に関わらず、ＡＮＤ１０４は、ＣＬＫ２と同一の信号を出力するため、クロックゲーティング動作が行われなくなる。
【００６３】
他方、ＳＲＥＳＥＴが“Ｌｏｗ”の場合、ＯＲ１０６の出力はＬＡＴ１０２の出力と同一となり、ゲーテッドクロック回路１０全体の動作は実施の形態１と同一となる。即ち、ＳＲＥＳＥＴが“Ｌｏｗ”の場合、ゲーテッドクロック回路１０がクロックゲーティング動作を行う。このように、本実施形態に係るゲーテッドクロック回路１０は、クロックゲーティング動作の有無を切り換えることができる。その結果、入力回路３０が同期リセットを持つ場合においても、好適にクロックゲーティングを行うことが可能になる。
【００６４】
尚、本実施形態においては、ＰＲ１０６を図３の位置に設ける場合を例としたが、ＳＲＥＳＥＴが“Ｈｉｇｈ”である場合に、ＡＮＤ１０４の片方の出力が常に“Ｈｉｇｈ”となれば目的を達成することが可能である。従って、ＯＲ１０６は、ＸＯＲ１０１の出力とＡＮＤ１０４の入力との間のどこかに設ければ良い。この場合において、ＳＲＥＳＥＴが“Ｈｉｇｈ”となるタイミングとＡＮＤ１０４の片方の入力が常に“Ｈｉｇｈ”となるタイミングとを考慮すると、ＯＲ１０６は、ＬＡＴ１０２の出力とＣＧＦＦ１０３の入力との間に設けられることが好ましい。例えばＳＲＥＳＥＴがＣＬＫ２の１サイクル分のみ“Ｈｉｇｈ”になるような場合、ＯＲ１０６は、ＣＧＦＦ１０３の直前に設ける必要がある。また、他の位置に設けた上で遅延回路等によりタイミングを調整しても良い。
【００６５】
実施の形態３．
本実施形態においては、入出力回路１において異なる位置にゲーテッドクロック回路１０を接続する場合を例として説明する。尚、実施の形態１と同様の符号を付す構成については、同一または相当部を示す説明を省略する。
【００６６】
図４は、本実施形態に係るゲーテッドクロック回路１０の接続態様の例を示す図である。図４に示すように、本実施形態においては、入力回路３０がクロックゲーティング動作無しでＣＬＫ２に基づいてＡＳＹＮＣをラッチし、同期信号ＳＹＮＣを出力した後の段階にゲーテッドクロック回路１０を接続する。これにより、入力回路３０の後段に接続される論理回路４０に含まれるＦＦ４１、ＦＦ４２の消費電力を低減することができる。
【００６７】
図４に示すように、本実施形態に係るゲーテッドクロック回路１０は、実施の形態１と異なり、ＦＦ１０３が省略されている。また、ＸＯＲ１０１の前段にＣＬＫ２に基づいて動作するＦＦ１０７が接続されており、入力回路３０が出力するＳＹＮＣをＣＬＫ２の１クロック分遅らせてディレイ同期信号ＤＳＹＮＣを出力する。即ち、ＦＦ１０７が前クロックにおけるＳＹＮＣを保持して現クロックにおいて出力する入力信号保持部として機能する。
【００６８】
また、ＸＯＲ１０１に入力されるのは、入力回路３０が出力するＳＹＮＣと、ＦＦ１０７が出力するＤＳＹＮＣである。即ち、本実施形態に係るＸＯＲ１０１は、論理回路４０に入力されているＳＹＮＣと前クロックにおいて論理回路４０に入力された信号との不一致を検出して“Ｈｉｇｈ”を出力する。換言すると、本実施形態においては、ＳＹＮＣが次入力信号として用いられ、ＤＳＹＮＣが入力信号として用いられる。
【００６９】
実施の形態１においては、現信号と次信号とが一致するか否かに基づいてクロックゲーティングを行い、次信号をラッチするか否かを判断するため、ＦＦ１０３において１クロック遅らせたクロックゲーティング信号を用いる必要があった。これに対して、本実施形態に係るゲーテッドクロック回路１０は、現信号と前クロックにおいて論理回路４０に入力された信号とが一致するか否かに基づいてクロックゲーティングを行い、現信号をラッチするか否かを判断する。従って、本実施形態においては、ＦＦ１０３における遅延処理が不要となる点が、実施の形態１と異なる。
【００７０】
図５は、図４に示す各部の信号状態の遷移を示すタイミングチャートである。ＸＯＲ１０１、ＬＡＴ１０２及びＡＮＤ１０４が実施の形態１と同様に動作することにより、実施の形態１と同様にクロックゲーティング動作が実行され、図５のＧＣＬＫにおいて破線で示すようにＣＬＫ２が制限され、消費電力を低減することができる。また、図５にＦＦ４１／Ｑ、ＦＦ４２／Ｑで示すように、ＦＦ４１、ＦＦ４２がＳＹＮＣを好適にラッチする。
【００７１】
以上、説明したように、本実施形態に係るゲーテッドクロック回路１０においては、実施の形態１の態様と異なり、ＦＦ１０７を設け、ラッチすべき信号（本実施形態に係るＳＹＮＣ）を１クロック遅らせて排他的論理和を取る。これにより、現在入力されている信号が前クロックの信号と異なるか否かを判断し、ラッチすべきか否かを決定する。これにより、次段の回路の消費電力を低減することができる。
【００７２】
本実施形態に係る態様は、例えば、出力側の回路がチップ化されており、実施の形態１のＤＡＴＡのように次信号を取り出すことが出来ない場合であっても用いることが可能である。即ち、本実施形態に係るゲーテッドクロック回路１０を、実施の形態１と同様に出力回路２０と入力回路３０との間に用いることも可能である。
【００７３】
また、本実施形態においては、論理回路４０がＦＦ４１、ＦＦ４２を含む場合を例としたが、その他のロジックを含んでも良い。論理回路４０においてＦＦ４１、ＦＦ４２よりも前段にロジックが含まれる場合、そのロジックにおける信号の遅延に応じてＧＣＬＫを遅延させる必要がある。この場合、実施の形態１と同様に遅延回路１０５を設けることにより、実現可能である。
【００７４】
その他の実施形態．
図６は、ゲーテッドクロック回路１０の他の実施形態の構成を示す図である。図６の例は、実施の形態１に係るゲーテッドクロック回路１０に、更に遅延回路１０８が追加されている。遅延回路１０８は、ＸＯＲ１０１へのＡＳＹＮＣの入力に追加されている。これにより、ＸＯＲ１０１は、次信号であるＤＡＴＡと、ＡＳＹＮＣの遅延信号との排他的論理和を出力する。即ち、遅延回路１０８が入力信号遅延回路として機能する。
【００７５】
上述したように、ＣＬＫ１とＣＬＫ２とは非同期の信号である。実施の形態１乃至３においては、ＣＬＫ１の周波数がＣＬＫ２の周波数よりも低い場合を例として説明したが、その逆、つまり、ＣＬＫ１の周波数がＣＬＫ２の周波数よりも高い場合もあり得る。この場合、ＡＮＤ１０４がＣＬＫ２を通過させる期間、即ち、ＣＧＦＦ１０３の出力が“Ｈｉｇｈ”となる期間が、ＣＬＫ２の周波数に対して不足し、結果として入力回路３０に対して、ＡＳＹＮＣを正しくラッチできるようにＧＣＬＫが供給されない可能性がある。
【００７６】
図６に示すように、ＸＯＲ１０１のＡＳＹＮＣの入力に遅延回路１０８を設けることにより、ＣＧＦＦ１０３の出力が“Ｈｉｇｈ”となる期間が十分となり、入力回路３０に対して正しくＧＣＬＫが供給される。また、図６の例は、ＣＬＫ１の周波数がＣＬＫ２の周波数より低い場合においても、出力回路２０のＦＦ２１におけるＤＡＴＡポートでのセットアップタイミングのマージンが少ないような場合においても有効である。
【符号の説明】
【００７７】
１    入出力回路
１０    ゲーテッドクロック回路
２０    出力回路
２１    ＦＦ
３０    入力回路
３１、３２    ＦＦ
４０    論理回路
４１、４２    ＦＦ
１０１    ＸＯＲ
１０２    ＬＡＴ
１０３    ＣＧＦＦ
１０４    ＡＮＤ
１０５    遅延回路
１０６    ＯＲ
１０７    ＦＦ
１０８    遅延回路
【先行技術文献】
【特許文献】
【００７８】
【特許文献１】特開２００８−１７６４４０号公報
【特許文献２】特開２００８−１３４９２６号公報
【図１】
2010165069.tif 000003
【図２】
2010165069.tif 000004
【図３】
2010165069.tif 000005
【図４】
2010165069.tif 000006
【図５】
2010165069.tif 000007
【図６】
2010165069.tif 000008
【図７】
2010165069.tif 000009
【図８】
2010165069.tif 000010
【図９】
2010165069.tif 000011
【図１０】
2010165069.tif 000012