(57)【要約】【課題】タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法を提供する。【解決手段】タイミング解析装置１００は、記憶部１と処理部２とを備え、処理部２は、解析対象回路の回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、複数のセルに関する複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部１へ記憶させる記憶処理と、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する遅延値変更処理と、回路情報、タイミング制約情報、遅延情報に加え、変更した遅延上限値を用いて、解析対象回路のタイミング解析結果を生成する解析処理と、を実施する。【選択図】図５
2014044610.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部に記憶させる記憶処理と、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更する遅延値変更処理と、
前記回路情報、前記タイミング制約情報、前記遅延情報に加え、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析する解析処理と、実行させるタイミング解析プログラム。
【請求項２】
前記遅延値変更処理は、前記遅延情報を用いて生成されたタイミング解析結果を入力とし、前記タイミング解析結果に含まれる前記複数の遅延値のうちの少なくとも一つを前記遅延上限値に差し替え、
前記解析処理は、前記遅延値変更処理が差し替えた遅延上限値を用いてスラック値を見積もった見積結果を生成する請求項１記載のタイミング解析プログラム。
【請求項３】
前記遅延値変更処理は、前記タイミング解析結果に示されるスラック値がタイミング違反を示すパスを抽出し、抽出したパスに含まれる前記複数の遅延値から前記遅延上限値より大きいセルを検出し、検出したセルの遅延値を前記遅延上限値に変更し、
前記解析処理は、変更された前記遅延値上限値を用いて前記見積結果を算出する請求項２記載のタイミング解析プログラム。
【請求項４】
前記解析処理は、前記タイミング解析結果へ前記見積結果を挿入し、前記遅延情報を用いてタイミングを解析したスラック値と、前記見積結果とを前記タイミング解析結果に示す請求項３記載のタイミング解析プログラム。
【請求項５】
前記遅延値変更処理は、前記回路情報からデータラインを構成するセルを抽出し、前記セルに対応づけられた前記遅延値が前記遅延上限値を超える場合、前記遅延値を前記遅延上限値に修正する遅延補正情報を生成し、
前記解析処理は、前記遅延補正情報を用いてタイミングを解析したタイミング解析結果を生成させる請求項１記載のタイミング解析プログラム。
【請求項６】
前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記回路情報からクロック以外のセルの出力ピンを抽出し、任意のセルについて、前段のセルの出力ピンから前記任意のセルの出力ピンまでに対応づけられた前記遅延値を前記遅延情報から取得し、取得した遅延値が算出した前記遅延上限値より大きい場合には、前記取得した遅延値を前記遅延上限値へ変更する請求項５記載のタイミング解析プログラム。
【請求項７】
前記遅延上限情報は、前記複数のセルの機能毎に設定した前記遅延上限値を含む請求項１記載のタイミング解析プログラム。
【請求項８】
コンピュータに、
前記複数のセルの機能毎に設定した前記遅延上限値として、前記解析対象回路の前記回路情報を検索して、前記複数のセルの配線容量と入力波形鈍りを抽出し、抽出した前記配線容量及び前記入波形鈍りのチップ内の平均値を算出し、前記複数のセルの機能毎に、算出した平均値をドライブ能力が最も高いセルに適用して算出した値を設定する遅延上限値設定処理をさらに実行させる請求項７記載のタイミング解析プログラム。
【請求項９】
前記遅延値変更処理は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、
前記解析処理は、前記抽出した配線にリピータの遅延値を前記タイミング解析結果に加える請求項１記載のタイミング解析プログラム。
【請求項１０】
前記遅延値変更処理は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記タイミング解析の修正結果に加える請求項２記載のタイミング解析プログラム。
【請求項１１】
前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記遅延補正情報に加える請求項５記載のタイミング解析プログラム。
【請求項１２】
前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記遅延補正情報に加える請求項６記載のタイミング解析プログラム。
【請求項１３】
任意のセルに関する遅延値は、前記任意のセルの前段のセルの出力ピンから前記任意のセルの出力ピンまでの遅延量であり、
前記遅延上限値は、前記前段のセル及び前記任意のセル間のネット遅延と前記任意のセルの遅延値とを加算した値である請求項１記載のタイミング解析プログラム。
【請求項１４】
前記複数のセルに関する遅延値は、前記複数のセルに定義される複数のセル遅延値と、前記複数のセル間の配線に定義されるネット遅延値とを含み、
前記遅延上限値は、前記複数のセルに設定される少なくとも一つのセル遅延上限値と、の前記複数のセル間の配線に設定されるネット遅延上限値とを含む請求項１記載のタイミング解析プログラム。
【請求項１５】
解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶する記憶部と、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更し、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析する処理部と、を備えるタイミング解析装置。
【請求項１６】
実施例１
前記処理部は、前記遅延情報を用いて生成されたタイミング解析結果を入力とし、前記タイミング解析結果に含まれる前記複数の遅延値のうちの少なくとも一つを前記遅延上限値に差し替え、差し替えた前記遅延上限値を用いてスラック値を見積もった見積結果を生成する請求項１５記載のタイミング解析装置。
【請求項１７】
実施例２
前記処理部は、前記回路情報からデータラインを構成するセルを抽出し、前記セルに対応づけられた前記遅延値が前記遅延上限値を超える場合、前記遅延値を前記遅延上限値に修正する遅延補正情報を生成し、前記遅延補正情報を用いてタイミングを解析したタイミング解析結果を生成させる請求項１５記載のタイミング解析装置。
【請求項１８】
実施例３
前記遅延上限情報は、前記複数のセルの機能毎に定義した前記遅延上限値を含む請求項１５記載のタイミング解析装置。
【請求項１９】
実施例３
前記処理部は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記タイミング解析結果に加える請求項１５記載のタイミング解析装置。
【請求項２０】
解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部に記憶させ、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更し、
前記回路情報、前記タイミング制約情報、前記遅延情報に加え、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析するタイミング解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング設計に関し、例えば、６５ｎｍプロセス技術や４０ｎｍプロセス技術に適用するタイミング設計に関する。
【背景技術】
【０００２】
従来、タイミング解析（静的タイミング解析：ＳＴＡ）を行ったあとのセットアップエラーをセルのドライブ能力変更、セルの閾値電圧（Ｖｔ）を下げるなど、セルをリサイズすることにより改善していた。具体的には、まず、最適化ツールによって、データラインの遅延を改善する。次に、最適化された結果をみて、データラインの遅延を改善した後に残ったセットアップエラーを有するパスは、最適化ツールを用いた自動最適化では修正できないものと判断できた。
例えば、特許文献１には、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図る遅延解析装置が開示されている。
９０ｎｍプロセス技術以前では、最適化ツールによってセットアップエラーが解消しない場合には、クロック修正や回路修正が必要となるという判断が可能であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２５７３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、半導体プロセス技術の微細化が進み、例えば、６５ｎｍプロセス技術や４０ｎｍプロセス技術により半導体集積回路を設計する場合、セルのリサイズではデータラインの遅延が改善しきれないという現象が生じている。特に、４０ｎｍプロセス技術以降では、このような現象がさらに増加している。
具体的には、従来の解析対象回路のタイミング解析ではレイアウト設計によってある程度のセットアップタイミングを改善し、その後、解析対象回路がタイミング制約を満たす目処をつけた最終ネットリストを作成する。このようにして作成した最終ネットリストを用いてレイアウトを開始し、タイミング解析を実施していた。このような解析において、６５ｎｍプロセス技術ではセットアップエラーが６００パス程度であったが、４０ｎｍプロセス技術ではセットアップエラーが１５０００パスも残っていた。そのため、セットアップエラーが発生したパスの全てを確認することは極めて困難であった。また、残っているエラーのほとんどは、データラインを構成するセルの遅延値が想定よりも大きいものである。そのため、最適化ツールを用いてセルのアップサイズや配線経路を変更するなどのデータラインの改善によって、解析対象回路のタイミングが修正可能となっている。
一方で、セットアップエラーとなるパスの中でも、少数のパスが最適化ツールでは修正できないものがあり、レイアウトの手修正（クロック遅延の調整）や回路構造の修正を必要とするものがある。加えて、タイミング解析では解析が進むにつれエラーが多くなり、エラーを修復するパスを十分に検討することが困難となる。さらに加えて、解析が進んでからクロック修正や回路修正等を実施すると、後戻り工程が増加し、修正に多大な時間を要する。
上述した事情により、タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法が望まれていた。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
一実施形態によれば、タイミング解析手法は、解析対象回路の回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、及び解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報に加え、遅延上限情報を使用する。遅延上限情報は、複数のセルに関する複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む情報である。そして、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更し、変更した遅延上限値を用いてスラック値（Setup違反値）を見積もってタイミングを解析する。
【発明の効果】
【０００６】
一実施形態によれば、タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】関連するタイミング解析の手順の一例を説明する図である。
【図２】解析するパスの一例を示す図である。
【図３Ａ】図２のパスのタイミングを解析した初期タイミング解析結果の説明図である。
【図３Ｂ】図３Ａの解析結果に基づいてセルのリサイズをしたレイアウトのタイミング解析結果の一例を示す図である。
【図４】一実施形態のタイミング解析装置の構成例を示すブロック図である。
【図５】一実施形態のタイミング解析装置が実行する各処理の一例を示す図である。
【図６】実施形態１のタイミング解析の手順の一例及び実施形態１のタイミング解析結果を用いる手順の一例を示す図である。
【図７】図３Ａの解析結果に基づいて、実施形態１のタイミング解析の手法により生成した見積結果を含むタイミング解析結果の一例を示す図である。
【図８】実施形態２において、見積結果の算出対象となるパスを説明する図である。
【図９】実施形態２のタイミング解析の手順の一例を示す図である。
【図１０】実施形態２の遅延値変更処理が遅延補正情報を生成する動作例を示す図である。
【図１１Ａ】実施形態２のタイミング解析の手法により、遅延情報の遅延値を遅延上限値に差し替える遅延補正情報の一例を示す図である。
【図１１Ｂ】図３Ａの解析結果に対して、実施形態２のタイミング解析の手法により遅延情報及び遅延補正情報を用いて生成したタイミング解析結果の一例を示す図である。
【図１２】実施形態３のタイミング解析の手順の一例を示す図である。
【図１３】実施形態４のタイミング解析の手順の一例を示す図である。
【図１４】リピータ遅延テーブルの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
【０００９】
上述したように、例えば、６５ｎｍプロセス技術や４０ｎｍプロセス技術を用いる場合において、最適化ツールでは遅延を修正できないパスが少数であるものの、関連するタイミング解析の手法（これまでのタイミング解析の手法）では、最適化ツールで遅延を修正できるパスもセットアップエラーとして抽出されることが生じていた。以下の各実施形態では、このような少数のパスを効率よく抽出する手法を提供するものである。ここで、各実施形態の特徴を容易に理解するため、関連するタイミング解析の手法について説明し、その後各実施形態の態様について詳述する。
【００１０】
＊  関連するタイミング解析手法の説明
図１は、関連するタイミング解析の手法の一例を説明する図である。図１に示すタイミング解析の手法では、タイミング解析ツールと最適化ツールとを用いる。まず、タイミング解析ツールは、ネットリスト、遅延情報（SDF: Standard Delay Format)、及びタイミング制約情報を用いて、初期タイミング解析結果を生成し、記憶部に保存する（Ｓ９１）。初期タイミング解析結果は、修正前（リサイズ前）のタイミング解析結果（ＳＴＡ結果）である。
【００１１】
次に、最適化ツールは、初期タイミング解析結果でセットアップエラーと報告されているパスに関して、セルのリサイズを実施する（Ｓ９２）。その後再度タイミング解析ツールは、リサイズ後のネットリスト、遅延情報、及びタイミング制約情報を用いて、タイミング解析結果を生成し（Ｓ９３）、記憶部に保存する（Ｓ９４）。レイアウト設計者は、リサイズ後のタイミング解析結果を確認し、データラインを修正することによってセットアップエラーを解消できる場合には（Ｓ９５、ＹＥＳ）、セットアップエラーを有するデータラインを、最適化ツールなどを用いて改善する（Ｓ９６）。一方、データラインの修正ではセットアップエラーを解消できない場合には（Ｓ９５、ＮＯ）、レイアウト設計者は、クロック修正や回路修正などを実施する（Ｓ９７）。
【００１２】
ここで、データラインの修正には、最適化ツールによって実施するセルのリサイズ、レイアウト設計者による配線のレイアウトの修正などが含まれ、セルのリサイズには、セルのドライブ能力の変更、セルの閾値電圧（Ｖｔ）の変更などが含まれる。
９０ｎｍプロセス技術では、セットアップエラーが生じたデータラインに対して、セルのリサイズなど、最適化ツールによって自動修正が可能であり、ステップＳ９５において目視によってデータライン改善と判定されるパスが生じることは少なく、データラインを修正できないセットアップエラーのほとんどはクロック修正や回路修正が必要となるエラーであった。
【００１３】
図２，図３Ａ，図３Ｂを参照してタイミング解析結果の具体例を説明する。図２は、図１の手順で解析するパスの一例を示す図である。図３Ａは、図２のパスのタイミングを解析した解析結果の説明図である。図３Ｂは、図３Ａの解析結果を修正した修正結果例の説明図である。
図２に示すデータラインのパスは、セルＣ１１からセルＣ１５を含み、セルＣ１１、Ｃ１５はフリップフロップ（ＦＦ）であり、セルＣ１２からＣ１４は、バッファである。セルＣ１３とセル１４との間のネット（配線）は、予測より配線長が長くなり、配線容量がついてしまった箇所を示す。
【００１４】
ここで、図２を参照して、セル遅延、ネット遅延、遅延値を説明する。図２に示す区間Ｄ１からＤ３はセル遅延、またはネット遅延が生じる区間の一例を示す。区間Ｄ１は、セルＣ１１のフリップフロップ内で生じるセル遅延の区間であり、セルＣ１１の入力ピン（入力端子）から出力ピン（出力端子）までである。区間Ｄ２は、セルＣ１１とセルＣ１２間の配線で生じるネット遅延の区間であり、セルＣ１１の出力ピンからセルＣ１２の入力ピンまでである。区間Ｄ３は、セルＣ１２の組合せ回路内で生じるセル遅延の区間であり、セルＣ１２の入力ピンから出力ピンまでである。
以降の説明では、単に「遅延値」と称する場合には、原則として、任意のセルの前段の出力ピンから任意のセルの出力ピンまでの遅延量、言い換えるとセル遅延とネット遅延とを合わせた遅延量を意味することを前提とする。例えば、セルＣ１２の遅延値は、区間Ｄ２と区間Ｄ３で生じるネット遅延とセル遅延とを合わせた値である。これに対して、セル遅延とネット遅延とを区別する場合には、「セル遅延値」、「ネット遅延値」のようにセル遅延とネット遅延とを区別するように明記する。例えば、セルＣ１１とセルＣ１２との間のネット遅延値、セルＣ１１のセル遅延値のように表現することを前提とする。遅延量をどのように示すかについてはタイミング解析結果に示される遅延値に応じて適宜変更して用いる。
【００１５】
図３Ａ、図３Ｂでは、ポイント間（セル間）の遅延を示す遅延値（図中「Ｉｎｃ.」）と、各ポイントまでの遅延値を加算した経路遅延値（図中「Ｐａｔｈ」）を示す。図３Ａ、図３Ｂでは、遅延値はセル遅延とネット遅延とを合わせた値を示している。
図３Ａのタイミング解析結果では、次の解析結果が示されている。
・セルＣ１１にクロックが供給されるまでに１．４４８ｎｓ（ナノ秒）
・セルＣ１１へクロックが供給された後、端子Ｑから信号が出力されるまでに０．１３７ｎｓ
・セルＣ１１の端子ＱからセルＣ１２へ信号が入力され、端子Ｙから信号が出力されるまでに０．０８３ｎｓ
・セルＣ１２の端子Ｙからセル１３へ信号が入力され、セル１３の端子Ｙから信号が出力されるまでに０．８３２ｎｓ
なお、セルＣ１３から信号が出力されるタイミング以降については省略されている。
そして、タイミング解析結果では、スラック値（slack）は、−０．６９９ｎｓである。スラック値は、タイミング制約情報に規定するタイミングに対する違反値であり、零または正の値であればタイミング制約に対して違反しておらず、負の値であればタイミング制約に対して違反していることを示す。
【００１６】
図３Ｂは、セルＣ１３のドライブ能力を修正した場合のリサイズ後のタイミング解析結果を示す。ここでは、セル１３の端子Ｙから信号が出力されるまでに０．８３２ｎｓであった遅延値が０．２１２ｎｓへ改善されたことを示している。しかしながら、図３Ｂに示すリサイズ後のタイミング解析結果は、スラック値が−０．０７９ｎｓであり、タイミング制約に違反し、セットアップエラーが残っていることを示す。
ここで、リサイズ後のタイミング解析結果を見ると、データラインのリサイズ後のセルＣ１３の遅延２１２ｐｓが残っている。レイアウト設計者が目視で解析すると、配線遅延を取り除き切れずに残ったものであり、データラインの修正によって改善可能であることが判断できる。このように、タイミング解析結果を目視することによって２１２ｐｓの遅延が１００ｐｓ程度まで改善できればタイミング制約を満たすことを確認できるが、多数のエラーパス（例えば、数万パス）が存在する場合、全てを把握することが困難である。
【００１７】
＊  一実施形態のタイミング解析の手法の説明
上述した現状を改善するため、一実施形態では、静的タイミング解析（ＳＴＡ）が生成するタイミング解析結果に示される、セットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もり、クロック調整・回路構成（ＲＴＬ修正）へのフィードバックが必要なものを効率的・早急に抜き出す手法を見出す手法を提供する。
一実施形態に係るタイミング解析の手法としては、例えば（１）タイミング解析結果を補正する方法、及び（２）タイミング解析で用いる遅延情報を補正する方法の２つがある。
【００１８】
（１）タイミング解析結果を補正する方法
テクノロジ毎に設定されるクリティカルパスで使用される遅延上限値を設定する。タイミング解析結果において、セル遅延＋ネット遅延が遅延上限値より越えている遅延分の加算値を、データライン改善で得られる効果としてタイミング解析結果のスラック値に加え、得られた値をデータライン改善後に得られるスラック値として判断する。
（２）遅延情報を補正する方法
タイミング解析結果を抽出する前にデータライン且つセル遅延＋ネット遅延が遅延上限値を越えているものを遅延上限値に設定し（差し替え）、その後通常のＳＴＡ解析を行う。
ここで、（１）タイミング解析結果を補正する方法は、生成されたタイミング解析結果を補正しているので処理に時間がかからないこと、及び、現在の状況と改善後の状況とが見比べられることがメリットである。一方、（２）遅延情報を補正する方法は、遅延情報を補正する前のパスがデータライン改善後のクリティカルパスでない時にデータライン改善後のクリティカルパスを確認できる点がメリットである。
【００１９】
これらの方法では、遅延上限値を設定し、タイミング解析において利用する。
遅延上限値は、解析対象回路（レイアウト）に含まれるセルまたはネットの遅延値の上限を設定する値であり、レイアウト設計者等が、経験上の数値などに基づいて設定する。遅延上限値は、セルに対する遅延値の上限（セル遅延上限値）が少なくとも一つと、ネットに対する遅延値の上限（ネット遅延上限値）とが設定される。セル遅延上限値は、１セルに許容される遅延値の上限を設定する。セル遅延上限値は、複数設定される場合もあり、セルの種類、機能などに基づいて、異なる上限値が設定される。
加えて、上述したように、セル遅延とネット遅延とを合わせた値を遅延値として取り扱う場合には、セル遅延上限値とネット遅延上限値とを合わせた値を遅延上限値として用いる。
一実施形態では、設定される少なくとも一つの遅延上限値、または少なくとも一つのセル遅延上限値及びネット遅延上限値は、遅延上限情報として記憶領域に保持される。
【００２０】
一実施形態に係るタイミング解析の手法は、コンピュータに各処理を実行させるプログラムを用いて実現することができる。図４は、プログラムを用いて実現するタイミング解析装置の構成例を示すブロック図である。タイミング解析装置１００は、記憶部１と処理部２とを備える。タイミング解析装置１００は、パーソナルコンピュータのような一般的な汎用コンピュータである。
記憶部１は、処理部２がアクセス可能な記憶領域である。記憶部１は、例えば、ハードディスクやＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）といった記憶装置で構成される。また、記憶部１は、タイミング解析装置１００へ着脱可能な記憶媒体、例えば、ＣＤ（Compact Disk）を含む場合であってもよい。
処理部２は、ＣＰＵ（Central Processing Unit）で構成され、記憶部１に記憶された、各処理を実現するためのプログラム（実行プログラム）を読み込んで、コンピュータにプログラムの命令群を実行させる。これにより、一実施形態に係るタイミング解析の手法を実現する。
【００２１】
タイミング解析装置１００は、記憶部１及び処理部２の他に通信機能を実現する通信部、外部装置とのインターフェースを制御する入出力部などを備えるが、ここでは説明を省略する。例えば、タイミング解析装置１００は、特許文献１の図１に記載のハードウェア構成を備えるコンピュータを用いて実現する場合であってもよい。
タイミング解析装置１００において、記憶部１及び処理部２は次の機能を実現するように構成される。
記憶部１は、少なくとも、解析対象回路の設計に関する回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路に含まれる複数のセルに関する複数の遅延値を定義した遅延情報、及び遅延上限情報を記憶する。遅延上限情報は、複数のセルに関する複数の遅延値に対して、遅延値の上限を設定する遅延上限値を少なくとも一つ含む。回路情報は、解析対象回路を構成するセル間（端子間）の接続を定義するネットリストや、解析対象回路のレイアウトを定義するレイアウト情報を含む。加えて、回路情報は、セルや配線の特性を定義するライブラリを含んでいてもよい。
処理部２は、ＣＰＵ（Central Processing Unit）で構成され、プログラムの命令群によって各種処理を実行する。一実施形態では、処理部２は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更し、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。そして、スラック値を見積もった見積結果に基づいて、解析対象回路がタイミング制約を満たすかを解析した解析結果を生成する。
図５に、タイミング解析装置１００にプログラムが実行させる処理の一例を示したものである。各処理をタイミング解析装置１００に実行させることにより、一実施形態に係るタイミング解析の手法を実現する。処理部２は、プログラムを記憶部１から読み込んで各処理を実行する。
【００２２】
図５に示すように、プログラムは、タイミング解析装置１００（コンピュータ）に、記憶処理、遅延値変更処理、及び解析処理を少なくとも実行させる。
記憶処理は、回路情報、タイミング制約情報、遅延情報、及び遅延上限情報を記憶部に記憶させる。
遅延値変更処理は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する。具体的には、複数のセルに対応づけられる遅延値のうちの少なくとも一つを、遅延上限情報に含まれる遅延上限値に変更する。ここで、遅延上限情報が複数の遅延上限値を含む場合には、遅延値を変更するセルに対応づけられる遅延上限値に変更する。
解析処理は、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。
このような処理によって、変更した遅延上限値を用いた場合、言い換えるとデータラインの遅延改善を実施した場合、解析対象回路がタイミング制約を満たすか否かを示すことができる。その結果、タイミング解析の早期の段階から、データラインの遅延改善によってタイミングの修復が可能であるか否かを判定することを容易にする。
【００２３】
処理部２は、タイミング解析ツールにタイミング解析結果を生成させる。図４，５において、タイミング解析ツールの存在を明記していないが、記憶部１にタイミング解析ツールの実行プログラムを保存し、処理部２が記憶部１からタイミング解析ツールを読み出して実行させてもよい。また、通信機能を用いて、外部のコンピュータ装置が保持するタイミング解析ツールを実行させ、タイミング解析結果を通信回線を介して受信するように構成してもよい。一実施形態では、処理部２は、タイミング解析ツールによって生成されるタイミング解析結果を取得できるように構成されていればよい。最適化ツールについても同様に、処理部２は、最適化ツールが最適化した結果を取得することができればよい。処理部２は、タイミング解析ツール及び最適化ツールの実行結果を取得すると、記憶部１に記憶する。タイミング解析ツール及び最適化ツールを実行する装置については設計事項であるため、ここでは詳細な説明を省略する。
以下、一実施形態のタイミング解析の手法を実現する各実施態様を、タイミング解析プログラムがタイミング解析装置１００に実行させる処理によって説明する。
【００２４】
実施形態１
実施形態１では、一実施形態に係るタイミング解析の手法のうち、（１）タイミング解析結果を補正する方法について説明する。
＊  実施形態１の構成
図６は、実施形態１のタイミング解析の手順の一例及び実施形態１のタイミング解析結果を用いる手順の一例を示す図である。図６に示す処理のうち、ステップＳ１１からＳ１５は、タイミング解析プログラムが実行する処理例であり、ステップＳ１６からＳ１８は、タイミング解析プログラムの実行結果を用いて、レイアウト設計者が実施する手順を示す。本実施形態のタイミング解析プログラムは、図４に示すタイミング解析装置１００に各処理を実行させる。
記憶部１は、回路情報、タイミング制約情報、及び遅延情報に加え、セルに対する遅延上限値を含む遅延上限情報を記憶する。
処理部２は、遅延情報を用いて解析対象回路を解析したタイミング解析結果（初期タイミング解析結果）を入力とし、初期タイミング解析結果に含まれる複数の遅延値のうちの少なくとも一つを遅延上限値に差し替える遅延値変更処理を実施する。そして、処理部２は、差し替えた遅延上限値を用いてスラック値を見積もった見積結果を算出し、算出した見積結果をタイミング解析結果へ挿入する解析処理を実施する。
【００２５】
＊  実施形態１の動作又は製造方法等
図４乃至６を参照して、実施形態１のタイミング解析プログラムが実行する処理を説明する。
処理部２は、レイアウト設計者の指示に従って、解析対象回路に関するネットリスト、タイミング制約情報、遅延情報を記憶部１に格納し、タイミング解析ツールにタイミング解析を実行させ、生成されたタイミング解析結果（初期タイミング解析結果）を取得すると記憶部１に保存する（Ｓ１１、記憶処理）。加えて、処理部２は、レイアウト設計者が設定する遅延上限情報を取得し、記憶部１に格納する（Ｓ１２、記憶処理）。遅延上限情報は、例えば、マンマシンインタフェースを介して、レイアウト設計者が設定する遅延上限情報の入力を受け付けることにより取得してもよい。
【００２６】
処理部２は、タイミング解析結果の中で、スラック値がタイミング制約を満たしていないパス、言い換えるとスラック値が負の値のパスを抽出する。抽出したパスのスラック値は、違反値を示しているため、処理部２は、この違反値を解消させるデータラインの改善が可能であるかを検出する処理を実施する（Ｓ１３からＳ１５）。具体的には、処理部２は、抽出したパスを構成するセルに関して、遅延値と遅延上限値とを比較し、遅延上限値を超えるセルについて、遅延値と遅延上限値との差分を算出し、算出した差分の総和を算出する（Ｓ１３、遅延値変更処理）。そして、処理部２は、算出した差分の総和をスラック値に加算して、改善可能な違反値の見積もり（見積もり違反値）を算出する（Ｓ１４、解析処理）。具体的には、処理部２は、計算式（見積もり違反値＝タイミング解析結果のスラック値＋差分の総和）により算出する。処理部２は、算出した見積違反値を見積結果として記憶部１へ保存する（Ｓ１５、解析処理）。
【００２７】
続いて、レイアウト設計者は、記憶部１に保存された見積結果を参照し、見積結果がタイミング制約を満たすか否かを判定する（Ｓ１６）。処理部２は、解析処理として、見積結果を参照できるように画面表示処理を実施してもよい。タイミング制約を満たす場合には（Ｓ１６、ＹＥＳ）、レイアウト設計者は、データライン修正によりデータラインのセットアップタイミングを改善する。このときレイアウト設計者は、例えば、最適化ツールを処理部２に実行させること、あるいは、レイアウトの配線を修正することなどを実施してデータラインを改善する（Ｓ１７）。一方、タイミング制約を満たさない場合には（Ｓ１６、ＮＯ）、レイアウト設計者は、クロック修正や回路修正などを実施する（Ｓ１８）。
【００２８】
図６のステップＳ１３において、処理部２は、セルについて遅延値と遅延上限値とを比較する動作例を説明したが、これに限られるわけではない。例えば、タイミング解析結果がセル遅延とネット遅延とを区別して遅延値を示す場合には、セル遅延とネット遅延それぞれについて遅延値（セル遅延値、ネット遅延値）と遅延上限値（セル遅延上限値、ネット遅延上限値）とを比較してもよし、セル遅延とネット遅延とを合計した遅延値を用いて、対応する遅延上限値と比較してもよい。タイミング解析結果に示されるセル遅延またはネット遅延の遅延値に応じて処理すればよい。
加えて、セルに対する遅延上限値を、セルの種類に応じて複数種類設定してもよい。例えば、セルがフリップフロップである場合と、組合せ回路である場合とによって異なる遅延上限値を設定してもよい。
さらに加えて、ステップＳ１５において、処理部２は、見積結果を初期タイミング解析結果へ挿入し、初期タイミング解析結果を修正した修正タイミング解析結果を記憶部１に保存する（初期タイミング解析結果の更新）してもよい。あるいは、処理部２は、見積結果、または見積結果と関連情報とを初期タイミング解析結果に挿入するのではなく、別個の情報（例えば、見積結果情報）として記憶部１に格納する処理であってもよい。
【００２９】
ここで、図２，図３Ａ，図７を参照してタイミング解析結果の具体例を説明する。解析するデータラインは、図２と同じものを用いて説明する。図７に、処理部２が、図３Ａの初期タイミング結果を用いて、上述した遅延値変更処理及び解析処理を実施して生成した見積結果を含むタイミング解析結果の一例を示す。遅延上限値は、フリップフロップのセルに対して１５０ｐｓ、組合せ回路（comb）のセルに対して１００ｐｓを設定した。図３Ａのタイミング解析結果では、セルＣ１１のフリップフロップの遅延値は、１８７ｐｓであり、遅延上限値１５０ｐｓを超える。そのため、処理部２は、セルＣ１１の遅延値を１５０ｐｓに変更した場合の遅延値の差分３７ｐｓを算出する。また、セルＣ１３の組合せ回路は、遅延値が７８２ｐｓであり、遅延上限値１００ｐｓを超える。そのため、処理部２は、セル１１の遅延値を１５０ｐｓに変更した場合の遅延値の差分６８２ｐｓを算出する。処理部２は、抽出したパスについて、算出した差分を合計して差分の総和（０．０３７ｎｓ＋０．６８２ｎｓ）を、タイミング解析結果のスラック値−０．６９９ｎｓに加算し、見積もり違反値０．０２０ｎｓを算出する。この結果、見積もり違反値は正の値となりタイミング制約を満たすことが示される。
レイアウト設計者は図７の結果を参照し、データライン改善により、パスがタイミング制約を満たすことを容易に判定することができる。
【００３０】
＊  実施形態１のメカニズムおよび効果
実施形態１のタイミング解析の手法を用いて４０ｎｍ  ９ピッチセルの製品に適用したところ、９０％程度のパスが自動修正によってタイミング制約を満たす（ＭＥＴする）と判断することができた。その他の４０ｎｍ  ７ピッチセルの製品に適用しても７５％程度のパスを自動修正でＭＥＴできると判断できた。また、見積結果（見積もりスラック値）の悪い箇所から先に確認することも可能となり製品設計で大きな効果を発揮することが可能になる。
上述したように、本実施形態のタイミング解析の手法によれば、ＳＴＡ（静的タイミング解析）で出力させるタイミング解析結果に示されるセットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もることができる。その結果、クロック調整・回路構成（ＲＴＬ修正）へのフィードバックが必要なものを効率的・早急に抽出することが可能になる。
【００３１】
実施形態２．
実施形態２では、一実施形態に係るタイミング解析の手法のうち、（２）遅延情報を補正する方法について説明する。実施形態１では遅延上限値を用いて、タイミング解析結果（初期タイミング解析結果）を修正した。これに対して、実施形態２は遅延上限値を用いて遅延情報を変更する遅延補正情報を生成し、遅延補正情報を用いてタイミング解析ツールにタイミング解析結果を生成させる処理を実施する。これにより、遅延上限値を用いて生成した見積結果を得る手法である。
ここでまず、実施形態１と実施形態２とにおいて、見積結果を算出するパスに違いが生じ得ることを説明する。タイミング解析は、すべてのパスを網羅的に解析して結果を生成することが精度の点からは好ましい、一方で多数の結果を生成することは時間、コストなどの観点から実用的でない。このため、終点となるフリップフロップへの経路が複数存在する（起点となるフリップフロップが複数存在する）場合には、最もスラック値の悪いパスについて解析結果を生成する。実施形態１と実施形態２とでは、遅延情報の遅延値を遅延上限値と差し替えるタイミングが異なるため、タイミング解析結果でスラック値が生成されるパスが異なる現象が生じる。図８を用いて具体的に説明する。
【００３２】
図８は、実施形態２において、見積結果の算出対象となるパスを説明する図である。ＲＥＧ１からＲＥＧ３へのパスは、セルＣ２１乃至Ｃ２６から構成され、ＲＥＧ２からＲＥＧ３へのパスは、セルＣ２７乃至Ｃ２９及びＣ２４乃至Ｃ２６から構成される。図中に示す数値は各セルの実際の遅延値である。ここで、遅延上限情報として、組合せ回路のセル遅延上限値が８０ｐｓ、フリップフロップのセル遅延上限値が１３０ｐｓ、ネット遅延上限値が２０ｐｓに設定されていることを前提とする。セル遅延とネット遅延とを合わせた遅延上限値は、フリップフロップのセルが１５０ｐｓ、組合せ回路のセルが１００ｐｓに設定されることになる。
ＲＥＧ１からＲＥＧ３へのパスは、遅延情報に設定される実際の遅延（実遅延）では、８．２４ｎｓであり、ＲＥＧ２からＲＥＧ３へのパスは、実遅延が１．９９ｎｓである。
【００３３】
実施形態１の初期タイミング解析結果では、実遅延の大きいＲＥＧ１からＲＥＧ３へのパスについてスラック値が生成され、実施形態１の手法で見積結果を算出すると、補正後の見積もり遅延値は、０．４９ｎｓ（０．１５＋０．０８＋０．１０＋０．０８＋０．０８）となる。セルＣ２１及びＣ２３の遅延値が上限遅延値に変更された結果である。
これに対して、実施形態２では、遅延情報の遅延値を遅延上限値と差し替えてタイミング解析結果を生成するため、ＲＥＧ１からＲＥＧ３のパスの見積もり遅延値が０．４９ｎｓ、ＲＥＧ２からＲＥＧ３のパスの見積もり遅延値は実遅延と同じ１．９９ｎｓとなる。その結果、実施形態２では、タイミング解析結果にＲＥＧ２からＲＥＧ３のパスについて生成され、ＲＥＧ１からＲＥＧ３のパスの情報は含まれない。
実施形態２のタイミング解析の手法を用いると、遅延上限値の差し替えによってデータラインの遅延が改善される場合には、スラック値の違反が大きい（負の値が大きい）その他のパスに関してタイミング解析結果が生成されることになる。実施形態２では、このような処理によって、タイミング解析結果を生成する段階で、データラインの改善によってタイミング制約を満たすパスを解析結果の対象から排除し、データラインの改善ではタイミング制約違反の解消が困難なパスの抽出を容易にする。
以下、本実施形態の詳細を説明する。
【００３４】
＊  実施形態２の構成
図９は、実施形態２のタイミング解析の手順の一例を示す図である。
図９に示す処理のうち、ステップＳ２１からＳ２３、Ｓ２８、Ｓ２９は、実施形態１や関連する技術と同様の処理であり、ステップＳ２４からＳ２７は、本実施形態特有の処理である。ステップＳ２１からＳ２３、Ｓ２４は、レイアウト設計者等により予め各情報が生成され、例えば、処理部２の記憶処理によって記憶部１に格納される。ステップＳ２８は、処理部２がタイミング解析ツールに実行させる処理であり、ステップＳ２９は、レイアウト設計者がタイミング解析結果を用いて実施する処理である。本実施形態のタイミング解析プログラムは、ステップＳ２５からＳ２７の各処理を図４に示すタイミング解析装置１００に実行させる。
記憶部１は、実施形態１と同様に、記憶部１は、回路情報、タイミング制約情報、及び遅延情報に加え、遅延上限情報を記憶する。
本実施形態では、処理部２は、遅延補正情報を生成する遅延変更処理と、遅延補正情報を用いてタイミング解析ツールにタイミング解析を実行させ、タイミング解析結果を生成させる解析処理とを実施する。遅延変更処理は、ネットリストからデータラインを構成するセルを抽出し、セルに対応づけられた遅延値が遅延上限値を超える場合、遅延値を遅延上限値に修正する遅延補正情報を生成する。
【００３５】
＊  実施形態２の動作又は製造方法等
図４、５、９、１０を参照して、実施形態２のタイミング解析プログラムが実行する処理を説明する。図１０は、実施形態２の遅延値変更処理が遅延補正情報を生成する動作例を示す図である。
処理部２は、回路情報、タイミング制約情報、及び遅延情報を参照し、ネットリストからデータラインを構成する複数のセルを抽出し、抽出した複数のセルに対応づけられた遅延値を遅延情報から取り出し、遅延上限値を遅延上限情報から取り出す（Ｓ２５）。次に、処理部２は、抽出した複数のセルについて、遅延値と遅延上限値とを比較し、遅延値が遅延上限値を超えるセルである場合には（Ｓ２６、ＹＥＳ）、遅延情報に設定された遅延値を、遅延上限値に修正する遅延補正情報を生成する（Ｓ２７）。ここで、遅延補正情報の生成（ステップＳ２５〜Ｓ２７）について、図１０を参照して詳細を説明する。
【００３６】
処理部２は、回路情報からセルの出力ピンを抽出し（Ｓ２１１）、出力ピンがクロックのピンであるか否かを判定する（Ｓ２１２）。処理部２は、抽出したセルがクロックでない場合（Ｓ２１２、ＮＯ）、セルについて、前段のセルの出力ピンから抽出したセルの出力ピンまでに対応づけられた遅延値を遅延情報から取得し、遅延値と遅延上限値とを比較する（Ｓ２１３）。遅延値が遅延上限値より大きい場合には（Ｓ２１３、ＹＥＳ）、取得した遅延値を遅延上限値へ修正する修正情報を保持する（Ｓ２１４）。処理部２は、抽出したセルがクロックである場合（Ｓ２１２、ＹＥＳ）、及び遅延値が遅延上限値以下である場合には（Ｓ２１３、ＮＯ）、ステップＳ２１５へ進み、全ピンを抽出したかを判定する（Ｓ２１５）。回路情報の全ピンを抽出していない場合（Ｓ２１５、ＮＯ）、ステップＳ２１１からＳ２１４までの処理を繰り返す。一方、回路情報の全ピンを抽出すると（Ｓ２１５、ＹＥＳ）、ステップＳ２１４で保持した情報を用いて遅延補正情報を生成し、記憶部１へ格納する（Ｓ２１６）。
【００３７】
遅延補正情報が生成されると（図９のＳ２７、図１０のＳ２１６）、処理部２は、タイミング解析ツールに、遅延情報及び遅延補正情報を用いてタイミング解析を実施させる（Ｓ２８）。タイミング解析ツールは、遅延補正情報を読み込み、遅延修正が指示されるセルまたはネットの遅延値を修正してタイミング解析を実施する。一方、処理部２は、抽出した複数のセルの中に、遅延値が遅延上限値を超えるセルが一つもない場合（Ｓ２６、ＮＯ）、タイミング解析ツールに、通常のタイミング解析を実施させる（Ｓ２８）。
なお、遅延変更処理において、上述した説明では、遅延値を遅延上限値に変更することを示す遅延補正情報を作成し、タイミング解析ツールに遅延情報と遅延補正情報とを用いる場合を説明した。これに限らず、遅延情報の遅延値を遅延上限値に変更した遅延補正情報を生成し、タイミング解析ツールに遅延補正情報を用いてタイミング解析を実施させる場合であってもよい。この場合、遅延補正情報は、変更箇所のみでなく、変更しないセルの遅延値も含むことになる。
【００３８】
ここで、図２，図３Ａ，図１１Ａ，図１１Ｂを参照してタイミング解析結果の具体例を説明する。解析するデータラインは、図２と同じものを用いて説明する。図１１Ａは、実施形態２のタイミング解析の手法により、遅延情報の遅延値を遅延上限値に差し替える遅延補正情報の一例を示す図である。図１１Ｂは、図３Ａの解析結果に対して、実施形態２のタイミング解析の手法により遅延情報及び遅延補正情報を用いて生成したタイミング解析結果の一例を示す図である。図１１Ｂは、ネット遅延上限値が２０ｐｓ、組合せ回路のセル遅延上限値が８０ｐｓ、フリップフロップのセル遅延上限値が１３０ｐｓを見積結果の条件に設定している。図１１Ｂに示すように、実遅延が０．１８７ｎｓのフリップフロップのセルＣ１１について、遅延上限値の０．１５０ｎｓ（１３０ｐｓ＋２０ｐｓ）に変更されている。加えて、実遅延が０．７８２ｎｓの組合せ回路のセルＣ１３について、遅延上限値の０．１００ｎｓ（８０ｐｓ＋２０ｐｓ）に変更されている。この結果、見積もり違反値は、０．０２０ｎｓの正の値となりタイミング制約を満たすことが示される。遅延情報を用いた場合の実遅延が−０．６９９ｎｓであるため、実施形態２によるタイミング解析結果では、データライン改善によりタイミング制約を満たすことが見積もり違反値に示される。このように、レイアウト設計者は図１１Ｂの結果を参照し、データライン改善を実施することにより、タイミング制約を満たすことを容易に判定することができる。
【００３９】
＊  実施形態２のメカニズムおよび効果
本実施形態では、遅延補正情報によって、遅延情報の遅延値を遅延上限値に差し替える処理を実施する。そのため、図８を参照して説明したように、タイミング解析結果に示すパスが実施形態１と異なる場合が生じる。このため、実施形態１では初期タイミング解析結果に含まれないパスがデータラインの遅延改善後にエラー箇所となる場合が存在する。例えば、図８のＲＥＧ２からＲＥＧ３のパスである。これに対して、実施形態２では、遅延情報そのものを変更してタイミング解析を実行した結果を作成しているため、実施形態１の不安要素が存在しない。その代わり遅延情報の抽出のためタイミング解析を実施する場合とほぼ同じツールのターンアラウンドタイム（ＴＡＴ）がかかる。このため、ＴＡＴが実施形態１の１．５倍程度かかることが考えられる。
図８を参照すると、ＲＥＧ１からＲＥＧ３へのパスが実遅延では８．２４ｎｓと長いが実施形態１で見積もると０．４９ｎｓのデータ遅延となる。しかし、ＲＥＧ２からＲＥＧ３の遅延は０．１ｎｓ（ＦＦも０．１５ｎｓ）を超えないため実遅延と同じ１．９９ｎｓとなり、見積もりでのワーストパスの経路が変わる。
初期タイミング解析結果を取る時点で網羅的にタイミング解析結果を取ることにより、上述したようなケースも確認できるがかなり多い数のレポートを取らなくてはならなくなるため実用的でない。そのため、静的タイミング解析を実施する段階で、適切なクリティカルパスを想定するような手法が実施形態２となる。
【００４０】
実施形態３．
実施形態１，２では上限遅延値を一律に設定し、組み合わせ回路１００ｐｓ、フリップフロップ１５０ｐｓといったように固定遅延で設定していた。本実施形態では、遅延上限値の見積もり方をセルに応じて設定する態様を説明する。
処理部２は、解析対象回路のレイアウト情報を検索して、複数のセルの容量と入力波形鈍りを抽出し、抽出した前記容量と前記入波形鈍りの平均値を算出し、算出した平均値を、前記複数のセルの機能毎にドライブ能力が最も高いセルに適用して算出し、遅延上限値を設定する遅延上限値設定処理を実施する。
【００４１】
図１２は、実施形態３のタイミング解析の手順の一例を示す図である。
本実施形態のタイミング解析プログラムは、図１２に示すステップＳ３１からＳ３５の各処理を図４に示すタイミング解析装置１００に実行させる。
処理部２は、解析対象回路のレイアウト情報を記憶部１から読み出す（Ｓ３１）。レイアウト情報は、タイミング解析の実施前までに生成され、記憶部１に格納されている。ステップＳ３１の右側の点線の矢印の先に示すリストは、レイアウト情報の一例を示す。
処理部２は、解析対象回路のレイアウト情報から、複数のセルのＣｌｏａｄ（配線容量）、ＴＲＦ（入力波形鈍り）を抽出し、チップ全体の配線容量及び入力波形鈍りの平均値を算出する（Ｓ３２）。なお、複数のセルのＣｌｏａｄ、ＴＲＦの平均値でなくても、１σ，２σの上限などを用いてもよい。処理部２は、配線容量及び入力波形鈍りの平均値を記憶部１へ格納する（Ｓ３３）。ステップＳ３３の右側の点線の矢印の先に示すリストは、配線容量及び入力波形鈍りの平均値の一例を示す。
次に処理部２は、セルのライブラリから各機能（Function）の最大のドライブ能力のセルを抽出し、抽出したセルへ配線容量、入力波形鈍りの平均値を使用して、セル遅延を抽出する（Ｓ３４）。抽出したセル遅延を、機能毎の遅延上限値を含む遅延上限情報を記憶部１へ格納する（Ｓ３５）。セルのライブラリは、予めレイアウト設計者などによって生成される情報である。ステップＳ３１の右側の点線の矢印の先に示すリストは、機能毎に設定した上限遅延値の一例を示す。
【００４２】
処理部２は、例えば、複数のセルのうち、フリップフロップと、フリップフロップ以外の組合せ回路との少なくとも二種類のセルに関する遅延上限値を含む遅延上限情報を生成し、記憶部１へ格納する。または、処理部２は、複数のセルの機能毎に定義した遅延上限値を含む遅延上限情報を生成し、記憶部１へ格納する。
上述した処理によって生成した遅延上限情報を、実施形態１、２などの遅延上限値としてセル毎に設定することにより精度を上げて確認することが可能となる。
配線遅延も、上述したセル遅延と同様にレイアウト情報から配線遅延の平均値を抽出することで精度を上げることが可能となる。
実施形態１，２では一律で遅延値を決めていたため、ＡＮＤ，ＯＲを使用した複合セルと通常のバッファ、インバータとが同じ遅延値となる。セルにより平均的な遅延値が異なるため、実施形態３ではレイアウト後の情報からデータラインの配線容量と入力波形鈍りの分布を抽出し、配線容量と入力波形鈍りの平均値を算出し、遅延上限値として使用することで精度を向上させることができる。なお、本実施形態では、トランジスタの遅延値が配線容量と入力波形鈍り途に基づいて決まることから、これらの要素を用いて遅延上限値を決定する手法を提案したが、他の要素を用いることを排除するものではない。
【００４３】
実施形態４．
実施形態４では、解析対象回路のレイアウト情報に基づいて、タイミング解析の精度を向上させる一態様を説明する。レイアウト設計では、隣り合うセル間の配線長（配線距離）が所定の長さを超える場合、リピータを挿入する。しかし、レイアウトツールを用いてレイアウト設計を行う場合、ツールの都合によりリピータが挿入されずにレイアウト設計が行われる場合がある。このような場合、データラインの遅延改善によってタイミング制約を満たすことが困難になる。そこで、予め、レイアウト情報からセル間の配線長を抽出し、配線長が所定の長さを超える場合には、リピータを挿入してタイミング解析を実施する。
図１３は、実施形態４のタイミング解析の手順の一例を示す図である。図１３に示すタイミング解析の手順は、図９に示す実施形態２のタイミング解析の手順へリピータ挿入に関する処理ステップＳ４１からＳ４３を追加したものである。
処理部２は、遅延値変更処理として、さらに、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、抽出した配線にリピータの遅延値を前記遅延補正情報に加えることを実施する。
ステップＳ４１からＳ４４を除いて、実施形態２と同様の動作であるため、重複する処理については説明を省略する。
【００４４】
処理部２は、解析対象回路のレイアウト情報からセルの位置を抽出して位置情報を生成し、記憶部１へ格納する（Ｓ４１）。セルの位置を取得すると、隣り合うセル間の位置に基づいてセル間の配線長を算出することができる。
リピータ遅延テーブルは、予め定義された情報であり、記憶部１へ格納される。処理部２は、リピータ遅延テーブルを記憶部１から読み出すことにより取得する（Ｓ４２）。
処理部２は、ステップＳ２６において、データラインを構成するセルの遅延値が遅延上限値を超えていると判定すると（Ｓ２６、ＹＥＳ）、位置情報を解析し、隣り合うセル間の配線長が所定の値を超える場合には、遅延値を加算する。加算する遅延値は、リピータ遅延テーブルに基づいて取得する。図１４にリピータ遅延テーブルの一例を示す。図１４の例では、配線長が５００μｍを超える場合には、遅延上限値に１５０ｐｓを加算し、以降、５００μｍを超える毎に１５０ｐｓ加算することを設定している。
処理部２はリピータ遅延テーブルに基づいて算出した遅延補正値を遅延上限値に加算し（Ｓ４３）、遅延補正情報を生成し、記憶部１へ格納する（Ｓ４４）。
リピータなどが挿入されていない箇所に実施形態１，２のような一律の遅延値を使用すると見積もり違反値まで改善しきれない場合がある。それを避けるためピン同士の距離情報を抜き出して、リピータが必要になる距離以上はなれている場合はリピータの遅延分を加算できるようにする。
【００４５】
また、図１３では、実施形態２のタイミング解析の手法へリピータを挿入する遅延値変更処理を実施する態様を説明したが、実施形態１へ追加することもできる。この場合、例えば処理部２は、遅延値変更処理として、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、抽出した配線にリピータの遅延値を、スラック値の見積もった見積結果に加算する。
【００４６】
以上説明した通り、本実施形態では、遅延値変更処理が、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出する。解析処理は、抽出した配線にリピータの遅延値をタイミング解析結果に反映されるように働く。これにより、配線長が長い場合でもデータラインの遅延改善によりタイミング制約の違反値を抑制できるか否かの判断を容易にし、精度を向上させることができる。
【００４７】
その他の実施形態．
上記各実施形態では、タイミング解析プログラムにより、一実施形態のタイミング解析の手法を実現する場合を説明した。上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
加えて、プログラムは、例えば、ＣＤ（Compact Disk）やフラッシュメモリを搭載したＵＳＢ（Universal Serial Bus）メモリといった持ち運び可能な記録媒体に記録されてもよい。この場合、実行プログラムは、これらの持ち運び可能な記録媒体から、コンピュータの備えるＣＤドライブや、ＵＳＢポート等を介して導入される。
【００４８】
上記各実施形態では、一実施形態のタイミング解析の手法をプログラムによって実現する場合を説明したが、これに限られるものではなく、例えば、ハードウェア、ファームウェア、ソフトウェアを組み合わせて実現する場合を排除するものではない。
【００４９】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００５０】
１  記憶部
２  処理部
Ｃ１１〜Ｃ１５、Ｃ２１〜Ｃ２９  セル
１００  タイミング解析装置
【図１】
2014044610.tif 000003
【図２】
2014044610.tif 000004
【図３Ａ】
2014044610.tif 000005
【図３Ｂ】
2014044610.tif 000006
【図４】
2014044610.tif 000007
【図５】
2014044610.tif 000008
【図６】
2014044610.tif 000009
【図７】
2014044610.tif 000010
【図８】
2014044610.tif 000011
【図９】
2014044610.tif 000012
【図１０】
2014044610.tif 000013
【図１１Ａ】
2014044610.tif 000014
【図１１Ｂ】
2014044610.tif 000015
【図１２】
2014044610.tif 000016
【図１３】
2014044610.tif 000017
【図１４】
2014044610.tif 000018