JPH05151313A - Layout method for semiconductor integrated circuit - Google Patents

Layout method for semiconductor integrated circuit

Info

Publication number
JPH05151313A
JPH05151313A JP3310408A JP31040891A JPH05151313A JP H05151313 A JPH05151313 A JP H05151313A JP 3310408 A JP3310408 A JP 3310408A JP 31040891 A JP31040891 A JP 31040891A JP H05151313 A JPH05151313 A JP H05151313A
Authority
JP
Japan
Prior art keywords
block
wiring
inter
area
layout
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.)
Pending
Application number
JP3310408A
Other languages
Japanese (ja)
Inventor
Makoto Kutsuwada
誠 轡田
Toshihiro Hattori
俊洋 服部
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3310408A priority Critical patent/JPH05151313A/en
Publication of JPH05151313A publication Critical patent/JPH05151313A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE:To suppress the increase in chip size, to reduce unwiring, and also, to execute an inter-block wiring by a wiring of shorter length. CONSTITUTION:In the inside of a block being an arrangement unit on a chip, free areas 31-34 for allowing an inter-block wiring to pass through are formed in advance. Also, in a block arrangement wiring processing for generating automatically a block by a computer, a processing for generating free areas 41-44 for allowing the inter-block wiring to pass through is provided in an inter-cell terminal wiring processing. Since the free areas are provided in the block, an inter-block wiring processing can be subjected to wiring by utilizing the free areas in the block, therefore, the number of pieces of unwirings can be reduced. Moreover, block terminals can be connected without going round the outside of the block, therefore, wiring length can be shortened.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、階層設計方式の半導体
集積回路のレイアウトに係り、特にブロック間配線を考
慮したブロックレイアウトとチップレイアウト設計方法
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a layout of a semiconductor integrated circuit of a hierarchical design system, and more particularly to a block layout and a chip layout design method considering inter-block wiring.

【0002】[0002]

【従来の技術】半導体集積回路の大規模化に対応するた
め、機能的にまとまりのある論理をブロックとして設計
し、さらに複数個のブロックでチップを構成するといっ
た階層設計が行われている。
2. Description of the Related Art In order to cope with a large scale of a semiconductor integrated circuit, a hierarchical design is performed in which functionally coherent logic is designed as a block and a chip is composed of a plurality of blocks.

【0003】階層設計レイアウトにおいては、ブロック
を配置配線した後に、ブロック内及びブロック間の隙間
を利用してブロック間配線している。このブロック間配
線において、ブロック内及びブロック間の隙間が十分に
ない場合、信号線の一部が配線できずに未配線として残
る。この未配線の信号を配線するため、従来はチップサ
イズを拡大してブロック間の隙間を広げることによって
対応していた。
In the hierarchical design layout, after arranging and wiring the blocks, inter-block wiring is performed by utilizing the gaps between the blocks and between the blocks. In this inter-block wiring, if there is not enough space in the blocks and between the blocks, some of the signal lines cannot be wired and remain unwired. In order to wire this unwired signal, conventionally, the chip size has been increased to expand the gap between the blocks.

【0004】また、ブロックの個数が多いと、ブロック
間配線の信号数が増えるため、未配線の数は増加する傾
向にある。このため、幾つかのブロックを統合し、チッ
プ上のブロックの数を減らすことによって、未配線本数
を削減することが行なわれている。
Further, when the number of blocks is large, the number of signals on the inter-block wirings increases, and the number of unwired wirings tends to increase. Therefore, the number of unwired lines has been reduced by integrating some blocks and reducing the number of blocks on the chip.

【0005】ブロック間配線に関わる未配線低減とは別
の問題として、ブロック間の配線長を短くすることがあ
る。この問題に対し、ブロック内の通過位置を予め決定
しておいてブロックを作成する方法が考案され、以下の
文献に述べられている。
Another problem with reducing unwiring associated with inter-block wiring is shortening the wiring length between blocks. To solve this problem, a method of creating a block by previously determining the passage position in the block has been devised, and is described in the following document.

【0006】1)塩原他2名、”フロアプランにおける
ピン配置の一手法”、信学会技法VLSI設計研究会、VLD8
8-87,P9-16(1988) 2)富田他3名、”VLSIにおけるフロアプラニング
について”、情処設計自動化研報89-DT-46,vol.89,no.1
4,P9-16(1989)
1) Shiobara et al., “One method of pin placement in floor plan”, IEICE Technical Committee VLSI Design Study Group, VLD8
8-87, P9-16 (1988) 2) Tomita et al., 3 persons, "Floor planning in VLSI", Information design automation research report 89-DT-46, vol.89, no.1
4, P9-16 (1989)

【0007】[0007]

【発明が解決しようとする課題】半導体集積回路のレイ
アウトでは、チップ面積最小が1つの目的になってい
る。 ブロック間の隙間を広げることによって未配線の
信号線を配線する方法は、ブロック間の配線領域を拡げ
るので、チップ面積が増えるという問題がある。更に、
信号線がブロック外側を迂回することになり信号線が長
く延び、回路の動作速度を低下させるという問題があ
る。同様に、幾つかのブロックを統合すると、ブロック
のサイズが大きくなり、信号線の迂回量が大きくなると
いう問題がある。
In the layout of a semiconductor integrated circuit, the minimum chip area is one purpose. The method of wiring the unwired signal line by widening the gap between the blocks expands the wiring region between the blocks, and thus has a problem of increasing the chip area. Furthermore,
Since the signal line detours outside the block, the signal line extends for a long time, and there is a problem that the operation speed of the circuit is reduced. Similarly, when several blocks are integrated, there is a problem that the size of the block becomes large and the amount of detour of the signal line becomes large.

【0008】また、ブロック内の通過配線位置を予め決
定しておく方法は、通過配線位置によりブロック内の配
線パタ−ンが変化するために、ブロックのサイズが予測
できず、レイアウトが収束しにくいという問題があっ
た。
In the method of determining the position of the passing wiring in the block in advance, the wiring pattern in the block changes depending on the passing wiring position, so that the size of the block cannot be predicted and the layout is difficult to converge. There was a problem.

【0009】本発明の目的は、チップサイズの増大を抑
え、未配線を低減することにある。本発明のさらに他の
目的は、より短い長さの配線でブロック間配線を行なう
方法を提供することである。
An object of the present invention is to suppress an increase in chip size and reduce unwiring. Still another object of the present invention is to provide a method for wiring between blocks with a wiring having a shorter length.

【0010】[0010]

【課題を解決するための手段】上記目的達成のため、ブ
ロック内の配線パタ−ンに影響を与えずに、ブロックの
内部に、ブロック間配線通過のための空き領域を予め作
り込んでおく。
In order to achieve the above object, an empty area for passing inter-block wiring is created in advance inside the block without affecting the wiring pattern in the block.

【0011】また、ブロックを計算機で自動生成するブ
ロック配置配線処理において、ブロック内のセルと端子
間の配線処理に、ブロック間配線通過のための空き領域
を生成する処理を設ける。
In addition, in the block layout and wiring processing for automatically generating blocks by a computer, the wiring processing between cells and terminals in the block is provided with processing for generating a vacant area for passing wiring between blocks.

【0012】特に、ブロック間配線通過のための空き領
域を生成する処理では、設計者の指示に従って、指定さ
れたブロック内の場所に、指定された量のブロック間配
線通過のための空き領域を生成できるようにする。
In particular, in the process of generating a vacant area for passing inter-block wiring, a designated amount of vacant area for passing inter-block wiring is placed at a location in a designated block in accordance with a designer's instruction. Allow it to be generated.

【0013】[0013]

【作用】ブロック間配線の処理方法には、一般に良く知
られている迷路法や線分探索法などがある。以下では、
迷路法配線を用いた例で説明する。なお、迷路法配線
は、波面を広げるようにチップ全体を対象に配線経路を
探索する手法である。
The inter-block wiring processing method includes the well-known maze method and line segment search method. Below,
An example using the maze method wiring will be described. Note that the maze method wiring is a method of searching a wiring path for the entire chip so as to widen the wavefront.

【0014】まず最初に、ブロック間配線を実行し、レ
イアウト結果の図面で、未配線の原因を分析する。分析
結果から、どのブロックの、どこの場所に、どれだけの
空き領域を入れるかを設計者が判断する。この判断に基
づいて、ブロック配置配線処理では、空き領域の量と挿
入場所を入力情報として与える。ブロック配置配線処理
におけるセル端子間の配線処理のときに、ブロック間配
線通過のための空き領域を生成する処理を呼び出し、入
力情報に従ってブロック内部に空き領域を生成する。
First, inter-block wiring is executed, and the cause of unwiring is analyzed in the drawing of the layout result. Based on the analysis result, the designer determines which block, where, and how much free space should be inserted. Based on this determination, in the block layout and wiring process, the amount of empty area and the insertion location are given as input information. At the time of the wiring process between the cell terminals in the block layout and wiring process, a process for generating an empty area for passing the wiring between blocks is called and an empty area is generated inside the block according to the input information.

【0015】つぎに、空き領域が作り込まれたブロック
を使用して、再度、ブロック間配線を実行すると、ブロ
ックの内部まで配線経路が探索され、作り込まれた空き
領域がブロック間配線のために使用される。
Next, when the inter-block wiring is executed again using the block in which the empty area is formed, the wiring route is searched to the inside of the block, and the created empty area is the inter-block wiring. Used for.

【0016】また、迷路法配線は、最短経路による配線
を行なうため、ブロック内部にブロック間配線通過のた
めの空き領域を予め作り込んでおけば、ブロック外側を
迂回することなく、ブロック内に作り込まれた領域を使
うので、短い長さで配線されることになる。これは、迷
路法配線に限定されたことではなく、一般の配線手法で
も最短経路による配線を行なうので同様の結果を得るこ
とができる。
Further, since the maze method wiring is performed by the shortest route, if an empty area for passing inter-block wiring is created in advance inside the block, it is created inside the block without bypassing the outside of the block. Since the embedded area is used, the wiring will be short. This is not limited to the maze method wiring, and the same result can be obtained because the wiring is performed by the shortest path even by a general wiring method.

【0017】[0017]

【実施例】以下、本発明の一実施例を図面を用いて説明
する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0018】図1は、レイアウトブロックの構成例であ
る。レイアウトブロックは、ブロックの境界を示すブロ
ック枠1、ブロックの配置単位であるセルを横方向に並
べたセル列21〜23、チャネル領域と呼ぶセルの端子
間を配線するための配線領域41〜44、チャネル領域
内に設けたブロック間配線通過のための空き領域31〜
34で構成される。本実施例では、ブロック間信号の一
部がブロック内部に設けた空き領域31〜34を通過し
て、ブロック端子間を配線できるところに特徴がある。
FIG. 1 shows an example of the layout block configuration. The layout block includes a block frame 1 indicating a block boundary, cell rows 21 to 23 in which cells, which are block arrangement units, are arranged in a horizontal direction, and wiring regions 41 to 44 for wiring between terminals of cells called channel regions. , An empty area 31 through the inter-block wiring provided in the channel area
It is composed of 34. The present embodiment is characterized in that a part of the inter-block signal can pass through the empty regions 31 to 34 provided inside the block and can be wired between the block terminals.

【0019】このようなブロックを使用して、たとえば
迷路法配線でブロック間配線処理を行なうと、ブロック
の内部まで経路が探索され、作り込まれた空き領域がブ
ロック間配線を通過させるために使用される。従って、
配線経路が見つからないといったことが減り、未配線の
数が低減できるという効果がある。
When inter-block wiring processing is performed, for example, by a maze method wiring using such a block, a route is searched to the inside of the block, and the created empty area is used to pass the inter-block wiring. To be done. Therefore,
There is an effect that it is possible to reduce the number of unwirings by reducing the number of undiscovered wiring routes.

【0020】つぎに、図1に示した構成を持つブロック
を、特に計算機で自動設計する処理について説明する。
図2はブロックの配置配線処理の構成図である。CPU
58で実行されるブロック内配置配線処理70は、磁気
ディスク等の外部記憶装置に格納されたセル間の接続情
報であるブロック内論理情報50をメモリに読み込むデ
−タ入力51、セルの並びを決定するセル配置52、セ
ル配置結果に基づいてセル端子間の結線を行なう配線処
理53、ブロックのレイアウト結果を外部記憶装置に格
納するデ−タ出力54、磁気ディスク等の外部記憶装置
に格納されたブロックのレイアウト結果55で構成され
る。さらに、配線処理53は、ブロック内論理の配線を
チャネル領域に振り分ける初期経路割り当て60、チャ
ネル領域に割り当てられた信号の詳細な配線経路を決定
する詳細配線61で構成される。詳細配線61は、幹線
と呼ぶ水平方向の線分と、支線と呼ぶ垂直方向の線分で
配線を行うもので、幹線デ−タの作成62、配線領域内
の幹線の配線位置の算出と、幹線の配線情報を記憶する
幹線テ−ブルを作成する処理とで構成する配線トラック
への割付63、ブロック内に空き領域を設定するための
指示情報56をメモリ57に読み込み、空き領域設定指
示デ−タ68を作成する入力処理641、ブロック間配
線通過のための空き領域の生成64、配線経路の線分デ
−タの作成65で構成される。本発明の構成において、
セル配置52はクラスタ成長法、配線処理53はチャネ
ル配線手法などの一般によく知られている手法を用いて
実現できる。配線処理53は、チャネル法に基づいた処
理構成になっている。本実施例では、ブロック間配線通
過のための空き領域の生成64を設けて、ブロック間配
線の一部の信号がブロック内を通過できるようにしたと
ころに特徴がある。
Next, a process for automatically designing a block having the configuration shown in FIG. 1 especially by a computer will be described.
FIG. 2 is a block diagram of a block placement and routing process. CPU
An in-block placement / routing process 70 executed in 58 reads a logical input 50 in a block, which is connection information between cells stored in an external storage device such as a magnetic disk, into a memory. The cell layout 52 to be determined, the wiring process 53 for connecting the cell terminals based on the cell layout result, the data output 54 for storing the block layout result in the external storage device, and the external storage device such as a magnetic disk. The block layout result 55 is formed. Further, the wiring process 53 is configured by an initial route allocation 60 for allocating the logical wiring in the block to the channel region, and a detailed wiring 61 for determining a detailed wiring route of the signal allocated to the channel region. The detailed wiring 61 performs wiring with a horizontal line segment called a trunk line and a vertical line segment called a branch line. Creation of main line data 62, calculation of the wiring position of the main line in the wiring area, Allocation 63 to a wiring track configured by a process of creating a main table for storing the main wiring information, instruction information 56 for setting an empty area in a block is read into the memory 57, and an empty area setting instruction data is read. The input processing 641 for creating the data 68, the generation 64 of an empty area for passing the inter-block wiring, and the creation 65 of the line segment data of the wiring route. In the configuration of the present invention,
The cell arrangement 52 can be realized by a cluster growth method, and the wiring processing 53 can be realized by a generally well-known method such as a channel wiring method. The wiring process 53 has a processing configuration based on the channel method. The present embodiment is characterized in that an empty area generation 64 for passing the inter-block wiring is provided so that a part of the signals of the inter-block wiring can pass through the block.

