JP5033135B2 - レイアウト後edaアプリケーションを開発するための方法およびシステム - Google Patents

レイアウト後edaアプリケーションを開発するための方法およびシステム Download PDF

Info

Publication number
JP5033135B2
JP5033135B2 JP2008540791A JP2008540791A JP5033135B2 JP 5033135 B2 JP5033135 B2 JP 5033135B2 JP 2008540791 A JP2008540791 A JP 2008540791A JP 2008540791 A JP2008540791 A JP 2008540791A JP 5033135 B2 JP5033135 B2 JP 5033135B2
Authority
JP
Japan
Prior art keywords
data
cell
representation
database
component
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.)
Active
Application number
JP2008540791A
Other languages
English (en)
Other versions
JP2009516876A (ja
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 JP2009516876A publication Critical patent/JP2009516876A/ja
Application granted granted Critical
Publication of JP5033135B2 publication Critical patent/JP5033135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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)

Description

[関連出願の相互参照]
本願は2005年7月21日に出願されたインド国特許出願番号第975/CHE/2005号「Methodology for post-layout EDA application development toolkit」と関連のある完全な特許出願である。
[技術分野]
本発明は電子設計自動化(EDA:Electronic Design Automation)技術に関する。より具体的には、本発明はレイアウト後EDAアプリケーションを開発するための技術に関する。
電子回路の設計製造プロセスは、大きく分けて2つの段階、例えばレイアウト前設計段階とレイアウト後設計段階とに分けることができる。電子回路の設計製造プロセスの例としては、限定はされないが、IC(Integrated Circuits)、PCB(Printed circuit Boards)、MEMS(Micro Electro Mechanical Systems)、MCM(Multi-Chip Modules)などの設計製造プロセスが挙げられる。レイアウト前設計段階では、回路デザインは、物理的レイアウトデータ(physical layout data)へと変換される。物理的レイアウトデータは、電子回路の設計に使用される、電子回路上の回路素子の物理的な位置の詳細を含む。その後、レイアウト後設計段階では、物理的レイアウトデータは、電子回路の製造に使用される幾何学的レイアウトデザインデータ(geometric layout design data)へと変換される。この幾何学的レイアウトデザインデータは多数のデータフォーマットファイル(data-format files)に作成保存される。入出力データフォーマットファイルの例としては、限定はされないが、GDSII(登録商標)(Graphic Data System-II)データフォーマットファイル、OASIS(Open Artwork System Interchange Standard)、MEBES(登録商標)、JEOL(登録商標)、VSB−11/12(登録商標)、OASIS−VSB(登録商標)、Gerber(登録商標)、LEF(登録商標)/DEF(登録商標)(Library Exchange Format/ Design Exchange Format)、そのほか幾何学的レイアウトデザインデータを記述する専用のデータフォーマットファイルが挙げられる。
レイアウト後設計段階では、大きな幾何学的レイアウトデザインデータが処理される。加えて、レイアウト後設計段階は電子回路の製造前の最後の段階であることから、従って幾何学的レイアウトデザインデータに対して正確で効率的な演算が実行されることが不可欠である。レイアウト後EDAアプリケーションは幾何学的レイアウトデザインデータを処理するために使用される。レイアウト後EDAアプリケーションは幾何学的レイアウトデザインデータを処理するための複数のコンポーネントを含む。複数のコンポーネントとしては、限定はされないが、データ構造、演算、外部インタフェースなどが挙げられる。レイアウト後EDAアプリケーションは、データフォーマットファイルとターゲットアプリケーション利用に基づいて、レイアウト後EDAアプリケーションの各コンポーネントごとに新しいコードを書くことより、カスタム設計することができる。ターゲットアプリケーション利用の例としては、限定はされないが、MDP(Mask Data Preparation)、DRC(Design Rule Checker)、OPC(Optical Proximity Collection)、RET(Resolution Enhancement Techniques)、CAA(Critical Area Analysis)、DMF(Dummy Metal Filling)、MI(Mask Inspection)、MRC(Mask/Manufacturing Rule Checker)、SD(Silicon Debugging)、CAD(Compute Aided Design)Navigation、LV(Layout Viewers)、LA(Layout Analysis)およびFA(Failure Analysis)などが挙げられる。このおかげでデータフォーマットファイルとレイアウト後EDAアプリケーションのターゲットアプリケーションに対してレイアウト後EDAアプリケーションの効率の高いパフォーマンスが可能となる。加えて、レイアウト後EDAアプリケーションは既存のレイアウト後EDAアプリケーションの1以上のコンポーネントを使用して開発することができる。このおかげで努力達成安定度およびパフォーマンスの両面で低減したコストで安定したレイアウト後EDAアプリケーションの開発が可能となる。しかしながら、幾何学的レイアウトデザインデータを高いパフォーマンスで既存のレイアウト後EDAアプリケーションの1以上のコンポーネントを使用することなく効率的に処理することができる安定したレイアウト後EDAアプリケーションを開発するのには長い期間が必要である。
一部のデザインデータベース、例えばOpenAccess(登録商標)およびMilkyWay(登録商標)は、API(Application Programming Interfaces)を通じて、複数のレイアウト後EDAアプリケーションとの相互運用が可能である。これらのデザインデータベースのおかげで、レイアウト後EDAアプリケーションの開発者達は、デザインデータベースを1以上のカスタム設計レイアウト後EDAアプリケーションに組み込むためのAPIを書くことができる。
さらに、デザインデータベースとデータフォーマットファイルは幾何学的レイアウトデザインデータをフラット表現(flat representation)と階層表現(hierarchical representation)の一方または両方で格納する。フラット表現は幾何学的レイアウトデザインデータの各幾何学図形を列挙する。これは演算を実行するための大きな実行時間メモリと格納するためのオンディスクメモリを必要とする。階層表現は複数のセル(cell)を含む。階層表現におけるセルはゼロ個以上のセルとゼロ個以上の幾何学図形へのリファレンスを含む。階層表現を利用することで、幾何学的レイアウトデザインデータを格納するのに必要なメモリ空間が減少する。しかしながら、階層表現において一部の演算、限定はされないが例えば空間演算を実行することは、実行が複雑であり、計算コストが掛かる可能性がある。
そのため、複数のデータフォーマットファイルとインタフェースをとる(読み出し/書き込み)ことができる安定的であり効率の高いレイアウト後EDAアプリケーション開発用プラットフォーム/ツールキットが必要とされている。さらに、異なるターゲットアプリケーションが効率的かつ迅速に開発できるように、メモリをあまり必要とせず様々な演算(限定はされないが、例えば、空間演算)を効率的に実行するのに適した幾何学的レイアウトデザインデータのデータ表現が必要とされている。
本発明の1つの目標は、レイアウト後EDAアプリケーションを開発するための方法およびシステムを提供することにある。
本発明のもう1つの目標は、幾何学的レイアウトデザインデータを処理するための方法およびシステムを提供することにある。
本発明の更にもう1つの目標は、構造データ、空間データ、およびRAWジオメトリデータの各データに幾何学的レイアウトデザインデータを分離することにある。
本発明の更にもう1つの目標は、より少ないメモリ空間を使用するとともに効率の高い演算性能を可能とする構造データを表現するための表現方法を実現する、方法およびシステムを提供することにある。
本発明は、上記目標を達成するため、電子回路を製造するために幾何学的レイアウトデザインデータを処理するための方法およびシステムを提供する。本方法は、1以上のデータフォーマットファイルから幾何学的レイアウトデザインデータを抽出するステップを実行する。本方法は、1以上のデータフォーマットファイルから抽出された幾何学的レイアウトデザインデータを、構造データ、空間データ、およびRAWジオメトリデータの各データに分離するステップを更に実行する。その後、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して、1以上の所定の演算が実行される。
以下、本発明の好ましい実施形態による、レイアウト後EDAアプリケーションを開発するための方法およびシステムを、添付図面を参照して詳細に説明する。これらの説明と添付図面から、当業者であれば、本発明の方法およびシステムが上記の課題を解決し、いくつもの利点を実現することは容易に理解できるであろう。なお、添付図面全体を通して同一または類似の構成要素には同一の参照符号が付されている。
本発明の実施形態を詳しく説明する前に、これらの実施形態が、主にレイアウト後EDAアプリケーションを開発するための方法ステップとシステムコンポーネントの組み合わせから成ることに気付くべきである。そのため、システムコンポーネントおよび方法ステップは、添付図面において慣用記号を使って適所に表示されており、そこには本明細書の説明の恩恵に浴した当業者にとって非常に明らかな細かな部分によって実施形態の本開示の妨げとならぬよう、本発明の実施形態を理解する上で関係のある部分のみが詳細に描かれている。従って、説明を簡単かつ明確にするために、商業的に実現可能な形態において有用または必要な一般的なよく理解された構成要素はこれがあるために本発明の様々な実施形態を示す上で障害となる場合には、それらを省略して見やすくするために描かれないことがあることが理解されるであろう。
第1および第2やトップおよびボトムなどの相対的な用語は、ある1つのエンティティもしくはアクションを別のエンティティもしくはアクションと区別するためだけに、必ずしもそれらのエンティティもしくはアクションの間の実際の相互関係もしくは順序を何ら要求もしくは示唆せずに、使用されることがある。“〜を具備する(comprise)”、“〜を具備している(comprising)”、“〜を有する(have)”、“〜を有していている(having)”、“〜を(要素として)含む(include)”、“〜を(要素として)含んでいる(including)”、“〜を包含する(contain)”、“〜を包含している(containing)”およびそれらの変形表現は、他の要素の存在を排除しない非排他的な包含関係をカバーすることを意図して用いられる。例えば、明示的に列挙された構成要素を具備する、有する、含む、包含する方法(プロセスまたはメソッド)、物品、装置もしくはシステムは、明示的に列挙されていない他の構成要素あるいは当該方法、物品、装置もしくはシステムに特有な他の構成要素も含みうる。“ある(不定冠詞a)〜を具備する”、“ある(a)〜を有する”、“ある(a)〜を含む”、“ある(a)〜を包含する”といった表現の目的語として取り扱われた構成要素は、その構成要素を具備する、有する、含む、または包含する当該方法、物品、装置もしくはシステムに更なる制約なしにその構成要素と同一の追加要素が存在することを排除しない。“ある(a or an)〜”という表現は特に明示的な断りがなければ1以上(の要素)を意味する。ある特定の方法により“構成された(configured)”装置(device)または構造(structure)は、少なくともその方法により構成されるが、列挙されていない様々な方法により構成されることもある。
本発明の様々な実施形態は、レイアウト後EDAアプリケーション(post-layout EDA applications)を開発するための方法およびシステムを提供する。本方法においてはまず1以上の入力データフォーマットファイル(input data-format files)から幾何学的レイアウトデザインデータ(geometrical layout design data)が抽出される。その後、幾何学的レイアウトデザインデータは、構造データ(structural data)、空間データ(spatial data)、およびRAWジオメトリデータ(raw-geometry data)の1以上のデータに分離される。そして、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して、1以上の所定の演算が実行される。1以上の所定の演算としては、限定はされないがブール演算(Boolean operations)、例えば、AND、OR、XOR、SUBTRACT、およびNOTが挙げられる。その後、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行された結果は、1以上の出力データフォーマットファイル(output data-format files)に格納することができる。
図1は、本発明が機能する環境100を例示するブロック図である。環境100は、レイアウト後EDAアプリケーション102、入力データフォーマットファイル104、および入力データフォーマットファイル106を含む。当業者にとっては、環境100が3以上の入力データフォーマットファイルを含みうることは明らかであろう。環境100は入力データフォーマットファイル104と入力データフォーマットファイル106との一方または両方と通信して幾何学的レイアウトデザインデータを抽出する。その後、レイアウト後EDAアプリケーション102は、入力データフォーマットファイル104と入力データフォーマットファイル106との一方または両方から抽出された幾何学的レイアウトデザインデータに対して1以上の所定の演算を実行し、電子回路を製造するのに適したその電子回路のレイアウトデザインを生成する。構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行された結果は、出力データフォーマットファイル108および出力データフォーマットファイル110の一方または両方に格納することができる。当業者にとっては、環境100が3以上の出力データフォーマットファイルを含みうることは明らかであろう。
図2は、本発明の実施の一形態による、幾何学的レイアウトデザインデータを処理するための方法のフローチャートである。ステップ202において、1以上の入力データフォーマットファイルから幾何学的レイアウトデザインデータが抽出される。その後、ステップ204において、幾何学的レイアウトデザインデータは、構造データ、空間データ、およびRAWジオメトリデータの各データに分離される。
幾何学的レイアウトデザインデータを分離した後、構造データは、データベースの構造コンポーネント(structural component)に格納される。空間データは、データベースの空間コンポーネント(spatial component)に格納される。RAWジオメトリデータは、データベースのRAWジオメトリコンポーネント(raw-geometry component)に格納される。これについては、図3に関連して更に説明される。
構造データは、階層表現(hierarchical representation)、ハイブリッド型階層表現(hybrid-hierarchical representation)、ハブリッド型フラット表現(hybrid-flat representation)の1以上の表現として表される。階層表現、ハイブリッド型階層表現、およびハブリッド型フラット表現の各表現は複数のセルから構成される。複数のセルはトップセル(top cell)を含む。ハイブリッド型階層表現およびハブリッド型フラット表現の各表現において、トップセルは、複数のセルにおける各セルの親(parent)である。しかしながら、階層表現では、トップセルは、複数のセルにおける各セルの親(parent)または(祖父母以上の)先祖(ancestor)である。本発明の実施の一形態において、複数のセルは、トップのダミーセルを追加的に含みうる。トップのダミーセルは、それに対応する幾何学的図形(geometrical figures)を含まない。さらに、トップのダミーセルは、トップセルの1つのインスタンス(instance)のアドレスを含む。この場合、階層表現、ハイブリッド型階層表現、およびハブリッド型フラット表現の1つの表現において、トップセルは、トップのダミーセルの子供セルでありうる。
構造データの階層表現におけるセル(cell)は、データベースのRAWジオメトリデータベースコンポーネントを指し示す第1のポインタ(pointer)を含む。この第1のポインタは、RAWジオメトリコンポーネントへのリンクまたはリファレンスでありうる。データベースのRAWジオメトリコンポーネントは、0個以上の幾何学図形(geometric figures)を含む。第1のポインタは、データベースのRAWジオメトリコンポーネントに格納された当該セルに対応する幾何学図形のアドレスを含む。そのため、第1のポインタは、当該セルに対応する幾何学図形にアクセスするために使用される。当該セルは、0個以上の子供セルを更に含む。加えて、当該セルは、各子供セルの各インスタンスのアドレスを含みうる。各インスタンスのアドレスは、当該セルから各子供セルの各インスタンスまで縦走するために利用される。本発明の実施の一形態によれば、繰り返しパタンを有する各子供セルのインスタンスのアドレスは、アドレスの1次元アレイまたは2次元アレイとして格納することができる。本発明の別の実施形態では、各子供セルのインスタンスのアドレスは、当該セルにアドレスリストとして格納することができる。1以上のセル同士の間の階層関係は、有向非巡回グラフ(DAG:Directed Acyclic Graph)データ構造によって表現することができる。
構造データの階層表現は、第1の所定のアルゴリズムを用いて構造データのハイブリッド型階層表現へと変換される。ハイブリッド型階層表現におけるセルは、データベースのRAWジオメトリコンポーネントを指し示す第2のポインタを含む。第2のポインタは、RAWジオメトリコンポーネントの中の当該セルに対応する0個以上の幾何学図形のアドレスを含む。当該セルは、列挙型データ構造(enumeration data structure)を更に含む。列挙型データ構造は、トップセルにおける当該セルの各インスタンスのアドレスを生成するために使用される情報を含む。本発明の実施の一形態において、セルの列挙型データ構造は、PDAG(Partial DAG)である。セルのPDAGは、DAGの部分集合であり、当該セルの各先祖、DAGにおける先祖同士の各ペアを結ぶ各既存リンク、およびDAGにおける当該セルと当該セルの親との間を結ぶ各既存リンクを含む。これについては、図5に関連して更に説明される。本発明の別の実施形態では、列挙型データ構造は、トップセルに関する当該セルの各インスタンスのアドレスのリストであり、LISTデータ構造として実装される。
ハイブリッド型階層表現は、反復アルゴリズム(iterator algorithm)を更に含む。反復アルゴリズムは、セルの列挙型データ構造に対してイテレーション(iteration)を実行し、当該セルの各インスタンスのアドレスを生成する。反復アルゴリムは、列挙型データ構造の表現に依存する。例えば、セルに対応する列挙型データ構造が当該セルの各インスタンスのアドレスのリストをLISTデータ構造で格納する場合、対応する反復アルゴリズムは、LISTデータ構造を順次に縦走して当該セルの各インスタンスのアドレスを生成することができる。同様に、別の例では、セルに対応する列挙型データ構造がPDAGデータ構造を通じて当該セルの各インスタンスのアドレスを格納する場合、対応する反復アルゴリズムは、PDAGデータ構造を階層的に縦走して当該セルの各インスタンスのアドレスを生成する。
構造データの階層表現は、第2の所定のアルゴリズムを用いてハイブリッド型フラット表現(hybrid-flat representation)へと変換することができる。本発明の実施の一形態において、ハイブリッド型階層表現は、第3の所定のアルゴリムを用いてハイブリッド型フラット表現へと変換することができる。ハイブリッド型フラット表現におけるセルは、データベースのRAWジオメトリコンポーネントを指し示す第3のポインタを含む。第3のポインタは、RAWジオメトリコンポーネントの中の当該セルに対応する0個以上の幾何学図形のアドレスを含む。ハイブリッド型フラット表現におけるトップセルは、セル集合に属する各セルの各インスタンスに対応する境界ボックス(bounding box)に対応する情報を含む。前記セル集合に属する各セルの第3のポインタは、RAWジオメトリコンポーネントの中の当該セルに対応する1以上の幾何学図形のアドレスを含む。
セルのインスタンスに対応する境界ボックスは、当該セルに対応する各幾何学図形を囲い込む最小矩形である。当該セルのインスタンスの境界ボックスは、トップセルの中でその境界ボックスの対角線の両端点の座標によって表すことができる。境界ボックス内の各幾何学図形の空間情報は、データベースの空間コンポーネントの中に、対角線の端点の座標からの相対座標で格納される。そのため、対角線の端点の座標は、当該セルのインスタンスに対応する各幾何学図形の空間情報を決定するために使用されることがある。これについては、図6に関連して更に説明される。
ハイブリッド型フラット表現は、第4の所定のアルゴリズムを用いて構造データのフラット表現へと変換することができる。構造データのフラット表現はトップセルを含む。トップセルは、データベースのRAWジオメトリコンポーネントを指し示す第4のポインタを含む。第4のポインタは、データベースのRAWジオメトリコンポーネントの中の各幾何学図形のアドレスを含む。本発明の実施の一形態において、階層表現とハイブリッド型階層表現の各表現は、構造データのフラット表現に直接変換することができる。
空間データは、セル内の各幾何学図形の空間情報を格納する。空間データは、空間表現の集合からの1以上の空間表現を用いて表される。空間表現の集合は、限定はされないが、X/Yソート済みエッジ表現(x/y sorted edge representation)、ボロノイ図(Voronoi diagrams)、四分木(Quad trees)および八分木(Oct trees)を含みうる。これについては、図7に関連して更に説明される。さらに、RAWジオメトリデータは、幾何学的レイアウトデザインで使用される幾何学図形を格納する。RAWジオメトリデータは、複数の幾何学図形、座標表現方法、および複数のユーザ指定プロパティの各々を用いて表される。複数の幾何学図形としては、限定はされないが、正方形(squares)、長方形(rectangles)、三角形(triangles)、マンハッタン型多角形(Manhattan polygon)、任意角多角形(any-angle polygons)、アイランド(islands)、および台形(trapezoids)などが挙げられる。複数の幾何学図形の座標は、データタイプからのデータタイプの1つの集合を用いて表すことができる。データタイプとしては、限定はされないが、short、integer、long、およびdoubleが挙げられる。RAWジオメトリデータの表現にユーザ指定データを含めるために複数のユーザ指定プロパティが幾何学図形に加えられることがある。複数のユーザ指定プロパティの例としては、限定はされないが、色、レイヤ、ネット名、および電気特性が挙げられる。これについては、図7に関連して更に詳しく説明される。
その後、ステップ206において、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行される。所定の演算の例としては、限定はされないが、ブール演算(例えば、AND、OR、XOR、SUBTRACT、およびNOT)、幾何学的レイアウトデザイン上のウィンドウクエリー(window query)、および幾何学的レイアウトデザイン上の近傍クエリー(neighborhood query)などが挙げられる。分離されたデータは、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して実行される演算に基づいて表される。例えば、構造データは、セル単位演算(cell-wise operations)にハイブリッド型階層表現を用いて表される。同様に、空間データは、ラインスウィープ演算(line sweep operations)にX/Yソート済みエッジ表現を用いて表される。代わりに、空間データは、近傍クエリー演算にボロノイ図表現を用いて表される。RAWジオメトリデータは、ブール演算に台形表現を用いて表される。代わりに、RAWジオメトリデータは、サイジング演算(sizing operations)にアイランド表現を用いて表される。構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行された後、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行された1以上の結果が集約結果を生成するために集約される。集約結果は、次に1以上の出力データフォーマットファイルに格納されることがある。これについては、図3を参照して更に説明される。
図3は、本発明の実施の一形態による、データの流れを示すフロー図である。ステップ302において、1以上の入力ファイルから幾何学的レイアウトデザインデータが抽出される。これについては、図2との関連で詳しく説明されている。その後、ステップ304において、幾何学的レイアウトデザインデータは、構造データ、空間データ、およびRAWジオメトリデータの各データに分離される。これについては、図2との関連で詳しく説明されている。
幾何学的レイアウトデザインデータを分離した後、ステップ306において、構造データはデータベースの構造コンポーネントに格納される。構造データは、階層表現、ハイブリッド型階層表現、フラット表現およびハイブリッド型フラット表現の1以上の表現を用いて格納される。これについては、図2との関連で詳しく説明されている。本発明の実施の一形態において、構造データは、構造データベースに格納される。ステップ308において、空間データは、データベースの空間コンポーネントに格納される。空間データは、X/Yソート済みエッジ表現(X/Y sorted edge representation)、ボロノイ図(Voronoi diagrams)、四分木(Quad trees)および八分木(Oct trees)の1以上の表現を用いて格納される。当業者であれば、本発明は、空間データを格納するためのデータ構造の上記列挙された例に限定されないことは理解されよう。本発明の実施の一形態において、空間データは空間データベースに格納される。ステップ310において、RAWジオメトリデータは、データベースのRAWジオメトリコンポーネントに格納される。RAWジオメトリデータは、複数の幾何学図形、座標表現方法、および複数のユーザ指定プロパティの1以上を用いて格納される。これについては、図2との関連で説明されている。本発明の実施の一形態において、RAWジオメトリデータは、RAWジオメトリデータベースに格納される。
そして、ステップ312において、1以上の所定の演算が、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して実行される。これについては、図2との関連で詳しく説明されている。ステップ314において、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算が実行された1以上の結果が集約結果を生成するために集約される。構造データ、空間データ、およびRAWジオメトリデータは集約結果を生成するために集約することができる。その後、ステップ316において、集約結果は、1以上の出力データフォーマットファイルに格納される。
図4は、複数のセルを含む構造データの階層表現400を示すブロック図である。複数のセルは、セル402、セル404、セル406、およびセル408を含む。セル402はトップセルである。そのため、セル402は、セル404の親(parent)であり、セル406とセル408のそれぞれの先祖(ancestor)である。セル402は、インスタンス(instance)を有する。セル402のインスタンスは、セル404の第1のインスタンスのアドレスと、セル404の第2のインスタンスのアドレスを含む。加えて、セル402のインスタンスは、RAWジオメトリコンポーネントの中の、セル402に対応するゼロ個以上の幾何学図形のアドレスを有するポインタを含む。さらに、セル404は、セル406とセル408の各セルの親である。そのため、セル404の各インスタンスは、セル406の2つのインスタンスのアドレスと、セル408の1つのインスタンスのアドレスを含む。セル404の第1のインスタンスは、セル406の第1のインスタンスと、セル406の第2のインスタンスと、セル408の第1のインスタンスの親である。そのため、セル404の第1のインスタンスは、セル406の第1のインスタンスのアドレスと、セル406の第2のインスタンスのアドレスと、セル408の第1のインスタンスのアドレスを含む。さらに、セル404の第2のインスタンスは、セル406の第3のインスタンスと、セル406の第4のインスタンスと、セル408の第2のインスタンスの親である。そのため、セル404の第2のインスタンスは、セル406の第3のインスタンスのアドレスと、セル406の第4のインスタンスのアドレスと、セル408の第2のインスタンスのアドレスを含む。加えて、セル404の各インスタンスは、RAWジオメトリコンポーネントの中の、セル404に対応するゼロ個以上の幾何学図形を指し示すポインタを含む。
さらに、セル406の各インスタンスは、RAWジオメトリコンポーネントに格納されたセル406に対応するゼロ個以上の幾何学図形を指し示すポインタを含む。加えて、セル408の各インスタンスは、RAWジオメトリコンポーネントの中の、セル408に対応するゼロ個以上の幾何学図形を指し示すポインタを含む。
図5は、本発明の実施の一形態として、複数のセルと、セル504の列挙型データ構造502と、セル508の列挙型データ構造506と、セル512の列挙型データ構造510とを含むハイブリッド型階層表現500を示すブロック図である。ハイブリッド型階層表現500は、第1の所定のアルゴリズムを用いて階層表現400から生成される。ハイブリッド型階層表現500における複数のセルは、セル402に対応するセル514と、セル404に対応するセル504と、セル406に対応するセル508と、セル408に対応するセル512とを含む。列挙型データ構造502はセル504のPDAGを表し、列挙型データ構造506はセル508のPDAGを表し、列挙型データ構造510はセル512のPDAGを表す。ハイブリッド型階層表現500において、セル514はトップセルである。セル514は、トップダミーセル(top dummy cell)の子供でありうる。トップダミーセルは、それに対応する幾何学図形を含まない。さらに、トップダミーセルは、セル514の1つのインスタンスのアドレスを含む。そのため、セル514は、セル504、セル508、およびセル512のそれぞれのセルの親である。幾何学的レイアウトデザインにおけるセル514の原点の縦座標は100であり、セル514の原点の横座標は100である。そのため、セル514の原点の座標は幾何学的レイアウトデザインにおいて(100,100)と表される。さらに、セル514は、セル504の2つのインスタンスを有する。セル504の第1のインスタンスの原点の絶対座標は(150,150)であり、セル504の第2のインスタンスの原点の絶対座標は(170,170)である。
セル504は、ハイブリッド型階層表現500において列挙型データ構造502を更に含む。列挙型データ構造502は、リスト516とリスト518を含む。リスト516は、セル514の原点(100,100)を含む。さらに、リスト518は、セル504の各インスタンスの原点をセル514に関する相対座標で含む。従って、リスト518は、セル504の第1のインスタンスの原点を(50,50)として含み、セル504の第2のインスタンスの原点を(70,70)として含む。これらは、セル514の原点に関する相対座標である。
さらに、セル504の第1のインスタンスとセル504の第2のインスタンスの各インスタンスは、セル508の2つのインスタンスとセル512の1つのインスタンスを含む。そのため、セル504の第1のインスタンスとセル504の第2のインスタンスの各インスタンスは、セル508の第1のインスタンスとセル508の第2のインスタンスを含む。セル504の第1のインスタンスにおけるセル508の第1のインスタンスの原点の絶対座標は(160,160)であり、セル504の第1のインスタンスにおけるセル508の第2のインスタンスの原点の絶対座標は(170,170)である。さらに、セル504の第2のインスタンスにおけるセル508の第1のインスタンスの原点の絶対座標は(180,180)であり、セル504の第2のインスタンスにおけるセル508の第2のインスタンスの原点の絶対座標は(190,190)である。
セル508は、ハイブリッド型階層表現500において列挙型データ構造506を更に含む。列挙型データ構造506は、リスト520とリスト522とリスト524を含む。リスト520は、セル514の原点(100,100)を含む。さらに、リスト522は、セル504の各インスタンスの原点をセル514に関する相対座標で含む。そのため、リスト522は、セル504の第1のインスタンスの原点を(50,50)として含み、セル504の第2のインスタンスの原点を(70,70)として含む。さらに、リスト524はセル508の第1のインスタンスの原点とセル508の第2のインスタンスの原点をセル504に関する相対座標で含む。そのため、リスト524は、セル508の第1のインスタンスの原点を(10,10)として含み、セル508の第2のインスタンスの原点を(20,20)として含む。
さらに、セル504の第1のインスタンスとセル504の第2のインスタンスは、それぞれセル512の1つのインスタンスを含む。セル504の第1のインスタンスにおけるセル512のインスタンスの原点の絶対座標は(195,195)であり、セル504の第2のインスタンスにおけるセル512のインスタンスの原点の絶対座標は(215,215)である。
セル512は、ハイブリッド型階層表現500において列挙型データ構造510を更に含む。列挙型データ構造510は、リスト526とリスト528とリスト530を含む。リスト526は、セル514の原点(100,100)を含む。さらに、リスト528は、セル504の各インスタンスの原点をセル514に関する相対座標で含む。そのため、リスト528は、セル504の第1のインスタンスの原点を(50,50)として含み、セル504の第2のインスタンスの原点を(70,70)として含む。さらに、リスト530は、セル512のインスタンスの原点をセル504に関する相対座標で含む。そのため、リスト530は、セル512のインスタンスの原点を(45,45)として含む。
例示的な本実施形態において、ハイブリッド型階層表現400上でセル単位の演算(cell-wise operation)が実行される。セル単位の演算をセル512で実行しなければならない場合、反復アルゴリズムは、列挙型データ構造510に作用し、リスト526、リスト528およびリスト530を用いてセル512のインスタンスの原点の絶対座標を計算する。セル504の第1のインスタンスにおけるセル512のインスタンスの場合、反復アルゴリズムは、リスト526に格納されたセル514のインスタンスの原点(100,100)と、リスト528に格納されたセル504の第1のインスタンスの原点(50,50)と、リスト530に格納されたセル512のインスタンスの原点(45,45)とを加えて、セル504の第1のインスタンスにおけるセル512のインスタンスの絶対座標(195,195)を生成する。同様に、セル504の第2のインスタンスにおけるセル512のインスタンスの場合、反復アルゴリズムは、リスト526に格納されたセル514のインスタンスの原点(100,100)と、リスト528に格納されたセル504の第2のインスタンスの原点(70,70)と、リスト530に格納されたセル512のインスタンスの原点(45,45)とを加えて、セル504の第2のインスタンスにおけるセル512のインスタンスの絶対座標(215,215)を生成する。
図6は、本発明の例示的な実施の一形態による、構造データのハイブリッド型フラット表現(hybrid-flat representation)における第1のセルに対応する境界ボックス(bounding box)600のブロック図である。第1のセルはトップセルである。さらに、第1のセルは第2のセルの2つのインスタンス、幾何学図形602と幾何学図形604の親である。そのため、境界ボックス600は、第2のセルの第1のインスタンスに対応する境界ボックス606と、第2のセルの第2のインスタンスに対応する境界ボックス608と、幾何学図形602と、幾何学図形604を含む。
ハイブリッド型フラット表現において、セルのインスタンスの境界ボックスは、トップセルにおいて境界ボックスの対角線の両端点の座標で表される。従って、境界ボックス600はトップセルに対応する。境界ボックスは、トップセルにおいてポイント610の絶対座標(110,110)とポイント612の絶対座標(135,135)として表される。同様に、境界ボックス606は、トップセルにおいてポイント614の絶対座標(111,111)とポイント616の絶対座標(120,120)として表される。加えて、境界ボックス608は、トップセルにおいてポイント618の絶対座標(121,121)とポイント620の絶対座標(130,130)として表される。さらに、境界ボックス内の各幾何学図形の空間情報は、データベースの空間コンポーネントの中に境界ボックスの対角線の端点の座標に関する相対座標で格納される。そのため、幾何学図形602と幾何学図形604の空間情報は、データベースの空間コンポーネントの中にポイント610とポイント612に関する相対座標で格納される。ポイント622の絶対座標は(110,131)として表され、これは境界ボックス600に関する相対座標(0,21)として格納される。同様に、絶対座標(129,110)として表されるポイント624は、境界ボックス600に関する相対座標(19,0)として格納される。
例示的な本実施形態では、幾何学的レイアウトデザインデータに対してウィンドウクエリー(window query operation)が実行される。ウィンドウクエリーのクエリーウィンドウ(query window)626が幾何学図形602と重なると、ポイント610の絶対座標とポイント622相対座標を加えることによってポイント622が読み出される。その結果、ポイント622は絶対座標(110,131)として読み出される。
図7は、本発明の実施の一形態による、レイアウト後EDAアプリケーションを開発するためのアプリケーション700を示すブロック図である。アプリケーション700は、分離モジュール(segregating module)702と、ライブラリセット(ライブラリ集合)704を含む。分離モジュール702は、リーダ(reader)706と通信する。リーダ706は、1以上の入力データフォーマットファイルから幾何学的レイアウトデザインデータを抽出する。その後、分離モジュール702は、1以上の入力データフォーマットファイルから抽出された幾何学的レイアウトデザインデータを、構造データ、空間データ、およびRAWジオメトリデータの各データに分離する。これについては、図2に関連して説明されている。幾何学的レイアウトデザインデータを分離した後、データベースモジュール708は、データベース712の構造コンポーネント710に構造データを格納し、データベース712の空間コンポーネント714に空間データを格納し、データベース712のRAWジオメトリコンポーネント716にRAWジオメトリデータを格納する。これについては、図3に関連して説明されている。
構造データの各表現ごとに、構造コンポーネント710は、空間コンポーネント714とRAWジオメトリコンポーネント716の各コンポーネントと第1のAPI(Application Programming Interface)を介して通信(データのやり取り)する。同様に、空間データの各表現ごとに、空間コンポーネント714は、構造コンポーネント710とRAWジオメトリコンポーネント716の各コンポーネントと第2のAPIを介して通信する。さらに、RAWジオメトリデータの各表現ごとに、RAWジオメトリコンポーネント716は、構造コンポーネント710と空間コンポーネント714の各コンポーネントと第3のAPIを介して通信する。これによりアプリケーション700のモジュール性が保証される。
本発明の実施の一形態において、第1のAPIと第2のAPIと第3のAPIの各APIのおかげで、データベースモジュール708とデータベース712は、構造データ、空間データ、およびRAWジオメトリデータの各データの1以上の表現における整合性を維持することができる。例えば、空間データは、ボロノイ図(Voronoi diagrams)と四分木(Quad-tree)の各表現を用いて表される。この場合、1以上の変更が空間データのボロノイ図表現において行われる場合、データベースモジュール708は、空間データの整合性を維持するために、データベース712における空間データコンポーネント714の四分木表現を変更する。
分離された幾何学的レイアウトデザインデータを格納した後、レイアウト後EDAアプリケーションは、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して、1以上の所定の演算を実行する。レイアウト後EDAアプリケーションは、ライブラリセット704から1以上のライブラリをロードすることによって1以上の所定の演算を実行する。ライブラリセット704内のライブラリは1以上の所定の演算に対応する。ライブラリセット704内の各ライブラリは事前にコンパイルされたオブジェクトコードライブラリである。これについては、図2との関連で説明されている。本発明の実施の一形態において、ライブラリセット704と両立するユーザによって開発されたライブラリがライブラリセット704に追加されることがある。
1以上の所定の演算を実行した後、集約モジュール718は、構造データ、空間データ、およびRAWジオメトリデータの1以上のデータに対して1以上の所定の演算を実行した1以上の結果を集約して、集約された結果を生成する。集約モジュール718は、構造データ、空間データ、およびRAWジオメトリデータを集約して、集約結果を生成することができる。その後、集約モジュール718は、ライタ(writer)720と通信する。ライタ720は、集約結果を1以上の出力データフォーマットファイルに書き込む。
本発明の様々な実施形態は、レイアウト後EDAアプリケーションを開発するための方法およびシステムを提供する。このようにして開発されたレイアウト後EDAアプリケーションは、幾何学的レイアウトデザインデータを、構造データ、空間データ、およびRAWジオメトリデータの各データに分離する。これにより、構造データ、空間データ、およびRAWジオメトリデータの各データが容易に利用できることから、幾何学的レイアウトデザインデータに対する効率の高いレイアウト後演算が可能となる。加えて、構造データ、空間データ、およびRAWジオメトリデータの各データの1以上の表現は、実行する演算に応じて使用することができる。構造データ、空間データ、およびRAWジオメトリデータの各データを表現するために使用する表現は、実行時間またはコンパイル時間に選択することができる。加えて、1以上のデータ表現同士の間のデータ整合性が維持される。さらに、本発明の様々な実施形態は、使用するメモリ空間が少なくて済み効率の高い演算性能を可能にするデータ表現方法を提供する。
上記の説明では、本発明の特定の実施形態について説明してきた。しかしながら、当業者であれば、特許請求の範囲の請求項によって確定される本発明の範囲内において、上記実施形態の様々な変形および変更が可能であることは理解されよう。従って、本明細書および図面は制約目的ではなく説明目的で提供されていると解すべきであり、全ての斯かる変更および変形は本発明の範囲内に含まれることを意図している。本発明の利益、利点、課題解決方法、および任意の利益、利点、または解決方法をもたらすまたはより顕著にすることがある任意の要素は、特許請求の範囲の請求項のいずれかまたは全ての重要、必要、または不可欠な特徴もしくは要素と解すべきではない。
本発明が機能する環境(の一例)を示すブロック図である。 本発明の実施の一形態による、幾何学的レイアウトデザインデータを処理するための方法のフロー図である。 本発明の実施の一形態による、データの流れを示すフロー図である。 複数のセルを含む構造データの階層表現を示すブロック図である。 本発明の実施の一形態による、複数のセル、第1のセルの列挙型データ構造、第2のセルの列挙型データ構造、および第3のセルの列挙型データ構造を含むハイブリッド型階層表現を示すブロック図である。 本発明の実施の一形態による、構造データのハイブリッド型フラット表現における第1のセルに対応する境界ボックスを示すブロック図である。 本発明の実施の一形態による、レイアウト後EDAアプリケーションを開発するためのアプリケーションを示すブロック図である。

Claims (23)

  1. 電子回路を製造するために物理的レイアウトデータから変換される幾何学的レイアウトデザインデータを、コンピュータによって処理するための方法であって、
    前記コンピュータのリーダが、少なくとも1つの入力データフォーマットファイルから前記幾何学的レイアウトデザインデータを抽出するステップと、
    前記コンピュータの分離モジュールが、前記少なくとも1つの入力データフォーマットファイルから抽出された前記幾何学的レイアウトデザインデータを、構造データ、空間データ、およびRAWジオメトリデータの各データに分離するステップと、
    データベースと通信している前記コンピュータのデータベースモジュールが、前記構造データ、前記空間データ、および前記RAWジオメトリデータの少なくとも1つのデータに対して、少なくとも1つの所定の演算を実行するステップと
    を含んでなる方法。
  2. 前記幾何学的レイアウトデザインデータを分離するステップは、
    前記データベースの構造コンポーネントに前記構造データを格納し、
    前記データベースの空間コンポーネントに前記空間データを格納し、
    前記データベースのRAWジオメトリコンポーネントに前記RAWジオメトリデータを格納する、
    ことを含むものである請求項1に記載の方法。
  3. 前記構造データは、階層表現、ハイブリッド型階層表現、フラット表現、およびハイブリッド型フラット表現の少なくとも1つの表現として表されるものである請求項1に記載の方法。
  4. 前記階層表現、前記ハイブリッド型階層表現、および前記ハイブリッド型フラット表現の各表現はトップセルを含む第1の複数のセルを含み、該トップセルは、前記ハイブリッド型フラット表現および前記ハイブリッド型階層表現の各表現においては前記複数のセルの各セルの親であり、前記階層表現においては前記複数のセルの各セルの親または祖先である請求項3に記載の方法。
  5. 前記データベースの前記RAWジオメトリコンポーネントは0個以上の幾何学図形を含み、前記階層表現におけるセルは、
    前記データベースの前記RAWジオメトリコンポーネントを指し示す第1のポインタと、
    0個以上の子供セルと、
    各子供セルの各インスタンスのアドレスと
    の少なくとも1つを含むものである請求項4に記載の方法。
  6. 前記データベースの前記RAWジオメトリコンポーネントは0個以上の幾何学図形を含み、前記構造データの前記ハイブリッド型階層表現におけるセルは、
    前記データベースの前記RAWジオメトリコンポーネントを指し示す第2のポインタと、
    当該セルの各インスタンスのアドレスを生成するために使用される情報を含む列挙型データ構造と
    を含むものである請求項4に記載の方法。
  7. 前記ハイブリッド型階層表現は、前記セルの前記列挙型データ構造に対してイテレーションを実行して当該セルの各インスタンスのアドレスを生成する反復アルゴリズムを含むものである請求項6に記載の方法。
  8. 前記列挙型データ構造はDAG(有向非巡回グラフ)の部分集合であるPDAG(部分有向非巡回グラフ)であって、前記セルの該PDAGは、当該セルの各祖先と、該DAGにおける祖先同士の各ペア間の各既存リンクと、該DAGにおける当該セルと当該セルの各親との間の各既存リンクとを含むものである請求項6に記載の方法。
  9. 前記データベースの前記RAWジオメトリコンポーネントは0個以上の幾何学図形を含み、前記構造データの前記ハイブリッド型フラット表現における前記セルは前記データベースの前記RAWジオメトリコンポーネントを指し示す第3のポインタを含むものである請求項4に記載の方法。
  10. 前記ハイブリッド型フラット表現におけるトップセルはセル集合に属する各セルの各インスタンスに対応する各幾何学図形を囲い込む最小矩形に対応する情報を含み、該セル集合に属する各セルの第3のポインタは当該セルに対応する1以上の幾何学図形のアドレスを含むものである請求項9に記載の方法。
  11. 前記階層表現は、第1の所定のアルゴリズムを用いて前記ハイブリッド型階層表現へと変換されるものである請求項3に記載の方法。
  12. 前記データベースの前記RAWジオメトリコンポーネントは0個以上の幾何学図形を含み、前記構造データの前記フラット表現は前記データベースの前記RAWジオメトリコンポーネントを指し示す第4のポインタを含むトップセルを含むものである請求項3に記載の方法。
  13. 前記ハイブリッド型階層表現は、第2の所定のアルゴリズムを用いて前記ハイブリッド型フラット表現へと変換されるものである請求項3に記載の方法。
  14. 前記階層表現は、第3の所定のアルゴリズムを用いて前記ハイブリッド型フラット表現へと変換されるものである請求項3に記載の方法。
  15. 前記空間データは、空間表現の集合からの少なくとも1つの空間表現を用いて表されるものである請求項2に記載の方法。
  16. 前記RAWジオメトリデータは、複数のプリミティブな幾何学図形、座標表現方法、および複数のユーザ指定プロパティの各々を用いて表される請求項1に記載の方法。
  17. 少なくとも1つの所定の演算を実行するステップは、
    a)(i)前記構造データ、前記空間データ、および前記RAWジオメトリデータの少なくとも1つのデータに対して前記少なくとも1つの所定の演算を実行した少なくとも1つの結果と、(ii)前記構造データ、前記空間データ、および前記RAWジオメトリデータとの少なくともどちらか一方を、前記コンピュータの集約モジュールが集約し、
    b)前記コンピュータのライタが、少なくとも1つの出力データフォーマットファイルに前記集約された結果を書き込む
    ことを含むものである請求項1に記載の方法。
  18. レイアウト後EDA(電子設計自動化)アプリケーションを開発するためのコンピュータに読み取り可能なプログラムであって、
    a)少なくとも1つの入力データフォーマットファイルから前記コンピュータのリーダによって抽出された幾何学的レイアウトデザインデータを、前記コンピュータの分離モジュールによって構造データ、空間データ、およびRAWジオメトリデータの各データに分離させ指令と、
    b)データベースと通信している前記コンピュータのデータベースモジュールに対し、前記データベース内に格納されているライブラリ集合を用いて、前記構造データ、前記空間データ、および前記RAWジオメトリデータの少なくとも1つデータに対する各ライブラリについて、少なくとも1つの所定の演算を実行させる指令
    を含んでなる、レイアウト後EDAアプリケーションを開発するためのプログラム
  19. 前記データベースモジュールに対し、
    a)前記データベースの構造コンポーネントに前記構造データを格納させる指令と
    b)前記データベースの空間コンポーネントに前記空間データを格納させる指令と
    c)前記データベースのRAWジオメトリコンポーネントに前記RAWジオメトリデータを格納させる指令と
    を更に含むものである、請求項18に記載のプログラム
  20. a)前記構造データの各表現ごとに、前記構造コンポーネントに対し、第1のAPI(アプリケーション・プログラミング・インタフェース)を通じて前記空間コンポーネントおよび前記RAWジオメトリコンポーネントの各コンポーネントと通信させる指令と
    b)前記空間データの各表現ごとに、前記空間コンポーネントに対し、第2のAPIを通じて前記構造コンポーネントおよび前記RAWジオメトリコンポーネントの各コンポーネントと通信させる指令と
    c)前記RAWジオメトリデータの各表現ごとに、前記RAWジオメトリコンポーネントに対し、第3のAPIを通じて前記構造コンポーネントおよび前記空間コンポーネントの各コンポーネントと通信させる指令と
    を含むことを特徴とする、請求項19に記載のプログラム
  21. 前記コンピュータによってロードされたライブラリは、前記コンピュータのデータベースモジュールに対し、前記構造データ、前記空間データ、および前記RAWジオメトリデータの少なくとも1つのデータに対して少なくとも1つの演算を実行させる指令を含むものである、請求項18に記載のプログラム
  22. a)前記コンピュータの集約モジュールに対し、(i)前記構造データ、前記空間データ、および前記RAWジオメトリデータの少なくとも1つのデータに対して前記少なくとも1つの所定の演算を実行した、少なくとも1つの結果と、(ii)前記構造データ、前記空間データ、および前記RAWジオメトリデータとの少なくともいずれか一方を集約させる指令と、
    b)前記リーダに対し、少なくとも1つの入力データフォーマットファイルから前記幾何学的レイアウトデザインデータを抽出させる指令と、
    c)前記コンピュータのライタに対し、少なくとも1つの出力データフォーマットファイルに前記集約された結果を書き込ませる指令
    を更に含むものである、請求項18に記載のプログラム
  23. 前記ライブラリ集合に属する各ライブラリは、事前にコンパイルされたオブジェクトコードライブラリである、請求項18に記載のプログラム
