JP5900540B2 - Layout design method and layout design support program - Google Patents

Layout design method and layout design support program Download PDF

Info

Publication number
JP5900540B2
JP5900540B2 JP2014130791A JP2014130791A JP5900540B2 JP 5900540 B2 JP5900540 B2 JP 5900540B2 JP 2014130791 A JP2014130791 A JP 2014130791A JP 2014130791 A JP2014130791 A JP 2014130791A JP 5900540 B2 JP5900540 B2 JP 5900540B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
wiring
boundary
module
step
layout design
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
JP2014130791A
Other languages
Japanese (ja)
Other versions
JP2014170595A (en )
Inventor
良一 山下
良一 山下
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Description

本発明は、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計に関する。 The present invention, the arrangement of the cells constituting a semiconductor integrated circuit and a layout design for determining the wiring.

CPUなどのように高い周波数での動作を要求される大規模半導体集積回路(LSI:Large Scale Integrated−circuit)の設計には、多くの工程が存在する。 Large Scale Integrated circuitry required to operate at high frequencies, such as CPU: The (LSI Large Scale Integrated-circuit) design, a number of processes exist. 近年は、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大により、LSI全体を扱うレイアウト設計は困難な状況となっている。 Recently, miniaturization by advances in processing technology, and the increase of the circuit scale due to its miniaturization, layout design to handle the entire LSI has become difficult situation. このためレイアウト設計は、全体を複数のモジュールに分割し、モジュール毎に並行して進める形態をとるのが普通となっている。 Therefore layout design is to divide the whole into a plurality of modules, that take the form proceed in parallel for each module has a plain.

レイアウト設計の初期段階では、モジュールの詳細は決定されていない。 In the initial stage of layout design, module descriptions not been determined. このことから通常、回路規模、大まかな信号の流れ等を予め考慮して人手によりフロアプランが作成され、各モジュールの概略位置、及び形状が決定される。 Usually this reason, the circuit scale, a floor plan is created manually in advance considering the flow, etc. of the rough signal, the approximate position of each module, and shape are determined. フロアプランでは他に、モジュールのインターフェースとなるモジュールの外部端子(モジュール端子)の位置が決定される。 The other the floor plan, the position of the external terminals of the module as the module interface (module terminals) is determined. そのモジュール端子は、モジュール間の接続用、或いはチップの外部端子となる。 The module terminal, for connection between the modules, or the external terminals of the chip.

モジュールに分割してレイアウト設計を進める設計方法を採用した場合、モジュール端子の位置を最適化するために見直しが必要となる。 When employing the design method is divided into modules proceed layout design review is required in order to optimize the position of the module terminal. その最適化を行う方法としては、決定した経路から算出した配線長と、モジュール端子間の距離から推定した配線長との差が大きい配線を対象に再度の最適化を実施する、予め概略経路を決定し、実際に設定する経路を概略経路内に制限する、などが知られている。 As a method of performing the optimization, the wiring length calculated from the determined route, performing a re-optimization targeting large difference wiring to the wiring length estimated from the distance between the module terminals, the pre schematic route determined, actually restrict the route to be set in the general path, and the like are known.

高速動作や加工の微細化は、信号の配線遅延の影響を深刻にさせている。 Speed ​​operation and processing finer is to serious influence of the signal wiring delay. また、平行する2つの配線間に生じる配線間容量であるカップリング容量の存在により、一方を流れる信号の変化が他方に起電力を誘起させることにより、クロストークノイズを発生させる。 Moreover, the presence of a coupling capacitor is a wiring capacitance occurring between the two wires in parallel, by a change of a signal flowing through the one of to induce an electromotive force in the other, to generate a crosstalk noise. そのクロストークノイズは、遅延増や誤動作といった不具合を引き起こすことが知られている。 The crosstalk noise has been known to cause problems such as delay, up or malfunction. このようなことから近年では、レイアウト設計の初期段階でも不具合の発生を考慮した設計が求められるようになっている。 Such in recent years because it has been required to design in consideration of the occurrence of a problem in the early stages of layout design.

クロストークノイズへの対策としては、配線の間隔をより広くするといったことが行われる。 As a countermeasure to the crosstalk noise, it is made such a wiring interval wider. 配線がモジュール端子と接続されている場合、モジュール端子の配置も合わせて変更するのが普通である。 If the wiring is connected to the module terminals, it is usually modified to suit also arranged in the module terminals.

ここで、半導体集積装置を複数のモジュールに分割してのレイアウト設計を支援する従来のレイアウト設計支援装置について、図1に示す機能構成図を参照して具体的に説明する。 Here, a conventional layout design support apparatus for supporting a layout design of dividing the semiconductor integrated device into a plurality of modules will be specifically described with reference to the functional block diagram shown in FIG.

この従来のレイアウト設計支援装置は、論理設計された半導体集積回路、例えばネットリストを入力し、フロアプラン設計により半導体集積回路を複数のモジュールに分解し、モジュール毎にセルの配置、及び配線を決定する詳細(実装)設計を支援する。 The conventional layout design support apparatus, a semiconductor integrated circuit logic design, for example, enter the netlist to decompose the semiconductor integrated circuit into a plurality of modules by floorplan design, arrangement of the cells in each module, and determines the wire to support the details (implementation) designed to be. このために、モジュール形状決定部11、概略配線部12、端子位置調整部13、モジュール分割部14、及び詳細設計部15を備えている。 For this, the module shape determination unit 11, a schematic wiring section 12, the terminal position adjusting section 13, and a module division unit 14, and the detailed design portion 15.

モジュール形状決定部11は、設計者の指示に従い、半導体集積回路を分割するモジュールの形状、配置を決定するフロアプランを行う。 Module shape determination unit 11 in accordance with an instruction of the designer performs floor plan for determining the shape of the module for dividing the semiconductor integrated circuit, the arrangement. モジュールは半導体集積回路の一部分であり、モジュール間では論理設計によって定められた信号の授受が行われる。 Module is a portion of a semiconductor integrated circuit, the inter-module transfer of signals defined by the logical design is performed. 授受すべき信号は、モジュールへの機能の割り当てに伴って自動的に決まる。 Signal to be exchanged is automatically determined in accordance with the assignment of functions to the module. 概略配線部12は、モジュール間で信号を授受するための概略配線を決定する。 Schematic wiring section 12 determines the schematic wiring for exchanging signals between modules. 端子位置調整部13は、概略配線の決定によって配置範囲が制限されるモジュール端子の位置を調整(変更)する。 Terminal position adjusting section 13, adjusts the position of the module pin placement range by determination of the rough wiring is limited (modified) to. モジュール分割部14は、フロアプラン結果に従って、半導体集積回路を複数のモジュールに分割する。 Module division unit 14 in accordance with the floor plan result, divides the semiconductor integrated circuit into a plurality of modules.

図1では、半導体集積回路を3つのモジュールに分割したことにより、3つのモジュールデータD1が生成されたことを表している。 In Figure 1, by dividing the semiconductor integrated circuit into three modules, it indicates that the three modules data D1 is generated. そのモジュールデータD1は、対応するモジュール分のネットリスト、各モジュール端子の配置を示す配置情報、及びモジュールの形状や配置を示す配置情報を含んでいる。 The module data D1 includes netlist corresponding module content, layout information indicating the layout of each module terminals, and location information indicating a shape and arrangement of the modules.

詳細設計部15は、モジュールデータD1毎に、データD1が示す各セルの配置、及び配線を決定する詳細設計を行う。 Detailed design unit 15, performed for each module the data D1, the arrangement of each cell data D1 indicates, and a detailed design for determining the wiring. 各設計結果はモジュールデータD2として出力される。 Each design result is output as a module data D2. このデータD2は、例えばモジュールデータD1に、セル毎に配置を示す配置情報、配線毎に経路を示す配線情報等を加えたものである。 The data D2, for example the module data D1, is obtained by adding arrangement information showing the arrangement for each cell, the wiring information indicating a path for each wire. 1配線分の配線情報は、配線が接続するセルのピン、ピン間の経路、などを示すものである。 Wiring information of first interconnection component is a pin of a cell line are connected, the route between the pins, indicating the.

図2は、モジュール分割例を示す図である。 Figure 2 is a diagram illustrating the module division example. この分割例は、半導体集積回路30を4つのモジュール31〜34に分割した場合のものであり、図2ではモジュールは「BLOCK」と表記している。 The split embodiment is of a case of dividing the semiconductor integrated circuit 30 to the four modules 31 - 34, FIG. 2 module is described as "BLOCK".

図2に示すモジュール32は、配置、及び配線が決定した後のものである。 Module 32 shown in FIG. 2, the arrangement, and those after the wire has been determined. 「CL」を付してハッチングした矩形はセル、「ST」を付した矩形は、セルCLがまとめて配置された領域であるサイトをそれぞれ示している。 Rectangle hatched assigned the "CL" cell, rectangle marked with "ST" indicates cell CL is collectively arranged region at which sites, respectively. 異なるサイトSTに存在するセルCLを結ぶ実線は、配線を示している。 The solid line connecting the cells CL in a different site ST shows a wiring.

図3は、別のモジュール分割例を示す図である。 Figure 3 is a diagram illustrating another module division example. この分割例は、半導体集積回路40を2つのモジュール41及び42に分割した場合のものである。 This division example is the case of dividing the semiconductor integrated circuit 40 to the two modules 41 and 42. この図3でもモジュールは「BLOCK」と表記している。 This also in FIG. 3 module is referred to as "BLOCK". モジュール41及び42を分ける実線は境界を示している。 The solid line separating the modules 41 and 42 show the boundary.

モジュール41では、セルはモジュール42との境界から比較的に離れた位置に配置し、モジュール42でも同様に、その境界から比較的に離れた位置に配置している。 In module 41, the cell is placed in a relatively distant position from the boundary between the module 42, similarly in module 42, are arranged in relatively distant from the boundary. そのようにして、境界の直交方向上、その境界を挟む形で隣接するセルCL間の距離はより大きくなるようにしている。 As such, the orthogonal direction improvement boundaries, the distance between cells CL adjacent in a manner sandwiching the boundary is set to be larger. これは、そのセル間を、互いの配線等が他のモジュールに影響させない緩衝領域とするためである。 This between the cell is to a buffer area or the like mutual wiring does not affect other modules.

特開平8−44784号公報 JP 8-44784 discloses 特開2003−30266号公報 JP 2003-30266 JP 特開2002−215704号公報 JP 2002-215704 JP 特開平10−116910号公報 JP 10-116910 discloses 特開2001−093980号公報 JP 2001-093980 JP 特開平04−113473号公報 JP 04-113473 discloses

フロアプランを行うことにより、希望するチップ面積に全ての機能を実現できるか否か確認することができる。 By performing floorplan, it can be confirmed whether or not can realize all functions in the chip area desired. 無駄な領域が生じそうな場合には、無駄な領域を削減することができる。 When wasted space is likely to occur can be reduced wasted space. このようなことから従来、フロアプランはチップ面積を最小化することを重視して行われている。 Conventionally this reason, the floor plan is done with an emphasis on minimizing the chip area. チップ面積を最小化することにより、1枚の半導体ウェハーから採取できるチップの数が増大し、生産性が向上するからである。 By minimizing the chip area, increase the number of chips that can be collected from one semiconductor wafer, because the productivity is improved.

しかし、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大は、セルの配置や配線を決定する詳細設計の実施に大きな影響を及ぼしている。 However, miniaturization by advances in processing technology, and increase of the circuit scale due to its miniaturization has a significant impact on the implementation of detailed design to determine the placement and wiring of the cell. 具体的には、回路規模の増大は、詳細設計の実施に要する処理時間をより長くしている。 Specifically, increase in the circuit scale, and longer processing time required for implementation of the detailed design. 加工の微細化は、最適な配線をより困難にしている。 Miniaturization of processing is more difficult to optimum wiring. 最適な配線を行うためには、モジュール端子の配置をより適切に決定することが必要である。 For optimal wiring, it is necessary to more appropriately determine the placement of the module terminal. このようなことから、詳細設計の前段階において、詳細設計をより考慮した設計を行うべきと考えられる。 For this reason, in the previous stage of the detailed design, believed to be the design of a more consideration of the detailed design.

本発明は、レイアウトの詳細設計をより適切に実施できるようにするための技術を提供することを目的とする。 The present invention aims to provide a technique for enabling better implement the detailed design of the layout.

1つの案では、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、コンピュータに、以下の工程を実行させる。 In one scheme, the arrangement of the cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring, the computer to perform the following steps.
(1)半導体集積回路を分割する境界を設定する第1の工程。 (1) a first step of setting the boundary for dividing the semiconductor integrated circuit.
(2)第1の工程で設定した境界を通る配線が存在する場合に、その配線によって接続される2つのピン間の間隔に基づいて、配線用に境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、優先度に従って配線毎にモジュール端子の位置を割り当てる第2の工程。 (2) when the wire through the boundaries set by the first step is present, based on the interval between two pins connected by the wiring, assigns the position of the module terminals arranged on the boundary to the wire determining the priority of the above, a second step of assigning the position of the module terminal for each wire according to the priority.
(3)境界に沿った半導体集積回路の分割により得られるモジュール毎に、モジュール端子に割り当てられた位置を用いてセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程。 (3) for each module obtained by dividing the semiconductor integrated circuit along the boundary, the arrangement of the cell using the position assigned to the module terminal, and a third step of performing a detailed design of the layout to determine the wiring.

セルは、半導体集積回路の構成要素のことであり、過去の設計資産である機能ブロックも含まれる。 Cells is that the components of the semiconductor integrated circuit includes a function block in the past design resources.

実施形態によれば、レイアウトの詳細設計をより適切に実施できるようになる。 According to the embodiment, it can be more appropriately carried out detailed design of the layout.

従来のレイアウト設計支援装置の機能構成図である。 It is a functional block diagram of a conventional layout design support apparatus. モジュール分割例を示す図である。 It is a diagram illustrating a module divided examples. 別のモジュール分割例を示す図である。 It illustrates another module division example. 本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。 Is a diagram showing a schematic flow of layout design can be realized by applying the present embodiment. 本実施形態によるレイアウト設計支援装置の機能構成図である。 It is a functional block diagram of a layout design support system according to the present embodiment. モジュールの分割方法の説明図である。 It is an explanatory view of a method of dividing a module. ブロックに分割する境界の設定方法の説明図である。 It is an explanatory view of a method of setting the boundary for dividing into blocks. ブロック間の接続用に配置するブロック(モジュール)端子の説明図である。 It is an illustration of a block (module) terminals arranged for connection between the blocks. マッピングされる配置禁止範囲の説明図である(その1)。 Is an explanatory view of mapped are arranged prohibited range (Part 1). マッピングされる配置禁止範囲の説明図である(その2) Is an explanatory view of mapped are arranged prohibited range (Part 2) 境界を通過する配線の区間を設定する方法の説明図である。 It is an explanatory view of a method for setting a section of the wire passing through the boundary. 配線長の予測方法の説明図である。 It is an explanatory view of a method of predicting the wiring length. 端子位置制御表の内容例を示す図である。 Is a diagram showing an example of the terminal position control table. ブロック端子の配置例の説明図である。 It is an explanatory view of an arrangement example of the block terminals. 禁止マッピング処理のフローチャートである。 It is a flowchart of a prohibition mapping process. セル禁止設定処理のフローチャートである。 It is a flowchart of a cell prohibition setting process. ワイヤ・ビア禁止設定処理のフローチャートである。 It is a flowchart of the wire via prohibition setting process. ネット(Net)区間長算出処理のフローチャートである。 It is a flow chart of the net (Net) section length calculation process. 端子位置割当処理のフローチャートである。 It is a flowchart of a terminal position assignment process. 本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。 Is a diagram illustrating an example of a hardware configuration of a computer applicable to the present invention.

以下、本実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, the present embodiment will be described in detail with reference to the drawings.
図4は、本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。 Figure 4 is a diagram showing a schematic flow of layout design can be realized by applying the present embodiment.

本実施形態では、図4に示すように、半導体集積回路を複数のモジュールに分割するフロアプランを行う工程P1、フロアプランにより分割されたモジュール毎に、モジュールをより小さいモジュール(以降「サブモジュール」)に分割する工程P2、サブモジュール間の接続用のモジュール端子の位置を決定する工程P3、サブモジュール毎にセルの配置を決定する工程P4、セル間を結ぶ配線を決定する工程P5を経て、半導体集積回路を製造するための製造データを作成する工程P6を実施するようになっている。 In the present embodiment, as shown in FIG. 4, step P1 performs floor plan for dividing the semiconductor integrated circuit into a plurality of modules, each module divided by floorplan, smaller module (hereinafter the module "submodule" ) step is divided into P2, step P3 to determine the position of the module terminal for connection between the sub-modules, process determines the arrangement of the cells in each sub-module P4, through a process P5 for determining the wiring connecting the cells, It adapted to perform the step P6 to create manufacturing data for manufacturing a semiconductor integrated circuit. 実際には、工程P1〜P5は判明した不具合や設計変更等への対応のために随時、繰り返し実施される。 In fact, the process P1~P5 from time to time for the corresponding to the found nonconformity and design changes and the like, are repeatedly performed.

工程P4及びP5は、詳細設計として実施される。 Step P4 and P5 are carried out as detailed design. 本実施形態では、フロアプランにより得られたモジュールを更にサブモジュールに分割し、詳細設計を実施する。 In this embodiment, further divided into sub-modules module obtained by floorplan, to implement the detailed design. 配線の決定に要する処理時間はセル(セルに設けられたピン)が多くなる程、指数関数的に増大する。 Processing time required for determination of the wiring extent that cell (pin provided in the cell) increases, increases exponentially. このため、サブモジュールに分割することにより、配線の決定はより短い処理時間で行うことができるようになる。 Therefore, by dividing the sub-module, the determination of wiring becomes possible to carry out in a shorter processing time. サブモジュールへの分割、その分割に伴い実施するモジュール端子の位置決定を行っても、全体の処理時間は大幅に短縮される。 Division into sub-modules, even if the positioning of the module terminal to implement due to the division, the total processing time is significantly reduced. ここでのセルとは、論理設計された半導体集積回路の構成要素の総称であり、過去の設計資産である機能ブロック(IP:Intellectual Property)等も含んでいる。 The cell here is a generic term for components of a semiconductor integrated circuit logic design, functions in the past design resources blocks (IP: Intellectual Property) or the like also include a.

図5は、本実施形態によるレイアウト設計支援装置の機能構成図である。 Figure 5 is a functional block diagram of a layout design support system according to the present embodiment. このレイアウト設計支援装置(以降「支援装置」と略記)は、フロアプラン結果、つまり論理設計された半導体集積回路(LSI)を分割して得られるモジュールを対象にしたレイアウト設計を支援する装置として実現されている。 The layout design support device (hereinafter abbreviated as "support device") is a floor plan result, realized as an apparatus for supporting a layout design that is targeted at the module obtained by dividing the logical design semiconductor integrated circuit (LSI) It is. そのレイアウト設計を支援するために、領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、モジュール分割部58、サブモジュール詳細設計部59、及びフラット化処理部60を備えている。 To assist the layout design, the area dividing unit 51, the already wiring terminal section 52, prohibits the mapping unit 53, the terminal side setting unit 54, the wiring length prediction unit 55, assignment order determination unit 56, the terminal allocation unit 57, the module dividing unit 58, a sub-module detailed design unit 59, and the flattening unit 60.

図5中のフラットデータD10は、1モジュール分のデータであり、例えば図1に示す3つのモジュールデータD1のうちの一つに相当する。 FIG flat data D10 of 5 is the data of one module component, corresponding to one of the three modules data D1 shown in FIG. 1, for example. 領域分割部51は、設計者の指示により、フラットデータD10が示すモジュールを更に複数のより小さいサブモジュールに分割する。 Region dividing unit 51, an instruction of the designer, to divide the module indicated by the flat data D10 further into a plurality of smaller sub-modules. ここでは、更に分割したサブモジュールを「ブロック」とも呼ぶことにする。 Here, further sub-modules divided is also referred to as a "block".

図6は、モジュールの分割方法の説明図である。 Figure 6 is an explanatory view of a method of dividing a module. 図6に示す例では、モジュール80を2つのブロック81及び82に分割する様子を示している。 In the example shown in FIG. 6, it shows how to divide the module 80 into two blocks 81 and 82.

図7は、ブロックに分割する境界の設定方法の説明図である。 7 is an explanatory view of a method of setting the boundary for dividing into blocks. 図7に示す「+」は、配置及び配線の最小ピッチ間隔を表す基本単位となるグリッド(GRID)点を示している。 7 "+" indicates a grid (GRID) point as a basic unit that represents the minimum pitch of the arrangement and wiring. 図7の左側は、従来の境界の設定方法を示し、図7の右側は、本実施形態における境界の設定方法を示している。 Left side of FIG. 7 shows a setting method of a conventional boundary, the right side of FIG. 7 illustrates a method of setting boundaries in the present embodiment.

従来は、図7の左側に示すように、境界を示す境界線BL1は隣接するグリッド点を通る直線で設定する。 Conventionally, as shown on the left side of FIG. 7, the boundary line BL1 indicating the boundary is set by a straight line passing through the grid points adjacent. これに対し本実施形態では、隣接するグリッド点を通らない直線も境界線BL2として扱う。 In contrast, in the present embodiment, even a straight line not passing adjacent grid points is treated as a boundary line BL2. このため、横方向上の境界の位置は横方向に隣接するグリッド点間となっている。 Therefore, the position of the boundary on the horizontal direction is an inter-grid points adjacent to the lateral direction. このようにグリッド点間に境界を設定するのは以下のような理由からである。 Is the following reasons to demarcate this way between grid points.

グリッド点は、配線の基本単位であることから、経路は隣接するグリッド点を通る直線の組み合わせとして決定される。 Grid point, since the basic unit of wiring path is determined as a combination of a straight line passing through the grid points adjacent. このため、隣接するグリッド点を通る直線のみで境界を設定した場合、経路として用いることが可能なグリッド点の数が少なくなる。 Therefore, if you set the boundaries only straight line passing through the adjacent grid points, the number of possible grid points be used as the route is reduced. そのグリッド点の数の低下は、図3に示すような緩衝領域を新たに設ける、つまり緩衝領域分のグリッド点を追加すれば回避することができる。 Reduction in the number of grid points is newly provided a buffer region as shown in FIG. 3, i.e. it is possible to avoid by adding a grid point of the buffer area fraction. しかし、緩衝領域を新たに設けることは、フロアプラン結果をそのまま用いることができないことを意味する。 However, the newly provided a buffer region means that it can not be used as it floorplan results. 従って、データの表現、或いは管理が煩雑化することになる。 Thus, representations of the data, or the management will be complicated.

一方、隣接するグリッド点間に境界を設定した場合、経路として用いることができなくなるグリッド点が生じること自体、回避することが可能となる。 On the other hand, if you set the boundaries between adjacent grid points, itself of grid points that can not be used as a path occurs, it is possible to avoid. フロアプラン結果はそのまま用いることができる。 Floorplan results can be used as it is. このようなことから、隣接するグリッド点間に境界を設定するようにしている。 For this reason, and to set the boundaries between adjacent grid points.

図7の右側では、境界線BL2の横方向に延びる部分は隣接するグリッド点間を通る直線となっている。 On the right side of FIG. 7, laterally extending portion of the boundary line BL2 is a straight line passing between adjacent grid points. これは、その部分を境界とする1ブロック、或いはその境界で接する2つのブロックから設計者が隣接するグリッド点間に境界を設定する必要がないと判断したためである。 This is because it is determined that part 1 block bounded, or that it is not necessary to set the boundary between the grid points adjacent the designer of two blocks in contact with the boundary. 隣接するグリッド点間に境界を設定するか否かは、境界を複数の部分に分けて個別に決定して良いものである。 Whether to set the boundary between adjacent grid points, those which may be determined individually by dividing the boundary into a plurality of parts. 以降、設定した境界を示すデータは「境界データ」、境界データをまとめたものは「フレーム情報」と総称する。 And later, data indicating a boundary that you set is a summary of the "boundary data", the boundary data is collectively referred to as "frame information".

本実施形態では、モジュールを更にブロック(サブモジュール)に分割することによる階層化を行う。 In the present embodiment, the layered by dividing the module further block (sub-module). その階層化は、分割したブロックをマージすることで解消させ、フラットにする。 Its layering is eliminated by merging the divided blocks, it is flat. そのようにしてフラットにしたデータを再度、領域分割部51で階層化することができる。 The so again the data to the flat, it is possible to layered in the region division section 51. 領域分割部51に入力されるデータをフラットデータD10としているのは、このためである。 The data input to the region division section 51 is a flat data D10 is for this.

フラットデータD10には普通、既に決定した配線(既配線。概略設計、或いは詳細設計により決定される)を示す配線データが含まれている。 The flat data D10 usually have wiring already determined (already wiring. Schematic design, or determined by detailed design) wiring data indicating included. 既配線端子化部52は、既に決定した配線のなかから、ブロック分割のために設定した境界を通過する配線情報(NET)の区間を抽出し、その区間を端子化する。 Existing wiring terminal unit 52, from among the wiring already determined, and extracting the section of the wiring information passing through the boundaries set for block division (NET), to the terminal of the segment. 端子化は、設計者の選択に応じて行う。 Terminal of is carried out depending on the choice of the designer.

図8は、ブロック間の接続用に配置するブロック(モジュール)端子の説明図である。 Figure 8 is an illustration of a block (module) terminals arranged for connection between the blocks. W1はブロック間の境界を通る配線、t1は、配線W1上の境界の位置に配置されるブロック端子である。 W1 wiring through the boundaries of the blocks, t1 is a block terminals arranged at a position of the boundary on the wiring W1.

ブロック端子t1の境界線と直交する方向上の幅は、2つのブロック内のそれぞれで境界線に最も近いグリッド点間の距離としている。 Width on the direction perpendicular to the boundary line of the block terminal t1 is a distance between the nearest grid point to the boundary line at each of the two blocks. それにより、グリッド点ベースの座標しか配線を扱えない場合であっても、境界を通過する配線による接続を確保しつつ、境界上にブロック間を接続するブロック端子を配置できるようにしている。 Thereby, even if only the grid points based coordinate not handle the wiring, while securing the connection by wires passing through the boundary, and to lay the block terminals for connecting the blocks on the boundary. このことから、端子化は境界線と直交する方向上でその境界線を挟んで隣接するグリッド点間を対象に行うようにしている。 Therefore, the terminal reduction is to perform the subject between adjacent grid points across the boundary line in the improvement toward perpendicular to the boundary line.

境界線と平行な方向上の幅は、図8ではブロック端子を説明するために、端子部分を大きく表現しているが、配線W1と同一幅である。 The width of the border and the parallel direction, in order to explain the block pin 8, although larger express terminal portion, the same width and wiring W1.

禁止マッピング部53は、デザインルール(設計規則)違反にかかるバイオレーション発生を回避するため、境界線に沿った方向上の配線禁止範囲を境界にマッピングする。 Prohibition mapping unit 53, in order to avoid violation occurs according to the design rule (design rules) violation, maps the wiring prohibited range on the direction along the boundary line to the boundary. 具体的には、そのマッピングにより、配線を決定する詳細設計の段階において、ショート、スペーシング(間隔)違反などのデザインルール違反のバイオレーションが発生する可能性が比較的に高いと考えられる場所には、配線禁止範囲を示すマスクパターンの配置等によりブロック端子の配置を禁止するようにしている。 Specifically, by the mapping, the detailed design of determining the wiring short, the place where violation of design rule violation, such as spacing (interval) fault is considered to be relatively likely to occur It is designed so as to prohibit the placement of the block pin by arrangement of the mask pattern showing a wiring prohibited range. このため、詳細設計はより適切に行えるようになる。 Therefore, design is as performed more appropriately detail. これは、設計を繰り返す回数が少なくなる、設計を繰り返す段階(工程)がより後段で済むようになる、といった形で効果が現れる。 This is the number of times to repeat the design is reduced, the step of repeating design (step) comes to more need later, the effect appears in the form like. マッピングした境界上の配線禁止範囲を示す禁止範囲データをまとめたものは以降「禁止情報」と総称する。 It summarizes the prohibited range data showing a wiring prohibited range on mapping boundary is referred to collectively as hereinafter "inhibition information".

図9及び図10は、マッピングされる配置禁止範囲の説明図である。 9 and FIG. 10 is an explanatory view of an arrangement prohibited range to be mapped. 図9は、境界の直交方向上、一定範囲内に存在する障害物(オブジェクト)であるOB1及びOB2によりマッピングされる配置禁止範囲を示し、図10は、RAMなどのような大規模セルCL11及びCL12が境界の直交方向上、近傍に存在することでマッピングされる配置禁止範囲を示している。 Figure 9 is an orthogonal side improve boundary, indicates the placement prohibited range to be mapped by the obstacle (object) is OB1 and OB2 that exists within a predetermined range, FIG. 10, large cells CL11 and the like RAM CL12 improvement orthogonal side of the border, shows an arrangement prohibited range mapped by existing near. 図9及び図10において、配置禁止範囲は「×」で表現している。 9 and 10, disposed prohibited range is expressed by "×".

図15は、禁止マッピング処理のフローチャートである。 Figure 15 is a flowchart of a prohibition mapping process. 禁止マッピング部53は、コンピュータがこの処理を実行することで実現される。 Prohibition mapping unit 53, a computer is provided for performing this process. ここで図15を参照して、その禁止マッピング処理について詳細に説明する。 Referring now to FIG. 15 will be described in detail about the prohibition mapping process.

先ず、ステップS1では、境界の近傍に存在する障害物、或いはAND(論理積)ゲート等の回路セル又はRAM等のマクロセルを含むセル(Cell)により配置禁止範囲をマッピングするセル禁止設定処理を実行する。 First, in step S1, the obstacle existing in the vicinity of the boundary, or AND performing cell prohibition setting process of mapping the placement prohibited range by the cell (Cell) including macro cell such as a circuit cell or RAM, such as (logical product) gate to. 続くステップS2では、境界から一定範囲内に存在する配線、或いは配線層間を接続するビアホール(Via Hole)により配置禁止範囲をマッピングするワイヤ(Wire:配線)・ビア禁止設定処理を実行する。 In step S2, the wiring that exists within a predetermined range from the boundary, or wires for mapping the placement prohibited range via hole (Via Hole) for connecting the wiring layers: Run (Wire wiring) via prohibition setting process. その実行後、この禁止マッピング処理を終了する。 After the execution, it ends the prohibition mapping process.

図16は、ステップS1として実行されるセル禁止設定処理のフローチャートである。 Figure 16 is a flowchart of a cell prohibition setting process performed in step S1. 次に図16を参照して、禁止マッピング処理内でサブルーチン処理として実行されるセル禁止設定処理について詳細に説明する。 Referring now to FIG. 16, described in detail the cell prohibition setting process is executed as a subroutine processing in prohibition mapping process.

この設定処理は、上記フレーム情報D41の他に、境界からの距離により配置禁止範囲を設定する対象となるセルの条件を示すセル抽出範囲情報D42、セル毎に配置(座標)、及び配線を禁止すべき層を示すセル情報D43を参照して実行される。 This setting process is inhibited in addition to the frame information D41, the cell extract range information D42 indicating the condition of the target cell to set the placement prohibited range by the distance from the boundary, arranged for each cell (coordinates), and a wiring It is performed with reference to the cell information D43 indicating a should do layer. 配置禁止範囲は、例えば座標範囲とその座標範囲が適用される層で表現される。 Placement prohibited range is represented by a layer that coordinate range is applied, for example, coordinate range and. そのように表現される配置禁止範囲、つまり禁止範囲データは、禁止情報D44として保存される。 Such placement prohibited range represented, i.e. prohibited range data is stored as prohibition information D44.

先ず、ステップS11では、フレーム情報D41を参照して、ブロックの境界を抽出する。 First, in step S11, by referring to the frame information D41, it extracts the block boundaries. ここで抽出する境界は、例えば1本の直線で表現される部分(境界線)である。 Boundary extracted here is a partial (boundary line) is represented by one straight line, for example. 次のステップS12では、セル抽出範囲情報D42及びセル情報D43を参照して、抽出した境界で配置禁止範囲を設定する対象となるセルを抽出する。 In the next step S12, with reference to the cell extract range information D42 and the cell information D43, it extracts the targeted cell to set the placement prohibited range extracted boundary. その抽出後はステップS13に移行する。 After the extraction the process moves to step S13.

