(57)【要約】【課題】テスト回路の故障検出をおこなうことにより、テスト回路の試験時間の短縮化および試験対象回路におこなう試験の信頼性の向上を図ること。【解決手段】時刻１においてスキャンチェーンＣ０の入力端子ＳＩ０に信号値１が与えられると、入力端子ＳＩ０に入力された信号値１は、時刻２において１段目のスキャンＦＦ７０１にシフトし、時刻３において２段目のスキャンＦＦ７０２にシフトし、時刻４において３段目のスキャンＦＦ７０３にシフトし、時刻５において出力端子ＳＯ０に出力される。時刻４においてスキャンチェーンＣ１の入力端子ＳＩ１に信号値１が与えられると、入力端子ＳＩ１に入力された信号値１は、時刻５において１段目のスキャンＦＦ７１１にシフトし、時刻６において２段目のスキャンＦＦ７１２にシフトし、時刻７において３段目のスキャンＦＦ７１３にシフトし、時刻８において出力端子ＳＯ１に出力される。【選択図】        図７
2006010655.tif 000002
【特許請求の範囲】
【請求項１】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成装置において、
前記スキャンチェーンに関する情報の入力を受け付ける入力手段と、
前記入力手段によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成手段と、
前記スキャンチェーン入出力情報生成手段によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成手段と、
前記テスト回路入出力情報生成手段によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力手段と、
を備えることを特徴とする試験パターン生成装置。
【請求項２】
前記スキャンチェーン入出力情報生成手段は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を生成し、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成することを特徴とする請求項１に記載の試験パターン生成装置。
【請求項３】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験装置において、
前記スキャンチェーンに関する情報を入力する入力手段と、
前記入力手段によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成手段と、
前記スキャンチェーン入出力情報生成手段によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成手段と、
前記テスト回路入出力情報生成手段によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力手段と、
前記出力手段によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力手段によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証する検証手段と、
を備えることを特徴とするテスト回路試験装置。
【請求項４】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成方法において、
前記スキャンチェーンに関する情報を入力する入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力工程と、
を含んだことを特徴とする試験パターン生成方法。
【請求項５】
前記スキャンチェーン入出力情報生成工程は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を生成し、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成することを特徴とする請求項４に記載の試験パターン生成方法。
【請求項６】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験方法において、
前記スキャンチェーンに関する情報を入力する入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力工程と、
前記出力工程によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力工程によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証する検証工程と、
を含んだことを特徴とするテスト回路試験方法。
【請求項７】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成プログラムにおいて、
前記スキャンチェーンに関する情報を入力させる入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成させるスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成させるテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力させる出力工程と、
をコンピュータに実行させることを特徴とする試験パターン生成プログラム。
【請求項８】
前記スキャンチェーン入出力情報生成工程は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を生成させ、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成させることを特徴とする請求項７に記載の試験パターン生成プログラム。
【請求項９】
複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験プログラムにおいて、
前記スキャンチェーンに関する情報を入力させる入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成させるスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成させるテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力させる出力工程と、
前記出力工程によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力工程によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証させる検証工程と、
をコンピュータに実行させることを特徴とするテスト回路試験プログラム。
【請求項１０】
請求項７〜９のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、テスト回路をテストする試験パターンを生成し、また、生成された試験パターンを用いてテスト回路をテストする試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来から、ＬＳＩなどの集積回路の製造不良を検出する試験手法が提案されている。たとえば、論理シミュレータを用いて試験パターンを検証する場合、通常はスキャンシフトの正常動作を前提にしたスキャンシフトパラレルシミュレーションをおこなっている。
【０００３】
また、下記特許文献１の集積回路の試験装置および試験方法では、集積回路中に組み込まれて試験パターンを発生するパターン発生器と、集積回路内部の順序回路素子で形成した複数のシフトレジスタと、パターン発生器によって発生された試験パターンを外部入力により修正してから複数のシフトレジスタに入力するパターン修正器とを備えている。
【０００４】
この特許文献１の集積回路の試験装置および試験方法では、高品質なテストを短時間で実行できるようにするほか、設計者に厳しい設計規約を課すことなく且つ高価なテスタを必要とすることなく高品質なテストをおこなうことができる。
【０００５】
【特許文献１】特開２００２−２３６１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、現在の大規模回路において、上述したスキャンシフトパラレルシミュレーションをおこなわない場合には、実用的な実行時間で試験パターンを検証することは不可能であるという問題があった。
【０００７】
また、上述した特許文献１の集積回路の試験装置および試験方法では、従来のスキャン設計において外部端子に存在していたスキャンデータ入力端子が、直接外部ピンに接続されていないため、スキャンシフトの動作試験をおこなうことができないという問題があった。
【０００８】
また、テスト回路は、ＳＣＡＮ手法と比較してテスト回路部分のゲート数が大きく、存在しうる故障も多くなる。一方、ＡＴＰＧプログラムは、試験対象回路の試験パターンを作成することはできるが、試験装置そのものであるテスト回路部分の試験パターンを作成することができないため、試験の信頼性が低下しているという問題があった。さらに、従来手法では、テスト回路の故障検出をおこなう手段が存在していなかった。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、テスト回路の故障検出をおこなうことにより、テスト回路の試験時間の短縮化および試験対象回路におこなう試験の信頼性の向上を図ることができる試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、この発明にかかる試験パターン生成装置、試験パターン生成方法、試験パターン生成プログラムおよび記録媒体は、複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成装置、試験パターン生成方法、試験パターン生成プログラムおよび記録媒体において、前記スキャンチェーンに関する情報を入力し、入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成し、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成し、前記テスト回路の入力および出力に関する情報を出力することを特徴とする。
【００１１】
また、上記発明において、前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値（たとえば、信号値「１」。）が入力される第１の入力パターンを時系列的に表現した第１の入力行列（内部入力行列）を、前記スキャンチェーンの入力に関する情報として生成し、前記複数のスキャンチェーンに前記入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列（内部出力行列）を、前記スキャンチェーンの出力に関する情報として生成することとしてもよい。
【００１２】
また、上記発明において、時刻ごとの前記第１の入力パターンの論理和の値と、時刻ごとに前記テスト信号値が存在するスキャンチェーンを特定する値と、を含む第２の入力パターンを時系列的に表現した第２の入力行列（外部入力行列）を、前記テスト回路の入力に関する情報として生成し、時刻ごとの前記第１の出力パターンの排他的論理和の値からなる第２の出力パターンを、時系列的に表現した第２の出力行列（外部出力行列）を、前記テスト回路の出力に関する情報として生成することとしてもよい。
【００１３】
また、上記発明において、入力試験パターンおよび出力試験パターンは、前記複数のスキャンチェーンのスキャンシフトの動作に関する試験パターンとしてもよく、また、前記テスト回路に含まれているデコーダ、パターン修正器、不定マスク器、出力検証器、またはスペースコンパクタのうちいずれか一つの回路の動作に関する試験パターンとしてもよい。
【００１４】
また、この発明にかかるテスト回路試験装置、テスト回路試験方法、テスト回路試験プログラムおよび記録媒体は、複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験装置、テスト回路試験方法、テスト回路試験プログラムおよび記録媒体において、前記スキャンチェーンに関する情報を入力し、入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成し、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成し、前記テスト回路の入力および出力に関する情報を出力し、出力された前記テスト回路の入力に関する情報（入力試験パターン）が前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、出力された前記テスト回路の出力に関する情報（出力試験パターン）と、に基づいて、前記テスト回路を検証することを特徴とする。
【００１５】
上記発明によれば、テスト回路の入力に関する情報が、テスト回路を試験するためにテスト回路に入力される入力試験パターンとなり、テスト回路の出力に関する情報が、テスト回路から出力される出力パターンと比較される出力期待値（出力試験パターン）となる。このように、スキャンシフト動作の検証用の試験パターンを生成することによりスキャンシフトの正常動作を前提とする高速シミュレーションを実行することができる。また、ＡＴＰＧプログラムでは検証できなかったテスト回路内のデコーダ、スペースコンパクタ、パターン修正器、不定マスク器、出力検証器の動作試験と故障検出をおこなうことができる。
【発明の効果】
【００１６】
本発明にかかる試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体によれば、テスト回路の故障検出をおこなうことにより、試験対象回路におこなう試験の信頼性の向上を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
【００１８】
（実施の形態）
（テスト回路試験装置の概略構成）
まず、この発明の実施の形態にかかるテスト回路試験装置の概略構成について説明する。図１は、この発明の実施の形態にかかるテスト回路試験装置の概略構成を示すブロック図である。図１において、テスト回路試験装置１００は、集積回路１０１内におけるテスト回路（入力側テスト回路１０２、出力側テスト回路１０３）をテストする。
【００１９】
また、集積回路１０１は、テスト回路（入力側テスト回路１０２、出力側テスト回路１０３）と、試験対象回路１０４と、テスト制御回路１０５と、から構成されている。試験対象回路１０４は、搭載される製品の機能を実現する回路であり、スキャンＦＦなどの順序回路素子を含む構成とされている。試験対象回路１０４は、後述するように、この順序回路素子によって構成される複数のスキャンチェーンを備えている。
【００２０】
テスト回路（入力側テスト回路１０２、出力側テスト回路１０３）は、順序回路や組み合わせ回路などから構成されており、試験対象回路１０４のテストをおこなう。入力側テスト回路１０２は、試験対象回路１０４に信号パターンを出力し、出力側テスト回路１０３は試験対象回路１０４から出力されてくる信号パターンを入力する。テスト制御回路１０５は、たとえば、ＴＡＰコントローラによって構成されており、所定のシーケンスによってテスト回路を制御する。
【００２１】
（試験対象回路１０４の具体的構成）
つぎに、この発明の実施の形態にかかる試験対象回路１０４の具体的構成について説明する。図２は、この発明の実施の形態にかかる試験対象回路１０４の具体的構成を示す説明図である。図２において、試験対象回路１０４は、データを伝搬させる複数本（図２ではｎ本）のスキャンチェーンＣを有している。各スキャンチェーンＣ０、Ｃ１、・・・、Ｃn-1は、複数のスキャンＦＦを直列に接続したシフトレジスタである。
【００２２】
スキャンチェーンＣ（Ｃ０、Ｃ１、・・・、Ｃn-1）は、それぞれスキャンＦＦの数、すなわち段数（チェーン長ともいう）を有する。また、スキャンチェーンＣの本数は、入力側テスト回路１０２のテスト入力ピンの本数または出力側テスト回路１０３のテスト出力ピンの本数よりも多く、たとえば、スキャンチェーンＣの本数が２５６本に対し、テスト入力（出力）ピンの本数は、１０本程度とされている。
【００２３】
（入力側テスト回路１０２のハードウェア構成）
つぎに、この発明の実施の形態にかかる入力側テスト回路１０２のハードウェア構成について説明する。図３は、この発明の実施の形態にかかる入力側テスト回路１０２のハードウェア構成を示すブロック図である。図３において、入力側テスト回路１０２は、入力側ＡＴＧＢＩＳＴ回路であり、具体的には、デコーダ３０１と、パターン発生器３０２と、パターン修正器３０３と、クロック発生器３０４と、から構成されている。
【００２４】
デコーダ３０１は、後述する試験パターン生成装置から出力された試験パターンをデコードし、このデコード結果により、パターン修正器３０３の修正ビットを指定する。パターン発生器３０２は、リニアフィードバックシフトレジスタ（以下、「ＬＦＳＲ」という。）３０５と、フェイズシフタ３０６と、から構成され、ＬＦＳＲ３０５が、クロック発生器３０４からのクロック信号ＣＫ１に同期して、擬似ランダムパターンを生成し、フェイズシフタ３０６を介してパターン修正器３０３に出力する。
【００２５】
パターン修正器３０３は、パターン発生器３０２で発生された擬似ランダムパターンに対して、デコーダ３０１のデコード結果によって指定されたビットを修正する。修正されたパターンは、スキャンチェーンＣに出力される。クロック発生器３０４は、ＬＦＳＲ用クロック信号ＣＫ１、パターン修正器用クロック信号ＣＫ２、不定マスク器用クロック信号ＣＫ３および出力検証器用クロック信号ＣＫ４を生成して、それぞれＬＦＳＲ３０５、不定マスク器４０２（図４を参照。）、出力検証器４０３（図４を参照。）に出力する。
【００２６】
（出力側テスト回路１０３のハードウェア構成）
つぎに、この発明の実施の形態にかかる出力側テスト回路１０３のハードウェア構成について説明する。図４は、この発明の実施の形態にかかる出力側テスト回路１０３のハードウェア構成を示すブロック図である。図４において、出力側テスト回路１０３は、出力側ＡＴＧＢＩＳＴ回路であり、具体的には、デコーダ４０１と、不定マスク器４０２と、出力検証器４０３と、スペースコンパクタ４０４と、から構成されている。
【００２７】
デコーダ４０１は、後述する試験パターン生成装置から出力された試験パターンをデコードし、このデコード結果により、不定マスク器４０２のマスクビットを指定する。不定マスク器４０２は、クロック発生器３０４からの不定マスク器用クロック信号ＣＫ３に同期して、スキャンチェーンＣからの出力パターンを入力し、この出力パターンのうち、デコーダ４０１によって指定されたマスクビットをマスクする。
【００２８】
出力検証器４０３は、たとえば、ＭＩＳＲ（Multiple Input Signature Register）であり、不定マスク器４０２からの出力パターンを１ｂｉｔ信号に圧縮し、テスト制御回路１０５に出力する。たとえば、不定マスク器４０２からの２５６ｂｉｔの出力パターンを、１ｂｉｔずつ順次テスト制御回路１０５に出力する。スペースコンパクタ４０４は、ＥＯＲツリーによって構成され、不定マスク器４０２からの出力パターンを、たとえば１０ｂｉｔ信号に圧縮し、図示しないテスタに出力する。
【００２９】
（テスト回路試験装置１００のハードウェア構成）
つぎに、この発明の実施の形態にかかるテスト回路試験装置１００のハードウェア構成について説明する。図５は、この発明の実施の形態にかかるテスト回路試験装置１００のハードウェア構成を示すブロック図である。
【００３０】
図５において、テスト回路試験装置１００は、ＣＰＵ５０１と、ＲＯＭ５０２と、ＲＡＭ５０３と、ＨＤＤ（ハードディスクドライブ）５０４と、ＨＤ（ハードディスク）５０５と、ＦＤＤ（フレキシブルディスクドライブ）５０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）５０７と、ディスプレイ５０８と、Ｉ／Ｆ（インターフェース）５０９と、キーボード５１０と、マウス５１１と、スキャナ５１２と、プリンタ５１３と、を備えている。また、各構成部はバス５００によってそれぞれ接続されている。
【００３１】
ここで、ＣＰＵ５０１は、テスト回路試験装置１００の全体の制御を司る。ＲＯＭ５０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ＨＤＤ５０４は、ＣＰＵ５０１の制御にしたがってＨＤ５０５に対するデータのリード／ライトを制御する。ＨＤ５０５は、ＨＤＤ５０４の制御で書き込まれたデータを記憶する。
【００３２】
ＦＤＤ５０６は、ＣＰＵ５０１の制御にしたがってＦＤ５０７に対するデータのリード／ライトを制御する。ＦＤ５０７は、ＦＤＤ５０６の制御で書き込まれたデータを記憶したり、ＦＤ５０７に記憶されたデータをテスト回路試験装置１００に読み取らせたりする。
【００３３】
また、着脱可能な記録媒体として、ＦＤ５０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ５０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ５０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３４】
Ｉ／Ｆ５０９は、通信回線を通じてインターネットなどのネットワーク５１４に接続され、このネットワーク５１４を介して他の装置に接続される。そして、Ｉ／Ｆ５０９は、ネットワーク５１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３５】
キーボード５１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス５１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３６】
スキャナ５１２は、画像を光学的に読み取り、テスト回路試験装置１００内に画像データを取り込む。なお、スキャナ５１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ５１３は、画像データや文書データを印刷する。プリンタ５１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３７】
（テスト回路試験装置１００の機能的構成）
つぎに、この発明の実施の形態にかかるテスト回路試験装置１００の機能的構成について説明する。図６は、この発明の実施の形態にかかるテスト回路試験装置１００の機能的構成を示すブロック図である。図６において、テスト回路試験装置１００は、試験パターン生成装置６００と、検証部６１０と、から構成されている。
【００３８】
試験パターン生成装置６００は、記憶部６０１と、入力部６０２と、スキャンチェーン入出力情報生成部６０３と、テスト回路入出力情報生成部６０４と、出力部６０５と、から構成されている。記憶部６０１には、試験対象回路１０４のスキャンチェーンＣに関する情報が記憶されている。具体的には、試験対象回路１０４ごとに、スキャンチェーンＣの本数やスキャンチェーンＣごとの段数（チェーン長）が記憶されている。
【００３９】
入力部６０２は、抽出部６０６と、受信部６０７と、を備えている。抽出部６０６は、記憶部６０１に記憶されているスキャンチェーンＣに関する情報の集合の中から、今回試験をおこなう試験対象回路１０４のスキャンチェーンＣに関する情報を抽出する。また、受信部６０７は、ネットワーク５１４を介して、今回試験をおこなう試験対象回路１０４のスキャンチェーンＣに関する情報を外部サーバから受信する。
【００４０】
また、スキャンチェーン入出力情報生成部６０３は、入力部６０２によって入力されたスキャンチェーンＣに関する情報に基づいて、スキャンチェーンＣの入力および出力に関する情報を生成する。具体的には、スキャンチェーンＣに入力（スキャンイン）される入力パターンをあらわす内部入力行列と、スキャンチェーンＣから出力（スキャンアウト）される出力パターンをあらわす内部出力行列と、を生成する。
【００４１】
また、テスト回路入出力情報生成部６０４は、スキャンチェーン入出力情報生成部６０３によって生成された、スキャンチェーンＣの入力および出力に関する情報に基づいて、テスト回路の入力および出力に関する情報を生成する。具体的には、入力側テスト回路１０２に入力される入力試験パターンをあらわす外部入力行列と、出力側テスト回路１０３から出力される出力パターンを検証するための出力試験パターンをあらわす外部出力行列と、を生成する。
【００４２】
ここで、内部入力行列、内部出力行列、外部入力行列、および外部出力行列について具体的に説明する。ここでは、簡略化のため、スキャンチェーンＣの本数を２本、各スキャンチェーン段数を３段とした場合について説明する。図７は、時刻ごとにおけるスキャンＦＦの内部状態とスキャンチェーンＣに入力される信号値を示す説明図である。
【００４３】
図７において、時刻０は初期状態であり、入力端子ＳＩ０，ＳＩ１には信号が与えられていない。時刻「１」において、スキャンチェーンＣ０の入力端子ＳＩ０に信号値「１」が与えられると、入力端子ＳＩ０に入力された信号値「１」は、時刻「２」において、１段目のスキャンＦＦ７０１にシフトし、時刻「３」において、２段目のスキャンＦＦ７０２にシフトし、時刻「４」において、３段目のスキャンＦＦ７０３にシフトし、時刻「５」において、出力端子ＳＯ０に出力される。
【００４４】
一方、時刻「４」において、スキャンチェーンＣ１の入力端子ＳＩ１に信号値「１」が与えられると、入力端子ＳＩ１に入力された信号値「１」は、時刻「５」において、１段目のスキャンＦＦ７１１にシフトし、時刻「６」において、２段目のスキャンＦＦ７１２にシフトし、時刻「７」において、３段目のスキャンＦＦ７１３にシフトし、時刻「８」において、出力端子ＳＯ１に出力される。そして、時刻「９」において、初期状態に戻る。
【００４５】
ここで、入出力行列について説明する。図８は、この発明の実施の形態にかかる入出力行列を示す図表である。図８において、左欄には、図７に示したスキャンＦＦの内部状態を行列表現した内部入出力行列が記述されている。一方、右欄には、外部入出力行列が記述されている。右欄において、テスト回路入力端子ＴＤＩの信号値は、スキャンチェーン入力端子に入力された信号値の論理和である。すなわち、いずれのスキャンチェーン入力端子ＳＩ０、ＳＩ１に、信号値「１」が入力されない状態では「０」、スキャンチェーン入力端子ＳＩ０、ＳＩ１のうち少なくともいずれか一方のスキャンチェーン入力端子に信号値「１」が入力される状態では「１」が入力される。
【００４６】
また、テスト回路入力端子ＸＭＡＳＫは、不定マスク器４０２の使用フラグである。テスト回路入力端子ＳＤＩの信号値は、信号値「１」が与えられたスキャンチェーン入力端子の端子番号をあらわしており、この例では、スキャンチェーンが２本であるため、１ｂｉｔで表現することができる。この端子番号に対応するスキャンチェーンの値が不定マスク器４０２によって反転される。
【００４７】
また、テスト回路入力端子ＳＤＩの信号値は、テスト回路入力端子ＴＤＩの信号値が「１」の場合のみ、有効である。したがって、時刻「０」では、テスト回路入力端子ＳＤＩの信号値が「０」であるため、０番目のスキャンチェーンの値が反転対象となるが、テスト回路入力端子ＴＤＩの信号値が「０」であるため、０番目のスキャンチェーンの値が不定マスク器４０２によって反転されない。
【００４８】
一方、時刻「１」では、テスト回路入力端子ＴＤＩの信号値が「１」であるため、０番目のスキャンチェーンの値を反転させる。これらテスト回路入力端子ＴＤＩ，ＸＭＡＳＫ，ＳＤＩの値が、外部入力行列、すなわち、テスト回路に入力される入力試験パターンとなる。
【００４９】
また、テスト回路出力端子ＳＤＯの値は、スキャンチェーン出力端子ＳＯ０、ＳＯ１のＥＯＲ（排他的論理和）によって算出する。このテスト回路出力端子ＳＤＯの値が、外部出力行列、すなわち、テスト回路の出力試験パターン（期待値）となる。
【００５０】
また、図６において、出力部６０５は、テスト回路入出力情報生成部６０４によって生成された、テスト回路の入力および出力に関する情報を、入力試験パターンおよび出力試験パターンとして出力する。具体的には、出力部６０５は、テスト回路入出力情報生成部６０４によって生成された外部入力行列を、入力試験パターンとして入力側テスト回路１０２に出力する。一方、テスト回路入出力情報生成部６０４によって生成された外部出力行列を、出力試験パターンとして検証部６１０に出力する。
【００５１】
また、検証部６１０は、出力部６０５によって出力された入力試験パターンがテスト回路に入力された結果、複数のスキャンチェーンＣを介してテスト回路から出力される出力パターンと、出力部６０５によって出力された出力試験パターンと、に基づいて、テスト回路を検証する。具体的には、複数のスキャンチェーンＣを介してテスト回路から出力される最後の出力パターンについての出力検証器４０３からの出力信号と、出力試験パターンとを比較する。そして、一致する場合は、故障ありと判断され、不一致の場合は故障なしと判断される。検証部６１０は、テスト制御回路１０５内に備えていても良い。
【００５２】
なお、上述した記憶部６０１は、具体的には、たとえば、図５に示したＲＡＭ５０３、ＨＤ５０５、ＦＤ５０７などの読み書き可能な記録媒体によってその機能を実現する。また、上述した入力部６０２、スキャンチェーン入出力情報生成部６０３、テスト回路入出力情報生成部６０４、出力部６０５、および検証部６１０、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、ＨＤ５０５、ＦＤ５０７等に記録されたプログラムを、ＣＰＵ５０１が実行することによってその機能を実現する。
【００５３】
（試験パターン生成例）
つぎに、この発明の実施の形態にかかる試験パターンの生成例について説明する。まずスキャンシフト動作検証用の試験パターン生成例について説明する。
【００５４】
（スキャンシフト動作検証用の試験パターン生成例）
スキャンシフト動作の検証においては、スキャンチェーンＣに含まれるすべてのスキャンＦＦに“０”と“１”が交互に入力される外部入力を発生する。この入力された値がすべてのスキャンＦＦでシフトされた後にスキャンアウトされていることを、外部出力値（外部出力行列）で確認する。このようなパターンによりスキャンシフトの動作確認と信号遷移（０→１，１→０)の動作確認をおこなうことができる。さらにスキャンチェーンＣのシフト動作に関わる故障を検出することが可能である。
【００５５】
スキャンシフト動作の検証のためのパターン生成においては、まず、スキャンチェーンＣの入力をあらわす行列（内部入力行列）とスキャンチェーンＣの出力をあらわす行列（内部出力行列）を生成する。図９は、スキャンチェーンＣの本数が２本、段数（チェーン長）がそれぞれ４および２の場合の、内部入力行列および内部出力行列を示す説明図である。
【００５６】
この内部入力行列および内部出力行列は、スキャンチェーンＣの位置（チェーン番号）を行、入力する時間を列とした行列である。同じサイクル（時刻）に入力した信号であっても、チェーン長が異なる場合にはシフトアウトされるサイクルが異なることを意識した内部出力行列を作る。入力値の配置の上での工夫としてはスキャンシフト動作において最も厳しいタイミングを検証するために連続したシフト動作をおこなう。そのため一回のスキャンシフト動作においては複数箇所に“１”が現れないように配置する。
【００５７】
このため、次の手法で内部入力行列を生成する。各スキャンチェーンＣのチェーン長（段数）を記述したリストを作成する。このリストを、配列subchainとする。このリストは、すでに与えられているデータであり、スキャンチェーン情報に相当する。したがって、上述した記憶部６０１または外部サーバに記憶されている。
【００５８】
ここで、スキャンチェーンＣの位置をあらわすチェーン番号（ＩＤ）と、リスト「配列subchain」とに基づいて、スキャンチェーンの長い順に、ＩＤをソートすることにより、配列subchain_sortを生成する。この配列subchain_sortを生成することにより、ｎ番目に長いスキャンチェーンおよびそのチェーン長（段数）を容易に検出することができる。以下に具体例を示す。図１０は、この発明の実施の形態にかかるＩＤおよびチェーン長の対応表である。
【００５９】
図１０において、配列subchainは、ＩＤ順により、subchain（１８９，４５，８７，９０，１０）となる。右辺はチェーン長である。
subchain［０］＝１８９
subchain［１］＝４５
subchain［２］＝８７
subchain［３］＝９０
subchain［４］＝１０
【００６０】
また、配列subchainをチェーン長が長いＩＤ順にソートした配列subchain_sortは、subchain_sort（０，３，２，１，４）となる。右辺はＩＤである。
subchain_sort［０］＝０
subchain_sort［１］＝３
subchain_sort［２］＝２
subchain_sort［３］＝１
subchain_sort［４］＝４
【００６１】
ここで、
ｊ＝subchain_sort［ｉ］
ｋ＝subchain［ｊ］
ｘ＝最大スキャンチェーン長
ｚ＝スキャンチェーン本数
と定義する。なお、ｉは、ｉ＝０，１，２，３，４．．．、ｋはｉ番目に長いスキャンチェーンのチェーン長をあらわしている。
【００６２】
時刻Ｔin（Ｔin＝３×ｉ＋ｘ−ｋ＋ｉ）にスキャンインされたデータは、時刻Ｔout（
Ｔout＝３×ｉ＋ｘ＋ｉ）にスキャンアウトされる。ｉについて、ｉ＝０からｉ＝ｚ−１
までの数を上記時刻Ｔinおよび時刻Ｔoutに代入し、内部入力行列の座標（j，３×ｉ＋ｘ−ｋ＋１）および内部出力行列の座標（j，３×ｉ＋ｘ＋１）に信号値「１」を入れ、それ以外の座標に信号値「０」を入れることにより、スキャンシフト動作においては同時刻に複数箇所に“１”が現れず、かつ、スペースコンパクタ４０４の期待値からの問題箇所の特定が容易となる内部入出力行列を生成することができる。
【００６３】
これは、時刻Ｔoutに出力されるように入力する時間を逆算する手法である。この計算式により内部出力行列に設定される信号は不要な間隔をおかずに、各スキャンチェーンから順番に０→１→０の信号が出力される。さらに、修正箇所が重複しないようにスキャンチェーンの長い順に入力をおこなう。この例で示したスキャンチェーン構成において生成された内部入出力行列を図１１に示す。
【００６４】
図１１は、スキャンチェーン構成において生成された内部入出力行列の一例を示す説明図である。この内部入出力行列を用いて、上述した手法により、外部入出力行列を生成する。これにより、スキャンシフト動作試験用の入力試験パターンおよび出力試験パターンを生成することができる。
【００６５】
（デコーダ３０１，４０１の動作試験および故障検出用の試験パターン生成例）
つぎに、デコーダ３０１，４０１の動作試験および故障検出の試験パターン生成例について説明する。デコーダ３０１，４０１の動作試験および故障検出の試験パターンは、上述のスキャンシフト動作用の試験パターンを入力する際にすべての状態を網羅することができる。すべてのスキャンチェーンＣに“1”を入力するため、デコーダ３０１，４０１に全通りの入力がなされるからである。
【００６６】
（スペースコンパクタ４０４の動作試験および故障検出用の試験パターン生成例）
上述したスキャンシフト動作検証用の試験パターンにより、スペースコンパクタ４０４の故障を検出することができる。たとえば、入力値の配置における工夫としては、スペースコンパクタ４０４の入力に複数のスキャンチェーンＣからの出力が「１」とならないように内部入出力行列を生成することが挙げられる。
【００６７】
図１２は、スペースコンパクタ４０４のハードウェア構成を示すブロック図である。スペースコンパクタ４０４は、上述したように、ＥＯＲゲートをツリー構造にした回路である。スペースコンパクタ４０４の入力がすべて「０」の場合、すなわち、入力パターンがパターンａの場合、図１２内のすべての１縮退故障を検出することができる。
ことができる。
【００６８】
また、スペースコンパクタ４０４の入力のうち１つだけが「１」の場合、すなわち、入力パターンがパターンｂの場合、図１２中、矢印ＳＡで示したパスの０縮退故障を検出することができる。スペースコンパクタ４０４の入力はスキャンチェーンＣからシフトアウトされた信号が入力される。すべての入力においてその入力だけが「１」であるようなパターンが入力されるため、スペースコンパクタ４０４の大部分の故障を検出することが可能である。
【００６９】
また、図１１の内部出力行列に示したとおり、スキャンシフト動作試験パターンでシフトアウトされる内部出力信号は、同時に複数のスキャンチェーンＣが“１”となる組み合わせは存在しない。さらに、スペースコンパクタ４０４内のすべての信号線の０→１→０の信号遷移が発生する。したがって、スペースコンパクタ４０４から外部出力にかけてのタイミングの検証をおこなうことが可能である。
【００７０】
（パターン修正器３０３の検証用の試験パターン生成例）
つぎに、パターン修正器３０３の検証用の試験パターン生成例について説明する。図１３〜図１５は、パターン修正器３０３内の１ｂｉｔ分の内部回路を示すブロック図である。この１ｂｉｔ分の内部回路１３００内には修正情報を保持するためのＦＦ１３０１が存在する。パターン修正器３０３の動作で重要な動作は、図１４に示すように、デコーダ３０１からの入力信号をスキャンパスへ伝播するパスにおいて、内部のＦＦ１３０１を使用せずに、デコーダ３０１から入力するパターンを使用するケース（図１４中、太線で示した矢印のパス１）と、図１５に示すように、ＦＦ１３０１に値を格納したあと、スキャンパスへ伝播するパス（図１５中、太線で示した矢印のパス２）の２つである。
【００７１】
この２つの動作を、パターン修正器３０３の各ｂｉｔの内部回路で網羅するような試験パターンを生成する。図１４に示したパス１の場合、スキャンシフト動作試験パターンで同じ条件を満たす試験パターンを用いているため、ここでは生成しなくてもよい。以下は図１４に示したパス１および図１５に示したパス２の両方のパスを検証する例を示す。具体的には次の手順で内部入出力行列を生成する。
【００７２】
ｘ＝最大スキャンチェーン長
ｚ＝スキャンチェーン本数
ｊ１＝ｉ
ｊ２＝（ｉ＋１）×ｍｏｄ（ｚ）
ｋ１＝subchain［ｊ１］
ｋ２＝subchain［ｊ２］
と定義する。
【００７３】
subchainは、各スキャンチェーンＣの長さを記述した配列である。このリストはすでに与えられているデータであり、スキャンチェーン情報に相当する。したがって、上述した記憶部６０１または外部サーバに記憶されている。
【００７４】
図１０の表に示した例を用いると、ｉについてｉ＝０からｉ＝ｚ−１までの数を上記時刻Ｔinおよび時刻Ｔoutに代入し、内部入力行列の座標（ｊ１，ｉ），（ｊ２，ｉ）と、内部出力行列の座標（ｊ１，ｉ＋ｋ１），（ｊ２，ｉ＋ｋ２）に信号値「１」を、それ以外の座標に信号値「０」を入れることにより、内部行列を作成する。この場合の内部入出力行列を示す。図１６は、パターン修正器３０３用の内部入出力行列を示す説明図である。なお、行列内において、特に明記されていない箇所の値は「０」である。
【００７５】
（不定マスク器４０２の動作試験および故障検出用の試験パターン生成例）
つぎに、不定マスク器４０２の動作試験および故障検出用の試験パターン生成例について説明する。図１７〜図１９は、不定マスク器４０２内の１ｂｉｔ分の内部回路を示すブロック図である。不定マスク器４０２の内部回路１７００内には、マスク情報を保持するためのＦＦ１７０１が存在する。
【００７６】
不定マスク器４０２の動作で重要な動作は、図１８に示すように、内部のＦＦ１７０１を使用せずデコーダ４０１から入力するパターンを使用するケース（図１８中、太線で示した矢印のパス３）と、図１９に示すように、一旦ＦＦ１７０１に値を格納した後、出力検証器４０３へ伝播するパス（図１９中、太線で示した矢印のパス４）の２つのパスである。この２つの動作を不定マスク器４０２の各ｂｉｔの内部回路で網羅する試験パターンを生成する。
【００７７】
以下に説明する手法は、同時刻に複数箇所に“１”が設定されているスキャンチェーンＣのうち、チェーン番号（ＩＤ）が一番小さいスキャンチェーンＣについては、図１８に示したパス３が動作する場合の例を示している。生成される試験パターンは、以下の条件を満たすものとなる。
（１）同時刻に２ヶ所以上のスキャンチェーンＣに"１"が設定されている。
（２）それぞれのスキャンチェーンＣが“１”が設定されている最小チェーン番号になる複数の試験パターンを生成する。
【００７８】
具体的には次の手順で内部入出力行列を生成する。
ｘ＝最大スキャンチェーン長
ｚ＝スキャンチェーン本数
ｊ１＝ｉ
ｊ２＝（ｉ＋１）× ｍｏｄ（ｚ）
と定義する。
【００７９】
ｉについてｉ＝０からｉ＝ｚ−１までの数を上記時刻Ｔinおよび時刻Ｔoutに代入し、内部入力行列の座標（ｊ１，ｉ），（ｊ２，ｉ）と、内部出力行列の座標（ｊ１，ｉ＋ｋ１），（ｊ２，ｉ＋ｋ２）に信号値「１」を、それ以外の座標に信号値「０」を入れることにより、内部行列を作成する。この例で示したスキャンチェーン構成において生成された内部入出力行列を示す。図２０は、不定マスク器４０２用の内部入出力行列を示す説明図である。なお、行列内において、特に明記されていない箇所の値は「０」である。
【００８０】
（出力検証器４０３の動作試験用の試験パターン生成例）
つぎに、出力検証器４０３の動作試験用の試験パターン生成例について説明する。出力検証器４０３においては、上述したスキャンシフト動作検証用の試験パターン、デコーダ３０１の動作試験および故障検出用の試験パターン、スペースコンパクタ４０４の動作試験および故障検出用の試験パターン、パターン修正器３０３の検証用の試験パターン、および不定マスク器４０２の動作試験および故障検出用の試験パターンを動作させた後に、出力検証器４０３に記憶されている信号値を算出する。算出された値が外部端子にシフトアウトしたときの値を、外部端子の出力期待値とする。この出力期待値が出力試験パターンとなる。
【００８１】
（テスト回路試験処理手順）
つぎに、この発明の実施の形態にかかるテスト回路試験処理手順について説明する。図２１は、この発明の実施の形態にかかるテスト回路試験処理手順を示すフローチャートである。図２１において、まず、試験対象回路１０４のスキャンチェーン情報を入力する（ステップＳ２１０１）。つぎに、入力されたスキャンチェーン情報から、上述した手法により、内部入出力行列を生成する（ステップＳ２１０２）。
【００８２】
そして、時刻ごとの内部入力行列の値、すなわち、図８に示したスキャンチェーン入力端子ＳＩ０，ＳＩ１の値の論理和を算出することにより、外部入力行列のテスト回路入力端子ＴＤＩの値を算出する（ステップＳ２１０３）。また、不定マスク器４０２の使用フラグを設定する（ステップＳ２１０４）。
【００８３】
さらに、スキャンチェーン入力端子ＳＩ０，ＳＩ１に信号値「１」が入力されたスキャンチェーンのチェーン番号（ＩＤ）を検出する（ステップＳ２１０５）。これらの値が外部入力行列、すなわち、入力試験パターンとなる。また、時刻ごとの内部出力行列のＥＯＲ（排他的論理和）を算出することにより、外部出力行列、すなわち、出力期待値となる出力試験パターンを生成する（ステップＳ２１０６）。
【００８４】
そして、生成された入力試験パターンをテスト回路に対して時系列に出力する（ステップＳ２１０７）。テスト回路では、入力側テスト回路１０２に入力された入力試験パターンが、スキャンチェーンを介して出力側テスト回路１０３に入力され、出力検証器４０３から出力パターンが出力される。
【００８５】
この出力パターンと、出力期待値となる出力試験パターンとに基づいて、テスト回路の検証をおこなう（ステップＳ２１０８）。すなわち、出力パターンと出力期待値となる出力試験パターンとが一致する場合（ステップＳ２１０９：Ｙｅｓ）、テスト回路の動作は正常であり、故障なしと判定される（ステップＳ２１１０）。一方、出力パターンと出力期待値となる出力試験パターンとが不一致の場合（ステップＳ２１０９：Ｎｏ）、動作が異常であり、故障ありと判定される（ステップＳ２１１１）。
【００８６】
このように、この発明の実施の形態にかかるテスト回路試験装置１００によれば、スキャンシフト動作の検証用の試験パターンを生成することによりスキャンシフトの正常動作を前提とする高速シミュレーションを実行することができる。これにより、シミュレーションによる試験パターンの検証を、実用的な時間で実行することが可能となり、試験時間の短縮化を図ることができる。
【００８７】
また、従来の手法において、ＡＴＰＧプログラムでは検証できなかったテスト回路内のデコーダ３０１、スペースコンパクタ４０４、パターン修正器３０３、不定マスク器４０２、出力検証器４０３の動作試験と故障検出をおこなうことができ、ＡＴＰＧが作成したパターンを単独で適用した場合に比べて試験の信頼性の向上を図ることができる。
【００８８】
以上説明したように、試験パターン生成装置６００、テスト回路試験装置１００、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体によれば、テスト回路の故障検出をおこなうことにより、テスト回路の試験時間の短縮化および試験対象回路１０４におこなう試験の信頼性の向上を図ることができる。
【００８９】
なお、本実施の形態で説明した試験パターン生成方法またはテスト回路試験方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００９０】
（付記１）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成装置において、
前記スキャンチェーンに関する情報の入力を受け付ける入力手段と、
前記入力手段によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成手段と、
前記スキャンチェーン入出力情報生成手段によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成手段と、
前記テスト回路入出力情報生成手段によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力手段と、
を備えることを特徴とする試験パターン生成装置。
【００９１】
（付記２）前記スキャンチェーン入出力情報生成手段は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を、前記スキャンチェーンの入力に関する情報として生成し、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成することを特徴とする付記１に記載の試験パターン生成装置。
【００９２】
（付記３）前記テスト回路入出力情報生成手段は、
時刻ごとの前記第１の入力パターンの論理和の値と、時刻ごとに前記テスト信号値が存在するスキャンチェーンを特定する値と、を含む第２の入力パターンを時系列的に表現した第２の入力行列を、前記テスト回路の入力に関する情報として生成し、
時刻ごとの前記第１の出力パターンの排他的論理和の値からなる第２の出力パターンを、時系列的に表現した第２の出力行列を生成することを特徴とする付記２に記載の試験パターン生成装置。
【００９３】
（付記４）前記テスト回路の入力および出力に関する情報は、
前記複数のスキャンチェーンのスキャンシフトの動作に関する入力試験パターンおよび出力試験パターンであることを特徴とする付記１〜３のいずれか一つに記載の試験パターン生成装置。
【００９４】
（付記５）前記テスト回路の入力および出力に関する情報は、
前記テスト回路に含まれているデコーダ、パターン修正器、不定マスク器、出力検証器、またはスペースコンパクタのうちいずれか一つの回路の動作に関する入力試験パターンおよび出力試験パターンであることを特徴とする付記１〜３のいずれか一つに記載の試験パターン生成装置。
【００９５】
（付記６）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験装置において、
前記スキャンチェーンに関する情報を入力する入力手段と、
前記入力手段によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成手段と、
前記スキャンチェーン入出力情報生成手段によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成手段と、
前記テスト回路入出力情報生成手段によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力手段と、
前記出力手段によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力手段によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証する検証手段と、
を備えることを特徴とするテスト回路試験装置。
【００９６】
（付記７）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成方法において、
前記スキャンチェーンに関する情報を入力する入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力工程と、
を含んだことを特徴とする試験パターン生成方法。
【００９７】
（付記８）前記スキャンチェーン入出力情報生成工程は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を生成し、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成することを特徴とする付記７に記載の試験パターン生成方法。
【００９８】
（付記９）前記テスト回路入出力情報生成工程は、
時刻ごとの前記第１の入力パターンの論理和の値と、時刻ごとに前記テスト信号値が存在するスキャンチェーンを特定する値と、を含む第２の入力パターンを時系列的に表現した第２の入力行列を生成し、
時刻ごとの前記第１の出力パターンの排他的論理和の値からなる第２の出力パターンを、時系列的に表現した第２の出力行列を生成することを特徴とする付記８に記載の試験パターン生成方法。
【００９９】
（付記１０）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験方法において、
前記スキャンチェーンに関する情報を入力する入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成するスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成するテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力する出力工程と、
前記出力工程によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力工程によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証する検証工程と、
を含んだことを特徴とするテスト回路試験方法。
【０１００】
（付記１１）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストする試験パターンを生成する試験パターン生成プログラムにおいて、
前記スキャンチェーンに関する情報を入力させる入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成させるスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成させるテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力させる出力工程と、
をコンピュータに実行させることを特徴とする試験パターン生成プログラム。
【０１０１】
（付記１２）前記スキャンチェーン入出力情報生成工程は、
前記複数のスキャンチェーンに対し同一時刻においていずれか一本のスキャンチェーンにのみテスト信号値が入力される第１の入力パターンを時系列的に表現した第１の入力行列を生成させ、
前記複数のスキャンチェーンに前記第１の入力パターンが入力されたことによって前記複数のスキャンチェーンから出力される第１の出力パターンを時系列的に表現した第１の出力行列を生成させることを特徴とする付記１１に記載の試験パターン生成プログラム。
【０１０２】
（付記１３）前記テスト回路入出力情報生成工程は、
時刻ごとの前記第１の入力パターンの論理和の値と、時刻ごとに前記テスト信号値が存在するスキャンチェーンを特定する値と、を含む第２の入力パターンを時系列的に表現した第２の入力行列を生成させ、
時刻ごとの前記第１の出力パターンの排他的論理和の値からなる第２の出力パターンを、時系列的に表現した第２の出力行列を生成させることを特徴とする付記１２に記載の試験パターン生成プログラム。
【０１０３】
（付記１４）複数のスキャンチェーンと、当該複数のスキャンチェーンをテストするテスト回路とを備える集積回路内の、前記テスト回路をテストするテスト回路試験プログラムにおいて、
前記スキャンチェーンに関する情報を入力させる入力工程と、
前記入力工程によって入力されたスキャンチェーンに関する情報に基づいて、前記スキャンチェーンの入力および出力に関する情報を生成させるスキャンチェーン入出力情報生成工程と、
前記スキャンチェーン入出力情報生成工程によって生成された、前記スキャンチェーンの入力および出力に関する情報に基づいて、前記テスト回路の入力および出力に関する情報を生成させるテスト回路入出力情報生成工程と、
前記テスト回路入出力情報生成工程によって生成された、前記テスト回路の入力および出力に関する情報を出力させる出力工程と、
前記出力工程によって出力された、前記テスト回路の入力に関する情報が、前記テスト回路に入力された結果、前記複数のスキャンチェーンを介して前記テスト回路から出力される出力パターンと、前記出力工程によって出力された、前記テスト回路の出力に関する情報と、に基づいて、前記テスト回路を検証させる検証工程と、
をコンピュータに実行させることを特徴とするテスト回路試験プログラム。
【０１０４】
（付記１５）付記１１〜１４のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【０１０５】
以上のように、本発明にかかる試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体は、ＬＳＩなどの集積回路の製造不良を検出する試験に有用である。
【図面の簡単な説明】
【０１０６】
【図１】この発明の実施の形態にかかるテスト回路試験装置の概略構成を示すブロック図である。
【図２】この発明の実施の形態にかかる試験対象回路の具体的構成を示す説明図である。
【図３】この発明の実施の形態にかかる入力側テスト回路のハードウェア構成を示すブロック図である。
【図４】この発明の実施の形態にかかる出力側テスト回路のハードウェア構成を示すブロック図である。
【図５】この発明の実施の形態にかかるテスト回路試験装置のハードウェア構成を示すブロック図である。
【図６】この発明の実施の形態にかかるテスト回路試験装置の機能的構成を示すブロック図である。
【図７】時刻ごとにおけるスキャンＦＦの内部状態とスキャンチェーンに入力される信号値を示す説明図である。
【図８】この発明の実施の形態にかかる入出力行列を示す図表である。
【図９】スキャンチェーンの本数が２本、段数（チェーン長）がそれぞれ４および２の場合の、内部入力行列および内部出力行列を示す説明図である。
【図１０】この発明の実施の形態にかかるＩＤおよびチェーン長の対応表である。
【図１１】スキャンチェーン構成において生成された内部入出力行列の一例を示す説明図である。
【図１２】スペースコンパクタのハードウェア構成を示すブロック図である。
【図１３】パターン修正器内の１ｂｉｔ分の内部回路を示すブロック図（その１）である。
【図１４】パターン修正器内の１ｂｉｔ分の内部回路を示すブロック図（その２）である。
【図１５】パターン修正器内の１ｂｉｔ分の内部回路を示すブロック図（その３）である。
【図１６】パターン修正器用の内部入出力行列を示す説明図である。
【図１７】不定マスク器内の１ｂｉｔ分の内部回路を示すブロック図（その１）である。
【図１８】不定マスク器内の１ｂｉｔ分の内部回路を示すブロック図（その２）である。
【図１９】不定マスク器内の１ｂｉｔ分の内部回路を示すブロック図（その３）である。
【図２０】不定マスク器用の内部入出力行列を示す説明図である。
【図２１】この発明の実施の形態にかかるテスト回路試験処理手順を示すフローチャートである。
【符号の説明】
【０１０７】
１００  テスト回路試験装置
１０２  入力側テスト回路
１０３  出力側テスト回路
１０４  試験対象回路
１０５  テスト制御回路
Ｃ  スキャンチェーン
３０１  デコーダ
３０３  パターン修正器
４０１  デコーダ
４０２  不定マスク器
４０３  出力検証器
４０４  スペースコンパクタ
６００  試験パターン生成装置
６０２  入力部
６０３  スキャンチェーン入出力情報生成部
６０４  テスト回路入出力情報生成部
６０５  出力部
６１０  検証部
【図１】
2006010655.tif 000003
【図２】
2006010655.tif 000004
【図３】
2006010655.tif 000005
【図４】
2006010655.tif 000006
【図５】
2006010655.tif 000007
【図６】
2006010655.tif 000008
【図７】
2006010655.tif 000009
【図８】
2006010655.tif 000010
【図９】
2006010655.tif 000011
【図１０】
2006010655.tif 000012
【図１１】
2006010655.tif 000013
【図１２】
2006010655.tif 000014
【図１３】
2006010655.tif 000015
【図１４】
2006010655.tif 000016
【図１５】
2006010655.tif 000017
【図１６】
2006010655.tif 000018
【図１７】
2006010655.tif 000019
【図１８】
2006010655.tif 000020
【図１９】
2006010655.tif 000021
【図２０】
2006010655.tif 000022
【図２１】
2006010655.tif 000023