JP2006058172A - テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 - Google Patents
テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 Download PDFInfo
- Publication number
- JP2006058172A JP2006058172A JP2004241439A JP2004241439A JP2006058172A JP 2006058172 A JP2006058172 A JP 2006058172A JP 2004241439 A JP2004241439 A JP 2004241439A JP 2004241439 A JP2004241439 A JP 2004241439A JP 2006058172 A JP2006058172 A JP 2006058172A
- Authority
- JP
- Japan
- Prior art keywords
- information
- test sequence
- terminal
- test
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31813—Test pattern generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】ATPGの処理時間の短縮化および余分なテストパターン数の削減を図ること。
【解決手段】テストシーケンスID:8の活性化テストシーケンス:11XX0をATPG2100に入力して、活性化テストシーケンス:11000を生成する。テストシーケンスID:8の伝播テストシーケンス:11XX1をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11011を生成する。テストシーケンスID:8の伝播テストシーケンス:11XX0をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11010を生成する。テストシーケンスID:9の活性化テストシーケンス:11000、伝播テストシーケンス:11011および伝播テストシーケンス:11010をATPG2100に入力して、テストパターン11000XX、11011XX、および11011XHを生成する。
【選択図】 図21
【解決手段】テストシーケンスID:8の活性化テストシーケンス:11XX0をATPG2100に入力して、活性化テストシーケンス:11000を生成する。テストシーケンスID:8の伝播テストシーケンス:11XX1をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11011を生成する。テストシーケンスID:8の伝播テストシーケンス:11XX0をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11010を生成する。テストシーケンスID:9の活性化テストシーケンス:11000、伝播テストシーケンス:11011および伝播テストシーケンス:11010をATPG2100に入力して、テストパターン11000XX、11011XX、および11011XHを生成する。
【選択図】 図21
Description
この発明は、回路の情報、テストシーケンス、テストパターン、故障フラグ、エラーの起こる条件が互いに関連付けられたデータベースを用いて、テストパターンの生成および解析をおこなうテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体に関する。
従来、試験対象となる順序回路のATPG(Automatic Test Pattern Generator)において、故障の活性化条件を摘出するためには、順序回路の入力側の信号伝播に必要な、テストパターンの順序を摘出する必要がある。テストパターンの順序はテストシーケンスと呼ばれ、順序回路の故障に対してテストパターンを生成する場合、これらのテストシーケンスを再利用することで、順序回路に対するATPGの処理速度を高速化することが可能であることが分かっている。
また、試験対象となる組み合わせ回路のATPGにおいては、スキャンFFを使って、組み合わせ回路の状態を取り出すことが可能であるため、テストシーケンスは必要ない。ただし、組み合わせ回路中に冗長回路が存在する場合や、バックトラックの数が膨大になるような回路の場合、テストパターン生成に膨大な時間がかかり、テストパターン数が増加するという問題がある。
さらに、これらATPGで生成されたテストパターンについては、Logicシミュレーションをおこない、テストパターンと試験対象回路の動作が一致することを確認する必要がある。このLogicシミュレーションでエラーが発生した場合、テストパターンと試験対象回路の情報を見比べて解析し、エラーの原因を特定する必要があるが、試験対象回路が大規模になり、テストパターンやテストシーケンスが複雑になるため、解析が困難な状況である(たとえば、下記特許文献1を参照。)。
しかしながら、ATPGの処理は従来、故障フラグを元にすべての故障を活性化するテストシーケンスと、故障を伝播するテストシーケンスとを出力する。したがって、試験対象回路の一部に冗長な回路が含まれる場合や、活性化する条件または伝播する条件が複雑になる場合、ATPGの処理時間が増大したり、テストパターンのサイズが大きくなってしまうという問題があった。
また、ATPGが生成するテストパターンには、試験対象回路の構成や故障フラグ、テストシーケンスの情報が含まれていないため、ATPGの実行後に試験対象回路の変更をおこなうとテストパターンをすべて作り直す必要があり、テストパターンの生成に手間がかかるという問題があった。
さらに、上述した特許文献1の従来技術では、テストパターンの一部を再利用している。しかしながら、試験対象回路の等価検証をおこなって、差分についてATPGを実行して、生成されたテストパターンとマージする処理が必要となり、処理時間やテストパターンの更新が複雑になる問題があった。
一方、生成されたテストパターンを用いてLogicシミュレーションをおこなった結果がタイミングエラーやストローブエラーとなった場合、従来はテストパターンの番号、Logicシミュレーションのエラーとなった時間、エラーとなったゲートの情報から、試験対象回路を解析し問題を特定する必要がある。
しかしながら、これらの情報からエラーの原因を特定することは、回路規模が大きくなると困難になり、原因の特定に時間と工数が大幅にかかってしまう問題があった。また、テスト設計や回路に関する知識と経験が必要であり、初心者がエラーの特定をすることが困難であるという問題もある。
また、ATPGを実行する際、テストパターンをデータベースに書き込んでいく処理をおこなうが、複数のCPUや複数のクライアント端末から同時にテストパターンを生成し、データベースを更新すると矛盾が生じてしまうという問題があった。さらに、複数のユーザが同じ試験対象回路について回路変更やテストパターン生成をおこなうことができないという問題があった。
また、さまざまなメーカが作成したCADが存在しているため、テストパターン生成ツール、テストパターン解析ツール、Logicシミュレータについては、一部のデータベースのフォーマットが共有されているだけであり、内部で利用するデータベースが異なっている。したがって、ATPGの処理を別のメーカで作成したCADに移行したり、ATPGの処理結果の解析を別のメーカの作ったツールで解析するには、データベースをコンバートして利用したり、一部の機能が使えないといった問題があった。
この発明は、上述した従来技術による問題点を解消するため、ATPGの処理時間の短縮化および余分なテストパターン数の削減を図ることができるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるテストパターン生成システム、テストパターン生成方法、テストパターン生成プログラム、および記録媒体は、任意の回路のネットリストの入力を受け付け、入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成し、生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成し、生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定し、テストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成し、生成されたテストシーケンスを用いて、テストパターンを生成することを特徴とする。
この発明によれば、端子の識別情報によって特定される端子のテストシーケンスおよびテストパターンを生成する際に、伝播経路情報にかかるテストシーケンスおよびテストパターンを生成することができる。
また、この発明にかかるテストパターン解析システム、テストパターン解析方法、テストパターン解析プログラム、および記録媒体は、任意の回路のネットリストの入力を受け付け、入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成し、生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成し、生成された故障検出情報の中に、前記端子の故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスの識別情報が含まれているかどうかを判定し、テストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成し、生成されたテストシーケンスを用いて、テストパターンを生成し、生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行し、実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得し、取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析することを特徴とする。
この発明によれば、端子の識別情報によって特定される端子のテストシーケンスおよびテストパターンを生成する際に生成された、伝播経路情報にかかるテストシーケンスおよびテストパターンを解析することができる。
本発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体によれば、ATPGの処理時間の短縮化および余分なテストパターン数の削減を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成装置、テストパターン解析装置、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態)
(テストパターン生成/解析システムの概略構成)
まず、この発明の実施の形態にかかるテストパターン生成/解析システムの概略構成について説明する。図1は、この発明の実施の形態にかかるテストパターン生成/解析システムの概略構成を示すブロック図である。図1において、テストパターン生成/解析システム100は、データベース101を備えるデータベースサーバ102と、複数のワークステーション103(103A〜103C)とが、LANやインターネットなどのネットワーク104を介して交信可能に接続されている。
(テストパターン生成/解析システムの概略構成)
まず、この発明の実施の形態にかかるテストパターン生成/解析システムの概略構成について説明する。図1は、この発明の実施の形態にかかるテストパターン生成/解析システムの概略構成を示すブロック図である。図1において、テストパターン生成/解析システム100は、データベース101を備えるデータベースサーバ102と、複数のワークステーション103(103A〜103C)とが、LANやインターネットなどのネットワーク104を介して交信可能に接続されている。
(データベースサーバおよびワークステーションのハードウェア構成)
つぎに、図1に示したデータベースサーバ102およびワークステーション103のハードウェア構成について説明する。図2は、図1に示したデータベースサーバ102およびワークステーション103のハードウェア構成を示すブロック図である。
つぎに、図1に示したデータベースサーバ102およびワークステーション103のハードウェア構成について説明する。図2は、図1に示したデータベースサーバ102およびワークステーション103のハードウェア構成を示すブロック図である。
図2において、データベースサーバ102およびワークステーション103は、それぞれ、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、データベースサーバ102およびワークステーション103の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。
FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータをデータベースサーバ102およびワークステーション103に読み取らせたりする。
また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてインターネットなどのネットワーク104に接続され、このネットワーク104を介して他の装置に接続される。そして、I/F209は、ネットワーク104と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、データベースサーバ102およびワークステーション103内に画像データを取り込む。なお、スキャナ212は、OCR機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(テストパターン生成/解析システムの機能的構成)
つぎに、この発明の実施の形態にかかるテストパターン生成/解析システム100の機能的構成について説明する。図3は、この発明の実施の形態にかかるテストパターン生成/解析システム100の機能的構成を示すブロック図である。図1において、テストパターン生成/解析システム100は、データベースサーバ102と、テストパターン生成/解析装置としてのワークステーション103とが、ネットワーク104を介して接続されて構成されている。
つぎに、この発明の実施の形態にかかるテストパターン生成/解析システム100の機能的構成について説明する。図3は、この発明の実施の形態にかかるテストパターン生成/解析システム100の機能的構成を示すブロック図である。図1において、テストパターン生成/解析システム100は、データベースサーバ102と、テストパターン生成/解析装置としてのワークステーション103とが、ネットワーク104を介して接続されて構成されている。
データベースサーバ102は、データベース101と管理部310とから構成されている。データベース101は、ネットリスト記憶部301と、ノード情報テーブル記憶部302と、素子タイプID記憶部303と、故障フラグテーブル記憶部304と、テストシーケンステーブル記憶部305と、テストパターンテーブル記憶部306と、を記憶する。
ネットリスト記憶部301は、対象回路のネットリストを記憶する。たとえば、対象回路を構成する素子、素子の端子(ノードとも呼ぶ。)、ノード間の接続関係などの情報を記憶する。ここで、対象回路を例に挙げて具体的に説明する。図4は、この発明の実施の形態にかかるテストパターン生成/解析システム100の生成/解析対象となる回路の一例を示すブロック図である。
図4において、テストパターン生成/解析システム100の生成/解析対象となる回路(対象回路)400は、入力端子PI1〜PI4と、クロック端子CKと、出力端子PO1、PO2と、入力端子PI1および入力端子PI2からの信号を入力するOR回路G3と、入力端子PI2からの信号を入力するインバータG1と、OR回路G3およびインバータG1からの信号を入力するAND回路G4と、AND回路G4からの出力信号とクロック端子CKからのクロック信号を入力し、出力端子PO1に出力する順序回路FF1と、入力端子PI3およびインバータG1からの信号を入力するAND回路G5と、AND回路G5からの信号とクロック端子CKからのクロック信号を入力する順序回路FF2と、入力端子PI4からの信号を入力するインバータG2と、インバータG2からの信号およびクロック端子CKからのクロック信号を入力する順序回路FF3と、順序回路FF2および順序回路FF3からの信号を入力し、出力端子PO2に出力するOR回路G6と、から構成されている。
また、対象回路400において、対象回路400を構成する各素子に小文字のアルファベットが付されていない場合、素子名によってノードをあらわす。たとえば、入力端子PI1〜PI4、クロック端子CK、および出力端子PO1、PO2は、そのまま、後述するノード情報テーブルに記憶されるノードの名称となる。
一方、対象回路400を構成する各素子の端子に小文字のアルファベットが付されている場合、このアルファベットと素子名とによってノードをあらわす。OR回路G3を例にとると、入力端子「a」についてはノードを「G3.a」と、入力端子「b」についてはノードを「G3.b」と、出力端子「x」についてはノードを「G3.x」という名称であらわす。他の素子についても同様である。
また、図3において、ノード情報テーブル記憶部302は、対象回路400のノードに関するノード情報テーブルを記憶する。ここでノード情報テーブルについて説明する。図5は、図3に示したノード情報テーブル記憶部302に記憶されているノード情報テーブルを示す説明図である。図5において、ノード情報テーブル500は、ノードID、ノード名、素子タイプID、故障フラグID、テストシーケンスID、テストパターンID、伝播経路に関するノードIDと、を有する。
「ノードID」には、ノード情報テーブル500を識別するためのキーとなる数値が記憶される。この数値は、ノード情報テーブル500の作成順に付与される。「ノード名」には、上述したノードの名称が記憶される。「素子タイプID」には、「ノード名」に記憶されている名称であらわわされているノードを含む素子の種類をあらわす素子タイプのID番号が記憶される。「故障フラグID」には、後述する故障フラグテーブルのID番号が記憶される。「テストシーケンスID」には、後述するテストシーケンステーブルのID番号が記憶される。「テストパターンID」には、後述するテストパターンテーブルのID番号が記憶される。
「伝播経路に関するノードID」には、「ノード名」によって特定されるノードまでの信号伝播経路上に存在する他の素子のノードのID番号が記憶される。ノードG4.aを例にとると、ノードG4.aまでの信号伝播経路は、
(1)ノードPI1→ノードG3.a→ノードG3.x→ノードG4.a
(2)ノードPI2→ノードG3.b→ノードG3.x→ノードG4.a
である。したがって、この信号伝播経路(1)、(2)上に存在する他の素子または端子のノードは、「ノードPI1」、「ノードPI2」、「ノードG3.a」、「ノードG3.b」、「ノードG3.x」となり、「伝播経路に関するノードID」には、これらのノードのID番号が記憶される。
(1)ノードPI1→ノードG3.a→ノードG3.x→ノードG4.a
(2)ノードPI2→ノードG3.b→ノードG3.x→ノードG4.a
である。したがって、この信号伝播経路(1)、(2)上に存在する他の素子または端子のノードは、「ノードPI1」、「ノードPI2」、「ノードG3.a」、「ノードG3.b」、「ノードG3.x」となり、「伝播経路に関するノードID」には、これらのノードのID番号が記憶される。
また、ノードG4.xを例にとると、ノードG4.xまでの信号伝播経路は、
(3)ノードPI1→ノードG3.a→ノードG3.x→ノードG4.a→ノードG4.x
(4)ノードPI2→ノードG3.b→ノードG3.x→ノードG4.a→ノードG4.x
(5)ノードPI2→ノードG1.a→ノードG1.x→ノードG4.b→ノードG4.x
である。
(3)ノードPI1→ノードG3.a→ノードG3.x→ノードG4.a→ノードG4.x
(4)ノードPI2→ノードG3.b→ノードG3.x→ノードG4.a→ノードG4.x
(5)ノードPI2→ノードG1.a→ノードG1.x→ノードG4.b→ノードG4.x
である。
したがって、この信号伝播経路(3)〜(5)上に存在する他の素子のノードは、「ノードPI1」、「ノードPI2」、「ノードG3.a」、「ノードG3.b」、「ノードG3.x」、「ノードG1.a」、「ノードG1.x」となり、「伝播経路に関するノードID」には、これらのノードのID番号が記憶される。なお、ノードG4.xは素子G4の出力端子をあらわしているため、素子G4に含まれている端子をあらわす「ノードG4.a」および「ノードG4.b」は、信号伝播経路(3)〜(5)上に存在する他の素子のノードには含まれない。
また、図3において、素子タイプID記憶部303は、対象回路400の素子のタイプ(種類)と、当該素子のタイプに対応する素子タイプID(ID番号)とを記憶する。素子タイプIDは、上述したノード情報テーブルに記録される。図6は、図3に示した素子タイプID記憶部303に記憶されている素子タイプテーブルを示す説明図である。図6において、素子タイプテーブル600には、素子タイプIDと、素子タイプとが対応付けられている。
具体的には、素子タイプIDが「0」の素子タイプは「INPUT」であり、入力端子をあらわしている。また、素子タイプIDが「1」の素子タイプは「OUTPUT」であり、出力端子をあらわしている。また、素子タイプIDが「2」の素子タイプは「CLOCK」であり、クロック端子をあらわしている。さらに、素子タイプIDが「3」の素子タイプは「INVERTER」であり、インバータをあらわしている。
また、素子タイプIDが「4」の素子タイプは「OR」であり、OR回路をあらわしている。さらに、素子タイプIDが「5」の素子タイプは「AND」であり、AND回路をあらわしている。また、素子タイプIDが「6」の素子タイプは「DFF」であり、Dフリップフロップをあらわしている。さらに、素子タイプIDが「7」の素子タイプは「Bus」であり、バスをあらわしている。
また、素子タイプIDが「8」の素子タイプは「Buffer」であり、バッファをあらわしている。さらに、素子タイプIDが「9」の素子タイプは「Latch」であり、ラッチ回路をあらわしている。また、素子タイプIDが「10」の素子タイプは「Selector」であり、セレクタ回路をあらわしている。さらに、素子タイプIDが「11」の素子タイプは「SFF」であり、SRフリップフロップをあらわしている。
また図3において、故障フラグテーブル記憶部304は、故障フラグテーブルを記憶する。ここで、図3に示した故障フラグテーブル記憶部304に記憶されている故障フラグテーブルについて説明する。図7は、図3に示した故障フラグテーブル記憶部304に記憶されている故障フラグテーブルを示す説明図である。図7において、故障フラグテーブル700には、故障フラグIDと、故障モデルと、故障タイプと、テストシーケンスIDと、テストパターンIDと、を有する。
「故障フラグID」には、故障フラグテーブルを識別するためのキーとなる数値が記憶される。この数値は、故障フラグテーブルの作成順に付与される。「故障モデル」には、『縮退故障』、『トランジション故障』など、採用する故障モデルの名称が記憶される。「故障タイプ」には、「故障モデル」の種類をあらわす名称が記憶される。たとえば、「故障モデル」が『縮退故障』の場合、「故障タイプ」には、0縮退故障をあらわす『s−a−0』、または、1縮退故障をあらわす『s−a−1』のいずれか一方が記憶される。
また、「テストシーケンスID」には、図5に示したノード情報テーブルと同様、後述するテストシーケンステーブルのID番号が記憶される。「テストパターンID」には、図5に示したノード情報テーブルと同様、後述するテストパターンテーブルのID番号が記憶される。
また図3において、テストシーケンステーブル記憶部305は、テストシーケンステーブルを記憶する。ここで、図3に示したテストシーケンステーブル記憶部305に記憶されているテストシーケンステーブルについて説明する。
図8は、図3に示したテストシーケンステーブル記憶部305に記憶されているテストシーケンステーブルを示す説明図である。図8において、テストシーケンステーブル800には、テストシーケンスIDと、故障フラグIDと、参照テストシーケンスIDと、タイムフレーム番号と、活性化テストシーケンスと、伝播テストシーケンスと、を有する。
「テストシーケンスID」には、テストシーケンステーブルを識別可能なキーとなる数値が記憶される。この数値は、テストシーケンステーブルの作成順に付与される。「故障フラグID」には、図7に示した故障フラグテーブルと同様、テストシーケンステーブルのID番号が記憶される。「参照テストシーケンスID」には、このテストシーケンスの作成の際、参考にしたテストシーケンスのID番号が記憶される。
「タイムフレーム番号」には、テストシーケンスの入力順序をあらわす番号(タイムフレーム番号)が記憶される。「活性化テストシーケンス」には、故障を活性化する、すなわち、故障を検出することができる入力テストパターンが記憶される。「伝播テストシーケンス」には、活性化テストシーケンスによって活性化(検出)された故障を伝播する、すなわち、故障を検出できない入力テストパターンが記憶される。
また図3において、テストパターンテーブル記憶部306は、テストパターンテーブルを記憶する。ここで、図3に示したテストパターンテーブル記憶部306に記憶されているテストパターンテーブルについて説明する。
図9は、図3に示したテストパターンテーブル記憶部306に記憶されているテストパターンテーブルを示す説明図である。図9において、テストパターンテーブル900は、テストパターンIDと、パターン番号と、タイムフレーム番号と、故障フラグIDと、テストシーケンスIDと、テストパターンと、を有する。
「テストパターンID」には、テストパターンテーブル900を識別するためのキーとなる数値が記憶される。この数値は、テストパターンテーブル900の作成順に付与される。「パターン番号」には、テストパターンの番号が記憶されている。テストパターンは、いくつかのパターンを組み合わせて構成されているため、その何番目のパターンを意味しているのかをあらわしている。用途としては、論理シミュレーションの結果を解析する際、論理シミュレーションが何番目のテストパターンでエラーになったのかを示すため、その番号に該当するテストパターンを検索する際に利用する。
「タイムフレーム番号」には、テストパターンの入力順序をあらわす番号(タイムフレーム番号)が記憶される。「テストシーケンスID」には、テストパターンに対応するテストシーケンスのID番号が記憶される。「テストパターン」には、入力テストパターンをあらわすテストシーケンスと、このテストシーケンスを用いてATPGを実行したときに得られる期待値(出力テストパターン)と、からなるテストパターンが記憶される。図5〜図9に示したテーブルの関係付けにより、データの一部が更新されると同時に関係するテーブルの内容も更新される。
つぎに、上述した活性化テストシーケンスおよび伝播テストシーケンスについて具体的に説明する。図10は、活性化テストシーケンスおよび伝播テストシーケンスを説明するための対象回路の一例を示すブロック図である。この対象回路1000は、図4に示した対象回路の一部を抜粋した回路であるため、図4に示した素子と同一素子には同一符号を付している。
この対象回路1000は、入力端子PI1、PI2と、クロック端子CKと、出力端子PO1と、入力端子PI1および入力端子PI2からの信号を入力するOR回路G3と、入力端子PI2からの信号を入力するインバータG1と、OR回路G3およびインバータG1からの出力信号を入力するAND回路G4と、AND回路G4からの出力信号とクロック端子CKからのクロック信号を入力し、出力端子PO1に出力する順序回路FF1と、から構成されている。
ここで、上記対象回路1000について、活性化テストシーケンスを求める。たとえば、OR回路G3の出力を1縮退故障(S−A−1)と仮定すると、OR回路G3から「0」が出力されないため、出力端子PO0の出力がエラーとなり、故障を検出することができる。この場合、活性化テストシーケンス(PI1,PI2,ck)は、(PI1,PI2,ck)=(0,0,0)となる。一方、故障を検出できないテストパターンを、「故障を伝播するシーケンス」と呼ぶ。この回路の場合、伝播シーケンス(PI1,PI2,ck)は、(PI1,PI2,ck)=(X,X,1)となる。
なお、上述したネットリスト記憶部301、ノード情報テーブル記憶部302、素子タイプID記憶部303、故障フラグテーブル記憶部304、テストシーケンステーブル記憶部305、およびテストパターンテーブル記憶部306は、具体的には、たとえば、図2に示したROM202、RAM203、HD205、FD207等によってその機能を実現する。
また、図3において、管理部310は、検索部311と、登録/更新処理部312と、関連付け処理部313と、トランザクション処理部314と、を備えている。検索部311は、ワークステーション103(テストパターン生成/解析装置)からの検索要求に応じて、データベース101から所望のネットリストやテーブルを検索(抽出)して、検索要求をしたワークステーション103(テストパターン生成/解析装置)に送信する。
登録/更新処理部312は、ワークステーション103(テストパターン生成/解析装置)において新規作成されたテーブルを、データベース101に登録したり、ワークステーション103(テストパターン生成/解析装置)においてテーブル内容が変更されたテーブルの更新をおこなう。
関連付け処理部313は、ワークステーション103(テストパターン生成/解析装置)から送信されてくるノード情報テーブル500、故障フラグテーブル700、テストシーケンステーブル800およびテストパターンテーブル900の関連付けをおこなう。具体的には、故障フラグID、テストシーケンスIDおよびテストパターンIDをノード情報テーブル500に記録したり、テストシーケンスIDおよびテストパターンIDを故障フラグテーブル700に記憶したり、故障フラグIDおよびテストシーケンスIDをテストパターンテーブル900に記憶したりする。
トランザクション処理部314は、ワークステーション103(テストパターン生成/解析装置)に対するトランザクション処理、具体的には、ロールバック処理、コミット処理、ロック・アンロック制御、障害回復管理などをおこなう。
また、ワークステーション103(テストパターン生成/解析装置)は、データ取得部321と、データ送信部322と、テーブル作成部323と、解析部324と、表示部325とから構成されている。データ取得部321は、データベースサーバ102に対してネットリストやデータの取得要求をおこない、データベースサーバ102によって抽出されたネットリストや各種テーブルを入力する。データ送信部322は、テーブル作成部323によって作成されたテーブルをデータベースサーバ102に送信する。
テーブル作成部323は、ノード情報テーブル作成部330と、故障フラグテーブル作成部331と、テストシーケンステーブル作成部332と、テストパターンテーブル作成部333と、判定部334と、故障シミュレーション実行部335と、選択部336と、削除部337と、変更部338と、追加部339と、から構成されている。
ノード情報テーブル作成部330は、入力されたネットリストに基づいて、対象回路を構成する素子が有する端子(ノード)ごとに、図5に示したノード情報テーブル500を作成する。故障フラグテーブル作成部331は、ノード情報テーブル500ごとに、図7に示した、ノードの故障を検出する故障フラグテーブル700を作成する。
テストシーケンステーブル作成部332は、ノードの故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスをATPG(Automatic Test Pattern Generator)により生成する。そして、生成されたテストシーケンスを含むテストシーケンステーブル800を作成する(図8を参照。)。
テストパターンテーブル作成部333は、テストシーケンステーブル作成部332で作成されたテストシーケンスを用いて、ATPGによりテストパターンを生成する。そして、生成されたテストパターンを含むテストパターンテーブル900を作成する(図9を参照。)。
判定部334は、対象となるテーブルの中に、所望のIDが含まれているかどうかを判定する。具体的には、判定部334は、故障フラグテーブル700の中に、ノードの故障を活性化する活性化テストシーケンスおよび当該活性化テストシーケンスによる故障を伝播する伝播テストシーケンスを含むテストシーケンスのテストシーケンスIDが含まれているかどうかを判定する。
また、判定部334は、テストシーケンスIDが含まれていないと判定された故障フラグテーブル700に記録されているノードIDにより特定されるノード情報テーブル500の中に、伝播経路に関するノードIDが含まれているかどうかを判定する。さらに判定部334は、対象となる故障フラグテーブルに対して等価故障となる故障フラグテーブルが存在するかどうかを判定する。
故障シミュレーション実行部335は、たとえば故障シミュレータであり、生成されたテストパターンを用いて対象回路に故障が発生するかどうかのシミュレーションを実行する。選択部336は、素子の削除モードまたは変更モードの場合、対象回路の中から任意の素子の選択を受け付ける。また、選択部336は、対象回路を構成する素子以外の他の素子を追加する位置の選択を受け付ける。
削除部337は、判定部334による等価故障の有無の判定結果に基づいて、選択部336によって選択された素子が有するノードのノード情報テーブル500を削除する。また、変更部338は、判定部334による等価故障の有無の判定結果に基づいて、選択部336によって選択された素子が有するノードのノード情報テーブル500を、あらたに生成されたノード情報テーブルに変更する。さらに、追加部339は、生成されたノード情報テーブル500の伝播経路に関するノードIDに、選択部336によって選択された位置に追加される素子のノードを識別するノードIDを追加する。
また、解析部324は、論理シミュレーション実行部341と、エラー解析部342とを備えている。論理シミュレーション実行部341は、論理シミュレータであり、生成されたテストパターンを用いて、対象回路についての論理シミュレーションを実行する。また、エラー解析部342は、論理シミュレーション結果にエラーがあるかどうかを解析(判定)する。そして、エラーがある場合、各種テーブルを抽出して、エラー解析結果を表示部325に出力する。表示部325は、エラー解析結果を表示する。
なお、上述した管理部310、データ取得部321、データ送信部322、テーブル作成部323、および解析部324は、具体的には、たとえば、図2に示したROM202、RAM203、HD205、FD207等に記録されたプログラムを、CPU101が実行することによって、またはI/F209によって、その機能を実現する。
(テストシーケンス/テストパターン生成処理手順)
つぎに、この発明の実施の形態にかかるテストシーケンス/テストパターン生成処理手順について説明する。図11は、この発明の実施の形態にかかるテストシーケンス/テストパターン生成処理手順を示すフローチャートである。図11において、まず、ネットリスト記憶部301から、任意のネットリストを抽出する(ステップS1101)。そして、抽出されたネットリストを用いてノード情報テーブルを作成する(ステップS1102)。つぎに、故障フラグテーブル作成処理をおこなう(ステップS1103)。最後に、テストシーケンステーブル/テストパターンテーブル作成処理をおこなう(ステップS1104)。
つぎに、この発明の実施の形態にかかるテストシーケンス/テストパターン生成処理手順について説明する。図11は、この発明の実施の形態にかかるテストシーケンス/テストパターン生成処理手順を示すフローチャートである。図11において、まず、ネットリスト記憶部301から、任意のネットリストを抽出する(ステップS1101)。そして、抽出されたネットリストを用いてノード情報テーブルを作成する(ステップS1102)。つぎに、故障フラグテーブル作成処理をおこなう(ステップS1103)。最後に、テストシーケンステーブル/テストパターンテーブル作成処理をおこなう(ステップS1104)。
ここで、図4に示した対象回路400について作成されたノード情報テーブルについて説明する。図12は、図4に示した対象回路400について作成されたノード情報テーブルを示す説明図である。図12において、ノード情報テーブル1200は、対象回路内の素子の数分、作成される。「故障フラグID」、「テストシーケンスID」および「テストパターンID」には、初期状態において、NULL(空を意味する。)が記述されているが、図7〜図9に示したテーブルが作成されることにより更新される。
つぎに、図11に示した故障フラグテーブル作成処理(ステップS1103)の具体的な処理手順について説明する。図13は、図11に示した故障フラグテーブル作成処理(ステップS1103)の具体的な処理手順を示すフローチャートである。図13において、ステップS1102で作成されたノード情報テーブル数をI、ノードIDをID=iとし、iの初期値をi=0とする(ステップS1301)。
つぎに、ノードID=iのノードについて、故障モデルおよび故障タイプを設定する(ステップS1302)。i=I−1でない場合(ステップS1303:No)、iをインクリメントして(ステップS1304)、ステップS1302に移行する。一方、i=I−1の場合(ステップS1303:Yes)、等価故障となるノードIDの組を抽出する(ステップS1305)。
そして、抽出した等価故障となるノードIDの組から、代表故障となるノードIDを決定する(ステップS1306)。そして、代表故障について、故障フラグテーブルを作成する(ステップS1307)。そして、作成された故障フラグテーブルとノード情報テーブルとの関連付けをおこなう(ステップS1308)。具体的には、ステップS1307で作成された故障フラグテーブルの故障フラグIDを、ステップS1306で決定された代表故障となるノードIDのノード情報テーブルに書き込む。
そして、代表故障となるすべてのノードIDについて、故障フラグテーブルが作成されていない場合(ステップS1309:No)、ステップS1308に移行する。一方、すべての代表故障となるすべてのノードIDについて、故障フラグテーブルが作成された場合(ステップS1309:Yes)、図11に示したステップS1104に移行する。
この故障フラグテーブル作成処理によって故障フラグテーブルが作成される。図14は、故障フラグテーブル作成処理によって作成された故障フラグテーブルの一例を示す説明図である。この図14に示した故障フラグテーブル1400では、故障モデルを縮退故障とし、故障タイプとして、S−A−1またはS−A−0が設定されている。なお、この時点では、テストシーケンステーブルおよびテストパターンテーブルが生成されていないため、「テストシーケンスID」および「テストパターンID」は、“NULL”となる。
つぎに、図11に示したテストシーケンステーブル/テストパターンテーブル作成処理(ステップS1104)の具体的な処理手順について説明する。図15および図18は、図11に示したテストシーケンステーブル/テストパターンテーブル作成処理(ステップS1104)の具体的な処理手順を示すフローチャートである。図15において、ステップS1103で作成された故障フラグテーブル数をJ、故障フラグID=jとし、jの初期値をj=0とする(ステップS1501)。
そして、故障フラグテーブル記憶部304から、故障フラグID:jの故障フラグテーブルを抽出する(ステップS1502)。図16は、故障フラグテーブルの抽出例を示す説明図である。図16では、SQL構文1600を用いて、故障フラグテーブル記憶部304から、故障フラグID:10の故障フラグテーブル1601を抽出している。この故障フラグID:10の故障フラグテーブル1601は、1縮退故障をあらわしている。
また、ノード情報テーブル記憶部302から、故障フラグID:jのノード情報テーブルを抽出する(ステップS1503)。図17は、ノード情報テーブルの抽出例を示す説明図である。図17において、SQL構文1700は、ノード情報テーブル記憶部302から、図16に示した故障フラグテーブルに対応するノード情報テーブルを抽出する構文である。
すなわち、故障フラグIDに「10」が記録されているノード情報テーブル1701を、ノード情報テーブル記憶部302から抽出している。このノード情報テーブル1701に記録されているノード名は、「G5.x」である。したがって、図16および図17では、図4に示した素子G5の対象故障が、故障フラグID:10の故障フラグテーブル1601であることを示している。
そして、図15において、ステップS1502で抽出された故障フラグテーブル1601のテストシーケンスIDがNULLかどうかを判定する(ステップS1504)。テストシーケンスIDがNULLでない場合(ステップS1504:No)の処理手順については、図18において後述する。テストシーケンスIDがNULLの場合(ステップS1504:Yes)、ATPGを用いて、故障フラグID:jの故障に関するテストシーケンステーブルおよびテストパターンテーブルを作成する(ステップS1505)。
具体的には、ATPGにより、故障フラグID:jの故障を活性化する活性化テストシーケンスと、この活性化テストシーケンスを伝播する伝播テストシーケンスを生成する。そして、生成された活性化テストシーケンスおよび伝播テストシーケンスが記録されたテストシーケンステーブルを作成する。同様に、生成された活性化テストシーケンスおよび伝播テストシーケンスを用いて、テストパターンを生成し、生成されたテストパターンが記録されたテストパターンテーブルを作成する。
つぎに、生成されたテストパターンを故障シミュレータに与えることにより、図4に示した対象回路の故障シミュレーションをおこない(ステップS1506)、故障が検出できたかどうかを確認する。そして、故障フラグID:jの故障フラグテーブルと、故障フラグID:jが記録されているノード情報テーブルと、作成されたテストシーケンステーブルおよびテストパターンテーブルとの関連付けをおこなう(ステップS1507)。
具体的には、故障フラグID:jの故障フラグテーブルに、ステップS1505で作成されたテストシーケンステーブルのテストシーケンスIDおよびテストパターンテーブルのテストパターンIDを記録し、故障フラグID:jが記録されているノード情報テーブルに、ステップS1505で作成されたテストシーケンステーブルのテストシーケンスIDおよびテストパターンテーブルのテストパターンIDを記録し、ステップS1505で作成されたテストシーケンステーブルに、故障フラグIDとして「10」を記録し、ステップS1505で作成されたテストパターンテーブルに、故障フラグIDとして「10」を記録し、また、ステップS1505で作成されたテストシーケンステーブルのテストシーケンスIDを記録する。
このあと、jがj=J−1かどうかを判定する(ステップS1508)。j=J−1でない場合(ステップS1508:No)、jをインクリメントして(ステップS1509)、ステップS1502に移行する。一方、j=J−1の場合(ステップS1508:Yes)、テストシーケンステーブル/テストパターンテーブルの作成処理を終了する。
つぎに、テストシーケンスIDがNULLでない場合(ステップS1504:No)の処理手順について、図18を用いて説明する。テストシーケンスIDがNULLでない場合(ステップS1504:No)、ステップS1503で抽出されたノード情報テーブルの伝播経路に関するノードIDがNULLかどうかを判定する(ステップS1801)。
伝播経路に関するノードIDがNULLの場合(ステップS1801:Yes)、図15に示したステップS1505に移行する。一方、伝播経路に関するノードIDがNULLでない場合(ステップS1801:No)、伝播経路に関するノードIDのノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS1802)。
図19は、ステップS1802における伝播経路に関するノードIDのノード情報テーブルの抽出例を示す説明図である。図19では、SQL構文1900を用いて、図17に示したノード情報テーブル1701に記録されている伝播経路に関するノードID(ID=8,7,2,1)によって特定されるノード情報テーブル1901〜1904を、ノード情報テーブル記憶部302から抽出している。
そして、図18において、ステップS1802で抽出されたノード情報テーブルのテストシーケンスIDがすべてNULLかどうかを判定する(ステップS1803)。すべてNULLの場合(ステップS1803:Yes)、図15に示したステップS1505に移行する。一方、ステップS1802で抽出されたノード情報テーブルのテストシーケンスIDがすべてNULLでない場合(ステップS1803:No)、当該シーケンスIDによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部305から抽出する(ステップS1804)。
上述の図19に示した例では、ノードID:8およびノードID:7のノード情報テーブル1901、1902に、テストシーケンスID:8が記録されているため、テストシーケンステーブル記憶部305から、テストシーケンスID:8によって特定されるテストシーケンステーブルを抽出する。
図20は、ステップS1804におけるテストシーケンステーブルの抽出例を示す説明図である。図20では、SQL構文2000を用いて、図19に示したノード情報テーブル1901に記録されているテストシーケンスID:8によって特定されるテストシーケンステーブル2001を、テストシーケンステーブル記憶部305から抽出している。この場合、ノードID:8の故障フラグIDとノードID:7の故障フラグIDとは同一であるため、等価故障である。したがって、抽出されるテストシーケンステーブルは1つとなる。
そして、図18において、ステップS1804で抽出されたテストシーケンステーブルのテーブル数をKとし、計数値kの初期値をk=1とする(ステップS1805)。k番目に抽出されたテストシーケンステーブルを用いて、あらたにテストシーケンステーブルおよびテストパターンテーブルを作成する(ステップS1806)。
たとえば、上述した図20で抽出されたテストシーケンステーブル2001の場合、生成されたテストシーケンスでは、図4に示した素子G1の動作に影響を与える入力信号はPI1だけであり、素子G5.xの動作に影響を与える入力信号は、PI2およびPI3も含んでいるため、PI2,PI3の信号値をXでマスクしたテストシーケンスをATPGで処理する。そして、素子G5.xの故障を活性化、伝播するテストシーケンスを生成し、期待値の設定をおこなってテストパターンとして登録する。また、作成したテストシーケンステーブルには、利用したテストシーケンスのIDを参照テストシーケンスIDとして記録する。
図21は、図20で抽出したテストシーケンステーブルを用いて実行するATPGの処理例を示す説明図である。図21において、テストシーケンステーブル2001に記録されているテストシーケンスID:8の活性化テストシーケンス:11XX0をATPG2100に入力して、活性化テストシーケンス:11000を生成する。
また、テストシーケンスID:8の伝播テストシーケンス:11XX1をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11011を生成する。さらに、テストシーケンスID:8の伝播テストシーケンス:11XX0をATPG2100に入力して、テストシーケンスID:9の伝播テストシーケンス:11010を生成する。これにより、テストシーケンスID:9のテストシーケンステーブル2002を作成する。
また、テストシーケンスID:9の活性化テストシーケンス:11000、伝播テストシーケンス:11011および伝播テストシーケンス:11010をATPG2100に入力して、テストパターン11000XX、11011XX、および11011XHを生成する。これにより、テストパターンID:2のテストパターンテーブル2003を作成する。
そして、図18において、k=Kかどうかを判定する(ステップS1807)。k=Kでない場合(ステップS1807:No)、kをインクリメントして(ステップS1808)、ステップS1803に移行する。一方、k=Kの場合(ステップS1807:Yes)、図15に示したステップS1506に移行する。
そして、このあと、図15に示したステップS1507のテーブルの関連付けをおこなう。図22は、ノード情報テーブルと、テストシーケンステーブルおよびテストパターンテーブルとの関連付けを示す説明図である。図22では、図18に示した処理手順によって作成されたテストシーケンステーブルおよびテストパターンテーブルと、ステップS1503で抽出されたノード情報テーブル1701との関連付けをおこなっている。
すなわち、故障フラグID:10が記録されているノード情報テーブル1701のテストシーケンスIDおよびテストパターンIDに、図21で作成されたテストシーケンステーブル2002のテストシーケンスID:9およびテストパターンテーブル2003のテストパターンID:2を記録する。
(データベース更新処理手順)
つぎに、この発明の実施の形態にかかるデータベース更新処理手順について説明する。図23は、この発明の実施の形態にかかるデータベース更新処理手順を示すフローチャートである。図23において、まず、対象回路内の素子の削除、変更、追加のうちいずれかの指示入力をおこなう(ステップS2301)。
つぎに、この発明の実施の形態にかかるデータベース更新処理手順について説明する。図23は、この発明の実施の形態にかかるデータベース更新処理手順を示すフローチャートである。図23において、まず、対象回路内の素子の削除、変更、追加のうちいずれかの指示入力をおこなう(ステップS2301)。
そして、指示入力が削除の場合(ステップS2301:削除)、削除処理をおこなう(ステップS2302)。また、指示入力が変更の場合(ステップS2301:変更)、変更処理をおこなう(ステップS2303)。また、指示入力が追加の場合(ステップS2301:追加)、追加処理をおこなう(ステップS2304)。
(削除処理手順)
つぎに、図23に示した削除処理の具体的な処理手順について説明する。図24は、図23に示した削除処理の具体的な処理手順を示すフローチャートである。図24において、対象回路内の素子から、削除する素子(削除対象素子)が選択された場合(ステップS2401:Yes)、選択された削除対象素子が有するノードのノードIDが記録されているノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS2402)。
つぎに、図23に示した削除処理の具体的な処理手順について説明する。図24は、図23に示した削除処理の具体的な処理手順を示すフローチャートである。図24において、対象回路内の素子から、削除する素子(削除対象素子)が選択された場合(ステップS2401:Yes)、選択された削除対象素子が有するノードのノードIDが記録されているノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS2402)。
そして、削除対象素子の入力側に位置する他の素子のノードを特定する(ステップS2403)。具体的には、ステップS2402で抽出されたノード情報テーブルの伝播経路に関するノードIDによって特定されるノード情報テーブルを、ノード情報テーブル記憶部302から抽出する。
また、削除対象素子の出力側に位置する他の素子のノードを特定する(ステップS2404)。具体的には、ステップS2402で抽出されたノード情報テーブルのノードIDが伝播経路に関するノードIDに記録されているノード情報テーブルを、ノード情報テーブル記憶部302から抽出する。
つぎに、削除対象素子のノードの故障フラグテーブルを抽出する(ステップS2405)。具体的には、ステップS2402で抽出されたノード情報テーブルの故障フラグIDによって特定される故障フラグテーブルを、故障フラグテーブル記憶部304から抽出する。そして、等価故障があるかどうかを判定する(ステップS2406)。すなわち、入出力側素子のノードの故障フラグテーブルの中に、削除対象素子のノードの故障フラグテーブルと等価故障となる故障フラグテーブルであるかどうかを判定する。
等価故障があると判定された場合(ステップS2406:Yes)、削除対象素子の入力側および出力側のいずれの故障も、他の素子に影響を与えないことがわかる。したがって、故障フラグテーブル、テストシーケンステーブル、テストパターンテーブルはそのまま利用できるため、削除対象素子のノード情報テーブルのみを削除する(ステップS2407)。
一方、等価故障がないと判定された場合(ステップS2406:No)、削除対象素子の入出力側に位置する他の素子のノードのノード情報テーブル(ステップS2403およびステップS2404で特定されたすべてのノード情報テーブル)に記録されているテストシーケンスIDのテストシーケンステーブルを、テストシーケンステーブル記憶部305から抽出する(ステップS2408)。
そして、削除対象素子への信号伝播元となる入力端子を特定し、ステップS2408で抽出されたテストシーケンステーブルに記録されている活性化テストシーケンスのうち、当該特定された入力端子に入力される値を「X」にマスクする(ステップS2409)。
また、同様に、削除対象素子への信号伝播元となる入力端子を特定し、ステップS2408で抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスのうち、当該特定された入力端子に入力される値を「X」にマスクする(ステップS2410)。
そして、ステップS2408で抽出されたテストシーケンステーブルに記録されている参照テストシーケンスIDによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部305から抽出し、抽出されたテストシーケンステーブルに記録されているテストシーケンス、マスクされた活性化テストシーケンス、およびマスクされた伝播テストシーケンスを用いて、ATPGにより、活性化テストシーケンスおよび伝播テストシーケンスを再構築する(ステップS2411)。
削除対象素子の入出力側に位置する他の素子のノードのノード情報テーブル(ステップS2403およびステップS2404で特定されたすべてのノード情報テーブル)の伝播経路に関するノードIDによって特定されるノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS2412)。
ステップS2411で再構築された活性化テストシーケンスおよび伝播テストシーケンスを用いて、ステップS2412で抽出されたノード情報テーブルのテストシーケンスIDによって特定されるテストシーケンステーブルを、テストシーケンステーブル記憶部305から抽出し、抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスを、ATPGにより再構築する。
また、テストシーケンステーブルとテストパターンテーブルとは関係付けられているため、伝播テストシーケンスの再構築により、再構築された伝播テストシーケンスが記録されているテストシーケンステーブルに関係付けられているテストパターンテーブルのテストパターンも、ATPGによって再構築する(ステップS2413)。
このあと、削除対象素子のすべてのテーブル(テストシーケンステーブル、テストパターンテーブル、故障フラグテーブル、およびノード情報テーブル)を削除する(ステップS2414)。これにより、対象回路内の素子を削除した場合の更新を自動的におこなうことができる。
(削除例1)
つぎに、上述した対象回路内の素子の削除処理の具体例(その1)について説明する。図25は、対象回路の一例を示すブロック図であり、図26は、図25に示した対象回路のノード名とノードIDとの対応表であり、図27は、図25に示した対象回路内の素子の削除処理をあらわす模式図である。
つぎに、上述した対象回路内の素子の削除処理の具体例(その1)について説明する。図25は、対象回路の一例を示すブロック図であり、図26は、図25に示した対象回路のノード名とノードIDとの対応表であり、図27は、図25に示した対象回路内の素子の削除処理をあらわす模式図である。
対象回路2500では、図25に示した素子G2を削除対象素子とすると、図24に示したステップS2402で抽出されるノード情報テーブルは、図27において、ノードID:4,5のノード情報テーブル2701,2702である。また、削除対象素子G2の入力側の他の素子(入力側素子)は、入力端子PI1と素子G1であるため、図24に示したステップS2403で抽出されるノード情報テーブルは、ノードID:4,5のノード情報テーブルの伝播経路に関するノードID:0,2,3のノード情報テーブル2703〜2705であり、削除対象素子G2の入力側素子のノードとして、ノードPI1、ノードG1.a、およびノードG1.xを特定することができる。
同様に、削除対象素子G2の出力側の他の素子(出力側素子)は、AND回路G3であるため、図24に示したステップS2404で抽出されるノード情報テーブルは、削除対象素子G2のノード情報テーブルのノードID:4,5が伝播経路に関するノードIDとして記録されているノード情報テーブル、たとえば、ノードID:6のノード情報テーブル2706である。
また、図24に示したステップS2405で抽出される故障フラグテーブルは、ノードID:4,5のノード情報テーブルに記録されている故障フラグID:10の故障フラグテーブル2710である。そして、ステップS2406の等価故障の判定で、等価故障がある場合、ステップS2407において、削除対象素子のノードであるノードID:4,5のノード情報テーブルのみを削除する。
(削除例2)
つぎに、上述した対象回路内の素子の削除処理の具体例(その2)について説明する。図28は、対象回路の一例を示すブロック図であり、図29は、図28に示した対象回路のノード名とノードIDとの対応表であり、図30〜図32は、図28に示した対象回路内の素子の削除処理をあらわす模式図である。
つぎに、上述した対象回路内の素子の削除処理の具体例(その2)について説明する。図28は、対象回路の一例を示すブロック図であり、図29は、図28に示した対象回路のノード名とノードIDとの対応表であり、図30〜図32は、図28に示した対象回路内の素子の削除処理をあらわす模式図である。
この対象回路2800において、図28に示したインバータ素子G4を削除対象素子とすると、図30において、図24に示したステップS2402で抽出されるノード情報テーブルは、ノードID:9,10のノード情報テーブル3001,3002である。
また、削除対象素子G4の入力側の他の素子(入力側素子)は、入力端子PI2であるため、図31において、図24に示したステップS2403で抽出されるノード情報テーブルは、ノードID:9,10のノード情報テーブル3001,3002に記録されている伝播経路に関するノードID:1のノード情報テーブル3101であり、削除対象素子G4の入力側素子のノードとして、ノードPI2を特定することができる。
同様に、削除対象素子G4の出力側の他の素子(出力側素子)は、AND回路G3および素子G5であるため、図32において、図24に示したステップS2404で抽出されるノード情報テーブルは、削除対象素子G4のノード情報テーブルのノードID:9,10が伝播経路に関するノードIDとして記録されているノード情報テーブル、たとえば、ノードID:7のノード情報テーブル3202である。
また、図30において、図24に示したステップS2405で抽出される故障フラグテーブルは、ノードID:9,10のノード情報テーブルに記録されている故障フラグID:20,21の故障フラグテーブル3011,3012である。
そして、ステップS2406の等価故障の判定で、等価故障がない場合、図24に示したステップS2408で抽出されるテストシーケンステーブルは、図31に示したノードID:1のノード情報テーブルに記録されているテストシーケンスID:5のテストシーケンステーブル3111である。同様に、図24に示したステップS2409で抽出されるテストシーケンステーブルは、図32に示したノードID:7のノード情報テーブルに記録されているテストシーケンスID:8のテストシーケンステーブル3211である。
図24に示したステップS2409において、削除対象素子G4への信号伝播元として特定される入力端子は、入力端子PI2であり、図31に示したテストシーケンステーブルに記録されている活性化テストシーケンスおよび伝播テストシーケンスでは、入力端子PI2に入力される値が「X」(1,0のいずれかの値)にマスクされる。
同様に、図24に示したステップS2409において、削除対象素子G4への信号伝播元として特定される入力端子は、入力端子PI2であり、図32に示したテストシーケンステーブルに記録されている活性化テストシーケンスおよび伝播テストシーケンスでは、入力端子PI2に入力される値が「X」にマスクされる。
(変更処理手順)
つぎに、図23に示した変更処理の具体的な処理手順について説明する。図33および図34は、図23に示した変更処理の具体的な処理手順を示すフローチャートである。図33において、対象回路内の素子から、変更する素子(変更対象素子)が選択された場合(ステップS3301:Yes)、選択された変更対象素子が有するノードのノードIDが記録されているノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS3302)。
つぎに、図23に示した変更処理の具体的な処理手順について説明する。図33および図34は、図23に示した変更処理の具体的な処理手順を示すフローチャートである。図33において、対象回路内の素子から、変更する素子(変更対象素子)が選択された場合(ステップS3301:Yes)、選択された変更対象素子が有するノードのノードIDが記録されているノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS3302)。
そして、ステップS3302で抽出されたノード情報テーブルを作業領域にコピーする(ステップS3303)。これにより、変更処理中に素子変更の影響によって、データベース間の整合性の破壊を防止することができる。つぎに、コピーされたノード情報テーブルのノード名および素子タイプIDを変更する(ステップS3304)。また、コピーされたノード情報テーブルの故障フラグIDにより、故障フラグテーブルを抽出し、故障フラグテーブルを修正する(ステップS3305)。
そして、修正された故障フラグテーブルを用いて、等価故障を検索する(ステップS3306)。等価故障がない場合(ステップS3306:No)については図34において後述する。一方、等価故障がある場合(ステップS3306:Yes)、等価故障となる故障フラグテーブルの故障フラグIDを、ステップS3303でコピーされたノード情報テーブルの故障フラグIDにコピーする(ステップS3307)。
このあと、等価故障となる故障フラグテーブルの故障フラグIDを有するノード情報テーブルを、ノード情報テーブル記憶部302から抽出する(ステップS3308)。そして、ステップS3308で抽出されたノード情報テーブルのテストパターンIDとテストシーケンスIDを、コピーされたノード情報テーブルにコピーする(ステップS3309)。最後に、コピー元(変更元)のノード情報テーブルを、コピーされたノード情報テーブルに置換する(ステップS3310)。
また、ステップS3306において等価故障がない場合(ステップS3306:No)、図34において、修正された故障フラグテーブルを用いて、テストシーケンステーブルとテストパターンテーブルとを作成する(ステップS3401)。具体的には、図11に示したテストシーケンステーブル/テストパターンテーブル作成処理(ステップS1104)と同様の手法により実行する。
つぎに、ノード情報テーブル記憶部302に記憶されているノード情報テーブルのうち、変更対象素子のノードのノードIDが伝播経路に関するノードIDに記録されているノード情報テーブルを抽出する(ステップS3402)。そして、抽出数をMとし、初期値mをm=1とする(ステップS3403)。
m番目に抽出されたノード情報テーブルの故障フラグIDによって特定される故障フラグテーブルを抽出する(ステップS3404)。また、m番目に抽出されたノード情報テーブルのテストシーケンスIDによって特定されるテストシーケンステーブルを抽出する(ステップS3405)。
そして、変更対象素子への信号伝播元となる入力端子を特定し、ステップS3405で抽出されたテストシーケンステーブルに記録されている活性化テストシーケンスのうち、当該特定された入力端子に入力される値を「X」にマスクする(ステップS3406)。このマスクされた活性化テストシーケンスを用いてATPGにより活性化テストシーケンスを再構築する(ステップS3407)。
同様に、変更対象素子への信号伝播元となる入力端子を特定し、ステップS3405で抽出されたテストシーケンステーブルに記録されている伝播テストシーケンスのうち、当該特定された入力端子に入力される値を「X」にマスクする(ステップS3408)。このマスクされた伝播シーケンスを用いてATPGにより伝播シーケンスを再構築する(ステップS3409)。
この再構築された活性化テストシーケンスおよび伝播テストシーケンスを含む、再作成されたテストシーケンステーブルのテストシーケンスIDを有するノード情報テーブルを抽出する(ステップS3410)。このステップS3410で抽出されたノード情報テーブルの伝播経路に関するノードIDのノード情報テーブルを抽出する(ステップS3411)。
そして、ステップS3407およびステップS3409で再構築されたテストシーケンスを用いて、ステップS3411で抽出されたノード情報テーブルのノードの故障を伝播する伝播テストシーケンスを生成する(ステップS3412)。このあと、m=Mでない場合(ステップS3413:No)、mの値をインクリメントして(ステップS3414)、ステップS3404に移行する。一方、m=Mの場合(ステップS3413:Yes)、図33に示したステップS3310に移行する。
(追加処理手順)
つぎに、図23に示した追加処理の具体的な処理手順について説明する。図35は、図23に示した追加処理の具体的な処理手順を示すフローチャートである。図35において、まず、追加ノードのノード情報テーブルを作成する(ステップS3501)。つぎに、追加ノードについての信号伝播経路をチェックする(ステップS3502)。このチェックより、追加ノードの出力側のノードを検出する(ステップS3503)。そして、この検出されたノード(検出ノード)のノード情報テーブルの伝播経路に関するノードIDに、追加ノードのノードIDを追加する(ステップS3504)。そして、ステップS2303へ移行する。
つぎに、図23に示した追加処理の具体的な処理手順について説明する。図35は、図23に示した追加処理の具体的な処理手順を示すフローチャートである。図35において、まず、追加ノードのノード情報テーブルを作成する(ステップS3501)。つぎに、追加ノードについての信号伝播経路をチェックする(ステップS3502)。このチェックより、追加ノードの出力側のノードを検出する(ステップS3503)。そして、この検出されたノード(検出ノード)のノード情報テーブルの伝播経路に関するノードIDに、追加ノードのノードIDを追加する(ステップS3504)。そして、ステップS2303へ移行する。
(テストパターン解析処理手順)
つぎに、この発明の実施の形態にかかるテストパターン生成/解析装置のテストパターン解析処理手順について説明する。図36は、この発明の実施の形態にかかるテストパターン生成/解析装置のテストパターン解析処理手順を示すフローチャートである。
つぎに、この発明の実施の形態にかかるテストパターン生成/解析装置のテストパターン解析処理手順について説明する。図36は、この発明の実施の形態にかかるテストパターン生成/解析装置のテストパターン解析処理手順を示すフローチャートである。
図36において、生成されたテストパターンの論理シミュレータに入力して、対象回路についての論理シミュレーションを実行する(ステップS3601)。そして、シミュレーション結果にエラーがあるかどうかを判定する(ステップS3602)。エラーがない場合(ステップS3602:No)、期待値どおりの出力が得られたこととなり、対象回路の動作が保障され、一連の処理を終了する。
一方、シミュレーション結果にエラーがあった場合(ステップS3602:Yes)、エラーとなったテストパターンを含むテストパターンテーブルを抽出する(ステップS3603)。また、抽出されたテストパターンテーブルのテストパターンIDが記録されているノード情報テーブル、テストシーケンステーブルおよび故障フラグテーブルを取得する(ステップS3604)。
また、ステップS3604で抽出されたノード情報テーブルの伝播経路に関するノードIDによって特定されるノード情報テーブル、当該ノード情報テーブルのテストシーケンスIDによって特定されるテストシーケンステーブル、当該ノード情報テーブルの故障フラグIDによって特定される故障フラグテーブルを取得する(ステップS3605)。
また、ステップS3604で取得されたノード情報テーブルのノードIDが伝播経路に関するノードIDに記録されているノード情報テーブル、当該ノード情報テーブルのテストシーケンスIDによって特定されるテストシーケンステーブル、当該ノード情報テーブルの故障フラグIDによって特定される故障フラグテーブルを取得する(ステップS3606)。
そして、ステップS3603〜ステップS3606において取得されたテーブルを用いて、ステップS3602で発生したエラーの内容を解析ツールで解析して、表示画面に表示する(ステップS3607)。これらのテーブルを用いてエラー解析をおこなうことにより、エラーの原因の特定が容易になり、解析結果の分析時間の短縮化を図ることができる。
つぎに、図36に示したテストパターン解析処理について具体的に説明する。図37は、図36に示したテストパターン解析処理の模式図である。図37において、テストパターンテーブルから、論理シミュレーションでエラーになったパターン番号に一致するテストパターンテーブルをテストパターンテーブル記憶部306から検索し、そのテーブルに関係するノードIDのノード情報テーブルをノード情報テーブル記憶部302から、故障フラグテーブルを故障フラグテーブル記憶部304から、テストシーケンステーブルをテストシーケンステーブル記憶部305から、エラーの解析に必要な情報(解析用データ3700)として検索する。
エラーの条件によって、解析に必要な条件は異なるが、エラーの発生した素子の位置、その素子の動作に影響を与えるノードのノード情報テーブルとテストシーケンステーブルがわかる。このテーブルの情報により、既存の波形解析ツールや回路図表示ツールを用いて原因を特定することができる。具体的には、解析ツールは、テーブルの情報とエラーの内容から、エラーに合わせてシミュレーションをおこない、原因を特定する。たとえば、タイミングエラーの場合は、エラーのあったノードと関連するノードの信号伝播について再度シミュレーションをおこない、ATPGの期待している波形と異なる箇所を表示する、といった方法でエラーの原因を特定する。
図38は、波形解析ツールによる波形図である。図38において、タイムフレームT3、T4間ではセットアップ時間が短く、入力信号PI4の値がFFにキャプチャーされないため、タイムフレームT5、T6で、出力信号PO2の期待値が異なり、エラーとなっていることを示している。また、図39は、回路図表示ツールによって表示された回路図である。図39において、点線で示した伝播経路にエラーが発生していることを示している。
つぎに、この発明の実施の形態にかかるテストパターン生成/解析システム100におけるトランザクション処理について説明する。図40は、この発明の実施の形態にかかるテストパターン生成/解析システム100におけるトランザクション処理を示す説明図である。
まず、ワークステーション103AがFF.qのテストパターンを更新し、その結果をデータベースに反映させるとする。そのとき、データベース101のロックをおこない(ステップS4001)、他のワークステーション103B、103Cがデータベース101を更新しないようにする。
ワークステーション103Bは、FF.qのテストパターンの更新依頼をデータベースサーバ102に対しておこなっているが、データベース101がロックされているため更新処理を待機している(ステップS4002)。また、ワークステーション103AのFF.qのテストパターンを更新する処理(更新依頼)がデータベース101に送信され(ステップS4003)、そのトランザクションがCOMMIT(反映)される(ステップS4004)。
このCOMMITが終了すると同時にデータベース101のロックは解除されるので、ワークステーション103Bがデータベース101をロックし(ステップS4005)、FF.qのテストパターンの更新依頼をおこなう(ステップS4006)。ただし、FF.qの処理はワークステーション103Aの処理と矛盾するため、トランザクションがROLLBACKされ、更新依頼の内容は破棄される(ステップS4007)。
一方、ワークステーション103Cは、別の素子G5.xの処理結果を反映させる処理、すなわち、データベース101のロック(ステップS4008〜ステップS4010)をおこなう。この処理では、他のワークステーション103A,103Bがデータベース101を利用していないため、結果はそのままデータベースに反映される。このような処理により、複数のワークステーション103A〜103Cが同じ設計データに対して同時にATPG処理をおこなうことが可能になる。
このように、上述した実施の形態によれば、ATPGで対象故障のテストパターンを生成する際、故障フラグから関係する故障フラグテーブル、ノード情報テーブル、検出済みのテストシーケンステーブルを取り出すことができる。
また、これらのテーブル情報を用いることで、テストパターンの生成に必要なシード値の設定、再利用可能なテストシーケンスの取り出しをおこなうことが可能になり、ATPGの処理時間、テストパターン数の削減を図ることができる。また、ATPGによる処理で問題となる冗長回路の検出を回路の関係から摘出し、テスト対象外と設定することで、余計なATPGの処理時間を短縮することができる。
また、素子変更が生じた場合、必要なテーブルのみを更新するだけですべての情報を更新することが可能になるため、素子変更後のテストパターン生成の高速化を実現することができる。さらに、論理シミュレーションのエラー解析において、エラーの原因をデータベースから摘出することで、解析に必要な情報を取り出すことができる。これにより、ユーザはエラーの原因を絞り込むことができ、解析にかかる時間を大幅に短縮することができる。
また、テストパターン生成に利用するデータベースを更新する際にロックし、他のワークステーション103からの更新を一時保留にするトランザクション処理をおこなうことで、複数のユーザが、複数のワークステーション103で同時に処理することができる。このことによりATPGの並列処理による高速化を実現することができる。また、ハードウェア上のシステムに障害が発生した場合、ロールバック処理によりすでに検出した情報の復旧や処理の再開を短期で行うことも可能になる。
また、CAD開発におけるデータベースのアクセス関数を一般的なSQL言語で操作可能にすることで、メーカ間でのインターフェースを統一することができる。また、さまざまなATPG、故障解析ツール、論理シミュレーションをユーザが選択して利用することができる。
すなわち、データベース101(ネットリスト記憶部301、ノード情報テーブル記憶部302、素子タイプID記憶部303、故障フラグテーブル記憶部304、テストシーケンステーブル記憶部305、テストパターンテーブル記憶部306)は、たとえば、SQLなどのデータベースアクセス関数で操作可能であり、上述した各種データのアクセス処理を高速化して、ATPGの処理速度を向上させることができ、解析ツールの開発を容易にすることができる。また、データベース言語を統一すれば、異なるCADメーカーが作成した解析ツールを利用することもできる。
以上説明したように、テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体によれば、ATPGの処理時間の短縮化および余分なテストパターン数の削減を図ることができるという効果を奏する。
なお、本実施の形態で説明したテストパターン生成方法およびテストパターン解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション103等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワーク104を介して配布することが可能な伝送媒体であってもよい。
(付記1)任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
を備えることを特徴とするテストパターン生成システム。
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
を備えることを特徴とするテストパターン生成システム。
(付記2)前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定手段と、
前記伝播経路情報判定手段によって伝播経路情報が含まれていると判定された場合、前記端子情報生成手段によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出手段と、
前記端子情報抽出手段によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定手段と、
前記第2のテストシーケンス識別情報判定手段によって判定された判定結果に基づいて、前記端子情報抽出手段によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出手段と、を備え、
前記テストシーケンス生成手段は、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出手段によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成し、
前記テストパターン生成手段は、
前記テストシーケンス生成手段によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成することを特徴とする付記1に記載のテストパターン生成システム。
前記伝播経路情報判定手段によって伝播経路情報が含まれていると判定された場合、前記端子情報生成手段によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出手段と、
前記端子情報抽出手段によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定手段と、
前記第2のテストシーケンス識別情報判定手段によって判定された判定結果に基づいて、前記端子情報抽出手段によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出手段と、を備え、
前記テストシーケンス生成手段は、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出手段によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成し、
前記テストパターン生成手段は、
前記テストシーケンス生成手段によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成することを特徴とする付記1に記載のテストパターン生成システム。
(付記3)前記回路の中から任意の素子の選択を受け付ける選択手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中から、前記選択手段によって選択された素子が有する端子の端子情報により特定される故障検出情報を抽出する第1の故障検出情報抽出手段と、
前記選択手段によって選択された素子を経由する信号伝播経路上の他の素子が有する端子の識別情報を示す伝播経路情報を検出する伝播経路情報検出手段と、
前記第1の故障検出情報生成手段によって生成された故障検出情報の中から、前記伝播経路情報検出手段によって検出された伝播経路情報により特定される端子について、当該端子の故障を検出する故障検出情報を抽出する第2の故障検出情報抽出手段と、
前記第2の故障検出情報抽出手段によって抽出された故障検出情報の中に、前記第1の故障検出情報抽出手段によって抽出された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を削除する削除手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
前記故障検出情報生成手段によって生成された故障検出情報の中から、前記選択手段によって選択された素子が有する端子の端子情報により特定される故障検出情報を抽出する第1の故障検出情報抽出手段と、
前記選択手段によって選択された素子を経由する信号伝播経路上の他の素子が有する端子の識別情報を示す伝播経路情報を検出する伝播経路情報検出手段と、
前記第1の故障検出情報生成手段によって生成された故障検出情報の中から、前記伝播経路情報検出手段によって検出された伝播経路情報により特定される端子について、当該端子の故障を検出する故障検出情報を抽出する第2の故障検出情報抽出手段と、
前記第2の故障検出情報抽出手段によって抽出された故障検出情報の中に、前記第1の故障検出情報抽出手段によって抽出された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を削除する削除手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
(付記4)前記回路の中から任意の素子の選択を受け付ける選択手段と、
前記選択手段によって選択された素子と異なる素子が有する端子の識別情報と、前記選択手段によって選択された素子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第2の端子情報生成手段と、
前記第2の端子情報生成手段によって生成された端子情報により特定される端子についての故障を検出する故障検出情報を生成する第2の故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、前記第2の故障検出情報生成手段によって生成された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と、
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を、前記第2の端子情報生成手段によって生成された素子が有する端子の端子情報に変更する変更手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
前記選択手段によって選択された素子と異なる素子が有する端子の識別情報と、前記選択手段によって選択された素子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第2の端子情報生成手段と、
前記第2の端子情報生成手段によって生成された端子情報により特定される端子についての故障を検出する故障検出情報を生成する第2の故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、前記第2の故障検出情報生成手段によって生成された故障検出情報と等価故障となるものがあるかどうかを判定する等価故障判定手段と、
前記等価故障判定手段によって判定された判定結果に基づいて、前記選択手段によって選択された素子が有する端子の端子情報を、前記第2の端子情報生成手段によって生成された素子が有する端子の端子情報に変更する変更手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
(付記5)前記回路を構成する素子以外の他の素子を追加する位置の選択を受け付ける選択手段と、
前記回路を構成する素子以外の他の素子が有する端子の識別情報と、前記選択手段によって選択された位置までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第2の端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報の伝播経路情報に、前記第2の端子情報生成手段によって生成された端子情報により特定される端子の識別情報を追加する追加手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
前記回路を構成する素子以外の他の素子が有する端子の識別情報と、前記選択手段によって選択された位置までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する第2の端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報の伝播経路情報に、前記第2の端子情報生成手段によって生成された端子情報により特定される端子の識別情報を追加する追加手段と、
を備えることを特徴とする付記1または2に記載のテストパターン生成システム。
(付記6)任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
前記テストパターン生成手段によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行手段と、
前記論理シミュレーション実行手段によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得手段と、
前記取得手段によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析手段と、
を備えることを特徴とするテストパターン解析システム。
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
前記テストパターン生成手段によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行手段と、
前記論理シミュレーション実行手段によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得手段と、
前記取得手段によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析手段と、
を備えることを特徴とするテストパターン解析システム。
(付記7)任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
を含んだことを特徴とするテストパターン生成方法。
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
を含んだことを特徴とするテストパターン生成方法。
(付記8)前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成する第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成する第2のテストパターン生成工程と、
を含んだことを特徴とする付記7に記載のテストパターン生成方法。
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成する第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成する第2のテストパターン生成工程と、
を含んだことを特徴とする付記7に記載のテストパターン生成方法。
(付記9)任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析工程と、
を含んだことを特徴とするテストパターン解析方法。
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析工程と、
を含んだことを特徴とするテストパターン解析方法。
(付記10)任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
をコンピュータに実行させることを特徴とするテストパターン生成プログラム。
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
をコンピュータに実行させることを特徴とするテストパターン生成プログラム。
(付記11)前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定させる伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出させる端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定させる第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出させるテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成させる第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成させる第2のテストパターン生成工程と、
を含んだことを特徴とする付記10に記載のテストパターン生成プログラム。
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出させる端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定させる第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出させるテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成させる第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成させる第2のテストパターン生成工程と、
を含んだことを特徴とする付記10に記載のテストパターン生成プログラム。
(付記12)任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行させる論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得させる取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析させる解析工程と、
をコンピュータに実行させることを特徴とするテストパターン解析プログラム。
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行させる論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得させる取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析させる解析工程と、
をコンピュータに実行させることを特徴とするテストパターン解析プログラム。
(付記13)付記10〜12のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
以上のように、本発明にかかるテストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体は、リレーショナルデータベースシステムに有用である。
100 テストパターン生成/解析システム
101 データベース
102 データベースサーバ
103 ワークステーション(テストパターン生成/解析装置)
301 ネットリスト記憶部
302 ノード情報テーブル記憶部
303 素子タイプID記憶部
304 故障フラグテーブル記憶部
305 テストシーケンステーブル記憶部
306 テストパターンテーブル記憶部
310 管理部
323 テーブル作成部
324 解析部
101 データベース
102 データベースサーバ
103 ワークステーション(テストパターン生成/解析装置)
301 ネットリスト記憶部
302 ノード情報テーブル記憶部
303 素子タイプID記憶部
304 故障フラグテーブル記憶部
305 テストシーケンステーブル記憶部
306 テストパターンテーブル記憶部
310 管理部
323 テーブル作成部
324 解析部
Claims (10)
- 任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
を備えることを特徴とするテストパターン生成システム。 - 前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定手段と、
前記伝播経路情報判定手段によって伝播経路情報が含まれていると判定された場合、前記端子情報生成手段によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出手段と、
前記端子情報抽出手段によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定手段と、
前記第2のテストシーケンス識別情報判定手段によって判定された判定結果に基づいて、前記端子情報抽出手段によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出手段と、を備え、
前記テストシーケンス生成手段は、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出手段によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成し、
前記テストパターン生成手段は、
前記テストシーケンス生成手段によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成することを特徴とする請求項1に記載のテストパターン生成システム。 - 任意の回路のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成手段と、
前記端子情報生成手段によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成手段と、
前記故障検出情報生成手段によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定手段と、
前記テストシーケンス識別情報判定手段によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成手段と、
前記テストシーケンス生成手段によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成手段と、
前記テストパターン生成手段によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行手段と、
前記論理シミュレーション実行手段によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得手段と、
前記取得手段によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析手段と、
を備えることを特徴とするテストパターン解析システム。 - 任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
を含んだことを特徴とするテストパターン生成方法。 - 前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定する伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出する端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定する第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出するテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成する第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成する第2のテストパターン生成工程と、
を含んだことを特徴とする請求項4に記載のテストパターン生成方法。 - 任意の回路のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成する端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成する故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定するテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成するテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成するテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行する論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得する取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析する解析工程と、
を含んだことを特徴とするテストパターン解析方法。 - 任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
をコンピュータに実行させることを特徴とするテストパターン生成プログラム。 - 前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていないと判定された故障検出情報にかかる端子情報の中に、前記伝播経路情報が含まれているかどうかを判定させる伝播経路情報判定工程と、
前記伝播経路情報判定工程によって伝播経路情報が含まれていると判定された場合、前記端子情報生成工程によって生成された端子情報の中から、前記伝播経路情報によって特定される端子情報を抽出させる端子情報抽出工程と、
前記端子情報抽出工程によって抽出された端子情報にテストシーケンスの識別情報が含まれているかどうかを判定させる第2のテストシーケンス識別情報判定工程と、
前記第2のテストシーケンス識別情報判定工程によって判定された判定結果に基づいて、前記端子情報抽出工程によって抽出された端子情報の中から、テストシーケンスの識別情報を抽出させるテストシーケンス識別情報抽出工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された場合、前記テストシーケンス識別情報抽出工程によって抽出された識別情報により特定されるテストシーケンスを用いて第2のテストシーケンスを生成させる第2のテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成された第2のテストシーケンスを用いて第2のテストパターンを生成させる第2のテストパターン生成工程と、
を含んだことを特徴とする請求項7に記載のテストパターン生成プログラム。 - 任意の回路のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストに基づいて、前記回路を構成する素子が有する端子ごとに、少なくとも、当該端子の識別情報と、当該端子までの信号伝播経路上に存在する他の端子の識別情報を示す伝播経路情報と、を含む端子情報を生成させる端子情報生成工程と、
前記端子情報生成工程によって生成された端子情報ごとに、前記端子の故障を検出する故障検出情報を生成させる故障検出情報生成工程と、
前記故障検出情報生成工程によって生成された故障検出情報の中に、テストシーケンスの識別情報が含まれているかどうかを判定させるテストシーケンス識別情報判定工程と、
前記テストシーケンス識別情報判定工程によってテストシーケンスの識別情報が含まれていると判定された故障検出情報について、前記テストシーケンスを生成させるテストシーケンス生成工程と、
前記テストシーケンス生成工程によって生成されたテストシーケンスを用いて、テストパターンを生成させるテストパターン生成工程と、
前記テストパターン生成工程によって生成されたテストパターンを用いて、前記回路の論理シミュレーションを実行させる論理シミュレーション実行工程と、
前記論理シミュレーション実行工程によって実行された論理シミュレーションの結果にエラーがある場合、少なくとも、前記テストパターンの生成元となるテストシーケンスと、当該テストシーケンスの生成元となる故障検出情報と、当該故障検出情報によって故障が検出される端子の端子情報とを含む情報を取得させる取得工程と、
前記取得工程によって取得された情報を用いて、前記論理シミュレーションの結果に含まれているエラーを解析させる解析工程と、
をコンピュータに実行させることを特徴とするテストパターン解析プログラム。 - 請求項7〜9のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241439A JP2006058172A (ja) | 2004-08-20 | 2004-08-20 | テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 |
US11/023,504 US20060041808A1 (en) | 2004-08-20 | 2004-12-29 | Test-pattern generation system, test-pattern analysis system, test-pattern generation method, test-pattern analysis method, and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241439A JP2006058172A (ja) | 2004-08-20 | 2004-08-20 | テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006058172A true JP2006058172A (ja) | 2006-03-02 |
Family
ID=35910931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004241439A Withdrawn JP2006058172A (ja) | 2004-08-20 | 2004-08-20 | テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060041808A1 (ja) |
JP (1) | JP2006058172A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365133B2 (en) | 2009-03-04 | 2013-01-29 | Sony Corporation | Testing apparatus, testing method, and program |
KR20200025995A (ko) * | 2018-08-31 | 2020-03-10 | 로크웰 콜린스 인코포레이티드 | 내장형 안테나 어레이 계측 시스템 및 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7132845B1 (en) * | 2005-08-19 | 2006-11-07 | Texas Instruments Incorporated | FA tool using conductor model |
US7921337B2 (en) * | 2008-05-30 | 2011-04-05 | Honeywell International Inc. | Systems and methods for diagnosing faults in electronic systems |
US9310433B2 (en) | 2014-04-18 | 2016-04-12 | Breker Verification Systems | Testing SOC with portable scenario models and at different levels |
US9652618B1 (en) * | 2016-06-10 | 2017-05-16 | Optum, Inc. | Systems and apparatuses for architecture assessment and policy enforcement |
RU2713574C1 (ru) | 2016-06-10 | 2020-02-05 | Оптум, Инк. | Системы и устройства для оценки архитектуры и реализации стратегий в области обеспечения безопасности |
US10372853B2 (en) | 2017-03-20 | 2019-08-06 | International Business Machines Corporation | Implementing enhanced diagnostics with intelligent pattern combination in automatic test pattern generation (ATPG) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59180898A (ja) * | 1983-03-31 | 1984-10-15 | Hitachi Ltd | 不良ビット救済方法 |
US4939694A (en) * | 1986-11-03 | 1990-07-03 | Hewlett-Packard Company | Defect tolerant self-testing self-repairing memory system |
US6243835B1 (en) * | 1998-01-30 | 2001-06-05 | Fujitsu Limited | Test specification generation system and storage medium storing a test specification generation program |
US6269463B1 (en) * | 1998-11-02 | 2001-07-31 | Synopsys, Inc. | Method and system for automatically determining transparency behavior of non-scan cells for combinational automatic test pattern generation |
US6195776B1 (en) * | 1998-11-02 | 2001-02-27 | Synopsys, Inc. | Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation |
US6308292B1 (en) * | 1998-12-08 | 2001-10-23 | Lsi Logic Corporation | File driven mask insertion for automatic test equipment test pattern generation |
US6631344B1 (en) * | 1999-03-26 | 2003-10-07 | Synopsys, Inc. | Method and system for performing deterministic analysis and speculative analysis for more efficient automatic test pattern generation |
US6459292B1 (en) * | 1999-04-30 | 2002-10-01 | Advantest Corporation | Testing system for semiconductor device |
US6385750B1 (en) * | 1999-09-01 | 2002-05-07 | Synopsys, Inc. | Method and system for controlling test data volume in deterministic test pattern generation |
US6789222B2 (en) * | 2001-01-05 | 2004-09-07 | Yardstick Research, L.L.C. | Single-pass methods for generating test patterns for combinational circuits |
US6845479B2 (en) * | 2001-03-14 | 2005-01-18 | Tality Uk Limited | Method for testing for the presence of faults in digital circuits |
US7107501B2 (en) * | 2002-05-31 | 2006-09-12 | Infineon Technologies Ag | Test device, test system and method for testing a memory circuit |
US20040025123A1 (en) * | 2002-08-01 | 2004-02-05 | Angilivelil Josey G. | System and method to facilitate evaluation of integrated circuits through delay testing |
US7509600B2 (en) * | 2004-04-22 | 2009-03-24 | Janusz Rajski | Generating test patterns having enhanced coverage of untargeted defects |
-
2004
- 2004-08-20 JP JP2004241439A patent/JP2006058172A/ja not_active Withdrawn
- 2004-12-29 US US11/023,504 patent/US20060041808A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365133B2 (en) | 2009-03-04 | 2013-01-29 | Sony Corporation | Testing apparatus, testing method, and program |
KR20200025995A (ko) * | 2018-08-31 | 2020-03-10 | 로크웰 콜린스 인코포레이티드 | 내장형 안테나 어레이 계측 시스템 및 방법 |
KR102231983B1 (ko) * | 2018-08-31 | 2021-03-25 | 로크웰 콜린스 인코포레이티드 | 내장형 안테나 어레이 계측 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20060041808A1 (en) | 2006-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8863053B2 (en) | Intelligent timing analysis and constraint generation GUI | |
Petrenko et al. | Testing from partial deterministic FSM specifications | |
CN100456308C (zh) | 断言产生系统、电路验证系统以及断言产生方法 | |
US10068040B2 (en) | Method and apparatus for transaction recording and visualization | |
JPH11296544A (ja) | 構造化データ管理システム及び構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP1626359A2 (en) | Methods and systems for electronic device modelling | |
JP5310036B2 (ja) | 検証支援プログラムおよび検証支援装置 | |
JP5672038B2 (ja) | 検証支援装置、検証支援プログラム、および検証支援方法 | |
JP2006058172A (ja) | テストパターン生成システム、テストパターン解析システム、テストパターン生成方法、テストパターン解析方法、テストパターン生成プログラム、テストパターン解析プログラム、および記録媒体 | |
McInnes et al. | Formalizing functional flow block diagrams using process algebra and metamodels | |
US8001503B2 (en) | Method and system for automatically accessing internal signals or ports in a design hierarchy | |
US11734506B2 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
CN110286882B (zh) | 一种基于模型检测的前台系统设计与验证方法 | |
JP5067317B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP4370335B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
JP5533206B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
WO2004068347A1 (en) | Method and apparatus for categorising test scripts | |
JP5200719B2 (ja) | Webアプリケーション検査プログラム、テスト実行装置、およびテスト実行方法 | |
EP1724696A1 (en) | Verification support device, verification support method, verification support program, and recording medium | |
JP4747036B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
Spichkova et al. | A Human-Centred Framework for Supporting Agile Model-Based Testing. | |
JP6397800B2 (ja) | テスト支援システムおよびテスト支援方法 | |
JP2006250651A (ja) | テストパターン生成支援装置、テストパターン生成支援方法、テストパターン生成支援プログラム、および記録媒体 | |
JP2008117136A (ja) | 検証支援プログラム、記録媒体、検証支援装置および検証支援方法 | |
JP2009277135A (ja) | 検証装置、検証方法および検証プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071106 |