JP2540762B2 - クロック信号供給方法 - Google Patents

クロック信号供給方法

Info

Publication number
JP2540762B2
JP2540762B2 JP5280996A JP28099693A JP2540762B2 JP 2540762 B2 JP2540762 B2 JP 2540762B2 JP 5280996 A JP5280996 A JP 5280996A JP 28099693 A JP28099693 A JP 28099693A JP 2540762 B2 JP2540762 B2 JP 2540762B2
Authority
JP
Japan
Prior art keywords
clock
buffer
stage
wiring
connection
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
JP5280996A
Other languages
English (en)
Other versions
JPH07134626A (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
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5280996A priority Critical patent/JP2540762B2/ja
Priority to US08/338,774 priority patent/US5519351A/en
Publication of JPH07134626A publication Critical patent/JPH07134626A/ja
Application granted granted Critical
Publication of JP2540762B2 publication Critical patent/JP2540762B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • 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/396Clock trees
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/15026Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with asynchronously driven series connected output stages

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はクロック信号供給方法に
関し、特にクロック木合成方法を含むクロック信号供給
方法に関する。
【0002】
【従来の技術】集積回路動作の高速化により集積回路内
の構成要素間の動作のタイミングマージンが厳しくなっ
ている。これに対処する方法として、回路内の各機能ブ
ロックのタイミング調整のためにクロック信号を導入
し、各機能ブロックがほぼ同時の動作するようにした、
いわゆる同期式集積回路が主流となっている。
【0003】しかしながら、集積回路の大規模化、パタ
ーン加工の微細化および半導体集積回路のチップ面積の
増大によって、クロック信号供給のための配線の抵抗の
増大および配線容量の対クロック入力ノード容量の相対
的増大が顕著となり、配線遅延が増大している。このた
め、配線の違い、ファンアウト数の違いによってクロッ
ク配線遅延の機能ブロック間ばらつきが増大し、クロッ
ク周波数の増大の阻害要因となってきた。
【0004】これを解決するため、クロック配線を特殊
な幾何学的構造または論理的構造に特化することによっ
て配線遅延のばらつきを減少させる技術が提案されてい
る。
【0005】第1の方法は、まず、配線遅延の極めて小
さい基幹配線に半導体集積回路のチップの中央を縦断さ
せ、そこから側鎖を何本も横に通す、魚の背骨のような
クロック信号配線を通す方法である。これはクロック遅
延をできるだけ減少させようという思想に基づいてお
り、また、事実、基幹配線の各部まではそうなっている
が、側鎖は細くせざるを得ず、また、十分な効果を出す
ためには基幹配線を相当太いものにせざるを得ず、半導
体集積回路のチップ面積の増大を招くため、今後の超高
集積化、高周波化には対応できない。
【0006】したがって、これを解決するための第2の
方法として、クロックのある程度の遅延はある程度さけ
られないが、ただし、各機能ブロックへのクロック信号
の遅延時間のばらつき(クロックスキュー)をなるべく
小さく抑えることを特徴とするクロック木合成法あるい
はクロック木構成法が提案され開示されている。
【0007】これには、幾何学的なものと、のちに提案
された論理的なものがある。前者は、特開平2−939
17号公報、特開平2−134919号公報および特開
平2−62675号公報などに開示され、また、後者
は、NEC技法第45巻第8号第16頁〜20頁(平成
4年9月25日発行)に掲載された論文などに開示され
ている。
【0008】前者は、例えば、ファンアウトが2の場
合、図3に示すようにバッファ位置32において配線3
3および34を今までの配線方向31に垂直な2方向に
まず分岐させ、つづいて一定距離だけ配線を走らせた
後、バッファ35および36で終端し、そのバッファ3
5および36の出力をまた同様に今までの配線方向33
および34に直角な2方向38および39に分岐させ、
先程より一定の分率だけ短い距離だけ配線を走らせた
後、またバッファ37を挿入し2分岐させるというよう
な分岐法を繰り返すことにより、フラクタル図形のよう
な自己相似形に近い幾何学的な配置をなすものに代表さ
れるように、半導体チップの全領域に均一の密度で同一
の駆動能力のあるクロックドライバをあらかじめ配置し
ておくには良い方法である。
【0009】従って、定型回路に適用することは可能で
あるが、一般の論理回路の場合、駆動される側の、機能
ブロックが必ずしも用意されたクロックドライバの近く
に配置されるとは限らない点、無理にフリップフロップ
(以下FFと略記する)を規則的に配置すると組合せ論
理回路部分の配置が適正に行われなくなり、使われない
クロックドライバが多数存在する可能性があるために、
クロックスキューの増大および半導体チップの面積の増
大を招くという欠点がある。
【0010】また、改良された前者のものの中には、完
全にクロックバッファ位置を空間的に固定するのではな
くある時間制約の許容範囲内で範囲位置に自由度を持た
せたものも従来技術として存在するが、クロック木の構
成としてはクロック系でない回路部分とは独立に構成し
ており、最終段のクロック供給バッファの選択の段階で
FFとバッファとの角度的な相対位置関係を用いてどの
クロックバッファからクロックを供給するかを決定して
いるに留まっている。
【0011】従って、ファンアウト数はクロックバッフ
ァによってまちまちでありクロックスキュー減少には限
界があり、また回路構成によっては、特にFFの分布が
不均一な場合にはやはり使われないあるいはファンアウ
ト数がたった1であるようなクロックバッファが存在
し、クロックスキューは小さくできない。
【0012】一方、後者は、図4の結線図で示すように
一本のクロック信号線41がバッファ42によって何段
階かに分けて同じ役割をする複数の信号配線43に分岐
され、分岐の末端で各機能ブロック(44〜47)に結
線される。前者でも結線図に描けば図3に示すように同
様の結線図(但し、各分岐点での分岐数はどの段階でも
また同じ段階内においても同一とは限らない)になる
が、前者が空間的にもあらかじめ決められた構造を実際
のクロック系以外の回路部分とは独立に設定してしまう
のに対し、後者の場合は、クロック木はあくまでも論理
的な結線であり、具体的なレイアウトは実際のクロック
系以外の論理回路部の配置によって決定されるために、
幾何学的ではない。
【0013】しかし、そのために論理的には各段におけ
るファンアウト数が完全に一致するようにできる点が異
なる。また、これを実現するための結線方法が、以下の
説明で示すように、結線をクロック信号の下流から上流
に向かって決定していく点でも異なる。
【0014】まず、最終段にファンアウト数(n1 とす
る)を決めておき、近くに位置する機能ブロックをn1
個ずつグルーピングする。そして、各グループに対して
中央(いろいろな定義が有り得る)の位置を決定し、そ
の位置をクロックバッファを配置する位置と定める。も
し、その位置をすでに他の回路要素が占めていた場合は
その回路要素を近くの配置可能な位置に移動し、クロッ
クバッファを配置すべき位置を空ける。この位置にクロ
ックバッファを配置し、クロックバッファとこのグルー
プ内のすべての機能ブロックのクロック入力ノードを結
線する。このクロックバッファの挿入・配線を各グルー
プに対して同様に行い、第一段目のクロックバッファの
配置配線を完了する。
【0015】次に、今配置した第一段目のクロックバッ
ファのクロック入力ノードを、第一段目のクロックバッ
ファを配置配線した際の機能ブロックのクロック入力ノ
ードを、第一段目のクロックバッファを配置配線した際
の機能ブロックのクロック入力のように見立てて、第二
段目用のファンアウト数(n2 とする。n1 と異なって
もよい)を決めておき、同様に近くに位置するn2 個の
第一段のクロックバッファ同士をグルーピングし、同様
に中央位置にクロックバッファを挿入して結線し第二段
目のクロックバッファの配置配線を行う。
【0016】以下、これを繰り返し、最終的には一個の
バッファ挿入となる段数だけ繰り返し、クロック木を完
成する。このようにすることによって各クロックバッフ
ァ段におけるファンアウトをバランスさせることがで
き、ファンアウトばらつきによるクロックスキューの増
大を抑えることができる。
【0017】
【発明が解決しようとする課題】しかしながら、この従
来のクロック木合成方法はファンアウトばらつきによる
クロックスキュー増大の問題を解決するには有効であっ
たが、配線長は回路によっては当然ばらつく可能性のあ
る方法であった。半導体集積回路装置の製造プロセスの
微細化があまり進んでおらず、集積度があまり高くな
い、従って、配線長による負荷ばらつきよりファンアウ
トによる負荷ばらつきの方が顕著であった時代において
はこれでも実用上は十分であった。
【0018】また、半導体集積回路装置の製造プロセス
の微細化が進んできて集積度が上がり配線負荷の比重が
増してきても、集積回路の設計思想が半導体集積回路の
チップ全体にわたって同一で、従って機能ブロックのク
ロック入力ノードの分布が半導体チップ内でだいたい均
一である場合は結果的に配線長が各機能ブロックに対し
て自動的に大体そろっていたためにしばらくはこれでも
実用上問題がなかった。
【0019】しかし、ULSI時代を迎え、半導体チッ
プの規模が大規模化し、設計を複数の設計者で分担した
り、異なる設計思想または異なる設計基準で設計された
大規模機能ブロックを同一半導体チップ内に複合するよ
うな設計方法を採用するようになると、同一半導体チッ
プ内で機能ブロックのクロック入力ノードの分布の不均
一さが顕著となり配線長が自動的に大体そろうことが期
待できなくなってきた。
【0020】したがって、本発明の目的は、このように
機能ブロックのクロック入力ノードの分布が半導体チッ
プ内で不均一な場合でも、従来のクロック木合成方法と
同様に簡便な手法によって配線長ばらつきを自動的に抑
制できるクロック木合成方法を含むクロック信号供給方
法を提供することにある。
【0021】
【課題を解決するための手段】本発明のクロック信号供
給方法は、同期式集積回路に外部より供給されるまたは
前記集積回路内で発生されたクロック信号をあらかじめ
定められた上限の個数以内の所定のファンアウト数を有
する出力信号に分割しこれら出力信号のそれぞれに配線
パターンの一端を結線しこれら配線パターンの他端にバ
ッファ入力ノードを結線し前記バッファの出力ノードを
あらかじめ定められた上限の個数以内の所定のファンア
ウト数を有する出力ノードに分割する工程を有限回繰り
返すことによって前記集積回路内の前記クロック信号を
供給すべきすべての機能ブロックのクロック入力ノード
に前記クロック信号を供給する際に前記バッファの配置
および前記配線の接続のそれぞれを前記機能ブロックの
配置情報を用いて自動的に構成するクロック木合成方法
を含むクロック信号供給方法において、前記集積回路内
のすべての前記機能ブロックの全ての前記クロック入力
ノードを各々の類ごとに別種のノードと看做した場合前
記集積回路内でその類が存在すると看做された領域にお
ける密度分布があらかじめ定められた許容範囲に照らし
て均一でかつすべての類にわたって同一であると看做せ
るような分類方法に基づいて有限個の類に分類する工程
と、同一の類に属する前記クロック入力ノードのみの間
で実際の配置に近さをグルーピングの判断基準としあら
かじめ定められた上限の個数以内の前記所定数の要素よ
りなるグループに分割し前記各グループ内のすべての前
記クロック入力ノードの中心の位置に1つのバッファを
挿入し前記バッファの出力ノードを前記グループ内のす
べての前記クロック入力ノードと放射状に結線・接続し
て前記バッファ挿入および放射状結線・接続を前記類内
のすべてのグループに関して行い前記同一類内の全ての
グループにわたる前記バッファ挿入および放射状結線・
接続を前記のすべての類に関して行うことによって第一
段のすべてのバッファ挿入・接続を行う工程と、前記第
一段のバッファの全ての入力ノードを前記機能ブロック
のクロック入力ノードと見立て前記第一段のすべてのバ
ッファ挿入・接続と同一の方法のバッファ挿入・接続を
前記第一段のすべてのバッファに関して行うことによっ
て第二段のすべてのバッファ挿入・接続を行う工程とを
すべてのバッファ挿入・接続をその段階における挿入バ
ッファの数が1個になるまで繰り返すことによって、前
記クロック木をクロック信号の流れと逆方向に構成しつ
つ配置配線するまたは構成したのちに配置配線する方法
である。
【0022】また、本発明の他のクロック信号供給方法
は、多相クロック同期式集積回路に外部より供給される
または前記集積回路内で発生された各々の相のクロック
信号をあらかじめ定められた上限の個数以内の所定のフ
ァンアウト数を有する出力信号に分割しこれら出力信号
のそれぞれに配線パターンの一端を結線しこれら配線パ
ターンの他端にバッファ入力ノードを結線し前記バッフ
ァの出力ノードをあらかじめ定められた上限の個数以内
の所定のファンアウト数を有する出力ノードに分割する
工程を有限回繰り返すことによって前記集積回路内の前
記クロック信号を供給すべきすべての機能ブロックのク
ロック入力ノートに前記クロック信号を供給する際に、
前記バッファの配置および前記配線の接続のそれぞれを
前記機能ブロックの配置情報を用いて各相のクロックご
とに自動的に構成するクロック木合成方法を含むクロッ
ク信号供給方法において、前記各相のクロックに対して
前記集積回路内のすべての前記機能ブロックに全ての前
記クロック入力ノードを各々の類ごとに別種のノードと
看做した場合前記集積回路内でその類が存在すると看做
された領域における密度分布があらかじめ定められた許
容範囲に照らして均一でかつすべての類にわたって同一
であると看做せるような分類方法に基づいて有限個の類
に分類する工程と、同一の類に属する前記クロック入力
ノードのみの間で実際の配置の近さをグルーピングの判
断基準としあらかじめ定められた上限の個数以内の前記
所定数の要素よりなるグループに分割し前記各グループ
内のすべての前記クロック入力ノードの中心の位置に1
つのバッファを挿入し前記バッファの出力ノードを前記
グループ内のすべての前記クロック入力ノードと放射状
に結線・接続して前記バッファ挿入および放射状結線・
接続を前記類内のすべてのグループに関して行い前記同
一類内の全てのグループにわたる前記バッファ挿入およ
び放射状結線・接続を前記のすべての類に関して行うこ
とによって第一段のすべてのバッファ挿入・接続を行う
工程と、前記第一段のバッファの全ての入力ノードを前
記機能ブロックのクロック入力ノードと見立て前記第一
段のすべてのバッファ挿入・接続と同一の方法のバッフ
ァ挿入・接続を前記第一段のすべてのバッファに関して
行うことによって第二段のすべてのバッファ挿入・接続
を行う工程とをすべてのバッファ挿入・接続をその段階
における挿入バッファの数が1個になるまで繰り返すこ
とによって、前記クロック木をクロック信号の流れと逆
方向に構成しつつ配置配線するまたは構成したのちに配
置配線する方法である。
【0023】
【作用】次に、本発明のクロック木合成方法を含むクロ
ック信号供給方法により、クロック信号配線の配線長ば
らつきを抑制できる原理について説明する。
【0024】従来のクロック木合成方法の欠点は、機能
ブロックのクロック入力ノードの半導体チップ内分布が
不均一である場合に配線長ばらつきを生じることであっ
た。
【0025】本発明では、機能ブロックのクロック入力
ノードおよび各々の段階でのクロックバッファのクロッ
ク入力ノードをあるアルゴリズムの分類方法に基づいて
幾つかの類に分類し、各々の類ごとにその類が存在する
領域で分布を見た場合にその分布が均一であり、またそ
の分布の均一な密度がすべての類にわたって同一である
と看做せるようにする。
【0026】さらに、ある1つの類に属するクロック入
力ノードのみに注目すればその分布は均一であるから従
来のクロック木合成法におけるバッファ挿入と同様の方
法でバッファを挿入すれば自動的に配線長ばらつきが抑
制できる。
【0027】すべての類にわたってバッファ挿入が終了
したら、その段階で、挿入されたバッファをどの類のた
めに挿入されたかに係わらず1つのグループに属すると
見做せば、それらは論理上は従来のクロック木合成法に
おける一段階で挿入されたバッファ群と同様にファンア
ウトの揃った枝となっているが、従来のクロック木合成
法においてはクロック配線の長さが均一である保証がな
かったのに対して、本発明では、クロック入力ノードが
均一に分布した集積回路に従来にクロック木合成法を適
用した場合のクロック配線の配線長分布と同程度に均一
であることが保証されている点が従来と異なる。
【0028】
【実施例】次に、本発明の一実施例のクロック信号供給
方法について図面を参照して説明する。図1は本発明に
係るクロック信号供給方法のフローチャートであり、図
2は本発明の実施に係るスタンダードセルベース設計手
法による集積回路の模擬的な回路構成図である。
【0029】この実施例は、外部から1相クロックを供
給し、内部で2相クロックを生成するタイプの200K
ゲートクラスのスタンダードセルベースICに適用し、
ゲートレベルの配置が、後の修正は想定されるものの、
一応終了している段階において、クロック木合成法の適
用によるクロックバッファ挿入を行う、レイアウト設計
工程の部分を取り出している。
【0030】図1における長方形3はクロック信号を入
力すべき機能ブロックの先端部、具体的には、フリップ
フロップである。フリップフロップ3の分布は不均一で
あるとする。本発明では、この段階でフリップフロップ
を有限個の類に分類する。以下、まず、この分類方法を
示し、そののちクロック木合成方法を示す。
【0031】図1を参照すると、処理10の先頭で、半
導体チップ内でクロック配線を施す必要のない部分、即
ち、ハードマクロ搭載部分を対象から除外する。ただ
し、多層配線を採用しマクロ上配線が許される場合は配
線可能領域としては考慮内とする。
【0032】次に、クロック配給対象領域内のフリップ
フロップ数を数え上げ、M0 個とする。
【0033】次に、M1 ×M2 ×…×MN =M0 +R0
を満たし、かつ、Nが最小となるように、かつ、Nが同
一の範囲内ではR0 が最小になるように、N、M1 、M
2 、…、MN 、R0 を決定する。但し、2≦Mi ≦FO
MAX,i (1≦i≦N)、R0≧0を付帯条件とする。こ
こで、FOMAX,i は第i段目のクロックバッファの最大
許容ファンアウト数である。このアルゴリズムに従っ
て、R0 個のダミーバッファを挿入し、クロック木の段
数N、各段におけるファンアウト数Mi (1≦i≦N)
を決定する。
【0034】次に定倍係数nの初期値を決定する。本実
施例ではn=2とした。本実施例ではフリップフロップ
総数M0 =32765個、挿入したダミーバッファ数R
0 =3、クロック木の段数N=5段、各段におけるファ
ンアウト数、M1 、M2 、M8 、はすべて8である。た
だし、煩雑になるため図1ではファンアウト4の場合を
示している。
【0035】次に、処理11において、クロック配給対
象領域を、長さLを一辺とする正方形のセグメントに分
割する。ただし、長さLは(M1 /ρ0 )の平方根のn
倍に最も近い、グリッド長の整数倍の値、ρ0 はクロッ
ク配給対象領域内のフリップフロップの平均密度であ
る。
【0036】正方形に満たない端数のセグメントは隣接
する正方形をなすセグメントに包含する。もし、フリッ
プフロップが理想的に均一に分布していれば各々の正方
形をなすセグメントに含まれるフリップフロップの数は
丁度M1 ×n2 個になり、各々の正方形をなすセグメン
トごとにn2 個(=4個)の第1段のクロックバッファ
を挿入すればよい。
【0037】本実施例ではフリップフロップの分布は不
均一であるからこのようにはならない。そこで、各セグ
メント内にフリップフロップ密度を計算し、密度が0の
セグメントを除いた残りのセグメントの中でフリップフ
ロップ密度が最小のセグメントのフリップフロップ密度
をρmin とする。ρmin が(ρ0 /n2 )より小さい場
合は(n←n+1)として、上述のセグメント分割の過
程からやり直す。あるnの値に対してρmin ≧(ρ0
2 )となるので、ここでnを固定して次の過程に進
む。本実施例ではnを更新する必要はなかったので、そ
のまま次の工程(処理12)に進む。処理12では、個
々のセグメントに対して分類数pを決定する。
【0038】まず、セグメント面積和変数σS およびノ
ード和変数σN を0とする。
【0039】次に、個々のセグメントに対して、そのセ
グメントにおけるフリップフロップ数をNS 、セグメン
ト面積をSS とするとき、フリップフロップ密度ρ(=
S/SS )を基として、分類数pを、もし(ρ/ρ
min )が整数ならばp=ρ/ρmin と定め、整数でない
場合は、もし(σS ×ρ0 )>σN ならば、p=(ρ/
ρmin より大きな整数のうちの最小数、pH )と定め、
もしσS ×ρ0 <σN ならば、p=(ρ/ρmin より小
さな整数のうちの最大数、pL )と定め、σS ×ρ0
σN の場合は、もしpH と(ρ/ρmin )とpL の差が
等しくないならば、p=(pH とpL のうちでρ/ρ
min に近い方)と定め、もしこの差が等しいならば、p
=(pH とpL のうちで確率0.5ずつでランダムに選
択された一方の数)と定める。これとともに、(σS
σS +SS )、(σN ←σN +NS )とする。この処置
を全セグメントに対して施し、各セグメントごとに定ま
った分類数pのうちで最大数をpmax とし、次の過程
(処理13)に進む。
【0040】処理13では、個々のセグメントの個々の
類に対してその類に属すべきフリップフロップ数を決定
する。まず、類別セグメント面積和変数σs,i および類
別ノード和変数σN,i (1≦i≦pmax )を0とする。
【0041】次に、個々のセグメントに対して、類別フ
リップフロップ数Ns,i (1≦i≦p)をNS,1 +N
S,2 +…NS,p =NS 、Ns,i ≧1(1≦i≦p)の範
囲内で、((σs,i ×ρ0 −σN,i )の絶対値)−
((σs,i +SS )×ρ0 −(σN,i +NS,i )の絶対
値)の、1≦i≦pなるすべてのiにわたる総和が最大
になるように定める。付帯条件は、全てのの1≦i≦p
max なるσs,i の最終値がM1 の倍数となることであ
る。
【0042】これは、有限個の有界な変数に関する最適
化問題であるから解は必ず存在する。解の一意性は保証
の限りではないが整数値の範囲の解であるから解の候補
は有限個であるので、もし複数個の解の候補がある場合
は、同率の確率を付加したランダムの選択で1個の解を
求める。これとともに(σs,i ←σs,i +SS )、(σ
N,i ←σN,i )(1≦i≦p)とする。この処置を全セ
グメントに対して施す。そして処理14へ進む。
【0043】処理14においては、各セグメントのNS
個ある全フリップフロップを、前過程で定まった、i番
目の類に属すべきフリップフロップの個数、NS,i (1
≦i≦p)、に従って割り振る。本実施例ではランダム
に割り振る。
【0044】以上で、全フリップフロップの、有限個
(=Pmax 個)の類への分類が終了する。上述の分類方
法を再度説明すると、各セグメントにおける分類数pを
p≒ρ/ρmin とし、かつ、各類へのNS 個のフリップ
フロップの振り分けを大体均等にしているので、このセ
グメント内で、ある一つの類に属するフリップフロップ
の密度は大体、ρ/p、即ち、大体ρmin となってい
る。しかも、割り切れない誤差を累積的に見て最小とな
るように調整しつつ行っているので、少し大域的に見れ
ば、各類ごとの別個に見た場合のフリップフロップの密
度は、ほとんどρmin に均一に揃っている。
【0045】本発明は、フリップフロップをこのように
分類し、かつこれらのフリップフロップのM1 個ずつの
グルーピングをこのように分類された各類ごとに別個に
行うことができる。グルーピングは従来と同様に空間的
に近く、かつ同一の類に属するフリップフロップ同士を
1 個ずつ取りまとめることによって行う。フリップフ
ロップ数ははじめにR0 個のダミーバッファを挿入して
総数がM1 の倍数になるように調節してあり、かつ、類
別の際にも類内の総数がM1 の倍数になるように付帯条
件をつけてあるので、過不足なくグルーピングが可能で
ある。
【0046】図2を参照すると、FFの密度が最小の領
域1には4個のFF3がある(実際は8個の整数倍)。
これに対して、領域2には12個のFF3があり、FF
3の密度が最小の領域1の3倍であるのでFF3は第1
類に分類されたFF4と、第2類に分類されたFF5
と、第3類に分類されたFF6とに4個ずつ分類され、
これら3つの類を別々のものと見做せばFFの密度は各
類ごとにやはり4となり等価的に均一なFF分布を実現
している。
【0047】次に、処理15において、各グループのフ
リップフロップの座標の算術平均の座標位置に1個のク
ロックバッファ(第1類用にはバッファ7、第2類用に
はバッファ8、第3類用にはバッファ9、ただしこれら
は物理的には全く等価)を(もし、クロック系以外の論
理回路素子が配置されていればそれを含むグロックを若
干移動させたのち)配置し、その出力ノードをこのグル
ープ内のフリップフロップのクロック入力ノードへ別々
に配線する。
【0048】従来のクロック木合成法では、本実施例で
示したような類別を行っていないので、図5に示すよう
に、フリップフロップ密度の大きい領域にあるグループ
内の結線18は、フリップフロップ密度の小さい領域に
あるグループ内の結線17より、平均的には密度の相対
比の平方根程度の割合で短くなり、配線遅延のばらつき
が増大し、クロックスキューが増大していた。
【0049】本発明の実施例のクロック信号供給方法
は、類別することによって実質的なフリップフロップ密
度をほぼ均一化しているので配線長をほぼ均一化できる
(図2を参照)。
【0050】さらに、配線をわずかに迂回して、完全な
等長配線となるようにしている。もともとの配線長が本
発明の効果により自動的に大体揃っているので、この配
線長の完全等長化は極めて容易にできる。
【0051】各グループに対するクロックバッファの挿
入・結線を全てのグループ、全ての類に対して行う。こ
の段階で第1段のクロックバッファ挿入・結線工程が終
了する。
【0052】次に、上述のフリップフロップのクロック
入力ノードを今挿入・結線し終わった第1段のクロック
バッファ(今まではクロックバッファ7、8および9の
それぞれは別の類と看做してきたが以後は全く区別しな
い)の入力ノードと読み替え、M1 をM2 と読み替え、
第1段のクロックバッファの入力ノードに対して、上述
と全く同等の分類法を用いて、処理(11〜14)によ
って同様の類別を行い、各類に対してM2 個ずつの第1
段のクロックバッファをグルーピングし、処理15によ
ってグループ内の第1段のクロックバッファの座標の算
術平均の位置に新たな1個のクロックバッファを挿入
し、その出力ノードとグループ内の各第1段のクロック
バッファの入力ノードを結線し、これを全てのグルー
プ、全ての類に対して行い、第2段のクロックバッファ
の挿入・結線工程が終了する。
【0053】以下、同様の工程を全体でN(=5)回繰
り返し、最終的には1個のクロックバッファを挿入す
る。最後に、処理19によって、最終段クロックバッフ
ァの入力ノードを、外部クロック供給端子に接続されて
いるクロックドライバの第1相クロック出力ノードに結
線し、第1相用クロック供給回路のレイアウトパターン
を完成る。全く同様の処理を第2相クロックに対しても
行い、全クロック供給回路のレイアウトパターンを完成
する。
【0054】
【発明の効果】以上説明したように、本発明では、類別
されたクロック入力ノードの分布密度が均一化されてい
るために、前段クロックバッファ出力ノードと結線が自
動的に近似的等長配線となるため、簡単なクロック木構
成グルーピング法を用いているにもかかわらず、自動的
にファンアウト数及び配線長が均衡したクロック木を実
現できるため、クロックスキューを、プロセスばらつ
き、配線パターン間容量のばらつきに起因するものを除
いて、実質的に完全に解消する効果を発揮する。また、
クロック木は実空間上は実際のクロック系以外の論理回
路部の配置に依存した不規則な配置を許容しており、配
置配線の自由度が大幅に向上する。
【図面の簡単な説明】
【図1】本発明の一実施例のクロック木合成方法を含む
クロック信号供給方法を示すフローチャートである。
【図2】本発明の一実施例のクロック信号供給方法の実
施に係るスタンダートセルベース設計手法による集積回
路のクロック入力ノードの分類、グルーピングおよびク
ロックバッファ出力ノードとの結線の模擬的な構成を示
す概略図である。
【図3】従来の幾何学的な構成によるクロック木構成方
法による論理回路の構成図である。
【図4】従来の論理的な構成によるクロック木合成方法
による論理回路の構成図である。
【図5】従来の論理的な構成によるクロック木合成方法
をFF密度が不均一な場合に適用した場合の配置および
配線方法を示す概略図である。
【符号の説明】
1 FFの密度が最小の領域 2 FFの密度が最小値の3倍ある領域 3 フリップフロップ 4 第1類に分類されたフリップフロップ 5 第2類に分類されたフリップフロップ 6 第3類に分類されたフリップフロップ 7 第1類に分類されたフリップフロップにクロック
を供給するために挿入されたバッファ 8 第2類に分類されたフリップフロップにクロック
を供給するために挿入されたバッファ 9 第3類に分類されたフリップフロップにクロック
を供給するために挿入されたバッファ 16 フリップフロップにクロックを供給するために
挿入されたバッファ 17 FFの密度が小さい領域のフリップフロップと
クロックバッファ間の従来のクロック木合成法による配
線 18 フリップフロップの密度が大きい領域のフリッ
プフロップとクロックバッファ間の従来のクロック木合
成法による配線 31,33,34,38,39,41,43 配線 32,35,36,42,44 バッファ 37,45,46,47 機能ブロック
フロントページの続き (56)参考文献 特開 平5−61564(JP,A) 特開 平5−233092(JP,A) 特開 平5−88776(JP,A) 特開 平5−159080(JP,A) 特開 平4−76610(JP,A) 特開 平2−240712(JP,A) 特開 平2−93917(JP,A) 特開 平2−134919(JP,A) 特開 平1−157115(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 同期式集積回路に外部より供給されるま
    たは前記集積回路内で発生されたクロック信号をあらか
    じめ定められた上限の個数以内の所定のファンアウト数
    を有する出力信号に分割しこれら出力信号のそれぞれに
    配線パターンの一端を結線しこれら配線パターンの他端
    にバッファ入力ノードを結線し前記バッファの出力ノー
    ドをあらかじめ定められた上限の個数以内の所定のファ
    ンアウト数を有する出力ノードに分割する工程を有限回
    繰り返すことによって前記集積回路内の前記クロック信
    号を供給すべきすべての機能ブロックのクロック入力ノ
    ードに前記クロック信号を供給する際に前記バッファの
    配置および前記配線の接続のそれぞれを前記機能ブロッ
    クの配置情報を用いて自動的に構成するクロック木合成
    方法を含むクロック信号供給方法において、前記集積回
    路内のすべての前記機能ブロックの全ての前記クロック
    入力ノードを各々の類ごとに別種のノードと看做した場
    合前記集積回路内でその類が存在すると看做された領域
    における密度分布があらかじめ定められた許容範囲に照
    らして均一でかつすべての類にわたって同一であると看
    做せるような分類方法に基づいて有限個の類に分類する
    工程と、同一の類に属する前記クロック入力ノードのみ
    の間で実際の配置の近さをグルーピングの判断基準とし
    あらかじめ定められた上限の個数以内の前記所定数の要
    素よりなるグループに分割し前記各グループ内のすべて
    の前記クロック入力ノードの中心の位置に1つのバッフ
    ァを挿入し前記バッファの出力ノードを前記グループ内
    のすべての前記クロック入力ノードと放射状に結線・接
    続して前記バッファ挿入および放射状結線・接続を前記
    類内のすべてのグループに関して行い前記同一類内の全
    てのグループにわたる前記バッファ挿入および放射状結
    線・接続を前記のすべての類に関して行うことによって
    第一段のすべてのバッファ挿入・接続を行う工程と、前
    記第一段のバッファの全ての入力ノードを前記機能ブロ
    ックのクロック入力ノードと見立て前記第一段のすべて
    のバッファ挿入・接続と同一の方法のバッファ挿入・接
    続を前記第一段のすべてのバッファに関して行うことに
    よって第二段のすべてのバッファ挿入・接続を行う工程
    とをすべてのバッファ挿入・接続をその段階における挿
    入バッファの数が1個になるまで繰り返すことによっ
    て、前記クロック木をクロック信号の流れと逆方向に構
    成しつつ配置配線するまたは構成したのちに配線配置す
    ることを特徴とするクロック信号供給方法。
  2. 【請求項2】 多相クロック同期式集積回路に外部より
    供給されるまたは前記集積回路内で発生された各々の相
    のクロック信号をあらかじめ定められた上限の個数以内
    の所定のファンアウト数を有する出力信号に分割しこれ
    ら出力信号のそれぞれに配線パターンの一端を結線しこ
    れら配線パターンの他端にバッファ入力ノードを結線し
    前記バッファの出力ノードをあらかじめ定められた上限
    の個数以内の所定のファンアウト数を有する出力ノード
    に分割する工程を有限回繰り返すことによって前記集積
    回路内の前記クロック信号を供給すべきすべての機能ブ
    ロックのクロック入力ノードに前記クロック信号を供給
    する際に前記バッファの配置および前記配線の接続のそ
    れぞれを前記機能ブロックの配置情報を用いて多相のク
    ロックごとに自動的に構成するクロック木合成方法を含
    むクロック信号供給方法において、前記各相のクロック
    に対して前記集積回路内のすべての前記機能ブロックの
    全ての前記クロック入力ノードを各々の類ごとに別種の
    ノードと看做した場合前記集積回路内でその類が存在す
    ると看做された領域における密度分布があらかじめ定め
    られた許容範囲に照らして均一でかつすべての類にわた
    って同一であると看做せるような分類方法に基づいて有
    限個の類に分類する工程と、同一の類に属する前記クロ
    ック入力ノードのみの間で実際に配置の近さをグルーピ
    ングの判断基準としあらかじめ定められた上限の個数以
    内の前記所定数の要素よりなるグループに分割し前記各
    グループ内のすべての前記クロック入力ノードの中心の
    位置に1つのバッファを挿入し前記バッファの出力ノー
    ドを前記グループ内のすべての前記クロック入力ノード
    と放射状に結線・接続して前記バッファ挿入および放射
    状結線・接続を前記類内のすべてのグループに関して行
    い前記同一類内の全てのグループにわたる前記バッファ
    挿入および放射状結線・接続を前記のすべての類に関し
    て行うことによって第一段のすべてのバッファ挿入・接
    続を行う工程と、前記第一段のバッファの全ての入力ノ
    ードを前記機能ブロックのクロック入力ノードと見立て
    前記第一段のすべてのバッファ挿入・接続と同一の方法
    のバッファ挿入・接続を前記第一段のすべてのバッファ
    に関して行うことによって第二段のすべてのバッファ挿
    入・接続を行う工程とをすべてのバッファ挿入・接続を
    その段階における挿入バッファの数が1個になるまで繰
    り返すことによって、前記クロック木をクロック信号の
    流れと逆方向に構成しつつ配置配線するまたは構成した
    のちに配置配線することを特徴とするクロック信号供給
    方法。
JP5280996A 1993-11-10 1993-11-10 クロック信号供給方法 Expired - Fee Related JP2540762B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5280996A JP2540762B2 (ja) 1993-11-10 1993-11-10 クロック信号供給方法
US08/338,774 US5519351A (en) 1993-11-10 1994-11-10 Method for arranging tree-type clock signal distributing circuit with small clock skew

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5280996A JP2540762B2 (ja) 1993-11-10 1993-11-10 クロック信号供給方法

Publications (2)

Publication Number Publication Date
JPH07134626A JPH07134626A (ja) 1995-05-23
JP2540762B2 true JP2540762B2 (ja) 1996-10-09

Family

ID=17632814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5280996A Expired - Fee Related JP2540762B2 (ja) 1993-11-10 1993-11-10 クロック信号供給方法

Country Status (2)

Country Link
US (1) US5519351A (ja)
JP (1) JP2540762B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2735034B2 (ja) * 1995-06-14 1998-04-02 日本電気株式会社 クロック信号分配回路
JP3001403B2 (ja) * 1995-09-29 2000-01-24 日本電気株式会社 論理回路のレイアウト方法
US5831459A (en) * 1995-11-13 1998-11-03 International Business Machines Corporation Method and system for adjusting a clock signal within electronic circuitry
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
US6157237A (en) * 1996-05-01 2000-12-05 Sun Microsystems, Inc. Reduced skew control block clock distribution network
US5963728A (en) * 1996-08-14 1999-10-05 International Business Machines Corporation Method to partition clock sinks into nets
JP3556416B2 (ja) * 1996-11-29 2004-08-18 株式会社ルネサステクノロジ 半導体集積回路装置
US5966522A (en) * 1997-03-28 1999-10-12 International Business Machines Corporation Multi-phase clock distribution method and system for complex integrated-circuit devices
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
JPH11191610A (ja) 1997-12-26 1999-07-13 Hitachi Ltd 半導体集積回路装置
US6057724A (en) * 1998-07-13 2000-05-02 International Business Machines Corp. Method and apparatus for synchronized clock distribution
JP2000099190A (ja) * 1998-09-28 2000-04-07 Nec Corp 信号分配回路および信号線接続方法
US6367026B1 (en) * 1999-02-01 2002-04-02 Sony Corporation Unbalanced clock tree for a digital interface between an IEEE 1394 serial bus system and a personal computer interface (PCI)
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
JP2001035923A (ja) 1999-07-19 2001-02-09 Mitsubishi Electric Corp 半導体集積回路装置およびクロック配線制御方法
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
US6560752B1 (en) * 2000-07-06 2003-05-06 International Business Machines Corporation Apparatus and method for buffer library selection for use in buffer insertion
US6573757B1 (en) 2000-09-11 2003-06-03 Cypress Semiconductor Corp. Signal line matching technique for ICS/PCBS
JP4218924B2 (ja) * 2001-02-15 2009-02-04 株式会社日立製作所 半導体集積回路の設計システム
JP5193406B2 (ja) * 2001-06-13 2013-05-08 富士通セミコンダクター株式会社 クロック分配回路の設計方法,設計装置および設計プログラム並びに同プログラムを記録したコンピュータ読取可能な記録媒体
US6909127B2 (en) * 2001-06-27 2005-06-21 Intel Corporation Low loss interconnect structure for use in microelectronic circuits
US6522186B2 (en) * 2001-06-27 2003-02-18 Intel Corporation Hierarchical clock grid for on-die salphasic clocking
JP2003060060A (ja) * 2001-08-21 2003-02-28 Fujitsu Ltd 半導体集積回路装置
JP4931308B2 (ja) * 2001-09-28 2012-05-16 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US6935821B2 (en) 2002-04-05 2005-08-30 Illinois Tool Works, Inc. Mushrooming expandable anchor
US6941533B2 (en) * 2002-10-21 2005-09-06 Lsi Logic Corporation Clock tree synthesis with skew for memory devices
US7620917B2 (en) * 2004-10-04 2009-11-17 Synopsys, Inc. Methods and apparatuses for automated circuit design
JP5326471B2 (ja) * 2008-09-30 2013-10-30 富士通株式会社 クロック信号供給回路の設計方法、情報処理装置およびプログラム
US9213358B2 (en) * 2013-10-31 2015-12-15 Qualcomm Incorporated Monolithic three dimensional (3D) integrated circuit (IC) (3DIC) cross-tier clock skew management systems, methods and related components

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083773B2 (ja) * 1987-02-23 1996-01-17 株式会社日立製作所 大規模半導体論理回路
CA1301261C (en) * 1988-04-27 1992-05-19 Wayne D. Grover Method and apparatus for clock distribution and for distributed clock synchronization
JP2596596B2 (ja) * 1988-08-29 1997-04-02 株式会社日立製作所 論理回路素子配置方法
JP2676826B2 (ja) * 1988-09-30 1997-11-17 日本電気株式会社 クロツク分配回路
JP2685546B2 (ja) * 1988-11-16 1997-12-03 株式会社日立製作所 クロック分配回路の製造方法
JPH0432940A (ja) * 1990-05-23 1992-02-04 Toshiba Corp 分散データベース・システム
US5293626A (en) * 1990-06-08 1994-03-08 Cray Research, Inc. Clock distribution apparatus and processes particularly useful in multiprocessor systems
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法

Also Published As

Publication number Publication date
JPH07134626A (ja) 1995-05-23
US5519351A (en) 1996-05-21

Similar Documents

Publication Publication Date Title
JP2540762B2 (ja) クロック信号供給方法
JP2695078B2 (ja) データ処理装置クロック信号の分配方法
US5638291A (en) Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
US5923188A (en) Clock signal distribution circuit of tree structure with minimized skew
JP3891599B2 (ja) 集積回路レイアウト内への標準セルの自動挿入装置
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
JP2724317B2 (ja) 階層的フロアープラニング方法及びそのシステム
US4577276A (en) Placement of components on circuit substrates
US4686629A (en) Logic cell placement method in computer-aided-customization of universal arrays and resulting integrated circuit
US5666289A (en) Flexible design system
US6385761B1 (en) Flexible width cell layout architecture
KR20020037715A (ko) 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및물리적으로 동시에 구성하는 방법
US7941689B2 (en) Minimizing clock uncertainty on clock distribution networks using a multi-level de-skewing technique
JP4676123B2 (ja) H形木構造クロックレイアウトのシステムと方法
US6574781B1 (en) Design methodology for inserting RAM clock delays
US6317863B1 (en) Method and apparatus for irregular datapath placement in a datapath placement tool
US6615401B1 (en) Blocked net buffer insertion
WO2001075687A9 (en) Method and apparatus to optimize an integrated circuit design using transistor folding
US6373288B1 (en) Method of implementing clock trees in synchronous digital electronic circuits, and a programmable delay buffer stage therefor
US7757193B2 (en) Structure cluster and method in programmable logic circuit
JPH113945A (ja) 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路
JP3913180B2 (ja) 半導体集積回路の設計方法
JP2000243846A (ja) 半導体集積回路のクロック分配レイアウト方法
JPH0830655A (ja) 半導体装置の同期回路レイアウト設計方法
JP2000172367A (ja) クロック信号分配方法及びクロック分配回路

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

LAPS Cancellation because of no payment of annual fees