JP2008540791A 2005-11-21 2006-11-10 レイアウト後edaアプリケーションを開発するための方法およびシステム Active JP5033135B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN975CH2005 2005-11-21
IN975/CHE/2005 2005-11-21
PCT/IN2006/000445 WO2007057921A2 (en) 2005-11-21 2006-11-10 A method and system for developing post-layout electronic data automation (eda) applications

Publications (2)

Publication Number Publication Date
JP2009516876A JP2009516876A (ja) 2009-04-23
JP5033135B2 true JP5033135B2 (ja) 2012-09-26

Family

ID=38049081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008540791A Active JP5033135B2 (ja) 2005-11-21 2006-11-10 レイアウト後edaアプリケーションを開発するための方法およびシステム

Country Status (3)

Country Link
US (1) US7818708B2 (ja)
JP (1) JP5033135B2 (ja)
WO (1) WO2007057921A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145772A1 (en) * 2009-05-14 2011-06-16 Pikus Fedor G Modular Platform For Integrated Circuit Design Analysis And Verification
CN105989210B (zh) * 2015-02-27 2019-04-09 中芯国际集成电路制造(上海)有限公司 定制化虚拟图案填充方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04115370A (ja) * 1990-09-05 1992-04-16 Nippon Telegr & Teleph Corp <Ntt> 図形データ構成法
JPH06104161A (ja) * 1992-09-21 1994-04-15 Mitsubishi Electric Corp レイヤ自動生成装置およびebカット処理装置
JP3231461B2 (ja) * 1993-03-16 2001-11-19 大日本印刷株式会社 Lsi設計データ管理装置
US5530372A (en) * 1994-04-15 1996-06-25 Schlumberger Technologies, Inc. Method of probing a net of an IC at an optimal probe-point
JPH0822115A (ja) * 1994-07-06 1996-01-23 Dainippon Printing Co Ltd 描画装置用の描画データの作成方法
US5754826A (en) * 1995-08-04 1998-05-19 Synopsys, Inc. CAD and simulation system for targeting IC designs to multiple fabrication processes
JP3163959B2 (ja) * 1995-08-09 2001-05-08 ヤマハ株式会社 Lsi設計データのファイル変換方法及び装置
JP3935997B2 (ja) * 1996-08-07 2007-06-27 Mutohホールディングス株式会社 図面ファイルの中間フォーマットへの変換方法
US6289412B1 (en) * 1998-03-13 2001-09-11 Legend Design Technology, Inc. Layout synopsizing process for efficient layout parasitic extraction and circuit simulation in post-layout verification
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
JP2000206669A (ja) * 1999-01-12 2000-07-28 Sony Corp パタ―ンデ―タ作成装置およびパタ―ンデ―タ作成方法
JP2000242686A (ja) * 1999-02-24 2000-09-08 Sanyo Electric Co Ltd Cad装置、異機種cad間データ交換装置及びその方法
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US7356374B2 (en) * 2002-03-15 2008-04-08 Photronics, Inc. Comprehensive front end method and system for automatically generating and processing photomask orders
US7080340B2 (en) * 2003-11-26 2006-07-18 International Business Machines Corporation Interconnect-aware integrated circuit design
US7401319B2 (en) * 2004-12-23 2008-07-15 Invarium, Inc. Method and system for reticle-wide hierarchy management for representational and computational reuse in integrated circuit layout design

