(57)【要約】【課題】従来、半導体集積回路の端子に入力出されるパタンのデータ量自体を少なくすることはできなかった。【解決手段】テスト回路１は、テスト対象回路２と複数の外部端子３ａ〜３ｇ間に接続される。テスト回路１は、テスト対象回路３０に入力又はテスト対象回路３０から出力されるべき内部信号パタンがＮ（Ｎは、２以上の自然数）分割されたＮ個の単位パタンそれぞれを保持するＮ個の第１保持回路６ａ〜６ｄと、単位パタン毎に予め設定された識別信号に基づいてＮ個の第１保持回路６ａ〜６ｄに保持された内部信号パタンを単位パタン単位で選択的に更新させる、又は識別信号に基づいてＮ個の第１保持回路６ａ〜６ｄに保持される内部信号パタンを単位パタン単位で選択的に出力させる制御回路と、を備える。【選択図】  図１
2008268185.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象回路と複数の外部端子間に接続されるテスト回路であって、
前記テスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンがＮ（Ｎは、２以上の自然数）分割されたＮ個の単位パタンそれぞれを保持するＮ個の第１保持回路と、
前記単位パタン毎に予め設定された識別信号に基づいてＮ個の前記第１保持回路に保持された前記内部信号パタンを前記単位パタン単位で選択的に更新させる、又は前記識別信号に基づいてＮ個の前記第１保持回路に保持される前記内部信号パタンを前記単位パタン単位で選択的に出力させる制御回路と、を備えるテスト回路。
【請求項２】
前記テスト回路は、前記内部信号パタンを前記テスト対象回路に入力する駆動用テスト回路であることを特徴とする請求項１に記載のテスト回路。
【請求項３】
前記制御回路は、
Ｎ個の前記第１保持回路に対応するＮ個のセレクタと、 
Ｎ個の前記セレクタのそれぞれに接続されたデコーダと、を備え、
前記デコーダは、前記識別信号に基づいて、所定の前記セレクタにセレクト信号を出力し、 
前記セレクタは、前記セレクト信号に基づいて、前記第１保持回路に保持された前記単位パタン又は複数の前記外部端子を介して入力された新たな前記単位パタンのいずれかを前記第１保持回路に出力することを特徴とする請求項２記載のテスト回路。 
【請求項４】
Ｎ個の前記セレクタは、共通の前記外部端子に接続されることを特徴とする請求項３記載のテスト回路。
【請求項５】
Ｎ個の前記第１保持回路と前記テスト対象回路間に接続され、Ｎ個の前記第１保持回路から転送される前記内部信号パタンを保持する第２保持回路を更に備えることを特徴とする請求項２に記載のテスト回路。
【請求項６】
前記第２保持回路は、Ｎ個の前記第１保持回路から転送される前記内部信号パタンを順次保持する複数の第３保持回路によって形成されることを特徴とする請求項５に記載のテスト回路。
【請求項７】
前記テスト回路は、前記テスト対象回路から出力される前記内部信号パタンを前記単位パタン単位で出力する照合用テスト回路であることを特徴とする請求項１に記載のテスト回路。
【請求項８】
前記制御回路は、前記第１保持回路と前記テスト対象回路との間のＮ個の節点に接続されたセレクタを備え、
当該セレクタは、前記識別信号に基づいて特定され、所定の前記第１保持回路に入力される前記単位パタンを選択して出力することを特徴とする請求項７に記載のテスト回路。
【請求項９】
前記制御回路は、
Ｎ個の前記第１保持回路毎に設けられたＮ個の判定回路をさらに備え、
当該判定回路は、前記第１保持回路を利用して、前記第１保持回路毎に前記テスト対象回路から連続して出力される前記単位パタンの異同を判定することを特徴とする請求項８に記載のテスト回路。
【請求項１０】
Ｎ個の前記判定回路の出力は前記セレクタに接続され、
前記セレクタは、Ｎ個の前記判定回路から入力される判定パタンも出力することを特徴とする請求項９に記載のテスト回路。
【請求項１１】
前記テスト対象回路とＮ個の前記第１保持回路間に接続され、前記テスト対象回路から出力される前記内部信号パタンを保持する第２保持回路を更に備えることを特徴とする請求項７に記載のテスト回路。
【請求項１２】
前記第２保持回路は、前記テスト対象回路から出力される前記内部信号パタンを順次保持する複数の第３保持回路により形成されることを特徴とする請求項１１に記載のテスト回路。
【請求項１３】
テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンを生成するパタン生成装置であって、
複数の前記内部信号パタン夫々をＮ（Ｎは、２以上の自然数）分割し、前記内部信号パタンのＮ分割により生成されたＮ個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶する記憶部と、
前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる保持回路に連続して保持される２つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出する検出部と、
前記検出部による検出結果に応じて前記端子パタンを作成する端子パタン作成部と、
を備える、パタン生成装置。
【請求項１４】
前記端子パタン作成部は、前記検出部によってパタン更新が検出されたとき、更新があった前記単位パタンを前記端子パタンとすることを特徴とする請求項１３に記載のパタン生成装置。
【請求項１５】
前記パタン生成装置は、前記テスト回路に入力される駆動端子パタン及び前記テスト回路から出力される照合端子パタンを生成することを特徴とする請求項１３に記載のパタン生成装置。
【請求項１６】
前記端子パタン作成部により作成された前記駆動端子パタン及び前記照合端子パタンに基づいて前記テスト回路に入出力される外部端子パタンを生成する入出力端子パタン作成部を更に備えることを特徴とする請求項１５に記載のパタン生成装置。
【請求項１７】
前記テスト対象回路に順次入力される複数の内部信号パタンをＭ（Ｍは、２以上の自然数）個単位で順次グループ化する割当部を更に備え、
前記入出力端子パタン作成部は、前記駆動端子パタン、前記テスト対象回路に入力される同期信号パタン、及び前記照合端子パタンを前記割当部による複数の内部信号パタンのグループ化の結果により定まる順番に応じて配置することに基づいて前記テスト回路に入出力される外部端子パタンを生成することを特徴とする請求項１６に記載のパタン生成装置。
【請求項１８】
前記入出力端子パタン作成部は、前記入出力端子パタン作成部により順次配置される前記駆動端子パタンと前記照合端子パタン間で両者を時間的に重ね合わせる処理を実行することを特徴とする請求項１７に記載のパタン生成装置。
【請求項１９】
前記入出力端子パタン作成部は、前記テスト対象回路に入力される前記同期信号パタンによって前記テスト回路内に保持される前記内部信号パタンを転送させるように前記外部端子パタンを加工することを特徴とする請求項１７に記載のパタン生成装置。
【請求項２０】
テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンをコンピュータに生成させるパタン生成方法であって、
前記コンピュータの記憶部は、複数の前記内部信号パタン夫々をＮ（Ｎは、２以上の自然数）分割し、前記内部信号パタンのＮ分割により生成されたＮ個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶し、
前記コンピュータの検出部は、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる第１保持回路に連続して保持される２つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出し、
前記コンピュータの端子パタン作成部は、前記検出部による検出結果に応じて前記端子パタンを作成する、パタン生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト回路、パタン生成装置、及びパタン生成方法に関する。 
【背景技術】
【０００２】
近年、テスト対象回路の高機能化の進展に伴って、テスト対象回路の動作検証に用いられる内部信号パタンのデータ量は増加している。内部信号パタンのデータ量の増大は、半導体集積回路（ＬＳＩ（Large Scale Integrate）等）のテスト工程の長時間化を招き、半導体集積回路の製造効率を悪化させる。なお、内部信号パタンは、デジタル信号がパラレルに配列された信号である。また、内部信号パタンのデータ量は、内部信号パタンの行数（個数）、内部信号パタンに含まれるデジタル信号数を掛け合わせたものである。 
【０００３】
テスト対象回路に内部信号パタンを効率的に入力させるためには、内部信号パタンの信号数に応じて半導体集積回路に外部端子を設け、この外部端子を介して内部信号パタンを順次半導体集積回路に入力させると良い。しかし、膨大な内部信号パタンの信号数に応じてテスト用端子を設けることは現実的ではない。 
【０００４】
ここで、図７４を参照して、端子数の削減に関する特許文献１記載の技術について説明する。ここでは、データを複数回に分けて転送することで、ＬＳＩ回路の入出力ピン数を削減している。セレクタ１２０は、セレクト信号に基づいて転送対象データを選択する。セレクタ１３０は、セレクタ１２０で選択されたデータのうち、上位ビットグループ又は下位ビットグループのいずれかを選択する。そして、セレクタ１３０からの上位ビットグループは、セレクタ付レジスタ１７０の上位ビットグループにセレクトされ、セレクタ１３０からの下位ビットグループは、セレクタ付レジスタ１７０の下位ビットグループにセレクトされる。 
【０００５】
なお、特許文献２には、トレースバッファの使用効率を向上させるためのトレースデータ圧縮方法が記載されている。 
【特許文献１】特開平４−２７４５４７号公報
【特許文献２】特許第３３４３７３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１記載の技術を活用することにより半導体集積回路の端子数を削減できる。しかしながら、半導体集積回路の端子に入出力されるパタン（デジタル信号がパラレルに配列された信号）のデータ量自体は変わらない。つまり、従来、半導体集積回路の端子に入出力されるパタンのデータ量自体を少なくすることはできなかった。 
【課題を解決するための手段】
【０００７】
本発明にかかるテスト回路は、テスト対象回路と複数の外部端子間に接続されるテスト回路であって、前記テスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンがＮ（Ｎは、２以上の自然数）分割されたＮ個の単位パタンそれぞれを保持するＮ個の第１保持回路と、前記単位パタン毎に予め設定された識別信号に基づいてＮ個の前記第１保持回路に保持された前記内部信号パタンを前記単位パタン単位で選択的に更新させる、又は前記識別信号に基づいてＮ個の前記第１保持回路に保持される前記内部信号パタンを前記単位パタン単位で選択的に出力させる制御回路と、を備える。
【０００８】
本発明にかかるパタン生成装置は、テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンを生成するパタン生成装置であって、複数の前記内部信号パタン夫々をＮ（Ｎは、２以上の自然数）分割し、前記内部信号パタンのＮ分割により生成されたＮ個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶する記憶部と、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる保持回路に連続して保持される２つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出する検出部と、前記検出部による検出結果に応じて前記端子パタンを作成する端子パタン作成部と、を備える。
【０００９】
本発明にかかるパタン生成方法は、テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンをコンピュータに生成させるパタン生成方法であって、前記コンピュータの記憶部は、複数の前記内部信号パタン夫々をＮ（Ｎは、２以上の自然数）分割し、前記内部信号パタンのＮ分割により生成されたＮ個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶し、前記コンピュータの検出部は、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる第１保持回路に連続して保持される２つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出し、前記コンピュータの端子パタン作成部は、前記検出部による検出結果に応じて前記端子パタンを作成する。
【発明の効果】
【００１０】
半導体集積回路の端子に入出力されるパタンのデータ量を少なくすることができるパタン変換方法、これに供するテスト回路を提供することができる。 
【発明を実施するための最良の形態】
【００１１】
以下、図面を用いて、本発明の実施の形態について説明する。尚、図面は簡略的なものであって、示された構成要素の正確な大きさ等を示すものではない。また、図面に基づいて、本発明の技術的範囲を狭めるように解釈してはならない。また、同一の要素には同一の符号を付し、重複する説明は省略するものとする。 
【００１２】
〔第１の実施形態〕 
本発明の第１の実施形態について、以下、図１乃至図９を用いて説明する。図１に、半導体集積回路（ＬＳＩ）５０の概略的な回路図を示す。図２に、半導体集積回路５０の概略的なテスト方法を説明するためのフローチャートを示す。図３に、内部信号に対する識別番号の割当を示す。図４に、内部信号パタンを示す。図５に、パタン変換の概要を示すフローチャートを示す。図６に、Ｓ５０１の詳細なフローチャートを示す。図７に、変化点検出表の作成を説明するための説明図を示す。図８に、Ｓ５０２の詳細なフローチャートを示す。図９に外部端子パタン（図９（ａ）に駆動端子パタン、図９（ｂ）に照合端子パタン）を示す。 
【００１３】
図１に示すように、半導体集積回路５０は、駆動用（入力側）テスト回路１、テスト対象回路２、外部端子３ａ〜３ｇ（データ端子３ｂ〜３ｅ、制御端子３ａ、３ｆ、３ｇ）を備える。また、図示しない１６個の照合用の外部端子を備える。 
【００１４】
駆動用テスト回路１は、テスター（不図示）からデータ端子３ｂ〜３ｅに入力された４ビットの信号（駆動用テスト回路１のデータバスの信号）を利用して、テスト対象回路２に１６ビットの内部信号パタン（駆動パタン）を出力する。テスト対象回路２は、駆動用テスト回路１から１６ビットの駆動パタンが入力されると、１６ビットの信号（照合パタン）を出力する。なお、図１に示すように、テスト対象回路２に入力される１６ビットの駆動パタンは、信号sig_i_00〜sig_i_15を含む。また、テスト対象回路２から出力される１６ビットの照合パタンは、信号sig_o_00〜sig_o_15を含む。 
【００１５】
テスト対象回路２に入力される駆動パタンは４分割されている。換言すると、駆動パタンは、４つの単位パタンを有する。すなわち、駆動パタンは、第１単位パタン（sig_i_00〜sig_i_03）、第２単位パタン（sig_i_04〜sig_i_07）、第３単位パタン（sig_i_08〜sig_i_11）、第４単位パタン（sig_i_12〜sig_i_15）、を有する。 
【００１６】
駆動用テスト回路１は、デコーダ４、セレクタ５（５ａ〜５ｄ）、保持回路６を備える。 
【００１７】
保持回路６は、１６ビットのＦ／Ｆ（Ｆｌｉｐ／Ｆｌｏｐ）である。保持回路６は、４ビットごとに分割された保持回路６ａ〜６ｄを有する。保持回路６は、制御端子３ｆからのＣＬ１の入力に基づいて、テスト対象回路２に１６ビットの駆動パタンを出力する。保持回路６から出力された１６ビットの駆動パタンは、テスト対象回路の内部バスに入力される。 
【００１８】
なお、保持回路６のビット数は、駆動パタンの信号数に対応する。保持回路６の分割数は、駆動パタンの分割数に対応する。 
【００１９】
セレクタ５ａ〜５ｄは、保持回路６ａ〜６ｄに対応して設けられる。セレクタ５ａ〜５ｄの第１入力は、データ端子３ｂ〜３ｅ（データバスと等しい）に接続される。セレクタ５ａの第２入力は、節点Ｎ０を介して、保持回路６ａの出力に接続される。セレクタ５ｂの第２入力は、節点Ｎ１を介して、保持回路６ｂの出力に接続される。セレクタ５ｃの第２入力は、節点Ｎ２を介して、保持回路６ｃの出力に接続される。セレクタ５ｄの第２入力は、節点Ｎ３を介して、保持回路６ｄの出力に接続される。セレクタ５ａ〜５ｄの制御端子は、それぞれデコーダ４の出力Ｓ０〜Ｓ３に接続される。セレクタ５ａ〜５ｄは、デコーダ４からのセレクト信号Ｓ０〜Ｓ３の入力に基づいて、第１入力又は第２入力のいずれかを出力する。 
【００２０】
デコーダ４は、制御端子３ａに接続される。制御端子３ａからデコーダ４には、識別信号ＵＢ０〜３（ＵＢ０、ＵＢ１、ＵＢ２、ＵＢ３）が入力される。デコーダ４は、識別信号ＵＢ０〜３の入力に基づいて、セレクト信号Ｓ０〜Ｓ３をセレクタ５ａ〜５ｄに出力する。 
【００２１】
本実施形態にかかる駆動用テスト回路１は、識別信号ＵＢ０〜３の入力に基づいて、テスト対象回路２に入力される駆動パタンのうち、更新されるべき単位パタンを特定する。そして、特定された単位パタンを、データ端子３ｂ〜３ｅに入力された４ビットの単位パタン（ＬＢ０〜ＬＢ３）に更新する。これにより、データ端子３ｂ〜３ｅに同じ単位パタンを重複して入力することを回避できる。そして、データ端子３ｂ〜３ｅに入力されるパタンのデータ量を削減することができる。結果として、テスト工程の短時間化、外部に蓄積される信号のデータ量の低減を図ることができる。なお、各識別信号ＵＢ０〜３は後述の上位識別番号（ＵＳＮ）に対応し、ＬＢ０〜ＬＢ３は後述の下位識別番号（ＬＳＮ）に対応する。 
【００２２】
テスト対象回路２は、制御端子３ｇからのクロックＣＬ２の入力に基づいて動作を開始する。 
【００２３】
次に、図２を参照して、本実施形態にかかるテスト方法について説明する。 
【００２４】
まず、内部信号への識別番号の割当てを実行する（Ｓ１）。つまり、図１に示すように、内部信号ごとに信号名をつける。また、駆動パタンについては、図３に示す内部信号割当表を作成する。図３では、上位、下位という２つの階層からなる識別番号を各内部信号に付与する。識別番号の上位（上位識別番号（ＵＳＮ））によって、駆動パタンの分割後の単位パタンが夫々識別される。識別番号の下位（下位識別番号（ＬＳＮ））によって、ＵＳＮ区分内の信号が夫々識別される。換言すると、Ｓ１の段階で、テスト対象回路２に入力される駆動パタンを分割し、駆動パタン間で対応付けられた複数の単位パタンを用意する。 
【００２５】
次に、駆動用テスト回路を半導体集積回路５０に組み込む（Ｓ２）。具体的には、図１の回路図に示すように、駆動用テスト回路１を半導体集積回路５０に組み込む。 
【００２６】
次に、駆動用テスト回路１をパタン生成モデルに置き換える（Ｓ３）。具体的には、駆動用テスト回路について、入力−出力の対応関係を無効にし、テスト対象回路２への駆動パタン（内部信号パタン）を任意に出力するモデルに置き換える。 
【００２７】
次に、シミュレーションを実行し、半導体集積回路５０の内部信号パタンを抽出する（Ｓ４）。具体的には、図４に示すように、テスト対象回路２への駆動パタン（内部信号パタン）、テスト対象回路２からの照合パタン（内部信号パタン）を抽出する。 
【００２８】
なお、駆動パタンは、そのパタン番号（ＰＮ１）順で、テスト対象回路２に入力される。つまり、ＰＮ１＝０からＰＮ１＝５の順で、テスト対象回路２に駆動パタンが入力される。また、照合パタンも、そのパタン番号順で、テスト対象回路２から出力される。つまり、ＰＮ１＝０からＰＮ１＝５の順で、テスト対象回路２から照合パタンが出力される。
【００２９】
次に、パタン変換（Ｓ５）を実行する。具体的には、テスト対象回路２に入力されるＰＮ１＝０〜５の各駆動パタンに基づいて、駆動用テスト回路１への入力信号のパタン（駆動端子パタン）列を生成する。尚、駆動端子パタンは、図１の外部端子３ａ〜３ｇに入力されるパタンを意味する。Ｓ５により、半導体集積回路５０に外部から入力される信号のデータ量は大幅に削減される。なお、Ｓ５の詳細については、後述する。また、パタン変換（Ｓ５）では、半導体集積回路５０から出力されるパタン（照合端子パタン）列も作成する。これにより、半導体集積回路５０における駆動端子パタンと照合端子パタンとの関係が明らかになる。
【００３０】
次に、シミュレーションを実行し、照合可能かを確認する（Ｓ６）。具体的には、入力された駆動端子パタンに応じて、所定の照合端子パタンが半導体集積回路５０から出力されるのか確認する。
【００３１】
次に、Ｓ６にて照合可能であることを前提として、製造した半導体集積回路５０を実際にテストする（Ｓ７）。具体的には、テスターを用いて、製造した個々の半導体集積回路５０について動作テストを実行する。
【００３２】
このようにして半導体集積回路５０のテストは実行される。
【００３３】
以下、図５乃至９を用いて、上述のパタン変換（Ｓ５）について具体的に説明する。なお、上述のように、パタン変換（Ｓ５）の前段階のＳ１で、駆動パタンの分割は実行されている。 
【００３４】
図５に示すように、まず、変化点検出表を作成する（Ｓ５０１）。次に、外部端子パタンを作成する（Ｓ５０２）。 
【００３５】
以下、図５のＳ５０１について、図６及び図７を用いて具体的に説明する。図６は、Ｓ５０１の詳細なフローチャートである。図７は、変化点検出表の作成を説明するための説明図である。 
【００３６】
Ｓ５０１では、図７（ａ）を正面視して、ＵＳＮ（上位識別番号）の区分内で、互いに上下に位置する単位パタンが等しいかどうかを判断し、その判断結果を図７（ｂ）の変化点検出表に書き込む。なお、ここでは、ＰＮ１＝０の駆動パタンから処理を開始し、ＵＳＮ＝０の信号から処理を開始する。 
【００３７】
図６に示すように、まず、処理対象とする駆動パタンを設定する（Ｓ１）。ここでは、上述のように、ＰＮ１＝０の駆動パタンを処理対象として特定する（Ｓ１）。 
【００３８】
次に、特定した駆動パタンに含まれる単位パタンを特定する（Ｓ２）。ここでは、上述のように、ＵＳＮ＝０の単位パタンを処理対象として特定する（Ｓ２）。 
【００３９】
次に、ＰＮ１＝０であるのか判断する（Ｓ３）。 
【００４０】
ＰＮ１＝０の場合、Ｓ１２に進む。そして、図７（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）に１を格納する（Ｓ１２）。 
【００４１】
ＰＮ１≠０の場合、Ｓ４に進む。そして、図７（ａ）の座標（ＰＮ１，ＵＳＮ）の単位パタンを読み込む（Ｓ４）。例えば、ＰＮ１＝２、ＵＳＮ＝０の場合、読み込まれる単位パタンは、座標（２，０）で特定される０１００である。 
【００４２】
次に、図７（ａ）の表における座標（ＰＮ１ −１，ＵＳＮ）の単位パタンを読み込む（Ｓ５）。例えば、上述と同様に、ＰＮ１＝２、ＵＳＮ＝０の場合、読み込まれる単位パタンは、座標（１，０）で特定される００００である。 
【００４３】
次に、Ｓ４で読み込んだ単位パタンが、Ｓ５で読み込んだ単位パタンから変化したかを判断する（Ｓ６）。換言すると、単位パタンの更新があったのか判断する。なお、言うまでもなく、Ｓ４の前にＳ５を実行しても良い。 
【００４４】
単位パタンの更新がある場合には、Ｓ１２に進む。そして、上述と同様に、図７（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）に１を格納する（Ｓ１２）。 
【００４５】
単位パタンの更新がない場合には、Ｓ７に進む。そして、図７（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）に０を格納する（Ｓ７）。 
【００４６】
Ｓ７、Ｓ１２の後、ＵＳＮの値に１加算する（Ｓ８）。つまり、図７（ａ）を正面視して左方向に処理対象とするＵＳＮをシフトさせる。 
【００４７】
次に、すべてのＵＳＮで上述の処理を実行したのか判断する（Ｓ９）。ここでは、駆動パタンは４分割されており、ＵＳＮの最大値は３である。従って、ＵＳＮ＝３であるのか判断する（Ｓ９）。 
【００４８】
すべてのＵＳＮで上述の処理を実行していない場合（ＵＳＮ≠３の場合）、上述のＳ３に戻る。 
【００４９】
すべてのＵＳＮで上述の処理を実行した場合（ＵＳＮ＝３の場合）の場合、Ｓ１０に進む。そして、ＰＮ１の値を１加算する（Ｓ１０）。すなわち、図７（ａ）の表を正面視して、下方向に処理対象とする駆動パタンをシフトさせる。 
【００５０】
次に、すべてのＰＮ１で処理が実行されたのか判断する（Ｓ１１）。 
【００５１】
すべてのＰＮ１で処理が実行されていない場合にはＳ２に戻る。すべてのＰＮ１で処理が実行された場合には、Ｓ５０１の処理は終了する。このようにして図７（ｂ）の変化点検出表は作成される。 
【００５２】
尚、図６のフローチャートから明らかなように、ＰＮ１＝０の場合、Ｓ３からＳ１２に進む。従って、図７（ｂ）の１行目には１１１１が必ず格納される。ＰＮ１＝１以降は、Ｓ３からＳ４に進むため、Ｓ６の判断結果に基づいて、図７（ｂ）の２行目以降に１又は０が格納されることになる。 
【００５３】
以下、図７を参照して説明を補足する。 
【００５４】
図７（ａ）に示すように、ＰＮ１＝１の駆動パタンは、ＰＮ１＝０の駆動パタンと一致する。換言すると、ＰＮ１＝１の駆動パタンは、ＰＮ１＝０の駆動パタンから更新された単位パタンを持たない。従って、図７（ｂ）の変化点検出表の２行目には００００が設定される。 
【００５５】
図７（ａ）に示すように、ＰＮ１＝２の駆動パタンは、ＰＮ１＝１の駆動パタンと比較して、ＵＳＮ＝０の単位パタンで更新され、その他のＵＳＮ＝１〜３の単位パタンで更新されていない。換言すると、ＰＮ１＝２の駆動パタンは、ＰＮ１＝１の駆動パタンから更新された単位パタンをＵＳＮ＝０で持つ。従って、図７（ｂ）の変化点検出表の３行目には、０００１が設定される。 
【００５６】
図７（ａ）に示すように、ＰＮ１＝３の駆動パタンは、ＰＮ１＝２の駆動パタンと比較して、ＵＳＮ＝１の単位パタンで更新され、その他のＵＳＮ＝０、２、３の単位パタンでは更新されていない。換言すると、ＰＮ１＝３の駆動パタンは、ＰＮ１＝２の駆動パタンから更新された単位パタンをＵＳＮ＝１で持つ。従って、図７（ｂ）の変化点検出表の４行目には、００１０が設定される。 
【００５７】
なお、ＰＮ１＝４の場合、ＰＮ１＝５の場合は、上述のＰＮ１＝１の場合と同様である。このようにして、図７（ａ）の駆動パタンから、図７（ｂ）の変化点検出表が作成される。なお、変化点検出表の作成は、コンピュータがプログラムを実行することにより実現される。 
【００５８】
ここで、図５のＳ５０２について、図８及び図９を用いて説明する（適宜、図７も参照する）。Ｓ５０２の処理によって、最終的には図９に示す外部端子パタン（図９（ａ）駆動端子パタン、図９（ｂ）照合端子パタン）が作成される。尚、図９（ａ）の駆動端子パタンでは、新たなパタン番号（ＰＮ２）が設定される。同様に、図９（ｂ）の照合端子パタンにも、新たなパタン番号が設定される。
【００５９】
図８に示すように、まず、ＰＮ１、ＰＮ２を０とする（Ｓ１）。Ｓ５０１と同様に、ここでもＰＮ１＝０から処理を実行する。 
【００６０】
次に、ＵＳＮ＝０とする（Ｓ２）。Ｓ５０１と同様に、ここでもＵＳＮ＝０から処理を実行する。 
【００６１】
次に、図７（ｂ）の変換点検出表の座標（ＰＮ１，ＵＳＮ）の値が１であるのかどうかに基づいて、図６のＳ６でパタン更新があったと判断されたか判断する（Ｓ３）。 
【００６２】
パタン更新がある場合、図９（ａ）の駆動端子パタンに更新パタンの情報を格納する（Ｓ４）。つまり、現在のＵＳＮを図９（ａ）の駆動端子パタンのＵＢに格納し、図７（ａ）の座標（ＰＮ１，ＵＳＮ）の単位パタンを図９（ａ）のデータバスに格納する。また、図９（ａ）のＣＬ１を１とし、ＣＬ２を０とする。 
【００６３】
なお、ＵＢは、ＵＳＮに対応し、図１の制御端子３ａに入力される。データバスは、ＵＳＮの区分内のＬＳＮに対応し、データ端子３ｂ〜３ｅに信号ＬＢ０〜ＬＢ３として入力される。ＣＬ１は、制御端子３ｆに入力される。ＣＬ２は、制御端子３ｇに入力される。
【００６４】
次に、ＰＮ２の値に１加算する（Ｓ５）。 
【００６５】
次に、ＵＳＮの値に１加算する（Ｓ６）。 
【００６６】
なお、Ｓ３にて、パタン更新がないと判断された場合、上述のＳ４は実行されない。そして、Ｓ３後、Ｓ６が実行される。これによって、駆動用テスト回路１のデータバスに重複する単位パタンが入力されることが排除される。 
【００６７】
次に、すべてのＵＳＮで処理が実行されたのか判断する（Ｓ７）。ここでは、ＵＳＮ＝３となったのか確認する。ＵＳＮ＝３となっていない場合には、上述のＳ３に戻る。ＵＳＮ＝３となっている場合には、Ｓ８に進む。 
【００６８】
Ｓ８では、保持回路６にセットされた駆動パタンをテスト対象回路２に入力させる条件を駆動端子パタンに格納する。つまり、ＣＬ１を０とし、ＣＬ２を図４の現在のＰＮ１に基づいて特定されるＣＬ２とする。尚、ここでは、ＵＳＮを−とし、データバスを−とする。なお、−は、０，１のどちらでも良いことを意味する。
【００６９】
次に、ＰＮ１の値に１加算する（Ｓ９）。 
【００７０】
次に、ＵＳＮの値に１加算する（Ｓ１０）。 
【００７１】
次に、すべてのＰＮ１について処理が実行されたか確認する（Ｓ１１）。すべてのＰＮ１で処理が実行された場合、Ｓ５０２のステップは終了し、すべてのＰＮ１で処理が実行されていない場合、Ｓ２に戻る。このようにして駆動端子パタン（図９（ａ））は作成される。 
【００７２】
図７（ｂ）に示すように、変化点検出表の１行目（ＰＮ１＝０の行）はすべて１である。従って、ＰＮ１＝０の駆動パタンの場合、すべてのＵＳＮにおいて図８のＳ４が実行される。そして、図９（ａ）のＰＮ２＝０〜３のデータバスには、順次４つの単位パタンが格納される。 
【００７３】
図７（ｂ）に示すように、変化点検出表の２行目（ＰＮ１＝１の行）はすべて０である。つまり、ＰＮ１＝１の駆動パタンは、ＰＮ１＝０の駆動パタンと完全に一致する。従って、図９（ａ）のＰＮ１＝１の駆動パタンの場合、ＣＬ１＝０，ＣＬ２＝１と設定すれば十分であり、単位パタンの格納は実行されない。
【００７４】
図７（ｂ）に示すように、変化点検出表の３行目（ＰＮ１＝２の行）は、０００１である。従って、ＰＮ１＝２の駆動パタンの場合、ＵＳＮ＝０で図８のＳ４が実行される。換言すると、ＰＮ１＝２の駆動パタンは、ＰＮ１＝１の駆動パタンのうちＵＳＮ＝０の単位パタンを更新させる必要がある。そして、図９（ａ）のＰＮ２＝６のデータバスに１つの単位パタンが格納される。 
【００７５】
図７（ｂ）に示すように、変換点検出表の４行目（ＰＮ１＝３の行）は、００１０である。従って、ＰＮ１＝３の駆動パタンの場合、ＵＳＮ＝１で図８のＳ４が実行される。換言すると、ＰＮ１＝３の駆動パタンは、ＰＮ１＝２の駆動パタンのうちＵＳＮ＝１の単位パタンを更新させる必要がある。そして、図９（ａ）のＰＮ２＝８のデータバスに１つの単位パタンが格納される。
【００７６】
なお、図７の変化点検出表の５行目及び６行目は、上述の２行目の説明と同様である。
【００７７】
本実施形態においては、ＵＳＮを区分として駆動パタン（内部信号パタン）を複数の単位パタンに分割し、ＵＳＮの区分ごとに連続する駆動パタン間で単位パタンの更新の有無を判断し、更新のある単位パタンを駆動端子パタンとして格納し、更新のない単位パタンは駆動端子パタンとして格納しない。このようにすると、更新のない単位パタンを駆動用テスト回路１に入力する必要はないため、半導体集積回路５０に入力される単位パタンの行数を大幅に削減することができる。
【００７８】
換言すると、本実施形態においては、駆動パタンを複数の単位パタンに分割し、連続する駆動パタン間で対応する単位パタンの更新の有無を判断し、変更のある単位パタンのみを部分的に更新させながら、順次駆動パタンをテスト対象回路２に入力させる。従って、外部から半導体集積回路５０に入力されるパタンのデータ量を大幅に削減することができる。結果として、テスト工程の短時間化を図り、外部に蓄積されるデータ量を削減できる。 
【００７９】
なお、図９（ａ）の作成に対応して、図９（ｂ）の照合端子パタンも作成する。すなわち、駆動端子パタン、照合端子パタンを含む外部端子パタンを作成する。これによって、駆動端子パタンと、照合端子パタン（期待値）との関係を明らかにする。そして、図２のＳ６に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、実際にテスト対象回路２から出力される照合端子パタンが期待値と等しいかを確認する。 
【００８０】
〔第２の実施形態〕 
本発明の第２の実施形態について、以下、図１０乃至図１８を用いて説明する。図１０に、半導体集積回路（ＬＳＩ）５１の概略的な回路図を示す。図１１に、半導体集積回路５１の概略的なテスト方法を説明するためのフローチャートを示す。図１２に、内部信号への識別番号の割当を示す。図１３に、内部信号パタンを示す。図１４に、パタン変換の概要を示すフローチャートを示す。図１５に、図１４のＳ５０３の詳細なフローチャートを示す。図１６に、変化点検出表の作成を説明するための説明図を示す。図１７に、図１４のＳ５０４の詳細なフローチャートを示す。図１８に外部端子パタン（図１８（ａ）に照合端子パタン、図１８（ｂ）に駆動端子パタン）を示す。 
【００８１】
図１０に示すように、半導体集積回路５１は、照合用（出力側）テスト回路７、テスト対象回路８、外部端子９ａ〜９ｇ（データ端子９ｂ〜９ｅ、制御端子９ａ、９ｆ、９ｇ）を備える。また、図示しない１６個の駆動用の外部端子を備える。 
【００８２】
照合用テスト回路７は、テスター（不図示）から制御端子９ａに入力された上位識別信号（ＵＢ）に基づいて、テスト対象回路８から出力される照合パタンから照合パタンの分割後の単位パタンを選択的に出力する。テスト対象回路８は、１６ビットの駆動パタンが入力されると、１６ビットの照合パタンを照合用テスト回路７に出力する。なお、図１０に示すように、テスト対象回路８に入力される１６ビットの駆動パタンは、信号sig_i_00〜sig_i_15を含む。また、テスト対象回路８から出力される１６ビットの照合パタンは、信号sig_o_00〜sig_o_15を含む。 
【００８３】
テスト対象回路８から出力される照合パタンは４分割されている。換言すると、照合パタンは、４つの単位パタンを有する。すなわち、照合パタンは、第１単位パタン（sig_o_00〜sig_o_03）、第２単位パタン（sig_o_04〜sig_o_07）、第３単位パタン（sig_o_08〜sig_o_11）、第４単位パタン（sig_o_12〜sig_o_15）、を有する。 
【００８４】
照合用テスト回路７は、保持回路１０、判定回路１１（１１ａ〜１１ｄ）、セレクタ１２ａを備える。 
【００８５】
保持回路１０は、１６ビットのＦ／Ｆ（Ｆｌｉｐ／Ｆｌｏｐ）である。保持回路１０は、４ビットごとに分割された保持回路１０ａ〜１０ｄを有する。保持回路１０は、制御端子９ｆからのＣＬ１の入力に基づいて、テスト対象回路８が出力する１６ビットの信号を保持する。 
【００８６】
尚、保持回路１０ａとテスト対象回路８との間には節点Ｎ０がある。保持回路１０ｂとテスト対象回路８との間には節点Ｎ１がある。保持回路１０ｃとテスト対象回路８との間には節点Ｎ２がある。保持回路１０ｄとテスト対象回路８との間には節点Ｎ３がある。また、保持回路１０のビット数は、照合パタンのビット数に対応する。保持回路１０の分割数は、照合パタンの分割数に対応する。 
【００８７】
セレクタ１２ａは、入力０〜入力４を有する。セレクタ１２ａの入力０〜３は、上述の節点Ｎ０〜Ｎ４に接続される。セレクタ１２ａの入力４は、判定回路１１ａ〜１１ｄの出力に接続される。セレクタ１２ａの出力は、データ端子９ｂ〜９ｅ（データバス）に接続される。セレクタ１２ａは、制御端子９ａからの識別信号ＵＢ０〜４（ＵＢ０、ＵＢ１、ＵＢ２、ＵＢ３、ＵＢ４）の入力に基づいて、入力０〜入力４のいずれかを出力する。 
【００８８】
判定回路１１ａ〜１１ｄは、保持回路１０ａ〜１０ｄに対応して設けられる。判定回路１１ａ〜１１ｄの第１の入力は、上述の節点Ｎ０〜Ｎ３に接続される。判定回路１１ａ〜１１ｄの第２の入力は、保持回路１０ａ〜１０ｄの出力に接続される。判定回路１１ａ〜１１ｄの出力は、セレクタ１２ａの入力４に接続される。 
【００８９】
判定回路１１ａ〜１１ｄは、保持回路１０ａ〜１０ｄに保持されている単位パタンと、テスト対象回路８から保持回路１０ａ〜１０ｄに新たに出力される単位パタンとが等しいかどうかを判定する。判定回路１１ａ〜１１ｄは、比較するパタンが等しい場合には０を出力し、等しくない場合には１を出力する。そして、セレクタ１２ａの入力４には、判定回路１１ａ〜１１ｄの判定結果が４ビットの信号（判定パタン）として入力される。 
【００９０】
なお、図１０に示すように、判定回路１１ｄは、ＸＯＲ回路１３ｄ、ＯＲ回路１４ｄを有する。ＸＯＲ回路１３ｄは、保持回路１０ｄに保持された単位パタン、テスト対象回路８から保持回路１０ｄに出力された単位パタンが等しいパタンかを判定する。そして、パタンの更新があった場合、１（Ｈレベルの信号）をＯＲ回路１４ｄに出力する。そして、ＯＲ回路１４ｄは、ＸＯＲ回路１３ｄから入力される４ビットの信号のいずれかで１がある場合、パタン更新があったとする信号１を出力する。なお、ＸＯＲ回路１３ｄは、実際には、４つのＸＯＲ回路を含む。判定回路１１ｄに関する説明は、他の判定回路１１ａ〜１１ｃにも当てはまる。 
【００９１】
なお、図１０から明らかなように、判定回路１１ａの出力信号名はedge_o_0である。判定回路１１ｂの出力信号名はedge_o_1である。判定回路１１cの出力信号名はedge_o_2である。判定回路１１ｄの出力信号名はedge_o_3である。 
【００９２】
上述の説明から明らかなように、出力信号edge_o_0は、内部信号sig_o_00〜sig_o_03のいずれかの信号が変化したとき0から１となる。同様に、出力信号edge_o_1は、内部信号sig_o_04〜sig_o_07のいずれかの信号が変化したとき0から１となる。出力信号edge_o_2は、内部信号sig_o_08〜sig_o_11のいずれかの信号が変化したとき0から１となる。出力信号edge_o_4は、内部信号sig_o_12〜sig_o_15のいずれかの信号が変化したとき0から１となる。 
【００９３】
テスト対象回路８は、制御端子９ｇからのクロックＣＬ２の入力に基づいて動作を開始する。 
【００９４】
本実施形態にかかる照合用テスト回路７は、識別信号ＵＢ０〜４の入力に基づいて特定される単位パタンを照合パタンから選択的に出力する。このようにして、照合用テスト回路７から出力される重複する単位パタンを排除することができる。結果として、テスト工程の短時間化を図ることができる。また、外部に格納される照合用の単位パタンの列数を大幅に削減することができる。なお、各識別信号ＵＢ０〜４は後述の上位識別番号（ＵＳＮ）に対応し、ＬＢ０〜ＬＢ３は後述の下位識別番号（ＬＳＮ）に対応する。 
【００９５】
次に、図１１を参照して、本実施形態にかかるテスト方法について説明する。 
【００９６】
まず、内部信号への識別番号の割当てを実行する（Ｓ１）。つまり、図１０に示すように、内部信号に信号名をつける。また、照合パタンについては、図１２に示す内部信号割当表を作成する。図１２では、上位、下位という２つの階層からなる識別番号を各内部信号に付与している。識別番号の上位０〜３（上位識別番号（ＵＳＮ））は、照合パタンの分割後の各単位パタンに対応する。ＵＳＮ４は、判定回路１１からの４ビットの判定信号（判定パタン）に対応する。識別番号の下位（下位識別番号（ＬＳＮ））は、ＵＳＮの区分内における個々の信号線に対応する。本実施形態においても、Ｓ１の段階で、テスト対象回路８から出力される照合パタンを分割する。 
【００９７】
次に、照合用テスト回路を半導体集積回路５１に組み込む（Ｓ２）。具体的には、図１０の回路図に示すように、照合用テスト回路７を半導体集積回路５１に組み込む。 
【００９８】
次に、照合用テスト回路７を空箱モデルに置き換える（Ｓ３）。具体的には、照合用テスト回路について、入力−出力の対応関係を無効にする。 
【００９９】
次に、シミュレーションを実行し、半導体集積回路５１の内部信号パタンを抽出する（Ｓ４）。具体的には、図１３に示すように、テスト対象回路８への駆動パタン、テスト対象回路８からの照合パタンを抽出する。なお、ここでは、内部信号パタン（駆動パタン、照合パタン）は第１の実施形態におけるものと等しい。 
【０１００】
なお、駆動パタンは、そのパタン番号（ＰＮ１）順で、テスト対象回路８に入力される。つまり、ＰＮ１＝０の駆動パタンから順にＰＮ１＝５の駆動パタンが、テスト対象回路８に入力される。また、照合パタンも、そのパタン番号（ＰＮ１）順で、テスト対象回路８から出力される。つまり、ＰＮ１＝０の照合パタンから順にＰＮ１＝５の照合パタンが、テスト対象回路８から出力される。 
【０１０１】
次に、パタン変換（Ｓ５）を実行する。具体的には、テスト対象回路８から出力されるＰＮ１＝０〜５の各照合パタンに基づいて、照合用テスト回路７への入出力パタン（照合端子パタン）列を生成する。尚、照合端子パタンは、図１０の外部端子９ａ〜９ｇに入出力されるパタンを意味する。Ｓ５により、半導体集積回路５１から外部に出力される信号のデータ量は大幅に削減される。なお、Ｓ５の詳細については、後述する。また、パタン変換（Ｓ５）では、半導体集積回路５１に入力されるパタン（駆動端子パタン）列も作成する。これにより、半導体集積回路５１における駆動端子パタンと照合端子パタンとの関係が明らかになる。 
【０１０２】
次に、シミュレーションを実行し、照合可能かを確認する（Ｓ６）。具体的には、入力された駆動端子パタンに応じて、所定の照合端子パタンが半導体集積回路５１から出力されるのか確認する。 
【０１０３】
次に、Ｓ６にて照合可能となったことを前提として、製造した半導体集積回路５１を実際にテストする（Ｓ７）。具体的には、テスターを用いて、製造した個々の半導体集積回路５１について動作テストを実行する。 
【０１０４】
このようにして半導体集積回路５１のテストは実行される。 
【０１０５】
以下、図１４乃至１８を用いて、図１１のパタン変換（Ｓ５）について具体的に説明する。なお、パタン変換（Ｓ５）の前段階のＳ１で、照合パタンの分割は実行されている。
【０１０６】
図１４に示すように、まず、変化点検出表を作成する（Ｓ５０３）。次に、外部端子パタンを作成する（Ｓ５０４）。 
【０１０７】
以下、図１４のＳ５０３について、図１５及び図１６を用いて具体的に説明する。図１５は、Ｓ５０３の詳細なフローチャートである。図１６は、変化点検出表の作成を説明するための説明図である。 
【０１０８】
Ｓ５０３では、図１６（ａ）を正面視して、ＵＳＮの区分内で、互いに上下に位置する単位パタンが等しいかどうかを判断し、その判断結果を図１６（ｂ）の変化点検出表に書き込む。なお、ここでは、ＰＮ１＝０の照合パタンから処理を開始し、ＵＳＮ＝０の信号から処理を開始する。 
【０１０９】
図１５に示すように、まず、処理対象とする照合パタンを設定する（Ｓ１）。ここでは、上述のように、ＰＮ１＝０の照合パタンを処理対象とする（Ｓ１）。 
【０１１０】
次に、特定した照合パタンに含まれる単位パタンを特定する（Ｓ２）。ここでは、上述のように、ＵＳＮ＝０の単位パタンを処理対処として特定する（Ｓ２）。 
【０１１１】
次に、ＰＮ１＝０であるのか判断する（Ｓ３）。 
【０１１２】
ＰＮ１＝０の場合、Ｓ１３に進む。そして、図１６（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）にＸ（変化有／無特定できず）を格納する（Ｓ１３）。 
【０１１３】
ＰＮ１≠０の場合、Ｓ４に進む。そして、図１６（ａ）の表における座標（ＰＮ１，ＵＳＮ）の単位パタンを読み込む（Ｓ４）。例えば、ＰＮ１＝１、ＵＳＮ＝３の場合、読み込まれる単位パタンは、座標（１，３）から特定されるＨＬＨＬである。 
【０１１４】
次に、図１６（ａ）の表における座標（ＰＮ１ −１，ＵＳＮ）の単位パタンを読み込む（Ｓ５）。例えば、上述と同様に、ＰＮ＝１、ＵＳＮ＝３の場合、読み込まれる単位パタンは、座標（０，３）から特定されるＨＬＬＬである。 
【０１１５】
次に、Ｓ４で読み込んだ単位パタンがＳ５で読み込んだ単位パタンから変化したかを判断する（Ｓ６）。換言すると、単位パタンに更新があったのか確認する。なお、Ｓ４の前にＳ５を実行しても良い。 
【０１１６】
単位パタンの更新がある場合、Ｓ１２に進む。そして、上述と同様に、図１６（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）にＨを格納する（Ｓ１２）。 
【０１１７】
単位パタンの更新がない場合、Ｓ７に進む。そして、図１６（ｂ）に示す変化点検出表の座標（ＰＮ１，ＵＳＮ）にＬを格納する（Ｓ７）。 
【０１１８】
Ｓ７、Ｓ１２の後、ＵＳＮの値に１加算する（Ｓ８）。つまり、図１６（ａ）を正面視して左方向に処理対象とするＵＳＮをシフトさせる。 
【０１１９】
次に、判定信号に対応するＵＳＮ＝４を除くすべてのＵＳＮで上述の処理を実行したのか判断する（Ｓ９）。ここでは、ＵＳＮ＝４を除くＵＳＮの最大値は３である。従って、ＵＳＮ＝３であるのか判断する（Ｓ９）。 
【０１２０】
ＵＳＮ＝４を除くすべてのＵＳＮで上述の処理を実行していない場合（ＵＳＮ≠３の場合）、上述のＳ３に戻る。 
【０１２１】
ＵＳＮ＝４を除くすべてのＵＳＮで上述の処理を実行した場合（ＵＳＮ＝３）の場合、Ｓ１０に進む。そして、ＰＮ１の値に１加算する（Ｓ１０）。すなわち、図１６（ａ）の表を正面視して、下方向に処理対象とする照合パタンをシフトさせる。 
【０１２２】
次に、すべてのＰＮ１で処理が実行されたのか判断する（Ｓ１１）。 
【０１２３】
すべてのＰＮ１で処理が実行されていない場合にはＳ２に戻る。すべてのＰＮ１で処理が実行された場合、Ｓ５０３の処理は終了する。 
【０１２４】
図１５のフローチャートから明らかなように、ＰＮ１＝０の場合、常に、Ｓ３からＳ１３に進む。従って、図１６（ｂ）の変化点検出表の１行目にはＸＸＸＸが必ず格納される。ＰＮ１＝１以降は、Ｓ３からＳ４に進むため、Ｓ６の判断結果に基づいて、図１６（ｂ）の２行目以降にＨ又はＬが格納されることになる。 
【０１２５】
以下、図１６を参照して説明を補足する。 
【０１２６】
図１６（ａ）に示すように、ＰＮ１＝１の照合パタンは、ＰＮ１＝０の照合パタンと比較して、ＵＳＮ＝３の単位パタンで更新され、その他のＵＳＮ＝０〜２の単位パタンで更新されていない。換言すると、ＰＮ１＝１の照合パタンは、ＰＮ１＝０の照合パタンから更新された単位パタンをＵＳＮ＝３で持つ。従って、図１６（ｂ）の変化点検出表の２行目には、ＨＬＬＬが設定される。 
【０１２７】
図１６（ａ）に示すように、ＰＮ１＝２の照合パタンは、ＰＮ１＝１の照合パタンと比較して、どの単位パタンでも一致する。換言すると、ＰＮ１＝２の照合パタンは、ＰＮ１＝１の照合パタンから更新された単位パタンを持たない。従って、図１６（ｂ）の変化点検出表の３行目にはＬＬＬＬが設定される。 
【０１２８】
図１６（ａ）に示すように、ＰＮ１＝３の照合パタンは、ＰＮ１＝２の照合パタンと比較して、ＵＳＮ＝１、ＵＳＮ＝２の単位パタンで更新され、その他のＵＳＮ＝０、３の単位パタンでは更新されていない。換言すると、ＰＮ１＝３の照合パタンは、ＰＮ１＝２の照合パタンから更新された単位パタンをＵＳＮ＝１、ＵＳＮ＝２で持つ。従って、図１６（ｂ）の変化点検出表の４行目には、ＬＨＨＬが設定される。 
【０１２９】
なお、ＰＮ１＝４の場合、ＰＮ１＝５の場合は、上述のＰＮ１＝２の場合と同様である。このようにして、図１６（ａ）の照合パタンから、図１６（ｂ）の変化点検出表が作成される。なお、この作成処理は、コンピュータがプログラムを実行することにより実現される。 
【０１３０】
次に、図１４のＳ５０４について、図１７及び図１８を用いて説明する（適宜、図１６も参照する）。Ｓ５０４の処理によって、最終的には外部端子パタン（図１８（ａ）の照合端子パタン、図１８（ｂ）の駆動端子パタン）が作成される。尚、図１８（ａ）（ｂ）では、新たなパタン番号ＰＮ２が設定される。 
【０１３１】
図１７に示すように、まず、ＰＮ１、ＰＮ２を０とする（Ｓ１）。Ｓ５０３と同様に、ここでもＰＮ１＝０から処理を実行する。 
【０１３２】
次に、判定パタンを照合端子パタンに格納する（Ｓ２）。具体的には、ＵＢ＝４とし、ＣＬ１＝１とし、ＣＬ２＝内部信号パタン（図１３）のＣＬ２とする。データバスには、現在のＰＮ１に基づいて変化点検出表（図１６（ｂ））から取得した判定パタンを格納する。この判定パタンは、図１０の判定回路１１から出力される４ビットの信号に対応する。 
【０１３３】
次に、ＰＮ２の値に１加算する（Ｓ３）。次に、ＵＳＮ＝０とする（Ｓ４）。 
【０１３４】
次に、図１６（ｂ）の変換点検出表の座標（ＰＮ１，ＵＳＮ）の値がＨ又はＸであるのか判断する（Ｓ５）。換言すると、図１５のＳ６でパタン更新があったと判断されたか判断する。変換点検出表の座標（ＰＮ１，ＵＳＮ）の値がＨ又はＸの場合、Ｓ６に進む。 
【０１３５】
Ｓ６では、Ｓ５の判定結果に基づいて、更新パタンの情報を照合端子パタンに格納する。つまり、現在のＵＳＮを、図１８（ａ）の照合端子パタンのＵＢに格納する。また、図１６（ａ）の座標（ＰＮ１，ＵＳＮ）の単位パタンを、図１８（ａ）のデータバスに格納する。また、図１８（ａ）のＣＬ１を０とし、ＣＬ２を０とする。 
【０１３６】
次に、ＰＮ２の値に１加算する（Ｓ７）。 
【０１３７】
次に、ＵＳＮの値に１加算する（Ｓ８）。 
【０１３８】
次に、すべてのＵＳＮについて処理が実行されたのか判断する（Ｓ９）。実行されていない場合には、上述のＳ５に戻る。実行されている場合には、Ｓ１０に進む。 
【０１３９】
Ｓ１０では、ＰＮ１の値に１加算する。 
【０１４０】
次に、すべてのＰＮ１について処理が実行されたか確認する（Ｓ１１）。実行された場合、Ｓ５０４のステップは終了する。実行されていない場合、Ｓ２に戻る。このようにして照合端子パタン（図１８（ａ））は作成される。 
【０１４１】
図１６（ｂ）に示すように、変化点検出表の１行目（ＰＮ１＝０の行）はすべてＸである。従って、ＰＮ１＝０の照合パタンの場合、すべてのＵＳＮにおいて図１７のＳ６が実行される。そして、図１８（ａ）のＰＮ２＝１〜４の各データバスには、ＵＳＮ＝０〜３に対応する４つの単位パタンが格納される。 
【０１４２】
図１６（ｂ）に示すように、変化点検出表の２行目（ＰＮ１＝１の行）は、ＨＬＬＬである。従って、ＰＮ１＝１の照合パタンの場合、ＵＳＮ＝３のみで図１７のＳ６が実行される。換言すると、ＰＮ１＝２の照合パタンは、ＰＮ１＝１の照合パタンのうちＵＳＮ＝３の単位パタンのみで更新がある。従って、図１８（ａ）のＰＮ２＝６のデータバスには、ＵＳＮ＝３の単位パタンのみが格納される。 
【０１４３】
図１６（ｂ）に示すように、変化点検出表の３行目（ＰＮ１＝２の行）は、すべてＬである。したがって、ＰＮ１＝２の照合パタンでは、どのＵＳＮにおいても図１７のＳ６が実行されない。図１８（ａ）には、どのＵＳＮ＝０〜３の単位パタンも格納されない。 
【０１４４】
図１６（ｂ）に示すように、変換点検出表の４行目（ＰＮ１＝３の行）は、ＬＨＨＬである。従って、ＰＮ１＝３の照合パタンの場合、ＵＳＮ＝１、ＵＳＮ＝２で図１７のＳ６が実行される。換言すると、ＰＮ１＝３の照合パタンは、ＰＮ１＝２の照合パタンのうちＵＳＮ＝１、ＵＳＮ＝２の単位パタンで更新がある。従って、図１８（ａ）のＰＮ２＝９、１０のデータバスには、ＵＳＮ＝１、ＵＳＮ＝２の単位パタンが格納される。 
【０１４５】
図１６（ｂ）の変換点検出表の５行目（ＰＮ１＝４の行）、６行目（ＰＮ１＝５の行）は、３行目の場合と同様である。 
【０１４６】
また、図１８（ａ）の照合端子パタンから明らかなように、ＰＮ１＝０以外のどの照合パタンにおいても、判定パタンは出力される。すなわち、照合端子パタンには、照合パタンごとにＵＢ＝４の判定パタンが格納される。このように単位パタンの更新情報を出力させることで、重複する単位パタンを出力端子からわざわざ出力させる必要を解消できる。そして、更新のある単位パタンを選択的に出力端子から出力させるように設定できる。よって、半導体集積回路５１から出力されるテスト用の信号のデータ量を大幅に削減できる。そして、テスト工程に要する時間の短縮化を図ることができると共に、外部に蓄積されるテスト用の信号のデータ量を大幅に削減できる。 
【０１４７】
このように本実施形態においては、テスト対象回路８から出力される照合パタンを、照合端子パタンに変換する。 
【０１４８】
なお、図１８（ａ）の作成に際して、図１８（ｂ）の駆動パタンも作成する。これによって、駆動パタン、照合パタン（期待値）、らの関係を明らかにする。そして、図１１のＳ６に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、照合用テスト回路７のデータ端子９ｂ〜９ｅから出力される判定パタン、単位パタンが期待値と等しいかを確認する。 
【０１４９】
上述の説明から明らかなように、本実施形態においては、ＵＳＮを区分として照合パタンを複数の単位パタンに分割し、ＵＳＮに基づいて特定される単位パタンを照合パタンから選択的に出力する。また、判定回路１１の判定パタンも合わせて出力させる。換言すると、更新のない単位パタンを照合用テスト回路７から出力させない。よって、テスターに格納されるパタンの行数を大幅に削減することができる。また、セレクタ１２ａから判定回路１１の判定パタンも合わせて出力されるため、判定パタンの出力のために別途外部端子を設ける必要もない。
【０１５０】
〔第３の実施形態〕 
本発明の第３の実施形態について、以下、図１９乃至図２３を用いて説明する。本実施形態は、第２の実施形態とは異なり、判定パタンの出力用の外部端子が設けられている。ここでは、この異なる点についてのみ説明し、第２の実施の形態と重複する説明は省略する。尚、本実施形態においても、上述の相違点に起因する効果を除いて、第２の実施形態で説明したものと同様の作用効果を得ることができる。 
【０１５１】
図１９に、半導体集積回路（ＬＳＩ）５２の概略的な回路図を示す。図２０に、内部信号への識別番号の割当を示す。図２１に、本実施形態におけるパタン変換のフローチャートを示す。図２２に、Ｓ５０５の詳細なフローチャートを示す。図２３に外部端子パタン（図１８（ａ）に照合端子パタン、図１８（ｂ）に駆動端子パタン）を示す。 
【０１５２】
図１９に示すように、半導体集積回路５２は、判定パタンの出力用のデータ端子９ｈ〜９ｋを有する。判定回路１１ａ〜１１ｄからの出力信号edge_o_0〜edge_o_3の４ビットの判定パタンは上述のデータ端子９ｈ〜９ｋから出力される。 
【０１５３】
また、図２０に示すように、判定回路１１のそれぞれの出力信号edge_o_0〜edge_o_3には識別番号を割り当てない。ここでは、判定回路１１からの判定パタンはセレクタ１２ｂによって選択的に出力されないからである。 
【０１５４】
本実施形態においては、図２１に示す手順で、パタン変換が実行される。まず、第２の実施形態と同様に、変化点検出表を作成する（Ｓ５０３）。次に、外部端子パタンの作成をする（Ｓ５０５）。Ｓ５０５のステップは、第２の実施形態と異なる。 
【０１５５】
以下、図２２及び図２３を用いて、Ｓ５０５について説明する。なお、第２の実施形態におけるＳ５０３の説明から明らかなように、Ｓ５０５の実行開始時には、すでに変化点検出表（図１６（ｂ）と同じ）が作成されている。また、以下の説明では、第２の実施形態における図１１、図１３、図１６を適宜参照するものとする。 
【０１５６】
図２２に示すように、まず、ＰＮ１＝０、ＰＮ２＝０とする（Ｓ１）。 
【０１５７】
次に、判定パタンを照合端子パタンに格納する（Ｓ２）。具体的には、図２３（ａ）の判定パタンデータバスに、変化点検出表（図１６（ｂ））のＰＮ１から特定される４ビットの値（ＵＳＮ＝０〜３）を格納する。また、図２３（ａ）のＣＬ１に１を格納する。また、図２３（ａ）のＣＬ２に、図１３の現在のＰＮ１に基づいて特定されるＣＬ２を格納する。 
【０１５８】
次に、変化点検出表のＰＮ１の信号がすべてＬであるのか判断する（Ｓ３）。すなわち、前回のＰＮ１の照合パタンと今回のＰＮ１の照合パタンとを比較して、パタンの更新があるのか判断する。換言すると、照合パタン毎に、パタンの更新があったのか判断する。更新がない場合は、ＰＮ２の値に１加算する（Ｓ１２）。そして、Ｓ１０に進む。 
【０１５９】
更新がある場合、初期設定として図２３（ａ）のＵＳＮの値を０とする（Ｓ４）。 
【０１６０】
そして、変化点検出表の座標（ＰＮ１，ＵＳＮ）がＨであるのか判断する（Ｓ５）。つまり、単位パタンごとにパタンの更新があったのかを判断する。 
【０１６１】
単位パタンの更新があった場合には、更新のあるパタンを照合端子パタンに格納する（Ｓ６）。つまり、図２３（ａ）のＵＢに、現在のＵＳＮを格納する。また、単位パタンデータバスに、図１６（ａ）の座標（ＰＮ１，ＵＳＮ）で特定される単位パタンを格納する。また、ＣＬ１に０、ＣＬ２に０を格納する。 
【０１６２】
次に、ＰＮ２の値に１加算する（Ｓ７）。 
【０１６３】
次に、ＵＳＮの値に１加算する（Ｓ８）。 
【０１６４】
次に、すべてのＵＳＮで処理を実行したのか判断する（Ｓ９）。すべてのＵＳＮで処理が実行されていない場合、Ｓ５に戻る。すべてのＵＳＮで処理が実行されている場合、Ｓ１０に進む。 
【０１６５】
次に、ＰＮ１の値に１加算する（Ｓ１０）。 
【０１６６】
次に、すべてのＰＮ１で処理が実行されたのか判断する（Ｓ１１）。すべてのＵＳＮで処理が実行されていない場合、Ｓ２に戻る。すべてのＵＳＮで処理が実行されている場合、Ｓ５０５のステップは終了する。 
【０１６７】
図１６（ｂ）に示すように、変化点検出表の１行目（ＰＮ１＝０の行）はすべてＸである。従って、ＰＮ１＝０の場合、すべてのＵＳＮにおいて図２２のＳ６が実行される。そして、図２３（ａ）のＰＮ２＝０〜３の各単位データバスには、ＰＮ１＝０のＵＳＮ＝０〜３に対応する４つの単位パタンが格納される。 
【０１６８】
図１６（ｂ）に示すように、変化点検出表の２行目（ＰＮ１＝１の行）は、ＨＬＬＬである。従って、ＰＮ１＝１の場合、ＵＳＮ＝３で図２２のＳ６が実行される。換言すると、ＰＮ１＝１の照合パタンは、ＰＮ１＝１の照合パタンのうちＵＳＮ＝３の単位パタンのみで更新がある。従って、図２３（ａ）のＰＮ２＝４の単位パタンデータバスには、ＰＮ１＝１の照合パタンに含まれるＵＳＮ＝３の単位パタンのみが格納される。 
【０１６９】
図１６（ｂ）に示すように、変化点検出表の３行目（ＰＮ１＝２の行）は、すべてＬである。したがって、ＰＮ１＝２では、どのＵＳＮにおいても図２２のＳ６が実行されない。そして、図２３（ａ）には、ＰＮ１＝２の照合パタンに含まれるＵＳＮ＝０〜３の単位パタンのいずれも格納されない。 
【０１７０】
図１６（ｂ）に示すように、変換点検出表の４行目（ＰＮ１＝３の行）は、ＬＨＨＬである。従って、ＰＮ１＝３の場合、ＵＳＮ＝１、ＵＳＮ＝２の２つの単位パタンで、図２２のＳ６が実行される。換言すると、ＰＮ１＝３の照合パタンは、ＰＮ１＝２の照合パタンのうちＵＳＮ＝１、ＵＳＮ＝２の単位パタンで更新がある。従って、図２３（ａ）のＰＮ２＝６、７の単位パタンデータバスには、ＰＮ１＝３の照合パタンに含まれるＵＳＮ＝１、ＵＳＮ＝２の単位パタンが格納される。 
【０１７１】
図１６（ｂ）の変換点検出表の５行目（ＰＮ１＝４の行）、６行目（ＰＮ１＝５の行）は、３行目の場合と同様である。 
【０１７２】
また、図２３の照合端子パタンから明らかなように、ＰＮ１＝０以外の照合パタンごとに、判定パタンは出力される。これによって、単位パタンの更新情報を用意できる。このように照合パタンの更新情報を出力させることで、重複する単位パタンを出力端子からわざわざ出力させる必要はなく、更新のある単位パタンのみを出力端子から出力させればよい。よって、半導体集積回路５２から出力されるテスト用の信号のデータ量を削減できる。 
【０１７３】
このように本実施形態においては、テスト対象回路８から出力される照合パタンを照合端子パタンに変換する。 
【０１７４】
なお、図２３（ａ）の作成に対応して、図２３（ｂ）の駆動パタンも作成する。これによって、駆動パタン、照合パタン（期待値）との関係を明らかにする。そして、図１１のＳ６に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、実際に照合用テスト回路７のデータ端子９ｂ〜９ｅから出力される単位パタン、データ端子９ｈ〜９ｋから出力される判定パタン、が期待値（図２３（ａ））と等しいかを確認する。 
【０１７５】
〔第４の実施形態〕 
本発明の第４の実施形態について、以下、図２４乃至図２７を用いて説明する。尚、本実施形態においては、テスト対象回路に入力される駆動パタン及びテスト対象回路から出力される照合パタンの両方でパタン変換する。第１の実施形態、第２の実施形態と重複する説明は省略する。 
【０１７６】
図２４に、半導体集積回路（ＬＳＩ）５３の概略的な回路図を示す。図２５に、本実施形態におけるパタン変換のフローチャートを示す。図２６に、駆動用の変化点検出表を示す。図２７に、外部端子パタンを示す。 
【０１７７】
図２４に示すように、本実施形態では、半導体集積回路（ＬＳＩ）５３は、テスト対象回路３０の駆動側に、第１の実施形態における駆動用テスト回路１及び外部端子３ａ〜３ｆを有し、テスト対象回路３０の照合側に、第２の実施形態における照合用テスト回路７、外部端子９ａ〜９ｇを有する。 
【０１７８】
本実施形態においては図２５に示すようにパタン変換を実行する。すなわち、まず、照合用の変化点検出表を作成する（Ｓ５０３）。次に、照合端子パタン（Ｓ５０４）を作成する。次に、駆動用の変化点検出表を作成する（Ｓ５０１）。次に、駆動端子パタンを作成する（Ｓ５０２）。そして、最終的に、外部端子パタンを作成する（Ｓ５０６）。 
【０１７９】
Ｓ５０３、Ｓ５０４は、第２の実施形態で説明したものと同様である。Ｓ５０１では、Ｓ５０４により作成された駆動端子パタン（図１８（ｂ））を用いて、図２６に示すように、駆動用の変化点検出表を作成する。そして、最終的には、作成した駆動端子パタン、作成した照合端子パタンを、図２７のようにまとめる。なお、図２７では、駆動端子パタンと照合端子パタンとをまとめる関係上新たなパタン番号（ＰＮ３）を設けている。なお、駆動端子パタンの作成（Ｓ５０２）と同時に外部端子パタンの作成（Ｓ５０６）の実行をすることもできる。 
【０１８０】
本実施形態においては、駆動側及び照合側の双方において、上述したパタン変換を実行する。これによって、外部端子に入出力されるテスト用の信号のデータ量を大幅に削減することができる。そして、テスト工程の短時間化を図ると共に、外部に蓄積される信号のデータ量を削減できる。 
【０１８１】
上述したパタン変換を実行する場合と実行しない場合とでは、外部に蓄積されるテスト用のパタン数は大きく異なる。内部信号本数１１４、外部端子本数２０を駆動側の条件とし、内部信号本数１２０、外部端子本数２０を照合側の条件とした場合、上述したパタン変換を実行すると、外部に蓄積されるテスト用の信号のパタン数は７１１７３パタン程度に設定できる。しかし、上述したパタン変換を実行しない場合（重複するパタンを排除しない場合）、外部に蓄積されるテスト用の信号のパタン数は４５９０８８パタン程度に設定しなければならない。
【０１８２】
〔第５の実施形態〕 
本発明の第５の実施形態について、以下、図２８乃至図５１を用いて説明する。尚、本実施形態においては、遅延テストを実行する。これによって、テスト対象回路をより高精度にテストすることを実現できる。
【０１８３】
図２８は、半導体集積回路の概略的な接続関係を示す説明図である。図２９は、駆動用テスト回路の回路図である。図３０は、照合用テスト回路の回路図である。図３１及び３２は、保持回路間の対応関係を示す説明図である。図３３及び３４は、内部信号に対する識別番号の割当を示す説明図である。図３５は、パタン処理装置の概略構成を示すブロック図である。図３６は、外部端子パタンの作成工程を示す概略的なフローチャートである。図３７は、内部信号パタンを示す表である。図３８は、パタングループ番号と遅延テストの実行との関係を示す表である。図３９は、パタン変換後の駆動パタンを示す表である。図４０は、照合端子パタンを示す表である。図４１は、駆動パタン及び照合パタンを時系列に配置したシーケンス表である。図４２は、中間パタンＡの作成工程を示すフローチャートである。図４３は、中間パタンＡを示す表である。図４４は、中間パタンＡから中間パタンＢを作成する工程を示すフローチャートである。図４５は、中間パタンＢを示す表である。図４６は、中間パタンＢから外部端子パタンを作成する工程を示すフローチャートである。図４７は、外部端子パタンを示す表である。図４８〜５１は、半導体集積回路の動作を説明するためのタイミングチャートである。
【０１８４】
はじめに図２８〜３２を参照して本実施形態にかかるテスト回路の回路構成について説明する。図２８に、半導体集積回路５６の概略的な回路図を示す。図２９に、半導体集積回路５６内の駆動用テスト回路５４の詳細な回路図を示す。図３０に、半導体集積回路５６内の照合用テスト回路の詳細な回路図を示す。図３１及び３２に、保持回路間の対応関係を示す。
【０１８５】
図２８に示すように、本実施形態では、第４の実施形態とは異なり、半導体集積回路５６は、バッファ回路６０、バッファ回路６５、制御端子３ｈ、及びＯＲ回路６８を更に備える。なお、バッファ回路６０は、保持回路６１及びＯＲ回路６２を有する。また、バッファ回路６５は、保持回路６６及びＯＲ回路６７を有する。
【０１８６】
図２８乃至３０に示すように、保持回路６１は、保持回路６とテスト対象回路３０間に接続される。保持回路６６は、テスト対象回路３０と保持回路１０間に接続される。制御端子３ｈは、ＯＲ回路６２の第１入力端子に接続される。制御端子９ｇは、ＯＲ回路６２の第２入力端子に接続される。ＯＲ回路６２の出力端子は、保持回路６１のクロック端子に接続される。制御端子９ｆは、ＯＲ回路６８の第１入力端子に接続される。制御端子９ｆは、ＯＲ回路６７の第１入力端子に接続される。制御端子９ｇは、ＯＲ回路６８の第２入力端子に接続される。制御端子９ｇは、ＯＲ回路６７の第２入力端子に接続される。ＯＲ回路６８の出力端子は、保持回路１０のクロック端子に接続される。ＯＲ回路６７の出力端子は、保持回路６６のクロック端子に接続される。なお、制御端子９ｇは、テスト対象回路の制御端子に接続される。
【０１８７】
ＯＲ回路６２は、クロックＣＬ３とクロックＣＬ２の少なくとも一方がハイレベルであればハイレベルの信号を出力する。ＯＲ回路６７は、クロックＣＬ１ｂ又はクロックＣＬ２の少なくとも一方がハイレベルであればハイレベルの信号を出力する。ＯＲ回路６８も、ＯＲ回路６７と同様に動作する。
【０１８８】
保持回路６１は、クロックＣＬ３の立上り又はクロックＣＬ２の立上りに同期して、保持回路６から転送される駆動パタンを保持し、かつ現に保持していた駆動パタンをテスト対象回路３０に出力する。なお、保持回路６は、クロックＣＬ１ａの立上りに同期して、セレクタ５ａ〜５ｄから入力される駆動パタンを保持し、かつ現に保持していた駆動パタンを保持回路６１に出力する。
【０１８９】
保持回路６６は、クロックＣＬ１ｂの立上り又はクロックＣＬ２の立上りに同期して、テスト対象回路３０から転送される照合パタンを保持し、かつ現に保持していた照合パタンを保持回路１０に出力する。なお、図２８から明らかなように、保持回路１０も保持回路６６と同様に動作する。
【０１９０】
保持回路６１及び保持回路６６は、共に１６ビットのＦ／Ｆ（Ｆｌｉｐ／Ｆｌｏｐ）である。図３１に示すように、保持回路６１は、保持回路６と同様に単位パタン数に応じて分割された保持回路６１ａ〜６１ｄを有する。図３２に示すように、保持回路６６は、保持回路１０と同様に、単位パタン数に応じて分割された保持回路６６ａ〜６６ｄを有する。
【０１９１】
保持回路６１を新たに設けたことに伴って、駆動用テスト回路５４の信号名を図２９に示すように再設定し、図３３に示すように識別番号を設定している。同様に、保持回路６６を新たに設けたことに伴って、照合用テスト回路５５の信号名を図３０に示すように再設定し、図３４に示すように識別番号を設定している。
【０１９２】
本実施形態では、クロックＣＬ２の周波数をテスト対象回路３０の実動作時の周波数に適合させた条件で、保持回路６１に保持させた駆動パタンと保持回路６に保持させた駆動パタンをテスト対象回路に順次入力させる。このとき、テスト対象回路３０から連続的に出力される照合パタンは、保持回路１０及び保持回路６６でそれぞれ保持される。保持回路１０及び保持回路６６それぞれで保持された照合パタンが期待値に一致するか否かを判定することで、テスト対象回路３０の実動作周波数における遅延テストを実現することができる。尚、説明を簡略にするため、テスト対象回路３０からは照合パタンが出力されるものとする。つまり、テスト対象回路３０からは論理的に誤ったパタンが出力されない場合を想定して説明する。
【０１９３】
また、本実施形態では、保持回路１０とテスト対象回路３０間に保持回路６６を設ける。この場合、テスト対象回路３０に入力された信号がテスト対象回路３０内で一時的に保持されずに通過したとしても、その信号は、保持回路６６に保持され、直接的に保持回路１０に接続されない。従って、テスト対象回路３０の回路構成に依存せずに、駆動パタンのセット動作と照合パタンのリード動作を並列して実行することができる。換言すると、本実施形態では、排他的に駆動パタンのセット動作と照合パタンのリード動作とを実行しなくても良く、効率的に遅延テストを実行することができる。これらの点は後述の説明により更に明らかになる。
【０１９４】
ここで、図３５乃至４７を参照して、本実施形態における外部端子パタンの生成について説明する。
【０１９５】
図３５にパタン処理装置５００を示す。パタン処理装置５００は、通常のコンピュータであって、記憶領域に格納させたプログラムを演算処理部で順次実行することによって様々な機能を実現させる。なお、パタン処理装置５００は、テスト回路５６に外部端子を介して接続されるテスターであっても良い。
【０１９６】
パタン処理装置５００は、制御部４１０、及び記憶部４２０を有する。
【０１９７】
制御部４１０は、割当部４０１、変化点検出表作成部（検出部）４０２、駆動端子パタン作成部４０３、照合端子パタン作成部４０５、中間パタンＡ作成部４０６、中間パタンＢ作成部４０７、及び外部端子パタン作成部４０８を有する。なお、駆動端子パタン作成部４０３と照合端子パタン作成部４０５は、端子パタン作成部を形成する。また、中間パタンＡ作成部４０６、中間パタンＢ作成部４０７、及び外部端子パタン作成部４０８は入出力パタン作成部を形成する。
【０１９８】
記憶部４２０は、複数のテーブルを有する。具体的に明示すれば、記憶部４２０は、テーブルＩ４２２、テーブルＣＰ４２４、テーブルＤ４２６、テーブルＲ４２８、テーブルＡ４３０、テーブルＢ４３２、及びテーブルＣ４３６を有する。なお、各テーブルは、複数のフィールドが行方向及び列方向に配置されたデータ記憶領域である。各テーブルには、各行を識別する値が予めセットされている。各テーブルには、各列を識別する値が予めセットされている。
【０１９９】
割当部４０１は、後述のパタングループ番号（ＰＧＮ）の割当を実行する。変化点検出表作成部４０２は、前述の変化点検出表を作成する。駆動端子パタン作成部４０３は、前述の駆動端子パタン（駆動端子パタン列）を作成する。照合端子パタン作成部４０５は、前述の照合端子パタン（照合端子パタン列）を作成する。中間パタンＡ作成部４０６は、後述の中間パタンＡ（入出力端子パタン列）を作成する。中間パタンＢ作成部４０７は、後述の中間パタンＢ（入出力端子パタン列）を作成する。外部端子パタン作成部４０８は、後述の最終的な外部端子パタン（入出力端子パタン列）を作成する。
【０２００】
図３６に、外部端子パタンの作成工程を示す概略的なフローチャートを示す。図３６に示すように、まずパタングループ番号の割当を実行する（Ｓ４０１）。具体的には、割当部４０１は、記憶部のテーブルＩに格納済みの内部信号パタン（内部信号パタンデータ（駆動端子パタンデータ及び照合端子パタンデータ））に対してＰＧＮの割当を実行する。なお、テーブルＩの各内部信号パタンには、ＰＮ１、ＵＳＮ、ＬＳＮが割当部４０１によって割り当てられているものとする。
【０２０１】
図３７に、ＰＧＮの割当後の内部信号パタンを示す。割当部４０１は、新たに追加した保持回路数＝ＤＰとしたとき、ＤＰ＋１個単位でＰＧＮをＰＮ１に割り当てる。ここでは、ＤＰ＝１であるため、割当部４０１は、２つのＰＮ１を１単位として、ＰＮ１にＰＧＮを割り当てている。遅延テストを実現させるために、連続する２つの駆動パタンをテスト対象回路３０に順次入力する。従って、予め、同じテスト時にテスト対象回路３０に入力される２つの駆動パタンをＰＧＮ（識別値）でグループ化する。同様に、予め、同じテスト時にテスト対象回路３０から出力される照合パタンをＰＧＮでグループ化する。
【０２０２】
具体的には、割当部４０１は、ＰＮ１＝０及びＰＮ１＝１にＰＧＮ＝０を割り当てている。割当部４０１は、ＰＮ１＝２及びＰＮ１＝３にＰＧＮ＝１を割り当てている。割当部４０１は、ＰＮ１＝４及びＰＮ１＝５にＰＧＮ＝２を割り当てている。この場合、図３８に示すように、ＰＮ１＝０→ＰＮ１＝１間の遅延テスト、ＰＮ１＝２→ＰＮ１＝３間の遅延テスト、及びＰＮ１＝４→ＰＮ１＝５間の遅延テストを実行する。
【０２０３】
次に、駆動パタンの変化点検出表を作成する（Ｓ４０２）。具体的には、変化点検出表作成部４０２は、第１の実施形態で説明した方法によって、図３７の内部信号パタンに含まれる駆動パタンの変化点を検出し、その結果を順次テーブルＣＰに書き込む。このようにして、駆動パタンの変化点検出表は作成される。なお、このステップの詳細は、第１の実施形態で説明したとおりである（図５乃至９参照）。
【０２０４】
次に、駆動端子パタンを作成する（Ｓ４０３）。具体的には、駆動端子パタン作成部４０３は、Ｓ４０２で作成した変化点検出表に基づいて、テーブルＩに格納された駆動パタンから必要な単位パタンを順次リードし、テーブルＤにライトする。このようにして、駆動端子パタン表は作成される。なお、このステップの詳細は、第１の実施形態で説明したとおりである（図５乃至９参照）。
【０２０５】
図３９に、作成された駆動端子パタンを示す。図３９では、新たに入力パタン番号ＰＮＩ１で番号付けがされている。入力パタン番号ＰＮＩ１の番号順で、駆動用テスト回路の外部端子に駆動端子パタン（ｉＵＳＮ、ＣＬ１ａ、ＣＬ３、ｉ＿ＬＢ）がセットされる。但し、ｉＵＳＮは、制御端子３ａに入力される識別信号ｉ＿ＵＢに対応する。ｉ＿ＬＢは、データ端子３ｂ〜３ｅに入力される信号（単位パタン）に対応する。
【０２０６】
次に、照合パタンの変化点検出表を作成する（Ｓ４０４）。具体的には、変化点検出表作成部４０２は、第２の実施形態で説明した方法によって、図３７の内部信号パタンに含まれる照合パタンの変化点を検出し、その結果を順次テーブルＣＰに書き込む。このようにして、照合パタンの変化点検出表は作成される。なお、このステップの詳細は、第２の実施形態で説明したとおりである（図１４乃至１８参照）。従って、重複する説明は省略する。
【０２０７】
次に、照合端子パタンを作成する（Ｓ４０５）。具体的には、照合端子パタン作成部４０５は、Ｓ４０４で作成した変化点検出表に基づいて、テーブルＩに格納された照合パタンから必要な単位パタンを順次リードし、テーブルＲにライトする。このようにして、照合端子パタン表は作成される。なお、このステップの詳細は、第２の実施形態で説明したとおりである（図１４乃至図１８参照）。
【０２０８】
図４０に本実施形態において作成された照合端子パタンを示す。図４０では、新たに出力パタン番号ＰＮＯ１で番号付けがされている。ＰＮＯ１の番号順で、照合用テスト回路の外部端子に照合端子パタン（ｏＵＳＮ、ＣＬ１ａ、ＣＬ３、ｉ＿ＬＢ）がセットされる。但し、ｏＵＳＮは、制御端子９ａに入力される識別信号ｏ＿ＵＢに対応する。ｏ＿ＬＢは、データ端子９ｂ〜９ｅに入力される信号（単位パタン）に対応する。
【０２０９】
次に、中間パタンＡを作成する（Ｓ４０６）。具体的には、中間パタンＡ作成部４０６は、テーブルＤ及びテーブルＲに基づいてテーブルＡを作成する。なお、中間パタンＡは、最終的に作成されるべき外部端子パタンの前段階のパタンである。
【０２１０】
中間パタンＡの作成について説明する前に、図４１を参照して事前説明を行う。図４１は、パタングループ番号ＰＧＮ順に、同じパタングループ番号に属する駆動端子パタン及び照合端子パタンをこの順で配置した表である。但し、駆動端子パタンと照合端子パタン間には、テスト対象回路３０を駆動するための同期信号パタン（ラウンチパルス及びキャプチャパルスをセットするためのパタン）を挿入している。なお、図２８に模式的に示すように、外部端子９ｇとテスト対象回路の間にパルス生成回路（ＰＧ回路）９０を設け、所望の制御信号をパルス生成回路９０に入力させることで同期信号パルスを生成しても良い。なお、パルス生成回路は、逓倍器、分周器、及び発振器等が出力するパルスを、制御回路やフィルタ回路などで加工し、所望の個数分連続するパルスを出力する回路である。この場合には、予めパタン生成装置で生成するパタンでは、パルス生成回路９０に入力される制御信号に対応したパタンを駆動端子パタンと照合端子パタン間に挿入しておけば良い。また、図４１では、パタン番号ＰＮ２によって改めて番号付けがなされている。
【０２１１】
本実施形態では、駆動用テスト回路５４に駆動パタンをセットし、テスト対象回路３０にテストパルス（同期信号パルス）を入力し、照合用テスト回路５５から照合パタンをリードする一連の動作を基本サイクルとして繰り返し実行する。従って、まず、同じＰＧＮに属する駆動端子パタン、テストパルス、及び照合端子パタンをこの順で配置する。但し、同じＰＧＮに属する駆動端子パタン、テストパルス、及び照合端子パタンの配置順番は必ずしもこの順番でなくても良い。これらを配置する順番は、図２のステップ４で内部信号パタンを抽出した順番に依存する。そして、ＰＧＮ毎に配置された統合パタンをＰＧＮ順に配置する。このようにして図４１に示すシーケンスが組まれる。同じＰＧＮに属する駆動パタン、同期信号パタン、及び照合パタンの配置順番に関わらず、いずれの場合もＰＧＮ順でＰＧＮ毎に配置された統合パタンは配置される。
【０２１２】
図４２を参照して中間パタンＡの作成手順について説明する。なお、中間パタンＡは、上述の駆動端子パタン（図３９）及び照合端子パタン（図４０）に基づいて、中間パタンＡ作成部４０６によって作成される。中間パタンＡ作成部４０６が、テーブルＡに順次データをライトすることで、中間パタンＡがテーブルＡに生成される。
【０２１３】
まず、中間パタンＡの作成のために初期設定を実行する（Ｓ１）。すなわち、中間パタンＡ作成部４０６は、初期条件として、ＰＧＮ＝０，ＰＮＩ＝０，ＰＮＯ＝０，ＰＮ２＝０を予めパタン処理装置に用意したレジスタにセットする。
【０２１４】
次に、現在のＰＮＩが現在のＰＧＮに属するかどうかを判定する（Ｓ２）。具体的には、中間パタンＡ作成部４０６は、テーブルＤに格納された駆動端子パタン（図３９）を参照して、現在のＰＮＩ＝０によって指定されるＰＮＩ１＝０の行におけるＰＧＮの値が０（現在のＰＧＮの値）であるのかを判断する。
【０２１５】
現在のＰＮＩが現在のＰＧＮに属する場合、駆動用データの設定／格納を実行する（Ｓ３）。具体的には、現在のＰＮＩが現在のＰＧＮに属する場合、中間パタンＡ作成部４０６は、現在のＰＮＩにより指定される行の駆動端子パタンをリードし、リードしたデータを中間パタンＡ（テーブルＡの対応フィールド）にライトする。また、同時に、中間パタンＡの周期を長にセットし、ＣＬ２をテストクロック無入力（＝０）にセットする。なお、周期が長い場合には、テスターは低速度で駆動端子パタンを駆動用テスト回路５４にセットする。
【０２１６】
次に、ＰＮＩの値を＋１し、ＰＮ２の値を＋１する（Ｓ４）。具体的には、中間パタンＡ作成部４０６は、レジスタのＰＮ１の値を＋１し、レジスタのＰＮ２の値を＋１する。このようにＳ２〜Ｓ４の手順を踏むことによって、駆動端子パタンから中間パタンＡに必要なデータを移行し、かつ周期及びＣＬ２の値を適切な値にセットする。このとき、図４３では、ＰＮ２＝０〜ＰＮ２＝５までのデータが入力された状態になる。
【０２１７】
現在のＰＮＩが現在のＰＧＮに属しなくなった場合、テスト条件を設定する（Ｓ５）。より具体的には、中間パタンＡ作成部４０６は、周期を短に、ＣＬ２をテストクロック入力（＝１）にセットする手順を、ＰＮ２の値を１加算しながらＤＰ＋１回分だけ実行する。ここでは、ＤＰ＋１＝２であるため、２回分だけ上述の手順（周期を短に、ＣＬ２をテストクロック入力にセットする手順）を実行する。このとき、図４３では、ＰＮ２＝６、７のデータが入力された状態になる。
【０２１８】
次に、現在のＰＮＯが現在のＰＧＮに属するかどうかを判定する（Ｓ６）。具体的には、中間パタンＡ作成部４０６は、テーブルＲに格納された照合端子パタン（図４０）を参照して、現在のＰＮＯ＝０によって指定されるＰＮＯ１＝０の行におけるＰＧＮの値が０（現在のＰＧＮの値）であるのかを判断する。
【０２１９】
次に、現在のＰＮＯが現在のＰＧＮに属する場合、照合用データの設定／格納を実行する（Ｓ７）。具体的には、現在のＰＮＯが現在のＰＧＮに属する場合、中間パタンＡ作成部４０６は、現在のＰＮＯにより指定される行の駆動端子パタンをリードし、リードしたデータを中間パタンＡ（テーブルＡの対応するフィールド）にライトする。また、中間パタンＡ作成部４０６は、同時に、周期を長にセットし、ＣＬ２をテストクロック無入力（＝０）にセットする。
【０２２０】
次に、ＰＮＯの値を＋１し、ＰＮ２の値を＋１する（Ｓ４）。具体的には、中間パタンＡ作成部４０６は、レジスタのＰＮＯの値を＋１し、レジスタのＰＮ２の値を＋１する。このようにＳ６〜Ｓ９の手順を踏むことによって照合端子パタンから中間パタンＡにデータを移行する。このとき、図４３では、ＰＮ２＝８〜１４までのデータが入力された状態になる。
【０２２１】
現在のＰＮＯが現在のＰＧＮに属しなくなった場合、処理対象にするパタングループ番号ＰＧＮを＋１する（Ｓ９）。次に全てのＰＧＮで上述の処理を実行したかどうかを判定する（Ｓ１０）。具体的には、現在のＰＧＮの値がＰＧＮの最大値よりも大きな値になったか否かを判定する。このようにして図４３に示す中間処理パタンＡは作成される。なお、Ｓ９、Ｓ１０も中間パタンＡ作成部４０６によって実行される。
【０２２２】
図３６に戻って説明する。図３６に示すように、中間パタンＡの作成後、中間パタンＢを作成する（Ｓ４０７）。なお、中間パタンＢは、最終的に作成されるべき外部端子パタンの前段階のパタンであって、中間パタンＡに格納されたデータを部分的にリードすることによって作成される。Ｓ４０７のステップは、中間パタンＢ作成部４０７によって実行される。
【０２２３】
図４４を参照して中間パタンＢの作成手順について説明する。まず、中間パタンＢの作成のために初期設定を実行する（Ｓ１）。すなわち、中間パタンＢ作成部４０７は、初期条件として、ＰＮ２＝０，ＰＮ３＝０を予めパタン処理装置に用意したレジスタにセットする。
【０２２４】
次に、読み込むべき駆動端子パタンか否かを判定する（Ｓ２）。
【０２２５】
具体的には、中間パタンＢ作成部４０７は、次の条件１〜３を満足するかどうか中間パタンＡを参照して判断する。（条件１）現在のＰＮ２の値がＰＮ２の最大値ではないこと。（条件２）現在のＰＮ２により指定されるＣＬ３の値が１（＝パルス在り）であること。（条件３）現在のＰＮ２＋１により指定されるＣＬ２の値が１（＝パルス在り）であること。中間パタンＢ作成部４０７は、条件１〜３のいずれかを満足しない場合には、読み込むべき駆動端子パタンであると判断する。
【０２２６】
読み込むべき駆動端子パタンがある場合、読み込むべき照合端子パタンにデータ更新が必要か否かを判定する（Ｓ３）。
【０２２７】
具体的には、中間パタンＢ作成部４０７は、中間パタンＡを参照し、次の条件１〜３を満足するかどうかを判断する。（条件１）現在のＰＮ２の値が１以上であること。（条件２）現在のＰＮ２により指定されるＣＬ１ｂの値が１（＝パルス在り）であること。（条件３）現在のＰＮ２−１により指定されるＣＬ３の値が１（＝パルス在り）であること。中間パタンＢ作成部４０７は、条件１〜３のいずれかを満足しない場合には、読み込むべき照合端子パタンにデータ更新の必要がないと判断する。
【０２２８】
データ更新の必要がない場合、パタンを移行する（Ｓ４）。具体的には、中間パタンＢ作成部４０７は、現在のＰＮ２により指定されるテーブルＡのデータをリードし、このリードしたデータを現在のＰＮ３により指定されるテーブルＢのフィールドにライトする。
【０２２９】
データ更新の必要がある場合、データをリードし（Ｓ８）、ＣＬ１ｂ＝０にセットしたデータをライトする（Ｓ９）。具体的には、中間パタンＢ作成部４０７は、現在のＰＮ２により指定されるテーブルＡのデータをリードする。次に、中間パタンＢ作成部４０７は、リードしたデータ内のＣＬ１ｂの値を０にセットしたうえで、現在のＰＮ３により指定されるテーブルＢのフィールドにライトする。
【０２３０】
Ｓ４及びＳ９の後、現在のＰＮ３の値を＋１する（Ｓ５）。次に、現在のＰＮ２の値を＋１する（Ｓ６）。なお、Ｓ２の条件を満足する場合、直ちにＳ６のステップに移行する。なお、Ｓ５及びＳ６は、中間パタンＢ作成部４０７によって実行される。
【０２３１】
次に全てのＰＮ２で上述の手順を実行したかどうかを判定する（Ｓ７）。中間パタンＢ作成部４０７は、全てのＰＮ２で上述の手順を実行していなければ、上述のＳ２のステップに戻る。
【０２３２】
上述の手順を経て、ＰＮ２の値が小さい順で中間パタンＡは順次走査され、中間パタンＡから中間パタンＢにデータが移行される。なお、この場合、ＰＮ２＝５、ＰＮ２＝１８、ＰＮ２＝２６により指定されるパタンは、中間パタンＡから中間パタンＢに移行されない。これは、クロックＣＬ２とクロックＣＬ３の両方が、ＯＲ回路６２を介して保持回路６１の制御端子に接続されているためである。また、ＰＮ２＝８、ＰＮ２＝２１、ＰＮ２＝２９により指定されるＣＬ１ｂは、１から０に書き換えられたうえで、中間パタンＡから中間パタンＢに移行される。これは、クロックＣＬ１ｂとクロックＣＬ３の両方が、ＯＲ回路６７を介して保持回路６６に接続されているためである。このようにして図４５に示す中間処理パタンＢが作成される。
【０２３３】
図３６に戻って説明する。図３６に示すように、中間パタンＢの作成後、外部端子パタンを作成する（Ｓ４０８）。外部端子パタンは、中間パタンＢに基づいて外部端子パタン作成部４０８により作成される。なお、ここでいう外部端子パタンは、最終的に作成されるべき外部端子パタンであって、外部端子パタンをテスト回路に順次入力するテスターに格納される。
【０２３４】
図４６を参照して外部端子パタンの作成手順について説明する。まず、外部端子パタンの作成のために初期設定を実行する（Ｓ１）。すなわち、初期条件として、外部端子パタン作成部４０８は、予めパタン処理装置に用意したレジスタのＰＮ３＝０をセットする。
【０２３５】
次に、駆動端子パタンに１又は０が在るのか判断する（Ｓ２）。具体的には、外部端子パタン作成部４０８は、現在のＰＮ３により指定されるｉＵＳＮ、ＣＬ１ａ、ＣＬ３、ｉ＿ＬＢのどれかに０又は１がセットされているのか判断する。
【０２３６】
駆動端子パタンに１又は０がない場合、重ね合わせが不必要であるかを判断する（Ｓ３）。具体的には、外部端子パタン作成部４０８は、次の手順１〜３を実行する。（手順１）ＣＬ２＝１を指定するＰＮ３（ここでは、ＰＮ３ａとする）を現在のＰＮ３（ここでは、ＰＮ３ｃとする）の値以下の範囲（ＰＮ３ｃの値よりも小さな値を持つＰＮ３の集合内）でＰＮ３の値の大きい順で検索する。（手順２）手順１でＰＮ３ａがヒットした場合、ＣＬ１ｂ＝１を指定するＰＮ３（ここでは、ＰＮ３ｂとする）をＰＮ３ａの値以上の範囲（ＰＮ３ａの値よりも大きな値を持つＰＮ３の集合内）でＰＮ３の値の小さい順に検索する。（手順３）手順２でＰＮ３ｂがヒットした場合、ヒットしたＰＮ３ｂの値と現在のＰＮ３ｃの値とが一致するのかを判定する。手順３によりＰＮ３ｂの値とＰＮ３ｃの値とが一致する場合、外部端子パタン作成部４０８は、重ねあわせを実行する必要がないものと判断する。
【０２３７】
Ｓ３に含まれる上述の手順１乃至３について、ＰＮ３＝１３の場合について図４５を参照して説明する。手順１でＰＮ３＝６が特定される。手順２でＰＮ３＝１２が特定される。手順３でＰＮ３＝１３とＰＮ３＝１２の値が異なることが判定される。従って、この場合、外部端子パタン作成部４０８は、重ね合わせを実行することが必要と最終的に判断する。
【０２３８】
重ねあわせが必要である場合、重ね合わせを実行する（Ｓ４）。具体的には、外部端子パタン作成部４０８は、次の手順１、２を実行する。（手順１）ＣＬ２＝１を指定するＰＮ３を現在のＰＮ３の値以上の範囲でＰＮ３の値の小さい順に検索する。（手順２）手順１でＣＬ２＝１を指定するＰＮ３（ここでは、ＰＮ３ｄとする）がヒットすると、データ転送範囲（現在のＰＮ３よりも値が１大きいＰＮ３〜ＰＮ３ｄよりも値が１小さいＰＮ３）内のＰＮ３により指定される駆動端子パタン（ｉＵＳＮ、ＣＬ１ａ、ＣＬ３、ｉ＿ＬＢ）を中間パタンＢから順にリードし、リードしたパタンを外部端子パタンのＰＮ３が指し示す駆動端子パタン用フィールドにライトする。
【０２３９】
上述の手順１、２について、ＰＮ３＝１３の場合について図４５を参照して説明する。手順１で、ＰＮ３＝１７がＰＮ３ｄとして特定される。手順２で、ＰＮ３＝１４〜１６がデータ転送範囲に設定される。そして、ＰＮ３＝１４により指定される駆動端子パタン（ｉＵＳＮ＝０、ＣＬ１ａ＝１、ＣＬ３＝０、ｉ＿ＬＢ＝０１００）が中間パタンＢから駆動端子パタンのＰＮ４＝１３（ＰＮ３＝１３、１４）に転送され、同様にして、ＰＮ３＝１５により指定される駆動端子パタン（ｉＵＳＮ＝−，ＣＬ１ａ＝０、ＣＬ３＝１、ｉ＿ＬＢ＝――――）が中間パタンＢから駆動端子パタンのＰＮ４＝１４（ＰＮ３＝１４、１５）に転送され、同様にして、ＰＮ３＝１６により指定される駆動端子パタン（ｉＵＳＮ＝１，ＣＬ１ａ＝１、ＣＬ３＝０、ｉ＿ＬＢ＝１０００）が中間パタンＢから駆動端子パタンのＰＮ４＝１５（ＰＮ３＝１５、１６）に転送される。
【０２４０】
Ｓ４の後には、Ｓ２に戻る。
【０２４１】
Ｓ２で駆動端子パタンに１又は０が在る場合及びＳ３で重ね合わせが不必要な場合、データ転送及びＰＮ３の値の加算処理を実行する（Ｓ５）。
【０２４２】
具体的には、外部端子パタン作成部４０８は、現在のＰＮ３により指定される駆動端子パタン及び照合端子パタンを、現在のＰＮ３により指定されるテーブルＣの対応フィールドに格納する。そして、現在のＰＮ３の値を１加算する。
【０２４３】
次に全てのＰＮ３で上述の処理を実行したかを判定する（Ｓ６）。全てのＰＮ３で上述の処理を実行することで、中間パタンＢから外部端子パタンが生成される。なお、Ｓ６は、外部端子パタン作成部４０８により実行される。
【０２４４】
このようにして図４７に示す外部端子パタンは作成される。なお、外部端子パタン（図４７）を生成する方法は任意である。しかしながら、取り扱いパタンのデータ量は膨大であるため、上述のように、複数のテーブルを予め用意し、このテーブル間でデータの転送（リード／ライト）を実行すると良い。
【０２４５】
図４８乃至５１を参照して、図４７の外部端子パタンに基づくテスト回路（半導体集積回路５６）の動作について更に説明する。なお、時刻ｔＸ（Ｘ；０〜２２）は、ＰＮ４の値に一致する。
【０２４６】
図４８に示すように、時刻ｔ０〜ｔ１では、クロックＣＬ１ａの立上りに同期して、ｉ＿ＬＢバスにセットされた単位パタン００００が、ｉ＿ＵＢ＝０により指定される保持回路６ａにセットされる。時刻ｔ１〜ｔ２では、クロックＣＬ１ａの立上りに同期して、ｉ＿ＬＢバスにセットされた単位パタン００００が、ｉ＿ＵＢ＝１により指定される保持回路６ｂにセットされる。時刻ｔ２〜ｔ３では、クロックＣＬ１ａの立上りに同期して、ｉ＿ＬＢバスにセットされた単位パタン１１００が、ｉ＿ＵＢ＝２により指定される保持回路６ｃにセットされる。時刻ｔ３〜ｔ４では、クロックＣＬ１ａの立上りに同期して、ｉ＿ＬＢバスにセットされた単位パタン１００１が、ｉ＿ＵＢ＝３により指定される保持回路６ｄにセットされる。
【０２４７】
時刻ｔ０〜ｔ４間の処理により、駆動パタン（ＰＮ１＝０）が保持回路６にセットされる。但し、ＰＮ１＝０の駆動パタンとＰＮ１＝１の駆動パタンは同じパタンである。
【０２４８】
時刻ｔ４〜ｔ５では、クロックＣＬ３の立ち上がりに同期して、保持回路６に保持された駆動パタンＰＮ１＝０を保持回路６１に転送する。これによって、保持回路６にはＰＮ１＝１の駆動パタンがセットされ、保持回路６１にはＰＮ１＝０の駆動パタンがセットされた状態になる。
【０２４９】
時刻ｔ５〜ｔ６では、クロックＣＬ２の立上り（ラウンチパルスＬ１の立上り）に同期して、保持回路６１にセットされたＰＮ１＝０の駆動パタンがテスト対象回路３０に入力される。同時に、保持回路６１にはＰＮ１＝１の駆動パタンがセットされる。また、テスト対象回路３０からはＰＮ１＝０の照合パタンが出力される。
【０２５０】
時刻ｔ６〜ｔ７では、クロックＣＬ２の立上り（キャプチャパルスＣ２の立上り）に同期して、保持回路６１にセットされたＰＮ１＝１の駆動パタンがテスト対象回路３０に入力される。また、テスト対象回路３０からはＰＮ１＝１の照合パタンが出力される。また、テスト対象回路３０から出力されていたＰＮ１＝０の照合パタンが保持回路６６にセットされる。
【０２５１】
時刻ｔ７〜ｔ８では、ｏ＿ＬＢ＝４により指定される判定回路１１ａ〜１１ｄの出力パタンＸＸＸＸがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５２】
時刻ｔ８〜ｔ９では、ｏ＿ＬＢ＝０により指定される保持回路６６ａの保持パタンＨＬＨＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５３】
時刻ｔ９〜ｔ１０では、ｏ＿ＬＢ＝１により指定される保持回路６６ｂの保持パタンＬＨＬＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５４】
時刻ｔ１０〜ｔ１１では、ｏ＿ＬＢ＝２により指定される保持回路６６ｃの保持パタンＬＬＬＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５５】
時刻ｔ１１〜ｔ１２では、ｏ＿ＬＢ＝３により指定される保持回路６６ｄの保持パタンＨＬＬＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５６】
時刻ｔ１２〜ｔ１３では、クロックＣＬ１ｂの立上りに同期して、ＰＮ１＝０の照合パタンが保持回路６６から保持回路１０に転送される。同時に、保持回路６６には、ＰＮ１＝１の照合パタンがセットされる。また、ｏ＿ＬＢ＝４により指定される判定回路１１ａ〜１１ｄの出力パタンＨＬＬＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５７】
時刻ｔ１３〜ｔ１４では、ｏ＿ＬＢ＝３により指定される保持回路６６ｄの保持パタンＨＬＨＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２５８】
図５０に示すように、時刻ｔ１３〜ｔ１４では、テスターは、ｉ＿ＵＢに０をセットし、ｉ＿ＬＢに０１００をセットしている。つまり、テスターは、バスｏ＿ＬＢを介してパタンデータをリードすると同時にバスｉ＿ＬＢにデータをセットしている。そして、時刻ｔ１３〜ｔ１４では、クロックＣＬ１ａの立上りに同期して、保持回路６には、ＰＮ１＝２の駆動パタンがセットされる。このように本実施形態では、データセット期間とデータリード期間とは時間的に重複している。これによってテスト時間を短縮することができる。
【０２５９】
図５０に示すように、時刻ｔ１４〜ｔ１５では、クロックＣＬ３の立上りに同期して、ＰＮ１＝２の駆動パタンは、保持回路６から保持回路６１に転送される。
【０２６０】
時刻ｔ１５〜ｔ１６では、クロックＣＬ１ａの立上りに同期して、ｉ＿ＬＢバスにセットされた単位パタン１０００が、ｉ＿ＵＢ＝１により指定される保持回路６ｂにセットされる。このようにしてＰＮ１＝３の駆動パタンが保持回路６にセットされる。
【０２６１】
時刻ｔ１６〜ｔ１７では、クロックＣＬ２の立上り（ラウンチパルスＬ１の立上り）に同期して、保持回路６１にセットされたＰＮ１＝２の駆動パタンがテスト対象回路３０に入力される。また、同時に、ＰＮ１＝３の駆動パタンが保持回路６１にセットされる。テスト対象回路３０からはＰＮ１＝２の照合パタンが出力される。
【０２６２】
時刻ｔ１７〜ｔ１８では、クロックＣＬ２の立上り（キャプチャパルスＣ１の立上り）に同期して、保持回路６１にセットされたＰＮ１＝３の駆動パタンがテスト対象回路３０に入力される。また、テスト対象回路３０からはＰＮ１＝３の照合パタンが出力される。また、テスト対象回路３０から出力されていたＰＮ１＝２の照合パタンが保持回路６６にセットされる。
【０２６３】
時刻ｔ１８〜１９では、ｏ＿ＬＢ＝４により指定される判定回路１１ａ〜１１ｄの出力パタンＬＬＬＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２６４】
時刻ｔ１９〜ｔ２０では、ｏ＿ＬＢ＝４により指定される判定回路１１ａ〜１１ｄの出力パタンＬＨＨＬがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。また、クロックＣＬ１ｂの立上りに同期して、ＰＮ１＝２の照合パタンが保持回路６６から保持回路１０に転送される。同時に、保持回路６６には、ＰＮ１＝３の照合パタンがセットされる。
【０２６５】
時刻ｔ２０〜２１では、ｏ＿ＬＢ＝１により指定される保持回路６６ｂの保持パタンＬＬＬＨがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２６６】
また、クロックＣＬ３の立上りに同期して、ＰＮ１＝４の駆動パタンは、保持回路６から保持回路６１に転送される。なお、ＰＮ１＝３の駆動パタンは、ＰＮ１＝４，５の駆動パタンに一致する。
【０２６７】
時刻ｔ２１〜２２では、ｏ＿ＬＢ＝２により指定される保持回路６６ｃの保持パタンＬＬＨＨがバスｏ＿ＬＢにセットされる。バスｏ＿ＬＢにセットされたパタンはテスターによってリードされる。
【０２６８】
時刻ｔ２２以降は、図４７から明らかなように再びテスト期間に移行する。その後の動作も図４７に示す外部端子パタンに従って実現される。
【０２６９】
なお、時刻ｔ０〜ｔ５は、駆動用テスト回路５４に駆動パタンをセットするデータセット期間を形成する。時刻ｔ５〜ｔ７は、テスト対象回路にラウンチパルス及びキャプチャパルスを入力するテスト期間を形成する。時刻ｔ７〜ｔ１４はデータリード期間を形成する。時刻ｔ１３〜ｔ１６まではデータセット期間を形成する。時刻ｔ１６〜ｔ１８まではテスト期間を形成する。時刻ｔ１８〜ｔ２２はデータリード期間を形成する。時刻ｔ２０〜ｔ２２はデータセット期間を形成する。
【０２７０】
図４７及び４８から明らかなように、テスト期間のクロック周波数は、データセット期間のクロック周波数よりも高い。データセット期間のクロック周波数を低く設定することで、より確実に駆動パタンをセットすることができる。また、テスト期間のクロック周波数を早く設定することで、テスト対象回路３０の実動作周波数に適合した条件で遅延テストを実行することができる。
【０２７１】
本実施形態では、遅延テストをテスト対象回路３０の実動作周波数で実行することができる。従って、非常に高精度な遅延テストを実行することができる。また、駆動用テスト回路５４に駆動パタンをセットする動作と照合用テスト回路５５から照合パタンをリードする動作を同時期に実行する。換言すると、排他的に駆動パタンのセット動作と照合パタンのリード動作とを実行しない。従って、効率的に遅延テストを実行することができ、テスト時間の短縮を図ることができる。
【０２７２】
〔第６の実施形態〕 
本発明の第６の実施形態について、以下、図５２乃至図６６を用いて説明する。本実施形態では、第５の実施形態で実行する遅延テストを補完するための外部端子パタンを生成する。これによって、すべての連続するパタン番号ＰＮ１間で遅延テストを実行することが可能になる。テスト対象回路３０に接続される半導体集積回路の回路は第５の実施形態と同じである。
【０２７３】
図５２は、パタン処理装置の概略的なブロック図である。図５３は、外部端子パタンの作成工程を示す概略的なフローチャートである。図５４は、オフセットの調整を説明するフローチャートである。図５５は、内部信号パタンを示す表である。図５６は、パタングループ番号と遅延テストの実行との関係を示す表である。図５７は、駆動パタン用の変化点検出表である。図５８は、パタン変換後の駆動パタンを示す表である。図５９は、照合パタン用の変化点検出表である。図６０は、照合端子パタンを示す表である。図６１は、照合用の変化点検出表の作成方法を示すフローチャートである。図６２は、照合端子パタンの作成方法を示すフローチャートである。図６３は、中間パタンＡを示す表である。図６４は、中間パタンＢを示す表である。図６５は、外部端子パタンを示す表である。
【０２７４】
図５２に示すように、パタン生成装置５００は、オフセット調整部４０９を有する。オフセット調整部４０９は、端子パタン生成の元データである内部信号パタン（図３７参照）に対して、図５５に示すようにオフセットを設定する。具体的には、オフセット調整部４０９は、内部信号パタン列の最初の行及び最後の行に所定数のダミー内部信号パタンを追加する。最初に追加した行数に応じて、当初の内部信号パタン列（図３７参照）は繰り下がる。これによって、冒頭で説明したように、第５の実施形態で実行する遅延テストを補完するための外部端子パタンを生成することができる。所定数のダミー内部信号パタンの追加によって、テスト対象回路に順次入力される内部信号パタンペアは新しい組み合わせ（第５の実施形態における内部信号パタンペアとは異なる組み合わせ）になるためである。
【０２７５】
図５３に示すように、パタングループの割当を実行する前、予めオフセットの調整（Ｓ１）を実行する。なお、新たに追加する保持回路数ＤＰに応じて予めオフセット値（＝ＯＳ）を決定しておく。なお、オフセット値は、０≦ＯＳ≦ＤＰの関係を満足する。Ｓ１は、オフセット調整部４０９によって実行される。
【０２７６】
ここでは、図５４に示すフローを経て、図５５に示す内部信号パタンを生成する。なお、図５５は、図３７の内部信号パタン（内部信号パタンデータ）に新しい行（行データ）を追加することで生成される。以下、具体的に説明する。
【０２７７】
図５４に示すように、オフセット調整部４０９は、まずＰＮ１の総数（ＰＮ１の最大値（ＰＮ１ｍａｘ））をＤＰ＋１で割算し、割り切れなかったＰＮ１がないのか判断する（Ｓ１）。ここでは、新たに追加した保持回路数は１つである。従って、６／２＝３であり、割り切れずに余ったＰＮ１はない。
【０２７８】
余ったＰＮ１がない場合、オフセット調整部４０９は、予め設定したオフセット値が０である（ＯＳ＝０）のか判断する（Ｓ２）。ここでは、ＯＳ＝１であり、ＯＳ≠０である。
【０２７９】
ＯＳ≠０の場合、オフセット調整部４０９は、ＯＳ値分だけ行を最初に追加する（Ｓ３）。具体的には、図５５に示すように、オフセット調整部４０９は、ＰＮ１＝０の前段に、ＰＮ１＝０と同じパタンをＯＳ値に等しい行数だけ格納する。ここでは、ＯＳ＝１であるため、オフセット調整部４０９は、１行分だけＰＮ１＝０の前行に追加する。
【０２８０】
次に、オフセット調整部４０９は、所定数分［ＤＰ＋１−｛（ＰＮ１ｍａｘ＋ＯＳ）／（ＤＰ＋１）｝の余り］だけ行を最後に追加する（Ｓ４）。具体的には、図５１に示すように、オフセット調整部４０９は、ＰＮ１＝５の後段に、ＰＮ１＝５と同じパタンを所定数分だけ追加する。ここでは、ＤＰ＝２、ＯＳ＝１、ＰＮ１ｍａｘ＝６である。従って、追加する行数は、［１＋１−｛（６＋１）／（１＋１）｝の余り］＝１＋１−１＝１である。従って、オフセット調整部４０９は、１行分だけＰＮ１＝５の後行に追加する。
【０２８１】
なお、Ｓ１で割り切れなかったＰＮ１がある場合、上述のＳ３、Ｓ４のステップにより、割り切れなかったＰＮ１がないように行数を調整する。また、図５５では、追加した行を含めて、改めて識別番号ＰＮＡ１を付与する。
【０２８２】
このようにして、図５５に示すオフセット調整後の内部信号パタンが生成される。なお、図５５では、第５の実施形態で説明したものと同様の方法でパタングループ番号の設定も行う。このようにして、図５６に示すように、ＰＮ１＝１とＰＮ１＝２間で遅延テストを実行することが可能になる。同様に、ＰＮ１＝３とＰＮ１＝４間で遅延テストを実行することが可能になる。これによって、第５の実施形態における遅延テストを補完することが可能になる。
【０２８３】
図５７は、駆動パタンの変化点検出表である。図５８は、作成した駆動端子パタンである。図５９は、照合パタンの変化点検出表である。図６０は、作成した照合端子パタンである。
【０２８４】
図５５に示すように、新たに追加した行（ダミー内部信号パタン）に応じて、照合パタンにはＸのみからなる行（ダミー照合パタン）が形成される。従って、照合パタンの変化点検出表の作成は、図６１に示す手順で実行する。また、照合端子パタンの作成は、図６２に示す手順で実行する。なお、ここでは上述の実施形態とは異なる点のみについて説明する。
【０２８５】
図６１に示すように、Ｓ３でＰＮ１＝０の場合及びＳ６でパタン更新がある場合には、パタン内の信号値（ｂｉｔ）にＸがあるのか判断する（Ｓ１４）。なお、Ｓ６の場合には、比較対象とする両方のパタンについて、パタン内のｂｉｔにＸがあるのか判断する。  ｂｉｔにＸがある場合には、Ｓ１３のステップを実行する。ｂｉｔにＸがない場合には、Ｓ１２のステップを実行する。このようにして、図５９に示す照合パタンの変化点検出表が作成される。
【０２８６】
図６２に示すように、Ｓ５の後に、現在のＰＮ１及び現在のＵＳＮによって指定される単位パタン内の４ｂｉｔ全てがＸか判断する（Ｓ１２）。具体的には、図５５の照合パタンにて、現在のＰＮ１及び現在のＵＳＮによって指定される単位パタン内の４ｂｉｔ全てがＸか判断する。４ｂｉｔ全てがＸの場合には、更新パタンを照合端子パタンへ格納しない。このようにして、図６０に示す照合端子パタンが作成される。
【０２８７】
そして、第５の実施形態の説明したように、図６３に示す中間パタンＡ、図６４に示す中間パタンＢ、及び図６５に示す外部端子パタンが作成される。
【０２８８】
本実施形態においてはオフセットの設定によって、第５の実施形態では組み合わせられなかった内部信号パタン間で遅延テストを実現させることができる。これによってより高精度な遅延テストを実現することができる。
【０２８９】
〔第７の実施形態〕 
本発明の第７の実施形態について、以下、図６６乃至図７３を用いて説明する。本実施形態では、３つの保持回路を新たに追加する。すなわち、ＤＰ＝３とする。これによって、テスト対象回路３０内に分周器が設けられていてもテスト対象回路３０に含まれる全ての機能回路で遅延テストを実行することができる。なお、本実施形態では、ＯＳ＝０とする内部信号パタンとＯＳ＝２とする内部信号パタンを作成する。そして、作成した夫々の内部信号パタンに基づいて最終的な外部端子パタンを作成する。
【０２９０】
図６６は、テスト対象回路の回路構成を示す回路図である。図６７及び６８は、バッファ回路の回路図である。図６９は、内部信号パタンを示す表である。図７０は、ＯＳ＝０とした場合の内部信号パタンである。図７１は、ＯＳ＝０とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。図７２は、ＯＳ＝２とした場合の内部信号パタンである。図７３は、ＯＳ＝２とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。
【０２９１】
図６６に示すように、テスト対象回路３０は、１／２分周器（１／２ＤＩＶ）３１、メモリコントローラ３２、バス１／Ｆユニット３３、及びＣＰＵコア３４を有する。
【０２９２】
はじめに接続関係について説明する。クロックＣＬ２は、１／２分周器のクロック端子に接続される。また、クロックＣＬ２は、ＣＰＵコア３４のクロック端子に接続される。また、クロックＣＬ２は、バスＩ／Ｆユニット３３のクロック端子に接続される。１／２分周器３１で分周されたクロックは、メモリコントローラ３２のクロック端子に接続される。また、１／２分周器３１で分周されたクロックは、バス１／Ｆユニット３３のクロック端子に接続される。信号ｓｉｇ＿ｉ＿００は、各機能ブロックのリセット端子に接続される。信号ｓｉｇ＿ｉ＿０１〜ｓｉｇ＿ｉ＿０３はメモリコントローラ３２に接続される。信号ｓｉｇ＿ｉ＿０４〜ｓｉｇ＿ｉ＿０７は、バスＩ／Ｆユニット３３に接続される。信号ｓｉｇ＿ｉ＿０８〜ｓｉｇ＿ｉ＿１５は、ＣＰＵコア３４に接続される。
【０２９３】
クロックＣＬ２の周波数は３００ＭＨｚである。クロックＣＬ２は、１／２分周器３１によって１５０ＭＨｚに分周される。メモリコントローラ３２は、１５０ＭＨｚで動作する。バスＩ／Ｆユニット３３は、１５０ＭＨｚで動作する部分と３００ＭＨｚで動作する部分を有する。ＣＰＵコア３４は、３００ＭＨｚで動作する。メモリコントローラ３２とＣＰＵコア３４は、バスＩ／Ｆユニット３３を介して互いに接続される。メモリコントローラ３２とＣＰＵコア３４間ではバスＩ／Ｆユニット３３を介してデータの送受信が実行される。
【０２９４】
次に、図６７を参照して、バッファ回路６０について説明する。なお、バッファ回路６０は、保持回路６とテスト対象回路３０間に接続される。
【０２９５】
バッファ回路６０は、３つの保持回路６１ａ〜６１ｃを有する。保持回路６１ａの入力には、保持回路６の出力が接続される。保持回路６１ｂの入力には、保持回路６１ａの出力が接続される。保持回路６１ｃの入力には、保持回路６１ｂの出力が接続される。なお、各保持回路６１ａ〜６１ｃには、ＯＲ回路６２の出力が接続される。ＯＲ回路６２からパルス信号が出力されると、保持回路６１ａから保持回路６１ｂに駆動パタンが転送され、保持回路６１ｂから保持回路６１ｃに駆動パタンが転送される。なお、保持回路６１ａ〜６１ｃは、上述の保持回路６１と同様、１６ｂｉｔのＦ／Ｆである。
【０２９６】
次に、図６８を参照して、バッファ回路６５について説明する。なお、バッファ回路６５は、テスト対象回路３０と保持回路１０間に接続される。
【０２９７】
バッファ回路６５は、３つの保持回路６５ａ〜６５ｃを有する。保持回路６５ａの入力には、保持回路６５ｂの出力が接続される。保持回路６５ｂの入力には、保持回路６５ｃの出力が接続される。なお、各保持回路６５ａ〜６５ｃには、ＯＲ回路６７の出力が接続される。ＯＲ回路６７からパルス信号が出力されると、保持回路６５ｃから保持回路６５ｂに駆動パタンが転送され、保持回路６５ｂから保持回路６５ａに駆動パタンが転送される。なお、保持回路６５ａ〜６５ｃは、上述の保持回路６５と同様、１６ｂｉｔのＦ／Ｆである。
【０２９８】
本実施形態におけるテスト対象回路３０には、異なる動作周波数で動作する機能回路が集積される。このような場合、第５の実施形態で説明したように駆動パタンを２つ連続してテスト対象回路に入力するだけでは、メモリコントローラ３２及びバスＩ／Ｆユニット３３の一部で遅延テストを実行することができず、遅延テストの品質が劣化してしまう。すなわち、ｓｉｇ＿ｏ＿００〜ｓｉｇ＿ｏ＿０７からの出力パタンに基づいて遅延テストを実行することができない。
【０２９９】
本実施形態ではこの点に鑑みて、ＤＰ＝３とし、図７０及び図７２に示す内部信号パタンを作成する。なお、図７０はＯＳ＝０の場合であり、図７２は、ＯＳ＝２の場合である。そして、上述の実施形態で説明した手順で、ＯＳ＝０、ＯＳ＝２の各場合について、最終的な外部端子パタンを作成する（この点は上述の実施形態における説明から明らかであるから重複する説明は省略する）。
【０３００】
このようにすることで連続して４つの駆動パタンをテスト対象回路３０に入力させることができる。従って、テスト対象回路３０内に１／２分周器３１が集積されていたとしても遅延テストの品質は劣化しない。すなわち、ｓｉｇ＿ｏ＿００〜ｓｉｇ＿ｏ＿０７の出力パタンに基づいて遅延テストを実行することができる。
【０３０１】
本発明の技術的範囲は、上述の実施形態に限らない。駆動用又は照合用テスト回路の具体的な構成は任意である。また、内部信号の分割数は４に限らない。内部信号数は１６に限らない。駆動用テスト回路の内部信号の分割数Ｎ１は４に限らない。照合用テスト回路の内部信号の分割数Ｎ２は４に限らない。駆動用テスト回路の内部信号の分割数Ｎ１と照合用テスト回路の内部信号の分割数Ｎ２は等しいとは限らない。すなわち、Ｎ１とＮ２は異なる値を設定できる。また、バッファ回路は、深さＤＰのＦＩＦＯ（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  ｏｕｔ）に置き換えても良い。その場合、ＦＩＦＯを構成する保持回路としては、Ｆ/Ｆ（Ｆｌｉｐ/Ｆｌｏｐ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、データラッチを用いることができる。また、バッファ回路の深さＤＰ（＝上述の実施形態における、新たに追加する保持回路数ＤＰ）は任意の自然数を設定できる。オフセット値ＯＳは、０≦ＯＳ≦ＤＰの関係を満足する任意の整数を設定できる。
【図面の簡単な説明】
【０３０２】
【図１】半導体集積回路５０の概略的な回路図である。
【図２】半導体集積回路５０の概略的なテスト方法を説明するためのフローチャートである。
【図３】内部信号に対する識別番号の割当を示す概略図である。
【図４】内部信号パタンを示す概略図である。
【図５】パタン変換の概要を示すフローチャートである。
【図６】Ｓ５０１の詳細なフローチャートである。
【図７】変化点検出表の作成を説明するための説明図である。
【図８】Ｓ５０２の詳細なフローチャートである。
【図９】第１の実施形態にかかる外部端子パタン（図９（ａ）に駆動端子パタン、図９（ｂ）に照合端子パタン）を示す概略図である。
【図１０】第２の実施形態にかかる半導体集積回路５１の概略的な回路図である。
【図１１】半導体集積回路５１の概略的なテスト方法を説明するためのフローチャートである。
【図１２】内部信号への識別番号の割当を示す概略図である。
【図１３】内部信号パタンを示す概略図である。
【図１４】パタン変換の概要を示すフローチャートである。
【図１５】図１４のＳ５０３の詳細なフローチャートである。
【図１６】変化点検出表の作成を説明するための説明図である。
【図１７】図１４のＳ５０４の詳細なフローチャートである。
【図１８】第２の実施形態にかかる外部端子パタン（図１８（ａ）に照合端子パタン、図１８（ｂ）に駆動端子パタン）を示す概略図である。
【図１９】第３の実施形態にかかる半導体集積回路５２の概略的な回路図である。
【図２０】内部信号への識別番号の割当を示す概略図である。
【図２１】パタン変換のフローチャートである。
【図２２】Ｓ５０５の詳細なフローチャートである。
【図２３】第３の実施形態にかかる外部端子パタン（図１８（ａ）に照合端子パタン、図１８（ｂ）に駆動端子パタン）を示す概略図である。
【図２４】第４の実施形態にかかる半導体集積回路５３の概略的な回路図である。
【図２５】パタン変換のフローチャートである。
【図２６】駆動用の変化点検出表を示す概略図である。
【図２７】第４の実施形態にかかる外部端子パタンを示す概略図である。
【図２８】第５の実施形態にかかる半導体集積回路の概略的な接続関係を示す説明図である。
【図２９】第５の実施形態にかかる駆動用テスト回路の回路図である。
【図３０】第５の実施形態にかかる照合用テスト回路の回路図である。
【図３１】第５の実施形態にかかる保持回路間の対応関係を示す説明図である。
【図３２】第５の実施形態にかかる保持回路間の対応関係を示す説明図である。
【図３３】第５の実施形態にかかる内部信号に対する識別番号の割当を示す説明図である。
【図３４】第５の実施形態にかかる内部信号に対する識別番号の割当を示す説明図である。
【図３５】第５の実施形態にかかるパタン処理装置の概略構成を示すブロック図である。
【図３６】第５の実施形態にかかる外部端子パタンの作成工程を示す概略的なフローチャートである。
【図３７】第５の実施形態にかかる内部信号パタンを示す表である。
【図３８】第５の実施形態にかかるパタングループ番号と遅延テストの実行との関係を示す表である。
【図３９】第５の実施形態にかかるパタン変換後の駆動パタンを示す表である。
【図４０】第５の実施形態にかかる照合端子パタンを示す表である。
【図４１】第５の実施形態にかかる駆動パタン及び照合パタンを時系列に配置したシーケンス表である。
【図４２】第５の実施形態にかかる中間パタンＡの作成工程を示すフローチャートである。
【図４３】第５の実施形態にかかる中間パタンＡを示す表である。
【図４４】第５の実施形態にかかる中間パタンＡから中間パタンＢを作成する工程を示すフローチャートである。
【図４５】第５の実施形態にかかる中間パタンＢを示す表である。
【図４６】第５の実施形態にかかる中間パタンＢから外部端子パタンを作成する工程を示すフローチャートである。
【図４７】第５の実施形態にかかる外部端子パタンを示す表である。
【図４８】第５の実施形態にかかる半導体集積回路の動作を説明するためのタイミングチャートである。
【図４９】第５の実施形態にかかる半導体集積回路の動作を説明するためのタイミングチャートである。
【図５０】第５の実施形態にかかる半導体集積回路の動作を説明するためのタイミングチャートである。
【図５１】第５の実施形態にかかる半導体集積回路の動作を説明するためのタイミングチャートである。
【図５２】第６の実施形態にかかるパタン処理装置の概略的なブロック図である。
【図５３】第６の実施形態にかかる外部端子パタンの作成工程を示す概略的なフローチャートである。
【図５４】第６の実施形態にかかるオフセットの調整を説明するフローチャートである。
【図５５】第６の実施形態にかかる内部信号パタンを示す表である。
【図５６】第６の実施形態にかかるパタングループ番号と遅延テストの実行との関係を示す表である。
【図５７】第６の実施形態にかかる駆動パタン用の変化点検出表である。
【図５８】第６の実施形態にかかるパタン変換後の駆動パタンを示す表である。
【図５９】第６の実施形態にかかる照合パタン用の変化点検出表である。
【図６０】第６の実施形態にかかる照合端子パタンを示す表である。
【図６１】第６の実施形態にかかる照合用の変化点検出表の作成方法を示すフローチャートである。
【図６２】第６の実施形態にかかる照合端子パタンの作成方法を示すフローチャートである。
【図６３】第６の実施形態にかかる中間パタンＡを示す表である。
【図６４】第６の実施形態にかかる中間パタンＢを示す表である。
【図６５】第６の実施形態にかかる外部端子パタンを示す表である。
【図６６】第７の実施形態にかかるテスト対象回路の回路構成を示す回路図である。
【図６７】第７の実施形態にかかるバッファ回路の回路図である。
【図６８】第７の実施形態にかかるバッファ回路の回路図である。
【図６９】第７の実施形態にかかる内部信号パタンを示す表である。
【図７０】第７の実施形態にかかるＯＳ＝０とした場合の内部信号パタンである。
【図７１】第７の実施形態にかかるＯＳ＝０とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。
【図７２】第７の実施形態にかかるＯＳ＝２とした場合の内部信号パタンである。
【図７３】第７の実施形態にかかるＯＳ＝２とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。
【図７４】特許文献１記載の技術の説明図である。
【符号の説明】
【０３０３】
５０    半導体集積回路 
１    駆動用テスト回路 
２    テスト対象回路 
３    外部端子 
４    デコーダ 
５    セレクタ 
６    保持回路 
【図１】
2008268185.tif 000003
【図２】
2008268185.tif 000004
【図３】
2008268185.tif 000005
【図４】
2008268185.tif 000006
【図５】
2008268185.tif 000007
【図６】
2008268185.tif 000008
【図７】
2008268185.tif 000009
【図８】
2008268185.tif 000010
【図９】
2008268185.tif 000011
【図１０】
2008268185.tif 000012
【図１１】
2008268185.tif 000013
【図１２】
2008268185.tif 000014
【図１３】
2008268185.tif 000015
【図１４】
2008268185.tif 000016
【図１５】
2008268185.tif 000017
【図１６】
2008268185.tif 000018
【図１７】
2008268185.tif 000019
【図１８】
2008268185.tif 000020
【図１９】
2008268185.tif 000021
【図２０】
2008268185.tif 000022
【図２１】
2008268185.tif 000023
【図２２】
2008268185.tif 000024
【図２３】
2008268185.tif 000025
【図２４】
2008268185.tif 000026
【図２５】
2008268185.tif 000027
【図２６】
2008268185.tif 000028
【図２７】
2008268185.tif 000029
【図２８】
2008268185.tif 000030
【図２９】
2008268185.tif 000031
【図３０】
2008268185.tif 000032
【図３１】
2008268185.tif 000033
【図３２】
2008268185.tif 000034
【図３３】
2008268185.tif 000035
【図３４】
2008268185.tif 000036
【図３５】
2008268185.tif 000037
【図３６】
2008268185.tif 000038
【図３７】
2008268185.tif 000039
【図３８】
2008268185.tif 000040
【図３９】
2008268185.tif 000041
【図４０】
2008268185.tif 000042
【図４１】
2008268185.tif 000043
【図４２】
2008268185.tif 000044
【図４３】
2008268185.tif 000045
【図４４】
2008268185.tif 000046
【図４５】
2008268185.tif 000047
【図４６】
2008268185.tif 000048
【図４７】
2008268185.tif 000049
【図４８】
2008268185.tif 000050
【図４９】
2008268185.tif 000051
【図５０】
2008268185.tif 000052
【図５１】
2008268185.tif 000053
【図５２】
2008268185.tif 000054
【図５３】
2008268185.tif 000055
【図５４】
2008268185.tif 000056
【図５５】
2008268185.tif 000057
【図５６】
2008268185.tif 000058
【図５７】
2008268185.tif 000059
【図５８】
2008268185.tif 000060
【図５９】
2008268185.tif 000061
【図６０】
2008268185.tif 000062
【図６１】
2008268185.tif 000063
【図６２】
2008268185.tif 000064
【図６３】
2008268185.tif 000065
【図６４】
2008268185.tif 000066
【図６５】
2008268185.tif 000067
【図６６】
2008268185.tif 000068
【図６７】
2008268185.tif 000069
【図６８】
2008268185.tif 000070
【図６９】
2008268185.tif 000071
【図７０】
2008268185.tif 000072
【図７１】
2008268185.tif 000073
【図７２】
2008268185.tif 000074
【図７３】
2008268185.tif 000075
【図７４】
2008268185.tif 000076