JP2013235601A - Layout design method, device, and program - Google Patents

Layout design method, device, and program Download PDF

Info

Publication number
JP2013235601A
JP2013235601A JP2013142892A JP2013142892A JP2013235601A JP 2013235601 A JP2013235601 A JP 2013235601A JP 2013142892 A JP2013142892 A JP 2013142892A JP 2013142892 A JP2013142892 A JP 2013142892A JP 2013235601 A JP2013235601 A JP 2013235601A
Authority
JP
Japan
Prior art keywords
wiring
boundary
module
integrated circuit
semiconductor integrated
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.)
Granted
Application number
JP2013142892A
Other languages
Japanese (ja)
Other versions
JP5672341B2 (en
Inventor
Ryoichi Yamashita
良一 山下
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 JP2013142892A priority Critical patent/JP5672341B2/en
Publication of JP2013235601A publication Critical patent/JP2013235601A/en
Application granted granted Critical
Publication of JP5672341B2 publication Critical patent/JP5672341B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a technique for more properly performing detailed layout design.SOLUTION: A layout design method includes: a process P1 in which a floor plan is performed; a process P2 in which each of modules, into which a semiconductor integrated circuit is divided through the floor plan, is divided into smaller sub-modules; a process P3 in which locations of module terminals for connection between the sub-modules are determined; a process P4 in which cell arrangement is determined for each of the sub-modules; a process P5 in which wiring for connection between cells is determined; and a process P6 in which manufacturing data for manufacturing the semiconductor integrated circuit is created. Division into the sub-modules is performed except grid point being basic units of the wiring.

Description

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

CPUなどのように高い周波数での動作を要求される大規模半導体集積回路(LSI:Large Scale Integrated−circuit)の設計には、多くの工程が存在する。近年は、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大により、LSI全体を扱うレイアウト設計は困難な状況となっている。このためレイアウト設計は、全体を複数のモジュールに分割し、モジュール毎に並行して進める形態をとるのが普通となっている。   There are many steps in designing a large scale integrated-circuit (LSI) that requires operation at a high frequency, such as a CPU. In recent years, layout design that handles the entire LSI has become difficult due to miniaturization due to progress in processing technology and an increase in circuit scale accompanying the miniaturization. For this reason, the layout design is usually divided into a plurality of modules and advanced in parallel for each module.

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

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

高速動作や加工の微細化は、信号の配線遅延の影響を深刻にさせている。また、平行する2つの配線間に生じる配線間容量であるカップリング容量の存在により、一方を流れる信号の変化が他方に起電力を誘起させることにより、クロストークノイズを発生させる。そのクロストークノイズは、遅延増や誤動作といった不具合を引き起こすことが知られている。このようなことから近年では、レイアウト設計の初期段階でも不具合の発生を考慮した設計が求められるようになっている。   High-speed operation and miniaturization of processing make the influence of signal wiring delay serious. In addition, due to the presence of a coupling capacitance that is an inter-wiring capacitance generated between two parallel wires, a change in a signal flowing through one induces an electromotive force in the other, thereby generating crosstalk noise. The crosstalk noise is known to cause problems such as increased delay and malfunction. For these reasons, in recent years, there has been a demand for designs that take into account the occurrence of defects even at the initial stage of layout design.

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

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

この従来のレイアウト設計支援装置は、論理設計された半導体集積回路、例えばネットリストを入力し、フロアプラン設計により半導体集積回路を複数のモジュールに分解し、モジュール毎にセルの配置、及び配線を決定する詳細(実装)設計を支援する。このために、モジュール形状決定部11、概略配線部12、端子位置調整部13、モジュール分割部14、及び詳細設計部15を備えている。   This conventional layout design support device inputs a logically designed semiconductor integrated circuit, for example, a net list, disassembles the semiconductor integrated circuit into a plurality of modules by floor plan design, and determines cell arrangement and wiring for each module. Support detailed (implementation) design. For this purpose, a module shape determining unit 11, a schematic wiring unit 12, a terminal position adjusting unit 13, a module dividing unit 14, and a detailed design unit 15 are provided.

モジュール形状決定部11は、設計者の指示に従い、半導体集積回路を分割するモジュールの形状、配置を決定するフロアプランを行う。モジュールは半導体集積回路の一部分であり、モジュール間では論理設計によって定められた信号の授受が行われる。授受すべき信号は、モジュールへの機能の割り当てに伴って自動的に決まる。概略配線部12は、モジュール間で信号を授受するための概略配線を決定する。端子位置調整部13は、概略配線の決定によって配置範囲が制限されるモジュール端子の位置を調整(変更)する。モジュール分割部14は、フロアプラン結果に従って、半導体集積回路を複数のモジュールに分割する。   The module shape determining unit 11 performs a floor plan for determining the shape and arrangement of the modules that divide the semiconductor integrated circuit according to the instructions of the designer. A module is a part of a semiconductor integrated circuit, and a signal determined by logic design is exchanged between the modules. The signals to be exchanged are automatically determined according to the assignment of functions to the modules. The schematic wiring unit 12 determines schematic wiring for transmitting and receiving signals between modules. The terminal position adjustment unit 13 adjusts (changes) the position of the module terminal whose arrangement range is limited by determining the schematic wiring. The module dividing unit 14 divides the semiconductor integrated circuit into a plurality of modules according to the floor plan result.

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

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

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

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

図3は、別のモジュール分割例を示す図である。この分割例は、半導体集積回路40を2つのモジュール41及び42に分割した場合のものである。この図3でもモジュールは「BLOCK」と表記している。モジュール41及び42を分ける実線は境界を示している。   FIG. 3 is a diagram illustrating another example of module division. In this division example, the semiconductor integrated circuit 40 is divided into two modules 41 and 42. Also in FIG. 3, the module is described as “BLOCK”. A solid line separating modules 41 and 42 indicates a boundary.

モジュール41では、セルはモジュール42との境界から比較的に離れた位置に配置し、モジュール42でも同様に、その境界から比較的に離れた位置に配置している。そのようにして、境界の直交方向上、その境界を挟む形で隣接するセルCL間の距離はより大きくなるようにしている。これは、そのセル間を、互いの配線等が他のモジュールに影響させない緩衝領域とするためである。   In the module 41, the cell is arranged at a position relatively away from the boundary with the module 42. Similarly, in the module 42, the cell is arranged at a position relatively away from the boundary. In this way, the distance between the adjacent cells CL is made larger in the direction perpendicular to the boundary so as to sandwich the boundary. This is because the space between the cells serves as a buffer region where the mutual wiring or the like does not affect other modules.

特開平8−44784号公報JP-A-8-44784 特開2003−30266号公報JP 2003-30266 A 特開2002−215704号公報JP 2002-215704 A 特開平10−116910号公報JP-A-10-116910 特開2001−093980号公報JP 2001-093980 A 特開平04−113473号公報Japanese Patent Laid-Open No. 04-113473

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

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

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

本発明を適用した1システムでは、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するために、半導体集積回路を分割する場合に、配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、境界設定手段が設定した境界に沿って、半導体集積回路を複数のモジュールに分割する分割手段と、分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、を具備する。   In one system to which the present invention is applied, in order to support layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit, grid points serving as basic units of wiring are divided when the semiconductor integrated circuit is divided. Boundary setting means for setting the boundary avoiding, dividing means for dividing the semiconductor integrated circuit into a plurality of modules along the boundary set by the boundary setting means, and cells in the module for each module divided by the dividing means And detailed design means for carrying out detailed design of the layout for determining the layout and wiring.

配線の基本単位となるグリッド点を避けてモジュールの境界を設定することにより、使用できなくなるグリッド点の数を抑制することができる。そのグリッド点の数の抑制により、レイアウトの詳細設計もより適切に実施することができるようになる。セルは、半導体集積回路の構成要素のことであり、過去の設計資産である機能ブロックも含まれる   The number of grid points that cannot be used can be suppressed by setting the module boundaries while avoiding the grid points that are the basic unit of wiring. By controlling the number of grid points, the detailed layout design can be implemented more appropriately. A cell is a component of a semiconductor integrated circuit, and includes functional blocks that are past design assets.

本発明を適用した場合には、レイアウトの詳細設計をより適切に実施できるようになる。   When the present invention is applied, detailed layout design can be implemented more appropriately.

従来のレイアウト設計支援装置の機能構成図である。It is a functional block diagram of the conventional layout design support apparatus. モジュール分割例を示す図である。It is a figure which shows the module division example. 別のモジュール分割例を示す図である。It is a figure which shows another example of module division. 本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。It is a figure which shows the schematic flow of the layout design realizable by application of this embodiment. 本実施形態によるレイアウト設計支援装置の機能構成図である。It is a functional block diagram of the layout design support apparatus by this embodiment. モジュールの分割方法の説明図である。It is explanatory drawing of the division method of a module. ブロックに分割する境界の設定方法の説明図である。It is explanatory drawing of the setting method of the boundary divided | segmented into a block. ブロック間の接続用に配置するブロック(モジュール)端子の説明図である。It is explanatory drawing of the block (module) terminal arrange | positioned for the connection between blocks. マッピングされる配置禁止範囲の説明図である(その1)。It is explanatory drawing of the arrangement | positioning prohibition range mapped (the 1). マッピングされる配置禁止範囲の説明図である(その2)It is explanatory drawing of the arrangement | positioning prohibition range mapped (2) 境界を通過する配線の区間を設定する方法の説明図である。It is explanatory drawing of the method of setting the area of the wiring which passes a boundary. 配線長の予測方法の説明図である。It is explanatory drawing of the prediction method of wiring length. 端子位置制御表の内容例を示す図である。It is a figure which shows the example of the content of a terminal position control table. ブロック端子の配置例の説明図である。It is explanatory drawing of the example of arrangement | positioning of a block terminal. 禁止マッピング処理のフローチャートである。It is a flowchart of a prohibition mapping process. セル禁止設定処理のフローチャートである。It is a flowchart of a cell prohibition setting process. ワイヤ・ビア禁止設定処理のフローチャートである。It is a flowchart of a wire / via prohibition setting process. ネット(Net)区間長算出処理のフローチャートである。It is a flowchart of a net (Net) section length calculation process. 端子位置割当処理のフローチャートである。It is a flowchart of a terminal position allocation process. 本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the computer which can apply this invention.

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

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

工程P4及びP5は、詳細設計として実施される。本実施形態では、フロアプランにより得られたモジュールを更にサブモジュールに分割し、詳細設計を実施する。配線の決定に要する処理時間はセル(セルに設けられたピン)が多くなる程、指数関数的に増大する。このため、サブモジュールに分割することにより、配線の決定はより短い処理時間で行うことができるようになる。サブモジュールへの分割、その分割に伴い実施するモジュール端子の位置決定を行っても、全体の処理時間は大幅に短縮される。ここでのセルとは、論理設計された半導体集積回路の構成要素の総称であり、過去の設計資産である機能ブロック(IP:Intellectual Property)等も含んでいる。   Steps P4 and P5 are performed as a detailed design. In this embodiment, the module obtained by the floor plan is further divided into sub-modules, and detailed design is performed. The processing time required for determining the wiring increases exponentially as the number of cells (pins provided in the cells) increases. For this reason, by dividing into sub-modules, the wiring can be determined in a shorter processing time. Even if the division into sub-modules and the determination of the position of the module terminal performed in accordance with the division are performed, the entire processing time is greatly reduced. The cell here is a generic term for components of a semiconductor integrated circuit that has been logically designed, and includes functional blocks (IP: Intelligent Property) that are past design assets.

図5は、本実施形態によるレイアウト設計支援装置の機能構成図である。このレイアウト設計支援装置(以降「支援装置」と略記)は、フロアプラン結果、つまり論理設計された半導体集積回路(LSI)を分割して得られるモジュールを対象にしたレイアウト設計を支援する装置として実現されている。そのレイアウト設計を支援するために、領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、モジュール分割部58、サブモジュール詳細設計部59、及びフラット化処理部60を備えている。   FIG. 5 is a functional configuration diagram of the layout design support apparatus according to the present embodiment. This layout design support device (hereinafter abbreviated as “support device”) is realized as a device that supports layout design for modules obtained by dividing floor plan results, that is, logically designed semiconductor integrated circuits (LSIs). Has been. In order to support the layout design, the area dividing unit 51, the existing wiring terminal converting unit 52, the prohibited mapping unit 53, the terminal side setting unit 54, the wiring length prediction unit 55, the allocation order determining unit 56, the terminal allocation unit 57, the module A division unit 58, a sub-module detailed design unit 59, and a flattening processing unit 60 are provided.

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

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

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

従来は、図7の左側に示すように、境界を示す境界線BL1は隣接するグリッド点を通る直線で設定する。これに対し本実施形態では、隣接するグリッド点を通らない直線も境界線BL2として扱う。このため、横方向上の境界の位置は横方向に隣接するグリッド点間となっている。このようにグリッド点間に境界を設定するのは以下のような理由からである。   Conventionally, as shown on the left side of FIG. 7, the boundary line BL1 indicating the boundary is set as a straight line passing through adjacent grid points. On the other hand, in this embodiment, a straight line that does not pass through adjacent grid points is also handled as the boundary line BL2. For this reason, the position of the boundary in the horizontal direction is between grid points adjacent in the horizontal direction. The reason why the boundary is set between the grid points in this way is as follows.

グリッド点は、配線の基本単位であることから、経路は隣接するグリッド点を通る直線の組み合わせとして決定される。このため、隣接するグリッド点を通る直線のみで境界を設定した場合、経路として用いることが可能なグリッド点の数が少なくなる。そのグリッド点の数の低下は、図3に示すような緩衝領域を新たに設ける、つまり緩衝領域分のグリッド点を追加すれば回避することができる。しかし、緩衝領域を新たに設けることは、フロアプラン結果をそのまま用いることができないことを意味する。従って、データの表現、或いは管理が煩雑化することになる。   Since a grid point is a basic unit of wiring, a route is determined as a combination of straight lines passing through adjacent grid points. For this reason, when a boundary is set only by a straight line passing through adjacent grid points, the number of grid points that can be used as a path is reduced. The decrease in the number of grid points can be avoided by newly providing a buffer area as shown in FIG. 3, that is, adding grid points for the buffer area. However, newly providing a buffer area means that the floor plan result cannot be used as it is. Therefore, data representation or management becomes complicated.

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

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

本実施形態では、モジュールを更にブロック(サブモジュール)に分割することによる階層化を行う。その階層化は、分割したブロックをマージすることで解消させ、フラットにする。そのようにしてフラットにしたデータを再度、領域分割部51で階層化することができる。領域分割部51に入力されるデータをフラットデータD10としているのは、このためである。   In this embodiment, hierarchization is performed by further dividing a module into blocks (submodules). The hierarchization is eliminated by merging the divided blocks and flattened. The data thus flattened can be hierarchized again by the area dividing unit 51. This is why the data input to the area dividing unit 51 is the flat data D10.

フラットデータD10には普通、既に決定した配線(既配線。概略設計、或いは詳細設計により決定される)を示す配線データが含まれている。既配線端子化部52は、既に決定した配線のなかから、ブロック分割のために設定した境界を通過する配線情報(NET)の区間を抽出し、その区間を端子化する。端子化は、設計者の選択に応じて行う。   The flat data D10 normally includes wiring data indicating already determined wiring (existing wiring, determined by schematic design or detailed design). The already-wired terminal unit 52 extracts a section of wiring information (NET) passing through the boundary set for block division from the already determined wirings, and makes the section a terminal. Terminalization is performed according to the designer's choice.

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

ブロック端子t1の境界線と直交する方向上の幅は、2つのブロック内のそれぞれで境界線に最も近いグリッド点間の距離としている。それにより、グリッド点ベースの座標しか配線を扱えない場合であっても、境界を通過する配線による接続を確保しつつ、境界上にブロック間を接続するブロック端子を配置できるようにしている。このことから、端子化は境界線と直交する方向上でその境界線を挟んで隣接するグリッド点間を対象に行うようにしている。   The width in the direction orthogonal to the boundary line of the block terminal t1 is the distance between the grid points closest to the boundary line in each of the two blocks. As a result, even when the wiring can be handled only by coordinates based on the grid points, the block terminals for connecting the blocks can be arranged on the boundary while securing the connection by the wiring passing through the boundary. For this reason, terminalization is performed between adjacent grid points across the boundary line in a direction orthogonal to the boundary line.

境界線と平行な方向上の幅は、図8ではブロック端子を説明するために、端子部分を大きく表現しているが、配線W1と同一幅である。   In FIG. 8, the width in the direction parallel to the boundary line is the same width as the wiring W1, although the terminal portion is shown large in order to describe the block terminal.

禁止マッピング部53は、デザインルール(設計規則)違反にかかるバイオレーション発生を回避するため、境界線に沿った方向上の配線禁止範囲を境界にマッピングする。具体的には、そのマッピングにより、配線を決定する詳細設計の段階において、ショート、スペーシング(間隔)違反などのデザインルール違反のバイオレーションが発生する可能性が比較的に高いと考えられる場所には、配線禁止範囲を示すマスクパターンの配置等によりブロック端子の配置を禁止するようにしている。このため、詳細設計はより適切に行えるようになる。これは、設計を繰り返す回数が少なくなる、設計を繰り返す段階(工程)がより後段で済むようになる、といった形で効果が現れる。マッピングした境界上の配線禁止範囲を示す禁止範囲データをまとめたものは以降「禁止情報」と総称する。   The prohibition mapping unit 53 maps the wiring prohibition range in the direction along the boundary line to the boundary in order to avoid occurrence of violations in violation of the design rule (design rule). Specifically, in the detailed design stage where the wiring is determined by the mapping, it is considered that there is a relatively high possibility that violations of design rules such as shorts and spacing (interval) violations will occur. The arrangement of the block terminals is prohibited by the arrangement of the mask pattern indicating the wiring prohibited range. For this reason, detailed design can be performed more appropriately. This has an effect in that the number of times the design is repeated is reduced, and the stage (process) in which the design is repeated is required later. A summary of the prohibited range data indicating the prohibited wiring range on the mapped boundary is hereinafter collectively referred to as “prohibited information”.

図9及び図10は、マッピングされる配置禁止範囲の説明図である。図9は、境界の直交方向上、一定範囲内に存在する障害物(オブジェクト)であるOB1及びOB2によりマッピングされる配置禁止範囲を示し、図10は、RAMなどのような大規模セルCL11及びCL12が境界の直交方向上、近傍に存在することでマッピングされる配置禁止範囲を示している。図9及び図10において、配置禁止範囲は「×」で表現している。   9 and 10 are explanatory diagrams of the arrangement prohibition range to be mapped. FIG. 9 shows an arrangement prohibition range mapped by OB1 and OB2 which are obstacles (objects) existing within a certain range in the orthogonal direction of the boundary. FIG. 10 shows a large-scale cell CL11 such as a RAM and the like. The arrangement prohibition range mapped by CL12 existing in the vicinity in the orthogonal direction of the boundary is shown. In FIG. 9 and FIG. 10, the arrangement prohibition range is expressed by “x”.

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

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

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

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

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

ステップS13では、抽出したセルは境界に沿った方向上の範囲を全面禁止、或いは部分的禁止とするものか否か判定する。その判定は、例えば境界に沿った方向上で配線を禁止すべき範囲を示す面積情報をセル毎にセル情報D43、若しくはライブラリ等に用意することで行うことができる。抽出したセルの面積情報が配線を禁止すべき範囲を示していないような場合、判定はNoとなってステップS16に移行する。その面積情報が配線を禁止すべき範囲を示していた場合には、判定はYesとなってステップS14に移行する。   In step S13, it is determined whether or not the extracted cell is forbidden as a whole or partially as a range in the direction along the boundary. The determination can be made, for example, by preparing area information indicating a range in which wiring is prohibited in the direction along the boundary in the cell information D43 or a library for each cell. If the extracted cell area information does not indicate a range in which wiring is prohibited, the determination is no and the process proceeds to step S16. If the area information indicates a range where wiring is to be prohibited, the determination is yes and the process proceeds to step S14.

セルの抽出では、対象とすべきセルを抽出できない場合がある。その場合、特には図示していないが、ステップS12からステップS17に移行するようになっている。   In cell extraction, there are cases where a cell to be targeted cannot be extracted. In this case, although not particularly illustrated, the process proceeds from step S12 to step S17.

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

ステップS16では、配線禁止範囲hを設定する対象となる他のセルが有るか否か判定する。他に対象となるセルが存在している場合、判定はYesとなって上記ステップS12に戻り、次に対象とするセルを抽出する。他に対象となるセルが存在しない場合には、判定はNoとなってステップS17に移行する。   In step S16, it is determined whether or not there is another cell that is a target for setting the wiring prohibited range h. If there is another target cell, the determination is yes, the process returns to step S12, and the target cell is extracted next. If there is no other target cell, the determination is no and the process proceeds to step S17.

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

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

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

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

障害物の抽出では、セルと同様に、対象とすべき障害物を抽出できない場合がある。その場合、特には図示していないが、ステップS22からステップS25に移行するようになっている。   In the extraction of the obstacles, there are cases where the obstacles to be targeted cannot be extracted as in the case of the cell. In this case, although not particularly illustrated, the process proceeds from step S22 to step S25.

ステップS24では、他に対象となるワイヤ、或いはビアホールが有るか否か判定する。ワイヤ・ビア情報D52が示すワイヤ、及びビアホールのなかに他に対象となるものが存在していない場合、判定はNoとなってステップS25に移行する。他に対象となるワイヤ、或いはビアホールが存在していた場合には、判定はYesとなって上記ステップS22に戻り、次に対象とするワイヤ、或いはビアホールを抽出する。   In step S24, it is determined whether or not there is another target wire or via hole. If there is no other target among the wires and via holes indicated by the wire / via information D52, the determination is no and the process proceeds to step S25. If there is another target wire or via hole, the determination is yes and the process returns to step S22, and the target wire or via hole is extracted next.

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

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

端子辺設定部54は、ブロック間を接続するブロック端子の配置、つまりセル間を接続させるために境界を通過させる配線の区間を設定する。   The terminal side setting unit 54 sets the arrangement of block terminals that connect blocks, that is, a section of wiring that passes through a boundary to connect cells.

配線区間の設定は、注目するブロック内に信号を他のブロックのセルに出力するセルの出力ピンを抽出して行う。そのような出力ピンが存在しない場合、他のブロックのセルから出力される信号を入力するセルの入力ピンを抽出して行う。ブロック端子の配置は、配線遅延を最小化するために、そのような抽出によって得られる1つ以上のピンからなるグループ内で、配線長が短いと予測されるピンを優先して設定する。ブロック端子の目標位置は、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わる部分に設定する。矩形と交わる境界部分が複数、存在する場合は、より自由度の高いほうを選択して設定を行う。配線長の予測も、その矩形を想定して行うことができる。   The wiring section is set by extracting an output pin of a cell that outputs a signal to a cell of another block in the block of interest. When such an output pin does not exist, an input pin of a cell to which a signal output from a cell of another block is input is extracted. In order to minimize the wiring delay, the arrangement of the block terminals is set with priority given to a pin predicted to have a short wiring length within a group of one or more pins obtained by such extraction. Assuming a rectangle connecting two pins, the target position of the block terminal is set to a portion where the rectangle intersects the boundary. When there are a plurality of boundary portions intersecting with the rectangle, the one with the higher degree of freedom is selected and set. The wiring length can also be estimated assuming the rectangle.

図11は、境界を通過する配線の区間を設定する方法の説明図である。図11に示す例は、モジュール1100をブロック1101及び1102に分割した場合のものである。ブロック1101には、2つのセルCL21及び22が配置され、ブロック1102には2つのセルCL31及び32が配置されている。この図11を参照して、上述したようにして行うブロック端子の位置設定について具体的に説明する。ここでは、セルCL21の出力ピンAaはブロック1102内のセルCL31の入力ピンBcと接続され、セルCL22の入力ピンAbはブロック1102内のセルCL32の入力ピンBdと接続されるものと想定する。つまりブロック1101及び1102間で2つの配線を行うものと想定する。各セルCL21、22、31及び32は、図11中に示す位置に配置されると想定する。図11中に表記の「LSG」はレイアウト・サブグループ(Layout Subgroup)の略である。   FIG. 11 is an explanatory diagram of a method of setting a section of wiring that passes through the boundary. The example shown in FIG. 11 is a case where the module 1100 is divided into blocks 1101 and 1102. Two cells CL 21 and 22 are arranged in the block 1101, and two cells CL 31 and 32 are arranged in the block 1102. With reference to this FIG. 11, the position setting of the block terminal performed as mentioned above is demonstrated concretely. Here, it is assumed that the output pin Aa of the cell CL21 is connected to the input pin Bc of the cell CL31 in the block 1102, and the input pin Ab of the cell CL22 is connected to the input pin Bd of the cell CL32 in the block 1102. That is, it is assumed that two wirings are performed between the blocks 1101 and 1102. It is assumed that the cells CL21, 22, 31, and 32 are arranged at the positions shown in FIG. “LSG” shown in FIG. 11 is an abbreviation for layout subgroup.

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

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

一方、特には図示していないが、ピンAbとピンBdを結ぶ矩形は、2本の直線で示す境界線と交わる。このため、矩形と交わる2つの境界部分のなかから自由度がより高いものを選択することになる。   On the other hand, although not particularly illustrated, the rectangle connecting the pin Ab and the pin Bd intersects the boundary line indicated by two straight lines. For this reason, a higher degree of freedom is selected from two boundary portions intersecting with the rectangle.

自由度は、例えば境界部分の長さか、或いは境界部分を通る経路で使用可能なグリッド点の数に着目して判定する。それにより、境界部分がより長い方、或いはグリッド点の数がより多い方を自由度が高いと見なし、グリッド端子の目標位置を設定する。このとき、既に設定されている他のグリッド端子の目標位置が存在していることから、既存の目標位置を避けて設定を行う。   The degree of freedom is determined by paying attention to, for example, the length of the boundary portion or the number of grid points that can be used in a route passing through the boundary portion. Thereby, the longer boundary portion or the larger number of grid points is regarded as having a high degree of freedom, and the target position of the grid terminal is set. At this time, since the target positions of other grid terminals that have already been set exist, the setting is performed while avoiding the existing target positions.

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

配線遅延をより小さくするために、配線は最短で行う、言い換えれば無駄な迂回を避けることが望まれる。クロストークノイズを考慮する場合、2つの配線が平行となっている部分の長さはより短くするか、或いはその部分が長くなるほど、配線間の距離をより大きくすることが望まれる。このようなことから本実施形態では、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わっている部分の長さLv、及び境界と直交する方向上の長さLhに着目している。長さLvが極端に短いケースでは、ブロック端子の目標位置の設定を優先させなければ迂回が発生する可能性が高い。逆に長さLvが長いケースでは、迂回が発生する可能性が低くなる。このため設定の優先度が低いことが不都合となる可能性は低い。このようなことから、長さLvの考慮によって最短経路の確保、つまり迂回の抑止をすることができる。   In order to further reduce the wiring delay, it is desirable to perform wiring in the shortest time, in other words, avoid unnecessary detours. When crosstalk noise is taken into consideration, it is desired that the length of the portion where the two wirings are parallel is made shorter or the distance between the wirings is made larger as the portion becomes longer. For this reason, the present embodiment assumes a rectangle connecting two pins, and focuses on the length Lv of the portion where the rectangle intersects the boundary and the length Lh in the direction orthogonal to the boundary. . In the case where the length Lv is extremely short, there is a high possibility of detouring unless priority is given to the setting of the target position of the block terminal. On the other hand, in the case where the length Lv is long, the possibility of detouring is reduced. For this reason, it is unlikely that the setting priority is low. For this reason, the shortest path can be secured, that is, detouring can be suppressed by considering the length Lv.

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

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

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

先ず、ステップS31では、ネットリストD61を参照して、全ての配線(ネット)を抽出し、例えばフレーム情報D41を参照してブロック別にソートする。続くステップS32では、配線によって接続されるセルのピン(図中「端子」と表記)を選択して、そのピンの位置を抽出する。その位置の抽出は、例えばセル情報D43、及び各セルの物理形状に係わる情報を格納したライブラリを参照して行う。ステップS33には、その位置の抽出後に移行する。   First, in step S31, all the wirings (nets) are extracted with reference to the net list D61, and sorted by block with reference to, for example, the frame information D41. In a succeeding step S32, a cell pin (indicated by “terminal” in the drawing) connected by wiring is selected, and the position of the pin is extracted. The position is extracted with reference to, for example, the cell information D43 and a library storing information related to the physical shape of each cell. The process proceeds to step S33 after the position is extracted.

ステップS33では、位置を抽出したピンは別のブロックとの間で接続されるか否か判定する。ネットリストD61から、そのピンが別のブロック内に存在するセルのピンと接続されていることが確認できた場合、判定はYesとなってステップS34に移行する。そのピンが同じブロック内のセルが持つピンと接続されることが確認できた場合には、判定はNoとなってステップS32に戻り、別の配線を選択して、その配線によって接続されるピンの位置を抽出する。   In step S33, it is determined whether or not the pin whose position has been extracted is connected to another block. If it can be confirmed from the netlist D61 that the pin is connected to the pin of a cell existing in another block, the determination is yes and the process proceeds to step S34. If it is confirmed that the pin is connected to a pin of a cell in the same block, the determination is no, the process returns to step S32, another wiring is selected, and the pin connected by the wiring is selected. Extract position.

ステップS33からステップS32に移行した場合、他に対象となる配線を選択できるとは限らない。このことから、特には図示していないが、ステップS32では、他に対象となる配線が残っていなければ、ここで区間長算出処理を終了するようになっている。   When the process proceeds from step S33 to step S32, it is not always possible to select another target wiring. For this reason, although not particularly illustrated, in step S32, if there is no remaining target wiring, the section length calculation process is terminated here.

ステップS34では、配線で結ばれる他のピン(図中「端子」と表記)を選択する。次のステップS35では、2つのピンを結ぶ矩形を想定し、フレーム情報D41を参照して、その矩形から長さLv及びLhを区間長として算出し、配線を示す配線情報と共に算出した区間長をネット区間長情報D62として保存する。その保存により、1区間長の算出に係わる一連の処理が終了する。実際には、区間長を保存した後、他に対象となる配線が有るか否かの判定を行い、他に対象となる配線が有ることで判定がYesとなれば上記ステップS32に戻る。逆に、他に対象となる配線が存在しないことで判定はNoとなれば、ここでネット区間長算出処理を終了する。   In step S34, another pin (indicated as “terminal” in the figure) connected by wiring is selected. In the next step S35, a rectangle connecting two pins is assumed, the frame information D41 is referred to, the lengths Lv and Lh are calculated as the section length from the rectangle, and the section length calculated together with the wiring information indicating the wiring is calculated. Saved as net section length information D62. By the storage, a series of processes relating to the calculation of the length of one section is completed. Actually, after saving the section length, it is determined whether or not there is another target wiring. If there is another target wiring and the determination is Yes, the process returns to step S32. Conversely, if the determination is No because there is no other target wiring, the net section length calculation process is terminated here.

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

処理順は、長さLvが短いほど、長さLhが長くなるほど、早くさせる。それら2つの長さLv及びLhは共に処理順を決定するうえで重要な指標である。このため処理順は、例えば長さLv及びLhの組み合わせ別に優先度を定義した表、長さLv及びLhのうちの一方を重視すべき範囲を定義した表、或いはそれら長さLv及びLhを用いて優先度を算出する式などを用意し、表、或いは式を用いて決定するようにしている。   The processing order is made faster as the length Lv is shorter and the length Lh is longer. These two lengths Lv and Lh are both important indexes for determining the processing order. For this reason, the processing order uses, for example, a table in which priority is defined for each combination of lengths Lv and Lh, a table in which a range in which one of lengths Lv and Lh should be emphasized, or lengths Lv and Lh are used. Formulas for calculating the priority are prepared and determined using a table or formula.

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

端子位置制御表には、図13に示すように、配線(ブロック端子の配置)の目標とする配線層、及び割当ピッチが配線長(の範囲)毎に定義されている。配線長の範囲、及び割当ピッチはグリッド点の数で表現された値で定義されている。配線層はL1〜8で表現されている。Lに続く数字が大きくなるほど、上側に位置する上位層である。割当ピッチは、配線長の範囲が同じ配線を想定したものである。配線長(長さLv)が異なる配線間では、配線長が小さい方の割当ピッチが適用される。例えば配線長が1001グリッドを越える配線と、501〜1000までの範囲内の配線長の配線とでは、割当ピッチとして3グリッドが適用される。これは、平行する部分の長さによってノイズの影響の大きさが変化するからである。端子位置制御表は、その平行する部分の長さが長くなるほど、大きい割当ピッチとすることを要求していることから、エラーが発生しないようにブロック端子の配置位置を制御することができる。   In the terminal position control table, as shown in FIG. 13, a target wiring layer of wiring (arrangement of block terminals) and an assigned pitch are defined for each wiring length (range). The range of wiring length and the assigned pitch are defined by values expressed by the number of grid points. The wiring layer is expressed by L1-8. The higher the number following L, the higher the upper layer. The assigned pitch assumes wirings having the same wiring length range. Between wirings having different wiring lengths (length Lv), an allocation pitch with a smaller wiring length is applied. For example, for a wiring having a wiring length exceeding 1001 grid and a wiring having a wiring length in the range of 501 to 1000, 3 grids are applied as the assigned pitch. This is because the influence of noise varies depending on the length of the parallel portions. Since the terminal position control table requires a larger assigned pitch as the length of the parallel portion becomes longer, the arrangement position of the block terminals can be controlled so that no error occurs.

端子位置制御表は、配線長が長くなるほど、より上位層での配線を要求するものとなっている。これは、一般的に上位層となるほど配線遅延は小さくなるためである。   In the terminal position control table, the higher the wiring length, the more the wiring in the upper layer is required. This is because the wiring delay generally decreases as the upper layer is reached.

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

上述したように、長さLhが長いほど高い優先度が割り当てられる。このため、配線長がより長い配線から配置位置が割り当てられる。それにより、配線長が長い配線が大きい割当ピッチで配置され、配線長が短い配線は空いている場所に割り当てられることになる。この結果、境界を横断する配線が高い密度で配置される状況下であっても、図14に示すように、配線遅延、平行な部分の長さを最適化した配置を得ることができる。   As described above, a higher priority is assigned as the length Lh is longer. For this reason, an arrangement position is assigned from a wiring having a longer wiring length. As a result, wirings having a long wiring length are arranged at a large allocation pitch, and wirings having a short wiring length are allocated to vacant places. As a result, even in a situation where wiring crossing the boundary is arranged at a high density, an arrangement in which wiring delay and the length of the parallel part are optimized can be obtained as shown in FIG.

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

先ず、ステップS41では、ネット区間長情報D62を参照し、例えばブロック毎に区間長が長い順に配線情報(ブロック端子)をソートすることにより、処理順を決定する。その処理順は、区間長から優先度を求める方法に依存するが、例えば長さLvが所定長以下のものを最優先とし、所定長より長さLvが長いものは長さLhが長くなるほど優先度を高くすることで決定しても良い。処理順を決定した後はステップS42に移行する。   First, in step S41, the processing order is determined by referring to the net section length information D62 and sorting the wiring information (block terminals) in order of increasing section length for each block, for example. The order of processing depends on the method for obtaining the priority from the section length. For example, the highest priority is given to the length Lv that is equal to or shorter than the predetermined length, and the priority is given to the length Lh that is longer than the predetermined length as the length Lh increases. It may be determined by increasing the degree. After the processing order is determined, the process proceeds to step S42.

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

ステップS46では、サーチした場所からブロック端子の位置を決定し、例えば配線情報と共に端子位置情報D72として保存する。続くステップS47では、他に配置位置を決定すべきブロック端子が有るか否か判定する。ステップS41でソートした配線情報のなかで処理していないものが存在する場合、判定はYesとなって上記ステップS42に戻り、それ以降の処理を同様に実行する。ソートした配線情報のなかで処理していないものが残っていない場合には、判定はNoとなり、ここで端子位置割当処理を終了する。   In step S46, the position of the block terminal is determined from the searched place, and is stored as terminal position information D72 together with the wiring information, for example. In a succeeding step S47, it is determined whether there is another block terminal whose arrangement position is to be determined. If any of the wiring information sorted in step S41 is not processed, the determination is yes, the process returns to step S42, and the subsequent processing is executed in the same manner. If there is no unprocessed wiring information among the sorted wiring information, the determination is no and the terminal position assignment processing is terminated here.

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

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

その詳細設計に用いる小モジュールデータD20は、ブロック分割によりデータ量がフラットデータD10より大幅に小さくなっている。配線の決定に要する時間は、配線の数に応じて指数関数的に長くなる。このため、詳細設計に必要な全体の時間は、フラットデータD10を用いて行う詳細設計に必要な時間と比較してより短くなる。また、データD10を分割したことにより、並列(分散)処理が可能となるため、詳細設計に必要な時間はより短くすることもできる。詳細設計の結果をサブモジュールデータD20に反映させることにより、サブモジュールデータD30が作成される。   The small module data D20 used for the detailed design has a data amount significantly smaller than the flat data D10 due to block division. The time required to determine the wiring becomes exponentially longer depending on the number of wirings. For this reason, the total time required for the detailed design is shorter than the time required for the detailed design performed using the flat data D10. Further, since the data D10 is divided, parallel (distributed) processing becomes possible, so that the time required for detailed design can be further shortened. By reflecting the result of the detailed design in the submodule data D20, submodule data D30 is created.

ブロック端子への位置の割り当ては、回避すべき迂回の発生の抑制、及びバイオレーションの発生の抑制を共に考慮して行っている。このため、詳細設計はより適切に実施できるようになる。配線上の不具合の発生が抑制されることから、配線する経路の探索は迅速に行えるようになり、セルの配置変更等を行う頻度は抑えられる。これらのことから、詳細設計に要する時間も短縮できることとなる。   The assignment of the position to the block terminal is performed in consideration of the suppression of the occurrence of detours to be avoided and the suppression of the occurrence of violations. For this reason, detailed design can be implemented more appropriately. Since the occurrence of defects on the wiring is suppressed, the route for wiring can be quickly searched, and the frequency of changing the cell arrangement or the like can be suppressed. As a result, the time required for detailed design can be shortened.

フラット化処理部60は、サブモジュールデータD30をマージして、モジュールをブロック分割することで生じた階層を消滅させるフラット化を行う。そのフラット化によって得られたフラットデータD10は、何らかの修正や設計変更等を行う場合、領域分割部51の入力データとすることができる。   The flattening processing unit 60 merges the submodule data D30 and performs flattening to eliminate the hierarchy generated by dividing the module into blocks. The flat data D10 obtained by the flattening can be used as input data for the region dividing unit 51 when any correction or design change is performed.

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

図20は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図20を参照して、支援装置として用いることが可能なコンピュータの構成について具体的に説明する。   FIG. 20 is a diagram illustrating an example of a hardware configuration of a computer to which the present invention is applicable. Here, with reference to FIG. 20, a configuration of a computer that can be used as a support apparatus will be described in detail.

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

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

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

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

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

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

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

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

以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、
前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記2)
前記第1の工程では、前記第2のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記3)
前記第1の工程では、前記境界を通る配線が存在する場合、該境界上に、該境界の直交方向上に該境界を挟んで隣接する2つのグリッド点間を結ぶ幅のモジュール端子を配置する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記4)
前記第1の工程では、前記境界を通る配線が存在する場合、該配線によって接続される2つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記5)
前記優先度は、前記2つのピン間を結ぶ矩形を想定し、該矩形が前記境界と交わる幅、及び該矩形の該境界と直交する方向上の幅を基に決定する、
ことを特徴とする付記4記載のレイアウト設計方法。
(付記6)
前記第1の工程では、前記境界の近傍に配置された配線上の障害物を基に、前記モジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記7)
前記障害物は、前記配置が決定されているセル、既存の配線、及びビアホールを含む、
ことを特徴とする付記6記載のレイアウト設計方法。
(付記8)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第1の工程と、
前記第1の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第2の工程と、
前記第2の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記9)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記10)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記11)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、
前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記12)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記13)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記14)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記15)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定するステップと、
前記設定するステップにより設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割するステップと、
を実行させるためのレイアウト設計支援プログラム。
(付記16)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
(付記17)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
The following additional notes are further disclosed with respect to the embodiment including the above modification.
(Appendix 1)
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
A first step of dividing a first module obtained by dividing the semiconductor integrated circuit into a plurality of second modules;
A second step of carrying out a detailed design of a layout for determining the arrangement and wiring of cells in the second module for each second module divided by the first step;
A layout design method comprising:
(Appendix 2)
In the first step, the division into the second module sets a boundary with another adjacent second module, avoiding a grid point as a basic unit of the wiring.
The layout design method according to appendix 1, wherein:
(Appendix 3)
In the first step, when there is a wiring passing through the boundary, a module terminal having a width connecting two adjacent grid points on the boundary in the orthogonal direction of the boundary is disposed on the boundary. ,
The layout design method according to appendix 1, wherein:
(Appendix 4)
In the first step, when there is a wiring that passes through the boundary, on the basis of the location between the two pins connected by the wiring, the position of the module terminal arranged on the boundary is allocated for the wiring. Determine the priority, and assign the position of the module terminal for each wiring according to the priority;
In the second step, the detailed design is performed using a position assigned to the module terminal.
The layout design method according to appendix 1, wherein:
(Appendix 5)
The priority is determined based on a width connecting the two pins and a width of the rectangle intersecting the boundary and a width of the rectangle in a direction orthogonal to the boundary.
The layout design method according to appendix 4, characterized in that:
(Appendix 6)
In the first step, based on an obstacle on the wiring arranged in the vicinity of the boundary, a prohibited range in which the module terminal is not arranged is set on the boundary, and the module terminal is avoided by avoiding the prohibited range. Assign a position,
In the second step, the detailed design is performed using a position assigned to the module terminal.
The layout design method according to appendix 1, wherein:
(Appendix 7)
The obstacle includes a cell in which the arrangement is determined, an existing wiring, and a via hole.
The layout design method according to appendix 6, wherein:
(Appendix 8)
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
When dividing the semiconductor integrated circuit, a first step of setting a boundary avoiding a grid point serving as a basic unit of the wiring;
A second step of dividing the semiconductor integrated circuit into a plurality of modules along the boundary set by the first step;
For each module divided in the second step, a third step of performing detailed design of a layout for determining the arrangement and wiring of cells in the module;
A layout design method comprising:
(Appendix 9)
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
A first step of setting a boundary for dividing the semiconductor integrated circuit;
When there is a wiring that passes through the boundary set in the first step, the position of the module terminal to be arranged on the boundary is allocated for the wiring based on the two pins connected by the wiring. A second step of assigning a position of the module terminal for each wiring according to the priority;
Third step of performing detailed design of layout for determining the arrangement and wiring of the cells using the positions assigned to the module terminals for each module obtained by dividing the semiconductor integrated circuit along the boundary When,
A layout design method comprising:
(Appendix 10)
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
A first step of setting a boundary for dividing the semiconductor integrated circuit;
A module for connection between two modules obtained by extracting an obstacle on the wiring arranged in the vicinity of the boundary set in the first step and dividing along the boundary based on the obstacle A second step of setting a prohibited range on which the terminal is not disposed on the boundary, and assigning the position of the module terminal while avoiding the prohibited range;
Third step of performing detailed design of layout for determining the arrangement and wiring of the cells using the positions assigned to the module terminals for each module obtained by dividing the semiconductor integrated circuit along the boundary When,
A layout design method comprising:
(Appendix 11)
In a layout design support apparatus for supporting layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
First dividing means for dividing a first module obtained by dividing the semiconductor integrated circuit into a plurality of second modules;
For each second module divided by the first dividing means, second dividing means for carrying out detailed design of a layout for determining the arrangement and wiring of cells in the second module;
A layout design support apparatus comprising:
(Appendix 12)
In a layout design support apparatus for supporting layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
When dividing the semiconductor integrated circuit, boundary setting means for setting a boundary avoiding a grid point as a basic unit of the wiring,
A dividing unit that divides the semiconductor integrated circuit into a plurality of modules along the boundary set by the boundary setting unit;
For each module divided by the dividing means, detailed design means for carrying out detailed design of a layout for determining the arrangement of cells and wiring in the module;
A layout design support apparatus comprising:
(Appendix 13)
In a layout design support apparatus for supporting layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
Boundary setting means for setting a boundary for dividing the semiconductor integrated circuit;
When there is a wiring that passes through the boundary set by the boundary setting means, the position of the module terminal arranged on the boundary is allocated for the wiring based on the two pins connected by the wiring. Position allocating means for determining priority and allocating the position of the module terminal for each wiring according to the priority;
Detailed design means for carrying out detailed design of a layout for determining the arrangement of cells and the wiring by using the position assigned to the module terminal for each module obtained by dividing the semiconductor integrated circuit along the boundary ,
A layout design support apparatus comprising:
(Appendix 14)
In a layout design support apparatus for supporting layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
Boundary setting means for setting a boundary for dividing the semiconductor integrated circuit;
A module terminal for connecting two modules obtained by extracting an obstacle on the wiring arranged in the vicinity of the boundary set by the boundary setting means and dividing along the boundary based on the obstacle A position allocating means for setting a prohibited range on the boundary and allocating the position of the module terminal while avoiding the prohibited range;
Detailed design means for carrying out detailed design of a layout for determining the arrangement of cells and the wiring by using the position assigned to the module terminal for each module obtained by dividing the semiconductor integrated circuit along the boundary ,
A layout design support apparatus comprising:
(Appendix 15)
In a layout design support program that realizes a layout design support device that supports layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit by installing in an information processing device,
In the information processing apparatus,
When dividing the semiconductor integrated circuit, setting a boundary avoiding a grid point as a basic unit of the wiring; and
Dividing the semiconductor integrated circuit into a plurality of modules along the boundary set by the setting step;
Layout design support program to execute.
(Appendix 16)
In a layout design support program that realizes a layout design support device that supports layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit by installing in an information processing device,
In the information processing apparatus,
Setting a boundary for dividing the semiconductor integrated circuit;
When there is a wiring that passes through the boundary set by the setting step, the position of the module terminal to be arranged on the boundary is allocated for the wiring on the basis of between the two pins connected by the wiring. Determining a priority and assigning the position of the module terminal for each wiring according to the priority;
Layout design support program to execute.
(Appendix 17)
In a layout design support program that realizes a layout design support device that supports layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit by installing in an information processing device,
In the information processing apparatus,
Setting a boundary for dividing the semiconductor integrated circuit;
Module terminals for connection between two modules obtained by extracting an obstacle on the wiring arranged in the vicinity of the boundary set by the setting step and dividing along the boundary based on the obstacle Setting a prohibited range on the boundary, and assigning the position of the module terminal avoiding the prohibited range; and
Layout design support program to execute.

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

