JP6534436B2 - 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新 - Google Patents

電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新 Download PDF

Info

Publication number
JP6534436B2
JP6534436B2 JP2017229134A JP2017229134A JP6534436B2 JP 6534436 B2 JP6534436 B2 JP 6534436B2 JP 2017229134 A JP2017229134 A JP 2017229134A JP 2017229134 A JP2017229134 A JP 2017229134A JP 6534436 B2 JP6534436 B2 JP 6534436B2
Authority
JP
Japan
Prior art keywords
pins
edge portion
eda tool
pin
gui
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
JP2017229134A
Other languages
English (en)
Other versions
JP2018060569A (ja
Inventor
ラシングカー,バルクリシュナ
ツキティシュビリ,カルロ・ブイ
パート,デイビッド・エル
グイリン,ルイス・ディ
レッシャー,ジェフリー・ジェイ
グラハム,グレン・ビィ
グレリア,アジャイ
セガル,ラッセル
チャン,ダグラス
ローゼ,クセニア
ユ,ジェンタオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of JP2018060569A publication Critical patent/JP2018060569A/ja
Application granted granted Critical
Publication of JP6534436B2 publication Critical patent/JP6534436B2/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/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/392Floor-planning or layout, e.g. partitioning or placement
    • 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/394Routing
    • 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/394Routing
    • G06F30/3947Routing global
    • 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/396Clock trees
    • 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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

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)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

発明者:ラシングカー,バルクリシュナ・アール(Balkrishna R. Rashingkar)、ツキティシュビリ,カルロ・ブイ(Karlo V. Tskitishvili)、パート,デイビッド・エル(David L. Peart)、グイリン,ルイス・ディ(Luis D. Guilin)、レッシャー,ジェフリー・ジェ
イ(Jeffrey J. Loescher)、グラハム,グレン・ビィ(Glenn B. Graham)、グレリア,アジャイ(Ajay Guleria)、セガル,ラッセル(Russell Segal)、チャン,ダグラス (Douglas Chang)、ローゼ,クセニア(Ksenia Roze)、およびユ,ジェンタオ(Zhengtao Yu)。
背景
技術分野
この開示は電子設計自動化(EDA)に関する。より具体的には、この開示はEDAに対するフロアプランニングツールに対するグラフィカルユーザインターフェイス(GUI)に関する。
関連技術
集積回路(IC)設計は、ICの構成要素および配線を視覚的に表す概略図の使用を伴う。EDAでは、フロアプランは、典型的には、ICにおいて少なくとも主な機能ブロックの暫定的サイズおよび暫定的位置を与える概略図を指す。
フロアプランニングツールを用いることにより、ICに対するフロアプランを作成し、編集し、見ることができる。回路設計者がフロアプランを作成しながら行なう判断は、後のEDA段階に実質的な影響を及ぼし得る。必要なのは、回路設計者が、全体的な回路設計時間を低減し、および/または全体的な結果の質(QoR)を改善するフロアプランを作成することを可能にする、ユーザフレンドリーなフロアプランニングツールである。
概要
ここに記載されるいくつかの実施の形態は、回路設計のフロアプランを作成し、編集し、見るためのシステムおよび技術を与える。いくつかの実施の形態によれば、ユーザはグラフィカル操作を推論ポイントにおいて実行することができる。ある実施の形態(たとえばGUI)は、第1のユーザ入力を受けることができ、第1のユーザ入力は、回路設計レイアウトにおいて第1のグラフィカルオブジェクトと関連付けられる第1のポイントを選択して第1の推論ポイントとする。次に、この実施の形態は、第2のユーザ入力を受けることができ、第2のユーザ入力は、回路設計レイアウトにおいて第2のグラフィカルオブジェクトと関連付けられる第2のポイントを選択して第2の推論ポイントとする。この実施の形態は、次いで、回路設計レイアウトにおいて第3の推論ポイントを表示することができ、第3の推論ポイントは、第1の推論ポイントから延在する第1の線と第2の推論ポイントから延在する第2の線との交点に位置する。次に、この実施の形態は、第3のユーザ入力を受けることができ、第3のユーザ入力は回路設計レイアウトにおいて第3の推論ポイントを選択する。この実施の形態は、回路設計レイアウトにおいて、第3の推論ポイントに基いて、操作を実行することができる。いくつかの実施の形態では、この操作は、第3の推論ポイントからのオフセットにおいて実行することができる。具体的には、操作を実行する前に、操作が実行されるよう所望される第3の推論ポイントからのオフセットを指定する第4のユーザ入力を受けることができる。
ここに記載されるいくつかの実施の形態は、回路設計レイアウトにおいてチャネルに対する輻輳インジケータを表示するためのシステムおよび技術を与える。具体的には、ある実施の形態は、(たとえばコンピュータのGUIにおいて)チャネルに対する輻輳インジケータを表示することができ、輻輳インジケータは、回路設計レイアウト上において輻輳分析を実行することに基いて(たとえば回路設計レイアウト全体上において概略配線を実行し、次いで、概略配線解に基いてチャネルに対する輻輳インジケータを判断することによって)判断される。次に、この実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができ、修正することは、チャネルの幅を新たな幅値に変更する。この実施の形態は、次いで、新たな幅値に基いてチャネルに対する更新された容量値を判断することができ、更新された容量値は、チャネルにおいて利用可能な配線資源の量に対応する。次に、この実施の形態は、修正された回路設計レイアウト上において輻輳分析を実行することなく(たとえば修正された回路設計レイアウト全体上において概略配線を実行することなく)、更新された容量値に基いて、更新された輻輳インジケータを判断することができる。最後に、この実施の形態は、(たとえばコンピュータのGUIにおいて、)チャネルに対する更新された輻輳インジケータを表示することができる。いくつかの実施の形態においては、更新された輻輳インジケータを表示することは、チャネルを通って経路付けられると期待される配線の数に対応する要求値を表示することと;更新された容量値を表示することとを含む。いくつかの実施の形態においては、更新された輻輳インジケータを表示することは、更新された容量値に基いて、更新された色を判断することと;回路設計レイアウトにおいて、チャネルに対応する領域を、更新された色で表示することとを含む。
ここに記載されるいくつかの実施の形態は、GUIにおいてピン位置を実質的に即時に更新するためのシステムおよび技術であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上における第1のピン位置の組に位置する。この開示において、「実質的に即時の」および「実質的に即時に」という表現は、GUIが非常に応答性がある、とGUIを用いるユーザが感じるほど十分に小さい時間量を指す。具体的には、ある実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができる。エッジ部分が長さにおいて増大している場合、この実施の形態はGUIにおいて第1のピン位置の組を変更しない。エッジ部分は長さが減少したが、第1のピン位置の組を維持するよう十分に長い場合には、この実施の形態はGUIにおいて第1のピン位置の組を変更しない。しかしながら、エッジ部分は長さが減少し、第1のピン位置の組を維持するよう十分には長くない場合には、この実施の形態は近隣の信号ピン間の距離を減少させて第2のピン位置の組を得、減少させることは、1つ以上の電源ピンの位置、信号ピンの相対的な順序、および1つ以上の固定されたピンの位置を維持する。更新されたピン位置(つまり第2のピン位置の組)が判断されると、この実施の形態は、ピンの組をGUIにおいて第2のピン位置の組に表示することができる。この実施の形態がピン位置を実質的に即時に更新することができるのは、この実施の形態が、第2のピン位置の組を、修正された回路設計レイアウト上において概略配線を実行することなく判断するからであることに注目されたい。いくつかの実施の形態では、近隣の信号ピン間の距離を減少させることは、エッジ部分の減少された長さをエッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む。いくつかの実施の形態では、減少させることは、回路設計レイアウトにおいて配線トラック位置に1つ以上のピンをはめる(snap)ことも含む。いくつかの実施の形態では、2つ以上のピンが同じ配線トラック位置にはまったと判断された場合には、この実施の形態は、ピン位置を、2つ以上のピンの各々ごとに、異なる金属層において割当てる。
いくつかの実施の形態は、ユーザにより指定された属性タイプ(たとえばパワードメイン、クロックドメインなど)に基いて回路設計を表示するためのシステムおよび技術を与
える。回路設計における回路素子は、1つ以上の属性タイプ(たとえばパワードメインまたはクロックドメイン)に対応する1つ以上の属性値(たとえばパワードメイン識別子またはクロックドメイン識別子)と関連付けられる。具体的には、ある実施の形態は、GUIにおいて回路設計の第1のビューを表示することができ、第1のビューは、回路素子を回路設計の論理的階層に従って階層的ブロックにグループ化する。次に、回路設計を属性タイプに基いて表示する要求を受けたことに応答して、この実施の形態は、回路設計の第2のビューを生成することができ、第2のビューは、回路素子を、属性タイプに対して同じ属性値を有するブロックにグループ化する。この実施の形態は、GUIにおいて回路設計の第2のビューを表示することができる。属性タイプがパワードメインである場合には、第2のビューを生成することは、各回路素子を、回路素子のパワードメインに基いて、ブロックに割当てることを含む。この場合、第2のビューにおけるブロックは、パワードメイン階層に対応する階層構造を有し得る。属性タイプがクロックドメインである場合には、第2のビューを生成することは、各回路素子を、回路素子のクロックドメインに基いて、ブロックに割当てることを含む。
ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。 ここに記載されるいくつかの実施の形態に従ってフロアプランニングツールのGUIにおいてグラフィカル操作を実行するためのプロセスを示すフローチャートを呈示する。 ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをGUIにおいてどのように与えることができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをGUIにおいてどのように与えることができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをGUIにおいてどのように与えることができるかの例を示す。 ここに記載されるいくつかの実施の形態に従って輻輳インジケータを表示するためのプロセスを示すフローチャートを呈示する。 ここに記載されるいくつかの実施の形態に従ってGUIにおいてピン位置を更新するためのプロセスを示すフローチャートを呈示する。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。 ここに記載されるいくつかの実施の形態に従って、どのようにしてGUIによってユーザは回路設計の論理的階層を見ることができるかを示す。 ここに記載されるいくつかの実施の形態に従ってパワードメイン階層に基いたビューを呈示する。 ここに記載されるいくつかの実施の形態に従ってクロックドメイン階層に基いたビューを呈示する。 ここに記載されるいくつかの実施の形態に従ってGUIにおいて回路設計を表示するためのプロセスを示すフローチャートを呈示する。 この開示において記載されるいくつかの実施の形態に従うコンピュータシステムを示す。
詳細な記載
以下の記載は、任意の当業者がこの発明をなし、および用いることを可能にするよう呈示され、特定の適用例およびその要件の文脈において与えられる。開示された実施の形態へのさまざまな修正が当業者には容易に明らかになり、ここに規定された一般的な原理は、この発明の精神および範囲から逸脱せずに、他の実施の形態および適用例に適用されてもよい。したがって、この発明は示される実施の形態に限定されず、ここに開示される原理および特徴と整合する最も広い範囲を与えられることになっている。
電子設計自動化(EDA)フローの概観
EDAフローは回路設計を作成するために用いることができる。回路設計が最終決定されると、それは、製造、パッケージングおよび組立を経て、集積回路チップを生産することができる。EDAフローは複数ステップを含むことができ、各ステップは1つ以上のEDAソフトウェアツールを用いることを必要とし得る。いくつかのEDAステップおよびソフトウェアツールが後述される。EDAステップおよびソフトウェアツールのこれらの例は例示の目的のみであり、実施の形態を開示された形式に限定するようには意図されない。
いくつかのEDAソフトウェアツールは、回路設計者が、彼らが実現することを望む機能を記述することを可能にする。これらのツールは、さらに、回路設計者が、what−ifプラニングを実行して、機能改善、コストチェックなどを行なうことを可能にする。論理設計および機能検証中に、HDL(ハードウェア記述言語)、たとえばSystemVerilogなど、システムにおけるモジュールに対するコードを書込むことができ、設計を、機能的な精度があるかについて調べることができ、たとえば、設計を調べて、それが正確な出力を生じさせることを確実にすることができる。
実現に対する合成および設計中に、HDLコードは、1つ以上のEDAソフトウェアツールを用いて、ネットリストに変換することができる。さらに、ネットリストは目標技術に対して最適化することができ、テストを設計および実施して、完成したチップを検査することができる。ネットリスト検証中、ネットリストは、タイミング制約とのコンプライアンスおよびHDLコードとの対応について調べることができる。
設計プラニング中において、チップに対する全体的なフロアプランを構築して、タイミングおよびパワーについて分析することができる。物理的な実現中においては、回路素子をレイアウト(配置)において位置決めすることができ、電気的に結合することができる
(配線)。
分析および抽出中には、回路の機能をトランジスタレベルにおいて検証することができ、寄生成分を抽出することができる。物理的な検証中においては、設計を調べて、製造、電気的な問題、リソグラフィの問題および回路系に対する正確さを保証することができる。
分解能向上中においては、幾何学上の操作をレイアウト上において実行して設計の製造性を改善することができる。マスクデータ準備中においては、設計を「テープアウト」して、製造中に用いられるマスクを形成することができる。
動的な推論ポイント
レイアウトデータの手動作成および編集は実現プロセスの重要な一部であり、その作業をする設計者の生産性は設計チームにとって重要である。対話式に操作される必要のある多くのグラフィカルオブジェクトがあり、グラフィカルオブジェクトは互いに対して精密に位置決めする必要がある。関与するデータのサイズは、大きなマルチモニタ環境ででさえ、意味のある文脈を与えるズームレベルにおいてペン/マウスに基いた入力を用いてポイントを指定する際に、精度を難題とする。
従来は、オブジェクト作成および編集のためにポイントを指定するとき、ユーザは、固定されたグリッド、およびオブジェクトをはめることに依存していた。しかしながら、これは必要な制御を与えず、ポイントは、各次元において異なる参照ポイントに対して、または参照に対するなんらかの種類のオフセットで、指定されることを必要とする。ユーザにより作成されたルーラーをガイドラインとして用いることができるが、しかし、これは、ガイドラインおよびそれらが指定しているオブジェクトを編集するユーザにとってさらなる負担であり、生産性に影響を与える。既存のグラフィカルオブジェクトに対しては、従来の一次元の整列および分散タイプの関数に対するサポートは、複数の次元においてデータを操作する際にはあまり効率的ではなく、および使用するのに直観的ではなく、なぜならば、移動される参照およびオブジェクトの両方が選択されなければならないからである。
ここに記載されるいくつかの実施の形態は、近隣のグラフィカルオブジェクトの座標から推論される動的な参照ポイントに自動的に整列すること、および推論された動的な参照ポイントからの、ユーザにより指定されたオフセットを可能にすることによって、ディスプレイ上において既存のグラフィカルオブジェクトからの精密なオフセットで座標点の選択を容易にする、ユーザにより操作されるポインティングデバイスをGUIに与える。これらの実施の形態は、フロアプランおよびレイアウト編集作業に対する、ユーザの生産性および正確性を著しく増大することができる。
各グラフィカルオブジェクトは、終点および中間点を有し、他のオブジェクトを位置決めするときに潜在的に参照として用いることができる、エッジ部分の組から構築されることが注目される。推論ポイントは自動的なガイドラインを与えて、編集されたオブジェクトをこれらの参照ポイントと整列させることを可能にする。さらに、これらのガイドラインの交点は、操作に対する参照ポイントであり得る位置である。これらの推論ポイントを組合せることによって、オフセットを指定するさらなる能力とともに、ユーザは、単純で能率化されたインターフェイスで、オブジェクトの相対的位置に対する非常に厳密な制御を与えられる。さらに、典型的には、レイアウトエディタの対話型ツールのすべてがデータを作成および編集するべくポイントの仕様を伴っているので、この一般的な対話モデルを一貫して、および普遍的に適用することにより、回路設計者の生産性を著しく改善することができる、強力で使いやすい環境を与えることができる。
ここに記載されるいくつかの実施の形態は、動的な推論ポイントおよびガイドラインの概念を拡張して、さらに、レイアウト編集に対してポイントを入力すると、オフセット情報がアクティブな推論ポイントに対して指定されることを可能にする(たとえば、アクティブな推論ポイントは、ユーザによってアクティブであるとして暗示的にまたは明示的に示されたポイントであり得る)。これらの実施の形態は、オブジェクトの構築および編集中に迅速かつ用い易い整列を与えるのみならず、それらのオブジェクトをこれらのガイドポイントに対して精密に位置決めすることもできる。これらの実施の形態は、さらに、GUI機能が、適用例においてレイアウト作成および編集「ツール」のすべてに適用されることを可能にする、一般的で一貫したインターフェイスを与える。
一般に、オブジェクトの任意の終点(たとえば多角形の頂点)または中間点を用いて、編集操作のための整列または相対的位置決めのために参照ポイントを推論することができる。これらの推論された参照ポイント(それらはこの開示において時に「推論ポイント」と呼ばれる)は、ユーザによって編集および作成のツールのすべての内部から動的に識別される。推論ポイントは、ポイントまたはオブジェクトを位置決めする際に、動的なガイドラインが整列およびはめることに対して用いられていることを示唆する。複数の推論ポイントを指定するとき、これらのガイドラインは交点を作成し、その交点において新たな推論ポイントを推論する。ポイントは所与の作成/編集操作のために指定されるので、それらポイントも推論ポイントとして扱われる。
図1A〜図1Eは、ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。グラフィカルオブジェクト102(それは論理的階層において回路ブロックに対応し得る)が、その右上コーナー部分がその移動のために参照ポイントとして用いられながら、移動されている。ユーザは、図1Aにおいて示されるようなポインタを用いて、右上コーナー部分を選択して、右上コーナー部分がその移動のための参照ポイントであることを示すことができる。ユーザが、グラフィカルオブジェクト102を、グラフィカルオブジェクト112の底部右コーナー部分およびグラフィカルオブジェクト114の頂部左コーナー部分と整列する位置に配置することを望むと仮定する。ユーザは、ここに以下のように記載される実施の形態を用いて、この操作を実行することができる。
まず、ユーザは、ポインタを用いることによって、グラフィカルオブジェクト114の頂部左コーナー部分およびグラフィカルオブジェクト112の底部右コーナー部分に対応する推論ポイントを選択することができる。たとえば、ユーザが推論ポイント近くにポインタを移動し、(たとえばマウス上において左ボタンをクリックすることによって)選択入力を与えると、GUIは、推論ポイントにおいて視覚的なインジケータ(たとえば正方形)を配置して、推論ポイントが現在のGUI操作に対して選択されたことを示すことができる。図1Bは、ユーザが2つの中空正方形106および108を用いて示される推論ポイントを選択した後の表示を示す。
次に、ユーザは、グラフィカルオブジェクト114の頂部左コーナー部分およびグラフィカルオブジェクト112の底部右コーナー部分と整列するポイントの近くにある位置にポインタを移動することができる。ポインタがこのポイントの近くにあるとき、GUIは、推論ポイントから(つまり正方形106および108から)延在し、図1Cにおいて影を付けられた正方形110によって示される推論ポイントにおいて交差する点線を表示することができる。点線の交点はアクティブな推論ポイントであり(アクティブな推論ポイントは、GUI操作を実行するために、たとえばブロック102をそのポイントに移動するために用いることができる推論ポイントである)、この事実は、(たとえば図1Cにおいて示されるように正方形110に影を付けることによって)推論ポイントを視覚的にハ
イライト表示することによって示すことができる。
ユーザは、アクティブな推論ポイントを直接用いてグラフィカルオブジェクト102を位置決めすることができ、またはアクティブな推論ポイントに関してオフセットを入力するオプションを有する(たとえば、GUIはポップアップウィンドウをテキスト入力フィールドとともに呈示して、ユーザがオフセットを入力することを可能にしてもよく、または、GUIは、ユーザがオフセットを指定することができる永久的なテキスト入力フィールドを有してもよい)。図1Dは、ユーザが直接アクティブな推論ポイントを用いてグラフィカルオブジェクト102を位置決めする際の結果を示す(図1Aにおいて移動のために参照ポイントとして選択されたグラフィカルオブジェクト102の頂部右コーナー部分は、ここではアクティブな推論ポイント110に位置することが注目される)。図1Eは、ユーザが(−10、−10)のオフセットを指定し、グラフィカルオブジェクト102をそのオフセットに配置したときの結果を示す。このオフセットタプルにおける1番目の数はオフセットを(たとえば長さ単位においてピクセル数などとして)第1の次元、たとえばX軸に沿って示し、このオフセットにおける2番目の数はオフセットを(たとえば長さ単位においてピクセル数などとして)第2の次元、たとえばY軸に沿って示す。
推論ポイントは、一般に、任意のGUI操作を実行するために用いることができる。たとえば、推論ポイントは多角形を描くために用いることができる。具体的には、多角形を描く間、ユーザが既に作成した多角形における頂点を用いて、ガイドラインを延長し、次いで、それらの交点を、多角形の次の頂点を作成することができる推論ポイントとして用いることができる。他の例として、推論ポイントを用いて、既存の矩形ブロックよりもある精密な量だけ大きいかまたは小さい矩形ブロックを作成することができる。(なんらかの長さ単位、たとえばnmにおいて)寸法113×217の矩形ブロックがレイアウトに存在し、既存の矩形ブロックを取り囲む寸法123×227の矩形ブロックがレイアウトにおいて作成されることが所望されると仮定する。ここに記載されるいくつかの実施の形態はこの操作を容易に実行するために用いることができる。ユーザは、既存の矩形ブロックの頂部左コーナー部分を推論ポイントとして選択し、(−10、10)のオフセットを与えて他の推論ポイントP1を作成することができる。次に、ユーザは、既存の矩形ブロックの底部右コーナー部分を推論ポイントとして選択し、(10、−10)のオフセットを与えてさらに他の推論ポイントP2を作成することができる。次いで、ユーザは、推論ポイントP1およびP2を用いて、所望の矩形ブロックを作成することができる。
図1Fは、ここに記載されるいくつかの実施の形態に従ってフロアプランニングツールのGUIにおいてグラフィカル操作を実行するためのプロセスを示すフローチャートを呈示する。このプロセスは、第1のユーザ入力を(たとえばGUIのポインタを介して)受けることで開始し、第1のユーザ入力は、回路設計レイアウトにおいて第1のグラフィカルと関連付けられる第1のポイント(たとえば第1の多角形の第1の頂点)を選択して第1の推論ポイントとする(操作152)。次に、第2のユーザ入力を(たとえばGUIのポインタを介して)受け、第2のユーザ入力は、回路設計レイアウトにおいて第2のグラフィカルオブジェクトと関連付けられる第2のポイント(たとえば第2の多角形の第2の頂点)を選択して第2の推論ポイントとする(操作154)。GUIは、次いで、回路設計レイアウトにおいて第3の推論ポイント(たとえば正方形110に対応する推論ポイント)を表示することができ、第3の推論ポイントは、第1の推論ポイントから延在する第1の線と第2の推論ポイントから延在する第2の線との交点に位置する(操作156)。次に、第3のユーザ入力を(たとえばGUIのポインタを介して)受け、第3のユーザ入力は回路設計レイアウトにおいて第3の推論ポイントを選択する(操作158)。GUIは、次いで、第3の推論ポイントに基いて、回路設計レイアウトにおいて操作を実行することができる(操作160)。具体的には、グラフィカル操作は、第3の推論ポイントまたは第3の推論ポイントからのオフセットにおいて実行することができる。後者の場合で
は、このプロセスは、オフセットを指定する第4のユーザ入力を(グラフィカル操作を実行する前に)受けることができる。
一旦、推論ポイントが作成されると、それを、他の推論ポイントを作成する基礎として用いることができる。たとえば、多角形頂点V1およびV2から延在するガイドラインの交点において推論ポイントP1が作成されると仮定する。ここで、推論ポイントP2を推論ポイントP1および第3の多角形頂点V3から延在するガイドラインの交点において作成することができる。加えて、推論ポイントP3を多角形頂点V4およびV5の交点において作成することができ、第4の推論ポイントP4を推論ポイントP1およびP3から延在するガイドラインの交点において作成してもよい。
ここに記載される実施の形態は以下の利点を有する:(1)実施の形態は、依然として高度の精度を与えながら非常に高いズームレベルで編集することを可能にし、(2)実施の形態は、ポイントをエディタにおいて指定するときに相対的位置決めを制御するための強力で使いやすい機構を与えることによって、インターフェイスを合理化し単純化し、(3)実施の形態は、編集機能のすべてに整列および相対的位置決めに対する自動的なサポートを埋込むことによって、適用例においてさらなるクリックまたは複数の編集ツールの使用を必要とすることなく、顧客の生産性を改善し、および(4)実施の形態は、相対的位置決めが重要である2Dまたは3Dデータの任意の対話型の編集とともに用いることができる。
What−if輻輳
ICを配線することは、所望の機能を実行する回路を形成するよう集積回路素子を電気的に接続する金属配線の経路を判断することを伴う。大規模ICチップは、典型的には配線ソフトウェアを用いて配線されるが、それは、典型的には「配線システム」または「ルータ」と呼ばれる。
配線プロセスは典型的には3つの段階:概略配線、トラック割当、および詳細配線を有する。しかしながら、プロセスにおける段階数は3より多くも少なくもあり得る。概略配線段階では、システムは、配線のための詳細配線形状を作成しない。代りに、システムは、配線輻輳を最小限にし、全体的な配線長を最小限にするよう、ネットが通るべきマルチピンネットおよび領域のトポロジーを判断する。配線輻輳が回路設計の領域において生じるのは、配線資源(たとえば配線トラックの数)がその領域に対する配線要求(たとえば、その領域を通って配線される必要のある配線の数)を満たすのに不十分なときである。トラック割当段階では、システムは配線をトラックに割当てることによって概略配線プランを改善する。トラック割当は配線に対する詳細な経路を生成するかもしれないが、この段階での配線解は、デザインルールのすべてを満たさないかもしれず、なぜならば、この段階は典型的には次の段階、すなわち詳細配線より単純な配線モデルを用いるからであることに注意されたい。最後に、詳細配線段階では、システムは、各配線に対して、厳密な経路および具体的な形状を作成する。デザインルールのすべてが典型的にはこの段階において用いられて、経路付けられた配線がデザインルールのいずれも破らないことを保証することに注目されたい。
配線経路付けは、典型的には回路設計フローにおいて複数ステップで実行される。たとえば、フロアプランニング中において、概略配線を実行して、所与のフロアプランが回路設計フローにおいて実際の配線ステップ中に配線輻輳を引起こすことが予想されるかどうかを調べることができる(フロアプランニング中において用いられる概略配線はおおよそであり得、つまり、それは、実際の配線ステップ中に用いられる概略配線ステップほど正確ではないことがあり得る。)回路ブロックを抽出して不必要な詳細を隠すことができ、それによって、配線プロセスを促進する。具体的には、フロアプランニングツールは、マ
クロおよび標準セルをブロックとして表すことができる。各マクロおよび標準セルは、典型的にはそれらのネット割当に基いて電気的にともに接続される必要のある複数のピンを有する。
次いで、概略配線解(つまり概略配線プロセスの出力)を用いて、回路ブロックのピンが配線を用いて電気的に接続されると配線輻輳が生じると予想されるかどうかを判断することができる。輻輳が回路設計の1つ以上の領域において生じそうであることを概略配線解が示す場合、次いで、ユーザは、フロアプランニングツールを用いて、ブロック/ハードマクロ/パーティションをサイズ変更および/または移動して、配線輻輳を軽減することができる。概略配線に基いた輻輳分析は、この開示においては例示目的のみのために用いられ、ここに記載される実施の形態の範囲を制限するようには意図されない。たとえば配置に基いた統計モデルおよび仮想配線に基いた技術など、他の技術を用いて輻輳を判断することもできる。
輻輳の判断のために用いられる技術にかかわらず、従来の方策は、修正されたフロアプランに対する輻輳の判断を、それらが最初のフロアプランを処理したのと本質的に同じ方法で、その修正されたフロアプランを処理することによって行なう。その結果、従来の方策では、フロアプランを輻輳なしにするために1つ以上のチャネルをサイズ変更するプロセスは、ブロック/ハードマクロ/パーティションサイズを変更または移動することと、修正されたフロアプラン上において(たとえば修正されたフロアプランに対する更新された概略配線解を判断することによって)本格的な輻輳計算を実行することとを、複数回、時間をかけて反復して、修正されたフロアプランに輻輳がないかどうか判断することを伴う。
従来の方策とは対照的に、ここに記載されるいくつかの実施の形態は、フロアプランに対する修正が輻輳問題を解決するかどうかについて、ユーザに実質的に即時のフィードバックを行なう。具体的には、ここに記載されるいくつかの実施の形態が実質的に即時のフィードバックを行なうのは、一部には、これらの実施の形態は、修正されたフロアプラン上において概略配線(または同様の資源集約的なプロセス)を実行することによって修正が輻輳上に有する影響を判断するのではないからである。
図2A〜図2Cは、ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをGUIにおいてどのように与えることができるかの例を示す。図2Aでは、チャネルAおよびBは、フロアプランオブジェクト202と204との間に存在する配線資源を表す。チャンネルAおよびBは図2Aにおいて垂直方向において配線を経路付けるために用いることができる。同様に、チャネルCはフロアプランオブジェクト204と206との間に存在し、水平方向において配線を経路付けるために用いることができる。
図2Aに示されるフロアプランは、概略配線ツールに与えることができ、概略配線の結果を用いて、チャネルA、BおよびCの要求および容量を判断することができる。チャネルの要求値は、チャネルを通って経路付けされると期待される配線の数を表すことができ、容量値は、チャネルを通って経路付けすることができる配線の数を表すことができる。要求値および容量値を他の単位で表すことができることは当業者に明らかである。
各チャネルに対する要求および容量を用いて、GUIにおいて示すことができる輻輳インジケータを判断することができる。いくつかの実施の形態では、チャネルに対する要求値と容量値との間の比は、GUIにおいて比として示すことができる。たとえば、図2Aは、チャネルAに対する要求値および容量値がそれぞれ90および150であることを示す。これらの値を用いて、GUIにおいて示される輻輳インジケータ「90/150」を
生成することができる。同様に、チャネルBおよびCに対する輻輳インジケータはそれぞれ「60/130」および「50/30」である。各チャネルにおける両側矢印は、チャネル幅が測定される方向を示す。図2A〜図2Cにおいて示される輻輳インジケータは例示目的のみに対しており、ここに開示される実施の形態の範囲を限定するようには意図されない。一般に、輻輳インジケータは、チャネルにおける輻輳の程度を視覚的に表す任意のインジケータであり得る。いくつかの実施の形態では、チャネルの輻輳は色コード化され得、たとえば、緑色は低い輻輳に、黄色は中程度の輻輳に、赤色は高い輻輳に対応し得る。
チャネルに対する輻輳インジケータがしきい値(たとえば1.0または0.9など)より大きい場合、ユーザは、輻輳を軽減するように1つ以上のフロアプランオブジェクトをサイズ変更および/または移動するよう判断してもよい。たとえば、図2Aでは、チャネルAおよびBに対する輻輳インジケータは、これらのチャネルが輻輳しないことを示す。しかしながら、チャネルCに対する輻輳インジケータは、このチャネルが輻輳することを示す。
フロアプランにおいて輻輳を軽減するために、ユーザはフロアプランオブジェクトをサイズ変更および/または修正してもよい。フロアプランへの1つ以上の修正の検出に応答して、ここに記載されるいくつかの実施の形態は輻輳インジケータを実質的に即時に更新し、したがってユーザは、ユーザの修正が配線輻輳に有した影響を直ちに理解できることができる。図2Bは、どのように実質的に即時にチャネルに対する輻輳インジケータを更新することができるかを示す。図2Bに示されるように、ユーザはフロアプランオブジェクト202のサイズを増大し、フロアプランオブジェクト204を上に移動し(それはチャネルCの幅を増大させ)、および左に移動する(それはチャネルBの幅を減少させる)。要求値が図2Aおよび図2Bにおけるのと同じであるのは、フロアプランオブジェクトのサイズ変更および/または移動は要求を変更しないからであることが注記される。他方、容量が増大するのは、チャネルの幅が増大するときであり、減少するのは、チャネルの幅が減少するときである。たとえば、チャネルAの容量は150から120に減少し、チャネルBの容量は130から100に減少し、チャネルCの容量は30から90に増大した。
いくつかの実施の形態は、元のチャネル幅と新たなチャネル幅との比に基いてチャネル容量を変更する。たとえば、元のチャネル幅が20単位で、新たなチャネル幅が15単位である場合、元のチャネル容量に15/20=3/4を乗算して、新たなチャネル容量を得ることができる。逆に、元のチャネル幅が15単位で、新たなチャネル幅が20単位である場合、元のチャネル容量に20/15=4/3を乗算して、新たなチャネル容量を得ることができる。
図2Cは、フロアプランオブジェクトの移動が、既存のチャネルを除去し、新たなチャネルを作成し得る例を示す。図2Cに示されるように、フロアプランオブジェクト206は、フロアプランオブジェクト204の最も左側のエッジ部分を越えて左に移動されている。その結果、チャネルCはもはや存在せず、したがって、GUIにおいて除去される。しかしながら、新たなチャネル―チャネルD―がフロアプランオブジェクト302と206との間において作成されている。チャネルDに対するチャネル容量はチャネル幅に基いて計算することができる。しかしながら、チャネルDに対する要求は、チャネルCに対して存在した要求とは実質的に異なり得る(たとえば、チャネルCを通って配線されていた配線のすべてはチャネルDを通って配線されるだろうと仮定することは正しくないからである)。したがって、ここに記載されるいくつかの実施の形態は、新しく作成されたチャネルの要求を未知のものとして印し、したがってGUIに輻輳インジケータを表示する。たとえば輻輳インジケータ「?/90」をチャネルDに対して示すことができ、「?」記号は、チャネルに対する要求が未知であることを示す。新しく作成されたチャネルは、さらに、チャネルに対する要求が未知であることを示す色を割当てられてもよい。
図2Dは、ここに記載されるいくつかの実施の形態に従って輻輳インジケータを表示するためのプロセスを示すフローチャートを呈示する。このプロセスは、GUIにおいてチャネルに対する輻輳インジケータを表示する実施の形態で開始することができ、輻輳インジケータは、回路設計レイアウト上において輻輳分析を実行することに基いて、たとえば回路設計レイアウト全体上において概略配線を実行することによって、判断される(操作252)。次に、この実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができ、修正することは、チャネルの幅を新たな幅値に変更する(操作254)。チャンネル長における変更はチャネル容量を変化させないが、チャネル幅における変更はチャネル容量を変化させることに注目されたい。この実施の形態は、次いで、新たな幅値に基いてチャネルに対する更新された容量値を判断することができ、更新された容量値は、チャネルにおいて利用可能な配線資源の量に対応する(操作256)。次に、この実施の形態は、修正された回路設計レイアウト上において輻輳分析を実行することなく、たとえば修正された回路設計レイアウト全体上において概略配線を実行することなく、更新された容量値に基いて、更新された輻輳インジケータを判断することができる(操作258)。次いで、この実施の形態は、GUIにおいて、チャネルに対する更新された輻輳インジケータを表示することができる(操作260)。
即時のピン更新
ピン割当は、ピン位置を回路設計においてパーティションまたはブロックに割当てるプロセスを指す。パーティションは、回路設計の一部である(パーティションは、典型的にはパーティション内にあるセルの詳細を含む)。パーティションは、チップにおける物理的な領域に関連付けられず、フロアプランニングツールのGUIは、パーティションを、フロアプランに配置することができるフロアプランオブジェクトとして扱わない。他方、ブロックは、回路設計の一部を含む、回路設計レイアウトにおける物理的な領域である。フロアプランニングツールのGUIは、ブロックを、配置することができるフロアプランオブジェクトとして扱うことができ、GUIは、ブロック上においてさまざまな操作(たとえば、移動、サイズ決め、および形状変更)を実行するために用いることができる。
ピン割当はパーティションまたはブロック上において実行することができる。パーティションまたはブロックの境界上におけるピンは、ブロック内における1つ以上のセルに電気的に接続され、他のパーティションまたはブロックにおける他のセルの入力に電気的に接続する必要がある、該パーティションまたはブロックにおけるセルの出力は、そのパーティションまたはブロックにおけるピンを通過しなければならない。
パーティションまたはブロックに対する元のピン位置の組は、回路設計レイアウト上において概略配線を実行し、次いで、概略配線解における配線がパーティションまたはブロックの境界を交差する位置にピンを作成することによって、判断することができる。従来の方策では、回路設計レイアウトが変わるとき(たとえばパーティションまたはブロックがサイズ変更されるか、または形状が変更されるとき)、概略配線が、修正された回路設計レイアウト上において実行され、新たなピン位置が新たな配線解に基いて判断される。修正された回路設計レイアウト上において概略配線を実行することは長時間かかり得、したがって、従来の方策は、ユーザが回路設計レイアウトに変更を加えた後、ピン位置を実質的に即時に更新することはできない。
ここに記載されるいくつかの実施の形態は、回路設計レイアウトが修正されると(たとえばユーザがGUIを用いてパーティションまたはブロックの形状をサイズ変更または変更すると)、パーティションまたはブロックのピン位置を実質的に即時に更新する。一般
に、ここに記載される実施の形態は、ピンが移動される量を最小限にしようとする。具体的には、図3Aは、ここに記載されるいくつかの実施の形態に従ってGUIにおいてピン位置を更新するためのプロセスを示すフローチャートを呈示する。このプロセスは、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることで始まる(操作352)。エッジ部分の長さが増大した場合(操作354の「イエス」分岐)、元のピン位置は変更されない(操作360)。他方、エッジ部分の長さが減少した場合(操作354の「ノー」分岐)、実施の形態は元のピン位置の組を維持することができるかどうか調べることができる(操作356)。維持できる場合には(操作356の「イエス」分岐)、元のピン位置は変更されない(操作360)。元のピン位置を維持することができない場合には(操作356の「ノー」分岐)、電源ピンの位置、データ信号ピンの相対的な順序、および固定されたピンの位置を維持しながら近隣のデータ信号ピン間の距離を減少させることによって、新たなピン位置の組を得る(操作358)。
いくつかの実施の形態では、近隣の信号ピン間の距離は、信号ピン間の元の距離に比例して減少される。他の実施の形態では、まず、(その長さが修正された)エッジ部分の終点の近くにおける近隣の信号ピン間の距離が減少され、それが十分でない場合は、エッジ部分の中心の近くにおける近隣の信号ピン間の距離が減少される。このプロセス中において、信号ピンの順序は維持されている。あるタイプのピンは、エッジ部分の長さが減少するときであっても、移動されない。具体的には、電源ピンおよび接地ピンならびに固定されるとしてフラグが立てられた他のピンは移動されない。固定されたピンが信号ピンである場合、固定された信号ピンのいずれかの側の信号ピンが、信号ピンの順序を乱さずに移動される。一旦、新たなピン位置の組が判断されると、その新たなピン位置の組をGUIに表示することができる。上記の実施の形態は、新たなピン位置の組を判断するために、修正された回路設計レイアウト上において概略配線を実行しないことが注目される。エッジ部分が非常に減少して、固定されたピン位置がもはやエッジ部分上にない場合、固定されたピンは除去することができ、ユーザが固定されたピンを適切な位置に手動で配置することができるように、ユーザはこの事実の警告を受けてもよい。エッジ部分が非常に減少して、ピンが減少したエッジ部分サイズに収容することができない場合、警告を出して、エッジ部分はもはやピンに収容することができないとユーザに警告することができる。この筋書では、ピンはエッジ部分に配置されるが、ピンは、減少したエッジ部分サイズに収容することができないので、互いと重複するかもしれない。
図3B〜図3Gは、ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
図3Bはブロックまたはパーティション302を信号ピンD1〜D10および電源/接地ピンP1とともに示す。図3Bに示されるピン位置は、たとえば、回路設計上において概略配線を実行し、配線がブロックまたはパーティション302の境界を交差した位置を識別することによって判断された、元のピン位置の組であり得る。信号ピンは、データ、アドレス、および/または制御信号を搬送することができる。電源/接地ピンは、ブロックまたはパーティション302内の回路系に電力を与える。1つ以上のピン(信号ピンおよび/または電源/接地ピンのいずれか)は、ユーザまたはEDAツールによって、固定されているとして識別されてもよい。図3Cは、左および右のエッジ部分の長さを減少させたサイズ変更操作の実行後のブロックまたはパーティション302を示す(ブロックまたはパーティション302の底部エッジ部分が上に移動された)。ピンP1およびD1〜D3の位置は、それらのピン位置が減少したエッジ部分長さにおいて収容することができたので、変更されなかったことが注目される。いくつかの実施の形態では、右側エッジ部分上における近隣の信号ピン(つまりピンD4〜D8)間の距離は、元の距離に比例して減少され、つまり、エッジ部分の元の長さがL1であり、減少された長さがL2であり、
2つの近隣のピン間の距離がL3であった場合、それらの2つのピン間の新たな距離はL4=L3×L2/L1であることができる。この実施の形態は、図3Cに示される。他の実施の形態では、信号ピンは、それを移動する必要がある場合にのみ、移動される。たとえば、いくつかの実施の形態では、信号ピンD8のみが上に移動されるかもしれないが、信号ピンD4〜D7の位置は維持されるかもしれない。底部エッジ部分が長さにおいて変化しなかったので、底部エッジ部分上における信号ピンD9およびD10の位置は変わらないままであった。
図3Dは図3Bと同じである。図3Eは、左および右のエッジ部分の長さを減少させたサイズ変更操作の実行後のブロックまたはパーティション302を示す(ブロックまたはパーティション302の頂部エッジ部分は下に移動された)。この例では、図3Eにおいて示されるように、右側および左側エッジ部分の両方上における信号ピンが移動された。電源/接地ピンP1は移動されず、そのことが左側エッジ部分上においてピンの相対的順序を変更したことに注目されたい(電源/接地ピンP1は図3Dにおいて信号ピンD1とD2との間にあるが、それは、図3Eにおいてはそれらの2つの信号ピン間にはない)。しかしながら、信号ピンD1〜D3間の相対的順序はブロックまたはパーティション302の左側エッジ部分上において維持された。信号ピンの順序を維持することは配線中に問題を回避するのに重要である(信号ピンの順序が維持されない場合、信号ピンに電気的に接続される配線は交差される必要があるかもしれず、それは配線中に問題になるかもしれない)。
図3Fは図3Bと同じである。図3Gはブロックまたはパーティション302の形状を変更した後のブロックまたはパーティション302を示す。具体的には、ブロックまたはパーティション302の底部右コーナー部分は切り込まれている。この例では、図3Gに示されるように、底部右側エッジ部分上の信号ピンのいくつかが移動された。左側エッジ部分上における電源/接地ピンP1および信号ピンD1〜D3は移動されなかった。同様に、右側エッジ部分上における信号ピンD4〜D7および底部エッジ部分上における信号ピンD10は移動されなかった。底部エッジ部分上にあった信号ピンD9はエッジ部分E1に移動され、右側エッジ部分上にあった信号ピンD8はエッジ部分E2に移動された。新たなエッジ部分(たとえばエッジ部分E1およびE2)がブロックまたはパーティションに追加されるとき、所与の向きを有するエッジ部分上におけるピンは新たなエッジ部分に同じ向きで移動される。たとえば、ピン(たとえばピンD9)が水平のエッジ部分(たとえば底部エッジ部分)上にある場合、ピンは、形状が変更された後、新たな水平のエッジ部分(たとえばエッジ部分E1)に移動される。同様に、ピン(たとえばピンD8)が垂直なエッジ部分(たとえば右側エッジ部分)上にある場合、ピンは、新たな垂直なエッジ部分(たとえばエッジ部分E2)に移動される。信号ピンの相対的順序が図3Gに維持されるのは、水平なエッジ部分上においてのみピンを考慮するか、または垂直なエッジ部分上においてのみピンを考慮する場合であることに注目されたい。しかしながら、図3Gにおいてブロックまたはパーティション302の周囲をエッジ部分横断する場合は、信号ピンの順序は維持されていない。具体的には、ブロックまたはパーティション302の頂部右側コーナー部分から底部左側コーナー部分に時計回りのエッジ部分横断を行えば、信号ピンの順序は図3Fおよび図3Gにおいて異なる。
一旦、新たなピン位置が判断されると、その新たなピン位置を回路設計レイアウトにおいて配線トラック位置にはめることができる。たとえば、新たなピン位置が位置2.42にあり(ピン位置はエッジ部分上における参照ポイントからの長さ単位における距離によって表すことができる)、最も近い配線トラックが割当2.4にある場合、新たなピン位置は、2.42から2.4にはめることができる(つまり変更できる)。いくつかの実施の形態では、2つ以上のピンが同じ配線トラック位置にはまった場合には、実施の形態は、ピン位置を、2つ以上のピンの各々ごとに、異なる金属層において割当てることができ
る。たとえば、2つのピン位置が位置2.4にはまる場合、一方のピン位置は金属層M1に割当てることができ、他方のピン位置は金属層M2に割当てることができる。
階層的ビュー
回路設計は、たとえば、その回路設計のためのHDLコードによって規定することができる論理的階層を有する。たとえば、HDLコードは、処理ブロックが乗算器ブロックおよび加算器ブロックを含み、乗算器および加算器ブロックは、次いで、それら内において他のブロックを含むことを明記してもよい。フロアプランニングツールのGUIは、ユーザが論理的階層に従って回路設計を見ることを可能にすることができる。図4Aは、ここに記載されるいくつかの実施の形態に従って、どのようにしてGUIによってユーザは回路設計の論理的階層を見ることができるかを示す。ビュー400はブロックB1〜B4を含む。ブロックB1は回路素子404〜408を含み、ブロックB3は回路素子416〜422を含む。ブロックB2は、回路素子410と、回路素子412〜414を含むブロックB4とを含む。明確にするため、異なる回路素子のピンを電気的に接続するネットは図4A〜図4Cには示されてはいない。
回路設計は、複数の電圧ドメイン、複数のパワードメイン、および/または複数のクロックドメインを有することができる。具体的には、回路設計における各回路素子は、特定の電圧、電源、および/またはクロックドメインと関連付けられることができる。一般に、各回路素子は、1つ以上の属性タイプに対応する1つ以上の属性値と関連付けられることができる。電圧ドメイン、パワードメインおよびクロックドメインは属性タイプの例である。特定の電圧ドメインに対応する特定の電圧ドメイン識別子、特定のパワードメインに対応する特定のパワードメイン識別子、または特定のクロックドメインに対応する特定のクロックドメイン識別子は、属性タイプに対応する属性値の例である。
時に、(たとえば、電圧ドメイン、パワードメインまたはクロックドメインに基いてグループ化される)特定の属性タイプに基いて回路素子をグループ化することによって回路設計を見ることは有用である。ここに記載されるいくつかの実施の形態は、回路設計者が、1つ以上の属性タイプに基いて回路設計を見ることを可能にする。たとえば、ユーザは電圧ドメイン、パワードメインまたはクロックドメインの点において(つまり、論理的階層に基いて回路設計を見る代りに、またはそれに加えて)、回路設計を見たいかもしれない。
いくつかの属性は階層的であり得る。具体的には、電圧ドメイン、パワードメインおよびクロックドメインは階層的であり得る。たとえば、第2のパワードメインがオフであるときはいつでも第1のパワードメインが常にオフである場合、第1のパワードメインは第2のパワードメインの階層内にあると考えることができる。回路設計ビューが所与の属性に基いて生成されるとき、回路設計における属性階層は視覚的に明らかになることができる。回路素子が属性タイプに基いてグループ化される回路設計を見ることは、ユーザが新たな方法で回路設計における回路素子間の相互関係を理解することを可能にすることができ、それによって、ユーザが回路設計を設計しデバッグすることを容易する。
図4Bは、ここに記載されるいくつかの実施の形態に従ってパワードメイン階層に基いたビューを呈示する。ビュー430はビュー400に表示されたのと同じ回路素子を含むが、それらはここではそれらのパワードメインに基いてグループ化される。具体的には、回路素子410〜412はパワードメインP1にあり、つまり、回路素子410〜412は、パワードメイン属性タイプに対応する属性値P1に関連付けられる。同様に、回路素子414はパワードメインP2にあり、回路素子406、416および422はパワードメインP4にあり、回路素子418、404はパワードメインP5にあり、回路素子408および420はパワードメインP3にある。さらに、ビュー430は、パワードメイン
P4およびP5がパワードメインP3内にあるパワードメイン階層を示す。
ビューは、各回路素子と関連付けられる他の属性値を表示することができる。さらに、ビューは、複数の属性に基いて回路素子をグループ化し、それらのクループ化を同時に表示することができる。たとえば、ビュー430は、パワードメインP1およびP2(それらは回路素子をそれらのパワードメインに基いてグループ化する)がブロックB1(それは図4Aにおいて示されるような論理的階層に基いて回路素子をグループ化する)内にあることを示す。
図4Cは、ここに記載されるいくつかの実施の形態に従ってクロックドメイン階層に基いたビューを呈示する。ビュー440はビュー400に表示されたのと同じ回路素子を含むが、それらはここではそれらのクロックドメインに基いてグループ化される。クロックドメインは、一般に、単一クロック、または固定された位相および周波数関係を間に有するクロックの組のいずれかによって駆動される、回路設計の一部として定義することができる。たとえば、一定の位相差を有する同じ周波数の2つのクロックは、同じクロックドメイン内にあると考えることができる。同様に、固定された周波数関係(たとえば、一方のクロックは他方のクロックの周波数の半分を有する)およびさらに、固定された位相差を有する2つのクロックも、同じクロックドメインに属すると考えることができる。具体的には、回路素子410、416、420はクロックドメインC1にあり、つまり、回路素子410、416、420は、クロックドメイン属性タイプに対応する属性値C1と関連付けられる。同様に、回路素子404、406、408、412、414、418、422は、クロックドメインC2にある。
図4Dは、ここに記載されるいくつかの実施の形態に従ってGUIにおいて回路設計を表示するためのプロセスを示すフローチャートを呈示する。このプロセスは、GUIにおいて回路設計の第1のビューを表示することによって開始することができ、第1のビューは、回路素子を回路設計の論理的階層に従って階層的ブロックにグループ化し、回路設計における少なくともいくつかの回路素子は、1つ以上の属性タイプに対応する1つ以上の属性値と関連付けられる(操作452)。次に、回路設計を属性タイプ(たとえば電圧ドメイン、パワードメインまたはクロックドメイン)に基いて表示する要求が受取られ得、属性タイプに基いて回路設計を表示する要求を受けたことに応答して、この実施の形態は、回路設計の第2のビューを生成することができ、第2のビューは、回路素子を、属性タイプに対して同じ属性値を有するブロックにグループ化する(操作454)。この実施の形態は、GUIにおいて回路設計の第2のビューを表示することができる(操作456)。
たとえば、第1のビューは図4Aに対応し得る。属性タイプがパワードメインである場合には、第2のビューを生成することは、各回路素子を、回路素子のパワードメインに基いて、ブロックに割当てることを伴うことができる。第2のビューは図4Bに対応し得る。図4Bに示されるように、第2のビューにおけるブロックは、パワードメイン階層に対応する階層構造を有することができる。属性タイプがクロックドメインである場合には、第2のビューを生成することは、各回路素子を、回路素子のクロックドメインに基いて、ブロックに割当てることを伴うことができる。この場合、第2のビューは、図に4Cに対応し得る。
コンピュータシステム
図5はこの開示において記載されるいくつかの実施の形態に従うコンピュータシステムを示す。コンピュータシステム502は、プロセッサ504、メモリ506および記憶装置508を含み得る。コンピュータシステム502は、表示装置514(それは表示領域内における接触の存在、位置、および/または移動を検出できてもできなくてもよい)、
キーボード510、およびポインティングデバイス512に結合することができる。記憶装置508は、オペレーティングシステム516、アプリケーション518およびデータ520を記憶することができる。データ520は、アプリケーション518によって必要とされる入力、および/またはアプリケーション518によって生成される出力を含むことができる。
コンピュータシステム502は、1つ以上の動作を、この開示に暗示的または明示的に記載されている任意の方法において(自動的にまたはユーザ入力で)実行してもよい。たとえば、動作中において、コンピュータシステム502は、アプリケーション518をメモリ506内にロードすることができる。次いで、ユーザはアプリケーション518を用いて、回路設計に対するフロアプランを作成し、見て、および/または編集ことができる。
結論
上記の記載は、任意の当業者が実施の形態をなし、用いることを可能にするよう呈示される。開示された実施の形態へのさまざまな修正が当業者には容易に明らかになり、ここに規定された一般的な原理は、この開示の精神および範囲から逸脱せずに、他の実施の形態および適用例に適用可能である。したがって、この発明は示される実施の形態に限定されず、ここに開示される原理および特徴と整合する最も広い範囲を与えられることになっている。
この開示において記載されるデータ構造およびコードは、部分的または完全にコンピュータ読取可能記憶媒体および/またはハードウェアモジュールおよび/またはハードウェア装置上に記憶することができる。コンピュータ読取可能記憶媒体は、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタルバーサタイルディスクまたはディジタルビデオディスク)などの磁気および光学的記憶装置、またはコードおよび/もしくはデータを記憶することができる、現在公知または今後開発される他の媒体を含むが、それらに限定されない。この開示において記載されるハードウェアモジュールまたは装置は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用もしくは共用プロセッサ、および/または現在公知もしくは今後開発される他のハードウェアモジュールもしくは装置を含むが、それらに限定されない。
この開示において記載される方法およびプロセスは、コンピュータ読取可能記憶媒体または装置に記憶されるコードおよび/またはデータとして部分的または完全に実施することができ、コンピュータシステムがコードおよび/またはデータを読出して実行するとき、コンピュータシステムは関連の方法およびプロセスを実行する。方法およびプロセスは、さらに、部分的または完全にハードウェアモジュールまたは装置で実施することができ、ハードウェアモジュールまたは装置が活性化されると、それらは関連の方法およびプロセスを実行する。コード、データおよびハードウェアモジュールまたは装置の組合せを用いて、方法およびプロセスを実施することができることが注目される。
この発明の実施の形態の前述の記載は例示および記載の目的のためにのみ呈示された。それらは、網羅的であったり、またはこの発明を開示される形式に限定するようには意図されない。したがって、多くの修正および変形が当業者には明らかになる。加えて、上記の開示は、この発明を限定するようには意図されない。この発明の範囲は特許請求の範囲によって規定される。

