(57)【特許請求の範囲】
【請求項１】
集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する計算機によって使用されるプログラムであって、
前記集積回路に対する論理記述と、前記与えられる複数のパスとして、前記集積回路内の例外パスとして抽出されたパスとの入力をメモリから受け取る手順と、
該与えられるパスのそれぞれに対して、前記パス内の基本ゲートの段数と、前記集積回路内で近接して配置される複数の基本ゲートから構成される論理モジュールに対する配線数とを、前記パスの遅延要因としてパスの遅延を表すパス評価値を求める手順と、
該評価値によってパスの優先順位づけを行い、該評価値の大きいパスを前記クリティカルパスとして推定する手順とを計算機に実行させることを特徴とするクリティカルパス推定プログラム。
【請求項２】
請求項１に記載のクリティカルパス推定プログラムを用いる集積回路設計プログラムであって、
前記抽出された例外パスのうちで、前記クリティカルパスとして推定されたパスだけを例外パスとして取り扱い、前記集積回路のレイアウトを行う手順とを計算機に実行させることを特徴とする集積回路設計プログラム。
【請求項３】
集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する装置であって、
前記集積回路に対する論理記述と、前記与えられる複数のパスとして、前記集積回路内の例外パスとして抽出されたパスとの入力をメモリから受け取る入力手段と、
該与えられる複数のパスのそれぞれに対してパスの遅延を表すパス評価値を求める評価値算出手段と、
該評価値によってパスの優先順位づけを行い、評価値の大きいパスを前記クリティカルパスとして推定する優先順位づけ処理手段とを備え、
前記評価値算出手段は、前記パス内の基本ゲートの段数と、前記集積回路内で近接して配置される複数の基本ゲートから構成される論理モジュールに対する配線数とを、前記パスの遅延要因として評価値を求めることを特徴とするクリティカルパス推定装置。
【請求項４】
集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する中央処理装置を備えたコンピュータが行う方法であって、
前記中央処理装置は、
前記集積回路に対する論理記述と、前記与えられる複数のパスとして、前記集積回路内の例外パスとして抽出されたパスとの入力をメモリから受け取り、
該与えられるパスのそれぞれに対して、前記パス内の基本ゲートの段数と、前記集積回路内で近接して配置される複数の基本ゲートから構成される論理モジュールに対する配線数とを、前記パスの遅延要因としてパスの遅延を表すパス評価値を求め、
該評価値によってパスの優先順位づけを行い、該評価値の大きいパスを前記クリティカルパスとして推定することを特徴とするクリティカルパス推定方法。
【請求項５】
前記パス評価値を求める手順において、前記パス評価値を
（前記配線数×第１の係数）＋（物理階層間配線数×第２の係数）＋前記パス内の基本ゲートの段数
として算出することを特徴とする請求項１記載のクリティカルパス推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムＬＳＩなどの大規模集積回路の設計方式に係り、さらに詳しくは静的タイミング解析において、集積回路内のすべての任意の２つの記憶素子の間のパスを対象としてタイミング解析を行う代わりに、実際の回路の動作において使用される可能性がない例外パスのうちで、タイミング条件が厳しいクリティカルパスと推定される例外パスだけをタイミング解析の対象パスから除外して、レイアウト処理を効率化するためのクリティカルパス推定方式に関する。
【背景技術】
【０００２】
一般に集積回路、例えばシステムＬＳＩの設計においては、まずシステム仕様から機能設計として、例えばＣ言語による動作記述が得られ、例えばレジスタ・トランスファー・レベル（ＲＴＬ）記述を介して、論理レベルの記述としての、例えばネットリストを作成するボトムアップ型手法の論理合成が行われ、その後配置配線の決定としてのレイアウト設計処理が行われる。
【０００３】
このレイアウト設計処理においては、実配線負荷に対応して、ＬＳＩの内部の任意の２つの記憶素子の間のパスのすべてを対象としてタイミング検証を行う静的タイミング解析（スタティック・タイミング・アナリシス、ＳＴＡ）が行われる。このＳＴＡにおいては、ＬＳＩ内の任意の２つの記憶素子の間のパスをすべて対象とするタイミング検証が行われるが、それらのパスのうちで回路内で実際に使用される可能性のない例外パスに対してもタイミング検証が行われるために、ＬＳＩの回路規模が大きくなるにしたがってその処理量は膨大となる。
【０００４】
タイミング検証に関する各種設定条件データの１つのファイル形式として、シノプシス・デザイン・コンストレイント（ＳＤＣ）が一般的に普及している。近年ＬＳＩ設計のターン・アラウンド・タイム（ＴＡＴ）の短縮のために、レイアウト用のＳＤＣ、特にＬＳＩの内部の例外パスを自動的に抽出するツールが利用されるようになっている。しかしながらこのようなＳＤＣ自動生成ツールによって抽出される例外パスの数は、回路規模の増大に伴って膨大なものとなる傾向がある。
【０００５】
本来、このようなツールによって抽出された例外パスをタイミング検証の対象から除外してレイアウト処理を行うことができれば、レイアウト処理の効率が大きく向上するが、回路規模が大きい場合には例外パスのデータを格納するメモリ量そのものさえ用意することができなくなるという問題点と、メモリに格納されたとしても膨大な数の例外パスをタイミング検証の検証から除外するための処理量が膨大となり、ＳＤＣ自動生成ツールの抽出結果を有効に利用することができないという問題点があった。そこで従来においては、このようなツールを用いて例外パスを自動抽出したとしても、レイアウト処理に対応するＳＴＡにおけるクリティカルパスの評価において、ＳＤＣ自動生成ツールの抽出結果を比較材料として用いることができるだけであり、レイアウト処理の効率化にあまり役に立たないという問題点があった。
【０００６】
またＳＤＣを利用するための従来技術として、レイアウトの前に、仮配線負荷、例えばワイヤ・ロード・モデル（ＷＬＭ）に基づいてＳＴＡを実行してＳＤＣを作成していく方法もあるが、この方法では設計処理手順が増えるという問題点があった。
【０００７】
このようなＬＳＩ内部のクリティカルパスを抽出する従来技術としての特許文献１では、ＬＳＩの初期設計工程において、ＧＵＩによって対話的に指定されるシミュレーション実行範囲を対象としてクリティカルパスを抽出する、ゲートレベルシミュレーションを前提とした技術が開示されている。しかしながらこの従来技術を用いても、例えばＳＤＣ自動生成ツールによって抽出されたパスのすべてを例外パスとして取り扱うことがレイアウト処理の効率化を妨げるという問題点を解決することはできなかった。
【特許文献１】特開平６−２１５０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、上述の問題点に鑑み、集積回路に対応する論理記述に基づいて、集積回路内の２つの記憶素子の間のパスに対する遅延を示すパスの評価値を算出し、その評価値の大きいパスをクリティカルパスとして推定可能にすることであり、また例えばＳＤＣ自動生成ツールによって抽出されたパスのうちで、パス評価値の大きいパスだけを例外パスとしてレイアウト処理に利用することによって、レイアウト処理を効率化することである。
【課題を解決するための手段】
【０００９】
図１は、本発明のクリティカルパス推定プログラムの原理的な機能ブロック図である。同図は、集積回路内のパスとして与えられるパス、例えば例外パスのうちのクリティカルパスを推定する計算機によって使用されるプログラムである。
【００１０】
図１において、まず１で集積回路に対する論理記述と、与えられる複数のパスとの入力をメモリから受け取る手順が、２で与えられる複数のパスのそれぞれに対してパスの遅延を表すパス評価値を求める手順が、そして３でその評価値によってパスの優先順位づけを行い、評価値の大きいパスをクリティカルパスとして推定する手順が、計算機によって実行される。
【００１１】
また本発明の集積回路設計プログラムは、図１にその原理を示したクリティカルパス推定プログラムを用いるものであり、前述の与えられる複数のパスとして、集積回路内の例外パスとして抽出されたパスを与える手順と、抽出された例外パスのうちで前述のクリティカルパスとして推定されたパスだけを例外パスとして取り扱い、集積回路のレイアウトを行う手順とをさらに計算機に実行させるものである。
【００１２】
さらに本発明のクリティカルパス推定装置は、集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する装置であり、集積回路に対する論理記述と、与えられる複数のパスとの入力とをメモリから受け取る入力手段と、与えられる複数のパスのそれぞれに対して、パスの遅延を表すパス評価値を求める評価値算出手段と、その評価値によってパスを優先順位づけ、評価値の大きいパスをクリティカルパスとして推定する優先順位づけ処理手段とを備える。以上のように本発明においては、与えられる複数のパス、例えばＳＤＣ自動生成ツールによって抽出された集積回路内の例外バスのうちで、パスの遅延を表す評価値の大きいパスだけがクリティカルパスとして推定される。
【発明の効果】
【００１３】
本発明によれば、例えばＳＤＣ自動生成ツールによって抽出された膨大な数の例外バスのうちで、遅延を表すパス評価値の大きいパスだけをクリティカルパスとして推定することが可能となり、例えばレイアウト処理に利用すべき例外パスの効果的な絞込みが可能となる。
【発明を実施するための最良の形態】
【００１４】
図２は、本発明のクリティカルパス推定方式を実行するためのクリティカルパス推定装置の基本構成ブロック図である。同図において、クリティカルパス推定装置１０に対しては、設計されるべきシステムＬＳＩに対応する論理記述とライブラリとのデータ、およびＳＤＣ（シノプシス・デザイン・コンストレイント）自動生成ツールによって抽出された例外設定パス情報が入力され、クリティカルパス推定装置１０からはＳＤＣ自動生成ツールによって抽出された例外パスのうちで、スタティック・タイミング・アナリシス（ＳＴＡ）におけるタイミング解析の対象として残すクリティカルパス候補が出力される。この候補はタイミングが厳しいパスから優先順位づけされて絞り込まれることによって、ＳＤＣ自動生成ツールによって自動抽出された例外パスのうちでタイミングの収束が容易で比較的処理が簡単な例外パスはレイアウト処理やＳＴＡにおいて例外パスとして扱わず、タイミング解析における対象パスとして扱うことにより、ＳＤＣ自動生成ツールによって抽出された膨大なパスからタイミングの厳しいクリティカルパス候補だけを例外パスとして絞り込み、レイアウトやＳＴＡで取り扱いが可能となる。
【００１５】
図２においてクリティカルパス推定装置１０は、論理記述やライブラリのデータ、および例外設定パス情報などの入力を受け取る入力部１１、これらの入力データに基づいて論理構造と例外設定パスの整合性を確認し、整合性が確認された例外設定パス情報を格納するテーブルを作成する例外設定パス情報テーブル作成部１２、そのテーブルに格納された例外設定パス情報に対応するパスの遅延を示す評価値を求めるパス評価値算出部１３、例外設定パス情報テーブルに格納された例外パスに対するパス評価値が算出されたのちに、パス評価値の大きいものから例外パスに対する優先順位をつけ、優先順位づけされた例外パスデータのうちで優先順位の高い例外パスをクリティカルパス候補として出力する優先順位づけ処理部１４とを備えている。
【００１６】
図３は、本実施形態におけるＬＳＩ設計処理の全体フローチャートである。同図において処理が開始されると、まずステップＳ１１で論理合成処理が行われる。例えばネットリストが出力され、そしてステップＳ１２で例外設定パス抽出のためのＳＤＣ自動生成処理が行われる。前述のように、このＳＤＣ自動生成ツールによる例外設定パス抽出処理では、自動抽出される例外パスの数が一般に非常に多く、自動抽出された例外設定パスをそのままレイアウト処理に利用することができなかった。
【００１７】
このため本発明においては、ＳＤＣ自動生成ツールによって抽出された例外パスのうちでタイミングが厳しいクリティカルパス候補の抽出がステップＳ１３のクリティカルパス候補抽出処理によって行われ、その後行われるステップＳ１４におけるレイアウト処理、ステップＳ１５における静的タイミング解析（ＳＴＡ）処理においてクリティカルパス候補だけが例外パスとして扱われることによって、ＳＤＣ自動生成ツールによって抽出された例外パスの抽出結果の一部だけを利用することが可能となり、レイアウト処理の収束が早くなる。
【００１８】
図４は、図３のステップＳ１３におけるクリティカルパス候補抽出処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ２１で設計すべきシステムＬＳＩに対する論理記述として、例えばネットリストがメモリ１５から読み込まれる。この論理記述としては、例えばＲＴＬ（レジスタ・トランスファー・レベル）記述のものでもよく、あるいはＣ言語で記述されたものでもよいことは当然である。
【００１９】
続いてステップＳ２２で例外設定パス情報、すなわちＳＤＣ自動生成ツールによって抽出された例外パスの情報が読み込まれ、ステップＳ２３で例外パスと論理構造の間の整合性の確認が行われ、例えば論理構造上あり得ない例外パスは排除され、ステップＳ１４で整合性の確認された例外設定パスのデータが格納された例外設定パス情報テーブルがメモリ内に作成される。
【００２０】
続いてステップＳ２５からＳ２９でＳＤＣ自動生成ツールによって抽出され、論理構造との整合性が確認された例外パス、一般には非常に多数の例外パスを対象として、そのパスのタイミングを評価し、タイミングの厳しい順序から優先づけを行うために評価値の計算が行われる。本実施形態では、この評価値としてはパスの内部に含まれるゲートの段数を基本として、配線やファンアウトの数などを含めて評価する、配線考慮論理段数評価値を用いるものとする。
【００２１】
まずステップＳ２５で判定対象としての例外パスが１つ取り出され、ステップＳ２６でその例外パスの論理構造が解析され、ステップＳ２７で対象パスの配線考慮論理段数評価値の計算が行われ、ステップＳ２８で評価値がステップＳ２４でメモリ１５内に作成された例外設定パス情報テーブル内の対象パスに対して書き込まれ、ステップＳ２９で例外設定パスに対する処理がすべて終了したか否かが判定され、まだ終了していない場合にはステップＳ２５以降の処理が例外設定パス情報テーブルに格納されたすべての例外パスに対して繰り返され、すべての例外パスに対する処理が終了すると、ステップＳ３０で例外パスが配線考慮論理段数評価値の大きい順にソートされ、例外設定パスの優先順位づけ結果が得られる。これによってレイアウトツールの能力にもよるが、優先順位の高い例外パスだけを例外パスとして扱ってレイアウト処理が行われる。
【００２２】
図５は、ＳＤＣ（シノプシス・デザイン・コンストレイント）の例である。ｆａｌｓｅ  ｐａｔｈやｍｕｌｔｉｃｙｃｌｅ  ｐａｔｈといった例外設定が図３のステップＳ１２でＳＤＣ自動生成ツールによって抽出される。タイミング解析、例えばスタティック・タイミング・アナリシスでは、ＬＳＩの内部のある記憶素子、例えばフリップフロップから異なる記憶素子、例えばランダム・アクセス・メモリまでのパスが、ＬＳＩ内部のすべての記憶素子に対してすべて抽出され、タイミングの解析が行われる。このタイミング解析ではクロックの周波数や波形の設定が行われ、次いでケース・アナリシスとして、例えば内部のセレクタに対するモード設定、すなわち入力端子の選択の指定などが行われる。
【００２３】
また例えばチップの外部の記憶素子からチップ内のパスを経てチップの外部の記憶素子に至るまでの遅延を問題とするものとして、外部の記憶素子からチップの入力ポートまでの入力遅延、およびチップの出力ポートから外部の記憶素子までの出力遅延の値が設定され、これらの設定結果に対して例外パス（ｆａｌｓｅ  ｐａｔｈやｍｕｌｔｉｃｙｃｌｅ    ｐａｔｈ）が抽出されることになる。
【００２４】
続いてＳＤＣ自動生成ツールによって抽出され、論理構造との整合性が確認された例外パスに対する評価値の計算について、図６から図１０を用いて説明する。前述のようにこの評価値としては、パス内に含まれるゲートの段数を基本とするが、サブ１００ｎｍ時代を迎え、ＬＳＩプロセスがさらに微細化する中で、ゲートそのものの遅延よりも、例えばゲート間の配線の遅延の考慮が必要となるため、例えば論理モジュール間の配線による遅延も評価するために、まずゲートの段数と配線の遅延に対応する配線考慮論理段数評価値について説明する。
【００２５】
図６は、チップ上のゲートやモジュールの配置例である。チップ２０の上に縦長の長方形で示されるゲートやフリップフロップなどが配置され、その間に配線がなされるが、ゲートのうちで点線によって囲まれた論理モジュール２１の間の配線による遅延と、一般に複数の論理モジュールを含む物理階層２２の間の配線による遅延を含む形式で配線考慮論理段数評価値として求めるものとする。ここで物理階層２２とは、設計ツールの処理能力にもよるが、１回の処理で自動レイアウトが可能な規模の階層であり、複雑なシステムＬＳＩにおいてはチップ２０の上に複数の物理階層が配置されて最終的にレイアウトが行われる。また論理モジュールとは、物理階層の自動レイアウトにおいて物理階層上で近い距離内にかたまって配置されるものである。そこで論理モジュール間配線２４よりも、物理階層間配線２５による遅延のほうが一般的に大きくなるが、本実施形態ではこの両者の配線による遅延を評価値の計算において考慮するものとする。
【００２６】
図７は、図６のチップ２０上のパスを横方向に展開したものであり、パスを構成する論理素子は、基本ゲートに換算されてその段数の評価が行われるものとする。すなわち、図７は図６のチップ２０上で最も左上の長方形に対応するＦＦ３１から、その下方向にある長方形に相当するＦＦ３２までのパスを展開したものである。
【００２７】
図７において２つのＦＦ３１と３２の間のパスには基本ゲート換算で３３〜４３の１１個のゲートが含まれており、パス内のゲートに対する論理段数は１１である。論理モジュール間配線は論理モジュール２１１と２１２との間の２４１一本だけであるが、例えばゲート３９と論理モジュール２１３との間の配線による遅延なども無視することはできない。また物理階層間配線としては、図７ではゲート３７と３８の間の配線２５１、ゲート４２と４３との間の配線２５２が示されているが、例えばＦＦ３１と物理階層２２１との間の配線、すなわちＦＦ３１とゲート３３との間の配線による遅延も無視することはできない。まず本実施形態では説明を容易にするため論理モジュール間配線の数はパスに含まれる論理モジュールの数と一致するものとし、また物理階層間配線の数もパスに含まれる物理階層の数に一致するものとして、配線考慮論理段数評価値を求めるものとする。
【００２８】
本実施形態において、配線考慮論理段数評価値は基本的に次式によって計算されるものとする。
（論理モジュール間配線数Ｍ×係数Ｋｍ）＋（物理階層間配線数Ｎ×係数Ｋｎ）＋基本論理ゲート段数Ｇａｔｅ  Ｎｕｍ  ・・・・（１）
ここで論理モジュール間配線に対する係数Ｋｍは論理モジュール間配線による遅延に相当する。Ｋｎは物理階層間配線による遅延の論理段数換算における係数であり、Ｇａｔｅ  Ｎｕｍはパスに含まれる基本ゲートの数である。例えばＫｍの値を１．２、Ｋｎの値を２．８とすると、図７のＦＦ３１からＦＦ３２までのパスには物理階層が２個、論理モジュールが３個、基本ゲートが１１個含まれるために、配線考慮論理段数評価値は２０．２となる。
本実施例は論理ｍｏｄｕｌｅ、 物理階層の数とそれらの間の配線の数が同一であるという簡易な評価式の説明であるが同様の考え方で ＦＦや各ゲートの物理／ｍｏｄｕｌｅ階層Levelを考慮し全てのＧａｔｅ間の配線を論理構造から詳細に評価式で導き出す事は可能である。
【００２９】
図８から図１０は、パスに含まれるゲートのファンアウトの数と、そのファンアウト先の位置を考慮した配線考慮論理段数評価値の計算法の説明図である。まず図８においてはゲート３３のファンアウト先としてゲート３４だけでなく、ゲート４５とゲート４６とが追加されている。またゲート４０のファンアウト先としてゲート４１だけでなく、ゲート４７、４８、および４９が追加されている。ゲート３３のファンアウトの数をｆａ（＝３）、ゲート４０のファンアウト数をｆｂ（＝４）とすると、これらのファンアウト数を考慮した配線考慮論理段数評価値は次式の値を（１）式に加算して求められるものとする。
【００３０】
Ｋｆｏ（ｆａ＋ｆｂ＋・・・）  ・・・・  （２）
ここでＫｆｏはファンアウトの数による配線遅延分の論理段数換算係数であり、その値を例えば０．７とすると、図８に対する配線考慮論理段数評価値の値は２５．１となる。
【００３１】
図９、図１０は、ファンアウト先のゲートが同一の論理モジュールの中に無い場合の評価値の計算方法の説明図である。図９においてはゲート３３のファンアウト先のうち、ゲート４６が他の論理モジュールの中に存在する場合である。このようにファンアウト先が論理モジュール間にまたがる場合には、モジュール間ファンアウトに対する係数をＫｆｏｍとし、その値を例えば１．１とすると、ゲート３３のファンアウトに対する配線考慮論理段数評価値は、図８では０．７×３＝２．１であったのに対して、図９では２×０．７＋１．１＝２．５となる。
【００３２】
図１０は、ゲート３３のファンアウト先としてのゲート４６が異なる物理階層内に存在する場合である。このように物理層間ファンアウトに対する係数をＫｆｏｂとし、その値を２．２とすると、ゲート３３のファンアウトに対する論理段数評価値は２×０．７＋２．２＝３．６となる。
【００３３】
本実施形態においては、配線考慮論理段数評価値の評価に、さらに論理モジュールや物理階層の面積や、クロックの周波数に関する考慮も含めるものとする。図１１、および図１２は論理モジュールや物理階層の面積の評価値への反映法の説明図である。図１１は、基本ゲート１段当たりの遅延の説明図である。例えば図７においてはゲートの遅延に対する評価値としてゲートの数そのものを用いたが、厳密には１段のゲートの遅延としてはゲートそのものの遅延と、ゲートとゲートの間を接続する配線の遅延とを考慮する必要がある。図７の説明では、このゲート遅延と配線遅延とを含めて、各ゲートに対してその遅延が一定であるものとて、ゲートの数で評価値を求めているものと考えることができる。
【００３４】
図１２は、例えば物理階層の面積の説明図である。ここでは３つの物理階層Ａ、Ｂ、およびＣが示され、面積がＡ、Ｂ、Ｃの順に大きくなるものとする。物理階層の面積が大きくなれば、当然その中に含まれるゲートの数も多くなり、ゲートとゲートの間の配線の長さは、面積が小さい物理階層内とほぼ同じになるものもあると考えられるが、平均的にはその配線の長さは長くなり、１段当たりの配線遅延の平均値は面積に比例して大きくなると考えられる。
【００３５】
ここで基本的なゲートそのもの１段のゲート遅延と、ゲート間の平均的な配線遅延の値が一致する面積が物理階層Ｂの面積であるときには、その面積を基準として他の物理階層に対する評価値を求めることができる。例えば階層Ｂの面積が２５００μｍ２、階層Ｃの面積が４０００μｍ２とすると、面積の比は１．６となり、例えば簡単のために物理階層Ｃ内のゲートに対しては、前述の（１）式におけるＧａｔｅ  Ｎｕｍの値に１．６倍したものをその階層内の基本ゲートの論理段数に相当する値として用いることができる。ここでは物理階層を例として面積の相違の評価値への反映について説明したが、論理モジュールの面積に対しても同様に考えることができる。
【００３６】
図１３は、クロック周波数の相違の評価値への反映方法の説明図であり、同図（ａ）では２００ＭＨｚ、（ｂ）では１００ＭＨｚの周波数のクロックが用いられているものとする。例えば図７と同様に２つのＦＦ３１と３２との間でデータ転送を行うものとし、ＦＦ３１がデータを取り込んでから１クロック後にＦＦ３２がそのデータを取り込まなければならないものとすると、（ａ）では５ｎｓ、（ｂ）では１０ｎｓ内でのＦＦ間のデータ転送が要求される。
【００３７】
そこで（ｂ）では（ａ）に対してデータ転送のタイミングとして２倍の余裕があることになる。本実施形態では設計対象ＬＳＩの中で用いられているクロック周波数の最も高い値を基準として、配線考慮論理段数評価値にクロック周波数の相違を反映するものとする。このため（ｂ）の２つのＦＦ３１と３２の間のパス全体に対する配線考慮論理段数評価値は、（ａ）に対して計算された評価値の半分となる。
【００３８】
例外パスの優先順位づけについて図１４、図１５を用いて説明する。図１４は、ＬＳＩのチップ２０上のパスのうちで、例外パスとしてＳＤＣ自動生成ツールによって抽出された２つのパス１とパス２を示している。ここでパス１とパス２とはまったく独立となっているが、一般にＳＴＡにおいては、ＬＳＩ上の任意の２つの記憶素子の組み合わせがすべてタイミング解析の対象として取られ、その間のパスに対してタイミングの検証が行われるために、パス１とパス２に対する配線考慮論理段数評価値の大きいほうが本実施形態においてクリティカルパス候補として抽出されることになる。
【００３９】
図１５は、図１４のパス１とパス２の構成である。ここでパス１とパス２とは、それぞれ２つのＦＦの間でのデータ転送経路を示すが、（１）式を用いて図７に対すると同様にそれぞれ配線考慮論理段数評価値を求めると、パス１に対する評価値は２０．２、パス２に対する評価値は４．２となり、クリティカルパス候補としての優先順位はパス１の方がパス２より高くなる。
【００４０】
以上において本発明のクリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラムについてその詳細を説明したが、このクリティカルパス推定装置は当然一般的なコンピュータシステムを基本として構成することが可能である。図１６はそのようなコンピュータシステム、すなわちハードウェア環境の構成ブロック図である。
【００４１】
図１６においてコンピュータシステムは中央処理装置（ＣＰＵ）６０、リード・オンリ・メモリ（ＲＯＭ）６１、ランダム・アクセス・メモリ（ＲＡＭ）６２、通信インターフェース６３、記憶装置６４、入出力装置６５、可搬型記憶媒体の読取り装置６６、およびこれらの全てが接続されたバス６７によって構成されている。
【００４２】
記憶装置６４としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置６４、またはＲＯＭ６１に図３、図４のフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項１〜３のプログラムなどが格納され、そのようなプログラムがＣＰＵ６０によって実行されることにより、本実施形態におけるクリティカルパスの推定、推定されたクリティカルパスだけを例外パスとして用いたレイアウト設計などが可能となる。
【００４３】
このようなプログラムは、プログラム提供者６８からネットワーク６９、および通信インターフェース６３を介して、例えば記憶装置６４に格納されることも、また市販され、流通している可搬型記憶媒体７０に格納され、読取り装置６６にセットされて、ＣＰＵ６０によって実行されることも可能である。可搬型記憶媒体７０としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読取り装置６６によって読取られることにより、本実施形態におけるクリティカルパス推定などが可能となる。
【００４４】
以上のように本実施形態によれば、ＳＤＣ自動生成ツールによって抽出された膨大な数の例外パスのうちで、論理構造との整合性が確認された例外パスを対象として配線考慮論理段数評価値を求め、その評価値に対応して評価値の大きいものだけをレイアウト処理における例外パスとして取り扱うことによって、レイアウト処理の処理効率を向上させることが可能となる。
【００４５】
配線考慮論理段数評価値としては、パス内の基本ゲート換算の論理段数、論理モジュール間配線、物理階層間配線に対応して評価値をもとめることを基準としながらも、パス内のゲートのファンアウトの数、ファンアウト先の位置、論理モジュールや物理階層の面積、およびクロック周波数などを考慮することによって、ＳＤＣ自動生成ツールによって抽出された例外設定パスに対する評価値に対するきめ細かい優先順位づけを行うことができ、レイアウト処理に使用可能なように例外パスの数を絞り込むことができ、ＳＤＣ自動生成ツールの抽出結果を用いたレイアウト処理の効率向上に寄与するところが大きい。
【００４６】
（付記１）  集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する計算機によって使用されるプログラムであって、
前記集積回路に対する論理記述と、前記与えられる複数のパスとの入力をメモリから受け取る手順と、
該与えられるパスのそれぞれに対して、パスの遅延を表すパス評価値を求める手順と、
該評価値によってパスの優先順位づけを行い、該評価値の大きいパスを前記クリティカルパスとして推定する手順とを計算機に実行させることを特徴とするクリティカルパス推定プログラム。
（付記２）  前記パス評価値を求める手順において、
前記パス内の基本ゲートの段数と、前記集積回路内で近接して配置される複数の基本ゲートから構成される論理モジュールに対する配線とを、前記パスの遅延要因として評価値を求めることを特徴とする付記１記載のクリティカルパス推定プログラム。
（付記３）  前記パス評価値を求める手順において、
前記パスが経由し、１回の処理で自動レイアウト設計が可能な規模としての物理階層に対する配線を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記２記載のクリティカルパス推定プログラム。
（付記４）  前記パス評価値を求める手順において、
前記パスが経由する前記物理階層の面積を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記３記載のクリティカルパス推定プログラム。
（付記５）  前記パス評価値を求める手順において、
前記パス内に含まれるゲートのファンアウトの数を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記２記載のクリティカルパス推定プログラム。
（付記６）  前記パス評価値を求める手順において、
前記パス内に含まれるゲートのファンアウト先のゲートの位置を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記２記載の集積回路設計プログラム。
（付記７）  前記パス評価値を求める手順において、
前記パスが含まれる前記論理モジュールの面積を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記２記載のクリティカルパス推定プログラム。
（付記８）  前記パス評価値を求める手順において、
前記パスに対応するクロック信号の周波数を、さらに前記パスの遅延要因として評価値を求めることを特徴とする付記２記載のクリティカルパス推定プログラム。
（付記９）  付記１に記載のクリティカルパス推定プログラムを用いる集積回路設計プログラムであって、
前記与えられる複数のパスとして、前記集積回路内の例外パスとして抽出されたパスを与える手順と、
該抽出された例外パスのうちで、前記クリティカルパスとして推定されたパスだけを例外パスとして取り扱い、前記集積回路のレイアウトを行う手順とを計算機に実行させることを特徴とする集積回路設計プログラム。
（付記１０）  集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する装置であって、
前記集積回路に対する論理記述と、前記与えられる複数のパスとの入力をメモリから受け取る入力手段と、
該与えられる複数のパスのそれぞれに対してパスの遅延を表すパス評価値を求める評価値算出手段と、
該評価値によってパスの優先順位づけを行い、評価値の大きいパスを前記クリティカルパスとして推定する優先順位づけ処理手段とを備えることを特徴とするクリティカルパス推定装置。
（付記１１）  集積回路内のパスとして与えられる複数のパスのうちのクリティカルパスを推定する方法であって、
前記集積回路に対する論理記述と、前記与えられる複数のパスとの入力をメモリから受け取り、
該与えられるパスのそれぞれに対して、パスの遅延を表すパス評価値を求め、
該評価値によってパスの優先順位づけを行い、該評価値の大きいパスを前記クリティカルパスとして推定することを特徴とするクリティカルパス推定方法。
【図面の簡単な説明】
【００４７】
【図１】本発明のクリティカルパス推定プログラムの原理的な機能ブロック図である。
【図２】クリティカルパス推定装置の基本的な構成ブロック図である。
【図３】システムＬＳＩ設計処理の全体フローチャートである。
【図４】クリティカルパス候補抽出処理の詳細フローチャートである。
【図５】ＳＤＣ自動生成ツールの抽出結果の例である。
【図６】ＬＳＩ上の物理階層と論理モジュールの説明図である。
【図７】ＬＳＩ上の２つの記憶素子の間のパスの例である。
【図８】配線考慮論理段数評価値におけるファンアウト数の考慮の説明図である。
【図９】配線考慮論理段数評価におけるファンアウト先のゲートの位置の考慮の説明図（その１）である。
【図１０】配線考慮論理段数評価におけるファンアウト先のゲートの位置の考慮の説明図（その２）である。
【図１１】１段の基本ゲートに対するゲート遅延と配線遅延の説明図である。
【図１２】配線考慮論理段数評価における物理階層面積の考慮の説明図である。
【図１３】配線考慮論理段数評価におけるクロック周波数の考慮の説明図である。
【図１４】ＬＳＩ上の２つの例外パスの例である。
【図１５】図１４の２つの例外パスの詳細を示す図である。
【図１６】本実施形態におけるプログラムのコンピュータへのローディングを説明する図である。
【符号の説明】
【００４８】
１０  クリティカルパス推定装置
１１  入力部
１２  例外設定パス情報テーブル作成部
１３  パス評価値算出部
１４  優先順位づけ処理部
１５  メモリ
２０  チップ
２１  論理モジュール
２２  物理階層
２４  論理モジュール間配線
２５  物理階層間配線
３１、３２  フリップフロップ
３３〜４３、４５〜４９  基本ゲート
６０  中央処理装置（ＣＰＵ）
６１  リード・オンリ・メモリ（ＲＯＭ）
６２  ランダム・アクセス・メモリ（ＲＡＭ）
６３  通信インターフェース
６４  記憶装置
６５  入出力装置
６６  読み取り装置
６７  バス
６８  プログラム提供者
６９  ネットワーク
７０  可搬型記憶媒体
【図１】
0004644142.tif 000002
【図２】
0004644142.tif 000003
【図３】
0004644142.tif 000004
【図４】
0004644142.tif 000005
【図５】
0004644142.tif 000006
【図６】
0004644142.tif 000007
【図７】
0004644142.tif 000008
【図８】
0004644142.tif 000009
【図９】
0004644142.tif 000010
【図１０】
0004644142.tif 000011
【図１１】
0004644142.tif 000012
【図１２】
0004644142.tif 000013
【図１３】
0004644142.tif 000014
【図１４】
0004644142.tif 000015
【図１５】
0004644142.tif 000016
【図１６】
0004644142.tif 000017