JP2010506336A - 電子設計自動化における特性 - Google Patents

電子設計自動化における特性 Download PDF

Info

Publication number
JP2010506336A
JP2010506336A JP2009532543A JP2009532543A JP2010506336A JP 2010506336 A JP2010506336 A JP 2010506336A JP 2009532543 A JP2009532543 A JP 2009532543A JP 2009532543 A JP2009532543 A JP 2009532543A JP 2010506336 A JP2010506336 A JP 2010506336A
Authority
JP
Japan
Prior art keywords
design
property
value
electronic
layout
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.)
Pending
Application number
JP2009532543A
Other languages
English (en)
Inventor
フェドア ジー. ピカス,
エリス コーエン,
フィリップ エー. ブルックス,
ゲイリー エス. マイロン,
Original Assignee
メンター・グラフィクス・コーポレーション
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 メンター・グラフィクス・コーポレーション filed Critical メンター・グラフィクス・コーポレーション
Publication of JP2010506336A publication Critical patent/JP2010506336A/ja
Pending legal-status Critical Current

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
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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つ以上のプロパティは、マイクロデバイス設計における設計対象に関連付けることができる。設計対象は、レイアウト設計における幾何学的要素等の、マイクロデバイスに対する物理的レイアウト設計における対象であってもよい。また、設計対象は、ネット、階層化設計におけるセル、または設計の層における幾何学的要素の全ての集合体等の、レイアウト設計における幾何学的要素の集合体であってもよい。さらに、設計対象は、集積回路の論理回路設計におけるネット等の、論理回路設計におけるアイテムであってもよい。1つ以上のプロパティの値は、静的に割り当てられるか、または電子設計自動化ツールによって行われる設計プロセス中に動的に生成されてもよい。プロパティには、一定値、または1つ以上の変数を含む方程式または他の種類のスクリプトによって定義された値が割り当てられてもよい。

Description