【0021】以下では、チャネル配線法で構成している
配線処理53に追加した空き領域生成64を中心に説明
する。最初に、処理64の入力デ−タを図3に具体例で
示す。図3は、幹線のトラック割り当て63が終わった
状態である。(a)はトラックの割り当て状態、(b)
は処理641で空き領域設定情報56を読み込んで作成
される空き領域設定指示テ−ブル68の構成、(c)が
幹線のトラック割付状態を記憶する幹線テ−ブル69の
構成を示している。テ−ブル68と69は、処理64の
入力デ−タになる。トラックは、チャネル領域の下側上
側と交互に割り付けられる。トラック番号は、下側が最
下部から1、2、…、上側は最上部から−1、−2、…
のように割り当てる。
In the following, the empty area generation 64 added to the wiring processing 53 constituted by the channel wiring method will be mainly described. First, the input data of the process 64 is shown in a concrete example in FIG. FIG. 3 shows a state in which the trunk track assignment 63 has been completed. (A) is a track allocation state, (b)
Shows a structure of a free area setting instruction table 68 created by reading the free area setting information 56 in the process 641, and (c) shows a structure of a main line table 69 for storing the track allocation state of the main line. The tables 68 and 69 become the input data of the process 64. The tracks are alternately allocated to the lower side and the upper side of the channel region. The track numbers are 1, 2, ... from the bottom on the bottom, -1, -2, ... from the top on the top.
Assign like.

【0022】つぎに、テ−ブル68、69を入力とする
空き領域の生成処理64を図5のフロ−を用いて説明す
る。処理95はテ−ブル68を検索し、処理中のチャネ
ルと同一チャネル番号を有する空き領域設定指示情報を
抽出する。検索対象となる情報が無ければ処理中チャネ
ルに空き領域を設定する必要が無いため処理を終了す
る。検索情報があれば、処理96で幹線テ−ブル69か
ら幹線をとりだし、処理97で空き領域指示情報の空き
領域量に基づいて幹線のy座標を計算する。計算結果
は、処理98で幹線テ−ブル69のy座標欄に格納す
る。以上の処理を全幹線について行なう。処理64の出
力は、幹線テ−ブル69である。ここで、テ−ブル68
にブロック間配線の通過領域としてNs本トラックの確
保が指定されているとすると、処理97では以下の式を
用いてトラックy座標の計算を行なう。
Next, the empty area generation processing 64 with the tables 68 and 69 as input will be described with reference to the flowchart of FIG. A process 95 searches the table 68, and extracts free area setting instruction information having the same channel number as the channel being processed. If there is no information to be searched, it is not necessary to set an empty area in the channel being processed, and the process is terminated. If there is search information, the main line is taken out from the main line table 69 in the process 96, and the y coordinate of the main line is calculated in the process 97 based on the free area amount of the free area instruction information. The calculation result is stored in the y-coordinate column of the main line table 69 in process 98. The above processing is performed for all trunk lines. The output of process 64 is the trunk table 69. Here, the table 68
If it is specified that Ns main tracks are secured as the passage area of the inter-block wiring, the process y calculates the track y coordinate using the following equation.

【0023】Ch :チャネル領域のトラック数(処理6
3の出力。図3ではCh=4。)Ns :ブロック間配線通過
のための空き領域として、確保するトラック数 Ti
:信号iのトラック番号 Yi:
信号iのトラックy座標
Ti<0のとき
Yi=Ti+
Ns+Ch+1
Ti>0のとき
Yi=Ti 図4は、Ns=2としたときの上記式を適用して得られ
た結果である。(a)はトラックの割り当て状態で、
(b)がその時の幹線のトラック割り当てを記憶した幹
線テ−ブル69の内容を示している。この場合、チャネ
ル領域の中央部にトラック66、67の2トラック分の
空き領域が確保されている。以上の処理によって、チャ
ネル領域の中央部にNs本のトラックを空き領域として
生成することができる。この処理は、配線パタ−ンに全
く影響を与えずに、チャネル領域に空き領域を設定でき
るという特徴がある。
Ch: number of tracks in the channel region (process 6
Output of 3. In Figure 3, Ch = 4. ) Ns: number of tracks secured as an empty area for passing inter-block wiring Ti
: Track number of signal i Yi:
Track y coordinate of signal i
When Ti <0
Yi = Ti +
Ns + Ch + 1
When Ti> 0
Yi = Ti FIG. 4 is a result obtained by applying the above equation when Ns = 2. (A) is a track allocation state,
(B) shows the contents of the trunk table 69 which stores the track allocation of the trunk at that time. In this case, an empty area for two tracks 66 and 67 is secured in the center of the channel area. Through the above processing, Ns tracks can be generated as free areas at the center of the channel area. This processing is characterized in that a free area can be set in the channel area without affecting the wiring pattern at all.

【0024】つぎに、本発明のブロックを用いてブロッ
ク間配線をすることにより、未配線が削減できることを
説明する。未配線がなく、チップ面積、配線長等の設計
仕様を満たすチップレイアウトを得るには、通常、数回
の再レイアウトが必要である。特に、未配線の発生がレ
イアウトの収束性を悪くしている。一般には、つぎに示
すような理由によって配線できずに未配線として残る信
号がでてくる。
Next, it will be described that unwiring can be reduced by wiring between blocks using the blocks of the present invention. In order to obtain a chip layout that does not have unwiring and satisfies design specifications such as chip area and wiring length, it is usually necessary to perform re-layout several times. In particular, the occurrence of unwiring deteriorates the convergence of the layout. Generally, a signal that cannot be wired and remains as unwired appears for the following reason.

【0025】(1)図6の85、88の部分は、ブロッ
クとブロックの隙間が配線で混雑していることを示して
いる。したがって、信号線86の配線経路を部分85、
88で確保できないために、端子81と82の間で未配
線が発生する。
(1) The portions 85 and 88 in FIG. 6 indicate that the spaces between the blocks are crowded with wiring. Therefore, the wiring route of the signal line 86 is set to the portion 85,
Since it cannot be secured at 88, unwiring occurs between the terminals 81 and 82.

【0026】(2)ブロック内部のブロック端子が、図
6の89で示した部分で、他の配線によって図6の
(b)に示したように端子84が他の信号80によって
経路が塞がれてしまうために、端子83と84の間で信
号線87が配線できずに未配線になる。
(2) The block terminal inside the block is the portion indicated by 89 in FIG. 6, and the wiring is blocked by the other signal 80 by the other signal 80 as shown in FIG. 6B by another wiring. Therefore, the signal line 87 cannot be wired between the terminals 83 and 84 and is left unwired.

【0027】このような理由で生じる未配線を削減する
ために、ブロックを移動して配置を変更したり、ブロッ
クの構成を変えたりすることを何度か繰返し、最終的に
は人手で未配線を配線することが行なわれる。このた
め、チップ面積が大きくなったり、レイアウト工数が増
大したり、等の問題がある。本発明は、図6の90、9
1に示したチップ上のブロックの上下に存在する空き領
域に着目し、この空き領域部をブロック内のチャネル領
域に割り振ることによって図7に示す92、93、94
のように未配線信号を通すための道(空き領域)を作
り、これを使用することによって未配線を削減する。な
お、ブロックの上下に無効領域が無い場合は、一般に行
なわれているチップサイズを拡大し、ブロック間の隙間
を広げることで未配線を削減する。
In order to reduce the unwiring caused by such a reason, the block is moved to change the arrangement and the block configuration is repeated several times, and finally the unwiring is manually performed. Is wired. For this reason, there are problems such as a large chip area and an increase in layout man-hours. The present invention relates to 90, 9 of FIG.
Focusing on the empty areas existing above and below the block on the chip shown in FIG. 1, and allocating this empty area portion to the channel area in the block, 92, 93, and 94 shown in FIG.
As described above, a path (empty area) for passing an unwired signal is created, and this is used to reduce unwired. If there is no invalid area above and below the block, the chip size that is generally used is increased and the gap between the blocks is increased to reduce unwiring.

【0028】以上の手順をチップレイアウト方法として
図8に示した。特に、空き領域生成処理64を有するブ
ロック内配置配線処理70と空き領域設定方法の関係を
中心に示した。初めに、処理70のブロック内配置配線
処理でチップで使用するブロックを自動作成する。つぎ
に、チップ上にブロックが配置されていなければ、対話
処理機能を持ったフロアプランシステムなどを使って、
処理72でチップ上のブロック配置を行なう。既に、ブ
ロックが配置されていれば、処理72を省略して良い。
続いて、処理73で、迷路配線手法でブロック間の端子
を結線するブロック間配線を実行する。処理73のブロ
ック間配線の実行結果は、処理74で図形端末78に図
9に示すように未配線の信号86、87とレイアウト結
果を端末表示する。処理73のブロック間配線で、未配
線がなく、チップ面積、配線長が設計仕様を満たしてい
ればチップレイアウトは完了する(100)。チップレ
イアウトが設計仕様を満たしていなければ、設計者は、
端末画面を見ながら、どのブロックの、どのチャネル領
域のどこの位置に、どれだけの量の空き領域を設定すれ
ばよいかを検討し、指定したブロックの上下に空き領域
があれば(101)、空き領域に基づいてブロックを再
作成するための指示を処理75を行なう。指定したブロ
ックの上下に空き領域がない場合(101)、処理72
のブロック配置をやり直して、空き領域を生成する。処
理75では、対話処理で図形端末78に空き領域を設定
したいブロック内部の詳細を表示させる。例えば、コマ
ンドVIS BLKを入力すると、図10のようにブロ
ック内部が表示される。95がセル列、96に示す番号
がチャネル番号である。設計者は、図10の画面を見な
がらコマンドで空き領域の設定を対話形式で指示でき
る。処理76でコマンドを読み込み解釈し、処理77で
指示情報をファイル56に格納する。なお、ファイル5
6は、ブロック内配置配線処理70で読み込まれ、テ−
ブル68にセットされ、空き領域生成処理64で参照さ
れ、ブロック内に空き領域が作成される。
The above procedure is shown in FIG. 8 as a chip layout method. In particular, the relationship between the in-block placement / routing processing 70 having the free area generation processing 64 and the free area setting method has been mainly shown. First, the block used in the chip is automatically created in the intra-block placement / wiring process of process 70. Next, if the block is not placed on the chip, use a floor plan system with interactive processing function,
In step 72, blocks are arranged on the chip. If the block has already been arranged, the process 72 may be omitted.
Subsequently, in a process 73, inter-block wiring for connecting terminals between blocks is executed by a maze wiring method. As the execution result of the inter-block wiring in the process 73, the unwired signals 86 and 87 and the layout result are displayed on the terminal in the process terminal 74 as shown in FIG. If there is no non-wiring in the inter-block wiring in the process 73 and the chip area and wiring length satisfy the design specifications, the chip layout is completed (100). If the chip layout does not meet the design specifications, the designer
While looking at the terminal screen, consider which block, which channel area, where position, and how much free space should be set, and if there is a free space above and below the specified block (101) , Process 75 gives an instruction to recreate a block based on the free area. If there is no free space above or below the specified block (101), process 72
The block arrangement is re-executed to generate an empty area. In process 75, the internal details of the block for which a vacant area is to be set are displayed on the graphic terminal 78 by interactive processing. For example, when the command VIS BLK is input, the inside of the block is displayed as shown in FIG. Reference numeral 95 is a cell string, and reference numeral 96 is a channel number. The designer can interactively instruct the setting of the free area with a command while looking at the screen of FIG. A process 76 reads and interprets the command, and a process 77 stores the instruction information in the file 56. File 5
6 is read by the in-block placement / wiring processing 70, and the
A free area is created in the block by being set in the bull 68 and referenced in the free area generation processing 64.

