JP3504739B2 - 階層レイアウト設計を用いたクロック配線設計方法 - Google Patents

階層レイアウト設計を用いたクロック配線設計方法

Info

Publication number
JP3504739B2
JP3504739B2 JP21638494A JP21638494A JP3504739B2 JP 3504739 B2 JP3504739 B2 JP 3504739B2 JP 21638494 A JP21638494 A JP 21638494A JP 21638494 A JP21638494 A JP 21638494A JP 3504739 B2 JP3504739 B2 JP 3504739B2
Authority
JP
Japan
Prior art keywords
layout
wiring
delay branch
equal
clock signal
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 - Lifetime
Application number
JP21638494A
Other languages
English (en)
Other versions
JPH0883885A (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.)
Fujitsu Ltd
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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 Fujitsu Ltd, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP21638494A priority Critical patent/JP3504739B2/ja
Publication of JPH0883885A publication Critical patent/JPH0883885A/ja
Priority to US08/951,480 priority patent/US5889682A/en
Application granted granted Critical
Publication of JP3504739B2 publication Critical patent/JP3504739B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0213Electrical arrangements not otherwise provided for
    • H05K1/0237High frequency adaptations
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/0005Apparatus or processes for manufacturing printed circuits for designing circuits by computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図28〜図31) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例(図2〜図27) 発明の効果
【0002】
【産業上の利用分野】本発明は、LSIやプリント基板
などにおける配線パタン,セル等のレイアウト設計を行
なう際に用いられる方法および装置に関し、特に、階層
レイアウト設計(hierarchical layout design)を用いて
クロック信号線の配線設計を行なうクロック配線設計方
法に関する。
【0003】一般に、LSIやプリント基板におけるレ
イアウト設計を行なう際、クロック信号を与える1つの
ドライバ端子とそのクロック信号を受信すべき複数のレ
シーバ端子との間に配線されるクロック信号線は、ドラ
イバ端子からのクロック信号が各レシーバ端子へほぼ同
時(理想的には全く同時)に到達するように配線される
ことが望まれる。クロック信号がドライバ端子から各レ
シーバ端子へ到達するまでの時間のばらつきを、クロッ
クスキューと呼ぶ。
【0004】近年、LSI等においてはクロック周波数
が高まるにつれて、クロック信号のゼロスキュー配線つ
まりクロックスキューがゼロとなるような配線が要求さ
れている。また、LSI等の集積度が上がるにつれて、
レイアウト設計時間の短縮化も要求されている。これら
の2つの要求を満たすために、階層レイアウト設計方式
によりレイアウト設計時間を短縮しながら、クロック信
号線のスキューの最小化をも実現する必要がある。
【0005】なお、階層レイアウト設計方式は、チップ
上の配線設計対象領域を複数のレイアウト階層に分割
し、各レイアウト階層毎にその内部の配線設計を行なっ
た後に各レイアウト階層相互間の配線を行なうことによ
り、チップ全体の配線設計を完了するものである。この
ような階層レイアウト設計方式を用いることで、LSI
等の集積度が上がった場合などに、チップ全体の配線設
計を一度に行なう手法に比べてレイアウト設計時間を大
幅に短縮することができる。
【0006】
【従来の技術】図28〜図31により、階層レイアウト
設計を用いて行なわれる一般的なクロック信号線の配線
設計手順について説明する。なお、図28〜図31にお
いて、太線で囲まれた領域“Layout0”はチップレベル
の領域(配線対象のチップ全体)を示し、細線で囲まれ
た領域“Layout1”〜“Layout5”は、それぞれチップ
上の領域“Layout0”内において分割・設定されたレイ
アウト階層を示している。ここでは、5つのレイアウト
階層が設定された場合について図示する。
【0007】また、図28〜図31において、“●”は
クロック信号を与えるドライバ端子DV1を示し、
“○”はドライバ端子DV1からのクロック信号を受信
すべきレシーバ端子RV1〜RV4を示し、“◎”は各
レイアウト階層“Layout1”〜“Layout5”の領域境界
上に設定されるクロック供給端子M0〜M4を示してい
る。
【0008】そして、図28〜図31では、レイアウト
階層“Layout1”内に1つのドライバ端子DV1を配置
するとともに、レイアウト階層“Layout2”〜“Layout
5”内にそれぞれレシーバ端子RV1,RV4,RV
2,RV3を配置した場合が示されている。まず、図2
8に示すように、チップ上の全領域“Layout0”内を例
えば5つの領域“Layout1”〜“Layout5”に分割する
ことにより、チップ全体に対してレイアウト階層化を行
なってから、図29に示すように、各レイアウト階層
“Layout1”〜“Layout5”の領域境界上においてクロ
ック供給端子M0〜M4の配置位置を決定する。
【0009】クロック供給端子は1つのレイアウト階層
に対して1つずつ設定され、図29に示す例では、レイ
アウト階層“Layout1”の境界上にはドライバ端子DV
1からのクロック信号をレイアウト階層“Layout1”外
へ出力するためのクロック供給端子M0が設定され、レ
イアウト階層“Layout2”〜“Layout5”の境界上に
は、それぞれクロック信号をレシーバ端子RV1,RV
4,RV2,RV3へ供給するためのクロック供給端子
M1,M4,M2,M3が設定される。
【0010】次に、図30に示すように、各レイアウト
階層“Layout1”〜“Layout5”毎にその内部における
クロック信号線の配線処理、つまり、ドライバ端子DV
1とクロック供給端子M0との間、および、レシーバ端
子RV1〜RV4とクロック供給端子M1〜M4との間
の配線設計を行なってから、最後に、図31に示すよう
に、各レイアウト階層“Layout1”〜“Layout5”の領
域境界上に設定されたクロック供給端子M0〜M4相互
間の配線接続設計を行なっている。
【0011】
【発明が解決しようとする課題】しかしながら、上述し
た階層レイアウト設計を用いた従来のクロック配線設計
手順では、各レイアウト階層毎に配線設計を行なってか
ら、各レイアウト階層相互間の接続を行なうため、以下
のような課題がある。 各レイアウト階層内の配線設計を行なう際に、他のレ
イアウト階層内における配線設計状態を考慮することが
できない。
【0012】レイアウト階層どうしでバランスのとれ
た配線を行なえない。 チップ全体を考慮したクロック配線を行なえない。 従って、階層レイアウト設計を用いることによりレイア
ウト設計時間を短縮することはできても、配線設計の自
由度が低くなるために、クロックスキューを最小化しゼ
ロスキュー配線を実現するためには、トライ・アンド・
エラーで配線設計を何度か繰り返し行なう必要があり、
却ってレイアウト設計時間が増大してしまうことにな
る。
【0013】また、実際にLSI等のレイアウト設計を
進めるに当たっては、一部のレイアウト階層のみのレイ
アウト設計が先行する場合があり、全てのレイアウト階
層の配線設計が終了していなくてもクロック信号線の配
線処理が要求されることも考えられるが、上述した従来
のクロック配線設計手順では、全てのレイアウト階層の
配置と各レイアウト階層内のセル配置とが終了していな
ければ、クロック信号のように各階層に分岐する信号系
の配線設計を行なえないなどの課題もある。
【0014】本発明は、このような課題に鑑み創案され
たもので、クロック信号系が複数のレイアウト階層に分
岐していても、分岐先の各レイアウト階層を意識し且つ
配線設計対象領域全体を考慮しながらレイアウト階層単
位に配線設計を行なえるようにして、クロックスキュー
の最小化を実現しつつ配線設計時間の短縮化をも実現で
きるようにした、階層レイアウト設計を用いたクロック
配線設計方法を提供することを目的とする。
【0015】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明の階層レイアウト設計を用いたクロッ
ク配線設計方法は、配線設計対象領域を複数のレイアウ
ト階層に分割して配線設計を行なう際に、クロック信号
を与えるドライバ端子とこのドライバ端子からのクロッ
ク信号を受信すべき複数のレシーバ端子との間にクロッ
ク信号線を配線するためのものであって、図1に示す2
つのステップS1,S2の処理を踏むことにより実施さ
れる。
【0016】 つまり、ステップS1で、各レシーバ端
子へのクロック信号到達時間が等しくなる等ディレイ分
岐点を考慮しながら、複数のレイアウト階層間にまたが
って複数のレシーバ端子間にクロック信号線を配線して
から、ステップS2で、複数のレシーバ端子間における
等ディレイ分岐点とドライバ端子との間にクロック信号
線を配線する。より具体的には、前記複数のレイアウト
階層間にまたがって前記複数のレシーバ端子間にクロッ
ク信号線を配線すべく、前記複数のレシーバ端子を2個
1組のペアにグループ分けするレシーバ端子ペア作成処
理を行ない、前記レシーバ端子ペア作成処理によりグル
ープ分けされた各ペア毎に、当該ペアのレシーバ端子間
のクロック信号線を仮配線するレシーバ端子間接続処理
と、当該ペアのレシーバ端子間のクロック信号線上にお
いて両レシーバ端子へのクロック信号到達時間が等しく
なる等ディレイ分岐点を探索する等ディレイ分岐点探索
処理とを行ない、当該ペアのレシーバ端子間のクロック
信号線について、前記等ディレイ分岐点探索処理により
探索された等ディレイ分岐点を含むレイアウト階層内
で、前記等ディレイ分岐点探索処理により探索された等
ディレイ分岐点の位置が等ディレイ分岐点となる状態を
保持しながら、当該ペアのレシーバ端子間のクロック信
号線が当該ペアのレシーバ端子間に対して予め指定され
た指定配線長となるように実配線としての指定長配線を
行なってから、前記複数のレシーバ端子間における等デ
ィレイ分岐点と前記ドライバ端子との間におけるクロッ
ク信号線の配線を行なう(請求項1)。
【0017】
【0018】 また、等ディレイ分岐点探索処理により
探索された等ディレイ分岐点が複数個存在する場合に
は、複数の等ディレイ分岐点を2個1組のペアにグルー
プ分けする等ディレイ分岐点ペア作成処理を行ない、各
ペア毎に、当該ペアの等ディレイ分岐点間のクロック信
号線を配線する等ディレイ分岐点間接続処理と、当該ペ
アの等ディレイ分岐点間のクロック信号線上において等
ディレイ分岐点を探索する等ディレイ分岐点再探索処理
を行なってから、等ディレイ分岐点ペア作成処理,等デ
ィレイ分岐点間接続処理および等ディレイ分岐点再探索
処理を、等ディレイ分岐点が少なくとも1個になるまで
繰り返し行なう(請求項)。
【0019】 上述したレシーバ端子間接続処理に際し
ては、各ペアのレシーバ端子間で最短かつレイアウト階
層境界辺の通過数が最小となるレイアウト階層間経路を
選択し、そのレイアウト階層間経路が通過するレイアウ
ト階層境界辺上における最適位置にレイアウト階層接続
端子を配置してから、そのレイアウト階層接続端子を通
過し且つ当該ペアのレシーバ端子間を結ぶクロック信号
線の最短配線を行ない、等ディレイ分岐点探索処理に際
して、当該最短配線により得られた当該ペアのレシーバ
端子間のクロック信号線上において等ディレイ分岐点を
探索するようにする(請求項)。
【0020】 このとき、前記等ディレイ分岐点探索処
理により探索された等ディレイ分岐点を含むレイアウト
階層内で当該ペアのレシーバ端子間の指定長配線を行な
えない場合には、当該等ディレイ分岐点を含まない他方
のレイアウト階層におけるクロック信号線も当該指定長
配線対象とする(請求項)。
【0021】 また、上述した等ディレイ分岐点間接続
処理に際しても、レシーバ端子間接続処理と同様に、各
ペアの等ディレイ分岐点間で最短かつレイアウト階層境
界辺の通過数が最小となるレイアウト階層間経路を選択
し、そのレイアウト階層間経路が通過するレイアウト階
層境界辺上における最適位置にレイアウト階層接続端子
を配置してから、そのレイアウト階層接続端子を通過し
且つ当該ペアの等ディレイ分岐点間を結ぶクロック信号
線の最短配線を行ない、等ディレイ分岐点再探索処理に
際して、当該最短配線により得られた当該ペアの等ディ
レイ分岐点間のクロック信号線上において等ディレイ分
岐点を探索するようにする(請求項)。
【0022】 このときも、当該ペアの等ディレイ分岐
点間のクロック信号線について、等ディレイ分岐点再探
索処理により探索された等ディレイ分岐点を含むレイア
ウト階層内で、前記等ディレイ分岐点再探索処理により
探索された等ディレイ分岐点の位置が等ディレイ分岐点
となる状態を保持しながら、当該ペアの等ディレイ分岐
点間のクロック信号線が当該ペアの等ディレイ分岐点間
に対して予め指定された指定配線長となるように実配線
としての指定長配線を行なう(請求項)。前記等ディ
レイ分岐点再探索処理により探索された等ディレイ分岐
点を含むレイアウト階層内で当該ペアの等ディレイ分岐
点間の指定長配線を行なえない場合には、当該等ディレ
イ分岐点を含まない他方のレイアウト階層におけるクロ
ック信号線も当該指定長配線対象とする(請求項
)。
【0023】 一方、相互間を配線されていない等ディ
レイ分岐点のペアが1組のみになった場合には、ドライ
バ端子と当該ペアの等ディレイ分岐点との間で最短かつ
レイアウト階層境界辺の通過数が最小となるレイアウト
階層間経路を選択し、そのレイアウト階層間経路が通過
したレイアウト階層境界辺上における最適位置にレイア
ウト階層接続端子を配置してから、そのレイアウト階層
接続端子を通過し且つドライバ端子と当該ペアの等ディ
レイ分岐点との間を結ぶクロック信号線について、ドラ
イバ端子から各等ディレイ分岐点へのクロック信号到達
時間が等しくなるように且つ所定配線長になるように各
レイアウト階層毎に指定配線長を割り当て、当該クロッ
ク信号線が各レイアウト階層で割り当てられた前記指定
配線長となるように実配線としての指定長配線を行なう
(請求項)。
【0024】 また、等ディレイ分岐点が1個のみにな
った場合には、ドライバ端子と当該等ディレイ分岐点と
の間で最短かつレイアウト階層境界辺の通過数が最小と
なるレイアウト階層間経路を選択し、そのレイアウト階
層間経路が通過したレイアウト階層境界辺上における最
適位置にレイアウト階層接続端子を配置してから、その
レイアウト階層接続端子を通過し且つドライバ端子と当
該等ディレイ分岐点との間を結ぶクロック信号線につい
て所定配線長になるように各レイアウト階層毎に指定配
線長を割り当て、当該クロック信号線が各レイアウト階
層で割り当てられた前記指定配線長となるように実配線
としての指定長配線を行なう(請求項)。
【0025】 さらに、配線設計対象領域に属するドラ
イバ端子およびレシーバ端子のうち、その端子をもつセ
ルが所定のレイアウト階層内で未だ配置されていないも
のが存在する場合には、当該セルが当該セルの属するレ
イアウト階層の中央に配置されているものと仮定して、
クロック信号線の配線設計を行なうようにする(請求項
)。
【0026】
【作用】図1により上述した本発明の階層レイアウト設
計を用いたクロック配線設計方法では、ステップS1の
処理により複数のレイアウト階層間にまたがって複数の
レシーバ端子間にクロック信号線が配線され、ステップ
S2の処理により複数のレシーバ端子間における等ディ
レイ分岐点とドライバ端子との間にクロック信号線が配
線されるので、クロック信号系が複数のレイアウト階層
に分岐しても、各レイアウト階層を意識し且つ配線設計
対象領域全体を考慮しながらレイアウト階層単位に配線
設計を行なうことができる(請求項1)。
【0027】 ステップS1の処理に際しては、レシー
バ端子ペア作成処理によりグループ分けされた各ペア毎
に、レシーバ端子間接続処理および等ディレイ分岐点探
索処理が行なわれるので、各ペア毎にレシーバ端子間の
配線設計を容易に行なえ、また、各ペア毎の等ディレイ
分岐点を容易に探索できる(請求項)。また、等ディ
レイ分岐点が複数個存在する場合には、等ディレイ分岐
点ペア作成処理によりグループ分けされた各ペア毎に、
等ディレイ分岐点間接続処理および等ディレイ分岐点再
探索処理が行なわれ、各ペア毎に等ディレイ分岐点間の
配線設計を容易に行なえ、また、各ペア毎の等ディレイ
分岐点を容易に探索でき、これらの処理を繰り返し実行
することにより、複数のレシーバ端子間における等ディ
レイ分岐点を少なくとも1個まで容易に限定できる(請
求項)。
【0028】 上述したレシーバ端子間接続処理および
等ディレイ分岐点間接続処理では、各ペアのレシーバ端
子間もしくは等ディレイ分岐点間で最適なレイアウト階
層間経路および最適なレイアウト階層接続端子を選択し
て各ペアの最短配線が行なわれ、当該最短配線により得
られたクロック信号線上において等ディレイ分岐点が探
索され、その等ディレイ分岐点をドライバ端子に接続す
ることで、複数のレシーバ端子のクロックスキューを最
小化することができる(請求項)。
【0029】 このとき、等ディレイ分岐点を含むレイ
アウト階層内で、最短配線されたクロック信号線を、等
ディレイ分岐点の位置を保持しながら決めれた配線長に
なるように配線することにより、指定長配線が行なわれ
るが(請求項)、等ディレイ分岐点を含むレイア
ウト階層内だけで指定長配線を行なえない場合には、他
のレイアウト階層におけるクロック信号線に対しても指
定長配線を行なう(請求項)。
【0030】 一方、等ディレイ分岐点のペアが1組の
みになった場合には、ドライバ端子と各等ディレイ分岐
点との間で最適なレイアウト階層間経路および最適なレ
イアウト階層接続端子を選択し、レイアウト階層接続端
子を通過してドライバ端子と各等ディレイ分岐点との間
を結ぶクロック信号線が、ドライバ端子を等ディレイ分
岐点とし且つ所定配線長になるように配線されるので、
複数のレシーバ端子のクロックスキューを最小化するこ
とができる(請求項)。
【0031】 また、等ディレイ分岐点が1個のみにな
った場合には、ドライバ端子と等ディレイ分岐点との間
で最適なレイアウト階層間経路および最適なレイアウト
階層接続端子を選択し、レイアウト階層接続端子を通過
してドライバ端子と等ディレイ分岐点との間を結ぶクロ
ック信号線が所定配線長になるように配線されるので、
複数のレシーバ端子のクロックスキューを最小化するこ
とができる(請求項)。
【0032】 さらに、ドライバ端子およびレシーバ端
子の中に、所定レイアウト階層内に未配置のものが存在
する場合には、そのセルが所定レイアウト階層の中央に
配置されているものと仮定して、クロック信号線の配線
設計を行なうことにより、全てのレイアウト階層におい
てセル配置が決定していなくても、セル配置の決定した
レイアウト階層においてクロック信号線の配線処理を先
行して行なうことができる(請求項1)。
【0033】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図2は本実施例の方法を適用されるワークステー
ションの構成を示すブロック図で、本実施例のクロック
配線設計方法は、図2に示すような構成の、階層レイア
ウト設計可能なソフトウエアをもつワークステーション
により実施される。この図2において、1はデータベー
ス(DB)、2は中央処理部(CPU)、3はメモリ、
4はグラフィックディスプレイ、5はキーボード,マウ
ス等の入力部である。
【0034】ここで、データベース1は、配線設計対象
のLSI等のチップについての設計データ(セル,セル
配置情報,レイアウト階層領域情報等)を格納するもの
であり、中央処理部2は、メモリ3に格納される階層レ
イアウト設計用のプログラムに従って動作し、データベ
ース1からの設計データに基づいて、配線設計対象領域
に対して階層レイアウト設計による配線設計を行なうも
のである。
【0035】また、メモリ3は、前述のように階層レイ
アウト設計用のプログラムを格納するほか、図15,図
25〜図27にて後述するクロック配線設計に必要な各
種テーブル等を格納するものであり、グラフィックディ
スプレイ4は、配線設計対象領域における配線設計状況
を、例えば図10〜図14や図16〜図24に示すよう
に逐次表示するものであり、入力部5は、配線設計に必
要なデータを適宜入力するためのものである。
【0036】この図2に示すようなワークステーション
を用いて、以下に図3〜図24により説明するごとく、
階層レイアウト設計によりクロック信号線の配線設計が
行なわれる。本実施例のクロック配線設計方法は、1つ
のクロック信号系に着目し、そのクロック信号系におい
て1つのドライバ端子から複数のレシーバ端子へのクロ
ック信号の到達時間(ディレイ)が等しくなるように、
レイアウト階層間を縫ってクロック信号線の配線設計を
行なうものである。従って、このような方法により全て
のクロック信号系の配線設計を行なうことで、LSI等
の配線設計対象全体でのクロックスキューの最小化(ゼ
ロスキュー配線)を実現できるようになっている。
【0037】本実施例のクロック配線設計方法により配
線設計を行なうに当たって、図3,図4にそれぞれ示す
2つの配線モデルを予め設定しておく。なお、これらの
図3,図4にはドライバ端子が1個、レシーバ端子が4
個の場合のモデル例が示されているが、これに限定され
るものではない。図3,図4において、“●”はクロッ
ク信号を与えるドライバ端子DVを示し、“○”はドラ
イバ端子DVからのクロック信号を受信すべきレシーバ
端子RV1〜RV4を示し、“□”は等ディレイ分岐点
ED1〜ED3を示し、l,r,wは指定配線長を示し
ている。
【0038】また、ED1は、レシーバ端子RV1,R
V2間のクロック信号線上の等ディレイ分岐点であり、
ED2は、レシーバ端子RV3,RV4間のクロック信
号線上の等ディレイ分岐点であり、ED3は、等ディレ
イ分岐点ED1,ED2間のクロック信号線上の等ディ
レイ分岐点である。そして、図3に示す第1配線モデル
では、レシーバ端子RV1とRV2との間を配線すると
ともにレシーバ端子RV3とRV4との間を配線し、レ
シーバ端子RV1,RV2間の配線上の等ディレイ分岐
点ED1とレシーバ端子RV3,RV4間の配線上の等
ディレイ分岐点ED2とを探索した後、ドライバ端子D
Vと各等ディレイ分岐点ED1,ED2との間を配線し
ている。ここで、各区間RV1−ED1,RV2−ED
1,RV3−ED2,RV4−ED2,DV−ED1,
DV−ED2の長さは、図3に示すようにlもしくはr
に予め指定されている。
【0039】また、図4に示す第2配線モデルでは、レ
シーバ端子RV1とRV2との間を配線するとともにレ
シーバ端子RV3とRV4との間を配線し、レシーバ端
子RV1,RV2間の配線上の等ディレイ分岐点ED1
とレシーバ端子RV3,RV4間の配線上の等ディレイ
分岐点ED2とを探索した後、等ディレイ分岐点ED1
とED2との間を配線し、これらの等ディレイ分岐点E
D1,ED2間の配線上の等ディレイ分岐点EDを探索
し、この等ディレイ分岐点ED3とドライバ端子DVと
の間を指定配線長wで配線している。
【0040】なお、図3に示す第1配線モデルは、図4
に示す第2配線モデルにおいて指定配線長wが0に設定
された場合、つまり、ドライバ端子DVの位置と等ディ
レイ分岐点ED3とが一致したモデルと見なすこともで
きる。次に、レイアウト階層の配置およびレイアウト階
層内のセル配置が完了している場合についての本実施例
のクロック配線設計処理手順を、図5〜図8に示すフロ
ーチャートに従って説明する。
【0041】まず、図5により、図3に示す第1配線モ
デルに対する本実施例のクロック配線設計処理手順の大
まかな流れを説明する。着目したクロック信号系の複数
のレシーバ端子を2端子ずつグループ化し(ステップS
11)、2個1組のレシーバ端子ペア毎に、そのレシー
バ端子間のクロック信号線を配線・接続するとともに、
そのクロック信号線上において両端のレシーバ端子への
クロック信号到達時間(ディレイ)が等しくなる等ディ
レイ分岐点を探索する(ステップS12)。このステッ
プS12における処理は、図7にて後述するフローチャ
ートに従って、ステップS11でグループ化されたペア
の数だけ繰り返し行なわれる。
【0042】そして、ステップS12により探索された
等ディレイ分岐点を、ステップS11と同様にして2点
ずつグループ化し(ステップS13)、グループ化され
た2点1組の等ディレイ分岐点ペアの数が1よりも多い
か否かを判定する(ステップS14)。等ディレイ分岐
点ペアの数が1よりも多い場合には、ステップS12と
同様にして、2点1組の等ディレイ分岐点ペア毎に、そ
の等ディレイ分岐点間のクロック信号線を配線・接続す
るとともに、そのクロック信号線上において両端の等デ
ィレイ分岐点へのクロック信号到達時間(ディレイ)が
等しくなる等ディレイ分岐点を再び探索する(ステップ
S15)。このステップS15における処理も、図7に
て後述するフローチャートに従って、ステップS13で
グループ化されたペアの数だけ繰り返し行なわれる。
【0043】ステップS15の処理を終了すると、再
び、ステップS13にて等ディレイ分岐点ペアを作成
し、ステップS14にてペア数の判定を行なう。これら
のステップS13〜S15による処理は、ステップS1
4にて等ディレイ分岐点ペア数が1になったと判定され
るまで繰り返し行なわれる。そして、ステップS14に
て等ディレイ分岐点ペア数が1になったと判定された場
合には、ドライバ端子と最後に残った等ディレイ分岐点
ペアのそれぞれとを接続して(ステップS16)、クロ
ック配線設計処理を終了する。このステップS16にお
ける処理は、図8にて後述するフローチャートに従っ
て、残った等ディレイ分岐点の数(ここでは2)だけ繰
り返し行なわれる。
【0044】また、図6により、図4に示す第2配線モ
デルに対する本実施例のクロック配線設計処理手順の大
まかな流れを説明する。なお、図6において、図5によ
り説明した手順と全く同様の処理を行なうステップには
同じステップ番号を付して説明する。図6に示すよう
に、第2配線モデルの場合にも図5に示した第1配線モ
デルの場合と同様に、まず、ステップS11にてレシー
バ端子ペア作成処理を行ない、ステップS12にてレシ
ーバ端子間接続処理および等ディレイ分岐点探索処理を
行なう。ここでも、ステップS12における処理は、図
7にて後述するフローチャートに従って、ステップS1
1でグループ化されたペアの数だけ繰り返し行なわれ
る。
【0045】この後、第2配線モデルの場合には、等デ
ィレイ分岐点の数が1よりも多いか否かを判定する(ス
テップS17)。等ディレイ分岐点の数が1よりも多い
場合には、第1配線モデルの場合と同様に、ステップS
13にて等ディレイ分岐点ペア作成処理を行なった後、
ステップS15にて等ディレイ分岐点間接続処理および
等ディレイ分岐点再探索処理を行なう。ここでも、ステ
ップS15における処理は、図7にて後述するフローチ
ャートに従って、ステップS13でグループ化されたペ
アの数だけ繰り返し行なわれる。
【0046】ステップS15の処理を終了すると、再
び、ステップS17にて等ディレイ分岐点の数の判定を
行なう。これらのステップS17,S13,S15によ
る処理は、ステップS17にて等ディレイ分岐点の数が
1になったと判定されるまで繰り返し行なわれる。そし
て、ステップS14にて等ディレイ分岐点ペア数が1に
なったと判定された場合には、ドライバ端子と最後に残
った1個の等ディレイ分岐点とを接続する(ステップS
18)。このステップS18における処理も、基本的に
は図8にて後述するフローチャートに従って行なわれ
る。
【0047】次に、図7により、図5,図6のステップ
S12,S15にて行なわれる処理手順を説明する。こ
こでは、レシーバ端子間接続処理もしくは等ディレイ分
岐点間処理と、等ディレイ分岐点探索処理とが行なわれ
る。まず、指示されたレイアウト階層内の始点(レシー
バ端子ペアもしくは等ディレイ分岐点ペアの一方)と終
点(レシーバ端子ペアもしくは等ディレイ分岐点ペアの
他方)との間で、最短かつレイアウト階層境界辺の通過
数が最小となるレイアウト階層間経路を選択する(ステ
ップS21)。
【0048】そして、レイアウト階層間経路が通過した
レイアウト階層境界辺上でレイアウト階層接続端子を配
置する。その際、他の信号系等に属するレイアウト階層
接続端子との重複や、配置する付近の障害物等を考慮
し、最適な位置を選択してレイアウト階層接続端子を配
置する(ステップS22)。この後、レイアウト階層間
経路が通過した各レイアウト階層にて、始点−レイアウ
ト階層接続端子間,レイアウト階層接続端子間および終
点−レイアウト階層接続端子間をそれぞれ結ぶクロック
信号線の最短配線を行なう(ステップS23)。
【0049】このような最短配線を行なった時点で、指
示されたレイアウト階層内の始点と終点との配線上で、
始点から終点までのディレイ(クロック信号の到達時
間)が等しくなるようなポイントを探索し、その配線上
のポイントを等ディレイ分岐点として登録する(ステッ
プS24)。ここで、等ディレイ分岐点の位置は、必ず
しも始点と終点との間の配線長の中点位置になるとは限
らず、通常、隣接する配線を流れる電流や他層にて交差
する配線や電源等の電気的な影響を受けることにより、
中点位置からずれた位置となる。
【0050】ステップS24により等ディレイ分岐点を
探索した後には、等ディレイ分岐点を含むレイアウト階
層内にて、始点−等ディレイ分岐点間のクロック信号線
と、終点−等ディレイ分岐点間のクロック信号線とが、
等ディレイで且つ決められた配線長になるように指定長
配線を行なう(ステップS25)。つまり、等ディレイ
分岐点を含むレイアウト階層内で、等ディレイ分岐点の
位置を保持しながら指定長配線を行なう。なお、等ディ
レイ分岐点を含むレイアウト階層内でディレイ調整を行
なえない場合には、他のレイアウト階層も指定長配線の
対象とする。
【0051】次に、図8により、図5のステップS16
や図6のステップS18にて行なわれる処理手順、つま
り、ドライバ端子−等ディレイ分岐点間接続処理の手順
を説明する。まず、図7のステップS21と同様に、指
示されたレイアウト階層内のドライバ端子と等ディレイ
分岐点との間で、最短かつレイアウト階層境界辺の通過
数が最小となるレイアウト階層間経路を選択する(ステ
ップS31)。
【0052】そして、レイアウト階層間経路が通過した
レイアウト階層境界辺上でレイアウト階層接続端子を配
置する。その際、他の信号系等に属するレイアウト階層
接続端子との重複や、配置する付近の障害物等を考慮
し、最適な位置を選択してレイアウト階層接続端子を配
置する(ステップS32)。この後、ドライバ端子−等
ディレイ分岐点間を等ディレイで且つ決められた配線長
になるように各レイアウト階層に指定配線長を割り当て
る(ステップS33)。この指定配線長の割当は、各レ
イアウト階層の配線領域やセルの混雑度,配線混雑度を
考慮して行なう。そして、ステップS33にて割り当て
られた指定配線長に基づいて、各レイアウト階層毎にク
ロック信号線の指定長配線を行なう(ステップS3
4)。
【0053】図5〜図8により上述した処理手順は、レ
イアウト階層の配置およびレイアウト階層内のセル配置
が完了している場合についてのものであるが、ここで、
レイアウト階層の配置は完了しているが、一部のレイア
ウト階層内のセルが未配置である場合における本実施例
のクロック配線設計手順を、図9に示すフローチャート
に従って説明する。
【0054】なお、図9にて説明するクロック配線設計
方法も、1つのクロック信号系に着目し、そのクロック
信号系において1つのドライバ端子から複数のレシーバ
端子へのクロック信号の到達時間(ディレイ)が等しく
なるように、レイアウト階層間を縫ってクロック信号線
の配線設計を行なうものである。また、この図9にて説
明する処理手順も、図3に示す第1配線モデルもしくは
図4に示す第2配線モデルを対象としている。
【0055】図9に示すように、まず、配線設計対象領
域のクロック信号系に属するドライバ端子およびレシー
バ端子のうち、その端子をもつセルが所定レイアウト階
層内で未だ配置されていないものが存在する場合には、
そのセルが所定レイアウト階層の中央に配置されている
ものと仮定して、セル配置箇所を確定する(ステップS
41)。なお、既に配置が決定しているセルについては
そのままその配置座標を使用する。
【0056】セル配置箇所の確定後、図5〜図8により
前述した処理手順に基づいて、レシーバ端子,ドライバ
端子,等ディレイ分岐点について配線可能ペアを選択す
る(ステップS42)。この時、各ペアのうち、レシー
バ端子およびドライバ端子を含むペアについては、その
端子をもつセルのどちらか一方が確定的に配置されてい
れば配線可能ペアとして選択する。また、等ディレイ分
岐点ペアについては、両方の等ディレイ分岐点が確定的
に作成されていれば配線可能端子ペアとして選択する。
なお、配線可能端子ペアについての具体的な説明は、図
27により詳述する。
【0057】そして、ステップS42で選択した配線可
能端子ペア毎に、セル配置が完了しているレイアウト階
層において最短配線を行ない(ステップS43)、ステ
ップS42で作成した配線可能端子ペアと、ステップS
43で配線した結果とを配線情報として出力(例えば図
2に示すグラフィックディスプレイ4上への表示出力,
データベース1への格納出力等)する(ステップS4
4)。この配線結果を利用して、次にクロック配線を実
行する際に未配線部分を見出し、配線処理を行なう。
【0058】図5〜図9により、本実施例のクロック配
線設計方法による処理手順の流れについて説明したが、
次に、図10〜図27を参照しながら、より具体的な配
線処理状況について説明する。なお、図10〜図14,
図16〜図24においても、図28〜図31にて前述し
たものと同様に、太線で囲まれた領域“Layout0”はチ
ップレベルを示し、細線で囲まれた領域“Layout1”〜
“Layout5”は、それぞれチップ上の領域“Layout0”
内において分割・設定されたレイアウト階層を示してい
る。ここでは、5つのレイアウト階層が設定された場合
について図示する。なお、図20〜図24における二重
枠線で囲まれた領域“Layout2”,“Layout5”は内部
セルが未配置であるレイアウト階層を示している。
【0059】また、図10〜図14,図16〜図24に
おいて、“●”はクロック信号を与えるドライバ端子D
V1を示し、“○”はドライバ端子DV1からのクロッ
ク信号を受信すべき4つのレシーバ端子RV1〜RV4
を示し、“◎”は各レイアウト階層“Layout1”〜“La
yout5”の領域境界上に設定されるクロック供給端子M
1〜M8を示している。さらに、“□”は等ディレイ分
岐点ED1〜ED3を示し、“*”は仮定的に設定され
た等ディレイ分岐点ED1〜ED3を示している。
【0060】さて、ここでは、まず図10〜図15によ
り、図3に示した第1配線モデルについての具体的なク
ロック配線設計手順を説明する。図10では、LSIレ
イアウトデータが示されるとともに、そのレイアウトデ
ータ内部に含まれるクロック信号系(ドライバ端子DV
1およびレシーバ端子RV1〜RV4)がどのようにレ
イアウト階層に分岐しているかが示されている。図10
に示すように各レイアウト階層に分岐するクロック信号
系の配線設計手順を図10〜図15により説明する。
【0061】まず、図10に示すようなレイアウト階層
配置およびクロック信号系のレイアウトデータに基づい
て、図15に示すような各端子とその端子が属するレイ
アウト階層との関係を明確化するテーブルを作成して、
クロック信号系のドライバ端子DV1およびレシーバ端
子RV1〜RV4が、それぞれどのレイアウト階層に存
在するかを把握する。図15に示すテーブルでは、図1
0に示した例に対応して、ドライバ端子DV1がレイア
ウト階層“Layout1”内に配置されるとともに、レシー
バ端子RV1〜RV4がそれぞれレイアウト階層“Layo
ut2”,“Layout4”,“Layout5”,“Layout3”内
に配置された場合が示されている。
【0062】そして、図11に示すように、レシーバ端
子RV1,RV2を1組のペアとして選択するとともに
レシーバ端子RV3,RV4をもう1組のペアとして選
択しておいてから(図5のステップS11)、レシーバ
端子RV1,RV2間のレイアウト階層間経路を選択し
(図7のステップS21)、レイアウト階層接続端子M
1,M2を選択し(図7のステップS22)、レイアウ
ト階層“Layout2”内のRV1−M1間,レイアウト階
層“Layout4”内のRV2−M2間,レイアウト階層
“Layout0”内のM1−M2間について、各レイアウト
階層で最短配線を行なう(図7のステップS23)。
【0063】同様に、レシーバ端子RV3,RV4間の
レイアウト階層間経路を選択し(図7のステップS2
1)、レイアウト階層接続端子M3,M4を選択し(図
7のステップS22)、レイアウト階層“Layout5”内
のRV3−M3間,レイアウト階層“Layout3”内のR
V4−M4間,レイアウト階層“Layout0”内のM3−
M4間について、各レイアウト階層で最短配線を行なう
(図7のステップS23)。
【0064】この後、RV1−RV2間の等ディレイ分
岐点ED1を探索するとももに、RV3−RV4間の等
ディレイ分岐点ED2を探索する(図7のステップS2
4)。ついで、図12に示すように、RV1−ED1間
の配線とRV2−ED1間の配線とが等ディレイで且つ
決められた配線長になるように、RV1−ED1間およ
びM1−ED1間にて指定長配線を行なう。同様に、R
V3−ED2間の配線とRV4−ED2間の配線とが等
ディレイで且つ決められた配線長になるように、RV3
−ED2間およびM3−ED2間にて指定長配線を行な
う(図7のステップS25)。
【0065】図12に示すような配線を終了した時点
で、図12に示す例では、図5のステップS14にてペ
ア数が1であると判定され、ステップS16による処
理、つまり図8にて説明したドライバ端子−等ディレイ
分岐点間接続処理へ移行する。即ち、図13に示すよう
に、DV1−ED1間のレイアウト階層間経路を選択し
(図8のステップS31)、レイアウト階層接続端子M
5,M6を選択してから(図8のステップS32)、レ
イアウト階層“Layout1”内のDV1−M5間,レイア
ウト階層“Layout2”内のED1−M6間,レイアウト
階層“Layout0”内のM5−M6間について、各レイア
ウト階層毎に指定配線長を割り当てる(図8のステップ
S33)。
【0066】同様に、DV1−ED2間のレイアウト階
層間経路を選択し(図8のステップS31)、レイアウ
ト階層接続端子M7,M8を選択してから(図8のステ
ップS32)、レイアウト階層“Layout1”内のDV1
−M7間,レイアウト階層“Layout5”内のED2−M
8間,レイアウト階層“Layout0”内のM7−M8間に
ついて、各レイアウト階層毎に指定配線長を割り当てる
(図8のステップS33)。
【0067】この後、図14に示すように、レイアウト
階層“Layout1”内のDV1−M5間,レイアウト階層
“Layout2”内のED1−M6間,レイアウト階層“La
yout0”内のM5−M6間について、各レイアウト階層
で指定長配線を行なうとともに、レイアウト階層“Layo
ut1”内のDV1−M7間,レイアウト階層“Layout
5”内のED2−M8間,レイアウト階層“Layout0”
内のM7−M8間について、各レイアウト階層で指定長
配線を行なう(図8のステップS34)。
【0068】以上のようにして、図10に示すようなレ
イアウト階層配置およびクロック信号系のレイアウトデ
ータについて、図3に示す第1配線モデルに対応した配
線設計が完了する。次に、図16〜図19により、図4
に示した第2配線モデルについての具体的なクロック配
線設計手順を説明する。つまり、図10に示すようなレ
イアウト階層配置およびクロック信号系のレイアウトデ
ータに対し図4に示す第2配線モデルに対応した配線設
計を行なう場合には、図10〜図12にて説明した処理
手順と全く同様にして、図12に示すように、RV1−
RV2間およびRV3−RV4間についての指定長配線
を終了してから、図16〜図19にて説明する処理を行
なう。
【0069】まず、図16に示すように、ED1−ED
2間のレイアウト階層間経路を選択し(図7のステップ
S21)、レイアウト階層接続端子M5,M6を選択し
(図7のステップS22)、レイアウト階層“Layout
2”内のED1−M5間,レイアウト階層“Layout5”
内のED2−M6間,レイアウト階層“Layout0”内の
M5−M6間について、各レイアウト階層で最短配線を
行なう(図7のステップS23)。この後、ED1−E
D2間の等ディレイ分岐点ED3を探索する(図7のス
テップS24)。
【0070】ついで、図17に示すように、ED1−E
D3間の配線とED2−ED3間の配線とが等ディレイ
で且つ決められた配線長になるように、ED1−ED3
間およびED2−M6間にて指定長配線を行なう(図7
のステップS25)。図17に示すような配線を終了し
た時点で、図17に示す例では、図6のステップS17
にて等ディレイ分岐点の数が1であると判定され、ステ
ップS18による処理、つまり図8にて説明したドライ
バ端子−等ディレイ分岐点間接続処理へ移行する。
【0071】即ち、図18に示すように、DV1−ED
3間のレイアウト階層間経路を選択し(図8のステップ
S31)、レイアウト階層接続端子M7,M8を選択し
てから(図8のステップS32)、レイアウト階層“La
yout1”内のDV1−M7間,レイアウト階層“Layout
2”内のED3−M8間,レイアウト階層“Layout0”
内のM7−M8間について、各レイアウト階層毎に指定
配線長を割り当てる(図8のステップS33)。
【0072】この後、図19に示すように、レイアウト
階層“Layout1”内のDV1−M7間,レイアウト階層
“Layout2”内のED3−M8間,レイアウト階層“La
yout0”内のM7−M8間について、各レイアウト階層
で指定長配線を行なう(図8のステップS34)。以上
のようにして、図10に示すようなレイアウト階層配置
およびクロック信号系のレイアウトデータについて、図
4に示す第5配線モデルに対応した配線設計が完了す
る。
【0073】次に、レイアウト階層の配置は完了してい
るが、一部のレイアウト階層内のセルが未配置である場
合についての具体的な本実施例のクロック配線設計手順
(図9に示すフローチャート参照)を、図20〜図27
により説明する。なお、図20に示すように、5つのレ
イアウト階層のうちレイアウト階層“Layout2”および
“Layout5”においてセルが未配置であるものとする。
【0074】まず、図20に示すようなレイアウト階層
配置およびクロック信号系のレイアウトデータに基づい
て、図25に示すようなテーブル(この例では図15に
より前述したものと全く同様)を作成して、クロック信
号系のドライバ端子DV1およびレシーバ端子RV1〜
RV4が、それぞれどのレイアウト階層に存在するかを
把握する。
【0075】また、図26に示すように、各レイアウト
階層とセル配置状態(配置完了/未配置)との関係を明
確化するテーブルを作成して、クロック信号系をなす端
子が存在するレイアウト階層内において、セル配置が完
了しているか否かを確認する。図26に示すテーブルで
は、図20に示した例に対応して、レイアウト階層“La
yout2”および“Layout5”に対して未配置が設定され
ている。
【0076】ここに示す例では、レシーバ端子RV1,
RV3がそれぞれレイアウト階層“Layout2”および
“Layout5”に属しているが、これらのレイアウト階層
“Layout2”および“Layout5”内のセル配置が完了し
ていないため、本実施例では、図21に示すように、レ
シーバ端子RV1,RV3をもつそれぞれのセルが、レ
イアウト階層“Layout2”および“Layout5”の中央に
存在するものと仮定する(図9のステップS41)。
【0077】上述のようにセルの位置を仮定することに
よりレシーバ端子RV1,RV3の位置を仮想的に決定
した状態で、このクロック信号系を図4に示す第2配線
モデルで配線設計するための端子ペアを、例えば図6〜
図8にて説明した手順に基づいて図22に示すように決
める。図22に示す例では、RV1−RV2,RV3−
RV4,ED1−ED2,DV1−ED3がそれぞれペ
アとして仮定されている。なお、図22中、ED1はR
V1−RV2間の仮の等ディレイ分岐点、ED2はRV
3−RV4間の仮の等ディレイ分岐点、ED3はED1
−ED2間の仮の等ディレイ分岐点を示している。
【0078】この時、仮定した端子ペアのうち配線可能
である端子ペアを選択する(図9のステップS42)。
図23に示す例では、RV1−RV2のペアとRV3−
RV4のペアとが選択される。ここで、RV1−RV2
のペアとRV3−RV4のペアとが選択された理由、お
よび、ED1−ED2のペアとDV1−ED3のペアと
が選択されなかった理由を、図27にテーブル状に表記
して示す。
【0079】つまり、RV1−RV2のペアが選択され
た理由は、一方のレシーバ端子RV2をもつセルの配置
がレイアウト階層“Layout4”内で確定しているからで
あり、RV3−RV4のペアが選択された理由も、一方
のレシーバ端子RV4をもつセルの配置がレイアウト階
層“Layout3”内で確定しているからである。これに対
して、ED1−ED2のペアが選択されなかった理由
は、RV1−RV2間およびRV3−RV4間の接続が
完了していないからであり、また、DV1−ED3のペ
アが選択されなかった理由は、ED1−ED2間の接続
が完了していないからである。
【0080】そして、図23に示すように選択されたR
V1−RV2のペアとRV3−RV4のペアとについ
て、図24に示すようなレイアウト階層内配線を行なう
(図9のステップS44)。つまり、RV1−RV2間
のレイアウト階層間経路を選択し、レイアウト階層接続
端子M1,M2を選択し、レイアウト階層“Layout4”
内のRV2−M2間,レイアウト階層“Layout0”内の
M1−M2間について、各レイアウト階層で最短配線を
行なう。RV1−M1間の配線は、レイアウト階層“La
yout2”内のセル配置が完了していないため行なわな
い。
【0081】同様に、RV3−RV4間のレイアウト階
層間経路を選択し、レイアウト階層接続端子M3,M4
を選択し、レイアウト階層“Layout3”内のRV4−M
4間,レイアウト階層“Layout0”内のM3−M4間に
ついて、各レイアウト階層で最短配線を行なう。やは
り、RV3−M3間の配線は、レイアウト階層“Layout
5”内のセル配置が完了していないため行なわない。
【0082】図20に示すようにセル未配置のレイアウ
ト階層をもつ場合については、図24に示すような配線
設計状態でクロック配線終了となり、選択された端子ペ
アRV1−RV2,RV3−RV4と、図24に示すよ
うな配線結果とが配線情報として出力され、例えば図2
に示すグラフィックディスプレイ4上に表示されたりデ
ータベース1にテキストファイルとして格納されたりす
る。そして、前述した通り、この配線結果を利用して、
次にクロック配線を実行する際に未配線部分を見出して
配線処理を行なうことができる。
【0083】このように、本発明の一実施例によれば、
複数のレイアウト階層“Layout1”〜“Layout5”に分
岐するクロック信号系について等ディレイ配線が可能に
なり、各レイアウト階層“Layout1”〜“Layout5”を
意識し且つチップレベル“Layout0”を考慮しながらレ
イアウト階層単位に配線設計を行なえるので、このよう
な手法をクロック信号系全体に施すことにより、クロッ
クスキューの最小化を実現しつつ配線設計時間の短縮化
をも実現することができる。
【0084】また、レイアウト階層内に未配置のドライ
バ端子もしくはレシーバ端子が存在する場合には、全て
のレイアウト階層においてセル配置が決定していなくて
も、セル配置の決定したレイアウト階層においてクロッ
ク信号線の配線処理を先行して行なうことができ、クロ
ック配線を効率的に行なえるなどの利点もある。なお、
上述した実施例では、5つのレイアウト階層を有し、ド
ライバ端子が1個でレシーバ端子が4個の場合について
詳細に説明したが、本発明は、このような数に限定され
るものでない。
【0085】また、本発明のクロック配線設計方法は、
LSIのみならず、プリント基板等、同様にクロック信
号系の配線設計を行なう場合にも適用され、上記実施例
と同様の作用効果を得ることができる。
【0086】
【発明の効果】以上詳述したように、本発明の階層レイ
アウト設計を用いたクロック配線設計方法によれば、ク
ロック信号系が複数のレイアウト階層に分岐しても、各
レイアウト階層を意識し且つ配線設計対象領域全体を考
慮しながらレイアウト階層単位に配線設計を行なえ、ク
ロックスキューの最小化を実現しつつ配線設計時間の短
縮化をも実現できる効果がある(請求項1)。
【0087】 また、レシーバ端子を2個1組のペアに
グループ分けして、レシーバ端子間接続処理,等ディレ
イ分岐点間接続処理,等ディレイ分岐点探索処理および
等ディレイ分岐点再探索処理を行なうことにより、各ペ
ア毎の配線設計や等ディレイ分岐点の探索を極めて容易
に行なえ、配線設計時間の短縮化に寄与する(請求項
)。
【0088】 さらに、最適なレイアウト階層間経路お
よび最適なレイアウト階層接続端子を選択して各ペアの
最短配線を行ない、その最短配線により得られたクロッ
ク信号線上にて探索された等ディレイ分岐点をドライバ
端子に接続することで、クロックスキューを最小化で
き、クロック信号のゼロスキュー配線を実現することが
できる(請求項)。
【0089】 このとき、等ディレイ分岐点を含むレイ
アウト階層内で、等ディレイ分岐点の位置を保持しなが
らクロック信号線が所定配線長になるように配線するこ
とにより、クロックスキューを最小化しつつ指定長配線
も行なうことができる(請求項)。また、等ディ
レイ分岐点を含むレイアウト階層内だけで指定長配線を
行なえない場合には、他のレイアウト階層におけるクロ
ック信号線に対しても指定長配線を行なわれ、クロック
スキューを最小化しつつ確実に指定長配線を行なえるよ
うになる(請求項)。
【0090】 一方、等ディレイ分岐点のペアが1組の
みになった場合や等ディレイ分岐点が1個のみになった
場合には、ドライバ端子と等ディレイ分岐点との間で最
適なレイアウト階層間経路および最適なレイアウト階層
接続端子を選択してクロック信号線を配線することによ
り、クロックスキューを最小化しながらドライバ端子と
等ディレイ分岐点とを接続でき、クロック信号のゼロス
キュー配線を実現することができる(請求項)。
【0091】 さらに、レイアウト階層内に未配置のド
ライバ端子もしくはレシーバ端子が存在する場合には、
その端子をもつセルをレイアウト階層の中央に仮想的に
配置してクロック信号線の配線設計を行なうことによ
り、全てのレイアウト階層においてセル配置が決定して
いなくても、セル配置の決定したレイアウト階層におい
てクロック信号線の配線処理を先行して行なうことがで
き、クロック配線を効率的に行なえる効果もある(請求
項1)。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本実施例の方法を適用されるワークステーショ
ンの構成を示すブロック図である。
【図3】本実施例の第1配線モデルを示す図である。
【図4】本実施例の第2配線モデルを示す図である。
【図5】本実施例の第1配線モデルについてのクロック
配線設計処理手順を説明するためのフローチャートであ
る。
【図6】本実施例の第2配線モデルについてのクロック
配線設計処理手順を説明するためのフローチャートであ
る。
【図7】本実施例におけるレシーバ端子間接続処理もし
くは等ディレイ分岐点間処理と等ディレイ分岐点探索処
理との手順を説明するためのフローチャートである。
【図8】本実施例におけるドライバ端子−等ディレイ分
岐点間接続処理手順を説明するためのフローチャートで
ある。
【図9】一部のレイアウト階層内のセルが未配置である
場合における本実施例のクロック配線設計手順を説明す
るためのフローチャートである。
【図10】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図11】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図12】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図13】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図14】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図15】本実施例における各端子とその端子が属する
レイアウト階層との関係を示す図である。
【図16】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図17】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図18】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図19】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図20】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図21】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図22】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図23】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図24】本実施例の具体的なクロック配線設計手順を
説明するための図である。
【図25】本実施例における各端子とその端子が属する
レイアウト階層との関係を示す図である。
【図26】本実施例における各レイアウト階層とセル配
置状態との関係を示す図である。
【図27】本実施例における仮定端子ペアについて選択
される理由および選択できない理由を説明するための図
である。
【図28】階層レイアウト設計を用いて行なわれる一般
的なクロック信号線の配線設計手順について説明するた
めの図である。
【図29】階層レイアウト設計を用いて行なわれる一般
的なクロック信号線の配線設計手順について説明するた
めの図である。
【図30】階層レイアウト設計を用いて行なわれる一般
的なクロック信号線の配線設計手順について説明するた
めの図である。
【図31】階層レイアウト設計を用いて行なわれる一般
的なクロック信号線の配線設計手順について説明するた
めの図である。
【符号の説明】
1 データベース(DB) 2 中央処理部(CPU) 3 メモリ 4 グラフィックディスプレイ 5 入力部
フロントページの続き (72)発明者 伊藤 則之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平4−148376(JP,A) 特開 平5−151303(JP,A) 特開 平7−202001(JP,A) (58)調査した分野(Int.Cl.7,DB名) H01L 21/822 G06F 17/50 H01L 21/82 H01L 27/04

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 配線設計対象領域を複数のレイアウト階
    層に分割して配線設計を行なう際に、クロック信号を与
    えるドライバ端子と該ドライバ端子からのクロック信号
    を受信すべき複数のレシーバ端子との間のクロック信号
    線についての配線設計を行なうクロック配線設計方法で
    あって、 記複数のレイアウト階層間にまたがって前記複数のレ
    シーバ端子間にクロック信号線を配線すべく、前記複数
    のレシーバ端子を2個1組のペアにグループ分けするレ
    シーバ端子ペア作成処理を行ない、 前記レシーバ端子ペア作成処理によりグループ分けされ
    た各ペア毎に、当該ペアのレシーバ端子間のクロック信
    号線を仮配線するレシーバ端子間接続処理と、当該ペア
    のレシーバ端子間のクロック信号線上において両レシー
    バ端子へのクロック信号到達時間が等しくなる等ディレ
    イ分岐点を探索する等ディレイ分岐点探索処理とを行な
    い、 当該ペアのレシーバ端子間のクロック信号線について、
    前記等ディレイ分岐点探索処理により探索された等ディ
    レイ分岐点を含むレイアウト階層内で、前記等ディレイ
    分岐点探索処理により探索された等ディレイ分岐点の位
    置が等ディレイ分岐点となる状態を保持しながら、当該
    ペアのレシーバ端子間のクロック信号線が当該ペアのレ
    シーバ端子間に対して予め指定された指定配線長となる
    ように実配線としての指定長配線を行なってから、 前記複数のレシーバ端子間における等ディレイ分岐点と
    前記ドライバ端子との間におけるクロック信号線配線
    行なうことを特徴とする、階層レイアウト設計を用い
    たクロック配線設計方法。
  2. 【請求項2】 前記等ディレイ分岐点探索処理により探
    索された等ディレイ分岐点が複数個存在する場合には、 前記等ディレイ分岐点探索処理により探索された複数の
    等ディレイ分岐点を2個1組のペアにグループ分けする
    等ディレイ分岐点ペア作成処理を行ない、 前記等ディレイ分岐点ペア作成処理によりグループ分け
    された各ペア毎に、当該ペアの等ディレイ分岐点間のク
    ロック信号線を配線する等ディレイ分岐点間接続処理
    と、当該ペアの等ディレイ分岐点間のクロック信号線上
    において両等ディレイ分岐点へのクロック信号到達時間
    が等しくなる等ディレイ分岐点を探索する等ディレイ分
    岐点再探索処理を行ない、 前記の等ディレイ分岐点ペア作成処理,等ディレイ分岐
    点間接続処理および等ディレイ分岐点再探索処理を、等
    ディレイ分岐点が少なくとも1個になるまで繰り返し行
    なうことを特徴とする、請求項記載の階層レイアウト
    設計を用いたクロック配線設計方法。
  3. 【請求項3】 前記レシーバ端子間接続処理に際して、 各ペアのレシーバ端子間で、最短かつレイアウト階層境
    界辺の通過数が最小となるレイアウト階層間経路を選択
    し、 該レイアウト階層間経路が通過するレイアウト階層境界
    辺上における最適位置にレイアウト階層接続端子を配置
    してから、 該レイアウト階層接続端子を通過し且つ当該ペアのレシ
    ーバ端子間を結ぶクロック信号線の最短配線を行ない、 前記等ディレイ分岐点探索処理に際して、 当該最短配線により得られた当該ペアのレシーバ端子間
    のクロック信号線上において等ディレイ分岐点を探索す
    ることを特徴とする、請求項記載の階層レイアウト設
    計を用いたクロック配線設計方法。
  4. 【請求項4】 前記等ディレイ分岐点探索処理により探
    索された等ディレイ分岐点を含むレイアウト階層内で
    該ペアのレシーバ端子間の前記指定長配線を行なえない
    場合には、当該等ディレイ分岐点を含まない他方のレイ
    アウト階層におけるクロック信号線も当該指定長配線
    対象とすることを特徴とする、請求項記載の階層レイ
    アウト設計を用いたクロック配線設計方法。
  5. 【請求項5】 前記等ディレイ分岐点間接続処理に際し
    て、 各ペアの等ディレイ分岐点間で、最短かつレイアウト階
    層境界辺の通過数が最小となるレイアウト階層間経路を
    選択し、 該レイアウト階層間経路が通過するレイアウト階層境界
    辺上における最適位置にレイアウト階層接続端子を配置
    してから、 該レイアウト階層接続端子を通過し且つ当該ペアの等デ
    ィレイ分岐点間を結ぶクロック信号線の最短配線を行な
    い、 前記等ディレイ分岐点再探索処理に際して、 当該最短配線により得られた当該ペアの等ディレイ分岐
    点間のクロック信号線上において等ディレイ分岐点を探
    索することを特徴とする、請求項記載の階層レイアウ
    ト設計を用いたクロック配線設計方法。
  6. 【請求項6】 当該ペアの等ディレイ分岐点間のクロッ
    ク信号線について、前記等ディレイ分岐点再探索処理に
    より探索された等ディレイ分岐点を含むレイアウト階層
    内で、前記等ディレイ分岐点再探索処理により探索され
    等ディレイ分岐点の位置が等ディレイ分岐点となる状
    を保持しながら、当該ペアの等ディレイ分岐点間のク
    ロック信号線が当該ペアの等ディレイ分岐点間に対して
    予め指定された指定配線長となるように実配線としての
    指定長配線を行なうことを特徴とする、請求項記載の
    階層レイアウト設計を用いたクロック配線設計方法。
  7. 【請求項7】 前記等ディレイ分岐点再探索処理により
    探索された等ディレイ分岐点を含むレイアウト階層内で
    当該ペアの等ディレイ分岐点間の前記指定長配線を行な
    えない場合には、当該等ディレイ分岐点を含まない他方
    のレイアウト階層におけるクロック信号線も当該指定長
    配線対象とすることを特徴とする、請求項記載の階
    層レイアウト設計を用いたクロック配線設計方法。
  8. 【請求項8】 相互間を配線されていない等ディレイ分
    岐点のペアが1組のみになった場合、 前記ドライバ端子と当該ペアの等ディレイ分岐点との間
    で、最短かつレイアウト階層境界辺の通過数が最小とな
    るレイアウト階層間経路を選択し、 該レイアウト階層間経路が通過したレイアウト階層境界
    辺上における最適位置にレイアウト階層接続端子を配置
    してから、 該レイアウト階層接続端子を通過し且つ前記ドライバ端
    子と当該ペアの等ディレイ分岐点との間を結ぶクロック
    信号線について、前記ドライバ端子から各等ディレイ分
    岐点へのクロック信号到達時間が等しくなるように且つ
    所定配線長になるように各レイアウト階層毎に指定配線
    長を割り当て、当該クロック信号線が各レイアウト階層で割り当てられ
    た前記指定配線長となるように実配線としての 指定長配
    線を行なうことを特徴とする、請求項または請求項
    に記載の階層レイアウト設計を用いたクロック配線設計
    方法。
  9. 【請求項9】 等ディレイ分岐点が1個のみになった場
    合、 前記ドライバ端子と当該等ディレイ分岐点との間で、最
    短かつレイアウト階層境界辺の通過数が最小となるレイ
    アウト階層間経路を選択し、 該レイアウト階層間経路が通過したレイアウト階層境界
    辺上における最適位置にレイアウト階層接続端子を配置
    してから、 該レイアウト階層接続端子を通過し且つ前記ドライバ端
    子と当該等ディレイ分岐点との間を結ぶクロック信号線
    について、所定配線長になるように各レイアウト階層毎
    に指定配線長を割り当て、当該クロック信号線が各レイアウト階層で割り当てられ
    た前記指定配線長となるように実配線としての 指定長配
    線を行なうことを特徴とする、請求項または請求項
    に記載の階層レイアウト設計を用いたクロック配線設計
    方法。
  10. 【請求項10】 前記配線設計対象領域に属するドライ
    バ端子およびレシーバ端子のうち、その端子をもつセル
    が所定のレイアウト階層内で未だ配置されていないもの
    が存在する場合、当該セルが当該セルの属するレイアウ
    ト階層の中央に配置されているものと仮定して、クロッ
    ク信号線の配線設計を行なうことを特徴とする、請求項
    1記載の階層レイアウト設計を用いたクロック配線設計
    方法。
JP21638494A 1994-09-09 1994-09-09 階層レイアウト設計を用いたクロック配線設計方法 Expired - Lifetime JP3504739B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP21638494A JP3504739B2 (ja) 1994-09-09 1994-09-09 階層レイアウト設計を用いたクロック配線設計方法
US08/951,480 US5889682A (en) 1994-09-09 1997-10-16 Clock routing design method using a hieraichical layout design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21638494A JP3504739B2 (ja) 1994-09-09 1994-09-09 階層レイアウト設計を用いたクロック配線設計方法

Publications (2)

Publication Number Publication Date
JPH0883885A JPH0883885A (ja) 1996-03-26
JP3504739B2 true JP3504739B2 (ja) 2004-03-08

Family

ID=16687730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21638494A Expired - Lifetime JP3504739B2 (ja) 1994-09-09 1994-09-09 階層レイアウト設計を用いたクロック配線設計方法

Country Status (2)

Country Link
US (1) US5889682A (ja)
JP (1) JP3504739B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647540B2 (en) 2001-11-08 2003-11-11 Telefonaktiebolaget Lm Ericsson(Publ) Method for reducing EMI and IR-drop in digital synchronous circuits
US6944811B2 (en) * 2002-08-07 2005-09-13 Sun Microsystems, Inc. Blockage aware zero skew clock routing method
JP2004253772A (ja) 2003-01-31 2004-09-09 Matsushita Electric Ind Co Ltd 半導体集積回路装置
US7577933B1 (en) * 2006-11-17 2009-08-18 Sun Microsystems, Inc. Timing driven pin assignment
US20080256380A1 (en) * 2007-04-16 2008-10-16 Masanori Tsutsumi Semiconductor integrated circuit and layout method for the same
CN101808460B (zh) * 2010-03-25 2014-06-11 中兴通讯股份有限公司 用于pcb的布线方法及pcb
US8893073B2 (en) 2012-12-27 2014-11-18 Synopsys, Inc. Displaying a congestion indicator for a channel in a circuit design layout

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2695078B2 (ja) * 1991-06-10 1997-12-24 株式会社東芝 データ処理装置クロック信号の分配方法
US5339253A (en) * 1991-06-14 1994-08-16 International Business Machines Corporation Method and apparatus for making a skew-controlled signal distribution network
US5272390A (en) * 1991-09-23 1993-12-21 Digital Equipment Corporation Method and apparatus for clock skew reduction through absolute delay regulation
JP3219500B2 (ja) * 1991-12-27 2001-10-15 株式会社東芝 自動配線方法
US5416861A (en) * 1994-04-29 1995-05-16 University Of Cincinnati Optical synchronous clock distribution network and high-speed signal distribution network

