(57)【要約】【課題】機能設計時に、複数の電源電圧を考慮して、遅延、消費電力、面積の少なくとも２項目を最適化した回路を得ることのできる方法・システムの提供。【解決手段】多電源集積回路の設計支援システムは、遅延等の性能解析を実行し（ステップＡ４）、制約を満たさない場合、フロアプラン、性能解析結果を入力として、電圧アイランドを生成する（ステップＡ６）。次に、フロアプラン、性能解析結果、電圧アイランドから、次の動作合成のための制約（チップ、および各モジュールの遅延制約、消費電力制約、面積制約、電圧アイランドに関する制約）を抽出し（ステップＡ７）、動作合成から実行し直し（ステップＡ２〜）、最適解を求める。【選択図】図２
2008176486.tif 000002
【特許請求の範囲】
【請求項１】
動作レベル記述と制約からＲＴレベル記述を生成する動作合成手段と、
前記生成したＲＴレベル記述と制約からフロアプランを生成するフロアプランニング手段と、
前記フロアプランと制約から、対象回路の性能解析を行う性能解析手段と、
前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、
前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、を備え、
前記制約抽出手段によって抽出された制約を前記動作合成手段にフィードバックすること、
を特徴とする多電源集積回路の設計支援システム。
【請求項２】
前記制約抽出手段は、前記電圧アイランド内のモジュール、及び、前記電圧アイランドの１段前、１段後の電圧アイランド外モジュールを、以降の動作合成の対象とする制約を抽出すること、
を特徴とする請求項１に記載の多電源集積回路の設計支援システム。
【請求項３】
前記制約抽出手段は、前記電圧アイランド内のモジュール、および、電圧アイランドの１段前、１段後の電圧アイランド外モジュールを、以降のフロアプラニングの再配置対象とし、他のモジュールは固定する制約を生成すること、
を特徴とする請求項１又は２に記載の多電源集積回路の設計支援システム。
【請求項４】
前記制約抽出手段は、前記電圧アイランド内のモジュールの使用電圧を制約として抽出すること、
を特徴とする請求項１乃至３いずれか一に記載の多電源集積回路の設計支援システム。
【請求項５】
前記制約抽出手段は、前記電圧アイランド内のモジュールであって電圧アイランド外に接続する境界モジュールに関して、端子数を削減する制約を抽出すること、
を特徴とする請求項１乃至４いずれか一に記載の多電源集積回路の設計支援システム。
【請求項６】
前記制約抽出手段は、前記境界モジュールの１段前又は１段後の電圧アイランド外のモジュールに関して、端子数を削減する制約を抽出すること、
を特徴とする請求項１乃至５いずれか一に記載の多電源集積回路の設計支援システム。
【請求項７】
前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる遅延解析結果から、前記電圧アイランド内の各モジュールの遅延制約を抽出すること、
を特徴とする請求項５に記載の多電源集積回路の設計支援システム。
【請求項８】
前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる消費電力解析結果から、前記電圧アイランド内の各モジュールの消費電力制約を抽出すること、
を特徴とする請求項１乃至７いずれか一に記載の多電源集積回路の設計支援システム。
【請求項９】
前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる面積解析結果から、前記電圧アイランド内の各モジュールの面積制約を抽出すること、
を特徴とする請求項１乃至９いずれか一に記載の多電源集積回路の設計支援システム。
【請求項１０】
コンピュータを用いた多電源集積回路の設計方法であって、
前記コンピュータが、入力された動作レベル記述と制約からＲＴレベル記述を生成する動作合成ステップと、
前記コンピュータが、前記生成したＲＴレベル記述と制約からフロアプランを生成するフロアプラン生成ステップと、
前記コンピュータが、前記フロアプランと制約から、対象回路の性能解析を行う性能解析ステップと、
前記コンピュータが、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成ステップと、
前記コンピュータが、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出ステップと、を含み、
前記制約抽出ステップによって抽出された制約を前記動作合成ステップにフィードバックすること、
を特徴とする多電源集積回路の設計方法。
【請求項１１】
機能設計段階の性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、
前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、の双方として、コンピュータを機能させること、
を特徴とする多電源集積回路の設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップ上に電圧アイランドを有する多電源集積回路の設計方法、その設計支援システム及び設計支援プログラムに関する。
【背景技術】
【０００２】
回路を複数のブロックに分割し、遅延制約、面積制約、消費電力制約（以下、これらを総称する場合、単に「制約」という。）等の様々な制約を満たしながら、ブロックの形状を決定し、ブロックを適切に配置するフロアプラニングは、従来、論理設計後の回路（ゲートレベルネットリスト）について行われてきた。
【０００３】
フロアプラニングにより生成されたフロアプランについて、遅延、面積、消費電力などの性能解析を実行し、制約を違反する場合は、論理設計前の動作レベル（Ｂｅｈａｖｉｏｒａｌ  Ｌｅｖｅｌ）やＲＴレベル（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）までフィードバックし、制約の違反がなくなるまで（設計収束するまで）、繰り返すことが行われている。
【０００４】
しかしながら、近年の集積回路の大規模化、プロセスの微細化に伴い、上記の手順では、設計期間内に設計収束しないようになってきた。そこで、論理設計より初期の機能設計でフロアプラニングする手法が提案されている。
【０００５】
例えば、特許文献１では、ＲＴレベルで回路を複数のブロックに分割し、各ブロックに適当な遅延モデルや面積モデルを与え、それらをもとにフロアプラニングを行う方法が開示されている。
【０００６】
特許文献２では、図３９に示すように、動作レベル、ＲＴレベル、ゲートレベル、レイアウトレベルの各レベルにおいて、回路を構成する各ブロック（特許文献２では「モジュール」と呼んでいる。以降、「ブロック」と「モジュール」は同義であるとする。）の遅延、面積、消費電力をパラメタとして与え、これらパラメタを制約としてフロアプラニングする方法が開示されている。また、フロアプラニングが出力するフロアプランについて、再度、遅延、面積、消費電力を見積もり、パラメタを更新し、制約を満たす（設計収束する）まで同じレベルで反復を繰り返すとされている。
【０００７】
特許文献３では、動作レベル記述と動作合成制約を入力とし、動作合成、フロアプラニング後、遅延解析結果に基づいて、ブロック（特許文献３では「クラスタ」と呼んでいる。）を再作成、分割、併合する制約をフィードバックし、再度、動作合成、フロアプラニングを繰り返すことで、回路の遅延を最適化する方法が開示されている。
【０００８】
また。市販の製品としては、アトレンタ社（Ａｔｒｅｎｔａ）の１Ｔｅａｍ−Ｉｍｐｌｅｍｅｎｔ（非特許文献１）が知られており、特許文献１とほぼ同様の機能を備えている。
【０００９】
一方で、近年、需要が増加している携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）など携帯機器の回路設計においては、低消費電力化が不可欠となっており、低消費電力設計手法の１つとして、電源電圧を複数供給し、回路の消費電力を最適化する多電源設計手法がよく用いられる。電源電圧を複数個扱う場合、図４０に示すような、低い電源電圧のブロックから高い電源電圧のブロックへ接続する配線間にはレベルシフタを挿入する等の回路内でのオーバヘッドを考慮する必要があるが、高性能を要求しないブロック（遅延制約が緩いブロック）については低い電源電圧を割り当てることで、消費電力の削減効果は非常に大きい。
【００１０】
特許文献４では、論理設計後の配置処理において、遅延違反を起こしているゲートには高い電源電圧値を、そうでないゲートには低い電源電圧値を割り当て、さらには、高い電源電圧値のゲート同士、あるいは、低い電源電圧値のゲート同士をできるだけ近傍に配置する（電圧アイランドを生成する）ことで、レベルシフタ挿入などのオーバヘッドを最小化し、面積、遅延を考慮して、効率よく低消費電力化を実現する方法が開示されている。
【００１１】
【特許文献１】特表２００４−５１３４３６号公報
【特許文献２】特開平１０−１７１８５７号公報
【特許文献３】特開２００４−２６５２２４号公報
【特許文献４】特開２００２−２１５７０６号公報
【非特許文献１】ＡＴＲＥＮＴＡ社  「１Ｔｅａｍ−Ｉｍｐｌｅｍｅｎｔ」  （http://www.atrenta.com/Links/Solutions_Prod_Implement.aspx）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１〜３、非特許文献１のような従来技術でのフロアプラニングや、設計収束するまでのフローを繰り返す回路設計手法では、特許文献４のような、複数の電源電圧を扱うことができないため、低消費電力化の効果が小さいという問題点がある。実際、携帯電話やＰＤＡなど携帯機器のような回路設計においては、消費電力がクリティカルになるため、レイアウト時に、通常の電源電圧に加えて、より低い値の電源電圧を新たに用いることが多いが、上記特許文献１〜３、非特許文献１の技術では複数の電源電圧を扱うことができないという問題点がある。
【００１３】
特許文献４は、レイアウト設計の配置処理についてのみ記載しているが、より抽象度の高い機能設計段階での多電源設計手法は未だ確立されていないのが現状である。
【００１４】
［発明の目的］
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、機能設計の段階で、複数の電源電圧の採用を考慮し、集積回路全体の最適化を達成することのできる多電源集積回路の設計方法、その設計支援システム及び設計支援プログラムを提供することである。
【課題を解決するための手段】
【００１５】
本発明の第１の視点によれば、動作レベル記述と制約からＲＴレベル記述を生成する動作合成手段と、前記生成したＲＴレベル記述と制約からフロアプランを生成するフロアプランニング手段と、前記フロアプランと制約から、対象回路の性能解析を行う性能解析手段と、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、を備え、前記制約抽出手段によって抽出された制約を前記動作合成手段にフィードバックすること、を特徴とする多電源集積回路の設計支援システムが提供される。
【００１６】
本発明の第２の視点によれば、コンピュータを用いた多電源集積回路の設計方法であって、前記コンピュータが、入力された動作レベル記述と制約からＲＴレベル記述を生成する動作合成ステップと、前記コンピュータが、前記生成したＲＴレベル記述と制約からフロアプランを生成するフロアプラン生成ステップと、前記コンピュータが、前記フロアプランと制約から、対象回路の性能解析を行う性能解析ステップと、前記コンピュータが、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成ステップと、前記コンピュータが、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出ステップと、を含み、前記制約抽出ステップによって抽出された制約を前記動作合成ステップにフィードバックすること、を特徴とする多電源集積回路の設計方法が提供される。
【００１７】
本発明の第３の視点によれば、機能設計段階の回路の性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを作成する電圧アイランド生成手段と、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、の双方として、コンピュータを機能させること、を特徴とする多電源集積回路の設計支援プログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、複数の電源電圧の供給により、消費電力、遅延、面積の各観点で最適化された回路を短期間で得ることが可能となる。その理由は、電圧アイランドを設けるとともに、電圧アイランドの設置による影響（制約）を動作合成工程にフィードバックするようにしたことにある。
【発明を実施するための最良の形態】
【００１９】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施実施形態に係る多電源集積回路の設計支援システムの構成を表したブロック図である。図１を参照すると、本実施形態に係る多電源集積回路の設計支援システムは、プログラム制御により動作するデータ処理装置１００と、記憶装置２００と、入力装置３００と、出力装置４００とから構成されている。
【００２０】
データ処理装置１００は、動作合成手段１１０と、フロアプラニング手段１２０と、性能解析手段１３０と、電圧アイランド生成手段１４０と、制約抽出手段１５０とを備えている。前記各手段は、例えば、後記する動作合成処理、フロアプラニング処理等を実行するコンピュータプログラムによって実現される。
【００２１】
記憶装置２００は、動作レベル記述記憶部２１０と、ＲＴレベル記述記憶部２２０と、フロアプラン記憶部２３０と、性能解析結果記憶部２４０と、電圧アイランド記憶部２５０と、制約記憶部２６０とを備えている。
【００２２】
続いて、データ処理装置１００に備えられた各処理手段の詳細について説明する。
【００２３】
動作合成手段１１０は、動作レベル記述記憶部２１０に記憶された動作レベル記述（図３参照）に対し、制約記憶部２６０に記憶された遅延、消費電力、面積等の制約を満たすように動作合成を実行する。動作合成はいくつかの処理単位毎に行われ、１回の合成単位を１モジュールとする。動作合成が終了すると、動作合成手段１１０は、ＲＴレベル（レジスタ転送レベル）記述を、ＲＴレベル記述記憶部２２０に記憶する。
【００２４】
フロアプラニング手段１２０は、ＲＴレベル記述記憶部２２０に記憶された各モジュールにおけるＲＴレベル記述に対し、制約記憶部２６０に記憶された遅延、消費電力、面積などの制約を満たすようにフロアプラニングを実行することで、各モジュールの形状を決定・配置し、必要に応じて各モジュール間の配線経路を決定等を行う。また、フロアプラニング手段１２０は、電源電圧が低いモジュールから電源電圧が高いモジュールへの配線については回路が誤動作しないよう、レベルシフタの挿入処理も行う。フロアプラニング手段１２０によって生成されたフロアプランは、フロアプラン記憶部２３０に記憶される。
【００２５】
性能解析手段１３０は、フロアプラン記憶部２３０に記憶されたフロアプランから遅延解析、消費電力解析、面積解析を行い、制約記憶部２６０に記憶された遅延、消費電力、面積などの制約を満たしているか否かの判定を行う。性能解析手段１３０は、判定の結果を含めた、遅延解析結果、消費電力結果、面積解析結果を性能解析結果記憶部２４０に記憶する。
【００２６】
電圧アイランド生成手段１４０は、フロアプラン記憶部２３０に記憶されたフロアプラン、性能解析結果記憶部２４０に記憶された性能解析結果を入力として、制約違反を起こしているモジュールを対象として電圧アイランド生成処理を実行する。
【００２７】
電圧アイランド生成処理では、制約違反を起こしているモジュールを覆う領域について、領域内に含まれるモジュールの電源電圧の変更を行う電圧アイランドの生成処理が行われる。例えば、遅延違反パスを改善する場合、あるいは、面積を小さくする場合は、電源電圧値をより高い値に割り当てることにより改善が図られる。また、消費電力を削減する場合は、電源電圧値をより低い値に割り当てることにより改善が図られる。このとき、電圧アイランド生成手段１４０は、多電源対応による集積回路全体のオーバヘッドが最小化するように電圧アイランドの対象領域を設定する。
【００２８】
電圧アイランド生成手段１４０によって作成された電圧アイランド（データ）は、電圧アイランド記憶部２５０に記憶される。この電圧アイランド（データ）には、アイランド内で使用する共通の電源電圧値、および、アイランド内モジュールが少なくとも含まれるものとする。
【００２９】
制約抽出手段１５０は、フロアプラン記憶部２３０のフロアプラン、性能解析結果記憶部２４０の性能解析結果（遅延解析結果、消費電力解析結果、面積解析結果）、及び、電圧アイランド記憶部２５０の電圧アイランド（データ）を入力とし、チップ及び各モジュールについて、動作合成手段１１０の次の動作合成のための各種制約（遅延制約、消費電力制約、面積制約など）を制約記憶部２６０に出力する。
【００３０】
このとき、電圧アイランドに関する制約としては、性能解析結果から算出した遅延制約、消費電力制約、面積制約とともに、電圧アイランドの電源電圧値及び対象モジュール名が含まれる。
【００３１】
また、電圧アイランドに含まれるモジュールについても、モジュールの電源電圧値の変更を考慮して、性能解析結果から算出した遅延制約、消費電力制約、面積制約等のモジュールに関する制約が更新される。
【００３２】
また、電圧アイランド化によって、２回目のフロアプラニングでは、低電圧モジュールから高電圧モジュールへ接続するモジュール間の配線中にレベルシフタを挿入する必要が生じる。このレベルシフタの挿入数を抑えるために、該当するモジュールの端子数に関する制約（最小化或いは上限）も、制約記憶部２６０に記憶される。
【００３３】
上記のように前記電圧アイランドを設けたことによる影響を加味して抽出された制約記憶部２６０の制約は、動作合成手段１１０へフィードバックされ、再度、動作合成、フロアプラニングの際に参照される。
【００３４】
入力装置３００は、動作レベル記述や制約を記憶装置２００に転送する際に使用されるキーボードや各種記憶ドライブ等の装置である。
【００３５】
出力装置４００は、フロアプラン記憶部２３０からのフロアプラン結果、性能解析結果記憶部２４０からの各性能解析結果を出力する。
【００３６】
続いて、上記多電源集積回路の設計支援システムを用いて行う多電源集積回路の設計方法について、図面を参照して詳細に説明する。図２は、本発明に係る多電源集積回路の設計方法の大まかな流れを表したフローチャートである。
【００３７】
図２を参照すると、まず、設計者により入力装置３００から、動作レベル記述、制約の入力が行われると、データ処理装置１００は、これらを記憶装置２００の動作レベル記述記憶部２１０及び制約記憶部２６０に転送する（ステップＡ１）。
【００３８】
次に、データ処理装置１００は、動作レベル記述記憶部２１０及び制約記憶部２６０に記憶された動作レベル記述、動作合成制約に対して動作合成手段１１０を用いて動作合成処理を実行する（ステップＡ２）。データ処理装置１００は、この動作合成の過程で生成される各モジュールにおけるＲＴレベル記述を記憶装置２００のＲＴレベル記述記憶部２２０に記憶する。
【００３９】
次に、データ処理装置１００は、ＲＴレベル記述記憶部２２０に記憶されたＲＴレベル記述の各モジュールに対して、フロアプラニング手段１２０を用いて、制約を満たすようフロアプラニング処理を実行する（ステップＡ３）。データ処理装置１００は、このフロアプラニングの過程で生成されるフロアプランを記憶装置２００のフロアプラン記憶部２３０に記憶する。
【００４０】
次に、データ処理装置１００は、フロアプラン記憶部２３０に記憶されたフロアプランに対して、性能解析手段１３０を用いて、遅延解析、消費電力解析、面積解析の性能解析処理を実行する（ステップＡ４）。
【００４１】
次に、データ処理装置１００は、上記性能解析結果に対して、制約記憶部２６０に記憶された制約を満たしているか否か判定を行う（ステップＡ５）。ここで、制約を満たしていない場合、データ処理装置１００は、性能解析の過程で生成される各結果（遅延、消費電力、面積）に判定結果を加えて記憶装置２００の性能解析結果記憶部２４０に記憶する。
【００４２】
次に、データ処理装置１００は、上記フロアプラン、判定後の性能解析結果に基づき、電圧アイランド生成手段１４０を用いて、電圧アイランド生成処理を実行する（ステップＡ６）。電圧アイランド生成処理は、制約違反を起こしているモジュールを覆う領域を設定し、該領域内に含まれるモジュールの電源電圧を変更することによって行われる。データ処理装置１００は、電圧アイランド生成処理によって作成した電圧アイランド（データ）を、記憶装置２００の電圧アイランド記憶部２５０に記憶する。
【００４３】
次に、データ処理装置１００は、上記フロアプラン、性能解析結果、電圧アイランド（データ）に基づいて、制約抽出手段１５０を用いて、動作合成手段１１０による次の動作合成のための制約を抽出する（ステップＡ７）。抽出された新しい制約は、記憶装置２００の制約記憶部２６０に記憶される。
【００４４】
次に、データ処理装置１００は、抽出した制約を動作合成手段１１０にフィードバックし、再度動作合成処理を行う（ステップＡ２）。以降、データ処理装置１００は、同様にフロアプラニング処理、性能解析処理を行い、制約を満たすまで一連の処理を繰り返す（ステップＡ５）。
【００４５】
最後に、制約を満たした場合（ステップＡ５のＹＥＳ）、データ処理装置１００は、フロアプラン、性能解析結果を記憶装置２００から出力装置４００へ転送し、出力する（ステップＡ８）。
【００４６】
以上のとおり、本実施形態に係る多電源集積回路の設計支援システムは、動作合成手段、フロアプラニング手段、性能解析手段に加え、性能解析結果からの電圧アイランド生成手段、及び、制約抽出手段を備えて構成されているため、複数の電源電圧を考慮した適切な制約を抽出することが可能である。そして、この制約をフィードバックし、一連の処理（動作合成、フロアプラニング、性能解析、電圧アイランド生成、制約抽出）を繰り返すことにより、単一の電源電圧を使用した場合と比較して、少なくとも電圧アイランドに含まれるモジュールの諸特性が向上することとなり、遅延、消費電力、面積に関し、より最適化された回路を得ることが可能である。また、２回目以降の動作合成、フロアプラニングは前回の制約から更新されたモジュールのみを対象としているため、チップ全体について、動作合成、フロアプラニングを実行する場合と比較して、設計期間を短縮することが可能である。
【実施例１】
【００４７】
続いて、本発明による回路の最適化処理の詳細について、簡単な事例を挙げてより具体的に説明する。以下、実施例１は、本発明に係る多電源集積回路の設計支援システムを用いて、遅延制約を違反するパスを改善し、かつ、チップ面積の最適化を試みた例である。
【００４８】
実施例１では、高電圧側の電源電圧値をＨｉｇｈ値とし、低電圧側の電源電圧値をＬｏｗ値として表す。動作合成から性能解析までの１回目のフローでは、すべてのモジュールの電源電圧値としてＬｏｗ値が設定されているものとする。
【００４９】
図３は、設計者より入力される動作レベル記述の一例である。同図に示す動作レベル記述は、１４個の関数（ｆｕｎｃ＿１、ｆｕｎｃ＿２、…、ｆｕｎｃ＿１４）を含んで構成され、各関数が、ＲＴレベルでのモジュール１〜１４にそれぞれ対応するものとする。
【００５０】
図４は、設計者より入力される初期制約であり、また、チップの電源電圧値、消費電力、面積（最大面積、使用率）、クロック（動作周波数）等が、電源電圧（パラメタ）制約、（消費）電力制約、面積制約、遅延制約として、制約記憶部２６０に記憶されている。
【００５１】
図５は、図３の動作レベル記述から生成したＲＴレベルでのモジュール、及び、モジュール間の接続情報を示している。この後に、フロアプラニング手段１２０により、ＲＴレベル記述、及び、制約記憶部２６０から取得した制約に基づき、各モジュールの形状の決定、配置が行われる。また必要に応じて、各モジュール間の配線経路の決定も行われる。フロアプラニング手段１２０によって生成されたフロアプランはフロアプラン記憶部２３０に記憶される。
【００５２】
図６は、上記フロアプラニング手段１２０によるフロアプラニング実行結果を示す。
【００５３】
図７は、図６に例示したフロアプラン及び制約記憶部２６０から取得した遅延制約を入力とした場合の性能解析手段１３０による遅延解析結果の例である。図７を参照すると、遅延解析結果には各モジュール内パスの遅延時間、モジュール間パスの遅延時間等が記述されている。
【００５４】
図８、図９は、図６に例示したフロアプラン及び制約記憶部２６０から取得した消費電力制約又は面積制約を入力とした場合の性能解析手段１３０による消費電力解析結果、面積解析結果の例である。図８、図９を参照すると、それぞれ各モジュールの消費電力、面積と、その合計値が算出されている。
【００５５】
次に、これらの性能解析結果が、性能解析手段１３０により、制約を満たしているかの判定が行われる。図１０、図１１、図１２はそれぞれ、図７、図８、図９の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追加した例である。
【００５６】
図１３は、図６のフロアプランに、図１０の遅延解析結果から特定した遅延違反パスを表示した例である。本実施例では、図１０のとおりモジュール５からモジュール１１へのパス１が遅延違反を起こしており、遅延解消とチップ面積の最適化を達成することを考える。
【００５７】
ここで、図６のフロアプラン、図７の遅延制約を入力として、電圧アイランド作成手段１４０により、電圧アイランド作成処理を実行する。図１４は、上記遅延違反が生じているモジュール５、モジュール１１を覆う矩形領域を電圧アイランドとした状態を表した図である。
【００５８】
図１５は、上記図１４の電圧アイランド（データ）の例であり、電圧アイランド毎に、使用電圧（電源電圧値）と、対象モジュールを指定可能となっている。図１５の例では、
、図１４の矩形領域に含まれるモジュール５、モジュール６、モジュール１０、モジュール１１を対象とし、電源電圧値としてＨｉｇｈ値を設定した電圧アイランドが定義されている（高電圧アイランド化）。
【００５９】
図１６は、図６のフロアプラン、図１０〜図１２の性能解析結果、図１５の電圧アイランド（データ）を入力として、制約抽出手段１５０により、次の動作合成に適用する制約を抽出した例である。
【００６０】
・チップの制約（消費電力制約、面積制約、遅延制約）
チップの消費電力制約は、性能解析結果の消費電力解析結果（３４５ｍＷ）に対し、電圧アイランド化による消費電力増分（＋２００ｍＷ）を考慮して算出した（３４５ｍＷ＋２００ｍＷ≒５５０ｍＷ）ものである。また、チップの面積制約（最大面積、使用率）は、性能解析結果の面積解析結果から電圧アイランド化のレベルシフタ挿入による面積増分を考慮して算出されるが、本実施例では面積解析結果の使用率が６９．８％であり、初期制約（図４）の７０％に接近しているため７０％のままとする。チップの遅延制約も初期制約（図４）から変更していない。
【００６１】
・電圧アイランドの制約（電源電圧値、消費電力制約、対象モジュール名）
次の動作合成に適用する制約では、電圧アイランドに関する制約が追加される。電圧アイランドの制約では、電圧アイランド内で使用する電源電圧値（Ｈｉｇｈ）、消費電力制約（３６０ｍＷ）、アイランドを構成するモジュール名が抽出される。消費電力制約は、性能解析結果の消費電力解析結果（図１１参照）から、電圧アイランド化による消費電力増分を考慮して（モジュール５、６、１０、１１の消費電力がそれぞれ４０ｍＷから９０ｍＷに増大すると算出され、その合計は３６０ｍＷとなる。）算出する。
【００６２】
・各モジュールの制約（電源電圧値、消費電力制約、面積制約、入力端子数制約、出力端子数制約、入力端子遅延制約、出力端子遅延制約）
図１６の網かけ部分が、制約の更新が行われた箇所を表しており、モジュール５、６、１０、１１と（電圧アイランド化）と、モジュール２（モジュール６の入力端子数削減）に、制約の更新が行われている。各モジュールの制約における電源電圧値は、初期制約（図４）及び図１５の電圧アイランド（データ）を用いて設定される。また、各モジュールの消費電力制約は、性能解析結果の消費電力解析結果を利用することができる。その上で、電圧アイランド内モジュールについては、先に述べたとおり、電圧アイランド化による電力の増大が考慮される。各モジュールの面積制約は、図９の面積解析結果が直接代入されている。
【００６３】
制約抽出手段１５０は、更に、各モジュールの入力端子数制約、出力端子数制約を追加する。入力端子数制約、出力端子数制約は、レベルシフタの挿入による遅延、消費電力、面積の増加を軽減するために抽出される。電源電圧値が低いモジュールから高いモジュールへ接続する配線間には、回路を誤動作させないために、レベルシフタを追加挿入する必要がある。本実施例では、面積解析結果から、当初から使用率がほぼ制約と同じであり（制約７０％のところ、解析結果が６９．８％）、レベルシフタ挿入による面積増加を抑えるために、モジュール６について入力端子数を３本から２本に削減する制約が追加されている。これに対応して、モジュール６の前段のモジュール（モジュール２）で複数個の出力端子からモジュール６の複数個の入力端子に接続しているため、出力端子数を削減する制約が追加されている。
【００６４】
また、制約抽出手段１５０は、図１０の遅延解析結果から、電圧アイランドの境界モジュール、及び、併合するモジュールについても、各モジュールの入力端子遅延制約、出力端子遅延制約を抽出する。図１６の例では、モジュール５、モジュール６に入力端子遅延制約を、モジュール１０、モジュール１１に出力端子遅延制約を与えている。
【００６５】
２回目の動作合成以降のフローでは、これらの制約を利用（フィードバック）して動作合成が行われる。動作合成は、すべてのモジュールを対象とするのではなく、電圧アイランド化に関連し制約に変更が生じたモジュールを対象とすることができる。本実施例では、モジュール２、モジュール５、モジュール６、モジュール１０、モジュール１１を２回目の動作合成の対象としている。これらのモジュールをフィードバックした制約下で動作合成を実行することで、新しいＲＴレベル記述がＲＴレベル記述記憶部２２０に記憶される。
【００６６】
図１７は、上記新たに抽出された制約により動作合成を行った後の電圧アイランド内のモジュールの面積の変化を示す図である。モジュール５、モジュール１１は遅延違反を解除するため、面積の変化は顕著ではないが、モジュール６、モジュール１０は遅延違反ではないため、電源電圧値をＬｏｗ値から、Ｈｉｇｈ値に上げたことで、遅延に余裕ができ、１回目のフロー（図左側）と比較して面積が小さくなっている。
【００６７】
フロアプラニング手段１２０は、ＲＴレベル記述、および、これらの制約を入力として、フロアプラニング処理を実行し、各モジュールの形状を決定し、配置する。実際には、動作合成同様、電圧アイランドに関連するモジュール２、モジュール５、モジュール６、モジュール１０、モジュール１１のみを再配置し、これら以外のモジュールは１回目のフロアプランのまま固定し、移動しないこととすることができる。
【００６８】
また、フロアプラニング手段１２０は、必要に応じて、各モジュール間の配線経路を決定するとともに、低電圧領域から電圧アイランドに至る配線間にレベルシフタを挿入する。
【００６９】
図１４のフロアプランの以下の配線間にレベルシフタが挿入され、最終的には、図１８のとおりとなる。
・モジュール１からモジュール５
・モジュール２からモジュール５
・モジュール２からモジュール６
・モジュール３からモジュール６
【００７０】
なお、図１８において、モジュール２とモジュール６間で挿入するレベルシフタ数は削減されている。図１９の左側は、入力端子数制約、出力端子数制約を課さないで動作合成、フロアプランニングを行った例であり、図１９の右側は、入力端子数制約、出力端子数制約を考慮した例である。右図では、入力端子数制約、出力端子数制約を課して動作合成、フロアプランニングを行った例である。モジュール６の入力端子数及びモジュール２の出力端子数をそれぞれ減少させたことにより、挿入するレベルシフタ数も２個から１個に減少する。
【００７１】
その後、更に、性能解析手段１３０によって、新しい制約及びフロアプランを入力として性能解析処理が実行され、制約を満たしているか否かの判定が行われる。図２０、図２１、図２２は、それぞれ２回目のフローを経た後の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追記したものである。
【００７２】
図１０〜図１２と、図２０〜図２２を対比しても明らかなとおり、１回目のフローで検出された違反パスに拘わるモジュールの電源電圧をＨｉｇｈ値に上げ、かつ、その他の近傍の回路の省面積化を達成する電圧アイランドを設けることで、結果として、遅延制約を満たしかつ面積を最適化するフロアプランが得られている。また、２回目に抽出された制約は、モジュール２、モジュール５、モジュール６、モジュール１０、モジュール１１のみを対象とするものであるため、チップ全体（全モジュール）について動作合成以下の一連の処理を行う必要はなく、これらモジュールのみを動作合成以下の処理対象とすることも可能である。
【実施例２】
【００７３】
続いて、上記実施例１と同様の本発明に係る多電源集積回路の設計支援システムを用いて、遅延制約を違反するパスを改善し、かつ、チップ消費電力の最適化を試みた本発明の実施例２について説明する。
【００７４】
実施例２においても、高電圧側の電源電圧値をＨｉｇｈ値とし、低電圧側の電源電圧値をＬｏｗ値として表す。動作合成から性能解析までの１回目のフローでは、すべてのモジュールの電源電圧値としてＬｏｗ値が設定されているものとする。
【００７５】
実施例１と同様に、図３に示す動作レベル記述を動作合成し、フロアプランニングした結果、図２３に示すフロアプランが得られたものとする。
【００７６】
図２４は、図２３に例示したフロアプラン及び制約記憶部２６０から取得した遅延制約（図４参照）を入力とした場合の性能解析手段１３０による遅延解析結果の例である。図２４を参照すると、遅延解析結果には各モジュール内パスの遅延時間、モジュール間パスの遅延時間等が記述されている。
【００７７】
図２５、図２６は、図２３に例示したフロアプラン及び制約記憶部２６０から取得した消費電力制約又は面積制約（それぞれ図４参照）を入力とした場合の性能解析手段１３０による消費電力解析結果、面積解析結果の例である。図２５、図２６を参照すると、それぞれ各モジュールの消費電力、面積と、その合計値が算出されている。
【００７８】
次に、これらの性能解析結果が、性能解析手段１３０により、制約を満たしているかの判定が行われる。図２７、図２８、図２９はそれぞれ、図２４、図２５、図２６の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追加した例である。
【００７９】
図３０は、図２３のフロアプランに、図２７の遅延解析結果から特定した遅延違反パスを表示した例である。本実施例では、図２７のとおりモジュール４からモジュール９へのパス１が遅延違反を起こしており、遅延解消とチップ消費電力の最適化を達成することを考える。
【００８０】
ここで、図２３のフロアプラン、図２４の遅延制約を入力として、電圧アイランド作成手段１４０により、電圧アイランド作成処理を実行する。図３１は、上記遅延違反が生じているモジュール４、モジュール８、モジュール９を覆う矩形領域を電圧アイランドとした状態を表した図である。
【００８１】
図３２は、上記図３１の電圧アイランド（データ）の例であり、図３１の矩形領域に含まれるモジュール４、モジュール８、モジュール９を対象とし、電源電圧値としてＨｉｇｈ値を設定した電圧アイランドが定義されている（高電圧アイランド化）。
【００８２】
図３３は、図２３のフロアプラン、図２７〜図２９の性能解析結果、図３２の電圧アイランド（データ）を入力として、制約抽出手段１５０により、次の動作合成に適用する制約を抽出した例である。
【００８３】
・チップの制約（消費電力制約、面積制約、遅延制約）
チップの消費電力制約は、性能解析結果の消費電力解析結果から、電圧アイランド化による消費電力増分（＋２００ｍＷ）を考慮して算出するが、本実施例では消費電力解析結果が４５５ｍＷであり、消費電力増分を加算すると、初期制約（図４）を超えてしまうため、６００ｍＷから変更しないものとする。また、チップの面積制約（最大面積、使用率）は、性能解析結果の面積解析結果から電圧アイランド化のレベルシフタ挿入による面積増分を考慮して算出されるが、本実施例では面積解析結果の使用率が６８．８％であり、初期制約（図４）の７０％に接近しているため７０％のままとする。チップの遅延制約も初期制約（図４）から変更していない。
【００８４】
・電圧アイランドの制約（電源電圧値、面積制約、対象モジュール名）
次の動作合成に適用する制約では、電圧アイランドに関する制約が追加される。電圧アイランドの制約では、電圧アイランド内で使用する電源電圧値（Ｈｉｇｈ）、面積制約（４ｍｍ×７ｍｍ）、アイランドを構成するモジュール名が抽出される。面積制約は、性能解析結果の面積解析結果（図２９参照）から、電圧アイランド内モジュールの面積値（１８ｍｍ２）を合計した値と使用率から算出することができる。
【００８５】
・各モジュールの制約（電源電圧値、消費電力制約、面積制約、入力端子数制約、出力端子数制約、入力端子遅延制約、出力端子遅延制約）
図３３の網かけ部分が、制約の更新が行われた箇所を表しており、モジュール４、８、９（電圧アイランド化）に、制約の更新が行われている。電源電圧値は、初期制約（図４）及び図３２の電圧アイランド（データ）を用いて設定される。また、各モジュールの消費電力制約は、性能解析結果の消費電力解析結果を利用することができる。その上で、電圧アイランド内モジュールについては、先に述べたとおり、電圧アイランド化による電力の増大が考慮される。各モジュールの面積制約は、図２６の面積解析結果が直接代入されている。
【００８６】
また、制約抽出手段１５０は、上記実施例１と同様に、遅延解析結果を利用して各モジュールの入力端子遅延制約、出力端子遅延制約を抽出する。図３３の例では、モジュール４に入力端子遅延制約を、モジュール９に出力端子遅延制約に与えている。
【００８７】
２回目の動作合成以降のフローでは、これらの制約を利用して動作合成が行われる。動作合成は、すべてのモジュールを対象とするのではなく、電圧アイランド化に関連し制約に変更が生じたモジュールを対象とすることができる。本実施例では、モジュール４、モジュール８、モジュール９を２回目の動作合成の対象としている。これらのモジュールをフィードバックした制約下で動作合成を実行することで、新しいＲＴレベル記述がＲＴレベル記述記憶部２２０に記憶される。
【００８８】
図３４は、上記新たに抽出された制約により動作合成を行った後の電圧アイランド内のモジュールの消費電力の変化を示す図である。モジュール４、モジュール９は遅延違反を解除するため、消費電力の変化は顕著ではないが、モジュール８は遅延違反ではないため、電源電圧値をＬｏｗ値から、Ｈｉｇｈ値に上げたことで、遅延に余裕ができ、１回目のフロー（図左側）と比較して消費電力が小さくなっている。
【００８９】
フロアプラニング手段１２０は、ＲＴレベル記述、および、これらの制約を入力として、フロアプラニング処理を実行し、各モジュールの形状を決定し、配置する。実際には、動作合成同様、電圧アイランドに関連するモジュール４、モジュール８、モジュール９のみを再配置し、これら以外のモジュールは１回目のフロアプランのまま固定し、移動しないこととすることができる。
【００９０】
また、フロアプラニング手段１２０は、必要に応じて、各モジュール間の配線経路を決定するとともに、低電圧領域から電圧アイランドに至る配線間（モジュール１−モジュール４）にレベルシフタを挿入する。最終的には、図３５のとおりとなる。
【００９１】
その後、更に、性能解析手段１３０によって、新しい制約及びフロアプランを入力として性能解析処理が実行され、制約を満たしているか否かの判定が行われる。図３６、図３７、図３８は、それぞれ２回目のフローを経た後の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追記したものである。
【００９２】
図２７〜図２９と、図３６〜図３８を対比しても明らかなとおり、１回目のフローで検出された違反パスに拘わるモジュールの電源電圧をＨｉｇｈ値に上げ、かつ、その他の近傍の回路の省電力化を達成する電圧アイランドを設けることで、結果として、遅延制約を満たしかつ消費電力を最適化するフロアプランが得られている。
【００９３】
また、２回目に抽出された制約は、モジュール４、モジュール８、モジュール９のみを対象とするものであるため、チップ全体（全モジュール）について動作合成以下の一連の処理を行う必要はなく、これらモジュールのみを動作合成以下の処理対象とすることも可能である。
【００９４】
以上、本発明の好適な実施形態と、その具体例を説明したが、上記遅延制約を違反するモジュールを改善しつつ、消費電力や面積を最適化する例と同様に、消費電力制約を違反するモジュールを改善しつつ、遅延や面積を最適化すること、面積制約を違反するモジュールを改善しつつ、遅延や消費電力を最適化することもそれぞれ実現可能である。換言すれば、本発明は、多電源集積回路の遅延、消費電力、面積の少なくとも２項目を最適化することを容易化するということである。
【００９５】
本発明の技術的範囲は、上述した実施形態の記載に限定されるものではなく、多電源集積回路の設計において、性能解析結果に基づいて電圧アイランドを設けるとともに、電圧アイランドを設けたことによる影響を次の動作合成にフィードバックさせるという本発明の原理を逸脱しない範囲で各種の変形を加えることが可能である。例えば、上記した実施形態では、多電源集積回路設計支援システムに動作合成手段、フロアプランニング手段、性能解析手段が備えられているものとして説明したが、これらは、既存の動作合成システム、フロアプランニングシステムのものを利用することができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１の実施形態に係る多電源集積回路設計支援システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る多電源集積回路の設計方法の流れを表したフローチャートである。
【図３】動作合成の入力となる動作レベル記述の例を示す図である。
【図４】動作合成の初期制約の一例を示す図である。
【図５】図３の動作レベル記述を動作合成して得られたＲＴレベル記述を示す図である。
【図６】図５のＲＴレベル記述にフロアプラニング処理を実行して得られたフロアプランを示す図である。
【図７】遅延解析結果の一例である。
【図８】消費電力解析結果の一例である。
【図９】面積解析結果の一例である。
【図１０】図７の遅延解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図１１】図８の消費電力解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図１２】図９の面積解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図１３】図６のフロアプランに、図１０の遅延解析結果から特定した遅延違反パス、モジュールを表示した例である。
【図１４】図１３の遅延違反が生じているモジュールを覆う矩形領域を電圧アイランドとした状態を表した図である。
【図１５】図１４の電圧アイランドのデータの例である。
【図１６】実施例１における制約抽出手段により抽出された次の動作合成に適用する制約の例である。
【図１７】図１６の制約による動作合成後の電圧アイランド内のモジュールの面積の変化を示す図である。
【図１８】図１６の制約による動作合成、フロアプランニングの結果を表した図である。
【図１９】モジュールの入力端子数制約、出力端子数制約によるレベルシフタ数の削減を説明するための図である。
【図２０】図１６の制約による動作合成、フロアプランニングを経た後の遅延解析結果の例である。
【図２１】図１６の制約による動作合成、フロアプランニングを経た後の消費電力解析結果の例である。
【図２２】図１６の制約による動作合成、フロアプランニングを経た後の面積解析結果の例である。
【図２３】図５のＲＴレベル記述にフロアプラニング処理を実行して得られたフロアプランを示す図である。
【図２４】遅延解析結果の別の一例である。
【図２５】消費電力解析結果の別の一例である。
【図２６】面積解析結果の別の一例である。
【図２７】図２４の遅延解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図２８】図２５の消費電力解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図２９】図２６の面積解析結果に制約を満たしているか否かの判定結果を追加した例である。
【図３０】図２３のフロアプランに、図２７の遅延解析結果から特定した遅延違反パス、モジュールを表示した例である。
【図３１】図３０の遅延違反が生じているモジュールを覆う矩形領域を電圧アイランドとした状態を表した図である。
【図３２】図３１の電圧アイランドのデータの例である。
【図３３】実施例２における制約抽出手段により抽出された次の動作合成に適用する制約の例である。
【図３４】図３３の制約による動作合成後の電圧アイランド内のモジュールの消費電力の変化を示す図である。
【図３５】図３３の制約による動作合成、フロアプランニングの結果を表した図である。
【図３６】図３３の制約による動作合成、フロアプランニングを経た後の遅延解析結果の例である。
【図３７】図３３の制約による動作合成、フロアプランニングを経た後の消費電力解析結果の例である。
【図３８】図３３の制約による動作合成、フロアプランニングを経た後の面積解析結果の例である。
【図３９】従来の設計手法説明するための図である。
【図４０】低電圧側のモジュールから高電圧側のモジュールに至る配線間に配設されるレベルシフタを説明するための図である。
【符号の説明】
【００９７】
１００  データ処理装置
２００  記憶装置
３００  入力装置
４００  出力装置
１１０  動作合成手段
１２０  フロアプラニング手段
１３０  性能解析手段
１４０  電圧アイランド生成手段
１５０  制約抽出手段
２１０  動作レベル記述記憶部
２２０  ＲＴレベル記述記憶部
２３０  フロアプラン記憶部
２４０  性能解析結果記憶部
２５０  電圧アイランド記憶部
２６０  制約記憶部
【図１】
2008176486.tif 000003
【図２】
2008176486.tif 000004
【図３】
2008176486.tif 000005
【図４】
2008176486.tif 000006
【図５】
2008176486.tif 000007
【図６】
2008176486.tif 000008
【図７】
2008176486.tif 000009
【図８】
2008176486.tif 000010
【図９】
2008176486.tif 000011
【図１０】
2008176486.tif 000012
【図１１】
2008176486.tif 000013
【図１２】
2008176486.tif 000014
【図１３】
2008176486.tif 000015
【図１４】
2008176486.tif 000016
【図１５】
2008176486.tif 000017
【図１６】
2008176486.tif 000018
【図１７】
2008176486.tif 000019
【図１８】
2008176486.tif 000020
【図１９】
2008176486.tif 000021
【図２０】
2008176486.tif 000022
【図２１】
2008176486.tif 000023
【図２２】
2008176486.tif 000024
【図２３】
2008176486.tif 000025
【図２４】
2008176486.tif 000026
【図２５】
2008176486.tif 000027
【図２６】
2008176486.tif 000028
【図２７】
2008176486.tif 000029
【図２８】
2008176486.tif 000030
【図２９】
2008176486.tif 000031
【図３０】
2008176486.tif 000032
【図３１】
2008176486.tif 000033
【図３２】
2008176486.tif 000034
【図３３】
2008176486.tif 000035
【図３４】
2008176486.tif 000036
【図３５】
2008176486.tif 000037
【図３６】
2008176486.tif 000038
【図３７】
2008176486.tif 000039
【図３８】
2008176486.tif 000040
【図３９】
2008176486.tif 000041
【図４０】
2008176486.tif 000042