JP2000222444A - クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体 - Google Patents

クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP2000222444A
JP2000222444A JP11019014A JP1901499A JP2000222444A JP 2000222444 A JP2000222444 A JP 2000222444A JP 11019014 A JP11019014 A JP 11019014A JP 1901499 A JP1901499 A JP 1901499A JP 2000222444 A JP2000222444 A JP 2000222444A
Authority
JP
Japan
Prior art keywords
clock
macro
terminal
net
buffer circuit
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
JP11019014A
Other languages
English (en)
Other versions
JP3251250B2 (ja
Inventor
Takeo Kusumi
武男 楠美
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP01901499A priority Critical patent/JP3251250B2/ja
Publication of JP2000222444A publication Critical patent/JP2000222444A/ja
Application granted granted Critical
Publication of JP3251250B2 publication Critical patent/JP3251250B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】ハードマクロを含むLSIチップのクロックス
キューおよびクロック遅延を低減する。 【解決手段】ハードマクロ23を含むLSIで、LSI
のクロック端子20からマクロ用クロック端子24、マ
クロ外のフリップフロップ(FF)グループ22aに対
してクロックツリーを生成した後に、ハードマクロに接
続されるネット28を切断(a図)し、切断点からハー
ドマクロ23内のクロックバッファ段数分だけLSIの
クロック端子20の方に遡ったネット29を検出し、こ
れをマクロ用クロック端子24と接続して新たなネット
29a(b図)とすることにより、LSIのクロック端
子20からマクロ外のFFグループ22aまでと、マク
ロ内のFFグループ22bまでのバッファ段数を等しく
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クロックスキュー
低減方法に関し、特にハードマクロ等のクロック信号系
路が定められたマクロを搭載したLSIにおけるクロッ
クスキューを大幅に低減できるクロックスキュー低減方
法及びクロックスキュー低減方法を記録したコンピュー
タ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】論理LSIでは、クロック信号に同期し
てLSI全体を動作させる手法がよく用いられるが、こ
のような場合に外部から供給された基本のクロック信号
に対して、LSI内部に散在するフリップフロップ等の
クロック供給対象回路までの配線の抵抗と寄生容量に起
因して遅延が生じ、クロック信号が各フリップフロップ
までの到達タイミングのずれ(以下、これをクロックス
キューという)を発生する。クロックスキューがあると
フリップフロップが誤動作するおそれが生じるため、こ
れを低減することが必要である。
【0003】特に、論理積、論理和、フリップフロップ
などの基本的なゲート回路を組み合わせて一定の機能を
果たす回路ブロック(以下、これをマクロという)を含
んで構成されるLSIにおいては、通常はマクロ単位で
設計を行うために、マクロ毎にクロック信号の遅延量が
異なってクロックスキューが増大するので、クロックス
キューを低減するためには、複数のマクロ内の又はマク
ロ内外のクロック信号の遅延量が同一になるように調整
する必要がある。
【0004】特開平9−269847にはLSIを複数
のマクロで構成し、各マクロ内のクロックバッファをツ
リー状に配置し、各マクロのクロックバッファの縦列接
続段数を同一とし、かつ同じ階層に属する各クロックバ
ッファの入力容量、出力負荷容量、駆動能力を同一にす
ることにより、マクロ間のクロックスキューを低減する
技術を開示している。特開平9−269847で開示さ
れた技術は、新規に各マクロを設計する場合には有効な
技術ではあるが、既設計であってマクロに含まれる基本
ゲート回路および配線のレイアウトが固定されているハ
ードマクロを含むLSIには適用しがたい。
【0005】特開平9−305253には、ハードマク
ロと同一のクロック遅延をもつクロック入力回路を専用
に設けて、ハードマクロ以外の部分の回路には、このク
ロック入力回路からクロック信号を供給することにより
クロックスキューを低減する技術が記載されている。し
かしながら、特開平9−305253記載の技術におい
ては、ハードマクロ毎に対となるクロック入力回路を準
備しなければならず、また、クロック入力回路の負荷が
大きくなると新たな遅延要素が生じるため、駆動するフ
リップフロップ数などを制限しなければならず、さらに
複数のハードマクロを含むLSIで、それぞれのハード
マクロのクロック遅延時間が異なる場合には、スキュー
が発生しこれを低減できないという問題点がある。
【0006】また、クロックバッファを、その縦列接続
段数が同一になるようにしてツリー状に挿入し、クロッ
ク信号系路の遅延を調整する技術としてクロック・ツリ
ー・シンセシス(Clock Tree Synthesis:CTS)が実
用に供されており、これをハードマクロを含むLSIに
応用してクロックスキューを低減する方法も知られてい
る。このCTSを用いたクロックスキュー低減方法につ
いて、まず第1の従来例として、図7のフロー図および
図8(a),(b)の回路データ図を用いてハードマク
ロを含まない基本的な場合について説明したのち、第1
の従来例をハードマクロを含むLSIチップに適用した
場合に発生する問題点について図9の回路データ図を用
いて示し、次に第2の従来例として、第1の従来例をも
とにハードマクロを含むLSIに適用できるように改良
されたクロックスキュー低減方法を、図10のフロー図
および図11の回路データ図を用いて説明する。
【0007】第1の従来例のLSIのクロックスキュー
低減方法では、図7のフロー図で回路データ入力ステッ
プS71でLSIチップの回路データを、例えばCRT
上でインタラクティブに入力する。図8(a)は、回路
データ入力ステップS71で入力した回路データのう
ち、クロック端子からフリップフロップまでのクロック
信号の経路の一部分を示した回路データ図であり、LS
Iのクロック端子20から入力されるクロック信号は仮
設バッファ21を介してフリップフロップ81,82,
83に接続されている。仮設バッファ21の出力端から
フリップフロップ81のクロック入力端へと至る接続路
は、多数のフリップフロップに分岐していてレイアウト
後に予想される配線長が長いので信号遅延が大となり、
他方、仮設バッファ21の出力端からフリップフロップ
83のクロック入力端へと至る接続路は、一個のフリッ
プフロップに接続されるだけなので信号遅延が小となる
ため、図8(a)の回路データ図をもとにLSIのレイ
アウト設計を行ったときに、これら両方の接続路を伝わ
るクロック信号の時間差、すなわちクロックスキューが
大となり、フリップフロップ81とフリップフロップ8
3の動作タイミングにずれが生じて、LSIの高速動作
が阻害されることになる。これを防止するために、図7
のCTS処理ステップS72でCTS処理を行いクロッ
クスキューを低減する。すなわち、CTS処理ステップ
S72では、図8(b)の回路データ図に示すように、
LSIの回路データに含まれるフリップフロップ等のク
ロック供給対象回路を、一個のバッファ回路を用いて遅
延時間の誤差が十分小さい範囲内で駆動できる、定めら
れた個数範囲のクロック供給対象回路からなるFFグル
ープ22に再編成したのちに、仮設バッファ21および
その出力端から各FFグループの入力端へ至るネットを
クロックツリー26に置換する。ここで、ネットとは端
子間を等電位で接続する結線を表す。
【0008】クロックツリー26は、クロックバッファ
27a,27b,27cがツリー状に接続され、第1階
層目のクロックバッファ27aの入力端はLSIのクロ
ック端子20に接続され、出力端は予め定められた個数
範囲の第2階層目のクロックバッファ27bのそれぞれ
の入力端に接続され、第2階層目のクロックバッファ2
7bのそれぞれの出力端は、予め定められた個数範囲の
第3階層目のクロックバッファ27cのそれぞれの入力
端に接続され、第3階層目のクロックバッファ27cの
それぞれの出力端は、FFグループ22内の複数のフリ
ップフロップ等の回路のクロック入力端に接続されてい
る。図8(b)ではクロックツリー26のクロックバッ
ファが3階層の例を示したが、LSIに含まれるフリッ
プフロップ等の回路の個数によってクロックバッファの
階層数は変わり、フリップフロップ等の回路の個数が少
ないときは階層数も少なく、フリップフロップの個数が
多いときは階層数も多くなる。このようにして、クロッ
クツリー26内の各階層毎に、その階層に含まれるクロ
ックバッファの信号遅延量がほぼ同一になるように調整
されるので、それぞれ別のFFグループ22に含まれる
フリップフロップ81、フリップフロップ82、フリッ
プフロップ83のそれぞれのクロック入力端に到達する
クロック信号のLSIのクロック端子20からの遅延時
間はほぼ同一となり、クロックスキューが低減される。
【0009】データ出力ステップS73においては、ク
ロック信号系の回路がCTS処理により図8(b)の回
路データ図に示されたようにクロック信号系の回路が変
更された回路データを出力する。
【0010】しかしながら、第1の従来例でLSIチッ
プ内にハードマクロを含む場合には、CTS処理におい
てはハードマクロ23とマクロ外のFFグループ22a
とを同一階層とみなすため、CTS処理ステップS72
終了時の回路データ図は図9に示すようになる。
【0011】図9において、ハードマクロ23のクロッ
ク信号系回路は、ハードマクロ内で独立したクロックツ
リーを構成しており、マクロ用クロック端子24に入力
端が接続された第1階層目のマクロ内バッファ25a
と、入力端が第1階層目のマクロ内バッファ25aの出
力端に接続され、出力端がハードマクロ内のFFグルー
プ22bのクロック入力端に接続されている第2階層目
のマクロ内バッファ25bによって、FFグループ22
bに含まれるフリップフロップへのクロック信号のマク
ロ用クロック端子からの遅延時間が略同一になるように
調整されている。ハードマクロ内のFFグループ22b
は、ハードマクロ外のFFグループ22aと同様に定め
られた個数範囲のフリップフロップ等のクロック入力端
をもつ回路を含んでいる。ハードマクロ23では、ハー
ドマクロ内のクロックツリーを構成するマクロ内バッフ
ァが25aおよび25bの2階層である例を示したが、
ハードマクロ23に含まれるフリップフロップ等の回路
の増減に対応してマクロ内バッファの階層数が増減する
ことは、LSIのクロックツリー26を構成するクロッ
クバッファの階層数の決定のされ方と同様である。
【0012】図9で示すように、第1の従来例をハード
マクロを含むLSIチップに適用した場合には、LSI
のクロック端子20からクロックバッファ27a,27
b,27cを経由してハードマクロ23のマクロ用クロ
ック端子24を通じて、さらにマクロ内バッファ25
a,25bを経由して最終的にハードマクロ内のFFグ
ループ22bに至るクロック信号系路と、LSIのクロ
ック端子20からクロックバッファ27a,27b,2
7cを経由してハードマクロ外のFFグループ22aに
至るクロック信号系路が生じるが、前者のLSIのクロ
ック端子20からハードマクロ内のFFグループ22b
までの経路に設けられたバッファ段数が5段であるのに
対して、後者のLSIのクロック端子20からハードマ
クロ外のFFグループ22aまでの経路に設けられたバ
ッファ段数は3段であるために、ハードマクロ内のFF
グループ22bに供給されるクロック信号とハードマク
ロ外のFFグループ22aに供給されるクロック信号の
間には大きなスキューが生じてしまうという問題点があ
る。
【0013】次に第2の従来例として、第1の従来例を
基にハードマクロを含むLSI向けに改良されたクロッ
クスキュー低減方法について、図10のフロー図に沿っ
て説明する。回路データ入力ステップS101およびC
TS処理ステップS102は、第1の従来例である図7
の回路データ入力ステップS71およびCTS処理ステ
ップS72と同様であり、CTS処理ステップS102
終了時の回路図データは図9と同一であるが、この第2
の従来例では、クロックスキューを低減するために、マ
クロ内バッファ段数入力ステップS103とバッファ付
加ステップS104とが追加される。マクロ内バッファ
段数入力ステップS103では、マクロ用クロック端子
24からハードマクロ内のFFグループ22bまでのク
ロック信号経路に存在するバッファの縦列接続段数(図
9では2段)を入力し、バッファ付加ステップS104
では、ハードマクロ外のFFグループ22aと第3層目
のバッファ27cとの間にマクロ内バッファ段数入力ス
テップS103で入力された段数分だけ縦列接続された
付加バッファ100a,100bを挿入して、回路デー
タ出力ステップS105で図11の回路データ図に示す
バッファ付加済みの回路データを出力する。図11の回
路データ図では、図9の回路データ図に比較して、付加
バッファ100aおよび付加バッファ100bの2段の
バッファがハードマクロ外のFFグループ22aと第3
層目のクロックバッファ27cとの間に付加されている
ので、LSIのクロック端子20からハードマクロ外の
FFグループ22aまでの経路に設けられたバッファ縦
列接続段数は、LSIのクロック端子20からハードマ
クロ内のFFグループ22bまでの経路に設けられたバ
ッファ縦列接続段数と同じく5段となるので、クロック
信号の遅延時間はほぼ同一となり、クロックスキューは
低減される。
【0014】
【発明が解決しようとする課題】上述した第2の従来例
のクロックスキュー低減方法では、LSIのクロック端
子からハードマクロ内に含まれるフリップフロップのク
ロック入力端までの経路の信号遅延時間と、LSIのク
ロック端子からハードマクロに含まれないフリップフロ
ップのクロック入力端までの経路の信号遅延時間とを略
等しくして、LSIチップ内のクロックスキューを低減
することができるが、その反面、バッファの縦列接続段
数が大きいためにクロック信号の遅延値が大きくなるの
で、このLSIとともに組み込まれて一つのシステムを
構成する他のLSIとの間のクロックスキューが増大し
てしまう欠点があり、またハードマクロ外の全てのクロ
ック経路に対してハードマクロのマクロ内バッファの段
数分の付加バッファが付加されるので、LSIチップ面
積の増加も生じる。
【0015】本発明の目的は、ハードマクロを含むLS
Iのチップ内部でのクロックスキューを低減するだけで
なく、LSIチップ内のクロック信号の遅延時間をも低
減でき、同時にLSIチップの面積増加を抑制すること
のできるクロックスキュー低減方法の実現にある。
【0016】
【課題を解決するための手段】本発明の第1のクロック
スキュー低減方法は、予め内部のクロックスキュー調整
がなされたマクロを含むLSIのクロックスキュー低減
方法において、LSI用クロック端子と前記LSIに含
まれる複数のクロック供給対象回路のクロック入力端お
よび前記マクロのマクロ用クロック端子との間に、遅延
値が略等しくなるように負荷を調整されたクロックバッ
ファ回路が所定の縦列段数で枝状に分岐接続してなるク
ロック信号路を生成する第1の処理と、前記マクロの内
部におけるクロック遅延値に略等しい遅延をもたらす前
記クロックバッファ回路の縦列接続段数値を獲得する第
2の処理と、前記クロックバッファ回路のうち出力端が
第1のクロックネットを介して前記マクロ用クロック端
子に接続された第1のクロックバッファ回路を初段とし
て前記LSI用クロック端子へ向かって前記前記縦列接
続段数値分遡って得られる第2のクロックバッファ回路
の入力端に接続される第2のクロックネットを検出して
前記マクロ用クロック端子の接続先を前記第1のクロッ
クネットから前記第2のクロックネットへと変更する第
3の処理とを含むことを特徴とする。
【0017】前記第2の処理は、前記マクロ用クロック
端子から前記マクロ内部のクロック供給対象回路のクロ
ック入力端までの経路に設けられたマクロ内バッファ回
路の縦列接続段数値を入力してもよく、また、前記マク
ロ用クロック端子から前記マクロ内部のクロック供給対
象回路のクロック入力端までの経路におけるクロック信
号の遅延データ値を入力して前記遅延データ値をクロッ
クバッファ回路の一段あたりの遅延値で除することによ
り前記遅延データ値に略等しい遅延を実現するに要する
前記クロックバッファの等価段数値を算出してもよい。
【0018】本発明の第2のクロックスキュー低減方法
は、予め内部のクロックスキュー調整がなされたマクロ
を含むLSIのクロックスキュー低減方法において、前
記マクロの内部におけるクロック遅延値と略等しい遅延
に相当するクロックバッファ回路の縦列接続段数である
第1の縦列接続段数値を獲得する第1の処理と、LSI
用クロック端子と前記LSIに含まれる複数のクロック
供給対象回路のクロック入力端および前記マクロのマク
ロ用クロック端子との間に、遅延値が略等しくなるよう
に負荷を調整された複数の前記クロックバッファ回路が
前記第1の縦列接続段数値を超える段数である第2の縦
列接続段数値で枝状に分岐接続してなるクロック信号路
を生成する第2の処理と、前記クロックバッファ回路の
うち出力端が第1のクロックネットを介して前記マクロ
用クロック端子に接続された第1のクロックバッファ回
路を初段として前記LSI用クロック端子へ向かって前
記前記縦列接続段数値分遡って得られる第2のクロック
バッファ回路の入力端に接続される第2のクロックネッ
トを検出して前記マクロ用クロック端子の接続先を前記
第1のクロックネットから前記第2のクロックネットへ
と変更する第3の処理とを含むことを特徴とする。
【0019】前記第1の処理は、前記マクロ用クロック
端子から前記マクロ内部のクロック供給対象回路のクロ
ック入力端までの経路に設けられたマクロ内バッファ回
路の縦列接続段数値を入力してもよく、また、前記マク
ロ用クロック端子から前記マクロ内部のクロック供給対
象回路のクロック入力端までの経路におけるクロック信
号の遅延データ値を入力して前記遅延データ値をクロッ
クバッファ回路の一段あたりの遅延値で除することによ
り前記遅延データ値に略等しい遅延を実現するに要する
前記クロックバッファの等価段数値を算出してもよい。
【0020】また、本発明の第1のクロックスキュー低
減方法を記録したコンピュータ読み取り可能な記録媒体
は、LSIのLSI用クロック端子と前記LSIに含ま
れる複数のクロック供給対象回路のクロック入力端およ
びマクロのマクロ用クロック端子との間に、遅延値が略
等しくなるように負荷を調整されたクロックバッファ回
路が所定の縦列段数で枝状に分岐接続してなるクロック
信号路を生成する第1のプログラムと、前記マクロの内
部におけるクロック遅延値に略等しい遅延をもたらす前
記クロックバッファ回路の縦列接続段数値を獲得する第
2のプログラムと、前記クロックバッファ回路のうち出
力端が第1のクロックネットを介して前記マクロ用クロ
ック端子に接続された第1のクロックバッファ回路を初
段として前記LSI用クロック端子へ向かって前記前記
縦列接続段数値分遡って得られる第2のクロックバッフ
ァ回路の入力端に接続される第2のクロックネットを検
出して前記マクロ用クロック端子の接続先を前記第1の
クロックネットから前記第2のクロックネットへと変更
する第3のプログラムとを備えることを特徴とする。
【0021】前記第2のプログラムは、前記マクロ用ク
ロック端子から前記マクロ内部のクロック供給対象回路
のクロック入力端までの経路に設けられたマクロ内バッ
ファ回路の縦列接続段数値を入力するプログラムとして
もよく、また、前記マクロ用クロック端子から前記マク
ロ内部のクロック供給対象回路のクロック入力端までの
経路におけるクロック信号の遅延データ値を入力して前
記遅延データ値をクロックバッファ回路の一段あたりの
遅延値で除することにより前記遅延データ値に略等しい
遅延を実現するに要する前記クロックバッファの等価段
数値を算出するプログラムとしてもよい。
【0022】本発明の第2のクロックスキュー低減方法
を記録したコンピュータ読み取り可能な記録媒体は、L
SIに含まれるマクロの内部におけるクロック遅延値と
略等しい遅延に相当するクロックバッファ回路の縦列接
続段数である第1の縦列接続段数値を獲得する第1のプ
ログラムと、LSI用クロック端子と前記LSIに含ま
れる各クロック供給対象回路のクロック入力端および前
記マクロのマクロ用クロック端子との間に、遅延値が略
等しくなるように負荷を調整された複数の前記クロック
バッファ回路が前記第1の縦列接続段数値を超える段数
である第2の縦列接続段数値で枝状に分岐接続してなる
クロック信号路を生成する第2のプログラムと、前記ク
ロックバッファ回路のうち出力端が第1のクロックネッ
トを介して前記マクロ用クロック端子に接続された第1
のクロックバッファ回路を初段として前記LSI用クロ
ック端子へ向かって前記前記縦列接続段数値分遡って得
られる第2のクロックバッファ回路の入力端に接続され
る第2のクロックネットを検出して前記マクロ用クロッ
ク端子の接続先を前記第1のクロックネットから前記第
2のクロックネットへと変更する第3のプログラムとを
備えることを特徴とする。
【0023】前記第1のプログラムは、前記マクロ用ク
ロック端子から前記マクロ内部のクロック供給対象回路
のクロック入力端までの経路に設けられたマクロ内バッ
ファ回路の縦列接続段数値を入力するプログラムとして
もよく、また、前記マクロ用クロック端子から前記マク
ロ内部のクロック供給対象回路のクロック入力端までの
経路におけるクロック信号の遅延データ値を入力して前
記遅延データ値をクロックバッファ回路の一段あたりの
遅延値で除することにより前記遅延データ値に略等しい
遅延を実現するに要する前記クロックバッファの等価段
数値を算出するプログラムとしてもよい。
【0024】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明の第
1の実施の形態の回路データ処理のフロー図であり、図
2(a),(b)および図3(a),(b)は図1のフ
ロー中の回路データの変化を説明するための回路データ
図である。図1のフロー図において、まず回路データ入
力ステップS11でLSIの回路データを入力する。図
2(a)は、回路データ入力ステップS11終了時のク
ロック信号系の回路データの一部を示す回路データ図
で、LSIのクロック端子20から仮設バッファ21を
介してハードマクロ23のマクロ用クロック端子24と
ハードマクロ23に含まれないフリップフロップ80等
のクロック供給対象回路とに接続され、ハードマクロ2
3内のクロック信号系路はマクロ用クロック端子24か
らハードマクロ23内のクロックツリーの第1階層目の
マクロ内バッファ25aおよび第2階層目のマクロ内バ
ッファ25bを経由してハードマクロ内のFFグループ
22bに接続されている。
【0025】次にCTS処理ステップS12でCTS処
理を行う。このCTS処理ステップS12は第2の従来
例で説明したCTS処理ステップS102と同一であ
り、図2(a)の仮設バッファ21を、第1階層目のク
ロックバッファ27a、第2階層目のクロックバッファ
27bおよび第3階層目のクロックバッファ27cがツ
リー状に接続されたクロックツリー26に置換して、図
2(b)の回路データ図に示す回路を得る。ハードマク
ロ外のFFグループ22aおよびハードマクロ内のFF
グループ22bは、それぞれに定められた個数範囲のフ
リップフロップ等のクロック入力端をもつ回路で構成さ
れることは、第2の従来例と同様である。
【0026】次にマクロ内バッファ段数入力ステップS
13で、マクロ用クロック端子24からハードマクロ内
のFFグループ22bまでの経路に設けられたマクロ内
バッファの段数N1を、ハードマクロの回路データから
抽出して入力する。図2(b)のハードマクロ23で
は、マクロ内バッファの段数N1=2である。
【0027】次に第1のネット修正ステップS14で、
図3(a)の回路データ図に示すようにハードマクロの
クロック端子24に接続された第1のクロックネット2
8を切り離す。続いて第2のネット修正ステップS15
で、第1のクロックネット28が出力端に接続されてい
るバッファ27caを初段として、LSIのクロック端
子20に向かって、マクロ内バッファ段数入力ステップ
S13で入力されたマクロ内バッファの段数N1=2の
段数分だけ遡ったところにあるバッファ27baの入力
端に接続されている第2のクロックネット29を検出す
る。続いて第3のネット修正ステップS16で、前のス
テップS15で検出された第2のクロックネット29に
マクロ用クロック端子24を接続点として追加して、図
3(b)の回路データ図に示すように新たなクロックネ
ット29aとする。クロックネット29aは第1階層目
のクロックバッファ27aの出力端と、第2階層目のク
ロックバッファ27bの入力端と、ハードマクロ23の
マクロ用クロック端子24とを等電位で接続することに
なる。続いて第4のネット修正ステップS17で、第1
のクロックネットの接続先を検査し、バッファ27ca
の出力端を除いて他に接続先がない場合は、不要になっ
たとみなして第1のクロックネット28およびバッファ
27caを削除し、図3(b)のクロックネットの修正
が完了した回路データ図を得る。最後に、回路データ出
力ステップS18でクロックネット修正済み回路データ
を出力する。
【0028】以上に説明した本発明の第1の実施の形態
においては、クロックネット修正済みの回路データ図で
ある図3(b)で明らかなように、LSIのクロック端
子20からハードマクロ内のFFグループ22bに至る
クロック信号系路に介在するバッファの段数は、バッフ
ァ27a、マクロ内バッファ25aおよびマクロ内バッ
ファ25bの3段と低減でき、LSIのクロック端子2
0からハードマクロ外のFFグループ22aに至るクロ
ック信号系路に介在するバッファの段数も、バッファ2
7a、バッファ27bおよびバッファ27cの3段と同
一段数となるので、第2の従来例と同様にハードマクロ
内とハードマクロ外とのクロックスキューが低減できる
ことに加えて、第2の従来例のようにバッファを余分に
付加することがなくなり、LSIチップ内のクロック信
号の遅延を低減できるとともにLSIチップの面積増加
を抑制できる効果がある。
【0029】LSIチップが複数のハードマクロを含む
場合でも、ステップS11からステップS13までを全
てのハードマクロを含む回路データに対して一括して実
行した後に、ステップS14からステップS17までを
それぞれのハードマクロに対して繰り返して実行し、結
果をステップS18で出力すればよい。
【0030】次に、本発明の第2の実施の形態について
図面を参照して説明する。図4は、本発明の第2の実施
の形態のフロー図である。この第2の実施の形態と第1
の実施の形態との相違は、第1図のマクロ内バッファ段
数入力ステップS13に換えて、ハードマクロ内のクロ
ック遅延データ値を入力するマクロ内遅延値入力ステッ
プS43と、マクロ内のクロック遅延に相当するマクロ
外のクロックバッファの段数を計算するバッファ段数算
出ステップS44を導入している点にある。
【0031】図4のフロー図において、回路データ入力
ステップS41でLSIの回路データを入力し、CTS
処理ステップS42でCTS処理を行うところは図1の
回路データ入力ステップS11、CTS処理ステップS
12と同様であり、CTS処理ステップS42終了時の
回路データ図は図2(b)と同一となる。
【0032】次にマクロ内遅延値入力ステップS43
で、図2(b)におけるマクロ用クロック端子24から
ハードマクロ内のFFグループ22bまでのクロック信
号の遅延データ値Tdを、ハードマクロの回路データか
ら抽出して入力する。引き続きバッファ段数算出ステッ
プS44で、前のステップS43で得たクロック信号の
マクロ内遅延データ値Tdをマクロ外のクロックバッフ
ァの一段相当の遅延値Tb(27a,27b,27cは
略同一の遅延値Tbをもつ)で除した値(Td/Tb)
を求め、小数点以下四捨五入等の処理を施すことにより
クロック信号のマクロ内遅延データ値に相当するマクロ
外のクロックバッファの段数すなわち等価バッファ段数
N2を算出する。
【0033】その後に続く第1のネット修正ステップS
45、第2のネット修正ステップS46、第3のネット
修正ステップS47、第4のネット修正ステップS48
は、それぞれ図1における第1のネット修正ステップS
14、第2のネット修正ステップS15、第3のネット
修正ステップS16、第4のネット修正ステップS17
と同様であり、等価バッファ段数N2=2のときを例と
して説明すると、第1のネット修正ステップS45でマ
クロ用クロック端子24に接続された第1のクロックネ
ット28の切り離しが完了した段階の回路データ図は図
3(a)と同一となり、第2のネット修正ステップS4
6で、第1のクロックネット28に接続されているバッ
ファ27caを初段としてLSIのクロック端子20に
向かって2段分遡ったバッファの入力端に接続されてい
る第2のクロックネット29を検出し、第3のネット修
正ステップS47で、第2のクロックネット29にマク
ロ用クロック端子24を接続点として追加して新たなク
ロックネット29aとし、第4のネット修正ステップS
48で、不要となった第1のクロックネット28および
バッファ27caを削除して図3(b)の回路データ図
を得る。最後に、回路データ出力ステップS49で図3
(b)のクロックネット修正済み回路データを出力す
る。
【0034】以上に説明した本実施の形態においては、
マクロ内のクロック信号の遅延データ値をもとに等価バ
ッファ段数を算出するので、ハードマクロ内のクロック
バッファ(図2(b)のマクロ内バッファ25a,25
b)一段相当の遅延時間と、ハードマクロ外のクロック
バッファ(図2(b)のバッファ27a,27b,27
c)一段相当の遅延時間とが異なっている場合において
も、ハードマクロ内のFFグループへ到達するまでのク
ロック信号の遅延値と、ハードマクロ外のFFグループ
へ到達するクロック信号の遅延値とを精度よく合わせる
ことができる利点がある。
【0035】LSIチップが複数のハードマクロを含む
場合でも、ステップS41からステップS44までを全
てのハードマクロを含む回路データに対して一括して実
行した後に、ステップS45からステップS48までを
それぞれのハードマクロに対して繰り返して実行し、結
果をステップS49で出力すればよい。
【0036】次に、本発明の第3の実施の形態について
図面を参照して説明する。図5は、本発明の第3の実施
の形態のフロー図である。この第3の実施の形態と第1
の実施の形態との相違は、第1図のCTS処理ステップ
S12とマクロ内バッファ段数入力ステップS13に換
えて、マクロ内バッファ段数入力ステップS52でクロ
ック内バッファの段数データを先に得てから、CTS処
理ステップS53を実行することにより、ハードマクロ
外のクロックツリーを構成するクロックバッファの段数
Mが、ハードマクロ内のバッファ段数N1より大きい段
数となるようにCTS処理を行う点にある。
【0037】図5のフロー図において、回路データ入力
ステップS51は第1の実施形態の図1のステップS1
1と同様であり、回路データ図は図2(a)と同一であ
る。
【0038】次にマクロ内バッファ段数入力ステップS
52で、ハードマクロ内のクロックバッファ段数N1を
外部からまたはハードマクロの回路データベースから抽
出して入力し、これに続くCTS処理ステップS53
で、ハードマクロ外のクロックバッファの段数Mが、ハ
ードマクロ内のバッファ段数N1より大きくなるように
クロックツリーを生成する。ハードマクロ内のバッファ
段数N1=2である場合に、マクロ外のクロックバッフ
ァ段数M=3としてCTS処理を行ったときの回路デー
タ図は図2(b)と同一になり、2段のマクロ内バッフ
ァ25a、25bに対して、マクロ外のクロックツリー
26には3段のクロックバッファ27a,27b,27
cが生成される。
【0039】以後のステップは図1と同様で、第1のネ
ット修正ステップS54、第2のネット修正ステップS
55、第3のネット修正ステップS56、第4のネット
修正ステップS57、回路データ出力ステップS58
は、それぞれ図1における第1のネット修正ステップS
14、第2のネット修正ステップS15、第3のネット
修正ステップS16、第4のネット修正ステップS1
7、回路データ出力ステップS18と同様であり、第1
のネット修正ステップS54でマクロ用クロック端子2
4に接続された第1のクロックネット28の切り離しが
完了した段階の回路データ図は図3(a)と同一とな
り、第2のネット修正ステップS55で、第1のクロッ
クネット28に接続されているバッファ27caを初段
としてLSIのクロック端子20に向かって2段分遡っ
たバッファの入力端に接続されている第2のクロックネ
ット29を検出し、第3のネット修正ステップS56
で、第2のクロックネット29にマクロ用クロック端子
24を接続点として追加して新たなクロックネット29
aとし、第4のネット修正ステップS57で、不要にな
った第1のクロックネット28およびバッファ27ca
を削除して図3(b)の回路データ図を得て、回路デー
タ出力ステップS58でクロックネット修正済み回路デ
ータを出力する。
【0040】通常のCTSで生成するクロックツリーの
バッファ段数よりも、ハードマクロ内のクロック信号経
路のバッファ段数が大きい場合には、第1の実施の形態
である図1のフローでは第2のネット修正ステップS1
5が実行不可能でエラーとなるのに対して、本実施の形
態ではそのような場合でも支障なく実行できるという利
点がある。CTS処理でクロックツリーのバッファ縦列
接続段数を大きくするには、1個のバッファが駆動する
負荷を小さく制限してCTSを実行するか、または通常
のCTSを実行後にFFグループとそれを駆動するバッ
ファの間に付加バッファを必要数挿入すればよい。本実
施例においてLSIチップ内のクロック遅延の低減効果
を最大限に得るために、M=N1+1すなわちマクロ外
のクロックバッファ段数Mがマクロ内のバッファ段数N
1より1段分だけ多くなるようにCTS処理することが
一層望ましい。
【0041】LSIチップが複数のハードマクロを含む
場合には、ステップS52では最大のマクロ内バッファ
段数をもつハードマクロを抽出してそのバッファ段数を
マクロ内バッファ段数として入力するとして、ステップ
S51からステップS53までを全てのハードマクロを
含む回路データに対して一括して実行した後に、ステッ
プS54からステップS57までをそれぞれのハードマ
クロに対して繰り返して実行し、結果をステップS58
で出力すればよい。
【0042】次に、本発明の第4の実施の形態について
図面を参照して説明する。図6は、本発明の第4の実施
の形態のフロー図である。この第4の実施の形態と第2
の実施の形態との相違は、図4のCTS処理ステップS
42、マクロ内遅延値入力ステップS43、バッファ段
数算出ステップS44に換えて、先ずマクロ内遅延値入
力ステップS62でマクロ内でのクロック信号の遅延デ
ータ値データを得てから、バッファ段数算出ステップS
63でハードマクロ内のクロック信号の遅延データ値に
相当するマクロ外のクロックバッファ段数である等価バ
ッファ段数N2を算出し、CTS処理ステップS64に
おいてハードマクロ外のクロックツリーを構成するクロ
ックバッファの段数Mが、等価バッファ段数N2より大
きい段数となるようにしてCTS処理を行う点にある。
【0043】等価バッファ段数N2=2である場合に、
マクロ外のクロックバッファ段数M=3としてCTS処
理を行ったときの回路データ図は図2(b)と同一にな
り、2段のマクロ内バッファ25a、25bに対して、
マクロ外のクロックツリー26には3段のクロックバッ
ファ27a,27b,27cが生成される。
【0044】以後のフローは図4と同様で、第1のネッ
ト修正ステップS65、第2のネット修正ステップS6
6、第3のネット修正ステップS67、第4のネット修
正ステップS68、回路データ出力ステップS69は、
それぞれ図4における第1のネット修正ステップS4
5、第2のネット修正ステップS46、第3のネット修
正ステップS47、第4のネット修正ステップS48、
回路データ出力ステップS49と同様であり、第1のネ
ット修正ステップS65が完了した段階の回路データ図
は図3(a)と同一となり、第2のネット修正ステップ
S66で、マクロ用クロック端子24に接続された第1
のクロックネット28に接続されているバッファ27c
aを初段としてLSIのクロック端子20に向かって2
段分遡ったバッファの入力端に接続されている第2のク
ロックネット29を検出し、第3のネット修正ステップ
S67で、第2のクロックネット29にマクロ用クロッ
ク端子24を接続点として追加して新たなクロックネッ
ト29aとし、第4のネット修正ステップS68で、不
要になった第1のクロックネット28およびバッファ2
7caを削除して図3(b)の回路データ図を得て、回
路データ出力ステップS69でクロックネット修正済み
回路データを出力する。
【0045】本実施の形態は、ハードマクロ内のクロッ
クバッファの一段相当の遅延値と、ハードマクロ外のク
ロックバッファの一段相当の遅延値が異なっており、且
つ通常のCTSで生成するクロックツリーのバッファ段
数よりもハードマクロ内のクロック遅延データ値から求
める等価バッファ段数が大きいと予想される場合にも、
支障なく実行できる利点がある。本実施例においてLS
Iチップ内のクロック遅延の低減効果を最大限に得るた
めに、M=N2+1すなわちマクロ外のクロックバッフ
ァ段数Mが等価バッファ段数N2より1段分だけ多くな
るようにCTS処理することが一層望ましい。
【0046】LSIチップが複数のハードマクロを含む
場合には、ステップS62では最大のマクロ内遅延デー
タ値をもつハードマクロを抽出してその遅延データ値を
入力するとして、ステップS61からステップS64ま
でを全てのハードマクロを含む回路データに対して一括
して実行した後に、ステップS65からステップS68
までをそれぞれのハードマクロに対して繰り返して実行
し、結果をステップS69で出力すればよい。
【0047】
【発明の効果】以上に説明したように、ハードマクロを
含むLSIチップの回路データ作成に当たって、本発明
のクロックスキュー低減方法を適用することにより、L
SIのチップ内部でのクロックスキューを低減できるだ
けでなく、LSIチップ内のクロック信号の遅延をも低
減でき、同時にLSIチップの面積増加を抑制すること
ができるという効果がある。なお、実施の形態において
はハードマクロ、すなわち回路を構成する素子および配
線のレイアウトが固定されているマクロ、を含むLSI
を例として説明したが、本発明はハードマクロを含むL
SIのみに限定されるものではなく、レイアウトは固定
されていなくとも、CTS手法等の適用によりスキュー
調整された回路データを有するソフトマクロを含むLS
Iに対しても同一の効果が得られることは明らかであ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の回路データ処理フ
ロー図である。
【図2】(a)は図1のフロー図における回路データ入
力ステップS11終了時のクロック信号系の回路データ
図で、(b)はCTS処理ステップS12終了時のクロ
ック信号系の回路データ図である。
【図3】(a)は図1のフロー図における第1のネット
修正ステップS14終了時のクロック信号系の回路デー
タ図で、(b)は第4のネット修正ステップS17終了
時のクロック信号系の回路データ図である。
【図4】本発明の第2の実施の形態の回路データ処理フ
ロー図である。
【図5】本発明の第3の実施の形態の回路データ処理フ
ロー図である。
【図6】本発明の第4の実施の形態の回路データ処理フ
ロー図である。
【図7】第1の従来例の回路データ処理フロー図であ
る。
【図8】(a)は図7のフロー図における回路データ入
力ステップS71終了時のクロック信号系の回路データ
図で、(b)はCTS処理ステップS72終了時のクロ
ック信号系の回路データ図である。
【図9】図7のフロー図でLSIがハードマクロを含む
場合のCTS処理ステップS72終了時のクロック信号
系の回路データ図である。
【図10】第2の従来例の回路図データ処理フロー図で
ある。
【図11】図10のフロー図におけるバッファ付加ステ
ップS104終了時のクロック信号系の回路データ図で
ある。
【符号の説明】
20 LSIのクロック端子 21 仮設バッファ 22,22a,22b FFグループ 23 ハードマクロ 24 マクロ用クロック端子 25a,25b マクロ内バッファ 26 クロックツリー 27a,27b,27ba,27c,27ca クロ
ックバッファ 28,29,29a クロックネット 80,81,82,83 フリップフロップ 100a,100b 付加バッファ S11,S41,S51,S61,S71,S101
回路データ入力ステップ S12,S42,S53,S64,S72,S102
CTS処理ステップ S13,S52,S103 マクロ内バッファ段数入
力ステップ S14,S45,S54,S65 第1のネット修正
ステップ S15,S46,S55,S66 第2のネット修正
ステップ S16,S47,S56,S67 第3のネット修正
ステップ S17,S48,S57,S68 第4のネット修正
ステップ S18,S49,S58,S69,S73,S105
回路データ出力ステップ S43,S62 マクロ内遅延値入力ステップ S44,S63 バッファ段数算出ステップ S104 バッファ付加ステップ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA04 5B079 CC02 CC14 DD06 DD08 DD13 5F038 BE10 CA17 CD06 CD08 CD09 EZ09 EZ10 EZ20 5F064 AA01 BB01 DD04 DD31 EE54 HH03 HH06 HH07 HH12

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、LSI用クロック端子と前記LSIに含まれる
    複数のクロック供給対象回路のクロック入力端および前
    記マクロのマクロ用クロック端子との間に、遅延値が略
    等しくなるように負荷を調整されたクロックバッファ回
    路が所定の縦列段数で枝状に分岐接続してなるクロック
    信号路を生成する第1の処理と、前記マクロの内部にお
    けるクロック遅延値に略等しい遅延をもたらす前記クロ
    ックバッファ回路の縦列接続段数値を獲得する第2の処
    理と、前記クロックバッファ回路のうち出力端が第1の
    クロックネットを介して前記マクロ用クロック端子に接
    続された第1のクロックバッファ回路を初段として前記
    LSI用クロック端子へ向かって前記前記縦列接続段数
    値分遡って得られる第2のクロックバッファ回路の入力
    端に接続される第2のクロックネットを検出して前記マ
    クロ用クロック端子の接続先を前記第1のクロックネッ
    トから前記第2のクロックネットへと変更する第3の処
    理とを含むことを特徴とするクロックスキュー低減方
    法。
  2. 【請求項2】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、LSI用クロック端子と前記LSIに含まれる
    複数の第1のクロック供給対象回路のクロック入力端お
    よび前記マクロのマクロ用クロック端子との間に、遅延
    値が略等しくなるように負荷を調整されたクロックバッ
    ファ回路が所定の縦列段数で枝状に分岐接続してなるク
    ロック信号路を生成するクロックツリー合成ステップ
    と、前記マクロ用クロック端子から前記マクロ内部の第
    2のクロック供給対象回路のクロック入力端までの経路
    に設けられたマクロ内バッファ回路の縦列接続段数値を
    入力するマクロ内バッファ段数入力ステップと、前記マ
    クロの外部から前記マクロ用クロック端子に接続する第
    1のクロックネットを切り離す第1のネット修正ステッ
    プと、前記クロックバッファ回路のうち前記第1のクロ
    ックネットに出力端が接続された第1のクロックバッフ
    ァ回路を初段として前記LSI用クロック端子へ向かっ
    て前記縦列接続段数値分遡った第2のクロックバッファ
    回路の入力端に接続される第2のクロックネットを抽出
    する第2のネット修正ステップと、前記第2のクロック
    ネットと前記マクロ用クロック端子とを接続する第3の
    ネット修正ステップと、前記第1のクロックネットの接
    続先が前記第1のクロックバッファ回路の出力端だけの
    ときには前記第1のクロックネットと前記第1のクロッ
    クバッファ回路とを削除する第4のネット修正ステップ
    とを含むことを特徴とするクロックスキュー低減方法。
  3. 【請求項3】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、LSI用クロック端子と前記LSIに含まれる
    複数の第1のクロック供給対象回路のクロック入力端お
    よび前記マクロのマクロ用クロック端子との間に、遅延
    値が略等しくなるように負荷を調整されたクロックバッ
    ファ回路が所定の縦列段数で枝状に分岐接続してなるク
    ロック信号路を生成するクロックツリー合成ステップ
    と、前記マクロ用クロック端子から前記マクロ内部の第
    2のクロック供給対象回路のクロック入力端までの経路
    におけるクロック信号の遅延データ値を入力するマクロ
    内遅延値入力ステップと、前記遅延データ値を前記クロ
    ックバッファ回路の一段あたりの遅延値で除することに
    より前記遅延データ値に略等しい遅延を実現するに要す
    る前記クロックバッファの等価段数値を算出するバッフ
    ァ段数算出ステップと、前記マクロの外部から前記マク
    ロ用クロック端子に接続する第1のクロックネットを切
    り離す第1のネット修正ステップと、前記クロックバッ
    ファ回路のうち前記第1のクロックネットに出力端が接
    続された第1のクロックバッファ回路を初段として前記
    LSI用クロック端子へ向かって前記等価段数値分遡っ
    た第2のクロックバッファ回路の入力端に接続される第
    2のクロックネットを抽出する第2のネット修正ステッ
    プと、前記第2のクロックネットと前記マクロ用クロッ
    ク端子とを接続する第3のネット修正ステップと、前記
    第1のクロックネットの接続先が前記第1のクロックバ
    ッファ回路の出力端だけのときには前記第1のクロック
    ネットと前記第1のクロックバッファ回路とを削除する
    第4のネット修正ステップとを含むことを特徴とするク
    ロックスキュー低減方法。
  4. 【請求項4】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、前記マクロの内部におけるクロック遅延値と略
    等しい遅延に相当するクロックバッファ回路の縦列接続
    段数である第1の縦列接続段数値を獲得する第1の処理
    と、LSI用クロック端子と前記LSIに含まれる複数
    のクロック供給対象回路のクロック入力端および前記マ
    クロのマクロ用クロック端子との間に、遅延値が略等し
    くなるように負荷を調整された複数の前記クロックバッ
    ファ回路が前記第1の縦列接続段数値を超える段数であ
    る第2の縦列接続段数値で枝状に分岐接続してなるクロ
    ック信号路を生成する第2の処理と、前記クロックバッ
    ファ回路のうち出力端が第1のクロックネットを介して
    前記マクロ用クロック端子に接続された第1のクロック
    バッファ回路を初段として前記LSI用クロック端子へ
    向かって前記前記縦列接続段数値分遡って得られる第2
    のクロックバッファ回路の入力端に接続される第2のク
    ロックネットを検出して前記マクロ用クロック端子の接
    続先を前記第1のクロックネットから前記第2のクロッ
    クネットへと変更する第3の処理とを含むことを特徴と
    するクロックスキュー低減方法。
  5. 【請求項5】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、前記マクロのマクロ用クロック端子から前記マ
    クロ内部の第1のクロック供給対象回路のクロック入力
    端までの経路に設けられたマクロ内バッファ回路の縦列
    接続段数である第1の縦列接続段数値を入力するマクロ
    内バッファ段数入力ステップと、LSI用クロック端子
    と前記LSIに含まれる複数の第2のクロック供給対象
    回路のクロック入力端および前記マクロ用クロック端子
    との間に、遅延値が略等しくなるように負荷を調整され
    た複数の前記クロックバッファ回路が前記第1の縦列接
    続段数値を超える段数である第2の縦列接続段数値で枝
    状に分岐接続してなるクロック信号路を生成するクロッ
    クツリー合成ステップと、外部から前記マクロ用クロッ
    ク端子に接続する第1のクロックネットを切り離す第1
    のネット修正ステップと、前記クロックバッファ回路の
    うち前記第1のクロックネットに出力端が接続された第
    1のクロックバッファ回路を初段として前記LSI用ク
    ロック端子へ向かって前記第1の縦列接続段数値分遡っ
    た第2のクロックバッファ回路の入力端に接続される第
    2のクロックネットを抽出する第2のネット修正ステッ
    プと、前記第2のクロックネットと前記マクロ用クロッ
    ク端子とを接続する第3のネット修正ステップと、前記
    第1のクロックネットの接続先が前記第1のクロックバ
    ッファ回路の出力端だけのときには前記第1のクロック
    ネットと前記第1のクロックバッファ回路とを削除する
    第4のネット修正ステップとを含むことを特徴とするク
    ロックスキュー低減方法。
  6. 【請求項6】 予め内部のクロックスキュー調整がなさ
    れたマクロを含むLSIのクロックスキュー低減方法に
    おいて、前記マクロのマクロ用クロック端子から前記マ
    クロ内部の第1のクロック供給対象回路のクロック入力
    端までの経路におけるクロック信号の遅延データ値を入
    力するマクロ内遅延値入力ステップと、前記遅延データ
    値を遅延値が略等しくなるように負荷を調整されたクロ
    ックバッファ回路の一段の遅延時間で除することにより
    前記遅延データ値に略等しい遅延を実現するに要するク
    ロックバッファの等価段数である第1の縦列接続段数値
    を算出するバッファ段数算出ステップと、LSI用クロ
    ック端子と前記LSIに含まれる複数の第2のクロック
    供給対象回路のクロック入力端および前記マクロ用クロ
    ック端子との間に、複数の前記クロックバッファ回路が
    前記第1の縦列接続段数値を超える段数である第2の縦
    列接続段数値で枝状に分岐接続してなるクロック信号路
    を生成するクロックツリー合成ステップと、外部から前
    記マクロ用クロック端子に接続する第1のクロックネッ
    トを切り離す第1のネット修正ステップと、前記クロッ
    クバッファ回路のうち前記第1のクロックネットに出力
    端が接続された第1のクロックバッファ回路を初段とし
    て前記LSI用クロック端子へ向かって前記等価段数値
    分遡った第2のクロックバッファ回路の入力端に接続さ
    れる第2のクロックネットを抽出する第2のネット修正
    ステップと、前記第2のクロックネットと前記マクロ用
    クロック端子とを接続する第3のネット修正ステップ
    と、前記第1のクロックネットの接続先が前記第1のク
    ロックバッファ回路の出力端だけのときには前記第1の
    クロックネットと前記第1のクロックバッファ回路とを
    削除する第4のネット修正ステップとを含むことを特徴
    とするクロックスキュー低減方法。
  7. 【請求項7】 LSIのLSI用クロック端子と前記L
    SIに含まれる複数のクロック供給対象回路のクロック
    入力端およびマクロのマクロ用クロック端子との間に、
    遅延値が略等しくなるように負荷を調整されたクロック
    バッファ回路が所定の縦列段数で枝状に分岐接続してな
    るクロック信号路を生成する第1のプログラムと、前記
    マクロの内部におけるクロック遅延値に略等しい遅延を
    もたらす前記クロックバッファ回路の縦列接続段数値を
    獲得する第2のプログラムと、前記クロックバッファ回
    路のうち出力端が第1のクロックネットを介して前記マ
    クロ用クロック端子に接続された第1のクロックバッフ
    ァ回路を初段として前記LSI用クロック端子へ向かっ
    て前記前記縦列接続段数値分遡って得られる第2のクロ
    ックバッファ回路の入力端に接続される第2のクロック
    ネットを検出して前記マクロ用クロック端子の接続先を
    前記第1のクロックネットから前記第2のクロックネッ
    トへと変更する第3のプログラムとを備えることを特徴
    とするクロックスキュー低減方法を記録したコンピュー
    タ読み取り可能な記録媒体。
  8. 【請求項8】 LSIのLSI用クロック端子と前記L
    SIに含まれる複数の第1のクロック供給対象回路のク
    ロック入力端およびマクロのマクロ用クロック端子との
    間に、遅延値が略等しくなるように負荷を調整されたク
    ロックバッファ回路が所定の縦列段数で枝状に分岐接続
    してなるクロック信号路を生成する第1のプログラム
    と、前記マクロ用クロック端子から前記マクロ内部の第
    2のクロック供給対象回路のクロック入力端までの経路
    に設けられたマクロ内バッファ回路の縦列接続段数値を
    入力する第2のプログラムと、外部から前記マクロ用ク
    ロック端子に接続する第1のクロックネットを切り離
    し、前記クロックバッファ回路のうち前記第1のクロッ
    クネットに出力端が接続された第1のクロックバッファ
    回路を初段として前記LSI用クロック端子へ向かって
    前記縦列接続段数値分遡った第2のクロックバッファ回
    路の入力端に接続される第2のクロックネットを抽出し
    て前記第2のクロックネットと前記マクロ用クロック端
    子とを接続し、前記第1のクロックネットの接続先が前
    記第1のクロックバッファ回路の出力端だけのときには
    前記第1のクロックネットと前記第1のクロックバッフ
    ァ回路とを削除する第3のプログラムとを備えることを
    特徴とするクロックスキュー低減方法を記録したコンピ
    ュータ読み取り可能な記録媒体。
  9. 【請求項9】 LSIのLSI用クロック端子と前記L
    SIに含まれる複数の第1のクロック供給対象回路のク
    ロック入力端およびマクロのマクロ用クロック端子との
    間に、遅延値が略等しくなるように負荷を調整されたク
    ロックバッファ回路が所定の縦列段数で枝状に分岐接続
    してなるクロック信号路を生成する第1のプログラム
    と、前記マクロ用クロック端子から前記マクロ内部の第
    2のクロック供給対象回路のクロック入力端までの経路
    におけるクロック信号の遅延データ値を入力し、前記遅
    延データ値を前記クロックバッファ回路の一段あたりの
    遅延値で除することにより前記遅延データ値に略等しい
    遅延を実現するに要するクロックバッファの等価段数を
    算出する第2のプログラムと、外部から前記マクロ用ク
    ロック端子に接続する第1のクロックネットを切り離
    し、前記クロックバッファ回路のうち前記第1のクロッ
    クネットに出力端が接続された第1のクロックバッファ
    回路を初段として前記LSI用クロック端子へ向かって
    前記等価段数値分遡った第2のクロックバッファ回路の
    入力端に接続される第2のクロックネットを抽出して前
    記第2のクロックネットと前記マクロのクロック端子と
    を接続し、前記第1のクロックネットの接続先が前記第
    1のクロックバッファ回路の出力端だけのときには前記
    第1のクロックネットと前記第1のクロックバッファ回
    路とを削除する第3のプログラムとを備えることを特徴
    とするクロックスキュー低減方法を記録したコンピュー
    タ読み取り可能な記録媒体。
  10. 【請求項10】 LSIに含まれるマクロの内部におけ
    るクロック遅延値と略等しい遅延に相当するクロックバ
    ッファ回路の縦列接続段数である第1の縦列接続段数値
    を獲得する第1のプログラムと、LSI用クロック端子
    と前記LSIに含まれる各クロック供給対象回路のクロ
    ック入力端および前記マクロのマクロ用クロック端子と
    の間に、遅延値が略等しくなるように負荷を調整された
    複数の前記クロックバッファ回路が前記第1の縦列接続
    段数値を超える段数である第2の縦列接続段数値で枝状
    に分岐接続してなるクロック信号路を生成する第2のプ
    ログラムと、前記クロックバッファ回路のうち出力端が
    第1のクロックネットを介して前記マクロ用クロック端
    子に接続された第1のクロックバッファ回路を初段とし
    て前記LSI用クロック端子へ向かって前記前記縦列接
    続段数値分遡って得られる第2のクロックバッファ回路
    の入力端に接続される第2のクロックネットを検出して
    前記マクロ用クロック端子の接続先を前記第1のクロッ
    クネットから前記第2のクロックネットへと変更する第
    3のプログラムとを備えることを特徴とするクロックス
    キュー低減方法を記録したコンピュータ読み取り可能な
    記録媒体。
  11. 【請求項11】 LSIに含まれるマクロのマクロ用ク
    ロック端子から前記マクロ内部の第1のクロック供給対
    象回路のクロック入力端までの経路に設けられたマクロ
    内バッファ回路の縦列接続段数である第1の縦列接続段
    数値を入力する第1のプログラムと、LSI用クロック
    端子と前記LSIに含まれる複数の第2のクロック供給
    対象回路のクロック入力端および前記マクロ用クロック
    端子との間に、遅延値が略等しくなるように負荷を調整
    されたクロックバッファ回路が前記第1の縦列接続段数
    値を超える段数である第2の縦列接続段数値で枝状に分
    岐接続してなるクロック信号路を生成する第2のプログ
    ラムと、外部から前記マクロ用クロック端子に接続する
    第1のクロックネットを切り離し、前記クロックバッフ
    ァ回路のうち前記第1のクロックネットに出力端が接続
    された第1のクロックバッファ回路を初段として前記L
    SI用クロック端子へ向かって前記第1の縦列接続段数
    値分遡った第2のクロックバッファ回路の入力端に接続
    される第2のクロックネットを抽出して前記第2のクロ
    ックネットと前記マクロ用クロック端子とを接続し、前
    記第1のクロックネットの接続先が前記第1のクロック
    バッファ回路の出力端だけのときには前記第1のクロッ
    クネットと前記第1のクロックバッファ回路とを削除す
    る第3のプログラムとを備えることを特徴とするクロッ
    クスキュー低減方法を記録したコンピュータ読み取り可
    能な記録媒体。
  12. 【請求項12】 LSIに含まれるマクロのマクロ用ク
    ロック端子から前記マクロ内部の第1のクロック供給対
    象回路のクロック入力端までの経路におけるクロック信
    号の遅延データ値を入力し、前記遅延データ値を遅延値
    が略等しくなるように負荷を調整されたクロックバッフ
    ァ回路の一段の遅延時間で除することにより前記遅延デ
    ータ値に略等しい遅延を実現するに要する前記クロック
    バッファの等価段数である第1の縦列接続段数値を算出
    する第1のプログラムと、LSI用クロック端子と前記
    LSIに含まれる複数の第2のクロック供給対象回路の
    クロック入力端および前記マクロ用クロック端子との間
    に、複数の前記クロックバッファ回路が前記第1の縦列
    接続段数値を超える段数である第2の縦列接続段数値で
    枝状に分岐接続してなるクロック信号路を生成する第2
    のプログラムと、外部から前記マクロ用クロック端子に
    接続する第1のクロックネットを切り離し、前記クロッ
    クバッファ回路のうち前記第1のクロックネットに出力
    端が接続された第1のクロックバッファ回路を初段とし
    て前記LSI用クロック端子へ向かって前記等価段数値
    分遡った第2のクロックバッファ回路の入力端に接続さ
    れる第2のクロックネットを抽出して前記第2のクロッ
    クネットと前記マクロ用クロック端子とを接続し、前記
    第1のクロックネットの接続先が前記第1のクロックバ
    ッファ回路の出力端だけのときには前記第1のクロック
    ネットと前記第1のクロックバッファ回路とを削除する
    第3のプログラムとを備えることを特徴とするクロック
    スキュー低減方法を記録したコンピュータ読み取り可能
    な記録媒体。
JP01901499A 1999-01-27 1999-01-27 クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3251250B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01901499A JP3251250B2 (ja) 1999-01-27 1999-01-27 クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01901499A JP3251250B2 (ja) 1999-01-27 1999-01-27 クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2000222444A true JP2000222444A (ja) 2000-08-11
JP3251250B2 JP3251250B2 (ja) 2002-01-28

Family

ID=11987651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01901499A Expired - Fee Related JP3251250B2 (ja) 1999-01-27 1999-01-27 クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3251250B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130285A (ko) * 2013-03-15 2015-11-23 시놉시스, 인크. 자동 클록 트리 합성 예외 생성

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130285A (ko) * 2013-03-15 2015-11-23 시놉시스, 인크. 자동 클록 트리 합성 예외 생성
KR102129649B1 (ko) 2013-03-15 2020-07-02 시놉시스, 인크. 자동 클록 트리 합성 예외 생성

Also Published As

Publication number Publication date
JP3251250B2 (ja) 2002-01-28

Similar Documents

Publication Publication Date Title
US5490268A (en) Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates
JP3317948B2 (ja) 半導体集積回路のレイアウト設計方法及び半導体集積回路
US5416718A (en) Circuit design support system and circuit producing method
JPH0798616A (ja) クロック信号分配回路
JPH0736422B2 (ja) クロック供給回路
JP2002245109A (ja) 半導体集積回路の設計方法及び設計システム
CN114997087A (zh) 一种时钟树的优化方法、优化装置和相关设备
GB2532284A (en) Method to reduce dynamic clock skew and/or slew in an electronic circuit
JP3251250B2 (ja) クロックスキュー低減方法及びクロックスキュー低減方法を記録したコンピュータ読み取り可能な記録媒体
JP3599017B2 (ja) クロック伝搬遅延時間の調整方法
JP2005184262A (ja) 半導体集積回路及びその製造方法
US20030038664A1 (en) Semiconductor integrated circuit
JP2701779B2 (ja) クロックスキュー低減方法
JP3320469B2 (ja) データ処理回路配置
JP2000276504A (ja) 論理接続情報変換装置
JP3387847B2 (ja) 半導体集積回路およびその製造方法
US20080079468A1 (en) Layout method for semiconductor integrated circuit
JPH113945A (ja) 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路
JP2000055986A (ja) 半導体集積回路の設計方法
JP3052955B1 (ja) クロックラインツリ―構築方法
JP2732326B2 (ja) 論理回路のパスディレイの計算方式及び計算装置
JP3178127B2 (ja) 自動レイアウト手法による半導体集積回路のブロック配置方法
JP3104746B2 (ja) クロックツリーレイアウト装置
JPH11232311A (ja) クロックツリー及びその合成方法
JPH09259173A (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: 20011016

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees