[go: up one dir, main page]

JPH08129576A - Method for designing mask layout of semiconductor device - Google Patents

Method for designing mask layout of semiconductor device

Info

Publication number
JPH08129576A
JPH08129576A JP6268697A JP26869794A JPH08129576A JP H08129576 A JPH08129576 A JP H08129576A JP 6268697 A JP6268697 A JP 6268697A JP 26869794 A JP26869794 A JP 26869794A JP H08129576 A JPH08129576 A JP H08129576A
Authority
JP
Japan
Prior art keywords
wiring
clock
block
blocks
information
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
JP6268697A
Other languages
Japanese (ja)
Inventor
Fumihiro Kimura
文浩 木村
Masahide Sugano
雅秀 菅野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6268697A priority Critical patent/JPH08129576A/en
Publication of JPH08129576A publication Critical patent/JPH08129576A/en
Pending legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【目的】 半導体装置のレイアウト設計において、スキ
ューと遅延値を低減する。 【構成】 ブロック配置工程101でブロックとブロッ
ク間の配線チャネルの大きさと形状を見積り、ブロック
の配置処理を行ない、ブロック内配置配線工程102で
各ブロックの内部を配置配線する。階層展開工程103
で半導体装置の全ブロックを展開し、クロック配線工程
104でクロック発生源から展開したブロックのクロッ
ク端子までのスキューが最小となるようクロック配線を
行ない、クロック配線情報抽出工程105でクロック配
線の情報を抽出する。抽出したクロック配線の情報を使
用し、ブロック内再配線工程106でブロック内の配線
を再度実行し、ブロック間配線工程107でブロック間
の配線を行なう。
(57) [Abstract] [Purpose] To reduce skew and delay values in semiconductor device layout design. [Structure] In a block arranging step 101, the size and shape of a wiring channel between blocks are estimated, block arranging processing is performed, and in a block arranging and wiring step 102, the inside of each block is arranged and wired. Hierarchical expansion step 103
Then, all the blocks of the semiconductor device are expanded, and clock wiring is performed in the clock wiring step 104 so that the skew from the clock generation source to the clock terminal of the expanded block is minimized. Extract. Using the extracted information about the clock wiring, the wiring within the block is performed again in the intra-block rewiring step 106, and the wiring between blocks is performed in the inter-block wiring step 107.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、半導体装置の設計にお
けるマスクレイアウト設計方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a mask layout design method for designing a semiconductor device.

【0002】[0002]

【従来の技術】半導体装置の微細化、高密度化が進み、
レイアウト設計を行なう際に必要となる工数や処理時間
が、規模の増加に伴い指数関数的に増加する。そのた
め、半導体装置全体を一度にレイアウトをするには、莫
大な時間と労力を消費する。前述した問題を解決するた
めに、回路の機能や規模などにより半導体装置を複数の
ブロックに分割し、予め設計されたマクロブロックを除
く各ブロック毎に配置配線を実行した後、ブロック間の
配線を行なう「階層設計手法」と呼ばれる設計方法が広
く用いられている。
2. Description of the Related Art As semiconductor devices become finer and higher in density,
The man-hours and processing time required for layout design increase exponentially as the scale increases. Therefore, it takes a huge amount of time and labor to layout the entire semiconductor device at once. In order to solve the above-mentioned problem, the semiconductor device is divided into a plurality of blocks according to the function and scale of the circuit, and the placement and routing is performed for each block except the predesigned macroblock, and then the wiring between the blocks is performed. A design method called "hierarchical design method" is widely used.

【0003】また、大規模で且つ高速な半導体装置が開
発されるに従い、配線長の増加に伴う遅延値の増加が無
視できなくなってきている。特に、クロック信号の遅延
値差(スキュー)が大きい場合、フリップフロップ等のク
ロック入力信号の到着時間に差が生じ、半導体装置が動
かない、または、誤動作などの悪影響を及ぼす。よっ
て、前述したような悪影響を解消する、「クロックツリ
ー方式」等と呼ばれる方法のマスクレイアウト設計方法
が提案されている。
Further, as a large-scale and high-speed semiconductor device is developed, an increase in delay value accompanying an increase in wiring length cannot be ignored. In particular, when the delay value difference (skew) of the clock signals is large, a difference occurs in the arrival time of the clock input signals such as the flip-flops, and the semiconductor device does not move or malfunctions such as malfunction are caused. Therefore, a mask layout designing method, which is a method called "clock tree method", which eliminates the above-described adverse effects, has been proposed.