ステップS13では、抽出したセルは境界に沿った方向上の範囲を全面禁止、或いは部分的禁止とするものか否か判定する。 In step S13, the extracted cell is determined whether or not to ban or partially prohibited range on the direction along the boundary. その判定は、例えば境界に沿った方向上で配線を禁止すべき範囲を示す面積情報をセル毎にセル情報D43、若しくはライブラリ等に用意することで行うことができる。 This determination can be carried out by preparing, for example, cell information D43 and the area information for each cell indicating a range to be prohibited wiring enhanced person along the boundary, or library or the like. 抽出したセルの面積情報が配線を禁止すべき範囲を示していないような場合、判定はNoとなってステップS16に移行する。 If the area information of the extracted cells that do not show the range to be inhibited wiring, judgment proceeds to step S16 becomes No. その面積情報が配線を禁止すべき範囲を示していた場合には、判定はYesとなってステップS14に移行する。 If the area information indicates a range should be prohibited wiring, the determination moves to step S14 becomes Yes.

セルの抽出では、対象とすべきセルを抽出できない場合がある。 The cell extract may be unable to extract the cells to be targeted. その場合、特には図示していないが、ステップS12からステップS17に移行するようになっている。 In that case, although not specifically shown, and procedure proceeds from step S12 to step S17.

ステップS14では、境界とセルとの距離を算出する。 In step S14, it calculates a distance between the boundary and the cells. この距離は、図10に示す距離Lに相当する。 This distance corresponds to the distance L shown in FIG. 10. その距離Lを算出した後は、ステップS15に移行して、境界上の配線禁止範囲を算出する。 After calculating the distance L, the process proceeds to step S15, calculates the wiring prohibited range on the boundary. 配線禁止範囲をh、面積情報が示す範囲をHとすると、その算出は h=H−α×L ・・・ (1) When wiring prohibited range h, and range indicated by the area information and H, the calculation h = H-α × L ··· (1)
により行う。 Carried out by. ここでαは1未満の定数であり、算出結果が負となった場合は0とされる。 Where α is a constant less than 1, are 0 if the calculated result becomes negative. それにより、配線禁止範囲hは、セルが境界から離れるほど狭くなるようにさせている。 Thereby, the wiring prohibited range h, the cell is brought to be narrower as the distance from the boundary. 算出した配線禁止範囲hは、抽出した境界が存在する層とともに禁止情報D44として保存される。 Calculated wiring prohibited range h is stored as prohibition information D44 with a layer extracted boundaries exist. ステップS16には、その保存を行った後に移行する。 In step S16, the process proceeds to after the storage.

ステップS16では、配線禁止範囲hを設定する対象となる他のセルが有るか否か判定する。 In step S16, it is determined whether or not another cell is being set wiring prohibited range h there. 他に対象となるセルが存在している場合、判定はYesとなって上記ステップS12に戻り、次に対象とするセルを抽出する。 If other targeted cell is present, the determination is returned to step S12 becomes Yes, then extracts the cell of interest. 他に対象となるセルが存在しない場合には、判定はNoとなってステップS17に移行する。 When other targeted cell is not present, the determination is proceeds to step S17 becomes No.

ステップS17では、他に対象となる境界(境界線)が有るか否か判定する。 In step S17, it is determined whether or not other the target boundary (boundary) there. 他に対象となる境界が存在している場合、判定はYesとなって上記ステップS11に戻り、次に対象とする境界を抽出する。 If the boundary of interest to the other exists, determination is returned to step S11 becomes Yes, then extracts the boundary of interest. 他に対象となる境界が存在しない場合には、判定はNoとなり、ここでセル禁止設定処理を終了する。 If the boundary of interest to the other does not exist, the determination is No, and ends here cell prohibition setting process.

図17は、図15に示す禁止マッピング処理内でステップS2として実行されるワイヤ・ビア禁止設定処理のフローチャートである。 Figure 17 is a flow chart of the wire via prohibition setting process performed in step S2 in prohibiting the mapping in the processing shown in FIG. 15. 次に図17を参照して、ワイヤ・ビア禁止設定処理について詳細に説明する。 Referring now to FIG. 17 will be described in detail wire via prohibition setting process. 配線、及びビアホールは、図9に示すように障害物として扱われる。 Wiring, and the via hole is treated as an obstacle as shown in FIG. 障害物は、配線、及びビアホール以外のものであっても良い。 Obstacles, wiring, and may be other than the via hole.

この設定処理は、上記フレーム情報D41の他に、境界からの距離により配置禁止範囲を設定する対象となる障害物(ここでは配線、或いはビアホール)の条件を示す禁止抽出範囲情報D51、ワイヤ、或いはビアホール毎に形状、配置(座標)、及び形成された層を示すワイヤ・ビア情報D52を参照して実行される。 This setting processing, in addition to the frame information D41, obstacles for which to set the placement prohibited range by the distance from the boundary (line here, or via holes) prohibiting extraction range information D51 indicating the condition of the wire, or shape for each hole, disposed (coordinates), and with reference to the wire via information D52 showing the resulting layer is performed. 配置禁止範囲は、禁止情報D44として保存される。 Placement prohibited range is stored as prohibition information D44.

先ず、ステップS21では、フレーム情報D41を参照して、ブロックの境界を抽出する。 First, in step S21, by referring to the frame information D41, it extracts the block boundaries. 次のステップS22では、禁止抽出範囲情報D51及びワイヤ・ビア情報D52を参照して、抽出した境界で配置禁止範囲を設定する対象となる配線、或いはビアホールを抽出する。 In the next step S22, with reference to the prohibition extract range information D51 and the wire via information D52, in the extracted boundary is being set placement prohibited range wirings, or to extract the via hole. その抽出後はステップS53に移行して、抽出した配線、或いはビアホールの境界に沿った方向上の範囲を配線禁止範囲とし、境界を抽出した層とともに禁止情報D44として保存する。 After the extraction, the process proceeds to step S53, the extracted wire, or the range of the direction along the boundary of the via hole and the wiring prohibited range, saved as prohibition information D44 with a layer obtained by extracting the boundary. ステップS24には、その保存後に移行する。 The step S24, the process proceeds to later storage.

障害物の抽出では、セルと同様に、対象とすべき障害物を抽出できない場合がある。 The extraction of the obstacle, which may be similar to the cell, can not be extracted obstacle should cover. その場合、特には図示していないが、ステップS22からステップS25に移行するようになっている。 In that case, although not specifically shown, and procedure proceeds from step S22 to step S25.

ステップS24では、他に対象となるワイヤ、或いはビアホールが有るか否か判定する。 In step S24, the wire in question to another, or determines whether the via hole is present. ワイヤ・ビア情報D52が示すワイヤ、及びビアホールのなかに他に対象となるものが存在していない場合、判定はNoとなってステップS25に移行する。 Wire via information D52 indicates a wire, and if those of interest to the other among the via hole does not exist, the determination proceeds to step S25 becomes No. 他に対象となるワイヤ、或いはビアホールが存在していた場合には、判定はYesとなって上記ステップS22に戻り、次に対象とするワイヤ、或いはビアホールを抽出する。 Other interest wire, or when the via hole is present, the determination is returned to the step S22 becomes Yes, then extracted wires interest, or a via hole.

ステップS25では、他に対象となる境界(境界線)が有るか否か判定する。 At step S25, it is determined whether or not other the target boundary (boundary) there. 他に対象となる境界が存在している場合、判定はYesとなって上記ステップS21に戻り、次に対象とする境界を抽出する。 If the boundary of interest to the other exists, determination is returned to the step S21 becomes Yes, then extracts the boundary of interest. 他に対象となる境界が存在しない場合には、判定はNoとなり、ここでワイヤ・ビア禁止設定処理を終了する。 If the boundary of interest to the other does not exist, the determination is No, here ends the wire via prohibition setting process.

このようにして、ブロック間の境界上で配線を禁止する範囲は自動的に設定され、禁止情報D44として保存される。 Thus, the range for prohibiting wiring on the boundaries of the blocks is automatically set, is stored as prohibition information D44. この禁止情報D44を配線設計に用いることにより、より適切な配線を決定することができる。 By using this prohibition information D44 to the wiring design, it is possible to determine a more appropriate wiring.

端子辺設定部54は、ブロック間を接続するブロック端子の配置、つまりセル間を接続させるために境界を通過させる配線の区間を設定する。 Terminal side setting unit 54, the arrangement of the block terminals for connecting the blocks, i.e. to set the interval of the wiring to pass the boundary in order to connect the cells.

配線区間の設定は、注目するブロック内に信号を他のブロックのセルに出力するセルの出力ピンを抽出して行う。 Setting of the wiring section is carried out by extracting the output pin of a cell which outputs a signal to the block cells of the other blocks of interest. そのような出力ピンが存在しない場合、他のブロックのセルから出力される信号を入力するセルの入力ピンを抽出して行う。 If such output pins is not present, it carried out by extracting the input pins of a cell for inputting a signal output from the cell of the other blocks. ブロック端子の配置は、配線遅延を最小化するために、そのような抽出によって得られる1つ以上のピンからなるグループ内で、配線長が短いと予測されるピンを優先して設定する。 Arrangement of blocks terminals, in order to minimize routing delays within a group of one or more pins obtained by such extraction is set with priority pin wire length is expected to short. ブロック端子の目標位置は、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わる部分に設定する。 Target position of block terminals, assuming a rectangle connecting the two pins, set in a portion thereof rectangle to intersect the boundary. 矩形と交わる境界部分が複数、存在する場合は、より自由度の高いほうを選択して設定を行う。 Plurality of boundary intersecting rectangular, if present, to set and select the higher of more flexibility. 配線長の予測も、その矩形を想定して行うことができる。 Prediction of the wiring length can also be carried out on the assumption that rectangular.

図11は、境界を通過する配線の区間を設定する方法の説明図である。 Figure 11 is an explanatory diagram of a method for setting a section of the wire passing through the boundary. 図11に示す例は、モジュール1100をブロック1101及び1102に分割した場合のものである。 Example shown in FIG. 11 is for the case of dividing the modules 1100 to block 1101 and 1102. ブロック1101には、2つのセルCL21及び22が配置され、ブロック1102には2つのセルCL31及び32が配置されている。 Block 1101, two cells CL21 and 22 are arranged, two cells CL31 and 32 are arranged in the block 1102. この図11を参照して、上述したようにして行うブロック端子の位置設定について具体的に説明する。 Referring to FIG 11, it will be specifically described positioning of the block pins performed as described above. ここでは、セルCL21の出力ピンAaはブロック1102内のセルCL31の入力ピンBcと接続され、セルCL22の入力ピンAbはブロック1102内のセルCL32の入力ピンBdと接続されるものと想定する。 Here, the output pin Aa cell CL21 is connected to the input pins Bc cell CL31 in a block 1102, the input pin Ab cell CL22 is assumed to be connected to the input pins Bd cell CL32 in the block 1102. つまりブロック1101及び1102間で2つの配線を行うものと想定する。 That assumes that performs two wires between blocks 1101 and 1102. 各セルCL21、22、31及び32は、図11中に示す位置に配置されると想定する。 Each cell CL21,22,31 and 32 is assumed to be located at the position shown in FIG. 11. 図11中に表記の「LSG」はレイアウト・サブグループ(Layout Subgroup)の略である。 "LSG" notation in Fig. 11 is a schematic layout subgroup (Layout Subgroup).