(関連出願)
本願は、2006年10月9日に出願された、Fedor Pikusを発明者とする「Properties In Electronic Design Automation」という名称の米国仮特許出願第60/850,716号に対する優先権を主張し、この仮特許出願は本明細書において全体が参照により援用される。
(発明の分野)
本発明は、電子設計自動化における特性の使用に関する。本発明の種々の実装は、自動電子設計ツールにおけるプロセス間での1つ以上のプロパティの交換に有用となり得る。
(発明の背景)
集積回路等の多くのマイクロデバイスは、非常に複雑になってきたために、これらのデバイスを手作業で設計することができない。例えば、単純なマイクロプロセッサであっても、マイクロプロセッサの構成要素を形成するように協働する数百万のトランジスタを有し得る。その結果、回路設計者が、回路の製造前にその設計を解析するのを支援するように、電子設計自動化ツールが作り出された。これらの電子設計自動化ツールは、一般的に、1つ以上の電子設計自動化(electronic design automation:EDA)プロセスを実行して、回路設計が規定要件に適合していることを検証するか、その製造性を改善するように回路設計を変更するか、またはそれらの組み合わせを行う。例えば、いくつかの電子設計自動化ツールは、設計が所望の機能性を提供するように、回路設計から製造した回路の演算をシミュレーションするための、1つ以上のプロセスを提供することができる。さらに他の電子設計自動化ツールは、代替的に、または付加的に、回路設計が意図する回路の回路図に合致することを確認するための、好適な設計規則に適合していない回路設計の各部分を識別するための、設計の欠陥または他の脆弱性を識別するための、またはこれらの問題のうちのいずれかに対処するように回路設計を変更するための、1つ以上のプロセスを提供することができる。電子設計自動化ツールの実施例には、Wilsonville、OregonにあるMentor Graphics社から入手できるCalibreファミリのソフトウェアツールが挙げられる。
設計自動化ツールが発展を続けるにつれて、これらのツールにはさらなる高度化が求められている。例えば、明らかな設計上の欠陥の検出に加えて、多くの電子設計自動化ツールには、現在、製造プロセス中に不適切に形成される可能性が非常に高い、設計における設計対象を識別すること、これらの設計対象が作り出す製造歩留まりに対する結果として生じる影響を判断すること、および/または製造プロセス中に、設計対象をより確実に製造できるようにする設計変更を識別することが期待されている(例えば、「製造性を考慮した設計」design−for−manufacture:DFM)。これらの期待に応えるために、電子設計自動化ツールによって実行されるプロセスには、前世代の電子設計自動化ツールよりも多くの計算を実行することが必要となり得る。例えば、設計ルールチェックプロセスは、個々の配線ラインを形成するように物理的レイアウト設計に使用される多角形が、最小の規定距離で分離されていることを確認することができる。しかしながら、加えて、設計ルールチェックプロセスは、多角形が、それでも誤ったブリッジング不良を有する配線ラインを形成し得るという可能性を判断することもできる。この判断には、例えば、多角形間の距離、多角形が互いに隣接して延びる長さ、および多角形の隣接する各部分でのそれらの厚さを計算することが必要となり得る。
電子設計自動化ツールによって実行される単一のプロセスであっても、数百万の計算が必要になり得るので、設計自動化ツールの速度および効率の改善が継続的に探求されている。さらに、回路設計者および製造者に対する有用性を改善するために、電子設計自動化ツールのための追加的な機能性も継続的に探求されている。
本発明の側面は、電子設計自動化のためのより効率的なデータの処理手法に関する。以下に詳述するように、これらの手法を実装するツールおよび方法の両方の実施形態は、集積回路設計データ等のマイクロデバイス設計データを解析するための特定のアプリケーションを有する。
本発明の種々の実装によれば、1つ以上のプロパティは、マイクロデバイス設計における設計対象に関連付けることができる。設計対象は、マイクロデバイスに対する物理的レイアウト設計におけるあらゆるデータであってもよい。例えば、設計対象は、多角形、多角形の辺、一群の辺または1つ以上の多角形の頂点等の、レイアウト設計における幾何学的要素であってもよい。設計対象はまた、一群の多角形、階層的設計におけるセル、階層的設計における特定の種類のあらゆるセル、さらには設計の層における幾何学的要素の全ての集合体等の、レイアウト設計における幾何学的要素の集合体であってもよい。さらに、設計対象は、ネット、デバイス、または集積回路のための論理回路設計における接続ピンのインスタンス、あるいは階層的回路設計におけるセルの配置等の、非幾何学的アイテムを含む、別の種類の回路設計におけるデータのあらゆるアイテムであってもよい。
本発明のいくつかの実施例では、1つ以上のプロパティは、設計プロセスの実行中に、電子設計自動化ツールによって静的に割り当てられてもよい。代替的に、または付加的に、1つ以上のプロパティは、設計プロセスの実行中に、電子設計自動化ツールによって動的に生成されてもよい。プロパティは、あらゆる所望のデータ値を有してもよい。例えば、プロパティには、一定値またはベクトル値が割り当てられてもよい。あるいは、プロパティには、変数値が割り当てられてもよい。例えば、プロパティは、1つ以上の変数を含む方程式または他の種類のスクリプトによって定義してもよい。したがって、プロパティの値は、例えば、設計における幾何学的データから、動的に導出されてもよい。
プロパティは、単純なプロパティであってもよく、該プロパティの値の定義は、他のどのプロパティの値にも依存しない。代替的に、プロパティは、複合プロパティであってもよく、該プロパティの値の定義は、1つ以上の他の以前に決定したプロパティ値を組み込む。さらに、プロパティは、代替プロパティであってもよい。代替プロパティでは、プロパティは、第1の組の条件下で1つの値定義を有し、第2の組の条件下で別の値定義を有する。
プロパティはまた、複数の値を有してもよい。プロパティは、例えば、x座標値、y座標値、およびZ座標値を有してもよい。さらに、プロパティは、複数の、異種の値を有してもよい。例えば、プロパティは、数値および文字列値を有してもよい。したがって、階層的レイアウト回路設計におけるセルに関連付けられたプロパティは、例えば、セルにおけるデバイスのデバイスカウントであってもよい数値、および、例えば、セルに対するライブラリソースを識別するモデル名であってもよい文字列値を有することができる。当然、複数の異種の値を有するプロパティは、上述の値定義の種類のあらゆる組み合わせ(例えば、1つ以上の定数値定義、1つ以上のベクトル値定義、1つ以上の動的値定義、1つ以上の単純値定義、1つ以上の複合値定義、1つ以上の文字列値定義等)を含む、値定義の種類のあらゆる組み合わせを有することができる。プロパティは、複数の代替値定義を有してもよく、代替値定義のうちの1つ以上は異なる種類である。
好都合には、本発明の種々の実装によって、第1の電子設計自動化プロセスは、1つ以上のプロパティ値を生成することが可能となり得る。次いで、生成されたプロパティ値は、別の電子設計自動化プロセスに渡すことができる。例えば、設計ルールチェック(design rule check:DRC)プロセスは、物理的レイアウト設計における複数の幾何学的要素のそれぞれに対して、1つ以上のプロパティ値を生成することができる。次いで、設計ルールチェックプロセスは、これらのプロパティ値を、光近接効果補正(optical proximity correction:OPC)プロセス等の、第2の電子設計自動化プロセスへ渡すことができる。設計ルールチェックプロセスによって提供されたプロパティ値を使用することにより、光近接効果補正プロセスは、プロパティ値を再計算せざるを得ない状態を回避することができる。このプロパティ値の使用は、第2の電子設計自動化プロセスが、プロパティ値自体を容易に計算することができない場合、または第2の電子設計自動化プロセスが、第1の電子設計自動化プロセスと同じくらい速く、または効率的にプロパティ値を計算することができない場合に特に有益なものとなり得る。
同様に、プロパティ値は、電子設計自動化プロセスの第1の部分によって生成して、続いて、同じ電子設計プロセスの第2の部分に提供してもよい。例えば、製造性を考慮した設計(DFM)プロセスのある部分は、第1の演算中に、物理的レイアウト設計における複数の幾何学的要素のそれぞれに対する一組のプロパティ値を生成してもよい。製造性を考慮した設計プロセスの第1の部分は、次いで、算出したプロパティを、第2の、以降のプロセスの部分に提供することができる。このプロパティ値の使用は、電子設計自動化プロセスの第2の部分が、プロパティ値自体を容易に計算することができない場合、または電子設計自動化プロセスの第2の部分が、電子設計自動化プロセスの第1の部分と同じくらい速く、または効率的にプロパティ値を計算することができない場合に特に有益なものとなり得る。
本発明のこれらの、ならびに他の特徴および側面は、以下の詳細な説明を考慮することによって明らかとなろう。
図1は、本発明の種々の実施形態の実装に使用してもよい、計算システムの一実施例を示す図である。 図2は、本発明の種々の実施形態の実装に使用してもよい、マルチコアプロセッサユニットの一実施例を示す図である。 図3は、本発明の種々の実施形態による、関連プロパティを使用してもよい、自動設計自動化のためのソフトウェアツールのファミリの一実施例を概略的に示す図である。 図4は、本発明の種々の実施形態による、1つ以上のプロパティに関連付けてもよい、マイクロ回路レイアウト設計の幾何学的要素を示す図である。 図5は、本発明の種々の実施形態が使用してもよい、一種のアレイの一実施例を示す図である。 図6は、EDAプロセスを使用し、プロパティ値を生成して、別のEDAプロセスに提供できることを示すフローチャートである。 図7は、EDAプロセスの第1の部分を使用し、プロパティ値を生成して、EDAプロセスの第2の部分に提供できることを示すフローチャートである。
(例示的な動作環境)
本発明の実施形態による種々の電子設計自動化プロセスの実行は、1つ以上のプログラム可能な計算デバイスによって実行される、コンピュータで実行可能なソフトウェア命令を使用して実装してもよい。本発明のこれらの実施形態は、ソフトウェア命令を使用して実装することができるので、本発明の種々の実施形態を使用してもよい汎用のプログラム可能なコンピュータシステムの構成要素および動作を最初に説明する。さらに、いくつかの電子設計自動化プロセスが複雑であり、また多くの回路設計はサイズが大きいので、種々の電子設計自動化ツールは、複数の処理スレッドを同時に実行することができる計算システム上で動作するように構成される。したがって、ホストまたはマスタコンピュータ、および1つ以上のリモートまたはサーバントコンピュータを有する、コンピュータネットワークの構成要素および動作を図1を参照して説明する。しかしながら、この動作環境は、好適な動作環境の一例に過ぎず、本発明の使用範囲または機能性に関して、いかなる制限も示唆することを意図したものではない。
図1において、コンピュータネットワーク101は、マスタコンピュータ103を含む。図示の例において、マスタコンピュータ103は、複数の入出力デバイス105およびメモリ107を含む、マルチプロセッサコンピュータである。入出力デバイス105は、ユーザからの入力データを受信する、または出力データをユーザに提供するための、あらゆるデバイスを含んでもよい。入力デバイスには、例えば、ユーザからの入力を受信するためのキーボード、マイクロホン、スキャナ、またはポインティングデバイスが挙げられる。次いで、出力デバイスには、ディスプレイモニタ、スピーカ、プリンタ、または触覚フィードバックデバイスが挙げられる。これらのデバイスおよびそれらの接続は、当技術分野において既知であるので、ここでは詳細に考察しない。
メモリ107は、同様に、マスタコンピュータ103によってアクセスすることができる、コンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。コンピュータ読み取り可能媒体には、例えば、リードライトメモリ(RAM)、読み出し専用メモリ(ROM)、電子的消去およびプログラムが可能な読み出し専用メモリ(EEPROM)、またはフラッシュメモリマイクロ回路デバイス等のマイクロ回路メモリデバイス、CD−ROMディスク、デジタルビデオディスク(DVD)、または他の光学格納デバイスが挙げられる。また、コンピュータ読み取り可能媒体には、磁気カセット、磁気テープ、磁気ディスク、または他の磁気格納デバイス、穿孔媒体、ホログラフィック格納デバイス、あるいは、所望の情報を格納するのに使用することができる他のあらゆる媒体が挙げられる。
以下に詳述するように、マスタコンピュータ103は、本発明の種々の実施例に従って1つ以上の演算を実行するためのソフトウェアアプリケーションを実行する。したがって、メモリ107は、実行時に1つ以上の演算を実行するためのソフトウェアアプリケーションを実装する、ソフトウェア命令109Aを格納する。メモリ107は、ソフトウェアアプリケーションによって使用されるデータ109Bも格納する。図示の実施形態では、データ109Bは、ソフトウェアアプリケーションが使用して、そのうちの少なくともいくつかを並列に行う場合もある演算を実行する、プロセスデータを含む。
マスタコンピュータ103は、複数のプロセッサユニット111およびインタフェース機器113も含む。プロセッサユニット111は、ソフトウェア命令109Aを実行するようにプログラムすることができる、あらゆる種類のプロセッサデバイスであってもよいが、従来は、マイクロプロセッサデバイスである。例えば、1つ以上のプロセッサユニット111は、Intel(登録商標) Pentium(登録商標)またはXeonTMマイクロプロセッサ、Advanced Micro Devices AthlonTMマイクロプロセッサ、またはMotorola 68K/Coldfire(登録商標)マイクロプロセッサ等の、市販の汎用のプログラム可能なマイクロプロセッサであってもよい。代替的に、または付加的に、プロセッサユニット111のうちの1つ以上は、特定の種類の数学的演算を最適に実行するように設計されたマイクロプロセッサ等の、特別に製造されたプロセッサであってもよい。インタフェースデバイス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のアーキテクチャによって変化し得る。Sony Corporation、Toshiba Corporation、およびIBM Corporationによって作製されたセルマイクロプロセッサ等の、いくつかのプロセッサコア201では、相互接続部207は、相互接続バスとして実装してもよい。しかしながら、Sunnyvale、CaliforniaにあるAdvanced Micro Devicesから入手可能な、OpteronTMおよびAthlonTMデュアルコアプロセッサ等の、他のプロセッサユニット201では、相互接続部207は、システム要求インタフェースデバイスとして実装してもよい。いずれにせよ、プロセッサコア201は、相互接続部207を通じて、入出力インタフェース209およびメモリコントローラ211と通信する。入出力インタフェース209は、プロセッサユニット201とバス115との間に通信インタフェースを提供する。同様に、メモリコントローラ211は、プロセッサユニット201とシステムメモリ107との間の情報交換を制御する。本発明のいくつかの実装では、プロセッサユニット201は、プロセッサコア201によって共有されてアクセス可能な高レベルキャッシュメモリ等の、追加的な構成要素を含んでもよい。
図2は、本発明のいくつかの実施形態によって使用することができるプロセッサユニット201の一具体例を示しているが、この具体例は、代表的なものに過ぎず、制限することを意図したものではないと理解されたい。例えば、本発明のいくつかの実施形態は、1つ以上のセルプロセッサを備えたマスタコンピュータ103を使用してもよい。セルプロセッサは、複数の入出力インタフェース209と、複数のメモリコントローラ211とを使用する。また、セルプロセッサは、種類が異なる9つの異なるプロセッサコア201を有する。より具体的には、6つ以上の相乗プロセッサ要素(synergistic processor element:SPE)と、1つのパワープロセッサ要素(PPE)とを有する。各相乗プロセッサ要素は、428×428ビットのレジスタを有する1つのベクトルタイプの計算エンジン203と、4つの単精度浮動小数点計算ユニットと、4つの整数計算ユニットと、命令およびデータの両方を格納する1つの556KBのローカル格納メモリとを有する。パワープロセッサ要素は、次いで、相乗プロセッサ要素によって実行されるタスクを制御する。その構成のため、セルプロセッサは、高速フーリエ変換(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は、Intel(登録商標) Pentium(登録商標)またはXeonTMマイクロプロセッサ、Advanced Micro Devices AthlonTMマイクロプロセッサ、またはMotorola 68K/Coldfire(登録商標)マイクロプロセッサ等の、市販の汎用のプログラム可能なマイクロプロセッサであってもよい。代替的に、プロセッサユニット121のうちの1つ以上は、特定の種類の数学的演算を最適に実行するように設計されたマイクロプロセッサ等の、特別に製造されたプロセッサであってもよい。さらに、プロセッサユニット121のうちの1つ以上は、図2を参照して上述したように、2つ以上のコアを有してもよい。例えば、本発明のいくつかの実装では、プロセッサユニット121のうちの1つ以上は、セルプロセッサであってもよい。メモリ119は、その結果、上述したコンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。インタフェースデバイス113と同様に、インタフェースデバイス123によって、サーバントコンピュータ117は、通信インタフェースを通じて、マスタコンピュータ103と通信することができる。
図示の実施例では、マスタコンピュータ103は、複数のプロセッサユニット111を備えたマルチプロセッサユニットコンピュータであり、一方で、各サーバントコンピュータ117は、シングルプロセッサユニット121を有する。しかしながら、本発明の代替的な実装は、シングルプロセッサユニット111を有するマスタコンピュータを使用してもよいことに留意されたい。さらに、サーバントコンピュータ117のうちの1つ以上は、上述のように、それらの用途によって、複数のプロセッサユニット121を有してもよい。また、マスタコンピュータ103およびサーバントコンピュータの両方に対して、単一のインタフェースデバイス113または123だけしか示されていないが、本発明の代替的な実施形態では、コンピュータ103、サーバントコンピュータ117のうちの1つ以上、またはその両方のいくつかの組み合わせは、複数の通信インタフェースにわたって通信するために、2つ以上の異なるインタフェースデバイス113または123を使用してもよいことに留意されたい。
本発明の種々の実施例では、マスタコンピュータ103は、1つ以上の外部データ格納デバイスに接続してもよい。これらの外部データ格納デバイスは、マスタコンピュータ103によってアクセスすることができる、コンピュータ読み取り可能媒体のあらゆる組み合わせを使用して実装してもよい。コンピュータ読み取り可能媒体には、例えば、リードライトメモリ(RAM)、読み出し専用メモリ(ROM)、電子的消去およびプログラムが可能な読み出し専用メモリ(EEPROM)、またはフラッシュメモリマイクロ回路デバイス等のマイクロ回路メモリデバイス、CD−ROMディスク、デジタルビデオディスク(DVD)、または他の光学格納デバイスが挙げられる。また、コンピュータ読み取り可能媒体には、磁気カセット、磁気テープ、磁気ディスク、または他の磁気格納デバイス、穿孔媒体、ホログラフィック格納デバイス、あるいは、所望の情報を格納するのに使用することができる他のあらゆる媒体が挙げられる。本発明のいくつかの実装によれば、サーバントコンピュータ117のうちの1つ以上は、代替的に、または付加的に1つ以上の外部データ格納バイスに接続してもよい。一般的に、これらの外部データ格納デバイスは、同じくマスタコンピュータ103に接続されるデータ格納デバイスを含むが、それらも、マスタコンピュータ103によってアクセス可能なあらゆるデータ格納デバイスとは異なり得る。
また、図1および図2に示されたコンピュータネットワークの記述は、一実施例として提供されたに過ぎず、本発明の代替的な実施形態の使用範囲または機能性に関して、いかなる制限も示唆することを意図したものではないと理解されたい。
(電子設計自動化)
上述のように、本発明の種々の実施形態は、電子設計自動化に関する。より具体的には、本発明の種々の実装を使用して、マイクロ回路等のマイクロデバイスを製造するための設計データを、識別、検証、および/または変更する電子設計自動化ソフトウェアツールの動作を改善することができる。本願明細書で使用する場合、「設計」および「設計データ」という用語は、集積回路デバイスまたはマイクロ電気機械システム(MEMS)デバイス等の、マイクロデバイス全体を記述するデータを包含することを意図している。しかしながら、この用語はまた、集積回路デバイスの層、さらには集積回路デバイスの層の一部等の、マイクロデバイス全体の1つ以上の構成要素を記述する小さい組のデータを包含することも意図している。さらに、「設計」および「設計データ」という用語はまた、複数のマイクロデバイスを単一のウエハ上に同時に形成するためのマスクまたはレチクルを作製するのに使用されるデータ等の、2つ以上のマイクロデバイスを記述するデータを包含することも意図している。特に明記しない限り、「設計」という用語は、本願明細書で使用する場合、物理的レイアウト設計および論理設計の両方を含む、あらゆる種類の設計を包含することを意図していることに留意されたい。
マイクロ回路デバイスの設計および製造は、「設計フロー」プロセス中に多くのステップを伴う。これらのステップは、マイクロ回路の種類、その複雑さ、設計からマイクロ回路を製造する製造者または製造工場に大きく依存する。しかしながら、いくつかのステップは、大部分の設計フローに共通である。最初に、設計仕様書が、一般的にハードウェア設計言語(HDL)で、論理的にモデル化される。論理設計が作製されると、その正確性を検証するように、種々の論理解析プロセスが設計に実行される。より具体的には、ソフトウェアおよびハードウェア「ツール」は、ソフトウェアシミュレータおよび/またはハードウェアエミュレータを実行することによって、設計の種々の段階で、論理設計が、所望の機能性を提供することを検証し、エラーを補正する。例えば、設計者は、規定入力を受けて、論理設計におけるデバイスが、所望の様態で実行され、適切な出力を提供することを検証するように、1つ以上の機能的論理検証プロセスを使用してもよい。
論理設計におけるデバイスが所望の機能性を提供することを検証することに加えて、一部の設計者によっては、論理設計が規定設計要件を満たすことを検証するように、設計論理検証プロセスを使用してもよい。例えば、設計者は、設計における全てのトランジスタゲートが、3つを超えない他のデバイスを通過する接地への電気経路を持たなければならない、または規定電源に接続する全てのトランジスタを、他のあらゆる接地ノードには接続せず、対応する接地ノードにも接続しなければならない等といったルールを作ってもよい。設計論理検証プロセスは、次いで、論理設計が規定ルールに適合するかどうかを判断して、適合しない状況の発生を識別する。
論理設計は、満足するものと判断された後に、合成ソフトウェアによって物理的設計データに変換される。この物理的設計データ、または「レイアウト」設計データは、例えば、製造工場でのフォトリソグラフィプロセスにおいて、所望のマイクロ回路デバイスを製造するのに使用されるマスク上へ書き込まれる、幾何学的要素を表現することができる。従来のマスクまたはレチクル書き込みツールの場合、幾何学的要素は、一般的に、様々な形状の多角形である。したがって、レイアウト設計データは、通常、設計における多角形の特徴を記述する多角形データを含む。物理的設計情報には、デバイスの適切な動作のための設計仕様および論理設計を正確に組み込むことが非常に重要である。したがって、該情報が合成プロセス中に作製された後に、物理的設計データは、「レイアウト対回路図」(layout−versus−schematic:LVS)プロセスと称されることもあるプロセスで、元の論理設計回路図と比較される。
論理設計の正確性が検証され、論理設計に対応する幾何学的データがレイアウト設計内に作製されると、次いで、幾何学的データを解析することができる。例えば、製造工場で使用されるマスクの作製には物理的設計データが使用されるので、データは、製造工場の要件に適合しなければならない。各製造工場は、それらのプロセス、機器、および手法とのコンプライアンスに対する、それ自体の物理的設計パラメータを規定する。したがって、設計フローは、設計データが規定パラメータに適合することを確認するプロセスを含んでもよい。このプロセス中に、回路設計の物理的レイアウトは、一般に「設計ルールチェック」(DRC)プロセスと呼ばれるプロセスで設計ルールと比較される。製造工場によって規定されたルールに加えて、設計ルールチェックプロセスは、回路設計の物理的レイアウトを、試験チップ、業界における一般知識、以前の製造経験等から得られたルール等の他の設計ルールに対してチェックすることもできる。
現代の電子設計自動化設計フローでは、設計者はさらに、1つ以上の「製造性を考慮した設計」(DFM)ソフトウェアツールを使用してもよい。上述のように、設計ルールチェックプロセスは、例えば、製造プロセス中にほぼ間違いなく不適切に形成される構造体を表現する要素を識別しようとするものである。しかしながら、「製造性を考慮した設計」ツールは、製造プロセス中に不適切に形成される可能性の大きい構造体を表現する設計における要素を識別しようとするプロセスを提供する。加えて、「製造性を考慮した設計」プロセスは、識別した要素の不適切な形成によって、回路設計から製造したデバイスの歩留まりにどのような影響があるのか、および/または製造プロセス中に、識別した要素が不適切に形成される可能性を低減する変更を判断することができる。例えば、「製造性を考慮した設計」(DFM)ソフトウェアツールは、単一のビアだけによって接続されたワイヤを識別すること、製造プロセス中に個々の単一のビアが不適切に形成される可能性に基づいた、設計から回路を製造する場合の歩留まりへの影響を判断すること、および、その後、単一のビアを補うように冗長ビアを形成することができる領域を識別することができる。
電子設計自動化業界では、「製造性を考慮した設計」に加えて、種々の代替的な用語が使用されることに留意されたい。したがって、本願明細書で使用する場合、「製造性を考慮した設計」という用語は、製造プロセス中に不適切に形成される場合のある構造体を表現する設計における要素を識別する、あらゆる電子設計自動化プロセスを包含することを意図している。故に、「製造性を考慮した設計」(DFM)ソフトウェアツールは、例えば、リソグラフプロセスウィンドウに対してより堅牢であり、かつ影響をあまり受けない回路設計をどのように作製するのかに関して、設計者がトレードオフの判断を行うのを支援する、「リソグラフに適した設計」(lithographic friendly design:LFD)を含む。該ツールはまた、「歩留まりを考慮した設計」(design−for−yield:DFY)の電子設計自動化ツール、「歩留まり支援」(yield assistance)の電子設計自動化ツール、および「チップクリーニング」および「設計クリーニング」の電子設計自動化ツールも含む。
設計者は、1つ以上の幾何解析プロセスを使用して回路設計の物理的レイアウトが満足なものであることを検証した後、次いで、該設計者が、その特定の製造プロセスによって実際にはどのように実現されるのかを判断するために、1つ以上のシミュレーションプロセスを実行して、製造プロセスの動作をシミュレーションしてもよい。加えて、シミュレーション解析プロセスは、シミュレーションによって識別されるあらゆる問題に対処するように、設計を変更することができる。例えば、いくつかの設計フローは、1つ以上のプロセスを使用して、フォトリソグラフィプロセス中に、回路設計の物理的レイアウトによって形成された画像をシミュレーションし、次いで、フォトリソグラフィプロセス中に発生する画像の解像度を改善するように、レイアウト設計を変更する場合もある。
これらの解像度向上技術(resolution enhancement technique:RET)には、例えば、光近接効果補正(OPC)を使用した、またはサブ解像度補助特徴(sub−resolution assist feature:SRAF)を加えることによる、物理的レイアウトの変更が挙げられる。他のシミュレーション解析プロセスには、例えば、位相シフトマスク(phase shift mask:PSM)シミュレーション解析プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスが挙げられる。エッチングシミュレーション解析プロセスは、化学エッチングプロセス中の材料の除去をシミュレーションし、一方で、平坦化シミュレーションプロセスは、化学機械エッチングプロセス中の回路表面の研磨をシミュレーションする。これらのシミュレーション解析プロセスは、例えば、エッチングまたは研磨プロセスで十分に平坦な表面にならなかった領域を識別する場合もある。これらのシミュレーション解析プロセスは、次いで、より多くの幾何学的要素をそれらの領域内に含めて、それらの密度を高くするように、物理的レイアウト設計を変更する場合もある。
物理的レイアウト設計が完成すると、設計における幾何学的要素は、マスクまたはレチクル書き込みツールによる使用のためにフォーマットされる。マスクおよびレチクルは、一般的に、電子またはレーザビーム(または電子ビームまたはレーザビームのアレイ)をブランクレチクルまたはマスク基板に当てる。しかしながら、大部分のマスク書き込みツールは、直角三角形、長方形、または他の台形等の、特定の種類の多角形を「書き込む」ことしかできない。さらに、多角形のサイズは、ツールが利用可能な最大ビーム(またはビームアレイ)のサイズによって、物理的に制限される。したがって、物理的レイアウト設計データにおける大きい幾何学的要素は、一般的に、マスクまたはレチクル書き込みツールによって書き込むことができる、より小さい、かつ基本的な多角形に「破断」される。
種々の設計フローは、あらゆる所望の順序で、1つ以上のプロセスを繰り返す場合もあるものと理解されたい。したがって、いくつかの設計フローでは、幾何学的解析プロセスは、シミュレーション解析プロセスおよび/または論理解析プロセスと交互配置することができる。例えば、解像度向上技術を使用して回路設計の物理的レイアウトが変更されると、その後、設計ルールチェックプロセスまたは製造性を考慮した設計プロセスを、変更したレイアウトに実行することができる。さらに、これらのプロセスは、代替的に、設計に対する所望の程度の解像度が得られるまで繰り返してもよい。同様に、設計ルールチェックプロセスおよび/または製造性を考慮した設計プロセスは、光近接効果補正プロセス、位相シフトマスクシミュレーション解析プロセス、エッチングシミュレーション解析プロセス、または平坦化シミュレーション解析プロセスの後に使用してもよい。上述の論理解析プロセス、幾何解析プロセス、またはシミュレーション解析プロセスのうちの1つ以上を使用する電子設計ツールの実施例は、2001年5月8日に発行のMcSherryらへの米国特許第6,230,299号、2001年6月19日に発行のMcSherryらへの米国特許第6,249,903号、2002年1月15日に発行のEisenhoferらへの米国特許第6,339,836号、2002年5月28日に発行のBozkusらへの米国特許第6,397,372号、2002年7月2日に発行のAndersonらへの米国特許第6,415,421号、および2002年7月23日に発行のAndersonらへの米国特許第6,425,113号に記載されており、それぞれ参照することにより本願明細書に援用される。
(回路レイアウトのシミュレーション、検証、または変更のためのソフトウェアツール)
本発明の種々の実施形態の理解を容易にするために、集積回路のための設計の解析および変更を目的とした、自動設計自動化のためのそのようなソフトウェアツールを概略的に説明する。上述のように、「設計」および「設計データ」という用語は、本願明細書で使用する場合、集積回路デバイスまたはマイクロ電気機械システム(MEMS)デバイス等のマイクロデバイス全体を記述するデータを包含する。しかしながら、これらの用語はまた、集積回路デバイスの層、さらには集積回路デバイスの層の一部等の、マイクロデバイス全体の1つ以上の構成要素を記述する小さい組のデータを包含することも意図している。さらに、「設計」および「設計データ」という用語はまた、複数のマイクロデバイスを単一のウエハ上に同時に形成するためのマスクまたはレチクルを作製するのに使用されるデータ等の、2つ以上のマイクロデバイスを記述するデータを包含することも意図している。同じく上述したように、特に明記しない限り、「設計」という用語は、本願明細書で使用する場合、物理的レイアウト設計および論理設計の両方を含む、あらゆる種類の設計を包含することを意図していることに留意されたい。
図3に示されるように、解析ツール301は、種々の異なるソフトウェアアプリケーションによって実装してもよく、データインポートモジュール303と、階層型データベース305とを含む。解析ツール301はまた、レイアウト対回路図(LVS)検証モジュール307と、設計ルールチェック(DRC)モジュール309と、製造性を考慮した設計(DFM)モジュール311と、光近接効果補正(OPC)モジュール313と、光近接ルールチェック(ORC)モジュール315とを含む。解析ツール301は、必要に応じて、位相シフトマスク(PSM)モジュール(図示せず)、エッチングシミュレーション解析モジュール(図示せず)、および/または平坦化シミュレーション解析モジュール(図示せず)等の、追加的な機能を実行するための他のモジュール317をさらに含んでもよい。ツール301は、データエクスポートモジュール319も有する。このような解析ツールの一実施例は、Wilsonville、OregonにあるMentor Graphics社から入手できるCalibreファミリのソフトウェアアプリケーションである。
最初に、ツール301は、集積回路のための物理的レイアウト設計を記述するデータ321を受信する。レイアウト設計データ321は、例えば、Semiconductor Equipment and Materials International(SEMI)社が提唱する、Graphic Data SystemII(GDSII)、またはOpen Artwork System Interchange Standard(OASIS)データフォーマット等の、あらゆる所望のフォーマットであってもよい。データ321のための他のフォーマットには、Open Access、Synopsys,Inc.ではMilkyway、およびMentor Graphics,Inc.ではEDDMと命名されたオープンソースフォーマットが挙げられる。レイアウトデータ321は、集積回路デバイスの1つ以上の部分を製造するための幾何学的要素を含む。例えば、初期の集積回路レイアウトデータ321は、その後にトランジスタの分離領域に使用されるフォトリソグラフマスクを作製するための第1の組の多角形と、その後にトランジスタに対する接触電極の形成に使用されるフォトリソグラフマスクを作製するための第2の組の多角形と、その後に接触電極への相互接続ラインの形成に使用されるフォトリソグラフマスクを作製するための第3の組の多角形とを含んでもよい。初期の集積回路レイアウトデータ321は、データインポートモジュール303によって、ツール301の残りの構成要素によってより効率的に処理することができるフォーマットに変換してもよい。
データインポートモジュール303が、元の集積回路レイアウトデータ321を適切なフォーマットに変換すると、レイアウトデータ321が、モジュール305〜317によって実行される種々の演算による使用のために、階層型データベース305内に格納される。次に、レイアウト対回路図モジュール307は、所望の集積回路のための元の設計仕様に合致することを検証するように、レイアウト対回路図プロセスでレイアウト設計データ321をチェックする。レイアウト設計データ321と集積回路のための論理設計との間の相違が識別された場合は、レイアウト設計データ321を改訂して、これらの相違のうちの1つ以上に対処することができる。したがって、レイアウト対回路図モジュール307によって実行されるレイアウト対回路図プロセスは、改訂のある新しいバージョンのレイアウト設計データとなる場合もある。本発明のツール301の種々の実装によれば、レイアウトデータ321は、ユーザの手作業で改訂するか、レイアウト対回路図モジュール307によって自動的に改訂するか、またはそれらのいくつかの組み合わせによって改訂することができる。
次に、設計ルールチェックモジュール309は、検証したレイアウトデータ321が、定義された幾何学的設計ルールに適合することを確認する。レイアウトデータ321の各部分が、設計ルールに準拠していないか、または設計ルールに違反している場合は、レイアウトデータ321が、これらの部分が設計ルールに適合するように変更することができる。したがって、設計ルールチェックモジュール309によって実行される設計ルールチェックプロセスはまた、種々の改訂のある新しいバージョンのレイアウト設計データとなる場合もある。また、本発明ツール301の種々の実装では、レイアウトデータ321は、ユーザの手作業で修正するか、設計ルールチェックモジュール309によって自動的に修正するか、またはそれらのいくつかの組み合わせによって修正することができる。
変更されたレイアウトデータ321は、次いで、製造性を考慮した設計モジュール311によって処理される。上述のように、「製造性を考慮した設計」プロセスは、製造プロセス中に不適切に形成される可能性の大きい構造体を表現する設計における要素を識別するように処理を行う。加えて、「製造性を考慮した設計」プロセスは、識別した構造体の不適切な形成によって、回路設計から製造したデバイスの歩留まりにどのような影響があるのか、および/または製造プロセス中に、識別した構造体が不適切に形成される可能性を低減する変更を判断することができる。例えば、「製造性を考慮した設計」(DFM)ソフトウェアツールは、単一のビアよって接続されたワイヤを識別すること、製造プロセス中に個々の単一のビアが不適切に形成される可能性に基づいた、歩留まりへの影響を判断すること、および、その後、単一のビアを補うように冗長ビアを形成することができる領域を識別することができる。
処理したレイアウトデータ321は、次いで、光近接効果補正モジュール313に渡されて、補正しなければリソグラフパターン形成中に生じ得るであろう製造歪みに対して、レイアウトデータ321を補正する。例えば、光近接効果補正モジュール313は、画像歪み、光近接効果、フォトレジストの運動論的効果、およびエッチング負荷歪みを補正することができる。次いで、光近接効果補正モジュール313によって変更されたレイアウトデータ321は、光学プロセスルールチェックモジュール315に提供される。
光学プロセスルールチェックモジュール315(より一般的には、光学ルールチェックモジュール、またはORCモジュールと呼ばれる)は、光近接効果補正モジュール313によって行われた変更が、実際に製造可能な、レイアウト検証のための「下流側を考慮した(downstream−looking)」ステップであるようにする。これは、LVSモジュール307によって実行されるLVSの「上流側を考慮した(upstream−looking)」ステップ、およびDRCモジュール309によって実行されるDRCプロセスの自己一致性チェックを補い、対称性を検証ステップに加える。したがって、製造性を考慮した設計プロセス311、光近接効果補正モジュール313、および光学プロセスルールチェックモジュール315によって実行されるプロセスのそれぞれは、種々の改訂のある新しいバージョンのレイアウト設計データとなる場合もある。
上述のように、必要に応じて、他のモジュール317を使用して、レイアウトデータ321の代替的な、または追加的な操作を実行してもよい。例えば、ツール301のいくつかの実装は、例えば、位相シフトマスクモジュールを使用してもよい。上述のように、位相シフトマスク(PSM)解析(解像度向上技術(RET)に対する別の手法)によって、レイアウト設計における幾何学的要素は、レチクル上に形成するパターンが、コントラスト強調干渉縞を画像内に導入するように変更される。ツール301は、例えば、エッチングシミュレーション解析プロセスまたは平坦化シミュレーション解析プロセスを代替的に、または付加的に使用してもよい。これらの追加的なモジュール317によって実行される単一または複数のプロセスも、改訂を含む新しいバージョンのレイアウトデータ321の作製をもたらし得る。
所望の演算の全てが初期のレイアウトデータに対して行われた後に、データエクスポートモジュール319は、処理したレイアウトデータ321を、1つ以上のマスクまたはレチクルを形成して集積回路を製造するのに使用できる、集積回路レイアウトデータ323の製造に変換する(すなわち、データエクスポートモジュール319は、処理したレイアウトデータ321を、フォトリソグラフ製造プロセスで使用できるフォーマットに変換する)。マスクおよびレチクルは、一般的に、電子またはレーザビーム(または電子ビームまたはレーザビームのアレイ)をブランクレチクルまたはマスク基板に当てる。しかしながら、大部分のマスク書き込みツールは、直角三角形、長方形、または他の台形等の、特定の種類の多角形を「書き込む」ことしかできない。さらに、多角形のサイズは、ツールが利用可能な最大ビーム(またはビームアレイ)のサイズによって、物理的に制限される。
したがって、データエクスポートモジュール319は、レイアウト設計における大きい幾何学的要素を、または直角三角形、長方形、または台形(これらは、一般的に、レイアウト設計における大部分の幾何学的要素である)ではない幾何学的要素を、マスクまたはレチクル書き込みツールによって書き込むことができる、より小さい、かつより基本的な多角形に「破断」する場合がある。当然、データエクスポートモジュール319は、処理したレイアウトデータ321を、合成プロセス(例えば、回路ライブラリのためのエントリを作製するためのプロセス)に使用するためのデータ、プレイスアンドルートプロセスに使用するためのデータ、寄生効果の計算に使用するためのデータ等の、所望の種類のデータに変換してもよい。さらに、ツール301は、設計者が、望ましくない変更を取り消すことができるように、異なる変更を含む1つ以上のバージョンのレイアウト321を格納してもよい。例えば、階層型データベース305は、モジュール307〜317間のプロセスのあらゆるステップ中に作製された、代替的なバージョンのレイアウトデータ321を格納してもよい。
(データ編成)
新しい集積回路の設計は、数百万ものトランジスタ、抵抗、コンデンサ、または他の電気的構造体の、論理回路、メモリ回路、プログラム可能なフィールドアレイ、および他の回路デバイス内への相互接続を含む場合もある。コンピュータが、より容易にこれらの大きなデータ構造を作製および解析できるように(およびヒトユーザが、これらのデータ構造をより良く理解できるように)、該データ構造は、しばしば、一般的に「セル」と称される、小さいデータ構造に階層的に編成される。したがって、マイクロプロセッサまたはフラッシュメモリ設計の場合、単一ビットを格納するためのメモリ回路を構成するトランジスタの全ては、単一「ビットメモリ」セルに分類される場合もある。各トランジスタを個々に列挙しなければならないというよりは、単一ビットメモリ回路を構成する一群のトランジスタは、したがって、集合的に、単一ユニットと称して、そのように操作することができる。同様に、大きい16ビットメモリレジスタ回路を記述する設計データを、単一のセルに分類することができる。この高レベル「レジスタセル」は、その結果、ビットメモリセルのそれぞれとデータをやりとりするための入出力回路等の、他の種々の回路を記述する設計データとともに、16ビットメモリセルを含む場合もある。同様に、128kBのメモリアレイを記述する設計データは、その結果、レジスタセルのそれぞれとデータのやりとりを行う入出力回路等の、それ自体の種々の回路を記述する設計データとともに、わずか64,000のレジスタセルの組み合わせとして簡潔に記述することができる。
マイクロ回路設計データを階層的セルに分類することによって、大きいデータ構造を、より迅速かつ効率的に処理することができる。例えば、回路設計者は、一般的に、設計に記述された各回路特徴が規定された設計ルールに適合するように、設計を解析する。上述の実施例では、128kBのメモリアレイ全体の各特徴を解析しなければならない代わりに、設計ルールチェックプロセスは、単一ビットセルの特徴を解析することができる。セルが同一である場合は、その後、チェックの結果を単一ビットセルの全てに適用することができる。単一ビットセルの1つのインスタンスが、設計ルールに適合することが確認されると、設計ルールチェックプロセスは、その後、(それ自体が1つ以上の階層的セルを構成することができる)追加的な種々の回路の特徴を解析するだけで、レジスタセルの解析を完了することができる。このチェックの結果は、その後、レジスタセルの全てに適用することができる。レジスタセルの1つのインスタンスが、設計ルールに適合することが確認されると、設計ルールチェックソフトウェアアプリケーションは、メモリアレイにおける追加的な種々の回路の特徴を解析するだけで、128kBのメモリアレイ全体の解析を完了することができる。したがって、大きいデータ構造の解析は、比較的少数のデータ構造を構成するセルの解析に圧縮することができる。
本発明の種々の実施例では、レイアウト設計データは、2つの異なる種類のデータ、すなわち「描画層」設計データおよび「導出層」設計データを含む場合もある。描画層データは、材料の層で構造体を形成して集積回路を生成するように使用される、幾何学的要素を記述する。描画層データは、通常、金属層、拡散層、およびポリシリコン層の構造体を形成するのに使用される多角形を含む。導出層は、その結果、描画層データおよび他の導出層データの組み合わせで構成される特徴を含む。したがって、トランジスタゲートでは、ゲートを記述する導出層設計データは、ポリシリコン材料層における多角形と拡散材料層における多角形との交差点から導出してもよい。
例えば、設計ルールチェックモジュール309によって一般的に実行される設計ルールチェックプロセスは、2種類の演算、すなわち、設計データ値が規定パラメータに適合するかどうかを確認する「チェック」演算、および導出層データを作製する「導出」演算を実行する。したがって、トランジスタゲート設計データは、以下の導出演算によって作製してもよい。
gate=diff AND poly
この演算の結果は、拡散層多角形とポリシリコン層多角形との全ての交差点を識別するデータの「層」となる。同様に、拡散層をn型材料でドープすることによって形成したp型トランジスタゲートは、以下の導出演算によって識別される。
pgate=nwell AND gate
この演算の結果は、次いで、拡散層における多角形をn型材料でドープした、全てのトランジスタゲート(すなわち、ポリシリコン層多角形と拡散層多角形との交差点)を識別する、別のデータの「層」となる。
設計ルールチェックモジュール309によって実行されるチェック演算は、次いで、データ設計値のパラメータまたはパラメータ範囲を定義する。例えば、ユーザは、いかなる金属配線ラインも、別の配線ラインの1ミクロンの範囲内に無いようにしたい場合がある。この種の解析は、以下のチェック演算によって実行してもよい。
external metal<1
この演算の結果は、金属層設計データにおける別の多角形に1ミクロンよりも接近している、金属層設計データにおける各多角形を識別する。
また、上述の演算は、描画層データを使用するが、一方で、チェック演算は、導出層データにも実行してもよい。例えば、ユーザが、トランジスタゲートが別のゲートの1ミクロン以内に位置していないことを確認したい場合、設計ルールチェックプロセスは、以下のチェック演算を含んでもよい。
external gate<1
この演算の結果は、他のゲートから1ミクロン未満の位置に配置されたゲートを表現する全てのゲート設計データを識別する。しかしながら、描画層設計データからゲートを識別する導出演算が実行されるまで、このチェック演算を実行することができないものと理解されたい。
(プロパティ)
本発明の種々の実装は、関連プロパティを作製する、および/または使用する、電子設計自動化のためのソフトウェアツールに関する。以下に詳述するように、本発明のいくつかの実装では、1つ以上のプロパティを生成して、マイクロデバイス設計におけるあらゆる種類の設計対象と関連付けることができる。設計が、リソグラフ的に集積回路または他のマイクロデバイスを製造するための物理的レイアウトである場合、例えば、1つ以上のプロパティを、設計に記述されたあらゆる所望の幾何学的要素に関連付けることができる。図4を参照すると、本図は、レイアウト設計の一部を示している。設計は、金属層等の材料層内に回路構造体を形成するのに使用される、複数の多角形401〜407を含む。多角形401〜405は、例えば、集積回路のための配線ラインを形成するのに使用してもよい。本発明の種々の実施例では、1つ以上のプロパティを、多角形401〜407のそれぞれ等の多角形に、または多角形の頂点等の多角形の構成要素に関連付けることができる。さらに、1つ以上のプロパティを、多角形401の辺409等の、多角形の辺に関連付けることができる。さらにまた、1つ以上のプロパティを、多角形405の辺411および413等の、一対の多角形の辺に関連付けることができる。本発明の種々の実施例では、各プロパティは、設計におけるデータの新しい「層」として表現してもよい。
プロパティがレイアウト設計における設計対象に関連付けられている時には、その値は、その設計対象に関連する幾何学的データから導出してもよい。例えば、プロパティが多角形等の幾何学的要素に関連付けられている場合、該プロパティは、多角形の面積、多角形の周辺長、多角形の頂点の数等から導出された値を有してもよい。同様に、プロパティが辺に関連付けられている場合、プロパティの値は、辺の長さまたは角度から導出してもよい。さらに、プロパティが一対の辺に関連付けられている場合、プロパティの値は、辺間の分離距離、辺の全長、辺間の長さの差、辺で囲まれた面積等から導出してもよい。
しかしながら、下記の考察から明らかになるように、プロパティ値は、あらゆる所望の関数によって定義することができるものと理解されたい。例えば、プロパティは、一定値として定義してもよい。したがって、プロパティxの値は、関数によって定義してもよい。
X=0.5
この定義によって、プロパティの値は、常時0.5となる。
また、プロパティの値は、可変関数によって定義してもよい。可変関数では、プロパティ値は、例えば設計における特定のデータによって異なる場合もある。例えば、プロパティxは、単純関数によって定義してもよい。
X=AREA(METAL1)×0.5+(PERIMETER(METAL1))
この関数では、プロパティ値は、「metal1」という名前の設計層におけるあらゆる多角形に対して生成される。(すなわち、プロパティXの生成に使用される入力は、デザイン名「metal1」におけるデータ層である。)設計層における多角形ごとに、多角形の面積が計算され、0.5が乗算される。加えて、多角形の周辺長が決定され、その後二乗される。次いで、0.5を乗算した多角形の面積の被乗数を、多角形の周辺長の二乗に加算して、その多角形に関連付けられたプロパティXの値を生成する。
したがって、図4では、第1の多角形401の周辺長が68であり、第1の多角形の面積が64である場合、第1の多角形のプロパティXの値は次のようになる。
=(64×0.5)+(68)=4656
同様に、第2の多角形403の周辺長が60であり、第2の多角形の面積が66である場合、第2の多角形のプロパティXの値は次のようになる。
=(60×0.5)+(66)=4386
さらに、第3の多角形405の周辺長が60であり、第2の多角形の面積が84である場合、第3の多角形のプロパティXの値は次のようになる。
=(60×0.5)+(84)=7086
また、第4の多角形407の周辺長が34であり、第2の多角形の面積が70である場合、第4の多角形のプロパティXの値は次のようになる。
=(34×0.5)+(70)=4917
上述したような「単純」関数に加えて、プロパティはまた、予め生成したプロパティ値を組み込んだ複合関数によって定義してもよい。例えば、第1のプロパティXは、上述した単純関数によって定義してもよい。
X=AREA(METAL1)×5+(PREMIER(METAL1))
次いで、第2のプロパティYは、以下のように、第1のプロパティXの値を組み込んだ関数によって定義することができる。
Y=PROP(METAL1,X)+1
したがって、多角形のプロパティYの値は、その多角形に対して計算したプロパティXの値に、1を加えたものである。
単純関数および複合関数による定義に加えて、プロパティは、いくつかの条件下ではいかなるプロパティ値も生成されないように定義してもよい。例えば、多角形の面積が閾値よりも小さい場合に、プロパティに対していかなる値も生成されないように、多角形に関連付けられたプロパティを定義してもよい。この特徴は、例えば、プロパティ値を、所望の特性を有する設計対象に対してのみ生成する必要がある場合に有用となり得る。設計対象が所要の特性を持たない場合、設計対象にはいかなるプロパティも生成されず、生成されたプロパティ値を使用する以降の計算を無視することができる。
より具体的には、プロパティの値は、以下の関数等の、代替的な関数によって定義してもよい。
IF AREA(METAL1)<0.5,THEN X=1
IF AREA(METAL1)≧1,THEN X=AREA(METAL1)×0.5+(PERIMETER(METAL1))
これらの代替的な関数によって、データ層「metal1」における各多角形が解析される。多角形の領域が0.5以下である場合、多角形のプロパティXの値は1である。
それ以外の場合、多角形のプロパティXの値は、多角形の面積に0.5を乗算して、多角形の周辺長の二乗を加算したものである。
プロパティは、複数の値を有する場合もある。例えば、プロパティは、x座標値、y座標値、およびz座標値を有してもよい。さらに、プロパティは、複数の、異種の値を有してもよい。例えば、プロパティは、数値および文字列値を有してもよい。したがって、セルに関連付けられたプロパティは、例えば、セルにおけるデバイスのデバイスカウントであってもよい数値を有することができ、一方で、文字列値は、例えば、セルのライブラリソースを識別するモデル名であってもよい。当然、複数の異種の値を有するプロパティは、上述の値タイプのあらゆる組み合わせ(例えば、1つ以上の一定値、1つ以上のベクトル値、1つ以上の動的値、1つ以上の代替値、1つ以上の単純値、1つ以上の複合値、1つ以上の代替値、1つ以上の文字列値、等)を含む、値タイプのあらゆる組み合わせを含むことができる。
さらに、プロパティの値の数は、動的に変化させてもよい。例えば、プロパティKは、電子設計自動化プロセスが実行される前に、値「a」および「b」(すなわち、プロパティK=a、b)を有してもよい。電子設計自動化プロセスは、その後、プロパティを、第3の値「c」を含むように(すなわち、プロパティKの値=a、b、c)変更してもよい。当然、電子設計自動化プロセスはまた、代替的に、または付加的にプロパティKの値を、1つ以上の完全に異なる値(例えば、プロパティKの値=d、e、f)に変更してもよい。さらに、本発明のいくつかの実装では、ある時点でのプロパティの値は、その前の時点でのプロパティの値に依存してもよい。例えば、時間tでのプロパティQの値は、時間tでのプロパティQの値から導出してもよい。当然、一定値、および単純関数、複合関数、または代替的な可変関数に基づいて生成された値に加えて、プロパティの値を所望の定義に従って規定することができる。例えば、単一または代替的な数学関数に加えて、プロパティの値は、一連の一定値、可変関数、またはそれらのいくつかの組み合わせであってもよい。しかしながら、上述のようにスクリプト言語を使用することによって、プロパティ値を、電子設計自動化プロセス中に、動的に生成することができるものと理解されたい。
すなわち、スクリプト言語を使用してプロパティ値の定義を規定することによって、電子設計自動化プロセス中に設計が解析された時の定義に基づいて、実際のプロパティ値を生成することができる。設計におけるデータが変更された場合、プロパティ値は、設計者からのさらなる入力を必要とせずに、自動的に再計算される。したがって、スクリプト言語を使用することによって、設計者または他のユーザは、必要に応じてプロパティを展開して、それらの値を決定することができる。また、第三者が新しい分析技術および方法を展開し、その後、電子設計自動化ツールのユーザが、第三者によって展開されたスクリプトを使用して、それらの新しい手法および方法とともに使用するためのプロパティ値を生成することができるスクリプトを定義できるように、柔軟性を提供することもできる。
上述のように、プロパティは、設計におけるあらゆる所望の種類の設計対象に関連付けてもよい。したがって、多角形、辺、または辺対等のレイアウト設計における単一の幾何学的要素に加えて、プロパティも、レイアウト設計における一群の1つ以上の設計対象に関連付けることができる。例えば、プロパティは、レイアウト設計における一群の多角形または階層的セル(それら自体を、一まとめに単一の設計対象とみなしてもよい)に関連付けてもよい。また、プロパティは、1つ以上の設計対象の全カテゴリに関連付けてもよい。例えば、プロパティは、設計におけるあらゆるセル、または設計内に生じる幾何学的要素の種類のあらゆるインスタンス等の、設計層における設計対象の種類のあらゆる発生に関連付けてもよい。プロパティはまた、具体的には、設計におけるセルの特定の配置に関連付けてもよい。レイアウト設計における設計対象に加えて、プロパティはまた、論理設計等の他の種類の設計における設計対象に関連付けてもよい。したがって、プロパティは、ネット、デバイス、接続ピンのインスタンス、さらには設計におけるセルの配置等の、論理設計におけるあらゆる所望の対象に関連付けてもよい。
また、本発明の種々の実施形態では、一方の設計対象に関連付けられたプロパティを、他方の設計対象にも関連付けることができるものと理解されたい。さらに、プロパティの値は、プロパティが関連付けられた設計対象とは異なる設計対象を含む、あらゆる所望の設計対象のための幾何学的または論理データを使用して計算してもよい。本発明のいくつかの実装では、プロパティの値は、複数の設計データ層からの、1つ以上の設計対象の幾何学的または論理データを使用して計算してもよい。例えば、設計者は、レイアウト設計におけるあらゆる規定辺対を含む「対」という名称の設計層、およびレイアウト設計における規定辺を含む「辺」という名称の別の設計層を規定してもよい。設計者は、次いで、辺層における各辺のためのプロパティZを次のように定義することができる。
Z=AREA(METAL1)/LENGTH(EDGE)+EW(PAIR)
式中、AREAは、辺に関連する1つ以上の多角形の面積であり、LENGTHは、辺の長さであり、EWは、辺に関連する辺対の辺間の幅である。したがって、辺に対するプロパティZの値は、辺に関する他の何らかの多角形の面積に依存する。
本発明のいくつかの実装では、種々のアルゴリズムを使用して、どの幾何学的要素等の設計対象を、プロパティ定義での使用のために互いに関連付けるのかを定義することができる。例えば、上述のプロパティZの定義は、関連アルゴリズム(relationship algorithm)を使用してもよく、該アルゴリズムは、多角形が、プロパティに関連付けられた辺に接触するかどうかを判断するプロパティ値の多角形を含み、また、1つの辺がプロパティに関連付けられ、第2の辺が、多角形を通じて第1の辺に接続された(すなわち、両方の辺が、空き空間によって分離されるのとは対照的に、同じ多角形の一部である)可動化を判断するプロパティ値の辺対を含む。
当然、あらゆる所望のアルゴリズムを使用して、どの設計対象が、プロパティの値を決定するために互いに関連付けられるのかを判断することができる。例えば、物理的レイアウト設計のための他の可能な関連アルゴリズムは、重なる全ての幾何学的要素、交差する全ての幾何学的要素、触れるか、または互いに接触する幾何学的要素、または別の幾何学的要素の定義した近接度以内にある全ての幾何学的要素を関連付けてもよい。さらに他の関連アルゴリズムでは、1つの幾何学的要素が複数の幾何学的要素に接触している場合、そのアルゴリズムは、接触している幾何学的要素をエラーとして処理するように、または全ての接触している形状を関連付けるように決定することができる。さらに他の関連アルゴリズムは、クリッピングを使用することができ、例えば、第1の幾何学的要素が第2の幾何学的要素と交差する場合、プロパティ値等を決定した時に、第1の幾何学的要素の内側の第2の幾何学的要素の一部だけが使用される。
同様に、種々のアルゴリズムを使用して、論理設計における設計対象を、プロパティ定義での使用のために互いに関連付けることができる。例えば、プロパティ定義は、同じ論理デバイスに属する全ての設計対象、共通のネットを共有する全ての設計対象、または参照識別子を共有する全ての設計対象を、例えば、プロパティが関連付けられた設計対象に関連付けてもよい。当然、さらに他の関連基準を使用して、設計における設計対象を、プロパティ定義での使用のために互いに関連付けることができる。
さらに、第1のプロパティ値を組み込むように第2のプロパティ値を定義することによって、あらゆる設計対象または設計対象群に関連付けられたプロパティ値を、他のあらゆる設計対象または設計対象群に関連付けることができる。例えば、第1の多角形のプロパティは、その多角形の面積であってもよい。次いで、第1の多角形に触れる、または接触する第2の多角形のプロパティを、第1の多角形の面積として定義することができる。このように、第1の多角形に関連付けられたプロパティ値を、第2の多角形に関連付けることができる。したがって、幾何学的要素に関連付けられたプロパティは、その幾何学的要素を組み込んだセルに関連付けることもできる。同様に、幾何学的要素に関連付けられたプロパティは、隣接する幾何学的要素に関連付けることができる。さらに、幾何学的要素のプロパティは、設計における全てのデータ層に関連付けることができる。
本発明の種々の実装では、設計対象プロパティ値に関連付けられたプロパティの値は、プロパティが関連付けられる設計対象の記述とは別である。すなわち、本発明の種々の実施形態では、プロパティの値は、単にプロパティが関連付けられる設計対象の特性ではなく、代わりに、相異なる設計対象自体であるとみなしてもよい。本発明のいくつかの実装によれば、例えば、種々の設計対象のプロパティ値は、アレイ内に格納してもよい。図5は、本発明の種々の実装が使用してもよい、一種のアレイの一実施例を示している。この図に示されるように、アレイ501は、識別子503を記載した列を含む。該図はまた、プロパティGに対するプロパティ値505を有する列、プロパティHに対するプロパティ値505を有する列、およびプロパティIに対するプロパティ値505を有する列も含む。
各識別子503は、プロパティG、H、およびIのそれぞれに関連付けられた設計対象の発生を識別する。図示の実施例では、設計対象は、例えば、階層的物理的レイアウト設計における一種のセルであってもよい。よって、プロパティGの定義は、セルの配置の座標値とすることができ、一方で、プロパティHの定義は、セルが得られたライブラリ、および設計におけるセルのカウントの両方とすることができる。次いで、プロパティIの定義は、製造プロセス中に、セルに記述された構造体が不適切に形成される割合を示すことができる。よって、アレイ501から、例えば、「設計対象8」のセルは、設計におけるx、y座標値40、8に位置し、元々はライブラリ8から取得したものであり、また、設計におけるそのセルの9回目の発生であると判断することができる。また、このセルのプロパティIの値は、製造時に0.000009%の故障率があることを示している。
それぞれを理解するために表形式のアレイを図5に示しているが、本願明細書で使用する場合、「アレイ」という用語は、論理アレイと同様に作用するあらゆる種類のデータ構造を包含することを意図していると理解されたい。したがって、本発明の種々の実装は、例えば、Calibre番号表(Wilsonville、OregonにあるMentor Graphics社から入手できるCalibreファミリのソフトウェアツールとともに使用される)、またはStandard Template Library(STL)のdeque等の構造体を、代替的に、または付加的に使用してもよい。また、図5は、設計対象ごとの単一組のプロパティ値を示しているが、本発明の種々の実装は、複数の識別子を、単一組のプロパティ値に関連付けられることもできるものと理解されたい。この配設は、例えば、1つ以上の設計対象が関連するプロパティに対して同じ値を有する場合のメモリ使用量を低減するのに有用となり得る。また、本発明の種々の実装は、メモリ使用量を節約するように、上書きによってプロパティ値を更新するか、またはメモリにおける以前のプロパティ値を、更新されたプロパティ値と置き換えることができることに留意されたい。
(一方のEDAプロセスから他方のプロセスへのプロパティ値の転送)
本発明の種々の実装によるプロパティの1つの用途は、一方の電子設計自動化プロセスにおいて決定された情報を、他方の電子設計自動化プロセスに、第2の電子設計自動化プロセスが容易に使用できるフォーマットで転送することである。例えば、プロパティを定義および使用して、シミュレーション解析プロセス(光近接効果補正プロセス、エッチングシミュレーション解析プロセス、または平坦化シミュレーション解析プロセス等)から、幾何解析プロセス(設計ルールチェックプロセス、製造性を考慮した設計プロセス、または光学ルールチェックプロセス等)へ、または論理解析プロセス(レイアウト対回路図プロセス、電気的ルールチェックプロセス、または設計論理検証プロセス等)へ情報を転送することができる。同様に、プロパティを使用して、幾何解析プロセスから、シミュレーション解析プロセスまたは論理解析プロセスへ情報を転送するように、または論理解析プロセスから、シミュレーション解析プロセスまたは幾何解析プロセスへ情報を転送することができる。
種々の情報を、一方のEDAプロセスから他方のEDAプロセスへ転送することができる。例えば、1つのEDAプロセスは、動作中に、レイアウト設計における設計対象の歩留まりに関する情報を判断して、設計対象に関連付けたプロパティ値としてその情報を提供することができる。歩留まり情報は、例えば、設計対象が適切に製造されず、したがって、仕様に従って動作しない可能性を含む場合もある。
例えば、図4に戻ると、2つの隣接する平行な配線ラインが不適切に製造され、互いに「ブリッジ」する可能性は、ラインの幅、ライン間の距離、およびラインが隣接する長さに依存する場合もある。上記に詳述したように、プロパティZの値は、辺411に関する1つ以上の多角形の面積、辺411の長さ、および辺409と411との間の幅を考慮することができる。したがって、このプロパティ(またはこれらの特徴を関連付ける類似した定義を有するプロパティ)の値を使用して、ワイヤ409および411が、製造プロセス中に互いにブリッジする可能性を判断することができる。したがって、設計ルールチェックプロセス等の、プロパティZの値を容易に計算することができるEDAプロセスは、ライン409またはライン411に関してプロパティZの値を決定することができる。よって、DFMプロセス等の別のEDAプロセスは、そのプロパティ値を使用して、例えば、ワイヤ409および411が製造プロセス中に互いにブリッジする可能性を判断することができる。
一方のEDAプロセス中に生成して、その後他方のEDAプロセスに提供してもよいさらに他の情報は、故障予測である。故障予測は、例えば、歩留まり情報を特定の設計特微にマップしてもよい。例えば、ビアの歩留まりが低くなる場合、およびその故障によって、製造された回路におけるデバイスが「スタックオープン」となる場合、故障予測情報は、低歩留まりのビアと、デバイスに接続されたネットがスタックオープンになる可能性とを相関させてもよい。一方のEDAプロセス中に生成され、その後、プロパティ情報として他方のEDAプロセスに提供してもよいさらに他の情報は、試験ヒントであり、これは、製造した回路における潜在的故障を強調する試験パターンを提案する。例えば、試験ヒントは、故障予測情報によって識別される潜在的故障を試験する、試験パターンを提案してもよい。また、熱応力による接触の故障等の、製造したデバイスの使用中に生じ得る遅れ故障に対応する、信頼性情報を含んでもよい。一方のEDAプロセスから他方のEDAプロセスへプロパティ情報として伝えることができるさらに他の情報は、信頼性および製造性のメトリックを含む。これらのメトリックは、例えば、プロセスウィンドウ全体の変動、またはフォトレジストが崩壊する可能性等の、特定の故障機構に対する特定の質的な特性としてもよい。
加えて、平坦性情報を、一方のEDAプロセス(平坦化シミュレーション解析プロセス等)から他方のEDAプロセスへ伝えることができる。この種の情報は、例えば、チップ全体の材料の硬度の分布(酸化物は他のいずれよりも硬く、銅は柔らかく、ポリシリコンはその中間である)に基づいて研磨した後に予測される厚さに対して、化学機械研磨のプロセスをシミュレーションする、平坦性モデルを使用して生成される情報を含んでもよい。さらに、放熱情報を一方のEDAプロセスによって決定し、その後プロパティ値の形態で他方のEDAプロセスに提供してもよい。
図6は、EDAプロセスを使用して、プロパティ値を生成して、別のEDAプロセスに提供できることを示すフローチャートである。ステップ601で、第1のEDAプロセスは、設計データを受信する。次に、ステップ603で、第1のEDAプロセスは、設計データを解析し、ステップ605で、プロパティの定義に基づいて、設計データから1つ以上のプロパティ値を生成する。ステップ607で、第1のEDAプロセスは、第2のEDAプロセスによる使用のために、プロパティ値をメモリ格納媒体内に格納する。本発明の種々の実装では、メモリ格納媒体は、プロセッサレジスタ、RAM、磁気メモリ格納ディスク、光格納ディスク、または他のフォーマット等の、あらゆる種類の格納媒体であってもよい。ステップ609で、第2のEDAプロセスは、それ自体の実行に使用するのために、格納されたプロパティ値を取得する。本発明のいくつかの実装では、生成されたプロパティ値は、即時に第2のEDAプロセスへ提供してもよい。この配設では、プロパティ値は、プロセスレジスタ内等の、メモリ内に短期間だけ格納してもよい。しかしながら、さらに他の実装の場合、プロパティ値は、格納媒体内に長期間格納し、プロパティ値が生成されたしばらく後に開始される第2のEDAプロセス内に格納してもよい。
(OPCプロセスからDFMまたはLVSプロセスへのプロパティ値の転送)
EDAプロセス間でのプロパティ交換の一実施例をより詳細に示すために、OPCプロセスから、DFMプロセスまたはLVSプロセスへ情報を転送するためのプロパティの使用を考察する。光近接効果補正(OPC)は、電子設計自動化ツールによって頻繁に提供されるプロセスの一種である。マイクロ回路が、さらに小さい特徴を含めるように発展しているため、現在、多くの回路設計は、リソグラフプロセス中にそれらの特徴を作製するのに使用される光波長よりも小さい特徴を含んでいる。しかしながら、この種のサブ波長イメージングは、リソグラフプロセス中にしばしば歪みを生じさせる。これらの歪みに対処するために、上述のように、補正アルゴリズムを使用して、回路設計の物理的レイアウトを変更する。このプロセスは、通常、光近接効果補正(OPC)と呼ばれる。したがって、本願明細書で使用する場合、光近接効果補正という用語は、リソグラフプロセス中にレイアウトの再現精度を改善するための、回路設計の物理的レイアウトの変更を含む。しかしながら、加えて、光近接効果補正という用語はまた、本願明細書で使用する場合、例えば急激な近接度の移行時の独立した単一および/または複数の特徴の印刷に対する、リソグラフプロセスの堅固性を改善するための、物理的レイアウト設計の変更も含む。
光近接効果補正中に、物理的レイアウトの多角形の辺は、小さい断片に分割される。これらの断片は、その後移動され、追加的な小さい多角形が、物理的レイアウトの戦略的な場所に加えられる場合もある。リスグラフプロセスは、次いで、変更または「補正」されたレイアウトによって作製される画像が、レイアウト画像に対する以前の変更によって作成される画像よりも改善されているかどうかを判断するようにシミュレーションが行われる。このプロセスは、その後、シミュレーションおよび検証ツールが、実際のリソグラフプロセス中に満足な画像解像度をもたらす、変更されたレイアウトを生成するまで反復的に繰り返される。
一般的に、光近接効果補正手法は、ルールベースか、またはモデルベースのいずれかに分類される。ルールベースの光近接効果補正では、レイアウト変更は、特定のルールに基づいて生成される。例えば、小さいセリフを、レイアウトにおける各凸状の(すなわち、外方を指す)90°コーナ部に加えてもよい。モデルベースの光近接効果補正は、概して、ルールベースの光近接効果補正よりもかなり複雑である。モデルベースの光近接効果補正では、試験レイアウトから取得したリソグラフプロセスデータを使用して、リソグラフパターン形成動作の数学モデルを作製する。適切なモデルを使用することで、シミュレーションおよび検証ツールは、次いで、リソグラフプロセス中に補正レイアウトによって作製される画像を計算する。補正が行われるレイアウト特徴は、その後、レイアウトのための画像(モデルを使用して計算したもの)が所望のレイアウト画像に十分近づくまで、反復的に操作される。したがって、いくつかのモデルベースの光近接効果補正アルゴリズムは、辺およびコーナ部に対する、予めシミュレーションを行った結果の加重和を計算することによって、複数のリソグラフプロセス効果のシミュレーションが必要になる場合がある。光近接効果補正アルゴリズムの一実施例は、1998年にUniversity of California、BarkeleyのNick Cobbによる、「Fast Optical Process And Proximity Correction Algorithms for Integrated Circuit Manufacturing」(博士論文)に記載されている。
当業者には明らかなように、ルールベースの光近接効果補正プロセスを実行することで、デザインルールチェックを実行するよりも計算的に集約されたものとなり、また、モデルベースの光近接効果補正を実行することでさらにそのようになる。さらに、光近接効果補正プロセスに必要な計算が、通常は、設計ルールチェックプロセスに使用される計算よりも高度なものとなる。シミュレーションを行ったリソグラフ画像の取得は、例えば、異なる角度に配設された複数の別個のコヒーレント光源として、リソグラフ光源のモデル化を伴う場合もある。リソグラフプロセスにおいて使用されるレンズの動作をモデル化するように、このようなコヒーレント光源ごとに、高速フーリエ変換(FFT)を計算することによって、シミュレーションを行った画像が得られる。これらのシミュレーションを行った画像は、その後合計して、リソグラフプロセスによって生成される画像を取得する。
したがって、OPCプロセスは、DFMまたはLVSプロセスとは異なるデータ「解像度」を使用することになる。例えば、トランジスタゲートを表現する単純な長方形の多角形の解析では、OPCプロセスは、その長方形の多角形を、おそらく数百万の辺を有する輪郭を形成した多角形に変換する場合もある。したがって、OPCプロセスは、一般的に、(1)比較的大きい多角形をかなりの数の(例えば、百万の)比較的小さい多角形に分割し、(2)解析されるデータの階層的構造体を無視する必要があり得る、大規模な並列演算を実行することになる。その結果、OPCプロセスによって生成された情報は、一般的に、それぞれが通常は元の設計における比較的大きい多角形について計算を実行する、DFMまたはLVSプロセスとは互換性が無く、設計における階層的配列を使用してそれらの計算を実行することによって大きな利益が得られる。
例えば、トランジスタゲートを表現する長方形の多角形では、OPCプロセスは、リソグラフ製造プロセスにおいて回折が生じた後に、ゲートの形状の実際の細部を表現する、輪郭がはっきりと形成された多角形を生成する。これに反して、LVSプロセスは、デバイスを特徴付けるのに、全幅およびゲートの長さしか必要としない。したがって、LVSプロセスは、OPCプロセスによって計算した輪郭を形成したゲート形状の幅を平均する方程式を使用してもよく、その後、この平均値をLVSによって使用してデバイスを特徴付ける。しかしながら、この平均幅値を計算するために、LVSプロセスは、一般的に、OPCプロセスから詳細な輪郭情報を取得しなければならないが、それは望ましくない。本発明の種々の実施例では、これらの平均幅値は、OPCによって容易に計算することができ、その結果は、プロパティ値として元のゲート多角形に添付される。よって、OPCプロセスによって効率的に計算された、これらのプロパティ値を、LVSプロセスに渡すことができる。その結果、LVSプロセスは、受信したプロパティ値を使用してデバイスを識別するように構成することができる。このように、各プロセスは、設計データを処理するためのその最適なモードで動作することができる。
当業者には明らかなように、プロパティによるOPCプロセスからDFMプロセスへの情報の転送は類似しているが、広範囲の情報をDFMプロセスにおいて解析できるという点において、より一般的なものとなり得る。例えば、DFMプロセスは、ワイヤに対する「プルバック」値(ワイヤが、製造プロセスにおける回折によって、伸び縮みする量)に基づいて、ワイヤに対する故障確率計算を実行することを望む場合もある。一般的に、DFMプロセスは、この種の値を容易に計算することができない。しかしながら、本発明の種々の実施例では、OPCプロセスは、ワイヤに対するプルバック値を計算し、次いで、この値を、プロパティ値として、OPC解析が実行された単純なレイアウトの多角形に添付することができる。DFMプロセスは、続いて、このプルバック値を使用して、対応する計算を増加させることを必要とせずに、DFMプロセスの結果の精度を改善することができる。
プルバック情報に加えて、OPCプロセスは、1つ以上のプロパティ値として、さらに他の種類の輪郭情報を判断し、それらのプロパティ値をLVSまたはDFMプロセスへ渡してもよい。例えば、OPCプロセスは、ゲート変動、接触安定性、相互結合変動、ブリッジング等を記述するプロパティ値を生成してもよい。次いで、これらのプロパティ値をLVSまたはDFMプロセスに提供することによって、LVSまたはDFMプロセスは、その後、それ自体の演算中に、情報の再計算を必要とせずに、これらの値を使用することができる。
一方の電子設計自動化プロセスから他方の電子設計自動化プロセスへ情報を転送するようにプロパティを使用するさらに別の実施例は、変動バンドの決定に関する。プロセス変動バンドは、2005年11月10日に公開の、米国特許公開第20050251771号、名称「Integrated Circuit Layout Design Methodology With Process Variation Bands」、発明者Juan Andres Torres Robles、に詳述されており、その公開物は、参照することにより本願明細書にその全体が援用される。プロセス変動バンドは、OPCプロセスによって計算することができる。プロセス変動バンドは、製造プロセス中の異なるプロセス条件によって生じた回折に起因し得る、レイアウト設計における多角形によって生成される、可能な形状変動の範囲を表現する。プロセス変動バンドの結果は、次いで、DFMプロセスにおけるその後の使用のために、対応する多角形に添付することができる。例えば、多角形は、計算された幾何学的値(例えば、0.1のバンド偏差)、およびそれらの幾何学的値が計算された(例えば、1%の焦点ずれに対して0.1のバンド偏差が計算された)パラメータの両方を含むことができる、関連するプロパティ値を有してもよい。
OPCプロセスによって提供された、このプロパティ情報は、次いで、あらゆる所望の態様で、DFMプロセスによって使用することができる。例えば、DFMは、元のレイアウト設計における単純な多角形を使用して、ブリッジング不良の初期チェックを行うことができる。DFMプロセスが、不良の可能性があると判断した場合、DFMプロセスは、関連するプロパティ値として提供されたプロセス変動バンド値をチェックして、不良が生じるかどうか(または不良が生じ得る可能性)を、より高い精度で計算することができる。さらに、DFMプロセスは、隣接するライン上の2つの隣接する「マーカ」間にある故障面積を、代替的に、または付加的に判断することができる。OPCプロセスからプロパティ値として渡されたプロセス変動情報を使用することで、DFMプロセスは、次いで、プロセス変動領域と、不良領域との重なりを(例えば、単純な比率として)表現する、プロセス変動率を決定することができる。このプロセス変動率に基づいて、DFMプロセスは、関連するブリッジ領域で生じる不良の可能性を判断することができる。ワイヤ内のマーカごとに、プロセス変動率の値(それら自体を、プロパティ値として記録することができる)を加算することによって、DFM値は、例えば、不良が生じる可能性が最も高い設計におけるワイヤを識別する、またはワイヤに不良が生じる可能性が最も高いマーカ領域を識別する、等を行うことができる。
上述のように、本発明の種々の実施例を、以降の電子設計自動化プロセスでのOPCプロセス中に生成される、プロパティ値の使用に関して説明した。しかしながら、プロパティ値の使用は、OPCプロセス中に生成されたものだけに限定されないものと理解されたい。本発明の他の実装は、例えば、他の以降の電子設計自動化プロセスでの光学関連の電子設計自動化プロセスによって生成されるプロパティ値を使用してもよい。例えば、本発明のいくつかの実装は、同様に、以降の電子設計自動化プロセスで、光近接ルールチェック(ORC)プロセスまたは位相シフトマスク(PSM)プロセス中に生成されるプロパティ値を使用してもよい。
(DFMプロセスおよびLVSプロセス間のプロパティ値の転送)
さらに、プロパティは、DFMプロセスからLVSプロセスへ情報を転送するように、本発明の種々の実施例に従って使用してもよい。LVSプロセスは、一般的に、デバイス識別のソースとして、デバイス内の基本的な多角形から始めることによって、デバイスを識別または特徴付けて、次いで、設計における多角形のそれぞれの接触または重なりを解析してデバイスの程度を判断する。その結果、LVSプロセスは、一般的に、デバイスとは別である多角形を、デバイスの識別解析の一部とみなすことができない。しかしながら、デザインにおけるデバイスを正確に特徴付けるために、LVSプロセスは、LVSプロセスが、通常、デバイスに関するものとして認識するものの外側にある幾何学的特徴の測定値の使用が必要となる場合もある。
トランジスタ等の歪みシリコンを使用したデバイスの動作を特徴付けるために、LVSプロセスは、シリコンによってトランジスタゲートに印加された応力の量を使用してもよい。この判断を行うために、LVSプロセスは、歪みシリコン材料と、隣接するが別個のデバイス(例えばワイヤ)内に形成された孔との間の距離を知っておかなければならない。しかしながら、LVSプロセスは、隣接するデバイスに関する特徴を測定することができないので、歪みシリコンデバイスを正確に特徴付けることができない場合もある。しかしながら、本発明の種々の実施例では、DFMプロセスは、歪みシリコンデバイスと、隣接するワイヤ内の孔との間の距離を測定することができる。よって、DFMプロセスは、歪みシリコンデバイスのゲートを表現する多角形に関連付けられたプロパティ値として、これらの測定を記録することができる。よって、LVSプロセスは、続いて、これらのプロパティを使用して、隣接するデバイスのいかなる解析も必要とせずに、歪みシリコンデバイスの動作を特徴付けることができる。したがって、LVSプロセスがデバイスの境界の外側の一部の情報を有するのに有用となり、この外部情報は、本発明の種々の実装に従って、プロパティ値を使用して別のプロセスによってLVSプロセスに提供することができる。
さらに、プロパティ値は、LVSプロセスからDFMプロセスへ渡すことができる。例えば、LVSプロセスは、高電流MOSトランジスタのゲートを表現する設計における多角形を識別することができ、よって、それらを高電流MOSトランジスタとして識別するこれらの多角形に対するプロパティ値を(例えばそれを高電流MOSとして識別するゲートに対する電流負荷の数値を有するプロパティとして、または「高電流MOS」という文字列値を有するプロパティとして、等)記録することができる。これらのプロパティ値は、その後DFMプロセスへ返すことができる。DFMプロセスは、次いで、フィルタを使用して高電流MOS構造体を識別し、フィルタを通じて識別されたそれらの構造体に求められるどのような動作も実行することができる。
さらに、プロパティを使用して、一方の種類の設計である設計対象から、他方の種類の設計である別の設計対象へ、情報を転送することができる。例えば、LVSプロセスは、トランジスタのキャパシタンス等の、設計における設計対象の動作特性を判断することができる。LVSプロセスは、次いで、これらの動作特性をデータ構造に関連付けられたプロパティ値として格納し、これらのプロパティ値を、例えば論理設計における、対応するデータ構造に提供することができる。同様に、DFMプロセスは、PEX(parasitic extraction:寄生抽出)プロセスを使用して、例えばキャパシタンスを計算することができ、その後、レイアウト設計または概略設計におけるプロパティとして使用することができる。
(EDAプロセス内でのプロパティの転送)
本発明の種々の実装に従って使用してもよいプロパティの別の用途は、電子設計自動化プロセスの第2の部分によって容易に使用できるフォーマットで、電子設計自動化プロセスの一方の部分から、その電子設計自動化プロセスの他方の部分へ情報を転送することである。この場合も、歩留まり情報、故障予測情報、および試験ヒント等の種々の情報は、プロパティ値を使用して、単一のEDAプロセス内で転送することができる。また、信頼性情報、信頼性および製造性メトリック、平坦性情報、および放熱情報を含んでもよい。
図7は、EDAプロセスの第1の部分を使用して、プロパティ値を生成して、EDAプロセスの第2の部分に提供することができることを示すフローチャートである。ステップ701で、EDAプロセスの第1の部分は、設計データを受信する。次に、ステップ703で、EDAプロセスの第1の部分は、設計データを解析し、ステップ705で、プロパティの定義に基づいて、設計データから1つ以上のプロパティ値を生成する。ステップ707で、EDAプロセスの第1の部分は、EDAプロセスの第2の部分による使用のために、プロパティ値をメモリ格納媒体内に格納する。本発明の種々の実装では、メモリ格納媒体は、プロセッサレジスタ、RAM、磁気メモリ格納ディスク、光格納ディスクまたは他のフォーマット等の、あらゆる種類の格納媒体であってもよい。ステップ709で、EDAプロセスの第2の部分は、それ自体の実行に使用するために、格納されたプロパティ値を取得する。本発明のいくつかの実装では、生成されたプロパティ値は、即時にEDAプロセスの第2の部分に提供してもよい。この配設では、プロパティ値は、プロセスレジスタ内等の、メモリ内に短期間だけ格納してもよい。しかしながら、さらに他の実装の場合、プロパティ値は、格納媒体内に長期間格納し、プロパティ値が生成されたしばらく後に開始されるEDAプロセスの第2の部分内に格納してもよい。
(DFMプロセス内でのプロパティの転送)
この場合も、単一のEDAプロセス内でのプロパティの交換の一実施例をより詳細に示すために、DFMプロセス内で情報を転送するためのプロパティの使用を考察する。DFMプロセスの異なる機能は、異なるレベルのデータ「解像度」を使用することができる。DFMプロセスは、回路全体の高レベルの製造歩留まりを提供することができるが、これは、幾何学的要素の特定の組み合わせのための詳細な情報を使用した、不良の可能性とは異なるデータ解像度を有することになる。したがって、DFMプロセスは、個々の幾何学的要素の不良情報を計算して、この不良情報を、設計者が歩留まりの可能性のより広範囲の解析を実行したい時に使用するために、プロパティ値として高レベルの設計対象(例えば、ネットまたはセル)に添付する。
さらに、DFMプロセスは、ビアが故障を形成しないようにビアを2倍する等の、強化度を計算することができる。ビアを2倍にすることによって、例えば、第2のビアを、元のビアに対する4つの可能な場所のうちの1つ(すなわち、上、下、左、または右)に配置することができる。DFMプロセスは、全ての可能な選択肢を計算し、選択肢ごとの特性(例えば、キャパシタンスの変化)を決定し、決定した特性をプロパティ値として保存することができる。次いで、所望の使用に適合する最適な選択肢の選択を決定するように、プロパティを使用して種々の選択肢の組み合わせを生成することができる。また、プロパティ値を使用して、プロセスパラメータに基づいて各要素による潜在的損失を決定すること、およびプロセスの改善がどのくらいの歩留まり改善をもたらすのかを判断することができる。
(結論)
本発明を、本発明の実行に現在好適である方法を含む、特定の実施例に関して説明したが、当業者は、上述のシステムおよび手法には多数の変形例および置換例があり、それらは、添付の特許請求の範囲に記載の本発明の精神と範囲に含まれるものと理解されよう。例えば、上記では電子設計自動化プロセスを指すように特定の用語を使用したが、本発明の種々の実施例は、電子設計自動化プロセスのあらゆる所望の組み合わせを使用して実装してもよいものと理解されたい。
したがって、「製造性を考慮した設計」プロセスとの使用に加えて、本発明の種々の実施例は、「チップクリーニング」および「設計クリーニング」電子設計自動化プロセス等を含む、「歩留まりを考慮した設計」(DFY)電子設計自動化プロセス、「歩留まり支援」電子設計自動化プロセス、「リソグラフに適した設計」(LFD)電子設計自動化プロセスとともに使用することができる。同様に、「設計ルールチェック」電子設計自動化プロセスとの使用に加えて、本発明の種々の実装は、「物理的検証」電子設計自動化プロセスとともに使用してもよい。また、OPCおよびORC電子設計自動化プロセスとの使用に加えて、本発明の種々の実装は、あらゆる種類の解像度向上電子設計自動化プロセスとともに使用してもよい。

Claims (87)

  1. 回路設計を解析する方法であって、
    電子設計自動化プロセス内に回路設計を受容することと、
    該回路設計を使用して該電子設計自動化プロセスを実行することと、
    該電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
    該プロパティ値をメモリ格納媒体に格納することと
    を含む、方法。
  2. 前記設計対象は、多角形の辺、多角形の1つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項1に記載の方法。
  3. 前記設計対象は、一群の多角形の辺、一群の多角形、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および前記レイアウト設計の層における前記幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における幾何学的要素の集合体である、請求項2に記載の方法。
  4. 前記設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項2に記載の方法。
  5. 前記プロパティ値は、前記プロパティが関連付けられた前記設計対象の記述とは別である、請求項1に記載の方法。
  6. 前記プロパティは、一定値を有する、請求項1に記載の方法。
  7. 前記プロパティは、可変関数を含む値定義を有する、請求項1に記載の方法。
  8. 前記可変関数は、前記回路設計に幾何学的データを組み込む、請求項7に記載の方法。
  9. 前記可変関数は、プログラムスクリプトに記述される、請求項7に記載の方法。
  10. 前記プロパティは、ベクトルを含む値を有する、請求項1に記載の方法。
  11. 前記プロパティは、一連の値を含む値を有する、請求項1に記載の方法。
  12. 前記プロパティは、第2のプロパティを組み込む複合値を有する、請求項1に記載の方法。
  13. 前記プロパティは、第1の組の条件下で前記プロパティの第1の値を定義し、該第1の組の条件とは異なる第2の組の条件下で該プロパティの第2の値を定義する、代替値定義を有する、請求項1に記載の方法。
  14. 前記プロパティは、文字列を含む値を有する、請求項1に記載の方法。
  15. 前記プロパティは、2つ以上の並列値を有する、請求項1に記載の方法。
  16. 前記2つ以上の並列プロパティ値は、異種である、請求項15に記載の方法。
  17. 前記2つ以上の並列プロパティ値は、座標値である、請求項15に記載の方法。
  18. 前記電子設計自動化プロセスを実行している間に、前記プロパティを、前記回路設計における第2の設計対象と関連付けることをさらに含む、請求項1に記載の方法。
  19. 前記電子設計自動化プロセスを実行している間に、
    前記プロパティに対する少なくとも1つの値定義を加えることと、
    前記プロパティの各値定義の値を決定することと
    をさらに含む、請求項1に記載の方法。
  20. 前記電子設計自動化プロセスを実行している間に、第2のプロパティの値を決定することをさらに含み、前記第2のプロパティは、前記回路設計における異なる設計対象に関連付けられる、請求項1に記載の方法。
  21. 前記電子設計自動化プロセスを実行している間に、前記プロパティの以前に決定した値を、該プロパティの新たに決定した値と置き換えることをさらに含む、請求項1に記載の方法。
  22. 前記プロパティの前記以前に決定した値から、該プロパティの前記新たに決定した値を導出することをさらに含む、請求項21に記載の方法。
  23. 前記プロパティの新たに決定した値を、該プロパティの前記以前に決定した値が格納された、メモリ格納媒体内の場所に格納することをさらに含む、請求項21に記載の方法。
  24. 電子設計自動化プロセス内に回路設計を受容することと、
    該回路設計を使用して該電子設計自動化プロセスを実行することと、
    該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第1の設計対象に関連付けられ、該第1の設計対象とは異なる少なくとも1つの第2の設計対象の特徴から導出された値を有する、ことと
    該プロパティ値をメモリ格納媒体内に格納することと
    を含む、回路設計を解析する方法。
  25. 前記第1の設計対象は、多角形の辺、多角形の1つ以上の頂点、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項24に記載の方法。
  26. 前記第1の設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項25に記載の方法。
  27. 前記第1の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項25に記載の方法。
  28. 前記第2の設計対象は、多角形の辺、多角形の1つ以上の頂点、多角形、レイアウト回路設計における幾何学的要素の集合体、レイアウト回路設計における階層的セルの配置、および論理回路設計におけるアイテムから成る群より選択される、請求項24に記載の方法。
  29. 前記第2の設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、該レイアウト設計における特定の種類のあらゆる階層的セル、および該レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項28に記載の方法。
  30. 前記第2の設計対象は、ネット、デバイス、およびインスタンスピンから成る群より選択される、論理回路設計におけるアイテムである、請求項28に記載の方法。
  31. 前記特徴は、前記少なくとも1つの第2の設計対象の特性である、請求項24に記載の方法。
  32. 前記特徴は、前記少なくとも1つの第2の設計対象に関連付けられた第2のプロパティの値である、請求項24に記載の方法。
  33. 前記少なくとも1つの第2の設計対象は、前記プロパティが関連付けられた前記設計対象に接触する幾何学的要素、該プロパティが関連付けられた該設計対象と交差する幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象の特定の近接度以内にあるか、または別の関連設計対象の特定の近接度以内にある幾何学的要素、該プロパティが関連付けられた該設計対象に重なる幾何学的要素、該プロパティが関連付けられた該設計対象によってクリップされる幾何学的要素の各部分、該設計対象と同じデバイスに属する論理回路設計におけるアイテム、該設計対象とネットを共有する論理回路設計におけるアイテム、および該設計対象と参照識別子を共有する論理回路設計におけるアイテムから成る群より選択される、請求項24に記載の方法。
  34. 前記プロパティは、可変関数を含む値定義を有する、請求項24に記載の方法。
  35. 前記可変関数は、プログラムスクリプトに記述される、請求項34に記載の方法。
  36. 前記プロパティは、第1の組の条件下で第1の値を、および該第1の組の条件とは異なる第2の組の条件下で第2の値を決定する、代替値定義を有し、該第1の値および該第2の値のうちの少なくとも1つは、前記少なくとも1つの第2の設計対象の前記特徴から導出される、請求項24に記載の方法。
  37. 前記プロパティは、2つ以上の並列値定義を有し、前記値定義のうちの少なくとも1つは、前記少なくとも1つの第2の設計対象の前記特徴を使用する、請求項24に記載の方法。
  38. 前記特徴は、前記少なくとも1つの第2の設計対象の特性である、請求項37に記載の方法。
  39. 前記特徴は、前記少なくとも1つの第2の設計対象に関連付けられた第2のプロパティの値である、請求項37に記載の方法。
  40. 前記電子設計自動化プロセスを実行している間に、前記プロパティに対する少なくとも1つの値定義を加えることであって、前記値定義は、前記少なくとも1つの第2の設計対象の前記特徴を使用する、ことと、
    該プロパティの各値定義の値を決定することと
    をさらに含む、請求項24に記載の方法。
  41. 前記特徴は、前記少なくとも1つの第2の設計対象の特性である、請求項24に記載の方法。
  42. 前記特徴は、前記少なくとも1つの第2の設計対象に関連付けられた第2のプロパティの値である、請求項21に記載の方法。
  43. 電子設計自動化プロセス内に回路設計を受容することと、
    該回路設計を使用して該電子設計自動化プロセスを実行することと、
    該電子設計自動化プロセスを実行している間に、プロパティの値を決定することであって、該プロパティは、該回路設計における第1の設計対象に関連付けられ、該プロパティが関連付けられた該設計対象とは別の幾何学的要素から導出された値を有する、ことと
    を含む、回路設計を解析する方法。
  44. 第1の電子設計自動化プロセスで回路設計を受容することと、
    該回路設計を使用して該第1の電子設計自動化プロセスを実行することと、
    該第1の電子設計自動化プロセスを実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
    第2の電子設計自動化プロセスによる使用のために、該プロパティ値をメモリ格納媒体内に格納することと
    を含む、回路設計を解析する方法。
  45. 前記プロパティ値は、前記第2の電子設計自動化プロセスによる以降の使用のために、メモリ格納媒体に出力される、請求項44に記載の方法。
  46. 前記プロパティ値は、前記第2の電子設計自動化プロセスに直接出力される、請求項44に記載の方法。
  47. 前記プロパティ値を使用して前記第2の電子設計自動化プロセスを実行することをさらに含む、請求項44に記載の方法。
  48. 前記プロパティ値を使用して前記第2の電子設計自動化プロセスを実行した結果に基づいて、回路を製造することをさらに含む、請求項47に記載の方法。
  49. 前記第1の電子設計自動化プロセスを実行している間に、前記回路設計における第2の設計対象に関連付けられた第2のプロパティの少なくとも1つの値を決定することと、
    前記第1のプロパティ値とともに該第2のプロパティ値を、前記第2の電子設計自動化プロセスへ出力することと
    をさらに含む、請求項44に記載の方法。
  50. 前記第1の電子設計自動化プロセスは、シミュレーション解析プロセスであり、
    前記第2の電子設計自動化プロセスは、幾何解析プロセスまたは論理解析プロセスである、請求項44に記載の方法。
  51. 前記シミュレーション解析プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、請求項50に記載の方法。
  52. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項51に記載の方法。
  53. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドの記述として、該プロパティ値を決定することをさらに含む、請求項51に記載の方法。
  54. 前記第2の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項50に記載の方法。
  55. 前記第2の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
    前記少なくとも1つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項50に記載の方法。
  56. 前記第2の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項50に記載の方法。
  57. 前記第1の電子設計自動化プロセスは、論理解析プロセスであり、
    前記第2の電子設計自動化プロセスは、シミュレーション解析プロセスまたは幾何解析プロセスである、請求項44に記載の方法。
  58. 前記第1の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項57に記載の方法。
  59. 前記第1の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
    前記少なくとも1つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項58に記載の方法。
  60. 前記第2の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセス、から成る群より選択される、シミュレーション解析プロセスである、請求項57に記載の方法。
  61. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項60に記載の方法。
  62. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項60に記載の方法。
  63. 前記第2の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項57に記載の方法。
  64. 前記第1の電子設計自動化プロセスは、幾何解析プロセスであり、
    前記第2の電子設計自動化プロセスは、シミュレーション解析プロセスまたは論理解析プロセスである、請求項44に記載の方法。
  65. 前記第1の電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項64に記載の方法。
  66. 前記第2の電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、請求項64に記載の方法。
  67. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項66に記載の方法。
  68. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項66に記載の方法。
  69. 前記第2の電子設計自動化プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項64に記載の方法。
  70. 前記第2の電子設計自動化プロセスは、レイアウト対回路図プロセスであり、
    前記少なくとも1つのプロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項64に記載の方法。
  71. 電子設計自動化プロセスで回路設計を受容することと、
    該電子設計自動化プロセスの第1の部分を実行することと、
    該電子設計自動化プロセスの該第1の部分を実行している間に、該回路設計における設計対象に関連付けられたプロパティの値を決定することと、
    該電子設計自動化プロセスの第2の部分による使用のために、該プロパティ値をメモリ格納媒体内に格納することと
    を含む、回路設計を解析する方法。
  72. 前記プロパティ値を使用して前記電子設計自動化プロセスの前記第2の部分を実行することをさらに含む、請求項71に記載の方法。
  73. 前記プロパティ値を使用して前記電子設計自動化プロセスの前記第2の部分を実行した結果に基づいて、回路を製造することをさらに含む、請求項72に記載の方法。
  74. 前記電子設計自動化プロセスは、幾何解析プロセス、シミュレーション解析プロセス、および論理解析プロセスから成る群より選択される、請求項71に記載の方法。
  75. 前記電子設計自動化プロセスは、製造性を考慮した設計プロセスおよび設計ルールチェックプロセスから成る群より選択される、幾何解析プロセスである、請求項74に記載の方法。
  76. 前記電子設計自動化プロセスは、光近接効果補正プロセス、エッチングシミュレーション解析プロセス、および平坦化シミュレーション解析プロセスから成る群より選択される、シミュレーション解析プロセスである、請求項74に記載の方法。
  77. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    輪郭情報、プルバック情報、ピンチング情報、ブリッジング情報、ゲート変動情報、接触安定性情報、および相互接続変動情報から成る群より選択される、該光近接効果補正によって導出された情報を記述するように、前記プロパティ値を決定することをさらに含む、請求項76に記載の方法。
  78. 前記シミュレーション解析プロセスは、光近接効果補正プロセスであり、
    前記プロパティが関連付けられた前記設計対象に関連する該光近接効果補正プロセスによって導出されたプロセス変動バンドを記述するように、該プロパティ値を決定することをさらに含む、請求項76に記載の方法。
  79. 前記電子設計自動化プロセスは、論理解析プロセスである、請求項74に記載の方法。
  80. 前記論理解析プロセスは、レイアウト対回路図プロセス、電気的ルールチェックプロセス、および設計論理検証プロセスから成る群より選択される、論理解析プロセスである、請求項79に記載の方法。
  81. 前記論理解析プロセスは、レイアウト対回路図プロセスであり、
    前記プロパティ値は、該プロパティが関連付けられた前記設計対象によって表現される電子デバイスの動作特性に関連する、請求項79に記載の方法。
  82. 多角形の辺、レイアウト設計における幾何学的要素の集合体、および論理回路設計におけるアイテムから成る群より選択される、設計対象を記述するデータと、
    該設計対象に関連付けられたプロパティの値を定義するデータと
    を備える、データ構造。
  83. 前記設計対象は、一群の多角形の辺、一群の多角形、ネット、前記レイアウト設計における階層的セル、レイアウト設計における特定の種類のあらゆる階層的セル、および前記レイアウト設計の層における幾何学的要素の全ての集合体から成る群より選択される、レイアウト設計における該幾何学的要素の集合体である、請求項1に記載のデータ構造。
  84. 前記設計対象を記述する前記データ、および前記設計対象に関連付けられた前記少なくとも1つのプロパティの前記値を定義する前記データは、テーブル内に配設される、請求項1に記載のデータ構造。
  85. 前記データは、前記プロパティの複数の並列値を定義する、請求項1に記載のデータ構造。
  86. 前記プロパティの前記複数の並列値は、アレイ内に格納される、請求項85に記載のデータ構造。
  87. 前記プロパティに関連付けられた参照カウントデータであって、前記第1の設計対象に加えて、前記プロパティを少なくとも1つの第2の設計対象に関連付ける、参照カウントデータをさらに備える、請求項1に記載のデータ構造。
JP2009532543A 2006-10-09 2007-10-09 電子設計自動化における特性 Pending JP2010506336A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85071606P 2006-10-09 2006-10-09
PCT/US2007/080860 WO2008045900A1 (en) 2006-10-09 2007-10-09 Properties in electronic design automation

Publications (1)

Publication Number Publication Date
JP2010506336A true JP2010506336A (ja) 2010-02-25

Family

ID=39124584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009532543A Pending JP2010506336A (ja) 2006-10-09 2007-10-09 電子設計自動化における特性

Country Status (5)

Country Link
US (4) US20080115096A1 (ja)
EP (1) EP2080130A1 (ja)
JP (1) JP2010506336A (ja)
CN (1) CN101542488A (ja)
WO (1) WO2008045900A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092470A (ja) * 2008-09-30 2010-04-22 Cadence Design Systems Inc 電子回路デザインのさまざまな段階中にコンパクトな製造モデルを実行するための、機械によって実行される方法
KR20150110563A (ko) * 2013-01-07 2015-10-02 케이엘에이-텐코 코포레이션 설계 데이터 공간에서 검사 시스템 출력의 위치 결정

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7530038B2 (en) * 2005-10-07 2009-05-05 International Business Machines Corporation Method and placement tool for designing the layout of an electronic circuit
TW200802014A (en) 2006-02-17 2008-01-01 Mentor Graphics Corp Interconnection modeling for semiconductor fabrication process effects
US20070283306A1 (en) * 2006-05-30 2007-12-06 Matthias Koefferlein Layout cells, layout cell arrangement, method of generating a layout cell, method of generating a layout cell arrangement, computer program products
US20080115096A1 (en) 2006-10-09 2008-05-15 Mentor Graphics Corporation Properties In Electronic Design Automation
JP4380729B2 (ja) * 2007-05-24 2009-12-09 ソニー株式会社 パターン設計方法、パターン設計プログラムおよびパターン設計装置
NL1036189A1 (nl) * 2007-12-05 2009-06-08 Brion Tech Inc Methods and System for Lithography Process Window Simulation.
US20100023905A1 (en) * 2008-02-20 2010-01-28 Pikus Fedor G Critical Area Deterministic Sampling
US7793238B1 (en) * 2008-03-24 2010-09-07 Xilinx, Inc. Method and apparatus for improving a circuit layout using a hierarchical layout description
US8893061B2 (en) * 2009-01-30 2014-11-18 Synopsys, Inc. Incremental concurrent processing for efficient computation of high-volume layout data
NL2004392A (en) * 2009-04-15 2010-10-18 Asml Netherlands Bv Lithographic apparatus, control system, multi-core processor, and a method to start tasks on a multi-core processor.
US20110145772A1 (en) * 2009-05-14 2011-06-16 Pikus Fedor G Modular Platform For Integrated Circuit Design Analysis And Verification
US8549448B2 (en) * 2009-07-09 2013-10-01 Synopsys, Inc. Delay optimization during circuit design at layout level
US8838544B2 (en) * 2009-09-23 2014-09-16 International Business Machines Corporation Fast history based compression in a pipelined architecture
US8316330B2 (en) * 2009-12-09 2012-11-20 Anupam Bakshi System and method for circuit design automation
US20110289472A1 (en) * 2010-05-19 2011-11-24 International Business Machines Corporation Layout quality evaluation
CN102625605A (zh) * 2011-01-27 2012-08-01 鸿富锦精密工业(深圳)有限公司 电子装置及其使用的弹开机构
CN103034742B (zh) * 2011-09-30 2015-11-25 北京华大九天软件有限公司 一种快捷生成器件的方法
US8745550B2 (en) * 2012-07-09 2014-06-03 Taiwan Semiconductor Manufacturing Company, Ltd. Fracture aware OPC
CN103728552B (zh) * 2012-10-12 2016-06-22 苏州捷泰科信息技术有限公司 芯片管脚连接关系检测方法及系统
US9026970B2 (en) * 2013-03-07 2015-05-05 Freescale Semiconductor, Inc. Prioritized design for manufacturing virtualization with design rule checking filtering
US20140330786A1 (en) * 2013-05-02 2014-11-06 Global Foundries, Inc. Computer-implemented methods and systems for revision control of integrated circuit layout recipe files
US10185799B2 (en) 2014-04-22 2019-01-22 Mentor Graphics Corporation Verification of photonic integrated circuits
US10444734B2 (en) 2014-08-22 2019-10-15 Mentor Graphics Corporation Manufacture of non-rectilinear features
CN104616557B (zh) * 2015-01-30 2017-05-17 南车株洲电力机车有限公司 一种轨道车辆模拟电路生成方法、系统及控制方法、系统
US10055533B2 (en) 2015-05-19 2018-08-21 Mentor Graphics Corporation Visualization of analysis process parameters for layout-based checks
CN106777441B (zh) * 2015-11-24 2020-04-21 龙芯中科技术有限公司 时序约束管理方法及装置
US10771982B2 (en) * 2018-10-24 2020-09-08 Mentor Graphics Corporation Resource utilization of heterogeneous compute units in electronic design automation
CN111259616B (zh) * 2020-01-10 2023-06-30 芯峰光电技术(深圳)有限公司 一种集成电路布局数据的处理方法
US11574103B2 (en) * 2020-01-31 2023-02-07 International Business Machines Corporation Addressing layout retargeting shortfalls
CN113589642B (zh) * 2021-07-05 2024-02-27 广东省大湾区集成电路与系统应用研究院 集成电路开路缺陷预测的方法、装置、计算机设备及介质
CN116661856B (zh) * 2023-08-01 2023-10-20 上海合见工业软件集团有限公司 Eda软件的数据拼接系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004503879A (ja) * 2000-06-13 2004-02-05 メンター グラフィックス コーポレイション 集積化検証および製造適応ツール
WO2004015595A2 (en) * 2002-06-28 2004-02-19 Seagate Technology Llc Methodology of creating an object database from a gerber file
US20060107240A1 (en) * 2004-11-13 2006-05-18 Mentor Graphics Corp. Logic injection

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822218A (en) * 1996-08-27 1998-10-13 Clemson University Systems, methods and computer program products for prediction of defect-related failures in integrated circuits
US6684376B1 (en) * 1997-01-27 2004-01-27 Unisys Corporation Method and apparatus for selecting components within a circuit design database
US7107571B2 (en) * 1997-09-17 2006-09-12 Synopsys, Inc. Visual analysis and verification system using advanced tools
US7093229B2 (en) * 1997-09-17 2006-08-15 Synopsys, Inc. System and method for providing defect printability analysis of photolithographic masks with job-based automation
US6230299B1 (en) 1998-03-31 2001-05-08 Mentor Graphics Corporation Method and apparatus for extracting and storing connectivity and geometrical data for a deep sub-micron integrated circuit design
US6249903B1 (en) 1998-03-31 2001-06-19 Mcsherry Michael C. Method and apparatus for generating and maintaining electrical modeling data for a deep sub-micron integrated circuit design
US6057169A (en) * 1998-04-17 2000-05-02 Lsi Logic Corporation Method for I/O device layout during integrated circuit design
US6473885B1 (en) 1998-07-17 2002-10-29 Mentor Graphics Corporation Digital circuit layout techniques using circuit decomposition and pin swapping
US6339836B1 (en) 1998-08-24 2002-01-15 Mentor Graphics Corporation Automated design partitioning
US6397372B1 (en) 1999-01-19 2002-05-28 Zeki Bozkus Cell based parallel verification of an integrated circuit design
US6425113B1 (en) 2000-06-13 2002-07-23 Leigh C. Anderson Integrated verification and manufacturability tool
US7412676B2 (en) * 2000-06-13 2008-08-12 Nicolas B Cobb Integrated OPC verification tool
CA2370766C (en) 2000-10-18 2003-09-09 Chipworks Design analysis workstation for analyzing integrated circuits
US7178114B2 (en) * 2002-05-31 2007-02-13 Springsoft, Inc. Scripted, hierarchical template-based IC physical layout system
EP1532670A4 (en) 2002-06-07 2007-09-12 Praesagus Inc CHARACTERIZATION AND REDUCTION OF VARIATION FOR INTEGRATED CIRCUITS
US6912705B2 (en) * 2002-06-27 2005-06-28 Sun Microsystems, Inc. Method and apparatus for performing operation on physical design data
US6983440B1 (en) * 2003-01-14 2006-01-03 Cadence Design Systems, Inc. Shape abstraction mechanism
GB0301993D0 (en) 2003-01-29 2003-02-26 Univ Edinburgh System and method for rapid prototyping of asic systems
US20070055892A1 (en) * 2003-09-26 2007-03-08 Mentor Graphics Corp. Concealment of information in electronic design automation
US7353468B2 (en) * 2003-09-26 2008-04-01 Ferguson John G Secure exchange of information in electronic design automation
US7155689B2 (en) * 2003-10-07 2006-12-26 Magma Design Automation, Inc. Design-manufacturing interface via a unified model
GB0327959D0 (en) * 2003-12-03 2004-01-07 Symgenis Ltd System and method for architecture verification
JP2007536581A (ja) 2004-05-07 2007-12-13 メンター・グラフィクス・コーポレーション プロセス変動バンドを用いた集積回路レイアウト設計法
US7281222B1 (en) 2004-06-02 2007-10-09 Advanced Micro Devices, Inc. System and method for automatic generation of optical proximity correction (OPC) rule sets
US7536664B2 (en) 2004-08-12 2009-05-19 International Business Machines Corporation Physical design system and method
US7506277B1 (en) * 2005-07-28 2009-03-17 Cadence Design Systems, Inc. Method and mechanism for implementing DFM aware cells for an electronic design
US7570796B2 (en) 2005-11-18 2009-08-04 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
US7802222B2 (en) * 2006-09-25 2010-09-21 Cadence Design Systems, Inc. Generalized constraint collection management method
US20080115096A1 (en) * 2006-10-09 2008-05-15 Mentor Graphics Corporation Properties In Electronic Design Automation
US7562324B2 (en) 2006-11-09 2009-07-14 Chang Gung University Method of designing a synchronous circuit of VLSI for clock skew scheduling and optimization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004503879A (ja) * 2000-06-13 2004-02-05 メンター グラフィックス コーポレイション 集積化検証および製造適応ツール
WO2004015595A2 (en) * 2002-06-28 2004-02-19 Seagate Technology Llc Methodology of creating an object database from a gerber file
US20060107240A1 (en) * 2004-11-13 2006-05-18 Mentor Graphics Corp. Logic injection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092470A (ja) * 2008-09-30 2010-04-22 Cadence Design Systems Inc 電子回路デザインのさまざまな段階中にコンパクトな製造モデルを実行するための、機械によって実行される方法
KR20150110563A (ko) * 2013-01-07 2015-10-02 케이엘에이-텐코 코포레이션 설계 데이터 공간에서 검사 시스템 출력의 위치 결정
KR102043486B1 (ko) * 2013-01-07 2019-11-11 케이엘에이 코포레이션 설계 데이터 공간에서 검사 시스템 출력의 위치 결정

Also Published As

Publication number Publication date
EP2080130A1 (en) 2009-07-22
US20080168410A1 (en) 2008-07-10
WO2008045900A1 (en) 2008-04-17
CN101542488A (zh) 2009-09-23
US20080115097A1 (en) 2008-05-15
US20080141193A1 (en) 2008-06-12
US20080115096A1 (en) 2008-05-15
US10643015B2 (en) 2020-05-05

Similar Documents

Publication Publication Date Title
US10643015B2 (en) Properties in electronic design automation
US8612919B2 (en) Model-based design verification
US20100185994A1 (en) Topological Pattern Matching
US8572533B2 (en) Waiving density violations
US20140337810A1 (en) Modular platform for integrated circuit design analysis and verification
US20090106715A1 (en) Programmable Design Rule Checking
US20100257496A1 (en) Design-Rule-Check Waiver
US10596219B2 (en) Logic-driven layout verification
JP2010521035A (ja) レイアウト設計データの増分分析
US10445452B2 (en) Simulation-assisted wafer rework determination
US20110145770A1 (en) Device Annotation
US20130198703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US10089432B2 (en) Rule-check waiver
US9262574B2 (en) Voltage-related analysis of layout design data
US20100229133A1 (en) Property-Based Classification In Electronic Design Automation
US20130263074A1 (en) Analog Rule Check Waiver
US20100023897A1 (en) Property-Based Classification In Electronic Design Automation
US20150143317A1 (en) Determination Of Electromigration Features
US20120198394A1 (en) Method For Improving Circuit Design Robustness
US20150067621A1 (en) Logic-Driven Layout Pattern Analysis
US20130080985A1 (en) Electrostatic damage protection circuitry verification
US20110265054A1 (en) Design-Rule-Check Waiver
US20110119544A1 (en) User Guided Short Correction And Schematic Fix Visualization
US20210383051A1 (en) Automatic Identification Of Hierarchical Cells Based On Selected Properties For Layout Verification
US10210302B2 (en) Electrostatic damage protection circuitry verification

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120327

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121001