(57)【特許請求の範囲】
【請求項１】
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップと、
を、コンピュータに実行させるためのプログラム。
【請求項２】
前記指標算出ステップが、
前記故障発生確率モデル式と抽出された前記特徴の少なくとも一部の特徴についての修正コストを表す修正コスト関数とから目的関数を生成する目的関数生成ステップと、
前記目的関数を目標値以下にする各前記特徴の特徴量を算出する特徴量算出ステップと、
を含む請求項１記載のプログラム。
【請求項３】
前記指標算出ステップが、
抽出された前記特徴の各々について、前記故障発生確率モデル式における係数と単位変動幅との積を算出するステップ
を含む請求項１記載のプログラム。
【請求項４】
前記指標算出ステップが、
抽出された前記特徴のうち指定された特徴について入力された目標変動量と、前記故障発生確率モデル式における、指定された前記特徴についての係数との積を算出するステップと、
を含む請求項１記載のプログラム。
【請求項５】
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップと、
を含み、コンピュータにより実行される指標算出方法。
【請求項６】
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出する特徴抽出部と、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するモデル生成部と、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出部と、
を有する設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、半導体装置の設計のための技術に関する。
【背景技術】
【０００２】
大規模集積（ＬＳＩ：Large Scale Integrated）回路等の半導体装置は、設計及び製造後に出荷試験が行われる。出荷試験や市場で故障が検出されると、論理シミュレーション又は故障辞書等を用いた故障解析が行われ、故障候補が抽出される。故障候補に基づいて、統計的解析を行う大量故障診断（Volume Diagnosis）により故障要因が絞り込まれる。絞り込まれた故障要因に関連する故障候補を選択して、電子顕微鏡等を用いた物理解析により実際の半導体装置上の故障であるか否かが調べられ、故障原因が特定される。特定された故障原因は、半導体装置の設計や製造工程にフィードバックされ、出荷試験等で検出される故障を減少させるための変更が加えられる。
【０００３】
故障診断は、製造後の出荷試験等で故障が検出された半導体装置について、半導体装置内部の故障箇所を推定する技術である。近年は、大量故障診断において統計的解析を用いることで、更に故障要因を絞り込んだり、故障箇所を推定する手法が提案されている。
【０００４】
テクノロジの微細化、回路の大規模化に伴い、物理解析のコストが増大している。物理解析のコストを減らし、故障原因を早期に特定するためには、大量故障診断において、物理解析対象となる故障候補を的確に絞り込むことが好ましい。
【０００５】
故障解析ツールから入力される半導体装置の故障レポートに基づいて統計的解析を行って、故障要因となる特徴を故障への寄与度に応じて出力する大量故障診断方法が提案されている。故障レポートには、故障候補となるネット又は入出力ピンの情報が含まれ、オープン故障又はブリッジ故障といった故障のタイプが含まれても良い。一般的に、大量故障診断方法では、故障要因の候補となる特徴のリストが入力されるか、又は、予め診断装置に組み込まれている。ここで、故障要因となる特徴は、配線長、ビア数、配線密度のようなレイアウト情報、及びオープン故障又はブリッジ故障の要因となる配線パターン等である。この提案されている大量故障診断方法は、ある１種類の特徴に着目し、ネットリスト等の回路情報を、着目した特徴の特徴量の大きい順にソートして上位から均等に複数個のグループに分割する。各グループについて、故障数の期待値と実測値とを夫々計算する。期待値は、着目した特徴の特徴量に基づくモデル式を用いることで計算され、実測値は、故障リストから各グループに含まれる故障候補をカウントすることで計算される。また、期待値と実測値の分布の近さから、着目した１種類の特徴の故障への寄与度（又は重要度）を計算する。全ての種類の特徴について、上で述べたような処理を繰り返して各種類の特徴の故障への寄与度を計算し、寄与度の高い種類の特徴を故障要因とする。
【０００６】
しかしながら、この技術では、故障要因の特定にかかる時間の短縮を主な目的としている。また、寄与度による特徴のランキングや故障箇所についての情報を得たとしても、どの程度設計を修正すればよいのかについては、具体的には判断が難しい。たとえば、ビアが密集している領域で故障確率が高くなる場合、ビアの密集度をどこまで下げればよいかを設計者が判断するのは難しい場合が多い。また、修正の困難性も考慮しなければ、いずれの特徴について設計を修正すればよいのかの判断も適切に行うことはできない。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】M. Sharma et al.,"Efficiently Performing YieldEnhancements by Identifying Dominant Physical Root Cause from Test Fail Data", International TestConference 2008, Paper 14.3, pp.1-9
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本技術の目的は、一側面においては、半導体装置の故障を減らすために実施すべき設計変更等に対する指標を与えるための技術を提供することである。
【課題を解決するための手段】
【０００９】
本指標算出方法は、（Ａ）半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、（Ｂ）実故障数の総和を半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、（Ｃ）生成された故障発生確率モデル式から、半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップとを含む。
【発明の効果】
【００１０】
半導体装置の故障を減らすために実施すべき設計変更等に対する指標を与えることができるようになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係る設計支援装置の機能ブロック図である。
【図２】図２は、故障レポートの一例を示す図である。
【図３】図３は、故障要因リストの一例を示す図である。
【図４】図４は、係数テーブルの一例を示す図である。
【図５】図５は、実施の形態のメインの処理フローを示す図である。
【図６】図６は、学習データ生成処理の処理フローの一例を示す図である。
【図７】図７は、学習データ生成処理を説明するための図である。
【図８】図８は、学習データ生成処理を説明するための図である。
【図９】図９は、学習データ生成処理を説明するための図である。
【図１０】図１０は、学習データの一例を示す図である。
【図１１】図１１は、特徴抽出処理の処理フローを示す図である。
【図１２】図１２は、相関リストの一例を示す図である。
【図１３】図１３は、パラメータリストの一例を示す図である。
【図１４】図１４は、故障発生確率モデル生成処理の処理フローを示す図である。
【図１５】図１５は、故障発生確率モデルの式の係数などの一例を示す図である。
【図１６】図１６は、指標算出処理の処理フローを示す図である。
【図１７】図１７は、感度解析の処理フローを示す図である。
【図１８】図１８は、特徴の特徴量の単位変動量についてのリストの一例を示す図である。
【図１９】図１９は、感度解析リストの一例を示す図である。
【図２０】図２０は、ルール生成処理の処理フローを示す図である。
【図２１】図２１は、制約条件について説明するための図である。
【図２２】図２２は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１２】
図１に、本技術の一実施の形態に係る設計支援装置１００の機能ブロック図を示す。設計支援装置１００は、第１データ格納部１０１と、学習データ生成部１０２と、特徴抽出部１０３と、第２データ格納部１０４と、モデル生成部１０５と、指標算出部１０６と、入力部１０７と、第３データ格納部１０８と、出力部１０９とを有する。また、指標算出部１０６は、感度算出部１０６１と、what-if解析部１０６２と、ルール生成部１０６３とを有する。
【００１３】
第１データ格納部１０１には、例えば従来技術によって生成された故障レポート、ネットリストのデータと、レイアウトデータと、故障要因リストと、デザインルールのデータと、その他のデータとが格納されている。このようなデータについては、設計支援装置１００が接続している他のコンピュータなどから取得する場合もあれば、入力部１０７から入力される場合もある。
【００１４】
学習データ生成部１０２は、第１データ格納部１０１に格納されているデータを用いて学習データを生成して第１データ格納部１０１に格納する。特徴抽出部１０３は、第１データ格納部１０１に格納されているデータを用いて、故障発生確率モデルのパラメータとなる特徴を抽出して、第２データ格納部１０４に格納する。
【００１５】
モデル生成部１０５は、第１データ格納部１０１及び第２データ格納部１０４に格納されているデータを用いて故障発生確率モデルを生成して、当該モデルのデータを第２データ格納部１０４に格納する。指標算出部１０６は、第１データ格納部１０１及び第２データ格納部１０４に格納されているデータを用いて、設計変更等のための指標値を算出し、第３データ格納部１０８に格納する。具体的には、感度算出部１０６１は、感度という指標値を算出する。what-if解析部１０６２は、例えばユーザに指定された特徴について指定の変動量に対する故障発生確率の変化量を算出する。さらに、ルール生成部１０６３は、後に述べる目的関数から、設計変更等のための適切なルール（preferred ruleとも呼ぶ）を生成する。
【００１６】
出力部１０９は、第３データ格納部１０８に格納されているデータを、出力装置に出力する。なお、入力部１０７は、指標算出部１０６に対してユーザからのデータを出力する。但し、入力部１０７は、学習データ生成部１０２、特徴抽出部１０３、モデル生成部１０５、出力部１０９に対して、ユーザからの指示又は入力データを出力する場合もある。さらに、入力部１０７を介して、第１データ格納部１０１に格納するデータを入力する場合もある。
【００１７】
第１データ格納部１０１には、例えば図２に示すような故障レポートのデータが格納されている。故障レポートは、例えば背景技術の欄で触れた大量故障診断の解析結果として出力されるデータである。図２の例では、故障したダイ（die）の番号と、故障タイプと、故障候補ネットＩＤとが登録されるようになっている。１つのダイで、複数の故障候補ネットが特定される場合があるが、このデータからネットＩＤ毎に故障ダイ数（＝実故障数）をカウントできる。
【００１８】
また、図３に、第１データ格納部１０１に格納されている故障要因リストの一例を示す。図３の例では、故障要因となる特徴のＩＤと、名称と、定義と、修正コストとが登録されるようになっている。図３で例示しているように、故障要因となる特徴には、デザインルールとして表現可能なものを定義する。また、修正コストについては、設計変更のしやすさを表すランク（又は数値で表す）が登録されるようになっている。図３の例では、Ａが最もコストが少なく、Ｄが最もコストが大きいものとする。
【００１９】
さらに、図４に、第１データ格納部１０１に格納されているその他のデータである係数テーブルの一例を示す。図４の例では、修正コストのランク毎に、後に述べる修正コスト関数における係数の値βが登録されている。本例では、修正コストのランクＡの係数値が最も小さく、ランクがＢ、Ｃ、Ｄと上がるにつれて係数値が大きくなり、修正コストが大きくなる。
【００２０】
また、第１データ格納部１０１には、その他のデータとして、解析対象の半導体チップの個数Ｎも登録されているものとする。
【００２１】
次に、図５乃至図２１を用いて、設計支援装置１００の処理内容について説明する。まず、学習データ生成部１０２は、第１データ格納部１０１に格納されているデータを用いて学習データ生成処理を実施し、生成した学習データを第１データ格納部１０１に格納する（図５：ステップＳ１）。
【００２２】
学習データ生成処理の一例を図６に示す。学習データ生成部１０２は、故障要因リストに規定されている特定の特徴について、第１データ格納部１０１に格納されている例えばレイアウトデータからネット毎に特徴量を算出し、第１データ格納部１０１に格納する（ステップＳ１１）。
【００２３】
ステップＳ１１の処理は、例えば図７に示すような処理である。まず、学習データ生成部１０２は、ネットリストのデータにおいて未処理のネットＮiを特定する（ステップＳ２１）。そして、学習データ生成部１０２は、ネットＮiについて、レイアウトデータ等を用いて特定の特徴の特徴量を算出し、例えば第１データ格納部１０１に格納する（ステップＳ２３）。その後、学習データ生成部１０２は、未処理のネットが存在しているか判断し（ステップＳ２５）、未処理のネットが存在している場合にはステップＳ２１に戻り、未処理のネットが存在していない場合には処理を終了する。
【００２４】
例えば、特定の特徴が、Ｍ１層の配線密度が６０％となる単位エリアの数である場合には、ステップＳ２３では、Ｍ１層を通過するネットＮiの配線が通過する単位エリアのうち、配線密度が６０％以上の単位エリアの数をカウントする。そうすると、例えば図８に示すようなデータが、例えば第１データ格納部１０１に格納される。図８の例では、１０のネットが存在する場合、それぞれについて特定の特徴について算出された特徴量が登録されるようになっている。
【００２５】
図６の処理の説明に戻って、学習データ生成部１０２は、ネットリストにおける各ネットを、ステップＳ１１で算出された特徴量に応じてグループ化する（ステップＳ１３）。グループ化の手法は様々に存在しているが、１つの手法としては、特徴量の小さい順にネットをソートして、その順番で所定個数のグループにグループ化する。図８の例では、Ｎ7、Ｎ2、Ｎ3、Ｎ9、Ｎ6、Ｎ5、Ｎ1、Ｎ8、Ｎ4、Ｎ10の順番に並べられる。従って、図９に示すように、Ｎ7、Ｎ2、Ｎ3及びＮ9がグループＧ1となり、Ｎ6、Ｎ5及びＮ1がグループＧ2となり、Ｎ8、Ｎ4及びＮ10がグループＧ3となる。その他、他の特徴についても同様の処理を行って、他の観点でグループ化した結果も採用するようにしても良い。
【００２６】
さらに、学習データ生成部１０２は、グループ毎に、他の特徴について特徴量を算出し、第１データ格納部１０１に格納する（ステップＳ１５）。故障要因リストに登録されている、故障要因となる特徴のうち特定の特徴以外の各特徴について、その特徴量をグループ単位で算出する。例えば、Ｖ１層のビアのうち単一ビアの比率が８０％となる単位エリアの数という特徴の場合、Ｖ１層を通過するネットＮiの配線が通過する単位エリアのうち、単一ビアの比率が８０％となる単位エリアの数を、レイアウトデータからカウントして、グループ毎にこの数を合計する。
【００２７】
そして、学習データ生成部１０２は、故障レポートから、グループ毎に、実故障数を計数して、第１データ格納部１０１に格納する（ステップＳ１７）。図２の例では、例えばネットＩＤ毎に出現回数をカウントして、グループ毎に出現回数を合計することによって実故障数を算出する。
【００２８】
このような処理を実施することで、例えば図１０に示すようなデータが第１データ格納部１０１に学習データとして格納される。図１０の例では、グループ毎に、グループＩＤと、実故障数と、特徴１の特徴量と、特徴２の特徴量と、特徴３の特徴量と、特徴４の特徴量と、．．．が格納されているようになっている。特徴の数については故障要因リストに依存する。
【００２９】
図５の処理の説明に戻って、次に、特徴抽出部１０３は、第１データ格納部１０１に格納されているデータを用いて特徴抽出処理を実施し、処理結果を第２データ格納部１０４に格納する（ステップＳ３）。特徴抽出処理については、図１１乃至図１３を用いて説明する。
【００３０】
まず、特徴抽出部１０３は、未処理の特徴ペアｆi及びｆjを、故障要因リストから抽出する（図１１：ステップＳ３１）。そして、特徴抽出部１０３は、第１データ格納部１０１に格納されている学習データを用いて、特徴ｆiの特徴量分布と、特徴ｆjの特徴量分布との相関係数ｒijを算出し、例えば第２データ格納部１０４に格納する（ステップＳ３３）。図１０の例では、例えば特徴１の特徴量の列と、特徴２の特徴量の列とを用いて相関係数ｒ12を算出する。
【００３１】
そして、特徴抽出部１０３は、相関係数ｒijが所定値（例えば０．９５）以上であれば、特徴ペアｆi及びｆjを、第２データ格納部１０４内の相関リストに登録する（ステップＳ３５）。例えば、図１２のような相関リストが第２データ格納部１０４に格納される。図１２の例では、特徴と、その特徴と相関の強い特徴と、相関係数とが登録されるようになっている。本実施の形態では、相関係数ｒijが所定値未満であれば、相関リストに登録されない。
【００３２】
その後、特徴抽出部１０３は、故障要因リストにおいて未処理の特徴ペアが存在するか判断する（ステップＳ３７）。未処理の特徴ペアが存在する場合にはステップＳ３１に戻る。一方、未処理の特徴ペアが存在しない場合には、特徴抽出部１０３は、相関リストに登録された特徴ペアの片方を故障要因リストから除外して、残余の特徴群をパラメータリストとして第２データ格納部１０４に格納する（ステップＳ３９）。例えば、図１２の故障要因リストのうち例えば特徴の列の特徴を除外すると、パラメータリストは例えば図１３に示すようなリストとなる。図１３の例では、他の特徴と相関の小さい特徴と、相関の強い特徴ペアの一方の特徴とが、リストに登録される。
【００３３】
このような処理を実施することで、故障発生確率モデルを生成するのに用いられるパラメータとしての特徴が抽出されたことになる。具体的には、ある特徴の値を変動させると同時に他の特徴の値も変動して故障発生確率に影響を与えるといった事態を回避することができるようになる。
【００３４】
図５の処理の説明に戻って、モデル生成部１０５は、第１データ格納部１０１及び第２データ格納部１０４に格納されているデータを用いて故障発生確率モデル生成処理を実施する（ステップＳ５）。故障発生確率モデル生成処理については、図１４を用いて説明する。
【００３５】
モデル生成部１０５は、第２データ格納部１０４に格納されているパラメータリストに登録されている特徴について、第１データ格納部１０１に格納されている学習データを用いて、回帰分析を実施し、当該回帰分析の結果である係数値等を第２データ格納部１０４に格納する（ステップＳ４１）。回帰分析については、よく知られた最小二乗法やサポートベクターマシンなどの手法を用いる。
【００３６】
そうすると、特徴ｆiについて以下のような故障発生確率モデルの式が生成される。
【００３７】
【数１】
0005614297.tif 000002
【００３８】
ｐは故障発生確率であり、各グループの故障発生確率は、第１データ格納部１０１に格納されている学習データに含まれる実故障数を、半導体チップの個数で除することによって算出される。αiは、回帰分析によって算出される係数値である。Ｃは定数項を表す。
【００３９】
このような線型モデルを採用することで、１つの特徴について値を改善した場合に、故障発生確率の変動が予測できる。
【００４０】
そして、モデル生成部１０５は、回帰分析結果である係数値を、第２データ格納部１０４に格納する（ステップＳ４３）。例えば、図１５に示すようなデータを格納する。図１５の例では、定数項Ｃの値と、パラメータリストに登録されている各特徴についての係数値とが登録されるようになっている。
【００４１】
図５の説明に戻って、入力部１０７は、ユーザに対して、算出すべき指標の種類等の入力を促し、ユーザが指標の種類の入力を行った場合には、この入力データを受け付ける（ステップＳ７）。そして、入力部１０７は、指標算出部１０６に対して入力データを出力する。本実施の形態では、感度という指標、what-if解析による故障発生確率、故障発生確率を改善するためのルール（preferred rule）のいずれかを選択するようになっている。
【００４２】
そして、指標算出部１０６は、指標算出処理を実施する（ステップＳ９）。指標算出処理については、図１６乃至図２０を用いて説明する。
【００４３】
指標算出部１０６は、ユーザからの指示から、感度解析を実施すべきかを判断する（図１６：ステップＳ５１）。感度解析を実施すべき場合には、感度算出部１０６１は、感度解析を実施する（ステップＳ５３）。感度解析については、図１７乃至図１９を用いて説明する。
【００４４】
感度算出部１０６１は、第２データ格納部１０４に格納されているパラメータリストにおいて、未処理の特徴ｆiを特定する（図１７：ステップＳ７１）。そして、感度算出部１０６１は、特定された特徴ｆiの単位変動量Δiを、例えば第１データ格納部１０１から取得する（ステップＳ７３）。例えば、図１８に示されるように、特徴毎に、単位変動量Δiが格納されている。このデータは、ユーザが入力部１０７を操作して入力する場合もあれば、予め用意されている場合もある。
【００４５】
その後、感度算出部１０６１は、特定された特徴ｆiの感度ｓiを単位変動量Δiを用いて算出する（ステップＳ７５）。本実施の形態では、以下のように感度は定義される。
ｓi＝ｐ（ｆi＋Δi）−ｐ（ｆi）
＝αi×Δi
よって、ここではαi×Δiを算出する。
【００４６】
そして、感度算出部１０６１は、算出結果を、第３データ格納部１０８における感度解析結果リストに登録する（ステップＳ７７）。例えば、図１９に示すようなデータが、第３データ格納部１０８に格納される。図１９の例であれば、パラメータリストにおける特徴ｆi毎に、単位変動量Δi及び故障確率変動量ｓiが登録されるようになっている。
【００４７】
その後、感度算出部１０６１は、パラメータリストにおいて未処理の特徴が存在しているか判断し（ステップＳ７９）、未処理の特徴があればステップＳ７１に戻る。一方、未処理の特徴がなければ、元の処理に戻る。
【００４８】
このような処理を実施することで、パラメータリストに登録されている各特徴について、特徴量を変動させれば、故障発生確率がどれだけ変動しやすいかを判断することができるようになる。
【００４９】
図１６の処理の説明に戻って、感度解析処理が終了すると、元の処理に戻る。一方、ユーザからの指示が感度解析ではない場合には、指標算出部１０６は、ユーザからの指示がwhat-if解析であるか判断する（ステップＳ５５）。what-if解析であれば、what-if解析部１０６２は、入力部１０７に対して、処理対象の特徴ｆs及び当該特徴についての目標変動量ｖsの入力を促すように指示する。これに対して、入力部１０７は、これらのデータの入力をユーザに対して求め、データの入力がなされるとこれを受け付けて、what-if解析部１０６２に出力する。what-if解析部１０６２は、入力部１０７から処理対象の特徴ｆs及び当該特徴についての目標変動量ｖsの入力を受け取る（ステップＳ５７）。
【００５０】
そして、what-if解析部１０６２は、目標変動量ｖsと特徴ｆsの係数値αsとの積にて、故障発生確率の変動量Δｐsを算出し、目標変動量ｖs及び特徴ｆsに関連付けて第３データ格納部１０８に格納する（ステップＳ５９）。そして元の処理に戻る。
【００５１】
これによって、特定の特徴ｆsを目標変動量ｖsだけ修正した場合に、どれだけ故障発生確率が変動するのかについて把握することができる。
【００５２】
さらに、ユーザからの指示がwhat-if解析ではない場合には、ルール生成部１０６３は、ルール生成処理を実施する（ステップＳ６１）。ルール生成処理については、図２０及び図２１を用いて説明する。
【００５３】
まず、ルール生成部１０６３は、修正コスト関数ｇを生成し、例えば第３データ格納部１０８に格納する（図２０：ステップＳ８１）。
【００５４】
本実施の形態では、以下に示すような形の修正コスト関数ｇを用いる。
【００５５】
【数２】
0005614297.tif 000003
【００５６】
ｋは、ｋ≦ｍ（ｍは、パラメータリストに登録されている特徴の数）である。修正コスト関数ｇの変数となる特徴は、例えばユーザが入力部１０７を介して指定する場合もあれば、予め設定されている場合もある。予め設定しておく場合には、例えば修正可能な又は修正することが有効な特徴を調査しておき、それらを予め設定しておく。
【００５７】
ｆijは、特徴ｉの特徴量ｆiの内訳を表す変数であり、設計変更（修正）後の特徴量についての変数である。すなわち、以下のように表される。
【００５８】
【数３】
0005614297.tif 000004
【００５９】
より具体的には、配線密度が特徴ｉであるとすると、この変数ｆijは、例えば、ダイをメッシュ状に分割した際における各メッシュ要素ｊにおける配線密度である。
【００６０】
但し、このようにダイをメッシュ状にするだけではなく、他の分割法を採用するようにしても良い。特徴によって、内訳の設定の仕方については異なる場合もある。
【００６１】
ｆ’ijは、設計変更前の該当する特徴量であり、上で述べた例では、例えばレイアウトデータから、ダイをメッシュ状に分割した際における各メッシュ要素ｊにおける配線密度を算出することで得られる。なお、Ｍは、メッシュ要素の総数を表す。
【００６２】
βiは、特徴ｉについての重み係数値である。このような重み係数値は、図４に示したテーブルなどを用いて、特徴ｉの修正コストランクから特定される。
【００６３】
このように本実施の形態では、各特徴の修正コストは、設計変更等による特徴量の変動量の２乗に比例するものと規定される。
【００６４】
また、ルール生成部１０６３は、レイアウトデータ又はデザインルールから各特徴が取り得る値域を抽出し、例えば第３データ格納部１０８に格納する（ステップＳ８３）。例えば、第１データ格納部１０１に格納されているデザインルールに、特徴ｉについての値域が規定されている場合には、その値域を用いる。また、第１データ格納部１０１に格納されているデザインルールに、特徴ｉについての値域が規定されていない場合には、第１データ格納部１０１に格納されているレイアウトデータから、特徴ｉの特徴量ｆiが取り得る値の範囲を抽出する。
【００６５】
例えば、Ｍ１層の配線密度が特徴ｉであるとすると、この変数ｆijは、例えば、ダイをメッシュ状に分割した際における各メッシュ要素ｊにおけるＭ１層の配線密度である。図２１のように各メッシュ要素について、レイアウトデータから配線密度が計算されると、値域はｆi_min＝０．０１≦ｆi≦ｆi_max＝０．８ということになる。
【００６６】
その後、ルール生成部１０６３は、故障発生確率モデル式ｐ及び修正コスト関数ｇとから目的関数Ｆ（ｐ，ｇ）を生成する（ステップＳ８５）。本実施の形態では、目的関数Ｆ（ｐ，ｇ）は、以下のように規定される。
【００６７】
【数４】
0005614297.tif 000005
【００６８】
この（２）式の第１項は、故障発生確率モデル式ｐに由来するが、変数となる特徴の特徴量ｆiは、修正コスト関数ｇで採用されている特徴の特徴量に限定されている。すなわち、パラメータリストには登録されているが修正コスト関数ｇで用いられていない特徴の特徴量については第１項に含まれない。また、（２）式の第１項は、特徴ｉの特徴量ｆiの内訳を表す変数ｆijで記述されている。なお、第１項の重み付け係数ａと、第２項の重み付け係数ｂとは、予め設定しておいた値を用いる。ユーザが指定するようにしても良い。
【００６９】
そして、ルール生成部１０６３は、各特徴の特徴量が取り得る値域を制約として用い、既存の最適化手法（例えばGenetic Algorithmなど）によって目的関数Ｆ（ｐ，ｇ）を目標値Ｆobj以下にする各特徴の特徴量を算出し、第３データ格納部１０８に格納する（ステップＳ８７）。式で表すと以下のようになる。
【００７０】
【数５】
0005614297.tif 000006
【００７１】
制約は、ｆi_min≦ｆij≦ｆi_max（ｉは１以上ｋ以下の整数、ｊは１以上Ｍ以下の整数）とする。
【００７２】
このように、予め設定しておくか又はユーザから指定される目標値Ｆobj以下となる変数ｆijの値の組み合わせを、既存の最適化手法を用いて求める。
【００７３】
なお、解としては、単にｆij＝０．５といったような単一の値が得られた場合には、そのまま採用する。但し、設計者が分かりやすいように「Ｍ２層の配線密度が６０％以上のエリアが「５％」以下にする」や「Ｖ２層のシングルビア率を「５％」以下にする」といったようにデザインルールに沿った形で出力データを生成する。
【００７４】
一方、例えばｆij＝０．４及び０．６といったように複数の値が解として得られた場合には、［０．４，０．６］の値域で目的関数Ｆ（ｐ，ｇ）の値がＦobj以下となるのかを確認する。［０．４，０．６］の値域で目的関数Ｆ（ｐ，ｇ）の値がＦobj以下となる場合には、ｆijの解の値域を［０．４，０．６］として採用する。［０．４，０．６］の値域で目的関数Ｆ（ｐ，ｇ）の値がＦobj以下とならない場合には、Ｆobj以下となる範囲を［０．４，０．６］で探して、その値域を出力する。場合によっては０．４及び０．６のみが上記のような条件を満たす場合もある。出力形式は、上で述べたようにデザインルールに沿った形にする。
【００７５】
以上のような処理を実施することによって、制約条件を満たしつつ目的関数Ｆ（ｐ，ｇ）が目標値Ｆobj以下となる各特徴の特徴量の内訳を得ることができる。なお、（１）式が成り立つので、特徴ｆiについての解を算出しても良い。
【００７６】
このような処理を実施すると図１６の処理に戻り、さらに図５の処理に戻る。そうすると、出力部１０９は、第３データ格納部１０８に格納されている処理結果のデータを、表示装置等の出力装置に出力する（ステップＳ１０）。ユーザが感度解析を指定した場合であれば、図１９に示すようなデータを出力することによって、どの特徴が感度が高いかを把握することができるようになる。すなわち、どの特徴についての特徴量を変動させれば、より効率的に故障発生確率を低減させることができるのかを把握することができるようになる。
【００７７】
但し、感度が高くても変動させるのが困難であったり、修正するコストが高くなる特徴がある場合もある。このような場合には、ルール生成部１０６３によって、ルール生成を行えば、修正コストを加味した形で、各特徴についての目標値が定量的に出力されるようになるため、設計者は目標値を目安に設計変更等を行うことができるようになる。例えば、［０．４，０．６］が解として得られた場合には、その特徴の特徴量がこの範囲外とならないように設計変更等を行えばよい。
【００７８】
同様に、０．０５が解として得られた場合には、０．０５に特徴量を近づけるように設計変更等を行う。
【００７９】
また、特定の特徴であれば特定の特徴量だけ簡単に変動させることができることが分かっているような場合であれば、what-if解析において、特定の特徴について特定の変動量を指定して、効果である故障発生確率の変動を把握することもできる。
【００８０】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、設計支援装置の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成とは一致しない。
【００８１】
また、処理フローについても処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。
【００８２】
上記の修正コスト関数や目的関数については、同様の主旨を表す他の関数を用いても良い。
【００８３】
なお、上で述べた設計支援装置１００は、コンピュータ装置であって、図２２に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８４】
以上述べた本実施の形態をまとめると、以下のようになる。
【００８５】
本指標算出方法は、（Ａ）半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、（Ｂ）実故障数の総和を半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、（Ｃ）生成された故障発生確率モデル式から、半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップとを含む。
【００８６】
このように故障発生確率モデル式から定量的な指標値が得られるため、設計変更等の具体的な目安を得ることができるようになる。
【００８７】
なお、上で述べた指標算出ステップが、故障発生確率モデル式と抽出された特徴の少なくとも一部の特徴についての修正コストを表す修正コスト関数とから目的関数を生成する目的関数生成ステップと、目的関数を目標値以下にする各特徴の特徴量を算出する特徴量算出ステップとを含むようにしてもよい。このようにすれば、修正コストを考慮した上で故障発生確率を下げるのに好ましい各特徴についての目標値を得られるようになる。
【００８８】
さらに、上で述べた指標算出ステップが、抽出された特徴の各々について、故障発生確率モデル式における係数と単位変動幅との積を算出するステップを含むようにしてもよい。このようにすれば、感度の高い特徴を特定することができるようになる。
【００８９】
また、上で述べた指標算出ステップが、抽出された特徴のうち指定された特徴について入力された目標変動量と、故障発生確率モデル式における、指定された特徴についての係数との積を算出するステップとを含むようにしてもよい。このようにすれば、どの程度故障発生確率を変動させるのかを具体的に把握することができるようになる。
【００９０】
なお、上で述べた目的関数生成ステップが、抽出された特徴の少なくとも一部である第２の特徴の各々の内訳を表す変数と当該変数の特定の特徴量との差の二乗の総和を、第２の特徴について重み付け加算した修正コスト関数を生成するステップと、故障発生確率モデル式における第２の特徴についての項の総和と修正コスト関数との重み付け加算によって目的関数を生成するステップとを含むようにしてもよい。これによって、適切に修正コストを目的関数に反映させることができるようになる。
【００９１】
さらに、上で述べた特徴量算出ステップにおいて、抽出された特徴の少なくとも一部である第２の特徴の値の範囲を、所定のデザインルール又は半導体装置のレイアウトデータから抽出して制約条件として用いるようにしてもよい。これによって、現実的な制約条件が設定されるようになる。
【００９２】
また、上で述べた特定の特徴量を、半導体装置のレイアウトデータから抽出するようにしてもよい。
【００９３】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００９４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９５】
（付記１）
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップと、
を、コンピュータに実行させるためのプログラム。
【００９６】
（付記２）
前記指標算出ステップが、
前記故障発生確率モデル式と抽出された前記特徴の少なくとも一部の特徴についての修正コストを表す修正コスト関数とから目的関数を生成する目的関数生成ステップと、
前記目的関数を目標値以下にする各前記特徴の特徴量を算出する特徴量算出ステップと、
を含む付記１記載のプログラム。
【００９７】
（付記３）
前記指標算出ステップが、
抽出された前記特徴の各々について、前記故障発生確率モデル式における係数と単位変動幅との積を算出するステップ
を含む付記１記載のプログラム。
【００９８】
（付記４）
前記指標算出ステップが、
抽出された前記特徴のうち指定された特徴について入力された目標変動量と、前記故障発生確率モデル式における、指定された前記特徴についての係数との積を算出するステップと、
を含む付記１記載のプログラム。
【００９９】
（付記５）
前記目的関数生成ステップが、
抽出された前記特徴の少なくとも一部である第２の特徴の各々の内訳を表す変数と当該変数の特定の特徴量との差の二乗の総和を、前記第２の特徴について重み付け加算した修正コスト関数を生成するステップと、
前記故障発生確率モデル式における前記第２の特徴についての項の総和と前記修正コスト関数との重み付け加算によって前記目的関数を生成するステップと、
を含む付記２記載のプログラム。
【０１００】
（付記６）
前記特徴量算出ステップにおいて、
抽出された前記特徴の少なくとも一部である第２の特徴の値の範囲を、所定のデザインルール又は前記半導体装置のレイアウトデータから抽出して制約条件として用いる
付記２記載のプログラム。
【０１０１】
（付記７）
前記特定の特徴量を、前記半導体装置のレイアウトデータから抽出する
付記５記載のプログラム。
【０１０２】
（付記８）
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出するステップと、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するステップと、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出ステップと、
を含み、コンピュータにより実行される指標算出方法。
【０１０３】
（付記９）
半導体装置上に実装された回路のグループ毎に当該グループにおいて発生した実故障数と故障要因となる各特徴についての特徴量とを格納する第１データ格納部に格納されているデータを用いて、互いに独立な特徴を抽出する特徴抽出部と、
前記実故障数の総和を前記半導体装置の数で除することによって得られる故障発生確率を、抽出された特徴の各々の特徴量と対応する係数との積の和を含む関係で表す故障発生確率モデル式を、前記第１データ格納部に格納されているデータを用いて回帰計算を実施することで生成するモデル生成部と、
生成された前記故障発生確率モデル式から、前記半導体装置の設計変更のための指標値を算出し、第２データ格納部に格納する指標算出部と、
を有する設計支援装置。
【符号の説明】
【０１０４】
１０１  第１データ格納部
１０２  学習データ生成部
１０３  特徴抽出部
１０４  第２データ格納部
１０５  モデル生成部
１０６  指標算出部
１０７  入力部
１０８  第３データ格納部
１０９  出力部
１０６１ 感度算出部
１０６２ what-if解析部
１０６３ ルール生成部
【図１】
0005614297.tif 000007
【図２】
0005614297.tif 000008
【図３】
0005614297.tif 000009
【図４】
0005614297.tif 000010
【図５】
0005614297.tif 000011
【図６】
0005614297.tif 000012
【図７】
0005614297.tif 000013
【図８】
0005614297.tif 000014
【図９】
0005614297.tif 000015
【図１０】
0005614297.tif 000016
【図１１】
0005614297.tif 000017
【図１２】
0005614297.tif 000018
【図１３】
0005614297.tif 000019
【図１４】
0005614297.tif 000020
【図１５】
0005614297.tif 000021
【図１６】
0005614297.tif 000022
【図１７】
0005614297.tif 000023
【図１８】
0005614297.tif 000024
【図１９】
0005614297.tif 000025
【図２０】
0005614297.tif 000026
【図２１】
0005614297.tif 000027
【図２２】
0005614297.tif 000028