図11に示す2つの配線では、ピンAaとピンBc間の配線長はピンAbとピンBd間の配線長より短くなる。 In two wiring shown in FIG. 11, the wiring length between the pin Aa and pin Bc is shorter than the wiring length between the pin Ab and pin Bd. このため、2つの配線ではピンAaとピンBc間を優先してブロック端子の目標位置を設定する。 Therefore, the two wires to set the target position of the block terminals in preference between pins Aa and pin Bc.

ピンAaとピンBcを結ぶ矩形は図11の右側で示している。 Rectangular connecting pin Aa and pin Bc is shown in the right side of FIG. 11. その矩形が示す境界部分がブロック端子の目標位置として設定される。 Boundary indicated by the rectangle is set as the target position of a block pin.

一方、特には図示していないが、ピンAbとピンBdを結ぶ矩形は、2本の直線で示す境界線と交わる。 Meanwhile, especially although not shown, the rectangular connecting pin Ab and pin Bd intersects the boundary line shown by the two straight lines. このため、矩形と交わる2つの境界部分のなかから自由度がより高いものを選択することになる。 Therefore, the degree of freedom from among two boundary intersecting rectangle to select an higher.

自由度は、例えば境界部分の長さか、或いは境界部分を通る経路で使用可能なグリッド点の数に着目して判定する。 Freedom determines for example whether the length of the boundary portion, or by paying attention to the number of available grid points in a path through the boundary portion. それにより、境界部分がより長い方、或いはグリッド点の数がより多い方を自由度が高いと見なし、グリッド端子の目標位置を設定する。 Thus, the longer is the boundary portion, or considered towards the number of grid points is greater that the high degree of freedom, the target position of the grid terminal. このとき、既に設定されている他のグリッド端子の目標位置が存在していることから、既存の目標位置を避けて設定を行う。 At this time, since the target position of the other grid terminal that has already been set is present, to set to avoid the existing target position.

配線長予測部55は、グリッド端子の目標位置の設定結果を用いて、予測される配線長を求める。 Wiring length prediction unit 55 uses the result of setting the target position of the grid terminal, obtains the wire length to be predicted. その配線長の予測方法について、図12に示す説明図を参照して具体的に説明する。 The method for predicting the wiring length, specifically described with reference to the diagram shown in FIG. 12.

配線遅延をより小さくするために、配線は最短で行う、言い換えれば無駄な迂回を避けることが望まれる。 To the wiring delay smaller, wiring is performed at the shortest, it is desirable to avoid unnecessary detour in other words. クロストークノイズを考慮する場合、2つの配線が平行となっている部分の長さはより短くするか、或いはその部分が長くなるほど、配線間の距離をより大きくすることが望まれる。 When considering crosstalk noise, or the length of the portion where two lines are parallel to a shorter or more portions thereof becomes longer, it is desirable that the distance between the wires is greater. このようなことから本実施形態では、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わっている部分の長さLv、及び境界と直交する方向上の長さLhに着目している。 In such an embodiment since, assuming a rectangle connecting the two pins, is focused on the length Lh in the direction perpendicular to the length Lv, and boundary portions where the rectangle intersect the boundary . 長さLvが極端に短いケースでは、ブロック端子の目標位置の設定を優先させなければ迂回が発生する可能性が高い。 The length Lv is extremely short case, there is a high possibility that diversion occurs unless giving priority to the setting of the target position of a block pin. 逆に長さLvが長いケースでは、迂回が発生する可能性が低くなる。 The length Lv longer case Conversely, the possibility of bypassing occurs decreases. このため設定の優先度が低いことが不都合となる可能性は低い。 Therefore it is unlikely that priority is low becomes inconvenient settings. このようなことから、長さLvの考慮によって最短経路の確保、つまり迂回の抑止をすることができる。 For this reason, it is possible to ensure the shortest path by taking into account the length Lv, i.e. the suppression of the detour.

一方、平行する2本の配線間に生じるノイズ(クロストークノイズ)の影響は、平行する部分の長さが長くなるほど、その間隔が狭いほど大きくなる。 Meanwhile, the influence of noise generated between two lines parallel (crosstalk noise), as the length of the portion parallel increases, the interval is increased narrower. そのノイズ、或いはノイズ起因の遅延増加はエラーを発生させる。 The noise, or delays an increase of noise due generates an error. このことから長さLhは、そのようなエラーが発生する可能性を示す指標として用いている。 The length Lh since is used as an indicator of the likelihood that such errors will occur. それにより配線長予測部55は、境界を通る配線毎に、長さLv及びLhを計算する。 Whereby the wiring length prediction unit 55, for each line through the boundary, calculating a length Lv and Lh. これらの長さLv及びLhは以降「区間長」と総称する。 These lengths Lv and Lh are collectively referred to hereinafter "section length".

図18は、上記長さLv及びLh、つまり区間長を計算するために実行するネット(Net)区間長算出処理のフローチャートである。 Figure 18 is a flow chart of a net (Net) section length calculation process to be executed in order to calculate the length Lv and Lh, that is, the section length. ここで図18を参照して、その算出処理について詳細に説明する。 Referring now to FIG. 18, described in detail the calculation process.

この算出処理は、図18に示すネットリスト(NetList)D61、及びフレーム情報D41の他に、セル情報D43を参照して実行される。 This calculation process, in addition to the net list (Netlist) D61, and the frame information D41 shown in FIG. 18, is executed by referring to the cell information D43. このネットリストD61は、例えばブロック分割が反映されたものである。 The netlist D61 are, for example, the block dividing is reflected. 図18には、1区間長を算出するために実行される処理を抽出して示している。 Figure 18 is extracted and shown processing executed in order to calculate one section length.

先ず、ステップS31では、ネットリストD61を参照して、全ての配線(ネット)を抽出し、例えばフレーム情報D41を参照してブロック別にソートする。 First, in step S31, with reference to the netlist D61, it extracts all the wires (nets), sorted e.g. by referring to frame information D41 by block. 続くステップS32では、配線によって接続されるセルのピン(図中「端子」と表記)を選択して、そのピンの位置を抽出する。 In step S32, by selecting the pin of cells connected by wiring (denoted in the figure as "terminal"), and extracts the position of the pin. その位置の抽出は、例えばセル情報D43、及び各セルの物理形状に係わる情報を格納したライブラリを参照して行う。 Extraction of the position is performed, for example, by referring to the cell information D43, and a library that stores information relating to the physical shape of each cell. ステップS33には、その位置の抽出後に移行する。 The step S33, the process proceeds to after extraction of its position.

ステップS33では、位置を抽出したピンは別のブロックとの間で接続されるか否か判定する。 In step S33, it determines whether pin extracting the location is connected between the other blocks. ネットリストD61から、そのピンが別のブロック内に存在するセルのピンと接続されていることが確認できた場合、判定はYesとなってステップS34に移行する。 From the netlist D61, if the pin has been confirmed that it is connected with the pins of the cells present in another block, judgment proceeds to step S34 becomes Yes. そのピンが同じブロック内のセルが持つピンと接続されることが確認できた場合には、判定はNoとなってステップS32に戻り、別の配線を選択して、その配線によって接続されるピンの位置を抽出する。 In that case the pin is confirmed to be connected to the pin with the cell in the same block, the determination is returned to step S32 becomes No, select another wiring, the pin connected by the wire position to extract.

ステップS33からステップS32に移行した場合、他に対象となる配線を選択できるとは限らない。 When the process proceeds from step S33 to step S32, not necessarily able to select the other of interest wiring. このことから、特には図示していないが、ステップS32では、他に対象となる配線が残っていなければ、ここで区間長算出処理を終了するようになっている。 Therefore, although not specifically shown, in step S32, if there are no remaining other interest wiring, and wherein so as to terminate the section length calculation process.

ステップS34では、配線で結ばれる他のピン(図中「端子」と表記)を選択する。 In step S34, it selects the other pins are connected by wires (denoted in the figure as "terminal"). 次のステップS35では、2つのピンを結ぶ矩形を想定し、フレーム情報D41を参照して、その矩形から長さLv及びLhを区間長として算出し、配線を示す配線情報と共に算出した区間長をネット区間長情報D62として保存する。 In the next step S35, assuming a rectangle connecting the two pins, with reference to the frame information D41, and calculates the length Lv and Lh from the rectangle as the section length, a section length calculated with wiring information showing a wiring to save as a net interval length information D62. その保存により、1区間長の算出に係わる一連の処理が終了する。 By its storage, a series of processing relating to the calculation of one section length is completed. 実際には、区間長を保存した後、他に対象となる配線が有るか否かの判定を行い、他に対象となる配線が有ることで判定がYesとなれば上記ステップS32に戻る。 In fact, after saving the segment length, it is determined whether other interest wiring is present, the determination by other interest wiring there returns to the step S32 if the Yes. 逆に、他に対象となる配線が存在しないことで判定はNoとなれば、ここでネット区間長算出処理を終了する。 Conversely, the decision by other interest wiring does not exist if a No, here ends the net section length calculation process.

割当順決定部56は、配線長予測部55が区間長として算出した長さLv及びLhから、ブロック端子の処理順を決定する。 Assignment order determination unit 56, the wiring length prediction unit 55 from the length Lv and Lh calculated as the section length, to determine the processing order of blocks terminal. 先に処理する方が優先的に目標位置を割り当てることになるため、その処理順の決定は優先順位の設定に相当する。 Order better to processed first is to assign a priority to the target position, the processing order of the determination corresponds to the setting of priority.

処理順は、長さLvが短いほど、長さLhが長くなるほど、早くさせる。 Processing order is, as the length Lv is short, as the length Lh is longer, to be early. それら2つの長さLv及びLhは共に処理順を決定するうえで重要な指標である。 These two lengths Lv and Lh is an important indicator in determining the both processing order. このため処理順は、例えば長さLv及びLhの組み合わせ別に優先度を定義した表、長さLv及びLhのうちの一方を重視すべき範囲を定義した表、或いはそれら長さLv及びLhを用いて優先度を算出する式などを用意し、表、或いは式を用いて決定するようにしている。 Therefore processing order, the table that defines the priority table defining the range to be emphasized one of length Lv and Lh, or they length Lv and Lh used by a combination of eg length Lv and Lh It can put a formula for calculating the priority Te, so that determined using the table or the formula.

端子割当部57は、割当順決定部56が決定した処理順に従って、ブロックの境界上にブロック端子を配置する。 Terminal allocation unit 57, in accordance with the processing order of allocation order determining unit 56 has determined to place the block terminals on the boundary of the block. 本実施形態では、図13に示すような端子位置制御表を参照して、配線長予測部55が算出した長さLhの配線を行うのを目標とする層(配線層)、及び近傍の配線との目標とする間隔である割当ピッチを決め、ブロック端子を配置可能な場所を選択する。 In the present embodiment, with reference to the terminal position control table as shown in FIG. 13, a layer (wiring layer) to target perform wiring length Lh of wiring length prediction unit 55 is calculated, and the vicinity of the wire decide assigned pitch is an interval in which the target and selects the possible locations arranged blocks terminal.

