(57)【要約】１つ以上のプロパティは、マイクロデバイス設計における設計対象に関連付けることができる。設計対象は、レイアウト設計における幾何学的要素等の、マイクロデバイスに対する物理的レイアウト設計における対象であってもよい。また、設計対象は、ネット、階層化設計におけるセル、または設計の層における幾何学的要素の全ての集合体等の、レイアウト設計における幾何学的要素の集合体であってもよい。さらに、設計対象は、集積回路の論理回路設計におけるネット等の、論理回路設計におけるアイテムであってもよい。１つ以上のプロパティの値は、静的に割り当てられるか、または電子設計自動化ツールによって行われる設計プロセス中に動的に生成されてもよい。プロパティには、一定値、または１つ以上の変数を含む方程式または他の種類のスクリプトによって定義された値が割り当てられてもよい。
2010506336.tif 000002
【特許請求の範囲】
【請求項１】
回路設計を解析する方法であって、
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
該プロパティ値をメモリ格納媒体に格納することと
を含む、方法。
【請求項２】
前記設計対象は、多角形の辺、多角形の１つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項１に記載の方法。
【請求項３】
前記設計対象は、一群の多角形の辺、一群の多角形、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および前記レイアウト設計の層における前記幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における幾何学的要素の集合体である、請求項２に記載の方法。
【請求項４】
前記設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項２に記載の方法。
【請求項５】
前記プロパティ値は、前記プロパティが関連付けられた前記設計対象の記述とは別である、請求項１に記載の方法。
【請求項６】
前記プロパティは、一定値を有する、請求項１に記載の方法。
【請求項７】
前記プロパティは、可変関数を含む値定義を有する、請求項１に記載の方法。
【請求項８】
前記可変関数は、前記回路設計に幾何学的データを組み込む、請求項７に記載の方法。
【請求項９】
前記可変関数は、プログラムスクリプトに記述される、請求項７に記載の方法。
【請求項１０】
前記プロパティは、ベクトルを含む値を有する、請求項１に記載の方法。
【請求項１１】
前記プロパティは、一連の値を含む値を有する、請求項１に記載の方法。
【請求項１２】
前記プロパティは、第２のプロパティを組み込む複合値を有する、請求項１に記載の方法。
【請求項１３】
前記プロパティは、第１の組の条件下で前記プロパティの第１の値を定義し、該第１の組の条件とは異なる第２の組の条件下で該プロパティの第２の値を定義する、代替値定義を有する、請求項１に記載の方法。
【請求項１４】
前記プロパティは、文字列を含む値を有する、請求項１に記載の方法。
【請求項１５】
前記プロパティは、２つ以上の並列値を有する、請求項１に記載の方法。
【請求項１６】
前記２つ以上の並列プロパティ値は、異種である、請求項１５に記載の方法。
【請求項１７】
前記２つ以上の並列プロパティ値は、座標値である、請求項１５に記載の方法。
【請求項１８】
前記電子設計自動化プロセスを実行している間に、前記プロパティを、前記回路設計における第２の設計対象と関連付けることをさらに含む、請求項１に記載の方法。
【請求項１９】
前記電子設計自動化プロセスを実行している間に、
前記プロパティに対する少なくとも１つの値定義を加えることと、
前記プロパティの各値定義の値を決定することと
をさらに含む、請求項１に記載の方法。
【請求項２０】
前記電子設計自動化プロセスを実行している間に、第２のプロパティの値を決定することをさらに含み、前記第２のプロパティは、前記回路設計における異なる設計対象に関連付けられる、請求項１に記載の方法。
【請求項２１】
前記電子設計自動化プロセスを実行している間に、前記プロパティの以前に決定した値を、該プロパティの新たに決定した値と置き換えることをさらに含む、請求項１に記載の方法。
【請求項２２】
前記プロパティの前記以前に決定した値から、該プロパティの前記新たに決定した値を導出することをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記プロパティの新たに決定した値を、該プロパティの前記以前に決定した値が格納された、メモリ格納媒体内の場所に格納することをさらに含む、請求項２１に記載の方法。
【請求項２４】
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第１の設計対象に関連付けられ、該第１の設計対象とは異なる少なくとも１つの第２の設計対象の特徴から導出された値を有する、ことと
該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
【請求項２５】
前記第１の設計対象は、多角形の辺、多角形の１つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項２４に記載の方法。
【請求項２６】
前記第１の設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項２５に記載の方法。
【請求項２７】
前記第１の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項２５に記載の方法。
【請求項２８】
前記第２の設計対象は、多角形の辺、多角形の１つ以上の頂点、多角形、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項２４に記載の方法。
【請求項２９】
前記第２の設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項２８に記載の方法。
【請求項３０】
前記第２の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項２８に記載の方法。
【請求項３１】
前記特徴は、前記少なくとも１つの第２の設計対象の特性である、請求項２４に記載の方法。
【請求項３２】
前記特徴は、前記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、請求項２４に記載の方法。
【請求項３３】
前記少なくとも１つの第２の設計対象は、前記プロパティが関連付けられた前記設計対象に接触する幾何学的要素、該プロパティが関連付けられた該設計対象と交差する幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にあるか、または別の関連設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象に重なる幾何学的要素、該プロパティが関連付けられた該設計対象によってクリップされる幾何学的要素の各部分、該設計対象と同じデバイスに属する論理回路設計におけるアイテム、該設計対象とネットを共有する論理回路設計におけるアイテム、および該設計対象と参照識別子を共有する論理回路設計におけるアイテムから成る群より選択される、請求項２４に記載の方法。
【請求項３４】
前記プロパティは、可変関数を含む値定義を有する、請求項２４に記載の方法。
【請求項３５】
前記可変関数は、プログラムスクリプトに記述される、請求項３４に記載の方法。
【請求項３６】
前記プロパティは、第１の組の条件下で第１の値を、および該第１の組の条件とは異なる第２の組の条件下で第２の値を決定する、代替値定義を有し、該第１の値および該第２の値のうちの少なくとも１つは、前記少なくとも１つの第２の設計対象の前記特徴から導出される、請求項２４に記載の方法。
【請求項３７】
前記プロパティは、２つ以上の並列値定義を有し、前記値定義のうちの少なくとも１つは、前記少なくとも１つの第２の設計対象の前記特徴を使用する、請求項２４に記載の方法。
【請求項３８】
前記特徴は、前記少なくとも１つの第２の設計対象の特性である、請求項３７に記載の方法。
【請求項３９】
前記特徴は、前記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、請求項３７に記載の方法。
【請求項４０】
前記電子設計自動化プロセスを実行している間に、前記プロパティに対する少なくとも１つの値定義を加えることであって、前記値定義は、前記少なくとも１つの第２の設計対象の前記特徴を使用する、ことと、
該プロパティの各値定義の値を決定することと
をさらに含む、請求項２４に記載の方法。
【請求項４１】
前記特徴は、前記少なくとも１つの第２の設計対象の特性である、請求項２４に記載の方法。
【請求項４２】
前記特徴は、前記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、請求項２１に記載の方法。
【請求項４３】
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第１の設計対象に関連付けられ、該プロパティが関連付けられた該設計対象とは別の幾何学的要素から導出された値を有する、ことと
を含む、回路設計を解析する方法。
【請求項４４】
第１の電子設計自動化プロセスで回路設計を受容することと、
該回路設計を使用して該第１の電子設計自動化プロセスを実行することと、
該第１の電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
第２の電子設計自動化プロセスによる使用のために、該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
【請求項４５】
前記プロパティ値は、前記第２の電子設計自動化プロセスによる以降の使用のために、メモリ格納媒体に出力される、請求項４４に記載の方法。
【請求項４６】
前記プロパティ値は、前記第２の電子設計自動化プロセスに直接出力される、請求項４４に記載の方法。
【請求項４７】
前記プロパティ値を使用して前記第２の電子設計自動化プロセスを実行することをさらに含む、請求項４４に記載の方法。
【請求項４８】
前記プロパティ値を使用して前記第２の電子設計自動化プロセスを実行した結果に基づいて、回路を製造することをさらに含む、請求項４７に記載の方法。
【請求項４９】
前記第１の電子設計自動化プロセスを実行している間に、前記回路設計における第２の設計対象に関連付けられた第２のプロパティの少なくとも１つの値を決定することと、
前記第１のプロパティ値とともに該第２のプロパティ値を、前記第２の電子設計自動化プロセスへ出力することと
をさらに含む、請求項４４に記載の方法。
【請求項５０】
前記第１の電子設計自動化プロセスは、シミュレーション解析プロセスであり、
前記第２の電子設計自動化プロセスは、幾何解析プロセスまたは論理解析プロセスである、請求項４４に記載の方法。
【請求項５１】
前記シミュレーション解析プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、請求項５０に記載の方法。
【請求項５２】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項５１に記載の方法。
【請求項５３】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドの記述として、該プロパティ値を決定することをさらに含む、請求項５１に記載の方法。
【請求項５４】
前記第２の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項５０に記載の方法。
【請求項５５】
前記第２の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
前記少なくとも１つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項５０に記載の方法。
【請求項５６】
前記第２の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項５０に記載の方法。
【請求項５７】
前記第１の電子設計自動化プロセスは、論理解析プロセスであり、
前記第２の電子設計自動化プロセスは、シミュレーション解析プロセスまたは幾何解析プロセスである、請求項４４に記載の方法。
【請求項５８】
前記第１の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項５７に記載の方法。
【請求項５９】
前記第１の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
前記少なくとも１つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項５８に記載の方法。
【請求項６０】
前記第２の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセス、から成る群より選択される、シミュレーション解析プロセスである、請求項５７に記載の方法。
【請求項６１】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項６０に記載の方法。
【請求項６２】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項６０に記載の方法。
【請求項６３】
前記第２の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項５７に記載の方法。
【請求項６４】
前記第１の電子設計自動化プロセスは、幾何解析プロセスであり、
前記第２の電子設計自動化プロセスは、シミュレーション解析プロセスまたは論理解析プロセスである、請求項４４に記載の方法。
【請求項６５】
前記第１の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項６４に記載の方法。
【請求項６６】
前記第２の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、請求項６４に記載の方法。
【請求項６７】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項６６に記載の方法。
【請求項６８】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項６６に記載の方法。
【請求項６９】
前記第２の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項６４に記載の方法。
【請求項７０】
前記第２の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
前記少なくとも１つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項６４に記載の方法。
【請求項７１】
電子設計自動化プロセスで回路設計を受容することと、
該電子設計自動化プロセスの第１の部分を実行することと、
該電子設計自動化プロセスの該第１の部分を実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
該電子設計自動化プロセスの第２の部分による使用のために、該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
【請求項７２】
前記プロパティ値を使用して前記電子設計自動化プロセスの前記第２の部分を実行することをさらに含む、請求項７１に記載の方法。
【請求項７３】
前記プロパティ値を使用して前記電子設計自動化プロセスの前記第２の部分を実行した結果に基づいて、回路を製造することをさらに含む、請求項７２に記載の方法。
【請求項７４】
前記電子設計自動化プロセスは、幾何解析プロセス、シミュレーション解析プロセス、および論理解析プロセスから成る群より選択される、請求項７１に記載の方法。
【請求項７５】
前記電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項７４に記載の方法。
【請求項７６】
前記電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、請求項７４に記載の方法。
【請求項７７】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項７６に記載の方法。
【請求項７８】
前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項７６に記載の方法。
【請求項７９】
前記電子設計自動化プロセスは、論理解析プロセスである、請求項７４に記載の方法。
【請求項８０】
前記論理解析プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項７９に記載の方法。
【請求項８１】
前記論理解析プロセスは、レイアウト対回路図プロセスであり、
前記プロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項７９に記載の方法。
【請求項８２】
多角形の辺、レイアウト設計における幾何学的要素の集合体、および論理回路設計におけるアイテムから成る群より選択される、設計対象を記述するデータと、
該設計対象に関連付けられたプロパティの値を定義するデータと
を備える、データ構造。
【請求項８３】
前記設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、レイアウト設計における特定の種類のあらゆる階層的セル、および前記レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項１に記載のデータ構造。
【請求項８４】
前記設計対象を記述する前記データ、および前記設計対象に関連付けられた前記少なくとも１つのプロパティの前記値を定義する前記データは、テーブル内に配設される、請求項１に記載のデータ構造。
【請求項８５】
前記データは、前記プロパティの複数の並列値を定義する、請求項１に記載のデータ構造。
【請求項８６】
前記プロパティの前記複数の並列値は、アレイ内に格納される、請求項８５に記載のデータ構造。
【請求項８７】
前記プロパティに関連付けられた参照カウントデータであって、前記第１の設計対象に加えて、前記プロパティを少なくとも１つの第２の設計対象に関連付ける、参照カウントデータをさらに備える、請求項１に記載のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、２００６年１０月９日に出願された、Ｆｅｄｏｒ  Ｐｉｋｕｓを発明者とする「Ｐｒｏｐｅｒｔｉｅｓ  Ｉｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ」という名称の米国仮特許出願第６０／８５０，７１６号に対する優先権を主張し、この仮特許出願は本明細書において全体が参照により援用される。
【０００２】
（発明の分野）
本発明は、電子設計自動化における特性の使用に関する。本発明の種々の実装は、自動電子設計ツールにおけるプロセス間での１つ以上のプロパティの交換に有用となり得る。
【背景技術】
【０００３】
（発明の背景）
集積回路等の多くのマイクロデバイスは、非常に複雑になってきたために、これらのデバイスを手作業で設計することができない。例えば、単純なマイクロプロセッサであっても、マイクロプロセッサの構成要素を形成するように協働する数百万のトランジスタを有し得る。その結果、回路設計者が、回路の製造前にその設計を解析するのを支援するように、電子設計自動化ツールが作り出された。これらの電子設計自動化ツールは、一般的に、１つ以上の電子設計自動化（ｅｌｅｃｔｒｏｎｉｃ  ｄｅｓｉｇｎ  ａｕｔｏｍａｔｉｏｎ：ＥＤＡ）プロセスを実行して、回路設計が規定要件に適合していることを検証するか、その製造性を改善するように回路設計を変更するか、またはそれらの組み合わせを行う。例えば、いくつかの電子設計自動化ツールは、設計が所望の機能性を提供するように、回路設計から製造した回路の演算をシミュレーションするための、１つ以上のプロセスを提供することができる。さらに他の電子設計自動化ツールは、代替的に、または付加的に、回路設計が意図する回路の回路図に合致することを確認するための、好適な設計規則に適合していない回路設計の各部分を識別するための、設計の欠陥または他の脆弱性を識別するための、またはこれらの問題のうちのいずれかに対処するように回路設計を変更するための、１つ以上のプロセスを提供することができる。電子設計自動化ツールの実施例には、Ｗｉｌｓｏｎｖｉｌｌｅ、ＯｒｅｇｏｎにあるＭｅｎｔｏｒ  Ｇｒａｐｈｉｃｓ社から入手できるＣａｌｉｂｒｅファミリのソフトウェアツールが挙げられる。
【０００４】
設計自動化ツールが発展を続けるにつれて、これらのツールにはさらなる高度化が求められている。例えば、明らかな設計上の欠陥の検出に加えて、多くの電子設計自動化ツールには、現在、製造プロセス中に不適切に形成される可能性が非常に高い、設計における設計対象を識別すること、これらの設計対象が作り出す製造歩留まりに対する結果として生じる影響を判断すること、および／または製造プロセス中に、設計対象をより確実に製造できるようにする設計変更を識別することが期待されている（例えば、「製造性を考慮した設計」ｄｅｓｉｇｎ−ｆｏｒ−ｍａｎｕｆａｃｔｕｒｅ：ＤＦＭ）。これらの期待に応えるために、電子設計自動化ツールによって実行されるプロセスには、前世代の電子設計自動化ツールよりも多くの計算を実行することが必要となり得る。例えば、設計ルールチェックプロセスは、個々の配線ラインを形成するように物理的レイアウト設計に使用される多角形が、最小の規定距離で分離されていることを確認することができる。しかしながら、加えて、設計ルールチェックプロセスは、多角形が、それでも誤ったブリッジング不良を有する配線ラインを形成し得るという可能性を判断することもできる。この判断には、例えば、多角形間の距離、多角形が互いに隣接して延びる長さ、および多角形の隣接する各部分でのそれらの厚さを計算することが必要となり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子設計自動化ツールによって実行される単一のプロセスであっても、数百万の計算が必要になり得るので、設計自動化ツールの速度および効率の改善が継続的に探求されている。さらに、回路設計者および製造者に対する有用性を改善するために、電子設計自動化ツールのための追加的な機能性も継続的に探求されている。
【課題を解決するための手段】
【０００６】
本発明の側面は、電子設計自動化のためのより効率的なデータの処理手法に関する。以下に詳述するように、これらの手法を実装するツールおよび方法の両方の実施形態は、集積回路設計データ等のマイクロデバイス設計データを解析するための特定のアプリケーションを有する。
【０００７】
本発明の種々の実装によれば、１つ以上のプロパティは、マイクロデバイス設計における設計対象に関連付けることができる。設計対象は、マイクロデバイスに対する物理的レイアウト設計におけるあらゆるデータであってもよい。例えば、設計対象は、多角形、多角形の辺、一群の辺または１つ以上の多角形の頂点等の、レイアウト設計における幾何学的要素であってもよい。設計対象はまた、一群の多角形、階層的設計におけるセル、階層的設計における特定の種類のあらゆるセル、さらには設計の層における幾何学的要素の全ての集合体等の、レイアウト設計における幾何学的要素の集合体であってもよい。さらに、設計対象は、ネット、デバイス、または集積回路のための論理回路設計における接続ピンのインスタンス、あるいは階層的回路設計におけるセルの配置等の、非幾何学的アイテムを含む、別の種類の回路設計におけるデータのあらゆるアイテムであってもよい。
【０００８】
本発明のいくつかの実施例では、１つ以上のプロパティは、設計プロセスの実行中に、電子設計自動化ツールによって静的に割り当てられてもよい。代替的に、または付加的に、１つ以上のプロパティは、設計プロセスの実行中に、電子設計自動化ツールによって動的に生成されてもよい。プロパティは、あらゆる所望のデータ値を有してもよい。例えば、プロパティには、一定値またはベクトル値が割り当てられてもよい。あるいは、プロパティには、変数値が割り当てられてもよい。例えば、プロパティは、１つ以上の変数を含む方程式または他の種類のスクリプトによって定義してもよい。したがって、プロパティの値は、例えば、設計における幾何学的データから、動的に導出されてもよい。
【０００９】
プロパティは、単純なプロパティであってもよく、該プロパティの値の定義は、他のどのプロパティの値にも依存しない。代替的に、プロパティは、複合プロパティであってもよく、該プロパティの値の定義は、１つ以上の他の以前に決定したプロパティ値を組み込む。さらに、プロパティは、代替プロパティであってもよい。代替プロパティでは、プロパティは、第１の組の条件下で１つの値定義を有し、第２の組の条件下で別の値定義を有する。
【００１０】
プロパティはまた、複数の値を有してもよい。プロパティは、例えば、ｘ座標値、ｙ座標値、およびＺ座標値を有してもよい。さらに、プロパティは、複数の、異種の値を有してもよい。例えば、プロパティは、数値および文字列値を有してもよい。したがって、階層的レイアウト回路設計におけるセルに関連付けられたプロパティは、例えば、セルにおけるデバイスのデバイスカウントであってもよい数値、および、例えば、セルに対するライブラリソースを識別するモデル名であってもよい文字列値を有することができる。当然、複数の異種の値を有するプロパティは、上述の値定義の種類のあらゆる組み合わせ（例えば、１つ以上の定数値定義、１つ以上のベクトル値定義、１つ以上の動的値定義、１つ以上の単純値定義、１つ以上の複合値定義、１つ以上の文字列値定義等）を含む、値定義の種類のあらゆる組み合わせを有することができる。プロパティは、複数の代替値定義を有してもよく、代替値定義のうちの１つ以上は異なる種類である。
【００１１】
好都合には、本発明の種々の実装によって、第１の電子設計自動化プロセスは、１つ以上のプロパティ値を生成することが可能となり得る。次いで、生成されたプロパティ値は、別の電子設計自動化プロセスに渡すことができる。例えば、設計ルールチェック（ｄｅｓｉｇｎ  ｒｕｌｅ  ｃｈｅｃｋ：ＤＲＣ）プロセスは、物理的レイアウト設計における複数の幾何学的要素のそれぞれに対して、１つ以上のプロパティ値を生成することができる。次いで、設計ルールチェックプロセスは、これらのプロパティ値を、光近接効果補正（ｏｐｔｉｃａｌ  ｐｒｏｘｉｍｉｔｙ  ｃｏｒｒｅｃｔｉｏｎ：ＯＰＣ）プロセス等の、第２の電子設計自動化プロセスへ渡すことができる。設計ルールチェックプロセスによって提供されたプロパティ値を使用することにより、光近接効果補正プロセスは、プロパティ値を再計算せざるを得ない状態を回避することができる。このプロパティ値の使用は、第２の電子設計自動化プロセスが、プロパティ値自体を容易に計算することができない場合、または第２の電子設計自動化プロセスが、第１の電子設計自動化プロセスと同じくらい速く、または効率的にプロパティ値を計算することができない場合に特に有益なものとなり得る。
【００１２】
同様に、プロパティ値は、電子設計自動化プロセスの第１の部分によって生成して、続いて、同じ電子設計プロセスの第２の部分に提供してもよい。例えば、製造性を考慮した設計（ＤＦＭ）プロセスのある部分は、第１の演算中に、物理的レイアウト設計における複数の幾何学的要素のそれぞれに対する一組のプロパティ値を生成してもよい。製造性を考慮した設計プロセスの第１の部分は、次いで、算出したプロパティを、第２の、以降のプロセスの部分に提供することができる。このプロパティ値の使用は、電子設計自動化プロセスの第２の部分が、プロパティ値自体を容易に計算することができない場合、または電子設計自動化プロセスの第２の部分が、電子設計自動化プロセスの第１の部分と同じくらい速く、または効率的にプロパティ値を計算することができない場合に特に有益なものとなり得る。
【００１３】
本発明のこれらの、ならびに他の特徴および側面は、以下の詳細な説明を考慮することによって明らかとなろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の種々の実施形態の実装に使用してもよい、計算システムの一実施例を示す図である。
【図２】図２は、本発明の種々の実施形態の実装に使用してもよい、マルチコアプロセッサユニットの一実施例を示す図である。
【図３】図３は、本発明の種々の実施形態による、関連プロパティを使用してもよい、自動設計自動化のためのソフトウェアツールのファミリの一実施例を概略的に示す図である。
【図４】図４は、本発明の種々の実施形態による、１つ以上のプロパティに関連付けてもよい、マイクロ回路レイアウト設計の幾何学的要素を示す図である。
【図５】図５は、本発明の種々の実施形態が使用してもよい、一種のアレイの一実施例を示す図である。
【図６】図６は、ＥＤＡプロセスを使用し、プロパティ値を生成して、別のＥＤＡプロセスに提供できることを示すフローチャートである。
【図７】図７は、ＥＤＡプロセスの第１の部分を使用し、プロパティ値を生成して、ＥＤＡプロセスの第２の部分に提供できることを示すフローチャートである。
【発明を実施するための形態】
【００１５】
（例示的な動作環境）
本発明の実施形態による種々の電子設計自動化プロセスの実行は、１つ以上のプログラム可能な計算デバイスによって実行される、コンピュータで実行可能なソフトウェア命令を使用して実装してもよい。本発明のこれらの実施形態は、ソフトウェア命令を使用して実装することができるので、本発明の種々の実施形態を使用してもよい汎用のプログラム可能なコンピュータシステムの構成要素および動作を最初に説明する。さらに、いくつかの電子設計自動化プロセスが複雑であり、また多くの回路設計はサイズが大きいので、種々の電子設計自動化ツールは、複数の処理スレッドを同時に実行することができる計算システム上で動作するように構成される。したがって、ホストまたはマスタコンピュータ、および１つ以上のリモートまたはサーバントコンピュータを有する、コンピュータネットワークの構成要素および動作を図１を参照して説明する。しかしながら、この動作環境は、好適な動作環境の一例に過ぎず、本発明の使用範囲または機能性に関して、いかなる制限も示唆することを意図したものではない。
【００１６】
図１において、コンピュータネットワーク１０１は、マスタコンピュータ１０３を含む。図示の例において、マスタコンピュータ１０３は、複数の入出力デバイス１０５およびメモリ１０７を含む、マルチプロセッサコンピュータである。入出力デバイス１０５は、ユーザからの入力データを受信する、または出力データをユーザに提供するための、あらゆるデバイスを含んでもよい。入力デバイスには、例えば、ユーザからの入力を受信するためのキーボード、マイクロホン、スキャナ、またはポインティングデバイスが挙げられる。次いで、出力デバイスには、ディスプレイモニタ、スピーカ、プリンタ、または触覚フィードバックデバイスが挙げられる。これらのデバイスおよびそれらの接続は、当技術分野において既知であるので、ここでは詳細に考察しない。
【００１７】
メモリ１０７は、同様に、マスタコンピュータ１０３によってアクセスすることができる、コンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。コンピュータ読み取り可能媒体には、例えば、リードライトメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電子的消去およびプログラムが可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、またはフラッシュメモリマイクロ回路デバイス等のマイクロ回路メモリデバイス、ＣＤ−ＲＯＭディスク、デジタルビデオディスク（ＤＶＤ）、または他の光学格納デバイスが挙げられる。また、コンピュータ読み取り可能媒体には、磁気カセット、磁気テープ、磁気ディスク、または他の磁気格納デバイス、穿孔媒体、ホログラフィック格納デバイス、あるいは、所望の情報を格納するのに使用することができる他のあらゆる媒体が挙げられる。
【００１８】
以下に詳述するように、マスタコンピュータ１０３は、本発明の種々の実施例に従って１つ以上の演算を実行するためのソフトウェアアプリケーションを実行する。したがって、メモリ１０７は、実行時に１つ以上の演算を実行するためのソフトウェアアプリケーションを実装する、ソフトウェア命令１０９Ａを格納する。メモリ１０７は、ソフトウェアアプリケーションによって使用されるデータ１０９Ｂも格納する。図示の実施形態では、データ１０９Ｂは、ソフトウェアアプリケーションが使用して、そのうちの少なくともいくつかを並列に行う場合もある演算を実行する、プロセスデータを含む。
【００１９】
マスタコンピュータ１０３は、複数のプロセッサユニット１１１およびインタフェース機器１１３も含む。プロセッサユニット１１１は、ソフトウェア命令１０９Ａを実行するようにプログラムすることができる、あらゆる種類のプロセッサデバイスであってもよいが、従来は、マイクロプロセッサデバイスである。例えば、１つ以上のプロセッサユニット１１１は、Ｉｎｔｅｌ（登録商標）  Ｐｅｎｔｉｕｍ（登録商標）またはＸｅｏｎＴＭマイクロプロセッサ、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ  ＡｔｈｌｏｎＴＭマイクロプロセッサ、またはＭｏｔｏｒｏｌａ  ６８Ｋ／Ｃｏｌｄｆｉｒｅ（登録商標）マイクロプロセッサ等の、市販の汎用のプログラム可能なマイクロプロセッサであってもよい。代替的に、または付加的に、プロセッサユニット１１１のうちの１つ以上は、特定の種類の数学的演算を最適に実行するように設計されたマイクロプロセッサ等の、特別に製造されたプロセッサであってもよい。インタフェースデバイス１１３、プロセッサユニット１１１、メモリ１０７、および入出力デバイス１０５は、バス１１５によって一緒に接続される。
【００２０】
本発明のいくつかの実装では、マスタ計算デバイス１０３は、２つ以上のプロセッサコアを有する１つ以上の処理ユニット１１１を使用してもよい。したがって、図２は、本発明の種々の実施形態とともに使用してもよい、マルチコアプロセッサユニット１１１の実施例を示している。この図に示されるように、プロセッサユニット１１１は、複数のプロセッサコア２０１を含む。各プロセッサコア２０１は、計算エンジン２０３と、メモリキャッシュ２０５とを含む。当業者には既知であるように、計算エンジンは、ソフトウェア命令をフェッチし、次いで、フェッチした命令内に規定されたアクションを実行するような、種々の計算機能を実行するための論理デバイスを含む。これらのアクションには、例えば、加算、減算、乗算、および数の比較、ＡＮＤ、ＯＲ、ＮＯＲ、およびＸＯＲ等の論理演算の実行、およびデータの取り出しが挙げられる。各計算エンジン２０３は、実行するデータおよび／または命令を迅速に格納および取り出すように、その対応するメモリキャッシュ２０５を使用してもよい。
【００２１】
各プロセッサコア２０１は、相互接続部２０７に接続される。相互接続部２０７の特定の構造は、プロセッサユニット２０１のアーキテクチャによって変化し得る。Ｓｏｎｙ  Ｃｏｒｐｏｒａｔｉｏｎ、Ｔｏｓｈｉｂａ  Ｃｏｒｐｏｒａｔｉｏｎ、およびＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎによって作製されたセルマイクロプロセッサ等の、いくつかのプロセッサコア２０１では、相互接続部２０７は、相互接続バスとして実装してもよい。しかしながら、Ｓｕｎｎｙｖａｌｅ、ＣａｌｉｆｏｒｎｉａにあるＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓから入手可能な、ＯｐｔｅｒｏｎＴＭおよびＡｔｈｌｏｎＴＭデュアルコアプロセッサ等の、他のプロセッサユニット２０１では、相互接続部２０７は、システム要求インタフェースデバイスとして実装してもよい。いずれにせよ、プロセッサコア２０１は、相互接続部２０７を通じて、入出力インタフェース２０９およびメモリコントローラ２１１と通信する。入出力インタフェース２０９は、プロセッサユニット２０１とバス１１５との間に通信インタフェースを提供する。同様に、メモリコントローラ２１１は、プロセッサユニット２０１とシステムメモリ１０７との間の情報交換を制御する。本発明のいくつかの実装では、プロセッサユニット２０１は、プロセッサコア２０１によって共有されてアクセス可能な高レベルキャッシュメモリ等の、追加的な構成要素を含んでもよい。
【００２２】
図２は、本発明のいくつかの実施形態によって使用することができるプロセッサユニット２０１の一具体例を示しているが、この具体例は、代表的なものに過ぎず、制限することを意図したものではないと理解されたい。例えば、本発明のいくつかの実施形態は、１つ以上のセルプロセッサを備えたマスタコンピュータ１０３を使用してもよい。セルプロセッサは、複数の入出力インタフェース２０９と、複数のメモリコントローラ２１１とを使用する。また、セルプロセッサは、種類が異なる９つの異なるプロセッサコア２０１を有する。より具体的には、６つ以上の相乗プロセッサ要素（ｓｙｎｅｒｇｉｓｔｉｃ  ｐｒｏｃｅｓｓｏｒ  ｅｌｅｍｅｎｔ：ＳＰＥ）と、１つのパワープロセッサ要素（ＰＰＥ）とを有する。各相乗プロセッサ要素は、４２８×４２８ビットのレジスタを有する１つのベクトルタイプの計算エンジン２０３と、４つの単精度浮動小数点計算ユニットと、４つの整数計算ユニットと、命令およびデータの両方を格納する１つの５５６ＫＢのローカル格納メモリとを有する。パワープロセッサ要素は、次いで、相乗プロセッサ要素によって実行されるタスクを制御する。その構成のため、セルプロセッサは、高速フーリエ変換（ＦＦＴ）の計算等のいくつかの数学的演算を、多数の従来のプロセッサよりも実質的に高速に実行することができる。
【００２３】
また、いくつかの実装では、マルチコアプロセッサユニット１１１を、複数の、別個のプロセッサユニット１１１の代わりに使用できるものとも理解されたい。例えば、本発明の代替的な実装は、６つの別個のプロセッサユニット１１１を使用するのではなく、６つのコアを有するシングルプロセッサユニット１１１、それぞれが３つのコアを有する２つのマルチコアプロセッサユニット、２つの別個のシングルコアプロセッサユニット１１１とともに４つのコアを備えたマルチコアプロセッサユニット１１１等を使用してもよい。
【００２４】
図１に戻ると、インタフェースデバイス１１３によって、マスタコンピュータ１０３は、サーバントコンピュータ１１７Ａ、１１７Ｂ、１１７Ｃ、・・・、１１７ｘと通信することができる。通信インタフェースは、例えば、従来の有線ネットワーク接続または光透過性の有線ネットワーク接続を含む、あらゆる好適な種類のインタフェースであってもよい。通信インタフェースはまた、無線光学接続、無線周波数接続、赤外線接続、さらには音響接続等の無線接続であってもよい。インタフェースデバイス１１３は、マスタコンピュータ１０３およびサーバントコンピュータ１１７のそれぞれからのデータおよび制御信号を、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、およびインターネットプロトコル（ＩＰ）等の１つ以上の通信プロトコルに従って、ネットワークメッセージに翻訳する。これらの、および他の従来の通信プロトコルは、当技術分野において既知であるので、ここでは詳細に考察しない。
【００２５】
各サーバントコンピュータ１１７は、メモリ１１９、プロセッサユニット１２１、インタフェースデバイス１２３、および任意選択で、システムバス１２７によって一緒に接続されたもう１つの入出力デバイス１２５を含んでもよい。マスタコンピュータ１０３と同様に、サーバントコンピュータ１１７のための任意選択の入出力デバイス１２５は、キーボード、ポインティングデバイス、マイクロホン、ディスプレイモニタ、スピーカ、およびプリンタ等の、あらゆる従来の入力または出力デバイスを含んでもよい。同様に、プロセッサユニット１２１は、あらゆる種類の従来の、または特別に製造されたプログラム可能なプロセッサデバイスであってもよい。例えば、１つ以上のプロセッサユニット１２１は、Ｉｎｔｅｌ（登録商標）  Ｐｅｎｔｉｕｍ（登録商標）またはＸｅｏｎＴＭマイクロプロセッサ、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ  ＡｔｈｌｏｎＴＭマイクロプロセッサ、またはＭｏｔｏｒｏｌａ  ６８Ｋ／Ｃｏｌｄｆｉｒｅ（登録商標）マイクロプロセッサ等の、市販の汎用のプログラム可能なマイクロプロセッサであってもよい。代替的に、プロセッサユニット１２１のうちの１つ以上は、特定の種類の数学的演算を最適に実行するように設計されたマイクロプロセッサ等の、特別に製造されたプロセッサであってもよい。さらに、プロセッサユニット１２１のうちの１つ以上は、図２を参照して上述したように、２つ以上のコアを有してもよい。例えば、本発明のいくつかの実装では、プロセッサユニット１２１のうちの１つ以上は、セルプロセッサであってもよい。メモリ１１９は、その結果、上述したコンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。インタフェースデバイス１１３と同様に、インタフェースデバイス１２３によって、サーバントコンピュータ１１７は、通信インタフェースを通じて、マスタコンピュータ１０３と通信することができる。
【００２６】
図示の実施例では、マスタコンピュータ１０３は、複数のプロセッサユニット１１１を備えたマルチプロセッサユニットコンピュータであり、一方で、各サーバントコンピュータ１１７は、シングルプロセッサユニット１２１を有する。しかしながら、本発明の代替的な実装は、シングルプロセッサユニット１１１を有するマスタコンピュータを使用してもよいことに留意されたい。さらに、サーバントコンピュータ１１７のうちの１つ以上は、上述のように、それらの用途によって、複数のプロセッサユニット１２１を有してもよい。また、マスタコンピュータ１０３およびサーバントコンピュータの両方に対して、単一のインタフェースデバイス１１３または１２３だけしか示されていないが、本発明の代替的な実施形態では、コンピュータ１０３、サーバントコンピュータ１１７のうちの１つ以上、またはその両方のいくつかの組み合わせは、複数の通信インタフェースにわたって通信するために、２つ以上の異なるインタフェースデバイス１１３または１２３を使用してもよいことに留意されたい。
【００２７】
本発明の種々の実施例では、マスタコンピュータ１０３は、１つ以上の外部データ格納デバイスに接続してもよい。これらの外部データ格納デバイスは、マスタコンピュータ１０３によってアクセスすることができる、コンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。コンピュータ読み取り可能媒体には、例えば、リードライトメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電子的消去およびプログラムが可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、またはフラッシュメモリマイクロ回路デバイス等のマイクロ回路メモリデバイス、ＣＤ−ＲＯＭディスク、デジタルビデオディスク（ＤＶＤ）、または他の光学格納デバイスが挙げられる。また、コンピュータ読み取り可能媒体には、磁気カセット、磁気テープ、磁気ディスク、または他の磁気格納デバイス、穿孔媒体、ホログラフィック格納デバイス、あるいは、所望の情報を格納するのに使用することができる他のあらゆる媒体が挙げられる。本発明のいくつかの実装によれば、サーバントコンピュータ１１７のうちの１つ以上は、代替的に、または付加的に１つ以上の外部データ格納バイスに接続してもよい。一般的に、これらの外部データ格納デバイスは、同じくマスタコンピュータ１０３に接続されるデータ格納デバイスを含むが、それらも、マスタコンピュータ１０３によってアクセス可能なあらゆるデータ格納デバイスとは異なり得る。
【００２８】
また、図１および図２に示されたコンピュータネットワークの記述は、一実施例として提供されたに過ぎず、本発明の代替的な実施形態の使用範囲または機能性に関して、いかなる制限も示唆することを意図したものではないと理解されたい。
【００２９】
（電子設計自動化）
上述のように、本発明の種々の実施形態は、電子設計自動化に関する。より具体的には、本発明の種々の実装を使用して、マイクロ回路等のマイクロデバイスを製造するための設計データを、識別、検証、および／または変更する電子設計自動化ソフトウェアツールの動作を改善することができる。本願明細書で使用する場合、「設計」および「設計データ」という用語は、集積回路デバイスまたはマイクロ電気機械システム（ＭＥＭＳ）デバイス等の、マイクロデバイス全体を記述するデータを包含することを意図している。しかしながら、この用語はまた、集積回路デバイスの層、さらには集積回路デバイスの層の一部等の、マイクロデバイス全体の１つ以上の構成要素を記述する小さい組のデータを包含することも意図している。さらに、「設計」および「設計データ」という用語はまた、複数のマイクロデバイスを単一のウエハ上に同時に形成するためのマスクまたはレチクルを作製するのに使用されるデータ等の、２つ以上のマイクロデバイスを記述するデータを包含することも意図している。特に明記しない限り、「設計」という用語は、本願明細書で使用する場合、物理的レイアウト設計および論理設計の両方を含む、あらゆる種類の設計を包含することを意図していることに留意されたい。
【００３０】
マイクロ回路デバイスの設計および製造は、「設計フロー」プロセス中に多くのステップを伴う。これらのステップは、マイクロ回路の種類、その複雑さ、設計からマイクロ回路を製造する製造者または製造工場に大きく依存する。しかしながら、いくつかのステップは、大部分の設計フローに共通である。最初に、設計仕様書が、一般的にハードウェア設計言語（ＨＤＬ）で、論理的にモデル化される。論理設計が作製されると、その正確性を検証するように、種々の論理解析プロセスが設計に実行される。より具体的には、ソフトウェアおよびハードウェア「ツール」は、ソフトウェアシミュレータおよび／またはハードウェアエミュレータを実行することによって、設計の種々の段階で、論理設計が、所望の機能性を提供することを検証し、エラーを補正する。例えば、設計者は、規定入力を受けて、論理設計におけるデバイスが、所望の様態で実行され、適切な出力を提供することを検証するように、１つ以上の機能的論理検証プロセスを使用してもよい。
【００３１】
論理設計におけるデバイスが所望の機能性を提供することを検証することに加えて、一部の設計者によっては、論理設計が規定設計要件を満たすことを検証するように、設計論理検証プロセスを使用してもよい。例えば、設計者は、設計における全てのトランジスタゲートが、３つを超えない他のデバイスを通過する接地への電気経路を持たなければならない、または規定電源に接続する全てのトランジスタを、他のあらゆる接地ノードには接続せず、対応する接地ノードにも接続しなければならない等といったルールを作ってもよい。設計論理検証プロセスは、次いで、論理設計が規定ルールに適合するかどうかを判断して、適合しない状況の発生を識別する。
【００３２】
論理設計は、満足するものと判断された後に、合成ソフトウェアによって物理的設計データに変換される。この物理的設計データ、または「レイアウト」設計データは、例えば、製造工場でのフォトリソグラフィプロセスにおいて、所望のマイクロ回路デバイスを製造するのに使用されるマスク上へ書き込まれる、幾何学的要素を表現することができる。従来のマスクまたはレチクル書き込みツールの場合、幾何学的要素は、一般的に、様々な形状の多角形である。したがって、レイアウト設計データは、通常、設計における多角形の特徴を記述する多角形データを含む。物理的設計情報には、デバイスの適切な動作のための設計仕様および論理設計を正確に組み込むことが非常に重要である。したがって、該情報が合成プロセス中に作製された後に、物理的設計データは、「レイアウト対回路図」（ｌａｙｏｕｔ−ｖｅｒｓｕｓ−ｓｃｈｅｍａｔｉｃ：ＬＶＳ）プロセスと称されることもあるプロセスで、元の論理設計回路図と比較される。
【００３３】
論理設計の正確性が検証され、論理設計に対応する幾何学的データがレイアウト設計内に作製されると、次いで、幾何学的データを解析することができる。例えば、製造工場で使用されるマスクの作製には物理的設計データが使用されるので、データは、製造工場の要件に適合しなければならない。各製造工場は、それらのプロセス、機器、および手法とのコンプライアンスに対する、それ自体の物理的設計パラメータを規定する。したがって、設計フローは、設計データが規定パラメータに適合することを確認するプロセスを含んでもよい。このプロセス中に、回路設計の物理的レイアウトは、一般に「設計ルールチェック」（ＤＲＣ）プロセスと呼ばれるプロセスで設計ルールと比較される。製造工場によって規定されたルールに加えて、設計ルールチェックプロセスは、回路設計の物理的レイアウトを、試験チップ、業界における一般知識、以前の製造経験等から得られたルール等の他の設計ルールに対してチェックすることもできる。
【００３４】
現代の電子設計自動化設計フローでは、設計者はさらに、１つ以上の「製造性を考慮した設計」（ＤＦＭ）ソフトウェアツールを使用してもよい。上述のように、設計ルールチェックプロセスは、例えば、製造プロセス中にほぼ間違いなく不適切に形成される構造体を表現する要素を識別しようとするものである。しかしながら、「製造性を考慮した設計」ツールは、製造プロセス中に不適切に形成される可能性の大きい構造体を表現する設計における要素を識別しようとするプロセスを提供する。加えて、「製造性を考慮した設計」プロセスは、識別した要素の不適切な形成によって、回路設計から製造したデバイスの歩留まりにどのような影響があるのか、および／または製造プロセス中に、識別した要素が不適切に形成される可能性を低減する変更を判断することができる。例えば、「製造性を考慮した設計」（ＤＦＭ）ソフトウェアツールは、単一のビアだけによって接続されたワイヤを識別すること、製造プロセス中に個々の単一のビアが不適切に形成される可能性に基づいた、設計から回路を製造する場合の歩留まりへの影響を判断すること、および、その後、単一のビアを補うように冗長ビアを形成することができる領域を識別することができる。
【００３５】
電子設計自動化業界では、「製造性を考慮した設計」に加えて、種々の代替的な用語が使用されることに留意されたい。したがって、本願明細書で使用する場合、「製造性を考慮した設計」という用語は、製造プロセス中に不適切に形成される場合のある構造体を表現する設計における要素を識別する、あらゆる電子設計自動化プロセスを包含することを意図している。故に、「製造性を考慮した設計」（ＤＦＭ）ソフトウェアツールは、例えば、リソグラフプロセスウィンドウに対してより堅牢であり、かつ影響をあまり受けない回路設計をどのように作製するのかに関して、設計者がトレードオフの判断を行うのを支援する、「リソグラフに適した設計」（ｌｉｔｈｏｇｒａｐｈｉｃ  ｆｒｉｅｎｄｌｙ  ｄｅｓｉｇｎ：ＬＦＤ）を含む。該ツールはまた、「歩留まりを考慮した設計」（ｄｅｓｉｇｎ−ｆｏｒ−ｙｉｅｌｄ：ＤＦＹ）の電子設計自動化ツール、「歩留まり支援」（ｙｉｅｌｄ  ａｓｓｉｓｔａｎｃｅ）の電子設計自動化ツール、および「チップクリーニング」および「設計クリーニング」の電子設計自動化ツールも含む。
【００３６】
設計者は、１つ以上の幾何解析プロセスを使用して回路設計の物理的レイアウトが満足なものであることを検証した後、次いで、該設計者が、その特定の製造プロセスによって実際にはどのように実現されるのかを判断するために、１つ以上のシミュレーションプロセスを実行して、製造プロセスの動作をシミュレーションしてもよい。加えて、シミュレーション解析プロセスは、シミュレーションによって識別されるあらゆる問題に対処するように、設計を変更することができる。例えば、いくつかの設計フローは、１つ以上のプロセスを使用して、フォトリソグラフィプロセス中に、回路設計の物理的レイアウトによって形成された画像をシミュレーションし、次いで、フォトリソグラフィプロセス中に発生する画像の解像度を改善するように、レイアウト設計を変更する場合もある。
【００３７】
これらの解像度向上技術（ｒｅｓｏｌｕｔｉｏｎ  ｅｎｈａｎｃｅｍｅｎｔ  ｔｅｃｈｎｉｑｕｅ：ＲＥＴ）には、例えば、光近接効果補正（ＯＰＣ）を使用した、またはサブ解像度補助特徴（ｓｕｂ−ｒｅｓｏｌｕｔｉｏｎ  ａｓｓｉｓｔ  ｆｅａｔｕｒｅ：ＳＲＡＦ）を加えることによる、物理的レイアウトの変更が挙げられる。他のシミュレーション解析プロセスには、例えば、位相シフトマスク（ｐｈａｓｅ  ｓｈｉｆｔ  ｍａｓｋ：ＰＳＭ）シミュレーション解析プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスが挙げられる。エッチングシミュレーション解析プロセスは、化学エッチングプロセス中の材料の除去をシミュレーションし、一方で、平坦化シミュレーションプロセスは、化学機械エッチングプロセス中の回路表面の研磨をシミュレーションする。これらのシミュレーション解析プロセスは、例えば、エッチングまたは研磨プロセスで十分に平坦な表面にならなかった領域を識別する場合もある。これらのシミュレーション解析プロセスは、次いで、より多くの幾何学的要素をそれらの領域内に含めて、それらの密度を高くするように、物理的レイアウト設計を変更する場合もある。
【００３８】
物理的レイアウト設計が完成すると、設計における幾何学的要素は、マスクまたはレチクル書き込みツールによる使用のためにフォーマットされる。マスクおよびレチクルは、一般的に、電子またはレーザビーム（または電子ビームまたはレーザビームのアレイ）をブランクレチクルまたはマスク基板に当てる。しかしながら、大部分のマスク書き込みツールは、直角三角形、長方形、または他の台形等の、特定の種類の多角形を「書き込む」ことしかできない。さらに、多角形のサイズは、ツールが利用可能な最大ビーム（またはビームアレイ）のサイズによって、物理的に制限される。したがって、物理的レイアウト設計データにおける大きい幾何学的要素は、一般的に、マスクまたはレチクル書き込みツールによって書き込むことができる、より小さい、かつ基本的な多角形に「破断」される。
【００３９】
種々の設計フローは、あらゆる所望の順序で、１つ以上のプロセスを繰り返す場合もあるものと理解されたい。したがって、いくつかの設計フローでは、幾何学的解析プロセスは、シミュレーション解析プロセスおよび／または論理解析プロセスと交互配置することができる。例えば、解像度向上技術を使用して回路設計の物理的レイアウトが変更されると、その後、設計ルールチェックプロセスまたは製造性を考慮した設計プロセスを、変更したレイアウトに実行することができる。さらに、これらのプロセスは、代替的に、設計に対する所望の程度の解像度が得られるまで繰り返してもよい。同様に、設計ルールチェックプロセスおよび／または製造性を考慮した設計プロセスは、光近接効果補正プロセス、位相シフトマスクシミュレーション解析プロセス、エッチングシミュレーション解析プロセス、または平坦化シミュレーション解析プロセスの後に使用してもよい。上述の論理解析プロセス、幾何解析プロセス、またはシミュレーション解析プロセスのうちの１つ以上を使用する電子設計ツールの実施例は、２００１年５月８日に発行のＭｃＳｈｅｒｒｙらへの米国特許第６，２３０，２９９号、２００１年６月１９日に発行のＭｃＳｈｅｒｒｙらへの米国特許第６，２４９，９０３号、２００２年１月１５日に発行のＥｉｓｅｎｈｏｆｅｒらへの米国特許第６，３３９，８３６号、２００２年５月２８日に発行のＢｏｚｋｕｓらへの米国特許第６，３９７，３７２号、２００２年７月２日に発行のＡｎｄｅｒｓｏｎらへの米国特許第６，４１５，４２１号、および２００２年７月２３日に発行のＡｎｄｅｒｓｏｎらへの米国特許第６，４２５，１１３号に記載されており、それぞれ参照することにより本願明細書に援用される。
【００４０】
（回路レイアウトのシミュレーション、検証、または変更のためのソフトウェアツール）
本発明の種々の実施形態の理解を容易にするために、集積回路のための設計の解析および変更を目的とした、自動設計自動化のためのそのようなソフトウェアツールを概略的に説明する。上述のように、「設計」および「設計データ」という用語は、本願明細書で使用する場合、集積回路デバイスまたはマイクロ電気機械システム（ＭＥＭＳ）デバイス等のマイクロデバイス全体を記述するデータを包含する。しかしながら、これらの用語はまた、集積回路デバイスの層、さらには集積回路デバイスの層の一部等の、マイクロデバイス全体の１つ以上の構成要素を記述する小さい組のデータを包含することも意図している。さらに、「設計」および「設計データ」という用語はまた、複数のマイクロデバイスを単一のウエハ上に同時に形成するためのマスクまたはレチクルを作製するのに使用されるデータ等の、２つ以上のマイクロデバイスを記述するデータを包含することも意図している。同じく上述したように、特に明記しない限り、「設計」という用語は、本願明細書で使用する場合、物理的レイアウト設計および論理設計の両方を含む、あらゆる種類の設計を包含することを意図していることに留意されたい。
【００４１】
図３に示されるように、解析ツール３０１は、種々の異なるソフトウェアアプリケーションによって実装してもよく、データインポートモジュール３０３と、階層型データベース３０５とを含む。解析ツール３０１はまた、レイアウト対回路図（ＬＶＳ）検証モジュール３０７と、設計ルールチェック（ＤＲＣ）モジュール３０９と、製造性を考慮した設計（ＤＦＭ）モジュール３１１と、光近接効果補正（ＯＰＣ）モジュール３１３と、光近接ルールチェック（ＯＲＣ）モジュール３１５とを含む。解析ツール３０１は、必要に応じて、位相シフトマスク（ＰＳＭ）モジュール（図示せず）、エッチングシミュレーション解析モジュール（図示せず）、および／または平坦化シミュレーション解析モジュール（図示せず）等の、追加的な機能を実行するための他のモジュール３１７をさらに含んでもよい。ツール３０１は、データエクスポートモジュール３１９も有する。このような解析ツールの一実施例は、Ｗｉｌｓｏｎｖｉｌｌｅ、ＯｒｅｇｏｎにあるＭｅｎｔｏｒ  Ｇｒａｐｈｉｃｓ社から入手できるＣａｌｉｂｒｅファミリのソフトウェアアプリケーションである。
【００４２】
最初に、ツール３０１は、集積回路のための物理的レイアウト設計を記述するデータ３２１を受信する。レイアウト設計データ３２１は、例えば、Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｅｑｕｉｐｍｅｎｔ  ａｎｄ  Ｍａｔｅｒｉａｌｓ  Ｉｎｔｅｒｎａｔｉｏｎａｌ（ＳＥＭＩ）社が提唱する、Ｇｒａｐｈｉｃ  Ｄａｔａ  ＳｙｓｔｅｍＩＩ（ＧＤＳＩＩ）、またはＯｐｅｎ  Ａｒｔｗｏｒｋ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｓｔａｎｄａｒｄ（ＯＡＳＩＳ）データフォーマット等の、あらゆる所望のフォーマットであってもよい。データ３２１のための他のフォーマットには、Ｏｐｅｎ  Ａｃｃｅｓｓ、Ｓｙｎｏｐｓｙｓ，Ｉｎｃ．ではＭｉｌｋｙｗａｙ、およびＭｅｎｔｏｒ  Ｇｒａｐｈｉｃｓ，Ｉｎｃ．ではＥＤＤＭと命名されたオープンソースフォーマットが挙げられる。レイアウトデータ３２１は、集積回路デバイスの１つ以上の部分を製造するための幾何学的要素を含む。例えば、初期の集積回路レイアウトデータ３２１は、その後にトランジスタの分離領域に使用されるフォトリソグラフマスクを作製するための第１の組の多角形と、その後にトランジスタに対する接触電極の形成に使用されるフォトリソグラフマスクを作製するための第２の組の多角形と、その後に接触電極への相互接続ラインの形成に使用されるフォトリソグラフマスクを作製するための第３の組の多角形とを含んでもよい。初期の集積回路レイアウトデータ３２１は、データインポートモジュール３０３によって、ツール３０１の残りの構成要素によってより効率的に処理することができるフォーマットに変換してもよい。
【００４３】
データインポートモジュール３０３が、元の集積回路レイアウトデータ３２１を適切なフォーマットに変換すると、レイアウトデータ３２１が、モジュール３０５〜３１７によって実行される種々の演算による使用のために、階層型データベース３０５内に格納される。次に、レイアウト対回路図モジュール３０７は、所望の集積回路のための元の設計仕様に合致することを検証するように、レイアウト対回路図プロセスでレイアウト設計データ３２１をチェックする。レイアウト設計データ３２１と集積回路のための論理設計との間の相違が識別された場合は、レイアウト設計データ３２１を改訂して、これらの相違のうちの１つ以上に対処することができる。したがって、レイアウト対回路図モジュール３０７によって実行されるレイアウト対回路図プロセスは、改訂のある新しいバージョンのレイアウト設計データとなる場合もある。本発明のツール３０１の種々の実装によれば、レイアウトデータ３２１は、ユーザの手作業で改訂するか、レイアウト対回路図モジュール３０７によって自動的に改訂するか、またはそれらのいくつかの組み合わせによって改訂することができる。
【００４４】
次に、設計ルールチェックモジュール３０９は、検証したレイアウトデータ３２１が、定義された幾何学的設計ルールに適合することを確認する。レイアウトデータ３２１の各部分が、設計ルールに準拠していないか、または設計ルールに違反している場合は、レイアウトデータ３２１が、これらの部分が設計ルールに適合するように変更することができる。したがって、設計ルールチェックモジュール３０９によって実行される設計ルールチェックプロセスはまた、種々の改訂のある新しいバージョンのレイアウト設計データとなる場合もある。また、本発明ツール３０１の種々の実装では、レイアウトデータ３２１は、ユーザの手作業で修正するか、設計ルールチェックモジュール３０９によって自動的に修正するか、またはそれらのいくつかの組み合わせによって修正することができる。
【００４５】
変更されたレイアウトデータ３２１は、次いで、製造性を考慮した設計モジュール３１１によって処理される。上述のように、「製造性を考慮した設計」プロセスは、製造プロセス中に不適切に形成される可能性の大きい構造体を表現する設計における要素を識別するように処理を行う。加えて、「製造性を考慮した設計」プロセスは、識別した構造体の不適切な形成によって、回路設計から製造したデバイスの歩留まりにどのような影響があるのか、および／または製造プロセス中に、識別した構造体が不適切に形成される可能性を低減する変更を判断することができる。例えば、「製造性を考慮した設計」（ＤＦＭ）ソフトウェアツールは、単一のビアよって接続されたワイヤを識別すること、製造プロセス中に個々の単一のビアが不適切に形成される可能性に基づいた、歩留まりへの影響を判断すること、および、その後、単一のビアを補うように冗長ビアを形成することができる領域を識別することができる。
【００４６】
処理したレイアウトデータ３２１は、次いで、光近接効果補正モジュール３１３に渡されて、補正しなければリソグラフパターン形成中に生じ得るであろう製造歪みに対して、レイアウトデータ３２１を補正する。例えば、光近接効果補正モジュール３１３は、画像歪み、光近接効果、フォトレジストの運動論的効果、およびエッチング負荷歪みを補正することができる。次いで、光近接効果補正モジュール３１３によって変更されたレイアウトデータ３２１は、光学プロセスルールチェックモジュール３１５に提供される。
【００４７】
光学プロセスルールチェックモジュール３１５（より一般的には、光学ルールチェックモジュール、またはＯＲＣモジュールと呼ばれる）は、光近接効果補正モジュール３１３によって行われた変更が、実際に製造可能な、レイアウト検証のための「下流側を考慮した（ｄｏｗｎｓｔｒｅａｍ−ｌｏｏｋｉｎｇ）」ステップであるようにする。これは、ＬＶＳモジュール３０７によって実行されるＬＶＳの「上流側を考慮した（ｕｐｓｔｒｅａｍ−ｌｏｏｋｉｎｇ）」ステップ、およびＤＲＣモジュール３０９によって実行されるＤＲＣプロセスの自己一致性チェックを補い、対称性を検証ステップに加える。したがって、製造性を考慮した設計プロセス３１１、光近接効果補正モジュール３１３、および光学プロセスルールチェックモジュール３１５によって実行されるプロセスのそれぞれは、種々の改訂のある新しいバージョンのレイアウト設計データとなる場合もある。
【００４８】
上述のように、必要に応じて、他のモジュール３１７を使用して、レイアウトデータ３２１の代替的な、または追加的な操作を実行してもよい。例えば、ツール３０１のいくつかの実装は、例えば、位相シフトマスクモジュールを使用してもよい。上述のように、位相シフトマスク（ＰＳＭ）解析（解像度向上技術（ＲＥＴ）に対する別の手法）によって、レイアウト設計における幾何学的要素は、レチクル上に形成するパターンが、コントラスト強調干渉縞を画像内に導入するように変更される。ツール３０１は、例えば、エッチングシミュレーション解析プロセスまたは平坦化シミュレーション解析プロセスを代替的に、または付加的に使用してもよい。これらの追加的なモジュール３１７によって実行される単一または複数のプロセスも、改訂を含む新しいバージョンのレイアウトデータ３２１の作製をもたらし得る。
【００４９】
所望の演算の全てが初期のレイアウトデータに対して行われた後に、データエクスポートモジュール３１９は、処理したレイアウトデータ３２１を、１つ以上のマスクまたはレチクルを形成して集積回路を製造するのに使用できる、集積回路レイアウトデータ３２３の製造に変換する（すなわち、データエクスポートモジュール３１９は、処理したレイアウトデータ３２１を、フォトリソグラフ製造プロセスで使用できるフォーマットに変換する）。マスクおよびレチクルは、一般的に、電子またはレーザビーム（または電子ビームまたはレーザビームのアレイ）をブランクレチクルまたはマスク基板に当てる。しかしながら、大部分のマスク書き込みツールは、直角三角形、長方形、または他の台形等の、特定の種類の多角形を「書き込む」ことしかできない。さらに、多角形のサイズは、ツールが利用可能な最大ビーム（またはビームアレイ）のサイズによって、物理的に制限される。
【００５０】
したがって、データエクスポートモジュール３１９は、レイアウト設計における大きい幾何学的要素を、または直角三角形、長方形、または台形（これらは、一般的に、レイアウト設計における大部分の幾何学的要素である）ではない幾何学的要素を、マスクまたはレチクル書き込みツールによって書き込むことができる、より小さい、かつより基本的な多角形に「破断」する場合がある。当然、データエクスポートモジュール３１９は、処理したレイアウトデータ３２１を、合成プロセス（例えば、回路ライブラリのためのエントリを作製するためのプロセス）に使用するためのデータ、プレイスアンドルートプロセスに使用するためのデータ、寄生効果の計算に使用するためのデータ等の、所望の種類のデータに変換してもよい。さらに、ツール３０１は、設計者が、望ましくない変更を取り消すことができるように、異なる変更を含む１つ以上のバージョンのレイアウト３２１を格納してもよい。例えば、階層型データベース３０５は、モジュール３０７〜３１７間のプロセスのあらゆるステップ中に作製された、代替的なバージョンのレイアウトデータ３２１を格納してもよい。
【００５１】
（データ編成）
新しい集積回路の設計は、数百万ものトランジスタ、抵抗、コンデンサ、または他の電気的構造体の、論理回路、メモリ回路、プログラム可能なフィールドアレイ、および他の回路デバイス内への相互接続を含む場合もある。コンピュータが、より容易にこれらの大きなデータ構造を作製および解析できるように（およびヒトユーザが、これらのデータ構造をより良く理解できるように）、該データ構造は、しばしば、一般的に「セル」と称される、小さいデータ構造に階層的に編成される。したがって、マイクロプロセッサまたはフラッシュメモリ設計の場合、単一ビットを格納するためのメモリ回路を構成するトランジスタの全ては、単一「ビットメモリ」セルに分類される場合もある。各トランジスタを個々に列挙しなければならないというよりは、単一ビットメモリ回路を構成する一群のトランジスタは、したがって、集合的に、単一ユニットと称して、そのように操作することができる。同様に、大きい１６ビットメモリレジスタ回路を記述する設計データを、単一のセルに分類することができる。この高レベル「レジスタセル」は、その結果、ビットメモリセルのそれぞれとデータをやりとりするための入出力回路等の、他の種々の回路を記述する設計データとともに、１６ビットメモリセルを含む場合もある。同様に、１２８ｋＢのメモリアレイを記述する設計データは、その結果、レジスタセルのそれぞれとデータのやりとりを行う入出力回路等の、それ自体の種々の回路を記述する設計データとともに、わずか６４，０００のレジスタセルの組み合わせとして簡潔に記述することができる。
【００５２】
マイクロ回路設計データを階層的セルに分類することによって、大きいデータ構造を、より迅速かつ効率的に処理することができる。例えば、回路設計者は、一般的に、設計に記述された各回路特徴が規定された設計ルールに適合するように、設計を解析する。上述の実施例では、１２８ｋＢのメモリアレイ全体の各特徴を解析しなければならない代わりに、設計ルールチェックプロセスは、単一ビットセルの特徴を解析することができる。セルが同一である場合は、その後、チェックの結果を単一ビットセルの全てに適用することができる。単一ビットセルの１つのインスタンスが、設計ルールに適合することが確認されると、設計ルールチェックプロセスは、その後、（それ自体が１つ以上の階層的セルを構成することができる）追加的な種々の回路の特徴を解析するだけで、レジスタセルの解析を完了することができる。このチェックの結果は、その後、レジスタセルの全てに適用することができる。レジスタセルの１つのインスタンスが、設計ルールに適合することが確認されると、設計ルールチェックソフトウェアアプリケーションは、メモリアレイにおける追加的な種々の回路の特徴を解析するだけで、１２８ｋＢのメモリアレイ全体の解析を完了することができる。したがって、大きいデータ構造の解析は、比較的少数のデータ構造を構成するセルの解析に圧縮することができる。
【００５３】
本発明の種々の実施例では、レイアウト設計データは、２つの異なる種類のデータ、すなわち「描画層」設計データおよび「導出層」設計データを含む場合もある。描画層データは、材料の層で構造体を形成して集積回路を生成するように使用される、幾何学的要素を記述する。描画層データは、通常、金属層、拡散層、およびポリシリコン層の構造体を形成するのに使用される多角形を含む。導出層は、その結果、描画層データおよび他の導出層データの組み合わせで構成される特徴を含む。したがって、トランジスタゲートでは、ゲートを記述する導出層設計データは、ポリシリコン材料層における多角形と拡散材料層における多角形との交差点から導出してもよい。
【００５４】
例えば、設計ルールチェックモジュール３０９によって一般的に実行される設計ルールチェックプロセスは、２種類の演算、すなわち、設計データ値が規定パラメータに適合するかどうかを確認する「チェック」演算、および導出層データを作製する「導出」演算を実行する。したがって、トランジスタゲート設計データは、以下の導出演算によって作製してもよい。
ｇａｔｅ＝ｄｉｆｆ  ＡＮＤ  ｐｏｌｙ
この演算の結果は、拡散層多角形とポリシリコン層多角形との全ての交差点を識別するデータの「層」となる。同様に、拡散層をｎ型材料でドープすることによって形成したｐ型トランジスタゲートは、以下の導出演算によって識別される。
ｐｇａｔｅ＝ｎｗｅｌｌ  ＡＮＤ  ｇａｔｅ
この演算の結果は、次いで、拡散層における多角形をｎ型材料でドープした、全てのトランジスタゲート（すなわち、ポリシリコン層多角形と拡散層多角形との交差点）を識別する、別のデータの「層」となる。
【００５５】
設計ルールチェックモジュール３０９によって実行されるチェック演算は、次いで、データ設計値のパラメータまたはパラメータ範囲を定義する。例えば、ユーザは、いかなる金属配線ラインも、別の配線ラインの１ミクロンの範囲内に無いようにしたい場合がある。この種の解析は、以下のチェック演算によって実行してもよい。
ｅｘｔｅｒｎａｌ  ｍｅｔａｌ＜１
この演算の結果は、金属層設計データにおける別の多角形に１ミクロンよりも接近している、金属層設計データにおける各多角形を識別する。
【００５６】
また、上述の演算は、描画層データを使用するが、一方で、チェック演算は、導出層データにも実行してもよい。例えば、ユーザが、トランジスタゲートが別のゲートの１ミクロン以内に位置していないことを確認したい場合、設計ルールチェックプロセスは、以下のチェック演算を含んでもよい。
ｅｘｔｅｒｎａｌ  ｇａｔｅ＜１
この演算の結果は、他のゲートから１ミクロン未満の位置に配置されたゲートを表現する全てのゲート設計データを識別する。しかしながら、描画層設計データからゲートを識別する導出演算が実行されるまで、このチェック演算を実行することができないものと理解されたい。
【００５７】
（プロパティ）
本発明の種々の実装は、関連プロパティを作製する、および／または使用する、電子設計自動化のためのソフトウェアツールに関する。以下に詳述するように、本発明のいくつかの実装では、１つ以上のプロパティを生成して、マイクロデバイス設計におけるあらゆる種類の設計対象と関連付けることができる。設計が、リソグラフ的に集積回路または他のマイクロデバイスを製造するための物理的レイアウトである場合、例えば、１つ以上のプロパティを、設計に記述されたあらゆる所望の幾何学的要素に関連付けることができる。図４を参照すると、本図は、レイアウト設計の一部を示している。設計は、金属層等の材料層内に回路構造体を形成するのに使用される、複数の多角形４０１〜４０７を含む。多角形４０１〜４０５は、例えば、集積回路のための配線ラインを形成するのに使用してもよい。本発明の種々の実施例では、１つ以上のプロパティを、多角形４０１〜４０７のそれぞれ等の多角形に、または多角形の頂点等の多角形の構成要素に関連付けることができる。さらに、１つ以上のプロパティを、多角形４０１の辺４０９等の、多角形の辺に関連付けることができる。さらにまた、１つ以上のプロパティを、多角形４０５の辺４１１および４１３等の、一対の多角形の辺に関連付けることができる。本発明の種々の実施例では、各プロパティは、設計におけるデータの新しい「層」として表現してもよい。
【００５８】
プロパティがレイアウト設計における設計対象に関連付けられている時には、その値は、その設計対象に関連する幾何学的データから導出してもよい。例えば、プロパティが多角形等の幾何学的要素に関連付けられている場合、該プロパティは、多角形の面積、多角形の周辺長、多角形の頂点の数等から導出された値を有してもよい。同様に、プロパティが辺に関連付けられている場合、プロパティの値は、辺の長さまたは角度から導出してもよい。さらに、プロパティが一対の辺に関連付けられている場合、プロパティの値は、辺間の分離距離、辺の全長、辺間の長さの差、辺で囲まれた面積等から導出してもよい。
【００５９】
しかしながら、下記の考察から明らかになるように、プロパティ値は、あらゆる所望の関数によって定義することができるものと理解されたい。例えば、プロパティは、一定値として定義してもよい。したがって、プロパティｘの値は、関数によって定義してもよい。
Ｘ＝０．５
この定義によって、プロパティの値は、常時０．５となる。
【００６０】
また、プロパティの値は、可変関数によって定義してもよい。可変関数では、プロパティ値は、例えば設計における特定のデータによって異なる場合もある。例えば、プロパティｘは、単純関数によって定義してもよい。
Ｘ＝ＡＲＥＡ（ＭＥＴＡＬ１）×０．５＋（ＰＥＲＩＭＥＴＥＲ（ＭＥＴＡＬ１））２
この関数では、プロパティ値は、「ｍｅｔａｌ１」という名前の設計層におけるあらゆる多角形に対して生成される。（すなわち、プロパティＸの生成に使用される入力は、デザイン名「ｍｅｔａｌ１」におけるデータ層である。）設計層における多角形ごとに、多角形の面積が計算され、０．５が乗算される。加えて、多角形の周辺長が決定され、その後二乗される。次いで、０．５を乗算した多角形の面積の被乗数を、多角形の周辺長の二乗に加算して、その多角形に関連付けられたプロパティＸの値を生成する。
【００６１】
したがって、図４では、第１の多角形４０１の周辺長が６８であり、第１の多角形の面積が６４である場合、第１の多角形のプロパティＸ１の値は次のようになる。
Ｘ１＝（６４×０．５）＋（６８）２＝４６５６
同様に、第２の多角形４０３の周辺長が６０であり、第２の多角形の面積が６６である場合、第２の多角形のプロパティＸ２の値は次のようになる。
Ｘ２＝（６０×０．５）＋（６６）２＝４３８６
さらに、第３の多角形４０５の周辺長が６０であり、第２の多角形の面積が８４である場合、第３の多角形のプロパティＸ３の値は次のようになる。
Ｘ１＝（６０×０．５）＋（８４）２＝７０８６
また、第４の多角形４０７の周辺長が３４であり、第２の多角形の面積が７０である場合、第４の多角形のプロパティＸ４の値は次のようになる。
Ｘ４＝（３４×０．５）＋（７０）２＝４９１７
上述したような「単純」関数に加えて、プロパティはまた、予め生成したプロパティ値を組み込んだ複合関数によって定義してもよい。例えば、第１のプロパティＸは、上述した単純関数によって定義してもよい。
Ｘ＝ＡＲＥＡ（ＭＥＴＡＬ１）×５＋（ＰＲＥＭＩＥＲ（ＭＥＴＡＬ１））２
次いで、第２のプロパティＹは、以下のように、第１のプロパティＸの値を組み込んだ関数によって定義することができる。
Ｙ＝ＰＲＯＰ（ＭＥＴＡＬ１，Ｘ）＋１
したがって、多角形のプロパティＹの値は、その多角形に対して計算したプロパティＸの値に、１を加えたものである。
【００６２】
単純関数および複合関数による定義に加えて、プロパティは、いくつかの条件下ではいかなるプロパティ値も生成されないように定義してもよい。例えば、多角形の面積が閾値よりも小さい場合に、プロパティに対していかなる値も生成されないように、多角形に関連付けられたプロパティを定義してもよい。この特徴は、例えば、プロパティ値を、所望の特性を有する設計対象に対してのみ生成する必要がある場合に有用となり得る。設計対象が所要の特性を持たない場合、設計対象にはいかなるプロパティも生成されず、生成されたプロパティ値を使用する以降の計算を無視することができる。
【００６３】
より具体的には、プロパティの値は、以下の関数等の、代替的な関数によって定義してもよい。
ＩＦ  ＡＲＥＡ（ＭＥＴＡＬ１）＜０．５，ＴＨＥＮ  Ｘ＝１
ＩＦ  ＡＲＥＡ（ＭＥＴＡＬ１）≧１，ＴＨＥＮ  Ｘ＝ＡＲＥＡ（ＭＥＴＡＬ１）×０．５＋（ＰＥＲＩＭＥＴＥＲ（ＭＥＴＡＬ１））２
これらの代替的な関数によって、データ層「ｍｅｔａｌ１」における各多角形が解析される。多角形の領域が０．５以下である場合、多角形のプロパティＸの値は１である。
それ以外の場合、多角形のプロパティＸの値は、多角形の面積に０．５を乗算して、多角形の周辺長の二乗を加算したものである。
【００６４】
プロパティは、複数の値を有する場合もある。例えば、プロパティは、ｘ座標値、ｙ座標値、およびｚ座標値を有してもよい。さらに、プロパティは、複数の、異種の値を有してもよい。例えば、プロパティは、数値および文字列値を有してもよい。したがって、セルに関連付けられたプロパティは、例えば、セルにおけるデバイスのデバイスカウントであってもよい数値を有することができ、一方で、文字列値は、例えば、セルのライブラリソースを識別するモデル名であってもよい。当然、複数の異種の値を有するプロパティは、上述の値タイプのあらゆる組み合わせ（例えば、１つ以上の一定値、１つ以上のベクトル値、１つ以上の動的値、１つ以上の代替値、１つ以上の単純値、１つ以上の複合値、１つ以上の代替値、１つ以上の文字列値、等）を含む、値タイプのあらゆる組み合わせを含むことができる。
【００６５】
さらに、プロパティの値の数は、動的に変化させてもよい。例えば、プロパティＫは、電子設計自動化プロセスが実行される前に、値「ａ」および「ｂ」（すなわち、プロパティＫ＝ａ、ｂ）を有してもよい。電子設計自動化プロセスは、その後、プロパティを、第３の値「ｃ」を含むように（すなわち、プロパティＫの値＝ａ、ｂ、ｃ）変更してもよい。当然、電子設計自動化プロセスはまた、代替的に、または付加的にプロパティＫの値を、１つ以上の完全に異なる値（例えば、プロパティＫの値＝ｄ、ｅ、ｆ）に変更してもよい。さらに、本発明のいくつかの実装では、ある時点でのプロパティの値は、その前の時点でのプロパティの値に依存してもよい。例えば、時間ｔ２でのプロパティＱの値は、時間ｔ１でのプロパティＱの値から導出してもよい。当然、一定値、および単純関数、複合関数、または代替的な可変関数に基づいて生成された値に加えて、プロパティの値を所望の定義に従って規定することができる。例えば、単一または代替的な数学関数に加えて、プロパティの値は、一連の一定値、可変関数、またはそれらのいくつかの組み合わせであってもよい。しかしながら、上述のようにスクリプト言語を使用することによって、プロパティ値を、電子設計自動化プロセス中に、動的に生成することができるものと理解されたい。
【００６６】
すなわち、スクリプト言語を使用してプロパティ値の定義を規定することによって、電子設計自動化プロセス中に設計が解析された時の定義に基づいて、実際のプロパティ値を生成することができる。設計におけるデータが変更された場合、プロパティ値は、設計者からのさらなる入力を必要とせずに、自動的に再計算される。したがって、スクリプト言語を使用することによって、設計者または他のユーザは、必要に応じてプロパティを展開して、それらの値を決定することができる。また、第三者が新しい分析技術および方法を展開し、その後、電子設計自動化ツールのユーザが、第三者によって展開されたスクリプトを使用して、それらの新しい手法および方法とともに使用するためのプロパティ値を生成することができるスクリプトを定義できるように、柔軟性を提供することもできる。
【００６７】
上述のように、プロパティは、設計におけるあらゆる所望の種類の設計対象に関連付けてもよい。したがって、多角形、辺、または辺対等のレイアウト設計における単一の幾何学的要素に加えて、プロパティも、レイアウト設計における一群の１つ以上の設計対象に関連付けることができる。例えば、プロパティは、レイアウト設計における一群の多角形または階層的セル（それら自体を、一まとめに単一の設計対象とみなしてもよい）に関連付けてもよい。また、プロパティは、１つ以上の設計対象の全カテゴリに関連付けてもよい。例えば、プロパティは、設計におけるあらゆるセル、または設計内に生じる幾何学的要素の種類のあらゆるインスタンス等の、設計層における設計対象の種類のあらゆる発生に関連付けてもよい。プロパティはまた、具体的には、設計におけるセルの特定の配置に関連付けてもよい。レイアウト設計における設計対象に加えて、プロパティはまた、論理設計等の他の種類の設計における設計対象に関連付けてもよい。したがって、プロパティは、ネット、デバイス、接続ピンのインスタンス、さらには設計におけるセルの配置等の、論理設計におけるあらゆる所望の対象に関連付けてもよい。
【００６８】
また、本発明の種々の実施形態では、一方の設計対象に関連付けられたプロパティを、他方の設計対象にも関連付けることができるものと理解されたい。さらに、プロパティの値は、プロパティが関連付けられた設計対象とは異なる設計対象を含む、あらゆる所望の設計対象のための幾何学的または論理データを使用して計算してもよい。本発明のいくつかの実装では、プロパティの値は、複数の設計データ層からの、１つ以上の設計対象の幾何学的または論理データを使用して計算してもよい。例えば、設計者は、レイアウト設計におけるあらゆる規定辺対を含む「対」という名称の設計層、およびレイアウト設計における規定辺を含む「辺」という名称の別の設計層を規定してもよい。設計者は、次いで、辺層における各辺のためのプロパティＺを次のように定義することができる。
Ｚ＝ＡＲＥＡ（ＭＥＴＡＬ１）／ＬＥＮＧＴＨ（ＥＤＧＥ）＋ＥＷ（ＰＡＩＲ）
式中、ＡＲＥＡは、辺に関連する１つ以上の多角形の面積であり、ＬＥＮＧＴＨは、辺の長さであり、ＥＷは、辺に関連する辺対の辺間の幅である。したがって、辺に対するプロパティＺの値は、辺に関する他の何らかの多角形の面積に依存する。
【００６９】
本発明のいくつかの実装では、種々のアルゴリズムを使用して、どの幾何学的要素等の設計対象を、プロパティ定義での使用のために互いに関連付けるのかを定義することができる。例えば、上述のプロパティＺの定義は、関連アルゴリズム（ｒｅｌａｔｉｏｎｓｈｉｐ  ａｌｇｏｒｉｔｈｍ）を使用してもよく、該アルゴリズムは、多角形が、プロパティに関連付けられた辺に接触するかどうかを判断するプロパティ値の多角形を含み、また、１つの辺がプロパティに関連付けられ、第２の辺が、多角形を通じて第１の辺に接続された（すなわち、両方の辺が、空き空間によって分離されるのとは対照的に、同じ多角形の一部である）可動化を判断するプロパティ値の辺対を含む。
【００７０】
当然、あらゆる所望のアルゴリズムを使用して、どの設計対象が、プロパティの値を決定するために互いに関連付けられるのかを判断することができる。例えば、物理的レイアウト設計のための他の可能な関連アルゴリズムは、重なる全ての幾何学的要素、交差する全ての幾何学的要素、触れるか、または互いに接触する幾何学的要素、または別の幾何学的要素の定義した近接度以内にある全ての幾何学的要素を関連付けてもよい。さらに他の関連アルゴリズムでは、１つの幾何学的要素が複数の幾何学的要素に接触している場合、そのアルゴリズムは、接触している幾何学的要素をエラーとして処理するように、または全ての接触している形状を関連付けるように決定することができる。さらに他の関連アルゴリズムは、クリッピングを使用することができ、例えば、第１の幾何学的要素が第２の幾何学的要素と交差する場合、プロパティ値等を決定した時に、第１の幾何学的要素の内側の第２の幾何学的要素の一部だけが使用される。
【００７１】
同様に、種々のアルゴリズムを使用して、論理設計における設計対象を、プロパティ定義での使用のために互いに関連付けることができる。例えば、プロパティ定義は、同じ論理デバイスに属する全ての設計対象、共通のネットを共有する全ての設計対象、または参照識別子を共有する全ての設計対象を、例えば、プロパティが関連付けられた設計対象に関連付けてもよい。当然、さらに他の関連基準を使用して、設計における設計対象を、プロパティ定義での使用のために互いに関連付けることができる。
【００７２】
さらに、第１のプロパティ値を組み込むように第２のプロパティ値を定義することによって、あらゆる設計対象または設計対象群に関連付けられたプロパティ値を、他のあらゆる設計対象または設計対象群に関連付けることができる。例えば、第１の多角形のプロパティは、その多角形の面積であってもよい。次いで、第１の多角形に触れる、または接触する第２の多角形のプロパティを、第１の多角形の面積として定義することができる。このように、第１の多角形に関連付けられたプロパティ値を、第２の多角形に関連付けることができる。したがって、幾何学的要素に関連付けられたプロパティは、その幾何学的要素を組み込んだセルに関連付けることもできる。同様に、幾何学的要素に関連付けられたプロパティは、隣接する幾何学的要素に関連付けることができる。さらに、幾何学的要素のプロパティは、設計における全てのデータ層に関連付けることができる。
【００７３】
本発明の種々の実装では、設計対象プロパティ値に関連付けられたプロパティの値は、プロパティが関連付けられる設計対象の記述とは別である。すなわち、本発明の種々の実施形態では、プロパティの値は、単にプロパティが関連付けられる設計対象の特性ではなく、代わりに、相異なる設計対象自体であるとみなしてもよい。本発明のいくつかの実装によれば、例えば、種々の設計対象のプロパティ値は、アレイ内に格納してもよい。図５は、本発明の種々の実装が使用してもよい、一種のアレイの一実施例を示している。この図に示されるように、アレイ５０１は、識別子５０３を記載した列を含む。該図はまた、プロパティＧに対するプロパティ値５０５を有する列、プロパティＨに対するプロパティ値５０５を有する列、およびプロパティＩに対するプロパティ値５０５を有する列も含む。
【００７４】
各識別子５０３は、プロパティＧ、Ｈ、およびＩのそれぞれに関連付けられた設計対象の発生を識別する。図示の実施例では、設計対象は、例えば、階層的物理的レイアウト設計における一種のセルであってもよい。よって、プロパティＧの定義は、セルの配置の座標値とすることができ、一方で、プロパティＨの定義は、セルが得られたライブラリ、および設計におけるセルのカウントの両方とすることができる。次いで、プロパティＩの定義は、製造プロセス中に、セルに記述された構造体が不適切に形成される割合を示すことができる。よって、アレイ５０１から、例えば、「設計対象８」のセルは、設計におけるｘ、ｙ座標値４０、８に位置し、元々はライブラリ８から取得したものであり、また、設計におけるそのセルの９回目の発生であると判断することができる。また、このセルのプロパティＩの値は、製造時に０．０００００９％の故障率があることを示している。
【００７５】
それぞれを理解するために表形式のアレイを図５に示しているが、本願明細書で使用する場合、「アレイ」という用語は、論理アレイと同様に作用するあらゆる種類のデータ構造を包含することを意図していると理解されたい。したがって、本発明の種々の実装は、例えば、Ｃａｌｉｂｒｅ番号表（Ｗｉｌｓｏｎｖｉｌｌｅ、ＯｒｅｇｏｎにあるＭｅｎｔｏｒ  Ｇｒａｐｈｉｃｓ社から入手できるＣａｌｉｂｒｅファミリのソフトウェアツールとともに使用される）、またはＳｔａｎｄａｒｄ  Ｔｅｍｐｌａｔｅ  Ｌｉｂｒａｒｙ（ＳＴＬ）のｄｅｑｕｅ等の構造体を、代替的に、または付加的に使用してもよい。また、図５は、設計対象ごとの単一組のプロパティ値を示しているが、本発明の種々の実装は、複数の識別子を、単一組のプロパティ値に関連付けられることもできるものと理解されたい。この配設は、例えば、１つ以上の設計対象が関連するプロパティに対して同じ値を有する場合のメモリ使用量を低減するのに有用となり得る。また、本発明の種々の実装は、メモリ使用量を節約するように、上書きによってプロパティ値を更新するか、またはメモリにおける以前のプロパティ値を、更新されたプロパティ値と置き換えることができることに留意されたい。
【００７６】
（一方のＥＤＡプロセスから他方のプロセスへのプロパティ値の転送）
本発明の種々の実装によるプロパティの１つの用途は、一方の電子設計自動化プロセスにおいて決定された情報を、他方の電子設計自動化プロセスに、第２の電子設計自動化プロセスが容易に使用できるフォーマットで転送することである。例えば、プロパティを定義および使用して、シミュレーション解析プロセス（光近接効果補正プロセス、エッチングシミュレーション解析プロセス、または平坦化シミュレーション解析プロセス等）から、幾何解析プロセス（設計ルールチェックプロセス、製造性を考慮した設計プロセス、または光学ルールチェックプロセス等）へ、または論理解析プロセス（レイアウト対回路図プロセス、電気的ルールチェックプロセス、または設計論理検証プロセス等）へ情報を転送することができる。同様に、プロパティを使用して、幾何解析プロセスから、シミュレーション解析プロセスまたは論理解析プロセスへ情報を転送するように、または論理解析プロセスから、シミュレーション解析プロセスまたは幾何解析プロセスへ情報を転送することができる。
【００７７】
種々の情報を、一方のＥＤＡプロセスから他方のＥＤＡプロセスへ転送することができる。例えば、１つのＥＤＡプロセスは、動作中に、レイアウト設計における設計対象の歩留まりに関する情報を判断して、設計対象に関連付けたプロパティ値としてその情報を提供することができる。歩留まり情報は、例えば、設計対象が適切に製造されず、したがって、仕様に従って動作しない可能性を含む場合もある。
【００７８】
例えば、図４に戻ると、２つの隣接する平行な配線ラインが不適切に製造され、互いに「ブリッジ」する可能性は、ラインの幅、ライン間の距離、およびラインが隣接する長さに依存する場合もある。上記に詳述したように、プロパティＺの値は、辺４１１に関する１つ以上の多角形の面積、辺４１１の長さ、および辺４０９と４１１との間の幅を考慮することができる。したがって、このプロパティ（またはこれらの特徴を関連付ける類似した定義を有するプロパティ）の値を使用して、ワイヤ４０９および４１１が、製造プロセス中に互いにブリッジする可能性を判断することができる。したがって、設計ルールチェックプロセス等の、プロパティＺの値を容易に計算することができるＥＤＡプロセスは、ライン４０９またはライン４１１に関してプロパティＺの値を決定することができる。よって、ＤＦＭプロセス等の別のＥＤＡプロセスは、そのプロパティ値を使用して、例えば、ワイヤ４０９および４１１が製造プロセス中に互いにブリッジする可能性を判断することができる。
【００７９】
一方のＥＤＡプロセス中に生成して、その後他方のＥＤＡプロセスに提供してもよいさらに他の情報は、故障予測である。故障予測は、例えば、歩留まり情報を特定の設計特微にマップしてもよい。例えば、ビアの歩留まりが低くなる場合、およびその故障によって、製造された回路におけるデバイスが「スタックオープン」となる場合、故障予測情報は、低歩留まりのビアと、デバイスに接続されたネットがスタックオープンになる可能性とを相関させてもよい。一方のＥＤＡプロセス中に生成され、その後、プロパティ情報として他方のＥＤＡプロセスに提供してもよいさらに他の情報は、試験ヒントであり、これは、製造した回路における潜在的故障を強調する試験パターンを提案する。例えば、試験ヒントは、故障予測情報によって識別される潜在的故障を試験する、試験パターンを提案してもよい。また、熱応力による接触の故障等の、製造したデバイスの使用中に生じ得る遅れ故障に対応する、信頼性情報を含んでもよい。一方のＥＤＡプロセスから他方のＥＤＡプロセスへプロパティ情報として伝えることができるさらに他の情報は、信頼性および製造性のメトリックを含む。これらのメトリックは、例えば、プロセスウィンドウ全体の変動、またはフォトレジストが崩壊する可能性等の、特定の故障機構に対する特定の質的な特性としてもよい。
【００８０】
加えて、平坦性情報を、一方のＥＤＡプロセス（平坦化シミュレーション解析プロセス等）から他方のＥＤＡプロセスへ伝えることができる。この種の情報は、例えば、チップ全体の材料の硬度の分布（酸化物は他のいずれよりも硬く、銅は柔らかく、ポリシリコンはその中間である）に基づいて研磨した後に予測される厚さに対して、化学機械研磨のプロセスをシミュレーションする、平坦性モデルを使用して生成される情報を含んでもよい。さらに、放熱情報を一方のＥＤＡプロセスによって決定し、その後プロパティ値の形態で他方のＥＤＡプロセスに提供してもよい。
【００８１】
図６は、ＥＤＡプロセスを使用して、プロパティ値を生成して、別のＥＤＡプロセスに提供できることを示すフローチャートである。ステップ６０１で、第１のＥＤＡプロセスは、設計データを受信する。次に、ステップ６０３で、第１のＥＤＡプロセスは、設計データを解析し、ステップ６０５で、プロパティの定義に基づいて、設計データから１つ以上のプロパティ値を生成する。ステップ６０７で、第１のＥＤＡプロセスは、第２のＥＤＡプロセスによる使用のために、プロパティ値をメモリ格納媒体内に格納する。本発明の種々の実装では、メモリ格納媒体は、プロセッサレジスタ、ＲＡＭ、磁気メモリ格納ディスク、光格納ディスク、または他のフォーマット等の、あらゆる種類の格納媒体であってもよい。ステップ６０９で、第２のＥＤＡプロセスは、それ自体の実行に使用するのために、格納されたプロパティ値を取得する。本発明のいくつかの実装では、生成されたプロパティ値は、即時に第２のＥＤＡプロセスへ提供してもよい。この配設では、プロパティ値は、プロセスレジスタ内等の、メモリ内に短期間だけ格納してもよい。しかしながら、さらに他の実装の場合、プロパティ値は、格納媒体内に長期間格納し、プロパティ値が生成されたしばらく後に開始される第２のＥＤＡプロセス内に格納してもよい。
【００８２】
（ＯＰＣプロセスからＤＦＭまたはＬＶＳプロセスへのプロパティ値の転送）
ＥＤＡプロセス間でのプロパティ交換の一実施例をより詳細に示すために、ＯＰＣプロセスから、ＤＦＭプロセスまたはＬＶＳプロセスへ情報を転送するためのプロパティの使用を考察する。光近接効果補正（ＯＰＣ）は、電子設計自動化ツールによって頻繁に提供されるプロセスの一種である。マイクロ回路が、さらに小さい特徴を含めるように発展しているため、現在、多くの回路設計は、リソグラフプロセス中にそれらの特徴を作製するのに使用される光波長よりも小さい特徴を含んでいる。しかしながら、この種のサブ波長イメージングは、リソグラフプロセス中にしばしば歪みを生じさせる。これらの歪みに対処するために、上述のように、補正アルゴリズムを使用して、回路設計の物理的レイアウトを変更する。このプロセスは、通常、光近接効果補正（ＯＰＣ）と呼ばれる。したがって、本願明細書で使用する場合、光近接効果補正という用語は、リソグラフプロセス中にレイアウトの再現精度を改善するための、回路設計の物理的レイアウトの変更を含む。しかしながら、加えて、光近接効果補正という用語はまた、本願明細書で使用する場合、例えば急激な近接度の移行時の独立した単一および／または複数の特徴の印刷に対する、リソグラフプロセスの堅固性を改善するための、物理的レイアウト設計の変更も含む。
【００８３】
光近接効果補正中に、物理的レイアウトの多角形の辺は、小さい断片に分割される。これらの断片は、その後移動され、追加的な小さい多角形が、物理的レイアウトの戦略的な場所に加えられる場合もある。リスグラフプロセスは、次いで、変更または「補正」されたレイアウトによって作製される画像が、レイアウト画像に対する以前の変更によって作成される画像よりも改善されているかどうかを判断するようにシミュレーションが行われる。このプロセスは、その後、シミュレーションおよび検証ツールが、実際のリソグラフプロセス中に満足な画像解像度をもたらす、変更されたレイアウトを生成するまで反復的に繰り返される。
【００８４】
一般的に、光近接効果補正手法は、ルールベースか、またはモデルベースのいずれかに分類される。ルールベースの光近接効果補正では、レイアウト変更は、特定のルールに基づいて生成される。例えば、小さいセリフを、レイアウトにおける各凸状の（すなわち、外方を指す）９０°コーナ部に加えてもよい。モデルベースの光近接効果補正は、概して、ルールベースの光近接効果補正よりもかなり複雑である。モデルベースの光近接効果補正では、試験レイアウトから取得したリソグラフプロセスデータを使用して、リソグラフパターン形成動作の数学モデルを作製する。適切なモデルを使用することで、シミュレーションおよび検証ツールは、次いで、リソグラフプロセス中に補正レイアウトによって作製される画像を計算する。補正が行われるレイアウト特徴は、その後、レイアウトのための画像（モデルを使用して計算したもの）が所望のレイアウト画像に十分近づくまで、反復的に操作される。したがって、いくつかのモデルベースの光近接効果補正アルゴリズムは、辺およびコーナ部に対する、予めシミュレーションを行った結果の加重和を計算することによって、複数のリソグラフプロセス効果のシミュレーションが必要になる場合がある。光近接効果補正アルゴリズムの一実施例は、１９９８年にＵｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｃａｌｉｆｏｒｎｉａ、ＢａｒｋｅｌｅｙのＮｉｃｋ  Ｃｏｂｂによる、「Ｆａｓｔ  Ｏｐｔｉｃａｌ  Ｐｒｏｃｅｓｓ  Ａｎｄ  Ｐｒｏｘｉｍｉｔｙ  Ｃｏｒｒｅｃｔｉｏｎ  Ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｍａｎｕｆａｃｔｕｒｉｎｇ」（博士論文）に記載されている。
【００８５】
当業者には明らかなように、ルールベースの光近接効果補正プロセスを実行することで、デザインルールチェックを実行するよりも計算的に集約されたものとなり、また、モデルベースの光近接効果補正を実行することでさらにそのようになる。さらに、光近接効果補正プロセスに必要な計算が、通常は、設計ルールチェックプロセスに使用される計算よりも高度なものとなる。シミュレーションを行ったリソグラフ画像の取得は、例えば、異なる角度に配設された複数の別個のコヒーレント光源として、リソグラフ光源のモデル化を伴う場合もある。リソグラフプロセスにおいて使用されるレンズの動作をモデル化するように、このようなコヒーレント光源ごとに、高速フーリエ変換（ＦＦＴ）を計算することによって、シミュレーションを行った画像が得られる。これらのシミュレーションを行った画像は、その後合計して、リソグラフプロセスによって生成される画像を取得する。
【００８６】
したがって、ＯＰＣプロセスは、ＤＦＭまたはＬＶＳプロセスとは異なるデータ「解像度」を使用することになる。例えば、トランジスタゲートを表現する単純な長方形の多角形の解析では、ＯＰＣプロセスは、その長方形の多角形を、おそらく数百万の辺を有する輪郭を形成した多角形に変換する場合もある。したがって、ＯＰＣプロセスは、一般的に、（１）比較的大きい多角形をかなりの数の（例えば、百万の）比較的小さい多角形に分割し、（２）解析されるデータの階層的構造体を無視する必要があり得る、大規模な並列演算を実行することになる。その結果、ＯＰＣプロセスによって生成された情報は、一般的に、それぞれが通常は元の設計における比較的大きい多角形について計算を実行する、ＤＦＭまたはＬＶＳプロセスとは互換性が無く、設計における階層的配列を使用してそれらの計算を実行することによって大きな利益が得られる。
【００８７】
例えば、トランジスタゲートを表現する長方形の多角形では、ＯＰＣプロセスは、リソグラフ製造プロセスにおいて回折が生じた後に、ゲートの形状の実際の細部を表現する、輪郭がはっきりと形成された多角形を生成する。これに反して、ＬＶＳプロセスは、デバイスを特徴付けるのに、全幅およびゲートの長さしか必要としない。したがって、ＬＶＳプロセスは、ＯＰＣプロセスによって計算した輪郭を形成したゲート形状の幅を平均する方程式を使用してもよく、その後、この平均値をＬＶＳによって使用してデバイスを特徴付ける。しかしながら、この平均幅値を計算するために、ＬＶＳプロセスは、一般的に、ＯＰＣプロセスから詳細な輪郭情報を取得しなければならないが、それは望ましくない。本発明の種々の実施例では、これらの平均幅値は、ＯＰＣによって容易に計算することができ、その結果は、プロパティ値として元のゲート多角形に添付される。よって、ＯＰＣプロセスによって効率的に計算された、これらのプロパティ値を、ＬＶＳプロセスに渡すことができる。その結果、ＬＶＳプロセスは、受信したプロパティ値を使用してデバイスを識別するように構成することができる。このように、各プロセスは、設計データを処理するためのその最適なモードで動作することができる。
【００８８】
当業者には明らかなように、プロパティによるＯＰＣプロセスからＤＦＭプロセスへの情報の転送は類似しているが、広範囲の情報をＤＦＭプロセスにおいて解析できるという点において、より一般的なものとなり得る。例えば、ＤＦＭプロセスは、ワイヤに対する「プルバック」値（ワイヤが、製造プロセスにおける回折によって、伸び縮みする量）に基づいて、ワイヤに対する故障確率計算を実行することを望む場合もある。一般的に、ＤＦＭプロセスは、この種の値を容易に計算することができない。しかしながら、本発明の種々の実施例では、ＯＰＣプロセスは、ワイヤに対するプルバック値を計算し、次いで、この値を、プロパティ値として、ＯＰＣ解析が実行された単純なレイアウトの多角形に添付することができる。ＤＦＭプロセスは、続いて、このプルバック値を使用して、対応する計算を増加させることを必要とせずに、ＤＦＭプロセスの結果の精度を改善することができる。
【００８９】
プルバック情報に加えて、ＯＰＣプロセスは、１つ以上のプロパティ値として、さらに他の種類の輪郭情報を判断し、それらのプロパティ値をＬＶＳまたはＤＦＭプロセスへ渡してもよい。例えば、ＯＰＣプロセスは、ゲート変動、接触安定性、相互結合変動、ブリッジング等を記述するプロパティ値を生成してもよい。次いで、これらのプロパティ値をＬＶＳまたはＤＦＭプロセスに提供することによって、ＬＶＳまたはＤＦＭプロセスは、その後、それ自体の演算中に、情報の再計算を必要とせずに、これらの値を使用することができる。
【００９０】
一方の電子設計自動化プロセスから他方の電子設計自動化プロセスへ情報を転送するようにプロパティを使用するさらに別の実施例は、変動バンドの決定に関する。プロセス変動バンドは、２００５年１１月１０日に公開の、米国特許公開第２００５０２５１７７１号、名称「Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｌａｙｏｕｔ  Ｄｅｓｉｇｎ  Ｍｅｔｈｏｄｏｌｏｇｙ  Ｗｉｔｈ  Ｐｒｏｃｅｓｓ  Ｖａｒｉａｔｉｏｎ  Ｂａｎｄｓ」、発明者Ｊｕａｎ  Ａｎｄｒｅｓ  Ｔｏｒｒｅｓ  Ｒｏｂｌｅｓ、に詳述されており、その公開物は、参照することにより本願明細書にその全体が援用される。プロセス変動バンドは、ＯＰＣプロセスによって計算することができる。プロセス変動バンドは、製造プロセス中の異なるプロセス条件によって生じた回折に起因し得る、レイアウト設計における多角形によって生成される、可能な形状変動の範囲を表現する。プロセス変動バンドの結果は、次いで、ＤＦＭプロセスにおけるその後の使用のために、対応する多角形に添付することができる。例えば、多角形は、計算された幾何学的値（例えば、０．１のバンド偏差）、およびそれらの幾何学的値が計算された（例えば、１％の焦点ずれに対して０．１のバンド偏差が計算された）パラメータの両方を含むことができる、関連するプロパティ値を有してもよい。
【００９１】
ＯＰＣプロセスによって提供された、このプロパティ情報は、次いで、あらゆる所望の態様で、ＤＦＭプロセスによって使用することができる。例えば、ＤＦＭは、元のレイアウト設計における単純な多角形を使用して、ブリッジング不良の初期チェックを行うことができる。ＤＦＭプロセスが、不良の可能性があると判断した場合、ＤＦＭプロセスは、関連するプロパティ値として提供されたプロセス変動バンド値をチェックして、不良が生じるかどうか（または不良が生じ得る可能性）を、より高い精度で計算することができる。さらに、ＤＦＭプロセスは、隣接するライン上の２つの隣接する「マーカ」間にある故障面積を、代替的に、または付加的に判断することができる。ＯＰＣプロセスからプロパティ値として渡されたプロセス変動情報を使用することで、ＤＦＭプロセスは、次いで、プロセス変動領域と、不良領域との重なりを（例えば、単純な比率として）表現する、プロセス変動率を決定することができる。このプロセス変動率に基づいて、ＤＦＭプロセスは、関連するブリッジ領域で生じる不良の可能性を判断することができる。ワイヤ内のマーカごとに、プロセス変動率の値（それら自体を、プロパティ値として記録することができる）を加算することによって、ＤＦＭ値は、例えば、不良が生じる可能性が最も高い設計におけるワイヤを識別する、またはワイヤに不良が生じる可能性が最も高いマーカ領域を識別する、等を行うことができる。
【００９２】
上述のように、本発明の種々の実施例を、以降の電子設計自動化プロセスでのＯＰＣプロセス中に生成される、プロパティ値の使用に関して説明した。しかしながら、プロパティ値の使用は、ＯＰＣプロセス中に生成されたものだけに限定されないものと理解されたい。本発明の他の実装は、例えば、他の以降の電子設計自動化プロセスでの光学関連の電子設計自動化プロセスによって生成されるプロパティ値を使用してもよい。例えば、本発明のいくつかの実装は、同様に、以降の電子設計自動化プロセスで、光近接ルールチェック（ＯＲＣ）プロセスまたは位相シフトマスク（ＰＳＭ）プロセス中に生成されるプロパティ値を使用してもよい。
【００９３】
（ＤＦＭプロセスおよびＬＶＳプロセス間のプロパティ値の転送）
さらに、プロパティは、ＤＦＭプロセスからＬＶＳプロセスへ情報を転送するように、本発明の種々の実施例に従って使用してもよい。ＬＶＳプロセスは、一般的に、デバイス識別のソースとして、デバイス内の基本的な多角形から始めることによって、デバイスを識別または特徴付けて、次いで、設計における多角形のそれぞれの接触または重なりを解析してデバイスの程度を判断する。その結果、ＬＶＳプロセスは、一般的に、デバイスとは別である多角形を、デバイスの識別解析の一部とみなすことができない。しかしながら、デザインにおけるデバイスを正確に特徴付けるために、ＬＶＳプロセスは、ＬＶＳプロセスが、通常、デバイスに関するものとして認識するものの外側にある幾何学的特徴の測定値の使用が必要となる場合もある。
【００９４】
トランジスタ等の歪みシリコンを使用したデバイスの動作を特徴付けるために、ＬＶＳプロセスは、シリコンによってトランジスタゲートに印加された応力の量を使用してもよい。この判断を行うために、ＬＶＳプロセスは、歪みシリコン材料と、隣接するが別個のデバイス（例えばワイヤ）内に形成された孔との間の距離を知っておかなければならない。しかしながら、ＬＶＳプロセスは、隣接するデバイスに関する特徴を測定することができないので、歪みシリコンデバイスを正確に特徴付けることができない場合もある。しかしながら、本発明の種々の実施例では、ＤＦＭプロセスは、歪みシリコンデバイスと、隣接するワイヤ内の孔との間の距離を測定することができる。よって、ＤＦＭプロセスは、歪みシリコンデバイスのゲートを表現する多角形に関連付けられたプロパティ値として、これらの測定を記録することができる。よって、ＬＶＳプロセスは、続いて、これらのプロパティを使用して、隣接するデバイスのいかなる解析も必要とせずに、歪みシリコンデバイスの動作を特徴付けることができる。したがって、ＬＶＳプロセスがデバイスの境界の外側の一部の情報を有するのに有用となり、この外部情報は、本発明の種々の実装に従って、プロパティ値を使用して別のプロセスによってＬＶＳプロセスに提供することができる。
【００９５】
さらに、プロパティ値は、ＬＶＳプロセスからＤＦＭプロセスへ渡すことができる。例えば、ＬＶＳプロセスは、高電流ＭＯＳトランジスタのゲートを表現する設計における多角形を識別することができ、よって、それらを高電流ＭＯＳトランジスタとして識別するこれらの多角形に対するプロパティ値を（例えばそれを高電流ＭＯＳとして識別するゲートに対する電流負荷の数値を有するプロパティとして、または「高電流ＭＯＳ」という文字列値を有するプロパティとして、等）記録することができる。これらのプロパティ値は、その後ＤＦＭプロセスへ返すことができる。ＤＦＭプロセスは、次いで、フィルタを使用して高電流ＭＯＳ構造体を識別し、フィルタを通じて識別されたそれらの構造体に求められるどのような動作も実行することができる。
【００９６】
さらに、プロパティを使用して、一方の種類の設計である設計対象から、他方の種類の設計である別の設計対象へ、情報を転送することができる。例えば、ＬＶＳプロセスは、トランジスタのキャパシタンス等の、設計における設計対象の動作特性を判断することができる。ＬＶＳプロセスは、次いで、これらの動作特性をデータ構造に関連付けられたプロパティ値として格納し、これらのプロパティ値を、例えば論理設計における、対応するデータ構造に提供することができる。同様に、ＤＦＭプロセスは、ＰＥＸ（ｐａｒａｓｉｔｉｃ  ｅｘｔｒａｃｔｉｏｎ：寄生抽出）プロセスを使用して、例えばキャパシタンスを計算することができ、その後、レイアウト設計または概略設計におけるプロパティとして使用することができる。
【００９７】
（ＥＤＡプロセス内でのプロパティの転送）
本発明の種々の実装に従って使用してもよいプロパティの別の用途は、電子設計自動化プロセスの第２の部分によって容易に使用できるフォーマットで、電子設計自動化プロセスの一方の部分から、その電子設計自動化プロセスの他方の部分へ情報を転送することである。この場合も、歩留まり情報、故障予測情報、および試験ヒント等の種々の情報は、プロパティ値を使用して、単一のＥＤＡプロセス内で転送することができる。また、信頼性情報、信頼性および製造性メトリック、平坦性情報、および放熱情報を含んでもよい。
【００９８】
図７は、ＥＤＡプロセスの第１の部分を使用して、プロパティ値を生成して、ＥＤＡプロセスの第２の部分に提供することができることを示すフローチャートである。ステップ７０１で、ＥＤＡプロセスの第１の部分は、設計データを受信する。次に、ステップ７０３で、ＥＤＡプロセスの第１の部分は、設計データを解析し、ステップ７０５で、プロパティの定義に基づいて、設計データから１つ以上のプロパティ値を生成する。ステップ７０７で、ＥＤＡプロセスの第１の部分は、ＥＤＡプロセスの第２の部分による使用のために、プロパティ値をメモリ格納媒体内に格納する。本発明の種々の実装では、メモリ格納媒体は、プロセッサレジスタ、ＲＡＭ、磁気メモリ格納ディスク、光格納ディスクまたは他のフォーマット等の、あらゆる種類の格納媒体であってもよい。ステップ７０９で、ＥＤＡプロセスの第２の部分は、それ自体の実行に使用するために、格納されたプロパティ値を取得する。本発明のいくつかの実装では、生成されたプロパティ値は、即時にＥＤＡプロセスの第２の部分に提供してもよい。この配設では、プロパティ値は、プロセスレジスタ内等の、メモリ内に短期間だけ格納してもよい。しかしながら、さらに他の実装の場合、プロパティ値は、格納媒体内に長期間格納し、プロパティ値が生成されたしばらく後に開始されるＥＤＡプロセスの第２の部分内に格納してもよい。
【００９９】
（ＤＦＭプロセス内でのプロパティの転送）
この場合も、単一のＥＤＡプロセス内でのプロパティの交換の一実施例をより詳細に示すために、ＤＦＭプロセス内で情報を転送するためのプロパティの使用を考察する。ＤＦＭプロセスの異なる機能は、異なるレベルのデータ「解像度」を使用することができる。ＤＦＭプロセスは、回路全体の高レベルの製造歩留まりを提供することができるが、これは、幾何学的要素の特定の組み合わせのための詳細な情報を使用した、不良の可能性とは異なるデータ解像度を有することになる。したがって、ＤＦＭプロセスは、個々の幾何学的要素の不良情報を計算して、この不良情報を、設計者が歩留まりの可能性のより広範囲の解析を実行したい時に使用するために、プロパティ値として高レベルの設計対象（例えば、ネットまたはセル）に添付する。
【０１００】
さらに、ＤＦＭプロセスは、ビアが故障を形成しないようにビアを２倍する等の、強化度を計算することができる。ビアを２倍にすることによって、例えば、第２のビアを、元のビアに対する４つの可能な場所のうちの１つ（すなわち、上、下、左、または右）に配置することができる。ＤＦＭプロセスは、全ての可能な選択肢を計算し、選択肢ごとの特性（例えば、キャパシタンスの変化）を決定し、決定した特性をプロパティ値として保存することができる。次いで、所望の使用に適合する最適な選択肢の選択を決定するように、プロパティを使用して種々の選択肢の組み合わせを生成することができる。また、プロパティ値を使用して、プロセスパラメータに基づいて各要素による潜在的損失を決定すること、およびプロセスの改善がどのくらいの歩留まり改善をもたらすのかを判断することができる。
【０１０１】
（結論）
本発明を、本発明の実行に現在好適である方法を含む、特定の実施例に関して説明したが、当業者は、上述のシステムおよび手法には多数の変形例および置換例があり、それらは、添付の特許請求の範囲に記載の本発明の精神と範囲に含まれるものと理解されよう。例えば、上記では電子設計自動化プロセスを指すように特定の用語を使用したが、本発明の種々の実施例は、電子設計自動化プロセスのあらゆる所望の組み合わせを使用して実装してもよいものと理解されたい。
【０１０２】
したがって、「製造性を考慮した設計」プロセスとの使用に加えて、本発明の種々の実施例は、「チップクリーニング」および「設計クリーニング」電子設計自動化プロセス等を含む、「歩留まりを考慮した設計」（ＤＦＹ）電子設計自動化プロセス、「歩留まり支援」電子設計自動化プロセス、「リソグラフに適した設計」（ＬＦＤ）電子設計自動化プロセスとともに使用することができる。同様に、「設計ルールチェック」電子設計自動化プロセスとの使用に加えて、本発明の種々の実装は、「物理的検証」電子設計自動化プロセスとともに使用してもよい。また、ＯＰＣおよびＯＲＣ電子設計自動化プロセスとの使用に加えて、本発明の種々の実装は、あらゆる種類の解像度向上電子設計自動化プロセスとともに使用してもよい。
【図１】
2010506336.tif 000003
【図２】
2010506336.tif 000004
【図３】
2010506336.tif 000005
【図４】
2010506336.tif 000006
【図５】
2010506336.tif 000007
【図６】
2010506336.tif 000008
【図７】
2010506336.tif 000009
【手続補正書】
【提出日】平成21年5月28日(2009.5.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路設計を解析する方法であって、
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
該プロパティ値をメモリ格納媒体に格納することと
を含む、方法。
【請求項２】
前記設計対象は、多角形の辺、多角形の１つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項１に記載の方法。
【請求項３】
前記設計対象は、一群の多角形の辺、一群の多角形、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および前記レイアウト設計の層における前記幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における幾何学的要素の集合体である、請求項２に記載の方法。
【請求項４】
前記設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項２に記載の方法。
【請求項５】
前記プロパティ値は、前記プロパティが関連付けられた前記設計対象の記述とは別である、請求項１に記載の方法。
【請求項６】
前記プロパティは、一定値を有する、請求項１に記載の方法。
【請求項７】
前記プロパティは、可変関数を含む値定義を有する、請求項１に記載の方法。
【請求項８】
前記可変関数は、前記回路設計に幾何学的データを組み込む、請求項７に記載の方法。
【請求項９】
前記可変関数は、プログラムスクリプトに記述される、請求項７に記載の方法。
【請求項１０】
前記プロパティは、ベクトルを含む値を有する、請求項１に記載の方法。
【請求項１１】
前記プロパティは、一連の値を含む値を有する、請求項１に記載の方法。
【請求項１２】
前記プロパティは、第２のプロパティを組み込む複合値を有する、請求項１に記載の方法。
【請求項１３】
前記プロパティは、第１の組の条件下で前記プロパティの第１の値を定義し、該第１の組の条件とは異なる第２の組の条件下で該プロパティの第２の値を定義する、代替値定義を有する、請求項１に記載の方法。
【請求項１４】
前記プロパティは、文字列を含む値を有する、請求項１に記載の方法。
【請求項１５】
前記プロパティは、２つ以上の並列値を有する、請求項１に記載の方法。
【請求項１６】
前記２つ以上の並列プロパティ値は、異種である、請求項１５に記載の方法。
【請求項１７】
前記２つ以上の並列プロパティ値は、座標値である、請求項１５に記載の方法。
【請求項１８】
前記電子設計自動化プロセスを実行している間に、前記プロパティを、前記回路設計における第２の設計対象と関連付けることをさらに含む、請求項１に記載の方法。
【請求項１９】
前記電子設計自動化プロセスを実行している間に、
前記プロパティに対する少なくとも１つの値定義を加えることと、
前記プロパティの各値定義の値を決定することと
をさらに含む、請求項１に記載の方法。
【請求項２０】
前記電子設計自動化プロセスを実行している間に、第２のプロパティの値を決定することをさらに含み、前記第２のプロパティは、前記回路設計における異なる設計対象に関連付けられる、請求項１に記載の方法。
【請求項２１】
前記電子設計自動化プロセスを実行している間に、前記プロパティの以前に決定した値を、該プロパティの新たに決定した値と置き換えることをさらに含む、請求項１に記載の方法。
【請求項２２】
前記プロパティの前記以前に決定した値から、該プロパティの前記新たに決定した値を導出することをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記プロパティの新たに決定した値を、該プロパティの前記以前に決定した値が格納された、メモリ格納媒体内の場所に格納することをさらに含む、請求項２１に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明のこれらの、ならびに他の特徴および側面は、以下の詳細な説明を考慮することによって明らかとなろう。
本発明は、さらに以下の項目も提供する。
（項目１）
回路設計を解析する方法であって、
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
該プロパティ値をメモリ格納媒体に格納することと
を含む、方法。
（項目２）
上記設計対象は、多角形の辺、多角形の１つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、項目１に記載の方法。
（項目３）
上記設計対象は、一群の多角形の辺、一群の多角形、上記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および上記レイアウト設計の層における上記幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における幾何学的要素の集合体である、項目２に記載の方法。
（項目４）
上記設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、項目２に記載の方法。
（項目５）
上記プロパティ値は、上記プロパティが関連付けられた上記設計対象の記述とは別である、項目１に記載の方法。
（項目６）
上記プロパティは、一定値を有する、項目１に記載の方法。
（項目７）
上記プロパティは、可変関数を含む値定義を有する、項目１に記載の方法。
（項目８）
上記可変関数は、上記回路設計に幾何学的データを組み込む、項目７に記載の方法。
（項目９）
上記可変関数は、プログラムスクリプトに記述される、項目７に記載の方法。
（項目１０）
上記プロパティは、ベクトルを含む値を有する、項目１に記載の方法。
（項目１１）
上記プロパティは、一連の値を含む値を有する、項目１に記載の方法。
（項目１２）
上記プロパティは、第２のプロパティを組み込む複合値を有する、項目１に記載の方法。
（項目１３）
上記プロパティは、第１の組の条件下で上記プロパティの第１の値を定義し、該第１の組の条件とは異なる第２の組の条件下で該プロパティの第２の値を定義する、代替値定義を有する、項目１に記載の方法。
（項目１４）
上記プロパティは、文字列を含む値を有する、項目１に記載の方法。
（項目１５）
上記プロパティは、２つ以上の並列値を有する、項目１に記載の方法。
（項目１６）
上記２つ以上の並列プロパティ値は、異種である、項目１５に記載の方法。
（項目１７）
上記２つ以上の並列プロパティ値は、座標値である、項目１５に記載の方法。
（項目１８）
上記電子設計自動化プロセスを実行している間に、上記プロパティを、上記回路設計における第２の設計対象と関連付けることをさらに含む、項目１に記載の方法。
（項目１９）
上記電子設計自動化プロセスを実行している間に、
上記プロパティに対する少なくとも１つの値定義を加えることと、
上記プロパティの各値定義の値を決定することと
をさらに含む、項目１に記載の方法。
（項目２０）
上記電子設計自動化プロセスを実行している間に、第２のプロパティの値を決定することをさらに含み、上記第２のプロパティは、上記回路設計における異なる設計対象に関連付けられる、項目１に記載の方法。
（項目２１）
上記電子設計自動化プロセスを実行している間に、上記プロパティの以前に決定した値を、該プロパティの新たに決定した値と置き換えることをさらに含む、項目１に記載の方法。
（項目２２）
上記プロパティの上記以前に決定した値から、該プロパティの上記新たに決定した値を導出することをさらに含む、項目２１に記載の方法。
（項目２３）
上記プロパティの新たに決定した値を、該プロパティの上記以前に決定した値が格納された、メモリ格納媒体内の場所に格納することをさらに含む、項目２１に記載の方法。
（項目２４）
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第１の設計対象に関連付けられ、該第１の設計対象とは異なる少なくとも１つの第２の設計対象の特徴から導出された値を有する、ことと
該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
（項目２５）
上記第１の設計対象は、多角形の辺、多角形の１つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、項目２４に記載の方法。
（項目２６）
上記第１の設計対象は、一群の多角形の辺、一群の多角形、ネット、上記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、項目２５に記載の方法。
（項目２７）
上記第１の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、項目２５に記載の方法。
（項目２８）
上記第２の設計対象は、多角形の辺、多角形の１つ以上の頂点、多角形、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、項目２４に記載の方法。
（項目２９）
上記第２の設計対象は、一群の多角形の辺、一群の多角形、ネット、上記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、項目２８に記載の方法。
（項目３０）
上記第２の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、項目２８に記載の方法。
（項目３１）
上記特徴は、上記少なくとも１つの第２の設計対象の特性である、項目２４に記載の方法。
（項目３２）
上記特徴は、上記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、項目２４に記載の方法。
（項目３３）
上記少なくとも１つの第２の設計対象は、上記プロパティが関連付けられた上記設計対象に接触する幾何学的要素、該プロパティが関連付けられた該設計対象と交差する幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にあるか、または別の関連設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象に重なる幾何学的要素、該プロパティが関連付けられた該設計対象によってクリップされる幾何学的要素の各部分、該設計対象と同じデバイスに属する論理回路設計におけるアイテム、該設計対象とネットを共有する論理回路設計におけるアイテム、および該設計対象と参照識別子を共有する論理回路設計におけるアイテムから成る群より選択される、項目２４に記載の方法。
（項目３４）
上記プロパティは、可変関数を含む値定義を有する、項目２４に記載の方法。
（項目３５）
上記可変関数は、プログラムスクリプトに記述される、項目３４に記載の方法。
（項目３６）
上記プロパティは、第１の組の条件下で第１の値を、および該第１の組の条件とは異なる第２の組の条件下で第２の値を決定する、代替値定義を有し、該第１の値および該第２の値のうちの少なくとも１つは、上記少なくとも１つの第２の設計対象の上記特徴から導出される、項目２４に記載の方法。
（項目３７）
上記プロパティは、２つ以上の並列値定義を有し、上記値定義のうちの少なくとも１つは、上記少なくとも１つの第２の設計対象の上記特徴を使用する、項目２４に記載の方法。
（項目３８）
上記特徴は、上記少なくとも１つの第２の設計対象の特性である、項目３７に記載の方法。
（項目３９）
上記特徴は、上記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、項目３７に記載の方法。
（項目４０）
上記電子設計自動化プロセスを実行している間に、上記プロパティに対する少なくとも１つの値定義を加えることであって、上記値定義は、上記少なくとも１つの第２の設計対象の上記特徴を使用する、ことと、
該プロパティの各値定義の値を決定することと
をさらに含む、項目２４に記載の方法。
（項目４１）
上記特徴は、上記少なくとも１つの第２の設計対象の特性である、項目２４に記載の方法。
（項目４２）
上記特徴は、上記少なくとも１つの第２の設計対象に関連付けられた第２のプロパティの値である、項目２１に記載の方法。
（項目４３）
電子設計自動化プロセス内に回路設計を受容することと、
該回路設計を使用して該電子設計自動化プロセスを実行することと、
該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第１の設計対象に関連付けられ、該プロパティが関連付けられた該設計対象とは別の幾何学的要素から導出された値を有する、ことと
を含む、回路設計を解析する方法。
（項目４４）
第１の電子設計自動化プロセスで回路設計を受容することと、
該回路設計を使用して該第１の電子設計自動化プロセスを実行することと、
該第１の電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
第２の電子設計自動化プロセスによる使用のために、該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
（項目４５）
上記プロパティ値は、上記第２の電子設計自動化プロセスによる以降の使用のために、メモリ格納媒体に出力される、項目４４に記載の方法。
（項目４６）
上記プロパティ値は、上記第２の電子設計自動化プロセスに直接出力される、項目４４に記載の方法。
（項目４７）
上記プロパティ値を使用して上記第２の電子設計自動化プロセスを実行することをさらに含む、項目４４に記載の方法。
（項目４８）
上記プロパティ値を使用して上記第２の電子設計自動化プロセスを実行した結果に基づいて、回路を製造することをさらに含む、項目４７に記載の方法。
（項目４９）
上記第１の電子設計自動化プロセスを実行している間に、上記回路設計における第２の設計対象に関連付けられた第２のプロパティの少なくとも１つの値を決定することと、
上記第１のプロパティ値とともに該第２のプロパティ値を、上記第２の電子設計自動化プロセスへ出力することと
をさらに含む、項目４４に記載の方法。
（項目５０）
上記第１の電子設計自動化プロセスは、シミュレーション解析プロセスであり、
上記第２の電子設計自動化プロセスは、幾何解析プロセスまたは論理解析プロセスである、項目４４に記載の方法。
（項目５１）
上記シミュレーション解析プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、項目５０に記載の方法。
（項目５２）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、上記プロパティ値を決定することをさらに含む、項目５１に記載の方法。
（項目５３）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
上記プロパティが関連付けられた上記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドの記述として、該プロパティ値を決定することをさらに含む、項目５１に記載の方法。
（項目５４）
上記第２の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、項目５０に記載の方法。
（項目５５）
上記第２の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
上記少なくとも１つのプロパティ値は、該プロパティが関連付けられた上記設計対象によって表現される電子デバイスの動作特性に関連する、項目５０に記載の方法。
（項目５６）
上記第２の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、項目５０に記載の方法。
（項目５７）
上記第１の電子設計自動化プロセスは、論理解析プロセスであり、
上記第２の電子設計自動化プロセスは、シミュレーション解析プロセスまたは幾何解析プロセスである、項目４４に記載の方法。
（項目５８）
上記第１の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、項目５７に記載の方法。
（項目５９）
上記第１の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
上記少なくとも１つのプロパティ値は、該プロパティが関連付けられた上記設計対象によって表現される電子デバイスの動作特性に関連する、項目５８に記載の方法。
（項目６０）
上記第２の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセス、から成る群より選択される、シミュレーション解析プロセスである、項目５７に記載の方法。
（項目６１）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、上記プロパティ値を決定することをさらに含む、項目６０に記載の方法。
（項目６２）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
上記プロパティが関連付けられた上記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、項目６０に記載の方法。
（項目６３）
上記第２の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、項目５７に記載の方法。
（項目６４）
上記第１の電子設計自動化プロセスは、幾何解析プロセスであり、
上記第２の電子設計自動化プロセスは、シミュレーション解析プロセスまたは論理解析プロセスである、項目４４に記載の方法。
（項目６５）
上記第１の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、項目６４に記載の方法。
（項目６６）
上記第２の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、項目６４に記載の方法。
（項目６７）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、上記プロパティ値を決定することをさらに含む、項目６６に記載の方法。
（項目６８）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
上記プロパティが関連付けられた上記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、項目６６に記載の方法。
（項目６９）
上記第２の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、項目６４に記載の方法。
（項目７０）
上記第２の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
上記少なくとも１つのプロパティ値は、該プロパティが関連付けられた上記設計対象によって表現される電子デバイスの動作特性に関連する、項目６４に記載の方法。
（項目７１）
電子設計自動化プロセスで回路設計を受容することと、
該電子設計自動化プロセスの第１の部分を実行することと、
該電子設計自動化プロセスの該第１の部分を実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
該電子設計自動化プロセスの第２の部分による使用のために、該プロパティ値をメモリ格納媒体内に格納することと
を含む、回路設計を解析する方法。
（項目７２）
上記プロパティ値を使用して上記電子設計自動化プロセスの上記第２の部分を実行することをさらに含む、項目７１に記載の方法。
（項目７３）
上記プロパティ値を使用して上記電子設計自動化プロセスの上記第２の部分を実行した結果に基づいて、回路を製造することをさらに含む、項目７２に記載の方法。
（項目７４）
上記電子設計自動化プロセスは、幾何解析プロセス、シミュレーション解析プロセス、および論理解析プロセスから成る群より選択される、項目７１に記載の方法。
（項目７５）
上記電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、項目７４に記載の方法。
（項目７６）
上記電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、項目７４に記載の方法。
（項目７７）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、上記プロパティ値を決定することをさらに含む、項目７６に記載の方法。
（項目７８）
上記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
上記プロパティが関連付けられた上記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、項目７６に記載の方法。
（項目７９）
上記電子設計自動化プロセスは、論理解析プロセスである、項目７４に記載の方法。
（項目８０）
上記論理解析プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、項目７９に記載の方法。
（項目８１）
上記論理解析プロセスは、レイアウト対回路図プロセスであり、
上記プロパティ値は、該プロパティが関連付けられた上記設計対象によって表現される電子デバイスの動作特性に関連する、項目７９に記載の方法。
（項目８２）
多角形の辺、レイアウト設計における幾何学的要素の集合体、および論理回路設計におけるアイテムから成る群より選択される、設計対象を記述するデータと、
該設計対象に関連付けられたプロパティの値を定義するデータと
を備える、データ構造。
（項目８３）
上記設計対象は、一群の多角形の辺、一群の多角形、ネット、上記レイアウト設計における階層的セル、レイアウト設計における特定の種類のあらゆる階層的セル、および上記レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、項目１に記載のデータ構造。
（項目８４）
上記設計対象を記述する上記データ、および上記設計対象に関連付けられた上記少なくとも１つのプロパティの上記値を定義する上記データは、テーブル内に配設される、項目１に記載のデータ構造。
（項目８５）
上記データは、上記プロパティの複数の並列値を定義する、項目１に記載のデータ構造。
（項目８６）
上記プロパティの上記複数の並列値は、アレイ内に格納される、項目８５に記載のデータ構造。
（項目８７）
上記プロパティに関連付けられた参照カウントデータであって、上記第１の設計対象に加えて、上記プロパティを少なくとも１つの第２の設計対象に関連付ける、参照カウントデータをさらに備える、項目１に記載のデータ構造。
【国際調査報告】
2010506336.tif 000010
2010506336.tif 000011