JP5125791B2 - Design support program, design support apparatus, and design support method - Google Patents

Design support program, design support apparatus, and design support method Download PDF

Info

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
Application number
JP2008155647A
Other languages
Japanese (ja)
Other versions
JP2009301351A (en
Inventor
利行 澁谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008155647A priority Critical patent/JP5125791B2/en
Publication of JP2009301351A publication Critical patent/JP2009301351A/en
Application granted granted Critical
Publication of JP5125791B2 publication Critical patent/JP5125791B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Documents 1 to 3 below).

また、近年では、プリント基板や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.

特開2000−331038号公報JP 2000-331038 A 特開平5−143692号公報Japanese Patent Laid-Open No. 5-143692 特開平8−263539号公報JP-A-8-263539

しかしながら、上述した従来技術では、複雑化する配線制約に従って配線層の割り当てを自動化することは難しいため、人手による配線層の割り当てがおこなわれている。この結果、設計作業にかかる設計者の作業負担が増大し、ひいては設計期間の長期化を招くという問題があった。   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 components 110 and 120 having a connection relationship is shown. The component 110 and the component 120 are connected by four nets 130 to 160.

ネット130〜160は、部品110の端子T1〜T4と、部品120の端子T5〜T8と、をそれぞれ接続する経路(パス)である。ここでは、ネット130〜160は、特性上の問題から、すべてを同一配線層で配線すべきパスであるとする。本実施の形態では、このような同一配線層に配線すべき複数のネット130〜160をグループ化してネットグループ170として扱う。   The nets 130 to 160 are paths (paths) for connecting the terminals T1 to T4 of the component 110 and the terminals T5 to T8 of the component 120, respectively. Here, it is assumed that the nets 130 to 160 are paths that should all be wired in the same wiring layer due to a characteristic problem. In the present embodiment, a plurality of nets 130 to 160 to be wired in the same wiring layer are grouped and handled as a net group 170.

ネットグループ170の配線幅は、たとえば、各ネット130〜160の配線幅をWとすると、これらネット130〜160の配線幅を足し合わせた4Wとなる。また、詳細は後述するが、ネットグループ170の始点座標Aおよび終点座標Bは、各部品P1,P2が占める領域内の任意の座標位置に設定する。   The wiring width of the net group 170 is, for example, 4 W obtained by adding the wiring widths of the nets 130 to 160 when the wiring width of the nets 130 to 160 is W. Although details will be described later, the start point coordinates A and end point coordinates B of the net group 170 are set to arbitrary coordinate positions in the area occupied by the parts P1 and P2.

従来において、設計対象回路内の部品間をつなぐ配線経路を、どの配線層に形成すべきかを決める場合、まず、部品間をつなぐ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, nets 130 to 160) to be wired in the same wiring layer are grouped, and for each net group (for example, net group 170), a wiring route search and wiring layer allocation are performed. We propose a method to automate the process. As a result, the work load for wiring design is reduced and the work time is shortened.

(設計対象回路の一例)
つぎに、本実施の形態にかかる設計対象回路の配線領域について説明する。図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 wiring area 200 of the circuit to be designed is shown. Here, the wiring grid size of the wiring region 200 is “0 ≦ X ≦ X max ” in the X-axis direction and “0 ≦ Y ≦ Y max ” in the Y-axis direction.

この配線領域200上には、部品P1〜P6が配置されている。また、配線領域210において、符号F1〜F4は障害物が配置された配線禁止領域である。本実施の形態では、配線領域200に配置された一対の部品(たとえば、部品P1と部品P5)をつなぐネットのうち同一配線層に配線すべきネットをグループ化してネットグループとして扱う。   Components P1 to P6 are arranged on the wiring region 200. In the wiring area 210, reference numerals F1 to F4 are wiring prohibited areas where obstacles are arranged. In the present embodiment, nets to be wired to the same wiring layer among nets connecting a pair of components (for example, component P1 and component P5) arranged in wiring region 200 are handled as a net group.

なお、設計対象回路が有する複数の配線層のうち、各障害物が形成される配線層はそれぞれ決まっているが、ここではある配線層の配線領域内にすべての障害物が形成されている状況を設計対象回路の配線領域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 wiring region 200 of the circuit to be designed.

(設計支援装置のハードウェア構成)
つぎに、実施の形態にかかる設計支援装置のハードウェア構成について説明する。図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 design support apparatus 300 includes a CPU (Central Processing Unit) 301, a ROM (Read-Only Memory) 302, a RAM (Random Access Memory) 303, a magnetic disk drive 304, a magnetic disk 305, and an optical disk. A drive 306, an optical disk 307, a display 308, an I / F (Interface) 309, a keyboard 310, a mouse 311, a scanner 312, and a printer 313 are provided. Each component is connected by a bus 320.

ここで、CPU301は、設計支援装置300の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。   Here, the CPU 301 governs overall control of the design support apparatus 300. The ROM 302 stores a program such as a boot program. The RAM 303 is used as a work area for the CPU 301. The magnetic disk drive 304 controls the reading / writing of the data with respect to the magnetic disk 305 according to control of CPU301. The magnetic disk 305 stores data written under the control of the magnetic disk drive 304.

光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。   The optical disk drive 306 controls the reading / writing of the data with respect to the optical disk 307 according to control of CPU301. The optical disk 307 stores data written under the control of the optical disk drive 306, and causes the computer to read data stored on the optical disk 307.

ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 308 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As this display 308, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

