(57)【要約】【課題】レイアウトの工数増大を抑制した上でストレスマイグレーションの発生を低減する。【解決手段】ビア個数データベースと、設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数を算出する配線解析部と、ゲート数、配線数、およびファンアウト数によって特定される配線の平均ビア個数をビアによって接続される配線層と配線層との組合せについてそれぞれデータベースから参照する平均ビア数参照部と、設計対象の半導体装置の機能ブロックのそれぞれのファンアウト数の配線の配線数と、そのファンアウト数の配線に対してデータベースから参照された平均ビア個数とから、配線層と配線層との組合せについてビア個数を算出するビア個数算出部とを備える。【選択図】図５
2007305794.tif 000002
【特許請求の範囲】
【請求項１】
過去に設計され、ゲート数および配線層数によって分類される半導体装置の機能ブロックにおいてファンアウト数で分類される配線ごとに、その配線を他の配線層に接続するビア個数の平均値を、ビアによって接続される配線層と配線層との組合せについてそれぞれ記憶したビア個数データベースと、
設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数をビアによって接続される配線層と配線層との組合せに対してそれぞれ算出する配線解析部と、
前記ゲート数、配線数、およびファンアウト数によって特定される配線の平均ビア個数をビアによって接続される配線層と配線層との組合せについてそれぞれ前記データベースから参照する平均ビア数参照部と、
前記設計対象の半導体装置の機能ブロックにおけるそれぞれのファンアウト数の配線の配線数と、そのファンアウト数の配線に対して前記データベースから参照された平均ビア個数とから、前記配線層と配線層との組合せについてビア個数を算出するビア個数算出部とを備える、回路設計装置。
【請求項２】
過去に設計され、ゲート数および配線層数によって分類される半導体装置の機能ブロックにおいてファンアウト数で分類される配線ごとに、その配線を他の配線層に接続するビア個数の平均値を、ビアによって接続される配線層と配線層との組合せについてそれぞれ記憶した、そのようなビア個数データベースにアクセス可能なコンピュータが、
設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数をビアによって接続される配線層と配線層との組合せに対してそれぞれ算出する配線解析ステップと、
前記ゲート数、配線数、およびファンアウト数によって特定される配線の平均ビア個数をビアによって接続される配線層と配線層との組合せについてそれぞれ前記データベースから参照する平均ビア数参照ステップと、
前記設計対象の半導体装置の機能ブロックにおけるそれぞれのファンアウト数の配線の配線数と、そのファンアウト数の配線に対して前記データベースから参照された平均ビア個数とから、前記配線層と配線層との組合せについてビア個数を算出するビア個数算出ステップとを実行する、回路設計方法。
【請求項３】
前記ゲート数と配線層数から前記機能ブロックの平均寸法を算出する寸法算出ステップと、
前記平均寸法と前記ビア個数から単位面積当たりの平均ビア個数を前記配線層と配線層との組合せについてそれぞれ算出する平均算出ステップと、
前記単位面積当たりの平均ビア個数が所定の限界値に達しないことによるエラー発生の可能性を予測するエラー判定ステップと、をさらに実行する請求項２に記載の回路設計方法。
【請求項４】
前記エラー発生の可能性が予測されたときに、そのエラー発生の可能性のある前記配線層と配線層との組合せ、およびそのエラーを解消するために増加すべきビア個数を出力する出力ステップをさらに実行する請求項３に記載の回路設計方法。
【請求項５】
過去に設計され、ゲート数および配線層数によって分類される半導体装置の機能ブロックにおいてファンアウト数で分類される配線ごとに、その配線を他の配線層に接続するビア個数の平均値を、ビアによって接続される配線層と配線層との組合せについてそれぞれ記憶した、そのようなビア個数データベースにアクセス可能なコンピュータに、
設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数をビアによって接続される配線層と配線層との組合せに対してそれぞ
れ算出する配線解析ステップと、
前記ゲート数、配線数、およびファンアウト数によって特定される配線の平均ビア個数をビアによって接続される配線層と配線層との組合せについてそれぞれ前記データベースから参照する平均ビア数参照ステップと、
前記設計対象の半導体装置の機能ブロックにおけるそれぞれのファンアウト数の配線の配線数と、そのファンアウト数の配線に対して前記データベースから参照された平均ビア個数とから、前記配線層と配線層との組合せについてビア個数を算出するビア個数算出ステップとを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計技術、特に大規模回路での故障解析に有効な解析技術に関する。
【背景技術】
【０００２】
半導体装置の微細化が進むにつれて、ストレスマイグレーションによる断線が問題となってきている。ストレスマイグレーションとは、配線材料への引張応力によって形成されるボイド（空洞）、あるいは、圧縮応力によって形成されるヒロック（山）により、断線が生じる現象をいう。
【０００３】
従来から、半導体装置製造後のストレスマイグレーションの発生の可能性を設計段階で抑止する提案がなされている（例えば、特許文献１参照）。ただし、従来の技術は、半導体装置のパターン形状に基づいてストレスマイグレーション発生の可能性を摘出していた。すなわち、半導体装置の設計パターンのレイアウト後、配線パターン形状とビアとの関係、配線パターンのビア付近の寸法等を基にストレスマイグレーション解析が実施されていた。このため、ストレスマイグレーション解析によって断線の恐れのある箇所を摘出することはできた。
【０００４】
図１に、従来のストレスマイグレーション解析の処理手順を示す。この手順では、ネットリストの作成後（Ｓ１）、ＬＳＩパターンのレイアウトが実行され、パターンデータが作成される（Ｓ２）。
【０００５】
次に、レイアウト検証が実行され、デザインルールに違反したレイアウトがないことが検証される（Ｓ３）。ここで、レイアウト検証でエラーがあった場合（Ｓ４でＹＥＳの場合）、再度レイアウトが実行され、エラー箇所が修正される（Ｓ２）。
【０００６】
一方、レイアウト検証でエラーがなかった場合Ｓ４でＮＯの場合）、ストレスマイグレーション解析が実行される（Ｓ５）。そして、ストレスマイグレーション解析でエラーがあった場合（Ｓ６でＹＥＳの場合）、再度レイアウトが実行され、エラー箇所が修正される（Ｓ２）。  一方、レイアウト検証でエラーがなかった場合Ｓ４でＮＯの場合）、レイアウト完成となる。
【特許文献１】特開２００４−２２８４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、ストレスマイグレーション解析から予見される断線の可能性を低減するため、レイアウト修正とその後の再検証が必要であった。このため、従来の技術では、レイアウトの修正のための工数が増大した。
【０００８】
本発明の目的は、レイアウトの工数増大を抑制した上でストレスマイグレーションの発生を低減できる技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、過去に設計され、ゲート数および配線層数によって分類される半導体装置の機能ブロックにおいてファンアウト数で分類される配線ごとに、その配線を他の配線層に接続するビア個数の平均値を、ビアによって接続される配線層と配線層との組合せについてそれぞれ記憶
したビア個数データベースと、設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数をビアによって接続される配線層と配線層との組合せに対してそれぞれ算出する配線解析部と、前記ゲート数、配線数、およびファンアウト数によって特定される配線の平均ビア個数をビアによって接続される配線層と配線層との組合せについてそれぞれ前記データベースから参照する平均ビア数参照部と、前記設計対象の半導体装置の機能ブロックにおけるそれぞれのファンアウト数の配線の配線数と、そのファンアウト数の配線に対して前記データベースから参照された平均ビア個数とから、前記配線層と配線層との組合せについてビア個数を算出するビア個数算出部とを備える、回路設計装置である。
【００１０】
本発明によれば、設計対象の半導体装置の機能ブロックについて、ゲート数、配線層数、およびファンアウト数ごとの配線数をビアによって接続される配線層と配線層との組合せに対してそれぞれ算出する。そして、そのような配線ごとの平均ビア個数を過去に設計された機能ブロックについて記憶するデータベースから参照する。このようにして、本発明の回路設計装置は、配線層と配線層との組合せに対して、設計対象の配線数と過去に設計された平均ビア数とから、設計対象のビア個数の予測値を算出することができる。
【００１１】
本回路設計装置は、前記ゲート数と配線層数から前記機能ブロックの平均寸法を算出する寸法算出部と、前記平均寸法と前記ビア個数から単位面積当たりの平均ビア個数を前記配線層と配線層との組合せについてそれぞれ算出する平均算出部と、前記単位面積当たりの平均ビア個数が所定の限界値に達しないことによるエラー発生の可能性を予測するエラー判定部と、をさらに備えるようにしてもよい。
【００１２】
本発明によれば、ゲート数と配線層数から前記機能ブロックの平均寸法を算出するので、単位面積当たりの平均ビア個数を算出し、さらに、単位面積当たりの平均ビア個数からエラーの発生を判定することができる。
【００１３】
前記エラー発生の可能性が予測されたときに、そのエラー発生の可能性のある前記配線層と配線層との組合せ、およびそのエラーを解消するために増加すべきビア個数を出力する出力部をさらに備えるようにしてもよい。
【発明の効果】
【００１４】
本発明によれば、ゲート数、配線層数、ファンアウト数、および配線層と配線層との組合せごとの情報からビア数を予測し、エラーの発生を判定するので、レイアウトの工程に関わりなく、ビアの密度の不足に起因するエラーの発生、例えば、ストレスマイグレーションの発生を判定できる。したがって、本発明によれば、レイアウトの工数増大を抑制した上で、例えば、不足したビアの密度を増加させるように情報を出力し、ストレスマイグレーションの発生を低減できる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明を実施するための最良の形態（以下、実施形態という）に係るＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ  ）の設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【００１６】
＜発明の概要＞
本設計支援装置は、ゲート間の配線情報であるネットリスト作成後、ＬＳＩパターンのレイアウト前に、設計されたＬＳＩにおけるストレスマイグレーションを事前に評価する機能を提供する。本設計支援装置は、コンピュータ上に実現される設計支援装置の１つの機能として、コンピュータ上で実行されるコンピュータプログラムによって実現される。
ここで、コンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、入出力インターフェース、入出力インターフェースに接続される外部記憶装置、表示装置、入力装置、通信装置等を有する。
【００１７】
外部記憶装置は、例えば、ハードディスク駆動装置である。また、外部記憶装置は、着脱可能な記憶媒体の駆動装置、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ  ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の駆動装置を含む。さらに、外部記憶装置として、フラッシュメモリカードの入出力装置を用いてもよい。
【００１８】
表示装置は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ  ）、液晶ディスプレイ等である。また、入力装置は、キーボード、ポインティングデバイス等である。ポインティングデバイスには、マウス、ジョイスティック、タッチパネル、静電方式のフラットなポインティングデバイス、スティック形状のポインティングデバイス等を含む。通信装置は、例えば、ＬＡＮ基板等である。
【００１９】
本設計支援装置は、ＬＳＩパターンのレイアウト前にストレスマイグレーションを解析するために、ビアの個数解析用モデルを参照する。ここで、ビアの個数解析用モデルとは、実品種からデータを集めてビア個数を統計的に求めて作成したデータの集積である。また、モデルは、ＬＳＩの機能ブロックに対応し、機能ブロックを分類する指標を提供する。
【００２０】
すなわち、本ビアの個数解析用モデルは、ゲート数、配線層数によって過去に設計されたＬＳＩの機能ブロックを分類する。さらに、本ビアの個数解析用モデルは、各機能ブロックにおけるそれぞれの配線をファンアウト数で分類する。そして、分類されたファンアウト数ごとに、そのファンアウト数で分類された配線１本当たりに使用される平均ビア個数を保持する。
【００２１】
図２および図３にビアの個数解析用モデルの例を示す。本ビアの個数解析用モデルは、コンピュータ上でＶＩＡ＿ＭＯＤＥＬ（Ｇａｔｅ，ＬＡＹＥＲ）の形式で記述される。ここで、Ｇａｔｅ：適用するブロックのゲート数、ＬＡＹＥＲ：使用配線層数である。
【００２２】
さらに、fａｎｏｕｔ：１本のＮＥＴに接続している入力端子の個数、Ｍ１−２：Ｍｅ
ｔａｌ１層配線とＭｅｔａｌ２層配線間にあるビア個数、Ｍ２−３：Ｍｅｔａｌ２層配線とＭｅｔａｌ３層配線間にあるビア個数を用いて、そのファンアウト数の１本の配線に使用されるビア個数は、以下の形式でコンピュータ上に保持される。
【００２３】
ｆａｎｏｕｔ＿ＶＩＡ｛ｆａｎｏｕｔ，    Ｍ１−２＿ＶＩＡ，  Ｍ２−３＿ＶＩＡ，
Ｍ３−４＿ＶＩＡ，  Ｍ４−５＿ＶＩＡ，  Ｍ５−６＿ＶＩＡ，  Ｍ６−７＿ＶＩＡ｝
例えば、ｆａｎｏｕｔ＿ＶＩＡ｛１，２．０，２．０，１．０，０．５，０．０５，０．０１｝と記述されている場合、”ｆａｎｏｕｔ＝１”の配線１本に対し、使用されるビア個数が過去に設計された機能ブロックの実績として平均で以下の値であることを意味する。
ＭＥＴ１−２間にあるビア個数：２個；
ＭＥＴ２−３間にあるビア個数：２個；
ＭＥＴ３−４間にあるビア個数：１個；
ＭＥＴ４−５間にあるビア個数：０．５個；
ＭＥＴ５−６間にあるビア個数：０．０５個；
ＭＥＴ６−７間にあるビア個数：０．０１個；
このようなゲート数、配線層数で分類された機能ブロックにおいて、ファンアウト数で
分類された配線ごとに、平均ビア数が計数され、コンピュータ上のデータベース（本発明のビア個数データベースに相当）に保持される。図２では、ゲート数４００、配線層数７の機能ブロックについて、ファンアウト数１から９９９９までの範囲で、それぞれのファンアウト数の配線１本当たりについて、それぞれのビアの種類ごとに、使用されているビア個数が保持されている。ここで、ビアの種類とは、ビアによって接続される配線層と配線層との組合せをいう。すなわち、ビアの種類とは、どの配線層間を接続するビアであるかを特定する情報である。
【００２４】
同様に、図３では、ゲート数８００、配線層数１０の機能ブロックについて、ファンアウト数１から９９９９までの範囲で、それぞれのファンアウト数の配線１本当たりについて、それぞれのビアの種類ごとに、使用されているビア個数が保持されている。本設計支援装置は、図２あるいは図３に例示されるようなモデルで識別されるビア個数をデータベースに保持する。
【００２５】
本設計支援装置は、ＶＩＡ＿ＭＯＤＥＬ（Ｇａｔｅ，ＬＡＹＥＲ）の名称で、そのゲート数および配線層数のデータベース内のモデルにアクセスし、ファンアウト数で分類される配線ごと、かつビアの種類（どの配線層間のビアかを識別する情報）ごとに平均ビア個数を参照する。このような過去の実績情報を分類したモデルを参照することにより、本設計支援装置は、以下の手順でストレスマイグレーションを解析する。
（１）本設計支援装置は、設計中の半導体装置のネットリストから、機能ブロックごとのゲート数およびｆａｎｏｕｔごとの配線本数を求める。ここで、ネットリストとは、素子の接続関係およびそれぞれのモデルパラメータ、値などで論理回路を記述したものである。ネットリストにより、ある機能を有する電子回路を所定の機能ブロック（ゲートあるいは、ゲートの集合など）に相当するセルの接続関係が表現される。
（２）次に、本設計支援装置は、ゲート数と使用配線層数から、機能ブロックごとに適したビアの個数解析用モデルを選択する。
（３）次に、本設計支援装置は、ブロックごとに選択した個数解析用モデルに基づき、機能ブロック内のｆａｎｏｕｔごとの平均ビア数と、解析対象の実際の配線本数から、ビアの種類ごとにビア個数を求められる。
（４）次に、本設計支援装置は、得られたビア個数と機能ブロックのゲート数とにより、単位面積当たりのビア数を求める。そして、単位面積当たりのビア数をストレスマイグレーションが発生しない最小ビア数のデータと比較する。この最小ビア数は、実験値あるいは経験値として求められる値である。そして、設計対象の半導体装置において、ビア個数が不足していれば（最小ビア数よりも少なければ）、本設計支援装置は、ストレスマイグレーションが発生すると判断する。
（５）ストレスマイグレーション発生の恐れがあるビアがブロックにあれば、本設計支援装置は、そのブロックのブロック名とビア種類および不足ビア個数を求める。
（６）そして、本設計支援装置は、レイアウト検証前に（５）で求めたブロックのレイアウトの修正を設計者に促し、レイアウト後の検証でエラーの発生する可能性を低減させる。
【００２６】
＜処理フロー＞
図４Ａ、および図４Ｂに、本設計支援装置の処理フローを示す。この処理では、設計支援装置は、まず、設計中の半導体装置内の１つのブロックのネットリストを参照する（Ｓ１１）。
【００２７】
次に、設計支援装置は、ネットリストからその機能ブロックのゲート数およびファンアウトごとの配線本数を求める（Ｓ１２）。この処理を実行する設計支援装置のＣＰＵが、本発明の配線解析部に相当する。
【００２８】
次に、設計支援装置は、その機能ブロックのゲート数および設計対象の仕様にて決定している使用可能な配線層数から、当該ブロックに適したビアの個数解析用モデルを選択する（Ｓ１３）。
【００２９】
そして、設計支援装置は、そのモデルから、ブロックに含まれるファンアウトごとに、１本の配線当たりに使用される平均ビア数を参照する。この処理を実行する設計支援装置のＣＰＵが、本発明の平均ビア数参照部に相当する。そして、そのブロックのファンアウト数ごとの配線本数と、ファンアウト数ごとの１本の配線当たりに使用される平均ビア数の積をビアの種類ごとに（すなわち、ビアが接続する配線層ごとに）求める（Ｓ１４）。この処理を実行する設計支援装置のＣＰＵが、本発明のビア個数算出部に相当する。
【００３０】
次に、設計支援装置は、ファンアウト数ごとに求めたビアの種類ごとの個数から、ブロック内にもつビア種類ごとのトータル個数を求める（Ｓ１５）。
【００３１】
次に、設計支援装置は、ブロックのゲート数および配線層数から、ブロックの占める寸法（セルの面積）を求める。この処理を実行する設計支援装置のＣＰＵが、本発明の寸法算出部に相当する。
なお、ブロックの占める寸法は、ゲートの種類、ゲート数、および配線層数に応じて経験値として算出式（実験式）を定義できる。そして、設計支援装置は、ビア種類ごとに、単位面積当たりの予想ビア個数を求める（Ｓ１６）。この処理を実行する設計支援装置のＣＰＵが、本発明の平均算出部に相当する。
【００３２】
次に、設計支援装置は、ストレスマイグレーションが発生しない最小ビア個数に関するデータを参照する。装置は、最小ビア個数に関するデータは、ＬＳＩのテクノロジ（最小線幅）等に応じて、技術評価の実験により、あるいは経験的に蓄積された数値である。
【００３３】
そして、設計支援装置は、単位面積当たりの予想ビア個数と、技術評価の実験で得たストレスマイグレーションが発生しない最小ビア個数のデータをビア種類ごとに比較する（Ｓ２１）。この処理を実行する設計支援装置のＣＰＵが、本発明のエラー判定部に相当する。
【００３４】
そして、単位面積当たりの予想ビア個数が、その最小ビア個数に足りなければ、そのブロック内でストレスマイグレーションのエラーが発生すると判定し、不足するビア個数を算出する。
【００３５】
そして、エラーが発生すると判定された場合（Ｓ２３でＹＥＳの場合）、設計支援装置は、エラーが発生したブロックと、ビアの種類と、不足ビア個数を抽出する（Ｓ２４）。そして、設計支援装置は、そのブロックと、ビアの種類と、不足ビア個数を表示装置に出力する（Ｓ２５）。この処理を実行する設計支援装置のＣＰＵが、本発明の出力部に相当する。これにより、設計支援装置は、レイアウト時にブロック内のエラー発生を回避するようにレイアウトの変更を設計者に促す。
【００３６】
図５に、本設計支援装置による半導体装置の設計手順を示す。この手順では、まず、ストレスマイグレーションの事前解析が実行される（Ｓ３１）。この処理は、図５および図６に説明した通りである。その結果、修正すべきブロック名と、ビアの種類と、不足するビア個数が出力される。
【００３７】
そこで、その出力にしたがって、そのブロックの当該ビアの種類について、ビア個数が追加されてレイアウトが実行される（Ｓ３２）。
【００３８】
さらに、レイアウト検証が実行される（Ｓ３３）。レイアウト検証でエラーがあった場合（Ｓ３４でＹＥＳの場合）、Ｓ３２の手順が再度実行される。
【００３９】
一方、レイアウト検証でエラーがなかった場合（Ｓ３４でＮＯの場合）、ストレスマイグレーション解析が実行される（Ｓ３５）。この解析手順は、従来と異なるものではない。しかしながら、すでに、Ｓ３２のレイアウトにおいて、不足するビア個数が予め追加されてレイアウトがなされているので、Ｓ３５において、エラーが検知される割合は低減されることになる。
【００４０】
ストレスマイグレーション解析の結果、エラーが発生すると（Ｓ３６でＹＥＳの場合）、従来と同様に、Ｓ３２に戻り、再度レイアウトが実行される。ストレスマイグレーション解析の結果、エラーがない場合（Ｓ３６でＹＥＳの場合）、レイアウト完成となる。
【００４１】
以上述べたように、本実施形態の設計支援装置によれば、レイアウトの実行およびレイアウト検証前に、ネットリストの情報を基に、単位面積当たりのビア個数を予測する。この予測は、ゲート数、配線層数で分類される機能ブロックのモデルごとに蓄積されたファンアウト数ごとの配線に対して使用された平均ビア数の実績値に基づいてなされる。
【００４２】
そして、その予測された単位面積当たりのビア個数が実験的あるいは経験的に求められているストレスマイグレーションが発生しない最小ビア個数のデータと比較される。そして、予測された単位面積当たりのビア個数が最小ビア個数に足りない場合には、不足数だけビア個数を増加したレイアウトが促される。その結果、レイアウト後のパターンには、すでに、経験的に必要なビア個数が含まれることになり、レイアウトおよびレイアウト検証後に実行されるストレスマイグレーション解析においてエラーが発生する可能性を低減できる。したがって、設計工数の増加を抑制した上で、ストレスマイグレーションを低減できる。
【図面の簡単な説明】
【００４３】
【図１】従来のストレスマイグレーション解析の処理手順を示す図である。
【図２】ビアの個数解析用モデルの例１を示す図である。
【図３】ビアの個数解析用モデルの例２を示す図である。
【図４Ａ】設計支援装置の処理フローを示す図（その１）である。
【図４Ｂ】設計支援装置の処理フローを示す図（その２）である。
【図５】設計支援装置による半導体装置の設計手順を示す図である。
【図１】
2007305794.tif 000003
【図２】
2007305794.tif 000004
【図３】
2007305794.tif 000005
【図４Ａ】
2007305794.tif 000006
【図４Ｂ】
2007305794.tif 000007
【図５】
2007305794.tif 000008