[go: up one dir, main page]

JP2008176486A - 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム - Google Patents

多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム Download PDF

Info

Publication number
JP2008176486A
JP2008176486A JP2007008256A JP2007008256A JP2008176486A JP 2008176486 A JP2008176486 A JP 2008176486A JP 2007008256 A JP2007008256 A JP 2007008256A JP 2007008256 A JP2007008256 A JP 2007008256A JP 2008176486 A JP2008176486 A JP 2008176486A
Authority
JP
Japan
Prior art keywords
constraint
module
voltage island
power supply
analysis result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007008256A
Other languages
English (en)
Inventor
Masayuki Nakajima
将行 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007008256A priority Critical patent/JP2008176486A/ja
Publication of JP2008176486A publication Critical patent/JP2008176486A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】機能設計時に、複数の電源電圧を考慮して、遅延、消費電力、面積の少なくとも2項目を最適化した回路を得ることのできる方法・システムの提供。
【解決手段】多電源集積回路の設計支援システムは、遅延等の性能解析を実行し(ステップA4)、制約を満たさない場合、フロアプラン、性能解析結果を入力として、電圧アイランドを生成する(ステップA6)。次に、フロアプラン、性能解析結果、電圧アイランドから、次の動作合成のための制約(チップ、および各モジュールの遅延制約、消費電力制約、面積制約、電圧アイランドに関する制約)を抽出し(ステップA7)、動作合成から実行し直し(ステップA2〜)、最適解を求める。
【選択図】図2

Description