インターフェース(以下、「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 network 314 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line, and the other via the network 314. Connected to other devices. The I / F 309 serves as an internal interface with the network 314 and controls data input / output from an external device. For example, a modem or a LAN adapter can be adopted as the I / F 309.

キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 310 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 311 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ312は、画像を光学的に読み取り、設計支援装置300内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。   The scanner 312 optically reads an image and takes in the image data into the design support apparatus 300. The scanner 312 may have an OCR (Optical Character Reader) function. The printer 313 prints image data and document data. As the printer 313, for example, a laser printer or an ink jet printer can be employed.

(設計支援装置の機能的構成)
つぎに、設計支援装置300の機能的構成について説明する。図4は、設計支援装置の機能的構成を示すブロック図である。図4において、設計支援装置300は、取得部401と、探索部402と、検出部403と、作成部404と、決定部405と、出力部406と、判断部407と、を含む構成である。
(Functional configuration of design support device)
Next, a functional configuration of the design support apparatus 300 will be described. FIG. 4 is a block diagram illustrating a functional configuration of the design support apparatus. 4, the design support apparatus 300 includes an acquisition unit 401, a search unit 402, a detection unit 403, a creation unit 404, a determination unit 405, an output unit 406, and a determination unit 407. .

この制御部となる機能(取得部401〜判断部407)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。   Specifically, the functions (acquisition unit 401 to determination unit 407) serving as the control unit are, for example, a program stored in a storage area such as the ROM 302, RAM 303, magnetic disk 305, and optical disk 307 shown in FIG. The function is realized by executing the function or by the I / F 309.

また、各機能(取得部401〜判断部407)からの出力データは上記記憶領域に保持される。また、図4中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPU301に実行させるものとする。   Output data from each function (acquisition unit 401 to determination unit 407) is held in the storage area. Further, the connection destination function indicated by the arrow in FIG. 4 reads output data from the connection source function from the storage area and causes the CPU 301 to execute a program related to the function.

まず、取得部401は、設計対象回路に関する回路情報を取得する機能を有する。回路情報とは、設計対象回路に関する配線領域情報と、設計対象回路内の接続関係を有する一対の部品ごとのネットグループに関するネットグループ情報とを含む電子データである。なお、取得された回路情報は、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。   First, the acquisition unit 401 has a function of acquiring circuit information related to a design target circuit. The circuit information is electronic data including wiring area information related to a design target circuit and net group information related to a net group for each pair of components having a connection relationship in the design target circuit. The acquired circuit information is stored in a storage area such as the RAM 303, the magnetic disk 305, and the optical disk 307 shown in FIG.

この回路情報は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで設計支援装置300に直接入力することとしてもよく、また、不図示の外部装置から取得することとしてもよい。さらに、設計支援装置300が備える不図示のデータベースやライブラリからの抽出によって回路情報を取得することとしてもよい。   This circuit information may be directly input to the design support apparatus 300 by the user operating the keyboard 310 and the mouse 311 shown in FIG. 3, or may be acquired from an external apparatus (not shown). Good. Furthermore, circuit information may be acquired by extraction from a database or library (not shown) provided in the design support apparatus 300.

ここで、回路情報に含まれる配線領域情報およびネットグループ情報について説明する。まず、配線領域情報の具体例について説明する。図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 wiring area information 500 indicates information for specifying the wiring grid size of the wiring area 200 of the circuit to be designed.

この配線領域情報500によれば、配線領域200のX軸方向の配線格子サイズ「0−Xmax」およびY軸方向の配線格子サイズ「0−Ymax」と、設計対象回路が有する配線層の層数「30」を特定することができる。各配線層には、最下層の配線層から順に「1〜30」の番号が割り付けられている。これにより、各配線層を認識することができる。 According to the wiring area information 500, the wiring grid size “0−X max ” in the X-axis direction and the wiring grid size “0−Y max ” in the Y-axis direction of the wiring area 200 and the wiring layer of the circuit to be designed are included. The number of layers “30” can be specified. Each wiring layer is assigned a number “1-30” in order from the lowermost wiring layer. Thereby, each wiring layer can be recognized.

図6において、配線領域情報600には、配線領域200上の配線禁止領域をあらわす配線禁止情報600−1〜600−4が示されている。ここで、配線禁止領域とは、トランジスタ、配線、ビアなどの障害物が配置され、新たな配線を形成することができない領域である。   In FIG. 6, the wiring area information 600 includes wiring prohibition information 600-1 to 600-4 representing the wiring prohibition area on the wiring area 200. Here, the wiring prohibition region is a region where obstacles such as transistors, wirings, and vias are arranged and a new wiring cannot be formed.

具体的には、配線禁止情報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 (X F 1, Y F 1) and the end coordinates (X F 2, Y F 2) (see FIG. 2). These are obstacles (vias connecting different wiring layers) formed from the first layer to the 30th layer of the circuit to be designed.

つぎに、ネットグループ情報の具体例について説明する。図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 (X N 1, Y N 1), the end point coordinates (X N 2, Y N 2), the bit width “32 bits”, the use layer “first” Layer to 5th layer ".

なお、ビット幅が「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 search unit 402 searches each net group for a wiring route having a wiring width unique to the net group from the start point coordinates specific to the net group in the wiring region of the design target circuit to the end point coordinates. It has a function. Specifically, for example, search unit 402 searches for a wiring route for each of net groups NG1 to NG4 based on wiring region information 500 and 600 and net group information 700-1 to 700-4 stored in the storage region. To do.

より詳細に説明すると、たとえば、探索部402は、配線領域200全体を配線可能領域として、ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの最短の配線経路(仮想配線経路)を探索することとしてもよい。つまり、配線領域200上の配線禁止領域F1〜F4を考慮することなく、各ネットグループNG1〜NG4の配線経路を探索する。   More specifically, for example, the search unit 402 uses the entire wiring area 200 as a routable area, and determines the shortest wiring path (virtual wiring path) from the start point coordinates specific to the net groups NG1 to NG4 to the end point coordinates. It is good also as searching. That is, the wiring route of each net group NG1 to NG4 is searched without considering the wiring prohibition regions F1 to F4 on the wiring region 200.

ここで、探索部402による探索結果について説明する。図8は、探索結果の具体例を示す説明図(その1)である。図8において、配線領域200には、ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路810〜840が示されている。ここで、各配線経路810〜840は、各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ直線である。   Here, a search result by the search unit 402 will be described. FIG. 8 is an explanatory diagram (part 1) of a specific example of a search result. In FIG. 8, the wiring area 200 shows wiring routes 810 to 840 from the start point coordinates unique to the net groups NG1 to NG4 to the end point coordinates. Here, each of the wiring paths 810 to 840 is a straight line connecting the start point coordinates and the end point coordinates unique to the net groups NG1 to NG4.

検出部403は、探索部402によって探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する機能を有する。具体的には、たとえば、検出部403は、配線領域情報500,600と、配線経路810〜840をあらわす配線経路情報とに基づいて、配線経路間で相互に交差関係を有するネットグループの組み合わせを検出する。   The detection unit 403 has a function of detecting a combination of net groups having a cross relationship with each other between the wiring routes searched by the search unit 402. Specifically, for example, the detection unit 403 selects a combination of net groups having a cross relationship between the wiring paths based on the wiring area information 500 and 600 and the wiring path information representing the wiring paths 810 to 840. To detect.

図8に示した例では、配線領域情報500から配線領域200の配線格子サイズを特定し、配線領域200内で各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ直線間の交点を検出することで、交差関係を有するネットグループの組み合わせを検出することができる。   In the example shown in FIG. 8, the wiring grid size of the wiring area 200 is specified from the wiring area information 500, and the intersection between the straight lines connecting the start point coordinates and the end point coordinates unique to each net group NG1 to NG4 in the wiring area 200 is determined. By detecting, a combination of net groups having an intersection relationship can be detected.

より具体的には、たとえば、ネットグループ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 detection unit 403 will be described. FIG. 9 is an explanatory diagram (part 1) of a specific example of intersection information. In FIG. 9, the intersection information table 900 shows intersection information 900-1 to 900-4 representing combinations of net groups having a mutual intersection relationship.

具体的には、交差情報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 wiring route 810 of the net group NG1 and the wiring route 830 of the net group NG3. The intersection information table 900 is realized by storage areas such as the RAM 303, the magnetic disk 305, and the optical disk 307 shown in FIG.

決定部405は、検出部403によって検出された組み合わせのネットグループがそれぞれ異なる配線層に割り当てられるように、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定する機能を有する。この決定処理には、たとえば、与えられた無向グラフのノードに対して、直接接続されたノード間で色が異なるように彩色する彩色問題を適用することができる。   The determination unit 405 has a function of determining 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 by the detection unit 403 is assigned to different wiring layers. Have For this determination processing, for example, it is possible to apply a coloring problem in which coloring is performed so that colors are different between directly connected nodes with respect to nodes of a given undirected graph.

無向グラフの彩色問題を解くことにより、その無向グラフ内のノードを最小の数の色で彩色することができる。つまり、この彩色問題を配線層割当の最適化に適用することにより(彩色問題における色を配線層の番号に適用)、配線設計に必要となる最小の配線層数を求める。以下、決定部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 determination unit 405 will be described.

まず、作成部404は、設計対象回路内の接続関係を有する一対の部品ごとのネットグループがノード化され、検出部403によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する機能を有する。具体的には、たとえば、まず、ネットグループ情報700−1〜700−4を参照して、ネットグループNG1〜NG4をノード化する。   First, the creation unit 404 creates a node for each pair of net groups having a connection relationship in the design target circuit, and connects the nodes of the net group combination having the cross relationship detected by the detection unit 403. It has a function to create a graph. Specifically, for example, the net groups NG1 to NG4 are first made into nodes with reference to the net group information 700-1 to 700-4.

このあと、交差情報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 undirected graph 1000 is composed of nodes NG1 to NG4 representing net groups NG1 to NG4, and nodes having an intersecting relationship are connected by edges E1 to E4.

決定部405は、作成部404によって作成された無向グラフ1000の彩色問題を解くことにより、無向グラフ1000内の直接接続されたノード間で配線層が異なるように、各ネットグループNG1〜NG4に割り当てる配線層を決定する。具体的には、たとえば、SEQ(SEQuential heuristic)を用いて、無向グラフ1000内の各ノードNG1〜NG4に、隣接ノードに割り当てられていない色を順次割り当てていく。   The determination unit 405 solves the coloring problem of the undirected graph 1000 created by the creation unit 404 so that the wiring layers are different between the directly connected nodes in the undirected graph 1000. The wiring layer to be assigned to is determined. Specifically, for example, colors not assigned to the adjacent nodes are sequentially assigned to the nodes NG1 to NG4 in the undirected graph 1000 by using SEQ (Sequential Heuristic).

ここで、各ノード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 undirected graph 1000, the required wiring layers are at most three layers.

ここで、決定部405による決定結果の具体例について説明する。図11は、決定結果の具体例を示す説明図(その1)である。図11において、決定結果1100には、各ネットグループNG1〜NG4の割当先の配線層が示されている。具体的には、ネットグループNG1,NG2は第1層に割り当てられており、ネットグループNG3,NG4は第2層に割り当てられている。   Here, a specific example of the determination result by the determination unit 405 will be described. FIG. 11 is an explanatory diagram (part 1) of a specific example of the determination result. In FIG. 11, the determination result 1100 shows the wiring layer to which the net groups NG1 to NG4 are assigned. Specifically, net groups NG1 and NG2 are assigned to the first layer, and net groups NG3 and NG4 are assigned to the second layer.

この決定結果1100によれば、相互に交差関係にあるネットグループNG1とネットグループNG3,NG4とがそれぞれ異なる配線層に割り当てられており、また、相互に交差関係にあるネットグループNG2とネットグループNG3,NG4とがそれぞれ異なる配線層に割り当てられている。   According to the determination result 1100, the net group NG1 and the net groups NG3 and NG4 that are in a cross relationship with each other are assigned to different wiring layers, and the net group NG2 and the net group NG3 that are in a cross relationship with each other. , NG4 are assigned to different wiring layers.

さらに、交差関係にないネットグループ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 output unit 406 has a function of outputting the determination result determined by the determination unit 405 (for example, the determination result 1100). The output format by the output unit 406 includes, for example, display on the display 308, print output to the printer 313, and transmission to an external device by the I / F 309. Alternatively, the data may be stored in a storage area such as the RAM 303, the magnetic disk 305, and the optical disk 307.

また、上述した例では、配線領域内の配線禁止領域を考慮しない仮想的な配線経路(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 search unit 402 traces from the start point coordinates unique to the net groups NG1 to NG4 to the end point coordinates using the remaining wiring areas 200 other than the wiring prohibition areas F1 to F4 in the wiring area 200 as routable areas. It is good also as searching for the wiring route until it arrives. Here, specific processing contents of the search processing by the search unit 402 will be described.

まず、配線可能領域において、各ネットグループ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 wiring area 200 is expanded to search again.

ここで、探索部402による探索結果について説明する。図12は、探索結果の具体例を示す説明図(その2)である。図12において、配線領域200には、各ネットグループNG1〜NG4固有の始点座標から終点座標に辿り着くまでの配線経路1210〜1240が示されている。これら配線経路1210〜1240は、配線領域200内の配線禁止領域F1〜F4を迂回して、各ネットグループNG1〜NG4固有の始点座標と終点座標とを結ぶ概略配線経路である。   Here, a search result by the search unit 402 will be described. FIG. 12 is an explanatory diagram (part 2) of a specific example of a search result. In FIG. 12, in the wiring area 200, wiring routes 1210 to 1240 from the start point coordinates unique to the net groups NG1 to NG4 to the end point coordinates are shown. These wiring paths 1210 to 1240 are schematic wiring paths that bypass the wiring prohibited areas F1 to F4 in the wiring area 200 and connect the start point coordinates and the end point coordinates unique to each net group NG1 to NG4.

つぎに、探索部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 search unit 402 will be described. 13 and 14 are explanatory diagrams showing specific examples of wiring route information. 13, the search result table 1300 stores wiring route information 1300-1 to 1300-4 regarding the wiring routes 1210 to 1240 (see FIG. 12) for each of the net groups NG1 to NG4.

具体的には、配線経路情報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 wiring routes 1210 to 1240.

開始インデックスは、各配線経路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 wiring path 1210 to 1240 (a pattern including the start point coordinates unique to each net group NG1 to NG4). The number of patterns is the total number of patterns constituting each of the wiring paths 1210 to 1240.

図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 wiring paths 1210 to 1240.

これら探索結果テーブル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 wiring paths 1210 to 1240 in the wiring area 200 can be specified. Here, taking the wiring route 1230 of the net group NG3 as an example, the start index “3” and the number of patterns “3” are specified from the wiring route information 1300-3. Then, the start / end coordinates of the patterns PT4, PT5, and PT6 are specified from the three pieces of wiring route information 1400-4 to 1400-6 including the index 3.

これにより、配線領域200内におけるパターンPT4,PT5,PT6からなる配線経路1230を特定することができる。なお、探索結果テーブル1300,1400は、たとえば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。   Thereby, the wiring path 1230 including the patterns PT4, PT5, PT6 in the wiring region 200 can be specified. The search result tables 1300 and 1400 are realized by storage areas such as the RAM 303, the magnetic disk 305, and the optical disk 307 shown in FIG.

この場合、検出部403は、探索結果テーブル1300,1400を参照して、配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出する。具体的には、探索結果テーブル1300,1400を参照して、配線領域200内における各配線経路1210〜1240を特定し、配線経路1210〜1240間の交差関係を検出する。   In this case, the detection unit 403 refers to the search result tables 1300 and 1400 to detect a combination of net groups that have a mutual crossing relationship between the wiring routes 1210 to 1240. Specifically, referring to the search result tables 1300 and 1400, the respective wiring routes 1210 to 1240 in the wiring region 200 are specified, and the crossing relationship between the wiring routes 1210 to 1240 is detected.

ここで、検出部403による検出結果について説明する。図15は、交差情報の具体例を示す説明図(その2)である。図15において、交差情報テーブル1500には、相互に交差関係を有するネットグループの組み合わせをあらわす交差情報1500−1〜1500−5が記憶されている。   Here, a detection result by the detection unit 403 will be described. FIG. 15 is an explanatory diagram (part 2) of a specific example of intersection information. In FIG. 15, the intersection information table 1500 stores intersection information 1500-1 to 1500-5 representing combinations of net groups having a mutual intersection relationship.

これによれば、配線領域200全体を配線可能領域として配線経路810〜840を探索した場合(図9に示した交差情報テーブル900)に比べて、配線経路1230と配線経路1240との間で交差関係をあらわすネットグループNG3とネットグループNG4との組み合わせ(交差情報1500−5)が増えている。   According to this, compared with the case where the wiring routes 810 to 840 are searched using the entire wiring region 200 as a routable region (intersection information table 900 shown in FIG. 9), the intersection between the wiring route 1230 and the wiring route 1240 is performed. The number of combinations (intersection information 1500-5) of the net group NG3 and the net group NG4 representing the relationship is increasing.

つぎに、交差情報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 undirected graph 1600 is composed of nodes NG1 to NG4 representing net groups NG1 to NG4, and nodes having an intersecting relationship are connected by edges E1 to E5.

この無向グラフ1600は、図10に示した無向グラフ1000に比べて、ノードNG3とノードNG4とをつなぐエッジE5が増えている。この場合、決定部405は、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で割当先の配線層が異なるように、各ネットグループNG1〜NG4に割り当てる配線層を決定する。   The undirected graph 1600 has more edges E5 connecting the nodes NG3 and NG4 than the undirected graph 1000 shown in FIG. In this case, the determination unit 405 solves the coloring problem of the undirected graph 1600 so that the allocation destination wiring layers are different between the directly connected nodes in the undirected graph 1600. Determine the wiring layer to be assigned.

ここで、決定部405による決定結果の具体例について説明する。図17は、決定結果の具体例を示す説明図(その2)である。図17において、決定結果1700には、各ネットグループNG1〜NG4の割当先の配線層が示されている。具体的には、ネットグループNG1,NG2は第1層に割り当てられている。また、ネットグループNG3は第2層に割り当てられており、ネットグループNG4は第3層に割り当てられている。   Here, a specific example of the determination result by the determination unit 405 will be described. FIG. 17 is an explanatory diagram (part 2) of a specific example of the determination result. In FIG. 17, the determination result 1700 shows the wiring layer to which the net groups NG1 to NG4 are assigned. Specifically, the net groups NG1 and NG2 are assigned to the first layer. The net group NG3 is assigned to the second layer, and the net group NG4 is assigned to the third layer.

この決定結果1700によれば、物理的に配線可能な配線経路1210〜1240が探索された結果、仮想的な配線経路を探索した場合に比べて、ネットグループNG3とネットグループNG4との交差関係が新たに発生している。このため、ネットグループNG3とネットグループNG4とがそれぞれ異なる配線層に割り当てられている。   According to the determination result 1700, as a result of searching for the physically routable wiring routes 1210 to 1240, the cross relationship between the net group NG3 and the net group NG4 is greater than when searching for a virtual wiring route. Newly occurring. For this reason, the net group NG3 and the net group NG4 are assigned to different wiring layers.

また、取得部401は、同一配線層に割り当てるべき複数のネットグループの組み合わせを規定する制約条件を取得することとしてもよい。ここで、制約条件の具体例について説明する。図18は、制約条件の具体例を示す説明図(その1)である。図18において、制約条件1800には、制約条件ID、および同一配線層に割り当てるべきネットグループNG1〜NG4の組み合わせが規定されている。   The acquisition unit 401 may acquire a constraint condition that defines a combination of a plurality of net groups to be assigned to the same wiring layer. Here, a specific example of the constraint condition will be described. FIG. 18 is an explanatory diagram (part 1) of a specific example of the constraint condition. In FIG. 18, a constraint condition 1800 defines a constraint condition ID and a combination of net groups NG1 to NG4 to be assigned to the same wiring layer.

制約条件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 constraint condition 1700 may be input directly to the design support apparatus by the user operating the keyboard 310 and the mouse 311 shown in FIG. 3, or may be acquired from an external apparatus (not shown). Good.

この場合、決定部405は、取得部401によって取得された制約条件に基づいて、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定することとしてもよい。具体的には、彩色問題において、同一配線層に割り当てるべきネットグループをあらわすノードを同じ色で彩色する制約をつけることにより実現する。図17に示した例では、まず、ネットグループNG1,NG2を同一配線層(同じ色)に割り当てたあと、ネットグループNG3,NG4の割当先を決定することとなる。   In this case, the determination unit 405 may determine a wiring layer to be assigned to each net group from a plurality of wiring layers included in the design target circuit based on the constraint condition acquired by the acquisition unit 401. Specifically, in the coloring problem, it is realized by adding a restriction that colors nodes representing a net group to be assigned to the same wiring layer with the same color. In the example shown in FIG. 17, first, the net groups NG1 and NG2 are assigned to the same wiring layer (same color), and then the assignment destinations of the net groups NG3 and NG4 are determined.

また、探索部402は、物理的に配線可能な各ネットグループの配線経路が探索された結果、検出部403によって第1および第2のネットグループの組み合わせが検出された場合、第2のネットグループの配線経路を配線禁止領域として、第1のネットグループの配線経路を再探索することとしてもよい。   In addition, when the detection unit 403 detects a combination of the first and second net groups as a result of searching for a wiring route of each net group that can be physically wired, the search unit 402 selects the second net group. The wiring path of the first net group may be re-searched using the wiring path as the wiring prohibited area.

具体的には、設計対象回路の配線領域情報(たとえば、配線領域情報500,600)と、探索済みの配線経路に関する配線経路情報(たとえば、探索結果テーブル1300,1400)とに基づいて、配線領域内の障害物(たとえば、配線禁止領域F1〜F4)と第2のネットグループの配線経路とを配線禁止領域として、第1のネットグループの配線経路を再探索する(後述する実施例1を参照)。   Specifically, based on the wiring area information (for example, wiring area information 500, 600) of the circuit to be designed and the wiring path information on the searched wiring paths (for example, search result tables 1300, 1400), the wiring area is determined. The wiring path of the first net group is re-searched using the obstacles inside (for example, the wiring prohibited areas F1 to F4) and the wiring path of the second net group as the wiring prohibited area (see Example 1 described later). ).

さらに、探索部402は、検出部403によって第1および第2のネットグループの組み合わせが検出された場合、第1のネットグループから分割された第3および第4のネットグループ固有の配線幅に基づいて、第1のネットグループ固有の始点座標と終点座標とをつなぐ第3および第4のネットグループの配線経路を探索することとしてもよい(後述する実施例2を参照)。   Further, when the detection unit 403 detects a combination of the first and second net groups, the search unit 402 is based on the wiring width specific to the third and fourth net groups divided from the first net group. Thus, it is also possible to search for the wiring paths of the third and fourth net groups that connect the start point coordinates and end point coordinates unique to the first net group (see Example 2 described later).

第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 net group 170 shown in FIG. 1 is the first net group, each of the two nets (= 4/2) is divided into third and fourth net groups. If the number of nets is not divisible, one fraction may be rounded up and the other fraction rounded down.

なお、第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 keyboard 310 and the mouse 311 shown in FIG. 3, for example, in a storage area such as the RAM 303, the magnetic disk 305, and the optical disk 307. Remembered.

また、第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 determination unit 407 has a function of determining whether or not the allocation destinations of the first and second net groups having a cross relationship with each other violate the constraint condition as a result of the determination of the allocation destination by the determination unit 405. . Specifically, for example, by comparing the detection result detected by the detection unit 403 with the constraint condition acquired by the acquisition unit 401, it is determined whether or not the constraint condition is violated.

そして、探索部402は、判断部407によって制約条件に違反していると判断された場合、配線領域内の配線禁止領域および第2のネットグループの配線経路を除く残余の配線領域を配線可能領域として、第1のネットグループの配線経路を再探索することとしてもよい(後述する実施例3を参照)。   When the determination unit 407 determines that the constraint condition is violated, the search unit 402 can wire the remaining wiring region excluding the wiring prohibited region and the wiring path of the second net group in the wiring region. As another example, the wiring route of the first net group may be searched again (see Example 3 described later).

(設計支援装置の設計支援処理手順)
つぎに、本実施の形態にかかる設計支援装置300の設計支援処理手順について説明する。図19は、設計支援装置の設計支援処理手順の一例を示すフローチャートである。
(Design support procedure of design support device)
Next, a design support processing procedure of the design support apparatus 300 according to the present embodiment will be described. FIG. 19 is a flowchart illustrating an example of a design support processing procedure of the design support apparatus.

なお、以下に説明する設計支援処理では、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで設計対象回路に関する配線領域情報およびネットグループ情報が設計支援装置300に入力されると、ステップS1901〜1906における一連の処理がコンピュータにより自動実行される。   In the design support process described below, for example, when the user operates the keyboard 310 or the mouse 311 shown in FIG. 3, wiring area information and net group information related to the design target circuit are input to the design support apparatus 300. Then, a series of processing in steps S1901 to 1906 is automatically executed by the computer.

図19のフローチャートにおいて、まず、取得部401により、設計対象回路に関する配線領域情報およびネットグループ情報を取得したか否かを判断する(ステップS1901)。ここで、配線領域情報およびネットグループ情報を取得するのを待って(ステップS1901:No)、取得した場合(ステップS1901:Yes)、探索部402により、取得された配線領域情報およびネットグループ情報に基づいて、設計対象回路の配線領域内のネットグループ固有の始点座標から終点座標に辿り着くまでのネットグループ固有の配線幅の配線経路をネットグループごとに探索する(ステップS1902)。   In the flowchart of FIG. 19, first, the acquisition unit 401 determines whether or not the wiring area information and net group information related to the design target circuit have been acquired (step S1901). Here, after waiting for the acquisition of the wiring area information and the net group information (step S1901: No), if acquired (step S1901: Yes), the search unit 402 adds the acquired wiring area information and net group information. Based on the net group, a wiring route having a wiring width specific to the net group from the start point coordinates specific to the net group in the wiring region of the design target circuit to the end point coordinates is searched for each net group (step S1902).

このあと、検出部403により、探索された配線経路間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS1903)、作成部404により、ネットグループがノード化され、検出部403によって検出された交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフを作成する(ステップS1904)。   After that, the detection unit 403 detects a combination of net groups that intersect each other between the searched wiring routes (step S1903), the creation unit 404 makes the net group into a node, and the detection unit 403 detects the net group. An undirected graph connecting the nodes of the combination of net groups having the intersected relationship is created (step S1904).