【0004】「クロックツリー方式」のマスクレイアウ
ト設計方法として、例えば、ブロック内部の同期をとる
設計方法として、公知例「イグザクト ゼロスキュー」
(プロシーディング アイ・イー・イー・イー インター
ナショナル カンファレンス オンコ ンピュータ エイデ
ィッド デザイン:Proc. IEEE Int. Conference on Comp
uter-Aided Design, pp336-339, 1991)などがある。公
知例「イグザクトゼ ロスキュー」は、まず、関係のあ
るセルを幾つかのクラスタと呼ばれるグループに分け、
各クラスタ内の負荷容量が均等になるように2分割処理
を繰り返すクラスタリングを行ない、クラスタ内のクロ
ック端子を最短経路配線する。さらに、再帰2分割処理
により、クラスタ間のノードにディレイ最小となるよう
なドライバセルを挿入し、階層的なツリー構造を形成す
る。そして、最も下位の階層から順に、ツリーの分岐点
をスキュー最小とすることで配線を最小にし、各階層の
配線終了後、バッファセルの位置やサイズを変更するこ
とによってスキューを低減、または、解消するものであ
る。
As a "clock tree method" mask layout designing method, for example, as a designing method for synchronizing the inside of a block, there is a known example "exact zero skew".
(Proceeding IEEE Int. Conference on Comp
uter-Aided Design, pp336-339, 1991). In the well-known example "Exact Xeroscue", first, the related cells are divided into groups called clusters,
Clustering is performed by repeating the two-division processing so that the load capacities in each cluster are equalized, and the clock terminals in the cluster are routed in the shortest path. Further, by the recursive bisection processing, driver cells that minimize the delay are inserted into nodes between clusters to form a hierarchical tree structure. Then, in order from the lowest hierarchy, the branch point of the tree is minimized to minimize the wiring, and after the wiring for each hierarchy is completed, the skew or the skew is reduced or eliminated by changing the position or size of the buffer cell. To do.

【0005】具体的な方法として、従来の技術おいて広
く使用される設計フローについて図8を用いて説明す
る。
As a concrete method, a design flow widely used in the prior art will be described with reference to FIG.

【0006】ブロック配置工程801では、手動、また
は、ブロック配置アルゴリズムを使用し、予め設計され
たマクロブロックを除くブロックを回路接続情報に含ま
れるセル数やネット数などの情報から大きさ、形状、外
部端子の配線層と位置を正確に見積る。さらに、ブロッ
ク間の配線チャネルの大きさと形状を正確に見積もり、
ブロックを配置を決定する。
In the block arranging step 801, a block or a block arranging algorithm is manually used, and blocks other than predesigned macroblocks are sized and shaped based on information such as the number of cells and the number of nets included in the circuit connection information. Accurately estimate the wiring layer and position of external terminals. In addition, accurately estimate the size and shape of the wiring channel between blocks,
Determine the placement of blocks.

【0007】ブロック内配置配線工程802では、「ク
ロックツリー方式」などのスキューを低減させることが
できるアルゴリズムをもつブロック内の配置配線アルゴ
リズムを用いて、クロック信号の回路接続情報を含むす
べての回路接続情報に従って、マクロブロックを除くブ
ロックの配置配線を行ない、クロック外部端子からブロ
ック内部のクロック端子までのスキューを低減、また
は、解消する。
In the in-block placement / routing step 802, all circuit connections including the circuit connection information of the clock signal are used by using the in-block placement / routing algorithm having an algorithm capable of reducing the skew such as "clock tree method". According to the information, the blocks other than the macro block are arranged and wired, and the skew from the clock external terminal to the clock terminal inside the block is reduced or eliminated.

【0008】ブロック間配線工程803において、各ク
ロック外部端子位置と負荷の情報をもとに、クロック発
生源からクロック外部端子までのスキューが予め定めら
れた範囲内に収まるようクロック信号の配線と、クロッ
ク信号以外の配線を行なう。
In the inter-block wiring step 803, the wiring of the clock signal is set so that the skew from the clock generation source to the clock external terminal falls within a predetermined range based on the information of each clock external terminal position and load. Make wiring other than clock signals.

【0009】図8のフローに従い、レイアウトを行なっ
た結果を図9に示す。図9は、クロック配線の結果を理
解しやすくするために、ブロックをレイアウト後展開
し、クロック信号以外の配線は省略した。
FIG. 9 shows the result of layout performed according to the flow of FIG. In FIG. 9, in order to make the results of the clock wiring easier to understand, the blocks are expanded after layout and wiring other than the clock signal is omitted.

【0010】図9に示すように、従来の技術によるマス
クレイアウト設計方法では、ブロック204〜208内
部の各クロック端子401までのスキューを低減、また
は、解消することが可能であるが、ブロック204〜2
08それぞれの内部にあるクロック端子401までの配
線経路、および、クロック端子401の数が異なるた
め、ブロック204〜208それぞれの持つクロック信
号の負荷の値が異ることがわかる。ブロック内部の負荷
に応じて、ブロック間のクロック信号の配線906の長
さやクロック信号の配線906の接続点、クロック分配
部905、および、クロック外部端子901〜904の
位置などの最適な値を求めなければならないため、ブロ
ック間におけるスキューを低減することが困難である。
As shown in FIG. 9, according to the conventional mask layout designing method, the skew to each clock terminal 401 in blocks 204 to 208 can be reduced or eliminated. Two
Since the wiring paths to the clock terminal 401 inside each of the 08 and the number of the clock terminals 401 are different, it can be seen that the values of the clock signal loads of the blocks 204 to 208 are different. Optimal values such as the length of the clock signal wiring 906 between the blocks, the connection point of the clock signal wiring 906, the position of the clock distribution unit 905, and the clock external terminals 901 to 904 are obtained according to the load inside the block. Therefore, it is difficult to reduce the skew between the blocks.

【0011】クロック信号の配線906に特定の配線層
を使用しない限り、ブロック内部はブロック間の配線領
域として使用できないため、ブロック間において迂回配
線を行なわなければならない。また、ブロック間のクロ
ック信号の配線906の長さを最適な長さにするため
に、配線を引きまわすなどの処理を行なわなければなら
ない。そのため、冗長な配線が発生し、クロック信号の
遅延値が増加する。
Unless a specific wiring layer is used for the clock signal wiring 906, the inside of the block cannot be used as a wiring area between blocks, so that detour wiring must be performed between blocks. Further, in order to make the length of the wiring 906 for the clock signal between blocks to be the optimum length, it is necessary to perform processing such as wiring around the wiring. Therefore, redundant wiring occurs and the delay value of the clock signal increases.

【0012】[0012]

【発明が解決しようとする課題】従来の技術「クロック
ツリー方式」では、各ブロック内部のスキューを低減、
または、解消することができる。しかし、半導体装置全
体を考えた時、クロックの発生源から各ブロックのクロ
ック端子までの配線経路の違いや各ブロック内部の負荷
の違い(例えばフリップフロップの数など)により、ブロ
ック間におけるスキューや遅延値を低減する同期回路の
設計が非常に困難であった。
In the prior art "clock tree method", the skew inside each block is reduced,
Or it can be resolved. However, when considering the entire semiconductor device, skew and delay between blocks may occur due to differences in the wiring path from the clock source to the clock terminal of each block and differences in the load inside each block (for example, the number of flip-flops). It was very difficult to design a synchronous circuit to reduce the value.

【0013】本発明は、上述の従来の設計方法の問題を
解消し、精度の良い、バランスのとれたクロック配線を
容易に実現できる半導体装置のマスクレイアウト方法を
提供することを目的とする。
An object of the present invention is to provide a mask layout method for a semiconductor device, which solves the problems of the above-described conventional design method and can easily realize a highly accurate and balanced clock wiring.

【0014】[0014]

【課題を解決するための手段】この目的を達成するため
に、ブロックとブロック間の配線チャネルの大きさや形
状を見積もり、ブロックの配置処理を行なうブロック配
置工程と、前記ブロック配置工程に、予め設計されたマ
クロブロックを除く各ブロック内部のセルの配置と配線
処理を行なうブロック内配置配線工程と、前記ブロック
内配置配線工程後に、すべてのブロックの階層を展開す
る階層展開工程と、前記階層展開工程後に、クロック入
力を必要とするクロック端子の位置や負荷などの情報を
抽出し、クロック発生源から各クロック端子までスキュ
ーが最小となるようにクロックの配線のみを行なうクロ
ック配線工程と、クロック配線工程後に、敷設されたク
ロック配線の情報を抽出するクロック配線抽出工程と、
クロック配線情報抽出工程後に、抽出されたクロック配
線情報を制約条件としたブロック内部の配線処理を行な
うブロック再配線工程と、ブロック内再配線工程後に、
再配線された各ブロック間の配線チャネルを前記クロッ
ク配線情報抽出工程で抽出されたクロック配線情報を制
約条件とし、ブロック間の配線するブロック間配線工程
を含むことを特徴とする。
In order to achieve this object, a block arranging step for estimating the size and shape of a block and a wiring channel between the blocks and arranging the blocks, and the block arranging step are designed in advance. The placement and routing of cells inside each block except for the specified macroblock, a step of placing and routing a block, a step of expanding the hierarchy of all blocks after the step of placing and wiring the block, and a step of expanding the layer. Later, a clock wiring process that extracts information such as clock pin positions and loads that require clock input, and performs only clock wiring to minimize skew from the clock generation source to each clock terminal, and a clock wiring process After that, a clock wiring extraction step of extracting information on the installed clock wiring,
After the clock wiring information extraction step, a block rewiring step that performs wiring processing inside the block with the extracted clock wiring information as a constraint condition, and after the intra-block rewiring step,
The wiring channel between the re-routed blocks is characterized by including an inter-block wiring step of wiring between blocks with the clock wiring information extracted in the clock wiring information extraction step as a constraint condition.

【0015】[0015]

【作用】本発明によれば、階層的なレイアウト設計にお
いて、クロック信号の配線を行なう際に、ブロックの階
層を展開しクロック信号の配線を行ない、展開して行な
ったクロック信号の配線の情報を使用し、再度、階層的
にレイアウト設計を行なうことにより、ブロック内部の
スキューを低減させる方法を用いて、容易にクロック発
生源から各クロック端子までのクロック信号のずれを低
減させることができる。
According to the present invention, when a clock signal is wired in a hierarchical layout design, the block hierarchy is expanded, the clock signal is wired, and the information of the expanded clock signal wiring is displayed. It is possible to easily reduce the shift of the clock signal from the clock generation source to each clock terminal by using the method of reducing the skew inside the block by using the layout design again hierarchically.

