(57)【要約】【課題】ＡＴＰＧにおけるテストパタンの生成時間を短縮するための技術を提供する。【解決手段】ＥＤＡツール（１１〜１６）と、ＥＤＡツール（１１〜１６）が参照する情報を保持するファイル格納部（９）とを具備するテストパタン生成システムを構成する。そのファイル格納部（９）は、テストパタンの生成の対象となる回路の接続情報を示すネットリスト（２１）と、ネットリストに示される回路のうち、故障検出の対象となる故障検出対象領域の起点となる端子を示す始終点リスト（２２）とを備えるものとする。そのロジックコーン抽出部（１１）は、始終点リスト（２２）に示される起点を頂点とするロジックコーン（３４）（３５）を特定する。また、故障リスト生成部（１２）は、組み合わせ回路（３２）（３３）に含まれる全てのノードから、ロジックコーンに含致しないノードを除外して故障リスト（２４）を生成する。【選択図】図５
2012207993.tif 000002
【特許請求の範囲】
【請求項１】
ＥＤＡツールと、
前記ＥＤＡツールが参照する情報を保持するファイル格納部と
を具備し、
前記ファイル格納部は、
テストパタンの生成の対象となる回路の接続情報を示すネットリストと、
前記ネットリストに示される回路のうち、故障検出の対象となる故障検出対象領域の起点となる端子を示す始終点リストと
を備え、
前記ＥＤＡツールは、
前記故障検出対象領域の間にはさまれた組み合わせ回路の部分をロジックコーンとして抽出するロジックコーン抽出部と、
前記ロジックコーンに含まれるノードに対する故障を抽出して故障リストを生成する故障リスト生成部と、
前記故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成するＡＴＰＧ実行部と
を備え、
前記ロジックコーン抽出部は、
前記始終点リストに示される前記起点を頂点とするロジックコーンを特定し、
前記故障リスト生成部は、
前記組み合わせ回路に含まれる全てのノードから、前記ロジックコーンに含致しないノードを除外して前記故障リストを生成する
テストパタン生成システム。
【請求項２】
請求項１に記載のテストパタン生成システムにおいて、
前記故障検出領域は、
情報を記憶する機能を有する記憶回路を含み、
前記始終点リストは、
前記記憶回路の始点または終点となる端子の情報を含む
テストパタン生成システム。
【請求項３】
請求項２に記載のテストパタン生成システムにおいて、
前記記憶回路は、
スキャンチェインに含まれないフリップフロップを含み、
前記始終点リストは、
前記フリップフロップの始点または終点となる端子の情報を含む
テストパタン生成システム。
【請求項４】
請求項３に記載のテストパタン生成システムにおいて、
前記ロジックコーン抽出部は、
前記終点を頂点とする入力側のロジックコーンを抽出する入力側ロジックコーン解析部と、
前記始点を頂点とする出力側のロジックコーンを抽出する出力側ロジックコーン解析部と
を含む
テストパタン生成システム。
【請求項５】
請求項１から４の何れか一項に記載のテストパタン生成システムにおいて、
前記ＥＤＡツールは、さらに、
前記ロジックコーンの未検出故障を絞り込む未検出故障リスト生成部を備え、
前記ファイル記憶部は、さらに、
すでに検出済みの故障を示す既存パタン検出故障リストを備え、
前記未検出故障リスト生成部は、
前記故障リストに示されている故障と前記既存パタン検出故障リストに示されている故障とを比較して、合致しない故障を抽出し前記未検出故障リストを生成し、
前記ＡＴＰＧ実行部は、
前記未検出故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成する
テストパタン生成システム。
【請求項６】
半導体集積回路の接続情報を示すネットリストを読み出すネットリスト読み出しステップと、
故障検出の対象となる故障検出対象領域の起点となる端子を示す始終点リストを読み出す始終点リスト読み出しステップと、
前記故障検出対象領域の間にはさまれた組み合わせ回路の部分をロジックコーンとして抽出するロジックコーン抽出ステップと、
前記ロジックコーンに含まれるノードに対する故障を抽出して故障リストを生成する故障リスト生成ステップと、
前記故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成するＡＴＰＧ実行ステップと、
を具備し、
前記ロジックコーン抽出ステップは、
前記始終点リストに示される前記起点を頂点とするロジックコーンを特定するステップを含み、
前記故障リスト生成ステップは、
前記組み合わせ回路に含まれる全てのノードから、前記ロジックコーンに含致しないノードを除外して前記故障リストを生成するステップを含む
テストパタン生成方法。
【請求項７】
請求項６に記載のテストパタン生成方法において、
前記始終点リスト読み出しステップは、
前記故障検出領域が情報を記憶する機能を有する記憶回路を含むとき、
前記記憶回路の始点または終点となる端子の情報を含む前記始終点リストを読み出すステップを含む
テストパタン生成方法。
【請求項８】
請求項７に記載のテストパタン生成方法において、
前記始終点リスト読み出しステップは、
前記記憶回路がスキャンチェインに含まれないフリップフロップを含むとき、
前記フリップフロップの始点または終点となる端子の情報を含む前記始終点リストを読み出すステップを含む
テストパタン生成方法。
【請求項９】
請求項８に記載のテストパタン生成方法において、
前記ロジックコーン抽出ステップは、
前記終点を頂点とする入力側のロジックコーンを抽出する入力側ロジックコーン解析ステップと、
前記始点を頂点とする出力側のロジックコーンを抽出する出力側ロジックコーン解析ステップと
を含む
テストパタン生成方法。
【請求項１０】
請求項６から９の何れか一項に記載のテストパタン生成方法において、さらに、
前記ロジックコーンの未検出故障を絞り込む未検出故障リスト生成ステップを備え、
前記未検出故障リスト生成ステップは、
すでに検出済みの故障を示す既存パタン検出故障リストを読み出すステップと、
前記故障リストに示されている故障と前記既存パタン検出故障リストに示されている故障とを比較して、合致しない故障を抽出し前記未検出故障リストを生成するステップとを含み、
前記ＡＴＰＧ実行ステップは、
前記未検出故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成するステップを含む
テストパタン生成方法。
【請求項１１】
コンピュータをテストパタン生成装置として機能させるための手順を示すテストパタン生成プログラムであって、前記テストパタン生成プログラムは、
半導体集積回路の接続情報を示すネットリストを読み出すネットリスト読み出しステップと、
故障検出の対象となる故障検出対象領域の起点となる端子を示す始終点リストを読み出す始終点リスト読み出しステップと、
前記故障検出対象領域の間にはさまれた組み合わせ回路の部分をロジックコーンとして抽出するロジックコーン抽出ステップと、
前記ロジックコーンに含まれるノードに対する故障を抽出して故障リストを生成する故障リスト生成ステップと、
前記故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成するＡＴＰＧ実行ステップと
を実行するための手順を示し、
前記ロジックコーン抽出ステップは、
前記始終点リストに示される前記起点を頂点とするロジックコーンを特定するステップを含み、
前記故障リスト生成ステップは、
前記組み合わせ回路に含まれる全てのノードから、前記ロジックコーンに含致しないノードを除外して前記故障リストを生成するステップを含む
テストパタン生成プログラム。
【請求項１２】
請求項１１に記載のテストパタン生成プログラムにおいて、
前記故障検出領域は、
情報を記憶する機能を有する記憶回路を含み、
前記始終点リストは、
前記記憶回路の始点または終点となる端子の情報を含む
テストパタン生成プログラム。
【請求項１３】
請求項１２に記載のテストパタン生成プログラムにおいて、
前記記憶回路は、
スキャンチェインに含まれないフリップフロップを含み、
前記始終点リストは、
前記フリップフロップの始点または終点となる端子の情報を含む
テストパタン生成プログラム。
【請求項１４】
請求項１３に記載のテストパタン生成プログラムにおいて、
前記ロジックコーン抽出ステップは、
前記終点を頂点とする入力側のロジックコーンを抽出する入力側ロジックコーン解析ステップと、
前記始点を頂点とする出力側のロジックコーンを抽出する出力側ロジックコーン解析ステップと
を含む
テストパタン生成プログラム。
【請求項１５】
請求項１１から１４の何れか一項に記載のテストパタン生成プログラムにおいて、さらに、
前記ロジックコーンの未検出故障を絞り込む未検出故障リスト生成ステップを実行するための手順を示し、
前記未検出故障リスト生成ステップは、
すでに検出済みの故障を示す既存パタン検出故障リストを読み出すステップと、
前記故障リストに示されている故障と前記既存パタン検出故障リストに示されている故障とを比較して、合致しない故障を抽出し前記未検出故障リストを生成するステップとを含み、
前記ＡＴＰＧ実行ステップは、
前記未検出故障リストと前記ネットリストとに基づいて、前記テストパタンを自動的に生成するステップを含む
テストパタン生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストパタン生成システム、テストパタン生成方法、およびテストパタン生成プログラムに関し、特に半導体集積回路の検査に使用するテストパタン生成システム、テストパタン生成方法、およびテストパタン生成プログラムに関する。
【背景技術】
【０００２】
テストパタンを使用して半導体集積回路の検査をする技術が知られている（例えば、特許文献１参照）。特許文献１には、テストパタンの生成時間を短縮するためテストパタン生成方法および装置に関する技術が記載されている。特許文献１に記載の技術では、回路の出力端子の値に影響する回路ブロックをコーンとする。回路全体からコーンをゲート数の昇順に抽出して集めてパタン生成単位である部分回路を作成している。また、抽出コーンとパタン生成中の部分回路の重なりが閾値を越えていれば、当該コーンを後回しにして、該当するコーンが残っていなければ閾値を大きくしている。部分回路が作成されると、そこに含まれる未検出故障リストを作成して回路全体の未検出故障リストから除き、空きＣＰＵに部分回路情報と故障リストを渡してパタンを生成させている。結果が返送されると、パタン未生成の仮定故障（以下、故障と記載する）を回路全体の未検出故障リストに戻している。以上の処理を、故障検出率が目標値になるか全コーンのパタンを生成するまで繰り返している。
【０００３】
半導体集積回路の検査に用いるテストパタンを生成する技術として、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）技術が広く利用されている。現在知られているＡＴＰＧ技術を利用したツール（ＡＴＰＧツール）は、主に、スキャンフリップフロップに囲まれた組み合わせ回路を対象としてテストパタンを生成している。ＡＴＰＧツールでは、半導体集積回路のメモリ（ＲＡＭ、ＲＯＭ）とスキャンフリップフロップとの間の故障を適切に検出するためのテストパタンの生成が困難である。そのため、例えば、テストパタンの自動生成と人手によるテストパタンの作成とが並行して行われ場合もあった。
【０００４】
近年では、ＡＴＰＧ技術の進歩によって、順序回路素子（スキャンフリッププフロップではないフリップフロップ、ラッチ、ＲＡＭおよびＲＯＭ）の故障も検出可能なシーケンシャルＡＴＰＧによるテストパタンの生成技術が知られてきている。そのシーケンシャルＡＴＰＧ技術を用いることで、スキャンフリップフロップに囲まれた領域に順序回路素子を含む回路のテストパタンを、自動的に生成することが可能となる。しかしながら、順序回路素子を含む回路のテストパタンを生成する場合、テストパタン生成の複雑さが飛躍的に増大し、きわめて多くの時間がテストパタンの生成に費やされることになる。
【０００５】
例えば、同期式ＲＡＭを含む回路の故障を検出する場合、ＲＡＭにデータを書き込ためのアドレス値、および、データ入力値を、スキャンシフト動作によってスキャン入力端子からスキャンフリップフロップに供給する。このときスキャンフリップフロップに供給される値は、スキャンフリップフロップとＲＡＭとの間にある論理(主に組み合わせ回路)を考慮して決定される。その後、キャプチャ動作によってＲＡＭにクロックを印加し、データの書き込みを行う。次に、ＲＡＭのデータを読み出すためのアドレス値を、スキャンシフト動作によってスキャン入力端子からスキャンフリップフロップに供給する。このときスキャンフリップフロップに供給される値は、データ書き込み時と同様にスキャンフリップフロップとＲＡＭとの間にある論理を考慮して決定される。その後、キャプチャ動作によってＲＡＭにクロックを印加し、データの読み出しを行う。次に、ＲＡＭの後段にあるスキャンフリップフロップにデータを取り込み、スキャンシフト動作でスキャン出力端子との期待値を照合し、故障を検出できるかどうかを判断する。この照合する期待値もＲＡＭとスキャンフリップフロップの論理を考慮して決定される。
【０００６】
以上のように、順序回路素子を含む回路のシーケンシャルＡＴＰＧでは、組み合わせ回路だけでなく順序回路素子の論理も考慮し、スキャンシフト動作によって供給する値の決定、および、故障の検出が可能かどうかの判断が必要であり、スキャンフリップフロップに囲まれた組み合わせ回路のみを対象とするＡＴＰＧと比べると複雑さが飛躍的に増大する。さらに、近年の半導体集積回路の大規模化においてＡＴＰＧ対象となる故障定義の数が膨大となり、ＡＴＰＧ実行時間がさらに長くなっている。ＡＴＰＧ実行時間を短縮するための技術が知られている（例えば、特許文献２参照）
【０００７】
特許文献２には、ＡＴＰＧの実行時間を短縮するための技術が開示されている。特許文献２に記載の技術では、故障シミュレーションによって未検出故障を抽出し、未検出故障に対してのみテストパタンを生成することでＡＴＰＧの実行時間の短縮を実現している。図１は、特許文献２に記載されたテストパタン生成装置の構成を示すブロック図である。特許文献２に記載のテストパタン生成装置は、テストパタン生成部１０１と、ネットリストを記憶しているネットリスト記憶部１０２と、生成されたデータを記憶するメモリ部１０３と、機能検証パタンを記憶している機能検証パタン記憶部１０４と、テストパタンを出力するテストパタン出力部１０５とを備えている。
【０００８】
そのテストパタン生成部１０１には、故障シミュレーション実行機能ブロックである故障シミュレーション実行部１０１ａと、テストパタン生成機能ブロックであるＡＴＧＰ実行部１０１ｂとが設けられている。故障シミュレーション実行部１０１ａは、ネットリスト記憶部１０２において記憶されているネットリストを読み出し、読み出したネットリストに基づいて全ての故障を拾出した故障リストを生成し、生成した故障リストをメモリ部１０３に設けた故障リスト用メモリ１０３ａに記憶させる。また、故障シミュレーション実行部１０１ａは、機能検証パタンでは検出できなかった故障を検出して未検出故障リストを生成し、生成した未検出故障リストをメモリ部１０３に設けた未検出故障リスト用メモリ１０３ｂに記憶させる。
【０００９】
図２は、特許文献２に記載されたテストパタン生成装置の動作を示すフローチャートである。図２に示されているように、動作開始にともなって、ネットリスト記憶部からテストパタンを生成する半導体集積回路のネットリストを読み出す(ステップＳ１)。次に、読み出したネットリストに対して想定され得る全ての故障の拾出しを行って故障リストを生成し、故障リスト用メモリ１０３ａに記憶する(ステップＳ２)。そして、機能検証パタン記憶部に記憶した機能検証パタンに基づいて、故障シミュレーション実行部によって故障シミュレーションを実行する(ステップＳ３)。
【００１０】
故障シミュレーションが終了すると、故障リストの故障のうち、機能検証パタンでは検出できなかった故障を抽出する(ステップＳ４)。そして、この未検出の故障に基づいて未検出故障リストを生成し、未検出故障リスト用メモリ１０３ｂに記憶する(ステップＳ５)。次いで、未検出故障リストに挙げられた各故障に対して、ＡＴＰＧ実行部によってＡＴＰＧを実行することによりテストパタンを自動的に生成する(ステップＳ６)。そして、ＡＴＰＧによって生成したテストパタンをテストパタン出力部によって記憶装置へのデータ出力を行う(ステップＳ７)。
【００１１】
このように、特許文献２に記載の技術では、未検出の故障のみを対象にテストパタンを生成することで、検出済みの故障に対するテストパタンの生成を省略できる。それによって、ＡＴＰＧ実行時間の短縮、および、テストパタン数の削減を実現している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０００−１９３７２５号公報
【特許文献２】特開２００５−０６２０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献２に記載された技術では、故障リストの生成において、読み出したネットリストに対して想定され得る全ての故障の拾出しを行って故障リストを生成している。そのため、大規模回路では故障リストに含まれる故障の数が非常に多くなってしまう。テストパタン生成対象の故障数が多い状態でシーケンシャルＡＴＰＧを行うと、シーケンシャルＡＴＰＧの実行時間が長くなることがあった。
本発明が解決しようとする課題は、ＡＴＰＧにおけるテストパタンの生成時間を短縮するための技術を提供することにある。
【課題を解決するための手段】
【００１４】
以下に、［発明を実施するための形態］で使用される番号を用いて、［課題を解決するための手段］を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
ＥＤＡツール（１１〜１６）と、ＥＤＡツール（１１〜１６）が参照する情報を保持するファイル格納部（９）とを具備するテストパタン生成システムを構成する。そのファイル格納部（９）は、テストパタンの生成の対象となる回路の接続情報を示すネットリスト（２１）と、ネットリストに示される回路のうち、故障検出の対象となる故障検出対象領域の起点となる端子を示す始終点リスト（２２）とを備えるものとする。
また、ＥＤＡツール（１１〜１６）は、故障検出対象領域の間にはさまれた組み合わせ回路（３２）（３３）の部分を、ロジックコーン（３４）（３５）として抽出するロジックコーン抽出部（１１）と、ロジックコーン（３４）（３５）に含まれるノードに対する故障を抽出して故障リスト（２４）を生成する故障リスト生成部（１２）と、故障リスト（２４）とネットリスト（２１）とに基づいて、テストパタン（３１）を自動的に生成するＡＴＰＧ実行部（１３）とを備えるものとする。
ここで、そのロジックコーン抽出部（１１）は、始終点リスト（２２）に示される起点を頂点とするロジックコーン（３４）（３５）を特定する。また、故障リスト生成部（１２）は、組み合わせ回路（３２）（３３）に含まれる全てのノードから、ロジックコーンに含致しないノードを除外して故障リスト（２４）を生成する。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、ＡＴＰＧにおけるテストパタンの生成時間を短縮することができるという効果がある。また、半導体集積回路の大規模化により、テストパタン生成の対象となる故障数も増えてきている。本願発明を適用することにより、テストパタンの生成時間を短縮することができ、大規模な半導体集積回路デバイスの選別・検査を開始するまでに、テストパタンの生成が間に合わないという問題の発生を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、特許文献２に記載されたテストパタン生成装置の構成を示すブロック図である。
【図２】図２は、特許文献２に記載されたテストパタン生成装置の動作を示すフローチャートである。
【図３】図３は、第１実施形態のテストパタン生成システム１の構成を例示するブロック図である。
【図４】図４は、第１実施形態のファイル格納部９の構成を例示するブロック図である。
【図５】図５は、第１実施形態のテストパタン生成システム１の構成を概念的に例示するブロック図である。
【図６】図６は、第１実施形態のテストパタン生成システム１の動作を例示するフローチャートである。
【図７】図７は、ＡＴＰＧ対象ネットリスト２１の構成を例示する記述である。
【図８】図８は、テストパタンの生成対象となっている回路全体のうちの一部分を例示する回路図である。
【図９】図９は、テストパタンの生成対象となっている回路全体のうちの一部分を例示する回路図である。
【図１０】図１０は、ＡＴＰＧ対象始終点リスト２２を例示する記述である。
【図１１】図１１は、ロジックコーンセルリスト２３の構成を例示する記述である。
【図１２】図１２は、ロジックコーン抽出部１１によって特定されるロジックコーンの構成を例示する回路図である。
【図１３】図１３は、ロジックコーン抽出部１１によって特定されるロジックコーンの構成を例示する回路図である。
【図１４】図１４は、ロジックコーン故障リスト２４の構成を例示する記述である。
【図１５】図１５は、全故障リスト２５の構成を例示する記述である。
【図１６】図１６は、第２実施形態のテストパタン生成システム１の構成を例示するブロック図である。
【図１７】図１７は、第２実施形態のファイル格納部９の構成を例示するブロック図である。
【図１８】図１８は、第２実施形態のテストパタン生成システム１の構成を概念的に例示するブロック図である。
【図１９】図１９は、第２実施形態のテストパタン生成システム１の動作を例示するフローチャートである。
【図２０】図２０は、既存パタン検出故障リスト２６の構成を例示する記述である。
【図２１】図２１は、未検出故障リスト２７の構成を例示するリストである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。図３は、本実施形態のテストパタン生成システム１の構成を例示するブロック図である。本実施形態のテストパタン生成システム１は、コンピュータ装置本体２と、入力装置３と、出力装置４とを備えている。
【００１９】
コンピュータ装置本体２は、コンピュータプログラムに示される手順に従って情報処理を高速に行う。本実施形態のコンピュータ装置本体２は、テストパタン生成装置としての機能を提供する。コンピュータ装置本体２は、入力、記憶、演算、制御および出力の機能を備えている。入力装置３は、マウスやキーボードなどに代表されるマンマシンインターフェースである。入力装置３は、ユーザの操作に応答して、コンピュータ装置本体２へデータを入力する。出力装置４は、液晶ディスプレイやプリンターなどに代表されるマンマシンインターフェースである。出力装置４は、コンピュータ装置本体２の処理結果を、ユーザに認識できる形式で出力する。上述のコンピュータ装置本体２は、演算処理装置５と、情報記憶装置６とを備え、それらは、バス７を介して接続されている。
【００２０】
演算処理装置５は、コンピュータ装置本体２に備えられた各種装置の制御やデータ処理を実行する。演算処理装置５は、コンピュータ装置本体２が入力装置３を介して受け取ったデータを解釈して演算し、その演算結果を出力装置４などで出力する。情報記憶装置６は、ＲＡＭやハードディスクなどに代表されるデータを記憶するための装置である。コンピュータ装置本体２は、外部ネットワークを介して他の機器とデータ通信するための通信処理装置を備えていてもよい。
【００２１】
情報記憶装置６は、ＥＤＡツール格納部８と、ファイル格納部９とを備えている。ＥＤＡツール格納部８は、ＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）に必要な各種ツール（コンピュータプログラム）を保持している。ファイル格納部９は、コンピュータ装置本体２が、本実施形態のテストパタン生成システム１として機能するときに使用される情報やデータを保持している。またファイル格納部９は、そのテストパタン生成システム１によって生成される情報やデータを保持している。
【００２２】
図３に示されているように、ＥＤＡツール格納部８は、ロジックコーン抽出部１１と、故障リスト生成部１２と、ＡＴＰＧ実行部１３とを備えている。また、そのロジックコーン抽出部１１は、入力側ロジックコーン解析部１４と出力側ロジックコーン解析部１５とを含んでいる。
【００２３】
ロジックコーン抽出部１１は、フリップフロップなどの順序回路の間にはさまれた組み合わせ回路部分（以下、ロジックコーンと記載する）を抽出する機能ブロックである。本実施形態では、ロジックコーン抽出部１１によって抽出される回路ブロックが、円錐の断面（頂点と底面とを含む面）に類似した形状に着目し、これらの回路ブロックをコーン（ｃｏｎｅ）、またはロジックコーンなどと表現する。
【００２４】
ロジックコーン抽出部１１は、入力端子、出力端子、論理ゲートで構成される回路ブロックのうち、出力端子を終点として入力端子（順序回路素子の出力ピンを含む）に到達するまで前段方向にトレースした回路をロジックコーンとして特定する。また、ロジックコーン抽出部１１は、入力端子を始点として出力端子（順序回路素子の入力ピンを含む）に到達するまで後段方向にトレースした回路をロジックコーンとして特定する。
【００２５】
そのロジックコーン抽出部１１の入力側ロジックコーン解析部１４は、順序回路の入力端子（入力ピン）を含むロジックコーンを特定する機能ブロックである。入力側ロジックコーン解析部１４によって特定されるロジックコーンを、回路ブロックの出力端子から入力端子側に辿っていくことから、入力側ロジックコーンと表現する。そのロジックコーン抽出部１１の出力側ロジックコーン解析部１５は、順序回路の出力端子（出力ピン）を含むロジックコーンを特定する機能ブロックである。
【００２６】
故障リスト生成部１２は、ロジックコーン抽出部１１によって抽出されたロジックコーンに含まれるセルなどのノードに対する故障を抽出する機能ブロックである。ＡＴＰＧ実行部１３は、テストパタンを生成する機能ブロックである。
【００２７】
図４はファイル格納部９の構成を例示するブロック図である。第１実施形態のファイル格納部９は、ＡＴＰＧ対象ネットリスト２１と、ＡＴＰＧ対象始終点リスト２２と、ロジックコーンセルリスト２３と、ロジックコーン故障リスト２４と、全故障リスト２５とを備えている。
【００２８】
ＡＴＰＧ対象ネットリスト２１は、ＡＴＰＧによるテストパタンの生成の対象となる半導体集積回路の全体に関する回路接続情報を示している。ＡＴＰＧ対象始終点リスト２２は、テストパタン生成の対象にしたい回路の始点、および、終点の情報を示している。ＡＴＰＧ対象始終点リスト２２には、例えば、順序回路などの故障検出が容易でない回路の故障を検出するテストパタンを生成したい場合には、その順序回路の始点、および、終点が指定されている。
【００２９】
ロジックコーンセルリスト２３は、ロジックコーン上に存在するセルの情報を示している。ロジックコーン故障リスト２４は、ロジックコーンセルリスト２３に示されているロジックコーン上に存在するセルに対する故障を示している。全故障リスト２５は、ネットリスト（ＡＴＰＧ対象ネットリスト２１）に対して想定され得る全ての故障を示している。
【００３０】
図５は、第１実施形態のテストパタン生成システム１の構成を概念的に例示するブロック図である。図５に示されているように、ロジックコーン抽出部１１は、ＡＴＰＧ対象ネットリスト２１とＡＴＰＧ対象始終点リスト２２とを入力として受け取る。ロジックコーン抽出部１１は、ＡＴＰＧ対象ネットリスト２１とＡＴＰＧ対象始終点リスト２２に示される情報に基づいて、ロジックコーンセルリスト２３を生成する。故障リスト生成部１２は、ロジックコーン抽出部１１が生成したロジックコーンセルリスト２３とＡＴＰＧ対象ネットリスト２１とを入力として受け取る。故障リスト生成部１２は、ロジックコーンセルリスト２３とＡＴＰＧ対象ネットリスト２１とに示される情報に基づいてロジックコーン故障リスト２４を生成する。ＡＴＰＧ実行部１３は、ＡＴＰＧ対象ネットリスト２１とロジックコーン故障リスト２４とを入力として受け取る。ＡＴＰＧ実行部１３は、ＡＴＰＧ対象ネットリスト２１とロジックコーン故障リスト２４とに支援される情報に基づいてテストパタンファイル３１を生成する。
【００３１】
図６は、第１実施形態のテストパタン生成システム１の動作を例示するフローチャートである。ステップＳ１０１において、テストパタン生成システム１のロジックコーン抽出部１１は、ＡＴＰＧ対象ネットリスト２１を読み出して、ＡＴＰＧ対象となる回路全体に関する回路接続情報を特定する。
【００３２】
図７は、ＡＴＰＧ対象ネットリスト２１の構成を例示する記述である。図７に例示するＡＴＰＧ対象ネットリスト２１は、Ｖｅｒｉｌｏｇ記述に準拠して表現されている。図７に例示される記述は、本実施形態のＡＴＰＧ対象ネットリスト２１が、Ｖｅｒｉｌｏｇ記述に限定されることを意味するものではない。また、図７の記述は、テストパタンの生成対象となっている回路全体のうちの一部分だけをＡＴＰＧ対象ネットリスト２１として例示している。
【００３３】
図７には、このモジュールにＴＩ３１〜ＴＩ３４という入力端子と、ＴＩ４１〜ＴＩ４５という入力端子と、ＴＯ３１〜ＴＯ３４という出力端子と、ＴＯ４１〜ＴＯ４３という出力端子とがあることが示されている。また、図７には、このモジュールにインスタンス名がｇ３０１〜ｇ３０５の回路と、インスタンス名がｇ４０１〜ｇ４０４の回路があることが示されている。
【００３４】
図８および図９は、テストパタンの生成対象となっている回路全体のうちの一部分だけを抽出して例示した回路図である。図８は、ＡＴＰＧ対象ネットリスト２１に示されるＡＴＰＧ対象回路３２の構成を例示している。また、図９は、ＡＴＰＧ対象ネットリスト２１に示されるＡＴＰＧ対象回路３３の構成を例示している。図８および図９の回路図では、故障検出の対象となる各ノードに参照符号を付している。本実施形態では、本願発明の理解を容易にするために、ＡＴＰＧ対象ネットリスト２１に記述されているインスタンス名を、その参照符号として使用している。
【００３５】
図８を参照すると、ＡＴＰＧ対象回路３２は、第１入力端子ＴＩ３１〜第４入力端子ＴＩ３４と、第１論理ゲートｇ３０１〜第５論理ゲートｇ３０５と、第１出力端子ＴＯ３１〜第２出力端子ＴＯ３２を備えている。第１論理ゲートｇ３０１、第２論理ゲートｇ３０２および第５論理ゲートｇ３０５は、ＡＮＤ回路としての機能を提供している。第３論理ゲートｇ３０３は、ＯＲ回路としての機能を提供している。第４論理ゲートｇ３０４は、インバータとしての機能を提供している。
【００３６】
図９を参照すると、ＡＴＰＧ対象回路３３は、第５入力端子ＴＩ４１〜第９入力端子ＴＩ４５と、第３出力端子ＴＯ４１〜第５出力端子ＴＯ４３と、第６論理ゲートｇ４０１〜第９論理ゲートｇ４０４を備えている。第６論理ゲートｇ４０１、第８論理ゲートｇ４０３および第９論理ゲートｇ４０４は、ＡＮＤ回路としての機能を提供している。第７論理ゲートｇ４０２は、ＯＲ回路としての機能を提供している。
【００３７】
図６に戻り、ステップＳ１０２において、テストパタン生成の対象にしたい回路の始点、および、終点の情報を記載したＡＴＰＧ対象始終点リスト２２を読み込む。テストパタン生成の対象にしたい回路としては、スキャンフリップフロップと組み合わせ回路以外の回路が例示される。例えば、順序回路のような情報記憶する機能を有する回路などである。また、ＲＡＭ、ＲＯＭ、ラッチ、もしくはスキャンチェインに含まれないフリップフロップなどであっても良い。本実施形態のＡＴＰＧ対象始終点リスト２２は、そのような領域の入力ピンと出力ピンの少なくとも一方を定義している。
【００３８】
図１０は、ＡＴＰＧ対象始終点リスト２２の一部分だけを抽出して例示した記述である。１行目の行頭の“＃”という文字は、その行がコメント行であることを表している。１行目の“ｔｙｐｅ”に対応する列には、始点または終点を定義するための文字列が記載される。１行目の“ｐｉｎ＿ｎａｍｅ”に対応する列には、端子名またはセルのピン名が記載される。図１０を参照すると、２行目には、始点を定義するための文字列である“ＳＰ”が記述されている。その“ＳＰ”によって、“ＴＩ４４”が始点として定義される。また、３行目には、終点を定義するための文字列である“ＥＰ”が記述されている。その“ＥＰ”によって、“ＴＯ３２”が終点として定義される。
【００３９】
図６に戻り、ステップＳ１０３において、ＡＴＰＧ対象ネットリスト２１の回路接続情報と、ＡＴＰＧ対象始終点リスト２２に記載された始終点情報をもとに、ロジックコーン上に存在するセルを抽出する。抽出されたセルの情報は、ロジックコーンセルリスト２３として後段に出力される。図１１は、ロジックコーンセルリスト２３の構成を例示する記述である。１行目の行頭の“＃”という文字は、その行がコメント行であることを表している。１行目の“ｔｙｐｅ”に対応する列には、端子（ピン）またはセルを定義するための文字列が記載される。１行目の“ｎａｍｅ”に対応する列には、端子（ピン）またはセルに対応するインスタンス名が記載される。
【００４０】
図１２、図１３は、ロジックコーン抽出部１１によって特定されるロジックコーンの構成を例示する回路図である。図１２は、ロジックコーンセルリスト２３に示される入力側ロジックコーン３４を例示する回路図である。入力側ロジックコーン３４は、出力端子１つに対して１つが作成され、ある出力端子から入力端子の方向に向かって論理ゲートを順次辿っていったときに、入力端子に到達するまでに通過した全ての論理ゲート、到達した全ての入力端子、出発点となった出力端子の集合として定義される。換言すれば、ある１つの出力端子に論理値を伝播させることの可能な全ての論理ゲート及び入力端子の集まりと当該出力端子とで１つのコーンが形成されることになる。
【００４１】
ステップＳ１０３では、入力側ロジックコーン解析部１４は、ＡＴＰＧ対象始終点リスト２２の終点情報として記載された第２出力端子ＴＯ３２を起点として回路内を辿ってゆく。第２出力端子ＴＯ３２には第３論理ゲートｇ３０３が接続されている。入力側ロジックコーン解析部１４は、その第３論理ゲートｇ３０３をコーンに含ませる。また、第３論理ゲートｇ３０３の一方の入力ピンには、第２論理ゲートｇ３０２が接続されている。入力側ロジックコーン解析部１４は、その第２論理ゲートｇ３０２をコーンに含める。第２論理ゲートｇ３０２の一方の入力ピンには、第２入力端子ＴＩ３２および第１論理ゲートｇ３０１が接続されている。また、第２論理ゲートｇ３０２の他方の入力ピンには、第４論理ゲートｇ３０４が接続されている。入力側ロジックコーン解析部１４は、第２入力端子ＴＩ３２および第４論理ゲートｇ３０４をコーンに含める。
【００４２】
図１２に示されているように、第１論理ゲートｇ３０１は、入力端子の方向に配置されていない。入力側ロジックコーン解析部１４は、第１論理ゲートｇ３０１と第１出力端子ＴＯ３１とをコーンに含めない。このような手順でコーンが形成される。そのコーン（入力側ロジックコーン３４）には、第２出力端子ＴＯ３２と、第２論理ゲートｇ３０２〜第５論理ゲートｇ３０５と、第２入力端子ＴＩ３２〜第４入力端子ＴＩ３４が含まれる。なお、ＡＴＰＧ対象始終点リスト２２に終点情報として記載されない第１出力端子ＴＯ３１については、入力側ロジックコーン解析部１４は入力側のロジックコーン抽出を行わない。
【００４３】
図１３は、ロジックコーンセルリスト２３に示される出力側ロジックコーン３５を例示する回路図である。出力側ロジックコーン解析部１５は、ＡＴＰＧ対象始終点リスト２２の始点情報をもとに、リストに記載の１つの始点から出力端子（順序回路素子の出力ピンを含む）に到達するまで後段方向にトレースし、出力側のロジックコーンを抽出する。出力側ロジックコーン３５は、入力端子１つに対して１つが作成され、ある入力端子から出力端子の方向に向かって論理ゲートを順次辿っていったときに、出力端子に到達するまでに通過した全ての論理ゲート、到達した全ての出力端子、出発点となった入力端子の集合として定義される。換言すれば、ある１つの入力端子から出力方向に論理値を伝播させることの可能な全ての論理ゲート及び出力端子の集まりと当該入力端子とで１つのコーンが形成されることになる。
【００４４】
出力側ロジックコーン解析部１５は、ＡＴＰＧ対象始終点リスト２２の始点情報として記載された第８入力端子ＴＩ４４を起点として回路内を辿ってゆく。第８入力端子ＴＩ４４には第８論理ゲートｇ４０３が接続されている。出力側ロジックコーン解析部１５は、その第８論理ゲートｇ４０３をコーンに含ませる。また、第８論理ゲートｇ４０３の出力ピンには、第７論理ゲートｇ４０２および第９論理ゲートｇ４０４が接続されている。出力側ロジックコーン解析部１５は、第７論理ゲートｇ４０２および第９論理ゲートｇ４０４をコーンに含める。更に、第７論理ゲートｇ４０２の出力ピンには第４出力端子ＴＯ４２が接続されている。出力側ロジックコーン解析部１５は、その第４出力端子ＴＯ４２をコーンに含める。このような手順でコーンが形成される。
【００４５】
図１３に示されているように、コーン（出力側ロジックコーン３５）には、第８入力端子ＴＩ４４、第７論理ゲートｇ４０２〜第９論理ゲートｇ４０４、第４出力端子ＴＯ４２〜第５出力端子ＴＯ４３が含まれている。なお、ＡＴＰＧ対象始終点リスト２２に始点情報として記載されない第５入力端子ＴＩ４１〜第７入力端子ＴＩ４３、第８入力端子ＴＩ４４については、出力側ロジックコーン解析部１５は、出力側のロジックコーン抽出を行わない。
【００４６】
図６に戻り、ステップＳ１０４において、ＡＴＰＧ対象ネットリスト２１の回路接続情報、および、ロジックコーンセルリスト２３に記載されたセル情報をもとに、そのセルに対する故障を抽出する。そして、抽出した故障に基づいてロジックコーン故障リスト２４を生成する。
【００４７】
図１４は、ロジックコーン故障リスト２４の構成を例示する記述である。１行目の行頭の“＃”という文字は、その行がコメント行であることを表している。１行目の“ｔｙｐｅ”に対応する列には、“０”、“１”、“０１”の何れかが記載される。“ｔｙｐｅ”列に“０”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿０またはｓｌｏｗ＿ｔｏ＿ｒｉｓｅであることを示している。“ｔｙｐｅ”列に“１”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿１またはｓｌｏｗ＿ｔｏ＿ｆａｌｌであることを示している。“ｔｙｐｅ”列に“０１”が記載される場合、その故障がｂｏｔｈ（ｔｙｐｅ  ０、ｔｙｐｅ  １の両方）であることを示している。
【００４８】
１行目の“ｃｌａｓｓ”に対応する列には、故障に対する状態が記載される。“ｃｌａｓｓ”列に“ＤＴ”が記載された場合、対応する故障がＤｅｔｅｃｔｅｄ（検出故障）として処理される。“ｃｌａｓｓ”列に“ＮＤ”が記載された場合、対応する故障がＮｏｔＤｅｔｅｃｔｅｄ（未検出故障）として処理される。“ｃｌａｓｓ”列に“ＡＵ”が記載された場合、対応する故障がＡＴＰＧ  Ｕｎｔｅｓｔａｂｌｅ（検出不能故障）として処理される。１行目の“ｐｉｎ＿ｎａｍｅ”に対応する列には、対応する端子名またはセルのピン名が記載される。
【００４９】
図６に戻り、ステップＳ１０５において、ＡＴＰＧ対象ネットリスト２１の回路接続情報、および、ロジックコーンセルリスト２３に記載されたロジックコーンの故障リストを対象にテストパタンを生成する。その後、ステップＳ１０６において、生成されたテストパタンデータをテストパタンファイル３１に出力する。
【００５０】
上述のように、本実施形態のテストパタン生成システム１は、出力側回路ロジックコーン、及び入力側回路のロジックコーンに故障定義を絞り込んでいる。そのため、余計な組み合わせ回路の故障を取り除いた状態の順序回路の部分を特定することが可能となり、その部分に限定してシーケンシャルＡＴＰＧを実行することができる。これによって、ＡＴＰＧの実行時間を短縮することが出来る。
【００５１】
［比較例］
以下に、本願発明の比較例について説明を行う。図１５は、ＡＴＰＧ対象ネットリスト２１に対して、想定され得る全ての故障の拾い出しを行って故障リストを生成した場合の全故障リスト２５の構成を例示する記述である。１行目の“ｔｙｐｅ”に対応する列には、“０”、“１”、“０１”の何れかが記載される。“ｔｙｐｅ”列に“０”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿０またはｓｌｏｗ＿ｔｏ＿ｒｉｓｅであることを示している。“ｔｙｐｅ”列に“１”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿１またはｓｌｏｗ＿ｔｏ＿ｆａｌｌであることを示している。“ｔｙｐｅ”列に“０１”が記載される場合、その故障がｂｏｔｈ（ｔｙｐｅ  ０、ｔｙｐｅ  １の両方）であることを示している。
【００５２】
１行目の“ｃｌａｓｓ”に対応する列には、故障に対する状態が記載される。“ｃｌａｓｓ”列に“ＤＴ”が記載された場合、対応する故障がＤｅｔｅｃｔｅｄ（検出故障）として処理される。“ｃｌａｓｓ”列に“ＮＤ”が記載された場合、対応する故障がＮｏｔＤｅｔｅｃｔｅｄ（未検出故障）として処理される。“ｃｌａｓｓ”列に“ＡＵ”が記載された場合、対応する故障がＡＴＰＧ  Ｕｎｔｅｓｔａｂｌｅ（検出不能故障）として処理される。１行目の“ｐｉｎ＿ｎａｍｅ”に対応する列には、対応する端子名またはセルのピン名が記載される。
【００５３】
図１５に示されているように、全故障リスト２５に示される故障の総数は、８０個になる。ここで、図１４を参照すると、ロジックコーンセルリスト２３に示される故障数は、５４個である。本実施形態のテストパタン生成システム１は、ＡＴＰＧ対象ネットリスト２１の回路接続情報、および、ロジックコーンセルリスト２３に記載されたロジックコーンの故障リストを対象にテストパタンを生成している。ロジックコーンセルリスト２３は、余計な組み合わせ回路の故障を取り除いた状態のリストであり、出力側回路ロジックコーン、及び入力側回路のロジックコーンに故障定義が絞り込まれている。そのため、ＡＴＰＧの実行時間を短縮することが出来る。
【００５４】
上述してきたように、テストパタン生成システム１は、順序回路素子を含む回路などのテストパタン生成の対象にしたい回路の始点（順序回路素子の出力ピン）、および終点（順序回路素子の入力ピン）を指定し、始点および終点を起点としたロジックコーンを抽出している。そして、そのロジックコーンにのみ故障を定義した故障リストを生成している。その故障リストを使用することによって、組み合わせ回路の故障を取り除いた状態で順序回路素子の部分に限定してシーケンシャルＡＴＰＧを実行できる。
【００５５】
また、１つの故障を検出するために複数回のスキャンシフト動作が必要になるテストパタンが生成されることがある。本実施形態のようなテストパタン生成システム１を構成することによって、そのようなテストパタンによるテスト時間の増加を最小限にすることができる。
【００５６】
一般的に、順序回路素子の故障を検出するには、回路素子に対して任意の値を複数回印加する必要がある。その任意の値を、１回のスキャンシフト動作、および、１回もしくは複数回のスキャンキャプチャ動作の組み合わせによって印加していくのは困難である。従って、順序回路素子を含む回路の故障を検出するシーケンシャルＡＴＰＧでは、複数回のスキャンシフト動作、および、スキャンキャプチャ動作によって、順序回路素子に任意の値を印加するテストパタンが生成されることになる。
【００５７】
スキャンパタンのテスト時間はシフト動作の回数に比例するため、１回のスキャンシフト動作で検出できるような組み合わせ回路の故障に対して、複数回のスキャンシフト動作が必要なテストパタンを生成すると、組み合わせ回路の故障を検出するパタンにおけるスキャンシフト動作の回数だけテスト時間が長くなる。本実施形態のテストパタン生成システム１は、余計な組み合わせ回路の故障を取り除いた状態で順序回路素子の部分に限定してシーケンシャルＡＴＰＧを実行することができる。そのため、テスターよる半導体集積回路のテスト時間の短縮を実現することができる。
【００５８】
［第２実施形態］
以下に、図面を参照して本願発明の第２実施形態について説明を行う。図１６は、第２実施形態のテストパタン生成システム１の構成を例示するブロック図である。第２実施形態のテストパタン生成システム１は、第１実施形態のテストパタン生成システム１の構成に加え、さらに、未検出故障リスト生成部１６が備えられえている。未検出故障リスト生成部１６は、既存パタン検出故障リスト２６（既存パタン検出故障リスト２６の構成に関しては後述する）を参照して、ロジックコーン故障リスト２４に基づいて、ロジックコーンの未検出故障を絞り込んだリスト（以下、未検出故障リスト２７と記載する）を生成する。
【００５９】
図１７は、第２実施形態のファイル格納部９の構成を例示するブロック図である。第２実施形態のファイル格納部９は、第１実施形態のファイル格納部９の構成に加え、さらに、既存パタン検出故障リスト２６と未検出故障リスト２７とを備えている。既存パタン検出故障リスト２６は、人手によって予め作成されている機能検証パタンや、ＡＴＰＧにより予め生成されているテストパタンなどである。既存パタン検出故障リスト２６には、シミュレーションや以前に実行したＡＴＰＧによって検出済みの故障が示されている。未検出故障リスト２７には、ロジックコーン故障リスト２４に示されている故障と既存パタン検出故障リスト２６に示されている故障とを比較して、合致しない故障を抽出して保持している。換言すると、未検出故障リスト２７は、ロジックコーン故障リスト２４から、既存パタン検出故障リスト２６に示される故障を除外した構成であるということもできる。
【００６０】
図１８は、第２実施形態のテストパタン生成システム１の構成を概念的に例示するブロック図である。第２実施形態のテストパタン生成システム１において、ロジックコーン抽出部１１は、第１実施形態のロジックコーン抽出部１１と同様に、ＡＴＰＧ対象ネットリスト２１とＡＴＰＧ対象始終点リスト２２とを入力として受け取る。ロジックコーン抽出部１１は、ＡＴＰＧ対象ネットリスト２１とＡＴＰＧ対象始終点リスト２２に示される情報に基づいて、ロジックコーンセルリスト２３を生成する。故障リスト生成部１２は、ロジックコーン抽出部１１が生成したロジックコーン故障リスト２４とＡＴＰＧ対象ネットリスト２１とを入力として受け取る。故障リスト生成部１２は、ロジックコーンセルリスト２３とＡＴＰＧ対象ネットリスト２１とに示される情報に基づいてロジックコーン故障リスト２４を生成する。
【００６１】
第２実施形態のテストパタン生成システム１において、未検出故障リスト生成部１６は、既存パタン検出故障リスト２６とロジックコーン故障リスト２４とを入力として受け取る。未検出故障リスト生成部１６は、既存パタン検出故障リスト２６とロジックコーン故障リスト２４とに基づいて、未検出故障リスト２７を生成してＡＴＰＧ実行部１３に供給する。ＡＴＰＧ実行部１３は、未検出故障リスト２７とＡＴＰＧ対象ネットリスト２１とを入力として受け取り、テストパタンファイル３１を生成する。
【００６２】
図１９は、第２実施形態のテストパタン生成システム１の動作を例示するフローチャートである。第２実施形態のテストパタン生成システム１において、ステップＳ１０１からステップＳ１０４までは、第１実施形態と同様に動作する。
【００６３】
ステップＳ２０１において、未検出故障リスト生成部１６は、既存パタン検出故障リスト２６を読み出し、その既存パタン検出故障リスト２６に示される検出済みの故障を特定する。図２０は、既存パタン検出故障リスト２６の構成を例示する記述である。１行目の行頭の“＃”という文字は、その行がコメント行であることを表している。１行目の“ｔｙｐｅ”に対応する列には、“０”、“１”、“０１”の何れかが記載される。“ｔｙｐｅ”列に“０”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿０またはｓｌｏｗ＿ｔｏ＿ｒｉｓｅであることを示している。“ｔｙｐｅ”列に“１”が記載される場合、その故障が、ｓｔａｃｋ＿ａｔ＿１またはｓｌｏｗ＿ｔｏ＿ｆａｌｌであることを示している。“ｔｙｐｅ”列に“０１”が記載される場合、その故障がｂｏｔｈ（ｔｙｐｅ  ０、ｔｙｐｅ  １の両方）であることを示している。
【００６４】
１行目の“ｃｌａｓｓ”に対応する列には、故障に対する状態が記載される。“ｃｌａｓｓ”列に“ＤＴ”が記載された場合、対応する故障がＤｅｔｅｃｔｅｄ（検出故障）として処理される。“ｃｌａｓｓ”列に“ＮＤ”が記載された場合、対応する故障がＮｏｔＤｅｔｅｃｔｅｄ（未検出故障）として処理される。“ｃｌａｓｓ”列に“ＡＵ”が記載された場合、対応する故障がＡＴＰＧ  Ｕｎｔｅｓｔａｂｌｅ（検出不能故障）として処理される。１行目の“ｐｉｎ＿ｎａｍｅ”に対応する列には、対応する端子名またはセルのピン名が記載される。
【００６５】
図１９に戻り、ステップＳ２０２において、未検出故障リスト生成部１６は、ロジックコーン故障リスト２４に存在し、且つ、既存パタン検出故障リスト２６に存在しない故障を抽出する。ステップＳ２０３において、未検出故障リスト生成部１６は、抽出した故障に基づいて、未検出故障リスト２７を生成する。図２１は、未検出故障リスト２７の構成を例示するリストである。１行目の“ｔｙｐｅ”に対応する列、“ｃｌａｓｓ”に対応する列、および“ｐｉｎ＿ｎａｍｅ”に対応する列に記載される文字列は、既存パタン検出故障リスト２６と同様の意味内容を示している。図２１を参照すると、未検出故障リスト２７には、４５個の故障が定義されている。
【００６６】
図１９に戻り、ステップＳ２０４において、ＡＴＰＧ対象ネットリスト２１の回路接続情報、および、未検出故障リスト２７に記載されたロジックコーンの未検出故障リストを対象にテストパタンデータを生成する。ステップＳ２０５において、生成されたテストパタンデータをテストパタンファイル３１に出力する。
【００６７】
図２１に示されているように、第２実施形態のテストパタン生成システム１において、未検出故障リスト２７には４５個の故障が定義されている。上述の図１５の全故障リスト２５に示される故障の総数は、８０個になる。また、図１４のロジックコーンセルリスト２３に示される故障の総数は、５４個である。このように、第２実施形態のテストパタン生成システム１は、既存のテストパタンで検出済みの故障リストを利用することで、よりＡＴＰＧの実行時間を短縮することが出来る。
【００６８】
特許文献２に記載された技術のように、読み出したネットリストに対して、想定され得る全ての故障の拾出しを行って故障リストを生成する場合、故障リストに含まれる故障が非常に多くなってしまう。仮に、１千万個の故障が故障リストに存在するとして、故障シミュレーションによって９９％という高い検出率が得られるとしても、テストパタン生成の対象となる故障数は１０万個にもなる。その１０万個のテストパタン生成の対象は、順序回路素子と組み合わせ回路を含んでいる。このように順序回路素子と組み合わせ回路を含んだテストパタン生成対象の故障数が多い状態でシーケンシャルＡＴＰＧを行うと、組み合わせ回路のみで構成される回路も含めてシーケンシャルＡＴＰＧを実行することとなる。
【００６９】
しかしながら、上述してきたように、本実施形態のテストパタン生成システムでは、テストパタン生成対象回路の始点もしくは終点を記載した始終点リストを使用して、その始終点リストをもとに出力側回路のロジックコーンの故障および入力側回路のロジックコーンの故障を抽出している。そして、余計な組み合わせ回路の故障を取り除いた状態で順序回路素子の部分に限定してシーケンシャルＡＴＰＧを実行している。また、既存のテストパタンで検出済みの故障定義リストを利用して、出力側回路及び入力側回路のロジックコーンの故障を絞り込むことで、ＡＴＰＧの実行時間を短縮することが出来る。
【００７０】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００７１】
１…テストパタン生成システム
２…コンピュータ装置本体
３…入力装置
４…出力装置
５…演算処理装置
６…情報記憶装置
７…バス
８…ＥＤＡツール格納部
９…ファイル格納部
１１…ロジックコーン抽出部
１２…故障リスト生成部
１３…ＡＴＰＧ実行部
１４…入力側ロジックコーン解析部
１５…出力側ロジックコーン解析部
１６…未検出故障リスト生成部
２１…ＡＴＰＧ対象ネットリスト
２２…ＡＴＰＧ対象始終点リスト
２３…ロジックコーンセルリスト
２４…ロジックコーン故障リスト
２５…全故障リスト
２６…既存パタン検出故障リスト
２７…未検出故障リスト
３１…テストパタンファイル
３２…ＡＴＰＧ対象回路
３３…ＡＴＰＧ対象回路
３４…入力側ロジックコーン
３５…出力側ロジックコーン
ＴＩ３１…第１入力端子
ＴＩ３２…第２入力端子
ＴＩ３３…第３入力端子
ＴＩ３４…第４入力端子
ＴＩ４１…第５入力端子
ＴＩ４２…第６入力端子
ＴＩ４３…第７入力端子
ＴＩ４４…第８入力端子
ＴＩ４５…第９入力端子
ＴＯ３１…第１出力端子
ＴＯ３２…第２出力端子
ＴＯ４１…第３出力端子
ＴＯ４２…第４出力端子
ＴＯ４３…第５出力端子
ｇ３０１…第１論理ゲート
ｇ３０２…第２論理ゲート
ｇ３０３…第３論理ゲート
ｇ３０４…第４論理ゲート
ｇ３０５…第５論理ゲート
ｇ４０１…第６論理ゲート
ｇ４０２…第７論理ゲート
ｇ４０３…第８論理ゲート
ｇ４０４…第９論理ゲート
１０１…テストパタン生成部
１０１ａ…故障シミュレーション実行部
１０１ｂ…ＡＴＧＰ実行部
１０２…ネットリスト記憶部
１０３…メモリ部
１０３ａ…故障リスト用メモリ
１０３ｂ…未検出故障リスト用メモリ
１０４…機能検証パタン記憶部
１０５…テストパタン出力部
【図１】
2012207993.tif 000003
【図２】
2012207993.tif 000004
【図３】
2012207993.tif 000005
【図４】
2012207993.tif 000006
【図５】
2012207993.tif 000007
【図６】
2012207993.tif 000008
【図７】
2012207993.tif 000009
【図８】
2012207993.tif 000010
【図９】
2012207993.tif 000011
【図１０】
2012207993.tif 000012
【図１１】
2012207993.tif 000013
【図１２】
2012207993.tif 000014
【図１３】
2012207993.tif 000015
【図１４】
2012207993.tif 000016
【図１５】
2012207993.tif 000017
【図１６】
2012207993.tif 000018
【図１７】
2012207993.tif 000019
【図１８】
2012207993.tif 000020
【図１９】
2012207993.tif 000021
【図２０】
2012207993.tif 000022
【図２１】
2012207993.tif 000023