Claims (22)

  1. 電子設計自動化(EDA)ツールにおいて、前記EDAツールのグラフィカルユーザインターフェイス(GUI)におけるピン位置を更新するための方法であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
    前記EDAツールが前記回路設計レイアウトを変更したときにコンピュータにおいて、
    前記エッジ部分が長さにおいて増大したという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、
    前記エッジ部分が長さにおいて減少したが前記ピン位置の組を維持するよう十分に長いという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、および、
    前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記EDAツールは、前記EDAツールの前記GUIにおける近隣の信号ピン間の距離を減少させて、一方で、(1)1つ以上の電源ピンの位置、(2)信号ピンの相対的な順序、および(3)1つ以上の固定されたピンの位置、を維持することを含む、方法。
  2. 前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項1に記載の方法。
  3. 前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に1つ以上のピンをはめることを含む、請求項1に記載の方法。
  4. 2つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記EDAツールが、ピン位置を2つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項3に記載の方法。
  5. 前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が2つの直交エッジ部分により置換されていると判断したことに応答して、前記EDAツールは、前記エッジ部分に平行である、前記2つの直交エッジ部分のうちの1つに、前記ピンの組の中の少なくとも1つの信号ピンを移動させることをさらに含む、請求項1に記載の方法。
  6. 前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項5に記載の方法。
  7. 前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記EDAツールがユーザに警告することをさらに含む、請求項1に記載の方法。
  8. 前記ピン位置は、グローバルルーティングを実行することなく、前記EDAツールの前記GUIにおいて更新される、請求項1に記載の方法。
  9. コンピュータによって実行されると、電子設計自動化(EDA)ツールにおいて、前記EDAツールのグラフィカルユーザインターフェイス(GUI)におけるピン位置を更新するための方法を前記コンピュータに実行させる命令を記憶する、非一時的なコンピュータ読取可能記憶媒体であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
    前記EDAツールが前記回路設計レイアウトを変更したときにコンピュータにおいて、
    前記エッジ部分が長さにおいて増大したという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、
    前記エッジ部分が長さにおいて減少したが前記ピン位置の組を維持するよう十分に長いという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、および、
    前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記EDAツールは、前記EDAツールの前記GUIにおける近隣の信号ピン間の距離を減少させて、一方で、(1)1つ以上の電源ピンの位置、(2)信号ピンの相対的な順序、および(3)1つ以上の固定されたピンの位置、を維持することを含む、非一時的なコンピュータ読取可能記憶媒体。
  10. 前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項9に記載の非一時的なコンピュータ読取可能記憶媒体。
  11. 前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に1つ以上のピンをはめることを含む、請求項9に記載の非一時的なコンピュータ読取可能記憶媒体。
  12. 前記方法が、2つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記EDAツールが、ピン位置を2つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項11に記載の非一時的なコンピュータ読取可能記憶媒体。
  13. 前記方法が、前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が2つの直交エッジ部分により置換されていると判断したことに応答して、前記EDAツールは、前記エッジ部分に平行である、前記2つの直交エッジ部分のうちの1つに、前記ピンの組の中の少なくとも1つの信号ピンを移動させることをさらに含む、請求項9に記載の非一時的なコンピュータ読取可能記憶媒体。
  14. 前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項13に記載の非一時的なコンピュータ読取可能記憶媒体。
  15. 前記方法が、前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記EDAツールがユーザに警告することをさらに含む、請求項9に記載の非一時的なコンピュータ読取可能記憶媒体。
  16. 前記ピン位置は、グローバルルーティングを実行することなく、前記EDAツールの前記GUIにおいて更新される、請求項9に記載の非一時的なコンピュータ読取可能記憶媒体。
  17. 装置であって、
    プロセッサと、
    前記プロセッサによって実行されると、電子設計自動化(EDA)ツールにおいて、前記EDAツールのグラフィカルユーザインターフェイス(GUI)におけるピン位置を更新するための方法を前記プロセッサに実行させる命令を記憶する、非一時的なコンピュータ読取可能記憶媒体とを備え、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
    前記EDAツールが前記回路設計レイアウトを変更したときに前記プロセッサにおいて、
    前記エッジ部分が長さにおいて増大したという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、
    前記エッジ部分が長さにおいて減少したが前記ピン位置の組を維持するよう十分に長いという判断に応答して、前記EDAツールが、前記EDAツールの前記GUIにおける前記ピン位置の組を変更しないこと、および、
    前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記EDAツールは、前記EDAツールの前記GUIにおける近隣の信号ピン間の距離を減少させて、一方で、(1)1つ以上の電源ピンの位置、(2)信号ピンの相対的な順序、および(3)1つ以上の固定されたピンの位置、を維持することを含む、装置。
  18. 前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項17に記載の装置。
  19. 前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に1つ以上のピンをはめることを含み、前記方法は、2つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記EDAツールが、ピン位置を2つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項17に記載の装置。
  20. 前記方法が、前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が2つの直交エッジ部分により置換されていると判断したことに応答して、前記EDAツールは、前記エッジ部分に平行である、前記2つの直交エッジ部分のうちの1つに、前記ピンの組の中の少なくとも1つの信号ピンを移動させることをさらに含み、前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項17に記載の装置。
  21. 前記方法が、前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記EDAツールがユーザに警告することをさらに含む、請求項17に記載の装置。
  22. 前記ピン位置は、グローバルルーティングを実行することなく、前記EDAツールの前記GUIにおいて更新される、請求項17に記載の装置。
JP2017229134A 2012-12-27 2017-11-29 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新 Active JP6534436B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/728,873 2012-12-27
US13/728,873 US8893073B2 (en) 2012-12-27 2012-12-27 Displaying a congestion indicator for a channel in a circuit design layout

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015550722A Division JP6254190B2 (ja) 2012-12-27 2013-12-23 回路設計レイアウトにおける、チャネルに対する輻輳インジケータの表示

Publications (2)

Publication Number Publication Date
JP2018060569A JP2018060569A (ja) 2018-04-12
JP6534436B2 true JP6534436B2 (ja) 2019-06-26

Family

ID=51018859

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015550722A Active JP6254190B2 (ja) 2012-12-27 2013-12-23 回路設計レイアウトにおける、チャネルに対する輻輳インジケータの表示
JP2017229134A Active JP6534436B2 (ja) 2012-12-27 2017-11-29 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015550722A Active JP6254190B2 (ja) 2012-12-27 2013-12-23 回路設計レイアウトにおける、チャネルに対する輻輳インジケータの表示

Country Status (5)

Country Link
US (4) US8893073B2 (ja)
JP (2) JP6254190B2 (ja)
KR (2) KR102103685B1 (ja)
DE (1) DE112013005820T5 (ja)
WO (1) WO2014105802A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8893073B2 (en) 2012-12-27 2014-11-18 Synopsys, Inc. Displaying a congestion indicator for a channel in a circuit design layout
JP2014211824A (ja) * 2013-04-19 2014-11-13 富士通株式会社 設計支援装置、設計支援方法、および設計支援プログラム
US9898570B2 (en) * 2015-03-20 2018-02-20 Synopsys, Inc. Transparent editing of physical data in hierarchical integrated circuit design
US9727685B2 (en) * 2015-05-14 2017-08-08 Globalfoundries Inc. Method, apparatus, and system for improved standard cell design and routing for improving standard cell routability
US9697320B2 (en) * 2015-09-24 2017-07-04 Qualcomm Incorporated Rectilinear macros having non-uniform channel spacing
US10120970B2 (en) * 2016-06-14 2018-11-06 International Business Machines Corporation Global routing framework of integrated circuit based on localized routing optimization
US10268796B2 (en) * 2016-09-15 2019-04-23 Taiwan Semiconductor Manufacturing Company Ltd. Method and system for pin layout
CN107219988B (zh) * 2017-05-26 2020-07-28 维沃移动通信有限公司 一种界面操作引导方法及移动终端
CN110148199B (zh) * 2018-02-11 2021-06-04 北京新唐思创教育科技有限公司 基于课件的涂鸦区域生成方法及计算机存储介质
DE102018127024B3 (de) 2018-10-30 2019-10-31 Airbus Operations Gmbh Flugzeugtürdichtungssystem und Flugzeugtüranordnung
CN111259615B (zh) * 2020-01-09 2023-06-06 中国人民解放军国防科技大学 一种基于原有布图规划的自动化物理单元插入方法
KR20210118544A (ko) * 2020-03-23 2021-10-01 삼성전자주식회사 회로 블록의 그래픽 사용자 인터페이스를 변경하는 방법 및 회로 블록의 그래픽 사용자 인터페이스 변경하는 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 저장 매체
KR20230122516A (ko) 2022-02-14 2023-08-22 주식회사 마키나락스 금지 영역 정보를 기반으로 반도체 소자를 배치하는 방법
CN116738911B (zh) * 2023-07-10 2024-04-30 苏州异格技术有限公司 布线拥塞预测方法、装置及计算机设备

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
JPH01206693A (ja) * 1988-02-15 1989-08-18 Toshiba Corp プリント板の配線方法
JPH0374862A (ja) * 1989-08-16 1991-03-29 Nec Corp ゲートアレイの配置方式
JPH04107953A (ja) * 1990-08-28 1992-04-09 Fujitsu Ltd 半導体装置の配線方法
US5812995A (en) * 1993-10-14 1998-09-22 Matsushita Electric Industrial Co., Ltd. Electronic document filing system for registering and retrieving a plurality of documents
JP3504739B2 (ja) * 1994-09-09 2004-03-08 富士通株式会社 階層レイアウト設計を用いたクロック配線設計方法
JP4000198B2 (ja) * 1994-10-20 2007-10-31 富士通株式会社 会話型回路設計装置
US5847965A (en) * 1996-08-02 1998-12-08 Avant| Corporation Method for automatic iterative area placement of module cells in an integrated circuit layout
JP3077601B2 (ja) * 1996-10-15 2000-08-14 日本電気株式会社 半導体集積回路の配置配線方法
US5745111A (en) * 1996-11-13 1998-04-28 International Business Machines Corporation Method and system for automatic presentation of default-drop target icons at window borders
JP2947216B2 (ja) * 1997-04-18 1999-09-13 日本電気株式会社 電子回路図面入力装置
JP4128251B2 (ja) * 1997-10-23 2008-07-30 富士通株式会社 配線密度予測方法およびセル配置装置
JPH11214523A (ja) * 1998-01-28 1999-08-06 Nec Corp 半導体集積回路装置のレイアウト方法
JPH11260929A (ja) * 1998-03-13 1999-09-24 Sony Corp レイアウト支援装置とその方法
US6343291B1 (en) * 1999-02-26 2002-01-29 Hewlett-Packard Company Method and apparatus for using an information model to create a location tree in a hierarchy of information
US6374394B1 (en) * 1999-10-21 2002-04-16 International Business Machines Corporation Method to identify unit pins that are not optimally positioned in a hierarchically designed VLSI chip
US6415428B1 (en) * 1999-10-21 2002-07-02 International Business Machines Corporation Minimal length method for positioning unit pins in a hierarchically designed VLSI chip
US6460169B1 (en) * 1999-10-21 2002-10-01 International Business Machines Corporation Routing program method for positioning unit pins in a hierarchically designed VLSI chip
US8172702B2 (en) * 2000-06-16 2012-05-08 Skyhawke Technologies, Llc. Personal golfing assistant and method and system for graphically displaying golf related information and for collection, processing and distribution of golf related data
US6449760B1 (en) 2000-11-30 2002-09-10 Lsi Logic Corporation Pin placement method for integrated circuits
US6763511B2 (en) * 2001-07-02 2004-07-13 Nec Electronics Corporation Semiconductor integrated circuit having macro cells and designing method of the same
JP4131119B2 (ja) 2002-04-19 2008-08-13 富士通株式会社 半導体集積回路設計方法及び半導体集積回路設計プログラム
US7739624B2 (en) * 2002-07-29 2010-06-15 Synopsys, Inc. Methods and apparatuses to generate a shielding mesh for integrated circuit devices
JP2004128436A (ja) * 2002-08-08 2004-04-22 Sanyo Electric Co Ltd 半導体集積回路及び半導体集積回路の設計方法
US6925627B1 (en) 2002-12-20 2005-08-02 Conexant Systems, Inc. Method and apparatus for power routing in an integrated circuit
US7003751B1 (en) 2003-01-10 2006-02-21 Xilinx Inc. Specification of the hierarchy, connectivity, and graphical representation of a circuit design
US6990648B2 (en) * 2003-04-04 2006-01-24 International Business Machines Corporation Method for identification of sub-optimally placed circuits
US7603641B2 (en) * 2003-11-02 2009-10-13 Mentor Graphics Corporation Power/ground wire routing correction and optimization
US8875039B2 (en) * 2003-11-18 2014-10-28 The Mathworks, Inc. Propagation of characteristics in a graphical model environment
US7326859B2 (en) * 2003-12-16 2008-02-05 Intel Corporation Printed circuit boards having pads for solder balls and methods for the implementation thereof
US7174524B2 (en) * 2004-09-22 2007-02-06 Lsi Logic Corporation Method of floorplanning and cell placement for integrated circuit chip architecture with internal I/O ring
JP2006173191A (ja) * 2004-12-13 2006-06-29 Matsushita Electric Ind Co Ltd 半導体集積回路の配線混雑度推定方法
US9967424B2 (en) * 2005-06-02 2018-05-08 Invention Science Fund I, Llc Data storage usage protocol
US7603644B2 (en) * 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7363607B2 (en) * 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US7657859B2 (en) * 2005-12-08 2010-02-02 International Business Machines Corporation Method for IC wiring yield optimization, including wire widening during and after routing
WO2008027311A2 (en) * 2006-08-25 2008-03-06 The Boeing Company Method and apparatus for determining a solution group of parts in an assembly
JP5029070B2 (ja) 2007-03-02 2012-09-19 日本電気株式会社 集積回路のレイアウト設計支援装置、方法、及びプログラム
US9317494B2 (en) * 2007-04-03 2016-04-19 Sap Se Graphical hierarchy conversion
JP5211338B2 (ja) * 2007-04-27 2013-06-12 コクヨ株式会社 データ管理装置及びそのプログラム
KR100896801B1 (ko) * 2007-05-23 2009-05-11 성균관대학교산학협력단 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체
US8086980B2 (en) 2008-02-15 2011-12-27 International Business Machines Corporation Efficient power region checking of multi-supply voltage microprocessors
JP5373304B2 (ja) * 2008-03-28 2013-12-18 株式会社日立情報通信エンジニアリング 半導体集積回路配置プログラム及び方法
US8219959B2 (en) 2009-07-24 2012-07-10 Lsi Corporation Generating integrated circuit floorplan layouts
US8966396B2 (en) * 2011-01-14 2015-02-24 Apple Inc. Information management with non-hierarchical views
US8261226B1 (en) * 2011-07-20 2012-09-04 International Business Machines Corporation Network flow based module bottom surface metal pin assignment
US8723268B2 (en) * 2012-06-13 2014-05-13 Synopsys, Inc. N-channel and P-channel end-to-end finFET cell architecture with relaxed gate pitch
US8533647B1 (en) * 2012-10-05 2013-09-10 Atrenta, Inc. Method for generating an integrated and unified view of IP-cores for hierarchical analysis of a system on chip (SoC) design
US9424307B2 (en) * 2012-10-11 2016-08-23 Scott E. Lilienthal Multivariate data analysis method
US8893073B2 (en) * 2012-12-27 2014-11-18 Synopsys, Inc. Displaying a congestion indicator for a channel in a circuit design layout
US10042911B2 (en) * 2013-07-30 2018-08-07 International Business Machines Corporations Discovery of related entities in a master data management system

Also Published As

Publication number Publication date
US20170091367A1 (en) 2017-03-30
US9064082B2 (en) 2015-06-23
KR20190135575A (ko) 2019-12-06
WO2014105802A1 (en) 2014-07-03
KR102103685B1 (ko) 2020-04-22
US20140189617A1 (en) 2014-07-03
JP2016503921A (ja) 2016-02-08
KR102055035B1 (ko) 2019-12-11
US9552450B2 (en) 2017-01-24
DE112013005820T5 (de) 2015-09-24
JP2018060569A (ja) 2018-04-12
US20150026656A1 (en) 2015-01-22
JP6254190B2 (ja) 2017-12-27
US8893073B2 (en) 2014-11-18
US10248751B2 (en) 2019-04-02
US20150254388A1 (en) 2015-09-10
KR20150100857A (ko) 2015-09-02

Similar Documents

Publication Publication Date Title
JP6534436B2 (ja) 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新
JP3710710B2 (ja) Icレイアウトにおけるポリゴン表現
JPH07334549A (ja) Cadシステムにおける寸法自動記入方法および装置
CN107239588A (zh) 集成电路设计的定制布局
US10817639B1 (en) Transparent hierarchical routing in an integrated circuit design
US8510702B2 (en) Interactive routing editor with symbolic and geometric views for integrated circuit layout
KR101495986B1 (ko) 더블 패터닝 기술을 위한 rc 코너해
AU2020221451A1 (en) Generating technical drawings from building information models
JP2005202928A (ja) レイアウト処理装置、レイアウト処理方法、及びプログラム
US8650529B2 (en) System and method for integrated circuit layout editing with asymmetric zoom views
US20230351087A1 (en) Using machine trained network during routing to modify locations of vias in an ic design
WO2006137119A1 (ja) フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US8711177B1 (en) Generation, display, and manipulation of measurements in computer graphical designs
JP5397901B2 (ja) 回路情報管理装置、その方法、及びプログラム
JPH10124567A (ja) 半導体デバイス設計支援装置
US9026974B2 (en) Semiconductor integrated circuit partitioning and timing
US20060076547A1 (en) Three-dimensional viewing and editing of microcircuit design
CN116956810A (zh) 布线方法及装置、计算装置和存储介质
TW202336631A (zh) 基於預測製造輪廓計算及顯示積體電路設計中的預測重疊形狀
CN116629217A (zh) 工艺文件的处理方法、电子设备及存储介质
JPH10334132A (ja) 回路基板設計方法および回路基板設計方法を実現するコンピュータプログラムを記録した記録媒体並びに回路基板設計装置
Jambor et al. A Trapezoidal Approach to Corner Stitching Data Structures for Arbitrary Routing Angles
JP2015215781A (ja) 設計支援方法、設計支援プログラム、および設計支援装置
JP2009134335A (ja) パネル基板データ検証システム及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181127

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: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190528

R150 Certificate of patent or registration of utility model

Ref document number: 6534436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250