(57)【要約】【課題】半導体集積回路全体の歩留まり曲線を算出する場合において、処理時間を短縮するとともに省メモリ化を達成することを目的とする。【解決手段】遅延計算を行うとともに遅延計算結果を生成する遅延計算部２２と、複数の経路の遅延時間解析結果を生成する遅延時間解析部２３と、複数の経路の遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部２４と、最大遅延時間ソート結果から最大遅延時間順に、選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部２５と、統計的最大値計算を行う統計的最大値計算部２６を有する。【選択図】図１
2010039925.tif 000002
【特許請求の範囲】
【請求項１】
論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析装置において、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部を有することを特徴とする遅延時間解析装置。
【請求項２】
前記遅延計算部は、前記論理回路に含まれる論理素子，フリップフロップおよびこれらを接続する配線の遅延計算結果を個別に生成することを特徴とする請求項１に記載の遅延時間解析装置。
【請求項３】
前記遅延時間解析部は、ＳＴＡ（static timing analyzer）による静的タイミング解析を前記遅延時間解析として行うことにより、前記論理回路に含まれるフリップフロップ間の遅延時間を前記経路の遅延時間解析結果として生成することを特徴とする請求項１または請求項２に記載の遅延時間解析装置。
【請求項４】
前記遅延時間解析結果ソート部は、前記遅延時間解析部により生成された前記複数の経路の前記遅延時間解析結果を、前記フリップフロップ間の遅延時間が大きい順にソートすることにより、前記最大遅延時間ソート結果を生成することを特徴とする請求項３に記載の遅延時間解析装置。
【請求項５】
前記確率密度パス計算部は、前記遅延時間解析結果ソート部によりソートされた順に、前記複数の経路から一の経路を選択し、前記選択した一の経路に対してＳＳＴＡ（statistical static timing analyzer）による統計的タイミング解析を行うことを、前記所定の条件を満たすまで繰り返すことにより、前記複数の経路のうちの前記所定の条件を満たさない経路を除く一部の経路の各確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする請求項４に記載の遅延時間解析装置。
【請求項６】
前記所定の条件は、前記選択した一の経路の確率密度関数におけるワースト側標準偏差が、前記遅延時間解析結果ソート部により最初にソートされた経路の確率密度関数におけるベスト側標準偏差に基づき生成された閾値を超えた場合であることを特徴とする請求項５に記載の遅延時間解析装置。
【請求項７】
前記統計的最大値計算部は、前記確率密度パス計算部により生成された各確率密度関数に対して統計的最大値計算を行うことにより、半導体集積回路の確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする請求項５または請求項６に記載の遅延時間解析装置。
【請求項８】
前記統計的最大値計算部により生成された前記半導体集積回路の確率密度関数に基づいて、半導体集積回路の累積分布関数（ＣＤＦ；cumulative distribution function）を生成する累積分布関数生成部をそなえることを特徴とする請求項７に記載の遅延時間解析装置。
【請求項９】
論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析方法において、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算ステップと、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析ステップと、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソートステップと、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算ステップと、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算ステップとを有することを特徴とする遅延時間解析方法。
【請求項１０】
論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う機能をコンピュータに実行させるための遅延時間解析プログラムにおいて、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部として、該コンピュータを機能させることを特徴とする遅延時間解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路全体の製造歩留まりを予測する技術に関し、例えば、半導体集積回路におけるフリップフロップ間のディレイを解析することにより、半導体集積回路全体の確率密度関数（ＰＤＦ；probability density function)や累積分布関数(ＣＤＦ；cumulative distribution function)を求める技術に関する。
【背景技術】
【０００２】
一般に、ＬＳＩ（Large Scale Integration）におけるフリップフロップ（以下、ＦＦという）間のパス（以下、ＦＦ間パスという）ディレイを解析することにより、当該ディレイに対応する動作周波数におけるＬＳＩ全体の製造歩留まりを予測する技術が知られている（例えば、下記特許文献１〜４および下記非特許文献１，２参照）。
ここで、上記動作周波数は、ディレイの逆数を求めることにより算出することができる。
【０００３】
そして、ＬＳＩ全体の製造歩留まりを予測する手法として、例えば、ＳＴＡ（static timing analyzer）による静的タイミング解析やＳＳＴＡ（statistical static timing analyzer）による統計的タイミング解析が知られている。
ＳＴＡによる静的タイミング解析は、ＬＳＩを構成する論理積回路（ＡＮＤ回路）や論理和回路（ＯＲ回路）等の論理素子であるゲートやゲート間を接続する配線であるネットに対して所定のディレイを与え、各ＦＦ間パス上に配置されたゲートやネットのディレイをそれぞれ加算し、その後にＬＳＩが製造される半導体テクノロジに応じた所定のバラツキ係数を掛けることにより、ＦＦ間パスのディレイを求める手法である。
【０００４】
これに対し、ＳＳＴＡによる統計的タイミング解析は、ＬＳＩを構成するゲートやネットに対してディレイ分布を与え、ＦＦ間パス上に配置されたゲートやネットのディレイ分布を統計的に加算することにより、ＦＦ間パスの確率密度関数を求める手法である。そして、ＬＳＩを構成する全てのＦＦ間パスの各確率密度関数に対して統計的ＭＡＸ演算を行うことにより、ＬＳＩ全体の確率密度関数が得られる。又、ＬＳＩ全体の確率密度関数を積分することにより、ＬＳＩ全体の累積分布関数が得られる。この累積分布関数は、ＬＳＩ全体の周波数による歩留まりを示すことになる。従って、累積分布関数を求めることによりＬＳＩの製造歩留まりを予測することが可能となる。
【特許文献１】特開２００４−２５２８３１号公報
【特許文献２】特開２００４−３１０５６７号公報
【特許文献３】特開２００５−０９２８８５号公報
【特許文献４】特開２００７−１０９１３８号公報
【非特許文献１】三好章夫、横田俊彦, “IBMの65nmのバラつき対策”, 日経マイクロデバイス 2月号, pp. 53-59, 2007.
【非特許文献２】A. Nardi, E. Tuncer, et al, “Use of Statistical Timing Analysis on Real Designs”, Design Automation, and Test in Europe, 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したＳＴＡによる静的タイミング解析では、ＳＳＴＡによる統計的タイミング解析に比べて高速に実行することができるが、ＳＳＴＡによる統計的タイミング解析よりも実際の値に近い値を求めることができず、タイミング解析の精度が劣る。
これに対し、上述したＳＳＴＡによる統計的タイミング解析では、ＳＴＡによる静的タイミング解析よりも実際の値に近い値を求めることができるが、各ＦＦ間パスにおいてゲートやネットの各ディレイ分布の加算等の処理を実行する必要があるので、処理時間が非常に大きくなる。更に、ＳＳＴＡによる統計的タイミング解析での計算精度を高めるためには、各ＦＦ間パスにおけるゲートやネットのディレイ分布のデータ数を多くする必要があるが、この場合においては実行メモリの容量が大きくなる。
【０００６】
従って、近年実用化された複数の演算コアを有するマルチコアプロセッサ等のより大規模なＬＳＩを構成する全てのＦＦ間パスに対して、ＳＳＴＡによる統計的タイミング解析を実行するのは実用的ではない。
本発明は、このような課題に鑑み創案されたもので、半導体集積回路全体の歩留まり曲線を算出する場合において、処理時間を短縮するとともに省メモリ化を達成することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、開示の遅延時間解析装置は、論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析装置において、入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部を有している。
【０００８】
また、開示の遅延時間解析方法は、論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析方法において、入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算ステップと、前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析ステップと、前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソートステップと、前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算ステップと、前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算ステップとを有している。
【０００９】
さらに、開示の遅延時間解析プログラムは、論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う機能をコンピュータに実行させるための遅延時間解析プログラムにおいて、入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部として、該コンピュータを機能させている。
【発明の効果】
【００１０】
開示の技術によれば、半導体集積回路全体の歩留まり曲線を算出する場合において、処理時間を短縮できるとともに省メモリ化を達成できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本遅延時間解析装置，遅延時間解析方法および遅延時間解析プログラムに係る実施の形態について説明する。
〔１〕実施形態の一例の説明
図１は実施形態の一例としての遅延時間解析装置１０の構成例を模式的に示す図である。図２および図３は実施形態の一例としての遅延時間解析装置１０において、読込み部２１が読み込むディレイ解析の対象となる配線情報の集合であるネットリストの一例を示す図である。
【００１２】
本実施形態に係る遅延時間解析装置１０は、論理回路（例えば、図２の符号“X”および図３の符号“Ｙ”参照）を備えた半導体集積回路（ＬＳＩ；Large Scale Integration；図示省略）のフリップフロップ間のパス（経路；以下、ＦＦ間パスという；例えば、図２の符号“Ｐ−Ｘ１”〜“Ｐ−Ｘ３”および図３の符号“Ｐ−Ｙ１”〜“Ｐ−Ｙ４”参照）のディレイ（遅延時間）を解析するものである。ここで、論理回路は、論理素子（例えば、図２の符号“Ｇ−Ｘ１”〜“Ｇ−Ｘ６”および図３の符号“Ｇ−Ｙ１”〜“Ｇ−Ｙ９”参照）およびフリップフロップ（ＦＦ（Flip Flop）；例えば、図２の符号“ＦＦ−Ｘ１”，“ＦＦ−Ｘ２”および図３の符号“ＦＦ−Ｙ１”〜“ＦＦ−Ｙ６”参照）を含む複数のＦＦ間パスを有している。なお、ＦＦ間パスは、２つのフリップフロップを接続する経路を指す。
【００１３】
この遅延時間解析装置１０は、図１に示すように、入力部１１，主記憶部１２，処理部１３および表示装置（表示部）１４をそなえたコンピュータとして構成されている。
以下、入力部１１，主記憶部１２，処理部１３および表示装置１４について詳述する。
（１）入力部１１
入力部１１は、後述する処理部１３による処理を実行する際に必要な情報を入力するものであり、コマンドオプション、実行制御カードファイルを読込む入力装置により実現される。
【００１４】
この入力部１１は、例えば、後述するＳＴＡタイミング解析部２３による処理を実行する際に必要な情報であるサイクルタイムτや、ＳＳＴＡパス計算部２５による処理を実行する際に必要な情報である閾値を実行制御カードファイルから取り込むようになっている。
（２）主記憶部１２
主記憶部１２は、後述する処理部１３により処理されたデータを記憶するものであって、ＨＤＤ（Hard Disk Drive：磁気ディスク装置）等の記憶装置により実現される。
【００１５】
この主記憶部１２は、図１に示すように、ネットリストＤＢ（database）１５，配線データテーブル１６，素子遅延ライブラリＤＢ１７，遅延ＤＢ（遅延計算結果記憶部）１８，パス情報ＤＢ（遅延時間解析結果記憶部）１９およびＳＳＴＡ素子ライブラリＤＢ２０をそなえて構成されている。
（２−１）ネットリストＤＢ１５
ネットリストＤＢ１５は、後述する読込み部２１で読みこまれたネットリスト（論理情報）を記憶するものである。
【００１６】
ここで、ネットリストとは、論理回路に含まれるフリップフロップおよび論理素子の接続関係や配置情報がヴェリログ（Verilog）等のハードウェア記述言語（HDL：Hardware Description Language）で記述されたものである（例えば、図３参照）。
（２−２）配線データテーブル１６
配線データテーブル１６は、後述する読込み部２１で読みこまれた実装情報（配線情報）を配線の抵抗成分Ｒ（Resistance），容量成分Ｃ（Capacitor）等の情報を有するデータテーブルとして記憶するものである。
【００１７】
ここで、実装情報とは、配線による抵抗成分（レジスタンス；Resistance），容量成分（キャパシタ；Capacitor），インダクタンス等に関する情報をラダー構造の等価回路で記述されたものである。この実装情報は、SPEF（Standard Parasitic Exchange Format）ファイルフォーマット等で記述されている。
（２−３）素子遅延ライブラリＤＢ１７
素子遅延ライブラリＤＢ１７は、後述する読込み部２１で読みこまれた素子ライブラリを記憶するものである。
【００１８】
ここで、素子ライブラリとは、各フリップフロップや各論理素子のピン容量，駆動能力，入力ピン−出力ピン間のディレイ情報（遅延時間情報）等の特性を表す情報である。
（２−４）遅延ＤＢ１８
遅延ＤＢ１８は、後述する遅延計算部２２により計算された遅延計算結果を記憶するものである。なお、遅延計算結果については後述する。
【００１９】
（２−５）パス情報ＤＢ１９
パス情報ＤＢ１９は、後述するＳＴＡタイミング解析部２３により計算された遅延時間解析結果を記憶したり、後述するＳＴＡパスソート部２４によりソートされた遅延時間解析結果を記憶したりするものである。なお、遅延時間解析結果については後述する。
（２−６）ＳＳＴＡ素子ライブラリＤＢ２０
ＳＳＴＡ素子ライブラリＤＢ２０は、後述する読込み部２１で読みこまれたＳＳＴＡ素子ライブラリを記憶するものである。
【００２０】
ここで、ＳＳＴＡ素子ライブラリとは、論理素子についてのバラツキ情報を定義したものである。又、バラツキ情報は、論理素子毎にモンテカルロシミュレーション等の統計的手法により計算される。
具体的には、ＳＳＴＡ素子ライブラリは、例えば、以下のバラツキ情報１〜４のように定義される。
【００２１】
バラツキ情報１  （GAI211A，A1，X，du，0，0.16，0.15）
バラツキ情報２  （GAI211A，A1，X，ud，0，0.19，0.19）
バラツキ情報３  （GAI211A，B1，X，du，0，0.15，0.14）
バラツキ情報４  （GAI211A，B1，X，ud，0，0.17，0.17）
なお、これらのバラツキ情報１〜４は、それぞれ、括弧内の左から順に、素子名，入力ピン名，出力ピン名，信号遷移，ｏｆｆｓｅｔ，＋３σ、−３σを示す。
【００２２】
（３）処理部１３
処理部１３は、半導体集積回路全体の確率密度関数（ＰＤＦ；probability density function）や累積分布関数（ＣＤＦ；cumulative distribution function）を生成する処理を実行するものであって、ＣＰＵ（Central Processing Unit）等の処理装置により実現される。
【００２３】
この処理部１３は、図１に示すように、読込み部２１，遅延計算部２２，ＳＴＡ（static timing analyzer）タイミング解析部（遅延時間解析部）２３，ＳＴＡパスソート部（遅延時間解析結果ソート部）２４，ＳＳＴＡ（statistical static timing analyzer）パス計算部（確率密度パス計算部）２５，統計的ＭＡＸ計算部（統計的最大値計算部）２６，累積分布関数生成部２７および表示制御部２８として機能するようになっている。
【００２４】
（３−１）読込み部２１
読込み部２１は、ネットリスト，実装情報，素子ライブラリ，ＳＳＴＡ素子ライブラリを外部から読み込んで主記憶部１２に記憶させるものである。
具体的には、読込み部２１は、ネットリストを外部装置（図示省略）からネットワークを介して読み込んで主記憶部１２内のネットリストＤＢ１５に記憶させる。
【００２５】
例えば、読込み部２１は、図２に示す論理回路Ｘのネットリストや、図３に示す論理回路ＹのネットリストをネットリストＤＢ１５に記憶させるようになっている。
ここで、論理回路Ｘは、図２に示すように、２個のフリップフロップＦＦ−Ｘ１，ＦＦ−Ｘ２および６個のゲート（論理素子；組み合わせ回路）Ｇ−Ｘ１〜Ｇ−Ｘ６をそなえて構成されている。
【００２６】
なお、ゲートＧ−Ｘ１は、クロック信号を分配するクロック分岐点（図２の符号“Ｂ”参照）として機能するようになっている。又、フリップフロップＦＦ−Ｘ１は、データ送り側のフリップフロップとして機能し、フリップフロップＦＦ−Ｘ２は、データ受け側のフリップフロップとして機能する。
そして、ゲートＧ−Ｘ１がゲートＧ−Ｘ２を介してフリップフロップＦＦ−Ｘ１に接続されたＦＦ間パスＰ−Ｘ１が形成される。又、ゲートＧ−Ｘ１がゲートＧ−Ｘ３を介してフリップフロップＦＦ−Ｘ２に接続されたＦＦ間パスＰ−Ｘ２が形成される。更に、フリップフロップＦＦ−Ｘ１がゲートＧ−Ｘ４〜Ｇ−Ｘ６を介してフリップフロップＦＦ−Ｘ２に接続されたＦＦ間パスＰ−Ｘ３が形成される。
【００２７】
また、論理回路Ｙは、図３に示すように、６個のフリップフロップＦＦ−Ｙ１〜ＦＦ−Ｙ６，１個のクロック回路（論理素子）Ｃ−Ｙ１および９個のゲートＧ−Ｙ１〜Ｇ−Ｙ９をそなえて構成されている。又、クロック回路Ｃ−Ｙ１は、６個のフリップフロップＦＦ−Ｙ１〜ＦＦ−Ｙ６のＣＫ端子にそれぞれ接続されている。
なお、フリップフロップＦＦ−Ｙ１〜ＦＦ−Ｙ３は、データを送信するデータ送り側のフリップフロップとして機能し、フリップフロップＦＦ−Ｙ４〜ＦＦ−Ｙ６は、データを受信するデータ受け側のフリップフロップとして機能する。
【００２８】
そして、フリップフロップＦＦ−Ｙ１の出力端子がゲートＧ−Ｙ１，Ｇ−Ｙ４，Ｇ−Ｙ７を介してフリップフロップＦＦ−Ｙ４のＤＴ端子に接続されたＦＦ間パスＰ−Ｙ１が形成される。又、フリップフロップＦＦ−Ｙ１の出力端子がゲートＧ−Ｙ１，Ｇ−Ｙ４，Ｇ−Ｙ８を介してフリップフロップＦＦ−Ｙ５のＤＴ端子に接続されたＦＦ間パスＰ−Ｙ２が形成される。更に、フリップフロップＦＦ−Ｙ２の出力端子がゲートＧ−Ｙ２，Ｇ−Ｙ５，Ｇ−Ｙ８を介してフリップフロップＦＦ−Ｙ５のＤＴ端子に接続されたＦＦ間パスＰ−Ｙ３が形成される。又、フリップフロップＦＦ−Ｙ３の出力端子がゲートＧ−Ｙ３，Ｇ−Ｙ６，Ｇ−Ｙ９を介してフリップフロップＦＦ−Ｙ６のＤＴ端子に接続されたＦＦ間パスＰ−Ｙ４が形成される。
【００２９】
また、読込み部２１は、実装情報を外部装置からネットワークを介して読み込んで主記憶部１２内の配線データテーブル１６に記憶させる。更に、読込み部２１は、素子ライブラリを外部装置からネットワークを介して読み込んで主記憶部１２内の素子遅延ライブラリＤＢ１７に記憶させる。又、読込み部２１は、ＳＳＴＡ素子ライブラリを外部装置からネットワークを介して読み込んで主記憶部１２内のＳＳＴＡ素子ライブラリＤＢ２０に記憶させる。
【００３０】
（３−２）遅延計算部２２
図４は実施形態の一例としての遅延時間解析装置１０における遅延計算部２２による遅延計算手法を説明するための図である。
遅延計算部２２は、入力された論理回路の配線情報と論理素子及びフリップフロップの配置情報と論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成するものである。
【００３１】
本実施形態においては、遅延計算部２２は、論理回路に含まれるゲート，フリップフロップおよびこれらを接続する配線（以下、ネットという場合もある）の各遅延計算結果を個別に生成するようになっている。
具体的には、例えば、遅延計算部２２は、主記憶部１２に記憶されたネットリスト，実装情報，素子ライブラリに基づいて、ネットリストに記述されたゲートやフリップフロップのディレイおよびネットのディレイを各々計算し、これらの各遅延計算結果を遅延ＤＢ１８に記憶する。
【００３２】
例えば、図４に示すような、ゲート出力の分布定数回路がぶら下がる回路モデルを例に説明すると、遅延計算部２２は、ゲートの入力ピン−出力ピン間のディレイ（pin-to-pinディレイ；図４の“Tgate”参照)とネットのディレイ(図４の“Tnet”参照)と波形のなまり(Slew rate ／Tsin)とを計算することにより、各遅延計算結果を生成するようになっている。
【００３３】
（３−３）ＳＴＡタイミング解析部２３
ＳＴＡタイミング解析部２３は、遅延計算結果に基づき、論理回路に含まれるフリップフロップ間の複数の経路において、論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、半導体集積回路に応じた所定のばらつき係数を積算することにより、複数の経路に対する遅延時間解析を行い、複数の経路の遅延時間解析結果を生成するものである。
【００３４】
本実施形態においては、ＳＴＡタイミング解析部２３は、ＳＴＡによる静的タイミング解析（ＳＴＡタイミングチェック）を遅延時間解析として行うことにより、論理回路に含まれる全てのＦＦ間パスのディレイを各々計算し、これらの各ＳＴＡ計算結果を遅延時間解析結果として生成するようになっている。
以下、ＳＴＡによる静的タイミング解析の具体的な解析手法について、図２に示す論理回路Ｘを用いた場合を例に説明する。
【００３５】
先ず、図２に示すように、ＳＴＡタイミング解析部２３は、ＦＦ間パスＰ−Ｘ１およびＦＦ間パスＰ−Ｘ２のパストレースを行い、ＦＦ間パスＰ−Ｘ１のクロックパスディレイ値Tc1およびＦＦ間パスＰ−Ｘ２のクロックパスディレイ値Tc2を計算する。
次に、ＳＴＡタイミング解析部２３は、ＦＦ間パスＰ−Ｘ３のパストレースを行い、ＦＦ間パスＰ−Ｘ３のデータパスディレイ値Tdを計算する。
【００３６】
そして、ＳＴＡタイミング解析部２３は、ワーストケースを考慮してタイミングチェックを行うために、以下の式（１）に示す計算を行い、ＦＦ間パスのタイミング制約値Tpdを求める。
Tpd = ( Tc1 + Td )×βmax− Tc2×βmin + Tsetup  ・・・  （１）
ここで、Tsetupは、データ受け側のフリップフロップFF_X2のセットアップタイムであり、βmaxおよびβminは、バラツキ係数である。
【００３７】
そして、ＳＴＡタイミング解析部２３は、セットアップタイムチェックとして以下の式（２）を用いる。
Tpd ≦τ(サイクルタイム)   ・・・  （２）
ここで、式（２）を満足すれば、論理回路が正常に動作することになる。
これにより、論理回路に含まれる一のＦＦ間パスのタイミング制約値TpdをＳＴＡ計算結果として生成するのである。
【００３８】
図５は実施形態の一例としての遅延時間解析装置１０におけるＳＴＡタイミング解析部２３により生成された遅延時間解析結果の一例を示す図、図６はそのＳＴＡタイミング解析部２３により生成されたパステーブルの一例を示す図である。
そして、ＳＴＡタイミング解析部２３は、論理回路に含まれる全てのＦＦ間パスに対して、上述したＳＴＡによる静的タイミング解析を行うことにより、これらの各ＦＦ間パスのＳＴＡ計算結果を生成する。ここで、ＳＴＡ計算結果は、例えば、図５に示すように、データ送り側のフリップフロップのクロックピンアドレス，データ受け側のフリップフロップのデータピンアドレスおよびこれらを接続するＦＦ間パスのタイミング制約値Tpdで構成される。
【００３９】
具体的には、例えば、図３に示す論理回路Ｙを用いた場合を例に説明すると、ＳＴＡタイミング解析部２３は、論理回路Ｙに含まれる全てのＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ４に対して、上述したＳＴＡによる静的タイミング解析を行う。これにより、ＳＴＡタイミング解析部２３は、図６に示すような、これらの各ＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ４のＳＴＡ計算結果ＳＴＡ−Ｙ１〜ＳＴＡ−Ｙ４を示すパステーブルを生成する。
【００４０】
このパステーブルは、図６に示すように、ＦＦ間パスＰ−Ｙ１のＳＴＡ計算結果ＳＴＡ−Ｙ１として、データ送り側のフリップフロップＦＦ−Ｙ１のクロックピンアドレス，データ受け側のフリップフロップＦＦ−Ｙ４のデータピンアドレスおよびこれらを接続するＦＦ間パスのタイミング制約値（Tpd）1010psを示している。
以下同様に、パステーブルは、ＦＦ間パスＰ−Ｙ２のＳＴＡ計算結果ＳＴＡ−Ｙ２として、データ送り側のフリップフロップＦＦ−Ｙ１のクロックピンアドレス，データ受け側のフリップフロップＦＦ−Ｙ５のデータピンアドレスおよびこれらを接続するＦＦ間パスのタイミング制約値（Tpd）1050psを示している。又、パステーブルは、ＦＦ間パスＰ−Ｙ３のＳＴＡ計算結果ＳＴＡ−Ｙ３として、データ送り側のフリップフロップＦＦ−Ｙ２のクロックピンアドレス，データ受け側のフリップフロップＦＦ−Ｙ５のデータピンアドレスおよびこれらを接続するＦＦ間パスのタイミング制約値（Tpd）1020psを示している。更に、パステーブルは、ＦＦ間パスＰ−Ｙ４のＳＴＡ計算結果ＳＴＡ−Ｙ４として、データ送り側のフリップフロップＦＦ−Ｙ３のクロックピンアドレス，データ受け側のフリップフロップＦＦ−Ｙ６のデータピンアドレスおよびこれらを接続するＦＦ間パスのタイミング制約値（Tpd）950psを示している。
【００４１】
そして、ＳＴＡタイミング解析部２３は、論理回路に含まれる全てのＦＦ間パスのＳＴＡ計算結果が上記の式（２）を満足する場合に、これらのＳＴＡ計算結果をパス情報ＤＢ１９に記憶するようになっている。
（３−４）ＳＴＡパスソート部２４
図７は実施形態の一例としての遅延時間解析装置１０におけるＳＴＡパスソート部２４により生成された最大遅延時間ソート結果３０の一例を示す図である。
【００４２】
ＳＴＡパスソート部２４は、複数のＦＦ間パスの遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成するものである。
具体的には、例えば、図３に示す論理回路Ｙを用いた場合を例に説明すると、ＳＴＡパスソート部２４は、ＳＴＡタイミング解析部２３により生成された各ＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ４のＳＴＡ計算結果ＳＴＡ−Ｙ１〜ＳＴＡ−Ｙ４（図６参照）を、ＦＦ間パスのタイミング制約値Tpdが大きい順（即ち、ワースト順）にソートするようになっている。これにより、ＳＴＡパスソート部２４は、図７に示すような、ＳＴＡ−Ｙ２，ＳＴＡ−Ｙ３，ＳＴＡ−Ｙ１，ＳＴＡ−Ｙ４の順に並べ替えられた最大遅延時間ソート結果を生成するのである。
【００４３】
（３−５）ＳＳＴＡパス計算部２５
ＳＳＴＡパス計算部２５は、最大遅延時間ソート結果から最大遅延時間順に、複数の経路から一の経路を選択し、選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、複数の経路におけるフリップフロップ間における確率密度関数を生成するものである。
【００４４】
本実施形態においては、ＳＳＴＡパス計算部２５は、ＳＴＡパスソート部２４によりソートされた順に、論理回路に含まれる複数のＦＦ間パスから一のＦＦ間パスを順次選択し、選択した一のＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析（ＳＳＴＡタイミングチェック）を行うようになっている。即ち、ＳＳＴＡパス計算部２５は、データパスディレイ値の悪い順（大きい順）から１つのＦＦ間パスを選択し（取り出し）、この選択したＦＦ間パス（区間）に対して、ＳＳＴＡによる統計的タイミング解析を行うのである。
【００４５】
以下、ＳＳＴＡによる統計的タイミング解析の具体的な計算手法について、図８，９を参照しながら説明する。
図８は実施形態の一例としての遅延時間解析装置１０におけるＳＳＴＡパス計算部２５の機能を説明するための図、図９はそのＳＳＴＡパス計算部２５により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【００４６】
ＳＴＡによる静的タイミング解析では、ＦＦ間パス上に配置されたゲートやネットの各ディレイを単純に加算していたのに対し、ＳＳＴＡによる統計的タイミング解析では、ゲートおよびネットがディレイ分布を持つものとして扱う。従って、ＳＳＴＡによる統計的タイミング解析では、選択したＦＦ間パス上に配置されたゲートやネットの各ディレイ分布を加算することにより、選択したＦＦ間パスの確率密度関数（ディレイ分布）を得ることができる。又、ゲートおよびネットのディレイ分布は、ＳＳＴＡ素子ライブラリＤＢ２０に記憶されたＳＳＴＡ素子ライブラリのバラツキ情報を参照することにより取得することができる。なお、選択したＦＦ間パスとは、データ送り側のフリップフロップとデータ受け側のフリップフロップとの組みであるフリップフロップペアに関する情報である。
【００４７】
さらに、ＳＴＡによる静的タイミング解析では、図８に示すように、フリップフロップペア（図８の“始点ラッチ”および“終点ラッチ”参照）の間のゲートおよびフリップフロップペアに供給するクロック回路（図８の“ＣＬＫ”参照）に対して、ブロックベースでの統計的タイミング解析を行う。ここで、ブロックベースでの統計的タイミング解析とは、フリップフロップペアを構成する２点間に関する全ての経路（図８の“Ｄａｔａパス統計演算”および“Ｃｌｏｃｋパス統計演算”参照）について網羅的に計算を行う手法である。例えば、或るゲート出力端子での遅延時間を計算する場合を例に説明すると、単純な加算の場合は、そのゲートまでのディレイ分布に当該ゲートの持つディレイ分布を加算するのに統計的和を計算する。統計的和は分布の畳み込み積分により計算される。なお、２つのＦＦ間パスが合流するような場合は、それぞれのＦＦ間パスの確率密度関数に対して後述する統計的ＭＡＸ演算を行う（図示省略）。
【００４８】
ＳＴＡによる静的タイミング解析の具体例について、図２に示す論理回路Ｘを用いた場合を例に説明すると、ＳＳＴＡパス計算部２５は、複数のＦＦ間パスから選択した一のＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行うことにより、クロックパスディレイ値Tc1，Tc2およびデータパスディレイ値Tdに対応した各ディレイ分布を計算する。又、ＳＳＴＡパス計算部２５は、以下の式（３）を用いて、ＦＦ間パスのタイミング制約値Tpdに対応したディレイ分布を計算する。なお、Tsetupは、データ受け側のフリップフロップFF_X2のセットアップタイムである。
【００４９】
Tpd = Tc1 + Td−Tc2 + Tsetup  ・・・  （３）
そして、ＳＳＴＡパス計算部２５は、上記式（３）で得られた結果に基づいて、ＦＦ間パスＰ−Ｘ３の確率密度関数ＰＤＦを生成する。本実施形態においては、確率密度関数ＰＤＦは、図９に示すように、横軸をディレイとし、縦軸を確率とする正規分布で示される。又、ＳＳＴＡパス計算部２５で生成された確率密度関数ＰＤＦには、ディレイ中央値（図９の“中央値”参照），＋３σポイントでのディレイ値（ワースト側標準偏差；図９の“＋３σ”参照）および−３σポイントでのディレイ値（ベスト側標準偏差；図９の“−３σ”参照）が設定されている。
【００５０】
これにより、ＳＳＴＡパス計算部２５は、論理回路に含まれる一のＦＦ間パスの確率密度関数を生成するのである。
図１０は実施形態の一例としての遅延時間解析装置１０におけるＳＳＴＡパス計算部２５により生成されたＦＦ間パスの確率密度関数の一例を示す図である。図１１はそのＳＳＴＡパス計算部２５および統計的ＭＡＸ計算部２６により生成された確率密度関数の一例を示す図である。図１２はそのＳＳＴＡパス計算部２５により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【００５１】
また、本実施形態においては、ＳＳＴＡパス計算部２５は、ＳＴＡパスソート部２４によりソートされた順に複数のＦＦ間パスから一のＦＦ間パスを選択することを、所定の条件を満たすまで繰り返すようになっている。
ここで、所定の条件とは、ＳＳＴＡパス計算部２５が、半導体集積回路全体の確率密度関数や累積分布関数に関与しないＦＦ間パスを選択した場合である。具体的には、所定の条件は、選択した一のＦＦ間パスの確率密度関数における＋３σポイントでのディレイ値が閾値を超えた場合である。ここで、閾値は、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数における−３σポイントでのディレイ値に基づいて設定される。本実施形態においては、閾値は、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数における−３σポイントでのディレイ値に設定されている。即ち、本実施形態においては、所定の条件は、選択した一のＦＦ間パスの確率密度関数が、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数と重ならない場合である。
【００５２】
そして、ＳＳＴＡパス計算部２５は、所定の条件を満たすまでは、一のＦＦ間パスを選択する都度、この選択した一のＦＦ間パスに対して上述したＳＳＴＡによる統計的タイミング解析を行うようになっている。即ち、ＳＳＴＡパス計算部２５は、複数のＦＦ間パスのうちの所定の条件を満たさないＦＦ間パスを除く一部のＦＦ間パスの各確率密度関数を生成するのである。
【００５３】
具体的には、例えば、図１０を用いて説明すると、ＳＳＴＡパス計算部２５は、ＳＴＡパスソート部２４によりソートされた順（図１０に示す例では、紙面左側から順）に、複数のＦＦ間パス（図１０に示す例では１２個）から一のＦＦ間パスを選択する。ＳＳＴＡパス計算部２５は、選択した一のＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行う。ＳＳＴＡパス計算部２５は、上記の選択および解析を上記の所定の条件を満たすまで繰り返す。この場合においては、所定の条件は、選択した一のＦＦ間パスの確率密度関数における＋３σポイントでのディレイ値が閾値（図１０の符号“（ａ）”参照）を超えた場合である。
【００５４】
従って、ＳＳＴＡパス計算部２５は、複数のＦＦ間パスのうちの所定の条件を満たさないＦＦ間パスを除く一部のＦＦ間パスの各確率密度関数（ここでは９個；図１０の符号“Ｒ”参照）を生成する。即ち、ＳＳＴＡパス計算部２５は、所定の条件を満たさないＦＦ間パスの確率密度関数（ここでは３個；図１０の符号“Ｑ”参照）を生成しないことになる。
【００５５】
そして、ＳＳＴＡパス計算部２５は、所定の条件を満たす一部のＦＦ間パスを半導体集積回路全体の確率密度関数や累積分布関数の決定に影響を及ぼす有効なＦＦ間パスであると判断し、これらのＦＦ間パスの各確率密度関数を後述する統計的ＭＡＸ計算部２６に受け渡す。
次に、例えば、図１１を用いて説明すると、ＦＦ間パスＰ−１〜Ｐ−４（いずれも図示省略）の各ＳＴＡ計算結果がパス情報ＤＢ１９に記憶されている場合には、ＳＳＴＡパス計算部２５は、ＳＴＡパスソート部２４によりソートされた順（ここでは、Ｐ−４，Ｐ−３，Ｐ−２，Ｐ−１の順）に、一のＦＦ間パスを選択する。ＳＳＴＡパス計算部２５は、選択した一のＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行う。ＳＳＴＡパス計算部２５は、上記の選択および解析を上記の所定の条件を満たすまで繰り返す。この場合においては、所定の条件は、選択した一のＦＦ間パスの確率密度関数がＳＴＡパスソート部２４により最初にソートされたＦＦ間パスＰ−４の確率密度関数ＰＤＦ−４と重ならない場合である。
【００５６】
従って、ＳＳＴＡパス計算部２５は、複数のＦＦ間パスＰ−１〜Ｐ−４のうちの所定の条件を満たさないＦＦ間パスＰ−１を除く一部のＦＦ間パスＰ−２〜Ｐ−４の各確率密度関数ＰＤＦ−２〜ＰＤＦ−４を生成する。即ち、ＳＳＴＡパス計算部２５は、ＦＦ間パスＰ−１の確率密度関数ＰＤＦ−１を生成しないことになる。
そして、ＳＳＴＡパス計算部２５は、ＦＦ間パスＰ−２〜Ｐ−４を半導体集積回路全体の確率密度関数や累積分布関数の決定に影響を及ぼす有効なＦＦ間パスであると判断し、これらのＦＦ間パスの確率密度関数ＰＤＦ−２〜ＰＤＦ−４を後述する統計的ＭＡＸ計算部２６に受け渡す。
【００５７】
次に、例えば、図３に示す論理回路Ｙを用いた場合を例に説明すると、論理回路Ｙに含まれるＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ４の各ＳＴＡ計算結果がパス情報ＤＢ１９に記憶されている場合には、ＳＳＴＡパス計算部２５は、ＳＴＡパスソート部２４によりソートされた順（ここでは、Ｐ−Ｙ２，Ｐ−Ｙ３，Ｐ−Ｙ１，Ｐ−Ｙ４の順；図７参照）に、一のＦＦ間パスを選択する。ＳＳＴＡパス計算部２５は、選択した一のＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行う。ＳＳＴＡパス計算部２５は、上記の選択および解析を上記の所定の条件を満たすまで繰り返す。この場合においては、所定の条件は、選択した一のＦＦ間パスの確率密度関数がＳＴＡパスソート部２４により最初にソートされたＦＦ間パスＰ−Ｙ２の確率密度関数ＰＤＦ−Ｙ２と重ならない場合である。
【００５８】
従って、ＳＳＴＡパス計算部２５は、図１２に示すように、複数のＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ４のうちの所定の条件を満たさないＦＦ間パスＰ−Ｙ１，Ｐ−Ｙ４を除く一部のＦＦ間パスＰ−Ｙ２，Ｐ−Ｙ３の各確率密度関数ＰＤＦ−Ｙ２，ＰＤＦ−Ｙ３を生成する。即ち、ＳＳＴＡパス計算部２５は、ＦＦ間パスＰ−Ｙ１，Ｐ−Ｙ４の確率密度関数ＰＤＦ−Ｙ１，ＰＤＦ−Ｙ４を生成しないことになる。
【００５９】
ここで、確率密度関数ＰＤＦ−Ｙ２は、図１２に示すように、ディレイ中央値が1040psに、−３σポイントでのディレイ値が1032psに、＋３σポイントでのディレイ値が1048psに、それぞれ設定されている。同様に、確率密度関数ＰＤＦ−Ｙ３は、ディレイ中央値が1030psに、−３σポイントでのディレイ値が1022psに、＋３σポイントでのディレイ値が1038psに、それぞれ設定されている。
【００６０】
なお、本実施形態においては生成されないが、確率密度関数ＰＤＦ−Ｙ１は、ディレイ中央値が1020psに、−３σポイントでのディレイ値が1012psに、＋３σポイントでのディレイ値が1023psに、それぞれ設定される。又、確率密度関数ＰＤＦ−Ｙ４は、ディレイ中央値が955psに、−３σポイントでのディレイ値が947psに、＋３σポイントでのディレイ値が963psに、それぞれ設定される（図１２中の破線部参照）。
【００６１】
そして、ＳＳＴＡパス計算部２５は、ＦＦ間パスＰ−Ｙ１〜Ｐ−Ｙ３を半導体集積回路全体の確率密度関数や累積分布関数の決定に影響を及ぼす有効なＦＦ間パスであると判断し、これらのＦＦ間パスの確率密度関数ＰＤＦ−Ｙ１〜ＰＤＦ−Ｙ３を後述する統計的ＭＡＸ計算部２６に受け渡す。
（３−６）統計的ＭＡＸ計算部２６
図１３は実施形態の一例としての遅延時間解析装置１０における統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数の一例を示す図である。
【００６２】
統計的ＭＡＸ計算部２６は、生成した全てのＦＦ間パスの確率密度関数に対して、統計的ＭＡＸ計算（統計的最大値計算）を行うものである。
具体的には、例えば、図１１を用いて説明すると、統計的ＭＡＸ計算部２６は、ＳＳＴＡパス計算部２５により生成された各ＦＦ間パスの確率密度関数ＰＤＦ−２〜ＰＤＦ−４に対して統計的ＭＡＸ計算を行うことにより、半導体集積回路全体の確率密度関数ＰＤＦ−ｍを生成するようになっている。
【００６３】
次に、例えば、図３に示す論理回路Ｙを用いた場合を例に説明すると、統計的ＭＡＸ計算部２６は、ＳＳＴＡパス計算部２５により生成された各ＦＦ間パスの確率密度関数ＰＤＦ−Ｙ１〜ＰＤＦ−Ｙ３（図１２参照）に対して統計的ＭＡＸ計算を行うことにより、図１３に示すような、半導体集積回路全体の確率密度関数ＰＤＦ−Ｙｍを生成するようになっている。
【００６４】
（３−７）累積分布関数生成部２７
図１４は実施形態の一例としての遅延時間解析装置１０における累積分布関数生成部２７により生成された半導体集積回路全体の累積分布関数の一例を示す図である。
累積分布関数生成部２７は、統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数に基づいて、半導体集積回路全体の累積分布関数を生成するものである。
【００６５】
具体的には、例えば、図３に示す論理回路Ｙを用いた場合を例に説明すると、累積分布関数生成部２７は、統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数ＰＤＦ−Ｙｍ（図１３参照）を積分することにより、図１４に示すような、半導体集積回路全体の累積分布関数ＣＤＦ−Ｙを生成するようになっている。この半導体集積回路全体の累積分布関数ＣＤＦ−Ｙが、半導体集積回路全体の周波数歩留まりを表わしている。
【００６６】
（３−８）表示制御部２８
表示制御部２８は、統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数（図１１および図１３参照）、又は、累積分布関数生成部２７により生成された半導体集積回路全体の累積分布関数（図１４参照）を後述する表示装置１４に表示させる表示制御を行うものである。
【００６７】
（４）表示装置１４
表示装置１４は、表示制御部２８による表示制御により、半導体集積回路全体の確率密度関数や累積分布関数を表示するものであって、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイやＬＣＤ（Liquid Crystal Display）によって構成されている。
（５）遅延時間解析装置１０の動作手順
上述の如く構成された実施形態の一例に係る遅延時間解析装置１０の動作手順の一例について、図１５に示すフローチャート（ステップＳ１１〜Ｓ２１）に従って説明する。
【００６８】
読込み部２１は、ネットリスト，実装情報，素子ライブラリ，ＳＳＴＡ素子ライブラリを外部から読み込んで主記憶部１２に記憶する。遅延計算部２２は、主記憶部１２に記憶されたネットリスト，実装情報，素子ライブラリに基づいて、ネットリストに記述された論理素子やフリップフロップのディレイおよびネットのディレイを各々計算し、これらの各遅延計算結果を遅延ＤＢ１８に記憶する（遅延計算ステップ）。
【００６９】
ＳＴＡタイミング解析部２３は、ＳＴＡによる静的タイミング解析を行うことにより、論理回路に含まれる全てのＦＦ間パスのディレイを計算し、これらの各ＳＴＡ計算結果を生成する（ステップＳ１１；遅延時間解析ステップ）。
ＳＴＡパスソート部２４は、ＳＴＡタイミング解析部２３により生成されたＦＦ間パスについての各ＳＴＡ計算結果を、ＦＦ間パスのディレイ値Tpdのワースト順にソートすることにより、最大遅延時間ソート結果を生成してパス情報ＤＢ１９に格納する（ステップＳ１２；遅延時間解析結果ソートステップ）。
【００７０】
処理部１３は、変数Tlimitを初期化する（Tlimit＝０；ステップＳ１３）。ここで、変数Tlimitは、閾値（例えば、図１０の符号“(a)”参照）を示すものである。
ＳＳＴＡパス計算部２５は、論理回路に含まれるＦＦ間パス数分のループ処理（後述するステップＳ１５〜Ｓ２０）を、ＳＴＡパスソート部２４によりソートされた順に行う（ステップＳ１４；確率密度パス計算ステップ）。
【００７１】
ＳＳＴＡパス計算部２５は、論理回路に含まれる複数のＦＦ間パスから一のＦＦ間パスを選択し、選択したＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行う（ステップＳ１５）。即ち、ＳＳＴＡパス計算部２５は、ＦＦ間パスのデータパスディレイ値の悪い順から１つのＦＦ間パスを取り出し、このＦＦ間パス（区間）に対してＳＳＴＡによる統計的タイミング解析を行うのである。
【００７２】
ＳＳＴＡパス計算部２５は、ＳＳＴＡによる統計的タイミング解析を行うことにより、選択したＦＦ間パスの確率密度関数を生成する（ステップＳ１６）。ここで、ＳＳＴＡパス計算部２５は、選択したＦＦ間パスの確率密度関数におけるディレイ中央値を変数Ttypに設定する。又、ＳＳＴＡパス計算部２５は、選択したＦＦ間パスの確率密度関数における−３σポイントでのディレイ値を変数Tminに設定し、選択したＦＦ間パスの確率密度関数における＋３σポイントでのディレイ値を変数Tmaxに設定する（ステップＳ１６）。
【００７３】
ＳＳＴＡパス計算部２５は、変数Tlimitの値と変数Tmaxの値との比較を行う（ステップＳ１７）。
比較の結果、変数Tmaxの値が変数Tlimitの値以上の場合には（ステップＳ１７の“ＮＯ”ルート参照）、ＳＳＴＡパス計算部２５は、変数Tlimitの値と変数Tmimの値との比較を行う（ステップＳ１８）。
【００７４】
比較の結果、変数Tminの値が変数Tlimitの値よりも大きい場合には（ステップＳ１８の“ＹＥＳ”ルート参照）、ＳＳＴＡパス計算部２５は、変数Tmimの値を変数Tlimitに設定し（ステップＳ１９）、ステップＳ２０に移行する。この場合には、ＳＳＴＡパス計算部２５は、変数Tlimitに対して現時点で設定されている値よりも大きな値を再設定することになる。
【００７５】
一方、変数Tminの値が変数Tlimitの値以下の場合には（ステップＳ１８の“ＮＯ”ルート参照）、ステップＳ２０に移行する。
ＳＳＴＡパス計算部２５は、条件Ａを満たすか否かを判断する（ステップＳ２０）。ここで、条件Ａとは、現在処理対象のＦＦ間パスがＳＴＡパスソート部２４により最後にソートされたものであることをいう。
【００７６】
判断の結果、条件Ａを満たさない場合には（ステップＳ２０の“ＮＯ”ルート参照）、ＳＴＡパスソート部２４により現在処理対象のＦＦ間パスの次にソートされたＦＦ間パスを選択し、ステップＳ１４に移行する。
一方、条件Ａを満たす場合には（ステップＳ２０の“ＹＥＳ”ルート参照）、ＳＳＴＡパス計算部２５は、論理回路に含まれる全てのＦＦ間パスの確率密度関数を生成したと判断し、生成した各ＦＦ間パスの確率密度関数を統計的ＭＡＸ演算部２６に受け渡す。
【００７７】
統計的ＭＡＸ演算部２６は、ＳＳＴＡパス計算部２５により生成された各確率密度関数に対して統計的ＭＡＸ演算を行うことにより、半導体集積回路全体の確率密度関数を生成する（ステップＳ２１；統計的最大値計算ステップ）。
また、ステップＳ１７における比較の結果、変数Tmaxの値が変数Tlimitの値よりも小さい場合には（ステップＳ１７の“ＹＥＳ”ルート参照）、ステップＳ１４〜ステップＳ２０の処理を終了し、ステップＳ２１に移行する。
【００７８】
そして、累積分布関数生成部２７は、統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数を積分することにより、半導体集積回路全体の累積分布関数を生成する（累積分布関数生成ステップ）。
その後、表示制御部２８は、統計的ＭＡＸ計算部２６により生成された半導体集積回路全体の確率密度関数や、累積分布関数生成部２７により生成された半導体集積回路全体の累積分布関数を表示装置１４に表示させて、処理を終了する。
【００７９】
このように、実施形態の一例としての遅延時間解析装置１０によれば、論理回路に含まれる全てのＦＦ間パスに対して、ＳＴＡによる静的タイミング解析を行い、これらの解析結果をワーストディレイ順にソートする。そして、ソートされた順番に一のＦＦ間パスを選択し、この選択したＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行う。
ここで、ＳＳＴＡによる統計的タイミング解析では、各ＦＦ間パスにおいてゲートやネットのディレイ分布の加算等の処理を実行する必要があるので、処理時間が非常に大きくなる。又、ＳＳＴＡによる統計的タイミング解析での計算精度を高めるためには、各ＦＦ間パスにおけるゲートやネットのディレイ分布のデータ数を多くする必要があるが、この場合においては実行メモリが大きくなる。そのため、論理回路に含まれる全てのＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を実行するのは実用的ではない。なお、統計的ＭＡＸ演算においては、ワーストケース側のＦＦ間パスによる影響が大きく、下位のＦＦ間パス（ワーストケースとは反対側のＦＦ間パス；ベストケース側のＦＦ間パス）の影響は殆ど関係しない場合がある。
【００８０】
そのため、本実施形態においては、上述の如く、必ずしも全てのＦＦ間パスの確率密度関数が半導体集積回路全体の歩留まり曲線を示す半導体集積回路全体の累積分布関数に影響しているとはいえないことに鑑みて、各ＦＦ間パスの確率密度関数の中から、半導体集積回路全体の確率密度関数に影響しないＦＦ間パスを判定する。即ち、ＳＳＴＡによる統計的タイミング解析の対象となる必要最小限のＦＦ間パスを判断し、その判断時点でＳＳＴＡによる統計的タイミング解析を終了する。
【００８１】
従って、ＳＳＴＡによる統計的タイミング解析をその解析精度を維持可能な必要最小限の数のＦＦ間パスに対して実行するので、半導体集積回路全体の歩留まり曲線を算出する場合において、ＳＳＴＡによる統計的タイミング解析の処理時間を短縮することができる。又、各ＦＦ間パスにおけるゲートやネットのディレイ分布のデータ数を低減することができるので、省メモリ化も達成できる。
【００８２】
〔２〕その他
なお、開示の遅延時間解析装置，遅延時間解析方法および遅延時間解析プログラムは上述した実施形態に限定されるものではなく、本実施形態を逸脱しない範囲で種々変形して実施することができる。
図１６は実施形態の他の例としての遅延時間解析装置１０におけるＳＳＴＡパス計算部２５により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【００８３】
例えば、上記実施形態では、所定の条件を設定するための閾値を、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数における−３σポイントでのディレイ値に設定した場合（図１０参照）を例に説明しているが、それに限定されるものではなく、例えば、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数における−３σポイントでのディレイ値に基づいて任意の閾値を設定してもよい。
【００８４】
例えば、図１６に示すように、ＳＴＡによる静的タイミング解析結果のワースト順位とＳＳＴＡによる統計的タイミング解析結果のワースト順位とが異なる場合がある。これは、実際には各ＦＦ間パスの確率密度関数における±３σポイントでのディレイ値が一定ではないためである。この場合、厳密に言えば半導体集積回路全体の累積分布関数に影響を与えるが、その影響の度合いが小さいので無視できるＦＦ間パスが存在する（図１６の符号“（ｂ）”参照）。ここで、ユーザが、所定の条件を設定するための閾値を、ＳＴＡパスソート部２４により最初にソートされたＦＦ間パスの確率密度関数における−３σポイントでのディレイ値（図１６の符号“（ａ）”参照)にマージンを持たせた閾値（図１６の符号“（ｃ）”参照)を設定すればよい。これにより、＋３σポイントでのディレイ値が閾値を超えているＦＦ間パス（図１６の符号“Ｔ”参照）を除き、ある程度多くのＦＦ間パスに対してＳＳＴＡによる統計的タイミング解析を行うことができる（図１６の符号“Ｓ”参照）。
【００８５】
また、上記実施形態では、各ＦＦ間パスの確率密度関数として、＋３σポイントでのディレイ値が設定された正規分布を用いた場合を例に説明しているが、それに限定されるものではなく、例えば、テーブル形式で表現した分布曲線自体を定義してもよい。
そして、処理部１３が、遅延時間解析プログラムを実行することにより、これらの読込み部２１，遅延計算部２２，ＳＴＡタイミング解析部２３，ＳＴＡパスソート部２４，ＳＳＴＡパス計算部２５，統計的ＭＡＸ計算部２６，累積分布関数生成部２７および表示制御部２８として機能するようになっている。
【００８６】
なお、これらの読込み部２１，遅延計算部２２，ＳＴＡタイミング解析部２３，ＳＴＡパスソート部２４，ＳＳＴＡパス計算部２５，統計的ＭＡＸ計算部２６，累積分布関数生成部２７および表示制御部２８としての機能を実現するための遅延時間解析プログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ−ＤＶＤ，ブルーレイディスク等），磁気ディスク，光ディスク，光磁気ディスク，半導体記憶装置等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク，半導体記憶装置等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００８７】
読込み部２１，遅延計算部２２，ＳＴＡタイミング解析部２３，ＳＴＡパスソート部２４，ＳＳＴＡパス計算部２５，統計的ＭＡＸ計算部２６，累積分布関数生成部２７および表示制御部２８としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００８８】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、遅延時間解析装置１０がコンピュータとしての機能を有しているのである。
【００８９】
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスク，半導体記憶装置のほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
【００９０】
〔３〕付記
（付記１）  論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析装置において、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部を有することを特徴とする遅延時間解析装置。
【００９１】
（付記２）  前記遅延計算部は、前記論理回路に含まれる論理素子，フリップフロップおよびこれらを接続する配線の遅延計算結果を個別に生成することを特徴とする付記１に記載の遅延時間解析装置。
（付記３）  前記遅延時間解析部は、ＳＴＡ（static timing analyzer）による静的タイミング解析を前記遅延時間解析として行うことにより、前記論理回路に含まれるフリップフロップ間の遅延時間を前記経路の遅延時間解析結果として生成することを特徴とする付記１または付記２に記載の遅延時間解析装置。
【００９２】
（付記４）  前記遅延時間解析結果ソート部は、前記遅延時間解析部により生成された前記複数の経路の前記遅延時間解析結果を、前記フリップフロップ間の遅延時間が大きい順にソートすることにより、前記最大遅延時間ソート結果を生成することを特徴とする付記３に記載の遅延時間解析装置。
（付記５）  前記確率密度パス計算部は、前記遅延時間解析結果ソート部によりソートされた順に、前記複数の経路から一の経路を選択し、前記選択した一の経路に対してＳＳＴＡ（statistical static timing analyzer）による統計的タイミング解析を行うことを、前記所定の条件を満たすまで繰り返すことにより、前記複数の経路のうちの前記所定の条件を満たさない経路を除く一部の経路の各確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする付記４に記載の遅延時間解析装置。
【００９３】
（付記６）  前記所定の条件は、前記選択した一の経路の確率密度関数におけるワースト側標準偏差が、前記遅延時間解析結果ソート部により最初にソートされた経路の確率密度関数におけるベスト側標準偏差に基づき生成された閾値を超えた場合であることを特徴とする付記５に記載の遅延時間解析装置。
（付記７）  前記統計的最大値計算部は、前記確率密度パス計算部により生成された各確率密度関数に対して統計的最大値計算を行うことにより、半導体集積回路の確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする付記５または付記６に記載の遅延時間解析装置。
【００９４】
（付記８）  前記統計的最大値計算部により生成された前記半導体集積回路の確率密度関数に基づいて、半導体集積回路の累積分布関数（ＣＤＦ；cumulative distribution function）を生成する累積分布関数生成部をそなえることを特徴とする付記７に記載の遅延時間解析装置。
（付記９）  前記統計的最大値計算部により生成された前記半導体集積回路の確率密度関数、又は、前記累積分布関数生成部により生成された前記半導体集積回路の累積分布関数を表示する表示部をそなえることを特徴とする付記８に記載の遅延時間解析装置。
【００９５】
（付記１０）  論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う遅延時間解析方法において、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算ステップと、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析ステップと、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソートステップと、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算ステップと、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算ステップとを有することを特徴とする遅延時間解析方法。
【００９６】
（付記１１）  前記遅延計算ステップにおいて、前記論理回路に含まれる論理素子，フリップフロップおよびこれらを接続する配線の遅延計算結果を個別に生成することを特徴とする付記１０に記載の遅延時間解析方法。
（付記１２）  前記遅延時間解析ステップにおいて、ＳＴＡ（static timing analyzer）による静的タイミング解析を前記遅延時間解析として行うことにより、前記論理回路に含まれるフリップフロップ間の遅延時間を前記経路の遅延時間解析結果として生成することを特徴とする付記１０または付記１１に記載の遅延時間解析方法。
【００９７】
（付記１３）  前記遅延時間解析結果ソートステップにおいて、前記遅延時間解析ステップにおいて生成された前記複数の経路の前記遅延時間解析結果を、前記フリップフロップ間の遅延時間が大きい順にソートすることにより、前記最大遅延時間ソート結果を生成することを特徴とする付記１２に記載の遅延時間解析方法。
（付記１４）  前記確率密度パス計算ステップにおいて、前記遅延時間解析結果ソートステップにおいてソートされた順に、前記複数の経路から一の経路を選択し、前記選択した一の経路に対してＳＳＴＡ（statistical static timing analyzer）による統計的タイミング解析を行うことを、前記所定の条件を満たすまで繰り返すことにより、前記複数の経路のうちの前記所定の条件を満たさない経路を除く一部の経路の各確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする付記１３に記載の遅延時間解析方法。
【００９８】
（付記１５）  前記所定の条件は、前記選択した一の経路の確率密度関数におけるワースト側標準偏差が、前記遅延時間解析結果ソートステップにおいて最初にソートされた経路の確率密度関数におけるベスト側標準偏差に基づき生成された閾値を超えた場合であることを特徴とする付記１４に記載の遅延時間解析方法。
（付記１６）  前記統計的最大値計算ステップにおいて、前記確率密度パス計算ステップにおいて生成された各確率密度関数に対して統計的最大値計算を行うことにより、半導体集積回路の確率密度関数（ＰＤＦ；probability density function）を生成することを特徴とする付記１４または付記１５に記載の遅延時間解析方法。
【００９９】
（付記１７）  前記統計的最大値計算ステップにおいて生成された前記半導体集積回路の確率密度関数に基づいて、半導体集積回路の累積分布関数（ＣＤＦ；cumulative distribution function）を生成する累積分布関数生成ステップをそなえることを特徴とする付記１６に記載の遅延時間解析方法。
（付記１８）  論理素子及びフリップフロップを含む複数の経路を有する論理回路を備えた半導体集積回路の前記フリップフロップ間の遅延時間の解析を行う機能をコンピュータに実行させるための遅延時間解析プログラムにおいて、
入力された前記論理回路の配線情報と前記論理素子及び前記フリップフロップの配置情報と前記論理素子及びフリップフロップの遅延時間情報に基づいて、遅延計算を行うとともに遅延計算結果を生成する遅延計算部と、
前記遅延計算結果に基づき、前記論理回路に含まれるフリップフロップ間の複数の経路において、前記論理回路に含まれる論理素子及びフリップフロップに対してそれぞれの遅延時間情報を加算し、前記半導体集積回路に応じた所定のばらつき係数を積算することにより、前記複数の経路に対する遅延時間解析を行い、前記複数の経路の遅延時間解析結果を生成する遅延時間解析部と、
前記複数の経路の前記遅延時間解析結果を最大遅延時間順にソートして最大遅延時間ソート結果を生成する遅延時間解析結果ソート部と、
前記最大遅延時間ソート結果から最大遅延時間順に、前記複数の経路から一の経路を選択し、前記選択した一の経路のフリップフロップ間における確率密度関数を生成することを繰り返すことにより、所定の条件に基づいて、前記複数の経路におけるフリップフロップ間における確率密度関数を生成する確率密度パス計算部と、
前記生成した全てのフリップフロップ間における確率密度関数に対して、統計的最大値計算を行う統計的最大値計算部として、該コンピュータを機能させることを特徴とする遅延時間解析プログラム。
【図面の簡単な説明】
【０１００】
【図１】実施形態の一例としての遅延時間解析装置の構成例を模式的に示す図である。
【図２】実施形態の一例としての遅延時間解析装置における読込み部が読み込むネットリストの一例を示す図である。
【図３】実施形態の一例としての遅延時間解析装置における読込み部が読み込むネットリストの一例を示す図である。
【図４】実施形態の一例としての遅延時間解析装置における遅延計算部による遅延計算手法を説明するための図である。
【図５】実施形態の一例としての遅延時間解析装置におけるＳＴＡタイミング解析部により生成された遅延時間解析結果の一例を示す図である。
【図６】実施形態の一例としての遅延時間解析装置におけるＳＴＡタイミング解析部により生成されたパステーブルの一例を示す図である。
【図７】実施形態の一例としての遅延時間解析装置におけるＳＴＡパスソート部により生成された最大遅延時間ソート結果の一例を示す図である。
【図８】実施形態の一例としての遅延時間解析装置におけるＳＳＴＡパス計算部の機能を説明するための図である。
【図９】実施形態の一例としての遅延時間解析装置におけるＳＳＴＡパス計算部により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【図１０】実施形態の一例としての遅延時間解析装置におけるＳＳＴＡパス計算部により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【図１１】実施形態の一例としての遅延時間解析装置におけるＳＳＴＡパス計算部および統計的ＭＡＸ計算部により生成された確率密度関数の一例を示す図である。
【図１２】実施形態の一例としての遅延時間解析装置におけるＳＳＴＡパス計算部により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【図１３】実施形態の一例としての遅延時間解析装置における統計的ＭＡＸ計算部により生成された半導体集積回路全体の確率密度関数の一例を示す図である。
【図１４】実施形態の一例としての遅延時間解析装置における累積分布関数生成部により生成された半導体集積回路全体の累積分布関数の一例を示す図である。
【図１５】実施形態の一例に係る遅延時間解析装置の動作手順の一例を示すフローチャートである。
【図１６】実施形態の他の例としての遅延時間解析装置におけるＳＳＴＡパス計算部により生成されたＦＦ間パスの確率密度関数の一例を示す図である。
【符号の説明】
【０１０１】
１０  遅延時間解析装置
１１  入力部
１２  主記憶部
１３  処理部
１４  表示装置（表示部）
１５  ネットリストＤＢ
１６  配線データテーブル
１７  素子遅延ライブラリＤＢ
１８  遅延ＤＢ（遅延計算結果記憶部）
１９  パス情報ＤＢ（遅延時間解析結果記憶部）
２０  ＳＳＴＡ素子ライブラリＤＢ
２１  読込み部
２２  遅延計算部
２３  ＳＴＡタイミング解析部（遅延時間解析部）
２４  ＳＴＡパスソート部（遅延時間解析結果ソート部）
２５  ＳＳＴＡパス計算部（確率密度パス計算部）
２６  統計的ＭＡＸ計算部（統計的最大値計算部）
２７  累積分布関数生成部
２８  表示制御部
【図１】
2010039925.tif 000003
【図２】
2010039925.tif 000004
【図３】
2010039925.tif 000005
【図４】
2010039925.tif 000006
【図５】
2010039925.tif 000007
【図６】
2010039925.tif 000008
【図７】
2010039925.tif 000009
【図８】
2010039925.tif 000010
【図９】
2010039925.tif 000011
【図１０】
2010039925.tif 000012
【図１１】
2010039925.tif 000013
【図１２】
2010039925.tif 000014
【図１３】
2010039925.tif 000015
【図１４】
2010039925.tif 000016
【図１５】
2010039925.tif 000017
【図１６】
2010039925.tif 000018