【構成】読み出しデータを伝送する第1〜第nの通常データバスと、読み出しデータと期待値との比較結果を示すデータを伝送するテストデータバスと、第1〜第nの出力回路と、第1〜第nの出力回路の出力側に接続された第1〜第nの出力端と、通常動作では第1〜第nの通常データバス、テスト動作ではテストデータバスを第1〜第nの出力回路の入力側に接続する第1〜第nの切替回路と、を有する。第2〜第nの出力回路は、テスト動作における第1出力モード及び第2出力モードのいずれかの指定を受け、第1出力モードではテストデータの出力を停止し、第2出力モードではテストデータを出力する。
記憶部を有し、前記記憶部から読み出したデータを出力する通常動作と、前記記憶部から読み出したデータと所定の期待値とを比較した比較結果を出力するテスト動作と、のいずれかを実行する半導体集積回路であって、
前記記憶部からの読み出しデータを伝送する第1〜第nの通常データバス(nは2以上の整数)と、
前記比較結果を示すデータを伝送するテストデータバスと、
前記第1〜第nの通常データバス上の前記読み出しデータ又は前記テストデータバス上のデータに基づくテストデータを出力する第1〜第nの出力回路と、
前記第1〜第nの出力回路の出力側に接続された第1〜第nの出力端と、
前記第1〜第nの通常データバス又は前記テストデータバスと前記第1〜第nの出力回路の入力側との間の接続切り替えを行う第1〜第nの切替回路と、
を有し、
前記切替回路は、前記通常動作では前記第1〜第nの通常データバスを前記第1〜第nの出力回路の入力側に接続し、前記テスト動作では前記テストデータバスを前記第1〜第nの出力回路の入力側に接続し、
前記第1〜第nの出力回路のうちの前記第2〜第nの出力回路は、
前記テスト動作におけるデータ出力の態様を示す第1出力モード及び第2出力モードのいずれかの指定を受け、
前記第1出力モードでは前記テストデータの出力を停止し、前記第2出力モードでは前記テストデータを出力する、
ことを特徴とする半導体集積回路。
前記第1〜第nの切替回路は、前記テスト動作において、前記テストデータバス上のデータ又は前記テストデータバス上のデータを反転した反転データを前記テストデータとして前記第1〜第nの出力回路の入力側に供給することを特徴とする請求項1に記載の半導体集積回路。
前記第1〜第nの切替回路は、クロック信号のクロックサイクルに応じて、前記テストデータバス上のデータ及び前記反転データを交互に前記テストデータとして前記第1〜第nの出力回路の入力側に供給することを特徴とする請求項3に記載の半導体集積回路。
【発明を実施するための形態】
【0013】
以下、本発明の実施例について、図面を参照して説明する。なお、以下の各実施例における説明及び添付図面においては、実質的に同一又は等価な部分には同一の参照符号を付している。
【実施例1】
【0014】
図1は、本実施例の半導体集積回路10の構成を示すブロック図である。半導体集積回路10は、nビットのデータ(n:2以上の整数)を記憶する記憶部11を有し、記憶部11から読み出したデータを各ビットのデータ毎にn個の出力端子から出力する。本実施例では、n=8である場合について説明する。
【0015】
半導体集積回路10は、記憶部11に記憶されているデータを読み出して出力する通常の読み出し動作(以下、通常動作と称する)の他、データの読み出しが正しく行われたか否かを判定して判定結果を出力するテスト読み出しの動作(以下、テスト動作と称する)を行う。テスト動作の際には、テスタTSが半導体集積回路10に接続される。
【0016】
半導体集積回路10は、記憶部11、読出回路12、期待値レジスタ13、比較回路14、信号生成回路15、マルチプレクサ16<0>〜16<7>(
図1ではMUX<0>〜MUX<7>として示す)、出力回路17<0>〜17<7>及び出力端子T0〜T7を有する。また、半導体集積回路10は、通常動作の際に読み出されたデータを伝送するデータバスRDB<0>〜RDB<7>及びテスト動作の際にデータを伝送するテストデータバスTRDBを有する。
【0017】
記憶部11は、例えば不揮発性の半導体メモリであり、図示せぬ書込回路によって書き込まれたデータを記憶する。本実施例では、記憶部11は、8ビットのデータ(例えば、“10101010”)を記憶する。
【0018】
読出回路12は、記憶部11からデータを読み出す。読出回路12は、例えば半導体集積回路10の外部からクロック信号CLKの供給を受け、クロックサイクルに応じたタイミングでデータの読み出しを行う。
【0019】
通常動作において、読出し回路12は、記憶部11から読み出したデータ(以下、読み出しデータと称する)を各ビットのデータ毎にデータバスRDB<0>〜RDB<7>に出力する。例えば、読み出しデータが“10101010”である場合、LSB(Least Significant Bit:最下位ビット)のデータである“0”をデータバスRDB<0>に出力する。同様に、2番目のビットのデータである“1”をデータバスRDB<1>、3番目のビットデータである“0”をデータバスRDB<2>、4番目のビットのデータである“1”を データバスRDB<3>、5番目のビットのデータである“0”をデータバスRDB<4>、6番目のビットのデータである“1”をデータバスRDB<5>、7番目のビットのデータである“0” をデータバスRDB<6>、MSB(Most Significant Bit:最上位ビット)のデータである“1”をデータバスRDB<7>に供給する。一方、テスト動作において、読出回路12は、読み出しデータを比較回路14に供給する。
【0020】
期待値レジスタ13は、テスト動作の際に読み出しデータとの比較に用いられる期待値データを保持する。期待値レジスタ13は、出力の数(すなわち、出力回路及び出力端子の数)に応じたビット幅を有する。本実施例では、記憶部11に8ビットのデータが記憶され、読み出されたデータが各ビットのデータ毎に出力されるため、出力の数は「8」である。従って、期待値レジスタ13は8ビットのビット幅を有し、8ビットの期待値データを保持する。
【0021】
比較回路14は、テスト動作において読出回路12から供給された読み出しデータと、期待レジスタ13に保持されている期待値データとを比較する。比較回路14は、双方のデータが一致している場合には“1”、一致していない場合には“0”を、照合結果のデータとしてテストデータバスTRDBに出力する。
【0022】
信号生成回路15は、テストモード信号TM0及び全出力モード信号TM1を生成し、マルチプレクサ16<0>〜16<7>及び出力回路17<1>〜17<7>に供給する。テストモード信号TM0及び全出力モード信号TM1は、それぞれ論理レベル0及び論理レベル1に変化する信号であり、論理レベル1の場合に有効(アサート)となる。信号生成回路15は、回路外部からのモード切替要求MCに応じて、テストモード信号TM0及び全出力モード信号TM1の論理レベルを切り替える。
【0023】
テストモード信号TM0は、半導体集積回路10の動作を通常動作及びテスト動作に切り替える制御信号である。半導体集積回路10は、論理レベル0のテストモード信号TM0で通常動作、論理レベル1のテストモード信号TM0でテスト動作の状態に制御される。
【0024】
全出力モード信号TM1は、論理レベル1のテストモード信号TM0が供給されている(すなわち、アサートされている)ことを前提として、さらにテスト動作におけるデータの出力態様をI/O数削減モード及び全出力モードに切り替えるための制御信号である。半導体集積回路10は、論理レベル0の全出力モード信号TM1でI/O数削減モード、論理レベル1の全出力モード信号TM1で全出力モードに制御される。I/O数削減モードでは、出力端子T0のみからデータが出力される。全出力モードでは、出力端子T0〜T7の全てからデータが出力される。
【0025】
マルチプレクサ16<0>は、通常動作における読み出しデータの最下位ビットのデータを伝送するデータバスRDB<0>に対応して設けられている。マルチプレクサ16<0>は、データバスRDB<0>及びテストデータバスTRDBのいずれか一方を出力回路17<0>の入力側と接続するように切り替える切替回路である。マルチプレクサ16<0>は、テストモード信号TM0に応答して、接続の切替を行う。
【0026】
マルチプレクサ16<0>は、テストモード信号TM0が論理レベル0である場合(すなわち、通常動作の場合)、データバスRDB<0>を出力回路17<0>の入力側に接続する。これにより、データバスRDB<0>上の読み出しデータが出力回路17<0>に供給される。一方、マルチプレクサ16<0>は、論理レベル1のテストモード信号TM0が供給されている場合(すなわち、テスト動作の場合)、テストデータバスTRDBを出力回路17<0>の入力側に接続する。これにより、テストデータバスTRDB上の照合結果のデータ(すなわち、比較回路14による比較結果を示すデータ)がテストデータとして出力回路17<0>に供給される。
【0027】
マルチプレクサ16<1>〜16<7>は、通常動作における読み出しデータの2ビット目〜最上位ビットのデータを伝送するデータバスRDB<1>〜RDB<7>に対応して設けられている。マルチプレクサ16<1>〜16<7>は、マルチプレクサ16<0>と同様の動作を行う。
【0028】
すなわち、マルチプレクサ16<k>(k:0〜7の整数)は、テストモード信号TM0が論理レベル0である場合(すなわち、通常動作の場合)、データバスRDB<k>を出力回路17<k>の入力側に接続する。これにより、データバスRDB<k>上の読み出しデータが出力回路17<k>に供給される。論理レベル1のテストモード信号TM0が供給されている場合(すなわち、テスト動作の場合)、テストデータバスTRDBを出力回路17<k>の入力側に接続する。これにより、テストデータバスTRDB上のデータが出力回路17<k>に供給される。
【0029】
出力回路17<0>は、通常動作において読み出しデータの最下位ビットのデータを出力する回路である。出力回路17<0>は、マルチプレクサ16<0>から供給されたデータをデータDQ0として出力端子T0から出力する。半導体集積回路10のテスト動作において、出力端子T0は、テスタTSのテスト端子TTに接続される。従って、データDQ0はテスタTSに供給される。
【0030】
出力回路17<1>は、通常動作において読み出しデータの2ビット目のデータを出力する回路である。出力回路17<1>は、マルチプレクサ16<1>から供給されたデータをデータDQ1として出力端子T1から出力する。その際、出力回路17<1>は、テストモード信号TM0及び全出力モード信号TM1の供給を受け、これらの信号の論理レベルに応じてデータの出力及び出力の停止を切り替える。具体的には、出力回路17<1>は、論理レベル1のテストモード信号TM0の供給を受け、データの出力を停止する。また、出力回路17<1>は、論理レベル1のテストモード信号TM0に加えてさらに論理レベル1の全出力モード信号TM1の供給を受けた場合、データの出力の停止を解除する。
【0031】
出力回路17<2>〜17<7>は、通常動作において読み出しデータの3ビット目〜最上位ビットのデータを出力する回路である。出力回路17<2>〜17<7>は、出力回路17<1>と同様の構成を有し、同様の動作を行う。
【0032】
すなわち、出力回路17<m>(m:1〜7の整数)は、論理レベル1のテストモード信号TM0の供給を受け、データの出力を停止する。また、出力回路17<m>は、論理レベル1のテストモード信号TM0に加えてさらに論理レベル1の全出力モード信号TM1の供給を受けた場合には、データの出力の停止を解除する。
【0033】
テスタTSは、テスト端子TTを有し、テスト端子TTに供給された信号に基づいて、半導体集積回路10が正常に動作したか否かを判定する。上記の通り、半導体集積回路10のテスト動作時には、テスト端子TTには出力端子T0が接続され、データDQ0が供給される。
【0034】
次に、各出力端子から出力される出力データの例について、
図2A〜
図2Cを参照して説明する。ここでは、通常動作において、クロック信号CLKのクロックサイクルに応じて、データ“01010101”及びデータ“1010101010”が交互に記憶部11から読み出され、テスト動作において照合結果が正しい(すなわち、“1”である)と判定された場合を例として示している。
【0035】
図2Aは、通常動作において半導体集積回路10の各出力端子T0〜T7から出力される出力データの例を示す図である。マルチプレクサ16<0>〜16<7>は、論理レベル0のテストモード信号TM0の供給を受け、データバスRDB<0>〜<7>を出力回路17<0>〜17<7>に接続する。これにより、読出回路12により記憶部11から読み出されたデータの各ビットのデータが出力端子T0〜T7からデータDQ0〜DQ7として出力される。
【0036】
図2Bは、I/O数削減モードにおける出力データの例を示す図である。マルチプレクサ16<0>〜16<7>は論理レベル1のテストモード信号TM0に応答して、テストデータバスTRDBを出力回路17<0>〜17<7>の入力側に接続する。これにより、テストデータバスTRDB上の照合結果のデータがテストデータとして出力回路17<0>〜17<7>に供給される。
【0037】
出力回路17<0>は、出力端子T0にテストデータを出力する。これにより、出力端子T0から、全クロックサイクルを通じて信号レベル“1”の出力データDQ0が出力される。
【0038】
一方、出力回路17<1>〜17<7>には、論理レベル1のテストモード信号TM0に加えて、論理レベル0の全出力モード信号TM1が供給される。従って、出力回路17<1>〜17<7>はデータの出力を停止し、出力端子T1〜T7からは出力データDQ1〜DQ7が出力されない。
【0039】
図2Cは、全出力モードにおける出力データの例を示す図である。出力回路17<0>〜17<7>の入力側には、I/O数削減モードの場合と同様、テストデータバスTRDBが接続される。これにより、テストデータバスTRDB上の照合結果のデータがテストデータとして出力回路17<0>〜17<7>に供給される。
【0040】
出力回路17<0>は、出力端子T0にテストデータを出力する。これにより、出力端子T0から、全クロックサイクルを通じて信号レベル“1”の出力データDQ0が出力される。
【0041】
出力回路17<1>〜17<7>には、論理レベル1のテストモード信号TM0に加えて、論理レベル1の全出力モード信号TM1が供給される。従って、出力回路17<1>〜17<7>はデータの出力の停止を解除し、データ出力状態となる。出力回路17<1>〜17<7>は、出力端子T1〜T7にテストデータを出力する。これにより、出力端子T1〜T7から、全クロックサイクルを通じて信号レベル“1”の出力データDQ1〜7が出力される。
【0042】
このように、本実施例の半導体集積回路10では、通常動作時には出力回路17<0>〜17<7>が読み出しデータの各ビットのデータを出力する。テスト動作のI/O数削減モードでは、出力回路17<0>のみがテストデータを出力し、出力回路17<1>〜17<7>はデータ出力を停止する。テスト動作の全出力モードでは、出力回路17<0>〜17<7>がテストデータを出力する。
【0043】
図3は、本実施例の半導体集積回路10とは異なり、全出力モードへの切り替え機能を有しない半導体集積回路の例を比較例として示すブロック図である。比較例の半導体集積回路では、テスト動作において、テストデータバスTRDBに出力された照合結果のデータは、マルチプレクサ16<0>を介して出力回路17<0>にのみ供給される。出力回路17<1>〜17<7>は、論理レベル1のテストモード信号TM0の供給に応じて、データの出力を停止する。すなわち、比較例の半導体集積回路では、テスト動作時には必ずI/O数削減モードとなり、出力回路17<1>〜17<7>がデータ出力を停止し、出力端子T0のみからテストデータが出力される。従って、動作する出力回路の数が通常動作時よりも少ないため、発生するノイズも通常動作時と比べて減少する。
【0044】
これに対し、
図1に示した本実施例の半導体集積回路10では、テスト動作時において、全出力モード信号TM1の供給によって出力回路17<1>〜17<7>のデータ出力の停止を解除することにより、全ての出力回路(17<0>〜17<7>)を動作させることが可能に構成されている。全出力モードでは、通常動作の場合と同様、全ての出力端子T0〜T7からデータDQ0〜DQ7が出力される。
【0045】
このように、全出力モードでは、通常動作の場合と同様に全出力回路がデータ出力の動作を行う。このため、テスト動作で発生するノイズを通常動作で発生するノイズに近づけることができる。従って、本実施例の半導体集積回路10によれば、ウエハテストにおいてノイズの影響による不良を精度よく検出することが可能となる。
【実施例2】
【0046】
図4は、本実施例の半導体集積回路20の構成を示すブロック図である。半導体集積回路20は、実施例1の半導体集積回路10と同様の構成(記憶部11、読出回路12、期待値レジスタ13、比較回路14、信号生成回路15、マルチプレクサ16<0>〜16<7>、出力回路17<0>〜17<7>及び出力端子T0〜T7)に加えて、出力反転レジスタ21及びXOR22<0>〜22<7>を有する。
【0047】
出力反転レジスタ21は、テスト動作の全出力モードにおいて出力端子T0〜T7から出力されるデータパターンを指定するパターン指定データTPHを保持する。出力反転レジスタ21は、出力の数(すなわち、出力回路の数及び出力端子の数)に応じたビット幅を有する。本実施例では、出力の数が「8」であるため、出力反転レジスタ21は8ビットのビット幅を有し、8ビットのパターン指定データTPHを保持する。
【0048】
パターン指定データTPHは、テスト動作時において各ビットのデータ毎に対応するXOR22<0>〜XOR22<7>に供給される。例えば、TPH<7:0>=“00000010”である場合、XOR22<1>にデータ“1”が供給され、その他のXORにはデータ“0”が供給される。TPH<7:0>=“10101010”である場合、XOR22<0>、22<2>、22<4>、XOR22<6>にデータ“0”が供給され、XOR22<1>、22<3>、22<5>、22<7>にデータ“1”が供給される。
【0049】
XOR22<0>〜22<7>は、入力された2つの信号の排他的論理和を出力する排他的論理和回路であり、マルチプレクサ16<0>〜16<7>に夫々対応して設けられている。XOR22<k>(k:0〜7の整数)は、比較回路14からテストデータバスTRDBに出力された照合結果のデータと出力反転レジスタ21に記憶されているパターン指定データTPH<7:0>のうちのkビット目のパターン指定データTPH<k>との入力を受け、これらの排他的論理和を出力する。
【0050】
例えば、kビット目のパターン指定データTPH<k>が“0”である場合、XOR22<k>は、テストデータバスTRDB上の照合結果のデータが“0”の場合には“0”を出力し、照合結果のデータが“1”の場合には“1”を出力する。一方、kビット目のパターン指定データTPH<k>が“1”である場合、XOR22<k>は、テストデータバスTRDB上の照合結果のデータが“0”の場合には“1”を出力し、照合結果のデータが“1”の場合には“0”を出力する。
【0051】
すなわち、kビット目のパターン指定データTPH<k>が“0”である場合には、テストデータバスTRDB上の照合結果のデータがそのまま出力される。kビット目のパターン指定データTPH<k>が“1”である場合には、テストデータバスTRDB上の照合結果のデータを反転したデータ(反転データ)が出力される。
【0052】
XOR22<0>〜22<7>から出力されたデータは、テストデータとしてマルチプレクサ16<0>〜16<7>に供給される。マルチプレクサ16<0>〜16<7>は、論理レベル1のテストモード信号TM0の供給を受け、XOR22<0>〜22<7>から出力されたテストデータを出力回路17<0>〜17<7>に供給する。出力回路17<0>は、マルチプレクサ16<0>から供給されたデータを出力する。出力回路17<1>〜17<7>は、論理レベル1のテストモード信号TM0及び全出力モード信号TM1の供給を受け、マルチプレクサ16<1>〜16<7>から供給されたテストデータを出力する。これにより、テスト動作の全出力モードでは、XOR22<0>〜22<7>から出力されたテストデータが、出力端子T0〜T7からデータDQ0〜DQ7として出力される。
【0053】
図5Aは、パターン指定データTPHがTPH<7:0>=“1010101010”である場合の、全出力モードにおける出力データの例を示す図である。XOR<0>、XOR<2>、XOR<4>及びXOR<6>は、テストデータバスTRDB上の照合結果のデータとデータ“0”との排他的論理和、すなわち反転しないそのままの照合結果のデータをテストデータとして出力する。出力回路17<0>、17<2>、17<4>及び17<6>は、当該テストデータを出力する。従って、読出しが正常に行われている場合、全クロックサイクルを通じて信号レベル“1”のデータが出力データDQ0、DQ2、DQ4、DQ6として出力される。
【0054】
一方、XOR<1>、XOR<3>、XOR<5>及びXOR<7>は、テストデータバスTRDB上の照合結果のデータとデータ“1”との排他的論理和、すなわち照合結果のデータを反転したデータをテストデータとして出力する。出力回路17<1>、17<3>、17<5>及び17<7>は、当該テストデータを出力する。従って、読出しが正常に行われている場合、全クロックサイクルを通じて信号レベル“0”のデータが出力データDQ1、DQ3、DQ5、DQ7として出力される。
【0055】
このように、本実施例の半導体集積回路20では、比較回路14の照合により読出しが正常に行われたと判定された場合であっても、データ“1”のみならずデータ“0”を出力端子T0〜T7から出力させることが可能である。また、予め所望のパターン指定データTPHを出力反転レジスタ21に保持させておくことにより、各出力端子から出力されるデータの値(“0”か“1”か)を任意に設定することが可能である。
【0056】
本実施例の半導体集積回路20によれば、テスト動作において任意のパターンで各出力端子からデータを出力させることができるため、テスト動作で発生するノイズを通常動作で発生するノイズにより近づけることが可能となる。従って、本実施例の半導体集積回路20によれば、ウエハテストにおいてノイズの影響による不良を精度よく検出することが可能となる。
【実施例3】
【0057】
図6は、本実施例の半導体集積回路30の構成を示すブロック図である。半導体集積回路30は、記憶部11、読出回路12、期待値レジスタ13、比較回路14、マルチプレクサ16<0>〜16<7>、出力回路17<0>〜17<7>、出力端子T0〜T7、出力反転レジスタ21、信号生成回路31、XORA32<0>〜32<7>、AND33<0>〜33<7>及びXORB34<0>〜34<7>を有する。
【0058】
信号生成回路31は、テストモード信号TM0及び全出力モード信号TM1を生成するほか、出力反転モード信号TM2及び反転トリガー信号TOGGLEを生成する。信号生成回路31は、出力反転モード信号TM2及び反転トリガー信号TOGGLEをAND33<0>〜33<7>に供給する。信号生成回路31は、回路外部からのモード切替要求MCに応じて、これらの信号の論理レベルを切り替える。
【0059】
出力反転モード信号TM2は、論理レベル0及び論理レベル1に変化する信号であり、論理レベル1の場合に有効(アサート)となる。信号生成回路15は、回路外部からのモード切替要求MCに応じて、出力反転モード信号TM2の論理レベルを切り替える。
【0060】
出力反転モード信号TM2は、論理レベル1のテストモード信号TM0及び全出力モード信号TM1が供給されている(すなわち、アサートされている)ことを前提として、さらにテストデータの出力態様を反転出力モード及び非反転出力モードに切り替えるための制御信号である。反転出力モードでは、データ“0”及び“1”がクロック信号CLKの1クロックサイクル毎に交互に出力端子T0〜T7から出力される。
【0061】
反転トリガー信号TOGGLEは、クロック信号CLKの奇数サイクルと偶数サイクルとで論理レベル0及び論理レベル1を交互に繰り返すように変化する信号である。反転トリガー信号TOGGLEは、反転出力モードにおいて出力を反転させるトリガーとなる信号である。
【0062】
XORA32<0>〜32<7>は、入力された2つの信号の排他的論理和を出力する排他的論理和回路である。XORA32<k>(k:0〜7の整数)は、比較回路14からテストデータバスTRDBに出力された照合結果のデータと出力反転レジスタ21に記憶されているパターン指定データTPH<7:0>のうちのkビット目のパターン指定データTPH<k>との入力を受け、これらの排他的論理和を出力する。例えば、kビット目のパターン指定データTPH<k>が“0”である場合、XORA32<k>は、テストデータバスTRDB上の照合結果のデータを出力する。kビット目のパターン指定データTPH<k>が“1”である場合、XORA32<k>は、テストデータバスTRDB上の照合結果のデータを反転したデータ(反転データ)を出力する。
【0063】
AND33<0>〜33<7>は、入力された2つの信号の論理積を出力する論理積回路である。AND33<k>は、出力反転モード信号TM2及び反転トリガー信号TOGGLEの入力を受け、これらの論理積を出力する。例えば、出力反転モード信号TM2が論理レベル0である場合、AND33<k>は、反転トリガー信号TOGGLEの信号レベルに関わらず、“0”を出力する。一方、出力反転モード信号TM2が論理レベル1である場合、AND33<k>は、反転トリガー信号TOGGLEの論理レベルに応じた信号(すなわち、反転トリガー信号TOGGLEが論理レベル0の場合には“0”、論理レベル1の場合には“1”)を出力する。
【0064】
XORB34<0>〜34<7>は、入力された2つの信号の排他的論理和を出力する排他的論理和回路である。XORB34<k>は、XORA32<k>から出力されたデータとAND33<k>から出力されたデータとの排他的論理和を出力する。例えば、出力反転モード信号TM2が論理レベル0である場合、AND33<k>からは“0”が出力されるため、XORB34<k>は、XORA32<k>から出力されたデータをそのまま出力する。一方、出力反転モード信号TM2が論理レベル1である場合、AND33<k>からは反転トリガー信号TOGGLEの論理レベルに応じた信号が出力される。従って、XORB34<k>は、XORA32<k>から出力されたデータと、XORA32<k>から出力されたデータを反転させたデータと、をクロック信号CLKの1クロックサイクル毎に交互に出力する。
【0065】
XORB34<0>〜34<7>から出力されたデータは、テストデータとしてマルチプレクサ16<0>〜16<7>に供給される。マルチプレクサ16<0>〜16<7>は、論理レベル1のテストモード信号TM0の供給を受け、XORB34<0>〜34<7>の出力を出力回路17<0>〜17<7>の入力側に接続する。
【0066】
出力回路17<0>は、XORB34<0>からマルチプレクサ16<0>を介して供給されたデータを出力する。出力回路17<1>〜17<7>は、論理レベル1のテストモード信号TM0及び全出力モード信号TM1の供給を受け、XORB34<1>〜34<7>からマルチプレクサ16<1>〜16<7>を介して供給されたデータを出力する。これにより、テスト動作の全出力モードでは、XORB34<0>〜34<7>から出力されたデータが、出力端子T0〜T7からデータDQ0〜DQ7として出力される。
【0067】
次に、本実施例の半導体集積回路30の動作について、出力反転レジスタ21に保持されたパターン指定データTPHがTPH<7:0>=“10101010”であり、且つ反転トリガー信号TOGGLEがクロック信号CLKの奇数サイクルで論理レベル0、偶数サイクルで論理レベル1に変化する場合を例として説明する。
【0068】
XORA32<0>、32<2>、32<4>及び32<6>には、出力反転レジスタ21からデータ“0”が供給される。XORA32<1>、32<3>、32<5>及び32<7>には、出力反転レジスタ21からデータ“1”が供給される。
【0069】
XORA32<0>、32<2>、32<4>及び32<6>は、データ“0”とテストデータバスTRDB上の照合結果のデータとの排他的論理和を出力する。XORA32<1>、32<3>、32<5>及び32<7>は、データ“1”とテストデータバスTRDB上の照合結果のデータとの排他的論理和を出力する。例えば、読出回路12による読出しが正確に行われ、照合結果のデータが“1”である場合、XORA32<0>、32<2>、32<4>及び32<6>からはデータ“1”が出力され、XORA32<1>、32<3>、32<5>及び32<7>からはデータ“0”が出力される。
【0070】
出力反転モード信号TM2が論理レベル0である場合、AND33<0>〜33<7>はデータ“0”をXORB34<0>〜34<7>に出力する。XORB34<0>、34<2>、34<4>及び34<6>は、対応するXORA及びANDからの出力の排他的論理和であるデータ“1”を出力する。一方、XORB34<1>、34<3>、34<5>及び34<7>は、対応するXORA及びANDからの出力の排他的論理和であるデータ“0”を出力する。従って、
図5Aに示すように、全クロックサイクルを通じて信号レベル“1”のデータが出力データDQ0、DQ2、DQ4、DQ6として出力される。また、全クロックサイクルを通じて信号レベル“0”のデータが出力データDQ1、DQ3、DQ5、DQ7として出力される。
【0071】
これに対し、出力反転モード信号TM2が論理レベル1である(すなわち、アサートされている)場合、AND33<0>〜33<7>は反転トリガー信号TOGGLEの信号をXORB34<0>〜34<7>に出力する。上記のように反転トリガー信号TOGGLEがクロック信号CLKの奇数サイクルで論理レベル0、偶数サイクルで論理レベル1に変化する信号である場合、奇数サイクルではデータ“0”、偶数サイクルではデータ“1”がXORB34<0>〜34<7>に供給される。XORB34<0>、34<2>、34<4>及び34<6>は、対応するXORA及びANDからの出力の排他的論理和として、奇数サイクルでデータ“1”、偶数サイクルでデータ“0”を出力する。一方、XORB34<1>、34<3>、34<5>及び34<7>は、対応するXORA及びANDからの出力の排他的論理和として、奇数サイクルでデータ“0”、偶数サイクルでデータ“1”を出力する。
【0072】
従って、
図5Bに示すように、奇数サイクルで信号レベル“1”、偶数サイクルで信号レベル“0”となるデータが出力データDQ0、DQ2、DQ4、DQ6として出力される。また、奇数サイクルで信号レベル“0”、偶数サイクルで信号レベル“1”となるデータが出力データDQ1、DQ3、DQ5、DQ7として出力される。
【0073】
このように、本実施例の半導体集積回路20では、テスト動作の際に各端子から出力されるデータの値(“0”か“1”か)を任意に設定することができるとともに、1クロックサイクル毎に反転させることが可能である。
【0074】
従って、本実施例の半導体集積回路20によれば、テスト動作で発生するノイズを通常動作で発生するノイズにより近づけることができ、ウエハテストにおいてノイズの影響による不良を精度よく検出することが可能となる。
【0075】
なお、本発明は上記実施形態に限定されない。例えば、上記実施例では、出力の数(すなわち、出力回路及び出力端子の数)が8である場合を例として、回路の構成及び動作について説明した。しかし、これに限られず、n個(n:2以上の整数)の出力を有する半導体集積回路に本発明を適用することが可能である。その場合、例えば記憶部にnビットのデータが記憶され、各ビットのデータを伝送する第1〜第nの通常データバス、これに対応する第1〜第nの出力回路、第1〜第nのマルチプレクサ及び第1〜第nの出力端子等を有し、各部が上記実施例で説明した動作と同様の動作を行うものであれば良い。
【0076】
また、上記実施例では、記憶部11が不揮発性の半導体メモリである場合を例として説明した。しかし、記憶部11はnビットのデータを記憶(保持)することが可能であれば良く、例えばnビットのビット幅を有するレジスタであっても良い。
【0077】
また、上記実施例2及び3では、出力反転レジスタ21が、出力の数(すなわち、出力回路及び出力端子の数)に応じたビット幅を有する場合を例として説明した。しかし、回路規模に応じて、出力反転レジスタ21がより小さいビット幅を有する構成であっても良い。例えば、出力の数「8」に対して、出力反転レジスタ21のビット幅を「4」としても良い。その場合、例えばパターン指定データをTPH<3:0>とし、TPH<0>をDQ0及びDQ4、TPH<1>をDQ1及びDQ5、TPH<2>をDQ2及びDQ6、TPH<3>をDQ3及びDQ7に割り当てる(すなわち、2つの出力に対して1ビットのパターン指定データTPHを割り当てる)ことにより、出力データDQ0〜DQ7を任意のパターンに設定することが可能である。