JP2001267429A - レイアウト設計装置およびレイアウト設計方法 - Google Patents
レイアウト設計装置およびレイアウト設計方法Info
- Publication number
- JP2001267429A JP2001267429A JP2000076696A JP2000076696A JP2001267429A JP 2001267429 A JP2001267429 A JP 2001267429A JP 2000076696 A JP2000076696 A JP 2000076696A JP 2000076696 A JP2000076696 A JP 2000076696A JP 2001267429 A JP2001267429 A JP 2001267429A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- layout
- clock
- cells
- wiring
- 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.)
- Withdrawn
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】クロック系の配置配線でタイミング制約違反が
発生した場合に、タイミング制約違反が発生した部分の
局部的な配置改善処理を自動的に行う。 【解決手段】レイアウトセルの初期配置後にステップ2
02でレイアウトセルに移動許可量をセル属性として付
与する。クロック系の配置配線後に、ステップ208で
タイミング制約違反があるときには、ステップ211に
おいてタイミング制約違反があると判定されたレイアウ
トセルに直接にクロックを供給するクロックバッファセ
ルの周辺に配置されたレイアウトセルに対してセル移動
制限順位をセル属性に基づいて決定し、ステップ212
でセル移動制限順位を参照して移動候補レイアウトセル
のうち順位が低位のものから順次に移動許可量を越えな
い範囲内で移動させてクロックバッファセルの配置をよ
り適正な位置に変更し、配線を修正する。
発生した場合に、タイミング制約違反が発生した部分の
局部的な配置改善処理を自動的に行う。 【解決手段】レイアウトセルの初期配置後にステップ2
02でレイアウトセルに移動許可量をセル属性として付
与する。クロック系の配置配線後に、ステップ208で
タイミング制約違反があるときには、ステップ211に
おいてタイミング制約違反があると判定されたレイアウ
トセルに直接にクロックを供給するクロックバッファセ
ルの周辺に配置されたレイアウトセルに対してセル移動
制限順位をセル属性に基づいて決定し、ステップ212
でセル移動制限順位を参照して移動候補レイアウトセル
のうち順位が低位のものから順次に移動許可量を越えな
い範囲内で移動させてクロックバッファセルの配置をよ
り適正な位置に変更し、配線を修正する。
Description
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
レイアウト設計装置およびレイアウト設計方法に関し、
特に、クロック遅延、クロックスキュー等のクロック系
のタイミング制約違反の修正機構を組み込んだレイアウ
ト設計装置およびレイアウト設計方法に関する。
レイアウト設計装置およびレイアウト設計方法に関し、
特に、クロック遅延、クロックスキュー等のクロック系
のタイミング制約違反の修正機構を組み込んだレイアウ
ト設計装置およびレイアウト設計方法に関する。
【0002】
【従来の技術】レイアウト設計では、クロック遅延を低
減しクロックスキューを低減するために、集積回路のク
ロック端子からクロックが供給されるレイアウトセルま
での経路に、負荷が略等しくなるように調整したクロッ
クバッファをツリー状に接続したクロックツリー構造の
クロック供給回路を設置するなどの方法がとられてい
る。
減しクロックスキューを低減するために、集積回路のク
ロック端子からクロックが供給されるレイアウトセルま
での経路に、負荷が略等しくなるように調整したクロッ
クバッファをツリー状に接続したクロックツリー構造の
クロック供給回路を設置するなどの方法がとられてい
る。
【0003】図10は、従来のレイアウト設計のフロー
図である。以下、図10に従って従来のレイアウト設計
方法について説明する。
図である。以下、図10に従って従来のレイアウト設計
方法について説明する。
【0004】ステップ701で、論理回路設計時に定め
られた動作タイミング制限や接続配線長制限などのタイ
ミング/配置制約情報の下に回路接続情報に基づいてレ
イアウトセルの初期配置を行う。次に、ステップ702
で、初期配置されたレイアウトセルのうちで移動させる
とタイミング/配置制約に違反する可能性のあるレイア
ウトセルについて移動禁止の属性を与える。
られた動作タイミング制限や接続配線長制限などのタイ
ミング/配置制約情報の下に回路接続情報に基づいてレ
イアウトセルの初期配置を行う。次に、ステップ702
で、初期配置されたレイアウトセルのうちで移動させる
とタイミング/配置制約に違反する可能性のあるレイア
ウトセルについて移動禁止の属性を与える。
【0005】次のステップ703で、クロックツリー構
造を決定する。図11は、クロックツリー構造の模式図
である。集積回路のクロック端子CLKからクロックが
供給されるレイアウトセル(以下、クロック供給レイア
ウトセルと称する)であるフリップフロップ(以下FF
と略記する)802,803,804,805の間に負
荷が略等しくなるように調整したクロックバッファをツ
リー状に設けたクロックツリー800が挿入され、末端
のクロックバッファ801によりFF802,803,
804,805にクロックを供給する。ステップ703
では、ツリーを構成するクロックバッファの段数や末端
のクロックバッファとそれが駆動するクロック供給レイ
アウトセルとの対応等を決定する。
造を決定する。図11は、クロックツリー構造の模式図
である。集積回路のクロック端子CLKからクロックが
供給されるレイアウトセル(以下、クロック供給レイア
ウトセルと称する)であるフリップフロップ(以下FF
と略記する)802,803,804,805の間に負
荷が略等しくなるように調整したクロックバッファをツ
リー状に設けたクロックツリー800が挿入され、末端
のクロックバッファ801によりFF802,803,
804,805にクロックを供給する。ステップ703
では、ツリーを構成するクロックバッファの段数や末端
のクロックバッファとそれが駆動するクロック供給レイ
アウトセルとの対応等を決定する。
【0006】次のステップ704でクロックバッファセ
ルを配置し、ステップ705でクロックツリーを構成す
るクロックバッファセル間の配線およびツリーの末端の
クロックバッファセルから駆動するクロック供給レイア
ウトセルへの配線を行う。
ルを配置し、ステップ705でクロックツリーを構成す
るクロックバッファセル間の配線およびツリーの末端の
クロックバッファセルから駆動するクロック供給レイア
ウトセルへの配線を行う。
【0007】図12(a)〜(c)は、従来のレイアウ
ト設計方法におけるクロックバッファの配置処理の具体
例を示す図である。図12(a)は、ステップ702終
了後のセル配置であり、FFセル902,903,90
4,905およびセルA911,セルB912,セルC
913,セルD914,セルE915を含む複数のレイ
アウトセルが配置されている。図中(FIX)の表示は
そのレイアウトセルが移動禁止の属性を付与されている
ことを表している。ステップ703でFFセル902,
903,904,905をクロックバッファセル901
で駆動すると決定されると、図12(b)のように、ク
ロックバッファセル901を理想配置位置に仮配置す
る。
ト設計方法におけるクロックバッファの配置処理の具体
例を示す図である。図12(a)は、ステップ702終
了後のセル配置であり、FFセル902,903,90
4,905およびセルA911,セルB912,セルC
913,セルD914,セルE915を含む複数のレイ
アウトセルが配置されている。図中(FIX)の表示は
そのレイアウトセルが移動禁止の属性を付与されている
ことを表している。ステップ703でFFセル902,
903,904,905をクロックバッファセル901
で駆動すると決定されると、図12(b)のように、ク
ロックバッファセル901を理想配置位置に仮配置す
る。
【0008】ここで、理想配置位置とは、クロックバッ
ファセルが駆動する複数のクロック供給レイアウトセル
までのそれぞれの配線が等長に近くかつ最短に近くなる
クロックバッファセルの配置位置をいう。理想配置位置
の決定方法としては、例えばクロックバッファセル90
1の中心からFFセル902,903,904,905
のクロック入力端までのそれぞれの距離の2乗の逆数を
加算した値が最大値となる位置座標をクロックバッファ
セルの理想配置位置とする方法、またはFFセル90
2,903,904,905を頂点とする四角形の重心
位置をクロックバッファセルの理想配置位置とする方法
などが知られている。
ファセルが駆動する複数のクロック供給レイアウトセル
までのそれぞれの配線が等長に近くかつ最短に近くなる
クロックバッファセルの配置位置をいう。理想配置位置
の決定方法としては、例えばクロックバッファセル90
1の中心からFFセル902,903,904,905
のクロック入力端までのそれぞれの距離の2乗の逆数を
加算した値が最大値となる位置座標をクロックバッファ
セルの理想配置位置とする方法、またはFFセル90
2,903,904,905を頂点とする四角形の重心
位置をクロックバッファセルの理想配置位置とする方法
などが知られている。
【0009】図12(b)で、クロックバッファセル9
01が仮配置された理想配置位置には、移動禁止のセル
属性が付加されたセルC913が既に配置済であり、ま
たその周辺にも移動禁止のセルが配置済であるために、
クロックバッファセル901は、図12(c)のように
セルA911移動させてセルA911とセルB912と
の間に配置される。セル内の配線が第1層配線および第
2層配線で構成されているセルであれば、Y方向の第2
層配線921とX方向の第3層配線923とビア922
とを用いて配線されるが、図12(c)のように、クロ
ックバッファセル901からFFセル904への配線長
とFFセル905への配線長では大きな差が生じてしま
うことがある。
01が仮配置された理想配置位置には、移動禁止のセル
属性が付加されたセルC913が既に配置済であり、ま
たその周辺にも移動禁止のセルが配置済であるために、
クロックバッファセル901は、図12(c)のように
セルA911移動させてセルA911とセルB912と
の間に配置される。セル内の配線が第1層配線および第
2層配線で構成されているセルであれば、Y方向の第2
層配線921とX方向の第3層配線923とビア922
とを用いて配線されるが、図12(c)のように、クロ
ックバッファセル901からFFセル904への配線長
とFFセル905への配線長では大きな差が生じてしま
うことがある。
【0010】このようにしてクロックバッファセルを配
置配線した後に、ステップ706で、このクロック系の
配置配線に基づいて各クロック供給レイアウトセルまで
のクロック遅延、クロックスキューを計算し、ステップ
707で、タイミング制約情報を参照してタイミング制
約違反があるか否かを判定する。タイミング制約違反が
ないときにはステップ708でレイアウトセル間の配線
を行ってからレイアウトデータを出力して終了するが、
タイミング制約違反があったときにはステップ703へ
戻り、クロックツリーの構造を変更してから以降のステ
ップを再実行する。
置配線した後に、ステップ706で、このクロック系の
配置配線に基づいて各クロック供給レイアウトセルまで
のクロック遅延、クロックスキューを計算し、ステップ
707で、タイミング制約情報を参照してタイミング制
約違反があるか否かを判定する。タイミング制約違反が
ないときにはステップ708でレイアウトセル間の配線
を行ってからレイアウトデータを出力して終了するが、
タイミング制約違反があったときにはステップ703へ
戻り、クロックツリーの構造を変更してから以降のステ
ップを再実行する。
【0011】以上に説明した従来のレイアウト設計方法
では、タイミング制約違反が発生した場合には、クロッ
クツリーの構造決定にまで戻って再実行しなければなら
ず、さらにクロックツリーの構造をどのように変更すれ
ばタイミング制約違反を解消できるかを示唆する情報も
ないために、試行錯誤的にループを繰り返して解を見つ
けるか、またはループの実行を中断し設計者が介入して
移動禁止属性のレイアウトセルをも含めてレイアウトセ
ルおよびクロックバッファセルの配置を部分的に修正す
ることによりタイミング制約違反を解消したチップレイ
アウトを実現していた。このために、タイミング制約違
反が発生した場合にはその修正に多大な時間と労力を費
やし、設計効率が低下していた。
では、タイミング制約違反が発生した場合には、クロッ
クツリーの構造決定にまで戻って再実行しなければなら
ず、さらにクロックツリーの構造をどのように変更すれ
ばタイミング制約違反を解消できるかを示唆する情報も
ないために、試行錯誤的にループを繰り返して解を見つ
けるか、またはループの実行を中断し設計者が介入して
移動禁止属性のレイアウトセルをも含めてレイアウトセ
ルおよびクロックバッファセルの配置を部分的に修正す
ることによりタイミング制約違反を解消したチップレイ
アウトを実現していた。このために、タイミング制約違
反が発生した場合にはその修正に多大な時間と労力を費
やし、設計効率が低下していた。
【0012】これに対して、クロック系のレイアウトの
再実行を必要としないタイミング制約違反の修正方法と
して、特開平8−30655号公報には、クロック供給
レイアウトセルのクロック入力端に負荷容量、配線、遅
延ゲート等の遅延調整機構を予め装備しておき、レイア
ウトセルおよびクロックバッファセルを配置した後にク
ロックスキューが制限値よりも大きいときには、遅延調
整機構によりクロック入力端の遅延を調整してスキュー
を低減するレイアウト設計方法が記載されている。しか
しながらこの方法ではクロック供給レイアウトセルのサ
イズが増大し、また調整対象のすべてのクロック供給レ
イアウトセルのクロック遅延をクロック遅延が最大のク
ロック供給レイアウトセルのクロック遅延に合わせて修
正するために、クロック遅延が大きくなる。
再実行を必要としないタイミング制約違反の修正方法と
して、特開平8−30655号公報には、クロック供給
レイアウトセルのクロック入力端に負荷容量、配線、遅
延ゲート等の遅延調整機構を予め装備しておき、レイア
ウトセルおよびクロックバッファセルを配置した後にク
ロックスキューが制限値よりも大きいときには、遅延調
整機構によりクロック入力端の遅延を調整してスキュー
を低減するレイアウト設計方法が記載されている。しか
しながらこの方法ではクロック供給レイアウトセルのサ
イズが増大し、また調整対象のすべてのクロック供給レ
イアウトセルのクロック遅延をクロック遅延が最大のク
ロック供給レイアウトセルのクロック遅延に合わせて修
正するために、クロック遅延が大きくなる。
【0013】
【発明が解決しようとする課題】以上に説明したよう
に、図10の従来のレイアウト設計方法では、タイミン
グ制約違反が発生した場合には、クロックツリーの構造
決定にまで戻って再実行し、試行錯誤的に解を見つける
か、または設計者が介入して配置を修正することになる
ので、タイミング制約違反の修正に多大な時間と労力を
必要とするという問題点があった。。
に、図10の従来のレイアウト設計方法では、タイミン
グ制約違反が発生した場合には、クロックツリーの構造
決定にまで戻って再実行し、試行錯誤的に解を見つける
か、または設計者が介入して配置を修正することになる
ので、タイミング制約違反の修正に多大な時間と労力を
必要とするという問題点があった。。
【0014】特開平8−30655号公報記載のレイア
ウト設計方法では、遅延調整機構が装備された特殊なク
ロック供給レイアウトセルを用いるのでセルサイズが増
大するという問題点が生じ、またクロック遅延が最大の
クロック供給レイアウトセルのクロック遅延に合わせる
のでクロック遅延が大きくなるという問題点が生じる。
ウト設計方法では、遅延調整機構が装備された特殊なク
ロック供給レイアウトセルを用いるのでセルサイズが増
大するという問題点が生じ、またクロック遅延が最大の
クロック供給レイアウトセルのクロック遅延に合わせる
のでクロック遅延が大きくなるという問題点が生じる。
【0015】本発明の目的は、タイミング制約違反が発
生した場合に従来は設計者が介入して経験に基づいて行
っていた配置改善を自動的に行うことのできる機構を組
み込み、クロックツリー構造の決定ステップまで戻って
の再実行や設計者の介入による時間と労力の消費を低減
することができ、タイミング制約違反解消の容易化に伴
うセルサイズの増大が生じなく、クロック遅延の増大も
抑制できるレイアウト設計システムおよびレイアウト設
計方法を提供することにある。
生した場合に従来は設計者が介入して経験に基づいて行
っていた配置改善を自動的に行うことのできる機構を組
み込み、クロックツリー構造の決定ステップまで戻って
の再実行や設計者の介入による時間と労力の消費を低減
することができ、タイミング制約違反解消の容易化に伴
うセルサイズの増大が生じなく、クロック遅延の増大も
抑制できるレイアウト設計システムおよびレイアウト設
計方法を提供することにある。
【0016】
【課題を解決するための手段】本発明のレイアウト設計
装置は、セルライブラリに登録された標準セルデータを
用いて回路情報ファイルに格納された回路接続情報に基
づき複数のレイアウトセルをタイミング/配置制約情報
ファイルに記載された制約情報を満たして配置し前記レ
イアウトセル間を配線し結果を出力するレイアウト設計
装置において、前記レイアウトセルを初期配置しクロッ
ク端子から前記レイアウトセルのうちのクロックが供給
されるレイアウトセルまでの経路内のクロックバッファ
セルの初期配置および配線を実行するセル配置実行部
と、前記レイアウトセルの初期配置後に配置制約のある
レイアウトセルに対して移動許可量を初期配置位置座標
および前記タイミング/配置制約情報ファイルの制約情
報から算出してセル属性として付与し前記クロックバッ
ファセルの配置および配線の実行後にタイミング検査で
クロックが供給されるレイアウトセルにタイミング制約
違反があると判定された場合に違反があると判定された
レイアウトセルに直接にクロックを供給する改善対象ク
ロックバッファセルの近隣のレイアウトセルを前記移動
許可量を越えない範囲で移動させタイミング制約違反を
解消する位置に前記改善対象クロックバッファセルの配
置を変更するスキュー改善実行部と、前記回路情報ファ
イルの回路情報に基づき前記レイアウトセル間の配線を
実行するセル間配線実行部とを備えている。
装置は、セルライブラリに登録された標準セルデータを
用いて回路情報ファイルに格納された回路接続情報に基
づき複数のレイアウトセルをタイミング/配置制約情報
ファイルに記載された制約情報を満たして配置し前記レ
イアウトセル間を配線し結果を出力するレイアウト設計
装置において、前記レイアウトセルを初期配置しクロッ
ク端子から前記レイアウトセルのうちのクロックが供給
されるレイアウトセルまでの経路内のクロックバッファ
セルの初期配置および配線を実行するセル配置実行部
と、前記レイアウトセルの初期配置後に配置制約のある
レイアウトセルに対して移動許可量を初期配置位置座標
および前記タイミング/配置制約情報ファイルの制約情
報から算出してセル属性として付与し前記クロックバッ
ファセルの配置および配線の実行後にタイミング検査で
クロックが供給されるレイアウトセルにタイミング制約
違反があると判定された場合に違反があると判定された
レイアウトセルに直接にクロックを供給する改善対象ク
ロックバッファセルの近隣のレイアウトセルを前記移動
許可量を越えない範囲で移動させタイミング制約違反を
解消する位置に前記改善対象クロックバッファセルの配
置を変更するスキュー改善実行部と、前記回路情報ファ
イルの回路情報に基づき前記レイアウトセル間の配線を
実行するセル間配線実行部とを備えている。
【0017】第2の発明のレイアウト設計方法は、セル
ライブラリに登録された標準セルデータを用いて回路情
報ファイルに格納された回路接続情報に基づき複数のレ
イアウトセルをタイミング/配置制約情報ファイルに記
載された制約情報を満たして配置し前記レイアウトセル
間を配線するレイアウト設計方法において、前記セルラ
イブラリに登録された前記標準セルデータを用いて前記
回路情報ファイルに格納された前記回路接続情報に基づ
き複数のレイアウトセルを前記タイミング/配置制約情
報ファイルに記載された前記制約情報を満たして初期配
置する第1のステップと、配置制約のあるレイアウトセ
ルそれぞれに対して移動許可量を初期配置位置座標およ
び前記制約情報から算出してセル属性として付与する第
2のステップと、カウンタを初期化するとともにクロッ
ク端子からクロックが供給されるレイアウトセルまでの
経路に負荷が略等しくなるように調整したクロックバッ
ファをツリー状に設けてクロックツリー構造のクロック
供給回路を生成する第3のステップと、前記制約情報に
抵触しない範囲で初期配置済の前記レイアウトセルの配
置を修正してクロックバッファセルを挿入配置し前記ク
ロックバッファセル間およびクロックツリー末端のクロ
ックバッファセルとクロックが供給される複数のクロッ
ク供給レイアウトセルとの間を配線する第4のステップ
と、複数の前記クロック供給レイアウトセルのそれぞれ
についてクロック端子から前記クロック供給レイアウト
セルまでのクロック遅延値およびクロックスキュー値を
含むタイミング検査値を計算する第5のステップと、前
記タイミング検査値が前記制約情報を満足しないタイミ
ング制約違反があるか否かを判定し前記タイミング制約
違反があったときには次のステップに進む第6のステッ
プと、前記カウンタのカウント値を1だけインクリメン
トする第7のステップと、前記カウンタのカウント値が
所定のカウント値以下であるかを判定し前記所定のカウ
ント値以下であるときには次のステップに進み前記カウ
ンタのカウント値が前記所定のカウント値よりも大きい
ときには前記第3のステップに戻る第8のステップと、
タイミング制約違反があると判定されたクロック供給レ
イアウトセルに直接にクロックを供給する改善対象クロ
ックバッファセルの理想配置位置および該理想配置位置
周辺に配置された複数の移動候補レイアウトセルのセル
移動制限順位を前記セル属性情報ファイルに格納された
セル属性に基づき設定する第9のステップと、前記セル
移動制限順位を参照して前記移動候補レイアウトセルの
うち順位が低位のものから順次前記移動許可量を越えな
い範囲内で移動させ前記改善対象クロックバッファセル
の配置が前記理想配置位置に近づくように配置を変更し
配線を修正した後に前記第5のステップに戻る第10の
ステップと、前記第6のステップでタイミング制約違反
がないと判定されたときに前記レイアウトセル間の配線
を実行し結果を出力して処理を終了する第11のステッ
プとを有している。
ライブラリに登録された標準セルデータを用いて回路情
報ファイルに格納された回路接続情報に基づき複数のレ
イアウトセルをタイミング/配置制約情報ファイルに記
載された制約情報を満たして配置し前記レイアウトセル
間を配線するレイアウト設計方法において、前記セルラ
イブラリに登録された前記標準セルデータを用いて前記
回路情報ファイルに格納された前記回路接続情報に基づ
き複数のレイアウトセルを前記タイミング/配置制約情
報ファイルに記載された前記制約情報を満たして初期配
置する第1のステップと、配置制約のあるレイアウトセ
ルそれぞれに対して移動許可量を初期配置位置座標およ
び前記制約情報から算出してセル属性として付与する第
2のステップと、カウンタを初期化するとともにクロッ
ク端子からクロックが供給されるレイアウトセルまでの
経路に負荷が略等しくなるように調整したクロックバッ
ファをツリー状に設けてクロックツリー構造のクロック
供給回路を生成する第3のステップと、前記制約情報に
抵触しない範囲で初期配置済の前記レイアウトセルの配
置を修正してクロックバッファセルを挿入配置し前記ク
ロックバッファセル間およびクロックツリー末端のクロ
ックバッファセルとクロックが供給される複数のクロッ
ク供給レイアウトセルとの間を配線する第4のステップ
と、複数の前記クロック供給レイアウトセルのそれぞれ
についてクロック端子から前記クロック供給レイアウト
セルまでのクロック遅延値およびクロックスキュー値を
含むタイミング検査値を計算する第5のステップと、前
記タイミング検査値が前記制約情報を満足しないタイミ
ング制約違反があるか否かを判定し前記タイミング制約
違反があったときには次のステップに進む第6のステッ
プと、前記カウンタのカウント値を1だけインクリメン
トする第7のステップと、前記カウンタのカウント値が
所定のカウント値以下であるかを判定し前記所定のカウ
ント値以下であるときには次のステップに進み前記カウ
ンタのカウント値が前記所定のカウント値よりも大きい
ときには前記第3のステップに戻る第8のステップと、
タイミング制約違反があると判定されたクロック供給レ
イアウトセルに直接にクロックを供給する改善対象クロ
ックバッファセルの理想配置位置および該理想配置位置
周辺に配置された複数の移動候補レイアウトセルのセル
移動制限順位を前記セル属性情報ファイルに格納された
セル属性に基づき設定する第9のステップと、前記セル
移動制限順位を参照して前記移動候補レイアウトセルの
うち順位が低位のものから順次前記移動許可量を越えな
い範囲内で移動させ前記改善対象クロックバッファセル
の配置が前記理想配置位置に近づくように配置を変更し
配線を修正した後に前記第5のステップに戻る第10の
ステップと、前記第6のステップでタイミング制約違反
がないと判定されたときに前記レイアウトセル間の配線
を実行し結果を出力して処理を終了する第11のステッ
プとを有している。
【0018】第3の発明のレイアウト設計方法は、第2
の発明の第10のステップ以降を、前記セル移動制限順
位を参照して前記移動候補レイアウトセルのうち順位が
低位のものから順次前記移動許可量を越えない範囲内で
移動させ前記改善対象クロックバッファセルの配置が前
記理想配置位置に近づくように配置を変更し配線を修正
する第10のステップと、配置位置が変更された前記改
善対象クロックバッファセルからクロックを供給する複
数のレイアウトセルまでのそれぞれのクロック配線のう
ち最長の配線と最短の配線との配線長比が所定の比較値
よりも大であるか否かを判定し前記所定の比較値よりも
大であったときに次のステップへ進み前記所定の比較値
と等しいかこれより小さいときには前記第5のステップ
へ戻る第11のステップと、前記セル移動制限順位を参
照して前記移動許可量を越えない範囲内で前記移動候補
レイアウトセルを移動させて配線経路を変更する第12
のステップと、前記第6のステップでタイミング制約違
反がないと判定されたときに前記レイアウトセル間の配
線を実行し結果を出力して処理を終了する第13のステ
ップに置き換えたものである。
の発明の第10のステップ以降を、前記セル移動制限順
位を参照して前記移動候補レイアウトセルのうち順位が
低位のものから順次前記移動許可量を越えない範囲内で
移動させ前記改善対象クロックバッファセルの配置が前
記理想配置位置に近づくように配置を変更し配線を修正
する第10のステップと、配置位置が変更された前記改
善対象クロックバッファセルからクロックを供給する複
数のレイアウトセルまでのそれぞれのクロック配線のう
ち最長の配線と最短の配線との配線長比が所定の比較値
よりも大であるか否かを判定し前記所定の比較値よりも
大であったときに次のステップへ進み前記所定の比較値
と等しいかこれより小さいときには前記第5のステップ
へ戻る第11のステップと、前記セル移動制限順位を参
照して前記移動許可量を越えない範囲内で前記移動候補
レイアウトセルを移動させて配線経路を変更する第12
のステップと、前記第6のステップでタイミング制約違
反がないと判定されたときに前記レイアウトセル間の配
線を実行し結果を出力して処理を終了する第13のステ
ップに置き換えたものである。
【0019】
【発明の実施の形態】以下、本発明の一実施の形態につ
いて図面を参照して詳細に説明する。図1は、本発明の
レイアウト設計装置を含むレイアウト設計システムの構
成図である。
いて図面を参照して詳細に説明する。図1は、本発明の
レイアウト設計装置を含むレイアウト設計システムの構
成図である。
【0020】レイアウト設計システムは、レイアウト設
計装置100と、レイアウト対象の集積回路の回路接続
情報が格納された回路情報ファイル101と、基本回路
の標準セルデータが登録されたセルライブラリ102
と、論理回路設計時に定められた動作タイミング制限や
接続配線長制限などの制約情報が登録されたタイミング
/配置制約情報ファイルと、レイアウト設計装置100
により配置されたレイアウトセルに付与されたセル属性
を格納するセル属性情報ファイル104と、レイアウト
設計装置100により実行されたクロック系の配置配線
結果に基づいて集積回路のクロック端子からクロックが
供給されるクロック供給レイアウトセルまでのクロック
遅延、クロックスキュー等のタイミング計算を行うタイ
ミング計算装置105と、レイアウト設計装置100か
らの出力データを格納する出力データファイル106と
を有している。
計装置100と、レイアウト対象の集積回路の回路接続
情報が格納された回路情報ファイル101と、基本回路
の標準セルデータが登録されたセルライブラリ102
と、論理回路設計時に定められた動作タイミング制限や
接続配線長制限などの制約情報が登録されたタイミング
/配置制約情報ファイルと、レイアウト設計装置100
により配置されたレイアウトセルに付与されたセル属性
を格納するセル属性情報ファイル104と、レイアウト
設計装置100により実行されたクロック系の配置配線
結果に基づいて集積回路のクロック端子からクロックが
供給されるクロック供給レイアウトセルまでのクロック
遅延、クロックスキュー等のタイミング計算を行うタイ
ミング計算装置105と、レイアウト設計装置100か
らの出力データを格納する出力データファイル106と
を有している。
【0021】レイアウト設計装置100は、セル配置実
行部111とスキュー改善実行部112とセル間配線実
行部113とを備えている。
行部111とスキュー改善実行部112とセル間配線実
行部113とを備えている。
【0022】セル配置実行部111は、レイアウトセル
の初期配置を実行し、また、クロック端子からレイアウ
トセルのうちのクロック供給レイアウトセルまでの経路
内のクロックバッファセルの初期配置および配線を実行
する。
の初期配置を実行し、また、クロック端子からレイアウ
トセルのうちのクロック供給レイアウトセルまでの経路
内のクロックバッファセルの初期配置および配線を実行
する。
【0023】セル配置実行部111は、さらに詳細に
は、レイアウトセル初期配置手段121とクロックツリ
ー構造決定手段122とクロックバッファセル配置配線
手段123とを含んでいる。
は、レイアウトセル初期配置手段121とクロックツリ
ー構造決定手段122とクロックバッファセル配置配線
手段123とを含んでいる。
【0024】レイアウトセル初期配置手段121は、セ
ルライブラリ102に登録された標準セルデータを用い
て、回路情報ファイル101に格納された回路接続情報
に基づいて、複数のレイアウトセルをタイミング/配置
制約情報ファイル103に記載された制約情報を満たす
ように初期配置する。
ルライブラリ102に登録された標準セルデータを用い
て、回路情報ファイル101に格納された回路接続情報
に基づいて、複数のレイアウトセルをタイミング/配置
制約情報ファイル103に記載された制約情報を満たす
ように初期配置する。
【0025】クロックツリー構造決定手段122は、従
来例と同様に、クロック端子からクロック供給レイアウ
トセルまでの経路に負荷が略等しくなるように調整した
クロックバッファをツリー状に設けて図11のクロック
ツリー800を生成する。
来例と同様に、クロック端子からクロック供給レイアウ
トセルまでの経路に負荷が略等しくなるように調整した
クロックバッファをツリー状に設けて図11のクロック
ツリー800を生成する。
【0026】クロックバッファセル配置配線手段123
は、タイミング/配置制約情報ファイル103に記載さ
れた制約情報に抵触しない範囲で初期配置済のレイアウ
トセルの配置を修正してクロックバッファセルを挿入配
置し、クロックバッファセル間およびクロックツリー末
端のクロックバッファセルとクロックが供給される複数
のレイアウトセルとの間を配線する。クロックバッファ
セル配置配線手段123によるクロックバッファセルの
配置配線の処理手順は図12(a)〜(c)にクロック
バッファの配置処理の従来例として示した処理手順と同
様である。
は、タイミング/配置制約情報ファイル103に記載さ
れた制約情報に抵触しない範囲で初期配置済のレイアウ
トセルの配置を修正してクロックバッファセルを挿入配
置し、クロックバッファセル間およびクロックツリー末
端のクロックバッファセルとクロックが供給される複数
のレイアウトセルとの間を配線する。クロックバッファ
セル配置配線手段123によるクロックバッファセルの
配置配線の処理手順は図12(a)〜(c)にクロック
バッファの配置処理の従来例として示した処理手順と同
様である。
【0027】スキュー改善実行部112は、セル配置実
行部111によるレイアウトセルの初期配置後に、配置
制約のあるレイアウトセルのそれぞれに対して初期配置
位置座標およびタイミング/配置制約情報ファイル10
3の制約情報を参照して移動許可量を算出し、セル属性
として付与してセル属性情報ファイル104に格納する
とともに、セル配置実行部111によるクロックバッフ
ァセルの配置および配線の実行後にタイミング検査でク
ロック供給レイアウトセルにタイミング制約違反がある
と判定された場合に、違反があると判定されたクロック
供給レイアウトセルに直接にクロックを供給するクロッ
クバッファセルである改善対象クロックバッファセルの
近隣のレイアウトセルをそれぞれのセル属性として付与
された移動許可量を越えない範囲で移動させることによ
り、タイミング制約違反を解消する位置に改善対象クロ
ックバッファセルの配置を変更する。
行部111によるレイアウトセルの初期配置後に、配置
制約のあるレイアウトセルのそれぞれに対して初期配置
位置座標およびタイミング/配置制約情報ファイル10
3の制約情報を参照して移動許可量を算出し、セル属性
として付与してセル属性情報ファイル104に格納する
とともに、セル配置実行部111によるクロックバッフ
ァセルの配置および配線の実行後にタイミング検査でク
ロック供給レイアウトセルにタイミング制約違反がある
と判定された場合に、違反があると判定されたクロック
供給レイアウトセルに直接にクロックを供給するクロッ
クバッファセルである改善対象クロックバッファセルの
近隣のレイアウトセルをそれぞれのセル属性として付与
された移動許可量を越えない範囲で移動させることによ
り、タイミング制約違反を解消する位置に改善対象クロ
ックバッファセルの配置を変更する。
【0028】スキュー改善実行部112は、さらに詳細
には、移動許可量抽出手段124とセル移動制限順位設
定手段125と配置改善手段126と次処理判定手段1
28とカウンタ127とを含んでいる。
には、移動許可量抽出手段124とセル移動制限順位設
定手段125と配置改善手段126と次処理判定手段1
28とカウンタ127とを含んでいる。
【0029】移動許可量抽出手段124は、レイアウト
セルの初期配置後に配置制約のあるレイアウトセルそれ
ぞれに対して移動許可量を初期配置位置座標およびタイ
ミング/配置制約情報ファイル103の制約情報から算
出してセル属性として付与し、セル属性情報ファイル1
04に格納する。
セルの初期配置後に配置制約のあるレイアウトセルそれ
ぞれに対して移動許可量を初期配置位置座標およびタイ
ミング/配置制約情報ファイル103の制約情報から算
出してセル属性として付与し、セル属性情報ファイル1
04に格納する。
【0030】セル移動制限順位設定手段125は、クロ
ックバッファセルの配置および配線の実行後にタイミン
グ検査でクロックが供給されるレイアウトセルにタイミ
ング制約違反があると判定された場合に、違反があると
判定されたレイアウトセルにクロックを直接に供給する
改善対象クロックバッファセルの理想配置位置およびそ
の周辺に配置された複数の移動候補レイアウトセルのセ
ル移動制限順位をセル属性情報ファイル104に格納さ
れたセル属性に基づき設定する。
ックバッファセルの配置および配線の実行後にタイミン
グ検査でクロックが供給されるレイアウトセルにタイミ
ング制約違反があると判定された場合に、違反があると
判定されたレイアウトセルにクロックを直接に供給する
改善対象クロックバッファセルの理想配置位置およびそ
の周辺に配置された複数の移動候補レイアウトセルのセ
ル移動制限順位をセル属性情報ファイル104に格納さ
れたセル属性に基づき設定する。
【0031】配置改善手段126は、移動候補レイアウ
トセルのセル移動制限順位を参照して、セル移動制限順
位が低位のものから順次に移動許可量を越えない範囲内
で移動させ、改善対象クロックバッファセルの配置が理
想配置位置に近づくように配置を変更し配線を修正す
る。
トセルのセル移動制限順位を参照して、セル移動制限順
位が低位のものから順次に移動許可量を越えない範囲内
で移動させ、改善対象クロックバッファセルの配置が理
想配置位置に近づくように配置を変更し配線を修正す
る。
【0032】次処理判定手段128は、セル配置実行部
111によるクロックバッファセルの初期配置配線後ま
たは配置改善手段による配置改善後のタイミング検査に
おいてタイミング制約違反が検出されたか否かを判定
し、タイミング制約違反が無いと判定したときにはセル
間配線実行部113にレイアウトセル間配線の実行を指
示し、タイミング制約違反があると判定したときにはタ
イミング制約違反の回数Cが所定の回数値CD以下であ
るかを判定し、回数値CD以下であるときには配置改善
手段126に配置改善の実行を指示し、回数値CDを越
えたときにはセル配置実行部111によるクロックバッ
ファセルの初期配置から再実行することを指示する。
111によるクロックバッファセルの初期配置配線後ま
たは配置改善手段による配置改善後のタイミング検査に
おいてタイミング制約違反が検出されたか否かを判定
し、タイミング制約違反が無いと判定したときにはセル
間配線実行部113にレイアウトセル間配線の実行を指
示し、タイミング制約違反があると判定したときにはタ
イミング制約違反の回数Cが所定の回数値CD以下であ
るかを判定し、回数値CD以下であるときには配置改善
手段126に配置改善の実行を指示し、回数値CDを越
えたときにはセル配置実行部111によるクロックバッ
ファセルの初期配置から再実行することを指示する。
【0033】カウンタ127は、タイミング制約違反の
回数Cを計測する。
回数Cを計測する。
【0034】セル間配線実行部113は、レイアウトセ
ルの配置およびクロックバッファのの配置配線結果にタ
イミング制約違反がないことを確認した後に、回路情報
ファイル101の回路接続情報に基づきレイアウトセル
間の配線を実行する。セル間配線実行部113は、配置
が確定したレイアウトセル間の配線を回路接続情報に基
づいて実行するレイアウトセル間配線手段129を含
む。
ルの配置およびクロックバッファのの配置配線結果にタ
イミング制約違反がないことを確認した後に、回路情報
ファイル101の回路接続情報に基づきレイアウトセル
間の配線を実行する。セル間配線実行部113は、配置
が確定したレイアウトセル間の配線を回路接続情報に基
づいて実行するレイアウトセル間配線手段129を含
む。
【0035】図2は、セル属性情報ファイル104に格
納したセル属性テーブルの図である。セル属性が付与さ
れたセル名のセルB、セルC、セルD等のそれぞれに対
応してX方向の移動許可量XP、Y方向の移動許可量Y
P、セル外形の原点の初期配置位置座標(XI,YI)
が格納されており、例えばセルCの移動許可量はXPc
=6,YPc=6であるので、セルCの移動可能範囲
は、初期配置位置座標(XIc,YIc)を中心にX軸
方向では(XIc−6,YIc)から(XIc+6,Y
Ic)であり、Y軸方向では(XIc,YIc−6)か
ら(XIc,YIc+6)となる。なお位置座標および
移動許可量は、例えば実寸表現、配置配線のグリッド単
位表現のいずれでもよい。
納したセル属性テーブルの図である。セル属性が付与さ
れたセル名のセルB、セルC、セルD等のそれぞれに対
応してX方向の移動許可量XP、Y方向の移動許可量Y
P、セル外形の原点の初期配置位置座標(XI,YI)
が格納されており、例えばセルCの移動許可量はXPc
=6,YPc=6であるので、セルCの移動可能範囲
は、初期配置位置座標(XIc,YIc)を中心にX軸
方向では(XIc−6,YIc)から(XIc+6,Y
Ic)であり、Y軸方向では(XIc,YIc−6)か
ら(XIc,YIc+6)となる。なお位置座標および
移動許可量は、例えば実寸表現、配置配線のグリッド単
位表現のいずれでもよい。
【0036】また、図2のように、移動許可量の他にレ
イアウトセルの負荷駆動能力が容易に変更可能であるか
を示す駆動能力変更可能フラグ、レイアウトセルがクリ
ティカルパスに属するかを示すクリティカルパスフラグ
等をセル属性としてセル属性情報フラグ104のセル属
性テーブルに格納しておき、セル移動制限順位設定手段
125でセル移動制限順位を決定する際の順位決定要素
として使用してもよい。
イアウトセルの負荷駆動能力が容易に変更可能であるか
を示す駆動能力変更可能フラグ、レイアウトセルがクリ
ティカルパスに属するかを示すクリティカルパスフラグ
等をセル属性としてセル属性情報フラグ104のセル属
性テーブルに格納しておき、セル移動制限順位設定手段
125でセル移動制限順位を決定する際の順位決定要素
として使用してもよい。
【0037】図3は、本発明の第1の実施の形態におけ
るレイアウト設計のフロー図である。以下、フロー図に
沿ってレイアウト設計方法を詳細に説明する。
るレイアウト設計のフロー図である。以下、フロー図に
沿ってレイアウト設計方法を詳細に説明する。
【0038】ステップ201では、レイアウトセル初期
配置手段121により、従来例の図10のステップ70
1と同様にして初期配置を実行する。
配置手段121により、従来例の図10のステップ70
1と同様にして初期配置を実行する。
【0039】ステップ202では、移動許可量抽出手段
124により、配置制約のあるレイアウトセル対して移
動許可量を算出しセル属性として付与し、セル属性情報
ファイル104に格納する。
124により、配置制約のあるレイアウトセル対して移
動許可量を算出しセル属性として付与し、セル属性情報
ファイル104に格納する。
【0040】ステップ203では、カウンタ127のカ
ウント値C=0として初期化する。
ウント値C=0として初期化する。
【0041】ステップ204では、クロックツリー構造
決定手段122により、図10のステップ703と同様
に、クロック端子からクロックが供給されるレイアウト
セルまでの経路に負荷が略等しくなるように調整したク
ロックバッファをツリー状に設けて図11のクロックツ
リー800を生成する。
決定手段122により、図10のステップ703と同様
に、クロック端子からクロックが供給されるレイアウト
セルまでの経路に負荷が略等しくなるように調整したク
ロックバッファをツリー状に設けて図11のクロックツ
リー800を生成する。
【0042】ステップ205では、クロックバッファセ
ル配置配線手段123により、図10のステップ703
と同様に、クロックバッファセルの理想配置位置を算出
して、タイミング/配置制約情報ファイル103の制約
情報に抵触しない範囲でレイアウトセルの配置を修正し
て理想配置位置に近い位置にクロックバッファセルを挿
入配置する。このステップでのレイアウトセルの配置修
正においては、セル属性としてセル移動許可量を付与さ
れたレイアウトセルの移動は行わないものとするので、
実質的には図12(a)〜(c)と同じである。
ル配置配線手段123により、図10のステップ703
と同様に、クロックバッファセルの理想配置位置を算出
して、タイミング/配置制約情報ファイル103の制約
情報に抵触しない範囲でレイアウトセルの配置を修正し
て理想配置位置に近い位置にクロックバッファセルを挿
入配置する。このステップでのレイアウトセルの配置修
正においては、セル属性としてセル移動許可量を付与さ
れたレイアウトセルの移動は行わないものとするので、
実質的には図12(a)〜(c)と同じである。
【0043】ステップ206では、クロックバッファセ
ル間およびクロックツリー末端のクロックバッファセル
とクロックが供給される複数のクロック供給レイアウト
セルとの間を配線する。
ル間およびクロックツリー末端のクロックバッファセル
とクロックが供給される複数のクロック供給レイアウト
セルとの間を配線する。
【0044】ステップ207では、タイミング計算装置
105により、図10のステップ706と同様に、複数
のクロック供給レイアウトセルのそれぞれについてクロ
ック端子からクロック供給レイアウトセルまでのクロッ
ク遅延値およびクロックスキュー値を含むタイミング検
査値を計算する。
105により、図10のステップ706と同様に、複数
のクロック供給レイアウトセルのそれぞれについてクロ
ック端子からクロック供給レイアウトセルまでのクロッ
ク遅延値およびクロックスキュー値を含むタイミング検
査値を計算する。
【0045】ステップ208では、算出したタイミング
検査値が制約情報を満足しないタイミング制約違反があ
るか否かを次処理判定手段128により判定し、タイミ
ング制約違反があるときには次のステップ209に進
み、タイミング制約違反がないときにはステップ213
に移る。
検査値が制約情報を満足しないタイミング制約違反があ
るか否かを次処理判定手段128により判定し、タイミ
ング制約違反があるときには次のステップ209に進
み、タイミング制約違反がないときにはステップ213
に移る。
【0046】ステップ209では、前ステップでタイミ
ング制約違反があると判定されたので、カウンタ127
のカウント値Cを1だけインクリメントする。
ング制約違反があると判定されたので、カウンタ127
のカウント値Cを1だけインクリメントする。
【0047】ステップ210では、カウンタ127のカ
ウント値Cが所定のカウント値CD以下であるかを次処
理判定手段128で判定し、所定のカウント値CD以下
であるときには次のステップ211に進み、カウンタ1
27のカウント値Cが所定のカウント値CDよりも大き
いときにはステップ203に戻る。
ウント値Cが所定のカウント値CD以下であるかを次処
理判定手段128で判定し、所定のカウント値CD以下
であるときには次のステップ211に進み、カウンタ1
27のカウント値Cが所定のカウント値CDよりも大き
いときにはステップ203に戻る。
【0048】ステップ211では、タイミング制約違反
があると判定されたクロック供給レイアウトセルに直接
にクロックを供給するクロックバッファセルを改善対象
クロックバッファセルと呼称するとして、セル移動制限
順位設定手段125により、改善対象クロックバッファ
セルの理想配置位置および理想配置位置周辺に配置され
た複数の移動候補レイアウトセルのセル移動制限順位を
セル属性情報ファイル104に格納されたセル属性に基
づき設定する。
があると判定されたクロック供給レイアウトセルに直接
にクロックを供給するクロックバッファセルを改善対象
クロックバッファセルと呼称するとして、セル移動制限
順位設定手段125により、改善対象クロックバッファ
セルの理想配置位置および理想配置位置周辺に配置され
た複数の移動候補レイアウトセルのセル移動制限順位を
セル属性情報ファイル104に格納されたセル属性に基
づき設定する。
【0049】図4(a),(b)は移動候補レイアウト
セルのセル移動制限順位テーブルの図である。レベル番
号Lが大きいほど移動許可量XP,YPが大きくなるよ
うに順位付けされ、各レベルとそれに属する移動候補レ
イアウトセルが対応してテーブル化される。移動許可量
XP,YPが同一値の移動候補レイアウトセルが多数あ
り、より細分化したレベル設定が望ましい場合には、駆
動能力変更可能フラグが0であるレイアウトセルすなわ
ち駆動能力を変更できないレイアウトセルを上位のレベ
ルとし、駆動能力変更可能フラグが1であるレイアウト
セルすなわち駆動能力の変更可能なレイアウトセルを下
位のレベルとすることにより細分化が可能となる。クリ
ティカルパスフラグについても同様に、フラグが1でク
リティカルパスに含まれるレイアウトセルを上位のレベ
ルとすることにより細分化が可能となる。
セルのセル移動制限順位テーブルの図である。レベル番
号Lが大きいほど移動許可量XP,YPが大きくなるよ
うに順位付けされ、各レベルとそれに属する移動候補レ
イアウトセルが対応してテーブル化される。移動許可量
XP,YPが同一値の移動候補レイアウトセルが多数あ
り、より細分化したレベル設定が望ましい場合には、駆
動能力変更可能フラグが0であるレイアウトセルすなわ
ち駆動能力を変更できないレイアウトセルを上位のレベ
ルとし、駆動能力変更可能フラグが1であるレイアウト
セルすなわち駆動能力の変更可能なレイアウトセルを下
位のレベルとすることにより細分化が可能となる。クリ
ティカルパスフラグについても同様に、フラグが1でク
リティカルパスに含まれるレイアウトセルを上位のレベ
ルとすることにより細分化が可能となる。
【0050】次に、ステップ212に進み、配置改善手
段126により、セル移動制限順位を参照して移動候補
レイアウトセルのうち順位が低位のものから順次に移動
許可量を越えない範囲内で移動させ、改善対象クロック
バッファセルの配置が理想配置位置に近づくように配置
を変更し、配線を修正した後にステップ207に戻る。
段126により、セル移動制限順位を参照して移動候補
レイアウトセルのうち順位が低位のものから順次に移動
許可量を越えない範囲内で移動させ、改善対象クロック
バッファセルの配置が理想配置位置に近づくように配置
を変更し、配線を修正した後にステップ207に戻る。
【0051】ステップ208でタイミング制約違反がな
いと判定されたときには、ステップ213で、レイアウ
トセル間配線手段129によりレイアウトセル間の配線
を実行し、結果を出力データファイル106へ出力して
処理を終了する。
いと判定されたときには、ステップ213で、レイアウ
トセル間配線手段129によりレイアウトセル間の配線
を実行し、結果を出力データファイル106へ出力して
処理を終了する。
【0052】次に、ステップ207からステップ212
を経由してステップ207に戻るループを繰り返して配
置改善を実行する例について図面を参照して具体的に説
明する。図5(a),(b)および図6(a),(b)
は本発明の第1の実施の形態におけるクロックバッファ
の配置改善処理の具体例を示す図である。
を経由してステップ207に戻るループを繰り返して配
置改善を実行する例について図面を参照して具体的に説
明する。図5(a),(b)および図6(a),(b)
は本発明の第1の実施の形態におけるクロックバッファ
の配置改善処理の具体例を示す図である。
【0053】図3のステップ206が完了した段階のセ
ル配置が、図12(c)と同様であったとすると、ステ
ップ211でセル移動制限順位を図4のように決定して
移動候補セルのセル移動制限順位であるレベル1〜レベ
ル3が移動候補レイアウトセルに付加された段階の図5
(a)においては、図12(c)と同様に、FFセル3
02,303,304,305およびセルA311,セ
ルB312,セルC313,セルD314,セルE31
5を含む複数のレイアウトセルと、クロックバッファセ
ル301とが配置され、Y方向の第2層配線321とX
方向の第3層配線323とビア322とを用いて配線さ
れている。図中で、(L=1),(L=2),(L=
3)の表示はそのレイアウトセルのセル移動制限順位が
それぞれレベル1,レベル2,レベル3であることを示
す。
ル配置が、図12(c)と同様であったとすると、ステ
ップ211でセル移動制限順位を図4のように決定して
移動候補セルのセル移動制限順位であるレベル1〜レベ
ル3が移動候補レイアウトセルに付加された段階の図5
(a)においては、図12(c)と同様に、FFセル3
02,303,304,305およびセルA311,セ
ルB312,セルC313,セルD314,セルE31
5を含む複数のレイアウトセルと、クロックバッファセ
ル301とが配置され、Y方向の第2層配線321とX
方向の第3層配線323とビア322とを用いて配線さ
れている。図中で、(L=1),(L=2),(L=
3)の表示はそのレイアウトセルのセル移動制限順位が
それぞれレベル1,レベル2,レベル3であることを示
す。
【0054】クロックバッファセルの配置改善を行うス
テップ212内の処理では、まず、図5(b)のように
クロックバッファセル301を理想配置位置に戻して仮
配置する。このときに、セルA311をクロックバッフ
ァセル311が配置されていたスペースを埋めるように
一旦移動させる。
テップ212内の処理では、まず、図5(b)のように
クロックバッファセル301を理想配置位置に戻して仮
配置する。このときに、セルA311をクロックバッフ
ァセル311が配置されていたスペースを埋めるように
一旦移動させる。
【0055】次に、セル移動制限順位の最も低いレベル
3(L=3)の移動候補レイアウトセルのみを移動対象
として、クロックバッファセル301の配置改善を図
る。説明の簡単化のためにすべてのセルのX方向のセル
幅が5単位であるとすれば、レベル3のレイアウトセル
は、図4によればX方向の移動許可量XP=30単位で
あるのでX方向に5セル分まで移動でき、図6(a)の
ように、クロックバッファセル301を、レベル2のセ
ルC313と1セル分移動したレベル3のセルD314
との間に配置することができる。この結果、クロックバ
ッファセル301からFFセル302,303,30
4,305へのそれぞれのクロック入力端までの配線長
の差違は、図5(a)に比較して改善される。
3(L=3)の移動候補レイアウトセルのみを移動対象
として、クロックバッファセル301の配置改善を図
る。説明の簡単化のためにすべてのセルのX方向のセル
幅が5単位であるとすれば、レベル3のレイアウトセル
は、図4によればX方向の移動許可量XP=30単位で
あるのでX方向に5セル分まで移動でき、図6(a)の
ように、クロックバッファセル301を、レベル2のセ
ルC313と1セル分移動したレベル3のセルD314
との間に配置することができる。この結果、クロックバ
ッファセル301からFFセル302,303,30
4,305へのそれぞれのクロック入力端までの配線長
の差違は、図5(a)に比較して改善される。
【0056】図6(a)の改善が行われた後に再度ステ
ップ207でタイミング計算をやり直して修正したタイ
ミング検査値を用いても、ステップ208でタイミング
制約違反と判定されたときには、配置改善のステップ2
12では、一旦図5(b)の状態の戻した後に、移動対
象のセルとしてレベル3の移動候補レイアウトセルにレ
ベル2の移動候補レイアウトセルを加えて配置改善す
る。レベル2の移動候補セルの移動許可量は6単位で、
X方向に1セル分移動可能であるので、図6(b)のよ
うに、クロックバッファセル301をレベル1のセルB
312とX方向に1セル分移動させたレベル2のセルC
313の間の理想配置位置に最も近い位置に配置するこ
とができる。クロックバッファセル301からFFセル
302,303,304,305のそれぞれまで等長に
近くかつ最短に配線できるのでクロックスキューを低減
でき、またクロック遅延をも低減でき、タイミング制約
違反を解消することが可能となる。
ップ207でタイミング計算をやり直して修正したタイ
ミング検査値を用いても、ステップ208でタイミング
制約違反と判定されたときには、配置改善のステップ2
12では、一旦図5(b)の状態の戻した後に、移動対
象のセルとしてレベル3の移動候補レイアウトセルにレ
ベル2の移動候補レイアウトセルを加えて配置改善す
る。レベル2の移動候補セルの移動許可量は6単位で、
X方向に1セル分移動可能であるので、図6(b)のよ
うに、クロックバッファセル301をレベル1のセルB
312とX方向に1セル分移動させたレベル2のセルC
313の間の理想配置位置に最も近い位置に配置するこ
とができる。クロックバッファセル301からFFセル
302,303,304,305のそれぞれまで等長に
近くかつ最短に配線できるのでクロックスキューを低減
でき、またクロック遅延をも低減でき、タイミング制約
違反を解消することが可能となる。
【0057】また、ループを通ってステップ212で配
置改善する度に、X方向の移動とY方向の移動とを交互
に実行するようにしてもよい。
置改善する度に、X方向の移動とY方向の移動とを交互
に実行するようにしてもよい。
【0058】次に、図1のレイアウト設計装置100ま
たは図3のレイアウト設計方法によりクロックバッファ
セルが理想配置位置に近くに配置できたが、周囲にセル
上通過配線が禁止されたレイアウトセルが配置されてい
るために迂回して配線しなければならず、クロックスキ
ューおよびクロック遅延が低減できないときに有効な第
2の実施の形態について図面を参照して説明する。
たは図3のレイアウト設計方法によりクロックバッファ
セルが理想配置位置に近くに配置できたが、周囲にセル
上通過配線が禁止されたレイアウトセルが配置されてい
るために迂回して配線しなければならず、クロックスキ
ューおよびクロック遅延が低減できないときに有効な第
2の実施の形態について図面を参照して説明する。
【0059】図7は、第2の実施の形態のレイアウト設
計装置を含むレイアウト設計システムの構成図である。
図7のレイアウト設計システムでは、レイアウト設計装
置100aが、スキュー改善実行部112に換えて配線
改善手段130を付加したスキュー改善実行部112a
を備える点のみが異なっている。
計装置を含むレイアウト設計システムの構成図である。
図7のレイアウト設計システムでは、レイアウト設計装
置100aが、スキュー改善実行部112に換えて配線
改善手段130を付加したスキュー改善実行部112a
を備える点のみが異なっている。
【0060】配線改善手段130は、配置改善手段12
6により配置位置が変更された改善対象クロックバッフ
ァセルから複数のクロック供給レイアウトセルまでのそ
れぞれのクロック配線のうち最長の配線と最短の配線と
の配線長比Rが所定の比較値RCよりも大であるときに
セル移動制限順位を参照して移動許可量を越えない範囲
内で移動候補レイアウトセルを移動させて配線経路を変
更する。
6により配置位置が変更された改善対象クロックバッフ
ァセルから複数のクロック供給レイアウトセルまでのそ
れぞれのクロック配線のうち最長の配線と最短の配線と
の配線長比Rが所定の比較値RCよりも大であるときに
セル移動制限順位を参照して移動許可量を越えない範囲
内で移動候補レイアウトセルを移動させて配線経路を変
更する。
【0061】図8は、第2の実施の形態におけるレイア
ウト設計のフロー図である。図7のフロー図は、図3の
フロー図とは、ステップ212の次にステップ401と
ステップ402が付加されている点のみが異なる。
ウト設計のフロー図である。図7のフロー図は、図3の
フロー図とは、ステップ212の次にステップ401と
ステップ402が付加されている点のみが異なる。
【0062】ステップ401では、配置改善手段130
により、配置位置が変更された改善対象クロックバッフ
ァセルから複数のクロック供給レイアウトセルまでのそ
れぞれのクロック配線のうち最長の配線と最短の配線を
抽出し、配線長比R=((最長配線の配線長)/(最短
配線の配線長))が所定の比較値RCよりも大であるか
否かを判定する。配線長比Rが比較値RCよりも大であ
ったときに次のステップ402へ進み、比較値RCと等
しいかまたはRCよりも小さいときにはステップ207
へ戻る。
により、配置位置が変更された改善対象クロックバッフ
ァセルから複数のクロック供給レイアウトセルまでのそ
れぞれのクロック配線のうち最長の配線と最短の配線を
抽出し、配線長比R=((最長配線の配線長)/(最短
配線の配線長))が所定の比較値RCよりも大であるか
否かを判定する。配線長比Rが比較値RCよりも大であ
ったときに次のステップ402へ進み、比較値RCと等
しいかまたはRCよりも小さいときにはステップ207
へ戻る。
【0063】ステップ402では、配線改善手段130
により、セル移動制限順位を参照して移動許可量XP,
YPを越えない範囲内で移動候補レイアウトセルを移動
させ、クロックバッファセルからクロック供給レイアウ
トセルまでの配線経路を変更する。ステップ402の実
行後はステップ207へ戻る。
により、セル移動制限順位を参照して移動許可量XP,
YPを越えない範囲内で移動候補レイアウトセルを移動
させ、クロックバッファセルからクロック供給レイアウ
トセルまでの配線経路を変更する。ステップ402の実
行後はステップ207へ戻る。
【0064】次に、配線改善手段130による改善実行
例について具体的に説明する。図9(a),(b)は第
2の実施の形態による配線改善処理の具体例を示す図で
ある。
例について具体的に説明する。図9(a),(b)は第
2の実施の形態による配線改善処理の具体例を示す図で
ある。
【0065】図9(a)は、図6(b)の配置改善済の
図と対応するが、図9(a)では、クロックバッファセ
ル301からFFセル304,305へ至る配線経路上
にY方向の第2層配線321の通過が禁止されたセルG
512,セルH513,セルI514,セルJ515が
配置されているため、クロックバッファセル301から
FFセル304,305へ最短距離で配線することがで
きず、セルF511上を通過し迂回して配線することに
なる。この迂回配線の結果、最長の配線であるFFセル
305までの配線長と、最短の配線であるFFセル30
2までの配線長との配線長比が予め定めた配線長比RC
よりも大きいときには、等長に近くかつ最短で配線でき
る理想配線経路を仮設し、セル移動制限順位を参照して
移動候補レイアウトセルを移動させ、クロックバッファ
セルからクロック供給レイアウトセルまでの配線経路を
変更する。結果として図9(b)のようにレベル2のセ
ルI513をX方向に移動させてレベル1のセルG51
2との間に配線経路を新設して第2層配線521で接続
することにより、等長に近くかつ最短の配線を実現でき
るので、クロックスキューを低減でき、またクロック遅
延をも低減でき、タイミング制約違反を解消することが
可能となる。
図と対応するが、図9(a)では、クロックバッファセ
ル301からFFセル304,305へ至る配線経路上
にY方向の第2層配線321の通過が禁止されたセルG
512,セルH513,セルI514,セルJ515が
配置されているため、クロックバッファセル301から
FFセル304,305へ最短距離で配線することがで
きず、セルF511上を通過し迂回して配線することに
なる。この迂回配線の結果、最長の配線であるFFセル
305までの配線長と、最短の配線であるFFセル30
2までの配線長との配線長比が予め定めた配線長比RC
よりも大きいときには、等長に近くかつ最短で配線でき
る理想配線経路を仮設し、セル移動制限順位を参照して
移動候補レイアウトセルを移動させ、クロックバッファ
セルからクロック供給レイアウトセルまでの配線経路を
変更する。結果として図9(b)のようにレベル2のセ
ルI513をX方向に移動させてレベル1のセルG51
2との間に配線経路を新設して第2層配線521で接続
することにより、等長に近くかつ最短の配線を実現でき
るので、クロックスキューを低減でき、またクロック遅
延をも低減でき、タイミング制約違反を解消することが
可能となる。
【0066】
【発明の効果】以上のとおり、本発明は、タイミング制
約違反が発生した場合に、改善対象クロックバッファセ
ルおよび周辺のレイアウトセルを移動許可量の範囲内で
移動させて配置改善する機構を組み込んだので、クロッ
クスキュー、クロック遅延に起因する大多数のタイミン
グ制約違反を速やかに解消することが可能となり、従来
のようなクロックツリー構造の決定ステップまで戻って
の再実行や設計者の介入を殆どなくすことができるとい
う顕著な効果を有する。また、通常のセルを用いて、配
置、配線の変更によりタイミング制約違反の解消のを図
るので、セルサイズの増大もない。
約違反が発生した場合に、改善対象クロックバッファセ
ルおよび周辺のレイアウトセルを移動許可量の範囲内で
移動させて配置改善する機構を組み込んだので、クロッ
クスキュー、クロック遅延に起因する大多数のタイミン
グ制約違反を速やかに解消することが可能となり、従来
のようなクロックツリー構造の決定ステップまで戻って
の再実行や設計者の介入を殆どなくすことができるとい
う顕著な効果を有する。また、通常のセルを用いて、配
置、配線の変更によりタイミング制約違反の解消のを図
るので、セルサイズの増大もない。
【0067】また、第2実施形態を適用することによ
り、セル上通過配線が禁止されたレイアウトセルのため
に通常ならば迂回配線しなければならないときでも、配
線を改善する機構を組み込んだことにより、配線経路を
新設して等長に近くかつ最短の配線を実現できるので、
さらに効果的にタイミング制約違反を解消することがで
きる。
り、セル上通過配線が禁止されたレイアウトセルのため
に通常ならば迂回配線しなければならないときでも、配
線を改善する機構を組み込んだことにより、配線経路を
新設して等長に近くかつ最短の配線を実現できるので、
さらに効果的にタイミング制約違反を解消することがで
きる。
【図1】本発明のレイアウト設計装置を含むレイアウト
設計システムの構成図である。
設計システムの構成図である。
【図2】セル属性情報ファイルに格納したセル属性テー
ブルの図である。
ブルの図である。
【図3】本発明の第1の実施の形態におけるレイアウト
設計のフロー図である。
設計のフロー図である。
【図4】(a),(b)は、移動候補レイアウトセルの
セル移動制限順位テーブルの図である。
セル移動制限順位テーブルの図である。
【図5】(a),(b)は、本発明の第1の実施の形態
におけるクロックバッファの配置改善処理の具体例を示
す図である。
におけるクロックバッファの配置改善処理の具体例を示
す図である。
【図6】(a),(b)は、本発明の第1の実施の形態
におけるクロックバッファの配置改善処理の具体例を示
す図である。
におけるクロックバッファの配置改善処理の具体例を示
す図である。
【図7】第2の実施の形態のレイアウト設計装置を含む
レイアウト設計システムの構成図である。
レイアウト設計システムの構成図である。
【図8】第2の実施の形態におけるレイアウト設計のフ
ロー図である。
ロー図である。
【図9】(a),(b)は第2の実施の形態による配線
改善処理の具体例を示す図である。
改善処理の具体例を示す図である。
【図10】従来のレイアウト設計のフロー図である。
【図11】クロックツリー構造の模式図である。
【図12】(a)〜(c)は、従来のレイアウト設計方
法におけるクロックバッファの配置処理の具体例を示す
図である。
法におけるクロックバッファの配置処理の具体例を示す
図である。
100,100a レイアウト設計装置 101 回路情報ファイル 102 セルライブラリ 103 タイミング/配置制約情報ファイル 104 セル属性情報ファイル 105 タイミング計算装置 106 出力データファイル 111 セル配置実行部 112,112a スキュー改善実行部 113 セル間配線実行部 121 レイアウトセル初期配置手段 122 クロックツリー構造決定手段 123 クロックバッファセル配置配線手段 124 移動許可量抽出手段 125 セル移動制限順位設定手段 126 配置改善手段 127 カウンタ 128 次処理判定手段 129 レイアウトセル間配線手段 130 配線改善手段 301,901 クロックバッファセル 302,303,304,305,902,903,9
04,905 FFセル 311,312,313,314,315,511,5
12,513,514,515,911,912,91
3,914,915 セル 321,521,921 第2層配線 322,922 ビア 323,923 第3層配線 800 クロックツリー 801 クロックバッファ 802,803,804,805 フリップフロップ
(FF)
04,905 FFセル 311,312,313,314,315,511,5
12,513,514,515,911,912,91
3,914,915 セル 321,521,921 第2層配線 322,922 ビア 323,923 第3層配線 800 クロックツリー 801 クロックバッファ 802,803,804,805 フリップフロップ
(FF)
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA05 BA06 DA02 JA03 KA06 5F064 AA04 AA20 BB07 BB19 DD02 DD03 EE02 EE03 EE08 EE47 HH03 HH06 HH12
Claims (6)
- 【請求項1】 セルライブラリに登録された標準セルデ
ータを用いて回路情報ファイルに格納された回路接続情
報に基づき複数のレイアウトセルをタイミング/配置制
約情報ファイルに記載された制約情報を満たして配置し
前記レイアウトセル間を配線し結果を出力するレイアウ
ト設計装置において、 前記レイアウトセルを初期配置しクロック端子から前記
レイアウトセルのうちのクロックが供給されるレイアウ
トセルまでの経路内のクロックバッファセルの初期配置
および配線を実行するセル配置実行部と、 前記レイアウトセルの初期配置後に配置制約のあるレイ
アウトセルに対して移動許可量を初期配置位置座標およ
び前記タイミング/配置制約情報ファイルの制約情報か
ら算出してセル属性として付与し前記クロックバッファ
セルの配置および配線の実行後にタイミング検査でクロ
ックが供給されるレイアウトセルにタイミング制約違反
があると判定された場合に違反があると判定されたレイ
アウトセルに直接にクロックを供給する改善対象クロッ
クバッファセルの近隣のレイアウトセルを前記移動許可
量を越えない範囲で移動させタイミング制約違反を解消
する位置に前記改善対象クロックバッファセルの配置を
変更するスキュー改善実行部と、 前記回路情報ファイルの回路情報に基づき前記レイアウ
トセル間の配線を実行するセル間配線実行部とを備える
ことを特徴とするレイアウト設計装置。 - 【請求項2】 前記スキュー改善実行部が、 レイアウトセルの初期配置後に配置制約のあるレイアウ
トセルそれぞれに対して移動許可量を初期配置位置座標
およびタイミング/配置制約情報ファイルの制約情報か
ら算出してセル属性として付与する移動許可量抽出手段
と、 クロックバッファセルの配置および配線の実行後にタイ
ミング検査でクロックが供給されるレイアウトセルにタ
イミング制約違反があると判定された場合に違反がある
と判定されたレイアウトセルにクロックを直接に供給す
る改善対象クロックバッファセルの理想配置位置および
該理想配置位置周辺に配置された複数の移動候補レイア
ウトセルのセル移動制限順位を前記移動候補レイアウト
セルに付与されたセル属性に基づき設定するセル移動制
限順位設定手段と、 前記セル移動制限順位を参照して前記移動候補レイアウ
トセルのうち順位が低位のものから順次前記移動許可量
を越えない範囲内で移動させ前記改善対象クロックバッ
ファセルの配置が前記理想配置位置に近づくように配置
を変更し配線を修正する配置改善手段と、 セル配置実行部によるクロックバッファセルの初期配置
配線後または前記配置改善手段による配置改善後のタイ
ミング検査でタイミング制約違反が検出されたか否かを
判定しタイミング制約違反が無いと判定したときにはセ
ル間配線実行部にレイアウトセル間配線の実行を指示し
タイミング制約違反があると判定したときにはタイミン
グ制約違反の回数が所定の回数値以下であるかを判定し
前記所定の回数値以下であるときには前記配置改善手段
に配置改善の実行を指示し前記所定の回数値を越えたと
きにはセル配置実行部によるクロックバッファセルの初
期配置から再実行することを指示する次処理判定手段
と、 タイミング制約違反の回数を計測するカウンタとを有す
る請求項1記載のレイアウト設計装置。 - 【請求項3】 前記スキュー改善実行部が、 レイアウトセルの初期配置後に配置制約のあるレイアウ
トセルそれぞれに対して移動許可量を初期配置位置座標
およびタイミング/配置制約情報ファイルの制約情報か
ら算出してセル属性として付与する移動許可量抽出手段
と、 クロックバッファセルの配置および配線の実行後にタイ
ミング検査でクロックが供給されるレイアウトセルにタ
イミング制約違反があると判定された場合に違反がある
と判定されたレイアウトセルにクロックを直接に供給す
る改善対象クロックバッファセルの理想配置位置および
該理想配置位置周辺に配置された複数の移動候補レイア
ウトセルのセル移動制限順位を前記移動候補レイアウト
セルに付与されたセル属性に基づき設定するセル移動制
限順位設定手段と、 前記セル移動制限順位を参照して前記移動候補レイアウ
トセルのうち順位が低位のものから順次前記移動許可量
を越えない範囲内で移動させ前記改善対象クロックバッ
ファセルの配置が前記理想配置位置に近づくように配置
を変更し配線を修正する配置改善手段と、 前記配置改善手段により配置位置が変更された前記改善
対象クロックバッファセルからクロックを供給する複数
のレイアウトセルまでのそれぞれのクロック配線のうち
最長の配線と最短の配線との配線長比が所定の比較値よ
りも大であるときに前記セル移動制限順位を参照して前
記移動許可量を越えない範囲内で前記移動候補レイアウ
トセルを移動させて配線経路を変更する配線改善手段
と、 セル配置実行部によるクロックバッファセルの初期配置
配線後または前記配置改善手段による配置変更後または
前記配線改善手段による配線変更後のタイミング検査で
タイミング制約違反が検出されたか否かを判定しタイミ
ング制約違反が無いと判定したときにはセル間配線実行
部にレイアウトセル間配線の実行を指示しタイミング制
約違反があると判定したときにはタイミング制約違反の
回数が所定の回数値以下であるかを判定し前記所定の回
数値以下であるときには前記配置改善手段に配置改善の
実行を指示し前記所定の回数値を越えたときにはセル配
置実行部によるクロックバッファセルの初期配置から再
実行することを指示する次処理判定手段と、 タイミング制約違反の回数を計測するカウンタとを有す
る請求項1記載のレイアウト設計装置。 - 【請求項4】 前記セル配置実行部が、 セルライブラリに登録された標準セルデータを用いて回
路情報ファイルに格納された回路接続情報に基づき複数
のレイアウトセルをタイミング/配置制約情報ファイル
に記載された制約情報を満たして初期配置するレイアウ
トセル初期配置手段と、 クロック端子からクロックが供給されるレイアウトセル
までの経路に負荷が略等しくなるように調整したクロッ
クバッファをツリー状に設けてクロックツリー構造のク
ロック供給回路を生成するクロックツリー構造決定手段
と、 前記制約情報に抵触しない範囲で初期配置済の前記レイ
アウトセルの配置を修正してクロックバッファセルを挿
入配置し前記クロックバッファセル間およびクロックツ
リー末端のクロックバッファセルとクロックが供給され
る複数のレイアウトセルとの間を配線するクロックバッ
ファセル配置配線手段とを有する請求項1記載のレイア
ウト設計装置。 - 【請求項5】 セルライブラリに登録された標準セルデ
ータを用いて回路情報ファイルに格納された回路接続情
報に基づき複数のレイアウトセルをタイミング/配置制
約情報ファイルに記載された制約情報を満たして配置し
前記レイアウトセル間を配線するレイアウト設計方法に
おいて、 前記セルライブラリに登録された前記標準セルデータを
用いて前記回路情報ファイルに格納された前記回路接続
情報に基づき複数のレイアウトセルを前記タイミング/
配置制約情報ファイルに記載された前記制約情報を満た
して初期配置する第1のステップと、 配置制約のあるレイアウトセルそれぞれに対して移動許
可量を初期配置位置座標および前記制約情報から算出し
てセル属性として付与する第2のステップと、 カウンタを初期化するとともにクロック端子からクロッ
クが供給されるレイアウトセルまでの経路に負荷が略等
しくなるように調整したクロックバッファをツリー状に
設けてクロックツリー構造のクロック供給回路を生成す
る第3のステップと、 前記制約情報に抵触しない範囲で初期配置済の前記レイ
アウトセルの配置を修正してクロックバッファセルを挿
入配置し前記クロックバッファセル間およびクロックツ
リー末端のクロックバッファセルとクロックが供給され
る複数のクロック供給レイアウトセルとの間を配線する
第4のステップと、 複数の前記クロック供給レイアウトセルのそれぞれにつ
いてクロック端子から前記クロック供給レイアウトセル
までのクロック遅延値およびクロックスキュー値を含む
タイミング検査値を計算する第5のステップと、 前記タイミング検査値が前記制約情報を満足しないタイ
ミング制約違反があるか否かを判定し前記タイミング制
約違反があったときには次のステップに進む第6のステ
ップと、 前記カウンタのカウント値を1だけインクリメントする
第7のステップと、 前記カウンタのカウント値が所定のカウント値以下であ
るかを判定し前記所定のカウント値以下であるときには
次のステップに進み前記カウンタのカウント値が前記所
定のカウント値よりも大きいときには前記第3のステッ
プに戻る第8のステップと、 タイミング制約違反があると判定されたクロック供給レ
イアウトセルに直接にクロックを供給する改善対象クロ
ックバッファセルの理想配置位置および該理想配置位置
周辺に配置された複数の移動候補レイアウトセルのセル
移動制限順位を前記セル属性情報ファイルに格納された
セル属性に基づき設定する第9のステップと、 前記セル移動制限順位を参照して前記移動候補レイアウ
トセルのうち順位が低位のものから順次前記移動許可量
を越えない範囲内で移動させ前記改善対象クロックバッ
ファセルの配置が前記理想配置位置に近づくように配置
を変更し配線を修正した後に前記第5のステップに戻る
第10のステップと、 前記第6のステップでタイミング制約違反がないと判定
されたときに前記レイアウトセル間の配線を実行し結果
を出力して処理を終了する第11のステップとを有する
ことを特徴とするレイアウト設計方法。 - 【請求項6】 セルライブラリに登録された標準セルデ
ータを用いて回路情報ファイルに格納された回路接続情
報に基づき複数のレイアウトセルをタイミング/配置制
約情報ファイルに記載された制約情報を満たして配置し
前記レイアウトセル間を配線するレイアウト設計方法に
おいて、 前記セルライブラリに登録された前記標準セルデータを
用いて前記回路情報ファイルに格納された前記回路接続
情報に基づき複数のレイアウトセルを前記タイミング/
配置制約情報ファイルに記載された前記制約情報を満た
して初期配置する第1のステップと、 配置制約のあるレイアウトセルそれぞれに対して移動許
可量を初期配置位置座標および前記制約情報から算出し
てセル属性として付与する第2のステップと、 カウンタを初期化するとともにクロック端子からクロッ
クが供給されるレイアウトセルまでの経路に負荷が略等
しくなるように調整したクロックバッファをツリー状に
設けてクロックツリー構造のクロック供給回路を生成す
る第3のステップと、 前記制約情報に抵触しない範囲で初期配置済の前記レイ
アウトセルの配置を修正してクロックバッファセルを挿
入配置し前記クロックバッファセル間およびクロックツ
リー末端のクロックバッファセルとクロックが供給され
る複数のクロック供給レイアウトセルとの間を配線する
第4のステップと、 複数の前記クロック供給レイアウトセルのそれぞれにつ
いてクロック端子から前記クロック供給レイアウトセル
までのクロック遅延値およびクロックスキュー値を含む
タイミング検査値を計算する第5のステップと、 前記タイミング検査値が前記制約情報を満足しないタイ
ミング制約違反があるか否かを判定し前記タイミング制
約違反があったときには次のステップに進む第6のステ
ップと、 前記カウンタのカウント値を1だけインクリメントする
第7のステップと、 前記カウンタのカウント値が所定のカウント値以下であ
るかを判定し前記所定のカウント値以下であるときには
次のステップに進み前記カウンタのカウント値が前記所
定のカウント値よりも大きいときには前記第3のステッ
プに戻る第8のステップと、 タイミング制約違反があると判定されたクロック供給レ
イアウトセルに直接にクロックを供給する改善対象クロ
ックバッファセルの理想配置位置および該理想配置位置
周辺に配置された複数の移動候補レイアウトセルのセル
移動制限順位を前記セル属性情報ファイルに格納された
セル属性に基づき設定する第9のステップと、 前記セル移動制限順位を参照して前記移動候補レイアウ
トセルのうち順位が低位のものから順次前記移動許可量
を越えない範囲内で移動させ前記改善対象クロックバッ
ファセルの配置が前記理想配置位置に近づくように配置
を変更し配線を修正する第10のステップと、 配置位置が変更された前記改善対象クロックバッファセ
ルからクロックを供給する複数のレイアウトセルまでの
それぞれのクロック配線のうち最長の配線と最短の配線
との配線長比が所定の比較値よりも大であるか否かを判
定し前記所定の比較値よりも大であったときに次のステ
ップへ進み前記所定の比較値と等しいかこれより小さい
ときには前記第5のステップへ戻る第11のステップ
と、 前記セル移動制限順位を参照して前記移動許可量を越え
ない範囲内で前記移動候補レイアウトセルを移動させて
配線経路を変更する第12のステップと、 前記第6のステップでタイミング制約違反がないと判定
されたときに前記レイアウトセル間の配線を実行し結果
を出力して処理を終了する第13のステップとを有する
ことを特徴とするレイアウト設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000076696A JP2001267429A (ja) | 2000-03-17 | 2000-03-17 | レイアウト設計装置およびレイアウト設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000076696A JP2001267429A (ja) | 2000-03-17 | 2000-03-17 | レイアウト設計装置およびレイアウト設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001267429A true JP2001267429A (ja) | 2001-09-28 |
Family
ID=18594397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000076696A Withdrawn JP2001267429A (ja) | 2000-03-17 | 2000-03-17 | レイアウト設計装置およびレイアウト設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001267429A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249492A (ja) * | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | 自動見積方法、装置、及びプログラム |
CN100401305C (zh) * | 2004-01-09 | 2008-07-09 | 松下电器产业株式会社 | 半导体集成电路的自动布局方法 |
JP2010050244A (ja) * | 2008-08-21 | 2010-03-04 | Nec Electronics Corp | 自動配置配線方法 |
WO2011096058A1 (ja) * | 2010-02-03 | 2011-08-11 | 富士通株式会社 | 回路設計方法、回路設計システム及びプログラム |
CN113065177A (zh) * | 2020-12-10 | 2021-07-02 | 恒生电子股份有限公司 | 用于有向无环流程图的布局方法、装置及电子设备 |
CN117151015A (zh) * | 2023-09-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
-
2000
- 2000-03-17 JP JP2000076696A patent/JP2001267429A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100401305C (zh) * | 2004-01-09 | 2008-07-09 | 松下电器产业株式会社 | 半导体集成电路的自动布局方法 |
JP2007249492A (ja) * | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | 自動見積方法、装置、及びプログラム |
US7512923B2 (en) | 2006-03-15 | 2009-03-31 | Fujitsu Microelectronics Limited | Automatic estimation method, apparatus, and recording medium |
JP2010050244A (ja) * | 2008-08-21 | 2010-03-04 | Nec Electronics Corp | 自動配置配線方法 |
WO2011096058A1 (ja) * | 2010-02-03 | 2011-08-11 | 富士通株式会社 | 回路設計方法、回路設計システム及びプログラム |
US8453077B2 (en) | 2010-02-03 | 2013-05-28 | Fujitsu Limited | Circuit designing method and circuit designing system |
JP5562359B2 (ja) * | 2010-02-03 | 2014-07-30 | 富士通株式会社 | 回路設計方法、回路設計システム及びプログラム |
CN113065177A (zh) * | 2020-12-10 | 2021-07-02 | 恒生电子股份有限公司 | 用于有向无环流程图的布局方法、装置及电子设备 |
CN117151015A (zh) * | 2023-09-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
CN117151015B (zh) * | 2023-09-15 | 2024-03-15 | 上海合芯数字科技有限公司 | 集成电路布局布线方法、装置、集成电路芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6496965B1 (en) | Automated design of parallel drive standard cells | |
US8966425B1 (en) | Clock tree generation and routing | |
US9852253B2 (en) | Automated layout for integrated circuits with nonstandard cells | |
US8458640B2 (en) | Routing using a dynamic grid | |
US7823113B1 (en) | Automatic integrated circuit routing using spines | |
US7992122B1 (en) | Method of placing and routing for power optimization and timing closure | |
US7795943B2 (en) | Integrated circuit device and layout design method therefor | |
TW200849051A (en) | System and method for sign-off timing closure of a VLSI chip | |
Papa et al. | Physical synthesis with clock-network optimization for large systems on chips | |
US7689964B2 (en) | System and method for routing connections | |
US6651232B1 (en) | Method and system for progressive clock tree or mesh construction concurrently with physical design | |
US11003821B1 (en) | Deterministic loop breaking in multi-mode multi-corner static timing analysis of integrated circuits | |
EP2529283A2 (en) | Zone-based leakage power optimization | |
EP1701279A1 (en) | Manufacturing a clock distribution network in an integrated circuit | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
JP2002110797A (ja) | クロック配線の設計方法 | |
US6601226B1 (en) | Tightloop method of timing driven placement | |
US7480886B2 (en) | VLSI timing optimization with interleaved buffer insertion and wire sizing stages | |
JP4969416B2 (ja) | 動作タイミング検証装置及びプログラム | |
JP2001267429A (ja) | レイアウト設計装置およびレイアウト設計方法 | |
JP4696988B2 (ja) | レイアウト設計装置、方法、及び、プログラム | |
US10540463B1 (en) | Placement of delay circuits for avoiding hold violations | |
US8468488B1 (en) | Methods of automatically placing and routing for timing improvement | |
US9177090B1 (en) | In-hierarchy circuit analysis and modification for circuit instances | |
JP3433025B2 (ja) | モジュール配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |