複数のシナリオにおいて回路設計の設計要求違反を修正する方法であって、該方法は、シナリオイメージを受け取ることであって、該シナリオイメージは、シナリオにおける回路対象についてのパラメータの値を記憶する、ことと、複数シナリオECOengineeringchangeorderデータベースを受け取ることであって、該複数シナリオECOデータベースは、複数のシナリオにおける回路対象の下位セットについてのパラメータの値の下位セットを記憶する、ことと、1つ以上の設計要求違反を修正するECOを決定することとを含み、該決定することは、該シナリオイメージおよび該複数シナリオECOデータベース内に記憶されたパラメータの値に基づいて、複数のシナリオにおける回路対象についてのパラメータの値を推定することを含む、方法。各々のシナリオは、工程コーナー、動作条件、または動作モードのうちの1つ以上と関連づけられる、請求項1に記載の方法。前記パラメータの値は、前記回路設計における1つ以上のピンでのタイミングスラックの値を含む、請求項1に記載の方法。前記パラメータの値は、前記回路設計における1つ以上のピンでの容量性負荷の値を含む、請求項1に記載の方法。前記パラメータの値は、前記回路設計における1つ以上のピンでの遷移時間の値を含む、請求項1に記載の方法。前記パラメータの値は、前記回路設計におけるゲートについての漏れ電力の値を含む、請求項1に記載の方法。前記1つ以上の設計要求違反は、セットアップタイミング違反を含む、請求項1に記載の方法。前記1つ以上の設計要求違反は、ホールドタイミング違反を含む、請求項1に記載の方法。前記1つ以上の設計要求違反は、電気的設計規則違反を含む、請求項1に記載の方法。前記1つ以上の設計要求違反は、電力バジェット違反を含む、請求項1に記載の方法。命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、該命令は、コンピュータにより実行されるとき、該コンピュータに、複数のシナリオにおいて回路設計の設計要求違反を修正する方法を行わせ、該方法は、シナリオイメージを受け取ることであって、該シナリオイメージは、シナリオにおける回路対象についてのパラメータの値を記憶する、ことと、複数シナリオECOengineeringchangeorderデータベースを受け取ることであって、該複数シナリオECOデータベースは、複数のシナリオにおける回路対象の下位セットについてのパラメータの値の下位セットを記憶する、ことと、1つ以上の設計要求違反を修正するECOを決定することとを含み、該決定することは、該シナリオイメージおよび該複数シナリオECOデータベース内に記憶されたパラメータの値を使用して、複数のシナリオにおける回路対象についてのパラメータの値を推定することを含む、非一時的なコンピュータ読み取り可能な記憶媒体。各々のシナリオは、工程コーナー、動作条件、または動作モードのうちの1つ以上と関連づけられる、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記パラメータの値は、前記回路設計における1つ以上のピンでのタイミングスラックの値を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記パラメータの値は、前記回路設計における1つ以上のピンでの容量性負荷の値を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記パラメータの値は、前記回路設計における1つ以上のピンでの遷移時間の値を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記パラメータの値は、前記回路設計におけるゲートについての漏れ電力の値を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記1つ以上の設計要求違反は、セットアップタイミング違反を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記1つ以上の設計要求違反は、ホールドタイミング違反を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記1つ以上の設計要求違反は、電気的設計規則違反を含む、請求項11に記載の非一時的なコンピュータ読み取り可能な記憶媒体。前記1つ以上の設計要求違反は、電力バジェット違反を含む、請求項1に記載の非一時的なコンピュータ読み取り可能な記憶媒体。システムであって、該システムは、プロセッサーと、メモリーとを含み、該メモリーは、シナリオイメージであって、該シナリオイメージは、シナリオにおける回路対象についてのパラメータの値を記憶する、シナリオイメージと、複数シナリオECOengineeringchangeorderデータベースであって、該複数シナリオECOデータベースは、複数のシナリオにおける回路対象の下位セットについてのパラメータの値の下位セットを記憶する、複数シナリオECOデータベースと、命令とを記憶し、該命令は、該プロセッサーにより実行されるとき、該システムに、1つ以上の設計要求違反を修正するECOを決定させ、該決定することは、該シナリオイメージおよび該複数シナリオECOデータベース内に記憶されたパラメータの値を使用して、複数のシナリオにおける回路対象についてのパラメータの値を推定することを含む、システム。概要本発明の一実施形態は、複数のシナリオにおいて回路設計の設計要求違反を修正するシステムを提供する。動作中、システムは、シナリオイメージおよび複数シナリオECOengineeringchangeorderデータベースを受け取りうる。シナリオイメージは、シナリオにおける回路対象についてのパラメータの値を記憶しえ、複数シナリオECOデータベースは、複数のシナリオにおける回路対象の下位セットについてのパラメータの値の下位セットを記憶しうる。各々のシナリオは、工程コーナー、動作条件、または動作モードのうちの1つ以上と関連づけられうる。次に、システムは、1つ以上の設計要求違反を修正するECOを決定しえ、その決定することは、シナリオイメージおよび複数シナリオECOデータベース内に記憶されたパラメータの値に基づいて、複数のシナリオにおける回路対象についてのパラメータの値を推定することを含みうる。本開示において、別な方法で述べられない限り、基づくという句は、単にまたは部分的に基づくを意味する。パラメータの値は、システムに設計要求違反を識別し、かつ修正することを可能にさせうる回路情報を含みうる。特に、パラメータの値は、1回路設計における1つ以上のピンでのタイミングスラックの値、2回路設計における1つ以上のピンでの容量性負荷の値、3回路設計における1つ以上のピンでの遷移時間の値、および4回路設計におけるゲートについての漏れ電力の値を含みうるが、これらに制限されない。設計要求違反は、回路設計における潜在的な問題を識別するのに役立ちうる。特に、設計要求違反は、1セットアップタイミング違反、2ホールドタイミング違反、3電気的設計規則違反、および4電力バジェット違反を含みうるが、これらに制限されない。詳細な説明以下の説明は、当業者の誰もが本発明を生産し、かつ使用することができるように与えられ、特定の用途およびその要求の文脈において提供される。開示された実施形態に対する種々の改変は、当業者にとって容易に明白であり、本明細書中に定義される概括的な原理は、本発明の精神および範囲から逸脱することなく、他の実施形態および用途に応用されうる。したがって、本発明は、示される実施形態に制限されずに、本明細書中に開示される原理および特徴と一致する最も広い範囲を授けられる。図1は、集積回路の設計および製作における種々のステップを図示する。工程は、製品アイディア100で始まり、その製品アイディア100は、電子設計自動化EDAソフトウェア110を使用することで具現化される。チップ170は、製作150ステップならびにパッケージおよび組み立て160ステップを行うことにより、完結した設計から製造される。EDAソフトウェア110を使用する設計の流れは、以下に説明される。設計の流れの説明は、例証の目的のためだけであって、本発明を制限することは意図されないということを留意されたい。たとえば、実際の集積回路設計は、以下で説明される順序とは異なる順序で設計の流れのステップを行うことを設計者に要求しうる。システム設計ステップ112において、設計者らは、インプリメントする機能性を記述しうる。設計者らは、機能性を高め、かつコストをチェックするために、起こりうる事態の計画も行いうる。さらに、ハードウェア‐ソフトウェアのアーキテクチャを分割することは、このステップで生じる。論理設計および機能上の検証ステップ114において、ハードウェア記述言語HDL設計は、生成され、かつ機能上の正確さについてチェックされうる。統合および設計ステップ116において、HDLコードは、対象の技術のために最適化されうるネットリストに翻訳されうる。さらに、試験は、完成したチップをチェックするために設計され、かつインプリメントされうる。ネットリスト検証ステップ118において、ネットリストは、タイミング制限との適合性について、およびHDLコードとの対応についてチェックされうる。設計計画ステップ120において、チップについての全部のフロアプランが描かれ、かつタイミングおよびトップレベルのルーティングについて分析されうる。次に、物理的インプリメンテーションステップ122において、配置およびルーティングが行われうる。分析および取り出しステップ124において、回路の機能性は、トランジスタレベルで検証されうる。物理的検証ステップ126において、設計は、機能上、製造上、電気的、またはリソグラフィーの問題のいずれも正すためにチェックされうる。解像度を高めるステップ128において、幾何学的な操作は、設計の製造可能性を向上させるためにレイアウトに対して行われうる。最後に、マスクデータ準備ステップ130において、設計は、完成したチップを製造するマスクの製造のためにテープアウト140されうる。ひとたび設計要求違反が回路設計において識別されると、回路のセルは、設計要求違反を修正するために調整されうる。たとえば、セットアップ時間違反を修正するために、経路内の1つ以上のセルは、サイズアップされ、経路を横切る信号により経験される遅延を減らしうる。同様に、ホールド時間違反を修正するために、1つ以上のバッファーは、経路に追加され、経路のピンでホールド時間を増加させうる。設計要求違反を修正するために回路のセルになされる追加の調整は、ECOengineeringchangeorderと呼ばれる。ECOはタイミング違反を修正することに制限されないということを留意されたい。ECOは、概して、いずれの種類の違反たとえば、設計要求チェック違反、騒音違反、漏れ違反なども修正するために使用されうる。図2Aおよび2Bは、どのように、シナリオにおける設計要求違反を修正することが、別のシナリオにおける別の設計要求違反を生成しうるか、またはさらに悪くしうるかを図示する。ゲート202~220は、回路設計の一部でありうる。図2Aに図示されるように、回路設計は、シナリオS1において経路222および224に沿ったセットアップタイミング違反を有しうる。シナリオS1のみを考える場合、ゲート208-Sは、タイミング違反を修正するためのECOを適用する良い候補である。特に、ゲート208-Sは、経路222および224に沿ったセットアップタイミング違反を修正するために、より速いゲートつまり、より小さな遅延値を有するゲートと取り替えられうる。しかし、図2Bに示されるように、ゲート208-Sをより速いゲートと取り替えることは、シナリオS2において経路226に沿ったホールドタイミング違反を生成しうるか、またはさらに悪くしうる。特に、図2Bは、ゲート208-Sが、ゲート208-Sのより速い型であるゲート208-Fと取り替えられたことを示す。ゲート208-Sがゲート208-Fと取り替えられたとき、シナリオS1において経路222および224に沿ったセットアップ違反を修正したが、シナリオS2において経路226に沿ったホールド違反を生成したか、またはさらに悪くした。これらの理由のため、システムたとえば、EDAツールを実行するコンピュータシステムは、設計要求違反を修正するときに複数のシナリオをチェックする必要がある。図2Aおよび2Bにおいて、システムが、設計要求違反を修正するときにシナリオS1とS2との両方をチェックする場合、システムは、ECOを適用する候補としてゲート202、204、および212を選択しうる。たとえば、システムは、ゲート202および204をより速いゲートと取り替え、ゲート212をより遅いゲートと取り替え、それによってシナリオS1において経路222および224に沿ったセットアップタイミング違反を修正し、同時にシナリオS2において経路226に沿ったホールドタイミング違反を修正しうる。同様の考えは、他のタイプの違反が修正されるときにも適用される。図3は複数のシナリオにおける設計要求違反を修正するアプローチを図示する。コンピュータシステム302は、プロセッサー304、メモリー306、およびストレージデバイス308を含みうる。コンピュータシステム302は、ディスプレイデバイス314、キーボード310、およびポインティングデバイス312に連結されうる。ストレージデバイス308は、オペレーティングシステム316、アプリケーション318、および異なるシナリオに対応するシナリオイメージ320~324を記憶しうる。シナリオイメージ320~324は、特定のシナリオにおいて回路設計の設計要求違反を検出および/または修正するためのアプリケーション318により要求される情報を含みうる。各々のシナリオイメージが概して非常に大きいので、コンピュータシステム302は、所与の時にいつでも、1つのシナリオイメージをメモリー306内に保持することができるだけでありうる。動作中、アプリケーション318は、特定のシナリオに対応するシナリオイメージたとえば、シナリオS1に対応するシナリオイメージ320をストレージ308からメモリー306内へロードしうる。次に、アプリケーション318は、シナリオイメージ320を使用して、シナリオS1における設計要求違反を修正するECOを決定しうる。それから、アプリケーション318は、シナリオイメージ320をメモリー306から除去し、シナリオS2に対応しうるシナリオイメージ322をストレージ308からメモリー306にロードしうる。次に、アプリケーション318は、シナリオイメージ322を使用して、シナリオS1における設計要求違反を修正するように決定されたECOが、新しい設計要求違反を生成するか、またはシナリオS2における現存の設計要求違反をさらに悪くするかどうかをチェックしうる。そのような場合、アプリケーション318は、ECOを却下し、シナリオS1におけるECOの新しいセットを決定することでやり直しうる。一方で、新しい設計要求違反が生成されず、かつ現存の設計要求違反がシナリオS2においてさらに悪くならなかった場合、システムは、次のシナリオに対応する次のシナリオイメージをロードしうる。この態様で、システムは、各々のシナリオにおいてECOをチェックし続けえ、ひとたびECOがすべてのシナリオにおいてチェックされると、システムは、ECOを回路設計に引き渡す。不運にも、ディスク動作の長い呼び出し時間が原因で、シナリオイメージをストレージ308からメモリー306にロードすることは、通例、長い時間がかかる。結果として、上記のアプローチは、複数のシナリオにおける設計要求違反を修正するために実行不可能なほどに長い時間がかかりうる。分散コンピューティングに基づくアプローチは、性能を向上させるために使用されうる。たとえば、各々のシナリオイメージは、分散コンピューティング環境内の別個のコンピュータ内にロードされうる。それから、コンピュータが特定のシナリオのためのECOを決定するとき、コンピュータは、ECOを分散コンピューティング環境内の他のコンピュータに伝達して、異なるシナリオにおいてECOを検証しうる。不運にも、このアプローチは、シナリオの数が多いたとえば数百場合、数多くのコンピュータを要求するので、非常に高価でありうる。本発明のいくつかの実施形態は、複数のシナリオにおける設計要求違反を修正するECOを決定するために要求される時間の量を実質的に減らしうる。いくつかの実施形態は、すべてのシナリオからの情報を含む複数シナリオECOデータベースを生成する。このデータベースは、シナリオイメージと並んでメモリー内に存在しうるほど十分に小さい。システムが、特定のシナリオにおける設計要求違反を修正するECOのセットを決定するとき、システムは、複数シナリオECOデータベースを使用して、すべてのシナリオにわたってECOをチェックしうる。複数シナリオECOデータベースは、システムに、ECOが各々のシナリオにおいて有すると予期される影響を素早く推定することを可能にさせる。図4は、複数シナリオECOデータベースを使用して、複数のシナリオにおける設計要求違反を修正するアプローチを図示する。図3のように、コンピュータシステム402は、プロセッサー404、メモリー406、およびストレージデバイス408を含みうる。コンピュータシステム402は、ディスプレイデバイス414、キーボード410、およびポインティングデバイス412に連結されうる。ストレージデバイス408は、オペレーティングシステム416、アプリケーション418、および異なるシナリオに対応するシナリオイメージ420~424を記憶しうる。シナリオイメージ420~424はデータを含みえ、このデータは、特定のシナリオにおいて回路設計の設計要求違反を分析し、シミュレートし、かつ/または修正するためにアプリケーション418により要求される。各々のシナリオイメージが概して非常に大きいので、コンピュータシステム402は、所与の時にいつでも、1つのシナリオイメージをメモリー406内に保持することができるだけでありうる。ストレージ408は、複数シナリオECOデータベース426をさらに記憶しうる。複数シナリオECOデータベース426は、複数のシナリオについての回路情報を含みえ、この回路情報は、複数のシナリオにおけるECOの影響を推定するために使用されうる。動作中、アプリケーション418は、特定のシナリオに対応するシナリオイメージたとえば、シナリオS1に対応するシナリオイメージ420をストレージ408からメモリー406内にロードしうる。次に、アプリケーション418は、複数シナリオECOデータベース426をメモリー406内にロードしうる。複数シナリオECOデータベース426は、シナリオイメージ420と並んでメモリー406内に存在しうるほど十分に小さくありうる。それから、アプリケーション418は、シナリオイメージ420を使用することで、シナリオS1における設計要求違反を修正するECOを決定し、かつ複数シナリオECOデータベース426を使用することで、ECOが他のシナリオにおいて、新しい設計要求違反を生成することも、現存の設計要求違反をさらに悪くすることも予期されないことを保証しうる。次に、アプリケーション418は、決定されたECOを回路設計に引き渡すか、またはECOが後で回路設計に引き渡されうるように、ECOをストレージ408内に記憶することかのどちらかをしうる。図3におけるアプリケーション318とは違って、アプリケーション418は、他のシナリオにおけるECOの影響をチェックするためにシナリオイメージを交換しないので、アプリケーション418は、他のシナリオにおけるECOの影響をチェックするために要求される時間の量を実質的に減らす。ひとたびシナリオS1に対するECOが、引き渡されるか、またはストレージ408内に記憶されるかのどちらかがされると、アプリケーション418は、別のシナリオに対応する第二のシナリオイメージをロードしうる。たとえば、アプリケーション418は、シナリオS2に対応するシナリオイメージ422をロードしうる。次に、アプリケーション418は、シナリオイメージ422を使用することで、シナリオS2における設計要求違反を修正するECOを決定し、かつ複数シナリオECOデータベース426を使用することで、他のシナリオにおけるECOの影響をチェックしうる。この態様で、システムは、各々のシナリオにおける設計要求違反を修正するECOを決定し、かつ複数シナリオECOデータベースを使用してECOの影響をチェックしうる。図3および4に示される実施形態は、例証の目的のためだけである。実施形態に対する種々の改変は、当業者にとって容易に明白である。たとえば、一実施形態において、コンピュータシステム402は、コンピュートファームの一部であり、かついずれのユーザーインターフェースデバイスも含まなくてもよく、アプリケーション418は、コンピュートファームに作業として委ねられうる。別の実施形態において、コンピュータ402は、クラウドコンピューティングインフラストラクチャーの一部でありうる。図5は、表形式の複数シナリオECOデータベースの一部を図示する。表500の各々の列はシナリオに対応しえ、各々の行はパラメータたとえば、遅延、静電容量、スルーなどに対応しうる。複数シナリオECOデータベースは、すべてのシナリオにわたって関与する各々の対象たとえば、ゲート、ネット、ピン、などについてのパラメータの値を記憶しうる。表500は、回路設計において特定の対象と関連づけられる複数シナリオECOデータベースの一部を表す。たとえば、値V-501~V-509は、異なるシナリオにおけるゲート208-S図2Aを参照と関連づけられるパラメータの値でありうる。複数シナリオECOデータベース内に記憶される情報は、シナリオイメージたとえばシナリオイメージ420図4を参照内に記憶される情報の小さな断片でありうる。特に、複数シナリオECOデータベースは、異なるシナリオにおけるECOの影響を分析するために要求される対象たとえば、ゲート、ネット、ピンなどについての情報を記憶するだけでありうる。たとえば、図2Aおよび2Bにおいて、ゲート214はセットアップタイミング違反経路上にも、ホールドタイミング違反経路上にもないので、ゲート214についての情報は、複数シナリオECOデータベース内に記憶される必要がない。さらに、複数シナリオECOデータベースは、まばらでありえ、つまり、複数シナリオECOデータベースは、異なるシナリオにおけるECOの影響を分析するために要求されるシナリオおよび/またはパラメータだけについての値を記憶しうる。たとえば、図2Aのゲート208-Sが静的漏れ電力バジェットに違反することが予期されない場合、ゲート208-Sの静的漏れ電力についての情報は、複数シナリオECOデータベース内に記憶されなくてもよい。同様に、回路設計が、特定のシナリオにおいていずれの設計要求違反も有さず、またそのシナリオにおいて何か設計要求違反を有することが予期されない場合、複数シナリオECOデータベースは、そのシナリオについてのいずれの情報も記憶しなくてもよい。表500に示される情報は、特定のゲートと関連づけられうる。システムは、設計要求違反を修正するためにゲートを新しいゲートと取り替えうる。しかし、メモリーおよび複数シナリオECOデータベース内の現用のシナリオイメージは、新しいゲートについてのいずれの情報も有さなくてもよい。したがって、本発明のいくつかの実施形態は、現用のシナリオイメージおよび複数シナリオECOデータベースを使用して、設計要求違反を修正するために使用される取り替えゲートについてのパラメータの値を推定する。たとえば、表500が図2Aに示されるゲート208-Sについてのパラメータの値を記憶すると仮定する。特に、図5におけるパラメータP1がゲート208-Sのゲート遅延に対応すると仮定する。さらに、ゲート208-Sをゲート208-Fと取り替えることが、シナリオS1において、図2Aに示される2つのセットアップ違反を修正することを、システムが決定すると仮定する。その場合、システムは、ゲート208-Sをゲート208-Fと取り替えることが、シナリオS2において何か問題を生成するかどうかをチェックすることを望みうる。しかし、表500は、ゲート208-Fについてのパラメータの値たとえば、ゲート遅延を有さず、シナリオS1についてのイメージは、シナリオS2についてのゲート遅延の値を有さない。図6は、どのように、パラメータの値が、シナリオイメージおよび複数シナリオECOデータベースを使用して推定されうるかの例を図示する。ゲート602についてのパラメータP1の値が、シナリオS1およびS2においてそれぞれ、10および5に等しく、ゲート604についてのパラメータP1の値が、シナリオS1において14に等しいと仮定する。破線の囲みは、複数シナリオECOデータベース内に記憶されうる情報を示し、点線の囲みは、シナリオS1についてのイメージ内に記憶されうる情報を示す。シナリオS2におけるゲート604についてのパラメータP1の値は、シナリオS1についてのイメージ内に記憶されず、複数シナリオECOデータベース内にも記憶されないということを留意されたい。シナリオS2におけるゲート604についてのパラメータP1の値は、ゲート602をゲート604と取り替えることが、新しい設計要求違反を生成すると予期されるか、またはシナリオS2において現存の設計要求違反をさらに悪くすると予期されるかどうかを決定するために要求されうる。本発明のいくつかの実施形態は、シナリオS1についてのイメージおよび複数シナリオECOデータベース内に含まれる情報に基づいて、シナリオS2におけるゲート604についてのパラメータP1の値を推定する。一般に、システムは、パラメータの値を推定するためにいずれの推定関数も使用しうる。一実施形態において、システムは、シナリオS1およびS2におけるゲート602についてのパラメータP1の値の間の比率を決定し、その比率を使用することにより、シナリオS2におけるゲート604についてのパラメータP1の値を決定しうる。たとえば、図6において、シナリオS1およびS2におけるゲート602についてのパラメータP1の値の間の比率は、2に等しい。それから、この比率は、使用されて、シナリオS2におけるゲート604についてのパラメータP1の値を7であると決定しうる。図7は、複数のシナリオにおける設計要求違反を修正する工程を図示するフローチャートを与える。工程は、シナリオイメージを受け取ることで始まりえ、そのシナリオイメージは、シナリオにおける回路対象についてのパラメータの値を記憶する動作702。シナリオは、工程コーナー、動作条件、または動作モードのうちの1つ以上と関連づけられうる。シナリオイメージは、詳細なタイミング分析を行うため、および種々の設計要求との適合性をチェックするために使用される情報を含みうる。そのような場合、シナリオイメージは、非常に大きくありえ、コンピュータシステムは、所与の時にいつでも、単一のシナリオイメージをメモリー内に記憶することができるだけでありうる。パラメータの値は、回路設計における1つ以上のピンでのタイミングスラックの値、回路設計におけるゲートについての漏れ電力の値、回路設計における1つ以上のピンでの容量性負荷の値および遷移時間の値を含みうるが、これらに制限されない。以下の段落は、設計要求ならびに関連したパラメータの値および回路対象のいくつかの例を説明する。これらの例は、例証の目的のためだけであって、本発明の範囲を制限することは意図されない。最大遅延タイミング要求別名セットアップ時間要求は、信号にタイミングエンドポイントと関連した必要時間の前にタイミングエンドポイントに到達するように要求する。この設計要求が違反される場合、回路設計は、おそらく、より遅い速度で動作される必要がある。タイミングエンドポイントは、この設計要求を満たす必要がありうる回路対象の例である。タイミングエンドポイントでのスラックの値たとえば、タイミングエンドポイントでの信号の必要時間と到達時間との間の差は、ECOがこの設計要求の違反を修正するかどうかを決定するために、シナリオイメージおよび/または複数シナリオECOデータベース内に記憶される必要がありうるパラメータの値の例である。スラックの値の大きさは、タイミングエンドポイントがこの設計要求に違反するときに負であり、タイミングエンドポイントが設計要求を満足するときに正でありうる。最小遅延タイミング要求別名ホールド時間要求は、信号に必要時間の後にタイミングエンドポイントに到達するように要求する。この設計要求が違反される場合、たとえば信号がレジスターにより捕捉されなかったので回路は、おそらく、正常に動作せず、かつ/または不完全な機能性を有する。タイミングエンドポイントは、この設計要求を満たす必要がありうる回路対象の例である。タイミングエンドポイントでのスラックの値たとえば、タイミングエンドポイントでの信号の必要時間と到達時間との間の差は、ECOがこの設計要求の違反を修正するかどうかを決定するために、シナリオイメージおよび/または複数シナリオECOデータベース内に記憶される必要がありうるパラメータの値の例である。スラックの値の大きさは、タイミングエンドポイントがこの設計要求に違反するときに負であり、タイミングエンドポイントがこの設計要求を満足するときに正である。電気的設計規則別名電気的DRCは、1つ以上の制限を回路対象の1つ以上の電気的性質に課す。電気的設計規則の例は、最大許容信号遷移時間、各々のゲート上の最大許容容量性負荷、ネットの最大許容ファンアウト、およびネットの最大長さを含む。シナリオイメージおよび/または複数シナリオECOデータベース内に記憶される必要がありうるパラメータの値の例は、回路対象の電気的性質の値たとえば、静電容量でありうる。この設計規則は、異なるタイプの回路対象に適用されうる。たとえば、最大許容信号遷移時間要求は、タイミングエンドポイントもしくはゲートたとえば、ゲートの出力での遷移は、ある範囲内になければならないまたはネットたとえば、ネット上のいずれのピン上の遷移は、ある値より小さくなければならないに適用されうる。最大許容容量性負荷要求は、論理ゲートに適用されうる。最大許容ファンアウト要求および/または最大長さ要求はネットに適用されうる。電力バジェット制約または要求は、1つ以上の制限を回路設計の1つ以上の電力に関連する性質に課しうる。電力に関連する設計要求の例は、回路対象の許容漏れ電力、動的電力、および/または全電力の上限を含む。シナリオイメージおよび/または複数シナリオECOデータベース内に記憶されうるパラメータの値は、回路対象の電力消費の値でありうる。この設計要求は、異なるタイプの回路対象に適用されうる。たとえば、電力に関連する設計要求は、全体の回路設計、または回路設計における各々のリーフレベルのセルインスタンス、または回路設計における特定のブロックに適用されうる。図7の論述を続けると、システムは、それから、複数シナリオECOデータベースを受け取りえ、その複数シナリオECOデータベースは、複数のシナリオにおける回路対象の下位セットについてのパラメータの値の下位セットを記憶する動作704。複数シナリオECOデータベースは、複数のシナリオにわたって回路対象についての種々のパラメータの値を記憶する。しかし、複数シナリオECOデータベースは、回路対象の下位セットだけについてのパラメータの値の下位セットを記憶する必要があるだけでありうるので、複数シナリオECOデータベースは、シナリオイメージと比べると、サイズが実質的に小さくありうる。いくつかの実施形態において、複数シナリオECOデータベースは、関与する各々のパラメータについての値の範囲を記憶するだけである。範囲は、いずれの所与のシナリオにおいてもパラメータの値がその範囲内にあるように選択される。いくつかの実施形態において、システムは、既知の設計要求違反に基づいて複数シナリオECOデータベースを築く。たとえば、回路設計が、特定の数の設計要求に違反すると仮定する。システムは、設計要求違反により影響を与えられるパラメータおよび回路対象を決定しうる。次に、システムは、それらのパラメータの値だけを複数シナリオECOデータベース内に記憶しうる。たとえば、図2Aおよび2Bに示されるように、ゲート214は、セットアップタイミング違反経路上にも、ホールドタイミング違反経路上にもないので、ゲート214と関連づけられるパラメータの値は、複数シナリオECOデータベース内に記憶されなくてもよい。いくつかの実施形態において、システムは、既知の設計要求違反および潜在的な設計要求違反に基づいて複数シナリオECOデータベースを築く。たとえば、システムは、違反していないが、違反しそうなパラメータの値を考えうる。たとえば、ゲート214が、タイミング経路上にあり、その経路のスラックがほぼ0であるつまり、ゲート214はタイミング要求に違反しそうである場合、ゲート214と関連づけられるパラメータの値は、複数シナリオECOデータベース内に記憶されうる。図7の論述を続けると、システムは、それから、1つ以上の設計要求違反を修正するECOを決定しえ、前記決定することは、シナリオイメージおよび複数シナリオECOデータベース内に記憶されたパラメータの値に基づいて、複数のシナリオにおける回路対象についてのパラメータの値を推定することを含む動作706。特に、シナリオイメージは、第一のシナリオにおける第一のゲートおよび第二のゲートについてのパラメータの値を記憶しうる。複数シナリオECOデータベースは、第二のシナリオにおける第一のゲートについてのパラメータの値を記憶しうる。システムは、それから、シナリオイメージおよび複数シナリオECOデータベース内に記憶されたパラメータの値に基づいて、第二のシナリオにおける第二のゲートについてのパラメータの値を推定しうる。結論上記の説明は、当業者の誰もが実施形態を生産し、かつ使用することができるように与えられる。開示された実施形態に対する種々の改変は、当業者にとって容易に明白であり、本明細書中に定義される概括的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および用途に応用できる。したがって、本発明は、示される実施形態に制限されずに、本明細書に開示される原理および特徴と一致する最も広い範囲を授けられる。本開示内に説明されるデータ構造およびコードは、コンピュータ読み取り可能な記憶媒体および/またはハードウェアモジュールおよび/またはハードウェア装置上に部分的にまたは完全に記憶されうる。コンピュータ読み取り可能な記憶媒体は、現時点で既知もしくはのちに開発される、コードおよび/またはデータを記憶することができる揮発性メモリー、不揮発性メモリー、ディスクドライブのような磁気および光学的記憶デバイス、磁気テープ、CDコンパクトディスク、DVDデジタルバーサタイルディスクもしくはデジタルビデオディスク、または他の媒体を含むが、これらに制限されない。本開示内に説明されるハードウェアモジュールまたは装置は、現時点で既知もしくはのちに開発される特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、専用もしくは共有プロセッサー、および/または他のハードウェアモジュールもしくは装置を含むが、これらに制限されない。本開示内に説明される方法および工程は、コンピュータ読み取り可能な記憶媒体またはデバイス内に記憶されるコードおよび/またはデータとして部分的にまたは完全に具体化されえ、その結果、コンピュータシステムがコードおよび/またはデータを読み取り、かつ実行するとき、コンピュータシステムは、関連した方法および工程を行う。方法および工程は、ハードウェアモジュールまたは装置内にも部分的にまたは完全に具体化されえ、その結果、ハードウェアモジュールまたは装置が起動されるとき、ハードウェアモジュールまたは装置は関連した方法および工程を行う。方法および工程は、コード、データ、およびハードウェアモジュールもしくは装置の組み合わせを使用することで具体化されうるということを留意されたい。本発明の実施形態の上述の説明は、例証および説明の目的のためだけに与えられてきた。上述の説明は、網羅的であることも、本発明を開示された形態に制限することも意図されない。したがって、多数の改変および変化は、当業者にとって明白である。さらに、上記の開示は、本発明を制限することは意図されない。本発明の範囲は、添付の特許請求の範囲により定義される。