(57)【特許請求の範囲】
【請求項１】
チップ上の論理セル配置情報を取得する手段と、
前記取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピング手段と、
最下位配線層領域以外の配線層領域で配線に配置される論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行う手段と、
前記グループごとに配線情報を抽出する手段と、
抽出した情報をもとに前記グループごとの論理セル端子間の配線を、独立に、並列処理で、実行する手段と
を有することを特徴とする半導体集積回路の設計装置。
【請求項２】
前記配線グルーピング手段は、
前記取得した論理セル配置情報から、各論理セル間の予想配線長を算出し、算出した配線長を基準に各配線を複数のグループに分割し、配線長がより長いグループをより上位の配線層領域に配線するグループにすることを特徴とする請求項１に記載の半導体集積回路の設計装置。
【請求項３】
前記配線グルーピング手段は、
前記チップ表面を複数の領域に分割し、各分割領域内に閉じた配線を持つ論理セル端子間配線を下位配線層領域で配線する第１グループとし、複数の領域に跨る配線を持つ論理セル端子間配線を上位配線層領域で配線する第２グループとすることを特徴とする請求項１に記載の半導体集積回路の設計装置。
【請求項４】
前記配線グルーピング手段は、
さらに、前記第１グループに属する配線を、前記チップ表面を分割した各領域ごとにグループ分けをすることを特徴とする請求項３に記載の半導体集積回路の設計装置。
【請求項５】
前記配線を実行する手段は、
各グループごとに、実行した配線に基づき、タイミング検証を行い、タイミング違反がなくなるまで、再配線を繰り返すことを特徴とする請求項１から４のいずれか１項に記載の半導体集積回路の設計装置。
【請求項６】
前記タイミング検証は、隣接する配線層領域の最上層もしくは最下層の配線層に、ダミー配線が敷き詰められているとの仮定で行い、
さらに、該ダミー配線を行う手段を有することを特徴とする請求項５に記載の半導体集積回路の設計装置。
【請求項７】
チップ上の論理セル配置情報を取得するステップと、
前記取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピングステップと、
最下位配線層領域以外の配線層領域で配線される論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行うステップと、
前記グループごとに配線情報を抽出するステップと、
抽出した情報をもとに前記グループごとの論理セル端子間の配線を独立に、並列処理で、実行するステップと
を有することを特徴とする半導体集積回路の設計方法。
【請求項８】
前記配線グルーピングステップは、
前記取得した論理セル配置情報から、各論理セル間の予想配線長を算出するステップと、
算出した配線長を基準に各配線を複数のグループに分割し、配線長がより長いグループを、より上位の配線層領域で配線するグループにするステップとを有することを特徴とする請求項７に記載の半導体集積回路の設計方法。
【請求項９】
前記配線グルーピングステップは、
前記チップ表面を複数の領域に分割し、単一領域内に閉じた配線を持つ論理セル端子間配線を下位配線層領域で配線する第１グループとし、複数の領域に跨る配線を持つ論理セル間配線を上位配線層領域で配線する第２グループとすることを特徴とする請求項７に記載の半導体集積回路の設計方法。
【請求項１０】
前記配線グルーピングステップは、
さらに、前記第１グループに属する配線を、前記チップ表面を分割した各領域ごとにグループ分けをすることを特徴とする請求項９に記載の半導体集積回路の設計方法。
【請求項１１】
前記配線を実行するステップは、
各グループごとに、実行した配線に基づき、タイミング検証を行うステップと、タイミング違反がある場合に、再配線を行うステップとを有することを特徴とする請求項７から１０のいずれか１項に記載の半導体集積回路の設計方法。
【請求項１２】
前記タイミング検証は、隣接する配線層領域の最上層もしくは最下層の配線層に、ダミー配線が敷き詰められているとの仮定で行い、
さらに、該ダミー配線を行うステップを有することを特徴とする請求項１１に記載の半導体集積回路の設計方法。
【請求項１３】
コンピュータに、
チップ上の論理セル配置情報を取得するステップと、
前記取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピングステップと、
最下位配線層領域以外の配線層領域で配線される論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行うステップと、
前記グループごとに配線情報を抽出するステップと、
抽出した情報をもとに前記グループごとの論理セル端子間の配線を独立に、並列処理で、実行するステップと
を実行させることを特徴とする半導体集積回路の設計プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路設計に関し、特に論理セル間の配線レイアウト設計工程で使用する半導体集積回路設計装置、半導体集積回路設計方法および半導体集積回路設計プログラムに関する。
【０００２】
【従来の技術】
システムＬＳＩ設計のうちの重要な工程であるレイアウト設計工程では、論理設計より得られた接続情報と回路設計により準備された論理セルライブラリを用いて、論理ゲートの配置、自動配線を行っていくが、この際チップ面積を可能な限り小さくすることが要求されている。
【０００３】
近年の集積回路の大規模化に伴い、回路の設計に伴う必要な情報は増大する一方であり、レイアウト設計工程で使用する設計装置、いわゆるＣＡＤツールのメモリ使用量と各工程の処理時間は増加する傾向にある。
【０００４】
従来のレイアウト設計工程では、ＬＳＩの自動配線設計を行う場合において、１）チップ全体を一括で配線する手法、もしくは２）論理モジュール毎にハード化し、チップ上にこのハード化したモジュールを配置し、ハード化モジュール間の配線をする階層レイアウト手法が主に採用されている。
【０００５】
【発明が解決しようとする課題】
しかし、１）チップ全体を一括で配線する手法では、チップ全体の配線接続情報を同時に扱うため、メモリ使用量の増大と処理時間の増大は免れない。そのため、集積回路が大規模になると、メモリ不足によりレイアウト不能に陥いるおそれや、設計期間の長期化のおそれも生じている。
【０００６】
一方、２）階層レイアウト手法では、必要なメモリ使用量を制限することができるため、一括配線を行う場合のようなメモリ使用量の問題は解決するものの、論理モジュール領域を配線禁止領域とするため、配線の自由度が制限され、結果的にチップ面積が大きくなる。また、各モジュールを独立で扱うため、モジュール間に跨る、配線のタイミング制約や、デバイス製造過程で発生する各配線層間に蓄積する電荷等の影響で生じるプロセスアンテナ制約等を設計段階で満たすことが困難であり、結果的にチップの設計期間が長期化する傾向にある。
【０００７】
そこで、本発明は、上述する従来の課題に鑑み、ＬＳＩのレイアウト設計工程において、ＣＡＤツールにメモリ容量の負担を生じさせずに、しかも短い設計期間で論理セル間の自動配線が可能な半導体集積回路設計装置、半導体集積回路設計方法および半導体集積回路設計プログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の半導体集積回路設計装置の特徴は、チップ上の論理セル配置情報を取得する手段と、取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピング手段と、最下位配線層領域以外の配線層領域で配線される配線端子である論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行う手段と、上記グループごとに配線情報を抽出する手段と、抽出した情報をもとに上記グループごとの論理セル端子間の配線を、独立に、並列処理で、実行する手段とを有することである。
【０００９】
本発明の半導体集積回路の設計方法の特徴は、チップ上の論理セル配置情報を取得するステップと、取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピングステップと、最下位配線層領域以外の配線層領域で配線される配線端子である論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行うステップと、上記グループごとに配線情報を抽出するステップと、抽出した情報をもとに上記グループごとの論理セル端子間の配線を、独立に、並列処理で、実行する手段とを有することである。
【００１０】
本発明の半導体集積回路の設計プログラムは、コンピュータに、チップ上の論理セル配置情報を取得するステップと、取得した論理セル配置情報に基づき論理セル端子間配線を予想し、この予想した各配線を、配線層領域ごとにグループ分けする、配線グルーピングステップと、最下位配線層領域以外の配線層領域で配線される配線端子である論理セル端子を配線すべき配線層領域まで引き上げるビア配線を行うステップと、上記グループごとに配線情報を抽出するステップと、抽出した情報をもとに上記グループごとの論理セル端子間の配線を、独立に、並列処理で、実行するステップとを実行させることである。
【００１１】
上記本発明の半導体集積回路設計装置、半導体集積回路の設計方法およびプログラムによれば、配線を配線層領域ごとにグルーピングし、各配線層領域ごとの配線を独立に、並列処理で、実行するため、各配線において、対象とする論理セル数や論理セル間の配線の本数を大幅に削減できる。従って、配線に伴うコンピュータ（ＣＰＵ）のメモリ使用量を削減できるので、各配線を高速に処理できる。また、高さ方向に分割した配線層領域ごとに配線を行うので、配線を分割したことによる配線禁止領域が比較的少ない。従って、配線の自由度を高め、チップ面積の増大を招くこともない。
【００１２】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【００１３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る半導体設計装置の構成図である。
【００１４】
ＬＳＩの設計には、種々の段階があるが、ここで説明する半導体設計装置は、チップ上に配置した論理セル間の配線を行うための自動配線用ＣＡＤツールに相当する。なお、配線のみならず、論理セル等のレイアウト設計も含めて行うことも可能である。
【００１５】
図１に示すように、第１の実施の形態の半導体設計装置は、少なくとも複数のメモリ領域１１、１２、１３等を有する記憶部１０と、コンピュータに相当するＣＰＵ部（プロセッサ部）２０を備えている。なお、同図に示すように、ＣＰＵ部は配線処理の並列処理を可能にするため、複数備えることが好ましい。また、入力手段３１および出力手段３２を一体として、もしくは外部周辺装置として備えている。
【００１６】
記憶部１０には、複数のメモリ１１〜１３が備えられており、例えばＣＰＵ部２０に種々の手段により各ステップを実行させるためのプログラムや、論理セル配置情報データや、最終的に得られる配線用マスクデータ等が各メモリに記憶される。
【００１７】
ＣＰＵ部２０は、メモリ部に記憶された論理セル配置情報を取得する手段２１と、取得した論理セル配置情報から各論理セル間の配線を予測し、チップ上での予測配線を複数のグループに分ける配線グルーピング手段２２と、必要な配線ビアを設定する手段２３と、選択したグループの配線情報を抽出する手段２４と、選択したグループの配線を実行する手段２５と、ダミー配線実行手段２６とを有している。
【００１８】
なお、第１の実施形態に係る半導体設計装置では、配線グルーピング手段２２として、さらに予想配線長を算出する手段２２ａと、基準配線長より短い配線を下位の配線層領域に形成される第１グループとし、基準配線長より長い配線を上位の配線層領域に形成される第２グループとして、各配線をグルーピングする手段２２ｂとを有している。また、配線実行手段２５として、配線実行手段２５ａ、配線タイミング検証手段２５ｂを有している。
【００１９】
また、ＣＰＵ２０Ｂは、配線実行手段２７として、配線実行手段２７ａ、配線タイミング検証手段２７ｂを有しており、ＣＰＵ２０の配線実行手段２５とともに並列処理を行う。
【００２０】
最終的に得られた配線は、マスクデータとして記憶部１０内のメモリに記憶されるとともに、ディスプレイ、もしくはプリンターあるいはプロッター等の出力手段３２により出力される。
【００２１】
図２は、本発明の第１の実施の形態に係る配線設計方法を示すフローチャートである。同フローチャートを参考に、上記半導体設計装置による配線設計方法について説明する。なお、半導体チップ上に形成される配線層の数に限定はないが、配線層を６層有する６層配線ＬＳＩの場合を例に挙げて説明する。
【００２２】
また、以下に示すフローチャートの各ステップは、記憶部１０のメモリに保存されたプログラムによって、ＣＰＵ２０およびＣＰＵ２０Ｂの各手段で行われるものとする。
【００２３】
まず、論理セル配置情報取得手段２１により、記憶部１０のメモリ、もしくは入力手段から入力された論理セル配置情報を取得する（Ｓ１１０）。この論理セル配置情報には、チップ上の論理セルのセル端子の位置、接続が必要な論理セルの端子間の配線接続リスト、配線タイミング情報等が含まれる。
【００２４】
次に、配線グルーピング手段２２により、取得した論理セル配置情報をもとに各論理セル間の配線を予想し、その予想配線長を算出し、予想配線長が基準配線長未満のものを下位層領域配線である第１グループに、基準配線長以上のものを上位層領域配線である第２グループに分割する（Ｓ１２０）。なお、予想配線の仕方は種々の方法があり限定されないが、例えば接続すべき論理セル端子間の配線が最短距離となるように予想配線を求めることができる。
【００２５】
例えば、図３（ａ）に示すように、チップ上に論理セル端子６１ａ、６１ｂ、７１ａ〜７１ｄが配置され、論理セル端子６１ａと６１ｂとを接続する配線（以下、「配線６１ａ−６１ｂ」という。）、論理セル端子７１ａと７１ｃとを接続する配線（以下、「配線７１ａ−７１ｂ」という。）、論理セル端子７１ｂと７１ｄとを接続する配線（以下、「配線７１ａ−７１ｂ」という。）が予想される場合、基準配線長を配線７１ａ−７１ｂの長さと配線６１ａ−６１ｂの長さの間に設定すると、図３（ｂ）および図３（ｃ）に示すように、基準配線長より短い配線７１ａ−７１ｃおよび配線７１ｂ−７１ｄは下位層領域配線である第１グループ、基準配線長より長い配線６１ａ−６１ｂは上位層領域配線である第２グループにそれぞれグルーピングされる。
【００２６】
ここで、比較的長い配線のグループを上位層領域配線とするのは、上位層領域の方が、配線を行う上で障害物や配線禁止領域が少ないので、直線状の配線を配置しやすく、しかも配線幅を広げることが容易なため、配線抵抗Ｒを低減し、配線遅延ＲＣを削減させやすいためである。
【００２７】
なお、配線のグルーピングステップＳ１２０は、具体的には、図５のフローチャートに示すように、以下の１）〜５）のステップで配線のグルーピングを行うことができる。
【００２８】
１）配線接続リストから全配線数を読み込み、これをＮｍａｘとするとともに、基準配線長を設定する（Ｓ１２１）。なお、基準配線長については、種々の設定方法があるが、平均配線長等に設定することもできるし、外部から基準配線長を入力指定することも可能である。
【００２９】
２）次にＮ＝１とする初期設定を行う（Ｓ１２２）。
【００３０】
３）論理セル配置情報よりＮ番目の配線に関する配線情報を取り出し、その予想配線長を算出する（Ｓ１２３）。
【００３１】
４）予想配線長と基準配線長とを比較し（Ｓ１２４）、予想配線長が基準配線長以上の場合は、その配線を上位層領域配線となる第２グループに割り付ける（Ｓ１２７）。一方、予想配線長が基準配線長未満の場合は、さらに、論理セル配置情報に含まれる配線タイミング情報と比較し、配線タイミングに余裕があるかどうか判断し（Ｓ１２５）、余裕があると判断した場合はその配線を下位層領域配線となる第１グループに割り付け（Ｓ１２６）、余裕がないと判断した場合はその配線を第２グループに割り付ける（Ｓ１２７）。このように、配線タイミングを考慮したグルーピング修正を行うことにより、よりタイミングエラーの少ない信頼性の高い配線を行うことができる。
【００３２】
５）ＮがＮｍａｘかどうかを判断し（Ｓ１２８）、Ｎｍａｘに達しない場合は、Ｎ＝Ｎ＋１とし（Ｓ１２９）、上記Ｓ１２３〜Ｓ１２８のステップを繰り返す。Ｎ＝Ｎｍａｘに達した場合は処理を終了する。
【００３３】
再び図２のフローチャートを参照する。各配線のグルーピングが終了したら、次に、上位層領域配線となる第２グループ配線端子に相当する論理セルの接続端子を上位層領域まで引き上げる処理を行う（Ｓ１３０）。即ち、必要な配線ビア設定手段２３により上位層領域の配線層に達する配線ビアを設定する。図４（ａ）に、その配線断面モデルを示す。ここでは、６層配線の場合を例示しているので、同図において、下位層領域の配線層とは第１配線層（Ｍ１）〜第３配線層（Ｍ３）までをいい、上位層領域の配線層とは第４配線層（Ｍ４）〜第６配線層（Ｍ６）をいう。ステップＳ１３０の処理により、上位層領域配線層となる配線６１ａ−６１ｂの配線端子である論理セル端子６１ａと６１ｂを第４配線層（Ｍ４）まで引き上げる、ビア配線が設定される。
【００３４】
次に、選択グループの配線情報抽出手段２４により各グループごとに配線接続情報と配置情報等を抽出し、チップ全体のタイミング制約を上位層領域配線層と下位層領域配線層とに割り付ける（Ｓ１４０）。なお、この配置情報には、図４（ｂ）に示すように、第１配線層（Ｍ１）にある配線端子（論理セル端子）の位置や接続情報のほかに、論理セル端子６１ａ、６１ｂのためのビア配線部分等の配線禁止領域情報も含まれる。
【００３５】
この後、抽出した配線接続情報および配置情報等に基づき、第１グループ（下位層領域配線）、および第２グループ（上位層領域配線）の配線をＣＰＵ２０内の配線実行手段２４およびＣＰＵ２０Ｂ内での配線実行手段２７でそれぞれ独立して並列に実行する（Ｓ１５０、Ｓ１６０）。
【００３６】
第１グループの配線実行ステップの具体的な方法を図６のフローチャートに示す。まず、抽出した配線接続情報および配置情報に基づき配線を実施する（Ｓ１５１）。即ち、第１配線層から第３配線層に至る下位層の配線領域において、第１グループに属する配線を行う。この配線手法は従来の自動配線方法を使用することが可能である。配線が終了したら、実際に行った配線に基づき、各配線の配線抵抗Ｒおよび配線容量Ｃを抽出する（Ｓ１５２）。なお、第１グループで独立にこれらの値の抽出が行えるように、上位層領域の最下層、即ち第４配線層が面状にダミー配線で敷き詰められているとの仮定で行うものとする。
【００３７】
その後、抽出した配線抵抗Ｒおよび配線容量Ｃの値から配線遅延ＲＣを算出し、第１グループ（下位領域配線層）に割り付けられたタイミング制約に対し、タイミング違反があるか否かを検証する（Ｓ１５３）。タイミング違反がある場合は、配線遅延ＲＣが小さくなるよう、再配線を実施する（Ｓ１５４）。再び再配線に基づき、配線抵抗Ｒと配線容量Ｃを抽出し（Ｓ１５２）、タイミング違反があるか否かを検証する（Ｓ１５３）。タイミング違反がある場合は、配線を修正し、再度配線を実行する。このＳ１５２〜Ｓ１５４までのステップをタイミング違反がなくなるまで繰り返し、最終的にタイミング違反のない配線を得る。
【００３８】
なお、タイミング違反の検証とは別にクロストークの解析を行い、クロストークの点からの違反の有無を検証するステップをさらに加えてもよい。また、プロセスアンテナ制約と呼ばれる、実際にデバイスを作製していく工程で、配線間の電荷チャージ量による絶縁破壊等に対する検証ステップを加えてもよい。
【００３９】
第２グループ（上位層領域配線）の配線も、上述する第１グループの配線の場合と同様なステップで行えばよい。なお、第２グループの配線抵抗Ｒと配線容量Ｃを抽出する場合は、下位層領域の最上層配線層、即ち第３配線層がダミー配線で敷き詰められているとの仮定のもとに行う。
【００４０】
再び、図２のフローチャートに戻る。配線が終了したら、上述する配線のタイミング検証条件に合致するように、上位層領域の最下層である第４配線層、および下位層領域の最上層である第３配線層にダミー配線を加える（Ｓ１７０）。即ち、図４（ｃ）に示すように、第３配線層（Ｍ３）および第４配線層（Ｍ４）の配線が形成されていない領域にダミー配線を追加する。なお、ダミー配線は、配線実行ステップにおいて、タイミング検証の計算が、実際の配線にほぼ合致できる範囲であればよく、完全に第３配線層（Ｍ３）と第４配線層（Ｍ４）が敷き詰められている必要はない。また、すでに配線実施されている配線に短絡しないようにダミー配線を加える。
【００４１】
以上に説明するように、本発明の第１の実施の形態に係る配線設計方法では、論理セル間の配線において、配線長が基準配線長より短い第１グループと基準配線長より長い第２グループに分け、第１グループの配線を第１〜第３配線層である下位層領域で行い、第２グループの配線を第４〜第６配線層である上位層領域でそれぞれ独立に行っている。各グループの配線実施を行う際、対象となる論理セル数や論理セル間の接続本数は全体を一括して配線する場合に較べ削減できる。従って、各グループの配線を実行する際に、各ＣＰＵでの演算処理を行う上で必要となるＣＰＵ内のメモリ使用量を大幅に削減できる。
【００４２】
上述する方法では、２台のＣＰＵ（コンピュータ）を利用して、一方のＣＰＵ２０で第１グループの配線を行い、他方のＣＰＵ２０Ｂで第２グループの配線を並列して同時に実行しているため、短時間で配線を終了できる。
【００４３】
従来の階層レイアウト手法の場合は、各モジュールごとに独立して扱うため、モジュール間の配線については、他のモジュール配置領域が配線禁止領域になるため、チップ面積の増大が免れないが、上述する本発明の第１の実施の形態に係る配線設計方法では、配線禁止領域面積が少ないため、配線の自由度が高く、チップ面積を増大させる必要がない。
【００４４】
さらに、従来の階層レイアウト手法では、モジュール間の配線については、配線容量Ｃ等の抽出ができないため、チップ全体での配線タイミング制約等を正確に検証することができないが、上述する第１の実施の形態に係る配線設計方法では、ダミー配線層を形成するので、各配線層領域ごとに、配線抵抗Ｒと配線容量Ｃを正確に抽出することができる。従って、それぞれの配線層領域での配線工程で、タイミング制約、プロセスアンテナ制約などを充たすことが容易であり、チップ全体での配線の信頼性を上げることが可能である。
【００４５】
（第２の実施の形態）
第２の実施の形態に係る配線設計方法は、第１の実施形態の変形例である。即ち、第１の実施の形態では、６層配線層の場合を例に挙げ、論理セル間配線を第１グループと第２グループに分ける配線設計法について説明したが、第２の実施の形態では、９層配線層を使用する場合において、論理セル間配線を第１〜第３の三つのグループに分ける配線設計法について説明する。
【００４６】
なお、基本的な設計装置の構成および設計手法については第１の実施の形態に係るものと共通するので、図７〜図１０を参照して簡単に第２の実施の形態について説明する。
【００４７】
まず、論理セル配置情報を取得し（Ｓ２１０）、この情報をもとに、各配線の配線長を算出し、予想配線長が基準配線長未満の配線を第１グループ、基準配線長以上基準配線長の二倍未満の配線を第２グループ、基準配線長の二倍以上の配線を第３グループとし、第１グループの配線を第１配線層から第３配線層（下位層領域配線）に、第２グループの配線を第４配線層から第６配線層（中位層領域配線）に、第３グループの配線を第７から第９配線層（上位層領域配線）に割り付ける（Ｓ２２０）。なお、タイミング解析を行い、タイミング的に厳しい配線については、より上位の配線層領域に割り付ける修正を行うことが好ましい。
【００４８】
例えば、図８（ａ）に示すように、チップ５２上に論理セル端子６２ａ、６２ｂ、７２ａ、７２ｂ、７２ｃ、７２ｄが配置され、配線６２ａ−６２ｂ、配線７２ａ−７２ｂ、および配線７２ｃ−７２ｄが予想され、基準配線長が配線６２ａ−６２ｂより長く、配線７２ａ−７２ｂより短い場合は、図８（ｂ）に示すように、配線７２ｃ−７２ｄを第１グループに、配線７２ａ−７２ｂを第２グループに、配線６２ａ−６２ｂを第３グループに割り付ける。
【００４９】
次に、図９（ａ）に示すように、第２グループに属する配線端子（論理セル端子）を中位層領域に、第３グループに属する配線端子（論理セル端子）を上位層領域に引き上げる。即ち、それぞれの配線ビアを設定する（Ｓ２３０）。
【００５０】
各グループごとに配線接続情報と配置情報を抽出し、タイミング制約を各層領域に割り当てる（Ｓ２４０）。なお、この配置情報には、図９（ｂ）に示すように、各配線層領域ごとの配線端子情報と配線禁止領域となる配線ビアの情報が含まれる。
【００５１】
この後、抽出した配線接続情報および配置情報に基づき、各グループの配線を独立して実施する（Ｓ２５０〜Ｓ２７０）。なお、各グループの具体的な配線方法は図６のフローチャートと同様な方法を使用できる。この場合、各グループを同時に処理するため、第３の実施の形態に係る半導体設計装置では３台のＣＰＵを備えることが望ましい。
【００５２】
最後に、上述する配線のタイミング検証条件に合致するように、上位層領域の最下層である第７配線層（Ｍ７）、中位層領域の最上層と最下層である第４配線層（Ｍ４）と第６配線層（Ｍ６）および下位層領域の最上層である第３配線層にそれぞれ、配線が形成されていない領域を覆うダミー配線を加える（Ｓ２８０）。
【００５３】
以上に説明するように、配線数、配線層数が増加しても、配線の分割数を増やし、各グループごとに配線実施を独立に行うことができるので、各配線を行うために必要なメモリ使用量を増やさずにすむ。従って、配線の分割数に応じてＣＰＵの数を増やし各配線層領域の配線を独立に実施すれば、極めて短時間に配線処理を済ませることができる。また、各グループごとに正確な配線抵抗Ｒと配線容量Ｃを得ることができるので、チップ全体での配線の信頼性をも得ることができる。
【００５４】
（第３の実施の形態）
第３の実施の形態に係る配線設計方法は、論理セル間配線のグルーピングを第１および第２の実施の形態に係る方法と異なる方法で行うものである。
【００５５】
なお、基本的な配線設計装置の構成は、図１に示す第１の実施の形態に係る配線設計装置の構成とほぼ同様な構成を有するが、ＣＰＵの数は配線のグルーピング数に応じた数とする。
【００５６】
以下、図１１に示すフローチャートを参考にしながら、第３の実施の形態に係る配線設計方法について説明する。なお、半導体チップ上に形成される配線層の数に限定はないが、６層配線ＬＳＩの場合を例に挙げて説明する。
【００５７】
まず、セル端子間の位置や端子間の配線接続リスト等の論理セル配置情報を取得する（Ｓ３１０）。
【００５８】
次に、チップ表面を格子状の境界で、複数の領域に分割し、分割した領域内で閉じた論理セル間の配線を下位層領域配線である第１グループ、複数の分割領域をまたぐ論理セル間の配線を上位層領域配線である第２グループに分割する（Ｓ３２０）。
【００５９】
例えば、図１２（ａ）に示すように、チップ５３上に論理セル端子６３ａ、６３ｂ、７３ａ、７３ｂ、８３ａ、８３ｂが配置され、各端子を接続する配線６３ａ−６３ｂ、配線７３ａ−７３ｂ、配線８３ａ−８３ｂが予想される場合、図１２（ｂ）に示すように、チップ表面を面積の等しい４つの領域Ａ〜Ｄに分割し、各領域内で閉じた論理セル端子間配線７３ａ−７３ｂと論理セル端子間配線８３ａ−８３ｂを第１グループとし、複数の領域Ｂ，Ｃ，Ｄをまたぐ論理セル端子間配線６３ａ−６３ｂを第２グループとする。
【００６０】
一般に複数の領域にまたがる論理セル端子間接続は、比較的長い配線であり、各領域内に閉じた論理セル配線は、比較的短い配線に相当する。従って、比較的長い配線である第２グループを上位層領域配線にすれば、上位層領域配線の方が、障害物が少なく、いわゆる配線禁止領域が狭いため、直線状の配線を配置しやすく、しかも幅の広い配線も可能なことなどから配線抵抗を低くし、配線遅延を削減しやすい。
【００６１】
なお、配線のグルーピングを行うステップＳ３２０は、具体的には第１の実施の形態に係る図５のフローチャートに示す方法に準じて行うことができ、タイミング的に余裕のない配線については、第１グループではなく第２グループに属するようグルーピング条件を修正することも可能である。
【００６２】
こうして、各配線のグルーピングが終了したら、次に、上位層領域配線となる第２グループに相当する論理セルの配線端子（論理セル端子）を上位層領域まで引き上げる処理を行う（Ｓ３３０）。即ち、上位層領域に達する配線ビアを形成する。図１３（ａ）に、その配線断面モデルを示す。ここでは、ステップ３３０の処理により、上位領域配線層となる配線６３ａ−６３ｂの配線端子である論理セル端子６３ａと６３ｂを第４配線層（Ｍ４）まで引き上げる、配線ビアが設定される。
【００６３】
次に、下位層領域配線に相当する第１グループについては、分割された各領域Ａ〜Ｄごとに配線接続情報と配置情報等を抽出し、上位層領域配線に相当する第２グループについてはグループ単独で配線接続情報と配置情報等を抽出し、それぞれにチップ全体のタイミング制約を上位領域配線層の各分割領域Ａ〜Ｄと下位領域配線層とに割り付ける（Ｓ３４０）。
【００６４】
なお、この配置情報には、図１３（ｂ）に示すように、第１配線層にある論理セル端子の位置や接続情報のほかに、配線禁止領域に関する情報等も含まれる。この後、抽出した配線接続情報および配置情報に基づき、第１グループ（下位層領域配線）と、第２グループ（上位層領域配線）の配線を、複数のＣＰＵを用いて並列に独立して実施する（Ｓ３７０）。
【００６５】
なお、第１グループについては、チップ面の分割領域Ａ〜Ｄごとに抽出した配線接続情報と配置情報をもとに、各分割領域ごとに配線を実施することが望ましい。
【００６６】
配線実施ステップ（Ｓ３５０、Ｓ３６０）の具体的な方法は、図６に示した第１の実施の形態に係る方法と同様な方法を使用することができる。即ち、まず抽出した配線接続情報および配置情報に基づき第１配線層から第３配線層に至る下位層領域において、第１グループに属する配線を、各分割領域ごとに行う。配線が終了したら、実際に行った配線に基づき、各配線の配線抵抗Ｒおよび配線容量Ｃを抽出する。なお、各グループで独立にこれらの値の抽出が行えるように、上位層領域の最下層、即ち第４配線層がダミー配線で敷き詰められているとともに、下位層領域では、チップ面を分割した各分割領域の境界にシールド層が存在し、互いに隣接する分割領域の影響を受けないとの仮定のもとに行う。
【００６７】
その後、抽出した配線抵抗Ｒおよび配線容量Ｃの値から配線遅延ＲＣを算出し、第１グループ（下位領域配線層）の各分割領域に割り付けられたタイミング制約に対し、タイミング違反があるか否かを検証し、タイミング違反がある場合は、配線遅延ＲＣが小さくなるよう、再配線を実施する。こうしてタイミング違反がなくなるまで再配線を繰り返す。タイミング違反のほかにクロストークの解析や、プロセスアンテナ制約の検証ステップを加えてもよい。
【００６８】
最後に、上述する配線のタイミング検証条件に合致するように、上位層領域の最下層である第４配線層、および下位層領域の最上層である第３配線層にダミー配線を加えるとともに、下位層領域を分割領域ごとに配線実施を行う場合は、下位層領域のチップ分割領域の境界にシールド配線を設定する（Ｓ３７０）。
【００６９】
図１４（ａ）は、ダミー配線９３、１０３とシールド配線１１３が施された配線層の様子を示す。また、図１４（ｂ）は、シールド配線１１３の配置を示す配線層の平面図である。ダミー配線１０３および９３は、第３配線層（Ｍ３）および第４配線層（Ｍ４）の配線が形成されていない領域に、ほぼ敷き詰められるように形成される。また、シールド配線１１３は、下位層領域の第１配線層から第３配線層の各チップ分割領域の境界に形成される。
【００７０】
なお、ダミー配線は、配線実行ステップにおいて、タイミング検証の計算が、実際の配線にほぼ合致できる範囲であればよく、完全に第３配線層（Ｍ３）と第４配線層（Ｍ４）が敷き詰められている必要はない。また、すでに配線実施されている配線に短絡しないようにダミー配線を加える。
【００７１】
以上に説明するように、本発明の第３の実施の形態に係る配線設計方法では、上位層領域と下位層領域ごとに配線を行うとともに、下位層領域の配線についてはさらにチップ上の領域ごとに分割し、各分割領域ごとに独立に配線を実施するため、配線を実施する際にＣＰＵで使用されるメモリ使用量を大幅に削減することができる。
【００７２】
また、ダミー配線およびシールド配線を行うことで、下位層領域の配線については各分割領域ごとに独立して配線を実施するとともに配線のタイミング解析等を高い信頼性で行うことができるので、チップ全体での配線においてもタイミング制約を満足するタイミングドリブンな配線を形成できる。
【００７３】
また。第１グループの各分割領域の配線および第２グループの配線はそれぞれ独立に行うことができるので、複数台のＣＰＵを用いて並列に処理することにより、短時間で配線処理を済ますことができる。
【００７４】
さらに、第３の実施の形態では、チップ表面を４つの領域に分割する例について説明したが、分割する領域数は限定されない。また、分割領域はかならずしも同じ面積である必要はない。
【００７５】
以上、第１〜第３の実施の形態について説明したが、本発明は上述する実施の形態の説明に限定されるものではなく、種々の変形や改良が可能なことは当業者には自明である。例えば、配線のグルーピングの仕方やグルーピングの数には制限がなく、上述する配線の長さ等に限らず、配線の機能、クロック配線や電源配線等の配線については指定した配線層領域に割り付ける等のグルーピング条件を加えることもできる。また、タイミング制約が厳しい配線については、配線遅延を防止しやすい上位層領域の配線層領域に割り付けるようにグルーピングすることも可能である。
【００７６】
【発明の効果】
以上に説明するように、本発明の半導体集積回路設計装置、半導体集積回路の設計方法およびプログラムによれば、チップ面積の増大を招かず、配線時に必要なメモリ使用量を削減することができる。従って、設計期間の短縮を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る設計装置の概略構成図である。
【図２】本発明の第１の実施の形態に係る配線設計法に係るフローチャートである。
【図３】本発明の第１の実施の形態に係る配線設計方法における配線のグルーピング方法を説明するための図である。
【図４】本発明の第１の実施の形態に係る配線設計方法における各工程における配線状態の一例を示す断面図である。
【図５】本発明の第１の実施の形態に係る配線設計方法における、配線グルーピングステップを説明するフローチャートである。
【図６】本発明の第１の実施の形態に係る配線設計方法における、配線を実施するステップを説明するフローチャートである。
【図７】本発明の第２の実施の形態に係る配線設計方法に係るフローチャートである。
【図８】本発明の第２の実施の形態に係る配線設計方法における配線のグルーピング方法を説明するための図である。
【図９】本発明の第２の実施の形態に係る配線設計方法における各工程における配線状態の一例を示す断面図である。
【図１０】本発明の第１の実施の形態に係る配線設計方法における各工程における配線状態の一例を示す断面図である。
【図１１】本発明の第３の実施の形態に係る配線設計法に係るフローチャートである。
【図１２】本発明の第３の実施の形態に係る配線設計方法における配線のグルーピング方法を説明するための図である。
【図１３】本発明の第３の実施の形態に係る配線設計方法における各工程における配線状態の一例を示す断面図である。
【図１４】本発明の第３の実施の形態に係る配線設計方法における各工程における配線状態の一例を示す断面図である。
【符号の説明】
１０  記憶部
２０、２０Ａ  ＣＰＵ
３１  入力手段
３２  出力手段
５１、５２、５３  チップ
６１ａ、６１ｂ、７１ａ〜７１ｄ  論理セル端子
６２ａ、６２ｂ、７２ａ〜７２ｄ  論理セル端子
６３ａ、６３ｂ、７３ａ〜７３ｄ  論理セル端子
９１〜９３、１０１〜１０３、１２２  ダミー配線
１１３  シールド配線
【図１】
0003616611.tif 000002
【図２】
0003616611.tif 000003
【図３】
0003616611.tif 000004
【図４】
0003616611.tif 000005
【図５】
0003616611.tif 000006
【図６】
0003616611.tif 000007
【図７】
0003616611.tif 000008
【図８】
0003616611.tif 000009
【図９】
0003616611.tif 000010
【図１０】
0003616611.tif 000011
【図１１】
0003616611.tif 000012
【図１２】
0003616611.tif 000013
【図１３】
0003616611.tif 000014
【図１４】
0003616611.tif 000015