JP2013149286A - レイアウト設計データの増分分析 - Google Patents

レイアウト設計データの増分分析 Download PDF

Info

Publication number
JP2013149286A
JP2013149286A JP2013089536A JP2013089536A JP2013149286A JP 2013149286 A JP2013149286 A JP 2013149286A JP 2013089536 A JP2013089536 A JP 2013089536A JP 2013089536 A JP2013089536 A JP 2013089536A JP 2013149286 A JP2013149286 A JP 2013149286A
Authority
JP
Japan
Prior art keywords
layout design
analysis
design data
analysis process
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013089536A
Other languages
English (en)
Other versions
JP5619210B2 (ja
Inventor
M Paris James
パリス,ジェイムズ,エム.
Marshall Brian
マーシャル,ブライアン
John G Ferguson
ファーガソン,ジョン,ジー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mentor Graphics Corp
Original Assignee
Mentor Graphics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mentor Graphics Corp filed Critical Mentor Graphics Corp
Publication of JP2013149286A publication Critical patent/JP2013149286A/ja
Application granted granted Critical
Publication of JP5619210B2 publication Critical patent/JP5619210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】分析に要する時間を低減できる方法およびツールを提供する。
【解決手段】利用可能な分析基準の部分集合を用いて、または両方の何らかの組み合わせを用いて、レイアウト設計データの部分だけに対して後続の増分分析を行うことができる。例えば、先行する分析プロセスにおいて特定された誤りに分析を限定したり、先行する分析プロセスの後に行われたレイアウト設計データ内の変更に分析を限定したり、設計者により指定された特定の領域に分析を限定したり、またはそれらの何らかの組み合わせに分析を限定したりすることができる。さらに、分析中の設計データの部分に関連する分析基準の部分集合だけを用いて、先行する分析プロセスにおいて設計データが不合格となった初期の分析基準の部分集合だけを用いて、設計者により選択された初期の分析基準の部分集合だけを用いて、またはそれらの何らかの組み合わせを用いて、分析プロセスを実行してもよい。
【選択図】図4A

Description

発明は、レイアウト設計データの増分分析に関する。本発明のさまざまな態様は、設計ルール検査分析または製造性(生産性)を考慮した設計分析などの先行する分析の結果に基づいてレイアウト設計データ内の変更を分析するのに特に有益であろう。
関連出願
出願は、「増分設計ルール検査」と題する、ジェームス・パリス他を発明者として指定する2007年3月9日に出願された米国仮特許出願第60/894,151号に対して米国特許法第119条のもとで優先権を主張し、当該仮特許出願は引用により完全にここに組み込まれるものとする。
集積超小型回路のような電子回路が、自動車から、電子レンジ、パーソナル・コンピュータまでさまざまな製品で使用されている。超小型回路デバイスの設計および製造は、「設計フロー」として知られる多数のステップを通常含んでいる。設計フローの特定のステップは、超小型回路の種類、その複雑さ、設計チーム、および超小型回路を製造することになる超小型回路製造業者または半導体製造工場に依存する場合が多い。通常、ソフトウェアおよびハードウェア「ツール」が、ソフトウェア・シミュレータおよび/またはハードウェア・エミュレータを作動することにより設計フローのさまざまな段階で設計を検証し、設計の誤りが修正されたり、または設計が別の方法で改良されたりする。
いくつかのステップは、ほとんどの設計フローに共通している。最初に、新規の回路の仕様を論理設計に変換する。この論理設計は回路のレジスタ転送レベル(RTL)記述と呼ばれることがある。この論理設計を用いて、回路は、ハードウェア・レジスタ間の信号のやりとりと、それらの信号上で実行される論理演算間の信号のやりとりとの両方に関して記述される。論理設計は、超高速集積回路ハードウェア設計言語(VHDL)のようなハードウェア設計言語(HDL)を通常使用する。その後、回路のロジックを分析して、回路に要求される機能を回路のロジックが正確に実行するであろうことを確認する。この分析は、「機能検証」と呼ばれることがある。
論理設計の正確さが確認された後に、論理設計は合成ソフトウェアを用いてデバイス設計に変換される。通常、回路図またはネットリストの形式のデバイス設計では、回路内で使用されることになる具体的な電子デバイス(トランジスタ、抵抗器、およびコンデンサなど)が、それらの相互接続とともに記述される。このデバイス設計は、一般的に、従来の回路図に表示される表現のレベルに対応している。この段階で、各デバイスに対する推定特性速度を用いて回路の部分に対する事前時間推定を行ってもよい。さらに、電子デバイス間の関係を分析して、デバイス設計により記述された回路が要求機能を正確に実行するであろうことを確認する。この分析は、「形式的検証」と呼ばれることがある。
回路デバイス間の関係が確立されると、今度は具体的な幾何学的要素を記述する物理設計へと設計が再び変換される。この種類の設計は「レイアウト」設計と呼ばれることが多い。通常、多角形である幾何学的要素は、回路を製造するためにさまざまな材料で作られるであろう構造を形成する。通常、設計者は回路デバイス構成要素(例えば、接点、ゲートなど)を表す幾何学的要素の群を選択して、それらを設計領域内に配設することになる。幾何学的要素のこれらの群は、特注設計であってもよく、以前になされた設計のライブラリから選択されてもよく、またはその両方の何らかの組み合わせであってもよい。その後、幾何学的要素の間が線で結ばれ、この線は電子デバイスを相互接続するために使用される配線を形成することになる。これらのタスクの両方に対して、メンター グラフィックス コーポレイションのICステーション、またはケイデンス社(Cadence)のヴィルトゥーソ(Virtuoso)のようなレイアウト・ツール(「プレイス・アンド・ルート」ツールと呼ばれることが多い)が一般的に使用される。
レイアウト設計では、回路の各物理層は、設計において対応する層表現を有し、層表現内に記述された幾何学的要素は、回路デバイスを構成する回路デバイス構成要素の相対的位置を規定することになる。したがって、注入(埋め込み)層として表現された幾何学的要素は、ドーピングが行われる(または行われない)領域を規定し、他方、金属層として表現された幾何学的要素は、回路デバイスを接続するために導線を形成することになる金属層内の位置を規定する。
さらに、1つ以上の解像度向上技術(RET)を利用するためにレイアウト設計を変更してもよい。これらの技術は、フォトリソグラフィー製造プロセスにおいてレイアウト設計から生成されるレチクルまたはマスクの使用可能な解像度を向上させる。光近接効果補正(OPC)プロセスと呼ばれる場合がある、このような種類の1つの変更プロセスは、既存のレイアウト設計データにセリフまたは凹部のような特徴を追加してもよく、それにより、変更したレイアウト設計データから作られたマスクの解像度を向上させる。例えば、光近接効果補正プロセスは、多角形の角におけるフォトリソグラフィー画像の丸まりを軽減させる「ハンマーの頭」の形状を含むように矩形の多角形を変更してもよい。
通常、リソグラフィー・マスクを生成するためにレイアウト設計データをまとめる前に、設計者は1つ以上のプロセスを実行してレイアウト設計データを分析するであろう。例えば、レイアウト設計データを分析して、回路デバイスとそれらの関係とをデバイス設計で記述しているようにレイアウト設計データが正確に表していることを確認してもよい。この種類の分析は、「レイアウト対回路図検査」と呼ばれることが多い。また、レイアウト設計データを分析して、幾何学的要素の間に最小の間隔を設けることなどのさまざまな設計要件にレイアウト設計データが適合していることを確認してもよい。この種類の分析は、「設計ルール検査」と一般的に呼ばれている。さらに、レイアウト設計を分析して、製造プロセスにおける制限を補うために行うことができる変更を特定してもよい。例えば、ユーザーがレイアウト設計データを分析して、幾何学的要素の製造性を向上させるために1つまたは複数の幾何学的要素を移動したり、もしくは変更したりできるかどうかを判断してもよく、または製造プロセスの間に不良を生じる確率が高い幾何学的要素のバックアップとして冗長幾何学的要素を設計に追加することができるかどうかを判断してもよい。この種類の分析は、「製造性を考慮した設計検査」または「リソグラフィー向け設計検査」と一般的に呼ばれている。同様に、光近接効果補正プロセスの後に、設計者はレイアウト設計データを分析して、任意のさらなる増強変更を行うべきかどうかを判断してもよい。
分析プロセスの結果に応じて、設計者はレイアウト設計データをさらに変更してもよい。例えば、設計ルール検査分析プロセスが、近接しすぎて配置されている2つの幾何学的要素を特定したとき、設計者は幾何学的要素を移動させて離すことによりレイアウト設計データを修正してもよい。同様に、製造性を考慮した設計分析プロセスが、冗長性をもたせるために複製(同じものを2つ設けること)できる幾何学的要素(例えば、ビアなど)を特定したとき、設計者は1つまたは複数の複製した幾何学的要素を設計に追加してもよい。レイアウト設計データを変更した後には、変更がいかなる新たな問題をも生じていないことを確保するために、設計は1つ以上の所望の分析プロセスを繰り返してもよい。変更と分析とのこのサイクルは、設計者がレイアウト設計データ分析の結果に満足するまで何回も繰り返してもよい。
レイアウト設計を仕上げた後に、フォトリソグラフィー製造プロセス用のマスクまたはレチクルを生成するために、マスクまたはレチクル書き込みツールにより使用できるフォーマットに、レイアウト設計を変換する。マスクおよびレチクルは、ブランクのレチクルまたはマスク基板を電子またはレーザ・ビームに(または、電子ビームもしくはレーザ・ビームのアレイに)さらすツールを用いて通常作られている。しかしながら、ほとんどのマスク書き込みツールは、直角三角形、長方形、または他の台形のような特定の種類の多角形をただ「書き込む」ことができるだけである。さらに、多角形の寸法は、ツールが利用できる最大ビーム(またはビーム・アレイ)寸法により物理的に制限される。その結果、レイアウト設計内の、より大きな幾何学的要素、または直角三角形でもなく、長方形でもなく、もしくは台形でもない幾何学的要素(通常、レイアウト設計内の幾何学的要素の大部分である)は、マスクまたはレチクル書き込みツールにより書き込むことができる、より小さな、より基本的な多角形に「バラバラに分割され」なければならない。このプロセスは、「マスク・データ処理」と呼ばれることがある。
レイアウト設計がショットに分割されると、分割されたレイアウト設計データは、マスクまたはレチクル書き込みツールと互換性を有するフォーマットに変換することができる。このようなフォーマットの実施例は、アプライドマテリアルズ社(Applied Materials Company)系列のイーテック(ETEC)社により製造されたラスター・スキャニング装置用のMEBES、ならびにVSB11またはVSB12のような、ニューフレア(Nuflare)、JEOL、および日立の装置用のさまざまなベクトル・スキャン・フォーマットである。その後、書き込まれたマスクまたはレチクルをフォトリソグラフィー・プロセスで使用して、ウェハの選択された領域を光または他の放射線にさらし、ウェハ上に所望の集積回路デバイスを製造することができる。
上述したように、レイアウト設計者は、分析と変更とのサイクルを何回も繰り返してもよい。しかしながら、多数の分析プロセスには時間がかかるとともに、大量の処理資源を必要とする。分散計算システムを用いても、例えば、最新のマイクロプロセッサ設計について設計ルール検査プロセスの単一の繰り返しを実行するのに、数時間かかる可能性がある。さらに、従来の設計ルール検査技術では、設計者は、設計に満足できるまでに10回ないし15回の間で設計ルール検査プロセスの繰り返しを実行する必要があるかもしれない。さらに、設計者は、超小型回路設計と、それらの設計を分析するのに使用する基準との両方が、将来さらに複雑になり続けるであろうということを予想している。
本発明の態様は、レイアウト設計データを追加的(漸増的)に分析するための技術に関する。本発明のいくつかの実施態様では、初期の分析基準の集合を用いてレイアウト設計データの集合全体を分析する従来の分析プロセスが開始された後に、特に有用である可能性がある。本発明のさまざまな実施例では、分析基準の部分集合を用いて、または両方の何らかの組み合わせを用いて、レイアウト設計データの部分だけに対して後続の増分分析を行うことができる。例えば、本発明のいくつかの実施態様では、初期の(もしくは他の先行する)分析プロセスにおいて特定された誤りに分析を限定したり、初期の(もしくは他の先行する)分析プロセスの後に行われたレイアウト設計データ内の変更に分析を限定したり、設計者により指定された特定の領域に分析を限定したり、またはそれらの何らかの組み合わせに分析を限定したりすることができる。さらに、本発明のいくつかの実施態様では、分析中の設計データの部分に関連する初期の分析基準の部分集合だけを用いて、初期の(もしくは他の先行する)分析プロセスにおいて設計データが不合格となった初期の分析基準の部分集合だけを用いて、設計者により選択された初期の分析基準の部分集合だけを用いて、またはそれらの何らかの組み合わせを用いて、分析プロセスを実行してもよい。
本発明のさまざまな実施例では、増分分析プロセス(すなわち、初期のレイアウト設計データのうちの選択された部分だけを用いる、初期の分析基準の部分集合だけを用いる、または両方を用いる、分析プロセス)を、初期の(または他の先行する)分析プロセスが完了する前に開始できる。例えば、設計者は、その分析プロセスが継続している間にリアルタイムの分析結果を提供するような初期の分析プロセスを使用してもよい。レイアウト設計データ内の誤りを特定したとき、設計者は誤りを修正するように設計を変更できる。その後、レイアウト設計データが初期の分析プロセスにより継続的に分析されている間であっても、設計者は増分設計プロセスを開始して、誤りが修正されたこと、および/または、変更によりいかなる新たな誤りも生じなかったこと、を確認することができる。
コンピュータ・ネットワークの構成要素および動作について説明するための図である。 本発明のさまざまな実施形態で使用してもよいマルチコア・プロセッサ・ユニットの実施例を示す図である。 本発明のさまざまな実施例に従って実行してもよい増分分析ツールの実施例を示す図である。 増分分析ツールの動作を説明するためのフローチャートである。 増分分析ツールの動作を説明するためのフローチャートである。 ユーザーインタフェース・モジュールにより提供されるユーザーインタフェースの例を示す図である。 レイアウト設計内の1対のエラー・マーカーを示す図である。 レイアウト設計データ選択モジュールにより生成される、エラー・マーカーの境界を示す境界ボックスの例を示す図である。 レイアウト設計データ選択モジュールにより生成される、境界ボックスの周縁に基づくハロー領域の例を示す図である。 第1の幾何学的要素と第2の幾何学的要素との間に位置するエラー・マーカーを示す図である。 レイアウト設計データ選択モジュールにより生成されるハロー領域の例を示す図である。 エラー・マーカーを示す図である。 より大きなハロー領域が指定されている例を示す図である。 本発明のさまざまな実施例に従って提供されてもよいユーザーインタフェースの実施例を示す図である。 本発明のいくつかの実施態様に係るユーザーインタフェースを示す図である。 本発明のいくつかの実施態様に係るユーザーインタフェースを示す図である。
レイアウト設計データの構成
本明細書で用いられるように、用語「設計」は、集積回路デバイスまたは微小電気機械システム(MEMS)デバイスのような超小型デバイス全体を記述するデータを含むものとする。しかしながら、また、この用語は、集積回路デバイスの層、または集積回路デバイスの層のうちのほんの一部分のような、超小型デバイス全体のうちの1つ以上の構成要素を記述する、より小さい群のデータも含むものとする。さらに、用語「設計」は、また、単一の基板上に複数の超小型デバイスを同時に形成するためのマスクまたはレチクルを形成するのに使用されるべきデータのような、2つ以上の超小型デバイスを記述するデータを含むものとする。レイアウト設計データは、例えば、グラフィック・データ・システムII(GDSII)データ・フォーマット、または国際半導体製造装置材料協会(SEMI)により提案されたオープン・アートワーク・システム・インターチェンジ・スタンダード(OASIS)データ・フォーマットなどの任意の所望フォーマットであってもよい。他のフォーマットとしては、オープン・アクセスという名前のオープン・ソース・フォーマット、シノプシス社(Synopsys, Inc.)によるミルキーウェイ(Milkyway)、およびメンター グラフィックス コーポレイションによるEDDMなどがある。
新規の集積回路の設計は、何百万個ものトランジスタ、抵抗器、コンデンサ、または他の電気的構造が相互接続された、論理回路、メモリ回路、プログラマブル・フィールド・アレイ、および他の回路デバイスを含む可能性がある。コンピュータがこれらの大きなデータ構造をより容易に生成し、かつ分析できるようにするために(およびユーザーがこれらのデータ構造をよりよく理解できるようにするために)、これらのデータ構造は、通常「セル」と呼ばれる、より小さなデータ構造で階層的に構成されていることが多い。したがって、マイクロプロセッサまたはフラッシュ・メモリ設計では、単独ビットを保存するためのメモリ回路を構成するトランジスタのすべては、単独「ビット・メモリ」セルに分類されてもよい。各トランジスタを個々に数え上げる必要はなく、シングルビット・メモリ回路を構成するトランジスタの群を、したがって、まとめて単独ユニットと見なして、操作することができる。同様に、より大きな16ビットのメモリ・レジスタ回路を記述する設計データは、単独セルに分類できる。そのとき、この上位の「レジスタ・セル」は、ビット・メモリ・セルのそれぞれへデータを転送するための、およびビット・メモリ・セルのそれぞれからデータを転送するための入出力回路のような他の種々雑多な回路を記述する設計データとともに、16個のビット・メモリ・セルを含む可能性がある。そのとき同様に、128kBのメモリ・アレイを記述する設計データは、たった64,000個のレジスタ・セルの組み合わせとして簡潔に記述でき、レジスタ・セルのそれぞれへデータを転送するための、およびレジスタ・セルのそれぞれからデータを転送するための入出力回路のような、その64,000個のレジスタ・セルの組み合わせ自身の種々雑多な回路を記述する設計データとともに、簡潔に記述できる。
超小型回路設計データを階層的なセルに分類することにより、大きなデータ構造を、より迅速かつ効率的に処理できる。例えば、回路設計者は、通常、設計を分析して、設計で記述されたそれぞれの回路の特徴が、設計から超小型回路を製造することになる半導体製造工場により指定された設計ルールに適合していることを確実にするであろう。上述した実施例では、128kBのメモリ・アレイ全体の各特徴を分析する必要がある代わりに、設計ルール検査プロセスは単独のビット・セルの特徴を分析できる。その後、検査の結果は単独ビット・セルのすべてに適用可能である。単独ビット・セルの一例が設計ルールに従っていることを確認すると、その後、設計ルール検査プロセスは、単にレジスタ・セルの付加的な種々雑多な回路(それ自体が1つ以上の階層的なセルで構成されていてもよい)の特徴を分析するだけで、レジスタ・セルの分析を達成することができる。その後、この検査の結果はレジスタ・セルのすべてに適用可能である。レジスタ・セルの一例が設計ルールに従っていることを確認すると、設計ルール検査ソフトウェア・アプリケーションは、単にメモリ・アレイ内の付加的な種々雑多な回路の特徴を分析するだけで、128kBのメモリ・アレイ全体の分析を達成することができる。このようにして、大きなデータ構造の分析は、データ構造を構成する比較的少数のセルの分析に圧縮できる。
本発明のさまざまな実施例では、レイアウト設計データは、2つの異なった種類のデータ、すなわち、「引きまわし層」設計データと「誘導層」設計データとを含んでいる。引きまわし層データは、集積回路を製造するための材料の層内の構造を形成するのに使用される幾何学的特徴を記述している。引きまわし層データは、金属層、拡散層、およびポリシリコン層内の構造を形成するのに使用される多角形を通常含むであろう。そのとき、誘導層は、引きまわし層データと他の誘導層データとの組み合わせで構成される特徴を含むであろう。例えば、上述したトランジスタ・ゲートでは、ゲートを記述する誘導層設計データは、ポリシリコン材料層内の多角形と拡散材料層内の多角形との交差部分から導かれることになる。
例えば、設計ルール検査モジュールにより実行される設計ルール検査プロセスは、2種類の動作、すなわち、設計データ値が、指定されたパラメータに適合しているかどうかを確認する「検査」動作と、誘導層データを生成する「導出」動作と、を通常実行することになる。したがって、トランジスタ・ゲート設計データは、下記の導出動作で生成されてもよい。
gate=diff AND poly
この動作の結果は、拡散層多角形とポリシリコン層多角形とのすべての交差部分を特定するデータの「層」になるであろう。同様に、拡散層にn型材料をドーピングすることにより形成されるp型トランジスタ・ゲートは、下記の導出動作で特定される。
pgate=nwell AND gate
そのとき、この動作の結果は、拡散層内の多角形にn型材料をドーピングしたすべてのトランジスタ・ゲート(すなわち、拡散層多角形とポリシリコン層多角形との交差部分)を特定するデータの他の「層」になるであろう。
その後、設計ルール検査モジュールにより実行された検査動作は、データ設計値に対するパラメータまたはパラメータ範囲を規定するであろう。例えば、ユーザーは、金属配線ラインが他の配線ラインの1ミクロン以内には無いことを確保する必要があるかもしれない。この種類の分析は、下記の検査動作により実行してもよい。
external metal<1
この動作の結果は、金属層設計データ内の他の多角形から1ミクロンよりも近い位置にある金属層設計データ内の各多角形を特定するであろう。
また、上述した動作は引きまわし層データを使用しているが、検査動作は誘導層データについて同様に実行してもよい。例えば、ユーザーが、他のゲートの1ミクロン以内にはトランジスタ・ゲートが無いことを確認する必要があるとき、設計ルール検査プロセスは下記の検査動作を含んでいてもよい。
external gate<1
この動作の結果は、他のゲートから1ミクロン未満の位置に配置されているゲートを表すすべてのゲート設計データを特定するであろう。しかしながら、引きまわし層設計データからゲートを特定する導出動作が実行されるまでは、この検査動作を実行できないということを理解すべきである。
動作環境
開示された技術は、本明細書で説明するシステムおよび方法の実施形態の新規でかつ自明でないすべての特徴および態様を、それら単独で、ならびにそれらのさまざまな組み合わせおよびサブ・コンビネーションの形で含んでいる。実施形態の開示された特徴および態様は、単独で、または互いにさまざまな新規でかつ自明でない組み合わせおよびサブ・コンビネーションの形で利用することができる。
開示された方法の動作は、提示するのに便利なように特定の連続した順序で記述されているが、後述の特定の表現により特定の順序が要求される場合を除いて、説明されるこの方法は配列換えを含むことを理解すべきである。例えば、連続的に記述された動作は、場合によっては配列換えされたり、または同時に実行されたりしてもよい。さらに、便宜上、開示されたフローチャートおよびブロック図は、特定の方法を他の方法と併用して使用することができるさまざまなやり方を通常示していない。さらに、詳細な説明では、開示された方法を記述するために「判断する」のような用語を使用することがある。このような用語は、実行される実際の動作の高度な抽象概念である。これらの用語に対応する実際の動作は、特定の実施態様に応じて変化するであろうが、当業者は容易に認識できる。
本明細書で説明する方法のいくつかは、コンピュータ読み取り可能媒体上に保存されたソフトウェア内に実装することができ、コンピュータ上で実行することができる。開示された方法のいくつかは、例えば、電子設計自動化(EDA)ツールの一部として実施することができる。このような方法は、単独のコンピュータまたはネットワーク・コンピュータ上で実行することができる。明確にするために、これらの開示された方法に密接な関係があるソフトウェアのそれらの態様だけを説明しており、当技術分野でよく知られている製品の詳細については省略している。
本発明の実施形態のさまざまな電子設計自動化プロセスの実行は、1つ以上のプログラマブル・コンピュータ・デバイスにより実行されるコンピュータ実行可能ソフトウェア命令を用いて実施してもよい。本発明のこれらの実施形態はソフトウェア命令を用いて実施してもよいため、本発明のさまざまな実施形態が採用されてもよい一般的なプログラマブル・コンピュータ・システムの構成要素および動作について、最初に説明する。さらに、いくつかの電子設計自動化プロセスの複雑さ、および多くの回路設計の大きいサイズのために、さまざまな電子設計自動化ツールは、複数の処理スレッドを同時に実行できる計算機システム上で動作するように構成されている。したがって、ホストまたはマスタ・コンピュータと、1つ以上のリモートまたはサーバント・コンピュータとを有するコンピュータ・ネットワークの構成要素および動作について、図1を参照して説明する。しかしながら、この動作環境は好適な動作環境の単なる一実施例に過ぎず、本発明の使用または機能の範囲に関していかなる制限をも示唆するものではない。
図1では、コンピュータ・ネットワーク101はマスタ・コンピュータ103を含んでいる。図示の実施例では、マスタ・コンピュータ103は、複数の入出力装置105と1つのメモリ107とを含むマルチプロセッサ・コンピュータである。入出力装置105は、ユーザーから入力データを受信したり、またはユーザーへ出力データを提供したりするための任意のデバイスを含んでいてもよい。入力装置は、ユーザーからの入力を受け取るための、例えば、キーボード、マイクロホン、スキャナ、またはポインティング・デバイスなどを含んでいてもよい。その場合、出力装置は、ディスプレイ・モニタ、スピーカ、プリンタ、または触覚フィードバック・デバイスを含んでいてもよい。これらのデバイスとその接続については当技術分野でよく知られているため、ここで詳細に議論はしない。
同様に、メモリ107は、マスタ・コンピュータ103がアクセスできるコンピュータ読み取り可能媒体の任意の組み合わせを用いて実現されてもよい。コンピュータ読み取り可能媒体は、例えば、読み出し書き込みメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消却・プログラム可能型読み出し専用メモリ(EEPROM)、もしくはフラッシュ・メモリ超小型回路デバイスのような超小型回路メモリ・デバイス、CD−ROMディスク、デジタル・ビデオ・ディスク(DVD)、または他の光記憶デバイスを含んでいてもよい。また、コンピュータ読み取り可能媒体は、磁気カセット、磁気テープ、磁気ディスク、もしくは他の磁気記憶デバイス、穿孔媒体、ホログラフィック・ストレージ・デバイス、または所望情報を保存するのに使用できる他の任意の媒体を含んでいてもよい。
詳細に後述するように、マスタ・コンピュータ103は、本発明のさまざまな実施例の1つまたは複数の動作を実行するためのソフトウェア・アプリケーションを実行する。したがって、メモリ107は、それが実行されると1つまたは複数の動作を実行するためのソフトウェア・アプリケーションを実施することになるソフトウェア命令109Aを保存している。また、メモリ107は、ソフトウェア・アプリケーションとともに使用されるデータ109Bを保存している。図示の実施形態では、データ109Bは、ソフトウェア・アプリケーションが動作を実行するのに使用するプロセス・データを含んでおり、動作のうちの少なくともいくつかは並行して同時に実行してもよい。
また、マスタ・コンピュータ103は、複数のプロセッサ・ユニット111と1つのインタフェース装置113とを含んでいる。プロセッサ・ユニット111は、ソフトウェア命令109Aを実行するようにプログラムできる任意の種類のプロセッサ・デバイスであってもよいが、通常、マイクロプロセッサ・デバイスである。例えば、1つまたは複数のプロセッサ・ユニット111は、インテル(登録商標)のペンティアム(登録商標)もしくはジーオン(商標)マイクロプロセッサ、アドバンスト・マイクロ・デバイセスのアスロン(商標)マイクロプロセッサ、またはモトローラの68K/コールドファイア(登録商標)マイクロプロセッサのような商業的に一般的なプログラマブル・マイクロプロセッサであってもよい。代替として、または追加として、1つまたは複数のプロセッサ・ユニット111は、特定の種類の数学演算を最適に実行するように設計されたマイクロプロセッサなどの特注プロセッサであってもよい。インタフェース装置113、プロセッサ・ユニット111、メモリ107、および入出力装置105は、バス115により互いに接続されている。
本発明のいくつかの実施態様では、マスタ・コンピュータ・デバイス103には、2つ以上のプロセッサ・コアを有する1つ以上のプロセッサ・ユニット111を使用してもよい。したがって、図2は、本発明のさまざまな実施形態で使用してもよいマルチコア・プロセッサ・ユニット111の実施例を示している。この図で分かるように、プロセッサ・ユニット111は複数のプロセッサ・コア201を含んでいる。各プロセッサ・コア201は、計算エンジン203とメモリ・キャッシュ205とを含んでいる。当業者に知られているように、計算エンジンは、ソフトウェア命令をフェッチすること、および、その後、フェッチした命令内で指定されたアクションを実行することなどのさまざまな演算関数を実行するための論理デバイスを含んでいる。これらのアクションは、例えば、足し算をすること、引き算をすること、掛け算をすること、ならびに数字を比較すること、AND、OR、NOR、XORのような論理演算を実行すること、およびデータを取り出すこと、を含んでいてもよい。その場合、各計算エンジン203は、それに対応するメモリ・キャッシュ205を使用して、実行のためのデータおよび/または命令を迅速に保存し、かつ取り出してもよい。
各プロセッサ・コア201は相互接続207に接続されている。相互接続207の特定の構成は、プロセッサ・ユニット201のアーキテクチャに応じて変化してもよい。ソニーと、東芝と、IBM社とにより作られたセル・マイクロプロセッサなどのいくつかのプロセッサ・コア201では、相互接続207は相互接続バスとして実施されてもよい。しかしながら、カリフォルニア州サニーベールのアドバンスト・マイクロ・デバイセスから入手できるオプテロン(商標)およびアスロン(商標)デュアルコア・プロセッサなどの他のプロセッサ・ユニット201では、相互接続207は、システム要求インタフェース装置として実施されてもよい。いずれの場合でも、プロセッサ・コア201は、相互接続207を介して入出力インタフェース209およびメモリ・コントローラ211と通信する。入出力インタフェース209は、プロセッサ・ユニット201とバス115の間の通信インタフェースを提供している。同様に、メモリ・コントローラ211は、プロセッサ・ユニット201とシステム・メモリ107との間の情報交換を制御している。本発明のいくつかの実施態様では、プロセッサ・ユニット201は、プロセッサ・コア201により共有されアクセス可能な高次キャッシュ・メモリのような付加的な構成要素を含んでいてもよい。
図2は、本発明のいくつかの実施形態で使用してもよいプロセッサ・ユニット201の1つの説明図を示しているが、この説明図はあくまで代表例を示したに過ぎず、限定しようとするものではないことを理解すべきである。例えば、本発明のいくつかの実施形態では、1つ以上のセル・プロセッサを備えたマスタ・コンピュータ103を使用してもよい。セル・プロセッサは、複数の入出力インタフェース209と複数のメモリ・コントローラ211とを使用している。また、セル・プロセッサは、異なる種類の9個の異なるプロセッサ・コア201を有している。さらに詳細には、セル・プロセッサは、6個以上の相乗プロセッサ要素(SPE)と1つの電力プロセッサ要素(PPE)とを有している。それぞれの相乗プロセッサ要素は、428×428ビット・レジスタと、4個の単精度浮動小数点計算ユニットと、4個の整数計算ユニットと、命令およびデータの両方を保存する556KBのローカル・ストア・メモリと、を備えたベクトル型計算エンジン203を有している。その場合、電力プロセッサ要素は相乗プロセッサ要素により実行されたそのタスクを制御する。その構成のために、セル・プロセッサは、高速フーリエ変換(FFT)の計算のようないくつかの数学演算を、多くの従来のプロセッサよりも実質的に速いスピードで実行できる。
また、いくつかの実施態様では、複数の個別のプロセッサ・ユニット111の代わりにマルチコア・プロセッサ・ユニット111を使用できることを理解すべきである。例えば、6個の個別のプロセッサ・ユニット111を使用せずに、本発明の他の実施態様では、例えば、6個のコアを有する単独のプロセッサ・ユニット111を使用したり、それぞれが3個ずつのコアを有する2個のマルチコア・プロセッサ・ユニットを使用したり、2個の個別のシングルコア・プロセッサ・ユニット111と、4個のコアを有するマルチコア・プロセッサ・ユニット111とを一緒に使用したりしてもよい。
ここで図1を参照すると、インタフェース装置113は、マスタ・コンピュータ103が通信インタフェースを介してサーバント・コンピュータ117A、117B、117C....117xと通信することを可能にしている。通信インタフェースは、例えば、従来の有線ネットワーク接続または光伝送有線ネットワーク接続などを含む任意の好適な種類のインタフェースであってもよい。また、通信インタフェースは、例えば、無線の光接続、無線周波数接続、赤外線接続、または音響接続さえ含む無線接続であってもよい。インタフェース装置113は、マスタ・コンピュータ103とサーバント・コンピュータ117のそれぞれとからのデータと制御信号とを、伝送制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)、およびインターネット・プロトコル(IP)などの1つ以上の通信プロトコルに従うネットワーク・メッセージに変換する。これらの、および他の従来の通信プロトコルについては当技術分野でよく知られているため、ここで詳細に議論はしない。
各サーバント・コンピュータ117は、メモリ119と、プロセッサ・ユニット121と、インタフェース装置123と、任意で、システム・バス127により一緒に接続されたもう1つの入出力装置125と、を含んでいてもよい。マスタ・コンピュータ103と同様に、サーバント・コンピュータ117用の任意の入出力装置125は、キーボード、ポインティング・デバイス、マイクロホン、表示モニタ、スピーカ、およびプリンタのような従来の任意の入力装置または出力装置を含んでいてもよい。同様に、プロセッサ・ユニット121は、従来の任意の種類の、または特注のプログラマブル・プロセッサ・デバイスであってもよい。例えば、1つまたは複数のプロセッサ・ユニット121は、インテル(登録商標)のペンティアム(登録商標)もしくはジーオン(商標)マイクロプロセッサ、アドバンスト・マイクロ・デバイセスのアスロン(商標)マイクロプロセッサ、またはモトローラの68K/コールドファイア(登録商標)マイクロプロセッサのような商業的に一般的なプログラマブル・マイクロプロセッサであってもよい。あるいは、1つまたは複数のプロセッサ・ユニット121は、特定の種類の数学演算を最適に実行するように設計されたマイクロプロセッサなどの特注プロセッサであってもよい。さらに、上述の図2に関して説明したように、1つまたは複数のプロセッサ・ユニット121は、2つ以上のコアを有してもよい。例えば、本発明のいくつかの実施態様では、プロセッサ・ユニット121のうちの1つ以上は、セル・プロセッサであってもよい。その場合、メモリ119は、上述したコンピュータ読み取り可能媒体の任意の組み合わせを用いて実現してもよい。インタフェース装置113と同様に、インタフェース装置123は、サーバント・コンピュータ117が通信インタフェースを介してマスタ・コンピュータ103と通信することを可能にしている。
図示の実施例では、マスタ・コンピュータ103は複数のプロセッサ・ユニット111を備えたマルチプロセッサ・ユニット・コンピュータであり、他方、各サーバント・コンピュータ117は単一のプロセッサ・ユニット121を有している。しかしながら、本発明の他の実施態様では、単一のプロセッサ・ユニット111を有するマスタ・コンピュータを使用してもよいことに注目すべきである。さらに、1つまたは複数のサーバント・コンピュータ117は、上述したように、それらの使用目的に応じて複数のプロセッサ・ユニット121を有してもよい。また、マスタ・コンピュータ103とサーバント・コンピュータとの両方に対して、単一のインタフェース装置113または123だけを示しているが、本発明の他の実施形態では、コンピュータ103、1つまたは複数のサーバント・コンピュータ117、またはその両方の何らかの組み合わせが、2つ以上の異なるインタフェース装置113または123を使用して、複数の通信インタフェースを介して通信してもよいことに注目すべきである。
本発明のさまざまな実施例では、マスタ・コンピュータ103は、1つまたは複数の外部データ記憶装置に接続されていてもよい。これらの外部データ記憶装置は、マスタ・コンピュータ103がアクセスできるコンピュータ読み取り可能媒体の任意の組み合わせを用いて実現してもよい。コンピュータ読み取り可能媒体は、例えば、読み出し書き込みメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消却・プログラム可能型読み出し専用メモリ(EEPROM)、もしくはフラッシュ・メモリ超小型回路デバイスのような超小型回路メモリ・デバイス、CD−ROMディスク、デジタル・ビデオ・ディスク(DVD)、または他の光記憶デバイスを含んでいてもよい。また、コンピュータ読み取り可能媒体は、磁気カセット、磁気テープ、磁気ディスク、もしくは他の磁気記憶デバイス、穿孔媒体、ホログラフィック・ストレージ・デバイス、または所望情報を保存するのに使用できる他の任意の媒体を含んでいてもよい。本発明のいくつかの実施態様に従って、サーバント・コンピュータ117のうちの1つ以上は、代替的に、または追加として、1つ以上の外部データ記憶装置に接続されていてもよい。通常、これらの外部データ記憶装置は、マスタ・コンピュータ103にも接続されているデータ記憶装置を含むであろうが、これらの外部データ記憶装置は、また、マスタ・コンピュータ103がアクセス可能ないかなるデータ記憶装置とも異なるものであってもよい。
また、図1および図2に示したコンピュータ・ネットワークの説明は、あくまで実施例として提供されているに過ぎず、本発明の他の実施形態の使用または機能の範囲に関していかなる制限をも示唆するものではないということを理解すべきである。
増分分析ツール
図3は、本発明のさまざまな実施例に従って実行してもよい増分分析ツール301の実施例を示している。増分分析ツール301は、ユーザーインタフェース・モジュール303と、レイアウト設計データ選択モジュール305と、分析基準選択モジュール307と、分析プロセス・モジュール309と、を含んでいる。この図で分かるように、増分分析ツール301は、レイアウト設計データ記憶装置311と分析基準記憶装置313とに連動して作動してもよい。
ユーザーインタフェース・モジュール303は、レイアウト設計データ選択モジュール305、分析基準選択モジュール307、および分析プロセス・モジュール309の動作を制御するための1つ以上のユーザーインタフェースをユーザーに提供している。本明細書で用いられるように、用語「ユーザー」は、増分分析ツール301を使用して超小型回路設計を分析しかつ変更する可能性がある任意の人を示している。ユーザーは、例えば、超小型回路設計の元の設計者、または設計から超小型回路を製造する前に既存の超小型回路設計を、例えば、変更しようとしている半導体製造工場の利用者であってもよい。詳細に後述するように、ユーザーインタフェースは、増分分析プロセスで分析されることになるレイアウト設計データを決定するように、ユーザーがレイアウト設計データ選択モジュール305に命令することを可能にする。同様に、ユーザーインタフェースは、選択されたレイアウト設計データを増分分析プロセスで分析するのに使用される分析基準を決定するように、ユーザーが分析基準選択モジュール307に命令することを可能にする。
ユーザーからの命令に呼応して、レイアウト設計データ選択モジュール305は、レイアウト設計データ記憶装置311内のレイアウト設計データを選択し、その後、これらのレイアウト設計データは分析プロセス・モジュール309に提供される。同様に、ユーザーからの命令に呼応して、分析基準選択モジュール307は、分析基準記憶装置313から分析基準を選択し、その後、これらの分析基準は分析プロセス・モジュール309に提供される。選択された分析基準を用いて、その後、分析プロセス・モジュール309は選択されたレイアウト設計データを分析することになる。図4に示したフローチャートに関して、増分分析ツール301の動作を詳述するであろう。
事前分析および修正
ステップ401では、第1の電子設計自動化分析プロセスがレイアウト設計データについて実行される。分析プロセスは、レイアウト対回路図プロセス、設計ルール検査プロセス、製造性(生産性)を考慮した設計プロセス、または光近接効果補正検証プロセスのような任意の種類の既知の電子設計自動化分析プロセスであってもよい。本発明のさまざまな実施形態では、この第1の分析プロセスは増分分析ツール301により実行してもよい。しかしながら、本発明のさらに他の実施形態では、第1の分析プロセスは、増分分析ツール301以外の何らかの分析ツールにより実行してもよい。
上述したように、場合によっては、第1の分析プロセスはレイアウト設計データの「完全な」分析を行うであろう。すなわち、分析プロセスは、レイアウト設計のすべてまたは主要部(例えば、層全体)を分析するであろう。完全な分析では、分析プロセスは、分析基準の大きな集合を通常使用して、レイアウト設計データを分析するであろう。例えば、分析プロセスが設計ルール検査プロセスであるとき、完全な分析は、レイアウト設計データが分析に合格するために従わなければならないルールの比較的大きなリストまたは「デッキ」を使用してもよい。設計ルール検査プロセスのルール・デッキは、例えば、金属層に対する金属線間の最小距離、ポリシリコン層内の隣接する平行線の最大長、他の金属層内の構造の最小密度などのルールを含んでいてもよい。これらのルール・デッキは、設計者の経験と研究知識とに基づいて集められ、慎重に保護された独占的秘密である場合が多い。
分析プロセスは、レイアウト設計データ内で検出された、修正を必要とする誤りを特定する。例えば、従来の分析プロセスの分析結果は、検出されたそれぞれの誤りの位置を示すエラー・マーカーを有する設計のマップを含んでいてもよい。さらに、分析結果は、レイアウト設計データがそれに違反して誤りを引き起こした分析基準(例えば、設計ルール)を特定してもよい。したがって、レイアウト設計内の2本の線が最小間隔ルールに違反しているとき、分析結果は、違反している線を示すエラー・マーカーと、違反している最小間隔ルールを明示する注意書きと、を含んでいてもよい。分析プロセスが増分分析ツール301により実行されるとき、増分分析ツール301は第1の分析プロセスの結果を保存できる。分析プロセスが増分分析ツール301以外の異なるツールにより実行されるとき、分析プロセスの結果は、その後の使用のために増分分析ツール301に提供されてもよい。
次に、ステップ403では、設計者が、第1の分析プロセスにより特定された1つまたは複数の誤りを修正するように、レイアウト設計データを変更する。この場合も先と同様に、本発明のさまざまな実施形態では、設計者は、増分分析ツール301を用いてレイアウト設計データを変更するであろう。例えば、ユーザーインタフェース・モジュール303は、オレゴン州ウィルソンビルのメンター グラフィックス コーポレイションから入手できるカリバーRVEおよびカリバー対話式ソフトウェア・ツールのような1つまたは複数のレイアウト設計データ編集ツールにアクセスし、またはこれを利用するための手段を設計者に提供してもよい。あるいは、設計者は、増分分析ツール301以外の1つまたは複数の個別のレイアウト設計データ編集ツールを使用して、レイアウト設計データを変更してもよい。この場合も先と同様に、レイアウト設計データを変更するために増分分析ツール301以外のレイアウト設計データ編集ツールを使用する場合には、レイアウト設計データの改訂は、その後の使用のために増分分析ツール301に提供されてもよい。
レイアウト設計データの選択
ステップ405では、ユーザーが、第2の増分分析プロセスにより分析されることになるレイアウト設計データを選択する。さらに詳細には、ユーザーは、ユーザーインタフェース・モジュール303により提供される1つまたは複数のユーザーインタフェースを使用して、分析されることになるレイアウト設計データを選択するようにレイアウト設計データ選択モジュール305に命令する。本明細書で用いられるように、用語「選択する」は、ユーザーにより指示された選択と、指示された選択を行わず、その代わりに、増分分析ツール301がデフォルト選択を実施することを可能にするようなユーザーによる決定と、の両方を含んでいることに注目すべきである。上述したように、本発明のさまざまな実施形態は、ユーザーが多数の異なる特性に従ってレイアウト設計データを選択できるようにするであろう。
変更されたレイアウト設計データ
本発明のいくつかの実施態様では、例えば、旧バージョンから変更されたレイアウト設計データの部分をユーザーが選択することを可能にしてもよい。この選択基準は、レイアウト設計データに行われた変更がユーザーには容易に分からない場合に特に有用であるかもしれない。例えば、レイアウト設計データがステップ403で他の設計者により増分分析ツール301とは異なるレイアウト設計データ編集ツールを用いて変更されたとき、ユーザーは、例えば、第1の分析プロセス後にレイアウト設計データに行われた変更に気づかない可能性がある。レイアウト設計データの旧バージョンに行われた変更を特定するように、レイアウト設計データ選択モジュール305に命令することにより、レイアウト設計データに行われたいかなる変更も第2の分析プロセスで分析されることをユーザーは確保することができる。
本発明のさまざまな実施形態では、レイアウト設計データ選択モジュール305は、さまざまな技術を用いてレイアウト設計データ内の変更を特定できる。変更が増分分析ツール301を用いて行われたとき、レイアウト設計データ選択モジュール305(または、増分分析ツール301の他の構成要素)は、各変更を、それが行われた通りにただ記録するだけかもしれない。レイアウト設計データ選択モジュール305は、例えば、ルックアップテーブル内に変更を保存してもよい。本発明のさらに他の実施態様では、現行バージョンのレイアウト設計データと旧バージョンのレイアウト設計データの両方について論理XOR演算を実行してもよい。当技術分野で周知のように、このような論理演算は、レイアウト設計データの2つのバージョンの間の差異を特定するであろう。
レイアウト設計データが特に複雑であったり、または階層構造配置を有しているとき、いくつかの実施態様では、レイアウト設計データの2つのバージョンの間の差異をより迅速に特定するためにハッシュ表を使用してもよい。詳細に上述したように、レイアウト設計データはセルで階層的に構成されている場合が多い。各セルは、2つの異なる種類の設計構成要素、すなわち、他のセルと、幾何学的要素(テキスト・データなどの、それらの幾何学的要素と関連するさまざまなデータとともに)と、のどちらを含んでいてもよい。異なるバージョンのレイアウト設計データ内の2つのセルが実際に同じであることを確実にするために、セルの内容を調べて、それらが同じであることを確認しなければならない。しかしながら、1つのセルの幾何学的要素と他のセルのすべての幾何学的要素とを、一致が見つかるまで(または、第2のセルが、一致する幾何学的要素を含まないことを証明するまで)比較することは、時間がかかる可能性があり、かつ費やされる時間は比較されることになる幾何学的要素の個数とともに指数関数的に増大する。同様に、1つのセルのセル・インスタンスと他のセル内のすべてのセル・インスタンスとを、一致が見つかるまで(または、第2のセル内に一致が無いことを証明するまで)比較することは時間がかかり、費やされる時間は比較されることになるインスタンスの個数とともに指数関数的に増大する。
1つのセルの内容と他のセルの内容とを比較するのに要する時間と計算資源とを削減するために、本発明のさまざまな実施形態では、ハッシュ演算を使用して、比較前に2つのセル内の設計構成要素を分類(ソート)するであろう。例えば、本発明の実施態様では、セル内の幾何学的要素のそれぞれを分類するハッシュ表を生成するであろう。同様に、本発明の実施態様では、セル内のセル・インスタンスのそれぞれを分類する他のハッシュ表を生成するであろう。セルの内容がこれらのハッシュ表で整理されると、増分分析ツール301は、第1のセルに対するハッシュ表の1つの「バケット」内の(すなわち、1つのインデックス値を有する)内容と、一致する可能性がある第2のセルに対して生成されたハッシュ表の対応する「バケット」の内容とを、ただ比較することだけが必要である。
例えば、増分分析ツール301のいくつかの実施態様では、セル内の未処理の幾何学的要素を特定するであろう。次に、増分分析ツール301は、幾何学的要素を分類するためにハッシュ関数とともに使用できる幾何学的要素の何らかの特性を選択するであろう。例えば、本発明のいくつかの実施態様では、増分分析ツール301は幾何学的要素の周囲に境界ボックスを生成するであろう。当業者には明らかなように、境界ボックスを使用することにより、増分分析ツール301は不規則な形状の幾何学的要素に対してさえ容易に比較できる特徴を設定することが可能になる。その後、増分分析ツール301は、例えば、左下隅のような境界ボックス上のいくつかの特有の点を選択して、その点の座標値にハッシュ関数を適用するであろう。例えば、本発明のいくつかの実施形態では、幾何学的要素に対する境界ボックスの左下隅のx座標値とy座標値との絶対値を組み合わせることにより64ビットの数または「ハッシュ値」を生成し、その後、そのハッシュ値にハッシュ関数を適用するであろう。
本発明のさまざまな実施形態では、幾何学的要素の特性に対して任意の所望の種類のハッシュ関数を使用してもよい。しかしながら、本発明のいくつかの実施態様では、分類される必要があるセル内の幾何学的要素の個数に基づいてハッシュ関数を選択してもよい。例えば、セルがN個の幾何学的要素を有しているとき、本発明のいくつかの実施形態では、Nの値を超えずNの値に最も近い素数である数Sでハッシュ値を割るであろう。したがって、セルが100個の幾何学的要素を有しているとき(すなわち、N=100)、本発明のさまざまな実施形態では、S=97の値を決定するであろう。その後、増分分析ツール301は幾何学的要素に対するハッシュ値をSで割って、割り算の除数を、その幾何学的要素に対するインデックス値になるように指定するであろう。その後、これらのステップは、セル内の各幾何学的要素を処理して、幾何学的要素に対する特有の情報をハッシュ表にキーとして追加するまで繰り返される。次に、これらのステップのそれぞれが、同じSの値を用いて、第1のセルと比較されている第2のセルに対して繰り返される。
セルのそれぞれにおける幾何学的要素に対してハッシュ表が生成されると、同じ「バケット」またはインデックス値を有する各セル内の幾何学的要素を比較することができる。例えば、第1のセルに対するハッシュ表はインデックス値「3」が割り当てられた2つの幾何学的要素を有していてもよく、他方、第2のセルに対するハッシュ表はインデックス値「3」が割り当てられた3つの幾何学的要素を有していてもよい。そのとき、一致が見つかる(または、見つからないようになる)まで、第1のハッシュ表内の第1の幾何学的要素と第2のハッシュ表内の3つの幾何学的要素のそれぞれとをただ比較することだけが必要である。同様に、一致が見つかる(または、見つからないようになる)まで、第1のハッシュ表内の第2の幾何学的要素と第2のハッシュ表内の3つの幾何学的要素のそれぞれとをただ比較することだけが必要である。第1のハッシュ表内の第1の幾何学的要素が第2のハッシュ表内の第1の幾何学的要素と一致し、かつ第1のハッシュ表内の第2の幾何学的要素が第2のハッシュ表内の第2の幾何学的要素と一致しているとき、第2のハッシュ表内の第3の幾何学的要素を新規の幾何学的要素として特定できる。本発明のさまざまな実施形態では、対応する幾何学的要素を一意的に特定する情報を含むハッシュ表内の1つ以上のキーを用いて、幾何学的要素を比較することができる。
本発明のさまざまな実施形態では、任意の特有の特性を使用して、インデックス値を共有する幾何学的要素を比較してもよい。本発明のいくつかの実施態様では、例えば、幾何学的要素の各隅部の座標値を比較して、それらの幾何学的要素が事実上同一であることを確認してもよい。まず第1に、座標値の個数が異なっているとき(例えば、一方の幾何学的要素が6個の隅部を有しており、もう一方の幾何学的要素が8個の隅部を有しているとき)、2つの幾何学的要素を異なるものとして即座に特定できる。ある場合には、2つの幾何学的要素が同一であっても、それらの2つの幾何学的要素に対する座標値は異なって順序付けられていることがある。例えば、一方の幾何学的要素の隅部に対する座標値は時計回りで順序付けられている可能性があり、もう一方の幾何学的要素の隅部に対する座標値は反時計回りで順序付けられている可能性がある。したがって、本発明のさまざまな実施例は、同じ順序で座標値を比較し始めてもよい(例えば、一方の幾何学的要素の第1の隅部に対する座標値と、もう一方の幾何学的要素の第1の隅部に対する座標値とを比較する)。座標値が一致しないとき、増分分析ツール301は座標値の比較順序を逆にするであろう(例えば、一方の幾何学的要素の第1の隅部に対する座標値と、もう一方の幾何学的要素の最後の隅部に対する座標値とを比較したり、一方の幾何学的要素の第2の隅部に対する座標値と、もう一方の幾何学的要素の最後から2番目の隅部に対する座標値とを比較したりするなど)。このように、計算上より強力な比較アルゴリズムを用いることなく、幾何学的要素に対する座標値を迅速に比較することができる。
本発明のさまざまな実施例では、2つのセル内に存在するセル・インスタンスを、幾何学的要素と同じ方法で分類しかつ比較することができる。しかしながら、セル・インスタンスはセルを配置する特定の座標位置を含むため、ハッシュ値を決定するための境界ボックスの使用を省略できる。その代わりに、上述したように、セルの配置位置に対する座標値を境界ボックスの左下隅の座標値の代わりに使用できる。2つのセルのセル・インスタンスと幾何学的要素とが、分類されかつ比較されると、第1のセル内の不一致セル・インスタンスを削除セル・インスタンスとして特定でき、他方、第2のセル内の不一致セル・インスタンスを追加セル・インスタンスとして特定できる。同様に、第1のセル内の不一致幾何学的要素を削除幾何学的要素として特定でき、他方、第2のセル内の不一致幾何学的要素を追加幾何学的要素として特定できる。このように、レイアウト設計データの異なるバージョンの間でレイアウト設計データに行われた変更を、迅速かつ効率的に特定できる。
本明細書で議論したように、ハッシュに基づくこの比較技術のさまざまな実施態様は、増分分析を実行するために使用できるが、これらの実施態様はまた、異なるバージョンのレイアウト設計データを比較する必要がある任意の動作またはプロセスに使用してもよいことに注目すべきである。例えば、ハッシュに基づくこの比較技術のいくつかの実施態様は、レイアウト設計データの、より大きな集合内の特定の部分(独占的回路設計のような)を特定するために使用できる。
レイアウト設計データ内の誤り
また、本発明のいくつかの実施態様では、先行する分析プロセスで不合格になったレイアウト設計データの部分をユーザーが選択することを可能にしてもよい。したがって、増分分析ツール301が第1の分析プロセスの結果を利用できるとき、ユーザーは、それらの先行する結果で特定された1つ以上の誤りを選択するように、レイアウト設計データ選択モジュール305に命令できる。上述したように、分析プロセスの結果は、設計内の誤り(すなわち、分析基準のうちの1つ以上で不合格になったレイアウト設計データの部分)を示すエラー・マーカーを通常含むであろう。増分分析ツール301がこれらのエラー・マーカーを利用できるとき、レイアウト設計データ選択モジュール305は、これらのマーカーを使用して、マーカーで特定されたレイアウト設計データの部分を選択できる。
本発明のいくつかの実施例では、ユーザーはレイアウト設計データ内の特定された誤りのそれぞれを選択してもよい。すなわち、ユーザーはユーザーインタフェースを使用して、エラー・マーカーで特定されたレイアウト設計データ内の各位置を特定するようにレイアウト設計データ選択モジュール305に命令してもよい。しかしながら、本発明のさらに他の実施形態では、代替として、または追加として、特定の種類の誤りだけをユーザーが選択できるようにしてもよい。例えば、ユーザーは、金属層最小間隔ルールに違反するそれらの誤りだけを特定するように、レイアウト設計データ選択モジュール305に命令してもよい。いくつかの実施態様では、先行する分析プロセスの結果から、そのカテゴリ内の誤りを選択することにより、ユーザーは特定のカテゴリの誤りを選択してもよい。その後、レイアウト設計データ選択モジュール305は、レイアウト設計データ内のその誤りの種類のインスタンスを特定するであろう。
本発明のさらに他の実施態様では、代替として、または追加として、「修復された」(すなわち、レイアウト設計データを修正して、特定された誤りを正したり、または取り除いたりした)レイアウト設計データ内のそれらの誤りだけをユーザーが選択できるようにしてもよい。さらに詳細には、いくつかのレイアウト設計データ編集ツールは、「修復された」誤りと「修復されていない」誤りとを区別してもよい。これらのレイアウト設計データ編集ツールは、例えば、誤りが修復されたことを設計者が示すときエラー・マーカーと関連するフラグの値を変更したり、修復された誤りの位置をルックアップテーブル内に保存したりなどしてもよい。その後、レイアウト設計データ選択モジュール305はこの情報を使用して、表面的には修復されているそれらの誤りを特定しかつ選択することができる。この特徴は、特に、多数の誤りがまだ修復されていないことをユーザーが知っているとき、レイアウト設計データの他の部分を分析するのに多大な時間を費やすことなく、特定の誤りを取り除いたことをユーザーが確認したいだけである場合に、役立つ可能性がある。
誤りを修正する、または「修復する」ために行われた変更は通常、誤りを特定するエラー・マーカーの近くにあるということを設計者が知っている場合には、あらかじめ特定された誤りに基づいてレイアウト設計データを選択することが役立つ可能性がある。変更がエラー・マーカーの近くにあるとき、エラー・マーカーで特定されたレイアウト設計データを分析することにより、その結果、変更も同様に分析されていることを通常確保するであろう。
ユーザー定義のレイアウト設計データ
本発明のいくつかの実施態様では、代替として、または追加として、第2の増分分析プロセスにより分析するために、レイアウト設計データのうちの1つ以上の部分をユーザーが手入力で指定できるようにしてもよい。例えば、ユーザーインタフェース・モジュール303はユーザーに設計のマップを提供してもよく、この設計のマップから、ユーザーは設計内の位置を選択して分析することができる。それに呼応して、レイアウト設計データ選択モジュール305は、ユーザーが選んだ位置に対応するレイアウト設計データの部分を選択するであろう。例えば、図5に示すように、ユーザーは、ユーザーインタフェース・モジュール303により提供されるユーザーインタフェースを使用して、レイアウト設計データ内の領域の座標を指定してもよい。その後、レイアウト設計データ選択モジュール305は、所定領域の中でレイアウト設計データを選択するであろう。
ハロー
本発明のさまざまな実施形態では、レイアウト設計データ選択モジュール305は、選択されたレイアウト設計データの周囲に「ハロー」領域を生成するであろう。その後、このハロー領域の中のレイアウト設計データは、増分分析プロセスにより分析するために、選択されたレイアウト設計データに追加される。本発明のいくつかの実施形態では、レイアウト設計データ選択モジュール305は、選択されたレイアウト設計の周囲に境界ボックスを生成するであろう。その後、レイアウト設計データ選択モジュール305は、境界ボックスの周縁に基づいてハロー領域を指定するであろう。
例えば、図6Aは、レイアウト設計内の1対のエラー・マーカー601を示している。エラー・マーカー601は、例えば、最小間隔幅よりも近接している2本の隣接線の発生を示しているかもしれない。上述したように、選択されたレイアウト設計データは、エラー・マーカー601のようなエラー・マーカーにより特定されたデータであってもよい。エラー・マーカー601により特定された誤りの選択に呼応して、レイアウト設計データ選択モジュール305は、図6Bに示すように、エラー・マーカー601の境界を示す境界ボックス603を生成するであろう。次に、レイアウト設計データ選択モジュール305は、図6Cに示すように、境界ボックス605の周縁に基づいてハロー領域605を生成するであろう。図示の実施例では、レイアウト設計データ選択モジュール305は、境界ボックス603を1000μm×1μmになるように生成している。次に、レイアウト設計データ選択モジュール305は、境界ボックス603の長さまたは幅のうちの長い方(すなわち、1000μm)の何倍かのものとしてハロー領域を指定するであろう。本発明の図示の実施態様では、レイアウト設計データ選択モジュール305は、ハロー領域の各側部が境界ボックス603の長さの3倍、例えば、3000μm×3000μmになるように指定している。もちろん、本発明のさらに他の実施態様では、境界ボックスの最も長い側部の異なる倍数を使用したり、またはハロー領域全体を決定するさらに他のアルゴリズムを使用したりしてもよい。
本発明のさまざまな実施態様では、代替として,または追加として、ハロー領域の寸法および/または形状をユーザーが選択できるようにしてもよい。これは、例えば、増分分析プロセスが間違って誤りを検出するのを防止するのに役立つ可能性がある。例えば、図7Aは、第1の幾何学的要素703と第2の幾何学的要素705との間に位置するエラー・マーカー701を示しており、これらの両方とも第3の幾何学的要素707に隣接している。レイアウト設計データ選択モジュール305が図7Bに示すようにハロー領域709を生成するとき、ハロー領域709は不注意で幾何学的要素703〜707のうちの極端に狭い範囲しか取り囲んでいない可能性がある。その結果、実際には幾何学的要素703〜707のそれぞれが最小幅要件に適合していても、次の増分分析プロセスは、最小幅要件に違反するという理由で(図7Cのエラー・マーカー711〜715で示すように)、誤りを登録する可能性がある。より大きなハロー領域717を指定することにより(図7Dに示すように)、利用者は、確実に後続の増分分析プロセスにより不正確な最小幅要件違反が登録されることがないようにできる。
組み合わせおよび他の選択基準
増分分析用にレイアウト設計データを選択する個々の具体的な技術について上述したが、本発明のさまざまな実施態様では、これらの技術の組み合わせを用いてユーザーがレイアウト設計データを選択できるようにしてもよいことを理解すべきである。さらに詳細には、本発明のいくつかの実施態様では、これらの技術のうちの任意の2つ以上により指定されたレイアウト設計データの集合をユーザーが選択できるようにしてもよく(すなわち、論理OR演算のように)、これらの技術のうちの任意の2つ以上により指定されたレイアウト設計データの重複部分だけをユーザーが選択できるようにしてもよく(すなわち、論理AND演算のように)、または両方の組み合わせであってもよい。例えば、本発明のいくつかの実施態様では、まず最初に、先行する分析プロセスにより特定された誤りをユーザーが選択できるようにして、その後、ユーザー定義領域の中に含まれるこれらの領域の部分集合をユーザーがさらに選択できるようにしてもよい。さらに他の実施態様では、代替として、または追加として、先行する分析プロセスにより特定された誤りと、旧バージョンからのレイアウト設計データ内の変更との両方をユーザーが選択できるようにしてもよい。
また、上述した選択技術に加えて、本発明のさまざまな実施態様では、さらに他の技術を用いてユーザーがデータを選択できるようにしてもよいことに注目すべきである。例えば、増分分析ツール301のいくつかの実施形態では、レイアウト設計データの特定の層内だけで発生している誤りまたは変更をユーザーが選択できるようにしてもよく、特定の設計者により行われた変更をユーザーが選択できるようにしてもよく、分析プロセスの個別の繰り返しにより特定された誤りをユーザーが選択できるようにしてもよく、または増分分析用にレイアウト設計データの部分を区別するのに役立つ他の任意の特性をユーザーが選択できるようにしてもよい。
分析基準の選択
ここで図4を参照すると、ステップ407では、ユーザーが、第2の増分分析プロセスにより使用されることになる分析基準を選択する。上述したように、本発明のさまざまな実施態様では、代替として、または追加として、増分分析プロセスでレイアウト設計データを分析するために使用されることになる分析基準をユーザーが選択できるようにするであろう。例えば、本発明のいくつかの実施態様では、ユーザーは、ユーザーインタフェース・モジュール303により提供される1つ以上のユーザーインタフェースを使用して、選択されたレイアウト設計データを分析するための分析基準を選択できる。その後、分析基準選択モジュール307は、増分分析プロセスに対するユーザーの選択を実施するであろう。
ユーザーがレイアウト設計データの集合全体の「完全な」分析を実行した後に、本発明のさまざまな実施態様を使用してもよい。この完全な分析では、通常多数の分析基準を使用してレイアウト設計データを分析するであろう。例えば、設計ルール検査分析プロセスのルール・デッキは何百ものルールを含んでいる可能性があり、実行するのに膨大な量のコンピュータ処理時間および資源を必要とする。本発明のさまざまな実施態様では、レイアウト設計データの先行する「完全な」分析で使用されたような分析基準の集合全体をユーザーが指定できるようにして、後続の増分分析プロセスで使用するであろう。しかしながら、本発明のいくつかの実施態様では、増分分析プロセス用に利用可能な分析基準の、より大きな集合の部分集合をユーザーが選択できるようにするであろう。
例えば、本発明のいくつかの実施態様は、増分分析プロセスで分析中のレイアウト設計データに適用できる分析基準だけを増分分析プロセスが使用するように、ユーザーが指定することを可能にする。したがって、分析中のレイアウト設計データが設計内の特定の金属層(例えば、金属層1)に対するデータだけを含んでいるとき、分析基準選択モジュール307は、そのデータに適用できる分析基準だけを選択するであろう。分析基準選択モジュール307は、例えば、設計内のポリシリコン層に対するレイアウト設計データに関連する分析基準は選択しないであろう。本発明のいくつかの実施態様では、分析基準選択モジュール307は、レイアウト設計内の他の金属層(例えば、金属層1、充填層1など)に具体的に関連する分析基準を選択することさえないであろう。
本発明のいくつかの実施態様では、代替として、または追加として、先行する分析プロセスでは合格するものがなかった分析基準だけを増分分析プロセスが使用するようにユーザーが指定することを可能にしてもよい。例えば、先行する分析プロセスにより与えられた結果を増分分析が分析しているとき、その結果は、特定された各誤りがそれに引っかかって不合格になった分析基準を指定してもよい。それに呼応して、分析基準選択モジュール307は増分分析に対して選択された特定の誤りを特定して、選択された各誤りと関連する分析基準を決定して、それらの分析基準を増分分析により使用するために選択してもよい。この特徴により、ユーザーは、不要である可能性が高い評価を増分分析プロセスが実行することを回避できる。
さらに、本発明のいくつかの実施態様では、より大きな集合から分析基準の部分集合をユーザーが手入力で選択できるようにしてもよい。本発明のこれらの実施態様では、増分分析プロセスでどの特定の基準を使用するのかを選択するように、ユーザーに能動的に要求してもよく、ユーザーが明確には放棄していない分析基準の集合内のあらゆる基準を受動的に適用してもよく、またはその両方の何らかの組み合わせがなされてもよい。
本発明のいくつかの実施形態では、いくつかの分析基準が増分分析プロセスで使用されるのを自動的に制限してもよいということに注目すべきである。例えば、増分分析プロセスが設計ルール検査分析プロセスであるとき、分析基準選択モジュール307は増分分析プロセスが接続性検査を使用するのを防止してもよい。増分分析プロセスはレイアウト設計データ全体の一部分だけを分析する可能性が高いため、分析部分がこの種類の検査を正確に実行できるほど十分なデータを含む可能性は低い。すなわち、分析部分は、対象装置と電力または接地接続点との間の連続した接続を確立するのに必要な幾何学的要素のすべてを含む可能性が低い。同様に、分析基準選択モジュール307は、充填密度検査のような、適正に評価するにはレイアウト設計データのかなりの部分を必要とする他の「チップ・レベル」分析基準を自動的に除外してもよい。
レイアウト設計データの選択と同様に、本発明のさまざまな実施態様では、分析基準を選択する選択技術のうちの2つ以上をユーザーが組み合わすことができるようにしてもよい。例えば、分析基準選択モジュール307のいくつかの実施形態では、選択されたレイアウト設計データ内の誤りがそれに引っかかって不合格になった分析基準と、ユーザーにより手入力で指定された追加の分析基準との両方をユーザーが選択できるようにしてもよい。本発明のさらに他の実施例は、代替として、または追加として、選択されたレイアウト設計データに適用できる分析基準だけをユーザーが選択できるようにして、その後、この限定された分析基準の特定の部分集合をユーザーがさらに手入力で選択できるようにしてもよい。
増分分析
ユーザーが、増分分析プロセスで使用されることになるレイアウト設計データおよび/または分析基準を選択した後に、分析プロセス・モジュール309が、ステップ409でこれらの入力を用いて増分分析プロセスを実行する。次に、ステップ411では、分析プロセス・モジュール309が増分分析プロセスの結果をユーザーに出力する。結果は任意の所望フォーマットであってもよい。
上述したように、本発明のさまざまな実施例の増分分析プロセスは、多数のものの中の分析プロセスのただ1つの繰り返しであってもよい。したがって、レイアウト設計データが満足できると判断されるまで、ステップ403〜409のそれぞれは1回以上繰り返されてもよい。さらに、分析の前にレイアウト設計データを変更するステップ403は必要に応じて省略できる。例えば、ユーザーは、レイアウト設計データのいずれかを変更する前に、分析基準の第1の集合に違反しているレイアウト設計データの1つの部分を検査することを望み、その後、分析基準の第2の集合に違反しているレイアウト設計データの第2の部分を検査することを望むかもしれない。
いくつかの実施態様では、先行する増分分析プロセスがその分析を完了する前に、ステップ403〜409のうちの1つ以上をユーザーが繰り返すことができるようにしてもよい。例えば、分析プロセス・モジュール309のいくつかの実施形態では、増分分析プロセスがその分析を完了する前に、分析結果をユーザーに返し始めてもよい。それに呼応して、ユーザーは、増分分析プロセスにより特定された1つ以上の誤りを、例えば、修正して、第2の増分分析プロセスを開始して、誤りが修復されたことを確認してもよい。詳細に上述したように、ユーザーはユーザーインタフェースを使用して、第2の増分分析プロセスで分析するために、報告された誤りの特定のインスタンスだけを選択してもよく、第2の増分分析プロセスにより使用するために、報告された誤りがそれに引っかかって不合格になった分析基準だけを選択してもよく、または両方の組み合わせ(選択され報告された誤りがそれに引っかかって不合格になった分析基準だけを選択する組み合わせを含む)を選択してもよい。このように、ユーザーは分散計算システムのような計算機システムを効率的に使用して、より長時間で、より時間のかかる分析プロセスが完了する前であっても、検出された誤りのその修正を確認することができる。
また、本発明のいくつかの実施態様では、レイアウト設計データ選択モジュール305を省略でき、他方、本発明のさらに他の実施態様では、分析基準選択モジュール307を省略できることに注目すべきである。すなわち、本発明のいくつかの実施態様では、ユーザーが増分分析プロセスで使用されることになる分析基準を選択できるようにして、しかし、レイアウト設計データは選択できないようにしてもよい。あるいは、本発明のいくつかの実施態様では、ユーザーがレイアウト設計データを選択できるようにして、しかし、増分分析プロセスで使用されることになる分析基準は選択できないようにしてもよい。
ユーザーインタフェース
初期フロー選択ユーザーインタフェース
図8は、本発明のさまざまな実施例に従って提供されてもよいユーザーインタフェース801の実施例を示している。この図で分かるように、ユーザーインタフェース801は、レイアウト設計データについて増分分析プロセスを実行するためにユーザーが選択できるようにする増分分析プロセス・ラジオ・コントロール803を提供する。(図示の実施形態では、分析プロセスは設計ルール検査である。)また、ユーザーインタフェース801は、「完全なフロー(complete flow)」ラジオ・コントロール805と、「設計デルタ(design delta)」ラジオ・コントロール807と、「先行結果フロー(previous results flow)」ラジオ・コントロール809と、を含んでいる。本発明の図示の実施例では、これらの制御の各々は相互に排他的である(すなわち、1つの制御を選択すると、他の2つの制御は自動的に非選択状態になるであろう)。
ユーザーが「完全なフロー(complete flow)」ラジオ・コントロール805を選択する
とき、分析プロセス・モジュール309は、詳細に上述したように、レイアウト設計データについて「完全な」分析を実行するであろう。(本発明のいくつかの実施態様は、分析されることになるレイアウト設計データをユーザーが選択できるようにするさらなるユーザーインタフェースまたはコントロールを提供してもよい。)しかしながら、ユーザーが「設計デルタ(design delta)」ラジオ・コントロール807を選択するとき、ユーザーインタフェース・モジュール303は、「ファイル(file)」フィールド・コントロール811と、「セル(cell)」フィールド・コントロール813と、を有効にする。これらのフィールド・コントロールを使用して、ユーザーは、詳細に上述したように、増分分析プロセスを用いて分析されることになるレイアウト設計データとそのレイアウト設計データのセルとを含むファイルを指定する。さらに詳細には、分析プロセス・モジュール309は、指定されたレイアウト設計データの旧バージョンから変更された指定されたレイアウト設計内のデータについて増分分析プロセスを実行するであろう。
あるいは、ユーザーが「先行結果フロー(previous results flow)」ラジオ・コントロール809を選択するとき、ユーザーインタフェース・モジュール303は、ファイル・フィールド・コントロール815と、「先行実行(previous run)」ラジオ・コントロール817と、を同様に有効にするであろう。また、ユーザーインタフェース・モジュール303は、「修復されたもののみ(fixed only)」 ラジオ・コントロール819と、「放棄されていない(not waived)」ラジオ・コントロール821と、「すべての結果(all results)」ラジオ・コントロール823と、を有効にするであろう。ユーザーはファイル・フィールド・コントロール815を使用して、先行する分析プロセスの結果を含むファイルを指定できる。あるいは、ユーザーが分析プロセス・モジュール309によりちょうど提供されたばかりの結果を分析したいだけであるとき、ユーザーは「先行実行(previous run)」ラジオ・コントロール817を選択できる。結果のソースが指定されると、ユーザーは、詳細に上述したように、どの結果を分析するかを指定するのにラジオ・コントロール819〜823を使用できる。さらに詳細には、先行する増分分析プロセスでそれに対する結果が生成されたレイアウト設計データのすべてをユーザーが欲しいとき、ユーザーは「すべての結果(all results)」ラジオ・コントロール823を選択する。しかしながら、結果が得られて以降に表面的には修復されている誤りをユーザーが分析したいだけであるとき、ユーザーは「修復されたもののみ(fixed only)」ラジオ・コントロール819を選択する。先行する増分分析プロセスでそれに対する結果が生成されたレイアウト設計データの特定の部分をユーザーが分析したいだけであるとき、ユーザーは、ユーザーが分析したくない任意のレイアウト設計部分を放棄でき、「放棄されていない(not waived)」ラジオ・コントロール821を選択できる。
検証実行ユーザーインタフェース
ユーザーがユーザーインタフェース801を介して提示された選択に基づいて増分分析プロセスを開始すると、本発明のさまざまな実施形態では、進行中の分析プロセス(増分の、および/または完全な)の実時間の結果を示す第2のユーザーインタフェースをユーザーに提供してもよい。例えば、本発明のいくつかの実施態様では、図9に示したユーザーインタフェース901をユーザーに提供してもよい。この図で分かるように、ユーザーインタフェース901は、結果表示部分903と、分析プロセス状態表示部分905と、を含んでいる。結果表示部分903は、分析基準のそれぞれに対して進行中の分析プロセスにより与えられた結果907を表示している。この図で分かるように、結果907は、関連する分析基準で不合格になったレイアウト設計データの部分の個数として表示されている。
詳細に上述したように、先行する分析プロセスが進行中であっても、ユーザーはユーザーインタフェース901を使用して、結果907のうちの1つ以上と関連するレイアウト設計データの部分について増分分析プロセスを開始してもよい。例えば、ユーザーは、結果907のうちの1つ以上に関連するレイアウト設計データの部分を変更してもよい(例えば、結果907A)。ユーザーがこの結果に関連する領域について増分分析を実行することを望むとき、ユーザーは「増分領域」ボタン・コントロール911を選択できる。本発明のさまざまな実施例では、ユーザーインタフェース・モジュール303は、後続の増分分析(図5に示したユーザーインタフェースのような)のためにレイアウト設計データの所望部分をユーザーが指定できるようにするユーザーインタフェース(図5に示したユーザーインタフェースのような)を提供するであろう。しかしながら、ユーザーが結果907Aと関連するレイアウト設計データの部分について増分分析プロセスを繰り返すことを望むとき、ユーザーはその結果を選択して、その後、「検証実行を開始」ボタン・コントロール909をアクティブにすることができる。
「検証実行を開始」ボタン・コントロール909の起動に呼応して、増分ツール301は、選択された結果に対応するレイアウト設計データの部分について新規の増分分析プロセスを開始するであろう。さらに、ユーザーインタフェース901は結果表示部分903を更新して、新規の増分分析プロセスで提供された新規の結果を示してもよい。追加として、本発明のいくつかの実施態様では、図9Bに示すように、特定の分析基準と関連するそれぞれの新規の結果をユーザーが見ることができるようにしてもよい。本発明のさまざまな実施形態は、要望通りに新規の結果を提供できる。例えば、本発明のいくつかの実施態様では、後続の増分分析プロセスがレイアウト設計データのうちのその関連する部分についてまだ依然として作動している場合には黄色で、レイアウト設計データの部分が後続の増分分析プロセスに対する分析基準に合格した場合には緑色で、レイアウト設計データの部分が後続の増分分析プロセスの分析基準に引っかかって再び不合格になった場合には赤色で、および後続の増分分析プロセスがレイアウト設計データのそれらの部分に対する新規の結果を返してきた場合にはオレンジ色で、結果を強調表示してもよい。
もちろん、詳細に上述したように本発明のさまざまな実施形態を実施するために、さらに他の種類のユーザーインタフェースを使用できることを理解すべきである。
結論
本発明の原理を説明するために本発明の特定の実施形態について図示し詳細に上述したが、本発明から逸脱することなく他の方法で本発明を具現化してもよいということが理解されるであろう。したがって、本発明は本発明を実施するための現在好ましい形態を含む特定の実施例に関して説明されているが、添付特許請求の範囲に記載の本発明の精神および範囲の中に存在している上述したシステムおよび技術の多数の変形および置換があることを当業者は理解するであろう。
もちろん、詳細に上述したように本発明のさまざまな実施形態を実施するために、さらに他の種類のユーザーインタフェースを使用できることを理解すべきである。
結論
本発明の原理を説明するために本発明の特定の実施形態について図示し詳細に上述したが、本発明から逸脱することなく他の方法で本発明を具現化してもよいということが理解されるであろう。したがって、本発明は本発明を実施するための現在好ましい形態を含む特定の実施例に関して説明されているが、添付特許請求の範囲に記載の本発明の精神および範囲の中に存在している上述したシステムおよび技術の多数の変形および置換があることを当業者は理解するであろう。
本発明の精神および範囲は、添付する特許請求の範囲の中に存在するが、本願の出願時に存在し、その一部は、補正により削除された、以下の[予備的な特許請求の範囲]の中にも潜在する。この[予備的な特許請求の範囲]の記載事項は、本願明細書の中に含まれるものとする。
[予備的な特許請求の範囲]
[請求項1]
レイアウト設計データについて第1の分析プロセスを実行するステップと、
前記レイアウト設計データの部分を特定するステップと、
前記レイアウト設計データの前記特定された部分について、第2の分析プロセスを実行するステップと、を含む、レイアウト設計データを修正する方法。
[請求項2]
前記レイアウト設計データの部分を特定するステップが、修正情報により変更されたデータを特定するステップを含む、請求項1に記載の方法。
[請求項3]
修正情報により変更されたデータを特定するステップが、前記レイアウト設計データの初期バージョンを含む第1のデータベースと、前記修正情報内に提供された新規のデータを含む前記レイアウトの訂正バージョンを含む第2のデータベースとを比較するために、ハッシュ表を使用するステップを含む、請求項2に記載の方法。
[請求項4]
前記誤り分析が、設計ルール検査分析である、請求項1に記載の方法。
[請求項5]
前記誤り分析が、製造性を考慮した設計分析である、請求項1に記載の方法。
[請求項6]
分析基準の前記第2の集合が、分析基準の前記第1の集合の部分集合である、請求項1に記載の方法。
[請求項7]
前記レイアウト設計の第2の部分について、前記第1の誤り分析を実行し続けている間に、前記レイアウト設計の前記特定された部分について、前記第2の誤り分析を開始するステップをさらに含む、請求項1に記載の方法。
[請求項8]
前記修正情報内に提供された新規のデータを含む前記レイアウト設計データの第2の部分を特定するステップと、
前記レイアウト設計データの前記特定された第2の部分について、第3の誤り分析を実行するステップと、をさらに含む、請求項1に記載の方法。
[請求項9]
前記レイアウト設計の前記特定された第1の部分について、前記第2の誤り分析を実行し続けており、かつ前記レイアウト設計の第3の部分について、前記第1の誤り分析を実行し続けている間に、前記レイアウト設計の前記特定された第2の部分について、前記第3の誤り分析を開始するステップをさらに含む、請求項8に記載の方法。
[請求項10]
請求項1〜9のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
[請求項11]
分析基準の第1の集合を用いて、レイアウト設計データについて、第1の分析プロセスを実行するステップと、
分析基準の前記第1の集合とは異なる分析基準の第2の集合を選択するステップと、
分析基準の前記第2の集合を用いて、前記レイアウト設計データの前記特定された部分について、第2の分析プロセスを実行するステップと、を含む、レイアウト設計データを修正する方法。
[請求項12]
分析基準の前記第2の集合が、分析基準の前記第1の集合と完全には重なって一致していない、請求項11に記載の方法。
[請求項13]
前記レイアウト設計データのうちの1つ以上の部分を特定するステップと、
前記レイアウト設計データの前記特定された部分だけについて、第2の分析プロセスを実行するステップと、をさらに含む、請求項11に記載の方法。
[請求項14]
請求項11〜13のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
[請求項15]
進行中のレイアウト設計データ分析プロセスの状態を表示する第1の表示部分と、
前記進行中のレイアウト設計データ分析が完了する前に、前記進行中のレイアウト設計データ分析プロセスの結果を表示する第2の表示部分と、を含む、ユーザーインタフェース・システム。
[請求項16]
前記第2の表示部分に表示された前記結果のうちの1つ以上に対応するレイアウト設計データについて、第2のレイアウト設計データ分析プロセスを、ユーザーが開始できるようにする1つ以上のコントロールをさらに含む、請求項15に記載のユーザーインタフェース・システム。
[請求項17]
前記第1のレイアウト設計データ分析プロセスが完了する前に、前記第2の表示部分に表示された前記結果のうちの1つ以上に対応するレイアウト設計データについて、第2のレイアウト設計データ分析プロセスを、ユーザーが開始できるようにする1つ以上のコントロールを含む、請求項15に記載の方法。
[請求項18]
請求項15〜17のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
[請求項19]
増分分析プロセスで分析されるべきレイアウト設計データの集合の部分を決定するように構成されたレイアウト設計データ選択モジュールと、
前記レイアウト設計データ選択モジュールにより決定されたレイアウト設計データの前記集合の前記部分について、分析プロセスを実行するように構成された分析プロセス・モジュールと、
前記レイアウト設計データ選択モジュールの前記動作を制御する1つ以上のユーザーインタフェースをユーザーに提供するように構成されたユーザーインタフェース・モジュールと、を含む、増分レイアウト設計データ分析ツール。
[請求項20]
前記選択されたレイアウト設計データを前記増分分析プロセスで分析するために、前記分析プロセス・モジュールにより使用されるべき利用可能な分析基準の部分集合を決定するように構成された分析基準選択モジュールをさらに含む、請求項19に記載の装置。
[請求項21]
増分分析プロセスで使用されるべき利用可能な分析基準の部分集合を決定するように構成された分析基準選択モジュールと、
前記分析基準選択モジュールにより決定された前記分析基準を用いて、レイアウト設計データについて、分析プロセスを実行するように構成された分析プロセス・モジュールと、
前記分析基準選択モジュールの前記動作を制御する1つ以上のユーザーインタフェースをユーザーに提供するように構成されたユーザーインタフェース・モジュールと、を含む、増分レイアウト設計データ分析ツール。
[請求項22]
レイアウト設計データの第1の集合の設計構成要素を特定するステップと、
レイアウト設計データの前記第1の集合内の前記特定された設計構成要素のそれぞれに対するインデックス値を生成するためにハッシュ関数を使用するステップと、
レイアウト設計データの第2の集合の設計構成要素を特定するステップと、
レイアウト設計データの前記第2の集合内の前記特定された設計構成要素のそれぞれに対するインデックス値を生成するために前記ハッシュ関数を使用するステップと、
レイアウト設計データの前記第1の集合内の前記特定された設計構成要素と、レイアウト設計データの前記第2の集合内の同じインデックス値を共有する前記特定された設計構成要素とを比較するステップと、を含む、レイアウト設計データを比較する方法。
[請求項23]
請求項22に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。

