(57)【要約】【課題】圧縮対象のパターンを限定することなく、高圧縮率を得ることができるテストパターン圧縮方法を提供する。【解決手段】テスト記述言語を用いて記述されたテストデータおよびコード変換条件の読み込みを行い、コード変換条件に従って、テストデータの各ステップのテストパターンをコードへ変換し、そのコードをノードとして、各ノード間を結ぶ枝にテストステップの進行方向に沿った向きを与えて有向グラフを作成する。有向グラフのノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、圧縮記述を表すコードに再変換して、有向グラフを圧縮する。その後、圧縮有向グラフのノードを時系列順に辿ってコード列挙形式のテストデータを生成し、そのコードを元のテスト記述言語形式のパターンへ逆変換して、コード列挙形式のテストデータを圧縮記述形式のテストデータへ変換する。【選択図】図２
2010281796.tif 000002
【特許請求の範囲】
【請求項１】
テストステップごとのテストパターンとそれに付随するテスト制御情報がテスト記述言語を用いて記述されたテストデータを読み込んで、前記テスト制御情報との組み合わせが同一のテストパターンには同一のコードを付与して、各テストステップの前記テストパターンをコードへ変換する工程と、
前記コードをノードとし、前記ノード間を結ぶ枝にテストステップの進行方向に沿った向きを与えて有向グラフを作成する工程と、
前記有向グラフの前記ノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、時系列で連続して辿るときは繰り返し記述を表すコードに再変換し、時系列で離散して辿るときはプロシージャ記述を表すコードに再変換して、前記有向グラフを圧縮有向グラフへ圧縮する工程と、
前記圧縮有向グラフのノードを時系列順に辿り、その辿った順に各ノードに対応するコードを記述してコード列挙形式のテストデータを生成する工程と、
前記コードを元のテスト記述言語形式のパターンへ逆変換して、前記コード列挙形式のテストデータを圧縮記述形式のテストデータへ変換する工程と
を有することを特徴とするテストパターン圧縮方法。
【請求項２】
前記圧縮有向グラフの前記ノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、時系列で連続して辿るときは繰り返し記述を表すコードに再変換し、時系列で離散して辿るときはプロシージャ記述を表すコードに再変換して、前記圧縮有向グラフをさらに圧縮する
ことを特徴とする請求項１に記載のテストパターン圧縮方法。
【請求項３】
前記テスト記述言語で記述されたテストデータに繰り返し記述やプロシージャ記述による圧縮記述が含まれるときに、前記圧縮記述部分をコードへ変換する
ことを特徴とする請求項１または２に記載のテストパターン圧縮方法。
【請求項４】
前記テスト記述言語で記述されたテストデータに繰り返し記述やプロシージャ記述による圧縮記述が含まれるときに、前記圧縮記述された部分をコード変換の対象から外す
ことを特徴とする請求項１または２に記載のテストパターン圧縮方法。
【請求項５】
圧縮記述に関するテスターの制約を読み込んで、前記制約の範囲内で圧縮記述に変換する
ことを特徴とする請求項１乃至４のいずれか１項に記載のテストパターン圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストパターン圧縮方法に関する。
【背景技術】
【０００２】
デジタルＬＳＩなどの半導体デバイスのテストにおいては、テストパターン列をテスト装置に入力して非測定デバイスに与え、非測定デバイスからの応答を検査する。近年、半導体デバイスの大規模化・複雑化に伴い、テストパターン長も長大化する傾向にあり、単純なパターン記述のままでは、テスト装置のメモリ容量を超えてしまう恐れが生じる。
【０００３】
これを避ける方法として、繰り返しやプロシージャなどの圧縮記述が可能なテストパターン記述言語を用いて、テストパターンのデータ量を圧縮することが行われる。しかし、テストパターンを圧縮記述に表現し直すのは、テストパターンを作成した技術者でないと難しい、という問題がある。
【０００４】
そのため、従来、テストパターン圧縮装置を用いて、テストパターン中から繰り返しパターンを検索し、繰り返しパターンが見つかれば、繰り返し記述に変換するとともに、使用者が事前に用意した参照パターンと同一のパターンをテストパターン中から検索し、参照パターンと同一のパターンが見つかれば、サブルーチン記述に変換する、テストパターン圧縮方法が提案されている（例えば、特許文献１参照。）。
【０００５】
しかし、上述のテストパターン圧縮方法では、使用者が事前に用意した参照パターンのみしかサブルーチン記述に変換されないため、サブルーチン可能なパターンが総てサブルーチンに変換されるとは限らない、という問題がある。
【０００６】
また、上述のテストパターン圧縮方法では、圧縮記述への変換が、オリジナルのテストパターンに対してのみ行われ、圧縮記述変換後のテストパターンに対しては行われない。そのため、圧縮記述変換後のテストパターン中に、更に、繰り返し記述やサブルーチン記述に変換可能なパターンがあっても、その部分は圧縮記述へ変換されない、という問題がある。
【０００７】
すなわち、上述のテストパターン圧縮方法では、圧縮対象のパターンが限定的であり、高い圧縮率が得られるとは必ずしも限らない、という問題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−１２７２１１号公報  （第４ページ、図１３）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の目的は、圧縮対象のパターンを限定することなく、高圧縮率を得ることができるテストパターン圧縮方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、テストステップごとのテストパターンとそれに付随するテスト制御情報がテスト記述言語を用いて記述されたテストデータを読み込んで、前記テスト制御情報との組み合わせが同一のテストパターンには同一のコードを付与して、各テストステップの前記テストパターンをコードへ変換する工程と、前記コードをノードとし、前記ノード間を結ぶ枝にテストステップの進行方向に沿った向きを与えて有向グラフを作成する工程と、前記有向グラフの前記ノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、時系列で連続して辿るときは繰り返し記述を表すコードに再変換し、時系列で離散して辿るときはプロシージャ記述を表すコードに再変換して、前記有向グラフを圧縮有向グラフへ圧縮する工程と、前記圧縮有向グラフのノードを時系列順に辿り、その辿った順に各ノードに対応するコードを記述してコード列挙形式のテストデータを生成する工程と、前記コードを元のテスト記述言語形式のパターンへ逆変換して、前記コード列挙形式のテストデータを圧縮記述形式のテストデータへ変換する工程とを有することを特徴とするテストパターン圧縮方法が提供される。
【発明の効果】
【００１１】
本発明によれば、圧縮対象のパターンを限定することなく、高圧縮率を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例に係るテストパターン圧縮方法を実行するテストパターン圧縮システムの構成の例を示すブロック図。
【図２】本発明の実施例に係るテストパターン圧縮方法の処理の流れの例を示すフロー図。
【図３】テスト制御情報に対するコード変換条件の違いによりコード変換結果が異なる例を示す図。
【図４】圧縮記述に対するコード変換条件の違いによりコード変換結果が異なる例を示す図
【図５】本発明の実施例に係るテストパターン圧縮方法におけるコード変換の例を示す図。
【図６】本発明の実施例に係るテストパターン圧縮方法における有向グラフ作成の例を示す図。
【図７】図６に示した有向グラフの一部を示す図。
【図８】本発明の実施例に係るテストパターン圧縮方法における有向グラフ圧縮の例を示す図。
【図９】本発明の実施例に係るテストパターン圧縮方法における有向グラフ圧縮の別の例を示す図。
【図１０】図９に示した圧縮有向グラフをさらに圧縮した圧縮有向グラフの例を示す図。
【図１１】本発明の実施例に係るテストパターン圧縮方法におけるコード列挙形式テストデータの例を示す図。
【図１２】図１１に示したコード列挙形式テストデータを圧縮記述形式テストデータへ変換した例を示す図。
【図１３】図１０（ｂ）に示したテストパターン進行を複数回繰り返すテストパターンに対する圧縮有向グラフのイメージを示す図。
【図１４】図１２に示した圧縮有向グラフイメージに対して圧縮記述をネスティングして圧縮記述形式テストデータへ変換する例を示す図。
【図１５】コード変換対象外と指定された部分を含むテストデータに対する処理の例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例】
【００１４】
図１は、本発明の実施例に係るテストパターン圧縮方法を実行するテストパターン圧縮システムの構成の例を示すブロック図である。
【００１５】
図１に示すテストパターン圧縮システムは、テスト記述言語を用いて記述されたテストデータを読み込んで、テストステップごとのテストパターンとそれに付随するテスト制御情報の組み合わせが同一のテストパターンには同一のコードを付与して、各テストステップのテストパターンをコードへ変換するコード変換部１と、コード変換部１により変換されたコードをノードとして、各ノード間を結ぶ枝にテストステップの進行方向に沿った向きを与えて有向グラフを作成する有向グラフ作成部２と、有向グラフ作成部２により作成された有向グラフのノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、圧縮記述を表すコードに再変換して、有向グラフを圧縮する有向グラフ圧縮部３と、有向グラフ圧縮部３により生成された圧縮有向グラフのノードを時系列順に辿り、その辿った順に各ノードに対応するコードを記述してコード列挙形式のテストデータを生成するコード列挙形式テストデータ生成部４と、各コードを元のテスト記述言語形式のパターンへ逆変換して、コード列挙形式のテストデータを圧縮記述形式のテストデータへ変換するコード逆変換部５と、を有する。
【００１６】
コード変換部１へは、コード変換条件が入力される。コード変換条件により、テストパターンに付随する様々なテスト制御情報のうちのどこまでを含めてコード化するか、圧縮記述のネスティングをどこまで実行するか、の指定が行われる。
【００１７】
また、読み込んだテストデータ中に元々圧縮記述が存在したときに、その圧縮記述部分を、コード変換の対象とするか、コード変換の対象から外すかについても、コード変換条件により指定される。
【００１８】
有向グラフ圧縮部３は、入力されたテスター制約条件に合わせて、圧縮記述のネスティングのレベルを設定することが可能である。
【００１９】
図２は、本発明の実施例に係るテストパターン圧縮方法の処理の流れの例を示すフロー図である。以下、この図２のフロー、および図３〜１２を参照して、本実施例におけるテストパターン圧縮処理の工程について説明する。
【００２０】
テストパターン圧縮処理を開始にあたっては、先ず、テスト記述言語を用いて記述されたテストデータの読み込み（工程Ｓ０１）、およびコード変換条件の読み込みを行う（工程Ｓ０２）。
【００２１】
続いて、コード変換条件に従って、読み込んだテストデータの各ステップのテストパターンをコードへ変換する（工程Ｓ０３）。
【００２２】
コード変換条件として、テストパターンに付随する様々なテスト制御情報のうちのどこまでを含めてコード化するか、圧縮記述のネスティングをどこまで実行するか、の指定を行うことができる。
【００２３】
テスト制御情報としては、参照するタイミング情報、テストパターン動作を制御するパターンインストラクション情報（一時停止命令や分岐命令、ＷＡＩＴ命令、レジスタセット等）、印加電位などのレベル情報、コメント情報、参照するラベル情報などがある。
【００２４】
図３に、コード化に含めるテスト制御情報の違いにより、変換されるコードが異なる例を示す。
【００２５】
図３（ａ）は、コード変換条件として、参照するタイミング情報およびラベル情報を含めてコード化するよう指定されたときの例である。
【００２６】
この場合、１ステップ目と２ステップ目では、テストパターンは同じであるが、参照タイミングが異なるため、異なるコード（例えば、１ステップ目はコードＣ１、２ステップ目はコードＣ２）への変換が行われる。
【００２７】
また、１ステップ目と４ステップ目では、テストパターンと参照タイミングは同じであるが、参照ラベルが異なるため、異なるコード（例えば、４ステップ目はコードＣ４）への変換が行われる。
【００２８】
これに対して、図３（ｂ）は、コード変換条件として、参照するタイミング情報のみを含めてコード化するよう指定されたときの例である。
【００２９】
この場合、１ステップ目と４ステップ目では、テストパターンと参照タイミングが同じであるので、参照ラベルの違いにかかわらず、同じコード（４ステップ目もコードＣ１）への変換が行われる。
【００３０】
また、コード変換条件により、読み込んだテストデータ中に元々圧縮記述が存在したときに、その圧縮記述部分を、コード変換の対象とするか、コード変換の対象から外すかについても、指定することができる。
【００３１】
圧縮記述部分をコード変換の対象とした場合、テストパターンの更なる圧縮が可能となる。一方、圧縮記述部分をコード変換の対象から外した場合、圧縮対象のデータ量が少なくなり、テストパターンの圧縮に要する時間を短縮することができる。
【００３２】
図４に、テストデータ中に存在する圧縮記述に対するコード変換条件の違いにより、変換されるコードが異なる例を示す。
【００３３】
図４（ａ）は、コード変換条件として、テストデータ中に存在する圧縮記述をコード変換の対象とするよう指定されたときの例である。この場合、３ステップ目の圧縮記述（Call  Procedure  A）もコード変換される。
【００３４】
一方、図４（ｂ）は、コード変換条件として、テストデータ中に存在する圧縮記述をコード変換の対象から外すよう指定されたときの例である。この場合、３ステップ目の圧縮記述はコード変換されない。
【００３５】
なお、コード変換の対象外とされた部分は、本フローの処理により最終的に生成されるテストデータの中にそのまま残される。
【００３６】
図２のフローに戻って、次に、変換されたコードをノードとして、各ノード間を結ぶ枝にテストステップの進行方向に沿った向きを与えて有向グラフを作成する（工程Ｓ０４）。
【００３７】
ここで、テストデータに対するコード変換の例を図５に示し、そのコード変換結果に対して有向グラフを作成した例を図６に示す。
【００３８】
図５に示すコード変換の例では、説明を簡単化するため、参照タイミングを総てＴ１としている。この例では、１８ステップのテストパターンをコード変換した結果、７種類のコード（Ｃ１〜Ｃ７）となり、図５では、ステップごとに、そのステップのテストパターンに対するコードをコード欄に記載している。
【００３９】
図６では、７種類のコードＣ１〜Ｃ７をノードで示し、ノード間を結ぶ枝を、テストステップの進行方向に沿って矢印で表わす。また、テストステップの進行の順番を矢印の横の［  ］内の数値で表わす。すなわち、コードＣ１からコードＣ２への遷移を［１］と表わし、コードＣ２からコードＣ３への遷移を［２］と表わす。
【００４０】
これにより、１つの枝（矢印）に対して複数の［  ］の数値が記されている場合は、テストステップの進行中にその枝を複数回辿ることがわかる。
【００４１】
図２のフローに戻って、次に、上述の有向グラフのノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るときは、そのルートに含まれるコードを、圧縮記述を表すコードに再変換して、有向グラフを圧縮する（工程Ｓ０５）。
【００４２】
このとき、そのルートに含まれるコードを、時系列で離散して辿るときはプロシージャ記述を表すコードに再変換し、時系列で連続して辿るときは繰り返し記述を表すコードに再変換する。
【００４３】
例えば、図６の有向グラフのノードをテストステップの１ステップ目から７ステップ目まで辿ると、図７に示すように、コードＣ１からコードＣ２へ向かう枝に［１］、［５］が記されるので、この枝を時系列で離散して２回辿ることがわかる。
【００４４】
そこで、このコードＣ１からコードＣ２へのテストステップの進行を、プロシージャ記述を表すコードに再変換する。その例を図８に示す。
【００４５】
すなわち、図８（ａ）に示すように、コードＣ１からコードＣ２へのテストステップの進行を“Procedure  A”とし、このプロシージャを呼び出す圧縮記述“Call  Procedure  A”に対するコードを、例えば、図８（ｂ）に示すように、コードＣＰ１２とする。
【００４６】
このコードＣＰ１２に再変換することにより、図７の有向グラフは、図８（ｃ）に示す有向グラフへ圧縮される。
【００４７】
図８（ｃ）に示す有向グラフへ圧縮後、さらにテストステップを１１ステップ目まで辿ると、図９（ａ）に示すように、コードＣ５からコードＣ５に向かう枝に［７］、［８］、［９］が記されるので、この枝を時系列で連続して３回辿ることがわかる。
【００４８】
そこで、このコードＣ５を繰り返すテストステップの進行を、図９（ｂ）に示すように、繰り返し記述“Loop  4  times”を表すコードＣ５Ｌ４に再変換する。
【００４９】
このコードＣ５Ｌ４に再変換することにより、図９（ａ）の有向グラフは、図９（ｃ）に示す有向グラフへ、さらに圧縮される。
【００５０】
図９（ｃ）に示す有向グラフへ圧縮後、テストステップを最後の１８ステップ目まで辿ったときの有向グラフを図１０（ａ）に示す。
【００５１】
図１０（ａ）に示す有向グラフでは、コードＣＰ１２への再変換によりコードＣ２がなくなったため、１１ステップ目から１２ステップ目へのテストステップの進行［１１］に対して、新たにコード２のノードを作成している。
【００５２】
この図１０（ａ）の有向グラフにおいて、コードＣ３からコードＣ６へ向かう枝、およびコードＣ６からコードＣ７へ向かう枝に、複数の［  ］の数値が記されているので、
これらの枝を辿るテストステップの進行を圧縮記述に変換できることがわかる。
【００５３】
この場合、コードＣ７からコードＣ３へ戻る枝の数値も含めて、各枝の数値が［１３］から［１７］まで連続しているので、この間のテストステップの進行を、繰り返しを表わす圧縮記述に変換することができる。
【００５４】
そこで、この繰り返しを、図１０（ｂ）に示すように、繰り返し記述“Loop  2  times”を表すコードＣ３６７Ｌ２に再変換するものとする。
【００５５】
このコードＣ３６７Ｌ２への再変換により、図１０（ａ）の有向グラフは、図１０（ｃ）に示す有向グラフへ、さらに圧縮される。
【００５６】
この図１０（ｃ）に示す有向グラフでは、各枝に、コード間の遷移を示す［  ］の数値が1つずつしか記されていないので、これ以上圧縮する箇所がないことがわかる。
【００５７】
そこで、図２に示すフローの次の工程へ進み、最終の圧縮有向グラフのノードを時系列順に辿り、その辿った順に各ノードに対応するコードを記述してコード列挙形式のテストデータを生成する（工程Ｓ０６）。
【００５８】
図１１に、図１０（ｃ）に示す圧縮有向グラフに対するコード列挙形式のテストデータの例を示す。
【００５９】
続いて、このコード列挙形式のテストデータの各コードを元のテスト記述言語形式のパターンへ逆変換する（工程Ｓ０７）。この逆変換により、圧縮記述形式に対するコードに対しては圧縮記述形式のテストパターンが生成される。
【００６０】
図１２に、図１１に示すコード列挙形式のテストデータに対する圧縮記述形式のテストデータの例を示す。
【００６１】
図１２（ａ）はテストパターン本体のデータであり、図１２（ａ）はプロシージャ記述に対するパターンである。
【００６２】
最後に、圧縮記述形式のテストデータを出力し（工程Ｓ０８）、本フローの処理を終了する。
【００６３】
なお、ここで示した例では、これ以上の圧縮はできないが、例えば、図１３に示すように、図１０（ｃ）に示す圧縮有向グラフと同じテストパターンの進行を示す圧縮有向グラフをさらに含むようなテストデータの場合、この部分をさらに１つのプロシージャ記述として、テストパターンをさらに圧縮することができる。
【００６４】
その例を図１４に示す。この例では、図１２（ａ）に示した圧縮記述形式のテストデータを、図１４（ａ）に示すように、“Procedure  B”と定義する。このプロシージャを、図１４（ｂ）に示すように、テストパターンの本体で呼び出す。
【００６５】
テストステップ数の多い長大なテストデータの場合、このような圧縮のネスティングを多重に行える可能性があるが、テスターによって扱えるネスティングのレベルが異なるので、ネスティングのレベルは、テスター制約にもとづいて設定する。
【００６６】
また、図１５に、コード変換対象外の指定をされたテストパターンを含むテストデータに対する処理結果のイメージを示す。
【００６７】
例えば、元々圧縮記述がされている部分などを圧縮処理の対象外としてそのまま残したい場合、その部分はコード変換対象外と指定される。この指定により、その部分は、上述のフローの圧縮処理の対象から外され、最終のテストデータの中にそのまま残される。
【００６８】
一方、圧縮処理の対象となる部分にはコードが付与され、テストステップが継続する部分ごとに有向グラフがそれぞれ作成され、圧縮記述への変換が行われる。
【００６９】
このような本実施例によれば、テストパターンをコード変換して有向グラフを作成し、その有向グラフのノードをテストステップの進行順に辿り、単一または連続する枝を複数回辿るかどうかを解析することにより、圧縮記述可能なテストパターンを抽出することができる。これにより、圧縮対象のパターンを限定することなく、テストパターンを圧縮記述形式のテストデータに変換することができ、高圧縮率のテストパターンを得ることができる。
【００７０】
また、コード変換条件を指定することにより、圧縮記述するテストパターンに組み合わせるテスト制御情報の種類を変更することができる。
【００７１】
また、圧縮のネスティングレベルなどをテスターの制約条件に合わせて設定することができるので、テスターへのインターフェースをスムーズに行うことができる。
【符号の説明】
【００７２】
１  コード変換部
２  有向グラフ作成部
３  有向グラフ圧縮部
４  コード列挙形式テストデータ生成部
５  コード逆変換部
【図１】
2010281796.tif 000003
【図２】
2010281796.tif 000004
【図３】
2010281796.tif 000005
【図４】
2010281796.tif 000006
【図５】
2010281796.tif 000007
【図６】
2010281796.tif 000008
【図７】
2010281796.tif 000009
【図８】
2010281796.tif 000010
【図９】
2010281796.tif 000011
【図１０】
2010281796.tif 000012
【図１１】
2010281796.tif 000013
【図１２】
2010281796.tif 000014
【図１３】
2010281796.tif 000015
【図１４】
2010281796.tif 000016
【図１５】
2010281796.tif 000017