JPH0554100A - クロツク信号の分配方法 - Google Patents

クロツク信号の分配方法

Info

Publication number
JPH0554100A
JPH0554100A JP3299104A JP29910491A JPH0554100A JP H0554100 A JPH0554100 A JP H0554100A JP 3299104 A JP3299104 A JP 3299104A JP 29910491 A JP29910491 A JP 29910491A JP H0554100 A JPH0554100 A JP H0554100A
Authority
JP
Japan
Prior art keywords
node
wiring
subtree
buffer cell
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
JP3299104A
Other languages
English (en)
Other versions
JP2695078B2 (ja
Inventor
Fumihiro Minami
文裕 南
Masayoshi Tachibana
昌良 橘
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3299104A priority Critical patent/JP2695078B2/ja
Priority to US07/896,618 priority patent/US5410491A/en
Publication of JPH0554100A publication Critical patent/JPH0554100A/ja
Priority to US08/417,232 priority patent/US5557779A/en
Application granted granted Critical
Publication of JP2695078B2 publication Critical patent/JP2695078B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • 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
    • 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/396Clock trees

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)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【構成】 バイナリツリー状のクロック配線径路の分岐
点を一旦設定したあと、共通の親分岐点を持つ兄弟分岐
点間を結線し、その実配線径路上の地点でRCディレイ
のバランスするところを新たな親分岐点位置として更新
し、これをボトムアップに繰り返して詳細配線径路を決
定する。また、バッファセル挿入による階層クロック分
配方式において、バッファセル詳細位置決定後、同一階
層でのディレイを等しくするようバッファセル近傍の径
路に迂回部分を含ませて詳細配線を行なう。更に、クラ
スタ内径路を除く部分に対して、専用配線層による配線
を行なう。 【効果】 より正確にクロックスキューの最小化が達成
できる。また、専用配線層によりディレイ減少が得られ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、半導体集積回路のレ
イアウトにおいて、コンピュータを用いた処理によるク
ロック信号の分配方法に関する。
【0002】
【従来の技術】デジタル論理集積回路においては、フリ
ップフロップに代表される順序回路が必ずと言っていい
ほど使用されており、位相・周期の異なる複数のクロッ
ク信号と同期をとりながら回路全体が動作するようにな
っている。クロック信号は、チップ内部で作られたり外
部から供給されたりするが、通常幾段かのバッファセル
を介して回路ブロックに供給され、バッファセル間およ
びバッファセルとフリップフロップ間は、一般的にCA
D技術によって自動的に結線される。
【0003】フリップフロップに供給されるクロック信
号の伝搬遅延時間(以下、ディレイという)は、各フリ
ップフロップ毎で異なるのがふつうであり、その位相差
のことをクロックスキュー(以下、スキューと略す)と
呼ぶが、このスキューが大きすぎると、所望のクロック
周波数で回路の同期動作をとることができなくなる。従
って、チップ上のすべてのフリップフロップに対してな
るべく同じタイミングでクロック信号が到着するよう
に、バッファセルの位置や配線径路を決めることが大切
である。
【0004】フリップフロップまでのディレイとして
は、中継するバッファセルの内部ディレイ、バッファセ
ルが結線用配線の配線容量・配線抵抗および被駆動セル
の入力端子容量を充放電するためにかかるディレイ、が
含まれる。このうち、配線抵抗に関しては、近年の半導
体微細加工技術の進歩によるトランジスタサイズ・配線
断面積の減少のため、無視できなくなってきた。これに
より、ディレイの予測精度上、回路を分布定数回路とし
て扱うことが必要となっている。例えば、図15(a)
のような回路は、(b)のような分布定数回路としてデ
ィレイを予測しなければならない。
【0005】さて、このスキューを減少させる主な方法
としては、メッシュ方式とツリー方式が挙げられる。メ
ッシュ方式は、チップを格子状に巡る配線径路を布設
し、その格子径路のそばにバッファセルを接続し、さら
にバッファセルを介してフリップフロップに接続するも
ので、特開昭63−107316がその例である。
【0006】この方式の長所は、構成が簡単なこと、配
線径路がリング状のため配線の等価抵抗が下がりディレ
イを小さくできること、レイアウト処理前にディレイの
予測が可能なこと、などである。しかし、回路が超大規
模になると、ルートドライバーに近いフリップフロップ
と遠いものとのスキューが無視できなくなること、格子
の切り方を細かくしなければならないので配線長が増加
すること、が問題となる。
【0007】一方、ツリー方式は、各段毎にバッファを
並列接続したものを多段構成にし、各バッファ毎にはツ
リー状の配線径路をとるものである。バッファの挿入に
関する従来例としては、特開昭61−82455、特開
平1−157115などがあり、ツリー状の配線径路の
典型例としては、文献「H.B.Bakoglu,et al:A symmetri
c clock-distribution tree and optimized high-speed
interconnectionsfor reduced clock skew in ulsi an
d wsi circuits.,IEEE Int.Conf.on Computer Design,1
986」 のHツリーが知られている。
【0008】この方式の長所は、スキューを小さくでき
ること、メガセル混載チップにも対応が容易なことであ
る。反面、バッファ段数が深すぎるとスキューは小さく
できてもディレイが大きくなってしまうこと、レイアウ
ト処理が詳細化しないとディレイ予測が難しいこと、が
短所として挙げられる。
【0009】どちらの方法も長所と短所はあるが、回路
の大規模化に対応するにはツリー方式のほうが望ましい
といえる。以下、ツリー方式による従来技術について説
明する。
【0010】ツリー方式の典型的な配線形状であるHツ
リーは、Hの形の配線径路を再帰的に比例縮小しながら
繰り返すもので、その対称性ゆえに等配線長・等ディレ
イを保つことができる。しかし、供給される素子・素子
群が2のべき乗個で、かつ素子配置が対称形で素子容量
も等しくないと、この等ディレイは達成できず、実際の
回路では適用がむずかしい。
【0011】これを改善したものとしては、文献「Mich
ael A.B.Jackson,et al:ClockRouting for High-Perfom
ance ICs.,27th ACM/IEEE Design Automation Conf.,19
90」のMMMアルゴリズムがある。この方法はフリップ
フロップ(バッファセルでもよい)をトップダウンに等
個数分割していきながら、同時に分割した領域にあるフ
リップフロップの重心位置に配線径路の分岐点を設定し
ていくもので、単純な処理にもかかわらず比較的スキュ
ーを小さくできる特徴を持つ。しかし、トップダウンな
処理なので、ディレイの見積もり精度によっては満足の
いくスキュー値が得られないという欠点もある。
【0012】また、バッファセルの最適挿入方法に関し
ては、文献「S.Boon,et al:Highperformance clock dis
tribution for cmos asic’s.,IEEE Custom Integtated
Circuit Conf.,1989」の方法があるが、配線方法自体は
一般信号用に使用するアルゴリズムと同じなので、配線
する領域が広い場合、信号パスごとの配線抵抗の違いに
よるスキューが問題となる。
【0013】
【発明が解決しようとする課題】このように、従来のツ
リー方式によるクロック信号の分配方法では、スキュー
を小さくする目的は同じでも、バッファセルの挿入と配
線径路の決定とを別々に取り扱っており、また配線径路
については詳細なディレイ見積もりに基づいて決定する
のではないため、きめ細かなスキューバランスをとるこ
とはできなかった。
【0014】この発明は、そのような事情を鑑みてなさ
れたものであり、その目的とするところは、バッファセ
ル挿入処理と配線径路決定処理とを協調させながら、よ
り正確なディレイ見積もりに基づいて配線径路の分岐点
を決定していくことで、フリップフロップ等の素子位置
が均一・不均一にかかわらず、スキューを飛躍的に低減
できるクロック信号の分配方法を提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、この発明は、半導体基板上に置かれたルートドライ
バーセルから中継用バッファセルを経由して複数個の末
端セルにクロック信号を供給する際に、当該末端セルを
少なくとも1個以上含むクラスタを生成し前記末端セル
を複数のグループに分け、前記ルートドライバーセルを
ルートノードとし前記クラスタをリーフノードとするバ
イナリツリー状の配線径路を生成し、当該バイナリツリ
ー上のクロック信号伝搬遅延時間が最小化される部位に
中継用バッファセルを挿入したのち、バイナリツリーの
下位分岐ノードから順に、当該分岐ノードより前記リー
フノードにいたる径路のRC遅延量を計算してその差が
最小となるように当該分岐ノードの物理的位置を設定
し、前記中継用バッファセルの挿入に伴う回路接続情報
の更新およびこのバッファセル近傍のセル配置情報を修
正してセル同士の重なりを除去し、確定した配置情報に
もとづいて各クラスタ内の詳細な配線径路を決定し、決
定された配線径路から求まるクラスタ内の正確な遅延量
にもとづいて各分岐ノードの位置を決定し、その分岐ノ
ード間の詳細な配線径路を決定することを特徴としてい
る。
【0016】
【作用】この発明は、クロック信号を受け取るフリップ
フロップ等の末端セルに対して、近接するもの同士を複
数個まとめてクラスタとし、クラスタ内は一般信号用の
配線径路決定アルゴリズムにより配線する。ルートトラ
イバーセルからクラスタまではバイナリツリー(2分
木)状となるように配線径路を布設する。このとき、各
クラスタの大きさは、クラスタ内の配線抵抗による遅延
時間があまり大きくならないよう上限をもたせ、加えて
クラスタ内の負荷容量は均一となるようにクラスタリン
グをする。
【0017】また、クラスタの入口部位、およびバイナ
リツリーの途中地点でディレイが最小化できるような部
位に、中継用のバッファセルを複数個自動挿入し、ルー
トドライバーまたは中継用バッファセルを起点とするサ
ブツリーの多段階層構造を形成する。
【0018】各サブツリー内における分岐ノードの位置
すなわち配線径路上の分岐点は、2つの子ノード以降の
RCディレイを計算してその差が最小となるような位置
に設定し、この処理をボトムアップに繰り返すことでサ
ブツリーの配線形状を決定する。さらに、階層サブツリ
ーの配線形状をボトムアップに形成する過程において、
同一階層のサブツリー以降のディレイが均一となるよう
に、バッファセルの位置を微調整する。あるいは、バッ
ファセル出力端子近傍の配線径路に迂回部分を付加す
る。
【0019】または、詳細配線径路決定の際に、この詳
細配線径路の通過を許さないセルを詳細配線径路と交わ
らない位置に変更する。
【0020】
【実施例】
第1実施例 図1は、本発明の第1実施例によるクロック信号の分配
処理手順を示すフローチャートである。本発明の分配処
理は、スペックデータの入力(ステップ1)、ツリー分
岐点の仮決定(ステップ2からステップ5)、エンジニ
アリングチェンジ(ステップ6,7)、実配線径路の決
定(ステップ8からステップ11)の4つに大きく分け
られる。なお、当処理は、セルの配置位置が決定した後
で、かつ一般信号の配線径路を決定する前に行われるも
のとする。以下、図1に従ってこの発明の配線処理を説
明する。
【0021】まず、ステップ1において、スペックデー
タの入力を行う。このスペックデータとは、ルートドラ
イバーに入力されるクロック信号名、バッファセルの挿
入段数、使用バッファセルの種類、ディレイとスキュー
の目標値のことを指す。
【0022】次のステップ2では、指定されたクロック
信号毎に、駆動されるフリップフロップ等のセル(以
下、末端セル)のクラスタ化を行う。クラスタ生成にあ
たっては、末端セルの存在する領域を格子状に分割し、
その格子内に配置されている末端セル同士を同一クラス
タに所属するように初期設定し、次いで、クラスタ内の
予想配線長から算出する配線容量と末端セルの入力負荷
容量との容量和が均一となるように、隣接クラスタ間で
所属している末端セルの移動交換を行う。格子の大きさ
は、クラスタ内の負荷容量が、駆動するバッファセルの
駆動能力の範囲内にあり、かつ配線抵抗によるディレイ
効果があまり大きくない範囲内であることを基準に設定
する。
【0023】ステップ3では、クラスタをリーフノード
とした親子関係だけが示された全体バイナリツリーの形
成を行う。すなわち、ツリーの各ノード毎にリーフノー
ドを2分割する処理を、ルートノード(ルートドライバ
ーセル)からはじめてその子ノードに対して再帰的に繰
り返す。2分割の際には、それぞれのリーフノード個数
の差が高々1個以内となるようにし、最終的に各リーフ
ノードにおけるルートノードからの深さ(階層)の差が
1レベル以内となるようにする。なお、バイナリツリー
の階層は、許容されるディレイに応じて予め決定されて
いる。
【0024】ステップ4では、ステップ3で決定したツ
リーにおいて、ルートノードとリーフノードを除く各ノ
ードの物理的な位置を仮決定する。このノードの位置
は、配線径路を決定する際の分岐点となるものであり、
分岐先以降のディレイ差を最小化するような位置に設定
する。なお、この時点では、リーフノードの位置はクラ
スタの中心にあると仮定する。加えて、ステップ4で
は、入力されたスペックデータに基づき、中継用バッフ
ァセルを仮決定されたツリーノードの物理的な位置に挿
入する。その際、バッファセルの挿入段ごとに、全体ツ
リー上の深さ・セル種類を同一にする。
【0025】次のステップ5の判定処理では、ステップ
2からステップ4までの処理をしていないクロック信号
が残っているかを調べ、残っていればステップ2からス
テップ4までの処理を繰り返し、残っていなければ、ス
テップ6へ進む。
【0026】ステップ6では、バッファセルの挿入によ
って変化した回路接続情報を更新する。すなわち、新規
ネットとその接続端子の追加、旧クロックネットの接続
端子の接続ネット変更をする。
【0027】ステップ7では、挿入されたバッファセル
の近傍にこのセルと重なるパターンがあれば、それを除
去するように近傍セルの位置修正を行う。このように、
バッファセルの位置を、ステップ4で決定した挿入すべ
き分岐点の位置になるべく近くなるように、詳細な配置
位置を決定する。
【0028】ステップ8では、クラスタ内の実配線径路
を、なるべく配線長が短くなるように一般信号用の配線
経路決定アルゴリズムで決定する。
【0029】ステップ9では、ツリーの分岐点の位置の
修正を行う。これは、クラスタ内の配線容量が確定した
ことを受けて、正確なディレイバランスをとるように分
岐点の位置修正をするものである。位置決定は、ステッ
プ4に準じて行う。
【0030】ステップ10では、ツリーのノード間の実
配線径路を決定する。基本的には、ツリー上の親子関係
にあるノード同士を最短径路で結ぶ。また、ここで使用
する配線層は、ディレイ最小化の観点から抵抗や容量の
小さいクロック専用層を使うのが望ましい。
【0031】ステップ11の判定処理では、実配線径路
の求まっていないクロック信号があるかどうかを調べ、
あった場合はステップ8からステップ10までの処理を
繰り返し、なかった場合は全処理を終了する。
【0032】続いて、上記ステップ4の詳細について、
図2に従って説明する。
【0033】まず、ステップ12では、挿入するバッフ
ァセルの種類と挿入レベル(全体ツリー上の深さ)を挿
入段毎に設定する。バッファセルの種類は、スペックデ
ータに指定してあるものを使用可能範囲とし、挿入レベ
ルは、リーフノードまでの深さが上限となる。また、同
一レベルには同一種類のバッファセルが挿入される。ス
テップ13では、ステップ12で設定した条件で、全体
ツリーに対してバッファセルを挿入し、階層的ツリーを
つくる。
【0034】ステップ14では、分岐点の位置の決定お
よび分岐点からリーフノードまでのディレイ計算を行
う。分岐点は、2個の子ノード毎に、それより下位レベ
ルにある配線の配線抵抗によるディレイと後段バッファ
セル以降のディレイとの和を求め、その差を当該分岐点
から子ノードまでの配線抵抗によるディレイの差によっ
て相殺するように決定する。この詳細は後で述べるが、
このような分岐点の決定を全体ツリーのリーフノードか
らルートノードに向かってボトムアップに行う。ステッ
プ15の判定処理では、現時点のルートノードからリー
フノードまでのディレイ・スキューがスペックを満足し
ているかどうか、あるいはその数値が最小かどうかとい
うことを調べ、既計算のなかで最良の結果であれば、ス
テップ16に進み、そうでなければステップ17へ進
む。
【0035】ステップ16では、現時点のツリー構造と
ディレイ値が最良データであるとしてこのデータを保存
する。もし、既に保存されているデータがあったとき
は、古いデータを削除し、新しいデータに置き換える。
【0036】ステップ17の判定処理では、まだ試行し
ていないバッファセルの種類・挿入レベルの組み合わせ
があるかどうかを調べ、あればステップ18に進み、な
ければ、ステップ12からステップ18までの一連の処
理を終了する。
【0037】ステップ18では、現時点のツリーデータ
構造上で挿入されているバッファセルのデータを削減
し、未挿入の状態を復元する。その後、異なる種類のバ
ッファセルや挿入レベルを設定するため、ステップ12
に戻る。
【0038】次に、図3に示すような、上記ステップ1
4における分岐点位置決定方法の詳細について、位置を
決定する際の前提となるディレイ計算モデルの説明の
後、まずひとつのサブツリー内での分岐点位置決定方法
を説明し、最後に全体ツリーに対する処理方法を説明す
る。
【0039】(1) ディレイ計算モデル ここでは、ひとつのサブツリーでの計算、すなわちルー
トドライバーセル(バッファセル)の入力端子から次段
バッファセルの入力端子までの間のディレイを対象とし
て説明する。説明の都合上、サブツリー上の最初の分岐
点をノード番号1とし、kが偶数の時はノード番号k/
2の分岐点に対する2つの子ノード番号をkとk+1と
し、kが奇数の時はノード番号k/2の分岐点に対する
2つの子ノード番号をkとk−1にするようにノード番
号付けがされているものとする(図4参照)。また、ル
ートドライバーセルの入力端と出力端が、それぞれ−
1、0、というノード番号であると拡張設定しておく。
【0040】このときのノード番号0からノード番号e
のリーフノードまでの、配線抵抗によるディレイt(1,
e)は、次の漸化式によって近似計算される。
【0041】 t(e,e) =0 t(k/2,e) =t(k,e) +d(k/2,k) k≧1 d(k/2,k) = w1 *rx *Lx (k/2,k) *C(k) +w1 *ry *Ly (k/2,k) *C(k) +w1 *αxy*Lx (k/2,k) *Ly (k/2,k) +w2 *αxx*Lx (k/2,k) *Lx (k/2,k) +w2 *αyy*Ly (k/2,k) *Ly (k/2,k) C(e) =Ce C(k) = C(2*k) +cx *Lx (k,2*k) +cy *Ly (k,2*k) +C(2*k+1) +cx *Lx (k,2*k+1) +cy *Ly (k,2*k+1) αxx=rx *cx αyy=ry *cy αxy=0.5*(rx *cy +ry *cx ) ここに、t(a,b) はノード番号aからノード番号bまで
の配線抵抗によるディレイ、Ce はリーフノードeの入
力端子容量、C(a) はノード番号aより下流側の配線容
量とリーフノードの入力端子容量の総和、rx ,ry
それぞれX方向・Y方向の配線の単位長さあたりの配線
抵抗値、cx ,cy はそれぞれX方向・Y方向の配線の
単位長さあたりの配線容量値、Lx (k/2,k) ,Ly (k/
2,k) は、親ノードk/2と子ノードkとの間を結ぶX
方向・Y方向の配線長である。
【0042】この式の本質的な点は、各抵抗毎にそれよ
り下流側にある負荷容量を充放電するとしたときのRC
遅延を順次加算していることであり、集中定数的に扱う
ところでは乗数w1 を、分布定数的に扱うところでは乗
数w2 を時間重みとしている。
【0043】また、配線長としては、親ノードと子ノー
ドを結ぶマンハッタン距離、すなわち最短径路であるこ
とを仮定して計算し、折れ曲がりの形状によるディレイ
の差は無視している。これは折れ曲りの形状によるディ
レイの最大と最小との差w1 *(rx *cy −ry *c
x )*Lx (k/2,k) *Ly (k/2,k)が実用上はd(k/2,k)
定義式内の他項に比べて非常に小さいためである。な
お、上式においては、ディレイの最大・最小となるパタ
ーン(図5(a),(c) のパターンに相当する)のディレイ
中央値を採用している。
【0044】さらに、ルートドライバーセルの内部ディ
レイ,オン抵抗を各々I,R0 とすると、ノード番号−
1からノード番号eのリーフノードまでの全ディレイt
(-1,e)は、次のように計算される。
【0045】 t(-1,e)=I+w1 *R0 *C(0) +t(0,e) C(0) =C(1) +cx *Lx (0,1) +cy *Ly (0,1) 以上から、ノードkからリーフノードへのディレイの最
大値TL (K)、最小値TS (k) は、 TL (K) =max(TL (2*k) +d(k,2*k) ,TL (2*k
+1) +d(k,2*k+1) ) TS (K) =min(TS (2*k) +d(k,2*k) ,TS (2*k
+1) +d(k,2*k+1) ) のように求められ、ノードkからリーフノードまでのデ
ィレイに対するスキュー S(k) は、 S(k) =TL (k) −TS (k) と表される。
【0046】ルートドライバーの入力端子(ノード番号
−1)、出力端子(ノード番号0)の地点においては、 TS (0) =TS (1) +d(0,1) +w1 *R0 *C(0) TL (0) =TL (1) +d(0,1) +w1 *R0 *C(0) TS (-1)=TS (0) +I TL (-1)=TL (0) +I S(-1)=S(0) =S(1) =TL (1) −TS (1) となる。
【0047】なお、サブツリーのリーフノードeにおけ
るTL (e) ,TS (e) は、そのリーフノードより下位に
あるサブツリー以降のディレイが設定されるものとす
る。
【0048】以上のように、ディレイ計算モデルを考え
ることができ、以下にこのモデルを用いて分岐点位置決
定方法を説明する。
【0049】(2)サブツリー内での分岐点位置決定方
法 今、ノードkより下流のノードの位置が決定済みである
として、ノードkの位置すなわち分岐点の位置を、スキ
ューが最小化できるように決定する方法について説明す
る。ただし、迂回配線による不必要なディレイ増加を避
け、かつ計算の単純化のため、2つの子ノード位置を結
ぶ直線線分上の点から選ぶこととする。さて、ノードk
でのスキューS(k) は、 σ(k) =d(k,2*k) −d(k,2*k+1) ε(k) =0.5*(TL (2*k+1) +TS (2*k+1) −TL (2*k) −TS (2*k) ) λ(k) =σ(k) −ε(k) μ(k) =0.5*(TL (2*k+1) −TS (2*k+1) +TL (2*k) −TS (2*k) ) =0.5*(S(2*k+1) +S(2*k) ) と定義したとき、 S(k) =TL (k) −TS (k) =max(S(2*k) ,TL (2*k)+d(k,2*k)-TS (2*k+1) −d(k,2*k+1) , S(2*k+1) ,TL (2*k+1)+d(k,2*k+1)-TS (2*k)-d(k,2*k) ) =max (S(2*k) ,μ(k) −ε(k) +σ(k) , S(2*k+1) ,μ(k) +ε(k) −σ(k) ) =max (S(2*k) ,S(2*k+1) ,μ(k) +|λ(k) |) と表される。
【0050】処理順序に関する前提条件から、この式の
中でノードkの分岐点の位置によって変えられるもの
は、λ(k) あるいはσ(k) であり、その他の項は既知で
ある。従って|λ(k) |を最小化することが、スキュー
を最小化することになる。
【0051】ここで、ノードkの位置がノード(2*k) と
ノード(2*k+1) をZ:(1-Z) に内分する点(0≦Z≦
1)であるとし、この2つの子ノードを結ぶ直線とX軸
との交角をθとし、2つの子ノード間の直線距離をL、
すなわちL=((Lx (k,2*k)+Lx (K,2*k+1))2 +(L
y (k,2*k)+Ly (k,2*k+1))2 1/2 とすると(図6参
照)、 Lx (k,2*k)=L*Z*|COS (θ)| Ly (k,2*k)=L*Z*|SIN (θ)| Lx (k,2*k+1)=L*(1-Z) *|COS (θ)| Ly (k,2*k+1)=L*(1-Z) *|SIN (θ)| であるから、 β1 =w1 *(rx *|COS(θ)|+ ry *|SIN(θ)|) *L*(C(2*k)+C(2 *k+1)) β2 =(w2 *αxx* COS2 (θ)+w2 *αyy*SIN 2 (θ) +w1 *αxy*|COS (θ)|*|SIN (θ)|)*2*L2 γ=C(2*k+1) /(C(2*k) +C(2*k+1) ) 0<γ<1 と定義すると、 σ(k) =d(k,2*k) −d(k,2*k+1) =w1 *rx *L*(Z *C(2*k)-(1-Z) *C(2*k+1))*|COS(θ)| +w1 *ry *L*(Z *C(2*k)-(1-Z) *C(2*k+1))*|SIN(θ)| +w1 *αxy*L2 *(2*Z −1)*|COS (θ)|*|SIN (θ)| +w2 *αxx*L2 *(2*Z −1)* COS2 (θ) +w2 *αyy*L2 *(2*Z−1)* SIN2 (θ) =w1 *L*(Z*(C(2*k) +C(2*k+1))−C(2*k+1)) *(rx *|COS (θ)|+ry *|SIN (θ)|) +L2 *2*(Z-0.5 )*(w1 *αxy*|COS(θ) |*|SIN(θ) | +w2 *αxx* COS2 (θ)+w2 *αyy* SIN2 (θ)) =β1 *(Z−γ)+β2 *(Z−0.5 ) λ(k) =(β1 +β2 )*Z−(β1 *γ+β2 *0.5 )−ε(k) を得る。
【0052】λ(k) は、Zの一次関数となっているの
で、0≦Z≦1で|λ(k) |を最小化するZ(分岐点位
置を決めるパラメータ)としては、次のように選べば良
い。
【0053】
【数1】
【0054】このとき、ノードkでのスキューは、各ケ
ースにおいて、
【0055】
【数2】
【0056】となる。
【0057】このような、Zで内分される位置kに分岐
点を決定する。
【0058】以上が、サブツリー内での分岐点位置決定
方法の詳細であるが、この方法における最大の特徴は、
スキューが非常に小さくなりうる点にある。なぜなら、
β1 ,β2 は、ツリーの深さが一段上がる毎に2倍から
4倍程度の増加をするので、リーフノード付近でのε
(k) が比較的小さければ、各ツリー深さのノードに対し
てほとんど上記(ハ)のケース、すなわちλ(k) =0と
でき、ルートノードでのスキューはリーフノード付近の
スキューと同程度とできるからである。特に、リーフノ
ードでのスキューを0にできれば、ルートノードでのス
キューも0にしうる。 (3)全体ツリーに対する処理
方法最後に、図7のようにバッファセル26が多段挿入
された階層的バイナリツリーにおける分岐点位置27の
決定方法について説明する。この処理は、図2のステッ
プ14に相当し、そのフローチャートは図3に示してあ
る。説明の都合上、この階層ツリーにおいて、ルートド
ライバーセル31が駆動するツリーの階層を第1階層と
して、信号の伝搬する方向に第2階層、第3階層と順次
数えることにし、クラスタを直接駆動しているバッファ
セル26をリーフノードとするツリーの階層を第m階層
とする。
【0059】まず、ステップ19において、処理するサ
ブツリーの階層を最下位階層、すなわち第m階層に設定
する。
【0060】ステップ20では、当該階層での複数のサ
ブツリーに対して、上述したサブツリー内の分岐点位置
決定処理を施す。このとき、サブツリーのルートとなる
バッファセルの位置は、図8のようにサブツリー上の2
つの子ノード位置をもとに決定されたディレイバランス
点27に、一旦設定する。
【0061】ステップ21の判定処理では、当該処理階
層での未処理サブツリーがあるか調べ、あればステップ
20の処理を繰り返し、なければステップ22に進む。
【0062】ステップ22の判定処理では、当該階層が
最上位階層かどうかを調べ、そうであればこれらの処理
全体から抜け出し、そうでなければステップ23に進
む。
【0063】ステップ23では、当該同一階層のサブツ
リーのなかで最大ディレイを持つものを前述したモデル
を用いて調べ、そのディレイ値をとりだす。
【0064】続くステップ24では、最大ディレイを持
つサブツリー以外のサブツリーにおいて、図9のように
ルートノードであるバッファセル35の位置をずらし、
各ツリーのディレイ値が揃うようにしむける。ずらす方
向は、ずらすノードと兄弟関係にあるノードの位置に近
づく方向にとる。
【0065】ステップ25では、処理階層をひとつ上に
繰り上げたのち、ステップ20の処理に戻り、以降の処
理を繰り返す。
【0066】この処理のうち、ステップ24の実施例を
以下に述べる。
【0067】たとえば、当該階層で最も大きなディレイ
を持つサブツリーQでのディレイ最大値・ディレイ最小
値を (Q)L (Q)S とし、処理対象サブツリーPで
のディレイ最大値・ディレイ最小値を (P)L (P)
S とし、サブツリーPと兄弟関係にあるサブツリーのル
ートノード34の位置27とサブツリーPのルートノー
ド35の位置(バッファセルの仮位置)27とを結ぶ直
線線分(図9の一点鎖線)上において、後者と前者を
Z:(1-Z) に内分する点(0≦Z≦1)を当該バッファ
セル35の新しい位置に選ぶこととし、その直線とX軸
との交角をθ、ルートノード間の直線距離をLとする
と、位置をずらしたことによるディレイ増加量δは、 δ=w1 *(rx *|COS(θ) |+ry *|SIN(θ) |)*L*Z* (P)C(0 ) +L2 *Z2 *(w1 *αxy*|COS (θ)|*|SIN (θ)| +w2 *αxx* COS2 (θ)+w2 *αyy* SIN2 (θ)) +w1 *R0 *(cx *|COS (θ)|+cy *|SIN (θ)|)*L*Z =ζ1 *Z+ζ2 *Z2 である。
【0068】さて、サブツリーPのディレイをサブツリ
ーQのディレイに揃えるには、双方のディレイの中央値
の差 τ=0.5 *((Q) L (Q) S (P) L
(P) S ) が、δと等しくなればよいので、 ζ2 *Z2 +ζ1 *Z−τ=0 の解で正値の方、すなわち、
【0069】
【数3】
【0070】となるように、移動位置を決定すれば良
い。
【0071】ここに、 ζ1 =w1 *L*((rx *|COS (θ)|+ry *|SIN (θ)|)*(P) C(0) +(cx *|COS (θ)|+cy *|SIN (θ)|)*R0 ) ζ2 =L2 *(w1 *αxy*|COS (θ)|*|SIN (θ)| +w2 *αxx* COS2 (θ)+w2 *αyy* SIN2 (θ)) である。
【0072】このようにすると、当該階層の各サブツリ
ーのディレイ中央値が同一となり、従って、当該階層の
サブツリーでのスキュー最大値が、当該階層以下の全体
としての最大スキュー値となる。なお、この階層でのデ
ィレイの最大値・最小値は、ひとつ上位の階層のサブツ
リーでのリーフノードの初期ディレイ値として設定され
る。
【0073】以上、本発明による第1実施例を詳述した
が、クラスタ内のディレイが全クラスタで同一であれ
ば、全バイナリツリーにおいてスキューを限りなく0に
近くすることができる。また、もしクラスタ内のディレ
イにばらつきがあるとしても、第m階層のサブツリーに
おけるリーフノードの初期ディレイを計算上0として上
記の処理を行えば、クラスタ内を除く部分でのスキュー
を限りなく0に近くできるので、トータルのスキューと
しては、クラスタ内スキューの最大値近傍に抑えること
が可能である。 第2実施例 ここで、“限りなく0に近い”スキューと述べたのは、
分岐点間の実際の配線径路がどれだけ最短配線径路に近
くできるかという点と、バッファセルの最終的配置位置
がステップ24で決めた位置にどれだけ近くできるかと
いう点とに、依存することを考慮してのことである。実
際には、配線禁止領域の存在により、最初図11(a)
のように決めた分岐点も、実配線径路が図11(b)の
ように非最短径路となることで、ディレイバランスが若
干乱れることがある。また、図12(a)のように決め
たバッファセル位置も他セルとの重なり回避のため、最
終的には図12(b)のようになってしまい、ディレイ
バランスに小さな狂いを生じさせることがある。
【0074】このわずかのディレイバランスの乱れを抑
えるためには、図11(c)のように実配線径路に基づ
く分岐点の位置修正と、図12(c)のようなバッファ
セル近傍の迂回配線が有効である。
【0075】そこで、次の第2実施例においては、先述
の第1実施例にある処理フロー(図1)のうち、ステッ
プ10の処理に改良を加え、最終的なスキューを更に低
減できる方法について説明する。
【0076】この部分の処理フローを図10に示した
が、重要なところはステップ39,40の処理とステッ
プ46の処理である。以下、その詳細である。
【0077】まず、ステップ36において、処理するサ
ブツリーの階層を最下位階層に設定する。ステップ37
では、サブツリー内のノードのうち、ステップ41によ
る処理済みのマークのついていないもので、その子ノー
ド以降は処理済みとなっているノードをとりだす。
【0078】ステップ38の判定処理では、当該ノード
が当該サブツリーの最上位分岐ノードかどうかを調べ、
そうであればステップ42へとび、そうでなければステ
ップ39に進む。
【0079】ステップ39では、当該ノードと同じ親ノ
ードを持つ兄弟ノードとをとりだし、兄弟ノード間を結
線する。
【0080】ステップ40では、当該ノードの親ノード
の位置を親ノード以降のRCディレイがバランスする
点、すなわちスキューが最小となる点に移動修正する。
具体的には、子ノード間配線径路の中間点を初期値とし
て、それぞれの子ノード側のRCディレイを計算し、そ
のスキューが最小となるように子ノード間配線径路上を
2分探索して、収束点を求めればよい(図11
(c))。
【0081】ステップ41では、当該ノードとその兄弟
ノードを処理済みとしてマークをつけ、ステップ37へ
もどる。
【0082】ステップ42では、当該サブツリーを直接
駆動しているバッファセルまたはルートドライバーセル
の出力端子と、サブツリーの最上位分岐ノードとの間を
結線し、サブツリー内の配線を完成させる。
【0083】ステップ43の判定処理では、当該階層と
同じ階層のサブツリーで未処理のものがあるか調べ、あ
ればその未処理サブツリーに対してステップ37〜42
の処理を繰り返し、なければステップ44へ進む。
【0084】ステップ44の判定処理では、当該階層が
最上位階層かどうかを調べ、そうであればこれらの処理
全体から抜け出し、そうでなければステップ45へ進
む。
【0085】ステップ45では、当該階層のサブツリー
のうち最大ディレイを持つものを調べ、そのディレイ値
をとりだす。
【0086】続くステップ46では、最大ディレイを持
つサブツリーQ以外のサブツリーPにおいて、ステップ
42で結線した径路を一度ひきはがし、前記最大ディレ
イと同じディレイを持つように迂回配線径路で再配線す
る(図12(c))。詳細は後述する。
【0087】ステップ47では、処理階層をひとつ上位
に繰り上げたのち、ステップ37の処理に戻り、以降の
処理を繰り返す。
【0088】上記処理のステップ46においては、バッ
ファセルの出力端子とサブツリーPの最上位分岐ノード
とを結ぶ、配線径路に迂回点49を設定し、迂回点とバ
ッファセル出力端子間、および迂回点と最上位分岐ノー
ド間を、それぞれ最短径路で結線する。
【0089】この迂回点の求め方は、図13に示すよう
にバッファセル出力端子とサブツリーPの最上位分岐ノ
ードを2つの対角点とする長方形領域51(図中、斜線
部分)に対し、その長方形の左右にある領域イ、上下に
ある領域ロ、対角方向にある領域ハ、によってそれぞれ
次のようにする。
【0090】まず、領域イに迂回点を設定する場合であ
るが、上記長方形領域51から水平距離Δxの位置に迂
回点を置くとすると、再配線によって径路長が2*Δx
だけ水平方向に延びることになり、これによるディレイ
増加量δは、 δ= w1 *rx *2*Δx*(p) C(0) +w2 +αxx*(2*Δx)2 +w1 *R0 *Cx *2*Δx =ζ1a*Δx+ζ2a*(Δx)2 となる。よってサブツリーQとのディレイ差を最小化す
るには、δ=τの解で正値の方、すなわち、
【0091】
【数4】
【0092】とΔxを設定すればよい。
【0093】ここで、δの計算においては、延びた分の
配線線分が径路上のどこに存在するかによって生じる誤
差は、小さく無視できるとした。また、使用した記号に
ついては、今までと同じ意味で使用している。
【0094】同様にして、領域ロに迂回点を設定する場
合は、長方形領域51から垂直距離Δyの位置に置くと
すると、 δ= w1 *ry *2*Δy*(p) C(0) +w2 +αyy*(2*Δy)2 +w1 *R0 *Cy *2*Δy =ζ1b*Δy+ζ2b*(Δy)2 =τ を解いて、
【0095】
【数5】
【0096】と設定すればよい。
【0097】また、領域ハに迂回点を設定する場合は、
長方形領域51の最近接頂点から水平距離Δx、垂直距
離Δyの位置に迂回点を置くとすると、 δ= w1 *2*(rx *Δx+ry *Δy)*(p) C(0) +w1 *αxy*4*Δx*Δy +w2 *4*(αxx*(Δx)2 +αyy*(Δy)2 ) +w1 *R0 *2*(cx *Δx+cy *Δy) = ζ1a*Δx+ζ2a*(Δx)2 +ζ1b*Δy+ζ2b*(Δy)2 +ζ3 *Δx*Δy =τ を満たすようにすればよい。これを満たす点の軌跡は、
楕円の一部である。
【0098】以上をまとめると、領域イ,ロ,ハで設定
可能な迂回点の集合は、図13の実線で描いた曲線50
となり、この曲線上の任意の一点を選択して再配線すれ
ば、スキューの最小化が実現できる。このように上記の
第2実施例によれば、最終的なセル配置・実配線径路に
即したスキュー最小化が実現できる。
【0099】第3実施例 第1実施例においては、図11(a)のように、決めら
れた分岐点も実配線径路が図11(b)のように非最短
径路となることがある。これは、図11(a)のような
最短径路上に配線の通過を許さないセルがあるためであ
る。配線径路の近傍にあるセルの配置状態の一例を図1
4に示す。
【0100】図14(a)のように、最短配線径路61
が通過する部分に、セル上部に配線の通過を許さないセ
ル63〜65が存在すると、詳細配線径路は図14
(b)あるいは図11(b)に示すようにこれらのセル
を避けた折れ曲がりのある形状となり、またビア69も
発生するため、配線径路長が増大し、その結果クロック
のスキューが増大することが考えられる。これを解決す
るための方法を、第3実施例として説明する。
【0101】図1のステップ8および10において、図
14(c)に示される配線径路の近傍領域70に存在す
るセルについて、その上部を配線が通過できないセル6
3〜65が配線径路の下に存在することがないようにセ
ル配置の変更を行なう。
【0102】図14(a)におけるセル52〜67は、
この配置変更の対象となるセルである。これらのセルの
配置を変更した結果を図14(d)に示す。図14
(d)におけるセル62〜67は、それぞれ図14
(a)のそれらに対応する。このようなセルの配置の変
更により、図14(d)のような折り曲がりやビア69
の発生なしに配線径路71を決定することが可能とな
る。
【0103】
【発明の効果】以上詳細したように本発明によれば、等
ディレイとなるようにバランスをとる分岐点を各階層の
サブツリーにおいて求めることができ、階層間にまたが
るディレイの差もバッファセルの位置の調整および当該
セル近傍での迂回配線の追加によりバランスさせられ
る。このため、高精度にかつ最小にスキューを抑えたク
ロック信号を分配することができると共に、ディレイの
最小化も達成できる。また、配線径路の通過を許さない
セルの位置を変更することにより、折り曲がりやビアの
発生しない配線径路を決定することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例における全体処理手順を示
すフローチャートである。
【図2】本発明の第1実施例におけるバイナリツリー形
成の処理手順を示すフローチャートである。
【図3】本発明の第1実施例におけるツリー内の分岐点
位置決定の処理手順を示すフローチャートである。
【図4】サブツリーの構造例を示す簡略図である。
【図5】折れ曲り形状の異なる配線パターン例を示す経
路図である。
【図6】サブツリー内の分岐点位置決定方法を説明する
ための概念図である。
【図7】バッファセルが多段挿入されたツリー構造例を
示す簡略図である。
【図8】バッファセル配置位置の初期設定状態を示す配
置図である。
【図9】バッファセル配置位置の修正後の状態を示す配
置図である。
【図10】本発明の第2実施例における詳細配線径路決
定の処理手順を示すフローチャートである。
【図11】サブツリーの分岐点の位置の移動修正例を示
す図である。
【図12】バッファセル近傍の迂回配線例を示す図であ
る。
【図13】バッファセル近傍の迂回配線における迂回点
の求め方を説明するための図である。
【図14】本発明の第3実施例における処理を説明する
ための配線近傍のセル配置図である。
【図15】配線抵抗を分布定数的に扱うときの等価回路
を表す図。
【符号の説明】
26 バッファセル 27 サブツリーの分岐ノード 28 サブツリーのリーフノード 29 サブツリーの親ノード 30 サブツリーの子ノード 31 ルートドライバーセル 32 チップ領域 33 第m段のバッファセル 34 第(m−1)段で最大ディレイをもつバッファセ
ル 35 第(m−1)段で最大ディレイではないバッファ
セル 48 サブツリーの最上位分岐ノード 49 バッファセル近傍配線の迂回点 50 迂回点として選択可能な点集合 51 サブツリーの最上位分岐ノードとバッファセル出
力端子とを対角点とする長方形領域 62,66,67 配線径路近傍のセル 63〜65 配線の通過を許さないセル 61 配線径路 69 ビア 68 折れ曲がりの生じた配線 70 配線径路の近傍領域 71 折り曲がりのない詳細配線径路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 半導体基板上に置かれたルートドライバ
    ーセルから中継用バッファセルを経由して複数個の末端
    セルにクロック信号を供給する際に、当該末端セルを少
    なくとも1個以上含むクラスタを生成し前記末端セルを
    複数のグループに分け、前記ルートドライバーセルをル
    ートノードとし前記クラスタをリーフノードとするバイ
    ナリツリー状の配線径路を生成し、当該バイナリツリー
    上のクロック信号伝搬遅延時間が最小化される部位に中
    継用バッファセルを挿入したのち、バイナリツリーの下
    位分岐ノードから順に、当該分岐ノードより前記リーフ
    ノードにいたる径路のRC遅延量を計算してその差が最
    小となるように当該分岐ノードの物理的位置を設定し、
    前記中継用バッファセルの挿入に伴う回路接続情報の更
    新およびこのバッファセル近傍のセル配置情報を修正し
    てセル同士の重なりを除去し、確定した配置情報にもと
    づいて各クラスタ内の詳細な配線径路を決定し、決定さ
    れた配線径路から求まるクラスタ内の正確な遅延量にも
    とづいて各分岐ノードの位置を決定し、その分岐ノード
    間の詳細な配線径路を決定することを特徴とするクロッ
    ク信号の分配方法。
  2. 【請求項2】 前記RC遅延量の差が最小となる分岐ノ
    ードの物理的位置は、当該分岐ノードを起点とした第1
    の子ノード以降へ信号伝搬する際の遅延時間の最大値・
    最小値、同じく第2の子ノード以降へ信号伝搬する際の
    遅延時間の最大値・最小値を計算し、その中央値同士が
    等しくなる位置に決定されることを特徴とする請求項1
    記載のクロック信号の分配方法。
  3. 【請求項3】 前記中継用バッファセルの挿入部位は、
    前記バイナリツリー上の分岐ノードの位置をボトムアッ
    プに決定していく過程において、最近接する下位分岐ノ
    ード位置に初期設定され、次いで、バイナリツリー上の
    同じ階層に挿入されている中継用バッファセルのなかで
    最も大きな下流伝搬遅延時間をもつものと同じ遅延時間
    を持つ位置に修正され、かつその修正方向は、修正され
    る中継用バッファセルと兄弟関係にある中継用バッファ
    セルとの距離が縮まる方向に選択されることを特徴とす
    る請求項1記載のクロック信号の分配方法。
  4. 【請求項4】 前記詳細配線径路決定処理の際に、前記
    バイナリツリー上の分岐ノードとその兄弟ノードとの間
    を結線し、その2個の分岐ノードの親ノードの位置を当
    該配線径路上の地点であってかつ各々の子ノード以降へ
    信号伝搬する際のRC遅延量の差が最小となる地点に再
    設定し、当該処理をリーフノード側からボトムアップに
    繰り返してサブツリーの最上位分岐ノードまでの詳細配
    線径路を決定し、更に当該サブツリーと同一階層にある
    サブツリーの中で最も大きな下流側伝搬遅延時間をもつ
    ものと遅延時間の差が最小になるように当該サブツリー
    の最上位分岐ノードから中継用バッファセル出力端子ま
    での配線径路に迂回部分を含ませて配線し、当該サブツ
    リー内詳細配線径路決定を下位階層のサブツリーからボ
    トムアップに繰り返すことで全体の詳細配線径路を決定
    することを特徴とする請求項1記載のクロック信号の分
    配方法。
  5. 【請求項5】 前記詳細配線径路決定の際に、この詳細
    配線径路の通過を許さないセルを詳細配線径路と交わら
    ない位置に変更することを特徴とする請求項1記載のク
    ロック信号の分配方法。
  6. 【請求項6】 前記クラスタ内の配線径路を除いたクロ
    ック信号用配線径路に対し、その径路の一部または全部
    を配線抵抗・配線負荷容量の小さい専用配線層を用いて
    配線することを特徴とする請求項1記載のクロック信号
    の分配方法。
JP3299104A 1991-06-10 1991-11-14 データ処理装置クロック信号の分配方法 Expired - Fee Related JP2695078B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3299104A JP2695078B2 (ja) 1991-06-10 1991-11-14 データ処理装置クロック信号の分配方法
US07/896,618 US5410491A (en) 1991-06-10 1992-06-10 Method for distributing a clock signal within a semiconductor integrated circuit by minimizing clock skew
US08/417,232 US5557779A (en) 1991-06-10 1995-04-05 Method for distributing a clock signal within a semiconductor integrated circuit by minimizing clock skew

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-137851 1991-06-10
JP13785191 1991-06-10
JP3299104A JP2695078B2 (ja) 1991-06-10 1991-11-14 データ処理装置クロック信号の分配方法

Publications (2)

Publication Number Publication Date
JPH0554100A true JPH0554100A (ja) 1993-03-05
JP2695078B2 JP2695078B2 (ja) 1997-12-24

Family

ID=26471029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3299104A Expired - Fee Related JP2695078B2 (ja) 1991-06-10 1991-11-14 データ処理装置クロック信号の分配方法

Country Status (2)

Country Link
US (2) US5410491A (ja)
JP (1) JP2695078B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801960A (en) * 1994-05-27 1998-09-01 Kabushiki Kaisha Toshiba Layout method of wiring pattern for semiconductor integrated circuit
US6053950A (en) * 1997-02-13 2000-04-25 Nec Corporation Layout method for a clock tree in a semiconductor device
US6223328B1 (en) 1996-12-03 2001-04-24 Fujitsu, Limited Wire processing method, wire processing equipment, and recording medium for wire processing program used in designing a large scale integrated circuit
US6230300B1 (en) 1997-04-25 2001-05-08 Kabushiki Kaisha Toshiba Method and apparatus for the optimization of a tree depth for clock distribution in semiconductor integrated circuits
US6532583B1 (en) 1998-06-16 2003-03-11 Fujitsu Limited Global routing determination method and storage medium
JP2003521044A (ja) * 2000-01-18 2003-07-08 ケイデンス・デザイン・システムズ・インコーポレーテッド H形木構造クロックレイアウトのシステムと方法
US6651224B1 (en) 1998-01-26 2003-11-18 Fujitsu Limited Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
US6725389B1 (en) * 2000-12-11 2004-04-20 Lsi Logic Corporation Method for minimizing clock skew by relocating a clock buffer until clock skew is within a tolerable limit
US7746138B2 (en) 2007-03-07 2010-06-29 Sanyo Electric Co., Ltd. Semiconductor integrated circuit with flip-flop circuits mounted thereon
CN111950215A (zh) * 2020-07-21 2020-11-17 中国科学院计算技术研究所 生成面向超导rsfq电路的多扇出时钟信号的方法

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法
US6090150A (en) * 1991-12-28 2000-07-18 Nec Corporation Method of designing clock wiring and apparatus for implementing the same
JPH0721229A (ja) * 1993-06-24 1995-01-24 Fujitsu Ltd 分配系付加回路自動発生処理方式
JP3112784B2 (ja) * 1993-09-24 2000-11-27 日本電気株式会社 クロック信号分配回路
JP3202845B2 (ja) * 1993-09-27 2001-08-27 富士通株式会社 電子回路設計データ管理システム
JP2540762B2 (ja) * 1993-11-10 1996-10-09 日本電気株式会社 クロック信号供給方法
JP3299842B2 (ja) * 1994-05-19 2002-07-08 富士通株式会社 半導体集積回路の配置配線方法および装置
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
JP3504739B2 (ja) * 1994-09-09 2004-03-08 富士通株式会社 階層レイアウト設計を用いたクロック配線設計方法
US5638291A (en) * 1994-10-14 1997-06-10 Vlsi Technology, Inc. Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
JP2677256B2 (ja) * 1995-06-26 1997-11-17 日本電気株式会社 遅延最適化方法
JPH0962716A (ja) * 1995-08-18 1997-03-07 Sony Corp 回路設計方法及び回路設計装置
JP3001403B2 (ja) * 1995-09-29 2000-01-24 日本電気株式会社 論理回路のレイアウト方法
US5740067A (en) * 1995-10-19 1998-04-14 International Business Machines Corporation Method for clock skew cost calculation
KR0182006B1 (ko) * 1995-11-10 1999-04-15 김광호 반도체 패키지 장치 및 몰딩물질에 의해 발생하는 기생용량의 산출방법
JP3498462B2 (ja) * 1995-12-22 2004-02-16 ヤマハ株式会社 集積回路のクロック配線設計法
JPH09246391A (ja) * 1996-03-06 1997-09-19 Sharp Corp 配線設計方法および配線設計装置
US5849610A (en) * 1996-03-26 1998-12-15 Intel Corporation Method for constructing a planar equal path length clock tree
US5790841A (en) 1996-04-15 1998-08-04 Advanced Micro Devices, Inc. Method for placement of clock buffers in a clock distribution system
JP2882359B2 (ja) * 1996-04-27 1999-04-12 日本電気株式会社 レイアウト設計装置
US6539509B1 (en) 1996-05-22 2003-03-25 Lsi Logic Corporation Clock skew insensitive scan chain reordering
US5799170A (en) * 1996-06-18 1998-08-25 International Business Machines Corporation Simplified buffer manipulation using standard repowering function
JP2877083B2 (ja) * 1996-06-27 1999-03-31 日本電気株式会社 回路設計の最適化装置
US5911063A (en) * 1996-07-10 1999-06-08 International Business Machines Corporation Method and apparatus for single phase clock distribution with minimal clock skew
US5963728A (en) * 1996-08-14 1999-10-05 International Business Machines Corporation Method to partition clock sinks into nets
JP3469006B2 (ja) * 1996-09-30 2003-11-25 株式会社東芝 半導体集積回路及びその設計方法
US5943243A (en) * 1996-10-28 1999-08-24 International Business Machines Corporation Method and system for removing hardware design overlap
US6006025A (en) * 1996-12-03 1999-12-21 International Business Machines Corporation Method of clock routing for semiconductor chips
JPH10189746A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd Lsi論理回路の配線レイアウト方法
US5912820A (en) * 1997-01-22 1999-06-15 Unisys Corporation Method and apparatus for distributing a clock tree within a hierarchical circuit design
US6260175B1 (en) * 1997-03-07 2001-07-10 Lsi Logic Corporation Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees
US5966522A (en) * 1997-03-28 1999-10-12 International Business Machines Corporation Multi-phase clock distribution method and system for complex integrated-circuit devices
US6110221A (en) * 1997-06-23 2000-08-29 Sun Microsystems, Inc. Repeater blocks adjacent clusters of circuits
US5995735A (en) * 1997-06-23 1999-11-30 Sun Microsystems, Inc. Directional repeater physical assignment and connection for high-performance microprocessors
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US6202194B1 (en) * 1997-12-11 2001-03-13 Intrinsity, Inc. Method and apparatus for routing 1 of N signals
JPH11317457A (ja) * 1998-05-07 1999-11-16 Oki Electric Ind Co Ltd 集積回路とその配置配線設計方法
US6658634B1 (en) * 1998-05-07 2003-12-02 International Business Machines Corporation Logic power optimization algorithm
US6305001B1 (en) * 1998-06-18 2001-10-16 Lsi Logic Corporation Clock distribution network planning and method therefor
US6262487B1 (en) * 1998-06-23 2001-07-17 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device, semiconductor integrated circuit wiring method, and cell arranging method
US6223334B1 (en) * 1998-10-01 2001-04-24 Mentor Graphics Corporation Automatic topology synthesis and optimization
JP3662149B2 (ja) * 1998-10-08 2005-06-22 株式会社東芝 リピータ・セルの配置方法、その配置装置、および記録媒体
US6256766B1 (en) * 1998-11-03 2001-07-03 Lucent Technologies, Inc. Method and apparatus for reducing clock skew
US6347394B1 (en) * 1998-11-04 2002-02-12 Micron Technology, Inc. Buffering circuit embedded in an integrated circuit device module used for buffering clocks and other input signals
US6311313B1 (en) * 1998-12-29 2001-10-30 International Business Machines Corporation X-Y grid tree clock distribution network with tunable tree and grid networks
US6412101B1 (en) * 1999-06-08 2002-06-25 Hewlett-Packard Company Simultaneous path optimization (SPO) system and method
US6367060B1 (en) * 1999-06-18 2002-04-02 C. K. Cheng Method and apparatus for clock tree solution synthesis based on design constraints
US6389581B1 (en) * 1999-07-16 2002-05-14 Silicone Graphics Inc. Optimizing repeaters positioning along interconnects
JP2001117967A (ja) * 1999-10-22 2001-04-27 Nec Corp クロック分配設計方法、及び、木構造のバッファ回路
US6434731B1 (en) 1999-10-26 2002-08-13 International Business Machines Corporation Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits
US7036104B1 (en) 1999-12-06 2006-04-25 International Business Machines Corporation Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes
US6351840B1 (en) * 1999-12-09 2002-02-26 Silicon Perspective Corporation Method for balancing a clock tree
US6901562B2 (en) 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
JP3317948B2 (ja) * 2000-01-20 2002-08-26 エヌイーシーマイクロシステム株式会社 半導体集積回路のレイアウト設計方法及び半導体集積回路
US20020066088A1 (en) * 2000-07-03 2002-05-30 Cadence Design Systems, Inc. System and method for software code optimization
JP4887552B2 (ja) * 2000-07-04 2012-02-29 富士通セミコンダクター株式会社 Lsiチップのレイアウト設計方法
US6560752B1 (en) * 2000-07-06 2003-05-06 International Business Machines Corporation Apparatus and method for buffer library selection for use in buffer insertion
US6684373B1 (en) * 2000-07-20 2004-01-27 Silicon Graphics, Inc. Optimize global net timing with repeater buffers
US6573757B1 (en) 2000-09-11 2003-06-03 Cypress Semiconductor Corp. Signal line matching technique for ICS/PCBS
US6550048B1 (en) * 2000-11-15 2003-04-15 Silicon Graphics, Inc. Method and system for determining repeater allocation regions
US6609228B1 (en) * 2000-11-15 2003-08-19 International Business Machines Corporation Latch clustering for power optimization
US7174475B2 (en) * 2001-02-16 2007-02-06 Agere Systems Inc. Method and apparatus for distributing a self-synchronized clock to nodes on a chip
US6594807B1 (en) * 2001-03-06 2003-07-15 Lsi Logic Corporation Method for minimizing clock skew for an integrated circuit
JP5193406B2 (ja) * 2001-06-13 2013-05-08 富士通セミコンダクター株式会社 クロック分配回路の設計方法,設計装置および設計プログラム並びに同プログラムを記録したコンピュータ読取可能な記録媒体
US6522186B2 (en) * 2001-06-27 2003-02-18 Intel Corporation Hierarchical clock grid for on-die salphasic clocking
US6909127B2 (en) * 2001-06-27 2005-06-21 Intel Corporation Low loss interconnect structure for use in microelectronic circuits
JP4118536B2 (ja) * 2001-07-03 2008-07-16 株式会社東芝 クロック遅延設定方法
CN100378734C (zh) * 2001-08-29 2008-04-02 英芬能技术公司 集成电路芯片设计
US6647540B2 (en) 2001-11-08 2003-11-11 Telefonaktiebolaget Lm Ericsson(Publ) Method for reducing EMI and IR-drop in digital synchronous circuits
US6782519B2 (en) * 2001-12-18 2004-08-24 Cadence Design Systems, Inc. Clock tree synthesis for mixed domain clocks
US6721931B2 (en) * 2002-02-05 2004-04-13 Agilent Technologies, Inc. System and method for simplifying clock construction and analysis
JP4118578B2 (ja) * 2002-03-14 2008-07-16 富士通株式会社 半導体集積回路の設計方法および設計プログラム
US6769104B2 (en) * 2002-05-08 2004-07-27 Agilent Technologies, Inc. Method and apparatus for minimizing clock skew in a balanced tree when interfacing to an unbalanced load
US6703884B2 (en) * 2002-05-30 2004-03-09 Texas Instruments Incorporated System and method for distributing a reference clock in an integrated circuit using filtered power supply line
US20040025131A1 (en) * 2002-08-05 2004-02-05 Sun Microsystems, Inc., A Delware Corporation Method and apparatus for placing repeater banks in integrated circuit design
US6687889B1 (en) * 2002-08-08 2004-02-03 Agilent Technologies, Inc. Method and apparatus for hierarchical clock tree analysis
US6941533B2 (en) * 2002-10-21 2005-09-06 Lsi Logic Corporation Clock tree synthesis with skew for memory devices
JP2004253772A (ja) * 2003-01-31 2004-09-09 Matsushita Electric Ind Co Ltd 半導体集積回路装置
US6886146B2 (en) * 2003-02-14 2005-04-26 Faraday Technology Corp. Method of bypassing a plurality of clock trees in EDA tools
US6910196B2 (en) * 2003-05-08 2005-06-21 Intel Corporation Clocked and non-clocked repeater insertion in a circuit design
US7810061B2 (en) * 2004-09-17 2010-10-05 Cadence Design Systems, Inc. Method and system for creating a useful skew for an electronic circuit
US7299426B2 (en) 2005-05-26 2007-11-20 International Business Machines Corporation System and method to improve chip yield, reliability and performance
CN101473587A (zh) * 2006-06-16 2009-07-01 松下电器产业株式会社 数据发送装置和数据发送方法
US7546567B2 (en) * 2007-01-10 2009-06-09 Synopsys, Inc. Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip
JP4963969B2 (ja) * 2007-01-10 2012-06-27 ルネサスエレクトロニクス株式会社 配線基板
US7973565B2 (en) * 2007-05-23 2011-07-05 Cyclos Semiconductor, Inc. Resonant clock and interconnect architecture for digital devices with multiple clock networks
JP4355348B2 (ja) * 2007-07-10 2009-10-28 パナソニック株式会社 クロック供給回路及びその設計方法
WO2009078003A1 (en) * 2007-12-19 2009-06-25 Microsoft International Holdings B.V. An image sensor and a configuration for improved skew time
US8225262B1 (en) * 2009-03-18 2012-07-17 Xilinx, Inc. Method of and system for placing clock circuits in an integrated circuit
JP2013507887A (ja) * 2009-10-12 2013-03-04 サイクロス セミコンダクター, インコーポレイテッド 共振クロック分配ネットワークの周波数スケール調整された作動のためのアーキテクチャ
CN110147139B (zh) * 2018-02-12 2022-10-18 创意电子股份有限公司 计算机执行方法、时脉数据处理系统以及计算机可读取储存媒体
US10929589B1 (en) * 2020-03-19 2021-02-23 Cadence Design Systems, Inc. Generating routing structure for clock network based on edge intersection detection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6182455A (ja) * 1984-09-29 1986-04-26 Toshiba Corp 半導体集積回路装置
JPS63107316A (ja) * 1986-10-24 1988-05-12 Nec Corp ゲ−トアレ−のクロツク分配構造
US4815003A (en) * 1987-06-19 1989-03-21 General Electric Company Structured design method for high density standard cell and macrocell layout of VLSI chips
JP2842572B2 (ja) * 1987-12-14 1999-01-06 株式会社日立製作所 半導体集積回路装置
US5077676A (en) * 1990-03-30 1991-12-31 International Business Machines Corporation Reducing clock skew in large-scale integrated circuits
US5218551A (en) * 1990-04-30 1993-06-08 International Business Machines Corporation Timing driven placement
US5262959A (en) * 1990-12-07 1993-11-16 Hewlett-Packard Co. Representation and processing of hierarchical block designs
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801960A (en) * 1994-05-27 1998-09-01 Kabushiki Kaisha Toshiba Layout method of wiring pattern for semiconductor integrated circuit
US6223328B1 (en) 1996-12-03 2001-04-24 Fujitsu, Limited Wire processing method, wire processing equipment, and recording medium for wire processing program used in designing a large scale integrated circuit
US6053950A (en) * 1997-02-13 2000-04-25 Nec Corporation Layout method for a clock tree in a semiconductor device
US6230300B1 (en) 1997-04-25 2001-05-08 Kabushiki Kaisha Toshiba Method and apparatus for the optimization of a tree depth for clock distribution in semiconductor integrated circuits
US6651224B1 (en) 1998-01-26 2003-11-18 Fujitsu Limited Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
WO2004102657A1 (ja) * 1998-01-26 2004-11-25 Masahiro Sano 回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体
US7032198B2 (en) 1998-01-26 2006-04-18 Fujitsu Limited Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
US6532583B1 (en) 1998-06-16 2003-03-11 Fujitsu Limited Global routing determination method and storage medium
JP2003521044A (ja) * 2000-01-18 2003-07-08 ケイデンス・デザイン・システムズ・インコーポレーテッド H形木構造クロックレイアウトのシステムと方法
JP4676123B2 (ja) * 2000-01-18 2011-04-27 ケイデンス・デザイン・システムズ・インコーポレーテッド H形木構造クロックレイアウトのシステムと方法
US6725389B1 (en) * 2000-12-11 2004-04-20 Lsi Logic Corporation Method for minimizing clock skew by relocating a clock buffer until clock skew is within a tolerable limit
US7746138B2 (en) 2007-03-07 2010-06-29 Sanyo Electric Co., Ltd. Semiconductor integrated circuit with flip-flop circuits mounted thereon
CN111950215A (zh) * 2020-07-21 2020-11-17 中国科学院计算技术研究所 生成面向超导rsfq电路的多扇出时钟信号的方法
CN111950215B (zh) * 2020-07-21 2023-04-28 中国科学院计算技术研究所 生成面向超导rsfq电路的多扇出时钟信号的方法

Also Published As

Publication number Publication date
US5557779A (en) 1996-09-17
US5410491A (en) 1995-04-25
JP2695078B2 (ja) 1997-12-24

Similar Documents

Publication Publication Date Title
JP2695078B2 (ja) データ処理装置クロック信号の分配方法
US5798936A (en) Congestion-driven placement method and computer-implemented integrated-circuit design tool
US6209123B1 (en) Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors
US7809971B2 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
US6006024A (en) Method of routing an integrated circuit
US5717229A (en) Method and apparatus for routing a clock tree in an integrated circuit package
JP2540762B2 (ja) クロック信号供給方法
JP2724317B2 (ja) 階層的フロアープラニング方法及びそのシステム
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US6385761B1 (en) Flexible width cell layout architecture
Cong et al. An enhanced multilevel routing system
US5849610A (en) Method for constructing a planar equal path length clock tree
US5835378A (en) Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip
CN112183000B (zh) 一种支持互连约束的超图划分方法
Chang et al. MR: A new framework for multilevel full-chip routing
US6327696B1 (en) Method and apparatus for zero skew routing from a fixed H trunk
Cho et al. A buffer distribution algorithm for high-speed clock routing
JPH11204648A (ja) 配線経路決定方法および遅延推定方法
Hall et al. Clock distribution using cooperative ring oscillators
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
JP3251686B2 (ja) 集積回路の自動配線方法
US6477693B1 (en) Method for manufacturing and designing a wiring of a channel of an electronic device and electronic apparatus
Chen et al. A novel framework for multilevel full-chip gridless routing
US9213794B2 (en) System and method for routing buffered interconnects in an integrated circuit

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees