JPH113945A - 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 - Google Patents
半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路Info
- Publication number
- JPH113945A JPH113945A JP9155092A JP15509297A JPH113945A JP H113945 A JPH113945 A JP H113945A JP 9155092 A JP9155092 A JP 9155092A JP 15509297 A JP15509297 A JP 15509297A JP H113945 A JPH113945 A JP H113945A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- semiconductor integrated
- integrated circuit
- tree
- clock buffer
- 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.)
- Pending
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013461 design Methods 0.000 title claims abstract description 23
- 239000000872 buffer Substances 0.000 claims abstract description 154
- 230000006870 function Effects 0.000 claims description 4
- 210000004027 cell Anatomy 0.000 claims 9
- 210000004287 null lymphocyte Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 7
- 239000010410 layer Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101100480507 Caenorhabditis elegans tdp-1 gene Proteins 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
(57)【要約】
【課題】系統の異なる複数のクロック信号に同期し動作
する半導体集積回路において、系統が異なるクロック信
号間のスキューを低減できるクロックツリー設計方法及
びそれによる半導体集積回路を提供する。 【解決手段】2系統のクロック信号CK1,CK2がそ
れぞれ入力する2つの入力端子と対応する2つの出力端
子を有するクロックバッファセル401と、クロックバ
ッファセル401の出力端子からのクロック信号を増幅
しファンクショナルセル406〜433に供給するクロ
ックバッファセル402〜405を含む2系統のクロッ
クツリーにおいて、クロックパッド41からクロックバ
ッファセル401及びクロックバッファセル402〜4
05に至る2本のクロック信号配線は平行して配線され
るため配線長は等しくなり、スキューが低減する。
する半導体集積回路において、系統が異なるクロック信
号間のスキューを低減できるクロックツリー設計方法及
びそれによる半導体集積回路を提供する。 【解決手段】2系統のクロック信号CK1,CK2がそ
れぞれ入力する2つの入力端子と対応する2つの出力端
子を有するクロックバッファセル401と、クロックバ
ッファセル401の出力端子からのクロック信号を増幅
しファンクショナルセル406〜433に供給するクロ
ックバッファセル402〜405を含む2系統のクロッ
クツリーにおいて、クロックパッド41からクロックバ
ッファセル401及びクロックバッファセル402〜4
05に至る2本のクロック信号配線は平行して配線され
るため配線長は等しくなり、スキューが低減する。
Description
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
設計方法及びそれによる半導体集積回路に関し、特に、
複数のクロック信号に同期して動作する半導体集積回路
において用いられるクロックツリーの設計方法及びそれ
による半導体集積回路に関する。
設計方法及びそれによる半導体集積回路に関し、特に、
複数のクロック信号に同期して動作する半導体集積回路
において用いられるクロックツリーの設計方法及びそれ
による半導体集積回路に関する。
【0002】
【従来の技術】近年、大規模な半導体集積回路のレイア
ウト設計方法として、設計開発期間を短期化するため、
フリップフロップなどの一定の機能を有する「ファンク
ショナルセル」を自動配置、自動配線させるCAD(C
omputer AidedDesign)の手法が広
く用いられている。
ウト設計方法として、設計開発期間を短期化するため、
フリップフロップなどの一定の機能を有する「ファンク
ショナルセル」を自動配置、自動配線させるCAD(C
omputer AidedDesign)の手法が広
く用いられている。
【0003】また、大規模な半導体集積回路では、一般
に同期式論理回路として設計されている。同期式論理回
路を含む半導体集積回路では、半導体集積回路全体に対
し同一のタイミングでクロック信号を供給しなければな
らない。一般的な同期式論理回路を含んだ半導体集積回
路は、外部又は内部クロック信号発生源から供給される
クロック信号を比較的大きな負荷駆動能力を持つクロッ
クドライバーによって電流増幅し、クロック信号配線を
通してフリップフロップなどのファンクショナルセルに
供給している。
に同期式論理回路として設計されている。同期式論理回
路を含む半導体集積回路では、半導体集積回路全体に対
し同一のタイミングでクロック信号を供給しなければな
らない。一般的な同期式論理回路を含んだ半導体集積回
路は、外部又は内部クロック信号発生源から供給される
クロック信号を比較的大きな負荷駆動能力を持つクロッ
クドライバーによって電流増幅し、クロック信号配線を
通してフリップフロップなどのファンクショナルセルに
供給している。
【0004】このとき、クロック信号配線が有する配線
抵抗、配線容量及びファンクショナルセルのクロック入
力端子の容量によって信号の遅延が生じるが、クロック
ドライバーから各フリップフロップなどのファンクショ
ナルセルまでの配線長が異なると、それぞれ固有の信号
伝達遅延時間を持つことになるので、クロック信号伝達
遅延差(以下クロックスキューと呼ぶ)が生じる。同期
式論理回路を含む半導体集積回路のクロック周波数を高
くすると、このクロックスキューによって、タイミング
エラーによる誤動作が生じるため、クロックスキューは
できるだけ小さいことが望ましい。
抵抗、配線容量及びファンクショナルセルのクロック入
力端子の容量によって信号の遅延が生じるが、クロック
ドライバーから各フリップフロップなどのファンクショ
ナルセルまでの配線長が異なると、それぞれ固有の信号
伝達遅延時間を持つことになるので、クロック信号伝達
遅延差(以下クロックスキューと呼ぶ)が生じる。同期
式論理回路を含む半導体集積回路のクロック周波数を高
くすると、このクロックスキューによって、タイミング
エラーによる誤動作が生じるため、クロックスキューは
できるだけ小さいことが望ましい。
【0005】ゲートアレイ方式やスタンダードセル方式
に代表される自動配置配線CADを使うASIC(Ap
plication Specific Integr
ated Circuit)方式ではなく、ハンドクラ
フトのフルカスタム方式のレイアウト手法では、クロッ
クスキューを極力小さくすることが可能である。しか
し、前述のとおり、近年、半導体集積回路が数万ゲート
規模と大規模化しており、大規模な半導体集積回路を、
このハンドクラフトのフルカスタム方式でレイアウト設
計することは、コスト高の面から困難である。このた
め、自動配置配線はCADを使って行われる。すると、
クロックドライバーから各フリップフロップへの配線長
などのクロックスキューを発生させる要因を自動配置配
線CADで制御しないかぎり、クロックスキューが生じ
ることになる。
に代表される自動配置配線CADを使うASIC(Ap
plication Specific Integr
ated Circuit)方式ではなく、ハンドクラ
フトのフルカスタム方式のレイアウト手法では、クロッ
クスキューを極力小さくすることが可能である。しか
し、前述のとおり、近年、半導体集積回路が数万ゲート
規模と大規模化しており、大規模な半導体集積回路を、
このハンドクラフトのフルカスタム方式でレイアウト設
計することは、コスト高の面から困難である。このた
め、自動配置配線はCADを使って行われる。すると、
クロックドライバーから各フリップフロップへの配線長
などのクロックスキューを発生させる要因を自動配置配
線CADで制御しないかぎり、クロックスキューが生じ
ることになる。
【0006】クロック信号を、それを必要とするファン
クショナルセルに供給するための配線路をクロックライ
ンと呼ぶ。自動配置配線CADによるレイアウト設計方
法では、このクロックラインのクロックスキューを小さ
くするため、クロック信号を複数段のクロックバッファ
セルで段階的に電流増幅する。すなわち、クロック信号
が入力するボンディングパッド(以下、クロックパッド
と称す)からクロック信号を必要とするファンクショナ
ルセルまでを、複数段のクロックバッファセルを介して
それぞれ接続している。この回路網をその構成からクロ
ックツリーと呼ぶ。
クショナルセルに供給するための配線路をクロックライ
ンと呼ぶ。自動配置配線CADによるレイアウト設計方
法では、このクロックラインのクロックスキューを小さ
くするため、クロック信号を複数段のクロックバッファ
セルで段階的に電流増幅する。すなわち、クロック信号
が入力するボンディングパッド(以下、クロックパッド
と称す)からクロック信号を必要とするファンクショナ
ルセルまでを、複数段のクロックバッファセルを介して
それぞれ接続している。この回路網をその構成からクロ
ックツリーと呼ぶ。
【0007】次に、図6、図7及び図8を用いて、従来
のクロックツリー形成方法について説明する。
のクロックツリー形成方法について説明する。
【0008】図6は従来のクロックツリー形成方法のフ
ロー図であり、ステップS1において、クロックツリー
を含まない半導体集積回路を構成するファンクショナル
セル間接続情報をもとに、ファンクショナルセルのCA
Dによる自動配置を行う。次にステップS2において、
クロック信号が入力する全てのファンクショナルセルの
配置情報と、このクロック信号が入力する全てのファン
クショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックツリーの接続情報の
生成とクロックツリー上のクロックバッファセルの配置
を行う。ここで、同一階層のクロックバッファ回路と
は、そのクロックバッファセルとクロックパッドを結ぶ
経路の途中に同数個の他のクロックバッファセルが存在
するクロックバッファセルの集合体をいう。
ロー図であり、ステップS1において、クロックツリー
を含まない半導体集積回路を構成するファンクショナル
セル間接続情報をもとに、ファンクショナルセルのCA
Dによる自動配置を行う。次にステップS2において、
クロック信号が入力する全てのファンクショナルセルの
配置情報と、このクロック信号が入力する全てのファン
クショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックツリーの接続情報の
生成とクロックツリー上のクロックバッファセルの配置
を行う。ここで、同一階層のクロックバッファ回路と
は、そのクロックバッファセルとクロックパッドを結ぶ
経路の途中に同数個の他のクロックバッファセルが存在
するクロックバッファセルの集合体をいう。
【0009】次にステップS3において、ステップS2
で既に配置されていたファンクショナルセルに重ねてク
ロックツリー上のクロックバッファセルが配置された場
合に、それらのオーバーラップ配置をクロックスキュー
に影響を与えないよう、大幅な配置位置の変更を避けな
がら、自動配置CADで修正する。
で既に配置されていたファンクショナルセルに重ねてク
ロックツリー上のクロックバッファセルが配置された場
合に、それらのオーバーラップ配置をクロックスキュー
に影響を与えないよう、大幅な配置位置の変更を避けな
がら、自動配置CADで修正する。
【0010】ステップS4は、ステップS3で作られた
最終的な配置情報をもとに、半導体集積回路全体の自動
配線CADを用いて、クロックラインを優先させて半導
体集積回路全体の配線を行い、クロックスキューの低減
を図っている。
最終的な配置情報をもとに、半導体集積回路全体の自動
配線CADを用いて、クロックラインを優先させて半導
体集積回路全体の配線を行い、クロックスキューの低減
を図っている。
【0011】図7は、図6のステップS2で生成された
クロックツリーの構成を表す概念図であり、クロックパ
ッド1000がワイヤーボンディングなどで外部リード
(図示せず)に接続され外部からのクロック信号が印加
される。クロックパッド1000に印加されたクロック
信号は初段のクロックバッファセル1001と二段目の
クロックバッファセル1002〜1005のいずれかを
通過して、クロック信号を必要とするフリップフロップ
などのファンクショナルセル1006〜1021に供給
される。
クロックツリーの構成を表す概念図であり、クロックパ
ッド1000がワイヤーボンディングなどで外部リード
(図示せず)に接続され外部からのクロック信号が印加
される。クロックパッド1000に印加されたクロック
信号は初段のクロックバッファセル1001と二段目の
クロックバッファセル1002〜1005のいずれかを
通過して、クロック信号を必要とするフリップフロップ
などのファンクショナルセル1006〜1021に供給
される。
【0012】図7に示すように、クロックツリーは文字
通り木の枝のように分岐しており、クロックバッファセ
ル1001が駆動するクロックバッファセルは1002
〜1005の4個のクロックバッファセルの集合体であ
り、1002〜1005の各クロックバッファセルが駆
動するのは1006〜1009、1010〜1013、
1014〜1017、1018〜1021のいずれかの
4個のファンクションセルの集合体である。このクロッ
クツリーは、図6のステップS2においてクロック信号
を入力とするファンクショナルセルの配置情報と、クロ
ック信号を入力するファンクショナルセルのクロック信
号入力端子の端子容量により、1個のクロックバッファ
セルが駆動する同一階層のファンクショナルセルの総入
力端子容量、総配線容量に関して、同一階層に存在する
他のクロックバッファセルが駆動するそれが均等になる
ように生成される。
通り木の枝のように分岐しており、クロックバッファセ
ル1001が駆動するクロックバッファセルは1002
〜1005の4個のクロックバッファセルの集合体であ
り、1002〜1005の各クロックバッファセルが駆
動するのは1006〜1009、1010〜1013、
1014〜1017、1018〜1021のいずれかの
4個のファンクションセルの集合体である。このクロッ
クツリーは、図6のステップS2においてクロック信号
を入力とするファンクショナルセルの配置情報と、クロ
ック信号を入力するファンクショナルセルのクロック信
号入力端子の端子容量により、1個のクロックバッファ
セルが駆動する同一階層のファンクショナルセルの総入
力端子容量、総配線容量に関して、同一階層に存在する
他のクロックバッファセルが駆動するそれが均等になる
ように生成される。
【0013】図8は、特開平6−204435号公報に
記載されている従来のクロックツリー形成方法を用いた
半導体集積回路の平面図である。
記載されている従来のクロックツリー形成方法を用いた
半導体集積回路の平面図である。
【0014】図8において、半導体集積回路1101
に、クロック信号を外部より印加するクロックパッド1
102が存在し、クロックパッド1102と第1階層の
クロックバッファセル1103が接続されている。ま
た、第1階層のクロックバッファセル1103には、4
個の第2段目のクロックバッファセル1104〜110
7が接続されている。これらクロックツリーの接続関係
自体は図7と同様であるが、図8のクロックツリーはク
ロックツリーを構成するクロックバッファセルの配置位
置に特徴がある。
に、クロック信号を外部より印加するクロックパッド1
102が存在し、クロックパッド1102と第1階層の
クロックバッファセル1103が接続されている。ま
た、第1階層のクロックバッファセル1103には、4
個の第2段目のクロックバッファセル1104〜110
7が接続されている。これらクロックツリーの接続関係
自体は図7と同様であるが、図8のクロックツリーはク
ロックツリーを構成するクロックバッファセルの配置位
置に特徴がある。
【0015】すなわち、クロックパッド1102からク
ロック信号を供給する第1階層のクロックバッファセル
1103は、半導体集積回路1101の中央部に配置さ
れている。そして、第1階層のクロックバッファセル1
103は4個のクロックバッファセルが接続され、これ
ら第2階層のクロックバッファセル1104〜1107
のいずれの入力端子と第1階層のクロックバッファセル
1103の出力端子との水平方向の座標の差、及び垂直
方向の座標の差の総和が全て同一となるような位置に、
第2階層のクロックバッファセル1104〜1107が
配置されている。
ロック信号を供給する第1階層のクロックバッファセル
1103は、半導体集積回路1101の中央部に配置さ
れている。そして、第1階層のクロックバッファセル1
103は4個のクロックバッファセルが接続され、これ
ら第2階層のクロックバッファセル1104〜1107
のいずれの入力端子と第1階層のクロックバッファセル
1103の出力端子との水平方向の座標の差、及び垂直
方向の座標の差の総和が全て同一となるような位置に、
第2階層のクロックバッファセル1104〜1107が
配置されている。
【0016】このように、ある地点と他の地点との水平
及び垂直方向方向の座標の差の絶対値との総和は、一般
にマンハッタン距離と呼ばれている。図8において、第
1階層のクロックバッファセル1103の出力端子から
の距離が一定となるような地点が破線で示されている。
第2階層のクロックバッファセルは、いずれもこの破線
上にその入力端子が位置するように配置されている。一
般に半導体集積回路上の配線は、水平及び垂直方向に張
り巡らされる。すなわち、一般に斜め方向の配線は行わ
れない。このような条件のもとでは、ある地点から他の
地点への配線の長さはその地点間のマンハッタン距離と
なる。
及び垂直方向方向の座標の差の絶対値との総和は、一般
にマンハッタン距離と呼ばれている。図8において、第
1階層のクロックバッファセル1103の出力端子から
の距離が一定となるような地点が破線で示されている。
第2階層のクロックバッファセルは、いずれもこの破線
上にその入力端子が位置するように配置されている。一
般に半導体集積回路上の配線は、水平及び垂直方向に張
り巡らされる。すなわち、一般に斜め方向の配線は行わ
れない。このような条件のもとでは、ある地点から他の
地点への配線の長さはその地点間のマンハッタン距離と
なる。
【0017】従って、図8のように、第1階層のクロッ
クバッファセル1103の出力端子からマンハッタン距
離が一定となるような位置に、第2階層のクロックバッ
ファセルを全て配置すれば、第2階層の各クロックバッ
ファセルの入力端子と第1の階層のクロックバッファセ
ルの出力端子を結ぶ配線は、いずれもその長さがほぼ等
しくなる。このため、クロックパッド1102から各第
2階層のクロックバッファセル1104〜1107まで
の配線抵抗及び配線容量は、いずれも等しくなり、第2
階層のクロックバッファセル1104〜1107の間の
クロック信号のスキューを小さくすることが可能であ
る。同様にして、各クロックバッファセルから分岐して
接続されるクロックバッファ回路若しくはフリップフロ
ップなどのファンクショナルセルを常にクロックバッフ
ァセルの出力端子からのマンハッタン距離上に配置する
ようにすれば、供給されるクロック信号間のスキューの
低減が行える。
クバッファセル1103の出力端子からマンハッタン距
離が一定となるような位置に、第2階層のクロックバッ
ファセルを全て配置すれば、第2階層の各クロックバッ
ファセルの入力端子と第1の階層のクロックバッファセ
ルの出力端子を結ぶ配線は、いずれもその長さがほぼ等
しくなる。このため、クロックパッド1102から各第
2階層のクロックバッファセル1104〜1107まで
の配線抵抗及び配線容量は、いずれも等しくなり、第2
階層のクロックバッファセル1104〜1107の間の
クロック信号のスキューを小さくすることが可能であ
る。同様にして、各クロックバッファセルから分岐して
接続されるクロックバッファ回路若しくはフリップフロ
ップなどのファンクショナルセルを常にクロックバッフ
ァセルの出力端子からのマンハッタン距離上に配置する
ようにすれば、供給されるクロック信号間のスキューの
低減が行える。
【0018】以上の説明より、従来のクロックツリーの
形成方法で、クロックパッドからクロック信号が供給さ
れる各ファンクショナルセル1108〜1123までの
遅延時間を全て同一とすることが可能であるため、各フ
ァンクショナルセル1108〜1123におけるクロッ
ク信号の到達時間差すなわちクロックスキューは、ほぼ
ゼロとなり、スキューによる誤動作を防止することが可
能となる。
形成方法で、クロックパッドからクロック信号が供給さ
れる各ファンクショナルセル1108〜1123までの
遅延時間を全て同一とすることが可能であるため、各フ
ァンクショナルセル1108〜1123におけるクロッ
ク信号の到達時間差すなわちクロックスキューは、ほぼ
ゼロとなり、スキューによる誤動作を防止することが可
能となる。
【0019】
【発明が解決しようとする課題】従来の自動配置配線C
ADによるクロックツリーの形成方法は、単相クロック
信号に同期して動作する論理回路を含む半導体集積回路
において、同一のクロック信号の供給を必要としている
全てのファンクショナルセルに、クロックスキューがほ
ぼゼロとなるクロック信号を供給することが可能であ
る。
ADによるクロックツリーの形成方法は、単相クロック
信号に同期して動作する論理回路を含む半導体集積回路
において、同一のクロック信号の供給を必要としている
全てのファンクショナルセルに、クロックスキューがほ
ぼゼロとなるクロック信号を供給することが可能であ
る。
【0020】しかし、2相クロック信号を用いたような
系統の異なる複数のクロック信号に同期して動作する論
理回路を含む半導体集積回路においては、系統が異なる
クロック信号間では、クロックスキューの低減が行われ
ない。
系統の異なる複数のクロック信号に同期して動作する論
理回路を含む半導体集積回路においては、系統が異なる
クロック信号間では、クロックスキューの低減が行われ
ない。
【0021】次に、図9、図10及び図11を用い、互
いに重なり合わない2相クロック信号(以下、非重複2
相クロック信号と称す)に同期して動作する論理回路を
含む半導体集積回路を例にして、上述した問題点を説明
する。
いに重なり合わない2相クロック信号(以下、非重複2
相クロック信号と称す)に同期して動作する論理回路を
含む半導体集積回路を例にして、上述した問題点を説明
する。
【0022】図9は、クロックパッド及びクロックツリ
ーの末端部におけるクロック信号の波形図である。ま
た、図10(a),(b)は、従来の単相クロック信号
に対して行われているクロックツリーを非重複2相クロ
ック信号に適用した場合のクロックツリーの概念図であ
る。さらに、図11は上述した単相クロックに対して行
われている従来のクロックツリー形成方法を、非重複2
相クロック信号に対して適用したレイアウト設計フロー
図である。
ーの末端部におけるクロック信号の波形図である。ま
た、図10(a),(b)は、従来の単相クロック信号
に対して行われているクロックツリーを非重複2相クロ
ック信号に適用した場合のクロックツリーの概念図であ
る。さらに、図11は上述した単相クロックに対して行
われている従来のクロックツリー形成方法を、非重複2
相クロック信号に対して適用したレイアウト設計フロー
図である。
【0023】図9、図10において、第1のクロック信
号CK1と第2のクロック信号CK2は、各クロック信
号に対する各々のクロックツリーの第1段目のクロック
バッファセル801,817に入力するオリジナルのク
ロック信号である。第1のクロック信号CK1は、第1
段目のクロックバッファセル801と第2段目のクロッ
クバッファセル802〜804を通り、第1のクロック
信号CK1を必要とするクロックツリーの末端に接続さ
れたファンクショナルセル805〜816にクロック信
号CK1Aとして供給される。このとき、オリジナルの
クロック信号CK1とファンクショナルセル805〜8
16に供給されるクロック信号CK1Aとの間には、伝
達遅延時間tDP1が生じる。
号CK1と第2のクロック信号CK2は、各クロック信
号に対する各々のクロックツリーの第1段目のクロック
バッファセル801,817に入力するオリジナルのク
ロック信号である。第1のクロック信号CK1は、第1
段目のクロックバッファセル801と第2段目のクロッ
クバッファセル802〜804を通り、第1のクロック
信号CK1を必要とするクロックツリーの末端に接続さ
れたファンクショナルセル805〜816にクロック信
号CK1Aとして供給される。このとき、オリジナルの
クロック信号CK1とファンクショナルセル805〜8
16に供給されるクロック信号CK1Aとの間には、伝
達遅延時間tDP1が生じる。
【0024】第2のクロック信号CK2に関しても同様
に、第2のクロック信号CK2は、第1段目のクロック
バッファセル817と第2段目のクロックバッファセル
818〜821を通り、第2のクロック信号CK2を必
要とするクロックツリーの末端に接続されたファンクシ
ョナルセル823〜838にクロック信号CK2Aとし
て供給される。このとき、オリジナルのクロック信号C
K2とファンクショナルセル823〜838に供給され
るクロック信号CK2Aとの間には、伝達遅延時間tD
P2Aが生じる。
に、第2のクロック信号CK2は、第1段目のクロック
バッファセル817と第2段目のクロックバッファセル
818〜821を通り、第2のクロック信号CK2を必
要とするクロックツリーの末端に接続されたファンクシ
ョナルセル823〜838にクロック信号CK2Aとし
て供給される。このとき、オリジナルのクロック信号C
K2とファンクショナルセル823〜838に供給され
るクロック信号CK2Aとの間には、伝達遅延時間tD
P2Aが生じる。
【0025】次に、クロック信号CK1とCK2の伝達
遅延時間に差が生じる理由を以下に説明する。
遅延時間に差が生じる理由を以下に説明する。
【0026】図10(a)に示すように、第1のクロッ
ク信号CK1のクロックツリーに接続されるファンクシ
ョナルセルは12個、図10(b)に示すように第2の
クロック信号CK2のクロックツリーに接続されるファ
ンクショナルセルは16個と、第1のクロック信号CK
1と第2のクロック信号CK2との間で総負荷容量(F
anIn数)が異なる。このような場合、従来の自動配
置配線CADによるクロックツリー形成方法は、各クロ
ック信号の総負荷容量に見合ったクロックツリーを、ク
ロックバッファセルの個数やクロックツリーのクロック
バッファセルの段数を調整し生成する。
ク信号CK1のクロックツリーに接続されるファンクシ
ョナルセルは12個、図10(b)に示すように第2の
クロック信号CK2のクロックツリーに接続されるファ
ンクショナルセルは16個と、第1のクロック信号CK
1と第2のクロック信号CK2との間で総負荷容量(F
anIn数)が異なる。このような場合、従来の自動配
置配線CADによるクロックツリー形成方法は、各クロ
ック信号の総負荷容量に見合ったクロックツリーを、ク
ロックバッファセルの個数やクロックツリーのクロック
バッファセルの段数を調整し生成する。
【0027】従って、総負荷容量の異なるクロック信号
の各クロックツリーは、クロックバッファセルの個数や
クロックツリーのクロックバッファセルの段数などの構
成が異なるため、クロックバッファセル801の入力か
らファンクショナルセル805〜816までの伝達遅延
時間tDP1と、クロックバッファセル817の入力か
らファンクショナルセル823〜838までの伝達遅延
時間tDP2Bとの間に違いが生じる。このため、各ク
ロック信号CK1,CK2のクロックツリー末端では、
図9に示すt2〜t3において、本来重ならないはずの
2つのクロックが重なり合う状態が発生する。
の各クロックツリーは、クロックバッファセルの個数や
クロックツリーのクロックバッファセルの段数などの構
成が異なるため、クロックバッファセル801の入力か
らファンクショナルセル805〜816までの伝達遅延
時間tDP1と、クロックバッファセル817の入力か
らファンクショナルセル823〜838までの伝達遅延
時間tDP2Bとの間に違いが生じる。このため、各ク
ロック信号CK1,CK2のクロックツリー末端では、
図9に示すt2〜t3において、本来重ならないはずの
2つのクロックが重なり合う状態が発生する。
【0028】一般的に、非重複2相クロック信号を論理
回路の基本クロックとする半導体集積回路では、クロッ
ク周波数向上を目的とするクロックスキューの低減とと
もに、図9に示すように2つのクロック信号CK1,C
K2間に設ける非重複期間tNOVを維持したクロック
信号を、各クロック信号CK1,CK2を必要とするフ
ァンクショナルセルに供給しなければならない。図9の
第1のクロック信号CK1がクロックツリーの末端部に
伝搬したときのクロック信号CK1Aと第2のクロック
信号CK2がクロックツリーの末端部に伝搬したときの
クロック信号CK2Aの関係のように、クロック信号C
K1の伝達遅延時間tDP1とクロック信号CK2Aの
伝達遅延時間tDP2Aがほぼ等しければ、各クロック
信号の各クロックツリーの末端部におけるクロック信号
間の非重複期間tNOVBを維持できる。
回路の基本クロックとする半導体集積回路では、クロッ
ク周波数向上を目的とするクロックスキューの低減とと
もに、図9に示すように2つのクロック信号CK1,C
K2間に設ける非重複期間tNOVを維持したクロック
信号を、各クロック信号CK1,CK2を必要とするフ
ァンクショナルセルに供給しなければならない。図9の
第1のクロック信号CK1がクロックツリーの末端部に
伝搬したときのクロック信号CK1Aと第2のクロック
信号CK2がクロックツリーの末端部に伝搬したときの
クロック信号CK2Aの関係のように、クロック信号C
K1の伝達遅延時間tDP1とクロック信号CK2Aの
伝達遅延時間tDP2Aがほぼ等しければ、各クロック
信号の各クロックツリーの末端部におけるクロック信号
間の非重複期間tNOVBを維持できる。
【0029】しかしながら、非重複期間tNOVを維持
したクロック信号を、各クロック信号を必要とするファ
ンクショナルセルに供給できなけば、一方のクロック信
号をマスタークロックとしてデータをラッチするトラン
スペアレントラッチと、他方のクロック信号をスレーブ
クロックとしてデータをラッチするトランスぺアレント
ラッチの間で、データの筒抜けが生じ、誤動作を引き起
こす。
したクロック信号を、各クロック信号を必要とするファ
ンクショナルセルに供給できなけば、一方のクロック信
号をマスタークロックとしてデータをラッチするトラン
スペアレントラッチと、他方のクロック信号をスレーブ
クロックとしてデータをラッチするトランスぺアレント
ラッチの間で、データの筒抜けが生じ、誤動作を引き起
こす。
【0030】次に、従来の自動配置配線CADとクロッ
クツリー形成方法を利用して非重複2相クロック信号の
クロックツリーを自動で生成するレイアウト設計フロー
について、図11を参照して説明する。
クツリー形成方法を利用して非重複2相クロック信号の
クロックツリーを自動で生成するレイアウト設計フロー
について、図11を参照して説明する。
【0031】図6に示す単相クロックに対する従来のク
ロックツリーレイアウト設計フローと同様に、ステップ
S1において、クロックツリーを含まない半導体集積回
路を構成するファンクショナルセル間接続情報をもと
に、ファンクショナルセルのCADによる自動配置を行
う。
ロックツリーレイアウト設計フローと同様に、ステップ
S1において、クロックツリーを含まない半導体集積回
路を構成するファンクショナルセル間接続情報をもと
に、ファンクショナルセルのCADによる自動配置を行
う。
【0032】次にステップS21において、クロック信
号CK1が入力する全てのファンクショナルセルの配置
情報と、クロック信号CK1が入力する全てのファンク
ショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックCK1に対するクロ
ックツリーの接続情報の生成とクロックツリー上のクロ
ックバッファセルの配置を行う。
号CK1が入力する全てのファンクショナルセルの配置
情報と、クロック信号CK1が入力する全てのファンク
ショナルセルのクロック信号入力端子の端子容量によ
り、1個のクロックバッファセルが駆動する同一階層の
ファンクショナルセルの総入力端子容量、総配線容量
が、同一階層に存在する他のクロックバッファセルが駆
動するファンクショナルセルの総入力端子容量、総配線
容量と等しくなるように、クロックCK1に対するクロ
ックツリーの接続情報の生成とクロックツリー上のクロ
ックバッファセルの配置を行う。
【0033】次に、ステップS22でステップS21と
同様に、クロックCK2に対するクロックツリーの接続
情報の生成とクロックツリー上のクロックバッファセル
の配置を行った後、ステップS3において、ステップS
21及びステップS22で既に配置されていたファンク
ショナルセルに重ねてクロックツリー上のクロックバッ
ファセルが配置された場合に、それらのオーバーラップ
配置をクロックスキューに影響を与えないよう、大幅な
配置位置の変更を避けながら、自動配置CADで修正す
る。
同様に、クロックCK2に対するクロックツリーの接続
情報の生成とクロックツリー上のクロックバッファセル
の配置を行った後、ステップS3において、ステップS
21及びステップS22で既に配置されていたファンク
ショナルセルに重ねてクロックツリー上のクロックバッ
ファセルが配置された場合に、それらのオーバーラップ
配置をクロックスキューに影響を与えないよう、大幅な
配置位置の変更を避けながら、自動配置CADで修正す
る。
【0034】最後にステップS4で、ステップS3で作
られた最終的な配置情報をもとに、クロックラインを優
先させて、半導体集積回路全体を自動配線CADを用い
て配線処理し、クロックスキューの低減を図っている。
られた最終的な配置情報をもとに、クロックラインを優
先させて、半導体集積回路全体を自動配線CADを用い
て配線処理し、クロックスキューの低減を図っている。
【0035】図11に示すクロックツリーのレイアウト
設計フローにおいては、第1のクロック信号CK1と第
2のクロック信号CK2に対して個別にクロックツリー
を生成するので、各クロックツリー内で供給されるクロ
ック信号のクロックスキューの低減は行われるが、複数
のクロックツリーが供給する系統の異なる複数のクロッ
ク信号間では、全くクロックスキューの低減がなされな
いという問題がある。
設計フローにおいては、第1のクロック信号CK1と第
2のクロック信号CK2に対して個別にクロックツリー
を生成するので、各クロックツリー内で供給されるクロ
ック信号のクロックスキューの低減は行われるが、複数
のクロックツリーが供給する系統の異なる複数のクロッ
ク信号間では、全くクロックスキューの低減がなされな
いという問題がある。
【0036】また、ゲートアレイ方式やスタンダードセ
ル方式に代表される自動配置配線CADを使うASIC
(Application Specific Int
egrated Circuit)方式ではなく、ハン
ドクラフトのフルカスタム方式のレイアウト手法では、
系統の異なる複数のクロック信号間のクロックスキュー
を極力小さくすることが可能である。しかし、近年半導
体集積回路が数万ゲート規模と大規模化しており、大規
模な半導体集積回路をこのハンドクラフトのフルカスタ
ム方式でレイアウト設計することは、コスト高の面から
困難であり、自動配置配線CADを用いることが必すで
ある。従って、各クロックドライバーから各ファンクシ
ョナルセルへの配線長の違いなどによるクロックスキュ
ーを発生させる要因を自動配置配線CADで制御しない
かぎり、系統の異なる複数のクロック信号間のクロック
スキューの低減が図れない。
ル方式に代表される自動配置配線CADを使うASIC
(Application Specific Int
egrated Circuit)方式ではなく、ハン
ドクラフトのフルカスタム方式のレイアウト手法では、
系統の異なる複数のクロック信号間のクロックスキュー
を極力小さくすることが可能である。しかし、近年半導
体集積回路が数万ゲート規模と大規模化しており、大規
模な半導体集積回路をこのハンドクラフトのフルカスタ
ム方式でレイアウト設計することは、コスト高の面から
困難であり、自動配置配線CADを用いることが必すで
ある。従って、各クロックドライバーから各ファンクシ
ョナルセルへの配線長の違いなどによるクロックスキュ
ーを発生させる要因を自動配置配線CADで制御しない
かぎり、系統の異なる複数のクロック信号間のクロック
スキューの低減が図れない。
【0037】このため、本発明の目的は、系統の異なる
複数のクロック信号のクロックツリーとクロックツリー
の間のクロックスキュー低減を可能とする半導体集積回
路のクロックツリーの設計方法及びそれによる半導体集
積回路を提供することにある。
複数のクロック信号のクロックツリーとクロックツリー
の間のクロックスキュー低減を可能とする半導体集積回
路のクロックツリーの設計方法及びそれによる半導体集
積回路を提供することにある。
【0038】
【課題を解決するための手段】そのため、本発明による
半導体集積回路のクロックツリーの設計方法は、複数の
クロック信号に同期し動作する論理回路を内蔵する半導
体集積回路のクロックツリーの設計方法であって、複数
のクロック信号が入力する各クロック入力端子から、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、前記論理回路を構成するファンクショ
ナルセルに各クロック信号を供給するクロックツリーの
設計方法において、前記クロックバッファ回路は、入力
端子に印加されたクロック信号を増幅して出力端子に出
力するバッファ回路を複数内蔵しレイアウト的に固定さ
れ、前記クロックツリー上の前記クロックバッファセル
を含まない前記論理回路を構成する前記ファンクショナ
ルセル間接続情報をもとに、全ての前記ファンクショナ
ルセルを配置する論理回路配置工程と、前記複数のクロ
ック信号に対する前記複数のクロックツリー接続情報
を、前記クロックバッファセルを各クロックに対して共
用して生成するクロックツリー接続情報生成工程と、前
記クロックツリー接続情報をもとに、前記クロックバッ
ファ回路を配置するクロックバッファ配置工程とを
含み、前記クロックツリー接続情報をもとに、前記各ク
ロック入力端子と対応する前記クロックバッファ回路の
各入力端子とを結ぶ配線、及び所定の上位階層のクロッ
クバッファ回路の各出力端子と対応する下位階層のクロ
ックバッファ回路の各入力端子とを結ぶ配線を平行して
接続することを特徴としている。
半導体集積回路のクロックツリーの設計方法は、複数の
クロック信号に同期し動作する論理回路を内蔵する半導
体集積回路のクロックツリーの設計方法であって、複数
のクロック信号が入力する各クロック入力端子から、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、前記論理回路を構成するファンクショ
ナルセルに各クロック信号を供給するクロックツリーの
設計方法において、前記クロックバッファ回路は、入力
端子に印加されたクロック信号を増幅して出力端子に出
力するバッファ回路を複数内蔵しレイアウト的に固定さ
れ、前記クロックツリー上の前記クロックバッファセル
を含まない前記論理回路を構成する前記ファンクショナ
ルセル間接続情報をもとに、全ての前記ファンクショナ
ルセルを配置する論理回路配置工程と、前記複数のクロ
ック信号に対する前記複数のクロックツリー接続情報
を、前記クロックバッファセルを各クロックに対して共
用して生成するクロックツリー接続情報生成工程と、前
記クロックツリー接続情報をもとに、前記クロックバッ
ファ回路を配置するクロックバッファ配置工程とを
含み、前記クロックツリー接続情報をもとに、前記各ク
ロック入力端子と対応する前記クロックバッファ回路の
各入力端子とを結ぶ配線、及び所定の上位階層のクロッ
クバッファ回路の各出力端子と対応する下位階層のクロ
ックバッファ回路の各入力端子とを結ぶ配線を平行して
接続することを特徴としている。
【0039】また、本発明による半導体集積回路は、複
数のクロック信号が入力する各クロック入力端子と、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、論理回路を構成するファンクショナル
セルに各クロック信号を供給するクロックツリーを含む
半導体集積回路において、前記クロックバッファ回路
は、入力端子に印加されたクロック信号を増幅して出力
端子に出力するバッファ回路を複数内蔵しレイアウト的
に固定され、前記各クロック入力端子と対応する前記ク
ロックバッファ回路の各入力端子とを結ぶ配線、及び所
定の上位階層のクロックバッファ回路の各出力端子と対
応する下位階層のクロックバッファ回路の各入力端子と
を結ぶ配線が平行して接続されていることを特徴として
いる。
数のクロック信号が入力する各クロック入力端子と、1
個以上存在するクロックバッファ回路の上位階層のクロ
ックバッファ回路から下位階層の前記クロックバッファ
回路に向かって、論理回路を構成するファンクショナル
セルに各クロック信号を供給するクロックツリーを含む
半導体集積回路において、前記クロックバッファ回路
は、入力端子に印加されたクロック信号を増幅して出力
端子に出力するバッファ回路を複数内蔵しレイアウト的
に固定され、前記各クロック入力端子と対応する前記ク
ロックバッファ回路の各入力端子とを結ぶ配線、及び所
定の上位階層のクロックバッファ回路の各出力端子と対
応する下位階層のクロックバッファ回路の各入力端子と
を結ぶ配線が平行して接続されていることを特徴として
いる。
【0040】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。本実施の形態の半導体集積
回路は、非重複2相クロック信号に同期して動作する論
理回路を含むものとして説明する。
て図面を参照して説明する。本実施の形態の半導体集積
回路は、非重複2相クロック信号に同期して動作する論
理回路を含むものとして説明する。
【0041】図1は、本発明を適用したクロックツリー
形成方法で用いられるクロックバッファセル101であ
る。クロックバッファセル101は、単一のファンクシ
ョナルセルとして構成され、2つのクロック信号のクロ
ックツリーの形成に対応すべく、2個のバッファ回路1
02,103を内蔵する。クロックバッファセル101
は、クロック信号を入力するための入力端子H01,H
02と電流増幅したクロック信号を出力するための出力
端子N01,N02とを有する。第1のバッファ回路1
02は、入力端子H01に印加された第1のクロック信
号を電流増幅し、第1の出力端子N01から出力する。
同様に、第2のバッファ回路103は、入力端子H02
に印加された第2のクロック信号を電流増幅し、第2の
出力端子N02から出力する。
形成方法で用いられるクロックバッファセル101であ
る。クロックバッファセル101は、単一のファンクシ
ョナルセルとして構成され、2つのクロック信号のクロ
ックツリーの形成に対応すべく、2個のバッファ回路1
02,103を内蔵する。クロックバッファセル101
は、クロック信号を入力するための入力端子H01,H
02と電流増幅したクロック信号を出力するための出力
端子N01,N02とを有する。第1のバッファ回路1
02は、入力端子H01に印加された第1のクロック信
号を電流増幅し、第1の出力端子N01から出力する。
同様に、第2のバッファ回路103は、入力端子H02
に印加された第2のクロック信号を電流増幅し、第2の
出力端子N02から出力する。
【0042】図2は、図1のクロックバッファセル10
1に相当するシンボル図であり、図1に示す回路接続情
報に従い2つの入力端子H01,H02と2つの出力端
子N01,N02とを有する。
1に相当するシンボル図であり、図1に示す回路接続情
報に従い2つの入力端子H01,H02と2つの出力端
子N01,N02とを有する。
【0043】本実施の形態では、第1のクロック信号C
K1を供給するファンクショナルセルの個数が、第2の
クロック信号CK2を供給するファンクショナルセルの
個数よりも少ない、すなわち、第2のクロック信号CK
2の総負荷容量(FanIn数)が、第1のクロック信
号CK1のそれより多いとして説明する。
K1を供給するファンクショナルセルの個数が、第2の
クロック信号CK2を供給するファンクショナルセルの
個数よりも少ない、すなわち、第2のクロック信号CK
2の総負荷容量(FanIn数)が、第1のクロック信
号CK1のそれより多いとして説明する。
【0044】図3は、本発明を適用したクロックツリー
形成方法におけるレイアウト設計フローである。ステッ
プS1で、従来のクロックツリー形成方法におけるレイ
アウト設計フローと同様に、半導体集積回路のうちクロ
ックツリーを含まない論理回路部のファンクショナルセ
ル間接続情報をもとに、自動配置CADですべてのファ
ンクショナルセルを配置する。
形成方法におけるレイアウト設計フローである。ステッ
プS1で、従来のクロックツリー形成方法におけるレイ
アウト設計フローと同様に、半導体集積回路のうちクロ
ックツリーを含まない論理回路部のファンクショナルセ
ル間接続情報をもとに、自動配置CADですべてのファ
ンクショナルセルを配置する。
【0045】次にステップS210において、総負荷容
量が他方のクロック信号すなわちクロック信号CK1よ
りも大きなクロック信号CK2に対して、クロック信号
CK2を供給するファンクショナルセルの配置情報と、
クロック信号CK2を供給するファンクショナルセルの
クロック信号を入力する端子容量により、1個のクロッ
クバッファセルが駆動する同一階層のファンクショナル
セルの総入力端子容量、総配線容量に関して、同一階層
に存在する他のクロックバッファセルのそれが均等にな
るようにクロックツリーの接続情報の生成と、クロック
ツリー上のクロックバッファセルの配置を行う。このと
き生成されるクロックツリー上のクロックバッファセル
は、図1と図2で示される2個のバッファ回路を内蔵す
るクロックバッファセルである。
量が他方のクロック信号すなわちクロック信号CK1よ
りも大きなクロック信号CK2に対して、クロック信号
CK2を供給するファンクショナルセルの配置情報と、
クロック信号CK2を供給するファンクショナルセルの
クロック信号を入力する端子容量により、1個のクロッ
クバッファセルが駆動する同一階層のファンクショナル
セルの総入力端子容量、総配線容量に関して、同一階層
に存在する他のクロックバッファセルのそれが均等にな
るようにクロックツリーの接続情報の生成と、クロック
ツリー上のクロックバッファセルの配置を行う。このと
き生成されるクロックツリー上のクロックバッファセル
は、図1と図2で示される2個のバッファ回路を内蔵す
るクロックバッファセルである。
【0046】図4は、図3のステップS210で形成さ
れたクロックツリーの構成概念図であり、クロックバッ
ファセル401〜405は、図2のシンボル図を用いて
いる。前に述べたとおり、総負荷容量が他方のクロック
信号CK1より大きいクロック信号CK2のクロックラ
インに、2個のバッファ回路を内蔵するクロックバッフ
ァセル401〜405を用いクロックツリーを形成して
おり、外部からのクロック信号CK2は、ボンディング
ワイヤーなどで外部リードと接続されているクロックパ
ッド42に印加される。クロック信号CK2は、第1段
目のクロックバッファセル401及び第2段目のクロッ
クバッファセル402〜405のいずれかを通過して、
クロック信号CK2を必要とするフリップフロップなど
のファンクショナルセルに供給される。
れたクロックツリーの構成概念図であり、クロックバッ
ファセル401〜405は、図2のシンボル図を用いて
いる。前に述べたとおり、総負荷容量が他方のクロック
信号CK1より大きいクロック信号CK2のクロックラ
インに、2個のバッファ回路を内蔵するクロックバッフ
ァセル401〜405を用いクロックツリーを形成して
おり、外部からのクロック信号CK2は、ボンディング
ワイヤーなどで外部リードと接続されているクロックパ
ッド42に印加される。クロック信号CK2は、第1段
目のクロックバッファセル401及び第2段目のクロッ
クバッファセル402〜405のいずれかを通過して、
クロック信号CK2を必要とするフリップフロップなど
のファンクショナルセルに供給される。
【0047】クロックツリーを形成するクロックバッフ
ァセルは、2つの入力端子と2つの出力端子を有してい
るが、ステップS210では、クロックバッファセル内
の1個のバッファ回路の1対の入力端子と出力端子が、
クロック信号CK2のクロックツリーを形成するよう接
続され、残る1個のバッファ回路の1対の入力端子と出
力端子は接続されない。すなわち、総負荷容量が他方の
クロック信号CK2より小さなクロック信号CK1を供
給するファンクショナルセル422〜433のクロック
入力端子には、クロックバッファセル402〜405の
出力端子は接続されない。
ァセルは、2つの入力端子と2つの出力端子を有してい
るが、ステップS210では、クロックバッファセル内
の1個のバッファ回路の1対の入力端子と出力端子が、
クロック信号CK2のクロックツリーを形成するよう接
続され、残る1個のバッファ回路の1対の入力端子と出
力端子は接続されない。すなわち、総負荷容量が他方の
クロック信号CK2より小さなクロック信号CK1を供
給するファンクショナルセル422〜433のクロック
入力端子には、クロックバッファセル402〜405の
出力端子は接続されない。
【0048】次に、図3のステップS220において、
ステップS210で生成されたクロック信号CK2に対
するクロックツリー上のクロックバッファセル401〜
405を用いて、総負荷容量が他方のクロック信号より
小さなクロック信号CK1のクロックツリー生成を行
う。すなわち、図4において、クロック信号CK1が印
加されるクロックパッド41と、既にステップS210
で配置されている第1段目のクロックバッファセル40
1の未接続入力端子の接続を行い、さらに第1段目のク
ロックバッファセル401の未接続出力端子と第2段目
のクロックバッファセル402〜405の未接続入力端
子を接続する。
ステップS210で生成されたクロック信号CK2に対
するクロックツリー上のクロックバッファセル401〜
405を用いて、総負荷容量が他方のクロック信号より
小さなクロック信号CK1のクロックツリー生成を行
う。すなわち、図4において、クロック信号CK1が印
加されるクロックパッド41と、既にステップS210
で配置されている第1段目のクロックバッファセル40
1の未接続入力端子の接続を行い、さらに第1段目のク
ロックバッファセル401の未接続出力端子と第2段目
のクロックバッファセル402〜405の未接続入力端
子を接続する。
【0049】また、総負荷容量が他方のクロック信号よ
り小さなクロック信号CK1を供給する図4に示すファ
ンクショナルセル422〜433の配置位置情報やクロ
ック入力端子の端子容量などの情報と、既にステップS
210で配置されているファンクショナルセルに直接接
続される第2段目のクロックバッファセル402〜40
5の配置位置情報から、クロックスキューを小さくする
ように制御しながら、第2段目のクロックバッファセル
402〜405の未接続出力端子と、クロック信号CK
1を供給するファンクショナルセル422〜433のク
ロック信号入力端子とを接続する。
り小さなクロック信号CK1を供給する図4に示すファ
ンクショナルセル422〜433の配置位置情報やクロ
ック入力端子の端子容量などの情報と、既にステップS
210で配置されているファンクショナルセルに直接接
続される第2段目のクロックバッファセル402〜40
5の配置位置情報から、クロックスキューを小さくする
ように制御しながら、第2段目のクロックバッファセル
402〜405の未接続出力端子と、クロック信号CK
1を供給するファンクショナルセル422〜433のク
ロック信号入力端子とを接続する。
【0050】すなわち、本実施の形態による半導体集積
回路の設計方法及びそれによる半導体集積回路において
は、クロック信号CK1が供給されるクロックパッド4
1から複数のクロック信号の各クロックツリーが共用す
る最下位階層のクロックバッファセル402〜405ま
での経路と、クロック信号CK2が供給されるクロック
パッド42から複数のクロック信号の各クロックツリー
が共用する最下位階層のクロックバッファセル402〜
405までの経路に関し、上記経路の各接続情報を用い
て、所定のクロックツリー上の全クロックバッファセル
401〜405の出力端子とその下位のクロックバッフ
ァセル402〜405の入力端子間、すなわち一般的に
は全てのクロック信号に対応するクロックツリー上の全
ての配線が、並行して接続されるという特徴がある。
回路の設計方法及びそれによる半導体集積回路において
は、クロック信号CK1が供給されるクロックパッド4
1から複数のクロック信号の各クロックツリーが共用す
る最下位階層のクロックバッファセル402〜405ま
での経路と、クロック信号CK2が供給されるクロック
パッド42から複数のクロック信号の各クロックツリー
が共用する最下位階層のクロックバッファセル402〜
405までの経路に関し、上記経路の各接続情報を用い
て、所定のクロックツリー上の全クロックバッファセル
401〜405の出力端子とその下位のクロックバッフ
ァセル402〜405の入力端子間、すなわち一般的に
は全てのクロック信号に対応するクロックツリー上の全
ての配線が、並行して接続されるという特徴がある。
【0051】図5は、ステップS220を完了した本実
施の形態による半導体集積回路におけるクロックツリー
の構成を示す概念図である。クロックパッド41にクロ
ック信号CK1、クロックパッド42にクロック信号C
K2がそれぞれ印加され、クロックパッド41とクロッ
クパッド42は、単一のクロックバッファセル401の
入力端子にそれぞれ接続される。また、単一のクロック
バッファセル401の2つのクロック信号に相当する2
つの出力信号配線は、それぞれ4個のクロックバッファ
セル402〜405の入力端子に2本のクロック信号配
線が交わることなく接続される。
施の形態による半導体集積回路におけるクロックツリー
の構成を示す概念図である。クロックパッド41にクロ
ック信号CK1、クロックパッド42にクロック信号C
K2がそれぞれ印加され、クロックパッド41とクロッ
クパッド42は、単一のクロックバッファセル401の
入力端子にそれぞれ接続される。また、単一のクロック
バッファセル401の2つのクロック信号に相当する2
つの出力信号配線は、それぞれ4個のクロックバッファ
セル402〜405の入力端子に2本のクロック信号配
線が交わることなく接続される。
【0052】クロック信号CK2を供給するファンクシ
ョナルセル406〜421のクロック信号入力端子に
は、第2段目のクロックバッファセルの出力端子のう
ち、クロック信号CK2に相当する信号を出力する出力
端子が接続される。また、図4において未接続であった
クロック信号CK1を供給するファンクショナルセル4
22〜433のクロック信号入力端子には、第2段目の
クロックバッファセルの出力端子のうち、クロック信号
CK1に相当する信号を出力する出力端子が接続され
る。
ョナルセル406〜421のクロック信号入力端子に
は、第2段目のクロックバッファセルの出力端子のう
ち、クロック信号CK2に相当する信号を出力する出力
端子が接続される。また、図4において未接続であった
クロック信号CK1を供給するファンクショナルセル4
22〜433のクロック信号入力端子には、第2段目の
クロックバッファセルの出力端子のうち、クロック信号
CK1に相当する信号を出力する出力端子が接続され
る。
【0053】次に、ステップS30において、ステップ
S210,220で既に配置されているファンクショナ
ルセルに重ねてクロックバッファセルが配置された場合
に、従来のクロックツリー形成方法におけるレイアウト
設計方法と同様に、オーバーラップ配置をクロックスキ
ューに影響を与えないよう大幅なファンクショナルセル
の配置位置の移動を避けながら、自動配置CADで修正
する。
S210,220で既に配置されているファンクショナ
ルセルに重ねてクロックバッファセルが配置された場合
に、従来のクロックツリー形成方法におけるレイアウト
設計方法と同様に、オーバーラップ配置をクロックスキ
ューに影響を与えないよう大幅なファンクショナルセル
の配置位置の移動を避けながら、自動配置CADで修正
する。
【0054】続いてステップS40において、従来のク
ロックツリー形成方法におけるレイアウト設計方法と同
様に、ステップS220で作成された最終的な配置情報
とクロックラインの接続情報を含む半導体集積回路全体
のファンクショナルセル間の接続情報をもとに、クロッ
クラインを優先させて、半導体集積回路全体の配線を自
動配線CADを用いて配線処理する。
ロックツリー形成方法におけるレイアウト設計方法と同
様に、ステップS220で作成された最終的な配置情報
とクロックラインの接続情報を含む半導体集積回路全体
のファンクショナルセル間の接続情報をもとに、クロッ
クラインを優先させて、半導体集積回路全体の配線を自
動配線CADを用いて配線処理する。
【0055】本実施の形態による半導体集積回路の設計
方法及びそれによる半導体集積回路は、図5に示すよう
に2系統のクロック信号が伝搬するクロックツリーを形
成するにあたり同一のクロックバッファセル群を共用し
ていることと、同一のクロックバッファセル群を共用す
ることにより2本のクロック信号の配線長さを等しくで
きることにより、2個のクロックパッド41,42から
クロックツリーの末端のクロックバッファセル402〜
405の入力端子までの2つのクロック信号のクロック
スキューを、ほぼ等しくすることが可能となる。
方法及びそれによる半導体集積回路は、図5に示すよう
に2系統のクロック信号が伝搬するクロックツリーを形
成するにあたり同一のクロックバッファセル群を共用し
ていることと、同一のクロックバッファセル群を共用す
ることにより2本のクロック信号の配線長さを等しくで
きることにより、2個のクロックパッド41,42から
クロックツリーの末端のクロックバッファセル402〜
405の入力端子までの2つのクロック信号のクロック
スキューを、ほぼ等しくすることが可能となる。
【0056】従って、複数の異なる系統のクロック信号
のクロックツリーを形成すると同時に、異なるクロック
信号間と同一クロック信号間の両方のクロックスキュー
の低減が可能となる。
のクロックツリーを形成すると同時に、異なるクロック
信号間と同一クロック信号間の両方のクロックスキュー
の低減が可能となる。
【0057】以上の説明においては特に断らなかった
が、ASICの手法であるマスタースライス方式やセル
ベース方式により設計を行うことにより、コンピュータ
を用いた自動設計がより容易にできることはいうまでも
ない。
が、ASICの手法であるマスタースライス方式やセル
ベース方式により設計を行うことにより、コンピュータ
を用いた自動設計がより容易にできることはいうまでも
ない。
【0058】
【発明の効果】以上説明したように、本発明による半導
体集積回路のクロックツリー設計方法及びそれによる半
導体集積回路は、従来のクロックツリー形成方法と自動
配置配線CADを利用したレイアウト設計方法では不可
能であった系統の異なる複数のクロック信号がそれぞれ
伝搬するクロックツリーとクロックツリー間のクロック
スキューを低減することができる。
体集積回路のクロックツリー設計方法及びそれによる半
導体集積回路は、従来のクロックツリー形成方法と自動
配置配線CADを利用したレイアウト設計方法では不可
能であった系統の異なる複数のクロック信号がそれぞれ
伝搬するクロックツリーとクロックツリー間のクロック
スキューを低減することができる。
【図1】本実施の形態のクロックツリーを構成するクロ
ックバッファセルの論理回路図である。
ックバッファセルの論理回路図である。
【図2】本実施の形態のクロックツリーを構成するクロ
ックバッファセルのシンボル図である。
ックバッファセルのシンボル図である。
【図3】本実施の形態による半導体集積回路のクロック
ツリー設計方法を示すフロー図である。
ツリー設計方法を示すフロー図である。
【図4】図3のステップS210で形成されたクロック
ツリーの構成概念図である。
ツリーの構成概念図である。
【図5】本発明の好適な実施例を適用した半導体集積回
路を構成するクロックツリーの構成を表す概念図であ
る。
路を構成するクロックツリーの構成を表す概念図であ
る。
【図6】単一クロックに対する従来のクロックツリー形
成方法におけるレイアウト設計フロー図である。
成方法におけるレイアウト設計フロー図である。
【図7】従来のクロックツリー形成方法によるクロック
ツリーの構成を表す概念図である。
ツリーの構成を表す概念図である。
【図8】クロックバッファ間のマンハッタン距離が等し
くなるように、従来の単相クロックツリー形成方法を用
いて設計した半導体集積回路の平面図である。
くなるように、従来の単相クロックツリー形成方法を用
いて設計した半導体集積回路の平面図である。
【図9】非重複2相クロック信号のタイミング波形図で
ある。
ある。
【図10】従来のクロックツリー形成方法を適用して構
成した2つの非重複2相クロック信号に対するクロック
ツリーの構成を表す概念図である。
成した2つの非重複2相クロック信号に対するクロック
ツリーの構成を表す概念図である。
【図11】従来のクロックツリー形成方法を適用して構
成した非重複2相クロック信号を基本クロックとする半
導体集積回路のレイアウト設計フロー図である。
成した非重複2相クロック信号を基本クロックとする半
導体集積回路のレイアウト設計フロー図である。
41,42,1000,1102 クロックパッド 101,401〜405,801〜804,817〜8
21,1001〜1005,1103〜1107 ク
ロックバッファセル 102,103 バッファ回路 406〜433,805〜816,823〜838,1
006〜1021,1108〜1123 ファンクシ
ョナルセル 1101 従来の単相クロックツリー形成方法を用い
て設計した半導体集積回路
21,1001〜1005,1103〜1107 ク
ロックバッファセル 102,103 バッファ回路 406〜433,805〜816,823〜838,1
006〜1021,1108〜1123 ファンクシ
ョナルセル 1101 従来の単相クロックツリー形成方法を用い
て設計した半導体集積回路
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H03K 19/0175
Claims (9)
- 【請求項1】 複数のクロック信号に同期し動作する論
理回路を内蔵する半導体集積回路のクロックツリーの設
計方法であって、複数のクロック信号が入力する各クロ
ック入力端子から、1個以上存在するクロックバッファ
回路の上位階層のクロックバッファ回路から下位階層の
前記クロックバッファ回路に向かって、前記論理回路を
構成するファンクショナルセルに各クロック信号を供給
するクロックツリーの設計方法において、 前記クロックバッファ回路は、入力端子に印加されたク
ロック信号を増幅して出力端子に出力するバッファ回路
を複数内蔵しレイアウト的に固定され、 前記クロックツリー上の前記クロックバッファセルを含
まない前記論理回路を構成する前記ファンクショナルセ
ル間接続情報をもとに、全ての前記ファンクショナルセ
ルを配置する論理回路配置工程と、 前記複数のクロック信号に対する前記複数のクロックツ
リー接続情報を、前記クロックバッファセルを各クロッ
クに対して共用して生成するクロックツリー接続情報生
成工程と、 前記クロックツリー接続情報をもとに、前記クロックバ
ッファ回路を配置するクロックバッファ配置工程とを含
み、 前記クロックツリー接続情報をもとに、前記各クロック
入力端子と対応する前記クロックバッファ回路の各入力
端子とを結ぶ配線、及び所定の上位階層のクロックバッ
ファ回路の各出力端子と対応する下位階層のクロックバ
ッファ回路の各入力端子とを結ぶ配線を平行して接続す
ることを特徴とする半導体集積回路のクロックツリー設
計方法。 - 【請求項2】 前記ファンクショナルセルと前記クロッ
クツリー上のクロックバッファ回路のオーバーラップ配
置を、前記ファンクショナルセル又はクロックバッファ
回路の配置位置を変更することにより解消する工程を設
けたことを特徴とする請求項1記載の半導体集積回路の
クロックツリー設計方法。 - 【請求項3】 前記ファンクショナルセル間接続情報と
前記クロックツリー接続情報をもとに、クロックが伝搬
するクロックラインを優先して配線する配線工程を設け
たことを特徴とする請求項1又は2記載の半導体集積回
路のクロックツリー設計方法。 - 【請求項4】 前記クロックバッファ回路のうちで下位
の階層に属する下位クロックバッファ回路を配置する際
に、前記各クロック入力端子とこれらの入力端子に対応
して各クロックが伝搬する経路上に存在する所定の同一
階層のクロックバッファ回路には、それぞれ同数の前記
下位クロックバッファ回路が接続されることを特徴とす
る請求項1、2又は3記載の半導体集積回路のクロック
ツリー設計方法。 - 【請求項5】 所定の前記クロックバッファ回路が駆動
する負荷容量が同一階層に存在する他の前記クロックバ
ッファ回路が駆動する負荷容量と等しくなるように前記
クロックツリー接続情報を生成することを特徴とする請
求項1、2又は3記載の半導体集積回路のクロックツリ
ー設計方法。 - 【請求項6】 複数のクロック信号が入力する各クロッ
ク入力端子と、1個以上存在するクロックバッファ回路
の上位階層のクロックバッファ回路から下位階層の前記
クロックバッファ回路に向かって、論理回路を構成する
ファンクショナルセルに各クロック信号を供給するクロ
ックツリーを含む半導体集積回路において、 前記クロックバッファ回路は、入力端子に印加されたク
ロック信号を増幅して出力端子に出力するバッファ回路
を複数内蔵しレイアウト的に固定され、 前記各クロック入力端子と対応する前記クロックバッフ
ァ回路の各入力端子とを結ぶ配線、及び所定の上位階層
のクロックバッファ回路の各出力端子と対応する下位階
層のクロックバッファ回路の各入力端子とを結ぶ配線が
平行して接続されていることを特徴とする半導体集積回
路。 - 【請求項7】 各クロックが伝搬する経路上に存在する
所定の同一階層のクロックバッファ回路には、それぞれ
同数の前記下位クロックバッファ回路が接続されている
ことを特徴とする請求項6記載の半導体集積回路。 - 【請求項8】 前記半導体集積回路は、マスタスライス
方式で形成されていることを特徴とする請求項6又は7
記載の半導体集積回路。 - 【請求項9】 前記半導体集積回路は、セルベース方式
で形成されていることを特徴とする請求項6,7又は8
記載の半導体集積回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9155092A JPH113945A (ja) | 1997-06-12 | 1997-06-12 | 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9155092A JPH113945A (ja) | 1997-06-12 | 1997-06-12 | 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH113945A true JPH113945A (ja) | 1999-01-06 |
Family
ID=15598474
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9155092A Pending JPH113945A (ja) | 1997-06-12 | 1997-06-12 | 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH113945A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6433606B1 (en) | 2000-02-17 | 2002-08-13 | Oki Electric Industry Co., Ltd. | Clock driver circuit and method of routing clock interconnections |
| JP2005519385A (ja) * | 2002-03-01 | 2005-06-30 | ザイリンクス インコーポレイテッド | フィールドプログラマブルゲートアレイにおけるマルチギガビットトランシーバ用低ジッタクロック |
| JP2007158505A (ja) * | 2005-12-01 | 2007-06-21 | Renesas Technology Corp | 半導体集積回路装置及び情報システム |
| JP2013097705A (ja) * | 2011-11-04 | 2013-05-20 | Renesas Electronics Corp | レイアウト装置及びレイアウト方法 |
| CN105989197A (zh) * | 2015-01-28 | 2016-10-05 | 京微雅格(北京)科技有限公司 | 基于sat算法的时钟树布线方法 |
| WO2021205895A1 (ja) * | 2020-04-09 | 2021-10-14 | ソニーセミコンダクタソリューションズ株式会社 | 信号処理装置、センシングモジュール |
| CN115933457A (zh) * | 2022-10-24 | 2023-04-07 | 无锡中微亿芯有限公司 | 一种便于实现时序收敛的fpga |
-
1997
- 1997-06-12 JP JP9155092A patent/JPH113945A/ja active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6433606B1 (en) | 2000-02-17 | 2002-08-13 | Oki Electric Industry Co., Ltd. | Clock driver circuit and method of routing clock interconnections |
| JP2005519385A (ja) * | 2002-03-01 | 2005-06-30 | ザイリンクス インコーポレイテッド | フィールドプログラマブルゲートアレイにおけるマルチギガビットトランシーバ用低ジッタクロック |
| JP2007158505A (ja) * | 2005-12-01 | 2007-06-21 | Renesas Technology Corp | 半導体集積回路装置及び情報システム |
| JP2013097705A (ja) * | 2011-11-04 | 2013-05-20 | Renesas Electronics Corp | レイアウト装置及びレイアウト方法 |
| CN105989197A (zh) * | 2015-01-28 | 2016-10-05 | 京微雅格(北京)科技有限公司 | 基于sat算法的时钟树布线方法 |
| CN105989197B (zh) * | 2015-01-28 | 2019-06-11 | 京微雅格(北京)科技有限公司 | 基于sat算法的时钟树布线方法 |
| WO2021205895A1 (ja) * | 2020-04-09 | 2021-10-14 | ソニーセミコンダクタソリューションズ株式会社 | 信号処理装置、センシングモジュール |
| CN115933457A (zh) * | 2022-10-24 | 2023-04-07 | 无锡中微亿芯有限公司 | 一种便于实现时序收敛的fpga |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6779158B2 (en) | Digital logic optimization using selection operators | |
| JPH08339236A (ja) | クロック信号分配回路 | |
| JP2008243993A (ja) | 三次元集積回路設計方法及び三次元集積回路設計装置 | |
| JP2003092352A (ja) | 半導体集積回路装置のクロック信号分配回路 | |
| JPH11175184A (ja) | 半導体集積回路におけるクロック分配回路 | |
| JPH113945A (ja) | 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 | |
| TWI386826B (zh) | 双端邏輯元件的方位決定方法 | |
| US6088253A (en) | Semiconductor memory device and method for forming same | |
| JP3869406B2 (ja) | クロック位相差検出回路、クロック分配回路、及び大規模集積回路 | |
| JP4878727B2 (ja) | 半導体集積回路 | |
| US6373288B1 (en) | Method of implementing clock trees in synchronous digital electronic circuits, and a programmable delay buffer stage therefor | |
| JP3028938B2 (ja) | 半導体集積回路のレイアウト方法 | |
| JP3104746B2 (ja) | クロックツリーレイアウト装置 | |
| JP3920124B2 (ja) | 半導体集積回路のクロック配線方法及び半導体集積回路 | |
| US6292043B1 (en) | Semiconductor integrated circuit device | |
| JP2000035832A (ja) | 半導体集積回路及びそのクロック分配方法 | |
| JP2000029562A (ja) | 半導体集積回路及びクロック供給回路の設計方法 | |
| JP3178127B2 (ja) | 自動レイアウト手法による半導体集積回路のブロック配置方法 | |
| JP2005116793A (ja) | 半導体集積回路及びそのクロック配線方法 | |
| JP2993488B2 (ja) | 集積回路の設計方法、集積回路及び記憶媒体 | |
| JP2772696B2 (ja) | 半導体集積回路装置 | |
| JP2004335589A (ja) | 半導体集積回路及びそのレイアウト設計方法 | |
| JP2908447B1 (ja) | 半導体集積回路のレイアウト方法 | |
| JPH06204435A (ja) | 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路 | |
| JP2972719B2 (ja) | 半導体集積回路装置及びその配置方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000328 |