Claims (5)

半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
コンピュータに、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第1の工程と、
前記第1の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第2の工程と、
前記第2の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を実行させることを特徴とするレイアウト設計方法。
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
On the computer,
When dividing the semiconductor integrated circuit, a first step of setting a boundary avoiding a grid point serving as a basic unit of the wiring;
A second step of dividing the semiconductor integrated circuit into a plurality of modules along the boundary set by the first step;
For each module divided in the second step, a third step of performing detailed design of a layout for determining the arrangement and wiring of cells in the module;
A layout design method characterized in that
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
コンピュータに、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を実行させることを特徴とするレイアウト設計方法。
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
On the computer,
A first step of setting a boundary for dividing the semiconductor integrated circuit;
When there is a wiring that passes through the boundary set in the first step, the position of the module terminal to be arranged on the boundary is allocated for the wiring based on the two pins connected by the wiring. A second step of assigning a position of the module terminal for each wiring according to the priority;
Third step of performing detailed design of layout for determining the arrangement and wiring of the cells using the positions assigned to the module terminals for each module obtained by dividing the semiconductor integrated circuit along the boundary When,
A layout design method characterized in that
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
コンピュータに、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を実行させることを特徴とするレイアウト設計方法。
In a method for performing layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
On the computer,
A first step of setting a boundary for dividing the semiconductor integrated circuit;
A module for connection between two modules obtained by extracting an obstacle on the wiring arranged in the vicinity of the boundary set in the first step and dividing along the boundary based on the obstacle A second step of setting a prohibited range on which the terminal is not disposed on the boundary, and assigning the position of the module terminal while avoiding the prohibited range;
Third step of performing detailed design of layout for determining the arrangement and wiring of the cells using the positions assigned to the module terminals for each module obtained by dividing the semiconductor integrated circuit along the boundary When,
A layout design method characterized in that
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
In a layout design support apparatus for supporting layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit,
When dividing the semiconductor integrated circuit, boundary setting means for setting a boundary avoiding a grid point as a basic unit of the wiring,
A dividing unit that divides the semiconductor integrated circuit into a plurality of modules along the boundary set by the boundary setting unit;
For each module divided by the dividing means, detailed design means for carrying out detailed design of a layout for determining the arrangement of cells and wiring in the module;
A layout design support apparatus comprising:
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
In a layout design support program that realizes a layout design support device that supports layout design for determining the arrangement and wiring of cells constituting a semiconductor integrated circuit by installing in an information processing device,
In the information processing apparatus,
Setting a boundary for dividing the semiconductor integrated circuit;
When there is a wiring that passes through the boundary set by the setting step, the position of the module terminal to be arranged on the boundary is allocated for the wiring on the basis of between the two pins connected by the wiring. Determining a priority and assigning the position of the module terminal for each wiring according to the priority;
Layout design support program to execute.
JP2013142892A 2013-07-08 2013-07-08 Layout design method, apparatus and program Expired - Fee Related JP5672341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013142892A JP5672341B2 (en) 2013-07-08 2013-07-08 Layout design method, apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013142892A JP5672341B2 (en) 2013-07-08 2013-07-08 Layout design method, apparatus and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008241942A Division JP5380969B2 (en) 2008-09-22 2008-09-22 Layout design method and apparatus

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2013235601A true JP2013235601A (en) 2013-11-21
JP5672341B2 JP5672341B2 (en) 2015-02-18

Family

ID=49761612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013142892A Expired - Fee Related JP5672341B2 (en) 2013-07-08 2013-07-08 Layout design method, apparatus and program

Country Status (1)

Country Link
JP (1) JP5672341B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03278446A (en) * 1990-03-28 1991-12-10 Toshiba Corp Automatic wiring for semiconductor device
JP2007012687A (en) * 2005-06-28 2007-01-18 Toshiba Corp Design support system, design method, design support program and manufacturing method of semiconductor integrated circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03278446A (en) * 1990-03-28 1991-12-10 Toshiba Corp Automatic wiring for semiconductor device
JP2007012687A (en) * 2005-06-28 2007-01-18 Toshiba Corp Design support system, design method, design support program and manufacturing method of semiconductor integrated circuit

Also Published As

Publication number Publication date
JP5672341B2 (en) 2015-02-18

Similar Documents

Publication Publication Date Title
US10552568B2 (en) Method of modifying cell and global connection routing method
Hsu et al. Routability-driven analytical placement for mixed-size circuit designs
JP4474404B2 (en) Packing-based macro placement method and semiconductor chip using the same
US7503026B2 (en) Cell, standard cell, standard cell library, a placement method using standard cell, and a semiconductor integrated circuit
US8527930B2 (en) Generating and using route fix guidance
US9165106B2 (en) Layout design for electron-beam high volume manufacturing
US7484199B2 (en) Buffer insertion to reduce wirelength in VLSI circuits
US6002857A (en) Symbolic constraint-based system for preroute reconstruction following floorplan incrementing
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
US9003344B2 (en) Generating pattern-based estimated RC data with analysis of route information
US8065649B2 (en) Method and apparatus for routing
JP2006323643A (en) Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit
CN116029254B (en) Integrated circuit layout automatic wiring method and system based on path optimization
US6671867B2 (en) Analytical constraint generation for cut-based global placement
JP5380969B2 (en) Layout design method and apparatus
US8015529B1 (en) Methods and apparatus for diagonal route shielding
US9940422B2 (en) Methods for reducing congestion region in layout area of IC
US20230351087A1 (en) Using machine trained network during routing to modify locations of vias in an ic design
JP5900540B2 (en) Layout design method and layout design support program
US10936784B2 (en) Planning method for power metal lines
JP5672341B2 (en) Layout design method, apparatus and program
KR20040076586A (en) Semiconductor integrated circuit and method of designing semiconductor integrated circuit
JP3548398B2 (en) Schematic route determination method and schematic route determination method
US7107556B1 (en) Method and system for implementing an analytical wirelength formulation for unavailability of routing directions
JPH0512384A (en) Automatic wiring method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5672341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees