(57)【要約】【課題】ＥＣＯ箇所の数を低減することが可能なタイミング解析装置を提供する。【解決手段】一実施形態に係るタイミング解析装置１は、パスレポートにおける論理回路間に存在するインスタンスとスラック値とを含むインスタンスリストを作成するインスタンスリスト作成部１２と、複数のインスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成部１４と、インスタンスリストレポートにおいて、最も多く登場すると共に最後に登場するインスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定部１６と、最大登場インスタンスを含むインスタンスリストから最悪スラック値を決定する最悪スラック値決定部１８と、最大登場インスタンスと最悪スラック値とからＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定部２０と、最大登場インスタンスを含むインスタンスリストを削除する削除部２２とを備える。【選択図】図１
2009163351.tif 000002
【特許請求の範囲】
【請求項１】
ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析装置において、
パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成手段と、
前記インスタンスリスト作成手段によって作成された複数の前記インスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成手段と、
前記インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定手段と、
前記インスタンスリストレポートにおける前記最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定手段と、
前記最大登場インスタンスと前記最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定手段と、
前記インスタンスリストレポートにおいて、前記最大登場インスタンスを含むインスタンスリストを削除する削除手段と、
を備え、
前記インスタンスリストレポートにおける前記インスタンスリストが全て削除されるまで、前記最大登場インスタンス決定手段と、前記最悪スラック値決定手段と、前記ＥＣＯ決定手段と、前記削除手段とを繰り返し作動させるループ処理によって、前記集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する、
タイミング解析装置。
【請求項２】
前記ＥＣＯ決定手段は、前記最大登場インスタンスの出力側を前記ＥＣＯ箇所として決定する、請求項１に記載のタイミング解析装置。
【請求項３】
前記ＥＣＯ決定手段は、前記最悪スラック値を前記ＥＣＯ値として決定する、請求項１に記載のタイミング解析装置。
【請求項４】
前記インスタンスリスト作成手段は、前記パスレポートの動作モード及び解析モードに応じて前記スラック値に重み付けを行う、請求項１〜３の何れか１項に記載のタイミング解析装置。
【請求項５】
前記パスレポートにおける前記ＥＣＯ箇所及び前記ＥＣＯ値を判別可能なように、当該パスレポートを出力する出力手段を更に備える、請求項１〜４の何れか１項に記載のタイミング解析装置。
【請求項６】
ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析方法において、
パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成ステップと、
前記インスタンスリスト作成ステップにおいて作成された複数の前記インスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成ステップと、
前記インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定ステップと、
前記インスタンスリストレポートにおける前記最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定ステップと、
前記最大登場インスタンスと前記最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定ステップと、
前記インスタンスリストレポートにおいて、前記最大登場インスタンスを含むインスタンスリストを削除する削除ステップと、
を含み、
前記インスタンスリストレポートにおける前記インスタンスリストが全て削除されるまで、前記最大登場インスタンス決定ステップと、前記最悪スラック値決定ステップと、前記ＥＣＯ決定ステップと、前記削除ステップとを繰り返し行わせるループ処理によって、前記集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する、
タイミング解析方法。
【請求項７】
ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析プログラムにおいて、
コンピュータを、
パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成手段と、
前記インスタンスリスト作成手段によって作成された複数の前記インスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成手段と、
前記インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定手段と、
前記インスタンスリストレポートにおける前記最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定手段と、
前記最大登場インスタンスと前記最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定手段と、
前記インスタンスリストレポートにおいて、前記最大登場インスタンスを含むインスタンスリストを削除する削除手段と、
として機能させ、
前記インスタンスリストレポートにおける前記インスタンスリストが全て削除されるまで、前記最大登場インスタンス決定手段と、前記最悪スラック値決定手段と、前記ＥＣＯ決定手段と、前記削除手段とを繰り返し作動させるループ処理によって、前記集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する、
タイミング解析プログラム。
【請求項８】
請求項７に記載したタイミング解析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析装置、タイミング解析方法、タイミング解析プログラム及びこのタイミング解析プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
ＥＤＡ（Electronic Design Automation）環境を用いた集積回路において、セットアップ時間やホールド時間などの論理回路のタイミング解析は非常に重要である。ここで、図１２に示すように、セットアップ時間とは、クロック信号などに先立ってあらかじめデータ信号を保持しておかなければならない最少時間であり、ホールド時間とは、クロック信号などが発行されたあとにデータ信号を保持しておかなければならない最少時間である。
【０００３】
この種のタイミング解析は、多くの動作モード（例えば、温度変動や、電源変動、プロセスばらつきなど）や解析モード（例えば、システムモードや、スキャンモードなど）ごとに行われ、多くのパスレポートが作成されるので、ＥＣＯ（Engineering Change Order）箇所を検出するための設計者の負担が大きかった。そこで、特許文献１に記載のタイミング解析技術では、これらのパスレポートを解析し、セットアップ違反やホールド違反を検出して、ＥＣＯ発行の自動化を実現している。
【特許文献１】特表２００７−５２４８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来のタイミング解析技術では、ＥＣＯ挿入インスタンスのドライブ能力を重視し、論理回路ごとに、その入力側直近にＥＣＯ箇所を設定することが多い。しかしながら、集積回路では、多重分岐しながら論理回路が複雑に接続されており、論理回路ごとに、その入力側直近にＥＣＯ箇所を設定すると、ＥＣＯ箇所が多くなってしまう。
【０００５】
そこで、本発明は、ＥＣＯ箇所の数を低減することが可能なタイミング解析装置、タイミング解析方法、タイミング解析プログラム及びこのタイミング解析プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明のタイミング解析装置は、ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析装置において、（ａ）パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成手段と、（ｂ）インスタンスリスト作成手段によって作成された複数のインスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成手段と、（ｃ）インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定手段と、（ｄ）インスタンスリストレポートにおける最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定手段と、（ｅ）最大登場インスタンスと最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定手段と、（ｆ）インスタンスリストレポートにおいて、最大登場インスタンスを含むインスタンスリストを削除する削除手段とを備え、（ｇ）インスタンスリストレポートにおけるインスタンスリストが全て削除されるまで、最大登場インスタンス決定手段と、最悪スラック値決定手段と、ＥＣＯ決定手段と、削除手段とを繰り返し作動させるループ処理によって、集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する。
【０００７】
また、本発明のタイミング解析方法は、ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析方法において、（ａ）パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成ステップと、（ｂ）インスタンスリスト作成ステップにおいて作成された複数のインスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成ステップと、（ｃ）インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場するインスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定ステップと、（ｄ）インスタンスリストレポートにおける最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定ステップと、（ｅ）最大登場インスタンスと最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定ステップと、（ｆ）インスタンスリストレポートにおいて、最大登場インスタンスを含むインスタンスリストを削除する削除ステップとを含み、（ｇ）インスタンスリストレポートにおけるインスタンスリストが全て削除されるまで、最大登場インスタンス決定ステップと、最悪スラック値決定ステップと、ＥＣＯ決定ステップと、削除ステップとを繰り返し行わせるループ処理によって、集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する。
【０００８】
また、本発明のタイミング解析プログラムは、ＥＤＡ環境において集積回路のタイミングを解析するタイミング解析プログラムにおいて、コンピュータを、（ａ）パスレポートにおける論理回路間に存在するインスタンスを信号の流れの上流側から順に配列すると共に当該論理回路間のスラック値を含むインスタンスリストを、パスレポートごとに作成するインスタンスリスト作成手段と、（ｂ）インスタンスリスト作成手段によって作成された複数のインスタンスリストを含むインスタンスリストレポートを作成するインスタンスリストレポート作成手段と、（ｃ）インスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場するインスタンスを最大登場インスタンスとして決定する最大登場インスタンス決定手段と、（ｄ）インスタンスリストレポートにおける最大登場インスタンスを含むインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する最悪スラック値決定手段と、（ｅ）最大登場インスタンスと最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定するＥＣＯ決定手段と、（ｆ）インスタンスリストレポートにおいて、最大登場インスタンスを含むインスタンスリストを削除する削除手段と、として機能させ、（ｇ）インスタンスリストレポートにおけるインスタンスリストが全て削除されるまで、最大登場インスタンス決定手段と、最悪スラック値決定手段と、ＥＣＯ決定手段と、削除手段とを繰り返し作動させるループ処理によって、集積回路におけるＥＣＯ箇所及びＥＣＯ値を決定する。
【０００９】
また、本発明の記録媒体は、上記したタイミング解析プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１０】
本発明によれば、ＥＤＡ環境における集積回路のタイミング解析において、ＥＣＯ箇所の数を低減することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１２】
図１は、本発明の実施形態に係るタイミング解析装置の構成を示す回路ブロック図であり、図２〜５は、それぞれ、パスレポート、インスタンスリスト、インスタンスリストレポート、ＥＣＯ検出用レポートを示す図である。また、図６は、図２に示すパスレポートの回路図であり、図７は、図２に示すパスレポートにおけるデータ信号とクロック信号とのタイミングチャートである。
【００１３】
図１に示すタイミング解析装置１は、ＥＤＡ環境を用いた集積回路のタイミングを解析する。このタイミング解析装置１は、インスタンスリスト作成部１２と、インスタンスリストレポート作成部１４と、最大登場インスタンス決定部１６と、最悪スラック値決定部１８と、ＥＣＯ決定部２０と、削除部２２と、出力部２４とを備えている。
【００１４】
インスタンスリスト作成部１２は、図２に示すパスレポートを取得する。
【００１５】
ここで、図６，７を参照しながら、図２に示すパスレポートについて説明する。このパスレポートには、インスタンスＦＦ−ＡからインスタンスＦＦ−Ｂまでの間のデータ信号経路及びクロック信号経路における各インスタンスが信号の流れの下流側から順に記載されている。また、各インスタンスに対応して、各インスタンスの遅延時間及び累積遅延時間が記載されている。
【００１６】
具体的には、部分Ｄには、ＰＬＬから始まり、ＦＦ−Ａのクロック端子ＣＫを経由してＦＦ−Ｂのデータ入力端子ＤまでのＦＦ−Ｂのデータ信号経路に登場するインスタンスＰＬＬ，Ｕ１，Ｕ２，Ｕ３，ＦＦ−Ａ，Ｕ４，Ｕ５，ＦＦ−Ｂが記載されており、ＦＦ−Ｂのデータ信号の総遅延時間がdata arrival time＝１．４ｎｓとして記載されている。部分Ｃには、ＰＬＬから始まり、ＦＦ−Ｂのクロック入力端子ＣＫまでのＦＦ−Ｂのクロック信号経路に登場するインスタンスＰＬＬ，Ｕ１，Ｕ２，Ｕ６，ＦＦ−Ｂが記載されており、ＦＦ−Ｂのクロック信号の総遅延時間がclock arrival time＝１．１ｎｓとして記載されている。また、ホールド時間がlibrary hold time＝０．３ｎｓとして記載されており、クロックジッタがclock uncertainty＝０．２ｎｓとして記載されている。
【００１７】
このパスレポートによれば、図７に示すように、ホールド時間及びクロックジッタを考慮すると、ＦＦ−Ｂのクロック入力端子ＣＫにおけるクロック信号の遅延時間が１．６ｎｓとなってしまい、ＦＦ−Ｂのデータ入力端子Ｄにおけるデータ信号の遅延時間１．４ｎｓに対して、１．４ｎｓ−１．６ｎｓ＝−０．２ｎｓだけホールド違反が生じていることがわかる。よって、このパスレポートには、スラック値が−０．２ｎｓとして記載されている。
【００１８】
インスタンスリスト作成部１２は、このパスレポートにおけるＦＦ−Ａのクロック入力端子ＣＫとＦＦ−Ｂのデータ入力端子Ｄとの間に存在するインスタンス、すなわち部分Ａに存在するインスタンスＦＦ−Ａ，Ｕ４，Ｕ５を、信号の流れの上流側から順に配列するように記憶するインスタンスリスト（図３参照）を作成する。また、インスタンスリスト作成部１２は、パスレポートにおけるスラック値−０．２ｎｓを、インスタンスＦＦ−Ａ，Ｕ４，Ｕ５に関連付けて、インスタンスリストに記憶する。インスタンスリスト作成部１２は、異なる動作モード（例えば、温度変動や、電源変動、プロセスばらつきなど）や解析モード（例えば、システムモードや、スキャンモードなど）ごとに作成されたパスレポートごとに上記した処理を行い、複数のインスタンスリストを作成する。
【００１９】
インスタンスリストレポート作成部１４は、インスタンスリスト作成部１２によって作成された複数のインスタンスリストを順に並べたインスタンスリストレポート（図４（ａ）参照）を作成する。
【００２０】
最大登場インスタンス決定部１６は、インスタンスリストレポート作成部１４によって作成されたインスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する。
【００２１】
例えば、図５に示すように、最大登場インスタンス決定部１６は、インスタンスリストレポートにおけるインスタンスを先頭から順に検索し、インスタンスの登場回数をインクリメントする。そして、最大登場インスタンス決定部１６は、そのインスタンスのインクリメントした登場回数が、記憶している最大登場回数以上である場合に、最大登場回数をそのインスタンスのインクリメントした登場回数に更新する。また、最大登場インスタンス決定部１６は、そのインスタンスを最大登場インスタンスとして更新する。
【００２２】
最大登場インスタンス決定部１６は、このような処理をインスタンスリストレポートにおける末尾のインスタンスまで行い、最後に更新された最大登場インスタンスを最大登場インスタンスとして決定する。本実施形態では、最大登場インスタンスがインスタンスＵ５に決定される。
【００２３】
最悪スラック値決定部１８は、最大登場インスタンスを含むインスタンスリストレポートにおけるインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する。本実施形態では、負のスラック値がホールド違反を表すので、負の値であって絶対値が最も大きいスラック値が最悪スラック値となる。
【００２４】
例えば、図５に示すように、最悪スラック値決定部１８は、インスタンスリストレポートにおけるインスタンスを先頭から順に検索し、そのインスタンスに関連するスラック値が、現在記載されているスラック値より大きい場合に、現在記載されているスラック値を更新する。そして、最悪スラック値決定部１８は、最大登場インスタンス決定部１６によって最大登場インスタンスが更新された場合に、この最大登場インスタンスに関連付けされたスラック値で最悪スラック値を更新する。
【００２５】
最悪スラック値決定部１８は、このような処理をインスタンスリストレポートにおける末尾のインスタンスまで行い、最後に更新された最悪スラック値を最悪スラック値として決定する。本実施形態では、最悪スラック値が−０．５ｎｓと決定される。
【００２６】
ＥＣＯ決定部２０は、最大登場インスタンスと最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定する。本実施形態では、ＥＣＯ決定部２０は、最大登場インスタンスＵ５の出力側をＥＣＯ箇所として決定する（図６参照）。また、ＥＣＯ決定部２０は、最悪スラック値−０．５ｎｓをＥＣＯ値として決定する。
【００２７】
削除部２２は、インスタンスリストレポートにおいて、最大登場インスタンスを含むインスタンスリスト１，３を削除する（図４（ｂ）参照）。
【００２８】
タイミング解析装置１は、上記した最大登場インスタンス決定部１６と、最悪スラック値決定部１８と、ＥＣＯ決定部２０と、削除部２２とによるループ処理を、インスタンスリストレポートにおけるインスタンスリストが全て削除されるまで繰り返す。その結果、本実施形態では、ＥＣＯ箇所Ｕ５／ＥＣＯ値０．５ｎｓ、ＥＣＯ箇所Ｕ１１／ＥＣＯ値０．１ｎｓが得られることとなる。
【００２９】
出力部２４は、パスレポートにおけるＥＣＯ箇所及びＥＣＯ値を判別可能なように、当該パスレポートを出力する。例えば、出力部２４は、パスレポートにおけるＥＣＯ対象インスタンスに印をつけると共にＥＣＯ値を追加記載してもよいし、パスレポートの末尾にＥＣＯ対象インスタンス及びＥＣＯ値を追加記載してもよい。
【００３０】
次に、本実施形態のタイミング解析装置の動作を説明すると共に、本発明の実施形態に係るタイミング解析方法について説明する。図８は、本発明の実施形態に係るタイミング解析方法のフローチャートである。
【００３１】
まず、インスタンスリスト作成部１２が、図２に示すパスレポートにおけるＦＦ−Ａのクロック入力端子ＣＫとＦＦ−Ｂのデータ入力端子Ｄとの間に存在するインスタンス、すなわち部分Ａに存在するインスタンスＦＦ−Ａ，Ｕ４，Ｕ５を、信号の流れの上流側から順に配列するように記憶するインスタンスリスト（図３参照）を作成する。その後、インスタンスリスト作成部１２は、パスレポートにおけるスラック値−０．２ｎｓを、インスタンスＦＦ−Ａ，Ｕ４，Ｕ５に関連付けて、インスタンスリストに記憶する。インスタンスリスト作成部１２は、異なる動作モードや解析モードごとに作成されたパスレポートごとに上記した処理を行い、複数のインスタンスリストを作成する（Ｓ０１）。
【００３２】
次に、インスタンスリストレポート作成部１４が、インスタンスリスト作成部１２によって作成された複数のインスタンスリストを順に並べたインスタンスリストレポート（図４（ａ）参照）を作成する（Ｓ０２）。
【００３３】
次に、最大登場インスタンス決定部１６が、インスタンスリストレポート作成部１４によって作成されたインスタンスリストレポートにおいて、最も多く登場するインスタンスであってそのうちの最後に登場する当該インスタンスを最大登場インスタンスとして決定する（Ｓ０３）。本実施形態では、上記したように、最大登場インスタンスがインスタンスＵ５に決定される。
【００３４】
次に、上記したように、最悪スラック値決定部１８が、最大登場インスタンスを含むインスタンスリストレポートにおけるインスタンスリストにおいて、最も悪いスラック値を最悪スラック値として決定する（Ｓ０４）。本実施形態では、上記したように、最悪スラック値が−０．５ｎｓと決定される。
【００３５】
次に、ＥＣＯ決定部２０が、最大登場インスタンスと最悪スラック値とに基づいて、ＥＣＯ箇所及びＥＣＯ値を決定する。本実施形態では、ＥＣＯ決定部２０は、最大登場インスタンスＵ５の出力側をＥＣＯ箇所として決定する（図６参照）。また、ＥＣＯ決定部２０は、最悪スラック値−０．５ｎｓをＥＣＯ値として決定する（Ｓ０５）。
【００３６】
このように、インスタンスＵ５の出力側に０．５ｎｓ以上の遅延を挿入することによって、インスタンスＵ５を通過するすべての違反パスのバイオレーションが回避されることとなる。
【００３７】
次に、削除部２２が、インスタンスリストレポートにおいて、最大登場インスタンスを含むインスタンスリスト１，３を削除する（図４（ｂ）参照）（Ｓ０６）。その結果、インスタンスＵ５を通過しないインスタンスリストとそのスラック値のみが得られる。
【００３８】
次に、タイミング解析装置１は、インスタンスリストレポートにインスタンスリストが存在するか否かを判断し（Ｓ０７）、存在する場合には上記したステップＳ０３〜Ｓ０６の処理を行う。
【００３９】
一方、インスタンスリストレポートにインスタンスリストが存在しない場合には、出力部２４が、パスレポートにおけるＥＣＯ箇所及びＥＣＯ値を判別可能なように、当該パスレポートを出力する（Ｓ０８）。
【００４０】
このようにして、本実施形態では、ＥＣＯ箇所Ｕ５／ＥＣＯ値０．５ｎｓ、ＥＣＯ箇所Ｕ１１／ＥＣＯ値０．１ｎｓが得られることとなる。
【００４１】
次に、コンピュータをタイミング解析装置１として動作させるためのタイミング解析プログラムについて説明する。図９は、本発明の実施形態に係るタイミング解析プログラムの構成を、記録媒体と共に示す図である。
【００４２】
図９に示すように、タイミング解析プログラムＰ１００は、記録媒体１００に格納されて提供される。記録媒体１００としては、フロッピーディスク、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはＲＯＭ等の記録媒体、あるいは半導体メモリ等が例示される。
【００４３】
図１０は、記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図である。
【００４４】
図１０に示すように、コンピュータ３０は、フロッピーディスクドライブ装置、ＣＤ−ＲＯＭドライブ装置、ＤＶＤドライブ装置等の読取装置３２と、オペレーティングシステムを常駐させた作業用メモリ（ＲＡＭ）３４と、記録媒体１００に記憶されたプログラムを記憶するメモリ３６と、ディスプレイといった表示装置３８と、入力装置であるマウス４０及びキーボード４２と、データ等の送受を行うための通信装置４４と、プログラムの実行を制御するＣＰＵ４６とを備えている。コンピュータ３０は、記録媒体１００が読取装置３２に挿入されると、読取装置３２から記録媒体１００に格納されたタイミング解析プログラムＰ１００にアクセス可能になり、当該タイミング解析プログラムＰ１００によって、タイミング解析装置１として動作することが可能になる。
【００４５】
また、タイミング解析プログラムＰ１００は、搬送波に重畳されたコンピュータデータ信号として、通信装置４４によって接続されたネットワークを介して、提供されるものであってもよい。この場合、コンピュータ３０は、通信装置４４によって受信したタイミング解析プログラムＰ１００をメモリ３６に格納し、当該タイミング解析プログラムＰ１００を実行することができる。
【００４６】
図９に示すように、タイミング解析プログラムＰ１００は、インスタンスリスト作成モジュールＰ１０と、インスタンスリストレポート作成モジュールＰ２０と、最大登場インスタンス決定モジュールＰ３０と、最悪スラック値決定モジュールＰ４０と、ＥＣＯ決定モジュールＰ５０と、削除モジュールＰ６０と、出力モジュールＰ７０とを備えている。これらのインスタンスリスト作成モジュールＰ１０と、インスタンスリストレポート作成モジュールＰ２０と、最大登場インスタンス決定モジュールＰ３０と、最悪スラック値決定モジュールＰ４０と、ＥＣＯ決定モジュールＰ５０と、削除モジュールＰ６０と、出力モジュールＰ７０とがコンピュータに実現させる機能はそれぞれ、上述したインスタンスリスト作成部１２と、インスタンスリストレポート作成部１４と、最大登場インスタンス決定部１６と、最悪スラック値決定部１８と、ＥＣＯ決定部２０と、削除部２２と、出力部２４とのうち対応要素と同様である。
【００４７】
このように、本実施形態のタイミング解析装置、タイミング解析方法、タイミング解析プログラム及びこのタイミング解析プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、動作モードや解析モードごとに作成された多くのパスレポートを設計者が逐一確認することなく、自動で、ＥＣＯ箇所及びＥＣＯ値を得ることができる。
【００４８】
また、最大登場インスタンス決定部１６が、最も多く登場するインスタンスを最大登場インスタンスとして決定し、ＥＣＯ決定部２０が、最大登場インスタンスにおいてＥＣＯ箇所を決定するので、信号分岐点の上流側をＥＣＯ箇所として決定することができ、ＥＣＯ箇所の数を低減することができる。
【００４９】
例えば、従来のタイミング解析装置では、ＥＣＯ挿入インスタンスのドライブ能力を重視し、図１１（ｂ）に示すように、ＦＦごとに、その入力側直近にＥＣＯ箇所を設定することが多かった。その結果、図１１（ｂ）のように、多重分岐しながらＦＦが複雑に接続されている場合、ＥＣＯ箇所が多くなってしまっていた。しかしながら、図１１（ａ）に示すように、本実施形態のタイミング解析装置１によれば、最大登場インスタンスＸにおいてＥＣＯ箇所を決定するので、信号分岐点の上流側をＥＣＯ箇所として決定することができ、ＥＣＯ箇所の数を低減することができる。
【００５０】
また、最大登場インスタンス決定部１６が、最後に登場するインスタンスを最大登場インスタンスとして決定し、ＥＣＯ決定部２０が、最大登場インスタンスにおいてＥＣＯ箇所を決定するので、信号の流れの下流側であってＦＦに近いインスタンスにおいてＥＣＯ箇所を決定することができ、不用意なセットアップ違反を引き起こすことがない。
【００５１】
また、ＥＣＯ決定部２０は、最大登場インスタンスの出力側をＥＣＯ箇所として決定するので、信号分岐点の上流側をＥＣＯ箇所として決定することができ、ＥＣＯ箇所の数を低減することができる。
【００５２】
また、出力部２４が、パスレポートにおけるＥＣＯ箇所及びＥＣＯ値を判別可能なように、当該パスレポートを出力するので、設計者がＥＣＯ箇所を容易に確認することができる。
【００５３】
なお、本発明は上記した本実施形態に限定されることなく種々の変形が可能である。例えば、本実施形態では、設計者がＥＣＯ箇所を容易に確認することができるように出力部２４を備えているが、出力部２４は必ずしも備える必要はない。
【００５４】
また、インスタンスリスト作成部１２は、パスレポートの動作モードや解析モードに応じてスラック値に重み付けを行ってもよい。例えば、集積回路のタイミング遅延は、動作モードの条件（例えば、ＭＡＸ、ＴＹＰＩＣＡＬ、ＭＩＮ）によって異なるので、異なる条件におけるスラック値を大小比較することは適当ではない。そのため、例えば、条件ＭＡＸのときのスラック値に係数０．５をかけるなどして、適切な大小比較ができるようにしてもよい。
【００５５】
また、本実施形態では、ＥＣＯ決定部２０は、ＥＣＯ箇所を最大登場インスタンスの出力側に決定したが、最大登場インスタンスが１入力セルの場合には、ＥＣＯ箇所を最大登場インスタンスの入力側にしてもよい。これによって、ＥＣＯ対象セルとＥＣＯ挿入インスタンスとでドライブ能力に大きな違いがある場合にも対応できる。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係るタイミング解析装置の構成を示す回路ブロック図である。
【図２】パスレポートを示す図である。
【図３】インスタンスリストを示す図である。
【図４】インスタンスリストレポートを示す図である。
【図５】ＥＣＯ検出用レポートを示す図である。
【図６】図２に示すパスレポートの回路図である。
【図７】図２に示すパスレポートにおけるデータ信号とクロック信号とのタイミングチャートである。
【図８】本発明の実施形態に係るタイミング解析方法のフローチャートである。
【図９】本発明の実施形態に係るタイミング解析プログラムの構成を、記録媒体と共に示す図である。
【図１０】記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図である。
【図１１】集積回路の一構成を示す回路図である。
【図１２】論理回路のためにデータ信号とクロック信号とを示す信号波形図である。
【符号の説明】
【００５７】
１…タイミング解析装置、１２…インスタンスリスト作成部、１４…インスタンスリストレポート作成部、１６…最大登場インスタンス決定部、１８…最悪スラック値決定部、２０…ＥＣＯ決定部、２２…削除部、２４…出力部、３０…コンピュータ、３２…読取装置、３６…メモリ、３８…表示装置、４０…マウス、４２…キーボード、４４…通信装置、１００…記録媒体、Ｐ１００…タイミング解析プログラム、Ｐ１０…インスタンスリスト作成モジュール、Ｐ２０…インスタンスリストレポート作成モジュール、Ｐ３０…最大登場インスタンス決定モジュール、Ｐ４０…最悪スラック値決定モジュール、Ｐ５０…ＥＣＯ決定モジュール、Ｐ６０…削除モジュール、Ｐ７０…出力モジュール。
【図１】
2009163351.tif 000003
【図２】
2009163351.tif 000004
【図３】
2009163351.tif 000005
【図４】
2009163351.tif 000006
【図５】
2009163351.tif 000007
【図６】
2009163351.tif 000008
【図７】
2009163351.tif 000009
【図８】
2009163351.tif 000010
【図９】
2009163351.tif 000011
【図１０】
2009163351.tif 000012
【図１１】
2009163351.tif 000013
【図１２】
2009163351.tif 000014