JP4676995B2 - Design support program, recording medium storing the program, design support apparatus, and design support method - Google Patents

Design support program, recording medium storing the program, design support apparatus, and design support method Download PDF

Info

Publication number
JP4676995B2
JP4676995B2 JP2008024234A JP2008024234A JP4676995B2 JP 4676995 B2 JP4676995 B2 JP 4676995B2 JP 2008024234 A JP2008024234 A JP 2008024234A JP 2008024234 A JP2008024234 A JP 2008024234A JP 4676995 B2 JP4676995 B2 JP 4676995B2
Authority
JP
Japan
Prior art keywords
wiring
wiring path
path length
design support
circuit
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
JP2008024234A
Other languages
Japanese (ja)
Other versions
JP2009187121A (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 JP2008024234A priority Critical patent/JP4676995B2/en
Publication of JP2009187121A publication Critical patent/JP2009187121A/en
Application granted granted Critical
Publication of JP4676995B2 publication Critical patent/JP4676995B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

この発明は、LSIやプリント基板などの設計を支援する設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法に関する。   The present invention relates to a design support program that supports the design of an LSI or a printed circuit board, a recording medium that records the program, a design support apparatus, and a design support method.

LSI設計におけるアナログ回路やプリント基板の配線の設計では、仕様の回路特性(R,C)を満たすため、また、ばらつきによる特性変動の影響を削減するために、ミクロン単位での配線制約が与えられる。例えば、差動回路においては、複数配線に対して等長の配線制約が与えられる。   In designing an analog circuit or printed circuit board wiring in LSI design, in order to satisfy the specified circuit characteristics (R, C), and to reduce the influence of characteristic fluctuations due to variations, wiring restrictions are given in units of microns. . For example, in a differential circuit, equal-length wiring restrictions are given to a plurality of wirings.

一般に、このような配線制約を満たす配線を自動化することは難しいため、人手による試行錯誤を繰り返すことで各配線パターンを決定することとなる。このため、配線作業にかかる作業負担および作業時間が増大してしまい、設計期間の長期化を招く要因となっている。   In general, since it is difficult to automate wiring satisfying such wiring constraints, each wiring pattern is determined by repeating trial and error by hand. For this reason, the work load and work time for the wiring work increase, which causes a longer design period.

そこで、配線作業を自動化する手法として、下記特許文献1には、複数の既配線回路データの中から最大配線長の配線経路を抽出し、当該配線経路とは異なる他の配線経路の配線長が上記最大配線長となるように、他の配線経路を変更することで、等長配線をおこなう手法が記載されている。   Therefore, as a method for automating the wiring work, in Patent Document 1 below, a wiring route having the maximum wiring length is extracted from a plurality of existing wiring circuit data, and the wiring length of another wiring route different from the wiring route is described. A method is described in which equal-length wiring is performed by changing other wiring paths so as to achieve the maximum wiring length.

また、下記特許文献2には、スター型指定長配線をおこなう接続点のすべての接続点位置に基づいて所定の領域を作成し、上記領域内に所定の条件で経由点候補を生成する。そして、生成された経由点候補について上記接続点すべてがスター型指定長配線をおこなう際の配線条件を満足する経由点候補の中から経由点を探索し、その経由点からピンまでの指定長配線をおこなう手法が記載されている。   Also, in Patent Document 2 below, a predetermined area is created based on all connection point positions of connection points for performing star-type designated length wiring, and via-point candidates are generated in the area under predetermined conditions. Then, for the generated via-point candidates, search for a via-point from among the via-point candidates that satisfy the wiring conditions when all the connection points perform star-type specified-length wiring, and specify the specified-length wiring from the via-point to the pin The method of performing is described.

特開昭63−271661号公報JP-A 63-271661 特開平08−36596号公報Japanese Patent Laid-Open No. 08-36596

しかしながら、上述した特許文献1,2に記載の従来技術では、複雑な配線禁止領域(障害物が存在する領域)を取り扱うことはできないという問題がある。なぜなら、配線領域上の障害物(トランジスタ、配線、ビアなど)が増加し設計ルールが複雑化すると、与えられた配線領域内で配線制約を満たす配線を実現することができるか否かを判断することが難しくなるからである。   However, the conventional techniques described in Patent Documents 1 and 2 described above have a problem that a complicated wiring prohibited area (area where an obstacle exists) cannot be handled. This is because if the number of obstacles (transistors, wiring, vias, etc.) on the wiring area increases and the design rules become complicated, it is determined whether or not a wiring satisfying the wiring constraints can be realized in the given wiring area. Because it becomes difficult.

このため、複雑な配線禁止領域を取り扱う場合には、結果的に人手による試行錯誤を繰り返すこととなり、依然として配線作業にかかる作業負担および作業時間が増大し、ひいては設計期間の長期化を招くという問題がある。   For this reason, when handling complicated wiring prohibited areas, the result of repeated trial and error by hand is that the work load and work time for the wiring work still increase, which in turn leads to a prolonged design period. There is.

この発明は、上述した従来技術による問題点を解消するため、所定の配線領域内における仕様の回路特性を満たす配線長の配線を自動化することにより、作業負担の軽減化および設計期間の短縮化を図ることができる設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法を提供することを目的とする。   In order to eliminate the above-described problems caused by the prior art, the present invention reduces the work load and shortens the design period by automating a wiring having a wiring length that satisfies the specified circuit characteristics in a predetermined wiring area. An object of the present invention is to provide a design support program, a recording medium storing the program, a design support apparatus, and a design support method.

上述した課題を解決し、目的を達成するため、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法は、所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、前記所定の配線領域内でかつ前記配線経路と非接続な巡回路とを探索し、探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出し、算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定し、判定された判定結果を出力することを要件とする。   In order to solve the above-described problems and achieve the object, the design support program, the recording medium storing the program, the design support apparatus, and the design support method are provided in a first and second arrangement arranged in a predetermined wiring area. The circuit searches for a wiring path connecting the terminals of the circuit and a circuit that is not connected to the wiring path in the predetermined wiring region, and combines the wiring path length of the searched wiring path with the wiring path length of the circuit. It is necessary to calculate the wiring path length, determine whether the calculated wiring path length is equal to or longer than the wiring path length satisfying the specified circuit characteristics, and output the determined determination result.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、探索困難な端子間の最長配線経路の換わりに、端子間を接続する任意の配線経路と巡回路とを合わせた最長配線経路候補を用いて、所定の配線領域における仕様の回路特性を満たす配線経路長の実現可能性を判定することができる。   According to the design support program, the recording medium on which the program is recorded, the design support apparatus, and the design support method, instead of the longest wiring path between terminals that are difficult to search, an arbitrary wiring path and circuit that connect the terminals Can be used to determine the feasibility of a wiring path length that satisfies the specified circuit characteristics in a predetermined wiring area.

また、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法において、仕様の回路特性を満たす配線経路長以上と判定された場合、前記配線経路の一部と前記巡回路の一部とを通過して前記第1の端子から前記第2の端子に辿り着くまでの最長配線経路を探索し、探索された最長配線経路を出力することとしてもよい。   Further, in the design support program, the recording medium storing the program, the design support apparatus, and the design support method, when it is determined that the wiring path length exceeds the specified circuit characteristic, a part of the wiring path and the circulation The longest wiring path from the first terminal to the second terminal after passing through a part of the path may be searched, and the searched longest wiring path may be output.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、配線経路長を最大限に維持しながら端子間の配線経路と巡回路とを4つの接続ポイントで繋ぎ換えることで、端子間の最長配線経路を探索することができる。   According to the design support program, the recording medium on which the program is recorded, the design support apparatus, and the design support method, the wiring path between the terminals and the cyclic circuit are connected at four connection points while maintaining the wiring path length to the maximum. By reconnecting, the longest wiring path between terminals can be searched.

また、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法において、探索された最長配線経路の配線経路長を算出し、算出された最長配線経路の配線経路長が、前記仕様の回路特性を満たす配線経路長以上か否かを判定することとしてもよい。   Further, in the design support program, the recording medium storing the program, the design support apparatus, and the design support method, the wiring path length of the searched longest wiring path is calculated, and the calculated wiring path length of the longest wiring path is It may be determined whether or not the wiring path length satisfies the circuit characteristics of the specification.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、探索された最長配線経路の配線経路長を用いて再判定することで、所定の配線領域における仕様の回路特性を満たす配線経路長の実現可能性をより正確に判定することができる。   According to the design support program, the recording medium on which the program is recorded, the design support apparatus, and the design support method, the specification in the predetermined wiring region is determined by re-determination using the wiring route length of the searched longest wiring route. Therefore, it is possible to more accurately determine the feasibility of the wiring path length that satisfies the circuit characteristics.

また、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法において、前記最長配線経路の配線経路長と、前記仕様の回路特性を満たす配線経路長との差分が予め設定された許容範囲内か否かを判定し、許容範囲外と判定された場合、前記最長配線経路を前記許容範囲内の配線経路長となるように変更し、変更された変更後の最長配線経路を出力することとしてもよい。   Further, in the design support program, the recording medium storing the program, the design support apparatus, and the design support method, a difference between the wiring path length of the longest wiring path and the wiring path length satisfying the circuit characteristics of the specification is previously determined. It is determined whether or not it is within the set allowable range. If it is determined that it is out of the allowable range, the longest wiring path is changed to be the wiring path length within the allowable range, and the changed longest wiring after the change The route may be output.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、所定の配線領域における仕様の回路特性を満たす配線経路長の配線を実現することができる。   According to the design support program, the recording medium storing the program, the design support apparatus, and the design support method, it is possible to realize wiring having a wiring path length that satisfies the circuit characteristics of the specification in a predetermined wiring region.

また、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法において、前記所定の配線領域を、障害物を含まない第1の配線領域と、障害物を含む第2の配線領域とに分割し、分割された第1および第2の配線領域ごとに、探索処理、算出処理および判定処理を実行することとしてもよい。   In the design support program, the recording medium storing the program, the design support apparatus, and the design support method, the predetermined wiring area includes a first wiring area that does not include an obstacle, and a second that includes an obstacle. It is good also as performing a search process, a calculation process, and a determination process for every divided | segmented 1st and 2nd wiring area | region.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、所定の配線領域を分割して対象となる配線領域を小さくすることで、実際の最長配線経路の配線経路長と、端子間の配線経路の配線経路長および巡回路の配線経路長を合わせた配線経路長との誤差を低減させることができる。   According to the design support program, the recording medium on which the program is recorded, the design support apparatus, and the design support method, by dividing a predetermined wiring area and reducing the target wiring area, the actual longest wiring path It is possible to reduce an error between the wiring path length and the wiring path length obtained by combining the wiring path length of the wiring path between the terminals and the wiring path length of the circuit.

また、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法において、前記第1および第2の配線領域ごとに、探索処理、算出処理および判定処理が実行された結果、前記第1の配線領域内の第1の最長配線経路の一部と前記第2の配線領域内の第2の最長配線経路の一部とを通過して前記第1の端子から前記第2の端子に辿り着くまでの最長配線経路を探索することとしてもよい。   In addition, in the design support program, the recording medium storing the program, the design support apparatus, and the design support method, a result of execution of search processing, calculation processing, and determination processing for each of the first and second wiring regions , Passing through a part of the first longest wiring path in the first wiring area and a part of the second longest wiring path in the second wiring area, from the first terminal to the second It is also possible to search for the longest wiring route until the terminal is reached.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、端子間の最長配線経路を精度よく探索することで、所定の配線領域における仕様の回路特性を満たす配線経路長の実現可能性を正確に判定することができる。   According to the design support program, the recording medium on which the program is recorded, the design support apparatus, and the design support method, the circuit characteristics of the specifications in a predetermined wiring region are satisfied by accurately searching for the longest wiring path between terminals. The feasibility of the wiring path length can be accurately determined.

この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法によれば、所定の配線領域内における仕様の回路特性を満たす配線長の配線を自動化することにより、作業負担の軽減化および設計期間の短縮化を図ることができるという効果を奏する。   According to the design support program, the recording medium storing the program, the design support apparatus, and the design support method, by automating the wiring with the wiring length satisfying the circuit characteristics of the specification within the predetermined wiring area, There is an effect that reduction and shortening of the design period can be achieved.

以下に添付図面を参照して、この設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a design support program, a recording medium recording the program, a design support apparatus, and a design support method will be described below in detail with reference to the accompanying drawings.

(設計支援装置のハードウェア構成)
まず、本実施の形態にかかる設計支援装置のハードウェア構成について説明する。図1は、本実施の形態にかかる設計支援装置のハードウェア構成を示す説明図である。
(Hardware configuration of design support device)
First, the hardware configuration of the design support apparatus according to the present embodiment will be described. FIG. 1 is an explanatory diagram illustrating a hardware configuration of the design support apparatus according to the present embodiment.

図1において、設計支援装置100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク140に接続可能である。   In FIG. 1, a design support apparatus 100 includes a computer main body 110, an input apparatus 120, and an output apparatus 130. The design support apparatus 100 is connected to a network 140 such as a LAN, WAN, or the Internet via a router or a modem (not shown). Connectable.

コンピュータ本体110は、CPU,メモリ,インターフェースを有する。CPUは、設計支援装置100の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク111,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。   The computer main body 110 has a CPU, a memory, and an interface. The CPU governs overall control of the design support apparatus 100. The memory is composed of ROM, RAM, HD, optical disk 111, and flash memory. The memory is used as a work area for the CPU.

また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インターフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。   Various programs are stored in the memory, and loaded according to instructions from the CPU. Data read / write of the HD and the optical disk 111 is controlled by a disk drive. The optical disk 111 and the flash memory are detachable from the computer main body 110. The interface controls input from the input device 120, output to the output device 130, and transmission / reception with respect to the network 140.

また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内のメモリに格納される。なお、スキャナ123にOCR機能を持たせてもよい。   The input device 120 includes a keyboard 121, a mouse 122, a scanner 123, and the like. The keyboard 121 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Further, it may be a touch panel type. The mouse 122 performs cursor movement, range selection, window movement, size change, and the like. The scanner 123 optically reads an image. The read image is captured as image data and stored in a memory in the computer main body 110. Note that the scanner 123 may have an OCR function.

また、出力装置130としては、ディスプレイ131、スピーカ132、プリンタ133などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ132は、効果音や読み上げ音などの音声を出力する。また、プリンタ133は、画像データや文書データを印刷する。   The output device 130 includes a display 131, a speaker 132, a printer 133, and the like. The display 131 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. The speaker 132 outputs sounds such as sound effects and reading sounds. The printer 133 prints image data and document data.

(本実施の形態の概要)
つぎに、本実施の形態の概要について説明する。本実施の形態では、LSIやプリント基板のレイアウト処理において、所定の配線領域内における仕様の回路特性を満たす配線長の配線を自動化することにより、作業負担の軽減化および設計期間の短縮化を図る。
(Outline of this embodiment)
Next, an outline of the present embodiment will be described. In the present embodiment, in the layout processing of an LSI or a printed circuit board, wiring having a wiring length that satisfies the circuit characteristics of a specification within a predetermined wiring area is automated, thereby reducing the work load and shortening the design period. .

LSI設計におけるアナログ回路やプリント基板の配線の設計では、仕様の回路特性を満たすため、ミクロン単位での配線制約(指定長、等長配線など)が与えられる。ところが、LSIやプリント基板の高集積化により、配線領域上の障害物(トランジスタ、配線、ビアなど)が増加し設計ルールが複雑化している。   In designing an analog circuit or printed circuit board wiring in LSI design, wiring constraints (specified length, equal length wiring, etc.) in units of microns are given in order to satisfy the specified circuit characteristics. However, the high integration of LSIs and printed circuit boards increases the number of obstacles (transistors, wiring, vias, etc.) on the wiring region and complicates the design rules.

このため、端子間の配線形成のために割り付けられた配線領域内における端子間の最長経路探索が困難となり、該配線領域内における仕様の回路特性を満たす配線の実現可能性を判断することが難しくなっている。そこで、所定の配線領域内における仕様の回路特性を満たす配線の実現可能性を効率的かつ効果的に判断する手法を提案する。   For this reason, it becomes difficult to search for the longest path between terminals in a wiring area allocated for wiring formation between terminals, and it is difficult to determine the feasibility of wiring satisfying the specified circuit characteristics in the wiring area. It has become. Therefore, a method for efficiently and effectively determining the feasibility of wiring satisfying the specified circuit characteristics in a predetermined wiring region is proposed.

まず、探索困難な端子間の最長経路の換わりに、巡回路を含む端子間の配線経路を最長経路候補として探索する。そして、その最長経路候補の配線長が、仕様の回路特性を満たす配線長以上であった場合に、仕様の回路特性を満たす配線が実現可能であると判断する。これは、巡回路を含む端子間の配線経路の配線長が、巡回路を含まない端子間の配線経路の配線長以上となるという特性を利用したものである。   First, instead of the longest path between terminals that are difficult to search, a wiring path between terminals including a circuit is searched as a longest path candidate. When the wiring length of the longest path candidate is equal to or longer than the wiring length satisfying the specified circuit characteristics, it is determined that the wiring satisfying the specified circuit characteristics can be realized. This utilizes the characteristic that the wiring length of the wiring path between the terminals including the circuit is equal to or longer than the wiring length of the wiring path between the terminals not including the circuit.

換言すれば、巡回路を含む端子間の配線経路の配線長が、仕様の回路特性を満たす配線長未満であった場合には、配線制約を満たす配線は実現できないことを意味している。仕様の回路特性を満たす配線が実現不可能と判断された場合は、例えば、上流の工程に戻って各端子の配置位置を変更するなどの修正をおこなうこととなる。   In other words, if the wiring length of the wiring path between the terminals including the circuit is less than the wiring length satisfying the specified circuit characteristics, it means that the wiring satisfying the wiring constraint cannot be realized. When it is determined that the wiring satisfying the circuit characteristics of the specification is not feasible, for example, correction is made such as returning to the upstream process and changing the arrangement position of each terminal.

一方で、仕様の回路特性を満たす配線が実現可能であると判断された場合には、その仕様の回路特性を満たす配線長に応じて、巡回路を含む配線経路を自動修正し、配線制約を満たす端子間の配線を実現する。これにより、複雑な配線禁止領域(障害物)を含む配線領域を扱うことが可能となり、仕様の回路特性を満たす配線長の配線を自動化することができる。   On the other hand, if it is determined that wiring that satisfies the specified circuit characteristics is feasible, the wiring path including the circuit is automatically corrected according to the wiring length that satisfies the specified circuit characteristics, and wiring restrictions are imposed. Realize wiring between terminals to satisfy. As a result, it is possible to handle a wiring area including a complicated wiring prohibition area (obstacle), and it is possible to automate a wiring having a wiring length that satisfies the specified circuit characteristics.

(配線領域の具体例)
ここで、端子間の配線経路を形成するために割り付けられる配線領域の具体例について説明する。図2は、配線領域の具体例を示す説明図である。図2において、配線領域200は、ソースS(第1の端子)とターゲットT(第2の端子)とを接続する配線経路を形成するために割り付けられた配線領域である。
(Specific example of wiring area)
Here, a specific example of a wiring area allocated to form a wiring path between terminals will be described. FIG. 2 is an explanatory diagram showing a specific example of the wiring area. In FIG. 2, a wiring region 200 is a wiring region allocated to form a wiring path that connects a source S (first terminal) and a target T (second terminal).

配線領域200は、格子状に区切って9個のグリッドに分割されている。グリッドには、各グリッドを特定するためのラベルR1〜R9が付与されている。配線領域200において、ラベルR8,R9が付与されたグリッド(図2中ハッチ部分)は、トランジスタ、配線、ビアなどの障害物が配置された配線禁止領域を示している。なお、配線領域200を分割する格子サイズ(グリッドの大きさ)は、配線のプロセスによって決まる。   The wiring area 200 is divided into nine grids divided into a grid pattern. Labels R1 to R9 for identifying each grid are assigned to the grid. In the wiring region 200, grids (hatched portions in FIG. 2) to which labels R8 and R9 are given indicate wiring prohibited regions in which obstacles such as transistors, wirings, and vias are arranged. The grid size (grid size) for dividing the wiring region 200 is determined by the wiring process.

(配線情報のデータ構造)
つぎに、図2に示した配線領域に関する配線情報のデータ構造について説明する。図3は、配線情報のデータ構造を示す説明図である。図3において、配線情報300は、グリッド数、ソースS、ターゲットT、配線禁止領域および各グリッドの座標位置に関する情報を有している。
(Data structure of wiring information)
Next, the data structure of the wiring information related to the wiring area shown in FIG. 2 will be described. FIG. 3 is an explanatory diagram showing the data structure of the wiring information. In FIG. 3, the wiring information 300 includes information regarding the number of grids, the source S, the target T, the wiring prohibited area, and the coordinate position of each grid.

グリッド数は、配線領域200(図2参照)のX方向およびY方向のグリッド数を表わしている。ソースSは、始点端子の配置位置を表わしている。ここでは、ラベルR7のグリッドに始点端子が配置されている。ターゲットTは、終点端子の配置位置を表わしている。ここでは、ラベルR3のグリッドに終点端子が配置されている。   The number of grids represents the number of grids in the X direction and Y direction of the wiring region 200 (see FIG. 2). The source S represents the arrangement position of the start point terminal. Here, the start point terminal is arranged on the grid of the label R7. The target T represents the arrangement position of the end point terminal. Here, the end point terminals are arranged on the grid of the label R3.

配線禁止領域は、トランジスタ、配線、ビアなどの障害物が配置され、新たな配線を形成することができないグリッドを表わしている。ここでは、ラベルR8,R9のグリッドが配線禁止領域となっている。また、配線情報300には、各グリッドの座標位置を認識するための座標データ(例えば、図4に示す座標テーブル400)が含まれている。   The wiring prohibition area represents a grid in which obstacles such as transistors, wirings, and vias are arranged and a new wiring cannot be formed. Here, the grids of the labels R8 and R9 are wiring prohibited areas. Further, the wiring information 300 includes coordinate data (for example, the coordinate table 400 shown in FIG. 4) for recognizing the coordinate position of each grid.

図4は、座標テーブルの記憶内容を示す説明図である。図4において、座標テーブル400は、グリッドごとに、ラベル名および座標位置に関する情報を記憶している。この座標テーブル400を参照することで、各グリッドの座標位置を認識することができる。例えば、ラベルR1のグリッドの座標位置は(X,Y)=(1,1)である。   FIG. 4 is an explanatory diagram showing the contents stored in the coordinate table. In FIG. 4, a coordinate table 400 stores information on label names and coordinate positions for each grid. By referring to the coordinate table 400, the coordinate position of each grid can be recognized. For example, the coordinate position of the grid of the label R1 is (X, Y) = (1, 1).

(設計支援装置の機能的構成)
つぎに、設計支援装置100の機能的構成について説明する。図5は、設計支援装置の機能的構成を示すブロック図である。図5において、設計支援装置100は、探索部501と、算出部502と、判定部503と、出力部504と、変更部505と、分割部506と、を備えている。
(Functional configuration of design support device)
Next, a functional configuration of the design support apparatus 100 will be described. FIG. 5 is a block diagram illustrating a functional configuration of the design support apparatus. In FIG. 5, the design support apparatus 100 includes a search unit 501, a calculation unit 502, a determination unit 503, an output unit 504, a change unit 505, and a division unit 506.

これら各機能501〜506は、設計支援装置100の記憶部に記憶された当該機能501〜506に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。また、各機能501〜506からの出力データは上記記憶部に保持される。また、図5中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。   Each of these functions 501 to 506 can be realized by causing the CPU to execute a program related to the functions 501 to 506 stored in the storage unit of the design support apparatus 100 or by using an input / output I / F. it can. Output data from each function 501 to 506 is held in the storage unit. Further, the connection destination function indicated by the arrow in FIG. 5 reads output data from the connection source function from the storage unit and causes the CPU to execute a program related to the function.

まず、探索部501は、所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、所定の配線領域内でかつ配線経路と非接続な巡回路とを探索する機能を有する。所定の配線領域とは、設計対象回路内の2つの端子ごとに割り付けられる配線領域である。例えば、レイアウトツールを実行することで、第1および第2の端子に所定の配線領域を自動的に割り付けることができる。また、巡回路とは、ループ状の配線経路である。この順回路は、所定の配線領域内のうち第1および第2の端子を接続する配線経路が形成された領域を除く残余の領域に形成される。   First, the search unit 501 has a function of searching for a wiring path that connects the first and second terminals arranged in a predetermined wiring area and a circuit that is not connected to the wiring path in the predetermined wiring area. Have The predetermined wiring area is a wiring area assigned for every two terminals in the circuit to be designed. For example, a predetermined wiring area can be automatically allocated to the first and second terminals by executing a layout tool. The circuit is a loop-shaped wiring path. This forward circuit is formed in the remaining area of the predetermined wiring area except for the area where the wiring path connecting the first and second terminals is formed.

具体的には、例えば、探索部501は、所定の配線領域に関する配線領域情報と、該配線領域内の配線禁止領域を表わす配線禁止情報と、第1および第2の端子に関する接続端子情報とに基づいて、第1および第2の端子を接続する配線経路と巡回路とを探索する。これら配線領域情報、配線禁止情報および接続端子情報として、例えば、図3に示した配線情報300を用いることができる。なお、配線情報300は、設計支援装置100に直接入力することとしてもよく、また、不図示の外部装置からの取得、不図示のデータベースやライブラリからの抽出によって取得することとしてもよい。   Specifically, for example, the search unit 501 includes wiring area information regarding a predetermined wiring area, wiring prohibition information representing a wiring prohibition area within the wiring area, and connection terminal information regarding the first and second terminals. Based on this, a search is made for a wiring route and a circuit that connect the first and second terminals. For example, the wiring information 300 shown in FIG. 3 can be used as the wiring area information, the wiring prohibition information, and the connection terminal information. The wiring information 300 may be directly input to the design support apparatus 100, or may be acquired by acquisition from an external device (not shown) or extraction from a database or library (not shown).

ここで、探索部501による第1および第2の端子を接続する配線経路と巡回路とを探索する第1の探索処理の具体例について説明する。図6は、第1の探索処理の概要を示す説明図である。ここでは、配線領域600内のソースSとターゲットTとを接続する配線経路と、配線領域600内でかつ該配線経路と非接続な巡回路とを探索する。   Here, a specific example of the first search process for searching for the wiring route and the circuit connecting the first and second terminals by the search unit 501 will be described. FIG. 6 is an explanatory diagram showing an overview of the first search process. Here, a search is made for a wiring path connecting the source S and the target T in the wiring area 600 and a circuit in the wiring area 600 that is not connected to the wiring path.

まず、配線領域600内の各グリッドがノード化され、ノード間をつなぐ各エッジに変数x1〜x12が割り付けられたグラフ610を作成する。グラフ610における各ノードの配置位置は、配線領域600における各グリッドの配置位置に対応している。例えば、ノードe1とソースSが配置されたグリッドとが対応している。   First, a graph 610 is created in which each grid in the wiring region 600 is noded and variables x1 to x12 are assigned to each edge connecting the nodes. The arrangement position of each node in the graph 610 corresponds to the arrangement position of each grid in the wiring region 600. For example, the node e1 corresponds to the grid on which the source S is arranged.

以下、グラフ610を用いて、ソースSからターゲットTに辿り着くまでの配線経路および巡回路を探索する。なお、前提条件として、グラフ610内において、引き返しは不可とし、同じグリッドに2回辿り着いた時点で探索を終了することとする。   Hereinafter, using the graph 610, a wiring route and a route from the source S to the target T are searched. As a precondition, in the graph 610, it is not possible to turn back, and the search is terminated when the same grid is reached twice.

具体的には、巡回路を含む最長経路探索問題を線形計画問題にモデル化する。より具体的には、巡回路を含む最長経路探索問題を整数計画問題にモデル化し、その整数計画問題を線形計画問題に緩和する。まず、整数計画問題を定式化すると、目的関数は下記式(1)となり、制約式は下記式(2)〜(5)となる。ただし、diは区間iの距離である。また、xi=1は区間iを通過、xi=0は区間iを通過しないことを意味している。   Specifically, the longest path search problem including a cyclic route is modeled as a linear programming problem. More specifically, the longest path search problem including a circular circuit is modeled as an integer programming problem, and the integer programming problem is relaxed to a linear programming problem. First, when the integer programming problem is formulated, the objective function becomes the following expression (1), and the constraint expressions become the following expressions (2) to (5). Here, di is the distance of section i. Moreover, xi = 1 means that the section i is passed, and xi = 0 means that the section i is not passed.

max.Σ{di・xi|iは区間} …(1)     max. Σ {di · xi | i is a section} (1)

Σ{ei|iは終端ノード}=2 …(2)     Σ {ei | i is a terminal node} = 2 (2)

bi∈{0,2}(ただし、biは任意の分岐ノード) …(3)     bi∈ {0, 2} (where bi is an arbitrary branch node) (3)

ei∈{1}(ただし、eiは2つの始点終点ノード) …(4)     eiε {1} (where ei is two start and end nodes) (4)

xi∈{0,1}(ただし、xiは任意のエッジ) …(5)     xi∈ {0, 1} (where xi is an arbitrary edge) (5)

つぎに、この整数計画問題を線形計画問題に緩和する。具体的には、上記の制約式を線形計画制約によって表現する。ここで、グラフ610内の代表ノード(始点終点ノード、3分岐ノード、4分岐ノード)を例に挙げて、上記式(3)および(5)を線形計画制約によって表現した制約式について説明する。   Next, this integer programming problem is relaxed to a linear programming problem. Specifically, the above constraint expression is expressed by a linear programming constraint. Here, taking the representative node (start point end point node, 3 branch node, 4 branch node) in the graph 610 as an example, a constraint expression in which the above expressions (3) and (5) are expressed by a linear programming constraint will be described.

まず、グラフ610内のノードe1(始点ノード)を例に挙げると、制約式は『+x1+x7=1,0≦x1≦1,0≦x7≦1』となる。つぎに、ノードe2(終点ノード)を例に挙げると、制約式は『+x6+x12=1,0≦x6≦1,0≦x12≦1』となる。   First, taking the node e1 (start node) in the graph 610 as an example, the constraint equation is “+ x1 + x7 = 1, 0 ≦ x1 ≦ 1, 0 ≦ x7 ≦ 1”. Next, taking the node e2 (end point node) as an example, the constraint equation is “+ x6 + x12 = 1, 0 ≦ x6 ≦ 1, 0 ≦ x12 ≦ 1”.

つぎに、ノードb3(3分岐)を例に挙げると、『−x3+x7+x8≧0,+x3−x7+x8≧0,+x3+x7−x8≧0,+x3+x7+x8≦2,0≦x3≦1,0≦x7≦1,0≦x8≦1』となる。   Next, taking the node b3 (three branches) as an example, “−x3 + x7 + x8 ≧ 0, + x3−x7 + x8 ≧ 0, + x3 + x7−x8 ≧ 0, + x3 + x7 + x8 ≦ 2, 0 ≦ x3 ≦ 1, 0 ≦ x7 ≦ 1,0 ≦ x8 ≦ 1 ”.

つぎに、ノードb4(4分岐)を例に挙げると、『−x3+x4+x9+x10≧0,+x3−x4+x9+x10≧0,+x3+x4−x9+x10≧0,+x3+x4+x9−x10≧0,+x3+x4+x9+x10≦2,0≦x3≦1,0≦x4≦1,0≦x9≦1,0≦x10≦1』となる。   Next, taking the node b4 (four branches) as an example, “−x3 + x4 + x9 + x10 ≧ 0, + x3−x4 + x9 + x10 ≧ 0, + x3 + x4−x9 + x10 ≧ 0, + x3 + x4 + x9−x10 ≧ 0, + x3 + x4 + x9 + x10 ≦ 2, 0 ≦ x3 ≦ 1, 0. ≦ x4 ≦ 1, 0 ≦ x9 ≦ 1, 0 ≦ x10 ≦ 1 ”.

このあと、上記式(1)で示した目的関数と、グラフ610内のノードごとに線形計画制約で表現した制約式と、を線形計画ソルバに入力することで、ソースSからターゲットTに辿り着くまでの巡回路を含む最長経路を求めることができる。なお、線形計画問題に緩和したため、各変数は必ずしも0または1に収束しない。このため、ここでは0と1の間の中間値をとる変数を、近傍の配線と接続されるように0または1に修正することとする。   Thereafter, the objective function shown in the above equation (1) and the constraint expression expressed by the linear programming constraint for each node in the graph 610 are input to the linear programming solver, thereby reaching the target T from the source S. It is possible to obtain the longest route including the route to the end. Note that each variable does not necessarily converge to 0 or 1 because it has been relaxed to a linear programming problem. For this reason, here, a variable having an intermediate value between 0 and 1 is corrected to 0 or 1 so as to be connected to a nearby wiring.

ここで、第1の探索処理の探索結果の具体例について説明する。図7は、第1の探索処理の探索結果の具体例を示す説明図である。図7において、配線領域600には、第1の探索処理の探索結果である、ソースSとターゲットTとを接続する配線経路710と巡回路720とが示されている。   Here, a specific example of the search result of the first search process will be described. FIG. 7 is an explanatory diagram illustrating a specific example of a search result of the first search process. In FIG. 7, the wiring region 600 shows a wiring path 710 and a circuit 720 that connect the source S and the target T, which are search results of the first search process.

図5の説明に戻り、算出部502は、探索部501によって探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出する機能を有する。具体的には、例えば、配線経路および巡回路が通過するグリッド数を配線経路長とすることとしてもよく、また、上記式(1)を用いて求めた値を配線経路長とすることとしてもよい。   Returning to the description of FIG. 5, the calculation unit 502 has a function of calculating a wiring route length obtained by combining the wiring route length of the wiring route searched by the search unit 501 and the wiring route length of the circuit. Specifically, for example, the wiring path and the number of grids through which the circuit passes may be used as the wiring path length, and the value obtained using the above equation (1) may be used as the wiring path length. Good.

判定部503は、算出部502によって算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する機能を有する。仕様の回路特性を満たす配線経路長とは、例えば、設計対象回路の仕様として規定された配線制約であり、特定の配線経路長である。なお、仕様の回路特性を満たす配線経路長は、例えば、ROMやRAMなどの記憶部に記憶されている。   The determination unit 503 has a function of determining whether or not the wiring path length calculated by the calculation unit 502 is equal to or longer than the wiring path length satisfying the specified circuit characteristics. The wiring path length satisfying the circuit characteristics of the specification is, for example, a wiring restriction defined as the specification of the circuit to be designed, and is a specific wiring path length. The wiring path length satisfying the specified circuit characteristics is stored in a storage unit such as a ROM or a RAM, for example.

出力部504は、判定部503によって判定された判定結果を出力する機能を有する。例えば、仕様の回路特性を満たす配線経路長未満と判定された場合には、割り付けられた配線領域内で仕様の回路特性を満たす配線経路長を満たすことができない旨のエラーメッセージを出力することとしてもよい。なお、出力部504による出力形式は、ディスプレイ131での画面表示、プリンタ133での印刷出力、メモリへのデータ出力(保存)、外部のコンピュータ装置への送信のいずれであってもよい。   The output unit 504 has a function of outputting the determination result determined by the determination unit 503. For example, when it is determined that the wiring path length satisfying the specified circuit characteristics is less than the wiring path length that satisfies the specified circuit characteristics, an error message indicating that the wiring path length that satisfies the specified circuit characteristics cannot be satisfied is output. Also good. Note that the output format of the output unit 504 may be any of screen display on the display 131, print output on the printer 133, data output (save) to the memory, and transmission to an external computer device.

設計者は、このエラーメッセージを確認することで、第1および第2の端子に割り付けられた配線領域内において配線制約を満たす配線が実現できないことを認識することができる。これにより、上流の工程に戻って第1および第2の端子の配置位置を変更するなどの対策を適切かつ迅速におこなうことができる。   By confirming this error message, the designer can recognize that the wiring satisfying the wiring constraint cannot be realized in the wiring area allocated to the first and second terminals. Thereby, it is possible to appropriately and quickly take measures such as returning to the upstream process and changing the arrangement positions of the first and second terminals.

また、探索部501は、判定部503によって配線経路長以上と判定された場合、配線経路の一部と巡回路の一部とを通過して第1の端子から第2の端子に辿り着くまでの最長配線経路を探索する機能を有する。具体的には、4つの接続ポイントで配線経路と巡回路とを繋ぎ換えることで、最大限に配線経路長を維持した単一の最長配線経路を探索する。   When the determination unit 503 determines that the length is equal to or longer than the wiring path length, the searching unit 501 passes through a part of the wiring path and a part of the circuit and reaches the second terminal from the first terminal. Has the function of searching for the longest wiring route. Specifically, a single longest wiring route that maintains the maximum wiring route length is searched by switching the wiring route and the circuit at four connection points.

ここで、探索部501による最長配線経路を探索する第2の探索処理の具体例について説明する。ここでは、図7に示した探索結果を例に挙げて説明する。図8は、第2の探索処理の概要を示す説明図である。最長配線経路を探索する場合、図8に示すターンアウトスイッチグラフ(以下、「Tsグラフ」と表記)800を作成する。   Here, a specific example of the second search process for searching for the longest wiring route by the search unit 501 will be described. Here, the search result shown in FIG. 7 will be described as an example. FIG. 8 is an explanatory diagram showing an outline of the second search process. When searching for the longest wiring route, a turnout switch graph (hereinafter referred to as “Ts graph”) 800 shown in FIG. 8 is created.

Tsグラフ800は、配線経路710と巡回路720とを繋ぎ換える際の接続可能ポイントが表現されたグラフである。具体的には、まず、配線領域600を区切る境界線の中から、配線経路710と巡回路720との間の境界線を検出する。例えば、配線経路710のソースSからターゲットTに辿り着くまでのグリッドごとに、巡回路720との間の境界線を検出する。そして、境界線が検出された都度、その境界線にエッジIDを割り付ける。   The Ts graph 800 is a graph expressing connectable points when the wiring route 710 and the circuit 720 are switched. Specifically, first, a boundary line between the wiring path 710 and the circuit 720 is detected from the boundary lines that divide the wiring region 600. For example, for each grid from the source S of the wiring path 710 to the target T, a boundary line with the circuit 720 is detected. Each time a boundary line is detected, an edge ID is assigned to the boundary line.

ここで、ソースSが配置されたグリッドを例に挙げると、巡回路720との間の境界線810を検出し、その境界線810にエッジaを割り付ける。このように、境界線が検出された都度、エッジID(図8では、エッジa〜d)を割り付けることで、配線経路710と巡回路720との間の境界線を認識することができる。   Here, taking a grid in which the source S is arranged as an example, a boundary line 810 with the circuit 720 is detected, and an edge a is assigned to the boundary line 810. Thus, whenever a boundary line is detected, an edge ID (edges a to d in FIG. 8) is assigned, whereby the boundary line between the wiring path 710 and the circuit 720 can be recognized.

このあと、配線経路710、巡回路720、エッジa〜dがノード化されたTsグラフ800を作成する。具体的には、配線経路710を表わすノードN1と、巡回路720を表わすノードN2とが、エッジa〜dを表わすノードNa〜Ndを介して接続されたTsグラフ800を作成する。   Thereafter, a Ts graph 800 in which the wiring path 710, the circuit 720, and the edges a to d are nodeized is created. Specifically, a Ts graph 800 is created in which a node N1 representing a wiring path 710 and a node N2 representing a circuit 720 are connected via nodes Na to Nd representing edges a to d.

つぎに、配線経路710および巡回路720の原点を設定する。原点の位置は任意に設定可能である。ここでは、配線経路710の原点をソースS(以下、「原点S」と表記)に設定し、巡回路720の原点を点A(以下、「原点A」と表記)に設定する。   Next, the origin of the wiring path 710 and the circuit 720 is set. The position of the origin can be set arbitrarily. Here, the origin of the wiring path 710 is set to the source S (hereinafter referred to as “origin S”), and the origin of the circuit 720 is set to the point A (hereinafter referred to as “origin A”).

さらに、配線経路710の経路上を辿って原点Sから各エッジa〜dに辿り着くまでの距離を求めて、ノード間をつなぐ各枝に設定する。例えば、原点Sからエッジaまでの距離は「0」のため、ノードN1とノードNaとをつなぐ枝に「0」を設定する。また、原点Sからエッジdまでの距離は「4」のため、ノードN1とノードNdとをつなぐ枝に「4」を設定する。   Further, the distance from the origin S to the edges a to d is obtained by following the route of the wiring route 710 and set to each branch connecting the nodes. For example, since the distance from the origin S to the edge a is “0”, “0” is set to the branch connecting the node N1 and the node Na. Further, since the distance from the origin S to the edge d is “4”, “4” is set to the branch connecting the node N1 and the node Nd.

同様に、巡回路720の経路上を辿って原点Aから各エッジa〜dに辿り着くまでの距離を求めて、ノード間をつなぐ各枝に設定する。このとき、時計回りに巡回路720の経路上を辿ることとする。例えば、原点Aからエッジaまでの距離は「1」のため、ノードN2とノードNaとをつなぐ枝に「1」を設定する。また、原点Aからエッジdまでの距離は「3」のため、ノードN2とノードNdとをつなぐ枝に「3」を設定する。   Similarly, the distance from the origin A to the edges a to d is obtained by following the route of the circuit 720, and set to each branch connecting the nodes. At this time, the route of the circuit 720 is traced clockwise. For example, since the distance from the origin A to the edge a is “1”, “1” is set to the branch connecting the node N2 and the node Na. Further, since the distance from the origin A to the edge d is “3”, “3” is set to the branch connecting the node N2 and the node Nd.

ここで、Tsグラフ800を表わす具体的なグラフ情報のデータ構造について説明する。図9および図10は、グラフ情報のデータ構造を示す説明図である。図9において、グラフ情報900は、ノードN1,N2,Na〜Ndごとに、ノード名、フラグおよびノードタイプに関する情報を有している。例えば、ノードN1は、フラグがONに設定された配線経路である。フラグに関する詳細な説明は後述する。   Here, the data structure of specific graph information representing the Ts graph 800 will be described. 9 and 10 are explanatory diagrams showing the data structure of the graph information. In FIG. 9, the graph information 900 includes information regarding the node name, flag, and node type for each of the nodes N1, N2, and Na to Nd. For example, the node N1 is a wiring route whose flag is set to ON. Detailed description regarding the flag will be described later.

また、図10において、グラフ情報1000は、ノードN1,N2ごとに、境界線を表わすノードNa〜Ndとの距離に関する情報を有している。このグラフ情報1000を参照することで、ノード間の距離を特定することができる。上述したTsグラフ800は、図9および図10に示したグラフ情報900,1000によって表現することができる。   In FIG. 10, the graph information 1000 includes information regarding the distance from the nodes Na to Nd representing the boundary line for each of the nodes N1 and N2. By referring to the graph information 1000, the distance between nodes can be specified. The Ts graph 800 described above can be expressed by the graph information 900 and 1000 shown in FIGS. 9 and 10.

つぎに、グラフ情報900,1000を用いて、配線経路710の一部と巡回路720の一部とを通過してソースSからターゲットTまで辿り着くまでの最長配線経路を探索する。まず、グラフ情報900の全ノードのフラグをOFFに設定する。つぎに、ソースS,ターゲットTを含むノードN1のフラグをONに設定する。   Next, using the graph information 900 and 1000, the longest wiring path from the source S to the target T through a part of the wiring path 710 and a part of the circuit 720 is searched. First, the flags of all nodes in the graph information 900 are set to OFF. Next, the flag of the node N1 including the source S and the target T is set to ON.

このあと、グラフ情報1000が有するノード間の距離を用いて、ノードN1→ノードN2→ノードN1と遷移した場合に、最も迂回の小さい戻り経路を探索する。具体的には、ノードNa〜Ndの中から、ノードN1からノードN2に遷移する際に経由する接続ポイントおよびノードN2からノードN1に遷移する際に経由する接続ポイントとなる2つのノードNa〜Ndを選択し、ノードN1→ノードN2→ノードN1と遷移した場合のコストを計算する。   Thereafter, using the distance between the nodes included in the graph information 1000, when a transition is made from the node N1 to the node N2 to the node N1, a return route with the smallest detour is searched. Specifically, from among the nodes Na to Nd, two nodes Na to Nd serving as a connection point through which the transition from the node N1 to the node N2 and a connection point through which the transition from the node N2 to the node N1 are performed. Is selected, and the cost in the case of transition from node N1 → node N2 → node N1 is calculated.

例えば、ノードNa〜Ndの中からノードNa,Nbが選択されたとすると、ノードN1→ノードNa→ノードN2→ノードNb→ノードN1と遷移する場合のコストを計算する。具体的には、N1−Na間の距離(0)とN2−Na間の距離(1)とを加算した値(1)から、N2−Nb間の距離(2)とN1−Nb間の距離(1)とを加算した値(3)を減算した値(−2)をコストとする。   For example, assuming that the nodes Na and Nb are selected from the nodes Na to Nd, the cost for transitioning from the node N1 → the node Na → the node N2 → the node Nb → the node N1 is calculated. Specifically, from the value (1) obtained by adding the distance (0) between N1 and Na and the distance (1) between N2 and Na, the distance (2) between N2 and Nb and the distance between N1 and Nb. A value (−2) obtained by subtracting a value (3) obtained by adding (1) is defined as a cost.

具体的には、N1−Na間の距離(0)とN2−Na間の距離(1)とを加算した値(1)は、配線経路710と巡回路720とを繋ぎ換えた際に増加する配線経路長である。また、N2−Nb間の距離(2)とN1−Nb間の距離(1)とを加算した値(3)は、配線経路710と巡回路720とを繋ぎ換えた際に減少する配線経路長である。   Specifically, the value (1) obtained by adding the distance (0) between N1 and Na and the distance (1) between N2 and Na increases when the wiring route 710 and the circuit 720 are switched. Wiring path length. Further, the value (3) obtained by adding the distance (2) between N2 and Nb and the distance (1) between N1 and Nb is a wiring path length that decreases when the wiring path 710 and the circuit 720 are switched. It is.

このコストを接続ポイントとなる全組み合わせ『Na−Nb,Na−Nc,Na−Nd,Nb−Nc,Nb−Nd,Nc−Nd』について求めて、コストが最大(配線経路長の減少分が最小)の組み合わせを接続ポイントの組み合わせとして決定する。ここでは、『Na−Nb』の組み合わせが、最大のコストとなる。この結果、ノードN1→ノードNa→ノードN2→ノードNb→ノードN1の遷移に従って、配線領域600内のグリッドを辿る配線経路を最長配線経路に決定する。   This cost is obtained for all the combinations “Na-Nb, Na-Nc, Na-Nd, Nb-Nc, Nb-Nd, Nc-Nd” as connection points, and the cost is maximum (the decrease in wiring path length is minimum). ) Is determined as a combination of connection points. Here, the combination of “Na—Nb” is the maximum cost. As a result, according to the transition of the node N1, the node Na, the node N2, the node Nb, and the node N1, the wiring route that follows the grid in the wiring region 600 is determined as the longest wiring route.