本発明は、チップ上に電圧アイランドを有する多電源集積回路の設計方法、その設計支援システム及び設計支援プログラムに関する。
回路を複数のブロックに分割し、遅延制約、面積制約、消費電力制約(以下、これらを総称する場合、単に「制約」という。)等の様々な制約を満たしながら、ブロックの形状を決定し、ブロックを適切に配置するフロアプラニングは、従来、論理設計後の回路(ゲートレベルネットリスト)について行われてきた。
フロアプラニングにより生成されたフロアプランについて、遅延、面積、消費電力などの性能解析を実行し、制約を違反する場合は、論理設計前の動作レベル(Behavioral Level)やRTレベル(Register Transfer Level)までフィードバックし、制約の違反がなくなるまで(設計収束するまで)、繰り返すことが行われている。
しかしながら、近年の集積回路の大規模化、プロセスの微細化に伴い、上記の手順では、設計期間内に設計収束しないようになってきた。そこで、論理設計より初期の機能設計でフロアプラニングする手法が提案されている。
例えば、特許文献1では、RTレベルで回路を複数のブロックに分割し、各ブロックに適当な遅延モデルや面積モデルを与え、それらをもとにフロアプラニングを行う方法が開示されている。
特許文献2では、図39に示すように、動作レベル、RTレベル、ゲートレベル、レイアウトレベルの各レベルにおいて、回路を構成する各ブロック(特許文献2では「モジュール」と呼んでいる。以降、「ブロック」と「モジュール」は同義であるとする。)の遅延、面積、消費電力をパラメタとして与え、これらパラメタを制約としてフロアプラニングする方法が開示されている。また、フロアプラニングが出力するフロアプランについて、再度、遅延、面積、消費電力を見積もり、パラメタを更新し、制約を満たす(設計収束する)まで同じレベルで反復を繰り返すとされている。
特許文献3では、動作レベル記述と動作合成制約を入力とし、動作合成、フロアプラニング後、遅延解析結果に基づいて、ブロック(特許文献3では「クラスタ」と呼んでいる。)を再作成、分割、併合する制約をフィードバックし、再度、動作合成、フロアプラニングを繰り返すことで、回路の遅延を最適化する方法が開示されている。
また。市販の製品としては、アトレンタ社(Atrenta)の1Team−Implement(非特許文献1)が知られており、特許文献1とほぼ同様の機能を備えている。
一方で、近年、需要が増加している携帯電話やPDA(Personal Digital Assistant)など携帯機器の回路設計においては、低消費電力化が不可欠となっており、低消費電力設計手法の1つとして、電源電圧を複数供給し、回路の消費電力を最適化する多電源設計手法がよく用いられる。電源電圧を複数個扱う場合、図40に示すような、低い電源電圧のブロックから高い電源電圧のブロックへ接続する配線間にはレベルシフタを挿入する等の回路内でのオーバヘッドを考慮する必要があるが、高性能を要求しないブロック(遅延制約が緩いブロック)については低い電源電圧を割り当てることで、消費電力の削減効果は非常に大きい。
特許文献4では、論理設計後の配置処理において、遅延違反を起こしているゲートには高い電源電圧値を、そうでないゲートには低い電源電圧値を割り当て、さらには、高い電源電圧値のゲート同士、あるいは、低い電源電圧値のゲート同士をできるだけ近傍に配置する(電圧アイランドを生成する)ことで、レベルシフタ挿入などのオーバヘッドを最小化し、面積、遅延を考慮して、効率よく低消費電力化を実現する方法が開示されている。
特表2004−513436号公報 特開平10−171857号公報 特開2004−265224号公報 特開2002−215706号公報 ATRENTA社 「1Team−Implement」 (http://www.atrenta.com/Links/Solutions_Prod_Implement.aspx)
しかしながら、上記特許文献1〜3、非特許文献1のような従来技術でのフロアプラニングや、設計収束するまでのフローを繰り返す回路設計手法では、特許文献4のような、複数の電源電圧を扱うことができないため、低消費電力化の効果が小さいという問題点がある。実際、携帯電話やPDAなど携帯機器のような回路設計においては、消費電力がクリティカルになるため、レイアウト時に、通常の電源電圧に加えて、より低い値の電源電圧を新たに用いることが多いが、上記特許文献1〜3、非特許文献1の技術では複数の電源電圧を扱うことができないという問題点がある。
特許文献4は、レイアウト設計の配置処理についてのみ記載しているが、より抽象度の高い機能設計段階での多電源設計手法は未だ確立されていないのが現状である。
[発明の目的]
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、機能設計の段階で、複数の電源電圧の採用を考慮し、集積回路全体の最適化を達成することのできる多電源集積回路の設計方法、その設計支援システム及び設計支援プログラムを提供することである。
本発明の第1の視点によれば、動作レベル記述と制約からRTレベル記述を生成する動作合成手段と、前記生成したRTレベル記述と制約からフロアプランを生成するフロアプランニング手段と、前記フロアプランと制約から、対象回路の性能解析を行う性能解析手段と、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、を備え、前記制約抽出手段によって抽出された制約を前記動作合成手段にフィードバックすること、を特徴とする多電源集積回路の設計支援システムが提供される。
本発明の第2の視点によれば、コンピュータを用いた多電源集積回路の設計方法であって、前記コンピュータが、入力された動作レベル記述と制約からRTレベル記述を生成する動作合成ステップと、前記コンピュータが、前記生成したRTレベル記述と制約からフロアプランを生成するフロアプラン生成ステップと、前記コンピュータが、前記フロアプランと制約から、対象回路の性能解析を行う性能解析ステップと、前記コンピュータが、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成ステップと、前記コンピュータが、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出ステップと、を含み、前記制約抽出ステップによって抽出された制約を前記動作合成ステップにフィードバックすること、を特徴とする多電源集積回路の設計方法が提供される。
本発明の第3の視点によれば、機能設計段階の回路の性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを作成する電圧アイランド生成手段と、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、の双方として、コンピュータを機能させること、を特徴とする多電源集積回路の設計支援プログラムが提供される。
本発明によれば、複数の電源電圧の供給により、消費電力、遅延、面積の各観点で最適化された回路を短期間で得ることが可能となる。その理由は、電圧アイランドを設けるとともに、電圧アイランドの設置による影響(制約)を動作合成工程にフィードバックするようにしたことにある。
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施実施形態に係る多電源集積回路の設計支援システムの構成を表したブロック図である。図1を参照すると、本実施形態に係る多電源集積回路の設計支援システムは、プログラム制御により動作するデータ処理装置100と、記憶装置200と、入力装置300と、出力装置400とから構成されている。
データ処理装置100は、動作合成手段110と、フロアプラニング手段120と、性能解析手段130と、電圧アイランド生成手段140と、制約抽出手段150とを備えている。前記各手段は、例えば、後記する動作合成処理、フロアプラニング処理等を実行するコンピュータプログラムによって実現される。
記憶装置200は、動作レベル記述記憶部210と、RTレベル記述記憶部220と、フロアプラン記憶部230と、性能解析結果記憶部240と、電圧アイランド記憶部250と、制約記憶部260とを備えている。
続いて、データ処理装置100に備えられた各処理手段の詳細について説明する。
動作合成手段110は、動作レベル記述記憶部210に記憶された動作レベル記述(図3参照)に対し、制約記憶部260に記憶された遅延、消費電力、面積等の制約を満たすように動作合成を実行する。動作合成はいくつかの処理単位毎に行われ、1回の合成単位を1モジュールとする。動作合成が終了すると、動作合成手段110は、RTレベル(レジスタ転送レベル)記述を、RTレベル記述記憶部220に記憶する。
フロアプラニング手段120は、RTレベル記述記憶部220に記憶された各モジュールにおけるRTレベル記述に対し、制約記憶部260に記憶された遅延、消費電力、面積などの制約を満たすようにフロアプラニングを実行することで、各モジュールの形状を決定・配置し、必要に応じて各モジュール間の配線経路を決定等を行う。また、フロアプラニング手段120は、電源電圧が低いモジュールから電源電圧が高いモジュールへの配線については回路が誤動作しないよう、レベルシフタの挿入処理も行う。フロアプラニング手段120によって生成されたフロアプランは、フロアプラン記憶部230に記憶される。
性能解析手段130は、フロアプラン記憶部230に記憶されたフロアプランから遅延解析、消費電力解析、面積解析を行い、制約記憶部260に記憶された遅延、消費電力、面積などの制約を満たしているか否かの判定を行う。性能解析手段130は、判定の結果を含めた、遅延解析結果、消費電力結果、面積解析結果を性能解析結果記憶部240に記憶する。
電圧アイランド生成手段140は、フロアプラン記憶部230に記憶されたフロアプラン、性能解析結果記憶部240に記憶された性能解析結果を入力として、制約違反を起こしているモジュールを対象として電圧アイランド生成処理を実行する。
電圧アイランド生成処理では、制約違反を起こしているモジュールを覆う領域について、領域内に含まれるモジュールの電源電圧の変更を行う電圧アイランドの生成処理が行われる。例えば、遅延違反パスを改善する場合、あるいは、面積を小さくする場合は、電源電圧値をより高い値に割り当てることにより改善が図られる。また、消費電力を削減する場合は、電源電圧値をより低い値に割り当てることにより改善が図られる。このとき、電圧アイランド生成手段140は、多電源対応による集積回路全体のオーバヘッドが最小化するように電圧アイランドの対象領域を設定する。
電圧アイランド生成手段140によって作成された電圧アイランド(データ)は、電圧アイランド記憶部250に記憶される。この電圧アイランド(データ)には、アイランド内で使用する共通の電源電圧値、および、アイランド内モジュールが少なくとも含まれるものとする。
制約抽出手段150は、フロアプラン記憶部230のフロアプラン、性能解析結果記憶部240の性能解析結果(遅延解析結果、消費電力解析結果、面積解析結果)、及び、電圧アイランド記憶部250の電圧アイランド(データ)を入力とし、チップ及び各モジュールについて、動作合成手段110の次の動作合成のための各種制約(遅延制約、消費電力制約、面積制約など)を制約記憶部260に出力する。
このとき、電圧アイランドに関する制約としては、性能解析結果から算出した遅延制約、消費電力制約、面積制約とともに、電圧アイランドの電源電圧値及び対象モジュール名が含まれる。
また、電圧アイランドに含まれるモジュールについても、モジュールの電源電圧値の変更を考慮して、性能解析結果から算出した遅延制約、消費電力制約、面積制約等のモジュールに関する制約が更新される。
また、電圧アイランド化によって、2回目のフロアプラニングでは、低電圧モジュールから高電圧モジュールへ接続するモジュール間の配線中にレベルシフタを挿入する必要が生じる。このレベルシフタの挿入数を抑えるために、該当するモジュールの端子数に関する制約(最小化或いは上限)も、制約記憶部260に記憶される。
上記のように前記電圧アイランドを設けたことによる影響を加味して抽出された制約記憶部260の制約は、動作合成手段110へフィードバックされ、再度、動作合成、フロアプラニングの際に参照される。
入力装置300は、動作レベル記述や制約を記憶装置200に転送する際に使用されるキーボードや各種記憶ドライブ等の装置である。
出力装置400は、フロアプラン記憶部230からのフロアプラン結果、性能解析結果記憶部240からの各性能解析結果を出力する。
続いて、上記多電源集積回路の設計支援システムを用いて行う多電源集積回路の設計方法について、図面を参照して詳細に説明する。図2は、本発明に係る多電源集積回路の設計方法の大まかな流れを表したフローチャートである。
図2を参照すると、まず、設計者により入力装置300から、動作レベル記述、制約の入力が行われると、データ処理装置100は、これらを記憶装置200の動作レベル記述記憶部210及び制約記憶部260に転送する(ステップA1)。
次に、データ処理装置100は、動作レベル記述記憶部210及び制約記憶部260に記憶された動作レベル記述、動作合成制約に対して動作合成手段110を用いて動作合成処理を実行する(ステップA2)。データ処理装置100は、この動作合成の過程で生成される各モジュールにおけるRTレベル記述を記憶装置200のRTレベル記述記憶部220に記憶する。
次に、データ処理装置100は、RTレベル記述記憶部220に記憶されたRTレベル記述の各モジュールに対して、フロアプラニング手段120を用いて、制約を満たすようフロアプラニング処理を実行する(ステップA3)。データ処理装置100は、このフロアプラニングの過程で生成されるフロアプランを記憶装置200のフロアプラン記憶部230に記憶する。
次に、データ処理装置100は、フロアプラン記憶部230に記憶されたフロアプランに対して、性能解析手段130を用いて、遅延解析、消費電力解析、面積解析の性能解析処理を実行する(ステップA4)。
次に、データ処理装置100は、上記性能解析結果に対して、制約記憶部260に記憶された制約を満たしているか否か判定を行う(ステップA5)。ここで、制約を満たしていない場合、データ処理装置100は、性能解析の過程で生成される各結果(遅延、消費電力、面積)に判定結果を加えて記憶装置200の性能解析結果記憶部240に記憶する。
次に、データ処理装置100は、上記フロアプラン、判定後の性能解析結果に基づき、電圧アイランド生成手段140を用いて、電圧アイランド生成処理を実行する(ステップA6)。電圧アイランド生成処理は、制約違反を起こしているモジュールを覆う領域を設定し、該領域内に含まれるモジュールの電源電圧を変更することによって行われる。データ処理装置100は、電圧アイランド生成処理によって作成した電圧アイランド(データ)を、記憶装置200の電圧アイランド記憶部250に記憶する。
次に、データ処理装置100は、上記フロアプラン、性能解析結果、電圧アイランド(データ)に基づいて、制約抽出手段150を用いて、動作合成手段110による次の動作合成のための制約を抽出する(ステップA7)。抽出された新しい制約は、記憶装置200の制約記憶部260に記憶される。
次に、データ処理装置100は、抽出した制約を動作合成手段110にフィードバックし、再度動作合成処理を行う(ステップA2)。以降、データ処理装置100は、同様にフロアプラニング処理、性能解析処理を行い、制約を満たすまで一連の処理を繰り返す(ステップA5)。
最後に、制約を満たした場合(ステップA5のYES)、データ処理装置100は、フロアプラン、性能解析結果を記憶装置200から出力装置400へ転送し、出力する(ステップA8)。
以上のとおり、本実施形態に係る多電源集積回路の設計支援システムは、動作合成手段、フロアプラニング手段、性能解析手段に加え、性能解析結果からの電圧アイランド生成手段、及び、制約抽出手段を備えて構成されているため、複数の電源電圧を考慮した適切な制約を抽出することが可能である。そして、この制約をフィードバックし、一連の処理(動作合成、フロアプラニング、性能解析、電圧アイランド生成、制約抽出)を繰り返すことにより、単一の電源電圧を使用した場合と比較して、少なくとも電圧アイランドに含まれるモジュールの諸特性が向上することとなり、遅延、消費電力、面積に関し、より最適化された回路を得ることが可能である。また、2回目以降の動作合成、フロアプラニングは前回の制約から更新されたモジュールのみを対象としているため、チップ全体について、動作合成、フロアプラニングを実行する場合と比較して、設計期間を短縮することが可能である。
続いて、本発明による回路の最適化処理の詳細について、簡単な事例を挙げてより具体的に説明する。以下、実施例1は、本発明に係る多電源集積回路の設計支援システムを用いて、遅延制約を違反するパスを改善し、かつ、チップ面積の最適化を試みた例である。
実施例1では、高電圧側の電源電圧値をHigh値とし、低電圧側の電源電圧値をLow値として表す。動作合成から性能解析までの1回目のフローでは、すべてのモジュールの電源電圧値としてLow値が設定されているものとする。
図3は、設計者より入力される動作レベル記述の一例である。同図に示す動作レベル記述は、14個の関数(func_1、func_2、…、func_14)を含んで構成され、各関数が、RTレベルでのモジュール1〜14にそれぞれ対応するものとする。
図4は、設計者より入力される初期制約であり、また、チップの電源電圧値、消費電力、面積(最大面積、使用率)、クロック(動作周波数)等が、電源電圧(パラメタ)制約、(消費)電力制約、面積制約、遅延制約として、制約記憶部260に記憶されている。
図5は、図3の動作レベル記述から生成したRTレベルでのモジュール、及び、モジュール間の接続情報を示している。この後に、フロアプラニング手段120により、RTレベル記述、及び、制約記憶部260から取得した制約に基づき、各モジュールの形状の決定、配置が行われる。また必要に応じて、各モジュール間の配線経路の決定も行われる。フロアプラニング手段120によって生成されたフロアプランはフロアプラン記憶部230に記憶される。
図6は、上記フロアプラニング手段120によるフロアプラニング実行結果を示す。
図7は、図6に例示したフロアプラン及び制約記憶部260から取得した遅延制約を入力とした場合の性能解析手段130による遅延解析結果の例である。図7を参照すると、遅延解析結果には各モジュール内パスの遅延時間、モジュール間パスの遅延時間等が記述されている。
図8、図9は、図6に例示したフロアプラン及び制約記憶部260から取得した消費電力制約又は面積制約を入力とした場合の性能解析手段130による消費電力解析結果、面積解析結果の例である。図8、図9を参照すると、それぞれ各モジュールの消費電力、面積と、その合計値が算出されている。
次に、これらの性能解析結果が、性能解析手段130により、制約を満たしているかの判定が行われる。図10、図11、図12はそれぞれ、図7、図8、図9の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追加した例である。
図13は、図6のフロアプランに、図10の遅延解析結果から特定した遅延違反パスを表示した例である。本実施例では、図10のとおりモジュール5からモジュール11へのパス1が遅延違反を起こしており、遅延解消とチップ面積の最適化を達成することを考える。
ここで、図6のフロアプラン、図7の遅延制約を入力として、電圧アイランド作成手段140により、電圧アイランド作成処理を実行する。図14は、上記遅延違反が生じているモジュール5、モジュール11を覆う矩形領域を電圧アイランドとした状態を表した図である。
図15は、上記図14の電圧アイランド(データ)の例であり、電圧アイランド毎に、使用電圧(電源電圧値)と、対象モジュールを指定可能となっている。図15の例では、
、図14の矩形領域に含まれるモジュール5、モジュール6、モジュール10、モジュール11を対象とし、電源電圧値としてHigh値を設定した電圧アイランドが定義されている(高電圧アイランド化)。
図16は、図6のフロアプラン、図10〜図12の性能解析結果、図15の電圧アイランド(データ)を入力として、制約抽出手段150により、次の動作合成に適用する制約を抽出した例である。
・チップの制約(消費電力制約、面積制約、遅延制約)
チップの消費電力制約は、性能解析結果の消費電力解析結果(345mW)に対し、電圧アイランド化による消費電力増分(+200mW)を考慮して算出した(345mW+200mW≒550mW)ものである。また、チップの面積制約(最大面積、使用率)は、性能解析結果の面積解析結果から電圧アイランド化のレベルシフタ挿入による面積増分を考慮して算出されるが、本実施例では面積解析結果の使用率が69.8%であり、初期制約(図4)の70%に接近しているため70%のままとする。チップの遅延制約も初期制約(図4)から変更していない。
・電圧アイランドの制約(電源電圧値、消費電力制約、対象モジュール名)
次の動作合成に適用する制約では、電圧アイランドに関する制約が追加される。電圧アイランドの制約では、電圧アイランド内で使用する電源電圧値(High)、消費電力制約(360mW)、アイランドを構成するモジュール名が抽出される。消費電力制約は、性能解析結果の消費電力解析結果(図11参照)から、電圧アイランド化による消費電力増分を考慮して(モジュール5、6、10、11の消費電力がそれぞれ40mWから90mWに増大すると算出され、その合計は360mWとなる。)算出する。
・各モジュールの制約(電源電圧値、消費電力制約、面積制約、入力端子数制約、出力端子数制約、入力端子遅延制約、出力端子遅延制約)
図16の網かけ部分が、制約の更新が行われた箇所を表しており、モジュール5、6、10、11と(電圧アイランド化)と、モジュール2(モジュール6の入力端子数削減)に、制約の更新が行われている。各モジュールの制約における電源電圧値は、初期制約(図4)及び図15の電圧アイランド(データ)を用いて設定される。また、各モジュールの消費電力制約は、性能解析結果の消費電力解析結果を利用することができる。その上で、電圧アイランド内モジュールについては、先に述べたとおり、電圧アイランド化による電力の増大が考慮される。各モジュールの面積制約は、図9の面積解析結果が直接代入されている。
制約抽出手段150は、更に、各モジュールの入力端子数制約、出力端子数制約を追加する。入力端子数制約、出力端子数制約は、レベルシフタの挿入による遅延、消費電力、面積の増加を軽減するために抽出される。電源電圧値が低いモジュールから高いモジュールへ接続する配線間には、回路を誤動作させないために、レベルシフタを追加挿入する必要がある。本実施例では、面積解析結果から、当初から使用率がほぼ制約と同じであり(制約70%のところ、解析結果が69.8%)、レベルシフタ挿入による面積増加を抑えるために、モジュール6について入力端子数を3本から2本に削減する制約が追加されている。これに対応して、モジュール6の前段のモジュール(モジュール2)で複数個の出力端子からモジュール6の複数個の入力端子に接続しているため、出力端子数を削減する制約が追加されている。
また、制約抽出手段150は、図10の遅延解析結果から、電圧アイランドの境界モジュール、及び、併合するモジュールについても、各モジュールの入力端子遅延制約、出力端子遅延制約を抽出する。図16の例では、モジュール5、モジュール6に入力端子遅延制約を、モジュール10、モジュール11に出力端子遅延制約を与えている。
2回目の動作合成以降のフローでは、これらの制約を利用(フィードバック)して動作合成が行われる。動作合成は、すべてのモジュールを対象とするのではなく、電圧アイランド化に関連し制約に変更が生じたモジュールを対象とすることができる。本実施例では、モジュール2、モジュール5、モジュール6、モジュール10、モジュール11を2回目の動作合成の対象としている。これらのモジュールをフィードバックした制約下で動作合成を実行することで、新しいRTレベル記述がRTレベル記述記憶部220に記憶される。
図17は、上記新たに抽出された制約により動作合成を行った後の電圧アイランド内のモジュールの面積の変化を示す図である。モジュール5、モジュール11は遅延違反を解除するため、面積の変化は顕著ではないが、モジュール6、モジュール10は遅延違反ではないため、電源電圧値をLow値から、High値に上げたことで、遅延に余裕ができ、1回目のフロー(図左側)と比較して面積が小さくなっている。
フロアプラニング手段120は、RTレベル記述、および、これらの制約を入力として、フロアプラニング処理を実行し、各モジュールの形状を決定し、配置する。実際には、動作合成同様、電圧アイランドに関連するモジュール2、モジュール5、モジュール6、モジュール10、モジュール11のみを再配置し、これら以外のモジュールは1回目のフロアプランのまま固定し、移動しないこととすることができる。
また、フロアプラニング手段120は、必要に応じて、各モジュール間の配線経路を決定するとともに、低電圧領域から電圧アイランドに至る配線間にレベルシフタを挿入する。
図14のフロアプランの以下の配線間にレベルシフタが挿入され、最終的には、図18のとおりとなる。
・モジュール1からモジュール5
・モジュール2からモジュール5
・モジュール2からモジュール6
・モジュール3からモジュール6
なお、図18において、モジュール2とモジュール6間で挿入するレベルシフタ数は削減されている。図19の左側は、入力端子数制約、出力端子数制約を課さないで動作合成、フロアプランニングを行った例であり、図19の右側は、入力端子数制約、出力端子数制約を考慮した例である。右図では、入力端子数制約、出力端子数制約を課して動作合成、フロアプランニングを行った例である。モジュール6の入力端子数及びモジュール2の出力端子数をそれぞれ減少させたことにより、挿入するレベルシフタ数も2個から1個に減少する。
その後、更に、性能解析手段130によって、新しい制約及びフロアプランを入力として性能解析処理が実行され、制約を満たしているか否かの判定が行われる。図20、図21、図22は、それぞれ2回目のフローを経た後の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追記したものである。
図10〜図12と、図20〜図22を対比しても明らかなとおり、1回目のフローで検出された違反パスに拘わるモジュールの電源電圧をHigh値に上げ、かつ、その他の近傍の回路の省面積化を達成する電圧アイランドを設けることで、結果として、遅延制約を満たしかつ面積を最適化するフロアプランが得られている。また、2回目に抽出された制約は、モジュール2、モジュール5、モジュール6、モジュール10、モジュール11のみを対象とするものであるため、チップ全体(全モジュール)について動作合成以下の一連の処理を行う必要はなく、これらモジュールのみを動作合成以下の処理対象とすることも可能である。
続いて、上記実施例1と同様の本発明に係る多電源集積回路の設計支援システムを用いて、遅延制約を違反するパスを改善し、かつ、チップ消費電力の最適化を試みた本発明の実施例2について説明する。
実施例2においても、高電圧側の電源電圧値をHigh値とし、低電圧側の電源電圧値をLow値として表す。動作合成から性能解析までの1回目のフローでは、すべてのモジュールの電源電圧値としてLow値が設定されているものとする。
実施例1と同様に、図3に示す動作レベル記述を動作合成し、フロアプランニングした結果、図23に示すフロアプランが得られたものとする。
図24は、図23に例示したフロアプラン及び制約記憶部260から取得した遅延制約(図4参照)を入力とした場合の性能解析手段130による遅延解析結果の例である。図24を参照すると、遅延解析結果には各モジュール内パスの遅延時間、モジュール間パスの遅延時間等が記述されている。
図25、図26は、図23に例示したフロアプラン及び制約記憶部260から取得した消費電力制約又は面積制約(それぞれ図4参照)を入力とした場合の性能解析手段130による消費電力解析結果、面積解析結果の例である。図25、図26を参照すると、それぞれ各モジュールの消費電力、面積と、その合計値が算出されている。
次に、これらの性能解析結果が、性能解析手段130により、制約を満たしているかの判定が行われる。図27、図28、図29はそれぞれ、図24、図25、図26の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追加した例である。
図30は、図23のフロアプランに、図27の遅延解析結果から特定した遅延違反パスを表示した例である。本実施例では、図27のとおりモジュール4からモジュール9へのパス1が遅延違反を起こしており、遅延解消とチップ消費電力の最適化を達成することを考える。
ここで、図23のフロアプラン、図24の遅延制約を入力として、電圧アイランド作成手段140により、電圧アイランド作成処理を実行する。図31は、上記遅延違反が生じているモジュール4、モジュール8、モジュール9を覆う矩形領域を電圧アイランドとした状態を表した図である。
図32は、上記図31の電圧アイランド(データ)の例であり、図31の矩形領域に含まれるモジュール4、モジュール8、モジュール9を対象とし、電源電圧値としてHigh値を設定した電圧アイランドが定義されている(高電圧アイランド化)。
図33は、図23のフロアプラン、図27〜図29の性能解析結果、図32の電圧アイランド(データ)を入力として、制約抽出手段150により、次の動作合成に適用する制約を抽出した例である。
・チップの制約(消費電力制約、面積制約、遅延制約)
チップの消費電力制約は、性能解析結果の消費電力解析結果から、電圧アイランド化による消費電力増分(+200mW)を考慮して算出するが、本実施例では消費電力解析結果が455mWであり、消費電力増分を加算すると、初期制約(図4)を超えてしまうため、600mWから変更しないものとする。また、チップの面積制約(最大面積、使用率)は、性能解析結果の面積解析結果から電圧アイランド化のレベルシフタ挿入による面積増分を考慮して算出されるが、本実施例では面積解析結果の使用率が68.8%であり、初期制約(図4)の70%に接近しているため70%のままとする。チップの遅延制約も初期制約(図4)から変更していない。
・電圧アイランドの制約(電源電圧値、面積制約、対象モジュール名)
次の動作合成に適用する制約では、電圧アイランドに関する制約が追加される。電圧アイランドの制約では、電圧アイランド内で使用する電源電圧値(High)、面積制約(4mm×7mm)、アイランドを構成するモジュール名が抽出される。面積制約は、性能解析結果の面積解析結果(図29参照)から、電圧アイランド内モジュールの面積値(18mm)を合計した値と使用率から算出することができる。
・各モジュールの制約(電源電圧値、消費電力制約、面積制約、入力端子数制約、出力端子数制約、入力端子遅延制約、出力端子遅延制約)
図33の網かけ部分が、制約の更新が行われた箇所を表しており、モジュール4、8、9(電圧アイランド化)に、制約の更新が行われている。電源電圧値は、初期制約(図4)及び図32の電圧アイランド(データ)を用いて設定される。また、各モジュールの消費電力制約は、性能解析結果の消費電力解析結果を利用することができる。その上で、電圧アイランド内モジュールについては、先に述べたとおり、電圧アイランド化による電力の増大が考慮される。各モジュールの面積制約は、図26の面積解析結果が直接代入されている。
また、制約抽出手段150は、上記実施例1と同様に、遅延解析結果を利用して各モジュールの入力端子遅延制約、出力端子遅延制約を抽出する。図33の例では、モジュール4に入力端子遅延制約を、モジュール9に出力端子遅延制約に与えている。
2回目の動作合成以降のフローでは、これらの制約を利用して動作合成が行われる。動作合成は、すべてのモジュールを対象とするのではなく、電圧アイランド化に関連し制約に変更が生じたモジュールを対象とすることができる。本実施例では、モジュール4、モジュール8、モジュール9を2回目の動作合成の対象としている。これらのモジュールをフィードバックした制約下で動作合成を実行することで、新しいRTレベル記述がRTレベル記述記憶部220に記憶される。
図34は、上記新たに抽出された制約により動作合成を行った後の電圧アイランド内のモジュールの消費電力の変化を示す図である。モジュール4、モジュール9は遅延違反を解除するため、消費電力の変化は顕著ではないが、モジュール8は遅延違反ではないため、電源電圧値をLow値から、High値に上げたことで、遅延に余裕ができ、1回目のフロー(図左側)と比較して消費電力が小さくなっている。
フロアプラニング手段120は、RTレベル記述、および、これらの制約を入力として、フロアプラニング処理を実行し、各モジュールの形状を決定し、配置する。実際には、動作合成同様、電圧アイランドに関連するモジュール4、モジュール8、モジュール9のみを再配置し、これら以外のモジュールは1回目のフロアプランのまま固定し、移動しないこととすることができる。
また、フロアプラニング手段120は、必要に応じて、各モジュール間の配線経路を決定するとともに、低電圧領域から電圧アイランドに至る配線間(モジュール1−モジュール4)にレベルシフタを挿入する。最終的には、図35のとおりとなる。
その後、更に、性能解析手段130によって、新しい制約及びフロアプランを入力として性能解析処理が実行され、制約を満たしているか否かの判定が行われる。図36、図37、図38は、それぞれ2回目のフローを経た後の遅延解析結果、消費電力解析結果、面積解析結果に判定結果を追記したものである。
図27〜図29と、図36〜図38を対比しても明らかなとおり、1回目のフローで検出された違反パスに拘わるモジュールの電源電圧をHigh値に上げ、かつ、その他の近傍の回路の省電力化を達成する電圧アイランドを設けることで、結果として、遅延制約を満たしかつ消費電力を最適化するフロアプランが得られている。
また、2回目に抽出された制約は、モジュール4、モジュール8、モジュール9のみを対象とするものであるため、チップ全体(全モジュール)について動作合成以下の一連の処理を行う必要はなく、これらモジュールのみを動作合成以下の処理対象とすることも可能である。
以上、本発明の好適な実施形態と、その具体例を説明したが、上記遅延制約を違反するモジュールを改善しつつ、消費電力や面積を最適化する例と同様に、消費電力制約を違反するモジュールを改善しつつ、遅延や面積を最適化すること、面積制約を違反するモジュールを改善しつつ、遅延や消費電力を最適化することもそれぞれ実現可能である。換言すれば、本発明は、多電源集積回路の遅延、消費電力、面積の少なくとも2項目を最適化することを容易化するということである。
本発明の技術的範囲は、上述した実施形態の記載に限定されるものではなく、多電源集積回路の設計において、性能解析結果に基づいて電圧アイランドを設けるとともに、電圧アイランドを設けたことによる影響を次の動作合成にフィードバックさせるという本発明の原理を逸脱しない範囲で各種の変形を加えることが可能である。例えば、上記した実施形態では、多電源集積回路設計支援システムに動作合成手段、フロアプランニング手段、性能解析手段が備えられているものとして説明したが、これらは、既存の動作合成システム、フロアプランニングシステムのものを利用することができる。
本発明の第1の実施形態に係る多電源集積回路設計支援システムの構成を示すブロック図である。 本発明の第1の実施形態に係る多電源集積回路の設計方法の流れを表したフローチャートである。 動作合成の入力となる動作レベル記述の例を示す図である。 動作合成の初期制約の一例を示す図である。 図3の動作レベル記述を動作合成して得られたRTレベル記述を示す図である。 図5のRTレベル記述にフロアプラニング処理を実行して得られたフロアプランを示す図である。 遅延解析結果の一例である。 消費電力解析結果の一例である。 面積解析結果の一例である。 図7の遅延解析結果に制約を満たしているか否かの判定結果を追加した例である。 図8の消費電力解析結果に制約を満たしているか否かの判定結果を追加した例である。 図9の面積解析結果に制約を満たしているか否かの判定結果を追加した例である。 図6のフロアプランに、図10の遅延解析結果から特定した遅延違反パス、モジュールを表示した例である。 図13の遅延違反が生じているモジュールを覆う矩形領域を電圧アイランドとした状態を表した図である。 図14の電圧アイランドのデータの例である。 実施例1における制約抽出手段により抽出された次の動作合成に適用する制約の例である。 図16の制約による動作合成後の電圧アイランド内のモジュールの面積の変化を示す図である。 図16の制約による動作合成、フロアプランニングの結果を表した図である。 モジュールの入力端子数制約、出力端子数制約によるレベルシフタ数の削減を説明するための図である。 図16の制約による動作合成、フロアプランニングを経た後の遅延解析結果の例である。 図16の制約による動作合成、フロアプランニングを経た後の消費電力解析結果の例である。 図16の制約による動作合成、フロアプランニングを経た後の面積解析結果の例である。 図5のRTレベル記述にフロアプラニング処理を実行して得られたフロアプランを示す図である。 遅延解析結果の別の一例である。 消費電力解析結果の別の一例である。 面積解析結果の別の一例である。 図24の遅延解析結果に制約を満たしているか否かの判定結果を追加した例である。 図25の消費電力解析結果に制約を満たしているか否かの判定結果を追加した例である。 図26の面積解析結果に制約を満たしているか否かの判定結果を追加した例である。 図23のフロアプランに、図27の遅延解析結果から特定した遅延違反パス、モジュールを表示した例である。 図30の遅延違反が生じているモジュールを覆う矩形領域を電圧アイランドとした状態を表した図である。 図31の電圧アイランドのデータの例である。 実施例2における制約抽出手段により抽出された次の動作合成に適用する制約の例である。 図33の制約による動作合成後の電圧アイランド内のモジュールの消費電力の変化を示す図である。 図33の制約による動作合成、フロアプランニングの結果を表した図である。 図33の制約による動作合成、フロアプランニングを経た後の遅延解析結果の例である。 図33の制約による動作合成、フロアプランニングを経た後の消費電力解析結果の例である。 図33の制約による動作合成、フロアプランニングを経た後の面積解析結果の例である。 従来の設計手法説明するための図である。 低電圧側のモジュールから高電圧側のモジュールに至る配線間に配設されるレベルシフタを説明するための図である。
符号の説明
100 データ処理装置
200 記憶装置
300 入力装置
400 出力装置
110 動作合成手段
120 フロアプラニング手段
130 性能解析手段
140 電圧アイランド生成手段
150 制約抽出手段
210 動作レベル記述記憶部
220 RTレベル記述記憶部
230 フロアプラン記憶部
240 性能解析結果記憶部
250 電圧アイランド記憶部
260 制約記憶部

Claims (11)

  1. 動作レベル記述と制約からRTレベル記述を生成する動作合成手段と、
    前記生成したRTレベル記述と制約からフロアプランを生成するフロアプランニング手段と、
    前記フロアプランと制約から、対象回路の性能解析を行う性能解析手段と、
    前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、
    前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、を備え、
    前記制約抽出手段によって抽出された制約を前記動作合成手段にフィードバックすること、
    を特徴とする多電源集積回路の設計支援システム。
  2. 前記制約抽出手段は、前記電圧アイランド内のモジュール、及び、前記電圧アイランドの1段前、1段後の電圧アイランド外モジュールを、以降の動作合成の対象とする制約を抽出すること、
    を特徴とする請求項1に記載の多電源集積回路の設計支援システム。
  3. 前記制約抽出手段は、前記電圧アイランド内のモジュール、および、電圧アイランドの1段前、1段後の電圧アイランド外モジュールを、以降のフロアプラニングの再配置対象とし、他のモジュールは固定する制約を生成すること、
    を特徴とする請求項1又は2に記載の多電源集積回路の設計支援システム。
  4. 前記制約抽出手段は、前記電圧アイランド内のモジュールの使用電圧を制約として抽出すること、
    を特徴とする請求項1乃至3いずれか一に記載の多電源集積回路の設計支援システム。
  5. 前記制約抽出手段は、前記電圧アイランド内のモジュールであって電圧アイランド外に接続する境界モジュールに関して、端子数を削減する制約を抽出すること、
    を特徴とする請求項1乃至4いずれか一に記載の多電源集積回路の設計支援システム。
  6. 前記制約抽出手段は、前記境界モジュールの1段前又は1段後の電圧アイランド外のモジュールに関して、端子数を削減する制約を抽出すること、
    を特徴とする請求項1乃至5いずれか一に記載の多電源集積回路の設計支援システム。
  7. 前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる遅延解析結果から、前記電圧アイランド内の各モジュールの遅延制約を抽出すること、
    を特徴とする請求項5に記載の多電源集積回路の設計支援システム。
  8. 前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる消費電力解析結果から、前記電圧アイランド内の各モジュールの消費電力制約を抽出すること、
    を特徴とする請求項1乃至7いずれか一に記載の多電源集積回路の設計支援システム。
  9. 前記制約抽出手段は、前記電圧アイランドおよび前記性能解析結果に含まれる面積解析結果から、前記電圧アイランド内の各モジュールの面積制約を抽出すること、
    を特徴とする請求項1乃至9いずれか一に記載の多電源集積回路の設計支援システム。
  10. コンピュータを用いた多電源集積回路の設計方法であって、
    前記コンピュータが、入力された動作レベル記述と制約からRTレベル記述を生成する動作合成ステップと、
    前記コンピュータが、前記生成したRTレベル記述と制約からフロアプランを生成するフロアプラン生成ステップと、
    前記コンピュータが、前記フロアプランと制約から、対象回路の性能解析を行う性能解析ステップと、
    前記コンピュータが、前記性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成ステップと、
    前記コンピュータが、前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出ステップと、を含み、
    前記制約抽出ステップによって抽出された制約を前記動作合成ステップにフィードバックすること、
    を特徴とする多電源集積回路の設計方法。
  11. 機能設計段階の性能解析結果から特定された制約違反モジュールを含む領域に、所定の電源電圧値が適用される電圧アイランドを生成する電圧アイランド生成手段と、
    前記性能解析結果と、前記電圧アイランドの生成データに基づいて、次の動作合成の制約を抽出する制約抽出手段と、の双方として、コンピュータを機能させること、
    を特徴とする多電源集積回路の設計支援プログラム。
JP2007008256A 2007-01-17 2007-01-17 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム Withdrawn JP2008176486A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007008256A JP2008176486A (ja) 2007-01-17 2007-01-17 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007008256A JP2008176486A (ja) 2007-01-17 2007-01-17 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2008176486A true JP2008176486A (ja) 2008-07-31

Family

ID=39703470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007008256A Withdrawn JP2008176486A (ja) 2007-01-17 2007-01-17 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム

Country Status (1)

Country Link
JP (1) JP2008176486A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155622A1 (ja) * 2010-06-09 2011-12-15 日本電気株式会社 回路合成装置、方法、及び、プログラム
US8621415B2 (en) 2011-02-18 2013-12-31 Renesas Electronics Corporation Obtaining power domain by clustering logical blocks based on activation timings

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155622A1 (ja) * 2010-06-09 2011-12-15 日本電気株式会社 回路合成装置、方法、及び、プログラム
US8621415B2 (en) 2011-02-18 2013-12-31 Renesas Electronics Corporation Obtaining power domain by clustering logical blocks based on activation timings

Similar Documents

Publication Publication Date Title
US10268793B2 (en) System and method for designing cell rows
KR102723633B1 (ko) 회로 구성요소를 규정하는 표준 셀의 레이아웃을 수정하기 위한 컴퓨터 구현 시스템 및 방법
JPH08221451A (ja) データパス回路のレイアウト設計方法
US12079558B2 (en) On-the-fly multi-bit flip flop generation
US8656337B2 (en) Optimization method and device for netlist used in logic circuit design for semiconductor integrated circuit
US9275186B2 (en) Optimization for circuit migration
JP4738719B2 (ja) 半導体回路装置の設計方法、設計された半導体回路装置、設計システム、及び記録媒体
JP2008176486A (ja) 多電源集積回路の設計方法、多電源集積回路の設計支援システム及びプログラム
US8621415B2 (en) Obtaining power domain by clustering logical blocks based on activation timings
US8341563B1 (en) Method and apparatus for power gating stitching
JP2007258215A (ja) セル配置プログラム、セル配置装置、及びセル配置方法
WO2001075687A9 (en) Method and apparatus to optimize an integrated circuit design using transistor folding
JP4855283B2 (ja) 半導体集積回路の設計装置
US20100083209A1 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
Sitik et al. Multi-corner multi-voltage domain clock mesh design
JP2005150639A (ja) 半導体集積装置の設計方法、設計装置及び設計プログラム。
JP2007323203A (ja) 半導体集積回路の設計装置および設計方法
JP2008152329A (ja) 回路解析方法、及び回路解析プログラム、回路シミュレーション装置
CN101174284A (zh) 设计存储器寄存器的方法和系统
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
JP2010073728A (ja) 半導体集積回路レイアウト設計方法及び半導体集積回路レイアウト設計装置
JP5564231B2 (ja) Lsi設計方法及びプログラム
JP2013045339A (ja) 配置配線装置
Chien et al. Optimal supply voltage assignment under timing, power and area constraints
JP2008047557A (ja) 集積回路の自動電源供給最適化設計装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406