JP2010532511A - 固定及び自由レイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジン - Google Patents
固定及び自由レイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジン Download PDFInfo
- Publication number
- JP2010532511A JP2010532511A JP2010513999A JP2010513999A JP2010532511A JP 2010532511 A JP2010532511 A JP 2010532511A JP 2010513999 A JP2010513999 A JP 2010513999A JP 2010513999 A JP2010513999 A JP 2010513999A JP 2010532511 A JP2010532511 A JP 2010532511A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- entity
- fixed
- collision
- entities
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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
固定レイアウトエンティティ及び自由レイアウトエンティティを有するレイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジン、更に、レイアウト修正エンジンに使用するための衝突ソルバー、回路レイアウトを修正する方法、及びコンピュータプログラム製品を提供する。本発明は、固定レイアウトエンティティ及び自由レイアウトエンティティを有するレイアウトエンティティを含む回路レイアウト(1)を修正するためのレイアウト修正エンジン(18)に関する。レイアウトエンティティは、集積回路の少なくとも一部を表し、各レイアウトエンティティは、少なくとも1つのレイアウト要素を含む。固定レイアウトエンティティは、所定の位置に制約される。レイアウト修正エンジンは、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を解消するための衝突ソルバーを含む。衝突ソルバーは、レイアウトアナライザ(14)及び衝突解決モジュール(16)を含む。衝突解決モジュールは、検出された衝突を解消するために1組の固定レイアウト要素を発生させる。レイアウト修正エンジンが、固定レイアウトエンティティを固定レイアウト要素の組へと変換するので、レイアウト修正エンジンは、回路レイアウトを修正する間により少ない衝突状況に遭遇することになり、それによって処理時間が短縮される。
【選択図】図4
【選択図】図4
Description
本発明は、固定レイアウトエンティティ及び自由レイアウトエンティティを有するレイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジンに関する。
本発明は、更に、レイアウト修正エンジンに使用するための衝突ソルバー、回路レイアウトを修正する方法、及びコンピュータプログラム製品に関する。
本発明は、更に、レイアウト修正エンジンに使用するための衝突ソルバー、回路レイアウトを修正する方法、及びコンピュータプログラム製品に関する。
一般的に、集積回路レイアウトは、レイアウトエンティティを含み、1組のレイアウトエンティティは、集積回路を表している。エンティティは、例えば、集積回路の層、又は例えば集積回路の部分回路を表すセルとすることができる。エンティティはまた、例えば、多角形、又は更に多角形の境界又はコーナとすることができ、又は例えば線の交差点、又はセルの基準点とすることができる。エンティティは、少なくとも1つのレイアウト要素を含み、レイアウト要素は、集積回路の最小構成部分である。レイアウト要素は、例えば、多角形のエッジ、経路の中心線及び幅、又は経路又は多角形の境界とすることができる。レイアウト要素はまた、例えば、多角形のコーナ、2つの線の交差点、又はセルの基準点とすることができる。
一般的に、集積回路レイアウトは、複数の層を含む。集積回路レイアウトから集積回路を生成するためには、次に複数の層を異なるリソグラフィ工程によって半導体基板上に生成すべきである。集積回路レイアウトが半導体基板上に生成される前に、レイアウト修正エンジンを用いて集積回路レイアウトを修正することができる。これらのレイアウト修正エンジンは、例えば、圧縮エンジン、移動エンジン、又は設計規則違反修復エンジンとすることができる。圧縮エンジンは、集積回路レイアウトのフットプリントを縮小して集積回路レイアウトを生成するのに必要とされる半導体基板面積を低減するように集積回路レイアウトを修正する。移動エンジンは、集積回路レイアウトが最初に設計された製造工程と比較して、異なる製造工程を用いてそれを生成することができるように集積回路レイアウトを修正する。設計規則違反修復エンジンは、特定の製造工程に関連する規則の組、いわゆる設計規則との現時点での集積回路レイアウトの準拠性を検査する。設計規則は、特定の半導体製造工程に特異である。1組の設計規則は、半導体製造工程における変動性に対処するために、集積回路レイアウトのレイアウトエンティティ間のある一定の幾何学形状制限及び接続性制限を規定する。設計規則の組は、制約の組を発生させるためにレイアウトエンティティのレイアウト要素に適用される。制約の組は、例えば、方程式の変数がレイアウトエンティティのレイアウト要素の位置を表すような連立方程式とすることができる。一般的に、異なる製造工程は、異なる設計規則の組を含む。特定の製造工程に関連する特定の設計規則の組に対するエンティティの準拠は、この特定の製造工程を用いて集積回路レイアウトを製造することができることを保証する。設計規則違反修復エンジンが設計規則との非準拠性を検出すると、設計規則違反修復エンジンは、レイアウトエンティティのレイアウト要素を再配置ことによって集積回路設計を修正し、設計規則の組との実質的に完全な準拠を発生させる。
集積回路の特定の集積回路レイアウト又は集積回路レイアウトの特定の部分回路は、集積回路レイアウト内のレイアウト要素の変更に比較的影響され易い。例えば、アナログ回路レイアウト又はアナログ部分回路レイアウトは、レイアウト要素がレイアウト修正エンジンによって変更された時に、異なって機能する場合がある。一部の集積回路レイアウト又は一部の特定の部分回路が変更される場合があることを回避するために、一部の公知のレイアウト修正エンジンは、特定のレイアウトエンティティがレイアウト修正エンジンによって変更されるのをユーザが制限することを可能にする。
公知のレイアウト修正エンジンの欠点は、処理時間が比較的長い場合があることである。
公知のレイアウト修正エンジンの欠点は、処理時間が比較的長い場合があることである。
本発明の目的は、集積回路設計においてレイアウトエンティティを固定するための処理時間が短縮されて改善されたレイアウト修正エンジンを提供することである。
本発明の第1の態様によると、この目的は、固定レイアウトエンティティ及び自由レイアウトエンティティを有するレイアウトエンティティを含む、回路レイアウトを修正するためのレイアウト修正エンジンを用いて達成される。レイアウトエンティティは、集積回路の少なくとも一部を表し、各レイアウトエンティティは、少なくとも1つのレイアウト要素を含む。回路レイアウトを修正するのに、固定レイアウトエンティティは所定の位置に制約され、自由レイアウトエンティティは移動することを許される。レイアウト修正エンジンは、1組の制約に実質的に準拠するように回路レイアウトを修正する間に、固定レイアウトエンティティを所定の位置に制約するように構成される。制約の組は、設計規則を回路レイアウトのレイアウト要素の群に適用するための設計規則制約を含む。レイアウト修正エンジンは、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を解消するための衝突ソルバーを含む。衝突ソルバーは、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を検出するのに回路レイアウトを解析するためのレイアウトアナライザを含む。衝突ソルバーは、検出された衝突を衝突解決モジュールに供給する。衝突解決モジュールは、検出された衝突状態にある固定レイアウトエンティティを1組の固定レイアウト要素へと変換する。固定レイアウト要素の組は、検出された衝突を解消するために発生される。固定レイアウト要素は、ある一定の位置に制約されたレイアウト要素である。
本発明によるレイアウト修正エンジンの効果は、レイアウトアナライザが、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を検出するために回路レイアウトを解析することである。そのような衝突は、例えば、固定レイアウトエンティティが、例えば、集積回路の固定セルである一方、自由レイアウトエンティティが集積回路の自由層である時に発生する場合がある。固定セル内のレイアウト要素は固定すべきである。しかし、固定セルのレイアウト要素の部分集合は、自由層内に位置する場合がある。レイアウト要素の部分集合のステータスは未定であり、衝突状況が生じる。この衝突は、固定レイアウトエンティティが1組の固定レイアウト要素へと変換される衝突ソルバーにおいて解決される。この変換は、例えば、操作者が手動で行うことができる。レイアウト要素は、集積回路レイアウトの最小構成要素であるから、固定レイアウト要素の組による固定レイアウトエンティティの置換は、衝突状況における判断を強制する。この後、この固定レイアウト要素の組は、固定レイアウト要素の位置を固定するための制約の組において実施される。
本発明によるレイアウト修正エンジンは、制約の組を解いて回路レイアウトを適応させる命令を発生させる前に、衝突状況を解消するように積極的に強制する。衝突ソルバーは、固定レイアウトエンティティを固定レイアウト要素の組へと変換し、その後この固定レイアウト要素の組は、制約の組内に入力される。レイアウト修正エンジンは、固定レイアウトエンティティを固定レイアウト要素の組へと変換するので、制約の組に準拠するように回路レイアウトを修正するためのレイアウト修正エンジンの修正段階は、少ない衝突状況にしか遭遇しないことになり、それによってレイアウト修正エンジンの処理時間は短縮されることになる。
公知のレイアウト修正エンジンでは、固定レイアウトエンティティをこれらの制約位置に固定する間に制約の組が解かれる。特定のレイアウトエンティティをある一定の位置に制約すべきであるという付加的要件を追加することにより、衝突が生じる場合がある。これらの公知のレイアウト修正エンジンでは、これらの衝突は、制約の組の求解中及び制約の組に準拠させるように回路レイアウトの適応化中にのみ発生する。この衝突により、レイアウト修正エンジンは、制約の組に対する解を与えるのに失敗する場合があり、又はレイアウト修正エンジンは、制約の組に対する解を発生させるのに過度な量の計算時間及び電力を必要とする場合がある。本発明によるレイアウト修正エンジンでは、固定レイアウト要素と自由レイアウト要素の間の衝突を検出するために、回路レイアウトが解析される。固定レイアウトエンティティを固定レイアウト要素の組へと変換することで可能な衝突を積極的に解消することにより、この衝突がレイアウト修正エンジンをして衝突に起因して解が存在しない求解又は衝突に起因して解が過度に複雑な求解を試行させることが防止される。固定レイアウト要素の組をレイアウト修正エンジンに与えることにより、衝突の発生は低減し、制約の組に対する解を発生させるのに必要とされるレイアウト修正エンジンの処理時間は短縮される。
1組の制約への準拠性は、一般的に、レイアウト修正エンジンが制約の組を解き、回路レイアウトを適応させるための命令を発生させることによって達成される。一般的に、制約の組は、連立方程式を含む。各方程式は、レイアウト要素群に適用される制約、例えば、レイアウト要素群に適用される設計規則の数学的表現を含む。命令に従って回路レイアウトを適応させることにより、回路レイアウトのレイアウト要素を移動させることができ、それによって回路レイアウト内でエンティティを移動させ、及び/又は回路レイアウト内でエンティティを再成形することができる。
集積回路は、一般的に、チップとしても公知である小型化電気回路を表し、又はチップの一部を表す場合がある。代替的に、集積回路は、例えば、機械ナノ構造、磁気ナノ構造、化学ナノ構造、及び生物ナノ構造を含む、一般的にナノ構造としても公知の小型化構成体を表す場合がある。
集積回路は、一般的に、チップとしても公知である小型化電気回路を表し、又はチップの一部を表す場合がある。代替的に、集積回路は、例えば、機械ナノ構造、磁気ナノ構造、化学ナノ構造、及び生物ナノ構造を含む、一般的にナノ構造としても公知の小型化構成体を表す場合がある。
レイアウト修正エンジンの実施形態では、検出される衝突は、固定レイアウトエンティティの一部、かつ自由レイアウトエンティティの一部として検出されるレイアウト要素を含む。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、規則に基づくものである。この実施形態の恩典は、規則に基づく衝突ソルバーが、検出された衝突を再現可能かつ予測可能な方式で解決する点である。更に、規則に基づく衝突ソルバーの使用は、手動入力を最小にし、それによって手動入力を待つ非作動時間が低減され、レイアウト修正エンジンの処理時間が更に短縮される。公知のレイアウト修正エンジンは、一般的に、制約の組の求解中に衝突を信号伝達するか又は制約の組の求解後に衝突リストを供給する。システムのユーザは、衝突(衝突リスト)を手動で検査し、各個々の衝突を手動で解決しなければならず、これらのことは、比較的時間を消費する。更に、実質的に等しい衝突が、ユーザによって異なる方式で解決される場合があり、それによって集積回路内で予測不能の差が生じる。固定レイアウトエンティティを固定レイアウト要素の組へと変換するのに、規則に基づく衝突ソルバーを用いることにより、手動入力が軽減し、再現可能な方式で衝突が解決される。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、規則に基づくものである。この実施形態の恩典は、規則に基づく衝突ソルバーが、検出された衝突を再現可能かつ予測可能な方式で解決する点である。更に、規則に基づく衝突ソルバーの使用は、手動入力を最小にし、それによって手動入力を待つ非作動時間が低減され、レイアウト修正エンジンの処理時間が更に短縮される。公知のレイアウト修正エンジンは、一般的に、制約の組の求解中に衝突を信号伝達するか又は制約の組の求解後に衝突リストを供給する。システムのユーザは、衝突(衝突リスト)を手動で検査し、各個々の衝突を手動で解決しなければならず、これらのことは、比較的時間を消費する。更に、実質的に等しい衝突が、ユーザによって異なる方式で解決される場合があり、それによって集積回路内で予測不能の差が生じる。固定レイアウトエンティティを固定レイアウト要素の組へと変換するのに、規則に基づく衝突ソルバーを用いることにより、手動入力が軽減し、再現可能な方式で衝突が解決される。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、検出された衝突を解消するのに固定レイアウトエンティティの付加的特性を用いる段階、及び/又は検出された衝突を解消するのに一般規則を用いる段階を含む。例えば、第1のレイアウトエンティティは、自由レイアウト要素である境界を含むコンタクトホールであり、第2のレイアウトエンティティは、固定レイアウト要素である境界を含む線である。コンタクトホールは、上述の線に接続すべきであるという点で付加的特性を含む。その結果、コンタクトホールの自由レイアウト要素と、コンタクトホールを固定線に接続するように強制する付加的特性との間で衝突が検出される。本発明によるレイアウト修正エンジンの衝突ソルバーは、コンタクトホールの境界を固定レイアウト要素へと変換し、コンタクトホールのこれらの境界を固定レイアウト要素の組に追加し、それによって衝突を解決する。代替的に、第1のレイアウトエンティティは、例えば、セルである第2のレイアウトエンティティの内側にある多角形とすることができる。第2のレイアウトエンティティは、例えば、固定レイアウトエンティティとすることができる。多角形のレイアウト要素は、多角形のレイアウト要素が、多角形が自由レイアウトエンティティであることに起因して自由でなければならず、セルが固定レイアウトエンティティであることに起因して固定すべきである点で衝突する要件を有する。そのような衝突状況では、一般規則を適用することができ、例えば、最小レイアウトエンティティのステータスが、衝突するレイアウト要素のステータスを定めるのに用いられる。この関連において、多角形は、セルの一部であり、従って、セルは、より大きいレイアウトエンティティである。この一般規則をこの状況に適用することにより、多角形のレイアウト要素は、固定セル内で自由に移動する自由レイアウト要素になる。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、固定レイアウトエンティティの必要とされる固定の重要度レベルを表す優先度値を受け取るように構成される。この優先度値は、例えば、前例における一般規則を変更するのに用いることができ、最小レイアウトエンティティのステータスが、衝突するレイアウト要素のステータスを定めるのに用いられる。多角形及びセルの優先度値が等しくなる時には、一般規則が適用され、上述の結果が生じる。しかし、より小さいレイアウトエンティティ(この例では多角形である)の優先度値が、より大きいレイアウトエンティティ(この例ではセルである)よりも低い場合には、衝突するレイアウト要素のステータスを逆転させることができる。この優先度値を用い、上述の例においてこの優先度値を一般規則に追加することにより、多角形のレイアウト要素は、固定セル内で移動することが許されないことになる固定レイアウト要素になる。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、固定レイアウトエンティティ及び/又は自由レイアウトエンティティを受け取るためのレシーバを更に含む。レシーバが固定レイアウトエンティティのみを受け取る場合には、レイアウトエンティティの残りの部分は、例えば、自由レイアウトエンティティのデフォルトステータスを有することができる。代替的に、レシーバが自由レイアウトエンティティのみを受け取る場合には、レイアウトエンティティの残りの部分は、例えば、固定レイアウトエンティティのデフォルトステータスを有することができる。
レイアウト修正エンジンの実施形態では、固定レイアウトエンティティは、仮想基準点に対して制約されたレイアウトエンティティである相対的固定レイアウトエンティティであり、仮想基準点は、更に別の固定レイアウトエンティティ又は更に別の自由レイアウトエンティティである。相対的固定レイアウトエンティティの位置は、それ自体が方々に移動することができる仮想基準点に対して固定される。これは、例えば、セル内又は回路レイアウトの部分回路内の要素が、セル内又は部分回路内のある一定の位置に制約される一方、このセル又は部分回路が、回路レイアウト全体を通じて移動することができる時に発生する。仮想基準点は、セル又は部分回路内のいずれか任意の点とすることができる。代替的に、仮想基準点は、線の交差点又は多角形のエッジとすることができる。
レイアウト修正エンジンの実施形態では、レシーバは、固定及び/又は自由レイアウトエンティティのリスト、及び/又は選択区域内の全てのレイアウトエンティティが固定レイアウトエンティティであるか、又は選択区域の外側の全てのレイアウトエンティティが固定レイアウトエンティティである選択区域、及び/又は部分回路内の全てのレイアウトエンティティ又は部分回路のレイアウトエンティティのうちの選択したものが、固定レイアウトエンティティ又は自由レイアウトエンティティである回路レイアウト内の部分回路のラベルを通じて、固定レイアウトエンティティを受け取るように及び/又は自由レイアウトエンティティを受け取るように構成される。この実施形態の恩典は、それによって本発明によるレイアウト修正エンジンの衝突ソルバーへの固定レイアウトエンティティの柔軟な入力が可能になる点である。例えば、ユーザは、回路レイアウト内の選択区域を例えば矩形、円、楕円、多角形、又は集積回路のコンピュータ表現にあるこれらの選択区域のいずれかのあらゆる組合せを示すことによって識別することができる。レシーバは、例えば、選択区域を受け取り、この選択区域内の全てのレイアウトエンティティを固定レイアウトエンティティとして識別する。また、集積回路レイアウトは、多くの場合に、集積回路レイアウト内のいくつかの位置で繰り返される部分回路を含む。レシーバは、固定レイアウトエンティティを受け取る上で、部分回路のラベルを受け取るように構成される。レシーバは、例えば、部分回路内の全てのレイアウトエンティティを固定レイアウトエンティティとして識別することができ、又は部分回路内のレイアウトエンティティのうちの選択物のみを固定レイアウトエンティティとして識別することができる。この実施形態は、本発明によるレイアウト修正エンジンが、部分回路内の衝突を一度だけ解決し、回路レイアウト内にこの部分回路が配置される度にこの解をこの衝突に再適用することを可能にする。
レイアウト修正エンジンの実施形態では、衝突ソルバーは、固定レイアウト要素の組の位置を固定するように制約の組を適応させるための制約アダプタを更に含む。衝突ソルバーのこの実施形態の恩典は、公知のレイアウト修正エンジンが適応を必要とすることなしに、衝突ソルバーを公知のレイアウト修正エンジンとの組合せに用いることができる点である。衝突ソルバーは、制約の組を解いて制約の組への準拠性を実質的に得るか、又はそれへの最良の準拠性を得るために如何に集積回路レイアウトを適応させるかを示す1組の命令を発生させるように、公知のレイアウト修正エンジンによってその後用いられる制約の組を適応させる。
レイアウト修正エンジンの実施形態では、制約アダプタは、制約の組におけるレイアウト要素を表す変数を固定レイアウト要素に割り当てられた所定の位置を表す一定値へと変換し、固定レイアウト要素を制約するための付加的制約を追加し、又は制約の組におけるレイアウト要素を表す変数を、特定のレイアウトエンティティ内の固定レイアウト要素の相対的位置と共に特定のレイアウトエンティティの仮想基準点を定める相対的固定位置を発生させるための更に別の変数へと変換することにより、適応済み固定レイアウト要素の組の位置を固定するように構成される。特定のレイアウトエンティティの仮想基準点は、例えば、部分回路又はセルの局所的原点、又は例えば部分回路又はセルの重心、又は部分回路又はセルのいずれか他の任意点とすることができる。制約の組における変数を固定レイアウト要素に割り当てられた所定の位置である一定値へと変換する場合の恩典は、この変換が、制約の組における変数の個数を低減し、それによって一般的に制約の組の求解が簡素化され、一般的に、レイアウト修正エンジンの処理時間が短縮される点である。付加的制約を制約の組に追加する場合の恩典は、固定レイアウト要素に関連付けられた変数を識別するのに制約の組を完全に走査する必要がない点である。この付加的走査は、一般的に、制約アダプタの処理時間を必要とし、レイアウト修正エンジンの合計処理時間を増大させる。変数が所定の位置に設定された付加的制約を追加するだけで、制約の組を通じた付加的走査の必要性が防止され、それによって制約アダプタが簡素化される。
本発明の第2の態様によると、その目的は、請求項11に記載の衝突ソルバーを用いて達成される。本発明の第3の態様によると、その目的は、請求項12に記載の回路レイアウトを修正する方法を用いて達成される。本発明の第4の態様によると、その目的は、請求項13に記載のコンピュータプログラム製品を用いて達成される。
本発明のこれら及び他の態様は、以下に記載する実施形態から明らかであり、かつそれを参照して以下に解説する。
図面は、純粋に模式的なものであり、正確な縮尺で示したものではない。特に明瞭化の目的で、一部の寸法を強く誇張している。可能な限り、図面内の同様の構成要素を同じ参照番号で表している。
本発明のこれら及び他の態様は、以下に記載する実施形態から明らかであり、かつそれを参照して以下に解説する。
図面は、純粋に模式的なものであり、正確な縮尺で示したものではない。特に明瞭化の目的で、一部の寸法を強く誇張している。可能な限り、図面内の同様の構成要素を同じ参照番号で表している。
図1は、本発明によるレイアウト修正エンジン18の概略図を示している。レイアウト修正エンジン18は、例えば、集積回路である回路レイアウト1を受け取る回路レシーバ2を含む。回路レシーバ2は、例えば、回路レイアウト1をいくつかの異なるデータレイアウトフォーマットで受け取るように構成することができ、例えば、異なるデータレイアウトフォーマットをレイアウト修正エンジン18の残りの要素によって用いられる特定のデータレイアウトフォーマットに変換するように構成することができる。回路レシーバ2は、回路レイアウト1を受け取り、例えば、回路レイアウト1のデータフォーマットを変換し、その後、回路レイアウト1を走査モジュール3に供給する。走査モジュール3は、設計規則の組17を更に受け取り、特定の設計規則17が有効であるとすべきレイアウトエンティティ群、いわゆる、設計規則17のインスタンスを識別するために回路レイアウト1のレイアウトエンティティを走査する。例えば、特定の設計規則17は、2つのレイアウトエンティティ間、例えば、2つの多角形間の最小距離を定めることができる。走査モジュール3は、回路レイアウト1を走査し、多角形の間で特定の設計規則17が有効であるとすべき多角形の群を識別することによって特定設計規則17の全てのインスタンスを識別する。次に、識別された設計規則17のインスタンスは、多角形群と共に制約発生器4に供給され、1組の制約が作成される。制約の組は、例えば、方程式を含むことができ、各方程式は、レイアウトエンティティ群、例えば、前に用いられた多角形に適用される設計規則17の数学的表現を含む。レイアウト修正エンジン18は、例えば、自由/固定スキャナ5、及び制約の組内で固定レイアウトエンティティの位置を固定するための制約アダプタ6を含むことができる。自由/固定スキャナ5は、制約の組を固定エンティティ11のリストと共に受け取り、制約の組における変数を固定エンティティ11のレイアウト要素と関連付ける。次に、制約アダプタ6は、制約の組を、固定レイアウトエンティティ11のレイアウト要素の位置がこの制約の組内で固定された適応済み制約の組へと適応させる。この後、適応済み制約の組は、レイアウト修正エンジン18のソルバー7によって解かれ、回路レイアウト1を制約の組に準拠するように適応させるために1組の命令がレイアウトアダプタ8に供給される。固定レイアウトエンティティ11は、命令を発生させるために解かれる適応済み制約の組内に含まれ、固定レイアウトエンティティ11は、所定の位置に固定される。レイアウト修正エンジン18は、適応済み制約の組に実質的に準拠し、その後、例えば、設計規則17に関連付けられたリソグラフィ工程において回路レイアウト1を製造するのに用いることができる適応済み回路レイアウト9を出力する。
レイアウト修正エンジン18は、固定エンティティ11と自由エンティティの間の衝突を解決するための衝突ソルバー10を更に含む。衝突ソルバー10は、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を検出するために回路レイアウト1を解析するためのレイアウトアナライザ14を含む。レイアウトアナライザ14は、固定レイアウトエンティティと自由レイアウトエンティティの間の衝突を識別すると、検出した衝突を衝突解決モジュール16に供給する。衝突解決モジュール16は、検出された衝突状態にある固定レイアウトエンティティを1組の固定レイアウト要素へと変換する。固定レイアウト要素は、ある一定の位置に制約されたレイアウト要素である。固定レイアウト要素の組は、検出された衝突を解決するために発生される。
例えば、層30(図3を参照されたい)が自由レイアウトエンティティとして示され、自由層30内の多角形31(図3を参照されたい)が固定レイアウトエンティティ31として示された場合には、レイアウトアナライザ14は、固定レイアウトエンティティ31に従って固定すべきであるが自由層30内に位置する固定レイアウトエンティティ31のレイアウト要素32及び36(図3を参照されたい)において衝突状況を検出する。その後、検出されたこれらの衝突は、衝突解決モジュール16に供給され、衝突解決モジュール16は、レイアウト要素32及び36における衝突状況を解決すために、例えば、ユーザからのフィードバックを要求する。代替的に、衝突解決モジュール16は、例えば、規則に基づくものとすることができる。規則に基づく衝突解決モジュール16は、例えば、衝突を解決するためにレイアウトエンティティの付加的特性を調査することができる。例えば、回路レイアウト1の第1の層内の接触エンティティが、回路レイアウト1の隣接層内の多角形エンティティと接触状態になければならないという付加的規則は、衝突解決モジュール16が、レイアウト要素32とレイアウト要素36との衝突(前例の)を解消することを可能にすることができる。代替的に、規則に基づく衝突解決モジュール16は、例えば、メモリモジュール15に記憶されたレイアウトエンティティ間の衝突を解消するための一般規則ライブラリを有することができる。そのような規則の例は、例えば、最小レイアウトエンティティのステータスが、衝突するレイアウト要素のステータスを定めるのに用いられるものとすることができる。図3に示している状況では、多角形エンティティ31は、層エンティティ30の一部であり、従って、層エンティティ30は、より大きいレイアウトエンティティである。この一般規則を現状況に適用することにより、多角形31のレイアウト要素が、自由層30内に固定される。
衝突ソルバー16はまた、優先度値19を受け取るように構成することができる。この優先度値19は、例えば、固定レイアウトエンティティ11の必要とされる固定の重要度レベルを表している。優先度値19の使用は、衝突ソルバー10が、例えば、特定の場合に一般規則から逸脱することを可能にする。例えば、最小レイアウトエンティティのステータスが、衝突するレイアウト要素のステータスを定めるのに用いられる一般規則は、より大きいレイアウトエンティティに対して高い優先度値19を割り当て、より小さいエンティティに対してより大きいレイアウトエンティティのステータスを強制することで変更することができ、従って、この特定の場合に対して一般規則を回避する。
図1に示している衝突ソルバー10は、固定レイアウトエンティティを受け取るためのレシーバ12を更に含む。レシーバ12は、例えば、固定レイアウトエンティティ11及び/又は自由レイアウトエンティティのリストを受け取る。代替的に、例えば、レシーバ12は、固定レイアウトエンティティ11及び/又は自由レイアウトエンティティを示す選択区域51、52(図5A及び図5Bを参照されたい)を受け取ることができる。選択区域51は、例えば、ユーザが、この選択区域内の全てのエンティティが固定レイアウトエンティティであることを示すように明示することができる。代替的に、選択区域52は、この選択区域の外側の全てのエンティティが固定レイアウトエンティティであることを示すことができる。また、レシーバ12は、回路レイアウト1の部分回路を識別するラベルを受け取ることができる。部分回路内の全てのレイアウトエンティティ又は部分回路のレイアウトエンティティのうちの選択物を固定レイアウトエンティティとすることができる。それによって衝突ソルバー10が、部分回路内の衝突を一度だけ解決し、部分回路が回路レイアウト内に置かれる度にこの解を再適用することが可能になる。
衝突ソルバー10の代替の実施形態では、衝突ソルバー10は、制約アダプタ20を更に含む。制約アダプタ20は、レイアウト修正エンジン18の制約の組を適応させることによって適応済み固定レイアウト要素の組の位置を固定するように構成される。例えば、制約アダプタ20は、制約の組におけるレイアウト要素に関連付けられた変数を、固定レイアウト要素に割り当てられた所定の位置を表す値へと変換することができる。この場合、制約の組における所定の位置の比較的簡単な代入は、固定レイアウト要素の位置を固定するのに十分である。しかし、特定の固定レイアウト要素が制約の組内に現れる度に所定の位置を代入することを可能にするには、制約アダプタ20は、全制約の組を通して走査しなければならず、これは、比較的時間を消費する工程である場合がある。代替的に、制約アダプタ20は、例えば、制約の組に付加的制約を追加することによって固定レイアウト要素の位置を固定することができる。この付加的制約は、固定レイアウト要素の位置を所定の位置に制約する。この付加的制約は、制約の組を増大させ、一般的に、それによってレイアウト修正エンジン18のソルバー7によって制約の組に対する解を得る処理時間が増大する。しかし、制約アダプタ20は、全制約の組を通して走査する必要なく付加的制約を簡単に追加することができ、それによって制約アダプタ20の処理時間が短縮される。
図2は、本発明による回路レイアウト1を修正する方法の流れ図を示している。本方法は、回路レイアウトを受け取る段階102を含む。回路レイアウト1を受け取る段階102中に、回路レイアウト1のデータフォーマットをレイアウト修正エンジン18(図1を参照されたい)内に用いられる好ましいデータフォーマットへと変換することができる。次に、回路レイアウト1を修正する方法は、設計規則17のインスタンスを得る段階103を含む。設計規則17のインスタンスを得る段階103中に、本方法は、回路レイアウト1のレイアウトエンティティを走査し、特定の設計規則17が有効であるとすべきレイアウトエンティティ群を識別する。図2に示している方法は、識別された設計規則17のインスタンスから制約の組を発生させる段階104を更に含む。制約の組内で、自由/固定要素照合段階105は、自由及び固定のレイアウト要素を制約の組における制約変数と照合する。制約の組は、制約の組内で制約を適応させるための更に別の段階106で適応させる。制約の適応により、例えば、レイアウト要素を固定するための制約を追加することができ、又は例えば制約の組内で、固定される特定のレイアウト要素を表す変数に、固定レイアウト要素を制約される位置を表す所定の値を代入することができる。次に、適応済み制約を含む制約の組が、制約を解く段階107において解かれ、回路レイアウト1が、制約の組に実質的に準拠するように回路レイアウト1を更新するための1組の命令が生じる。図2に示している方法は、レイアウトを更新する段階108を更に含み、回路レイアウト1は、求解段階107からの命令に従って更新される。
本発明による方法は、固定レイアウトエンティティ11及び/又は自由レイアウトエンティティを受け取る段階112、回路レイアウト1を解析する段階114、及び衝突を解決する段階116を更に含むことができる。固定レイアウトエンティティ11及び/又は自由レイアウトエンティティを受け取る段階112中に、本方法は、例えば、固定レイアウトエンティティ11及び/又は自由レイアウトエンティティのリストを受け取ることができる。代替的に、受け取り段階112中に、本方法は、例えば、内部で全てのレイアウトエンティティが固定レイアウトエンティティ11又は自由レイアウトエンティティである選択区域を受け取ることができる。回路レイアウト1を解析する段階114中に、回路レイアウト1は、固定レイアウトエンティティ11と自由レイアウトエンティティの間の衝突を検出するために走査される。最後に、本発明による方法は、1組の固定レイアウト要素を発生させることによって衝突を解決する段階116を含む。固定レイアウト要素は、ある一定の位置に制約されたレイアウト要素である。固定レイアウト要素の組は、検出された衝突を解消するために発生される。
図3は、集積回路1(図1を参照されたい)のセル30であるレイアウトエンティティ30を示しており、セル30は衝突を含む。例えば、セル30は、固定レイアウトエンティティ30として識別されている。しかし、セル30内に位置する多角形31であるレイアウトエンティティ31は、自由レイアウトエンティティ30として識別されている。多角形31のレイアウト要素32、36は、多角形31のレイアウト要素が、多角形31が自由レイアウトエンティティであることに起因して自由でなければならず、セル30が固定レイアウトエンティティであることに起因して固定すべきである点で衝突する要件を有する。そのような衝突状況を解消するために、衝突ソルバー16(図1を参照されたい)は、例えば、一般規則を用いる。そのような一般規則は、例えば、衝突するレイアウト要素のステータスを定める上で階層構造的に最小のレイアウトエンティティのステータスが用いられることを定める。この関連において、多角形31は、セル30の一部であり、従って、セル30は、階層構造的により大きいレイアウトエンティティである。この一般規則を現在の状況に適用することにより、多角形31のレイアウト要素32、36は、固定セル30内で移動することが自由な自由レイアウト要素になる。
代替的に、衝突ソルバー16は、衝突するレイアウト要素32、36のステータスを判断する上で、付加的特性又は要件を用いることができる。例えば、セル30は、レイアウト修正エンジン18によって決して変更することができない外部知的所有権とラベル付けすることができ、この付加的特性は、例えば、多角形31とセル30の間の衝突を解消するのに、多角形31の自由ステータスを無効にすることになる。
代替的に、セル30は、自由セル30として識別され、それと同時に多角形31のレイアウト要素36が固定レイアウト要素でなければならないと仮定する。設計規則17が、多角形31と更に別の多角形39の間に最小距離が存在すべきであることを示す場合には、制約発生器4(図1を参照されたい)は、最初に、次式を発生させることができる。
x2−x1≧b
x3−x1≧b
ここで、x1は、レイアウト要素36を表す変数であり、x2は、レイアウト要素37を表す変数であり、x3は、レイアウト要素38を表す変数である。レイアウト要素36をその元の位置、例えば、684に制約するために、制約アダプタ6、20(図1を参照されたい)は、数値684を制約の組を通してエッジ36を表す変数x1に適合させることができる。従って、制約アダプタ6、20は、例えば、上述の式を次式へと適応させる。
x2≧b+684
x3≧b+684
次に、x2及びx3に対して可能な値を得るためにこれらの方程式を解く段階は、レイアウト要素36の位置を数値684で示された所定の位置に常に固定することになる。代替的に、制約アダプタ6、20は、エッジ36の位置を数値684で示される所定の位置に固定するために、例えば、次式の付加的制約を追加することにより、制約の組に付加的制約を追加することができる。
x1=684
しかし、エッジ36の固定は、セル30内で相対固定のものとすることができる。この相対固定は、例えば、セル30を回路レイアウト1内の方々に移動させることができるが、エッジ36をセル30内で移動しないように要求することができる。相対固定を達成するために、制約アダプタ6、20は、例えば、変数x1をセル30内の固定位置と共にセル30に対する仮想基準点29を含む新しい変数へと変換することができる。例えば、セル30内の固定位置を42とすることができ、次に、制約アダプタ6、20は、変数x1を次式へと変換することができる。
x1=x0+42
ここで、x0は、セル30の仮想基準点29を表す変数である。
x2−x1≧b
x3−x1≧b
ここで、x1は、レイアウト要素36を表す変数であり、x2は、レイアウト要素37を表す変数であり、x3は、レイアウト要素38を表す変数である。レイアウト要素36をその元の位置、例えば、684に制約するために、制約アダプタ6、20(図1を参照されたい)は、数値684を制約の組を通してエッジ36を表す変数x1に適合させることができる。従って、制約アダプタ6、20は、例えば、上述の式を次式へと適応させる。
x2≧b+684
x3≧b+684
次に、x2及びx3に対して可能な値を得るためにこれらの方程式を解く段階は、レイアウト要素36の位置を数値684で示された所定の位置に常に固定することになる。代替的に、制約アダプタ6、20は、エッジ36の位置を数値684で示される所定の位置に固定するために、例えば、次式の付加的制約を追加することにより、制約の組に付加的制約を追加することができる。
x1=684
しかし、エッジ36の固定は、セル30内で相対固定のものとすることができる。この相対固定は、例えば、セル30を回路レイアウト1内の方々に移動させることができるが、エッジ36をセル30内で移動しないように要求することができる。相対固定を達成するために、制約アダプタ6、20は、例えば、変数x1をセル30内の固定位置と共にセル30に対する仮想基準点29を含む新しい変数へと変換することができる。例えば、セル30内の固定位置を42とすることができ、次に、制約アダプタ6、20は、変数x1を次式へと変換することができる。
x1=x0+42
ここで、x0は、セル30の仮想基準点29を表す変数である。
衝突ソルバー16はまた、自由セル30内の固定多角形31間の衝突を解消するために優先度値を用いることができる。例えば、より大きいレイアウトエンティティのステータスが、より小さいレイアウトエンティティのレイアウト要素のステータスを定めるという一般規則が用いられる場合には、多角形31の衝突するレイアウト要素32及び36は、自由レイアウト要素にならなければならない。しかし、例えば、多角形31がセル30よりも高い優先度値を有する場合には、衝突ソルバー16は、一般規則を無視し、多角形31のレイアウト要素32及び36を含む1組の固定レイアウト要素を発生させることができる。
図4は、更に別の衝突を含む集積回路1の部分回路の一部を示している。図4に示している第1のレイアウトエンティティ44は、自由レイアウト要素として定められる境界45を含むコンタクトホール44である。図4に示している第2のレイアウトエンティティ41は、固定レイアウト要素である境界を含む多角形41である。コンタクトホール44は、例えば、多角形41のエッジ43の近くで多角形41に連結すべきであるという付加的特性を含む。その結果、コンタクトホール44の自由レイアウト要素45と付加的特性の間に衝突が検出され、コンタクトホール44を多角形41にエッジ43の近くで接続することが強制される。本発明によるレイアウト修正エンジン18の衝突ソルバー16は、コンタクトホール44の境界45を固定レイアウト要素45へと変換し、コンタクトホール44のこの境界45を固定レイアウト要素の組に追加し、それによって衝突が解決される。
代替的に、多角形41が固定レイアウトエンティティ41であり、それと同時に多角形41のエッジのうちの1つが自由レイアウトエンティティであるエッジ43であると仮定する。レイアウトアナライザ14は、エッジ43における衝突を検出する。レイアウトエンティティがより詳細である程、その設定がより重要になる一般規則が有効であると仮定すると、エッジ43の設定は、多角形41の全体設定を無効にする。これは、衝突解決モジュール16が、自由レイアウト要素であるエッジ43以外の多角形41の全エッジを含む1組の固定レイアウト要素を発生させることにより、衝突を解決することを意味する。
図5Aは、第1の選択区域51内の全てのレイアウトエンティティ31が、固定レイアウトエンティティとして識別される第1の選択区域51を示している。図5Bは、第2の選択区域52の外側の全てのレイアウトエンティティ31が、固定レイアウトエンティティとして識別される第2の選択区域52を示している。選択区域51、52は、例えば、回路レイアウト1の画像表現内に示すことができる。選択区域51、52は、矩形、円、楕円、又は多角形のようなあらゆる形状を有することができる。レシーバ12(図1を参照されたい)は、選択区域51、52を受け取り、レイアウトエンティティを固定レイアウトエンティティとすべきか、又は自由レイアウトエンティティとすべきか否かを識別するために選択区域51、52を用いる。
例えば、図5Aでは、選択区域は、衝突ソルバー10によって固定レイアウトエンティティ31として見なされる全てのレイアウトエンティティ31を含む。第1の選択区域51は、楕円である。図5Bでは、選択区域は、衝突ソルバー10によって自由レイアウトエンティティ39として見なされる全てのレイアウトエンティティ39を含む。第2の選択区域52は、矩形である。
例えば、図5Aでは、選択区域は、衝突ソルバー10によって固定レイアウトエンティティ31として見なされる全てのレイアウトエンティティ31を含む。第1の選択区域51は、楕円である。図5Bでは、選択区域は、衝突ソルバー10によって自由レイアウトエンティティ39として見なされる全てのレイアウトエンティティ39を含む。第2の選択区域52は、矩形である。
以上の実施形態は、本発明を限定するのではなく例示しており、当業者は、特許請求の範囲から逸脱することなく多くの代替実施形態を設計することができることになることに注意すべきである。
集積回路又は回路レイアウトにおけるようなレイアウトにおけるオブジェクトへのあらゆる参照は、境界、経路、又はコーナによって定められる多角形を指すことができる。
集積回路又は回路レイアウトにおけるようなレイアウトにおけるオブジェクトへのあらゆる参照は、境界、経路、又はコーナによって定められる多角形を指すことができる。
特許請求の範囲では、括弧内に入れられたいかなる参照符号も特許請求の範囲を限定するものと解釈すべきではない。動詞「含む」及びその活用形の使用は、特許請求の範囲内に説明されるもの以外の要素又は段階の存在を除外しない。要素に先行する冠詞「a」又は「an」は、複数のそのような要素の存在を除外しない。本発明は、いくつかの個別要素を含むハードウエア、及び適切にプログラムされたコンピュータを用いて実施することができる。いくつかの手段を列挙する装置請求項では、これらの手段のうちのいくつかは、1つの同じハードウエア品目によって具現化することができる。ある一定の手段が互いに異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せを有利に用いることができないことを示していない。
41 第2のレイアウトエンティティ、多角形
44 第1のレイアウトエンティティ、コンタクトホール
44 第1のレイアウトエンティティ、コンタクトホール
Claims (13)
- レイアウトエンティティ(30、31、39;40、41、44)が、集積回路の少なくとも一部を表し、各レイアウトエンティティ(30、31、39;40、41、44)が、少なくとも1つのレイアウト要素(32、36、37、38;42、43、45)を含み、固定レイアウトエンティティ(11;31;44)が、所定の位置に制限され、自由レイアウトエンティティ(30、39;41)が、回路レイアウト(1)を修正するために移動することを許され、かつ設計規則(17)を該回路レイアウト(1)のレイアウト要素(32、36、37、38;42、43、45)の群に適用するための設計規則制約を含む1組の制約に実質的に準拠するように該回路レイアウト(1)を修正する間に該固定レイアウトエンティティ(11;31;44)を該所定の位置に制約するように構成された、該固定レイアウトエンティティ(11;31;44)及び該自由レイアウトエンティティ(30、39;41)を有する該レイアウトエンティティ(30、31、39;40、41、44)を含む該回路レイアウト(1)を修正するためのレイアウト修正エンジン(18)であって、
固定レイアウトエンティティ(11;31;44)と自由レイアウトエンティティ(30、39;41)の間の衝突を解消するための衝突ソルバー(10)、
を含み、
前記衝突ソルバー(10)は、
−前記固定レイアウトエンティティ(11;31;44)と前記自由レイアウトエンティティ(30、39;41)の間の衝突を検出するために回路レイアウト(1)を解析し、かつ該検出された衝突を衝突解決モジュール(16)に供給するためのレイアウトアナライザ(14)と、
−前記検出された衝突状態にある前記固定レイアウトエンティティ(11;31;44)を、該検出された衝突を解消するために発生され、かつある一定の位置に制約されたレイアウト要素である1組の固定レイアウト要素(36;43、45)へと変換するための前記衝突解決モジュール(16)と、
を含む、
ことを特徴とするエンジン(18)。 - 前記検出された衝突は、前記固定レイアウトエンティティ(11;31;44)の一部でありかつ自由レイアウトエンティティ(30、39;41)の一部である検出されたレイアウト要素(36、43)を含むことを特徴とする請求項1に記載のレイアウト修正エンジン(18)。
- 前記衝突解決モジュール(16)は、規則に基づくものであることを特徴とする請求項1又は請求項2に記載のレイアウト修正エンジン(18)。
- 前記衝突解決モジュール(16)は、
−前記検出された衝突を解消するために前記固定レイアウトエンティティ(11;31;44)の付加的特性を用いる段階、及び/又は
−前記検出された衝突を解消するために一般規則を用いる段階、
を含む、
ことを特徴とする請求項1、請求項2、又は請求項3に記載のレイアウト修正エンジン(18)。 - 前記衝突解決モジュール(16)は、前記固定レイアウトエンティティ(11;31;44)の要求される固定の重要度レベルを表す優先度値(19)を受け取るように構成されることを特徴とする請求項1、請求項2、請求項3、又は請求項4に記載のレイアウト修正エンジン(18)。
- 前記衝突ソルバー(10)は、前記固定レイアウトエンティティ(11;31;44)を受け取り及び/又は前記自由レイアウトエンティティ(30、39;41)を受け取るためのレシーバ(12)を更に含むことを特徴とする請求項1、請求項2、請求項3、請求項4、又は請求項5に記載のレイアウト修正エンジン(18)。
- 前記固定レイアウトエンティティ(31)は、仮想基準点(29)に対して制約されたレイアウトエンティティである相対的に固定されたレイアウトエンティティ(31)であり、該仮想基準点(29)は、更に別の固定レイアウトエンティティ又は更に別の自由レイアウトエンティティであることを特徴とする請求項6に記載のレイアウト修正エンジン(18)。
- 前記レシーバ(12)は、
−固定及び/又は自由レイアウトエンティティ(30、31、39;40、41、44)のリスト、及び/又は
−選択区域(51)内の全てのレイアウトエンティティ(31)が固定レイアウトエンティティ(31)であるか、又は選択区域(52)の外側の全てのレイアウトエンティティ(31)が固定レイアウトエンティティ(31)である選択区域(51、52)、及び/又は
−部分回路内の全てのレイアウトエンティティ(44)又は部分回路の該レイアウトエンティティの選択されたものが、固定レイアウトエンティティ(44)又は自由レイアウトエンティティ(41)である、前記回路レイアウト(1)内の部分回路のラベル、
を通じて、前記固定レイアウトエンティティ(11;31;44)を受け取り、及び/又は前記自由レイアウトエンティティ(30、39;41)を受け取るように構成される、
ことを特徴とする請求項6又は請求項7に記載のレイアウト修正エンジン(18)。 - 前記衝突ソルバー(10)は、前記制約の組を前記固定レイアウト要素(36;43、45)の組の位置を固定するように適応させるための制約アダプタ(20)を更に含むことを特徴とする請求項1、請求項2、請求項3、請求項4、請求項5、請求項6、請求項7、又は請求項8に記載のレイアウト修正エンジン(18)。
- 前記制約アダプタ(20)は、
−前記制約の組におけるレイアウト要素(32、36、37、38;42、43、45)を表す変数を前記固定レイアウト要素(36;43、45)に割り当てられた前記所定の位置を表す一定値へと変換する段階、又は
−前記固定レイアウト要素(36;43、45)を制約するための付加的制約を追加する段階、又は
−前記制約の組におけるレイアウト要素(32、36、37、38;42、43、45)を表す変数を、特定のレイアウトエンティティ(30)の仮想基準点(29)を相対的固定位置を発生させるための前記固定レイアウト要素(36)の該特定のレイアウトエンティティ(30)内の相対的位置と共に定める更に別の変数へと変換する段階、
を通じて、前記適応された固定レイアウト要素(36;43、45)の組の位置を固定するように構成されることを特徴とする請求項9に記載のレイアウト修正エンジン(18)。 - 固定レイアウトエンティティ(11;31;44)と自由レイアウトエンティティ(30、39;41)の間の衝突を解消するように構成された、該固定レイアウトエンティティ(11;31;44)及び該自由レイアウトエンティティ(30、39;41)を有するレイアウトエンティティ(30、31、39;40、41、44)を含む回路レイアウト(1)を修正するように構成された請求項1から請求項10のいずれか1項に記載のレイアウト修正エンジン(18)における使用のための衝突ソルバー(10)であって、
−固定レイアウトエンティティ(11;31;44)と自由レイアウトエンティティ(30、39;41)の間の衝突を検出するために回路レイアウト(1)を解析し、かつ該検出された衝突を衝突解決モジュール(16)に供給するためのレイアウトアナライザ(14)と、
−前記検出された衝突状態にある前記固定レイアウトエンティティ(11;31;44)を、該検出された衝突を解消するために発生され、かつある一定の位置に制約されたレイアウト要素である1組の固定レイアウト要素(36;43、45)へと変換するための前記衝突解決モジュール(16)と、
を含むことを特徴とする衝突ソルバー(10)。 - レイアウトエンティティ(30、31、39;40、41、44)が、集積回路の少なくとも一部を表し、各レイアウトエンティティ(30、31、39;40、41、44)が、少なくとも1つのレイアウト要素(32、36、37、38;42、43、45)を含み、固定レイアウトエンティティ(11;31;44)が、所定の位置に制限され、自由レイアウトエンティティ(30、39;41)が、回路レイアウト(1)を修正するために移動することを許され、かつ設計規則(17)を該回路レイアウト(1)のレイアウト要素(32、36、37、38;42、43、45)の群に適用するための設計規則制約を含む1組の制約に実質的に準拠するように該回路レイアウト(1)を修正する間に該固定レイアウトエンティティ(11;31;44)を該所定の位置に制約するように構成された、該固定レイアウトエンティティ(11;31;44)及び該自由レイアウトエンティティ(30、39;41)を有する該レイアウトエンティティ(30、31、39;40、41、44)を含む該回路レイアウト(1)を修正する方法(110)であって、
−衝突が検出された場合に、固定レイアウトエンティティ(11;31;44)と自由レイアウトエンティティ(30、39;41)の間の衝突を検出するために回路レイアウト(1)を解析する段階(114)、
を含み、
−ある一定の位置に制約されたレイアウト要素である1組の固定レイアウト要素(36;43、45)を発生させる(116)ことによって前記衝突を解決する段階(116)、
を更に含むことを特徴とする方法(110)。 - 請求項12に記載の方法を実行するように構成されたコンピュータプログラム製品。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP07111906 | 2007-07-06 | ||
| PCT/EP2008/058648 WO2009007311A1 (en) | 2007-07-06 | 2008-07-04 | Layout modification engine for modifying a circuit layout comprising fixed and free layout entities |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010532511A true JP2010532511A (ja) | 2010-10-07 |
Family
ID=40032676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010513999A Abandoned JP2010532511A (ja) | 2007-07-06 | 2008-07-04 | 固定及び自由レイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジン |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20100205573A1 (ja) |
| JP (1) | JP2010532511A (ja) |
| CN (1) | CN101681388A (ja) |
| WO (1) | WO2009007311A1 (ja) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8631379B2 (en) * | 2010-02-09 | 2014-01-14 | Taiwan Semiconductor Manufacturing Company, Ltd. | Decomposing integrated circuit layout |
| US8726208B2 (en) * | 2011-07-19 | 2014-05-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | DFM improvement utility with unified interface |
| US8719737B1 (en) * | 2012-06-29 | 2014-05-06 | Cadence Design Systems, Inc. | Method and apparatus for identifying double patterning loop violations |
| US8627247B1 (en) | 2012-07-11 | 2014-01-07 | International Business Machines Corporation | Systems and methods for fixing pin mismatch in layout migration |
| US9952500B2 (en) * | 2016-08-17 | 2018-04-24 | Globalfoundries Inc. | Adjusting of patterns in design layout for optical proximity correction |
| US11055465B2 (en) * | 2019-09-04 | 2021-07-06 | International Business Machines Corporation | Fill techniques for avoiding Boolean DRC failures during cell placement |
| US20230237234A1 (en) * | 2022-01-25 | 2023-07-27 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit design method, system and computer program product |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6189132B1 (en) * | 1998-04-09 | 2001-02-13 | International Business Machines Corporation | Design rule correction system and method |
| JP4723740B2 (ja) * | 2001-03-14 | 2011-07-13 | 富士通株式会社 | 密度一様化配置問題の最適解探索方法および密度一様化配置問題の最適解探索プログラム |
| 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 |
| US6785875B2 (en) * | 2002-08-15 | 2004-08-31 | Fulcrum Microsystems, Inc. | Methods and apparatus for facilitating physical synthesis of an integrated circuit design |
| JP2004317718A (ja) * | 2003-04-15 | 2004-11-11 | Toshiba Corp | パターン作成方法、パターン作成システム、および半導体装置の製造方法 |
| US6948143B2 (en) * | 2003-05-09 | 2005-09-20 | Synopsys, Inc. | Constrained optimization with linear constraints to remove overlap among cells of an integrated circuit |
| US6951003B2 (en) * | 2003-05-12 | 2005-09-27 | Synopsys, Inc | Placing cells of an IC design using partition preconditioning |
| US6986109B2 (en) * | 2003-05-15 | 2006-01-10 | International Business Machines Corporation | Practical method for hierarchical-preserving layout optimization of integrated circuit layout |
| US7251807B2 (en) * | 2005-02-24 | 2007-07-31 | Synopsys, Inc. | Method and apparatus for identifying a manufacturing problem area in a layout using a process-sensitivity model |
| US8230379B2 (en) * | 2006-10-20 | 2012-07-24 | Kabushiki Kaisha Toshiba | Layout generating method for semiconductor integrated circuits |
| US8578313B2 (en) * | 2008-04-24 | 2013-11-05 | Synopsys, Inc. | Pattern-clip-based hotspot database system for layout verification |
-
2008
- 2008-07-04 CN CN200880019529A patent/CN101681388A/zh active Pending
- 2008-07-04 US US12/667,333 patent/US20100205573A1/en not_active Abandoned
- 2008-07-04 WO PCT/EP2008/058648 patent/WO2009007311A1/en not_active Ceased
- 2008-07-04 JP JP2010513999A patent/JP2010532511A/ja not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20100205573A1 (en) | 2010-08-12 |
| WO2009007311A1 (en) | 2009-01-15 |
| CN101681388A (zh) | 2010-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6560766B2 (en) | Method and apparatus for analyzing a layout using an instance-based representation | |
| JP2010532511A (ja) | 固定及び自由レイアウトエンティティを含む回路レイアウトを修正するためのレイアウト修正エンジン | |
| TWI758742B (zh) | 用於電子電路之曲線型遮罩的遮罩規則檢查之系統及方法 | |
| US8266557B1 (en) | Method and system for direction dependent integrated circuit layout | |
| US6505327B2 (en) | Generating an instance-based representation of a design hierarchy | |
| US8572521B2 (en) | Method for performing pattern decomposition for a full chip design | |
| JP4751866B2 (ja) | ターゲットパターンを複数のパターンに分解するための方法、そのコンピュータプログラムを記憶するコンピュータ読取可能記憶媒体、デバイス製造方法、およびマスクを生成するための方法 | |
| US8111901B2 (en) | Apparatus and method for separating a circuit pattern into multiple circuit patterns | |
| US20090199148A1 (en) | Pattern-producing method for semiconductor device | |
| US10140400B2 (en) | Method and system for defect prediction of integrated circuits | |
| JP4945367B2 (ja) | 回路パターンを複数の回路パターンに分離する装置および方法 | |
| KR20090091713A (ko) | 리소그래피 처리 모델을 위한 시뮬레이션 사이트 배치 | |
| US6721928B2 (en) | Verification utilizing instance-based hierarchy management | |
| CN114925646A (zh) | 布线后壅塞优化方法与壅塞优化平台 | |
| CN114127731A (zh) | 跨集成电路芯片的随机区域实施掩模综合一致性 | |
| JP4728676B2 (ja) | フォトマスクの製造方法、及びそのフォトマスクを用いた半導体装置の製造方法 | |
| US8677300B2 (en) | Canonical signature generation for layout design data | |
| JP4997849B2 (ja) | 半導体装置の検証システム | |
| US20090276748A1 (en) | Stitched circuitry region boundary indentification for stitched ic chip layout | |
| US8762902B2 (en) | System and method for detecting one or more winding paths for patterns on a reticle for the manufacture of semiconductor integrated circuits | |
| US20100167190A1 (en) | Pattern-correction supporting method, method of manufacturing semiconductor device and pattern-correction supporting program | |
| US11022966B1 (en) | Method of modeling e-beam photomask manufacturing process using image-based artificial neural networks | |
| JP2004302110A (ja) | マスクパターン検証方法、マスクパターン検証用プログラム、及びマスク製造方法 | |
| US8006211B2 (en) | IC chip and design structure including stitched circuitry region boundary identification | |
| Zepka et al. | Mask modeling using a deep learning approach |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110701 |
|
| A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20120711 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120720 |