Also Published As

Publication number Publication date
WO2007057921A3 (en) 2009-04-23
US7818708B2 (en) 2010-10-19
US20080229267A1 (en) 2008-09-18
WO2007057921A2 (en) 2007-05-24
JP2009516876A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
US8266571B2 (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US7480878B2 (en) Method and system for layout versus schematic validation of integrated circuit designs
US6996790B2 (en) System and method for generating a two-dimensional yield map for a full layout
EP2310967B1 (en) Method and device for evaluation of similarity of circuit design data and for evualuation of changes to the data
CN105426567B (zh) 增量式布局分析
US9881119B1 (en) Methods, systems, and computer program product for constructing a simulation schematic of an electronic design across multiple design fabrics
US20080168410A1 (en) Properties In Electronic Design Automation
US7831944B2 (en) Circuit-design supporting apparatus, circuit-design supporting method, computer product, and printed-circuit-board manufacturing method
EP1305744A1 (en) Method and system for hierarchical metal-end, enclosure and exposure checking
US20140337810A1 (en) Modular platform for integrated circuit design analysis and verification
US11853680B2 (en) Incremental routing based pin assignment
US20130198703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US9262574B2 (en) Voltage-related analysis of layout design data
JP2005202928A (ja) レイアウト処理装置、レイアウト処理方法、及びプログラム
JP5033135B2 (ja) レイアウト後edaアプリケーションを開発するための方法およびシステム
US20100229133A1 (en) Property-Based Classification In Electronic Design Automation
US20100023897A1 (en) Property-Based Classification In Electronic Design Automation
CN103488044B (zh) 光罩图案分析装置及光罩图案分析方法
US9875329B1 (en) Method and system for import of mask layout data to a target system
US11861286B2 (en) Segregating defects based on computer-aided design (CAD) identifiers associated with the defects
US12032894B2 (en) System and method for synchronizing net text across hierarchical levels
US11763059B2 (en) Net-based wafer inspection
US8549457B1 (en) Method and system for implementing core placement
He et al. A General Layout Pattern Clustering Using Geometric Matching-based Clip Relocation and Lower-bound Aided Optimization
Tseng et al. Range pattern matching with layer operations and continuous refinements

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120305

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120629

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5033135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250