Also Published As

Publication number Publication date
US5889682A (en) 1999-03-30
JPH0883885A (ja) 1996-03-26

Similar Documents

Publication Publication Date Title
US6601227B1 (en) Method for making large-scale ASIC using pre-engineered long distance routing structure
JP3737104B2 (ja) プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法
JP3192057B2 (ja) 配線プログラム生成方法及びその装置
US4577276A (en) Placement of components on circuit substrates
JP2540762B2 (ja) クロック信号供給方法
US5339253A (en) Method and apparatus for making a skew-controlled signal distribution network
US10812079B2 (en) Integrated circuit layout wiring for multi-core chips
US6751786B2 (en) Clock tree synthesis for a hierarchically partitioned IC layout
CN110263361B (zh) 用于多核芯片的集成电路布局配线
US20020170029A1 (en) Method and apparatus for accurate crosspoint allocation in vlsi area routing
US7197736B2 (en) Adaptive power routing and shield sharing to reduce shield count
JPH0196953A (ja) 配線構造体
TWI222580B (en) System and method for H-tree signal layout
JP3504739B2 (ja) 階層レイアウト設計を用いたクロック配線設計方法
Cho et al. Four-bend top-down global routing
Ramanathan et al. Clock distribution in general VLSI circuits
US6944842B1 (en) Method for making large-scale ASIC using pre-engineered long distance routing structure
JPH08274179A (ja) 配線設計方法および配線設計装置
US6615401B1 (en) Blocked net buffer insertion
US6642556B2 (en) Modular macro cell layout method
US6819138B2 (en) Dividing and distributing the drive strength of a single clock buffer
JP3913180B2 (ja) 半導体集積回路の設計方法
US6760896B2 (en) Process layout of buffer modules in integrated circuits
JPH06349947A (ja) 半導体集積回路装置のマスクパターン設計方法および設計装置
JP3028938B2 (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: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031211

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

Free format text: PAYMENT UNTIL: 20071219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 10

EXPY Cancellation because of completion of term