JP3104746B2 - クロックツリーレイアウト装置 - Google Patents

クロックツリーレイアウト装置

Info

Publication number
JP3104746B2
JP3104746B2 JP09311635A JP31163597A JP3104746B2 JP 3104746 B2 JP3104746 B2 JP 3104746B2 JP 09311635 A JP09311635 A JP 09311635A JP 31163597 A JP31163597 A JP 31163597A JP 3104746 B2 JP3104746 B2 JP 3104746B2
Authority
JP
Japan
Prior art keywords
clock
clock tree
dummy block
tree layout
buffer
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.)
Expired - Fee Related
Application number
JP09311635A
Other languages
English (en)
Other versions
JPH11143575A (ja
Inventor
真理子 植村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP09311635A priority Critical patent/JP3104746B2/ja
Publication of JPH11143575A publication Critical patent/JPH11143575A/ja
Application granted granted Critical
Publication of JP3104746B2 publication Critical patent/JP3104746B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
設計手法に関し、特にクロックツリーの自動配置装置に
関する。
【0002】
【従来の技術】一般に、半導体集積回路の大規模化に伴
って、半導体集積回路は同期回路として設計されるよう
になっている。このため、いかにしてスキューを低減し
てクロック分配するかが大きな問題となっている。従
来、半導体集積回路のクロック分配として、例えば、特
開昭63−0205720号公報に記載されたものが知
られており、ここでは、異相クロックの遅延差をなくす
ため、等段等負荷を用いている。
【0003】ここで、図14を参照して、チップ106
には第1段バッファ101、第2段バッファ102、第
3段バッファ103、及び負荷回路104が備えられて
おり、チップ106にはN相のクロックT0,T1,
…,TNが与えられる。図示のように、各クロック信号
T0乃至TNは、第1段バッファ101、第2段バッフ
ァ102、及び第3バッファ103を介して負荷回路1
04に供給される。
【0004】図示のように、段が同一であれば、いずれ
の相も同一のバッファ数である。例えば、クロックT0
に関連する第2段バッファ102とクロックTNに関連
する第2段バッファ102の数は同一であり、3個であ
る。加えて、段が同一であれば、いずれの相のバッファ
においても1個のバッファの負荷容量は同一である。同
一の容量にするために、ダミーブロックが用いられる。
【0005】
【発明が解決しようとする課題】ところで、従来の手法
では、同一の容量や等長にするために用いられるクロッ
クツリー生成が行われておらず、加えて、相毎のフリッ
プフロップ数が大きく違っていた場合、配置がかたよっ
ていた場合、又はゲーテッドクロックの場合について
は、クロックツリー生成が考慮されていなかったため、
ダミーブロックが多くはいりすぎるという問題点があ
る。
【0006】つまり、従来の手法では、いずれの相も同
一の容量、同一の抵抗のクロックツリーを作ることが難
しく、遅延を同一にすることが難しくなってしまう。こ
のため、異相クロックのスキューを低減することが難し
いという問題点がある。
【0007】加えて、従来の手法ではダミーブロックが
多くなる結果、ゲート規模が増大するばかりでなく消費
電力が増大してしまうという問題点がある。
【0008】本発明の目的は異相クロックのスキューを
低減することのできるクロックツリーの自動配置装置を
提供することにある。
【0009】本発明の他の目的はゲート規模を抑制する
とともに消費電力を低減することのできるクロックツリ
ーの自動配置装置を提供することにある。
【0010】
【課題を解決するための手段】本発明によれば、複数の
クロック信号をチップ内の複数のフリップフロップ等の
負荷回路に分配する大規模半導体論理回路に対して、前
記クロックの各々の相間の遅延を等しくするためにダミ
ーブロックを生成配置してクロックツリーレイアウトを
生成する装置であって、予め指定されたクロックと異な
る他のクロックに接続されている負荷回路の近傍に前記
ダミーブロックを生成する第1の手段と、前記予め指定
されたクロックと前記ダミーブロックとの接続関係を生
成する第2の手段と、前記各クロック相毎に1つずつク
ラスタを生成して前記各クロック相内の負荷回路及び前
記ダミーブロックの配置位置を考慮してさらに複数のク
ラスタを生成する第3の手段と、前記複数のクラスタの
それぞれに対して前記負荷回路及び前記ダミーブロック
のバランスがとれる位置にバッファを生成配置する第4
の手段と、前記バッファの出力先が全て前記ダミーブロ
ックの場合前記出力先の前記ダミーブロックとの接続関
係を削除して前記バッファをダミーブロックに置換する
第5の手段とを有することを特徴とするクロックツリー
レイアウト装置が得られる。そして、前記複数のクロッ
ク信号としてゲーテッドクロック信号が用いられる。
【0011】
【発明の実施の形態】以下本発明について図面を参照し
て説明する。
【0012】図1を参照して、本発明によるクロックツ
リーの自動配置装置は図1に示すフローチャートに応じ
てクロックツリーを生成配置する。まず、ステップs1
で、各セルを配置する。そして、ステップs2で、クロ
ックiが接続しているフリップフロップ(FF)近傍に
(n−1)個のダミーブロックを生成配置する。その
後、各ダミーブロックと異相クロックとの間に接続関係
を生成する(ステップs3)。そして、ステップs4で
i=1とする。
【0013】ステップs5において、クロックiのクラ
スタリングを生成して、ステップs6で、FFの配置位
置を考慮してさらにクラスタリングを行う。そして、各
クラスタに対して負荷バランスがとれる位置にバッファ
を生成配置する(ステップs7)。その後、ステップs
8において、配置バッファの出力先が全てダミーブロッ
クの場合は、出力先のダミーブロックとその接続関係を
削除し、配置バッファをダミーブロックに置換する。そ
して、ステップs9で、i<nであるか否かを調べて、
i<nであると、ステップs10でi=i+1として、
ステップs5に戻る。
【0014】一方、ステップs9で、i<nでなけれ
ば、つまり、i≧nであれば、ステップs11におい
て、クロックツリーの等遅延配線を行う。
【0015】ここで、図2にクロックC1及びC2の2
相を有する回路例を示す。そして、図2に示す回路例に
図1に示す処理を適用した場合について、図3乃至図1
1を参照して説明する。
【0016】まず、各セルを配置する(ステップs
1)。この結果、例えば、図3に示すセルの配置が得ら
れる。図4に示すように、クロックC1が接続されるフ
リップフロップ11の近傍にダミーブロック12を生成
し配置する。1個のフリップフロップ毎に生成するダミ
ーブロック数は、クロックの本数が2本の場合には1
個、3本の場合は2個、n本の場合にはn−1個生成し
配置する(ステップs2)。
【0017】各ダミーブロックとクロックC2との間に
接続関係を生成する(ステップs3)。同様にして、ス
テップs2において、クロックC2が接続されるフリッ
プフロップ11の近傍にダミーブロック12を生成し配
置して、ステップs3において、各ダミーブロックとク
ロックC1との間に接続関係を生成する。ダミーブロッ
クの生成配置及び接続関係生成後の結果は図4に示すと
おりである。
【0018】ステップs5において、クロックC1のク
ラスタを生成する。そして、ステップs6において、フ
リップフロップ11及びダミーブロック12の配置位置
を考慮して更にクラスタ13を生成する。クロックC1
のクラスタリング結果を図5に示す。
【0019】ステップs7において、クラスタ13内の
各フリップフロップ11の重心位置に、バッファ14を
生成配置する。重心位置におくのは、同相内のクロック
スキューをおさえるためである。さらに、各クラスタ1
3で生成されたバッファ14郡の重心位置にバッファ1
5を生成配置する。そして、クロックC1のクロックツ
リーを構成する。クロックツリー構成の結果を図6に示
す。
【0020】ステップs8において、ツリーを構成して
いるバッファ14,15の出力先が全てダミーブロック
の場合には、出力先のダミーブロック12を削除し、そ
のバッファ14をダミーブロック12に置換する。ダミ
ーブロック12を削除し、バッファ14をダミーブロッ
ク12に置換した結果を図7に示す。クロックC2につ
いてもクロックC1と同様のことを行う。
【0021】C2のクラスタリング結果を図8に示す。
同様に、クロックツリーの配置を行った後の結果を図9
及び図10に示す。図10は、図9のクラスタ線を削除
した図である。そして、クロックツリー構成後の回路図
を図11に示す。なお、クロック信号としてゲーテッド
クロック信号が用いられる。
【0022】次に、本発明の第2の例について説明す
る。
【0023】図12は、クロック信号を停止するための
多入力回路16を有する回路である。図12に示す回路
は、低消費電力のためにしばしば使用される。図12に
示す回路は、1相クロックC1で動作する。多入力回路
16の前段ブロックから全フリップ11群までの遅延を
等しくする必要がある。
【0024】まず、多入力回路16の出力それぞれが、
クロックであると仮定する。多入力回路がn個あると、
クロックがn相あることになる。
【0025】n相のクロックに対するクロックツリー構
成を行う際には、図1に示す処理が行われ、多入力回路
16とフリップフロップ群11のクロックツリーが構成
される。次に、多入力回路16がフリップフロップであ
ると仮定する。1相クロックの等遅延の配置配線手法に
よりクロックツリー17を構成する。クロックツリー構
成後の回路図を図13に示す。
【0026】
【発明の効果】以上説明したように、本発明では、クロ
ックに接続しているブロック近傍に(クロック総数−1
個)のダミーブロックを生成配置し、各ダミーブロック
と異相の間の接続関係を生成して、その後、各クロック
に接続しているブロックの配置関係を考慮して負荷のバ
ランスがとれる位置にバッファを生成配置しており、こ
の際、バッファの出力先がすべてダミーブロックの場合
には、出力先のダミーブロックとその接続関係を削除し
て、バッファをダミーブロックに置換し、これを各相の
クロックで行っているので、いずれのクロック相も、同
一の容量、同一の抵抗のクロックツリーを生成すること
ができる。このため、遅延量を同一にすることができ、
異相クロックのスキューを低減できるという効果があ
る。
【0027】また、本発明では、不必要のダミーブロッ
クを削除していくため、ゲート規模の増大抑制及び消費
電力の抑制ができるという効果がある。
【図面の簡単な説明】
【図1】本発明によるレイアウト装置の処理を説明する
ためのフローチャートである。
【図2】論理回路の一例を示す図である。
【図3】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図4】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図5】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図6】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図7】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図8】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図9】図2に示す論理回路のクロックツリーレイアウ
トを説明するための図である。
【図10】図2に示す論理回路のクロックツリーレイア
ウトを説明するための図である。
【図11】図2に示す論理回路例においてクロックツリ
ー生成後の回路を示す図である。
【図12】論理回路の他の例を示す図である。
【図13】図12に示す論理回路においてクロックツリ
ー生成後の回路を示す図である。
【図14】従来のクロックツリーレイアウトを示す図で
ある。
【符号の説明】
11 フリップフロップ 12 ダミーブロック 13 クラスタ 14,15,17 クロックツリーバッファ 16 多入力回路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 1/10 H01L 21/82

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のクロック信号をチップ内の複数の
    負荷回路に分配する大規模半導体論理回路に対して、前
    記クロックの各々の相間の遅延を等しくするためにダミ
    ーブロックを生成配置してクロックツリーレイアウトを
    生成する装置であって、予め指定されたクロックと異な
    る他のクロックに接続されている負荷回路の近傍に前記
    ダミーブロックを生成する第1の手段と、前記予め指定
    されたクロックと前記ダミーブロックとの接続関係を生
    成する第2の手段とを有することを特徴とするクロック
    ツリーレイアウト装置。
  2. 【請求項2】 請求項1に記載されたクロックツリーレ
    イアウト装置において、前記負荷回路はフリップフロッ
    プであることを特徴とするクロックツリーレイアウト装
    置。
  3. 【請求項3】 請求項1又は2に記載されたクロックツ
    リーレイアウト装置において、さらに、前記各クロック
    相毎に1つずつクラスタを生成して前記各クロック相内
    の負荷回路及び前記ダミーブロックの配置位置を考慮し
    てさらに複数のクラスタを生成する第3の手段を有する
    ことを特徴とするクロックツリーレイアウト装置。
  4. 【請求項4】 請求項3に記載されたクロックツリーレ
    イアウト装置において、前記複数のクラスタのそれぞれ
    に対して前記負荷回路及び前記ダミーブロックのバラン
    スがとれる位置にバッファを生成配置する第4の手段を
    有することを特徴とするクロックツリーレイアウト装
    置。
  5. 【請求項5】 請求項4に記載されたクロックツリーレ
    イアウト装置において、前記バッファの出力先が全て前
    記ダミーブロックの場合前記出力先の前記ダミーブロッ
    クとの接続関係を削除して前記バッファをダミーブロッ
    クに置換する第5の手段を有することを特徴とするクロ
    ックツリーレイアウト装置。
  6. 【請求項6】 請求項1乃至5のいずれかに記載された
    クロックツリーレイアウト装置において、前記複数のク
    ロック信号はゲーテッドクロック信号であることを特徴
    とするクロックツリーレイアウト装置。
JP09311635A 1997-11-13 1997-11-13 クロックツリーレイアウト装置 Expired - Fee Related JP3104746B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09311635A JP3104746B2 (ja) 1997-11-13 1997-11-13 クロックツリーレイアウト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09311635A JP3104746B2 (ja) 1997-11-13 1997-11-13 クロックツリーレイアウト装置

Publications (2)

Publication Number Publication Date
JPH11143575A JPH11143575A (ja) 1999-05-28
JP3104746B2 true JP3104746B2 (ja) 2000-10-30

Family

ID=18019649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09311635A Expired - Fee Related JP3104746B2 (ja) 1997-11-13 1997-11-13 クロックツリーレイアウト装置

Country Status (1)

Country Link
JP (1) JP3104746B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424592B1 (en) 2000-11-30 2002-07-23 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit having circuit for correcting data output timing
JP4968294B2 (ja) * 2009-08-17 2012-07-04 富士通セミコンダクター株式会社 レイアウト設計装置、レイアウト設計プログラム、および記録媒体

Also Published As

Publication number Publication date
JPH11143575A (ja) 1999-05-28

Similar Documents

Publication Publication Date Title
US5923188A (en) Clock signal distribution circuit of tree structure with minimized skew
US5570045A (en) Hierarchical clock distribution system and method
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
JPH0736422B2 (ja) クロック供給回路
JP2003092352A (ja) 半導体集積回路装置のクロック信号分配回路
US6711089B2 (en) Method and apparatus for performing signal synchronization
JP3104746B2 (ja) クロックツリーレイアウト装置
JPH10107614A (ja) 半導体集積回路及びその設計方法
JP2005184262A (ja) 半導体集積回路及びその製造方法
JPS6369262A (ja) 半導体集積回路
JP3869406B2 (ja) クロック位相差検出回路、クロック分配回路、及び大規模集積回路
US6373288B1 (en) Method of implementing clock trees in synchronous digital electronic circuits, and a programmable delay buffer stage therefor
JPH113945A (ja) 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路
JPS62217632A (ja) 半導体集積回路
JP2000035832A (ja) 半導体集積回路及びそのクロック分配方法
US6294929B1 (en) Balanced-delay programmable logic array and method for balancing programmable logic array delays
JPH0384951A (ja) 集積回路のレイアウト設計方法
JP2005116793A (ja) 半導体集積回路及びそのクロック配線方法
JP2685546B2 (ja) クロック分配回路の製造方法
JP2786017B2 (ja) 半導体集積回路の製造方法
JP2929932B2 (ja) 回路分割方法
JP2000029562A (ja) 半導体集積回路及びクロック供給回路の設計方法
JP2850945B2 (ja) 半導体集積回路及びそのレイアウト手法
JP2000172367A (ja) クロック信号分配方法及びクロック分配回路
Khan et al. Minimum skew multiple clock routing in synchronous ASIC systems

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

LAPS Cancellation because of no payment of annual fees