【0029】以上の流れでチップレイアウトを行なうこ
とによって、例えば図7に示したように信号線86、8
7は、空き領域92、93、94を使用して配線するこ
とができる。
By performing the chip layout according to the above flow, for example, as shown in FIG.
7 can be wired using the empty areas 92, 93, 94.

【0030】実施例では、処理75を設けたことによ
り、ブロック内の空き領域の設定をきめ細かに行なえる
ところに特徴がある。また、チップ上の空き領域をブロ
ック内に取り込むため、チップ面積を増大させずに、未
配線を低減することができるという効果がある。
The embodiment is characterized in that the processing 75 is provided so that the empty area in the block can be finely set. Further, since the empty area on the chip is taken into the block, there is an effect that unwiring can be reduced without increasing the chip area.

【0031】ブロック内に空き領域を設定するための指
定方法をつぎに説明する。指定の方法は、カ−ドや対話
処理によって行なう。対話処理による場合の指示コマン
ド例を以下に示す。GAPはコマンド名、−c,−t,
−sはパラメタの識別子である。
A designation method for setting an empty area in a block will be described below. The designation method is performed by card or interactive processing. The following is an example of an instruction command for interactive processing. GAP is the command name, -c, -t,
-S is a parameter identifier.

【0032】GAP −cチャネル番号 −tトラック
番号 −s空きトラック数 このコマンドは、処理76で以下のような形式に変換さ
れて、ファイル56に格納される。カ−ドで指定する場
合は、本形式で記述して、ファイル56を作成すればよ
い。
GAP-c channel number-t track number-s free track number This command is converted into the following format in the process 76 and stored in the file 56. When specified by a card, the file 56 may be created by describing in this format.

【0033】RCOND_CHANGAP=チャネル番
号,トラック番号,空きトラック数 チャネル番号は、ブロック内のどこのチャネルに空き領
域を設定するかを指定する。ブロックの最下部から順番
に1、2、…とチャネル領域に番号付けされており、こ
のチャネル領域の番号を指定する。特に、チャネル番号
として0が指定されたときは、全チャネルに対して空き
領域が挿入される。トラック番号は、チャネル領域内の
詳細な空き領域場所をトラック番号で指定をする。トラ
ック番号は、チャネル領域内の最下部から順番に1、
2、…と番号付けされている。チャネル領域の中央部に
空き領域を設定したい場合、トラック番号を省略でき
る。空きトラック数の指定は、ブロック間配線の通過の
ための確保すべき空き領域の量をトラック数で指定す
る。
RCOND_CHANGEGAP = channel number, track number, number of empty tracks The channel number specifies which channel in the block the empty area is set to. Channel areas are numbered in order from the bottom of the block as 1, 2, ..., And the number of this channel area is designated. In particular, when 0 is designated as the channel number, empty areas are inserted into all channels. As the track number, a detailed empty area location in the channel area is designated by the track number. The track number is 1, starting from the bottom of the channel area.
It is numbered 2, ... If you want to set an empty area in the center of the channel area, you can omit the track number. To specify the number of empty tracks, the number of empty areas to be secured for passing inter-block wiring is specified by the number of tracks.

【0034】指定された情報は一旦ファイル56に格納
され、前述したようにブロック配置配線処理の空き領域
生成64で内容が参照される。空き領域の設定場所をト
ラック番号で詳細に指定された場合のトラックy座標は
処理97で下記の式を順番に計算して求める。
The specified information is temporarily stored in the file 56, and the contents are referred to in the empty area generation 64 of the block layout and wiring processing as described above. When the setting location of the empty area is specified in detail by the track number, the track y coordinate is calculated by the following formula in order in process 97.

【0035】Ch :チャネル領域のトラック数Ns
:ブロック間配線通過のための空き領域として、確保
するトラック数 Ti :信号iのトラック番号 Y
i:信号iのトラックy座標
Tp:空き領域設定チャネル内トラッ
ク位置番号 Ti<0の
とき
Yi=Ti+Ch+1
Ti>0のとき

Yi=Ti
Yi>Tpのとき
Yi=Y
i+Ns
Yi≦Tpのとき
Yi=Yi 本計算式に基づいて、幹線テ−ブル69のトラックy座
標を更新することによって詳細にブロック内に空き領域
を設定することができる。
Ch: the number of tracks Ns in the channel region
: Number of tracks secured as an empty area for passing inter-block wiring Ti: track number Y of signal i
i: track y coordinate of signal i
Tp: Track position number in empty area setting channel When Ti <0
Yi = Ti + Ch + 1
When Ti> 0

Yi = Ti
When Yi> Tp
Yi = Y
i + Ns
When Yi ≦ Tp
Yi = Yi Based on this calculation formula, by updating the track y coordinate of the main table 69, it is possible to set an empty area in detail in the block.

【0036】以上説明したように、チップ上にある無効
領域をブロック内に取り込み、未配線を通すための空き
領域をブロック内に設定することによって、未配線本数
を低減できる。さらに、ブロックの外側を迂回する配線
本数も低減でき、長い配線長を減らすことができる。
As described above, the number of unwired lines can be reduced by incorporating the invalid area on the chip into the block and setting the empty area for passing the unwired line in the block. Furthermore, the number of wirings that bypass the outside of the block can be reduced, and the long wiring length can be reduced.

【0037】[0037]

【発明の効果】本発明では、チップ上に存在する無効領
域をブロック内部に空き領域として設定することによ
り、ブロック間配線処理において未配線の原因になる配
線混雑個所を回避しながら、ブロック間配線の配線経路
を探索するので、未配線を低減できる。さらに、特定の
未配線を配線するための空き領域を自由に設定できるの
で、確実に未配線を減らすことができる。また、ブロッ
ク外側を迂回せずに、ブロック端子間を結線できるので
配線長を短くできる。
According to the present invention, by setting the invalid area existing on the chip as an empty area inside the block, the inter-block wiring can be avoided while avoiding the wiring congestion point which causes the non-wiring in the inter-block wiring processing. Since the wiring route of is searched, unwiring can be reduced. Further, since the empty area for wiring a specific unwired can be freely set, the unwired can be surely reduced. Further, since the block terminals can be connected without bypassing the outside of the block, the wiring length can be shortened.

【図面の簡単な説明】[Brief description of drawings]

【図1】レイアウトブロックの構成図。FIG. 1 is a configuration diagram of a layout block.

【図2】ブロック配置配線処理のフロ−図。FIG. 2 is a flowchart of a block layout and wiring process.

【図3】空き領域設定前の配線トラック割り付け図。FIG. 3 is a wiring track allocation diagram before setting an empty area.

【図4】空き領域設定後の配線トラック割り付け図。FIG. 4 is a wiring track allocation diagram after setting an empty area.

【図5】空き領域生成フロ−図。FIG. 5 is an empty area generation flowchart.

【図6】ブロック間配線の未配線原因図。FIG. 6 is a diagram showing the cause of non-wiring of wiring between blocks.

【図7】未配線の対策図。FIG. 7 is an unwiring countermeasure diagram.

【図8】チップレイアウトのフロ−図。FIG. 8 is a flow chart of a chip layout.

【図9】未配線の端末表示例。FIG. 9 shows an example of an unwired terminal display.

【図10】空き領域設定指示例。FIG. 10 shows an example of a free area setting instruction.

【符号の説明】[Explanation of symbols]

21〜23:ブロックを構成するセル列 31〜34:チャネル領域に設けた空き領域 41〜44:ブロックを構成するチャネル領域(セル端
子間配線領域) 61:詳細配線処理 62:幹線デ−タ作成処理 63:トラック割り付け処理 64:空き領域生成処理 65:配線経路の線分デ−タ作成処理 68:空き領域設定指示テ−ブル 69:幹線テ−ブル 70:ブロック内配置配線処理 72:ブロック配置処理 73:ブロック間配線処理 75:空き領域の設定指示処理 97:幹線y座標計算処理
21-23: Cell rows forming blocks 31-34: Free areas provided in channel areas 41-44: Channel areas forming block (inter-cell terminal wiring area) 61: Detailed wiring processing 62: Main line data creation Process 63: Track allocation process 64: Free area generation process 65: Line segment data creation process of wiring route 68: Free space setting instruction table 69: Main line table 70: In-block placement / wiring process 72: Block placement Processing 73: Inter-block wiring processing 75: Free area setting instruction processing 97: Main line y coordinate calculation processing

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】記憶装置を有する計算機を用いて複数のブ
ロックからなる半導体集積回路のレイアウトを設計する
際に、前記計算機は、 a)前記記憶装置から前記集積回路の論理回路デ−タを
入力し、 b)前記論理回路デ−タに基づいてそれぞれの前記ブロ
ック内の配線を行い、 c)前記論理回路デ−タに基づいて前記ブロック間の配
線を行い、 d)前記ブロック間の配線で未配線が生じた場合、前記
未配線を通過させるブロック内の指定された配線領域に
空き領域を生成し、 e)前記ステップd)で生成した空き領域に前記に未配
線を通過させ、 f)前記ステップb)からe)によって得られたレイア
ウト結果を前記記憶装置に出力することを特徴とする半
導体集積回路のレイアウト方法。
1. When designing a layout of a semiconductor integrated circuit composed of a plurality of blocks using a computer having a memory device, the computer: a) inputs logic circuit data of the integrated circuit from the memory device. B) wiring in each of the blocks based on the logic circuit data, c) wiring between the blocks based on the logic circuit data, d) wiring between the blocks When unwiring occurs, an empty area is created in the designated wiring area in the block through which the unwiring is passed, e) The unwiring is passed through the empty area created in step d), and f). A layout method of a semiconductor integrated circuit, wherein the layout result obtained in steps b) to e) is output to the storage device.
【請求項2】請求項1記載の前記ブロックは複数のセル
列からなることを特徴とする半導体集積回路のレイアウ
ト方法。
2. A layout method of a semiconductor integrated circuit, wherein the block according to claim 1 comprises a plurality of cell columns.
【請求項3】請求項1記載の前記ステップd)におい
て、前記未配線を通過させるブロックの近傍に空き領域
がない場合、前記ステップb)およびc)を再度実行す
ることを特徴とする半導体集積回路のレイアウト方法。
3. The semiconductor integrated circuit according to claim 1, wherein steps b) and c) are re-executed when there is no free area in the vicinity of the block through which the unwiring passes. Circuit layout method.
【請求項4】請求項2記載のレイアウト方法において、
前記セル列間の配線領域内に前記セル列と並行な幹線を
前記未配線に対応した本数分生成することを特徴とする
半導体集積回路のレイアウト方法。
4. The layout method according to claim 2, wherein
A method for laying out a semiconductor integrated circuit, characterized in that main lines parallel to the cell columns are generated in the wiring region between the cell columns by the number corresponding to the unwired lines.
JP3310408A 1991-11-26 1991-11-26 Layout method for semiconductor integrated circuit Pending JPH05151313A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3310408A JPH05151313A (en) 1991-11-26 1991-11-26 Layout method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3310408A JPH05151313A (en) 1991-11-26 1991-11-26 Layout method for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JPH05151313A true JPH05151313A (en) 1993-06-18

Family

ID=18004904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3310408A Pending JPH05151313A (en) 1991-11-26 1991-11-26 Layout method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JPH05151313A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096436B2 (en) 2000-03-15 2006-08-22 International Business Machines Corporation Macro design techniques to accommodate chip level wiring and circuit placement across the macro

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096436B2 (en) 2000-03-15 2006-08-22 International Business Machines Corporation Macro design techniques to accommodate chip level wiring and circuit placement across the macro

Similar Documents

Publication Publication Date Title
US6966045B2 (en) Method and computer program product for estimating wire loads
US20190026417A1 (en) Computer Implemented System and Method for Generating a Layout of a Cell Defining a Circuit Component
US6385758B1 (en) System and method for compacting a graphic layout
US11288432B2 (en) Computer implemented system and method for generating a layout of a cell defining a circuit component
JPH03188650A (en) Routing method, routing system and semiconductor integrated circuit
JP3529563B2 (en) Semiconductor integrated circuit re-layout method and medium recording semiconductor integrated circuit re-layout program
JP3006824B2 (en) Wiring design method and wiring design device
JPWO2006137119A1 (en) Floor plan apparatus, floor plan program, and computer-readable recording medium recording the program
US6496968B1 (en) Hierarchical wiring method for a semiconductor integrated circuit
JPH05151313A (en) Layout method for semiconductor integrated circuit
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
JP3498674B2 (en) Semiconductor integrated circuit device, clock wiring method, and recording medium
JPH1167923A (en) Semiconductor integrated circuit, wiring routing method thereof and recording medium recording the method
JP2921454B2 (en) Wiring method of integrated circuit
CN117688895B (en) Circuit diagram generating method, computer device and storage medium
JPH09232436A (en) Method and apparatus for logic synthesis, and method for designing semiconductor integrated circuit
JP5402430B2 (en) Design method
JP2011238011A (en) Semiconductor integrated circuit design device, semiconductor integrated circuit design method and program
JP2910730B2 (en) Hierarchical layout design method and hierarchical layout design device
JP2002164435A (en) Method for designing layout
JP2557368B2 (en) Wiring board design support method
JP3398710B2 (en) General-purpose memory macro processing apparatus and general-purpose memory macro processing method
JPH0388071A (en) Designing device
JP2007273847A (en) Design method of semiconductor integrated circuit device, and design equipment
JPH04333260A (en) Layout method of semiconductor integrated circuit