JP3567134B2 - 電子デバイスおよび電子装置を製造および設計する方法 - Google Patents
電子デバイスおよび電子装置を製造および設計する方法 Download PDFInfo
- Publication number
- JP3567134B2 JP3567134B2 JP2000531798A JP2000531798A JP3567134B2 JP 3567134 B2 JP3567134 B2 JP 3567134B2 JP 2000531798 A JP2000531798 A JP 2000531798A JP 2000531798 A JP2000531798 A JP 2000531798A JP 3567134 B2 JP3567134 B2 JP 3567134B2
- Authority
- JP
- Japan
- Prior art keywords
- terminals
- nodes
- edges
- terminal
- graph
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K1/00—Printed circuits
- H05K1/02—Details
- H05K1/11—Printed elements for providing electric connections to or between printed circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/70—Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
- H01L21/77—Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
- H01L21/78—Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
- H01L21/82—Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Manufacturing & Machinery (AREA)
- Power Engineering (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の分野】
この発明は一般的には、プリント回路基板および半導体装置のような、電子装置の設計および製造の分野に関し、かつより特定的にはチャネルの配線の設計における改善に関する。
【0002】
【発明の背景】
チャネルの配線の設計に対しては、従来技術から多数の手法が知られている。ナビード・シャワニによる参考書「VLSI物理設計の自動化のためのアルゴリズム(Algorithms for VLSI Physical Design Automation)」、第2版、1995年、クルーワ・アカデミック・パブリッシャーズにおいては、特に頁267〜339において、従来技術のルーティング手法の概説が与えられている。
【0003】
チャネルルーティングのために従来技術において通常使用されている一つの手法は垂直制限グラフ(vertical constraint graph)の手段によるルーティング問題のモデリングまたはモデル化(modeling)である。垂直制限グラフにおいては、ルーティングされるべき各々のネット(net)は該グラフにおける一つのノード(node)によって表わされる。もしあるネットのいずれかの端子と他のネットのいずれかの端子の間に垂直制限(vertical constraint)が存在すれば、垂直制限グラフにおける二つの対応するノードは前記垂直制限を表わすためにダイレクテッド・エッジまたは有向エッジ(directed edge)によって接続される。このようにして、始めはルーティングされるべき各々のネットはチャネルにおける一つだけの水平トランクによってルーティングできるものと仮定される。
【0004】
前記垂直制限グラフに何らかのサイクル(cycles)が存在すれば、これらはトランクの実際の割当ての前に「ドッグレッギング(doglegging)」と称される技術によって除去されなければならない。ドッグレッギング技術はまた上で述べたナビード・シャワニによる文献の、7.4.2.2章、299〜301頁に述べられている。ドッグレッギング技術のより詳細な説明はディー・エヌ・ドイッチ、「ドッグレッグ・チャネル・ルータ(A dogleg channel router)」、Proceeding of 13th ACM/IEEE Design Automation Conference、425〜433頁、1976年に、かつプレアス、「ノンターミナル・ドックレッグによるチャネルルーティング(Channel Routing with Non−Terminal Doglegs)」、Proceedings of the European Design Automation Conference、1990年3月、グラスゴー、英国、451〜458頁に与えられている。
【0005】
図1を参照して、垂直制限グラフおよびチャネルルーティングのためのドッグレッギングを使用する一般的な従来技術の手法をより詳細に説明する。
【0006】
ステップ100において、ルーティングされるべき同じネットの全ての端子(terminals)がチャネルにおける一つの単一の仮想のトランク(imaginary trunk)に論理的に統合される。ステップ102において、垂直制限グラフ(VCG)がこの抽象化(abstraction)に従って構築される。
【0007】
ステップ104において、ステップ102において構築された垂直制限グラフがサイクル(cycles)を有するか否かが判定される。もし何らのサイクルも存在しなければ、これは該チャネルが実際にステップ100で規定された仮想のトランクを使用することにより導くことができることを意味する。この場合、配線レイアウトを生成するためにステップ106においてトランクが実際にチャネルに割り当てられる。
【0008】
もし垂直制限グラフにサイクルがあれば、制御はステップ104からステップ108に進む。ステップ108において、垂直制限グラフにおけるサイクルがドッグレッギングの手段によって除去される。ドッグレッギングによって、ステップ100において定義された仮想のトランクがセグメントに分解されて競合する垂直制限を除去する。次に、ステップ106において、チャネルに対するトランクの割当てが行なわれる。
【0009】
この従来技術の手法の主な不都合はネットの数によって4の累乗で(the power of four)増大する計算機的な要求および、長い計算の後でも、実際に遭遇する全ての種別のチャネルルーティング問題に対してトランクがチャネルに割り当てられる前にステップ108において全てのサイクルが除去できるという保証がないという事実である。したがって、電子装置を設計しかつ製造するための強化された方法の必要性が存在する。
【0010】
【発明の概要】
本発明の基礎をなす問題は基本的には独立請求項に記載された構成要件を適用することにより解決される。好ましい実施形態は従属請求項に与えられている。
【0011】
本発明の方法はそれがいずれの従来技術の設計方法によっても解決方法が見つからなかった競合する垂直制限を有する集積回路チップまたはプリント回路基板のような、電子装置を設計および製造できるようにすることにある。
【0012】
本発明の方法によって解決できる問題の種別は知られた従来技術の設計方法では解決できなった以下の種別を含む。
1.分割(splitting)はサイクルの数を低減する結果とならないため垂直制限グラフにおけるノードの分割によって解決できない競合する垂直制限、および
2.それぞれのノードの分割はサイクルを生成しないため解決できない競合する垂直制限。
【0013】
本発明はそれが構成的または合成的手法(compositional approach)を使用する点で有利である。始めに、ルーティングされるべきチャネルの全ての端子が個々に端子の垂直制限グラフにおいて表現されかつまた個々の端子の間に存在する垂直制限が前記端子の垂直制限グラフにおいて表現される。このようにして、解決されるべきルーティング問題に関する完全な情報が端子の垂直制限グラフに含まれる。
【0014】
さらに、本発明の構成的な手法はそれがはるかに少ない計算時間を要求するという点で有利である。計算機的な要求はネットの数とともに3の累乗で増大するのみである。さらに、本発明によれば、解の存在が早い段階で予測できるから不必要な計算時間が節約できる。
【0015】
さらに、本発明の方法は従来技術と比較してより弱い制限の下で適用でき、従ってチャネルルーティング品質が改善できる。
【0016】
これは、より小型のチャネル配線設計を特徴としかつ従ってより少ないシリコン基板スペースおよびより少ない電力消費を要求する強化された電子装置の設計および製造につながる。本発明の方法から生じるより小型のチャネル配線設計はまた信号伝搬遅延によい影響を与えかつ従って電子デバイスおよび/またはそれが集積された、デジタル無線機またはオーディオ装置のような、電子装置の総合的な動作速度によい影響を与える。
【0017】
さらに、本発明はそれがコンピュータで読取り可能な記憶媒体に格納されたコンピュータプログラムによって容易に実施できる点で有利である。
【0018】
【好ましい実施形態の詳細な説明】
図2は、チャネル202を有する電子デバイスまたは電子装置200を示す。該電子装置200は、デジタル電話またはオーディオ装置のような、任意の種類の電子装置とすることができる。前記チャネルは上側または上部境界204および下側または下部境界206を有する。上部境界204に沿って端子1.1,2.1,3.1および3.2が左から右へとそれぞれコラムまたは列208,210,212および214に配置されている。
【0019】
下部境界206には、端子2.2,1.2,3.3および3.4がそれぞれ列208,210,212および214に配置されている。端子1.1および1.2はルーティングされるべき同じネット位置に属する。同様に、端子2.1および2.2はネット2にかつ端子3.1,3.2,3.3および3.4はネット3に所属する。
【0020】
端子1.1〜3.4は一組の端子またはターミナル(terminals)を構成し、かつ同じネットに所属する端子はこの組の端子の部分集合またはサブセット(sub−sets)を構成する。さらに、チャネル202はビア(vias)218および220を備えた配線(wiring)216を有する。ビア218および220はいずれかの知られた従来技術のルーティングアルゴリズムに従ってルーティングすることはできず、それは利用できる空の列がないという事実に鑑みてドッグレッギングが可能ではないからである。対応する解決されない競合する垂直制限が両側矢印(double−headed arrow)222によって示されている。本発明の教示は後により詳細に説明するようにそのような種類のルーティング問題を解決できるようにする。
【0021】
図3のフローチャートは本発明の設計方法の総合的な処理の流れを示す。ステップ300において、ルーティングされるべきチャネルの端子の垂直制限グラフが構築される。端子の垂直制限グラフにおいては、ルーティングされるべき各々のネットの各端子が始めに別個のノードで表わされかつ個々の端子の間の制約または制限は端子の垂直制限グラフ内の個々の有向エッジによって表わされる。
【0022】
ステップ302において、端子の垂直制限グラフのそのようなノードは併合されこれは許容されない競合を生じることなくチャネルにおける一つの垂直ルーティングセグメントを表わすことができる。二つの他のノードの併合から生じる結果として得られる端子の垂直制限グラフにおける対応するノードは始めは個々のノードで表わされた端子を表わし、さらに、結果として得られる併合されたノードもまた新しいノードによって表わされる端子の共通の仮想トランクを表わす。
【0023】
ステップ304において、全てのネットが併合(merging)および/またはドッグレッギング操作によって端子の垂直制限グラフにおいて接続されたか否かが判定される。もし接続されておれば、トランクは実際にステップ306においてチャネルに割り当てることができ、それによって配線の設計は完了する。
【0024】
もし接続されないネットがあれば、制御はステップ308に進む。ステップ308において、端子の垂直制限グラフの合計のレーティングまたは評点(rating)が所定のしきい値と比較される。ここで考えられている例では、前記しきい値は4である。もし合計のまたは総合のレーティングが前記しきい値より低ければ、これはチャネルはルーティングできないことを示し(ステップ310)、もしそうであれば設計プロセスは停止してさらなる計算機的な努力が節約できるようにする。
【0025】
もし前記総合のレーティングが前記しきい値以上であれば、制御はステップ312に進みドッグレッギングによって接続されないネットの端子を接続する。ドッグレッギングの後に、制御はステップ302に戻る。
【0026】
図4は、端子の垂直制限グラフの発生をより詳細に示す。ここで考慮される好ましい実施形態においては、処理はルーティングされるべきチャネルの最も左の列またはコラムからスタートする(ステップ400)。ステップ402において、全ての列が処理されたか否かが判定される。もし処理されておれば、端子の垂直制限グラフは完了する。もしそうでなければ、制御はステップ404に進む。
【0027】
ステップ404において最も左の列が現在の列と考えられる。現在の列に位置する端子はチャネルの上部および下部境界に位置する端子へとソートされる(sorted)。
【0028】
ステップ406において、現在の列における上部境界上に端子が存在するか否かが判定される。もし存在すれば、ステップ408において、現在の列におけるチャネルの上部境界上に位置するステップ406において識別された端子を表わす端子の垂直制限グラフにおいて新しいノードが作成される。
【0029】
ステップ410において、現在の列またはコラムがさらに他の端子を含むか否かが判定される。もし含んでおれば、ステップ412において、現在のものから新しいノードへのエッジとともに新しいノードが端子の垂直制限グラフにおいて作成される。その後、前記新しいノードは現在のノードであると規定される。これはステップ412において行なわれる。
【0030】
ステップ412が実行された後に、制御はステップ410に戻る。もしステップ410において現在のコラムが前に処理されなかったさらに他の端子を含まないことが判定されれば、制御はステップ414に進む。
【0031】
ステップ414において、現在のコラムにおいて、下部境界上に端子が存在するか否かが判定される。もし存在しなければ、制御はステップ416に進む。ステップ416においては、ステップ414において識別されたチャネルの境界上の空のまたは空きの(vacant)位置を表わす端子の垂直制限グラフにおいて空きのノードが作成される。さらに、ステップ416において、現在のものから前記空きのノードへとエッジが作成される。ステップ416が実行された後、制御はステップ402に移る。
【0032】
もしステップ414においてチャネルの下部境界上に端子が存在することが判定されれば、制御は直接ステップ402に移る。
【0033】
もしステップ406においてチャネルの上部境界上に端子が存在しないことが判定されれば、制御はステップ418に進む。ステップ418においては、チャネルの上部境界上の空きの位置を表わす空のノードとして端子の垂直制限グラフにおいて新しいノードが作成される。新しいノードは現在のノードであると規定される。ステップ418が実行された後、制御はステップ410に移る。
【0034】
図4に示される処理の結果として、ルーティングされるべき全てのネットの各々の個々の端子は別個のノードによって端子の垂直制限グラフにおいて表わされる。さらに、その上に端子が配置されていないが配置することができるチャネルの境界に沿った空きの位置は前記端子の垂直制限グラフにおける空きのノードまたは空のノード(vacant nodes)によって表わされる。
【0035】
端子の間にかつまた空きの端子の間に存在する垂直制限はノードの間の有向エッジによって表わされる。本発明の好ましい実施形態に従って端子の垂直制限グラフが発生される方法から、端子の垂直制限グラフはサイクルを持ち得ないことが分かる。その理由は、各エッジは同じコラムに位置する一対の端子の間に存在する垂直制限を表わすのみであるからである。
【0036】
図5を参照すると、図3のステップ302がより詳細に説明されている。ステップ500において、ルーティングされるべきネットの内の任意の一つが現在のネットとして選択される。主たる手順が開始する前に、ちょうど二つの端子を有するネットが識別される。もし該二つの端子がチャネルの同じコラムに位置しておれば、そのような端子を表わす対応するノードがステップ502において併合される。
【0037】
ステップ504において主たる手順が開始される。以下の説明において一般性を失うことなく、ステップ300において作成される端子の垂直制限グラフはiの数のエッジE1,E2,E3,…,Eiを有するものと仮定する。
【0038】
始めに、ステップ504において、エッジの各々の1つに対してレーティング(rating)が計算される。エッジEjの個々のレーティングRj(Ej)は加算されて総合のまたは合計のレーティングを生じる。次に、エッジがそれらのレーティングに従って降下順(descending order)でソートされ、これによってリストL1を生じ、この場合L1={E1,E2,E3,…,Ei}であり、E1が最も高いレーティングR1を有する。
【0039】
次に、ステップ506において、リストL2を発生するために、前記ソートされたリストL1の始めから開始して最小数のエッジが識別される。リストL2はL1の始めからのそのようなエッジのみを含み、これは予め規定されたしきい値より上の総合のレーティングを生じ、この場合これは3である。リストL2を発生するために、以下の条件が満たされるようにkの最小値が見出されなければならない。
【数1】
これはリストL2を生じる。
【数2】
L2={E1,E2,E3,…,Ek}
【0040】
ステップ508において、全てのネットが既に処理されたか否かが判定される。もし処理されておれば、図5のプロセスフローは終了し、かつ図3に示されるプロセスフローに戻り、そこではステップ304が次に実行されるステップとなる。
【0041】
処理されていないネットがあれば、図5に示されるステップ510が次に実行される。ステップ510においては、まだ処理されていない任意のネットが現在のネットとして選択される。その現在のネットに対して、ルーティングされるべきチャネルの垂直制限グラフおよび端子制限グラフに鑑みて、局所的またはローカル垂直制限グラフが発生される。ローカル端子グラフの発生は次のように行なわれる。
【0042】
始めに、垂直制限グラフが従来技術からよく知られているようにして発生される。該垂直制限グラフにおいて、現在のネットを表わすノードが選択される。該垂直制限グラフにおける選択されたノードは現在のネットに属する端子を表わす端子の垂直制限グラフのノードによって置き換えられる。該垂直制限グラフの影響を受けた(アフェクテッド:affected)エッジは前記端子の垂直制限グラフの対応する置換ノード(substituent nodes)に接続される。
【0043】
現在のネットに対して発生されるべきローカル端子グラフは前記置換ノードを備えている。さらに、前記ローカル端子グラフのいずれかの対のノードが方向のないエッジによって接続されるべきか否かは次の条件によって決定される。もし前記垂直制限グラフの置換ノードの内の1つから考慮される対の他の置換ノードへの経路またはパスがあれば、前記ローカル端子グラフにおける考慮される対のノードの間にエッジがなければならない。
【0044】
ステップ512において、前記ローカル端子グラフが最小数の色またはカラーによってペイントされ、それによってエッジによって接続されないローカル端子グラフのノードのみが同じカラーを持つようにされる。いわゆる色彩数を見つけるためにグラフをカラーリングまたは色づけする方法は従来技術から知られており、例えば次の文献に記載されている。すなわち、クロード・バージ、「グラフ理論および応用(Theorie Des Graphes Et Ses Application)」、デュノド、パリ、1958年、並びにジェイエイ・ボンディおよびユーエスアール・マーティ、「グラフ理論および応用(Graph Theory with Applications)」、エルスビア・ノース・ホランド、ニューヨーク、1980年、第8章「頂点の色付け」、133頁、およびエヌ・クリストファイズ、「グラフの色彩数のためのアルゴリズム(An Algorithm for the chromatic number of a graph)」、コンピュータ・ジャーナル、Vol.14、38〜39頁を参照することができる。
【0045】
ステップ514においては、全てのエッジのレーティングの合計によって与えられる合計のレーティングがあるしきい値、ここで考慮される例では4、より下であるか否かが判定される。
【0046】
もし合計のレーティングが4より下であれば、制御はステップ516に移る。ステップ516においては、同じカラーを有するローカル端子グラフにおけるノードが識別される。これらのノードは元の端子の垂直制限グラフからの置換ノードである。もしローカル端子グラフにおいて同じカラーを有するノードによって表わされる端子が同じ列に位置しておれば、前記端子の垂直制限グラフにおけるこれらの端子を表わす対応するノードが併合される。次に、制御はステップ504に戻り、変換された端子の垂直制限グラフによって再び前記主たるプロセスを実行する。
【0047】
もし合計のレーティングが4より小さくなければ、制御はステップ514からステップ518に移る。ステップ518においては、再び同じカラーを有するローカル垂直制限グラフのノードがグループ分けされる。同じカラーを有し、かつしたがって同じグループにあり、そしてリストL2のエッジに接続されないローカル垂直制限グラフのそのようなノードが前記端子の垂直制限グラフに併合される。次に、制御はステップ504に戻る。
【0048】
次に図6を参照して、前記端子の垂直制限グラフのエッジのレーティングの計算の好ましい実施形態をより詳細に説明する。ステップ600において、端子の垂直制限グラフの全てのエッジが既に処理されたか否かが判定される。もし処理されておれば、前記端子の垂直制限グラフの合計のレーティングが、ステップ602において、前記端子の垂直制限グラフに含まれる全てのエッジのエッジレーティングの全てを合計することにより計算される。
【0049】
もし前記端子の垂直制限グラフの全てのエッジがまだ処理されていなければ、ステップ600において処理されていないエッジから任意のエッジが選択される。該選択されたエッジは現在のまたは現行のエッジ(current edge)であり、制御はステップ604に移り、そこで前記現在のエッジのレーティングが始めに予め規定された値、この例では0、にセットされる。
【0050】
ステップ606において、現在のエッジが併合操作(図3のステップ302を参照)の結果である端子の垂直制限グラフにおけるノードから発出しているか否かが判定される。もしこの条件が満たされれば、現在のエッジのレーティングが予め規定された値、この場合は1、だけ増大される。これはステップ608において行なわれる。もしステップ606の条件が満たされなければ、ステップ608はバイパスされる。
【0051】
次に、ステップ610において、現在のエッジが前の併合操作から生じる端子の垂直制限グラフにおけるノードに向けられているか否かが判定される。もしそうであれば、ステップ612において、現在のエッジのレーティングが予め規定された値、この場合は1、だけ増大される。もしそうでなければ、ステップ612はバイパスされる。
【0052】
次に、ステップ614において、あるエッジが前記端子の垂直制限グラフにおける空きのノード(vacant node)に向けられているか否かが判定される。もしそうであれば、ステップ616において、現在のエッジのレーティングが予め定められた値、この場合は2、だけ増大される。もしそうでなければ、ステップ616はバイパスされる。
【0053】
次に、ステップ618において、現在のエッジが空きのノードから発出しているか否かが判定される。もしそうであれば、現在のネットのレーティングが予め規定された値、この場合は2、だけ増大される。これはステップ620において行なわれる。そうでない場合は、ステップ620はバイパスされる。次に、制御はステップ600に戻る。この処理は端子の垂直制限グラフの全てのエッジが処理されるまで反復される。
【0054】
次に、図3のステップ312につき図7のフローチャートを参照してより詳細に説明する。ステップ700において、前記端子の垂直制限グラフの任意のエッジが現在のエッジとして選択される。ステップ702において、端子の垂直制限グラフの全てのエッジが既に処理されたか否かが判定される。もし処理されていなければ、制御はステップ704に進み、そこで現在のエッジのレーティングが予め規定された値、この場合は4、に等しいか否かが判定される。もし等しければ、制御はステップ706に移り、そこで現在のエッジに対してドッグレギングが可能であるか否かが判定される。もし可能であれば、制御はステップ708に移り、そこで現在のエッジを使用してドッグレッグが作成される。ドッグレギングが行なわれた後に、図7に示されるフローはステップ710で停止し、かつ制御は図3に戻り、図3のステップ302が次に実行される。
【0055】
図7のステップ706において、現在のエッジに対してドッグレッグが許容されないことが判定されれば、制御はステップ712に移り、そこで他の任意のエッジが現在のエッジとして選択される。ステップ712から制御はステップ702に移る。
【0056】
もしステップ704において現在のエッジのレーティングが予め規定された値の4に等しいことが判定されれば、制御は直接ステップ708に移る。ステップ702において、全てのエッジが既に処理されたことが判定されれば、ステップは直接ステップ710に移る。
【0057】
以下の説明では、本発明の方法の好ましい実施形態を図2に示されるチャネルルーティング問題に適用する場合につき説明する。図8を参照すると、図3のステップ300を実行したことから生じる端子の垂直制限グラフ800が示されている。
【0058】
前記端子の垂直制限グラフ800は各々の別個の端子に対して別個のノードを有する。前記端子の垂直制限グラフ800の個々のノードは図2に示されるチャネル202から明らかなように対応する垂直制限を表わすエッジa,b,cおよびdによって相互接続される。ステップ302が最初に実行される場合、前記エッジのレーティングが計算される。ここで考えている例では空きのノードも併合されたノードもないから、全てのエッジの初期レーティングは0である。その結果、合計のレーティングも0である。
【0059】
図9は、ネット3が現在のネットとして選択された後のステップ510の状況を示している。図2のチャネルルーティング問題の垂直制限グラフにおいて、ノード3はノード3に属する端子を表わす端子の垂直制限グラフのノードによって置換される。ノード3に対する垂直制限グラフにおいては垂直制限が無いため、その置換ノードは分離され、したがって図9からも明らかなように任意の対の置換ノードの間にパスまたは経路が存在しない。
【0060】
その結果、全ての置換ノードは同じカラーによってペイントされかつ同じグループへとグループ分けすることができ、それは合計のレーティングが0に等しいからである。制御はステップ514から516に移り、そこで同じカラーを有し同じ列を占有しない現在のネットのノードが併合される。これは結果としてネット3に属する端子を表わす2つの対のノードが、図10に示されるように、併合されることになる。
【0061】
次に制御はステップ504に移り、そこでレーティングが再び計算される。図8から図10への端子の垂直制限グラフの最初の変換の後に、エッジcおよびdのレーティングは0から2へと変化する。その結果、リストL2は2つのエッジcおよびdを含む。
【0062】
次に、ステップ510においてネット1が現在のネットとして選択される。図11は端子の垂直制限グラフのネット1のノードの垂直制限グラフへの置換を示している。図12はネット1に対するローカル垂直制限グラフを示している。2つの置換ノードは1つのエッジによって接続され、それは図11におけるネット1に所属する端子を表わす2つのノードの間にパスまたは経路があるからであるる。このため、前記ローカル垂直制限グラフの2つのノードは同じカラーによってペイントされる必要がなくしたがって併合は生じ得ない。同じ状況はネット2がその後現在のネットとして選択された場合にも同様に当てはまる。
【0063】
ステップ308においてその後テストされる合計のレーティングは4に等しいから、ステップ312が実行される。ドッグレギングの結果が図13に示されている。エッジcは2つのエッジc1およびc2によって置き換えられる。次にステップ504において合計のレーティングが再び更新される。その結果はエッジa,b,dに対するレーティングが同じにとどまっており、一方新しいエッジc1およびc2に対するレーティングは1となる。リストL2は{d,c1,c2}に等しくなる。図14は図13の端子の垂直制限グラフの対応するノードによるノードの置換の後の対応する垂直制限グラフを示している。ノード1および3は前のドッグレギングのためそれぞれノード1′,1″および3′,3″へと分割される。
【0064】
ノード2の間にパスまたは経路がないため、それらはローカル垂直制限グラフにおいて同じカラーによってペイントできる。合計のレーティングが4より下でないから、ステップ518が実行される。端子の垂直制限グラフにおいてノード2が接続されるエッジaおよびbの双方はリストL2に属さないから、それらは併合できる。結果は図15に示されている。
【0065】
図15に示される変換された端子の垂直制限グラフに対するエッジの更新されたレーティングは次の通りである。すなわち、d=2,a=1,b=1,c1=1およびc2=1である。対応するリストはL2={d,a,b}である。合計のレーティングは6である。図16は図15の変換された端子の垂直制限グラフに基づくチャネルへのトランクの結果としての割当てを示す(図3のステップ306を参照)。結果として得られる配線は任意の知られた適切な製造工程によって電子装置200へと実施することができる。
【図面の簡単な説明】
【図1】チャネルの配線を設計するための従来技術の方法を示すフローチャートである。
【図2】本発明の1実施形態によって解くことができるチャネルルーティング問題の模式図である。
【図3】本発明の好ましい実施形態の全体を示すフローチャートである。
【図4】端子の垂直制限グラフの作成を示すフローチャートである。
【図5】端子の垂直制限グラフにおける端子の併合プロセスを示すフローチャートである。
【図6】前記端子の垂直制限グラフにおけるエッジのレーティングの決定手順を示すフローチャートである。
【図7】ドッグレギングによる端子の接続手順を示すフローチャートである。
【図8】図2に示されるルーティング問題に対する端子の垂直制限グラフを示す説明図である。
【図9】図12のネット3に対するローカル垂直制限グラフの構造を示す説明図である。
【図10】併合操作の後の図8の端子の垂直制限グラフを示す説明図である。
【図11】図2のネット1に対するローカル垂直制限グラフの設計を示す説明図である。
【図12】図2のネット1に対するローカル垂直制限グラフの設計を示す説明図である。
【図13】ドッグレギングの後の図12の端子の垂直制限グラフを示す説明図である。
【図14】図13に基づく図2のネット2に対するローカル垂直制限グラフの構造を示す説明図である。
【図15】第2の併合操作の後の図13の端子の垂直制限グラフを示す説明図である。
【図16】配線設計が完了した後の図2のチャネルを示す説明図である。
【符号の説明】
200 電子装置
202 チャネル
204 上部境界
206 下部境界
208,210,212,214 列
Claims (6)
- チャネルを有する電子デバイスを設計するための電子デバイス設計装置であって、前記チャネルはある境界および該境界上に位置する1組の端子を有し、前記チャネルは数多くのネットを配線するためのトラックおよび列を有し、前記ネットの各々は前記1組の端子の内の部分集合を有し、前記端子は空きの端子ではなく、前記チャネルは前記ネットの配線を有し、前記電子デバイス設計装置は、
a1)端子の垂直制限グラフを発生する手段であって、該端子の垂直制限グラフはノードおよびエッジを備え、前記ノードの各々は前記端子の1つを表わし、前記エッジの各々は同じ列に位置する少なくとも一対の前記端子の間の垂直制限を表わしかつ前記エッジの各々はそこに割り当てられたエッジレーティングを有し、それによって前記1組の端子の内の全ての端子が前記端子の垂直制限グラフにおいて表現され、かつ前記端子の垂直制限グラフはある合計のレーティングを有する、前記端子の垂直制限グラフを発生する手段、
a2)前記ノードの内の選択された2つの併合を行なう手段であって、該併合を行なう手段は、
a2.1)第1の予め規定された値によって前記エッジの各々に対して前記エッジレーティングを初期化する手段、
a2.2)前記エッジの内の前記1つが併合された前記ノードの内の1つに接続される場合に第2の予め規定された値によって前記エッジの内の1つの前記エッジレーティングを変更する手段、
a2.3)前記エッジの内の前記1つが空きの端子を表わす前記ノードの内の1つに接続する場合に第3の予め規定された値によって前記エッジの内の1つの前記エッジレーティングを変更する手段、
a2.4)前記エッジレーティングを統合することにより前記合計のレーティングを決定する手段、
a2.5)前記合計のレーティングに基づき併合されるべき前記ノードの内の前記選択された2つを選択する手段、
を具備する前記併合を行なう手段、そして
a3)前記結果として得られる端子の垂直制限グラフに従って前記チャネルにトランクを割り当てる手段、
を具備することを特徴とする電子デバイス設計装置。 - 前記垂直制限グラフを発生する手段は、
a1.1)前記端子の各々に対する前記端子の垂直制限グラフにおける前記ノードの1つを作成する手段であって、空きの端子を表わす前記ノードは空きのノードとなる前記手段、
a1.2)前記列の内の同じ1つに位置する前記端子を表わす前記ノードの各対の間の端子の垂直制限グラフにおいて前記エッジの1つを作成する手段であって、前記エッジの内の前記1つは上部境界上に位置する前記端子を表わす前記一対のノードの内の1つから発出する前記手段、
を具備することを特徴とする請求項1に記載の電子デバイス設計装置。 - 前記併合を行なう手段はさらに、
前記ネットの内の各々の1つに対して、
a2.6)前記ネットの内の前記1つが前記列の内の同じ1つを占有する前記端子の内のちょうど2つを有する場合に、前記端子の内の前記ちょうど2つを表わす前記ノードの内の2つを併合する手段、
a2.7)前記エッジレーティングに従ってソートされた、前記エッジの第1のリストを発生する手段、
a2.8)前記エッジの第2のリストを発生する手段であって、前記第2のリストに含まれるエッジの前記エッジレーティングの合計は第1の予め規定されたしきい値より高くされる前記手段、
a2.9)垂直制限グラフを発生し、前記ネットの内の前記1つを表わす前記垂直制限グラフの内の1つのノードを選択し、前記選択された1つのノードを前記選択された1つのノードと同じネットを表わす前記端子の垂直制限グラフの前記ノードの内の他のものによって置き換える手段、
a2.10)前記端子の垂直制限グラフの前記置き換えられたノードおよび前記垂直制限グラフを通る経路を有する前記置き換えられたノードの間のエッジを備えたローカル垂直制限グラフを発生する手段、
a2.11)前記ローカル垂直制限グラフをエッジによって接続されないノードのみが同じカラーを有するように最小数のカラーで色づけし、同じカラーを有する前記ローカル垂直制限グラフの内の前記ノードを別個のグループにグループ分けする手段、
a2.12)前記合計のレーティングが第2の予め規定された第2のしきい値より低くない場合に、前記グループの1つに属する前記ノードが前記第2のリストの前記エッジに接続された前記端子の垂直制限グラフのノードに対応しなければ前記グループの1つに属する前記ノードを併合し、そうでない場合は、前記グループの1つに属する前記ノードが前記同じ列に位置しない端子を表わす前記端子の垂直制限グラフのノードに対応しない場合に前記グループの1つに属する前記ノードを併合する手段、
を具備することを特徴とする請求項1に記載の電子デバイス設計装置。 - チャネルを有する電子装置を設計するためにそこに格納されたコンピュータプログラムを有するコンピュータが読取り可能な媒体であって、前記チャネルはある境界および該境界上に位置する1組の端子を有し、前記チャネルは数多くのネットを配線するためのトラックおよび列を有し、前記ネットの各々は前記1組の端子の内の部分集合を有し、前記部分集合の前記端子は空きの端子ではなく、前記チャネルは前記ネットの配線を有し、前記コンピュータプログラムは、
a1)端子の垂直制限グラフを発生する段階であって、該端子の垂直制限グラフはノードおよびエッジを備え、前記ノードの各々は前記端子の1つを表わし、前記エッジの各々は同じ列に位置する少なくとも一対の前記端子の間の垂直制限を表わしかつ前記エッジの各々はそこに割り当てられたエッジレーティングを有し、それによって前記1組の端子の内の全ての端子が前記端子の垂直制限グラフにおいて表現され、かつ前記端子の垂直制限グラフはある合計のレーティングを有する、前記端子の垂直制限グラフを発生する段階、
a2)前記ノードの内の選択された2つの併合を行なう段階であって、該併合を行なう段階は、
a2.1)第1の予め規定された値によって前記エッジの各々に対して前記エッジレーティングを初期化する段階、
a2.2)前記エッジの内の前記1つが併合された前記ノードの内の1つに接続される場合に第2の予め規定された値によって前記エッジの内の1つの前記エッジレーティングを変更する段階、
a2.3)前記エッジの内の前記1つが空きの端子を表わす前記ノードの内の1つに接続する場合に第3の予め規定された値によって前記エッジの内の1つの前記エッジレーティングを変更する段階、
a2.4)前記エッジレーティングを統合することにより前記合計のレーティングを決定する段階、
a2.5)前記合計のレーティングに基づき併合されるべき前記ノードの内の前記選択された2つを選択する段階、
を具備する前記併合を行なう段階、そして
a3)前記結果として得られる端子の垂直制限グラフに従って前記チャネルにトランクを割り当てる段階、
を実行することによって前記配線の設計を行なうよう構成されていることを特徴とするコンピュータが読取り可能な媒体。 - 前記垂直制限グラフを発生する段階は、
a1.1)前記端子の各々に対する前記端子の垂直制限グラフにおける前記ノードの1つを作成する段階であって、空きの端子を表わす前記ノードは空きのノードとなる前記段階、
a1.2)前記列の内の同じ1つに位置する前記端子を表わす前記ノードの各対の間の端子の垂直制限グラフにおいて前記エッジの1つを作成する段階であって、前記エッジの内の前記1つは上部境界上に位置する前記端子を表わす前記一対のノードの内の1つから発出する前記段階、
を具備することを特徴とする請求項4に記載のコンピュータが読取り可能な媒体。 - 前記併合を行なう段階はさらに、
前記ネットの内の各々の1つに対して、
a2.6)前記ネットの内の前記1つが前記列の内の同じ1つを占有する前記端子の内のちょうど2つを有する場合に、前記端子の内の前記ちょうど2つを表わす前記ノードの内の2つを併合する段階、
a2.7)前記エッジレーティングに従ってソートされた、前記エッジの第1のリストを発生する段階、
a2.8)前記エッジの第2のリストを発生する段階であって、前記第2のリストに含まれるエッジの前記エッジレーティングの合計は第1の予め規定されたしきい値より高くされる前記段階、
a2.9)垂直制限グラフを発生し、前記ネットの内の前記1つを表わす前記垂直制限グラフの内の1つのノードを選択し、前記選択された1つのノードを前記選択された1つのノードと同じネットを表わす前記端子の垂直制限グラフの前記ノードの内の他のものによって置き換える段階、
a2.10)前記端子の垂直制限グラフの前記置き換えられたノードおよび前記垂直制限グラフを通る経路を有する前記置き換えられたノードの間のエッジを備えたローカル垂直制限グラフを発生する段階、
a2.11)前記ローカル垂直制限グラフをエッジによって接続されないノードのみが同じカラーを有するように最小数のカラーで色づけし、同じカラーを有する前記ローカル垂直制限グラフの内の前記ノードを別個のグループにグループ分けする段階、
a2.12)前記合計のレーティングが第2の予め規定された第2のしきい値より低くない場合に、前記グループの1つに属する前記ノードが前記第2のリストの前記エッジに接続された前記端子の垂直制限グラフのノードに対応しなければ前記グループの1つに属する前記ノードを併合し、そうでない場合は、前記グループの1つに属する前記ノードが前記同じ列に位置しない端子を表わす前記端子の垂直制限グラフのノードに対応しない場合に前記グループの1つに属する前記ノードを併合する段階、
を具備することを特徴とする請求項4に記載のコンピュータが読取り可能な媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU1998/000042 WO1999041685A1 (en) | 1998-02-17 | 1998-02-17 | A method for manufacturing and designing an electronic device and electronic apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002503850A JP2002503850A (ja) | 2002-02-05 |
JP3567134B2 true JP3567134B2 (ja) | 2004-09-22 |
Family
ID=20130196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000531798A Expired - Fee Related JP3567134B2 (ja) | 1998-02-17 | 1998-02-17 | 電子デバイスおよび電子装置を製造および設計する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6477693B1 (ja) |
JP (1) | JP3567134B2 (ja) |
KR (1) | KR100576987B1 (ja) |
WO (1) | WO1999041685A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220078314A (ko) * | 2020-12-03 | 2022-06-10 | 주식회사 케이티 | 자동 색상 알고리즘에 기초한 경로 관리 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820068B1 (en) * | 2000-09-22 | 2004-11-16 | Furtek | System and method for verifying logical, arithmetic and timing dependencies of system behaviors using constraint calculus analysis |
US7437691B2 (en) * | 2006-04-11 | 2008-10-14 | International Business Machines Corporation | VLSI artwork legalization for hierarchical designs with multiple grid constraints |
US7681169B2 (en) | 2007-08-29 | 2010-03-16 | International Business Machines Corporation | Process for managing complex pre-wired net segments in a VLSI design |
US9564394B1 (en) * | 2014-11-18 | 2017-02-07 | Altera Corporation | Methods and apparatus for reducing spatial overlap between routing wires |
CN116011389B (zh) * | 2023-01-28 | 2023-06-06 | 上海合见工业软件集团有限公司 | 基于空间约束的电路原理图路由规划系统 |
CN116050339B (zh) * | 2023-01-28 | 2023-07-21 | 上海合见工业软件集团有限公司 | 电路原理图路由规划系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841664A (en) * | 1996-03-12 | 1998-11-24 | Avant| Corporation | Method for optimizing track assignment in a grid-based channel router |
US5793643A (en) * | 1996-04-30 | 1998-08-11 | Avant| Corporation | Method for handling variable width wires in a grid-based channel router |
-
1998
- 1998-02-17 JP JP2000531798A patent/JP3567134B2/ja not_active Expired - Fee Related
- 1998-02-17 US US09/508,006 patent/US6477693B1/en not_active Expired - Fee Related
- 1998-02-17 KR KR1020007009031A patent/KR100576987B1/ko not_active IP Right Cessation
- 1998-02-17 WO PCT/RU1998/000042 patent/WO1999041685A1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220078314A (ko) * | 2020-12-03 | 2022-06-10 | 주식회사 케이티 | 자동 색상 알고리즘에 기초한 경로 관리 방법 |
KR102621077B1 (ko) | 2020-12-03 | 2024-01-03 | 주식회사 케이티 | 자동 색상 알고리즘에 기초한 경로 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO1999041685A1 (en) | 1999-08-19 |
KR20010024944A (ko) | 2001-03-26 |
JP2002503850A (ja) | 2002-02-05 |
US6477693B1 (en) | 2002-11-05 |
KR100576987B1 (ko) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3891599B2 (ja) | 集積回路レイアウト内への標準セルの自動挿入装置 | |
US5930499A (en) | Method for mixed placement of structured and non-structured circuit elements | |
Lee et al. | A performance and routablity driven router for FPGAs considering path delays | |
US9201999B1 (en) | Integrated circuit floorplan having feedthrough buffers | |
EP0932874A1 (en) | A method for routing of nets in an electronic device | |
Chang et al. | MR: A new framework for multilevel full-chip routing | |
JP3567134B2 (ja) | 電子デバイスおよび電子装置を製造および設計する方法 | |
US7376921B2 (en) | Methods for tiling integrated circuit designs | |
US6581200B2 (en) | Abstracting netlist to manage routing information | |
Gansen et al. | A datapath generator for full-custom macros of iterative logic arrays | |
Guruswamy et al. | A general multi-layer area router | |
Chen et al. | A novel framework for multilevel full-chip gridless routing | |
Venkataraman et al. | Determination of yield bounds prior to routing | |
WO2015075805A1 (ja) | ソースコード分割方法及びlsi実装装置 | |
Guruswamy et al. | Echelon: A multilayer detailed area router | |
JPH08129576A (ja) | 半導体装置のマスクレイアウト設計方法 | |
The et al. | A layout modification approach to via minimization | |
JP3755669B2 (ja) | 多数のネットのルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法 | |
JP3182244B2 (ja) | 半導体集積回路における信号伝播遅延時間の最適化方法 | |
JPH0916640A (ja) | 回路シミュレータ及びブロック緩和反復シミュレーション方法 | |
JPH08153129A (ja) | 再利用容易化装置 | |
EP0539641A1 (en) | A design method for the automatic implementation of data-flow partitions in asic's | |
JP2002342401A (ja) | 半導体集積回路の自動配線装置とその配線方法及びコンピュータプログラム | |
Yan et al. | Multilevel timing-constrained full-chip routing in hierarchical quad-grid model | |
Hori et al. | Via Programmable Structured ASIC Architecture “VPEX3” and CAD Design System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120618 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |