(57)【要約】【課題】静的タイミング解析技術を用いてロバスト回路を最適化する。【解決手段】合成、配置及びルーティングの設計フロー全体を通して一貫した方法でロバスト回路の構築につなげるために静的タイミング解析技術が用いられる。例示的な技法は、タイミングモデルを含む設計のためのライブラリデータを受信するステップを含むことができる。このデータの複数の実装を比較することによって、一連の基準（最悪の負のスラック、エンドポイントスラック分布、タイミング制約違反、トータルの負のスラックを含むことができる）に基づいてロバスト回路を定義することができる。この時点で、設計においてロバスト回路を向上させる論理変化を推進するために静的タイミング解析を用いることができる。静的タイミング解析は、静的タイミング解析におけるアークに関連する静的タイミング遅延を平均として、指定の割合の平均を標準偏差として用いることができる。【選択図】図４
2010531519.tif 000002
【特許請求の範囲】
【請求項１】
実装プロセスのための設計フローにおける回路を生成する方法であって、
タイミングモデルを含む設計のためのライブラリデータを受信するステップと、
最悪の負のスラック及びトータルの負のスラックのうちの少なくとも一方並びにエンドポイントスラック分布及びタイミング制約違反数のうちの少なくとも一方に基づいてロバスト回路を定義するステップと、
前記設計においてロバスト回路を向上させる論理変化を推進するために静的タイミング解析を用いるステップとを含み、
前記静的タイミング解析が、静的タイミング解析における前記設計のアーク上で統計的遅延分布をモデリングし、
前記アーク上の前記統計的遅延分布が、
静的タイミング解析における前記アークに関連する静的タイミング遅延を平均として用いるステップと、
指定の割合の平均を標準偏差として用いるステップとを含み、
前記指定の割合の平均が、変動に対するクロックバジェットの推定値及びゲート上の遅延変動の推定値のうちの一方から得られることを特徴とする方法。
【請求項２】
前記静的タイミング解析が、設計の最適化においてコストメトリックとして用いるための前記設計のエンドポイントでのスラック分布を決定するステップをさらに含むことを特徴とする請求項１の方法。
【請求項３】
前記コストメトリックが、エンドポイントがタイミング制約を満足しない確率の算出を含むことを特徴とする請求項２の方法。
【請求項４】
最適化を実行する設計においてボトルネックを特定するために統計的スラックが用いられることを特徴とする請求項２の方法。
【請求項５】
実装プロセスのための設計フローにおける回路を生成するためのツールセットを提供することになる命令を、プロセッサによって実行されるときに、具現化するコンピュータ読み取り可能な媒体であって、
タイミングモデルを含む設計のためのライブラリデータを受信するための手段と、
最悪の負のスラック及びトータルの負のスラックのうちの少なくとも一方並びにエンドポイントスラック分布及びタイミング制約違反数のうちの少なくとも一方に基づいてロバスト回路を定義するための手段と、
前記設計においてロバスト回路を向上させる論理変化を推進するために静的タイミング解析を用いるための手段とを含み、
前記静的タイミング解析が、静的タイミング解析における前記設計のアーク上で統計的遅延分布をモデリングし、
前記アーク上の前記統計的遅延分布が、
静的タイミング解析における前記アークに関連する静的タイミング遅延を平均として用いるステップと、
指定の割合の平均を標準偏差として用いるステップとを含み、
前記指定の割合の平均が、変動に対するクロックバジェットの推定値及びゲート上の遅延変動の推定値のうちの一方から得られることを特徴とするコンピュータ読み取り可能な媒体。
【請求項６】
前記静的タイミング解析を用いるための前記手段が、設計の最適化においてコストメトリックとして用いるための前記設計のエンドポイントでのスラック分布を決定するための手段をさらに含むことを特徴とする請求項５のコンピュータ読み取り可能な媒体。
【請求項７】
前記コストメトリックが、エンドポイントがタイミング制約を満足しない確率の算出を含むことを特徴とする請求項５のコンピュータ読み取り可能な媒体。
【請求項８】
最適化を実行する設計においてボトルネックを特定するために統計的スラックが用いられることを特徴とする請求項５のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路（ＩＣ）設計に関し、詳細には、ロバスト設計の特定（identify）及び静的タイミング解析を用いてのそのような設計の向上に関する。
【背景技術】
【０００２】
図１は、例示的なデジタルＩＣ設計フローを簡略化して説明するための図である。上側の段において、プロセスは、製品企画（ステップ１００）より開始し、ＥＤＡソフトウェア設計プロセスを実行する（ステップ１１０）。設計が終了すると、テープアウトを行う（イベント１４０）。テープアウト後、製作プロセス（ステップ１５０）、パッケージング及び組立プロセス（ステップ１６０）を実施し、最終的に、完成品チップが得られる（結果１７０）。
【０００３】
ＥＤＡソフトウェア設計プロセス（ステップ１１０）は、実際には複数のステップ１１２〜１３０から構成されされており、簡略化のために直線的に示している。実際のＡＩＳＣ設計プロセスでは、特定の設計は、所定の試験に合格するまでステップを逆戻りしなければならないこともある。同様に、任意の実際の設計プロセスでは、これらのステップは、異なる順序及び組み合わせで行われることがある。従って、この説明は、特定のＡＳＩＣのための具体的な或いは推奨する設計フローとしてよりも、むしろ背景説明（context）及び一般的な説明のために提供される。
【０００４】
ここで、ＥＤＡソフトウェア設計プロセス（ステップ１１０）を構成するステップを簡単に説明する。
【０００５】
システム設計（ステップ１１２）：設計者は、実装したい機能性を記述し、ｗｈａｔ−ｉｆプランニングを実施して機能性改良や費用確認などを行うことができる。ハードウェア−ソフトウェア・アーキテクチャ・パーティショニングは、このステップで行うことができる。このステップで使用することができるシノプシス社（Synopsys, Inc.）製の例示的なＥＤＡソフトウェア製品には、Ｍｏｄｅｌ Ａｒｃｈｉｔｅｃｔ、Ｓａｂｅｒ、Ｓｙｓｔｅｍ Ｓｔｕｄｉｏ、及びＤｅｓｉｇｎＷａｒｅ（登録商標）などの製品が含まれる。
【０００６】
論理設計及び機能性の検証（ステップ１１４）：このステップでは、システム内のモジュールのためのＶＨＤＬまたはＶｅｒｉｌｏｇコードを書き込み、その設計を機能性の精度について検査する。より具体的には、設計を検査することによって、正しい出力を生成することを保証する。このステップで使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、ＶＣＳ、ＶＥＲＡ、ＤｅｓｉｇｎＷａｒｅ（登録商標）、Ｍａｇｅｌｌａｎ、Ｆｏｒｍａｌｉｔｙ、ＥＳＰ、及びＬＥＤＡなどの製品が含まれる。
【０００７】
合成及び試験のための設計（ステップ１１６）：このステップでは、ＶＨＤＬ／Ｖｅｒｉｌｏｇをネットリストに変換する。ネットリストは、目的の技術のために最適化することができる。加えて、完成品チップの検査を可能とする試験の設計及び実装を行う。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ｄｅｓｉｇｎ Ｃｏｍｐｉｌｅｒ（登録商標）、Ｐｈｙｓｉｃａｌ Ｃｏｍｐｉｌｅｒ、Ｔｅｓｔ Ｃｏｍｐｉｌｅｒ、Ｐｏｗｅｒ Ｃｏｍｐｉｌｅｒ、ＦＰＧＡ Ｃｏｍｐｉｌｅｒ、Ｔｅｔｒａｍａｘ、及びＤｅｓｉｇｎＷａｒｅ（登録商標）などの製品が含まれる。
【０００８】
ネットリスト検証（ステップ１１８）：このステップでは、ネットリストを、タイミング制約との適合性及びＶＨＤＬ／Ｖｅｒｉｌｏｇソースコードとの対応性について検査する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ｆｏｒｍａｌｉｔｙ、ＰｒｉｍｅＴｉｍｅ、及びＶＣＳなどの製品が含まれる。
【０００９】
設計プランニング（ステップ１２０）：このステップでは、チップの全体フロアプランを作成し、タイミング及び最上位ルーティングについて解析する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ａｓｔｒｏ及びＩＣ Ｃｏｍｐｉｌｅｒなどの製品が含まれる。
【００１０】
物理的な実装（ステップ１２２）：このステップでは、配置（回路素子の位置決め）及びルーティング（回路素子の接続）を行う。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ａｓｔｒｏ及びＩＣ Ｃｏｍｐｉｌｅｒなどの製品が含まれる。
【００１１】
解析及び抽出（ステップ１２４）：このステップでは、回路機能を物理的及び電気的レベルで検証する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、ＡｓｔｒｏＲａｉｌ、ＰｒｉｍｅＲａｉｌ、Ｐｒｉｍｅｔｉｍｅ、及びＳｔａｒ ＲＣ／ＸＴなどの製品が含まれる。
【００１２】
物理的な検証（ステップ１２６）：このステップでは、様々なチェック機能を実行し、製造、電気的な結果、リソグラフィックの結果、及び回路構成について正確性を保証する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ｈｅｒｃｕｌｅｓなどの製品が含まれる。
【００１３】
分解能向上（ステップ１２８）：このステップでは、レイアウトの幾何学的操作を行い、設計の製造可能性を改善する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、Ｐｒｏｔｅｕｓ、ＰｒｏｔｅｕｓＡＦ、及びＰＳＭＧｅｎなどの製品が含まれる。
【００１４】
マスクデータ準備（ステップ１３０）：このステップでは、完成品チップを作成するのに使用するリソグラフィーのために、マスク作成用の「テープアウト」データを提供する。このステップにおいて使用することができるシノプシス社製の例示的なＥＤＡソフトウェア製品には、ＣＡＴＳ（登録商標）シリーズの製品が含まれる。
【００１５】
ネットリスト検証（ステップ１１８）：シミュレーションなしでデジタル回路の期待タイミングを提供することができる。このネットリスト検証技法は、静的タイミング解析（ＳＴＡ）と呼ばれ、入力値の組合せと無関係な回路のタイミング挙動の詳細な解析を提供する。
【００１６】
ＳＴＡ用語では、タイミング制約は、回路信号が伝播しかつ出力で満足に読み出されるかまたは記憶素子によって捕捉されるのに利用可能な時間のバジェットである。タイミング制約は、クロッキング方式、出力負荷などのユーザ指定の情報によって捕捉される。「クリティカルパス」は、タイミング制約に違反するような、入力ピンまたは記憶素子の出力と出力ピンまたは記憶素子の入力との間のパスとして定義される。タイミング照合が行われるピンは、エンドポイントと呼ばれる。タイミング制約は、２つの形態に分類されることができる。セットアップ制約は、バジェットより遅くならずに信号に安定していることを求める制約である。ホールド制約は、バジェットより早くならずに信号が変わることを求める制約である。説明のために、かつ一般性を喪失することなく、本明細書では第１の形態にのみ言及する。ピンの到着時間は、ピンでの信号が安定させる時間として定義される。静的タイミングでは、到着時間は、「加法」及び「最大」演算を用いて算出されることができる。ピンの要求時間は、信号がタイミング制約を満足するように安定させなければならない時間である。静的タイミングでは、要求時間は、「減法」及び「最小」演算を用いて算出されることができる。ピンの「スラック」は、要求時間と到着時間との差として定義されることができる。それゆえ、正のスラックは、回路の全体遅延が許容範囲にある（そして、望ましいならば、ピンへの到着時間を増加することさえできる）ことを意味するのに対して、負のスラックは、パスが遅すぎるので、回路の全体遅延に悪影響を及ぼさないようにスピードアップされなければならないことを意味する。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
ここ数年にわたって、産業界では遅延変動に多くの関心が寄せられている。遅延変動は、電圧及び温度などの動作条件の変化及び製造中に現れるプロセス変動から生じる場合がある。しかし、設計フローに照らせば、遅延変動は、下流ツールにおける最適化、設計が進展するにつれての算出に用いられるモデルの改良、設計に対する任意の変更（すなわち仕様変更）から生じる場合もある。
【００１８】
残念ながら、変動の各原因をキャラクタライズし、その後、その変動に対する回路の「ロバストネス」を定義しようとすることは、かなりの資源配分を必要とすることになるであろう。それゆえ、費用効果の高い方法で耐変動（変動が起きても全体に悪影響を及ぼさない）設計を構築する方法及び装置の必要が生じている。
【００１９】
静的タイミング解析として知られている静的タイミング解析への比較的新しい拡張機能が導入されている。この技術は、プロセス変動によって生じる回路遅延の変動をモデリングするように設計されている。遅延は統計的分布によって表され、解析ステップは、到着（要求）時間の分布を、これらの分布に「加法」及び「最大」（「減法」及び「最小」）演算を適用することによって広げる。このアプローチは、各プロセス変更に対して遅延挙動をキャラクタライズすることにかなりの資源配分を必要とする。
【課題を解決するための手段】
【００２０】
本発明の一態様に従って、合成、配置及びルーティングの設計フロー全体を通して一貫した方法でロバスト回路を構築するために静的タイミング解析技術が用いられる。例示的な技法は、タイミングモデルを含む設計のためのライブラリデータを受信するステップを含むことができる。このデータの複数の実装を比較することによって、幾つかの基準を用いて遅延変動に対する回路の耐性をキャラクタライズすることができる。典型的な基準は、最悪の負のスラック、エンドポイントスラック分布、タイミング制約違反の数及びトータルの負のスラックを含むことができる。これらの基準は、静的タイミング解析における公知の概念を用いて定義される。この時点で、静的タイミング解析は、設計におけるロバストネスを向上させる論理変化を推進するために用いられることができる。
【００２１】
とりわけ、静的タイミング解析は、静的タイミング解析（ＳＴＡ）において設計のアーク（すなわちピンとピンの間のパス）上の統計的遅延分布をモデリングする。各変動源に対するキャラクタライゼーション遅延変化の必要性は、静的タイミング解析においてアークに関連する遅延を平均として、ユーザ指定の割合の平均を標準偏差として用いることによって、有利に回避されることができる。それゆえ、この方法では、静的タイミング解析は、ゲート遅延に対する典型的な挙動を用いる一方で、原因を特定しようとすることなく変動をゲートのせいにする。その結果、各パスは適切に制約されることができる。例えば、パスが長ければ長いほど、変動が大きく、平均遅延に統計上の取消（cancellation）が現れる機会が大きくなる。
【００２２】
一実施形態では、静的タイミング解析を実行するステップは、設計の最適化においてコストメトリック（cost metric）として用いるための設計のエンドポイントでのスラック分布を決定するステップをさらに含むことができる。例えば、コストメトリックは、エンドポイントがタイミング制約を満足しない確率を算出するステップを含む場合がある。確率は、（エンドポイントでの到着時間に対する確率密度関数を与える）静的タイミング解析から算出されることができる。とりわけ、この確率を用いて、設計のロバストネスを向上させることもできる。
【００２３】
以下にさらに詳しく述べるように、ロバスト回路の最適化を導くために、プロセス変動の取扱いを背景として開発された静的タイミング解析技術を有利に用いることができる。
【図面の簡単な説明】
【００２４】
【図１】例示的なデジタルＡＩＳＣ設計フローを簡略化して説明するための図を示す。
【図２】合成ステップにおける静的タイミング解析の後で同じ設計／回路の２つの実装をプロットしたエンドポイントスラック分布グラフを示す。
【図３Ａ】複数のインバータを含むインバータチェインであって、各インバータが、できる限り異なる正規分布曲線によって表されるゲート遅延を有するようなインバータチェインを示す。
【図３Ｂ】平均から３標準偏差内の遅延に対する可能値の約１００％を含むゲートに対する正規分布を示す。
【図３Ｃ】入力パス及び内部パス（両パスは総称的にアークと呼ばれる）に関連する遅延を有する例示的なゲートを示す。
【図３Ｄ】ゲートをより高速にすることによって変動を如何に減らすことができるかを示す。
【図４】実装プロセスのための設計フローにおける回路を生成するための例示的な静的タイミング解析技術を示す。
【発明を実施するための形態】
【００２５】
集積回路（ＩＣ）設計フローの様々なステップ（例えば、合成、配置、クロックツリー解析、ルーティング）は、ゲートの遅延及び最適化のためのネットを用いる。しかし、これらの遅延は、ステップ間でかなり異なり得る。例えば、フィードバックがないと、下流ツールを最適化しても異なる遅延算出をもたらしかねない。さらに、ＩＣ設計フローの後の段階のためのモデルは、典型的には、そのときにはより多くの情報が利用可能であるので、より正確である。他の遅延変動は、仕様（例えば、ユーザが標的とする５５０ＭＨｚ対５００ＭＨｚ）、技術（すなわち製作時に用いられるプロセス）、または動作条件（すなわち、限定されるものではないが、温度、レールパワーサプライなどを含む環境）の変更（変動）に起因し得る。遅延変動の各原因を明らかにし、変動に対してロバストネスを定義することは、商品化を妨げる複雑なタスクである。
【００２６】
とりわけ、後述するように、「ロバスト」回路の定義は、費用効果の高い方法で耐変動設計の構築を可能にする一方でＩＣ設計フローの各ステップに適用するのに十分に一般的であることができる。それゆえ、合成ステップにおけるロバスト回路は、おそらく配置ステップにおけるロバスト回路でもあることになる（または最低限でも配置ステップにおける問題を最小にする）。ロバストネスの概念は、絶対的というよりはむしろ相対的なものであることにも留意されたい。それゆえ、ロバストネスは、本明細書中で述べられているように、複数の回路の比較に基づいている。有利には、ロバストネスは一般的に負のスラックのＳＴＡコンセプトを用いて定義されることができる。
【００２７】
ロバスト回路は、一定の基準を満たすものとして定義されることができる。例えば、１つの単純な定義を用いて、以下の３つの基準が満たされれば回路Ｃは回路Ｄよりロバストである。第１に、回路Ｃは、回路Ｄと等しいかまたはそれより多くの最悪の負のスラックを有する。第２に、回路Ｃは、回路Ｄと等しいかまたはそれより多くのトータルの負のスラックを有する。第３に、回路Ｃは、タイミング制約に違反する設計において、回路Ｄよりもずっと少ないエンドポイントを有する（ここで、エンドポイントは、違反があれば回路が故障するような任意の点である）。
【００２８】
エンドポイントスラック分布を用いたロバスト回路に対する別の定義を作り上げることもできる。一実施形態では、エンドポイント（スラックの昇順でソートされる）は、エンドポイント数をｘ値として、スラックをｙ値としてプロットされることができる。得られた曲線は、エンドポイントスラック分布曲線と呼ばれる。一実施形態では、回路Ｃは、そのエンドポイントスラック分布曲線が、完全に、回路Ｄに対するエンドポイントスラック分布曲線の上にあれば、回路Ｄよりロバストである。一方の曲線の限られた部分が他方の曲線の上に延在していれば、曲線の残りの大部分（最も重要）が上にある回路をよりロバストであると判断することは有益であろう。
【００２９】
例えば、図２は、合成ステップにおける静的タイミング解析の後で同じ設計／回路の２つの実装をプロットしたエンドポイントスラック分布グラフ２００を示す。これらの実装は、曲線２０１及び２０２によって示される。設計は、任意の数のエンドポイント、例えば最大で１０個または何十万個ものエンドポイントを有することができる。図２の２つの回路実装は、各々が、最悪の負のスラックから最良の正のスラックへ並べ替えられた約１６，０００個のエンドポイントを有する。
【００３０】
グラフ２００では、曲線２０１は完全に曲線２０２の上にあるので、曲線２０１によって表される回路は、曲線２０２によって表される回路実装よりロバストである。換言すれば、変動にさらされる２つの回路を所与として、曲線２０１によって表される回路は、曲線２０２に関連する回路よりも故障する可能性が低い。具体的には、曲線２０１によって表される回路は、エンドポイント範囲２０３（曲線２０１が０スラック軸と交差する点から始まり、曲線２０２が０スラック軸と交差する点で終わる）によって示されるようなかなり少ない違反エンドポイントを有することに留意されたい。さらに、曲線２０１によって表される回路は、曲線２０１によって表される回路よりも多くのトータルの負のスラックを有する。回路のトータルの負のスラックは、ｘ軸の下の曲線の部分とｘ軸の間の面積であることに留意されたい。曲線２０１に関連するトータルの負のスラックの向上の度合いは、グラフ２００において面積２０４（曲線２０２の上かつ０スラック軸の下の面積によって画定され、曲線２０１によって表される回路に関連するトータルの負のスラックを含まない）によって示される。上記の全てのメトリクスは、静的タイミング解析との関連で明確にされることに留意されたい。
【００３１】
統計的タイミングを用いた論理ゲート（以下、ゲートと呼ぶ）の解析に従って、ゲート遅延は、（ゲート遅延を表す固定数を有することになる静的タイミングとは対照的に）平均及び標準偏差を有することが分かる。例えば、図３Ａを参照すると、インバータチェイン３００は１０個のインバータ３０１〜３１０を含み、各インバータは正規分布３２０によって表されるゲート遅延を有する。インバータ３０１〜３１０は、異なる平均及び標準偏差値を有する場合がある（それゆえ、正規分布３２０はただ一般的正規分布を表すように作成されているにすぎない）ことに留意されたい。図３Ｂの正規分布３２０においては、平均（μ）はゲート遅延値の中間点（ｘ軸）で現れる。値の約６８％が平均から１標準偏差（σ）内にあり、値の約９５％が平均から２標準偏差（２σ）内にあり、約１００％が平均から３標準偏差（３σ）内にある。正規分布のｙ軸は確率を表すので、ゲートが特定の値より小さいかまたは大きい遅延を有する確率は、その特定の値を用いて正規分布３２０の曲線の下の面積を決定してエッジを画定することによって見つけられることができる。それゆえ、各インバータは確率密度関数（ＰＤＦ）を有する。静的タイミング解析は、ゲート遅延ＰＤＦから任意のピン（インバータ３１０の出力など）の到着時間に対するＰＤＦを算出するための基礎を与える。ピンの到着時間に対するＰＤＦは、ピンがタイミングを満足しない確率を算出するために用いられることができる。
【００３２】
静的タイミング解析を用いてロバスト回路を構築するための重要な点は、静的タイミング解析が、通常は静的タイミング解析によって隠されている回路内のクリティカルパスを明らかにすることができることである。具体的には、複数のクリティカルパスがゲート（例えば、ＡＮＤゲート、ＯＲゲートなど）の出力ピンに収束するような事例を考える。この事例では、各パスは同じ平均遅延及び標準偏差値を有する。出力ピンに対する統計的上の最大値の算出が行われるとき、結果として得られる統計上の最大値の平均は、各パスの個々の平均よりも大きい。パスの数が多ければ多いほど、統計上の平均は大きい。この算出は、クリティカルパスの数を「明らかにする」ものとして特徴付けられることができる。例えば、全く同じでかつ平均５．０及び標準偏差０．１を有する正規分布である２つの到着分布の統計上の最大値は、平均５．０５及び標準偏差０．０８の正規分布によって近似される。対照的に、最大遅延値を決定するための静的解析は、異なる数のクリティカルパスを有する複数の事例を区別することができない。例えば、１若しくは複数の到着値のうちの静的最大値５．０は尚も５．０である。それゆえ、静的タイミング解析では、複数のクリティカルパスを有するピンが（統計的平均と比べて）より大きな到着時間平均を有する。その結果、静的タイミング解析は、臨界範囲及び同点カウント（これらは静的タイミング解析を用いた回路最適化において用いられる）などのコンセプトの必要性を有利になくす。似たような挙動が、臨界分布に対する要求時間算出のために統計上の最小値が算出されるときに見られる。この場合には、結果として得られる統計上の最小値の平均は、各々の個々の平均よりも小さい。
【００３３】
各ゲートはまた、ゲートの各内部パスに関連する遅延を有することに留意されたい。例えば、図３Ｃを参照すると、ＡＮＤゲート３３０のパス３３１、３３２は、静的タイミング解析を用いて解析されることができるような遅延を有する。とりわけ、図３Ｄを参照すると、速い方のゲート（すなわち当該ゲートの内部パス）は、遅い方のゲートよりも（正規分布３４０によって示されるような）小さな標準偏差と、それゆえに（正規分布３４１によって示されるような）小さな変動とを有する。具体的には、この例では、速い方のゲートはアークに対して正のスラックしか有しておらず、これは、遅い方のゲート（負のスラックを有するかもしれない）より大きいロバストネスの判断指標の１つとなる。それゆえ、静的タイミング解析を用いるステップは、回路最適化を有利に行うことができる。一実施形態では、入力パスの変動は、最大操作（クリティカルパスを含まない）に影響を及ぼす場合がある。
【００３４】
静的設計では、設計者は、設計における遅延変動を取り扱うようにバジェットを割り当てさせる。このバジェット（ｂ）は、典型的には標的クロックの割合（％）である。残念ながら、バジェットはクロックエッジ上にのみセットされ、それは必要以上にタイミングをタイトにする効果を有する。さらに、下流ツールにおける最適化、モデルの改良及び／または仕様、技術または環境の変化によりｂは経時的に変化するので、異なるタイミング制約ファイルが生成される。従って、静的設計は、準最適設計及び／またはプロセスをもたらすような幾つかの欠点を有する。
【００３５】
対照的に、統計的設計では、設計者は、下流ツールにおける最適化、モデルの改良及び／または仕様、技術または環境の変化に起因するタイミング変動を区別する必要がない。具体的には、統計的設計では、静的ゲート遅延は平均（μ）として用いられることができ、バジェットｂはゲート遅延の％標準偏差（σ）として用いられることができる。とりわけ、統計的設計は過度な制約に悩まされず、それによって各パスはその適切な変動を得ることができる。
【００３６】
一実施形態では、ばらつき（または標準偏差）は、ユーザによって或る割合の平均として指定されることができる。例えば、各ゲートのばらつきは、遅延変動に対してバジェッティングされるクロック周期の割合に設定されることができる。これは、設計における全てのゲートに対して同じ数を設定する。代替実施形態では、ゲートの遅延範囲が既知であれば（かつ異なるゲートに対して異なっていれば）、ばらつきの推定値は、各ゲートに対する最悪状況の遅延と典型的な遅延との差から算出されることができる。
【００３７】
要約すれば、ロバスト回路の最適化を導くために、プロセス変動の取扱いを背景として静的タイミング解析技術が開発される。具体的には、プロセスデータに依存して遅延モデルを指定するよりはむしろ、静的タイミング解析によって与えられる遅延は平均として用いられることができ、ユーザ指定の割合の平均は標準偏差として用いられることができる。それゆえ、静的タイミング解析は、ゲート遅延に関する典型的な挙動を用いる一方で、変動バジェットの原因をゲートのせいにする。
【００３８】
その結果、各パスは適切に制約されることができる。例えば、パスが長ければ長いほど、変動が大きく、平均遅延に統計上の取消が現れる機会が大きくなる。静的タイミング解析を用いるステップは、ロバスト回路に役立つ最適化メトリクスに有利に働く論理変化を有利に推進することができる。
【００３９】
図４は、実装プロセスのための設計フローにおける回路を生成するための例示的な技法４００を示す。ステップ４０１は、タイミングモデルを含む設計のためのライブラリデータを受信する。ステップ４０２は、負のスラック、エンドポイントスラック分布、タイミング制約違反、トータルの負のスラックのうち少なくとも２つに基づいてロバスト回路を定義する。ステップ４０３は、静的タイミング解析を用いて、設計においてロバスト回路を向上させる論理変化を推進する。
【００４０】
静的タイミング解析は、設計のアーク（すなわちピンとピンの間のパス）上で統計的遅延分布をモデリングする。具体的には、静的タイミング解析は、静的タイミング解析におけるアークに関連する静的タイミング遅延を平均として（ステップ４０４）、特定の割合の平均を標準偏差として（ステップ４０５）用いることができる。指定の割合は、変動に対するクロックバジェットの推定値及びゲート上の遅延変動の推定値のうちの一方から得られる。一実施形態では、ステップ４０３は、設計最適化においてコストメトリックとして用いるための設計のエンドポイントでのスラック分布を決定するステップ（ステップ４０６）をさらに含むことができる。例えば、コストメトリックは、エンドポイントがタイミング制約を満足しない確率を算出するステップを含むことができる。確率は、（エンドポイントでの到着時間に対する確率密度関数を与える）静的タイミング解析から算出される。とりわけ、この確率を用いて、設計のロバストネスを改善することもできる。
【００４１】
別の実施形態では、ピンの統計的スラック（統計的平均要求時間と統計的平均到着時間との差として定義される）は、最適化が行われることになるピンを賢明に選択するために用いられることができる。統計的タイミングは、より多くのクリティカルパスを有するピンをより少ないクリティカルパスと区別することができ、すなわち、そのようなピンは、より悪い統計的スラックだが理想的な静的スラックを有することになるので、最適化は、違反パスの数を効果的に減らすことになるような設計におけるピンの良好なセットを特定することができる。
【００４２】
技法４００は、集積回路（ＩＣ）設計フローの様々な最適化ステップに有利に用いられることができる（例えば例として、限定されるものではないが、合成、配置、クロックツリー解析、ルーティング）。
【００４３】
本発明の事例的な実施形態について本明細書で添付の図面を参照しながら詳細に説明してきたが、本発明はこれらの実施形態のみに制限されるものではないことは理解されよう。これらは、包括的なものでも、本発明を開示されたまさにその形に制限使用とするものでもない。
【００４４】
例えば、技法４００（図４）は、少なくとも１つのプロセッサを含むシステム上で実行される１若しくは複数のコンピュータプログラム（例えばツールセット）に実装されることができる。各コンピュータプログラムは、高次手続き型又はオブジェクト指向型プログラミング言語で、あるいはアセンブリ言語または機械語で実装することができる。適切なプロセッサには、限定されるものではないが、汎用マイクロプロセッサ及び特定用途向けマイクロプロセッサの両者のほか、他の種類のマイクロコントローラが含まれる。一般的に、プロセッサは、読み取り専用メモリ（ＲＯＭ）及び／またはランダムアクセスメモリ（ＲＡＭ）から命令及びデータを受信することになる。コンピュータは、データファイルの保存用として１若しくは複数の記憶装置を含むことができる。例示的な記憶装置には、磁気ディスク（例えば、内蔵されたハードディスク及びリムーバブルディスク）、光磁気ディスク、及び光ディスクが含まれる。コンピュータプログラム命令及びデータを具体的に実施するのに適合する記憶装置には、全ての形態の不揮発性メモリ（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリ装置、及びフラッシュメモリ装置）、磁気ディスク（例えば、内蔵されたハードディスク及びリムーバブルディスク）、光磁気ディスク、及びＣＤ−ＲＯＭディスクが含まれる。
【００４５】
従って、本発明の範囲は、以下の請求項及びそれらに相当するものによって画定されるものとする。
【図１】
2010531519.tif 000003
【図２】
2010531519.tif 000004
【図３Ａ】
2010531519.tif 000005
【図３Ｂ】
2010531519.tif 000006
【図３Ｃ】
2010531519.tif 000007
【図３Ｄ】
2010531519.tif 000008
【図４】
2010531519.tif 000009
【国際調査報告】
2010531519.tif 000010