そして、決定部405により、作成された無向グラフの彩色問題を解くことにより、当該無向グラフ内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループに割り当てる配線層を決定し(ステップS1905)、最後に、出力部406により、決定部405によって決定された決定結果を出力して(ステップS1906)、本フローチャートによる一連の処理を終了する。   Then, the determination unit 405 solves the coloring problem of the created undirected graph, so that the wiring layers of the design target circuit are different between the directly connected nodes in the undirected graph. A wiring layer to be assigned to each net group is determined from among the network groups (step S1905), and finally, the output unit 406 outputs the determination result determined by the determination unit 405 (step S1906). Exit.

なお、ステップ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 detection unit 403, the net group having the maximum number of other net groups in the cross relationship among the net groups NG1 to NG4. Is detected. Specifically, for example, the number of edges of each node NG1 to NG4 is counted with reference to the undirected graph 1600 (or the intersection information table 1500) created by the creation unit 404.

より具体的には、たとえば、交差情報テーブル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 counting result 2000 shows the number of edges for each of the net groups NG1 to NG4. By referring to the counting result 2000, the nodes NG3 and NG4 having the maximum number of edges (three) can be detected.

このあと、探索部402により、エッジ数が最大のネットグループNG3,NG4のうち、ネットグループNG3(または、ネットグループNG4)の配線経路を配線禁止領域として、ネットグループNG4(または、ネットグループNG3)の配線経路を再探索する。   Thereafter, the search unit 402 uses the net group NG3 (or net group NG4) among the net groups NG3 and NG4 having the maximum number of edges as a wiring prohibited area, and the net group NG4 (or net group NG3). Re-search for the wiring route.

ここで、実施例1における探索部402による探索結果について説明する。ここでは、探索部402によって配線経路1210〜1240が探索された結果、ネットグループNG3の配線経路1230を配線禁止領域として、ネットグループNG4の配線経路を再探索した探索結果について説明する。   Here, the search result by the search part 402 in Example 1 is demonstrated. Here, as a result of searching for the wiring routes 1210 to 1240 by the search unit 402, a search result obtained by re-searching the wiring route of the net group NG4 using the wiring route 1230 of the net group NG3 as a wiring prohibited area will be described.

図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 wiring area 200 shows wiring routes 1210 to 1230 and 2110 from the start point coordinates unique to the net groups NG1 to NG4 to the end point coordinates.

配線経路2110は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG3の配線経路1230を配線禁止領域として、ネットグループNG4固有の始点座標から終点座標に辿り着くまでの配線経路を再探索した探索結果である。ここでは、配線経路2110が探索された結果、ネットグループNG3とネットグループNG4との交差関係が解消されている。   The wiring path 2110 uses the wiring prohibited areas F1 to F4 in the wiring area 200 and the wiring path 1230 of the net group NG3 as a wiring prohibited area, and re-routes the wiring path from the start point coordinates specific to the net group NG4 to the end point coordinates. It is the search result searched. Here, as a result of searching for the wiring route 2110, the cross relationship between the net group NG3 and the net group NG4 is eliminated.

図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 determination result 2200 shows the wiring layer to which the net groups NG1 to NG4 are assigned. Specifically, net groups NG1 and NG2 are assigned to the first layer, and net groups NG3 and NG4 are assigned to the second layer.

これによれば、ネットグループ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 determination result 1700 shown in FIG.

なお、探索部402による配線経路の再探索は、配線設計に必要となる配線層の層数が予め設定された閾値以下となるまで繰り返しおこなわれることとしてもよい。たとえば、閾値として「5」が設定されている場合、配線設計に必要となる配線層の層数が5以下となるまで、配線経路の再探索を繰り返す。なお、上記閾値は、たとえば、図3に示したキーボード310やマウス311をユーザが操作することで任意に設定可能である。   Note that the re-search of the wiring path by the search unit 402 may be repeated until the number of wiring layers required for wiring design is equal to or less than a preset threshold value. For example, when “5” is set as the threshold value, re-searching of the wiring path is repeated until the number of wiring layers required for wiring design becomes 5 or less. Note that the threshold value can be arbitrarily set by the user operating the keyboard 310 and the mouse 311 shown in FIG. 3, for example.

(実施例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 acquisition unit 401 has acquired the wiring area information 500, 600 and the net group information 700-1 to 700-4 (step S2301).

ここで、配線領域情報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 wiring area information 500, 600 and the net group information 700-1 to 700-4 (step S2301: No), and when acquired (step S2301: Yes), the search unit 402 performs wiring. Based on the area information 500, 600 and the net group information 700-1 to 700-4, the net groups NG1 to NG4 from the start point coordinates specific to the net groups NG1 to NG4 in the wiring area 200 to the end point coordinates are determined. A wiring route having a wiring width is searched (step S2302).

このあと、検出部403により、探索された配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS2303)、作成部404により、ネットグループNG1〜NG4がノード化され、交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフ1600を作成する(ステップS2304)。   Thereafter, the detection unit 403 detects a combination of net groups having a crossing relationship with each other between the searched wiring routes 1210 to 1240 (step S2303), and the creation unit 404 makes the net groups NG1 to NG4 into nodes. Then, an undirected graph 1600 that connects the nodes of the combination of net groups having an intersection relationship is created (step S2304).

