(57)【特許請求の範囲】
【請求項１】
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
制御部を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記回路情報に基づくデザインチェックによって得られる前記パス上のセルの段数と、前記パス上のセルの段数が前記パスの配線の負荷に影響する第２の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記回路情報に基づくデザインチェックによって得られる前記パス上の接続線あたりの前記パス上のセルの端子数と、前記パス上の接続線あたりの前記パス上のセルの端子数が前記パスの配線の負荷に影響する第３の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記静的タイミング解析によって得られる前記パス上のセルのファンアウト数と、前記ファンアウト数が前記パスの配線の負荷に影響する第４の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記制御部は、
抽出した前記クリティカルパスについての第１の配置配線処理を行い、
前記第１の配置配線処理の後に、前記第１の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第１のレイアウトデータに基づいて、前記各パスのうち、抽出した前記クリティカルパス以外のパスについての第２の配置配線処理を行い、
前記第２の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第２のレイアウトデータに基づいて、第２の静的タイミング解析を行い、
前記第２の静的タイミング解析によって得られるタイミングエラーのうち、当該タイミングエラーの修正処理によって修正した後のタイミングエラーの数が閾値以上であるか否かを判定し、
前記タイミングエラーの数が前記閾値以上である場合に、前記クリティカルパスの数が多くなるように前記各パスから、導出した前記遅延量に基づき前記クリティカルパスを抽出する、
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
前記制御部は、
前記各パスについて、導出した前記パスの配線に関する遅延量と、前記第１のフリップフロップに供給されるクロックの周期と、に基づいて、前記パスの配線の遅延の余裕度を算出し、
前記各パスから、算出した前記パスの配線の遅延の余裕度に基づきクリティカルパスを選択する、
ことを特徴とする請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
前記制御部は、
前記各パスについて、前記静的タイミング解析によって得られる前記パス上のセルの遅延量の合計値と、前記クロックの周期と、に基づいて、前記パスのスラックの余裕度を算出し、
前記各パスについて、算出した前記パスのスラックの余裕度についての重み付けと、算出した前記パスの配線の遅延の余裕度についての重み付けを行い、
前記各パスについて、重み付けの結果を集計して前記パスに関する遅延の度合を算出し、
前記各パスのうち、算出した前記パスに関する遅延の度合に基づいて前記クリティカルパスを抽出する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、
前記各パスのうち、算出した前記パスに関する遅延の度合が所定の度合よりも遅延が大きいことを示すパスをクリティカルパスとして抽出する、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
コンピュータに、
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
処理を実行させることを特徴とする設計支援方法。
【請求項１０】
コンピュータが、
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
処理を実行することを特徴とする設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、設計支援方法、および設計支援プログラムに関する。
【背景技術】
【０００２】
従来、半導体集積回路の設計では、配置配線前にタイミング解析を実行する。そして、レイアウト設計では、例えば、設計者が重要なセルを手作業で配置した後に、自動配置配線を行う。さらに、半導体集積回路の設計では、例えば、自動配置配線後に再度静的タイミング解析を行う。ここで、静的タイミング解析によって解析されるタイミングエラーとしては、例えば、セットアップタイムエラーやホールドタイムエラーがある。
【０００３】
先行技術としては、例えば、ホールドタイムエラーが起こる可能性のあるパスに対して、入力端子と出力端子との間が内部配線で接続された配線セルを挿入し、挿入後のレイアウトデータに対してタイミング検証を行った結果より、配線セルをディレイセルに変換する技術がある（例えば、以下特許文献１参照。）。また、例えば、半導体集積回路のレイアウト設計において、ネットリストからセットアップタイムを解析してクリティカルパスを抽出し、クリティカルパスの配線セルを変更してレイアウトを生成する技術がある（例えば、以下特許文献２参照。）。また、例えば、レイアウト設計において初期配置を行った後に、仮想的な配線によってクリティカルパスを抽出する技術がある（例えば、以下特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１０７８４４号公報
【特許文献２】特開２００４−１１１６７２号公報
【特許文献３】特開平７−２８２１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、レイアウトした後のレイアウトデータでは、セル間の配線による配線負荷が増加するため、レイアウトした後の静的タイミング解析の解析結果と、レイアウトする前の静的タイミング解析の解析結果と、の乖離が広がる。このため、レイアウト後の静的タイミング解析の解析結果においてタイミングエラーが多くなり、レイアウト後にタイミングエラーを解消するために設計者が手作業でレイアウトを修正するという問題点がある。
【０００６】
１つの側面では、本発明は、レイアウト設計の効率化を図ることができる情報処理装置、設計支援方法、および設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する制御部を有する情報処理装置、設計支援方法、および設計支援プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、レイアウト設計の効率化を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明にかかる情報処理装置の一動作例を示す説明図である。
【図２】図２は、配置配線前の遅延量と配置配線後の遅延量とが異なる例を示す説明図である。
【図３】図３は、情報処理装置のハードウェア構成例を示すブロック図である。
【図４】図４は、情報処理装置の機能的構成例を示すブロック図である。
【図５】図５は、記憶部の記憶例を示す説明図である。
【図６】図６は、他モジュール接続ネット例を示す説明図である。
【図７】図７は、スラックの余裕度と重みの対応表例を示す説明図である。
【図８】図８は、スラックの重みの算出例を示す説明図である。
【図９】図９は、項目ごとの影響度例を示す説明図である。
【図１０】図１０は、配線の遅延の余裕度と重みの対応表例を示す説明図である。
【図１１】図１１は、配線の遅延の重みの算出例を示す説明図である。
【図１２】図１２は、優先度の算出例を示す説明図である。
【図１３】図１３は、入力画面例を示す説明図である。
【図１４】図１４は、出力画面例を示す説明図である。
【図１５】図１５は、情報処理装置による設計支援処理手順例を示すフローチャート（その１）である。
【図１６】図１６は、情報処理装置による設計支援処理手順例を示すフローチャート（その２）である。
【図１７】図１７は、図１５に示すクリティカルパス抽出処理手順例を示すフローチャートである。
【図１８】図１８は、図１７に示すスラックの余裕度に応じた重み付け処理手順例を示すフローチャートである。
【図１９】図１９は、図１７に示す遅延量の余裕度に応じた重み付け処理手順例を示すフローチャートである。
【図２０】図２０は、図１７に示すパスの優先度の導出処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる情報処理装置、設計支援方法、および設計支援プログラムの実施の形態を詳細に説明する。
【００１１】
図１は、本発明にかかる情報処理装置の一動作例を示す説明図である。情報処理装置１００は、例えば、レイアウト前のクリティカルパスを抽出してレイアウト設計を支援するコンピュータである。
【００１２】
上述したように、レイアウト設計では、例えば、重要なセルを設計者が手作業で配置した後に、自動配置配線を行う。さらに、半導体集積回路の設計では、例えば、自動配置配線後に再度静的タイミング解析を行う。
【００１３】
ここで、静的タイミング解析とは、半導体集積回路内のセルやセル間の接続関係を示す回路情報１１１に基づいて静的にパスを解析して、タイミングを解析する技術である。ここで、パスとは、対象回路１０１の外部入力端子からフリップフロップ（以下、ＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）と称する。）までの経路と、始点のＦＦから終点のＦＦまでの経路と、ＦＦから対象回路１０１の外部出力端子までの経路と、を示す。外部入力端子や外部出力端子には、例えば、各検証時にＦＦを仮想的に設けてもよいため、パスについては、ＦＦ間パスとも称する。
【００１４】
静的タイミング解析では、パスについて最大遅延量と最小遅延量を解析し、最小遅延量が終点のＦＦのホールド時間よりも短い場合は、パスがホールドタイムエラーであると判定される。そして、最大遅延量が終点のＦＦのセットアップ時間とクロック周期の和よりも遅い場合、パスがセットアップエラーであると判定される。
【００１５】
従来技術では、レイアウトした後のレイアウトデータでは、セル間の配線による配線負荷が増加するため、レイアウトした後の静的タイミング解析の解析結果と、レイアウトする前の静的タイミング解析の解析結果と、の乖離が広がる。このため、レイアウト後の静的タイミング解析の解析結果においてタイミングエラーが多くなり、レイアウト後にタイミングエラーを解消するために設計者が手作業でレイアウトを修正するため、設計の工数が増大する。
【００１６】
本実施の形態では、配置配線前の回路情報１１１に基づく静的タイミング解析で得た他モジュールと接続するパス上のセルの接続線の数に基づき算出したパスごとの配線の遅延量に基づいてクリティカルパスを抽出する。
【００１７】
これにより、設計者が、抽出したクリティカルパスを優先的に配置配線することにより、クリティカルパスについての配線の遅延量の低減を図ることができ、セットアップエラーの抑制を図ることができる。したがって、レイアウト設計の効率化を図ることができる。レイアウト設計の効率化を図るとは、例えば、設計者の工数の低減を図ることである。例えば、タイミングエラーを解消するために設計者が手作業でレイアウトを修正する回数の低減を図ることができる。
【００１８】
まず、情報処理装置１００は、例えば、設計の対象回路１０１内のセルとセル間の接続関係を示す回路情報１１１に基づいて静的タイミング解析を行う。ここで、回路情報１１１は、例えば、ネットリストを含む。
【００１９】
つぎに、情報処理装置１００は、例えば、対象回路１０１内の各パスについて、他モジュール接続ネット数に基づいて、パスの配線に関する遅延量を導出する。すなわち、情報処理装置１００は、パスごとにパスの配線に関する遅延量を導出する。パスは、例えば、第１のＦＦから第２のＦＦによって形成される。ここで、接続線はセル間の接続線については、ネットとも称する。他モジュール接続ネット数とは、第１のＦＦから第２のＦＦまでの間の各セルの接続先および接続元のうちの、第１のＦＦを含む対象回路１０１内の第１のモジュールと異なる対象回路１０１内の第２のモジュールに含まれる接続先および接続元の数である。換言すると、接続先および接続元の数は、例えば、パス上のいずれかのセルに接続されるネットのうち第２のモジュール内に含まれるセルに接続されるネットの数である。ここで、他モジュール接続ネット数は、静的タイミング解析によって得られる。パスの配線に関する遅延量とは、配線が有する抵抗および容量や、隣接する配線との間の容量などによって生じる遅延である。パスの配線に関する遅延量は、省略してパスの配線の遅延量や配線の遅延量とも称する。
【００２０】
図１の例では、対象回路１０１は、パスｐ１とパスｐ２とを含む。パスｐ１についての第１のＦＦを含む第１のモジュールは、モジュールｍＢである。そして、パスｐ１上のセルについての接続線ｎ１と接続線ｎ２とは接続元がモジュールｍＡに含まれる。このため、パスｐ１についての他モジュール接続ネット数は、太線で表されるネットｎ１とネットｎ２との２つである。
【００２１】
また、パスｐ２についての第１のＦＦを含む第１のモジュールは、モジュールｍＢである。パスｐ２上のセルについての接続線ｎ３は接続元がモジュールｍＡに含まれる。このため、パスｐ２についての他モジュール接続ネット数は、太線で表されるネットｎ３の１つである。
【００２２】
そして、図１の例では、他モジュール接続ネット１つあたりの遅延量をｄｖとする。このため、情報処理装置１００は、パスｐ１についての配線の遅延量を２ｄｖとし、パスｐ２についての配線の遅延量をｄｖとする。
【００２３】
つぎに、情報処理装置１００は、複数のパスから、導出した遅延量に基づきクリティカルパスを抽出する。図１の例では、閾値をｄｖとし、情報処理装置１００は、複数のパスから、導出した配線の遅延量がｄｖより大きいパスをクリティカルパスとして抽出する。このため、図１の例では、パスｐ１が抽出される。
【００２４】
このように、他のモジュールを介して配線されるために配線の遅延量が多くなり、セットアップエラーを起こしうるパスをクリティカルパスとして抽出することができる。さらに、クリティカルパスを優先的に配置配線すれば、パス上の配線の遅延量の低減を図ることができるため、セットアップエラーの抑制を図ることができる。
【００２５】
ここで、パスを形成する第１のＦＦは、送信ＦＦ、始点ＦＦ、前段のＦＦとも称し、パスを形成する第２のＦＦは、受信ＦＦ、終点ＦＦ、後段のＦＦとも称する。
【００２６】
図２は、配置配線前の遅延量と配置配線後の遅延量とが異なる例を示す説明図である。回路２００例では、ＦＦ−Ａ〜ＦＦ−Ｆと、セルｃ１〜セルｃ８と、を有する。ここで、回路２００例におけるａからｍは、接続線であり、ネットとも称する。ネットは、配置配線が行われると、セル間を接続する配線となる。
【００２７】
図２には、ＦＦ−ＡからＦＦ−Ｆまでの間のパスと、ＦＦ−ＢからＦＦ−Ｆまでの間のパスと、ＦＦ−ＥからＦＦ−Ｆまでの間のパスと、の各々について、配置配線前のパスの遅延量の例と、配置配線後のパスの遅延量の例と、を示す。
【００２８】
表２０１に示すように、配置配線前のディレイ例では、各パスの遅延量はセルの遅延量の合計値である。このため、ＦＦ−ＡからＦＦ−Ｆまでの間のパスについての合計遅延量は１［ｎｓ］である。ＦＦ−ＢからＦＦ−Ｆまでの間のパスについての合計遅延量は１［ｎｓ］である。ＦＦ−ＥからＦＦ−Ｆまでの間のパスについての合計遅延量は０．５［ｎｓ］である。
【００２９】
また、表２０２に示すように、配置配線後のディレイ例では、各パスの遅延量は、セルの遅延量およびセル間の配線の遅延量と、の合計値である。このため、ＦＦ−ＡからＦＦ−Ｆまでの間のパスについての合計遅延量は１．７［ｎｓ］である。ＦＦ−ＢからＦＦ−Ｆまでの間のパスについての合計遅延量は１．７２［ｎｓ］である。ＦＦ−ＥからＦＦ−Ｆまでの間のパスについての合計遅延量は１．０６［ｎｓ］である。セルｃ１については、入力配線ａと入力配線ｂとの線長が短いため、配置配線後のセルｃ１の遅延量が、配置配線前のセルｃ１の遅延量に対して±０．１［ｎｓ］である。セルｃ８については、入力配線ｉと入力配線ｌとの線長が長いため、配置配線後のセルｃ８の遅延量が、配置配線前のセルｃ８の遅延量に対して±０．４［ｎｓ］である。
【００３０】
このように、配線の遅延量と配線負荷によるセルの遅延量の増減とにより、配置配線前のパスの遅延量と配置配線後のパスの遅延量とには乖離がある。
【００３１】
（情報処理装置１００のハードウェア構成例）
図３は、情報処理装置のハードウェア構成例を示すブロック図である。情報処理装置１００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などであってもよいし、サーバなどであってもよく、特に限定しない。また、情報処理装置１００は、例えば、ＶＤＩ（Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）システムなどに適用されてもよい。例えば、サーバが情報処理装置１００による処理を行い、クライアント端末が当該処理に応じた画面を表示する。
【００３２】
まず、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を有する。情報処理装置１００は、ディスクドライブ３０４と、ディスク３０５と、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９とは、バス３００によってそれぞれ接続される。
【００３３】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムや設計支援プログラムなどのプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。図示省略するが、ディスク３０５は、例えば、設計支援プログラムなどのプログラムを記憶していてもよい。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。ここで、ＣＰＵ３０１が、ＲＯＭ３０２やディスク３０５などに記憶された設計支援プログラムなどを読み出して、設計支援プログラムにコーディングされている処理を実行する。
【００３４】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に接続され、このネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３５】
キーボード３０７やマウス３０８は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ３０９は、ＣＰＵ３０１の指示により、データを出力するインターフェースである。
【００３６】
また、情報処理装置１００は、上述した構成部のほか、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置を有していてもよい。また、情報処理装置１００は、上述した構成部のほか、プリンタなどの出力装置を有していてもよい。また、情報処理装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリなどを有していてもよい。
【００３７】
また、本実施の形態では、情報処理装置１００のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置１００がサーバである場合、情報処理装置１００と利用者の操作可能な装置やディスプレイ３０９などがネットワーク３１０を介して接続されてもよい。
【００３８】
（情報処理装置１００の機能的構成例）
図４は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置１００は、第１のタイミング検証部４０１と、デザインチェック部４０２と、第１の重み付け部４０３と、第２の重み付け部４０４と、パス優先度算出部４０５と、を有する。情報処理装置１００は、第１の配置配線部４０６と、第２の配置配線部４０７と、第２のタイミング検証部４０８と、検証結果判定部４０９と、修正部４１０と、記憶部４１１と、を有する。
【００３９】
第１のタイミング検証部４０１から修正部４１０までの制御部の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ディスク３０５などの記憶装置に記憶された設計支援プログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、設計支援プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。制御部の機能のうち、一部の機能をサーバなどの他の装置によって実行させてもよい。
【００４０】
記憶部４１１は、ＲＯＭ３０２やディスク３０５などの記憶装置によって実現される。記憶部４１１に格納される情報例については図５を用いて説明する。
【００４１】
図５は、記憶部の記憶例を示す説明図である。記憶部４１１は、例えば、論理回路情報５０１、タイミング定義情報５０２、静的タイミング検証情報５０３、デザインチェック情報５０４、配置配線結果情報５０８などを記憶する。また、記憶部４１１は、例えば、本実施の形態における出力情報として、セルディレイ重み付け結果５０５と、デザインチェック重み付け結果５０６と、パス優先度情報５０７と、を有する。
【００４２】
論理回路情報５０１は、例えば、設計の対象回路に含まれるセルとセル間の接続関係を表す。具体的に、論理回路情報５０１は、例えば、ネットリストを含む。より具体的に、論理回路情報５０１は、ＶｅｒｉｌｏｇやＶＨＤＬ（Ｖｅｒｙ  ｈｉｇｈ  ｓｐｅｅｄ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などのハードウェア記述言語やシステム記述言語によって記述される。
【００４３】
タイミング定義情報５０２には、例えば、設計の対象回路についてのタイミングが定義される。タイミング定義情報５０２は、例えば、クロック情報５１１を含む。より具体的に、タイミング定義情報５０２は、例えば、クロック周期などが定義される。
【００４４】
まず、図４の説明に戻って、第１のタイミング検証部４０１は、例えば、論理回路情報５０１とタイミング定義情報５０２とに基づいて、静的タイミング解析を行う。これにより、図５に示す静的タイミング検証情報５０３が得られる。
【００４５】
静的タイミング検証情報５０３は、ディレイ情報５１４と、第２の回路情報５１５と、を含む。ディレイ情報５１４は、例えば、パスごとに、パスに含まれる各セルの遅延量の合計値を表す情報である。第２の回路情報５１５は、例えば、パスごとに、パスに含まれるセルのファンアウト数の合計値、パスに含まれるセル段数、パスに含まれるセルのネットのうち他モジュールに接続されるネットの数などを表す情報である。他モジュールに接続されるネットの数は、省略して他モジュール接続ネット数とも称する。
【００４６】
図６は、他モジュール接続ネット例を示す説明図である。図６に示す設計の対象回路６００は、例えば、モジュールｍＡ〜モジュールｍＣなどを含む。ここで、モジュールは、部分回路の単位であり、設計時の単位でもある。例えば、対象回路の論理設計やレイアウト設計などでは、モジュール単位で行われる場合がある。モジュールｍＢは、回路ｌ１などを有する。モジュールｍＣは、回路ｌ２などを有する。
【００４７】
回路ｌ１と回路ｌ２とは、同じセルを含み、同一の構成である。回路ｌ１では、例えば、入力ＰＡと入力ＰＣからのネットが他のモジュールｍＡを介して回路ｌ１内の入力端Ｂと入力端Ｄに接続される。このため、回路ｌ１のパスの例では、他モジュールに接続されるネットの数は２である。これに対して、回路ｌ２では、例えば、入力ＰＡ’と入力ＰＣ’からのネットが直接回路ｌ２内の入力端Ｂ’と入力端Ｄ’に接続される。このため、回路ｌ２のパスの例では、他モジュールに接続されるネットの数は０である。ここで、他モジュールに接続されるネットの数を省略して他モジュール接続ネット数とも称する。
【００４８】
ここで、始点ＦＦが第１のモジュールに含まれ、送信ＦＦが第２のモジュールに含まれる場合、送信ＦＦへの接続ネットは、他モジュール接続ネット数として計数される。ここで、パス上のセルがいずれのモジュールに含まれるかは、ネットリスト内に定義されたインスタンス名によって判別可能である。
【００４９】
つぎに、図４に示すデザインチェック部４０２は、例えば、論理回路情報５０１に基づいて、デザインチェックを行う。デザインチェック部４０２は、例えば、対象回路に含まれる各パスについて、パス上にあるセルのゲート数およびピン／ネットを検証する。図５に示すデザインチェック情報５０４は、デザインチェック部４０２によるチェック結果である第１の回路情報５１６を有する。第１の回路情報５１６は、パスごとのセルのゲート数およびピン／ネットを表す情報を含む。
【００５０】
第１の重み付け部４０３は、例えば、各パスについて、静的タイミング解析によって得られるパス上のセルの遅延量の合計値と、クロック周期と、に基づいて、パスのスラックの余裕度を算出する。そして、第１の重み付け部４０３は、例えば、各パスについて、算出したパスのスラックの余裕度についての重み付けを行う。
【００５１】
具体的に、図４に示す第１の重み付け部４０３は、例えば、静的タイミング検証情報５０３に含まれるディレイ情報５１４が示すセルの遅延量とタイミング定義情報５０２に定義されたクロックの周期と、に基づいて、スラックを算出する。スラックとは、例えば、タイミングの過不足を表す。スラックがマイナス値の場合、その値だけデータ信号がクロック信号に対してタイミングが未達であることを示す。スラックがプラス値の場合、その値だけデータ信号がクロック信号に対してタイミングが余裕であることを示す。
【００５２】
そして、第１の重み付け部４０３は、スラックと、クロック周期と、に基づいて、スラックの余裕度を算出する。パスを形成する始点ＦＦ同士のクロック周波数が異なる場合、スラックだけでは、いずれのパスがクリティカルパスであるかの判別が困難である。そこで、本実施の形態では、第１の重み付け部４０３が、上述のようにスラックの余裕度を算出することにより、周波数が異なるパス同士であっても遅延量を比較することができ、クリティカルパスの抽出精度の向上を図ることができる。
【００５３】
具体的に、第１の重み付け部４０３は、例えば、パスごとに以下式（１）によりスラックを算出する。そして、第１の重み付け部４０３は、例えば、パスごとに以下式（２）によりスラックの余裕度を算出する。
【００５４】
始点ＦＦに供給されるクロックの周期−始点ＦＦから終点ＦＦまでの間の各セルの合計遅延量＝スラック・・・式（１）
スラック÷始点ＦＦに供給されるクロックの周期＝スラックの余裕度・・・式（２）
【００５５】
つぎに、第１の重み付け部４０３は、例えば、パスごとに、スラックの余裕度に基づいて、パスのセルの遅延量についての重み付けを行う。ここで、重み付けを行うためのスラックの余裕度と重みの対応表を図７に示す。
【００５６】
図７は、スラックの余裕度と重みの対応表例を示す説明図である。第１の対応表７００は、例えば、スラックの余裕度と重みとの対応関係を示す。本実施の形態では、セットアップエラーとなる可能性が高いパスを抽出するため、第１の対応表７００では、スラックの余裕度が小さいほど、重みが大きくなるように設定される。
【００５７】
スラックの余裕度が、２０［％］未満である場合、重みが５である。スラックの余裕度が、２０〜４０［％］未満である場合、重みが４である。スラックの余裕度が、４０〜６０［％］未満である場合、重みが３である。スラックの余裕度が、６０〜８０［％］未満である場合、重みが２である。スラックの余裕度が、８０［％］以上である場合、重みが１である。図７の例では、余裕度が２０［％］ごとに重み付けを５段階で表しているが、これに限らない。
【００５８】
図８は、スラックの重みの算出例を示す説明図である。図８の例では、パスが少なくともパスｐ１〜パスｐ４まである。パスｐ１については、例えば、クロック周波数が１［ＧＨｚ］であり、クロックの周期が１［ｎｓ］であり、ＦＦ間セル遅延量が０．７０［ｎｓ］である。このため、パスｐ１については、例えば、スラックが、「１［ｎｓ］−０．７０［ｎｓ］」により０．３０［ｎｓ］である。パスｐ１については、例えば、スラックの余裕度が、「０．３［ｎｓ］÷１［ｎｓ］」により３０［％］である。そして、パスｐ１については、例えば、スラックの余裕度が３０［％］であるため、第１の対応表７００によると、スラックの余裕度に応じた重みが４である。同様に、パスｐ２〜ｐ４についても第１の重み付け部４０３によって重み付けることができる。
【００５９】
つぎに、第２の重み付け部４０４は、例えば、各パスについて、静的タイミング解析によって得られる他モジュール接続ネット数に基づいて、パスの配線に関する遅延量を算出する。そして、第１の配置配線部４０６は、複数のパスから、パスの配線に関する遅延量に基づいてクリティカルパスを抽出する。
【００６０】
また、第２の重み付け部４０４は、例えば、他モジュール接続ネット数および第１の度合と、デザインチェックによって得られるセル段数および第２の度合とに基づいて、パスの配線に関する遅延量を算出する。第１の度合は、他モジュール接続ネット数がパスの配線の負荷に影響する度合である。パスの配線の負荷とは、例えば、パス上の容量や抵抗などである。第２の度合は、セル段数がパスの配線の負荷に影響する度合である。
【００６１】
第１の度合は、例えば、第２の度合よりも高くなるように予め設定される。また、これに限らず、第１の度合と第２の度合は、キーボード３０７やマウス３０８などの設計者の操作入力によって受け付けてもよい。
【００６２】
第２の重み付け部４０４は、他モジュール接続ネット数および第１の度合と、ピン／ネットおよび第３の度合と、に基づいて、パスの配線に関する遅延量を算出する。第３の度合は、ピン／ネットがパスの配線の負荷に影響する度合である。第１の度合は、第３の度合よりも高くなるように予め設定される。また、これに限らず、第１の度合と第３の度合は、キーボード３０７やマウス３０８などの設計者の操作入力によって受け付けてもよい。
【００６３】
第２の重み付け部４０４は、他モジュール接続ネット数および第１の度合と、ファンアウト数および第４の度合と、に基づいて、パスの配線に関する遅延量を算出する。第４の度合は、ファンアウト数がパスの配線の負荷に影響する度合である。第１の度合は、第４の度合よりも高くなるように予め設定される。また、これに限らず、第１の度合と第４の度合は、キーボード３０７やマウス３０８などの設計者の操作入力によって受け付けてもよい。
【００６４】
第１の度合から第４の度合は、それぞれ各項目の内容についての影響度とも称する。
【００６５】
また、第２の重み付け部４０４は、例えば、各パスについて、他モジュール接続ネット数と、セルの段数と、ピン／ネットと、ファンアウト数と、に基づいて、パスの配線の遅延量を算出してもよい。
【００６６】
また、第２の重み付け部４０４は、設計者の操作入力によって受け付けた項目の内容に基づいて配置の遅延量を算出してもよい。設計者の操作入力は、キーボード３０７やマウス３０８などによって受け付け可能である。
【００６７】
ここで、他モジュール接続ネット数については、他モジュールを経てネットが接続されている場合、配線が長くなるため、配線の遅延量が大きくなる。また、配線が長くなると、配線に接続されるセルの遅延量が大きくなる。このため、パス上の組合せ回路において他モジュール接続ネット数が大きいほど、第２の重み付け部４０４は、配線の遅延量が大きくなるように算出する。
【００６８】
また、セルの段数が多い場合、セルに接続されるネットの数が増えるため、パスの合計の遅延量が大きくなる可能性がある。図２で示したように、パスごとにパス上の遅延量を算出する際に、セルの段数によって遅延量は大きく変わる。また、セル自体に遅延量があるため、セル段数が多いほど、セルによる合計の遅延量が大きくなる。また、セル段数が多いほど、セル間のネット数も増えるため、セル間の配線長によりセルの遅延量は変化する。このため、セルの段数が多いほど、第２の重み付け部４０４は、配線の遅延量が大きくなるように算出する。
【００６９】
また、ファンアウト数が大きい場合、配線数が多くなるため、配線の遅延量が大きくなると推定可能である。そこで、ファンアウト数が大きいほど、第２の重み付け部４０４は、配線の遅延量が大きくなるように算出する。
【００７０】
また、ピン／ネットは、上述したように、パス間のピン数をパス間のネット数により除算した値である。ネット１本あたりのピン数が多いほど、パス上にあるセルのネットが多いことを示す。このため、ネットが多いと、配線の遅延量が大きくなる可能性があるため、ピン／ネットが大きいほど、第２の重み付け部４０４は、配線の遅延量が大きくなるように算出する。
【００７１】
また、第２の重み付け部４０４は、項目の内容と、当該項目の内容についての影響度と、に基づいて配線の遅延量を算出する。上述したように、項目の内容についての影響度については、設計者の操作入力によって受け付けてもよいし、予め定められたものでもよい。
【００７２】
本実施の形態では、第２の重み付け部４０４は、例えば、パスの各々について、ファンアウト数と、セル段数と、他モジュール接続ネット数と、ピン／ネットと、に基づいて、パスの配線の遅延量を算出する。具体的に、第２の重み付け部４０４は、例えば、パスごとにパスの配線の遅延量を以下式（３）によって求める。
【００７３】
配線の遅延量＝（他モジュール接続ネット数×第１の影響度）＋（セル段数×影響度）＋（ファンアウト数×影響度）＋（ピン／ネット×影響度）・・・式（３）
【００７４】
図９は、項目ごとの影響度例を示す説明図である。ここで、配線影響度情報９００は、項目ごとの影響度の例を示す。配線の負荷に対して最も影響の高い項目は他モジュール接続ネット数である。他モジュール接続ネット数についての影響度は０．０４である。配線の負荷に対して影響の高い項目はＦＦ間セル段数である。ＦＦ間セル段数についての影響度は０．０３である。配線の負荷に対して影響のある項目はファンアウト数とピン／ネットである。ファンアウト数とピン／ネットについての影響度は０．０２である。上述したように、項目ごとの影響度は、例えば、設計者の操作入力によって受け付けてもよいし、予め定められていてもよい。項目ごとの影響度は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。
【００７５】
つぎに、図４に示す第２の重み付け部４０４は、各パスについて、導出したパスの配線に関する遅延量と、始点ＦＦに供給されるクロックの周期と、に基づいて、パスの配線の遅延の余裕度を算出する。クロック周期は、例えば、クロック情報５１１に定義される。
【００７６】
具体的に、第２の重み付け部４０４は、例えば、クロック周期から配線の遅延量を減算した差分値を算出する。具体的に、第２の重み付け部４０４は、例えば、差分値を以下式（４）によって求める。
【００７７】
差分値＝クロック周期−配線の遅延量・・・式（４）
【００７８】
つぎに、第２の重み付け部４０４は、例えば、差分値と、クロック周期と、に基づいて配線の遅延の余裕度を求める。具体的に、第２の重み付け部４０４は、例えば、配線の遅延の余裕度を以下式（５）によって求める。
【００７９】
配線の遅延の余裕度＝差分値÷クロック周期・・・式（５）
【００８０】
これにより、パスの始点ＦＦに供給されるクロックの周期が異なる場合であっても配線の遅延に余裕があるか否かを比較することが可能となる。
【００８１】
そして、第２の重み付け部４０４は、例えば、パスごとに、配線の遅延の余裕度に基づいて、パスの配線の遅延についての重み付けを行う。ここで、重み付けを行うために配線の遅延の余裕度と重みの対応表を図１０に示す。
【００８２】
図１０は、配線の遅延の余裕度と重みの対応表例を示す説明図である。第２の対応表１０００は、例えば、配線の遅延の余裕度と重みとの対応関係を示す。本実施の形態では、セットアップエラーとなる可能性が高いパスを抽出するため、第２の対応表１０００では、配線の遅延の余裕度が小さいほど、重みが大きくなるように設定される。
【００８３】
配線の遅延の余裕度が、２０［％］未満である場合、重みが５である。配線の遅延の余裕度が、２０〜４０［％］未満である場合、重みが４である。配線の遅延の余裕度が、４０〜６０［％］未満である場合、重みが３である。配線の遅延の余裕度が、６０〜８０［％］未満である場合、重みが２である。配線の遅延の余裕度が、８０［％］以上である場合、重みが１である。図１０の例では、余裕度が２０［％］ごとに重み付けを５段階で表しているが、これに限らない。
【００８４】
図１１は、配線の遅延の重みの算出例を示す説明図である。図１１の例では、パスが少なくともパスｐ１〜パスｐ４まである。パスｐ１については、例えば、クロックの周期が１［ｎｓ］であり、セル段数が６であり、ファンアウト数が５である。パスｐ１については、例えば、他モジュール接続ネット数が８であり、ピン／ネットが１．６である。
【００８５】
このため、パスｐ１については、例えば、配線の遅延量が、「６×０．０３＋５×０．０２＋８×０．０４＋１．６×０．０２」により０．６３［ｎｓ］である。パスｐ１については、例えば、差分値が、「１−０．６３」により０．３７［ｎｓ］である。パスｐ１については、例えば、遅延の余裕度が、「０．３７［ｎｓ］／１［ｎｓ］」により３７［％］である。第２の対応表１０００によると、遅延の余裕度に応じた重みが４である。同様に、パスｐ２〜ｐ４についても第２の重み付け部４０４によって重み付けることができる。
【００８６】
また、第２の重み付け部４０４は、例えば、パスごとの重み付け結果をデザインチェック重み付け結果５０６として記憶部４１１に記憶させる。
【００８７】
つぎに、図４に示すパス優先度算出部４０５は、例えば、各パスについて、第１の重み付け部４０３と第２の重み付け部４０４との各々による重み付けの結果を集計してパスに関する遅延の度合を算出する。ここで、パスに関する遅延の度合は、パスの優先度とも称する。パスの優先度は大きいほど、パスに関する遅延が大きいことを示す。
【００８８】
具体的に、パス優先度算出部４０５は、例えば、パスの各々について、スラックの余裕度に応じた重みと、配線の遅延の余裕度に応じた重みと、に基づいて、パスの優先度を算出する。具体的に、パス優先度算出部４０５は、例えば、パスの優先度を以下式（６）によって求める。
【００８９】
パスの優先度＝スラックの余裕度に応じた重み＋配線の遅延の余裕度に応じた重み・・・式（６）
【００９０】
これにより、スラックの余裕度と配線の遅延の余裕度とに基づいてパスに関する遅延量を総合的に評価することができる。
【００９１】
図１２は、優先度の算出例を示す説明図である。パスｐ１は、例えば、スラックの余裕度に応じた重みが４であり、配線の遅延の余裕度に応じた重みが４であるため、優先度が８である。パスｐ２は、例えば、スラックの余裕度に応じた重みが５であり、配線の遅延の余裕度に応じた重みが５であるため、優先度が１０である。パスｐ３は、例えば、スラックの余裕度に応じた重みが５であり、配線の遅延の余裕度に応じた重みが３であるため、優先度が８である。パスｐ４は、例えば、スラックの余裕度に応じた重みが３であり、配線の遅延の余裕度に応じた重みが４であるため、優先度が７である。
【００９２】
パス優先度算出部４０５は、パスの優先度の算出結果をパス優先度情報５０７として記憶部４１１などに記憶させる。
【００９３】
つぎに、第１の配置配線部４０６は、複数のパスから、導出した配線の遅延量に基づきクリティカルパスを抽出する。第１の配置配線部４０６は、複数のパスのうち、導出した配線の遅延量が所定値以上であるパスをクリティカルパスとして抽出する。また、第１の配置配線部４０６は、複数のパスのうち、導出した配線の遅延量が大きいものから順に所定数のパスをクリティカルパスとして抽出してもよい。
【００９４】
また、第１の配置配線部４０６は、複数のパスのうち、算出したパスに関する遅延の度合に基づいてクリティカルパスを抽出する。第１の配置配線部４０６は、複数のパスのうち、算出したパスに関する遅延の度合が所定の度合よりも遅延が大きいことを示すパスをクリティカルパスとして抽出する。具体的に、第１の配置配線部４０６は、複数のパスのうち、算出したパスの優先度が基準値よりも大きいパスをクリティカルパスとして抽出する。基準値については、設計者や情報処理装置１００によって定められた値である。
【００９５】
図４に示す第１の配置配線部４０６は、例えば、パス優先度情報５０７を参照して、対象回路に含まれるパスのうち、優先度が基準値以上のパスを抽出する。また、第１の配置配線部４０６は、例えば、対象回路に含まれるパスのうち、優先度が高い順に所定数のパスを抽出してもよい。
【００９６】
第１の配置配線部４０６は、例えば、抽出したクリティカルパスについて自動で第１の配置配線処理を行うことにより第１のレイアウトデータを得る。このように、優先度が高いパスほど先に配置配線することにより、パス上の配線の遅延量の低減を図ることができる。したがって、セットアップタイムエラーの発生数の低減を図ることができる。
【００９７】
図４に示す第２の配置配線部４０７は、第１の配置配線部４０６による未配置配線のパスについて、自動で第２の配置配線処理を行うことにより第２のレイアウトデータを得る。これにより、第２の配置配線部４０７は、図５に示す配置配線結果情報５０８を得る。第２のレイアウトデータは、例えば、配置配線結果情報５０８に含まれるレイアウトデータ５１２である。第１の配置配線部４０６による未配置配線のパスは、例えば、優先度が低いパスである。配置配線結果情報５０８は、例えば、レイアウトデータ５１２と、回路遅延情報５１３と、を含む。レイアウトデータ５１２は、例えば、設計の対象回路についての配置配線の結果である。回路遅延情報５１３には、レイアウトデータ５１２に含まれるセルの種類ごとの遅延値やセルの配線の遅延値などが定義される。
【００９８】
第２のタイミング検証部４０８は、例えば、タイミング定義情報５０２に含まれるクロック情報５１１と配置配線結果情報５０８とに基づいて静的タイミング解析を行う。
【００９９】
そして、図４に示す検証結果判定部４０９は、静的タイミング解析によって得られるタイミングエラーのうち、当該タイミングエラーの修正処理によって修正した後のタイミングエラーの数が閾値以上であるか否かを判定する。タイミングエラーの数との比較対象となる閾値については、例えば、許容範囲とも称する。
【０１００】
具体的に、検証結果判定部４０９は、例えば、第２のタイミング検証部４０８による静的タイミング解析の解析結果に基づいて、タイミングエラーがあるか否かを判定する。修正部４１０は、例えば、タイミングエラーがあると判定された場合、タイミングエラーの自動修正処理を行う。ここでの自動修正処理については公知技術であるため、特に限定しない。
【０１０１】
つぎに、検証結果判定部４０９は、修正部４１０による修正後のタイミングエラーの数が、許容範囲内であるか否かを判断する。許容範囲は、例えば、設計者などによって予め定められ、記憶部４１１などに記憶される。例えば、設計の対象回路内のパスの総数が１００００パス程度であれば、許容範囲を２００程度とし、検証結果判定部４０９は、タイミングエラー数が２００以内であれば、許容範囲内であると判定する。また、許容範囲を０とし、検証結果判定部４０９が、タイミングエラーが０であるか否かを判定してもよい。
【０１０２】
検証結果判定部４０９が、許容範囲内であると判定した場合、配置配線の処理を終了する。検証結果判定部４０９は、検証結果判定部４０９により許容範囲内でないと判断された場合、上述した所定値または所定数を現状よりも高く設定する。そして、第１の配置配線部４０６から修正部４１０までの処理を繰り返す。
【０１０３】
図１３は、入力画面例を示す説明図である。ここで、本実施の形態における設計者が情報処理装置１００を使用する際に情報処理装置１００のディスプレイ３０９などに表示される入力画面１３００例を説明する。入力画面１３００は、例えば、静的タイミング検証情報５０３のコンピュータ上の在処を指定可能な項目１３０１と、項目１３０１に設定された内容に基づいて静的タイミング検証情報５０３を参照するための参照ボタン１３０２と、を有する。コンピュータ上の在処とは、例えば、情報処理装置１００が有する記憶装置における在り処であってもよいし、ネットワーク３１０を介した他の装置が有する記憶装置における在り処であってもよい。
【０１０４】
入力画面１３００は、例えば、タイミング定義情報５０２のコンピュータ上の在処を指定可能な項目１３０３と、項目１３０３に設定された内容に基づいてタイミング定義情報５０２を参照するための参照ボタン１３０４と、を有する。
【０１０５】
また、入力画面１３００は、例えば、デザインチェック情報５０４のコンピュータ上の在処を指定可能な項目１３０５と、項目１３０５に設定された内容に基づいてデザインチェック情報５０４を参照するための参照ボタン１３０６と、を有する。
【０１０６】
また、入力画面１３００は、例えば、重み付け優先順位を入力可能な項目１３１１〜１３１４を有する。入力画面１３００において、重み付け優先順位を入力可能な項目１３１１〜１３１４が選択されると、影響度が設定される項目の内容の一覧１３１０が表示される。図１３の例では、設計者は、他モジュール接続ネット数と、ＦＦ間セル段数と、ファンアウト数と、ピン／ネットとの中から影響度の順位を指定可能である。項目の内容は上述した４つである。このため、入力画面１３００は、重み付け影響度の優先順位を入力可能な項目が４つある。図１３の例では、他モジュール接続ネット数が最も影響度が高くなるように指定され、ＦＦ間セル段数がつぎに影響度が高くなるように指定される。そして、図１３の例では、ファンアウト数がそのつぎに影響度が高くなるように指定され、ピン／ネットが、最も影響度が低くなるように指定される。
【０１０７】
図１３の例では、重み付け影響度の優先順位を入力可能であるが、これに限らず、例えば、影響度そのものを入力可能な項目であってもよい。
【０１０８】
また、図１３の例では、他モジュール接続ネット数と、ＦＦ間セル段数と、ファンアウト数と、ピン／ネットのすべてが選択されているが、これに限らず、少なくともいずれか一つの項目や２つの項目や３つの項目などであってもよい。
【０１０９】
また、入力画面１３００は、実行ボタン１３２１を有する。実行ボタン１３２１が押下されると、情報処理装置１００が、設定された影響度と、静的タイミング検証情報５０３と、タイミング定義情報５０２と、デザインチェック情報５０４と、に基づいて、制御部による各種処理を行う。
【０１１０】
図１４は、出力画面例を示す説明図である。ここで、本実施の形態における設計者が情報処理装置１００を使用する際に情報処理装置１００のディスプレイ３０９などに表示される出力画面１４００例を説明する。出力画面１４００は、例えば、対象回路内のパスのうち、優先度が高い複数のパスの各々についての優先度順の番号と、ネットリストにおけるパスの始点ＦＦと、終点ＦＦと、の項目を有する。図１４の例では、出力画面１４００は、優先度が１２番目までに高いパスについて、始点ＦＦと終点ＦＦとの項目を含む。
【０１１１】
（情報処理装置１００による設計支援処理手順例）
図１５および図１６は、情報処理装置による設計支援処理手順例を示すフローチャートである。情報処理装置１００は、静的タイミング解析を行う（ステップＳ１５０１）。情報処理装置１００は、重要セルを配置後のレイアウトデータ５１２を取得する（ステップＳ１５０２）。ここで、重要セルとは、例えば、クロックツリーを形成するセルなどのクロックの供給源に関係するセルやタイミングが厳しいと事前に決まっている重要なＦＦなどが挙げられる。
【０１１２】
つぎに、情報処理装置１００は、デザインチェック情報５０４を取得する（ステップＳ１５０３）。そして、情報処理装置１００は、クリティカルパス抽出処理を行う（ステップＳ１５０４）。つぎに、情報処理装置１００は、例えば、未選択のパスがあるか否かを判断する（ステップＳ１５０５）。
【０１１３】
未選択のパスがないと判断された場合（ステップＳ１５０５：Ｎｏ）、情報処理装置１００は、ステップＳ１５０９へ移行する。未選択のパスがあると判断された場合（ステップＳ１５０５：Ｙｅｓ）、情報処理装置１００は、ステップＳ１５０６へ移行する。
【０１１４】
情報処理装置１００は、例えば、未選択のパスからいずれかのパスを選択する（ステップＳ１５０６）。情報処理装置１００は、選択したパスの優先度が基準値以上か否かを判断する（ステップＳ１５０７）。選択したパスの優先度が基準値以上であると判断した場合（ステップＳ１５０７：Ｙｅｓ）、情報処理装置１００は、選択したパスを自動で配置・配線し（ステップＳ１５０８）、ステップＳ１５０５へ戻る。
【０１１５】
選択したパスの優先度が基準値以上でないと判断した場合（ステップＳ１５０７：Ｎｏ）、情報処理装置１００は、ステップＳ１５０５へ戻る。つぎに、未選択のパスがないと判断された場合（ステップＳ１５０５：Ｎｏ）、情報処理装置１００は、基準値未満と判定されたパスを自動で配置・配線する（ステップＳ１５０９）。
【０１１６】
つぎに、情報処理装置１００は、配置配線後のレイアウトデータ５１２に基づいて、静的タイミング検証を行う（ステップＳ１６０１）。そして、情報処理装置１００は、タイミングエラーがあるか否かを判断する（ステップＳ１６０２）。タイミングエラーがないと判断された場合（ステップＳ１６０２：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１１７】
タイミングエラーがあると判断された場合（ステップＳ１６０２：Ｙｅｓ）、情報処理装置１００は、タイミングエラーを修正する（ステップＳ１６０３）。情報処理装置１００は、タイミングエラー数が許容範囲内か否かを判断する（ステップＳ１６０４）。
【０１１８】
タイミングエラー数が許容範囲内でないと判断された場合（ステップＳ１６０４：Ｎｏ）、情報処理装置１００は、基準値を高く再設定し（ステップＳ１６０５）、ステップＳ１５０５へ戻る。一方、タイミングエラー数が許容範囲内であると判断された場合（ステップＳ１６０４：Ｙｅｓ）、情報処理装置１００は、一連の処理を終了する。
【０１１９】
図１７は、図１５に示すクリティカルパス抽出処理手順例を示すフローチャートである。情報処理装置１００は、スラックの余裕度に応じた重み付け処理を行い（ステップＳ１７０１）、遅延量の余裕度に応じた重み付け処理を行う（ステップＳ１７０２）。ステップＳ１７０１とステップＳ１７０２による処理については、いずれが先に行われてもよいし、並列に行われてもよい。
【０１２０】
つぎに、情報処理装置１００は、パスの優先度の導出処理を行い（ステップＳ１７０３）、一連の処理を終了する。
【０１２１】
図１８は、図１７に示すスラックの余裕度に応じた重み付け処理手順例を示すフローチャートである。情報処理装置１００は、ネットリストに基づいて、対象回路に含まれる複数のパスのうち、未選択のパスからいずれかのパスを選択する（ステップＳ１８０１）。つぎに、情報処理装置１００は、クロック周期と選択したパス上のセルの合計遅延量に基づきスラックを算出する（ステップＳ１８０２）。
【０１２２】
そして、情報処理装置１００は、スラックをクロック周期で除算することによりスラックの余裕度を算出する（ステップＳ１８０３）。つぎに、情報処理装置１００は、第１の対応表７００に基づいて、算出したスラックの余裕度について重み付けを行う（ステップＳ１８０４）。そして、情報処理装置１００は、未選択のパスがあるか否かを判断する（ステップＳ１８０５）。
【０１２３】
未選択のパスがあると判断された場合（ステップＳ１８０５：Ｙｅｓ）、情報処理装置１００は、例えば、ステップＳ１８０１へ戻る。未選択のパスがないと判断された場合（ステップＳ１８０５：Ｎｏ）、情報処理装置１００は、例えば、一連の処理を終了する。
【０１２４】
図１９は、図１７に示す遅延量の余裕度に応じた重み付け処理手順例を示すフローチャートである。まず、情報処理装置１００は、未選択のパスからいずれかのパスを選択する（ステップＳ１９０１）。つぎに、情報処理装置１００は、選択したパスについて、配線影響度情報９００とファンアウト数に基づく第１の遅延量を算出する（ステップＳ１９０２）。
【０１２５】
そして、情報処理装置１００は、選択したパスについて、配線影響度情報９００とパス上のセルの段数とに基づく第２の遅延量を算出する（ステップＳ１９０３）。つぎに、情報処理装置１００は、選択したパスについて、配線影響度情報９００と他モジュール接続ネット数に基づく第３の遅延量を算出する（ステップＳ１９０４）。情報処理装置１００は、配線影響度情報９００とピン／ネット数に基づく第４の遅延量を算出する（ステップＳ１９０５）。
【０１２６】
そして、情報処理装置１００は、各遅延量に基づき配線の遅延量を算出する（ステップＳ１９０６）。つぎに、情報処理装置１００は、クロック周期と、パスの配線の遅延量との差分値を算出する（ステップＳ１９０７）。
【０１２７】
つづいて、情報処理装置１００は、差分値をクロック周期で除算することによりパスの配線の遅延の余裕度を算出する（ステップＳ１９０８）。そして、情報処理装置１００は、余裕度に応じて重み付けを行う（ステップＳ１９０９）。つぎに、情報処理装置１００は、未選択のパスがあるか否かを判断する（ステップＳ１９１０）。
【０１２８】
未選択のパスがあると判断された場合（ステップＳ１９１０：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０１へ戻る。未選択のパスがないと判断された場合（ステップＳ１９１０：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。ここで、余裕度に応じた重み付け結果は、デザインチェック重み付け結果５０６として記憶部４１１などに記憶される。
【０１２９】
図２０は、図１７に示すパスの優先度の導出処理手順例を示すフローチャートである。情報処理装置１００は、未選択のパスからいずれかのパスを選択する（ステップＳ２００１）。つぎに、情報処理装置１００は、選択したパスについての重み付け結果を集計することにより選択したパスについての優先度を算出する（ステップＳ２００２）。情報処理装置１００は、未選択のパスがあるか否かを判断する（ステップＳ２００３）。
【０１３０】
未選択のパスがあると判断された場合（ステップＳ２００３：Ｙｅｓ）、情報処理装置１００は、ステップＳ２００１へ戻る。未選択のパスがないと判断された場合（ステップＳ２００３：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１３１】
以上説明したように、情報処理装置１００は、配置配線前の回路情報に基づく静的タイミング解析で得た他モジュール接続ネット数に基づき算出したパスごとの配線の遅延量に基づいてクリティカルパスを抽出する。これにより、タイミングエラーの発生の抑制を図ることができる。
【０１３２】
また、情報処理装置１００は、各パスについて、他モジュール接続ネット数および他モジュール接続ネット数についての影響度と、セル段数およびセル段数についての影響度とに基づいて、パスの配線に関する遅延量を算出する。これにより、セル段数が大きいほど、配線が長くなるため、セル段数が大きいほど、セル間のネット数も増えるため、セル間の配線長によりセルの配線の遅延量が大きくなる。このため、セル段数を配線に関する遅延量の算出に用いることにより、より精度よくクリティカルパスを抽出することができる。
【０１３３】
また、他モジュール接続ネット数についての影響度と、パス上のセルの段数についての影響度と、の各影響度を設計者に設定させる。このように、対象回路の内容などに応じて設計者が影響度を設定可能である。例えば、回路規模が小さいものであれば、モジュールの数が少なく、モジュール間が遠くに配線される可能性が低くなるため、セルの段数についての影響度が他モジュール接続ネット数についての影響度よりも高くなるように設定されてもよい。
【０１３４】
また、情報処理装置１００は、各パスについて、他モジュール接続ネット数および他モジュール接続ネット数についての影響度と、ピン／ネットおよびピン／ネットについての影響度と、に基づいて、パスの配線の遅延量を算出する。ネット１本あたりのピン数が多いほど、パス上にあるセルのネットが多いことを示す。ネットが多いと、配線の遅延量が大きくなる可能性があるため、ピン／ネットが大きいほど、配線の遅延量が大きくなる。このため、ピン／ネットをパスの配線の遅延量の算出に用いることにより、より精度よくクリティカルパスを抽出することができる。
【０１３５】
他モジュール接続ネット数についての影響度と、ピン／ネットについての影響度と、の各影響度を設計者に設定させる。このように、対象回路の内容などに応じて設計者が影響度を設定可能である。例えば、回路規模が小さいものであれば、モジュールの数が少なく、モジュール同士が遠くに配線される可能性が低くなるため、ピン／ネットについての影響度が他モジュール接続ネット数についての影響度よりも高くなるように設定されてもよい。
【０１３６】
また、情報処理装置１００は、各パスについて、他モジュール接続ネット数および他モジュール接続ネット数についての影響度と、パス上のセルのファンアウト数およびファンアウト数についての影響度と、に基づいて、パスの配線の遅延量を算出する。ファンアウト数が大きい場合、配線数が多くなるため、配線の遅延量が大きくなると推定可能である。このため、ファンアウト数をパスの配線の遅延量の算出に用いることにより、精度よくクリティカルパスを抽出することができる。
【０１３７】
他モジュール接続ネット数についての影響度と、ファンアウト数についての影響度と、の各影響度を設計者に設定させる。このように、対象回路の内容などに応じて設計者が影響度を設定可能である。例えば、回路規模が小さいものであれば、モジュールの数が少なく、モジュール同士が遠くに配線される可能性が低くなるため、ファンアウト数についての影響度が他モジュール接続ネット数についての影響度よりも高くなるように設定されてもよい。
【０１３８】
また、情報処理装置１００は、他モジュール接続ネット数と、セルの段数と、ピン／ネットと、セルのファンアウト数と、のうち、操作入力によって選択された項目の内容に基づいて配線の遅延量を算出する。
【０１３９】
また、情報処理装置１００は、クリティカルパスについての第１配置配線処理を行った後に、残余のパスについての第２配置配線処理を行う。これにより、セットアップエラーが発生する可能性が高いパスが先に自動配置配線されるため、当該パス上の配線の遅延量の低減を図ることができ、クリティカルパスの発生を抑制することができる。
【０１４０】
また、情報処理装置１００は、第２の配置配線処理後に再度行った静的タイミング解析によって得られたタイミングエラーのうち、タイミングを自動修正後のタイミングエラーの数が許容範囲内の場合、クリティカルパスがより多く抽出されるようにする。
【０１４１】
また、情報処理装置１００は、各パスについて、導出したパスの配線に関する遅延量と、始点ＦＦに供給されるクロックの周期と、に基づいて、パスの配線の遅延の余裕度を算出する。これにより、パスごとにクロックの周期が異なっていても、いずれのパスが配線の遅延に余裕がないかを判別可能であり、クリティカルパスをより精度よく抽出できる。
【０１４２】
また、情報処理装置１００は、パスのスラックの余裕度と、パスの配線の遅延の余裕度と、の各々についての重み付けを行い、パスに関する遅延の度合いを算出し、パスに関する遅延の度合に基づいてクリティカルパスを抽出する。これにより、パスの配線の遅延量およびパス上のセルの遅延量との両方を総合的に評価してクリティカルパスを抽出することができるため、タイミングエラーの発生の抑制を図ることができる。
【０１４３】
また、情報処理装置１００は、例えば、パスに関する遅延の度合いが所定の度合いよりも遅延が大きいことを示すパスをクリティカルパスとして抽出する。これにより、基準値との比較により容易にクリティカルパスを抽出することができる。
【０１４４】
また、情報処理装置１００は、自動修正後のタイミングエラーの数が閾値以上である場合、所定の度合いを遅延が大きくなることを示すように変更し、再度クリティカルパスを抽出する。これにより、クリティカルパスとして抽出されるパスの数が少なくなる。このため、クリティカルパスについての遅延量がより少なくなるように配置配線ができるため、タイミングエラーの発生数を抑制することができる。
【０１４５】
また、情報処理装置１００は、抽出したクリティカルパスを、抽出したクリティカルパスについて算出した遅延の度合いが、遅延が大きいことを示す順に表示する。これにより、設計者はいずれのパスがクリティカルパスであるかを容易に判別可能であり、設計の容易化を図ることができる。例えば、設計者が表示内容を確認して、クリティカルパスの中でも特に遅延が大きいと判定したパスについては、設計者が手作業で配置配線を行ってもよい。これにより、タイミングエラーの発生を抑制することができる。
【０１４６】
なお、本実施の形態で説明した設計支援方法は、予め用意された設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１４７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４８】
（付記１）
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
制御部を有することを特徴とする情報処理装置。
【０１４９】
（付記２）前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記回路情報に基づくデザインチェックによって得られる前記パス上のセルの段数と、前記パス上のセルの段数が前記パスの配線の負荷に影響する第２の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記１に記載の情報処理装置。
【０１５０】
（付記３）前記第１の度合は、前記第２の度合よりも高いことを特徴とする付記２に記載の情報処理装置。
【０１５１】
（付記４）前記制御部は、
前記第１の度合と、前記第２の度合と、を操作入力に応じて受け付け、
前記接続先および接続元の数と、受け付けた前記第１の度合と、前記パス上のセルの段数と、受け付けた前記第２の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記２に記載の情報処理装置。
【０１５２】
（付記５）前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記回路情報に基づくデザインチェックによって得られる前記パス上の接続線あたりの前記パス上のセルの端子数と、前記パス上の接続線あたりの前記パス上のセルの端子数が前記パスの配線の負荷に影響する第３の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記１〜４のいずれか一つに記載の情報処理装置。
【０１５３】
（付記６）前記第１の度合は、前記第３の度合よりも高いことを特徴とする付記５に記載の情報処理装置。
【０１５４】
（付記７）前記制御部は、
前記第１の度合と、前記第３の度合と、を操作入力に応じて受け付け、
前記接続先および接続元の数と、受け付けた前記第１の度合と、前記パス上の接続線あたりの前記パス上のセルの端子数と、受け付けた前記第３の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記５に記載の情報処理装置。
【０１５５】
（付記８）前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記接続先および接続元の数が前記パスの配線の負荷に影響する第１の度合と、前記静的タイミング解析によって得られる前記パス上のセルのファンアウト数と、前記ファンアウト数が前記パスの配線の負荷に影響する第４の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記１〜７のいずれか一つに記載の情報処理装置。
【０１５６】
（付記９）前記第１の度合は、前記第４の度合よりも高いことを特徴とする付記８に記載の情報処理装置。
【０１５７】
（付記１０）前記制御部は、
前記第１の度合と、前記第４の度合と、を操作入力に応じて受け付け、
前記接続先および接続元の数と、受け付けた前記第１の度合と、前記ファンアウト数と、受け付けた前記第４の度合と、に基づいて、前記パスの配線に関する遅延量を導出する、
ことを特徴とする付記８に記載の情報処理装置。
【０１５８】
（付記１１）前記制御部は、
前記各パスについて、前記接続先および接続元の数と、前記回路情報に基づくデザインチェックによって得られる前記パス上のセルの段数と、前記回路情報に基づくデザインチェックによって得られる前記パス上の接続線あたりの前記パス上のセルの端子数と、前記パス上のセルのファンアウト数と、のうち、操作入力によって選択された項目の内容と、選択された前記項目の内容が前記パスの配線の負荷に影響する各度合とに基づいて、前記パスの配線に関する遅延量を導出する、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
ことを特徴とする付記１〜１０のいずれか一つに記載の情報処理装置。
【０１５９】
（付記１２）前記制御部は、
抽出した前記クリティカルパスについての第１の配置配線処理を行い、
前記第１の配置配線処理の後に、前記第１の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第１のレイアウトデータに基づいて、前記各パスのうち、抽出した前記クリティカルパス以外のパスについての第２の配置配線処理を行う、
ことを特徴とする付記１〜１１のいずれか一つに記載の情報処理装置。
【０１６０】
（付記１３）前記制御部は、
抽出した前記クリティカルパスについての第１の配置配線処理を行い、
前記第１の配置配線処理の後に、前記第１の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第１のレイアウトデータに基づいて、前記各パスのうち、抽出した前記クリティカルパス以外のパスについての第２の配置配線処理を行い、
前記第２の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第２のレイアウトデータに基づいて、第２の静的タイミング解析を行い、
前記第２の静的タイミング解析によって得られるタイミングエラーのうち、当該タイミングエラーの修正処理によって修正した後のタイミングエラーの数が閾値以上であるか否かを判定し、
前記タイミングエラーの数が前記閾値以上である場合に、前記クリティカルパスの数が多くなるように前記各パスから、導出した前記遅延量に基づき前記クリティカルパスを抽出する、
ことを特徴とする付記１〜１１のいずれか一つに記載の情報処理装置。
【０１６１】
（付記１４）前記制御部は、
前記各パスについて、導出した前記パスの配線に関する遅延量と、前記第１のフリップフロップに供給されるクロックの周期と、に基づいて、前記パスの配線の遅延の余裕度を算出し、
前記各パスから、算出した前記パスの配線の遅延の余裕度に基づきクリティカルパスを選択する、
ことを特徴とする付記１〜１３のいずれか一つに記載の情報処理装置。
【０１６２】
（付記１５）前記制御部は、
前記各パスについて、前記静的タイミング解析によって得られる前記パス上のセルの遅延量の合計値と、前記クロックの周期と、に基づいて、前記パスのスラックの余裕度を算出し、
前記各パスについて、算出した前記パスのスラックの余裕度についての重み付けと、算出した前記パスの配線の遅延の余裕度についての重み付けを行い、
前記各パスについて、重み付けの結果を集計して前記パスに関する遅延の度合を算出し、
前記各パスのうち、算出した前記パスに関する遅延の度合に基づいて前記クリティカルパスを抽出する、
ことを特徴とする付記１４に記載の情報処理装置。
【０１６３】
（付記１６）前記制御部は、
前記各パスのうち、算出した前記パスに関する遅延の度合が所定の度合よりも遅延が大きいことを示すパスをクリティカルパスとして抽出する、
ことを特徴とする付記１５に記載の情報処理装置。
【０１６４】
（付記１７）前記制御部は、
抽出した前記クリティカルパスについての第１の配置配線処理を行い、
前記第１の配置配線処理の後に、前記第１の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第１のレイアウトデータに基づいて、前記各パスのうち、抽出した前記クリティカルパス以外のパスについての第２の配置配線処理を行い、
前記第２の配置配線処理によって得られる前記対象回路内のセルと当該セルの位置とセル間の配線とを示す第２のレイアウトデータに基づいて、第２の静的タイミング解析を行い、
前記第２の静的タイミング解析によって得られるタイミングエラーのうち、修正処理によって修正した後のタイミングエラーの数が閾値以上であるか否かを判定し、
前記タイミングエラーの数が前記閾値以上である場合に、前記所定の度合を遅延が大きくなることを示すように変更し、
前記各パスのうち、算出した前記パスに関する遅延の度合が変更後の所定の度合よりも遅延が大きいことを示すパスをクリティカルパスとして抽出する、
ことを特徴とする付記１６に記載の情報処理装置。
【０１６５】
（付記１８）前記制御部は、
抽出した前記クリティカルパスを、抽出した前記クリティカルパスについて算出した前記パスに関する遅延の度合が、遅延が大きいことを示す順に表示する、
ことを特徴とする付記１５〜１７のいずれか一つに記載の情報処理装置。
【０１６６】
（付記１９）コンピュータに、
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
処理を実行させることを特徴とする設計支援方法。
【０１６７】
（付記２０）コンピュータが、
設計の対象回路内のセルとセル間の接続関係を示す回路情報に基づいて静的タイミング解析を行い、
前記対象回路内の各パスについて、第１のフリップフロップから第２のフリップフロップまでを含むパス上の各セルの接続先および接続元のうちの、前記第１のフリップフロップを含む前記対象回路内の第１のモジュールと異なる前記対象回路内の第２のモジュールに含まれる前記静的タイミング解析によって得られる接続先および接続元の数に基づいて、前記パスの配線に関する遅延量を導出し、
前記各パスから、導出した前記パスの配線に関する遅延量に基づきクリティカルパスを抽出する、
処理を実行することを特徴とする設計支援プログラム。
【符号の説明】
【０１６８】
１００  情報処理装置
１０１，６００  対象回路
１１１  回路情報
４０１  第１のタイミング検証部
４０２  デザインチェック部
４０３，４０４  重み付け部
４０５  パス優先度算出部
４０６  第１の配置配線部
４０７  第２の配置配線部
４０８  第２のタイミング検証部
４０９  検証結果判定部
４１０  修正部
４１１  記憶部
５０１  論理回路情報
５０２  タイミング定義情報
５０３  静的タイミング検証情報
５０４  デザインチェック情報
５０５  セルディレイ重み付け結果
５０７  パス優先度情報
５１１  クロック情報
５１２  レイアウトデータ
５１３  回路遅延情報
５１４  ディレイ情報
７００  第１の対応表
１０００  第２の対応表
１３００  入力画面
１４００  出力画面
ｎ１，ｎ２，ｎ３  接続線
【図１】
0006613971.tif 000002
【図２】
0006613971.tif 000003
【図３】
0006613971.tif 000004
【図４】
0006613971.tif 000005
【図５】
0006613971.tif 000006
【図６】
0006613971.tif 000007
【図７】
0006613971.tif 000008
【図８】
0006613971.tif 000009
【図９】
0006613971.tif 000010
【図１０】
0006613971.tif 000011
【図１１】
0006613971.tif 000012
【図１２】
0006613971.tif 000013
【図１３】
0006613971.tif 000014
【図１４】
0006613971.tif 000015
【図１５】
0006613971.tif 000016
【図１６】
0006613971.tif 000017
【図１７】
0006613971.tif 000018
【図１８】
0006613971.tif 000019
【図１９】
0006613971.tif 000020
【図２０】
0006613971.tif 000021