Claims (23)

  1. レイアウト設計データについて第1の分析プロセスを実行するステップと、
    前記レイアウト設計データの部分を特定するステップと、
    前記レイアウト設計データの前記特定された部分について、第2の分析プロセスを実行するステップと、を含む、レイアウト設計データを修正する方法。
  2. 前記レイアウト設計データの部分を特定するステップが、修正情報により変更されたデータを特定するステップを含む、請求項1に記載の方法。
  3. 修正情報により変更されたデータを特定するステップが、前記レイアウト設計データの初期バージョンを含む第1のデータベースと、前記修正情報内に提供された新規のデータを含む前記レイアウトの訂正バージョンを含む第2のデータベースとを比較するために、ハッシュ表を使用するステップを含む、請求項2に記載の方法。
  4. 前記誤り分析が、設計ルール検査分析である、請求項1に記載の方法。
  5. 前記誤り分析が、製造性を考慮した設計分析である、請求項1に記載の方法。
  6. 分析基準の前記第2の集合が、分析基準の前記第1の集合の部分集合である、請求項1に記載の方法。
  7. 前記レイアウト設計の第2の部分について、前記第1の誤り分析を実行し続けている間に、前記レイアウト設計の前記特定された部分について、前記第2の誤り分析を開始するステップをさらに含む、請求項1に記載の方法。
  8. 前記修正情報内に提供された新規のデータを含む前記レイアウト設計データの第2の部分を特定するステップと、
    前記レイアウト設計データの前記特定された第2の部分について、第3の誤り分析を実行するステップと、をさらに含む、請求項1に記載の方法。
  9. 前記レイアウト設計の前記特定された第1の部分について、前記第2の誤り分析を実行し続けており、かつ前記レイアウト設計の第3の部分について、前記第1の誤り分析を実行し続けている間に、前記レイアウト設計の前記特定された第2の部分について、前記第3の誤り分析を開始するステップをさらに含む、請求項8に記載の方法。
  10. 請求項1〜9のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
  11. 分析基準の第1の集合を用いて、レイアウト設計データについて、第1の分析プロセスを実行するステップと、
    分析基準の前記第1の集合とは異なる分析基準の第2の集合を選択するステップと、
    分析基準の前記第2の集合を用いて、前記レイアウト設計データの前記特定された部分について、第2の分析プロセスを実行するステップと、を含む、レイアウト設計データを修正する方法。
  12. 分析基準の前記第2の集合が、分析基準の前記第1の集合と完全には重なって一致していない、請求項11に記載の方法。
  13. 前記レイアウト設計データのうちの1つ以上の部分を特定するステップと、
    前記レイアウト設計データの前記特定された部分だけについて、第2の分析プロセスを実行するステップと、をさらに含む、請求項11に記載の方法。
  14. 請求項11〜13のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
  15. 進行中のレイアウト設計データ分析プロセスの状態を表示する第1の表示部分と、
    前記進行中のレイアウト設計データ分析が完了する前に、前記進行中のレイアウト設計データ分析プロセスの結果を表示する第2の表示部分と、を含む、ユーザーインタフェース・システム。
  16. 前記第2の表示部分に表示された前記結果のうちの1つ以上に対応するレイアウト設計データについて、第2のレイアウト設計データ分析プロセスを、ユーザーが開始できるようにする1つ以上のコントロールをさらに含む、請求項15に記載のユーザーインタフェース・システム。
  17. 前記第1のレイアウト設計データ分析プロセスが完了する前に、前記第2の表示部分に表示された前記結果のうちの1つ以上に対応するレイアウト設計データについて、第2のレイアウト設計データ分析プロセスを、ユーザーが開始できるようにする1つ以上のコントロールを含む、請求項15に記載の方法。
  18. 請求項15〜17のいずれか1項に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
  19. 増分分析プロセスで分析されるべきレイアウト設計データの集合の部分を決定するように構成されたレイアウト設計データ選択モジュールと、
    前記レイアウト設計データ選択モジュールにより決定されたレイアウト設計データの前記集合の前記部分について、分析プロセスを実行するように構成された分析プロセス・モジュールと、
    前記レイアウト設計データ選択モジュールの前記動作を制御する1つ以上のユーザーインタフェースをユーザーに提供するように構成されたユーザーインタフェース・モジュールと、を含む、増分レイアウト設計データ分析ツール。
  20. 前記選択されたレイアウト設計データを前記増分分析プロセスで分析するために、前記分析プロセス・モジュールにより使用されるべき利用可能な分析基準の部分集合を決定するように構成された分析基準選択モジュールをさらに含む、請求項19に記載の装置。
  21. 増分分析プロセスで使用されるべき利用可能な分析基準の部分集合を決定するように構成された分析基準選択モジュールと、
    前記分析基準選択モジュールにより決定された前記分析基準を用いて、レイアウト設計データについて、分析プロセスを実行するように構成された分析プロセス・モジュールと、
    前記分析基準選択モジュールの前記動作を制御する1つ以上のユーザーインタフェースをユーザーに提供するように構成されたユーザーインタフェース・モジュールと、を含む、増分レイアウト設計データ分析ツール。
  22. レイアウト設計データの第1の集合の設計構成要素を特定するステップと、
    レイアウト設計データの前記第1の集合内の前記特定された設計構成要素のそれぞれに対するインデックス値を生成するためにハッシュ関数を使用するステップと、
    レイアウト設計データの第2の集合の設計構成要素を特定するステップと、
    レイアウト設計データの前記第2の集合内の前記特定された設計構成要素のそれぞれに対するインデックス値を生成するために前記ハッシュ関数を使用するステップと、
    レイアウト設計データの前記第1の集合内の前記特定された設計構成要素と、レイアウト設計データの前記第2の集合内の同じインデックス値を共有する前記特定された設計構成要素とを比較するステップと、を含む、レイアウト設計データを比較する方法。
  23. 請求項22に記載のステップを実行するコンピュータ読み取り可能命令が保存されている、コンピュータ読み取り可能媒体。
JP2013089536A 2007-03-09 2013-04-22 レイアウト設計データの増分分析 Active JP5619210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89415107P 2007-03-09 2007-03-09
US60/894,151 2007-03-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009553710A Division JP2010521035A (ja) 2007-03-09 2008-03-09 レイアウト設計データの増分分析

Publications (2)

Publication Number Publication Date
JP2013149286A true JP2013149286A (ja) 2013-08-01
JP5619210B2 JP5619210B2 (ja) 2014-11-05

Family

ID=39522333

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009553710A Pending JP2010521035A (ja) 2007-03-09 2008-03-09 レイアウト設計データの増分分析
JP2013089536A Active JP5619210B2 (ja) 2007-03-09 2013-04-22 レイアウト設計データの増分分析

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009553710A Pending JP2010521035A (ja) 2007-03-09 2008-03-09 レイアウト設計データの増分分析

Country Status (5)

Country Link
US (1) US20120047479A1 (ja)
EP (1) EP2135184A2 (ja)
JP (2) JP2010521035A (ja)
CN (3) CN105426567B (ja)
WO (1) WO2008112605A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089432B2 (en) * 2008-11-03 2018-10-02 Mentor Graphics Corporation Rule-check waiver
US20110145772A1 (en) * 2009-05-14 2011-06-16 Pikus Fedor G Modular Platform For Integrated Circuit Design Analysis And Verification
US8984458B2 (en) * 2009-07-22 2015-03-17 Synopsys, Inc. Dynamic rule checking in electronic design automation
US20110246331A1 (en) * 2010-04-06 2011-10-06 Luther Erik B Online Custom Circuit Marketplace
US9128733B2 (en) * 2010-11-12 2015-09-08 Microsoft Technology Licensing, Llc Display and resolution of incompatible layout constraints
US8458631B2 (en) * 2011-08-11 2013-06-04 Taiwan Semiconductor Manufacturing Company, Ltd. Cycle time reduction in data preparation
US8694926B2 (en) * 2012-05-30 2014-04-08 Freescale Semiconductor, Inc. Techniques for checking computer-aided design layers of a device to reduce the occurrence of missing deck rules
US20140173548A1 (en) * 2012-09-17 2014-06-19 Texas Instruments Incorporated Tool For Automation Of Functional Safety Metric Calculation And Prototyping Of Functional Safety Systems
US9292652B2 (en) * 2014-05-06 2016-03-22 International Business Machines Corporation Generic design rule checking (DRC) test case extraction
US20170308508A1 (en) * 2014-11-24 2017-10-26 Hewlett Packard Enterprise Development Lp Detection of user interface layout changes
US9922154B2 (en) 2016-05-20 2018-03-20 International Business Machines Corporation Enabling an incremental sign-off process using design data
US10331843B1 (en) * 2016-09-27 2019-06-25 Altera Corporation System and method for visualization and analysis of a chip view including multiple circuit design revisions
US11023648B2 (en) 2017-12-12 2021-06-01 Siemens Industry Software Inc. Puzzle-based pattern analysis and classification
US10671793B1 (en) * 2018-07-31 2020-06-02 Cadence Design Systems, Inc. Editing of layout designs for fixing DRC violations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289312A (ja) * 1992-04-06 1993-11-05 Ricoh Co Ltd 半導体集積回路のマスクパターン処理方法および処理装置
JPH09148441A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd レイアウト検証方法および装置
JP2002189768A (ja) * 2000-12-21 2002-07-05 Toshiba Microelectronics Corp Lsiレイアウト検証処理方法及びlsiレイアウト検証システム
JP2002197134A (ja) * 2000-12-27 2002-07-12 Nec Microsystems Ltd 階層レイアウトパターンのデザインルールチエック方法
JP2003337843A (ja) * 2002-05-20 2003-11-28 Nec Micro Systems Ltd 半導体集積回路のレイアウト検証方法および検証プログラム

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756652B2 (ja) * 1992-03-24 1995-06-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 動画像のフレーム列の検索
US6155725A (en) * 1994-04-19 2000-12-05 Lsi Logic Corporation Cell placement representation and transposition for integrated circuit physical design automation system
US6493658B1 (en) * 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US5694593A (en) * 1994-10-05 1997-12-02 Northeastern University Distributed computer database system and method
US6286128B1 (en) * 1998-02-11 2001-09-04 Monterey Design Systems, Inc. Method for design optimization using logical and physical information
GB9811574D0 (en) * 1998-05-30 1998-07-29 Ibm Indexed file system and a method and a mechanism for accessing data records from such a system
US20040230566A1 (en) * 1999-08-20 2004-11-18 Srinivas Balijepalli Web-based customized information retrieval and delivery method and system
US6425113B1 (en) * 2000-06-13 2002-07-23 Leigh C. Anderson Integrated verification and manufacturability tool
US6505327B2 (en) * 2001-04-13 2003-01-07 Numerical Technologies, Inc. Generating an instance-based representation of a design hierarchy
US6668365B2 (en) * 2001-12-18 2003-12-23 Cadence Design Systems, Inc. Quadratic programming method for eliminating cell overlap and routing congestion in an IC layout
DE10226915A1 (de) * 2002-06-17 2004-01-08 Infineon Technologies Ag Verfahren zum Verändern von Entwurfsdaten für die Herstellung eines Bauteils sowie zugehörige Einheiten
US20030236658A1 (en) * 2002-06-24 2003-12-25 Lloyd Yam System, method and computer program product for translating information
US6904587B2 (en) * 2002-12-20 2005-06-07 Synopsys, Inc. Incremental lithography mask layout design and verification
US6898770B2 (en) * 2003-01-09 2005-05-24 Lsi Logic Corporation Split and merge design flow concept for fast turnaround time of circuit layout design
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7266790B2 (en) * 2003-03-07 2007-09-04 Cadence Design Systems, Inc. Method and system for logic equivalence checking
US7676788B1 (en) * 2003-03-25 2010-03-09 Electric Cloud, Inc. Architecture and method for executing program builds
US20040260527A1 (en) * 2003-06-19 2004-12-23 Stanculescu Alexandru G. Compact and effective representation of simulation results
US20050004954A1 (en) * 2003-07-01 2005-01-06 Hand Held Products, Inc. Systems and methods for expedited data transfer in a communication system using hash segmentation
US7523429B2 (en) * 2004-02-20 2009-04-21 Takumi Technology Corporation System for designing integrated circuits with enhanced manufacturability
JP2005293056A (ja) * 2004-03-31 2005-10-20 Elpida Memory Inc レイアウト検証ルールファイル自動生成装置、自動生成用テンプレート及び自動生成方法
US7661078B1 (en) * 2005-02-28 2010-02-09 Cadence Design Systems, Inc. Method and system for implementing metal fill
US20060253813A1 (en) * 2005-05-03 2006-11-09 Dan Rittman Design rule violations check (DRC) of IC's (integrated circuits) mask layout database, via the internet method and computer software
JP2006318978A (ja) * 2005-05-10 2006-11-24 Toshiba Corp パターン設計方法
US7617464B2 (en) * 2005-05-20 2009-11-10 Synopsys, Inc. Verifying an IC layout in individual regions and combining results
US7243315B2 (en) * 2005-05-31 2007-07-10 Altera Corporation Methods for producing structured application-specific integrated circuits that are equivalent to field-programmable gate arrays
US7305647B1 (en) * 2005-07-28 2007-12-04 Transmeta Corporation Using standard pattern tiles and custom pattern tiles to generate a semiconductor design layout having a deep well structure for routing body-bias voltage
US7657852B2 (en) * 2005-08-16 2010-02-02 Pulsic Limited System and technique of pattern matching and pattern replacement
US7568174B2 (en) * 2005-08-19 2009-07-28 Cadence Design Systems, Inc. Method for checking printability of a lithography target
JP4744980B2 (ja) * 2005-08-25 2011-08-10 株式会社東芝 パターン検証方法、そのプログラム、半導体装置の製造方法
US7496884B2 (en) * 2005-09-02 2009-02-24 Synopsys, Inc. Distributed hierarchical partitioning framework for verifying a simulated wafer image
JP2007109138A (ja) * 2005-10-17 2007-04-26 Matsushita Electric Ind Co Ltd 集積回路のタイミング解析システム及びタイミング解析方法
JP2007164536A (ja) * 2005-12-14 2007-06-28 Toshiba Corp 半導体集積回路の設計支援システム、半導体集積回路の設計方法、半導体集積回路の設計支援プログラム及び半導体集積回路の製造方法
US7490303B2 (en) * 2006-03-03 2009-02-10 International Business Machines Corporation Identifying parasitic diode(s) in an integrated circuit physical design
US7503029B2 (en) * 2006-03-31 2009-03-10 Synopsys, Inc. Identifying layout regions susceptible to fabrication issues by using range patterns
US8336002B2 (en) * 2006-05-15 2012-12-18 Taiwan Semiconductor Manufacturing Company, Ltd. IC design flow enhancement with CMP simulation
CN100405379C (zh) * 2006-06-15 2008-07-23 清华大学 一个快速的集成电路可布性分析方法
US8516418B2 (en) * 2006-06-30 2013-08-20 Oracle America, Inc. Application of a relational database in integrated circuit design
US7908276B2 (en) * 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US7657856B1 (en) * 2006-09-12 2010-02-02 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US7512927B2 (en) * 2006-11-02 2009-03-31 International Business Machines Corporation Printability verification by progressive modeling accuracy
US8612919B2 (en) * 2006-11-20 2013-12-17 Mentor Graphics Corporation Model-based design verification
US20080235497A1 (en) * 2006-11-26 2008-09-25 Tomblin Jimmy J Parallel Data Output
US20080127028A1 (en) * 2006-11-27 2008-05-29 Dan Rittman Integrated circuits verification checks of mask layout database, via the internet method and computer software
US7617467B2 (en) * 2006-12-14 2009-11-10 Agere Systems Inc. Electrostatic discharge device verification in an integrated circuit
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
JP2010278189A (ja) * 2009-05-28 2010-12-09 Renesas Electronics Corp 半導体集積回路の設計方法及び設計システム
US8316342B1 (en) * 2010-06-02 2012-11-20 Cadence Design Systems, Inc. Method and apparatus for concurrent design of modules across different design entry tools targeted to a single layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289312A (ja) * 1992-04-06 1993-11-05 Ricoh Co Ltd 半導体集積回路のマスクパターン処理方法および処理装置
JPH09148441A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd レイアウト検証方法および装置
JP2002189768A (ja) * 2000-12-21 2002-07-05 Toshiba Microelectronics Corp Lsiレイアウト検証処理方法及びlsiレイアウト検証システム
JP2002197134A (ja) * 2000-12-27 2002-07-12 Nec Microsystems Ltd 階層レイアウトパターンのデザインルールチエック方法
JP2003337843A (ja) * 2002-05-20 2003-11-28 Nec Micro Systems Ltd 半導体集積回路のレイアウト検証方法および検証プログラム

