JP2008268185A - テスト回路、パタン生成装置、及びパタン生成方法 - Google Patents
テスト回路、パタン生成装置、及びパタン生成方法 Download PDFInfo
- Publication number
- JP2008268185A JP2008268185A JP2008046319A JP2008046319A JP2008268185A JP 2008268185 A JP2008268185 A JP 2008268185A JP 2008046319 A JP2008046319 A JP 2008046319A JP 2008046319 A JP2008046319 A JP 2008046319A JP 2008268185 A JP2008268185 A JP 2008268185A
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- circuit
- test
- unit
- patterns
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】従来、半導体集積回路の端子に入力出されるパタンのデータ量自体を少なくすることはできなかった。
【解決手段】テスト回路1は、テスト対象回路2と複数の外部端子3a〜3g間に接続される。テスト回路1は、テスト対象回路30に入力又はテスト対象回路30から出力されるべき内部信号パタンがN(Nは、2以上の自然数)分割されたN個の単位パタンそれぞれを保持するN個の第1保持回路6a〜6dと、単位パタン毎に予め設定された識別信号に基づいてN個の第1保持回路6a〜6dに保持された内部信号パタンを単位パタン単位で選択的に更新させる、又は識別信号に基づいてN個の第1保持回路6a〜6dに保持される内部信号パタンを単位パタン単位で選択的に出力させる制御回路と、を備える。
【選択図】 図1
【解決手段】テスト回路1は、テスト対象回路2と複数の外部端子3a〜3g間に接続される。テスト回路1は、テスト対象回路30に入力又はテスト対象回路30から出力されるべき内部信号パタンがN(Nは、2以上の自然数)分割されたN個の単位パタンそれぞれを保持するN個の第1保持回路6a〜6dと、単位パタン毎に予め設定された識別信号に基づいてN個の第1保持回路6a〜6dに保持された内部信号パタンを単位パタン単位で選択的に更新させる、又は識別信号に基づいてN個の第1保持回路6a〜6dに保持される内部信号パタンを単位パタン単位で選択的に出力させる制御回路と、を備える。
【選択図】 図1
Description
本発明は、テスト回路、パタン生成装置、及びパタン生成方法に関する。
近年、テスト対象回路の高機能化の進展に伴って、テスト対象回路の動作検証に用いられる内部信号パタンのデータ量は増加している。内部信号パタンのデータ量の増大は、半導体集積回路(LSI(Large Scale Integrate)等)のテスト工程の長時間化を招き、半導体集積回路の製造効率を悪化させる。なお、内部信号パタンは、デジタル信号がパラレルに配列された信号である。また、内部信号パタンのデータ量は、内部信号パタンの行数(個数)、内部信号パタンに含まれるデジタル信号数を掛け合わせたものである。
テスト対象回路に内部信号パタンを効率的に入力させるためには、内部信号パタンの信号数に応じて半導体集積回路に外部端子を設け、この外部端子を介して内部信号パタンを順次半導体集積回路に入力させると良い。しかし、膨大な内部信号パタンの信号数に応じてテスト用端子を設けることは現実的ではない。
ここで、図74を参照して、端子数の削減に関する特許文献1記載の技術について説明する。ここでは、データを複数回に分けて転送することで、LSI回路の入出力ピン数を削減している。セレクタ120は、セレクト信号に基づいて転送対象データを選択する。セレクタ130は、セレクタ120で選択されたデータのうち、上位ビットグループ又は下位ビットグループのいずれかを選択する。そして、セレクタ130からの上位ビットグループは、セレクタ付レジスタ170の上位ビットグループにセレクトされ、セレクタ130からの下位ビットグループは、セレクタ付レジスタ170の下位ビットグループにセレクトされる。
なお、特許文献2には、トレースバッファの使用効率を向上させるためのトレースデータ圧縮方法が記載されている。
特開平4−274547号公報
特許第3343734号公報
特許文献1記載の技術を活用することにより半導体集積回路の端子数を削減できる。しかしながら、半導体集積回路の端子に入出力されるパタン(デジタル信号がパラレルに配列された信号)のデータ量自体は変わらない。つまり、従来、半導体集積回路の端子に入出力されるパタンのデータ量自体を少なくすることはできなかった。
本発明にかかるテスト回路は、テスト対象回路と複数の外部端子間に接続されるテスト回路であって、前記テスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンがN(Nは、2以上の自然数)分割されたN個の単位パタンそれぞれを保持するN個の第1保持回路と、前記単位パタン毎に予め設定された識別信号に基づいてN個の前記第1保持回路に保持された前記内部信号パタンを前記単位パタン単位で選択的に更新させる、又は前記識別信号に基づいてN個の前記第1保持回路に保持される前記内部信号パタンを前記単位パタン単位で選択的に出力させる制御回路と、を備える。
本発明にかかるパタン生成装置は、テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンを生成するパタン生成装置であって、複数の前記内部信号パタン夫々をN(Nは、2以上の自然数)分割し、前記内部信号パタンのN分割により生成されたN個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶する記憶部と、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる保持回路に連続して保持される2つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出する検出部と、前記検出部による検出結果に応じて前記端子パタンを作成する端子パタン作成部と、を備える。
本発明にかかるパタン生成方法は、テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンをコンピュータに生成させるパタン生成方法であって、前記コンピュータの記憶部は、複数の前記内部信号パタン夫々をN(Nは、2以上の自然数)分割し、前記内部信号パタンのN分割により生成されたN個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶し、前記コンピュータの検出部は、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる第1保持回路に連続して保持される2つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出し、前記コンピュータの端子パタン作成部は、前記検出部による検出結果に応じて前記端子パタンを作成する。
半導体集積回路の端子に入出力されるパタンのデータ量を少なくすることができるパタン変換方法、これに供するテスト回路を提供することができる。
以下、図面を用いて、本発明の実施の形態について説明する。尚、図面は簡略的なものであって、示された構成要素の正確な大きさ等を示すものではない。また、図面に基づいて、本発明の技術的範囲を狭めるように解釈してはならない。また、同一の要素には同一の符号を付し、重複する説明は省略するものとする。
〔第1の実施形態〕
本発明の第1の実施形態について、以下、図1乃至図9を用いて説明する。図1に、半導体集積回路(LSI)50の概略的な回路図を示す。図2に、半導体集積回路50の概略的なテスト方法を説明するためのフローチャートを示す。図3に、内部信号に対する識別番号の割当を示す。図4に、内部信号パタンを示す。図5に、パタン変換の概要を示すフローチャートを示す。図6に、S501の詳細なフローチャートを示す。図7に、変化点検出表の作成を説明するための説明図を示す。図8に、S502の詳細なフローチャートを示す。図9に外部端子パタン(図9(a)に駆動端子パタン、図9(b)に照合端子パタン)を示す。
本発明の第1の実施形態について、以下、図1乃至図9を用いて説明する。図1に、半導体集積回路(LSI)50の概略的な回路図を示す。図2に、半導体集積回路50の概略的なテスト方法を説明するためのフローチャートを示す。図3に、内部信号に対する識別番号の割当を示す。図4に、内部信号パタンを示す。図5に、パタン変換の概要を示すフローチャートを示す。図6に、S501の詳細なフローチャートを示す。図7に、変化点検出表の作成を説明するための説明図を示す。図8に、S502の詳細なフローチャートを示す。図9に外部端子パタン(図9(a)に駆動端子パタン、図9(b)に照合端子パタン)を示す。
図1に示すように、半導体集積回路50は、駆動用(入力側)テスト回路1、テスト対象回路2、外部端子3a〜3g(データ端子3b〜3e、制御端子3a、3f、3g)を備える。また、図示しない16個の照合用の外部端子を備える。
駆動用テスト回路1は、テスター(不図示)からデータ端子3b〜3eに入力された4ビットの信号(駆動用テスト回路1のデータバスの信号)を利用して、テスト対象回路2に16ビットの内部信号パタン(駆動パタン)を出力する。テスト対象回路2は、駆動用テスト回路1から16ビットの駆動パタンが入力されると、16ビットの信号(照合パタン)を出力する。なお、図1に示すように、テスト対象回路2に入力される16ビットの駆動パタンは、信号sig_i_00〜sig_i_15を含む。また、テスト対象回路2から出力される16ビットの照合パタンは、信号sig_o_00〜sig_o_15を含む。
テスト対象回路2に入力される駆動パタンは4分割されている。換言すると、駆動パタンは、4つの単位パタンを有する。すなわち、駆動パタンは、第1単位パタン(sig_i_00〜sig_i_03)、第2単位パタン(sig_i_04〜sig_i_07)、第3単位パタン(sig_i_08〜sig_i_11)、第4単位パタン(sig_i_12〜sig_i_15)、を有する。
駆動用テスト回路1は、デコーダ4、セレクタ5(5a〜5d)、保持回路6を備える。
保持回路6は、16ビットのF/F(Flip/Flop)である。保持回路6は、4ビットごとに分割された保持回路6a〜6dを有する。保持回路6は、制御端子3fからのCL1の入力に基づいて、テスト対象回路2に16ビットの駆動パタンを出力する。保持回路6から出力された16ビットの駆動パタンは、テスト対象回路の内部バスに入力される。
なお、保持回路6のビット数は、駆動パタンの信号数に対応する。保持回路6の分割数は、駆動パタンの分割数に対応する。
セレクタ5a〜5dは、保持回路6a〜6dに対応して設けられる。セレクタ5a〜5dの第1入力は、データ端子3b〜3e(データバスと等しい)に接続される。セレクタ5aの第2入力は、節点N0を介して、保持回路6aの出力に接続される。セレクタ5bの第2入力は、節点N1を介して、保持回路6bの出力に接続される。セレクタ5cの第2入力は、節点N2を介して、保持回路6cの出力に接続される。セレクタ5dの第2入力は、節点N3を介して、保持回路6dの出力に接続される。セレクタ5a〜5dの制御端子は、それぞれデコーダ4の出力S0〜S3に接続される。セレクタ5a〜5dは、デコーダ4からのセレクト信号S0〜S3の入力に基づいて、第1入力又は第2入力のいずれかを出力する。
デコーダ4は、制御端子3aに接続される。制御端子3aからデコーダ4には、識別信号UB0〜3(UB0、UB1、UB2、UB3)が入力される。デコーダ4は、識別信号UB0〜3の入力に基づいて、セレクト信号S0〜S3をセレクタ5a〜5dに出力する。
本実施形態にかかる駆動用テスト回路1は、識別信号UB0〜3の入力に基づいて、テスト対象回路2に入力される駆動パタンのうち、更新されるべき単位パタンを特定する。そして、特定された単位パタンを、データ端子3b〜3eに入力された4ビットの単位パタン(LB0〜LB3)に更新する。これにより、データ端子3b〜3eに同じ単位パタンを重複して入力することを回避できる。そして、データ端子3b〜3eに入力されるパタンのデータ量を削減することができる。結果として、テスト工程の短時間化、外部に蓄積される信号のデータ量の低減を図ることができる。なお、各識別信号UB0〜3は後述の上位識別番号(USN)に対応し、LB0〜LB3は後述の下位識別番号(LSN)に対応する。
テスト対象回路2は、制御端子3gからのクロックCL2の入力に基づいて動作を開始する。
次に、図2を参照して、本実施形態にかかるテスト方法について説明する。
まず、内部信号への識別番号の割当てを実行する(S1)。つまり、図1に示すように、内部信号ごとに信号名をつける。また、駆動パタンについては、図3に示す内部信号割当表を作成する。図3では、上位、下位という2つの階層からなる識別番号を各内部信号に付与する。識別番号の上位(上位識別番号(USN))によって、駆動パタンの分割後の単位パタンが夫々識別される。識別番号の下位(下位識別番号(LSN))によって、USN区分内の信号が夫々識別される。換言すると、S1の段階で、テスト対象回路2に入力される駆動パタンを分割し、駆動パタン間で対応付けられた複数の単位パタンを用意する。
次に、駆動用テスト回路を半導体集積回路50に組み込む(S2)。具体的には、図1の回路図に示すように、駆動用テスト回路1を半導体集積回路50に組み込む。
次に、駆動用テスト回路1をパタン生成モデルに置き換える(S3)。具体的には、駆動用テスト回路について、入力−出力の対応関係を無効にし、テスト対象回路2への駆動パタン(内部信号パタン)を任意に出力するモデルに置き換える。
次に、シミュレーションを実行し、半導体集積回路50の内部信号パタンを抽出する(S4)。具体的には、図4に示すように、テスト対象回路2への駆動パタン(内部信号パタン)、テスト対象回路2からの照合パタン(内部信号パタン)を抽出する。
なお、駆動パタンは、そのパタン番号(PN1)順で、テスト対象回路2に入力される。つまり、PN1=0からPN1=5の順で、テスト対象回路2に駆動パタンが入力される。また、照合パタンも、そのパタン番号順で、テスト対象回路2から出力される。つまり、PN1=0からPN1=5の順で、テスト対象回路2から照合パタンが出力される。
次に、パタン変換(S5)を実行する。具体的には、テスト対象回路2に入力されるPN1=0〜5の各駆動パタンに基づいて、駆動用テスト回路1への入力信号のパタン(駆動端子パタン)列を生成する。尚、駆動端子パタンは、図1の外部端子3a〜3gに入力されるパタンを意味する。S5により、半導体集積回路50に外部から入力される信号のデータ量は大幅に削減される。なお、S5の詳細については、後述する。また、パタン変換(S5)では、半導体集積回路50から出力されるパタン(照合端子パタン)列も作成する。これにより、半導体集積回路50における駆動端子パタンと照合端子パタンとの関係が明らかになる。
次に、シミュレーションを実行し、照合可能かを確認する(S6)。具体的には、入力された駆動端子パタンに応じて、所定の照合端子パタンが半導体集積回路50から出力されるのか確認する。
次に、S6にて照合可能であることを前提として、製造した半導体集積回路50を実際にテストする(S7)。具体的には、テスターを用いて、製造した個々の半導体集積回路50について動作テストを実行する。
このようにして半導体集積回路50のテストは実行される。
以下、図5乃至9を用いて、上述のパタン変換(S5)について具体的に説明する。なお、上述のように、パタン変換(S5)の前段階のS1で、駆動パタンの分割は実行されている。
図5に示すように、まず、変化点検出表を作成する(S501)。次に、外部端子パタンを作成する(S502)。
以下、図5のS501について、図6及び図7を用いて具体的に説明する。図6は、S501の詳細なフローチャートである。図7は、変化点検出表の作成を説明するための説明図である。
S501では、図7(a)を正面視して、USN(上位識別番号)の区分内で、互いに上下に位置する単位パタンが等しいかどうかを判断し、その判断結果を図7(b)の変化点検出表に書き込む。なお、ここでは、PN1=0の駆動パタンから処理を開始し、USN=0の信号から処理を開始する。
図6に示すように、まず、処理対象とする駆動パタンを設定する(S1)。ここでは、上述のように、PN1=0の駆動パタンを処理対象として特定する(S1)。
次に、特定した駆動パタンに含まれる単位パタンを特定する(S2)。ここでは、上述のように、USN=0の単位パタンを処理対象として特定する(S2)。
次に、PN1=0であるのか判断する(S3)。
PN1=0の場合、S12に進む。そして、図7(b)に示す変化点検出表の座標(PN1,USN)に1を格納する(S12)。
PN1≠0の場合、S4に進む。そして、図7(a)の座標(PN1,USN)の単位パタンを読み込む(S4)。例えば、PN1=2、USN=0の場合、読み込まれる単位パタンは、座標(2,0)で特定される0100である。
次に、図7(a)の表における座標(PN1 −1,USN)の単位パタンを読み込む(S5)。例えば、上述と同様に、PN1=2、USN=0の場合、読み込まれる単位パタンは、座標(1,0)で特定される0000である。
次に、S4で読み込んだ単位パタンが、S5で読み込んだ単位パタンから変化したかを判断する(S6)。換言すると、単位パタンの更新があったのか判断する。なお、言うまでもなく、S4の前にS5を実行しても良い。
単位パタンの更新がある場合には、S12に進む。そして、上述と同様に、図7(b)に示す変化点検出表の座標(PN1,USN)に1を格納する(S12)。
単位パタンの更新がない場合には、S7に進む。そして、図7(b)に示す変化点検出表の座標(PN1,USN)に0を格納する(S7)。
S7、S12の後、USNの値に1加算する(S8)。つまり、図7(a)を正面視して左方向に処理対象とするUSNをシフトさせる。
次に、すべてのUSNで上述の処理を実行したのか判断する(S9)。ここでは、駆動パタンは4分割されており、USNの最大値は3である。従って、USN=3であるのか判断する(S9)。
すべてのUSNで上述の処理を実行していない場合(USN≠3の場合)、上述のS3に戻る。
すべてのUSNで上述の処理を実行した場合(USN=3の場合)の場合、S10に進む。そして、PN1の値を1加算する(S10)。すなわち、図7(a)の表を正面視して、下方向に処理対象とする駆動パタンをシフトさせる。
次に、すべてのPN1で処理が実行されたのか判断する(S11)。
すべてのPN1で処理が実行されていない場合にはS2に戻る。すべてのPN1で処理が実行された場合には、S501の処理は終了する。このようにして図7(b)の変化点検出表は作成される。
尚、図6のフローチャートから明らかなように、PN1=0の場合、S3からS12に進む。従って、図7(b)の1行目には1111が必ず格納される。PN1=1以降は、S3からS4に進むため、S6の判断結果に基づいて、図7(b)の2行目以降に1又は0が格納されることになる。
以下、図7を参照して説明を補足する。
図7(a)に示すように、PN1=1の駆動パタンは、PN1=0の駆動パタンと一致する。換言すると、PN1=1の駆動パタンは、PN1=0の駆動パタンから更新された単位パタンを持たない。従って、図7(b)の変化点検出表の2行目には0000が設定される。
図7(a)に示すように、PN1=2の駆動パタンは、PN1=1の駆動パタンと比較して、USN=0の単位パタンで更新され、その他のUSN=1〜3の単位パタンで更新されていない。換言すると、PN1=2の駆動パタンは、PN1=1の駆動パタンから更新された単位パタンをUSN=0で持つ。従って、図7(b)の変化点検出表の3行目には、0001が設定される。
図7(a)に示すように、PN1=3の駆動パタンは、PN1=2の駆動パタンと比較して、USN=1の単位パタンで更新され、その他のUSN=0、2、3の単位パタンでは更新されていない。換言すると、PN1=3の駆動パタンは、PN1=2の駆動パタンから更新された単位パタンをUSN=1で持つ。従って、図7(b)の変化点検出表の4行目には、0010が設定される。
なお、PN1=4の場合、PN1=5の場合は、上述のPN1=1の場合と同様である。このようにして、図7(a)の駆動パタンから、図7(b)の変化点検出表が作成される。なお、変化点検出表の作成は、コンピュータがプログラムを実行することにより実現される。
ここで、図5のS502について、図8及び図9を用いて説明する(適宜、図7も参照する)。S502の処理によって、最終的には図9に示す外部端子パタン(図9(a)駆動端子パタン、図9(b)照合端子パタン)が作成される。尚、図9(a)の駆動端子パタンでは、新たなパタン番号(PN2)が設定される。同様に、図9(b)の照合端子パタンにも、新たなパタン番号が設定される。
図8に示すように、まず、PN1、PN2を0とする(S1)。S501と同様に、ここでもPN1=0から処理を実行する。
次に、USN=0とする(S2)。S501と同様に、ここでもUSN=0から処理を実行する。
次に、図7(b)の変換点検出表の座標(PN1,USN)の値が1であるのかどうかに基づいて、図6のS6でパタン更新があったと判断されたか判断する(S3)。
パタン更新がある場合、図9(a)の駆動端子パタンに更新パタンの情報を格納する(S4)。つまり、現在のUSNを図9(a)の駆動端子パタンのUBに格納し、図7(a)の座標(PN1,USN)の単位パタンを図9(a)のデータバスに格納する。また、図9(a)のCL1を1とし、CL2を0とする。
なお、UBは、USNに対応し、図1の制御端子3aに入力される。データバスは、USNの区分内のLSNに対応し、データ端子3b〜3eに信号LB0〜LB3として入力される。CL1は、制御端子3fに入力される。CL2は、制御端子3gに入力される。
次に、PN2の値に1加算する(S5)。
次に、USNの値に1加算する(S6)。
なお、S3にて、パタン更新がないと判断された場合、上述のS4は実行されない。そして、S3後、S6が実行される。これによって、駆動用テスト回路1のデータバスに重複する単位パタンが入力されることが排除される。
次に、すべてのUSNで処理が実行されたのか判断する(S7)。ここでは、USN=3となったのか確認する。USN=3となっていない場合には、上述のS3に戻る。USN=3となっている場合には、S8に進む。
S8では、保持回路6にセットされた駆動パタンをテスト対象回路2に入力させる条件を駆動端子パタンに格納する。つまり、CL1を0とし、CL2を図4の現在のPN1に基づいて特定されるCL2とする。尚、ここでは、USNを−とし、データバスを−とする。なお、−は、0,1のどちらでも良いことを意味する。
次に、PN1の値に1加算する(S9)。
次に、USNの値に1加算する(S10)。
次に、すべてのPN1について処理が実行されたか確認する(S11)。すべてのPN1で処理が実行された場合、S502のステップは終了し、すべてのPN1で処理が実行されていない場合、S2に戻る。このようにして駆動端子パタン(図9(a))は作成される。
図7(b)に示すように、変化点検出表の1行目(PN1=0の行)はすべて1である。従って、PN1=0の駆動パタンの場合、すべてのUSNにおいて図8のS4が実行される。そして、図9(a)のPN2=0〜3のデータバスには、順次4つの単位パタンが格納される。
図7(b)に示すように、変化点検出表の2行目(PN1=1の行)はすべて0である。つまり、PN1=1の駆動パタンは、PN1=0の駆動パタンと完全に一致する。従って、図9(a)のPN1=1の駆動パタンの場合、CL1=0,CL2=1と設定すれば十分であり、単位パタンの格納は実行されない。
図7(b)に示すように、変化点検出表の3行目(PN1=2の行)は、0001である。従って、PN1=2の駆動パタンの場合、USN=0で図8のS4が実行される。換言すると、PN1=2の駆動パタンは、PN1=1の駆動パタンのうちUSN=0の単位パタンを更新させる必要がある。そして、図9(a)のPN2=6のデータバスに1つの単位パタンが格納される。
図7(b)に示すように、変換点検出表の4行目(PN1=3の行)は、0010である。従って、PN1=3の駆動パタンの場合、USN=1で図8のS4が実行される。換言すると、PN1=3の駆動パタンは、PN1=2の駆動パタンのうちUSN=1の単位パタンを更新させる必要がある。そして、図9(a)のPN2=8のデータバスに1つの単位パタンが格納される。
なお、図7の変化点検出表の5行目及び6行目は、上述の2行目の説明と同様である。
本実施形態においては、USNを区分として駆動パタン(内部信号パタン)を複数の単位パタンに分割し、USNの区分ごとに連続する駆動パタン間で単位パタンの更新の有無を判断し、更新のある単位パタンを駆動端子パタンとして格納し、更新のない単位パタンは駆動端子パタンとして格納しない。このようにすると、更新のない単位パタンを駆動用テスト回路1に入力する必要はないため、半導体集積回路50に入力される単位パタンの行数を大幅に削減することができる。
換言すると、本実施形態においては、駆動パタンを複数の単位パタンに分割し、連続する駆動パタン間で対応する単位パタンの更新の有無を判断し、変更のある単位パタンのみを部分的に更新させながら、順次駆動パタンをテスト対象回路2に入力させる。従って、外部から半導体集積回路50に入力されるパタンのデータ量を大幅に削減することができる。結果として、テスト工程の短時間化を図り、外部に蓄積されるデータ量を削減できる。
なお、図9(a)の作成に対応して、図9(b)の照合端子パタンも作成する。すなわち、駆動端子パタン、照合端子パタンを含む外部端子パタンを作成する。これによって、駆動端子パタンと、照合端子パタン(期待値)との関係を明らかにする。そして、図2のS6に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、実際にテスト対象回路2から出力される照合端子パタンが期待値と等しいかを確認する。
〔第2の実施形態〕
本発明の第2の実施形態について、以下、図10乃至図18を用いて説明する。図10に、半導体集積回路(LSI)51の概略的な回路図を示す。図11に、半導体集積回路51の概略的なテスト方法を説明するためのフローチャートを示す。図12に、内部信号への識別番号の割当を示す。図13に、内部信号パタンを示す。図14に、パタン変換の概要を示すフローチャートを示す。図15に、図14のS503の詳細なフローチャートを示す。図16に、変化点検出表の作成を説明するための説明図を示す。図17に、図14のS504の詳細なフローチャートを示す。図18に外部端子パタン(図18(a)に照合端子パタン、図18(b)に駆動端子パタン)を示す。
本発明の第2の実施形態について、以下、図10乃至図18を用いて説明する。図10に、半導体集積回路(LSI)51の概略的な回路図を示す。図11に、半導体集積回路51の概略的なテスト方法を説明するためのフローチャートを示す。図12に、内部信号への識別番号の割当を示す。図13に、内部信号パタンを示す。図14に、パタン変換の概要を示すフローチャートを示す。図15に、図14のS503の詳細なフローチャートを示す。図16に、変化点検出表の作成を説明するための説明図を示す。図17に、図14のS504の詳細なフローチャートを示す。図18に外部端子パタン(図18(a)に照合端子パタン、図18(b)に駆動端子パタン)を示す。
図10に示すように、半導体集積回路51は、照合用(出力側)テスト回路7、テスト対象回路8、外部端子9a〜9g(データ端子9b〜9e、制御端子9a、9f、9g)を備える。また、図示しない16個の駆動用の外部端子を備える。
照合用テスト回路7は、テスター(不図示)から制御端子9aに入力された上位識別信号(UB)に基づいて、テスト対象回路8から出力される照合パタンから照合パタンの分割後の単位パタンを選択的に出力する。テスト対象回路8は、16ビットの駆動パタンが入力されると、16ビットの照合パタンを照合用テスト回路7に出力する。なお、図10に示すように、テスト対象回路8に入力される16ビットの駆動パタンは、信号sig_i_00〜sig_i_15を含む。また、テスト対象回路8から出力される16ビットの照合パタンは、信号sig_o_00〜sig_o_15を含む。
テスト対象回路8から出力される照合パタンは4分割されている。換言すると、照合パタンは、4つの単位パタンを有する。すなわち、照合パタンは、第1単位パタン(sig_o_00〜sig_o_03)、第2単位パタン(sig_o_04〜sig_o_07)、第3単位パタン(sig_o_08〜sig_o_11)、第4単位パタン(sig_o_12〜sig_o_15)、を有する。
照合用テスト回路7は、保持回路10、判定回路11(11a〜11d)、セレクタ12aを備える。
保持回路10は、16ビットのF/F(Flip/Flop)である。保持回路10は、4ビットごとに分割された保持回路10a〜10dを有する。保持回路10は、制御端子9fからのCL1の入力に基づいて、テスト対象回路8が出力する16ビットの信号を保持する。
尚、保持回路10aとテスト対象回路8との間には節点N0がある。保持回路10bとテスト対象回路8との間には節点N1がある。保持回路10cとテスト対象回路8との間には節点N2がある。保持回路10dとテスト対象回路8との間には節点N3がある。また、保持回路10のビット数は、照合パタンのビット数に対応する。保持回路10の分割数は、照合パタンの分割数に対応する。
セレクタ12aは、入力0〜入力4を有する。セレクタ12aの入力0〜3は、上述の節点N0〜N4に接続される。セレクタ12aの入力4は、判定回路11a〜11dの出力に接続される。セレクタ12aの出力は、データ端子9b〜9e(データバス)に接続される。セレクタ12aは、制御端子9aからの識別信号UB0〜4(UB0、UB1、UB2、UB3、UB4)の入力に基づいて、入力0〜入力4のいずれかを出力する。
判定回路11a〜11dは、保持回路10a〜10dに対応して設けられる。判定回路11a〜11dの第1の入力は、上述の節点N0〜N3に接続される。判定回路11a〜11dの第2の入力は、保持回路10a〜10dの出力に接続される。判定回路11a〜11dの出力は、セレクタ12aの入力4に接続される。
判定回路11a〜11dは、保持回路10a〜10dに保持されている単位パタンと、テスト対象回路8から保持回路10a〜10dに新たに出力される単位パタンとが等しいかどうかを判定する。判定回路11a〜11dは、比較するパタンが等しい場合には0を出力し、等しくない場合には1を出力する。そして、セレクタ12aの入力4には、判定回路11a〜11dの判定結果が4ビットの信号(判定パタン)として入力される。
なお、図10に示すように、判定回路11dは、XOR回路13d、OR回路14dを有する。XOR回路13dは、保持回路10dに保持された単位パタン、テスト対象回路8から保持回路10dに出力された単位パタンが等しいパタンかを判定する。そして、パタンの更新があった場合、1(Hレベルの信号)をOR回路14dに出力する。そして、OR回路14dは、XOR回路13dから入力される4ビットの信号のいずれかで1がある場合、パタン更新があったとする信号1を出力する。なお、XOR回路13dは、実際には、4つのXOR回路を含む。判定回路11dに関する説明は、他の判定回路11a〜11cにも当てはまる。
なお、図10から明らかなように、判定回路11aの出力信号名はedge_o_0である。判定回路11bの出力信号名はedge_o_1である。判定回路11cの出力信号名はedge_o_2である。判定回路11dの出力信号名はedge_o_3である。
上述の説明から明らかなように、出力信号edge_o_0は、内部信号sig_o_00〜sig_o_03のいずれかの信号が変化したとき0から1となる。同様に、出力信号edge_o_1は、内部信号sig_o_04〜sig_o_07のいずれかの信号が変化したとき0から1となる。出力信号edge_o_2は、内部信号sig_o_08〜sig_o_11のいずれかの信号が変化したとき0から1となる。出力信号edge_o_4は、内部信号sig_o_12〜sig_o_15のいずれかの信号が変化したとき0から1となる。
テスト対象回路8は、制御端子9gからのクロックCL2の入力に基づいて動作を開始する。
本実施形態にかかる照合用テスト回路7は、識別信号UB0〜4の入力に基づいて特定される単位パタンを照合パタンから選択的に出力する。このようにして、照合用テスト回路7から出力される重複する単位パタンを排除することができる。結果として、テスト工程の短時間化を図ることができる。また、外部に格納される照合用の単位パタンの列数を大幅に削減することができる。なお、各識別信号UB0〜4は後述の上位識別番号(USN)に対応し、LB0〜LB3は後述の下位識別番号(LSN)に対応する。
次に、図11を参照して、本実施形態にかかるテスト方法について説明する。
まず、内部信号への識別番号の割当てを実行する(S1)。つまり、図10に示すように、内部信号に信号名をつける。また、照合パタンについては、図12に示す内部信号割当表を作成する。図12では、上位、下位という2つの階層からなる識別番号を各内部信号に付与している。識別番号の上位0〜3(上位識別番号(USN))は、照合パタンの分割後の各単位パタンに対応する。USN4は、判定回路11からの4ビットの判定信号(判定パタン)に対応する。識別番号の下位(下位識別番号(LSN))は、USNの区分内における個々の信号線に対応する。本実施形態においても、S1の段階で、テスト対象回路8から出力される照合パタンを分割する。
次に、照合用テスト回路を半導体集積回路51に組み込む(S2)。具体的には、図10の回路図に示すように、照合用テスト回路7を半導体集積回路51に組み込む。
次に、照合用テスト回路7を空箱モデルに置き換える(S3)。具体的には、照合用テスト回路について、入力−出力の対応関係を無効にする。
次に、シミュレーションを実行し、半導体集積回路51の内部信号パタンを抽出する(S4)。具体的には、図13に示すように、テスト対象回路8への駆動パタン、テスト対象回路8からの照合パタンを抽出する。なお、ここでは、内部信号パタン(駆動パタン、照合パタン)は第1の実施形態におけるものと等しい。
なお、駆動パタンは、そのパタン番号(PN1)順で、テスト対象回路8に入力される。つまり、PN1=0の駆動パタンから順にPN1=5の駆動パタンが、テスト対象回路8に入力される。また、照合パタンも、そのパタン番号(PN1)順で、テスト対象回路8から出力される。つまり、PN1=0の照合パタンから順にPN1=5の照合パタンが、テスト対象回路8から出力される。
次に、パタン変換(S5)を実行する。具体的には、テスト対象回路8から出力されるPN1=0〜5の各照合パタンに基づいて、照合用テスト回路7への入出力パタン(照合端子パタン)列を生成する。尚、照合端子パタンは、図10の外部端子9a〜9gに入出力されるパタンを意味する。S5により、半導体集積回路51から外部に出力される信号のデータ量は大幅に削減される。なお、S5の詳細については、後述する。また、パタン変換(S5)では、半導体集積回路51に入力されるパタン(駆動端子パタン)列も作成する。これにより、半導体集積回路51における駆動端子パタンと照合端子パタンとの関係が明らかになる。
次に、シミュレーションを実行し、照合可能かを確認する(S6)。具体的には、入力された駆動端子パタンに応じて、所定の照合端子パタンが半導体集積回路51から出力されるのか確認する。
次に、S6にて照合可能となったことを前提として、製造した半導体集積回路51を実際にテストする(S7)。具体的には、テスターを用いて、製造した個々の半導体集積回路51について動作テストを実行する。
このようにして半導体集積回路51のテストは実行される。
以下、図14乃至18を用いて、図11のパタン変換(S5)について具体的に説明する。なお、パタン変換(S5)の前段階のS1で、照合パタンの分割は実行されている。
図14に示すように、まず、変化点検出表を作成する(S503)。次に、外部端子パタンを作成する(S504)。
以下、図14のS503について、図15及び図16を用いて具体的に説明する。図15は、S503の詳細なフローチャートである。図16は、変化点検出表の作成を説明するための説明図である。
S503では、図16(a)を正面視して、USNの区分内で、互いに上下に位置する単位パタンが等しいかどうかを判断し、その判断結果を図16(b)の変化点検出表に書き込む。なお、ここでは、PN1=0の照合パタンから処理を開始し、USN=0の信号から処理を開始する。
図15に示すように、まず、処理対象とする照合パタンを設定する(S1)。ここでは、上述のように、PN1=0の照合パタンを処理対象とする(S1)。
次に、特定した照合パタンに含まれる単位パタンを特定する(S2)。ここでは、上述のように、USN=0の単位パタンを処理対処として特定する(S2)。
次に、PN1=0であるのか判断する(S3)。
PN1=0の場合、S13に進む。そして、図16(b)に示す変化点検出表の座標(PN1,USN)にX(変化有/無特定できず)を格納する(S13)。
PN1≠0の場合、S4に進む。そして、図16(a)の表における座標(PN1,USN)の単位パタンを読み込む(S4)。例えば、PN1=1、USN=3の場合、読み込まれる単位パタンは、座標(1,3)から特定されるHLHLである。
次に、図16(a)の表における座標(PN1 −1,USN)の単位パタンを読み込む(S5)。例えば、上述と同様に、PN=1、USN=3の場合、読み込まれる単位パタンは、座標(0,3)から特定されるHLLLである。
次に、S4で読み込んだ単位パタンがS5で読み込んだ単位パタンから変化したかを判断する(S6)。換言すると、単位パタンに更新があったのか確認する。なお、S4の前にS5を実行しても良い。
単位パタンの更新がある場合、S12に進む。そして、上述と同様に、図16(b)に示す変化点検出表の座標(PN1,USN)にHを格納する(S12)。
単位パタンの更新がない場合、S7に進む。そして、図16(b)に示す変化点検出表の座標(PN1,USN)にLを格納する(S7)。
S7、S12の後、USNの値に1加算する(S8)。つまり、図16(a)を正面視して左方向に処理対象とするUSNをシフトさせる。
次に、判定信号に対応するUSN=4を除くすべてのUSNで上述の処理を実行したのか判断する(S9)。ここでは、USN=4を除くUSNの最大値は3である。従って、USN=3であるのか判断する(S9)。
USN=4を除くすべてのUSNで上述の処理を実行していない場合(USN≠3の場合)、上述のS3に戻る。
USN=4を除くすべてのUSNで上述の処理を実行した場合(USN=3)の場合、S10に進む。そして、PN1の値に1加算する(S10)。すなわち、図16(a)の表を正面視して、下方向に処理対象とする照合パタンをシフトさせる。
次に、すべてのPN1で処理が実行されたのか判断する(S11)。
すべてのPN1で処理が実行されていない場合にはS2に戻る。すべてのPN1で処理が実行された場合、S503の処理は終了する。
図15のフローチャートから明らかなように、PN1=0の場合、常に、S3からS13に進む。従って、図16(b)の変化点検出表の1行目にはXXXXが必ず格納される。PN1=1以降は、S3からS4に進むため、S6の判断結果に基づいて、図16(b)の2行目以降にH又はLが格納されることになる。
以下、図16を参照して説明を補足する。
図16(a)に示すように、PN1=1の照合パタンは、PN1=0の照合パタンと比較して、USN=3の単位パタンで更新され、その他のUSN=0〜2の単位パタンで更新されていない。換言すると、PN1=1の照合パタンは、PN1=0の照合パタンから更新された単位パタンをUSN=3で持つ。従って、図16(b)の変化点検出表の2行目には、HLLLが設定される。
図16(a)に示すように、PN1=2の照合パタンは、PN1=1の照合パタンと比較して、どの単位パタンでも一致する。換言すると、PN1=2の照合パタンは、PN1=1の照合パタンから更新された単位パタンを持たない。従って、図16(b)の変化点検出表の3行目にはLLLLが設定される。
図16(a)に示すように、PN1=3の照合パタンは、PN1=2の照合パタンと比較して、USN=1、USN=2の単位パタンで更新され、その他のUSN=0、3の単位パタンでは更新されていない。換言すると、PN1=3の照合パタンは、PN1=2の照合パタンから更新された単位パタンをUSN=1、USN=2で持つ。従って、図16(b)の変化点検出表の4行目には、LHHLが設定される。
なお、PN1=4の場合、PN1=5の場合は、上述のPN1=2の場合と同様である。このようにして、図16(a)の照合パタンから、図16(b)の変化点検出表が作成される。なお、この作成処理は、コンピュータがプログラムを実行することにより実現される。
次に、図14のS504について、図17及び図18を用いて説明する(適宜、図16も参照する)。S504の処理によって、最終的には外部端子パタン(図18(a)の照合端子パタン、図18(b)の駆動端子パタン)が作成される。尚、図18(a)(b)では、新たなパタン番号PN2が設定される。
図17に示すように、まず、PN1、PN2を0とする(S1)。S503と同様に、ここでもPN1=0から処理を実行する。
次に、判定パタンを照合端子パタンに格納する(S2)。具体的には、UB=4とし、CL1=1とし、CL2=内部信号パタン(図13)のCL2とする。データバスには、現在のPN1に基づいて変化点検出表(図16(b))から取得した判定パタンを格納する。この判定パタンは、図10の判定回路11から出力される4ビットの信号に対応する。
次に、PN2の値に1加算する(S3)。次に、USN=0とする(S4)。
次に、図16(b)の変換点検出表の座標(PN1,USN)の値がH又はXであるのか判断する(S5)。換言すると、図15のS6でパタン更新があったと判断されたか判断する。変換点検出表の座標(PN1,USN)の値がH又はXの場合、S6に進む。
S6では、S5の判定結果に基づいて、更新パタンの情報を照合端子パタンに格納する。つまり、現在のUSNを、図18(a)の照合端子パタンのUBに格納する。また、図16(a)の座標(PN1,USN)の単位パタンを、図18(a)のデータバスに格納する。また、図18(a)のCL1を0とし、CL2を0とする。
次に、PN2の値に1加算する(S7)。
次に、USNの値に1加算する(S8)。
次に、すべてのUSNについて処理が実行されたのか判断する(S9)。実行されていない場合には、上述のS5に戻る。実行されている場合には、S10に進む。
S10では、PN1の値に1加算する。
次に、すべてのPN1について処理が実行されたか確認する(S11)。実行された場合、S504のステップは終了する。実行されていない場合、S2に戻る。このようにして照合端子パタン(図18(a))は作成される。
図16(b)に示すように、変化点検出表の1行目(PN1=0の行)はすべてXである。従って、PN1=0の照合パタンの場合、すべてのUSNにおいて図17のS6が実行される。そして、図18(a)のPN2=1〜4の各データバスには、USN=0〜3に対応する4つの単位パタンが格納される。
図16(b)に示すように、変化点検出表の2行目(PN1=1の行)は、HLLLである。従って、PN1=1の照合パタンの場合、USN=3のみで図17のS6が実行される。換言すると、PN1=2の照合パタンは、PN1=1の照合パタンのうちUSN=3の単位パタンのみで更新がある。従って、図18(a)のPN2=6のデータバスには、USN=3の単位パタンのみが格納される。
図16(b)に示すように、変化点検出表の3行目(PN1=2の行)は、すべてLである。したがって、PN1=2の照合パタンでは、どのUSNにおいても図17のS6が実行されない。図18(a)には、どのUSN=0〜3の単位パタンも格納されない。
図16(b)に示すように、変換点検出表の4行目(PN1=3の行)は、LHHLである。従って、PN1=3の照合パタンの場合、USN=1、USN=2で図17のS6が実行される。換言すると、PN1=3の照合パタンは、PN1=2の照合パタンのうちUSN=1、USN=2の単位パタンで更新がある。従って、図18(a)のPN2=9、10のデータバスには、USN=1、USN=2の単位パタンが格納される。
図16(b)の変換点検出表の5行目(PN1=4の行)、6行目(PN1=5の行)は、3行目の場合と同様である。
また、図18(a)の照合端子パタンから明らかなように、PN1=0以外のどの照合パタンにおいても、判定パタンは出力される。すなわち、照合端子パタンには、照合パタンごとにUB=4の判定パタンが格納される。このように単位パタンの更新情報を出力させることで、重複する単位パタンを出力端子からわざわざ出力させる必要を解消できる。そして、更新のある単位パタンを選択的に出力端子から出力させるように設定できる。よって、半導体集積回路51から出力されるテスト用の信号のデータ量を大幅に削減できる。そして、テスト工程に要する時間の短縮化を図ることができると共に、外部に蓄積されるテスト用の信号のデータ量を大幅に削減できる。
このように本実施形態においては、テスト対象回路8から出力される照合パタンを、照合端子パタンに変換する。
なお、図18(a)の作成に際して、図18(b)の駆動パタンも作成する。これによって、駆動パタン、照合パタン(期待値)、らの関係を明らかにする。そして、図11のS6に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、照合用テスト回路7のデータ端子9b〜9eから出力される判定パタン、単位パタンが期待値と等しいかを確認する。
上述の説明から明らかなように、本実施形態においては、USNを区分として照合パタンを複数の単位パタンに分割し、USNに基づいて特定される単位パタンを照合パタンから選択的に出力する。また、判定回路11の判定パタンも合わせて出力させる。換言すると、更新のない単位パタンを照合用テスト回路7から出力させない。よって、テスターに格納されるパタンの行数を大幅に削減することができる。また、セレクタ12aから判定回路11の判定パタンも合わせて出力されるため、判定パタンの出力のために別途外部端子を設ける必要もない。
〔第3の実施形態〕
本発明の第3の実施形態について、以下、図19乃至図23を用いて説明する。本実施形態は、第2の実施形態とは異なり、判定パタンの出力用の外部端子が設けられている。ここでは、この異なる点についてのみ説明し、第2の実施の形態と重複する説明は省略する。尚、本実施形態においても、上述の相違点に起因する効果を除いて、第2の実施形態で説明したものと同様の作用効果を得ることができる。
本発明の第3の実施形態について、以下、図19乃至図23を用いて説明する。本実施形態は、第2の実施形態とは異なり、判定パタンの出力用の外部端子が設けられている。ここでは、この異なる点についてのみ説明し、第2の実施の形態と重複する説明は省略する。尚、本実施形態においても、上述の相違点に起因する効果を除いて、第2の実施形態で説明したものと同様の作用効果を得ることができる。
図19に、半導体集積回路(LSI)52の概略的な回路図を示す。図20に、内部信号への識別番号の割当を示す。図21に、本実施形態におけるパタン変換のフローチャートを示す。図22に、S505の詳細なフローチャートを示す。図23に外部端子パタン(図18(a)に照合端子パタン、図18(b)に駆動端子パタン)を示す。
図19に示すように、半導体集積回路52は、判定パタンの出力用のデータ端子9h〜9kを有する。判定回路11a〜11dからの出力信号edge_o_0〜edge_o_3の4ビットの判定パタンは上述のデータ端子9h〜9kから出力される。
また、図20に示すように、判定回路11のそれぞれの出力信号edge_o_0〜edge_o_3には識別番号を割り当てない。ここでは、判定回路11からの判定パタンはセレクタ12bによって選択的に出力されないからである。
本実施形態においては、図21に示す手順で、パタン変換が実行される。まず、第2の実施形態と同様に、変化点検出表を作成する(S503)。次に、外部端子パタンの作成をする(S505)。S505のステップは、第2の実施形態と異なる。
以下、図22及び図23を用いて、S505について説明する。なお、第2の実施形態におけるS503の説明から明らかなように、S505の実行開始時には、すでに変化点検出表(図16(b)と同じ)が作成されている。また、以下の説明では、第2の実施形態における図11、図13、図16を適宜参照するものとする。
図22に示すように、まず、PN1=0、PN2=0とする(S1)。
次に、判定パタンを照合端子パタンに格納する(S2)。具体的には、図23(a)の判定パタンデータバスに、変化点検出表(図16(b))のPN1から特定される4ビットの値(USN=0〜3)を格納する。また、図23(a)のCL1に1を格納する。また、図23(a)のCL2に、図13の現在のPN1に基づいて特定されるCL2を格納する。
次に、変化点検出表のPN1の信号がすべてLであるのか判断する(S3)。すなわち、前回のPN1の照合パタンと今回のPN1の照合パタンとを比較して、パタンの更新があるのか判断する。換言すると、照合パタン毎に、パタンの更新があったのか判断する。更新がない場合は、PN2の値に1加算する(S12)。そして、S10に進む。
更新がある場合、初期設定として図23(a)のUSNの値を0とする(S4)。
そして、変化点検出表の座標(PN1,USN)がHであるのか判断する(S5)。つまり、単位パタンごとにパタンの更新があったのかを判断する。
単位パタンの更新があった場合には、更新のあるパタンを照合端子パタンに格納する(S6)。つまり、図23(a)のUBに、現在のUSNを格納する。また、単位パタンデータバスに、図16(a)の座標(PN1,USN)で特定される単位パタンを格納する。また、CL1に0、CL2に0を格納する。
次に、PN2の値に1加算する(S7)。
次に、USNの値に1加算する(S8)。
次に、すべてのUSNで処理を実行したのか判断する(S9)。すべてのUSNで処理が実行されていない場合、S5に戻る。すべてのUSNで処理が実行されている場合、S10に進む。
次に、PN1の値に1加算する(S10)。
次に、すべてのPN1で処理が実行されたのか判断する(S11)。すべてのUSNで処理が実行されていない場合、S2に戻る。すべてのUSNで処理が実行されている場合、S505のステップは終了する。
図16(b)に示すように、変化点検出表の1行目(PN1=0の行)はすべてXである。従って、PN1=0の場合、すべてのUSNにおいて図22のS6が実行される。そして、図23(a)のPN2=0〜3の各単位データバスには、PN1=0のUSN=0〜3に対応する4つの単位パタンが格納される。
図16(b)に示すように、変化点検出表の2行目(PN1=1の行)は、HLLLである。従って、PN1=1の場合、USN=3で図22のS6が実行される。換言すると、PN1=1の照合パタンは、PN1=1の照合パタンのうちUSN=3の単位パタンのみで更新がある。従って、図23(a)のPN2=4の単位パタンデータバスには、PN1=1の照合パタンに含まれるUSN=3の単位パタンのみが格納される。
図16(b)に示すように、変化点検出表の3行目(PN1=2の行)は、すべてLである。したがって、PN1=2では、どのUSNにおいても図22のS6が実行されない。そして、図23(a)には、PN1=2の照合パタンに含まれるUSN=0〜3の単位パタンのいずれも格納されない。
図16(b)に示すように、変換点検出表の4行目(PN1=3の行)は、LHHLである。従って、PN1=3の場合、USN=1、USN=2の2つの単位パタンで、図22のS6が実行される。換言すると、PN1=3の照合パタンは、PN1=2の照合パタンのうちUSN=1、USN=2の単位パタンで更新がある。従って、図23(a)のPN2=6、7の単位パタンデータバスには、PN1=3の照合パタンに含まれるUSN=1、USN=2の単位パタンが格納される。
図16(b)の変換点検出表の5行目(PN1=4の行)、6行目(PN1=5の行)は、3行目の場合と同様である。
また、図23の照合端子パタンから明らかなように、PN1=0以外の照合パタンごとに、判定パタンは出力される。これによって、単位パタンの更新情報を用意できる。このように照合パタンの更新情報を出力させることで、重複する単位パタンを出力端子からわざわざ出力させる必要はなく、更新のある単位パタンのみを出力端子から出力させればよい。よって、半導体集積回路52から出力されるテスト用の信号のデータ量を削減できる。
このように本実施形態においては、テスト対象回路8から出力される照合パタンを照合端子パタンに変換する。
なお、図23(a)の作成に対応して、図23(b)の駆動パタンも作成する。これによって、駆動パタン、照合パタン(期待値)との関係を明らかにする。そして、図11のS6に進み、上述のようにシミュレーションの実行を行い、照合可能かを判断する。すなわち、実際に照合用テスト回路7のデータ端子9b〜9eから出力される単位パタン、データ端子9h〜9kから出力される判定パタン、が期待値(図23(a))と等しいかを確認する。
〔第4の実施形態〕
本発明の第4の実施形態について、以下、図24乃至図27を用いて説明する。尚、本実施形態においては、テスト対象回路に入力される駆動パタン及びテスト対象回路から出力される照合パタンの両方でパタン変換する。第1の実施形態、第2の実施形態と重複する説明は省略する。
本発明の第4の実施形態について、以下、図24乃至図27を用いて説明する。尚、本実施形態においては、テスト対象回路に入力される駆動パタン及びテスト対象回路から出力される照合パタンの両方でパタン変換する。第1の実施形態、第2の実施形態と重複する説明は省略する。
図24に、半導体集積回路(LSI)53の概略的な回路図を示す。図25に、本実施形態におけるパタン変換のフローチャートを示す。図26に、駆動用の変化点検出表を示す。図27に、外部端子パタンを示す。
図24に示すように、本実施形態では、半導体集積回路(LSI)53は、テスト対象回路30の駆動側に、第1の実施形態における駆動用テスト回路1及び外部端子3a〜3fを有し、テスト対象回路30の照合側に、第2の実施形態における照合用テスト回路7、外部端子9a〜9gを有する。
本実施形態においては図25に示すようにパタン変換を実行する。すなわち、まず、照合用の変化点検出表を作成する(S503)。次に、照合端子パタン(S504)を作成する。次に、駆動用の変化点検出表を作成する(S501)。次に、駆動端子パタンを作成する(S502)。そして、最終的に、外部端子パタンを作成する(S506)。
S503、S504は、第2の実施形態で説明したものと同様である。S501では、S504により作成された駆動端子パタン(図18(b))を用いて、図26に示すように、駆動用の変化点検出表を作成する。そして、最終的には、作成した駆動端子パタン、作成した照合端子パタンを、図27のようにまとめる。なお、図27では、駆動端子パタンと照合端子パタンとをまとめる関係上新たなパタン番号(PN3)を設けている。なお、駆動端子パタンの作成(S502)と同時に外部端子パタンの作成(S506)の実行をすることもできる。
本実施形態においては、駆動側及び照合側の双方において、上述したパタン変換を実行する。これによって、外部端子に入出力されるテスト用の信号のデータ量を大幅に削減することができる。そして、テスト工程の短時間化を図ると共に、外部に蓄積される信号のデータ量を削減できる。
上述したパタン変換を実行する場合と実行しない場合とでは、外部に蓄積されるテスト用のパタン数は大きく異なる。内部信号本数114、外部端子本数20を駆動側の条件とし、内部信号本数120、外部端子本数20を照合側の条件とした場合、上述したパタン変換を実行すると、外部に蓄積されるテスト用の信号のパタン数は71173パタン程度に設定できる。しかし、上述したパタン変換を実行しない場合(重複するパタンを排除しない場合)、外部に蓄積されるテスト用の信号のパタン数は459088パタン程度に設定しなければならない。
〔第5の実施形態〕
本発明の第5の実施形態について、以下、図28乃至図51を用いて説明する。尚、本実施形態においては、遅延テストを実行する。これによって、テスト対象回路をより高精度にテストすることを実現できる。
本発明の第5の実施形態について、以下、図28乃至図51を用いて説明する。尚、本実施形態においては、遅延テストを実行する。これによって、テスト対象回路をより高精度にテストすることを実現できる。
図28は、半導体集積回路の概略的な接続関係を示す説明図である。図29は、駆動用テスト回路の回路図である。図30は、照合用テスト回路の回路図である。図31及び32は、保持回路間の対応関係を示す説明図である。図33及び34は、内部信号に対する識別番号の割当を示す説明図である。図35は、パタン処理装置の概略構成を示すブロック図である。図36は、外部端子パタンの作成工程を示す概略的なフローチャートである。図37は、内部信号パタンを示す表である。図38は、パタングループ番号と遅延テストの実行との関係を示す表である。図39は、パタン変換後の駆動パタンを示す表である。図40は、照合端子パタンを示す表である。図41は、駆動パタン及び照合パタンを時系列に配置したシーケンス表である。図42は、中間パタンAの作成工程を示すフローチャートである。図43は、中間パタンAを示す表である。図44は、中間パタンAから中間パタンBを作成する工程を示すフローチャートである。図45は、中間パタンBを示す表である。図46は、中間パタンBから外部端子パタンを作成する工程を示すフローチャートである。図47は、外部端子パタンを示す表である。図48〜51は、半導体集積回路の動作を説明するためのタイミングチャートである。
はじめに図28〜32を参照して本実施形態にかかるテスト回路の回路構成について説明する。図28に、半導体集積回路56の概略的な回路図を示す。図29に、半導体集積回路56内の駆動用テスト回路54の詳細な回路図を示す。図30に、半導体集積回路56内の照合用テスト回路の詳細な回路図を示す。図31及び32に、保持回路間の対応関係を示す。
図28に示すように、本実施形態では、第4の実施形態とは異なり、半導体集積回路56は、バッファ回路60、バッファ回路65、制御端子3h、及びOR回路68を更に備える。なお、バッファ回路60は、保持回路61及びOR回路62を有する。また、バッファ回路65は、保持回路66及びOR回路67を有する。
図28乃至30に示すように、保持回路61は、保持回路6とテスト対象回路30間に接続される。保持回路66は、テスト対象回路30と保持回路10間に接続される。制御端子3hは、OR回路62の第1入力端子に接続される。制御端子9gは、OR回路62の第2入力端子に接続される。OR回路62の出力端子は、保持回路61のクロック端子に接続される。制御端子9fは、OR回路68の第1入力端子に接続される。制御端子9fは、OR回路67の第1入力端子に接続される。制御端子9gは、OR回路68の第2入力端子に接続される。制御端子9gは、OR回路67の第2入力端子に接続される。OR回路68の出力端子は、保持回路10のクロック端子に接続される。OR回路67の出力端子は、保持回路66のクロック端子に接続される。なお、制御端子9gは、テスト対象回路の制御端子に接続される。
OR回路62は、クロックCL3とクロックCL2の少なくとも一方がハイレベルであればハイレベルの信号を出力する。OR回路67は、クロックCL1b又はクロックCL2の少なくとも一方がハイレベルであればハイレベルの信号を出力する。OR回路68も、OR回路67と同様に動作する。
保持回路61は、クロックCL3の立上り又はクロックCL2の立上りに同期して、保持回路6から転送される駆動パタンを保持し、かつ現に保持していた駆動パタンをテスト対象回路30に出力する。なお、保持回路6は、クロックCL1aの立上りに同期して、セレクタ5a〜5dから入力される駆動パタンを保持し、かつ現に保持していた駆動パタンを保持回路61に出力する。
保持回路66は、クロックCL1bの立上り又はクロックCL2の立上りに同期して、テスト対象回路30から転送される照合パタンを保持し、かつ現に保持していた照合パタンを保持回路10に出力する。なお、図28から明らかなように、保持回路10も保持回路66と同様に動作する。
保持回路61及び保持回路66は、共に16ビットのF/F(Flip/Flop)である。図31に示すように、保持回路61は、保持回路6と同様に単位パタン数に応じて分割された保持回路61a〜61dを有する。図32に示すように、保持回路66は、保持回路10と同様に、単位パタン数に応じて分割された保持回路66a〜66dを有する。
保持回路61を新たに設けたことに伴って、駆動用テスト回路54の信号名を図29に示すように再設定し、図33に示すように識別番号を設定している。同様に、保持回路66を新たに設けたことに伴って、照合用テスト回路55の信号名を図30に示すように再設定し、図34に示すように識別番号を設定している。
本実施形態では、クロックCL2の周波数をテスト対象回路30の実動作時の周波数に適合させた条件で、保持回路61に保持させた駆動パタンと保持回路6に保持させた駆動パタンをテスト対象回路に順次入力させる。このとき、テスト対象回路30から連続的に出力される照合パタンは、保持回路10及び保持回路66でそれぞれ保持される。保持回路10及び保持回路66それぞれで保持された照合パタンが期待値に一致するか否かを判定することで、テスト対象回路30の実動作周波数における遅延テストを実現することができる。尚、説明を簡略にするため、テスト対象回路30からは照合パタンが出力されるものとする。つまり、テスト対象回路30からは論理的に誤ったパタンが出力されない場合を想定して説明する。
また、本実施形態では、保持回路10とテスト対象回路30間に保持回路66を設ける。この場合、テスト対象回路30に入力された信号がテスト対象回路30内で一時的に保持されずに通過したとしても、その信号は、保持回路66に保持され、直接的に保持回路10に接続されない。従って、テスト対象回路30の回路構成に依存せずに、駆動パタンのセット動作と照合パタンのリード動作を並列して実行することができる。換言すると、本実施形態では、排他的に駆動パタンのセット動作と照合パタンのリード動作とを実行しなくても良く、効率的に遅延テストを実行することができる。これらの点は後述の説明により更に明らかになる。
ここで、図35乃至47を参照して、本実施形態における外部端子パタンの生成について説明する。
図35にパタン処理装置500を示す。パタン処理装置500は、通常のコンピュータであって、記憶領域に格納させたプログラムを演算処理部で順次実行することによって様々な機能を実現させる。なお、パタン処理装置500は、テスト回路56に外部端子を介して接続されるテスターであっても良い。
パタン処理装置500は、制御部410、及び記憶部420を有する。
制御部410は、割当部401、変化点検出表作成部(検出部)402、駆動端子パタン作成部403、照合端子パタン作成部405、中間パタンA作成部406、中間パタンB作成部407、及び外部端子パタン作成部408を有する。なお、駆動端子パタン作成部403と照合端子パタン作成部405は、端子パタン作成部を形成する。また、中間パタンA作成部406、中間パタンB作成部407、及び外部端子パタン作成部408は入出力パタン作成部を形成する。
記憶部420は、複数のテーブルを有する。具体的に明示すれば、記憶部420は、テーブルI422、テーブルCP424、テーブルD426、テーブルR428、テーブルA430、テーブルB432、及びテーブルC436を有する。なお、各テーブルは、複数のフィールドが行方向及び列方向に配置されたデータ記憶領域である。各テーブルには、各行を識別する値が予めセットされている。各テーブルには、各列を識別する値が予めセットされている。
割当部401は、後述のパタングループ番号(PGN)の割当を実行する。変化点検出表作成部402は、前述の変化点検出表を作成する。駆動端子パタン作成部403は、前述の駆動端子パタン(駆動端子パタン列)を作成する。照合端子パタン作成部405は、前述の照合端子パタン(照合端子パタン列)を作成する。中間パタンA作成部406は、後述の中間パタンA(入出力端子パタン列)を作成する。中間パタンB作成部407は、後述の中間パタンB(入出力端子パタン列)を作成する。外部端子パタン作成部408は、後述の最終的な外部端子パタン(入出力端子パタン列)を作成する。
図36に、外部端子パタンの作成工程を示す概略的なフローチャートを示す。図36に示すように、まずパタングループ番号の割当を実行する(S401)。具体的には、割当部401は、記憶部のテーブルIに格納済みの内部信号パタン(内部信号パタンデータ(駆動端子パタンデータ及び照合端子パタンデータ))に対してPGNの割当を実行する。なお、テーブルIの各内部信号パタンには、PN1、USN、LSNが割当部401によって割り当てられているものとする。
図37に、PGNの割当後の内部信号パタンを示す。割当部401は、新たに追加した保持回路数=DPとしたとき、DP+1個単位でPGNをPN1に割り当てる。ここでは、DP=1であるため、割当部401は、2つのPN1を1単位として、PN1にPGNを割り当てている。遅延テストを実現させるために、連続する2つの駆動パタンをテスト対象回路30に順次入力する。従って、予め、同じテスト時にテスト対象回路30に入力される2つの駆動パタンをPGN(識別値)でグループ化する。同様に、予め、同じテスト時にテスト対象回路30から出力される照合パタンをPGNでグループ化する。
具体的には、割当部401は、PN1=0及びPN1=1にPGN=0を割り当てている。割当部401は、PN1=2及びPN1=3にPGN=1を割り当てている。割当部401は、PN1=4及びPN1=5にPGN=2を割り当てている。この場合、図38に示すように、PN1=0→PN1=1間の遅延テスト、PN1=2→PN1=3間の遅延テスト、及びPN1=4→PN1=5間の遅延テストを実行する。
次に、駆動パタンの変化点検出表を作成する(S402)。具体的には、変化点検出表作成部402は、第1の実施形態で説明した方法によって、図37の内部信号パタンに含まれる駆動パタンの変化点を検出し、その結果を順次テーブルCPに書き込む。このようにして、駆動パタンの変化点検出表は作成される。なお、このステップの詳細は、第1の実施形態で説明したとおりである(図5乃至9参照)。
次に、駆動端子パタンを作成する(S403)。具体的には、駆動端子パタン作成部403は、S402で作成した変化点検出表に基づいて、テーブルIに格納された駆動パタンから必要な単位パタンを順次リードし、テーブルDにライトする。このようにして、駆動端子パタン表は作成される。なお、このステップの詳細は、第1の実施形態で説明したとおりである(図5乃至9参照)。
図39に、作成された駆動端子パタンを示す。図39では、新たに入力パタン番号PNI1で番号付けがされている。入力パタン番号PNI1の番号順で、駆動用テスト回路の外部端子に駆動端子パタン(iUSN、CL1a、CL3、i_LB)がセットされる。但し、iUSNは、制御端子3aに入力される識別信号i_UBに対応する。i_LBは、データ端子3b〜3eに入力される信号(単位パタン)に対応する。
次に、照合パタンの変化点検出表を作成する(S404)。具体的には、変化点検出表作成部402は、第2の実施形態で説明した方法によって、図37の内部信号パタンに含まれる照合パタンの変化点を検出し、その結果を順次テーブルCPに書き込む。このようにして、照合パタンの変化点検出表は作成される。なお、このステップの詳細は、第2の実施形態で説明したとおりである(図14乃至18参照)。従って、重複する説明は省略する。
次に、照合端子パタンを作成する(S405)。具体的には、照合端子パタン作成部405は、S404で作成した変化点検出表に基づいて、テーブルIに格納された照合パタンから必要な単位パタンを順次リードし、テーブルRにライトする。このようにして、照合端子パタン表は作成される。なお、このステップの詳細は、第2の実施形態で説明したとおりである(図14乃至図18参照)。
図40に本実施形態において作成された照合端子パタンを示す。図40では、新たに出力パタン番号PNO1で番号付けがされている。PNO1の番号順で、照合用テスト回路の外部端子に照合端子パタン(oUSN、CL1a、CL3、i_LB)がセットされる。但し、oUSNは、制御端子9aに入力される識別信号o_UBに対応する。o_LBは、データ端子9b〜9eに入力される信号(単位パタン)に対応する。
次に、中間パタンAを作成する(S406)。具体的には、中間パタンA作成部406は、テーブルD及びテーブルRに基づいてテーブルAを作成する。なお、中間パタンAは、最終的に作成されるべき外部端子パタンの前段階のパタンである。
中間パタンAの作成について説明する前に、図41を参照して事前説明を行う。図41は、パタングループ番号PGN順に、同じパタングループ番号に属する駆動端子パタン及び照合端子パタンをこの順で配置した表である。但し、駆動端子パタンと照合端子パタン間には、テスト対象回路30を駆動するための同期信号パタン(ラウンチパルス及びキャプチャパルスをセットするためのパタン)を挿入している。なお、図28に模式的に示すように、外部端子9gとテスト対象回路の間にパルス生成回路(PG回路)90を設け、所望の制御信号をパルス生成回路90に入力させることで同期信号パルスを生成しても良い。なお、パルス生成回路は、逓倍器、分周器、及び発振器等が出力するパルスを、制御回路やフィルタ回路などで加工し、所望の個数分連続するパルスを出力する回路である。この場合には、予めパタン生成装置で生成するパタンでは、パルス生成回路90に入力される制御信号に対応したパタンを駆動端子パタンと照合端子パタン間に挿入しておけば良い。また、図41では、パタン番号PN2によって改めて番号付けがなされている。
本実施形態では、駆動用テスト回路54に駆動パタンをセットし、テスト対象回路30にテストパルス(同期信号パルス)を入力し、照合用テスト回路55から照合パタンをリードする一連の動作を基本サイクルとして繰り返し実行する。従って、まず、同じPGNに属する駆動端子パタン、テストパルス、及び照合端子パタンをこの順で配置する。但し、同じPGNに属する駆動端子パタン、テストパルス、及び照合端子パタンの配置順番は必ずしもこの順番でなくても良い。これらを配置する順番は、図2のステップ4で内部信号パタンを抽出した順番に依存する。そして、PGN毎に配置された統合パタンをPGN順に配置する。このようにして図41に示すシーケンスが組まれる。同じPGNに属する駆動パタン、同期信号パタン、及び照合パタンの配置順番に関わらず、いずれの場合もPGN順でPGN毎に配置された統合パタンは配置される。
図42を参照して中間パタンAの作成手順について説明する。なお、中間パタンAは、上述の駆動端子パタン(図39)及び照合端子パタン(図40)に基づいて、中間パタンA作成部406によって作成される。中間パタンA作成部406が、テーブルAに順次データをライトすることで、中間パタンAがテーブルAに生成される。
まず、中間パタンAの作成のために初期設定を実行する(S1)。すなわち、中間パタンA作成部406は、初期条件として、PGN=0,PNI=0,PNO=0,PN2=0を予めパタン処理装置に用意したレジスタにセットする。
次に、現在のPNIが現在のPGNに属するかどうかを判定する(S2)。具体的には、中間パタンA作成部406は、テーブルDに格納された駆動端子パタン(図39)を参照して、現在のPNI=0によって指定されるPNI1=0の行におけるPGNの値が0(現在のPGNの値)であるのかを判断する。
現在のPNIが現在のPGNに属する場合、駆動用データの設定/格納を実行する(S3)。具体的には、現在のPNIが現在のPGNに属する場合、中間パタンA作成部406は、現在のPNIにより指定される行の駆動端子パタンをリードし、リードしたデータを中間パタンA(テーブルAの対応フィールド)にライトする。また、同時に、中間パタンAの周期を長にセットし、CL2をテストクロック無入力(=0)にセットする。なお、周期が長い場合には、テスターは低速度で駆動端子パタンを駆動用テスト回路54にセットする。
次に、PNIの値を+1し、PN2の値を+1する(S4)。具体的には、中間パタンA作成部406は、レジスタのPN1の値を+1し、レジスタのPN2の値を+1する。このようにS2〜S4の手順を踏むことによって、駆動端子パタンから中間パタンAに必要なデータを移行し、かつ周期及びCL2の値を適切な値にセットする。このとき、図43では、PN2=0〜PN2=5までのデータが入力された状態になる。
現在のPNIが現在のPGNに属しなくなった場合、テスト条件を設定する(S5)。より具体的には、中間パタンA作成部406は、周期を短に、CL2をテストクロック入力(=1)にセットする手順を、PN2の値を1加算しながらDP+1回分だけ実行する。ここでは、DP+1=2であるため、2回分だけ上述の手順(周期を短に、CL2をテストクロック入力にセットする手順)を実行する。このとき、図43では、PN2=6、7のデータが入力された状態になる。
次に、現在のPNOが現在のPGNに属するかどうかを判定する(S6)。具体的には、中間パタンA作成部406は、テーブルRに格納された照合端子パタン(図40)を参照して、現在のPNO=0によって指定されるPNO1=0の行におけるPGNの値が0(現在のPGNの値)であるのかを判断する。
次に、現在のPNOが現在のPGNに属する場合、照合用データの設定/格納を実行する(S7)。具体的には、現在のPNOが現在のPGNに属する場合、中間パタンA作成部406は、現在のPNOにより指定される行の駆動端子パタンをリードし、リードしたデータを中間パタンA(テーブルAの対応するフィールド)にライトする。また、中間パタンA作成部406は、同時に、周期を長にセットし、CL2をテストクロック無入力(=0)にセットする。
次に、PNOの値を+1し、PN2の値を+1する(S4)。具体的には、中間パタンA作成部406は、レジスタのPNOの値を+1し、レジスタのPN2の値を+1する。このようにS6〜S9の手順を踏むことによって照合端子パタンから中間パタンAにデータを移行する。このとき、図43では、PN2=8〜14までのデータが入力された状態になる。
現在のPNOが現在のPGNに属しなくなった場合、処理対象にするパタングループ番号PGNを+1する(S9)。次に全てのPGNで上述の処理を実行したかどうかを判定する(S10)。具体的には、現在のPGNの値がPGNの最大値よりも大きな値になったか否かを判定する。このようにして図43に示す中間処理パタンAは作成される。なお、S9、S10も中間パタンA作成部406によって実行される。
図36に戻って説明する。図36に示すように、中間パタンAの作成後、中間パタンBを作成する(S407)。なお、中間パタンBは、最終的に作成されるべき外部端子パタンの前段階のパタンであって、中間パタンAに格納されたデータを部分的にリードすることによって作成される。S407のステップは、中間パタンB作成部407によって実行される。
図44を参照して中間パタンBの作成手順について説明する。まず、中間パタンBの作成のために初期設定を実行する(S1)。すなわち、中間パタンB作成部407は、初期条件として、PN2=0,PN3=0を予めパタン処理装置に用意したレジスタにセットする。
次に、読み込むべき駆動端子パタンか否かを判定する(S2)。
具体的には、中間パタンB作成部407は、次の条件1〜3を満足するかどうか中間パタンAを参照して判断する。(条件1)現在のPN2の値がPN2の最大値ではないこと。(条件2)現在のPN2により指定されるCL3の値が1(=パルス在り)であること。(条件3)現在のPN2+1により指定されるCL2の値が1(=パルス在り)であること。中間パタンB作成部407は、条件1〜3のいずれかを満足しない場合には、読み込むべき駆動端子パタンであると判断する。
読み込むべき駆動端子パタンがある場合、読み込むべき照合端子パタンにデータ更新が必要か否かを判定する(S3)。
具体的には、中間パタンB作成部407は、中間パタンAを参照し、次の条件1〜3を満足するかどうかを判断する。(条件1)現在のPN2の値が1以上であること。(条件2)現在のPN2により指定されるCL1bの値が1(=パルス在り)であること。(条件3)現在のPN2−1により指定されるCL3の値が1(=パルス在り)であること。中間パタンB作成部407は、条件1〜3のいずれかを満足しない場合には、読み込むべき照合端子パタンにデータ更新の必要がないと判断する。
データ更新の必要がない場合、パタンを移行する(S4)。具体的には、中間パタンB作成部407は、現在のPN2により指定されるテーブルAのデータをリードし、このリードしたデータを現在のPN3により指定されるテーブルBのフィールドにライトする。
データ更新の必要がある場合、データをリードし(S8)、CL1b=0にセットしたデータをライトする(S9)。具体的には、中間パタンB作成部407は、現在のPN2により指定されるテーブルAのデータをリードする。次に、中間パタンB作成部407は、リードしたデータ内のCL1bの値を0にセットしたうえで、現在のPN3により指定されるテーブルBのフィールドにライトする。
S4及びS9の後、現在のPN3の値を+1する(S5)。次に、現在のPN2の値を+1する(S6)。なお、S2の条件を満足する場合、直ちにS6のステップに移行する。なお、S5及びS6は、中間パタンB作成部407によって実行される。
次に全てのPN2で上述の手順を実行したかどうかを判定する(S7)。中間パタンB作成部407は、全てのPN2で上述の手順を実行していなければ、上述のS2のステップに戻る。
上述の手順を経て、PN2の値が小さい順で中間パタンAは順次走査され、中間パタンAから中間パタンBにデータが移行される。なお、この場合、PN2=5、PN2=18、PN2=26により指定されるパタンは、中間パタンAから中間パタンBに移行されない。これは、クロックCL2とクロックCL3の両方が、OR回路62を介して保持回路61の制御端子に接続されているためである。また、PN2=8、PN2=21、PN2=29により指定されるCL1bは、1から0に書き換えられたうえで、中間パタンAから中間パタンBに移行される。これは、クロックCL1bとクロックCL3の両方が、OR回路67を介して保持回路66に接続されているためである。このようにして図45に示す中間処理パタンBが作成される。
図36に戻って説明する。図36に示すように、中間パタンBの作成後、外部端子パタンを作成する(S408)。外部端子パタンは、中間パタンBに基づいて外部端子パタン作成部408により作成される。なお、ここでいう外部端子パタンは、最終的に作成されるべき外部端子パタンであって、外部端子パタンをテスト回路に順次入力するテスターに格納される。
図46を参照して外部端子パタンの作成手順について説明する。まず、外部端子パタンの作成のために初期設定を実行する(S1)。すなわち、初期条件として、外部端子パタン作成部408は、予めパタン処理装置に用意したレジスタのPN3=0をセットする。
次に、駆動端子パタンに1又は0が在るのか判断する(S2)。具体的には、外部端子パタン作成部408は、現在のPN3により指定されるiUSN、CL1a、CL3、i_LBのどれかに0又は1がセットされているのか判断する。
駆動端子パタンに1又は0がない場合、重ね合わせが不必要であるかを判断する(S3)。具体的には、外部端子パタン作成部408は、次の手順1〜3を実行する。(手順1)CL2=1を指定するPN3(ここでは、PN3aとする)を現在のPN3(ここでは、PN3cとする)の値以下の範囲(PN3cの値よりも小さな値を持つPN3の集合内)でPN3の値の大きい順で検索する。(手順2)手順1でPN3aがヒットした場合、CL1b=1を指定するPN3(ここでは、PN3bとする)をPN3aの値以上の範囲(PN3aの値よりも大きな値を持つPN3の集合内)でPN3の値の小さい順に検索する。(手順3)手順2でPN3bがヒットした場合、ヒットしたPN3bの値と現在のPN3cの値とが一致するのかを判定する。手順3によりPN3bの値とPN3cの値とが一致する場合、外部端子パタン作成部408は、重ねあわせを実行する必要がないものと判断する。
S3に含まれる上述の手順1乃至3について、PN3=13の場合について図45を参照して説明する。手順1でPN3=6が特定される。手順2でPN3=12が特定される。手順3でPN3=13とPN3=12の値が異なることが判定される。従って、この場合、外部端子パタン作成部408は、重ね合わせを実行することが必要と最終的に判断する。
重ねあわせが必要である場合、重ね合わせを実行する(S4)。具体的には、外部端子パタン作成部408は、次の手順1、2を実行する。(手順1)CL2=1を指定するPN3を現在のPN3の値以上の範囲でPN3の値の小さい順に検索する。(手順2)手順1でCL2=1を指定するPN3(ここでは、PN3dとする)がヒットすると、データ転送範囲(現在のPN3よりも値が1大きいPN3〜PN3dよりも値が1小さいPN3)内のPN3により指定される駆動端子パタン(iUSN、CL1a、CL3、i_LB)を中間パタンBから順にリードし、リードしたパタンを外部端子パタンのPN3が指し示す駆動端子パタン用フィールドにライトする。
上述の手順1、2について、PN3=13の場合について図45を参照して説明する。手順1で、PN3=17がPN3dとして特定される。手順2で、PN3=14〜16がデータ転送範囲に設定される。そして、PN3=14により指定される駆動端子パタン(iUSN=0、CL1a=1、CL3=0、i_LB=0100)が中間パタンBから駆動端子パタンのPN4=13(PN3=13、14)に転送され、同様にして、PN3=15により指定される駆動端子パタン(iUSN=−,CL1a=0、CL3=1、i_LB=――――)が中間パタンBから駆動端子パタンのPN4=14(PN3=14、15)に転送され、同様にして、PN3=16により指定される駆動端子パタン(iUSN=1,CL1a=1、CL3=0、i_LB=1000)が中間パタンBから駆動端子パタンのPN4=15(PN3=15、16)に転送される。
S4の後には、S2に戻る。
S2で駆動端子パタンに1又は0が在る場合及びS3で重ね合わせが不必要な場合、データ転送及びPN3の値の加算処理を実行する(S5)。
具体的には、外部端子パタン作成部408は、現在のPN3により指定される駆動端子パタン及び照合端子パタンを、現在のPN3により指定されるテーブルCの対応フィールドに格納する。そして、現在のPN3の値を1加算する。
次に全てのPN3で上述の処理を実行したかを判定する(S6)。全てのPN3で上述の処理を実行することで、中間パタンBから外部端子パタンが生成される。なお、S6は、外部端子パタン作成部408により実行される。
このようにして図47に示す外部端子パタンは作成される。なお、外部端子パタン(図47)を生成する方法は任意である。しかしながら、取り扱いパタンのデータ量は膨大であるため、上述のように、複数のテーブルを予め用意し、このテーブル間でデータの転送(リード/ライト)を実行すると良い。
図48乃至51を参照して、図47の外部端子パタンに基づくテスト回路(半導体集積回路56)の動作について更に説明する。なお、時刻tX(X;0〜22)は、PN4の値に一致する。
図48に示すように、時刻t0〜t1では、クロックCL1aの立上りに同期して、i_LBバスにセットされた単位パタン0000が、i_UB=0により指定される保持回路6aにセットされる。時刻t1〜t2では、クロックCL1aの立上りに同期して、i_LBバスにセットされた単位パタン0000が、i_UB=1により指定される保持回路6bにセットされる。時刻t2〜t3では、クロックCL1aの立上りに同期して、i_LBバスにセットされた単位パタン1100が、i_UB=2により指定される保持回路6cにセットされる。時刻t3〜t4では、クロックCL1aの立上りに同期して、i_LBバスにセットされた単位パタン1001が、i_UB=3により指定される保持回路6dにセットされる。
時刻t0〜t4間の処理により、駆動パタン(PN1=0)が保持回路6にセットされる。但し、PN1=0の駆動パタンとPN1=1の駆動パタンは同じパタンである。
時刻t4〜t5では、クロックCL3の立ち上がりに同期して、保持回路6に保持された駆動パタンPN1=0を保持回路61に転送する。これによって、保持回路6にはPN1=1の駆動パタンがセットされ、保持回路61にはPN1=0の駆動パタンがセットされた状態になる。
時刻t5〜t6では、クロックCL2の立上り(ラウンチパルスL1の立上り)に同期して、保持回路61にセットされたPN1=0の駆動パタンがテスト対象回路30に入力される。同時に、保持回路61にはPN1=1の駆動パタンがセットされる。また、テスト対象回路30からはPN1=0の照合パタンが出力される。
時刻t6〜t7では、クロックCL2の立上り(キャプチャパルスC2の立上り)に同期して、保持回路61にセットされたPN1=1の駆動パタンがテスト対象回路30に入力される。また、テスト対象回路30からはPN1=1の照合パタンが出力される。また、テスト対象回路30から出力されていたPN1=0の照合パタンが保持回路66にセットされる。
時刻t7〜t8では、o_LB=4により指定される判定回路11a〜11dの出力パタンXXXXがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t8〜t9では、o_LB=0により指定される保持回路66aの保持パタンHLHLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t9〜t10では、o_LB=1により指定される保持回路66bの保持パタンLHLLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t10〜t11では、o_LB=2により指定される保持回路66cの保持パタンLLLLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t11〜t12では、o_LB=3により指定される保持回路66dの保持パタンHLLLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t12〜t13では、クロックCL1bの立上りに同期して、PN1=0の照合パタンが保持回路66から保持回路10に転送される。同時に、保持回路66には、PN1=1の照合パタンがセットされる。また、o_LB=4により指定される判定回路11a〜11dの出力パタンHLLLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t13〜t14では、o_LB=3により指定される保持回路66dの保持パタンHLHLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
図50に示すように、時刻t13〜t14では、テスターは、i_UBに0をセットし、i_LBに0100をセットしている。つまり、テスターは、バスo_LBを介してパタンデータをリードすると同時にバスi_LBにデータをセットしている。そして、時刻t13〜t14では、クロックCL1aの立上りに同期して、保持回路6には、PN1=2の駆動パタンがセットされる。このように本実施形態では、データセット期間とデータリード期間とは時間的に重複している。これによってテスト時間を短縮することができる。
図50に示すように、時刻t14〜t15では、クロックCL3の立上りに同期して、PN1=2の駆動パタンは、保持回路6から保持回路61に転送される。
時刻t15〜t16では、クロックCL1aの立上りに同期して、i_LBバスにセットされた単位パタン1000が、i_UB=1により指定される保持回路6bにセットされる。このようにしてPN1=3の駆動パタンが保持回路6にセットされる。
時刻t16〜t17では、クロックCL2の立上り(ラウンチパルスL1の立上り)に同期して、保持回路61にセットされたPN1=2の駆動パタンがテスト対象回路30に入力される。また、同時に、PN1=3の駆動パタンが保持回路61にセットされる。テスト対象回路30からはPN1=2の照合パタンが出力される。
時刻t17〜t18では、クロックCL2の立上り(キャプチャパルスC1の立上り)に同期して、保持回路61にセットされたPN1=3の駆動パタンがテスト対象回路30に入力される。また、テスト対象回路30からはPN1=3の照合パタンが出力される。また、テスト対象回路30から出力されていたPN1=2の照合パタンが保持回路66にセットされる。
時刻t18〜19では、o_LB=4により指定される判定回路11a〜11dの出力パタンLLLLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t19〜t20では、o_LB=4により指定される判定回路11a〜11dの出力パタンLHHLがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。また、クロックCL1bの立上りに同期して、PN1=2の照合パタンが保持回路66から保持回路10に転送される。同時に、保持回路66には、PN1=3の照合パタンがセットされる。
時刻t20〜21では、o_LB=1により指定される保持回路66bの保持パタンLLLHがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
また、クロックCL3の立上りに同期して、PN1=4の駆動パタンは、保持回路6から保持回路61に転送される。なお、PN1=3の駆動パタンは、PN1=4,5の駆動パタンに一致する。
時刻t21〜22では、o_LB=2により指定される保持回路66cの保持パタンLLHHがバスo_LBにセットされる。バスo_LBにセットされたパタンはテスターによってリードされる。
時刻t22以降は、図47から明らかなように再びテスト期間に移行する。その後の動作も図47に示す外部端子パタンに従って実現される。
なお、時刻t0〜t5は、駆動用テスト回路54に駆動パタンをセットするデータセット期間を形成する。時刻t5〜t7は、テスト対象回路にラウンチパルス及びキャプチャパルスを入力するテスト期間を形成する。時刻t7〜t14はデータリード期間を形成する。時刻t13〜t16まではデータセット期間を形成する。時刻t16〜t18まではテスト期間を形成する。時刻t18〜t22はデータリード期間を形成する。時刻t20〜t22はデータセット期間を形成する。
図47及び48から明らかなように、テスト期間のクロック周波数は、データセット期間のクロック周波数よりも高い。データセット期間のクロック周波数を低く設定することで、より確実に駆動パタンをセットすることができる。また、テスト期間のクロック周波数を早く設定することで、テスト対象回路30の実動作周波数に適合した条件で遅延テストを実行することができる。
本実施形態では、遅延テストをテスト対象回路30の実動作周波数で実行することができる。従って、非常に高精度な遅延テストを実行することができる。また、駆動用テスト回路54に駆動パタンをセットする動作と照合用テスト回路55から照合パタンをリードする動作を同時期に実行する。換言すると、排他的に駆動パタンのセット動作と照合パタンのリード動作とを実行しない。従って、効率的に遅延テストを実行することができ、テスト時間の短縮を図ることができる。
〔第6の実施形態〕
本発明の第6の実施形態について、以下、図52乃至図66を用いて説明する。本実施形態では、第5の実施形態で実行する遅延テストを補完するための外部端子パタンを生成する。これによって、すべての連続するパタン番号PN1間で遅延テストを実行することが可能になる。テスト対象回路30に接続される半導体集積回路の回路は第5の実施形態と同じである。
本発明の第6の実施形態について、以下、図52乃至図66を用いて説明する。本実施形態では、第5の実施形態で実行する遅延テストを補完するための外部端子パタンを生成する。これによって、すべての連続するパタン番号PN1間で遅延テストを実行することが可能になる。テスト対象回路30に接続される半導体集積回路の回路は第5の実施形態と同じである。
図52は、パタン処理装置の概略的なブロック図である。図53は、外部端子パタンの作成工程を示す概略的なフローチャートである。図54は、オフセットの調整を説明するフローチャートである。図55は、内部信号パタンを示す表である。図56は、パタングループ番号と遅延テストの実行との関係を示す表である。図57は、駆動パタン用の変化点検出表である。図58は、パタン変換後の駆動パタンを示す表である。図59は、照合パタン用の変化点検出表である。図60は、照合端子パタンを示す表である。図61は、照合用の変化点検出表の作成方法を示すフローチャートである。図62は、照合端子パタンの作成方法を示すフローチャートである。図63は、中間パタンAを示す表である。図64は、中間パタンBを示す表である。図65は、外部端子パタンを示す表である。
図52に示すように、パタン生成装置500は、オフセット調整部409を有する。オフセット調整部409は、端子パタン生成の元データである内部信号パタン(図37参照)に対して、図55に示すようにオフセットを設定する。具体的には、オフセット調整部409は、内部信号パタン列の最初の行及び最後の行に所定数のダミー内部信号パタンを追加する。最初に追加した行数に応じて、当初の内部信号パタン列(図37参照)は繰り下がる。これによって、冒頭で説明したように、第5の実施形態で実行する遅延テストを補完するための外部端子パタンを生成することができる。所定数のダミー内部信号パタンの追加によって、テスト対象回路に順次入力される内部信号パタンペアは新しい組み合わせ(第5の実施形態における内部信号パタンペアとは異なる組み合わせ)になるためである。
図53に示すように、パタングループの割当を実行する前、予めオフセットの調整(S1)を実行する。なお、新たに追加する保持回路数DPに応じて予めオフセット値(=OS)を決定しておく。なお、オフセット値は、0≦OS≦DPの関係を満足する。S1は、オフセット調整部409によって実行される。
ここでは、図54に示すフローを経て、図55に示す内部信号パタンを生成する。なお、図55は、図37の内部信号パタン(内部信号パタンデータ)に新しい行(行データ)を追加することで生成される。以下、具体的に説明する。
図54に示すように、オフセット調整部409は、まずPN1の総数(PN1の最大値(PN1max))をDP+1で割算し、割り切れなかったPN1がないのか判断する(S1)。ここでは、新たに追加した保持回路数は1つである。従って、6/2=3であり、割り切れずに余ったPN1はない。
余ったPN1がない場合、オフセット調整部409は、予め設定したオフセット値が0である(OS=0)のか判断する(S2)。ここでは、OS=1であり、OS≠0である。
OS≠0の場合、オフセット調整部409は、OS値分だけ行を最初に追加する(S3)。具体的には、図55に示すように、オフセット調整部409は、PN1=0の前段に、PN1=0と同じパタンをOS値に等しい行数だけ格納する。ここでは、OS=1であるため、オフセット調整部409は、1行分だけPN1=0の前行に追加する。
次に、オフセット調整部409は、所定数分[DP+1−{(PN1max+OS)/(DP+1)}の余り]だけ行を最後に追加する(S4)。具体的には、図51に示すように、オフセット調整部409は、PN1=5の後段に、PN1=5と同じパタンを所定数分だけ追加する。ここでは、DP=2、OS=1、PN1max=6である。従って、追加する行数は、[1+1−{(6+1)/(1+1)}の余り]=1+1−1=1である。従って、オフセット調整部409は、1行分だけPN1=5の後行に追加する。
なお、S1で割り切れなかったPN1がある場合、上述のS3、S4のステップにより、割り切れなかったPN1がないように行数を調整する。また、図55では、追加した行を含めて、改めて識別番号PNA1を付与する。
このようにして、図55に示すオフセット調整後の内部信号パタンが生成される。なお、図55では、第5の実施形態で説明したものと同様の方法でパタングループ番号の設定も行う。このようにして、図56に示すように、PN1=1とPN1=2間で遅延テストを実行することが可能になる。同様に、PN1=3とPN1=4間で遅延テストを実行することが可能になる。これによって、第5の実施形態における遅延テストを補完することが可能になる。
図57は、駆動パタンの変化点検出表である。図58は、作成した駆動端子パタンである。図59は、照合パタンの変化点検出表である。図60は、作成した照合端子パタンである。
図55に示すように、新たに追加した行(ダミー内部信号パタン)に応じて、照合パタンにはXのみからなる行(ダミー照合パタン)が形成される。従って、照合パタンの変化点検出表の作成は、図61に示す手順で実行する。また、照合端子パタンの作成は、図62に示す手順で実行する。なお、ここでは上述の実施形態とは異なる点のみについて説明する。
図61に示すように、S3でPN1=0の場合及びS6でパタン更新がある場合には、パタン内の信号値(bit)にXがあるのか判断する(S14)。なお、S6の場合には、比較対象とする両方のパタンについて、パタン内のbitにXがあるのか判断する。 bitにXがある場合には、S13のステップを実行する。bitにXがない場合には、S12のステップを実行する。このようにして、図59に示す照合パタンの変化点検出表が作成される。
図62に示すように、S5の後に、現在のPN1及び現在のUSNによって指定される単位パタン内の4bit全てがXか判断する(S12)。具体的には、図55の照合パタンにて、現在のPN1及び現在のUSNによって指定される単位パタン内の4bit全てがXか判断する。4bit全てがXの場合には、更新パタンを照合端子パタンへ格納しない。このようにして、図60に示す照合端子パタンが作成される。
そして、第5の実施形態の説明したように、図63に示す中間パタンA、図64に示す中間パタンB、及び図65に示す外部端子パタンが作成される。
本実施形態においてはオフセットの設定によって、第5の実施形態では組み合わせられなかった内部信号パタン間で遅延テストを実現させることができる。これによってより高精度な遅延テストを実現することができる。
〔第7の実施形態〕
本発明の第7の実施形態について、以下、図66乃至図73を用いて説明する。本実施形態では、3つの保持回路を新たに追加する。すなわち、DP=3とする。これによって、テスト対象回路30内に分周器が設けられていてもテスト対象回路30に含まれる全ての機能回路で遅延テストを実行することができる。なお、本実施形態では、OS=0とする内部信号パタンとOS=2とする内部信号パタンを作成する。そして、作成した夫々の内部信号パタンに基づいて最終的な外部端子パタンを作成する。
本発明の第7の実施形態について、以下、図66乃至図73を用いて説明する。本実施形態では、3つの保持回路を新たに追加する。すなわち、DP=3とする。これによって、テスト対象回路30内に分周器が設けられていてもテスト対象回路30に含まれる全ての機能回路で遅延テストを実行することができる。なお、本実施形態では、OS=0とする内部信号パタンとOS=2とする内部信号パタンを作成する。そして、作成した夫々の内部信号パタンに基づいて最終的な外部端子パタンを作成する。
図66は、テスト対象回路の回路構成を示す回路図である。図67及び68は、バッファ回路の回路図である。図69は、内部信号パタンを示す表である。図70は、OS=0とした場合の内部信号パタンである。図71は、OS=0とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。図72は、OS=2とした場合の内部信号パタンである。図73は、OS=2とした場合のパタングループ番号と遅延テストの実行との関係を示す表である。
図66に示すように、テスト対象回路30は、1/2分周器(1/2DIV)31、メモリコントローラ32、バス1/Fユニット33、及びCPUコア34を有する。
はじめに接続関係について説明する。クロックCL2は、1/2分周器のクロック端子に接続される。また、クロックCL2は、CPUコア34のクロック端子に接続される。また、クロックCL2は、バスI/Fユニット33のクロック端子に接続される。1/2分周器31で分周されたクロックは、メモリコントローラ32のクロック端子に接続される。また、1/2分周器31で分周されたクロックは、バス1/Fユニット33のクロック端子に接続される。信号sig_i_00は、各機能ブロックのリセット端子に接続される。信号sig_i_01〜sig_i_03はメモリコントローラ32に接続される。信号sig_i_04〜sig_i_07は、バスI/Fユニット33に接続される。信号sig_i_08〜sig_i_15は、CPUコア34に接続される。
クロックCL2の周波数は300MHzである。クロックCL2は、1/2分周器31によって150MHzに分周される。メモリコントローラ32は、150MHzで動作する。バスI/Fユニット33は、150MHzで動作する部分と300MHzで動作する部分を有する。CPUコア34は、300MHzで動作する。メモリコントローラ32とCPUコア34は、バスI/Fユニット33を介して互いに接続される。メモリコントローラ32とCPUコア34間ではバスI/Fユニット33を介してデータの送受信が実行される。
次に、図67を参照して、バッファ回路60について説明する。なお、バッファ回路60は、保持回路6とテスト対象回路30間に接続される。
バッファ回路60は、3つの保持回路61a〜61cを有する。保持回路61aの入力には、保持回路6の出力が接続される。保持回路61bの入力には、保持回路61aの出力が接続される。保持回路61cの入力には、保持回路61bの出力が接続される。なお、各保持回路61a〜61cには、OR回路62の出力が接続される。OR回路62からパルス信号が出力されると、保持回路61aから保持回路61bに駆動パタンが転送され、保持回路61bから保持回路61cに駆動パタンが転送される。なお、保持回路61a〜61cは、上述の保持回路61と同様、16bitのF/Fである。
次に、図68を参照して、バッファ回路65について説明する。なお、バッファ回路65は、テスト対象回路30と保持回路10間に接続される。
バッファ回路65は、3つの保持回路65a〜65cを有する。保持回路65aの入力には、保持回路65bの出力が接続される。保持回路65bの入力には、保持回路65cの出力が接続される。なお、各保持回路65a〜65cには、OR回路67の出力が接続される。OR回路67からパルス信号が出力されると、保持回路65cから保持回路65bに駆動パタンが転送され、保持回路65bから保持回路65aに駆動パタンが転送される。なお、保持回路65a〜65cは、上述の保持回路65と同様、16bitのF/Fである。
本実施形態におけるテスト対象回路30には、異なる動作周波数で動作する機能回路が集積される。このような場合、第5の実施形態で説明したように駆動パタンを2つ連続してテスト対象回路に入力するだけでは、メモリコントローラ32及びバスI/Fユニット33の一部で遅延テストを実行することができず、遅延テストの品質が劣化してしまう。すなわち、sig_o_00〜sig_o_07からの出力パタンに基づいて遅延テストを実行することができない。
本実施形態ではこの点に鑑みて、DP=3とし、図70及び図72に示す内部信号パタンを作成する。なお、図70はOS=0の場合であり、図72は、OS=2の場合である。そして、上述の実施形態で説明した手順で、OS=0、OS=2の各場合について、最終的な外部端子パタンを作成する(この点は上述の実施形態における説明から明らかであるから重複する説明は省略する)。
このようにすることで連続して4つの駆動パタンをテスト対象回路30に入力させることができる。従って、テスト対象回路30内に1/2分周器31が集積されていたとしても遅延テストの品質は劣化しない。すなわち、sig_o_00〜sig_o_07の出力パタンに基づいて遅延テストを実行することができる。
本発明の技術的範囲は、上述の実施形態に限らない。駆動用又は照合用テスト回路の具体的な構成は任意である。また、内部信号の分割数は4に限らない。内部信号数は16に限らない。駆動用テスト回路の内部信号の分割数N1は4に限らない。照合用テスト回路の内部信号の分割数N2は4に限らない。駆動用テスト回路の内部信号の分割数N1と照合用テスト回路の内部信号の分割数N2は等しいとは限らない。すなわち、N1とN2は異なる値を設定できる。また、バッファ回路は、深さDPのFIFO(First in First out)に置き換えても良い。その場合、FIFOを構成する保持回路としては、F/F(Flip/Flop)、SRAM(Static Random Access Memory)、データラッチを用いることができる。また、バッファ回路の深さDP(=上述の実施形態における、新たに追加する保持回路数DP)は任意の自然数を設定できる。オフセット値OSは、0≦OS≦DPの関係を満足する任意の整数を設定できる。
50 半導体集積回路
1 駆動用テスト回路
2 テスト対象回路
3 外部端子
4 デコーダ
5 セレクタ
6 保持回路
1 駆動用テスト回路
2 テスト対象回路
3 外部端子
4 デコーダ
5 セレクタ
6 保持回路
Claims (20)
- テスト対象回路と複数の外部端子間に接続されるテスト回路であって、
前記テスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンがN(Nは、2以上の自然数)分割されたN個の単位パタンそれぞれを保持するN個の第1保持回路と、
前記単位パタン毎に予め設定された識別信号に基づいてN個の前記第1保持回路に保持された前記内部信号パタンを前記単位パタン単位で選択的に更新させる、又は前記識別信号に基づいてN個の前記第1保持回路に保持される前記内部信号パタンを前記単位パタン単位で選択的に出力させる制御回路と、を備えるテスト回路。 - 前記テスト回路は、前記内部信号パタンを前記テスト対象回路に入力する駆動用テスト回路であることを特徴とする請求項1に記載のテスト回路。
- 前記制御回路は、
N個の前記第1保持回路に対応するN個のセレクタと、
N個の前記セレクタのそれぞれに接続されたデコーダと、を備え、
前記デコーダは、前記識別信号に基づいて、所定の前記セレクタにセレクト信号を出力し、
前記セレクタは、前記セレクト信号に基づいて、前記第1保持回路に保持された前記単位パタン又は複数の前記外部端子を介して入力された新たな前記単位パタンのいずれかを前記第1保持回路に出力することを特徴とする請求項2記載のテスト回路。 - N個の前記セレクタは、共通の前記外部端子に接続されることを特徴とする請求項3記載のテスト回路。
- N個の前記第1保持回路と前記テスト対象回路間に接続され、N個の前記第1保持回路から転送される前記内部信号パタンを保持する第2保持回路を更に備えることを特徴とする請求項2に記載のテスト回路。
- 前記第2保持回路は、N個の前記第1保持回路から転送される前記内部信号パタンを順次保持する複数の第3保持回路によって形成されることを特徴とする請求項5に記載のテスト回路。
- 前記テスト回路は、前記テスト対象回路から出力される前記内部信号パタンを前記単位パタン単位で出力する照合用テスト回路であることを特徴とする請求項1に記載のテスト回路。
- 前記制御回路は、前記第1保持回路と前記テスト対象回路との間のN個の節点に接続されたセレクタを備え、
当該セレクタは、前記識別信号に基づいて特定され、所定の前記第1保持回路に入力される前記単位パタンを選択して出力することを特徴とする請求項7に記載のテスト回路。 - 前記制御回路は、
N個の前記第1保持回路毎に設けられたN個の判定回路をさらに備え、
当該判定回路は、前記第1保持回路を利用して、前記第1保持回路毎に前記テスト対象回路から連続して出力される前記単位パタンの異同を判定することを特徴とする請求項8に記載のテスト回路。 - N個の前記判定回路の出力は前記セレクタに接続され、
前記セレクタは、N個の前記判定回路から入力される判定パタンも出力することを特徴とする請求項9に記載のテスト回路。 - 前記テスト対象回路とN個の前記第1保持回路間に接続され、前記テスト対象回路から出力される前記内部信号パタンを保持する第2保持回路を更に備えることを特徴とする請求項7に記載のテスト回路。
- 前記第2保持回路は、前記テスト対象回路から出力される前記内部信号パタンを順次保持する複数の第3保持回路により形成されることを特徴とする請求項11に記載のテスト回路。
- テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンを生成するパタン生成装置であって、
複数の前記内部信号パタン夫々をN(Nは、2以上の自然数)分割し、前記内部信号パタンのN分割により生成されたN個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶する記憶部と、
前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる保持回路に連続して保持される2つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出する検出部と、
前記検出部による検出結果に応じて前記端子パタンを作成する端子パタン作成部と、
を備える、パタン生成装置。 - 前記端子パタン作成部は、前記検出部によってパタン更新が検出されたとき、更新があった前記単位パタンを前記端子パタンとすることを特徴とする請求項13に記載のパタン生成装置。
- 前記パタン生成装置は、前記テスト回路に入力される駆動端子パタン及び前記テスト回路から出力される照合端子パタンを生成することを特徴とする請求項13に記載のパタン生成装置。
- 前記端子パタン作成部により作成された前記駆動端子パタン及び前記照合端子パタンに基づいて前記テスト回路に入出力される外部端子パタンを生成する入出力端子パタン作成部を更に備えることを特徴とする請求項15に記載のパタン生成装置。
- 前記テスト対象回路に順次入力される複数の内部信号パタンをM(Mは、2以上の自然数)個単位で順次グループ化する割当部を更に備え、
前記入出力端子パタン作成部は、前記駆動端子パタン、前記テスト対象回路に入力される同期信号パタン、及び前記照合端子パタンを前記割当部による複数の内部信号パタンのグループ化の結果により定まる順番に応じて配置することに基づいて前記テスト回路に入出力される外部端子パタンを生成することを特徴とする請求項16に記載のパタン生成装置。 - 前記入出力端子パタン作成部は、前記入出力端子パタン作成部により順次配置される前記駆動端子パタンと前記照合端子パタン間で両者を時間的に重ね合わせる処理を実行することを特徴とする請求項17に記載のパタン生成装置。
- 前記入出力端子パタン作成部は、前記テスト対象回路に入力される前記同期信号パタンによって前記テスト回路内に保持される前記内部信号パタンを転送させるように前記外部端子パタンを加工することを特徴とする請求項17に記載のパタン生成装置。
- テスト回路を介して複数の外部端子に接続されるテスト対象回路に入力又は前記テスト対象回路から出力されるべき内部信号パタンから複数の前記外部端子に入力又は複数の前記外部端子から出力される端子パタンをコンピュータに生成させるパタン生成方法であって、
前記コンピュータの記憶部は、複数の前記内部信号パタン夫々をN(Nは、2以上の自然数)分割し、前記内部信号パタンのN分割により生成されたN個の単位パタン夫々に対して複数の前記内部信号パタン間で共通の識別値が割り当てられたデータを記憶し、
前記コンピュータの検出部は、前記テスト対象回路と外部端子間に接続されるテスト回路に含まれる第1保持回路に連続して保持される2つの前記内部信号パタンに含まれ、かつ互いに共通の識別値が割り当てられた前記単位パタン間でのパタン更新を検出し、
前記コンピュータの端子パタン作成部は、前記検出部による検出結果に応じて前記端子パタンを作成する、パタン生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008046319A JP2008268185A (ja) | 2007-03-22 | 2008-02-27 | テスト回路、パタン生成装置、及びパタン生成方法 |
US12/076,692 US8103464B2 (en) | 2007-03-22 | 2008-03-21 | Test circuit, pattern generating apparatus, and pattern generating method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007073968 | 2007-03-22 | ||
JP2008046319A JP2008268185A (ja) | 2007-03-22 | 2008-02-27 | テスト回路、パタン生成装置、及びパタン生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008268185A true JP2008268185A (ja) | 2008-11-06 |
Family
ID=40047857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008046319A Pending JP2008268185A (ja) | 2007-03-22 | 2008-02-27 | テスト回路、パタン生成装置、及びパタン生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008268185A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0989999A (ja) * | 1995-09-28 | 1997-04-04 | Advantest Corp | 半導体試験装置 |
JP2002286803A (ja) * | 2001-03-23 | 2002-10-03 | Sony Corp | 半導体集積回路 |
JP2003187600A (ja) * | 2001-12-20 | 2003-07-04 | Mitsubishi Electric Corp | 半導体集積回路装置 |
JP2005201829A (ja) * | 2004-01-19 | 2005-07-28 | Matsushita Electric Ind Co Ltd | 半導体集積回路の遅延故障テストパターン生成方法および遅延故障検査方法 |
JP2006214839A (ja) * | 2005-02-03 | 2006-08-17 | Fujitsu Ltd | メモリ内蔵デバイスへのテストパターン発生装置及びテストパターン発生方法 |
-
2008
- 2008-02-27 JP JP2008046319A patent/JP2008268185A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0989999A (ja) * | 1995-09-28 | 1997-04-04 | Advantest Corp | 半導体試験装置 |
JP2002286803A (ja) * | 2001-03-23 | 2002-10-03 | Sony Corp | 半導体集積回路 |
JP2003187600A (ja) * | 2001-12-20 | 2003-07-04 | Mitsubishi Electric Corp | 半導体集積回路装置 |
JP2005201829A (ja) * | 2004-01-19 | 2005-07-28 | Matsushita Electric Ind Co Ltd | 半導体集積回路の遅延故障テストパターン生成方法および遅延故障検査方法 |
JP2006214839A (ja) * | 2005-02-03 | 2006-08-17 | Fujitsu Ltd | メモリ内蔵デバイスへのテストパターン発生装置及びテストパターン発生方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100859394B1 (ko) | 반도체 집적 회로의 테스트 방법 및 테스트 패턴 발생 회로 | |
CN105138769B (zh) | 一种用于可编程电路的时序模型生成方法及装置 | |
US9773570B2 (en) | Built-in-self-test (BIST) test time reduction | |
CN106483866A (zh) | 制导控制半实物仿真系统定时方法及系统 | |
CN111553120A (zh) | 一种数字电路局部时钟网络spice网表的生成方法 | |
CN106155833A (zh) | 一种异步远程复制的方法和装置 | |
JP4427068B2 (ja) | 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法 | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
TWI473106B (zh) | Semiconductor test device | |
US8103464B2 (en) | Test circuit, pattern generating apparatus, and pattern generating method | |
JP2008268185A (ja) | テスト回路、パタン生成装置、及びパタン生成方法 | |
US8671317B2 (en) | Built-in self test circuit and designing apparatus | |
US8635566B2 (en) | Parity error detection verification | |
JP2005084956A (ja) | 論理回路の検証方法および検証システム | |
JP6649731B2 (ja) | Fpgaからリードバックするための信号の特定 | |
US5715170A (en) | Apparatus for forming input data for a logic simulator | |
US8225244B2 (en) | Large scale integration device and large scale integration design method including both a normal system and diagnostic system | |
CN112329372A (zh) | 一种用于信号完整性分析的码型的产生方法 | |
JP5328447B2 (ja) | 高位合成装置および高位合成方法、半導体集積回路の製造方法、制御プログラム、可読記憶媒体 | |
JPH0345580B2 (ja) | ||
US20120072792A1 (en) | Memory tester and compiler which matches a test program | |
JP4985211B2 (ja) | 論理回路のシミュレーション | |
JP5023918B2 (ja) | データ生成装置およびデータ生成プログラム | |
JP2011258124A (ja) | デバッグ回路及びデバッグシステム | |
CN114780314A (zh) | 基于程序谱技术的fpga代码缺陷定位方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120228 |