(57)【要約】【課題】隣接するビアの配線長又は配線面積を抽出し、これに基づく検証を可能とする半導体装置の設計検証装置を提供する。【解決手段】ビアが配置された配線レイアウトデータにおいて、ビアの大きさを大きくしたOversize領域を求め、Oversize領域によって分割される配線部をWireとする。Oversize領域内において、ビアの元の大きさの形状からOversize領域の所定のエッジまでの距離が所定値以下の領域をCrossとする。残りのOversize領域内の領域をHaloとする。１つのCrossに対し、これに接続したWireとHaloの総合の面積、あるいは、Wireの面積に対するCrossの数が所定値以上の場合に、不適切なビアの配置であると判断する。【選択図】図６
2010218162.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置のレイアウトから、ストレスマイグレーションによる断線不良が発生する可能性のある箇所を抽出し、設計者に追加のビアを配置させるための情報を提供する半導体装置の設計検証装置において、
該レイアウトの情報を読み込むレイアウト読み込み部と、
該レイアウトに含まれるビアについて、該ビアに影響を与える配線部分を特定し、該配線部分が所定の基準を満たしていない場合には、エラー出力を行う検証部と、
を備えることを特徴とする設計検証装置。
【請求項２】
前記検証部は、
前記ビアの大きさを大きく設定することによりオーバサイズのビアを形成し、該オーバサイズのビアによって分割される配線部分をワイヤ領域として抽出することを特徴とする請求項１に記載の設計検証装置。
【請求項３】
前記ビアと前記オーバサイズのビアの領域の境界からの距離が所定値以下の、該ビアを含む領域をクロス領域として抽出し、該オーバサイズのビアの領域内の該クロス領域以外の領域をハロー領域として抽出することを特徴とする請求項２に記載の設計検証装置。
【請求項４】
前記１つのクロス領域について、該クロス領域と、該クロス領域に接続するすべてのワイヤ領域と、ハロー領域との合計の面積が所定値以上の場合にエラーを出力することを特徴とする請求項３に記載の設計検証装置。
【請求項５】
１つの前記ワイヤ領域について、該ワイヤ領域の面積と、該ワイヤ領域に接続する前記クロス領域の数との比が所定値以上であった場合に、エラーを出力することを特徴とする請求項３に記載の設計検証装置。
【請求項６】
１つの前記ワイヤ領域について、該ワイヤ領域の面積と該ワイヤ領域に接続する前記クロス領域との合計の面積と、該ワイヤ領域に接続する該クロス領域の数との比が所定値以上であった場合に、エラーを出力することを特徴とする請求項３に記載の設計検証装置。
【請求項７】
前記エラー出力は、エラーとなった前記クロス領域の座標情報、エラーとなった該クロス領域に含まれるビアの座標情報、エラーとなった総面積の面積値、該クロス領域に接続する前記ワイヤ領域、前記ハロー領域の座標情報を出力することを特徴とする請求項３に記載の設計検証装置。
【請求項８】
半導体装置のレイアウトから、ストレスマイグレーションによる断線不良が発生する可能性のある箇所を抽出し、設計者に追加のビアを配置させるための情報を提供する半導体装置の設計検証方法において、
該レイアウトの情報を読み込み、
該レイアウトに含まれるビアについて、該ビアに影響を与える配線部分を特定し、該配線部分が所定の基準を満たしていない場合には、エラー出力を行う、
ことを特徴とする設計検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計検証装置に関する。
【背景技術】
【０００２】
半導体の製造において、半導体に配置された配線が、ストレスマイグレーションによって、導通ビアで断線不良を起こすことが知られている。その為、例えば、基板の上層と下層の配線への接続箇所にビアを複数配置（複数ビア化）したり、配線上にダミービアを配置（ダミービアの挿入）することにより不良の発生を抑えることがなされている。ストレスマイグレーションとは、金属配線中に発生するｖａｃａｎｃｙ（ベーカンシー）と呼ばれる気泡が、配線に生じるストレス（応力）の勾配によって移動する現象である。このベーカンシーが移動することによりビアにベーカンシーが集中し、ボイドと呼ばれる空隙が成長する。このように、空隙が成長することにより、断線不良が発生する。
【０００３】
図１〜図５は、従来の技術を説明する図である。
断線不良が発生するかしないかを検証するには、従来、以下の対応がなされていた。
(a) 配線幅が一定値以上の場合、複数ビアにする。
(b) 配線幅が一定値以下の場合、配線総面積と配置ビア数の比が一定値以上の場合、複数ビア化やダミービアの挿入により、配置ビア数を増やす。
【０００４】
(a)の場合、配線が複数ビア化に必要な幅を有していることから、複数化が必要な箇所の特定ができれば容易に実施可能である（他の配線トラックを占拠することなく配置が可能）。
【０００５】
(b)は隣接配置されるビアの間隔が一定値以内であることが維持され、ビアに加わる応力を一定値以下に抑えることが重要であるが、配線が分岐している場合等、従来はビアの間隔を正確に抽出することが難しかった。したがって、着目配線の面積とその配線上に配置されたビア数の比が一定値以内であるべきという基準を用いていた。
【０００６】
(b)の場合、単純に配線面積とビア数の比に基づいてビア配置数を決定しても、ビアの配置位置と周囲の状態を考慮していない為（不均一な配置でもＯＫになってしまう）、ビア間隔が非常に大きな値を取る箇所では実機において断線不良が発生する可能性がある。
【０００７】
図１において、配線の幅が太い場合には、複数ビア化する場合においても、複数のビアを配置する幅が配線にあるので、複数のビアを互いに近くに配置することが可能である。一方、配線の幅が狭い場合には、複数のビアを配置する幅が配線にないので、工夫が必要であり、場合によっては、複数ビア化が困難な場合も存在する。
【０００８】
図２において、図２（ａ）のように、配線が単純な一直線の配線ならば、ビア間隔又はその配線面積を抽出するのは容易である。したがって、どこにダミービアを配置すればよいかが分かりやすい。一方、図２（ｂ）〜（ｄ）のように、配線が分岐している場合には、各ビアに対して、配線による応力をどのように見積もるかが難しい。応力の様子を正確に知るためには、応力シミュレーションを行う必要があるが、応力シミュレーションは、複雑な式を用いて、大量の演算を行うものであるので、演算コストがかかる。したがって、この応力シミュレーションを半導体装置の大部分、あるいは、非常に広い面積にわたって行うのは、現実的ではない。したがって、応力シミュレーションは、問題となる部分に限って行うようにすべきものである。しかし、ダミービアを配置する場所を見積もる場合には、ビアが半導体装置全体にわたって存在しているので、半導体装置の非常に広い面積にわたって見積もりを行う必要があり、応力シミュレーションを行うことが出来ない。
【０００９】
実機において、断線不良を発生させないためには、(b)の基準値（比）を厳しく設定することが考えられるが、過剰なビアマージンをとることになる。結果として複数ビア化に伴う配線の仕方の自由度の低下や、ダミービアの過剰挿入による配線容量の増大といった問題を引き起こす可能性があった。
【００１０】
図３は、着目配線の面積と配線に配置されているビア数の比で示した基準をグラフに図示したものである。図３の例では、（配線面積）／（ビア数）＞０．８［μｍ２／個］となるとエラーとなり、ビアの追加配置が必要となる。
【００１１】
図４は、ビア数過剰の問題を説明する図である。図４の上の図のように、配線面積が３μｍ２であるとした場合、図３のグラフから、必要なビア数は４個以上となる。しかし、どのように配置すべきかの基準が無いので、図４の下の図のように、左側にビアが３つで、右側にビアが１つの場合であっても、検証の際には問題とはならない。しかし、実際には、左側に３つもビアがあるのは過剰であり、右側に１つしかビアが無いのは、過少である。したがって、実機では、右側のビアの位置において断線不良が発生しやすい。
【００１２】
特許文献１には、メタル配線の配線密度の低下を防止しながら、ビアホール周辺部分のメタル領域が出来るだけ広いダブル・ビア・セルを配置する方法が記載されている。
特許文献２には、ダミービアを挿入する方法が記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００７−８８１７８号公報
【特許文献２】特開２００７−３２９３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
図５に示されるように、ストレスマイグレーションは、着目ビアに対して隣接するビアまでの距離（配線面積）の関係できまる。したがって、図５（ａ）の（１）の面積が１．５μｍ２で、図５（ｂ）の（２）の面積が２．４μｍ２である場合、図３のグラフからは、ビア数は、それぞれ、左側に２個、右側に３個必要にある。このようにビアを配置したのが、図５（ｃ）である。あるいは、隣接するビアまでの距離（配線面積）が一定値未満となるようにダミービアを挿入することも可能である（図５（ｄ））。
【００１５】
本発明の課題は、隣接するビアの配線長又は配線面積を抽出し、これに基づく検証を可能とする半導体装置の設計検証装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の一側面における半導体装置の設計検証装置は、半導体装置のレイアウトから、ストレスマイグレーションによる断線不良が発生する可能性のある箇所を抽出し、設計者に追加のビアを配置させるための情報を提供する半導体装置の設計検証装置において、該レイアウトの情報を読み込むレイアウト読み込み部と、該レイアウトに含まれるビアについて、該ビアに影響を与える配線部分を特定し、該配線部分が所定の基準を満たしていない場合には、エラー出力を行う検証部とを備える。
【発明の効果】
【００１７】
本発明によれば、隣接するビアの配線長又は配線面積を抽出し、これに基づく検証を可能とする半導体装置の設計検証装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】従来の技術を説明する図（その１）である。
【図２】従来の技術を説明する図（その２）である。
【図３】従来の技術を説明する図（その３）である。
【図４】従来の技術を説明する図（その４）である。
【図５】従来の技術を説明する図（その５）である。
【図６】本発明の実施形態を説明する図である。
【図７】本実施形態のフロー（その１）である。
【図８】本実施形態のフロー（その２）である。
【図９】本実施形態のフロー（その３）である。
【図１０】本実施形態のフロー（その４）である。
【図１１】本実施形態のフロー（その５）である。
【図１２】Cross、Wire、Haloの生成の様子を説明する図である。
【図１３】図１２のような配線パターンの分割方法によって分割された場合の様子を示す図である。
【図１４】Oversize値の設定に関して説明する図（その１）である。
【図１５】Oversize値の設定に関して説明する図（その２）である。
【図１６】入力レイアウト情報に対する処理結果の様子を示す図（その１）である。
【図１７】入力レイアウト情報に対する処理結果の様子を示す図（その２）である。
【図１８】入力レイアウト情報に対する処理結果の様子を示す図（その３）である。
【図１９】入力レイアウト情報に対する処理結果の様子を示す図（その４）である。
【図２０】本実施形態と応力シミュレータとの連携について説明する図である。
【図２１】本実施形態の設計検証装置のハードウェア構成について説明する図である。
【図２２】本実施形態の検証方法を半導体装置の設計に適用する方法を示す図（その１）である。
【図２３】本実施形態の検証方法を半導体装置の設計に適用する方法を示す図（その２）である。
【発明を実施するための形態】
【００１９】
本発明の実施形態は、半導体装置の配線ビアを最適に配置する為の情報を得る設計検証装置である。具体的には、配線ビアを（例えば、配線幅まで）広げた領域の面積と、隣接する配線領域の面積と、隣接ビアがある場合にはビア間の配線領域の面積とを所定の基準値と比較して、ビア数の過不足がある場合には、その部分を表示する。これによってストレスマイグレーション耐性の改善が必要な箇所を設計者に知らせ、対策を講じる事ができるように、ビア設計の検証を行う装置である。
【００２０】
図６は、本発明の実施形態を説明する図である。
配線の設計情報に基づいて、2段階で配線を分割する（干渉領域を設定する）ことにより、配線分割及び各ビアにおける面積算出を可能にする。干渉領域は以下の役割を持っている。
（１）ストレスの影響を考慮した配線分割を可能とする。
（２）一定領域にビアが複数配置されていた場合、どのビアにどの配線のストレスが波及するかを定義可能とする。干渉領域はビアの領域を大きくする（ビアをOversizeにする）ことで作成される。この時のOversize値をパラメータとすることにより、（１）（２）の配線分割度合いをコントロール可能とする。
【００２１】
図６は、実施形態の動作のイメージ図であり、上の図においては、元の大きさのビアの情報をより大きな領域を覆うような情報に書き換えて、配線の情報との重なりかたを見る。Oversizeにされたビアが覆う配線部分は、Crossと呼び、配線とビアが交差する領域とする。Cross領域内のビアからの距離が一定値以上の部分は、Haloと呼び、複数のビアがある場合、複数のビアの影響が互いに干渉する干渉領域とする。その他の部分は、Wireと呼び、ビアから離れた配線部分を示す。
【００２２】
図７〜図１１は、本実施形態のフローである。
まず、ステップＳ１０において、処理対象レイアウトデータの指定を行う。これは、ＣＡＤ上などで、半導体装置の設計上のうち、ビアの配置に関して検証を行いたい部分を指定するものである。ステップＳ１１において、検証対象のビアを指定する。すなわち、半導体装置は、多層配線で設計されているが、このうち、処理対象となるビア層を１層指定するものである。ステップＳ１２において、検証対象Metalの指定を行う。このMetalというのは、金属でできた配線のことを意味し、半導体装置の多層に渡る配線のうち、どの配線について、検証を行うかを指定するものである。この指定では、ビアの上層又は下層のMetal層を指定する。ステップＳ１３において、ビアのOversize値”Ｘ”の指定を行う。これは、ビアの情報を大きなサイズの情報に書き換える場合、その拡大されたビアの大きさを指定するものである。具体的に、サイズを指定する。
【００２３】
ステップＳ１０からステップＳ１３は、処理に関する指示を与える情報であり、これらの情報を記載したファイルを制御ファイルとして作成し、外部から与えることも可能である。したがって、ステップＳ１０からステップＳ１３の順序は、特に図７に示された順序に限らない。
【００２４】
ステップＳ１４において、レイアウトデータの読み込みを行う。レイアウトデータとは、ＧＤＳＩＩ、ＯＡＳＩＳ、ＤＥＦ、ＯｐｅｎＡｃｃｅｓｓ、ＭＥＢＥＳ等の物理レイアウトデータの事を指す。ステップＳ１５において、ビアのOversize領域を形成する。すなわち、ステップＳ１１で指定されたビアを、ステップＳ１２で指定されたMetal領域内に、ステップＳ１３で指定されたＸの値だけOversizeにした領域を形成する。ステップＳ１６において、配線領域（Wire）の形成を行う。すなわち、ステップＳ１２で指定されたMetal領域からステップＳ１５のビアのOversize領域を除外した（ＮＯＴした）領域としてWire領域を定義する。
【００２５】
ステップＳ１７からステップＳ１９は、交点（Cross）の形成ステップである。ステップＳ１７では、ステップＳ１５のビアのOversize領域において、ステップＳ１２のMetal領域とOversize領域の共有エッジを抽出し、この共有エッジとステップＳ１１で指定されたビアの内包値（もともとのビアを示す範囲）との距離がステップＳ１３で指定されたＸの値以下となる領域を抽出する。次に、ステップＳ１８では、ステップＳ１５のビアのOversize領域において、ステップＳ１２のMetal領域とOversize領域との非共有エッジを抽出し、この非共有エッジと、ステップＳ１１で指定されたビアとステップＳ１７の抽出領域を合成（ＯＲ）した領域との内包値（非共有エッジと、ビアと抽出領域をＯＲした領域とを含む内部の領域）との距離がステップＳ１３で指定したＸの値以下となる領域を抽出する。そして、ステップＳ１９において、ステップＳ１１で指定されたビアと、ステップＳ１７の抽出領域と、ステップＳ１８の抽出領域を合成（ＯＲ）した領域を交点（Cross）として定義する。
【００２６】
ステップＳ２０では、ステップＳ１５のビアのOversize領域から、ステップＳ１９の交点（Cross）領域を除外（ＮＯＴ）した領域を干渉領域（Halo）として定義する。
ステップＳ２１において、ｎ＝１とし、ステップＳ２２において、ｎ番目の交点（ＣＲＯＳＳ｛ｎ｝）を抽出し、ステップＳ２３において、交点ＣＲＯＳＳ｛ｎ｝と接続するWireとHaloを抽出する。ステップＳ２４において、設計ルール違反か否かを判断する。ステップＳ２４の判断においては、１つのビアに対して、接続可能な配線の最大面積をＹとすると、総面積＝（Crossの面積）＋（接続するすべてのWireの面積）＋（接続するすべてのHaloの面積）＞Ｙとなる場合に設計違反であると判断する。ステップＳ２４の判断で、設計ルール違反がないと判断された場合には、ステップＳ２６に進む。ステップＳ２４の判断で、設計ルール違反があると判断された場合には、ステップＳ２５でエラーレポートを出力して、ステップＳ２６に進む。エラーレポートとしては、エラーとなったCrossの座標情報、エラーとなったCrossに含まれるビアの座標情報、エラーとなった総面積の面積値、Crossに接続するWire、Haloの座標情報を出力することが一例として考えられる。エラーレポートは、エラーと判定されたCrossごとに生成されるが、処理結果を１つにまとめてファイルに出力することも可能である。また、エラーレポートは、ＧＵＩ（Graphical  User  Interface）を介して、レイアウトデータ上で視覚的に確認可能なように表示してもよい。ステップＳ２６では、ｎ＝ｎ＋１として、ステップＳ２７で、ｎがCrossの総数（総数ｍ）以上か否かを判断し、ＮｏならばステップＳ２２に戻り、Yesならば処理を終了する。
【００２７】
なお、上記では、処理対象となるビア層を１層指定するとしたが、複数層指定することも可能である。この場合、ビア層毎にステップＳ１５からステップＳ２７の処理を行うことで実現可能である。
【００２８】
配線面積の計算は以下の何れも算出可能である。
・ビアの上層Metalのみ考慮
・ビアの下層Metalのみ考慮
・ビアの上下のMetal層とも考慮
上下のMetal層とも考慮する場合は、前述のフローを以下の様にフローを変更することで実現可能となる。
・ステップＳ１２においてビアの上層、下層、両方のMetal層を選択する。
・上層、下層、それぞれのMetal層に関してステップＳ１５からステップＳ２７のフローを実行する。
【００２９】
この際にステップＳ２４の判定は行わず、CROSS毎に算出された面積値をCROSSに内包されるビアの属性として付与する。各々のビアには上層、下層配線層に関して算出された面積値が属性として与えられているので、これを合算した上でステップＳ２４の判定を行う。
【００３０】
本実施形態では、Metal層をCROSS／WIRE／HALOに分割することで、ストレスマイグレーションの解析を容易とするものであり、CROSS／WIRE／HALOを用いた式であれば、ステップＳ２４の判定式は別の式を用いることも可能である。
【００３１】
図１１は、図１０のステップＳ２１以降の別実施形態である。ステップＳ３０において、ｎ＝１とし、ステップＳ３１において、配線ＷＩＲＥ｛ｎ｝を抽出する。ステップＳ３２において、配線ＷＩＲＥ｛ｎ｝と接続するCrossを抽出し、ステップＳ３３において、設計ルール違反か否かを判断する。ステップＳ３３の設計ルール違反の判断においては、１つのビアあたりに支えることが可能な配線面積をＺとすると、（ＷＩＲＥ｛ｎ｝の面積）／（Crossの数）＞Ｙあるいは、（ＷＩＲＥ｛ｎ｝の面積＋全Crossの面積）／（Crossの数）＞Ｙに該当する場合、設計ルール違反と判断する。ステップＳ３３の判断がＮｏの場合には、ステップＳ３５に進み、ステップＳ３３の判断がＹｅｓの場合には、ステップＳ３４において、エラーレポートを出力して、ステップＳ３５に進む。ステップＳ３５においては、ｎ＝ｎ＋１を計算し、ステップＳ３６において、ｎがｍ（Wireの総数）以上か否かを判断する。ステップＳ３６の判断がＮｏの場合には、ステップＳ３１に戻り、Ｙｅｓの場合には、処理を終了する。なお、Ｘ、Ｙ、Ｚは、設計者が適宜定めるものとする。
【００３２】
このように、「１つのビアに接続可能なMetal面積」ではなく、「１つのWIREの面積を何個のViaで支えているか」（＝area（WIRE）/num（CROSS）＞Z）という判定式に置き換えることが可能である。
【００３３】
図１２は、Cross、Wire、Haloの生成の様子を説明する図である。
図１２の（１）は、ビアをOversizeにした様子である。（２）に示される領域ＡがビアをOversizeにして残ったMetal部分の領域である。次に、Oversize領域のうち、Metalとの共有エッジと元のビア（ビアの内包）との距離がOversize値Ｘ以下の領域を抽出する。この領域は、（３）のＢの領域である。更に、Oversize領域のうち、Metal内部のエッジと領域Ｂの内包（内部の領域）との距離がＸ以下の領域を抽出する。この領域は、（４）のＣの領域である。そして、ビアと、領域Ｂと、領域Ｃを合わせたものをCrossとし、Oversize領域のうち、Cross以外の領域をHaloとする。このようにして、（５）に示すように、配線のMetalがWireと、Crossと、Haloに分割される。そして、１つのCrossと、これに接続されているすべてのHaloとWireを合わせた領域が、Crossが特定するビアに影響のある配線部分となる。（６）に示されるように、領域ＤがCross1に影響のある領域である。また、（７）は、Cross２に影響のある領域Ｅを、（８）は、Cross３に影響のある領域Ｆを示している。なお、Haloは、無い場合があるので、この場合には、Haloの面積はゼロとすればよい。
【００３４】
図１３は、図１２のような配線パターンの分割方法によって分割された場合の様子を示す図である。
図１３の左側の配線パターンを上記方法により分割すると、図１３の右側のように、すべての配線パターンが、Wire、Cross、Haloに分割される。そして、各Crossについて、Crossに接続されるHaloとWireとを合わせた領域を、当該Crossに影響を与える領域とする。Haloが無い場合は、Haloの面積はゼロとして扱う。
【００３５】
図１４及び図１５は、Oversize値の設定に関して説明する図である。
図１４（ａ）は、ビアが横方向の配線の真ん中に位置している場合であり、Oversize値を設定して、Wireを分割している。図１４（ｂ）は、ビアの位置が上方向にずれた場合であり、この場合にも図１４（ａ）と同様の分割をしようとすると、ビアの下側のOversize値が大きく必要となる。図１４（ｃ）は、更に、ビアが上側に移動した場合であり、この場合には、横方向のWireが分割されていない。図１４（ｄ）においても、ビアが縦方向の配線内部に入り込み、横方向の配線はまったく分割されておらず、これを分割するためには、Oversize値をかなり大きく設定しなおさなくてはならない。このように、適切にWireを分割する場合には、Oversize値の設定が重要になってくる。したがって、Oversize値の設定においては、以下の事実を勘案する。
干渉領域（Halo）を形成する際のOversizeの値として、
Oversize値＝｛対象となる配線の最大幅｝−｛ビアサイズ｝
をとるのが一般的な考え方である。Oversize値がこれより小さいと配線が分割できない場合がある一方、Oversize値がこれより小さいとCross, Haloを小さく設定できる。Oversize値がこれより大きいと交点を分割しやすい（分割しすぎる）が、Oversize値がこれより大きいとCross, Haloが大きくなり、Wireが小さくなる。
【００３６】
図１５において、横方向の配線について処理をしようとしている場合、図１５（ａ）は、横方向の配線から見て、左上のビアは、右下のビアのCrossの外にあるので、横方向の配線との接続関係が残っており、処理可能である。しかし、図１５（ｂ）のようになると、縦方向の配線が右下のビアのCrossによって覆われてしまい、横方向の配線からの接続関係が切れてしまう。この場合、左上のビアは処理対象からはずされてしまう。
【００３７】
したがって、配線分岐部近傍複数ビア配置時の処理の場合には、次のことを考慮する。すなわち、対象の配線上にあるビア（Cross）に対しては、アクセス可能である。別のビアをOversize化した領域が配線幅を全て覆い隠してしまう場合は、考慮したいビア（Cross）へのアクセスが行えない場合が発生する。以上を考慮して、Oversize値を決定する。
【００３８】
図１６〜図１９は、入力レイアウト情報に対する処理結果の様子を示す図である。
図１６（ａ）、（ｂ）は、入力レイアウトの例を示す。Metalの交点部分に２つずつビアが配置されている例であるが、ビアの位置がそれぞれ異なっている。点線内で囲まれた部分が検証したい部分である。図１７は、検証結果を示しており、図１７（ａ）が図１６（ａ）の検証結果であり、図１７（ｂ）が図１６（ｂ）の検証結果である。図１７のような表示のほかに、Crossごとに、これに接続するすべてのWireとHaloの面積やWireのCross数に対する比などを計算し、設計ルール違反となった部分については、ハイライトして表示するなどの処理を施す。
【００３９】
図１８は、より大きな配線群の入力レイアウトであり、図１９は、図１８の検証結果である。図１８に示すように、それぞれのビアについて、Cross領域、Wire領域、Halo領域が設定される。隣接したビアの存在や、分岐部におけるビアの位置によって、さまざまな領域分割が行われていることがわかる。
【００４０】
図２０は、本実施形態と応力シミュレータとの連携について説明する図である。
チップレベルで全ての配線層及びビアを対象とした応力シミュレーションを実施しようと試みた場合、対象となるデータ量が膨大で、処理しきれない可能性がある。そこで、本実施形態の検証フローを応力シミュレータの前処理として利用する。本実施形態の処理結果を危険箇所として応力シミュレータに引き渡すことにより、危険箇所に関する詳細解析のみを選択的に短時間で実施することが可能となる。
【００４１】
図２０において、ステップＳ４０からステップＳ４４が本実施形態の動作であり、ステップＳ４５の応力シミュレータのシミュレーションの前処理となる。ステップＳ４１で、配線領域（Wire）の形成を行い、ステップＳ４２において、交点（Cross）と干渉領域（Halo）を形成する。ステップＳ４３で、Crossごとに、設計ルールに基づいた面積計算等を行い、ステップＳ４４において、ルール違反箇所を危険箇所として抽出し、ステップＳ４５の応力シミュレーションを行うべき箇所として危険箇所の情報を応力シミュレータに渡す。
【００４２】
図２１は、本実施形態の設計検証装置のハードウェア構成について説明する図である。
設計検証装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク：ＣＤ−ＲＯＭやＤＶＤ等も含む）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００４３】
ここで、ＣＰＵ１０１は、設計検証装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００４４】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを設計支援装置に読み取らせたりする。
【００４５】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４６】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４７】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４８】
スキャナ１１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４９】
図２２及び図２３は、本実施形態の検証方法を半導体装置の設計に適用する方法を示す図である。
図２２は標準的な配線配置フローを表した図である。
【００５０】
ステップＳ５０において、チップ論理回路とエレメントのライブラリから情報を得て、チップ上にエレメントを配置する。ステップＳ５１において、配線を行う。このとき、ビアを複数ビア化したり、ダミービアを挿入したりする。ステップＳ５２において、チップ内部の設計ルールチェックを行い、ルール違反がある場合には、ステップＳ５１に戻って配線をしなおす。設計ルールチェックがＯＫになったら、ステップＳ５３でチップデータをチップ物理データとして出力し、処理を終了する。設計ルールは、設計開始前に決定され、自動配置及び配線を行ったチップのレイアウトに対し自動的に適用され、設計ルールを満たすまで、設計装置は、エレメントの再配置、再配線を繰り返す。
【００５１】
配線と同時或いは配線後に設計ルールチェック（Design Rule Check：DRC）を実施し、違反が検出された場合、再配線を実施するフローが存在する。このDRCに本実施形態の検証方法を組み込むことにより、既存配置配線フローを大きく変えることなく、ストレスマイグレーションによる断線不良が発生しない適切なビア挿入が可能となる。ビア挿入に関しては複数ビア化、ダミービアの挿入の何れを行っても良い。またユーザ設定により優先的にどちらかの処理を実施することも可能である。
【００５２】
図２３に、本実施形態の検証方法を半導体装置の設計に適用する方法の別の例を示す。
図２３は既存の配置配線処理終了後の後処理としてビア挿入を行うフローを表した図である。図２３において、図２２と同様の処理には同じ参照符号を付して、詳細な説明を省略する。図５５の内部DRCは、本実施形態の検証方法を含まない設計ルールのチェックである。本実施形態の検証方法は、ステップＳ５６のDRCにおいて適用される。ステップＳ５６の追加DRCにおいて、NGが出る場合には、複数ビア化あるいはダミービアの挿入を繰り返し行い、ステップＳ５６でOKが出るまで繰り返す。ステップＳ５６でOKが出たら、チップデータをチップ物理データとして出力して、設計を終わる。
【００５３】
配置配線終了後、本実施形態の検証を実施し、違反が検出された場合、ビア挿入を実施する。この方法を使用すれば、配置配線ツールに依存することなく、外部処理として、ストレスマイグレーションによる断線不良が発生しない適切なビア挿入が可能となる。ビア挿入に関しては複数ビア化、ダミービアの挿入の何れを行っても良い。またユーザ設定により優先的にどちらかの処理を実施することも可能である。
【符号の説明】
【００５４】
１００      バス
１０１      ＣＰＵ
１０２      ＲＯＭ
１０３      ＲＡＭ
１０４      ＨＤＤ
１０５      ＨＤ
１０６      ＦＤＤ
１０７      ＦＤ
１０８      ディスプレイ
１０９      Ｉ／Ｆ
１１０      キーボード
１１１      マウス
１１２      スキャナ
１１３      プリンタ
１１４      ネットワーク
【図７】
2010218162.tif 000003
【図８】
2010218162.tif 000004
【図９】
2010218162.tif 000005
【図１０】
2010218162.tif 000006
【図１１】
2010218162.tif 000007
【図２０】
2010218162.tif 000008
【図２２】
2010218162.tif 000009
【図２３】
2010218162.tif 000010
【図１】
2010218162.tif 000011
【図２】
2010218162.tif 000012
【図３】
2010218162.tif 000013
【図４】
2010218162.tif 000014
【図５】
2010218162.tif 000015
【図６】
2010218162.tif 000016
【図１２】
2010218162.tif 000017
【図１３】
2010218162.tif 000018
【図１４】
2010218162.tif 000019
【図１５】
2010218162.tif 000020
【図１６】
2010218162.tif 000021
【図１７】
2010218162.tif 000022
【図１８】
2010218162.tif 000023
【図１９】
2010218162.tif 000024
【図２１】
2010218162.tif 000025