JPH07334565A - 物体の配置方法 - Google Patents
物体の配置方法Info
- Publication number
- JPH07334565A JPH07334565A JP7133028A JP13302895A JPH07334565A JP H07334565 A JPH07334565 A JP H07334565A JP 7133028 A JP7133028 A JP 7133028A JP 13302895 A JP13302895 A JP 13302895A JP H07334565 A JPH07334565 A JP H07334565A
- Authority
- JP
- Japan
- Prior art keywords
- mergeable
- layout
- objects
- automatically
- cost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【目的】 レイアウト中の既存の物体の摂動が最小にな
るようにレイアウトに物体を自動配置すること。 【構成】 水平制約モデルおよび垂直制約モデルを導出
することによって、設計規則またはユーザ定義規則に従
うように既存のレイアウトを修正する。各垂直配向およ
び各水平配向ごとに順番に、規則違反を識別する。各配
向ごとに順番に、レイアウト中の物体が必要最低限の量
しか移動しないように違反を削除する。物体の合併解お
よび非合併解を許容する解を求め、所定の基準に基づい
て最適な解を選択することによって、既存のレイアウト
中の物体の摂動が最小になるように、所与の物体を挿入
することもできる。
るようにレイアウトに物体を自動配置すること。 【構成】 水平制約モデルおよび垂直制約モデルを導出
することによって、設計規則またはユーザ定義規則に従
うように既存のレイアウトを修正する。各垂直配向およ
び各水平配向ごとに順番に、規則違反を識別する。各配
向ごとに順番に、レイアウト中の物体が必要最低限の量
しか移動しないように違反を削除する。物体の合併解お
よび非合併解を許容する解を求め、所定の基準に基づい
て最適な解を選択することによって、既存のレイアウト
中の物体の摂動が最小になるように、所与の物体を挿入
することもできる。
Description
【0001】
【産業上の利用分野】本発明は、全般的には、物体の配
置に関する。詳細には、本発明は、物体の配置における
自動化支援に関する。
置に関する。詳細には、本発明は、物体の配置における
自動化支援に関する。
【0002】
【従来の技術】半導体チップ業界や建築業界など、物体
の配置が最も重要である分野では、コンピュータ設計を
使用する「手動」レイアウトは、時間がかかり、従来は
試行錯誤的なプロセスとなっていた。特定の物体間の最
小距離など物体に対する制約によって、手動レイアウト
はさらに複雑になる。異なる配置戦略を追求するために
レイアウトを修正する効率によって、設計者の生産性が
定義される。
の配置が最も重要である分野では、コンピュータ設計を
使用する「手動」レイアウトは、時間がかかり、従来は
試行錯誤的なプロセスとなっていた。特定の物体間の最
小距離など物体に対する制約によって、手動レイアウト
はさらに複雑になる。異なる配置戦略を追求するために
レイアウトを修正する効率によって、設計者の生産性が
定義される。
【0003】物体配置設計に関連する生産性の問題に対
処するための試みがなされている。このような試みは一
般に、特に半導体チップ業界では、完全自動化物体配置
とシンボリック・エントリの2つのクラスに分けること
ができる。完全自動化物体配置は、設計者による設計管
理を完全に不要にし、物体のタイプおよび設計方式によ
って制限される。シンボリック・エントリ法では、設計
者は、制約を考慮せずに、記号環境でレイアウトを設計
することができる。記号設計は次いで、制約に従った設
計にグローバルに自動的に変換される。この設計は、記
号環境での理想的な設計とはしばしば著しく異なる。し
たがって、どちらのタイプの自動化物体配置でも、設計
者による設計管理が限定され、あるいは不要である。
処するための試みがなされている。このような試みは一
般に、特に半導体チップ業界では、完全自動化物体配置
とシンボリック・エントリの2つのクラスに分けること
ができる。完全自動化物体配置は、設計者による設計管
理を完全に不要にし、物体のタイプおよび設計方式によ
って制限される。シンボリック・エントリ法では、設計
者は、制約を考慮せずに、記号環境でレイアウトを設計
することができる。記号設計は次いで、制約に従った設
計にグローバルに自動的に変換される。この設計は、記
号環境での理想的な設計とはしばしば著しく異なる。し
たがって、どちらのタイプの自動化物体配置でも、設計
者による設計管理が限定され、あるいは不要である。
【0004】
【発明が解決しようとする課題】したがって、設計管理
が維持され、かつ手動配置の非効率が避けられる、物体
配置設計における自動化支援が必要である。改良型の自
動化物体配置も必要である。
が維持され、かつ手動配置の非効率が避けられる、物体
配置設計における自動化支援が必要である。改良型の自
動化物体配置も必要である。
【0005】簡単に言うと、本発明は、物体の摂動が最
小になるように物体のレイアウトにおける配置規則の違
反を増分的に訂正する方法および装置を提供することに
よって、設計管理を維持し、物体配置設計における効率
的な自動化支援の必要を満たすものである。最小摂動
は、自動物体配置の方法および装置においても有用であ
る。
小になるように物体のレイアウトにおける配置規則の違
反を増分的に訂正する方法および装置を提供することに
よって、設計管理を維持し、物体配置設計における効率
的な自動化支援の必要を満たすものである。最小摂動
は、自動物体配置の方法および装置においても有用であ
る。
【0006】上記によって、本発明の一目的は、物体の
配置における支援を提供することである。
配置における支援を提供することである。
【0007】本発明の他の目的は、物体の配置が、適用
される物体配置規則に従うようにすることである。
される物体配置規則に従うようにすることである。
【0008】本発明の他の目的は、レイアウトにおける
既存の物体の摂動が最小になるように、レイアウトに物
体を配置する際に支援を提供することである。
既存の物体の摂動が最小になるように、レイアウトに物
体を配置する際に支援を提供することである。
【0009】本発明の他の目的は、自動化物体配置を行
うことである。
うことである。
【0010】本発明の他の目的は、レイアウトにおける
既存の物体の摂動が最小になるように、レイアウトにお
いて自動化物体配置を行うことである。
既存の物体の摂動が最小になるように、レイアウトにお
いて自動化物体配置を行うことである。
【0011】本発明の他の目的は、レイアウトにすでに
配置されている物体の摂動が最小になるように物体が連
続的に配置される、自動化レイアウト作成を行うことで
ある。
配置されている物体の摂動が最小になるように物体が連
続的に配置される、自動化レイアウト作成を行うことで
ある。
【0012】
【課題を解決するための手段】本発明の第1の態様で
は、複数の物体のレイアウトを複数の所定の規則に従う
ように修正する方法を提供する。最初に、レイアウト内
での複数の所定の規則の少なくとも1つの違反を識別す
る。次いで、複数の物体の摂動が最小になるように、少
なくとも1つの違反を削除するためにレイアウトを修正
する。第1の態様の方法はさらに、少なくとも1つの違
反のために移行的である複数の物体のうちのすべての物
体をレイアウト内で識別するステップを含むことができ
る。第1の態様の方法は、識別ステップの前にレイアウ
ト用の制約モデルを導出するステップを含むこともで
き、その場合、識別ステップは、制約モデル内の少なく
とも1つの違反を識別するステップを含み、修正ステッ
プは、制約モデルに従ってレイアウトを修正するステッ
プを含む。
は、複数の物体のレイアウトを複数の所定の規則に従う
ように修正する方法を提供する。最初に、レイアウト内
での複数の所定の規則の少なくとも1つの違反を識別す
る。次いで、複数の物体の摂動が最小になるように、少
なくとも1つの違反を削除するためにレイアウトを修正
する。第1の態様の方法はさらに、少なくとも1つの違
反のために移行的である複数の物体のうちのすべての物
体をレイアウト内で識別するステップを含むことができ
る。第1の態様の方法は、識別ステップの前にレイアウ
ト用の制約モデルを導出するステップを含むこともで
き、その場合、識別ステップは、制約モデル内の少なく
とも1つの違反を識別するステップを含み、修正ステッ
プは、制約モデルに従ってレイアウトを修正するステッ
プを含む。
【0013】本発明の第2の態様では、複数の物体のレ
イアウト内に自動的に物体を挿入する方法を提供する。
最初に、レイアウトに挿入する物体を選択する。物体を
選択した後、複数の物体のうちの少なくとも1つに選択
された物体を合併するための少なくとも1つの合併可能
な位置が、レイアウト内に存在するかどうかを判定す
る。選択した物体をレイアウト内に挿入するための少な
くとも1つの合併不能な位置が、レイアウト内に存在す
るかどうかも判定する。選択した物体は次いで、複数の
物体の摂動が最小になるように、合併可能な位置および
合併不能な位置のうちの一方に自動的に挿入される。任
意選択で、所定のコスト関数を使用して、合併可能な最
低コスト位置および合併不能な最低コスト位置を決定す
ることができる。合併可能な位置がない場合、選択した
物体は自動的に合併不能な最低コスト位置に挿入され、
合併不能な位置がある場合、合併可能な最低コスト位置
に自動的に挿入される。合併可能な位置も合併不能な位
置もある場合、合併可能な最低コスト位置と合併不能な
最低コスト位置が自動的に比較され、全体的な最低コス
ト位置が決定され、選択した物体は自動的に、全体的な
最低コスト位置でレイアウトに挿入される。既存のレイ
アウトに物体を挿入せずにレイアウトを作成するには、
第2の態様の方法を順次、複数の物体に適用することが
できる。レイアウト内の物体の配置を改善するには、既
存のレイアウトから削除された物体に所定回数だけ、あ
るいは停止の決定が下されるまで、第2の態様の方法を
適用することができる。
イアウト内に自動的に物体を挿入する方法を提供する。
最初に、レイアウトに挿入する物体を選択する。物体を
選択した後、複数の物体のうちの少なくとも1つに選択
された物体を合併するための少なくとも1つの合併可能
な位置が、レイアウト内に存在するかどうかを判定す
る。選択した物体をレイアウト内に挿入するための少な
くとも1つの合併不能な位置が、レイアウト内に存在す
るかどうかも判定する。選択した物体は次いで、複数の
物体の摂動が最小になるように、合併可能な位置および
合併不能な位置のうちの一方に自動的に挿入される。任
意選択で、所定のコスト関数を使用して、合併可能な最
低コスト位置および合併不能な最低コスト位置を決定す
ることができる。合併可能な位置がない場合、選択した
物体は自動的に合併不能な最低コスト位置に挿入され、
合併不能な位置がある場合、合併可能な最低コスト位置
に自動的に挿入される。合併可能な位置も合併不能な位
置もある場合、合併可能な最低コスト位置と合併不能な
最低コスト位置が自動的に比較され、全体的な最低コス
ト位置が決定され、選択した物体は自動的に、全体的な
最低コスト位置でレイアウトに挿入される。既存のレイ
アウトに物体を挿入せずにレイアウトを作成するには、
第2の態様の方法を順次、複数の物体に適用することが
できる。レイアウト内の物体の配置を改善するには、既
存のレイアウトから削除された物体に所定回数だけ、あ
るいは停止の決定が下されるまで、第2の態様の方法を
適用することができる。
【0014】本発明の第3の態様では、第1および第2
の態様を実施するための装置を提供する。この装置は、
コンピュータで構成することができる。
の態様を実施するための装置を提供する。この装置は、
コンピュータで構成することができる。
【0015】
【実施例】IC設計工程を自動化する従来の試みは、完
全自動デバイス配置とシンボリック・エントリの2つの
手法に分けることができる。完全自動化配置は、限られ
たクラスの非常に構造的な設計の問題、たとえば、2行
静的CMOSディジタル回路で成功を収めている。しか
し、完全自動化の成功により、特定の設計の複雑度また
はカスタム化レベル、あるいはその両方が著しく低下し
ている。さらに、完全自動化は、設計中の要素を圧縮し
てその寸法を最小限に抑える(そして、理論的には、性
能を向上させる)ことに焦点を当てる多数のケースで、
グローバル最適化問題として追求されている。そのた
め、最終結果が、設計者が最初に意図したものとは大き
く異なることがある。したがって、設計者は、自動化の
結果を構想した設計に近づけるために自動化アルゴリズ
ムのパラメータを修正しなければならない。
全自動デバイス配置とシンボリック・エントリの2つの
手法に分けることができる。完全自動化配置は、限られ
たクラスの非常に構造的な設計の問題、たとえば、2行
静的CMOSディジタル回路で成功を収めている。しか
し、完全自動化の成功により、特定の設計の複雑度また
はカスタム化レベル、あるいはその両方が著しく低下し
ている。さらに、完全自動化は、設計中の要素を圧縮し
てその寸法を最小限に抑える(そして、理論的には、性
能を向上させる)ことに焦点を当てる多数のケースで、
グローバル最適化問題として追求されている。そのた
め、最終結果が、設計者が最初に意図したものとは大き
く異なることがある。したがって、設計者は、自動化の
結果を構想した設計に近づけるために自動化アルゴリズ
ムのパラメータを修正しなければならない。
【0016】シンボリック・エントリ法では、個々のデ
バイスを代表的な寸法の物体として表し、ワイヤをゼロ
幅の棒として表す記号形式で、デバイス配置(および経
路指定)を操作することができる。設計者は、実際のデ
バイス寸法、ワイヤ寸法、デバイス間間隔などの技術設
計規則に留意せずに、大まかなトポロジ情報のみを供給
する。次いで、実際のデバイスおよびワイヤの寸法を設
計規則と共に使用して、記号レイアウトを圧縮する。完
全自動化手法と同様に、圧縮によって意図せぬ結果がも
たらされ、最終製品に対する設計者の制御が制限され、
設計者が制約を追加することが必要になる。シンボリッ
ク手法では、デバイスの寸法など設計上の決定に重大で
ある有用なデータが設計者から隠されることもある。
バイスを代表的な寸法の物体として表し、ワイヤをゼロ
幅の棒として表す記号形式で、デバイス配置(および経
路指定)を操作することができる。設計者は、実際のデ
バイス寸法、ワイヤ寸法、デバイス間間隔などの技術設
計規則に留意せずに、大まかなトポロジ情報のみを供給
する。次いで、実際のデバイスおよびワイヤの寸法を設
計規則と共に使用して、記号レイアウトを圧縮する。完
全自動化手法と同様に、圧縮によって意図せぬ結果がも
たらされ、最終製品に対する設計者の制御が制限され、
設計者が制約を追加することが必要になる。シンボリッ
ク手法では、デバイスの寸法など設計上の決定に重大で
ある有用なデータが設計者から隠されることもある。
【0017】本発明は、第1の実施例では、物体配置の
多数の退屈な部分を自動化し、同時に、カスタム・レイ
アウト設計の十分な柔軟性を維持する。この自動化は、
最小限の修正を使用する各手動編集操作の後にレイアウ
トを増分的に訂正する、最小摂動技法を含む。これによ
って、設計者は、以前に可能であったよりも多数の有効
な配置構成を所与の時間で開発することができる。本発
明の結果、レイアウト品質が改善され、設計者の生産性
が大幅に拡張される。以下では、集積回路(以下、「I
C」)設計に関して本発明を説明するが、本発明が他の
物体配置の分野にも適用されることを理解されたい。
多数の退屈な部分を自動化し、同時に、カスタム・レイ
アウト設計の十分な柔軟性を維持する。この自動化は、
最小限の修正を使用する各手動編集操作の後にレイアウ
トを増分的に訂正する、最小摂動技法を含む。これによ
って、設計者は、以前に可能であったよりも多数の有効
な配置構成を所与の時間で開発することができる。本発
明の結果、レイアウト品質が改善され、設計者の生産性
が大幅に拡張される。以下では、集積回路(以下、「I
C」)設計に関して本発明を説明するが、本発明が他の
物体配置の分野にも適用されることを理解されたい。
【0018】一般に、ICレイアウトは、デバイスたと
えばトランジスタと、トランジスタの位置と、電源バス
や接地バスなどイメージ中の固定回路要素と、ワイヤな
どデバイスに取り付けられた可動要素とのリストを含
む。話を簡単にするために、以下の典型的な説明は、デ
バイスのみから成るレイアウトについて行う。しかし、
この説明が他の回路要素を含むように拡張できることを
理解されたい。また、「レイアウト」の語は、本明細書
では、要素のリストと、要素の視覚表現の両方に使用す
る。
えばトランジスタと、トランジスタの位置と、電源バス
や接地バスなどイメージ中の固定回路要素と、ワイヤな
どデバイスに取り付けられた可動要素とのリストを含
む。話を簡単にするために、以下の典型的な説明は、デ
バイスのみから成るレイアウトについて行う。しかし、
この説明が他の回路要素を含むように拡張できることを
理解されたい。また、「レイアウト」の語は、本明細書
では、要素のリストと、要素の視覚表現の両方に使用す
る。
【0019】この例示的実施例は、所与のデバイスを、
全体として操作できるが独立には操作できない形状の集
合としてレイアウト内でモデル化するものである。IC
デバイスを矩形ブロックとみなし、そのポートが、外部
配線接点、たとえばトランジスタのソース、ドレーン、
およびゲートを表すものとする。各ポートは、他のポー
トとの接続性を記述するネット属性に関連付けられる。
デバイス境界上にあるポートは明示的にマーク付けさ
れ、デバイス間配置は、デバイスの境界エッジの間で制
約を維持することによって設計規則に従う。デバイス内
の形状の位置は、デバイスの境界に対して固定され、異
なるデバイスの形状間の制約は、対応するデバイスの境
界エッジ間の制約に変換することができる。
全体として操作できるが独立には操作できない形状の集
合としてレイアウト内でモデル化するものである。IC
デバイスを矩形ブロックとみなし、そのポートが、外部
配線接点、たとえばトランジスタのソース、ドレーン、
およびゲートを表すものとする。各ポートは、他のポー
トとの接続性を記述するネット属性に関連付けられる。
デバイス境界上にあるポートは明示的にマーク付けさ
れ、デバイス間配置は、デバイスの境界エッジの間で制
約を維持することによって設計規則に従う。デバイス内
の形状の位置は、デバイスの境界に対して固定され、異
なるデバイスの形状間の制約は、対応するデバイスの境
界エッジ間の制約に変換することができる。
【0020】デバイス・エッジ間の隣接関係は、水平関
係用のリストと垂直関係用のリストの2つの制約リスト
を使用して記録される。デバイスの間隔、重なり、交
差、および寸法に関する制約は、レイアウトを水平およ
び垂直に走査することの類推でリスト中の関係を走査す
ることによって導出される。
係用のリストと垂直関係用のリストの2つの制約リスト
を使用して記録される。デバイスの間隔、重なり、交
差、および寸法に関する制約は、レイアウトを水平およ
び垂直に走査することの類推でリスト中の関係を走査す
ることによって導出される。
【0021】図1ないし4は、異なる水平関係タイプを
示す。垂直関係は類似していることを理解されたい。図
1は、距離14だけ離間された物体10と物体12を示
す。任意の基準18に対する物体10の右エッジ16の
位置をx(10,r)で示し、物体12の左エッジ20の位置
をx(12,l)で示す。少なくとも最小分離距離を維持する
ために物体10と物体12の間に以下の間隔制約を導入
する。
示す。垂直関係は類似していることを理解されたい。図
1は、距離14だけ離間された物体10と物体12を示
す。任意の基準18に対する物体10の右エッジ16の
位置をx(10,r)で示し、物体12の左エッジ20の位置
をx(12,l)で示す。少なくとも最小分離距離を維持する
ために物体10と物体12の間に以下の間隔制約を導入
する。
【数5】 x(12,l)−x(10,r)≧min_dist(10,12)
【0022】上式で、min_dist(10,12)は、そ
の物体タイプに許容される最小距離である。物体10と
物体12の間の現距離が正確に維持される場合、上記の
制約において「>」は削除される。
の物体タイプに許容される最小距離である。物体10と
物体12の間の現距離が正確に維持される場合、上記の
制約において「>」は削除される。
【0023】図2は、merge_dist(10,12)で
示される距離22だけ合併された図1の物体10および
12を示す。2つの物体を合併する場合、少なくとも合
併を維持するために以下の制約を導入する。
示される距離22だけ合併された図1の物体10および
12を示す。2つの物体を合併する場合、少なくとも合
併を維持するために以下の制約を導入する。
【数6】 x(10,r)−x(12,l)=merge_dist(10,12)
【0024】図3は、物体10と物体12が交差する状
態を示す。この交差は、物体12の左エッジ20と物体
10の右エッジ16の間の距離24と、物体10の左エ
ッジ28と物体12の右エッジ30の間の距離26によ
って定義される。距離24は、intersectio
n_dist1で表し、距離26は、intersec
tion_dist2で表す。少なくともこの交差を維
持するために以下の2つの制約を導入する。
態を示す。この交差は、物体12の左エッジ20と物体
10の右エッジ16の間の距離24と、物体10の左エ
ッジ28と物体12の右エッジ30の間の距離26によ
って定義される。距離24は、intersectio
n_dist1で表し、距離26は、intersec
tion_dist2で表す。少なくともこの交差を維
持するために以下の2つの制約を導入する。
【数7】x(10,r)−x(12,l)≧intersectio
n_dist1かつ x(12,r)−x(10,l)≧intersection_di
st2
n_dist1かつ x(12,r)−x(10,l)≧intersection_di
st2
【0025】通常、水平方向に交差する2つの物体は垂
直方向にも交差することに留意されたい。
直方向にも交差することに留意されたい。
【0026】図4は、左エッジ28と右エッジ16の間
に距離32を有する図1の物体10を示す。距離32を
device_size10で表す。物体10の寸法を維
持するために、以下の制約を導入する。
に距離32を有する図1の物体10を示す。距離32を
device_size10で表す。物体10の寸法を維
持するために、以下の制約を導入する。
【数8】 x(10,r)−x(10,l)=device_size10
【0027】レイアウト中の所与の点に、物体間の間隔
が不十分であることなど設計規則エラーが存在すること
がある。設計規則エラーは、制約リストにおいて制約違
反として現れる。図5は、総称物体34、36、38を
備える簡単なレイアウト33を示し、物体34と物体3
6は距離40だけ離れ、物体36と物体38は距離42
だけ離れている。距離40は、デバイス36の左エッジ
46とデバイス34の右エッジ44の間の距離として記
述することができる。エッジ44および46は、任意の
基準48に対する距離値を示す。そのような物体に関す
る設計規則によれば、距離40および42が不十分であ
ると仮定する。すなわち、以下の数式で、距離40に関
する違反を記述する。
が不十分であることなど設計規則エラーが存在すること
がある。設計規則エラーは、制約リストにおいて制約違
反として現れる。図5は、総称物体34、36、38を
備える簡単なレイアウト33を示し、物体34と物体3
6は距離40だけ離れ、物体36と物体38は距離42
だけ離れている。距離40は、デバイス36の左エッジ
46とデバイス34の右エッジ44の間の距離として記
述することができる。エッジ44および46は、任意の
基準48に対する距離値を示す。そのような物体に関す
る設計規則によれば、距離40および42が不十分であ
ると仮定する。すなわち、以下の数式で、距離40に関
する違反を記述する。
【数9】 x(36,l)−x(34,r)<min_dist(34,36)
【0028】同様に、距離42に関する違反は以下のよ
うに表すことができる。
うに表すことができる。
【数10】 x(38,l)−x(36,r)<min_dist(36,38)
【0029】本発明を使用して違反を訂正した最終的結
果として、物体34、36、38の移動が最小になる、
すなわち物体の摂動が最小になるよう、レイアウト33
が設計規則に従うように修正される。具体的には、その
目的は、制約違反が削除され、すなわち、得られるレイ
アウトが「正当な」ものになり、所与のエッジが絶対に
必要な場合しか移動されないような、物体34、36、
38のエッジの新しい位置を見つけることである。この
ためにはまず、使用されるエッジを2つのグループに分
けるための定義が必要である。
果として、物体34、36、38の移動が最小になる、
すなわち物体の摂動が最小になるよう、レイアウト33
が設計規則に従うように修正される。具体的には、その
目的は、制約違反が削除され、すなわち、得られるレイ
アウトが「正当な」ものになり、所与のエッジが絶対に
必要な場合しか移動されないような、物体34、36、
38のエッジの新しい位置を見つけることである。この
ためにはまず、使用されるエッジを2つのグループに分
けるための定義が必要である。
【0030】右端(最も右側)の違反対中の左端エッジ
と、前記エッジのすべての移行的左隣接エッジとして、
エッジのLEFTSETを定義する。図5で、右端違反
対は、物体36の右エッジ50と物体38の左エッジ5
2である。LEFTSETの定義で、「移行的」とは、
連続する各エッジが、エッジ50から左へ移動し、前記
連続エッジの垂直スパンがすぐ前のエッジの垂直スパン
に一致することを意味する。たとえば、レイアウト33
で、物体34が基準48に対して現位置のままでなけれ
ばならないという制約がある場合、物体36および38
を右へ移動して違反を削除する必要がある。この例には
そのような制約はない。したがって、LEFTSETは
エッジ50、46、44、54を含む。
と、前記エッジのすべての移行的左隣接エッジとして、
エッジのLEFTSETを定義する。図5で、右端違反
対は、物体36の右エッジ50と物体38の左エッジ5
2である。LEFTSETの定義で、「移行的」とは、
連続する各エッジが、エッジ50から左へ移動し、前記
連続エッジの垂直スパンがすぐ前のエッジの垂直スパン
に一致することを意味する。たとえば、レイアウト33
で、物体34が基準48に対して現位置のままでなけれ
ばならないという制約がある場合、物体36および38
を右へ移動して違反を削除する必要がある。この例には
そのような制約はない。したがって、LEFTSETは
エッジ50、46、44、54を含む。
【0031】左端(最も左側)の違反対中の右端エッジ
と、前記エッジのすべての移行的右隣接エッジとして、
エッジのRIGHTSETを定義する。図5で、左端違
反対は、物体34の右エッジ44と物体36の左エッジ
46である。したがって、RIGHTSETは、エッジ
46、50、52、56を含む。この例のように所与の
レイアウトに複数の違反がある場合、LEFTSETと
RIGHTSETの両方に所与のエッジが存在できるこ
とに留意されたい。この場合、エッジ46および50
は、LEFTSETとRIGHTSETの両方にある。
と、前記エッジのすべての移行的右隣接エッジとして、
エッジのRIGHTSETを定義する。図5で、左端違
反対は、物体34の右エッジ44と物体36の左エッジ
46である。したがって、RIGHTSETは、エッジ
46、50、52、56を含む。この例のように所与の
レイアウトに複数の違反がある場合、LEFTSETと
RIGHTSETの両方に所与のエッジが存在できるこ
とに留意されたい。この場合、エッジ46および50
は、LEFTSETとRIGHTSETの両方にある。
【0032】最後の制約として、LEFTSETだけに
あるエッジが、移動するにしても、基準48に対して現
位置の左にしか移動できないと仮定する。この場合、こ
の制約は、エッジ44および54に関連し、以下の制約
(c)に反映される。また、RIGHTSETだけにあ
るエッジは、移動するにしても、基準48に対して現位
置の右にしか移動できない。この例では、この制約は、
エッジ52および56に関連し、以下の制約(d)に反
映される。LEFTSETとRIGHTSETの両方に
あるエッジは、追加の移動制約を有さず(ただし、ユー
ザ制約はあり得る)、いずれの集合にもないエッジはそ
の現位置のままでなければならない。
あるエッジが、移動するにしても、基準48に対して現
位置の左にしか移動できないと仮定する。この場合、こ
の制約は、エッジ44および54に関連し、以下の制約
(c)に反映される。また、RIGHTSETだけにあ
るエッジは、移動するにしても、基準48に対して現位
置の右にしか移動できない。この例では、この制約は、
エッジ52および56に関連し、以下の制約(d)に反
映される。LEFTSETとRIGHTSETの両方に
あるエッジは、追加の移動制約を有さず(ただし、ユー
ザ制約はあり得る)、いずれの集合にもないエッジはそ
の現位置のままでなければならない。
【0033】以下の公式が、最小摂動を求める際に使用
される。
される。
【数11】P=Σ[x(i new)−x(i old)]−Σ[x
(j new)−x(j old)]
(j new)−x(j old)]
【0034】上式で、「i」は、RIGHTSET中の
エッジを示し、「j」は、LEFTSET中のエッジを
示し、「old」は、任意の基準に対する所与のエッジ
の最初の位置を示し、「new」は、当該の物体をレイ
アウトに挿入した後の任意の基準に対する所与のエッジ
の位置を示す。上式は、定数項を差し引くことによって
簡略化することができ、以下の数式が得られる。
エッジを示し、「j」は、LEFTSET中のエッジを
示し、「old」は、任意の基準に対する所与のエッジ
の最初の位置を示し、「new」は、当該の物体をレイ
アウトに挿入した後の任意の基準に対する所与のエッジ
の位置を示す。上式は、定数項を差し引くことによって
簡略化することができ、以下の数式が得られる。
【数12】P=Σx(i)−Σx(j)
【0035】上式で、Pは、上述の制約に従って最小化
され、「i」はRIGHTSET中の各エッジであり、
「j」はLEFTSET中の各エッジである。この例で
は、問題を以下のように記述することができる。
され、「i」はRIGHTSET中の各エッジであり、
「j」はLEFTSET中の各エッジである。この例で
は、問題を以下のように記述することができる。
【0036】以下の制約に従って[{x(38,l)+x
(38,r)}−{x(34,l)+x(34,r)}]を最小化する。
(38,r)}−{x(34,l)+x(34,r)}]を最小化する。
【0037】(a)間隔制約
【数13】 x(36,l)−x(34,r)≧min_dist(34,36) x(38,l)−x(36,r)≧min_dist(36,38)
【0038】(b)寸法制約
【数14】 x(34,r)−x(34,l)=device_size34x
(36,r)−x(36,l)=device_size36 x(38,r)−x(38,l)=device_size38
(36,r)−x(36,l)=device_size36 x(38,r)−x(38,l)=device_size38
【0039】(c)LEFTSET制約
【数15】x(34,l)new≦x(34,l)old x(34,r)new≦x(34,r)old
【0040】(d)RIGHTSET制約
【数16】x(38,l)new≧x(38,l)oldかつ x(38,r)new≧x(38,r)old
【0041】図6は、Pを最小化し、同時に上記の線形
制約システムを満たした結果として得られるレイアウト
を示す。通常、実際には、この簡単な例では必要とされ
ない垂直方向でも類似の演算が実行されることを理解さ
れたい。図5と比較すると、図6では、物体34が距離
60だけ左へ移動され、物体38が距離62だけ右へ移
動されている。当業者には周知のように、任意の数の技
法、たとえば、単体法(PapadimitrouおよびSteiglitz
著「Combinational Optimization Algorithms and Comp
lexity」(25〜62ページ、Prentice Hall、198
2年)参照)、または本明細書で使用する制約リストな
どヒューリスティックな技法を使用して、上記の線形制
約に従って上述の最小摂動式を解くことができる。等価
解が複数ある場合、解法によって結果が決まる。
制約システムを満たした結果として得られるレイアウト
を示す。通常、実際には、この簡単な例では必要とされ
ない垂直方向でも類似の演算が実行されることを理解さ
れたい。図5と比較すると、図6では、物体34が距離
60だけ左へ移動され、物体38が距離62だけ右へ移
動されている。当業者には周知のように、任意の数の技
法、たとえば、単体法(PapadimitrouおよびSteiglitz
著「Combinational Optimization Algorithms and Comp
lexity」(25〜62ページ、Prentice Hall、198
2年)参照)、または本明細書で使用する制約リストな
どヒューリスティックな技法を使用して、上記の線形制
約に従って上述の最小摂動式を解くことができる。等価
解が複数ある場合、解法によって結果が決まる。
【0042】図6および上記の図6の説明は、第1の態
様の最小摂動法を使用して物体を挿入する視覚的な例で
ある。さらに具体的に、図7は、水平制約リストおよび
垂直制約リストを導出するステップ(ステップ136、
「制約モデルを導出する」)から始まる最小摂動法のス
テップの流れ図である。次いで、制約リストを設計規則
と比較することによって、デバイスを挿入したことによ
る違反を見つける(ステップ138、「違反を決定す
る」)。決定された違反から、LEFTSETおよびR
IGHTSETを決定する(ステップ140、「LEF
TSETおよびRIGHTSETを決定する」)。次い
で、最小摂動式を解き(ステップ142、「最小摂動を
求める」)、最後に、最小摂動式の解に従ってレイアウ
トを修正する(ステップ144、「レイアウトを修正す
る」)。
様の最小摂動法を使用して物体を挿入する視覚的な例で
ある。さらに具体的に、図7は、水平制約リストおよび
垂直制約リストを導出するステップ(ステップ136、
「制約モデルを導出する」)から始まる最小摂動法のス
テップの流れ図である。次いで、制約リストを設計規則
と比較することによって、デバイスを挿入したことによ
る違反を見つける(ステップ138、「違反を決定す
る」)。決定された違反から、LEFTSETおよびR
IGHTSETを決定する(ステップ140、「LEF
TSETおよびRIGHTSETを決定する」)。次い
で、最小摂動式を解き(ステップ142、「最小摂動を
求める」)、最後に、最小摂動式の解に従ってレイアウ
トを修正する(ステップ144、「レイアウトを修正す
る」)。
【0043】次に、最小摂動法のさらに詳しい例を図8
ないし10に関して提示する。図8は、3つの物体20
2、204、206のレイアウト200のブロック図で
ある。物体202と物体204の間に第4の物体208
を挿入すると仮定する。図8中の各物体は、スケール2
10による2単位幅であり、物体202の左エッジ21
2は基準213に対して位置2に位置し、物体204の
左エッジ214は位置8に位置し、物体206の左エッ
ジ216は位置12に位置する。また、最小許容物体間
間隔は2単位であると仮定する。したがって、物体20
2と物体204の間に物体208を挿入すると、設計規
則違反になる。すなわち、物体202と物体204の中
間に物体208を配置すると仮定した場合、物体208
はそのいずれの側でも物体202および204から1単
位しか離れない。したがって、物体208を受け入れる
には、レイアウト200中の物体の何らかの水平移動が
必要である。
ないし10に関して提示する。図8は、3つの物体20
2、204、206のレイアウト200のブロック図で
ある。物体202と物体204の間に第4の物体208
を挿入すると仮定する。図8中の各物体は、スケール2
10による2単位幅であり、物体202の左エッジ21
2は基準213に対して位置2に位置し、物体204の
左エッジ214は位置8に位置し、物体206の左エッ
ジ216は位置12に位置する。また、最小許容物体間
間隔は2単位であると仮定する。したがって、物体20
2と物体204の間に物体208を挿入すると、設計規
則違反になる。すなわち、物体202と物体204の中
間に物体208を配置すると仮定した場合、物体208
はそのいずれの側でも物体202および204から1単
位しか離れない。したがって、物体208を受け入れる
には、レイアウト200中の物体の何らかの水平移動が
必要である。
【0044】物体208を受け入れるための可能な水平
移動方法が3つある。第1の方法は、物体204および
206を右へ1単位だけ移動し、物体202を左へ1単
位だけ移動するものである。第2の方法は、物体208
の左エッジを位置6に配置すると仮定し、物体202を
所定の位置に置いたままにして、物体204および20
6をそれぞれ、右へ2単位だけ移動するものである。第
3の方法は、物体208の左エッジを位置4に配置する
と仮定し、物体204および206を現位置に置いたま
まにして、物体202を左へ2単位だけ移動するもので
ある。目標は最小数の物体を最小量だけ移動することな
ので、この簡単な例では、直感的に第3の方法が好まし
いことが分かる。
移動方法が3つある。第1の方法は、物体204および
206を右へ1単位だけ移動し、物体202を左へ1単
位だけ移動するものである。第2の方法は、物体208
の左エッジを位置6に配置すると仮定し、物体202を
所定の位置に置いたままにして、物体204および20
6をそれぞれ、右へ2単位だけ移動するものである。第
3の方法は、物体208の左エッジを位置4に配置する
と仮定し、物体204および206を現位置に置いたま
まにして、物体202を左へ2単位だけ移動するもので
ある。目標は最小数の物体を最小量だけ移動することな
ので、この簡単な例では、直感的に第3の方法が好まし
いことが分かる。
【0045】次に、好ましいシナリオを確認するため上
述の例に最小摂動を実施した結果について論じる。図9
は、物体202と物体204の中間に挿入された第4の
物体を含む修正されたレイアウト201における図8の
物体を示す。まず、修正されたレイアウト201を水平
に左から右へ走査して、水平制約モデルを得る。簡略化
されたこの例では、垂直制約モデルは必要とされないこ
とに留意されたい。制約モデルは以下の項目から成る。
述の例に最小摂動を実施した結果について論じる。図9
は、物体202と物体204の中間に挿入された第4の
物体を含む修正されたレイアウト201における図8の
物体を示す。まず、修正されたレイアウト201を水平
に左から右へ走査して、水平制約モデルを得る。簡略化
されたこの例では、垂直制約モデルは必要とされないこ
とに留意されたい。制約モデルは以下の項目から成る。
【0046】(a)最小間隔
【数17】min_dist(i,j)=2(上式でiおよ
びjは隣接する物体である)
びjは隣接する物体である)
【0047】(b)旧位置
【数18】x(202,l)old=2 x(202,r)old=4 x(208,l)old=5 x(208,r)old=7 x(204,l)old=8 x(204,r)old=10 x(206,l)old=12 x(206,r)old=14
【0048】(c)寸法制約
【数19】x(202,r)−x(202,l)=2 x(208,r)−x(208,l)=2 x(204,r)−x(204,l)=2 x(206,r)−x(206,l)=2
【0049】(d)間隔制約
【数20】 x(208,l)−x(202,r)≧min_dist(202,208) x(204,l)−x(208,r)≧min_dist(204,208)か
つ x(206,l)−x(204,r)≧min_dist(204,206)
つ x(206,l)−x(204,r)≧min_dist(204,206)
【0050】制約モデルを得た後、違反を見つける。
【数21】x(208,l)−x(202,r)<min_dist
(202,208)かつ x(204,l)−x(208,r)<min_dist(204,208)
(202,208)かつ x(204,l)−x(208,r)<min_dist(204,208)
【0051】LEFTSETおよびRIGHTSETを
定義する。
定義する。
【数22】LEFTSET: x(208,r),x(208,l),
x(202,r)かつx(202,l) RIGHTSET:x(208,l),x(208,r),
x(204,l),x(204,r) x(206,l)かつx(206,r)
x(202,r)かつx(202,l) RIGHTSET:x(208,l),x(208,r),
x(204,l),x(204,r) x(206,l)かつx(206,r)
【0052】LEFTSET中の物体が、移動するにし
ても、左にしか移動せず、RIGHTSET中の物体
が、移動するにしても、右にしか移動せず、LEFTS
ETとRIGHTSETの両方にある物体が移動しない
ようにするために、以下の制約を追加する。
ても、左にしか移動せず、RIGHTSET中の物体
が、移動するにしても、右にしか移動せず、LEFTS
ETとRIGHTSETの両方にある物体が移動しない
ようにするために、以下の制約を追加する。
【数23】x(202,l)new≦x(202,l)old x(202,r)new≦x(202,r)old x(204,l)new≧x(204,l)old x(204,r)new≧s(204,r)old x(206,l)new≧x(206,l)oldかつ x(206,r)new≧x(206,r)old
【0053】LEFTSETおよびRIGHTSETを
挿入した場合、最小摂動式は以下のように表すことがで
きる。
挿入した場合、最小摂動式は以下のように表すことがで
きる。
【数24】P=[(x(204,l)new−x(204,l)old)+
(x(204,r)new−x(204,r)old)+(x(206,l)new−x
(206,l)old)+(x(206,r)new−x(206,r)old)]−
[(x(202,l)new−x(202,l)old)+(x(202,r)new−
x(202,r)old)]
(x(204,r)new−x(204,r)old)+(x(206,l)new−x
(206,l)old)+(x(206,r)new−x(206,r)old)]−
[(x(202,l)new−x(202,l)old)+(x(202,r)new−
x(202,r)old)]
【0054】上式で、「old」項の値は既知であり、
Pを最小にする「new」項について解を求める。した
がって、値を代入して上式を書き直すと、以下の数式が
得られる。
Pを最小にする「new」項について解を求める。した
がって、値を代入して上式を書き直すと、以下の数式が
得られる。
【数25】P=[(x(204,l)new−8)+(x(204,r)new−
10)+(x(206,l)new−12)+(x(206,r)new−14)]
−[(x(202,l)new−2)+(x(202,r)new−4)]
10)+(x(206,l)new−12)+(x(206,r)new−14)]
−[(x(202,l)new−2)+(x(202,r)new−4)]
【0055】制約付き線形最小摂動式を解くと、「ne
w」項に関して以下の値が得られる。
w」項に関して以下の値が得られる。
【数26】x(204,l)new=8 x(204,r)new=10 x(206,l)new=12 x(206,r)new=14 x(202,l)new=0かつ x(202,r)new=2。したがってP=4
【0056】これは、前述の第3の方法に対応する。こ
の結果を図10に視覚的に示す。第1の方法に関して最
小摂動式を解くと、P=6が得られ、第2の方法に関し
て最小摂動式を解くと、P=8が得られる。したがっ
て、第3の方法でPが実際に最小化された。
の結果を図10に視覚的に示す。第1の方法に関して最
小摂動式を解くと、P=6が得られ、第2の方法に関し
て最小摂動式を解くと、P=8が得られる。したがっ
て、第3の方法でPが実際に最小化された。
【0057】本発明を具体的にICレイアウト設計に使
用すると、デバイスの挿入および削除、デバイスの合
併、合併されたデバイスの操作、階層配置操作、空間の
挿入および削除、ならびに構造的整列を含めて、いくつ
かの異なるタイプのレイアウト修正がサポートされる。
続いて、本発明の第2の態様に関して説明するように、
本発明は自動物体配置で有用であることも分かった。
用すると、デバイスの挿入および削除、デバイスの合
併、合併されたデバイスの操作、階層配置操作、空間の
挿入および削除、ならびに構造的整列を含めて、いくつ
かの異なるタイプのレイアウト修正がサポートされる。
続いて、本発明の第2の態様に関して説明するように、
本発明は自動物体配置で有用であることも分かった。
【0058】CMOSデバイスの配置などある種の物体
配置では、接続されたデバイスのある種の構造を共用に
して回路の性能を向上させ、必要なレイアウト面積を減
少させることが望ましいことが多い。この構造共用の一
例は、あるトランジスタのソースおよびドレーンを他の
トランジスタのソースおよびドレーンと合併することで
ある。当業者には周知のように、2つの拡散領域が、同
じタイプのものであり、すなわち、共にN型またはP型
のものであり、かつ共に同じ電気ネットに接続されてい
る場合、それらの領域は合併することができる。図11
は、任意の基準71に対して離間されたトランジスタ6
4、66、68のレイアウト63のブロック図である。
レイアウト63用の制約リストが存在し、かつデバイス
64とデバイス66の間にトランジスタ70を挿入した
いと仮定する。また、トランジスタ64の拡散領域72
とトランジスタ70の拡散領域74は、同じタイプのも
のであると決定されていると仮定する。これは、トラン
ジスタ用の拡散領域タイプに関する制約をリストするこ
とによって行うことができる。可能な合併が検出された
後、水平制約リストに新しい制約を追加する。
配置では、接続されたデバイスのある種の構造を共用に
して回路の性能を向上させ、必要なレイアウト面積を減
少させることが望ましいことが多い。この構造共用の一
例は、あるトランジスタのソースおよびドレーンを他の
トランジスタのソースおよびドレーンと合併することで
ある。当業者には周知のように、2つの拡散領域が、同
じタイプのものであり、すなわち、共にN型またはP型
のものであり、かつ共に同じ電気ネットに接続されてい
る場合、それらの領域は合併することができる。図11
は、任意の基準71に対して離間されたトランジスタ6
4、66、68のレイアウト63のブロック図である。
レイアウト63用の制約リストが存在し、かつデバイス
64とデバイス66の間にトランジスタ70を挿入した
いと仮定する。また、トランジスタ64の拡散領域72
とトランジスタ70の拡散領域74は、同じタイプのも
のであると決定されていると仮定する。これは、トラン
ジスタ用の拡散領域タイプに関する制約をリストするこ
とによって行うことができる。可能な合併が検出された
後、水平制約リストに新しい制約を追加する。
【数27】 x(64,r)−x(70,l)=merge_dist(64,70)
【0059】次いで、新しいLEFTSETおよびRI
GHTSETを間隔違反から決定する。すなわち、トラ
ンジスタ70は、移動や合併なしでトランジスタ64と
トランジスタ66の間にはめ込むことはできない。LE
FTSETおよびRIGHTSETが決定された後、最
小摂動式を解く。
GHTSETを間隔違反から決定する。すなわち、トラ
ンジスタ70は、移動や合併なしでトランジスタ64と
トランジスタ66の間にはめ込むことはできない。LE
FTSETおよびRIGHTSETが決定された後、最
小摂動式を解く。
【0060】図12は、線形式の最小摂動系を解いた結
果から得た新しいレイアウト76を示す。トランジスタ
66および68は、基準71に対して右へ移動され、ト
ランジスタ64とトランジスタ70は、共通拡散領域7
8に沿って合併され、トランジスタ64は、基準71に
対して左へ移動されている。拡散領域72および74の
エッジは、合併された後も別々のままであることが好ま
しいが、合併された拡散領域72および74は、単一の
共通拡散領域78として再制約付けすることができる。
また、次に、拡散領域80と拡散領域82を合併するこ
とができると仮定する。図13に示したそのケースで
は、水平制約リストに他の制約を追加する。
果から得た新しいレイアウト76を示す。トランジスタ
66および68は、基準71に対して右へ移動され、ト
ランジスタ64とトランジスタ70は、共通拡散領域7
8に沿って合併され、トランジスタ64は、基準71に
対して左へ移動されている。拡散領域72および74の
エッジは、合併された後も別々のままであることが好ま
しいが、合併された拡散領域72および74は、単一の
共通拡散領域78として再制約付けすることができる。
また、次に、拡散領域80と拡散領域82を合併するこ
とができると仮定する。図13に示したそのケースで
は、水平制約リストに他の制約を追加する。
【数28】 x(70,r)−x(66,l)=merge_dist(70,66)
【0061】トランジスタ64を所定の位置に置いたま
まにしたいと仮定する場合、トランジスタ64と合併す
るようにトランジスタ70を配置し、トランジスタ70
と合併するようにトランジスタ66を配置する。次い
で、違反を見つけ、それを使用してLEFTSETおよ
びRIGHTSETを定義する。線形式の最小摂動シス
テムを解いた後、新しいレイアウト84が作成される。
トランジスタ66および68は、基準71に対して図1
2よりも右へ移動され、共通拡散領域86が作成されて
いる。
まにしたいと仮定する場合、トランジスタ64と合併す
るようにトランジスタ70を配置し、トランジスタ70
と合併するようにトランジスタ66を配置する。次い
で、違反を見つけ、それを使用してLEFTSETおよ
びRIGHTSETを定義する。線形式の最小摂動シス
テムを解いた後、新しいレイアウト84が作成される。
トランジスタ66および68は、基準71に対して図1
2よりも右へ移動され、共通拡散領域86が作成されて
いる。
【0062】デバイスが合併された後、それを全体的に
操作すると好都合である。これを行うには、合併された
各デバイスごとの別々の寸法制約を、合併されたデバイ
スの内容から成る擬似デバイスを定義する新しい制約で
置き換えることができる。個々のデバイス制約を擬似デ
バイス制約で置き換える代わりに、個々の制約を維持す
るが、新しいデバイスを配置できるように擬似デバイス
を移動するなど擬似デバイスに対する関連操作が実行さ
れるまで、一時的にディスエーブルしておくこともでき
る。
操作すると好都合である。これを行うには、合併された
各デバイスごとの別々の寸法制約を、合併されたデバイ
スの内容から成る擬似デバイスを定義する新しい制約で
置き換えることができる。個々のデバイス制約を擬似デ
バイス制約で置き換える代わりに、個々の制約を維持す
るが、新しいデバイスを配置できるように擬似デバイス
を移動するなど擬似デバイスに対する関連操作が実行さ
れるまで、一時的にディスエーブルしておくこともでき
る。
【0063】類似の技法を使用して、入れ子式の複雑な
物体を抽象的デバイスとして操作できるように物体を階
層的に操作することができる。図14に示したデバイス
・レイアウトの階層部88を検討する。階層部88は、
デバイス90と、擬似デバイス92と、デバイス94と
から成る。擬似デバイス92は、トランジスタ96とト
ランジスタ98とから成る。デバイス96とデバイス9
8の間にトランジスタ100を挿入したいと仮定し、か
つそのような挿入によって、デバイス100がデバイス
96とデバイス98の両方と合併できようになると仮定
する。デバイス100を挿入し、その結果得られる違反
を見つけ、LIGHTSETおよびRIGHTSETを
定義し、最小摂動式を解き、この点での当該の「サブレ
イアウト」である、擬似デバイス92内のデバイス10
0の配置を決定する。擬似デバイス92の展開によっ
て、デバイス90および94に関する間隔違反がもたら
される。このときデバイス100を含む、擬似デバイス
92を含むデバイス90および94に対してこの技法を
繰り返し、それらのデバイスの新しい最小摂動位置を求
める。図15は、デバイス90および96が基準102
に対して左へ移動し、デバイス94および98が基準1
02に対して右へ移動した、階層最小摂動技法の結果を
示す。任意の階層深さにわたってこのプロセスを使用す
ることができる。
物体を抽象的デバイスとして操作できるように物体を階
層的に操作することができる。図14に示したデバイス
・レイアウトの階層部88を検討する。階層部88は、
デバイス90と、擬似デバイス92と、デバイス94と
から成る。擬似デバイス92は、トランジスタ96とト
ランジスタ98とから成る。デバイス96とデバイス9
8の間にトランジスタ100を挿入したいと仮定し、か
つそのような挿入によって、デバイス100がデバイス
96とデバイス98の両方と合併できようになると仮定
する。デバイス100を挿入し、その結果得られる違反
を見つけ、LIGHTSETおよびRIGHTSETを
定義し、最小摂動式を解き、この点での当該の「サブレ
イアウト」である、擬似デバイス92内のデバイス10
0の配置を決定する。擬似デバイス92の展開によっ
て、デバイス90および94に関する間隔違反がもたら
される。このときデバイス100を含む、擬似デバイス
92を含むデバイス90および94に対してこの技法を
繰り返し、それらのデバイスの新しい最小摂動位置を求
める。図15は、デバイス90および96が基準102
に対して左へ移動し、デバイス94および98が基準1
02に対して右へ移動した、階層最小摂動技法の結果を
示す。任意の階層深さにわたってこのプロセスを使用す
ることができる。
【0064】他の有用なタイプのレイアウト操作は、空
き空間の挿入および削除である。ある種の状況、たとえ
ば、次の階層レベルでの経路指定可能性を改善し、ある
いは、将来、修正を行えるようにするには、空間を挿入
することが望ましい。挿入は、適当な寸法をもつ仮想デ
バイスを挿入することによって行うことができる。次い
で、前述のようにデバイス挿入ルーチンを実行する。
き空間の挿入および削除である。ある種の状況、たとえ
ば、次の階層レベルでの経路指定可能性を改善し、ある
いは、将来、修正を行えるようにするには、空間を挿入
することが望ましい。挿入は、適当な寸法をもつ仮想デ
バイスを挿入することによって行うことができる。次い
で、前述のようにデバイス挿入ルーチンを実行する。
【0065】レイアウト中の不要な空間の削除は、最小
摂動ルーチンを解いて空間を設計規則最小値に縮小させ
ることによって行う。一例を挙げると、図1で、距離1
4が長すぎると仮定する。すなわち、距離14をデバイ
ス10および12のデバイス間間隔に関する最小設計規
則に減少させたい。まず、デバイス10に対する正当な
左端位置へデバイス12を移動する。この位置は、既存
の水平制約リストから容易に見つけることができる。デ
バイス12に対する正当な右端位置へデバイス10を移
動することも、あるいは、両方のデバイスのデバイス間
間隔が正当な最小値になるように各デバイスを他方のデ
バイスの方へ移動することもできる。次に、設計規則違
反を探索し、LEFTSETおよびRIGHTSETを
決定し、最小摂動を見つける。このように不要な空間を
増分的に削除することによって、設計者は、圧縮などの
グローバル空間削除法よりもずっと強い制御を保持する
ことができる。
摂動ルーチンを解いて空間を設計規則最小値に縮小させ
ることによって行う。一例を挙げると、図1で、距離1
4が長すぎると仮定する。すなわち、距離14をデバイ
ス10および12のデバイス間間隔に関する最小設計規
則に減少させたい。まず、デバイス10に対する正当な
左端位置へデバイス12を移動する。この位置は、既存
の水平制約リストから容易に見つけることができる。デ
バイス12に対する正当な右端位置へデバイス10を移
動することも、あるいは、両方のデバイスのデバイス間
間隔が正当な最小値になるように各デバイスを他方のデ
バイスの方へ移動することもできる。次に、設計規則違
反を探索し、LEFTSETおよびRIGHTSETを
決定し、最小摂動を見つける。このように不要な空間を
増分的に削除することによって、設計者は、圧縮などの
グローバル空間削除法よりもずっと強い制御を保持する
ことができる。
【0066】本発明によってサポートされる他の有用な
設計態様は、構造的整列である。トランジスタ106
と、トランジスタ108と、デバイス110とから成
る、図16のレイアウト104について検討する。ゲー
ト112の左エッジ116とゲート114の左エッジ1
18を基準120に沿って整列させたいと仮定する。ト
ランジスタ108を基準120に対して左へ移動するに
は、デバイス110を移動する必要がある。したがっ
て、整列によって設計規則違反が発生する。この整列を
受け入れるには、トランジスタ106とトランジスタ1
08を整列させ、発生した違反ならびにLEFTSET
およびRIGHTSETを見つけ、最小摂動を求める。
設計態様は、構造的整列である。トランジスタ106
と、トランジスタ108と、デバイス110とから成
る、図16のレイアウト104について検討する。ゲー
ト112の左エッジ116とゲート114の左エッジ1
18を基準120に沿って整列させたいと仮定する。ト
ランジスタ108を基準120に対して左へ移動するに
は、デバイス110を移動する必要がある。したがっ
て、整列によって設計規則違反が発生する。この整列を
受け入れるには、トランジスタ106とトランジスタ1
08を整列させ、発生した違反ならびにLEFTSET
およびRIGHTSETを見つけ、最小摂動を求める。
【0067】本発明の上述の実施例を第1の態様では手
動ICレイアウト方法として説明したが、この実施例
は、ICレイアウト設計に関して本明細書で説明する自
動グローバル物体配置のための優れたベースも提供す
る。しかし、前記実施例は他の物体および設計タイプに
も適用できることを理解されたい。本発明の第2の態様
では、「トス(toss)」としても知られる一時に1
個ずつのデバイス配置、すべてのデバイスの順次配置、
および完成したレイアウトの緩和ベースの最適化の3種
類の自動配置がサポートされる。当業者には周知のよう
に、順次配置と緩和ベースの最適化は共に、トス法に基
づくものであり、したがって、まずトス法と共に使用さ
れる本発明について説明する。
動ICレイアウト方法として説明したが、この実施例
は、ICレイアウト設計に関して本明細書で説明する自
動グローバル物体配置のための優れたベースも提供す
る。しかし、前記実施例は他の物体および設計タイプに
も適用できることを理解されたい。本発明の第2の態様
では、「トス(toss)」としても知られる一時に1
個ずつのデバイス配置、すべてのデバイスの順次配置、
および完成したレイアウトの緩和ベースの最適化の3種
類の自動配置がサポートされる。当業者には周知のよう
に、順次配置と緩和ベースの最適化は共に、トス法に基
づくものであり、したがって、まずトス法と共に使用さ
れる本発明について説明する。
【0068】トス法の目標は、設計者によって選択され
たデバイスを、現レイアウト内に自動的に最適に配置す
ることである。本発明では「最適に」の語は、レイアウ
ト品質を定量的に測定するために使用される3つの基本
構成要素を有するコスト関数に関するものである。第1
の構成要素は、合併された拡散領域を総拡散領域から差
し引いた差として定式化される拡散共用を最大にするよ
うに設計された合併項である。
たデバイスを、現レイアウト内に自動的に最適に配置す
ることである。本発明では「最適に」の語は、レイアウ
ト品質を定量的に測定するために使用される3つの基本
構成要素を有するコスト関数に関するものである。第1
の構成要素は、合併された拡散領域を総拡散領域から差
し引いた差として定式化される拡散共用を最大にするよ
うに設計された合併項である。
【0069】第2の構成要素は、適当な構造的整列を推
進することによって、密度、経路指定可能性、美感を改
善するように設計された整列項である。所与のレイアウ
ト内でデバイスを整列させることによって、ワイヤの経
路指定が容易になり、最少数の障害物を含むできるだけ
まっすぐな経路が提供される。
進することによって、密度、経路指定可能性、美感を改
善するように設計された整列項である。所与のレイアウ
ト内でデバイスを整列させることによって、ワイヤの経
路指定が容易になり、最少数の障害物を含むできるだけ
まっすぐな経路が提供される。
【0070】第3の構成要素は、配置されたデバイスを
接続するのに必要なワイヤの長さを最小にし、性能およ
び経路指定可能性を改善するように設計されたネット
(電気ネット)コスト項である。実際には、異なる経路
指定設計を試験することはできず、したがって、その代
わりに経路指定推定量を使用する。そのような典型的な
1つの推定量は、J.Cohn等著「Analog Device Le
vel Layout Automation」(Kluwer Press、ボストン、
1993年)に記載された全形状最小スパン木(FGM
ST)である。FGMST推定量は、電気ネットのすべ
ての端子を接続する最短経路を決定しようと追求するも
のである。FGMST推定量は、接続されたデバイス端
子の全形状を利用するように、当業者にはすでに周知の
基本最小スパン木を拡張する。このFGMST推定量
は、Primmのアルゴリズムの拡張形を使用して1組
の直線形状間の最小距離を測定する。当業者には、Pr
immのアルゴリズムは周知であろう。
接続するのに必要なワイヤの長さを最小にし、性能およ
び経路指定可能性を改善するように設計されたネット
(電気ネット)コスト項である。実際には、異なる経路
指定設計を試験することはできず、したがって、その代
わりに経路指定推定量を使用する。そのような典型的な
1つの推定量は、J.Cohn等著「Analog Device Le
vel Layout Automation」(Kluwer Press、ボストン、
1993年)に記載された全形状最小スパン木(FGM
ST)である。FGMST推定量は、電気ネットのすべ
ての端子を接続する最短経路を決定しようと追求するも
のである。FGMST推定量は、接続されたデバイス端
子の全形状を利用するように、当業者にはすでに周知の
基本最小スパン木を拡張する。このFGMST推定量
は、Primmのアルゴリズムの拡張形を使用して1組
の直線形状間の最小距離を測定する。当業者には、Pr
immのアルゴリズムは周知であろう。
【0071】この方法によって、接続された端子間のF
GMST距離は、端子が何らかの方法で接触すなわち合
併したときにゼロになる。これによって、中心が測定さ
れた最小スパン木に関連する保存的配置が不要になるだ
けでなく、実際に、端子形状がスパン木でエッジを形成
できるようになる。これによって、デバイス端子形状を
その経路指定経路の一部として使用することができる自
動ルータの能力がより正確にモデル化される。この結
果、ネットの経路指定長がはるかに正確に予測される。
GMST距離は、端子が何らかの方法で接触すなわち合
併したときにゼロになる。これによって、中心が測定さ
れた最小スパン木に関連する保存的配置が不要になるだ
けでなく、実際に、端子形状がスパン木でエッジを形成
できるようになる。これによって、デバイス端子形状を
その経路指定経路の一部として使用することができる自
動ルータの能力がより正確にモデル化される。この結
果、ネットの経路指定長がはるかに正確に予測される。
【0072】本明細書ではコスト関数に3つの要素しか
使用しないが、たとえば、レイアウト面積または縦横比
あるいはその両方など、追加の要素を容易に組み込むこ
とができる。コスト関数では、所与の状況で特定の要素
に重みを付けることができる。デバイスを自動的に配置
するには、合併(マージ)可能な解と合併不能な解の2
つのクラスの解を求める。両方のクラスのうちのより低
コストの解が、選択されたデバイス用の配置として設計
者に提示される。
使用しないが、たとえば、レイアウト面積または縦横比
あるいはその両方など、追加の要素を容易に組み込むこ
とができる。コスト関数では、所与の状況で特定の要素
に重みを付けることができる。デバイスを自動的に配置
するには、合併(マージ)可能な解と合併不能な解の2
つのクラスの解を求める。両方のクラスのうちのより低
コストの解が、選択されたデバイス用の配置として設計
者に提示される。
【0073】合併可能な解の場合、デバイスは、それを
合併できるあらゆる位置に網羅的に配置される。各合併
位置で、合併が可能なデバイスのすべての正当な配向が
試され、必要に応じて、第1の態様の最小摂動法を使用
して他のデバイスが除外される。8つの異なる正当な配
向があることが好ましい。ただし、このような配向はそ
れより多くてもよい。好ましい正当な配向は、それぞれ
の鏡像を含む水平からの90゜の回転から成る。所与の
試みについて、コスト関数を評価し、最低コストが、対
応する位置および配向と共に追跡される。
合併できるあらゆる位置に網羅的に配置される。各合併
位置で、合併が可能なデバイスのすべての正当な配向が
試され、必要に応じて、第1の態様の最小摂動法を使用
して他のデバイスが除外される。8つの異なる正当な配
向があることが好ましい。ただし、このような配向はそ
れより多くてもよい。好ましい正当な配向は、それぞれ
の鏡像を含む水平からの90゜の回転から成る。所与の
試みについて、コスト関数を評価し、最低コストが、対
応する位置および配向と共に追跡される。
【0074】図17は、第2の態様のグローバル配置最
適化法の合併可能な解部分の流れ図である。最初に、合
併が可能なすべての位置を識別し、カウントする。M
は、総数を示す(ステップ136、「すべての合併可能
な位置mを見つける」)。どの正当な配向が次に使用さ
れるかを追跡するカウンタLを、この実施例では、1≦
L≦8に初期設定する(ステップ138、「正当な配向
Lを初期設定する」)。コスト関数用のカウンタCもあ
る大きな数に初期設定する(ステップ140、「コスト
Cを初期設定する」)。カウンタが初期設定された後、
選択したデバイスを配向Lで位置mに配置する(ステッ
プ142、「デバイスをm、Lに配置する」)。ステッ
プ142では、所与の位置またか配向に関して、1つま
たは複数の他のデバイスが必ず排除されるようにするこ
とができる。これは、第1の態様の最小摂動法を使用し
て行う。デバイスが配置された後、コスト関数を求める
(ステップ144、「コストを求める」)。次いで、求
めたコストがカウンタCよりも低いかどうか調べる(照
会146、「コスト<Cか」)。求めた第1のコスト関
数が現最低コストとして記憶されるように、カウンタC
の初期設定値として任意に大きな数を選択する。カウン
タCは、最初に求めたコスト関数に初期設定することも
できる。求めたコストがCよりも低い場合、Cは、求め
たコストで置換され、位置mおよび配向Lが記憶される
(ステップ148、「C=コスト。m、Lを保存す
る)。求めたコストがCよりも高い場合、あるいは、ス
テップ148の後、次の配向のためにカウンタLを増分
する(ステップ150、「L=L+1」)。次いで、カ
ウンタLが正当な配向の最大数を超えているかどうか調
べる(照会152、「L>最大値か」)。この場合は、
最大値は8である。最大値を超えていない場合、ルーチ
ンはステップ142に戻る。最大値を超えている場合、
Mを次の合併位置に減分し、Lを再初期設定する(ステ
ップ154、「m=m−1。Lを再初期設定する」)。
最後に、mがゼロに達したかどうか調べる(照会15
6、「m=0か」)。合併位置が他にもある場合、ルー
チンはステップ142に戻る。もはや合併位置がなくな
った場合、合併可能な解ルーチンは終了する。
適化法の合併可能な解部分の流れ図である。最初に、合
併が可能なすべての位置を識別し、カウントする。M
は、総数を示す(ステップ136、「すべての合併可能
な位置mを見つける」)。どの正当な配向が次に使用さ
れるかを追跡するカウンタLを、この実施例では、1≦
L≦8に初期設定する(ステップ138、「正当な配向
Lを初期設定する」)。コスト関数用のカウンタCもあ
る大きな数に初期設定する(ステップ140、「コスト
Cを初期設定する」)。カウンタが初期設定された後、
選択したデバイスを配向Lで位置mに配置する(ステッ
プ142、「デバイスをm、Lに配置する」)。ステッ
プ142では、所与の位置またか配向に関して、1つま
たは複数の他のデバイスが必ず排除されるようにするこ
とができる。これは、第1の態様の最小摂動法を使用し
て行う。デバイスが配置された後、コスト関数を求める
(ステップ144、「コストを求める」)。次いで、求
めたコストがカウンタCよりも低いかどうか調べる(照
会146、「コスト<Cか」)。求めた第1のコスト関
数が現最低コストとして記憶されるように、カウンタC
の初期設定値として任意に大きな数を選択する。カウン
タCは、最初に求めたコスト関数に初期設定することも
できる。求めたコストがCよりも低い場合、Cは、求め
たコストで置換され、位置mおよび配向Lが記憶される
(ステップ148、「C=コスト。m、Lを保存す
る)。求めたコストがCよりも高い場合、あるいは、ス
テップ148の後、次の配向のためにカウンタLを増分
する(ステップ150、「L=L+1」)。次いで、カ
ウンタLが正当な配向の最大数を超えているかどうか調
べる(照会152、「L>最大値か」)。この場合は、
最大値は8である。最大値を超えていない場合、ルーチ
ンはステップ142に戻る。最大値を超えている場合、
Mを次の合併位置に減分し、Lを再初期設定する(ステ
ップ154、「m=m−1。Lを再初期設定する」)。
最後に、mがゼロに達したかどうか調べる(照会15
6、「m=0か」)。合併位置が他にもある場合、ルー
チンはステップ142に戻る。もはや合併位置がなくな
った場合、合併可能な解ルーチンは終了する。
【0075】合併不能な解の場合、予測子を使用して、
選択したデバイスの「最適」位置を見つける。本実施例
では、「最適」の語は、最短の経路指定が行われる可能
性が高い位置を指す。IC設計で「最適」位置を決定す
る好ましい方法は、ツァイ(Tsai)等著「PROUD:A
Sea-of-Gates Placement Algorithm」(IEEE Designand
Test、1988年12月)で提示された2次ネット・
コストである。しかし、他の推定量も使用できることが
理解されよう。Tsai等の2次ネット・コストは、電
気ネット中にすでに存在する各デバイスを、前記電気ネ
ット中の他のすべてのデバイスにゴム・バンドまたはば
ねで固定され接続されているものとして扱うものとみな
すことができる。選択したデバイスをネットに追加する
場合、ネット中のすべての静的デバイスから前記デバイ
スに新しいゴム・バンドが取り付けられる。次いで、選
択したデバイスが「解放」され、その後、「最適」位置
で静止する。2次ネット・コストに関する数式は以下の
ように表すことができる。
選択したデバイスの「最適」位置を見つける。本実施例
では、「最適」の語は、最短の経路指定が行われる可能
性が高い位置を指す。IC設計で「最適」位置を決定す
る好ましい方法は、ツァイ(Tsai)等著「PROUD:A
Sea-of-Gates Placement Algorithm」(IEEE Designand
Test、1988年12月)で提示された2次ネット・
コストである。しかし、他の推定量も使用できることが
理解されよう。Tsai等の2次ネット・コストは、電
気ネット中にすでに存在する各デバイスを、前記電気ネ
ット中の他のすべてのデバイスにゴム・バンドまたはば
ねで固定され接続されているものとして扱うものとみな
すことができる。選択したデバイスをネットに追加する
場合、ネット中のすべての静的デバイスから前記デバイ
スに新しいゴム・バンドが取り付けられる。次いで、選
択したデバイスが「解放」され、その後、「最適」位置
で静止する。2次ネット・コストに関する数式は以下の
ように表すことができる。
【数29】
【0076】上式で、「x」および「y」は、レイアウ
ト内の選択されたデバイスの端子の座標であり、「n」
は、レイアウトにおいて選択されたデバイスが接続され
る電気ネットの数であり、「w(i)」は、任意選択の
重み値であり、大部分のケースでは1に設定されるが、
重大であるとみなされる特定のネットの場合は1よりも
多く、「p(i)」は、ネットiに配置された端子(す
なわち、レイアウトにすでに配置されているデバイスに
属するネットiの端子)の数であり、「u(i)」およ
び「v(i)」は、選択されたデバイスの中心に対する
前記デバイスの端子の座標であり、「x(i,j)」お
よび「y(i,j)」は、レイアウトに配置されたネッ
トiの端子jの中心の座標である。「x+u(i)」お
よび「y+v(i)」が、レイアウト座標系内でネット
iに接続された選択された物体の端子の中心点の座標を
与えることにも留意されたい。
ト内の選択されたデバイスの端子の座標であり、「n」
は、レイアウトにおいて選択されたデバイスが接続され
る電気ネットの数であり、「w(i)」は、任意選択の
重み値であり、大部分のケースでは1に設定されるが、
重大であるとみなされる特定のネットの場合は1よりも
多く、「p(i)」は、ネットiに配置された端子(す
なわち、レイアウトにすでに配置されているデバイスに
属するネットiの端子)の数であり、「u(i)」およ
び「v(i)」は、選択されたデバイスの中心に対する
前記デバイスの端子の座標であり、「x(i,j)」お
よび「y(i,j)」は、レイアウトに配置されたネッ
トiの端子jの中心の座標である。「x+u(i)」お
よび「y+v(i)」が、レイアウト座標系内でネット
iに接続された選択された物体の端子の中心点の座標を
与えることにも留意されたい。
【0077】2次ネット・コストの一利点は、2次ネッ
ト・コストが明確に定義された関数であるため、公式の
導関数をゼロに設定して長さについて解くことにより、
最小総ワイヤ長を正確に解くことができることである。
2次ネット・コストは、最終位置を見つけるための適切
な出発点を与えるが、過度に保存的であるため、最終位
置として有用であるとは考えられない。実際のIC設計
で使用されるワイヤ(またはゴム・バンド)ははるかに
少ない。すなわち、すべてのデバイスが直接、電気的に
接続されるわけではない。可能性の数が有限で管理可能
であるある合併可能な状況とは異なり、合併不能な状況
では、最低コスト位置を網羅的に探索することは実際的
ではない。したがって、「最適」位置は妥当な(ただ
し、完全ではない)出発点として働く。
ト・コストが明確に定義された関数であるため、公式の
導関数をゼロに設定して長さについて解くことにより、
最小総ワイヤ長を正確に解くことができることである。
2次ネット・コストは、最終位置を見つけるための適切
な出発点を与えるが、過度に保存的であるため、最終位
置として有用であるとは考えられない。実際のIC設計
で使用されるワイヤ(またはゴム・バンド)ははるかに
少ない。すなわち、すべてのデバイスが直接、電気的に
接続されるわけではない。可能性の数が有限で管理可能
であるある合併可能な状況とは異なり、合併不能な状況
では、最低コスト位置を網羅的に探索することは実際的
ではない。したがって、「最適」位置は妥当な(ただ
し、完全ではない)出発点として働く。
【0078】合併不能なケースでは、コスト関数の整列
要素およびネット・コスト要素を検討するだけでよい。
選択したデバイスは、整列の問題とは無関係にすべての
正当な配向で最適な位置に置かれ、必要に応じて、第1
の態様の方法を使用して他の既存のデバイスを除去す
る。各配向でコスト関数を求め、最低値を追跡する。最
適位置の付近でのデバイスの可視性探索が行われ、可能
な各整列ごとにすべての正当な配向に関してデバイスの
すべての可能な整列を試み、各試みごとにコスト関数を
評価し、最低値を追跡する。前文で使用した「の付近」
の句は、各方向ごとに所定の距離にわたる選択されたす
べての方向(この場合、上下左右の4つがある)での探
索を指す。これらの制約内でデバイスが見つからなかっ
た場合、現最低コスト位置および配向が最終位置として
返される。最後に、合併可能な解と合併不能な解のうち
の最低コスト構成が解として返される。
要素およびネット・コスト要素を検討するだけでよい。
選択したデバイスは、整列の問題とは無関係にすべての
正当な配向で最適な位置に置かれ、必要に応じて、第1
の態様の方法を使用して他の既存のデバイスを除去す
る。各配向でコスト関数を求め、最低値を追跡する。最
適位置の付近でのデバイスの可視性探索が行われ、可能
な各整列ごとにすべての正当な配向に関してデバイスの
すべての可能な整列を試み、各試みごとにコスト関数を
評価し、最低値を追跡する。前文で使用した「の付近」
の句は、各方向ごとに所定の距離にわたる選択されたす
べての方向(この場合、上下左右の4つがある)での探
索を指す。これらの制約内でデバイスが見つからなかっ
た場合、現最低コスト位置および配向が最終位置として
返される。最後に、合併可能な解と合併不能な解のうち
の最低コスト構成が解として返される。
【0079】図18および19は共に、この第2の態様
によるグローバル配置最適化の合併不能な部分の流れ図
である。最初に、現レイアウトに追加すべき選択したデ
バイスの「最適」位置を求める(ステップ158、
「「最適」位置を求める」)。合併可能なルーチンと同
様に、最低コストCを十分に大きな数に初期設定し(ス
テップ160、「最低コストCを初期設定する」)、正
当な配向カウンタLを1に初期設定する(ステップ16
2、「正当な配向L=1を初期設定する」)。初期設定
後、デバイスを正当な現配向Lで「最適」位置に置き
(ステップ164、「Lで「最適」位置に置く)、コス
ト関数を評価する(ステップ166、「コストを求め
る」)。次いで、求めたコストが現最低コストCよりも
低いかどうか調べる(照会168、「コスト<C
か」)。求めたコストが現最低コストよりも低い場合、
現最低コストを更新し、対応する位置および配向を保存
する(ステップ170、「C=コスト。「最適」Lを保
存する)。照会168の答えが否定であり、あるいはコ
ストが更新された場合、正当な配向カウンタLを次の正
当な配向に増分する(ステップ172、「L=L+
1」)。次に、正当な配向の最大数を超えているかどう
か調べる(照会174、「L>最大値か」)。まだ利用
可能な正当な配向がある場合、ルーチンはステップ16
4に戻る。もはや正当な配向が残っていない場合、最適
位置で可視性探索を実行し(ステップ176、「可視性
探索を実行する」)、各方向での所定の距離内ですべて
の可能な整列を見つける。可視性探索の後、可能な整列
が発見されたかどうか調べる(照会178、「整列はあ
るか」)。可能な整列がない場合、合併不能なルーチン
は終了する。可能な整列がある場合、整列カウンタを可
能な整列の数に等しい値に設定し(ステップ180、A
=整列の数」)、正当な配向カウンタLをリセットする
(ステップ182、「正当な配向L=1を再初期設定す
る)。カウンタAが設定されカウンタLがリセットされ
た後、デバイスを現整列および現配向に関する位置に配
置する(ステップ184、「デバイスをA、Lに置
く」)。この場合、第1の態様の最小摂動ルーチンを使
用することができる。デバイスが配置された後、コスト
関数を求める(ステップ186、「コストを求め
る」)。求めたコストが現最低コストよりも低いかどう
か調べる(照会188、「コスト<Cか」)。求めたコ
ストが現最低コストよりも低い場合、現最低コストを更
新し、対応する整列および配向を保存する(ステップ1
90、「C=コスト。A、Lを保存する」)。照会18
8の答えが否定であり、あるいはコストが更新された場
合、正当な配向カウンタLを次の正当な配向に増分する
(ステップ192、「L=L+1」)。次に、正当な配
向の最大数を超えているかどうか調べる(照会194、
「L>最大値か」)。まだ利用可能な正当な配向がある
場合、ルーチンはステップ184に戻る。もはや正当な
配向が残っていない場合、整列カウンタAを減分し、L
をリセットする(ステップ196、「A=A−1、L=
1」)。次いで、可能な整列がまだあるかどうか調べる
(照会198、「A=0か」)。他にもまだ整列がある
場合、ルーチンはステップ184に戻る。もはや整列が
ない場合、合併不能なルーチンは終了する。
によるグローバル配置最適化の合併不能な部分の流れ図
である。最初に、現レイアウトに追加すべき選択したデ
バイスの「最適」位置を求める(ステップ158、
「「最適」位置を求める」)。合併可能なルーチンと同
様に、最低コストCを十分に大きな数に初期設定し(ス
テップ160、「最低コストCを初期設定する」)、正
当な配向カウンタLを1に初期設定する(ステップ16
2、「正当な配向L=1を初期設定する」)。初期設定
後、デバイスを正当な現配向Lで「最適」位置に置き
(ステップ164、「Lで「最適」位置に置く)、コス
ト関数を評価する(ステップ166、「コストを求め
る」)。次いで、求めたコストが現最低コストCよりも
低いかどうか調べる(照会168、「コスト<C
か」)。求めたコストが現最低コストよりも低い場合、
現最低コストを更新し、対応する位置および配向を保存
する(ステップ170、「C=コスト。「最適」Lを保
存する)。照会168の答えが否定であり、あるいはコ
ストが更新された場合、正当な配向カウンタLを次の正
当な配向に増分する(ステップ172、「L=L+
1」)。次に、正当な配向の最大数を超えているかどう
か調べる(照会174、「L>最大値か」)。まだ利用
可能な正当な配向がある場合、ルーチンはステップ16
4に戻る。もはや正当な配向が残っていない場合、最適
位置で可視性探索を実行し(ステップ176、「可視性
探索を実行する」)、各方向での所定の距離内ですべて
の可能な整列を見つける。可視性探索の後、可能な整列
が発見されたかどうか調べる(照会178、「整列はあ
るか」)。可能な整列がない場合、合併不能なルーチン
は終了する。可能な整列がある場合、整列カウンタを可
能な整列の数に等しい値に設定し(ステップ180、A
=整列の数」)、正当な配向カウンタLをリセットする
(ステップ182、「正当な配向L=1を再初期設定す
る)。カウンタAが設定されカウンタLがリセットされ
た後、デバイスを現整列および現配向に関する位置に配
置する(ステップ184、「デバイスをA、Lに置
く」)。この場合、第1の態様の最小摂動ルーチンを使
用することができる。デバイスが配置された後、コスト
関数を求める(ステップ186、「コストを求め
る」)。求めたコストが現最低コストよりも低いかどう
か調べる(照会188、「コスト<Cか」)。求めたコ
ストが現最低コストよりも低い場合、現最低コストを更
新し、対応する整列および配向を保存する(ステップ1
90、「C=コスト。A、Lを保存する」)。照会18
8の答えが否定であり、あるいはコストが更新された場
合、正当な配向カウンタLを次の正当な配向に増分する
(ステップ192、「L=L+1」)。次に、正当な配
向の最大数を超えているかどうか調べる(照会194、
「L>最大値か」)。まだ利用可能な正当な配向がある
場合、ルーチンはステップ184に戻る。もはや正当な
配向が残っていない場合、整列カウンタAを減分し、L
をリセットする(ステップ196、「A=A−1、L=
1」)。次いで、可能な整列がまだあるかどうか調べる
(照会198、「A=0か」)。他にもまだ整列がある
場合、ルーチンはステップ184に戻る。もはや整列が
ない場合、合併不能なルーチンは終了する。
【0080】上述の「トス」最適化は、単一デバイスの
配置に有用である。多数のデバイスに「トス」最適化を
グローバルに適用するには、順次自動配置を使用して、
レイアウトが作成されるにつれて各デバイスに順次トス
を適用することによって合理的な配置を行う。デバイス
配置の順序は、設計者が選択し、あるいは、任意の数の
基準に基づいて自動的に選択することができる(ランダ
ム順序付けまたは接続性)。配置が進むにつれて、レイ
アウトは密になっていく。したがって、あるレベルの順
序依存性はあるが、第1の態様の除去態様は、順序依存
性の効果を緩和する傾向がある。最小摂動除去態様がな
い場合、レイアウトの品質は、デバイスが配置される順
序に直接依存するが、試行配置を行わずに、グローバル
にかつ有用な程度にこの順序を知ることはできない。
配置に有用である。多数のデバイスに「トス」最適化を
グローバルに適用するには、順次自動配置を使用して、
レイアウトが作成されるにつれて各デバイスに順次トス
を適用することによって合理的な配置を行う。デバイス
配置の順序は、設計者が選択し、あるいは、任意の数の
基準に基づいて自動的に選択することができる(ランダ
ム順序付けまたは接続性)。配置が進むにつれて、レイ
アウトは密になっていく。したがって、あるレベルの順
序依存性はあるが、第1の態様の除去態様は、順序依存
性の効果を緩和する傾向がある。最小摂動除去態様がな
い場合、レイアウトの品質は、デバイスが配置される順
序に直接依存するが、試行配置を行わずに、グローバル
にかつ有用な程度にこの順序を知ることはできない。
【0081】順次自動配置の順序依存効果をさらに緩和
するために、追加反復緩和配置段階を追加することがで
きる。この段階では、完成されたレイアウト中の各デバ
イスは、(所定の基準に基づいて)もはや改善が示され
なくなるか、あるいは設計者がプロセスを終了するま
で、何度もトス最適化を受ける。概念的には、デバイス
を削除したとき、デバイスがあった所に「穴」を残し、
あるいは、たとえば圧縮によって、レイアウト中の残り
のデバイスで穴を埋めることができる。また、所与の状
況で穴を残すかどうかを、設計者の任意選択とすること
もできる。穴は残すことが好ましい。というのは、そう
すると、最小摂動の目標、すなわち、レイアウト中の物
体の移動を最小にするという目標を満たすからである。
デバイスを選択する順序は、たとえば、ランダムなもの
でよく、あるいは、他の例としては、「最適」位置から
最も離れたデバイスを選択することによって計算するこ
ともできる。
するために、追加反復緩和配置段階を追加することがで
きる。この段階では、完成されたレイアウト中の各デバ
イスは、(所定の基準に基づいて)もはや改善が示され
なくなるか、あるいは設計者がプロセスを終了するま
で、何度もトス最適化を受ける。概念的には、デバイス
を削除したとき、デバイスがあった所に「穴」を残し、
あるいは、たとえば圧縮によって、レイアウト中の残り
のデバイスで穴を埋めることができる。また、所与の状
況で穴を残すかどうかを、設計者の任意選択とすること
もできる。穴は残すことが好ましい。というのは、そう
すると、最小摂動の目標、すなわち、レイアウト中の物
体の移動を最小にするという目標を満たすからである。
デバイスを選択する順序は、たとえば、ランダムなもの
でよく、あるいは、他の例としては、「最適」位置から
最も離れたデバイスを選択することによって計算するこ
ともできる。
【0082】第3の態様では、本発明は、コンピュータ
支援設計と同様にコンピュータによって容易に実施する
ことができる。図20は、モニタ124と、中央演算処
理装置126と、マウス128と、ディスク・ドライブ
130と、キーボード132と、メモリ134とを含む
総称ワークステーション122を示す。コンピュータで
実施される本発明をワークステーション122に関して
説明するが、本発明は、メインフレーム、パーソナル・
コンピュータ、ラップトップ・コンピュータなど他のタ
イプのコンピュータ上で、あるいは、場合によっては、
ネットワーク上でも実施できることが理解されよう。ま
た、ワークステーション122はディスク・ドライブ1
30を含むが、光学記憶装置など他のタイプの補助記憶
装置を使用することもできる。また、キーボード132
およびマウス128の機能は、タッチ・スクリーン・モ
ニタ、ペン・ベースの対話型装置、あるいは場合によっ
ては、音声ベースの装置によって実施することもでき
る。マウス128を他の何らかのタイプのポインティン
グ装置と交換し、キーボード132を他のタイプの入力
装置と交換することもできる。本発明は、たとえば、デ
ィスク・ドライブ130を介してCPU126によって
アクセスされるディスク136上のコンピュータ・プロ
グラムで実施することができる。その場合、ユーザは、
キーボード132またはマウス128あるいはその両方
を使ってレイアウトを操作することができる。当業者に
は、コンピュータ・プログラムで本発明をどのように実
施すべきか、およびワークステーション122の動作の
詳細は周知であろう。
支援設計と同様にコンピュータによって容易に実施する
ことができる。図20は、モニタ124と、中央演算処
理装置126と、マウス128と、ディスク・ドライブ
130と、キーボード132と、メモリ134とを含む
総称ワークステーション122を示す。コンピュータで
実施される本発明をワークステーション122に関して
説明するが、本発明は、メインフレーム、パーソナル・
コンピュータ、ラップトップ・コンピュータなど他のタ
イプのコンピュータ上で、あるいは、場合によっては、
ネットワーク上でも実施できることが理解されよう。ま
た、ワークステーション122はディスク・ドライブ1
30を含むが、光学記憶装置など他のタイプの補助記憶
装置を使用することもできる。また、キーボード132
およびマウス128の機能は、タッチ・スクリーン・モ
ニタ、ペン・ベースの対話型装置、あるいは場合によっ
ては、音声ベースの装置によって実施することもでき
る。マウス128を他の何らかのタイプのポインティン
グ装置と交換し、キーボード132を他のタイプの入力
装置と交換することもできる。本発明は、たとえば、デ
ィスク・ドライブ130を介してCPU126によって
アクセスされるディスク136上のコンピュータ・プロ
グラムで実施することができる。その場合、ユーザは、
キーボード132またはマウス128あるいはその両方
を使ってレイアウトを操作することができる。当業者に
は、コンピュータ・プログラムで本発明をどのように実
施すべきか、およびワークステーション122の動作の
詳細は周知であろう。
【0083】本発明のいくつかの態様を本明細書で説明
し図示したが、同じ目的を達成するために当業者なら代
替態様を実施することができよう。また、本発明は集積
回路デバイス設計に関して説明したが、たとえば、プリ
ント回路板設計や建築設計など他の分野で使用すること
もできる。本発明は、建築設計において、たとえば、事
務所での仕切りに関して、部屋を追加し、同時に、既存
の部屋の摂動を最小化し、あるいは、倉庫で貯蔵容器間
隔を決定する上で有用である。他の例を挙げると、本発
明は、シート材料から製品を切断する製造工程でも有用
である。したがって、添付の特許請求の範囲は、本発明
の真の趣旨および範囲に含まれるそのようなすべての代
替態様をカバーするものである。
し図示したが、同じ目的を達成するために当業者なら代
替態様を実施することができよう。また、本発明は集積
回路デバイス設計に関して説明したが、たとえば、プリ
ント回路板設計や建築設計など他の分野で使用すること
もできる。本発明は、建築設計において、たとえば、事
務所での仕切りに関して、部屋を追加し、同時に、既存
の部屋の摂動を最小化し、あるいは、倉庫で貯蔵容器間
隔を決定する上で有用である。他の例を挙げると、本発
明は、シート材料から製品を切断する製造工程でも有用
である。したがって、添付の特許請求の範囲は、本発明
の真の趣旨および範囲に含まれるそのようなすべての代
替態様をカバーするものである。
【0084】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0085】(1)複数の所定の規則に従うように複数
の物体のレイアウトを修正する方法において、前記複数
の所定の規則の少なくとも1つの違反を前記レイアウト
内で識別するステップと、前記複数の物体の摂動が最小
になるように前記少なくとも1つの違反を削除するため
に前記レイアウトを修正するステップとを含むことを特
徴とする方法。 (2)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つの物体の間の最小間隔を含むことを特
徴とする上記(1)に記載の方法。 (3)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つを合併するための基準を含むことを特
徴とする上記(1)に記載の方法。 (4)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つを重ならせるための基準を含むことを
特徴とする上記(1)に記載の方法。 (5)前記複数の所定の規則が、物体の寸法を含むこと
を特徴とする上記(1)に記載の方法。 (6)さらに、前記少なくとも1つの違反による前記複
数の物体のうちのすべての移行的物体を前記レイアウト
内で識別するステップを含むことを特徴とする上記
(1)に記載の方法。 (7)さらに、前記識別ステップの前に前記レイアウト
用の制約モデルを導出するステップを含み、前記識別ス
テップが、前記制約モデル内で前記少なくとも1つの違
反を識別するステップを含み、前記修正ステップが、前
記制約モデルに従って前記レイアウトを修正するステッ
プを含むことを特徴とする上記(1)に記載の方法。 (8)さらに、前記少なくとも1つの違反による前記複
数の物体のうちのすべての移行的物体を前記制約モデル
内で識別するステップを含むことを特徴とする上記
(7)に記載の方法。 (9)前記複数の物体がそれぞれ、第1の配向で、第1
のエッジと、前記第1のエッジに対向する第2のエッジ
とを境界とし、前記第1の配向に垂直な第2の配向で、
第3のエッジと、前記第3のエッジに対向する第4のエ
ッジとを境界とし、前記導出ステップが、所定の基準に
対する前記複数の物体それぞれの各エッジごとの位置を
各前記配向ごとに求めるステップを含むことを特徴とす
る上記(8)に記載の方法。 (10)各前記配向ごとにすべての移行的物体を識別す
る前記ステップが、第1のエッジ群を、前記所定の基準
から離れる方向で前記所定の基準に最も近い前記少なく
とも1つの違反を越えるすべての移行的エッジとして識
別するステップと、第2のエッジ群を、前記所定の基準
へ向かう方向で前記所定の基準から最も遠い前記少なく
とも1つの違反を越えるすべての移行的エッジとして識
別するステップとを含むことを特徴とする上記(9)に
記載の方法。 (11)各前記配向ごとに修正を施す前記ステップが、
前記複数の所定の規則および前記制約モデルに従って、
以下の数式中の摂動Pを最小にするステップを含み、
の物体のレイアウトを修正する方法において、前記複数
の所定の規則の少なくとも1つの違反を前記レイアウト
内で識別するステップと、前記複数の物体の摂動が最小
になるように前記少なくとも1つの違反を削除するため
に前記レイアウトを修正するステップとを含むことを特
徴とする方法。 (2)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つの物体の間の最小間隔を含むことを特
徴とする上記(1)に記載の方法。 (3)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つを合併するための基準を含むことを特
徴とする上記(1)に記載の方法。 (4)前記複数の所定の規則が、前記複数の物体のうち
の少なくとも2つを重ならせるための基準を含むことを
特徴とする上記(1)に記載の方法。 (5)前記複数の所定の規則が、物体の寸法を含むこと
を特徴とする上記(1)に記載の方法。 (6)さらに、前記少なくとも1つの違反による前記複
数の物体のうちのすべての移行的物体を前記レイアウト
内で識別するステップを含むことを特徴とする上記
(1)に記載の方法。 (7)さらに、前記識別ステップの前に前記レイアウト
用の制約モデルを導出するステップを含み、前記識別ス
テップが、前記制約モデル内で前記少なくとも1つの違
反を識別するステップを含み、前記修正ステップが、前
記制約モデルに従って前記レイアウトを修正するステッ
プを含むことを特徴とする上記(1)に記載の方法。 (8)さらに、前記少なくとも1つの違反による前記複
数の物体のうちのすべての移行的物体を前記制約モデル
内で識別するステップを含むことを特徴とする上記
(7)に記載の方法。 (9)前記複数の物体がそれぞれ、第1の配向で、第1
のエッジと、前記第1のエッジに対向する第2のエッジ
とを境界とし、前記第1の配向に垂直な第2の配向で、
第3のエッジと、前記第3のエッジに対向する第4のエ
ッジとを境界とし、前記導出ステップが、所定の基準に
対する前記複数の物体それぞれの各エッジごとの位置を
各前記配向ごとに求めるステップを含むことを特徴とす
る上記(8)に記載の方法。 (10)各前記配向ごとにすべての移行的物体を識別す
る前記ステップが、第1のエッジ群を、前記所定の基準
から離れる方向で前記所定の基準に最も近い前記少なく
とも1つの違反を越えるすべての移行的エッジとして識
別するステップと、第2のエッジ群を、前記所定の基準
へ向かう方向で前記所定の基準から最も遠い前記少なく
とも1つの違反を越えるすべての移行的エッジとして識
別するステップとを含むことを特徴とする上記(9)に
記載の方法。 (11)各前記配向ごとに修正を施す前記ステップが、
前記複数の所定の規則および前記制約モデルに従って、
以下の数式中の摂動Pを最小にするステップを含み、
【数30】P=Σx(i)new−Σx(j)new' 上式で、
【数31】Σx(i)new≧Σx(i)old Σx(j)new≦Σx(j)old' であり、上式で、x(i)が、前記所定の基準に対する前
記第1のエッジ群中の所与のエッジの位置から成り、x
(j)が、前記所定の基準に対する前記第2のエッジ群中
の所与のエッジの位置から成り、「new」が、前記最
小化ステップの結果としての前記所定の基準に対する前
記所与のエッジの位置を示し、「old」が、前記最小
化ステップの結果としての前記所定の基準に対する前記
所与のエッジの位置を示すことを特徴とする上記(1
0)に記載の方法。 (12)前記修正ステップがまず、水平配向と垂直配向
の一方から実行され、次に、前記水平配向と前記垂直配
向のうちの他方から実行されることを特徴とする上記
(1)に記載の方法。 (13)前記複数の物体が、複数の集積回路デバイスか
ら成ることを特徴とする上記(1)に記載の方法。 (14)複数の所定の規則に従うように複数の物体のレ
イアウトを自動的に修正する方法において、前記複数の
所定の規則にかかわらずに前記レイアウトを修正するス
テップと、前記複数の所定の規則の違反を前記レイアウ
ト内で自動的に識別するステップと、前記複数の物体の
摂動が最小になるように前記違反を削除するために前記
レイアウトを自動的に修正するステップとを含むことを
特徴とする方法。 (15)さらに、前記違反による前記複数の物体のうち
のすべての移行的物体を前記レイアウト内で識別するス
テップを含むことを特徴とする上記(14)に記載の方
法。 (16)さらに、前記自動識別ステップの前に前記レイ
アウト用の制約モデルを自動的に導出するステップを含
み、前記自動識別ステップが、前記制約モデル内で前記
違反を自動的に識別するステップを含み、前記自動修正
ステップが、前記制約モデルに従って前記レイアウトを
自動的に修正するステップを含むことを特徴とする上記
(14)に記載の方法。 (17)さらに、前記違反による前記複数の物体のうち
のすべての移行的物体を前記制約モデル内で自動的に識
別するステップを含むことを特徴とする上記(16)に
記載の方法。 (18)複数の物体のレイアウト内に物体を自動的に挿
入する方法において、前記レイアウトに挿入する物体を
選択するステップと、前記複数の物体のうちの少なくと
も1つと前記選択された物体とを合併するために、少な
くとも1つの合併可能な位置が前記レイアウト内に存在
するかどうかを自動的に判定するステップと、前記選択
された物体を前記レイアウト内に挿入するために、少な
くとも1つの合併不能な位置が前記レイアウト内に存在
するかどうかを自動的に判定するステップと、前記複数
の物体の摂動が最小になるように、前記少なくとも1つ
の合併可能な位置と前記少なくとも1つの合併不能な位
置のうちの一方に前記選択された物体を自動的に挿入す
るステップとを含むことを特徴とする方法。 (19)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、所定のコスト関数に基づ
いて合併可能な最低コスト位置を自動的に求めるステッ
プと、前記少なくとも1つの合併不能な位置が存在する
と判定された場合、前記所定のコスト関数に基づいて合
併不能な最低コスト位置を自動的に求めるステップとを
含み、前記自動挿入ステップが、前記少なくとも1つの
合併不能な位置が存在すると判定されなかった場合、前
記合併可能な最低コスト位置に、前記選択された物体を
自動的に挿入するステップと、前記少なくとも1つの合
併可能な位置が存在すると判定されなかった場合、前記
合併不能な最低コスト位置に、前記選択された物体を自
動的に挿入するステップと、前記少なくとも1つの合併
可能な位置と前記少なくとも1つの合併不能な位置が共
に存在すると判定された場合、前記合併可能な最低コス
ト位置と前記合併不能な最低コスト位置を自動的に比較
して全体的な最低コスト位置を求め、前記選択された物
体を前記レイアウトの前記全体的最低コスト位置に自動
的に挿入するステップとを含むことを特徴とする上記
(18)に記載の方法。 (20)前記合併可能な最低コスト位置を自動的に求め
るステップが、前記少なくとも1つの合併可能な位置の
それぞれでの合併可能な前記選択された物体の複数の所
定の配向のそれぞれごとに、前記複数の物体の摂動が所
与の配向に関して最小になるように、前記所定のコスト
関数に基づいて合併可能なコストを自動的に求めるステ
ップと、求めたすべての合併可能なコストを自動的に比
較して、前記合併可能な最低コスト位置を求めるステッ
プとを含むことを特徴とする上記(19)に記載の方
法。 (21)前記複数の物体が、複数の集積回路デバイスか
ら成り、前記合併不能な最低コスト位置を自動的に求め
る前記ステップが、最短の電気ネット長をもたらす可能
性が高い前記選択された物体の最適な位置を自動的に求
めるステップと、前記最適位置での複数の所定の配向の
それぞれごとに、前記複数の物体の摂動が所与の配向に
関して最小になるように、前記所定のコスト関数に基づ
いて合併不能なコストを自動的に求めるステップと、前
記選択された物体と、前記複数の物体のうちの少なくと
も1つとのすべての可能な整列位置の可視性探索を、前
記最適な位置からの複数の所定の方法のそれぞれで所定
の距離にわたって実行するステップと、前記すべての可
能な整列位置のそれぞれでの前記複数の所定の配向のそ
れぞれごとに、前記複数の物体の摂動が所与の配向に関
して最小になるように、前記所定のコスト関数に基づい
て合併不能なコストを自動的に求めるステップと、求め
たすべての合併可能なコストを自動的に比較して、前記
合併可能な最低コスト位置を求めるステップとを含むこ
とを特徴とする上記(19)に記載の方法。 (22)前記所定のコスト関数が、合併前総面積から合
併後総面積を差し引いた値を特徴とする合併構成要素を
含むことを特徴とする上記(19)に記載の方法。 (23)前記所定のコスト関数が、前記選択された物体
に近接する最もまっすぐで最も障害物の少ない領域を特
徴とする整列構成要素を含むことを特徴とする上記(1
9)に記載の方法。 (24)前記複数の物体が、複数の集積回路デバイスか
ら成り、前記複数の集積回路デバイスがそれぞれ、電気
接続用の端子を備え、前記選択された物体が、選択され
た集積回路デバイスであり、前記所定のコスト関数が、
前記選択された集積回路デバイスを含む電気ネットのす
べての端子を接続する最短経路の電気ネット長推定量か
ら成ることを特徴とする上記(19)に記載の方法。 (25)選択された複数の物体用のレイアウトを自動的
に作成する方法において、(a)前記選択された複数の
物体から第1の物体を選択するステップと、(b)前記
第1の物体を自動的に配置して前記レイアウトの作成を
開始するステップと、(c)前記選択された複数の物体
から、配置されていない物体を選択するステップと、
(d)前記レイアウトに以前に配置された少なくとも1
つの物体と、前記配置されていない物体とを合併するた
めに、少なくとも1つの合併可能な位置が前記レイアウ
ト内に存在するかどうかを自動的に判定するステップ
と、(e)前記配置されていない物体を前記レイアウト
内に配置するために、少なくとも1つの合併不能な位置
が前記レイアウト内に存在するかどうかを自動的に判定
するステップと、(f)前記レイアウトに以前に配置さ
れたすべての物体の摂動が最小になるように、前記少な
くとも1つの合併可能な位置と前記少なくとも1つの合
併不能な位置のうちの一方に前記配置されていない物体
を自動的に配置するステップと、(g)前記選択された
複数の物体がすべて前記レイアウトに配置されるまで、
ステップ(c)ないし(f)を再実行するステップとを
含むことを特徴とする方法。 (26)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、ステップ(d)の後、ス
テップ(f)の前に、所定のコスト関数に基づいて合併
可能な最低コスト位置を自動的に求めるステップと、前
記少なくとも1つの合併不能な位置が存在すると判定さ
れた場合、ステップ(e)の後、ステップ(f)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、前記自動
配置ステップが、前記少なくとも1つの合併不能な位置
が存在すると判定されなかった場合、前記合併可能な最
低コスト位置に、前記選択された物体を自動的に挿入す
るステップと、前記少なくとも1つの合併可能な位置が
存在すると判定されなかった場合、前記合併不能な最低
コスト位置に、前記選択された物体を自動的に挿入する
ステップと、前記少なくとも1つの合併可能な位置と前
記少なくとも1つの合併不能な位置が共に存在すると判
定された場合、前記合併可能な最低コスト位置と前記合
併不能な最低コスト位置を自動的に比較して全体的な最
低コスト位置を求め、前記選択された物体を前記レイア
ウトの前記全体的最低コスト位置に自動的に挿入するス
テップとを含むことを特徴とする上記(25)に記載の
方法。 (27)ステップ(a)および(c)がそれぞれ、前記
選択された複数の物体について決定された順序に従って
実行されることを特徴とする上記(25)に記載の方
法。 (28)ステップ(a)および(c)がそれぞれ、前記
選択された複数の物体についてランダムな順序に従って
実行されることを特徴とする上記(25)に記載の方
法。 (29)複数の物体のレイアウト内での物体の配置を自
動的に改善する方法において、(a)配置を改善するた
めに前記レイアウト中の物体を選択するステップと、
(b)前記選択された物体を前記レイアウトから自動的
に削除するステップと、(c)前記複数の物体のうちの
少なくとも1つと、前記選択された物体とを合併するた
めに、少なくとも1つの合併可能な位置が前記レイアウ
ト内に存在するかどうかを自動的に判定するステップを
ステップ(b)の後に実行するステップと、(d)前記
選択された物体を前記レイアウト内に配置するために少
なくとも1つの合併不能な位置が前記レイアウト内に存
在するかどうかを自動的に判定するステップをステップ
(b)の後に実行するステップと、(e)前記複数の物
体の摂動が最小になるように、前記少なくとも1つの合
併可能な位置と前記少なくとも1つの合併不能な位置の
うちの一方に前記選択された物体を自動的に配置するス
テップとを含むことを特徴とする方法。 (30)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、ステップ(c)の後、ス
テップ(e)の前に、所定のコスト関数に基づいて合併
可能な最低コスト位置を自動的に求めるステップと、前
記少なくとも1つの合併不能な位置が存在すると判定さ
れた場合、ステップ(d)の後、ステップ(e)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、前記自動
配置ステップが、前記少なくとも1つの合併不能な位置
が存在すると判定されなかった場合、前記合併可能な最
低コスト位置に、前記選択された物体を自動的に挿入す
るステップと、前記少なくとも1つの合併可能な位置が
存在すると判定されなかった場合、前記合併不能な最低
コスト位置に、前記選択された物体を自動的に挿入する
ステップと、前記少なくとも1つの合併可能な位置と前
記少なくとも1つの合併不能な位置が共に存在すると判
定された場合、前記合併可能な最低コスト位置と前記合
併不能な最低コスト位置を自動的に比較して全体的な最
低コスト位置を求め、前記選択された物体を前記全体的
な最低コスト位置で前記レイアウトに自動的に挿入する
ステップとを含むことを特徴とする上記(29)に記載
の方法。 (31)さらに、(f)ステップ(b)ないし(e)を
所定回数だけ繰り返すステップを含むことを特徴とする
上記(29)に記載の方法。 (32)さらに、(f)所定に基準による最適な配置が
見つかるまで、ステップ(b)ないし(e)を繰り返す
ステップを含むことを特徴とする上記(29)に記載の
方法。 (33)複数の所定の規則に従うように複数の物体のレ
イアウトを修正するシステムにおいて、前記複数の所定
の規則の少なくとも1つの違反を前記レイアウト内で識
別する手段と、前記複数の物体の摂動が最小になるよう
に前記少なくとも1つの違反を削除するために前記レイ
アウトを修正する手段とを備えることを特徴とするシス
テム。 (34)さらに、前記少なくとも1つの違反による前記
複数の物体のうちのすべての移行的物体を前記レイアウ
ト内で識別する手段を備えることを特徴とする上記(3
0)に記載のシステム。 (35)さらに、前記レイアウト用の制約モデルを導出
する手段を備えることを特徴とする上記(34)に記載
のシステム。 (36)前記複数の物体がそれぞれ、複数のエッジとし
てモデル化され、前記移行的物体を識別する手段が、第
1のエッジ群を、前記所定の基準から離れる方向で前記
所定の基準に最も近い前記少なくとも1つの違反を越え
るすべての移行的エッジとして識別する手段と、第2の
エッジ群を、前記所定の基準へ向かう方向で前記所定の
基準から最も遠い前記少なくとも1つの違反を越えるす
べての移行的エッジとして識別する手段とを備えること
を特徴とする上記(35)に記載のシステム。 (37)前記修正手段が、前記複数の所定の規則および
前記制約モデルに従って、以下の数式中の摂動Pを最小
にする手段を含み、
記第1のエッジ群中の所与のエッジの位置から成り、x
(j)が、前記所定の基準に対する前記第2のエッジ群中
の所与のエッジの位置から成り、「new」が、前記最
小化ステップの結果としての前記所定の基準に対する前
記所与のエッジの位置を示し、「old」が、前記最小
化ステップの結果としての前記所定の基準に対する前記
所与のエッジの位置を示すことを特徴とする上記(1
0)に記載の方法。 (12)前記修正ステップがまず、水平配向と垂直配向
の一方から実行され、次に、前記水平配向と前記垂直配
向のうちの他方から実行されることを特徴とする上記
(1)に記載の方法。 (13)前記複数の物体が、複数の集積回路デバイスか
ら成ることを特徴とする上記(1)に記載の方法。 (14)複数の所定の規則に従うように複数の物体のレ
イアウトを自動的に修正する方法において、前記複数の
所定の規則にかかわらずに前記レイアウトを修正するス
テップと、前記複数の所定の規則の違反を前記レイアウ
ト内で自動的に識別するステップと、前記複数の物体の
摂動が最小になるように前記違反を削除するために前記
レイアウトを自動的に修正するステップとを含むことを
特徴とする方法。 (15)さらに、前記違反による前記複数の物体のうち
のすべての移行的物体を前記レイアウト内で識別するス
テップを含むことを特徴とする上記(14)に記載の方
法。 (16)さらに、前記自動識別ステップの前に前記レイ
アウト用の制約モデルを自動的に導出するステップを含
み、前記自動識別ステップが、前記制約モデル内で前記
違反を自動的に識別するステップを含み、前記自動修正
ステップが、前記制約モデルに従って前記レイアウトを
自動的に修正するステップを含むことを特徴とする上記
(14)に記載の方法。 (17)さらに、前記違反による前記複数の物体のうち
のすべての移行的物体を前記制約モデル内で自動的に識
別するステップを含むことを特徴とする上記(16)に
記載の方法。 (18)複数の物体のレイアウト内に物体を自動的に挿
入する方法において、前記レイアウトに挿入する物体を
選択するステップと、前記複数の物体のうちの少なくと
も1つと前記選択された物体とを合併するために、少な
くとも1つの合併可能な位置が前記レイアウト内に存在
するかどうかを自動的に判定するステップと、前記選択
された物体を前記レイアウト内に挿入するために、少な
くとも1つの合併不能な位置が前記レイアウト内に存在
するかどうかを自動的に判定するステップと、前記複数
の物体の摂動が最小になるように、前記少なくとも1つ
の合併可能な位置と前記少なくとも1つの合併不能な位
置のうちの一方に前記選択された物体を自動的に挿入す
るステップとを含むことを特徴とする方法。 (19)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、所定のコスト関数に基づ
いて合併可能な最低コスト位置を自動的に求めるステッ
プと、前記少なくとも1つの合併不能な位置が存在する
と判定された場合、前記所定のコスト関数に基づいて合
併不能な最低コスト位置を自動的に求めるステップとを
含み、前記自動挿入ステップが、前記少なくとも1つの
合併不能な位置が存在すると判定されなかった場合、前
記合併可能な最低コスト位置に、前記選択された物体を
自動的に挿入するステップと、前記少なくとも1つの合
併可能な位置が存在すると判定されなかった場合、前記
合併不能な最低コスト位置に、前記選択された物体を自
動的に挿入するステップと、前記少なくとも1つの合併
可能な位置と前記少なくとも1つの合併不能な位置が共
に存在すると判定された場合、前記合併可能な最低コス
ト位置と前記合併不能な最低コスト位置を自動的に比較
して全体的な最低コスト位置を求め、前記選択された物
体を前記レイアウトの前記全体的最低コスト位置に自動
的に挿入するステップとを含むことを特徴とする上記
(18)に記載の方法。 (20)前記合併可能な最低コスト位置を自動的に求め
るステップが、前記少なくとも1つの合併可能な位置の
それぞれでの合併可能な前記選択された物体の複数の所
定の配向のそれぞれごとに、前記複数の物体の摂動が所
与の配向に関して最小になるように、前記所定のコスト
関数に基づいて合併可能なコストを自動的に求めるステ
ップと、求めたすべての合併可能なコストを自動的に比
較して、前記合併可能な最低コスト位置を求めるステッ
プとを含むことを特徴とする上記(19)に記載の方
法。 (21)前記複数の物体が、複数の集積回路デバイスか
ら成り、前記合併不能な最低コスト位置を自動的に求め
る前記ステップが、最短の電気ネット長をもたらす可能
性が高い前記選択された物体の最適な位置を自動的に求
めるステップと、前記最適位置での複数の所定の配向の
それぞれごとに、前記複数の物体の摂動が所与の配向に
関して最小になるように、前記所定のコスト関数に基づ
いて合併不能なコストを自動的に求めるステップと、前
記選択された物体と、前記複数の物体のうちの少なくと
も1つとのすべての可能な整列位置の可視性探索を、前
記最適な位置からの複数の所定の方法のそれぞれで所定
の距離にわたって実行するステップと、前記すべての可
能な整列位置のそれぞれでの前記複数の所定の配向のそ
れぞれごとに、前記複数の物体の摂動が所与の配向に関
して最小になるように、前記所定のコスト関数に基づい
て合併不能なコストを自動的に求めるステップと、求め
たすべての合併可能なコストを自動的に比較して、前記
合併可能な最低コスト位置を求めるステップとを含むこ
とを特徴とする上記(19)に記載の方法。 (22)前記所定のコスト関数が、合併前総面積から合
併後総面積を差し引いた値を特徴とする合併構成要素を
含むことを特徴とする上記(19)に記載の方法。 (23)前記所定のコスト関数が、前記選択された物体
に近接する最もまっすぐで最も障害物の少ない領域を特
徴とする整列構成要素を含むことを特徴とする上記(1
9)に記載の方法。 (24)前記複数の物体が、複数の集積回路デバイスか
ら成り、前記複数の集積回路デバイスがそれぞれ、電気
接続用の端子を備え、前記選択された物体が、選択され
た集積回路デバイスであり、前記所定のコスト関数が、
前記選択された集積回路デバイスを含む電気ネットのす
べての端子を接続する最短経路の電気ネット長推定量か
ら成ることを特徴とする上記(19)に記載の方法。 (25)選択された複数の物体用のレイアウトを自動的
に作成する方法において、(a)前記選択された複数の
物体から第1の物体を選択するステップと、(b)前記
第1の物体を自動的に配置して前記レイアウトの作成を
開始するステップと、(c)前記選択された複数の物体
から、配置されていない物体を選択するステップと、
(d)前記レイアウトに以前に配置された少なくとも1
つの物体と、前記配置されていない物体とを合併するた
めに、少なくとも1つの合併可能な位置が前記レイアウ
ト内に存在するかどうかを自動的に判定するステップ
と、(e)前記配置されていない物体を前記レイアウト
内に配置するために、少なくとも1つの合併不能な位置
が前記レイアウト内に存在するかどうかを自動的に判定
するステップと、(f)前記レイアウトに以前に配置さ
れたすべての物体の摂動が最小になるように、前記少な
くとも1つの合併可能な位置と前記少なくとも1つの合
併不能な位置のうちの一方に前記配置されていない物体
を自動的に配置するステップと、(g)前記選択された
複数の物体がすべて前記レイアウトに配置されるまで、
ステップ(c)ないし(f)を再実行するステップとを
含むことを特徴とする方法。 (26)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、ステップ(d)の後、ス
テップ(f)の前に、所定のコスト関数に基づいて合併
可能な最低コスト位置を自動的に求めるステップと、前
記少なくとも1つの合併不能な位置が存在すると判定さ
れた場合、ステップ(e)の後、ステップ(f)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、前記自動
配置ステップが、前記少なくとも1つの合併不能な位置
が存在すると判定されなかった場合、前記合併可能な最
低コスト位置に、前記選択された物体を自動的に挿入す
るステップと、前記少なくとも1つの合併可能な位置が
存在すると判定されなかった場合、前記合併不能な最低
コスト位置に、前記選択された物体を自動的に挿入する
ステップと、前記少なくとも1つの合併可能な位置と前
記少なくとも1つの合併不能な位置が共に存在すると判
定された場合、前記合併可能な最低コスト位置と前記合
併不能な最低コスト位置を自動的に比較して全体的な最
低コスト位置を求め、前記選択された物体を前記レイア
ウトの前記全体的最低コスト位置に自動的に挿入するス
テップとを含むことを特徴とする上記(25)に記載の
方法。 (27)ステップ(a)および(c)がそれぞれ、前記
選択された複数の物体について決定された順序に従って
実行されることを特徴とする上記(25)に記載の方
法。 (28)ステップ(a)および(c)がそれぞれ、前記
選択された複数の物体についてランダムな順序に従って
実行されることを特徴とする上記(25)に記載の方
法。 (29)複数の物体のレイアウト内での物体の配置を自
動的に改善する方法において、(a)配置を改善するた
めに前記レイアウト中の物体を選択するステップと、
(b)前記選択された物体を前記レイアウトから自動的
に削除するステップと、(c)前記複数の物体のうちの
少なくとも1つと、前記選択された物体とを合併するた
めに、少なくとも1つの合併可能な位置が前記レイアウ
ト内に存在するかどうかを自動的に判定するステップを
ステップ(b)の後に実行するステップと、(d)前記
選択された物体を前記レイアウト内に配置するために少
なくとも1つの合併不能な位置が前記レイアウト内に存
在するかどうかを自動的に判定するステップをステップ
(b)の後に実行するステップと、(e)前記複数の物
体の摂動が最小になるように、前記少なくとも1つの合
併可能な位置と前記少なくとも1つの合併不能な位置の
うちの一方に前記選択された物体を自動的に配置するス
テップとを含むことを特徴とする方法。 (30)さらに、前記少なくとも1つの合併可能な位置
が存在すると判定された場合、ステップ(c)の後、ス
テップ(e)の前に、所定のコスト関数に基づいて合併
可能な最低コスト位置を自動的に求めるステップと、前
記少なくとも1つの合併不能な位置が存在すると判定さ
れた場合、ステップ(d)の後、ステップ(e)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、前記自動
配置ステップが、前記少なくとも1つの合併不能な位置
が存在すると判定されなかった場合、前記合併可能な最
低コスト位置に、前記選択された物体を自動的に挿入す
るステップと、前記少なくとも1つの合併可能な位置が
存在すると判定されなかった場合、前記合併不能な最低
コスト位置に、前記選択された物体を自動的に挿入する
ステップと、前記少なくとも1つの合併可能な位置と前
記少なくとも1つの合併不能な位置が共に存在すると判
定された場合、前記合併可能な最低コスト位置と前記合
併不能な最低コスト位置を自動的に比較して全体的な最
低コスト位置を求め、前記選択された物体を前記全体的
な最低コスト位置で前記レイアウトに自動的に挿入する
ステップとを含むことを特徴とする上記(29)に記載
の方法。 (31)さらに、(f)ステップ(b)ないし(e)を
所定回数だけ繰り返すステップを含むことを特徴とする
上記(29)に記載の方法。 (32)さらに、(f)所定に基準による最適な配置が
見つかるまで、ステップ(b)ないし(e)を繰り返す
ステップを含むことを特徴とする上記(29)に記載の
方法。 (33)複数の所定の規則に従うように複数の物体のレ
イアウトを修正するシステムにおいて、前記複数の所定
の規則の少なくとも1つの違反を前記レイアウト内で識
別する手段と、前記複数の物体の摂動が最小になるよう
に前記少なくとも1つの違反を削除するために前記レイ
アウトを修正する手段とを備えることを特徴とするシス
テム。 (34)さらに、前記少なくとも1つの違反による前記
複数の物体のうちのすべての移行的物体を前記レイアウ
ト内で識別する手段を備えることを特徴とする上記(3
0)に記載のシステム。 (35)さらに、前記レイアウト用の制約モデルを導出
する手段を備えることを特徴とする上記(34)に記載
のシステム。 (36)前記複数の物体がそれぞれ、複数のエッジとし
てモデル化され、前記移行的物体を識別する手段が、第
1のエッジ群を、前記所定の基準から離れる方向で前記
所定の基準に最も近い前記少なくとも1つの違反を越え
るすべての移行的エッジとして識別する手段と、第2の
エッジ群を、前記所定の基準へ向かう方向で前記所定の
基準から最も遠い前記少なくとも1つの違反を越えるす
べての移行的エッジとして識別する手段とを備えること
を特徴とする上記(35)に記載のシステム。 (37)前記修正手段が、前記複数の所定の規則および
前記制約モデルに従って、以下の数式中の摂動Pを最小
にする手段を含み、
【数32】P=Σx(i)new−Σx(j)new' 上式で、
【数33】Σx(i)new≧Σx(i)old Σx(j)new≦Σx(j)old' であり、上式で、x(i)が、前記所定の基準に対する前
記第1のエッジ群中の所与のエッジの位置から成り、x
(j)が、前記所定の基準に対する前記第2のエッジ群中
の所与のエッジの位置から成り、「new」が、前記最
小化ステップの結果としての前記所定の基準に対する前
記所与のエッジの位置を示し、「old」が、前記最小
化ステップの結果としての前記所定の基準に対する前記
所与のエッジの位置を示すことを特徴とする上記(3
6)に記載のシステム。 (38)複数の所定の規則に従うように複数の物体のレ
イアウトを自動的に修正するシステムにおいて、前記複
数の所定の規則にかかわらずに前記レイアウトを修正す
る手段と、前記複数の所定の規則の違反を前記レイアウ
ト内で自動的に識別する手段と、前記複数の物体の摂動
が最小になるように前記違反を削除するために前記レイ
アウトを自動的に修正する手段とを備えることを特徴と
するシステム。 (39)複数の物体のレイアウト内に物体を自動的に挿
入するシステムにおいて、前記レイアウトに挿入する物
体を選択する手段と、前記複数の物体の摂動が最小にな
るように、前記複数の物体のうちの少なくとも1つと前
記選択された物体とを合併するために、合併可能な最低
コストを有する合併可能な位置が前記レイアウト内に存
在する場合、所定のコスト関数に基づいて前記合併可能
位置を自動的に求める手段と、前記複数の物体の摂動が
最小になるように、前記選択された物体を前記レイアウ
トに挿入するために、合併不能な最低コストを有する合
併不能な位置が前記レイアウト内に存在する場合、所定
のコスト関数に基づいて前記合併不能な位置を自動的に
求める手段と、前記合併不能な位置が存在すると判定さ
れなかった場合、前記合併可能な位置に、前記選択され
た物体を自動的に挿入する手段と、前記合併可能な位置
が存在すると判定されなかった場合、前記合併不能な位
置に、前記選択された物体を自動的に挿入する手段と、
前記合併可能な位置と前記合併不能な位置が共に存在す
ると判定された場合、前記合併可能な最低コストと前記
合併不能な最低コストを自動的に比較して、非ゼロの全
体的最低コストを求める手段と、前記合併可能な位置と
前記合併不能な位置のうちの前記非ゼロの全体的最低コ
ストを有する方に、前記選択された物体を自動的に挿入
する手段とを備えることを特徴とするシステム。 (40)選択された複数の物体用のレイアウトを自動的
に作成するシステムにおいて、前記選択された複数の物
体から第1の物体を選択する手段と、前記第1の物体を
自動的に配置して前記レイアウトの作成を開始する手段
と、前記選択された複数の物体から、配置されていない
物体を選択する手段と、前記レイアウトにすでに配置さ
れているすべての物体の摂動が最小になるように、前記
レイアウトにすでに配置されている少なくとも1つの物
体と、前記配置されていない物体とを合併するために、
合併可能な最低コストを有する合併可能な位置が前記レ
イアウト内に存在する場合、所定のコスト関数に基づい
て前記合併可能な位置を自動的に求める手段と、前記レ
イアウトにすでに配置されているすべての物体の摂動が
最小になるように、前記配置されていない物体を前記レ
イアウト内に配置するために、合併不能な最低コストを
有する合併不能な位置が前記レイアウト内に存在する場
合、所定のコスト関数に基づいて前記合併不能な位置を
自動的に求める手段と、前記合併可能な最低コストと前
記合併不能な最低コストを自動的に比較して、前記合併
可能な位置と前記合併不能な位置から非ゼロの全体的最
低コスト位置を求める手段と、前記非ゼロの全体的最低
コスト位置に、前記配置されていない物体を自動的に配
置する手段とを備えることを特徴とするシステム。 (41)複数の物体のレイアウト内の物体の配置を自動
的に改善するシステムにおいて、配置を改善するために
前記レイアウト中の物体を選択する手段と、前記選択さ
れた物体を前記レイアウトから自動的に削除する手段
と、前記削除ステップの後に残っている前記複数の物体
の摂動が最小になるように、前記複数の物体のうちの少
なくとも1つと、前記選択された物体とを合併するため
に、合併可能な最低コストを有する合併可能な位置が前
記レイアウト内に存在する場合、所定のコスト関数に基
づいて前記合併可能な位置を自動的に求める手段と、前
記複数の物体の摂動が最小になるように、前記選択され
た物体を前記レイアウト内に配置するために、合併不能
な最低コストを有する合併不能な位置が前記レイアウト
内に存在する場合、所定のコスト関数に基づいて前記合
併不能な位置を自動的に求める手段と、前記合併可能な
最低コストと前記合併不能な最低コストを自動的に比較
して、非ゼロの全体的最低コスト位置を求める手段と、
前記レイアウト内の、前記非ゼロの全体的最低コストを
有する前記合併可能な位置と前記合併不能な位置のうち
の一方に、前記選択された物体を自動的に配置する手段
とを備えることを特徴とするシステム。
記第1のエッジ群中の所与のエッジの位置から成り、x
(j)が、前記所定の基準に対する前記第2のエッジ群中
の所与のエッジの位置から成り、「new」が、前記最
小化ステップの結果としての前記所定の基準に対する前
記所与のエッジの位置を示し、「old」が、前記最小
化ステップの結果としての前記所定の基準に対する前記
所与のエッジの位置を示すことを特徴とする上記(3
6)に記載のシステム。 (38)複数の所定の規則に従うように複数の物体のレ
イアウトを自動的に修正するシステムにおいて、前記複
数の所定の規則にかかわらずに前記レイアウトを修正す
る手段と、前記複数の所定の規則の違反を前記レイアウ
ト内で自動的に識別する手段と、前記複数の物体の摂動
が最小になるように前記違反を削除するために前記レイ
アウトを自動的に修正する手段とを備えることを特徴と
するシステム。 (39)複数の物体のレイアウト内に物体を自動的に挿
入するシステムにおいて、前記レイアウトに挿入する物
体を選択する手段と、前記複数の物体の摂動が最小にな
るように、前記複数の物体のうちの少なくとも1つと前
記選択された物体とを合併するために、合併可能な最低
コストを有する合併可能な位置が前記レイアウト内に存
在する場合、所定のコスト関数に基づいて前記合併可能
位置を自動的に求める手段と、前記複数の物体の摂動が
最小になるように、前記選択された物体を前記レイアウ
トに挿入するために、合併不能な最低コストを有する合
併不能な位置が前記レイアウト内に存在する場合、所定
のコスト関数に基づいて前記合併不能な位置を自動的に
求める手段と、前記合併不能な位置が存在すると判定さ
れなかった場合、前記合併可能な位置に、前記選択され
た物体を自動的に挿入する手段と、前記合併可能な位置
が存在すると判定されなかった場合、前記合併不能な位
置に、前記選択された物体を自動的に挿入する手段と、
前記合併可能な位置と前記合併不能な位置が共に存在す
ると判定された場合、前記合併可能な最低コストと前記
合併不能な最低コストを自動的に比較して、非ゼロの全
体的最低コストを求める手段と、前記合併可能な位置と
前記合併不能な位置のうちの前記非ゼロの全体的最低コ
ストを有する方に、前記選択された物体を自動的に挿入
する手段とを備えることを特徴とするシステム。 (40)選択された複数の物体用のレイアウトを自動的
に作成するシステムにおいて、前記選択された複数の物
体から第1の物体を選択する手段と、前記第1の物体を
自動的に配置して前記レイアウトの作成を開始する手段
と、前記選択された複数の物体から、配置されていない
物体を選択する手段と、前記レイアウトにすでに配置さ
れているすべての物体の摂動が最小になるように、前記
レイアウトにすでに配置されている少なくとも1つの物
体と、前記配置されていない物体とを合併するために、
合併可能な最低コストを有する合併可能な位置が前記レ
イアウト内に存在する場合、所定のコスト関数に基づい
て前記合併可能な位置を自動的に求める手段と、前記レ
イアウトにすでに配置されているすべての物体の摂動が
最小になるように、前記配置されていない物体を前記レ
イアウト内に配置するために、合併不能な最低コストを
有する合併不能な位置が前記レイアウト内に存在する場
合、所定のコスト関数に基づいて前記合併不能な位置を
自動的に求める手段と、前記合併可能な最低コストと前
記合併不能な最低コストを自動的に比較して、前記合併
可能な位置と前記合併不能な位置から非ゼロの全体的最
低コスト位置を求める手段と、前記非ゼロの全体的最低
コスト位置に、前記配置されていない物体を自動的に配
置する手段とを備えることを特徴とするシステム。 (41)複数の物体のレイアウト内の物体の配置を自動
的に改善するシステムにおいて、配置を改善するために
前記レイアウト中の物体を選択する手段と、前記選択さ
れた物体を前記レイアウトから自動的に削除する手段
と、前記削除ステップの後に残っている前記複数の物体
の摂動が最小になるように、前記複数の物体のうちの少
なくとも1つと、前記選択された物体とを合併するため
に、合併可能な最低コストを有する合併可能な位置が前
記レイアウト内に存在する場合、所定のコスト関数に基
づいて前記合併可能な位置を自動的に求める手段と、前
記複数の物体の摂動が最小になるように、前記選択され
た物体を前記レイアウト内に配置するために、合併不能
な最低コストを有する合併不能な位置が前記レイアウト
内に存在する場合、所定のコスト関数に基づいて前記合
併不能な位置を自動的に求める手段と、前記合併可能な
最低コストと前記合併不能な最低コストを自動的に比較
して、非ゼロの全体的最低コスト位置を求める手段と、
前記レイアウト内の、前記非ゼロの全体的最低コストを
有する前記合併可能な位置と前記合併不能な位置のうち
の一方に、前記選択された物体を自動的に配置する手段
とを備えることを特徴とするシステム。
【0086】
【発明の効果】物体の摂動を最小化するように物体のレ
イアウトにおける配置規則の違反を増分的に訂正する方
法および装置を提供することによって、設計管理を維持
する、物体配置設計における効率的な自動化支援が提供
される。
イアウトにおける配置規則の違反を増分的に訂正する方
法および装置を提供することによって、設計管理を維持
する、物体配置設計における効率的な自動化支援が提供
される。
【図1】ある距離だけ離間された2つの物体のレイアウ
トのブロック図である。
トのブロック図である。
【図2】合併された図1の物体のレイアウトのブロック
図である。
図である。
【図3】重なり合っている図1の物体のレイアウトのブ
ロック図である。
ロック図である。
【図4】図1の一方の物体の寸法制約を示す前記物体の
ブロック図である。
ブロック図である。
【図5】3つの物体間の間隔が不十分である前記物体の
レイアウトのブロック図である。
レイアウトのブロック図である。
【図6】本発明によって第3の物体を受け入れるように
2つの物体を移動した後の図5のレイアウトのブロック
図である。
2つの物体を移動した後の図5のレイアウトのブロック
図である。
【図7】本発明の第1の態様の最小摂動方法の概略流れ
図である。
図である。
【図8】3つの物体と、そのうちの2つの物体間に挿入
すべき第4の物体とのレイアウトのブロック図である。
すべき第4の物体とのレイアウトのブロック図である。
【図9】第4の物体を含むように修正された結果、設計
違反を犯した、図8のレイアウトのブロック図である。
違反を犯した、図8のレイアウトのブロック図である。
【図10】本発明によって設計違反を削除するように修
正された、図9のレイアウトのブロック図である。
正された、図9のレイアウトのブロック図である。
【図11】3つのトランジスタとそこに挿入すべき第4
のトランジスタのレイアウトのブロック図である。
のトランジスタのレイアウトのブロック図である。
【図12】本発明に従って3つのトランジスタのうちの
1つと第4のトランジスタが合併された、図11のレイ
アウトのブロック図である。
1つと第4のトランジスタが合併された、図11のレイ
アウトのブロック図である。
【図13】本発明に従って3つのトランジスタのうちの
2つと第4のトランジスタが合併された、図11のレイ
アウトのブロック図である。
2つと第4のトランジスタが合併された、図11のレイ
アウトのブロック図である。
【図14】階層デバイス・レイアウトと、そこに挿入す
べきトランジスタのブロック図である。
べきトランジスタのブロック図である。
【図15】本発明に従ってトランジスタを挿入した後の
図14の階層レイアウトのブロック図である。
図14の階層レイアウトのブロック図である。
【図16】本発明に従って3つの集積回路デバイスのう
ちの2つを整列させる前の前記デバイスのレイアウトの
ブロック図である。
ちの2つを整列させる前の前記デバイスのレイアウトの
ブロック図である。
【図17】第2の態様の自動グローバル最適化技法の一
部の流れ図である。
部の流れ図である。
【図18】第2の態様の自動グローバル最適化技法の他
の部分の流れ図である。
の部分の流れ図である。
【図19】第2の態様の自動グローバル最適化技法の他
の部分の流れ図である。
の部分の流れ図である。
【図20】第3の態様によるコンピュータ・プログラム
の形で本発明を実施するワークステーションのブロック
図である。
の形で本発明を実施するワークステーションのブロック
図である。
8 位置 10 物体 14 距離 16 右エッジ 18 任意の基準 20 左エッジ 33 レイアウト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フク=ルエン・ヘン アメリカ合衆国10598 ニューヨーク州ヨ ークタウン・ハイツ スウェド・サークル 806
Claims (27)
- 【請求項1】複数の所定の規則に従うように複数の物体
のレイアウトを修正する方法において、 前記複数の所定の規則の少なくとも1つの違反を前記レ
イアウト内で識別するステップと、 前記複数の物体の摂動が最小になるように前記少なくと
も1つの違反を削除するために前記レイアウトを修正す
るステップとを含むことを特徴とする方法。 - 【請求項2】前記複数の所定の規則が、前記複数の物体
のうちの少なくとも2つの物体の間の最小間隔、前記複
数の物体のうちの少なくとも2つを合併するための基
準、前記複数の物体のうちの少なくとも2つを重ならせ
るための基準、および物体の寸法よりなるグループから
選択された規則を含むことを特徴とする請求項1に記載
の方法。 - 【請求項3】さらに、前記識別ステップの前に前記レイ
アウト用の制約モデルを導出するステップを含み、前記
識別ステップが、前記制約モデル内で前記少なくとも1
つの違反を識別し、前記修正ステップが、前記制約モデ
ルに従って前記レイアウトを修正することを特徴とする
請求項1に記載の方法。 - 【請求項4】さらに、前記少なくとも1つの違反による
前記複数の物体のうちのすべての移行的物体を前記制約
モデル内で識別するステップを含み、 前記複数の物体がそれぞれ、第1の配向で、第1のエッ
ジと、前記第1のエッジに対向する第2のエッジとを境
界とし、前記第1の配向に垂直な第2の配向で、第3の
エッジと、前記第3のエッジに対向する第4のエッジと
を境界とし、 前記導出ステップが、所定の基準に対する前記複数の物
体それぞれの各エッジごとの位置を各前記配向ごとに求
めることを特徴とする請求項3に記載の方法。 - 【請求項5】前記すべての移行的物体を識別するステッ
プが、 第1のエッジ群を、前記所定の基準から離れる方向で前
記所定の基準に最も近い前記少なくとも1つの違反を越
えるすべての移行的エッジとして識別するステップと、 第2のエッジ群を、前記所定の基準へ向かう方向で前記
所定の基準から最も遠い前記少なくとも1つの違反を越
えるすべての移行的エッジとして識別するステップとを
含むことを特徴とする請求項4に記載の方法。 - 【請求項6】前記修正するステップが、前記複数の所定
の規則および前記制約モデルに従って、以下の数式中の
摂動Pを最小にするステップを含み、 【数1】P=Σx(i)new−Σx(j)new' 上式で、 【数2】Σx(i)new≧Σx(i)old Σx(j)new≦Σx(j)old' であり、 上式で、x(i)が、前記所定の基準に対する前記第1の
エッジ群中の所与のエッジの位置から成り、x(j)が、
前記所定の基準に対する前記第2のエッジ群中の所与の
エッジの位置から成り、「new」が、前記最小化ステ
ップの結果としての前記所定の基準に対する前記所与の
エッジの位置を示し、「old」が、前記最小化ステッ
プの結果としての前記所定の基準に対する前記所与のエ
ッジの位置を示すことを特徴とする請求項5に記載の方
法。 - 【請求項7】複数の所定の規則に従うように複数の物体
のレイアウトを自動的に修正する方法において、 前記複数の所定の規則にかかわらずに前記レイアウトを
修正するステップと、 前記複数の所定の規則の違反を前記レイアウト内で自動
的に識別するステップと、 前記複数の物体の摂動が最小になるように前記違反を削
除するために前記レイアウトを自動的に修正するステッ
プとを含むことを特徴とする方法。 - 【請求項8】さらに、前記自動識別ステップの前に前記
レイアウト用の制約モデルを自動的に導出するステップ
を含み、前記自動識別ステップが、前記制約モデル内で
前記違反を自動的に識別し、前記自動修正ステップが、
前記制約モデルに従って前記レイアウトを自動的に修正
することを特徴とする請求項7に記載の方法。 - 【請求項9】複数の物体のレイアウト内に物体を自動的
に挿入する方法において、 前記レイアウトに挿入する物体を選択するステップと、 前記複数の物体のうちの少なくとも1つと前記選択され
た物体とを合併するために、少なくとも1つの合併可能
な位置が前記レイアウト内に存在するかどうかを自動的
に判定するステップと、 前記選択された物体を前記レイアウト内に挿入するため
に、少なくとも1つの合併不能な位置が前記レイアウト
内に存在するかどうかを自動的に判定するステップと、 前記複数の物体の摂動が最小になるように、前記少なく
とも1つの合併可能な位置と前記少なくとも1つの合併
不能な位置のうちの一方に前記選択された物体を自動的
に挿入するステップとを含むことを特徴とする方法。 - 【請求項10】さらに、前記少なくとも1つの合併可能
な位置が存在すると判定された場合、所定のコスト関数
に基づいて合併可能な最低コスト位置を自動的に求める
ステップと、 前記少なくとも1つの合併不能な位置が存在すると判定
された場合、前記所定のコスト関数に基づいて合併不能
な最低コスト位置を自動的に求めるステップとを含み、 前記自動挿入ステップが、 前記少なくとも1つの合併不能な位置が存在すると判定
されなかった場合、前記合併可能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置が存在すると判定
されなかった場合、前記合併不能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置と前記少なくとも
1つの合併不能な位置が共に存在すると判定された場
合、前記合併可能な最低コスト位置と前記合併不能な最
低コスト位置を自動的に比較して全体的な最低コスト位
置を求め、前記選択された物体を前記レイアウトの前記
全体的最低コスト位置に自動的に挿入するステップとを
含むことを特徴とする請求項9に記載の方法。 - 【請求項11】前記合併可能な最低コスト位置を自動的
に求めるステップが、 前記少なくとも1つの合併可能な位置のそれぞれでの合
併可能な前記選択された物体の複数の所定の配向のそれ
ぞれごとに、前記複数の物体の摂動が所与の配向に関し
て最小になるように、前記所定のコスト関数に基づいて
合併可能なコストを自動的に求めるステップと、 求めたすべての合併可能なコストを自動的に比較して、
前記合併可能な最低コスト位置を求めるステップとを含
むことを特徴とする請求項10に記載の方法。 - 【請求項12】前記複数の物体が、複数の集積回路デバ
イスから成り、前記合併不能な最低コスト位置を自動的
に求める前記ステップが、 最短の電気ネット長をもたらす可能性が高い前記選択さ
れた物体の最適な位置を自動的に求めるステップと、 前記最適位置での複数の所定の配向のそれぞれごとに、
前記複数の物体の摂動が所与の配向に関して最小になる
ように、前記所定のコスト関数に基づいて合併不能なコ
ストを自動的に求めるステップと、 前記選択された物体と、前記複数の物体のうちの少なく
とも1つとのすべての可能な整列位置の可視性探索を、
前記最適な位置からの複数の所定の方法のそれぞれで所
定の距離にわたって実行するステップと、 前記すべての可能な整列位置のそれぞれでの前記複数の
所定の配向のそれぞれごとに、前記複数の物体の摂動が
所与の配向に関して最小になるように、前記所定のコス
ト関数に基づいて合併不能なコストを自動的に求めるス
テップと、 求めたすべての合併可能なコストを自動的に比較して、
前記合併可能な最低コスト位置を求めるステップとを含
むことを特徴とする請求項10に記載の方法。 - 【請求項13】前記所定のコスト関数が、合併前総面積
から合併後総面積を差し引いた値を特徴とする合併要素
を含むことを特徴とする請求項10に記載の方法。 - 【請求項14】前記所定のコスト関数が、前記選択され
た物体に近接する最もまっすぐで最も障害物の少ない領
域を特徴とする整列要素を含むことを特徴とする請求項
10に記載の方法。 - 【請求項15】前記複数の物体が、複数の集積回路デバ
イスから成り、前記複数の集積回路デバイスがそれぞ
れ、電気接続用の端子を備え、前記選択された物体が、
選択された集積回路デバイスであり、前記所定のコスト
関数が、前記選択された集積回路デバイスを含む電気ネ
ットのすべての端子を接続する最短経路の電気ネット長
推定量から成ることを特徴とする請求項10に記載の方
法。 - 【請求項16】選択された複数の物体用のレイアウトを
自動的に作成する方法において、 (a)前記選択された複数の物体から第1の物体を選択
するステップと、 (b)前記第1の物体を自動的に配置して前記レイアウ
トの作成を開始するステップと、 (c)前記選択された複数の物体から、配置されていな
い物体を選択するステップと、 (d)前記レイアウトに以前に配置された少なくとも1
つの物体と、前記配置されていない物体とを合併するた
めに、少なくとも1つの合併可能な位置が前記レイアウ
ト内に存在するかどうかを自動的に判定するステップ
と、 (e)前記配置されていない物体を前記レイアウト内に
配置するために、少なくとも1つの合併不能な位置が前
記レイアウト内に存在するかどうかを自動的に判定する
ステップと、 (f)前記レイアウトに以前に配置されたすべての物体
の摂動が最小になるように、前記少なくとも1つの合併
可能な位置と前記少なくとも1つの合併不能な位置のう
ちの一方に前記配置されていない物体を自動的に配置す
るステップと、 (g)前記選択された複数の物体がすべて前記レイアウ
トに配置されるまで、ステップ(c)ないし(f)を再
実行するステップとを含むことを特徴とする方法。 - 【請求項17】さらに、前記少なくとも1つの合併可能
な位置が存在すると判定された場合、ステップ(d)の
後、ステップ(f)の前に、所定のコスト関数に基づい
て合併可能な最低コスト位置を自動的に求めるステップ
と、 前記少なくとも1つの合併不能な位置が存在すると判定
された場合、ステップ(e)の後、ステップ(f)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、 前記自動配置ステップが、 前記少なくとも1つの合併不能な位置が存在すると判定
されなかった場合、前記合併可能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置が存在すると判定
されなかった場合、前記合併不能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置と前記少なくとも
1つの合併不能な位置が共に存在すると判定された場
合、前記合併可能な最低コスト位置と前記合併不能な最
低コスト位置を自動的に比較して全体的な最低コスト位
置を求め、前記選択された物体を前記レイアウトの前記
全体的最低コスト位置に自動的に挿入するステップとを
含むことを特徴とする請求項16に記載の方法。 - 【請求項18】複数の物体のレイアウト内での物体の配
置を自動的に改善する方法において、 (a)配置を改善するために前記レイアウト中の物体を
選択するステップと、 (b)前記選択された物体を前記レイアウトから自動的
に削除するステップと、 (c)前記複数の物体のうちの少なくとも1つと、前記
選択された物体とを合併するために、少なくとも1つの
合併可能な位置が前記レイアウト内に存在するかどうか
を自動的に判定するステップをステップ(b)の後に実
行するステップと、 (d)前記選択された物体を前記レイアウト内に配置す
るために少なくとも1つの合併不能な位置が前記レイア
ウト内に存在するかどうかを自動的に判定するステップ
をステップ(b)の後に実行するステップと、 (e)前記複数の物体の摂動が最小になるように、前記
少なくとも1つの合併可能な位置と前記少なくとも1つ
の合併不能な位置のうちの一方に前記選択された物体を
自動的に配置するステップとを含むことを特徴とする方
法。 - 【請求項19】さらに、前記少なくとも1つの合併可能
な位置が存在すると判定された場合、ステップ(c)の
後、ステップ(e)の前に、所定のコスト関数に基づい
て合併可能な最低コスト位置を自動的に求めるステップ
と、 前記少なくとも1つの合併不能な位置が存在すると判定
された場合、ステップ(d)の後、ステップ(e)の前
に、前記所定のコスト関数に基づいて合併不能な最低コ
スト位置を自動的に求めるステップとを含み、 前記自動配置ステップが、 前記少なくとも1つの合併不能な位置が存在すると判定
されなかった場合、前記合併可能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置が存在すると判定
されなかった場合、前記合併不能な最低コスト位置に、
前記選択された物体を自動的に挿入するステップと、 前記少なくとも1つの合併可能な位置と前記少なくとも
1つの合併不能な位置が共に存在すると判定された場
合、前記合併可能な最低コスト位置と前記合併不能な最
低コスト位置を自動的に比較して全体的な最低コスト位
置を求め、前記選択された物体を前記全体的な最低コス
ト位置で前記レイアウトに自動的に挿入するステップと
を含むことを特徴とする請求項18に記載の方法。 - 【請求項20】さらに、 (f)所定に基準による最適な配置が見つかるまで、ス
テップ(b)ないし(e)を繰り返すステップを含むこ
とを特徴とする請求項18に記載の方法。 - 【請求項21】複数の所定の規則に従うように複数の物
体のレイアウトを修正するシステムにおいて、 前記複数の所定の規則の少なくとも1つの違反を前記レ
イアウト内で識別する手段と、 前記複数の物体の摂動が最小になるように前記少なくと
も1つの違反を削除するために前記レイアウトを修正す
る手段とを備えることを特徴とするシステム。 - 【請求項22】さらに、前記少なくとも1つの違反によ
る前記複数の物体のうちのすべての移行的物体を前記レ
イアウト内で識別する手段と、 前記レイアウト用の制約モデルを導出する手段とを備
え、 前記複数の物体がそれぞれ、複数のエッジとしてモデル
化され、前記移行的物体を識別する手段が、 第1のエッジ群を、前記所定の基準から離れる方向で前
記所定の基準に最も近い前記少なくとも1つの違反を越
えるすべての移行的エッジとして識別する手段と、 第2のエッジ群を、前記所定の基準へ向かう方向で前記
所定の基準から最も遠い前記少なくとも1つの違反を越
えるすべての移行的エッジとして識別する手段とを備え
ることを特徴とする請求項21に記載のシステム。 - 【請求項23】前記修正手段が、前記複数の所定の規則
および前記制約モデルに従って、以下の数式中の摂動P
を最小にする手段を含み、 【数3】P=Σx(i)new−Σx(j)new' 上式で、 【数4】Σx(i)new≧Σx(i)old Σx(j)new≦Σx(j)old' であり、 上式で、x(i)が、前記所定の基準に対する前記第1の
エッジ群中の所与のエッジの位置から成り、x(j)が、
前記所定の基準に対する前記第2のエッジ群中の所与の
エッジの位置から成り、「new」が、前記最小化ステ
ップの結果としての前記所定の基準に対する前記所与の
エッジの位置を示し、「old」が、前記最小化ステッ
プの結果としての前記所定の基準に対する前記所与のエ
ッジの位置を示すことを特徴とする請求項22に記載の
システム。 - 【請求項24】複数の所定の規則に従うように複数の物
体のレイアウトを自動的に修正するシステムにおいて、 前記複数の所定の規則にかかわらずに前記レイアウトを
修正する手段と、 前記複数の所定の規則の違反を前記レイアウト内で自動
的に識別する手段と、 前記複数の物体の摂動が最小になるように前記違反を削
除するために前記レイアウトを自動的に修正する手段と
を備えることを特徴とするシステム。 - 【請求項25】複数の物体のレイアウト内に物体を自動
的に挿入するシステムにおいて、 前記レイアウトに挿入する物体を選択する手段と、 前記複数の物体の摂動が最小になるように、前記複数の
物体のうちの少なくとも1つと前記選択された物体とを
合併するために、合併可能な最低コストを有する合併可
能な位置が前記レイアウト内に存在する場合、所定のコ
スト関数に基づいて前記合併可能位置を自動的に求める
手段と、 前記複数の物体の摂動が最小になるように、前記選択さ
れた物体を前記レイアウトに挿入するために、合併不能
な最低コストを有する合併不能な位置が前記レイアウト
内に存在する場合、所定のコスト関数に基づいて前記合
併不能な位置を自動的に求める手段と、 前記合併不能な位置が存在すると判定されなかった場
合、前記合併可能な位置に、前記選択された物体を自動
的に挿入する手段と、 前記合併可能な位置が存在すると判定されなかった場
合、前記合併不能な位置に、前記選択された物体を自動
的に挿入する手段と、 前記合併可能な位置と前記合併不能な位置が共に存在す
ると判定された場合、前記合併可能な最低コストと前記
合併不能な最低コストを自動的に比較して、非ゼロの全
体的最低コストを求める手段と、 前記合併可能な位置と前記合併不能な位置のうちの前記
非ゼロの全体的最低コストを有する方に、前記選択され
た物体を自動的に挿入する手段とを備えることを特徴と
するシステム。 - 【請求項26】選択された複数の物体用のレイアウトを
自動的に作成するシステムにおいて、 前記選択された複数の物体から第1の物体を選択する手
段と、 前記第1の物体を自動的に配置して前記レイアウトの作
成を開始する手段と、 前記選択された複数の物体から、配置されていない物体
を選択する手段と、 前記レイアウトにすでに配置されているすべての物体の
摂動が最小になるように、前記レイアウトにすでに配置
されている少なくとも1つの物体と、前記配置されてい
ない物体とを合併するために、合併可能な最低コストを
有する合併可能な位置が前記レイアウト内に存在する場
合、所定のコスト関数に基づいて前記合併可能な位置を
自動的に求める手段と、 前記レイアウトにすでに配置されているすべての物体の
摂動が最小になるように、前記配置されていない物体を
前記レイアウト内に配置するために、合併不能な最低コ
ストを有する合併不能な位置が前記レイアウト内に存在
する場合、所定のコスト関数に基づいて前記合併不能な
位置を自動的に求める手段と、 前記合併可能な最低コストと前記合併不能な最低コスト
を自動的に比較して、前記合併可能な位置と前記合併不
能な位置から非ゼロの全体的最低コスト位置を求める手
段と、 前記非ゼロの全体的最低コスト位置に、前記配置されて
いない物体を自動的に配置する手段とを備えることを特
徴とするシステム。 - 【請求項27】複数の物体のレイアウト内の物体の配置
を自動的に改善するシステムにおいて、 配置を改善するために前記レイアウト中の物体を選択す
る手段と、 前記選択された物体を前記レイアウトから自動的に削除
する手段と、 前記削除ステップの後に残っている前記複数の物体の摂
動が最小になるように、前記複数の物体のうちの少なく
とも1つと、前記選択された物体とを合併するために、
合併可能な最低コストを有する合併可能な位置が前記レ
イアウト内に存在する場合、所定のコスト関数に基づい
て前記合併可能な位置を自動的に求める手段と、 前記複数の物体の摂動が最小になるように、前記選択さ
れた物体を前記レイアウト内に配置するために、合併不
能な最低コストを有する合併不能な位置が前記レイアウ
ト内に存在する場合、所定のコスト関数に基づいて前記
合併不能な位置を自動的に求める手段と、 前記合併可能な最低コストと前記合併不能な最低コスト
を自動的に比較して、非ゼロの全体的最低コスト位置を
求める手段と、 前記レイアウト内の、前記非ゼロの全体的最低コストを
有する前記合併可能な位置と前記合併不能な位置のうち
の一方に、前記選択された物体を自動的に配置する手段
とを備えることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/253,898 US5535134A (en) | 1994-06-03 | 1994-06-03 | Object placement aid |
US253898 | 1994-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07334565A true JPH07334565A (ja) | 1995-12-22 |
JP2886481B2 JP2886481B2 (ja) | 1999-04-26 |
Family
ID=22962155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7133028A Expired - Lifetime JP2886481B2 (ja) | 1994-06-03 | 1995-05-31 | 物体の配置方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5535134A (ja) |
EP (1) | EP0685804A3 (ja) |
JP (1) | JP2886481B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947766A (zh) * | 2010-04-23 | 2013-02-27 | 西门子公司 | 将制造装置的空间结构输入计算机辅助的规划程序中的方法和其优化 |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3202490B2 (ja) * | 1994-07-22 | 2001-08-27 | 株式会社東芝 | 集積回路のレイアウト方法及び集積回路のレイアウト装置 |
JPH08227428A (ja) * | 1995-02-20 | 1996-09-03 | Matsushita Electric Ind Co Ltd | プリント基板cad装置 |
US5901065A (en) * | 1996-02-07 | 1999-05-04 | Motorola, Inc. | Apparatus and method for automatically placing ties and connection elements within an integrated circuit |
US6035108A (en) * | 1996-10-17 | 2000-03-07 | Nec Corporation | Figure layout compaction method and compaction device |
US5943243A (en) * | 1996-10-28 | 1999-08-24 | International Business Machines Corporation | Method and system for removing hardware design overlap |
US6374200B1 (en) * | 1997-02-03 | 2002-04-16 | Fujitsu Limited | Layout apparatus for laying out objects in space and method thereof |
US5953518A (en) * | 1997-03-14 | 1999-09-14 | Lsi Logic Corporation | Yield improvement techniques through layout optimization |
US6240466B1 (en) | 1997-04-21 | 2001-05-29 | International Business Machines Corporation | Object-oriented apparatus and method for determining new object location relative to an existing object |
US5943497A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Object-oriented apparatus and method for controlling configuration of object creation |
US6122443A (en) * | 1997-07-28 | 2000-09-19 | Kabushiki Kaisha Toshiba | Wire length minimization apparatus and method |
US6449761B1 (en) | 1998-03-10 | 2002-09-10 | Monterey Design Systems, Inc. | Method and apparatus for providing multiple electronic design solutions |
US6446239B1 (en) * | 1998-03-10 | 2002-09-03 | Monterey Design Systems, Inc. | Method and apparatus for optimizing electronic design |
US6189132B1 (en) | 1998-04-09 | 2001-02-13 | International Business Machines Corporation | Design rule correction system and method |
US6658634B1 (en) * | 1998-05-07 | 2003-12-02 | International Business Machines Corporation | Logic power optimization algorithm |
ATE231992T1 (de) * | 1998-11-30 | 2003-02-15 | Actcon Control Ab | Verfahren um objekte in den arbeitsbereich in eine rechneranwendung einzubringen |
US6424959B1 (en) * | 1999-06-17 | 2002-07-23 | John R. Koza | Method and apparatus for automatic synthesis, placement and routing of complex structures |
JP3453535B2 (ja) * | 1999-08-03 | 2003-10-06 | 松下電器産業株式会社 | 自動配線設計における配線経路探索方法及び配線経路探索プログラムを記録した記録媒体 |
JP2001060663A (ja) * | 1999-08-20 | 2001-03-06 | Nec Corp | 半導体集積回路装置 |
US6351841B1 (en) * | 2000-03-21 | 2002-02-26 | Cadence Design Systems, Inc. | Method and apparatus for creating multi-gate transistors with integrated circuit polygon compactors |
DE10017767A1 (de) * | 2000-04-10 | 2001-10-18 | Infineon Technologies Ag | Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen |
JP2002305223A (ja) * | 2001-04-05 | 2002-10-18 | Toshiba Corp | 半導体装置における座標変換システム、及び座標変換プログラム |
EP1405228B1 (en) | 2001-06-29 | 2012-09-05 | Cadence Design Systems, Inc. | Two dimensional compaction system and method |
US6789233B2 (en) * | 2002-08-28 | 2004-09-07 | Micron Technology, Inc. | Method for determining a matched routing arrangement for semiconductor devices |
US8798964B2 (en) * | 2002-11-06 | 2014-08-05 | Hewlett-Packard Development Company, L. P. | Methods and apparatus for designing the racking and wiring configurations for pieces of hardware |
US7200827B1 (en) * | 2003-05-14 | 2007-04-03 | Apex Design Systems, Inc. | Chip-area reduction and congestion alleviation by timing-and-routability-driven empty-space propagation |
US20050086622A1 (en) * | 2003-10-16 | 2005-04-21 | International Business Machines Corporation | Hybrid quadratic placement with multiple linear system solvers |
US7111264B2 (en) * | 2003-10-17 | 2006-09-19 | Lsi Logic Corporation | Process and apparatus for fast assignment of objects to a rectangle |
US7036102B2 (en) * | 2003-10-27 | 2006-04-25 | Lsi Logic Corporation | Process and apparatus for placement of cells in an IC during floorplan creation |
US7103865B2 (en) * | 2003-11-21 | 2006-09-05 | Lsi Logic Corporation | Process and apparatus for placement of megacells in ICs design |
US7103858B2 (en) * | 2004-04-14 | 2006-09-05 | Lsi Logic Corporation | Process and apparatus for characterizing intellectual property for integration into an IC platform environment |
US7448012B1 (en) | 2004-04-21 | 2008-11-04 | Qi-De Qian | Methods and system for improving integrated circuit layout |
US7210113B2 (en) * | 2004-04-23 | 2007-04-24 | Lsi Logic Corporation | Process and apparatus for placing cells in an IC floorplan |
TW200538919A (en) * | 2004-05-21 | 2005-12-01 | Hon Hai Prec Ind Co Ltd | System and method for checking split plane of motherboard layout |
DE102004038063A1 (de) * | 2004-07-30 | 2006-03-23 | Infineon Technologies Ag | Verfahren zur Herstellung einer Standardzellenanordnung und eine Vorrichtung zur Durchführung des Verfahrens |
US8510657B2 (en) | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
US7348982B2 (en) * | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
US8134575B2 (en) | 2004-09-30 | 2012-03-13 | Microsoft Corporation | Maintaining graphical presentations based on user customizations |
US7302651B2 (en) * | 2004-10-29 | 2007-11-27 | International Business Machines Corporation | Technology migration for integrated circuits with radical design restrictions |
US7310786B2 (en) * | 2005-02-03 | 2007-12-18 | Springsoft, Inc. | IC compaction system |
US8438486B2 (en) * | 2006-02-09 | 2013-05-07 | Microsoft Corporation | Automatically converting text to business graphics |
US7454721B2 (en) * | 2006-02-27 | 2008-11-18 | International Business Machines Corporation | Method, apparatus and computer program product for optimizing an integrated circuit layout |
US20070257903A1 (en) * | 2006-05-04 | 2007-11-08 | Harris Corporation | Geographic information system (gis) for displaying 3d geospatial images with reference markers and related methods |
US7590955B1 (en) * | 2006-06-28 | 2009-09-15 | Cadence Design Systems, Inc. | Method and system for implementing layout, placement, and routing with merged shapes |
US7761819B2 (en) * | 2006-07-05 | 2010-07-20 | Yue Yang | System and method of modification of integrated circuit mask layout |
US7735042B2 (en) * | 2007-08-01 | 2010-06-08 | International Business Machines Corporation | Context aware sub-circuit layout modification |
US7937682B2 (en) * | 2008-01-31 | 2011-05-03 | Synopsys, Inc. | Method and apparatus for automatic orientation optimization |
US9092110B2 (en) * | 2008-12-16 | 2015-07-28 | Cadence Design Systems, Inc. | Method and system for implementing a user interface with ghosting |
US8799325B2 (en) | 2010-03-12 | 2014-08-05 | Microsoft Corporation | Reordering nodes in a hierarchical structure |
US8893048B2 (en) | 2011-05-13 | 2014-11-18 | Kalyan M. Gupta | System and method for virtual object placement |
US8782585B2 (en) * | 2011-07-13 | 2014-07-15 | The Regents Of The University Of California | Methods for integrated circuit C4 ball placement |
US8984467B2 (en) | 2011-08-17 | 2015-03-17 | Synopsys, Inc. | Method and apparatus for automatic relative placement generation for clock trees |
US8806389B2 (en) * | 2011-10-20 | 2014-08-12 | Asml Netherlands B.V. | Method and apparatus for model based flexible MRC |
US8984465B1 (en) | 2013-06-28 | 2015-03-17 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design |
US9251299B1 (en) * | 2013-06-28 | 2016-02-02 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs |
US9003349B1 (en) | 2013-06-28 | 2015-04-07 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks |
US9117052B1 (en) | 2012-04-12 | 2015-08-25 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns |
US9183343B1 (en) * | 2012-08-31 | 2015-11-10 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs |
US9213793B1 (en) | 2012-08-31 | 2015-12-15 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks |
US8935649B1 (en) | 2012-08-31 | 2015-01-13 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for routing an electronic design using spacetiles |
US9104830B1 (en) | 2013-06-28 | 2015-08-11 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design |
US9075932B1 (en) | 2012-08-31 | 2015-07-07 | Candence Design Systems, Inc. | Methods and systems for routing an electronic design using spacetiles |
US9817941B2 (en) | 2012-12-04 | 2017-11-14 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs |
US9165103B1 (en) | 2013-06-28 | 2015-10-20 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for tessellating and labeling routing space for routing electronic designs |
US9361417B2 (en) | 2014-02-07 | 2016-06-07 | Synopsys, Inc. | Placement of single-bit and multi-bit flip-flops |
US11531794B1 (en) * | 2019-12-20 | 2022-12-20 | Ansys, Inc. | Voltage drop analysis using local circuit representation |
US11663388B1 (en) | 2019-12-20 | 2023-05-30 | Ansys, Inc. | DVD simulation using microcircuits |
JP7344149B2 (ja) * | 2020-02-07 | 2023-09-13 | キオクシア株式会社 | 最適化装置及び最適化方法 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1502554A (ja) * | 1965-12-01 | 1968-02-07 | ||
US3617714A (en) * | 1969-04-15 | 1971-11-02 | Bell Telephone Labor Inc | Method of minimizing the interconnection cost of linked objects |
US4551810B1 (en) * | 1982-07-28 | 1995-09-05 | Technology Inc Const | Method and apparatus for designing duct work for producing patterns for conduit sections in the designated duct work |
US4639604A (en) * | 1983-03-29 | 1987-01-27 | Nippon Kagaku K.K. | Method and apparatus for detecting an edge position of a pattern and eliminating overlapping pattern signals |
US4554625A (en) * | 1983-06-14 | 1985-11-19 | International Business Machines Corporation | Method for generating an optimized nested arrangement of constrained rectangles |
US4577276A (en) * | 1983-09-12 | 1986-03-18 | At&T Bell Laboratories | Placement of components on circuit substrates |
US4630219A (en) * | 1983-11-23 | 1986-12-16 | International Business Machines Corporation | Element placement method |
JPS60114968A (ja) * | 1983-11-28 | 1985-06-21 | Hitachi Ltd | 推論システム |
US4686629A (en) * | 1984-05-10 | 1987-08-11 | Rca Corporation | Logic cell placement method in computer-aided-customization of universal arrays and resulting integrated circuit |
JPH0679319B2 (ja) * | 1985-04-10 | 1994-10-05 | 株式会社日立製作所 | 配置更新方法 |
US4754408A (en) * | 1985-11-21 | 1988-06-28 | International Business Machines Corporation | Progressive insertion placement of elements on an integrated circuit |
US5175696A (en) * | 1986-09-12 | 1992-12-29 | Digital Equipment Corporation | Rule structure in a procedure for synthesis of logic circuits |
US4908772A (en) * | 1987-03-30 | 1990-03-13 | Bell Telephone Laboratories | Integrated circuits with component placement by rectilinear partitioning |
US4812962A (en) * | 1987-04-09 | 1989-03-14 | Harris Corp. | Area feature sorting mechanism for neighborhood-based proximity correction in lithography processing of integrated circuit patterns |
US4918614A (en) * | 1987-06-02 | 1990-04-17 | Lsi Logic Corporation | Hierarchical floorplanner |
US4815003A (en) * | 1987-06-19 | 1989-03-21 | General Electric Company | Structured design method for high density standard cell and macrocell layout of VLSI chips |
US4922432A (en) * | 1988-01-13 | 1990-05-01 | International Chip Corporation | Knowledge based method and apparatus for designing integrated circuits using functional specifications |
DE58907307D1 (de) * | 1988-11-02 | 1994-04-28 | Siemens Ag | Verfahren zur plazierung von modulen auf einem träger. |
JP2536125B2 (ja) * | 1989-02-15 | 1996-09-18 | 日本電気株式会社 | 配置処理方式 |
JPH02242474A (ja) * | 1989-03-16 | 1990-09-26 | Hitachi Ltd | 素子配置最適化方法及び装置並びに最適配置判定方法及び装置 |
JP2863550B2 (ja) * | 1989-06-08 | 1999-03-03 | 株式会社日立製作所 | 配置最適化方法及び配置最適化装置と回路設計装置 |
JP2831703B2 (ja) * | 1989-06-23 | 1998-12-02 | 株式会社東芝 | 自動フロアプラン演算装置 |
US5231590A (en) * | 1989-10-13 | 1993-07-27 | Zilog, Inc. | Technique for modifying an integrated circuit layout |
JP2895129B2 (ja) * | 1990-01-22 | 1999-05-24 | 株式会社東芝 | 論理セルの配置処理方法及び論理セルの配置処理装置 |
JP3032224B2 (ja) * | 1990-02-21 | 2000-04-10 | 株式会社東芝 | 半導体集積回路の論理セル配置方法 |
US5218551A (en) * | 1990-04-30 | 1993-06-08 | International Business Machines Corporation | Timing driven placement |
JPH0456341A (ja) * | 1990-06-26 | 1992-02-24 | Matsushita Electric Ind Co Ltd | 半導体集積回路のレイアウト方法 |
US5224056A (en) * | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
US5303161A (en) * | 1990-12-10 | 1994-04-12 | Hughes Aircraft Company | Technology independent integrated circuit mask artwork generator |
US5430831A (en) * | 1991-03-19 | 1995-07-04 | Koninklijke Ptt Nederland N.V. | Method of packing rectangular objects in a rectangular area or space by determination of free subareas or subspaces |
US5225991A (en) * | 1991-04-11 | 1993-07-06 | International Business Machines Corporation | Optimized automated macro embedding for standard cell blocks |
US5359538A (en) * | 1991-08-20 | 1994-10-25 | Vlsi Technology, Inc. | Method for regular placement of data path components in VLSI circuits |
JP2601586B2 (ja) * | 1991-10-15 | 1997-04-16 | 富士通株式会社 | 配置要素の配置配線方法 |
US5363313A (en) * | 1992-02-28 | 1994-11-08 | Cadence Design Systems, Inc. | Multiple-layer contour searching method and apparatus for circuit building block placement |
US5311443A (en) * | 1992-08-13 | 1994-05-10 | Motorola Inc. | Rule based floorplanner |
US5281558A (en) * | 1992-11-02 | 1994-01-25 | Cadence Design Systems, Inc. | Cloning method and system for hierarchical compaction |
US5308798A (en) * | 1992-11-12 | 1994-05-03 | Vlsi Technology, Inc. | Preplacement method for weighted net placement integrated circuit design layout tools |
US5416722A (en) * | 1992-11-19 | 1995-05-16 | Vlsi Technology, Inc. | System and method for compacting integrated circuit layouts |
US5465218A (en) * | 1993-02-12 | 1995-11-07 | Kabushiki Kaisha Toshiba | Element placement method and apparatus |
-
1994
- 1994-06-03 US US08/253,898 patent/US5535134A/en not_active Expired - Fee Related
-
1995
- 1995-05-19 EP EP95480066A patent/EP0685804A3/en not_active Withdrawn
- 1995-05-31 JP JP7133028A patent/JP2886481B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947766A (zh) * | 2010-04-23 | 2013-02-27 | 西门子公司 | 将制造装置的空间结构输入计算机辅助的规划程序中的方法和其优化 |
CN102947766B (zh) * | 2010-04-23 | 2015-07-22 | 西门子公司 | 将制造装置的空间结构输入计算机辅助的规划程序中的方法和其优化 |
Also Published As
Publication number | Publication date |
---|---|
EP0685804A3 (en) | 1996-03-27 |
EP0685804A2 (en) | 1995-12-06 |
JP2886481B2 (ja) | 1999-04-26 |
US5535134A (en) | 1996-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2886481B2 (ja) | 物体の配置方法 | |
US20200401753A1 (en) | High-Speed Shape-Based Router | |
US6446246B1 (en) | Method and apparatus for detail routing using obstacle carving around terminals | |
US7721243B2 (en) | Method and apparatus for routing | |
US7007258B2 (en) | Method, apparatus, and computer program product for generation of a via array within a fill area of a design layout | |
US20070101303A1 (en) | Method and apparatus for integrated circuit layout optimization | |
US20100023910A1 (en) | Method of packing-based macro placement and semiconductor chip using the same | |
US6996789B2 (en) | Method and apparatus for performing an exponential path search | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
US7089521B2 (en) | Method for legalizing the placement of cells in an integrated circuit layout | |
US6829757B1 (en) | Method and apparatus for generating multi-layer routes | |
WO2006136845A2 (en) | Integrated circuit routing and compaction | |
US20040098694A1 (en) | Method and apparatus for routing | |
US8239797B1 (en) | Congestion aware block placement | |
US6877146B1 (en) | Method and apparatus for routing a set of nets | |
US20040098698A1 (en) | Method and apparatus for searching for a global path | |
US20040098696A1 (en) | Method and apparatus for routing | |
US20040098680A1 (en) | Method and apparatus for searching for a three-dimensional global path | |
US20230351087A1 (en) | Using machine trained network during routing to modify locations of vias in an ic design | |
US6988257B2 (en) | Method and apparatus for routing | |
US11853671B1 (en) | Filling vacant areas of an integrated circuit design | |
US6951005B1 (en) | Method and apparatus for selecting a route for a net based on the impact on other nets | |
Téllez et al. | Routing | |
Al-Farra | Timing driven floorplanning | |
Viswanathan et al. | An efficient analytical placement algorithm for mixed-mode designs in the presence of placement blockages |