ここで、第2の探索処理の探索結果の具体例について説明する。図11は、第2の探索処理の探索結果の具体例を示す説明図である。図11において、符号1100は、配線経路710の一部と巡回路720の一部とを通過してソースSからターゲットTまで辿り着くまでの最長配線経路(上述したノードN1→ノードNa→ノードN2→ノードNb→ノードN1に相当)である。   Here, a specific example of the search result of the second search process will be described. FIG. 11 is an explanatory diagram illustrating a specific example of a search result of the second search process. In FIG. 11, reference numeral 1100 denotes the longest wiring path (node N1 → node Na → node N2 described above) from the source S to the target T through a part of the wiring path 710 and a part of the circuit 720. → node Nb → node N1).

なお、巡回路720と隣接する他の巡回路が存在する場合には、最長配線経路1100が探索された結果、さらに、最長配線経路1100の一部と他の巡回路の一部とを通過してソースSからターゲットTまで辿り着くまでの最長配線経路を探索することとなる。   When there is another tour circuit adjacent to the tour circuit 720, the longest wiring route 1100 is searched, and as a result, it passes through a part of the longest wiring route 1100 and a part of the other tour circuit. Thus, the longest wiring route from the source S to the target T is searched.

図12は、複数の巡回路の一部を通過する最長配線経路の一例を示す説明図である。図12において、(1)には、ソースSとターゲットTとを接続する配線経路Hおよび巡回路J1〜Jnが示されている。この場合、配線経路Hと隣接する巡回路J1から順に探索部501による第2の探索処理を実行して、ソースSからターゲットTに辿り着くまでの最長配線経路を探索する。   FIG. 12 is an explanatory diagram illustrating an example of the longest wiring path that passes through a part of a plurality of circuits. In FIG. 12, (1) shows a wiring path H that connects the source S and the target T and the circular circuits J1 to Jn. In this case, the second search process by the search unit 501 is executed in order from the circuit J1 adjacent to the wiring path H to search for the longest wiring path from the source S to the target T.