Also Published As

Publication number Publication date
WO2008112605A3 (en) 2008-12-18
JP5619210B2 (ja) 2014-11-05
CN101669121A (zh) 2010-03-10
CN105426567B (zh) 2018-12-07
CN102768696B (zh) 2017-04-26
WO2008112605A9 (en) 2009-02-05
JP2010521035A (ja) 2010-06-17
US20120047479A1 (en) 2012-02-23
CN102768696A (zh) 2012-11-07
CN105426567A (zh) 2016-03-23
CN101669121B (zh) 2017-04-05
EP2135184A2 (en) 2009-12-23
WO2008112605A2 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
JP5619210B2 (ja) レイアウト設計データの増分分析
US10643015B2 (en) Properties in electronic design automation
US8516399B2 (en) Collaborative environment for physical verification of microdevice designs
US20100185994A1 (en) Topological Pattern Matching
US8572533B2 (en) Waiving density violations
US20140337810A1 (en) Modular platform for integrated circuit design analysis and verification
US10796070B2 (en) Layout pattern similarity determination based on binary turning function signatures
US20100257496A1 (en) Design-Rule-Check Waiver
US20130198703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US20110145770A1 (en) Device Annotation
US9262574B2 (en) Voltage-related analysis of layout design data
US20170262570A1 (en) Layout Design Repair Using Pattern Classification
US10089432B2 (en) Rule-check waiver
JP2018518757A (ja) レイアウト系検査のための解析プロセス・パラメータの視覚化
US20100229133A1 (en) Property-Based Classification In Electronic Design Automation
US20130263074A1 (en) Analog Rule Check Waiver
US20100023897A1 (en) Property-Based Classification In Electronic Design Automation
US10311199B2 (en) Pattern matching using edge-driven dissected rectangles
US20110119544A1 (en) User Guided Short Correction And Schematic Fix Visualization
US20110265054A1 (en) Design-Rule-Check Waiver
US11023648B2 (en) Puzzle-based pattern analysis and classification
US20120054703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US20120192134A1 (en) User Guided Short Correction And Schematic Fix Visualization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140512

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140605

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140704

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140916

R150 Certificate of patent or registration of utility model

Ref document number: 5619210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250