JP5125791B2 - Design support program, design support apparatus, and design support method - Google Patents
Design support program, design support apparatus, and design support method Download PDFInfo
- Publication number
- JP5125791B2 JP5125791B2 JP2008155647A JP2008155647A JP5125791B2 JP 5125791 B2 JP5125791 B2 JP 5125791B2 JP 2008155647 A JP2008155647 A JP 2008155647A JP 2008155647 A JP2008155647 A JP 2008155647A JP 5125791 B2 JP5125791 B2 JP 5125791B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- net
- net group
- groups
- group
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
この発明は、プリント基板やLSI(Large Scale Integration)の配線設計を支援する技術に関する。 The present invention relates to a technique for supporting wiring design of a printed circuit board or LSI (Large Scale Integration).
プリント基板やLSIの配線設計では、仕様の回路特性を満たすための配線制約に従って配線をおこなう必要がある。従来において、配線設計にかかる設計者の作業負荷を低減するために、配線制約に従った配線の自動化を図る技術が開示されている(たとえば、下記特許文献1〜3参照。)。
In wiring design of printed circuit boards and LSIs, it is necessary to perform wiring in accordance with wiring restrictions to satisfy the specified circuit characteristics. 2. Description of the Related Art Conventionally, a technique for automating wiring in accordance with wiring constraints has been disclosed in order to reduce a designer's work load related to wiring design (see, for example,
また、近年では、プリント基板やLSIの大規模化、高集積化にともなって、配線設計に必要となる配線層数が増加しており、製造コストが増大している。このため、より少ない配線層で仕様の回路特性を実現することは、製造コストの削減のために重要となっている。 In recent years, the number of wiring layers required for wiring design has increased with the increase in scale and integration of printed circuit boards and LSIs, and manufacturing costs have increased. For this reason, it is important to realize the specified circuit characteristics with fewer wiring layers in order to reduce manufacturing costs.
しかしながら、上述した従来技術では、複雑化する配線制約に従って配線層の割り当てを自動化することは難しいため、人手による配線層の割り当てがおこなわれている。この結果、設計作業にかかる設計者の作業負担が増大し、ひいては設計期間の長期化を招くという問題があった。 However, in the above-described prior art, since it is difficult to automate the assignment of the wiring layer in accordance with the complicated wiring restrictions, the wiring layer is manually assigned. As a result, there is a problem in that the work load on the designer for the design work increases, and as a result, the design period is prolonged.
さらに、膨大な数の配線を人手により配線層に割り当てることは、非常に煩雑な作業となるだけでなく、設計者の知識や経験も必要となるため、膨大な作業時間を費やしているにもかかわらず最適な結果を得ることができない場合があるという問題があった。 Furthermore, allocating an enormous number of wires to the wiring layer manually is not only a very complicated task, but also requires designers' knowledge and experience. Regardless, there is a problem that the optimum result may not be obtained.
この発明は、上述した従来技術による問題点を解消するため、設計対象回路内の一対の部品間をつなぐネットのうち、同一配線層に配線すべきネットをグループ化したネットグループごとに自動でかつ最適な配線層割当をおこなうことにより、回路動作の信頼性向上および設計期間の短縮化を図ることを目的とする。 In order to eliminate the above-described problems caused by the prior art, the present invention automatically performs each net group obtained by grouping nets to be wired in the same wiring layer among nets connecting a pair of components in a circuit to be designed. The purpose is to improve the reliability of circuit operation and shorten the design period by performing optimal wiring layer assignment.
この開示技術は、設計対象回路内の接続関係を有する一対の部品ごとに、当該部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化したネットグループ固有の始点/終点座標および配線幅を記憶するテーブルにアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索し、探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出し、検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定し、決定された決定結果を出力する。 In this disclosed technique, for each pair of components having a connection relationship in a circuit to be designed, the net group specific start / end coordinates and wiring in which nets to be wired to the same wiring layer among nets connecting the components are grouped Access to a table for storing the width, search the wiring path of the wiring width from the start point coordinates to the end point coordinates in the wiring area of the circuit to be designed for each net group, and search for the searched wiring A combination of net groups having a cross relationship with each other between paths is detected, and each net group of the detected combination is assigned to a different wiring layer. The wiring layer to be assigned to the net group is determined, and the determined determination result is output.
この開示技術によれば、設計対象回路内の一対の部品間をつなぐネットのうち、同一配線層に配線すべきネットをグループ化したネットグループごとに自動でかつ最適な配線層割当をおこなうことにより、回路動作の信頼性向上および設計期間の短縮化を図ることができるという効果を奏する。 According to this disclosed technique, by automatically and optimally assigning wiring layers for each net group in which nets to be wired to the same wiring layer are grouped among the nets connecting a pair of components in the circuit to be designed. As a result, the reliability of the circuit operation can be improved and the design period can be shortened.
以下に添付図面を参照して、この設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。この設計支援プログラム、設計支援装置、および設計支援方法では、設計対象回路内の一対の部品間をつなぐネットのうち、同一配線層に配線すべきネットをグループ化し、ネットグループごとに配線経路探索および配線層割当を自動化しておこなうことにより、設計期間の短縮化を図る。 Exemplary embodiments of a design support program, a design support apparatus, and a design support method will be described below in detail with reference to the accompanying drawings. In the design support program, the design support apparatus, and the design support method, nets to be wired to the same wiring layer among the nets connecting a pair of components in the circuit to be designed are grouped, and a wiring route search and a net are searched for each net group. The design period is shortened by automating the wiring layer assignment.
(実施の形態の概要)
まず、本実施の形態の概要について説明する。ここでは最初に、設計対象回路内の部品間を接続する複数のネットをグループ化したネットグループについて説明する。図1は、ネットグループの一例を示す説明図である。図1において、接続関係を有する一対の部品110,120が示されている。部品110と部品120は、4本のネット130〜160によって接続されている。
(Outline of the embodiment)
First, an outline of the present embodiment will be described. Here, first, a net group obtained by grouping a plurality of nets connecting parts in a circuit to be designed will be described. FIG. 1 is an explanatory diagram illustrating an example of a net group. In FIG. 1, a pair of
ネット130〜160は、部品110の端子T1〜T4と、部品120の端子T5〜T8と、をそれぞれ接続する経路(パス)である。ここでは、ネット130〜160は、特性上の問題から、すべてを同一配線層で配線すべきパスであるとする。本実施の形態では、このような同一配線層に配線すべき複数のネット130〜160をグループ化してネットグループ170として扱う。
The
ネットグループ170の配線幅は、たとえば、各ネット130〜160の配線幅をWとすると、これらネット130〜160の配線幅を足し合わせた4Wとなる。また、詳細は後述するが、ネットグループ170の始点座標Aおよび終点座標Bは、各部品P1,P2が占める領域内の任意の座標位置に設定する。
The wiring width of the
従来において、設計対象回路内の部品間をつなぐ配線経路を、どの配線層に形成すべきかを決める場合、まず、部品間をつなぐ1本1本の配線経路を探索し、そのあと、人手により各配線経路に割り当てる配線層を決定していた。これでは、設計者の作業負担が膨大なものとなり、作業時間の増大化を招いてしまう。 Conventionally, when deciding on which wiring layer a wiring path that connects parts in a circuit to be designed should be formed, first, each wiring path that connects the parts is searched, and then manually The wiring layer to be assigned to the wiring route was determined. As a result, the work load on the designer becomes enormous, leading to an increase in work time.
そこで、本実施の形態では、同一配線層に配線すべきネット(たとえば、ネット130〜160)をグループ化し、そのネットグループ(たとえば、ネットグループ170)ごとに、配線経路の探索および配線層の割り当てを自動化する手法を提案する。これにより、配線設計にかかる作業負担の軽減化および作業時間の短縮化を図る。
Therefore, in the present embodiment, nets (for example,
(設計対象回路の一例)
つぎに、本実施の形態にかかる設計対象回路の配線領域について説明する。図2は、設計対象回路の配線領域の一例を示す説明図である。図2において、設計対象回路の配線領域200が示されている。ここで、配線領域200の配線格子サイズは、X軸方向に「0≦X≦Xmax」であり、Y軸方向に「0≦Y≦Ymax」である。
(Example of circuit to be designed)
Next, the wiring area of the circuit to be designed according to the present embodiment will be described. FIG. 2 is an explanatory diagram illustrating an example of a wiring area of a circuit to be designed. In FIG. 2, a
この配線領域200上には、部品P1〜P6が配置されている。また、配線領域210において、符号F1〜F4は障害物が配置された配線禁止領域である。本実施の形態では、配線領域200に配置された一対の部品(たとえば、部品P1と部品P5)をつなぐネットのうち同一配線層に配線すべきネットをグループ化してネットグループとして扱う。
Components P1 to P6 are arranged on the
なお、設計対象回路が有する複数の配線層のうち、各障害物が形成される配線層はそれぞれ決まっているが、ここではある配線層の配線領域内にすべての障害物が形成されている状況を設計対象回路の配線領域200として説明する。
Of the multiple wiring layers of the circuit to be designed, the wiring layer where each obstacle is formed is determined, but here all the obstacles are formed in the wiring area of a certain wiring layer. Is described as the
(設計支援装置のハードウェア構成)
つぎに、実施の形態にかかる設計支援装置のハードウェア構成について説明する。図3は、設計支援装置のハードウェア構成を示すブロック図である。図3において、設計支援装置300は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス320によってそれぞれ接続されている。
(Hardware configuration of design support device)
Next, a hardware configuration of the design support apparatus according to the embodiment will be described. FIG. 3 is a block diagram illustrating a hardware configuration of the design support apparatus. In FIG. 3, a
ここで、CPU301は、設計支援装置300の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
Here, the
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
The
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
インターフェース(以下、「I/F」と略する。)309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
An interface (hereinafter abbreviated as “I / F”) 309 is connected to a
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ312は、画像を光学的に読み取り、設計支援装置300内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
The
(設計支援装置の機能的構成)
つぎに、設計支援装置300の機能的構成について説明する。図4は、設計支援装置の機能的構成を示すブロック図である。図4において、設計支援装置300は、取得部401と、探索部402と、検出部403と、作成部404と、決定部405と、出力部406と、判断部407と、を含む構成である。
(Functional configuration of design support device)
Next, a functional configuration of the
この制御部となる機能(取得部401〜判断部407)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
Specifically, the functions (
また、各機能(取得部401〜判断部407)からの出力データは上記記憶領域に保持される。また、図4中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPU301に実行させるものとする。
Output data from each function (
まず、取得部401は、設計対象回路に関する回路情報を取得する機能を有する。回路情報とは、設計対象回路に関する配線領域情報と、設計対象回路内の接続関係を有する一対の部品ごとのネットグループに関するネットグループ情報とを含む電子データである。なお、取得された回路情報は、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
First, the
この回路情報は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで設計支援装置300に直接入力することとしてもよく、また、不図示の外部装置から取得することとしてもよい。さらに、設計支援装置300が備える不図示のデータベースやライブラリからの抽出によって回路情報を取得することとしてもよい。
This circuit information may be directly input to the
ここで、回路情報に含まれる配線領域情報およびネットグループ情報について説明する。まず、配線領域情報の具体例について説明する。図5および図6は、配線領域情報の具体例を示す説明図である。図5において、配線領域情報500には、設計対象回路の配線領域200の配線格子サイズを特定する情報が示されている。
Here, the wiring area information and net group information included in the circuit information will be described. First, a specific example of wiring area information will be described. 5 and 6 are explanatory diagrams showing specific examples of the wiring area information. In FIG. 5, the
この配線領域情報500によれば、配線領域200のX軸方向の配線格子サイズ「0−Xmax」およびY軸方向の配線格子サイズ「0−Ymax」と、設計対象回路が有する配線層の層数「30」を特定することができる。各配線層には、最下層の配線層から順に「1〜30」の番号が割り付けられている。これにより、各配線層を認識することができる。
According to the
図6において、配線領域情報600には、配線領域200上の配線禁止領域をあらわす配線禁止情報600−1〜600−4が示されている。ここで、配線禁止領域とは、トランジスタ、配線、ビアなどの障害物が配置され、新たな配線を形成することができない領域である。
In FIG. 6, the
具体的には、配線禁止情報600−1〜600−4は、配線禁止ID、開始座標、終了座標、開始層および終了層に関する情報を有している。配線禁止IDは、配線禁止領域を識別する識別子である。開始座標は、配線禁止領域の開始位置を特定する座標位置である。終了座標は、配線禁止領域の終了位置を特定する座標位置である。開始層/終了層は、複数層にわたって形成される配線禁止領域の開始層および終了層を特定する番号である。 Specifically, the wiring prohibition information 600-1 to 600-4 includes information regarding a wiring prohibition ID, a start coordinate, an end coordinate, a start layer, and an end layer. The wiring prohibition ID is an identifier for identifying a wiring prohibited area. The start coordinate is a coordinate position that specifies the start position of the wiring prohibited area. The end coordinates are coordinate positions that specify the end position of the wiring prohibited area. The start layer / end layer is a number that identifies the start layer and the end layer of the wiring prohibited area formed over a plurality of layers.
ここで、配線禁止領域F1を例に挙げると、開始座標(XF1,YF1)および終了座標(XF2,YF2)によって特定される矩形の領域であり(図2参照)、設計対象回路の第1層から第30層にわたって形成される障害物(異なる配線層間を接続するビア)である。
Here, taking the wiring prohibited area F1 as an example, it is a rectangular area specified by the start coordinates (
つぎに、ネットグループ情報の具体例について説明する。図7は、ネットグループ情報の具体例を示す説明図である。図7において、ネットグループテーブル700には、設計対象回路内の接続関係を有する一対の部品ごとのネットグループ情報700−1〜700−4が記憶されている。ここで、部品とは、たとえば、抵抗器、コンデンサ、トランジスタ、IC(Integrated Circuit)などの電子部品である。 Next, a specific example of net group information will be described. FIG. 7 is an explanatory diagram of a specific example of net group information. In FIG. 7, the net group table 700 stores net group information 700-1 to 700-4 for each pair of components having a connection relationship in the design target circuit. Here, the component is an electronic component such as a resistor, a capacitor, a transistor, or an IC (Integrated Circuit).
具体的には、ネットグループ情報700−1〜700−4は、ネットグループID、始点座標、終点座標、ビット幅および使用層に関する情報を有している。ネットグループIDは、ネットグループを識別する識別子である。始点座標/終点座標は、ネットグループの配線経路の始点および終点を特定する座標位置である。 Specifically, the net group information 700-1 to 700-4 includes information on the net group ID, start point coordinates, end point coordinates, bit width, and use layer. The net group ID is an identifier for identifying a net group. The start point coordinates / end point coordinates are coordinate positions that specify the start point and end point of the wiring path of the net group.
ビット幅は、ネットグループ固有の配線幅を特定する情報である。使用層は、ビアのタイプによって制限される使用可能な配線層を特定する情報である。ここで、ネットグループNG1を例に挙げると、始点座標(XN1,YN1)、終点座標(XN2,YN2)であり、ビット幅「32ビット」、使用層「第1層〜第5層」である。
The bit width is information for specifying the wiring width unique to the net group. The use layer is information for specifying a usable wiring layer limited by the via type. Here, taking the net group NG1 as an example, the start point coordinates (
なお、ビット幅が「32ビット」の場合、たとえば、1ビットの情報を送信するために1本の配線を用いるとすると、ネットグループNG1に含まれるネットの総数は32本となる。このため、たとえば、設計対象回路の配線幅が60[nm]の場合、ネットグループNG1固有の配線幅は1920[nm](=32×60)となる。 When the bit width is “32 bits”, for example, if one wiring is used to transmit 1-bit information, the total number of nets included in the net group NG1 is 32. For this reason, for example, when the wiring width of the circuit to be designed is 60 [nm], the wiring width unique to the net group NG1 is 1920 [nm] (= 32 × 60).
図4の説明に戻り、探索部402は、設計対象回路の配線領域内のネットグループ固有の始点座標から終点座標に辿り着くまでのネットグループ固有の配線幅の配線経路をネットグループごとに探索する機能を有する。具体的には、たとえば、探索部402は、記憶領域に記憶された配線領域情報500,600およびネットグループ情報700−1〜700−4に基づいて、ネットグループNG1〜NG4ごとの配線経路を探索する。
Returning to the description of FIG. 4, the
より詳細に説明すると、たとえば、探索部402は、配線領域200全体を配線可能領域として、ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの最短の配線経路(仮想配線経路)を探索することとしてもよい。つまり、配線領域200上の配線禁止領域F1〜F4を考慮することなく、各ネットグループNG1〜NG4の配線経路を探索する。
More specifically, for example, the
ここで、探索部402による探索結果について説明する。図8は、探索結果の具体例を示す説明図(その1)である。図8において、配線領域200には、ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路810〜840が示されている。ここで、各配線経路810〜840は、各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ直線である。
Here, a search result by the
検出部403は、探索部402によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する機能を有する。具体的には、たとえば、検出部403は、配線領域情報500,600と、配線経路810〜840をあらわす配線経路情報とに基づいて、配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する。
The
図8に示した例では、配線領域情報500から配線領域200の配線格子サイズを特定し、配線領域200内で各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ直線間の交点を検出することで、交差関係を有するネットグループの組み合わせを検出することができる。
In the example shown in FIG. 8, the wiring grid size of the
より具体的には、たとえば、ネットグループNG1〜NG4から選ばれた任意のネットグループと他のネットグループとの交点を検出し、後述する交差情報テーブルに登録する。これを、ネットグループNG1〜NG4から選ばれていない未選択のネットグループがなくなるまで繰り返す。ただし、既に登録済みの交点については重複登録しない。 More specifically, for example, an intersection between an arbitrary net group selected from the net groups NG1 to NG4 and another net group is detected and registered in an intersection information table described later. This is repeated until there is no unselected net group selected from the net groups NG1 to NG4. However, duplicate registration is not performed for intersections that have already been registered.
ここで、検出部403による検出結果(交差情報)について説明する。図9は、交差情報の具体例を示す説明図(その1)である。図9において、交差情報テーブル900には、相互に交差関係を有するネットグループの組み合わせをあらわす交差情報900−1〜900−4が示されている。
Here, a detection result (intersection information) by the
具体的には、交差情報900−1〜900−4は、エッジID、始点および終点に関する情報を有している。エッジIDは、後述する無向グラフにおいて、交差関係を有するネットグループのノード間をつなぐエッジを識別する識別子である。始点/終点は、交差関係を有するネットグループの組み合わせを特定する情報である。 Specifically, the intersection information 900-1 to 900-4 includes information on the edge ID, the start point, and the end point. The edge ID is an identifier for identifying an edge connecting between nodes of a net group having an intersection relationship in an undirected graph described later. The start point / end point is information for identifying a combination of net groups having an intersection relationship.
たとえば、交差情報900−1によれば、ネットグループNG1の配線経路810とネットグループNG3の配線経路830との間で交差関係を認識することができる。なお、交差情報テーブル900は、たとえば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
For example, according to the intersection information 900-1, the intersection relationship can be recognized between the
決定部405は、検出部403によって検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定する機能を有する。この決定処理には、たとえば、与えられた無向グラフのノードに対して、直接接続されたノード間で色が異なるように彩色する彩色問題を適用することができる。
The
無向グラフの彩色問題を解くことにより、その無向グラフ内のノードを最小の数の色で彩色することができる。つまり、この彩色問題を配線層割当の最適化に適用することにより(彩色問題における色を配線層の番号に適用)、配線設計に必要となる最小の配線層数を求める。以下、決定部405による決定処理の具体的な処理内容について説明する。
By solving the coloring problem of the undirected graph, the nodes in the undirected graph can be colored with the minimum number of colors. That is, by applying this coloring problem to the optimization of the wiring layer assignment (the color in the coloring problem is applied to the wiring layer number), the minimum number of wiring layers required for the wiring design is obtained. Hereinafter, specific processing contents of the determination processing by the
まず、作成部404は、設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、検出部403によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する機能を有する。具体的には、たとえば、まず、ネットグループ情報700−1〜700−4を参照して、ネットグループNG1〜NG4をノード化する。
First, the
このあと、交差情報900−1〜900−4を参照して、相互に交差関係を有するネットグループをあらわすノード間をエッジE1〜E4によってつなぐ無向グラフを作成する。図10は、無向グラフの具体例を示す説明図(その1)である。図10において、無向グラフ1000は、ネットグループNG1〜NG4をあらわすノードNG1〜NG4から構成され、交差関係を有するノード間がエッジE1〜E4によって接続されている。
Thereafter, with reference to the intersection information 900-1 to 900-4, an undirected graph is created in which the nodes E1 to E4 connect the nodes representing the net groups having an intersection relationship with each other. FIG. 10 is an explanatory diagram (part 1) of a specific example of an undirected graph. In FIG. 10, an
決定部405は、作成部404によって作成された無向グラフ1000の彩色問題を解くことにより、無向グラフ1000内の直接接続されたノード間で配線層が異なるように、各ネットグループNG1〜NG4に割り当てる配線層を決定する。具体的には、たとえば、SEQ(SEQuential heuristic)を用いて、無向グラフ1000内の各ノードNG1〜NG4に、隣接ノードに割り当てられていない色を順次割り当てていく。
The
ここで、各ノードNG1〜NG4につながれたエッジ数の最大値を「Δ」とする。配線層割当に彩色問題を適用することにより、最大でも「Δ+1」の層数の配線層を用いて、各ネットグループNG1〜NG4に割り当てる配線層を決定することができる。無向グラフ1000の例では、必要となる配線層は最大でも3層である。
Here, the maximum value of the number of edges connected to each of the nodes NG1 to NG4 is “Δ”. By applying the coloring problem to the wiring layer assignment, it is possible to determine the wiring layer to be assigned to each of the net groups NG1 to NG4 using the maximum number of wiring layers of “Δ + 1”. In the example of the
ここで、決定部405による決定結果の具体例について説明する。図11は、決定結果の具体例を示す説明図(その1)である。図11において、決定結果1100には、各ネットグループNG1〜NG4の割当先の配線層が示されている。具体的には、ネットグループNG1,NG2は第1層に割り当てられており、ネットグループNG3,NG4は第2層に割り当てられている。
Here, a specific example of the determination result by the
この決定結果1100によれば、相互に交差関係にあるネットグループNG1とネットグループNG3,NG4とがそれぞれ異なる配線層に割り当てられており、また、相互に交差関係にあるネットグループNG2とネットグループNG3,NG4とがそれぞれ異なる配線層に割り当てられている。
According to the
さらに、交差関係にないネットグループNG1とネットグループNG2、およびネットグループNG3とネットグループNG4が同一の配線層に割り当てられている。すなわち、ネットグループNG1〜NG4の配線設計に必要となる配線層の層数は「2」となる。このように、配線層割当に無向グラフの彩色問題を適用することにより、配線設計に必要となる配線層の層数を最小化することができる。 Further, the net group NG1 and net group NG2 and the net group NG3 and net group NG4 that are not in an intersecting relationship are assigned to the same wiring layer. That is, the number of wiring layers required for the wiring design of the net groups NG1 to NG4 is “2”. In this way, by applying the coloring problem of the undirected graph to the wiring layer assignment, the number of wiring layers required for wiring design can be minimized.
出力部406は、決定部405によって決定された決定結果(たとえば、決定結果1100)を出力する機能を有する。なお、出力部406による出力形式としては、たとえば、ディスプレイ308への表示、プリンタ313への印刷出力、I/F309による外部装置への送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶することとしてもよい。
The
また、上述した例では、配線領域内の配線禁止領域を考慮しない仮想的な配線経路(810〜840)を探索することとしたが、配線領域内の配線禁止領域を考慮して、物理的に配線可能な配線経路(概略配線経路)を探索することとしてもよい。 In the above-described example, the virtual wiring route (810 to 840) that does not consider the wiring prohibition area in the wiring area is searched. However, physically considering the wiring prohibition area in the wiring area, It is good also as searching for the wiring route (outline wiring route) which can be wired.
具体的には、たとえば、探索部402は、配線領域200内の配線禁止領域F1〜F4を除く残余の配線領域200を配線可能領域として、ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路を探索することとしてもよい。ここで、探索部402による探索処理の具体的な処理内容について説明する。
Specifically, for example, the
まず、配線可能領域において、各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでに1回の曲がりを許して配線経路を探索する。ここで、配線経路が探索されなかった場合、同様に2回の曲がりを許して配線経路を探索する。これでも配線経路が探索されなかった場合には、配線不能として探索処理を終了する、あるいは、配線領域200の配線領域サイズを拡張して再探索する。
First, in the routable area, a wiring route is searched by allowing one turn before reaching the end point coordinates from the start point coordinates unique to the net groups NG1 to NG4. Here, when the wiring route is not searched, the wiring route is similarly searched by allowing two bends. If the wiring route is not searched for even after this, the search process is terminated because the wiring is impossible, or the wiring area size of the
ここで、探索部402による探索結果について説明する。図12は、探索結果の具体例を示す説明図(その2)である。図12において、配線領域200には、各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路1210〜1240が示されている。これら配線経路1210〜1240は、配線領域200内の配線禁止領域F1〜F4を迂回して、各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ概略配線経路である。
Here, a search result by the
つぎに、探索部402による探索結果(配線経路情報)をあらわすデータ構造について説明する。図13および図14は、配線経路情報の具体例を示す説明図である。図13において、探索結果テーブル1300には、ネットグループNG1〜NG4ごとの配線経路1210〜1240(図12参照)に関する配線経路情報1300−1〜1300−4が記憶されている。
Next, a data structure representing a search result (wiring route information) by the
具体的には、配線経路情報1300−1〜1300−4は、各ネットグループNG1〜NGの開始インデックスおよびパターン数を有している。インデックスは、配線経路1210〜1240を構成する各パターンの配線経路情報(図14に示す配線経路情報1400−1〜1400−12)の格納場所を特定する索引番号である。
Specifically, the wiring route information 1300-1 to 1300-4 has the start index and the number of patterns of each net group NG1 to NG. The index is an index number that identifies the storage location of the wiring route information (wiring route information 1400-1 to 1400-12 shown in FIG. 14) of each pattern constituting the
開始インデックスは、各配線経路1210〜1240の開始パターン(各ネットグループNG1〜NG4固有の始点座標を含むパターン)の配線経路情報の格納場所を特定する索引番号である。パターン数は、各配線経路1210〜1240を構成するパターンの総数である。
The start index is an index number that identifies the storage location of the wiring path information of the start pattern of each
図14において、探索結果テーブル1400には、インデックス0〜11ごとに、パターンIDおよび開始/終了座標に関する配線経路情報1400−1〜1400−12が記憶されている。パターンIDは、配線経路1210〜1240を構成するパターンPT1〜PT12を識別する識別子である。
In FIG. 14, the search result table 1400 stores wiring path information 1400-1 to 1400-12 regarding the pattern ID and start / end coordinates for each index 0-11. The pattern ID is an identifier for identifying the patterns PT1 to PT12 constituting the
これら探索結果テーブル1300,1400を参照することにより、配線領域200内における各配線経路1210〜1240を特定することができる。ここで、ネットグループNG3の配線経路1230を例に挙げると、配線経路情報1300−3から開始インデックス「3」およびパターン数「3」を特定する。そして、インデックス3を含む3つ分の配線経路情報1400−4〜1400−6からパターンPT4,PT5,PT6の開始/終了座標を特定する。
By referring to these search result tables 1300 and 1400, each of the
これにより、配線領域200内におけるパターンPT4,PT5,PT6からなる配線経路1230を特定することができる。なお、探索結果テーブル1300,1400は、たとえば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
Thereby, the
この場合、検出部403は、探索結果テーブル1300,1400を参照して、配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出する。具体的には、探索結果テーブル1300,1400を参照して、配線領域200内における各配線経路1210〜1240を特定し、配線経路1210〜1240間の交差関係を検出する。
In this case, the
ここで、検出部403による検出結果について説明する。図15は、交差情報の具体例を示す説明図(その2)である。図15において、交差情報テーブル1500には、相互に交差関係を有するネットグループの組み合わせをあらわす交差情報1500−1〜1500−5が記憶されている。
Here, a detection result by the
これによれば、配線領域200全体を配線可能領域として配線経路810〜840を探索した場合(図9に示した交差情報テーブル900)に比べて、配線経路1230と配線経路1240との間で交差関係をあらわすネットグループNG3とネットグループNG4との組み合わせ(交差情報1500−5)が増えている。
According to this, compared with the case where the
つぎに、交差情報1500−1〜1500−5に基づく無向グラフについて説明する。図16は、無向グラフの具体例を示す説明図(その2)である。図16において、無向グラフ1600は、ネットグループNG1〜NG4をあらわすノードNG1〜NG4から構成され、交差関係を有するノード間がエッジE1〜E5によって接続されている。
Next, an undirected graph based on the intersection information 1500-1 to 1500-5 will be described. FIG. 16 is an explanatory diagram (part 2) of a specific example of an undirected graph. In FIG. 16, an
この無向グラフ1600は、図10に示した無向グラフ1000に比べて、ノードNG3とノードNG4とをつなぐエッジE5が増えている。この場合、決定部405は、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で割当先の配線層が異なるように、各ネットグループNG1〜NG4に割り当てる配線層を決定する。
The
ここで、決定部405による決定結果の具体例について説明する。図17は、決定結果の具体例を示す説明図(その2)である。図17において、決定結果1700には、各ネットグループNG1〜NG4の割当先の配線層が示されている。具体的には、ネットグループNG1,NG2は第1層に割り当てられている。また、ネットグループNG3は第2層に割り当てられており、ネットグループNG4は第3層に割り当てられている。
Here, a specific example of the determination result by the
この決定結果1700によれば、物理的に配線可能な配線経路1210〜1240が探索された結果、仮想的な配線経路を探索した場合に比べて、ネットグループNG3とネットグループNG4との交差関係が新たに発生している。このため、ネットグループNG3とネットグループNG4とがそれぞれ異なる配線層に割り当てられている。
According to the
また、取得部401は、同一配線層に割り当てるべき複数のネットグループの組み合わせを規定する制約条件を取得することとしてもよい。ここで、制約条件の具体例について説明する。図18は、制約条件の具体例を示す説明図(その1)である。図18において、制約条件1800には、制約条件ID、および同一配線層に割り当てるべきネットグループNG1〜NG4の組み合わせが規定されている。
The
制約条件IDは、制約条件を識別する識別子である。ここでは、制約条件C1として、同一配線層に割り当てるべきネットグループNG1およびNG2の組み合わせが規定されている。この制約条件1700は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで設計支援装置に直接入力することとしてもよく、また、不図示の外部装置から取得することとしてもよい。
The constraint condition ID is an identifier for identifying the constraint condition. Here, a combination of net groups NG1 and NG2 to be assigned to the same wiring layer is defined as the constraint condition C1. The
この場合、決定部405は、取得部401によって取得された制約条件に基づいて、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定することとしてもよい。具体的には、彩色問題において、同一配線層に割り当てるべきネットグループをあらわすノードを同じ色で彩色する制約をつけることにより実現する。図17に示した例では、まず、ネットグループNG1,NG2を同一配線層(同じ色)に割り当てたあと、ネットグループNG3,NG4の割当先を決定することとなる。
In this case, the
また、探索部402は、物理的に配線可能な各ネットグループの配線経路が探索された結果、検出部403によって第1および第2のネットグループの組み合わせが検出された場合、第2のネットグループの配線経路を配線禁止領域として、第1のネットグループの配線経路を再探索することとしてもよい。
In addition, when the
具体的には、設計対象回路の配線領域情報(たとえば、配線領域情報500,600)と、探索済みの配線経路に関する配線経路情報(たとえば、探索結果テーブル1300,1400)とに基づいて、配線領域内の障害物(たとえば、配線禁止領域F1〜F4)と第2のネットグループの配線経路とを配線禁止領域として、第1のネットグループの配線経路を再探索する(後述する実施例1を参照)。
Specifically, based on the wiring area information (for example,
さらに、探索部402は、検出部403によって第1および第2のネットグループの組み合わせが検出された場合、第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、第1のネットグループ固有の始点座標と終点座標とをつなぐ第3および第4のネットグループの配線経路を探索することとしてもよい(後述する実施例2を参照)。
Further, when the
第3および第4のネットグループ固有の配線幅は、たとえば、後述する第1のネットグループを分割する割合から算出することとしてもよい。また、第1のネットグループから分割される第3および第4のネットグループに関するネットグループ情報から特定することとしてもよい。なお、第3および第4のネットグループに関するネットグループ情報は、たとえば、設計対象回路の回路情報に含まれている。 The wiring width specific to the third and fourth net groups may be calculated from, for example, the ratio of dividing the first net group described later. Moreover, it is good also as specifying from the net group information regarding the 3rd and 4th net group divided | segmented from a 1st net group. Note that the net group information regarding the third and fourth net groups is included in the circuit information of the circuit to be designed, for example.
ここで、N本のネットをグループ化した第1のネットグループを、第3および第4のネットグループに分割するネット数の割合は、任意に設定可能である。たとえば、ネット数の割合が「1:1」に設定されている場合、第1のネットグループを、N/2本のネットをグループ化した第3のネットグループと、N/2本のネットをグループ化した第4のネットグループとに分割することとなる。 Here, the ratio of the number of nets for dividing the first net group obtained by grouping N nets into the third and fourth net groups can be arbitrarily set. For example, when the ratio of the number of nets is set to “1: 1”, the first net group is divided into a third net group obtained by grouping N / 2 nets and N / 2 nets. This is divided into a grouped fourth net group.
たとえば、図1に示したネットグループ170を第1のネットグループとすると、それぞれ2本(=4/2)のネットをグループ化した第3および第4のネットグループに分割することとなる。なお、ネット数が割り切れない場合には、一方の端数を切り上げ、もう一方の端数を切り捨てることとしてもよい。
For example, if the
なお、第1のネットグループを分割する割合は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで任意に設定され、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。
Note that the ratio of dividing the first net group is arbitrarily set by the user operating the
また、第1のネットグループを分割する割合に従って、第1のネットグループ固有の配線幅を分割することで、第3および第4のネットグループ固有の配線幅を算出することができる。たとえば、上記割合が「1:1」、第1のネットグループ固有の配線幅が240[nm]であった場合、第3および第4のネットグループ固有の配線幅はともに120[nm]となる。 Further, by dividing the wiring width specific to the first net group according to the ratio of dividing the first net group, the wiring width specific to the third and fourth net groups can be calculated. For example, when the ratio is “1: 1” and the wiring width specific to the first net group is 240 [nm], the wiring width specific to the third and fourth net groups is 120 [nm]. .
判断部407は、決定部405によって割当先が決定された結果、相互に交差関係を有する第1および第2のネットグループの割当先が制約条件に違反しているか否かを判断する機能を有する。具体的には、たとえば、検出部403によって検出された検出結果と、取得部401によって取得された制約条件とを比較することにより、制約条件に違反しているか否かを判断する。
The
そして、探索部402は、判断部407によって制約条件に違反していると判断された場合、配線領域内の配線禁止領域および第2のネットグループの配線経路を除く残余の配線領域を配線可能領域として、第1のネットグループの配線経路を再探索することとしてもよい(後述する実施例3を参照)。
When the
(設計支援装置の設計支援処理手順)
つぎに、本実施の形態にかかる設計支援装置300の設計支援処理手順について説明する。図19は、設計支援装置の設計支援処理手順の一例を示すフローチャートである。
(Design support procedure of design support device)
Next, a design support processing procedure of the
なお、以下に説明する設計支援処理では、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで設計対象回路に関する配線領域情報およびネットグループ情報が設計支援装置300に入力されると、ステップS1901〜1906における一連の処理がコンピュータにより自動実行される。
In the design support process described below, for example, when the user operates the
図19のフローチャートにおいて、まず、取得部401により、設計対象回路に関する配線領域情報およびネットグループ情報を取得したか否かを判断する(ステップS1901)。ここで、配線領域情報およびネットグループ情報を取得するのを待って(ステップS1901:No)、取得した場合(ステップS1901:Yes)、探索部402により、取得された配線領域情報およびネットグループ情報に基づいて、設計対象回路の配線領域内のネットグループ固有の始点座標から終点座標に辿り着くまでのネットグループ固有の配線幅の配線経路をネットグループごとに探索する(ステップS1902)。
In the flowchart of FIG. 19, first, the
このあと、検出部403により、探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS1903)、作成部404により、ネットグループがノード化され、検出部403によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する(ステップS1904)。
After that, the
そして、決定部405により、作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定し(ステップS1905)、最後に、出力部406により、決定部405によって決定された決定結果を出力して(ステップS1906)、本フローチャートによる一連の処理を終了する。
Then, the
なお、ステップS1902において、仮想配線経路または概略配線経路のいずれを探索対象とするかは、ユーザによって予め設定されていることとする。 In step S1902, it is assumed that whether the virtual wiring route or the schematic wiring route is to be searched is set in advance by the user.
以上説明したように、本実施の形態によれば、設計対象回路内の一対の部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化し、ネットグループごとの配線経路探索および配線層割当を自動化することができる。これにより、配線設計にかかる作業負荷および作業時間を削減し、設計期間の短縮化を図ることができる。 As described above, according to the present embodiment, nets to be wired to the same wiring layer among nets connecting a pair of components in the circuit to be designed are grouped, and a wiring route search and wiring layer for each net group are performed. Assignment can be automated. As a result, it is possible to reduce the work load and work time required for the wiring design, and to shorten the design period.
また、相互に交差関係を有するネットグループをそれぞれ異なる配線層に割り当て、相互に交差関係にないネットグループを同一配線層に割り当てることができる。これにより、回路動作の信頼性を低下させることなく配線設計に必要となる配線層の層数を最適化することができ、製造コストを削減することができる。 Further, net groups having a cross relationship with each other can be assigned to different wiring layers, and net groups not having a cross relationship with each other can be assigned to the same wiring layer. Thereby, the number of wiring layers required for wiring design can be optimized without reducing the reliability of circuit operation, and the manufacturing cost can be reduced.
つぎに、本実施の形態の実施例1について説明する。実施例1では、物理的に配線可能な配線経路を探索した結果、相互に交差関係を有する第1および第2のネットグループの組み合わせが検出された場合、第2のネットグループの配線経路を配線禁止領域として、第1のネットグループの配線経路を再探索する。 Next, Example 1 of the present embodiment will be described. In the first embodiment, if a combination of the first and second net groups having a crossing relationship with each other is detected as a result of searching for a physically routable wiring route, the wiring route of the second net group is routed. As the prohibited area, the wiring route of the first net group is searched again.
この結果、第2のネットグループの配線経路を迂回して、第1のネットグループ固有の始点座標から終点座標に辿り着くまでの配線経路が探索されると、第1および第2のネットグループの交差関係が解消される。なお、実施の形態において説明した箇所と同一箇所については、図示および説明を省略する。 As a result, when the wiring route from the start point coordinates unique to the first net group to the end point coordinates is searched, bypassing the wiring route of the second net group, the first net group and the second net group are searched. Cross relationship is canceled. In addition, illustration and description are abbreviate | omitted about the location same as the location demonstrated in embodiment.
具体的には、検出部403により、相互に交差関係を有するネットグループの組み合わせが検出された結果、ネットグループNG1〜NG4の中から、交差関係にある他のネットグループ数が最大となるネットグループを検出する。具体的には、たとえば、作成部404によって作成された無向グラフ1600(または、交差情報テーブル1500)を参照して、各ノードNG1〜NG4のエッジ数を計数する。
Specifically, as a result of detecting a combination of net groups having a cross relationship with each other by the
より具体的には、たとえば、交差情報テーブル1500に出現する各ネットグループIDを計数することにより、各ノードNG1〜NG4のエッジ数を計数することができる。なお、エッジ数が最大のノードがあらわすネットグループは、交差関係にある他のネットグループ数が最大のネットグループに相当する。 More specifically, for example, by counting each net group ID that appears in the intersection information table 1500, the number of edges of each node NG1 to NG4 can be counted. Note that the net group represented by the node having the largest number of edges corresponds to the net group having the largest number of other net groups in an intersecting relationship.
図20は、計数結果の具体例を示す説明図である。図20において、計数結果2000には、ネットグループNG1〜NG4ごとのエッジ数が示されている。この計数結果2000を参照することで、エッジ数が最大(3本)となるノードNG3,NG4を検出することができる。
FIG. 20 is an explanatory diagram showing a specific example of the counting result. In FIG. 20, the
このあと、探索部402により、エッジ数が最大のネットグループNG3,NG4のうち、ネットグループNG3(または、ネットグループNG4)の配線経路を配線禁止領域として、ネットグループNG4(または、ネットグループNG3)の配線経路を再探索する。
Thereafter, the
ここで、実施例1における探索部402による探索結果について説明する。ここでは、探索部402によって配線経路1210〜1240が探索された結果、ネットグループNG3の配線経路1230を配線禁止領域として、ネットグループNG4の配線経路を再探索した探索結果について説明する。
Here, the search result by the
図21は、探索結果の具体例を示す説明図(その3)である。図21において、配線領域200には、各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路1210〜1230,2110が示されている。
FIG. 21 is an explanatory diagram (part 3) of a specific example of a search result. In FIG. 21, the
配線経路2110は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG3の配線経路1230を配線禁止領域として、ネットグループNG4固有の始点座標から終点座標に辿り着くまでの配線経路を再探索した探索結果である。ここでは、配線経路2110が探索された結果、ネットグループNG3とネットグループNG4との交差関係が解消されている。
The
図22は、決定結果の具体例を示す説明図(その3)である。図22において、決定結果2200には、各ネットグループNG1〜NG4の割当先の配線層が示されている。具体的には、ネットグループNG1,NG2は第1層に割り当てられており、ネットグループNG3,NG4は第2層に割り当てられている。
FIG. 22 is an explanatory diagram (part 3) of a specific example of the determination result. In FIG. 22, the
これによれば、ネットグループNG3とネットグループNG4との交差関係が解消され、ネットグループNG3,NG4が同一配線層に割り当てられている。このため、図17に示した決定結果1700に比べて、設計対象回路の配線設計に必要となる配線層の層数が「1」少なくなっている。
According to this, the cross relationship between the net group NG3 and the net group NG4 is canceled, and the net groups NG3 and NG4 are assigned to the same wiring layer. For this reason, the number of wiring layers required for the wiring design of the circuit to be designed is “1” less than the
なお、探索部402による配線経路の再探索は、配線設計に必要となる配線層の層数が予め設定された閾値以下となるまで繰り返しおこなわれることとしてもよい。たとえば、閾値として「5」が設定されている場合、配線設計に必要となる配線層の層数が5以下となるまで、配線経路の再探索を繰り返す。なお、上記閾値は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで任意に設定可能である。
Note that the re-search of the wiring path by the
(実施例1の設計支援処理手順)
つぎに、実施例1における設計支援処理手順について説明する。図23は、実施例1における設計支援処理手順の一例を示すフローチャートである。まず、取得部401により、配線領域情報500,600およびネットグループ情報700−1〜700−4を取得したか否かを判断する(ステップS2301)。
(Design support processing procedure of Example 1)
Next, a design support processing procedure in the first embodiment will be described. FIG. 23 is a flowchart illustrating an example of a design support processing procedure according to the first embodiment. First, it is determined whether the
ここで、配線領域情報500,600およびネットグループ情報700−1〜700−4を取得するのを待って(ステップS2301:No)、取得した場合(ステップS2301:Yes)、探索部402により、配線領域情報500,600およびネットグループ情報700−1〜700−4に基づいて、配線領域200内の各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの各ネットグループNG1〜NG4の配線幅の配線経路を探索する(ステップS2302)。
Here, it waits for the acquisition of the
このあと、検出部403により、探索された配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS2303)、作成部404により、ネットグループNG1〜NG4がノード化され、交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフ1600を作成する(ステップS2304)。
Thereafter, the
そして、決定部405により、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループNG1〜NG4に割り当てる配線層を決定する(ステップS2305)。
Then, the
つぎに、決定部405によって決定された決定結果に基づいて、設計対象回路の配線設計に必要となる配線層の層数が予め設定された閾値以下か否かを判断する(ステップS2306)。ここで、閾値以下ではなかった場合(ステップS2306:No)、検出部403により、ネットグループNG1〜NG4の中から、エッジ数が最大のノードをあらわすネットグループNG3,NG4を検出する(ステップS2307)。
Next, based on the determination result determined by the
そして、検出されたネットグループNG3,NG4のうちネットグループNG3の配線経路1230を配線禁止領域に設定して(ステップS2308)、ステップS2302に戻り、探索部402により、ネットグループNG4の配線経路を再探索する。
Then, of the detected net groups NG3 and NG4, the
また、ステップS2306において、閾値以下であった場合(ステップS2306:Yes)、最後に、出力部406により、ステップS2305において決定された決定結果を出力して(ステップS2309)、本フローチャートによる一連の処理を終了する。
In step S2306, if it is equal to or less than the threshold value (step S2306: Yes), finally, the
なお、交差関係を解消する配線経路が探索されない場合を考慮して、ステップS2307において再探索回数が予め設定された所定回数以上となった場合には、配線設計に必要となる配線層の層数が閾値以下ではない場合であってもステップS2309に移行することとしてもよい。 In consideration of the case where a wiring route that eliminates the crossing relationship is not searched, if the number of re-searches exceeds a predetermined number in step S2307, the number of wiring layers required for wiring design Even if is not less than or equal to the threshold value, the process may proceed to step S2309.
実施例1によれば、配線経路1230を配線禁止領域として、ネットグループNG4固有の始点座標から終点座標までの配線経路2110を新たに探索することにより、ネットグループNG3,NG4の同一配線層への割り当てが可能となり、配線設計に必要となる配線層の層数を削減することができる。
According to the first embodiment, the
つぎに、本実施の形態の実施例2について説明する。実施例2では、物理的に配線可能な配線経路を探索した結果、相互に交差関係を有する第1および第2のネットグループの組み合わせが検出された場合、第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、第1のネットグループ固有の始点座標と終点座標とをつなぐ第3および第4のネットグループの配線経路を探索する。 Next, Example 2 of the present embodiment will be described. In the second embodiment, if a combination of the first and second net groups having a crossing relationship with each other is detected as a result of searching for a physically routeable wiring route, the second divided from the first net group is detected. Based on the wiring width specific to the third and fourth net groups, the wiring paths of the third and fourth net groups that connect the start point coordinates and the end point coordinates specific to the first net group are searched.
この結果、第2のネットグループの配線経路を迂回して、第1のネットグループ固有の始点座標から終点座標に辿り着くまでの第3および第4のネットグループの配線経路が探索されると、第1および第2のネットグループの交差関係が解消される。 As a result, when the wiring route of the third and fourth net groups is searched until the wiring route of the second net group is bypassed and the starting point coordinates specific to the first net group reach the end point coordinates, The cross relationship between the first and second net groups is eliminated.
具体的には、検出部403により、図20に示した計数結果2000を参照して、エッジ数が最大のノードNG3,NG4を検出する。ここでは、ネットグループ3を分割対象として説明する。このあと、ネットグループNG3から分割されるネットグループNG5,NG6固有の配線幅を特定する。
Specifically, the
そして、探索部402により、ネットグループNG5,NG6固有の配線幅に基づいて、ネットグループNG3固有の始点座標と終点座標とをつなぐネットグループNG5,NG6の配線経路を探索する。
Then, the
ここで、実施例2における探索部402による探索結果について説明する。ここでは、配線経路1210〜1240が探索された結果、ネットグループNG4の配線経路1240を配線禁止領域として、ネットグループNG3から分割されたネットグループNG5,NG6の配線経路を探索した探索結果について説明する。
Here, the search result by the
図24は、探索結果の具体例を示す説明図(その4)である。なお、ここでは説明のため、ネットグループNG5,NG6固有の始点/終点座標は、ネットグループNG3固有の始点/終点座標からずれた座標位置となっている。図24において、配線領域200には、各ネットグループNG1,NG2,NG4,NG5,NG6固有の始点座標から終点座標に辿り着くまでの配線経路1210,1220,1240,2310,2320が示されている。
FIG. 24 is an explanatory diagram (part 4) of a specific example of a search result. For the sake of explanation, the start point / end point coordinates specific to the net groups NG5 and NG6 are shifted from the start point / end point coordinates specific to the net group NG3. In FIG. 24, the
配線経路2310,2320は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG4の配線経路1240を配線禁止領域として、ネットグループNG5,NG6の配線経路を探索した探索結果である。ここでは、これら配線経路2310,2320が探索された結果、ネットグループNG3(ネットグループNG5,NG6)と、ネットグループNG4との交差関係が解消されている。
The
なお、ネットグループNG5,NG6の配線経路が探索されなかった場合には、第3のネットグループを分割するネット数の割合を自動変更(たとえば、「5:5」→「6:4)して、ネットグループNG5,NG6の配線経路を再探索することとしてもよい。 When the wiring route of the net groups NG5 and NG6 is not searched, the ratio of the number of nets dividing the third net group is automatically changed (for example, “5: 5” → “6: 4”). The wiring paths of the net groups NG5 and NG6 may be searched again.
実施例2によれば、配線経路1240を配線禁止領域として、ネットグループNG3固有の始点座標から終点座標までの配線経路2310,2320を新たに探索することにより、ネットグループNG4〜NG6の同一配線層への割り当てが可能となり、設計対象回路の配線設計に必要となる配線層の層数を削減することができる。
According to the second embodiment, by using the
つぎに、本実施の形態の実施例3について説明する。実施例3では、各ネットグループに配線層が割り当てられた結果、相互に交差関係を有する第1および第2のネットグループの割当結果が制約条件に違反している場合、第2のネットグループの配線経路を配線禁止領域として、第1のネットグループの配線経路を再探索する。 Next, Example 3 of the present embodiment will be described. In the third embodiment, as a result of the assignment of the wiring layer to each net group, if the assignment result of the first and second net groups having a cross relationship with each other violates the constraint condition, The wiring path of the first net group is searched again using the wiring path as a wiring prohibited area.
この結果、第2のネットグループの配線経路を迂回して、第1のネットグループ固有の始点座標から終点座標に辿り着くまでの配線経路が探索されると、第1および第2のネットグループの交差関係が解消される。ここで、実施例3の制約条件について説明する。図25は、制約条件の具体例を示す説明図(その2)である。 As a result, when the wiring route from the start point coordinates unique to the first net group to the end point coordinates is searched, bypassing the wiring route of the second net group, the first net group and the second net group are searched. Cross relationship is canceled. Here, the constraint condition of Example 3 is demonstrated. FIG. 25 is an explanatory diagram (part 2) of a specific example of the constraint condition.
図25において、制約条件2500には、制約条件C2として、同一配線層に割り当てるべきネットグループNG1およびNG3の組み合わせが規定されている。ここでは、判断部407は、相互に交差関係を有する第1および第2のネットグループの割当結果が制約条件2500に違反しているか否かを判断することとなる。
In FIG. 25, the
具体的には、判断部407により、決定部405によって割当先が決定された結果(図17に示した決定結果1700)、検出部403によって検出された相互に交差関係を有するネットグループの組み合わせと、制約条件2500に規定されているネットグループNG1とネットグループNG3との組み合わせを比較することにより、制約条件2500に違反しているか否かを判断する。
Specifically, the
ここでは、相互に交差関係を有するネットグループの組み合わせの中に、ネットグループNG1とネットグループNG3との組み合わせが存在するため(交差情報テーブル1500、無向グラフ1600を参照)、制約条件2500に違反していると判断する。
Here, the combination of net group NG1 and net group NG3 exists among the combinations of net groups that intersect each other (refer to intersection information table 1500 and undirected graph 1600), and therefore violates
この場合、探索部402は、配線領域200内の配線禁止領域F1〜F4およびネットグループNG1(または、ネットグループNG3)の配線経路1230(または、配線経路1210)を除く残余の配線領域200を配線可能領域として、ネットグループNG3(または、ネットグループNG1)の配線経路1210(または、配線経路1230)を再探索する。
In this case, the
ここで、実施例3における探索部402による探索結果について説明する。ここでは、判断部407によってネットグループNG1,NG3を同一配線層に形成する制約条件2500に違反していると判断された結果、ネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3の配線経路を再探索した探索結果について説明する。
Here, the search result by the
図26は、探索結果の具体例を示す説明図(その5)である。図26において、配線領域200には、各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路1210〜1230,2610が示されている。
FIG. 26 is an explanatory diagram (part 5) illustrating a specific example of the search result. In FIG. 26, the
配線経路2610は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3固有の始点座標から終点座標に辿り着くまでの配線経路を再探索した探索結果である。ここでは、配線経路2510が探索された結果、ネットグループNG1とネットグループNG3との交差関係が解消されている。
The
(実施例3の設計支援処理手順)
つぎに、実施例3における設計支援処理手順について説明する。図27は、実施例3における設計支援処理手順の一例を示すフローチャートである。図27のフローチャートにおいて、まず、取得部401により、配線領域情報500,600、ネットグループ情報700−1〜700−4および制約条件2500を取得したか否かを判断する(ステップS2701)。
(Design support processing procedure of Example 3)
Next, a design support processing procedure in the third embodiment will be described. FIG. 27 is a flowchart illustrating an example of a design support processing procedure according to the third embodiment. In the flowchart of FIG. 27, first, the
ここで、配線領域情報500,600、ネットグループ情報700−1〜700−4および制約条件2500を取得するのを待って(ステップS2701:No)、取得した場合(ステップS2701:Yes)、探索部402により、配線領域情報500,600およびネットグループ情報700−1〜700−4に基づいて、配線領域200内の各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの各ネットグループNG1〜NG4の配線幅の配線経路を探索する(ステップS2702)。
Here, after waiting for the acquisition of the
このあと、検出部403により、探索された配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS2703)、作成部404により、ネットグループNG1〜NG4がノード化され、交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフ1600を作成する(ステップS2704)。
Thereafter, the
そして、決定部405により、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループNG1〜NG4に割り当てる配線層を決定する(ステップS2705)。
Then, the
つぎに、判断部407により、検出部403によって検出された相互に交差関係を有するネットグループの組み合わせが、ステップS2701において取得された制約条件2500に違反しているか否かを判断する(ステップS2706)。
Next, the
ここで、制約条件2500に違反している場合(ステップS2706:Yes)、ネットグループNG1の配線経路1210を配線禁止領域に設定して(ステップS2707)、ステップS2702に戻り、ネットグループNG3固有の始点座標から終点座標に辿り着くまでの配線経路を再探索する。
If the
一方、制約条件2500に違反していない場合(ステップS2706:No)、最後に、出力部406により、ステップS2705において決定された決定結果を出力して(ステップS2708)、本フローチャートによる一連の処理を終了する。
On the other hand, if the
実施例3によれば、制約条件2500違反となっているネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3固有の始点座標から終点座標までの配線経路2610を新たに探索することにより、ネットグループNG1,NG3の同一配線層への割り当てが可能となり、制約条件2500違反を解消することができる。
According to the third embodiment, the
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。 The design support method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, this program may be a medium that can be distributed via a network such as the Internet.
また、本実施の形態で説明した設計支援装置300は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した設計支援装置300の機能(取得部401〜判断部407)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置300を製造することができる。
Further, the
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are disclosed with respect to the embodiment described above.
(付記1)設計対象回路内の接続関係を有する一対の部品ごとに、当該部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化したネットグループ固有の始点/終点座標および配線幅を記憶する記憶手段にアクセス可能なコンピュータを、
前記記憶手段にアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索手段、
前記探索手段によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出手段、
前記検出手段によって検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定手段、
前記決定手段によって決定された決定結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
(Supplementary note 1) For each pair of components having a connection relationship in the circuit to be designed, net group specific start / end coordinates and wiring width in which nets to be wired to the same wiring layer among nets connecting the components are grouped A computer accessible to storage means for storing
Search means for accessing the storage means and searching for a wiring route of the wiring width from the start point coordinates to the end point coordinates in the wiring region of the design target circuit for each net group;
Detecting means for detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the searching means;
Determining means for deciding a wiring layer to be assigned to each net group from among a plurality of wiring layers of the circuit to be designed so that a combination of net groups detected by the detecting means is assigned to different wiring layers;
Output means for outputting the determination result determined by the determination means;
Design support program characterized by functioning as
(付記2)前記コンピュータを、
前記設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、前記検出手段によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する作成手段として機能させ、
前記決定手段は、
前記作成手段によって作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、前記複数の配線層の中から前記各ネットグループに割り当てる配線層を決定することを特徴とする付記1に記載の設計支援プログラム。
(Appendix 2)
Creation means for creating an undirected graph that connects nodes of a combination of net groups having a cross relationship detected by the detection means in which a net group for each pair of components having a connection relationship in the circuit to be designed is noded Function as
The determining means includes
By solving the coloring problem of the undirected graph created by the creating means, each net group is selected from the plurality of wiring layers so that the wiring layers are different between directly connected nodes in the undirected graph. The design support program as set forth in
(付記3)前記探索手段は、
前記配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの最短の配線経路を探索することを特徴とする付記1または2に記載の設計支援プログラム。
(Supplementary note 3) The search means includes
The design support program according to
(付記4)前記探索手段は、
前記配線領域内の配線禁止領域を除く残余の配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの配線経路を探索することを特徴とする付記1または2に記載の設計支援プログラム。
(Supplementary Note 4) The search means includes:
The design according to
(付記5)前記探索手段は、
前記検出手段によって第1および第2のネットグループの組み合わせが検出された場合、前記第2のネットグループの配線経路を配線禁止領域として、前記第1のネットグループの配線経路を再探索することを特徴とする付記4に記載の設計支援プログラム。
(Supplementary Note 5) The search means includes:
When the combination of the first and second net groups is detected by the detecting means, the wiring path of the first net group is re-searched using the wiring path of the second net group as a wiring prohibited area. The design support program according to
(付記6)前記探索手段は、
前記検出手段によって第1および第2のネットグループの組み合わせが検出された場合、前記第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、前記第1のネットグループ固有の始点座標と終点座標とをつなぐ前記第3および第4のネットグループの配線経路を探索することを特徴とする付記4または5に記載の設計支援プログラム。
(Appendix 6) The search means includes:
When a combination of the first and second net groups is detected by the detection means, the first net group is based on the wiring width specific to the third and fourth net groups divided from the first net group. The design support program according to
(付記7)前記探索手段は、
前記第1のネットグループから分割された第3および第4のネットグループ固有の配線幅を算出することにより、前記第3および第4のネットグループの配線経路を探索することを特徴とする付記6に記載の設計支援プログラム。
(Appendix 7) The search means includes:
Supplementary note 6: The wiring paths of the third and fourth net groups are searched by calculating the wiring width specific to the third and fourth net groups divided from the first net group. The design support program described in 1.
(付記8)前記記憶手段は、
同一配線層に割り当てるべき複数のネットグループの組み合わせを規定する制約条件を記憶しており、
前記コンピュータを、
前記記憶手段にアクセスして、前記決定手段によって前記割当先が決定された結果、前記第1および第2のネットグループの割当先が前記制約条件に違反しているか否かを判断する判断手段として機能させ、
前記探索手段は、
前記判断手段によって前記制約条件に違反していると判断された場合、前記配線領域内の配線禁止領域および前記第2のネットグループの配線経路を除く残余の配線領域を配線可能領域として、前記第1のネットグループの配線経路を再探索することを特徴とする付記5〜7のいずれか一つに記載の設計支援プログラム。
(Appendix 8) The storage means
Stores constraints that specify combinations of multiple net groups that should be assigned to the same wiring layer.
The computer,
As a determination means for accessing the storage means and determining whether the assignment destinations of the first and second netgroups violate the constraint condition as a result of the assignment destination being determined by the determination means. Make it work
The search means includes
If it is determined by the determining means that the constraint condition is violated, the wiring prohibition area in the wiring area and the remaining wiring area excluding the wiring path of the second net group are set as routable areas. The design support program according to any one of
(付記9)前記探索手段は、
前記判断手段によって前記制約条件に違反していると判断された場合、前記第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、前記第1のネットグループ固有の始点座標と終点座標とをつなぐ前記第3および第4のネットグループの配線経路を探索することを特徴とする付記8に記載の設計支援プログラム。
(Supplementary note 9) The search means includes:
If it is determined by the determining means that the constraint condition is violated, the first net group is based on the wiring widths specific to the third and fourth net groups divided from the first net group. 9. The design support program according to
(付記10)前記記憶手段は、
同一配線層に割り当てるべき複数のネットグループの組み合わせを規定する制約条件を記憶しており、
前記決定手段は、
前記記憶手段によって記憶された制約条件に基づいて、前記複数の配線層の中から前記各ネットグループに割り当てる配線層を決定することを特徴とする付記1〜9のいずれか一つに記載の設計支援プログラム。
(Supplementary Note 10) The storage means
Stores constraints that specify combinations of multiple net groups that should be assigned to the same wiring layer.
The determining means includes
The design according to any one of
(付記11)付記1〜10のいずれか一つに記載の設計支援プログラムを記録したコンピュータに読み取り可能な記録媒体。 (Additional remark 11) The computer-readable recording medium which recorded the design assistance program as described in any one of Additional remark 1-10.
(付記12)設計対象回路内の接続関係を有する一対の部品ごとに、当該部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化したネットグループ固有の始点/終点座標および配線幅を記憶する記憶手段と、
前記記憶手段にアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索手段と、
前記探索手段によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出手段と、
前記検出手段によって検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
(Supplementary note 12) For each pair of components having a connection relationship in the circuit to be designed, the net group specific start / end coordinates and wiring width in which nets to be wired to the same wiring layer among the nets connecting the components are grouped Storage means for storing
Search means for accessing the storage means and searching for a wiring route of the wiring width from the start point coordinates to the end point coordinates in the wiring area of the design target circuit for each net group;
Detecting means for detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the searching means;
Determining means for deciding a wiring layer to be assigned to each net group from among a plurality of wiring layers of the circuit to be designed so that a combination of net groups detected by the detecting means is assigned to different wiring layers;
Output means for outputting the determination result determined by the determination means;
A design support apparatus comprising:
(付記13)制御手段および記憶手段を備え、設計対象回路内の接続関係を有する一対の部品ごとに、当該部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化したネットグループ固有の始点/終点座標および配線幅を記憶するテーブルにアクセス可能なコンピュータが、
前記制御手段により、前記テーブルにアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索工程と、
前記制御手段により、前記探索工程によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出工程と、
前記制御手段により、前記検出工程によって検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定工程と、
前記制御手段により、前記決定工程によって決定された決定結果を出力する出力工程と、
を実行することを特徴とする設計支援方法。
(Supplementary note 13) A net group specific group comprising a control unit and a storage unit, and groups of nets to be wired to the same wiring layer among the nets connecting the components for each pair of components having a connection relationship in the circuit to be designed A computer that can access a table that stores the start / end coordinates and the wiring width of
A search step of accessing the table by the control means and searching for a wiring route of the wiring width from the start point coordinate to the end point coordinate in the wiring region of the design target circuit for each net group; ,
A detection step of detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the search step by the control means;
The control means determines a wiring layer to be assigned to each net group from among a plurality of wiring layers of the design target circuit so that the combination of net groups detected in the detection step is assigned to different wiring layers. A decision process to
An output step of outputting the determination result determined by the determination step by the control means;
A design support method characterized by executing
200 配線領域
300 設計支援装置
401 取得部
402 探索部
403 検出部
404 作成部
405 決定部
406 出力部
407 判断部
DESCRIPTION OF
Claims (6)
前記記憶手段にアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索手段、
前記探索手段によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出手段、
前記設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、前記検出手段によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する作成手段、
前記作成手段によって作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定手段、
前記決定手段によって決定された決定結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。 A memory for storing a start / end point coordinate and a wiring width specific to a net group obtained by grouping nets to be wired to the same wiring layer among nets connecting the parts for each pair of parts having a connection relationship in a design target circuit A computer accessible to the means,
Search means for accessing the storage means and searching for a wiring route of the wiring width from the start point coordinates to the end point coordinates in the wiring region of the design target circuit for each net group;
Detecting means for detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the searching means;
Creation means for creating an undirected graph that connects nodes of a combination of net groups having a cross relationship detected by the detection means in which a net group for each pair of components having a connection relationship in the circuit to be designed is noded ,
By solving the coloring problem of the undirected graph created by the creation means, the wiring layers of the design target circuit are different so that the wiring layers are different between directly connected nodes in the undirected graph. Determining means for determining a wiring layer to be assigned to each net group from
Output means for outputting the determination result determined by the determination means;
Design support program characterized by functioning as
前記配線領域内の配線禁止領域を除く残余の配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの配線経路を探索することを特徴とする請求項1に記載の設計支援プログラム。 2. The design support according to claim 1, wherein a wiring route from the start point coordinates to the end point coordinates is searched for using a remaining wiring area excluding a wiring prohibited area in the wiring area as a routable area. program.
前記検出手段によって第1および第2のネットグループの組み合わせが検出された場合、前記第2のネットグループの配線経路を配線禁止領域として、前記第1のネットグループの配線経路を再探索することを特徴とする請求項2に記載の設計支援プログラム。 When the combination of the first and second net groups is detected by the detecting means, the wiring path of the first net group is re-searched using the wiring path of the second net group as a wiring prohibited area. The design support program according to claim 2, wherein:
前記検出手段によって第1および第2のネットグループの組み合わせが検出された場合、前記第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、前記第1のネットグループ固有の始点座標と終点座標とをつなぐ前記第3および第4のネットグループの配線経路を探索することを特徴とする請求項2または3に記載の設計支援プログラム。 When a combination of the first and second net groups is detected by the detection means, the first net group is based on the wiring width specific to the third and fourth net groups divided from the first net group. The design support program according to claim 2 or 3, wherein a wiring route of the third and fourth net groups connecting the start point coordinates and end point coordinates specific to the net group is searched.
前記記憶手段にアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索手段と、 Search means for accessing the storage means and searching for a wiring route of the wiring width from the start point coordinates to the end point coordinates in the wiring area of the design target circuit for each net group;
前記探索手段によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出手段と、 Detecting means for detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the searching means;
前記設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、前記検出手段によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する作成手段と、 Creation means for creating an undirected graph that connects nodes of a combination of net groups having a cross relationship detected by the detection means in which a net group for each pair of components having a connection relationship in the circuit to be designed is noded When,
前記作成手段によって作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定手段と、 By solving the coloring problem of the undirected graph created by the creation means, the wiring layers of the design target circuit are different so that the wiring layers are different between directly connected nodes in the undirected graph. Determining means for determining a wiring layer to be assigned to each net group from:
前記決定手段によって決定された決定結果を出力する出力手段と、 Output means for outputting the determination result determined by the determination means;
を備えることを特徴とする設計支援装置。 A design support apparatus comprising:
前記制御手段により、前記テーブルにアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索工程と、 A search step of accessing the table by the control means and searching for a wiring route of the wiring width from the start point coordinate to the end point coordinate in the wiring region of the design target circuit for each net group; ,
前記制御手段により、前記探索工程によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する検出工程と、 A detection step of detecting a combination of net groups having a mutual crossing relationship between the wiring paths searched by the search step by the control means;
前記制御手段により、前記設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、前記検出工程によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する作成工程と、 A net group for each pair of components having a connection relationship in the design target circuit is noded by the control means, and an undirected graph that connects nodes of a combination of net groups having a cross relationship detected by the detection step. Creating process to create
前記制御手段により、前記作成工程によって作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、前記設計対象回路が有する複数の配線層の中から前記各ネットグループに割り当てる配線層を決定する決定工程と、 A plurality of the design target circuits have different wiring layers between directly connected nodes in the undirected graph by solving the coloring problem of the undirected graph created by the creating step by the control means. A determination step of determining a wiring layer to be assigned to each net group from among the wiring layers of
前記制御手段により、前記決定工程によって決定された決定結果を出力する出力工程と、 An output step of outputting the determination result determined by the determination step by the control means;
を実行することを特徴とする設計支援方法。 A design support method characterized by executing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008155647A JP5125791B2 (en) | 2008-06-13 | 2008-06-13 | Design support program, design support apparatus, and design support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008155647A JP5125791B2 (en) | 2008-06-13 | 2008-06-13 | Design support program, design support apparatus, and design support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009301351A JP2009301351A (en) | 2009-12-24 |
JP5125791B2 true JP5125791B2 (en) | 2013-01-23 |
Family
ID=41548166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008155647A Active JP5125791B2 (en) | 2008-06-13 | 2008-06-13 | Design support program, design support apparatus, and design support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5125791B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5531731B2 (en) | 2010-03-31 | 2014-06-25 | 富士通株式会社 | Wiring design support method, wiring design support program, and wiring design support device |
JP5917855B2 (en) * | 2011-08-23 | 2016-05-18 | 株式会社図研 | Method, apparatus and program for verifying wiring pattern width in printed circuit board design |
JP2014135035A (en) * | 2013-01-11 | 2014-07-24 | Fujitsu Ltd | Design support device, design support method, and design support program |
JP6776873B2 (en) * | 2016-12-20 | 2020-10-28 | 日本製鉄株式会社 | Yard management equipment, yard management methods, and programs |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0620010A (en) * | 1992-07-02 | 1994-01-28 | Fujitsu Ltd | Method and device for automatic wiring |
JP3571369B2 (en) * | 1994-06-16 | 2004-09-29 | 富士通株式会社 | Wiring design equipment |
-
2008
- 2008-06-13 JP JP2008155647A patent/JP5125791B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009301351A (en) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8443333B2 (en) | Computer product, apparatus, and method for supporting design | |
US6430734B1 (en) | Method for determining bus line routing for components of an integrated circuit | |
US7721243B2 (en) | Method and apparatus for routing | |
US7143385B2 (en) | Wiring design method and system for electronic wiring boards | |
US7676780B2 (en) | Techniques for super fast buffer insertion | |
JPH07334565A (en) | Arrangement method of object | |
US20100031218A1 (en) | System and Method for Automated Placement in Custom VLSI Circuit Design with Schematic-Driven Placement | |
US8930869B2 (en) | Method, program, and apparatus for aiding wiring design | |
JP5125791B2 (en) | Design support program, design support apparatus, and design support method | |
JP2006323643A (en) | Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit | |
US8510702B2 (en) | Interactive routing editor with symbolic and geometric views for integrated circuit layout | |
US6694502B2 (en) | Data structure for fine-grid multi-level VLSI routing and method for storing the data structure in a computer readable medium | |
US7174529B1 (en) | Acute angle avoidance during routing | |
JP5418341B2 (en) | Design support program, design support apparatus, and design support method | |
JP5256829B2 (en) | Verification support program, verification support apparatus, and verification support method | |
Serdar et al. | Automatic datapath tile placement and routing | |
Chen et al. | Multilevel full-chip gridless routing with applications to optical-proximity correction | |
US6687892B1 (en) | Method for determining control line routing for components of an integrated circuit | |
US6434734B1 (en) | Method for modifying placement of components of an integrated circuit by analyzing resources of adjacent components | |
Zuber et al. | Wire topology optimization for low power CMOS | |
JP4275722B2 (en) | Wiring design method | |
Herrling et al. | Optimization of micro-coaxial wire routing in complex microelectronic systems | |
WO2014111969A1 (en) | Design method, program, memory medium, and designing device | |
JP2010287001A (en) | Program, device, and method for supporting design | |
US20100257503A1 (en) | Post-routing coupling fixes for integrated circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110315 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120903 |
|
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: 20121002 |
|
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: 20121015 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5125791 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |