(57)【要約】      （修正有）【課題】  アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法、装置を提供する。【解決手段】  ディジタル回路は、それぞれの回路素子タイプの１つ又はそれ以上の回路素子を有している。本発明の方法では、アイドル電力値は、各回路素子タイプについてのアイドル電力値を含んでいる。各回路素子タイプについてのアイドル電力値は、回路素子タイプの回路素子の入力の異なる状態に対応する。さらに、アイドル電力値は、ディジタル回路がアイドル状態にある時に回路素子を最低の許容アイドル電力状態に設定することになる回路素子の入力の状態を各回路素子ついて判定する。回路入力を構成する入力について判定された状態に基づいて、入力状態ベクトルが決められる。この状態はまた、ディジタル回路の論理的制約を考慮して決められる。【選択図】        図１
2005006297.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの回路素子タイプの１つ又はそれ以上の回路素子を含むディジタル回路がアイドル状態にある時に、前記ディジタル回路の前記回路入力に適用される入力状態ベクトルを決めて、低電力消費を実現するための装置であって、
前記回路素子タイプのそれぞれのタイプの回路素子の入力の異なる状態に対応する、前記回路素子タイプのそれぞれに関するアイドル電力値を含む、アイドル電力値が記憶されているアイドル電力値情報源と、
前記アイドル電力値情報源に結合されて、前記アイドル電力値を利用し、前記回路素子のそれぞれについて、ディジタル回路がアイドル状態にある時に、前記回路素子の前記それぞれを最低の許容アイドル電力状態に設定することになる、前記回路素子の前記それぞれの入力の状態を判定するように機能することが可能なアイドル電力評定装置と、
を備え、
前記入力状態の判定では、前記ディジタル回路の論理的制約条件が考慮され、前記回路入力を構成する入力のいくつかについて判定される前記状態によって、前記入力状態ベクトルが決まること、
を特徴とする装置。
【請求項２】
前記アイドル電力評定装置が、前記ディジタル回路をセグメントに分割して、前記セグメントのそれぞれについて前記判定を実施するように機能することを特徴とする請求項１に記載の装置。
【請求項３】
前記セグメントが、ファン・イン・コーンから構成されることを特徴とする請求項２に記載の装置。
【請求項４】
前記アイドル電力評定装置が、前記回路入力から延びる経路に沿って前記回路素子の前記入力状態を判定し、前記ディジタル回路全域にわたってこれを進めるように機能することを特徴とする請求項１に記載の装置。
【請求項５】
前記アイドル電力評定装置が、前記回路入力に向かって延びる経路に沿って前記回路素子の前記入力状態を判定し、前記ディジタル回路全域にわたってこれを進めるように機能することを特徴とする請求項１に記載の装置。
【請求項６】
前記アイドル電力評定装置が、
前記回路素子の前記入力状態の判定を実施して、それぞれの可能性のある入力状態ベクトルを決めるように構成された判定モジュールと、
前記判定モジュールに結合されて、前記アイドル状態にある前記ディジタル回路の前記回路入力に前記可能性のある入力状態ベクトルのそれぞれを適用することによって実現されるそれぞれのアイドル電力消費量を表示するように構成されたアイドル電力消費量表示器と、
前記アイドル電力消費量表示器に結合されて、前記アイドル電力消費量の最低量を識別するように構成された最低アイドル電力消費量識別装置と、
前記最低アイドル電力消費量識別装置及び前記判定モジュールに結合されて、前記最低アイドル電力消費量識別装置によって識別された前記最低アイドル電力消費量に対応する前記可能性のある入力状態ベクトルの１つを前記入力状態ベクトルとして選択するように構成された入力状態ベクトル・セレクタと、
を備えることを特徴とする請求項１に記載の装置。
【請求項７】
前記判定モジュールが、前記判定の１つとして、前記回路入力から延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する順方向判定を実施する機能を行ない得るように構成されていることを特徴とする請求項６に記載の装置。
【請求項８】
前記判定モジュールが、前記判定の１つとして、前記回路入力に向かって延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する逆方向判定を実施する機能を行ない得るように構成されていることを特徴とする請求項６に記載の装置。
【請求項９】
前記アイドル電力評定装置が、前記回路素子に適用されると、前記ディジタル回路のアイドル状態時に、前記回路素子の前記最低許容アイドル電力状態を低下させることになる、前記ディジタル回路の前記回路素子に適用可能な１つ又はそれ以上の論理的に許容される入力接続変更を識別するように構成された置換モジュールを具備することを特徴とする請求項１に記載の装置。
【請求項１０】
前記アイドル電力値情報源に記憶されている前記アイドル電力値が、前記回路素子の動的動作に対応することを特徴とする請求項１に記載の装置。
【請求項１１】
それぞれの回路素子タイプの１つ又はそれ以上の回路素子を含む、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法であって、
前記回路素子タイプのそれぞれのタイプの回路素子の異なる入力状態に対応する、前記回路素子タイプの前記それぞれに関するアイドル電力値を含む、記憶されているアイドル電力値にアクセスするステップと、
前記回路素子のそれぞれについて、前記記憶されているアイドル電力値から、前記ディジタル回路の前記アイドル状態時に、前記回路素子の前記それぞれを最低許容アイドル電力状態に設定することになる、前記回路素子の前記それぞれの入力状態を判定するステップと、
を有し、
前記状態の判定において、前記ディジタル回路の論理的制約条件が考慮され、前記入力のうち前記回路入力を構成するものについて判定される前記状態によって、前記入力状態ベクトルが決まること、
を特徴とする方法。
【請求項１２】
前記判定するステップが、
前記ディジタル回路をセグメントに分割するステップと、
前記セグメントのそれぞれに配置された前記回路素子のいくつかの前記入力状態を判定するステップと、
を有することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記セグメントが、ファン・イン・コーンから構成されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記判定するステップが、前記判定の１つとして、前記回路入力から延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する順方向判定を実施するステップを有することを特徴とする請求項１１に記載の方法。
【請求項１５】
前記判定するステップが、前記判定の１つとして、前記回路入力に向かって延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する逆方向判定を実施するステップを有することを特徴とする請求項１１に記載の方法。
【請求項１６】
前記判定するステップが、
前記回路素子の前記入力状態の判定を実施して、それぞれの可能性のある入力状態ベクトルを決めるステップと、
前記回路入力に前記可能性のある入力状態ベクトルのそれぞれを適用することによって実現されるそれぞれのアイドル電力消費量を表示するステップと、
前記アイドル電力消費量のうち最低量を識別するステップと、
前記アイドル電力消費量のうち前記最低量に対応する前記可能性のある入力状態ベクトルの１つを前記入力状態ベクトルの１つとして採択するステップと、
を有することを特徴とする請求項１１に記載の方法。
【請求項１７】
前記決めるステップが、前記回路入力から延びる経路に沿って、前記回路素子の前記入力状態を判定し、これを前記ディジタル回路全域にわたって進めるステップを有することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記決めるステップが、前記回路入力に向かって延びる経路に沿って、前記回路素子の前記入力状態を判定し、これを前記ディジタル回路全域にわたって進めるステップを有することを特徴とする請求項１６に記載の方法。
【請求項１９】
前記回路素子に適用されると、前記ディジタル回路の前記アイドル状態時に、前記回路素子の前記最低許容アイドル電力状態を低下させることになる、前記ディジタル回路を構成する前記回路素子に適用可能な論理的に許容される入力接続を識別するステップをさらに有することを特徴とする請求項１１に記載の方法。
【請求項２０】
前記回路素子タイプの前記それぞれについて記憶されている前記アイドル電力値が、前記回路素子タイプの前記それぞれのタイプの前記回路素子に関する動的動作に対応することを特徴とする請求項１１に記載の方法。
【請求項２１】
コンピュータによって、それぞれの回路素子タイプの１つ以上の回路素子が含まれているディジタル回路のアイドル状態時に、低アイドル電力消費を実現するため、前記ディジタル回路の回路入力に適用される入力状態ベクトルを決める方法が実施されるようにする、コンピュータ可読命令が記憶されているコンピュータ可読媒体であって、
前記方法が、
前記回路素子タイプのそれぞれのタイプの回路素子の異なる入力状態に対応する、前記回路素子タイプの前記それぞれに関するアイドル電力値を含む、記憶されているアイドル電力値にアクセスするステップと、
前記ディジタル回路を構成する前記回路素子のそれぞれについて、前記記憶されているアイドル電力値から、前記ディジタル回路の前記アイドル状態時に、前記回路素子の前記それぞれを最低許容アイドル電力状態に設定することになる、前記回路素子の前記それぞれの入力状態を判定するステップと、
を有し、
前記判定において、前記ディジタル回路の論理的制約条件が考慮され、前記入力のうち前記回路入力を構成するものについて判定される前記状態によって、前記入力状態ベクトルが決まること、
を特徴とするコンピュータ可読媒体。
【請求項２２】
前記判定するステップが、
前記ディジタル回路をセグメントに分割するステップと、
前記セグメントのそれぞれに配置された前記回路素子のいくつかの前記入力状態を判定するステップと、
を有することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記セグメントが、ファン・イン・コーンから構成されることを特徴とする請求項２２に記載のコンピュータ可読媒体。
【請求項２４】
前記判する定ステップが、前記回路入力から延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する順方向判定を実施するステップを有することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
前記判定するステップが、前記回路入力に向かって延びる経路に沿って前記ディジタル回路に対する処理を進めることによって、前記回路素子の前記入力の前記状態を判定する逆方向判定を実施するステップを有することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２６】
前記判定するステップが、
前記回路素子の前記入力状態の判定を実施して、それぞれの可能性のある入力状態ベクトルを決めるステップと、
前記可能性のある入力状態ベクトルのそれぞれを前記回路入力に適用することによって実現されるそれぞれのアイドル電力消費量を表示するステップと、
前記アイドル電力消費量のうち最低量を識別するステップと、
前記アイドル電力消費量のうち前記最低量に対応する前記可能性のある入力状態ベクトルの１つを前記入力状態ベクトルの１つとして採択するステップと、
を有することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２７】
前記決めるステップが、前記回路入力から延びる経路に沿って、前記回路素子の前記入力状態を判定し、これを前記ディジタル回路全域にわたって進めるステップを有することを特徴とする請求項２６に記載のコンピュータ可読媒体。
【請求項２８】
前記決めるステップが、前記回路入力に向かって延びる経路に沿って、前記回路素子の前記入力状態を判定し、これを前記ディジタル回路全域にわたって進めるステップを有することを特徴とする請求項２６に記載のコンピュータ可読媒体。
【請求項２９】
前記回路素子に適用されると、前記ディジタル回路の前記アイドル状態時に、前記回路素子の前記最低許容アイドル電力状態を低下させることになる、前記ディジタル回路を構成する前記回路素子に適用可能な論理的に許容される入力接続を識別するステップをさらに有することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アイドル状態にあるディジタル回路において低電力消費を実現する入力状態ベクトルを決める方法及び装置に関する。
【背景技術】
【０００２】
低電力用途の急増によって、低電力装置において用いられる回路の電力消費を低減せざるを得なくなってきた。例えば、携帯電話及びコンピュータのような携帯用装置の電池の寿命を延長させることは、これらの装置に用いられる回路の密度及び複雑性が増すにつれて、ますます重要になっている。解決法の１つは、電力供給及び動作電圧の低下に焦点を合わせたが、これには、回路に用いられるトランジスタのしきい値電圧を低下させて、性能ガイドラインに達するようにする必要がある。しかし、トランジスタのしきい値電圧を低下させると、しきい値電圧と漏洩電流の指数関数的関係により、トランジスタの漏洩電流の有害な増加を生じることになる。これは、電力供給及び動作電圧と、対応するしきい値電圧が低下し続ける場合には、とりわけ問題になる。
【０００３】
間欠的に動作する装置の電力消費は、一般に、こうした装置の回路を、ある非活動期間後、アイドル又はスタンバイ状態で動作するように構成することによって、低減させられる。しかし、こうした回路は、アイドル状態においてさえ電力を消費するので、アイドル状態にある回路の電力消費を低減するのが望ましい。これまでに、入力ベクトルを決めることによって、アイドル状態における電力消費を低減する方法が提案されているが、こうした電力消費低減法では、ディジタル回路の回路構造が考慮されていない。
【０００４】
すなわち、従来の方法は、ディジタル回路に適用されると、ディジタル回路のアイドル状態時における電力消費を低減させることになる入力状態ベクトルを得るため、回路にランダムに生成される入力状態ベクトルを適用することを提案している。こうした方法の一例について、先行技術文献に記載がある（例えば、非特許文献１参照）。しかし、非特許文献１のアプローチでは、入力状態ベクトルの決定時に、回路構造が考慮されない。さらに、少なくともランダムに生成される入力状態ベクトルの一部には、実際には、アイドル状態にあるディジタル回路の電力消費が低減しないものもある。
【０００５】
他の方法には、遺伝的アルゴリズム及び線形正規化を用いて、入力状態ベクトルを決定することを提案しているものもある。こうした方法の一例について、先行技術文献に開示がある（例えば、非特許文献２参照）。しかし、遺伝的アルゴリズムによって得られる最終入力状態ベクトルは、主として、選択された初期ベクトル集合によって決まる。初期ベクトル集合が最適でなければ、結果生じる入力状態ベクトルが、実際には、アイドル状態にあるディジタル回路の電力消費を最も有効に低減する入力状態ベクトルではない可能性がある。
【０００６】
さらに他の方法としては、マルチプレクサを用いて、入力状態ベクトルをディジタル回路の入力に適用することによって、アイドル状態にあるディジタル回路の電力消費を低減するものもある。この一例について、先行技術文献に開示がある（例えば、特許文献１参照）。しかし、マルチプレクサを追加して、入力状態ベクトルを適用すると、活動状態時におけるディジタル回路の電力消費が増大することになる。マルチプレクサの追加によって、アイドル状態にあるディジタル回路の電力消費も増大することになる。
【非特許文献１】Ｈａｌｔｅｒ他による、「Ａ  Ｇａｔｅ−Ｌｅｖｅｌ  Ｌｅａｋａｇｅ  Ｐｏｗｅｒ  Ｒｅｄｕｃｔｉｏｎ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｕｌｔｒａ−Ｌｏｗ−Ｐｏｗｅｒ  ＣＭＯＳ  Ｃｉｒｃｕｉｔｓ」、ＰＲＯＣ．ＩＥＥＥ  ＣＵＳＴＯＭ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ  ＣＯＮＦＥＲＥＮＣＥ、１９９７年、ｐ．４７５−４７８
【非特許文献２】Ｃｈｅｎ他による、「Ｅｓｔｉｍａｔｉｏｎ  ｏｆ  Ｓｔａｎｄｂｙ  Ｌｅａｋａｇｅ  Ｐｏｗｅｒ  ｉｎ  ＣＭＯＳ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｓｉｄｅｒｎｉｇ  Ａｃｃｕｒａｔｅ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ｔｒａｎｓｉｓｔｏｒ  Ｓｔａｃｋｓ」、ＰＲＯＣ．ＩＥＥＥ  ＆  ＡＣＭ  ＩＮＴ．ＳＹＭＰＯＳＩＵＭ  ＯＮ  ＬＯＷ  ＰＯＷＥＲ  ＥＬＥＣＴＲＯＮＩＣＳ  ＆  ＤＥＳＩＧＮ、１９９８年８月、ｐ．２３９−２４４
【特許文献１】米国特許第６，０８１，１３５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法及び装置を提供することにある。本発明のもう１つの目的は、ディジタル回路の設計に利用される、設計技法及び標準設計セル・ライブラリの変更を必要としない、こうした入力状態ベクトルを決めるための方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法及び装置が得られる。とりわけ、実施態様の１つでは、本発明によって、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決める装置が得られる。このディジタル回路には、それぞれの回路素子タイプを有する１つ以上の回路素子が含まれている。この装置には、それぞれの回路タイプに関するアイドル電力値を含む、アイドル電力値が記憶されたアイドル電力値情報源が含まれている。各回路素子タイプに関するアイドル電力値は、各回路素子タイプの回路素子の異なる入力状態に対応する。この装置には、アイドル電力値を用いて、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる、各回路素子の入力状態を判定するアイドル電力値評定装置も含まれている。アイドル電力評定装置は、各回路素子の最低許容アイドル電力状態を判定する際に、ディジタル回路の論理的制約条件を考慮する。入力のうち回路入力を構成するものについて判定される状態によって、入力状態ベクトルが決まる。
【０００９】
もう１つの実施態様では、本発明によって、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法が得られる。ディジタル回路には、それぞれの回路素子タイプの１つ以上の回路素子が含まれている。この方法では、各回路素子タイプに関するアイドル電力値を含む、記憶されているアイドル電力値にアクセスする。各回路素子タイプのアイドル電力値は、各回路素子タイプの回路素子の異なる入力状態に対応する。さらに、ディジタル回路を構成する各回路素子毎に、記憶されているアイドル電力値状態から、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる、回路素子の入力状態が判定される。この判定では、ディジタル回路の論理的制約条件が考慮される。入力のうち回路入力を構成するものについて判定される状態によって、入力状態ベクトルが決まる。
【００１０】
本発明のもう１つの実施態様によれば、コンピュータによって、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための方法が実施されるようにする、コンピュータ可読命令が記憶されているコンピュータ可読媒体が得られる。ディジタル回路には、それぞれの回路素子タイプの１つ以上の回路素子が含まれている。この方法において、コンピュータは、各回路素子タイプのアイドル電力値を含む、記憶されているアイドル電力値にアクセスする。各回路素子タイプのアイドル電力値は、各回路素子タイプの回路素子の異なる入力状態に対応する。また、この方法において、コンピュータは、記憶されているアイドル電力値から、ディジタル回路を構成する各回路素子毎に、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる、回路素子の入力状態を判定する。コンピュータ可読命令に応答して、コンピュータによって実施される判定では、ディジタル回路の論理的制約条件が考慮される。入力のうち回路入力を構成するものについて判定される状態によって、入力状態ベクトルが決まる。
【００１１】
従って、本発明による実施態様は、ディジタル回路の回路入力に適用されると、ディジタル回路のアイドル状態時に、低電力消費を実現する入力状態ベクトルを決定する必要に応える。本発明による実施態様では、さらに、ディジタル回路において用いられる設計技法又は標準設計セル・ライブラリの変更を必要とすることなく、こうした入力状態ベクトルが決定される。本発明による実施態様では、こうした入力状態ベクトルは、ディジタル回路の構成及び理論的制約条件を考慮して判定される。本発明による実施態様では、実際の動的動作条件下におけるディジタル回路の回路素子の特性解明を利用して、こうした入力状態ベクトルが決定される。
【発明を実施するための最良の形態】
【００１２】
本発明の実施態様によれば、アイドル状態にあるディジタル回路の回路入力に適用される入力状態ベクトルが決まる。本発明によって決定される入力状態ベクトルを回路入力に適用すると、ディジタル回路のアイドル状態時における低電力消費が実現する。入力状態ベクトルは、ディジタル回路の入力のそれぞれに関する入力状態、すなわち、０状態又は１状態から構成されている。
【００１３】
入力状態ベクトルが決められるディジタル回路は、１つ以上の回路素子から構成されている。回路素子は、例えば、ＡＮＤゲート，ＯＲゲート，ＮＡＮＤゲート等のような、それぞれの回路素子タイプを有している。ディジタル回路は、例えば、全てＡＮＤゲートから構成するといったように、単一回路素子タイプの回路素子から構成することが可能であるが、典型的なディジタル回路は、異なる数のＡＮＤゲート，ＯＲゲート，ＮＡＮＤゲート等から構成するといったように、いくつかの異なる回路素子タイプの回路素子から構成されている。
【００１４】
本開示で用いられる限りにおいて、ディジタル回路という用語には、その複雑性の範囲が、１つの回路素子タイプの単一回路素子から構成されるディジタル回路から多くの回路素子タイプの多くの回路素子から構成されるディジタル回路にわたる、ディジタル回路が含まれる。ディジタル回路は、電源の入った状態にあるが、別に動作しているわけでもない場合、アイドル状態にあるとみなされる。回路入力という用語は、ディジタル回路の入力を表すために用いられる。単独で用いられる入力という用語は、回路素子の入力を表すために用いられる。
【００１５】
アイドル状態時に、その物理的入力に様々な入力状態が適用された場合に、例えば、ＡＮＤゲート，ＯＲゲート，ＮＡＮＤゲート等の特定の回路素子タイプの回路素子が消費する電力量を示す、記憶されているアイドル電力値にアクセスする。この方法では、記憶されているアイドル電力値を用いて、ディジタル回路の各回路素子毎に、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる入力状態を判定する。後述するように、回路素子の入力状態の判定では、ディジタル回路の論理的制約条件も考慮される。結果として、回路素子を最低許容アイドル電力状態に設定するのが、論理的制約条件によって許されない可能性があるので、最低許容アイドル電力状態が、最低可能アイドル電力状態ではない場合もあり得る。その入力が回路入力である回路素子について判定された入力状態が、全体として、入力状態ベクトルを構成する。入力状態ベクトルがアイドル状態にあるディジタル回路の回路入力に適用されると、回路素子はそれぞれの最低許容アイドル電力状態に設定される。従って、ディジタル回路のアイドル状態時に、回路入力に入力状態ベクトルを適用すると、ディジタル回路における低電力消費が実現する。
【００１６】
「低電力消費」という用語は、アイドル状態にあるディジタル回路によって消費される電力が、入力状態ベクトルが適用されない場合に、アイドル状態にあるディジタル回路によって消費されることになる電力よりも少ないことを表わそうとするものである。ただし、留意すべきは、「低電力消費」という用語は、必ずしも、アイドル状態にあるディジタル回路によって最低可能電力消費が実現することを表わすものではない。
【００１７】
図１は、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決定するための、本発明の実施態様の１つによる方法１００を例示したフローチャートである。ブロック（ステップ）１１０において、記憶されているアイドル電力値にアクセスする。記憶されているアイドル電力値には、ディジタル回路を構成する１つ以上の回路素子の回路素子タイプのそれぞれに関するアイドル電力値が含まれている。各回路素子タイプに関するアイドル電力値は、各回路素子タイプの回路素子の異なる入力状態に対応する。すなわち、アイドル電力値には、その回路素子タイプの回路素子の入力に適用することができる、可能性のある状態の組み合わせのそれぞれに関するアイドル電力値が含まれている。例えば、２つの入力を備える回路素子タイプの場合には、その回路素子タイプの回路素子の入力に対して、可能性のある４つの組み合わせの状態を適用することが可能である。すなわち、２つの入力を備える回路素子の場合には、入力に適用できる可能性のある状態Ａ及びＢの組み合わせは、（Ａ＝０，Ｂ＝０）；（Ａ＝０，Ｂ＝１）；（Ａ＝１，Ｂ＝０）；（Ａ＝１，Ｂ＝１）である。結果として、各２入力回路素子タイプについて、４つのアイドル電力値が記憶されることになる。
【００１８】
下記の表１には、静的シミュレーション及び動的シミュレーションを用いて計算される、典型的な２入力ＮＡＮＤゲートに関するアイドル電力値が示されている。典型的な２入力ＮＡＮＤゲートは、０．２５μｍ ＣＭＯＳプロセス及び１．８Ｖでの動作に合わせて設計されている。動的シミュレーションの場合、典型的な２入力ＮＡＮＤゲートは、５０ＭＨｚで動作する。静的シミュレーションの場合、アイドル電力値を求める際に、回路素子の事前の活動は考慮されない。２入力ＮＡＮＤゲートの入力の状態（すなわち、入力状態）は、シミュレーション全般にわたって、一定に保たれ、アイドル電力値は、スパイス・シミュレーションを用いて計算される。或いは、アイドル電力値は、回路素子サンプルの入力に異なる組み合わせの入力状態を適用して、サンプルを測定することによって、求めることも可能である。静的シミュレーション又は静的測定によって求められるアイドル電力値は、静的アイドル電力値と呼ばれる。
【００１９】
動的シミュレーションの場合、電力値は、回路素子の前回の活動によって決まる。従って、動的シミュレーションによれば、実際の動作条件に一層よく似た条件下における回路素子の特性解明が行われる。動的シミュレーションの場合、異なる組み合わせの入力状態が、５０ＭＨｚの速度で、回路素子の入力に逐次適用される。さらに、表に示された入力の組合せが、回路素子の入力に静的に適用され、それぞれのアイドル電力値が求められる。或るシミュレーションでは、アイドル電力値が計算によって求められる。或いは、回路素子のサンプルを測定することによって、アイドル電力値を求めることも可能である。動的シミュレーション又は動的測定によって求められたアイドル電力値は、動的アイドル電力値と呼ばれる。
【００２０】
表１に示すように、動的アイドル電力値は、静的アイドル電力値と全く異なる可能性がある。これは、回路素子の活動状態時に、回路素子の中間ノードが中間電圧に設定されているためである。回路素子をアイドル状態にすると、これらの中間電圧によって、アイドル状態において最初に流入する電流が決まる。実際の動作条件下では、動的アイドル電力値を用いて入力状態ベクトルを決めると、一般に、静的アイドル電力値を用いて決められた場合とは、アイドル状態における電力消費が異なることになる。動的アイドル電力値は、比較的短い時間期間にわたってアイドル状態にされる回路に関する、入力状態ベクトルの決定に利用するのが望ましい。
【００２１】
表１（下記）に示すように、（Ａ＝０，Ｂ＝０）の入力状態によって、２入力ＮＡＮＤゲートに関する最低の静的又は動的シミュレーション・アイドル電力値が得られる。
【００２２】
【表１】
2005006297.tif 000003
【００２３】
図１に戻ると、ブロック（ステップ）１２０において、各回路素子の回路素子タイプに関して記憶されているアイドル電力値を利用して、各回路素子の入力状態が判定される。判定される入力状態は、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる入力状態である。しかし、各回路素子の入力状態について利用可能な選択は、ディジタル回路の論理的制約条件による制約を受ける。利用可能な選択のうちから、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる入力状態が選択される。例えば、（Ａ＝０，Ｂ＝０）の入力状態が、ディジタル回路の論理的制約条件に適合しなければ、その論理的制約条件が満たされるまで、その次に低いアイドル電力状態をもたらす入力状態が選択されることになる。入力のうち回路入力を構成するものについて判定された入力状態によって、入力状態ベクトルが決まる。
【００２４】
本発明による方法の実施態様の１つにおいて、入力状態ベクトルは、順方向判定（順方向分析若しくは前進解析）を実施することによって決定される。順方向判定は、回路入力に最も近い回路素子の入力状態を判定することから開始され、次に、回路入力Ｘ，Ｙ，Ｃinから延びる経路に沿って順方向に回路全体にわたって進められる。順方向判定は、ディジタル回路全体、又は、より大規模なディジタル回路の部分集合について実施することが可能である。こうしたアプローチの１つでは、順方向判定は、その入力がより大規模なディジタル回路の回路入力の部分集合を構成する回路素子の入力状態を判定することから開始される。
【００２５】
図２は、上述の順方向判定を実施することによって、入力状態ベクトルを決定する、図１に関連して上述の方法１００に関する実施態様の利用を例証するために用いられる、典型的なディジタル回路２００の概略図である。典型的なディジタル回路２００は、図示のように、電気的に相互接続された回路素子２１０，２２０，２３０，２４０，２６０から構成される加算回路である。ディジタル回路２００には、回路入力Ｘ，Ｙ，Ｃin、及び、回路出力２７０及び２８０が含まれている。ディジタル回路２００は、３つの回路素子タイプの５つの回路素子、すなわち、２つの２入力ＸＯＲゲート２１０及び２２０、２つの２入力ＡＮＤゲート２３０，２４０、及び、１つの２入力ＯＲゲート２６０から構成されている。ディジタル回路２００は、方法１００の後述の実施態様を用いて、その入力状態ベクトルを決定することが可能なディジタル回路の一例にすぎない。方法１００を利用することによって、例えば、１つ，２つ，又は、それを超える、任意の数の入力を備え、任意の製作プロセスによって製作された、任意の数の回路素子タイプの任意の数の回路素子から構成される任意のディジタル回路に関して、入力状態ベクトルを決定することが可能である。
【００２６】
加算回路２００の回路素子は、３つの回路素子タイプ、すなわち、ＸＯＲゲート（ＸＯＲゲート２１０，２２０）、ＡＮＤゲート（ＡＮＤゲート２３０，２４０）、及び、ＯＲゲート（ＯＲゲート２６０）から成る。３つの回路素子タイプの回路素子にシミュレーションを施して、回路素子の可能性のある入力状態の各組み合わせに関するアイドル電力値が求められる。表２に示すディジタル回路２００の回路素子タイプのそれぞれに関するアイドル電力値は、それぞれの回路素子の動的シミュレーションによって得られた動的アイドル電力値である。留意すべきは、動的アイドル電力値は、部分的に、アイドル電力値の計算又は測定前に、回路素子の入力に施される調整によって決まるので、表１及び表２に示す動的アイドル電力値は、一般的な値であるという点である。
【００２７】
【表２】
2005006297.tif 000004
【００２８】
順方向判定を開始するために、回路素子２１０又は２４０の一方が選択される。回路素子２１０，２４０は、ディジタル回路の回路入力Ｘ，Ｙ，Ｃinに最も近い回路素子である。この例の場合には、回路素子２１０の入力２１４及び２１６と、回路素子２４０の入力２２６は、それぞれ、ディジタル回路２００の回路入力Ｘ，Ｙ，Ｃinを構成している。記憶されているアイドル電力値を利用して、選択された回路素子の最低許容アイドル電力値をもたらす入力状態が判定される。例えば、ＸＯＲゲート２１０が選択され、ＸＯＲゲート２１０の入力２１４及び２１６に適用されると、回路素子２１０の最低許容アイドル電力値をもたらす入力状態が、回路素子２１０に関する入力状態として選択される。或いは、その入力状態が判定される第１の回路素子として、ＡＮＤゲート２４０を選択することが可能である。
【００２９】
ＸＯＲゲート２１０の場合には、入力２１４，２１６に対して、可能性のある入力状態の４つの組み合わせを適用することが可能である。すなわち、入力状態の組合せ（Ａ＝０，Ｂ＝０）；（Ａ＝１，Ｂ＝０）；（Ａ＝０，Ｂ＝１）；及び（Ａ＝１，Ｂ＝１）を適用することが可能である。ＸＯＲゲート２１０は、その入力状態が順方向において判定される最初の回路素子であるので、ＸＯＲゲート２１０に適用することが可能な入力状態には、論理的制約条件が存在しない。従って、最低許容アイドル電力値は、最低可能アイドル電力値である。表２に示すように、利用可能な４つの入力状態の組み合わせのうち、最低可能アイドル電力値をもたらす入力状態の組み合わせは、（Ａ＝０，Ｂ＝０）である。従って、この方法では、ＸＯＲゲート２１０の入力状態として（Ａ＝０，Ｂ＝０）を選択する。ＸＯＲゲート２１０の入力２１４及び２１６にこうした入力状態が適用されると、ＸＯＲゲート２１０の出力２１２が０の状態に設定される。
【００３０】
引き続き順方向判定を行い、ＡＮＤゲート２３０に関する入力状態が判定される。表２に示すように、利用可能な４つの入力状態の組合せ（Ａ＝０，Ｂ＝０）；（Ａ＝１，Ｂ＝０）；（Ａ＝０，Ｂ＝１）；及び、（Ａ＝１，Ｂ＝１）のうち、入力状態の組み合わせ（Ａ＝１，Ｂ＝１）によって、最低アイドル電力値が得られる。しかし、この方法では、ＸＯＲゲート２１０の論理関数を考慮して、ＡＮＤゲート２３０の入力２３４に接続されたＸＯＲゲート２１０の出力２１２の状態が０であることを要求する。従って、ＡＮＤゲート２３０の許容入力状態の組み合わせの入力状態は（Ａ＝０）でなければならない。表２に示すように、最低アイドル電力値をもたらす入力状態の組み合わせは（Ａ＝１，Ｂ＝１）である。しかし、こうした入力状態の組み合わせは、ディジタル回路２００の論理的制約条件に適合しない。表２に示すように、ディジタル回路の論理的制約条件に適合する、２つの利用可能な入力状態の組み合わせ（Ａ＝０，Ｂ＝０）及び（Ａ＝０，Ｂ＝１）のうち、最低許容アイドル電力値が得られるのは、入力状態の組み合わせ（Ａ＝０，Ｂ＝１）である。従って、この方法では、入力状態１を選択して、ＡＮＤゲート２３０の入力２３６に適用する。こうして選択された入力状態をＡＮＤゲート２３０の入力２３４及び２３６に適用すると、ＡＮＤゲート２３０の出力２３２が状態０に設定される。
【００３１】
順方向判定では、次に、ＯＲゲート２６０の入力状態を判定する。上述のように、ディジタル回路２００の論理的制約条件によって、ＡＮＤゲート２３０の出力２３２の状態は０でなければならない。ＡＮＤゲート２４０の入力２４４，２４６は、ＸＯＲゲート２１０の入力２１４，２１６にも接続されているので、この方法では、次に、ＡＮＤゲート２４０の入力２４４，２４６に関する入力状態が（Ａ＝０，Ｂ＝０）であると判定する。こうした入力状態がＡＮＤゲート２４０の入力に適用されると、ＡＮＤゲート２４０の出力２４２が状態０に設定される。ＡＮＤゲート２４０の出力２４２は、ＯＲゲート２６０の入力２６６に接続されており、ＡＮＤゲート２３０の出力２３２は、ＯＲゲート２６０の入力２６４に接続されている。入力状態（Ａ＝０，Ｂ＝０）がＯＲゲート２６０の入力２６４及び２６６に適用されると、ＯＲゲート２６０の出力２６２が状態０に設定される。
【００３２】
順方向判定では、次に、ＸＯＲゲート２２０の入力状態を判定する。ＸＯＲゲート２１０の入力２１４，２１６について既に判定済みの入力状態によって、ＸＯＲゲート２１０の出力２１２は状態０に設定される。ＸＯＲゲート２２０の入力２２６は、やはり、既に状態が１であると判定済みのＡＮＤゲート２３０の入力２３４に接続されている。従って、ＸＯＲゲート２２０の入力２２４，２２６の入力状態は、それぞれ、既に０及び１と決まっている。入力状態０及び１がＸＯＲゲート２２０の入力２２４，２２６に適用されると、ＸＯＲゲート２２０の出力２２２の状態は１になる。
【００３３】
ＸＯＲゲート２１０の入力２１４，２１６は、それぞれ、回路入力Ｘ及びＹに接続されている。ＸＯＲゲート２２０の入力２２６は、回路入力Ｃinに接続されている。入力２１４，２１６，２２６の入力状態は、それぞれ、上述の順方向判定によって０，０，１であると判定されている。従って、説明したばかりの順方向判定によって決定された順方向判定による入力状態ベクトルの状態は、（Ｘ＝０，Ｙ＝０，Ｃin＝１）になる。ディジタル回路２００の回路入力に順方向判定入力状態ベクトルを適用すると、ディジタル回路２００のアイドル状態時に、低電力消費が実現する。さらに、この方法では、入力状態ベクトルを決定する際に、ディジタル回路２００の論理的制約条件が考慮される。さらに、特定の回路素子に論理的矛盾が生じると、次に低いアイドル電力値をもたらし、論理的矛盾を回避する入力状態が回路素子に割当てられる。
【００３４】
説明したばかりの順方向判定を実施する場合、順方向判定を開始する回路素子を選択するので、ディジタル回路２００をセグメントに分割して、順番に、それらのセグメントに順方向判定を実施することが可能である。例えば、ＸＯＲゲート２１０が順方向判定を開始する回路素子として選択されると、ディジタル回路２００の残りの回路素子の入力状態を判定する前に、１つのセグメント、すなわち、セグメント２９０内に位置する全ての回路素子に関する入力状態を判定することが可能である。或る特定のセグメントに属する回路素子は、回路素子の論理的結合によって決まる。たとえば、ＸＯＲゲート２１０の出力２１２は、ＡＮＤゲート２３０の入力２３４に接続されているので、まず、ＸＯＲゲート２１０の入力状態を判定してから、ＡＮＤゲート２３０に適した入力状態を判定するのが望ましいか、又は、効率的である可能性がある。同様に、ＡＮＤゲート２３０の出力２３２は、ＯＲゲート２６０の入力２６４に接続されているので、次に、ＯＲゲート２６０の入力状態を判定するのが望ましい可能性がある。ディジタル回路２００を構成する回路素子のこうした電気的相互接続のため、説明したばかりのセグメント化は、ディジタル回路２００の入力状態ベクトルを決定する上での当然の結果、又は、望ましいアプローチと言える。
【００３５】
実施態様の１つでは、入力状態ベクトルの順方向判定中に、２つのセグメント、すなわち、セグメント２９０及びセグメント２９５が生じる。セグメント２９０及びセグメント２９５は、ファン・イン・コーンと呼ばれる。本実施態様では、こうしたセグメント化を行うことが可能であるが、本発明の他の実施態様では、他の様々なタイプのセグメント化を利用して、ディジタル回路の回路素子に関する入力状態を判定することが可能である。例えば、出力の部分集合を制御する入力の任意の部分集合をセグメントとみなすことが可能である。もう１つの例では、ファン・イン・コーンをサブ・ファン・イン・コーンに分割することが可能である。従って、本発明が、任意の特定のアプローチに従ってセグメント化されたディジタル回路の回路素子の入力状態を判定するとか、或いは、セグメント化を行わなければならないといった制限を受けることは全くない。
【００３６】
方法１００のもう１つの実施態様によれば、回路入力Ｘ，Ｙ，Ｃinに向かって延びる経路に沿って、回路素子の入力状態の判定を実施し、ディジタル回路２００全体にわたって逆方向に進める逆方向判定を実施することによって、入力状態ベクトルが決定される。逆方向判定は、回路出力２７０及び２８０に最も近い回路素子の入力状態を判定することから開始され、さらに、回路入力に向かって延びる経路に沿って、ディジタル回路全域にわたって逆方向に進められる。逆方向判定によって、ディジタル回路のアイドル状態時の、低電力消費を実現する入力状態ベクトルが決定される。
【００３７】
図３は、図１に関連して上述の方法１００のもう１つの実施態様によって実施される逆方向判定を例証するために用いられる、上述の典型的なディジタル回路２００の概略図である。図３には、全てが２入力回路素子タイプである、３つの回路素子タイプの５つの回路素子から構成される回路が示されているが、本発明による方法の他の実施態様では、任意の製作プロセスを利用して製作された、例えば、１つ，２つ，又はそれを超える数の入力といった、任意の数の入力を備える、任意の数の回路素子タイプの任意の数の回路素子から構成されるディジタル回路に関する入力状態ベクトルを決めることが可能である。
【００３８】
逆方向判定では、まず、ＯＲゲート２６０の入力状態が判定される。ＯＲゲート２６０及びＸＯＲゲート２２０は、出力２７０，２８０に最も近いディジタル回路２００の回路素子である。代わりに、ＸＯＲゲート２２０から逆方向判定を開始することも可能であった。ＯＲゲート２６０は、その入力状態が判定される最初の回路素子であるため、適正な入力状態を判定する際に、論理的制約条件を考慮する必要がない。従って、ＯＲゲート２６０には、４つの入力状態の組み合わせが利用可能である。４つの入力状態の組み合わせは、（Ａ＝０，Ｂ＝０）；（Ａ＝１，Ｂ＝０）；（Ａ＝０，Ｂ＝１）；（Ａ＝１，Ｂ＝１）である。表２に示すように、利用可能な４つの入力状態の組み合わせのうち、最低アイドル電力値をもたらす入力状態の組み合わせは（Ａ＝１，Ｂ＝０）である。こうした入力状態をＯＲゲート２６０の入力２６４及び２６６に適用すると、ＯＲゲート２６０の出力２６２の状態が１になる。
【００３９】
逆方向判定では、次に、ＡＮＤゲート２３０に関する入力状態が判定される。表２に示すように、利用可能な４つの入力状態の組み合わせのうち、入力状態の組み合わせ（Ａ＝１，Ｂ＝１）によって、最低アイドル電力値が得られることになる。しかし、逆方向判定では、ＯＲゲート２６０の論理関数を考慮し、ＯＲゲート２６０の入力２６４に接続されたＡＮＤゲート２３０の出力２３２について、出力状態が１になると既に判定済みであることを認識する。従って、ＡＮＤゲート２３０の入力状態は、出力２３２を状態１に設定するものでなければならない。出力２３２の状態が１になるのは、ＡＮＤゲート２３０の入力２３４，２３６に入力状態（Ａ＝１，Ｂ＝１）を適用した場合に限られる。従って、逆方向判定では、ＡＮＤゲート２３０の入力２３４，２３６に関する入力状態が（Ａ＝１，Ｂ＝１）であると判定される。
【００４０】
逆方向判定では、次に、ＸＯＲゲート２１０及びＡＮＤゲート２４０の入力状態が判定される。ＸＯＲゲート２１０の出力２１２は、ＡＮＤゲート２３０の入力２３４に接続されているので、状態が１でなければならない。ＸＯＲゲート２１０の論理関数を考慮すると、逆方向判定において、ＸＯＲゲート２１０の許容入力状態は（Ａ＝０，Ｂ＝１）又は（Ａ＝１，Ｂ＝０）であると判定される。表２に示すように、（Ａ＝１，Ｂ＝０）の入力状態によって、より低いアイドル電力値が生じることになる。従って、逆方向判定において、ＸＯＲゲート２１０の入力２１４及び２１６の入力状態は（Ａ＝１，Ｂ＝０）であると判定される。
【００４１】
ＸＯＲゲート２１０の入力２１４及び２１６は、それぞれ、ＡＮＤゲート２４０の入力２４４，２４６に接続されているので、逆方向判定において、ＡＮＤゲート２４０の入力２４４，２４６に関する入力状態は（Ａ＝１，Ｂ＝０）であると判定される。さらに、逆方向判定では、ＸＯＲゲート２２０の入力２４４，２４６に関する入力状態を既に（Ａ＝１，Ｂ＝１）であると判定済みである。ＸＯＲゲート２２０の入力に入力状態（Ａ＝１，Ｂ＝１）を適用すると、ＸＯＲゲート２２０の出力２２２は状態０に設定される。
【００４２】
ＸＯＲゲート２１０の入力２１４，２１６は、それぞれ、回路入力Ｘ，Ｙに接続されている。ＸＯＲゲート２２０の入力２２６は、回路入力Ｃinに接続されている。入力２１４，２１６，２２６の入力状態は、それぞれ、上述の逆方向判定によって、１，０，１と判定される。従って、上述の逆方向判定によって決定される逆方向判定による入力状態ベクトルは、（Ｘ＝１，Ｙ＝０，Ｃin＝１）の状態になる。ディジタル回路２００の回路入力に逆方向判定による入力状態ベクトルを適用すると、ディジタル回路２００のアイドル状態時に、低電力消費が実現される。さらに、逆方向判定では、入力状態ベクトルの決定中に、ディジタル回路２００の論理的制約条件が考慮される。さらに、特定の回路素子に論理的矛盾が生じると、次に低いアイドル電力値をもたらし、論理的矛盾を回避する入力状態の組み合わせが、その回路素子に割当てられる。
【００４３】
図４は、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現するディジタル回路の入力状態ベクトルを決定するための、本発明による方法の第２の実施態様４００を例示したフローチャートである。方法４００では、ディジタル回路の可能性のある入力状態ベクトルが求められ、可能性のある入力状態ベクトルのうちから、アイドル状態にあるディジタル回路の回路入力に適用されると、最低電力消費を実現する入力状態ベクトルが、ディジタル回路の入力状態ベクトルとして採択される。図１に関連して上述の方法１００の要素に対応する方法４００の要素は、同じ参照番号を用いて表示されており、ここでの再度の説明は控えることにする。
【００４４】
ブロック４１０では、ディジタル回路素子の入力状態を判定して、それぞれの可能性のある入力状態ベクトルが決められる。
【００４５】
ブロック４２０では、ディジタル回路の回路入力に可能性のある入力状態ベクトルのそれぞれを適用することによって実現されるそれぞれのアイドル電力消費量が表示される。各アイドル電力消費量は、回路入力に適用されるそれぞれの可能性のある入力状態ベクトルに応答した、ディジタル回路を構成する回路素子のアイドル電力値の和を求めることによって表示可能になる。代わりに、アイドル電力消費量を表示するための他の様々な方法を実施することも可能である。こうした様々な方法には、制限するわけではないが、直接測定、及び、スパイス・シミュレーションのような回路シミュレーションの適用が含まれる。
【００４６】
ブロック４３０では、アイドル電力消費量の最低量が識別される。
【００４７】
ブロック４４０では、可能性のある入力状態ベクトルのうち、最低アイドル電力消費量に対応するものが、アイドル状態にあるディジタル回路の回路入力に引き続き適用するための入力状態ベクトルとして採択される。入力状態ベクトルとして採択される、可能性のある入力状態ベクトルは、ブロック４３０において、アイドル電力消費量のうちのどれが、最低アイドル電力消費として識別されたかによって決まる。
【００４８】
回路素子の入力状態について２つの判定が実施される方法４００の例では、ブロック４１０において、図２に関連して上述の順方向判定が、判定の１つとして実施される。順方向判定によって、第１の可能性のある入力状態ベクトルが決まる。順方向判定では、回路素子の入力状態が、回路入力から延びる経路に沿って実施され、ディジタル回路全域にわたって順方向に進められる。図２に示す加算回路２００の例を利用すると、こうした順方向判定によって決定される第１の可能性のある入力状態ベクトルは、（Ｘ＝０，Ｙ＝０，Ｃin＝１）である。
【００４９】
さらに、ブロック４１０では、図３に関連して上述の逆方向判定が、回路素子の入力状態の判定のもう１つとして実施される。逆方向判定によって、第２の可能性のある入力状態ベクトルが決まる。逆方向判定では、回路素子の入力状態が、回路入力に向かって延びる経路に沿って実施され、ディジタル回路全域にわたって逆方向に進められる。図３に示す加算回路２００の例を利用すると、こうした逆方向判定によって決定される第２の可能性のある入力状態ベクトルは、（Ｘ＝１，Ｙ＝０，Ｃin＝１）になる。
【００５０】
図２及び３に示すディジタル加算回路２００にこの方法４００を適用すると、ブロック４２０で実施されるアイドル電力消費量表示の量的な例において、順方向判定によって決定される第１の可能性のある入力状態ベクトルがディジタル回路２００の回路入力に適用された場合に得られる第１のアイドル電力消費量は、下記のように計算される。
Ｐ（First_IPC）
＝７０４＋２８，９１０＋２８，８７０＋３４，８１０＋１６，６８０ｐＷ
＝１０９，９７０ｐＷ
【００５１】
逆方向判定によって決定される第２の可能性のある入力状態ベクトルがディジタル回路２００の回路入力に適用された場合に得られる第２のアイドル電力消費量は、下記のように計算される。
Ｐ（Second_IPC）
＝７２４＋１１，６２０＋７，２５０＋２８，８７０＋５５０ｐＷ
＝４９，０００ｐＷ
【００５２】
上記の量的な例において、逆方向判定によって決定される第２の可能性のある入力状態ベクトルに対応する第２のアイドル電力消費量は、ブロック４３０において、アイドル電力消費量の最低量と識別される。
【００５３】
逆方向判定によって決定される第２の可能性のある入力状態ベクトルに対応する第２のアイドル電力消費量は、順方向判定によって決定される第１の可能性のある入力状態ベクトルに対応する第１のアイドル電力消費量より少ないので、ブロック４４０では、第２の可能性のある入力状態ベクトルが、アイドル状態にあるディジタル回路２００の回路入力に引き続き適用するための入力状態ベクトルとして採択される。結果として、可能性のある入力状態ベクトルの逆方向判定によって決定される入力状態ベクトルは、（Ｘ＝１，Ｙ＝０，Ｃin＝１）になる。
【００５４】
先行例において言及された順方向判定及び逆方向判定は、実施可能な回路素子の入力状態の２つの判定に関する単なる例でしかない。本発明による他の実施態様には、他の様々なタイプの判定を用いて、回路素子の入力状態を判定することが可能なものもある。実施態様の１つでは、判定の１つは、ディジタル回路の第１の位置から開始され、結果として、回路入力から延びる第１の経路に沿ってディジタル回路全体にわたって進められる順方向判定から構成され、判定のもう１つは、第１の位置とは異なる第２の位置から開始され、結果として、第１の経路とは異なる経路に沿ってディジタル回路全体にわたって進められる順方向判定から構成される。もう１つの実施態様では、判定の１つは、ディジタル回路の第１の位置から開始され、回路入力に向かって延びる第１の経路に沿ってディジタル回路全体にわたって進められる逆方向判定から構成され、判定のもう１つは、第１の位置とは異なる第２の位置から開始され、結果として、第１の経路とは異なる経路に沿ってディジタル回路全体にわたって進められる逆方向判定から構成される。さらに、ブロック４１０において、順方向又は逆方向判定以外の判定タイプを用いることも可能である。さらに、それぞれが、それぞれの可能性のある入力状態ベクトルを決める、３つ以上の判定を実施することも可能である。従って、云うまでもなく、本発明による方法の実施態様は、ブロック４１０において、様々なタイプの判定を実施することが可能である。
【００５５】
これまで、ディジタル回路を構成する回路素子に関する動的アイドル電力値を利用して、本発明による方法の実施態様について解説してきたが、本発明による方法の他の実施態様では、静的アイドル電力値を利用することも可能である。表１には、典型的な２入力ＮＡＮＤゲートに関する静的アイドル電力値と動的アイドル電力値の両方がリスト・アップされている。表１に示すように、動的アイドル電力値と静的アイドル電力値とは、上述の理由によって、全く異なる可能性がある。従って、実際の動作条件下において、動的アイドル電力値を用いて決められた入力状態ベクトルの場合、一般に、アイドル状態における電力消費量が、静的アイドル電力値を用いて決められた入力状態ベクトルとは異なる結果になる。
【００５６】
表１に示す動的アイドル電力値は、実際の２入力ＮＡＮＤゲートを完全に表すものではないかもしれないが、静的アイドル電力値と動的アイドル電力値が異なる可能性があることを示すのには十分に正確である。本発明による他の実施態様では、ディジタル回路を構成する回路素子に関する動的アイドル電力値と静的アイドル電力値の組合せを利用して、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決定することが可能なものもある。こうした動的アイドル電力値と静的アイドル電力値の組合せは、ディジタル回路の設計対象となる、ディジタル回路がさらされる特定の動作環境によって決まる可能性がある。図１及び図４に関連して上述の方法の実施態様では、静的アイドル電力値又は動的アイドル電力値、或いは、それらの組み合わせを利用して、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めることが可能である。
【００５７】
上述の実施態様では、ディジタル回路の回路入力に適用する入力状態ベクトルが決定される。すなわち、これらの実施態様では、例えば、ＶＥＲＩＬＯＧTM又はＶＨＤＬTMの商標で販売されているソフトウェアによって生成される、又は、ＳＰＩＣＥ（スパイス）として知られるソフトウェアによって生成されるディジタル回路のコンピュータ・コード表現といった、ディジタル回路の受信記述に基づいて、入力状態ベクトルを決定する。次に説明する方法の実施態様では、ディジタル回路の回路素子に施すことが可能な、論理的に許容される入力接続変更を識別する。入力接続を変更すると、アイドル状態にあるディジタル回路の回路入力に入力状態ベクトルを適用した場合の、電力消費が低減する。この方法では、ディジタル回路の物理的製作に先立って実施することが可能な、論理的に許容される入力接続の変更が求められる。こうした入力接続の変更を実施すると、変更実施前の回路に比べて、アイドル状態にあるディジタル回路の回路入力に入力状態ベクトルを適用した場合の電力消費が低減する。
【００５８】
図５は、ディジタル回路に適用されると、アイドル状態にあるディジタル回路の回路入力に入力状態ベクトルを適用した場合のアイドル電力消費を低減させる、１つ以上の論理的に許容される入力接続の変更を識別する、本発明による方法の実施態様５００を示すフローチャートである。図１に関連して上述の方法１００の要素に対応する方法５００の要素は、同じ参照番号を用いて表示されており、ここでの再度の説明は控えることにする。
【００５９】
ブロック５１０において、ディジタル回路を構成する回路素子について、１つ以上の論理的に許容される入力接続の変更が識別される。こうした論理的に許容される入力接続の変更は、それぞれの回路素子に施されると、アイドル状態にあるディジタル回路の回路入力に入力状態ベクトルを適用した場合の、回路素子のアイドル電力消費を低減させることになる。識別された入力接続の変更は、こうした入力接続の変更を実施した場合に、ディジタル回路の論理機能性が保たれるという意味において、論理的に許容される。
【００６０】
本開示の目的からして、「論理的に許容される入力接続の変更」という用語は、回路素子の物理的入力接続の構成に対する変更を表している。回路素子の物理的入力接続の置換が、論理的に同等である場合、回路素子の物理的入力接続の構成は、ディジタル回路の論理を変更せずに、変更することが可能であり、従って、論理的に許容される。
【００６１】
さらに、図５に示すブロック５１０を参照すると、ディジタル回路を構成する回路素子の物理的入力接続構成の論理的に許容される変更を検討して、ディジタル回路のアイドル状態時に、回路素子の最低許容アイドル電力値を実現するのが、物理的入力接続構成のうちどれであるかが判定される。回路素子の最低許容アイドル電力値をもたらす物理的入力接続構成が、最初の物理的入力接続構成でない場合、この方法では、回路素子の物理的入力接続構成の変更案を示唆する。こうした物理的に許容される入力接続の変更案を示唆することによって、方法５００では、もとの物理的入力接続構成よりもそれぞれの回路素子の最低許容アイドル電力値を低下させる、論理的に許容される物理的入力接続構成が実現するように、ディジタル回路の回路素子の物理的入力接続構成を変更できるようにする。
【００６２】
図６Ａには、図２及び図３に関連する上述の加算回路２００のＡＮＤゲート２４０が示されている。図３に関連する上述の逆方向判定によって、それぞれ、物理的入力２４４，２４６に適用される入力状態が（Ａ＝０，Ｂ＝１）であると判定される。表２に示すように、物理的入力２４４，２４６に、それぞれ、入力状態（Ａ＝０，Ｂ＝１）を適用すると、ＡＮＤゲート２４０に関して２８，８７０ｐＷのアイドル電力値が得られることになる。しかし、ＡＮＤゲート２４０は、論理的に同等な物理的入力を備える回路素子の一例である。すなわち、例えば、それぞれ、物理的入力２４４，２４６に、又は、それぞれ、物理的入力２４６，２４４に入力状態（Ａ＝０，Ｂ＝１）を適用すると、出力２４２の状態は同じになる。図６Ａには、物理的入力２４４に適用される入力状態Ａ及び物理的入力２４６に適用される入力状態Ｂが示されている。図６Ｂには、入力状態Ｂが物理的入力２４４に適用され、入力状態Ａが物理的入力２４６に適用される、ＡＮＤゲート２４０の物理的入力の論理的に許容される変更が示されている。表２に示すように、ＡＮＤゲート２４０の物理的入力２４６，２４４に、それぞれ、入力状態（Ａ＝０，Ｂ＝１）を適用すると、アイドル電力値は１５，５９０ｐＷになる。
【００６３】
この方法では、図６Ａに示す物理的入力接続構成と図６Ｂに示す物理的入力接続構成との間で、ＡＮＤゲート２４０に関するアイドル電力値を比較し、この例の場合のように、比較によって、図６Ｂに示す物理的入力接続構成のほうがより低いアイドル電力値をもたらすことが明らかになると、ＡＮＤゲート２４０の物理的入力接続構成を図６Ｂに示す構成に変更すると、ディジタル回路の論理を損なうことなく、ディジタル回路のアイドル状態時に、ＡＮＤゲート２４０のアイドル電力値が低減することを示唆している。
【００６４】
方法５００については、２入力回路素子に適用される例に関連して解説してきたが、この方法では、３つ以上の入力を備えた回路素子に関して、論理的に許容される入力接続変更を判定することが可能である。回路素子の論理的に同等の入力を適切に置き換えると、回路素子のアイドル電力値を低下させることが可能になる。ディジタル回路における回路素子の少なくとも１つについて物理的入力接続構成を変更すると、アイドル状態にあるディジタル回路の回路入力に適用される、或る特定の入力状態ベクトルに関するアイドル電力消費を低減させることが可能になる。従って、本発明によれば、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを判定するための方法が得られるだけではなく、さらに、ディジタル回路を構成する回路素子に施されると、アイドル状態にあるディジタル回路の回路入力に入力状態ベクトルを適用した場合の電力消費が低減する、論理的に許容される入力接続変更を判定するための方法も得られる。
【００６５】
図７は、アイドル状態にあるディジタル回路の回路入力に適用される入力状態ベクトルを決めるための、本発明の典型的な実施態様に係る装置７００のブロック図である。この装置７００によれば、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルが決まる。装置７００は、ディジタル回路を表したディジタル回路記述子７１０を受信する。こうしたディジタル回路記述子７１０は、例えば、ディジタル回路を表わすコンピュータ・コードとすることが可能である。この装置は、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決定する、入力状態ベクトル記述子７５０を生成する。
【００６６】
装置７００は、アイドル電力値情報源７３０に結合されたアイドル電力評定装置７２０を有している。アイドル電力値情報源７３０には、ディジタル回路を構成する回路素子の異なる回路素子タイプに関するアイドル電力値を記憶することが可能なメモリが含まれている。各回路素子タイプに関するアイドル電力値は、各回路素子タイプの回路の異なる入力状態に対応する。実施態様の１つでは、アイドル電力値情報源７３０は、ルックアップ・テーブルとして構成される。アイドル電力値情報源７３０は、装置７００と一体化することが可能である。或いは、アイドル電力値情報源７３０は、装置７００から遠く離して配置し、通信リンクによって装置７００に結合することも可能である。或る特定の回路素子タイプに関して、アイドル電力値情報源に記憶されているアイドル電力値は、或る特定の回路素子タイプの回路素子に関する、静的アイドル電力値又は動的アイドル電力値とすることもできるし、或いは、静的アイドル電力値及び動的アイドル電力値の組み合わせとすることも可能である。装置７００は、さらに、アイドル電力値情報源７３０に結合されたアイドル電力評定装置７２０も有している。
【００６７】
ディジタル回路記述子７１０に応答して、アイドル電力評定装置７２０は、アイドル電力値情報源７３０に記憶されているアイドル電力値にアクセスし、ディジタル回路を構成する各回路素子毎に、各回路素子の回路素子タイプに関して記憶されているアイドル電力値を用いて、ディジタル回路のアイドル状態時に、回路素子を最低許容アイドル電力状態に設定することになる回路素子の入力状態を判定する。さらに、アイドル電力評定装置７２０は、入力状態の判定時に、ディジタル回路の論理的制約条件を考慮する。入力のうち回路入力を構成するものについて判定された状態によって、入力状態ベクトルが決まる。アイドル電力評定装置７２０の実施態様によって実施される処理例については、図１のブロック１２０に関連して詳細に上述したところである。
【００６８】
図８は、装置７００のアイドル電力評定装置７２０の実施態様を示すブロック図である。アイドル電力評定装置７２０は、ディジタル回路記述子７１０及びアイドル電力値情報源７３０に記憶されているアイドル電力値に応答して、入力状態ベクトル記述子７５０を生成する。入力状態ベクトル記述子７５０は、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決める。アイドル電力評定装置７２０の実施態様によって実施される処理例については、図４に関連して詳細に上述のところである。
【００６９】
図８に示すアイドル電力評定装置７２０の実施態様は、判定モジュール８２０，アイドル電力消費量表示器８３０，最低アイドル電力消費量識別装置８４０，及び入力状態ベクトル・セレクタ８５０から構成されている。判定モジュール８２０は、アイドル電力値情報源７３０に結合されており、ディジタル回路記述子７１０を受信するように接続されている。アイドル電力消費量表示器８３０は、判定モジュール８２０に結合されている。最低アイドル電力消費量識別装置８４０は、アイドル電力消費量表示器８３０に結合されており、可能性のある入力状態ベクトル・セレクタ８５０は、判定モジュール８２０及び最低アイドル電力消費量識別装置８４０に結合されている。
【００７０】
判定モジュール８２０は、ディジタル回路の回路素子の入力状態を判定して、それぞれの可能性のある入力状態ベクトルを決めるように構成されている。ある実施態様では、判定モジュール８２０は、図４のブロック４１０に例示のプロセスを実施する。
【００７１】
アイドル電力消費量表示器８３０は、アイドル状態にあるディジタル回路の回路入力に、判定モジュール８２０によって判定された可能性のある入力状態ベクトルのそれぞれを適用することによって実現される、アイドル電力消費量を表示するように構成されている。実施態様の１つでは、アイドル電力消費量表示器８３０は、図４のブロック４２０に例示のプロセスを実施する。
【００７２】
最低アイドル電力消費量識別装置８４０は、アイドル電力消費量表示器８３０によって表示されるアイドル電力消費量のうち最低の値を識別するように構成されている。実施態様の１つでは、最低アイドル電力消費量識別装置８４０は、図４のブロック４３０に例示のプロセスを実施する。
【００７３】
入力状態ベクトル・セレクタ８５０は、判定モジュール８２０によって判定された可能性のある入力状態ベクトルの１つを入力状態ベクトルとして選択するように構成されている。
【００７４】
可能性のある入力状態ベクトルのうちで選択される１つは、アイドル電力消費量表示器８３０によって表示される最低アイドル電力消費量に対応するものである。実施態様の１つでは、可能性のある入力状態ベクトル・セレクタは、図４のブロック４４０に例示のプロセスを実施する。
【００７５】
アイドル電力量評定装置７２０の動作例において、判定モジュール８２０は、順方向判定を実施することによって回路素子の入力状態の判定の１つを実施し、第１の可能性のある入力状態ベクトルを決める。判定モジュールは、さらに、逆方向判定を実施することによって回路素子の入力状態の判定のもう１つを実施し、第２の可能性のある入力状態ベクトルを決める。アイドル電力消費量表示器８３０は、第１の可能性のある入力状態ベクトルを回路入力に適用する場合の、アイドル状態にあるディジタル回路の電力消費量である第１のアイドル電力消費量を表示する。アイドル電力消費量表示器８３０は、さらに、第２の可能性のある入力状態ベクトルを回路入力に適用する場合の、アイドル状態にあるディジタル回路の電力消費量である第２のアイドル電力消費量を表示する。最低アイドル電力消費量識別装置８４０は、アイドル電力消費量表示器８３０によって表示される第１のアイドル電力消費量と第２のアイドル電力消費量のうち低いほうを識別する。可能性のある入力状態ベクトル・セレクタ８５０は、最低アイドル電力消費量識別装置８４０によって識別された低いほうのアイドル電力消費量に対応する、可能性のある入力状態ベクトルの一方を入力状態ベクトルとして選択する。
【００７６】
以上の例は、とりわけ、判定モジュール８２０によって実施される判定の例として、順方向判定と逆方向判定について言及したものであるが、判定モジュールは、さらに、又は、その代わりに、他の様々な判定を実施することも可能である。実施態様の１つでは、判定モジュール８２０は、ディジタル回路の第１の位置から始まる順方向判定を実施し、結果として、ディジタル回路全域にわたって、第１の経路に沿って配置された回路素子の入力状態を判定することになる。こうした実施態様の場合、判定モジュール８２０は、第１の位置とは異なる位置から始まる順方向判定も実施する。結果として、判定モジュールは、ディジタル回路全域にわたって、第１の経路とは異なる経路に沿って配置された回路素子の入力状態を判定することになる。もう１つの実施態様では、判定モジュール８２０は、ディジタル回路の第１の位置から始まる逆方向判定を実施し、結果として、ディジタル回路全域にわたって、第１の経路に沿って配置された回路素子の入力状態を判定することになる。こうした実施態様の場合、判定モジュール８２０は、第１の位置とは異なる位置から始まる逆方向判定も実施する。結果として、判定モジュールは、ディジタル回路全域にわたって、第１の経路とは異なる経路に沿って配置された回路素子の入力状態を判定することになる。さらに、又は、その代わりに、判定モジュールは、順方向判定又は逆方向判定とは異なる判定タイプを実施することも可能である。従って、判定モジュールは、判定として様々なタイプの判定を実施することが可能である。
【００７７】
装置７００には、さらに、ディジタル回路を構成する回路素子の少なくとも１つに適用可能な論理的に許容される入力接続変更７６０を識別する、オプションの置換モジュール８６０を含むことが可能である。上述の装置７００は、特定のディジタル回路の回路入力に適用される入力状態ベクトルを決める働きをする。さらに、装置７００は、ＶＥＲＩＬＯＧTM又はＶＨＤＬTMの商標で販売されているソフトウェアによって生成される、又は、ＳＰＩＣＥ（スパイス）として知られるソフトウェアによって生成されるディジタル回路のコンピュータ・コード表現といった、受信したディジタル回路記述子に基づいて、入力状態ベクトルを決める。本発明による置換モジュール８６０は、回路入力に入力状態ベクトルを適用した場合に、アイドル状態にあるディジタル回路のアイドル電力消費を低減させることになる、ディジタル回路の回路素子の少なくとも１つに施すことが可能な論理的に許容される入力接続変更を識別する。従って、置換モジュール８６０は、ディジタル回路を物理的に製作する前に施すことが可能な変更、すなわち、論理的に許容される入力接続変更を識別する。こうした変更を施すと、回路入力に入力状態ベクトルを適用した場合の、アイドル状態にあるディジタル回路のアイドル電力消費が、変更を施さないディジタル回路のアイドル電力消費に比べて低減することになる。
【００７８】
置換モジュール８６０は、ディジタル回路のアイドル状態時に、回路素子のアイドル電力値を低減させる、回路素子の少なくとも１つに関する論理的に許容される入力接続変更を識別する。その回路素子の論理的に許容される入力接続変更を施し、同時に、ディジタル回路の論理を保つことが可能である。
【００７９】
図５，図６Ａ，及び図６Ｂに関連して上述したように、ディジタル回路における回路素子の物理的入力の入力接続変更は、回路素子の様々な物理的入力接続構成が理論的に同等である場合に可能である。すなわち、いくつかのタイプの回路素子の物理的入力接続構成は、論理的帰結を伴うことなく、交換することが可能であり、その交換によって、ディジタル回路の回路入力に入力状態ベクトルが適用された場合の、その回路素子のアイドル電力値を低減させることが可能になる。
【００８０】
装置７００の実施態様は、個別コンポーネント，小規模又は大規模集積回路，適切に構成された専用集積回路（ＡＳＩＣ），及び他の適合するハードウェアから構成することが可能である。或いは、この装置及びそのモジュールの実施態様は、本発明によるコンピュータ可読媒体に記憶された入力状態ベクトル決定プログラムに応答して動作する、ディジタル信号プロセッサ（ＤＳＰ），マイクロプロセッサ，マイクロコンピュータ，若しくは内部又は外部メモリを備えたコンピュータを利用して構成することが可能である。ＤＳＰ，マイクロプロセッサ，マイクロコンピュータ，或いは、コンピュータのような、入力状態ベクトル決定プログラムを実行することが可能な装置は、本明細書において、コンピュータと呼ばれる。
【００８１】
装置７００のコンピュータ・ベースの実施態様の場合、上述の各種モジュールは、一時的なものとすることが可能であり、入力状態ベクトル決定プログラムの実行時にのみ、一時的に存在するものとすることが可能である。こうした実施態様の場合には、入力状態ベクトル決定プログラムは、１組のフロッピ・ディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，読み取り専用メモリ等のような、適当なコンピュータ可読媒体でプログラムを具現化することによって、それが実行されることになるコンピュータに伝達することが可能になる。或いは、入力状態ベクトル決定プログラムは、適合するデータ・リンクによってこうしたコンピュータに伝送し、コンピュータのメモリ装置に記憶することが可能である。
【００８２】
入力状態ベクトル決定プログラムによって、それを実行するコンピュータにおいて、低アイドル電力消費を実現するため、ディジタル回路の回路入力に適用される入力状態ベクトルを決める方法が実施される。入力状態ベクトル決定プログラムに応答してコンピュータによって実施されるこの方法は、図１，図４，及び図５に関連して上述した方法とほぼ同様である。
【００８３】
表３には、図１及び図４に示す方法の実施態様を実施して、アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決める、典型的な擬似コードが示されている。
【００８４】
表３
アイドル状態にあるディジタル回路の回路入力に適用された場合
低電力消費を実現する入力状態ベクトルの決定
｛
ディジタル回路内の全てのクロック・ゲート組み合わせブロックについて
｛
組み合わせブロックの各出力信号毎に
｛
出力信号を発生する回路セグメントを決定する；
｝
回路内の全セグメントについて（逆方向に進める）
｛
回路素子数が最大のセグメントを選択する
ディジタル回路の論理的制約条件を考慮し、出力から始めて、各回路素子毎に最低
アイドル電力に対応する入力状態を割り当てる
論理的矛盾のために、最低アイドル電力に対応する入力状態を割当てることができ
ない場合には、次に低いアイドル電力に対応する入力状態を割り当てる
セグメント内の全ての入力の検討が済むまで続行し、必要があれば、他のセグメン
トに出力を伝搬する
回路素子数が次に多いセグメントを選択する
｝
その入力が回路入力を構成する回路素子の入力状態を第１の可能性のある入力状態ベ
クトルとして採択する
第１の可能性のある入力状態ベクトルについて、アイドル電力消費量Ｐ1を計算する
回路内の全セグメントについて（順方向に進める）
｛
回路素子数が最大のセグメントを選択する
ディジタル回路の論理的制約条件を考慮し、回路入力から始めて、各回路素子毎に
最低アイドル電力に対応する入力状態を割り当てる
論理的矛盾のために、最低アイドル電力に対応する入力状態を割当てることができ
ない場合には、次に低い許容アイドル電力に対応する入力状態を割り当てる
セグメント内の全ての入力の検討が済むまで続行し、必要があれば、他のセグメン
トに出力を伝搬する
回路素子数が次に多いセグメントを選択する
｝
その入力が回路入力を構成する回路素子の入力状態を第２の可能性のある入力状態ベ
クトルとして採択する
第２の可能性のある入力状態ベクトルについて、アイドル電力消費量Ｐ2を計算する
｝
Ｐ１＜Ｐ２ならば
入力状態ベクトル＝第１の可能性のある入力状態ベクトル
或いは
入力状態ベクトル＝第２の可能性のある入力状態ベクトル
プリセット可能なフリップ・フロップ及びクリア可能なフリップ・フロップを用いて、
アイドル・モードにあるディジタル回路の回路入力に、それぞれ、入力状態ベクトル
の１及び０を適用する
｝
【００８５】
ディジタル回路には、一般に、ディジタル回路に入力状態ベクトルを適用するタイミングを制御するため、各回路入力毎にフリップ・フロップが含まれている。一般に、パワー・オン・クリア式のＤタイプのフリップ・フロップが用いられる。各フリップ・フロップは、それぞれの入力状態及びクロック信号を受信する。例えば、入力状態は、クロック信号の立ち上がりエッジにおいて、回路入力に加えられる。
【００８６】
さらに、ディジタル回路は、一般に、クロック・ゲート制御を用いて、アイドル状態に設定する。クロック信号は、さらに、反転ＩＤＬＥ制御信号も受信するゲートを介して、受信される。ゲートの出力は、フリップ・フロップのクロック入力及び、クロック信号を必要とする他の任意の回路素子に接続されている。ＩＤＬＥ制御信号がアサートされなければ、ゲートは、フリップ・フロップ及びこうした他の回路素子にクロック信号を送る。ＩＤＬＥ制御信号がアサートされると、ゲートによるフリップ・フロップ及びこうした他の回路素子に対するクロック信号の供給が阻止される。ＩＤＬＥ制御信号によって、ディジタル回路は、その電力消費がその通常の活動状態における電力消費に比べて大幅に低減する、静的状態に設定される。この静的状態は、本開示においてディジタル回路のアイドル状態と呼ばれる。
【００８７】
図９は、ディジタル回路のアイドル状態時に、ディジタル回路２００の回路入力Ｘ，Ｙ，Ｃinに入力状態ベクトルを適用して、低電力消費を実現する、プリセット可能及びクリア可能なＤタイプ・フリップ・フロップ２５０，２５２，２５４を組み込んだ、図２に示す典型的なディジタル加算回路２００の概略図である。それぞれの回路入力に入力状態ベクトルの各状態を適用するために用いられるＤタイプ・フリップ・フロップのタイプは、適用される入力状態によって決まる。クリア可能なＤタイプ・フリップ・フロップによって、それぞれの回路入力に０状態が適用され、プリセット可能なＤタイプ・フリップ・フロップによって、それぞれの回路入力に１状態が適用される。クリア可能なＤタイプ・フリップ・フロップ及びプリセット可能なＤタイプ・フリップ・フロップの設計は、ディジタル回路の設計に用いられる典型的なセル・ライブラリに存在するので、回路入力に入力状態ベクトルを適用するために用いられるフリップ・フロップの開発，特性解明，及び最適化は、既に実施済みである。或る例では、クリア可能なＤタイプ・フリップ・フロップ及びプリセット可能なＤタイプ・フリップ・フロップのクリア（ＣＬＲ）入力及びプリセット（ＰＲＥ）入力は、非同期であり、従って、フリップ・フロップのタイプに従って、フリップ・フロップのクリア入力又はプリセット入力にＩＤＬＥ制御信号を加えると、フリップ・フロップのＱ出力が、クロック信号の状態に関係なく、それぞれ、０状態又は１状態に設定される。プリセット可能なＤタイプ・フリップ・フロップ及びクリア可能なＤタイプ・フリップ・フロップを用いて、回路入力に決定された入力状態ベクトルを適用することには、入力状態ベクトルを回路入力に適用するのに、設計技法を変更する必要がないという利点がある。
【００８８】
図９には、図２に関連して上述した方法例によって決定された入力状態ベクトル（Ｘ＝０、Ｙ＝０、Ｃin＝１）が、ディジタル回路２００の回路入力に適用される例が示されている。Ｄタイプ・フリップ・フロップ２５０，２５２，２５４のＱ出力は、それぞれ、回路入力Ｘ，Ｙ，Ｃinに接続されている。典型的な入力状態ベクトルＸ＝０，Ｙ＝０，Ｃin＝１を適用するため、回路入力Ｘ及びＹに、それぞれ、０状態を適用するフリップ・フロップ２５０及び２５２は、クリア可能なＤタイプ・フリップ・フロップであり、回路入力Ｃinに１状態を適用するフリップ・フロップ２５４は、プリセット可能なＤタイプ・フリップ・フロップである。フリップ・フロップのＤ入力は、それぞれ、入力ＩＮX、ＩＮY、及び、ＩＮCに接続されている。フリップ・フロップのクロック入力は、ゲート２５６の出力に接続されている。フリップ・フロップ２５０，２５２のクリア入力ＣＬＲ，フリップ・フロップ２５４のプリセット入力ＳＥＴ，及びインバータ２５８の入力は、全て、ＩＤＬＥ制御信号を受信するように接続されている。インバータの出力は、ゲート２５６の入力の一方に接続されている。ゲート２５６の入力のもう一方は、クロック信号ＣＬＫを受信するように接続されている。図３に関連して上述した方法例によって決定された入力状態ベクトル（Ｘ＝０、Ｙ＝１、Ｃin＝１）がディジタル回路２００の回路入力に適用される実施態様の１つでは、クリア可能Ｄタイプ・フリップ・フロップの代わりに、プリセット可能なＤタイプ・フリップ・フロップがフリップ・フロップ２５０として利用される。
【００８９】
ディジタル回路２００がアクティブ状態にあるときは、ＩＤＬＥ制御信号はアサートされない。インバータ２５８の出力からゲート２５６の一方の入力に供給されるＩＤＬＥ制御信号を反転すると、クロック信号ＣＬＫが、ゲートを通って、フリップ・フロップ２５０，２５２，２５４のクロック入力に送られるようにすることが可能になる。結果として、フリップ・フロップによって、例えば、クロック信号の立ち上がりエッジにおいて、入力ＩＮX，ＩＮY，ＩＮCで受信した入力状態が、それぞれ、回路入力Ｘ，Ｙ，Ｃinに送られる。
【００９０】
ＩＤＬＥ制御信号をアサートすると、ディジタル回路２００はアイドル状態に設定される。インバータ２５８の出力からゲート２５６の一方の入力に供給されるＩＤＬＥ制御信号を反転すると、ゲートによって、クロック信号ＣＬＫがフリップ・フロップ２５０，２５２，２５４のクロック入力に送られるのが阻止される。このため、ディジタル回路２００は、アイドル状態に設定される。アイドル状態にあるディジタル回路２００の電力消費量は、活動状態にある場合より少なくなるが、回路入力に対して入力状態ベクトルを適用しなければ、ＩＤＬＥ制御信号がアサートされる直前の回路の動作状態によって左右される。フリップ・フロップ２５０，２５２のクリア入力ＣＬＲ、及び、フリップ・フロップ２５４のプリセット入力ＳＥＴに加えられるＩＤＬＥ制御信号によって、フリップ・フロップ２５０，２５２のＱ出力が０状態に設定され、フリップ・フロップ２５４のＱ出力が１状態に設定される。これによって、ディジタル回路２００の回路入力Ｘ，Ｙ，Ｃinに対して上述のように決定された入力状態ベクトルが適用されることになる。回路入力にこれらの入力状態ベクトルを適用すると、アイドル状態にあるディジタル回路２００における低電力消費が実現される。
【００９１】
０．２５μｍ ＣＭＯＳテクノロジによって実施されるディジタル回路２００の一例では、スパイス・シミュレーションの結果が示すように、入力状態ベクトルを適用すると、アイドル電力消費量が１／２未満に低減する。
【００９２】
本発明による実施態様によれば、回路入力に適用されると、ディジタル回路のアイドル状態時に低電力消費を実現する入力状態ベクトルが決まる。こうした実施態様を利用して、相補型金属酸化物半導体（ＣＭＯＳ）トランジスタを含むディジタル回路のような、任意のタイプのディジタル回路に適用可能な入力状態ベクトルを決めることが可能である。さらに、他の実施態様では、例えば、任意のトランジスタ・タイプといった、任意のタイプのスイッチング回路素子を用いて構成されたディジタル回路の回路入力に適用されると、ディジタル回路のアイドル状態時に、低電力消費を実現する入力状態ベクトルが決定される。
【００９３】
本開示では、例示の実施態様を用いて、本発明の詳細な説明がなされている。しかし、言う迄もないが、付属の請求項によって定義される本発明は、解説の実施態様にそっくりそのまま制限されるものではない。
【図面の簡単な説明】
【００９４】
【図１】アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決定するための、本発明による方法の実施態様の１つを例示したフローチャートである。
【図２】回路素子の入力状態が判定され、これが回路入力から延びる経路に沿ってディジタル回路全域にわたって進められる、本発明による方法によって入力状態ベクトルが決められる典型的なディジタル回路の概略図である。
【図３】回路素子の入力状態が判定され、これが回路入力に向かって延びる経路に沿ってディジタル回路全域にわたって進められる、本発明による方法によって入力状態ベクトルが決められる典型的なディジタル回路の概略図である。
【図４】回路素子の入力状態の判定を実施して、可能性のあるそれぞれの入力状態ベクトルを決め、最低アイドル電力消費をもたらす可能性のある入力状態ベクトルを入力状態ベクトルとして採択する、本発明による方法の実施態様を例示したフローチャートである。
【図５】ディジタル回路の回路素子に関して論理的に許容される入力接続変更を決定する、本発明による方法の実施態様を例示したフローチャートである。
【図６Ａ】回路素子の物理的入力接続の論理的に等価な構成を例示した回路素子のブロック図である。
【図６Ｂ】回路素子の物理的入力接続の論理的に等価な構成を例示した回路素子のブロック図である。
【図７】アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための、本発明による装置の第１の実施態様に関するブロック図である。
【図８】アイドル状態にあるディジタル回路の回路入力に適用されると、低電力消費を実現する入力状態ベクトルを決めるための、本発明による装置の第２の実施態様に関するブロック図である。
【図９】ディジタル回路の回路入力に入力状態ベクトルを適用するための、特定のタイプのフリップ・フロップの利用を例示した、典型的なディジタル回路の概略図である。
【図１】
2005006297.tif 000005
【図２】
2005006297.tif 000006
【図３】
2005006297.tif 000007
【図４】
2005006297.tif 000008
【図５】
2005006297.tif 000009
【図６Ａ】
2005006297.tif 000010
【図６Ｂ】
2005006297.tif 000011
【図７】
2005006297.tif 000012
【図８】
2005006297.tif 000013
【図９】
2005006297.tif 000014
【外国語明細書】
2005006297.tif 000015
2005006297.tif 000016
2005006297.tif 000017
2005006297.tif 000018
2005006297.tif 000019
2005006297.tif 000020
2005006297.tif 000021
2005006297.tif 000022
2005006297.tif 000023
2005006297.tif 000024
2005006297.tif 000025
2005006297.tif 000026
2005006297.tif 000027
2005006297.tif 000028
2005006297.tif 000029
2005006297.tif 000030
2005006297.tif 000031
2005006297.tif 000032
2005006297.tif 000033
2005006297.tif 000034
2005006297.tif 000035
2005006297.tif 000036
2005006297.tif 000037
2005006297.tif 000038
2005006297.tif 000039
2005006297.tif 000040
2005006297.tif 000041
2005006297.tif 000042
2005006297.tif 000043
2005006297.tif 000044
2005006297.tif 000045
2005006297.tif 000046
2005006297.tif 000047
2005006297.tif 000048
2005006297.tif 000049
2005006297.tif 000050
2005006297.tif 000051
2005006297.tif 000052
2005006297.tif 000053
2005006297.tif 000054
2005006297.tif 000055
2005006297.tif 000056
2005006297.tif 000057
2005006297.tif 000058
2005006297.tif 000059
2005006297.tif 000060
2005006297.tif 000061
2005006297.tif 000062