(57)【要約】【課題】  複数の故障モデル及びレイアウト要素情報の組合わせに対して適切なテストパターンを作成可能なテストパターン作成装置を提供する。【解決手段】  テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるテスト対象解析部２１、抽出された故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた故障モデル毎に故障の重みを算出する重み算出部２３、レイアウト要素にリンクされた各故障モデルの故障の重みの大きさに応じてテストパターンを発生するテストパターン発生部２２、及び算出された重みに基づき、発生されたテストパターンから重みの大きい有効なテストパターンを選択するテストパターン選択部２４を備える。【選択図】    図１
2006010351.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるテスト対象解析部と、
前記テスト対象解析部により抽出された前記故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた前記故障モデル毎に故障の重みを算出する重み算出部と、
前記レイアウト要素にリンクされた前記故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生するテストパターン発生部と、
前記重み算出部において算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択するテストパターン選択部と、
前記レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が前記要求故障検出率を満たしているか否かを判定する要求検出率判定部
とを備えることを特徴とするテストパターン作成装置。
【請求項２】
前記重み算出部は、
前記プロセス不良情報及び前記レイアウト要素情報に基づき、前記レイアウト要素情報をリンクした故障モデル間の相対重みを算出する相対重み算出部と、
前記レイアウト要素にリンクされた故障モデル毎に前記故障がどの程度未検出で残されているかを表す達成度重みを算出する達成度重み算出部と、
前記故障の検出と同時に検出される検出期待故障を抽出する検出期待故障抽出部と、
前記未検出故障のレイアウト要素に対応した重みを、前記検出期待故障の重みを含めて計算する重み計算部と、
前記相対重み、前記達成度重み、及び前記レイアウト要素に対応した重みに基づいて前記未検出故障の重みを計算し、優先度付けする優先度付け部
とを備えることを特徴とする請求項１に記載のテストパターン作成装置。
【請求項３】
テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるステップと、
抽出された前記故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた前記故障モデル毎に故障の重みを算出するステップと、
前記レイアウト要素にリンクされた前記故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生するステップと、
前記重みを算出するステップにおいて算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択するステップと、
前記レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が前記要求故障検出率を満たしているか否かを判定するステップ
とを含むことを特徴とするテストパターン作成方法。
【請求項４】
前記重みを算出するステップは、
前記プロセス不良情報及び前記レイアウト要素情報に基づき、前記レイアウト要素情報をリンクした故障モデル間の相対重みを算出するステップと、
前記レイアウト要素にリンクされた故障モデル毎に前記故障がどの程度未検出で残されているかを表す達成度重みを算出するステップと、
前記故障の検出と同時に検出される検出期待故障を抽出するステップと、
前記未検出故障のレイアウト要素に対応した重みを、前記検出期待故障の重みを含めて計算するステップと、
前記相対重み、前記達成度重み、及び前記レイアウト要素に対応した重みに基づいて前記未検出故障の重みを計算し、優先度付けするステップ
とを含むことを特徴とする請求項３に記載のテストパターン作成方法。
【請求項５】
コンピュータに、テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付ける手順と、
抽出された前記故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた前記故障モデル毎に故障の重みを算出する手順と、
前記レイアウト要素にリンクされた前記故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生する手順と、
前記重みを算出する手順において算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択する手順と、
前記レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が前記要求故障検出率を満たしているか否かを判定する手順
とを実行させるためのテストパターン作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のテスト技術に関し、特に、テストパターンを自動的に作成するテストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラムに関する。
【背景技術】
【０００２】
最近、ＳＯＣ（System On a Chip）と呼ばれる、大規模な半導体集積回路（以下、ＬＳＩ）の開発が盛んに行なわれている。これらＬＳＩは、０．2μｍ〜０．１μｍ以下の配線幅のディープサブミクロン（ＤＳＭ）プロセスを利用して製造されることが多い。こうしたプロセスで製造されるＬＳＩでは、従来のハーフサブミクロン程度までは問題とならなかったことが大きな問題となることがしばしば起こるが、本発明の主な対象であるＬＳＩのランダムロジック部（組合わせ論理ゲートやフリップフロップ・ラッチ等のメモリ素子の接続によって構成される論理回路ブロック）のテスト品質もその例外ではない。従来、こうしたブロック（以下、テスト対象デバイスということでDUT（Device Under Test）と呼ぶ）に対するテストパターンの作成方法としては、例えば人手による作成（「ファンクションテスト」として実行）、スキャンテスト手法を適用して自動発生（Automatic Test Pattern Generation）する方法、ＬＳＩ内部に自動実行可能なテスト回路を組込む「組込み自己テスト（ＢＩＳＴ）」を利用する方法等が知られている。これらのテストパターンのテスト品質については、従来、ＤＵＴの内部に、ＤＵＴ内部の接続ノード又は基本セルの入出力端子の各１個が電源（VDD）また接地（GND）の電位に固定されたという単一縮退故障（を有する故障DUT）を仮定し（縮退故障モデル：故障数としては、対象のノード又は入出力端子がN個あるとすれば２N個）、印加するテストパターンによってそれら故障をどの程度検出できたかという故障検出率によって評価するようになっており、この故障検出率を要求されるレベル（例えば９５％以上）まで高めることで必要なテスト品質が達成されたと見なしていた。DSMプロセス化への一つの対応としては、要求故障検出率を１００％近く（例えば９８％）まで高めることがある。しかしながら、DSMプロセスで製造されたＬＳＩにおいては、こうした縮退故障モデルに従ったテストだけで十分なテスト品質が達成される可能性は低くなってきている。
【０００３】
まず、従来の縮退故障モデルでの故障検出率という概念の本質的な問題として、故障検出率はレイアウト情報を持たないＬＳＩのgate netに対して仮定された故障の内、何個を検出したかという個数での比率しか考慮していないという点がある。このため、得られた故障検出率（テスト品質）は実際のＬＳＩの不良発生との相関をある程度は期待できるものの、高い精度での相関を得ることができないため、テスト品質基準の適切な設定ができず、オーバースペックになり勝ちとなり、また、レイアウト情報から意味のある故障に対して優先的にテストパターンを追加するということができないため、テストパターンの作成・追加のリソースを費やした割には期待したテスト品質が得られない恐れが大きかった。この問題については、適当なレイアウト情報（レイアウト要素）を故障に結び付けて重み付けし、故障シミュレーション結果を重み付け故障検出率として評価する手法が提案されている（例えば、特許文献１参照。）。これにより、主に縮退故障モデルに従う仮定故障に対し、適当なレイアウトの重みを付加して故障シミュレーションを実行し、重み付きの故障検出率を求め、プロセスの不良率との相関精度を向上させたり、未検出故障を追加検出するための明確な優先度付けを行ない、テストパターン追加のリソースを有効に削減させることができる。
【０００４】
次に、縮退故障モデルのテストに関連したもう一つの本質的な問題は、ＤＵＴ内部の接続ノード又は基本セルの入出力端子が１又は０に固定されるという仮定から、それ自身の故障の検出有無はチェック可能だが、例えば隣合う配線同士のshort故障（bridge故障）といったＬＳＩでは基本的な故障についてどの程度検出できたか不明という点である。縮退故障での検出率を向上させることによってこうした故障も副次的に検出できるという報告も幾つかなされているが、DSMプロセスにおいてはテスト品質向上は極めて困難になるため、こうした推定レベルの話では、所定のテスト品質を得るためのテストパターン発生努力のロスが大きくなる恐れが大きい。これに対しては、最近、レイアウト情報からbridge故障を抽出し、故障シミュレーション、ATPGを実施するというツールも市販されはじめている。更に、ＤＳＭプロセスではオープン故障モデル、ディレイ（遅延）故障モデルを考慮する必要がある。
【０００５】
以上のようなＤＳＭプロセスで製造されるＬＳＩの品質確保のために必要となる複数の故障モデル、レイアウト要素の組合わせを単純に積み重ねていくだけでは、実質的には個別にテストパターンを作成していくこととなり、テストパターンサイズ（テストパターン長）が膨大になり、出荷テストでのテスト時間が長くなり、テストコストが大幅に増加してしまう恐れがある。しかしながら、従来はこうした複数の故障モデル、レイアウト要素の組に対し、テストパターンサイズを有効に削減する手法の提案はなされていなかった。
【特許文献１】特開２０００−２７６５００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、複数の故障モデル及びレイアウト要素情報の組合わせに対して適切なテストパターンを作成可能なテストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の特徴は、（イ）ネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるテスト対象解析部と、（ロ）テスト対象解析部により抽出された故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた故障モデル毎に故障の重みを算出する重み算出部と、（ハ）レイアウト要素にリンクされた故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生するテストパターン発生部と、（ニ）重み算出部において算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択するテストパターン選択部と、（ホ）レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が要求故障検出率を満たしているか否かを判定する要求検出率判定部とを備えるテストパターン作成装置であることを要旨とする。
【０００８】
本発明の第２の特徴は、（イ）テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるステップと、（ロ）抽出された故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた故障モデル毎に故障の重みを算出するステップと、（ハ）レイアウト要素にリンクされた故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生するステップと、（ニ）重みを算出するステップにおいて算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択するステップと、（ホ）レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が要求故障検出率を満たしているか否かを判定するステップとを含むテストパターン作成方法であることを要旨とする。
【０００９】
本発明の第３の特徴は、コンピュータに、（イ）テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付ける手順と、（ロ）抽出された故障モデルの未検出故障と、テストパターンによって追加検出された故障に対し、プロセス不良情報及びレイアウト要素情報に基づいてレイアウト要素にリンクされた故障モデル毎に故障の重みを算出する手順と、（ハ）レイアウト要素にリンクされた故障モデル毎の故障の重みの大きさに応じてテストパターンを追加的に発生する手順と、（ニ）重みを算出する手順において算出された重みに基づき、追加的に発生されたテストパターンから重みの大きい有効なテストパターンを選択する手順と、（ホ）レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンによる故障検出率が要求故障検出率を満たしているか否かを判定する手順とを実行させるためのテストパターン作成プログラムであることを要旨とする。
【発明の効果】
【００１０】
本発明によれば、複数の故障モデル及びレイアウト要素情報の組合わせに対して適切なテストパターンを作成可能なテストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラムを提供できる。
【発明を実施するための最良の形態】
【００１１】
次に、図面を参照して、本発明の第１〜第３の実施の形態を説明する。この第１〜第３の実施の形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１２】
（第１の実施の形態）
本発明の第１の実施の形態に係るテストパターン作成装置１ａは、図１に示すように、処理装置２ａ、処理装置２ａに接続された入力装置３、出力装置４、補助記憶装置５、主記憶装置６、及びデータ記憶装置７ａを備える。処理装置２ａは、テスト対象解析部２１、テストパターン発生部２２、重み算出部２３、テストパターン選択部２４、及び要求検出率判定部２５を備える。テスト対象解析部２１は、テスト対象回路のゲートネット情報及びレイアウト情報に基づいてレイアウト要素情報を抽出し、ゲートネットの要素で表現可能な故障に対応づける。テストパターン発生部２２は、未検出故障の重みの大きさに応じて故障モデル毎にテストパターンを発生する。重み算出部２３は、プロセス不良情報と、レイアウト要素とリンクされた各故障モデルの故障の検出・未検出情報に基づいて、各故障モデル毎および総合的な重み付き故障検出率を算出し、個々の未検出故障の重みを算出する。個々の未検出故障については、更に、検出期待故障からの寄与分、要求故障検出率との差による重みも考慮して重みを算出し、テストパターン発生部２２で優先的にテストパターン発生対象とすべき故障の順位付けを行なう。テストパターン選択部２４は、重み検出部２３において算出された重みに基づき、発生されたテストパターンから最終的に利用するテストパターンを選択する。要求検出率判定部２５は、レイアウト要素情報に対して設定された要求故障検出率に対し、選択された全テストパターンの故障検出率が要求故障検出率を満すか否か判定する。ここで、「要求検出率」とは、テストパターンに対する各故障モデルの（重み付き）故障検出率の目標とする値を意味する。
【００１３】
テスト対象解析部２１は、図２に示すように、レイアウト解析部２１ａ、故障抽出部２１ｂ、及び故障・レイアウトリンク部２１ｃを備える。レイアウト解析部２１ａは、レイアウト情報に基づいてテスト対象回路のレイアウト全体を解析してレイアウト要素情報を抽出する。故障抽出部２１ｂは、ゲートネット情報及びレイアウト情報から故障を抽出し、未検出故障リストを作成する。故障・レイアウトリンク部２１ｃは、レイアウト要素情報と検出・未検出故障リストとをリンク（対応付け）する。
【００１４】
故障及びレイアウト要素間の対応付けの説明のため、図３に第１〜第４基本セルＣ１〜Ｃ４を接続するレイアウト例を示す。図３に示すレイアウト例においては、例えば「C|P|M|VLayer(Layer)_通し番号」といったパス表記が適用される。ここで、「Ｃ」は基本セル、「Ｐ」は端子、「Ｍ」は（メタル）配線要素、「Ｖ」は最小サイズのヴィア（以下において単に「ヴィア」と記載する。）、「Layer」は配線要素の層をそれぞれ表す。第２基本セルＣ２の入力端子Ｐ１＿２は、配線要素Ｍ１＿１、Ｍ１＿２により第１基本セルＣ１の出力端子Ｐ１＿１と接続される。ヴィアＶ１２＿１は、配線Ｍ１＿１及びＭ１＿２の結合点に存在するが、端子Ｐ１＿１及びＰ１＿２間の接続には無関係であり含まれない。第３基本セルＣ３の入力端子Ｐ１＿３は、配線要素Ｍ１＿１、Ｍ２＿１、Ｍ３＿２、Ｍ２＿３、Ｍ１＿３及びヴィアＶ１２＿１、Ｖ２３＿１、Ｖ３２＿１、Ｖ２１＿１により第１基本セルＣ１の出力端子Ｐ１＿１と接続される。第４基本セルＣ４の入力端子Ｐ２＿４は、配線要素、Ｍ１＿１、Ｍ２＿１、Ｍ２＿２、Ｍ３＿３、Ｍ２＿４及びヴィアＶ１２＿１、Ｖ２３＿２、Ｖ３２＿２により第１基本セルＣ１の出力端子Ｐ１＿１と接続される。ヴィアＶ１２＿１、Ｖ２３＿２、Ｖ３２＿１、Ｖ２１＿１、及びＶ３２＿２は、上下に隣合う配線層に存在する配線間を接続するために形成される。
【００１５】
図２に示すレイアウト解析部２１ａは、上述したパス表記を利用し、パス毎に対応する配線要素の配線長、ヴィア数、及びパスに出力端子が接続される基本セルの面積をレイアウト要素情報として算出する。また、故障抽出部２１ｂは、例えば入力端子Ｐ１＿１及び出力端子Ｐ１＿２、Ｐ１＿３、Ｐ２＿４に対して定義される縮退故障、及び配線要素Ｍ１＿２、Ｍ３＿３に対して定義されるブリッジ故障Ｂ１、Ｂ２を故障としてそれぞれ抽出する。ここで「（ｐｉｎ）縮退故障」とは、入力端子（ｐｉｎ）Ｐ１＿１及び出力端子（ｐｉｎ）Ｐ１＿２、Ｐ１＿３、Ｐ２＿４のいずれかが電源電位又は接地電位に固定されると仮定する故障である。論理が”０”である接地電位に固定される縮退故障を「０縮退故障」、論理が”１”である接地電位に固定される縮退故障を「１縮退故障」と呼ぶ。「ブリッジ故障」とは、隣合う配線間がショートすることにより発生する故障である。縮退故障に重み付けする配線長として着目する配線に隣接する配線部分の長さの総和を用いるようにしても良い。また、仮定する縮退故障と同じ電位の電源配線と隣接する配線部分とその他の部分に分けて重み付けするようにしてもよい。
【００１６】
一方、図１に示したテストパターン発生部２２は、図４に示すように、各故障モデルに対応した自動テストパターン発生ツール２２ａ１，２２ａ２，・・と故障シミュレーションツール（故障シミュレータ）２２ｂ１，２２ｂ２，・・とを備える。図では、故障モデル１に自動テストパターン発生ツール２２ａ１、故障シミュレータ２２ｂ１が対応し、故障モデル２に自動テストパターン発生ツール２２ａ２、故障シミュレータ２２ｂ２が対応している。自動テストパターン発生ツールは、対応する故障モデルの未検出故障の重みに応じ、所定の故障を検出対象として追加テストパターンを自動発生する。故障モデル毎に追加発生されたテストパターンにより、その他の故障モデルの故障をどの程度検出できたかを故障シミュレーションによって評価する。こうすることにより、各自動テストパターン発生ツールにより発生されたテストパターンの、他の故障モデルも考慮した総合的な重み（効果）が評価されることになる。
【００１７】
また、図１に示した重み算出部２２は、図５に示すように、相対重み算出部２３ａ、達成度重み算出部２３ｂ、検出期待故障抽出部２３ｃ、重み計算部２３ｄ、及び優先度付け部２３ｅを備える。相対重み算出部２３ａは、発生頻度も含めたプロセスの不良情報に基づき、対象とするレイアウト要素情報をリンクした故障モデルの決定又は選択、及びこれらレイアウト要素情報をリンクした故障モデル間の相対的な重みの算出を行ない、要求重み付き故障検出率を算出する。これら相対重み及び要求重み付き故障検出率の算出については、自動的に故障モデルを選択し、算出を行なうことは必ずしも容易ではないため、予め使用の可能性のあるレイアウト要素情報をリンクされた故障モデルに対応した重み付きテストパターン生成装置を処理装置２ａ内に組込んでおき、対象ＬＳＩに応じて故障モデルを選択し、それぞれの相対重み及び要求重み付き故障検出率は入力装置３から直接入力する方式としても良い。達成度重み算出部２３ｂは、レイアウト要素情報とリンクされた故障モデル毎の達成度重みを算出する。「達成度重み」とは検出対象の故障がどの程度未検出で残されているかを表す重みである。検出期待故障抽出部２３ｃは、各故障の検出と同時に検出されるか検出される可能性のある他の故障をその故障自身も含めて「検出期待故障」として抽出する。重み計算部２３ｄは、個々の未検出故障のレイアウト要素に対応した重みを、その検出期待故障の重みを含めて算出する。優先度付け部２３ｅは、検出期待故障を含めた個々の未検出故障のレイアウト要素に対応した重みに基づき、相対重み及び達成度重みを考慮した重みを算出し、テストパターン発生の優先度を決定する。場合によっては、上記相対重み及び達成度重みに対し、更にテストパターンコストを重みとして付加した重みを算出しテストパターン発生の優先度を算出しても良い。ここでテストパターンコストとは、特定のテストの１パターンを対象ＬＳＩに印加する場合に必要となるテストコストを意味する。
【００１８】
表1に故障モデルと対応付け可能なレイアウト要素及び実際の不良、相対重み及び要求重み付き故障検出率の例を示す：
【表１】
2006010351.tif 000003
【００１９】
相対重みは、不良発生頻度に応じ、不良発生頻度が高いときは高い値に設定し、低いときは低い値に設定する。要求重み付き検出率は、対応する不良の発生頻度が低く、相対重みが低い故障については、比較的低い値でも差し支えない。なお、相対重みは、表中の遷移故障の例のように、対応するプロセス不良が複数ある場合、例えばｗ１とｗ２（ｗ１＋ｗ２＝１）のように、遷移故障の範囲で相対重みを設定しておき、全体として相対重みＷ５となるよう階層的に相対重みを構成しても良い。
【００２０】
図４に示す重み計算部２３ｄの入力端子Ｐ１＿２、Ｐ１＿３、Ｐ２＿４に仮定されるpin縮退故障に対するレイアウト要素重みとしては、出力端子Ｐ１＿１から上記各入力端子の至るパス上のヴィア数及び配線長を対応させることが適当である（配線長については上述のように幾つかの選択が可能）。これらは、プロセスの不良としてはそれぞれヴィアのオープン及び配線の切断と対応付けされる。また、出力端子Ｐ１＿１に仮定されるpin縮退故障は、レイアウト要素重みとしては、第１基本セルＣ１の面積および端子Ｐ１＿１に接続される配線の総配線長を対応させることが適当であり、プロセスの不良としてはそれぞれ基本セル内部の種々のレイアウト要素の不良、配線上に発生する他のレイアウト要素とのショート不良全般に対応付けされる。より精度を高めるため、基本セル内のより詳細なレイアウト要素を対応付けしてもよい。bridge故障Ｂ１に対しては、レイアウト要素重みとして、配線要素Ｍ１＿２ともう一方の隣接配線との隣接部分の配線長（隣接配線長）を対応させることが適当である。これは、プロセスの不良としては、近接配線要素間ショートに対応付けされる。また、検出期待故障抽出部２３ｃは、例えば図３の入力端子Ｐ１＿２の０縮退故障が未検出であったとすると、ブリッジ故障Ｂ１を検出期待故障として抽出する。この場合、ブリッジ故障の検出のためにはもう一方の配線の値は１である必要があるため、レイアウト要素の重みに1/2を掛けた値をこのブリッジ故障の重みとして計算することが適当である。より簡単な例としては、等価故障と代表故障の例が挙げられる。等価故障とは、すべての可能なテストパターンに対し、論理的に全く同一の出力を行なう複数の故障を示す。代表故障とは、等価故障の中からその集合を代表するために選別された故障であり、代表故障が検出されると、対応する等価故障はすべて検出される。優先度付け部２３ｅは、特に、出力端子が１個だけの信号配線の場合（大部分がそうなっている）、各入力端子が検出される時、自動的に同時に検出されることを考慮し、出力端子に仮定された未検出故障に付加されたレイアウト要素重み（基本セルの面積）は、基本的に各入力端子に仮定された未検出故障の重みに移し変えて付加するようにする。例えば図３の出力端子Ｐ１＿１のpin縮退故障が未検出の場合、第１基本セルＣ１の面積は、各入力端子Ｐ１＿２、Ｐ１＿３、Ｐ２＿４の未検出のpin縮退故障に重みとして付加されることになる。なお、遅延故障は、低クロック周波数のテストでは正常動作するが、より高いクロック周波数の対象ＬＳＩの実動作速度では誤動作するという故障である。「遷移遅延故障」とは、基本セル又は基本セルの入出力に比較的大きな遅延を仮定する遅延故障であり、入力端子に仮定されるものについては、pin縮退故障と類似しており、これと同様なレイアウト要素を対応させることが適当である。これらは、それぞれヴィアの高抵抗不良と配線の極端な細りによる高抵抗化不良に対応付けられる。また、基本セルの出力端子に仮定される遷移故障に重み付けされるレイアウト要素は基本セル面積が適当であり、これは基本セル内部の種々のレイアウト要素の抵抗性不良に対応付けされる。「パス遅延故障」とは、複数の組合せ基本セルを経由する論理パス上に仮定される遅延故障である。レイアウト要素としては、論理パスに対応する配線長、論理パス上のヴィア数および基本セルの面積を対応させることが適当であり、これらはプロセスの不良としてはそれぞれ極端な細りによる高抵抗化不良、ヴィアの高抵抗不良および基本セル内部の種々のレイアウト要素の抵抗性不良に対応付けられる。遷移遅延故障とパス遅延故障は、遅延故障のモデル化による違いであり、いずれかを選択するか、これらを混在して利用することになる。
【００２１】
更に、図１に示すデータ記憶装置７ａは、図６に示すように、ゲートネット情報格納部７１、レイアウト情報格納部７２、レイアウト要素情報格納部７３、検出・未検出故障リスト格納部７４、要求重み付き故障検出率リスト格納部７５、プロセス不良情報格納部７６、相対重み格納部７７、ヴィア数重み格納部７８、配線長重み格納部７９、セル面積重み格納部８０、テストパターン格納部８１、達成故障検出率格納部８２、故障・レイアウトリンク情報格納部９１、隣接配線長重み格納部９２、クリティカルパス上ヴィア数・配線長重み格納部９３、及び故障リスト格納部８３等を備える。レイアウト要素情報格納部７３は、例えばレイアウトパターン情報、配線接続情報、配線要素の両端部の位置情報、ヴィアの位置情報、配線数、及びヴィア数等の情報を格納する。プロセス不良情報格納部７６は、テスト対象回路のヴィアオープン、配線切れ、基本セル内トランジスタ不良、配線間ショート、及び遅延故障等の発生頻度情報を格納する。相対重み格納部７７は、レイアウト要素にリンクされた各故障モデルの相対重み情報を格納する。ヴィア数重み格納部７８は、レイアウト要素情報としてのヴィア数の（各故障に対する）重み、検出期待故障に対する重み、及び達成度重みを格納する。配線長重み格納部７９は、配線長の各故障に対する重み、検出期待故障に対する重み、及び達成度重みを格納する。セル面積重み格納部８０は、セル面積の各故障に対する重み、検出期待故障に対する重み、及び達成度重みを格納する。隣接配線長重み格納部９２は、隣接配線長の各故障に対する重み、検出期待故障に対する重み、及び達成度重みを格納する。クリティカルパス上ヴィア数・配線長重み格納部９３は、クリティカルパス上ヴィア数・配線長の各故障に対する重み、検出期待故障に対する重み、及び達成度重みを格納する。テストパターン格納部８１は、テストパターン発生部２２の各自動テストパターン発生ツールが発生し、重み算出部２３の結果に基づきテストパターン選択部２４において選択された全テストパターンと、少なくともテストパターンを追加する各ステップにおいて発生されたテストパターンを格納する。
【００２２】
なお、図１に示す処理装置２ａは、図示を省略するデータベース管理手段及び入出力管理手段を備える。処理装置２ａとデータ記憶装置７ａとの入出力が必要な場合は、データベース管理手段を介して必要なファイルの格納場所を探し、ファイルの読み出し及び書き込み処理が行われる。また、処理装置２ａへの入力が必要な場合は、入出力管理手段を介して入力装置３からの入力信号を受け取る。処理装置２ａからの出力が必要な場合は、処理装置２ａからの出力信号を入出力管理手段を介して出力装置４、補助記憶装置５等へ伝達される。更に、データ記憶装置７ａに格納される情報は、適宜補助記憶装置５に含まれる構成になっていても良い。
【００２３】
図１に示す入力装置３としては、例えば、キーボード、マウス、光学式文字読取装置（ＯＣＲ）等の認識装置、イメージスキャナ等の図形入力装置、及び音声認識装置等の特殊入力装置が使用できる。出力装置４としては、例えば、液晶ディスプレイ、ＣＲＴディスプレイ等の表示装置、インクジェットプリンタ、レーザープリンタなどの印刷装置が使用できる。図示を省略した入出力制御装置は、入力装置、出力装置、或いはＣＤ−ＲＯＭ、光磁気ディスク（ＭＯ）、フレキシブルディスク等の補助記憶装置の読取装置又は書き込み装置等を処理装置２ａに接続するインターフェイスである。データの流れから見ると、入出力制御装置は、入力装置３、出力装置４、補助記憶装置５、外部記憶装置の読取・書き込み装置と主記憶装置６のインターフェイスとなる。主記憶装置６には、ＲＯＭ及びＲＡＭが組込まれている。ＲＯＭは、処理装置２ａにおいて実行されるプログラムを格納しているプログラム記憶装置等として機能する。これに対してＲＡＭは、処理装置２ａにおいて実行されるプログラムを格納するプログラム記憶装置として機能すると共に、処理装置２ａにおけるプログラム実行処理中に利用されるデータ等を一時的に格納したり、作業領域として利用される一時的なデータメモリ等として機能する。
【００２４】
次に、図１〜図７を用いて、第１の実施の形態に係るテストパターン作成方法を説明する。
【００２５】
（イ）先ず、図７に示すステップＳ１０１において、図２に示すレイアウト解析部２１ａは、図６に示すレイアウト情報格納部７２に格納されたレイアウト情報に基づき、テスト対象回路のレイアウト全体を解析してレイアウト要素情報を抽出する。レイアウト要素情報はレイアウト要素情報格納部７３に格納される。レイアウト解析部２１ａは、テスト対象回路に対してタイミング解析を行い、レイアウト要素情報としてクリティカルパス情報を更に抽出する。
【００２６】
（ロ）次に、ステップＳ１０２において、図２に示す故障抽出部２１ｂは、ゲートネット情報格納部７１に格納されたゲートネット情報からテスト対象回路の縮退故障又は遷移遅延故障を抽出する。また、故障抽出部２１ｂは、レイアウト情報及びレイアウト要素情報からブリッジ故障を抽出する。更に、故障抽出部２１ｂは、クリティカルパス情報に基づいてパス遅延故障を抽出する。故障抽出部２１ｂが抽出した縮退故障、ブリッジ故障、及び遅延故障等の故障は、図６に示す故障リスト格納部８３に格納される。故障リスト格納部８３の故障はテストパターン発生以前のものあり、これらに対しテストパターン発生部２２の自動テストパターン発生ツールがテストパターンを発生し、故障の検出・未検出結果を含んだ故障・未検出故障リストは、図６に示す検出・未検出故障リスト格納部７４に格納され、以後はこのリストが更新されることになる。
【００２７】
（ハ）次に、ステップＳ１０３において、図２に示す故障・レイアウトリンク部２１ｃは、レイアウト要素情報格納部７３に格納されたレイアウト要素情報と検出・未検出故障リスト格納部７４に格納された検出・未検出故障リストとをリンク（対応付け）して故障・レイアウトリンク情報を生成する。故障・レイアウトリンク情報は、図６に示す故障・レイアウトリンク情報格納部９１に格納される。なお、ステップＳ１０１からＳ１０３までは、実際のプログラム上は故障の抽出とレイアウト要素の抽出は同様の処理となるため、同一のプログラム上で一括して実現することもできる。この場合、レイアウト要素リンク情報格納部７３をことさら設けないで、故障・レイアウト要素リンク情報格納部９１に直接故障・レイアウト要素リンク情報を格納するようにしても良い。
【００２８】
（ニ）次に、ステップＳ１０４において、図５に示す相対重み算出部２３ａは、プロセス不良情報格納部７６に格納されたプロセス不良情報に基づき、ヴィア数、配線長、セル面積、隣接配線長、及びクリティカルパス上のヴィア数及び配線長のそれぞれの相対重みを算出する。即ち、テスト対象回路のヴィアオープン、配線切れ、基本セル内トランジスタ不良、配線間ショート、及び遅延故障の発生頻度と比例させて相対重みの値を設定する。相対重みは、図６に示す相対重み格納部７７に格納される。なお、既に述べたように、これら相対重み及び要求重み付き故障検出率の算出については、自動的に故障モデルを選択し、算出を行なうことは必ずしも容易ではないため、予め使用の可能性のあるレイアウト要素情報をリンクされた故障モデルに対応した重み付きテストパターン生成装置を処理装置２ａ内に組込んでおき、対象ＬＳＩに応じて故障モデルを選択し、それぞれの相対重み及び要求重み付き故障検出率は入力装置３から直接入力する方式としても良い。
【００２９】
（ホ）次に、ステップＳ１０５において、相対重み算出部２３ａは、更に、プロセス不良情報格納部７６に格納されたプロセス不良情報に基づき、各故障モデルにリンクされるレイアウト要素情報に対応する要求重み付き故障検出率を算出し、図６に示す要求重み付き故障検出率格納部７５に格納する。図１に示す要求検出率判定部２５は、図６に示す要求重み付き故障検出率リスト格納部７５から故障モデルにリンクしたレイアウト要素情報に対応する要求故障検出率を選択する。レイアウト要素情報が、ｐｉｎ縮退故障のヴィア数、配線長、セル面積、ブリッジ故障の隣接配線長、及びパス遅延故障のクリティカルパス上のヴィア数及び配線長である場合、要求重み付き検出率は、例えば９９％、９９％、９８％、９８％、及び９８％にそれぞれ設定される。
【００３０】
（ヘ）次に、ステップＳ１０６において、図５に示す達成度重み算出部２３ｂは、各故障モデルにリンクしたヴィア数、配線長、セル面積、隣接配線長、及びクリティカルパス上のヴィア数及び配線長のそれぞれ（ｉ）について故障・レイアウトリンク情報格納部９１の情報に基づいて達成度重みを算出する。ここで、検出・未検出故障リスト格納部７４に格納された未検出故障リストに記載された故障の総重みをa、ステップＳ１０２、Ｓ１０３で抽出・リンクされ、冗長でない故障の総重みb、及び重み無し要求検出率をγとすると、達成度重みＡｉは、例えば：
Ai={a-(1-γ)b}/(bγ)  (a≧(1-γ)bの時)
0           (a＜(1-γ)bの時)                    ・・・・・（１）
で定義される。達成度重みは、要求故障検出率への到達度が低いほど高い値になる。なお、総重みbについては、１回計算した後、適当な記憶領域に格納しておくと良い。達成度重み算出部２３ｂが算出した達成度重みは、図６に示す達成度重み格納部８１に格納される。更に、ステップＳ１０７において、図５に示す検出期待故障抽出部２３ｃは、故障の検出と同時に検出が期待される検出期待故障を抽出する。抽出された検出期待故障には、例えばステップＳ１０３で得られた各故障モデルにリンクしたレイアウト要素に応じた重みに所定の検出期待値を掛けた重みが与えられる。
【００３１】
（ト）次に、ステップＳ１０８において、ステップＳ１０３で作成された故障・レイアウトリンク情報、ステップＳ１０４で算出された相対重み、ステップＳ１０６で算出された達成度重み、及びステップＳ１０７で得られた検出期待故障の情報を用いて、各未検出故障に対して総合的な重みが重み計算部２３ｄにおいて計算される。ここで、ｐｉｎ縮退故障のヴィア数に対する相対重みＷ１、ヴィア数に対する達成度重みＡ１、及びヴィア数に対する検出期待故障の重みＢ１、配線長に対する相対重みＷ２、配線長に対する達成度重みＡ２、及び配線長に対する検出期待故障の重みＢ２、セル面積に対する相対重みＷ３、セル面積に対する達成度重みＡ３、及びセル面積に対する検出期待故障の重みＢ３について、ｐｉｎ縮退故障の未検出故障に対する重みＷ（ｐｉｎ）は：
W(pin)=W1・A1・B1+W2・A2・B2+W3・A3・B3    ・・・・・（２）
により算出される。また、隣接配線長に対する相対重みＷ４、隣接配線長に対する達成度重みＡ４、及び隣接配線長に対する検出期待故障の重みＢ４について、ブリッジ故障の未検出故障に対する重みＷ（ｂｒｉｄｇｅ）は：
W(bridge)=W4・A4・B4                            ・・・・・（３）
により算出される。更に、クリティカルパス上ヴィア数・配線長に対する相対重みＷ５、クリティカルパス上ヴィア数・配線長に対する達成度重みＡ５、及びクリティカルパス上ヴィア数・配線長に対する検出期待故障の重みＢ５について、遅延故障の未検出故障に対する重みＷ（ｄｅｌａｙ）は：
W(delay)=W5・A5・B5                              ・・・・・（４）
により算出される。以上において注意すべき点は、ヴィア数に対する検出期待故障の重みＢ１、配線長に対する検出期待故障の重みＢ２、セル面積に対する検出期待故障の重みＢ３、隣接配線長に対する検出期待故障の重みＢ４、及びクリティカルパス上ヴィア数・配線長に対する検出期待故障の重みＢ５は、個別の故障について算出される重みであり、各故障に対応する冗長を除く故障の総重みで除算した「規格化された」重みであり、また、ある故障モデル（例えば縮退故障）の故障であっても他の故障モデルの重みを有する可能性があるということである。したがって、ある故障についての総合的な重みは、一般に：
W(pin)+W(bridge)+W(delay)+・・・                    ・・・・・（５）
と書かれることになる。なお、重みＢ１〜Ｂ５の具体的な算出については、例えば特開２００４−１２５６７０号公報に開示されている方法がある。
【００３２】
（チ）次に、ステップＳ１０９において、図５に示す優先度付け部２３ｅは、ステップＳ１０８で得られた各故障モデルの各未検出故障に対する総合的重みＷ（ｐｉｎ）＋Ｗ（ｂｒｉｄｇｅ）＋Ｗ（ｄｅｌａｙ）＋・・・の大きさに応じて各未検出故障に対するテストパターン発生の優先度を設定する。なお、上記優先度付けにおいては、テストパターンコストを考慮することも可能である。テストパターンコストは、基本的にはテストパターンサイズ及びテスター上で実行可能なクロック周波数であり、例えばフルスキャン設計を前提とした場合、縮退故障、ブリッジ故障は１個のテストパターンで検出可能であるのに対し、遅延故障は検出に２個のテストパターンが必要であり、検出により多くのテストパターンが必要となる。このテストパターンコストに関するデータは、幾つかの製品に対するテストパターン発生結果により得ることができる。テストパターンコストの取り込みは、例えばレイアウト要素にリンクされた各故障モデルの相対重みＷ１、Ｗ２、・・に対し、それぞれＴＰＣ１、ＴＰＣ２、・・のように設定し、新しい相対重みをＷ１’＝Ｗ１・ＴＰＣ１、Ｗ２’＝Ｗ２・ＴＰＣ２、・・と定義すれば行なうことができる。より精度を高めるには、当初は幾つかの製品からの経験値を用い、対象製品でのテストパターン発生がある程度進んだ段階からは、対象製品での発生実績データを随時利用する構成とすれば良い。
【００３３】
（リ）次に、ステップＳ１１０において、図１に示すテストパターン発生部２２は、ステップＳ１０９で設定された優先度に応じて所定の数又は比率の未検出故障を対象にテストパターンを発生する。例えば総合的重みの大きい順に、縮退故障、ブリッジ故障、遅延故障と優先度付けがなされた場合、縮退故障用の自動テストパターン発生ツール、ブリッジ故障用の自動テストパターン発生ツール、及び遅延故障用の自動テストパターン発生ツールをそれぞれ利用してテストパターンを発生させる。テストパターン発生部２２が発生するテストパターンにより派生的に検出される故障を調べるため、各故障モデルに対応した故障シミュレーションが実行されて追加された各テストパターンで追加検出される故障が確定される。テストパターン発生及び故障シミュレーションの結果は、検出・未検出故障リスト格納部７４に格納される。なお、テストパターン発生対象の故障としては、上記のように１個ずつの指定でなく、所定の数又は比率の総合重み上位の未検出故障を選択し、これらを個別の故障モデル毎に分けて対応する自動テストパターン発生ツールの対象故障とするようにした方が全体的な発生効率が上がる可能性がある。
【００３４】
（ヌ）次に、ステップＳ１１１において、図１に示すテストパターン選択部２４は、ステップＳ１１０で追加発生されたテストパターンの中から、有効性の高いテストパターンを選択する。選択された結果のテストパターンはテストパターン格納部８１に格納され、それらテストパターンによる故障の検出・未検出の結果は、検出・未検出故障リストを更新した上で、検出・未検出故障リスト格納部７４に格納される。有効性の判定は、そのテストパターンの追加により、対象とする故障に関する相対重みも考慮した重み（冗長故障を除いた同種の全故障による総重みに対する比率）が予め設定した値より大きくなるか否かによって行なう。一般に、１個のテストパターンを選択すると、そのテストパターンでの検出故障により、残りのテストパターンで追加検出される故障及び重みは影響を受けるため、この影響を考慮した選択方法を用いることが望ましい。こうした選択方法に関しては、例えば特開２００４−１２５６７０号公報及び特開２００１−２７３１６０号公報に開示されている。
【００３５】
（ル）次に、要求検出率判定部２５は、ステップＳ１１０、Ｓ１１１で得られたテストパターンの重み付き故障検出率が要求故障検出率を満すか判定する。重み付き故障検出率が要求故障検出率を満さないと判断された場合、ステップＳ１０６に処理が戻る。これに対してレイアウトにリンクされた各故障モデルの重み付き故障検出率がすべてそれぞれの要求故障検出率を満すと判断された場合処理が終了する。なお、ステップＳ１０６からステップＳ１１１までの処理を所定回数繰り返しても有効なテストパターンが全く追加されず、時間ばかり浪費してしまう状態になっている場合は、取敢えず「異常終了」として強制的に終了されるように構成しておくこともできる。
【００３６】
このように、第１の実施の形態によれば、テスト対象回路において不良が発生しやすい故障から優先的にテストパターンを発生させることができる。よって、最小パターン数のテストパターンで最も効果的なテストパターンが得られるため、テスト時間及びテスト費用を削減できる。この結果、ＤＳＭプロセスに対しても十分高いテスト品質を確保可能なテストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラムを提供できる。未検出故障を追加検出するための明確な優先度付けを行なうことができるので、テストパターン追加のリソースを有効に削減させることができる。
【００３７】
（第２の実施の形態）
本発明の第２の実施の形態に係るテストパターン作成装置１ｂは、図８（ａ）に示すように、図１に示したテストパターン作成装置１ａと同様の構成である。但し、テスト対象解析部２１０は、図８（ｂ）に示すように、データ記憶装置７ｂから仮テストパターンを取得する仮テストパターン取得部２１ｄを備える。更に、データ記憶装置７ｂは、図９に示すように、基本的に重みと無関係に作成された仮テストパターンを格納する仮テストパターン格納部９４と仮テストパターン検出・未検出故障リスト格納部９５を更に備える。その他の構成については、図１に示したテストパターン作成装置１ａの構成と同様である。
【００３８】
仮テストパターンを得る手法としては、例えばファンクションテスト、スキャンテスト、及びＢＩＳＴ等が利用できる。或いは、テストパターン発生部２２が適当なレベルまでランダムにテストパターンを発生することにより仮テストパターンを作成しても良い。
【００３９】
次に、図８〜図１０を用いて、第２の実施の形態に係るテストパターン作成方法を説明する。但し、第１の実施の形態に係るテストパターン作成方法と重複する説明は省略する。
【００４０】
（イ）先ず、図１０に示すステップＳ２０１において、図８（ｂ）に示す仮テストパターン取得部２１ｄは、図９に示す仮テストパターン格納部９４から仮テストパターンを取得する。更にステップＳ１０１において、ゲートネット情報及びレイアウト情報に基づいてテスト対象回路のレイアウト全体が解析され、レイアウト要素情報が抽出される。ステップＳ１０２において、縮退故障、ブリッジ故障、及び遅延故障等の故障が抽出され、故障リスト格納部８３に格納される。故障リスト格納部８３に格納された故障は、ステップＳ１０２５において仮テストパターンによる検出率等評価を行ない、結果としての検出・未検出故障を仮テストパターン検出・未検出故障リスト格納部９５に格納する。仮テストパターンがスキャンテストパターンの場合、テストパターン発生部２２に含まれている故障シミュレータを利用して故障シミュレーションを実行し、結果としての検出・未検出故障リストを仮テストパターン検出・未検出故障リスト格納部９５に格納する。仮テストパターンがファンクションテスト、ＢＩＳＴの場合は、一般にテストパターン発生部２２に含まれる自動テストパターン発生ツールに付随する故障シミュレータと異なる故障シミュレータを用いる必要があり、故障リスト格納部８３に格納された故障とゲートネットをこれら故障シミュレータに入力して故障シミュレーションを実行させ、結果としての検出・未検出故障リストを仮テストパターン検出・未検出故障リスト格納部９５に格納することになる。このため、ファンクションテスト、ＢＩＳＴの場合は、実際には仮テストパターンと仮テストパターン検出・未検出故障リストをそれぞれ仮テストパターン格納部９４と仮テストパターン検出・未検出故障リスト格納部９５に直接外部から格納する形態となる。
【００４１】
ステップＳ１０３において、レイアウト要素情報と検出・未検出故障リストとがリンクされ、故障・レイアウトリンク情報が作成される。
【００４２】
（ロ）次に、ステップＳ１０４において、プロセス不良情報に基づき、相対重みが算出される。ステップＳ１０５において、レイアウト要素情報に対応する要求故障検出率が設定される。ステップＳ１０６において、達成度重みが式（１）により算出される。ステップＳ１０７で検出期待故障が抽出される。ステップＳ１０８において、ステップＳ１０３で得られた故障・レイアウトリンク情報、ステップＳ１０４で得られた相対重み、ステップＳ１０６で得られた達成度重み、及びステップＳ１０７で得られた検出期待故障の情報を用いて、各未検出故障に対して式（２）、式（３）、及び式（４）により総合的な重みが計算される。ステップＳ１０９において、ステップＳ１０８で算出された重みにより、テストパターン発生の優先度が設定される。
【００４３】
（ハ）次に、ステップＳ１１０において、ステップＳ１０９で設定された優先度に応じて故障モデル毎にテストパターンが発生され、故障シミュレーションにより検出される故障が確定される。発生されたテストパターンは、更にステップＳ１１１において有効なもの（対象故障の相対重みも考慮した重みが所定の値以上になったもの）だけが選択され、図９に示すテストパターン格納部８１に格納される。有効なテストパターンの選択においてはテストパターンコストを考慮することもできる。ステップＳ１１２において、ステップＳ１１１で選択されたテストパターンの重み付き故障検出率が要求検出率を満すか判定する。故障検出率が要求故障検出率を満さないと判断された場合、ステップＳ１０６に処理が戻る。これに対して故障検出率が要求故障検出率を満すと判断された場合処理が終了する。所定回数以上の処理が繰り返されても有効なテストパターンが見つからない場合は強制的に終了する。
【００４４】
このように、第２の実施の形態によれば、仮テストパターンにより検出されなかった故障に対してテストパターンを発生させることにより、効率的にテストパターンを生成できる。テストパターンを発生させる際、最初から重み付きでテストパターンを発生しても、必ずしも発生に成功するとは限らず、重みの期待値も正確でないため、効率的にテストパターンが発生できない可能性があるためである。特に、仮テストパターンをファンクションテストにより生成する場合、スキャン化する必要のあるフリップフロップを低減できるので、テスト対象回路のテスト用付加回路の回路規模を削減できる。
【００４５】
（第３の実施の形態）
本発明の第３の実施の形態に係るテストパターン作成装置１ｃは、図１１に示すように、最終レイアウトでの処理がなされたか否かを判定する処理状況判定部２６を備える点が図１に示したテストパターン作成装置１ａと異なる。更に、データ記憶装置７ｃは、図１２に示すように、仮レイアウト情報格納部９６を備える。仮レイアウト情報は、例えばフロアプランナ等の概略配線ツールを利用することにより得られる。その他の構成については、図１に示したテストパターン作成装置１ａの構成と同様である。
【００４６】
次に、図１１〜図１３を用いて、第３の実施の形態に係るテストパターン作成方法を説明する。但し、第３の実施の形態に係るテストパターン作成方法と重複する説明は省略する。
【００４７】
（イ）先ず、ステップＳ１０１において、ゲートネット情報及び図１２に示す仮レイアウト情報格納部９６に格納された仮レイアウト情報に基づいてテスト対象回路のレイアウト全体が解析され、レイアウト要素情報が抽出される。ステップＳ１０２において、縮退故障、ブリッジ故障、及び遅延故障等の故障が抽出される。次に、ステップＳ３０１において、仮レイアウト情報での処理か否かが判定される。仮レイアウト情報の場合は、ステップＳ１０３に進み、そうでない場合（最終レイアウトの場合）は、ステップＳ１０２５に進む（（ハ）にて説明）。ステップＳ１０３において、レイアウト要素情報と検出・未検出故障リストとがリンクされ、故障・レイアウトリンク情報が作成される。
【００４８】
（ロ）次に、ステップＳ１０４において、プロセス不良情報に基づき、相対重みが算出される。ステップＳ１０５において、レイアウト要素情報に対応する要求故障検出率が設定される。ステップＳ１０６において、達成度重みが式（１）により算出される。ステップＳ１０７で検出期待故障が抽出される。ステップＳ１０８において、ステップＳ１０３で得られた故障・レイアウトリンク情報、ステップＳ１０４で得られた相対重み、ステップＳ１０６で得られた達成度重み、及びステップＳ１０７で得られた検出期待故障の情報を用いて、各未検出故障に対して式（２）、式（３）、及び式（４）により総合的な重みが計算される。ステップＳ１０９において、ステップＳ１０８で算出された重みにより、テストパターン発生の優先度が設定される。
【００４９】
（ハ）次に、ステップＳ１１０において、ステップＳ１０９で設定された優先度に応じて故障モデル毎にテストパターンが発生され、故障シミュレーションにより検出される故障が確定される。発生されたテストパターンは、ステップＳ１１１において、有効なもの（対象故障の相対重みも考慮した重みが所定の値以上になったもの）だけが選択され、図１２に示す仮テストパターン格納部９４に格納される。有効なテストパターンの選択においては、テストパターンコストを考慮しても良い。ステップＳ１１２において、ステップＳ１１０で発生され、ステップＳ１１１で選択されたテストパターンの重み付き故障検出率が要求検出率を満すか判定する。テストパターンの重み付き故障検出率が要求故障検出率を満すと判断された場合、ステップＳ３０２に進む。重み付き故障検出率が要求故障検出率を満さないと判断された場合、ステップＳ１０６に処理が戻る。ステップＳ３０２においては、最終レイアウトが得られたか否か判断される。最終レイアウトが得られたと判断された場合、ステップＳ３０３に進む。ステップＳ３０３においては、図１１に示す処理状況判定部２６は、最終レイアウトでのレイアウト解析（Ｓ１０１）〜テストパターン選別（Ｓ１１１）の処理がなされたか否かを判定する。既に処理がなされていた場合、すべての処理が終了する。これに対し、まだ処理がなされていない場合、ステップＳ１０１に処理が戻る。ステップＳ１０１では、図１２に示すゲートネット情報格納部７０に格納されたゲートネット情報と、レイアウト情報格納部７１に格納された最終レイアウト情報に基づいて、テスト対象回路のレイアウト全体が解析され、レイアウト要素が抽出される。場合によっては、ゲートネット情報が仮レイアウト情報の時点から更新されている可能性があるが、この時は、最終レイアウトに正しく対応したものを利用する必要がある。ステップＳ１０２において、種々の故障が抽出される。ステップＳ３０１における判定では、最終レイアウトであるため、ステップＳ１０２５に進む。ステップＳ１０２５においては、仮テストパターンでの各故障モデルによる故障に対する故障検出率、検出・未検出故障リスト等を故障シミュレーションによって得る。検出・未検出故障リストは仮テストパターン検出・未検出故障リスト格納部９５に格納される。（仮テストパターンを全て利用する場合は直接テストパターン検出・未検出故障リスト格納部７４に格納してもよい。この場合仮テストパターン検出・未検出故障リスト格納部９５は不要である。）これら検出・未検出故障リストに基づいて、ステップＳ１０３において、故障・レイアウトリンク情報を作成し、図１２に示す故障・レイアウトリンク情報格納部９１に格納する。これ以降の処理は、仮レイアウトの場合と同様であるが、仮レイアウト情報に基づいて重みの大きな故障の大部分については検出がなされていることになり、最終レイアウト情報での追加テストパターン発生は短いＣＰＵ時間で終了することになる。
【００５０】
このように、第３の実施の形態によれば、仮レイアウト情報により先行的にテストパターンを発生するので、最終レイアウトによりテストパターンを発生する際には、若干のテストパターンの削減・追加が実行される程度で済むことになる。したがって、最適なテストパターンを半導体集積回路の開発期間と同期して得ることができる。
【００５１】
（その他の実施の形態）
上記のように、本発明は第１〜第３の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００５２】
上述した第１〜第３の実施の形態の説明においては、テストパターン発生部２２は複数の故障モデルに対応可能であるとして説明した。しかし、複数の故障モデル毎に異なったテストパターン発生部を設けても良い。或いは、特定の故障モデルに対するテストパターン発生部の機能拡張として別の故障モデルに対応しても良い。故障モデルの種類によって、発生されるテストパターン数、テストパターン発生の所要時間は異なる。また、実行可能なクロック周波数も異なる。これらテストパターン数、実行可能なクロック周波数、テストパターン発生の所要時間を各故障モデルの相対重みに含め、テストパターン発生の優先度付けの基準に含めても良い。この場合、よりテストパターンコストの低いテストパターンをより短いテストパターン発生時間で得ることが期待できる。
【００５３】
また、第１〜第３の実施の形態の説明において、重みが大きいがテストパターンが発生できなかった故障については、テストパターン発生を失敗した故障の情報を一旦保存し、テストパターンの作成が終了した後に設定が必要な観測ポイント又は制御ポイントを挿入するようにする。或いは、各ループの都度観測ポイント又は制御ポイントを挿入し、その結果を次回以降に繰り込むようにしておけば良い。この場合、順次テスト容易性が向上していくことになるため、最終的にはより良い（テスト品質が高く、テストパターン数も小さい）テストパターンが得られる可能性がある。したがって、確実に要求されたテスト品質を達成することができる。
【００５４】
上述した実施の形態において、相対重みには、故障モデルのテストパターンコストを含んでも良い。既に述べた実施の形態に係るテストパターン作成方法において、仮テストパターンを取得し、重み付きの故障検出率を算出するステップをさらに備えても良い。また、仮レイアウト情報を取得し、レイアウト要素を抽出し、ゲートネットの要素で表現可能な故障モデルの故障に対応付けるステップを更に備えても良い。
【００５５】
このように、本発明はここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００５６】
【図１】第１の実施の形態に係るテストパターン作成装置の構成を示すブロック図である。
【図２】第１の実施の形態に係るテスト対象解析部の構成を示すブロック図である。
【図３】第１の実施の形態に係るレイアウト要素の一例を示す模式図である。
【図４】第１の実施の形態に係るテストパターン発生部の構成を示すブロック図である。
【図５】第１の実施の形態に係る重み算出部の構成を示すブロック図である。
【図６】第１の実施の形態に係るデータ記憶装置のデータ構造を示すブロック図である。
【図７】第１の実施の形態に係るテストパターン作成方法を示すフローチャートである。
【図８】第２の実施の形態に係るテストパターン作成装置の構成を示すブロック図である。
【図９】第２の実施の形態に係るデータ記憶装置のデータ構造を示すブロック図である。
【図１０】第２の実施の形態に係るテストパターン作成方法を示すフローチャートである。
【図１１】第３の実施の形態に係るテストパターン作成装置の構成を示すブロック図である。
【図１２】第３の実施の形態に係るデータ記憶装置のデータ構造を示すブロック図である。
【図１３】第３の実施の形態に係るテストパターン作成方法を示すフローチャートである。
【符号の説明】
【００５７】
１ａ、１ｂ、１ｃ…テストパターン作成装置
２ａ、２ｂ、２ｃ…処理装置
７ａ、７ｂ、７ｃ…データ記憶装置
２１…テスト対象解析部
２２…テストパターン発生部
２３…重み算出部
２４…テストパターン選択部
２５…要求検出率判定部
【図１】
2006010351.tif 000004
【図２】
2006010351.tif 000005
【図３】
2006010351.tif 000006
【図４】
2006010351.tif 000007
【図５】
2006010351.tif 000008
【図６】
2006010351.tif 000009
【図７】
2006010351.tif 000010
【図８】
2006010351.tif 000011
【図９】
2006010351.tif 000012
【図１０】
2006010351.tif 000013
【図１１】
2006010351.tif 000014
【図１２】
2006010351.tif 000015
【図１３】
2006010351.tif 000016