端子位置制御表には、図13に示すように、配線(ブロック端子の配置)の目標とする配線層、及び割当ピッチが配線長(の範囲)毎に定義されている。 The terminal position control table, as shown in FIG. 13, a wiring layer with a target wiring (arrangement of blocks terminals), and assigned pitch is defined for each wire length (range). 配線長の範囲、及び割当ピッチはグリッド点の数で表現された値で定義されている。 Range of wire length, and assigned the pitch is defined by the value expressed by the number of grid points. 配線層はL1〜8で表現されている。 Wiring layers is expressed by L1~8. Lに続く数字が大きくなるほど、上側に位置する上位層である。 Large followed digit L Indeed, an upper layer on the upper side. 割当ピッチは、配線長の範囲が同じ配線を想定したものである。 Assigned pitch, in which the range of the wiring length is assumed the same wiring. 配線長(長さLv)が異なる配線間では、配線長が小さい方の割当ピッチが適用される。 Between wire wiring length (length Lv) are different, who assigned pitch wiring length is small is applied. 例えば配線長が1001グリッドを越える配線と、501〜1000までの範囲内の配線長の配線とでは、割当ピッチとして3グリッドが適用される。 For example a wiring line length exceeds 1001 grid, in the wiring of the wiring length within the range of 501 to 1000, three grids are used as assigned pitch. これは、平行する部分の長さによってノイズの影響の大きさが変化するからである。 This is because the magnitude of the influence of noise by the length of the portion parallel because changes. 端子位置制御表は、その平行する部分の長さが長くなるほど、大きい割当ピッチとすることを要求していることから、エラーが発生しないようにブロック端子の配置位置を制御することができる。 Terminal position control table, as the length of the portion of the parallel becomes longer, since it is requesting that a large allocation pitch, it is possible to control the position of the block terminals to avoid errors.

端子位置制御表は、配線長が長くなるほど、より上位層での配線を要求するものとなっている。 Terminal position control table, as the wiring length increases, has as requiring more wires in the upper layer. これは、一般的に上位層となるほど配線遅延は小さくなるためである。 It is generally interconnect delay as the upper layer is to become smaller.

図14は、ブロック端子の配置例の説明図である。 Figure 14 is an explanatory view of an arrangement example of the block terminals. 図14において、ハッチングした矩形は何れも同一の配線層の配線を示している。 14, any hatched rectangle represents the wiring of the same wiring layer.

上述したように、長さLhが長いほど高い優先度が割り当てられる。 As described above, the length Lh is assigned a long higher priority. このため、配線長がより長い配線から配置位置が割り当てられる。 Therefore, the wiring length position is assigned a longer wire. それにより、配線長が長い配線が大きい割当ピッチで配置され、配線長が短い配線は空いている場所に割り当てられることになる。 Thereby, the wiring length is arranged in a long wiring is large allocation pitch, so that the wiring line length is short to be assigned to a blank area. この結果、境界を横断する配線が高い密度で配置される状況下であっても、図14に示すように、配線遅延、平行な部分の長さを最適化した配置を得ることができる。 As a result, even in a situation where the wiring across the boundary is disposed at a high density, as shown in FIG. 14, the wiring delay, it is possible to obtain an arrangement which optimizes the length of the parallel sections.

図19は、端子位置割当処理のフローチャートである。 Figure 19 is a flow chart of the terminal position assignment process. この割当処理は、配線(ブロック端子)の処理順を決定して、ブロック端子の配置位置を割り当てるための処理である。 This assignment process is to determine the processing order of the wiring (block port), a process for allocating the positions of the block terminals. 割当順決定部56、及び端子割当部57は、この割当処理を実行することで実現される。 Assignment order determination unit 56 and the terminal allocation unit 57, is realized by executing the assignment process. 次に図19を参照して、この割当処理について詳細に説明する。 Referring now to FIG. 19, this assignment process will be described in detail.

先ず、ステップS41では、ネット区間長情報D62を参照し、例えばブロック毎に区間長が長い順に配線情報(ブロック端子)をソートすることにより、処理順を決定する。 First, in step S41, with reference to the net section length information D62, for example, by a section length for each block sorts the wiring information (block port) in descending order, to determine the processing order. その処理順は、区間長から優先度を求める方法に依存するが、例えば長さLvが所定長以下のものを最優先とし、所定長より長さLvが長いものは長さLhが長くなるほど優先度を高くすることで決定しても良い。 Order of processing depends on the method of determining the priority from the section length, for example, the length Lv is a top priority to the following predetermined length, priority as those longer length Lv than the predetermined length is a length Lh longer it may be determined by a higher degree. 処理順を決定した後はステップS42に移行する。 After determining the processing order proceeds to step S42.

ステップS42では、処理順に従って処理する配線情報(ブロック端子)を選択し、端子位置制御表D71を参照して、目標とする配線層、及び割当ピッチを決定する。 In step S42, select the interconnection information to be processed according to the processing order (block terminals), with reference to the terminal position control table D71, wiring layer with a target, and determines the allocation pitch. 次のステップS43では、禁止情報D44を参照しつつ、決定した配線層、及び割当ピッチでブロック端子を配置可能な場所のサーチを行う。 In the next step S43, with reference to the prohibition information D44, determined wiring layers, and the location search can be placed a block pin assignment pitch performed. その次に移行するステップS44では、目標とする配線層に配置可能か否か判定する。 In step S44 the process proceeds to the next, it is determined whether or not can be arranged on the wiring layer with a target. その配線層に空いた場所が存在し、且つその場所で適切とされる割当ピッチを確保できるような場合、判定はYesとなってステップS46に移行する。 As there are spaced locations on the wiring layer, and a case that ensure proper and is the assigned pitch at that location, determination proceeds to step S46 becomes Yes. 目標とする配線層に空いた場所が無い、或いは適切な割当ピッチを確保できないような場合には、判定はNoとなり、ステップS45で目標とする配線層を変更した後、上記ステップS43に戻り、変更後の配線層を対象にしたサーチを行う。 There is no place vacated the wiring layer with a target, or if that can not be ensured Suitable assigned pitch, determined after changing the No and wiring layer with a target in step S45, returns to step S43, do a search that target the wiring layer after the change.

ステップS46では、サーチした場所からブロック端子の位置を決定し、例えば配線情報と共に端子位置情報D72として保存する。 In step S46, to determine the position of a block terminal from the search location is stored as terminal position information D72, for example, with routing information. 続くステップS47では、他に配置位置を決定すべきブロック端子が有るか否か判定する。 In the subsequent step S47, the determining whether there is a block terminals to be determined disposed position to another. ステップS41でソートした配線情報のなかで処理していないものが存在する場合、判定はYesとなって上記ステップS42に戻り、それ以降の処理を同様に実行する。 If untreated with among the sorted wiring information in step S41 is present, the determination is returned to the step S42 becomes Yes, the subsequent processing is executed similarly. ソートした配線情報のなかで処理していないものが残っていない場合には、判定はNoとなり、ここで端子位置割当処理を終了する。 If the do not remain untreated with among the sorted wiring information, the determination is No, here ends the terminal position assignment process.

モジュール分割部58は、フラットデータD10をブロック分割に応じて分割し、フレーム情報D41、セル情報D43、禁止情報D44、ワイヤ・ビア情報D52、及び端子位置情報D72等とまとめてサブモジュールデータD20を作成する。 Module division unit 58 divides accordance flat data D10 in the block division, frame information D41, the cell information D43, prohibition information D44, wire via information D52, and sub-module data D20 together with the terminal position information D72 or the like create. 図5では、計3つのサブモジュールデータD20を作成している。 In Figure 5, it has created a total of three sub-modules data D20.

サブモジュール詳細設計部59は、小モジュールデータD20毎に、セルの配置、及び配線を決定する詳細設計を行う。 Submodule detailed design portion 59 is performed for each small module data D20, the cell placement, and the detailed design of determining the wiring. ブロック端子に割り当てた位置は、配線の決定に反映させる。 Position assigned to the block terminals, to be reflected in the determination of the wiring.

その詳細設計に用いる小モジュールデータD20は、ブロック分割によりデータ量がフラットデータD10より大幅に小さくなっている。 Small module data D20 for use in the detailed design, the amount of data becomes considerably smaller than the flat data D10 by the block division. 配線の決定に要する時間は、配線の数に応じて指数関数的に長くなる。 The time required for the determination of the wiring becomes exponentially longer depending on the number of wires. このため、詳細設計に必要な全体の時間は、フラットデータD10を用いて行う詳細設計に必要な時間と比較してより短くなる。 Therefore, the total time required for detailed design, shorter as compared with the time required for detailed design performed using flat data D10. また、データD10を分割したことにより、並列(分散)処理が可能となるため、詳細設計に必要な時間はより短くすることもできる。 Also, by dividing the data D10, parallel (distributed) processing for it is possible, it is also possible to shorten the time required for detailed design. 詳細設計の結果をサブモジュールデータD20に反映させることにより、サブモジュールデータD30が作成される。 By reflecting the results of detailed design in sub-module data D20, sub-module data D30 is generated.

ブロック端子への位置の割り当ては、回避すべき迂回の発生の抑制、及びバイオレーションの発生の抑制を共に考慮して行っている。 Assigning position of the block pin, the suppression of the to be avoided bypass occurs, and is performed by taking into account both the suppression of the occurrence of the violation. このため、詳細設計はより適切に実施できるようになる。 Therefore, the design becomes more can properly implementation details. 配線上の不具合の発生が抑制されることから、配線する経路の探索は迅速に行えるようになり、セルの配置変更等を行う頻度は抑えられる。 Since the occurrence of problems on the wiring can be suppressed, the search for the wiring route is as quickly performed, frequency of performing the arrangement change of the cell is suppressed. これらのことから、詳細設計に要する時間も短縮できることとなる。 For these reasons, the ability to shorten the time required for detailed design.

フラット化処理部60は、サブモジュールデータD30をマージして、モジュールをブロック分割することで生じた階層を消滅させるフラット化を行う。 Flattening processing section 60 merges the sub-module data D30, performs flattening to the module eliminating the hierarchy produced by block division. そのフラット化によって得られたフラットデータD10は、何らかの修正や設計変更等を行う場合、領域分割部51の入力データとすることができる。 Its flat data D10 obtained by flattening, when making any modifications or design changes and the like, can be an input data in the area dividing portion 51.

上述したような機能構成の支援装置では、工程P2は領域分割部51によって実施される。 In support apparatus functional configuration as described above, the step P2 is performed by the region dividing unit 51. 工程P3は、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、及び端子割当部57によって実施される。 Step P3 is already wiring terminal unit 52 is carried out by prohibiting the mapping unit 53, the terminal side setting unit 54, the wiring length prediction unit 55, assignment order determination unit 56 and the terminal allocation unit 57,. 工程P4及びP5はサブモジュール詳細設計部59により実施される。 Step P4 and P5 is performed by the sub-module detailed design unit 59. 工程P6は、修正の必要のないフラットデータD10をマージすることに相当する。 Step P6 is equivalent to merging the flat data D10 is not necessary modifications.

図20は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。 Figure 20 is a diagram showing an example of a hardware configuration of a computer applicable to the present invention. ここで図20を参照して、支援装置として用いることが可能なコンピュータの構成について具体的に説明する。 Referring now to FIG. 20, more specifically describes the structure of a computer capable of using as a support device.

