(57)【要約】【課題】電源ノイズの影響による不良の原因を明確に切り分けることができるようにする。【解決手段】検査開始コマンドが入力された場合、論理ブロック２１は、高速シーケンサ２２およびセレクタ２３を制御し、半導体集積回路１の検査処理開始させる。これにより、高速シーケンサ２２は、論理ブロック２１で設定された検索条件に基づいて、検索キーデータおよび検索タイミング信号を生成し、ＣＡＭブロック１１にセレクタ２３を介して入力する。ＣＡＭブロック１１は、検索キーデータおよび検索タイミング信号に基づいて、連続して検索処理を実行する。このとき、論理ブロック２１は、テスト制御部３１のコントロール信号に基づいて、内蔵するレジスタのデータをテスト制御部３１に出力する。本発明は、耐ノイズ性の検査を実行する半導体集積回路に適用できる。【選択図】      図３
2004309281.tif 000002
【特許請求の範囲】
【請求項１】
ノイズ発生源となり得る第１のブロックと、前記第１のブロックからのノイズを受ける第２のブロックとを有する半導体集積回路を検査する検査回路であって、
前記半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断手段と、
前記判断手段により前記検査コマンドを受けたと判断された場合、前記第１のブロックを動作させるためのデータを生成する生成手段と、
前記生成手段により生成された前記データを、前記第１のブロックに連続して出力する出力手段と
を備え、
前記出力手段により出力されている前記データにより前記第１のブロックが動作しているときに、前記第２のブロックを検査する
ことを特徴とする検査回路。
【請求項２】
前記第１のブロックは、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）により構成される
ことを特徴とする請求項１に記載の検査回路。
【請求項３】
前記判断手段により前記検査コマンドを受けたと判断された場合、前記第１のブロックを検索動作させるための検索条件を設定する設定手段をさらに備え、
前記生成手段は、前記設定手段により設定された前記検索条件に基づいて、前記データを生成する
ことを特徴とする請求項１に記載の検査回路。
【請求項４】
前記検索条件は、前記第１のブロックの検索動作間隔、前記生成手段により生成される前記データの内容、前記第１のブロックのうち検索対象ブロックの位置、または、前記第１のブロックのマスク機能の指定である
ことを特徴とする請求項３に記載の検査回路。
【請求項５】
前記判断手段により前記検査コマンドを受けたと判断された場合、前記出力手段により出力された前記データを選択して前記第１のブロックに出力し、前記判断手段により前記検査コマンドを受けていないと判断された場合、前記第２のブロックから出力されるデータを選択して前記第１のブロックに出力する選択手段を
さらに備えることを特徴とする請求項１に記載の検査回路。
【請求項６】
ノイズ発生源となり得る第１のブロックと、前記第１のブロックからのノイズを受ける第２のブロックとを有する半導体集積回路を検査する検査方法であって、
前記半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断ステップと、
前記判断ステップの処理により前記検査コマンドを受けたと判断された場合、前記第１のブロックを動作させるためのデータを生成する生成ステップと、
前記生成ステップの処理により生成された前記データを、前記第１のブロックに連続して出力する出力ステップと
を含み、
前記出力ステップの処理により出力されている前記データにより前記第１のブロックが動作しているときに、前記第２のブロックを検査する
を含むことを特徴とする検査方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検査回路および検査方法に関し、特に、電源ノイズの影響による不良の原因を明確に切り分けることができるようにした検査回路および検査方法に関する。
【０００２】
【従来の技術】
近年、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）のサブミクロン化、大規模化、動作周波数の高速化などによって、ＬＳＩ内部の消費電力の増加や、それに伴うノイズの発生により、ＬＳＩの動作が不安定になることが多くなった。そのため、ＬＳＩにテストパターンを入力し、ＬＳＩから出力される期待値の比較を行うことにより、耐ノイズ性を検査することが必要になってきた。
【０００３】
同一ＬＳＩ上には、図１に示されるように、消費電力が多く、ノイズ源となり得る回路群（例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））であるブロックＡと、ブロックＡと較べて消費電力が少なく、ブロックＡから発生するノイズの影響を受け、誤動作を生じる可能性がある回路群（例えば、論理回路）であるブロックＢが混在している。したがって、上述した耐ノイズ性の検査においては、特許文献１に、複数のブロックを分けて検査することが提案されているように、ノイズ源となり得るブロックＡと、ブロックＡから発生するノイズの影響を受けるブロックＢとを切り分けて検査することが必要になる。
【０００４】
そこで、まず、ノイズ源となり得るブロックＡを動作させず、消費電力を消費しないブロックＢのみを動作させ、ブロックＢのみの検査を行う。これにより、ブロックＡからのノイズが発生されない状態でブロックＢの検査ができる。次に、ブロックＢを動作させず、消費電力の多い、ノイズ源となり得る回路群Ａのみを動作させ、ブロックＡのみの検査を行う。
【０００５】
【特許文献１】
特開２００２−４０１１３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述したノイズ源となり得るブロックＡの検査には、通常、そのブロックＡの周辺の論理ブロックを使用しなければならない。この論理ブロックは、消費電力を消費しないブロックＢに含まれる。したがって、ノイズ源となり得るブロックＡの検査において不良が発生した場合、ノイズ源となり得るブロックＡの不良であるのか、もしくは、そのブロックＡが発生したノイズによって、周辺の論理ブロックＢが誤動作しているのかを明確に判断することが困難である課題があった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、電源ノイズの影響による不良の原因を明確に切り分けることができるようにするものである。
【０００８】
【課題を解決するための手段】
本発明の検査回路は、半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断手段と、判断手段により検査コマンドを受けたと判断された場合、第１のブロックを動作させるためのデータを生成する生成手段と、生成手段により生成されたデータを、第１のブロックに連続して出力する出力手段とを備え、出力手段により出力されているデータにより第１のブロックが動作しているときに、第２のブロックを検査することを特徴とする。
【０００９】
第１のブロックは、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）により構成されるようにすることができる。
【００１０】
判断手段により検査コマンドを受けたと判断された場合、第１のブロックを検索動作させるための検索条件を設定する設定手段をさらに備え、生成手段は、設定手段により設定された検索条件に基づいて、データを生成するようにすることができる。
【００１１】
検索条件は、第１のブロックの検索動作間隔、生成手段により生成されるデータの内容、第１のブロックのうち検索対象ブロックの位置、または、第１のブロックのマスク機能の指定であるようにすることができる。
【００１２】
判断手段により検査コマンドを受けたと判断された場合、出力手段により出力されたデータを選択して第１のブロックに出力し、判断手段により検査コマンドを受けていないと判断された場合、第２のブロックから出力されるデータを選択して第１のブロックに出力する選択手段をさらに備えるようにすることができる。
【００１３】
本発明の検査方法は、半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断ステップと、判断ステップの処理により検査コマンドを受けたと判断された場合、第１のブロックを動作させるためのデータを生成する生成ステップと、生成ステップの処理により生成されたデータを、第１のブロックに連続して出力する出力ステップとを含み、出力ステップの処理により出力されているデータにより第１のブロックが動作しているときに、第２のブロックを検査することを特徴とする。
【００１４】
本発明においては、半導体集積回路を検査する検査コマンドを受けたと判断された場合、第１のブロックを動作させるためのデータが生成され、生成されたデータが、第１のブロックに連続して出力される。そして、出力されたデータにより第１のブロックが動作しているときに、第２のブロックが検査される。
【００１５】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１６】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００１７】
請求項１に記載の検査回路は、ノイズ発生源となり得る第１のブロック（例えば、図３のＣＡＭブロック１１）と、前記第１のブロックからのノイズを受ける第２のブロック（例えば、図３の論理ブロック２１）とを有する半導体集積回路（例えば、図２の半導体集積回路１）を検査する検査回路であって、半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断手段（例えば、図３の論理ブロック２１）と、判断手段により検査コマンドを受けたと判断された場合、第１のブロックを動作させるためのデータを生成する生成手段（例えば、図９のステップＳ４３の処理を実行する図３の高速シーケンサ２２）と、生成手段により生成されたデータを、第１のブロック（例えば、図３のＣＡＭブロック１１）に連続して出力する出力手段（例えば、図９のステップＳ４４の処理を実行する図３の高速シーケンサ２２）とを備え、出力手段により出力されているデータにより第１のブロックが動作しているときに、第２のブロックを検査することを特徴とする。
【００１８】
請求項３に記載の検査回路は、判断手段により検査コマンドを受けたと判断された場合、第１のブロック（例えば、図３のＣＡＭブロック１１）を検索動作させるための検索条件を設定する設定手段（例えば、図９のステップＳ４２の処理を実行する図３の論理ブロック２１）をさらに備え、生成手段は、設定手段により設定された検索条件に基づいて、データを生成することを特徴とする。
【００１９】
請求項５に記載の検査回路は、判断手段により検査コマンドを受けたと判断された場合、出力手段（例えば、図８のステップＳ２４の処理を実行する図３の高速シーケンサ２２）により出力されたデータを選択して第１のブロック（例えば、図３のＣＡＭブロック１１）に出力し、判断手段により検査コマンドを受けていないと判断された場合、第２のブロック（例えば、図３の論理ブロック２１）から出力されるデータを選択して第１のブロック（例えば、図３のＣＡＭブロック１１）に出力する選択手段（例えば、図３のセレクタ２３）をさらに備えることを特徴とする。
【００２０】
請求項６に記載の検査方法は、ノイズ発生源となり得る第１のブロック（例えば、図３のＣＡＭブロック１１）と、前記第１のブロックからのノイズを受ける第２のブロック（例えば、図３の論理ブロック２１）とを有する半導体集積回路（例えば、図２の半導体集積回路１）を検査する検査方法であって、半導体集積回路を検査する検査コマンドを受けたか否かを判断する判断ステップ（例えば、図７のステップＳ６）と、判断ステップの処理により検査コマンドを受けたと判断された場合、第１のブロック（例えば、図３のＣＡＭブロック１１）を動作させるためのデータを生成する生成ステップ（例えば、図９のステップＳ４３）と、生成ステップの処理により生成されたデータを、第１のブロック（例えば、図３のＣＡＭブロック１１）に連続して出力する出力ステップ（例えば、図９のステップＳ４４）とを含み、出力ステップの処理により出力されているデータにより第１のブロックが動作しているときに、第２のブロックを検査することを特徴とする。
【００２１】
以下、図を参照して本発明の実施の形態について説明する。
【００２２】
図２は、本発明を適用した半導体集積回路１の構成例を表している。なお、図２の例においては、配線やバスなどは省略されている。図２の例の場合、半導体集積回路１は、８ブロックに分けられたＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）ブロック１１−１乃至１１−８（以下、これらを個々に区別する必要がない場合、単にＣＡＭブロック１１と称する）と、ＣＡＭブロック１１にデータを供給する論理ブロック２１（図３）を含む小消費電力ブロック１２により構成される。
【００２３】
ＣＡＭブロック１１群は、左から順に、ＣＡＭブロック１１−１、ＣＡＭブロック１１−２、ＣＡＭブロック１１−３およびＣＡＭブロック１１−４の順に並んで配置されており、それらの下部には、左から順に、ＣＡＭブロック１１−５、ＣＡＭブロック１１−６、ＣＡＭブロック１１−７およびＣＡＭブロック１１−８の順に並んで配置されている。ＣＡＭブロック１１は、論理ブロック２１から供給される検索キーデータをキーとして、検索動作を行い、検索キーデータにヒットしたアドレスを出力するＣＡＭなどにより構成される。したがって、ＣＡＭブロック１１は、その構成上、検索動作が実行されたとき、半導体集積回路１内で、消費電力（例えば、１０Ｗ乃至２０Ｗ）が最も多く消費されるブロックであり、ノイズを発生するノイズ源となり得るブロックである。
【００２４】
小消費電力ブロック１２は、ＣＡＭブロック１１−１、１１−４、１１−５および１１−８よりも、ＣＡＭブロック１１−２、１１−３、１１−６および１１−７からの方が物理的に近い位置である、ＣＡＭブロック１１−１乃至１１−８のほぼ中央に位置している。小消費電力ブロック１２は、ＣＡＭブロック１１にデータを供給する論理ブロック２１などにより構成され、ＣＡＭブロック１１と較べて消費電力が少ないブロックである。
【００２５】
以上のように、半導体集積回路１は、消費電力の多いＣＡＭブロック１１と消費電力の少ない小消費電力ブロック１２が混在して構成されている。したがって、小消費電力ブロック１２は、ＣＡＭブロック１１から発生したノイズにより影響を受けやすく、誤動作を生じるおそれがある。
【００２６】
図３は、半導体集積回路１の詳細な構成例を表している。図３の例において、半導体集積回路１は、ＣＡＭブロック１１、並びに、論理ブロック２１、高速シーケンサ２２およびセレクタ２３からなる小消費電力ブロック１２により構成される。
【００２７】
ＣＡＭブロック１１は、１または複数のＣＡＭにより構成されている。なお、いまの場合、説明の便宜上、ＣＡＭブロック１１を１つのＣＡＭとして説明する。ＣＡＭブロック１１は、テスト制御部３１から供給されるシステムクロック（ＣＬＫ）に同期して、セレクタ２３から入力される検索キーデータを、セレクタ２３を介して供給される検索タイミング（ＳＲＣＨ）信号およびマスク（ＭＡＳＫ）信号に基づいて、ＣＡＭブロック１１に予め登録されているデータの中から検索する。ＣＡＭブロック１１は、検索動作を行うときの検索機能として、図４に示されるようなマスク機能を有する。
【００２８】
図４は、ＣＡＭブロック１１の構成例を示している。図４の例において、ＣＡＭブロック１１は、各アドレスに７２ｂｉｔｓのデータを登録している。ＣＡＭブロック１１は、この７２ｂｉｔｓのデータのうち、任意のｂｉｔｓ（例えば、１２ｂｉｔｓ）をマスク部分と設定し、検索時の検索対象にしないことができる。これをマスク機能という。したがって、ＣＡＭブロック１１は、セレクタ２３からのマスク信号に基づいて、マスク機能を用い、登録されているデータの６０ｂｉｔｓ分だけを検索対象として検索時の検索対象部分を認識する。そして、ＣＡＭブロック１１は、検索対象部分において、入力された検索キーデータに一致するデータを検索する。
【００２９】
ＣＡＭブロック１１は、入力された検索キーデータに一致するデータが、ＣＡＭブロック１１にあった場合、検索結果データを、内部バス４２を介して、論理ブロック２１に出力する。検索結果データは、検索キーデータに一致するデータがあったことを示すヒット（ＨＯＮ）信号、検索キーデータに一致するデータが複数あったことを示すマルチヒット（ＭＨＯＮ）信号、および、検索キーデータに一致するデータのアドレスのうち最も小さい（優先度が高い）アドレスを示すヒットアドレス（ＨＨＡ（Ｈｉｇｈｅｓｔ  Ｈｉｔ  Ａｄｄｒｅｓｓ））信号などにより構成される。
【００３０】
半導体集積回路１の外部には、テスト制御部３１が配置されている。テスト制御部３１は、ＣＡＭブロック１１、論理ブロック２１および高速シーケンサ２２にシステムクロック（ＣＬＫ）を供給する。また、テスト制御部３１は、論理ブロック２１に、半導体集積回路１を制御するためのコントロール（ＣＮＴＬ）信号、チップイネーブル（ＣＥＮ）信号、およびリードライト（ＲＷＮ）信号などを供給する。
【００３１】
コントロール信号は、各種コマンドにより構成される。各種コマンドは、半導体集積回路１における検索処理を指示する検索コマンド、検索処理において検索されるデータを、ＣＡＭブロック１１内に予め登録するためのエントリコマンド、半導体集積回路１の検査処理の開始を指示するための検査開始コマンド、および、論理ブロック２１に内蔵されるレジスタのデータを読み込むためのリードコマンドなどにより構成される。チップイネーブル信号は、半導体集積回路１の各部の動作状態を制御するための信号であり、図示および説明を省略するが、論理ブロック２１だけでなく、半導体集積回路１の各部にも入力される。リードライト信号は、論理ブロック２１が内蔵するレジスタに対して、データを書き込むか、または読み出すかを指示するための信号である。マスク信号は、ＣＡＭブロック１１のマスク機能を設定するための信号である。
【００３２】
また、テスト制御部３１は、検索キーデータを、データバス４１を介して論理ブロック２１のレジスタに書き込む。テスト制御部３１は、耐ノイズ性の検査のための所定のデータを、データバス４１を介して論理ブロック２１のレジスタに書き込み、また、そのレジスタに書き込まれたデータをデータバス４１を介して読み出す。テスト制御部３１は、論理ブロック２１のレジスタから読み出されたデータを検証することにより、論理ブロック２１の状態を検査することができる。
【００３３】
論理ブロック２１は、内部にレジスタ（図示せず）を有しており、テスト制御部３１からの制御のもと、そのレジスタにデータを書き込んだり、レジスタからデータを読み出したりする。また、論理ブロック２１は、テスト制御部３１からのシステムクロックに同期して、テスト制御部３１から入力されるコントロール信号、チップイネーブル信号およびリードライト信号に基づいて、半導体集積回路１の各種処理を制御する。
【００３４】
具体的には、論理ブロック２１は、テスト制御部３１から入力されるコントロール信号が何のコマンドであるかを判断する。テスト制御部３１から入力されるコントロール信号が検索コマンドであった場合、論理ブロック２１は、テスト制御部３１からのシステムクロックに同期して、検索キーデータ、各種信号（チップイネーブル信号、検索タイミング信号、およびマスク信号など）を、セレクタ２３を介して、ＣＡＭブロック１１に出力する。そして、論理ブロック２１は、ＣＡＭブロック１１からの検索結果データを、データバス４３を介して、図示せぬ外部回路へ出力する。
【００３５】
テスト制御部３１から入力されるコントロール信号がエントリコマンドであった場合、論理ブロック２１は、テスト制御部３１からのシステムクロックに同期して、テスト制御部３１からのデータをセレクタ２３を介して、ＣＡＭブロック１１に出力する。テスト制御部３１から入力されるコントロール信号が検査開始コマンドであった場合、論理ブロック２１は、高速シーケンサ２２およびセレクタ２３を制御し、半導体集積回路１の検査処理開始させる。テスト制御部３１から供給されたコントロール信号がリードコマンドであった場合、論理ブロック２１は、内蔵するレジスタに予め書き込まれているデータを、データバス４１を介して、テスト制御部３１に出力する。
【００３６】
また、論理ブロック２１は、半導体集積回路１の検査処理においてＣＡＭブロック１１が実行する検索の検索条件を設定し、その検索条件を高速シーケンサ２２に供給する。この論理ブロック２１により設定可能な検索条件は、ＣＡＭブロック１１で実行される検索の検索間隔、検索キーデータの内容（ビットの構成）、ＣＡＭブロック１１のマスク機能および８ブロックに分けられたＣＡＭブロック１１−１乃至１１−８（図２）のうち、検索対象となるＣＡＭブロックの位置などがある。
【００３７】
これらの検索条件を変更することにより、ＣＡＭブロック１１の性質上、検索動作におけるＣＡＭブロック１１の消費電力が変わる。例えば、検索間隔を大きく設定変更した場合、ＣＡＭブロック１１の検索動作に対する負荷が小さくなるため、検索間隔を変更する前よりも、ＣＡＭブロック１１の消費電力は少なくなる。また、すべてが０により構成される検索キーデータから、０と１の混在により構成される検索キーデータに変更した場合には、検索キーデータを変更する前よりも、ＣＡＭブロック１１の消費電力は、多くなる。さらに、図４を参照して上述したマスク機能を設定した場合には、マスク機能を設定しない場合に較べて、ＣＡＭブロック１１の消費電力は、小さくなる。以上のように、様々な消費電力下において、半導体集積回路１の検査を実行することができる。すなわち、消費電力の大小によって生じる半導体集積回路１の不良を検査することができる。
【００３８】
また、検索対象となるＣＡＭブロック１１の位置を設定する場合には、図２を参照して上述したように、ＣＡＭブロック１１−２、１１−３、１１−６または１１−７のように、論理ブロック２１から物理的に近い位置のノイズの影響、および、ＣＡＭブロック１１−１、１１−４、１１−５または１１−８のように、論理ブロック２１から物理的に遠い位置のノイズの影響など、物理的な影響を検査することができる。
【００３９】
高速シーケンサ２２は、半導体集積回路１の検査用に設けられたものであり、論理ブロック２１から検査を開始する制御信号があった場合、ＣＡＭブロック１１を連続的に検索動作させる。すなわち、半導体集積回路１の検査処理においては、論理ブロック２１は、高速シーケンサ２２に、検査開始と検索条件を指示するだけであり、高速シーケンサ２２は、その指示が入力された後、論理ブロック２１とは関係なく（独立で）、ＣＡＭブロック１１より供給された検索条件に基づいて、検索キーデータ、検索タイミング信号、およびマスク信号などを生成し、テスト制御部３１からのシステムクロックに同期して、セレクタ２３を介して、ＣＡＭブロック１１に出力する。
【００４０】
セレクタ２３は、論理ブロック２１から検査を開始する制御信号があった場合、高速シーケンサ２２側の入力を選択し、高速シーケンサ２２からの各種データおよび信号をＣＡＭブロック１１に出力する。セレクタ２３は、論理ブロック２１から検査を開始する制御信号がなければ場合、論理ブロック２１側の入力を選択し、論理ブロック２１からの各種データおよび信号を、ＣＡＭブロック１１に出力する。
【００４１】
次に、図５のタイミングチャートを参照して、半導体集積回路１の通常の検索動作について説明する。
【００４２】
図５の例の場合、ＣＬＫ，ＣＥＮ，ＲＷＮおよびＳＲＣＨにおいて、各信号のエッジの立ち上がった状態がＨ（Ｈｉｇｈ）状態であり、エッジの下がった状態がＬ（Ｌｏｗ）状態である。ＣＬＫは、テスト制御部３１から半導体集積回路１の各部に供給されるシステムクロックのタイミングを示しており、ＣＮＴＬは、テスト制御部３１から論理ブロック２１に、１４ｂｉｔｓのコマンド信号が入力されるタイミングを示しており、ＤＡＴは、テスト制御部３１から論理ブロック２１に、７２ｂｉｔｓのデータが入力されるタイミングを示している。
【００４３】
ＣＥＮは、テスト制御部３１から論理ブロック２１に供給されるシステムイネーブル信号のタイミングを示しており、システムクロックの立ち上がりエッジのタイミングで、Ｌの状態からＨ状態になる。このとき、半導体集積回路１は、動作可能状態になる。ＲＷＮは、テスト制御部３１から論理ブロック２１に供給されるリードライト信号のタイミングを示しており、ＣＬＫの立ち上がりエッジのタイミングに、ＲＷＮがＨ状態であれば、論理ブロック２１のレジスタからデータを読み込むことを示し、逆に、ＣＬＫの立ち上がりエッジのタイミングに、ＲＷＮがＬの状態であれば、論理ブロック２１のレジスタにデータを書き込むことを示す。
【００４４】
ＳＲＣＨは、ＣＡＭブロック１１に、論理ブロック２１から供給される検索タイミング信号のタイミングを示している。ＨＨＡは、ＣＡＭブロック１１からヒットアドレス信号を含めた検索結果データが、内部バス４２を介して、論理ブロック２１に出力されるタイミングを示しており、ＯＤは、論理ブロック２１から、ＣＡＭブロック１１からの検索結果データが２３ｂｉｔｓで、データバス４３を介して、図示せぬ外部回路へ出力されるタイミングを示している。なお、図５の例では、システムクロック以外の各種信号は、遅延のため、システムクロックより少し遅れて出力されている。
【００４５】
図５の例においては、テスト制御部３１から論理ブロック２１およびＣＡＭブロック１１にシステムクロックが供給されている。ＣＮＴＬおよびＤＡＴに示されるように、このシステムクロックのＴ０の立ち下がりエッジのタイミングに同期して、テスト制御部３１は、検索コマンドおよび検索キーデータを論理ブロック２１に入力する。そして、ＣＥＮに示されるように、Ｌ状態であったシステムイネーブル信号は、システムクロックのＴ０の立ち上がりエッジのタイミングに同期して、Ｈ状態になり、半導体集積回路１が動作可能状態になる。このとき、ＲＷＮに示されるように、テスト制御部３１から論理ブロック２１に供給されたリードライト信号は、Ｌ状態であるので、検索キーデータが論理ブロック２１のレジスタに書き込まれる。
【００４６】
したがって、システムクロックのＴ０の立ち下がりエッジのタイミングに同期して、テスト制御部３１から検索コマンドが入力されたことにより、論理ブロック２１は、検索動作を開始すると判断して、システムクロックのＴ０の立ち上がりエッジのタイミングに同期して、セレクタ２３を介して、ＣＡＭブロック１１に、検索キーデータおよび検索タイミング信号などを供給する。
【００４７】
ＳＲＣＨに示されるように、検索タイミング信号は、ＣＡＭブロック１１に検索コマンドが入力された次のクロックであるＴ１の立ち上がりエッジのタイミングに同期して、Ｌ状態になる。ＣＡＭブロック１１は、このタイミングａ（検索タイミング信号の立ち下がりエッジのタイミング）から検索処理を開始する。ＣＡＭブロック１１は、検索コマンドが入力されてから３クロック遅延して、検索結果データを論理ブロック２１に出力するように予め設定されている。ＣＡＭブロック１１は、入力された検索キーデータに一致するデータがあった場合、ＨＨＡに示されるように、半導体集積回路１に検索コマンドが入力されてから３クロック後のシステムクロックのＴ３の立ち上がりエッジのタイミングに、検索結果データを、内部バス４２を介して論理ブロック２１に出力する。
【００４８】
論理ブロック２１は、検索コマンドが入力されてから４クロック遅延して、ＣＡＭブロック１１からの検索結果データを、データバス４３を介して、図示せぬ外部回路へ出力するように予め設定されている。したがって、論理ブロック２１は、ＯＤに示されるように、検索コマンドが入力されてから４クロック後のシステムクロックのＴ４の立ち上がりエッジのタイミングで、ＣＡＭブロック１１からの検索結果データを、外部回路へ出力する。
【００４９】
以上のようにして、半導体集積回路１において検索処理が実行される。このとき、論理ブロック２１からデータバス４３を介して出力される検索結果データが、電圧、温度、または動作周波数などの条件によって、不安定な場合がある。このような場合には、耐ノイズ性の検査が実行される。まず、半導体集積回路１（すなわち、ＣＡＭブロック１１と論理ブロック２１の両方）を連続的に検索動作させて検査を実行する。しかしながら、この検査では、論理ブロック２１も連続的に動作してしまうため、論理ブロック２１の状態を検査することができず、半導体集積回路１のうちのどの部分が不良であるのかを明確に知ることはできない。
【００５０】
そこで、ＣＡＭブロック１１に対して、検索動作させずに、論理ブロック２１のみを動作させて、論理ブロック２１自体の動作が正常であるか否かを検査する。これにより、正常であることが確認された場合、検索結果データが不安定な原因としては、半導体集積回路１内部のＣＡＭブロック１１自体の回路が不安定であること、または、ＣＡＭブロック１１自体の回路や動作は正常であるが、論理ブロック２１がＣＡＭブロック１１が動作することにより発生するノイズによって誤動作していることの２種類の原因が考えられる。
【００５１】
したがって、論理ブロック２１がＣＡＭブロック１１のノイズの影響を受けているか否かを明確に切り分けるための検査が必要である。
【００５２】
図６のタイミングチャートを参照して、半導体集積回路１の検査動作を説明する。なお、図６において、図５における場合と対応する部分には対応する符号を付してあり、その説明は繰り返しになるので省略するが、図６において、ＳＲＣＨは、ＣＡＭブロック１１に、高速シーケンサ２２から供給される検索タイミング信号のタイミングを示している。
【００５３】
図６の例においては、テスト制御部３１から論理ブロック２１、ＣＡＭブロック１１および高速シーケンサ２２にシステムクロックが供給されている。  ＣＮＴＬに示されるように、このシステムクロックのＴ０の立ち下がりエッジのタイミングに同期して、テスト制御部３１は、検査開始コマンドを論理ブロック２１に入力する。また、ＣＥＮに示されるように、Ｌ状態であったシステムイネーブル信号は、システムクロックのＴ０の立ち上がりエッジのタイミングに同期して、Ｈ状態になり、半導体集積回路１が動作可能状態になる。このとき、ＲＷＮに示されるように、テスト制御部３１から論理ブロック２１に供給されたリードライト信号はＬ状態であるので、テスト制御部３１が、論理ブロック２１を検査するための所定のデータが論理ブロック２１のレジスタに書き込まれる。
【００５４】
したがって、システムクロックのＴ０の立ち下がりエッジのタイミングに同期して、テスト制御部３１から検索コマンドが入力されたことにより、論理ブロック２１は、検査動作を開始すると判断して、高速シーケンサ２２およびセレクタ２３に、検査処理を実行させる。
【００５５】
高速シーケンサ２２は、論理ブロック２１の制御に基づいて、検索キーデータを生成し、検査開始コマンドが入力された次のクロックであるＴ１の立ち上がりエッジのタイミングから、検索タイミング信号と検索キーデータを、セレクタ２３を介して、ＣＡＭブロック１１に供給する。そして、高速シーケンサ２２は、システムクロックのＴ１以降のクロックの立ち下がりエッジのタイミングに同期して、検索タイミング信号をＨ状態からＬ状態になるように制御する。
【００５６】
これにより、ＳＲＣＨに示されるように、ＣＡＭブロック１１は、検索タイミング信号の立ち下がりエッジのタイミングｂ−１、ｂ−２、ｂ−３、・・・に検索動作を開始する。すなわち、ＣＡＭブロック１１は、高速シーケンサ２２からの検索タイミング信号に基づいて、連続して検索動作を実行する。これにより、検索が開始されたシステムクロックＴ２の立ち上がりエッジから、半導体集積回路１内部の電源電圧は降下し、ノイズが一番激しい状況が実現される。
【００５７】
一方、テスト制御部３１は、ＣＮＴＬに示されるように、検査開始コマンドを論理ブロック２１のレジスタに書き込んだタイミング（Ｔ０の立ち下がりエッジ）の次のシステムクロックのＴ１の立ち下がりエッジのタイミングから、クロックごとに、リードコマンドを論理ブロック２１に入力する。すなわち、システムクロックのＴ１の立ち下がりエッジのタイミングにおいては、リードコマンド０が入力され、ＣＥＮに示されるように、Ｌ状態であったシステムイネーブル信号は、システムクロックのＴ１の立ち上がりエッジのタイミングに同期して、Ｈ状態になり、半導体集積回路１が動作可能状態になる。このとき、ＲＷＮに示されるように、テスト制御部３１から論理ブロック２１に供給されたリードライト信号は、Ｈ状態であるので、論理ブロック２１は、ＤＡＴに示されるように、リードコマンド０が入力されたＴ１の立ち下がりエッジのタイミングから４クロック遅延した後のＴ５の立ち上がりエッジのタイミングに同期して、リードコマンド０に対応するデータ０をレジスタから読み出し、データバス４１を介して、テスト制御部３１に出力する。
【００５８】
同様に、システムクロックのＴ２の立ち下がりエッジのタイミングにおいては、リードコマンド１が入力され、ＣＥＮに示されるように、Ｌ状態であったシステムイネーブル信号は、システムクロックのＴ２の立ち上がりエッジのタイミングに同期して、Ｈ状態になり、半導体集積回路１が動作可能状態になる。このとき、ＲＷＮに示されるように、テスト制御部３１から論理ブロック２１に供給されたリードライト信号は、Ｈ状態であるので、論理ブロック２１は、ＤＡＴに示されるように、リードコマンド１が入力されてから４クロック後のＴ６の立ち上がりエッジのタイミングに同期して、リードコマンド１に対応するデータ１をレジスタから読み出し、データバス４１を介して、テスト制御部３１に出力する。
【００５９】
以降のタイミングにおいても、論理ブロック２１は、システム制御部３１からのリードコマンドに対応したデータを、リードコマンドが入力されてから４クロック後にシステム制御部３１に出力する処理を繰り返す。
【００６０】
以上のように、高速シーケンサ２２により、ＣＡＭブロック１１を連続動作させることにより、電源などの状況が最も悪い状態で、論理ブロック２１を動作させ、論理ブロック２１の状態を検査することができる。したがって、このときに、テスト制御部３１に出力されるデータを検証することにより、そのデータが不安定であるなど、論理ブロック２１が正常に動作していない場合には、論理ブロック２１側に、電源ラインなどの問題により、影響がでていることが判明し、その影響に対する対策を取ることができる。
【００６１】
一方、電源などの状況が最も悪い状態で、論理ブロック２１を動作させても、論理ブロック２１が正常に動作している場合は、ＣＡＭブロック１１側に問題があることが判明するので、それに対する対策を打つことができる。
【００６２】
なお、上述した耐ノイズ性の検査動作においては、システムクロックのＴ０の立ち下がりエッジのタイミングに同期して、論理ブロック２１のレジスタに所定のデータを書き込むようにし、その後、その所定のデータを読み出して、検査するようにしたが、論理ブロック２１のレジスタにデータを書き込むコントロール信号と論理ブロック２１のレジスタからデータを読み出すコントロール信号を交互に出力して、耐ノイズ性の検査を行うようにしてもよい。
【００６３】
次に、図７のフローチャートを参照して、半導体集積回路１の処理について説明する。
【００６４】
テスト制御部３１は、論理ブロック２１に、コントロール信号、システムイネーブル信号、およびリードライト信号などを入力するとともに、データバス４１を介して、データを論理ブロック２１に入力する。
【００６５】
論理ブロック２１は、テスト制御部３１からコントロール信号が入力されると、ステップＳ１において、テスト制御部３１から入力されたコントロール信号が、検索コマンドであるか否かを判断し、テスト制御部３１から入力されたコントロール信号が、検索コマンドであると判断した場合、ステップＳ２に進み、ＣＡＭブロック１１の検索処理を実行する。このＣＡＭブロック１１の検索処理を、図８のフローチャートを参照して説明する。
【００６６】
論理ブロック２１は、ステップＳ２１において、テスト制御部３１からの検索キーデータ、検索タイミング信号およびマスク信号などを、セレクタ２３を介して、ＣＡＭブロック１１に出力し、ステップＳ２２に進む。
【００６７】
ＣＡＭブロック１１は、ステップＳ２２において、テスト制御部３１からのシステムクロックに同期して、論理ブロック２１からの検索キーデータを入力し、論理ブロック２１からの検索タイミング信号およびマスク信号に基づいて、検索キーデータを、ＣＡＭブロック１１に予め登録されているデータの中から検索し、ステップＳ２３に進む。
【００６８】
ＣＡＭブロック１１は、ステップＳ２３において、入力された検索キーデータに一致するデータが、ＣＡＭブロック１１にあった場合、検索結果データであるヒット信号、マルチヒット信号およびヒットアドレス信号を、内部バス４２を介して、論理ブロック２１に出力し、ステップＳ２４に進む。
【００６９】
ステップＳ２４において、論理ブロック２１は、ＣＡＭブロック１１からの検索結果データを、データバス４３を介して、図示せぬ外部回路へ出力し、処理を終了し、図７のステップＳ３に戻る。以上のようにして、半導体集積回路１の検索処理が終了する。
【００７０】
一方、図７のステップＳ１において、テスト制御部３１から入力されたコントロール信号が、検索コマンドではないと判断された場合、ステップＳ２の処理はスキップされ、ステップＳ３に進む。
【００７１】
論理ブロック２１は、ステップＳ３において、テスト制御部３１から入力されたコントロール信号が、エントリコマンドであるか否かを判断する。ステップＳ６において、テスト制御部３１から入力されたコントロール信号が、エントリコマンドであると判断された場合、論理ブロック２１は、ステップＳ４に進み、テスト制御部３１からのデータを、セレクタ２３を介して、ＣＡＭブロック１１に出力し、ステップＳ５に進む。
【００７２】
ＣＡＭブロック１１は、ステップＳ５において、テスト制御部３１からのシステムクロックに同期して、論理ブロック２１からのデータを入力し、ＣＡＭブロック１１の空きアドレスに、そのデータを登録し、ステップＳ６に進む。一方、ステップＳ３において、テスト制御部３１から入力されたコントロール信号が、エントリコマンドではないと判断された場合、ステップＳ４およびＳ５の処理はスキップされ、論理ブロック２１は、ステップＳ６に進む。
【００７３】
ステップＳ６において、論理ブロック２１は、テスト制御部３１から入力されたコントロール信号が、検査開始コマンドであるか否かを判断し、テスト制御部３１から入力されたコントロール信号が、検査開始コマンドであると判断した場合、論理ブロック２１は、ステップＳ７に進み、耐ノイズ性の検査処理を開始する。この耐ノイズ性の検査処理を、図９のフローチャートを参照して説明する。なお、テスト制御部３１は、検査開始コマンドを入力する場合、同時に、論理ブロック２１が内蔵するレジスタに所定のデータを書き込んでいる。
【００７４】
ステップＳ４１において、論理ブロック２１は、半導体集積回路１を検査モードに設定し、ステップＳ４２に進む。すなわち、論理ブロック２１は、セレクタ２３に、高速シーケンサ２２からのデータを選択させる制御を実行する。また、論理ブロック２１は、検索の間隔の指示、検索対象となるＣＡＭブロック１１の指示、検索キーデータの内容の指示およびＣＡＭブロック１１のマスク機能の指示を、高速シーケンサ２２に供給し、それに基づいてＣＡＭブロック１１を検索させる制御を実行する。
【００７５】
高速シーケンサ２２は、ステップＳ４３において、論理ブロック２１からの制御に基づいて、検索キーデータの内容の指示に基づいた検索キーデータを生成し、ステップＳ４４に進む。そして、高速シーケンサ２２は、ステップＳ４４において、生成された検索キーデータ、マスク信号および検索タイミング信号を、セレクタ２３を介して、検索対象となるＣＡＭブロック１１に出力し、ステップＳ４５に進む。
【００７６】
ステップＳ４５において、ＣＡＭブロック１１は、高速シーケンサ２２からの検索タイミング信号に基づいて、連続で、高速シーケンサ２２からの検索キーデータを、ＣＡＭブロック１１に予め登録されているデータの中から検索する。
【００７７】
一方で、テスト制御部３１は、検査開始コマンドであるコントロール信号を、論理ブロック２１に出力してから、１クロックごとに、リードコマンドであるコントロール信号を論理ブロック２１に出力している。
【００７８】
これに対応して、論理ブロック２１は、ステップＳ４６において、テスト制御部３１により検査開始コマンドであるコントロール信号と同時にレジスタに書き込まれた所定のデータを読み出し、データバス４１を介して、テスト制御部３１に出力する。これにより、テスト制御部３１において、論理ブロック２１のレジスタのデータを評価し、論理ブロック２１の状態を検査することができる。
【００７９】
なお、ステップＳ４５およびＳ４６の処理は、並列で連続で実行される処理であり、テスト制御部３１から耐ノイズ性検査終了コマンドであるコントロール信号が論理ブロック２１に入力され、ステップＳ４７において、論理ブロック２１が検査処理を終了すると判断するまで、連続して繰り返し続けられる。
【００８０】
ステップＳ４７において、検査処理を終了すると判断された場合、図７のステップＳ１に戻り、以降の処理を繰り返す。
【００８１】
以上のように、高速シーケンサ２２により、ＣＡＭブロック１１を連続的に検索動作させることにより、半導体集積回路１において、ノイズが一番激しい状態、すなわち、電源などの条件が一番悪い状態において、論理ブロック２１を動作させ、論理ブロック２１を検査することができる。
【００８２】
したがって、ＣＡＭブロック１１に対して検索動作をさせずに、論理ブロック２１を動作させて、正常であることが確認された場合において、半導体集積回路１内部のＣＡＭブロック１１自体の回路が不安定であるのか、または、ＣＡＭブロック１１自体の動作は正常であるが、論理ブロック２１がＣＡＭブロック１１が動作したときのノイズによって誤動作しているのかの原因を明確にすることができる。すなわち、耐ノイズ性の検査において、上述したＣＡＭブロック１１を連続動作させているときに論理ブロック２１を検査する検査を、ＣＡＭブロック１１と論理ブロック２１の両方の検査、論理ブロック２１のみを動作させる検査などと併用することにより、半導体集積回路１の不良原因の特定を明確にすることができる。これにより、原因に応じた対応を早々に打つことができる。
【００８３】
さらに、検査処理において、ＣＡＭブロック１１の検索条件を変えることにより、ＣＡＭブロック１１が各検索条件のもとで動作したことによる影響も検査することができる。例えば、検索の間隔を変えることにより、ＣＡＭブロック１１の消費電力を変更して検査することができる。検索動作の対象となるＣＡＭブロック１１を指定することにより、論理ブロック２１からの物理的な位置に対する影響を検査することができる。検索キーデータの内容（ビット依存）による影響を検査することができる。さらに、マスク機能の設定を変更することにより、そのマスク機能に対する影響を検査することができる。これらの検査により、さらなる不具合の原因を明確にすることができる。
【００８４】
なお、本明細書において、フローチャートに示されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８５】
【発明の効果】
以上の如く、本発明によれば、電源ノイズの影響による不良の原因を明確に切り分けることができる。
【図面の簡単な説明】
【図１】従来の半導体集積回路の検査方法を説明するである。
【図２】本発明を適用した半導体集積回路の構成例を示すブロック図である。
【図３】図２の半導体集積回路の詳細な構成例を示すブロック図である。
【図４】図３のＣＡＭブロックのマスク機能を説明する図である。
【図５】図２の半導体集積回路の検索動作を説明するタイミングチャートである。
【図６】図２の半導体集積回路の検査動作を説明するタイミングチャートである。
【図７】図２の半導体集積回路の処理を説明するフローチャートである。
【図８】図７のステップＳ２のＣＡＭブロックの検索処理を説明するフローチャートである。
【図９】図７のステップＳ７の耐ノイズ性の検査処理を説明するフローチャートである。
【符号の説明】
１  半導体集積回路，１１−１乃至１１−８  ＣＡＭブロック，１２  小電力消費ブロック，２１  論理ブロック，２２  セレクタ，２３  高速シーケンサ，３１  テスト制御部，４１  データバス，４２  内部バス，４３  データバス
【図１】
2004309281.tif 000003
【図２】
2004309281.tif 000004
【図３】
2004309281.tif 000005
【図４】
2004309281.tif 000006
【図５】
2004309281.tif 000007
【図６】
2004309281.tif 000008
【図７】
2004309281.tif 000009
【図８】
2004309281.tif 000010
【図９】
2004309281.tif 000011