【0016】[0016]

【実施例】【Example】

(実施例1)以下、本発明の一実施例について図面を用い
て説明する。
Example 1 An example of the present invention will be described below with reference to the drawings.

【0017】本発明のフローを、図1を用いて説明す
る。本発明は、ブロック配置工程101、ブロック内配
置配線工程102、階層展開工程103、クロック配線
工程104、クロック配線情報抽出工程105、ブロッ
ク内再配線工程106、ブロック間配線工程107から
構成されている。
The flow of the present invention will be described with reference to FIG. The present invention comprises a block placement process 101, a block placement and routing process 102, a hierarchical expansion process 103, a clock wiring process 104, a clock wiring information extraction process 105, an intra-block rewiring process 106, and an inter-block wiring process 107. .

【0018】ブロック配置工程101について、図2を
用いて説明する。図2は、それぞれ、半導体装置20
1、半導体装置の上辺中央部付近に設けられたクロック
発生源202、予め設計されたマクロブロック203、
内部の配置配線が行なわれるブロック204〜208、
ブロック間の配線チャネル209を示す。
The block arranging step 101 will be described with reference to FIG. FIG. 2 shows the semiconductor device 20.
1. A clock generation source 202 provided near the center of the upper side of the semiconductor device, a predesigned macroblock 203,
Blocks 204 to 208 in which internal placement and wiring are performed,
Wiring channels 209 between blocks are shown.

【0019】ブロック配置工程101では、手動、また
は、ブロック間配置アルゴリズを使用し、予め設計され
たマクロブロック203を除くブロック204〜208
それぞれに対し、回路接続情報に含まれるセル数やネッ
ト数などの情報から大きさ、形状、外部端子の配線層と
位置を正確に見積る。さらに、ブロック間の配線チャネ
ル209の大きさと形状を正確に見積もり、ブロックの
配置を決定する。
In the block arranging step 101, blocks 204 to 208 excluding the predesigned macroblock 203 are manually used or an interblock arranging algorithm is used.
For each of these, the size, shape, wiring layer and position of the external terminal are accurately estimated from information such as the number of cells and the number of nets included in the circuit connection information. Further, the size and shape of the wiring channel 209 between blocks are accurately estimated to determine the block layout.

【0020】ブロック内配置配線工程102では、ブロ
ック内の配置配線アルゴリズムを用いて、クロック信号
の回路接続情報を除く回路接続情報に従って、ブロック
204〜208それぞれの面積、総配線長が最小となる
よう配置配線を行なう。
In the in-block placement / wiring step 102, the area and total wiring length of each of the blocks 204 to 208 are minimized according to the circuit connection information excluding the circuit connection information of the clock signal using the in-block placement / wiring algorithm. Place and route.

【0021】階層展開工程103について、図3を用い
て説明する。図3は、それぞれマクロブロックの外枠3
01、内部が配置配線されるブロックの外枠302〜3
06、セル列307、各セル列に含まれるセル308を
示す。
The hierarchy expanding step 103 will be described with reference to FIG. FIG. 3 shows the outer frame 3 of each macroblock.
01, outer frames 302 to 3 of blocks in which the inside is arranged and wired
06, a cell column 307, and a cell 308 included in each cell column.

【0022】階層展開工程103では、図2の予め設計
されたマクロブロック203、ブロック内配置配線工程
102において内部の配置配線が施されたブロック20
4〜208のすべてのブロックから、図3に示すマクロ
ブロックの外枠301、ブロック204〜208それぞ
れの外枠302〜306、セル列307、および、各セ
ル列に含まれるセル308などの情報を抽出し、その情
報をもとにブロックを展開する。
In the hierarchical expansion step 103, the predesigned macroblock 203 shown in FIG. 2 and the block 20 to which the internal layout and wiring have been applied in the intra-block layout and wiring step 102.
Information such as the outer frame 301 of the macroblock illustrated in FIG. 3, the outer frames 302 to 306 of the blocks 204 to 208, the cell row 307, and the cell 308 included in each cell row is displayed from all blocks 4 to 208. Extract and expand the block based on that information.

【0023】クロック配線工程104について、図4を
用いて説明する。図4は、それぞれクロック入力を必要
とするクロック端子401、クロック信号の配線40
2、各クロック端子401までのスキューが最小となる
クロック信号の配線402の接続点であるクロック分配
部403を示す。
The clock wiring process 104 will be described with reference to FIG. FIG. 4 shows a clock terminal 401 and a clock signal wiring 40 each requiring a clock input.
2 shows a clock distribution unit 403 which is a connection point of the wiring 402 of the clock signal that minimizes the skew to each clock terminal 401.

【0024】クロック配線工程104では、階層展開工
程103で抽出されたセル列307内部のセル308の
クロック入力を必要とする各クロック端子401の位置
と負荷の情報をもとに、従来の技術「クロックツリー方
式」で使用される2分木のクロックツリーを用いて、各
クロック端子401間からクロック発生源202までボ
トムアップに、スキューが最小となるようにクロック信
号の回路接続情報に従ってクロック信号の配線のみを行
なう。
In the clock wiring step 104, the conventional technique "on the basis of the position and load information of each clock terminal 401 which requires the clock input of the cell 308 inside the cell row 307 extracted in the hierarchical expansion step 103. By using a binary tree clock tree used in the "clock tree method", the clock signal is fed from the respective clock terminals 401 to the clock generation source 202 in a bottom-up manner according to the circuit connection information of the clock signal so as to minimize the skew. Wiring only.

【0025】クロック配線情報抽出工程105につい
て、図5を用いて説明する。図5は、それぞれクロック
外部端子501〜511を示す。クロック配線情報抽出
工程105では、階層展開工程103で抽出したブロッ
クの外枠302〜306の情報をもとに、クロック信号
の配線402とブロックの外枠302〜306とが交差
する点にそれぞれクロック外部端子501〜511を生
成する。ブロック内部のクロック配線に関しては、生成
したクロック外部端子501〜511毎に、クロック外
部端子501〜511それぞれに継るクロック端子40
1とクロック信号の配線402の情報を抽出し、抽出し
た配線の回路接続情報を生成する。ブロック間のクロッ
ク信号の配線402に関しては、クロック外部端子50
1〜511それぞれの間、および、クロック発生源20
2とクロック外部端子501〜511それぞれの間のク
ロック信号の配線402の情報を抽出し、抽出した配線
の回路接続情報を生成する。
The clock wiring information extraction step 105 will be described with reference to FIG. FIG. 5 shows clock external terminals 501 to 511, respectively. In the clock wiring information extraction step 105, based on the information of the outer frames 302 to 306 of the block extracted in the hierarchical expansion step 103, clocks are respectively applied to the intersections of the clock signal wiring 402 and the outer frames 302 to 306 of the block. The external terminals 501 to 511 are generated. Regarding the clock wiring inside the block, for each generated clock external terminal 501 to 511, the clock terminal 40 succeeding to each clock external terminal 501 to 511
1 and the information of the wiring 402 of the clock signal are extracted, and the circuit connection information of the extracted wiring is generated. Regarding the wiring 402 of the clock signal between the blocks, the clock external terminal 50
1 to 511, and the clock generation source 20
2 and information of the wiring 402 of the clock signal between the clock external terminals 501 to 511, respectively, and circuit connection information of the extracted wiring is generated.

【0026】ブロック内再配線工程106では、ブロッ
ク内配置配線工程102で得られた配置配線の結果に対
して、クロック配線情報抽出工程105で抽出したブロ
ック内のクロック信号の配線402の情報と回路接続情
報をもとに、クロック信号の配線402を施設する。ク
ロック信号の配線402を施設したことにより、設計ル
ールエラーが発生する場合、クロック信号の配線402
は変更せず、ブロック内配置配線工程102で得られた
配線結果を改善する。ブロック内配置配線工程102で
得られた配線結果を改善したことにより、セル列307
間の配線チャネルが広がり、セル列307が動く場合、
クロック信号の配線402をセル列307が動く方向に
動いた分だけ伸縮し、クロック信号の配線切れを防ぐ微
調整を行なう。図6(a)にブロック内配置配線工程10
2で得られた配置配線の結果に対して、クロック配線情
報抽出工程105で抽出したクロック信号の配線402
を施設した結果を、図6(b)にブロック内配置配線工程
102で得られた配線結果を改善し、微調整を行なった
結果を示す。図6(a)、および、(b)は、ブロック内再配
線工程106におけるクロック配線の結果を明確にする
ため、クロック信号の配線402以外の配線は省略し
た。
In the intra-block rewiring step 106, the information and the circuit of the clock signal wiring 402 in the block extracted in the clock wiring information extraction step 105 are obtained with respect to the placement and routing result obtained in the intra-block placement and routing step 102. The wiring 402 for the clock signal is installed based on the connection information. If a design rule error occurs due to the provision of the clock signal wiring 402, the clock signal wiring 402
Does not change and improves the wiring result obtained in the in-block placement and wiring step 102. By improving the wiring result obtained in the in-block placement / wiring step 102, the cell row 307
If the wiring channel between them expands and the cell row 307 moves,
The clock signal wiring 402 is expanded and contracted by the amount of movement in the direction in which the cell row 307 moves, and fine adjustment is performed to prevent the clock signal wiring from being broken. In FIG. 6A, the block placement and wiring process 10 is performed.
The wiring 402 of the clock signal extracted in the clock wiring information extraction step 105 with respect to the placement and wiring result obtained in 2
FIG. 6B shows a result of performing the fine adjustment, as a result of improving the wiring result obtained in the in-block placement and wiring step 102, as a result of the establishment of the above. In FIGS. 6A and 6B, in order to clarify the result of the clock wiring in the intra-block rewiring step 106, wirings other than the clock signal wiring 402 are omitted.

【0027】ブロック間配線工程107では、階層展開
工程103で展開したブロックと前記ブロック内再配線
工程106で再配線を行なったブロックや階層が展開さ
れていない予め設計されたマクロブロックとを置き換
え、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報と回路接続情報をもとに、ブロック間
のクロック信号の配線402を初期配線として予め施設
し、クロック信号の回路接続情報を除くブロック間の回
路接続情報をもとに配線処理を行なう。クロック信号の
配線402を施設したことで、ブロックの形状、サイズ
が変わり、クロック外部端子501〜511の位置が動
いたり、ブロック間の配線チャネル209が広がった場
合、配線切れが生じないよう、ブロックの移動方向、お
よび、移動量に応じてブロック間のクロック信号の配線
402を伸縮させて調整を行なう。
In the inter-block wiring step 107, the block expanded in the hierarchical expansion step 103 is replaced with the block re-wired in the intra-block re-wiring step 106 or a predesigned macro block in which no hierarchy is expanded, Based on the clock signal wiring information and the circuit connection information extracted in the clock wiring information extraction step 105, the clock signal wiring 402 between the blocks is preliminarily provided as an initial wiring, and the blocks between the blocks except the circuit connection information of the clock signal are installed. Wiring processing is performed based on the circuit connection information. Since the clock signal wiring 402 is provided, the shape and size of the block are changed, and when the positions of the clock external terminals 501 to 511 are moved or the wiring channel 209 between the blocks is expanded, the wiring is prevented from being broken. The adjustment is performed by expanding and contracting the wiring 402 of the clock signal between the blocks according to the moving direction and the moving amount.

【0028】以上に示した本発明によりレイアウトを行
なった一実施例の結果を図7に示す。図7(a)は、階層
をもった半導体装置のレイアウト結果である。図7(b)
は、それぞれブロック204〜208のレイアウト結果
を展開したものである。図7(a)、および、(b)は、クロ
ック配線の結果を明確にするために、クロック信号の配
線402以外の配線は省略した。
FIG. 7 shows the result of one embodiment in which the layout according to the present invention described above is performed. FIG. 7A shows a layout result of a semiconductor device having layers. Fig. 7 (b)
Shows the layout results of blocks 204 to 208, respectively. In FIGS. 7A and 7B, in order to clarify the result of the clock wiring, wirings other than the clock signal wiring 402 are omitted.

【0029】図7に示すように、クロック配線の際に、
階層を展開したことで、クロック信号の配線402は、
ブロック内、ブロック間に係わらず実行できる。そのた
め、迂回配線やスキュー調整の引きまわし配線などを必
要しないので、遅延値を低減することができる。
As shown in FIG. 7, during clock wiring,
By expanding the hierarchy, the clock signal wiring 402 is
It can be executed regardless of whether it is in a block or between blocks. Therefore, since the detour wiring and the wiring for skew adjustment are not required, the delay value can be reduced.

【0030】クロック外部端子501〜511とクロッ
ク分配部403は、スキューが最小になるクロック信号
配線を行なった後、配置されるため、非常に容易に、か
つ、最適な位置に配置できる。
Since the clock external terminals 501 to 511 and the clock distribution unit 403 are arranged after the clock signal wiring which minimizes the skew is arranged, it can be arranged very easily and at an optimum position.

【0031】クロック信号の配線402は、クロック発
生源202から各クロック端子までのスキューが最小に
なるように配線を行なった結果を使用し、再度階層的な
レイアウト設計を行なうので、精度の高いクロック信号
配線を容易に得ることができる。
The wiring 402 for the clock signal uses the result of wiring so that the skew from the clock generation source 202 to each clock terminal is minimized, and the hierarchical layout design is performed again, so that a highly accurate clock is obtained. The signal wiring can be easily obtained.

【0032】なお、本実施例では、クロック配線工程1
04において「クロックツリー方式」の2分木のクロッ
クツリーを用いてスキューを低減させたが、スキューを
低減することができる他のアルゴリズムを使用しても良
い。
In this embodiment, the clock wiring process 1
Although the skew is reduced by using the binary tree clock tree of the “clock tree method” in 04, other algorithms capable of reducing the skew may be used.

【0033】ブロック内再配線工程106において、ブ
ロック内配置配線工程102で得られた配置情報を使用
し、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報をもとに、クロック信号の配線を初期
配線として予め敷設し、ブロック内配置配線工程102
と同様の配線処理を行なってもよい。
In the intra-block rewiring step 106, the placement information obtained in the intra-block placement and routing step 102 is used, and the clock signal wiring is performed based on the clock signal wiring information extracted in the clock wiring information extraction step 105. Is laid in advance as an initial wiring, and the in-block placement / wiring step 102
Wiring processing similar to the above may be performed.

【0034】クロック配線に使用する配線の幅をクロッ
ク信号発生源202からクロック端子に向かって段階的
に配線幅を細くしてもよい。この場合、面積の増加が生
じるが、クロック信号の遅延を低減することができる。
The width of the wiring used for the clock wiring may be gradually reduced from the clock signal generation source 202 toward the clock terminal. In this case, the area is increased, but the delay of the clock signal can be reduced.

【0035】クロック信号の配線402に使用する配線
層は任意である。クロック分配部403を明確にするた
めに、クロック分配部403にオブジェクトを与えた
が、特に与えなくてもよい。
The wiring layer used for the wiring 402 of the clock signal is arbitrary. In order to clarify the clock distribution unit 403, an object is given to the clock distribution unit 403, but it need not be given.

【0036】[0036]

【発明の効果】以上述べてきた様に、本発明に係わる半
導体装置の同期回路レイアウト設計方法によれば、階層
的なレイアウト設計において、クロックの信号配線を行
なう際に、ブロックの階層を展開してクロック信号の配
線を行ない、展開して行なったクロック信号の配線の情
報を使用し、再度階層的にレイアウト設計を行なうこと
で、半導体装置全体における遅延値、および、スキュー
を低減することが容易にできる。
As described above, according to the synchronous circuit layout design method for a semiconductor device according to the present invention, in the hierarchical layout design, the block hierarchy is expanded when clock signal wiring is performed. It is easy to reduce the delay value and skew in the entire semiconductor device by wiring the clock signal and using the developed information of the wiring of the clock signal to perform hierarchical layout design again. You can

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

【図1】本発明の一実施例を示す半導体装置の同期回路
レイアウト設計方法のフロー図
FIG. 1 is a flow chart of a synchronous circuit layout design method for a semiconductor device showing an embodiment of the present invention.

【図2】本発明の一実施例のブロック配置工程101の
実行結果を示す図
FIG. 2 is a diagram showing an execution result of a block placement step 101 according to an embodiment of the present invention.

【図3】本発明の一実施例の階層展開工程103の実行
結果を示す図
FIG. 3 is a diagram showing an execution result of a hierarchy expanding step 103 according to an embodiment of the present invention.

【図4】本発明の一実施例のクロック配線工程104の
実行結果を示す図
FIG. 4 is a diagram showing an execution result of a clock wiring process 104 according to an embodiment of the present invention.

【図5】本発明の一実施例のクロック配線情報抽出工程
105の実行結果を示す図
FIG. 5 is a diagram showing an execution result of a clock wiring information extracting step 105 according to an embodiment of the present invention.

【図6】本発明の一実施例のブロック内再配線工程10
6の実行結果を示す図
FIG. 6 is a block rewiring step 10 according to an embodiment of the present invention.
Figure showing the execution result of 6

【図7】本発明の一実施例実行結果を示す図FIG. 7 is a diagram showing a result of execution of an embodiment of the present invention.

【図8】従来の技術において広く使用される半導体装置
の同期回路レイアウト設計方法のフロー図
FIG. 8 is a flow chart of a synchronous circuit layout designing method for a semiconductor device which is widely used in the related art.

【図9】図8のフロー図に従いレイアウトを実行した結
果を示す図
9 is a diagram showing a result of executing layout according to the flow chart of FIG.

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

101 ブロック配置工程 102 ブロック内配置配線工程 103 階層展開工程 104 クロック配線工程 105 クロック配線情報抽出工程 106 ブロック内再配線工程 107 ブロック間配線工程 101 Block Placement Step 102 In-Block Placement / Wiring Step 103 Hierarchical Expansion Step 104 Clock Wiring Step 105 Clock Wiring Information Extraction Step 106 In-block Rewiring Step 107 Inter-block Wiring Step

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 21/822 H01L 21/82 W 27/04 A ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Office reference number FI technical display location H01L 21/822 H01L 21/82 W 27/04 A

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】ブロックとブロック間の配線チャネルの大
きさや形状を見積もり、ブロックの配置処理を行なうブ
ロック配置工程と、 前記ブロック配置工程後に、予め設計されたマクロブロ
ックを除く各ブロック内部のセルの配置と配線処理を行
なうブロック内配置配線工程と、 前記ブロック内配置配線工程後に、すべてのブロックの
階層を展開する階層展開工程と、 前記階層展開工程後に、クロック入力を必要とするクロ
ック端子の位置や負荷などの情報を抽出し、クロック発
生源から各クロック端子までのスキューが最小になるよ
うにクロックの配線のみを行なうクロック配線工程と、 クロック配線工程後に、敷設されたクロック配線の情報
を抽出するクロック配線抽出工程と、 クロック配線情報抽出工程後に、抽出されたクロック配
線情報を制約条件としたブロック内部の配線処理を行な
うブロック内再配線工程と、 ブロック内再配線工程後に、再配線された各ブロック間
の配線チャネルを前記クロック配線情報抽出工程で抽出
されたクロック配線情報を制約条件とし、ブロック間の
配線を行なうブロック間配線工程を含むことを特徴とす
るマスクレイアウト設計方法。
1. A block arranging step of estimating a size and a shape of a wiring channel between blocks and arranging the blocks, and after the block arranging step, a cell inside each block excluding a predesigned macro block is arranged. In-block placement / routing step for performing placement and routing processing; Hierarchical unfolding step for unfolding all block hierarchies after the in-block placing / wiring step; and Clock terminal position requiring clock input after the hierarchical unfolding step Information such as load and load, and clock wiring process that performs only the wiring of the clock so that the skew from the clock generation source to each clock terminal is minimized, and the information of the installed clock wiring after the clock wiring process The clock wiring extraction process that is performed and the extracted clock distribution after the clock wiring information extraction process. The intra-block rewiring step for performing the wiring processing inside the block with the information as a constraint condition, and the clock wiring extracted between the rerouted wiring channels between the blocks in the clock wiring information extracting step after the intra-block rewiring step A mask layout designing method, characterized in that it includes an inter-block wiring step of performing wiring between blocks using information as a constraint condition.
JP6268697A 1994-11-01 1994-11-01 Method for designing mask layout of semiconductor device Pending JPH08129576A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6268697A JPH08129576A (en) 1994-11-01 1994-11-01 Method for designing mask layout of semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6268697A JPH08129576A (en) 1994-11-01 1994-11-01 Method for designing mask layout of semiconductor device

Publications (1)

Publication Number Publication Date
JPH08129576A true JPH08129576A (en) 1996-05-21

Family

ID=17462125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6268697A Pending JPH08129576A (en) 1994-11-01 1994-11-01 Method for designing mask layout of semiconductor device

Country Status (1)

Country Link
JP (1) JPH08129576A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090695A (en) * 2006-10-04 2008-04-17 Fujitsu Ltd Integrated circuit design method, integrated circuit design apparatus, and integrated circuit design program
US7479825B2 (en) 2005-10-25 2009-01-20 Renesas Technology Corp. Clock forming method for semiconductor integrated circuit and program product for the method
US7757192B2 (en) 2007-01-30 2010-07-13 Fujitsu Limited Integrated circuit designing device, integrated circuit designing method, and integrated circuit designing program
JP2011203906A (en) * 2010-03-25 2011-10-13 Fujitsu Ltd Layout design apparatus, layout design method and layout design program
JP2016505931A (en) * 2012-11-28 2016-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated Clock distribution network for 3D integrated circuits

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7479825B2 (en) 2005-10-25 2009-01-20 Renesas Technology Corp. Clock forming method for semiconductor integrated circuit and program product for the method
JP2008090695A (en) * 2006-10-04 2008-04-17 Fujitsu Ltd Integrated circuit design method, integrated circuit design apparatus, and integrated circuit design program
US7757188B2 (en) 2006-10-04 2010-07-13 Fujitsu Limited Method and apparatus for designing integrated circuit
US7757192B2 (en) 2007-01-30 2010-07-13 Fujitsu Limited Integrated circuit designing device, integrated circuit designing method, and integrated circuit designing program
JP2011203906A (en) * 2010-03-25 2011-10-13 Fujitsu Ltd Layout design apparatus, layout design method and layout design program
JP2016505931A (en) * 2012-11-28 2016-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated Clock distribution network for 3D integrated circuits

Similar Documents

Publication Publication Date Title
JP2695078B2 (en) Data processing device clock signal distribution method
JP3076410B2 (en) Design method of semiconductor integrated circuit
US4613941A (en) Routing method in computer aided customization of a two level automated universal array
US6308309B1 (en) Place-holding library elements for defining routing paths
US8219965B2 (en) Layout design method of semiconductor integrated circuit including regenerating a cell layout to set first and second distances and generating library data
US20050151258A1 (en) Method for reducing wiring congestion in a VLSI chip design
JPH08129576A (en) Method for designing mask layout of semiconductor device
JPH0714927A (en) Automatic layout design method and automatic layout design device
CN115758980A (en) Low-power-consumption physical design layout method based on automatic chain script
JP3251686B2 (en) Automatic wiring method for integrated circuits
US6523160B2 (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
JPH0830655A (en) Method of designing synchronous circuit layout of semiconductor device
US6477692B1 (en) Method and apparatus for channel-routing of an electronic device
JP3433025B2 (en) Module placement method
WO2011083919A2 (en) Block and standard cell packing method for automated design area optimization
JP3182244B2 (en) Method for optimizing signal propagation delay time in semiconductor integrated circuit
JP3877698B2 (en) Semiconductor integrated circuit design method
JP2910730B2 (en) Hierarchical layout design method and hierarchical layout design device
JP2000331051A (en) Semiconductor integrated circuit wiring method
JP4867708B2 (en) Semiconductor integrated circuit design method and design apparatus
JPH0945779A (en) Method for designing mask layout of semiconductor device
JP2982516B2 (en) Layout method of semiconductor integrated circuit
JPH06216249A (en) Automatic layout design system for ic chip
JP2912300B2 (en) ASIC layout method
JP2000216251A (en) Design method of semiconductor integrated circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041112

A131 Notification of reasons for refusal

Effective date: 20041116

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

RD02 Notification of acceptance of power of attorney

Effective date: 20050414

Free format text: JAPANESE INTERMEDIATE CODE: A7422

RD04 Notification of resignation of power of attorney

Effective date: 20050606

Free format text: JAPANESE INTERMEDIATE CODE: A7424

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

A61 First payment of annual fees (during grant procedure)

Effective date: 20051205

Free format text: JAPANESE INTERMEDIATE CODE: A61

LAPS Cancellation because of no payment of annual fees