そして、決定部405により、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループNG1〜NG4に割り当てる配線層を決定する(ステップS2305)。   Then, the determination unit 405 solves the coloring problem of the undirected graph 1600, so that the wiring layers are different among the directly connected nodes in the undirected graph 1600. To determine a wiring layer to be assigned to each of the net groups NG1 to NG4 (step S2305).

つぎに、決定部405によって決定された決定結果に基づいて、設計対象回路の配線設計に必要となる配線層の層数が予め設定された閾値以下か否かを判断する(ステップS2306)。ここで、閾値以下ではなかった場合(ステップS2306:No)、検出部403により、ネットグループNG1〜NG4の中から、エッジ数が最大のノードをあらわすネットグループNG3,NG4を検出する(ステップS2307)。   Next, based on the determination result determined by the determination unit 405, it is determined whether or not the number of wiring layers required for the wiring design of the circuit to be designed is equal to or less than a preset threshold value (step S2306). If it is not equal to or less than the threshold value (step S2306: NO), the detection unit 403 detects the net groups NG3 and NG4 representing the node with the maximum number of edges from the net groups NG1 to NG4 (step S2307). .

そして、検出されたネットグループNG3,NG4のうちネットグループNG3の配線経路1230を配線禁止領域に設定して(ステップS2308)、ステップS2302に戻り、探索部402により、ネットグループNG4の配線経路を再探索する。   Then, of the detected net groups NG3 and NG4, the wiring path 1230 of the net group NG3 is set as a wiring prohibited area (step S2308), the process returns to step S2302, and the search unit 402 reconfigures the wiring path of the net group NG4. Explore.

また、ステップ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 output unit 406 outputs the determination result determined in step S2305 (step S2309), and a series of processes according to this flowchart. Exit.

なお、交差関係を解消する配線経路が探索されない場合を考慮して、ステップ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 wiring path 1230 is used as a wiring prohibited area, and a new search is performed for the wiring path 2110 from the start point coordinates unique to the net group NG4 to the end point coordinates, whereby the net groups NG3 and NG4 are connected to the same wiring layer. Allocation is possible, and the number of wiring layers required for wiring design can be reduced.

つぎに、本実施の形態の実施例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 detection unit 403 detects the nodes NG3 and NG4 having the maximum number of edges with reference to the counting result 2000 shown in FIG. Here, the net group 3 will be described as a division target. Thereafter, the wiring width specific to the net groups NG5 and NG6 divided from the net group NG3 is specified.

そして、探索部402により、ネットグループNG5,NG6固有の配線幅に基づいて、ネットグループNG3固有の始点座標と終点座標とをつなぐネットグループNG5,NG6の配線経路を探索する。   Then, the search unit 402 searches for the wiring paths of the net groups NG5 and NG6 that connect the start point coordinates and the end point coordinates specific to the net group NG3 based on the wiring widths specific to the net groups NG5 and NG6.

ここで、実施例2における探索部402による探索結果について説明する。ここでは、配線経路1210〜1240が探索された結果、ネットグループNG4の配線経路1240を配線禁止領域として、ネットグループNG3から分割されたネットグループNG5,NG6の配線経路を探索した探索結果について説明する。   Here, the search result by the search part 402 in Example 2 is demonstrated. Here, as a result of searching for the wiring routes 1210 to 1240, a search result obtained by searching the wiring routes of the net groups NG5 and NG6 divided from the net group NG3 using the wiring route 1240 of the net group NG4 as the wiring prohibited area will be described. .

図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 wiring region 200 shows wiring paths 1210, 1220, 1240, 2310, and 2320 from the start point coordinates unique to each net group NG1, NG2, NG4, NG5, NG6 to the end point coordinates. .

配線経路2310,2320は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG4の配線経路1240を配線禁止領域として、ネットグループNG5,NG6の配線経路を探索した探索結果である。ここでは、これら配線経路2310,2320が探索された結果、ネットグループNG3(ネットグループNG5,NG6)と、ネットグループNG4との交差関係が解消されている。   The wiring paths 2310 and 2320 are search results obtained by searching the wiring paths of the net groups NG5 and NG6 using the wiring prohibited areas F1 to F4 in the wiring area 200 and the wiring path 1240 of the net group NG4 as the wiring prohibited areas. Here, as a result of searching for these wiring paths 2310 and 2320, the cross relationship between the net group NG3 (net groups NG5 and NG6) and the net group NG4 is eliminated.

なお、ネットグループ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 wiring path 1240 as a wiring prohibition area and newly searching for the wiring paths 2310 and 2320 from the start point coordinates unique to the net group NG3 to the end point coordinates, the same wiring layer of the net groups NG4 to NG6. The number of wiring layers required for the wiring design of the circuit to be designed can be reduced.

つぎに、本実施の形態の実施例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 constraint condition 2500 defines a combination of net groups NG1 and NG3 to be assigned to the same wiring layer as the constraint condition C2. Here, the determination unit 407 determines whether or not the allocation result of the first and second net groups having a cross relationship with each other violates the constraint condition 2500.

具体的には、判断部407により、決定部405によって割当先が決定された結果(図17に示した決定結果1700)、検出部403によって検出された相互に交差関係を有するネットグループの組み合わせと、制約条件2500に規定されているネットグループNG1とネットグループNG3との組み合わせを比較することにより、制約条件2500に違反しているか否かを判断する。   Specifically, the determination unit 407 determines the allocation destination by the determination unit 405 (determination result 1700 shown in FIG. 17), the combination of net groups that are detected by the detection unit 403 and have a cross relationship with each other. By comparing the combinations of the net group NG1 and the net group NG3 defined in the constraint condition 2500, it is determined whether or not the constraint condition 2500 is violated.

ここでは、相互に交差関係を有するネットグループの組み合わせの中に、ネットグループ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 constraint condition 2500. Judge that you are doing.

この場合、探索部402は、配線領域200内の配線禁止領域F1〜F4およびネットグループNG1(または、ネットグループNG3)の配線経路1230(または、配線経路1210)を除く残余の配線領域200を配線可能領域として、ネットグループNG3(または、ネットグループNG1)の配線経路1210(または、配線経路1230)を再探索する。   In this case, the search unit 402 routes the remaining wiring area 200 except the wiring prohibited areas F1 to F4 in the wiring area 200 and the wiring path 1230 (or wiring path 1210) of the net group NG1 (or net group NG3). As a possible area, the wiring path 1210 (or wiring path 1230) of the net group NG3 (or net group NG1) is searched again.

ここで、実施例3における探索部402による探索結果について説明する。ここでは、判断部407によってネットグループNG1,NG3を同一配線層に形成する制約条件2500に違反していると判断された結果、ネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3の配線経路を再探索した探索結果について説明する。   Here, the search result by the search part 402 in Example 3 is demonstrated. Here, as a result of the determination unit 407 determining that the restriction condition 2500 for forming the net groups NG1 and NG3 in the same wiring layer is violated, the wiring path 1210 of the net group NG1 is set as a wiring prohibited area, and the net group NG3 A search result obtained by re-searching the wiring route will be described.

図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 wiring area 200 shows wiring routes 1210 to 1230 and 2610 from the start point coordinates unique to the net groups NG1 to NG4 to the end point coordinates.

配線経路2610は、配線領域200内の配線禁止領域F1〜F4、およびネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3固有の始点座標から終点座標に辿り着くまでの配線経路を再探索した探索結果である。ここでは、配線経路2510が探索された結果、ネットグループNG1とネットグループNG3との交差関係が解消されている。   The wiring path 2610 uses the wiring prohibited areas F1 to F4 in the wiring area 200 and the wiring path 1210 of the net group NG1 as a wiring prohibited area, and re-routes the wiring path from the start point coordinates specific to the net group NG3 to the end point coordinates. It is the search result searched. Here, as a result of searching for the wiring route 2510, the crossing relationship between the net group NG1 and the net group NG3 is eliminated.

(実施例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 acquisition unit 401 determines whether the wiring area information 500, 600, the net group information 700-1 to 700-4, and the constraint condition 2500 have been acquired (step S2701).

ここで、配線領域情報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 wiring area information 500, 600, the net group information 700-1 to 700-4, and the constraint condition 2500 (step S2701: No), and when acquired (step S2701: Yes), the search unit Based on the wiring area information 500 and 600 and the net group information 700-1 to 700-4, each net group from the start point coordinates unique to each net group NG1 to NG4 in the wiring area 200 to the end point coordinates is obtained by 402. A wiring route having a wiring width of NG1 to NG4 is searched (step S2702).

このあと、検出部403により、探索された配線経路1210〜1240間で相互に交差関係を有するネットグループの組み合わせを検出し(ステップS2703)、作成部404により、ネットグループNG1〜NG4がノード化され、交差関係を有するネットグループの組み合わせのノード間をつなぐ無向グラフ1600を作成する(ステップS2704)。   Thereafter, the detection unit 403 detects a combination of net groups having a cross relationship with each other between the searched wiring routes 1210 to 1240 (step S2703), and the creation unit 404 converts the net groups NG1 to NG4 into nodes. Then, an undirected graph 1600 that connects the nodes of the combination of net groups having an intersecting relationship is created (step S2704).

そして、決定部405により、無向グラフ1600の彩色問題を解くことにより、無向グラフ1600内の直接接続されたノード間で配線層が異なるように、設計対象回路が有する複数の配線層の中から各ネットグループNG1〜NG4に割り当てる配線層を決定する(ステップS2705)。   Then, the determination unit 405 solves the coloring problem of the undirected graph 1600, so that the wiring layers are different among the directly connected nodes in the undirected graph 1600. To determine a wiring layer to be assigned to each of the net groups NG1 to NG4 (step S2705).

つぎに、判断部407により、検出部403によって検出された相互に交差関係を有するネットグループの組み合わせが、ステップS2701において取得された制約条件2500に違反しているか否かを判断する(ステップS2706)。   Next, the determination unit 407 determines whether or not the combination of net groups having a cross relationship detected by the detection unit 403 violates the constraint condition 2500 acquired in step S2701 (step S2706). .

ここで、制約条件2500に違反している場合(ステップS2706:Yes)、ネットグループNG1の配線経路1210を配線禁止領域に設定して(ステップS2707)、ステップS2702に戻り、ネットグループNG3固有の始点座標から終点座標に辿り着くまでの配線経路を再探索する。   If the constraint condition 2500 is violated (step S2706: YES), the wiring path 1210 of the net group NG1 is set as a wiring prohibited area (step S2707), the process returns to step S2702, and the starting point unique to the net group NG3. Re-search the wiring route from the coordinates to the end point coordinates.

一方、制約条件2500に違反していない場合(ステップS2706:No)、最後に、出力部406により、ステップS2705において決定された決定結果を出力して(ステップS2708)、本フローチャートによる一連の処理を終了する。   On the other hand, if the constraint condition 2500 is not violated (step S2706: No), finally, the output unit 406 outputs the determination result determined in step S2705 (step S2708), and the series of processing according to this flowchart is performed. finish.

実施例3によれば、制約条件2500違反となっているネットグループNG1の配線経路1210を配線禁止領域として、ネットグループNG3固有の始点座標から終点座標までの配線経路2610を新たに探索することにより、ネットグループNG1,NG3の同一配線層への割り当てが可能となり、制約条件2500違反を解消することができる。   According to the third embodiment, the wiring path 1210 of the net group NG1 in violation of the constraint condition 2500 is used as a wiring prohibited area, and a new search is performed for the wiring path 2610 from the start point coordinates unique to the net group NG3 to the end point coordinates. The net groups NG1 and NG3 can be assigned to the same wiring layer, and the constraint condition 2500 violation can be eliminated.

なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、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 design support apparatus 300 described in the present embodiment is a PLD (Programmable) such as a standard cell or an application specific IC (hereinafter simply referred to as “ASIC”) such as a structured ASIC (Application Specific Integrated Circuit). It can also be realized by Logic Device). Specifically, for example, the function of the design support apparatus 300 (acquisition unit 401 to determination unit 407) is defined by HDL description, and the HDL description is logically synthesized and given to the ASIC or PLD, thereby supporting the design. The apparatus 300 can be manufactured.

上述した実施の形態に関し、さらに以下の付記を開示する。   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 appendix 1, wherein a wiring layer to be assigned is determined.

(付記3)前記探索手段は、
前記配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの最短の配線経路を探索することを特徴とする付記1または2に記載の設計支援プログラム。
(Supplementary note 3) The search means includes
The design support program according to appendix 1 or 2, wherein the shortest wiring path from the start point coordinates to the end point coordinates is searched for using the wiring area as a routable area.

(付記4)前記探索手段は、
前記配線領域内の配線禁止領域を除く残余の配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの配線経路を探索することを特徴とする付記1または2に記載の設計支援プログラム。
(Supplementary Note 4) The search means includes:
The design according to appendix 1 or 2, wherein a search is made for a wiring route from the start point coordinates to the end point coordinates, with the remaining wiring area excluding the wiring prohibition area in the wiring area as a routable area. Support program.

(付記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 appendix 4, which is characterized.

(付記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 appendix 4 or 5, 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.

(付記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 appendices 5 to 7, wherein the search is performed again for a wiring route of one net group.

(付記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 appendix 8, wherein a wiring route of the third and fourth net groups connecting the unique start point coordinates and end point coordinates is searched.

(付記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 appendices 1 to 9, wherein a wiring layer to be assigned to each net group is determined from the plurality of wiring layers based on the constraint condition stored by the storage unit. Support program.

(付記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

ネットグループの一例を示す説明図である。It is explanatory drawing which shows an example of a net group. 設計対象回路の配線領域の一例を示す説明図である。It is explanatory drawing which shows an example of the wiring area | region of a design object circuit. 設計支援装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a design support apparatus. 設計支援装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a design support apparatus. 配線領域情報の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of wiring area | region information. 配線領域情報の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of wiring area | region information. ネットグループ情報の具体例を示す説明図である。It is explanatory drawing which shows the specific example of net group information. 探索結果の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of a search result. 交差情報の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of intersection information. 無向グラフの具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of an undirected graph. 決定結果の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of a determination result. 探索結果の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of a search result. 配線経路情報の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of wiring route information. 配線経路情報の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of wiring route information. 交差情報の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of intersection information. 無向グラフの具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of an undirected graph. 決定結果の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of a determination result. 制約条件の具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of a constraint condition. 設計支援装置の設計支援処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the design support process sequence of a design support apparatus. 計数結果の具体例を示す説明図である。It is explanatory drawing which shows the specific example of a count result. 探索結果の具体例を示す説明図(その3)である。It is explanatory drawing (the 3) which shows the specific example of a search result. 決定結果の具体例を示す説明図(その3)である。It is explanatory drawing (the 3) which shows the specific example of a determination result. 実施例1における設計支援処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a design support processing procedure according to the first exemplary embodiment. 探索結果の具体例を示す説明図(その4)である。It is explanatory drawing (the 4) which shows the specific example of a search result. 制約条件の具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of a constraint condition. 探索結果の具体例を示す説明図(その5)である。It is explanatory drawing (the 5) which shows the specific example of a search result. 実施例3における設計支援処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a design support processing procedure according to the third embodiment.

符号の説明Explanation of symbols

200 配線領域
300 設計支援装置
401 取得部
402 探索部
403 検出部
404 作成部
405 決定部
406 出力部
407 判断部
DESCRIPTION OF SYMBOLS 200 Wiring area 300 Design support apparatus 401 Acquisition part 402 Search part 403 Detection part 404 Creation part 405 Determination part 406 Output part 407 Judgment part

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
前記探索手段は、  The search means includes
前記配線領域内の配線禁止領域を除く残余の配線領域を配線可能領域として、前記始点座標から前記終点座標に辿り着くまでの配線経路を探索することを特徴とする請求項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.
前記探索手段は、  The search means includes
前記検出手段によって第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:
前記探索手段は、  The search means includes
前記検出手段によって第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.
設計対象回路内の接続関係を有する一対の部品ごとに、当該部品間をつなぐネットのうち同一配線層に配線すべきネットをグループ化したネットグループ固有の始点/終点座標および配線幅を記憶する記憶手段と、  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 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 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 net group specific start point / end point that includes a control unit and a storage unit and groups nets to be wired to the same wiring layer among a pair of components having a connection relationship in the design target circuit. A computer with access to a table that stores coordinates and wire width
前記制御手段により、前記テーブルにアクセスして、前記設計対象回路の配線領域内の前記始点座標から前記終点座標に辿り着くまでの前記配線幅の配線経路を前記ネットグループごとに探索する探索工程と、  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
JP2008155647A 2008-06-13 2008-06-13 Design support program, design support apparatus, and design support method Active JP5125791B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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