JP2002110797A - Method for designing clock wiring - Google Patents

Method for designing clock wiring

Info

Publication number
JP2002110797A
JP2002110797A JP2000292578A JP2000292578A JP2002110797A JP 2002110797 A JP2002110797 A JP 2002110797A JP 2000292578 A JP2000292578 A JP 2000292578A JP 2000292578 A JP2000292578 A JP 2000292578A JP 2002110797 A JP2002110797 A JP 2002110797A
Authority
JP
Japan
Prior art keywords
clock
wiring
macro
macros
delay
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
JP2000292578A
Other languages
Japanese (ja)
Other versions
JP3420195B2 (en
Inventor
Shigeki Yonemori
茂樹 米森
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.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems 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 Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2000292578A priority Critical patent/JP3420195B2/en
Priority to US09/962,135 priority patent/US6609241B2/en
Publication of JP2002110797A publication Critical patent/JP2002110797A/en
Application granted granted Critical
Publication of JP3420195B2 publication Critical patent/JP3420195B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To eliminate the need for timing analysis of multiple number of times after modifying and completing a layout and reduce a clock skew, without using a dedicated clock interconnection layer. SOLUTION: A macro delay model F2 has been formed in advance, and a delay calculation of a top level is performed using the delay model F2, and thus the clock skew between each of macros 2 and 3 of clock supply targets in a function block which is a design target is reduced.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はクロック配線の設計
方法に関し、特に機能ブロックを階層化して行うレイア
ウト設計におけるクロック配線の設計方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a clock wiring design method, and more particularly to a clock wiring design method in a layout design in which functional blocks are hierarchized.

【0002】[0002]

【従来の技術】近年の半導体技術の進歩に伴い、LSI
(大規模半導体集積回路)においては一層の高速化、高
集積度化、大規模化が推進されている。特に、論理回路
においては、0.35μm以下のいわゆるディープサブ
ミクロンデザインルールでLSIチップを設計するよう
になってきている。この種の高集積度チップはクロック
として数百MHzから数GHzオーダの周波数を用いる
ものが多い。
2. Description of the Related Art With the advance of semiconductor technology in recent years, LSI
In (large-scale semiconductor integrated circuits), higher speed, higher integration, and larger scale are being promoted. Particularly, in a logic circuit, an LSI chip is being designed according to a so-called deep submicron design rule of 0.35 μm or less. Many high-integration chips of this type use a frequency on the order of several hundred MHz to several GHz as a clock.

【0003】このような高速なLSIにおいては、誤動
作の原因となる機能回路間のクロックの遅延時間の差、
すなわちクロックスキューを削減することが重要であ
る。
In such a high-speed LSI, a difference in clock delay time between functional circuits causing a malfunction,
That is, it is important to reduce clock skew.

【0004】従来、このようなクロックスキューを削減
するためのクロック伝送用の配線(以下クロック配線)
の配線方法(以下クロック配線方法)としては、一般的
に、クロック発生回路の出力端子からクロックの供給対
象である機能ブロックであるセル群までのクロックツリ
ー合成(Clock Tree Synthesis:以
下CTS)を行いスキュー削減を行う方法を用いてい
た。しかし、近年のLSIの規模の増加に伴い、レイア
ウト設計を行うための工数や処理時間が増加し、一度に
レイアウトを行うためには莫大な工数や処理時間を要す
る事態となっている。
Conventionally, clock transmission wiring (hereinafter referred to as clock wiring) for reducing such clock skew.
In general, a clock tree synthesis (CTS) from an output terminal of a clock generation circuit to a cell group as a functional block to which a clock is supplied is performed as a wiring method (hereinafter referred to as a clock wiring method). A method of reducing skew was used. However, with the recent increase in the scale of LSIs, the man-hours and processing time for layout design have increased, and enormous man-hours and processing time have been required to perform layout at one time.

【0005】LSI設計は、公知のように、大別して実
現したい動作を機能単位の部品である機能ブロックを定
義し設計する機能設計、機能ブロックを論理回路に変換
する論理設計、及び論理回路をマスクパターンに変換す
るレイアウト設計とから成る。
[0005] As is well known, an LSI design generally includes a function design for defining and designing a function block, which is a component of a function unit, an operation to be realized, a logic design for converting a function block into a logic circuit, and a mask for a logic circuit. And a layout design for converting to a pattern.

【0006】配線遅延時間を考慮したLSIチップのレ
イアウト設計においては、機能ブロックを上位階層(以
下トップレベル)と下位階層(以下マクロ)の2階層に
区分することにより階層化し、これらトップレベル内及
びマクロ内の各々のレイアウトを個別に行う階層設計手
法を用い、先にトップレベルのレイアウトを行うトップ
ダウン方式と呼ばれるレイアウト設計法が広く用いられ
ている。
In the layout design of an LSI chip in consideration of a wiring delay time, functional blocks are divided into two layers, an upper layer (hereinafter referred to as a top level) and a lower layer (hereinafter referred to as a macro), and are hierarchized. A layout design method called a top-down method in which a top-level layout is first performed using a hierarchical design method for individually performing each layout in a macro is widely used.

【0007】上記問題を解決し、低コストと短期間での
LSIの開発をするために、トップダウン方式のレイア
ウト設計法を行った場合のクロックスキューを削減する
ことが要求されている。
[0007] In order to solve the above problem and develop an LSI at low cost and in a short period of time, it is required to reduce clock skew when a top-down layout design method is performed.

【0008】この要求に応えるために、特開平4−14
8376号公報(文献1)記載の従来の第1のクロック
配線の設計方法の動作をブロック及び説明図で示す図8
(A)〜(C)を参照すると、この従来の第1のクロッ
ク配線の設計方法は、クロック配線対象の機能ブロック
がクロックネットの出力ブロック1と、2つのマクロ
2,3とから成り、トップレベル配線はクロックネット
の出力ブロック1から2つのマクロ2,3の各々へのク
ロック配線である。クロックネットの出力ブロック1か
ら2つのマクロ2,3の各々にクロック配線を行うた
め、まず、クロックネットの出力ブロック1に設けた出
力端子(以下クロック出力端子)11からマクロ2,3
の各々の中心25,35を結ぶ直線7,8を引き、この
直線7,8とマクロ2,3の各々の周囲辺との交点20
1と301を求める(図8(A))。
To meet this demand, Japanese Patent Laid-Open Publication No.
FIG. 8 is a block diagram and an explanatory diagram showing the operation of the conventional first clock wiring design method described in Japanese Patent Application Publication No. 8376 (Document 1).
Referring to FIGS. 1A to 1C, in the first conventional clock wiring design method, a clock wiring target functional block includes a clock net output block 1 and two macros 2 and 3. The level wiring is a clock wiring from the output block 1 of the clock net to each of the two macros 2 and 3. In order to perform clock wiring from the output block 1 of the clock net to each of the two macros 2 and 3, first, the output terminals (hereinafter referred to as clock output terminals) 11 provided in the output block 1 of the clock net are connected to the macros 2 and 3.
Draw straight lines 7 and 8 connecting the centers 25 and 35 of the macros, and the intersection 20 between the straight lines 7 and 8 and the peripheral sides of the macros 2 and 3
1 and 301 are obtained (FIG. 8A).

【0009】次に、クロック出力端子11からマクロ
2,3の周囲辺上の交点までの最長となる距離を基に、
マクロ2,3の周囲辺上の交点201,302を求め
(図8(B))、最後に交点201,302をマクロ
2,3の各々の外部(クロック)端子位置としてマクロ
内の配置処理、配線処理を行う(図8(C))。以上の
処理により、クロック出力端子11とマクロ2,3の各
々のクロック端子(交点)201,302までの配線が
等長となる。各マクロ2,3内でセルの配置を行うとき
にクロック端子201,302に接続されるセル(以下
クロック端子接続セル)をこれらクロック端子201,
302の近傍に配置することにより、クロック出力端子
11からマクロ2,3の各々の内部のクロック端子20
1,302のクロック端子接続セルまでの距離を等長に
することによりクロックスキューを削減するというもの
である。
Next, based on the longest distance from the clock output terminal 11 to the intersection on the peripheral sides of the macros 2 and 3,
Intersections 201 and 302 on the peripheral sides of the macros 2 and 3 are obtained (FIG. 8B). Finally, the intersections 201 and 302 are set as the positions of the external (clock) terminals of the macros 2 and 3 in the macro. A wiring process is performed (FIG. 8C). By the above processing, the wiring from the clock output terminal 11 to the clock terminals (intersection points) 201 and 302 of the macros 2 and 3 becomes the same length. When arranging cells in each of the macros 2 and 3, cells connected to the clock terminals 201 and 302 (hereinafter referred to as clock terminal connection cells) are referred to as clock terminals 201 and 302.
By arranging the macro terminal 302 near the clock output terminal 11 and the clock terminal 20 inside each of the macros 2 and 3,
The clock skew is reduced by making the distances to the clock terminal connection cells of 1,302 equal.

【0010】しかし、この従来の第1のクロック配線の
設計方法は、クロック端子近傍に入出力分離用のバッフ
ァが付加されておらず、また、マクロ自身の遅延モデル
を作成していないため、トップダウン方式のレイアウト
設計に必要なトップレベルの遅延計算を高精度で行うこ
とはできない。
However, in the first conventional method for designing clock wiring, a buffer for input / output separation is not added near the clock terminal, and a delay model of the macro itself is not created. The top-level delay calculation required for the down-type layout design cannot be performed with high accuracy.

【0011】このため、トップレベルのクロック配線を
上述のように等長で行った場合でも、クロック配線に隣
接する配線の相違等による配線の隣接配線間容量の差異
により、クロック出力端子から各マクロのクロック端子
までの遅延値が異なってしまう。その結果、マクロ内配
置を行う際にクロック端子接続セルを端子近傍に配置し
ても、クロック出力端子とマクロ内の複数のクロック端
子接続セルの各々のクロック遅延が等しくならず、クロ
ックスキューが大きくなる場合がある。
For this reason, even when the top-level clock wiring is of the same length as described above, the difference between the capacitances between adjacent wirings due to the difference between wirings adjacent to the clock wiring and the like causes each macro from the clock output terminal to be connected to each macro. The delay value up to the clock terminal differs. As a result, even if the clock terminal connection cells are arranged near the terminals when performing the macro arrangement, the clock delays of the clock output terminal and the plurality of clock terminal connection cells in the macro are not equal, and the clock skew is large. May be.

【0012】さらに、トップレベルの遅延計算を行う場
合にも、マクロ内の機能ブロック(セル)が未配置とな
っているため、マクロ内の配置配線後の正確な負荷を考
慮したトップレベルの遅延計算を行うことができない。
Further, when performing the top-level delay calculation, since the functional blocks (cells) in the macro are not arranged, the top-level delay taking into account the accurate load after the placement and routing in the macro is considered. Cannot perform calculations.

【0013】また、従来の第2のクロック配線の設計方
法をフローチャートで示す図9を参照すると、この従来
の第2のクロック配線の設計方法は、まず、マクロ配置
を行い(ステップP1)、トップレベルの端子位置を決
定する(ステップP2)。次に、トップレベルのCTS
を行いマクロのクロック端子までのクロックスキューを
合致させ(ステップP3)、トップレベルの配線を実施
し(ステップP4)、各配線の抵抗R及び容量Cの情報
(以下RC情報)F101を抽出する。
Referring to FIG. 9 which shows a flow chart of a conventional method of designing a second clock wiring, FIG. 9 shows a conventional method of designing a second clock wiring. First, a macro is arranged (step P1). The terminal position of the level is determined (step P2). Next, top-level CTS
To match the clock skew up to the clock terminal of the macro (step P3), implement top-level wiring (step P4), and extract information (hereinafter, RC information) F101 on the resistance R and capacitance C of each wiring.

【0014】一方、ステップP2の後、各マクロのマク
ロ内配置(ステップP11)を行い、各マクロの遅延が
等しくなるようにマクロ内CTSを行い(ステップP1
2)、マクロ内配線を実施し(ステップP13)、マク
ロ内各配線のRC情報F102を抽出する。
On the other hand, after step P2, the macros are arranged in the macros (step P11), and the CTSs in the macros are performed so that the delays of the macros are equal (step P1).
2) Wiring within the macro is performed (step P13), and RC information F102 of each wiring within the macro is extracted.

【0015】RC情報F101,F102に基づきクロ
ック出力端子とマクロ内のクロック端子接続セルとの間
のスタティックタイミング解析を行い(ステップP
5)、クロックスキューが所定の規格値以内かの確認を
行う(ステップP6)。
A static timing analysis between the clock output terminal and the clock terminal connection cell in the macro is performed based on the RC information F101 and F102 (step P
5) It is checked whether the clock skew is within a predetermined standard value (step P6).

【0016】ステップP6の確認結果不合格ならば、C
TSで追加したバッファの駆動能力変更及びバッファ追
加等で遅延調整を行い(ステップP6)、再度ステップ
P5,P6を行う。
If the result of the check in step P6 is unacceptable, C
Delay adjustment is performed by changing the driving capability of the buffer added in the TS and adding a buffer (step P6), and steps P5 and P6 are performed again.

【0017】ステップP6の確認結果合格ならば、クロ
ック配線は完了する。
If the result of the check in step P6 passes, the clock wiring is completed.

【0018】この従来の第2のクロック配線の設計方法
では、トップレベル及びマクロ内CTS実施時におい
て、マクロ内の負荷は確定していない。
In the second conventional clock wiring design method, the load in the macro is not determined when the CTS is performed at the top level and in the macro.

【0019】このため、最初に、駆動能力最大のバッフ
ァの入力端子容量を負荷してトップレベルのCTSを行
い、トップレベル及びマクロ内のレイアウト終了後にタ
イミング解析を行い、クロックスキューが不合格の場
合、上述のように、CTSで追加したバッファの駆動能
力変更やバッファ追加等で遅延調整を行い、再びタイミ
ング解析を行い、クロックスキューの確認を行うという
作業が発生する。
For this reason, first, the input terminal capacitance of the buffer having the maximum driving capability is loaded, top-level CTS is performed, timing analysis is performed after the top-level and layout within the macro is completed, and the clock skew is rejected. As described above, the work of adjusting the delay by changing the driving capability of the buffer added by the CTS or adding the buffer, performing the timing analysis again, and confirming the clock skew occurs.

【0020】その結果、バッファの駆動能力変更後及び
バッファ追加のためのレイアウト変更後に加えて、レイ
アウト終了後とタイミング解析を複数回行う必要があ
り、工数および処理時間が増加する。
As a result, it is necessary to perform timing analysis a plurality of times after the end of the layout, in addition to after changing the driving capability of the buffer and after changing the layout for adding the buffer, thereby increasing the number of steps and processing time.

【0021】また、クロックスキュー削減のための従来
の第3のクロック配線の設計方法は、最上位層をクロッ
ク配線専用層とし隣接配線間容量を削減することにより
クロックスキューを削減する。
In the third conventional clock wiring design method for reducing clock skew, clock skew is reduced by setting the uppermost layer to a layer dedicated to clock wiring and reducing the capacitance between adjacent wirings.

【0022】しかし、この従来の第3のクロック配線の
設計方法はクロック配線専用層を必要とするため、クロ
ック配線の実施による配線混雑が生じないような場合で
もクロック専用配線層を増やす必要がある。その結果、
必ずしも必要としない配線層が増加しコストが増大す
る。
However, the third conventional method for designing clock wiring requires a layer dedicated to clock wiring, so that it is necessary to increase the number of wiring layers dedicated to clock even in a case where wiring congestion does not occur due to the implementation of clock wiring. . as a result,
The number of wiring layers that are not always necessary increases and the cost increases.

【0023】[0023]

【発明が解決しようとする課題】上述した従来の第1の
クロック配線の設計方法は、クロック端子近傍に入出力
分離用のバッファが付加されておらず、また、マクロ自
身の遅延モデルを作成していないため、トップダウン方
式のレイアウト設計に必要なトップレベルの遅延計算を
高精度で行うことはできないため、トップレベルのクロ
ック配線を等長で行った場合でも、クロック配線に隣接
する配線の隣接配線間容量の差異により、クロック出力
端子から各マクロのクロック端子までの遅延値が異なる
結果、マクロ内配置を行う際にクロック端子接続セルを
端子近傍に配置しても、クロック出力端子とマクロ内の
複数のクロック端子接続セルの各々のクロック遅延が等
しくならず、クロックスキューが大きくなり得るという
欠点があった。
In the above-mentioned first conventional method for designing a clock wiring, a buffer for input / output separation is not added near a clock terminal, and a delay model of a macro itself is created. Therefore, the top-level delay calculation required for the top-down layout design cannot be performed with high accuracy. The delay value from the clock output terminal to the clock terminal of each macro is different due to the difference in the capacitance between the wirings. As a result, even if the clock terminal connection cell is placed near the terminal when placing the macro, the clock output terminal and the macro The clock delay of each of the plurality of clock terminal connection cells is not equal, and the clock skew may increase.

【0024】さらに、トップレベルの遅延計算を行う場
合にも、マクロ内の機能ブロックが未配置であるため、
マクロ内の配置配線後の正確な負荷を考慮したトップレ
ベルの遅延計算を行うことができないという欠点があっ
た。
Further, when performing the top-level delay calculation, since the functional blocks in the macro are not arranged,
There is a disadvantage that it is not possible to perform top-level delay calculation in consideration of an accurate load after placement and routing in a macro.

【0025】また、従来の第2のクロック配線の設計方
法は、トップレベル及びマクロ内CTS実施時におい
て、マクロ内の負荷が確定していないため、トップレベ
ル及びマクロ内のレイアウト終了後のタイミング解析・
クロックスキューの確認結果、クロックスキューが不合
格の場合、CTSで追加したバッファの駆動能力変更や
バッファ追加等で遅延調整を行い、再度タイミング解析
・クロックスキュー確認を行うため、バッファの駆動能
力変更後及びバッファ追加のためのレイアウト変更後に
加えて、レイアウト終了後とタイミング解析を複数回行
う必要があり、工数および処理時間が増加するという欠
点があった。
In the second conventional clock wiring design method, the load in the macro is not determined at the time of performing the CTS in the top level and in the macro. Therefore, the timing analysis after the layout in the top level and in the macro is completed.・
If the result of the clock skew check indicates that the clock skew is unacceptable, adjust the delay by changing the drive capacity of the buffer added by CTS or adding a buffer, and then perform timing analysis and clock skew check again. Further, in addition to after the layout is changed for adding a buffer, it is necessary to perform timing analysis a plurality of times after the layout is completed, resulting in an increase in man-hours and processing time.

【0026】さらに、従来の第3のクロック配線の設計
方法は、クロック配線専用層を必要とするため、クロッ
ク配線の実施による配線混雑が生じないような場合でも
クロック専用配線層を増やす必要があり、その結果、必
ずしも必要としない配線層が増加しコストが増大すると
いう欠点があった。
Furthermore, the third conventional clock wiring design method requires a dedicated clock wiring layer. Therefore, it is necessary to increase the number of dedicated clock wiring layers even when the wiring is not congested due to clock wiring. As a result, there is a drawback that the number of wiring layers which are not always required increases and the cost increases.

【0027】本発明の目的は、レイアウトの変更及び終
了後の複数回のタイミング解析を不要とするとともに専
用のクロック配線層を使用することなく、クロックスキ
ューを削減することができるクロック配線の設計方法を
提供することにある。
An object of the present invention is to provide a method of designing a clock wiring which can reduce the clock skew without using a dedicated clock wiring layer and eliminating the need for a plurality of timing analyzes after layout change and completion. Is to provide.

【0028】[0028]

【課題を解決するための手段】請求項1記載の発明のク
ロック配線の設計方法は、機能ブロックを上位階層であ
るトップレベルと下位階層であるマクロの2階層に区分
することにより階層化し、これらトップレベル内及びマ
クロ内の各々のレイアウトを個別に行う階層設計手法を
用い、最初にトップレベルのレイアウトを行うトップダ
ウン方式のLSIのレイアウト設計におけるクロック配
線の設計方法において、予め前記マクロの遅延モデルを
作成し、この遅延モデルを用いて前記トップレベルの遅
延計算を行うことにより、設計対象とする機能ブロック
内のクロック供給対象の複数の前記マクロの各々間のク
ロックスキューを削減することを特徴とするものであ
る。
According to the clock wiring designing method of the present invention, the functional blocks are divided into two layers, that is, a top level which is an upper layer and a macro which is a lower layer. In a clock wiring design method in a top-down type LSI layout design in which a top-level layout is first performed by using a hierarchical design method in which layouts in a top-level and a macro are individually performed, a delay model of the macro is previously determined. And performing the top-level delay calculation using the delay model to reduce clock skew between each of the plurality of macros to be supplied with clocks in the functional block to be designed. Is what you do.

【0029】また、請求項2記載の発明は、請求項1記
載のクロック配線の設計方法において、前記マクロの遅
延モデルが、前記マクロ内ネットリスト中のクロック端
子にライブラリセル記述ファイルのバッファ論理を追加
することにより作成され、前記マクロのレイアウト時
に、前記バッファ論理と対応する同一駆動能力のバッフ
ァを前記クロック端子近傍に配置するものである。
According to a second aspect of the present invention, in the clock wiring design method according to the first aspect, the macro delay model includes a buffer logic of a library cell description file at a clock terminal in the macro netlist. In addition, a buffer having the same driving capability corresponding to the buffer logic is arranged near the clock terminal when the macro is laid out.

【0030】請求項3記載の発明のクロック配線の設計
方法は、機能ブロックを上位階層であるトップレベルと
下位階層であるマクロの2階層に区分することにより階
層化し、これらトップレベル内及びマクロ内の各々のレ
イアウトを個別に行う階層設計手法を用い、最初にトッ
プレベルのレイアウトを行うトップダウン方式のLSI
のレイアウト設計におけるクロック配線の設計方法にお
いて、それぞれマクロ内の配置配線がなされていない未
配置の第1及び第2のマクロの各々のクロックの供給を
受けるクロック端子を設定するマクロのクロック端子決
定ステップと、前記クロック出力端子と前記マクロのク
ロック端子決定ステップで設定した前記第1及び第2の
クロック端子の各々との間の概略配線を行い配線経路を
決定する配線経路の決定ステップと、前記配線経路の決
定ステップで決定した配線経路に基づき前記クロック出
力端子と前記第1及び第2のクロック端子の各々との間
の配線を行い、各配線の抵抗及び容量の情報であるRC
情報を抽出するトップレベルの配線ステップと、前記第
1及び第2のマクロの各々の遅延モデルを作成する遅延
モデル作成ステップと、前記RC情報と前記遅延モデル
に基づき前記クロック出力端子と前記第1及び第2のク
ロック端子の各々間のスタティックタイミング解析を行
い、前記クロック出力端子と前記第1及び第2のマクロ
の各々間のクロック遅延値である第1及び第2の遅延値
をそれぞれ計算するトップレベルの遅延計算ステップ
と、前記第1及び第2の遅延値からクロック出力端子と
前記第1及び第2のマクロの各々間のクロック遅延差を
計算する遅延差計算ステップと、前記第1及び第2のマ
クロの各々内のレイアウト時に前記第1及び第2のクロ
ック端子の各々の近傍にバッファ論理と対応する同一駆
動能力のバッファを配置するバッファ配置ステップと、
前記第1及び第2のマクロの各々内を配置するマクロ内
配置ステップと、前記クロック遅延差を考慮して前記第
1及び第2のマクロの各々内のクロックツリー合成法に
よりクロック配線を行うマクロ内クロック配線ステップ
とを有することを特徴とするものである。
According to a third aspect of the present invention, there is provided a clock wiring designing method, wherein functional blocks are divided into two layers, that is, an upper layer, which is a top level, and a lower layer, which is a macro. Top-down LSI that first performs top-level layout using a hierarchical design method that individually performs each layout
A clock terminal determining step of setting a clock terminal to receive a supply of a clock of each of unplaced first and second macros which are not arranged and routed in a macro in the method of designing a clock wiring in the layout design of A wiring path determining step of performing a general wiring between the clock output terminal and each of the first and second clock terminals set in the macro clock terminal determining step to determine a wiring path; Wiring is performed between the clock output terminal and each of the first and second clock terminals based on the wiring path determined in the path determining step, and RC and information on resistance and capacitance of each wiring are provided.
A top-level wiring step for extracting information; a delay model creation step for creating delay models for each of the first and second macros; and a clock output terminal and the first and second clock output terminals based on the RC information and the delay model. And a static timing analysis between each of the clock terminals and the second clock terminal to calculate first and second delay values which are clock delay values between the clock output terminal and each of the first and second macros. A top-level delay calculation step; a delay difference calculation step of calculating a clock delay difference between the clock output terminal and each of the first and second macros from the first and second delay values; At the time of layout in each of the second macros, a buffer having the same driving capability corresponding to the buffer logic is provided near each of the first and second clock terminals. A buffer arrangement step of location,
A macro arranging step for arranging each of the first and second macros, and a macro for performing clock wiring by a clock tree synthesis method in each of the first and second macros in consideration of the clock delay difference And an internal clock wiring step.

