(57)【要約】      （修正有）【課題】回路設計のフロアプランを作成し、編集し、見るための方法および装置を提供する。【解決手段】ユーザは、回路設計レイアウトにおいて、推論ポイントにおいてグラフィカル操作を実行することができる。推論ポイントの位置は、回路設計レイアウトにおける既存のグラフィカルオブジェクトに基いて判断される。方法は、回路設計レイアウトの修正に応答して、回路設計レイアウトにおいて輻輳インジケータを実質的に即時に更新する。また、ブロックまたはパーティションのサイズまたは形状の変更に応答して、ブロックまたはパーティションのピン位置を実質的に即時に更新する。さらに、ユーザが、論理的階層に基き、さらに電圧ドメイン、パワードメインまたはクロックドメインのような少なくとも１つのさらなる属性タイプに基いて、回路設計レイアウトを見ることを可能にする。【選択図】なし【特許請求の範囲】
【請求項１】
コンピュータのグラフィカルユーザインターフェイス（ＧＵＩ）において操作を実行するための方法であって、
第１のユーザ入力を受けることを含み、前記第１のユーザ入力は、回路設計レイアウトにおいて第１のグラフィカルオブジェクトと関連付けられる第１のポイントを選択して第１の推論ポイントとし；前記方法はさらに、
第２のユーザ入力を受けることを含み、前記第２のユーザ入力は、前記回路設計レイアウトにおいて第２のグラフィカルオブジェクトと関連付けられる第２のポイントを選択して第２の推論ポイントとし；前記方法はさらに、
前記回路設計レイアウトにおいて第３の推論ポイントを表示することを含み、前記第３の推論ポイントは、前記第１の推論ポイントから延在する第１の線と前記第２の推論ポイントから延在する第２の線との交点に位置し；前記方法はさらに、
第３のユーザ入力を受けることを含み、前記第３のユーザ入力は前記回路設計レイアウトにおいて前記第３の推論ポイントを選択し；前記方法はさらに、
前記コンピュータの前記ＧＵＩ、前記第３の推論ポイントに基いて、前記回路設計レイアウトにおいて前記操作を実行することを含む、方法。
【請求項２】
前記実行することは前記第３の推論ポイントからのオフセットにおいて前記操作を実行することを含む、請求項１に記載の方法。
【請求項３】
前記実行することの前に、前記方法は前記ＧＵＩを介して第４のユーザ入力を受けることを含み、前記第４のユーザ入力は前記オフセットを指定する、請求項２に記載の方法。
【請求項４】
回路設計レイアウトにおいてチャネルに対する輻輳インジケータを表示するための方法であって、
コンピュータのグラフィカルユーザインターフェイス（ＧＵＩ）において、前記チャネルに対する前記輻輳インジケータを表示することを含み、前記輻輳インジケータは、前記回路設計レイアウト上において輻輳分析を実行することに基いて判断され；前記方法はさらに、
前記回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることを含み、前記修正することは、前記チャネルの幅を新たな幅値に変更し；前記方法はさらに、
前記新たな幅値に基いて前記チャネルに対する更新された容量値を判断することを含み、前記更新された容量値は、前記チャネルにおいて利用可能な配線資源の量に対応し；前記方法はさらに、
前記修正された回路設計レイアウト上において前記輻輳分析を実行することなく、前記更新された容量値に基いて、更新された輻輳インジケータを判断することと；
前記コンピュータの前記ＧＵＩにおいて、前記チャネルに対する前記更新された輻輳インジケータを表示することとを含む、方法。
【請求項５】
前記更新された輻輳インジケータを表示することは、
前記チャネルを通って経路付けられると期待される配線の数に対応する要求値を表示することと；
前記更新された容量値を表示することとを含む、請求項４に記載の方法。
【請求項６】
前記更新された輻輳インジケータを表示することは、
前記更新された容量値に基いて、更新された色を判断することと；
前記回路設計レイアウトにおいて、前記チャネルに対応する領域を、前記更新された色で表示することとを含む、請求項４に記載の方法。
【請求項７】
コンピュータのグラフィカルユーザインターフェイス（ＧＵＩ）においてピン位置を更新するための方法であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上における第１のピン位置の組に位置し、前記方法は、
前記回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることと；
前記エッジ部分は長さが増大したと判断されたことに応答して、前記コンピュータの前記ＧＵＩにおいて前記第１のピン位置の組を変更しないことと；
前記エッジ部分は長さが減少したが、前記第１のピン位置の組を維持するよう十分に長い、と判断されたことに応答して、前記コンピュータの前記ＧＵＩにおいて前記第１のピン位置の組を変更しないことと；
前記エッジ部分は長さが減少し、前記第１のピン位置の組を維持するよう十分には長くない、と判断されたことに応答して、近隣の信号ピン間の距離を減少させて第２のピン位置の組を得ることとを含み、前記減少させることは、１つ以上の電源ピンの位置、信号ピンの相対的な順序、および１つ以上の固定されたピンの位置を維持し、前記第２のピン位置の組は、前記修正された回路設計レイアウト上において概略配線を実行することなく得られ；前記方法はさらに、
前記ピンの組を前記コンピュータの前記ＧＵＩにおいて前記第２のピン位置の組に表示することを含む、方法。
【請求項８】
前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項７に記載の方法。
【請求項９】
前記減少させることは、前記回路設計レイアウトにおいて配線トラック位置に１つ以上のピンをはめることを含む、請求項７に記載の方法。
【請求項１０】
２つ以上のピンが同じ配線トラック位置にはまったと判断されたことに応答して、ピン位置を、前記２つ以上のピンの各々ごとに、異なる金属層において割当てる、請求項９に記載の方法。
【請求項１１】
コンピュータのグラフィカルユーザインターフェイス（ＧＵＩ）において回路設計を表示するための方法であって、
前記コンピュータの前記ＧＵＩにおいて回路設計の第１のビューを表示することを含み、前記第１のビューは、回路素子を前記回路設計の論理的階層に従って階層的ブロックにグループ化し、前記回路設計における少なくともいくつかの回路素子は、１つ以上の属性タイプに対応する１つ以上の属性値と関連付けられ；前記方法はさらに、
属性タイプに基いて前記回路設計を表示する要求を受けたことに応答して、前記回路設計の第２のビューを生成することを含み、前記第２のビューは、回路素子を、前記属性タイプに対して同じ属性値を有するブロックにグループ化し；前記方法はさらに、
前記コンピュータの前記ＧＵＩにおいて前記回路設計の前記第２のビューを表示することを含む、方法。
【請求項１２】
前記属性タイプはパワードメインであり、前記生成することは、各回路素子を、前記回路素子の前記パワードメインに基いて、ブロックに割当てることを含む、請求項１１に記載の方法。
【請求項１３】
前記第２のビューにおけるブロックは、パワードメイン階層に対応する階層構造を有する、請求項１２に記載の方法。
【請求項１４】
前記属性タイプはクロックドメインであり、前記生成することは、各回路素子を、前記回路素子の前記クロックドメインに基いて、ブロックに割当てることを含む、請求項１１に記載の方法。
【請求項１５】
前記第２のビューにおけるブロックは、クロックドメイン階層に対応する階層構造を有する、請求項１４に記載の方法。
【請求項１６】
前記属性タイプは電圧ドメインであり、前記生成することは、各回路素子を、前記回路素子の前記電圧ドメインに基いて、ブロックに割当てることを含む、請求項１１に記載の方法。
【請求項１７】
前記第２のビューにおけるブロックは、電圧ドメイン階層に対応する階層構造を有する、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明者：ラシングカー，バルクリシュナ・アール(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)。
【０００２】
背景
技術分野
この開示は電子設計自動化（ＥＤＡ）に関する。より具体的には、この開示はＥＤＡに対するフロアプランニングツールに対するグラフィカルユーザインターフェイス（ＧＵＩ）に関する。
【背景技術】
【０００３】
関連技術
集積回路（ＩＣ）設計は、ＩＣの構成要素および配線を視覚的に表す概略図の使用を伴う。ＥＤＡでは、フロアプランは、典型的には、ＩＣにおいて少なくとも主な機能ブロックの暫定的サイズおよび暫定的位置を与える概略図を指す。
【０００４】
フロアプランニングツールを用いることにより、ＩＣに対するフロアプランを作成し、編集し、見ることができる。回路設計者がフロアプランを作成しながら行なう判断は、後のＥＤＡ段階に実質的な影響を及ぼし得る。必要なのは、回路設計者が、全体的な回路設計時間を低減し、および／または全体的な結果の質（ＱｏＲ）を改善するフロアプランを作成することを可能にする、ユーザフレンドリーなフロアプランニングツールである。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
ここに記載されるいくつかの実施の形態は、回路設計のフロアプランを作成し、編集し、見るためのシステムおよび技術を与える。いくつかの実施の形態によれば、ユーザはグラフィカル操作を推論ポイントにおいて実行することができる。ある実施の形態（たとえばＧＵＩ）は、第１のユーザ入力を受けることができ、第１のユーザ入力は、回路設計レイアウトにおいて第１のグラフィカルオブジェクトと関連付けられる第１のポイントを選択して第１の推論ポイントとする。次に、この実施の形態は、第２のユーザ入力を受けることができ、第２のユーザ入力は、回路設計レイアウトにおいて第２のグラフィカルオブジェクトと関連付けられる第２のポイントを選択して第２の推論ポイントとする。この実施の形態は、次いで、回路設計レイアウトにおいて第３の推論ポイントを表示することができ、第３の推論ポイントは、第１の推論ポイントから延在する第１の線と第２の推論ポイントから延在する第２の線との交点に位置する。次に、この実施の形態は、第３のユーザ入力を受けることができ、第３のユーザ入力は回路設計レイアウトにおいて第３の推論ポイントを選択する。この実施の形態は、回路設計レイアウトにおいて、第３の推論ポイントに基いて、操作を実行することができる。いくつかの実施の形態では、この操作は、第３の推論ポイントからのオフセットにおいて実行することができる。具体的には、操作を実行する前に、操作が実行されるよう所望される第３の推論ポイントからのオフセットを指定する第４のユーザ入力を受けることができる。
【０００６】
ここに記載されるいくつかの実施の形態は、回路設計レイアウトにおいてチャネルに対する輻輳インジケータを表示するためのシステムおよび技術を与える。具体的には、ある実施の形態は、（たとえばコンピュータのＧＵＩにおいて）チャネルに対する輻輳インジケータを表示することができ、輻輳インジケータは、回路設計レイアウト上において輻輳分析を実行することに基いて（たとえば回路設計レイアウト全体上において概略配線を実行し、次いで、概略配線解に基いてチャネルに対する輻輳インジケータを判断することによって）判断される。次に、この実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができ、修正することは、チャネルの幅を新たな幅値に変更する。この実施の形態は、次いで、新たな幅値に基いてチャネルに対する更新された容量値を判断することができ、更新された容量値は、チャネルにおいて利用可能な配線資源の量に対応する。次に、この実施の形態は、修正された回路設計レイアウト上において輻輳分析を実行することなく（たとえば修正された回路設計レイアウト全体上において概略配線を実行することなく）、更新された容量値に基いて、更新された輻輳インジケータを判断することができる。最後に、この実施の形態は、（たとえばコンピュータのＧＵＩにおいて、）チャネルに対する更新された輻輳インジケータを表示することができる。いくつかの実施の形態においては、更新された輻輳インジケータを表示することは、チャネルを通って経路付けられると期待される配線の数に対応する要求値を表示することと；更新された容量値を表示することとを含む。いくつかの実施の形態においては、更新された輻輳インジケータを表示することは、更新された容量値に基いて、更新された色を判断することと；回路設計レイアウトにおいて、チャネルに対応する領域を、更新された色で表示することとを含む。
【０００７】
ここに記載されるいくつかの実施の形態は、ＧＵＩにおいてピン位置を実質的に即時に更新するためのシステムおよび技術であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上における第１のピン位置の組に位置する。この開示において、「実質的に即時の」および「実質的に即時に」という表現は、ＧＵＩが非常に応答性がある、とＧＵＩを用いるユーザが感じるほど十分に小さい時間量を指す。具体的には、ある実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができる。エッジ部分が長さにおいて増大している場合、この実施の形態はＧＵＩにおいて第１のピン位置の組を変更しない。エッジ部分は長さが減少したが、第１のピン位置の組を維持するよう十分に長い場合には、この実施の形態はＧＵＩにおいて第１のピン位置の組を変更しない。しかしながら、エッジ部分は長さが減少し、第１のピン位置の組を維持するよう十分には長くない場合には、この実施の形態は近隣の信号ピン間の距離を減少させて第２のピン位置の組を得、減少させることは、１つ以上の電源ピンの位置、信号ピンの相対的な順序、および１つ以上の固定されたピンの位置を維持する。更新されたピン位置（つまり第２のピン位置の組）が判断されると、この実施の形態は、ピンの組をＧＵＩにおいて第２のピン位置の組に表示することができる。この実施の形態がピン位置を実質的に即時に更新することができるのは、この実施の形態が、第２のピン位置の組を、修正された回路設計レイアウト上において概略配線を実行することなく判断するからであることに注目されたい。いくつかの実施の形態では、近隣の信号ピン間の距離を減少させることは、エッジ部分の減少された長さをエッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む。いくつかの実施の形態では、減少させることは、回路設計レイアウトにおいて配線トラック位置に１つ以上のピンをはめる（snap）ことも含む。いくつかの実施の形態では、２つ以上のピンが同じ配線トラック位置にはまったと判断された場合には、この実施の形態は、ピン位置を、２つ以上のピンの各々ごとに、異なる金属層において割当てる。
【０００８】
いくつかの実施の形態は、ユーザにより指定された属性タイプ（たとえばパワードメイン、クロックドメインなど）に基いて回路設計を表示するためのシステムおよび技術を与
える。回路設計における回路素子は、１つ以上の属性タイプ（たとえばパワードメインまたはクロックドメイン）に対応する１つ以上の属性値（たとえばパワードメイン識別子またはクロックドメイン識別子）と関連付けられる。具体的には、ある実施の形態は、ＧＵＩにおいて回路設計の第１のビューを表示することができ、第１のビューは、回路素子を回路設計の論理的階層に従って階層的ブロックにグループ化する。次に、回路設計を属性タイプに基いて表示する要求を受けたことに応答して、この実施の形態は、回路設計の第２のビューを生成することができ、第２のビューは、回路素子を、属性タイプに対して同じ属性値を有するブロックにグループ化する。この実施の形態は、ＧＵＩにおいて回路設計の第２のビューを表示することができる。属性タイプがパワードメインである場合には、第２のビューを生成することは、各回路素子を、回路素子のパワードメインに基いて、ブロックに割当てることを含む。この場合、第２のビューにおけるブロックは、パワードメイン階層に対応する階層構造を有し得る。属性タイプがクロックドメインである場合には、第２のビューを生成することは、各回路素子を、回路素子のクロックドメインに基いて、ブロックに割当てることを含む。
【図面の簡単な説明】
【０００９】
【図１Ａ】ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。
【図１Ｂ】ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。
【図１Ｃ】ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。
【図１Ｄ】ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。
【図１Ｅ】ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。
【図１Ｆ】ここに記載されるいくつかの実施の形態に従ってフロアプランニングツールのＧＵＩにおいてグラフィカル操作を実行するためのプロセスを示すフローチャートを呈示する。
【図２Ａ】ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをＧＵＩにおいてどのように与えることができるかの例を示す。
【図２Ｂ】ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをＧＵＩにおいてどのように与えることができるかの例を示す。
【図２Ｃ】ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをＧＵＩにおいてどのように与えることができるかの例を示す。
【図２Ｄ】ここに記載されるいくつかの実施の形態に従って輻輳インジケータを表示するためのプロセスを示すフローチャートを呈示する。
【図３Ａ】ここに記載されるいくつかの実施の形態に従ってＧＵＩにおいてピン位置を更新するためのプロセスを示すフローチャートを呈示する。
【図３Ｂ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図３Ｃ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図３Ｄ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図３Ｅ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図３Ｆ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図３Ｇ】ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【図４Ａ】ここに記載されるいくつかの実施の形態に従って、どのようにしてＧＵＩによってユーザは回路設計の論理的階層を見ることができるかを示す。
【図４Ｂ】ここに記載されるいくつかの実施の形態に従ってパワードメイン階層に基いたビューを呈示する。
【図４Ｃ】ここに記載されるいくつかの実施の形態に従ってクロックドメイン階層に基いたビューを呈示する。
【図４Ｄ】ここに記載されるいくつかの実施の形態に従ってＧＵＩにおいて回路設計を表示するためのプロセスを示すフローチャートを呈示する。
【図５】この開示において記載されるいくつかの実施の形態に従うコンピュータシステムを示す。
【発明を実施するための形態】
【００１０】
詳細な記載
以下の記載は、任意の当業者がこの発明をなし、および用いることを可能にするよう呈示され、特定の適用例およびその要件の文脈において与えられる。開示された実施の形態へのさまざまな修正が当業者には容易に明らかになり、ここに規定された一般的な原理は、この発明の精神および範囲から逸脱せずに、他の実施の形態および適用例に適用されてもよい。したがって、この発明は示される実施の形態に限定されず、ここに開示される原理および特徴と整合する最も広い範囲を与えられることになっている。
【００１１】
電子設計自動化（ＥＤＡ）フローの概観
ＥＤＡフローは回路設計を作成するために用いることができる。回路設計が最終決定されると、それは、製造、パッケージングおよび組立を経て、集積回路チップを生産することができる。ＥＤＡフローは複数ステップを含むことができ、各ステップは１つ以上のＥＤＡソフトウェアツールを用いることを必要とし得る。いくつかのＥＤＡステップおよびソフトウェアツールが後述される。ＥＤＡステップおよびソフトウェアツールのこれらの例は例示の目的のみであり、実施の形態を開示された形式に限定するようには意図されない。
【００１２】
いくつかのＥＤＡソフトウェアツールは、回路設計者が、彼らが実現することを望む機能を記述することを可能にする。これらのツールは、さらに、回路設計者が、ｗｈａｔ−ｉｆプラニングを実行して、機能改善、コストチェックなどを行なうことを可能にする。論理設計および機能検証中に、ＨＤＬ（ハードウェア記述言語）、たとえばＳｙｓｔｅｍＶｅｒｉｌｏｇなど、システムにおけるモジュールに対するコードを書込むことができ、設計を、機能的な精度があるかについて調べることができ、たとえば、設計を調べて、それが正確な出力を生じさせることを確実にすることができる。
【００１３】
実現に対する合成および設計中に、ＨＤＬコードは、１つ以上のＥＤＡソフトウェアツールを用いて、ネットリストに変換することができる。さらに、ネットリストは目標技術に対して最適化することができ、テストを設計および実施して、完成したチップを検査することができる。ネットリスト検証中、ネットリストは、タイミング制約とのコンプライアンスおよびＨＤＬコードとの対応について調べることができる。
【００１４】
設計プラニング中において、チップに対する全体的なフロアプランを構築して、タイミングおよびパワーについて分析することができる。物理的な実現中においては、回路素子をレイアウト（配置）において位置決めすることができ、電気的に結合することができる
（配線）。
【００１５】
分析および抽出中には、回路の機能をトランジスタレベルにおいて検証することができ、寄生成分を抽出することができる。物理的な検証中においては、設計を調べて、製造、電気的な問題、リソグラフィの問題および回路系に対する正確さを保証することができる。
【００１６】
分解能向上中においては、幾何学上の操作をレイアウト上において実行して設計の製造性を改善することができる。マスクデータ準備中においては、設計を「テープアウト」して、製造中に用いられるマスクを形成することができる。
【００１７】
動的な推論ポイント
レイアウトデータの手動作成および編集は実現プロセスの重要な一部であり、その作業をする設計者の生産性は設計チームにとって重要である。対話式に操作される必要のある多くのグラフィカルオブジェクトがあり、グラフィカルオブジェクトは互いに対して精密に位置決めする必要がある。関与するデータのサイズは、大きなマルチモニタ環境ででさえ、意味のある文脈を与えるズームレベルにおいてペン／マウスに基いた入力を用いてポイントを指定する際に、精度を難題とする。
【００１８】
従来は、オブジェクト作成および編集のためにポイントを指定するとき、ユーザは、固定されたグリッド、およびオブジェクトをはめることに依存していた。しかしながら、これは必要な制御を与えず、ポイントは、各次元において異なる参照ポイントに対して、または参照に対するなんらかの種類のオフセットで、指定されることを必要とする。ユーザにより作成されたルーラーをガイドラインとして用いることができるが、しかし、これは、ガイドラインおよびそれらが指定しているオブジェクトを編集するユーザにとってさらなる負担であり、生産性に影響を与える。既存のグラフィカルオブジェクトに対しては、従来の一次元の整列および分散タイプの関数に対するサポートは、複数の次元においてデータを操作する際にはあまり効率的ではなく、および使用するのに直観的ではなく、なぜならば、移動される参照およびオブジェクトの両方が選択されなければならないからである。
【００１９】
ここに記載されるいくつかの実施の形態は、近隣のグラフィカルオブジェクトの座標から推論される動的な参照ポイントに自動的に整列すること、および推論された動的な参照ポイントからの、ユーザにより指定されたオフセットを可能にすることによって、ディスプレイ上において既存のグラフィカルオブジェクトからの精密なオフセットで座標点の選択を容易にする、ユーザにより操作されるポインティングデバイスをＧＵＩに与える。これらの実施の形態は、フロアプランおよびレイアウト編集作業に対する、ユーザの生産性および正確性を著しく増大することができる。
【００２０】
各グラフィカルオブジェクトは、終点および中間点を有し、他のオブジェクトを位置決めするときに潜在的に参照として用いることができる、エッジ部分の組から構築されることが注目される。推論ポイントは自動的なガイドラインを与えて、編集されたオブジェクトをこれらの参照ポイントと整列させることを可能にする。さらに、これらのガイドラインの交点は、操作に対する参照ポイントであり得る位置である。これらの推論ポイントを組合せることによって、オフセットを指定するさらなる能力とともに、ユーザは、単純で能率化されたインターフェイスで、オブジェクトの相対的位置に対する非常に厳密な制御を与えられる。さらに、典型的には、レイアウトエディタの対話型ツールのすべてがデータを作成および編集するべくポイントの仕様を伴っているので、この一般的な対話モデルを一貫して、および普遍的に適用することにより、回路設計者の生産性を著しく改善することができる、強力で使いやすい環境を与えることができる。
【００２１】
ここに記載されるいくつかの実施の形態は、動的な推論ポイントおよびガイドラインの概念を拡張して、さらに、レイアウト編集に対してポイントを入力すると、オフセット情報がアクティブな推論ポイントに対して指定されることを可能にする（たとえば、アクティブな推論ポイントは、ユーザによってアクティブであるとして暗示的にまたは明示的に示されたポイントであり得る）。これらの実施の形態は、オブジェクトの構築および編集中に迅速かつ用い易い整列を与えるのみならず、それらのオブジェクトをこれらのガイドポイントに対して精密に位置決めすることもできる。これらの実施の形態は、さらに、ＧＵＩ機能が、適用例においてレイアウト作成および編集「ツール」のすべてに適用されることを可能にする、一般的で一貫したインターフェイスを与える。
【００２２】
一般に、オブジェクトの任意の終点（たとえば多角形の頂点）または中間点を用いて、編集操作のための整列または相対的位置決めのために参照ポイントを推論することができる。これらの推論された参照ポイント（それらはこの開示において時に「推論ポイント」と呼ばれる）は、ユーザによって編集および作成のツールのすべての内部から動的に識別される。推論ポイントは、ポイントまたはオブジェクトを位置決めする際に、動的なガイドラインが整列およびはめることに対して用いられていることを示唆する。複数の推論ポイントを指定するとき、これらのガイドラインは交点を作成し、その交点において新たな推論ポイントを推論する。ポイントは所与の作成／編集操作のために指定されるので、それらポイントも推論ポイントとして扱われる。
【００２３】
図１Ａ〜図１Ｅは、ここに記載されるいくつかの実施の形態に従って、どのように推論ポイントを用いて、回路設計レイアウトにブロックを配置することができるかの例を示す。グラフィカルオブジェクト１０２（それは論理的階層において回路ブロックに対応し得る）が、その右上コーナー部分がその移動のために参照ポイントとして用いられながら、移動されている。ユーザは、図１Ａにおいて示されるようなポインタを用いて、右上コーナー部分を選択して、右上コーナー部分がその移動のための参照ポイントであることを示すことができる。ユーザが、グラフィカルオブジェクト１０２を、グラフィカルオブジェクト１１２の底部右コーナー部分およびグラフィカルオブジェクト１１４の頂部左コーナー部分と整列する位置に配置することを望むと仮定する。ユーザは、ここに以下のように記載される実施の形態を用いて、この操作を実行することができる。
【００２４】
まず、ユーザは、ポインタを用いることによって、グラフィカルオブジェクト１１４の頂部左コーナー部分およびグラフィカルオブジェクト１１２の底部右コーナー部分に対応する推論ポイントを選択することができる。たとえば、ユーザが推論ポイント近くにポインタを移動し、（たとえばマウス上において左ボタンをクリックすることによって）選択入力を与えると、ＧＵＩは、推論ポイントにおいて視覚的なインジケータ（たとえば正方形）を配置して、推論ポイントが現在のＧＵＩ操作に対して選択されたことを示すことができる。図１Ｂは、ユーザが２つの中空正方形１０６および１０８を用いて示される推論ポイントを選択した後の表示を示す。
【００２５】
次に、ユーザは、グラフィカルオブジェクト１１４の頂部左コーナー部分およびグラフィカルオブジェクト１１２の底部右コーナー部分と整列するポイントの近くにある位置にポインタを移動することができる。ポインタがこのポイントの近くにあるとき、ＧＵＩは、推論ポイントから（つまり正方形１０６および１０８から）延在し、図１Ｃにおいて影を付けられた正方形１１０によって示される推論ポイントにおいて交差する点線を表示することができる。点線の交点はアクティブな推論ポイントであり（アクティブな推論ポイントは、ＧＵＩ操作を実行するために、たとえばブロック１０２をそのポイントに移動するために用いることができる推論ポイントである）、この事実は、（たとえば図１Ｃにおいて示されるように正方形１１０に影を付けることによって）推論ポイントを視覚的にハ
イライト表示することによって示すことができる。
【００２６】
ユーザは、アクティブな推論ポイントを直接用いてグラフィカルオブジェクト１０２を位置決めすることができ、またはアクティブな推論ポイントに関してオフセットを入力するオプションを有する（たとえば、ＧＵＩはポップアップウィンドウをテキスト入力フィールドとともに呈示して、ユーザがオフセットを入力することを可能にしてもよく、または、ＧＵＩは、ユーザがオフセットを指定することができる永久的なテキスト入力フィールドを有してもよい）。図１Ｄは、ユーザが直接アクティブな推論ポイントを用いてグラフィカルオブジェクト１０２を位置決めする際の結果を示す（図１Ａにおいて移動のために参照ポイントとして選択されたグラフィカルオブジェクト１０２の頂部右コーナー部分は、ここではアクティブな推論ポイント１１０に位置することが注目される）。図１Ｅは、ユーザが（−１０、−１０）のオフセットを指定し、グラフィカルオブジェクト１０２をそのオフセットに配置したときの結果を示す。このオフセットタプルにおける１番目の数はオフセットを（たとえば長さ単位においてピクセル数などとして）第１の次元、たとえばＸ軸に沿って示し、このオフセットにおける２番目の数はオフセットを（たとえば長さ単位においてピクセル数などとして）第２の次元、たとえばＹ軸に沿って示す。
【００２７】
推論ポイントは、一般に、任意のＧＵＩ操作を実行するために用いることができる。たとえば、推論ポイントは多角形を描くために用いることができる。具体的には、多角形を描く間、ユーザが既に作成した多角形における頂点を用いて、ガイドラインを延長し、次いで、それらの交点を、多角形の次の頂点を作成することができる推論ポイントとして用いることができる。他の例として、推論ポイントを用いて、既存の矩形ブロックよりもある精密な量だけ大きいかまたは小さい矩形ブロックを作成することができる。（なんらかの長さ単位、たとえばｎｍにおいて）寸法１１３×２１７の矩形ブロックがレイアウトに存在し、既存の矩形ブロックを取り囲む寸法１２３×２２７の矩形ブロックがレイアウトにおいて作成されることが所望されると仮定する。ここに記載されるいくつかの実施の形態はこの操作を容易に実行するために用いることができる。ユーザは、既存の矩形ブロックの頂部左コーナー部分を推論ポイントとして選択し、（−１０、１０）のオフセットを与えて他の推論ポイントＰ１を作成することができる。次に、ユーザは、既存の矩形ブロックの底部右コーナー部分を推論ポイントとして選択し、（１０、−１０）のオフセットを与えてさらに他の推論ポイントＰ２を作成することができる。次いで、ユーザは、推論ポイントＰ１およびＰ２を用いて、所望の矩形ブロックを作成することができる。
【００２８】
図１Ｆは、ここに記載されるいくつかの実施の形態に従ってフロアプランニングツールのＧＵＩにおいてグラフィカル操作を実行するためのプロセスを示すフローチャートを呈示する。このプロセスは、第１のユーザ入力を（たとえばＧＵＩのポインタを介して）受けることで開始し、第１のユーザ入力は、回路設計レイアウトにおいて第１のグラフィカルと関連付けられる第１のポイント（たとえば第１の多角形の第１の頂点）を選択して第１の推論ポイントとする（操作１５２）。次に、第２のユーザ入力を（たとえばＧＵＩのポインタを介して）受け、第２のユーザ入力は、回路設計レイアウトにおいて第２のグラフィカルオブジェクトと関連付けられる第２のポイント（たとえば第２の多角形の第２の頂点）を選択して第２の推論ポイントとする（操作１５４）。ＧＵＩは、次いで、回路設計レイアウトにおいて第３の推論ポイント（たとえば正方形１１０に対応する推論ポイント）を表示することができ、第３の推論ポイントは、第１の推論ポイントから延在する第１の線と第２の推論ポイントから延在する第２の線との交点に位置する（操作１５６）。次に、第３のユーザ入力を（たとえばＧＵＩのポインタを介して）受け、第３のユーザ入力は回路設計レイアウトにおいて第３の推論ポイントを選択する（操作１５８）。ＧＵＩは、次いで、第３の推論ポイントに基いて、回路設計レイアウトにおいて操作を実行することができる（操作１６０）。具体的には、グラフィカル操作は、第３の推論ポイントまたは第３の推論ポイントからのオフセットにおいて実行することができる。後者の場合で
は、このプロセスは、オフセットを指定する第４のユーザ入力を（グラフィカル操作を実行する前に）受けることができる。
【００２９】
一旦、推論ポイントが作成されると、それを、他の推論ポイントを作成する基礎として用いることができる。たとえば、多角形頂点Ｖ１およびＶ２から延在するガイドラインの交点において推論ポイントＰ１が作成されると仮定する。ここで、推論ポイントＰ２を推論ポイントＰ１および第３の多角形頂点Ｖ３から延在するガイドラインの交点において作成することができる。加えて、推論ポイントＰ３を多角形頂点Ｖ４およびＶ５の交点において作成することができ、第４の推論ポイントＰ４を推論ポイントＰ１およびＰ３から延在するガイドラインの交点において作成してもよい。
【００３０】
ここに記載される実施の形態は以下の利点を有する：（１）実施の形態は、依然として高度の精度を与えながら非常に高いズームレベルで編集することを可能にし、（２）実施の形態は、ポイントをエディタにおいて指定するときに相対的位置決めを制御するための強力で使いやすい機構を与えることによって、インターフェイスを合理化し単純化し、（３）実施の形態は、編集機能のすべてに整列および相対的位置決めに対する自動的なサポートを埋込むことによって、適用例においてさらなるクリックまたは複数の編集ツールの使用を必要とすることなく、顧客の生産性を改善し、および（４）実施の形態は、相対的位置決めが重要である２Ｄまたは３Ｄデータの任意の対話型の編集とともに用いることができる。
【００３１】
Ｗｈａｔ−ｉｆ輻輳
ＩＣを配線することは、所望の機能を実行する回路を形成するよう集積回路素子を電気的に接続する金属配線の経路を判断することを伴う。大規模ＩＣチップは、典型的には配線ソフトウェアを用いて配線されるが、それは、典型的には「配線システム」または「ルータ」と呼ばれる。
【００３２】
配線プロセスは典型的には３つの段階：概略配線、トラック割当、および詳細配線を有する。しかしながら、プロセスにおける段階数は３より多くも少なくもあり得る。概略配線段階では、システムは、配線のための詳細配線形状を作成しない。代りに、システムは、配線輻輳を最小限にし、全体的な配線長を最小限にするよう、ネットが通るべきマルチピンネットおよび領域のトポロジーを判断する。配線輻輳が回路設計の領域において生じるのは、配線資源（たとえば配線トラックの数）がその領域に対する配線要求（たとえば、その領域を通って配線される必要のある配線の数）を満たすのに不十分なときである。トラック割当段階では、システムは配線をトラックに割当てることによって概略配線プランを改善する。トラック割当は配線に対する詳細な経路を生成するかもしれないが、この段階での配線解は、デザインルールのすべてを満たさないかもしれず、なぜならば、この段階は典型的には次の段階、すなわち詳細配線より単純な配線モデルを用いるからであることに注意されたい。最後に、詳細配線段階では、システムは、各配線に対して、厳密な経路および具体的な形状を作成する。デザインルールのすべてが典型的にはこの段階において用いられて、経路付けられた配線がデザインルールのいずれも破らないことを保証することに注目されたい。
【００３３】
配線経路付けは、典型的には回路設計フローにおいて複数ステップで実行される。たとえば、フロアプランニング中において、概略配線を実行して、所与のフロアプランが回路設計フローにおいて実際の配線ステップ中に配線輻輳を引起こすことが予想されるかどうかを調べることができる（フロアプランニング中において用いられる概略配線はおおよそであり得、つまり、それは、実際の配線ステップ中に用いられる概略配線ステップほど正確ではないことがあり得る。）回路ブロックを抽出して不必要な詳細を隠すことができ、それによって、配線プロセスを促進する。具体的には、フロアプランニングツールは、マ
クロおよび標準セルをブロックとして表すことができる。各マクロおよび標準セルは、典型的にはそれらのネット割当に基いて電気的にともに接続される必要のある複数のピンを有する。
【００３４】
次いで、概略配線解（つまり概略配線プロセスの出力）を用いて、回路ブロックのピンが配線を用いて電気的に接続されると配線輻輳が生じると予想されるかどうかを判断することができる。輻輳が回路設計の１つ以上の領域において生じそうであることを概略配線解が示す場合、次いで、ユーザは、フロアプランニングツールを用いて、ブロック／ハードマクロ／パーティションをサイズ変更および／または移動して、配線輻輳を軽減することができる。概略配線に基いた輻輳分析は、この開示においては例示目的のみのために用いられ、ここに記載される実施の形態の範囲を制限するようには意図されない。たとえば配置に基いた統計モデルおよび仮想配線に基いた技術など、他の技術を用いて輻輳を判断することもできる。
【００３５】
輻輳の判断のために用いられる技術にかかわらず、従来の方策は、修正されたフロアプランに対する輻輳の判断を、それらが最初のフロアプランを処理したのと本質的に同じ方法で、その修正されたフロアプランを処理することによって行なう。その結果、従来の方策では、フロアプランを輻輳なしにするために１つ以上のチャネルをサイズ変更するプロセスは、ブロック／ハードマクロ／パーティションサイズを変更または移動することと、修正されたフロアプラン上において（たとえば修正されたフロアプランに対する更新された概略配線解を判断することによって）本格的な輻輳計算を実行することとを、複数回、時間をかけて反復して、修正されたフロアプランに輻輳がないかどうか判断することを伴う。
【００３６】
従来の方策とは対照的に、ここに記載されるいくつかの実施の形態は、フロアプランに対する修正が輻輳問題を解決するかどうかについて、ユーザに実質的に即時のフィードバックを行なう。具体的には、ここに記載されるいくつかの実施の形態が実質的に即時のフィードバックを行なうのは、一部には、これらの実施の形態は、修正されたフロアプラン上において概略配線（または同様の資源集約的なプロセス）を実行することによって修正が輻輳上に有する影響を判断するのではないからである。
【００３７】
図２Ａ〜図２Ｃは、ここに記載されるいくつかの実施の形態に従って配線輻輳についての実質的に即時のフィードバックをＧＵＩにおいてどのように与えることができるかの例を示す。図２Ａでは、チャネルＡおよびＢは、フロアプランオブジェクト２０２と２０４との間に存在する配線資源を表す。チャンネルＡおよびＢは図２Ａにおいて垂直方向において配線を経路付けるために用いることができる。同様に、チャネルＣはフロアプランオブジェクト２０４と２０６との間に存在し、水平方向において配線を経路付けるために用いることができる。
【００３８】
図２Ａに示されるフロアプランは、概略配線ツールに与えることができ、概略配線の結果を用いて、チャネルＡ、ＢおよびＣの要求および容量を判断することができる。チャネルの要求値は、チャネルを通って経路付けされると期待される配線の数を表すことができ、容量値は、チャネルを通って経路付けすることができる配線の数を表すことができる。要求値および容量値を他の単位で表すことができることは当業者に明らかである。
【００３９】
各チャネルに対する要求および容量を用いて、ＧＵＩにおいて示すことができる輻輳インジケータを判断することができる。いくつかの実施の形態では、チャネルに対する要求値と容量値との間の比は、ＧＵＩにおいて比として示すことができる。たとえば、図２Ａは、チャネルＡに対する要求値および容量値がそれぞれ９０および１５０であることを示す。これらの値を用いて、ＧＵＩにおいて示される輻輳インジケータ「９０／１５０」を
生成することができる。同様に、チャネルＢおよびＣに対する輻輳インジケータはそれぞれ「６０／１３０」および「５０／３０」である。各チャネルにおける両側矢印は、チャネル幅が測定される方向を示す。図２Ａ〜図２Ｃにおいて示される輻輳インジケータは例示目的のみに対しており、ここに開示される実施の形態の範囲を限定するようには意図されない。一般に、輻輳インジケータは、チャネルにおける輻輳の程度を視覚的に表す任意のインジケータであり得る。いくつかの実施の形態では、チャネルの輻輳は色コード化され得、たとえば、緑色は低い輻輳に、黄色は中程度の輻輳に、赤色は高い輻輳に対応し得る。
【００４０】
チャネルに対する輻輳インジケータがしきい値（たとえば１．０または０．９など）より大きい場合、ユーザは、輻輳を軽減するように１つ以上のフロアプランオブジェクトをサイズ変更および／または移動するよう判断してもよい。たとえば、図２Ａでは、チャネルＡおよびＢに対する輻輳インジケータは、これらのチャネルが輻輳しないことを示す。しかしながら、チャネルＣに対する輻輳インジケータは、このチャネルが輻輳することを示す。
【００４１】
フロアプランにおいて輻輳を軽減するために、ユーザはフロアプランオブジェクトをサイズ変更および／または修正してもよい。フロアプランへの１つ以上の修正の検出に応答して、ここに記載されるいくつかの実施の形態は輻輳インジケータを実質的に即時に更新し、したがってユーザは、ユーザの修正が配線輻輳に有した影響を直ちに理解できることができる。図２Ｂは、どのように実質的に即時にチャネルに対する輻輳インジケータを更新することができるかを示す。図２Ｂに示されるように、ユーザはフロアプランオブジェクト２０２のサイズを増大し、フロアプランオブジェクト２０４を上に移動し（それはチャネルＣの幅を増大させ）、および左に移動する（それはチャネルＢの幅を減少させる）。要求値が図２Ａおよび図２Ｂにおけるのと同じであるのは、フロアプランオブジェクトのサイズ変更および／または移動は要求を変更しないからであることが注記される。他方、容量が増大するのは、チャネルの幅が増大するときであり、減少するのは、チャネルの幅が減少するときである。たとえば、チャネルＡの容量は１５０から１２０に減少し、チャネルＢの容量は１３０から１００に減少し、チャネルＣの容量は３０から９０に増大した。
【００４２】
いくつかの実施の形態は、元のチャネル幅と新たなチャネル幅との比に基いてチャネル容量を変更する。たとえば、元のチャネル幅が２０単位で、新たなチャネル幅が１５単位である場合、元のチャネル容量に１５／２０＝３／４を乗算して、新たなチャネル容量を得ることができる。逆に、元のチャネル幅が１５単位で、新たなチャネル幅が２０単位である場合、元のチャネル容量に２０／１５＝４／３を乗算して、新たなチャネル容量を得ることができる。
【００４３】
図２Ｃは、フロアプランオブジェクトの移動が、既存のチャネルを除去し、新たなチャネルを作成し得る例を示す。図２Ｃに示されるように、フロアプランオブジェクト２０６は、フロアプランオブジェクト２０４の最も左側のエッジ部分を越えて左に移動されている。その結果、チャネルＣはもはや存在せず、したがって、ＧＵＩにおいて除去される。しかしながら、新たなチャネル―チャネルＤ―がフロアプランオブジェクト３０２と２０６との間において作成されている。チャネルＤに対するチャネル容量はチャネル幅に基いて計算することができる。しかしながら、チャネルＤに対する要求は、チャネルＣに対して存在した要求とは実質的に異なり得る（たとえば、チャネルＣを通って配線されていた配線のすべてはチャネルＤを通って配線されるだろうと仮定することは正しくないからである）。したがって、ここに記載されるいくつかの実施の形態は、新しく作成されたチャネルの要求を未知のものとして印し、したがってＧＵＩに輻輳インジケータを表示する。たとえば輻輳インジケータ「？／９０」をチャネルＤに対して示すことができ、「？」記号は、チャネルに対する要求が未知であることを示す。新しく作成されたチャネルは、さらに、チャネルに対する要求が未知であることを示す色を割当てられてもよい。
【００４４】
図２Ｄは、ここに記載されるいくつかの実施の形態に従って輻輳インジケータを表示するためのプロセスを示すフローチャートを呈示する。このプロセスは、ＧＵＩにおいてチャネルに対する輻輳インジケータを表示する実施の形態で開始することができ、輻輳インジケータは、回路設計レイアウト上において輻輳分析を実行することに基いて、たとえば回路設計レイアウト全体上において概略配線を実行することによって、判断される（操作２５２）。次に、この実施の形態は、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることができ、修正することは、チャネルの幅を新たな幅値に変更する（操作２５４）。チャンネル長における変更はチャネル容量を変化させないが、チャネル幅における変更はチャネル容量を変化させることに注目されたい。この実施の形態は、次いで、新たな幅値に基いてチャネルに対する更新された容量値を判断することができ、更新された容量値は、チャネルにおいて利用可能な配線資源の量に対応する（操作２５６）。次に、この実施の形態は、修正された回路設計レイアウト上において輻輳分析を実行することなく、たとえば修正された回路設計レイアウト全体上において概略配線を実行することなく、更新された容量値に基いて、更新された輻輳インジケータを判断することができる（操作２５８）。次いで、この実施の形態は、ＧＵＩにおいて、チャネルに対する更新された輻輳インジケータを表示することができる（操作２６０）。
【００４５】
即時のピン更新
ピン割当は、ピン位置を回路設計においてパーティションまたはブロックに割当てるプロセスを指す。パーティションは、回路設計の一部である（パーティションは、典型的にはパーティション内にあるセルの詳細を含む）。パーティションは、チップにおける物理的な領域に関連付けられず、フロアプランニングツールのＧＵＩは、パーティションを、フロアプランに配置することができるフロアプランオブジェクトとして扱わない。他方、ブロックは、回路設計の一部を含む、回路設計レイアウトにおける物理的な領域である。フロアプランニングツールのＧＵＩは、ブロックを、配置することができるフロアプランオブジェクトとして扱うことができ、ＧＵＩは、ブロック上においてさまざまな操作（たとえば、移動、サイズ決め、および形状変更）を実行するために用いることができる。
【００４６】
ピン割当はパーティションまたはブロック上において実行することができる。パーティションまたはブロックの境界上におけるピンは、ブロック内における１つ以上のセルに電気的に接続され、他のパーティションまたはブロックにおける他のセルの入力に電気的に接続する必要がある、該パーティションまたはブロックにおけるセルの出力は、そのパーティションまたはブロックにおけるピンを通過しなければならない。
【００４７】
パーティションまたはブロックに対する元のピン位置の組は、回路設計レイアウト上において概略配線を実行し、次いで、概略配線解における配線がパーティションまたはブロックの境界を交差する位置にピンを作成することによって、判断することができる。従来の方策では、回路設計レイアウトが変わるとき（たとえばパーティションまたはブロックがサイズ変更されるか、または形状が変更されるとき）、概略配線が、修正された回路設計レイアウト上において実行され、新たなピン位置が新たな配線解に基いて判断される。修正された回路設計レイアウト上において概略配線を実行することは長時間かかり得、したがって、従来の方策は、ユーザが回路設計レイアウトに変更を加えた後、ピン位置を実質的に即時に更新することはできない。
【００４８】
ここに記載されるいくつかの実施の形態は、回路設計レイアウトが修正されると（たとえばユーザがＧＵＩを用いてパーティションまたはブロックの形状をサイズ変更または変更すると）、パーティションまたはブロックのピン位置を実質的に即時に更新する。一般
に、ここに記載される実施の形態は、ピンが移動される量を最小限にしようとする。具体的には、図３Ａは、ここに記載されるいくつかの実施の形態に従ってＧＵＩにおいてピン位置を更新するためのプロセスを示すフローチャートを呈示する。このプロセスは、回路設計レイアウトをユーザ入力に基いて修正して、修正された回路設計レイアウトを得ることで始まる（操作３５２）。エッジ部分の長さが増大した場合（操作３５４の「イエス」分岐）、元のピン位置は変更されない（操作３６０）。他方、エッジ部分の長さが減少した場合（操作３５４の「ノー」分岐）、実施の形態は元のピン位置の組を維持することができるかどうか調べることができる（操作３５６）。維持できる場合には（操作３５６の「イエス」分岐）、元のピン位置は変更されない（操作３６０）。元のピン位置を維持することができない場合には（操作３５６の「ノー」分岐）、電源ピンの位置、データ信号ピンの相対的な順序、および固定されたピンの位置を維持しながら近隣のデータ信号ピン間の距離を減少させることによって、新たなピン位置の組を得る（操作３５８）。
【００４９】
いくつかの実施の形態では、近隣の信号ピン間の距離は、信号ピン間の元の距離に比例して減少される。他の実施の形態では、まず、（その長さが修正された）エッジ部分の終点の近くにおける近隣の信号ピン間の距離が減少され、それが十分でない場合は、エッジ部分の中心の近くにおける近隣の信号ピン間の距離が減少される。このプロセス中において、信号ピンの順序は維持されている。あるタイプのピンは、エッジ部分の長さが減少するときであっても、移動されない。具体的には、電源ピンおよび接地ピンならびに固定されるとしてフラグが立てられた他のピンは移動されない。固定されたピンが信号ピンである場合、固定された信号ピンのいずれかの側の信号ピンが、信号ピンの順序を乱さずに移動される。一旦、新たなピン位置の組が判断されると、その新たなピン位置の組をＧＵＩに表示することができる。上記の実施の形態は、新たなピン位置の組を判断するために、修正された回路設計レイアウト上において概略配線を実行しないことが注目される。エッジ部分が非常に減少して、固定されたピン位置がもはやエッジ部分上にない場合、固定されたピンは除去することができ、ユーザが固定されたピンを適切な位置に手動で配置することができるように、ユーザはこの事実の警告を受けてもよい。エッジ部分が非常に減少して、ピンが減少したエッジ部分サイズに収容することができない場合、警告を出して、エッジ部分はもはやピンに収容することができないとユーザに警告することができる。この筋書では、ピンはエッジ部分に配置されるが、ピンは、減少したエッジ部分サイズに収容することができないので、互いと重複するかもしれない。
【００５０】
図３Ｂ〜図３Ｇは、ここに記載されるいくつかの実施の形態に従って、回路設計レイアウトが修正されるときにどのようにピン位置を実質的に即時に更新することができるかを示す。
【００５１】
図３Ｂはブロックまたはパーティション３０２を信号ピンＤ１〜Ｄ１０および電源／接地ピンＰ１とともに示す。図３Ｂに示されるピン位置は、たとえば、回路設計上において概略配線を実行し、配線がブロックまたはパーティション３０２の境界を交差した位置を識別することによって判断された、元のピン位置の組であり得る。信号ピンは、データ、アドレス、および／または制御信号を搬送することができる。電源／接地ピンは、ブロックまたはパーティション３０２内の回路系に電力を与える。１つ以上のピン（信号ピンおよび／または電源／接地ピンのいずれか）は、ユーザまたはＥＤＡツールによって、固定されているとして識別されてもよい。図３Ｃは、左および右のエッジ部分の長さを減少させたサイズ変更操作の実行後のブロックまたはパーティション３０２を示す（ブロックまたはパーティション３０２の底部エッジ部分が上に移動された）。ピンＰ１およびＤ１〜Ｄ３の位置は、それらのピン位置が減少したエッジ部分長さにおいて収容することができたので、変更されなかったことが注目される。いくつかの実施の形態では、右側エッジ部分上における近隣の信号ピン（つまりピンＤ４〜Ｄ８）間の距離は、元の距離に比例して減少され、つまり、エッジ部分の元の長さがＬ１であり、減少された長さがＬ２であり、
２つの近隣のピン間の距離がＬ３であった場合、それらの２つのピン間の新たな距離はＬ４＝Ｌ３×Ｌ２／Ｌ１であることができる。この実施の形態は、図３Ｃに示される。他の実施の形態では、信号ピンは、それを移動する必要がある場合にのみ、移動される。たとえば、いくつかの実施の形態では、信号ピンＤ８のみが上に移動されるかもしれないが、信号ピンＤ４〜Ｄ７の位置は維持されるかもしれない。底部エッジ部分が長さにおいて変化しなかったので、底部エッジ部分上における信号ピンＤ９およびＤ１０の位置は変わらないままであった。
【００５２】
図３Ｄは図３Ｂと同じである。図３Ｅは、左および右のエッジ部分の長さを減少させたサイズ変更操作の実行後のブロックまたはパーティション３０２を示す（ブロックまたはパーティション３０２の頂部エッジ部分は下に移動された）。この例では、図３Ｅにおいて示されるように、右側および左側エッジ部分の両方上における信号ピンが移動された。電源／接地ピンＰ１は移動されず、そのことが左側エッジ部分上においてピンの相対的順序を変更したことに注目されたい（電源／接地ピンＰ１は図３Ｄにおいて信号ピンＤ１とＤ２との間にあるが、それは、図３Ｅにおいてはそれらの２つの信号ピン間にはない）。しかしながら、信号ピンＤ１〜Ｄ３間の相対的順序はブロックまたはパーティション３０２の左側エッジ部分上において維持された。信号ピンの順序を維持することは配線中に問題を回避するのに重要である（信号ピンの順序が維持されない場合、信号ピンに電気的に接続される配線は交差される必要があるかもしれず、それは配線中に問題になるかもしれない）。
【００５３】
図３Ｆは図３Ｂと同じである。図３Ｇはブロックまたはパーティション３０２の形状を変更した後のブロックまたはパーティション３０２を示す。具体的には、ブロックまたはパーティション３０２の底部右コーナー部分は切り込まれている。この例では、図３Ｇに示されるように、底部右側エッジ部分上の信号ピンのいくつかが移動された。左側エッジ部分上における電源／接地ピンＰ１および信号ピンＤ１〜Ｄ３は移動されなかった。同様に、右側エッジ部分上における信号ピンＤ４〜Ｄ７および底部エッジ部分上における信号ピンＤ１０は移動されなかった。底部エッジ部分上にあった信号ピンＤ９はエッジ部分Ｅ１に移動され、右側エッジ部分上にあった信号ピンＤ８はエッジ部分Ｅ２に移動された。新たなエッジ部分（たとえばエッジ部分Ｅ１およびＥ２）がブロックまたはパーティションに追加されるとき、所与の向きを有するエッジ部分上におけるピンは新たなエッジ部分に同じ向きで移動される。たとえば、ピン（たとえばピンＤ９）が水平のエッジ部分（たとえば底部エッジ部分）上にある場合、ピンは、形状が変更された後、新たな水平のエッジ部分（たとえばエッジ部分Ｅ１）に移動される。同様に、ピン（たとえばピンＤ８）が垂直なエッジ部分（たとえば右側エッジ部分）上にある場合、ピンは、新たな垂直なエッジ部分（たとえばエッジ部分Ｅ２）に移動される。信号ピンの相対的順序が図３Ｇに維持されるのは、水平なエッジ部分上においてのみピンを考慮するか、または垂直なエッジ部分上においてのみピンを考慮する場合であることに注目されたい。しかしながら、図３Ｇにおいてブロックまたはパーティション３０２の周囲をエッジ部分横断する場合は、信号ピンの順序は維持されていない。具体的には、ブロックまたはパーティション３０２の頂部右側コーナー部分から底部左側コーナー部分に時計回りのエッジ部分横断を行えば、信号ピンの順序は図３Ｆおよび図３Ｇにおいて異なる。
【００５４】
一旦、新たなピン位置が判断されると、その新たなピン位置を回路設計レイアウトにおいて配線トラック位置にはめることができる。たとえば、新たなピン位置が位置２．４２にあり（ピン位置はエッジ部分上における参照ポイントからの長さ単位における距離によって表すことができる）、最も近い配線トラックが割当２．４にある場合、新たなピン位置は、２．４２から２．４にはめることができる（つまり変更できる）。いくつかの実施の形態では、２つ以上のピンが同じ配線トラック位置にはまった場合には、実施の形態は、ピン位置を、２つ以上のピンの各々ごとに、異なる金属層において割当てることができ
る。たとえば、２つのピン位置が位置２．４にはまる場合、一方のピン位置は金属層Ｍ１に割当てることができ、他方のピン位置は金属層Ｍ２に割当てることができる。
【００５５】
階層的ビュー
回路設計は、たとえば、その回路設計のためのＨＤＬコードによって規定することができる論理的階層を有する。たとえば、ＨＤＬコードは、処理ブロックが乗算器ブロックおよび加算器ブロックを含み、乗算器および加算器ブロックは、次いで、それら内において他のブロックを含むことを明記してもよい。フロアプランニングツールのＧＵＩは、ユーザが論理的階層に従って回路設計を見ることを可能にすることができる。図４Ａは、ここに記載されるいくつかの実施の形態に従って、どのようにしてＧＵＩによってユーザは回路設計の論理的階層を見ることができるかを示す。ビュー４００はブロックＢ１〜Ｂ４を含む。ブロックＢ１は回路素子４０４〜４０８を含み、ブロックＢ３は回路素子４１６〜４２２を含む。ブロックＢ２は、回路素子４１０と、回路素子４１２〜４１４を含むブロックＢ４とを含む。明確にするため、異なる回路素子のピンを電気的に接続するネットは図４Ａ〜図４Ｃには示されてはいない。
【００５６】
回路設計は、複数の電圧ドメイン、複数のパワードメイン、および／または複数のクロックドメインを有することができる。具体的には、回路設計における各回路素子は、特定の電圧、電源、および／またはクロックドメインと関連付けられることができる。一般に、各回路素子は、１つ以上の属性タイプに対応する１つ以上の属性値と関連付けられることができる。電圧ドメイン、パワードメインおよびクロックドメインは属性タイプの例である。特定の電圧ドメインに対応する特定の電圧ドメイン識別子、特定のパワードメインに対応する特定のパワードメイン識別子、または特定のクロックドメインに対応する特定のクロックドメイン識別子は、属性タイプに対応する属性値の例である。
【００５７】
時に、（たとえば、電圧ドメイン、パワードメインまたはクロックドメインに基いてグループ化される）特定の属性タイプに基いて回路素子をグループ化することによって回路設計を見ることは有用である。ここに記載されるいくつかの実施の形態は、回路設計者が、１つ以上の属性タイプに基いて回路設計を見ることを可能にする。たとえば、ユーザは電圧ドメイン、パワードメインまたはクロックドメインの点において（つまり、論理的階層に基いて回路設計を見る代りに、またはそれに加えて）、回路設計を見たいかもしれない。
【００５８】
いくつかの属性は階層的であり得る。具体的には、電圧ドメイン、パワードメインおよびクロックドメインは階層的であり得る。たとえば、第２のパワードメインがオフであるときはいつでも第１のパワードメインが常にオフである場合、第１のパワードメインは第２のパワードメインの階層内にあると考えることができる。回路設計ビューが所与の属性に基いて生成されるとき、回路設計における属性階層は視覚的に明らかになることができる。回路素子が属性タイプに基いてグループ化される回路設計を見ることは、ユーザが新たな方法で回路設計における回路素子間の相互関係を理解することを可能にすることができ、それによって、ユーザが回路設計を設計しデバッグすることを容易する。
【００５９】
図４Ｂは、ここに記載されるいくつかの実施の形態に従ってパワードメイン階層に基いたビューを呈示する。ビュー４３０はビュー４００に表示されたのと同じ回路素子を含むが、それらはここではそれらのパワードメインに基いてグループ化される。具体的には、回路素子４１０〜４１２はパワードメインＰ１にあり、つまり、回路素子４１０〜４１２は、パワードメイン属性タイプに対応する属性値Ｐ１に関連付けられる。同様に、回路素子４１４はパワードメインＰ２にあり、回路素子４０６、４１６および４２２はパワードメインＰ４にあり、回路素子４１８、４０４はパワードメインＰ５にあり、回路素子４０８および４２０はパワードメインＰ３にある。さらに、ビュー４３０は、パワードメイン
Ｐ４およびＰ５がパワードメインＰ３内にあるパワードメイン階層を示す。
【００６０】
ビューは、各回路素子と関連付けられる他の属性値を表示することができる。さらに、ビューは、複数の属性に基いて回路素子をグループ化し、それらのクループ化を同時に表示することができる。たとえば、ビュー４３０は、パワードメインＰ１およびＰ２（それらは回路素子をそれらのパワードメインに基いてグループ化する）がブロックＢ１（それは図４Ａにおいて示されるような論理的階層に基いて回路素子をグループ化する）内にあることを示す。
【００６１】
図４Ｃは、ここに記載されるいくつかの実施の形態に従ってクロックドメイン階層に基いたビューを呈示する。ビュー４４０はビュー４００に表示されたのと同じ回路素子を含むが、それらはここではそれらのクロックドメインに基いてグループ化される。クロックドメインは、一般に、単一クロック、または固定された位相および周波数関係を間に有するクロックの組のいずれかによって駆動される、回路設計の一部として定義することができる。たとえば、一定の位相差を有する同じ周波数の２つのクロックは、同じクロックドメイン内にあると考えることができる。同様に、固定された周波数関係（たとえば、一方のクロックは他方のクロックの周波数の半分を有する）およびさらに、固定された位相差を有する２つのクロックも、同じクロックドメインに属すると考えることができる。具体的には、回路素子４１０、４１６、４２０はクロックドメインＣ１にあり、つまり、回路素子４１０、４１６、４２０は、クロックドメイン属性タイプに対応する属性値Ｃ１と関連付けられる。同様に、回路素子４０４、４０６、４０８、４１２、４１４、４１８、４２２は、クロックドメインＣ２にある。
【００６２】
図４Ｄは、ここに記載されるいくつかの実施の形態に従ってＧＵＩにおいて回路設計を表示するためのプロセスを示すフローチャートを呈示する。このプロセスは、ＧＵＩにおいて回路設計の第１のビューを表示することによって開始することができ、第１のビューは、回路素子を回路設計の論理的階層に従って階層的ブロックにグループ化し、回路設計における少なくともいくつかの回路素子は、１つ以上の属性タイプに対応する１つ以上の属性値と関連付けられる（操作４５２）。次に、回路設計を属性タイプ（たとえば電圧ドメイン、パワードメインまたはクロックドメイン）に基いて表示する要求が受取られ得、属性タイプに基いて回路設計を表示する要求を受けたことに応答して、この実施の形態は、回路設計の第２のビューを生成することができ、第２のビューは、回路素子を、属性タイプに対して同じ属性値を有するブロックにグループ化する（操作４５４）。この実施の形態は、ＧＵＩにおいて回路設計の第２のビューを表示することができる（操作４５６）。
【００６３】
たとえば、第１のビューは図４Ａに対応し得る。属性タイプがパワードメインである場合には、第２のビューを生成することは、各回路素子を、回路素子のパワードメインに基いて、ブロックに割当てることを伴うことができる。第２のビューは図４Ｂに対応し得る。図４Ｂに示されるように、第２のビューにおけるブロックは、パワードメイン階層に対応する階層構造を有することができる。属性タイプがクロックドメインである場合には、第２のビューを生成することは、各回路素子を、回路素子のクロックドメインに基いて、ブロックに割当てることを伴うことができる。この場合、第２のビューは、図に４Ｃに対応し得る。
【００６４】
コンピュータシステム
図５はこの開示において記載されるいくつかの実施の形態に従うコンピュータシステムを示す。コンピュータシステム５０２は、プロセッサ５０４、メモリ５０６および記憶装置５０８を含み得る。コンピュータシステム５０２は、表示装置５１４（それは表示領域内における接触の存在、位置、および／または移動を検出できてもできなくてもよい）、
キーボード５１０、およびポインティングデバイス５１２に結合することができる。記憶装置５０８は、オペレーティングシステム５１６、アプリケーション５１８およびデータ５２０を記憶することができる。データ５２０は、アプリケーション５１８によって必要とされる入力、および／またはアプリケーション５１８によって生成される出力を含むことができる。
【００６５】
コンピュータシステム５０２は、１つ以上の動作を、この開示に暗示的または明示的に記載されている任意の方法において（自動的にまたはユーザ入力で）実行してもよい。たとえば、動作中において、コンピュータシステム５０２は、アプリケーション５１８をメモリ５０６内にロードすることができる。次いで、ユーザはアプリケーション５１８を用いて、回路設計に対するフロアプランを作成し、見て、および／または編集ことができる。
【００６６】
結論
上記の記載は、任意の当業者が実施の形態をなし、用いることを可能にするよう呈示される。開示された実施の形態へのさまざまな修正が当業者には容易に明らかになり、ここに規定された一般的な原理は、この開示の精神および範囲から逸脱せずに、他の実施の形態および適用例に適用可能である。したがって、この発明は示される実施の形態に限定されず、ここに開示される原理および特徴と整合する最も広い範囲を与えられることになっている。
【００６７】
この開示において記載されるデータ構造およびコードは、部分的または完全にコンピュータ読取可能記憶媒体および／またはハードウェアモジュールおよび／またはハードウェア装置上に記憶することができる。コンピュータ読取可能記憶媒体は、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタルバーサタイルディスクまたはディジタルビデオディスク）などの磁気および光学的記憶装置、またはコードおよび／もしくはデータを記憶することができる、現在公知または今後開発される他の媒体を含むが、それらに限定されない。この開示において記載されるハードウェアモジュールまたは装置は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、専用もしくは共用プロセッサ、および／または現在公知もしくは今後開発される他のハードウェアモジュールもしくは装置を含むが、それらに限定されない。
【００６８】
この開示において記載される方法およびプロセスは、コンピュータ読取可能記憶媒体または装置に記憶されるコードおよび／またはデータとして部分的または完全に実施することができ、コンピュータシステムがコードおよび／またはデータを読出して実行するとき、コンピュータシステムは関連の方法およびプロセスを実行する。方法およびプロセスは、さらに、部分的または完全にハードウェアモジュールまたは装置で実施することができ、ハードウェアモジュールまたは装置が活性化されると、それらは関連の方法およびプロセスを実行する。コード、データおよびハードウェアモジュールまたは装置の組合せを用いて、方法およびプロセスを実施することができることが注目される。
【００６９】
この発明の実施の形態の前述の記載は例示および記載の目的のためにのみ呈示された。それらは、網羅的であったり、またはこの発明を開示される形式に限定するようには意図されない。したがって、多くの修正および変形が当業者には明らかになる。加えて、上記の開示は、この発明を限定するようには意図されない。この発明の範囲は特許請求の範囲によって規定される。
【図１Ａ】
2018060569.tif 000002
【図１Ｂ】
2018060569.tif 000003
【図１Ｃ】
2018060569.tif 000004
【図１Ｄ】
2018060569.tif 000005
【図１Ｅ】
2018060569.tif 000006
【図１Ｆ】
2018060569.tif 000007
【図２Ａ】
2018060569.tif 000008
【図２Ｂ】
2018060569.tif 000009
【図２Ｃ】
2018060569.tif 000010
【図２Ｄ】
2018060569.tif 000011
【図３Ａ】
2018060569.tif 000012
【図３Ｂ】
2018060569.tif 000013
【図３Ｃ】
2018060569.tif 000014
【図３Ｄ】
2018060569.tif 000015
【図３Ｅ】
2018060569.tif 000016
【図３Ｆ】
2018060569.tif 000017
【図３Ｇ】
2018060569.tif 000018
【図４Ａ】
2018060569.tif 000019
【図４Ｂ】
2018060569.tif 000020
【図４Ｃ】
2018060569.tif 000021
【図４Ｄ】
2018060569.tif 000022
【図５】
2018060569.tif 000023
【手続補正書】
【提出日】平成29年12月7日(2017.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子設計自動化（ＥＤＡ）ツールにおいて、前記ＥＤＡツールのグラフィカルユーザインターフェイス（ＧＵＩ）におけるピン位置を更新するための方法であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
前記ＥＤＡツールが前記回路設計レイアウトを変更したときにコンピュータにおいて、
前記エッジ部分が長さにおいて増大したが前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールが、前記ＥＤＡツールの前記ＧＵＩにおける前記ピン位置の組を変更しないこと、および、
前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールは、前記ＥＤＡツールの前記ＧＵＩにおける近隣の信号ピン間の距離を減少させて、一方で、（１）１つ以上の電源ピンの位置、（２）信号ピンの相対的な順序、および（３）１つ以上の固定されたピンの位置、を維持することを含む、方法。
【請求項２】
前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項１に記載の方法。
【請求項３】
前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に１つ以上のピンをはめることを含む、請求項１に記載の方法。
【請求項４】
２つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記ＥＤＡツールが、ピン位置を２つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項３に記載の方法。
【請求項５】
前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が２つの直交エッジ部分により置換されていると判断したことに応答して、前記ＥＤＡツールは、前記エッジ部分に平行である、前記２つの直交エッジ部分のうちの１つに、前記ピンの組の中の少なくとも１つの信号ピンを移動させることをさらに含む、請求項１に記載の方法。
【請求項６】
前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項５に記載の方法。
【請求項７】
前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記ＥＤＡツールがユーザに警告することをさらに含む、請求項１に記載の方法。
【請求項８】
前記ピン位置は、グローバルルーティングを実行することなく、前記ＥＤＡツールの前記ＧＵＩにおいて更新される、請求項１に記載の方法。
【請求項９】
コンピュータによって実行されると、電子設計自動化（ＥＤＡ）ツールにおいて、前記ＥＤＡツールのグラフィカルユーザインターフェイス（ＧＵＩ）におけるピン位置を更新するための方法を前記コンピュータに実行させる命令を記憶する、非一時的なコンピュータ読取可能記憶媒体であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
前記ＥＤＡツールが前記回路設計レイアウトを変更したときにコンピュータにおいて、
前記エッジ部分が長さにおいて増大したが前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールが、前記ＥＤＡツールの前記ＧＵＩにおける前記ピン位置の組を変更しないこと、および、
前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールは、前記ＥＤＡツールの前記ＧＵＩにおける近隣の信号ピン間の距離を減少させて、一方で、（１）１つ以上の電源ピンの位置、（２）信号ピンの相対的な順序、および（３）１つ以上の固定されたピンの位置、を維持することを含む、非一時的なコンピュータ読取可能記憶媒体。
【請求項１０】
前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１１】
前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に１つ以上のピンをはめることを含む、請求項９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１２】
前記方法が、２つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記ＥＤＡツールが、ピン位置を２つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項１１に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１３】
前記方法が、前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が２つの直交エッジ部分により置換されていると判断したことに応答して、前記ＥＤＡツールは、前記エッジ部分に平行である、前記２つの直交エッジ部分のうちの１つに、前記ピンの組の中の少なくとも１つの信号ピンを移動させることをさらに含む、請求項９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１４】
前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項１３に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１５】
前記方法が、前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記ＥＤＡツールがユーザに警告することをさらに含む、請求項９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１６】
前記ピン位置は、グローバルルーティングを実行することなく、前記ＥＤＡツールの前記ＧＵＩにおいて更新される、請求項９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１７】
装置であって、
プロセッサと、
コンピュータによって実行されると、電子設計自動化（ＥＤＡ）ツールにおいて、前記ＥＤＡツールのグラフィカルユーザインターフェイス（ＧＵＩ）におけるピン位置を更新するための方法を前記コンピュータに実行させる命令を記憶する、非一時的なコンピュータ読取可能記憶媒体であって、ピンの組が、現在、回路設計レイアウトにおいてブロックまたはパーティションのエッジ部分上におけるピン位置の組に位置し、前記方法は、
前記ＥＤＡツールが前記回路設計レイアウトを変更したときにコンピュータにおいて、
前記エッジ部分が長さにおいて増大したが前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールが、前記ＥＤＡツールの前記ＧＵＩにおける前記ピン位置の組を変更しないこと、および、
前記エッジ部分が長さにおいて減少し、かつ前記ピン位置の組を維持するよう十分には長くないという判断に応答して、前記ＥＤＡツールは、前記ＥＤＡツールの前記ＧＵＩにおける近隣の信号ピン間の距離を減少させて、一方で、（１）１つ以上の電源ピンの位置、（２）信号ピンの相対的な順序、および（３）１つ以上の固定されたピンの位置、を維持することを含む、装置。
【請求項１８】
前記近隣の信号ピン間の距離を減少させることは、前記エッジ部分の減少された長さを前記エッジ部分の元の長さで除することによって計算される比を各距離に乗算することを含む、請求項１７に記載の装置。
【請求項１９】
前記近隣の信号ピン間の距離を減少させることは、前記回路設計レイアウトにおいて配線トラック位置に１つ以上のピンをはめることを含み、前記方法は、２つ以上のピンが同じ配線トラック位置にはまったと判断したことに応答して、前記ＥＤＡツールが、ピン位置を２つ以上のピンの各々ごとに、異なる金属層において割当てることをさらに含む、請求項１７に記載の装置。
【請求項２０】
前記方法が、前記ブロックまたはパーティションのコーナーが切り込まれているために前記エッジ部分の一部が２つの直交エッジ部分により置換されていると判断したことに応答して、前記ＥＤＡツールは、前記エッジ部分に平行である、前記２つの直交エッジ部分のうちの１つに、前記ピンの組の中の少なくとも１つの信号ピンを移動させることをさらに含み、前記移動させることは、前記ブロックまたはパーティション周りのエッジ横断に関する信号ピンの相対的な順序を保存しない、請求項１７に記載の装置。
【請求項２１】
前記方法が、前記エッジ部分が、長さにおいて減少し、かつ固定されたピン位置を収容するよう十分には長くないか、または、前記ピンの組を収容するよう十分には長くないという判断に応答して、前記ＥＤＡツールがユーザに警告することをさらに含む、請求項１７に記載の装置。
【請求項２２】
前記ピン位置は、グローバルルーティングを実行することなく、前記ＥＤＡツールの前記ＧＵＩにおいて更新される、請求項１７に記載の装置。
【外国語明細書】
2018060569000001.pdf