JPH02168647A - Manufacture of semiconductor device - Google Patents

Manufacture of semiconductor device

Info

Publication number
JPH02168647A
JPH02168647A JP62294618A JP29461887A JPH02168647A JP H02168647 A JPH02168647 A JP H02168647A JP 62294618 A JP62294618 A JP 62294618A JP 29461887 A JP29461887 A JP 29461887A JP H02168647 A JPH02168647 A JP H02168647A
Authority
JP
Japan
Prior art keywords
cell
module
columns
cells
shuffling
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
JP62294618A
Other languages
Japanese (ja)
Other versions
JP2522806B2 (en
Inventor
Takashi Kimura
隆 木村
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 JP62294618A priority Critical patent/JP2522806B2/en
Publication of JPH02168647A publication Critical patent/JPH02168647A/en
Application granted granted Critical
Publication of JP2522806B2 publication Critical patent/JP2522806B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To enable internal cells of an LSI to be arranged in an optimum pattern at a low cost by dividing all the cell arrays into at least two regions depending on a route of shuffling and positions of a pair of cell arrays for which shuffling is to be performed, and performing shuffling in consideration of relation of connection among the cell arrays in the respective regions. CONSTITUTION:When shuffling is to be performed among cell array numbers 71 73 75 in a module 70, for example, arrays irrelevant to the route of shuffling are also taken into consideration. Accordingly, when shuffling is to be performed for a pair of cell arrays 71 and 73, the cell array 71 is positioned on the lower side and the cell array 73 is positioned on the upper side. The cell arrays 72 and 74 irrelevant to the route in this case are positioned on the lower side and on the upper side, respectively. The cell 71a related closely is once taken out of the cell array 71 to the cell array 73, then transferred to the cell array 72 and arranged close to the cells 73a-73c. In this manner, the cell can be allocated in well-balanced conditions as a whole in consideration of the cost for drawing cells from all the arrays in the module.

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術        (第20.21図)発明が
解決しようとする問題点 問題点を解決するための手段 作用 実施例 本発明の一実施例    (第1〜19図)発明の効果 〔概 要〕 半導体装置の製造方法に関し、 LSIの各内部セルを低コストで最適パターンに配置す
ることのできる半導体装置の製造方法を提供することを
目的とし、 論理ブロックを構成する内部セルの数や形状等に基づい
て多数の内部セルを集合、配置するためのモジュールを
決定する第1の工程と、内部セルを一列に並べるセル列
配置領域にモジュールを分割する第2の工程と、セル列
配M Fijt域に外部端子や所定数の内部セルを集合
させた複数のセル列を割り付ける第3の工程と、内部セ
ルのセル列への割り付けを最適化する第4の工程と、内
部セルのセル列内における配置を最適化する第5の工程
と、内部セルに対する外部端子の列への割り付け変更あ
るいはセル列間の配線についての設定を行うとともに、
外部端子の位置を決定する第6の工程と、を含む半導体
装置の製造方法において、前記第4の工程は、隣り合う
2つのセル列同士でセルを交換するシャフリング法であ
って、該シャフリング法は、シャフリングの径路および
シャフリングを行う列ペアの位置により全ての列を少な
くとも2つの領域に分け、それぞれの領域内にあるセル
列との接続関係を考慮してシャフリングを行うように構
成する。
[Detailed Description of the Invention] [Table of Contents] Overview Industrial Field of Application Prior Art (Figure 20.21) Problems to be Solved by the Invention Means for Solving the Problems Examples of Actions of the Invention Embodiments (Figs. 1 to 19) Effects of the invention [Summary] Regarding a method for manufacturing a semiconductor device, it is an object of the present invention to provide a method for manufacturing a semiconductor device in which each internal cell of an LSI can be arranged in an optimal pattern at low cost. The first step is to determine a module for assembling and arranging a large number of internal cells based on the number and shape of the internal cells constituting a logic block, and the first step is to determine a module for assembling and arranging a large number of internal cells based on the number and shape of the internal cells that make up the logic block. A second step of dividing the module, a third step of allocating a plurality of cell rows in which external terminals and a predetermined number of internal cells are assembled in the cell row arrangement M Fijt area, and a third step of allocating the internal cells to the cell rows. A fourth step of optimizing, a fifth step of optimizing the arrangement of internal cells within cell columns, and changing the allocation of external terminals to internal cells to columns or setting wiring between cell columns. ,
a sixth step of determining the position of an external terminal; the fourth step is a shuffling method of exchanging cells between two adjacent cell columns; In the ring method, all columns are divided into at least two regions according to the shuffling path and the position of the column pair to be shuffled, and shuffling is performed by considering the connection relationship with the cell columns in each region. Configure.

〔産業上の利用分野〕[Industrial application field]

本発明は、半導体装置の製造方法に係り、詳しくは、半
導体集積回路のレイアウト設計の改善を図った半導体装
置の製造方法に関する。
The present invention relates to a method of manufacturing a semiconductor device, and more particularly, to a method of manufacturing a semiconductor device that improves the layout design of a semiconductor integrated circuit.

一般に、半導体集積回路において、チップサイズの概略
値を決め、その内部の大まかな割り振りを決めるのがレ
イアウト設計である。
In general, in a semiconductor integrated circuit, layout design is the process of determining the approximate value of the chip size and determining the approximate internal allocation.

LSIのレイアウト設計を行う際には、設計に要する時
間や労力を削減したり各種検証を容易にするために、素
子(トランジスタやキャパシタ)をチップ上に一つずつ
レイアウトするのではなく、ある程度の論理機能をもっ
た単位、即ち機能ブロック(functional b
lock)ごとのレイアウト設計をあらかじめ完了して
おいた後に、これらの機能ブロック間の配置・配線設計
を行いつつチップ全体のレイアウト設計を完了するのが
普通である。
When designing the layout of an LSI, in order to reduce the time and effort required for design and to facilitate various verifications, rather than laying out elements (transistors and capacitors) one by one on a chip, A unit with logical functions, that is, a functional block
After completing the layout design for each block in advance, the layout design of the entire chip is usually completed while designing the placement and wiring between these functional blocks.

〔従来の技術〕[Conventional technology]

LSIの各論理ブロックを構成する各内部セルの列への
割り付けの最適化は、通常、シャフリング法を用いて行
われる。ここに、シャフリング法とは、隣り合う二つの
セル列同士でセルの交換を行うことで、配置を改善する
方法の一つである。
Optimization of the allocation of each internal cell constituting each logical block of an LSI to columns is normally performed using a shuffling method. Here, the shuffling method is one of the methods for improving the arrangement by exchanging cells between two adjacent cell columns.

このとき、注目する2列以外のセル列との接続関係が重
要で、これは製造コストに影響する。
At this time, the connection relationship with cell columns other than the two columns of interest is important, and this affects the manufacturing cost.

従来のこの種のシャフリング法としては、例えば第20
.21図に示すようなRect (四角)形状のモジュ
ールの場合、次のようにして行われる。すなわち、第2
0図に示すようにチップ内のモジュールlがRec を
形状でこのモジュール1に各セル2〜4が図中左右方向
(横方向)に並ぶ列構造のとき、シャフリングの順序は
1番下の列であるセル2と、その上の列であるセル3と
のシャフリングから初めて上の列へ向かい、1番上の列
であるセル4まで到達したらまた下まで帰ッてくるよう
なプロセスを経ている。これを、セル列番号で示すと、
(2)−一(3) (3)−一(4) (3)←→(2) という順番でシャフリングが行われる。このとき、シャ
フリングの列ペア(例えば、セル2−→3)以外の他の
列(例えば、セル4)が、その列ペアの上又は下にある
という判断は容易にできる。
As a conventional shuffling method of this type, for example, the 20th
.. In the case of a Rect (square) shaped module as shown in FIG. 21, this is carried out as follows. That is, the second
As shown in Figure 0, when the module l in the chip has the shape Rec and the cells 2 to 4 are lined up in the left-right direction (horizontal direction) in the figure, the order of shuffling is The process starts by shuffling cell 2, which is a column, and cell 3, which is the column above it, and then goes to the top column, and when it reaches the top column, cell 4, it returns to the bottom again. It's been a long time. This is indicated by cell column number,
Shuffling is performed in the following order: (2)-1(3) (3)-1(4) (3)←→(2). At this time, it can be easily determined that another column (for example, cell 4) other than the shuffling column pair (for example, cell 2-→3) is above or below that column pair.

一方、第21図に示すようにチップ内のモジュール5が
いわゆる8字形(Shape形)で、このモジュール5
内に各セル6〜10が配置されている場合、モジュール
5の上辺および下辺に接する列はそれぞれ2列ずつあり
、セル列6〜7およびセル列9.10が配置される。し
たがって、下の列から上の列へ向かい、また下へ戻ると
いうシャフリング径路はセル列番号で示すと、次のよう
に4ii1り考えられる。
On the other hand, as shown in FIG. 21, the module 5 in the chip has a so-called 8-shape.
When cells 6 to 10 are arranged within the module 5, there are two columns each touching the upper and lower sides of the module 5, and cell columns 6 to 7 and cell columns 9 and 10 are arranged. Therefore, the shuffling path from the lower row to the upper row and back again can be considered as follows when expressed by cell row numbers.

(6)−→ (8)←→(9) (6)←→ (8)←→(10) (7)−→ (8)←→(9) (7)←→ (8)←→(10) 〔発明が解決しようとする問題点〕 しかしながら、このような従来のシャフリング法を用い
た半導体装置の製造方法にあっては、特に第21図に示
すような場合、ある径路についてシャフリングを行うと
き、シャフリング径路上にある列の上下関係は分かるも
のの、径路に無関係な他の列のセルとの接続関係は分か
らない。ところが、実際上は上下関係のみならず、上下
以外の他の列についても接続関係を考慮しなければ、そ
のチップについて最適なモジュールのレイアウトパター
ンが得られないことがあり、この点で改善が望まれる。
(6)−→ (8)←→(9) (6)←→ (8)←→(10) (7)−→ (8)←→(9) (7)←→ (8)←→( 10) [Problems to be solved by the invention] However, in the method of manufacturing a semiconductor device using such a conventional shuffling method, especially in the case shown in FIG. When performing this, although the vertical relationship of columns on the shuffling route is known, the connection relationship with cells in other columns unrelated to the route is not known. However, in practice, if we do not consider not only the vertical relationship but also the connection relationships of other columns other than the upper and lower columns, it may not be possible to obtain the optimal module layout pattern for the chip, and improvements in this respect are desired. It will be done.

すなわち、従来の方法では、単純にいうと、上下方向の
列のシャフリングはできるが、第21図に示す場合に、
セル列番号でいうと(6)←→(8)←→(7) というシャフリングはできず、これでは結果的に最適パ
ターンができないことがあり、配線の接続関係等の面か
らLSIのコスト高を招来する。
That is, in the conventional method, simply speaking, shuffling of columns in the vertical direction is possible, but in the case shown in FIG.
In terms of cell column numbers, shuffling (6)←→(8)←→(7) is not possible, and as a result, the optimal pattern may not be possible, and the cost of LSI is reduced in terms of wiring connections, etc. Invite high.

そこで本発明は、シャフリング径路上の列のみならず径
路に無関係な列との上下関係も考慮に入れて、LSIの
各内部セルを低コストで最適パターンに配置することの
できる半導体装置の製造方法を提供することを目的とし
ている。
Therefore, the present invention aims to manufacture a semiconductor device in which each internal cell of an LSI can be arranged in an optimal pattern at low cost, taking into account not only the columns on the shuffling path but also the vertical relationship with columns unrelated to the path. The purpose is to provide a method.

〔問題点を解決するための手段〕[Means for solving problems]

本発明による半導体装置の製造方法は上記目的達成のた
め、論理ブロックを構成する内部セルの数や形状等に基
づいて多数の内部セルを集合、配置するためのモジュー
ルを決定する第1の工程と、内部セルを一列に並べるセ
ル列配置領域にモジュールを分割する第2の工程と、セ
ル列配置領域に外部端子や所定数の内部セルを集合させ
た複数のセル列を割り付ける第3の工程と、内部セルの
セル列への割り付けを最適化する第4の工程と、内部セ
ルのセル列内における配置を最適化する第5の工程と、
内部セルに対する外部端子の列への割り付け変更あるい
はセル列間の配線のための領域の設定を行うとともに、
外部端子の位置を決定する第6の工程と、を含む半導体
装置の製造方法において、前記第4の工程は、隣り合う
二つのセル列同士でセルを交換するシャフリング法であ
って、該シャフリング法は、シャフリングの径路および
シャフリングを行う列ペアの位置により全ての列を少な
くとも二つの領域に分け、それぞれの領域内にあるセル
列との接続関係を考慮してシャフリングを行うようにし
ている。
In order to achieve the above object, the method for manufacturing a semiconductor device according to the present invention includes a first step of determining a module for assembling and arranging a large number of internal cells based on the number, shape, etc. of internal cells constituting a logic block. , a second step of dividing the module into cell row arrangement regions in which internal cells are arranged in a line, and a third step of allocating a plurality of cell rows in which external terminals and a predetermined number of internal cells are assembled in the cell row arrangement regions. , a fourth step of optimizing the allocation of the internal cells to the cell columns, and a fifth step of optimizing the arrangement of the internal cells within the cell columns;
In addition to changing the assignment of external terminals to columns for internal cells or setting areas for wiring between cell columns,
a sixth step of determining the position of an external terminal; the fourth step is a shuffling method of exchanging cells between two adjacent cell columns; In the ring method, all columns are divided into at least two regions according to the shuffling path and the position of the column pair to be shuffled, and shuffling is performed by considering the connection relationship with the cell columns in each region. I have to.

〔作 用〕[For production]

本発明では、内部セルのセル列への割り付けを最適化す
る工程が、シャフリング法で行われ、該シャフリング法
ではシャフリングの径路およびシャフリングを行う列ペ
アの位置により全ての列を少な(とも二つの領域に分け
、それぞれの領域内にあるセル列との接続関係を考慮し
てシャフリングが行われる。
In the present invention, the process of optimizing the allocation of internal cells to cell columns is performed by a shuffling method, in which all columns are reduced depending on the shuffling path and the position of the column pair to be shuffled. (Both are divided into two areas, and shuffling is performed taking into account the connection relationship with the cell columns in each area.

したがって、モジュール内の全列からの引き付けコスト
を意識し、全体的に極めてバランスの良い最適な割り付
けが得られる。
Therefore, by taking into account the cost of attracting data from all columns within the module, it is possible to obtain an extremely well-balanced and optimal allocation overall.

〔実施例〕〔Example〕

以下、本発明を図面に基づいて説明する。 Hereinafter, the present invention will be explained based on the drawings.

第1〜19図は本発明に係る半導体装置の製造方法の一
実施例を示す図であり、特にLSIをレイアウト設計す
る例である。本実施例におけるレイアウト設計は、例え
ばCADシステムを使用して行われ、第1図はLSIの
1チツプにおけるレイアウト設計のプログラムを示すフ
ローチャートである。このプログラムでは各ステップで
正しく設計されたことをCADによって確認し、次の設
計ステップに進む。第1図中、Pn(n=1..2・・
・・・・)はプログラムの各ステップを示す。
1 to 19 are diagrams showing an embodiment of the method for manufacturing a semiconductor device according to the present invention, and in particular, an example of designing the layout of an LSI. The layout design in this embodiment is performed using, for example, a CAD system, and FIG. 1 is a flowchart showing a layout design program for one LSI chip. This program uses CAD to confirm that the design is correct at each step, and then proceeds to the next design step. In Figure 1, Pn (n=1..2...
...) indicates each step of the program.

プログラムが開始すると、まずPlで設計対象となって
いるLSIに関する各種仕様データ等の入力および初期
設定を行う。入力としては、例えば、ロジック回路の内
容、論理ブロックを構成する各セルの形状やモジュール
の幅、長さ等であり、これらについての初期設定が行わ
れる。
When the program starts, first, input of various specification data and the like regarding the LSI to be designed and initial settings are performed at Pl. Inputs include, for example, the contents of the logic circuit, the shape of each cell constituting the logic block, the width and length of the module, and initial settings for these are performed.

次いで、P2でモジュールを見積り列へ分割する。この
分割は、次のようにして行い、特にデッドスペースを少
なくし、かつモジュール全体を処理対象として配線領域
を均等にする。この場合、セル列の見積り方法が従来に
比して新しくなっており、これは本実施例で初めて開示
するものである。なお、このような本実施例で初めて開
示する新しい技術はステップP2の他に、ステップP4
〜P、の処理がある。ステップP2の新しい処理を説明
する前に、因みに、従来の技術を述べる。
Then, at P2, the module is divided into estimate columns. This division is performed in the following manner, particularly to reduce dead space and to equalize the wiring area by treating the entire module as a processing target. In this case, the method for estimating cell rows is new compared to the conventional method, and this is disclosed for the first time in this embodiment. Note that the new technology disclosed for the first time in this embodiment includes step P4 in addition to step P2.
There is processing of ~P. Before explaining the new process of step P2, a conventional technique will be described.

これまでのEB B (Extended Build
ing Block)方式の配置プログラムにおいて扱
うことができるモジュール形状は、Rec を又は5h
apeでもせいぜいL字形状のみであった。これは、モ
ジュール形状をRec を形状に分割して処理する手法
を取っていたため、あまりに細かな分割を行うと、セル
を置けない領域が生じることがあるからである。また、
分割されたRect領域はそれぞれ別々に処理するため
、ある領域ではセルの密度が大きくなり、別の領域では
逆に小さ(なる等セルの面積密度、言い換えれば配線領
域の全体のバランスが取れなくなるからでもある。その
結果、自動配線の未結線を生しる原因となっていた。
Previous EB B (Extended Build)
The module shapes that can be handled in the placement program of the ing Block method are Rec or 5h
Even in ape, it was only L-shaped at most. This is because the module shape is processed by dividing it into Rec shapes, and if the division is too fine, there may be areas where cells cannot be placed. Also,
Since each divided rect area is processed separately, the cell density may be large in some areas, while it may be small in other areas. As a result, it was a cause of unconnected wires in automatic wiring.

上記の不具合を具体的に説明すると、次のようになる。A concrete explanation of the above problem is as follows.

第2図は複雑な5hape形状のモジュール20を示す
図であり、例えばこのモジュール20にセル列を配置し
ようとする場合、最初に第3図に示すようにモジュール
20をRec を分割して領域21〜25を設ける。次
いで、セル26の配置を見積もる訳であるが、例えばセ
ル26の高さHよりも低い領域22.24はセル26が
置けず、結局これらの領域22.24はデッドスペース
となってしまう。また、第4図に示すL字形のモジュー
ル27では、まず二つのRec tに分割して領域28
.29を設ける。次いで、領域28.29毎にセル30
a〜30eをそれぞれ配置するが、図中上の領域28で
は配線領域が不足し、逆に下の領域29では配線領域が
余り過ぎてしまう。すなわち、アンバランスとなる。
FIG. 2 is a diagram showing a module 20 with a complex 5-shape shape. For example, when trying to arrange cell rows in this module 20, first divide the module 20 into areas 21 and 20 as shown in FIG. 3. ~25 will be provided. Next, the placement of the cells 26 is estimated. For example, the cells 26 cannot be placed in areas 22.24 that are lower than the height H of the cells 26, and these areas 22.24 end up being dead spaces. In addition, in the L-shaped module 27 shown in FIG. 4, the area 28 is first divided into two Rects.
.. 29 is provided. Then cell 30 for every region 28.29
A to 30e are arranged respectively, but there is insufficient wiring area in the upper area 28 in the figure, and on the contrary, there is too much wiring area in the lower area 29. In other words, it becomes unbalanced.

これに対して、本実施例では、まず上下の配線領域分を
考慮した平均のセル高さを求め、次いで多角形モジュー
ルのRec tを、この平均のセル高さで区切り、その
上にセルの配置が禁止される領域の情報をこのRec 
tへ重ねる。こうして残った区切られた配置可能領域を
セル列配置領域とみなしてセル配置を行う。具体的に説
明すると、第5図は前述した第2図に示すものと同様に
複雑なShape形状のモジュール31である。このモ
ジュール31にセル32を配置する場合、まずセル32
の平均高さHaを求める。これは、例えばCADシステ
ムにおけるレイアウト用のライブラリーからセル32に
関する必要な各種数値データを引き出し、これに基づい
て平均高さHaを算出する。なお、このようなライブラ
リーの利用は後述の各ステップでも適宜行われる。セル
32の平均高さHaを求めると、次いで、この平均高さ
Haを基に上下列の配線領域分を考慮して第6図に示す
ようにモジュール31を列を形成する領域33〜37に
区切る。次いで、第6図中にハンチングで示すように、
セル32の平均高さHaに満たない部分をデッドスペー
ス38.39としてセル32の配置に対する禁止情報と
する。このようにしてデッドスペース38.39を除き
、残った領域33〜37をセル32の配置可能領域とみ
なしてセル32の配置を行う。これによると、従来に比
してデッドスペースが最小限になるとともに、配線領域
も十分にバランスが保たれ極めて好都合となる。
In contrast, in this embodiment, the average cell height is first calculated considering the upper and lower wiring areas, and then the rect of the polygonal module is divided by this average cell height, and the cell height is Information on areas where placement is prohibited is stored in this Rec.
Overlap to t. Cell placement is performed by regarding the remaining arrangable area separated in this way as a cell column placement area. More specifically, FIG. 5 shows a module 31 having a complicated shape similar to that shown in FIG. 2 described above. When placing the cell 32 in this module 31, first
Find the average height Ha. This extracts various necessary numerical data regarding the cell 32 from, for example, a library for layout in a CAD system, and calculates the average height Ha based on this. Note that such a library is appropriately used in each step described below. Once the average height Ha of the cells 32 is determined, the modules 31 are placed in the areas 33 to 37 forming the columns as shown in FIG. 6, taking into account the wiring areas of the upper and lower columns based on this average height Ha. punctuate. Next, as shown by hunting in Fig. 6,
The portion less than the average height Ha of the cell 32 is defined as a dead space 38.39 and is used as prohibition information for the arrangement of the cell 32. In this way, the dead spaces 38 and 39 are removed, and the remaining areas 33 to 37 are regarded as areas in which the cells 32 can be placed, and the cells 32 are placed therein. According to this, the dead space is minimized compared to the conventional method, and the wiring area is sufficiently balanced, which is extremely convenient.

もう一つの例として、第7図に示すL字形モジュール4
0にセルを配置する場合を示す。この場合も同様に、最
初にセルの平均高さを求め、次いでこの平均高さおよび
配線領域を考慮してモジュール40をセル列41〜45
を収納する領域に分割し、Qれらにセルを配置する。し
たがって、この場合も配線領域が均等に分配される。
As another example, the L-shaped module 4 shown in FIG.
The case where a cell is placed at 0 is shown. In this case as well, the average height of the cells is first determined, and then the module 40 is connected to the cell rows 41 to 45 by taking this average height and the wiring area into consideration.
Divide the area into storage areas and place cells in each area. Therefore, the wiring areas are evenly distributed in this case as well.

再びプログラムに戻り、P、では上述のようにして見積
り列へ分割されたモジュールにおいて、見積り列を合成
してサブモジュールを作成する。
Returning to the program again, P creates a submodule by composing the estimate columns in the module divided into estimate columns as described above.

例えば、L字形のモジュールであれば、二つのRect
形状のモジュールができるから、これらをサブモジュー
ルとする。次いで、P4で内部セルおよび外部端子の列
への割り付けを行う。この割り付けは、次のようにして
行い、特に割り付けに際して旧配置結果を活かし、配置
改善のときの収束が速く、かつ、旧配置よりもさらに最
適な配置となるようにする。本実施例の効果をわかりや
すくするため、最初に、従来の方法を述べる。
For example, if it is an L-shaped module, there are two Rect
Since we can create shaped modules, we will define these as submodules. Next, in P4, internal cells and external terminals are allocated to columns. This allocation is performed as follows. In particular, the old placement results are utilized during the allocation so that convergence is quick when improving the placement and the placement is even more optimal than the old placement. In order to make the effects of this embodiment easier to understand, a conventional method will be described first.

一般に、E C(Engineering Chang
e)により回路の一部が変更され再配置を行う際、これ
までのEBB方式の配置プログラムでは旧配置結果とは
無関係に全く始めから配置を行っていた。これは、配置
プログラムの入力ファイルにセルが配置されているかど
うかのフラグが無く判別できなかったためである。これ
では例えば、マニュアルによる配置結果の修正などをせ
っかく行っても、その結果が次の配置に全く反映されな
いことになる。
In general, E C (Engineering Chang
When a part of the circuit is changed and rearranged due to e), conventional EBB type placement programs perform placement from the beginning regardless of the old placement results. This is because there is no flag in the input file of the placement program to determine whether the cell is placed or not. In this case, for example, even if you manually correct the placement results, the results will not be reflected in the next placement at all.

これに対して、本実施例では、まず、入力ファイルを変
更し、セルが配置されているかどうかの判別フラグを設
け、既装置セルの座標を読む。次いで、モジュールを上
下配線領域分を考慮したセル高さで区切り、“見積り列
領域”を設定する。
In contrast, in this embodiment, first, the input file is changed, a flag for determining whether a cell is placed is provided, and the coordinates of the already-equipped cell are read. Next, the modules are divided by cell heights that take into account the upper and lower wiring areas, and "estimated column areas" are set.

さらに、この“見積り列領域”と旧配置結果のセル列と
の重なりをみて各セルがどの列へ割り付けられるのかを
決定する。これにより、旧配置での列を、そのまま新し
い配置の初期配置とすることができる。以上を“部分初
期配置”と称する。
Furthermore, by looking at the overlap between this "estimated column area" and the cell column of the old arrangement result, it is determined to which column each cell will be allocated. Thereby, the columns in the old arrangement can be used as the initial arrangement in the new arrangement. The above is referred to as "partial initial arrangement".

具体的に説明すると、第8図はRect形状のモジュー
ル50に三つのセル列51〜53を配置している例であ
る。いま、これからモジュール50の形状が変わった場
合に対処するため、第8図の配置を旧配置として記憶し
ておく。このとき、セル列5工〜53の配置座標を読み
込むとともに、第9図に示すようにモジュール50を上
下配線領域分を考慮したセル高さで区切り、見積り列領
域54〜56を設定する。
Specifically, FIG. 8 shows an example in which three cell rows 51 to 53 are arranged in a rectangular module 50. Now, in order to cope with the case where the shape of the module 50 changes in the future, the arrangement shown in FIG. 8 is stored as the old arrangement. At this time, the arrangement coordinates of cell rows 5 to 53 are read, and as shown in FIG. 9, the module 50 is divided by cell heights that take into account the upper and lower wiring regions, and estimated row regions 54 to 56 are set.

なお、57.58は見積り列境界を示す。次いで、第1
0図に示すように見積り列領域54〜56と旧配置結果
のセル列51〜53との重なりを見て各セルがどの列へ
割り付けられるのかを決定する。このような旧配置での
列は、そのまま新しい配置の初期配置とされ、以後配置
改善がスムーズに行われることになる。
Note that 57.58 indicates the estimate column boundary. Then the first
As shown in FIG. 0, the overlap between the estimated column areas 54 to 56 and the old placement result cell columns 51 to 53 is checked to determine which column each cell will be allocated to. The columns in the old arrangement are used as the initial arrangement in the new arrangement, and the arrangement can be improved smoothly thereafter.

すなわち、第8図に示す形状のモジュール50に第10
図の状態でセルが配置されているとき、これらのセルを
第11図に示すように別の形状のモジュール60に配置
換えするとき、第10図の状態は上述の方法により旧配
置結果として記憶され、この旧配置結果は第11図のモ
ジュール60に新たにセルを配置するときの初期配置(
部分初期配置である)という情報となる。したがって、
このような情報によれば、実際上は第12図に示すよう
にモジュール60の各見積り領域61〜64に対してセ
ル列65〜67カ並へられる。この場合、第12図で、
はセル列65〜−87のセル幅の総和(図中左右方向の
長さLL)が列幅(見積り領域61〜64の左右方向の
長さLX)を超えてしまったり、セル割り付けの無い列
(見積り領域64)が生じたりする。ところが、本実施
例ではこのような状況が部分初期配置として適格に把握
されており、以後の処理(ステップPs)ではこの部分
初期配置に基づいて直ちにセル列の配置改善が行われる
。したがって、結果的にセルの配置改善が効率的となる
That is, the module 50 having the shape shown in FIG.
When cells are arranged in the state shown in the figure, when these cells are relocated to a module 60 of a different shape as shown in FIG. 11, the state shown in FIG. 10 is stored as the old arrangement result using the method described above. This old placement result is used as the initial placement (
This is the information that it is a partial initial arrangement). therefore,
According to such information, cell columns 65 to 67 are actually arranged for each estimation area 61 to 64 of the module 60, as shown in FIG. In this case, in Figure 12,
The total cell width of cell columns 65 to -87 (horizontal length LL in the figure) exceeds the column width (horizontal length LX of estimation areas 61 to 64), or the column has no cell allocation. (estimate area 64) may occur. However, in this embodiment, such a situation is properly recognized as a partial initial placement, and in the subsequent processing (step Ps), the cell column placement is immediately improved based on this partial initial placement. Therefore, as a result, the cell arrangement can be improved efficiently.

再びプログラムに戻り、PSでは内部セルの列への割り
付けの最適化を行う。列の一部又は全部の入れ換えやシ
ャフリング等がこの処理によって行われる。例えば、前
記第12図に示した状態のセル配置の改善がこのステッ
プP、で行われる。
Returning to the program again, PS optimizes the allocation of internal cells to columns. This process performs replacement or shuffling of part or all of the columns. For example, the cell arrangement shown in FIG. 12 is improved in step P.

次に、その代表的処理としてシャフリングについて説明
する。既に従来の問題点で指摘したように、シャフリン
グに際しては列の上下関係のみならず、上下以外の他の
列の接続関係も考慮しないとセルの最適なレイアウトパ
ターンが得られない。
Next, shuffling will be explained as a typical process. As already pointed out in the conventional problems section, when shuffling, an optimal cell layout pattern cannot be obtained unless not only the vertical relationship of columns but also the connection relationships of other columns other than the vertical relationship are taken into consideration.

そこで本実施例では、例えば第13図に示すようなH字
形モジュール70に各セル列71〜75が配置されてい
るとき、これらのシャフリングを次のようにして行って
いる。すなわち、シャフリングを行う際、径路およびシ
ャフリングを行う列ペアの位置により、全ての列をアッ
パー(U)又はロー(L)に分け、それぞれの列からの
引きっけを意識するようにしている。なお、第13図以
降の図面では、説明の都合上、セル列についてのハンチ
ングを止めている。
Therefore, in this embodiment, when the cell rows 71 to 75 are arranged in an H-shaped module 70 as shown in FIG. 13, for example, these shuffling is performed as follows. In other words, when performing shuffling, all rows are divided into upper (U) or low (L) depending on the route and the position of the row pair to be shuffled, and one is conscious of the pull from each row. There is. Note that in the drawings from FIG. 13 onward, hunting for cell rows is stopped for convenience of explanation.

具体的には第13図のモジュール70においてセル列番
号で示すと、 (71)←→(73)←−(75) についてシャフリングを行うとき、径路に無関係な列(
セル列72.74)も考慮にいれる。したがって、いま
セル列71−→セルフ3の列ペアでシャフリングを行お
うとするとき、セル列71側をロー側、セル列73側を
アッパー側とする。そして、径路に無関係なセル列72
の列はロー側、セル列74の列はアッパー側とする。い
ま、第14図(a)に示すように、セル列71の列の中
にある71aという−っのセルが、セル列72の列の中
の72a〜72cという三つのセルと結び付きが強いと
仮定すると、第14図(b)に示すように結び付きの強
いセルフ1aを1度セル列73へ出してから、セル列7
2の列を通る他の径路でのシャフリングのときに、第1
4図(C)に示すようにセル列72の列に移し、セルフ
1aをセルフ3a〜73cの近くに並べ換える。したが
って、このようにすると、モジュール内の全列からの引
き付けコストを意識することとなり、全体的にバランス
の良い割り付け結果を得ることができ、LSIのレイア
ウト設計について効率を高め、納期の短縮やコストの低
下を図ることができる。
Specifically, in the module 70 of FIG. 13, when shuffling is performed for (71)←→(73)←−(75), the column unrelated to the path (
Cell columns 72, 74) are also taken into account. Therefore, when shuffling is to be performed in the column pair of cell column 71-→self 3, the cell column 71 side is set as the low side, and the cell column 73 side is set as the upper side. Then, a cell column 72 unrelated to the path
The column 74 is on the low side, and the cell column 74 is on the upper side. Now, as shown in FIG. 14(a), the cell 71a in the cell column 71 has strong connections with the three cells 72a to 72c in the cell column 72. Assuming that, as shown in FIG. 14(b), the strongly connected self 1a is sent out to the cell row 73 once, and then the cell row 7
When shuffling on the other path through the second row, the first
4. As shown in FIG. 4(C), the cells are moved to the cell row 72, and the cells 1a are rearranged near the cells 3a to 73c. Therefore, by doing this, you will be aware of the cost of attracting from all columns in the module, and you will be able to obtain an overall well-balanced allocation result, increasing the efficiency of LSI layout design, shortening delivery time, and reducing costs. It is possible to reduce the

以上のステップP、の処理を活用すると、例えば前記第
12図に示したような部分初期配置のモジュールは本実
施例のシャフリングによりモジュール幅を超える部分に
位置しているセルを見積り領域64へ適切にかつ容易に
移すことができ、配置改善を極めてスムーズに行うこと
ができる。
By utilizing the process of step P above, for example, a module with a partial initial arrangement as shown in FIG. It can be moved appropriately and easily, and the arrangement can be improved very smoothly.

再びプログラムに戻り、P、では内部セルの列内での順
序の初期改善(特に、カットラインの設定)を行う。カ
ットラインの設定についても本実施例独自の部分があり
、従来よりも技術が進んでいるので、最初に従来の例か
ら述べる。
Returning to the program again, in P, initial improvement of the order of internal cells within a column (in particular, setting of cut lines) is performed. The setting of the cut line is also unique to this embodiment, and the technology is more advanced than the conventional one, so a conventional example will be described first.

−Mに、EBB方式の配置プログラムではMin−Cu
t法を用いて列内順序の最適化を行っている。
-M, in the EBB method placement program, Min-Cu
The intra-column order is optimized using the t method.

その際のカットライン(Cut Line)は自動設定
される。ここに、Min−Cut法とは、チップ上で垂
直、水平方向にカットラインを設定し、カットラインで
切られるネット数が最小となるように回路を順次分割し
ていき、ブロック集合要素を細分化していく方法である
。例えば、第15図(a)に示すように、セル列81を
分割するカットライン82に対してそのカットライン8
2によって切られるネット (接続ライン)83をでき
るだけ少なくするように、第15図(b)に示すように
セル81aを図中右側のセル81bの近くに移動交換す
る配置改善手法が良い例である。
The cut line at that time is automatically set. Here, the Min-Cut method sets cut lines in the vertical and horizontal directions on the chip, sequentially divides the circuit so that the number of nets cut by the cut lines is minimized, and subdivides the block set elements. This is a method of becoming more For example, as shown in FIG. 15(a), the cut line 82 that divides the cell row 81 is
A good example is a layout improvement method in which the cell 81a is moved and replaced near the cell 81b on the right side of the figure, as shown in FIG. 15(b), so as to minimize the number of nets (connection lines) 83 cut by .

これまではRec を又はせいぜいL字形状のモジュー
ルのみしか扱わなかったため、カットラインの設定はモ
ジュール幅を基準に行っている。ところがモジュール形
状が複雑になるにつれ、無効なカットラインが生じる可
能性が大きくなり、各列幅毎にカットラインを設定する
必要がある。この不具合を具体例に示すと、第16図の
ようになる。第16図において、モジュール90につい
てモジュール幅を2n(本実施例では4個)に分割する
ようなカットライン91〜93を自動的に設定すると、
モジュール90の三つのセル列94〜96はカットライ
ン91〜93によって計12個の領域にカットされる。
Until now, we have only dealt with Rec or at most L-shaped modules, so cut lines are set based on the module width. However, as the module shape becomes more complex, the possibility that an invalid cutline will occur increases, and it is necessary to set a cutline for each column width. A specific example of this problem is shown in FIG. 16. In FIG. 16, when cut lines 91 to 93 are automatically set to divide the module width into 2n (4 pieces in this embodiment) for the module 90,
The three cell rows 94-96 of the module 90 are cut into a total of 12 regions by cut lines 91-93.

このように、カットラインの設定がモジュール幅を基準
に行われており、第16図に示すようなRect形状の
モジュール90では無効なカットラインが出る可能性は
比較的少ない。ところが、第17図に示すような5ha
pe形状のモジュール100の場合、内部のセル列10
1〜105に対して第16図の場合と同様に単にモジュ
ール幅を4個に分割するため、三つのカットライン10
6〜108を設定すると、一つのカットライン107は
セル列103を横切るものの、他のセル列101.10
2.104.105は横切らない。
In this way, the cut line is set based on the module width, and there is a relatively low possibility that an invalid cut line will appear in the Rect-shaped module 90 as shown in FIG. However, as shown in Figure 17, 5 ha
In the case of a PE-shaped module 100, the internal cell row 10
For 1 to 105, three cut lines 10 are created to simply divide the module width into four parts as in the case of FIG. 16.
If 6 to 108 are set, one cut line 107 crosses cell row 103, but other cell rows 101.10
2.104.105 cannot be crossed.

また、カントライン106によって切られたセル列10
1.104はそのセンタ部分で区切らず、一方の部分(
104bを指す)は狭くなっており、列の大きさを考慮
した最適なカットラインとなっていない。したがって、
これは無効なカットラインとなる場合もあり、改善が望
まれる。
Also, the cell row 10 cut by the cant line 106
1.104 is not divided at its center part, but one part (
104b) is narrow, and is not an optimal cut line considering the size of the row. therefore,
This may result in an invalid cut line, and improvements are desired.

そこで本実施例では、上下方向に接する略同じ幅の列を
一つのまとまり(サブモジュール)とみなし、各サブモ
ジュール毎にその幅を基準にしてカットラインを設定す
る。そうすることにより、各列は適切な間隔で区切られ
、モジュール幅を基準とした従来のカットラインに比し
て最適なセル配置を得ることが可能になる。
Therefore, in this embodiment, vertically adjacent columns having substantially the same width are regarded as one group (submodule), and a cut line is set for each submodule based on the width. By doing so, each row is separated at appropriate intervals, making it possible to obtain optimal cell placement compared to conventional cut lines based on module width.

具体的には、第18図に示すような5hape形状のモ
ジュール110に五つのセル列111〜115が配置さ
れているとき、これらのセル列111〜115は同じ幅
であるから、それぞれサブモジュールとみなす。そして
、各サブモジュール毎に、言い換えればセル列111〜
115毎にその幅を基準としてカットライン116〜1
30を設定する。これにより、各サブモジュールは何れ
もその列内では同一面積の四つの部分に分割されること
となり、カットライン116〜130の無駄が全(なく
、極めて適切な分割となる。したがって、列内のセルの
配置交換に際してもMin−Cut法の効果を最大限に
発揮することができる。
Specifically, when five cell rows 111 to 115 are arranged in a 5-shape module 110 as shown in FIG. I reckon. Then, for each submodule, in other words, cell rows 111 to
Cut line 116 to 1 using the width as a reference every 115
Set 30. As a result, each sub-module is divided into four parts with the same area within the row, and there is no wastage of the cut lines 116 to 130, resulting in an extremely appropriate division. The effect of the Min-Cut method can be maximized even when exchanging the cell arrangement.

一方、第18図とは違う形状の第19図に示すように凹
を逆にしたような形状のモジュール140に五つのセル
列141〜145が配置されている例のときは、まずこ
れらを何れもサブモジュールとみなし、各サブモジュー
ル毎にそれらの幅を基準として9本のカントライン14
6〜154を設定する。この場合、セル列141と14
3およびセル列142と144はそれぞれ略同じ幅とみ
なし同一のサブモジュールとし、カットラインを共通に
している。このような形状のモジュール140であって
も第18図の例と同様の効果を得ることができるのは勿
論である。
On the other hand, in the case of an example in which five cell rows 141 to 145 are arranged in a module 140 that has a recessed shape as shown in FIG. 19, which has a different shape from that in FIG. are also considered submodules, and each submodule has nine cant lines 14 based on their width.
Set from 6 to 154. In this case, cell columns 141 and 14
3 and the cell rows 142 and 144 are each considered to have substantially the same width, are considered to be the same submodule, and have a common cut line. Of course, even with the module 140 having such a shape, the same effects as the example shown in FIG. 18 can be obtained.

再びプログラムに戻り、P6でカットラインを最適に自
動設定した後はP、で内部セルの列内での順序を最適化
する。これは、同一の列内における多数のセルを近傍の
他の列のセルとの接続関係等を考慮し、互いに配置を入
れ換えて列内での女ルを最適パターンに配置交換するも
のである。
Returning to the program again, after automatically setting the cut line optimally in P6, the order of internal cells within the column is optimized in P. This is a method of exchanging the arrangement of a large number of cells in the same column with each other in an optimal pattern by taking into consideration the connection relationship with cells in other neighboring columns.

次いで、P8で内部セルのY −mirror反転によ
る配置改善を行う。これは、モジュールを二次元の平面
と考えてそのY軸(縦方向)を基準として左右のセル位
置をそっくり反転させるもので、CADによるマイクロ
プロセッサを用いる特有のテクノロジー処理として有効
なものである。
Next, in P8, the arrangement is improved by Y-mirror inversion of the internal cells. This method considers the module as a two-dimensional plane and completely reverses the left and right cell positions with respect to its Y axis (vertical direction) as a reference, and is effective as a unique technological process using a CAD microprocessor.

次いで、P9で外部端子のセル列への割り付けを変更し
、外部端子とセル列との接続関係が最適になるようにす
る。
Next, in P9, the allocation of the external terminals to the cell columns is changed so that the connection relationship between the external terminals and the cell columns is optimized.

Pl。では配線のためのチャネル幅を見積もる。Pl. Now estimate the channel width for wiring.

ゲートアレイLSIやスタンダードセルLSIでは、セ
ル領域が互いに向かい合い、配線領域がそのあいだに存
在するケースがほとんどである。この配線領域をチャネ
ルとよび、チャネル内の配線格子はトラックとよんでい
る。チャネルの上下の辺に接続すべき端子が並び、幹線
と支線とに配線線分を割当てて配線を完成させることに
なる。
In most gate array LSIs and standard cell LSIs, cell regions face each other and wiring regions exist between them. This wiring area is called a channel, and the wiring grid within the channel is called a track. Terminals to be connected are lined up on the upper and lower sides of the channel, and wiring is completed by allocating wiring line segments to the main line and branch lines.

次いで、pHでセル列を1列おきにX −mirror
反転、すなわちX軸(横軸)を基準としてその上下のセ
ル列の位置をそっくり入れ換えることにより、パターン
を最適化する。
Then, every other cell row was X-mirrored at pH
The pattern is optimized by inversion, that is, by completely exchanging the positions of the cell rows above and below with respect to the X axis (horizontal axis).

pHzではセル列に対して外部端子の座標を決定し、レ
イアウト設計を完了する。そして、最後にPI3で以上
の配線結果を外部に出力する。例えば、外部のプロフタ
に出力してレイアウトを図面に描く。
At pHZ, coordinates of external terminals are determined for the cell row, and layout design is completed. Finally, the PI3 outputs the above wiring results to the outside. For example, output to an external profiler and draw the layout on a drawing.

このように、本実施例ではプログラムのステップ中、P
z 、P4 、Ps 、Paに従来と異なる新しい方法
を用いているので、LSIの内部セルを低コストで最適
パターンに配置し、レイアウト設計の効率を格段と向上
させることができる。
In this way, in this embodiment, during the steps of the program, P
Since a new method different from conventional methods is used for z, P4, Ps, and Pa, the internal cells of the LSI can be arranged in an optimal pattern at low cost, and the efficiency of layout design can be significantly improved.

なお、上記プログラム中において、ステップPII 、
P9 、p、□の処理はプログラム制御文で指定があっ
た場合のみ行われる。
In addition, in the above program, steps PII,
The processes of P9, p, and □ are performed only when specified in the program control statement.

〔効 果〕〔effect〕

本発明によれば、内部セルのセル列への割り付けを最適
化する工程を、シャフリング法で行い、該シャフリング
法ではシャフリングの径路およびシャフリングを行う列
ペアの位置により全ての列を少なくとも二つの領域に分
け、それぞれの領域内にあるセル列との接続関係を考慮
してシャフリングを行っているので、モジュール内の全
列からの引き付けコストを意識した全体的に極めてバラ
ンスの良い割り付けを行うことができ、LSIの各内部
セルを低コストで最適パターンに配置することができる
According to the present invention, the process of optimizing the allocation of internal cells to cell columns is performed by a shuffling method, and in the shuffling method, all columns are Since it is divided into at least two areas and shuffling is performed taking into consideration the connection relationship with the cell rows in each area, the overall balance is extremely good considering the cost of attracting from all the rows in the module. It is possible to perform allocation, and each internal cell of an LSI can be arranged in an optimal pattern at low cost.

【図面の簡単な説明】 第1〜19図は本発明に係る半導体装置の製造方法の一
実施例を示す図であり、 第1図はそのレイアウト設計のプログラムを示すフロー
チャート、 第2図はその第1のモジュールを示す図、第3図はその
第1のモジュールにセルを配置するときの配置図、 第4図はその第2のモジュールにセルを配置するときの
配置図、 第5図はその第1のモジュールを分割するときのレイア
ウト図、 第6図はその第1のモジュールを分割してデッドスペー
スが生じたときのレイアウト図、第7図はその第2のモ
ジュールに最適にセルを配置したときの配置図、 第8図はその第3のモジュールにセル列を配置した例を
示す配置図、 第9図はその第3のモジュールを見積り列領域に分けた
状態を示す図、 第10図はその第3のモジュールの各見積り列領域にセ
ルを配置した例を示す配置図、 第11図はその第4のモジュールを示す図、第12図は
その第4のモジュールにセル列を配置した例を示す配置
図、 第13図はその第5のモジュールにセルを配置した例を
示す図、 第14図(a)〜(c)はその第5のモジュール内でセ
ルを移動するときの動きを説明するための図、 第15図(a)(b)はそのMin−Cut法を説明す
るための図、 第16図はその第6のモジュールを示す図、第17図は
その第7のモジュールを示す図、第18図はその第8の
モジュールを示す図、第19図はその第9のモジュール
を示す図、第20.21図は従来の半導体装置の製造方
法を説明するための図であり、 第20図はその第1のモジュールを示す図、第21図は
その第2のモジュールを示す図である。 50.60.70.901 .140・・・・・・モジュール、 33〜37・・・・・・領域、 32、・・・・・・セル、 トスペース、 71〜75.65〜68.81.10120.27.3
1.40. 100.110 21〜25.28.29. 26.30a〜30e。 38.39・・・・・・デソ 41〜45.51〜53、 〜105.111 、115.141〜145・・・セ
ル列、54〜56・・・・・・見積り列領域、57.5
8・・・・・・見積り列境界、61〜64・・・・・・
見積り領域、 82.106〜108 .116 〜130 .146
 〜154・・・・・・カットライン、 83・・・・・・ネット。 一実施例の第1のモジュールを示す図 第2図 一実施例の第1のモノニールを分、す1シた図第3図 一実施例の第2のモジュールを示す図 第 図 一実施例の第2のモノニールに最適にセルを配置したと
きの配置図 第 図 一実施例の第3のモジュールに゛!ル列を配置しf二叉
g8図 一実施例の第1のモジュールを分割する′とさのレイア
ウト図窮5図 生したときのレイアウト図 第6図 一実施例の第3のモジュールを見積りタリ領域に分け1
こ図第 図 一実施例の第3モノニールの各見積り列領域にセルを配
置した図第10図 実施例の第4のモジコールを示す図 第 図 一実施例の第4のモジス ルにセル列を配置しL図 第 図 一実施例の第5のモノニール内でセルを移動するときC
つ説明図箱 図 一一実m 例の第5のモジュールにセルを配置した図第 図 一実施例のMi口 Cut法を説明するための図 第 図 一実施例の第6のモノニールを示す図 第 図 一実施例の第7のモノニールを示す図 第 17  図 一実施例の第8のモノニールを示す図 第18図 従来の第2のシャフリング法を説明するための図第 図 一実施例の第9のモノニールを示す図 第19図 従来の第1のノヤフリング法を説明するための図第 図 事件との関係
[BRIEF DESCRIPTION OF THE DRAWINGS] Figures 1 to 19 are diagrams showing an embodiment of the method for manufacturing a semiconductor device according to the present invention. A diagram showing the first module, FIG. 3 is a layout diagram when arranging cells in the first module, FIG. 4 is a layout diagram when arranging cells in the second module, and FIG. Figure 6 is a layout diagram when dividing the first module, Figure 6 is a layout diagram when dead space occurs when dividing the first module, Figure 7 is the layout diagram when dividing the first module, and Figure 7 is the layout diagram when the cells are optimally allocated to the second module. Figure 8 is a layout diagram showing an example of arranging cell columns in the third module; Figure 9 is a diagram showing the third module divided into estimated column areas; Figure 10 is a layout diagram showing an example of arranging cells in each estimate column area of the third module, Figure 11 is a diagram showing the fourth module, and Figure 12 is a layout diagram showing the arrangement of cells in each estimate column area of the third module. A layout diagram showing an example of the arrangement, Figure 13 is a diagram showing an example of placing cells in the fifth module, and Figures 14 (a) to (c) are when moving cells within the fifth module. Figures 15(a) and 15(b) are diagrams explaining the Min-Cut method, Figure 16 is a diagram showing its sixth module, and Figure 17 is its sixth module. FIG. 18 is a diagram showing the eighth module, FIG. 19 is a diagram showing the ninth module, and FIGS. 20 and 21 are for explaining the conventional method of manufacturing a semiconductor device. FIG. 20 is a diagram showing the first module, and FIG. 21 is a diagram showing the second module. 50.60.70.901. 140...Module, 33-37...Area, 32,...Cell, space, 71-75.65-68.81.10120.27.3
1.40. 100.110 21-25.28.29. 26.30a-30e. 38.39...Deso 41-45.51-53, ~105.111, 115.141-145...Cell column, 54-56...Estimation column area, 57.5
8... Estimation column boundary, 61-64...
Estimated area, 82.106-108. 116-130. 146
~154...cut line, 83...net. Figure 2 shows the first module of the embodiment. Figure 3 shows the second module of the embodiment. Figure 3 shows the second module of the embodiment. Layout diagram when cells are optimally placed in the second monoyl. In the third module of the first embodiment! Layout diagram of Figure 5 Layout diagram when generated Fig. 6 Estimating the third module of the first embodiment Divide into areas 1
Figure 1: Cells are arranged in each estimated column area of the third monoyl of the first embodiment. Figure 10: A diagram showing the fourth module of the embodiment. Cell rows are arranged in the fourth module of the first embodiment. When moving the cell within the fifth monolayer of the first embodiment
1. Explanatory drawings, box diagrams, 11. Actual diagrams, diagrams showing cells arranged in the fifth module of the example. Fig. 17 is a diagram showing the seventh monoyl of the first embodiment Fig. 18 is a diagram for explaining the conventional second shuffling method Fig. 1 is a diagram showing the eighth monoyl of the first embodiment Diagram showing the 9th monoyl Figure 19 Diagram to explain the conventional 1st Noyafling method Diagram Relationship to the incident

Claims (4)

【特許請求の範囲】[Claims] (1)論理ブロックを構成する内部セルの数や形状等に
基づいて多数の内部セルを集合、配置するためのモジュ
ールを決定する第1の工程と、内部セルを一列に並べる
セル列配置領域にモジュールを分割する第2の工程と、 セル列配置領域に外部端子や所定数の内部セルを集合さ
せた複数のセル列を割り付ける第3の工程と、 内部セルのセル列への割り付けを最適化する第4の工程
と、 内部セルのセル列内における配置を最適化する第5の工
程と、 内部セルに対する外部端子の列への割り付け変更あるい
はセル列間の配線のための領域の設定を行うとともに、
外部端子の位置を決定する第6の工程と、 を含む半導体装置の製造方法において、 前記第4の工程は、隣り合う2つのセル列同士でセルを
交換するシャフリング法であって、該シャフリング法は
シャフリングの径路およびシャフリングを行う列ペアの
位置により全ての列を少なくとも2つの領域に分け、そ
れぞれの領域内にあるセル列との接続関係を考慮してシ
ャフリングを行うようにしたことを特徴とする半導体装
置の製造方法。
(1) A first step of determining a module for gathering and arranging a large number of internal cells based on the number and shape of internal cells constituting a logic block, and a cell row placement area for arranging internal cells in a line. The second step is to divide the module, the third step is to allocate multiple cell rows with external terminals and a predetermined number of internal cells in the cell row placement area, and to optimize the allocation of internal cells to the cell rows. a fourth step of optimizing the arrangement of internal cells within the cell columns, and a fifth step of optimizing the arrangement of internal cells within the cell columns, and changing the allocation of external terminals for internal cells to columns or setting areas for wiring between cell columns. With,
a sixth step of determining the position of an external terminal, and the fourth step is a shuffling method of exchanging cells between two adjacent cell rows, In the ring method, all columns are divided into at least two regions according to the shuffling path and the position of the column pair to be shuffled, and shuffling is performed by considering the connection relationship with the cell columns in each region. A method for manufacturing a semiconductor device, characterized in that:
(2)前記第2の工程は、隣接するセル列のの配線領域
分を考慮して内部セルの平均高さを求め、この平均高さ
に基づいてモジュール内を複数のセル列配置領域に分割
するようにしたことを特徴とする特許請求の範囲第1項
記載の半導体装置の製造方法。
(2) In the second step, the average height of the internal cells is calculated taking into account the wiring areas of adjacent cell rows, and the inside of the module is divided into a plurality of cell row placement areas based on this average height. 2. A method of manufacturing a semiconductor device according to claim 1, wherein:
(3)前記第3の工程は、モジュール内にセルが配置さ
れているか否かを判別する判別フラグを設けるとともに
、先に配置されているセルの位置を読み込み、 論理ブロックからなりセルにより構成される集積回路の
回路要求に変更があるときは隣接するセル列に対する配
線領域分を考慮しつつ、セルの高さに基づいてモジュー
ルを見積り列領域に分割し、 この見積り列領域と先に配置のセル列との重なりを見て
回路変更要求に従って各セルをセル列に割り付けるよう
にしたことを特徴とする特許請求の範囲第1項記載の半
導体装置の製造方法。
(3) In the third step, a determination flag is provided to determine whether or not a cell is placed in the module, and the position of the previously placed cell is read, and the module is configured by a logic block consisting of cells. When there is a change in the circuit requirements for an integrated circuit, the module is divided into estimated column areas based on the cell height, taking into account the wiring area for adjacent cell columns, and the estimated column area and the 2. The method of manufacturing a semiconductor device according to claim 1, wherein each cell is allocated to a cell column in accordance with a circuit change request by checking the overlap with the cell column.
(4)前記第5の工程は、セル列を複数に分割するカッ
トライン方式を含むものであって、 該カットライン方式は隣り合う略同じ幅のセル列を一つ
のまとまったサブモジュールとみなし、 各サブモジュール毎にその幅を基準としてカットライン
を設定するようにしたことを特徴とする特許請求の範囲
第1項記載の半導体装置の製造方法。
(4) The fifth step includes a cut line method of dividing the cell row into a plurality of parts, and the cut line method considers adjacent cell rows of approximately the same width as one unified submodule, 2. The method of manufacturing a semiconductor device according to claim 1, wherein a cut line is set for each sub-module based on its width.
JP62294618A 1987-11-20 1987-11-20 Method for manufacturing semiconductor device Expired - Lifetime JP2522806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62294618A JP2522806B2 (en) 1987-11-20 1987-11-20 Method for manufacturing semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62294618A JP2522806B2 (en) 1987-11-20 1987-11-20 Method for manufacturing semiconductor device

Publications (2)

Publication Number Publication Date
JPH02168647A true JPH02168647A (en) 1990-06-28
JP2522806B2 JP2522806B2 (en) 1996-08-07

Family

ID=17810088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62294618A Expired - Lifetime JP2522806B2 (en) 1987-11-20 1987-11-20 Method for manufacturing semiconductor device

Country Status (1)

Country Link
JP (1) JP2522806B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0352253A (en) * 1989-07-20 1991-03-06 Matsushita Electric Ind Co Ltd Methods for grouping and arranging cells
JP2011049477A (en) * 2009-08-28 2011-03-10 Sony Corp Semiconductor integrated circuit
JP2014067990A (en) * 2012-09-26 2014-04-17 Samsung Display Co Ltd Drive circuit for flat-plate display device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0352253A (en) * 1989-07-20 1991-03-06 Matsushita Electric Ind Co Ltd Methods for grouping and arranging cells
JP2011049477A (en) * 2009-08-28 2011-03-10 Sony Corp Semiconductor integrated circuit
JP2014067990A (en) * 2012-09-26 2014-04-17 Samsung Display Co Ltd Drive circuit for flat-plate display device

Also Published As

Publication number Publication date
JP2522806B2 (en) 1996-08-07

Similar Documents

Publication Publication Date Title
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
US6154873A (en) Layout designing method and layout designing apparatus
US5636129A (en) Electrical routing through fixed sized module and variable sized channel grids
US20030023938A1 (en) LSI layout method and apparatus for cell arrangement in which timing is prioritized
US5638292A (en) Method for automatically optimizing cell placement
JPH02168647A (en) Manufacture of semiconductor device
US5675501A (en) Method of designing semiconductor integrated circuit apparatus having no dead space
CN115496023A (en) FPGA (field programmable Gate array) design method based on block design
JP4400428B2 (en) Semiconductor integrated circuit design method, design apparatus and program
JP2002217300A (en) Cell arrangement method
US20020026625A1 (en) Method for dividing a terminal in automatic interconnect routing processing, a computer program for implementing same, and an automatic interconnect routing processor using the method
US20030135837A1 (en) Method and apparatus for automatic arrangement and wiring for a semiconductor integrated circuit design and wiring program therefor
JPH02241062A (en) Disposing method for cell of semiconductor device
JP2825928B2 (en) Channel merge wiring method
JP2967796B2 (en) Layout design method for semiconductor integrated circuit
JPS59175747A (en) Semiconductor integrated circuit
JPH0323651A (en) Semiconductor logic integrated circuit and manufacture thereof
CN116882340A (en) Method for automatically generating ring oscillator layout
JP3123953B2 (en) Layout method of semiconductor integrated circuit
JPH02278829A (en) Wiring of semiconductor device
JPS61214543A (en) Gate array
JPH0945784A (en) Multilayer wiring method for semiconductor integrated circuit, and multilayer wiring structure
JPH04291754A (en) Chip floor plan treatment
Prazic et al. Automatic routing of double layer gate arrays using a moving cursor