【0031】また、請求項4記載の発明は、請求項3記
載のクロック配線の設計方法において、前記マクロのク
ロック端子決定ステップが、出力ブロックのクロック出
力端子から第1及び第2のマクロの各々の中心を結ぶ第
1及び第2の直線を引き、前記第1及び第2の直線と前
記第1及び第2のマクロの各々の周辺との交点である第
1及び第2の交点を求め、これら第1及び第2の交点の
各々に前記第1及び第2のマクロの各々の第1及び第2
のクロック端子をそれぞれ設定するものである。
According to a fourth aspect of the present invention, in the clock wiring designing method according to the third aspect, the step of determining the clock terminal of the macro includes the step of determining each of the first and second macros from the clock output terminal of the output block. First and second straight lines connecting the centers of the first and second macros are drawn, and first and second intersections, which are intersections between the first and second straight lines and the periphery of each of the first and second macros, are obtained. At each of these first and second intersections, the first and second macros of the first and second macros, respectively.
Are set respectively.

【0032】また、請求項5記載の発明は、請求項3記
載のクロック配線の設計方法において、前記遅延モデル
作成ステップが、前記第1及び第2のマクロのマクロ内
ネットリストの中のクロック端子にライブラリセル記述
ファイルのセル群のバッファ論理を追加して前記第1及
び第2のマクロの各々の遅延モデルを作成するものであ
る。
According to a fifth aspect of the present invention, in the clock wiring designing method according to the third aspect, the delay model creating step includes the step of generating a clock terminal in a macro netlist of the first and second macros. And a buffer model of a cell group of a library cell description file is added to the first and second macros to create a delay model for each of the first and second macros.

【0033】また、請求項6記載の発明は、請求項3記
載のクロック配線の設計方法において、前記機能ブロッ
クが、前記クロック出力用のクロック出力端子を備えた
出力ブロックを有するクロックネットと、前記クロック
入力用の前記第1及び第2のクロック端子の各々を備え
る前記第1及び第2のマクロと、前記トップレベル配線
である前記出力ブロックから前記第1及び第2のマクロ
の各々へのクロック配線とを備えて構成される。
According to a sixth aspect of the present invention, in the clock wiring designing method of the third aspect, the functional block includes a clock net having an output block having a clock output terminal for the clock output. The first and second macros each having the first and second clock terminals for clock input, and a clock from the output block, which is the top level wiring, to each of the first and second macros And wiring.

【0034】請求項7記載の発明のクロック配線の設計
方法は、機能ブロックを上位階層であるトップレベルと
下位階層であるマクロの2階層に区分することにより階
層化し、これらトップレベル内及びマクロ内の各々のレ
イアウトを個別に行う階層設計手法を用い、最初にトッ
プレベルのレイアウトを行うトップダウン方式のLSI
のレイアウト設計におけるクロック配線の設計方法にお
いて、それぞれマクロ内の配置配線がなされていない未
配置の第1及び第2のマクロ及びマクロ内の配置配線済
みの既配置の第3のマクロの各々のクロックの供給を受
けるクロック端子を設定するマクロのクロック端子決定
ステップと、前記クロック出力端子と前記マクロのクロ
ック端子決定ステップで設定した前記第1,第2及び第
3のクロック端子の各々との間の概略配線を行い配線経
路を決定する配線経路の決定ステップと、前記配線経路
の決定ステップで決定した配線経路に基づき前記クロッ
ク出力端子と前記第1及び第2のクロック端子の各々と
の間の配線を行い、各配線の抵抗及び容量の情報である
RC情報を抽出するトップレベルの配線ステップと、前
記第1及び第2のマクロの各々の遅延モデルを作成する
とともに前記第3のマクロの配線情報からこの第3のマ
クロの遅延値を抽出し、この第3のマクロの遅延値を含
めた遅延モデルを作成する遅延モデル作成ステップと、
前記RC情報と前記遅延モデルに基づき前記クロック出
力端子と前記第1及び第2のクロック端子の各々間のス
タティックタイミング解析を行い、前記クロック出力端
子と前記第1及び第2のマクロの各々間のクロック遅延
値である第1及び第2の遅延値をそれぞれ計算するトッ
プレベルの遅延計算ステップと、前記第1及び第2の遅
延値からクロック出力端子と前記第1及び第2のマクロ
の各々間のクロック遅延差を計算する遅延差計算ステッ
プと、前記第1及び第2のマクロの各々内のレイアウト
時に前記第1及び第2のクロック端子の各々の近傍にバ
ッファ論理と対応する同一駆動能力のバッファを配置す
るバッファ配置ステップと、前記第3のマクロ内のセル
群と前記クロック出力端子との間の遅延値と等しくなる
ように、前記第1及び第2のマクロの各々内を配置する
マクロ内配置ステップと、前記クロック遅延差を考慮し
て前記第1及び第2のマクロの各々内のクロックツリー
合成法によりクロック配線を行うマクロ内クロック配線
ステップとを有することを特徴とするものである。
In the clock wiring designing method according to the present invention, the functional blocks are divided into two layers, that is, a top level, which is an upper layer, and a macro, which is a lower layer. Top-down LSI that first performs top-level layout using a hierarchical design method that individually performs each layout
In the method of designing a clock wiring in the layout design, the clocks of the unplaced first and second macros, each of which is not arranged and wired within the macro, and the already arranged third macro already arranged and wired within the macro, A clock terminal for setting a clock terminal to receive the supply of the clock signal, and a step between the clock output terminal and each of the first, second and third clock terminals set in the step for determining the clock terminal of the macro. A step of determining a wiring path for performing a general wiring and determining a wiring path; and wiring between the clock output terminal and each of the first and second clock terminals based on the wiring path determined in the step of determining the wiring path. And a top-level wiring step of extracting RC information, which is information on resistance and capacitance of each wiring, and the first and second wiring steps. And a delay model for extracting a delay value of the third macro from the wiring information of the third macro and creating a delay model including the delay value of the third macro. Steps and
Perform static timing analysis between the clock output terminal and each of the first and second clock terminals based on the RC information and the delay model, and perform a static timing analysis between the clock output terminal and each of the first and second macros. A top-level delay calculating step of calculating first and second delay values, respectively, which are clock delay values, and a step of calculating a clock output terminal and each of the first and second macros from the first and second delay values. Calculating a clock delay difference between the first and second clock terminals during the layout in each of the first and second macros. A buffer arranging step of arranging a buffer, and the first and second buffer groups are arranged so as to be equal to a delay value between a cell group in the third macro and the clock output terminal. And macro intra-macro arranging step of arranging the inside of each of the second and second macros, and clock wiring within the macro for performing clock wiring by a clock tree synthesis method in each of the first and second macros in consideration of the clock delay difference And a step.

【0035】また、請求項8記載の発明は、請求項7記
載のクロック配線の設計方法において、前記機能ブロッ
クが、前記クロック出力用のクロック出力端子を備えた
出力ブロックを有するクロックネットと、前記クロック
入力用の前記第1及び第2のクロック端子の各々を備え
る前記第1及び第2のマクロと第3のクロック端子を備
えるマクロ内の配置配線済みの既配置の第3のマクロ
と、、前記トップレベル配線である前記出力ブロックか
ら前記第1,第2及び第3のマクロの各々へのクロック
配線とを備えて構成される。
According to an eighth aspect of the present invention, in the clock wiring designing method according to the seventh aspect, the functional block includes a clock net having an output block having a clock output terminal for the clock output. A first and a second macro provided with each of the first and second clock terminals for clock input, and a third macro already arranged and wired in a macro having a third clock terminal; A clock wiring from the output block, which is the top-level wiring, to each of the first, second, and third macros.

【0036】また、請求項9記載の発明は、請求項6又
は8記載のクロック配線の設計方法において、前記クロ
ック配線が、前記クロック出力端子と前記第1及び第2
のクロック端子との間に挿入した前記第1及び第2のク
ロック端子の各々に付加した第1及び第2のバッファ駆
動用の第3のバッファを備えて構成される。
According to a ninth aspect of the present invention, in the clock wiring design method of the sixth or eighth aspect, the clock wiring is connected to the clock output terminal and the first and second clock output terminals.
And a third buffer for driving the first and second buffers added to each of the first and second clock terminals inserted between the first and second clock terminals.

【0037】また、請求項10記載の発明は、請求項6
又は8記載のクロック配線の設計方法において、前記機
能ブロックが、前記クロック出力用のクロック出力端子
を備えた出力ブロックを有するクロックネットと、前記
クロック入力用の前記第1及び第2のクロック端子の各
々を備える前記第1及び第2のマクロと、前記トップレ
ベル配線である前記出力ブロックから前記第1及び第2
のマクロの各々へのクロック配線と、予め定めた動作条
件の設定に応じて制御信号を出力する制御回路とを有
し、前記クロック配線が、前記第1及び第2のマクロの
いずれか一方又は両方の入力側に前記制御信号の供給に
応じて前記クロックの通過を停止させる論理回路を備え
て構成される。
Further, the invention described in claim 10 is the same as claim 6.
Or the clock wiring design method according to 8, wherein the functional block comprises a clock net having an output block having a clock output terminal for the clock output, and the first and second clock terminals for the clock input. The first and second macros each including the first and second macros and the first and second macros from the output block as the top-level wiring.
Clock wiring to each of the macros, and a control circuit that outputs a control signal according to the setting of a predetermined operating condition, wherein the clock wiring is one of the first and second macros or Both input sides are provided with a logic circuit for stopping passage of the clock in response to the supply of the control signal.

【0038】[0038]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0039】本実施の形態のクロック配線の設計方法
は、機能ブロックを上位階層(以下トップレベル)と下
位階層(以下マクロ)の2階層に区分することにより階
層化し、これらトップレベル内及びマクロ内の各々のレ
イアウトを個別に行う階層設計手法を用い、最初にトッ
プレベルのレイアウトを行うトップダウン方式と呼ばれ
るLSIのレイアウト設計におけるクロック配線の設計
方法において、予め上記マクロの遅延モデルを作成し、
この遅延モデルを用いてトップレベルの遅延計算を正確
に行うことにより、設計対象とする機能ブロック内のク
ロック供給対象の複数のマクロの各々間のクロックスキ
ューを削減することを特徴とするものである。
In the clock wiring designing method according to the present embodiment, the functional blocks are divided into two layers, an upper layer (hereinafter referred to as a top level) and a lower layer (hereinafter referred to as a macro), thereby forming a hierarchy. In a clock wiring design method in an LSI layout design called a top-down method in which a top-level layout is first performed by using a hierarchical design method of individually performing each layout of the above, a delay model of the macro is created in advance,
By accurately performing top-level delay calculation using this delay model, clock skew between each of a plurality of macros to be supplied with clocks in a functional block to be designed is reduced. .

【0040】上記クロック供給対象のマクロにおいて
は、このマクロ内ネットリスト中のクロック端子にライ
ブラリセル記述ファイルのバッファ論理を追加すること
により遅延モデルを作成する。
In the macro to be supplied with the clock, a delay model is created by adding the buffer logic of the library cell description file to the clock terminal in the net list in the macro.

