(57)【特許請求の範囲】
【請求項１】
一次供給電圧（Ｖｄｄ）と第１（１４）および第２（１２）回路ブロックとを有する電気回路（１０）の電力消費量を低減する方法であって、
前記第１の回路ブロックの第１のクリティカルパスの動作時間が前記第２の回路ブロックの第２のクリティカルパスの動作時間よりも速いということを決定する過程と、
前記第１のクリティカルパスの動作時間が前記第２のクリティカルパスの動作時間よりも速いという決定に応答して、前記第１の回路ブロックに対する前記一次供給電圧よりも低い第１の供給電圧を前記一次供給電圧から作り出す過程と、
前記第１の供給電圧（Ｖｄｄ１）を前記第１の回路ブロック（１４）に供給する過程と、
前記一次供給電圧（Ｖｄｄ）を前記第２の回路ブロック（１２）に供給する過程と、
を備えることを特徴とする方法。
【請求項２】
前記作り出す過程は、前記第２のクリティカルパスの動作時間と比較して前記第１のクリティカルパスの動作時間がどれだけ速いかの基づいた量だけ前記一次供給電圧よりも低い値に前記第１の供給電圧を設定することを含むことを特徴とする、請求項１記載の方法。
【請求項３】
前記電気回路の第３の回路ブロックに対して該第３の回路ブロックの第３のクリティカルパスの動作時間を決定する過程を更に含み、
前記第３のクリティカルパスの動作時間が前記第２のクリティカルパスの動作時間よりも速いということを決定する過程と、
前記第３のクリティカルパスの動作時間が前記第２のクリティカルパスの動作時間よりも速いという決定に応答して、前記第３の回路ブロックに対して前記一次供給電圧よりも低い第２の供給電圧を作り出す過程と、
を備えること特徴とする、請求項１記載の方法。
【請求項４】
前記第１の供給電圧を作り出す前記過程は、前記第２のクリティカルパスの動作時間と比較して前記第１のクリティカルパスの動作時間がどれだけ速いかに基づいた量だけ前記一次供給電圧よりも低い値に前記第１の供給電圧を設定することを含み、前記第２の供給電圧を作り出す前記過程が、前記第２のクリティカルパスの動作時間と比較して前記第３のクリティカルパスの動作時間がどれだけ速いかに基づいた量だけ前記一次供給電圧よりも低い値に前記第２の供給電圧を設定することを含み、前記第３のクリティカルパスの動作時間が前記第１のクリティカルパスの動作時間よりも速い場合には、前記第２の供給電圧の方が前記第１の供給電圧よりも低いことを特徴とする、請求項３記載の方法。
【請求項５】
前記第３のクリティカルパスの動作時間が前記第１のクリティカルパスの動作時間よりも速い場合には、前記第２の供給電圧の方が前記第１の供給電圧よりも低くされることを特徴とする、請求項３記載の方法。
【請求項６】
前記一次供給電圧を前記第２の回路ブロックに供給することを特徴とする、請求項１記載の方法。
【請求項７】
前記第１のクリティカルパスにおいて前記第１の供給電圧を用いることを特徴とする、請求項１記載の方法。
【請求項８】
一次供給電圧（Ｖｄｄ）を供給される電気回路（１０Ａ）であって、
第１のクリティカルパスを有する第１の回路ブロック（１４、１６、１８）と、
前記一次供給電圧を供給される第２のクリティカルパスを有する第２の回路ブロック（１２）と、
前記一次供給電圧に接続された入力および前記第１の回路ブロックに接続された出力を有し、前記一次供給電圧よりも低いレベルの第１の供給電圧（Ｖｄｄ１、Ｖｄｄ２、Ｖｄｄ３）を、その出力において前記一次供給電圧から作成するように構成されている電圧調整器（２０、２２、２４）と
を含み、
該電圧調整器は、第２のクリティカルパスが動作する速度と略等しい速度で第１のクリティカルパスが動作するように前記第１の回路ブロックを駆動するレベルで前記第１の供給電圧を供給するように構成されていることを特徴とするタイプの電気回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、超大規模集積（ＶＬＳＩ）回路設計に関し、より詳細には、複数の供給電圧レベルを用いて電力消費量を低減する設計方法に関する。本発明はまた、電力消費量を低減した電気回路にも関する。
【０００２】
【従来の技術】
低電力設計の推進の背後にある要因の１つは、現在の電源にて高速かつ低電力で複雑な機能を果たすことが要求されるパーソナルコンピュータおよび通信装置の種類が成長している、ということである。他の推進要因は、電力消費量が多すぎることが、単一のチップ上により多くのトランジスタを集積することに対する制約要因となってしまった、ということである。電力消費量を劇的に低減しない限り、結果として生じる熱によって、ＶＬＳＩ回路およびシステムの実現可能な集積化（ｐａｃｋｉｎｇ）および性能が制約されてしまう。
【０００３】
最近提案された電力消費量を低減する方法の１つは、多数（マルチプル）供給電圧を用いる、というものである。Ｃｈａｎｇ，Ｊ．Ｍ．ａｎｄ  Ｐｅｄｒａｍ，Ｍ．，"Ｅｎｅｒｇｙ  Ｍｉｎｉｍｉｚａｔｉｏｎ  Ｕｓｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｓｕｐｐｌｙ  Ｖｏｌｔａｇｅｓ，"  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ  （ＶＬＳＩ）  Ｓｙｓｔｅｍｓ，Ｖｏｌ．５，Ｎｏ．４，Ｄｅｃｅｍｂｅｒ  １９９７（「Ｃｈａｎｇ」）の著者らは、所定の１組のタイミングすなわちスループット（パイプライン化したデータパスに対する）の制約に応じながら電力消費量を最小限にするために、データフロー図（ＤＦＧ）におけるそれぞれの動作を固定した１組の互いに異なる供給電圧のうちの１つに割り当てるスケジューリング技術を説明している。この技術は、ＤＦＧの高レベルな記述からスタートし、その出力は、電力−タイミングのトレード・オフ曲線を得るように予め特徴づけられた１組のレジスタ転送レベル（ＲＴＬ）またはデータパス演算器（加算器、乗算器等）上への、最適化したＤＦＧの写像（マッピング）である。その意味で、この方法は確かに、行動統合アルゴリズム（ｂｅｈａｖｉｏｒａｌ  ｓｙｎｔｈｅｓｉｓ  ａｌｇｏｒｉｔｈｍｓ）の種類に属しており、従って、利用可能なルーティング資源にかなりのペナルティーを課してどのようにチップ上に多数（マルチプル）供給電圧レール（ｒａｉｌｓ）を設けるかという重要な問題には、取り組んでいない。
【０００４】
第２の方法は、Ｋｕｒｏｄａ，Ｔ．ｅｔ  ａｌ．，"Ｖａｒｉａｂｌｅ  Ｓｕｐｐｌｙ−Ｖｏｌｔａｇｅ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｌｏｗ−Ｐｏｗｅｒ  Ｈｉｇｈ−Ｓｐｅｅｄ  ＣＭＯＳ  Ｄｉｇｉｔａｌ  Ｄｅｓｉｇｎ，"ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，Ｖｏｌ．３３，Ｎｏ．３，Ｍａｒｃｈ  １９９８（「Ｋｕｒｏｄａ」）において説明されている。Ｋｕｒｏｄａにおける方法は、設計のクリティカルパスのモデル（実際には２つの異なる、それぞれ３％速いおよび遅いクリティカルパスの複製）を生成することをベースにしている。次に、内蔵されたテストデータの組(suite）が、クリティカルパスモデルを通じて、システムのメインクロックでクロック制御されたレジスタ対同士の間で転送され、出力が、直接接続した１対のレジスタの出力と比較される。その結果は、カウンタに、そして結局は、実際のチップ用の供給電圧を発生する電圧調整器に給電するのに用いられる。局部フィードバックループを用いて、供給電圧がその最適（最低）値ＶDD*に落ち着くように適合的に調整されるが、１つの供給電圧のみが用いられる。その結果、システムの大部分にはなお、１クロックサイクル内で完全に動作するのに必要なよりも過剰の供給電圧が供給される可能性がある。
【０００５】
第３の方法は、Ｕｓａｍｉ，Ｋ  ｅｔ  ａｌ．，"Ａｕｔｏｍａｔｅｄ  Ｌｏｗ−Ｐｏｗｅｒ  Ｔｅｃｈｎｉｑｕｅ  Ｅｘｐｌｏｉｔｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｓｕｐｐｌｙ  Ｖｏｌｔａｇｅｓ  Ａｐｐｌｉｅｄ  ｔｏ  ａ  ＭｅｄｉａＰｒｏｃｅｓｓｏｒ，"ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，Ｖｏｌ．３３，Ｎｏ．３，Ｍａｒｃｈ  １９９８（「Ｕｓａｍｉ」）において説明されている。Ｕｓａｍｉにおける技術は、ＲＴＬブロックの統合、配置、およびルーティングに、多数（マルチプル）供給電圧体系を適用している。Ｕｓａｍｉの著者らは、ＶDDHおよびＶDDLという２つの異なるレベルの供給電圧がチップ上で利用可能であると仮定している。この技術の写像（マッピング）過程において、１つのブロックのそれぞれのセルには、これら２つの異なる供給電圧レベルのうちのどちらかが供給され、それによって、（ＶDDLが供給されたセルからＶDDHが供給されたセルに変換するのに必要な）レベルシフタ数が最小限になる。Ｃｈａｎｇと同様に、本方法も、設計プロセスのフロントエンドに適合しており、従って、タイミングおよびセルが消費する電力を簡略化し過ぎたモデルを用いなければならない。また、同じ階層ブロック内のセルを異なる供給電圧に割り当てることができるので、余分な供給レールを分配するのに必要なその他のトラック（ｔｒａｃｋｓ）のために、ルーティング資源は厳しいペナルティーを課される。更に、異なる供給電圧が２つのみ（ＶDDHおよびＶDDL）しか考慮されない。
【０００６】
【発明が解決しようとする課題】
本発明の技術的課題は、電力消費量を低減し、従来技術に関して前述した制約および／または欠点を克服することができる構造的および機能的特徴を有する、電気回路を作成するプロセスを見いだすことである。
【０００７】
【課題を解決するための手段】
本発明の解決思想は、電気回路を一時的に分析して、その一時的な分析に基づいてその電気回路の複数の回路ブロックに複数の供給電圧を供給する、というものである。
【０００８】
この技術的課題は、添付の特許請求の範囲の請求項１ないし請求項８において特徴として述べた部分において規定された、前述したタイプのプロセスによって解決される。この技術的課題はまた、添付の特許請求の範囲の請求項９において特徴として述べた部分において規定された、前述したタイプの電気回路によって解決される。
【０００９】
本発明の実施形態は、一次供給電圧と第１および第２の回路ブロックとを有する電気回路の電力消費量を低減する方法に向けられている。
【００１０】
本方法は、第１の回路ブロックに対して、第１の回路ブロックの第１のクリティカルパスの動作時間を決定する過程と、第２の回路ブロックに対して、第２の回路ブロックの第２のクリティカルパスの動作時間を決定する過程とを含む。本方法は、これらの動作時間から、第１のクリティカルパスの動作時間が第２のクリティカルパスの動作時間よりも速いということを決定する。次に本方法は、第１のクリティカルパスの動作時間が第２のクリティカルパスの動作時間よりも速いという決定に応答して、第１の回路ブロックについての一次供給電圧よりも低い第１の供給電圧を作り出す。
【００１１】
本発明の実施形態はまた、一次供給電圧を供給され、第１のクリティカルパスを有する第１の回路ブロックと、一次供給電圧を供給される第２のクリティカルパスを有する第２の回路ブロックとを含む、電気回路にも向けられている。電気回路はまた、一次供給電圧に接続された入力と第１の回路ブロックに接続された出力とを有する電圧調整器も含み、この電圧調整器は、一次供給電圧よりも低いレベルであり且つ第１の回路ブロックを駆動するレベルの第１の供給電圧を、その出力において一次供給電圧から作成し、第２のクリティカルパスが動作する速度と略等しい速度で第１のクリティカルパスが動作するように構成されている。
【００１２】
【発明の実施の形態】
本発明の１実施形態は、電気回路における電力消費量を低減する方法、およびその方法の結果生じる電気回路に向けられている。これは、１つの電気回路を更に分割できるそれぞれの別個の回路ブロックが、仕様書から要求されるよりも速い速度を生成することが非常に多い、という事実をベースにしている。その結果、仕様書から違えることなく、多くの個々の回路ブロックの速度を低減することができる。それぞれの別個の回路ブロックの速度は、そのブロックに印加される供給電圧を下げることによって低減でき、それによって、そのブロックが、そして回路全体が消費する電力量が低減する。
【００１３】
本発明の詳細を説明する前に、以下の説明において用いる表現のうちの１つである、回路ブロックの「クリティカルパス」というものを、いくらか詳細に説明しておくことが有用であろう。一般的に、回路ブロックの「クリティカルパス」とは、回路ブロックの速度を限定する単一のパス、すなわち、信号がその回路ブロックを横切るのに最も時間がかかる信号パスのことである。例えば、図１は、例示的論理回路ブロックについてのクリティカルパスを示す。図示のように、クリティカルパスは、ＦＦ＿Ａから２つのＯＲゲートおよび２つの排他的ＯＲゲートを通ってＦＦ＿Ｂに至るパスである。この回路ブロックを通る他の信号パスで、４つの論理ゲートを通るものはなく、従って、この論理回路ブロックを通って信号を伝えるのに、図示のクリティカルパスほど長い時間がかかる信号パスは他になさそうである。別の信号パスの論理ゲートが図示のクリティカルパスの論理ゲートよりも遅く設計されていると仮定すると、代わりにその信号パスが、クリティカル信号パスとなる。
【００１４】
本発明の１実施形態の方法は、図２にブロック図の形で示す例示的電気回路１０に関して最もよく理解することができるかもしれない。電気回路１０は単に例示的なものであり、本方法は数多くの他の電気回路に適用することができる、ということが理解されよう。
【００１５】
電気回路１０は、非常に大量のデータ分析を伴う音声認識等の場面で用いられる公知の統計的体系である、ビタビ復号に用いられる。電気回路１０は、電気回路１０にデータを入力しそこからデータを出力する入出力（Ｉ／Ｏ）ブロック１２、非常に高速アクセスできるようにデータを記憶しておくメモリキャシュ１４、これもまたデータを記憶する主メモリ装置（ＲＡＭ）１６、およびビタビ復号器１８を含む。ビタビ復号器１８は、Ｉ／Ｏブロック１２によって入力されキャシュ１４またはＲＡＭ１６内に記憶されたデータにビタビ復号を行う、処理装置（図示せず）を含む。本発明を理解し実施するのに、電気回路１０の動作の詳細は不要である、ということが理解されよう。
【００１６】
電気回路１０全体は、本発明の電力節約（ｃｏｎｓｅｒｖａｔｉｏｎ）技術と関係なく、通常の設計手順に従って、予め設けた製品仕様書を満たすように設計される。次に電気回路１０に関して一時的な（ｔｅｍｐｏｒａｌ）分析が行われ、回路ブロック１２−１８のそれぞれのクリティカルパスに対して動作時間を決定する。このような一時的な分析は、従来技術の静態タイミング分析や、Ｓｙｎｏｐｓｙｓ，Ｉｎｃ．からのＰｒｉｍｅｔｉｍｅ（登録商標）およびＤｅｓｉｇｎｔｉｍｅ（登録商標）等の市販の回路分析ツールを用いてもよい。
【００１７】
一時的分析の結果、生のタイミングデータおよび／または図３に示すようなタイミング図が得られるかもしれない。図３のタイミング図は、１クロック（ＣＬＫ）期間、および、Ｉ／Ｏブロック１２（ｐ１）、キャシュ１４（ｐ２）、ＲＡＭ１６（ｐ３）、およびビタビブロック１８（ｐ４）についての相対的動作時間を示す。図３から分かるように、図２の回路ブロック１２−１８のクリティカルパスについての最長動作時間は、Ｉ／Ｏブロック１２（ｐ１）についてのものである。その結果、Ｉ／Ｏブロック１２のクリティカルパスは、電気回路が仕様書の速度制約内で動作するかどうかを決めるクリティカルパスであるため、電気回路１０の主要（ｐｒｉｎｃｉｐａｌ）クリティカルパスと呼ばれる。
【００１８】
スラックタイミングが正である状態で主要クリティカルパスを含む回路ブロックが動作している限りにおいては、電気回路１０は、仕様書の速度制約内で動作する。電気回路１０の主要クリティカルパスを含むＩ／Ｏブロック１２は、スラックタイミングがＴ−ｔｐ１である。但し、Ｔはクロック（ＣＬＫ）期間であり、ｔｐ１は主要クリティカルパスの動作時間である。Ｔ−ｔｐ１＞０である場合には、マージン（余裕）がある。すなわち、すべてのブロックが要求されているよりも速い速度で機能している。Ｔ−ｔｐ１＜０である場合には、マージンがない。すなわち、回路は仕様書を満たしていないので、再設計すべきである。
【００１９】
電気回路１０に関して行われた一時的分析をベースにして、そのクリティカルパスが主要クリティカルパスよりも速く動作する回路ブロックの供給電圧を低減することによって、電気回路を調整する。更に、主要クリティカルパスを含む回路ブロックのスラックタイミングが正である、すなわち、その回路ブロックについてマージンがある場合には、その回路ブロックの供給電圧もまた低減してもよい。または、その電気回路についてのクロック期間を、他の電気回路がそのクロック期間に依存しない限りにおいて、主要クリティカルパスの速度まで低減してもよい。
【００２０】
電気回路１０において、主要クリティカルパスはＩ／Ｏブロック１２内にあるため、１実施形態においては、キャシュ１４、ＲＡＭ１６、およびビタビブロック１８に対する供給電圧は低減され、Ｉ／Ｏブロック１２に対する供給電圧は不変のままである。本発明の１実施形態によれば、図４に示すように、キャシュ電圧調整器２０、ＲＡＭ電圧調整器２２、およびビタビ電圧調整器２４を電気回路１０に付け加えて、電気回路１０Ａを形成する。電圧調整器２０−２４のそれぞれは、主要供給電圧Ｖｄｄに接続され、Ｖｄｄよりも低い調整電圧を生成する。特に、キャシュ電圧調整器２０、ＲＡＭ電圧調整器２２、およびビタビ電圧調整器２４は、それぞれＶｄｄ１、Ｖｄｄ２、およびＶｄｄ３の調整供給電圧を作成する。Ｉ／Ｏブロック１２に、主要供給電圧Ｖｄｄと等しいまたはそれよりも低い調整供給電圧を供給するために、Ｉ／Ｏ電圧調整器もまた用いてもよい。
【００２１】
１実施形態において、供給電圧Ｖｄｄ１、Ｖｄｄ２、およびＶｄｄ３は十分低いレベルに設定されていて、それぞれの回路ブロック１４、１６、１８のクリティカルパスが、主要クリティカルパスの速度と略等しい速度にまで遅くなるようになっている。図３のタイミング図から分かるように、ＲＡＭ１６のクリティカルパス（ｐ３）が最も速く、その次にキャシュ１４のクリティカルパス（ｐ２）、そしてビタビブロック１８のクリティカルパス（ｐ４）と続く。その結果、回路ブロック１４−１８の動作時間をＩ／Ｏブロック１２の動作時間と等しくするために、ＲＡＭ１６に対する供給電圧Ｖｄｄ２が最低レベルに設定され、キャシュ１４に対する供給電圧Ｖｄｄ１、ビタビブロック１８に対する供給電圧Ｖｄｄ３、の順に大きくなっていく。もちろん、すべての回路ブロックのクリティカルパスの動作時間を主要クリティカルパスの動作時間と等しくする必要はないが、このように等しくすると、電気回路１０全体の速度を低減することなく、電力が最大限に節約される。
【００２２】
調整供給電圧Ｖｄｄ１、Ｖｄｄ２、およびＶｄｄ３に対する最良値を決定し、それらの調整供給電圧を供給する適当な電圧調整器２０−２４を作成することは簡単なことである、ということが理解されよう。それぞれの回路ブロックについての供給電圧は、用いている市販の回路分析ツールがその回路ブロックのクリティカルパスについての動作時間が主要クリティカルパスの動作時間に達したということを示すまで、単に手動で低減すればよい（可変電源を用いて）。それぞれの供給電圧値の決定後、可変電源を多数の公知のおよび／または市販の電圧調整器のうちのいずれかと交換して、図４に示す電気回路１０Ａの電圧調整器２０−２４を実施することができる。
【００２３】
電気回路において複数の供給電圧を用いるには、比較的低い供給電圧によって作動する回路ブロックを比較的高い供給電圧によって作動する回路ブロックにインターフェースする電圧レベルシフタを用いることが必要であるかもしれない。このようなレベルシフタのために、電気回路が幾分大きくなり、また、電力も幾分散逸するが、本出願の発明者らは、レベルを低減した複数の供給電圧を用いることは、レベルシフタを用いることで被るペナルティを十分に補償して余りあるものである、ということを確認している。
【００２４】
【発明の効果】
本発明の実施形態は、回路ブロックを回路仕様書を満たすように設計した後にそれぞれの回路ブロックの速度を分析し、次にその分析をベースにしてその回路ブロックに対する供給電圧を低減することによって、従来技術において説明されているものよりもはるかに簡単でより効果的な電力節約法を提供する。従来技術の体系は、非常に複雑でありおそらく実行不可能な、設計段階当初から供給電圧を調整するというタスクを試みているか、または、単に１つの供給電圧についてのみ最適かもしれない単一の供給電圧レベルを用いようとしているが、回路の多くの部分が必要な電圧レベルよりも高い電圧で動作するままであるかのどちらかである。更に、本発明によって、回路全体の速度を低減することなく、電力消費量をかなり低減することができる。
【００２５】
前述のことから、例示の目的のために本明細書において本発明の具体的な実施形態を説明したが、本発明の精神および範囲から逸脱することなく様々な変更を行うことができる、ということが理解されよう。従って、本発明は、添付の特許請求の範囲によって以外には限定されない。
【図面の簡単な説明】
【図１】  クリティカルパスを示した、電気回路ブロックの論理ブロック図である。
【図２】  単一の供給電圧を供給された電気回路のブロック図である。
【図３】  図２に示す電気回路の動作時間を示すタイミング図である。
【図４】  本発明の実施形態に従って変更した、図２の電気回路のブロック図である。
【符号の説明】
１０、１０Ａ  電気回路
１２  入出力ブロック
１４  メモリキャシュ
１６  主メモリ装置
１８  ビタビ復号器
２０  キャシュ電圧調整器
２２  ＲＡＭ電圧調整器
２４  ビタビ電圧調整器
Ｖｄｄ  主要供給電圧
Ｖｄｄ１  調整供給電圧
Ｖｄｄ２  調整供給電圧
Ｖｄｄ３  調整供給電圧
【図１】
0004698787.tif 000002
【図２】
0004698787.tif 000003
【図３】
0004698787.tif 000004
【図４】
0004698787.tif 000005