JPH0830655A - 半導体装置の同期回路レイアウト設計方法 - Google Patents

半導体装置の同期回路レイアウト設計方法

Info

Publication number
JPH0830655A
JPH0830655A JP6166707A JP16670794A JPH0830655A JP H0830655 A JPH0830655 A JP H0830655A JP 6166707 A JP6166707 A JP 6166707A JP 16670794 A JP16670794 A JP 16670794A JP H0830655 A JPH0830655 A JP H0830655A
Authority
JP
Japan
Prior art keywords
delay
block
value
adjusting
clock
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
Application number
JP6166707A
Other languages
English (en)
Inventor
Fumihiro Kimura
文浩 木村
Hiroshi Mizuno
洋 水野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6166707A priority Critical patent/JPH0830655A/ja
Publication of JPH0830655A publication Critical patent/JPH0830655A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 半導体装置のレイアウト設計において、遅延
調整機構を備えた素子やブロックを用いることで、クロ
ックスキューを低減した同期回路を生成する。 【構成】 図1は、遅延調整機構を備えた同期素子を用
い、ブロック間配置配線工程101で配置配線を行な
い、遅延評価工程102で各同期素子間の遅延値を計算
し、スキューを求める。スキューの値を元に、遅延調整
工程103で、各同期素子毎に備えられた遅延調整機構
を変更し、遅延値を調整することで、クロックスキュー
を低減した同期回路を設計する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体装置の同期回路
のレイアウトを設計する方法、特にクロック信号のスキ
ューを低減したレイアウト方法に関するものである。
【0002】
【従来の技術】半導体装置の微細化、高密度化が進み、
大規模で且つ高速な半導体装置が開発されるに従い、配
線長の増加に伴う遅延値の増加が無視できなくなってき
ている。特に、クロック信号の遅延値差(スキュー)が大
きい場合、フリップフロップ等のクロック入力信号の到
着時間に差が生じ、半導体装置が不動、または、誤動作
などの悪影響を及ぼす。よって、前述したような悪影響
を解消する、「クロックツリー方式」等と呼ばれる方法
や、「スーパーバッファ方式」等と呼ばれる同期回路の
設計方法が提案されている。
【0003】「クロックツリー方式」の同期回路の設計
方法としては、例えば、ブロック内部の同期をとる設計
方法として、公知例「イグザクト ゼロスキュー」(プ
ロシーディング アイ・イー・イー・イー インターナ
ショナル カンファレンスオン コンピュータ エイデ
ィッド デザイン:Proc. IEEE Int. Conferenceon
Computer-Aided Design, pp336-339, 1991)などがあ
る。公知例「イグザクト ゼロ スキュー」は、まず、
関係のあるセルを幾つかのクラスタと呼ばれるグループ
に分け、各クラスタ内の負荷容量が均等になるように2
分割処理を繰り返すクラスタリングを行ない、クラスタ
内のクロック端子を最短経路配線する。さらに、再帰2
分割処理により、クラスタ間のノードにディレイ最小と
なるようなドライバセルを挿入し、階層的なツリー構造
を形成する。そして、最も下位の階層から順に、ツリー
の分岐点を素キュー最小とすることで配線を最小にし、
各階層の配線終了後、バッファセルの位置やサイズを変
更することによってスキューを低減、または、解消する
ものである。
【0004】また、「スーパーバッファ方式」と呼ばれ
る同期回路の設計方式としては、例えば、ブロック間の
同期をとる設計方法として、半導体装置の上下端や左右
端に非常に大きなドライブ能力のあるバッファーを配置
し、それらのバッファの出力を充分に太い幹線で接続
し、その幹線からクロックの信号の供給を必要とするチ
ャネルに支線を配する方法がある。この方法は、クロッ
ク供給の配線を充分に太くすることにより配線の抵抗成
分による遅延値差を低減し、充分に強力なバッファを用
いることにより太い配線により生じる非常に大きな寄生
容量による遅延値を小さくするというものである。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
技術では、「クロックツリー方式」では、専用の配置配
線のアルゴリズムを使用する必要があり、専用のアルゴ
リズムを備えた自動配置配線システムを開発しなければ
ならない。また、多数のドライバセルの挿入、移動、お
よび、クラスタ間の配線を必要とするため、半導体装置
の面積増加が避けられない。更に、遅延値の調整は、ド
ライバのサイズ変更によって行なわれるため、遅延値の
微調整を行なうことが困難であった。
【0006】また、「スーパバッファ方式」では、スキ
ュー値を充分な値以下にするためには充分に太いクロッ
ク供給幹線を準備し、充分に大きな駆動能力を持つドラ
イバーを用いなければならないため、チップ面積の増加
や消費電力の増大が発生する場合があった。
【0007】本発明は、かかる点に鑑みてなされたもの
で、配置配線に専用のアルゴリズムを用いることなく、
既存の自動配置配線システムを利用し、かつ、クロック
供給のためのドライバー、クラスタ間の配線、非常に太
いクロック配線、及び、非常に大きな駆動能力のバッフ
ァ等による、チップ面積や消費電力のオーバーヘッドが
無い、同期回路でのクロックスキュー値を押えた設計を
行なえる同期回路設計方法を提供することを目的とす
る。
【0008】
【課題を解決するための手段】この目的を達成するため
に、本発明の同期回路レイアウト設計方法は、同期素子
のクロック入力毎に独立に遅延値を調整できる遅延調整
機構を備えた同期素子を準備し、与えられた回路接続情
報に従ってセルの配置配線を行なうブロック内配置配線
工程と、前記のブロック内配置配線工程後に、作成され
たレイアウト結果に対して、ブロックのクロック供給口
から各同期素子のクロック入力までの遅延値を求める遅
延評価工程と、前記の遅延評価工程後に、求められた遅
延値を元に、同期して動作すべき各同期素子のクロック
スキュー値がある定められたスキュー値以内になるよう
に、各同期素子のクロック入力の前記の遅延調整機構の
遅延値を調整する遅延調整工程とを含むことを特徴とす
る。
【0009】さらに、遅延調整工程が、少なくとも配線
の長さを可変とすることにより遅延値を調整することを
特徴とする。
【0010】さらに、遅延調整工程が、少なくとも回路
中の容量値を可変とすることにより遅延値を調整するこ
とを特徴とする。
【0011】さらに、遅延調整工程が、少なくともゲー
ト段数を可変とすることにより遅延値を調整することを
特徴とする。
【0012】また、本発明の同期回路レイアウト設計方
法は、各ブロックへのクロック供給信号毎に独立に遅延
値を調整できる遅延調整機構を備えたクロックバッファ
を準備し、与えられた回路接続情報に従ってブロックの
配置を行なうブロック配置工程と、前記のブロック配置
工程後に、作成されたレイアウト結果に対して、クロッ
ク供給口から各ブロックのクロック入力までの遅延値を
求めるブロック間遅延評価工程と、前記のブロック間遅
延評価工程後に、求められた遅延値を元に、同期して動
作すべき各ブロックのクロック供給口間のクロックスキ
ュー値がある定められたスキュー値以内になるように、
前記の各ブロックへのクロック供給信号毎の遅延調整機
構の遅延値を調整するブロック間値遅延調整工程とを含
むことを特徴とする。
【0013】さらに、ブロック間値遅延調整工程が、少
なくとも配線の長さを可変とすることにより遅延値を調
整することを特徴とする。
【0014】さらに、ブロック間値遅延調整工程が、少
なくとも回路中の容量値を可変とすることにより遅延値
を調整することを特徴とする。
【0015】さらに、ブロック間値遅延調整工程が、少
なくともゲート段数を可変とすることにより遅延値を調
整することを特徴とする。
【0016】
【作用】本発明は上記の方法により、ブロック内配置配
線工程により与えられた回路接続情報に従ってブロック
内のレイアウトを作成する。面積オーバヘッドの原因に
なる、クロック信号用の特殊なバッファやクラスタリン
グ配線等は挿入しない。次に、遅延評価工程により作成
したレイアウト中の各同期素子のクロック入力ピンに関
して、ブロックのクロック入力からの遅延値を求める。
そして、遅延調整工程により、前記の遅延評価工程で求
めたブロックのクロック入力から各同期素子のクロック
入力ピンまでの遅延を元に、各同期素子のクロック入力
に備えられた遅延値調整機構の遅延値を、ブロックのク
ロック入力からその同期素子のクロック入力までの遅延
値が小さいものには遅延調整機構の遅延値を大きな値に
設定し、逆に、ブロックのクロック入力からその同期素
子のクロック入力までの遅延値が大きいものには遅延調
整機構の遅延値を小さな値に設定する。
【0017】ここで、ブロックのクロック入力から各同
期素子のクロック入力までの遅延値と遅延調整機構での
遅延値との合計値が、実際に各同期素子の同期動作が行
なわれる時間になるため、その値を一律の値とすること
によりスキューを低減、又は、無くすことが可能であ
る。かつ、スキュー値の低減は、各同期素子のクロック
入力部に設けた遅延値調整機構で行なうため、クロック
信号用の多数のバッファや専用のクラスタリング配線等
を必要としないので、面積や回路全体の遅延の最適化を
優先して行なうことが可能であり、ブロック内のレイア
ウト設計において、面積及び遅延値の最適化とクロック
スキュー低減とを両立させることができる。
【0018】また、ブロック配置工程により与えられた
回路接続情報に従って各ブロックの配置を決定する。な
お、ここで、引続き配置したブロック間の配線を行なっ
ても良い。次に、ブロック間遅延評価工程により、作成
されたレイアウト結果から、上位階層のクロック供給
口、すなわち、チップレベルのブロック間のレイアウト
設計を行なっている時はチップのクロック供給口、ビル
ディングブロック方式の中間ブロックならば上位階層の
ブロックのクロック供給口から、各ブロックのクロック
入力までの遅延値を求める。配置のみが行なわれている
場合には、位置関係から遅延値を計算し、配線までが行
なわれたいるならば配線に従った遅延値を計算する。そ
して、ブロック間遅延調整工程により、各ブロックのク
ロック供給信号毎のクロックバッファ中の遅延値調整機
構の遅延値を、上位階層のクロック供給口からそのブロ
ックのクロック入力までの遅延値が小さいものには遅延
調整機構の遅延値を大きな値に設定し、逆に、上位階層
のブロックのクロック供給口からそのブロックのクロッ
ク入力までの遅延値が大きいものには遅延調整機構の遅
延値を小さな値に設定する。
【0019】ここで、上位階層のブロックのクロック入
力から各ブロックのクロック入力までの初期状態の遅延
値とクロックバッファの遅延調整機構での遅延値との合
計値が、実際に各ブロックへクロック信号が伝搬する時
間になるため、その値を一律の値とすることにより、ブ
ロック間でのスキューを低減、又は、無くすことが可能
である。かつ、スキュー値の低減は、クロックバッファ
に設けた遅延値調整機構で行なうため、クロック信号用
の多数のバッファや専用のクラスタリング配線等、ま
た、スーパーバッファ方式等で用いられる非常に面積の
大きな駆動バッファや非常に太いクロック供給幹線を必
要としないので、ブロック間のレイアウト設計におい
て、面積及び遅延値の最適化とクロックスキュー低減と
を両立させることができる。
【0020】
【実施例】
(実施例1)以下、本発明の第1の実施例について、図面
を用い説明する。本発明の概略を図1に示すフロー図を
用いて説明する。図1に示すように本発明は、ブロック
内配置配線工程101、遅延評価工程102、遅延調整
工程103から構成されている。
【0021】開始にあたって、作成する半導体装置のク
ロック入力を必要とする各同期素子には、内部に遅延値
を調整することができる機構(以後、遅延値調整機構)
が備えられたものを使用する。また、使用する同期素子
の遅延調整機構に応じて、遅延調整機構の遅延を調整す
るための専用のアルゴリズムを準備する。
【0022】ブロック内配置配線工程101では、ブロ
ック内の配置配線を用いて、ブロック面積、総配線長が
最小となるよう回路接続情報に従って、配置配線を行な
う。
【0023】ブロック内配置配線工程101で、配置配
線が行なわれたレイアウト結果に対し、遅延評価工程1
02において、ブロックのクロック端子から、クロック
信号を必要とする各同期素子のクロック信号入力端子
(以後、クロック信号入力端子)までの遅延値を計算
し、スキューを求める。遅延評価工程102で求めたス
キューが、半導体装置が正常に動作する範囲内のスキュ
ーやすべての同期素子のスキューが0になるなど、予め
定められたスキューの条件を満たす場合、回路設計を終
了する。しかし、スキューが条件を満たさない場合、ス
キューを減少、または、解消するために、遅延調整工程
103において遅延値を調整する。
【0024】遅延調整工程103において、遅延評価工
程102で計算したスキューの値から必要となる遅延値
を調整するための情報を作成し、その情報を専用のアル
ゴリズムに与える。以上の工程により、本発明の同期回
路の設計方法は、面積及び遅延値の最適化とクロックス
キュー低減とを両立させることができる。
【0025】一実施例を図4を使用し説明する。図4
は、同期素子領域401と遅延調整素子領域402から
なる同期素子403、同期素子のクロック信号入力端子
404、デザインルールを満たし、且つ、遅延調整機構
挿入領域402と同じ大きさの領域に、予めいろいろな
配線長の配線が作成された配線長調整素子405、予め
複数の容量値の容量が作成された容量値調整素子40
6、予め小さな複数のゲート、または、いろいろなサイ
ズのゲートが作成されたゲート調整素子407、予めい
ろいろな長さの配線といろいろな容量値の容量を組み合
わせたものが作成された配線長容量値調整素子408、
予めいろいろな長さの配線と複数、または、サイズの異
なるゲートが組み合わせたものが作成された配線長ゲー
ト調整素子409、予めいろいろな容量値の容量と複
数、または、サイズの異なるゲートを組み合わせたもの
が作成された容量値ゲート調整素子410、予めいろい
ろな長さの配線、いろいろな容量値の容量、及び、複
数、または、サイズの異なるゲートを組み合わせたもの
が作成された配線長容量値ゲート調整素子411のよう
な各種遅延調整素子と遅延調整機構挿入領域に挿入され
た調整素子とクロック入力端子404に接続するために
使用される遅延調整素子接続ノード412を示す。
【0026】また、本発明の特徴を理解し易くするため
に、同期素子領域401の構造図の大部分を省略する。
【0027】同期素子403を使用し、本発明の同期回
路設計方法を実施するために、使用される同期素子40
3と各遅延調整素子405〜411を接続した時のクロ
ック入力端子404の遅延値を計算した遅延調整素子対
応表とレイアウト結果の各同期素子ごとに計算されたス
キューをもとに、遅延調整素子変換表の中から最適な遅
延調整素子を選択後、選択した遅延調整素子を遅延調整
機構挿入領域402に挿入し、容量値調整素子406以
外の遅延値素子が、遅延調整機構挿入領域402に挿入
された場合、遅延素子接続ノード412間の配線を除去
する専用のアルゴリズムを準備する。
【0028】ブロック内配置配線工程101で回路接続
情報に従って配置配線を行なう。作成されたレイアウト
結果に対して、遅延評価工程102において、ブロック
のクロック入力から各同期素子403のクロック信号入
力端子404までの遅延値を計算し、スキューを求め
る。求められたスキューが、ある定められた条件を満た
せば、回路設計を終了する。しかし、スキューがある定
められた条件を満たさない場合、遅延調整工程103を
実行する。
【0029】遅延調整工程103では、スキューの値を
もとに、予め作成しておいた遅延調整素子対応表から最
適な遅延調整素子を遅延調整素子405〜411の中か
ら選択する。そして、同期素子の遅延調整素子挿入領域
403に挿入し、遅延調整素子406以外の遅延調整素
子が挿入された場合、接続ノード412間の配線を除去
する。以上の工程により、本発明の同期回路の設計方法
は、面積及び遅延値の最適化とクロックスキュー低減と
を両立させることができる。
【0030】本発明では、予め同期素子内部に備えた領
域で遅延調整を行なうため、従来の技術のように、遅延
値を調整する際にバッファセルを適時挿入する必要がな
いため、配置配線を行なう前に、より正確な面積見積も
りが可能となる。同期素子内部に遅延値を調整する領域
が使用されない場合、面積増加に継る可能性があるが、
本発明では、遅延調整のためのバッファの挿入、移動や
クラスタリングによる面積増加が生じないため、従来の
技術と比較すると問題にならない。
【0031】また、従来の技術では、遅延調整時に、同
期素子、または、バッファセルの配置の変更、配置の変
更に伴う配線の変更など遅延値を調整するためのアルゴ
リズムが複雑であったが、本発明では、予め作成した遅
延素子変換表の中から最適な遅延素子を選択し、遅延素
子を挿入するための領域に挿入するという簡単なアルゴ
リズムで遅延値を調整することができるため、短時間で
スキューを調整することができる。更に、各同期素子毎
に遅延値を調整するため、より詳細なスキューの調整が
できる。
【0032】なお、遅延調整素子挿入領域403、遅延
素子接続ノード412や遅延調整素子405〜411の
形状、位置、大きさ、および、数は任意である。例え
ば、遅延調整素子を同期素子の内部ではなく、同期素子
の上端、下端、または、上下端に接続することもでき
る。この場合、各同期素子に遅延調整機構挿入領域を必
要としないため、より面積最小の同期回路を設計するこ
とができるが、セル列間に遅延調整素子を挿入するのに
充分な空間が必要である。
【0033】また、本実施例では、遅延値調整を容易に
するため遅延調整素子対応表を使用したが、使用しなく
てもよい。
【0034】図4では、遅延調整素子を挿入する方法を
示したが、遅延調整素子に相当する配線、容量、ゲート
を予め同期素子内部に予め作成したもの、または、セル
ジェネレータにより、スキューの値から最適な遅延値を
もつ同期素子を生成したものを本発明で使用する同期素
子として使用しても良い。
【0035】(実施例2)本発明の第2の実施例につい
て、図面を用いて説明する。本実施例は、図1のフロー
において、クロック入力を必要とする同期素子の配線長
を調整することができる遅延調整機構を備えた同期素子
を使用することを特徴とする。
【0036】一実施例として、図5に示すような同期素
子を使用する場合について説明する。図5は、同期素子
の遅延調整に関する部分の構造図のみを記す。図5は、
それぞれ、同期素子501、同期素子501のクロック
信号入力端子502、クロック信号入力端子503に接
続する配線上のノード503を示す。本発明の特徴を理
解し易くするために、同期素子501の構造図の大部分
を省略する。
【0037】図1のフローに従い、本実施例の設計方法
を説明する。図5に示した同期素子を使用し、本発明の
同期回路設計方法を実施するために、各同期素子のスキ
ューの値とクロック信号入力端子502の容量を元に最
適な配線の抵抗値を計算し、同期素子の配線長を変える
ために使用する配線の単位面積当たりの抵抗値と配線幅
から最適な配線長を求め、遅延調整のための最適な配線
をデザインルールを満たすよう生成する専用のアルゴリ
ズムを準備する。
【0038】実施例1と同様に、ブロック内配置配線工
程101と遅延評価工程102を行ない、ブロックのク
ロック端子から、各同期素子のクロック信号入力端子5
02までの遅延値を計算し、各同期素子のクロック信号
入力端子502のスキューを求める。
【0039】スキューが、ある定められた条件を満たす
場合、同期回路の設計を終了する。しかし、スキューが
ある定められた条件を満たさない場合、遅延調整工程1
03において、予め準備した専用のアルゴリズムによっ
て、各同期素子のスキューの値とクロック信号入力端子
502の容量値を元に、最適な配線長を求め、ノード5
03から最適な配線層、及び、配線長の配線を生成す
る。以上により、面積及び遅延値の最適化とクロックス
キュー低減とを両立させることができる。
【0040】図6に、本実施例を実行した結果を示す。
図6は、セル列601、配線チャネル602、遅延値を
調整するために配線チャネルの内部に生成された配線チ
ャネル内遅延値調整用配線603、遅延値を調整するた
めにセル列上に生成されたセル列上遅延調整用配線60
4を示す。
【0041】なお、配線長の変更に使用する配線層は、
任意である。また、本実施例と前記実施例1の遅延調整
の特徴とアルゴリズムの特徴を併用すれば、より大きな
スキューの問題を解消することができる。
【0042】(実施例3)本発明の第3の実施例につい
て、図面を用いて説明する。
【0043】本実施例は、図1のフローにおいて、クロ
ック入力を必要とする同期素子に備えられた遅延調整機
構部の容量を調整することができる同期素子を使用する
ことを特徴とする。
【0044】一実施例として、図7に示すような同期素
子を使用する場合について説明する。図7の同期素子
は、同期素子の遅延調整機構の拡大図である。図7は、
同期素子701、遅延調整領域702、同期素子701
のクロック信号入力端子703、クロック信号入力端子
703の配線に接続されたノード704を示す。
【0045】図1のフローに従い、本実施例の同期回路
の設計方法を説明する。図7に示した同期素子を使用
し、本発明の同期回路設計方法を実施するために、デザ
インルールを満たし、且つ、遅延調整領域702の範囲
内に生成する配線の面積に対する容量値を予め計算した
容量値対応表とスキューを元に、最適な容量値を計算
し、容量値対応表より最適な配線幅と配線長の配線を決
定後、ノード704から最適な配線を遅延調整領域70
2に生成する専用のアルゴリズムを準備する。
【0046】実施例1と同様に、ブロック内配置配線工
程101と遅延評価工程102を行い、各同期素子のス
キューを求める。
【0047】スキューがある定められた条件を満たす場
合、同期回路の設計を終了する。しかし、スキューが条
件を満たさない場合、遅延値調整工程103において、
スキューの値を元に、各同期素子の遅延値を調整するた
めに最適な容量値を計算し、予め準備した容量値対応表
より最適な配線の幅と長さを決定する。そして、ノード
704から遅延調整領域702上に最適な配線を引くこ
とで、スキューを調整することができる同期回路の設計
方法である。
【0048】図8に、本実施例を実行し、同期素子70
1内部の遅延調整領域702に遅延値を調整するための
最適な容量値を与えるために発生した容量調整用配線8
01を示す。
【0049】なお、本実施例では、遅延値を調整するた
めに遅延調整領域を同期素子内部に予め準備したが、同
期素子内部に空き領域を使用しても良い。同期回路の遅
延調整に配線を使用したが、配線以外のものを使用して
も良い。
【0050】本実施例では、遅延値調整を容易にするた
め容量値対応表を使用したが、使用しなくても良い。
【0051】また、本実施例と前記実施例2に示したの
遅延調整機構の特徴とアルゴリズムの特徴を併用すれ
ば、より大きなスキューを調整することができる。
【0052】(実施例4)本発明の第4の実施例につい
て、図面を用いて説明する。
【0053】本実施例は、図1のフローにおいて、クロ
ック入力を必要とする各同期素子に備えられた遅延調整
機構部の複数の小さなゲートの段数を調整することがで
きる同期素子を使用することを特徴とする。
【0054】一実施例として、図9に示すような同期素
子を使用する場合について説明する。図9は、同期素子
901、遅延調整領域902、クロック信号入力端子9
03、遅延調整領域902に作成された複数の小さなバ
ッファ素子904、バッファ素子904の入出力とクロ
ック信号入力端子903に接続する配線とを配線するた
めのノード905を示す。図9は、本発明を理解し易く
するために、同期素子901の構造図の大部分を省略し
た。
【0055】図1のフローに従い、本実施例の同期回路
設計方法を説明する。図9に示したような同期素子を使
用し、本発明の同期回路設計方法を実施するために、同
期素子に作成したバッファ素子904の組み合せによる
同期素子の遅延値を予め計算した遅延値バッファ対応表
とスキューを元に遅延値バッファ対応表から最適なバッ
ファ素子904の組合せを選択し、ノード905から選
択したゲートの組合せに応じて、遅延調整領域902に
作成されたゲートの入出力をそれぞれ直列、または、並
列に接続後、ノード905間の配線を除去する専用のア
ルゴリズムを準備する。
【0056】実施例1と同様にブロック内配置配線工程
101と遅延評価工程102を行ない、各同期素子間の
スキューを求める。
【0057】スキューがある定められた条件を満たす場
合、同期回路の設計を終了する。しかし、スキューがあ
る定められた条件を満たさない場合、遅延値調整工程1
03において、予め準備した専用のアルゴリズムを使用
し、スキューを元に予め準備した遅延値ゲート対応表か
ら最適なバッファ素子904の組合せを選択し、選択し
たバッファ素子904の組合せに応じて、ノード905
から遅延調整領域902に作成されたバッファ素子90
4の入出力をそれぞれ直列、または、並列に接続後、ノ
ード905間の配線を除去する。以上の工程により、面
積及び遅延値の最適化とクロックスキューの低減とを両
立させることができる。
【0058】なお、遅延調整領域902と遅延調整領域
904に作成するバッファ素子904の数、サイズ、場
所は、任意である。本実施例では、遅延値調整を容易に
するために、遅延値ゲート対応表を使用したが、使用し
なくても良い。
【0059】実施例4では、遅延調整部に複数の小さな
ゲートを作成したが、同期素子の遅延調整機構に複数の
小さな容量、または、その両方作成しても良い。
【0060】また、本実施例と前記実施例2に示した遅
延調整の特徴とアルゴリズムの特徴を併用することで、
より大きなスキューの問題を解消することができる。
【0061】(実施例5)本発明の第5の実施例につい
て、図面を用いて説明する。
【0062】本発明の概略を図2に示すフロー図を用い
て説明する。図2に示すように本発明は、ブロック配置
工程201、ブロック間遅延調整工程202、遅延調整
ブロック生成工程203、ブロック配置改善工程20
4、ブロック間配線工程205、ブロック間遅延調整工
程206から構成される。
【0063】開始にあたって、ブロック間の遅延値を調
整するための遅延調整ブロックと遅延調整ブロックに応
じて作成された専用のアルゴリズムを準備する。
【0064】ブロック配置工程201では、手動、また
は、ブロック間配置アルゴリズムを使用し、ブロック内
の配置配線が完了したブロック(以後、ハードブロッ
ク)、ブロック内の配置配線は完了していないが、ブロ
ック形状、大きさが概算されているブロック(以後、ソ
フトブロック)と適当なサイズの遅延調整ブロックを配
置する。
【0065】ブロック配置工程201で、ブロックを配
置した結果に対し、ブロック間遅延評価工程202にお
いて、遅延調整ブロックの中心からクロックを必要とす
る各ブロックのクロック端子までのスキューが最大にな
るよう遅延値を概算する。
【0066】遅延調整ブロック生成工程203では、概
算されたスキューを元に遅延調整ブロックの大きさを概
算する。この時、ブロックの位置関係から、遅延調整ブ
ロックの外枠に各ブロックのクロック端子に接続するた
めの端子とクロック供給口からクロック入力を得るため
の端子を生成する。
【0067】ブロック間配置改善工程204において、
開始時に使用した遅延調整ブロックを、形状と大きさと
クロック信号の入出力端子の位置情報だけをもつ遅延調
整ブロックと交換し、ブロックの配置を改善する。
【0068】ブロック間配線工程205で、ブロック間
配線アルゴリズムを使用し、回路接続情報を元にブロッ
ク間を配線する。
【0069】作成されたレイアウト結果に対し、再度、
ブロック間遅延評価工程204を行なう。この時、遅延
調整ブロックに作成されたクロック端子から、各ブロッ
クのクロック端子までの遅延値を計算し、スキューを求
める。ソフトブロックが含まれる設計の場合、ブロック
全体のスキューが最大になる値を求める。
【0070】求めたスキューが、予め定められた条件を
満たす場合、ソフトブロック内を配置配線し、同期回路
の設計を終了する。しかし、スキューが、条件を満たさ
ない場合、ブロック間遅延調整工程204を行なう。
【0071】ブロック間遅延調整工程204では、スキ
ューの値から遅延を調整するために必要となる情報を作
成し、専用のアルゴリズムに与える。以上の工程によ
り、面積及び遅延値を最適化とクロックスキューの低減
とを両立することができる。
【0072】一実施例を図10を使用し説明する。図1
0は、遅延調整ブロック1001、クロック供給口から
遅延調整ブロックにクロックを入力するクロック入力端
子1002、各ブロックのクロック端子に接続する遅延
調整ブロックのクロック出力端子1003、遅延調整素
子を挿入するため遅延調整素子挿入領域1004、デザ
インルールを満たし、且つ、遅延調整素子挿入領域と同
じ高さの領域に、予めいろいろな配線長の配線が作成さ
れた配線長調整素子1005、予め複数の容量値の容量
が作成された容量値調整素子1006、予め小さな複数
のゲート、または、いろいろなサイズのゲートが作成さ
れたゲート調整素子1007、予めいろいろな長さの配
線といろいろな容量値の容量を組み合わせたものが作成
された配線長容量値調整素子1008、予めいろいろな
長さの配線と複数、または、サイズの異なるゲートを組
み合わせたものが作成された配線長ゲート調整素子10
09、予めいろいろな容量値の容量と複数、または、サ
イズの異なるゲートを組み合わせたものが作成された容
量値ゲート調整素子1010、予めいろいろな長さの配
線、いろいろな容量値の容量、及び、複数、または、サ
イズの異なるゲートを組み合わせたものが作成された配
線長容量値ゲート調整素子1011、内部に遅延を調整
するための素子が何も作成されていないダミー遅延調整
素子を示す。
【0073】遅延調整ブロック1001を使用し、本発
明の同期回路設計方法を実施するために、専用のアルゴ
リズムを準備する。本実施例で使用するアルゴリズム
は、遅延調整ブロック1001に挿入できる遅延素子挿
入領域1004の大きさと各ブロックのスキューの値か
ら、最適な遅延調整素子の組合せを選択し、遅延調整素
子挿入領域1004に遅延調整素子1005〜1011
から選択された遅延調整素子を挿入後、遅延調整素子、
クロック入力端子1002とクロック出力端子1003
を接続するものである。
【0074】ブロック配置工程201で、ソフトブロッ
ク、ハードブロック、適当なサイズの遅延調整ブロック
を既存のブロック配置アルゴリズムを使用し、最適な位
置に配置する。
【0075】配置結果を元に、ブロック間遅延評価工程
202において、遅延調整ブロックの中心から、クロッ
ク入力を必要とする各ブロックのクロック端子までの遅
延値をスキューが最大になるように概算する。
【0076】概算されたスキューを元に、遅延調整ブロ
ック生成工程203において、最適な遅延調整ブロック
のサイズと形状を決定する。その時、ブロックの位置関
係とクロック供給口の位置関係から、それぞれ各クロッ
ク入力を必要とするブロックに接続するクロック出力端
子1003と遅延調整ブロック1001にクロック信号
を供給するためのクロック入力端子1002を遅延調整
ブロックの外枠の最適な位置に生成する。
【0077】ブロック配置改善工程204で、作成され
た遅延調整ブロックを開始時に使用した遅延調整ブロッ
クと交換し、ブロックの配置を改善する。
【0078】改善された配置結果を使用し、ブロック間
配線工程202において、既存のブロック間配線アルゴ
リズムを使用し、回路接続情報を元にブロック間を配線
する。
【0079】再度、ブロック間遅延評価工程202で、
作成されたレイアウト結果から、遅延調整ブロック10
01の各クロック出力端子1003とクロック入力を必
要とする各ブロックのクロック端子までの遅延値を計算
し、各ブロック間のスキューを求める。ソフトブロック
を使用している場合、スキューが最大となるようなスキ
ューを求める。
【0080】求めたスキューが、予め定められたスキュ
ーの条件を満たせば、同期回路の設計を終了する。しか
し、条件を満たさない場合、ブロック間遅延調整工程2
06を実行する。
【0081】ブロック間遅延調整工程206では、予め
準備しておいた専用のアルゴリズムを使用し、遅延調整
ブロック1001の遅延素子挿入領域1004の大きさ
と各ブロックのスキューの値から、最適な遅延調整素子
の組合せを選択し、遅延調整素子挿入領域1004に遅
延調整素子1005〜1011から選択された遅延調整
素子を挿入する。遅延調整ブロック生成工程203で生
成したブロックが、ブロック間配線工程205の後に計
算した遅延値よりも大きいため、遅延調整素子が挿入さ
れない遅延調整素子挿入領域1004が存在する場合、
内部に遅延を調整するための素子が作成されていないダ
ミー遅延調整素子1012を挿入する。そして、挿入し
た遅延調整素子1005〜1011とクロック入力端子
1002及びクロック出力端子1003を接続すること
で、面積及び遅延値の最適化とクロックスキューの低減
を両立することができる。
【0082】なお、遅延調整領域及び遅延調整ブロック
のサイズ、位置、形状、任意である。
【0083】また、遅延調整ブロックとして遅延調整ブ
ロック1001の中に、遅延調整素子1005〜101
1に相当する遅延調整素子を予め作成したものや論理ア
レイを使用しても良い。スキューの値を元に、スキュー
を調整するために、最適な素子をジェネレータにより適
時生成しても良い。
【0084】また、図3に示すようなフロー図に示すよ
うに、ブロック間配線工程205をブロック間遅延評価
調程202よりも前に行なうことができる。この場合、
遅延調整ブロックの最適化が設計中に行なえなくなるた
め、開始時に選択した遅延調整ブロックが大きい場合、
遅延調整に使用されない領域が無駄になる。逆に、遅延
調整ブロックが小さい場合、スキューを解消するため
に、図3に示す全工程を再度実施しなければならない。
【0085】
【発明の効果】以上述べてきた様に、本発明に係る半導
体装置の同期回路レイアウト設計方法によれば、特殊な
アルゴリズムの専用の自動配置配線システムにより、多
数のドライバーセルやツリー状の配線を作成するのでは
なく、回路レイアウト面積及び配線による遅延の最適化
を充分に行なえる自動配置配線システムを用い、かつ、
各同期素子のクロック入力部又はクロックバッファ部で
レイアウト後に遅延値を調整することにより全体のクロ
ック信号のスキュー値を低減することができ、面積及び
速度の最適化とクロック信号のスキュー値低減の両者を
満足したレイアウトを設計を実現できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す半導体装置の同期回路
レイアウト設計方法のフロー図
【図2】本発明の一実施例を示す半導体装置の同期回路
レイアウト設計方法のフロー図
【図3】本発明の一実施例を示す半導体装置の同期回路
レイアウト設計方法のフロー図
【図4】本発明の一実施例を示す遅延調整機構つき同期
素子と遅延調整素子を示す図
【図5】本発明の一実施例を示す遅延調整機構つき同期
素子を示す図
【図6】本発明の一実施例の実行結果を示す図
【図7】本発明の一実施例を示す遅延調整機構つき同期
素子を示す図
【図8】本発明の一実施例を示す遅延調整機構つき同期
素子を示す図
【図9】本発明の一実施例を示す遅延調整機構つき同期
素子を示す図
【図10】本発明の一実施例を示す遅延調整機構調整ブ
ロックと遅延調整素子を示す図
【符号の説明】
101 ブロック内配置配線工程 102 遅延評価工程 103 遅延調整工程 201 ブロック配置工程 202 ブロック間遅延評価工程 203 遅延調整ブロック生成工程 204 ブロック配置改善工程 205 ブロック間配線工程 206 ブロック間遅延調整工程 401 同期素子領域 402 遅延調整領域 403 同期素子 404 クロック信号入力端子 405 配線長調整素子 406 容量値調整素子 407 ゲート調整素子 408 配線長容量値調整素子409 配線長ゲート調
整素子 410 容量値ゲート調整素子 411 配線長容量値ゲート調整素子 412 遅延調整素子接続ノード 501 同期素子 502 クロック信号入力端子 503 ノード 601 セル列 602 配線チャネル 603 配線チャネル内遅延調整配線 604 セル列上遅延調整配線 701 同期素子 702 遅延調整領域 703 クロック信号入力端子 704 ノード 801 容量調整用配線 901 同期素子 902 遅延調整領域 903 クロック信号入力端子 904 遅延調整用バッファ素子 905 ノード 1001 遅延調整ブロック 1002 クロック入力端子 1003 クロック出力端子 1004 遅延調整素子挿入領域 1005 配線超調整素子 1006 容量値調整素子 1007 ゲート調整素子 1008 配線長容量値調整素子 1009 配線長ゲート調整素子 1010 容量値ゲート調整素子 1011 配線長容量値ゲート調整素子 1012 ダミー遅延調整素子

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】同期素子のクロック入力毎に独立に遅延値
    を調整できる遅延調整機構を備えた同期素子を用いた同
    期回路レイアウト設計方法であって、 与えられた回路接続情報に従ってセルの配置配線を行な
    うブロック内配置配線工程と、 前記のブロック内配置配線工程後に、作成されたレイア
    ウト結果に対して、ブロックのクロック供給口から各同
    期素子のクロック入力までの遅延値を求める遅延評価工
    程と、 前記の遅延評価工程後に、求められた遅延値を元に、同
    期して動作すべき各同期素子のクロックスキュー値があ
    る定められたスキュー値以内になるように、各同期素子
    のクロック入力の前記の遅延調整機構の遅延値を調整す
    る遅延調整工程とを含むことを特徴とする半導体装置の
    同期回路レイアウト設計方法。
  2. 【請求項2】遅延調整工程が、少なくとも、配線の長さ
    を可変とすることにより遅延値を調整することを特徴と
    する請求項1記載の半導体装置の同期回路レイアウト設
    計方法。
  3. 【請求項3】遅延調整工程が、少なくとも、回路中の容
    量値を可変とすることにより遅延値を調整することを特
    徴とする請求項1記載の半導体装置の同期回路レイアウ
    ト設計方法。
  4. 【請求項4】遅延調整工程が、少なくとも、ゲート段数
    を可変とすることにより遅延値を調整することを特徴と
    する請求項1記載の半導体装置の同期回路レイアウト設
    計方法。
  5. 【請求項5】各ブロックへのクロック供給信号毎に独立
    に遅延値を調整できる遅延調整機構を備えたクロックバ
    ッファを用いた同期回路レイアウト設計方法であって、 与えられた回路接続情報に従ってブロックの配置を行な
    うブロック配置工程と、 前記のブロック配置工程後に、作成されたレイアウト結
    果に対して、クロック供給口から各ブロックのクロック
    入力までの遅延値を求めるブロック間遅延評価工程と、 前記のブロック間遅延評価工程後に、求められた遅延値
    を元に、同期して動作すべき各ブロックのクロック供給
    口間のクロックスキュー値がある定められたスキュー値
    以内になるように、前記の各ブロックへのクロック供給
    信号毎の遅延調整機構の遅延値を調整するブロック間値
    遅延調整工程とを含むことを特徴とする半導体装置の同
    期回路レイアウト設計方法。
  6. 【請求項6】ブロック間値遅延調整工程が、少なくと
    も、配線の長さを可変とすることにより遅延値を調整す
    ることを特徴とする請求項5記載の半導体装置の同期回
    路レイアウト設計方法。
  7. 【請求項7】ブロック間値遅延調整工程が、少なくと
    も、回路中の容量値を可変とすることにより遅延値を調
    整することを特徴とする請求項5記載の半導体装置の同
    期回路レイアウト設計方法。
  8. 【請求項8】ブロック間値遅延調整工程が、少なくと
    も、ゲート段数を可変とすることにより遅延値を調整す
    ることを特徴とする請求項5記載の半導体装置の同期回
    路レイアウト設計方法。
JP6166707A 1994-07-19 1994-07-19 半導体装置の同期回路レイアウト設計方法 Pending JPH0830655A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6166707A JPH0830655A (ja) 1994-07-19 1994-07-19 半導体装置の同期回路レイアウト設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6166707A JPH0830655A (ja) 1994-07-19 1994-07-19 半導体装置の同期回路レイアウト設計方法

Publications (1)

Publication Number Publication Date
JPH0830655A true JPH0830655A (ja) 1996-02-02

Family

ID=15836275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6166707A Pending JPH0830655A (ja) 1994-07-19 1994-07-19 半導体装置の同期回路レイアウト設計方法

Country Status (1)

Country Link
JP (1) JPH0830655A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591408B1 (en) 1999-09-30 2003-07-08 Nec Electronics Corporation Apparatus and method for designing semiconductor circuit, and recording medium
JP2004289030A (ja) * 2003-03-25 2004-10-14 Renesas Technology Corp 半導体集積回路装置とクロック分配方法
JP2005252048A (ja) * 2004-03-05 2005-09-15 Nec Electronics Corp 半導体集積回路装置及びその製造方法
JP2015162674A (ja) * 2014-02-27 2015-09-07 聯發科技股▲ふん▼有限公司Mediatek Inc. 半導体チップと半導体チップパッケージ
KR20160049465A (ko) * 2014-10-27 2016-05-09 삼성전자주식회사 클록 신호의 레이턴시를 조정하기 위한 방법, 장치, 및 프로그램

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591408B1 (en) 1999-09-30 2003-07-08 Nec Electronics Corporation Apparatus and method for designing semiconductor circuit, and recording medium
JP2004289030A (ja) * 2003-03-25 2004-10-14 Renesas Technology Corp 半導体集積回路装置とクロック分配方法
JP4743469B2 (ja) * 2003-03-25 2011-08-10 株式会社日立製作所 半導体集積回路装置とクロック分配方法
JP2005252048A (ja) * 2004-03-05 2005-09-15 Nec Electronics Corp 半導体集積回路装置及びその製造方法
JP2015162674A (ja) * 2014-02-27 2015-09-07 聯發科技股▲ふん▼有限公司Mediatek Inc. 半導体チップと半導体チップパッケージ
US9349682B2 (en) 2014-02-27 2016-05-24 Mediatek Inc. Semiconductor chip and semiconductor chip package each having signal paths that balance clock skews
KR20160049465A (ko) * 2014-10-27 2016-05-09 삼성전자주식회사 클록 신호의 레이턴시를 조정하기 위한 방법, 장치, 및 프로그램

Similar Documents

Publication Publication Date Title
US6440780B1 (en) Method of layout for LSI
CN101587508B (zh) 用于确定数据路径的路由的方法、系统及计算机程序产品
JP3076410B2 (ja) 半導体集積回路の設計方法
JP2540762B2 (ja) クロック信号供給方法
US20090189641A1 (en) Integrated circuit device and layout design method therefor
JPH08339236A (ja) クロック信号分配回路
KR20020037715A (ko) 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및물리적으로 동시에 구성하는 방법
WO2000035093A1 (en) Efficient interconnect network for use in fpga device having variable grain architecture
JPH08221451A (ja) データパス回路のレイアウト設計方法
Ogawa et al. Efficient placement algorithms optimizing delay for high-speed ECL masterslice LSI's
JP2002245109A (ja) 半導体集積回路の設計方法及び設計システム
US7178124B1 (en) Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout
JP2008288559A (ja) 半導体集積回路及び半導体集積回路のレイアウト方法
JPH0830655A (ja) 半導体装置の同期回路レイアウト設計方法
JP3178371B2 (ja) 半導体集積回路の設計方法
US7007257B2 (en) Automatic placement and routing apparatus for designing integrated circuit that controls its timing using multiple power supplies
JP3048471B2 (ja) クロック供給回路及びクロックスキュー調整方法
JP2001056721A (ja) クロック分配回路
JPH08129576A (ja) 半導体装置のマスクレイアウト設計方法
JP3877698B2 (ja) 半導体集積回路の設計方法
JP2000035832A (ja) 半導体集積回路及びそのクロック分配方法
Pentapati et al. Tier partitioning and flip-flop relocation methods for clock trees in monolithic 3D ICs
JP2000172367A (ja) クロック信号分配方法及びクロック分配回路
Meinhardt et al. Logic and physical synthesis of cell arrays
JPH08221473A (ja) 半導体集積回路及びそのレイアウト設計方法