【0041】一方、レイアウト時には、上記マクロ内ネ
ットリスト中のクロック端子に追加したバッファ論理と
対応する同一駆動能力のバッファ(以下クロックバッフ
ァ)を上記クロック端子近傍に配置する。上記マクロの
遅延モデルと、マクロ内レイアウトを行う際にクロック
バッファを配置する手法とは、トップレベルのクロック
ネットの遅延計算を行うときのマクロ内のクロック端子
負荷とレイアウト後のマクロ内のクロック端子負荷とが
等しくなるという作用がある。
On the other hand, at the time of layout, a buffer having the same driving capability (hereinafter, clock buffer) corresponding to the buffer logic added to the clock terminal in the macro netlist is arranged near the clock terminal. The delay model of the macro and the method of arranging the clock buffer when performing the intra-macro layout include the clock terminal load in the macro when performing the delay calculation of the top-level clock net and the clock terminal in the macro after the layout. There is an effect that the load becomes equal.

【0042】従って、マクロ内の配置配線が完了してい
ない場合にも最終的なレイアウトと同等の遅延計算を行
うことが可能となり、また、マクロ内のクロックツリー
合成(Clock Tree Synthesis:以下
CTS)実行時にマクロ間の遅延差を考慮したCTSを
行うことにより、各マクロ内のクロックバッファの出力
端子に接続されるセル間のスキューも削減出来る。
Therefore, even when the placement and routing in the macro is not completed, the same delay calculation as that of the final layout can be performed, and the clock tree synthesis (CTS) in the macro can be performed. By performing CTS in consideration of the delay difference between macros at the time of execution, skew between cells connected to the output terminal of the clock buffer in each macro can also be reduced.

【0043】次に、本発明の第1の実施の形態をフロー
チャートで示す図1及び本実施の形態の動作を説明しブ
ロックで示す図2及び図3を参照すると、この図に示す
本実施の形態のクロック配線の設計方法は、まず、マク
ロの端子位置を決定し、トップレベルの配線経路を決定
し、トップレベル配線を実施し、各配線の抵抗R及び容
量Cの情報(以下RC情報)F1を抽出する(ステップ
S1〜S3)。
Next, referring to FIG. 1 which shows the first embodiment of the present invention in the form of a flowchart, and FIG. 2 and FIG. 3 which show the operation of the present embodiment in the form of a block, FIG. In the clock wiring design method according to the embodiment, first, a macro terminal position is determined, a top-level wiring path is determined, a top-level wiring is performed, and information on a resistance R and a capacitance C of each wiring (hereinafter, RC information). F1 is extracted (steps S1 to S3).

【0044】一方、マクロ内ネットリストの中のクロッ
ク端子にライブラリセル記述ファイルのセル群のバッフ
ァ論理を追加し、マクロの遅延モデルF2を作成する
(ステップS11,S12)。
On the other hand, the buffer logic of the cell group of the library cell description file is added to the clock terminal in the macro net list, and a macro delay model F2 is created (steps S11 and S12).

【0045】RC情報F1及び遅延モデルF2に基づき
クロック出力端子とマクロのクロック端子間のスタティ
ックタイミング解析を行い、クロック出力端子と各マク
ロ間のクロック遅延差を計算する。また、マクロ内ネッ
トリスト中のクロック端子にバッファを追加し、レイア
ウト階層端子近傍にバッファ論理対応のバッファを配置
し、マクロ内配置を行う。最後に、マクロ内に追加した
バッファの出力端子からマクロ間遅延差を考慮したCT
S配線を実施する(ステップS4〜S9)。
The static timing analysis between the clock output terminal and the macro clock terminal is performed based on the RC information F1 and the delay model F2, and the clock delay difference between the clock output terminal and each macro is calculated. Further, a buffer is added to the clock terminal in the macro netlist, a buffer corresponding to the buffer logic is arranged near the layout hierarchical terminal, and the macro is arranged. Finally, the CT which takes the delay difference between macros into consideration from the output terminal of the buffer added in the macro
S wiring is performed (steps S4 to S9).

【0046】本実施の形態のクロック配線の設計方法を
適用する機能ブロックの一例をブロックで示す図2
(B)を参照すると、この機能ブロックは、説明の便宜
上従来と共通であり、クロック出力用の出力ブロック1
を有するクロックネットと、2つのそれぞれマクロ内の
配置配線がなされていない未配置のマクロ2,3とから
成り、トップレベル配線としてクロックネットの出力ブ
ロック1から2つのマクロ2,3の各々へのクロック配
線を有するものとする。
FIG. 2 is a block diagram showing an example of functional blocks to which the clock wiring designing method according to the present embodiment is applied.
Referring to (B), this functional block is common to the conventional one for convenience of description, and is an output block 1 for clock output.
And two unplaced macros 2 and 3 which are not arranged and wired in the respective macros, and are used as top-level wiring from the output block 1 of the clock net to each of the two macros 2 and 3. Assume that a clock wiring is provided.

【0047】出力ブロック1は、クロック信号出力用の
クロック出力端子11を備え、マクロ2,3の各々はク
ロック出力端子11からクロック配線を経由して供給を
受けるクロック信号入力用のクロック端子21,31を
備える。
The output block 1 has a clock output terminal 11 for outputting a clock signal. Each of the macros 2 and 3 receives a clock terminal 21 for receiving a clock signal supplied from the clock output terminal 11 via a clock wiring. 31 is provided.

【0048】マクロ2,3の各々は複数のセル(素子)
から成るセル群を有し、各セル群は、クロック端子2
1,31に接続するマクロ内クロックネットを経由して
クロックの供給を受ける。しかし、この図の段階では、
マクロ2,3の各々は、これらマクロ2,3の各々内の
ネットリストは確定しておらず、マクロ内セル群も未配
置であり、従って、マクロ内クロックネットに接続され
るセル群の数及び配置位置は確定していない。
Each of the macros 2 and 3 has a plurality of cells (elements).
And each cell group has a clock terminal 2
The clock is supplied via an intra-macro clock net connected to 1, 31. However, at the stage of this diagram,
For each of the macros 2 and 3, the netlist in each of the macros 2 and 3 has not been determined, and the cells in the macro have not been arranged. Therefore, the number of cells connected to the clock net in the macro has been reduced. And the arrangement position has not been determined.

【0049】次に、クロック出力端子11からマクロ
2,3の各々のクロック端子21,31までの遅延差を
計算するために、出力端子11からクロック端子21,
31までの遅延計算を行う。この遅延計算の実行時に
は、別途作成した(ステップS12)マクロ2,3の遅
延モデルF2を用い、これらマクロ2,3の各々内の負
荷をレイアウト後の負荷と同一にすることにより、トッ
プレベルの正確な遅延計算を行う(ステップS4)。
Next, in order to calculate a delay difference from the clock output terminal 11 to the clock terminals 21 and 31 of the macros 2 and 3, the output terminal 11 is connected to the clock terminals 21 and 31.
The delay calculation up to 31 is performed. At the time of executing the delay calculation, the delay model F2 of the macros 2 and 3 created separately (step S12) is used, and the load in each of the macros 2 and 3 is made the same as the load after the layout, thereby achieving the top level. An accurate delay calculation is performed (step S4).

【0050】このようにして得たクロック出力端子11
とマクロ2,3の各々間の遅延値(以下マクロ2,3の
遅延値)から遅延差を計算し(ステップS5)、この遅
延差を用い、マクロ2,3の各々内のCTSを行う(ス
テップS9)。
The clock output terminal 11 thus obtained
The delay difference is calculated from the delay values between the macros 2 and 3 (hereinafter, the delay values of the macros 2 and 3) (step S5), and the CTS is performed in each of the macros 2 and 3 using the delay difference (step S5). Step S9).

【0051】この機能ブロックを構成するマクロ2,3
を上記のように遅延モデル化した機能ブロックをブロッ
クで示す図2(C)を参照すると、まず、マクロ2の遅
延モデル2Mは、マクロ内のネットリスト中のクロック
端子21に、ライブラリセル記述ファイルのセル群中の
最小駆動能力のバッファ論理22Mを追加することによ
り遅延モデル2Mを作成し、遅延モデル(ファイル)F
2に格納する。同様に、マクロ3のクロック端子31
に、バッファ論理32Mを追加することにより遅延モデ
ル3Mを作成し、遅延モデル(ファイル)F2に格納す
る(ステップ S12)。
Macros 2 and 3 constituting this functional block
Referring to FIG. 2C, which shows functional blocks obtained by modeling the above as delay models by blocks, first, the delay model 2M of the macro 2 is connected to the clock terminal 21 in the netlist in the macro by a library cell description file. The delay model 2M is created by adding the buffer logic 22M of the minimum driving capability in the cell group of
2 is stored. Similarly, the clock terminal 31 of the macro 3
, A delay model 3M is created by adding a buffer logic 32M, and stored in the delay model (file) F2 (step S12).

【0052】トップレベルのレイアウト後の状態をブロ
ックで示す図3(B)を参照すると、この図において、
マクロ2内のレイアウト後には遅延モデル作成時に追加
したバッファ論理22M対応の同一能力のバッファ22
をクロック端子21近傍に配置し(ステップS6,S
7)、このバッファ22からクロックネットが接続され
るセル群23までのCTSを行う(ステップS8,S
9)。同様に、マクロ3内のレイアウト後に、バッファ
論理32M対応のバッファ32をクロック端子31近傍
に配置し、このバッファ32からセル群33までのCT
Sを行う。
Referring to FIG. 3B, which shows the state after the top-level layout by using blocks, FIG.
After the layout in the macro 2, the buffer 22 of the same capacity corresponding to the buffer logic 22M added at the time of creating the delay model
Are arranged near the clock terminal 21 (steps S6 and S5).
7) Perform CTS from the buffer 22 to the cell group 23 to which the clock net is connected (steps S8 and S8).
9). Similarly, after the layout in the macro 3, the buffer 32 corresponding to the buffer logic 32M is arranged near the clock terminal 31, and the CT from the buffer 32 to the cell group 33 is
Perform S.

【0053】これらマクロ2,3内のセル群23,33
の配置方法は公知の技術であり、また本発明とは直接関
係しないので、その詳細については説明を省略する。
The cell groups 23 and 33 in these macros 2 and 3
Is a known technique and is not directly related to the present invention.

【0054】次に、図1、図2及び図3を再度参照して
本実施の形態の動作について詳細に説明すると、まず、
ステップS1で、クロックネットの出力ブロック1から
2つのマクロ2,3の各々にクロック配線を行うため、
まず、出力ブロック1のクロック出力端子(以下クロッ
ク出力端子)11からマクロ2,3の各々の中心25,
35を結ぶ直線7,8を引き、この直線7,8とマクロ
2,3の各々の周辺との交点を求め、これら交点の各々
にマクロ2,3の各々のクロック端子21,31をそれ
ぞれ設定する。この時にクロックネット以外の各信号・
電源等のネットに対しても同様の処理を行い端子位置を
決定する(図2(A))。
Next, the operation of the present embodiment will be described in detail with reference to FIGS. 1, 2 and 3 again.
In step S1, clock wiring is performed from the output block 1 of the clock net to each of the two macros 2 and 3.
First, from the clock output terminal (hereinafter, clock output terminal) 11 of the output block 1 to the center 25,
Draw straight lines 7 and 8 connecting 35, find intersections between the straight lines 7 and 8 and the periphery of each of macros 2 and 3, and set clock terminals 21 and 31 of macros 2 and 3 at each of these intersections. I do. At this time, each signal other than the clock net
The same processing is performed on a net such as a power supply to determine a terminal position (FIG. 2A).

【0055】次に、ステップS2で、クロック出力端子
11とステップS1で決定したクロック端子21,31
間の概略配線を行い配線経路を決定する。この時にクロ
ックネット以外のネットに対しても同様の処理を行い配
線経路決定を行う。
Next, in step S2, the clock output terminal 11 and the clock terminals 21, 31 determined in step S1.
The general wiring between them is performed, and the wiring route is determined. At this time, the same processing is performed on nets other than the clock net to determine the wiring route.

【0056】次に、ステップS3で、ステップS2で決
定した配線経路に基づき、クロック出力端子11とクロ
ック端子21,31間の配線を行う(図2(B))。こ
の時にクロックネット以外のネットに対しても同様の処
理を行って配線を行い、RC情報F1を抽出する。
Next, in step S3, wiring between the clock output terminal 11 and the clock terminals 21 and 31 is performed based on the wiring path determined in step S2 (FIG. 2B). At this time, the same processing is performed on the nets other than the clock net to perform wiring, and the RC information F1 is extracted.

【0057】一方、ステップS11で、各マクロ2,3
の遅延モデル2M,3Mの作成を行う。マクロ2の遅延
モデル2Mは、図2(C)に示すように、クロック端子
21のみが存在するマクロ内ネットリスト中のクロック
端子21にライブラリセル記述ファイルのセル群中の最
小駆動能力のバッファ論理22Mを追加することにより
作成する。同様に、マクロ3の遅延モデル3Mを、マク
ロ内ネットリスト中のクロック端子31にバッファ論理
32Mを追加することにより作成する。
On the other hand, in step S11, each macro 2, 3
Of the delay models 2M and 3M are created. As shown in FIG. 2C, the delay model 2M of the macro 2 has a buffer logic having the minimum driving capability in the cell group of the library cell description file and the clock terminal 21 in the macro netlist in which only the clock terminal 21 exists. Created by adding 22M. Similarly, a delay model 3M of the macro 3 is created by adding a buffer logic 32M to the clock terminal 31 in the macro netlist.

【0058】次に、ステップS12で、ステップS11
で作成したネットリストを使用し、遅延モデル2M,3
Mを格納した遅延モデルファイルF2を作成する。
Next, in step S12, step S11
Using the netlist created in step 2, delay models 2M and 3
A delay model file F2 storing M is created.

【0059】ステップS4で、この遅延モデルファイル
F3を使用し、クロック出力端子11とクロック端子2
1,31までのスタティックタイミング解析を行い各経
路の遅延値を計算する、トップレベルの遅延計算を行
う。
In step S4, using the delay model file F3, the clock output terminal 11 and the clock terminal 2 are used.
A top-level delay calculation is performed in which the static timing analysis is performed up to 1, 31 and the delay value of each path is calculated.

【0060】ステップS5で、ステップS4のトップレ
ベルの遅延値計算結果からクロック端子21,31間の
遅延差を求める。
In step S5, the delay difference between the clock terminals 21 and 31 is obtained from the result of the top-level delay value calculation in step S4.

【0061】次に、ステップS6で、マクロ2,3内の
レイアウトを行う場合、マクロ2,3のクロック端子2
1,31に遅延モデル作成時に追加したバッファ論理2
2M、32Mと対応する同一能力のバッファ22,32
を追加し、ステップS7で追加したバッファ22,32
の各々をクロック端子21,31の各々の近傍に配置を
行う(図2(C))。
Next, in step S6, when laying out the macros 2 and 3, the clock terminals 2 of the macros 2 and 3
Buffer logic 2 added to create delay model for 1, 31
Buffers 22 and 32 of the same capacity corresponding to 2M and 32M
And the buffers 22, 32 added in step S7.
Are arranged near each of the clock terminals 21 and 31 (FIG. 2C).

【0062】次に、ステップS8で、マクロ内の配置を
行う(図3(A))。セル群23はマクロ2内に存在
し、クロック端子21に追加されたバッファの出力端子
につながるセル群を示す。また、セル群12はマクロ3
内に存在し、クロック端子31に追加されたバッファの
出力端子につながるセル群を示す。
Next, in step S8, the arrangement in the macro is performed (FIG. 3A). The cell group 23 is a cell group existing in the macro 2 and connected to the output terminal of the buffer added to the clock terminal 21. The cell group 12 is a macro 3
And a cell group connected to the output terminal of the buffer added to the clock terminal 31.

【0063】次に、ステップS9で、マクロ2,3内の
クロック配線を行う。ステップS5にて各マクロ端子2
1,31間の遅延差が計算されているので、クロック端
子21とセル群23間の配線及びクロック端子31とセ
ル群33間の配線は、その遅延差をそれぞれ考慮したC
TS配線を行う(図3(B))。
Next, in step S9, clock wiring in the macros 2 and 3 is performed. In step S5, each macro terminal 2
Since the delay difference between the clock terminals 21 and 31 is calculated, the wiring between the clock terminal 21 and the cell group 23 and the wiring between the clock terminal 31 and the cell group 33 are C
TS wiring is performed (FIG. 3B).

【0064】この方法で、クロック端子11とセル群2
3の間及びクロック端子11とセル群33との間のの遅
延が等しくなり、クロックスキューを削減できる。
In this way, the clock terminal 11 and the cell group 2
3 and the delay between the clock terminal 11 and the cell group 33 become equal, and the clock skew can be reduced.

【0065】また、マクロ2,3内のレイアウト完了後
にマクロ2内に存在するセル群23が変更となり、マク
ロ2内の再レイアウトを行う場合に、マクロ内のクロッ
ク端子21にバッファ22を追加してクロック端子21
近傍に配置することにより上位階層の遅延値は変わらな
いためトップレベル及びマクロ3に関しての変更を行う
必要が無い。
When the layout of the macros 2 and 3 is completed, the cell group 23 existing in the macro 2 is changed, and when re-layout in the macro 2 is performed, the buffer 22 is added to the clock terminal 21 in the macro. Clock terminal 21
Since the delay value of the upper layer does not change by arranging in the vicinity, it is not necessary to change the top level and the macro 3.

【0066】さらに、本実施の形態のクロック配線の設
計方法は、近年の高集積度のLSIのレイアウト設計効
率を大幅に向上する。
Furthermore, the clock wiring designing method of the present embodiment greatly improves the layout design efficiency of recent highly integrated LSIs.

【0067】LSIに搭載可能な素子数が膨大となり、
機能マクロをIP(Intellectual Pro
perty:知的所有権)化し、再利用することにより
生産性の向上を図っている現状がある。他者優位性を保
つ(もしくは引き出す)ために、新規機能マクロは一か
らデザインするため、設計当初はブラックボックス扱い
となる。設計の進捗に合わせ、グレイボックス、ホワイ
トボックスと変遷していく。
The number of elements that can be mounted on an LSI becomes enormous,
The function macro is called IP (Intellectual Pro
There is a current situation in which productivity is improved by converting to “party” (intellectual property right) and reusing. To keep (or derive) the superiority of others, new function macros are designed from the ground up, so they are initially treated as black boxes. It changes to gray box and white box as the design progresses.

【0068】ホワイトボックスとは、必要な機能及び特
性が全て盛り込まれたネットリストでグリッド数及びセ
ル数を正確に算出できるデータであり、ブラックボック
スとは端子情報のみ存在するデータである。グレイボッ
クスとはブラックボックスからホワイトボックスへ変遷
していく途中段階のことである。流用性の高い機能マク
ロは、設計当初より、規模や性能を見積もることができ
るため、グレイボックスからのスタートとなる。つまり
は1チップ全体としては、設計の進捗中に不整合が存在
しても、本実施の形態のクロック配線の設計方法は吸収
することが可能である。
The white box is data in which the required number of grids and cells can be accurately calculated in a netlist including all necessary functions and characteristics. The black box is data in which only terminal information exists. A gray box is a stage in the transition from a black box to a white box. Since the function macro with high diversion can be estimated in scale and performance from the beginning of design, it starts with a gray box. In other words, even if there is a mismatch during the design of the entire chip, the clock wiring design method of the present embodiment can absorb the mismatch.

【0069】さらに、隣接配線容量による遅延値の変動
も考慮しているので、レイアウト後にタイミング解析を
行い、スキュー調整のためにバッファの駆動能力の変更
及びバッファを追加して再度タイミング解析を行うため
の工数及び処理時間を削減できる。
Further, since the fluctuation of the delay value due to the capacitance of the adjacent wiring is also taken into consideration, the timing analysis is performed after the layout, the driving capability of the buffer is changed for skew adjustment, and the buffer is added and the timing analysis is performed again. Man-hour and processing time can be reduced.

【0070】最後に、隣接配線容量の影響による遅延値
の変動をなくすために、例えばメタル6層以上といった
高価なクロック配線専用層を使用する必要がなくなる等
のコスト削減効果がある。
Lastly, in order to eliminate the fluctuation of the delay value due to the influence of the adjacent wiring capacitance, there is a cost reduction effect such that it is not necessary to use an expensive layer dedicated to clock wiring, for example, six or more metal layers.

【0071】コスト削減についての参考文献として、社
団法人電子通信学会、進学技法VLD97−77,IC
D97−173,CPSY97−66,FTS87−0
4(1997−10)「サブクオータミクロン時代のL
SI設計技術」がある。
For reference on cost reduction, refer to the IEICE, “VLD97-77, IC”
D97-173, CPSY97-66, FTS87-0
4 (1997-10) "L in the sub-quarter micron era
SI design technology ".

【0072】次に、本発明の第2の実施の形態を図1と
共通の構成要素には共通の参照文字/数字を付して同様
にフローチャートで示す図4を参照すると、この図に示
す本実施の形態の前述の第1の実施の形態との相違点
は、遅延モデル作成ステップS12の代わりに、既配置
マクロの配線情報F3から既配置マクロの遅延値を抽出
し、この既配置マクロの遅延値を含めた遅延モデルF2
Aを作成する遅延モデル作成ステップS12Aと、マク
ロ内配置ステップS8の代わりに配置配線が完了した既
配置マクロ内のセル群とクロックネットのクロック出力
端子間の遅延値と等しくなるように、マクロ内配置が未
了のマクロ内のセル群とクロック出力端子間の配置を行
う未配置マクロ内配置ステップS8Aとを有することで
ある。
Next, a second embodiment of the present invention will be described with reference to FIG. 4, which is a flowchart similar to FIG. 1 in which constituent elements common to FIG. The difference of this embodiment from the first embodiment is that the delay value of the placed macro is extracted from the wiring information F3 of the placed macro instead of the delay model creation step S12, Delay model F2 including the delay value of
A and a delay model creation step S12A for creating the macro A, and instead of the placement step S8 in the macro, the delay time between the clock output terminal of the clock net and the cell group in the placed macro in which the placement and routing has been completed is made equal. An arrangement step S8A in an unarranged macro for arranging a clock output terminal between a cell group in a macro whose arrangement has not been completed.

【0073】本実施の形態を特徴付けるクロック配線の
適用対象の機能ブロックの第2の例を図2と共通の構成
要素には共通の参照文字/数字を付して同様にブロック
で示す図5を参照すると、この図に示す本実施の形態の
機能ブロックの前述の第1の実施の形態との相違点は、
第1の実施の形態と共通の未配置のマクロ2,3に加え
て、配置配線が完了している既配置マクロであるマクロ
4をさらに有することである。
FIG. 5 is a block diagram showing a second example of the functional block to which the clock wiring characterizing this embodiment is applied, in which the same components as in FIG. Referring to this figure, the functional blocks of the present embodiment shown in this figure are different from the above-described first embodiment in the following points.
In addition to the unplaced macros 2 and 3 common to the first embodiment, a macro 4 which is a placed macro whose placement and wiring has been completed is further provided.

【0074】本実施の形態では、マクロ4は、既に端子
位置が固定されているので、ステップS1の端子位置の
決定の処理はマクロ2,3についてのみ行う。また、マ
クロ4は配置配線が完了し、従ってマクロ4内の遅延値
は確定しているので、ステップS12Aでは、既配置マ
クロの遅延情報F3から抽出したマクロ4内の遅延値を
考慮した遅延計算を行い、このマクロ4の遅延値を含め
た遅延モデルをF2Aを作成する。
In this embodiment, since the terminal position of the macro 4 is already fixed, the process of determining the terminal position in step S1 is performed only for the macros 2 and 3. Also, since the placement and routing of the macro 4 has been completed and the delay value in the macro 4 has been determined, in step S12A, the delay calculation considering the delay value in the macro 4 extracted from the delay information F3 of the placed macro is performed. And a delay model F2A including the delay value of the macro 4 is created.

【0075】ここで、クロック出力端子11とマクロ4
内のセル群43までの遅延が確定するので、ステップS
8Aで、マクロ2,3の各々内のクロック配線を、クロ
ック出力端子11とセル群23,セル群33の間の遅延
値がクロック出力端子11とセル群43との間の遅延値
と等しくなるようにクロック出力端子11とセル群2
3,33の各々の配線を行う。
Here, the clock output terminal 11 and the macro 4
Since the delay up to the cell group 43 is determined, step S
At 8A, the delay between the clock output terminal 11 and the cell group 23 and the cell group 33 becomes equal to the delay between the clock output terminal 11 and the cell group 43. Clock output terminal 11 and cell group 2
Wiring of each of 3, 33 is performed.

【0076】これにより、機能ブロック中のある1つの
マクロが配置配線済みでもクロック端子11とセル群2
3及びセル群33及びセル群43が等遅延となり、スキ
ューが削減できる。
As a result, even if one macro in the functional block has been arranged and wired, the clock terminal 11 and the cell group 2
3 and the cell group 33 and the cell group 43 have equal delay, and skew can be reduced.

【0077】このように、本実施の形態では、あるマク
ロ内の配置配線が完了している既配置マクロ(ホワイト
ボックスで、かつハードマクロ扱いが可能な)の場合で
も既配置マクロ内のクロックネットに接続するセル群ま
での遅延に未配置マクロ内のクロックネットに接続する
セル群までの遅延を一致させることにより、配置配線完
了後のスキューを削減できる。
As described above, according to the present embodiment, even in the case of a placed macro (placed in a white box and can be treated as a hard macro) in which placement and wiring in a certain macro is completed, the clock net in the placed macro is The skew after the placement and routing is completed can be reduced by making the delay to the cell group connected to the clock net in the unplaced macro coincide with the delay to the cell group connected to the unplaced macro.

【0078】次に、本発明の第3の実施の形態を特徴付
けるクロック配線の適用対象の機能ブロックの第3の例
を図2と共通の構成要素には共通の参照文字/数字を付
して同様にブロックで示す図6を参照すると、この図に
示す本実施の形態の機能ブロックの前述の第1の実施の
形態との相違点は、クロック出力端子11とマクロ2,
3の各々のクロック端子21,31との間に挿入したバ
ッファ5を有することである。
Next, a third example of a functional block to which clock wiring is applied, which characterizes the third embodiment of the present invention, will be described with common reference characters / numerals added to components common to FIG. Similarly, referring to FIG. 6 which is shown as a block, the difference between the functional block of the present embodiment shown in this figure and the first embodiment described above is that the clock output terminal 11 and the macro 2,
3 has a buffer 5 inserted between each of the clock terminals 21 and 31.

【0079】クロック出力端子11からマクロのクロッ
ク端子21,31の距離が長くクロックネット出力ブロ
ック1の駆動能力ではマクロ内に追加したバッファ2
2,32を駆動できないような場合は、クロック出力端
子11とマクロ2,3の各々のクロック端子21,31
との間にバッファ22,32を十分駆動可能なバッファ
5を追加することにより、バッファ5が追加されていな
い第1及び第2の実施の形態の場合と同様にトップレベ
ルの遅延計算を正確に行うことが可能となり配置配線後
のスキューを削減できる。
The distance between the clock output terminal 11 and the clock terminals 21 and 31 of the macro is long, and the driving capability of the clock net output block 1 requires the buffer 2 added in the macro.
2 and 32 cannot be driven, the clock output terminal 11 and the clock terminals 21 and 31 of the macros 2 and 3 respectively.
The buffer 5 capable of sufficiently driving the buffers 22 and 32 is added between the first and second embodiments, so that the top-level delay calculation can be accurately performed as in the first and second embodiments in which the buffer 5 is not added. And skew after placement and routing can be reduced.

【0080】また、クロック出力端子11からマクロの
クロック端子21,31間に複数のバッファが存在する
場合でもトップレベルの遅延計算を正確に行うことが可
能である。
Further, even when a plurality of buffers exist between the clock output terminal 11 and the macro clock terminals 21 and 31, the top-level delay calculation can be performed accurately.

【0081】従って、トップレベルの遅延差を正確に計
算することができ、その遅延差を考慮したマクロ内のク
ロック配線を行うことによりスキューを削減できる。
Accordingly, the top-level delay difference can be calculated accurately, and skew can be reduced by performing clock wiring in the macro in consideration of the delay difference.

【0082】さらにパワー削減のために、予め設定した
動作条件の時にクロックを停止させるための論理を入力
したセルをクロックネットに付加する場合でもトップレ
ベルの遅延計算が可能となる。
Further, in order to reduce power, even when a cell to which a logic for stopping a clock is input under a preset operating condition is added to a clock net, top-level delay calculation can be performed.

【0083】本発明の第4の実施の形態を特徴付ける上
述のパワー削減用論理を付加した機能ブロックの第4の
例を図2と共通の構成要素には共通の参照文字/数字を
付して同様にブロックで示す図7を参照すると、この図
に示す本実施の形態の前述の第1の実施の形態との相違
点は、予め設定した動作条件の設定、この例ではマクロ
2の動作を停止させる場合にマクロ2に供給するクロッ
ク信号を1又は0のいずれかに固定することにより上記
動作条件時にパワーを削減するための制御回路9と、こ
の制御回路9で制御される論理回路6をマクロ2のクロ
ック端子21の入力側に付加したことである。
The fourth example of the functional block to which the above-described logic for power reduction which characterizes the fourth embodiment of the present invention is added is shown by adding common reference characters / numerals to components common to FIG. Similarly, referring to FIG. 7 indicated by a block, the difference between the present embodiment shown in FIG. 7 and the first embodiment is that the preset operation conditions are set, and in this example, the operation of the macro 2 is performed. A control circuit 9 for reducing the power under the above-mentioned operating conditions by fixing the clock signal supplied to the macro 2 to 1 or 0 when stopping, and a logic circuit 6 controlled by the control circuit 9 That is, it is added to the input side of the clock terminal 21 of the macro 2.

【0084】この例では、論理回路6としてAND回路
を用い、制御回路9が0を出力したとき、論理回路6は
クロック端子21に供給するクロックを0に固定するこ
とによりマクロ2の動作を停止させる。
In this example, an AND circuit is used as the logic circuit 6, and when the control circuit 9 outputs 0, the logic circuit 6 stops the operation of the macro 2 by fixing the clock supplied to the clock terminal 21 to 0. Let it.

【0085】また、論理回路6をマクロ3のクロック端
子31の入力側に設けてマクロ3の動作を停止もよい。
また、クロック端子21,31の両方の入力に論理回路
6を設けることにより、マクロ2,3の両方の動作を制
御するようにしてもよい。
The operation of the macro 3 may be stopped by providing the logic circuit 6 on the input side of the clock terminal 31 of the macro 3.
Alternatively, the operation of both macros 2 and 3 may be controlled by providing the logic circuit 6 at both inputs of the clock terminals 21 and 31.

【0086】いずれの場合でもトップレベルの遅延計算
を正確に行うことが可能である。
In any case, the top-level delay calculation can be performed accurately.

【0087】従って、トップレベルの遅延差を正確に計
算することができ、その遅延差を考慮したマクロ内のク
ロック配線を行うことによりスキューを削減できる。
Therefore, the top-level delay difference can be accurately calculated, and skew can be reduced by performing clock wiring in the macro in consideration of the delay difference.

【0088】[0088]

【発明の効果】以上説明したように、本発明のクロック
配線の設計方法は、予めマクロの遅延モデルを作成し、
この遅延モデルを用いてトップレベルの遅延計算を行う
ことにより、設計対象とする機能ブロック内のクロック
供給対象の複数のマクロの各々のクロック遅延を正確に
計算することが可能となり、これら複数のマクロの各々
間のクロックスキューを削減できるという効果がある。
As described above, according to the clock wiring designing method of the present invention, a macro delay model is created in advance,
By performing top-level delay calculation using this delay model, it becomes possible to accurately calculate the clock delay of each of a plurality of clock supply target macros in a functional block to be designed. Has the effect that the clock skew between the two can be reduced.

【0089】また、トップレベルのクロック配線を等配
線長で行った場合に隣接配線容量による遅延変動を考慮
することが可能となり、マクロ間のクロックスキューを
正確に計算できるという効果がある。
Further, when the clock wiring at the top level is performed with the equal wiring length, it is possible to take into account the delay variation due to the capacitance of the adjacent wiring, and there is an effect that the clock skew between macros can be accurately calculated.

【0090】また、等配線長で配線を行わない場合も、
同様に、マクロ間のクロックスキューを正確に計算でき
るので、トップレベルでのマクロ間のクロックスキュー
が正確な値となり、マクロ内のCTS実行後のクロック
スキューを削減できるという効果がある。
Also, when wiring is not performed with an equal wiring length,
Similarly, since the clock skew between the macros can be accurately calculated, the clock skew between the macros at the top level becomes an accurate value, and the clock skew after executing the CTS in the macro can be reduced.

【0091】また、一部のマクロのマクロ内のレイアウ
ト変更が生じた場合でも、当該マクロ内のクロック端子
に遅延モデル作成時に追加したバッファ論理と対応する
同一駆動能力のバッファを追加し、レイアウトを行う際
にクロック端子近傍に配置することにより、トップレベ
ル及び不変更のマクロ内の遅延値に変化はないため、こ
れらトップレベル及び不変更のマクロ内のレイアウト変
更を行う必要がなく、再度レイアウトを行う処理時間を
短縮できるという効果もある。
Even when a layout change in a macro of a part of macros occurs, a buffer having the same driving capability corresponding to the buffer logic added when the delay model was created is added to the clock terminal in the macro, and the layout is changed. Since the delay value in the top-level and unchanged macros does not change by arranging them near the clock terminal when performing this, there is no need to change the layout in these top-level and unchanged macros, and the layout is re-designed. There is also an effect that the processing time to be performed can be reduced.

【0092】さらに、本実施の形態のクロック配線の設
計方法は、近年の高集積度のLSIのレイアウト設計効
率を大幅に向上可能とするという効果がある。
Further, the clock wiring designing method of the present embodiment has an effect that the layout design efficiency of a recent highly integrated LSI can be greatly improved.

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

【図1】本発明のクロック配線の設計方法の第1の実施
の形態を示すフローチャートである。
FIG. 1 is a flowchart showing a first embodiment of a clock wiring designing method according to the present invention.

【図2】本実施の形態のクロック配線の設計方法におけ
る動作の一例を説明するための適用対象の第1の例の機
能ブロックと端子位置の決定及びマクロのモデル化を模
式的に示すブロック図である。
FIG. 2 is a block diagram schematically illustrating a first example of a functional block to be applied, determination of a terminal position, and modeling of a macro for explaining an example of an operation in a clock wiring designing method according to the present embodiment; It is.

【図3】本実施の形態のクロック配線の設計方法におけ
る動作の一例を説明するための第1の機能ブロックのマ
クロ内のレイアウト後の状態を模式的に示すブロック図
である。
FIG. 3 is a block diagram schematically showing a state after layout in a macro of a first functional block for explaining an example of an operation in a clock wiring designing method according to the present embodiment;

【図4】本発明のクロック配線の設計方法の第2の実施
の形態を示すフローチャートである。
FIG. 4 is a flowchart showing a second embodiment of the clock wiring designing method of the present invention.

【図5】本実施の形態を特徴付ける適用対象の第2の例
の機能ブロックを模式的に示すブロック図である。
FIG. 5 is a block diagram schematically showing a functional block of a second example to which the present embodiment is characterized;

【図6】本発明のクロック配線の設計方法の第3の実施
の形態を特徴付ける適用対象の第3の例の機能ブロック
を模式的に示すブロック図である。
FIG. 6 is a block diagram schematically showing a functional block of a third example to be applied which characterizes a third embodiment of the clock wiring designing method according to the present invention;

【図7】本発明のクロック配線の設計方法の第4の実施
の形態を特徴付ける適用対象の第4の例の機能ブロック
を模式的に示すブロック図である。
FIG. 7 is a block diagram schematically showing a functional block of a fourth example to which the fourth embodiment of the clock wiring designing method according to the present invention is characterized;

【図8】従来の第1のクロック配線の設計方法を説明す
るための適用対象の機能ブロックと端子位置の決定及び
マクロのモデル化を模式的に示すブロック図である。
FIG. 8 is a block diagram schematically illustrating a function block to be applied, a terminal position determination, and macro modeling for explaining a conventional first clock wiring design method.

【図9】従来の第2のクロック配線の設計方法の一例を
示すフローチャートである。
FIG. 9 is a flowchart illustrating an example of a conventional second clock wiring design method.

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

1 クロックネット出力ブロック 2,3,4 マクロ 2M,3M 遅延モデル 6 論理回路 7,8 直線 9 制御回路 11 出力端子 21,31,201,302 クロック端子 22M,32M バッファ論理 5,22,32 バッファ 23,33,43 セル群 25,35 中心 F1,F101,F102 RC情報 F2 遅延モデル(ファイル) F3 既配置マクロの遅延情報 Reference Signs List 1 clock net output block 2, 3, 4 macro 2M, 3M delay model 6 logic circuit 7, 8 straight line 9 control circuit 11 output terminal 21, 31, 201, 302 clock terminal 22M, 32M buffer logic 5, 22, 32 buffer 23 , 33, 43 Cell group 25, 35 Center F1, F101, F102 RC information F2 Delay model (file) F3 Delay information of placed macro

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 17/50 668 G06F 17/50 668M 668X H01L 21/82 B H01L 27/04 C 21/822 27/04 D Fターム(参考) 5B046 AA08 BA06 JA03 KA06 5F038 CD06 CD08 CD09 CD12 CD13 EZ09 EZ20 5F064 AA06 BB07 BB26 DD02 DD04 DD25 EE02 EE03 EE08 EE42 EE43 EE47 EE54 HH06 HH12──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 7 Identification code FI Theme coat ゛ (Reference) G06F 17/50 668 G06F 17/50 668M 668X H01L 21/82 B H01L 27/04 C 21/822 27/04 DF term (reference) 5B046 AA08 BA06 JA03 KA06 5F038 CD06 CD08 CD09 CD12 CD13 EZ09 EZ20 5F064 AA06 BB07 BB26 DD02 DD04 DD25 EE02 EE03 EE08 EE42 EE43 EE47 EE54 HH06 HH12

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 機能ブロックを上位階層であるトップレ
ベルと下位階層であるマクロの2階層に区分することに
より階層化し、これらトップレベル内及びマクロ内の各
々のレイアウトを個別に行う階層設計手法を用い、最初
にトップレベルのレイアウトを行うトップダウン方式の
LSIのレイアウト設計におけるクロック配線の設計方
法において、 予め前記マクロの遅延モデルを作成し、この遅延モデル
を用いて前記トップレベルの遅延計算を行うことによ
り、設計対象とする機能ブロック内のクロック供給対象
の複数の前記マクロの各々間のクロックスキューを削減
することを特徴とするクロック配線の設計方法。
1. A hierarchical design method in which functional blocks are divided into two hierarchies, that is, a top level which is an upper hierarchy and a macro which is a lower hierarchy, and the layout is individually performed in each of the top level and the macro. In a clock wiring design method in a layout design of a top-down LSI in which a top-level layout is first used, a delay model of the macro is created in advance, and the top-level delay is calculated using the delay model. A method of designing a clock wiring, wherein the clock skew between each of a plurality of macros to be supplied with clocks in a functional block to be designed is reduced.
【請求項2】 前記マクロの遅延モデルが、前記マクロ
内ネットリスト中のクロック端子にライブラリセル記述
ファイルのバッファ論理を追加することにより作成さ
れ、 前記マクロのレイアウト時に、前記バッファ論理と対応
する同一駆動能力のバッファを前記クロック端子近傍に
配置することを特徴とする請求項1記載のクロック配線
の設計方法。
2. A delay model of the macro is created by adding buffer logic of a library cell description file to a clock terminal in the netlist in the macro, and at the time of layout of the macro, the same logic corresponding to the buffer logic is created. 2. The method according to claim 1, wherein a buffer having a driving capability is arranged near the clock terminal.
【請求項3】 機能ブロックを上位階層であるトップレ
ベルと下位階層であるマクロの2階層に区分することに
より階層化し、これらトップレベル内及びマクロ内の各
々のレイアウトを個別に行う階層設計手法を用い、最初
にトップレベルのレイアウトを行うトップダウン方式の
LSIのレイアウト設計におけるクロック配線の設計方
法において、 それぞれマクロ内の配置配線がなされていない未配置の
第1及び第2のマクロの各々のクロックの供給を受ける
クロック端子を設定するマクロのクロック端子決定ステ
ップと、 前記クロック出力端子と前記マクロのクロック端子決定
ステップで設定した前記第1及び第2のクロック端子の
各々との間の概略配線を行い配線経路を決定する配線経
路の決定ステップと、 前記配線経路の決定ステップで決定した配線経路に基づ
き前記クロック出力端子と前記第1及び第2のクロック
端子の各々との間の配線を行い、各配線の抵抗及び容量
の情報であるRC情報を抽出するトップレベルの配線ス
テップと、 前記第1及び第2のマクロの各々の遅延モデルを作成す
る遅延モデル作成ステップと、 前記RC情報と前記遅延モデルに基づき前記クロック出
力端子と前記第1及び第2のクロック端子の各々間のス
タティックタイミング解析を行い、前記クロック出力端
子と前記第1及び第2のマクロの各々間のクロック遅延
値である第1及び第2の遅延値をそれぞれ計算するトッ
プレベルの遅延計算ステップと、 前記第1及び第2の遅延値からクロック出力端子と前記
第1及び第2のマクロの各々間のクロック遅延差を計算
する遅延差計算ステップと、 前記第1及び第2のマクロの各々内のレイアウト時に前
記第1及び第2のクロック端子の各々の近傍にバッファ
論理と対応する同一駆動能力のバッファを配置するバッ
ファ配置ステップと、 前記第1及び第2のマクロの各々内を配置するマクロ内
配置ステップと、 前記クロック遅延差を考慮して前記第1及び第2のマク
ロの各々内のクロックツリー合成法によりクロック配線
を行うマクロ内クロック配線ステップとを有することを
特徴とするクロック配線の設計方法。
3. A hierarchical design method in which functional blocks are hierarchized by being divided into two hierarchies, that is, a top level which is an upper hierarchy and a macro which is a lower hierarchy, and layouts in the top level and in the macro are individually performed. In the method of designing a clock wiring in a layout design of a top-down type LSI in which a top-level layout is firstly used, a clock of each of unplaced first and second macros, each of which is not arranged and wired in a macro, is used. A clock terminal determining step of setting a clock terminal receiving the supply of the clock signal; and a schematic wiring between the clock output terminal and each of the first and second clock terminals set in the macro clock terminal determining step. Determining a wiring route to determine a wiring route to be performed; and determining the wiring route. Top-level wiring for performing wiring between the clock output terminal and each of the first and second clock terminals based on the wiring path determined in step 1, and extracting RC information that is information on resistance and capacitance of each wiring A delay model creating step of creating a delay model for each of the first and second macros; and a clock output terminal and each of the first and second clock terminals based on the RC information and the delay model. A top-level delay calculating step of performing static timing analysis between the first and second macros and calculating first and second delay values that are clock delay values between the clock output terminal and the first and second macros, respectively. Calculating a delay difference between a clock output terminal and each of the first and second macros from the first and second delay values; A buffer arranging step of arranging a buffer having the same driving capability corresponding to a buffer logic near each of the first and second clock terminals during layout in each of the first and second macros; An intra-macro arranging step of arranging each of the first and second macros; and a clock wiring in the macro for performing clock wiring by a clock tree synthesis method in each of the first and second macros in consideration of the clock delay difference. And a method for designing a clock wiring.
【請求項4】 前記マクロのクロック端子決定ステップ
が、出力ブロックのクロック出力端子から第1及び第2
のマクロの各々の中心を結ぶ第1及び第2の直線を引
き、前記第1及び第2の直線と前記第1及び第2のマク
ロの各々の周辺との交点である第1及び第2の交点を求
め、これら第1及び第2の交点の各々に前記第1及び第
2のマクロの各々の第1及び第2のクロック端子をそれ
ぞれ設定することを特徴とする請求項3記載のクロック
配線の設計方法。
4. The method according to claim 1, wherein the step of determining the clock terminal of the macro comprises the steps of:
First and second straight lines connecting the centers of the macros of the first and second macros are drawn, and first and second intersections between the first and second straight lines and the periphery of each of the first and second macros are drawn. 4. The clock wiring according to claim 3, wherein an intersection is determined, and first and second clock terminals of each of the first and second macros are set at each of the first and second intersections. Design method.
【請求項5】 前記遅延モデル作成ステップが、前記第
1及び第2のマクロのマクロ内ネットリストの中のクロ
ック端子にライブラリセル記述ファイルのセル群のバッ
ファ論理を追加して前記第1及び第2のマクロの各々の
遅延モデルを作成することを特徴とする請求項3記載の
クロック配線の設計方法。
5. The delay model creating step includes adding buffer logic of a group of cells in a library cell description file to a clock terminal in a macro netlist of the first and second macros. 4. The method according to claim 3, wherein a delay model is created for each of the two macros.
【請求項6】 前記機能ブロックが、前記クロック出力
用のクロック出力端子を備えた出力ブロックを有するク
ロックネットと、 前記クロック入力用の前記第1及び第2のクロック端子
の各々を備える前記第1及び第2のマクロと、 前記トップレベル配線である前記出力ブロックから前記
第1及び第2のマクロの各々へのクロック配線とを備え
ることを特徴とする請求項3記載のクロック配線の設計
方法。
6. A clock net having an output block provided with a clock output terminal for the clock output, wherein the functional block includes a first and a second clock terminal for the clock input. 4. The clock wiring design method according to claim 3, further comprising: a second macro; and a clock wiring from the output block as the top-level wiring to each of the first and second macros.
【請求項7】 機能ブロックを上位階層であるトップレ
ベルと下位階層であるマクロの2階層に区分することに
より階層化し、これらトップレベル内及びマクロ内の各
々のレイアウトを個別に行う階層設計手法を用い、最初
にトップレベルのレイアウトを行うトップダウン方式の
LSIのレイアウト設計におけるクロック配線の設計方
法において、 それぞれマクロ内の配置配線がなされていない未配置の
第1及び第2のマクロ及びマクロ内の配置配線済みの既
配置の第3のマクロの各々のクロックの供給を受けるク
ロック端子を設定するマクロのクロック端子決定ステッ
プと、 前記クロック出力端子と前記マクロのクロック端子決定
ステップで設定した前記第1,第2及び第3のクロック
端子の各々との間の概略配線を行い配線経路を決定する
配線経路の決定ステップと、 前記配線経路の決定ステップで決定した配線経路に基づ
き前記クロック出力端子と前記第1及び第2のクロック
端子の各々との間の配線を行い、各配線の抵抗及び容量
の情報であるRC情報を抽出するトップレベルの配線ス
テップと、 前記第1及び第2のマクロの各々の遅延モデルを作成す
るとともに前記第3のマクロの配線情報からこの第3の
マクロの遅延値を抽出し、この第3のマクロの遅延値を
含めた遅延モデルを作成する遅延モデル作成ステップ
と、 前記RC情報と前記遅延モデルに基づき前記クロック出
力端子と前記第1及び第2のクロック端子の各々間のス
タティックタイミング解析を行い、前記クロック出力端
子と前記第1及び第2のマクロの各々間のクロック遅延
値である第1及び第2の遅延値をそれぞれ計算するトッ
プレベルの遅延計算ステップと、 前記第1及び第2の遅延値からクロック出力端子と前記
第1及び第2のマクロの各々間のクロック遅延差を計算
する遅延差計算ステップと、 前記第1及び第2のマクロの各々内のレイアウト時に前
記第1及び第2のクロック端子の各々の近傍にバッファ
論理と対応する同一駆動能力のバッファを配置するバッ
ファ配置ステップと、 前記第3のマクロ内のセル群と前記クロック出力端子と
の間の遅延値と等しくなるように、前記第1及び第2の
マクロの各々内を配置するマクロ内配置ステップと、 前記クロック遅延差を考慮して前記第1及び第2のマク
ロの各々内のクロックツリー合成法によりクロック配線
を行うマクロ内クロック配線ステップとを有することを
特徴とするクロック配線の設計方法。
7. A hierarchical design method in which functional blocks are hierarchized by being divided into two hierarchies, a top level as an upper hierarchy and a macro as a lower hierarchy, and a layout in each of the top level and in the macro is individually performed. In the clock wiring design method in the layout design of a top-down type LSI in which the top-level layout is firstly used, the first and second macros and the macros in the macros which are not arranged and wired in the macros are respectively arranged. A clock terminal determining step of setting a clock terminal to receive a clock supplied from each of the arranged and routed third macros; and a step of determining the clock output terminal and the macro clock terminal determining step. , The second and third clock terminals, and roughly determine the wiring path by performing the wiring. A wiring path determining step; and wiring between the clock output terminal and each of the first and second clock terminals based on the wiring path determined in the wiring path determining step, and a resistance and a capacitance of each wiring. A top-level wiring step of extracting RC information, which is information of the first macro and a delay model of each of the first and second macros, and a delay value of the third macro from the wiring information of the third macro A delay model creating step of creating a delay model including the delay value of the third macro, and a clock output terminal and the first and second clock terminals based on the RC information and the delay model. A static timing analysis between the first and second macros is performed, and first and second delays, which are clock delay values between the clock output terminal and the first and second macros, respectively, are performed. A top-level delay calculation step for calculating respective values; a delay difference calculation step for calculating a clock delay difference between the clock output terminal and each of the first and second macros from the first and second delay values; A buffer arranging step of arranging a buffer having the same driving capability corresponding to a buffer logic near each of the first and second clock terminals during layout in each of the first and second macros; A macro arranging step of arranging each of the first and second macros so as to be equal to a delay value between a cell group in the macro and the clock output terminal; A clock wiring step for performing clock wiring by a clock tree synthesizing method in each of the first and second macros. A method of designing a click wiring.
【請求項8】 前記機能ブロックが、前記クロック出力
用のクロック出力端子を備えた出力ブロックを有するク
ロックネットと、 前記クロック入力用の前記第1及び第2のクロック端子
の各々を備える前記第1及び第2のマクロと第3のクロ
ック端子を備えるマクロ内の配置配線済みの既配置の第
3のマクロと、、 前記トップレベル配線である前記出力ブロックから前記
第1,第2及び第3のマクロの各々へのクロック配線と
を備えることを特徴とする請求項7記載のクロック配線
の設計方法。
8. A clock net having an output block including a clock output terminal for the clock output, and the first block including each of the first and second clock terminals for the clock input. And a third macro already placed and routed in a macro having a second macro and a third clock terminal; and the first, second and third macros from the output block which is the top level wiring. 8. The clock wiring design method according to claim 7, further comprising a clock wiring for each macro.
【請求項9】 前記クロック配線が、前記クロック出力
端子と前記第1及び第2のクロック端子との間に挿入し
た前記第1及び第2のクロック端子の各々に付加した第
1及び第2のバッファ駆動用の第3のバッファを備える
ことを特徴とする請求項6又は8記載のクロック配線の
設計方法。
9. A first and a second clock terminal added to each of the first and second clock terminals inserted between the clock output terminal and the first and second clock terminals, wherein the clock wiring is provided. 9. The clock wiring design method according to claim 6, further comprising a third buffer for driving the buffer.
【請求項10】 前記機能ブロックが、前記クロック出
力用のクロック出力端子を備えた出力ブロックを有する
クロックネットと、 前記クロック入力用の前記第1及び第2のクロック端子
の各々を備える前記第1及び第2のマクロと、 前記トップレベル配線である前記出力ブロックから前記
第1及び第2のマクロの各々へのクロック配線と、 予め定めた動作条件の設定に応じて制御信号を出力する
制御回路とを有し、 前記クロック配線が、前記第1及び第2のマクロのいず
れか一方又は両方の入力側に前記制御信号の供給に応じ
て前記クロックの通過を停止させる論理回路を備えるこ
とを特徴とする請求項3又は8記載のクロック配線の設
計方法。
10. A clock net having an output block having a clock output terminal for the clock output, and the first functional block having each of the first and second clock terminals for the clock input. And a second macro, a clock wiring from the output block, which is the top-level wiring, to each of the first and second macros, and a control circuit for outputting a control signal in accordance with setting of a predetermined operating condition Wherein the clock wiring comprises a logic circuit for stopping the passage of the clock in response to the supply of the control signal to one or both input sides of the first and second macros. The clock wiring design method according to claim 3 or 8, wherein:
JP2000292578A 2000-09-26 2000-09-26 Clock wiring design method Expired - Fee Related JP3420195B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000292578A JP3420195B2 (en) 2000-09-26 2000-09-26 Clock wiring design method
US09/962,135 US6609241B2 (en) 2000-09-26 2001-09-26 Method of designing clock wiring

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000292578A JP3420195B2 (en) 2000-09-26 2000-09-26 Clock wiring design method

Publications (2)

Publication Number Publication Date
JP2002110797A true JP2002110797A (en) 2002-04-12
JP3420195B2 JP3420195B2 (en) 2003-06-23

Family

ID=18775497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000292578A Expired - Fee Related JP3420195B2 (en) 2000-09-26 2000-09-26 Clock wiring design method

Country Status (2)

Country Link
US (1) US6609241B2 (en)
JP (1) JP3420195B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281276B2 (en) 2009-07-30 2012-10-02 Fujitsu Semiconductor Limited Method for manufacturing semiconductor integrated circuit and recording medium

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952813B1 (en) * 2003-07-30 2005-10-04 Xilinx, Inc. Method and apparatus for selecting programmable interconnects to reduce clock skew
US7134062B2 (en) * 2003-08-12 2006-11-07 Via Telecom, Inc. Static timing analysis approach for multi-clock domain designs
JP4017583B2 (en) * 2003-10-16 2007-12-05 松下電器産業株式会社 Circuit display method for design data of semiconductor integrated circuit
US7017132B2 (en) * 2003-11-12 2006-03-21 Taiwan Semiconductor Manufacturing Company Methodology to optimize hierarchical clock skew by clock delay compensation
US7152217B1 (en) * 2004-04-20 2006-12-19 Xilinx, Inc. Alleviating timing based congestion within circuit designs
JP2006012008A (en) * 2004-06-29 2006-01-12 Oki Electric Ind Co Ltd Timing model, and lsi design method using it
JP4540540B2 (en) * 2005-05-02 2010-09-08 ルネサスエレクトロニクス株式会社 Delay calculator
US7467367B1 (en) * 2005-10-27 2008-12-16 Cadence Design Systems, Inc. Method and system for clock tree synthesis of an integrated circuit
JP4355348B2 (en) * 2007-07-10 2009-10-28 パナソニック株式会社 Clock supply circuit and design method thereof
JP2009037278A (en) * 2007-07-31 2009-02-19 Nec Corp Operation timing verification device, method and program
US8935639B1 (en) * 2012-08-29 2015-01-13 Atoptech, Inc. Natively color-aware double patterning technology (DPT) compliant routing
US9390209B2 (en) 2013-12-26 2016-07-12 Cavium, Inc. System for and method of combining CMOS inverters of multiple drive strengths to create tune-able clock inverters of variable drive strengths in hybrid tree-mesh clock distribution networks
US9305129B2 (en) * 2013-12-26 2016-04-05 Cavium, Inc. System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells
US9443053B2 (en) 2013-12-26 2016-09-13 Cavium, Inc. System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks
US10423743B2 (en) * 2016-11-15 2019-09-24 Synopsys, Inc. Context-dependent useful skew estimation for optimization, placement, and clock tree synthesis
US11227084B2 (en) * 2018-11-14 2022-01-18 Taiwan Semiconductor Manufacturing Company Ltd. Multi-bit standard cell
US11080457B1 (en) * 2020-03-18 2021-08-03 Cadence Design Systems, Inc. Layer assignment and routing based on resistance or capacitance characteristic

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0673363B2 (en) * 1984-07-02 1994-09-14 株式会社東芝 System LSI design method
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
JPH04148376A (en) 1990-10-11 1992-05-21 Hokuriku Nippon Denki Software Kk Hierarchical arrangement processing system for printed circuit
JP3076410B2 (en) * 1991-07-08 2000-08-14 株式会社東芝 Design method of semiconductor integrated circuit
US5956257A (en) * 1993-03-31 1999-09-21 Vlsi Technology, Inc. Automated optimization of hierarchical netlists
US5778216A (en) * 1995-06-30 1998-07-07 Cadence Design Systems, Inc. Method for hierarchical time drive circuit layout by rebudgeting timing constraints of plurality of logical blocks after placement
US5790841A (en) * 1996-04-15 1998-08-04 Advanced Micro Devices, Inc. Method for placement of clock buffers in a clock distribution system
JPH1021276A (en) * 1996-06-28 1998-01-23 Toshiba Corp Pattern matching method, timing analyzing method and its device
US6289494B1 (en) * 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
US6086629A (en) * 1997-12-04 2000-07-11 Xilinx, Inc. Method for design implementation of routing in an FPGA using placement directives such as local outputs and virtual buffers
US6249902B1 (en) * 1998-01-09 2001-06-19 Silicon Perspective Corporation Design hierarchy-based placement
US6275973B1 (en) * 1998-10-30 2001-08-14 Lsi Logic Corporation Integrated circuit design with delayed cell selection
JP2000286342A (en) 1999-03-30 2000-10-13 Hitachi Ltd Computer-readable memory medium, method of design for semiconductor integrated circuit, and method of design for semiconductor device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281276B2 (en) 2009-07-30 2012-10-02 Fujitsu Semiconductor Limited Method for manufacturing semiconductor integrated circuit and recording medium

Also Published As

Publication number Publication date
US20020038204A1 (en) 2002-03-28
JP3420195B2 (en) 2003-06-23
US6609241B2 (en) 2003-08-19

Similar Documents

Publication Publication Date Title
JP3420195B2 (en) Clock wiring design method
CN101187957B (en) System and method for designing multiple latch unit layout of integrated circuit public clock domain clock aware placement
US6080201A (en) Integrated placement and synthesis for timing closure of microprocessors
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
US6966045B2 (en) Method and computer program product for estimating wire loads
US7895551B2 (en) Generation of standard cell library components with increased signal routing resources
US8527930B2 (en) Generating and using route fix guidance
KR20070069390A (en) Method for layout design reflecting time delay effect for dummy metal fill in semiconductor device
US11163932B2 (en) Semiconductor process modeling to enable skip via in place and route flow
CN114841104A (en) Time sequence optimization circuit and method, chip and electronic equipment
US8015533B1 (en) Method for matching timing on high fanout signal paths using routing guides
WO1999009497A1 (en) Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, lsi designing method, and gate extraction method
US20100275168A1 (en) Design method of semiconductor integrated circuit device and program
US8074198B2 (en) Apparatus and method for circuit layout using longest path and shortest path search elements
JP5059657B2 (en) Design method and program for predicting signal delay time by netlist considering terminal wiring in macro
US6877140B1 (en) Method and system for generating a schematic representing bus structures
JP2001267429A (en) Layout design device and method
US7284217B2 (en) Method of LSI designing and a computer program for designing LSIS
JP2872216B1 (en) Macro design method
Lienig et al. Steps in Physical Design: From Netlist Generation to Layout Post Processing
US11113446B2 (en) Yield improving leaf cells optimization for semiconductor netlists
JP3182244B2 (en) Method for optimizing signal propagation delay time in semiconductor integrated circuit
CN101174284A (en) Method and system for designing a memory register
JPH1154626A (en) Method and system for laying out lsi while reducing timing adjustment and medium recording layout design program for lsi
JP3164503B2 (en) Wiring pattern making device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030325

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080418

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees