(57)【要約】  集積回路内のパスの情報を、伝搬時間の大きいパスから順に取得する取得部と、パスの情報に基づいて該パスの性能の分布であるパス性能分布を算出するパス性能分布算出部と、最初に算出されたパス性能分布をチップの性能の分布である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布とパス性能分布算出部により算出されたパス性能分布との統計的ｍａｘ演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出部と、第１集積回路性能分布と第２集積回路性能分布の差を示すパラメータが所定の条件を満たすまで、取得部の処理、パス性能分布算出部の処理、集積回路性能分布算出部の処理を繰り返させる評価部とを備えた。
2008155831.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のタイミング解析を行うタイミング解析装置であって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得部と、
前記取得部により取得されたパスの情報に基づいて該パスの性能の分布であるパス性能分布を算出するパス性能分布算出部と、
前記パス性能分布算出部により最初に算出されたパス性能分布を前記チップの性能の分布である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出部により算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出部と、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得部の処理、前記パス性能分布算出部の処理、前記集積回路性能分布算出部の処理を繰り返させる評価部と
を備えるタイミング解析装置。
【請求項２】
請求の範囲第１項に記載のタイミング解析装置において、
前記評価部は、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析装置。
【請求項３】
請求の範囲第２項に記載のタイミング解析装置において、
前記評価部は、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析装置。
【請求項４】
請求の範囲第１項に記載のタイミング解析装置において、
前記性能は、伝搬時間または動作周波数であるタイミング解析装置。
【請求項５】
請求の範囲第１項に記載のタイミング解析装置において、
前記所定の条件は、前記パラメータが所定の値を下回ることであるタイミング解析装置。
【請求項６】
請求の範囲第１項に記載のタイミング解析装置において、
前記取得部は、前記集積回路の設計情報を用いてタイミングチェックを行い、前記複数のパスの情報を伝搬時間の大きい順に並べるタイミング解析装置。
【請求項７】
請求の範囲第１項に記載のタイミング解析装置において、
前記パス性能分布算出部は、前記取得部により取得されたパスについて該パスに含まれるセルの性能の分布を取得し、該セルの性能の分布に基づいて前記パス性能分布を算出するタイミング解析装置。
【請求項８】
請求の範囲第１項に記載のタイミング解析装置において、
前記所定の確率は、前記集積回路の取得率であるタイミング解析装置。
【請求項９】
請求の範囲第１項に記載のタイミング解析装置において、
前記評価部は、前記パラメータが前記所定の条件を満たした場合、前記第２集積回路性能分布を出力するタイミング解析装置。
【請求項１０】
請求の範囲第１項に記載のタイミング解析装置において、
前記評価部は、前記パラメータが前記所定の条件を満たした場合、前記取得部により取得されたパスの数を出力するタイミング解析装置。
【請求項１１】
集積回路のタイミング解析をコンピュータに実行させるタイミング解析プログラムであって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、
前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、
前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップと
をコンピュータに実行させるタイミング解析プログラム。
【請求項１２】
請求の範囲第１１項に記載のタイミング解析プログラムにおいて、
前記評価ステップは、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析プログラム。
【請求項１３】
請求の範囲第１２項に記載のタイミング解析プログラムにおいて、
前記評価ステップは、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析プログラム。
【請求項１４】
請求の範囲第１１項に記載のタイミング解析プログラムにおいて、
前記性能は、伝搬時間または動作周波数であるタイミング解析プログラム。
【請求項１５】
請求の範囲第１１項に記載のタイミング解析プログラムにおいて、
前記所定の条件は、前記パラメータが所定の値を下回ることであるタイミング解析プログラム。
【請求項１６】
請求の範囲第１１項に記載のタイミング解析プログラムにおいて、
前記取得ステップは、前記集積回路の設計情報を用いてタイミングチェックを行い、前記複数のパスの情報を伝搬時間の大きい順に並べるタイミング解析プログラム。
【請求項１７】
請求の範囲第１１項に記載のタイミング解析プログラムにおいて、
前記パス性能分布算出ステップは、前記取得ステップにより取得されたパスについて該パスに含まれるセルの性能の分布を取得し、該セルの性能の分布に基づいて前記パス性能分布を算出するタイミング解析プログラム。
【請求項１８】
集積回路のタイミング解析を行うタイミング解析方法であって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、
前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、
前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップと
を実行するタイミング解析方法。
【請求項１９】
請求の範囲第１８項に記載のタイミング解析方法において、
前記評価ステップは、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析方法。
【請求項２０】
請求の範囲第１９項に記載のタイミング解析方法において、
前記評価ステップは、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路のタイミング解析を行うタイミング解析装置、タイミング解析プログラム及びタイミング解析方法に関するものである。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated circuit）は、ロットから切り出されたウエハ上に複数形成され、ウエハから１つ１つのＬＳＩを切り出すことによって生産される。しかし、ＬＳＩは、同じ設計の下に製造されたものであっても、ウエハのどの部分に形成されたものかによって周波数特性が異なる。したがって、同一ウエハ上に形成されたＬＳＩのチップであっても、チップごとに周波数特性のバラツキが生じる。同様に、１つのロットからは、多くのウエハが切り出されるので、ウエハごとに、ＬＳＩのチップ間で、周波数特性のバラツキが生じる。【０００３】
特に、現在の技術の最先端を行く超高速のＬＳＩチップの場合、ＬＳＩのスペックに余裕を持たせて設計することができないため、ＬＳＩのスペックは要求動作周波数（要求される動作周波数）に近い値に設定されて設計されている。【０００４】
ＬＳＩの動作周波数が低い場合、ＬＳＩの歩留まり（所定の周波数特性を満たすＬＳＩの取得率）が考慮され、要求動作周波数より動作周波数のスペックを大きく設定してＬＳＩが設計され、製造される。従って、要求動作周波数を満たすＬＳＩの取得率は大きくなり、ＬＳＩの利用者が、ＬＳＩを購入した後に要求動作周波数を満たさないことにより破棄しなければならないＬＳＩの個数は少なくなり、無駄なコストも小さくなる。【０００５】
しかし、超高速で動作するＬＳＩの場合、設計段階で動作周波数のスペックを要求される動作周波数より十分大きくできないので、要求動作周波数を満たすＬＳＩの歩留まりが悪くなる。したがって、要求動作周波数を満たすＬＳＩの取得率が小さくなり、ＬＳＩの利用者がＬＳＩを用いる電子装置を製造するのに使用できるＬＳＩの個数が少なくなってしまう。【０００６】
このような場合、ＬＳＩの利用者は、予めＬＳＩの歩留まりを予測し、予測された歩留まり率に基づいて必要数よりも多目のＬＳＩを購入しておき、その中から、目的の装置に使えるＬＳＩをえりすぐって使用するということになる。しかし、ＬＳＩ歩留まりの予測を間違うと、ＬＳＩが足りなくなったり、あるいは、ＬＳＩがあまったりすることになり、コスト的に見ても好ましい状態ではない。【０００７】
なお、本発明の関連ある従来技術として、特許文献１には、集積回路の歩留まりの推定方法が記載されている。特許文献２には、半導体装置の製造における高精度なシミュレーション方法が記載されている。特許文献３には、半導体集積回路製造プロセスの歩留まりを上げる方法が記載されている。また、非特許文献１には、統計的ｍａｘ演算が記載されている。
【特許文献１】特開平１０−２９４２４７号公報
【特許文献２】特開平１１−３３０４４９号公報
【特許文献３】特開２００１−１５９８０９号公報
【非特許文献１】"Block-based Static Timing Analysis with Uncertainty", Anirudh Devgan, Chandramouli Kashyap, Proceeding of the 2003 IEEE/ACM international conference on Computer-aided Design, 2003.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上のように、ＬＳＩの利用者は、ＬＳＩの歩留まり（取得率）を予め予測し、この予測にしたがって、ＬＳＩの個数を多めに購入する必要がある。しかし、従来、人間が経験と勘に頼ってこの予測を行っていた。または、ＬＳＩ中の全てのパスの動作周波数を計算してこの予測を行っていた。【０００９】
本発明は上述した問題点を解決するためになされたものであり、集積回路の性能分布を効率的に予測することができるタイミング解析装置、タイミング解析プログラム及びタイミング解析方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するため、本発明は、集積回路のタイミング解析を行うタイミング解析装置であって、前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得部と、前記取得部により取得されたパスの情報に基づいて該パスの性能の分布であるパス性能分布を算出するパス性能分布算出部と、前記パス性能分布算出部により最初に算出されたパス性能分布を前記チップの性能の分布である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出部により算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出部と、前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得部の処理、前記パス性能分布算出部の処理、前記集積回路性能分布算出部の処理を繰り返させる評価部とを備える。【００１１】
また、本発明は、集積回路のタイミング解析をコンピュータに実行させるタイミング解析プログラムであって、前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップとをコンピュータに実行させる。【００１２】
また、本発明は、集積回路のタイミング解析を行うタイミング解析方法であって、前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップとを実行する。
【図面の簡単な説明】
【００１３】
【図１】前提技術に係る歩留まり予測処理の概略を説明する概念図である。
【図２】前提技術により得られた取得率分布の一例を示すグラフである。
【図３】前提技術に係るチップ内バラツキ算出処理の一例を示すフローチャートである。
【図４】本実施の形態に係るタイミング解析装置の構成の一例を示すブロック図である。
【図５】本実施の形態に係るタイミング解析装置の動作の一例を示すフローチャートである。
【図６】本実施の形態に係る感度の定義の一例を示すグラフである。
【発明を実施するための最良の形態】
【００１４】
まず、本発明の前提技術について説明する。【００１５】
（前提技術）
前提技術に係るＬＳＩの取得率予測方法は、以下のステップに従った考察を行う。【００１６】
Ｓｔｅｐ１：チップ（ＬＳＩ）の設計データに対して、統計的タイミング解析を行い、チップ内バラツキを考慮したチップの取得率の周波数分布予測を求める。チップ内バラツキとは、チップ内に形成された複数のＦＦ（フリップフロップ）等の構成要素の動作の製造バラツキに起因する、個別ＬＳＩにおける動作周波数のバラツキのことである。【００１７】
Ｓｔｅｐ２：ＬＳＩチップに埋め込まれたリングオシレータの発振周波数のスペック値と、周波数歩留り予測対象チップのリングオシレータ発振周波数分布の情報とを、複数のチップについて集めて比較する。リングオシレータの発振周波数のスペック値と実際に測定されたリングオシレータの発振周波数分布にずれがあった場合には、チップ間バラツキにより予測対象チップのリングオシレータ発振周波数分布中心がスペック値からずれたと考える。チップ間バラツキとは、ＬＳＩチップが製造されたウエハの場所の違いなどにより生じた、複数のＬＳＩチップ間の動作／リングオシレータ発振周波数のバラツキのことである。【００１８】
Ｓｔｅｐ３：チップ内バラツキを考慮したチップの取得率の周波数分布予測が、リングオシレータのスペック値と実際のリングオシレータ発振周波数分布のずれと同様に、チップ間バラツキ分の変動として現れると考える。【００１９】
Ｓｔｅｐ４：チップ内バラツキを考慮したチップの取得率の周波数分布予測にチップ間バラツキ分の変動の影響を加えるために、分布同士の統計的加算を行う。この結果がチップ内・間ばらつきを考慮した周波数分布予測となる。この分布予測から、ランク毎の取得率予測が可能となる。ここで、ランクとは、ＬＳＩチップを購入し、実際にＬＳＩがどの周波数で動作可能かを検査した結果に基づいて、周波数範囲ごとにＬＳＩを分類したときの、周波数範囲のことである。【００２０】
以上の予測では、チップ内バラツキ（αｋと呼ぶ：統計的タイミング解析を行って取得率の周波数分布を計算する際に初期データとして入力した、チップ内のＦＦ等の周波数特性をガウス分布としてみたときの周波数分布の広がり（標準偏差）である）の値を所定の値に固定してロット単位の周波数歩留り予測を行う。【００２１】
更に、前提技術においては、以上、チップ内バラツキαｋを可変にして、過去に使用したＬＳＩチップの取得率から得られたデータとフィッティングを行い、最も過去に得られた取得率のデータと一致するチップ内バラツキαｋを求める。そして、このチップ内バラツキαｋを用いて、新たに購入するＬＳＩチップの取得率を予測する。これにより、より精度の良い予測が可能となる。【００２２】
図１は、前提技術に係る歩留まり予測処理の概略を説明する概念図である。図１上段左側に図示されたグラフは、チップ間バラツキを考慮せずチップ内バラツキを適当な値（例えば１０％）で統計的タイミング解析を行った結果得られた、チップ取得率分布である。この図において横軸は周波数であり、縦軸は周波数に対するチップの取得率・各周波数の出現頻度を示す。図１における（１）のように、チップ内の周波数分布が得られる。【００２３】
図１上段右側に図示された図面は、同一ロット内の全チップについてリングオシレータ発振周波数を計測した結果得られた、複数のチップ間におけるリングオシレータ発振周波数分布を示す。図１における（３）は、同一ロット内の全チップのリングオシレータの発振周波数を計測して得られた分布から求めた平均値である。また、（２）に示された矢印は、リングオシレータ発振周波数のスペック値である。これにより、（２）のスペック値と実際のチップでの発振周波数（３）のズレ（Δｔ）が求められる。【００２４】
図１における（５）の統計的加算では、チップ内周波数分布と、チップ間の周波数分布・バラツキとを畳み込み積分（convolution）している。この結果から、図１下段に図示された（６）のチップ内及びチップ間バラツキを考慮したチップの周波数分布が得られる。ここでは、先に求められたΔｔも加味されている。（４）のチップ間バラツキの変動分Δｔは、統計的加算の結果得られた周波数分布（６）のチップ内バラツキ（１）からのずれとして現れる。（６）の分布を周波数区間ごとに分けて、各区間内を積分することにより、周波数ランク毎のＬＳＩチップの取得率予測（７）が得られる。【００２５】
次に、分布について説明する。分布関数としては、確率密度関数（ＰＤＦ（Probability Density Function）：上記では、取得率の周波数分布に対応する）と、それを積分して得られる累積分布関数（ＣＤＦ（Cumulative Distribution Function））とがある。また、ＣＤＦを微分すればＰＤＦを得ることができる。統計的加算は、畳み込み積分により行っている。畳み込み積分の演算方法と性質については、既知であるので、説明を省略する。【００２６】
次に、チップ内バラツキαｋの求め方について説明する。【００２７】
基本的に、過去のロットについて取得したチップの周波数分布は、周波数歩留り分布（累積分布関数）として全て計測されている。つまり、過去のロットについては図１における（６）の分布を予め知ることができる。また、図１における（３）によるリングオシレータの発振周波数分布は、個別のチップを計測することによって解っているとする。そこで、あらかじめチップ内バラツキを、例えば０％、０．５％、１％、１．５％・・・・というように０〜３０％程度異なった値を仮定した統計的タイミング解析を行い、それぞれの分布を計算しておく。この分布と、既知の周波数歩留り分布とのフィッティングを行い、一致したところのチップ内バラツキをαｋとする。【００２８】
新しいＬＳＩ製品が導入され過去の統計データが存在しない場合には、旧ＬＳＩ製品の平均のチップ内バラツキを使用する。【００２９】
前提技術による周波数歩留まり分布の予測は、αｋの計算と、過去のαｋの蓄積と、次ロットのαｋの予測から構成される。【００３０】
ＬＳＩチップはロット単位で製造される。出来上がった全チップに対してリングオシレータの発振周波数を測定することによって、周波数に対する動作分布を得ることができる。これがチップ間バラツキβとなる。チップ間バラツキβを固定とし、チップ内バラツキαｋを求めるが、αｋはロット毎に異なった値を採り、計算では求められない。そのため、αｋを例えば１％から２５％まで、ある刻み幅で振って、チップ内バラツキを計算し、計算されたそれぞれのチップ内バラツキに対して過去のαｋとのフィッティングをして求める。このフィッティングで得られたαｋをロット毎に蓄積しておく。次に、この蓄積された過去のロットのαｋより新たに製造されるロットのチップ内バラツキの予測を行う。【００３１】
上述したチップ内バラツキαｋの計算を以下に説明する。【００３２】
前提技術の処理を実行するシステムの入力となるデータには次のものがある。【００３３】
１．αｉｎｉｔ  ：チップ内バラツキの初期値
２．αｌａｓｔ  ：チップ内バラツキの最終値
３．Δα    ：繰り返し実行する場合のチップ内バラツキ増分値
４．β      ：チップ間バラツキ（リングオシレータから測定したもの）【００３４】
チップ内バラツキの初期値と最終値は、チップ内バラツキを変化させてチップ内周波数分布を計算する場合の、チップ内バラツキの最初の値と最後の値を示す。Δαは、チップ内バラツキを変化させる場合の、チップ内バラツキの１回ごとの変化量である。【００３５】
出力は以下のものとなる。【００３６】
５．ロットにおける周波数ランク毎の取得率【００３７】
図２は、前提技術により得られた取得率分布の一例を示すグラフである。このグラフにおいて、横軸は周波数を示し、縦軸は取得率を示す。ここで、２．０［ＧＨｚ］（Ａｆ）で動作するランクの取得率をＡｘとする。また、１．８［ＧＨｚ］（Ｂｆ）で動作するランクの取得率をＢｘとする。また、１．６［ＧＨｚ］（Ｃｆ）で動作するランクの取得率をＣｘとする。【００３８】
図３は、前提技術に係るチップ内バラツキ算出処理の一例を示すフローチャートである。【００３９】
ステップＳ２６において、ネットリストをデータベースから読み出し、ＳＴＡ（セットアップタイムアナリシス）を用いて、タイミングチェックを行い、ワーストパスリストを生成する。ワーストパスリストとは、通常のＳＴＡ（セットアップタイムアナリシス）の結果で、ワースト順にソースＦＦとシンクＦＦのパス情報をリストアップしたものである。【００４０】
一方、ステップＳ２０からステップＳ２４に至るループで、チップ内バラツキを変化させて、チップ内周波数分布の計算を繰り返す。ステップＳ２０の条件で、ステップＳ２４で所定回の処理を行ったかどうかの判断を行う。ステップＳ２１では、ゲート、ネット部へバラツキ情報を付加した周波数特性を含む初期情報を生成する。ステップＳ２２において、ワーストパスリストからのワーストパス情報により、クロック、ＦＦ間パスを計算し、チップ内周波数分布であるＣＤＦを求める。ステップＳ２３において、各ＦＦ間パスの統計的ｍａｘ演算を行い、チップ全体のＣＤＦデータを得る。これを、可変するチップ内バラツキの数だけ行う。結果として、複数のチップ内バラツキα１、α２、α３、・・・について、ＣＤＦデータが得られるので、これと、リングオシレータの計測によって得られたＣＤＦデータとの畳み込み積分を行う。【００４１】
ここで、畳み込み積分は、チップ内周波数分布であるＰＤＦとリングオシレータの計測周波数分布であるＰＤＦについて行い、その後、積分して取得率のＣＤＦを求めても良いし、先に、チップ内周波数分布とリングオシレータの計測周波数分布であるＰＤＦをそれぞれ積分してチップのＣＤＦとリングオシレータの計測値のＣＤＦを求め、その後に、畳み込み積分して取得率のＣＤＦを求めても良い。【００４２】
ステップＳ２７の後に得られた取得率のＣＤＦから、図３における取得率データのような、各チップ内バラツキの値に従った、ランク毎の取得率が得られる。そして、ステップＳ２５において、フィッティング処理によって、最適なチップ内バラツキ値αｋを算出する。【００４３】
そして、このようにして決められたαｋに対応する統計的タイミング解析結果と、過去のロットのＬＳＩに実装されていたリングオシレータの測定結果とを用いて、取得率の累積確率分布を得、これにより、次のロットの取得率を予測する。【００４４】
次に、前提技術の全体の流れについて説明する。【００４５】
まず、チップの設計データであるネットリスト等を入力して、１つのＬＳＩチップについて統計的タイミング解析を行う。次に、チップ内バラツキを変化させ、すべてのチップ内バラツキについて計算したか否かを判断する。すべてのチップ内バラツキについて計算していない場合、新しいチップ内バラツキを仮定して統計的タイミング解析を行う。【００４６】
すべてのチップ内バラツキについて計算した場合、統計的タイミング解析で得られた、各チップ内バラツキに対応する取得率の周波数分布と、リングオシレータの測定によって得られた周波数分布との畳み込み積分を行う。リングオシレータの周波数分布は、実際にＬＳＩに搭載されたリングオシレータの周波数を１つのロットのチップすべてについて計測して得られたものを使う。次に、畳み込み積分の結果得られた各分布を積分して、各チップ内バラツキに対応する累積確率分布（ＣＤＦ）を得る。次に、この累積確率分布と、過去のロットのチップの周波数分布を積分して得られた累積確率分布とのフィッティングを行い、適切なチップ内バラツキαｋを求める。次に、求められたαｋに対応する累積確率分布を計算し、各ランクについての取得率予測値を得る。【００４７】
以上の処理は、コンピュータによって自動的に実行することが可能である。【００４８】
以下、本発明の実施の形態の例について図面を参照しつつ説明する。【００４９】
（実施の形態）【００５０】
上述した前提技術のように、ワーストパスリストのパス情報に基づいて、パス毎の周波数分布を作成し、パス毎の周波数分布からチップの周波数分布を作成する場合、パス数が多くなると処理時間が膨大になる。本発明は、チップの周波数分布の算出に用いる適切なパスを選択するタイミング解析装置を提供する。【００５１】
まず、本実施の形態に係るタイミング解析装置の構成について説明する。【００５２】
図４は、本実施の形態に係るタイミング解析装置の構成の一例を示すブロック図である。ネットリストデータベース１１、ＳＴＡ１２、ワーストパスデータベース１３、セル周波数分布データベース１４、パス周波数分布算出部２１、チップ周波数分布算出部２２、評価部２３を備える。【００５３】
ネットリストデータベース１１は、タイミング解析の対象のチップ（集積回路）の設計情報であるネットリストを記憶する。ワーストパスデータベース１３は、対象のチップにおけるＦＦ間のパス（クリティカルパス）毎の情報であるパス情報を、パスの動作周波数（ディレイ、伝搬時間）のワースト順に記憶する。セル周波数分布データベース１４は、対象のチップの各セルの動作周波数のＰＤＦであるセル周波数分布を記憶する。なお、周波数の代わりにディレイを用い、周波数分布の代わりにディレイ分布を用いても良い。【００５４】
まず、本実施の形態に係るタイミング解析装置の動作について説明する。【００５５】
図５は、本実施の形態に係るタイミング解析装置の動作の一例を示すフローチャートである。まず、ＳＴＡ１２は、ネットリストデータベース１１に記憶されたチップのネットリストを読み出してタイミングチェックを行い、その結果をワーストパスデータベース１３に保存する（Ｓ１１１）。【００５６】
次に、パス周波数分布算出部２１は、ワーストパス順位ｉを１とし（Ｓ１１２）、ワーストパスデータベース１３からワーストパス順位１のパスであるワーストパス１のパス情報を読み出し、セル周波数分布データベース１４からワーストパス１に用いられるセルのセル周波数分布を読み出し、パス情報とセル周波数分布からワーストパス１の動作周波数のＰＤＦであるパス周波数分布（パス性能分布）ｆ1を算出し、チップ周波数分布ｆ1,1とする（Ｓ１１３）。【００５７】
次に、パス周波数分布算出部２１は、ｉを１増加させ（Ｓ１１４）、処理Ｓ１１３と同様にしてパス周波数分布ｆiを算出する（Ｓ１１５）。次に、チップ周波数分布算出部２２は、ワーストパス１からワーストパス（ｉ−１）までを用いたチップの動作周波数のＰＤＦであるチップ周波数分布（集積回路性能分布）ｆ1,i-1とパス周波数分布ｆiとの統計的ｍａｘ演算を行い、その結果得られるＰＤＦをチップ周波数分布ｆ1,iとする（Ｓ１２１）。【００５８】
次に、評価部２３は、チップ周波数分布ｆ1,i-1とチップ周波数分布ｆ1,iから感度Ｓi,kを算出する（Ｓ１２２）。次に、評価部２３は、得られたＳi,kがＳi,k＜βを満たすか否かの判断を行う（Ｓ１２３）。ここで、βは、予め計算の精度により設定される感度の閾値であり、例えば（１／１０００００）である。【００５９】
Ｓi,k＜βを満たさない場合（Ｓ１２３，Ｎ）、処理Ｓ１１４へ戻る。Ｓi,k＜βを満たす場合（Ｓ１２３，Ｙ）、評価部２３は、ワーストパス数Ｎ＝ｉとして出力し（Ｓ１２４）、チップ周波数分布のＰＤＦであるｆ1,iまたはＣＤＦであるＦ1,iを出力し（Ｓ１２５）、このフローは終了する。【００６０】
次に、感度について説明する。【００６１】
まず、評価部２３は、ＰＤＦであるｆ1,i-1、ｆ1,iに対するＣＤＦであるｙ＝Ｆ1,i-1（ｘ）、ｙ＝Ｆ1,i（ｘ）をそれぞれ算出する。ここで、ｘは動作周波数、ｙは動作周波数ｘを満たすチップの取得率である。更に、評価部２３は、ＣＤＦの逆関数であるｘ＝Ｆ1,i-1-1（ｙ）、ｘ＝Ｆ1,i-1（ｙ）をそれぞれ算出する。【００６２】
図６は、本実施の形態に係る感度の定義の一例を示すグラフである。このグラフにおいて、横軸は周波数を示し、縦軸は、取得率を示す。曲線は、ワーストパス１からワーストパス（ｉ−１）までを用いたチップ周波数分布のＣＤＦであるＦ1,i-1とワーストパス１からワーストパスｉまでを用いたチップ周波数分布のＣＤＦであるＦ1,iを示す。【００６３】
対象のチップについて所望の取得率（周波数歩留まり）をｋ（例えば８０％）とするとき、評価部２３は、ＣＤＦの逆関数により取得率がｋになる周波数Ｆ1,i-1-1（ｋ）、Ｆ1,i-1（ｋ）を算出し、感度Ｓi,kを次式で定義する。【００６４】
Ｓi,k＝Ｆ1,i-1-1（ｋ）−Ｆ1,i-1（ｋ）【００６５】
上述したタイミング解析装置の動作によれば、ワーストパス数ｉが増加するにつれて感度は小さくなり、やがて感度は閾値βを下回る。ワースト順にパスを加えてチップ周波数分布を求め、感度Ｓi,kがしきい値βを下回るまで繰り返すことにより、チップ周波数分布の算出のために適切な数のワーストパスを選択することができる。また、ワースト順にパス周波数分布を求め、求めたパス周波数分布とチップ周波数分布との統計的ｍａｘ演算を行うことにより、ワーストパスが必要な数になった時点で計算を中断するため計算量を適切にすることができる。【００６６】
よって、チップ周波数分布、及び所望の性能を満たすチップの取得率を、精度を保ちながら高速に算出することができる。また、取得率の予測が効率的になることにより、超高速のＬＳＩを使った電子装置の製造を低コストで行うことができる。【００６７】
なお、取得部は、実施の形態におけるＳＴＡ及びワーストパスデータベースに対応する。また、パス性能分布算出部は、実施の形態におけるパス周波数分布算出部に対応する。また、集積回路性能分布算出部は、実施の形態におけるチップ周波数分布算出部に対応する。【００６８】
また、取得ステップは、実施の形態における処理１１１，Ｓ１１２，Ｓ１１４に対応する。また、パス性能分布算出ステップは、実施の形態における処理Ｓ１１３，Ｓ１１５に対応する。また、集積回路性能分布算出ステップは、実施の形態における処理Ｓ１２１に対応する。また、評価ステップは、実施の形態における処理Ｓ１２２，Ｓ１２３に対応する。【００６９】
更に、タイミング解析装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、タイミング解析プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、タイミング解析装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【産業上の利用可能性】
【００７０】
本実施の形態によれば、集積回路の性能分布を効率的に予測することができる。
【図１】
2008155831.tif 000003
【図２】
2008155831.tif 000004
【図３】
2008155831.tif 000005
【図４】
2008155831.tif 000006
【図５】
2008155831.tif 000007
【図６】
2008155831.tif 000008
【手続補正書】
【提出日】平成21年10月21日(2009.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
集積回路のタイミング解析を行うタイミング解析装置であって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得部と、
前記取得部により取得されたパスの情報に基づいて該パスの性能の分布であるパス性能分布を算出するパス性能分布算出部と、
前記パス性能分布算出部により最初に算出されたパス性能分布を前記チップの性能の分布である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出部により算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出部と、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得部の処理、前記パス性能分布算出部の処理、前記集積回路性能分布算出部の処理を繰り返させる評価部と
を備えるタイミング解析装置。
【請求項２】
請求項１に記載のタイミング解析装置において、
前記評価部は、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析装置。
【請求項３】
請求項２に記載のタイミング解析装置において、
前記評価部は、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載のタイミング解析装置において、
前記性能は、伝搬時間または動作周波数であるタイミング解析装置。
【請求項５】
請求項１乃至請求項４のいずれかに記載のタイミング解析装置において、
前記所定の条件は、前記パラメータが所定の値を下回ることであるタイミング解析装置。
【請求項６】
請求項１乃至請求項５のいずれかに記載のタイミング解析装置において、
前記取得部は、前記集積回路の設計情報を用いてタイミングチェックを行い、前記複数のパスの情報を伝搬時間の大きい順に並べるタイミング解析装置。
【請求項７】
請求項１乃至請求項６のいずれかに記載のタイミング解析装置において、
前記パス性能分布算出部は、前記取得部により取得されたパスについて該パスに含まれるセルの性能の分布を取得し、該セルの性能の分布に基づいて前記パス性能分布を算出するタイミング解析装置。
【請求項８】
請求項１乃至請求項７のいずれかに記載のタイミング解析装置において、
前記所定の確率は、前記集積回路の取得率であるタイミング解析装置。
【請求項９】
請求項１乃至請求項８のいずれかに記載のタイミング解析装置において、
前記評価部は、前記パラメータが前記所定の条件を満たした場合、前記第２集積回路性能分布を出力するタイミング解析装置。
【請求項１０】
請求項１乃至請求項９のいずれかに記載のタイミング解析装置において、
前記評価部は、前記パラメータが前記所定の条件を満たした場合、前記取得部により取得されたパスの数を出力するタイミング解析装置。
【請求項１１】
集積回路のタイミング解析をコンピュータに実行させるタイミング解析プログラムであって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、
前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、
前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップと
をコンピュータに実行させるタイミング解析プログラム。
【請求項１２】
請求項１１に記載のタイミング解析プログラムにおいて、
前記評価ステップは、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析プログラム。
【請求項１３】
請求項１２に記載のタイミング解析プログラムにおいて、
前記評価ステップは、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析プログラム。
【請求項１４】
請求項１１乃至請求項１３のいずれかに記載のタイミング解析プログラムにおいて、
前記性能は、伝搬時間または動作周波数であるタイミング解析プログラム。
【請求項１５】
請求項１１乃至請求項１４のいずれかに記載のタイミング解析プログラムにおいて、
前記所定の条件は、前記パラメータが所定の値を下回ることであるタイミング解析プログラム。
【請求項１６】
請求項１１乃至請求項１５のいずれかに記載のタイミング解析プログラムにおいて、
前記取得ステップは、前記集積回路の設計情報を用いてタイミングチェックを行い、前記複数のパスの情報を伝搬時間の大きい順に並べるタイミング解析プログラム。
【請求項１７】
請求項１１乃至請求項１６のいずれかに記載のタイミング解析プログラムにおいて、
前記パス性能分布算出ステップは、前記取得ステップにより取得されたパスについて該パスに含まれるセルの性能の分布を取得し、該セルの性能の分布に基づいて前記パス性能分布を算出するタイミング解析プログラム。
【請求項１８】
集積回路のタイミング解析を行うタイミング解析方法であって、
前記集積回路内で信号を伝搬させる複数のパスの情報を、伝搬時間の大きいパスから順に取得する取得ステップと、
前記取得ステップにより取得されたパスの情報に基づいて該パスの性能の確率密度関数であるパス性能分布を算出するパス性能分布算出ステップと、
前記パス性能分布算出ステップにより最初に算出されたパス性能分布を前記チップの性能の確率密度関数である集積回路性能分布とし、以後、最後に算出された集積回路性能分布である第１集積回路性能分布と前記パス性能分布算出ステップにより算出されたパス性能分布との統計的演算を行って該演算の結果を第２集積回路性能分布とする集積回路性能分布算出ステップと、
前記第１集積回路性能分布と前記第２集積回路性能分布の差を示すパラメータを算出し、前記パラメータが所定の条件を満たすまで、前記取得ステップ、前記パス性能分布算出ステップ、前記集積回路性能分布算出ステップを繰り返させる評価ステップと
を実行するタイミング解析方法。
【請求項１９】
請求項１８に記載のタイミング解析方法において、
前記評価ステップは、前記第１集積回路性能分布の累積分布関数である第１累積分布関数と前記第２集積回路性能分布の累積分布関数である第２累積分布関数とを算出し、前記第１累積分布関数が所定の確率になる性能の値である第１性能値と前記第２累積分布関数が前記所定の確率になる性能の値である第２性能値を算出し、前記第１性能値と前記第２性能値との差を前記パラメータとして算出するタイミング解析方法。
【請求項２０】
請求項１９に記載のタイミング解析方法において、
前記評価ステップは、前記第１累積確率関数の逆関数と前記第２累積分布関数の逆関数とを算出し、前記第１累積確率関数の逆関数に基づいて前記第１性能値を算出し、前記第２累積分布関数の逆関数に基づいて前記第２性能値を算出するタイミング解析方法。
【国際調査報告】
2008155831.tif 000009
2008155831.tif 000010
2008155831.tif 000011
2008155831.tif 000012