(57)【特許請求の範囲】
【請求項１】
ハードウェア記述言語により記述された回路記述情報と、前記回路記述情報に記述された回路のパワードメイン設定情報と、回路に使用するセルの情報が含まれるセルライブラリと、に基づいて論理回路を合成する論理合成手段と、前記パワードメインのフロアプランを実行するフロアプラン実行手段と、を備えた半導体設計装置であって、
前記論理合成手段の論理合成結果に対して複数の前記パワードメイン間のタイミング解析を行うタイミング解析手段と、
前記フロアプラン実行手段のフロアプラン実行結果に基づいて、複数の前記パワードメイン間のタイミングの最適化を行うタイミング調整手段と、を備え、
前記フロアプラン実行手段が、前記論理合成手段の論理合成結果と前記タイミング解析手段のタイミング解析結果に基づいて前記パワードメインのフロアプランを実行する、
ことを特徴とする半導体設計装置。
【請求項２】
前記フロアプラン実行手段が、前記タイミング解析手段の解析結果と、前記パワードメイン間の信号線の接続本数に基づいてフロアプランを実行することを特徴とする請求項１に記載の半導体設計装置。
【請求項３】
前記フロアプラン実行手段が、前記パワードメインの形状を変更することを特徴とする請求項１または２に記載の半導体設計装置。
【請求項４】
前記パワードメイン境界のレジスタを認識するレジスタ認識手段と、
前記パワードメインの面積を入力する面積入力手段と、を備え、
前記フロアプラン実行手段が、前記レジスタ認識手段が認識したレジスタと、前記面積入力手段から入力された面積に基づいてフロアプランを実行する、
ことを特徴とする請求項１乃至３のうちいずれか一項に記載の半導体設計装置。
【請求項５】
ハードウェア記述言語により記述された回路記述情報と、前記回路記述情報に記述された回路のパワードメイン設定情報と、回路に使用するセルの情報が含まれるセルライブラリと、に基づいて論理回路を合成する論理合成ステップと、前記パワードメインのフロアプランを実行するフロアプラン実行ステップと、を含み、これらを半導体設計装置のコンピュータで実行する半導体設計方法であって、
前記論理合成ステップの論理合成結果に対して複数の前記パワードメイン間のタイミング解析を行うタイミング解析ステップと、
前記フロアプラン実行ステップの実行結果に基づいて、複数の前記パワードメイン間のタイミングの最適化を行うタイミング調整ステップと、を含み、
前記フロアプラン実行ステップが、前記論理合成ステップにおける論理合成結果と前記タイミング解析ステップのタイミング解析結果に基づいて前記パワードメインのフロアプランを実行する、
ことを特徴とする半導体設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パワードメインが設定されている半導体集積回路の論路合成およびフロアプランを行う半導体設計装置および半導体設計方法に関する。
【背景技術】
【０００２】
近年のＬＳＩ（Large Scale Integration）などの半導体集積回路の設計では、微細化／大規模化が進み、チップの面積が非常に大きくなっている。これにより消費電力の増大が大きな問題となっている。このような問題に対して、Ｐｏｗｅｒ  Ｓｈｕｔ  Ｏｆｆ（電源遮断）の技術が一般的になっている。これはＬＳＩ上で動作しないブロックがある場合には、当該ブロックに対する電源供給を止めてしまうという省エネルギー技術である。
【０００３】
この技術を適用する際、ブロックごとのＰｏｗｅｒ  Ｓｈｕｔ  Ｏｆｆを実現するために、パワードメイン（ＰｏｗｅｒＤｏｍａｉｎ）分割を行なう必要がある。パワードメインとは、同じタイミングで電源供給が停止される１または複数の機能ブロックの範囲を示すものである。
【０００４】
但し、パワードメイン分割を行なうためには、アイソレーション（Ｉｓｏｌａｔｉｏｎ）セルを使用する必要があるためドメイン間のタイミング遅延の劣化が起こる。アイソレーションセルとは、電源を再投入してから出力が安定しない期間に出力される不定を示す信号の伝播をマスクし、出力が安定してからアイソレーションを解除するようにするセルであり、パワードメイン間に挿入される。
【０００５】
また、従来はパワードメインの配置を考慮せずタイミングの最適化を行なうため、パワードメインの配置によっては、レイアウト時にＰｏｗｅｒ  Ｓｈｕｔ  Ｏｆｆ領域を迂回する遅延を考慮する必要が有るなどの問題点もあった。
【０００６】
このような問題に対して、例えば特許文献１に記載された回路設計装置が提案されている。この回路設計装置は、配置配線後のタイミング解析時にタイミングエラーが生じた場合、電源制御情報に基づいて信号経路にセルを挿入するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された方法では、回路素子の配置配線後のタイミング解析時にセルの挿入等を行っており、このようなセル挿入等でも解消が困難な場合はレイアウト前の設計工程まで戻る必要があり、パワードメイン分割に起因するタイミング上の問題によるレイアウトの可否が事前に把握できないという問題があった。
【０００８】
本発明はかかる問題を解決することを目的としている。
【０００９】
すなわち、本発明は、回路素子の配置配線を行うレイアウト工程においてパワードメイン分割に起因するタイミング上の問題が発生することを少なくできる半導体設計装置および半導体設計方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記に記載された課題を解決するために請求項１に記載された発明は、ハードウェア記述言語により記述された回路記述情報と、前記回路記述情報に記述された回路のパワードメイン設定情報と、回路に使用するセルの情報が含まれるセルライブラリと、に基づいて論理回路を合成する論理合成手段と、前記パワードメインのフロアプランを実行するフロアプラン実行手段と、を備えた半導体設計装置であって、前記論理合成手段の論理合成結果に対して複数の前記パワードメイン間のタイミング解析を行うタイミング解析手段と、前記フロアプラン実行手段のフロアプラン実行結果に基づいて、複数の前記パワードメイン間のタイミングの最適化を行うタイミング調整手段と、を備え、前記フロアプラン実行手段が、前記論理合成手段の論理合成結果と前記タイミング解析手段のタイミング解析結果に基づいて前記パワードメインのフロアプランを実行する、ことを特徴とする半導体設計装置である。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、タイミング解析手段で、論理合成手段の結果に基づいて複数のパワードメイン間のタイミング解析を行って、フロアプラン実行手段で、論理合成結果とタイミング解析結果に基づいてパワードメインのフロアプランを実行し、タイミング調整手段で、フロアプランの結果に基づいて、複数のパワードメイン間のタイミングの最適化を行うので、論理合成の直後にパワードメイン間のタイミング解析を行ってフロアプランを行い、その結果に基づいてタイミング調整を行うので、パワードメイン分割に起因するタイミング上の問題を少なくし、配置配線などのレイアウト後に問題が発生することを少なくすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態にかかる半導体設計装置の構成図である。
【図２】図１に示された半導体設計装置の動作を示したフローチャートである。
【図３】パワードメイン間のタイミングと接続本数に基づく指標を示した配置図の例である。
【図４】図３に示した指標に基づいてパワードメインを適切に配置した例を示した説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を、図１乃至図４を参照して説明する。図１は、本発明の一実施形態にかかる半導体設計装置の構成図である。図２は、図１に示された半導体設計装置の動作を示したフローチャートである。図３は、パワードメイン間のタイミングと接続本数に基づく指標を示した配置図の例である。図４は、図３に示した指標に基づいてパワードメインを適切に配置した例を示した説明図である。
【００１４】
図１に、本発明の一実施形態にかかる半導体設計装置１を示す。図１に示された半導体設計装置１は、ＲＴＬ格納部２と、タイミング制約格納部３と、ライブラリ格納部４と、パワードメイン設定格納部５と、設計プログラム格納部６と、ネットリスト格納部７と、フロアプラン格納部８と、処理部９と、入出力制御部１０と、を備えている。そして、半導体設計装置１は、例えばコンピュータ（パーソナルコンピュータやワークステーションなど）で構成されている。
【００１５】
ＲＴＬ格納部２は、ＶｅｒｉｌｏｇＨＤＬやＶＨＤＬなどのハードウェア記述言語でＲＴＬ（Register Transfer Level）記述された回路記述情報が格納されている。
【００１６】
タイミング制約格納部３は、論理合成時に用いられる動作周波数などが設定したタイミング制約情報が格納されている。
【００１７】
ライブラリ格納部４は、論理合成時に用いられるセルの情報が設定されているセルライブラリが格納されている。
【００１８】
パワードメイン設定格納部５は、ＲＴＬ記述された回路の論理合成時に用いられるパワードメインの設定情報が格納されている。パワードメイン設定情報は、例えばＣＰＦ（Common Power Format）やＵＰＦ（Unified Power Format）といった周知のパワーフォーマットにより設定すればよい。
【００１９】
設計プログラム格納部６は、後述する論理合成やフロアプラン並びにタイミング解析や調整を行うプログラム（以下、設計プログラムとする）が格納されている。
【００２０】
ネットリスト格納部７は、設計プログラム格納部に格納されているプログラムによって処理された結果出力されるネットリストが格納される。
【００２１】
フロアプラン格納部８は、設計プログラム格納部に格納されているプログラムによって処理された結果出力されるフロアプランが格納される。
【００２２】
以上のＲＴＬ格納部２、タイミング制約格納部３、セルライブラリ格納部４、パワードメイン設定格納部５、設計プログラム格納部６、ネットリスト格納部７、フロアプラン格納部８は、例えばハードディスクなどの記憶装置で構成されている。また、ＲＴＬ格納部２、タイミング制約格納部３、セルライブラリ格納部４、パワードメイン設定格納部５、設計プログラム格納部６、ネットリスト格納部７、フロアプラン格納部８は、それぞれ別の記憶装置で構成しなくとも良く、１または複数の記憶装置に集約しても構わない。
【００２３】
処理部９は、ＣＰＵ９ａと、ＲＯＭ９ｂと、ＲＡＭ９ｃと、を備えている。
【００２４】
ＣＰＵ（Central Processing Unit）９ａは、設計プログラム格納部６に格納されている設計プログラムを実行し、当該設計プログラムに基づいて、ＲＴＬ格納部２に格納されているＲＴＬ記述、タイミング制約格納部３に格納されているタイミング制約、セルライブラリ格納部４に格納されているセルライブラリを読み込んで処理を行い、ネットリストをネットリスト格納部７に、フロアプランをフロアプラン格納部８に、それぞれ格納する。
【００２５】
ＲＯＭ（Read Only Memory）９ｂは、例えば、半導体設計装置１を構成するコンピュータの起動プラグラム等が格納されている読み出し専用メモリであり、必要に応じてＣＰＵ９ａが読み出す。ＲＡＭ（Random Access Memory）９ｃは、ＣＰＵ９ａが各種処理を実行する際にワークエリアなどとして使用される読み書き自在のメモリである。
【００２６】
入出力制御部１０は、入力装置１１や出力装置１２との入出力を制御するインタフェースであり、入力装置から入力された情報を処理部９に出力するとともに、処理部９の処理結果や途中経過等を出力装置１２に出力する。
【００２７】
入力装置１１は、例えばキーボード、マウスまたはタッチパネル等により構成され、半導体設計装置１の各種入力操作を行う。出力装置１２は、例えば液晶ディスプレイなどの表示装置で構成され、各格納部に格納されているファイル等の表示や、処理部９の処理結果や途中経過等を表示する。
【００２８】
次に、上述した構成の半導体設計装置１の動作を図２のフローチャートを参照して説明する。図２に示したフローチャートは、設計プログラム格納部６に格納されている設計プログラムの動作を示し処理部９で実行される。したがって、処理部９（ＣＰＵ９ａ）が、論理合成手段、フロアプラン実行手段、タイミング解析手段、タイミング調整手段として機能する。
【００２９】
まず、ステップＳ１において、ライブラリ格納部４からセルライブラリを読み込み、次に、ステップＳ２において、ＲＴＬ格納部２およびタイミング制約格納部３から回路記述情報とタイミング制約情報を読み込む。
【００３０】
次に、ステップＳ３において、読み込んだ回路のパワードメインを認識する。パワードメインの認識は、上述したＣＰＦまたはＵＰＦといったパワーフォーマットにより設定されたパワードメイン情報を読み込むことで認識できる。
【００３１】
次に、ステップＳ４において、論理合成を行い、ステップＳ３で認識パワードメインに基づいてアイソレーションセルが挿入される。即ち、回路記述情報と、パワードメイン設定情報と、セルライブラリと、に基づいて論理回路を合成する論理合成ステップとなる。
【００３２】
次に、ステップＳ５において、ステップＳ４で行った論理合成の結果に対してタイミング解析を行う。このタイミング解析により、パワードメイン間のタイミングのクリティカル度を算出（検出）する。即ち、論理合成結果に対してタイミング解析を行うタイミング解析ステップとなる。タイミングのクリティカル度とは、当該パワードメイン間のタイミングがタイミング制約に規定された制約に対して厳しい状態（余裕が少ない）かそうでないかを示す指標であり、例えば、規定値との差分値で表せばよい。
【００３３】
次に、ステップＳ６において、論理合成結果に基づいて論理合成した対象回路全体と、パワードメインごとのゲート数を算出する。
【００３４】
次に、ステップＳ７において、論理合成された対象回路全体とパワードメインごとに面積を算出する。面積は、例えば、ステップＳ６伝算出されたゲート数から求めてもよいし、セル占有率により算出してもよい。
【００３５】
次に、ステップＳ８において、パワードメイン間の信号線の接続本数を算出する。このパワードメイン間の信号線の接続本数は、例えば、論理合成にて作成されたネットリストからパワードメイン間の接続を抽出することにより算出する。
【００３６】
次に、ステップＳ９において、パワードメインを配置する。この配置には、ステップＳ５で行ったタイミング解析結果のタイミングクリティカル度と、ステップＳ７で算出したパワードメインの面積と、ステップＳ８で算出したパワードメイン間の信号線の接続本数からパワードメインの配置を決定する。即ち、論理合成手段の論理合成結果とタイミング解析手段のタイミング解析結果およびパワードメイン間の信号線の接続本数に基づいてパワードメインのフロアプランを実行するフロアプラン実行ステップとなる。
【００３７】
パワードメインの配置について、図３および図４を参照して説明する。図３は、複数のパワードメイン（ＰｏｗｅｒＤｏｍａｉｎ１〜５）を仮に配置した図であり、各パワードメイン間の線は、信号線の接続本数とタイミングクリティカル度から求めた指標を示しており、線が太いほど互いのパワードメインを近づける必要があることを表している。この指標は、信号線の接続本数が多いほど高い値となり（線が太くなり）、タイミングクリティカル度が高いほど高い値となる（線が太くなる）。つまり、信号線の接続本数が多くともタイミングがクリティカルで無ければそれらのパワードメインは近くに無くても良いし、信号線の接続本数が少なくともタイミングが厳しければそれらのパワードメインは近くにいる必要がある。したがって本実施形態では、タイミングのクリティカル度と信号線の接続本数とに基づいているが、タイミングが接続本数よりも優先させるように指標は算出されている。
【００３８】
図３の場合、ＰｏｗｅｒＤｏｍａｉｎ３と４間と、ＰｏｗｅｒＤｏｍａｉｎ１と５間は線が太くなっていることからこれらのパワードメインは互いに近づけて配置する必要があることが分かる。また、ＰｏｗｅｒＤｏｍａｉｎ１と２間と、ＰｏｗｅｒＤｏｍａｉｎ２と３間と、ＰｏｗｅｒＤｏｍａｉｎ３と５間は線が細くなっていることからこれらのパワードメインは近くに配置しなくともよいことが分かる。また、ＰｏｗｅｒＤｏｍａｉｎ１と４間は前者２つの中間の線の太さであるので、線が太いパワードメインに次ぐ優先度で配置すればよい。
【００３９】
図４は、図３に示した線の太さ（ステップＳ９で求めた指標の大きさ）に基づいてパワードメインを配置した例である。図４では、図３で太い線となっていたＰｏｗｅｒＤｏｍａｉｎ３と４間と、ＰｏｗｅｒＤｏｍａｉｎ１と５間は近づけて配置されている。
【００４０】
図２のフローチャートに戻って、ステップＳ１０において、ステップＳ９で配置したパワードメイン間の距離を考慮したタイミング最適化を行い、タイミングが収束した場合（ステップＳ１１でＹｅｓ）はステップＳ１２において、パワードメイン形状の最適化を行う。タイミングが収束しない場合（ステップＳ１１でＮｏ）は、ステップＳ９に戻ってパワードメインの再配置を行う。即ち、ステップＳ１０が、フロアプランの結果に基づいて、複数のパワードメイン間のタイミングの最適化を行うタイミング調整ステップとなる。
【００４１】
ここで、ステップＳ１１からＳ９に戻るのは、例えば、大きなタイミングバイオレーション（タイミング制約違反）が発生している場合で最適化が困難な場合に行われる。ここで、大きなとは、タイミング制約に設定された値を大きく超えていることであり、どの程度を大きなとするかは任意に設定すればよい。
【００４２】
また、ステップＳ１２のパワードメイン形状の最適化とは、レイアウト時にチップ領域に納めやすいように矩形にすること（パワードメインの形状を変更すること）であり、このステップの実行によりフロアプランが生成される。
【００４３】
次に、ステップＳ１３で、ステップＳ１０のタイミング最適化がなされたネットリストをネットリスト格納部７に格納（出力）し、ステップＳ１３で生成されたフロアプランをフロアプラン格納部８に格納（出力）する。ネットリストは、例えばＶｅｒｉｌｏｇＨＤＬ形式やＥＤＩＦ（Electric Design Interchange Format）形式などの周知のフォーマット、フロアプランは、例えばＤＥＦ（Design Exchange Format）形式などの周知のフォーマットで出力すればよい。
【００４４】
本実施形態によれば、処理部５で実行される設計プログラムのステップＳ５で、論理合成手段の結果に基づいて複数のパワードメイン間のタイミング解析を行い、ステップＳ５の結果に基づいて、ステップＳ９でパワードメインの配置（フロアプラン）を行って、ステップＳ１０で、複数のパワードメイン間のタイミングの最適化を行うので、論理合成の直後にパワードメイン間のタイミング解析を行ってフロアプランを実行し、タイミング調整を行うので、パワードメイン分割に起因するタイミング上の問題を少なくし、回路素子の配置配線などのレイアウト後に問題が発生することを少なくすることができる。
【００４５】
また、ステップＳ９で、ステップＳ５のタイミング解析結果と、ステップＳ８のパワードメイン間の信号線の接続本数に基づいてフロアプランを実行するので、タイミングのクリティカル度に加えて、信号線の接続本数もフロアプラン実行の際の評価指標とすることができ、より、レイアウト時における問題の発生を少なくすることができる。
【００４６】
また、ステップＳ１２で、パワードメインの形状を最適化しているので、チップサイズの縮小化を図ることができる。
【００４７】
なお、上述した実施形態では、ＲＴＬ記述による回路記述情報は完成していることを前提に説明したが、各パワードメイン内部のＲＴＬ記述が作成されていなくとも、パワードメインのインタフェースに関連する回路情報があれば、例えば周知のＩＬＭモデル（Interface Logic Model：ドーナツモデルとも呼ばれる）を利用することで、パワードメイン間のアイソレーションセルの挿入やパワードメイン間のタイミング解析や信号線の接続本数の算出が可能となる。即ち、処理部９がＩＬＭモデルを認識することで、パワードメイン境界のレジスタを認識するレジスタ認識手段として機能することができる。
【００４８】
そして、パワードメインの面積を入力装置１１などから直接数値等で入力して設定する（入出力制御部１０がパワードメインの面積を入力する面積入力手段として機能する）ことで、ＩＬＭモデルで規定されたパワードメインがあっても、面積と信号線の接続本数からフロアプランが実行できるため、上述したフローチャートを実行することができる。つまり、設計の初期段階でパワードメイン分割によるレイアウト時の影響を把握することができる。
【００４９】
また、図３や図４に示した例では、各パワードメインは１対１の接続関係があるように記載しているが、１つパワードメインが複数のパワードメインと接続関係がある場合は、信号線の接続本数とタイミングクリティカル度から求めた指標（図中の線の太さ）が大きいパワードメイン（図中の線が太いパワードメイン）を優先的に近づけて配置するように処理すればよい。
【００５０】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００５１】
１          半導体設計装置
２          ＲＴＬ格納部（回路記述情報）
４          ライブラリ格納部（セルライブラリ）
５          パワードメイン設定格納部（パワードメイン設定情報）
９          処理部（論理合成手段、フロアプラン実行手段、タイミング解析手段、タイミング調整手段、レジスタ認識手段）
１０        入出力制御部（面積入力手段）
Ｓ４        論理合成（論理合成ステップ）
Ｓ９        パワードメイン配置（フロアプラン実行ステップ）
Ｓ５        タイミング解析（タイミング解析ステップ）
Ｓ１０      タイミング最適化（タイミング調整ステップ）
【先行技術文献】
【特許文献】
【００５２】
【特許文献１】特開２０１０−１５３０６号公報
【図１】
0005929367.tif 000002
【図２】
0005929367.tif 000003
【図３】
0005929367.tif 000004
【図４】
0005929367.tif 000005