JP3589988B2 - Clock skew improvement method - Google Patents
Clock skew improvement method Download PDFInfo
- Publication number
- JP3589988B2 JP3589988B2 JP2001017544A JP2001017544A JP3589988B2 JP 3589988 B2 JP3589988 B2 JP 3589988B2 JP 2001017544 A JP2001017544 A JP 2001017544A JP 2001017544 A JP2001017544 A JP 2001017544A JP 3589988 B2 JP3589988 B2 JP 3589988B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- clock
- block
- pattern
- value
- 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
- 238000000034 method Methods 0.000 title claims description 45
- 230000006872 improvement Effects 0.000 title claims description 37
- 238000012545 processing Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 23
- 230000003071 parasitic effect Effects 0.000 claims description 19
- 238000012937 correction Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 14
- 239000002184 metal Substances 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、クロックスキューの改善方法に関し、特に、LSIチップをレイアウトしたのちのスキュー改善に適したクロックスキュー改善方法に関する。
【0002】
【従来の技術】
LSIチップのレイアウトにおいては、チップ内に散在するフリップフロップ(以下、F/Fと略記する)などの複数の順序回路間に供給されるクロック信号の位相ずれ(クロックスキュー)を低減するために、ルートバッファからF/Fまでのクロック信号線をツリー状に枝分かれさせて等長となるように配置配線するクロックツリーシンセシス(以下、CTSと略す)が広く使用されている。
【0003】
図11は、CTSを用いたレイアウト設計フロー図である。セル配置ステップ11では、LSIの回路接続情報に従って基本回路セルを配置する。CTS配線ステップ12では、メタル配線の単位長あたりの容量値および抵抗値の情報を参照し、ルートバッファと各F/Fとの間が等長となるように合わせ込んでクロック信号を配線する。信号系配線ステップ13では、回路接続情報に従ってクロック信号以外の信号の配線を実行し、クロックスキュー計算ステップ14で、ルートバッファからF/Fまでのクロック遅延をF/Fへの信号パス毎に算出し、クロック遅延の最大値と最小値からクロックスキュー値を計算する。クロックスキュー合否判定ステップ15aでは、算出されたクロックスキュー値が予め設定された目標値以下か否かを判断する。クロックスキュー値が目標値以下の場合にはレイアウト設計を完了して次の設計ステップである設計検証に進むが、目標値を超える場合にはCTS配線ステップ12に戻り再実行する。
【0004】
図12(a)は、CTS配線の模式図である。クロック信号は、クロック入力ピンCINからルートバッファ1に供給され、ルートバッファ1から複数のF/F2へ等長のクロック配線3で供給される。
【0005】
図1のCTSを用いてクロック系を配線する方法は、設計ルールが比較的緩い世代、すなわち、メタル配線の底面の面積が側面の面積よりもずっと大きい世代においては非常に有効であり、ステップ15aでクロックスキュー値が目標値を超えることは殆どなかった。
【0006】
しかしながら、近年では微細化の進展に伴って、メタル配線の側面の面積が底面の面積と同等以上の状況になり、このため、図12(b)に示すように、クロック配線に寄生する容量のうち底面容量C1よりも隣接する信号配線との結合容量C2が支配的になりつつある状況では、CTSを実行して配線長を等長に合わせ込んでも、次の信号系配線ステップ13で配線される隣接信号配線7とクロック配線3との結合容量C2の大小によりクロック配線の寄生容量値は大きく変化してしまうことになる。この結果として、クロックスキュー値が増大し、目標値を超えて再度CTSを実行しなければならないケースが増えているが、CTSを再実行するとしても確実に改善する保証がないため試行錯誤的にならざるを得ず、結局は人手で煩雑な修正をせざるを得なくなる場合も多く、いずれにしても設計の効率が低下し設計期間が延長されてしまうという問題が生じてきた。
【0007】
この問題を解決ものとして、特開平10−135342号公報には、クロック配線専用の配線層を設ける技術が開示されている。クロック配線を専用の配線層に配線することにより隣接する信号配線をなくすことができる。しかしながら、この第1の従来例のように専用の配線層を設ける場合には、必然的に製造工程数が増加するので、LSIの製造コストが増加することになり好ましくない。
【0008】
また第2の従来例として、特開平9−283715号公報には、配線完了後に各クロック配線について隣接信号配線との間隔を調整して結合容量を増減することによりクロック信号の遅延を調整し、クロックスキュー値の改善を行う技術が記載されている。図13(a)に示すように、クロック配線3と隣接信号配線70との間隔を調整することによりクロック信号の遅延値を調整する。
【0009】
この第2の従来例は、配線実行時に配線グリッドを設定しない配線方法をとる場合には、クロック配線3と隣接信号配線70との間隔を微調整できるので極めて有効である。
【0010】
【発明が解決しようとする課題】
しかしながら、多くの自動配置配線システムでは、配線処理の実行速度を向上させるために予め設定された配線グリッド上に配線する方法が採用されており、図13(b)および(c)に比較して示すように、配線グリッドが設定されている場合には、第2の従来例では寄生容量の微調整が困難となるという問題点がある。すなわち、図13(b)で示すように、配線ピッチPxの配線グリッド上にクロック配線3と隣接信号配線70とが配線され、配線幅、配線間隔共にDであるとすると、図13(b)ではクロック配線3と隣接信号配線7との間隔はDであるのに対して、隣接信号配線7を1配線グリッド分(1配線ピッチ)移動させた図13(c)では、クロック配線3と隣接信号配線70との間隔は3Dとなる。このように3倍の間隔に一挙に増大してしまうために細かなクロック遅延値の調整ができず、スキュー改善が容易にはできない場合も生じる。
【0011】
本発明の目的は、クロック配線専用の配線層を用いなくともクロック信号の遅延が等しくなるように調整でき、また、配線グリッドを用いて配線する場合においてもクロック遅延を精度良く調整できてクロックスキュー低減が可能なクロックスキュー改善方法に関する。
【0012】
【課題を解決するための手段】
本発明のクロックスキュー改善方法は、クロック配線パタンおよび周囲の配線パタンからなる内部パタンを有する配線ブロック、および配線ブロック名と内部パタンに応じてクロック配線に寄生する容量値を記憶したパタンテーブルを用いて、LSIチップにレイアウトされたルートバッファから複数の順序回路のクロック端子までのそれぞれのクロック配線間のスキューを低減するクロックスキュー改善方法であって、
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップとを有している。
【0013】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。図1は、本発明の一実施の形態のクロックスキュー改善処理16を含むレイアウト設計フロー図である。
【0014】
図1において、セル配置ステップ11からクロックスキュー計算ステップ14までは図11に示した従来のレイアウト設計フローと同一であり、セル配置ステップ11では、LSIの回路接続情報に従って基本回路セルを配置し、CTS配線ステップ12では、ルートバッファと各F/Fとの間が等長となるように合わせ込んでクロック信号を配線し、信号系配線ステップ13では、回路接続情報に従ってクロック信号以外の信号の配線を実行し、クロックスキュー計算ステップ14で、ルートバッファからF/Fまでのクロック遅延をF/Fへの信号パス毎に算出し、クロック遅延の最大値と最小値からクロックスキュー値を計算する。
【0015】
クロックスキュー合否判定ステップ15では、算出されたクロックスキュー値が予め設定された目標値以下か否かを判断し、クロックスキュー値が目標値以下の場合にはレイアウト設計を終了して次の設計ステップである設計検証に進むが、目標値を超える場合にはクロックスキュー改善処理ステップ16を実行する。
【0016】
クロックスキュー改善処理ステップ16では、クロック配線パタンおよび周囲の配線パタンからなる内部パタンを有する方形の配線ブロックと内部パタンに応じてクロック配線に寄生する容量値とを対応させて容量値が小さい配線ブロックから大きい配線ブロックへの順序で記録したパタンテーブル10を用いて、LSIチップにレイアウトされたルートバッファからF/F等の複数の順序回路のクロック端子までのそれぞれのクロック配線間のスキューを低減する。
【0017】
クロックスキュー改善処理ステップ16は、下位の処理ステップとして、配線パタン分割ステップ21と、対象クロック配線選択ステップ22と、ブロック置換ステップ23と、スキュー値判定ステップ24と、配線修正ステップ25とを有している。
【0018】
配線パタン分割ステップ21では、それぞれのクロック配線について、配線パスに沿った領域をパタンテーブル10に登録されている配線ブロックと同一外形を有する複数の単位ブロックに分割する。
【0019】
対象クロック配線選択ステップ22では、パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し、最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線を選択する。
【0020】
ブロック置換ステップ23では、処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し、単位ブロックの内部パタンを、検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する。
【0021】
スキュー値判定ステップ24では、置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し、最大のクロック信号遅延値と比較してクロックスキュー値を求め、所定のスキュー目標値以下となったか否かを判断する。
【0022】
配線修正ステップ25では、単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する。
【0023】
図2は、クロックスキュー改善処理ステップ16を実行するクロックスキュー改善手段31の構成図である。クロックスキュー改善手段31は、クロックスキュー改善処理に必要な論理演算、数値演算等を実行するCPUと、配線パタン分割ステップ21、対象クロック配線選択ステップ22、ブロック置換ステップ23、スキュー値判定ステップ24および配線修正ステップ25の機能を実現するプログラム並びに処理中のデータを記憶する記憶部とを有しており、クロックスキュー合否判定ステップ15までのレイアウト設計で作成されたLSIの配置配線結果32を入力し、パタンテーブル10を参照して配線パタン分割ステップ21から配線修正ステップ25までのクロックスキュー改善処理を実行し、クロックスキュー値が目標値内になるようにクロック配線の周囲の配線の一部が修正されたスキュー改善済配置配線結果33を出力する。外部から入出力/表示手段34を通じてクロックスキュー改善手段31の処理動作の制御、処理データの修正変更、処理結果の表示等を行うことができる。
【0024】
図3は、パタンテーブル10の登録内容の一例を示す図である。パタンテーブル10の内部では、配線ブロック名と、クロック配線パタン3および周囲の信号配線パタンとを内部パタンとして含む配線ブロック7と、クロック配線パタン3に寄生する容量値とが対応して登録され、容量値が小さい内部パタンから容量値が大きい内部パタンに向けて順番に配列されている。なお、配線ブロック7の内部パタンには、配線ブロック7内の配線パタンと配線ブロック7の外形境界に中心線が一致する配線の配線パタンとを含むものとする。
【0025】
図4は、配線パタン分割ステップ21および対象クロック配線選択ステップ22の詳細なフロー図であり、図5は、配線パタン分割ステップ21の処理を模式的に説明する図である。
【0026】
配線パタン分割ステップ21では、図5(a)のレイアウトパタン図に示すように、ルートバッファ1とF/F2を接続するクロック配線のそれぞれについて、クロック配線3の配線パスに沿った領域を、図5(b)のように、パタンテーブル10に登録されている配線ブロック7と同一外形を有する複数の単位ブロック8に分割し、個々のクロック配線と対応させて記録する。配線ブロック7の場合と同様に、単位ブロック8の内部パタンには、単位ブロック8に含まれる配線パタンと単位ブロック8の外形境界に中心線が一致する配線の配線パタンとを含むものとする。なお、図5において、4はメタル配線のパタンであり、5は上層メタル配線のパタンであり、6はメタル配線4と上層メタル配線5とを接続するためのスルーホールのパタンである。
【0027】
配線ブロック7の大きさは任意に設定することが可能であるが、図5以降の説明では、X方向に2配線グリッド分(すなわちY方向配線の配線ピッチPyの2倍)で、Y方向に2配線グリッド分(すなわちX方向配線の配線ピッチPxの2倍)としている。このようにX方向、Y方向ともに2配線グリッドの小さな配線ブロックを用いることによりパタンテーブル10に登録する配線ブロックの種類を少なくすることができるので、対象クロック配線選択ステップ22においてパタンマッチング処理を高速に実行できる。
【0028】
対象クロック配線選択ステップ22は、図4に示すように、サブステップ40〜44を含んでいる。サブステップ40では、クロック信号の遅延値の小さい順にクロック配線の順位付け済であるか否かを判断し、順位付け済である場合にはサブステップ41に進む。
【0029】
サブステップ41では、それぞれのクロック配線に対して図5(b)のように、クロック配線3に対応するすべての単位ブロック8について図3のパタンテーブル10を参照して単位ブロックと内部パタンが一致する配線ブロックを抽出し、そのパタン番号と容量値を単位ブロックの位置情報と対応させてクロックスキュー改善手段31の記憶部に記憶し、図5(c)に示すように、クロック配線3に対応するすべての単位ブロックの容量値を加算してクロック配線の容量値を算出する。
【0030】
次に、サブステップ42で、算出された容量値に基づいてクロック配線毎にクロック信号遅延値を算出し、サブステップ43で、クロック配線をクロック信号遅延値が最小のクロック配線から最大のクロック配線までクロック信号遅延値にしたがい順位付けして記憶部に記憶する。
【0031】
サブステップ43の処理後およびサブステップ40でクロック配線は順位付け済であると判断された場合にはサブステップ44に進み、スキュー値判定ステップ24までの処理が未了のクロック配線のうちでクロック信号遅延値が最小のクロック配線を処理対象クロック配線として選択して対象クロック配線選択ステップ22を終了する。
【0032】
図6は、ブロック置換ステップ23の詳細なフロー図である。処理対象クロック配線のクロック遅延時間を増大させてクロックスキューの改善を図るために、ブロック置換ステップ23では、サブステップ51〜55の処理を行う。各サブステップについて図5およびブロック置換処理を模式的に示す図である図7を参照して説明する。
【0033】
先ず、サブステップ51では、図5(b)に示された処理対象クロック配線にかかわる単位ブロック8のうち置換処理が未処理で且つクロック配線3のパスに沿った距離においてF/F2に最も近い単位ブロックを処理対象ブロックとして選択する。
【0034】
次に、サブステップ52で、処理対象ブロック内の配線パタンがクロック配線のみで、且つ、処理対象ブロックに隣接する配線グリッドに信号配線パタンがない孤立クロックパタン(図10(a)参照)に該当するか否かを判断し、該当すると判断した場合にはブロック置換ステップ23を終了する。該当しないと判断した場合にはサブステップ53へ進む。
【0035】
サブステップ53では、処理対象ブロックと内部パタンが一致する配線ブロックを検索する。パタンテーブルに登録された処理対象ブロックと内部パタンが一致する配線ブロックを、図4のサブステップ41と同様のパタンマッチング処理を実行して新規に抽出しても良いが、サブステップ41での抽出結果に基づいて予めクロック配線毎に単位ブロックに対応する内部パタンの配線ブロック名を記憶しておき、対象クロック配線名と処理対象ブロックである単位ブロックの位置情報から処理対象ブロックと内部パタンが一致する配線ブロック名を検索しても良い。
【0036】
次に、サブステップ54では、検索された配線ブロックよりも容量値が大きく、且つ、処理対象ブロックと置き換え配置が可能な配線ブロックである置換配線ブロックがパタンテーブル10内に存在するか否かを判断する。パタンテーブル10には、配線ブロックがクロック配線の寄生容量が小さいものから大きいものへ順番に登録されているので、処理対象ブロックに対応する内部パタンの配線ブロックを基点として配線ブロックを順次取りだし、その内部パタンと処理対象ブロックの内部パタンを置き換えたとしても異なるネット名の配線間のショート等の違反が生じないときに置き換え可能と判断する。置き換え可能な置換配線ブロックが存在しないと判断された場合にはブロック置換ステップ23を終了し、置換配線ブロックが存在すると判断された場合にはサブステップ55に進む。
【0037】
サブステップ55では、処理対象ブロックの内部パタンを切り取り前記置換配線ブロックの内部パタンと置換する。図5(a)のレイアウト結果に対してF/F2に最も近い単位ブロックを処理対象ブロックとしてブロック置換ステップ23の処理を適用した結果が図7(a)であり、配線パタンWP1が付加されてクロック配線3の寄生容量が増加している。内部パタンの置換時に、置換前の処理対象ブロックの内部パタンと置換後の内部パタンとで同一の位置形状の配線パタンには、置換前の処理対象ブロックにおけるそれぞれの配線パタンが属する配線のネット名を継承して付し、新規に付加された配線パタンには、対応すべきネット名を付する。
【0038】
図8は、スキュー値判定ステップ24および配線修正ステップ25の詳細フロー図である。スキュー値判定ステップ24では、サブステップ61〜63の処理を行う。
【0039】
サブステップ61では、処理対象クロック配線の寄生容量値を、ブロック置換ステップ23によって変更された内部パタンに対応する容量値に更新し、クロック信号遅延値を算出する。
【0040】
次に、サブステップ62で、サブステップ61で算出された処理対象クロック配線の遅延値と図4のサブステップ42で求めた最大のクロック信号遅延値とから処理対象クロック配線のスキュー値を算出し、所定のスキュー目標値以下であるか否かを判断する。スキュー目標値を超えると判断された場合にはブロック置換ステップ23のサブステップ51に戻る。処理対象クロック配線のスキュー値がスキュー目標値以下に低減されたと判断される場合にはサブステップ63に進む。
【0041】
サブステップ63では、すべてのクロック配線のクロックスキューが所定のスキュー目標値以下であるか否かを判断する。目標値を超えるクロック配線が存在していると判断された場合には対象クロック配線選択ステップ22のサブステップ40に戻る。すべてのクロック配線が目標値以下であると判断されたときにはスキュー値判定ステップ24を終了する。
【0042】
図5(a)におけるF/F2に最も近い単位ブロックを処理対象ブロックとしてブロック置換ステップ23を完了した図7(a)の状態ではスキュー値が目標値以下にならなかった場合には、サブステップ62からブロック置換ステップ23に戻りサブステップ51でF/F2に2番目に近い単位ブロック8を処理対象ブロックに選択してサブステップ52〜55の処理を実行し、図7(b)に示すように、処理対象ブロックの内部パタンに配線パタンWP2を付加してクロック配線3の寄生容量を増大させる。スキュー値判定ステップ24のサブステップ61で対象クロック配線のクロック信号遅延値を計算し、サブステップ62でスキュー値が目標値以下にならなかった場合には、再度サブステップ51に戻りF/F2から3番目に近い単位ブロックを処理対象ブロックとしてサブステップ52〜55の処理を実行し、図7(c)に示すように、配線パタンWP3、WP4を付加してクロック配線3の寄生容量を増大させる。
【0043】
このようにしてF/F2から遠い位置の単位ブロックに向かって順次ブロック置換を実行し、サブステップ62でスキュー値が目標値以下となったときに対象クロック配線についての改善処理を終了し、他にも目標値を超えるスキュー値のクロック配線が存在する場合には対象クロック配線選択ステップ22に戻りサブステップ44で次の処理対象クロック配線として選択して改善処理する。
【0044】
すべてのクロック配線のスキュー値が所定のスキュー目標値以下に改善されたのちには、配線修正ステップ25で、単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する。このとき、置換処理済みの単位ブロックの内部パタンに関しては配線パタンの位置を固定し、それぞれの配線パタンに付されたネット名が同一の配線パタン同士を接続したのち、単位ブロックの外部の信号配線で不要となった配線があれば除去してクロックスキュー改善処理16を終了する。
【0045】
図7(d)は、配線修正ステップ25を完了した改善処理後のレイアウトパタン図であり、図5(a)の改善処理前のレイアウトパタン図と比較してクロック配線3と配線パタンWP1,WP2,WP3,WP4等との結合容量が付加されている。以上の説明から明らかなように、寄生容量の単位ブロック単位で増加させられるので、配線グリッドを用いている場合においてもクロック遅延を精度良く調整でき、クロックスキュー低減が可能となる。
【0046】
図9は、本発明の第2の実施例におけるブロック置換ステップ23aのフロー図である。ブロック置換ステップ23aでは、処理対象ブロック内の配線パタンがクロック配線のみで、且つ、処理対象ブロックに隣接する配線グリッドに信号配線パタンがない孤立クロックパタンに該当する場合に、図10の孤立クロック配線の改善模式図に示すようにして対象クロック配線の容量を増加させる。このために、図9のブロック置換ステップ23aには、図6のブロック置換ステップ23に含まれるサブステップ51〜55に加えてサブステップ56が追加されている。サブステップ51〜55については図6のブロック置換ステップ23と同一であり、図1のレイアウト設計フロー図でブロック置換ステップ23と置き換えることができる。
【0047】
ブロック置換ステップ23aにおいては、サブステップ52で図10(a)のクロック配線3のように単位ブロック3内に他の信号配線がなく、単位ブロック3に隣接する外部の配線グリッド上においても信号配線が散在しない孤立クロックパタンに該当する場合にサブステップ56に進み、図10(b)に示すように、処理対象ブロックである単位ブロック8をクロック配線パタンの両側に電源線パタン9または接地線パタンが配置された配線ブロックに置換する。
【0048】
サブステップ56が追加されたことにより、F/F2のクロック入力端子付近のクロック配線が孤立して配線されている場合においても寄生容量の大きい配線ブロックに置換することができるのでクロック遅延時間の調整範囲が広くなるという利点が生じる。電源線パタン9または接地線パタンは、配線修正ステップ25で、図10(c)に示すように、F/F2の内部電源線または内部接地線に接続する。
【0049】
【発明の効果】
以上に説明したように、本発明を適用することにより、クロック配線専用の配線層を用いなくともクロック信号の遅延が等しくなるように調整でき、また、配線グリッドを用いて配線する場合においてもクロック遅延を精度良く調整できるので、LSIの配置配線後にクロックスキューの改善が必要となったときに、LSI全体の配置配線を再実行することなく容易且つ確実にクロックスキューを低減することができる。
【図面の簡単な説明】
【図1】本発明のクロックスキュー改善処理を含むレイアウト設計フロー図である。
【図2】クロックスキュー改善手段の構成図である。
【図3】パタンテーブルの登録内容の一例を示す図である。
【図4】配線パタン分割ステップおよび対象クロック配線選択ステップの詳細なフロー図である。
【図5】配線パタン分割ステップの処理を模式的に説明する図である。
【図6】ブロック置換ステップの詳細なフロー図である。
【図7】ブロック置換の処理を模式的に示す図である
【図8】スキュー値判定ステップおよび配線修正ステップの詳細フロー図である。
【図9】本発明の第2の実施例におけるブロック置換ステップのフロー図である。
【図10】孤立クロック配線の改善処理を模式的に示す図である。
【図11】CTSを用いたレイアウト設計フロー図である。
【図12】CTS配線の模式図およびその問題点を説明する図である。
【図13】第2の従来例とその問題点を説明する図である。
【符号の説明】
1 ルートバッファ
2 F/F
3 クロック配線
7 配線ブロック
8 単位ブロック
10 パタンテーブル
11 セル配置ステップ
12 CTS配線ステップ
13 信号系配線ステップ
14 クロックスキュー計算ステップ
15,15a クロックスキュー合否判定ステップ
16 クロックスキュー改善処理ステップ
21 パタン分割ステップ
22 対象クロック配線選択ステップ
23,23a ブロック置換ステップ
24 スキュー値判定ステップ
25 配線修正ステップ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a clock skew improvement method, and more particularly to a clock skew improvement method suitable for skew improvement after laying out an LSI chip.
[0002]
[Prior art]
In the layout of an LSI chip, in order to reduce a phase shift (clock skew) of a clock signal supplied between a plurality of sequential circuits such as flip-flops (hereinafter abbreviated as F / F) scattered in the chip, Clock tree synthesis (hereinafter abbreviated as CTS), in which clock signal lines from a root buffer to an F / F are branched in a tree shape and arranged and wired to have equal lengths, is widely used.
[0003]
FIG. 11 is a flowchart of a layout design using CTS. In the cell placement step 11, basic circuit cells are placed according to the circuit connection information of the LSI. In the
[0004]
FIG. 12A is a schematic diagram of the CTS wiring. The clock signal is supplied from the clock input pin CIN to the
[0005]
The method of wiring the clock system using the CTS of FIG. 1 is very effective for a generation having relatively loose design rules, that is, a generation in which the area of the bottom surface of the metal wiring is much larger than the area of the side surface. And the clock skew value hardly exceeded the target value.
[0006]
However, in recent years, with the progress of miniaturization, the area of the side surface of the metal wiring has become equal to or larger than the area of the bottom surface, and therefore, as shown in FIG. In the situation where the coupling capacitance C2 to the adjacent signal wiring is becoming more dominant than the bottom capacitance C1, even if the CTS is executed to adjust the wiring length to the same length, the wiring is performed in the next
[0007]
To solve this problem, Japanese Patent Application Laid-Open No. 10-135342 discloses a technique of providing a wiring layer dedicated to clock wiring. Wiring the clock wiring on a dedicated wiring layer makes it possible to eliminate adjacent signal wiring. However, when a dedicated wiring layer is provided as in the first conventional example, the number of manufacturing steps inevitably increases, and the manufacturing cost of the LSI increases, which is not preferable.
[0008]
As a second conventional example, Japanese Patent Application Laid-Open No. 9-283715 discloses that the delay of a clock signal is adjusted by adjusting the distance between each clock wiring and an adjacent signal wiring to increase or decrease the coupling capacitance after wiring is completed. A technique for improving a clock skew value is described. As shown in FIG. 13A, the delay value of the clock signal is adjusted by adjusting the interval between the
[0009]
The second conventional example is extremely effective when a wiring method in which a wiring grid is not set at the time of wiring is performed, because the interval between the
[0010]
[Problems to be solved by the invention]
However, in many automatic placement and routing systems, a method of wiring on a preset wiring grid is adopted in order to improve the execution speed of the wiring processing, and compared with FIGS. 13B and 13C. As shown, when the wiring grid is set, the second conventional example has a problem that it is difficult to finely adjust the parasitic capacitance. That is, as shown in FIG. 13B, assuming that the
[0011]
SUMMARY OF THE INVENTION It is an object of the present invention to make it possible to adjust clock signal delays to be equal without using a wiring layer dedicated to clock wiring, and to accurately adjust clock delay even when wiring is performed using a wiring grid, thereby achieving clock skew. The present invention relates to a clock skew improvement method that can be reduced.
[0012]
[Means for Solving the Problems]
Pattern clock skew improved method of the present invention, which stores the value of capacitance parasitic on the clock wire according to wiring block and wiring block name and an internal pattern that have a internal pattern consisting clock wiring patterns and the surrounding wiring pattern A clock skew improvement method for reducing skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a table,
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block ; the it has.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, the present invention will be described in detail with reference to the drawings. FIG. 1 is a layout design flowchart including a clock
[0014]
In FIG. 1, a cell layout step 11 to a clock skew calculation step 14 are the same as the conventional layout design flow shown in FIG. 11. In the cell layout step 11, basic circuit cells are arranged according to the circuit connection information of the LSI. In the
[0015]
In a clock skew pass / fail determination step 15, it is determined whether or not the calculated clock skew value is equal to or less than a preset target value. If the clock skew value is equal to or less than the target value, the layout design is terminated and the next design step is performed. When the value exceeds the target value, the clock skew
[0016]
In the clock skew
[0017]
The clock skew
[0018]
In the wiring
[0019]
In the target clock
[0020]
In the
[0021]
In the skew
[0022]
In the
[0023]
FIG. 2 is a configuration diagram of the clock
[0024]
FIG. 3 is a diagram illustrating an example of registered contents of the pattern table 10. Inside the pattern table 10, a wiring block name, a
[0025]
FIG. 4 is a detailed flowchart of the wiring
[0026]
In the wiring
[0027]
Although the size of the
[0028]
The target clock
[0029]
In the sub-step 41, as shown in FIG. 5B, the unit block and the internal pattern of all the unit blocks 8 corresponding to the
[0030]
Next, in a sub-step 42, a clock signal delay value is calculated for each clock wiring based on the calculated capacitance value, and in a sub-step 43, the clock wiring is changed from the clock wiring with the smallest clock signal delay value to the maximum clock wiring. The order is determined according to the clock signal delay value and stored in the storage unit.
[0031]
After the processing in the sub-step 43 and when it is determined in the sub-step 40 that the clock wiring has been ranked, the processing proceeds to the sub-step 44, in which the clock wiring among the clock wirings whose processing up to the skew
[0032]
FIG. 6 is a detailed flowchart of the
[0033]
First, in the sub-step 51, of the unit blocks 8 related to the clock wiring to be processed shown in FIG. 5B, the replacement processing is not performed and is closest to the F / F2 in the distance along the path of the
[0034]
Next, in sub-step 52, the wiring pattern in the processing target block corresponds to an isolated clock pattern (see FIG. 10A) in which the wiring pattern is only clock wiring and there is no signal wiring pattern in a wiring grid adjacent to the processing target block. It is determined whether or not to perform the block replacement. If it is determined that the block replacement is performed, the
[0035]
In a sub-step 53, a wiring block whose internal pattern matches the processing target block is searched. A wiring block having the same internal pattern as the processing target block registered in the pattern table may be newly extracted by executing a pattern matching process similar to the sub-step 41 of FIG. The wiring block name of the internal pattern corresponding to the unit block is stored in advance for each clock wiring based on the result, and the processing target block and the internal pattern match from the target clock wiring name and the position information of the unit block that is the processing target block. The name of the wiring block to be used may be searched.
[0036]
Next, in sub-step 54, it is determined whether or not a replacement wiring block having a larger capacitance value than the searched wiring block and being a wiring block that can be replaced and disposed with the processing target block exists in the pattern table 10. to decide. In the pattern table 10, the wiring blocks are registered in order from the one with the smallest parasitic capacitance of the clock wiring to the one with the largest parasitic capacitance. Therefore, the wiring blocks are sequentially taken out from the wiring block of the internal pattern corresponding to the processing target block as a base point. Even if the internal pattern and the internal pattern of the block to be processed are replaced, it is determined that replacement is possible when there is no violation such as a short circuit between wires having different net names. If it is determined that there is no replaceable replacement wiring block, the
[0037]
In
[0038]
FIG. 8 is a detailed flowchart of the skew
[0039]
In
[0040]
Next, in sub-step 62, a skew value of the clock wiring to be processed is calculated from the delay value of the clock wiring to be processed calculated in
[0041]
In
[0042]
In the state of FIG. 7A in which the
[0043]
In this way, the block replacement is sequentially performed toward the unit block located far from the F / F2, and when the skew value becomes equal to or less than the target value in the sub-step 62, the improvement processing for the target clock wiring is terminated. If there is a clock line having a skew value exceeding the target value, the process returns to the target clock
[0044]
After the skew values of all the clock wirings have been improved to the predetermined skew target value or less, in a
[0045]
FIG. 7D is a layout pattern diagram after the improvement processing in which the
[0046]
FIG. 9 is a flowchart of the
[0047]
In the
[0048]
With the addition of the sub-step 56, even when the clock wiring near the clock input terminal of the F / F2 is isolated, it can be replaced with a wiring block having a large parasitic capacitance, so that the clock delay time is adjusted. The advantage of a wider range arises. The power supply line pattern 9 or the ground line pattern is connected to the internal power supply line or the internal ground line of the F /
[0049]
【The invention's effect】
As described above, by applying the present invention, it is possible to adjust the delay of the clock signal to be equal without using a wiring layer dedicated to the clock wiring, and to control the clock even when wiring is performed using the wiring grid. Since the delay can be adjusted with high accuracy, when the clock skew needs to be improved after the placement and wiring of the LSI, the clock skew can be easily and reliably reduced without re-executing the placement and wiring of the entire LSI.
[Brief description of the drawings]
FIG. 1 is a layout design flowchart including a clock skew improvement process of the present invention.
FIG. 2 is a configuration diagram of a clock skew improvement unit.
FIG. 3 is a diagram showing an example of registered contents of a pattern table.
FIG. 4 is a detailed flowchart of a wiring pattern dividing step and a target clock wiring selecting step.
FIG. 5 is a diagram schematically illustrating processing of a wiring pattern division step.
FIG. 6 is a detailed flowchart of a block replacement step.
FIG. 7 is a diagram schematically illustrating a block replacement process. FIG. 8 is a detailed flowchart of a skew value determination step and a wiring correction step.
FIG. 9 is a flowchart of a block replacement step in the second embodiment of the present invention.
FIG. 10 is a diagram schematically illustrating processing for improving isolated clock wiring.
FIG. 11 is a flowchart of a layout design using CTS.
FIG. 12 is a schematic diagram of a CTS wiring and a diagram for explaining its problems.
FIG. 13 is a diagram illustrating a second conventional example and its problems.
[Explanation of symbols]
1 route buffer 2 F / F
3
Claims (6)
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、を有することを特徴とするクロックスキュー改善方法。Using a pattern table storing the value of capacitance parasitic on the clock wire according to wiring block and wiring block name and an internal pattern that have a internal pattern consisting clock wiring patterns and the surrounding wiring pattern, layout LSI chip A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer to a clock terminal of a plurality of sequential circuits,
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block ; clock skew improved method characterized by having a.
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、
置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値と比較してクロックスキュー値を求め所定のスキュー目標値以下となったか否かを判断する第4のステップと、
単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する第5のステップとを有し、
前記第2のステップが、それぞれのクロック配線に対して、対応するすべての単位ブロックについてパタンテーブルを参照して単位ブロックと内部パタンが一致する配線ブロックを検出し該配線ブロックに対応する容量値を抽出して加算しクロック配線の容量値を算出する第1のサブステップと、
算出された容量値に基づいてクロック配線毎にクロック信号遅延値を算出する第2のサブステップと、
クロック配線をクロック信号遅延値が最小のクロック配線から最大のクロック配線までクロック信号遅延値にしたがい順位付けする第3のサブステップと、
前記第4のステップまでの処理が未了のクロック配線のうちクロック信号遅延値が最小のクロック配線を処理対象クロック配線として選択する第4のサブステップとを有することを特徴とするクロックスキュー改善方法。 A rectangular wiring block having an internal pattern composed of a clock wiring pattern and a surrounding wiring pattern, and a wiring block having a small capacitance value and a wiring block having a large capacitance value corresponding to the wiring block name and the parasitic capacitance of the clock wiring according to the internal pattern. A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a pattern table recorded in the order of
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block; ,
Calculate the clock signal delay value for each clock wiring based on the capacitance value of the unit block after replacement and compare it with the maximum clock signal delay value to determine the clock skew value and determine whether it is below a predetermined skew target value A fourth step,
A fifth step of performing a wiring correction around the clock wiring based on the replacement result of the unit block,
In the second step, for each clock wiring, a wiring block having the same internal pattern as the unit block is detected with reference to the pattern table for all corresponding unit blocks, and a capacitance value corresponding to the wiring block is determined. A first sub-step of extracting and adding and calculating the capacitance value of the clock wiring;
A second sub-step of calculating a clock signal delay value for each clock wiring based on the calculated capacitance value;
A third sub-step of ranking the clock wiring according to the clock signal delay value from the clock wiring having the smallest clock signal delay value to the clock wiring having the largest clock signal delay value;
Clock skew improved method characterized by having a fourth sub-step of the clock signal delay value of the clock routing processing incomplete until the fourth step is selected for processing clock wiring minimal clock routing .
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、
置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値と比較してクロックスキュー値を求め所定のスキュー目標値以下となったか否かを判断する第4のステップと、
単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する第5のステップとを有し、
前記第3のステップが、処理対象クロック配線にかかわる単位ブロックのうち置換処理が未処理で且つクロック配線のパスに沿った距離において順序回路に最も近い単位ブロックを処理対象ブロックとして選択する第1のサブステップと、
前記処理対象ブロック内の配線パタンがクロック配線のみで且つ前記処理対象ブロックに隣接する配線グリッドに信号配線パタンがない孤立クロックパタンに該当するか否かを判断し該当すると判断したときには前記第3のステップを終了する第2のサブステップと、
前記第2のサブステップで孤立クロックパタンに該当しないと判断されたときに進み、前記処理対象ブロックと内部パタンが一致する配線ブロックを検索する第3のサブステップと、
検索された配線ブロックよりも容量値が大きく且つ置き換え配置が可能な置換配線ブロックが前記パタンテーブル内に存在するか否かを判断し存在しないと判断したときには前記第3のステップを終了する第4のサブステップと、
前記第4のサブステップで存在すると判断されたときに進み、前記処理対象ブロックの内部パタンを切り取り前記置換配線ブロックの内部パタンと置換する第5のサブステップとを有することを特徴とするクロックスキュー改善方法。 A rectangular wiring block having an internal pattern composed of a clock wiring pattern and a surrounding wiring pattern, and a wiring block having a small capacitance value and a wiring block having a large capacitance value corresponding to the wiring block name and the parasitic capacitance of the clock wiring according to the internal pattern. A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a pattern table recorded in the order of
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block; ,
Calculate the clock signal delay value for each clock wiring based on the capacitance value of the unit block after replacement and compare it with the maximum clock signal delay value to determine the clock skew value and determine whether it is below a predetermined skew target value A fourth step,
A fifth step of performing a wiring correction around the clock wiring based on the replacement result of the unit block,
The third step is a first step of selecting a unit block, which has not been subjected to the replacement process and is closest to the sequential circuit at a distance along a path of the clock wiring, from the unit blocks related to the processing target clock wiring as a processing target block. Sub-steps,
It is determined whether or not the wiring pattern in the processing target block corresponds to only the clock wiring and an isolated clock pattern in which there is no signal wiring pattern in the wiring grid adjacent to the processing target block. A second sub-step ending the step;
A third sub-step which proceeds when it is determined in the second sub-step that the pattern does not correspond to an isolated clock pattern, and searches for a wiring block whose internal pattern matches the processing target block;
It is determined whether or not a replacement wiring block having a larger capacitance value than the searched wiring block and capable of replacement placement exists in the pattern table. If it is determined that no replacement wiring block exists, the third step is terminated. Sub-steps,
A clock skew which proceeds when it is determined in the fourth sub-step that the internal pattern of the block to be processed is cut and replaced with an internal pattern of the replacement wiring block. How to improve.
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、
置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値と比較してクロックスキュー値を求め所定のスキュー 目標値以下となったか否かを判断する第4のステップと、
単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する第5のステップとを有し、
前記第3のステップが、処理対象クロック配線にかかわる単位ブロックのうち置換処理が未処理で且つクロック配線のパスに沿った距離において順序回路に最も近い単位ブロックを処理対象ブロックとして選択する第1のサブステップと、
前記処理対象ブロック内の配線パタンがクロック配線のみで且つ前記処理対象ブロックに隣接する配線グリッドに信号配線パタンがない孤立クロックパタンに該当するか否かを判断する第2のサブステップと、
前記第2のサブステップで孤立クロックパタンに該当しないと判断されたときに進み、前記処理対象ブロックと内部パタンが一致する配線ブロックを検索する第3のサブステップと、
検索された配線ブロックよりも容量値が大きく且つ置き換え配置が可能な置換配線ブロックが前記パタンテーブル内に存在するか否かを判断し存在しないと判断したときには前記第3のステップを終了する第4のサブステップと、
前記第4のサブステップで存在すると判断されたときに進み、前記処理対象ブロックの内部パタンを切り取り前記置換配線ブロックの内部パタンと置換する第5のサブステップと、
前記第2のサブステップで孤立クロックパタンに該当すると判断されたときに進み、前記処理対象ブロックをクロック配線パタンの両側に電源線パタンまたは接地線パタンが配置された配線ブロックに置換して前記第3のステップを終了する第6のサブステップとを有することを特徴とするクロックスキュー改善方法。 A rectangular wiring block having an internal pattern composed of a clock wiring pattern and a surrounding wiring pattern, and a wiring block having a small capacitance value and a wiring block having a large capacitance value corresponding to the wiring block name and the parasitic capacitance of the clock wiring according to the internal pattern. A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a pattern table recorded in the order of
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block; ,
Calculate the clock signal delay value for each clock wiring based on the capacitance value of the unit block after replacement and compare it with the maximum clock signal delay value to determine the clock skew value and determine whether it is below a predetermined skew target value A fourth step,
A fifth step of performing a wiring correction around the clock wiring based on the replacement result of the unit block,
The third step is a first step of selecting a unit block, which has not been subjected to the replacement process and is closest to the sequential circuit at a distance along a path of the clock wiring, from the unit blocks related to the processing target clock wiring as a processing target block. Sub-steps,
A second sub-step of determining whether or not the wiring pattern in the processing target block is a clock wiring only and corresponds to an isolated clock pattern having no signal wiring pattern in a wiring grid adjacent to the processing target block;
A third sub-step which proceeds when it is determined in the second sub-step that the pattern does not correspond to an isolated clock pattern, and searches for a wiring block whose internal pattern matches the processing target block;
It is determined whether or not a replacement wiring block having a larger capacitance value than the searched wiring block and capable of replacement placement exists in the pattern table. If it is determined that no replacement wiring block exists, the third step is terminated. Sub-steps,
A fifth sub-step of proceeding when it is determined in the fourth sub-step that the internal pattern of the processing target block is cut and replaced with an internal pattern of the replacement wiring block;
The process proceeds when it is determined in the second sub-step that the pattern corresponds to an isolated clock pattern, and the processing target block is replaced with a wiring block in which a power supply line pattern or a ground line pattern is arranged on both sides of a clock wiring pattern. clock skew improved method characterized by having a sixth sub-step of ending the third step.
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、
置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値と比較してクロックスキュー値を求め所定のスキュー目標値以下となったか否かを判断する第4のステップと、
単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する第5のステップとを有し、
前記第4のステップが、処理対象クロック配線の容量値を更新しクロック信号遅延値を算出する第1のサブステップと、
前記処理対象クロック配線の遅延値と最大のクロック信号遅延値とから前記処理対象クロック配線のスキュー値を算出し所定のスキュー目標値以下であるか否かを判断し、目標値を超えるときには前記第3のステップに戻る第2のサブステップと、
前記第2のサブステップで目標値以下であると判断されたときに進み、すべてのクロック配線のクロックスキューが前記所定のスキュー目標値以下であるか否かを判断し、目標値を超えるクロック配線が存在しているときには前記第2のステップに戻り、すべてのクロック配線が目標値以下であるときには前記第4のステップを終了する第3のサブステップとを有することを特徴とするクロックスキュー改善方法。 A rectangular wiring block having an internal pattern composed of a clock wiring pattern and a surrounding wiring pattern, and a wiring block having a small capacitance value and a wiring block having a large capacitance value corresponding to the wiring block name and the parasitic capacitance of the clock wiring according to the internal pattern. A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a pattern table recorded in the order of
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block; ,
Calculate the clock signal delay value for each clock wiring based on the capacitance value of the unit block after replacement and compare it with the maximum clock signal delay value to determine the clock skew value and determine whether it is below a predetermined skew target value A fourth step,
A fifth step of performing a wiring correction around the clock wiring based on the replacement result of the unit block,
A fourth sub-step in which the fourth step updates a capacitance value of the clock wiring to be processed and calculates a clock signal delay value;
The skew value of the clock line to be processed is calculated from the delay value of the clock line to be processed and the maximum delay value of the clock signal, and it is determined whether the skew value is equal to or less than a predetermined skew target value. A second sub-step, returning to step 3,
In the second sub-step, when it is determined that the clock skew is equal to or less than the target value, it is determined whether or not the clock skew of all clock wirings is equal to or less than the predetermined skew target value. there is when present back to the second step, the clock skew improved method characterized by having a third sub-step of terminating said fourth step when all clock lines is less than the target value .
それぞれのクロック配線について配線パスに沿った領域を配線ブロックと同一外形を有する複数の単位ブロックに分割する第1のステップと、
前記パタンテーブルを参照してそれぞれのクロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値から目標クロックスキュー値を減算して得た値よりもクロック遅延値が小さいクロック配線を抽出してスキュー改善の処理対象クロック配線として選択する第2のステップと、
前記処理対象クロック配線について単位ブロック毎に内部パタンが一致する配線ブロックを検索し単位ブロックの内部パタンを検索された配線ブロックよりも容量値の大きい配線ブロックの内部パタンに置換する第3のステップと、
置換後の単位ブロックの容量値に基づいて各クロック配線におけるクロック信号遅延値を算出し最大のクロック信号遅延値と比較してクロックスキュー値を求め所定のスキュー目標値以下となったか否かを判断する第4のステップと、
単位ブロックの置換結果に基づきクロック配線の周囲の配線修正を実行する第5のステップとを有し、
前記配線ブロックおよび前記単位ブロックの外形が、配線の長手方向に2配線ピッチの長さの辺を有しこれと直角方向に2配線ピッチの長さの辺を有する方形であることを特徴とするクロックスキュー改善方法。 A rectangular wiring block having an internal pattern composed of a clock wiring pattern and a surrounding wiring pattern, and a wiring block having a small capacitance value and a wiring block having a large capacitance value corresponding to the wiring block name and the parasitic capacitance of the clock wiring according to the internal pattern. A clock skew improvement method for reducing a skew between respective clock wirings from a route buffer laid out on an LSI chip to clock terminals of a plurality of sequential circuits using a pattern table recorded in the order of
A first step of dividing a region along a wiring path into a plurality of unit blocks having the same outer shape as the wiring block for each clock wiring;
Referring to the pattern table, a clock signal delay value for each clock wiring is calculated, and a clock wiring having a smaller clock delay value than a value obtained by subtracting a target clock skew value from a maximum clock signal delay value is extracted. A second step of selecting as a clock wiring to be processed for skew improvement;
A third step of searching for a wiring block having the same internal pattern for each unit block for the processing target clock wiring, and replacing the internal pattern of the unit block with an internal pattern of a wiring block having a larger capacitance value than the searched wiring block; ,
Calculate the clock signal delay value for each clock wiring based on the capacitance value of the unit block after replacement and compare it with the maximum clock signal delay value to determine the clock skew value and determine whether it is below a predetermined skew target value A fourth step,
A fifth step of performing a wiring correction around the clock wiring based on the replacement result of the unit block,
Outer shape of the wiring block and the unit block, characterized in that it is a square having a side length of 2 wiring pitch to a right angle having a side length of 2 wiring pitch in the longitudinal direction of the wiring Clock skew improvement method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001017544A JP3589988B2 (en) | 2001-01-25 | 2001-01-25 | Clock skew improvement method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001017544A JP3589988B2 (en) | 2001-01-25 | 2001-01-25 | Clock skew improvement method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002222864A JP2002222864A (en) | 2002-08-09 |
JP3589988B2 true JP3589988B2 (en) | 2004-11-17 |
Family
ID=18883731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001017544A Expired - Fee Related JP3589988B2 (en) | 2001-01-25 | 2001-01-25 | Clock skew improvement method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3589988B2 (en) |
-
2001
- 2001-01-25 JP JP2001017544A patent/JP3589988B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002222864A (en) | 2002-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5609364B2 (en) | Integrated circuit design apparatus, integrated circuit design method, and integrated circuit design program | |
US8479140B2 (en) | Automatically creating vias in a circuit design | |
JPH10275176A (en) | Interconnection modeling system and method therefor | |
JP2003273221A (en) | Layout method of integrated circuit enabling wiring delay adjustment and program therefor | |
CN105069228A (en) | Method for adding spare via into spare cell | |
JP2006323643A (en) | Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit | |
US20010011362A1 (en) | Semiconductor layout design method and apparatus | |
JP2009272336A (en) | Dummy metal insertion processing program, method and apparatus | |
US6971082B2 (en) | Method and apparatus for revising wiring of a circuit to prevent electro-migration | |
US7032207B2 (en) | Method of designing semiconductor integrated circuit with accurate capacitance extraction | |
JP3589988B2 (en) | Clock skew improvement method | |
JP2006227762A (en) | Method for designing semiconductor integrated circuit and device for designing semiconductor integrated circuit | |
JPH09223744A (en) | Arrangement method of circuit to vlsi chip | |
JP2007257011A (en) | Layout design device, method, and program | |
US20020026625A1 (en) | Method for dividing a terminal in automatic interconnect routing processing, a computer program for implementing same, and an automatic interconnect routing processor using the method | |
KR20160039526A (en) | Method of designing semiconductor device, system for designing semiconductor device | |
JP5035003B2 (en) | Wiring layout apparatus, wiring layout method, and wiring layout program | |
JP2004272496A (en) | Layout device for semiconductor integrated circuit | |
JP2008171399A (en) | Semiconductor device design method, semiconductor device design system, and computer program | |
JP3125725B2 (en) | Low power automatic layout method and apparatus | |
JP2921454B2 (en) | Wiring method of integrated circuit | |
JP2008257377A (en) | Design method for semiconductor integrated circuit | |
JPH07121600A (en) | Wiring route processing method | |
CN114201938A (en) | Delay model determination method, layout and wiring method, device, equipment and medium | |
JP4071546B2 (en) | Circuit design support apparatus and layout change method for semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040818 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070827 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110827 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120827 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120827 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |