JP4980066B2 - 導電性パスの分散自動ルーティング - Google Patents

導電性パスの分散自動ルーティング Download PDF

Info

Publication number
JP4980066B2
JP4980066B2 JP2006541235A JP2006541235A JP4980066B2 JP 4980066 B2 JP4980066 B2 JP 4980066B2 JP 2006541235 A JP2006541235 A JP 2006541235A JP 2006541235 A JP2006541235 A JP 2006541235A JP 4980066 B2 JP4980066 B2 JP 4980066B2
Authority
JP
Japan
Prior art keywords
route
client computer
pin pair
client
assigned
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
JP2006541235A
Other languages
English (en)
Other versions
JP2008507002A (ja
Inventor
ペチュニン,ウラジミール,ヴイ
プフェイル,チャールズ,エル
スタルコフ,アレクサンデル,エヌ
ナタラジャン,ヴェンカット
スミス,フランクリン,エドウィン
Original Assignee
メンター・グラフィクス・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メンター・グラフィクス・コーポレーション filed Critical メンター・グラフィクス・コーポレーション
Publication of JP2008507002A publication Critical patent/JP2008507002A/ja
Application granted granted Critical
Publication of JP4980066B2 publication Critical patent/JP4980066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Description

発明の詳細な説明
[関連出願の相互参照]
本出願は、参照することにより含まれる、2003年11月21日に出願された米国仮出願第60/523,697号「A Revolutionary Design Technology」の優先権を主張する。
[発明の技術分野]
本発明は、電子設計自動化ツールの技術分野に関する。より詳細には、本発明の実施例は、プリント基板(PCB)設計におけるトレースのルーティングを含む電子回路の導電性パスのルーティングに関する。
[発明の背景]
電子回路は、典型的には、レジスタ、集積回路(IC)、キャパシタ、ダイオード、トランジスタなどの多数の電子コンポーネントを有する。各コンポーネントは、当該コンポーネントがあるタイプの電気コンダクタにより1以上の他のコンポーネントに電気的に接続される接続ポイント(又はピン)を有する。プリント基板(PCB)上の回路では、コンポーネントピンは、基板上(内)の導電性ストリップ(又はトレース)と接続される。多くのケースにおいて、電気回路はまず概略図により記述される。この概略は、通常は記号表示されたコンポーネント間を結ぶラインにより相互接続される従来技術による記号(レジスタについてはジグザグのライン、ICについては矩形のボックスなど)として回路コンポーネントを示す。概略図に与えられるコンポーネントと、当該コンポーネント間の必要な電気的接続に基づき、PCB上の物理コンポーネントの構成(又は配置)が決定される。その後、電気的に接続される必要があるピンのペア間でトレースがルーティングされる。
電子回路がより複雑になるに従い、当該回路のPCBの設計はより困難なものとなる。この複雑さのため、多くの設計者がしばしば同一のPCB設計について作業する。参照することによりここに含まれる、米国特許第6,708,313号「Parallel Electronic Design Automation:Shared Simultaneous Editing」は、複数の設計者が同一のPCB設計について同時に作業することを可能にするシステム及び方法を記載している。ここで使用される「設計者」とは、人間の設計者と設計機能を実行するソフトウェアアプリケーションの両方を含む。少なくとも一実施例では、サーバコンピュータはPCB設計を維持し、当該設計のコピーが複数のクライアントコンピュータに配置される。各クライアントは、PCB設計の全体を閲覧することができる。クラインと側で当該設計が編集されると、この編集は設計を編集するリクエストとしてサーバに送信される。サーバが設計基準チェック(DRC)を実行し、リクエストされた編集が他の編集とコンフリクトしない、又はPCB設計に課された制約(トレース間の最小セパレーションなど)に違反していないことを確認した後、サーバは、リクエストされた編集を当該設計に適用する。適用された編集は、その後、クライアント側におけるPCB設計コピーの更新のため、クライアントに配信される。
複数の設計者が同一のPCB設計について同時に作業するときでさえ、この処理は大変時間のかかるものとなりうる。設計処理の最も時間を要する点の1つは、電子コンポーネント間の導電性パスのルーティングである。接続ラインが頻繁に交差している概略図では、PCB上のトレースの交差は短絡又は他の望ましくない結果をもたらしうる。回路のすべてのコンポーネントが基板上のある位置に割り当てられると(配置されると)、所望の電子接続のみが生成されるように、ピン間の接続がルーティングされる必要がある。一部のケースでは、PCBは相互に接続される必要がある数百又は数千のピンを有するかもしれない。ある接続について与えられたルートは、しばしば他の接続のための利用可能なルートを排除する。ルート決定される接続が多くなるほど、利用可能なルーティングスペースは少なくなり、残りの接続をルート決定する作業はより困難となる。マルチレイヤPCBは、接続をルート決定するためのスペースをより多く提供することにより上記問題を解消するものであるが、この作業は極めて複雑なものである。しばしば、多数の接続が、以前にルート決定された接続が「取り除かれ(ripped up)」、再ルート決定される必要があることが検出される前に、ルート決定される。
人間の設計者によるPCBの手動によるルート決定は、大変大きな作業時間を要するため、ルーティング処理を自動化する(「自動ルーティング」)ための多数のアルゴリズムが作成されてきた。しかしながら、適度な複雑さの回路についてでさえ、既存のアルゴリズムはPCB全体をルート決定するのに極めて多くの時間を要する。実際、PCB設計者が仕事時間の終わりに自動ルーティングプログラムをスタートさせ、プログラムを一晩中実行させることが通常である。このような大きな実行時間に対する1つの可能な解決策は、複数のコンピュータ間にルーティングタスクを分散させることである。集積回路(IC)の設計に用いられるルーティングプログラムは、予め分散環境において動作するよう変換されていた。しかしながら、PCBのルーティング問題は、ICルーティングに係るものとは全く異なるものである。例えば、ICの機能コンポーネントは、しばしばトレースが基盤の幅全体及び/又は長さ全体にわたることが必要であるPCBよりも、より局所化される傾向にある。この局所性の欠落は、PCBのルーティング設計の領域の割当てを困難にすると共に、異なる設計者(人間又は自動化の何れでも)によりルート決定される各セクションを結合させるとき問題を生じさせる。ICの各要素は、同一サイズに近いものとなる傾向があり(少なくともトランジスタレベルでは)、しばしばチップの異なるレベルにおける導電性パスの接続に関するコストは大きなものではない。他方、PCB上に配置される各コンポーネントは、広範なサイズを有し、このサイズ範囲はルーティング問題を複雑化しうる。さらに、製造コストはしばしば、異なるPCBレイヤ上のトレースを接続する「ビア」を最小限に抑えるよう要求する。上記及び他の理由のため、IC設計に用いられる分散自動ルーティングアプローチは、PCB設計において限定的な価値しか有さない。実際、分散PCB自動ルーティングは、新たなタイプのルーティングアルゴリズムがまず開発されることを要求し、既存のルーティングアルゴリズムが1つのPCBをルート決定するのに複数のコンピュータにより効果的には利用することができないと、多くが考えている。
[発明の概要]
本発明の実施例は、自動ルーティングがより迅速に実行されることを可能にし、PCB設計のルートが既存のルーティングアルゴリズムを利用して複数のコンピュータにより生成されることを可能にする。少なくとも一部の実施例では、サーバコンピュータは、PCB設計のためのマスターデータベースを維持する。このデータベースは、回路コンポーネントとそれらの配置に関する情報、PCB設計の設計基準及び他の各種情報を有する。PCB設計のコピーが、複数のクライアントコンピュータに提供される。概略的な電子回路(又はそのための他の設計データ)が、接続される必要がある回路コンポーネントピンのすべてのペアのリストを生成するのに利用される。このリスト(又はネットリスト)は、サーバによりソートされる。各クライアントについて、サーバは接続がルート決定される必要がある異なるピンペアを割り当てる。クライアントが与えられたピンペアについて割り当てられたルーティングタスクを完了すると、結果をサーバに転送する。特に、クライアントは、サーバがPCBマスターデザインを、クライアントがそれの割り当てられたピンペアについて求めたルートにより更新することを要求する。編集リクエストを転送した後、クライアントは、当該編集を反映させるため、PCB設計のそれのコピーを更新しない。代わりに、クライアントは、サーバによるピンペアの割当て前に占有されていた状態にそれのコピーを返す。
少なくとも第1実施例では、本発明は、プリント基板(PCB)の導電性パスをルート決定する方法を有する。当該方法は、コンポーネントピンペアを2つのピンの間に導電性パスを自動的にルート決定するよう構成される複数のクライアントコンピュータのそれぞれに割り当てることからなる。本方法はまた、各クライアントから当該クライアントの割り当てられたピンペアを接続する導電性パスの提起されたルートを受信することからなる。当該ルートは、マスターPCB設計に含められ、本方法の各ステップが繰り返される。第2実施例は、第1実施例の方法を実行するための命令を含むマシーン可読媒体を含む。
少なくとも第2実施例では、本発明は、プリント基板(PCB)の導電性パスをルート決定する他の方法を有する。本方法は、接続する導電性パスがルート決定される電子回路の1以上のコンポーネントのピンを特定するピンペア割当てを含む。本方法はさらに、特定されたピン間の導電性パスのルートを自動検出し、検出されたルートを提起する編集リクエストを送信し、提起されたルートがPCB設計に含まれることの表示を受信することからなる。当該表示の受信後、PCB設計のローカルコピーが、検出されたルートを含むよう更新される。第4実施例は、第3実施例の方法を実行するための命令を含むマシーン可読媒体を含む。
本発明の上記及び他の特徴及び効果は、添付された図面と共に以下の好適な実施例の詳細な説明から容易に明らかとなり、十分理解されるであろう。
[好適実施例の詳細な説明]
少なくとも一部の実施例は、従来の自動ルーティングアルゴリズムを実行する複数のコンピュータ間のPCB設計の自動ルーティングを分散化する。予備的なテスト処理は、大きく複雑なPCBをルーティングするとき、コンピュータの個数に対して約0.75のパフォーマンスレシオとなる。言い換えると、4つのクライアントコンピュータを用いてPCBをルート決定する場合、PCBは、1つのコンピュータを用いてルート決定する場合より約3倍速くルート決定される。少なくとも一部の実施例では、サーバコンピュータは、PCB設計のためのマスターデータベースを維持する。このデータベースは、回路コンポーネントとそれらの配置に関する情報、PCB設計の設計基準及び他の各種情報を有する。PCB設計のコピーが複数のクライアントコンピュータに提供される。概略的な電子回路(又はそれについての他の設計データ)が、電気的に接続される必要がある回路コンポーネントピンのすべてのペアのリストを生成するのに利用される。このリスト(又はネットリスト)、その後サーバにソートされる。各クライアントについて、サーバは、接続がルート決定される必要がある異なるピンペアを割り当てる。クライアントが与えられたピンペアについて割り当てられたルーティングタスクを完了させると、それは結果をサーバに転送する。特に、クライアントは、サーバがクライアントがそれの割り当てられたピンペアについて検出したルートによりPCBマスター設計を更新することをリクエストする。編集リクエストを転送した後、クライアントは、編集を反映させるためのPCB設計のそれのコピーを更新しない。代わりに、クライアントは、それのコピーをサーバによるピンペアの割当て前に占有されている状態に返す。
クライアントから編集リクエストを受信した後、サーバは、要求元のクライアントにより検出されたルートについて設計基準チェック(DRC)を実行する。当該ルートがDRCをパスすると、サーバは、当該ルートを含めるよう編集リクエストをマスター設計に適用する。サーバは、新たなルートを反映させるため、すべてのクライアントにそれらのPCB設計のコピーを変更するよう更新を転送する。サーバはまた、新たに適用されたルートを検出したクライアントに新たなピンペアを割り当てる。編集リクエストがDRCを満たしていない場合、サーバは、PCBマスター設計を更新しない。代わりに、サーバは、当該リクエストを送信したクライアントに前に割り当てられたピンペアのルート決定を再試行し、又は他のピンペアをルート決定するよう指示する。本発明のさらなる特徴及び追加的な実施例が、以下において説明される。
図1は、ネットワーク接続されたコンピュータシステムにより実現される本発明の一例を示すブロック図である。サーバ2は、マスターPCB設計3を維持し、複数のクライアントコンピュータ5、6及び7へのピンペア割当てをネットワーク8を介し通信する。クライアント5、6及び7のそれぞれは、PCB設計3のコピーを維持する。しかしながら、以下でより詳細に説明されるように、各クライアントにより維持されるPCB設計3のコピーは、同一でなくてもよく、サーバ2がPCB設計3に実装したすべての変更を反映していないかもしれない。3つのクライアントのみが示されているが、他の多数のクライアントコンピュータが、同様にしてサーバ2とネットワーク接続することが可能である。各クライアント5、6及び7において、PCBコンポーネントのピン間の接続をルート決定するアプリケーションプログラムが実行されている。クライアント5、6及び7上の自動ルーティングソフトウェアは、サーバ2と協調して実行するよう変更される従来技術による各種自動ルーティングプログラムの何れかとすることができる(例えば、AUTOACTIVE位置及びルート編集環境又はオレゴン州のWilsonvilleのMentor Graphics Corporationから利用可能なBLAZEROUTER自動ルーティングソフトウェアなど)。特に、以下でより詳細に説明されるように、サーバ2は、ピンペア間の接続をルート決定するため、各クライアントにピンペアを割当て、さらにルート決定された接続が許容又は拒絶されるか否かクライアントに指示する。サーバ2からの指示に基づき、クライアント5、5及び7は、既知のルーティングアルゴリズムを利用して、PCB設計3の各部分をルート決定する。一部の実施例では、クライアント5、6及び7のすべてが、同一の自動ルーティングソフトウェアを有するとは限らない。
サーバ2は、データベース9からPCB設計3にアクセスする。データベース9は、サーバ2の一部(サーバ2のハードドライブなど)であってもよく、またサーバ2の近隣に配置されてもよく、またサーバ2から遠隔に配置されてもよい。実際、データベース9は、クライアント5、6又は7の1つに物理的に配置されてもよい。サーバ2とクライアント5、6及び7は、従来技術によるコンピュータである。それぞれは、例えば、1以上のプロセッサ、不揮発性ストレージ(ハードディスクドライブなど)、揮発性メモリ(RAMなど)及び当該技術分野において周知な他の要素を有する。サーバ2とクライアント5、6及び7は、様々なオペレーティングシステムソフトウェアの何れかを利用するものであってもよい、コンピュータ間のネットワーク接続の詳細は、同様に当該技術分野において知られたものであり、ここでは説明されない。特に、サーバ2は、クライアント5、6又は7より大きな処理能力を有する必要はない。
図2は、本発明の実施例をさらに示すのに用いられるPCB設計3の一部のブロック図である。図2に示されるように、各種電子コンポーネントの位置が基盤10にマップ(又は配置)されている。例えば、集積回路IC1とIC2の位置は、大きな正方形として示されている。メモリチップM1の位置は、大きな長方形として示されている。レジスタR1とR2は、より小さな長方形として示されている。図2の各コンポーネントとは、1以上の導電性トレースが接続される2以上のピン(大きなドットとして示される)を有する。これらのピンのいくつかは、以降の図面に対応するようラベル付けされている(21a、21bなど)。図2のPCBは両面基板である。言い換えると、PCBは、基板の両側に形成されるトレースを有し、このとき、反対側のトレースは「ビア」(すなわち、トレースを接続するため基板に貫通され、その後導電性物質により充填された開口)を用いて接続される。基板の反対側のトレースは、図面では垂直方向に配置され、以降の図面では破線により示される。基板の前面のトレースは、水平方向に配置され、実践により示される。上述のように、PCB設計3は、PCB設計が生成されている回路の一部しか有さない。これは、本発明の実施例の説明を簡単化するためのものである。実際的には、完全な回路はしばしばはるかに複雑であり、数百のコンポーネントと数百又は数千のピンを有するかもしれない。図2に示されるコンポーネントは、単なる具体例であり、本発明は当該コンポーネントの個数、タイプ又は構成に限定されるものではない。同様に本発明はまた、1つのサイドにしかトレースを有しないPCBと共に、2以上のトレースレイヤを有するPCBにも適用可能である。
上述のように、ネットリストが、PCB上の回路について生成される。このリストは、回路から概略的又は他の方法により構成可能であり、接続される必要がある各ピンペアを特定する。図3は、図2のPCB設計3に対応するネットリスト11の一部を示す。図3に示されるように、ピン21a(IC1に配置される)は、ピン21b(IC2に配置される)に接続される必要がある。同様に、ピン22aと22b(それぞれIC1とIC2に配置される)とピン23aと23b(それぞれIC2とM1に配置される)が接続される。
図4は、本発明の少なくとも一部の実施例による分散自動ルーティングセッションの始まりを概略的に示す。図4に示されるように、サーバ2は、マスターPCB設計3を維持する。設計3は、すべてのコンポーネントの位置と、サーバ2が設計3に実装したすべてのルート決定された接続とを有する。図4は自動ルーティングセッションの始まりに対応しているため、サーバ2は、まだルート決定されたピン接続を設計3に実装していない。サーバ2はさらに、自動ルーティングセッションに参加するクライアントコンピュータの情報を維持する。各クライアントについて、サーバ2は、当該クライアントにまだ与えられていない中断中の設計更新を追跡する(更新キュー)。サーバ2はさらに、自動ルーティングのため各クライアントに割り当てられた現在のピンペアと、割り当てられた自動ルーティングタスクの各クライアントの進捗状況に関する他の各種情報を追跡する。図4〜12の例では、3つのクライアント(5、6及び7)しか示されていないが、異なる個数のクライアントを含めることができる。
図5は、図4の自動ルーティングセッションの以降の時点を示す。特に、サーバ2は、初期的にはルート決定のため、あるピンペアを各クライアントコンピュータに割り当てている。具体的には、サーバ2は、ピンペア21a−21bをクライアント5に、ピンペア22a−22bをクライアント6に、ピンペア23a−23bをクライアント7に割り当てている。クライアント7は、ピン23aと23bとの間の接続をルート決定している。図6に示されるように、その後、クライアント7は編集リクエストをサーバ2に転送する。転送された編集リクエストは、クライアント7により求められたピン23aと23bの間のルートを含む。編集リクエストをサーバ2に転送した後、クライアント7は、ピン23a−23bのルート決定前の状態にPCB設計のコピーを返し、サーバ2からのさらなる指示を待機する。
図7において、サーバ2は、クライアント7から編集リクエストを受信し、クライアント7が設計3に追加しようとするルートに対し設計基準チェック(DRC)を実行した。特に、サーバ2は、提起されたルートが設計3に以前に追加された他のルートとコンフリクトしているか、又はPCB設計に対して確定された基準に違反しているか判断する。例えば、ある基準は、製造不具合により発生する短絡の可能性を最小限にするため、PCB上のトレースが最小距離だけ分離されることを要求するかもしれない。クライアント7からの編集リクエストに含まれる提起されたルートがDRCをパスした後、サーバ2は当該編集を設計3に適用する。その後、サーバ2は、ルート決定のため、クライアント7に新たなピンペアを割当て、ピン23aと23bの間の新たなルートを反映させるため、すべてのクライアントが設計3のコピーを更新するよう更新メッセージを用意する。
サーバ22は、各クライアントの更新キューに更新メッセージを配置する。少なくとも一部の実施例では、サーバ2は、当該クライアントがアイドル状態であるまで更新をクライアントに送信しない。例えば、クライアント7は、サーバ2が新たなピンペア割当てを転送するのを待機している。サーバ2が新たなピンペア割当てをクライアント7に転送すると、サーバ2はまた、提起されたルート23a−23bを設計3のクライアント7のコピーに含めるようクライアント7に指示する更新を転送する。このようにして、クライアント7は、それの新たなルーティングタスク中に、この新たに含められたルートを考慮することができる。サーバ2が提起されたルート23a−23bを拒絶し、クライアント7へのピンペア23a−23bの初期的な割当て時点と拒絶を通知する時点との間に更新が生成された場合、サーバ2は、提起されたルート23a−23bが拒絶されたことを通知し、クライアント7に再試行するよう指示するメッセージにより、これらの仮の更新をクライアント7に送信する。例えば、クライアント5又は6は、クライアント7の前にルーティングタスクを完了し、クライアント7により提起されたルートとコンフリクトするルートを生成したかもしれない。
図8は、図4において開始された自動ルーティングセッション中のさらなる以降の時点を示す。当該時点において、サーバ2は、ピンペア21a−21b、22a−22b、23a−23b、24a−24b、25a−25b及び26a−26bのルートを設計3に実装した。クライアント7は、ピンペア24a−24bの間の接続をちょうどルート決定したところであり、クライアント5と6はそれぞれ、ピンペア27a−27bと28a−28bをルート決定しようとしている。サーバ2がピンペア24a−24bをクライアント7に割り当てた時点から、クライアント5は、ピンペア25a−25bを接続するルートを提起する編集リクエストをサーバ2に送信し、サーバ2は当該ルートを受け入れる。同じ期間中、クライアント6は、ピンペア26a−26bを接続するルートを提起する編集リクエストをサーバ2に送信し、サーバ2はまた当該ルートを受け入れる。サーバ2がピンペア25a−25bのルートを受け入れると、サーバ2は更新リクエストを準備し、それを各クライアントの更新キューに配置する。この更新は、新たなピンペア割当て(27a−27b)と共にクライアント5に送信されたが、何れもルート決定割当てによりビジー状態であったため、クライアント6又は7には送信されなかった。サーバ2は以降においてクライアント6により提起されたピンペア26a−26bのルートを受け入れたとき、サーバ2は、当該ルートに対する他の更新リクエストを準備し、それを各クライアントの更新キューに配置する。その後、クライアント5はピンペア27a−27bをルート決定するのにビジー状態であり、クライアント7は依然としてピンペア24a−24bをルート決定するのにビジー状態であったため、更新はクライアント5又は7には送信されなかった。しかしながら、ピンペア25a−25bと26a−26bのルートの更新は、新たなピンペア割当て(28a−28b)と共にクライアント6に送信された。従って、クライアント7がピンペア24a−24bのルートを検出した時点では、クライアント7はそれの更新キューに2つの更新を有し、クライアント5はそれの更新キューに1つの更新を有し、クライアント6はそれの更新キューに更新を有しない。同様に、クライアント7は、設計3に実装されたピンペア25a−25bと26a−26bのルートを知ることなく、ピンペア24a−24bをルート決定した。
図9において、クライアント7は、提起された24a−24bの接続ルートに対する更新リクエストを転送した。サーバ2がピンペア24a−24bを接続する提起されたルートに対してDRCを実行すると、サーバ2は、基準違反を検出する。特に、図10及び10Aにより詳細に示されるように、提起された24a−24bのルートは、ピン25a−25bのルートに近すぎる。図10では、トレースは実線又は破線として示される。トレース間の最小クリアランスは、各トレースの周囲の斜線領域として表される。基板の同一サイドの2つのトレースの斜線領域がオーバーラップする場合(又は2以上のレベルを有する基板についての同一レベル上で)、これらのトレースは近すぎる。図10に示されるように、図10Aの拡大図により詳細に示されるように、提起されたルート24a−24bのクリアランスゾーンの水平部分は、前に実装された25a−25bルートのクリアランスゾーンの水平部分とオーバーラップする。従って、サーバ2は、ピン24a−24bを接続する提起されたルートを拒絶する。このとき、サーバ2は、クライアント7の更新キューの(ピンペア25a−25b及び26a−26bの)更新と共に、拒絶メッセージをクライアント7に送信する(図11)。その後、クライアント7は、新たなルートを検出する(図12)。特に、この新たなルートは、2つの水平セクションと2つの垂直セクションを有するため、追加的なビアを要する。図12には図示されていないが、クライアント7は、その後第2のルートに対するその後の編集リクエストを転送する。
すべてのピンペアがルート決定されるまで、又は他の停止状態に到達するまで、図4〜9に示されるプロセスは続けられる。例えば、1以上のクライアントは、あるピンペアが現在の設計基準及び以前に実装されたルートに基づきルート決定できないと通知するかもしれない。一部のケースでは、接続のルート決定ができないことは、クライアントが指定された期間内に当該接続をルート決定しないことに基づくものであるかもしれない。ルート決定できない接続の接続数に応じて、設計者は、設計基準及び/又は以前のルートを調整することによりこれらの接続を手作業によりルート決定するかもしれない。決定不能な接続数が十分大きなものであり、あるいはその問題が他のルート及び/又は設計基準を調整することによっては解決できない場合、1以上のコンポーネントを移動させる必要があり、ルート決定プロセスは繰り返される。
本発明の他の実施例では、サーバ2は、ネットリストを介し複数のパスを実行する。第1パスでは、サーバ2は、クライアント5、6及び7がビアを用いることなくピンペア接続をルート決定することを要求する。サーバ2は、第1パス中にネットリストのすべてのピンペアを検索する(又は後述されるように、ビアなしにおそらくルート決定可能なすべてのペアを検索する)。各ピンペアについて、サーバ2は、クライアントの1つから接続ルートを取得するか、又は当該接続がビアなしにルート決定することは不可能であるという表示を取得する。あるピンペアの接続がビアなしにルート決定することができない場合、当該ピンペアのルート決定は、ネットリストの次のパスまで保留される。ネットリストの第2パスでは、サーバ2は、1つのビアしか用いることなくクライアントが接続をルート決定するよう要求する。サーバ2は、再びネットリストのすべてのピンペアを検索し(又は後述されるように、1つのみのビアでおそらくルート決定なすべてのペアを検索し)、クライアントの1つから各ペアのルート決定が不可能であるとの旨又はルートの何れかを取得する。1つのみのペアを用いてはルート決定不可能なピンペア接続は、次のパスまで再び保留される。第3パスでは、サーバ2は、クライアントが2つのビアを用いて接続をルート決定することを可能にする。サーバ2は再び、ネットリストのすべてのピンペアを検索し(又は2つのビアのみでおそらくルート決定可能なすべてのペアを検索し)、各ペアについて1つのクライアントからのルート決定が不可能であるとの旨又はルートの何れかを取得し、次のパスまでルート決定が不可能な接続を保留する。サーバ2は、すべての接続がルート決定されるまで、又は他の停止状態に到達するまで、追加的な個数のビアについてパスを実行し続ける。
各パスの内部に、サーバ2は複数のベース上でピンペアを割り当てる。まず、サーバ2は、より短い接続を要求するピンペアを割り当てる前に、より長い接続を要求するピンペアを割り当てる。言い換えると、サーバ2は、各ペア内のピンの間の距離に基づきピンペアをソートし、距離について降順にピンペアを割り当てる。一部の実施例では、サーバ2はさらに、ピンペアの相対位置に基づきピンペアをソートする。特に、同一の一般的分離距離を有するピンペアの複数のグループについて、サーバ2は、最も少なくしかオーバーラップしないピンペアを割り当てる。このことは、接続対象となるピンを有する3つのレジスタ(R)、メモリチップ(M)及び2つの集積回路(IC)を示す図13に示される。ピン41a及び41bと、ピン42a及び42bと、ピン43a及び43bを接続する要求は、図13の回路のネットリストに含まれる。ピン41aと41bの間の距離は、ピン42aと42bの間の距離に等しく、またピン43aと43bの間の距離に等しい。図13の上記ピンペアのそれぞれについて、各ペアのピンは対角的なノードに配置されるような長方形が示される。43a−43bの長方形は、41a−41bの長方形に若干オーバーラップしている。42a−42bの長方形は、より大きく41a−41bの長方形にオーバーラップしている。43a−43bの長方形は41a−41bの長方形とあまりオーバーラップしていないため、ピン41a−41bと43a−43bについて同時にルート決定される接続がコンフリクトする可能性は低い。他方、ピン41a−41bと42a−42bについて同時にルート決定される接続がコンフリクトする可能性は高い。従って、サーバ2は、ピン41a−41bを1つのクライアントに、43a−43bを他のクライアントにそれぞれ割当て、ピン41a−41bをルート決定しながら、ピン42a−42bを割り当てることを回避する。
実際に、図13と同一の分離距離を有するピンペアが複数存在することはないかもしれない。しかしながら、分離に基づきピンペアをソートした後、サーバ2は、一部の実施例では、距離によりランク付けされたペアのリストのある範囲内のピンペアの間のオーバーラップの量をチェックするよう構成される。図14は、少なくとも一部の実施例において、サーバ2が(図15のネットリストを用いて)どのようにしてこのチェックを実行するかについての一例を示すフローチャートである。図15のネットリストは、分離距離の降順によりピンペアをリストする。言い換えると、ピンペアn−4のピンはペアn−3のピンより離れており、ペアn−3のピンはさらにペアn−2のピンより離れているなどである。図14及び15において、サーバは、ピンペアnとピンペアn−2を各自の第1及び第2クライアントに以前に割り当てており、現在はあるピンペアを第3クライアントに割り当てている。サーバは、ピンペアn−4、n−3又はn−1をまだ割り当てていない。前のピンペア割当てを行うとき、これらのピンペアについて描かれる長方形は、他のピンペアの長方形よりすでに割り当てられたピンペアの長方形とより大きくオーバーラップしている。ブロック101(図14)から始まり、サーバは、現在割り当てられているピンペア長方形といくつかの候補ピンペアの間のオーバーラップを評価する。特に、サーバは、ピンペアn−4、n−3及びn−1のそれぞれの長方形が、ピンペアnの長方形とピンペアn−2の長方形とオーバーラップしている量を計算する。その後、サーバは、サーバがX個の候補ピンペアについて計算する実行完了するまで、ピンペアn+1、n+2、n+3などについて同じ計算を実行する。Xの値は、予め設定された値とすることができ、又は自動ルーティングセッション中に他の条件に基づき可変とすることも可能である。候補ピンペアのオーバーラップを計算した後、ブロック103において、サーバは、何れの候補ピンペアが現在割り当てられているピンペアと最小のオーバーラップを有しているか決定する。具体的には、サーバは、各候補ピンペアがピンペアnとオーバーラップしている量を、同じ候補ピンペアがピンペアn−2とオーバーラップしている量に追加する。ブロック105において、最小の合計されたオーバーラップを有するピンペアが、第3クライアントに割り当てられる。
図14のアルゴリズムに対する多数の変形が、他の実施例において利用されている。例えば、現在割り当てられているピンペアの最小合計オーバーラップを有するピンペアを単に割り当てる代わりに、サーバはさらに、あるピンペアが現在割り当てられているピンペノ何れとも所定量以上はオーバーラップしていないことを要求することができる。他の実施例では、以前に無視されたピンペアは(n−4、n−3及びn−1など)優先され、及び/又は所定の回数以上無視されると自動的に選択される。本発明の範囲内において、多数の他の変形が可能である。
一部の実施例では、サーバ2はまた、ある個数のビアを用いてルート決定を求めるネットリストのパスを行う前に、何れのピンペアが当該ビア制限を満たすことができないか判断する。(図13の回路コンポーネントを生成する)図16に示されるように、一部のピンペア(ピン44a−44b、48a−48bなど)は、ターン(turn)を有しないルートにより潜在的に接続可能である。これらのピンがターンを有しないルートと接続することが可能である場合、ビアは必要ではないかもしれない。従って、これらのピンペアは、第1パス中のルート決定のため割当て可能である。他のピンペア(ピン45a−45bなど)は、少なくとも1つのターンと、従って少なくとも1つのビアを有するルートを要求するであろう。これらのピンペアはビアを用いることなくルート決定するよう制限されるクライアントによってはルート決定することはできないため、第2パスまでこれらのピンペアは保留される。一部のピンペア(ピン46a−46b、47a−47bなど)は、少なくとも2つのターンを有し、従って少なくとも2つのビアを有するルートを要求し、このため、第3パスまで自動的に保留されるであろう。より複雑な設計では、さらに大きな最小ターン数を有するルートを有するピンペアが存在するかもしれない。
他の実施例では、ピンペア間の接続は、PCBの1つのレイヤ上で方向を変更することが許されるかもしれない。言い換えると、トレースがピン49aから延びることにより示されるように、いくつかのトレースは、他のレベルのトレースと接続することなく、従って、ビアを利用することなくターンすることが許されるかもしれない。当該実施例では、このようなトレースは、予め特定することができ(例えば、ある領域にあるコンポーネントについて、あるピンのこのようなトレースを可能にするなど)、適当なパスに含めることができる。
図17は、本発明の少なくとも一部の実施例により、サーバからの分散自動ルーティングセッションを制御する方法のフローチャートである。ブロック201において、サーバは、プリント基板上に配置されるべき回路の電気設計を受信する。この電気設計は、接続されるべきすべてのピンペアを示すネットリストと、PCB上のコンポーネントの配置を含む。ブロック203において、サーバはピンペアをソートする。一部の実施例では、上述されるように、サーバは接続対象のピンの間の距離に基づきピンペアをソートする。サーバはまた、1つのビア、又は2つのビアなどを用いることなく接続可能なピンなど、他のベースについてソートするかもしれない。ブロック205において、サーバは、パスカウンター(p)を「0」に設定する。ブロック207において、サーバはパス0を開始する。当該パス中、サーバは、ビアを用いることなくピン間の接続をクライアントにルート決定するよう要求するであろう。ブロック209において、サーバは、クライアントへの割当てのためピンペアを選択する。初期的には、サーバは、ネットリストの最初のピンペアを単に選ぶことによりピンペアを選択する。最初のピンペアが割り当てられた後、サーバは前に割り当てられたピンペアとのオーバーラップ及び距離に基づくと共に(図14及び15について説明されるように)、あるピンペアが現在のビア制限を用いて接続可能であるかに基づき(例えば、パス0にはビアはなく、パス1には1つのビアなど)、以降のピンペアを選択する。ブロック211において、サーバは、選択されたピンペアをクライアントに割当て、割り当てられたピンペアを当該クライアントの更新キューの更新と共に転送する(初期的には更新は存在しない)。ブロック213において、サーバは、ピンペアに割り当てられていない他の何れかのクライアントが存在しないか判断する。存在する場合、サーバはブロック209に戻って、次のクライアントのピンペアを選択肢、ブロック211において当該割当てを転送する。ブロック213において、ピンペアが割り当てられる必要があるクライアントがもはや存在しない場合(「no」ブランチ)、サーバは、ブロック215に移行する。ブロック215において、サーバは、クライアントが当該クライアントの割り当てられたピンペアの提起されたルートを含む編集リクエストを提出するか(編集)、又は割り当てられたピンペアが接続不可(エラー)であることを示すまで待機する。
クライアントは、それ自体、割り当てられたピンペアが現在のビア制限を用いてルート決定することができないことを示すことによって、エラーを提出するようにしてもよい。クライアントはまた、所定時間以上接続をルート決定しようとした場合、エラーを提出するようにしてもよい。サーバはまた、クライアントにタイムアウトエラーを生成するようにしてもよい。エラーが発生すると、サーバはブロック217に移行する。ブロック271において、サーバは、現在のビア制限のためルート決定することができないか判断する。そうである場合(ピンペアが現在ルート決定できないため、「no」ブランチ)、又はピンペアが現在のパスにおいて最大数のエラーを前に生成してしまっている場合(拒絶が最大値未満でない)、サーバはブロック219に移行する。ブロック219において、ピンペアは以降のパスに保留される。その後、サーバはブロック227に移行し、現在のパスに残りのピンペアがあるか判断する。そうである場合、サーバは保留されたピンペアをルート決定できないクライアントの他のピンペアの選択のため、ブロック209に移行する。そうでない場合、サーバは後述されるブロック203に移行する。
ブロック215で通知されるエラーが、ビア制限により生じたものではなく、ピンペアが現在のビアにおいて最大回数拒絶されていない場合、サーバは、ブロック217において「yes」ブランチを選択する。例えば、一部のピンペアがルート決定された後、あるクライアントは前にルート決定された接続を知ることなく接続をルート決定するかもしれない。この場合、現在のビア制限を用いて接続をルート決定することが依然として可能であるかもしれない。従って、ブロック221において、サーバは、当該クライアントの更新キューの更新と、現在のピンペアのルート決定を再試行する指示(すなわち、ピンペアの再割当て)を送信する。ブロック221から、サーバはブロック215に戻り、他の編集又はエラー報告を待機する。
サーバがブロック215において編集リクエストを受信した場合、サーバは、ブロック223に戻り、提起されたルートについて設計基準チェック(DRC)を実行する。提起されたルートがDRCを満たしていない場合(「不成功(fail)」ブランチ)、サーバはブロック225に移行する。ブロック225において、サーバは、ピンペアが現在パス中に最大回数未満しかDRCに失敗していないか判断する。そうである場合(「yes」ブランチ)、サーバは、ブロック221に移行し、更新がクライアントに送信され、クライアントは再試行するよう指示される。現在パス中のピンペアのDRCの失敗回数が最大数未満でない場合(「no」ブランチ)、サーバはブロック219に移行し、ピンペアが以降のパスに保留され、その後ブロック227に移行する。
提起されたルートがブロック223においてDRCをパスすると(「成功(pass)ブランチ」ブランチ)、サーバは、ブロック229においてマスターPCB設計に当該ルートを実装する。サーバはまた、新たに実装されたルートを反映する更新を生成し、各クライアントのキューに更新を配置する。その後、サーバはブロック231に移行し、現在のパスに残りのピンペアがないか判断する。そうである場合、サーバはブロック209に移行し、実装されたルートを提供するクライアントのため他のピンペアを選択する。そうでない場合、サーバはブロック233に移行する。ブロック233において、サーバは、ネットリストの他のパスを実行するか判断する。例えば、設計基準は、何れの状況においても指定された個数のビアより多く有するルートが存在しないことを要求するかもしれない。サーバが当該指定された個数プラスビアのないルートには1つのパスに等しいパス数を実行した後、サーバはもはやパスを生成しない。このような場合、サーバはブロック233の「no」ブランチからブロック237に移行する。ブロック237において、サーバは、何れのピンペア(存在すれば)がルート決定されていないか示すレポートを生成し、その後、ルーティングセッションを終了する。さらなるパスがネットリストにおいて生成される場合(ブロック233の「yes」ブランチ)、サーバは、ブロック235においてパスカウンターpをインクリメントし、その後、ブロック207に戻り、新たなパスを開始する。次のパス中、クライアントは、p個のビアを用いてピンペアをルート決定するよう指示される。
一般には、DRCを実行し、サーバにより実行される他のタスクを実行するのに必要な処理時間は、1つのピンペアをルート決定するのにクライアントにより必要とされる時間よりはるかに少ない。従って、サーバはしばしば、クライアントより大きな処理パワーを必要としなくなる。複数の編集リクエストが素早く連続的にクライアントから到達する場合(図17のブロック215)、当該編集リクエストはキュー可能であり、FIFOベースによりサーバにより処理可能となる。
図18は、本発明の少なくとも一部の実施例による分散自動ルーティングセッションによりクライアントを実行する方法のフローチャートである。ブロック301から始まり、クライアントはサーバから指示を受信する。これらの指示は、新たなピン割当てかもしれないし、あるいはピンペアのルート決定を再試行する指示であるかもしれない(すなわち、ピンペアの再割当て)。クライアントはまた、サーバにより可能な接続に介される制限を受信し(ビア制限など)、またクライアントにより維持されるPCB設計のコピーの1以上の更新を受信するようにしてもよい。ブロック303において、ブロック301において受信した更新が(存在する場合)、PCB設計のクライアントコピーに適用される。ブロック305において、クライアントは、割り当てられたピンペアを接続するルートを検出するため、1以上のルーティングアルゴリズムの利用を開始する。これらのルーティングアルゴリズムに基づき、クライアントは、ルートを検出するか、あるいはピン間の接続が検出不可であると判断する(現在のビア制限のためなど)。一部の実施例では、クライアントはまた、所定時間後に接続をルート決定することを停止し、必要となる時間に基づきルート決定することができないと通知するよう構成されてもよい。ブロック305から、クライアントはブロック307に移行する。ブロック305においてクライアントが割り当てられたピンペアのルートを検出した場合、クライアントは、「yes」ブランチによりブロック309に移行する。ブロック309において、クライアントは、検出されたルートを含む編集リクエストをサーバに転送する。ブロック311において、クライアントは、ブロック305の前であって、ブロック303の後にPCB設計のそれのコピーを当該コピーの状態に戻す。ブロック311から、クライアントは、ブロック315に戻り、サーバからのさらなる指示を待機する。クライアントがブロック305において割り当てられたピンペアのルートを検出することができなかった(又はタイムアウトとなった)場合、クライアントは、「no」ブランチによりブロック307からブロック313に移行する。ブロック313において、クライアントは、ピンペア接続をルート決定することができないことを通知する。その後、クライアントはさらなる指示を待機するためブロック315に移行する。
一部の実施例では、図19に示されるように、サーバは、ルート決定のため同一のピンペア(ya−yb)を複数のクライアントに割り当てるようにしてもよい。一部のケースでは、ルーティングセッションは、ほとんど完了し、ルート決定されていないピンペアよりクライアントの方が多くなるかもしれない。他のケースでは、比較のため他のルートを展開することが望ましいかもしれない。ピンペア接続をルート決定するのに要する処理時間は、より多くのピン接続が追加されるに従って、大きく増加しうる。より多くのクライアントが同じルーティング問題を解こうとする場合、解は潜在的により速く検出されるかもしれない。これについて、図19に示されるように、クライアントには、同じピンペアをルート決定するための異なるパラメータが与えられているかもしれない。一例として、1つのクライアントは必要に応じて多数のビアを利用することが許され、他のクライアントは1つのPCBレイヤを占有する多方向トレースを利用することが許されているかもしれない(すなわち、ビアを利用することなく方向を変更する)。他の例として、1つのクライアントは、ルートの一部を削除し、再ルート決定することが許され、他のクライアントは、他のルート部分を削除し、再ルート決定することが許されているかもしれない。また、クライアントには異なるコンポーネント配置、異なるルーティングスキーム、異なる接続スケジュール又は他の異なるパラメータを有するルーティング割当てが与えられてもよい。さらなる他の実施例では、ピンペアをルート決定するクライアントには、労力の重複を回避するため、同じピンペアを他のクライアントがルート決定することによりしさされるルートがアドバイスされる。同一のピンペアをルート決定するクライアントの状況は、例えば、何れのルーティングパラメータがより迅速な進捗を可能にするか判断するためなどに監視されてもよい。
本発明を実行する複数の例が説明されたが、当業者は、添付された請求項に与えられる本発明の趣旨及び範囲内に属する上述の例の変形及び並び替えが多数存在するということは理解するであろう。上述のアルゴリズム、システム構成及び他の特徴は、単なる例にすぎない。多数の他のアルゴリズム、構成及び特徴と同様に、上述のアルゴリズム、システム及び特徴の変更は本発明の範囲内に属する。例えば、上述の実施例は、1つのピンペアを各クライアントコンピュータに割り当てるが、本発明はこのような実施例に限定されるものではない。他の実施例では、サーバは、あるクライアントに対する自動ルーティング割当てに2つの(又はそれ以上の)ピンペアを含むかもしれない。その後、クライアントは、これらのピンペアの一部又はすべてについての提起されたルートを返す。従って、以下の請求項の単数形の使用は、排他的に解釈されるべきではない(例えば、「ある」とは、「唯一」を意味するものではない)。他の例として、2つのピンの間のルートを検出するクライアントコンピュータは、編集リクエストをサーバに転送するとすぐに、PCB設計のそれのコピーを以前の状態に戻す必要はない。代わりに、クライアントは、それの検出したルートが残ることを許容することが可能であり、サーバが検出されたルートを拒絶した場合、クライアントは、拒絶を受信すると、検出されたルートを削除することができる。さらに、ここで使用される(請求項を含む)「プロセッサ」という表現は、単一のプロセッサに限定されず、相互に関連する処理機能を共に実行するよう協調する複数のプロセッサを含むものであってもよい。
図1は、本発明の少なくとも一部の特徴が実現される計算システムのブロック図である。 図2は、PCB設計の一部のブロック図である。 図3は、図2のPCB設計のネットリストである。 図4は、本発明の少なくとも一部の実施例による分散自動ルーティングセッションの始めを概略図により示す。 図5は、図4の自動ルーティングセッションの以降の時点を示す。 図6は、図4の自動ルーティングセッションの以降の時点を示す。 図7は、図4の自動ルーティングセッションの以降の時点を示す。 図8は、図4の自動ルーティングセッションの以降の時点を示す。 図9は、図4の自動ルーティングセッションの以降の時点を示す。 図10は、提起されたピン接続ルートの設計基準違反を示す。 図10Aは、提起されたピン接続ルートの設計基準違反を示す。 図11は、図4の自動ルーティングセッションのさらなる以降の時点を示す。 図12は、図4の自動ルーティングセッションのさらなる以降の時点を示す。 図13は、相対位置によるピンペアの分類を示す。 図14は、少なくとも一部の実施例によるピンペア間のオーバーラップ量をチェックするアルゴリズムを示すフローチャートである。 図15は、分離距離の降順によるピンペアを有するネットリストを示す。 図16は、最小のビアによるピンペアの分類を示す。 図17は、本発明の少なくとも一部の実施例によるサーバからの分散自動ルーティングセッションを制御する方法のフローチャートである。 図18は、本発明の少なくとも一部の実施例による分散自動ルーティングセッションにおいてクライアントを実行する方法のフローチャートである。 図19は、本発明の少なくとも一部の実施例による複数のクライアントへの同一のピンペアの割当てを示す。

Claims (24)

  1. プリント基板(PCB)の導電性パスをルート決定する方法であって、
    (a)PCB設計の回路コンポーネントのコンポーネントピンペアのリストから、複数のクライアントコンピュータのそれぞれに異なるコンポーネントピンペアを割り当てるステップであって、異なる各コンポーネントピンペアが、前記PCB設計についてマスタデータベースを維持するサーバコンピュータにより前記複数のクライアントコンピュータの異なるクライアントコンピュータに割り当てられ、前記マスタデータベースは、前記回路コンポーネント、コンポーネントの配置及び導電性パスのルートに関する情報を有し、各クライアントコンピュータが、2つのコンポーネントピンの間の導電性パスのルートを自動的に決定するよう構成され、各クライアントコンピュータが、前記マスタデータベースからの前記情報の少なくとも一部を有するローカルデータベースを維持する、前記割り当てるステップと、
    (b)前記サーバコンピュータにおいて、各クライアントコンピュータから、該クライアントコンピュータに割り当てられたピンペアを接続する導電性パスの提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (c)前記提起されたルートを前記PCB設計に含めるため、前記サーバコンピュータによって、前記編集リクエストを前記マスタデータベースに適用するステップと、
    (d)前記ステップ(a)〜(c)を繰り返すステップと、
    から構成され
    前記ステップ(a)において、前記サーバコンピュータにより、各ピンペアを、前記異なるクライアントコンピュータに割り当てる場合に、現在、あるクライアントコンピュータに割り当てられているピンペアを対角的なノードに配置した矩形と、複数の候補となるピンペアを対角的なノードに配置した各矩形とにより形成される各矩形間の重複を評価し、前記候補となるピンペアに対応する矩形の何れかが前記割り当てられているピンペアに対応する矩形との最小の重複を有する矩形に対応するか決定し、前記最小の重複を有する矩形に対応すると決定された前記候補となるピンペアを次のクライアントコンピュータに割り当てることを特徴とする方法。
  2. 請求項1記載の方法であって、さらに、
    (e)前記サーバコンピュータから各クライアントコンピュータに、前記ステップ(c)において前記マスタデータベースに含められた前記提起されたルートを前記クライアントコンピュータのローカルデータベースに含めるよう前記クライアントコンピュータに指示する更新メッセージを転送するステップを有することを特徴とする方法。
  3. 請求項2記載の方法であって、
    前記ステップ(e)は、各クライアントコンピュータに、前記ステップ(b)において受け付けた編集リクエストにおいて前記クライアントコンピュータにより提起されたルートを前記クライアントコンピュータのローカルデータベースに含めるよう指示する更新メッセージを前記クライアントコンピュータに転送するステップを有することを特徴とする方法。
  4. 請求項1記載の方法であって、さらに、
    (e)前記PCB設計に提起されたルートを含めるため前記マスタデータベースに編集リクエストを適用する際、前記サーバコンピュータによって、前記ルートを含めたことを示す更新を生成するステップと、
    (f)前記クライアントコンピュータが割り当てられたピンペアのルートを決定していないとき、前記サーバコンピュータから各クライアントコンピュータに前記更新を転送するステップと、
    を有することを特徴とする方法。
  5. 請求項4記載の方法であって、
    前記ステップ(e)は、前記マスタデータベースに維持される前記PCB設計に含められた複数の提起されたルートのそれぞれについて個別の更新メッセージを別々に生成し、
    前記ステップ(e)はさらに、前記クライアントコンピュータの更新キューに各個別の更新メッセージを配置し、
    前記ステップ(f)は、クライアントコンピュータが割り当てられたピンペアについてルートを現在決定していないとき、前記クライアントコンピュータの更新キューのコンテンツを転送する、
    ことを特徴とする方法。
  6. 請求項1記載の方法であって、
    前記ステップ(d)は、前記リスト全体の複数のパスにおいて前記ステップ(a)〜(c)を繰り返す、
    ことを特徴とする方法。
  7. 請求項6記載の方法であって、
    前記ステップ(a)は、前記リスト全体の第1パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第1の最大数以下のビアを有するルートを決定するよう指示し、
    前記ステップ(a)はさらに、前記リスト全体の第2パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第1の最大数より大きな第2の最大数以下のビアを有するルートを決定するよう指示し、
    前記ステップ(a)はさらに、前記リスト全体の第3パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第2の最大数より大きな第3の最大数以下のビアを有するルートを決定するよう指示する、
    ことを特徴とする方法。
  8. 請求項1記載の方法であって、
    前記ステップ(a)はさらに、前記ピンペア内のピンを分離する距離に少なくとも部分的に基づき、前記リストからピンペアを割り当てる、ことを特徴とする方法。
  9. 請求項1記載の方法であって、
    前記ステップ(a)は、コンポーネントピンペアを前記複数のクライアントコンピュータの第1クライアントコンピュータに、前記同一のコンポーネントピンペアを前記複数のクライアントコンピュータの第2クライアントコンピュータに、前記第1及び第2クライアントコンピュータが、前記割り当てられるピンペアのピンの間の導電性パスを同時にルート決定するよう割り当てることを特徴とする方法。
  10. 請求項記載の方法であって、
    前記ステップ(a)は、第1ルーティングパラメータ群により前記ピンペアを前記第1クライアントコンピュータに割当て、第2ルーティングパラメータ群により前記ピンペアを前記第2クライアントコンピュータに割当てることを特徴とする方法。
  11. 請求項1記載の方法であって、さらに、
    (e)前記サーバコンピュータにおいて、前記複数のクライアントコンピュータのクライアントコンピュータXから、前記クライアントコンピュータXに割り当てられたピンペアNを接続する導電性パスについて提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (f)前記サーバコンピュータにおいて、前記ステップ(e)において受け付けた提起されたルートを拒絶するステップと、
    (g)前記サーバコンピュータから前記クライアントコンピュータXに、前記ステップ(e)において受け付けた情報における前記提起されたルートの拒絶を示す更新メッセージを転送するステップと、
    (h)前記サーバコンピュータにおいて、前記クライアントコンピュータXから、前記ピンペアNを接続する導電性パスについて異なる提起されたルートに関する情報を含む以降の編集リクエストを受け付けるステップと、
    (i)前記ステップ(h)において受け付けた前記編集リクエストにより提起されるルートを前記PCB設計に含めるため、前記サーバコンピュータにより前記ステップ(h)において受け付けた編集リクエストを前記マスタデータベースに適用するステップと、
    を有することを特徴とする方法。
  12. 請求項11記載の方法であって、さらに、
    (j)前記サーバコンピュータにおいて、前記ステップ(e)の前に前記複数のクライアントコンピュータのクライアントコンピュータYから、前記クライアントコンピュータYに割り当てられたピンペアMを接続する導電性パスについて提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (k)前記ステップ(j)の編集リクエストにより提起されたルートを前記PCB設計に含めるため、前記サーバコンピュータにより前記ステップ(j)において受け付けた編集リクエストを前記マスタデータベースに適用するステップと、
    (l)前記ステップ(j)の編集リクエストによって前記提起されたルートを前記PCB設計に含めたことを示す更新メッセージを生成するステップと、
    を有し、
    前記ステップ(g)は、前記ステップ(j)の編集リクエストによって前記提起されたルートを前記PCB設計に含めたことを示す更新メッセージと共に、前記ステップ(e)において受け付けた情報における前記提起されたルートの拒絶を示す更新メッセージを転送することを含むことを特徴とする方法。
  13. 命令シーケンスを表すデータを格納するマシーン可読媒体であって、前記命令シーケンスは、プロセッサにより実行時に、
    (a)PCB設計の回路コンポーネントのコンポーネントピンペアのリストから、複数のクライアントコンピュータのそれぞれに異なるコンポーネントピンペアを割り当てるステップであって、異なる各コンポーネントピンペアが、前記PCB設計についてマスタデータベースを維持するサーバコンピュータにより前記複数のクライアントコンピュータの異なるクライアントコンピュータに割り当てられ、前記マスタデータベースは、前記回路コンポーネント、コンポーネントの配置及び導電性パスのルートに関する情報を有し、各クライアントコンピュータが、2つのコンポーネントピンの間の導電性パスのルートを自動的に決定するよう構成され、各クライアントコンピュータが、前記マスタデータベースからの前記情報の少なくとも一部を有するローカルデータベースを維持する、前記割り当てるステップと、
    (b)前記サーバコンピュータにおいて、各クライアントコンピュータから、該クライアントコンピュータに割り当てられたピンペアを接続する導電性パスの提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (c)前記提起されたルートを前記PCB設計に含めるため、前記サーバコンピュータによって、前記編集リクエストを前記マスタデータベースに適用するステップと、
    (d)前記ステップ(a)〜(c)を繰り返すステップと、
    を前記プロセッサに実行させ
    前記ステップ(a)において、前記サーバコンピュータにより、各ピンペアを、前記異なるクライアントコンピュータに割り当てる場合に、現在、あるクライアントコンピュータに割り当てられているピンペアを対角的なノードに配置した矩形と、複数の候補となるピンペアを対角的なノードに配置した各矩形とにより形成される各矩形間の重複を評価し、前記候補となるピンペアに対応する矩形の何れかが前記割り当てられているピンペアに対応する矩形との最小の重複を有する矩形に対応するか決定し、前記最小の重複を有する矩形に対応すると決定された前記候補となるピンペアを次のクライアントコンピュータに割り当てることを特徴とする媒体。
  14. 請求項13記載の媒体であって、前記命令シーケンスはさらに、
    (e)前記サーバコンピュータから各クライアントコンピュータに、前記ステップ(c)において前記マスタデータベースに含められた前記提起されたルートを前記クライアントコンピュータのローカルデータベースに含めるよう前記クライアントコンピュータに指示する更新メッセージを転送するステップを実行させることを特徴とする媒体。
  15. 請求項14記載の媒体であって、
    前記ステップ(e)は、各クライアントコンピュータに、前記ステップ(b)において受け付けた編集リクエストにおいて前記クライアントコンピュータにより提起されたルートを前記クライアントコンピュータのローカルデータベースに含めるよう指示する更新メッセージを前記クライアントコンピュータに転送するステップを有することを特徴とする媒体。
  16. 請求項13記載の媒体であって、前記命令シーケンスはさらに、
    (e)前記PCB設計に提起されたルートを含めるため前記マスタデータベースに編集リクエストを適用する際、前記サーバコンピュータによって、前記ルートを含めたことを示す更新を生成するステップと、
    (f)前記クライアントコンピュータが割り当てられたピンペアのルートを決定していないとき、前記サーバコンピュータから各クライアントコンピュータに前記更新を転送するステップと、
    を実行させることを特徴とする媒体。
  17. 請求項16記載の媒体であって、
    前記ステップ(e)は、前記マスタデータベースに維持される前記PCB設計に含められた複数の提起されたルートのそれぞれについて個別の更新メッセージを別々に生成し、
    前記ステップ(e)はさらに、前記クライアントコンピュータの更新キューに各個別の更新メッセージを配置し、
    前記ステップ(f)は、クライアントコンピュータが割り当てられたピンペアについてルートを現在決定していないとき、前記クライアントコンピュータの更新キューのコンテンツを転送する、
    ことを特徴とする媒体。
  18. 請求項13記載の媒体であって、
    前記ステップ(d)は、前記リスト全体の複数のパスにおいて前記ステップ(a)〜(c)を繰り返す、
    ことを特徴とする媒体。
  19. 請求項18記載の媒体であって、
    前記ステップ(a)は、前記リスト全体の第1パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第1の最大数以下のビアを有するルートを決定するよう指示し、
    前記ステップ(a)はさらに、前記リスト全体の第2パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第1の最大数より大きな第2の最大数以下のビアを有するルートを決定するよう指示し、
    前記ステップ(a)はさらに、前記リスト全体の第3パスの間に割り当てられた各ピンペアについて、前記ピンペアに割り当てられたクライアントコンピュータに、第2の最大数より大きな第3の最大数以下のビアを有するルートを決定するよう指示する、
    ことを特徴とする媒体。
  20. 請求項13記載の媒体であって、
    前記ステップ(a)はさらに、前記ピンペア内のピンを分離する距離に少なくとも部分的に基づき、前記リストからピンペアを割り当てる、ことを特徴とする媒体。
  21. 請求項13記載の媒体であって、
    前記ステップ(a)は、コンポーネントピンペアを前記複数のクライアントコンピュータの第1クライアントコンピュータに、前記同一のコンポーネントピンペアを前記複数のクライアントコンピュータの第2クライアントコンピュータに、前記第1及び第2クライアントコンピュータが、前記割り当てられるピンペアのピンの間の導電性パスを同時にルート決定するよう割り当てることを特徴とする媒体。
  22. 請求項21記載の媒体であって、
    前記ステップ(a)は、第1ルーティングパラメータ群により前記ピンペアを前記第1クライアントコンピュータに割当て、第2ルーティングパラメータ群により前記ピンペアを前記第2クライアントコンピュータに割当てることを特徴とする媒体。
  23. 請求項13記載の媒体であって、前記命令シーケンスはさらに、
    (e)前記サーバコンピュータにおいて、前記複数のクライアントコンピュータのクライアントコンピュータXから、前記クライアントコンピュータXに割り当てられたピンペアNを接続する導電性パスについて提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (f)前記サーバコンピュータにおいて、前記ステップ(e)において受け付けた提起されたルートを拒絶するステップと、
    (g)前記サーバコンピュータから前記クライアントコンピュータXに、前記ステップ(e)において受け付けた情報における前記提起されたルートの拒絶を示す更新メッセージを転送するステップと、
    (h)前記サーバコンピュータにおいて、前記クライアントコンピュータXから、前記ピンペアNを接続する導電性パスについて異なる提起されたルートに関する情報を含む以降の編集リクエストを受け付けるステップと、
    (i)前記ステップ(h)において受け付けた前記編集リクエストにより提起されるルートを前記PCB設計に含めるため、前記サーバコンピュータにより前記ステップ(h)において受け付けた編集リクエストを前記マスタデータベースに適用するステップと、
    を実行させることを特徴とする媒体。
  24. 請求項23記載の媒体であって、前記命令シーケンスはさらに、
    (j)前記サーバコンピュータにおいて、前記ステップ(e)の前に前記複数のクライアントコンピュータのクライアントコンピュータYから、前記クライアントコンピュータYに割り当てられたピンペアMを接続する導電性パスについて提起されたルートに関する情報を含む編集リクエストを受け付けるステップと、
    (k)前記ステップ(j)の編集リクエストにより提起されたルートを前記PCB設計に含めるため、前記サーバコンピュータにより前記ステップ(j)において受け付けた編集リクエストを前記マスタデータベースに適用するステップと、
    (l)前記ステップ(j)の編集リクエストによって前記提起されたルートを前記PCB設計に含めたことを示す更新メッセージを生成するステップと、
    を実行させ、
    前記ステップ(g)は、前記ステップ(j)の編集リクエストによって前記提起されたルートを前記PCB設計に含めたことを示す更新メッセージと共に、前記ステップ(e)において受け付けた情報における前記提起されたルートの拒絶を示す更新メッセージを転送することを含むことを特徴とする媒体。
JP2006541235A 2003-11-21 2004-11-17 導電性パスの分散自動ルーティング Active JP4980066B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US52369703P 2003-11-21 2003-11-21
US60/523,697 2003-11-21
US10/870,072 US7305648B2 (en) 2003-11-21 2004-06-18 Distributed autorouting of conductive paths in printed circuit boards
US10/870,072 2004-06-18
PCT/US2004/037183 WO2005052730A2 (en) 2003-11-21 2004-11-17 Distributed autorouting of conductive paths

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010030537A Division JP5462653B2 (ja) 2003-11-21 2010-02-15 導電性パスの分散自動ルーティング方法及び媒体

Publications (2)

Publication Number Publication Date
JP2008507002A JP2008507002A (ja) 2008-03-06
JP4980066B2 true JP4980066B2 (ja) 2012-07-18

Family

ID=34595036

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006541235A Active JP4980066B2 (ja) 2003-11-21 2004-11-17 導電性パスの分散自動ルーティング
JP2010030537A Active JP5462653B2 (ja) 2003-11-21 2010-02-15 導電性パスの分散自動ルーティング方法及び媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010030537A Active JP5462653B2 (ja) 2003-11-21 2010-02-15 導電性パスの分散自動ルーティング方法及び媒体

Country Status (4)

Country Link
US (2) US7305648B2 (ja)
EP (1) EP1685464B1 (ja)
JP (2) JP4980066B2 (ja)
WO (1) WO2005052730A2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516435B2 (en) * 2001-12-10 2009-04-07 Mentor Graphics Corporation Reservation of design elements in a parallel printed circuit board design environment
EP1451732A4 (en) * 2001-12-10 2007-08-08 Mentor Graphics Corp AUTOMATED ELECTRONIC DESIGN REALIZED IN PARALLEL: SHARED SIMULTANEOUS MODIFICATION
US7587695B2 (en) 2001-12-10 2009-09-08 Mentor Graphics Corporation Protection boundaries in a parallel printed circuit board design environment
GB2393533A (en) * 2002-09-27 2004-03-31 Zuken Ltd Routing of interconnected regions e.g. of electrical circuits
WO2004111932A1 (ja) * 2003-06-10 2004-12-23 Fujitsu Limited 画像登録装置、表示制御装置、画像サーバ
US7305648B2 (en) 2003-11-21 2007-12-04 Mentor Graphics Corporation Distributed autorouting of conductive paths in printed circuit boards
US7590963B2 (en) * 2003-11-21 2009-09-15 Mentor Graphics Corporation Integrating multiple electronic design applications
US20060101368A1 (en) * 2004-09-08 2006-05-11 Mentor Graphics Corporation Distributed electronic design automation environment
US7546571B2 (en) * 2004-09-08 2009-06-09 Mentor Graphics Corporation Distributed electronic design automation environment
US20060200266A1 (en) * 2005-03-04 2006-09-07 Athena Design Systems, Inc. Systems for performing parallel distributed processing for physical layout generation
US7937681B2 (en) * 2005-04-25 2011-05-03 Cadence Design Systems, Inc. Method and mechanism for implementing automated PCB routing
US8326926B2 (en) * 2005-09-13 2012-12-04 Mentor Graphics Corporation Distributed electronic design automation architecture
US7577933B1 (en) * 2006-11-17 2009-08-18 Sun Microsystems, Inc. Timing driven pin assignment
JP5194461B2 (ja) * 2007-01-30 2013-05-08 富士通セミコンダクター株式会社 電流密度制限チェック方法及び電流密度制限チェック装置
US20080244476A1 (en) * 2007-04-02 2008-10-02 Athena Design Systems, Inc. System and method for simultaneous optimization of multiple scenarios in an integrated circuit design
US20080301613A1 (en) 2007-06-01 2008-12-04 Simon Edward Holdsworth Designing wiring harnesses
US7735044B2 (en) * 2007-06-05 2010-06-08 Simon Edward Holdsworth Combination of ground devices in wiring harness designs
US8086991B1 (en) * 2007-07-25 2011-12-27 AWR Corporation Automatic creation of vias in electrical circuit design
US20090157209A1 (en) * 2007-12-14 2009-06-18 Simon Edward Holdsworth Wire option expressions in wiring harness designs
US7533360B1 (en) * 2008-07-22 2009-05-12 International Business Machines Corporation Flow based package pin assignment
US8099693B2 (en) * 2008-11-04 2012-01-17 Cadence Design Systems, Inc. Methods, systems, and computer program product for parallelizing tasks in processing an electronic circuit design
US8527929B2 (en) 2009-12-23 2013-09-03 Cadence Design Systems, Inc. Method and system for optimally connecting interfaces across multiple fabrics
US8479134B2 (en) * 2009-12-23 2013-07-02 Cadence Design Systems, Inc. Method and system for specifying system level constraints in a cross-fabric design environment
US8438524B1 (en) * 2009-12-30 2013-05-07 Cadence Design Systems, Inc. Hierarchical editing of printed circuit board pin assignment
JP5531731B2 (ja) * 2010-03-31 2014-06-25 富士通株式会社 配線設計支援方法、配線設計支援プログラム、及び配線設計支援装置
US8261226B1 (en) 2011-07-20 2012-09-04 International Business Machines Corporation Network flow based module bottom surface metal pin assignment
JP2014211824A (ja) * 2013-04-19 2014-11-13 富士通株式会社 設計支援装置、設計支援方法、および設計支援プログラム
US9256704B2 (en) 2014-01-31 2016-02-09 International Business Machines Corporation Efficient deployment of table lookup (TLU) in an enterprise-level scalable circuit simulation architecture
GB2592946B (en) * 2020-03-11 2022-08-31 Agile Analog Ltd Analogue circuit design
GB2592947B (en) * 2020-03-11 2022-08-31 Agile Analog Ltd Analogue circuit design
GB2592948B (en) * 2020-03-11 2022-08-31 Agile Analog Ltd Analogue circuit design
US11233515B2 (en) * 2020-05-29 2022-01-25 Microsoft Technology Licensing, Llc Scheduling of tasks for execution in parallel based on geometric reach

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2515206B1 (fr) 1981-10-23 1988-10-14 Ici Plc Fermenteur
JPS6042183A (ja) 1983-08-18 1985-03-06 本田技研工業株式会社 車両用フレ−ム構造
JPS617749U (ja) 1984-06-19 1986-01-17 シャープ株式会社 空気調和機の制御装置
JPS62203278A (ja) 1986-03-03 1987-09-07 Fujitsu Ltd 並列式自動配線方式
JPH0414463Y2 (ja) 1986-06-13 1992-03-31
JPS63120862A (ja) 1986-08-20 1988-05-25 Nissan Koki Kk 内燃機関における配電器
JPH0248774A (ja) 1988-08-10 1990-02-19 Hitachi Ltd Cadシステムのデータ管理方式
JPH0256070A (ja) 1988-08-20 1990-02-26 Fujitsu Ltd 設計データ管理方式
US5107443A (en) * 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
JPH02245865A (ja) 1989-03-20 1990-10-01 Fujitsu Ltd 共同知的作業支援方式
US5258920A (en) * 1989-12-26 1993-11-02 General Electric Company Locally orientation specific routing system
JPH03278274A (ja) 1990-03-28 1991-12-09 Nec Corp 配線基板の配線順序決定方式及び配線方式
US5544067A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
EP0462914A3 (en) * 1990-06-21 1993-06-02 International Business Machines Corporation A method of creating documents using existing documents
JP3002242B2 (ja) 1990-07-10 2000-01-24 株式会社日立製作所 Cadシステム
JPH04115369A (ja) 1990-09-06 1992-04-16 Nec Corp 対話配線方式
JPH04362783A (ja) 1991-06-10 1992-12-15 Toshiba Corp 複数端末での同時並行処理機能を持つcadシステム
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5333316A (en) * 1991-08-16 1994-07-26 International Business Machines Corporation Locking and row by row modification of a database stored in a single master table and multiple virtual tables of a plurality of concurrent users
JPH0574942A (ja) 1991-09-11 1993-03-26 Mitsubishi Electric Corp レイアウトパターン設計用cad装置
JPH0573630A (ja) 1991-09-13 1993-03-26 Hitachi Ltd 分散設計支援方法およびシステム
US5339388A (en) 1991-12-31 1994-08-16 International Business Machines Corporation Cursor lock region
JP3391811B2 (ja) 1992-02-27 2003-03-31 トヨタ自動車株式会社 Cadシステムにおけるチーム形式のデータ処理方法およびcadシステム
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
US5555388A (en) * 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US5295081A (en) * 1992-10-30 1994-03-15 International Business Machines Corporation Concurrent interactive wire editing
US5515491A (en) * 1992-12-31 1996-05-07 International Business Machines Corporation Method and system for managing communications within a collaborative data processing system
JPH07113932B2 (ja) 1993-01-05 1995-12-06 日本電気株式会社 配線設計処理装置
JPH06266804A (ja) * 1993-03-16 1994-09-22 Hitachi Ltd 自動配線設計方式
JP2863428B2 (ja) * 1993-05-18 1999-03-03 富士通株式会社 会話型グラフィック・システム
JPH07175842A (ja) 1993-12-20 1995-07-14 Melco:Kk Cad装置、cad管理装置およびcadデータの処理方法
JP3278274B2 (ja) 1993-12-20 2002-04-30 キヤノン株式会社 製本装置
US5583993A (en) * 1994-01-31 1996-12-10 Apple Computer, Inc. Method and apparatus for synchronously sharing data among computer
US5452218A (en) * 1994-02-03 1995-09-19 Texas Instruments System and method for determining quality analysis on fabrication and/or assembly design using shop capability data
US5604680A (en) * 1994-08-15 1997-02-18 Cadence Design Systems, Inc. Virtual interface representation of hierarchical symbolic layouts
US5751597A (en) * 1994-08-15 1998-05-12 Fujitsu Limited CAD apparatus for LSI or printed circuit board
US5745747A (en) * 1995-02-06 1998-04-28 International Business Machines Corporation Method and system of lock request management in a data processing system having multiple processes per transaction
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP2746174B2 (ja) 1995-02-27 1998-04-28 日本電気株式会社 並行設計システム
US6134549A (en) * 1995-03-31 2000-10-17 Showcase Corporation Client/server computer system having personalizable and securable views of database data
JPH0916607A (ja) * 1995-06-26 1997-01-17 Hitachi Ltd データベース管理システムにおけるインデクス管理方法
JPH0962726A (ja) 1995-08-29 1997-03-07 Hitachi Ltd Cadデータインタフェース方法
JPH09212530A (ja) 1996-02-02 1997-08-15 Fuji Xerox Co Ltd 図面管理装置
WO1997030635A1 (fr) * 1996-02-21 1997-08-28 Sekisui Kagaku Kogyo Kabushiki Kaisya Procede et dispositif de diagnostic de l'osteoporose
US6023565A (en) * 1996-03-29 2000-02-08 Xilinx, Inc. Method for configuring circuits over a data communications link
JP3562134B2 (ja) 1996-04-19 2004-09-08 富士ゼロックス株式会社 協調設計支援システム及び方法
US5845067A (en) * 1996-09-09 1998-12-01 Porter; Jack Edward Method and apparatus for document management utilizing a messaging system
JPH10105586A (ja) 1996-09-26 1998-04-24 Toyota Keeramu:Kk Cadシステムにおけるチーム形式による設計方式及びその設計方法
GB2321322B (en) * 1996-10-28 2001-10-10 Altera Corp Remote software technical support
US5950201A (en) * 1996-12-06 1999-09-07 International Business Machines Corporation Computerized design automation method using a single logical PFVL paradigm
US6088693A (en) * 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
US5826265A (en) * 1996-12-06 1998-10-20 International Business Machines Corporation Data management system having shared libraries
US6157935A (en) * 1996-12-17 2000-12-05 Tran; Bao Q. Remote data access and management system
JP3057019B2 (ja) * 1997-01-24 2000-06-26 キヤノン株式会社 部品選定装置及びcad機能を備えた部品選定システム
JP3766733B2 (ja) 1997-02-05 2006-04-19 松下電器産業株式会社 部品間結線の表示方法及び装置
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
JPH10307855A (ja) 1997-05-08 1998-11-17 Nec Corp プリント配線板の配線方法
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6442570B1 (en) * 1997-10-27 2002-08-27 Microsoft Corporation Object identification and data communication during an object synchronization process
US6110213A (en) * 1997-11-06 2000-08-29 Vlt Coporation Fabrication rules based automated design and manufacturing system and method
US6654747B1 (en) * 1997-12-02 2003-11-25 International Business Machines Corporation Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions
US5966707A (en) * 1997-12-02 1999-10-12 International Business Machines Corporation Method for managing a plurality of data processes residing in heterogeneous data repositories
US6182115B1 (en) * 1998-03-06 2001-01-30 International Business Machines Corp. Method and system for interactive sharing of text in a networked environment
JP2951312B1 (ja) 1998-04-03 1999-09-20 株式会社トヨタケーラム チーム形式設計用cadシステム
US6356796B1 (en) * 1998-12-17 2002-03-12 Antrim Design Systems, Inc. Language controlled design flow for electronic circuits
US6327594B1 (en) * 1999-01-29 2001-12-04 International Business Machines Corporation Methods for shared data management in a pervasive computing environment
US6782511B1 (en) * 1999-05-26 2004-08-24 Cadence Design Systems, Inc. Behavioral-synthesis electronic design automation tool business-to-business application service provider
US6424959B1 (en) * 1999-06-17 2002-07-23 John R. Koza Method and apparatus for automatic synthesis, placement and routing of complex structures
US6553555B1 (en) * 1999-08-27 2003-04-22 Dell Products L.P. Maintaining signal guard bands when routing through a field of obstacles
US6687710B1 (en) * 1999-12-03 2004-02-03 Synchronicity Software, Inc. Intellectual property library management system
US6418552B1 (en) * 1999-12-10 2002-07-09 Hewlett-Packard Company Method and apparatus for optimizing trace lengths to maximize the speed of a clocked bus
US6484177B1 (en) * 2000-01-13 2002-11-19 International Business Machines Corporation Data management interoperability methods for heterogeneous directory structures
US6851094B1 (en) * 2000-02-28 2005-02-01 Cadence Design Systems, Inc. Automated method and system for selecting and procuring electronic components used in circuit and chip designs
US6594799B1 (en) * 2000-02-28 2003-07-15 Cadence Design Systems, Inc. Method and system for facilitating electronic circuit and chip design using remotely located resources
US6530065B1 (en) * 2000-03-14 2003-03-04 Transim Technology Corporation Client-server simulator, such as an electrical circuit simulator provided by a web server over the internet
US6460170B1 (en) * 2000-04-29 2002-10-01 Hewlett Packard Company Connection block for interfacing a plurality of printed circuit boards
US6671699B1 (en) * 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
WO2001093117A2 (en) 2000-06-01 2001-12-06 Siemens Dematic Electronics Assembly Systems, Inc. Electronics assembly systems customer benefit modeling tools and methods
AU2001266660A1 (en) * 2000-06-02 2001-12-17 Virtio Corporation Method and system for virtual prototyping
US7143134B2 (en) * 2000-06-02 2006-11-28 Virtual Ink Corporation System and method for integrating electronic transcription systems
US7246055B1 (en) * 2000-08-28 2007-07-17 Cadence Design Systems, Inc. Open system for simulation engines to communicate across multiple sites using a portal methodology
US6611848B1 (en) * 2000-09-13 2003-08-26 Radiant Data Corporation Methods for maintaining data and attribute coherency in instances of sharable files
US6721922B1 (en) * 2000-09-27 2004-04-13 Cadence Design Systems, Inc. System for electronic circuit characterization, analysis, modeling and plan development
CA2370766C (en) * 2000-10-18 2003-09-09 Chipworks Design analysis workstation for analyzing integrated circuits
US6684379B2 (en) * 2000-10-18 2004-01-27 Chipworks Design analysis workstation for analyzing integrated circuits
JP4031905B2 (ja) * 2000-11-09 2008-01-09 富士通株式会社 回路設計装置及び回路設計方法
US7036101B2 (en) * 2001-02-26 2006-04-25 Cadence Design Systems, Inc. Method and apparatus for scalable interconnect solution
US6742165B2 (en) * 2001-03-28 2004-05-25 Mips Technologies, Inc. System, method and computer program product for web-based integrated circuit design
US6931369B1 (en) * 2001-05-01 2005-08-16 National Semiconductor Corporation Method to perform thermal simulation of an electronic circuit on a network
US6578174B2 (en) * 2001-06-08 2003-06-10 Cadence Design Systems, Inc. Method and system for chip design using remotely located resources
US7143094B2 (en) * 2001-07-18 2006-11-28 International Business Machines Corporation Method and apparatus for ensuring data consistency amongst a plurality of disparate systems having multiple consumer channels
US7039892B2 (en) * 2001-07-24 2006-05-02 Hewlett-Packard Development Company, L.P. Systems and methods for ensuring correct connectivity between circuit designs
US6678877B1 (en) * 2001-08-15 2004-01-13 National Semiconductor Corporation Creating a PC board (PCB) layout for a circuit in which the components of the circuit are placed in the determined PCB landing areas
US6678876B2 (en) * 2001-08-24 2004-01-13 Formfactor, Inc. Process and apparatus for finding paths through a routing space
US7337093B2 (en) * 2001-09-07 2008-02-26 Purdue Research Foundation Systems and methods for collaborative shape and design
JP2003132094A (ja) * 2001-10-25 2003-05-09 Ricoh Co Ltd 設計変更支援システム、プログラムおよび記録媒体
CN1591411A (zh) * 2001-11-09 2005-03-09 无锡永中科技有限公司 数据处理系统
US6760890B2 (en) * 2001-11-29 2004-07-06 Agilent Technologies, Inc. Systems and methods for linking a graphical display and an n-dimensional data structure in a graphical user interface
US7516435B2 (en) * 2001-12-10 2009-04-07 Mentor Graphics Corporation Reservation of design elements in a parallel printed circuit board design environment
US6708313B2 (en) * 2001-12-10 2004-03-16 Charles Pfeil Parallel electronic design automation: shared simultaneous editing
US7587695B2 (en) * 2001-12-10 2009-09-08 Mentor Graphics Corporation Protection boundaries in a parallel printed circuit board design environment
EP1451732A4 (en) 2001-12-10 2007-08-08 Mentor Graphics Corp AUTOMATED ELECTRONIC DESIGN REALIZED IN PARALLEL: SHARED SIMULTANEOUS MODIFICATION
US6711718B2 (en) * 2001-12-10 2004-03-23 Charles Pfeil Parallel electronic design automation: distributed simultaneous editing
JP2003186914A (ja) 2001-12-18 2003-07-04 Stella Corp チーム形式設計・編集システム
US6751781B2 (en) * 2002-01-18 2004-06-15 Advanced Semiconductor Engineering, Inc. Thermal data automatic service system
WO2003073472A2 (en) * 2002-02-22 2003-09-04 Flextronics International Usa, Inc. Electronic component design, procurement and manufacturing collaboration
KR100442697B1 (ko) * 2002-03-11 2004-08-02 삼성전자주식회사 자동 와이어 본딩 공정을 위한 통합 관리 시스템
KR20040091094A (ko) * 2002-03-12 2004-10-27 싱크론 테크놀로지스, 엘엘시 네트워크 기반 부품 관리 시스템을 위한 시스템, 방법 및컴퓨터 프로그램 제품
WO2003088095A1 (fr) 2002-04-17 2003-10-23 Fujitsu Limited Procede de mise au point de circuits integres, support de stockage de programmes contenant un procede de mise au point de circuits integres, systeme de mise au point simultanee d'asic et de circuit logique programmable, et programme et procede de mise au point
JP2003316841A (ja) 2002-04-25 2003-11-07 Nec Corp Lsi配線システム及びプログラム
US7546360B2 (en) * 2002-06-06 2009-06-09 Cadence Design Systems, Inc. Isolated working chamber associated with a secure inter-company collaboration environment
USPP14347P3 (en) 2002-06-10 2003-12-02 The Horticulture And Food Research Institute Of New Zealand, Limited Peach tree named “Southern Star”
US7143341B1 (en) * 2002-06-20 2006-11-28 Cadence Design Systems Method and apparatus for concurrent engineering and design synchronization of multiple tools
US20040093997A1 (en) 2002-11-15 2004-05-20 Huang Li Shiu Tool extension with a screw attraction structure
CN1530863B (zh) * 2003-01-20 2010-04-28 松下电器产业株式会社 设计检查系统以及设计检查方法
US6983434B1 (en) * 2003-02-13 2006-01-03 Hewlett-Packard Development Company, L.P. Differential via pair impedance adjustment tool
US7240319B2 (en) * 2003-02-19 2007-07-03 Diversified Systems, Inc. Apparatus, system, method, and program for facilitating the design of bare circuit boards
US7458055B2 (en) * 2003-02-19 2008-11-25 Diversified Systems, Inc. Apparatus, system, method, and program for facilitating the design of electronic assemblies
US7441219B2 (en) * 2003-06-24 2008-10-21 National Semiconductor Corporation Method for creating, modifying, and simulating electrical circuits over the internet
TWI244590B (en) * 2003-06-30 2005-12-01 Taiwan Semiconductor Mfg System and method for reticle field layout design advanced features are not supported in freeware version
JP4115369B2 (ja) 2003-09-22 2008-07-09 独立行政法人物質・材料研究機構 Ni基超合金
US7103434B2 (en) * 2003-10-14 2006-09-05 Chernyak Alex H PLM-supportive CAD-CAM tool for interoperative electrical and mechanical design for hardware electrical systems
US7305648B2 (en) 2003-11-21 2007-12-04 Mentor Graphics Corporation Distributed autorouting of conductive paths in printed circuit boards
US7590963B2 (en) 2003-11-21 2009-09-15 Mentor Graphics Corporation Integrating multiple electronic design applications
US7661101B2 (en) * 2004-01-15 2010-02-09 Parametric Technology Corporation Synchronous and asynchronous collaboration between heterogeneous applications
US20050237776A1 (en) * 2004-03-19 2005-10-27 Adrian Gropper System and method for patient controlled communication of DICOM protected health information
US20050246672A1 (en) * 2004-04-29 2005-11-03 Bois Karl J Differential trace pair coupling verification tool
US7546571B2 (en) * 2004-09-08 2009-06-09 Mentor Graphics Corporation Distributed electronic design automation environment
US20060101368A1 (en) 2004-09-08 2006-05-11 Mentor Graphics Corporation Distributed electronic design automation environment

Also Published As

Publication number Publication date
JP2008507002A (ja) 2008-03-06
US20080034342A1 (en) 2008-02-07
WO2005052730A3 (en) 2009-04-09
WO2005052730A2 (en) 2005-06-09
US7305648B2 (en) 2007-12-04
JP2010134960A (ja) 2010-06-17
US7788622B2 (en) 2010-08-31
JP5462653B2 (ja) 2014-04-02
US20050114821A1 (en) 2005-05-26
EP1685464A2 (en) 2006-08-02
EP1685464A4 (en) 2010-12-08
EP1685464B1 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
JP4980066B2 (ja) 導電性パスの分散自動ルーティング
US5500804A (en) Method to optimize the wiring of multiple wiring media packages
US20030009737A1 (en) Detailed method for routing connections using tile expansion techniques and associated methods for designing and manufacturing VLSI circuits
US8122397B2 (en) Method and system for mapping source elements to destination elements as interconnect routing assignments
US7917870B2 (en) Enhancing a power distribution system in a ceramic integrated circuit package
JPS60130843A (ja) 接続路を設定する方法
JP2001209667A (ja) 多端子ネットを自動的に発生する方法及び装置並びに多端子ネット自動発生方法を実行するためのプログラムを記憶したプログラム記憶媒体
US10831972B2 (en) Capacity model for global routing
US7577933B1 (en) Timing driven pin assignment
US8261226B1 (en) Network flow based module bottom surface metal pin assignment
JP5251542B2 (ja) 電源設計プログラム、方法並びに装置
US20030188281A1 (en) Maximal tile generation technique and associated methods for designing and manufacturing VLSI circuits
US20040263152A1 (en) Optimized pin assignment with constraints
US6904584B2 (en) Method and system for placing logic nodes based on an estimated wiring congestion
US7003750B2 (en) Topology based wire shielding generation
Dion Fast printed circuit board routing
JP6981296B2 (ja) バス配線探索プログラム、バス配線探索方法および情報処理装置
WO2016118039A1 (en) System and method for implementing and validating star routing for power connections at chip level
JP5966300B2 (ja) 配線支援方法及び装置
JP2004265436A (ja) 配線設計装置
JPH0450627B2 (ja)
JPH0327589A (ja) 多層配線方法
Ozdal Escape routing for dense pin clusters in integrated circuits
JP2003345847A (ja) 半導体装置の回路設計支援装置およびレイアウト変更方法
JPH0620010A (ja) 自動配線装置および方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090528

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090624

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091013

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120224

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120418

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4980066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250