(57)【特許請求の範囲】
【請求項１】
半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段が、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を備えた半導体のテスト項目最適化方法であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを実行することを特徴とする半導体のテスト項目最適化方法。
【請求項２】
上記ステップ２２において、上記演算手段は、集合Ｍｉの和集合をＭとし、集合Ｍ’＝Ｍ、Ｓｊ’を空文字列、ｋ＝１とするステップ２２１と、集合Ｍ’に含まれる集合Ｍｊｋの要素を調べるステップ２２２と、上記要素が存在すれば、それらを全てＭ’から除き、文字列Ｓｊ’の最後尾にｊｋを追加したものを新たにＳｊ’とするステップ２２３と、集合Ｍ’が空集合でなければ、ｋ＋１を新たにｋとおき、再度、ステップ２２２に戻り、空集合であれば、得られたＳｊ’を新たな染色体Ｓｊとして出力するステップ２２４とを実行することを特徴とする請求項１記載の半導体のテスト項目最適化方法。
【請求項３】
上記演算手段は、上記ふるい演算を施した染色体集団の各染色体に対して、確率的に選んだ文字を交換して新たな染色体を生成させる変異演算を所定の確率で作用させ、再度、ふるい演算を施すことを特徴とする請求項１記載の半導体のテスト項目最適化方法。
【請求項４】
上記演算手段は、上記ふるい演算を施した染色体集団に対して、確率的に選んだ染色体を組み合わせて新たな染色体を生成させる交配演算を所定の確率で作用させ、再度、ふるい演算を施すことを特徴とする請求項１記載の半導体のテスト項目最適化方法。
【請求項５】
上記演算手段は、上記ふるい演算を施した染色体集団に対して、各染色体Ｓｊを、確率ｆ（Ｓｊ）／Ｆ（Ｆは各染色体の評価値の総和）で選択する選択演算を作用させ、確率的に新たな染色体を生成する演算を実施した後に、再度、ふるい演算を施すことを特徴とする請求項１記載の半導体のテスト項目最適化方法。
【請求項６】
半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段により、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を、テスト項目最適化装置に実行させるための半導体のテスト項目最適化プログラムを記録した記録媒体であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを、テスト項目最適化装置に実行させることを特徴とする半導体のテスト項目最適化プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体のテスト項目最適化方法及び半導体のテスト項目最適化プログラムを記録した記録媒体に関するものであり、半導体の良不良を判定するテスト項目の中で、全ての不良半導体を被覆でき、かつコストの少ない最適なテスト項目を設計する方法に関するものである。
【０００２】
【従来の技術】
図１０は、特開平２−２８７７３７号公報に示された従来のテスト項目自動設計方式を示す概略構成図であり、電子計算機システムにおけるプログラムの開発にあたって、作成したプログラムが所望の機能を有するか否かをテストするためのテスト項目設計方式を示すものである。図において、１０は入力装置、１１は最適化手続きデータベース、１２は基本テスト項目作成手段、１３はテスト項目最適化手段、１４は出力装置である。
【０００３】
次に従来技術の作用及び動作について説明する。利用者が入力装置１を使用してテスト項目作成時に現れると思われる要因関係の一般的形式を表した関係情報パターンを作成し、このパターンがテスト項目として現れた時に実施する手続きを最適化手続きデータとして予め最適化手続きデータベース１１に貯えておく。要因関係の一般的形式を表した関係情報パターンの具体例としては、「因子ｘが状態ｙの時、因子Ｘの状態Ｙは指定不可。」、最適化手続きデータとしては、「因子ｘが状態ｙの項目を捜す。」「もし見つかったらこれを項目Ｃとし、見つからなかったら終了する。」「項目Ｃの因子Ｘの状態をＺとする。」「もしＺ＝Ｙならば、項目Ｃを削除する。」といったデータである。次に、基本テスト項目作成手段１２が作成したテスト項目に対応するデータをテスト項目最適化手段１３に出力し、テスト項目最適化手段１３ではデータベース１１に登録されているデータの中から、要因関係の関係情報が同じパターンの最適化手続きデータを入力して最適化手続きを実行し、テスト項目の更新をする。更新されたテスト項目は出力装置１４より出力される。
【０００４】
【発明が解決しようとする課題】
従来のテスト項目自動設計方式は以上のように構成されており、予め利用者によってテスト項目を決めてしまい、それに従って入力されるテスト項目の最適化を行うので、テスト項目を適用した結果情報に基づく最適化が不可能であった。即ち、あるテスト項目が、製造工程の安定などで不要になった、あるいは、他のテスト項目の組合せで常にカバーされる事態になったために冗長であったとしても、いつまでも適用され、テストコストが削減できないという問題があった。
【０００５】
この発明は、上記のような問題点を解消するためになされたものであり、結果情報に基づいて、必要なテスト項目のみを被覆できる、論理的により一般化された被覆最適化方法を実行することで、冗長なテスト項目を発見、削減し総コストを削減することを目的としている。
【０００６】
【課題を解決するための手段】
この発明の半導体のテスト項目最適化方法は、半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段が、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を備えた半導体のテスト項目最適化方法であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを実行するものである。
【０００７】
この発明の半導体のテスト項目最適化プログラムを記録した記録媒体は、半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段により、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を、テスト項目最適化装置に実行させるための半導体のテスト項目最適化プログラムを記録した記録媒体であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを、テスト項目最適化装置に実行させることを特徴とする半導体のテスト項目最適化プログラムを記録するものである。
【０００８】
【発明の実施の形態】
実施の形態１．
この発明の一実施の形態として半導体のテスト項目の最適化方法について説明する。ここで想定するテストは、半導体の良不良を判定するｎ個のテスト項目から構成され、全ての項目で良と判定される半導体を良品とするテストである。
本発明を適用することで、全ての不良半導体を被覆するテスト項目の組み合わせ中で、総コストの小さい組み合わせが得られる。
【０００９】
図１はこの発明の実施の形態１によるテスト項目最適化装置を示すブロック構成図である。図１において、１は染色体数、世代数、交配確率、変異確率の各パラメータ値と全体の制御指示を入力する入力機構、２１は半導体検査装置２２から部分集合族とコストとを入手する検査制御機構である。３は記憶手段３１と演算手段３２とからなる染色体操作機構、４は得られた集合族を出力し、検査制御機構２１への指示を作成する出力機構である。
【００１０】
次に動作について説明する。図２にフローチャートを示す。
初期化として、ステップＳＴ１において、まず制御機構２１は、予め得られた各テスト項目に対応する結果情報を用いて、問題を定める部分集合族｛Ｍｉ｝とコスト｛Ｃｉ｝情報とを入手し、記憶手段３１に蓄える。具体的には、各テスト項目が検出した不良チップのリストと、各テスト項目を実施したときの時間あるいは各テスト項目の数等とを入手する。
【００１１】
ｎ＝５の単純化した例を図３として示す。横軸は半導体チップの番号、縦軸はテスト項目の番号である。ここで、各黒四角は、対応するテスト項目が対応する番号のチップの不良を検出したことを示す。
各テスト項目ｉ＝１，２，・・・，ｎが不良と判定する半導体の集合をＭｉで定義する。図３の例では、Ｍ１＝｛１，２，３｝、Ｍ２＝｛４，５，６｝、Ｍ３＝｛１，４｝、Ｍ４＝｛２，５｝、Ｍ５＝｛３，６｝である。また、各テスト項目ｉ＝１，２，・・・，ｎのコスト（時間，項目数等）をＣｉで定義する。
全不良チップの集合Ｍは、集合Ｍｉ（ｉ＝１，２，・・・，ｎ）の和集合
Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎ
として定義される。
【００１２】
本発明の目的は、全不良チップを検出する部分集合族｛Ｍｊｈ｝（ｈ＝１，２，・・・，ｋ）
Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ  ＝  Ｍ
のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和（以下、Ｔと記す）より小さいものを得ることである。
【００１３】
つぎに、パラメータとして、染色体数Ｐ、世代数Ｇ、交配確率ｐｃ、突然変異確率ｐｍの値を与える。
具体的には、添字集合｛１，２，・・・，ｎ｝の要素をランダムに並べ替えて文字列を得る操作をＰ回繰り返すことで、Ｐ個の染色体｛Ｓｊ｝（ｊ＝１，・・・，Ｐ）からなる染色体集団を得る。図３のｎ＝５の単純例の場合、図４に示すように、Ｓ１＝１・４・５・３・２、Ｓ２＝３・２・１・５・４等となる。１つの染色体は実施するテスト項目に対応している。
【００１４】
次に、ステップＳＴ２において、各染色体Ｓｊ＝ｊ１・ｊ２・・・・ｊｎに対して、図５に示すふるい演算を適用する。
図５のステップＳＴ２１において、集合Ｍ’＝Ｍ、Ｓｊ’を空文字列、ｋ＝１とおき、ステップＳＴ２２で、集合Ｍ’に含まれる、集合Ｍｊｋの要素を調べる。そのような要素が存在すれば、それらを全てＭ’から除き、文字列Ｓｊ’の最後尾にｊｋを追加したものを新たにＳｊ’とする（ＳＴ２３）。つぎに集合Ｍ’が空集合かを調べる（ＳＴ２４）。もし、空集合でなければ、ｋ＋１を新たにｋとおき、ステップＳＴ２２に戻る。もし、空集合であれば、得られたＳｊ’を新たな染色体として出力して（ＳＴ２６）終了する。
【００１５】
これを、図３のｎ＝５の単純例について示す。
図４に示すように、ｊ＝１の染色体Ｓｊに対して、ｊ１＝１、ｊ２＝４、ｊ３＝５、ｊ４＝３、ｊ５＝２である。
まず、Ｍ’＝Ｍ＝｛１，２，３，４，５，６｝、Ｓｊ’＝空文字列、ｋ＝１とおく（ＳＴ２１）。このとき、Ｍ’とＭｊｋ＝Ｍｊ１＝Ｍ１＝｛１，２，３｝との共通部分を調べると、Ｍ１  ∩  Ｍ’  ＝｛１，２，３｝であり、空集合φではない（ＳＴ２２）。従って、Ｍ’を、Ｍ’−  Ｍ’∩  Ｍｊｋ  ＝｛１，２，３，４，５，６｝−｛１，２，３｝＝｛４，５，６｝で置き換え、Ｓｊ’をφ・ｊｋ＝ｊｋ＝ｊ１＝１で置き換える（ＳＴ２３）。
こうして得られるＭ’と空集合φとを比較すると、Ｍ’＝｛４，５，６｝≠φである（ＳＴ２４）。
【００１６】
従って、ｋ＝２と置き（ＳＴ２５）、ステップＳＴ２２に戻る。
同様にして、Ｍ’＝｛４，５，６｝とＭｊｋ＝ＭＪ２＝Ｍ４＝｛２，５｝との共通部分を調べると、Ｍ４  ∩  Ｍ’  ＝｛５｝であり、空集合φではない（ＳＴ２２）。こうして、ｋ＝２でステップ（ＳＴ２４）に至ったときには、
Ｍ’＝｛４，５，６｝−｛５｝＝｛４，６｝、Ｓｊ’＝  １・４となっていることが判る。
【００１７】
更に、ｋ＝３のときは、Ｍ’＝｛４，６｝−｛６｝＝｛４｝、Ｓｊ’＝１・４・５となり、ｋ＝４のときは、Ｍ’＝｛４｝−｛４｝＝φ、Ｓｊ’＝１・４・５・３となる。Ｍ’がφとなったので、今度は、ステップＳＴ２６に移り、Ｓｊ’＝１・４・５・３を出力する。
すなわち、文字列１・４・５・３・２にふるい演算を作用させて、文字列１・４・５・３が得られた（２がふるい落とされた）。
【００１８】
次にｊ＝２の染色体Ｓｊは図４に示すように、ｊ１＝３、ｊ２＝２、ｊ３＝１、ｊ４＝５、ｊ５＝４であり、上記と同様のふるい演算を作用させると、出力３・２・１を得る。
【００１９】
こうして得られた各染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）を
ｆ（Ｓｊ）＝Ｔ  −  （  Ｃｊ１  ＋  Ｃｊ２  ＋  ・・・  ＋  Ｃｊｋ）で定義し、計算する（ＳＴ３）。
具体的には、ｊ＝１の染色体Ｓ１にふるい演算を作用させ、Ｓ１＝１・４・５・３が得られた時、この染色体Ｓ１の評価は
ｆ（Ｓ１）＝Ｔ  −  （  Ｃ１  ＋  Ｃ４  ＋  Ｃ５＋  Ｃ３）
となる。
【００２０】
次に、繰り返し回数が先に定めた世代数Ｇ回に達したかを調べる（ＳＴ４）。もし、達していれば、最も評価の高い（時間の短い、テスト項目の総数の少ない）染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋを選び、集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を出力する（ＳＴ５）。
【００２１】
達していなければ、染色体Ｓｊの評価値ｆ（Ｓｊ）に基づいて、Ｐ／２組の染色体ペアを、確率的に選ぶ（ＳＴ６）。
具体的には、集団内の染色体の評価値の総和Ｆ＝ｆ（Ｓ１）＋ｆ（Ｓ２）＋・・・＋ｆ（Ｓｐ）を計算し、各染色体Ｓｊを確率ｆ（Ｓｊ）／Ｆで選ぶ。
こうして選ばれた染色体は確率的に評価値の高いものとなり、最終的によい解が得られるようになる。
【００２２】
それらの染色体ペアＳｊ、Ｓｊ’に対して、交配を行う（ＳＴ７）。
具体的には、確率１−ｐｃで、Ｓｊ、Ｓｊ’を何もしないで無修正のまま集団に戻す。
一方、確率ｐｃで、以下の交配演算を行う。即ち、確率的に選んだ片方の染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋを、図６に示すように確率的に選んだ分離点＊の前後に分け、その間にＳｊ’＝ｊ’１・ｊ’２・・・ｊ’ｋ’を挿入して、新たな染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｍ＊ｊ’１・ｊ’２・・・ｊ’ｋ’＊ｊｍ＋１・・・ｊｋを作製し、Ｓｊ’と共に集団に戻す。
【００２３】
得られた染色体に変異演算を作用する（ＳＴ８）。
具体的には、図７に示すように、各染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｈ・・・ｊｍ・・・ｊｋに対して、確率ｐｍで、確率的に選んだ文字を交換し、新たな染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｍ・・・ｊｈ・・・ｊｋを作り、元の染色体と交換する。
一方、確率１−ｐｍで、無修正のまま染色体を集団に戻す。
【００２４】
このようにして得られた新たな染色体集団に対して前述したと同様のふるい演算（ＳＴ２）を作用させる。
【００２５】
上述のようなテスト項目最適化演算は最適化演算プログラムにより実現され、該プログラムは記録媒体に記録して提供される。
【００２６】
上に述べた方法の有効性を示すための例を示す。図８は、７０項目のテストが発見した７４９４個の不良半導体に対する適用結果である。各テスト項目が発見した不良を図中の点で表現する。以下、簡単のために、テスト時間は全て同じとしているが問題の困難さは本質的に変わらない。本発明を適用することによって、全不良半導体を検出するのに要するテスト項目が、横線で示された３７まで減らされることを示している。
【００２７】
実施の形態２．
上記実施の形態１におけるテスト項目最適化方法において、ステップＳＴ６の選択演算とステップＳＴ７の交配演算を用いずにテスト項目の設計をした場合の結果を図９に示す。図９において、本実施の形態による方法で得られた染色体の表現するテスト項目数の改善の様子を、交配演算無しとして表示する。一方、１０個体から成る染色体集団に対して全ての演算を用いて得られる結果（実施の形態１）を、交配演算ありとして図示する。ここで、１０個体の集団を用いているために、１世代の進行は、１０染色体の評価を用いるため、各世代の集団における最も項目数の少ないものを、１０世代ごとに表示している。
図より、交配演算ありのものにおいて、より良い解を得ることができることが明らかである。
【００２８】
【発明の効果】
以上のように、この発明の半導体のテスト項目最適化方法によれば、半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段が、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を備えた半導体のテスト項目最適化方法であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを実行するので、より総コストの小さい被覆集合族を得ることができる効果がある。
【００２９】
また、この発明の半導体のテスト項目最適化プログラムを記録した記録媒体によれば、半導体の良不良を判定するｎ個の各テスト項目に対する結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）と各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）とを検査制御機構が入手し、記憶手段に記憶するステップ１、および演算手段により、集合Ｍ  ＝  Ｍ１  ∪  Ｍ２  ∪  ・・・  ∪  Ｍｎを被覆する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ、Ｍ  ＝  Ｍｊ１  ∪  Ｍｊ２  ∪  ・・・  ∪  Ｍｊｋ）のうち、コストの総和Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋがｎ個のテスト項目のコストの総和Ｔより小さい集合族｛Ｍｉ｝を求め、この集合族に対応するテスト項目を出力機構に出力するステップ２を、テスト項目最適化装置に実行させるための半導体のテスト項目最適化プログラムを記録した記録媒体であって、上記ステップ２において、上記演算手段は、実施するテスト項目に対応する添字集合｛１，２，・・・，ｎ｝の要素である文字をランダムに並べ替えて、実施するテスト項目とその順番を表現する文字列すなわち染色体を作成する操作をＰ回繰り返し、Ｐ個の染色体｛Ｓｊ｝（Ｓｊ＝ｊ１・ｊ２・・・・ｊｎ、ｊ＝１，２，・・・，Ｐ）からなる染色体集団を作成するステップ２１と、上記記憶手段に記憶された結果情報の集合Ｍｉ（ｉ＝１，２，・・・，ｎ）を用い、上記Ｐ個の各染色体Ｓｊに対して、染色体で規定される順番にテスト項目を実施した場合に、それまでに実施されたテスト項目での結果情報の集合の和集合に含まれない結果情報を有しないテスト項目を除くふるい演算を施し、Ｐ個の染色体を出力するステップ２２と、上記記憶手段に記憶された各テスト項目のコストＣｉ（ｉ＝１，２，・・・，ｎ）を用い、出力された染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋの評価ｆ（Ｓｊ）
ｆ（Ｓｊ）＝Ｔ−（Ｃｊ１＋Ｃｊ２＋・・・＋Ｃｊｋ）
を計算するステップ２３と、最も評価の高い染色体Ｓｊ＝ｊ１・ｊ２・・・ｊｋに対応する集合族｛Ｍｉ｝（ｉ＝ｊ１，ｊ２，・・・，ｊｋ）を上記出力機構に出力するステップ２４とを、テスト項目最適化装置に実行させることを特徴とする半導体のテスト項目最適化プログラムを記録したので、より総コストの小さい最適なテスト項目を発見することができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１に係わるテスト項目最適化装置を示すブロック構成図である。
【図２】  この発明の実施の形態１によるテスト項目最適化方法を示すフローチャートである。
【図３】  この発明の実施の形態１によるテスト項目最適化方法を説明する説明図である。
【図４】  この発明の実施の形態１によるテスト項目最適化方法を説明する説明図である。
【図５】  この発明の実施の形態１に係わるふるい演算方法を示すフローチャートである。
【図６】  この発明の実施の形態１に係わる交配演算を説明する説明図である。
【図７】  この発明の実施の形態１に係わる突然変異演算を説明する説明図である。
【図８】  この発明の実施の形態１によるテスト項目最適化方法の有効性を示す図である。
【図９】  この発明の実施の形態２によるテスト項目最適化方法による結果と実施の形態１によるテスト項目最適化方法による結果とを比較する図である。
【図１０】  従来のテスト項目自動設計方式を示す構成図である。
【符号の説明】
１  入力機構、３  染色体操作機構、４  出力機構、１０  入力装置、１１  最適化手続きデータベース、１２  基本テスト項目作成手段、１３  テスト項目最適化手段、１４  出力装置、２１  検査制御機構、２２  半導体検査装置、３１  記憶手段、３２  演算手段。
【図１】
0003740811.tif 000002
【図２】
0003740811.tif 000003
【図３】
0003740811.tif 000004
【図４】
0003740811.tif 000005
【図５】
0003740811.tif 000006
【図６】
0003740811.tif 000007
【図７】
0003740811.tif 000008
【図８】
0003740811.tif 000009
【図９】
0003740811.tif 000010
【図１０】
0003740811.tif 000011