この結果、(2)に示すように、配線経路Hの一部と巡回路J1〜Jnの一部(J’1〜J’n)とを通過してソースSからターゲットTに辿り着くまでの最長配線経路Iが探索される。このとき、探索が終了した巡回路J1〜Jnのフラグ(グラフ情報900のフラグに相当)をONに設定することにより、未探索の巡回路J1〜Jnを認識することができる。   As a result, as shown in (2), the process from passing through part of the wiring path H and part of the circuits J1 to Jn (J'1 to J'n) until reaching the target T from the source S. The longest wiring route I is searched. At this time, by setting the flags of the tours J1 to Jn (corresponding to the flag of the graph information 900) for which the search has been completed to ON, the unsearched tours J1 to Jn can be recognized.

図5の説明に戻り、出力部504は、探索部501によって探索された最長配線経路を出力する機能を有する。具体的には、例えば、最長配線経路が通過するグリッドを特定するラベルの接続関係を表わす探索結果を出力することとしてもよい。ここで、出力部504によって出力される出力例について説明する。   Returning to the description of FIG. 5, the output unit 504 has a function of outputting the longest wiring path searched by the search unit 501. Specifically, for example, a search result representing a connection relation of labels specifying a grid through which the longest wiring route passes may be output. Here, an output example output by the output unit 504 will be described.

