(57)【要約】【課題】ＡＴＰＧの処理時間の短縮化および余分なテストパターン数の削減を図ること。【解決手段】テストシーケンスＩＤ：８の活性化テストシーケンス：１１ＸＸ０をＡＴＰＧ２１００に入力して、活性化テストシーケンス：１１０００を生成する。テストシーケンスＩＤ：８の伝播テストシーケンス：１１ＸＸ１をＡＴＰＧ２１００に入力して、テストシーケンスＩＤ：９の伝播テストシーケンス：１１０１１を生成する。テストシーケンスＩＤ：８の伝播テストシーケンス：１１ＸＸ０をＡＴＰＧ２１００に入力して、テストシーケンスＩＤ：９の伝播テストシーケンス：１１０１０を生成する。テストシーケンスＩＤ：９の活性化テストシーケンス：１１０００、伝播テストシーケンス：１１０１１および伝播テストシーケンス：１１０１０をＡＴＰＧ２１００に入力して、テストパターン１１０００ＸＸ、１１０１１ＸＸ、および１１０１１ＸＨを生成する。【選択図】        図２１
2006058172.tif 000002
【特許請求の範囲】
【請求項１】
任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
を備えることを特徴とするテストパターン生成システム。
【請求項２】
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定手段と、
前記伝播経路情報判定手段によって伝播経路情報が含まれていると判定された場合、前記端子情報生成手段によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出手段と、
前記端子情報抽出手段によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第２のテストシーケンス識別情報判定手段と、
前記第２のテストシーケンス識別情報判定手段によって判定された判定結果に基づいて、前記端子情報抽出手段によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出手段と、を備え、
前記テストシーケンス生成手段は、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出手段によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成し、
前記テストパターン生成手段は、
前記テストシーケンス生成手段によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成することを特徴とする請求項１に記載のテストパターン生成システム。
【請求項３】
任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
前記テストパターン生成手段によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行手段と、
前記論理シミュレーション実行手段によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得手段と、
前記取得手段によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析手段と、
を備えることを特徴とするテストパターン解析システム。
【請求項４】
任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
を含んだことを特徴とするテストパターン生成方法。
【請求項５】
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第２のテストシーケンス識別情報判定工程と、
前記第２のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成する第２のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成する第２のテストパターン生成工程と、
を含んだことを特徴とする請求項４に記載のテストパターン生成方法。
【請求項６】
任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析工程と、
を含んだことを特徴とするテストパターン解析方法。
【請求項７】
任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
をコンピュータに実行させることを特徴とするテストパターン生成プログラム。
【請求項８】
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定させる伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出させる端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定させる第２のテストシーケンス識別情報判定工程と、
前記第２のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出させるテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成させる第２のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成させる第２のテストパターン生成工程と、
を含んだことを特徴とする請求項７に記載のテストパターン生成プログラム。
【請求項９】
任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行させる論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得させる取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析させる解析工程と、
をコンピュータに実行させることを特徴とするテストパターン解析プログラム。
【請求項１０】
請求項７〜９のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回路の情報、テストシーケンス、テストパターン、故障フラグ、エラーの起こる条件が互いに関連付けられたデータベースを用いて、テストパターンの生成および解析をおこなうテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来、試験対象となる順序回路のＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）において、故障の活性化条件を摘出するためには、順序回路の入力側の信号伝播に必要な、テストパターンの順序を摘出する必要がある。テストパターンの順序はテストシーケンスと呼ばれ、順序回路の故障に対してテストパターンを生成する場合、これらのテストシーケンスを再利用することで、順序回路に対するＡＴＰＧの処理速度を高速化することが可能であることが分かっている。
【０００３】
また、試験対象となる組み合わせ回路のＡＴＰＧにおいては、スキャンＦＦを使って、組み合わせ回路の状態を取り出すことが可能であるため、テストシーケンスは必要ない。ただし、組み合わせ回路中に冗長回路が存在する場合や、バックトラックの数が膨大になるような回路の場合、テストパターン生成に膨大な時間がかかり、テストパターン数が増加するという問題がある。
【０００４】
さらに、これらＡＴＰＧで生成されたテストパターンについては、Ｌｏｇｉｃシミュレーションをおこない、テストパターンと試験対象回路の動作が一致することを確認する必要がある。このＬｏｇｉｃシミュレーションでエラーが発生した場合、テストパターンと試験対象回路の情報を見比べて解析し、エラーの原因を特定する必要があるが、試験対象回路が大規模になり、テストパターンやテストシーケンスが複雑になるため、解析が困難な状況である（たとえば、下記特許文献１を参照。）。
【０００５】
【特許文献１】特開２０００−２５８５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＡＴＰＧの処理は従来、故障フラグを元にすべての故障を活性化するテストシーケンスと、故障を伝播するテストシーケンスとを出力する。したがって、試験対象回路の一部に冗長な回路が含まれる場合や、活性化する条件または伝播する条件が複雑になる場合、ＡＴＰＧの処理時間が増大したり、テストパターンのサイズが大きくなってしまうという問題があった。
【０００７】
また、ＡＴＰＧが生成するテストパターンには、試験対象回路の構成や故障フラグ、テストシーケンスの情報が含まれていないため、ＡＴＰＧの実行後に試験対象回路の変更をおこなうとテストパターンをすべて作り直す必要があり、テストパターンの生成に手間がかかるという問題があった。
【０００８】
さらに、上述した特許文献１の従来技術では、テストパターンの一部を再利用している。しかしながら、試験対象回路の等価検証をおこなって、差分についてＡＴＰＧを実行して、生成されたテストパターンとマージする処理が必要となり、処理時間やテストパターンの更新が複雑になる問題があった。
【０００９】
一方、生成されたテストパターンを用いてＬｏｇｉｃシミュレーションをおこなった結果がタイミングエラーやストローブエラーとなった場合、従来はテストパターンの番号、Ｌｏｇｉｃシミュレーションのエラーとなった時間、エラーとなったゲートの情報から、試験対象回路を解析し問題を特定する必要がある。
【００１０】
しかしながら、これらの情報からエラーの原因を特定することは、回路規模が大きくなると困難になり、原因の特定に時間と工数が大幅にかかってしまう問題があった。また、テスト設計や回路に関する知識と経験が必要であり、初心者がエラーの特定をすることが困難であるという問題もある。
【００１１】
また、ＡＴＰＧを実行する際、テストパターンをデータベースに書き込んでいく処理をおこなうが、複数のＣＰＵや複数のクライアント端末から同時にテストパターンを生成し、データベースを更新すると矛盾が生じてしまうという問題があった。さらに、複数のユーザが同じ試験対象回路について回路変更やテストパターン生成をおこなうことができないという問題があった。
【００１２】
また、さまざまなメーカが作成したＣＡＤが存在しているため、テストパターン生成ツール、テストパターン解析ツール、Ｌｏｇｉｃシミュレータについては、一部のデータベースのフォーマットが共有されているだけであり、内部で利用するデータベースが異なっている。したがって、ＡＴＰＧの処理を別のメーカで作成したＣＡＤに移行したり、ＡＴＰＧの処理結果の解析を別のメーカの作ったツールで解析するには、データベースをコンバートして利用したり、一部の機能が使えないといった問題があった。
【００１３】
この発明は、上述した従来技術による問題点を解消するため、ＡＴＰＧの処理時間の短縮化および余分なテストパターン数の削減を図ることができるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、この発明にかかるテストパターン生成システム、テストパターン生成方法、テストパターン生成プログラム、および記録媒体は、任意の回路のネットリストの入力を受け付け、入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成し、生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成し、生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定し、テストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成し、生成されたテストシーケンスを用いて、テストパターンを生成することを特徴とする。
【００１５】
この発明によれば、端子の識別情報によって特定される端子のテストシーケンスおよびテストパターンを生成する際に、伝播経路情報にかかるテストシーケンスおよびテストパターンを生成することができる。
【００１６】
また、この発明にかかるテストパターン解析システム、テストパターン解析方法、テストパターン解析プログラム、および記録媒体は、任意の回路のネットリストの入力を受け付け、入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成し、生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成し、生成された故障検出情報の中に、前記端子の故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスの識別情報が含まれているかどうかを判定し、テストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成し、生成されたテストシーケンスを用いて、テストパターンを生成し、生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行し、実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得し、取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析することを特徴とする。
【００１７】
この発明によれば、端子の識別情報によって特定される端子のテストシーケンスおよびテストパターンを生成する際に生成された、伝播経路情報にかかるテストシーケンスおよびテストパターンを解析することができる。
【発明の効果】
【００１８】
本発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体によれば、ＡＴＰＧの処理時間の短縮化および余分なテストパターン数の削減を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、この発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成装置、テストパターン解析装置、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
【００２０】
（実施の形態）
（テストパターン生成／解析システムの概略構成）
まず、この発明の実施の形態にかかるテストパターン生成／解析システムの概略構成について説明する。図１は、この発明の実施の形態にかかるテストパターン生成／解析システムの概略構成を示すブロック図である。図１において、テストパターン生成／解析システム１００は、データベース１０１を備えるデータベースサーバ１０２と、複数のワークステーション１０３（１０３Ａ〜１０３Ｃ）とが、ＬＡＮやインターネットなどのネットワーク１０４を介して交信可能に接続されている。
【００２１】
（データベースサーバおよびワークステーションのハードウェア構成）
つぎに、図１に示したデータベースサーバ１０２およびワークステーション１０３のハードウェア構成について説明する。図２は、図１に示したデータベースサーバ１０２およびワークステーション１０３のハードウェア構成を示すブロック図である。
【００２２】
図２において、データベースサーバ１０２およびワークステーション１０３は、それぞれ、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２３】
ここで、ＣＰＵ２０１は、データベースサーバ１０２およびワークステーション１０３の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。
【００２４】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをデータベースサーバ１０２およびワークステーション１０３に読み取らせたりする。
【００２５】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２６】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１０４に接続され、このネットワーク１０４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１０４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２７】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２８】
スキャナ２１２は、画像を光学的に読み取り、データベースサーバ１０２およびワークステーション１０３内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２９】
（テストパターン生成／解析システムの機能的構成）
つぎに、この発明の実施の形態にかかるテストパターン生成／解析システム１００の機能的構成について説明する。図３は、この発明の実施の形態にかかるテストパターン生成／解析システム１００の機能的構成を示すブロック図である。図１において、テストパターン生成／解析システム１００は、データベースサーバ１０２と、テストパターン生成／解析装置としてのワークステーション１０３とが、ネットワーク１０４を介して接続されて構成されている。
【００３０】
データベースサーバ１０２は、データベース１０１と管理部３１０とから構成されている。データベース１０１は、ネットリスト記憶部３０１と、ノード情報テーブル記憶部３０２と、素子タイプＩＤ記憶部３０３と、故障フラグテーブル記憶部３０４と、テストシーケンステーブル記憶部３０５と、テストパターンテーブル記憶部３０６と、を記憶する。
【００３１】
ネットリスト記憶部３０１は、対象回路のネットリストを記憶する。たとえば、対象回路を構成する素子、素子の端子（ノードとも呼ぶ。）、ノード間の接続関係などの情報を記憶する。ここで、対象回路を例に挙げて具体的に説明する。図４は、この発明の実施の形態にかかるテストパターン生成／解析システム１００の生成／解析対象となる回路の一例を示すブロック図である。
【００３２】
図４において、テストパターン生成／解析システム１００の生成／解析対象となる回路（対象回路）４００は、入力端子ＰＩ１〜ＰＩ４と、クロック端子ＣＫと、出力端子ＰＯ１、ＰＯ２と、入力端子ＰＩ１および入力端子ＰＩ２からの信号を入力するＯＲ回路Ｇ３と、入力端子ＰＩ２からの信号を入力するインバータＧ１と、ＯＲ回路Ｇ３およびインバータＧ１からの信号を入力するＡＮＤ回路Ｇ４と、ＡＮＤ回路Ｇ４からの出力信号とクロック端子ＣＫからのクロック信号を入力し、出力端子ＰＯ１に出力する順序回路ＦＦ１と、入力端子ＰＩ３およびインバータＧ１からの信号を入力するＡＮＤ回路Ｇ５と、ＡＮＤ回路Ｇ５からの信号とクロック端子ＣＫからのクロック信号を入力する順序回路ＦＦ２と、入力端子ＰＩ４からの信号を入力するインバータＧ２と、インバータＧ２からの信号およびクロック端子ＣＫからのクロック信号を入力する順序回路ＦＦ３と、順序回路ＦＦ２および順序回路ＦＦ３からの信号を入力し、出力端子ＰＯ２に出力するＯＲ回路Ｇ６と、から構成されている。
【００３３】
また、対象回路４００において、対象回路４００を構成する各素子に小文字のアルファベットが付されていない場合、素子名によってノードをあらわす。たとえば、入力端子ＰＩ１〜ＰＩ４、クロック端子ＣＫ、および出力端子ＰＯ１、ＰＯ２は、そのまま、後述するノード情報テーブルに記憶されるノードの名称となる。
【００３４】
一方、対象回路４００を構成する各素子の端子に小文字のアルファベットが付されている場合、このアルファベットと素子名とによってノードをあらわす。ＯＲ回路Ｇ３を例にとると、入力端子「ａ」についてはノードを「Ｇ３．ａ」と、入力端子「ｂ」についてはノードを「Ｇ３．ｂ」と、出力端子「ｘ」についてはノードを「Ｇ３．ｘ」という名称であらわす。他の素子についても同様である。
【００３５】
また、図３において、ノード情報テーブル記憶部３０２は、対象回路４００のノードに関するノード情報テーブルを記憶する。ここでノード情報テーブルについて説明する。図５は、図３に示したノード情報テーブル記憶部３０２に記憶されているノード情報テーブルを示す説明図である。図５において、ノード情報テーブル５００は、ノードＩＤ、ノード名、素子タイプＩＤ、故障フラグＩＤ、テストシーケンスＩＤ、テストパターンＩＤ、伝播経路に関するノードＩＤと、を有する。
【００３６】
「ノードＩＤ」には、ノード情報テーブル５００を識別するためのキーとなる数値が記憶される。この数値は、ノード情報テーブル５００の作成順に付与される。「ノード名」には、上述したノードの名称が記憶される。「素子タイプＩＤ」には、「ノード名」に記憶されている名称であらわわされているノードを含む素子の種類をあらわす素子タイプのＩＤ番号が記憶される。「故障フラグＩＤ」には、後述する故障フラグテーブルのＩＤ番号が記憶される。「テストシーケンスＩＤ」には、後述するテストシーケンステーブルのＩＤ番号が記憶される。「テストパターンＩＤ」には、後述するテストパターンテーブルのＩＤ番号が記憶される。
【００３７】
「伝播経路に関するノードＩＤ」には、「ノード名」によって特定されるノードまでの信号伝播経路上に存在する他の素子のノードのＩＤ番号が記憶される。ノードＧ４．ａを例にとると、ノードＧ４．ａまでの信号伝播経路は、
（１）ノードＰＩ１→ノードＧ３．ａ→ノードＧ３．ｘ→ノードＧ４．ａ
（２）ノードＰＩ２→ノードＧ３．ｂ→ノードＧ３．ｘ→ノードＧ４．ａ
である。したがって、この信号伝播経路（１）、（２）上に存在する他の素子または端子のノードは、「ノードＰＩ１」、「ノードＰＩ２」、「ノードＧ３．ａ」、「ノードＧ３．ｂ」、「ノードＧ３．ｘ」となり、「伝播経路に関するノードＩＤ」には、これらのノードのＩＤ番号が記憶される。
【００３８】
また、ノードＧ４．ｘを例にとると、ノードＧ４．ｘまでの信号伝播経路は、
（３）ノードＰＩ１→ノードＧ３．ａ→ノードＧ３．ｘ→ノードＧ４．ａ→ノードＧ４．ｘ
（４）ノードＰＩ２→ノードＧ３．ｂ→ノードＧ３．ｘ→ノードＧ４．ａ→ノードＧ４．ｘ
（５）ノードＰＩ２→ノードＧ１．ａ→ノードＧ１．ｘ→ノードＧ４．ｂ→ノードＧ４．ｘ
である。
【００３９】
したがって、この信号伝播経路（３）〜（５）上に存在する他の素子のノードは、「ノードＰＩ１」、「ノードＰＩ２」、「ノードＧ３．ａ」、「ノードＧ３．ｂ」、「ノードＧ３．ｘ」、「ノードＧ１．ａ」、「ノードＧ１．ｘ」となり、「伝播経路に関するノードＩＤ」には、これらのノードのＩＤ番号が記憶される。なお、ノードＧ４．ｘは素子Ｇ４の出力端子をあらわしているため、素子Ｇ４に含まれている端子をあらわす「ノードＧ４．ａ」および「ノードＧ４．ｂ」は、信号伝播経路（３）〜（５）上に存在する他の素子のノードには含まれない。
【００４０】
また、図３において、素子タイプＩＤ記憶部３０３は、対象回路４００の素子のタイプ(種類）と、当該素子のタイプに対応する素子タイプＩＤ（ＩＤ番号）とを記憶する。素子タイプＩＤは、上述したノード情報テーブルに記録される。図６は、図３に示した素子タイプＩＤ記憶部３０３に記憶されている素子タイプテーブルを示す説明図である。図６において、素子タイプテーブル６００には、素子タイプＩＤと、素子タイプとが対応付けられている。
【００４１】
具体的には、素子タイプＩＤが「０」の素子タイプは「ＩＮＰＵＴ」であり、入力端子をあらわしている。また、素子タイプＩＤが「１」の素子タイプは「ＯＵＴＰＵＴ」であり、出力端子をあらわしている。また、素子タイプＩＤが「２」の素子タイプは「ＣＬＯＣＫ」であり、クロック端子をあらわしている。さらに、素子タイプＩＤが「３」の素子タイプは「ＩＮＶＥＲＴＥＲ」であり、インバータをあらわしている。
【００４２】
また、素子タイプＩＤが「４」の素子タイプは「ＯＲ」であり、ＯＲ回路をあらわしている。さらに、素子タイプＩＤが「５」の素子タイプは「ＡＮＤ」であり、ＡＮＤ回路をあらわしている。また、素子タイプＩＤが「６」の素子タイプは「ＤＦＦ」であり、Ｄフリップフロップをあらわしている。さらに、素子タイプＩＤが「７」の素子タイプは「Ｂｕｓ」であり、バスをあらわしている。
【００４３】
また、素子タイプＩＤが「８」の素子タイプは「Ｂｕｆｆｅｒ」であり、バッファをあらわしている。さらに、素子タイプＩＤが「９」の素子タイプは「Ｌａｔｃｈ」であり、ラッチ回路をあらわしている。また、素子タイプＩＤが「１０」の素子タイプは「Ｓｅｌｅｃｔｏｒ」であり、セレクタ回路をあらわしている。さらに、素子タイプＩＤが「１１」の素子タイプは「ＳＦＦ」であり、ＳＲフリップフロップをあらわしている。
【００４４】
また図３において、故障フラグテーブル記憶部３０４は、故障フラグテーブルを記憶する。ここで、図３に示した故障フラグテーブル記憶部３０４に記憶されている故障フラグテーブルについて説明する。図７は、図３に示した故障フラグテーブル記憶部３０４に記憶されている故障フラグテーブルを示す説明図である。図７において、故障フラグテーブル７００には、故障フラグＩＤと、故障モデルと、故障タイプと、テストシーケンスＩＤと、テストパターンＩＤと、を有する。
【００４５】
「故障フラグＩＤ」には、故障フラグテーブルを識別するためのキーとなる数値が記憶される。この数値は、故障フラグテーブルの作成順に付与される。「故障モデル」には、『縮退故障』、『トランジション故障』など、採用する故障モデルの名称が記憶される。「故障タイプ」には、「故障モデル」の種類をあらわす名称が記憶される。たとえば、「故障モデル」が『縮退故障』の場合、「故障タイプ」には、０縮退故障をあらわす『ｓ−ａ−０』、または、１縮退故障をあらわす『ｓ−ａ−１』のいずれか一方が記憶される。
【００４６】
また、「テストシーケンスＩＤ」には、図５に示したノード情報テーブルと同様、後述するテストシーケンステーブルのＩＤ番号が記憶される。「テストパターンＩＤ」には、図５に示したノード情報テーブルと同様、後述するテストパターンテーブルのＩＤ番号が記憶される。
【００４７】
また図３において、テストシーケンステーブル記憶部３０５は、テストシーケンステーブルを記憶する。ここで、図３に示したテストシーケンステーブル記憶部３０５に記憶されているテストシーケンステーブルについて説明する。
【００４８】
図８は、図３に示したテストシーケンステーブル記憶部３０５に記憶されているテストシーケンステーブルを示す説明図である。図８において、テストシーケンステーブル８００には、テストシーケンスＩＤと、故障フラグＩＤと、参照テストシーケンスＩＤと、タイムフレーム番号と、活性化テストシーケンスと、伝播テストシーケンスと、を有する。
【００４９】
「テストシーケンスＩＤ」には、テストシーケンステーブルを識別可能なキーとなる数値が記憶される。この数値は、テストシーケンステーブルの作成順に付与される。「故障フラグＩＤ」には、図７に示した故障フラグテーブルと同様、テストシーケンステーブルのＩＤ番号が記憶される。「参照テストシーケンスＩＤ」には、このテストシーケンスの作成の際、参考にしたテストシーケンスのＩＤ番号が記憶される。
【００５０】
「タイムフレーム番号」には、テストシーケンスの入力順序をあらわす番号（タイムフレーム番号）が記憶される。「活性化テストシーケンス」には、故障を活性化する、すなわち、故障を検出することができる入力テストパターンが記憶される。「伝播テストシーケンス」には、活性化テストシーケンスによって活性化（検出）された故障を伝播する、すなわち、故障を検出できない入力テストパターンが記憶される。
【００５１】
また図３において、テストパターンテーブル記憶部３０６は、テストパターンテーブルを記憶する。ここで、図３に示したテストパターンテーブル記憶部３０６に記憶されているテストパターンテーブルについて説明する。
【００５２】
図９は、図３に示したテストパターンテーブル記憶部３０６に記憶されているテストパターンテーブルを示す説明図である。図９において、テストパターンテーブル９００は、テストパターンＩＤと、パターン番号と、タイムフレーム番号と、故障フラグＩＤと、テストシーケンスＩＤと、テストパターンと、を有する。
【００５３】
「テストパターンＩＤ」には、テストパターンテーブル９００を識別するためのキーとなる数値が記憶される。この数値は、テストパターンテーブル９００の作成順に付与される。「パターン番号」には、テストパターンの番号が記憶されている。テストパターンは、いくつかのパターンを組み合わせて構成されているため、その何番目のパターンを意味しているのかをあらわしている。用途としては、論理シミュレーションの結果を解析する際、論理シミュレーションが何番目のテストパターンでエラーになったのかを示すため、その番号に該当するテストパターンを検索する際に利用する。
【００５４】
「タイムフレーム番号」には、テストパターンの入力順序をあらわす番号（タイムフレーム番号）が記憶される。「テストシーケンスＩＤ」には、テストパターンに対応するテストシーケンスのＩＤ番号が記憶される。「テストパターン」には、入力テストパターンをあらわすテストシーケンスと、このテストシーケンスを用いてＡＴＰＧを実行したときに得られる期待値（出力テストパターン）と、からなるテストパターンが記憶される。図５〜図９に示したテーブルの関係付けにより、データの一部が更新されると同時に関係するテーブルの内容も更新される。
【００５５】
つぎに、上述した活性化テストシーケンスおよび伝播テストシーケンスについて具体的に説明する。図１０は、活性化テストシーケンスおよび伝播テストシーケンスを説明するための対象回路の一例を示すブロック図である。この対象回路１０００は、図４に示した対象回路の一部を抜粋した回路であるため、図４に示した素子と同一素子には同一符号を付している。
【００５６】
この対象回路１０００は、入力端子ＰＩ１、ＰＩ２と、クロック端子ＣＫと、出力端子ＰＯ１と、入力端子ＰＩ１および入力端子ＰＩ２からの信号を入力するＯＲ回路Ｇ３と、入力端子ＰＩ２からの信号を入力するインバータＧ１と、ＯＲ回路Ｇ３およびインバータＧ１からの出力信号を入力するＡＮＤ回路Ｇ４と、ＡＮＤ回路Ｇ４からの出力信号とクロック端子ＣＫからのクロック信号を入力し、出力端子ＰＯ１に出力する順序回路ＦＦ１と、から構成されている。
【００５７】
ここで、上記対象回路１０００について、活性化テストシーケンスを求める。たとえば、ＯＲ回路Ｇ３の出力を１縮退故障（Ｓ−Ａ−１）と仮定すると、ＯＲ回路Ｇ３から「０」が出力されないため、出力端子ＰＯ０の出力がエラーとなり、故障を検出することができる。この場合、活性化テストシーケンス（ＰＩ１，ＰＩ２，ｃｋ）は、（ＰＩ１，ＰＩ２，ｃｋ）＝（０，０，０）となる。一方、故障を検出できないテストパターンを、「故障を伝播するシーケンス」と呼ぶ。この回路の場合、伝播シーケンス（ＰＩ１，ＰＩ２，ｃｋ）は、（ＰＩ１，ＰＩ２，ｃｋ）＝（Ｘ，Ｘ，１）となる。
【００５８】
なお、上述したネットリスト記憶部３０１、ノード情報テーブル記憶部３０２、素子タイプＩＤ記憶部３０３、故障フラグテーブル記憶部３０４、テストシーケンステーブル記憶部３０５、およびテストパターンテーブル記憶部３０６は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５、ＦＤ２０７等によってその機能を実現する。
【００５９】
また、図３において、管理部３１０は、検索部３１１と、登録／更新処理部３１２と、関連付け処理部３１３と、トランザクション処理部３１４と、を備えている。検索部３１１は、ワークステーション１０３（テストパターン生成／解析装置）からの検索要求に応じて、データベース１０１から所望のネットリストやテーブルを検索（抽出）して、検索要求をしたワークステーション１０３（テストパターン生成／解析装置）に送信する。
【００６０】
登録／更新処理部３１２は、ワークステーション１０３（テストパターン生成／解析装置）において新規作成されたテーブルを、データベース１０１に登録したり、ワークステーション１０３（テストパターン生成／解析装置）においてテーブル内容が変更されたテーブルの更新をおこなう。
【００６１】
関連付け処理部３１３は、ワークステーション１０３（テストパターン生成／解析装置）から送信されてくるノード情報テーブル５００、故障フラグテーブル７００、テストシーケンステーブル８００およびテストパターンテーブル９００の関連付けをおこなう。具体的には、故障フラグＩＤ、テストシーケンスＩＤおよびテストパターンＩＤをノード情報テーブル５００に記録したり、テストシーケンスＩＤおよびテストパターンＩＤを故障フラグテーブル７００に記憶したり、故障フラグＩＤおよびテストシーケンスＩＤをテストパターンテーブル９００に記憶したりする。
【００６２】
トランザクション処理部３１４は、ワークステーション１０３（テストパターン生成／解析装置）に対するトランザクション処理、具体的には、ロールバック処理、コミット処理、ロック・アンロック制御、障害回復管理などをおこなう。
【００６３】
また、ワークステーション１０３（テストパターン生成／解析装置）は、データ取得部３２１と、データ送信部３２２と、テーブル作成部３２３と、解析部３２４と、表示部３２５とから構成されている。データ取得部３２１は、データベースサーバ１０２に対してネットリストやデータの取得要求をおこない、データベースサーバ１０２によって抽出されたネットリストや各種テーブルを入力する。データ送信部３２２は、テーブル作成部３２３によって作成されたテーブルをデータベースサーバ１０２に送信する。
【００６４】
テーブル作成部３２３は、ノード情報テーブル作成部３３０と、故障フラグテーブル作成部３３１と、テストシーケンステーブル作成部３３２と、テストパターンテーブル作成部３３３と、判定部３３４と、故障シミュレーション実行部３３５と、選択部３３６と、削除部３３７と、変更部３３８と、追加部３３９と、から構成されている。
【００６５】
ノード情報テーブル作成部３３０は、入力されたネットリストに基づいて、対象回路を構成する素子が有する端子（ノード）ごとに、図５に示したノード情報テーブル５００を作成する。故障フラグテーブル作成部３３１は、ノード情報テーブル５００ごとに、図７に示した、ノードの故障を検出する故障フラグテーブル７００を作成する。
【００６６】
テストシーケンステーブル作成部３３２は、ノードの故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスをＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）により生成する。そして、生成されたテストシーケンスを含むテストシーケンステーブル８００を作成する（図８を参照。）。
【００６７】
テストパターンテーブル作成部３３３は、テストシーケンステーブル作成部３３２で作成されたテストシーケンスを用いて、ＡＴＰＧによりテストパターンを生成する。そして、生成されたテストパターンを含むテストパターンテーブル９００を作成する（図９を参照。）。
【００６８】
判定部３３４は、対象となるテーブルの中に、所望のＩＤが含まれているかどうかを判定する。具体的には、判定部３３４は、故障フラグテーブル７００の中に、ノードの故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスのテストシーケンスＩＤが含まれているかどうかを判定する。
【００６９】
また、判定部３３４は、テストシーケンスＩＤが含まれていないと判定された故障フラグテーブル７００に記録されているノードＩＤにより特定されるノード情報テーブル５００の中に、伝播経路に関するノードＩＤが含まれているかどうかを判定する。さらに判定部３３４は、対象となる故障フラグテーブルに対して等価故障となる故障フラグテーブルが存在するかどうかを判定する。
【００７０】
故障シミュレーション実行部３３５は、たとえば故障シミュレータであり、生成されたテストパターンを用いて対象回路に故障が発生するかどうかのシミュレーションを実行する。選択部３３６は、素子の削除モードまたは変更モードの場合、対象回路の中から任意の素子の選択を受け付ける。また、選択部３３６は、対象回路を構成する素子以外の他の素子を追加する位置の選択を受け付ける。
【００７１】
削除部３３７は、判定部３３４による等価故障の有無の判定結果に基づいて、選択部３３６によって選択された素子が有するノードのノード情報テーブル５００を削除する。また、変更部３３８は、判定部３３４による等価故障の有無の判定結果に基づいて、選択部３３６によって選択された素子が有するノードのノード情報テーブル５００を、あらたに生成されたノード情報テーブルに変更する。さらに、追加部３３９は、生成されたノード情報テーブル５００の伝播経路に関するノードＩＤに、選択部３３６によって選択された位置に追加される素子のノードを識別するノードＩＤを追加する。
【００７２】
また、解析部３２４は、論理シミュレーション実行部３４１と、エラー解析部３４２とを備えている。論理シミュレーション実行部３４１は、論理シミュレータであり、生成されたテストパターンを用いて、対象回路についての論理シミュレーションを実行する。また、エラー解析部３４２は、論理シミュレーション結果にエラーがあるかどうかを解析（判定）する。そして、エラーがある場合、各種テーブルを抽出して、エラー解析結果を表示部３２５に出力する。表示部３２５は、エラー解析結果を表示する。
【００７３】
なお、上述した管理部３１０、データ取得部３２１、データ送信部３２２、テーブル作成部３２３、および解析部３２４は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５、ＦＤ２０７等に記録されたプログラムを、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【００７４】
（テストシーケンス／テストパターン生成処理手順）
つぎに、この発明の実施の形態にかかるテストシーケンス／テストパターン生成処理手順について説明する。図１１は、この発明の実施の形態にかかるテストシーケンス／テストパターン生成処理手順を示すフローチャートである。図１１において、まず、ネットリスト記憶部３０１から、任意のネットリストを抽出する（ステップＳ１１０１）。そして、抽出されたネットリストを用いてノード情報テーブルを作成する（ステップＳ１１０２）。つぎに、故障フラグテーブル作成処理をおこなう（ステップＳ１１０３）。最後に、テストシーケンステーブル／テストパターンテーブル作成処理をおこなう（ステップＳ１１０４）。
【００７５】
ここで、図４に示した対象回路４００について作成されたノード情報テーブルについて説明する。図１２は、図４に示した対象回路４００について作成されたノード情報テーブルを示す説明図である。図１２において、ノード情報テーブル１２００は、対象回路内の素子の数分、作成される。「故障フラグＩＤ」、「テストシーケンスＩＤ」および「テストパターンＩＤ」には、初期状態において、ＮＵＬＬ（空を意味する。）が記述されているが、図７〜図９に示したテーブルが作成されることにより更新される。
【００７６】
つぎに、図１１に示した故障フラグテーブル作成処理（ステップＳ１１０３）の具体的な処理手順について説明する。図１３は、図１１に示した故障フラグテーブル作成処理（ステップＳ１１０３）の具体的な処理手順を示すフローチャートである。図１３において、ステップＳ１１０２で作成されたノード情報テーブル数をＩ、ノードＩＤをＩＤ＝ｉとし、ｉの初期値をｉ＝０とする（ステップＳ１３０１）。
【００７７】
つぎに、ノードＩＤ＝ｉのノードについて、故障モデルおよび故障タイプを設定する（ステップＳ１３０２）。ｉ＝Ｉ−１でない場合（ステップＳ１３０３：Ｎｏ）、ｉをインクリメントして（ステップＳ１３０４）、ステップＳ１３０２に移行する。一方、ｉ＝Ｉ−１の場合（ステップＳ１３０３：Ｙｅｓ）、等価故障となるノードＩＤの組を抽出する（ステップＳ１３０５）。
【００７８】
そして、抽出した等価故障となるノードＩＤの組から、代表故障となるノードＩＤを決定する（ステップＳ１３０６）。そして、代表故障について、故障フラグテーブルを作成する（ステップＳ１３０７）。そして、作成された故障フラグテーブルとノード情報テーブルとの関連付けをおこなう（ステップＳ１３０８）。具体的には、ステップＳ１３０７で作成された故障フラグテーブルの故障フラグＩＤを、ステップＳ１３０６で決定された代表故障となるノードＩＤのノード情報テーブルに書き込む。
【００７９】
そして、代表故障となるすべてのノードＩＤについて、故障フラグテーブルが作成されていない場合（ステップＳ１３０９：Ｎｏ）、ステップＳ１３０８に移行する。一方、すべての代表故障となるすべてのノードＩＤについて、故障フラグテーブルが作成された場合（ステップＳ１３０９：Ｙｅｓ）、図１１に示したステップＳ１１０４に移行する。
【００８０】
この故障フラグテーブル作成処理によって故障フラグテーブルが作成される。図１４は、故障フラグテーブル作成処理によって作成された故障フラグテーブルの一例を示す説明図である。この図１４に示した故障フラグテーブル１４００では、故障モデルを縮退故障とし、故障タイプとして、Ｓ−Ａ−１またはＳ−Ａ−０が設定されている。なお、この時点では、テストシーケンステーブルおよびテストパターンテーブルが生成されていないため、「テストシーケンスＩＤ」および「テストパターンＩＤ」は、“ＮＵＬＬ”となる。
【００８１】
つぎに、図１１に示したテストシーケンステーブル／テストパターンテーブル作成処理（ステップＳ１１０４）の具体的な処理手順について説明する。図１５および図１８は、図１１に示したテストシーケンステーブル／テストパターンテーブル作成処理（ステップＳ１１０４）の具体的な処理手順を示すフローチャートである。図１５において、ステップＳ１１０３で作成された故障フラグテーブル数をＪ、故障フラグＩＤ＝ｊとし、ｊの初期値をｊ＝０とする（ステップＳ１５０１）。
【００８２】
そして、故障フラグテーブル記憶部３０４から、故障フラグＩＤ：ｊの故障フラグテーブルを抽出する（ステップＳ１５０２）。図１６は、故障フラグテーブルの抽出例を示す説明図である。図１６では、ＳＱＬ構文１６００を用いて、故障フラグテーブル記憶部３０４から、故障フラグＩＤ：１０の故障フラグテーブル１６０１を抽出している。この故障フラグＩＤ：１０の故障フラグテーブル１６０１は、１縮退故障をあらわしている。
【００８３】
また、ノード情報テーブル記憶部３０２から、故障フラグＩＤ：ｊのノード情報テーブルを抽出する（ステップＳ１５０３）。図１７は、ノード情報テーブルの抽出例を示す説明図である。図１７において、ＳＱＬ構文１７００は、ノード情報テーブル記憶部３０２から、図１６に示した故障フラグテーブルに対応するノード情報テーブルを抽出する構文である。
【００８４】
すなわち、故障フラグＩＤに「１０」が記録されているノード情報テーブル１７０１を、ノード情報テーブル記憶部３０２から抽出している。このノード情報テーブル１７０１に記録されているノード名は、「Ｇ５．ｘ」である。したがって、図１６および図１７では、図４に示した素子Ｇ５の対象故障が、故障フラグＩＤ：１０の故障フラグテーブル１６０１であることを示している。
【００８５】
そして、図１５において、ステップＳ１５０２で抽出された故障フラグテーブル１６０１のテストシーケンスＩＤがＮＵＬＬかどうかを判定する（ステップＳ１５０４）。テストシーケンスＩＤがＮＵＬＬでない場合（ステップＳ１５０４：Ｎｏ）の処理手順については、図１８において後述する。テストシーケンスＩＤがＮＵＬＬの場合（ステップＳ１５０４：Ｙｅｓ）、ＡＴＰＧを用いて、故障フラグＩＤ：ｊの故障に関するテストシーケンステーブルおよびテストパターンテーブルを作成する（ステップＳ１５０５）。
【００８６】
具体的には、ＡＴＰＧにより、故障フラグＩＤ：ｊの故障を活性化する活性化テストシーケンスと、この活性化テストシーケンスを伝播する伝播テストシーケンスを生成する。そして、生成された活性化テストシーケンスおよび伝播テストシーケンスが記録されたテストシーケンステーブルを作成する。同様に、生成された活性化テストシーケンスおよび伝播テストシーケンスを用いて、テストパターンを生成し、生成されたテストパターンが記録されたテストパターンテーブルを作成する。
【００８７】
つぎに、生成されたテストパターンを故障シミュレータに与えることにより、図４に示した対象回路の故障シミュレーションをおこない（ステップＳ１５０６）、故障が検出できたかどうかを確認する。そして、故障フラグＩＤ：ｊの故障フラグテーブルと、故障フラグＩＤ：ｊが記録されているノード情報テーブルと、作成されたテストシーケンステーブルおよびテストパターンテーブルとの関連付けをおこなう（ステップＳ１５０７）。
【００８８】
具体的には、故障フラグＩＤ：ｊの故障フラグテーブルに、ステップＳ１５０５で作成されたテストシーケンステーブルのテストシーケンスＩＤおよびテストパターンテーブルのテストパターンＩＤを記録し、故障フラグＩＤ：ｊが記録されているノード情報テーブルに、ステップＳ１５０５で作成されたテストシーケンステーブルのテストシーケンスＩＤおよびテストパターンテーブルのテストパターンＩＤを記録し、ステップＳ１５０５で作成されたテストシーケンステーブルに、故障フラグＩＤとして「１０」を記録し、ステップＳ１５０５で作成されたテストパターンテーブルに、故障フラグＩＤとして「１０」を記録し、また、ステップＳ１５０５で作成されたテストシーケンステーブルのテストシーケンスＩＤを記録する。
【００８９】
このあと、ｊがｊ＝Ｊ−１かどうかを判定する（ステップＳ１５０８）。ｊ＝Ｊ−１でない場合（ステップＳ１５０８：Ｎｏ）、ｊをインクリメントして（ステップＳ１５０９）、ステップＳ１５０２に移行する。一方、ｊ＝Ｊ−１の場合（ステップＳ１５０８：Ｙｅｓ）、テストシーケンステーブル／テストパターンテーブルの作成処理を終了する。
【００９０】
つぎに、テストシーケンスＩＤがＮＵＬＬでない場合（ステップＳ１５０４：Ｎｏ）の処理手順について、図１８を用いて説明する。テストシーケンスＩＤがＮＵＬＬでない場合（ステップＳ１５０４：Ｎｏ）、ステップＳ１５０３で抽出されたノード情報テーブルの伝播経路に関するノードＩＤがＮＵＬＬかどうかを判定する（ステップＳ１８０１）。
【００９１】
伝播経路に関するノードＩＤがＮＵＬＬの場合（ステップＳ１８０１：Ｙｅｓ）、図１５に示したステップＳ１５０５に移行する。一方、伝播経路に関するノードＩＤがＮＵＬＬでない場合（ステップＳ１８０１：Ｎｏ）、伝播経路に関するノードＩＤのノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する（ステップＳ１８０２）。
【００９２】
図１９は、ステップＳ１８０２における伝播経路に関するノードＩＤのノード情報テーブルの抽出例を示す説明図である。図１９では、ＳＱＬ構文１９００を用いて、図１７に示したノード情報テーブル１７０１に記録されている伝播経路に関するノードＩＤ（ＩＤ＝８，７，２，１）によって特定されるノード情報テーブル１９０１〜１９０４を、ノード情報テーブル記憶部３０２から抽出している。
【００９３】
そして、図１８において、ステップＳ１８０２で抽出されたノード情報テーブルのテストシーケンスＩＤがすべてＮＵＬＬかどうかを判定する（ステップＳ１８０３）。すべてＮＵＬＬの場合（ステップＳ１８０３：Ｙｅｓ）、図１５に示したステップＳ１５０５に移行する。一方、ステップＳ１８０２で抽出されたノード情報テーブルのテストシーケンスＩＤがすべてＮＵＬＬでない場合（ステップＳ１８０３：Ｎｏ）、当該シーケンスＩＤによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部３０５から抽出する（ステップＳ１８０４）。
【００９４】
上述の図１９に示した例では、ノードＩＤ：８およびノードＩＤ：７のノード情報テーブル１９０１、１９０２に、テストシーケンスＩＤ：８が記録されているため、テストシーケンステーブル記憶部３０５から、テストシーケンスＩＤ：８によって特定されるテストシーケンステーブルを抽出する。
【００９５】
図２０は、ステップＳ１８０４におけるテストシーケンステーブルの抽出例を示す説明図である。図２０では、ＳＱＬ構文２０００を用いて、図１９に示したノード情報テーブル１９０１に記録されているテストシーケンスＩＤ：８によって特定されるテストシーケンステーブル２００１を、テストシーケンステーブル記憶部３０５から抽出している。この場合、ノードＩＤ：８の故障フラグＩＤとノードＩＤ：７の故障フラグＩＤとは同一であるため、等価故障である。したがって、抽出されるテストシーケンステーブルは１つとなる。
【００９６】
そして、図１８において、ステップＳ１８０４で抽出されたテストシーケンステーブルのテーブル数をＫとし、計数値ｋの初期値をｋ＝１とする（ステップＳ１８０５）。ｋ番目に抽出されたテストシーケンステーブルを用いて、あらたにテストシーケンステーブルおよびテストパターンテーブルを作成する（ステップＳ１８０６）。
【００９７】
たとえば、上述した図２０で抽出されたテストシーケンステーブル２００１の場合、生成されたテストシーケンスでは、図４に示した素子Ｇ１の動作に影響を与える入力信号はＰＩ１だけであり、素子Ｇ５．ｘの動作に影響を与える入力信号は、ＰＩ２およびＰＩ３も含んでいるため、ＰＩ２，ＰＩ３の信号値をＸでマスクしたテストシーケンスをＡＴＰＧで処理する。そして、素子Ｇ５．ｘの故障を活性化、伝播するテストシーケンスを生成し、期待値の設定をおこなってテストパターンとして登録する。また、作成したテストシーケンステーブルには、利用したテストシーケンスのＩＤを参照テストシーケンスＩＤとして記録する。
【００９８】
図２１は、図２０で抽出したテストシーケンステーブルを用いて実行するＡＴＰＧの処理例を示す説明図である。図２１において、テストシーケンステーブル２００１に記録されているテストシーケンスＩＤ：８の活性化テストシーケンス：１１ＸＸ０をＡＴＰＧ２１００に入力して、活性化テストシーケンス：１１０００を生成する。
【００９９】
また、テストシーケンスＩＤ：８の伝播テストシーケンス：１１ＸＸ１をＡＴＰＧ２１００に入力して、テストシーケンスＩＤ：９の伝播テストシーケンス：１１０１１を生成する。さらに、テストシーケンスＩＤ：８の伝播テストシーケンス：１１ＸＸ０をＡＴＰＧ２１００に入力して、テストシーケンスＩＤ：９の伝播テストシーケンス：１１０１０を生成する。これにより、テストシーケンスＩＤ：９のテストシーケンステーブル２００２を作成する。
【０１００】
また、テストシーケンスＩＤ：９の活性化テストシーケンス：１１０００、伝播テストシーケンス：１１０１１および伝播テストシーケンス：１１０１０をＡＴＰＧ２１００に入力して、テストパターン１１０００ＸＸ、１１０１１ＸＸ、および１１０１１ＸＨを生成する。これにより、テストパターンＩＤ：２のテストパターンテーブル２００３を作成する。
【０１０１】
そして、図１８において、ｋ＝Ｋかどうかを判定する（ステップＳ１８０７）。ｋ＝Ｋでない場合（ステップＳ１８０７：Ｎｏ）、ｋをインクリメントして（ステップＳ１８０８）、ステップＳ１８０３に移行する。一方、ｋ＝Ｋの場合（ステップＳ１８０７：Ｙｅｓ）、図１５に示したステップＳ１５０６に移行する。
【０１０２】
そして、このあと、図１５に示したステップＳ１５０７のテーブルの関連付けをおこなう。図２２は、ノード情報テーブルと、テストシーケンステーブルおよびテストパターンテーブルとの関連付けを示す説明図である。図２２では、図１８に示した処理手順によって作成されたテストシーケンステーブルおよびテストパターンテーブルと、ステップＳ１５０３で抽出されたノード情報テーブル１７０１との関連付けをおこなっている。
【０１０３】
すなわち、故障フラグＩＤ：１０が記録されているノード情報テーブル１７０１のテストシーケンスＩＤおよびテストパターンＩＤに、図２１で作成されたテストシーケンステーブル２００２のテストシーケンスＩＤ：９およびテストパターンテーブル２００３のテストパターンＩＤ：２を記録する。
【０１０４】
（データベース更新処理手順）
つぎに、この発明の実施の形態にかかるデータベース更新処理手順について説明する。図２３は、この発明の実施の形態にかかるデータベース更新処理手順を示すフローチャートである。図２３において、まず、対象回路内の素子の削除、変更、追加のうちいずれかの指示入力をおこなう（ステップＳ２３０１）。
【０１０５】
そして、指示入力が削除の場合（ステップＳ２３０１：削除）、削除処理をおこなう（ステップＳ２３０２）。また、指示入力が変更の場合（ステップＳ２３０１：変更）、変更処理をおこなう（ステップＳ２３０３）。また、指示入力が追加の場合（ステップＳ２３０１：追加）、追加処理をおこなう（ステップＳ２３０４）。
【０１０６】
（削除処理手順）
つぎに、図２３に示した削除処理の具体的な処理手順について説明する。図２４は、図２３に示した削除処理の具体的な処理手順を示すフローチャートである。図２４において、対象回路内の素子から、削除する素子（削除対象素子）が選択された場合（ステップＳ２４０１：Ｙｅｓ）、選択された削除対象素子が有するノードのノードＩＤが記録されているノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する（ステップＳ２４０２）。
【０１０７】
そして、削除対象素子の入力側に位置する他の素子のノードを特定する（ステップＳ２４０３）。具体的には、ステップＳ２４０２で抽出されたノード情報テーブルの伝播経路に関するノードＩＤによって特定されるノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する。
【０１０８】
また、削除対象素子の出力側に位置する他の素子のノードを特定する（ステップＳ２４０４）。具体的には、ステップＳ２４０２で抽出されたノード情報テーブルのノードＩＤが伝播経路に関するノードＩＤに記録されているノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する。
【０１０９】
つぎに、削除対象素子のノードの故障フラグテーブルを抽出する（ステップＳ２４０５）。具体的には、ステップＳ２４０２で抽出されたノード情報テーブルの故障フラグＩＤによって特定される故障フラグテーブルを、故障フラグテーブル記憶部３０４から抽出する。そして、等価故障があるかどうかを判定する（ステップＳ２４０６）。すなわち、入出力側素子のノードの故障フラグテーブルの中に、削除対象素子のノードの故障フラグテーブルと等価故障となる故障フラグテーブルであるかどうかを判定する。
【０１１０】
等価故障があると判定された場合（ステップＳ２４０６：Ｙｅｓ）、削除対象素子の入力側および出力側のいずれの故障も、他の素子に影響を与えないことがわかる。したがって、故障フラグテーブル、テストシーケンステーブル、テストパターンテーブルはそのまま利用できるため、削除対象素子のノード情報テーブルのみを削除する（ステップＳ２４０７）。
【０１１１】
一方、等価故障がないと判定された場合（ステップＳ２４０６：Ｎｏ）、削除対象素子の入出力側に位置する他の素子のノードのノード情報テーブル（ステップＳ２４０３およびステップＳ２４０４で特定されたすべてのノード情報テーブル）に記録されているテストシーケンスＩＤのテストシーケンステーブルを、テストシーケンステーブル記憶部３０５から抽出する（ステップＳ２４０８）。
【０１１２】
そして、削除対象素子への信号伝播元となる入力端子を特定し、ステップＳ２４０８で抽出されたテストシーケンステーブルに記録されている活性化テストシーケンスのうち、当該特定された入力端子に入力される値を「Ｘ」にマスクする（ステップＳ２４０９）。
【０１１３】
また、同様に、削除対象素子への信号伝播元となる入力端子を特定し、ステップＳ２４０８で抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスのうち、当該特定された入力端子に入力される値を「Ｘ」にマスクする（ステップＳ２４１０）。
【０１１４】
そして、ステップＳ２４０８で抽出されたテストシーケンステーブルに記録されている参照テストシーケンスＩＤによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部３０５から抽出し、抽出されたテストシーケンステーブルに記録されているテストシーケンス、マスクされた活性化テストシーケンス、およびマスクされた伝播テストシーケンスを用いて、ＡＴＰＧにより、活性化テストシーケンスおよび伝播テストシーケンスを再構築する（ステップＳ２４１１）。
【０１１５】
削除対象素子の入出力側に位置する他の素子のノードのノード情報テーブル（ステップＳ２４０３およびステップＳ２４０４で特定されたすべてのノード情報テーブル）の伝播経路に関するノードＩＤによって特定されるノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する（ステップＳ２４１２）。
【０１１６】
ステップＳ２４１１で再構築された活性化テストシーケンスおよび伝播テストシーケンスを用いて、ステップＳ２４１２で抽出されたノード情報テーブルのテストシーケンスＩＤによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部３０５から抽出し、抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスを、ＡＴＰＧにより再構築する。
【０１１７】
また、テストシーケンステーブルとテストパターンテーブルとは関係付けられているため、伝播テストシーケンスの再構築により、再構築された伝播テストシーケンスが記録されているテストシーケンステーブルに関係付けられているテストパターンテーブルのテストパターンも、ＡＴＰＧによって再構築する（ステップＳ２４１３）。
【０１１８】
このあと、削除対象素子のすべてのテーブル（テストシーケンステーブル、テストパターンテーブル、故障フラグテーブル、およびノード情報テーブル）を削除する（ステップＳ２４１４）。これにより、対象回路内の素子を削除した場合の更新を自動的におこなうことができる。
【０１１９】
（削除例１）
つぎに、上述した対象回路内の素子の削除処理の具体例（その１）について説明する。図２５は、対象回路の一例を示すブロック図であり、図２６は、図２５に示した対象回路のノード名とノードＩＤとの対応表であり、図２７は、図２５に示した対象回路内の素子の削除処理をあらわす模式図である。
【０１２０】
対象回路２５００では、図２５に示した素子Ｇ２を削除対象素子とすると、図２４に示したステップＳ２４０２で抽出されるノード情報テーブルは、図２７において、ノードＩＤ：４，５のノード情報テーブル２７０１，２７０２である。また、削除対象素子Ｇ２の入力側の他の素子（入力側素子）は、入力端子ＰＩ１と素子Ｇ１であるため、図２４に示したステップＳ２４０３で抽出されるノード情報テーブルは、ノードＩＤ：４，５のノード情報テーブルの伝播経路に関するノードＩＤ：０，２，３のノード情報テーブル２７０３〜２７０５であり、削除対象素子Ｇ２の入力側素子のノードとして、ノードＰＩ１、ノードＧ１．ａ、およびノードＧ１．ｘを特定することができる。
【０１２１】
同様に、削除対象素子Ｇ２の出力側の他の素子（出力側素子）は、ＡＮＤ回路Ｇ３であるため、図２４に示したステップＳ２４０４で抽出されるノード情報テーブルは、削除対象素子Ｇ２のノード情報テーブルのノードＩＤ：４，５が伝播経路に関するノードＩＤとして記録されているノード情報テーブル、たとえば、ノードＩＤ：６のノード情報テーブル２７０６である。
【０１２２】
また、図２４に示したステップＳ２４０５で抽出される故障フラグテーブルは、ノードＩＤ：４，５のノード情報テーブルに記録されている故障フラグＩＤ：１０の故障フラグテーブル２７１０である。そして、ステップＳ２４０６の等価故障の判定で、等価故障がある場合、ステップＳ２４０７において、削除対象素子のノードであるノードＩＤ：４，５のノード情報テーブルのみを削除する。
【０１２３】
（削除例２）
つぎに、上述した対象回路内の素子の削除処理の具体例（その２）について説明する。図２８は、対象回路の一例を示すブロック図であり、図２９は、図２８に示した対象回路のノード名とノードＩＤとの対応表であり、図３０〜図３２は、図２８に示した対象回路内の素子の削除処理をあらわす模式図である。
【０１２４】
この対象回路２８００において、図２８に示したインバータ素子Ｇ４を削除対象素子とすると、図３０において、図２４に示したステップＳ２４０２で抽出されるノード情報テーブルは、ノードＩＤ：９，１０のノード情報テーブル３００１，３００２である。
【０１２５】
また、削除対象素子Ｇ４の入力側の他の素子（入力側素子）は、入力端子ＰＩ２であるため、図３１において、図２４に示したステップＳ２４０３で抽出されるノード情報テーブルは、ノードＩＤ：９，１０のノード情報テーブル３００１，３００２に記録されている伝播経路に関するノードＩＤ：１のノード情報テーブル３１０１であり、削除対象素子Ｇ４の入力側素子のノードとして、ノードＰＩ２を特定することができる。
【０１２６】
同様に、削除対象素子Ｇ４の出力側の他の素子（出力側素子）は、ＡＮＤ回路Ｇ３および素子Ｇ５であるため、図３２において、図２４に示したステップＳ２４０４で抽出されるノード情報テーブルは、削除対象素子Ｇ４のノード情報テーブルのノードＩＤ：９，１０が伝播経路に関するノードＩＤとして記録されているノード情報テーブル、たとえば、ノードＩＤ：７のノード情報テーブル３２０２である。
【０１２７】
また、図３０において、図２４に示したステップＳ２４０５で抽出される故障フラグテーブルは、ノードＩＤ：９，１０のノード情報テーブルに記録されている故障フラグＩＤ：２０，２１の故障フラグテーブル３０１１，３０１２である。
【０１２８】
そして、ステップＳ２４０６の等価故障の判定で、等価故障がない場合、図２４に示したステップＳ２４０８で抽出されるテストシーケンステーブルは、図３１に示したノードＩＤ：１のノード情報テーブルに記録されているテストシーケンスＩＤ：５のテストシーケンステーブル３１１１である。同様に、図２４に示したステップＳ２４０９で抽出されるテストシーケンステーブルは、図３２に示したノードＩＤ：７のノード情報テーブルに記録されているテストシーケンスＩＤ：８のテストシーケンステーブル３２１１である。
【０１２９】
図２４に示したステップＳ２４０９において、削除対象素子Ｇ４への信号伝播元として特定される入力端子は、入力端子ＰＩ２であり、図３１に示したテストシーケンステーブルに記録されている活性化テストシーケンスおよび伝播テストシーケンスでは、入力端子ＰＩ２に入力される値が「Ｘ」（１，０のいずれかの値）にマスクされる。
【０１３０】
同様に、図２４に示したステップＳ２４０９において、削除対象素子Ｇ４への信号伝播元として特定される入力端子は、入力端子ＰＩ２であり、図３２に示したテストシーケンステーブルに記録されている活性化テストシーケンスおよび伝播テストシーケンスでは、入力端子ＰＩ２に入力される値が「Ｘ」にマスクされる。
【０１３１】
（変更処理手順）
つぎに、図２３に示した変更処理の具体的な処理手順について説明する。図３３および図３４は、図２３に示した変更処理の具体的な処理手順を示すフローチャートである。図３３において、対象回路内の素子から、変更する素子（変更対象素子）が選択された場合（ステップＳ３３０１：Ｙｅｓ）、選択された変更対象素子が有するノードのノードＩＤが記録されているノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する（ステップＳ３３０２）。
【０１３２】
そして、ステップＳ３３０２で抽出されたノード情報テーブルを作業領域にコピーする（ステップＳ３３０３）。これにより、変更処理中に素子変更の影響によって、データベース間の整合性の破壊を防止することができる。つぎに、コピーされたノード情報テーブルのノード名および素子タイプＩＤを変更する（ステップＳ３３０４）。また、コピーされたノード情報テーブルの故障フラグＩＤにより、故障フラグテーブルを抽出し、故障フラグテーブルを修正する（ステップＳ３３０５）。
【０１３３】
そして、修正された故障フラグテーブルを用いて、等価故障を検索する（ステップＳ３３０６）。等価故障がない場合（ステップＳ３３０６：Ｎｏ）については図３４において後述する。一方、等価故障がある場合（ステップＳ３３０６：Ｙｅｓ）、等価故障となる故障フラグテーブルの故障フラグＩＤを、ステップＳ３３０３でコピーされたノード情報テーブルの故障フラグＩＤにコピーする（ステップＳ３３０７）。
【０１３４】
このあと、等価故障となる故障フラグテーブルの故障フラグＩＤを有するノード情報テーブルを、ノード情報テーブル記憶部３０２から抽出する（ステップＳ３３０８）。そして、ステップＳ３３０８で抽出されたノード情報テーブルのテストパターンＩＤとテストシーケンスＩＤを、コピーされたノード情報テーブルにコピーする（ステップＳ３３０９）。最後に、コピー元（変更元）のノード情報テーブルを、コピーされたノード情報テーブルに置換する（ステップＳ３３１０）。
【０１３５】
また、ステップＳ３３０６において等価故障がない場合（ステップＳ３３０６：Ｎｏ）、図３４において、修正された故障フラグテーブルを用いて、テストシーケンステーブルとテストパターンテーブルとを作成する（ステップＳ３４０１）。具体的には、図１１に示したテストシーケンステーブル／テストパターンテーブル作成処理（ステップＳ１１０４）と同様の手法により実行する。
【０１３６】
つぎに、ノード情報テーブル記憶部３０２に記憶されているノード情報テーブルのうち、変更対象素子のノードのノードＩＤが伝播経路に関するノードＩＤに記録されているノード情報テーブルを抽出する（ステップＳ３４０２）。そして、抽出数をＭとし、初期値ｍをｍ＝１とする（ステップＳ３４０３）。
【０１３７】
ｍ番目に抽出されたノード情報テーブルの故障フラグＩＤによって特定される故障フラグテーブルを抽出する（ステップＳ３４０４）。また、ｍ番目に抽出されたノード情報テーブルのテストシーケンスＩＤによって特定されるテストシーケンステーブルを抽出する（ステップＳ３４０５）。
【０１３８】
そして、変更対象素子への信号伝播元となる入力端子を特定し、ステップＳ３４０５で抽出されたテストシーケンステーブルに記録されている活性化テストシーケンスのうち、当該特定された入力端子に入力される値を「Ｘ」にマスクする（ステップＳ３４０６）。このマスクされた活性化テストシーケンスを用いてＡＴＰＧにより活性化テストシーケンスを再構築する（ステップＳ３４０７）。
【０１３９】
同様に、変更対象素子への信号伝播元となる入力端子を特定し、ステップＳ３４０５で抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスのうち、当該特定された入力端子に入力される値を「Ｘ」にマスクする（ステップＳ３４０８）。このマスクされた伝播シーケンスを用いてＡＴＰＧにより伝播シーケンスを再構築する（ステップＳ３４０９）。
【０１４０】
この再構築された活性化テストシーケンスおよび伝播テストシーケンスを含む、再作成されたテストシーケンステーブルのテストシーケンスＩＤを有するノード情報テーブルを抽出する（ステップＳ３４１０）。このステップＳ３４１０で抽出されたノード情報テーブルの伝播経路に関するノードＩＤのノード情報テーブルを抽出する（ステップＳ３４１１）。
【０１４１】
そして、ステップＳ３４０７およびステップＳ３４０９で再構築されたテストシーケンスを用いて、ステップＳ３４１１で抽出されたノード情報テーブルのノードの故障を伝播する伝播テストシーケンスを生成する（ステップＳ３４１２）。このあと、ｍ＝Ｍでない場合（ステップＳ３４１３：Ｎｏ）、ｍの値をインクリメントして（ステップＳ３４１４）、ステップＳ３４０４に移行する。一方、ｍ＝Ｍの場合（ステップＳ３４１３：Ｙｅｓ）、図３３に示したステップＳ３３１０に移行する。
【０１４２】
（追加処理手順）
つぎに、図２３に示した追加処理の具体的な処理手順について説明する。図３５は、図２３に示した追加処理の具体的な処理手順を示すフローチャートである。図３５において、まず、追加ノードのノード情報テーブルを作成する（ステップＳ３５０１）。つぎに、追加ノードについての信号伝播経路をチェックする（ステップＳ３５０２）。このチェックより、追加ノードの出力側のノードを検出する（ステップＳ３５０３）。そして、この検出されたノード（検出ノード）のノード情報テーブルの伝播経路に関するノードＩＤに、追加ノードのノードＩＤを追加する（ステップＳ３５０４）。そして、ステップＳ２３０３へ移行する。
【０１４３】
（テストパターン解析処理手順）
つぎに、この発明の実施の形態にかかるテストパターン生成／解析装置のテストパターン解析処理手順について説明する。図３６は、この発明の実施の形態にかかるテストパターン生成／解析装置のテストパターン解析処理手順を示すフローチャートである。
【０１４４】
図３６において、生成されたテストパターンの論理シミュレータに入力して、対象回路についての論理シミュレーションを実行する（ステップＳ３６０１）。そして、シミュレーション結果にエラーがあるかどうかを判定する（ステップＳ３６０２）。エラーがない場合（ステップＳ３６０２：Ｎｏ）、期待値どおりの出力が得られたこととなり、対象回路の動作が保障され、一連の処理を終了する。
【０１４５】
一方、シミュレーション結果にエラーがあった場合（ステップＳ３６０２：Ｙｅｓ）、エラーとなったテストパターンを含むテストパターンテーブルを抽出する（ステップＳ３６０３）。また、抽出されたテストパターンテーブルのテストパターンＩＤが記録されているノード情報テーブル、テストシーケンステーブルおよび故障フラグテーブルを取得する（ステップＳ３６０４）。
【０１４６】
また、ステップＳ３６０４で抽出されたノード情報テーブルの伝播経路に関するノードＩＤによって特定されるノード情報テーブル、当該ノード情報テーブルのテストシーケンスＩＤによって特定されるテストシーケンステーブル、当該ノード情報テーブルの故障フラグＩＤによって特定される故障フラグテーブルを取得する（ステップＳ３６０５）。
【０１４７】
また、ステップＳ３６０４で取得されたノード情報テーブルのノードＩＤが伝播経路に関するノードＩＤに記録されているノード情報テーブル、当該ノード情報テーブルのテストシーケンスＩＤによって特定されるテストシーケンステーブル、当該ノード情報テーブルの故障フラグＩＤによって特定される故障フラグテーブルを取得する（ステップＳ３６０６）。
【０１４８】
そして、ステップＳ３６０３〜ステップＳ３６０６において取得されたテーブルを用いて、ステップＳ３６０２で発生したエラーの内容を解析ツールで解析して、表示画面に表示する（ステップＳ３６０７）。これらのテーブルを用いてエラー解析をおこなうことにより、エラーの原因の特定が容易になり、解析結果の分析時間の短縮化を図ることができる。
【０１４９】
つぎに、図３６に示したテストパターン解析処理について具体的に説明する。図３７は、図３６に示したテストパターン解析処理の模式図である。図３７において、テストパターンテーブルから、論理シミュレーションでエラーになったパターン番号に一致するテストパターンテーブルをテストパターンテーブル記憶部３０６から検索し、そのテーブルに関係するノードＩＤのノード情報テーブルをノード情報テーブル記憶部３０２から、故障フラグテーブルを故障フラグテーブル記憶部３０４から、テストシーケンステーブルをテストシーケンステーブル記憶部３０５から、エラーの解析に必要な情報（解析用データ３７００）として検索する。
【０１５０】
エラーの条件によって、解析に必要な条件は異なるが、エラーの発生した素子の位置、その素子の動作に影響を与えるノードのノード情報テーブルとテストシーケンステーブルがわかる。このテーブルの情報により、既存の波形解析ツールや回路図表示ツールを用いて原因を特定することができる。具体的には、解析ツールは、テーブルの情報とエラーの内容から、エラーに合わせてシミュレーションをおこない、原因を特定する。たとえば、タイミングエラーの場合は、エラーのあったノードと関連するノードの信号伝播について再度シミュレーションをおこない、ＡＴＰＧの期待している波形と異なる箇所を表示する、といった方法でエラーの原因を特定する。
【０１５１】
図３８は、波形解析ツールによる波形図である。図３８において、タイムフレームＴ３、Ｔ４間ではセットアップ時間が短く、入力信号ＰＩ４の値がＦＦにキャプチャーされないため、タイムフレームＴ５、Ｔ６で、出力信号ＰＯ２の期待値が異なり、エラーとなっていることを示している。また、図３９は、回路図表示ツールによって表示された回路図である。図３９において、点線で示した伝播経路にエラーが発生していることを示している。
【０１５２】
つぎに、この発明の実施の形態にかかるテストパターン生成／解析システム１００におけるトランザクション処理について説明する。図４０は、この発明の実施の形態にかかるテストパターン生成／解析システム１００におけるトランザクション処理を示す説明図である。
【０１５３】
まず、ワークステーション１０３ＡがＦＦ．ｑのテストパターンを更新し、その結果をデータベースに反映させるとする。そのとき、データベース１０１のロックをおこない（ステップＳ４００１）、他のワークステーション１０３Ｂ、１０３Ｃがデータベース１０１を更新しないようにする。
【０１５４】
ワークステーション１０３Ｂは、ＦＦ．ｑのテストパターンの更新依頼をデータベースサーバ１０２に対しておこなっているが、データベース１０１がロックされているため更新処理を待機している（ステップＳ４００２）。また、ワークステーション１０３ＡのＦＦ．ｑのテストパターンを更新する処理（更新依頼）がデータベース１０１に送信され（ステップＳ４００３）、そのトランザクションがＣＯＭＭＩＴ（反映）される（ステップＳ４００４）。
【０１５５】
このＣＯＭＭＩＴが終了すると同時にデータベース１０１のロックは解除されるので、ワークステーション１０３Ｂがデータベース１０１をロックし（ステップＳ４００５）、ＦＦ.qのテストパターンの更新依頼をおこなう（ステップＳ４００６）。ただし、ＦＦ．ｑの処理はワークステーション１０３Ａの処理と矛盾するため、トランザクションがＲＯＬＬＢＡＣＫされ、更新依頼の内容は破棄される（ステップＳ４００７）。
【０１５６】
一方、ワークステーション１０３Ｃは、別の素子Ｇ５．ｘの処理結果を反映させる処理、すなわち、データベース１０１のロック（ステップＳ４００８〜ステップＳ４０１０）をおこなう。この処理では、他のワークステーション１０３Ａ，１０３Ｂがデータベース１０１を利用していないため、結果はそのままデータベースに反映される。このような処理により、複数のワークステーション１０３Ａ〜１０３Ｃが同じ設計データに対して同時にＡＴＰＧ処理をおこなうことが可能になる。
【０１５７】
このように、上述した実施の形態によれば、ＡＴＰＧで対象故障のテストパターンを生成する際、故障フラグから関係する故障フラグテーブル、ノード情報テーブル、検出済みのテストシーケンステーブルを取り出すことができる。
【０１５８】
また、これらのテーブル情報を用いることで、テストパターンの生成に必要なシード値の設定、再利用可能なテストシーケンスの取り出しをおこなうことが可能になり、ＡＴＰＧの処理時間、テストパターン数の削減を図ることができる。また、ＡＴＰＧによる処理で問題となる冗長回路の検出を回路の関係から摘出し、テスト対象外と設定することで、余計なＡＴＰＧの処理時間を短縮することができる。
【０１５９】
また、素子変更が生じた場合、必要なテーブルのみを更新するだけですべての情報を更新することが可能になるため、素子変更後のテストパターン生成の高速化を実現することができる。さらに、論理シミュレーションのエラー解析において、エラーの原因をデータベースから摘出することで、解析に必要な情報を取り出すことができる。これにより、ユーザはエラーの原因を絞り込むことができ、解析にかかる時間を大幅に短縮することができる。
【０１６０】
また、テストパターン生成に利用するデータベースを更新する際にロックし、他のワークステーション１０３からの更新を一時保留にするトランザクション処理をおこなうことで、複数のユーザが、複数のワークステーション１０３で同時に処理することができる。このことによりＡＴＰＧの並列処理による高速化を実現することができる。また、ハードウェア上のシステムに障害が発生した場合、ロールバック処理によりすでに検出した情報の復旧や処理の再開を短期で行うことも可能になる。
【０１６１】
また、ＣＡＤ開発におけるデータベースのアクセス関数を一般的なＳＱＬ言語で操作可能にすることで、メーカ間でのインターフェースを統一することができる。また、さまざまなＡＴＰＧ、故障解析ツール、論理シミュレーションをユーザが選択して利用することができる。
【０１６２】
すなわち、データベース１０１（ネットリスト記憶部３０１、ノード情報テーブル記憶部３０２、素子タイプＩＤ記憶部３０３、故障フラグテーブル記憶部３０４、テストシーケンステーブル記憶部３０５、テストパターンテーブル記憶部３０６）は、たとえば、ＳＱＬなどのデータベースアクセス関数で操作可能であり、上述した各種データのアクセス処理を高速化して、ＡＴＰＧの処理速度を向上させることができ、解析ツールの開発を容易にすることができる。また、データベース言語を統一すれば、異なるＣＡＤメーカーが作成した解析ツールを利用することもできる。
【０１６３】
以上説明したように、テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体によれば、ＡＴＰＧの処理時間の短縮化および余分なテストパターン数の削減を図ることができるという効果を奏する。
【０１６４】
なお、本実施の形態で説明したテストパターン生成方法およびテストパターン解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション１０３等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワーク１０４を介して配布することが可能な伝送媒体であってもよい。
【０１６５】
（付記１）任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
を備えることを特徴とするテストパターン生成システム。
【０１６６】
（付記２）前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定手段と、
前記伝播経路情報判定手段によって伝播経路情報が含まれていると判定された場合、前記端子情報生成手段によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出手段と、
前記端子情報抽出手段によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第２のテストシーケンス識別情報判定手段と、
前記第２のテストシーケンス識別情報判定手段によって判定された判定結果に基づいて、前記端子情報抽出手段によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出手段と、を備え、
前記テストシーケンス生成手段は、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出手段によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成し、
前記テストパターン生成手段は、
前記テストシーケンス生成手段によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成することを特徴とする付記１に記載のテストパターン生成システム。
【０１６７】
（付記３）前記回路の中から任意の素子の選択を受け付ける選択手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中から、前記選択手段によって選択された素子が有する端子の端子情報により特定される故障検出情報を抽出する第１の故障検出情報抽出手段と、
前記選択手段によって選択された素子を経由する信号伝播経路上の他の素子が有する端子の識別情報を示す伝播経路情報を検出する伝播経路情報検出手段と、
前記第１の故障検出情報生成手段によって生成された故障検出情報の中から、前記伝播経路情報検出手段によって検出された伝播経路情報により特定される端子について、当該端子の故障を検出する故障検出情報を抽出する第２の故障検出情報抽出手段と、
前記第２の故障検出情報抽出手段によって抽出された故障検出情報の中に、前記第１の故障検出情報抽出手段によって抽出された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を削除する削除手段と、
を備えることを特徴とする付記１または２に記載のテストパターン生成システム。
【０１６８】
（付記４）前記回路の中から任意の素子の選択を受け付ける選択手段と、
前記選択手段によって選択された素子と異なる素子が有する端子の識別情報と、前記選択手段によって選択された素子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第２の端子情報生成手段と、
前記第２の端子情報生成手段によって生成された端子情報により特定される端子についての故障を検出する故障検出情報を生成する第２の故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、前記第２の故障検出情報生成手段によって生成された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と、
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を、前記第２の端子情報生成手段によって生成された素子が有する端子の端子情報に変更する変更手段と、
を備えることを特徴とする付記１または２に記載のテストパターン生成システム。
【０１６９】
（付記５）前記回路を構成する素子以外の他の素子を追加する位置の選択を受け付ける選択手段と、
前記回路を構成する素子以外の他の素子が有する端子の識別情報と、前記選択手段によって選択された位置までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第２の端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報の伝播経路情報に、前記第２の端子情報生成手段によって生成された端子情報により特定される端子の識別情報を追加する追加手段と、
を備えることを特徴とする付記１または２に記載のテストパターン生成システム。
【０１７０】
（付記６）任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
前記テストパターン生成手段によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行手段と、
前記論理シミュレーション実行手段によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得手段と、
前記取得手段によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析手段と、
を備えることを特徴とするテストパターン解析システム。
【０１７１】
（付記７）任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
を含んだことを特徴とするテストパターン生成方法。
【０１７２】
（付記８）前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第２のテストシーケンス識別情報判定工程と、
前記第２のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成する第２のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成する第２のテストパターン生成工程と、
を含んだことを特徴とする付記７に記載のテストパターン生成方法。
【０１７３】
（付記９）任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析工程と、
を含んだことを特徴とするテストパターン解析方法。
【０１７４】
（付記１０）任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
をコンピュータに実行させることを特徴とするテストパターン生成プログラム。
【０１７５】
（付記１１）前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定させる伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出させる端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定させる第２のテストシーケンス識別情報判定工程と、
前記第２のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出させるテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第２のテストシーケンスを生成させる第２のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第２のテストシーケンスを用いて第２のテストパターンを生成させる第２のテストパターン生成工程と、
を含んだことを特徴とする付記１０に記載のテストパターン生成プログラム。
【０１７６】
（付記１２）任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行させる論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得させる取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析させる解析工程と、
をコンピュータに実行させることを特徴とするテストパターン解析プログラム。
【０１７７】
（付記１３）付記１０〜１２のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【０１７８】
以上のように、本発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体は、リレーショナルデータベースシステムに有用である。
【図面の簡単な説明】
【０１７９】
【図１】この発明の実施の形態にかかるテストパターン生成／解析システムの概略構成を示すブロック図である。
【図２】図１に示したデータベースサーバおよびワークステーションのハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態にかかるテストパターン生成／解析システムの機能的構成を示すブロック図である。
【図４】この発明の実施の形態にかかるテストパターン生成／解析システムの生成／解析対象となる回路の一例を示すブロック図である。
【図５】図３に示したノード情報テーブル記憶部に記憶されているノード情報テーブルを示す説明図である。
【図６】図３に示した素子タイプＩＤ記憶部に記憶されている素子タイプテーブルを示す説明図である。
【図７】図３に示した故障フラグテーブル記憶部に記憶されている故障フラグテーブルを示す説明図である。
【図８】図３に示したテストシーケンステーブル記憶部に記憶されているテストシーケンステーブルを示す説明図である。
【図９】図３に示したテストパターンテーブル記憶部に記憶されているテストパターンテーブルを示す説明図である。
【図１０】活性化テストシーケンスおよび伝播シーケンスを説明するための対象回路の一例を示すブロック図である。
【図１１】この発明の実施の形態にかかるテストシーケンス／テストパターン生成処理手順を示すフローチャートである。
【図１２】図４に示した対象回路について作成されたノード情報テーブルを示す説明図である。
【図１３】図１１に示した故障フラグテーブル作成処理（ステップＳ１１０３）の具体的な処理手順を示すフローチャートである。
【図１４】故障フラグテーブル作成処理によって作成された故障フラグテーブルの一例を示す説明図である。
【図１５】図１１に示したテストシーケンステーブル／テストパターンテーブル作成処理（ステップＳ１１０４）の具体的な処理手順を示すフローチャート（その１）である。
【図１６】故障フラグテーブルの抽出例を示す説明図である。
【図１７】ノード情報テーブルの抽出例を示す説明図である。
【図１８】図１１に示したテストシーケンステーブル／テストパターンテーブル作成処理（ステップＳ１１０４）の具体的な処理手順を示すフローチャート（その２）である。
【図１９】ステップＳ１８０２における伝播経路に関するノードＩＤのノード情報テーブルの抽出例を示す説明図である。
【図２０】ステップＳ１８０４におけるテストシーケンステーブルの抽出例を示す説明図である。
【図２１】図２０で抽出したテストシーケンステーブルを用いて実行するＡＴＰＧの処理例を示す説明図である。
【図２２】ノード情報テーブルと、テストシーケンステーブルおよびテストパターンテーブルとの関連付けを示す説明図である。
【図２３】この発明の実施の形態にかかるデータベース更新処理手順を示すフローチャートである。
【図２４】図２３に示した削除処理の具体的な処理手順を示すフローチャートである。
【図２５】対象回路の一例を示すブロック図である。
【図２６】図２５に示した対象回路のノード名とノードＩＤとの対応を示す図表である。
【図２７】図２５に示した対象回路内の素子の削除処理をあらわす模式図である。
【図２８】対象回路の一例を示すブロック図である。
【図２９】図２８に示した対象回路のノード名とノードＩＤとの対応を示す図表である。
【図３０】図２８に示した対象回路内の素子の削除処理をあらわす模式図（その１）である。
【図３１】図２８に示した対象回路内の素子の削除処理をあらわす模式図（その２）である。
【図３２】図２８に示した対象回路内の素子の削除処理をあらわす模式図（その３）である。
【図３３】図２３に示した変更処理の具体的な処理手順を示すフローチャート（その１）である。
【図３４】図２３に示した変更処理の具体的な処理手順を示すフローチャート（その２）である。
【図３５】図２３に示した追加処理の具体的な処理手順を示すフローチャートである。
【図３６】この発明の実施の形態にかかるテストパターン生成／解析装置のテストパターン解析処理手順を示すフローチャートである。
【図３７】図３６に示したテストパターン解析処理の模式図である。
【図３８】波形解析ツールによる波形図である。
【図３９】回路図表示ツールによって表示された回路図である。
【図４０】この発明の実施の形態にかかるテストパターン生成／解析システムにおけるトランザクション処理を示す説明図である。
【符号の説明】
【０１８０】
１００  テストパターン生成／解析システム
１０１  データベース
１０２  データベースサーバ
１０３  ワークステーション（テストパターン生成／解析装置）
３０１  ネットリスト記憶部
３０２  ノード情報テーブル記憶部
３０３  素子タイプＩＤ記憶部
３０４  故障フラグテーブル記憶部
３０５  テストシーケンステーブル記憶部
３０６  テストパターンテーブル記憶部
３１０  管理部
３２３  テーブル作成部
３２４  解析部
【図１】
2006058172.tif 000003
【図２】
2006058172.tif 000004
【図３】
2006058172.tif 000005
【図４】
2006058172.tif 000006
【図５】
2006058172.tif 000007
【図６】
2006058172.tif 000008
【図７】
2006058172.tif 000009
【図８】
2006058172.tif 000010
【図９】
2006058172.tif 000011
【図１０】
2006058172.tif 000012
【図１１】
2006058172.tif 000013
【図１２】
2006058172.tif 000014
【図１３】
2006058172.tif 000015
【図１４】
2006058172.tif 000016
【図１５】
2006058172.tif 000017
【図１６】
2006058172.tif 000018
【図１７】
2006058172.tif 000019
【図１８】
2006058172.tif 000020
【図１９】
2006058172.tif 000021
【図２０】
2006058172.tif 000022
【図２１】
2006058172.tif 000023
【図２２】
2006058172.tif 000024
【図２３】
2006058172.tif 000025
【図２４】
2006058172.tif 000026
【図２５】
2006058172.tif 000027
【図２６】
2006058172.tif 000028
【図２７】
2006058172.tif 000029
【図２８】
2006058172.tif 000030
【図２９】
2006058172.tif 000031
【図３０】
2006058172.tif 000032
【図３１】
2006058172.tif 000033
【図３２】
2006058172.tif 000034
【図３３】
2006058172.tif 000035
【図３４】
2006058172.tif 000036
【図３５】
2006058172.tif 000037
【図３６】
2006058172.tif 000038
【図３７】
2006058172.tif 000039
【図３８】
2006058172.tif 000040
【図３９】
2006058172.tif 000041
【図４０】
2006058172.tif 000042