JPH10326303A - クロック分配方式 - Google Patents

クロック分配方式

Info

Publication number
JPH10326303A
JPH10326303A JP9150302A JP15030297A JPH10326303A JP H10326303 A JPH10326303 A JP H10326303A JP 9150302 A JP9150302 A JP 9150302A JP 15030297 A JP15030297 A JP 15030297A JP H10326303 A JPH10326303 A JP H10326303A
Authority
JP
Japan
Prior art keywords
delay
flip
clock
flop
constraint
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
JP9150302A
Other languages
English (en)
Other versions
JP2985833B2 (ja
Inventor
Takashi Yamauchi
尚 山内
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 JP9150302A priority Critical patent/JP2985833B2/ja
Publication of JPH10326303A publication Critical patent/JPH10326303A/ja
Application granted granted Critical
Publication of JP2985833B2 publication Critical patent/JP2985833B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Pulse Circuits (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】回路内の、多数のフリップフロップのクロック
が小さなスキュー時間の間に集中して変化することに起
因する、電源ノイズ及びエレクトロマイグレーションを
低減する。 【解決手段】クロックツリー形成において、遅延解析を
行い、フリップフロップ毎に、入力側と出力側の両方の
制約時間に対する余裕を求め、クロックに遅延を挿入す
ることによっても、この両制約が満たされるフリップフ
ロップから、適用フリップフロップを選定し、クロック
に対し遅延挿入し、他のクロック変化と差をつけ、クロ
ックの変化の集中を回避するクロック分配方式。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、LSIの遅延解析
及びレイアウト技術に関し、特に、LSIのクロック信
号分配部分に関する配置配線方式において、電源ノイズ
やエレクトロマイグレーションを低減するための技術に
関する。
【0002】
【従来の技術】従来、CMOS系のLSIにおいて、回
路内の変化が時間的に場所的に集中することにより、電
源やグランドの電位が変化する電源ノイズや、電流密度
の増大に伴うエレクトロマイグレーション問題を低減す
る手法としては、電源の供給源やグランド配線を増やし
たり、これら電源やグランドに関する配線幅を広げたり
することにより解決してきた。
【0003】最近では、クロックスキューを減じるため
の技術である、クロックツリー合成方式が広く採用され
るに至っている。しかしながら、これら技術は、回路内
のフリップフロップのクロックの変化の差を縮める技術
であるため、基本的に変化を集中させる方向となり、電
源ノイズ問題やエレクトロマイグレーション問題をより
一層深刻にしている。
【0004】これらクロックツリー合成方式を遅延最適
化のために応用する手法として、例えば特開平5−19
7780号公報には、クロック配線方式において、クロ
ックサイクルをワーストケースパスの遅延時間よりも短
くし、且つ回路の動作速度を高速化することを可能とし
たクロック配線方式が提案されており、クロックスキュ
ーを考慮した遅延計算手法として、例えば特開平4−2
74567号公報には、一相同期式論理回路において最
大伝搬遅延時間または最小伝搬遅延時間に基づいてクロ
ックスキューを考慮した正確な遅延余裕度を研鑽する遅
延計算方式が提案されている。しかしながら、これらは
電源ノイズやエレクトロマイグレーションを低減する手
法にはなっていない。
【0005】さらに、最近では、ゲーテドクロック手法
により、動作不要な部分のクロックを一時的に停止する
技術が登場している。
【0006】
【発明が解決しようとする課題】従来の電源ノイズやエ
レクトロマイグレーションの軽減手法は、電源の供給源
やグランドの配線を増加させたり、これら電源やグラン
ドの配線幅を広げる等であったが、これら手法は、これ
ら配線のために広げる領域を確保したり、外部の供給源
となる端子数を増加させる必要があり、LSIのチップ
面積増大や端子数が増大するという問題があった。
【0007】また、配線幅を場所によって広げるには、
レイアウトにおける配線処理の負荷が重くなる、という
問題があった。
【0008】またクロックスキューを調整することによ
り、遅延最適化を行う上記特開平5−197780号公
報に記載の方式では、結果的に、電源ノイズやエレクト
ロマイグレーションを軽減することになる場合もある
が、特に、これらを積極的に低減するためのする技術が
開示されていない。
【0009】またゲーテドクロック手法に関しては、全
体の消費電力を下げるための技術としては有効である。
しかしながら、電源ノイズやエレクトロマイグレーショ
ンの問題は局所的な電流の問題であり、これらをゲーテ
ドクロックで対処するためには、ごく小さい部分単位に
クロックを制御する必要があり、クロックを止めるため
のゲート面積の増大や全体のスキューの増大の問題があ
り、さらにその制御が複雑になるという問題があり、実
用的ではないという問題があった。
【0010】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、回路内の、多数
のフリップフロップのクロックが小さなスキュー時間の
間に集中して変化することに起因する、電源ノイズ及び
エレクトロマイグレーションを低減する、クロック分配
方式を提供することにある。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明のクロック分配方式は、LSIのクロック分
配方式において、フリップフロップへの入力経路とフリ
ップフロップからの出力経路に関する遅延解析手段と、
フリップフロップへの入力経路の最小遅延が、クロック
分配におけるクロックスキューを加えた最小遅延制約よ
りも大きいことを満たしているか否かの制約検証を行
い、かつ、該フリップフロップからの出力経路に関し、
直接到達可能な全てのフリップフロップ及び外部出力端
子について、それらへの最大遅延時間が、クロック分配
におけるクロックスキューを減じた最大遅延制約よりも
すべて小さいことを満たしているか否かの制約検証を行
う遅延制約解析手段と、これら全ての制約時間に対する
遅延時間の差である余裕度を求める余裕度解析手段と、
前記余裕度の絶対値の最小値よりも小さい遅延をもつ素
子もしくは配線の、クロック経路へ挿入する該フリップ
フロップを決定する手段と、前記決定されたフリップフ
ロップのクロック経路に前記余裕度の絶対値の最小値よ
りも小さい遅延をもつ素子もしくは配線を挿入する手段
と、を備え、他のクロックの変化タイミングとずらす、
ようにしたことを特徴とする。
【0012】また、本発明は、LSIのクロック分配方
式において、フリップフロップへの入力経路とフリップ
フロップからの出力経路に関する遅延解析手段と、フリ
ップフロップへの入力経路の最大遅延が、クロック分配
におけるクロックスキューを減じた最大遅延制約よりも
小さいことを満たしているか否かの制約検証を行い、か
つ、当該フリップフロップからの出力経路に関し、直接
到達可能な全てのフリップフロップ及び外部出力端子に
ついて、それらへの最小遅延時間が、クロック分配にお
けるクロックスキューを加えた最小遅延制約よりもすべ
て大きいことを満たしているか否かの制約検証を行う遅
延制約解析手段と、それら全ての制約時間に対する遅延
時間の差である余裕度を求める手段と、前記余裕度の絶
対値の最小値よりも小さい遅延をもつ素子あるいは配線
を削除する該フリップフロップを決定する手段と、前記
余裕度の絶対値の最小値よりも小さい遅延をもつ素子あ
るいは配線を削除する該フリップフロップクロック経路
から削除する手段と、を備え、他のクロックの変化タイ
ミングとずらす、ようにしたことを特徴とする。
【0013】[発明の概要]本発明の概要について以下
に説明する。本発明は、通常のクロック配線を行った場
合のクロックスキューに基づいて遅延解析を行い、フリ
ップフロップに於いて、そのフリップフロップに課せら
れた、入力側及び出力側の最大制約と最小制約を同時に
満たす範囲を求め、その制限を満たす範囲で、余裕のあ
るフリップフロップのクロックに遅延を付加、あるいは
クロックの遅延を削除することにより、他のクロックと
変化時間をずらす機能を有する。
【0014】
【発明の実施の形態】本発明の実施の形態について図面
を参照し、以下に説明する。 図1は、本発明の実施の
形態の処理フローを示す図である。図1を参照すると、
本発明の実施の形態においては、まず、遅延解析処理1
02を行う。ここでは、外部端子及びフリップフロップ
の間の遅延の解析を行い、各フリップフロップ及び外部
出力端子に対し、そのフリップフロップへの経路の最小
到達時間と最大到達時間を求める。クロックスキューに
関しては、そのばらつき範囲を加味して、(a)そのク
ロック分配経路自体の遅延値を最悪遅延の中に考慮する
か、あるいは、(b)フリップフロップ間の遅延解析に
おいて、そのばらつき値のみを、マージンとして扱う
か、のどちらかにより考慮する。
【0015】次に、遅延制約解析処理103を行う。こ
こでは、あらかじめ外部端子とフリップフロップに設定
された、到達時間に対するの最大遅延の制約と最小遅延
の制約をもとに、入力側のフリップフロップに遡り、各
遅延計算単位となるブロック毎に、当該ブロックまでの
地点における、最大遅延制約と最小遅延制約を求めてゆ
く。
【0016】当該ブロックが複数の信号伝播経路上にあ
る場合は、最悪となる値をとる。これをフリップフロッ
プあるいは外部入力に到達するまで、繰り返し行い、フ
リップフロップの出力端子に対する要求時間を求める。
【0017】次に、余裕度の解析104を行う。ここで
は、到達時間と要求時間の差を求める。最大遅延制約に
関しては、要求時間に対し、到達時間が小さい場合に
は、その値の差だけ、遅延が増加しても良いことを示し
ている。
【0018】最小遅延制約に対しては、到達時間が要求
時間よりも大きいとき、その差の分、遅延が減少しても
良いことを示している。
【0019】次に、他のフリップフロップに対して、ク
ロックの遅延を増加させるフリップフロップを決定する
処理105を行う。あるフリップフロップのクロックの
遅延を増加させた場合、まず、当該フリップフロップか
ら出力する経路への遅延が増加する。つまり、当該フリ
ップフロップの出力に対する最大遅延制約が厳しくな
る。また、同時に、当該フリップフロップに至る経路へ
の遅延制約が増加する。つまり、当該フリップフロップ
の入力に対する最小遅延制約が厳しくなる。
【0020】よって、この処理105では、フリップフ
ロップの中で、そのクロックに増加させる遅延値の分以
上に出力に対する最大遅延制約に対して余裕があり、な
おかつ、クロックに増加させる遅延分以上に入力に対す
る最小遅延制約に対し余裕があるものを求め、その中か
ら、クロックに実際に遅延を挿入するフリップフロップ
を決定する。
【0021】次に、クロック遅延挿入が決定されたフリ
ップフロップに対し、実際にクロックに遅延を挿入する
処理106を行う。なお、上記各処理は、コンピュータ
で実行されるプログラムにより実現することができる。
【0022】図2は、本発明の第2の実施の形態の処理
フローを示す図である。ここでは、通常のクロックツリ
ー形成に、ばらつき分の遅延以外にベースとなる遅延が
バッファ等によりついており、これを削除することによ
り、クロックの遅延が削減可能なクロックツリー形成の
場合を想定している。
【0023】まず、図1を参照して説明した前記実施の
形態の処理と同様に、遅延解析処理202、さらに遅延
制約解析処理203を行い、続いて、余裕度の解析20
4を行う。
【0024】次に、他のフリップフロップに対し、遅延
を減少させるフリップフロップを決定する処理205を
行う。あるフリップフロップのクロックの遅延を減少さ
せた場合、まず、当該フリップフロップから出力する経
路への遅延が減少する。つまり、当該フリップフロップ
の出力に対する最大遅延制約が厳しくなる。
【0025】また、同時に、当該フリップフロップに至
る経路への遅延制約が減少する。つまり、当該フリップ
フロップの入力に対する最小遅延制約が厳しくなる。よ
って、この処理205では、フリップフロップの中で、
そのクロックから減少させる遅延値の分以上に出力に対
する最小遅延制約に対し余裕があり、なおかつ、クロッ
クから減少させる遅延分以上に入力に対する最大遅延制
約に対し余裕があるものを求め、その中からクロックに
実際に遅延を削除するフリップフロップを決定する。
【0026】次に、クロック遅延削減が決定されたフリ
ップフロップに対し、実際にクロックに遅延を削除する
処理206を行う。
【0027】
【実施例】以下では、上記した本発明の実施の形態につ
いてさらに具体的な回路に即して説明すべく、本発明の
実施例について詳細に説明する。
【0028】図3は、本発明が適用される回路構成の一
実施例を説明するための図である。図3において、30
1−304は外部入力端子であり、特に、304は外部
クロック端子である。305−307及び327−32
9はバッファである。308と309はクロックツリー
を形成するバッファである。特に、クロックツリーを形
成するバッファの段数に制限はないが、ここでは仮に、
2段でクロックツリーを形成するものとした。310−
312、317−319、324−326はフリップフ
ロップであり、313、314、320、321はイン
バータであり、315、316、322はANDゲート
であり、323はNANDゲートである。
【0029】ここでは、説明の簡単化のために、配線遅
延は、各ゲートの遅延に含まれるものとして扱い、
“0”から“1”への変化(立ち上がり)と、“1”か
ら“0”への変化(立ち下がり)の遅延時間の差は無視
する。
【0030】各ブロックの遅延は、バッファが最小遅延
4ns最大遅延8ns、インバータが最小遅延3ns最
大遅延5ns、NANDゲートが最小遅延5ns最大遅
延10ns、ANDゲートが最小遅延8ns最大遅延1
5ns、とする。
【0031】通常部分に対するクロックツリーは、レイ
アウト時に、4nsに対し、−2nsから+2nsの範
囲のばらつきに抑えられるものとする。遅延値で表現す
れば、通常のクロックツリー形成部のクロック遅延は、
2nsから6nsの範囲となる。さらに、フリップフロ
ップの内部遅延に関しては、クロック入力から出力への
経路に対し、最小遅延5ns最大遅延10nsとし、セ
ットアップ時間は2ns、またホールド時間は2nsと
する。
【0032】表1は、遅延解析、要求時間解析を行う場
合の初期値を示している。一番左の列は、ブロック名
(図3参照)を示しており、フリップフロップ以外はそ
のブロック名の出力部分の値を示している。フリップフ
ロップに関しては、その入力と出力を区別して表現して
いる。空白部は、遅延解析、要求時間解析及び余裕度解
析が行われることにより求められる部分を示している。
また、「−」は求める意味がない部分を示している。こ
こで、単位はnsとする。
【0033】解析の初期値としては、まず、外部入力端
子に対し到達時間、つまり変化時間と、外部出力端子に
対し要求時間すなわち制約時間と、クロック周期が与え
られる。ここでは、これらの値は、最大値及び最小値と
も、外部クロック入力端子が到達時間0nsであり、そ
の他の外部入力端子は到達時間25nsとする。外部出
力端子に対しては、最大要求時間が25ns、最小要求
時間が0nsとする。つまり、外部端子に対しては、0
ns以上25ns以下の到達時間となるように回路が構
成されていなければならないことを示している。クロッ
クの周期は仮に50nsとする。
【0034】次に、フリップフロップに対し、遅延解析
の始点となるフリップフロップの出力に対して到達時間
を設定し、制約解析の始点となるフリップフロップの入
力に対し要求時間を設定する。ここでは、クロックのス
キューに関しては、遅延値として考慮することとする。
すなわち、ブロック309の出力への到達時間は2ns
から6nsとなる(表1参照)。
【0035】これらクロックの遅延時間とフリップフロ
ップのクロックから出力への遅延から、フリップフロッ
プの出力の到達時間を求める。ここでは、最大到達時間
を16ns、最小到達時間を7nsとする。またクロッ
ク遅延とセットアップ及びホールド時間から、各フリッ
プフロップの入力での要求時間を求める。ここでは、最
大要求時間を50ns、最小要求時間を8nsとする。
【0036】表2は、表1の初期値に基づき、到達時間
と要求時間と余裕度を求めた結果を示している。
【0037】遅延解析及び要求時間の求め方には種々の
方法があるが、ここでは、遅延解析においては、始点か
ら、つまり外部入力端子及びフリップフロップの出力か
ら解析を進め、各ブロック毎に、その出力毎に、当該ブ
ロックの全ての入力からの遅延のうち、最悪のもののみ
伝播してゆく手法をとるものとする。最大遅延解析にお
いては、最大のもの、最小遅延解析においては最小のも
のを選択する。
【0038】例として、全体処理の中から、図3のフリ
ップフロップ318のD入力に至る経路の最大遅延解析
処理を切り出して説明をする。
【0039】インバータ314とANDゲート315が
まず解析されるが、インバータ314の出力はフリップ
フロップ311からの経路のみであるため、フリップフ
ロップ311の最大到達時間に、インバータ314の最
大遅延5nsを足して、21nsとなり、ANDゲート
315に対しては、フリップフロップ310と312か
らの両方の経路があるが、ともに同じ遅延であるため選
択上の問題はなく、ANDゲート315の出力の最大到
達時間は、フリップフロップ310または312の最大
遅延時間と315の最大遅延を足して、31nsとな
る。
【0040】次にANDゲート316での解析において
は選択が生じる。インバータ314から到達する経路に
おいては、ANDゲート316の出力に対し36nsと
なり、ANDゲート315からの経路に対しては46n
sとなり、最大遅延解析時には大きな方の値を最悪値と
してとり、ANDゲート316の出力に対する最大到達
時間は46nsとなる。
【0041】ここでは、配線による遅延はブロックの遅
延に含むと考えているため、ANDゲート316とフリ
ップフロップ318のD入力の間には遅延はないものと
して、フリップフロップ318への最大到達時間46n
sが求められる。以下同様に解析し、到達時間を得る。
【0042】次に、要求時間の解析処理の例として、フ
リップフロップ312のQ出力への最大遅延制約に対す
る要求時間、つまり最大要求時間を全体の処理の中から
切り出して説明する。
【0043】まず、ANDゲート316の要求時間は、
ここでは配線遅延をブロック遅延と別には定義していな
いため、フリップフロップ318のD入力の要求時間と
同じで50nsとなる。
【0044】次に、ANDゲート316の入力であるイ
ンバータ314とANDゲート315に至るが、インバ
ータ314に対しては、出力は1つであるため、単に、
ANDゲート316の出力の最大要求時間からANDゲ
ート316のもつ最大遅延15nsを減じて、35ns
が、インバータ314の出力に対する要求時間となる。
【0045】一方、ANDゲート315に対してはその
出力が、ANDゲート316とフリップフロップ319
の2箇所につながっているため、両者の最悪値をとる。
【0046】この時、ANDゲート316からの要求時
間は35ns、フリップフロップ319からの要求時間
は50nsであるため、最大遅延制約として厳しい方の
35nsをとる。
【0047】次に、ANDゲート315の最大遅延分を
減じて、フリップフロップ312のQ出力の要求時間2
0nsが求められる。その他に対しても、同様に要求時
間が求められる。
【0048】次に余裕度を求めるが、ここでは、最大の
要求時間に対する余裕度は、最大要求時間から最大到達
時間を差し引いた値と定義し、最小の要求時間に対する
余裕度は、最小到達時間から最小の要求時間を差し引い
た値と定義する。
【0049】つまり、ここでは、各ブロックの最大余裕
度は、当該ブロックの最大到達時間がその余裕度分の時
間増加したとしても制約を満たし、各ブロックの最小余
裕度は、そのブロックの最小到達時間がその余裕度分減
ったとしても制約を満たすことを表している。余裕度
は、各ブロックに対し、到達時間と要求時間の差からた
だちに求められる。
【0050】次に、クロックに遅延を挿入してクロック
変化時間を分散させる場合には、クロックに遅延を挿入
するフリップフロップを決定する。ここでは、クロック
に挿入する遅延ブロックとして、5nsのもののみが用
意されているものとする。この場合、フリップフロップ
のクロックにこの遅延を挿入した場合、当該フリップフ
ロップに対しては、出力の遅延時間が5ns増加し、入
力の要求時間が5ns増加する。このため余裕度として
は、出力の最大余裕度が5ns減少し、入力の最小余裕
度が5ns減少することを考慮する必要がある。その他
の余裕に関しては、クロックに遅延を挿入する前は全て
制約が満たされているとすれば、余裕が増大する方向で
あるため、考慮する必要はない。
【0051】つまり、クロックの遅延を増加させること
が可能なフリップフロップは、少なくとも、出力に対し
最大余裕度が5ns以上あり、入力に対し最小余裕度が
5ns以上なければならない。この場合、図3におい
て、312、324、325、326は出力の最大余裕
度が不足しており、317は入力の最小余裕度が不足し
ている。よって、全フリップフロップのうち、この条件
を満たすフリップフロップは、310、311、31
8、319の4つである。
【0052】よって、最大を、この4つとして、この4
つの中から、クロックに遅延を挿入するフリップフロッ
プを選択することになる。選択法の例としては、可能な
すべてのクロックに遅延を挿入する方法、ランダムにい
くつかを選ぶ方法等がある。最終的に、決定されたフリ
ップフロップのクロックに遅延を挿入して終了する。
【0053】また、これとは逆に、クロックから遅延を
削除して、クロックの変化時間を分散させる場合には、
以下のように処理を行う。ここで、通常のクロック分配
に使用されている分配方式は、一部を削除することがで
きるようになっているものとし、その削除可能な遅延は
3nsのみであるとする。
【0054】この場合、フリップフロップのクロックか
らこの遅延を削除した場合、当該フリップフロップに対
しては、出力の遅延時間が3ns減少し、入力の要求時
間が3ns減少する。このため余裕度としては、出力の
最小余裕度が3ns減少し、入力の最大余裕度が3ns
減少することを考慮する必要がある。その他の余裕に関
しては、クロックの遅延を削除する前は全ての制約が満
たされているとすれば、余裕が増大する方向であるた
め、考慮する必要はない。つまり、クロックの遅延を削
除することが可能なフリップフロップは、少なくとも、
出力に対し最小余裕度が3ns以上あり、入力に対し最
大余裕度が3ns以上なければならない。この場合、3
10と317は出力の最小余裕度が不足している。
【0055】よって、全フリップフロップのうち、この
条件を満たすフリップフロップは、311、312、3
18、319、324、325、326の7つである。
よって、最大をこの7つとして、この7つの中から、ク
ロックから遅延を削除するフリップフロップを選択する
ことになる。
【0056】選択法の例としては、可能なすべてのクロ
ックに遅延を挿入する方法、ランダムにいくつかを選ぶ
方法等がある。最終的に、決定されたフリップフロップ
のクロックから遅延を削除して終了する。
【0057】図4は、図3に示した回路に対し、表2に
示すような遅延解析を行った結果から、5nsのクロッ
ク遅延が挿入可能なすべてのフリップフロップに遅延を
挿入した一実施例を説明するための図である。
【0058】図4において、401から432までは、
それぞれ順に301から332に対応している。遅延が
挿入可能なフリップフロップは、310、311、31
8、319であるため、図4では、それぞれ、410、
411、418、419に対応している。ここで、43
3、434、435、436は、遅延を増加させるため
に挿入されたバッファであり、ここではフリップフロッ
プ毎にバッファを挿入した例である。
【0059】図5も、図3に示した回路に対し、表2に
示すような遅延解析を行った結果から、5nsのクロッ
ク遅延が挿入可能なすべてのフリップフロップに遅延を
挿入した一実施例を説明するための図である。ここで、
501から532までは、それぞれ順に501から53
2に対応している。遅延が挿入可能なブロックは、31
0、311、318、319であるため、図5では、そ
れぞれ510、511、518、519に対応してい
る。ここで、533は遅延を増加させるために挿入され
たバッファであり、534と535はクロックツリーを
構成するバッファであり、508と509と同じ遅延と
ばらつきをもっとクロックツリーを形成するものであ
る。
【0060】図6は、図3に示した回路に対し、表2に
示すような遅延解析を行った結果から、3nsのクロッ
ク遅延が削除可能なフリップフロップを求め、このクロ
ック遅延削除可能なフリップフロップの中から、ブロッ
クに振られた番号に対して、1つおきに適正フリップフ
ロップを選択した一実施例を説明するための図である。
【0061】3nsの遅延が削除可能なフリップフロッ
プは、311、312、318、319、324、32
5、326の7つであるが、この中から、312、31
9、325を選択して適用した例である。
【0062】図6ではこの適用フリップフロップは、6
12、619、625に対応する。この例では、633
は、608と609から形成されるクロックツリーと同
様にクロックツリー形成が可能であるが、そのベース遅
延が最大で3ns削除小さくなる場合を想定している。
【0063】図7も、図3に示した回路に対し、表2に
示すような遅延解析を行った結果から、3nsのクロッ
ク遅延が削除可能なフリップフロップを求め、このクロ
ック遅延削除可能なフリップフロップの中から、ブロッ
クにふられた番号に対し、1つおきに適用フリップフロ
ップを選択した例である。ここで、312、319、3
25を選択して適用した例であるが、図7では、この適
用フリップフロップは、712、719、725に対応
する。
【0064】この例では、708と709から形成され
るクロックツリーは、708の直後からクロックツリー
を形成することにより、708と709で構成されたク
ロックツリーに対し、そのベース遅延が最大で3ns削
除小さくなる場合を想定している。
【0065】
【表1】
【0066】
【表2】
【0067】
【発明の効果】以上説明したように、本発明によれば、
回路内の、多数のフリップフロップのクロックが小さな
スキュー時間の間に集中して変化することに起因する、
電源ノイズ及びエレクトロマイグレーションを低減す
る、クロック分配方式を実現することができる。
【0068】その理由は、本発明のクロック合成方式に
おいては、通常のクロック配線を行った場合のクロック
スキューに基づいて遅延解析を行い、フリップフロップ
において、当該フリップフロップに課せられた、入力側
及び出力側の最大制約と最小制約を同時に満たす範囲を
求め、その制限を満たす範囲で、余裕のあるフリップフ
ロップのクロックに、遅延を付加、あるいはクロックの
遅延を削除することにより、他のクロックと変化時間を
ずらすようにした、ことによる。
【図面の簡単な説明】
【図1】本発明の一実施例の処理フローを示す図であ
る。
【図2】本発明の別の実施例の処理フローを示す図であ
る。
【図3】本発明の実施例が適用説される回路構成の一例
(その1)を示す図である。
【図4】本発明の実施例が適用される回路構成の一例
(その2)を示す図である。
【図5】本発明の実施例が適用される回路構成の一例
(その3)を示す図である。
【図6】本発明の実施例が適用される回路構成の一例
(その4)を示す図である。
【図7】本発明の実施例が適用説明される回路構成の一
例を示す図である。 101 処理の開始 102 遅延解析処理 103 遅延制約解析処理 104 余裕度解析処理 105 クロック遅延挿入フリップフロップ決定処理 106 クロック遅延挿入処理 107 処理の終了 201 処理の開始 202 遅延解析処理 203 遅延制約解析処理 204 余裕度解析処理 205 クロック遅延削除フリップフロップ決定処理 206 クロック遅延削除処理 207 処理の終了 301−304 入力端子 305−307、327−329 バッファ 308、309 クロックツリー形成バッファ 310−312、317−319、324−326 フ
リップフロップ 313、314、320、321 インバーター 315、316、322 ANDゲート 323 NANDゲート 330−332 出力端子 401−404 入力端子 405−407、427−429 バッファ 408、409 クロックツリー形成バッファ 410−412、417−419、424−426 フ
リップフロップ 413、414、420、424 インバーター 415、416、422 ANDゲート 423 NANDゲート 430−432 出力端子 433−436 遅延調整用バッファ 501−504 入力端子 505−507、527−529 バッファ 508、509 クロックツリー形成バッファ 510−512、517−519、524−526 フ
リップフロップ 513、514、520、521 インバーター 515、516、522 ANDゲート 523 NANDゲート 530−532 出力端子 533 遅延調整用バッファ 534、535 クロックツリー形成バッファ 601−604 入力端子 605−607、627−629 バッファ 608、609 クロックツリー形成バッファ 610−612、617−619、624−626 フ
リップフロップ 613、614、620、621 インバーター 615、616、622 ANDゲート 623 NANDゲート 630−632 出力端子 633 クロックツリー形成バッファ 701−704 入力端子 705−707、727−729 バッファ 708、709 クロックツリー形成バッファ 710−712、717−719、724−727 フ
リップフロップ 713、714、720、721 インバーター 715、716、722 ANDゲート 723 NANDゲート 730−732 出力端子
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H03K 19/0175 H03K 19/00 101N

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】LSIのクロック分配方式において、 フリップフロップへの入力経路とフリップフロップから
    の出力経路に関するタイミング解析機能を有し、 フリップフロップへの入力経路の最小遅延が、クロック
    分配におけるクロックスキューを加えた最小遅延制約よ
    りも大きいことを満たしているか否かの制約検証を行
    い、かつ、該フリップフロップからの出力経路に関し、
    直接到達可能な全てのフリップフロップ及び外部出力端
    子について、それらへの最大遅延時間が、クロック分配
    におけるクロックスキューを減じた最大遅延制約よりも
    すべて小さいことを満たしているか否かの制約検証を行
    い、 これら全ての制約時間に対する遅延時間の差である余裕
    度を求め、 前記余裕度の絶対値の最小値よりも小さい遅延をもつ素
    子もしくは配線を、該フリップフロップのクロック経路
    に挿入し、他のクロックの変化タイミングとずらす、よ
    うにしたことを特徴とするクロック分配方式。
  2. 【請求項2】請求項1記載のクロック分配方式におい
    て、 フリップフロップへの入力経路の最大遅延が、クロック
    分配におけるクロックスキューを減じた最大遅延制約よ
    りも小さいことを満たしているか否かの制約検証を行
    い、かつ、当該フリップフロップからの出力経路に関
    し、直接到達可能な全てのフリップフロップ及び外部出
    力端子について、それらへの最小遅延時間が、クロック
    分配におけるクロックスキューを加えた最小遅延制約よ
    りもすべて大きいことを満たしているか否かの制約検証
    を行い、 それら全ての制約時間に対する遅延時間の差である余裕
    度を求め、その余裕度の絶対値の最小値より小さい遅延
    をもつ素子あるいは配線を該フリップフロップのクロッ
    ク経路から削除し、他のクロックの変化タイミングとず
    らす、ようにしたことを特徴とするクロック分配方式。
  3. 【請求項3】LSIのクロック分配方式において、 フリップフロップへの入力経路とフリップフロップから
    の出力経路に関する遅延解析手段と、 フリップフロップへの入力経路の最小遅延が、クロック
    分配におけるクロックスキューを加えた最小遅延制約よ
    りも大きいことを満たしているか否かの制約検証を行
    い、かつ、該フリップフロップからの出力経路に関し、
    直接到達可能な全てのフリップフロップ及び外部出力端
    子について、それらへの最大遅延時間が、クロック分配
    におけるクロックスキューを減じた最大遅延制約よりも
    すべて小さいことを満たしているか否かの制約検証を行
    う遅延制約解析手段と、 これら全ての制約時間に対する遅延時間の差である余裕
    度を求める余裕度解析手段と、 前記余裕度の絶対値の最小値よりも小さい遅延をもつ素
    子もしくは配線が、クロック経路へ挿入される該フリッ
    プフロップを決定する手段と、 前記決定されたフリップフロップのクロック経路に前記
    余裕度の絶対値の最小値よりも小さい遅延をもつ素子も
    しくは配線を挿入する手段と、 を備え、他のクロックの変化タイミングとずらす、よう
    にしたことを特徴とするクロック分配方式。
  4. 【請求項4】LSIのクロック分配方式において、 フリップフロップへの入力経路とフリップフロップから
    の出力経路に関する遅延解析手段と、 フリップフロップへの入力経路の最大遅延が、クロック
    分配におけるクロックスキューを減じた最大遅延制約よ
    りも小さいことを満たしているか否かの制約検証を行
    い、かつ、当該フリップフロップからの出力経路に関
    し、直接到達可能な全てのフリップフロップ及び外部出
    力端子について、それらへの最小遅延時間が、クロック
    分配におけるクロックスキューを加えた最小遅延制約よ
    りもすべて大きいことを満たしているか否かの制約検証
    を行う遅延制約解析手段と、 それら全ての制約時間に対する遅延時間の差である余裕
    度を求める手段と、 前記余裕度の絶対値の最小値よりも小さい遅延をもつ素
    子あるいは配線を削除するフリップフロップを決定する
    手段と、 前記余裕度の絶対値の最小値よりも小さい遅延をもつ素
    子あるいは配線を削除する該フリップフロップクロック
    の経路から削除する手段と、 を備え、他のクロックの変化タイミングとずらす、よう
    にしたことを特徴とするクロック分配方式。
  5. 【請求項5】LSIのクロック分配方式において、 (a)フリップフロップへの入力経路とフリップフロッ
    プからの出力経路に関する遅延解析処理と、 (b)フリップフロップへの入力経路の最小遅延が、ク
    ロック分配におけるクロックスキューを加えた最小遅延
    制約よりも大きいことを満たしているか否かの制約検証
    を行い、かつ、該フリップフロップからの出力経路に関
    し、直接到達可能な全てのフリップフロップ及び外部出
    力端子について、それらへの最大遅延時間が、クロック
    分配におけるクロックスキューを減じた最大遅延制約よ
    りもすべて小さいことを満たしているか否かの制約検証
    を行う遅延制約解析処理と、 (c)これら全ての制約時間に対する遅延時間の差であ
    る余裕度を求める処理と、 (d)前記余裕度の絶対値の最小値よりも小さい遅延を
    もつ素子もしくは配線が、クロック経路へ挿入されるフ
    リップフロップを決定する処理と、 (e)前記決定されたフリップフロップのクロック経路
    に前記余裕度の絶対値の最小値よりも小さい遅延をもつ
    素子もしくは配線を挿入する処理と、 の上記(a)〜(e)の各処理をコンピュータ等情報処
    理装置で実行させるプログラムを記録した記録媒体。
  6. 【請求項6】LSIのクロック分配方式において、 (a)フリップフロップへの入力経路とフリップフロッ
    プからの出力経路に関する遅延解析処理と、 (b)フリップフロップへの入力経路の最大遅延が、ク
    ロック分配におけるクロックスキューを減じた最大遅延
    制約よりも小さいことを満たしているか否かの制約検証
    を行い、かつ、当該フリップフロップからの出力経路に
    関し、直接到達可能な全てのフリップフロップ及び外部
    出力端子について、それらへの最小遅延時間が、クロッ
    ク分配におけるクロックスキューを加えた最小遅延制約
    よりもすべて大きいことを満たしているか否かの制約検
    証を行う遅延制約解析処理と、 (c)これら全ての制約時間に対する遅延時間の差であ
    る余裕度を求める処理と、 (d)前記余裕度の絶対値の最小値よりも小さい遅延を
    もつ素子あるいは配線を削除する該フリップフロップを
    決定する処理と、 (e)前記余裕度の絶対値の最小値よりも小さい遅延を
    もつ素子あるいは配線を削除する該フリップフロップク
    ロック経路から削除する処理と、 の上記(a)〜(e)の各処理をコンピュータ等情報処
    理装置で実行させるプログラムを記録した記録媒体。
JP9150302A 1997-05-23 1997-05-23 クロック分配方式及び方法 Expired - Lifetime JP2985833B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9150302A JP2985833B2 (ja) 1997-05-23 1997-05-23 クロック分配方式及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9150302A JP2985833B2 (ja) 1997-05-23 1997-05-23 クロック分配方式及び方法

Publications (2)

Publication Number Publication Date
JPH10326303A true JPH10326303A (ja) 1998-12-08
JP2985833B2 JP2985833B2 (ja) 1999-12-06

Family

ID=15494043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9150302A Expired - Lifetime JP2985833B2 (ja) 1997-05-23 1997-05-23 クロック分配方式及び方法

Country Status (1)

Country Link
JP (1) JP2985833B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518699A (ja) * 2002-02-21 2005-06-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 低減された基板バウンスを有する集積回路
US7075336B2 (en) 2001-07-03 2006-07-11 Kabushiki Kaisha Toshiba Method for distributing clock signals to flip-flop circuits
JP2008219250A (ja) * 2007-03-01 2008-09-18 Nec Corp クロック制御回路及びクロック制御方法
JP2013171503A (ja) * 2012-02-22 2013-09-02 Renesas Electronics Corp Lsi設計方法
JP2014137224A (ja) * 2013-01-15 2014-07-28 Fujitsu Semiconductor Ltd 半導体試験プログラム、半導体試験装置および半導体試験方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7075336B2 (en) 2001-07-03 2006-07-11 Kabushiki Kaisha Toshiba Method for distributing clock signals to flip-flop circuits
JP2005518699A (ja) * 2002-02-21 2005-06-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 低減された基板バウンスを有する集積回路
JP2008219250A (ja) * 2007-03-01 2008-09-18 Nec Corp クロック制御回路及びクロック制御方法
JP2013171503A (ja) * 2012-02-22 2013-09-02 Renesas Electronics Corp Lsi設計方法
JP2014137224A (ja) * 2013-01-15 2014-07-28 Fujitsu Semiconductor Ltd 半導体試験プログラム、半導体試験装置および半導体試験方法

Also Published As

Publication number Publication date
JP2985833B2 (ja) 1999-12-06

Similar Documents

Publication Publication Date Title
US6145116A (en) Layout design apparatus
US10331840B2 (en) Resource aware method for optimizing wires for slew, slack, or noise
US7148135B2 (en) Method of designing low-power semiconductor integrated circuit
Sze et al. Path based buffer insertion
US5966521A (en) System and method for analyzing static timing
JP2985833B2 (ja) クロック分配方式及び方法
US5903471A (en) Method for optimizing element sizes in a semiconductor device
US6074429A (en) Optimizing combinational circuit layout through iterative restructuring
US7526743B2 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
US20030212976A1 (en) Automated buffer insertion incorporating congestion relief for use in connection with physical design of integrated circuit
US6757877B2 (en) System and method for identifying and eliminating bottlenecks in integrated circuit designs
JP3092664B2 (ja) 設計支援方法
JP3230233B2 (ja) 半導体集積回路設計装置及びその配線制御方法並びに配線制御プログラムを格納した記憶媒体
JP3230234B2 (ja) 半導体集積回路の遅延調整方法、遅延調整用回路ブロックおよび記録媒体。
JP3017038B2 (ja) 半導体集積回路の設計方式
JP2003256488A (ja) Lsiレイアウト方法、プログラムおよび記録媒体
JP2953384B2 (ja) 半導体集積回路のクロックツリー形成方法
JP2007257293A (ja) 集積回路の階層設計方法および装置
JPH06310601A (ja) レイアウト設計方法
JP2000231583A (ja) 論理合成方法及び装置
JP3102408B2 (ja) 信号遅延低減方法及び装置
JP2888708B2 (ja) 論理回路の設計方法
JP3185892B2 (ja) タイミングシミュレーション方法
JP3169874B2 (ja) 半導体集積回路のタイミング調整方法
JP2003044535A (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: 19990831