図13は、探索結果の出力例を示す説明図である。図13において、最長配線経路1100(図11参照)を表わす探索結果1300が示されている。探索結果1300は、接続関係を有するグリッドを特定するラベル情報を有している。   FIG. 13 is an explanatory diagram of an example of search result output. In FIG. 13, a search result 1300 representing the longest wiring path 1100 (see FIG. 11) is shown. The search result 1300 has label information that identifies a grid having a connection relationship.

これにより、最長配線経路1100は、R7→R8→R9→R6→R5→R4→R1→R2→R3を通過する配線経路であると特定することができる。なお、各ラベルR1〜R9の座標位置は、配線領域の配線情報に含まれている座標テーブルを参照することで認識することができる。   Thereby, the longest wiring path 1100 can be specified as a wiring path that passes through R7 → R8 → R9 → R6 → R5 → R4 → R1 → R2 → R3. Note that the coordinate positions of the labels R1 to R9 can be recognized by referring to a coordinate table included in the wiring information of the wiring area.

また、算出部502は、探索部501によって探索された最長配線経路の配線経路長を算出する機能を有する。そして、判定部503は、算出部502によって算出された最長配線経路の配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する機能を有する。   The calculation unit 502 has a function of calculating the wiring route length of the longest wiring route searched by the search unit 501. The determination unit 503 has a function of determining whether or not the wiring path length of the longest wiring path calculated by the calculation unit 502 is equal to or longer than the wiring path length satisfying the specified circuit characteristics.

すなわち、配線経路と巡回路とを繋ぎ換えることで単一の最長配線経路が探索された結果、仕様の回路特性を満たす配線経路長を実現できるか否かを判定する。ここで、仕様の回路特性を満たす配線経路長未満と判定された場合には、例えば、上述したエラーメッセージを出力することとしてもよい。   That is, as a result of searching for a single longest wiring route by switching the wiring route and the circuit, it is determined whether or not a wiring route length satisfying the specified circuit characteristics can be realized. Here, when it is determined that the wiring path length is less than the specified circuit characteristic, for example, the error message described above may be output.

また、判定部503は、最長配線経路の配線経路長と、仕様の回路特性を満たす配線経路長との差分が予め設定された許容範囲内か否かを判定することとしてもよい。具体的には、配線制約として、指定配線経路長と完全一致ではなく、回路特性を満たす程度の誤差を許容範囲として設定する。許容範囲は、例えば、図1に示したキーボード121やマウス122などの入力装置120をユーザが操作することで、任意に設定可能である。   The determination unit 503 may determine whether the difference between the wiring path length of the longest wiring path and the wiring path length satisfying the specified circuit characteristics is within a preset allowable range. Specifically, as the wiring constraint, an error that does not completely match the designated wiring path length but satisfies the circuit characteristics is set as an allowable range. For example, the allowable range can be arbitrarily set by the user operating the input device 120 such as the keyboard 121 and the mouse 122 shown in FIG.

また、変更部505は、判定部503によって許容範囲外と判定された場合、最長配線経路を許容範囲内の配線経路長となるように変更する機能を有する。具体的には、例えば、図12に示した最長配線経路Iの一部であるJ’1〜J’nを、末端のJ’nから順に切り離すことで最長配線経路Iの配線経路長を調整することとしてもよい。   In addition, the changing unit 505 has a function of changing the longest wiring path so as to become the wiring path length within the allowable range when the determining unit 503 determines that it is outside the allowable range. Specifically, for example, the wiring path length of the longest wiring path I is adjusted by separating J′1 to J′n, which are a part of the longest wiring path I shown in FIG. It is good to do.

さらに、例えば、末端のJ’nを切り離した結果、最長配線経路Iの配線経路長が、仕様の回路特性を満たす配線経路長よりも短くなった場合には、最長配線経路Iの一部を所定の配線領域内の空き領域で迂回させて配線経路長を調整することとしてもよい。また、出力部504は、変更部505によって変更された変更後の最長配線経路を出力する機能を有する。   Furthermore, for example, when the wiring path length of the longest wiring path I becomes shorter than the wiring path length satisfying the specified circuit characteristics as a result of cutting off the terminal J′n, a part of the longest wiring path I is The wiring path length may be adjusted by making a detour in an empty area within a predetermined wiring area. The output unit 504 has a function of outputting the changed longest wiring path changed by the changing unit 505.

分割部506は、所定の配線領域を、障害物を含まない第1の配線領域と、障害物を含む第2の配線領域とに分割する機能を有する。これは、配線経路の配線経路長および巡回路の配線経路長を合わせた配線経路長と、実際の最長配線経路の配線経路長との誤差を低減させるためにおこなう。特に、大規模な配線領域を扱う場合に有効である。   The dividing unit 506 has a function of dividing a predetermined wiring area into a first wiring area that does not include an obstacle and a second wiring area that includes an obstacle. This is performed in order to reduce an error between the wiring path length obtained by combining the wiring path length of the wiring path and the wiring path length of the circuit and the actual wiring path length of the longest wiring path. This is particularly effective when handling a large wiring area.

具体的には、例えば、分割部506は、配線情報300に基づいて、所定の配線領域を区切る境界線に沿ってカットラインを設定することで、障害物を含まない第1の配線領域と、障害物を含む第2の配線領域とに分割する。このとき、例えば、障害物(配線禁止領域)を含まない領域ができる限り広くなるように所定の配線領域を分割することとしてもよい。   Specifically, for example, the dividing unit 506 sets a cut line along a boundary line that divides a predetermined wiring area based on the wiring information 300, and thereby includes a first wiring area that does not include an obstacle, Dividing into a second wiring region including an obstacle. At this time, for example, the predetermined wiring area may be divided so that the area not including the obstacle (wiring prohibited area) is as large as possible.

また、カットラインの設定位置は、例えば、配線禁止領域から1グリッド以上離した位置に設定することとしてもよい。どうしても配線禁止領域に接する位置にカットラインを設定しなければならない場合には、2つの配線禁止領域の間に配線可能領域が存在する状況が連続するのを回避することとしてもよい。   The cut line setting position may be set, for example, at a position one grid or more away from the wiring prohibited area. When the cut line must be set at a position in contact with the wiring prohibited area, it is possible to avoid a situation in which a routable area exists between the two wiring prohibited areas.

なお、配線領域上のカットラインの設定位置を表わすカットライン情報は、例えば、グリッドの座標位置によって表現することとしてもよい。このカットライン情報は、分割部506によって分割された結果、上記記憶部に記憶される。そして、カットライン情報を記憶部から読み出すことで、第1および第2の配線領域を認識することができる。   Note that the cut line information indicating the set position of the cut line on the wiring area may be expressed by, for example, the coordinate position of the grid. The cut line information is stored in the storage unit as a result of being divided by the dividing unit 506. Then, the first and second wiring regions can be recognized by reading the cut line information from the storage unit.

また、上記探索部501、算出部502および判定部503は、分割部506によって所定の配線領域が第1および第2の配線領域に分割された場合、第1および第2の配線領域ごとに、探索処理、算出処理および判定処理を実行することとなる。ここで、所定の配線領域内を第1および第2の配線領域に分割した場合の一連の処理の流れについて説明する。   In addition, when the predetermined wiring area is divided into the first and second wiring areas by the dividing unit 506, the search unit 501, the calculation unit 502, and the determination unit 503, for each of the first and second wiring areas, Search processing, calculation processing, and determination processing will be executed. Here, a flow of a series of processes when the predetermined wiring area is divided into the first and second wiring areas will be described.

図14は、分割時の一連の処理の流れを示す説明図である。図14において、配線領域1400が、カットラインCにより第1の配線領域1410と第2の配線領域1420とに分割されている。また、第1の配線領域1410内に配線経路1430が、第2の配線領域1420内に巡回路1440が探索済みである。   FIG. 14 is an explanatory diagram showing a flow of a series of processes at the time of division. In FIG. 14, a wiring region 1400 is divided into a first wiring region 1410 and a second wiring region 1420 by a cut line C. In addition, the wiring path 1430 has been searched for in the first wiring area 1410 and the circuit 1440 has been searched for in the second wiring area 1420.

ここでは、カットラインCに接する配線禁止領域(ラベルR16,R17,R19)の間に配線可能領域R15,R17が存在している。この場合、これら配線可能領域R15,R17を仮想端子V1,V2として扱うことで、配線経路1430と巡回路1440とを接続する。この結果、配線経路1450と巡回路1460,1470とが探索される。   Here, the wireable regions R15, R17 exist between the wire prohibited regions (labels R16, R17, R19) in contact with the cut line C. In this case, the wiring path 1430 and the circuit 1440 are connected by treating these routable areas R15 and R17 as virtual terminals V1 and V2. As a result, the wiring route 1450 and the circuit routes 1460 and 1470 are searched.

最後に、配線経路1450の一部と巡回路1460の一部と、巡回路1470の一部とを通過してソースSからターゲットTに辿り着くまでの最長配線経路1480を探索する。なお、最長配線経路1480が探索された結果、変更部505により、最長配線経路1480を仕様の回路特性を満たす配線経路長となるように変更することとしてもよい。   Finally, the longest wiring path 1480 from the source S to the target T through the part of the wiring path 1450, the part of the circuit 1460, and the part of the circuit 1470 is searched. Note that as a result of searching for the longest wiring path 1480, the changing unit 505 may change the longest wiring path 1480 so as to have a wiring path length that satisfies the circuit characteristics of the specification.

(設計支援装置の設計支援処理手順)
つぎに、本実施の形態にかかる設計支援装置100の設計支援処理手順について説明する。図15は、設計支援装置の設計支援処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、所定の配線領域に関する配線情報が入力されたか否かを判断する(ステップS1501)。
(Design support procedure of design support device)
Next, a design support processing procedure of the design support apparatus 100 according to the present embodiment will be described. FIG. 15 is a flowchart illustrating an example of a design support processing procedure of the design support apparatus. In the flowchart of FIG. 15, it is first determined whether or not wiring information related to a predetermined wiring area has been input (step S1501).

ここで、配線情報が入力されるのを待って(ステップS1501:No)、入力された場合(ステップS1501:Yes)、探索部501により、所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、所定の配線領域内でかつ該配線経路と非接続な巡回路とを探索する第1の探索処理を実行する(ステップS1502)。   Here, after waiting for the input of the wiring information (step S1501: No), if it is input (step S1501: Yes), the search unit 501 causes the first and second lines arranged in the predetermined wiring area. A first search process is performed to search for a wiring path that connects the terminals and a circuit that is in a predetermined wiring area and is not connected to the wiring path (step S1502).

このあと、算出部502により、ステップS1502において探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出する(ステップS1503)。そして、判定部503により、ステップS1503において算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する(ステップS1504)。   After that, the calculation unit 502 calculates a wiring path length that is the sum of the wiring path length of the wiring path searched in step S1502 and the wiring path length of the circuit (step S1503). Then, the determination unit 503 determines whether or not the wiring path length calculated in step S1503 is equal to or longer than the wiring path length satisfying the specified circuit characteristics (step S1504).

ここで、仕様の回路特性を満たす配線経路長以上であった場合(ステップS1504:Yes)、探索部501により、配線経路の一部と巡回路の一部とを通過して第1の端子から第2の端子に辿り着くまでの最長配線経路を探索する第2の探索処理を実行する(ステップS1505)。   Here, when the length is equal to or longer than the wiring path length satisfying the circuit characteristics of the specification (step S1504: Yes), the search unit 501 passes a part of the wiring path and a part of the circuit and starts from the first terminal. A second search process for searching for the longest wiring route to reach the second terminal is executed (step S1505).

このあと、算出部502により、ステップS1505において探索された最長配線経路の配線経路長を算出する(ステップS1506)。そして、判定部503により、ステップS1506において算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する(ステップS1507)。   Thereafter, the calculation unit 502 calculates the wiring path length of the longest wiring path searched in step S1505 (step S1506). Then, the determination unit 503 determines whether or not the wiring path length calculated in step S1506 is equal to or longer than the wiring path length satisfying the specified circuit characteristics (step S1507).

ここで、仕様の回路特性を満たす配線経路長以上であった場合(ステップS1507:Yes)、判定部503により、最長配線経路の配線経路長と、仕様の回路特性を満たす配線経路長との差分が予め設定された許容範囲内か否かを判定する(ステップS1508)。   If the length is equal to or longer than the wiring path length satisfying the specification circuit characteristics (step S1507: Yes), the determination unit 503 makes a difference between the wiring path length of the longest wiring path and the wiring path length satisfying the specification circuit characteristics. Is determined to be within a preset allowable range (step S1508).

ここで、許容範囲外だった場合(ステップS1508:No)、変更部505により、最長配線経路を許容範囲内の配線経路長となるように変更し(ステップS1509)、ステップS1508に戻る。一方、許容範囲内だった場合(ステップS1508:Yes)、出力部504により、最長配線経路を出力して(ステップS1510)、本フローチャートによる一連の処理を終了する。   Here, when it is outside the allowable range (step S1508: No), the changing unit 505 changes the longest wiring path so as to become the wiring path length within the allowable range (step S1509), and returns to step S1508. On the other hand, if it is within the allowable range (step S1508: Yes), the output unit 504 outputs the longest wiring path (step S1510), and the series of processes according to this flowchart ends.

また、ステップS1504において配線経路長未満であった場合(ステップS1504:No)、または、ステップS1507において配線経路長未満であった場合(ステップS1507:No)、出力部504により、仕様の回路特性を満たす配線経路長を満たすことができない旨のエラーメッセージを出力して(ステップS1511)、本フローチャートによる一連の処理を終了する。   If the wiring path length is shorter than the wiring path length in step S1504 (step S1504: No), or if the wiring path length is shorter than the wiring path length in step S1507 (step S1507: No), the output circuit 504 changes the circuit characteristics of the specification. An error message indicating that the wiring path length to be satisfied cannot be satisfied is output (step S1511), and the series of processing according to this flowchart is terminated.

つぎに、図15に示したステップS1502における第1の探索処理の具体的処理手順について説明する。図16は、第1の探索処理の具体的処理手順の一例を示すフローチャートである。これは、巡回路を含む最長経路探索問題を線形計画問題にモデル化した場合の一例である。   Next, a specific processing procedure of the first search process in step S1502 shown in FIG. 15 will be described. FIG. 16 is a flowchart illustrating an example of a specific processing procedure of the first search process. This is an example in which the longest path search problem including a cyclic route is modeled as a linear programming problem.

図16のフローチャートにおいて、まず、所定の配線領域内の各グリッドがノード化され、ノード間をつなぐ各エッジに変数が割り付けられたグラフを作成する(ステップS1601)。このあと、巡回路を含む最長経路探索問題を線形計画問題にモデル化することで、目的関数および制約式を求める(ステップS1602)。   In the flowchart of FIG. 16, first, a graph is created in which each grid in a predetermined wiring region is noded and variables are assigned to the edges connecting the nodes (step S1601). Thereafter, the objective function and the constraint equation are obtained by modeling the longest path search problem including the traveling circuit into a linear programming problem (step S1602).

そして、ステップS1602において求めた目的関数および制約式を線形計画ソルバに入力することで(ステップS1603)、所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、所定の配線領域内でかつ上記配線経路と非接続な巡回路とを決定し(ステップS1604)、図15に示したステップS1503に移行する。   Then, by inputting the objective function and the constraint equation obtained in step S1602 to the linear programming solver (step S1603), a wiring path connecting the first and second terminals arranged in the predetermined wiring area, and a predetermined Is determined in step S1604, and the process goes to step S1503 shown in FIG.

つぎに、図15に示したステップS1505における第2の探索処理の具体的処理手順について説明する。図17は、第2の探索処理の具体的処理手順の一例を示すフローチャートである。これは、Tsグラフ(例えば、Tsグラフ800)を用いて、最長配線経路を探索する場合の一例である。   Next, a specific processing procedure of the second search process in step S1505 shown in FIG. 15 will be described. FIG. 17 is a flowchart illustrating an example of a specific processing procedure of the second search process. This is an example of searching for the longest wiring route using a Ts graph (for example, Ts graph 800).

図17のフローチャートにおいて、まず、第1および第2の端子を接続する配線経路と巡回路とを繋ぎ換える際の接続可能ポイントが表現されたTsグラフを作成する(ステップS1701)。このあと、ステップS1701において作成されたTsグラフを用いて、上記配線経路を表わすノードと巡回路を表わすノードとの間を遷移する際に経由する接続ポイントの組み合わせごとのコストを算出する(ステップS1702)。   In the flowchart of FIG. 17, first, a Ts graph is created in which connectable points are expressed when the wiring path connecting the first and second terminals and the circuit are switched (step S1701). After that, using the Ts graph created in step S1701, the cost for each combination of connection points through which transition is made between the node representing the wiring path and the node representing the circuit is calculated (step S1702). ).

そして、ステップS1702において算出された組み合わせごとのコストに基づいて、上記配線経路の一部と巡回路の一部とを通過して第1の端子から第2の端子に辿り着くまでの最長配線経路を決定して(ステップS1703)、図15に示したステップS1506に移行する。   Then, based on the cost for each combination calculated in step S1702, the longest wiring path from the first terminal to the second terminal through a part of the wiring path and a part of the circuit Is determined (step S1703), and the process proceeds to step S1506 shown in FIG.

なお、図15に示したステップS1502において所定の配線領域内に複数の巡回路が探索された場合には、未探索の巡回路がなくなるまで、第1および第2の端子を接続する配線経路と隣接する巡回路から順にステップS1701〜ステップS1703の繰り返し実行することとなる。   When a plurality of tours are searched in the predetermined wiring area in step S1502 shown in FIG. 15, the wiring route connecting the first and second terminals until there is no unsearched tour Steps S <b> 1701 to S <b> 1703 are repeatedly executed in order from the adjacent circuit.

以上説明したように、本実施の形態によれば、探索困難な端子間の最長配線経路の換わりに、比較的に探索容易な端子間の任意の配線経路と巡回路とを合わせた最長配線経路候補を用いて、所定の配線領域における仕様の回路特性を満たす配線経路長の実現可能性を判定することができる。   As described above, according to the present embodiment, instead of the longest wiring path between terminals that are difficult to search, the longest wiring path that combines an arbitrary wiring path between terminals that are relatively easy to search and a cyclic circuit. Candidates can be used to determine the feasibility of a wiring path length that satisfies the specified circuit characteristics in a predetermined wiring region.

そして、仕様の回路特性を満たす配線経路長の実現可能な場合は、端子間の任意の配線経路と巡回路とを用いて、端子間の最長配線経路を探索することができる。さらに、仕様の回路特性を満たす配線経路長に従って最長配線経路を自動修正することで、所定の配線領域における仕様の回路特性を満たす配線経路長の配線を実現することができる。   When the wiring path length satisfying the specified circuit characteristics can be realized, the longest wiring path between the terminals can be searched by using an arbitrary wiring path between the terminals and the circuit. Furthermore, by automatically correcting the longest wiring path according to the wiring path length satisfying the specified circuit characteristics, it is possible to realize wiring having a wiring path length satisfying the specified circuit characteristics in a predetermined wiring region.

また、所定の配線領域を分割して対象となる配線領域を小さくすることで、実際の最長配線経路の配線経路長と、最長配線経路候補の配線経路長との誤差を低減させることができる。この結果、端子間の最長配線経路を精度よく探索でき、所定の配線領域における仕様の回路特性を満たす配線経路長の実現可能性を正確に判定することができる。   Further, by dividing a predetermined wiring area to reduce the target wiring area, an error between the actual wiring path length of the longest wiring path and the wiring path length of the longest wiring path candidate can be reduced. As a result, the longest wiring path between the terminals can be searched with high accuracy, and the feasibility of the wiring path length satisfying the specified circuit characteristics in the predetermined wiring region can be accurately determined.

このように、仕様の回路特性を満たす適切な配線をおこなうことで、無駄な配線リソースを削減し、設計対象回路の小型化を実現することができる。さらに、所定の配線領域における仕様の回路特性を満たす配線長の配線を自動化することにより、作業負担の軽減化および設計期間の短縮化を図ることができる。   In this way, by performing appropriate wiring satisfying the circuit characteristics of the specification, it is possible to reduce useless wiring resources and reduce the size of the circuit to be designed. Furthermore, by automating wiring having a wiring length that satisfies the circuit characteristics of the specification in a predetermined wiring region, it is possible to reduce the work burden and shorten the design period.

なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、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. The program may be a transmission medium that can be distributed via a network such as the Internet.

また、本実施の形態で説明した設計支援装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した設計支援装置100の機能501〜506をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置100を製造することができる。   In addition, the design support apparatus 100 described in the present embodiment includes an application-specific IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable) such as an FPGA. It can also be realized by Logic Device). Specifically, for example, the design support apparatus 100 is manufactured by defining the functions 501 to 506 of the above-described design support apparatus 100 by HDL description, logically synthesizing the HDL description and giving it to the ASIC or PLD. Can do.

本実施の形態にかかる設計支援装置のハードウェア構成を示す説明図である。It is explanatory drawing which shows the hardware constitutions of the design support apparatus concerning this Embodiment. 配線領域の具体例を示す説明図である。It is explanatory drawing which shows the specific example of a wiring area | region. 配線情報のデータ構造を示す説明図である。It is explanatory drawing which shows the data structure of wiring information. 座標テーブルの記憶内容を示す説明図である。It is explanatory drawing which shows the memory content of a coordinate table. 設計支援装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a design support apparatus. 第1の探索処理の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of a 1st search process. 第1の探索処理の探索結果の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the search result of a 1st search process. 第2の探索処理の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of a 2nd search process. グラフ情報のデータ構造を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the data structure of graph information. グラフ情報のデータ構造を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the data structure of graph information. 第2の探索処理の探索結果の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the search result of a 2nd search process. 複数の巡回路の一部を通過する最長配線経路の一例を示す説明図である。It is explanatory drawing which shows an example of the longest wiring path | route which passes through a part of some cyclic circuit. 探索結果の出力例を示す説明図である。It is explanatory drawing which shows the example of an output of a search result. 分割時の一連の処理の流れを示す説明図である。It is explanatory drawing which shows the flow of a series of processes at the time of a division | segmentation. 設計支援装置の設計支援処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the design support process sequence of a design support apparatus. 第1の探索処理の具体的処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the specific process sequence of a 1st search process. 第2の探索処理の具体的処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the specific process sequence of a 2nd search process.

符号の説明Explanation of symbols

100 設計支援装置
200,600 配線領域
300 配線情報
400 座標テーブル
501 探索部
502 算出部
503 判定部
504 出力部
505 変更部
506 分割部
DESCRIPTION OF SYMBOLS 100 Design support apparatus 200,600 Wiring area 300 Wiring information 400 Coordinate table 501 Search part 502 Calculation part 503 Determination part 504 Output part 505 Change part 506 Dividing part

Claims (8)

コンピュータを、
所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、前記所定の配線領域内でかつ前記配線経路と非接続な巡回路とを探索する探索手段、
前記探索手段によって探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出する算出手段、
前記算出手段によって算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する判定手段、
前記判定手段によって判定された判定結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
Computer
Search means for searching for a wiring path connecting the first and second terminals arranged in the predetermined wiring area, and a circuit in the predetermined wiring area and not connected to the wiring path;
Calculating means for calculating a wiring path length that combines the wiring path length of the wiring path searched by the searching means and the wiring path length of the circuit;
Determining means for determining whether or not the wiring path length calculated by the calculating means is equal to or longer than a wiring path length satisfying a specified circuit characteristic;
Output means for outputting the determination result determined by the determination means;
Design support program characterized by functioning as
前記探索手段は、
前記判定手段によって配線経路長以上と判定された場合、前記配線経路の一部と前記巡回路の一部とを通過して前記第1の端子から前記第2の端子に辿り着くまでの最長配線経路を探索し、
前記出力手段は、
前記探索手段によって探索された最長配線経路を出力することを特徴とする請求項1に記載の設計支援プログラム。
The search means includes
When the determination means determines that the length is equal to or longer than the wiring path length, the longest wiring from the first terminal to the second terminal after passing through a part of the wiring path and a part of the circuit Explore the route,
The output means includes
2. The design support program according to claim 1, wherein the longest wiring route searched by the search means is output.
前記算出手段は、
前記探索手段によって探索された最長配線経路の配線経路長を算出し、
前記判定手段は、
前記算出手段によって算出された最長配線経路の配線経路長が、前記仕様の回路特性を満たす配線経路長以上か否かを判定することを特徴とする請求項2に記載の設計支援プログラム。
The calculating means includes
Calculating the wiring path length of the longest wiring path searched by the search means;
The determination means includes
The design support program according to claim 2, wherein it is determined whether or not a wiring path length of the longest wiring path calculated by the calculating unit is equal to or longer than a wiring path length satisfying the circuit characteristics of the specification.
前記コンピュータを、
前記最長配線経路を変更する変更手段として機能させ、
前記判定手段は、
前記最長配線経路の配線経路長と、前記仕様の回路特性を満たす配線経路長との差分が予め設定された許容範囲内か否かを判定し、
前記変更手段は、
前記判定手段によって許容範囲外と判定された場合、前記最長配線経路を前記許容範囲内の配線経路長となるように変更し、
前記出力手段は、
前記変更手段によって変更された変更後の最長配線経路を出力することを特徴とする請求項3に記載の設計支援プログラム。
The computer,
Function as a changing means for changing the longest wiring path,
The determination means includes
Determining whether the difference between the wiring path length of the longest wiring path and the wiring path length satisfying the circuit characteristics of the specification is within a preset allowable range;
The changing means is
When it is determined that the determination means is outside the allowable range, the longest wiring path is changed to be the wiring path length within the allowable range,
The output means includes
The design support program according to claim 3, wherein the longest wiring route after the change changed by the changing unit is output.
前記コンピュータを、
前記所定の配線領域を、障害物を含まない第1の配線領域と、障害物を含む第2の配線領域とに分割する分割手段として機能させ、
前記コンピュータに、
前記分割手段によって分割された第1および第2の配線領域ごとに、前記探索手段、前記算出手段および前記判定手段による処理を実行させることを特徴とする請求項2〜4のいずれか一つに記載の設計支援プログラム。
The computer,
Functioning as a dividing means for dividing the predetermined wiring area into a first wiring area that does not include an obstacle and a second wiring area that includes an obstacle;
In the computer,
The process by the search means, the calculation means, and the determination means is executed for each of the first and second wiring areas divided by the division means. The described design support program.
前記探索手段は、
前記第1および第2の配線領域ごとに、前記探索手段、前記算出手段および前記判定手段による処理が実行された結果、前記第1の配線領域内の第1の最長配線経路の一部と前記第2の配線領域内の第2の最長配線経路の一部とを通過して前記第1の端子から前記第2の端子に辿り着くまでの最長配線経路を探索することを特徴とする請求項5に記載の設計支援プログラム。
The search means includes
As a result of executing the processing by the search means, the calculation means, and the determination means for each of the first and second wiring areas, a part of the first longest wiring path in the first wiring area and the The longest wiring path from the first terminal to the second terminal through a part of the second longest wiring path in the second wiring region is searched for. 5. The design support program according to 5.
所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、前記所定の配線領域内でかつ前記配線経路と非接続な巡回路とを探索する探索手段と、
前記探索手段によって探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出する算出手段と、
前記算出手段によって算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する判定手段と、
前記判定手段によって判定された判定結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
Search means for searching for a wiring path connecting the first and second terminals arranged in the predetermined wiring area, and a circuit in the predetermined wiring area and not connected to the wiring path;
Calculating means for calculating a wiring path length combining the wiring path length of the wiring path searched by the searching means and the wiring path length of the circuit;
Determining means for determining whether or not the wiring path length calculated by the calculating means is equal to or longer than a wiring path length satisfying a specified circuit characteristic;
Output means for outputting the determination result determined by the determination means;
A design support apparatus comprising:
所定の配線領域内に配置された第1および第2の端子を接続する配線経路と、前記所定の配線領域内でかつ前記配線経路と非接続な巡回路とを探索する探索工程と、
前記探索工程によって探索された配線経路の配線経路長と巡回路の配線経路長とを合わせた配線経路長を算出する算出工程と、
前記算出工程によって算出された配線経路長が、仕様の回路特性を満たす配線経路長以上か否かを判定する判定工程と、
前記判定工程によって判定された判定結果を出力する出力工程と、
を含んだことを特徴とする設計支援方法。
A search step for searching for a wiring path that connects the first and second terminals arranged in a predetermined wiring area, and a circuit that is not connected to the wiring path in the predetermined wiring area;
A calculation step of calculating a wiring route length that combines the wiring route length of the wiring route searched by the searching step and the wiring route length of the circuit;
A determination step of determining whether or not the wiring path length calculated by the calculation step is equal to or longer than a wiring path length satisfying a specified circuit characteristic;
An output step for outputting the determination result determined by the determination step;
The design support method characterized by including.
JP2008024234A 2008-02-04 2008-02-04 Design support program, recording medium storing the program, design support apparatus, and design support method Active JP4676995B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008024234A JP4676995B2 (en) 2008-02-04 2008-02-04 Design support program, recording medium storing the program, design support apparatus, and design support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008024234A JP4676995B2 (en) 2008-02-04 2008-02-04 Design support program, recording medium storing the program, design support apparatus, and design support method

Publications (2)

Publication Number Publication Date
JP2009187121A JP2009187121A (en) 2009-08-20
JP4676995B2 true JP4676995B2 (en) 2011-04-27

Family

ID=41070323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008024234A Active JP4676995B2 (en) 2008-02-04 2008-02-04 Design support program, recording medium storing the program, design support apparatus, and design support method

Country Status (1)

Country Link
JP (1) JP4676995B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271661A (en) * 1987-04-30 1988-11-09 Nec Corp Search device for wiring path
JPH06124322A (en) * 1992-10-12 1994-05-06 Fujitsu Ltd Wiring method for equal-length specified network
JP2006278847A (en) * 2005-03-30 2006-10-12 Seiko Epson Corp Equal-length wiring structure, and recording device, and electronic device having same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271661A (en) * 1987-04-30 1988-11-09 Nec Corp Search device for wiring path
JPH06124322A (en) * 1992-10-12 1994-05-06 Fujitsu Ltd Wiring method for equal-length specified network
JP2006278847A (en) * 2005-03-30 2006-10-12 Seiko Epson Corp Equal-length wiring structure, and recording device, and electronic device having same

Also Published As

Publication number Publication date
JP2009187121A (en) 2009-08-20

Similar Documents

Publication Publication Date Title
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
JP6668182B2 (en) Circuit design apparatus and circuit design method using the same
KR100459731B1 (en) Device and method for generating selective netlist having interconnection influence for the simulation of semiconductor integrated circuit
JP4783658B2 (en) Verification support device, verification support method, verification support program, and recording medium
US8930869B2 (en) Method, program, and apparatus for aiding wiring design
JP2627512B2 (en) Network diagram creation device
JP2007122589A (en) Mixed signal circuit simulator
JP2018073228A (en) Cable wiring program, information processing device, and cable wiring method
JP5634374B2 (en) Specification creation support device and program
US10558781B2 (en) Support apparatus, design support method, and design support program
JP4437824B2 (en) Delay analysis result display program
JP4676995B2 (en) Design support program, recording medium storing the program, design support apparatus, and design support method
JP6511793B2 (en) Test case generation program, test case generation method and test case generation apparatus
JP4998150B2 (en) Floor plan editing device for semiconductor integrated circuits
JP5125385B2 (en) Verification scenario creation program, recording medium recording the program, verification scenario creation device, and verification scenario creation method
JP2008146300A (en) Information processor, information processing method and program
JP5136371B2 (en) Design support method
JP4985323B2 (en) Layout support program, recording medium storing the program, layout support apparatus, and layout support method
US10839119B2 (en) Bus wiring searching method and information processing apparatus
JP2005242812A (en) Circuit design support system, circuit design support method, and program
JP6924168B2 (en) KPI tree creation support system and KPI tree creation support method
JP4733059B2 (en) Integrated circuit design apparatus, integrated circuit design method, and integrated circuit design program
JP2008299423A (en) Information processor and information processing program
JP6398729B2 (en) Design support apparatus and design support method
WO2021024791A1 (en) Design assistance system and design assistance method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110112

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: 20110118

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: 20110128

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4676995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150