図20に示すコンピュータは、CPU91、メモリ92、入力装置93、出力装置94、外部記憶装置95、媒体駆動装置96、及びネットワーク接続装置97を有し、これらがバス98によって互いに接続された構成となっている。 Computer shown in FIG. 20, CPU 91, memory 92, input device 93, output device 94 includes an external storage device 95, a medium driving device 96, and a network connection device 97, and they are connected together by a bus 98 configured going on. 同図に示す構成は一例であり、これに限定されるものではない。 The configuration shown in the drawing is an example, but is not limited thereto.

CPU91は、当該コンピュータ全体の制御を行う。 CPU91 controls the entire computer.
メモリ92は、プログラム実行、データ更新等の際に、外部記憶装置95(あるいは可搬型の記録媒体Mに記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU91は、プログラムをメモリ92に読み出して実行することにより、全体の制御を行う。 Memory 92, program execution, at the time of data update, etc., a memory such as a RAM for temporarily storing a program or data stored in a recording medium M of the external storage device 95 (or the portable .CPU91 is by reading and executing the program in the memory 92, controls the entire.

入力装置93は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。 Input device 93 may, for example, a keyboard, an interface connected to the operating device such as a mouse. 操作装置に対するユーザの操作を検出し、その検出結果をCPU91に通知する。 Detecting a user operation to the operation device, and notifies the detection result to the CPU 91.

出力装置94は、例えば表示装置と接続された表示制御装置である。 The output device 94 is a display control device, for example, is connected to a display device. ネットワーク接続装置97は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。 The network connection device 97, for example via a communication network such as an intranet or the Internet, is for communicating with an external device. 外部記憶装置95は、例えばハードディスク装置である。 The external storage device 95 is, for example, a hard disk device. 主に各種データやプログラムの保存に用いられる。 It is mainly used to store various types of data and programs.

媒体駆動装置96は、光ディスクや光磁気ディスク等の可搬型の記録媒体Mにアクセスするものである。 Medium driving device 96 is used to access the recording medium M portable such as an optical disk or a magneto-optical disk.

フラットデータD10は、例えばCPU81がフロアプランのためのプログラムであるフロアプランナを実行することにより、外部記憶装置95、或いは媒体駆動装置96を介して記録媒体Mに格納することができる。 Flat data D10, for example by CPU81 executes a program in which floor planner for floorplan, an external storage device 95, or may be stored in a recording medium M through the medium drive device 96. ネットワーク接続装置97を介して外部装置から取得することもできる。 It can also be obtained from an external device via the network connection device 97. サブモジュールデータD20及びD30、フレーム情報D41、セル抽出範囲情報D42、セル情報D43、禁止情報D44、禁止抽出範囲情報D52、及び端子位置制御表D71等も外部記憶装置95、或いは媒体駆動装置96を介して記録媒体Mに格納することができる。 Submodule data D20 and D30, frame information D41, the cell extract range information D42, the cell information D43, prohibition information D44, prohibition extract range information D52, and the terminal position control table D71 like also the external storage device 95, or the medium drive 96 it can be stored in the recording medium M through.

図5に示す領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、モジュール分割部58、サブモジュール詳細設計部59、及びフラット化処理部60は、一つのプログラムをCPU91に実行させることで実現できる。 Region dividing unit 51 shown in FIG. 5, already wiring terminal section 52, prohibits the mapping unit 53, the terminal side setting unit 54, the wiring length prediction unit 55, assignment order determination unit 56, the terminal allocation unit 57, the module division unit 58, the sub module detailed design unit 59, and the flattening processing unit 60 can be realized by executing the one program to the CPU 91. 本実施形態では、詳細設計は周知技術を用いて行うようにしていることから、領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、及びモジュール分割部58は1プログラム(以降「レイアウト設計支援プログラム」と呼ぶ)により実現し、サブモジュール詳細設計部59は詳細設計用のツールの実行により実現させている。 In the present embodiment, since the detailed design is to perform using known techniques, the region dividing unit 51, the already wiring terminal section 52, prohibits the mapping unit 53, the terminal side setting unit 54, the wiring length prediction unit 55, assignment order determination unit 56, implemented by the terminal assigning section 57, and the module division unit 58 1 program (hereinafter referred to as "layout design support program"), realized by the execution of the sub-module detailed design unit 59 for the detailed design tool It is made to. そのレイアウト設計支援プログラムは、外部記憶装置95、或いは記録媒体Mに格納しても良いが、ネットワーク接続装置97を介して外部装置から随時、取得しても良い。 A layout design support program, the external storage device 95, or may be stored in a recording medium M but from time to time from an external device via the network connection device 97 may acquire.

なお、本実施形態では、グリッド点を避けた境界の設定はモジュールのブロックへの分割のために行っているが、モジュールへの分割に用いても良い。 In the present embodiment, the configuration of the boundary to avoid a grid point is performed for division into blocks of modules may be used for division into modules. ブロック端子の位置の割当方法、配線禁止範囲の設定についても同様に、モジュールへの分割のために採用しても良い。 The method of allocation position of the block terminals, the same applies to the setting of the wiring prohibited range may be employed for the division into modules.

以上の変形例を含む実施形態に関し、更に以下の付記を開示する。 Relates embodiment including a modification of the above, the following additional statements are further disclosed.
(付記1) (Note 1)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、 Arrangement of cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring,
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、 A first step of dividing the first module obtained by dividing the semiconductor integrated circuit into a plurality of second modules,
前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、 Every second module divided by the first step, a second step of implementing the arrangement of the cells in the second module, and the detailed design of the layout to determine the wiring,
を含むことを特徴とするレイアウト設計方法。 Layout design method, which comprises a.
(付記2) (Note 2)
前記第1の工程では、前記第2のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定する、 In the first step, divided into the second module, avoiding the grid point as a basic unit of the wiring, to set the boundary between the adjacent other second module,
ことを特徴とする付記1記載のレイアウト設計方法。 Layout design method according to Supplementary Note 1, wherein the.
(付記3) (Note 3)
前記第1の工程では、前記境界を通る配線が存在する場合、該境界上に、該境界の直交方向上に該境界を挟んで隣接する2つのグリッド点間を結ぶ幅のモジュール端子を配置する、 In the first step, when the wiring through said boundary is present, placed boundary on the module terminals of the width connecting the two grid points adjacent to each other across the boundary on the orthogonal direction of the boundary ,
ことを特徴とする付記1記載のレイアウト設計方法。 Layout design method according to Supplementary Note 1, wherein the.
(付記4) (Note 4)
前記第1の工程では、前記境界を通る配線が存在する場合、該配線によって接続される2つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、 In the first step, when the wiring through said boundary is present, based on between two pins connected by wiring, in terms of assigning a position of the module terminal to place the boundary on for wiring determines the priority assigned to the position of the module terminal for each wiring according the priority level,
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、 In the second step, implementing the detailed design by using the position assigned to the module terminal,
ことを特徴とする付記1記載のレイアウト設計方法。 Layout design method according to Supplementary Note 1, wherein the.
(付記5) (Note 5)
前記優先度は、前記2つのピン間を結ぶ矩形を想定し、該矩形が前記境界と交わる幅、及び該矩形の該境界と直交する方向上の幅を基に決定する、 The priority assumes a rectangular connecting between said two pins, determining the width of the rectangle intersects with the boundary, and based on the width of the direction perpendicular to the boundary of the rectangle,
ことを特徴とする付記4記載のレイアウト設計方法。 Layout design method according to Supplementary Note 4, wherein the.
(付記6) (Note 6)
前記第1の工程では、前記境界の近傍に配置された配線上の障害物を基に、前記モジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、 In the first step, based on the obstacle on the disposed in the vicinity of the boundary line, it sets the prohibited range that does not place the module terminal boundary on, of the module terminals to avoid the prohibited range position assigned to,
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、 In the second step, implementing the detailed design by using the position assigned to the module terminal,
ことを特徴とする付記1記載のレイアウト設計方法。 Layout design method according to Supplementary Note 1, wherein the.
(付記7) (Note 7)
前記障害物は、前記配置が決定されているセル、既存の配線、及びビアホールを含む、 The obstacle, the cell in which the placement has been determined, the existing wiring, and a via hole,
ことを特徴とする付記6記載のレイアウト設計方法。 Layout design method according to Supplementary Note 6, wherein the.
(付記8) (Note 8)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、 Arrangement of cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring,
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第1の工程と、 When dividing the semiconductor integrated circuit, a first step of setting the boundary to avoid a grid point as a basic unit of the wire,
前記第1の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第2の工程と、 Along the boundary set by the first step, a second step of dividing the semiconductor integrated circuit into a plurality of modules,
前記第2の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、 Each module divided by the second step, a third step of carrying out the detailed design of the layout to determine placement of the cells in the module, and the wiring,
を含むことを特徴とするレイアウト設計方法。 Layout design method, which comprises a.
(付記9) (Note 9)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、 Arrangement of cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring,
前記半導体集積回路を分割する境界を設定する第1の工程と、 A first step of setting the boundary for dividing the semiconductor integrated circuit,
前記第1の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第2の工程と、 If the wire through the boundaries set by the first step is present, in terms of the basis between the two pins connected by the wiring, it assigns the position of the module terminal to place the boundary on for wiring the priority determined in a second step of assigning the position of the module terminal for each wiring according the priority level,
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、 Each module obtained by dividing the semiconductor integrated circuit along the boundary, the third step carrying out the detailed design of the layout to determine the arrangement of the cells, and wiring by using the position assigned to the module terminals When,
を含むことを特徴とするレイアウト設計方法。 Layout design method, which comprises a.
(付記10) (Note 10)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、 Arrangement of cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring,
前記半導体集積回路を分割する境界を設定する第1の工程と、 A first step of setting the boundary for dividing the semiconductor integrated circuit,
前記第1の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第2の工程と、 Said first extracting the obstacle on wire disposed in the vicinity of the boundary set in step based on the obstacle, the module for connection between two modules obtained by dividing along the boundary set the forbidden range not place the terminal in the boundary on, a second step of assigning the position of the module pin to avoid the prohibited range,
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、 Each module obtained by dividing the semiconductor integrated circuit along the boundary, the third step carrying out the detailed design of the layout to determine the arrangement of the cells, and wiring by using the position assigned to the module terminals When,
を含むことを特徴とするレイアウト設計方法。 Layout design method, which comprises a.
(付記11) (Note 11)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、 Arrangement of cells constituting a semiconductor integrated circuit, and in the layout design support apparatus for supporting a layout design for determining the wiring,
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、 A first dividing means for dividing the first module obtained by dividing the semiconductor integrated circuit into a plurality of second modules,
前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、 Every second module the first dividing means is divided, and a second dividing means for implementing the arrangement of the cells in the second module, and the detailed design of the layout to determine the wiring,
を具備することを特徴とするレイアウト設計支援装置。 The layout design support apparatus characterized by comprising a.
(付記12) (Note 12)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、 Arrangement of cells constituting a semiconductor integrated circuit, and in the layout design support apparatus for supporting a layout design for determining the wiring,
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、 When dividing the semiconductor integrated circuit, the boundary setting means for setting a boundary to avoid the grid point as a basic unit of the wire,
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、 Along the boundary of the boundary setting means has set a dividing means for dividing the semiconductor integrated circuit into a plurality of modules,
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、 Each module the dividing means is divided, and detailed design means for implementing the detailed design of the layout to determine placement of the cells in the module, and the wiring,
を具備することを特徴とするレイアウト設計支援装置。 The layout design support apparatus characterized by comprising a.
(付記13) (Supplementary Note 13)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、 Arrangement of cells constituting a semiconductor integrated circuit, and in the layout design support apparatus for supporting a layout design for determining the wiring,
前記半導体集積回路を分割する境界を設定する境界設定手段と、 A boundary setting means for setting a boundary for dividing the semiconductor integrated circuit,
前記境界設定手段が設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる位置割当手段と、 If the wire through the boundary the boundary setting means is set is present, based on between two pins connected by wiring, in terms of assigning a position of the module terminal to place the boundary on for wiring determining the priority, and a position assignment means for assigning the position of the module terminal for each wiring according the priority level,
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、 Each module obtained by dividing the semiconductor integrated circuit along the boundary, and the detailed design means for implementing the detailed design of the layout to determine the arrangement of the cells, and wiring by using the position assigned to the module terminals ,
を具備することを特徴とするレイアウト設計支援装置。 The layout design support apparatus characterized by comprising a.
(付記14) (Note 14)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、 Arrangement of cells constituting a semiconductor integrated circuit, and in the layout design support apparatus for supporting a layout design for determining the wiring,
前記半導体集積回路を分割する境界を設定する境界設定手段と、 A boundary setting means for setting a boundary for dividing the semiconductor integrated circuit,
前記境界設定手段が設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる位置割当手段と、 Extract the obstacles on wiring the demarcation means is disposed in the vicinity of the boundary set, based on the obstacle, the module terminals for connection between the two modules obtained by dividing along the boundary the set prohibited range not disposed boundary on the position assigning means for assigning the position of the module pin to avoid the prohibited range,
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、 Each module obtained by dividing the semiconductor integrated circuit along the boundary, and the detailed design means for implementing the detailed design of the layout to determine the arrangement of the cells, and wiring by using the position assigned to the module terminals ,
を具備することを特徴とするレイアウト設計支援装置。 The layout design support apparatus characterized by comprising a.
(付記15) (Note 15)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、 By installing the information processing apparatus, the arrangement of the cells constituting a semiconductor integrated circuit, and in the layout design support program for realizing the layout design support apparatus for supporting a layout design for determining the wiring,
前記情報処理装置に、 To the information processing apparatus,
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定するステップと、 Setting a boundary when dividing the semiconductor integrated circuit, avoiding the grid point as a basic unit of the wire,
前記設定するステップにより設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割するステップと、 A step along the boundary set by step, dividing the semiconductor integrated circuit into a plurality of modules for the set,
を実行させるためのレイアウト設計支援プログラム。 The layout design support program for the execution.
(付記16) (Supplementary Note 16)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、 By installing the information processing apparatus, the arrangement of the cells constituting a semiconductor integrated circuit, and in the layout design support program for realizing the layout design support apparatus for supporting a layout design for determining the wiring,
前記情報処理装置に、 To the information processing apparatus,
前記半導体集積回路を分割する境界を設定するステップと、 Setting a boundary for dividing the semiconductor integrated circuit,
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、 If the wire through the boundaries set by the step of setting is present, based on between two pins connected by wiring, in terms of assigning a position of the module terminal to place the boundary on for wiring determining the priority, and assigning the position of the module terminal for each wiring according the priority level,
を実行させるためのレイアウト設計支援プログラム。 The layout design support program for the execution.
(付記17) (Note 17)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、 By installing the information processing apparatus, the arrangement of the cells constituting a semiconductor integrated circuit, and in the layout design support program for realizing the layout design support apparatus for supporting a layout design for determining the wiring,
前記情報処理装置に、 To the information processing apparatus,
前記半導体集積回路を分割する境界を設定するステップと、 Setting a boundary for dividing the semiconductor integrated circuit,
前記設定するステップにより設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てるステップと、 Extract the obstacles on wire disposed in the vicinity of the boundary set by the step of setting, based on the obstacle, the module terminals for connection between the two modules obtained by dividing along the boundary the set prohibited range not disposed boundary on, assigning a position of the module pin to avoid the prohibited range,
を実行させるためのレイアウト設計支援プログラム。 The layout design support program for the execution.

51 領域分割部 52 器配線端子化部 53 禁止マッピング部 54 端子辺設定部 55 配線長予測部 56 割当順決定部 57 端子割当部 58 モジュール分割部 59 サブモジュール詳細設計部 60 フラット化処理部 51 area divider 52 circuit wiring terminal section 53 prohibits the mapping unit 54 terminal side setting unit 55 the wiring length prediction unit 56 assignment order determination unit 57 the terminal allocation unit 58 module division unit 59 submodules detailed design portion 60 the flat processing unit

Claims (3)

  1. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、 Arrangement of cells constituting a semiconductor integrated circuit, and a method for implementing a layout design for determining the wiring,
    コンピュータ Computer,
    前記半導体集積回路を分割する境界を設定する第1の工程と、 A first step of setting the boundary for dividing the semiconductor integrated circuit,
    前記第1の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間を結ぶ矩形の該境界と平行な方向における第1の長さと、該境界と直交する方向における第2の長さとに基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第2の工程と、 If the wire through the boundaries set by the first step is present, the first and the length in the rectangular boundary in a direction parallel connecting the two pins connected by the wiring, perpendicular to the boundary based on the second and the length in the direction to determine the priority in terms of allocating a location of the module terminal to place the boundary on for wiring, the location of the module terminal for each wiring according the priority degree a second step of assigning,
    前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、 Each module obtained by dividing the semiconductor integrated circuit along the boundary, the third step carrying out the detailed design of the layout to determine the arrangement of the cells, and wiring by using the position assigned to the module terminals When,
    を実行することを特徴とするレイアウト設計方法。 Layout design method which is characterized in that the run.
  2. 前記第2の工程は、前記第1の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる、 The second step, the first extracting the obstacle on wire disposed in the vicinity of the boundary set in step based on the obstacle, the two obtained by dividing along the boundary set the forbidden range not place a module terminal for connection between modules in the boundary on assigns the position of the module pin to avoid the prohibited range,
    ことを特徴とする請求項1記載のレイアウト設計方法。 Layout design method of claim 1, wherein a.
  3. 情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、 By installing the information processing apparatus, the arrangement of the cells constituting a semiconductor integrated circuit, and in the layout design support program for realizing the layout design support apparatus for supporting a layout design for determining the wiring,
    前記情報処理装置に、 To the information processing apparatus,
    前記半導体集積回路を分割する境界を設定するステップと、 Setting a boundary for dividing the semiconductor integrated circuit,
    前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間を結ぶ矩形の該境界と平行な方向における第1の長さと、該境界と直交する方向における第2の長さとに基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、 If the wire through the boundaries set by the step of setting is present, the first and the length in the boundary and parallel to the direction of the rectangle connecting the two pins connected by wiring, a direction perpendicular to the boundary based on the second and length in, and determines the priority in terms of allocating a location of the module terminal to place the boundary on for wiring, assigns the position of the module terminal for each wiring according the priority degree and the step,
    を実行させるためのレイアウト設計支援プログラム。 The layout design support program for the execution.
JP2014130791A 2014-06-25 2014-06-25 Layout design method and layout design support program Active JP5900540B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014130791A JP5900540B2 (en) 2014-06-25 2014-06-25 Layout design method and layout design support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014130791A JP5900540B2 (en) 2014-06-25 2014-06-25 Layout design method and layout design support program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013142892 Division 2008-09-22

Publications (2)

Publication Number Publication Date
JP2014170595A true JP2014170595A (en) 2014-09-18
JP5900540B2 true JP5900540B2 (en) 2016-04-06

Family

ID=51692870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014130791A Active JP5900540B2 (en) 2014-06-25 2014-06-25 Layout design method and layout design support program

Country Status (1)

Country Link
JP (1) JP5900540B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159025A (en) * 1991-12-04 1993-06-25 Fujitsu Ltd Area division wiring system
JPH07147324A (en) * 1993-11-24 1995-06-06 Nippon Steel Corp Treatment method of automatic arrangement and wiring by cad apparatus
JP2836516B2 (en) * 1995-01-09 1998-12-14 日本電気株式会社 Automatic routing system
JP3351651B2 (en) * 1995-04-07 2002-12-03 富士通株式会社 Interactive circuit designing apparatus
JP3175812B2 (en) * 1995-08-04 2001-06-11 株式会社日立製作所 Semiconductor integrated circuit wiring method
JP2000057175A (en) * 1998-08-04 2000-02-25 Matsushita Electric Ind Co Ltd Automatic wiring system of semi-conductor integrated circuit device
US6857116B1 (en) * 2000-11-15 2005-02-15 Reshape, Inc. Optimization of abutted-pin hierarchical physical design
JP2004259167A (en) * 2003-02-27 2004-09-16 Renesas Technology Corp Sharing wiring design system and sharing wiring design method

Also Published As

Publication number Publication date Type
JP2014170595A (en) 2014-09-18 application

Similar Documents

Publication Publication Date Title
Kleinhans et al. GORDIAN: VLSI placement by quadratic programming and slicing optimization
US6068662A (en) Method and apparatus for congestion removal
Sechen VLSI placement and global routing using simulated annealing
Huang et al. Partitioning-based standard-cell global placement with an exact objective
Das et al. Design tools for 3-D integrated circuits
US6519751B2 (en) Method and apparatus for accurate crosspoint allocation in VLSI area routing
US6123736A (en) Method and apparatus for horizontal congestion removal
US6473891B1 (en) Wire routing to control skew
US6086631A (en) Post-placement residual overlap removal method for core-based PLD programming process
US5583788A (en) Automatic layout design method of wirings in integrated circuit using hierarchical algorithm
US20020073390A1 (en) Method and apparatus for using a diagonal line to measure an attribute of a bounding box of a net
US4500963A (en) Automatic layout program for hybrid microcircuits (HYPAR)
US20040040007A1 (en) Method for eliminating routing congestion in an IC layout
US7197738B1 (en) Method and apparatus for routing
US6557145B2 (en) Method for design optimization using logical and physical information
US6378121B2 (en) Automatic global routing device for efficiently determining optimum wiring route on integrated circuit and global routing method therefor
US6209123B1 (en) Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors
US20130097574A1 (en) Method of analytical placement with weighted-average wirelength model
US20060064653A1 (en) Automatic layout yield improvement tool for replacing vias with redundant vias through novel geotopological layout in post-layout optimization
US6463575B1 (en) Cell-layout method in integrated circuit devices
US7171635B2 (en) Method and apparatus for routing
US4890238A (en) Method for physical VLSI-chip design
US20060168551A1 (en) Integrated circuit having a multi-layer structure and design method thereof
US7080342B2 (en) Method and apparatus for computing capacity of a region for non-Manhattan routing
US7065729B1 (en) Approach for routing an integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160222

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5900540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150