(57)【要約】【課題】タイミング情報及びレイアウト情報に基づいて、修正回路の最適な挿入ポイントを検出し、タイミング収束時間の短縮化を行う。【解決手段】タイミング収束装置１は、レイアウトDB１２２から違反パスの重複情報を含むタイミング情報を抽出するとともに、タイミング制約情報に違反しているタイミング違反部分を取得する論理タイミング情報取得部１１と、タイミング違反部分に対応するレイアウトの配置情報を取得するレイアウト情報取得部１２とを有する。また、タイミング収束装置１は、違反パスの重複情報及びレイアウトの配置情報から、タイミング違反を修正するための修正回路の修正候補毎のコストを算出する回路変更コスト算出部１３と、算出された修正候補毎のコストのうち、コストが最も低い修正候補を表示部１１２ａに表示あるいはファイルに出力できる回路変更指示出力部１５とを有する。【選択図】図３
2010211311.tif 000002
【特許請求の範囲】
【請求項１】
回路のレイアウト情報が格納されているレイアウトデータベースから違反パスの重複情報を含む前記回路に流れる信号のタイミング情報を抽出するとともに、前記タイミング情報が予め設定された前記回路のタイミング制約情報に違反しているタイミング違反部分を検出するタイミング違反検出部と、
前記レイアウトデータベースから、前記タイミング違反部分に対応するレイアウトの配置情報を取得する配置情報取得部と、
前記違反パスの重複情報及び前記レイアウトの配置情報から、予め決められたコスト関数に基づいて、前記タイミング違反を修正する修正回路を挿入するための修正候補毎のコストを算出するコスト算出部と、
前記コスト算出部により算出された前記修正候補毎のコストのうち、コストが最も低い前記修正候補を表示あるいはファイルに出力できる修正候補出力部と、
を有することを特徴とする半導体装置の設計装置。
【請求項２】
前記コスト算出部は、前記タイミング違反部分内で配置の変更が禁止されている回路の近傍の空き領域コストを算出し、
前記修正候補出力部は、前記空き領域コストと前記コスト算出部により算出された前記修正候補毎のコストとに基づいて、コストが最も低い前記タイミング修正候補を表示あるいはファイルに出力することを特徴とする請求項１に記載の半導体装置の設計装置。
【請求項３】
回路のレイアウト情報が格納されているレイアウトデータベースから違反パスの重複情報を含む前記回路に流れる信号のタイミング情報を抽出するとともに、前記タイミング情報が予め設定された前記回路のタイミング制約情報に違反しているタイミング違反部分を検出し、
前記レイアウトデータベースから、前記タイミング違反部分に対応するレイアウトの配置情報を取得し、
前記違反パスの重複情報及び前記レイアウトの配置情報から、予め決められたコスト関数に基づいて、前記タイミング違反を修正する修正回路を挿入するための修正候補毎のコストを算出し、
算出された前記修正候補毎のコストのうち、コストが最も低い前記修正候補を表示あるいはファイルに出力できることを特徴とする半導体装置の設計方法。
【請求項４】
半導体装置の設計を実行させるための設計プログラムであって、
回路のレイアウト情報が格納されているレイアウトデータベースから違反パスの重複情報を含む前記回路に流れる信号のタイミング情報を抽出するとともに、前記タイミング情報が予め設定された前記回路のタイミング制約情報に違反しているタイミング違反部分を検出する機能と、
前記レイアウトデータベースから、前記タイミング違反部分に対応するレイアウトの配置情報を取得する機能と、
前記違反パスの重複情報及び前記レイアウトの配置情報から、予め決められたコスト関数に基づいて、前記タイミング違反を修正する修正回路を挿入するための修正候補毎のコストを算出する機能と、
算出された前記修正候補毎のコストのうち、コストが最も低い前記修正候補を表示あるいはファイルに出力できる機能と、
をコンピュータに実行させることを特徴とする半導体装置の設計プログラム。
【請求項５】
回路のレイアウト情報が格納されているレイアウトデータベースから違反パスの重複情報を含む前記回路に流れる信号のタイミング情報を抽出するとともに、前記タイミング情報が予め設定された前記回路のタイミング制約情報に違反しているタイミング違反部分を検出し、
前記レイアウトデータベースから、前記タイミング違反部分に対応するレイアウトの配置情報を取得し、
前記違反パスの重複情報及び前記レイアウトの配置情報から、予め決められたコスト関数に基づいて、前記タイミング違反を修正する修正回路を挿入するための修正候補毎のコストを算出し、
算出された前記修正候補毎のコストのうち、コストが最も低い前記修正候補を表示あるいはファイルに出力し、
出力された前記コストが最も低い前記修正候補に基づいて、配置配線プログラムにより前記回路のレイアウトの修正を行い、レイアウト修正されたタイミング情報が前記予め設定されたタイミング制約情報に違反しなくなるまで繰り返し、
前記予め設定されたタイミング制約情報に違反しないレイアウトからレイアウト設計データを作成し、作成された前記レイアウト設計データを用いて半導体装置を製造することを特徴とする半導体装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計装置、設計方法、設計プログラム及び製造方法に関し、特に、タイミング情報及びレイアウト情報に基づいて、修正回路の最適な挿入ポイントを検出し、タイミング収束時間の短縮化ができる半導体装置の設計装置、設計方法、設計プログラム及び製造方法に関する。
【背景技術】
【０００２】
従来、半導体装置の設計に際して、配置配線を用いて、回路及び配線のレイアウトを行った後に、タイミング検証が実行され、タイミング違反があるか否かの検出が行われる。タイミング検証を実行した結果、タイミング違反が検出された場合、タイミング違反のタイミング情報に基づいて、違反パスにバッファ回路等の遅延回路を挿入し、ディレイを調整して再レイアウトを実行する。
【０００３】
しかしながら、タイミング違反に関するタイミング情報のみから違反パスに遅延回路を挿入すると、レイアウト状態により遅延回路を意図した場所に配置できないことがある。その場合、遅延回路が離れた場所に配置され想定以上の遅延が付加される、もしくは、意図した場所に既に配置されている回路を移動することにより違反パス以外のパスディレイが変化する、といった要因により新たなタイミング違反が発生することがある。そのため、設計者は、ディレイの調整、再レイアウト、及び、タイミング検証を繰り返し実行することになり、タイミング収束にかかる時間が大きくなるという問題があった。
【０００４】
例えば、あるタイミング違反が検出された場合に目的のパスのディレイを調整してパスのタイミングを収束させる際に、回路最適化と再レイアウトの実行回数を可及的に少なくするタイミング検証装置が提案されている（例えば、特許文献１参照）。
【０００５】
この提案のタイミング検証装置は、レイアウト後の回路セルのユーティリティ（セル占有度）およびネット周辺のユーティリティ（配線密度）に応じて、回路セルおよびネットのディレイにマージンを付加してタイミング検証を行うことにより、再レイアウト後に発生するタイミング違反を事前に予測している。
【０００６】
しかし、この提案のタイミング検証装置は、再レイアウト後に発生するタイミング違反を事前に予測することができるが、遅延回路の最適な挿入ポイントを検出することができないという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１１０５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、タイミング情報及びレイアウト情報に基づいて、修正回路の最適な挿入ポイントを検出し、タイミング収束時間の短縮化ができる半導体装置の設計装置、設計方法、設計プログラム及び製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、回路のレイアウト情報が格納されているレイアウトデータベースから違反パスの重複情報を含む前記回路に流れる信号のタイミング情報を抽出するとともに、前記タイミング情報が予め設定された前記回路のタイミング制約情報に違反しているタイミング違反部分を検出するタイミング違反検出部と、前記レイアウトデータベースから、前記タイミング違反部分に対応するレイアウトの配置情報を取得する配置情報取得部と、前記違反パスの重複情報及び前記レイアウトの配置情報から、予め決められたコスト関数に基づいて、前記タイミング違反を修正する修正回路を挿入するための修正候補毎のコストを算出するコスト算出部と、前記コスト算出部により算出された前記修正候補毎のコストのうち、コストが最も低い前記修正候補を表示あるいはファイルに出力できる修正候補出力部とを有することを特徴とする半導体装置の設計装置を提供することができる。
【発明の効果】
【００１０】
本発明の半導体装置の設計装置によれば、タイミング情報及びレイアウト情報に基づいて、修正回路の適切な挿入ポイントを検出し、タイミング収束時間の短縮化ができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るコンピュータシステムの構成を説明するための説明図である。
【図２】コンピュータのソフトウエアの構成を説明するための説明図である。
【図３】タイミング収束装置の構成を説明するための説明図である。
【図４Ａ】タイミング違反が発生した回路の例を説明するための説明図である。
【図４Ｂ】図４Aの回路に対応するレイアウトの例を説明するための説明図である。
【図５Ａ】配置密度と領域数の関係を説明するための説明図である。
【図５Ｂ】配置密度とレイアウト配置密度コストとの近似曲線の例を説明するための説明図である。
【図６】違反パス重複度と論理タイミング・パス重複度コストとの近似曲線の例を説明するための説明図である。
【図７】設計装置を使用して設計を行う処理の流れの例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１３】
まず、図１に基づき、本発明の実施の形態に係るコンピュータシステムの構成について説明する。図１は、本発明の実施の形態に係るコンピュータシステムの構成を説明するための説明図である。
【００１４】
図１に示すように、コンピュータシステム１００は、複数、ここでは３つのパーソナルコンピュータ（以下、パソコンという）１０１ａ、１０１ｂ及び１０１ｃと、記憶装置１０２と、ネットワーク１０３とを有して構成されている。３つのパソコン１０１ａ、１０１ｂ、１０１ｃ及び記憶装置１０２は、互いに、ネットワーク１０３を介して接続されている。
【００１５】
パソコン１０１ａは、中央処理装置（以下、CPUという）１１１ａを備えた本体装置１１１と、表示部１１２ａを備えた表示装置１１２と、キーボード１１３と、マウス１１４とを有して構成されている。なお、パソコン１０１ｂ及び１０１ｃのそれぞれの構成は、パソコン１０１ａの構成と同様のため説明を省略する。
【００１６】
記憶装置１０２には、アプリケーションプログラム群１２１と、レイアウトデータベース（以下、レイアウトDBという）１２２と、タイミングデータベース（以下、タイミングDBという）１２３とが含まれる。
【００１７】
パソコン１０１ａ〜１０１ｃのそれぞれは、アプリケーションプログラム群１２１から所望のプログラムを読み出し、読み出したプログラムを実行する。また、パソコン１０１ａ〜１０１ｃのそれぞれは、所望のプログラムを実行して得られた結果をレイアウトDB１２２またはタイミングDB１２３に記憶する、あるいは、レイアウトDB１２２またはタイミングDB１２３に記憶されている内容を更新する。さらに、パソコン１０１ａ〜１０１ｃのそれぞれは、所望のプログラムを実行する際に、レイアウトDB１２２及びタイミングDB１２３のいずれか、あるいは、両方からデータを読み出し、所定の処理を実行する。
【００１８】
図２は、パソコンのソフトウエアの構成を説明するための説明図である。  
図２に示すように、パソコン１０１ａは、CPU１１１ａと、CPU１１１ａ上において実行されるプログラム群とから構成されているアプリケーションシステムである。そのシステムにおいて実行されるプログラム群は、オペレーティングシステム（以下、OSという）１２４と、OS１２４上に設けられたアプリケーションプログラム群１２１とを含んで構成されている。このアプリケーションプログラム群１２１は、配置配線プログラム１３１、タイミング解析プログラム１３２、レイアウト検証プログラム１３３及びタイミング収束プログラム１３４により構成されている。
【００１９】
配置配線プログラム１３１は、図示しない回路情報に基づいて回路及び配線のレイアウトに関する情報を生成し、生成したレイアウトに関する情報を、記憶装置１０２のレイアウトDB１２２に記憶する。
【００２０】
タイミング解析プログラム１３２は、レイアウトDB１２２に記憶されたレイアウトに関する情報からタイミング解析を行い、タイミング違反が発生した場合、タイミング違反パス、タイミングポイント、タイミング違反量、タイミング許容量及び違反パス数等のタイミング情報を生成し、生成したタイミング情報をタイミングDB１２３に記憶する。
【００２１】
レイアウト検証プログラム１３３は、タイミング解析の結果、タイミング違反が発生しなかった場合、対応する製造プロセスのデザインルールにより、レイアウトDB１２２に記憶されたレイアウトに関する情報の検証を実行する。
【００２２】
タイミング収束プログラム１３４は、タイミング解析の結果、タイミング違反が発生した場合、後述するタイミング収束の処理を実行する。このタイミング収束プログラム１３４がOS１２４上で実行されることにより、後述するタイミング収束装置が構成される。
【００２３】
ここで、このように構成されるタイミング収束装置の構成について説明する。図３は、タイミング収束装置の構成を説明するための説明図である。図３に示すように、半導体装置の設計装置であるタイミング収束装置１は、論理タイミング情報取得部１１と、レイアウト情報取得部１２と、回路変更コスト算出部１３と、回路変更箇所決定部１４と、回路変更指示出力部１５とを有して構成されている。
【００２４】
論理タイミング情報取得部１１は、タイミングDB１２３からデータを読み出して、タイミング情報を取得し、取得したタイミング情報が予め設定されたタイミング制約情報に違反しているタイミング違反部分、即ち、タイミング違反箇所を検出する。この論理タイミング情報取得部１１は、取得したタイミング情報が予め設定されたタイミング制約情報に違反しているタイミング違反部分を検出するタイミング違反検出部を構成する。
【００２５】
レイアウト情報取得部１２は、レイアウトDB１２２からデータを読み出して、タイミング制約情報に違反しているタイミング違反箇所に対応するレイアウトの配置情報を取得する。このレイアウト情報取得部１２は、タイミング制約情報に違反しているタイミング違反箇所に対応するレイアウトの配置情報を取得する配置情報取得部を構成する。
【００２６】
回路変更コスト算出部１３は、上述したタイミング違反部分内において、タイミング違反の修正を行う修正回路を挿入することのできるポイントを、候補（以下、修正候補ともいう）として抽出する。回路変更コスト算出部１３は、論理タイミング情報取得部１１により取得されたタイミング情報から、論理タイミング・パス重複度コストを修正候補毎に算出し、レイアウト情報取得部１２により取得されたレイアウトの配置情報から、レイアウト配置密度コストを修正候補毎に算出する。なお、回路変更コスト算出部１３が修正候補を抽出するといて説明したが、他のブロック、例えば、論理タイミング情報取得部１１が修正候補を抽出するようにしてもよい。
【００２７】
回路変更箇所決定部１４は、論理タイミング・パス重複度コストとレイアウト配置密度コストとを合わせたトータルコストである回路修正コストを修正候補毎に算出し、回路修正コストの最も低い修正候補のポイントを、回路の修正箇所、即ち、変更箇所として決定する。
【００２８】
回路変更指示出力部１５は、回路変更箇所決定部１４により決定された回路の修正箇所の情報を配置配線プログラム１３１に出力する。これにより、配置配線プログラム１３１は、入力された回路の修正箇所の情報に基づいて、再度、配置配線を行い、レイアウト情報を得る。この回路変更指示出力部１５は、回路の修正箇所の情報を出力する修正候補出力部を構成する。なお、回路変更指示出力部１５は、決定された回路の変更箇所の情報を表示装置１１２の表示部１１２ａに表示する、あるいは、ファイルに出力するようにしてもよい。これにより、ユーザは、表示部１１２ａに表示された、あるいは、ファイルに出力された回路の変更箇所の情報を参照し、手動によりレイアウトの配置配線の修正を行うことができる。
【００２９】
なお、回路変更指示出力部１５は、回路変更箇所決定部１４により算出された修正候補毎の回路修正コストを、例えば、回路修正コストの低い順番に並び替え、回路修正コストの低い順番に並び替えた修正候補毎の回路修正コストの情報を配置配線プログラム１３１に出力するようにしてもよい。また、回路変更指示出力部１５は、回路修正コストの低い順番に並び替えた修正候補毎の回路修正コストの情報を表示装置１１２の表示部１１２ａに表示する、あるいは、ファイルに出力するようにしてもよい。これにより、ユーザは、回路修正コストの最も低い修正候補のポイントだけでなく、回路修正コストの２番目あるいは３番目等に低い修正候補のポイントを確認することができる。
【００３０】
なお、再レイアウトを実行する際に、一旦配置された回路の移動が一切禁止される場合がある。回路の移動が一切禁止される場合、回路変更コスト算出部１３では、レイアウト配置密度コスト、及び、論理タイミング・パス重複度コストに加え、空き領域情報コストが算出される。
【００３１】
回路変更箇所決定部１４は、回路の移動が一切禁止される場合、回路修正コストに空き領域情報コストを加えた回路修正コストを算出し、回路修正コストの最も低い修正候補に基づいて、回路の変更箇所を決定する。
【００３２】
ここで、回路修正コストとは、コスト関数の出力値、言い換えると、算出値であり、あるポイントの回路変更を行なう場合の作業量を数値化すなわちモデル化したものである。このコスト関数は、パラメタとして、論理タイミング・パス重複度コスト、配置密度コスト及び空き領域コストにより構成される。なお、あるポイントの回路変更を行なう場合の作業量には、あるポイントの回路変更を行なう場合の既存回路に与える影響度も含まれる。
【００３３】
論理タイミング・パス重複度コストとは、タイミング情報の観点からみた、回路修正コストであり、パラメタとして、回路変更箇所のタイミング余裕度及びタイミング収束のための回路変更数を考慮して数値化したものである。
【００３４】
また、配置密度コストとは、レイアウト配置情報の観点からみた、回路修正コストであり、パラメタとして、回路変更箇所周辺の配置密度を考慮して数値化したものである。
【００３５】
また、空き領域コストとは、レイアウト配置情報の観点からみた、回路修正コストであり、パラメタとして、回路変更箇所周辺の空き領域情報を考慮して数値化したものである。  図４Aは、タイミング違反が発生した回路の例を説明するための説明図であり、図４Bは、図４Aの回路に対応するレイアウトの例を説明するための説明図である。
【００３６】
図４Aに示すように、回路２０は、フリップフロップ（以下、FFという）２１、２２及び２６と、AND回路２３、２４及び２５とを有して構成されている。
【００３７】
FF２１の出力端子は、AND回路２３の一方の入力端子に接続され、AND回路２３の出力端子は、AND回路２５の一方の入力端子に接続されている。FF２２の出力端子は、AND回路２４の一方の入力端子に接続され、AND回路２４の出力端子は、AND回路２５の他の一方の入力端子に接続されている。AND回路２５の出力端子は、FF２６の入力端子に接続されている。
【００３８】
図４Bは、このように構成される回路２０に対応するレイアウト４０である。レイアウト４０は、複数の矩形領域４１〜５５により構成されている。複数の矩形領域４１〜５５のうち、斜め斜線の矩形領域４１〜５０は、回路が配置されている配置済領域であり、矩形領域５１〜５５は、回路が配置されていない空白領域である。
【００３９】
特に、矩形領域４１は、FF２１が配置されている領域であり、矩形領域４２は、FF２２が配置されている領域であり、矩形領域４３は、AND回路２３が配置されている領域であり、矩形領域４４は、AND回路２４が配置されている領域であり、矩形領域４５は、AND回路２５が配置されている領域であり、矩形領域４６は、FF２６が配置されている領域である。また、矩形領域４７〜５０のそれぞれは、回路２０には図示していない回路が配置されている領域である。
【００４０】
この回路２０において、FF２１の出力端子からFF２６の入力端子までのパス、及び、FF２２の出力端子からFF２６の入力端子までのパスにタイミング違反が発生したものとする。この場合、遅延回路、即ち、修正回路を挿入する修正候補として、図４Aに示すように、FF２１とAND回路２３との間のポイント３１と、FF２２とAND回路２４との間のポイント３２と、AND回路２３とAND回路２５との間のポイント３３と、AND回路２４とAND回路２５との間のポイント３４と、AND回路２５とFF２６との間のポイント３５とが存在する。これらのポイント３１〜３５に遅延回路を挿入する場合、従来、タイミング情報が参照され、ポイント３５に遅延回路が挿入されることが多かった。これは、AND回路２５からFF２６へのパスは、違反パスが重複しているためである。即ち、ポイント３５に遅延回路を挿入することにより、FF２１からFF２６への違反パス及びFF２２からFF２６への違反パスの両方のタイミング違反を収束できることがあるためである。
【００４１】
しかしながら、図４Bに示すように、AND回路２５及びFF２６のそれぞれが配置されている矩形領域４５及び４６の周囲には、矩形領域４７〜５０に示す他の回路が配置されている。そのため、ポイント３５に遅延回路を挿入した場合、矩形領域４７〜５０に配置されている他の回路の配置が変更され、配置が変更された箇所で新たにタイミング違反が発生する虞がある。
【００４２】
そこで、本実施の形態では、タイミング情報から得られる論理タイミング・パス重複度コストと、レイアウト情報から得られるレイアウト配置密度コストとに基づいて、最適の遅延回路挿入ポイントを検出するようにしている。
【００４３】
ここで、レイアウト配置密度コストPphysicalについて説明する。図５Aは、配置密度と領域数の関係を説明するための説明図であり、図５Bは、配置密度とレイアウト配置密度コストとの近似曲線の例を説明するための説明図である。
【００４４】
レイアウトにおけるロジック部の配置密度の分布を正規分布と仮定すると、各領域の配置密度の分布は、下式で表現することができる。
【数１】
2010211311.tif 000003
【００４５】
例えば、配置密度が６５％の場合（μ＝0.65、σ＝0.15：μ、σはデータドリブンで決定される）、配置密度分布は、図５Aに示す曲線となる。
【００４６】
遅延回路の挿入及び配置に関して、あるポイントｘ近傍の配置密度におけるレイアウト配置密度コストPphysical（ｘ）について、下記分布関数で近似する。
【数２】
2010211311.tif 000004
【００４７】
コスト区間｛０，１｝とした場合、図５Bに示すように、レイアウト配置密度コストPphysicalは、配置密度が１００％の場合、最大の１、配置密度が０％の場合、最小の０となる。回路変更コスト算出部１３は、タイミング違反パス上の各ポイント３１〜３５に対して、レイアウト配置密度コストPphysicalを算出する。
【００４８】
次に、論理タイミング・パス重複度コストPlogicalについて説明する。図６は、違反パス重複度と論理タイミング・パス重複度コストとの近似曲線の例を説明するための説明図である。
【００４９】
遅延回路の挿入及び配置に関して、論理タイミング・パス重複度コストPlogicalは、違反パスの重複度が１の場合を最大として、重複度に対して単調減少と考えられる。
【００５０】
コスト区間｛０，１｝とした場合、図６に示すように、論理タイミング・パス重複度コストPlogicalは、重複度が１の場合、最大の１、重複度が無限大の場合、最小の０となる。
【００５１】
遅延回路の挿入及び配置における論理タイミング・パス重複度コストPlogical（ｘ）を、下記関数曲線で近似する。ただし、α＝０．５（αは重複パスの分布に応じて変更する）とする。
【数３】
2010211311.tif 000005
【００５２】
回路変更コスト算出部１３は、タイミング違反パス上の各ポイント３１〜３５に対して、論理タイミング・パス重複度コストPlogicalを算出する。
【００５３】
次に、回路修正コストPtotalについて説明する。この回路修正コストPtotal（ｘ）は、レイアウト配置密度コストPphysical（ｘ）と、論理タイミング・パス重複度コストPlogical（ｘ）との加算により算出される。
【００５４】
回路変更箇所決定部１４は、タイミング違反パス上の各ポイント３１〜３５に対して、回路修正コストPtotal（ｘ）を算出し、この回路修正コストPtotal（ｘ）のコストが最小となる修正箇所、即ち、遅延回路の挿入ポイントを導出する。
【００５５】
なお、上述したように、一旦配置された回路の移動を一切禁止する場合、配置密度だけでなく、空き領域の情報が必要となる。あるポイントｘ近傍の空き領域に関する空き領域コストPempty（ｘ）は、あるポイントｘ近傍に空き領域が存在すれば０、あるポイントｘ近傍に空き領域が存在しなければ無限大と定義する。
【００５６】
回路の移動が一切禁止される場合、回路変更コスト算出部１３は、タイミング違反パス上の各ポイント３１〜３５に対して、空き領域コストPempty（ｘ）を算出する。
【００５７】
回路変更箇所決定部１４は、回路の移動が一切禁止される場合、空き領域コストPempty（ｘ）によりフィルタリングを行う。例えば、回路修正コストPtotal（ｘ）に空き領域コストPempty（ｘ）を加えることにより、あるポイントｘ近傍に空き領域が存在しない遅延回路の挿入ポイントが修正箇所から除外されることになる。回路変更指示出力部１５は、回路変更箇所決定部１４により導出された修正箇所を出力する。
【００５８】
図７は、設計装置を使用して設計を行う処理の流れの例を示すフローチャートである。
【００５９】
まず、レイアウト配置配線が実行され（ステップＳ１）、レイアウトが生成される。生成されたレイアウトに対して、タイミング解析が実行される（ステップＳ２）。タイミング解析の結果に基づいて、タイミング違反があるか否かが判定される（ステップＳ３）。タイミング違反がない場合、NOとなり、レイアウト検証が実行される（ステップＳ４）。レイアウト検証の結果に基づいて、レイアウト違反があるか否かが判定される（ステップＳ５）。レイアウト違反がない場合、NOとなり、処理を終了する。レイアウト違反がある場合、YESとなり、ステップＳ１に戻り、レイアウト違反の箇所を修正するように、再度、レイアウト配置配線が実行される。
【００６０】
一方、ステップＳ３において、タイミング違反がある場合、YESとなり、論理タイミング情報取得部１１により、タイミングDB１２３から論理タイミング情報が取得され、タイミング違反箇所が検出される（ステップＳ６）。次に、レイアウト情報取得部１２により、レイアウトDB１２２からレイアウト情報が取得され、タイミング違反箇所に対応するレイアウトの配置情報が取得される（ステップＳ７）。回路変更コスト算出部１３により、論理タイミング情報から違反パス上の遅延回路挿入ポイント毎の論理タイミング・パス重複度コストが算出され（ステップＳ８）、レイアウト情報から違反パス上の遅延回路挿入ポイント毎のレイアウト配置密度コストが算出される（ステップＳ９）。論理タイミング・パス重複度コスト及びレイアウト配置密度コストに基づいて、回路変更箇所決定部１４により、違反パス上の遅延回路挿入ポイント毎の回路修正コストが算出される（ステップＳ１０）。回路修正コストに基づいて、回路変更箇所決定部１４により、回路の変更箇所が決定される（ステップＳ１１）。回路変更指示出力部１５により、決定された回路の変更箇所を含む回路変更指示が出力され（ステップＳ１２）、ステップＳ１に戻り、回路変更指示に基づいて、再度、レイアウト配置配線が実行される。
【００６１】
以上の処理を繰り返し、ステップＳ５においてレイアウト違反が検出されなかった場合、処理を終了する。その後、レイアウト違反が検出されなかったレイアウトからレイアウト設計データ、例えばGDSデータ、が作成され、作成されたレイアウト設計データを用いて半導体製造装置により半導体装置が製造されることとなる。
【００６２】
以上のように、タイミング収束装置１は、レイアウト配置密度コスト及び論理タイミング・パス重複度コストに基づいて、回路修正コストを算出し、回路変更箇所を導出するようにした。この結果、回路修正コストが最小となる遅延回路の挿入ポイントに基づいて、再レイアウトを実行することにより、回路最適化と再レイアウトの実行回数を減らすことが可能となる。
【００６３】
よって、本実施の形態の半導体装置の設計装置によれば、タイミング情報及びレイアウト情報に基づいて、修正回路の最適な挿入ポイントを検出し、タイミング収束時間の短縮化ができる。
【００６４】
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、CD-ROM等の可搬媒体や、ハードディスク等の記憶装置等に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムがコンピュータにより読み取られて、動作の全体あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の設計装置を実現することができる。
【００６５】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００６６】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【００６７】
１…タイミング収束装置、１１…論理タイミング情報取得部、１２…レイアウト情報取得部、１３…回路変更コスト算出部、１４…回路変更箇所決定部、１５…回路変更指示出力部、１００…コンピュータシステム、１０１ａ〜１０１ｃ…パーソナルコンピュータ、１０２…記憶装置、１０３…ネットワーク、１１１…本体装置、１１２…表示装置、１１３…キーボード、１１４…キーボード、１２１…アプリケーションプログラム群、１２２…レイアウトデータベース、１２３…タイミングデータベース、１２４…オペレーティングシステム、１３１…配置配線プログラム、１３２…タイミング解析プログラム、１３３…レイアウト検証プログラム、１３４…タイミング収束プログラム。
【図１】
2010211311.tif 000006
【図２】
2010211311.tif 000007
【図３】
2010211311.tif 000008
【図４Ａ】
2010211311.tif 000009
【図４Ｂ】
2010211311.tif 000010
【図５Ａ】
2010211311.tif 000011
【図５Ｂ】
2010211311.tif 000012
【図６】
2010211311.tif 000013
【図７】
2010211311.tif 000014