JP3231728B2 - 半導体集積回路のクロック分配レイアウト方法 - Google Patents
半導体集積回路のクロック分配レイアウト方法Info
- Publication number
- JP3231728B2 JP3231728B2 JP04650599A JP4650599A JP3231728B2 JP 3231728 B2 JP3231728 B2 JP 3231728B2 JP 04650599 A JP04650599 A JP 04650599A JP 4650599 A JP4650599 A JP 4650599A JP 3231728 B2 JP3231728 B2 JP 3231728B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- input terminal
- divided
- clock input
- relay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
製造技術に関し、特に複数のF/F(フリップフロッ
プ)やラッチ等の負荷を同期して動作するクロック信号
を供給するクロック分配回路のレイアウト方法に関す
る。
製造技術に関し、特に複数のF/F(フリップフロッ
プ)やラッチ等の負荷を同期して動作するクロック信号
を供給するクロック分配回路のレイアウト方法に関す
る。
【0002】
【従来の技術】半導体集積回路を設計する場合に、複数
のF/Fやラッチ等の負荷を1つのクロック信号で同期
して動作させる回路が要求される場合があり、そのため
にクロック分配回路のレイアウトが要求される。従来、
このようなレイアウト方法として、特開平10−229
310号公報に記載の技術がある。この技術では、配線
長が均等なクロックツリー型のクロックラインを予め配
線したライブラリを用意しておき、この予め配線されて
いるクロックツリー型クロックラインに対して、対象回
路のF/Fなどの順序回路セルを前記クロックツリーの
最終段にオーバーラップさせてテスト配置を行い、次に
使用しないクロックラインについて、クロックラインの
元からの負荷が変わらないように削除し、配置配線結果
にエラーがある場合には再びテスト配置処理に戻るよう
にした構成を持つレイアウト方法が提案されている。こ
の技術の長所は、予め準備されている等距離に配置され
た中継バッファとF/Fなどの順序回路セルを置き換
え、クロックラインを全て等配線長とし、クロックスキ
ューを完全に零にすることである。
のF/Fやラッチ等の負荷を1つのクロック信号で同期
して動作させる回路が要求される場合があり、そのため
にクロック分配回路のレイアウトが要求される。従来、
このようなレイアウト方法として、特開平10−229
310号公報に記載の技術がある。この技術では、配線
長が均等なクロックツリー型のクロックラインを予め配
線したライブラリを用意しておき、この予め配線されて
いるクロックツリー型クロックラインに対して、対象回
路のF/Fなどの順序回路セルを前記クロックツリーの
最終段にオーバーラップさせてテスト配置を行い、次に
使用しないクロックラインについて、クロックラインの
元からの負荷が変わらないように削除し、配置配線結果
にエラーがある場合には再びテスト配置処理に戻るよう
にした構成を持つレイアウト方法が提案されている。こ
の技術の長所は、予め準備されている等距離に配置され
た中継バッファとF/Fなどの順序回路セルを置き換
え、クロックラインを全て等配線長とし、クロックスキ
ューを完全に零にすることである。
【0003】また、他の技術として、特許第00269
5078号の明細書には、バイナリツリー上のクロック
配線経路の分岐点を一旦設定した後、共通の親分岐点を
持つ兄弟分岐点を結線し、その実配線経路上の地点でR
Cディレイのバランスするところを新たな親分岐点位置
として更新し、これをボトムアップに繰り返して詳細配
線経路を決定する。また、バッファセル挿入による階層
クロック分配方式において、バッファセル詳細位置決定
後、同一階層でのディレイを等しくするようバッファセ
ル近傍の経路に迂回部分を含ませて詳細配線を行なう。
更に、クラスタ内経路を除く部分に対して、専用配線層
による配線を行なうクロック分配方法が提案されてい
る。この発明の長所は、バイナリツリー上の各階層毎に
ディレイを等しくしてスキューの最小化を行なうことが
可能となる。
5078号の明細書には、バイナリツリー上のクロック
配線経路の分岐点を一旦設定した後、共通の親分岐点を
持つ兄弟分岐点を結線し、その実配線経路上の地点でR
Cディレイのバランスするところを新たな親分岐点位置
として更新し、これをボトムアップに繰り返して詳細配
線経路を決定する。また、バッファセル挿入による階層
クロック分配方式において、バッファセル詳細位置決定
後、同一階層でのディレイを等しくするようバッファセ
ル近傍の経路に迂回部分を含ませて詳細配線を行なう。
更に、クラスタ内経路を除く部分に対して、専用配線層
による配線を行なうクロック分配方法が提案されてい
る。この発明の長所は、バイナリツリー上の各階層毎に
ディレイを等しくしてスキューの最小化を行なうことが
可能となる。
【0004】
【発明が解決しようとする課題】しかしながら、前記し
た従来技術には次のような問題が生じている。第1の従
来技術では、予め準備されたクロックツリー型クロック
ライン上にしかF/Fが配置できず、中継バッファの出
力の分岐数が限られているため、F/Fの配置に制約が
生じ、F/F数が増加した場合やシフトレジスタ回路の
ように一部の領域にF/Fを集中配置したい場合、中継
バッファ数と接続配線数が増加し配線性が低下し高集積
化に対応できない。また、クロックスキューは低減され
るが、等距離に配置された中継バッファとF/Fを置き
換えるため、F/Fの配置に制約を受けてF/Fが分散
して配置され、F/Fとその他のセルとの配線長が長く
なり、クロック以外の信号に遅延が発生し、タイミング
調整のために遅延素子やバッファを挿入し、信号配線を
余分に引回す必要が生じて、集積度及び配線性が低下す
る。
た従来技術には次のような問題が生じている。第1の従
来技術では、予め準備されたクロックツリー型クロック
ライン上にしかF/Fが配置できず、中継バッファの出
力の分岐数が限られているため、F/Fの配置に制約が
生じ、F/F数が増加した場合やシフトレジスタ回路の
ように一部の領域にF/Fを集中配置したい場合、中継
バッファ数と接続配線数が増加し配線性が低下し高集積
化に対応できない。また、クロックスキューは低減され
るが、等距離に配置された中継バッファとF/Fを置き
換えるため、F/Fの配置に制約を受けてF/Fが分散
して配置され、F/Fとその他のセルとの配線長が長く
なり、クロック以外の信号に遅延が発生し、タイミング
調整のために遅延素子やバッファを挿入し、信号配線を
余分に引回す必要が生じて、集積度及び配線性が低下す
る。
【0005】一方、第2の従来技術では、バイナリツリ
ーの階層毎にディレイ調整するために迂回配線を用いて
いるので、この迂回配線が余分な配線となり、配線性が
低下する。また、末端セルの存在する領域を格子状にク
ラスタ化し隣接するクラスタ間の末端セルの移動交換
で、負荷の調整を行なうため、クロック信号以外の配線
長が増加し、この点で配線性が低下する場合がある。さ
らに、2系統以上のクロック信号がある場合、1系統ず
つ単独でディレイを調整しているが、複数のクロック信
号を同期して動作させたい場合、バッファの挿入位置を
調整してディレイを合わせ込むため、クロック信号によ
ってディレイが異なり、2系統以上のクロック信号のデ
ィレイを合わせることができなくなる。
ーの階層毎にディレイ調整するために迂回配線を用いて
いるので、この迂回配線が余分な配線となり、配線性が
低下する。また、末端セルの存在する領域を格子状にク
ラスタ化し隣接するクラスタ間の末端セルの移動交換
で、負荷の調整を行なうため、クロック信号以外の配線
長が増加し、この点で配線性が低下する場合がある。さ
らに、2系統以上のクロック信号がある場合、1系統ず
つ単独でディレイを調整しているが、複数のクロック信
号を同期して動作させたい場合、バッファの挿入位置を
調整してディレイを合わせ込むため、クロック信号によ
ってディレイが異なり、2系統以上のクロック信号のデ
ィレイを合わせることができなくなる。
【0006】本発明の目的は、半導体集積回路の高集積
化を実現しながら、配線性を低下させることなく半導体
集積回路の誤動作の原因となるクロックスキューを低減
し、信頼性を向上させるレイアウト方法を提供すること
である。
化を実現しながら、配線性を低下させることなく半導体
集積回路の誤動作の原因となるクロックスキューを低減
し、信頼性を向上させるレイアウト方法を提供すること
である。
【0007】
【課題を解決するための手段】本発明のレイアウト方法
は、セル配置領域を一定の大きさで格子状に分割して負
荷が配置される負荷専用の配置格子を作成する工程と、
前記分割した複数の分割領域に対してルートドライバ及
び前記ルートドライバからツリー状に中継バッファを配
置しかつ相互に配線する工程と、前記各分割領域の前記
配置格子上の位置に前記負荷を配置する工程と、前記各
分割領域内の負荷のクロック入力端子容量を計算し、各
分割領域の最終段中継バッファに接続される負荷が均等
となるように各分割領域の分割ラインを微調整するとと
もに前記中継バッファの個数の調整を行なう工程とを含
むことを特徴とする。この場合、前記負荷のクロック入
力端子位置が同一直線上に並ぶように前記負荷専用の配
置格子を作成しておき、最終段の中継バッファの出力端
子から前記配置格子上に整列配置した前記負荷のクロッ
ク入力端子までのクロック信号配線を放射状かつ直線的
に接続する。
は、セル配置領域を一定の大きさで格子状に分割して負
荷が配置される負荷専用の配置格子を作成する工程と、
前記分割した複数の分割領域に対してルートドライバ及
び前記ルートドライバからツリー状に中継バッファを配
置しかつ相互に配線する工程と、前記各分割領域の前記
配置格子上の位置に前記負荷を配置する工程と、前記各
分割領域内の負荷のクロック入力端子容量を計算し、各
分割領域の最終段中継バッファに接続される負荷が均等
となるように各分割領域の分割ラインを微調整するとと
もに前記中継バッファの個数の調整を行なう工程とを含
むことを特徴とする。この場合、前記負荷のクロック入
力端子位置が同一直線上に並ぶように前記負荷専用の配
置格子を作成しておき、最終段の中継バッファの出力端
子から前記配置格子上に整列配置した前記負荷のクロッ
ク入力端子までのクロック信号配線を放射状かつ直線的
に接続する。
【0008】本発明のより具体的なレイアウト方法は、
負荷が配置される負荷専用の配置格子を作成し、前記配
置格子数を求める工程と、前記配置格子を縦横それぞれ
について2のべき乗に分割する工程と、前記分割した複
数の分割領域に対してルートドライバ及び前記ルートド
ライバからツリー状に中継バッファを配置しかつ相互に
配線する工程と、前記各分割領域に対して自動配置ツー
ルを使用して前記負荷を配置する工程と、前記各分割領
域内の負荷のクロック入力端子容量を計算し、各分割領
域の最終段中継バッファに接続される前記負荷が均等と
なるように各分割領域の分割ラインを微調整するととも
に前記中継バッファの個数の調整を行なう工程と、その
他の配線を行なう工程を含むことを特徴とする。
負荷が配置される負荷専用の配置格子を作成し、前記配
置格子数を求める工程と、前記配置格子を縦横それぞれ
について2のべき乗に分割する工程と、前記分割した複
数の分割領域に対してルートドライバ及び前記ルートド
ライバからツリー状に中継バッファを配置しかつ相互に
配線する工程と、前記各分割領域に対して自動配置ツー
ルを使用して前記負荷を配置する工程と、前記各分割領
域内の負荷のクロック入力端子容量を計算し、各分割領
域の最終段中継バッファに接続される前記負荷が均等と
なるように各分割領域の分割ラインを微調整するととも
に前記中継バッファの個数の調整を行なう工程と、その
他の配線を行なう工程を含むことを特徴とする。
【0009】また、この場合、負荷が配置される負荷専
用の配置格子を作成し、前記負荷を配置する工程と、前
記負荷が配置された範囲を抽出する工程と、前記抽出さ
れた範囲の前記配置格子数を求め、かつ求めた配置格子
を縦横それぞれについて2のべき乗に分割する工程と、
前記分割した複数の分割領域に対してルートドライバ及
び前記ルートドライバからツリー状に中継バッファを配
置しかつ相互に配線する工程と、前記各分割領域に対し
て自動配置ツールを使用して前記負荷を配置する工程
と、前記各分割領域内の負荷のクロック入力端子容量を
計算し、各分割領域の最終段中継バッファに接続される
前記負荷が均等となるように各分割領域の分割ラインを
微調整するとともに前記中継バッファの個数の調整を行
なう工程と、その他の配線を行なう工程を含む方法とし
てもよい。
用の配置格子を作成し、前記負荷を配置する工程と、前
記負荷が配置された範囲を抽出する工程と、前記抽出さ
れた範囲の前記配置格子数を求め、かつ求めた配置格子
を縦横それぞれについて2のべき乗に分割する工程と、
前記分割した複数の分割領域に対してルートドライバ及
び前記ルートドライバからツリー状に中継バッファを配
置しかつ相互に配線する工程と、前記各分割領域に対し
て自動配置ツールを使用して前記負荷を配置する工程
と、前記各分割領域内の負荷のクロック入力端子容量を
計算し、各分割領域の最終段中継バッファに接続される
前記負荷が均等となるように各分割領域の分割ラインを
微調整するとともに前記中継バッファの個数の調整を行
なう工程と、その他の配線を行なう工程を含む方法とし
てもよい。
【0010】さらに、本発明のレイアウト方法において
は、前記した分割ラインの微調整及び前記中継バッファ
の個数数の調整工程は、各最終段中継バッファに接続す
る負荷のクロック入力端子容量の総和を計算する工程
と、前記計算により求めた総和から前記最終段中継バッ
ファの1個当たりに接続される平均のクロック入力端子
容量を計算する工程と、ある最終段中継バッファに接続
されるクロック入力端子容量の総和が前記平均のクロッ
ク入力端子容量の1/2以下のときは当該分割領域の負
荷を隣接する分割領域に含めるように分割ラインを調整
しかつその分割領域の最終段中継バッファを使用禁止と
する工程と、ある最終段中継バッファに接続されるクロ
ック入力端子容量の総和が前記平均のクロック入力端子
容量の3/2以上のときは当該分割領域を2分割する分
割ラインを調整しかつ最終段中継バッファを追加する工
程とを含み、各最終段中継バッファに接続される負荷の
クロック入力端子容量の総和が前記平均のクロック入力
端子容量に、予め設定した目標値の±1/2の範囲にな
るように前記分割ラインを微調整することを特徴とす
る。
は、前記した分割ラインの微調整及び前記中継バッファ
の個数数の調整工程は、各最終段中継バッファに接続す
る負荷のクロック入力端子容量の総和を計算する工程
と、前記計算により求めた総和から前記最終段中継バッ
ファの1個当たりに接続される平均のクロック入力端子
容量を計算する工程と、ある最終段中継バッファに接続
されるクロック入力端子容量の総和が前記平均のクロッ
ク入力端子容量の1/2以下のときは当該分割領域の負
荷を隣接する分割領域に含めるように分割ラインを調整
しかつその分割領域の最終段中継バッファを使用禁止と
する工程と、ある最終段中継バッファに接続されるクロ
ック入力端子容量の総和が前記平均のクロック入力端子
容量の3/2以上のときは当該分割領域を2分割する分
割ラインを調整しかつ最終段中継バッファを追加する工
程とを含み、各最終段中継バッファに接続される負荷の
クロック入力端子容量の総和が前記平均のクロック入力
端子容量に、予め設定した目標値の±1/2の範囲にな
るように前記分割ラインを微調整することを特徴とす
る。
【0011】本発明のレイアウト方法では、一定の大き
さでセル配置領域を分割し、分割領域数に応じてルート
ドライバからツリー状に中継バッファを均等に配置配線
することで、ルートドライバと中継バッファ間のクロッ
ク信号配線のディレイを揃える。また、各分割領域の最
終段中継バッファに接続される負荷が均等となるように
各分割領域の分割ラインを微調整するとともに中継バッ
ファの個数の調整を行なうことで、クロック信号配線の
配線長の差が最小限になり、クロックスキューが低減で
きる。この場合、負荷のクロック入力端子位置が同一直
線上に並ぶように負荷を配置し、最終段の中継バッファ
の出力端子から各負荷のクロック入力端子までのクロッ
ク信号配線を、放射状かつ直線的に接続することで、前
記クロックスキューをより低減できるとともに、余分な
迂回配線がなくなり配線性が向上する。負荷専用の配置
格子を作成することで、負荷の原点位置のみの配置制限
となるため、負荷以外のセルは自由に配置ができて高集
積を実現する。
さでセル配置領域を分割し、分割領域数に応じてルート
ドライバからツリー状に中継バッファを均等に配置配線
することで、ルートドライバと中継バッファ間のクロッ
ク信号配線のディレイを揃える。また、各分割領域の最
終段中継バッファに接続される負荷が均等となるように
各分割領域の分割ラインを微調整するとともに中継バッ
ファの個数の調整を行なうことで、クロック信号配線の
配線長の差が最小限になり、クロックスキューが低減で
きる。この場合、負荷のクロック入力端子位置が同一直
線上に並ぶように負荷を配置し、最終段の中継バッファ
の出力端子から各負荷のクロック入力端子までのクロッ
ク信号配線を、放射状かつ直線的に接続することで、前
記クロックスキューをより低減できるとともに、余分な
迂回配線がなくなり配線性が向上する。負荷専用の配置
格子を作成することで、負荷の原点位置のみの配置制限
となるため、負荷以外のセルは自由に配置ができて高集
積を実現する。
【0012】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。本発明の第1実施形態を図
1を参照して説明する。まず、ステップS101で、セ
ル配置領域に図2に示すような、F/Fのクロック入力
端子位置が同一直線上に並ぶようにF/F専用の配置格
子1を作成し、配置格子数を求める。次いで、ステップ
S102で、求めた前記配置格子1を縦横それぞれにつ
いて、図3に示すようにX方向、Y方向の格子数を2の
べき乗数で分割する。ここでは、同図に太線で示すよう
に、2の1乗(=2)で2×2の4つの分割領域10a
〜10dに分割している。また、このとき、各分割領域
10a〜10d内に配置されるF/Fのクロック入力端
子容量が、配置しようとする中継バッファの駆動能力程
度で、配線抵抗によるディレイの影響が小さくなるよう
に分割数を調整する。次いで、ステップS103で、図
4に示すように、ルートドライバ11を前記セル配置領
域の中央、ここでは各分割領域10a〜10dが接して
いる位置に配置し、また前記ルートドライバ11に同列
に接続される中継バッファ12は、前記4つの分割領域
10a〜10dに対して1個ずつ、前記ルートドライバ
11に対して等距離になるように分割領域10a〜10
dの中央に配置する。さらに、ステップS104で、前
記ルートドライバ11の出力から、前記各中継バッファ
12の入力に配線13を接続する。
て図面を参照して説明する。本発明の第1実施形態を図
1を参照して説明する。まず、ステップS101で、セ
ル配置領域に図2に示すような、F/Fのクロック入力
端子位置が同一直線上に並ぶようにF/F専用の配置格
子1を作成し、配置格子数を求める。次いで、ステップ
S102で、求めた前記配置格子1を縦横それぞれにつ
いて、図3に示すようにX方向、Y方向の格子数を2の
べき乗数で分割する。ここでは、同図に太線で示すよう
に、2の1乗(=2)で2×2の4つの分割領域10a
〜10dに分割している。また、このとき、各分割領域
10a〜10d内に配置されるF/Fのクロック入力端
子容量が、配置しようとする中継バッファの駆動能力程
度で、配線抵抗によるディレイの影響が小さくなるよう
に分割数を調整する。次いで、ステップS103で、図
4に示すように、ルートドライバ11を前記セル配置領
域の中央、ここでは各分割領域10a〜10dが接して
いる位置に配置し、また前記ルートドライバ11に同列
に接続される中継バッファ12は、前記4つの分割領域
10a〜10dに対して1個ずつ、前記ルートドライバ
11に対して等距離になるように分割領域10a〜10
dの中央に配置する。さらに、ステップS104で、前
記ルートドライバ11の出力から、前記各中継バッファ
12の入力に配線13を接続する。
【0013】なお、本実施形態では、中継バッファは1
段で構成されているが、図5(b)のように、ルートド
ライバ11に対して上位の中継バッファ14、下位の中
継バッファ12の2段構成、あるいはそれ以上の多段構
成で構成される場合は、図5(a)に2段構成の例の配
置を示すように、分割領域10a〜10dに対してそれ
ぞれルートドライバ11に接続する上位の中継バッファ
14を配置し、各分割領域を更に分割した分割領域10
aa〜10ad,〜,10da〜10ddに対してそれ
ぞれ上位の中継バッファ14に接続する下位の中継バッ
ファ12を接続し、各位の中継バッファがそれぞれツリ
ー状で等距離になるように各中継バッファ14,12を
配置配線する。
段で構成されているが、図5(b)のように、ルートド
ライバ11に対して上位の中継バッファ14、下位の中
継バッファ12の2段構成、あるいはそれ以上の多段構
成で構成される場合は、図5(a)に2段構成の例の配
置を示すように、分割領域10a〜10dに対してそれ
ぞれルートドライバ11に接続する上位の中継バッファ
14を配置し、各分割領域を更に分割した分割領域10
aa〜10ad,〜,10da〜10ddに対してそれ
ぞれ上位の中継バッファ14に接続する下位の中継バッ
ファ12を接続し、各位の中継バッファがそれぞれツリ
ー状で等距離になるように各中継バッファ14,12を
配置配線する。
【0014】次いで、ステップS105で、自動配置ツ
ールを使用して、設計する回路の接続情報に従い、前記
セル配置領域の各分割領域内に、図6に示すように負荷
(ここではF/F)のセルを配置する。このとき、ステ
ップS101において、F/F配置格子1を作成してお
り、この配置格子にしたがってF/Fを配置するため
に、F/Fはクロック入力端子位置が同一直線上になっ
ている。F/F以外のセルは、F/F専用の配置格子に
関係なく自由に配置を行なう。
ールを使用して、設計する回路の接続情報に従い、前記
セル配置領域の各分割領域内に、図6に示すように負荷
(ここではF/F)のセルを配置する。このとき、ステ
ップS101において、F/F配置格子1を作成してお
り、この配置格子にしたがってF/Fを配置するため
に、F/Fはクロック入力端子位置が同一直線上になっ
ている。F/F以外のセルは、F/F専用の配置格子に
関係なく自由に配置を行なう。
【0015】続いて、負荷(F/F)の均等化処理とし
て、ステップS106を実行する。このステップS10
6では、詳細は後述するが、各分割領域10a〜10d
内のF/Fのクロック入力端子容量の総和を計算し、各
分割領域のカットラインを微調整し、最終段中継バッフ
ァに接続される負荷を均等にして、最終段中継バッファ
とF/F間のクロック信号配線を接続する。しかる後、
ステップS107で、ルートドライバから各F/Fまで
の負荷が変わらない範囲で不要な中継バッファを削除す
る。さらに、ステップS108で、その他の信号配線を
行なう。これにより、クロック分配レイアウトが完了す
る。
て、ステップS106を実行する。このステップS10
6では、詳細は後述するが、各分割領域10a〜10d
内のF/Fのクロック入力端子容量の総和を計算し、各
分割領域のカットラインを微調整し、最終段中継バッフ
ァに接続される負荷を均等にして、最終段中継バッファ
とF/F間のクロック信号配線を接続する。しかる後、
ステップS107で、ルートドライバから各F/Fまで
の負荷が変わらない範囲で不要な中継バッファを削除す
る。さらに、ステップS108で、その他の信号配線を
行なう。これにより、クロック分配レイアウトが完了す
る。
【0016】前記したステップS106における負荷の
均等化処理の詳細な手順を図7に示すフローチャートを
用いて説明する。ステップS201で、1つの最終段中
継バッファ、図4の実施形態の場合の中継バッファ12
に接続するF/Fのクロック入力端子容量の最大(Ma
x)、最小(Min)の各目標値を、当該中継バッファ
12におけるディレイがあまり大きくなならない範囲内
で設定する。その上で、ステップS202で、各分割領
域10a〜10dにおいて、それぞれの最終段中継バッ
ファ12に接続されるF/Fのクロック入力端子容量の
総和を計算する。ステップS203で、最終段中継バッ
ファ12の1個あたりに接続される「平均のクロック入
力端子容量」を求める。すなわち、 (平均のクロック入力端子容量)=(全部のF/Fのク
ロック入力端子容量の総和)÷(最終段中継バッファ
数) そして、各分割領域の「各最終段中継バッファに接続さ
れるクロック入力端子容量の総和」と、前記求めた「平
均のクロック入力端子容量」を比較する。
均等化処理の詳細な手順を図7に示すフローチャートを
用いて説明する。ステップS201で、1つの最終段中
継バッファ、図4の実施形態の場合の中継バッファ12
に接続するF/Fのクロック入力端子容量の最大(Ma
x)、最小(Min)の各目標値を、当該中継バッファ
12におけるディレイがあまり大きくなならない範囲内
で設定する。その上で、ステップS202で、各分割領
域10a〜10dにおいて、それぞれの最終段中継バッ
ファ12に接続されるF/Fのクロック入力端子容量の
総和を計算する。ステップS203で、最終段中継バッ
ファ12の1個あたりに接続される「平均のクロック入
力端子容量」を求める。すなわち、 (平均のクロック入力端子容量)=(全部のF/Fのク
ロック入力端子容量の総和)÷(最終段中継バッファ
数) そして、各分割領域の「各最終段中継バッファに接続さ
れるクロック入力端子容量の総和」と、前記求めた「平
均のクロック入力端子容量」を比較する。
【0017】この比較により、ステップS204では、
「最終段中継バッファに接続されるクロック入力端子容
量の総和」が「平均のクロック入力端子容量」の1/2
以下のときには、その分割領域内のF/Fを隣接する分
割領域に含めて、その分割領域の最終段中継バッファを
使用禁止にする。例えば、図6の例では、図8のよう
に、分割領域10aを分割領域10cに含めて一体化す
るとともに、分割領域10aに配置されていた最終段中
継バッファ12aを使用禁止にする。一方、ステップS
205では、「最終段中継バッファに接続されるクロッ
ク入力端子容量の総和」が「平均のクロック入力端子容
量」の3/2倍以上のときには、その分割領域を2分割
して、新しい分割領域を生成し、図8に示すように最終
段中継バッファを追加する。例えば、図6の例では、図
8のように、分割領域10bを分割領域10e,10f
に2分割し、新しい分割領域10fに最終段中継バッフ
ァ12bを追加する。なお、2分割する方法は、分割領
域のカットラインを上下方向と左右方向から移動させな
がらF/Fのクロック入力端子容量の総和を計算し、上
下方向と左右方向のどちらが平均のクロック入力端子容
量に近いかを比較し、より近い分割方法を採用する。
「最終段中継バッファに接続されるクロック入力端子容
量の総和」が「平均のクロック入力端子容量」の1/2
以下のときには、その分割領域内のF/Fを隣接する分
割領域に含めて、その分割領域の最終段中継バッファを
使用禁止にする。例えば、図6の例では、図8のよう
に、分割領域10aを分割領域10cに含めて一体化す
るとともに、分割領域10aに配置されていた最終段中
継バッファ12aを使用禁止にする。一方、ステップS
205では、「最終段中継バッファに接続されるクロッ
ク入力端子容量の総和」が「平均のクロック入力端子容
量」の3/2倍以上のときには、その分割領域を2分割
して、新しい分割領域を生成し、図8に示すように最終
段中継バッファを追加する。例えば、図6の例では、図
8のように、分割領域10bを分割領域10e,10f
に2分割し、新しい分割領域10fに最終段中継バッフ
ァ12bを追加する。なお、2分割する方法は、分割領
域のカットラインを上下方向と左右方向から移動させな
がらF/Fのクロック入力端子容量の総和を計算し、上
下方向と左右方向のどちらが平均のクロック入力端子容
量に近いかを比較し、より近い分割方法を採用する。
【0018】ここで、ステップS206で、前記ステッ
プS204,S205の処理によって最終段中継バッフ
ァ数に変更があった場合には、「各最終段中継バッファ
に接続されるクロック入力端子容量の総和」と「平均の
クロック入力端子容量」を前記したように再計算し、再
比較する。これにより、「各最終段中継バッファに接続
されるクロック入力端子容量の総和」は、「平均のクロ
ック入力端子容量」の1/2〜3/2の範囲になるよう
に設定される。
プS204,S205の処理によって最終段中継バッフ
ァ数に変更があった場合には、「各最終段中継バッファ
に接続されるクロック入力端子容量の総和」と「平均の
クロック入力端子容量」を前記したように再計算し、再
比較する。これにより、「各最終段中継バッファに接続
されるクロック入力端子容量の総和」は、「平均のクロ
ック入力端子容量」の1/2〜3/2の範囲になるよう
に設定される。
【0019】しかる上で、ステップS207では、前記
各最終段中継バッファについて求めた各「最終段中継バ
ッファに接続されるクロック入力端子容量の総和」のう
ち、最大値を抽出し、この最大値が、 (最大値)≦(平均のクロック入力端子容量)+(目標
値÷2) を満たしているか確認する。これが満たされていない場
合は、図10(a)に模式的に示すような、一の領域1
0Aに対して隣接する上下左右の領域10B〜10Eを
含めた「平均のクロック入力端子容量」を計算し、上下
左右を含む5つの分割領域すべてが前記平均のクロック
入力端子容量に一番近づくように、図10(b)のよう
に、対象分割領域のカットラインを内側に移動させ、前
記最大値が前記条件を満たすまで、この処理を繰り返
す。
各最終段中継バッファについて求めた各「最終段中継バ
ッファに接続されるクロック入力端子容量の総和」のう
ち、最大値を抽出し、この最大値が、 (最大値)≦(平均のクロック入力端子容量)+(目標
値÷2) を満たしているか確認する。これが満たされていない場
合は、図10(a)に模式的に示すような、一の領域1
0Aに対して隣接する上下左右の領域10B〜10Eを
含めた「平均のクロック入力端子容量」を計算し、上下
左右を含む5つの分割領域すべてが前記平均のクロック
入力端子容量に一番近づくように、図10(b)のよう
に、対象分割領域のカットラインを内側に移動させ、前
記最大値が前記条件を満たすまで、この処理を繰り返
す。
【0020】また、今度は逆に、前記各最終段中継バッ
ファについて求めた「最終段中継バッファに接続される
クロック入力端子容量の総和」のうち、最小値を抽出
し、この最小値が、 (最小値)≧(平均のクロック入力端子容量)−(目標
値÷2) を満たしているか確認する。これが満たされていない場
合は、図10(c)のように、隣接する上下左右の分割
領域を含めた平均のクロック入力端子容量を計算し、上
下左右を含む5つの分割領域すべてが前記平均のクロッ
ク入力端子容量に一番近づくように、対象分割領域のカ
ットラインを外側に移動させ、前記最小値が前記条件を
満たすまでこの処理を繰り返す。この処理を行った結
果、図9に示すように分割領域間のカットラインの微調
整が行なわれる。
ファについて求めた「最終段中継バッファに接続される
クロック入力端子容量の総和」のうち、最小値を抽出
し、この最小値が、 (最小値)≧(平均のクロック入力端子容量)−(目標
値÷2) を満たしているか確認する。これが満たされていない場
合は、図10(c)のように、隣接する上下左右の分割
領域を含めた平均のクロック入力端子容量を計算し、上
下左右を含む5つの分割領域すべてが前記平均のクロッ
ク入力端子容量に一番近づくように、対象分割領域のカ
ットラインを外側に移動させ、前記最小値が前記条件を
満たすまでこの処理を繰り返す。この処理を行った結
果、図9に示すように分割領域間のカットラインの微調
整が行なわれる。
【0021】しかる上で、ステップS208で、各F/
F列のクロック入力端子を一直線に接続した配線をまと
めて、最終段の中継バッファの出力端子に接続し、図1
1に示すように最終段の中継バッファの出力端子から放
射状にクロック信号配線15を行なう。
F列のクロック入力端子を一直線に接続した配線をまと
めて、最終段の中継バッファの出力端子に接続し、図1
1に示すように最終段の中継バッファの出力端子から放
射状にクロック信号配線15を行なう。
【0022】以上のように、中継バッァを均等に配置配
線することで、ルートドライバ11から中継バッファ1
2間のディレイを揃えることができる。すなわち、各最
終段中継バッファに接続されるF/Fのクロック入力端
子容量を均等にすると共に、F/Fのクロック入力端子
が同一直線上に並ぶように配置し、最終段の中継バッフ
ァの出力端子から、各F/F列のクロック入力端子まで
クロック信号配線を放射状に直線的に接続し、各F/F
間の配線長の差を最小限にすることで、配線抵抗と配線
容量の差も小さくなり、クロックスキューの低減が可能
となる。また、分割領域の大きさを制御し、最終段中継
バッファの出力端子からF/Fのクロック入力端子まで
の配線抵抗と配線容量の差を調整することで、目標のク
ロックスキューが実現できる。さらに、F/Fのクロッ
ク入力端子位置を揃えてクロック信号配線を一直線に接
続することによって、クロック信号配線が蛇行して回り
込むことがなくなり、第2従来例のようなディレイ調整
用の迂回配線が必要なくなり、余分な配線領域を消費せ
ず配線性が向上する。
線することで、ルートドライバ11から中継バッファ1
2間のディレイを揃えることができる。すなわち、各最
終段中継バッファに接続されるF/Fのクロック入力端
子容量を均等にすると共に、F/Fのクロック入力端子
が同一直線上に並ぶように配置し、最終段の中継バッフ
ァの出力端子から、各F/F列のクロック入力端子まで
クロック信号配線を放射状に直線的に接続し、各F/F
間の配線長の差を最小限にすることで、配線抵抗と配線
容量の差も小さくなり、クロックスキューの低減が可能
となる。また、分割領域の大きさを制御し、最終段中継
バッファの出力端子からF/Fのクロック入力端子まで
の配線抵抗と配線容量の差を調整することで、目標のク
ロックスキューが実現できる。さらに、F/Fのクロッ
ク入力端子位置を揃えてクロック信号配線を一直線に接
続することによって、クロック信号配線が蛇行して回り
込むことがなくなり、第2従来例のようなディレイ調整
用の迂回配線が必要なくなり、余分な配線領域を消費せ
ず配線性が向上する。
【0023】また、ルートドライバ11と中継バッファ
12の位置を他のセルの配置前に決定した場合に、分割
領域の大きさと負荷の大きさを合わせ込むことで、複数
のクロック信号間のディレイとスキューを合わせ込み、
複数のクロック信号を同期して動作させることができ
る。また、最終段中継バッファの位置と分割領域の大き
さと負荷の大きさが決定されれば、クロック信号のスキ
ューを合わせられるため、セル配置領域を複数に分割し
て同時にレイアウトする手法にも対応が可能となる。
12の位置を他のセルの配置前に決定した場合に、分割
領域の大きさと負荷の大きさを合わせ込むことで、複数
のクロック信号間のディレイとスキューを合わせ込み、
複数のクロック信号を同期して動作させることができ
る。また、最終段中継バッファの位置と分割領域の大き
さと負荷の大きさが決定されれば、クロック信号のスキ
ューを合わせられるため、セル配置領域を複数に分割し
て同時にレイアウトする手法にも対応が可能となる。
【0024】また、F/Fのセル原点位置のみを固定
し、その他のセルは自由に配置できるため、第1従来例
のようなF/Fの配置制約がなくなり、使用する中継バ
ッファ数も削減することができるため、高集積化が可能
となる。ここで、本発明におてい中継バッファ数を削減
できることを、前記第1従来例と第2従来例と比較して
い説明する。第1従来例での高集積化が難しい理由は、
クロックツリーの最終段にF/Fをオーバーラップさせ
て配置するため、少なくともF/Fの総数以上の最終段
中継バッファが必要となり、各中継バッファから3方向
に分岐するため、中継バッファの段数が一段増加する毎
に中継バッファの個数が3倍に増加することである。最
終段の中継バッファ数は2×3n 個で全F/F数以上の
数が必要となり、実際に配置される中継バッファ数は、
2+2×(3+…+3n-1 +3n )個で、F/F数=1
000個の場合、最終段中継バッファ数は、2×36 =
1458個必要となり、中継バッファの総数は、2+2
×(31 +32 +33 +34+35 +36 )=2186
個で、最終段はF/Fに置き換えられ、削除しない未使
用バッファも残るため、実際に配置される中継バッファ
の総数は、最大で2186−1000=1186個とな
る。最小の場合、1000個のF/Fを接続し、各中継
バッファの負荷を均等にするための各段に最低必要な中
継バッファ数は1000→334→112→38→13
→5→2となり、負荷を変えないように、不要な中継バ
ッファを削除した後の中継バッファの総数は、2+6+
15+39+114+336+2=514個となる。
し、その他のセルは自由に配置できるため、第1従来例
のようなF/Fの配置制約がなくなり、使用する中継バ
ッファ数も削減することができるため、高集積化が可能
となる。ここで、本発明におてい中継バッファ数を削減
できることを、前記第1従来例と第2従来例と比較して
い説明する。第1従来例での高集積化が難しい理由は、
クロックツリーの最終段にF/Fをオーバーラップさせ
て配置するため、少なくともF/Fの総数以上の最終段
中継バッファが必要となり、各中継バッファから3方向
に分岐するため、中継バッファの段数が一段増加する毎
に中継バッファの個数が3倍に増加することである。最
終段の中継バッファ数は2×3n 個で全F/F数以上の
数が必要となり、実際に配置される中継バッファ数は、
2+2×(3+…+3n-1 +3n )個で、F/F数=1
000個の場合、最終段中継バッファ数は、2×36 =
1458個必要となり、中継バッファの総数は、2+2
×(31 +32 +33 +34+35 +36 )=2186
個で、最終段はF/Fに置き換えられ、削除しない未使
用バッファも残るため、実際に配置される中継バッファ
の総数は、最大で2186−1000=1186個とな
る。最小の場合、1000個のF/Fを接続し、各中継
バッファの負荷を均等にするための各段に最低必要な中
継バッファ数は1000→334→112→38→13
→5→2となり、負荷を変えないように、不要な中継バ
ッファを削除した後の中継バッファの総数は、2+6+
15+39+114+336+2=514個となる。
【0025】本発明の前記第1の実施形態と対応させる
ため、第1従来例を4方向に分岐して考えると、最終段
中継バッファ数は、455 =1024個となり、実際に
配置される中継バッファの総数は最大で4+16+64
+256+24=364個となる。最小の場合、各段に
必要な中継バッファ数は1000→250→63→16
→4となり、負荷を変えないようにした中継バッファの
総数は4+16+64+252=336個となる。前記
第1の実施形態では、中継バッファの駆動能力によって
異なるが、中継バッファが40個のF/Fを駆動できる
と仮定すると、最終段中継バッファ数は1000個÷4
0=25個以上必要であるため、43 =64個となり、
実際に配置される中継バッファの総数は、最大で4+1
6+64=84個、最小の場合、各段に必要な中継バッ
ファ数は1000→25→7→2となり、負荷を変えな
いようにした中継バッファの総数は2+8+28=38
個となる。以上をまとめて(表1)に示す。本発明を使
用することにより、中継バッファ数は大幅に削減でき、
F/Fの配置制限もなくなるため高集積化が実現できる
ことが判る。
ため、第1従来例を4方向に分岐して考えると、最終段
中継バッファ数は、455 =1024個となり、実際に
配置される中継バッファの総数は最大で4+16+64
+256+24=364個となる。最小の場合、各段に
必要な中継バッファ数は1000→250→63→16
→4となり、負荷を変えないようにした中継バッファの
総数は4+16+64+252=336個となる。前記
第1の実施形態では、中継バッファの駆動能力によって
異なるが、中継バッファが40個のF/Fを駆動できる
と仮定すると、最終段中継バッファ数は1000個÷4
0=25個以上必要であるため、43 =64個となり、
実際に配置される中継バッファの総数は、最大で4+1
6+64=84個、最小の場合、各段に必要な中継バッ
ファ数は1000→25→7→2となり、負荷を変えな
いようにした中継バッファの総数は2+8+28=38
個となる。以上をまとめて(表1)に示す。本発明を使
用することにより、中継バッファ数は大幅に削減でき、
F/Fの配置制限もなくなるため高集積化が実現できる
ことが判る。
【0026】
【表1】
【0027】次に本発明の第2の実施形態を説明する。
前記第1の実施形態では1系統のクロック信号の分配処
理手順を述べたが、第2の実施形態では、2系統以上の
クロック信号の分配処理を説明する。2系統以上の場合
は、図12に示すようにルートドライバ11A,11B
及び中継バッファ12A,12Bどうしを隣接して配置
配線を行ない、以後は各中継バッファに対して第1の実
施形態と同じ処理手順を行なうことで、複数系統のクロ
ック信号のディレイ及びスキューを合わせることが可能
となる。複数系統のクロック信号のディレイを合わせる
必要がない場合は、駆動する負荷に応じて中継バッファ
の段数を変えて配置配線を行なうこともできる。
前記第1の実施形態では1系統のクロック信号の分配処
理手順を述べたが、第2の実施形態では、2系統以上の
クロック信号の分配処理を説明する。2系統以上の場合
は、図12に示すようにルートドライバ11A,11B
及び中継バッファ12A,12Bどうしを隣接して配置
配線を行ない、以後は各中継バッファに対して第1の実
施形態と同じ処理手順を行なうことで、複数系統のクロ
ック信号のディレイ及びスキューを合わせることが可能
となる。複数系統のクロック信号のディレイを合わせる
必要がない場合は、駆動する負荷に応じて中継バッファ
の段数を変えて配置配線を行なうこともできる。
【0028】また、回路接続情報の階層毎に配置位置を
決めてレイアウトし、セル配置領域の一部にF/Fが集
中して配置された場合、第1の実施形態では、ルートド
ライバをチップの中央に配置しているため、末端のF/
Fまでの配線長が伸びてクロック信号全体のディレイが
大きくなることが考えられる。これを解決するための方
法として第3の実施形態を説明する。図13は、本発明
の第3の実施形態によるクロック信号の分配処理手順を
示すフローチャートである。まず、ステップS301で
セル配置領域に図2に示すような、F/Fのクロック入
力端子位置が同一直線上に並ぶようにF/F専用の配置
格子1を作成し、配置格子数を求める。次いで、ステッ
プS302で全てのセルを自動配置する。ステップS3
03でF/Fが配置されている範囲を抽出し、前記の範
囲内の配置格子を縦横それぞれについて2のべき乗に分
割する。次いで、ステップS304でルートドライバと
中継バッファの配置を行ない、ステップS305でセル
のオーバーラップを除去する。さらに、ステップS30
6でルートドライバ及び中継バッファを配線する。以降
のステップS307からS309では第1の実施形態と
同様の処理手順、すなわち図1のステップS106と同
様の処理手順で負荷を均等にし、その他の配線を行な
う。図14は、本発明の第3の実施形態によるルートド
ライバと中継バッファを配置配線した状態を示す。
決めてレイアウトし、セル配置領域の一部にF/Fが集
中して配置された場合、第1の実施形態では、ルートド
ライバをチップの中央に配置しているため、末端のF/
Fまでの配線長が伸びてクロック信号全体のディレイが
大きくなることが考えられる。これを解決するための方
法として第3の実施形態を説明する。図13は、本発明
の第3の実施形態によるクロック信号の分配処理手順を
示すフローチャートである。まず、ステップS301で
セル配置領域に図2に示すような、F/Fのクロック入
力端子位置が同一直線上に並ぶようにF/F専用の配置
格子1を作成し、配置格子数を求める。次いで、ステッ
プS302で全てのセルを自動配置する。ステップS3
03でF/Fが配置されている範囲を抽出し、前記の範
囲内の配置格子を縦横それぞれについて2のべき乗に分
割する。次いで、ステップS304でルートドライバと
中継バッファの配置を行ない、ステップS305でセル
のオーバーラップを除去する。さらに、ステップS30
6でルートドライバ及び中継バッファを配線する。以降
のステップS307からS309では第1の実施形態と
同様の処理手順、すなわち図1のステップS106と同
様の処理手順で負荷を均等にし、その他の配線を行な
う。図14は、本発明の第3の実施形態によるルートド
ライバと中継バッファを配置配線した状態を示す。
【0029】ここで、前記各実施形態においては、負荷
としてF/Fを用いた例を示しているが、F/Fに限定
されるものではなく、クロック信号に基づいて動作され
るラッチ等の回路素子を含む種々の負荷を、複数個ツリ
ー状に接続して同期動作させる回路構成の半導体集積回
路であれば、本発明を同様に適用することが可能であ
る。
としてF/Fを用いた例を示しているが、F/Fに限定
されるものではなく、クロック信号に基づいて動作され
るラッチ等の回路素子を含む種々の負荷を、複数個ツリ
ー状に接続して同期動作させる回路構成の半導体集積回
路であれば、本発明を同様に適用することが可能であ
る。
【0030】
【発明の効果】以上説明したように本発明によれば、セ
ル配置領域を一定の大きさで格子状に分割し、分割領域
数に応じてルートドライバからツリー状に中継バッファ
を均等に配置配線し、かつ前記分割領域間のカットライ
ン位置を調整することで最終段の中継バッファに接続さ
れる負荷を均等にしているので、半導体集積回路の高集
積化を実現しながらクロックスキューを低減し、かつ信
頼性の高い半導体集積回路のクロック分配レイアウトが
実現できる。また、前記負荷のクロック入力端子位置が
同一直線上に並ぶように前記負荷専用の配置格子を作成
しておき、最終段の中継バッファの出力端子から前記配
置格子上に整列配置した前記負荷のクロック入力端子ま
でのクロック信号配線を放射状かつ直線的に接続してい
るので、クロック信号配線が蛇行して回り込むことがな
くなり、余分な配線領域を消費せず配線性の高い半導体
集積回路のクロック分配レイアウトが実現できる。さら
に、負荷専用の配置格子を作成することで、負荷の原点
位置のみの配置制限となるため、負荷以外のセルは自由
に配置ができて高集積を実現することができる。
ル配置領域を一定の大きさで格子状に分割し、分割領域
数に応じてルートドライバからツリー状に中継バッファ
を均等に配置配線し、かつ前記分割領域間のカットライ
ン位置を調整することで最終段の中継バッファに接続さ
れる負荷を均等にしているので、半導体集積回路の高集
積化を実現しながらクロックスキューを低減し、かつ信
頼性の高い半導体集積回路のクロック分配レイアウトが
実現できる。また、前記負荷のクロック入力端子位置が
同一直線上に並ぶように前記負荷専用の配置格子を作成
しておき、最終段の中継バッファの出力端子から前記配
置格子上に整列配置した前記負荷のクロック入力端子ま
でのクロック信号配線を放射状かつ直線的に接続してい
るので、クロック信号配線が蛇行して回り込むことがな
くなり、余分な配線領域を消費せず配線性の高い半導体
集積回路のクロック分配レイアウトが実現できる。さら
に、負荷専用の配置格子を作成することで、負荷の原点
位置のみの配置制限となるため、負荷以外のセルは自由
に配置ができて高集積を実現することができる。
【図1】本発明の第1の実施形態の処理手順を示すフロ
ーチャートである。
ーチャートである。
【図2】負荷としてのF/F専用の配置格子の例を示す
図である。
図である。
【図3】セル配置領域を2のべき乗に分割した状態を示
す図である。
す図である。
【図4】ルートドライバと中継バッファを配置配線した
状態を示す図である。
状態を示す図である。
【図5】中継バッファが多段挿入されたツリー構造例を
示す簡略図である。
示す簡略図である。
【図6】全ての素子が配置された状態を示す図である。
【図7】本発明の第1の実施形態における負荷を均等に
する処理手順を示すフローチャートである。
する処理手順を示すフローチャートである。
【図8】分割領域再構成後の初期状態を示す図である。
【図9】分割領域再構成後の負荷調整後の状態を示す図
である。
である。
【図10】分割領域の負荷調整方法の簡略図である。
【図11】最終段中継バッファの出力端子とF/Fのク
ロック入力端子の接続例を示す図である。
ロック入力端子の接続例を示す図である。
【図12】本発明の第2の実施形態のルートドライバと
中継バッファを配置配線した状態を示す図である。
中継バッファを配置配線した状態を示す図である。
【図13】本発明の第3の実施形態の処理手順を示すフ
ローチャートである。
ローチャートである。
【図14】本発明の第3の実施形態におけるルートドラ
イバと中継バッファを配置配線した状態を示す図であ
る。
イバと中継バッファを配置配線した状態を示す図であ
る。
1 負荷(F/F)専用の配置格子 10a〜10d 分割領域 10aa〜10ad,…,10da〜10dd 分割領
域 11,11A,11B ルートドライバ 12,12A,12B 最終段の中継バッファ 13 ルートドライバと中継バッファを接続する配線 14 中継バッファ 15 信号配線
域 11,11A,11B ルートドライバ 12,12A,12B 最終段の中継バッファ 13 ルートドライバと中継バッファを接続する配線 14 中継バッファ 15 信号配線
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 G06F 17/50
Claims (5)
- 【請求項1】 セル配置領域を一定の大きさで格子状に
分割して負荷が配置される負荷専用の配置格子を作成す
る工程と、前記分割した複数の分割領域に対してルート
ドライバ及び前記ルートドライバからツリー状に中継バ
ッファを配置しかつ相互に配線する工程と、前記各分割
領域の前記配置格子上の位置に前記負荷を配置する工程
と、前記各分割領域内の負荷のクロック入力端子容量を
計算し、各分割領域の最終段中継バッファに接続される
負荷が均等となるように各分割領域の分割ラインを微調
整するとともに前記中継バッファの個数の調整を行なう
工程とを含むことを特徴とする半導体集積回路のクロッ
ク分配レイアウト方法。 - 【請求項2】 前記負荷のクロック入力端子位置が同一
直線上に並ぶように前記負荷専用の配置格子を作成して
おき、最終段の中継バッファの出力端子から前記配置格
子上に整列配置した前記負荷のクロック入力端子までの
クロック信号配線を放射状かつ直線的に接続することを
特徴とする請求項1に記載の半導体集積回路のクロック
分配レイアウト方法。 - 【請求項3】 セル配置領域に負荷が配置される負荷専
用の配置格子を作成し、前記配置格子数を求める工程
と、前記配置格子を縦横それぞれについて2のべき乗に
分割する工程と、前記分割した複数の分割領域に対して
ルートドライバ及び前記ルートドライバからツリー状に
中継バッファを配置しかつ相互に配線する工程と、前記
各分割領域に対して自動配置ツールを使用して前記負荷
を配置する工程と、前記各分割領域内の負荷のクロック
入力端子容量を計算し、各分割領域の最終段中継バッフ
ァに接続される前記負荷が均等となるように各分割領域
の分割ラインを微調整するとともに前記中継バッファの
個数の調整を行なう工程と、その他の配線を行なう工程
を含むことを特徴とする半導体集積回路のクロック分配
レイアウト方法。 - 【請求項4】 セル配置領域に負荷が配置される負荷専
用の配置格子を作成し、前記負荷を配置する工程と、前
記負荷が配置された範囲を抽出する工程と、前記抽出さ
れた範囲の前記配置格子数を求め、かつ求めた配置格子
を縦横それぞれについて2のべき乗に分割する工程と、
前記分割した複数の分割領域に対してルートドライバ及
び前記ルートドライバからツリー状に中継バッファを配
置しかつ相互に配線する工程と、前記各分割領域に対し
て自動配置ツールを使用して前記負荷を配置する工程
と、前記各分割領域内の負荷のクロック入力端子容量を
計算し、各分割領域の最終段中継バッファに接続される
前記負荷が均等となるように各分割領域の分割ラインを
微調整するとともに前記中継バッファの個数の調整を行
なう工程と、その他の配線を行なう工程を含むことを特
徴とする半導体集積回路のクロック分配レイアウト方
法。 - 【請求項5】 前記分割ラインの微調整及び前記中継バ
ッファの個数の調整工程は、各最終段中継バッファに接
続する負荷のクロック入力端子容量の総和を計算する工
程と、前記計算により求めた総和から前記最終段中継バ
ッファの1個当たりに接続される平均のクロック入力端
子容量を計算する工程と、ある最終段中継バッファに接
続されるクロック入力端子容量の総和が前記平均のクロ
ック入力端子容量の1/2以下のときは当該分割領域の
負荷を隣接する分割領域に含めるように分割ラインを調
整しかつその分割領域の最終段中継バッファを使用禁止
とする工程と、ある最終段中継バッファに接続されるク
ロック入力端子容量の総和が前記平均のクロック入力端
子容量の3/2以上のときは当該分割領域を2分割する
分割ラインを調整しかつ最終段中継バッファを追加する
工程とを含み、各最終段中継バッファに接続される負荷
のクロック入力端子容量の総和が前記平均のクロック入
力端子容量に、予め設定した目標値の±1/2の範囲に
なるように前記分割ラインを微調整することを特徴とす
る請求項3または4に記載の半導体集積回路のクロック
分配レイアウト方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04650599A JP3231728B2 (ja) | 1999-02-24 | 1999-02-24 | 半導体集積回路のクロック分配レイアウト方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04650599A JP3231728B2 (ja) | 1999-02-24 | 1999-02-24 | 半導体集積回路のクロック分配レイアウト方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000243846A JP2000243846A (ja) | 2000-09-08 |
JP3231728B2 true JP3231728B2 (ja) | 2001-11-26 |
Family
ID=12749120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04650599A Expired - Fee Related JP3231728B2 (ja) | 1999-02-24 | 1999-02-24 | 半導体集積回路のクロック分配レイアウト方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3231728B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285572A (ja) * | 2005-03-31 | 2006-10-19 | Toshiba Corp | 半導体集積回路のレイアウト方法 |
JP2009152451A (ja) * | 2007-12-21 | 2009-07-09 | Texas Instr Japan Ltd | 集積回路装置とそのレイアウト設計方法 |
JP4706738B2 (ja) | 2008-08-20 | 2011-06-22 | 日本電気株式会社 | 遅延解析装置、遅延解析方法、及びプログラム |
JP4918934B2 (ja) | 2009-08-21 | 2012-04-18 | 日本電気株式会社 | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム |
JP5447547B2 (ja) | 2012-02-02 | 2014-03-19 | 日本電気株式会社 | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム |
JP6136430B2 (ja) * | 2013-03-25 | 2017-05-31 | 富士通株式会社 | 設計支援装置、設計支援方法、および設計支援プログラム |
-
1999
- 1999-02-24 JP JP04650599A patent/JP3231728B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000243846A (ja) | 2000-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3461443B2 (ja) | 半導体装置、半導体装置の設計方法、記録媒体および半導体装置の設計支援装置 | |
CN112507648B (zh) | 版图设计的方法和集成电路、运算芯片和计算设备 | |
JP2540762B2 (ja) | クロック信号供給方法 | |
US7795943B2 (en) | Integrated circuit device and layout design method therefor | |
JP3317948B2 (ja) | 半導体集積回路のレイアウト設計方法及び半導体集積回路 | |
US6857107B2 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
US20050102643A1 (en) | Methodology to optimize hierarchical clock skew by clock delay compensation | |
US6938236B1 (en) | Method of creating a mask-programmed logic device from a pre-existing circuit design | |
JP3231728B2 (ja) | 半導体集積回路のクロック分配レイアウト方法 | |
US7612599B2 (en) | Semiconductor device | |
US20020038448A1 (en) | Semiconductor integrated circuit device, and method of placement and routing for such device | |
US20040237060A1 (en) | Integrated circuit device, clock layout system, clock layout method, and clock layout program | |
EP0544164A1 (en) | Semi custom-made integrated circuit having clock synchronous circuit improved in clock skew | |
US20080079468A1 (en) | Layout method for semiconductor integrated circuit | |
JP2701779B2 (ja) | クロックスキュー低減方法 | |
JP2002124571A (ja) | 半導体集積回路の配線生成方法 | |
JP2000172367A (ja) | クロック信号分配方法及びクロック分配回路 | |
JP3139750B2 (ja) | タイミング調整方法 | |
JP3920124B2 (ja) | 半導体集積回路のクロック配線方法及び半導体集積回路 | |
US6759768B2 (en) | Repeater methods for constrained pitch wire buses on integrated circuits | |
JPH0621223A (ja) | 半導体集積回路の自動配線方法 | |
JP3422839B2 (ja) | 半導体集積回路の論理セル分割処理方法 | |
JP3123953B2 (ja) | 半導体集積回路のレイアウト方法 | |
JPH06216249A (ja) | Icチップ自動レイアウト設計システム | |
US20080290376A1 (en) | Semiconductor Integrated Circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |