(57)【要約】【課題】故障診断に要する時間を短縮し、かつ実速度で故障診断が可能な半導体集積回路を提供する。【解決手段】フラグ信号が与えられるとその時の出力を維持する第１の取り込みレジスタ、第１の取り込みレジスタからの出力を保存しフラグ信号が与えられた時点における保存内容をシフト出力する保存レジスタ、第１の取り込みレジスタの出力と保存レジスタの保存内容とを比較しフラグ信号が一旦与えられた後第１の取り込みレジスタからの出力と保存レジスタからの出力に基づいてフラグを抑制するフラグ抑制手段を含む診断データ保存回路を含むＢＩＳＴ回路、メモリセル、メモリセルの出力を取り込みフラグ信号が与えられるとその時の保持内容を維持する第２の取り込みレジスタ、第２の取り込みレジスタの出力と期待値を比較し不一致の場合に比較結果信号を出力する比較回路、フラグが抑制されない間比較結果信号に基づきフラグ信号を出力するフラグレジスタを含むメモリカラーを備える。【選択図】図１
2008016156.tif 000002
【特許請求の範囲】
【請求項１】
メモリに与える書き込みデータを生成して出力するデータ生成器と、
前記メモリに与えるアドレス信号を生成して出力するアドレス生成器と、
前記メモリを制御する制御信号を生成して出力する制御信号生成器と、
フラグ信号を与えられて組み込み自己テスト（以下、ＢＩＳＴという）の結果を解析し、ＢＩＳＴ結果信号を出力する結果解析器と、
前記データ生成器、前記アドレス生成器、前記制御信号生成器、前記結果解析器の動作をそれぞれ制御し、またＢＩＳＴの状態を示すＢＩＳＴ状態信号を出力するＢＩＳＴ制御回路と、
前記フラグ信号が与えられない間は、第１のクロックに従って、前記ＢＩＳＴ制御回路から出力された最新の前記アドレス信号と前記ＢＩＳＴ状態信号とを取り込んで出力し、前記フラグ信号が与えられるとその時点における出力を維持する第１の取り込みレジスタと、前記第１のクロックより低速な第２のクロックに従い、シフトイネーブル信号が与えられない間は、前記取り込みレジスタからの出力を与えられて保存することで、前記フラグ信号が与えられた時点における前記アドレス信号と前記ＢＩＳＴ状態信号とを保存し、前記シフトイネーブル信号が与えられると、保存内容を外部にシフト出力する保存レジスタと、前記第１の取り込みレジスタからの出力と前記保存レジスタの保存内容とを比較することで、前記フラグ信号が一旦与えられた後、前記第１の取り込みレジスタから出力された前記最新の前記アドレス信号と前記ＢＩＳＴ状態信号とが前記保存レジスタに保存された前記アドレス信号と前記ＢＩＳＴ制御信号とに一致するまでの間、フラグ抑制信号を出力するフラグ抑制手段とを含む診断データ保存回路と、
を有するＢＩＳＴ回路と、
前記第１のクロックに従い、前記書き込みデータ、前記アドレス信号、前記制御信号を与えられて書き込み動作を行い、書き込んだデータを読み出して出力するメモリセルと、
シフトイネーブル信号が与えられずかつ前記フラグ信号が与えられない間は、前記メモリセルから出力された最新のデータを与えられて取り込み、前記フラグ信号が与えられるとその時点における保持内容を維持し、前記シフトイネーブル信号が与えられるとその時点での保持内容を外部にシフト出力する第２の取り込みレジスタと、
前記第２の取り込みレジスタからの出力と期待値とを比較し、不一致の場合にフェイル検出を意味する比較結果信号を出力する比較回路と、
前記フラグ抑制信号が与えられない間は、前記比較結果信号に基づいて前記フラグ信号を出力し、前記フラグ抑制信号が与えられると前記フラグ信号の出力が抑制されるフラグレジスタと、
を有するメモリカラーと、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記ＢＩＳＴ制御回路は、
前記フラグ信号が前記フラグレジスタから出力されるとＢＩＳＴを中断し、この中断時点より遡る再開時点からＢＩＳＴを再開することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記ＢＩＳＴ制御回路は、
前記中断時点から前記再開時点までの前記メモリに書き込まれたデータが、ＢＩＳＴが前記再開時点から前記中断時点まで実行されたことによってＢＩＳＴの実行前と異なるデータに書き換えられている場合は、ＢＩＳＴの実行前と同じデータに書き戻した後、前記再開時点からＢＩＳＴを再開することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記メモリセルが複数設けられている場合、前記メモリカラーが各メモリセル毎に対応して複数設けられており、
前記メモリカラーにおける前記第２の取り込みレジスタが相互にシリアルに接続されており、シフトイネーブル信号が与えられると、前記第２の取り込みレジスタにそれぞれ保持された内容が外部にシリアルにシフト出力されることを特徴とする請求項１乃至３のいずれか一に記載の半導体集積回路。
【請求項５】
動作設定データが与えられ、当該ＢＩＳＴ回路がＢＩＳＴ対象であるか否か、前記メモリがＢＩＳＴ対象であるか否かを少なくとも設定するＢＩＳＴ動作設定レジスタと、
メモリに与える書き込みデータを生成して出力するデータ生成器と、
前記メモリに与えるアドレス信号を生成して出力するアドレス生成器と、
前記メモリを制御する制御信号を生成して出力する制御信号生成器と、
フラグ信号を与えられてＢＩＳＴの結果を解析し、ＢＩＳＴ結果信号を出力する結果解析器と、
前記データ生成器、前記アドレス生成器、前記制御信号生成器、前記結果解析器の動作をそれぞれ制御し、またＢＩＳＴの状態を示すＢＩＳＴ状態信号を出力するＢＩＳＴ制御回路と、
前記フラグ信号が与えられない間は、第１のクロックに従って、前記ＢＩＳＴ制御回路から出力された最新の前記アドレス信号と前記ＢＩＳＴ状態信号とを取り込んで出力し、前記フラグ信号が与えられるとその時点における出力を維持する第１の取り込みレジスタと、前記第１のクロックより低速な第２のクロックに従い、シフトイネーブル信号が与えられない間は、前記取り込みレジスタからの出力を与えられて保存することで、前記フラグ信号が与えられた時点における前記アドレス信号と前記ＢＩＳＴ状態信号とを保存し、前記シフトイネーブル信号が与えられると、保存内容を外部にシフト出力する保存レジスタと、前記第１の取り込みレジスタからの出力と前記保存レジスタの保存内容とを比較することで、前記フラグ信号が一旦与えられた後、前記第１の取り込みレジスタから出力された前記最新の前記アドレス信号と前記ＢＩＳＴ状態信号とが前記保存レジスタに保存された前記アドレス信号と前記ＢＩＳＴ制御信号とに一致するまでの間、フラグ抑制信号を出力するフラグ抑制手段とを含む診断データ保存回路と、
前記ＢＩＳＴ動作設定レジスタに設定された内容に従って、前記保存レジスタの保存内容、あるいは入力信号のいずれかを切り替えて出力する第１のマルチプレクサと、
を有し、それぞれの前記第１のマルチプレクサが相互にシリアルに接続された複数のＢＩＳＴ回路と、
前記第１のクロックに従い、前記書き込みデータ、前記アドレス信号、前記制御信号を与えられて書き込み動作を行い、書き込んだデータを読み出して出力するメモリセルと、
シフトイネーブル信号が与えられずかつ前記フラグ信号が与えられない間は、前記メモリセルから出力された最新のデータを与えられて取り込み、前記フラグ信号が与えられるとその時点における保持内容を維持し、前記シフトイネーブル信号が与えられるとその時点での保持内容を外部にシフト出力する第２の取り込みレジスタと、
前記第２の取り込みレジスタからの出力と期待値とを比較し、不一致の場合にフェイル検出を意味する比較結果信号を出力する比較回路と、
前記フラグ抑制信号が与えられない間は、前記比較結果信号に基づいて前記フラグ信号を出力し、前記フラグ抑制信号が与えられると前記フラグ信号の出力が抑制されるフラグレジスタと、
前記ＢＩＳＴ動作設定レジスタに設定された内容に従って、前記第２の取り込みレジスタの保持内容、あるいは前記フラグレジスタからの出力のいずれかを切り替えて出力する第２のマルチプレクサと、
を有し、それぞれの前記第２のマルチプレクサが相互にシリアルに接続された複数のメモリカラーと、
を備えることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に係わり、特にメモリの組み込み自己テスト回路が組み込まれ、この回路を用いて故障診断動作を行う半導体集積回路に好適なものに関する。
【背景技術】
【０００２】
メモリを含む半導体集積回路において、組み込み自己テスト（Built-In Self Test、以下、ＢＩＳＴという）回路を組み込み、ＢＩＳＴ回路を用いてＢＩＳＴを行って不良のチップを検出し、次にＢＩＳＴ回路を用いて該不良チップに故障診断を行ってメモリの不良箇所の候補を抽出する手法が用いられている。
【０００３】
ＢＩＳＴ回路には、書き込みデータと同一の期待値と、メモリから読み出したデータとの比較を行い、故障の有無を判別する比較器型ＢＩＳＴ回路や、メモリから読み出されたデータをＢＩＳＴ回路内で圧縮し、圧縮した結果を用いて故障の有無を判別する圧縮器型ＢＩＳＴ回路等がある。
【０００４】
先ず、比較器型ＢＩＳＴ回路を有する従来の半導体集積回路におけるＢＩＳＴ動作について述べる。
【０００５】
ＢＩＳＴ回路内のＢＩＳＴ制御回路が、データ生成器、アドレス生成器、制御信号生成器を制御する。ＢＩＳＴ対象となるメモリは、メモリカラーと呼ばれるブロック内にＢＩＳＴ動作に必要な各論理要素とともに含まれている。
【０００６】
データ生成器から生成された書き込みデータ、アドレス生成器から生成されたアドレスデータ、制御信号生成器から生成された制御信号がそれぞれ、メモリに与えられる。
【０００７】
メモリから出力されたデータは、メモリの出力側に配置された取り込みレジスタに一旦保持される。取り込みレジスタからの出力が、データ生成器から生成されたデータ期待値と比較器によって比較され、比較結果がフラグレジスタに保持される。フラグレジスタからの出力がＢＩＳＴ回路内の結果解析器に入力され、最終的なＢＩＳＴ結果が出力される。
【０００８】
一つのＢＩＳＴ回路で複数のメモリにＢＩＳＴを行っている場合は、それぞれのフラグデータが結果解析器に入力され、全体的なＢＩＳＴによる良否判定が行われた後、最終的なＢＩＳＴ結果が出力される。
【０００９】
次に、圧縮器型メモリＢＩＳＴ回路を有する従来の半導体集積回路におけるＢＩＳＴ動作について述べる。
【００１０】
比較器型メモリＢＩＳＴ回路を有する半導体集積回路の場合と同様に、ＢＩＳＴ回路内のＢＩＳＴ制御回路が、データ生成器、アドレス生成器、制御信号生成器の動作を制御する。ＢＩＳＴ対象となるメモリはメモリカラーに含まれる。
【００１１】
データ生成器から生成された書き込みデータ、アドレス生成器から生成されたアドレスデータ、制御信号生成器から生成された制御信号がメモリに与えられ、メモリからの出力が圧縮器に入力されて順次圧縮されてゆく。
【００１２】
ここで圧縮機の構造としては、後述する非特許文献１に記載されたものがある。一般には、リニアフィードバックシフトレジスタの変形であるＭＩＳＲ（Multiple Input Signature Register）が用いられている。
【００１３】
ＢＩＳＴ終了時に、圧縮器に保存されている値がＢＩＳＴ結果として予め計算された期待値と比較され、メモリの良否が判定される。
【００１４】
また、メモリにおける故障箇所の候補を抽出するためＢＩＳＴ回路を用いて故障診断を行う際には、複数のメモリからの出力データを順次シリアルに外部に取り出して外部テスト装置により観測する。
【００１５】
上述の比較器型ＢＩＳＴ回路を用いる場合には、各メモリカラー内にあるメモリの出力を取り込む取り込みレジスタと、各メモリカラー内の比較器からの出力とをそれぞれ受けるフラグレジスタとを全てシリアルに接続する。そしてこれらと、それぞれのＢＩＳＴ回路内にあるアドレス生成回路からのアドレスを与えられるアドレスレジスタと、全体のフラグレジスタとを全てシリアルに接続し、全体で一本の循環的なシフトパスを形成する。
【００１６】
故障診断時にこのシフトパスを使用し、読出しのタイミングに従ってそれぞれのレジスタの値をシフト出力する。シフトパスが循環的に形成されているため、シフト出力終了後にＢＩＳＴ動作中断時の状態に復帰することができる。
【００１７】
そして、ＢＩＳＴを再開し、再び次の読出しタイミングでレジスタの値をシフト出力する。このようなＢＩＳＴ動作の中断、シフト出力、ＢＩＳＴ動作の再開を繰り返すことにより、メモリ内部の状態を読み出すことが可能となる。得られた結果に基づいて、メモリのセルアレイ内の故障ビット位置を示すフェイルビットマップを作成し、故障解析を行う。
【００１８】
しかし、このような従来の手法では全てのＢＩＳＴ結果をシリアルに読み出していく必要があるため、故障診断対象でないメモリからの出力もシフト出力しなくてはならない。よって、一つのＢＩＳＴ回路でＢＩＳＴを行うメモリの数が多い場合には、ＢＩＳＴ時間が非常に長くなる。
【００１９】
さらにＢＩＳＴ結果をシフト出力した際に、シフト出力の観測と期待値との比較を外部テスト装置を用いて行わなければならない。このため、半導体集積回路の実動作での動作速度より遅い外部テスト装置の動作速度により制約を受けることになる。従って、半導体集積回路の実速度で故障診断を行うことが困難であり、実速度で故障診断を行った場合に限り検出可能な故障候補を検出することができなかった。
【００２０】
以下に、リニアフィードバックシフトレジスタの変形であるＭＩＳＲを開示した文献名を記載する。
【非特許文献１】Built-In Test for VLSI: Pseudo Random Techniques, Paul H. Bardell, William H. McAnney and Jacob Savir, John Wiley & Sons, 1987
【発明の開示】
【発明が解決しようとする課題】
【００２１】
本発明は、故障診断対象であるメモリのみから読み出したデータを取り出すことで故障診断時間を短縮し、かつ実速度で故障診断が可能な半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の一態様による半導体集積回路は、メモリに与える書き込みデータを生成して出力するデータ生成器と、前記メモリに与えるアドレス信号を生成して出力するアドレス生成器と、前記メモリを制御する制御信号を生成して出力する制御信号生成器と、フラグ信号を与えられてＢＩＳＴの結果を解析し、ＢＩＳＴ結果信号を出力する結果解析器と、前記データ生成器、前記アドレス生成器、前記制御信号生成器、前記結果解析器の動作をそれぞれ制御し、またＢＩＳＴの状態を示すＢＩＳＴ状態信号を出力するＢＩＳＴ制御回路と、前記フラグ信号が与えられない間は、第１のクロックに従って、前記ＢＩＳＴ制御回路から出力された最新の前記アドレス信号と前記ＢＩＳＴ状態信号とを取り込んで出力し、前記フラグ信号が与えられるとその時点における出力を維持する第１の取り込みレジスタと、前記第１のクロックより低速な第２のクロックに従い、シフトイネーブル信号が与えられない間は、前記取り込みレジスタからの出力を与えられて保存することで、前記フラグ信号が与えられた時点における前記アドレス信号と前記ＢＩＳＴ状態信号とを保存し、前記シフトイネーブル信号が与えられると、保存内容を外部にシフト出力する保存レジスタと、前記第１の取り込みレジスタからの出力と前記保存レジスタの保存内容とを比較することで、前記フラグ信号が一旦与えられた後、前記第１の取り込みレジスタから出力された前記最新の前記アドレス信号と前記ＢＩＳＴ状態信号とが前記保存レジスタに保存された前記アドレス信号と前記ＢＩＳＴ制御信号とに一致するまでの間、フラグ抑制信号を出力するフラグ抑制手段とを含む診断データ保存回路とを有するＢＩＳＴ回路と、前記第１のクロックに従い、前記書き込みデータ、前記アドレス信号、前記制御信号を与えられて書き込み動作を行い、書き込んだデータを読み出して出力するメモリセルと、シフトイネーブル信号が与えられずかつ前記フラグ信号が与えられない間は、前記メモリセルから出力された最新のデータを与えられて取り込み、前記フラグ信号が与えられるとその時点における保持内容を維持し、前記シフトイネーブル信号が与えられるとその時点での保持内容を外部にシフト出力する第２の取り込みレジスタと、前記第２の取り込みレジスタからの出力と期待値とを比較し、不一致の場合にフェイル検出を意味する比較結果信号を出力する比較回路と、前記フラグ抑制信号が与えられない間は、前記比較結果信号に基づいて前記フラグ信号を出力し、前記フラグ抑制信号が与えられると前記フラグ信号の出力が抑制されるフラグレジスタとを有するメモリカラーとを備えることを特徴とする。
【００２３】
また本発明の一態様による半導体集積回路は、動作設定データが与えられ、当該ＢＩＳＴ回路がＢＩＳＴ対象であるか否か、前記メモリがＢＩＳＴ対象であるか否かを少なくとも設定するＢＩＳＴ動作設定レジスタと、メモリに与える書き込みデータを生成して出力するデータ生成器と、前記メモリに与えるアドレス信号を生成して出力するアドレス生成器と、前記メモリを制御する制御信号を生成して出力する制御信号生成器と、フラグ信号を与えられてＢＩＳＴの結果を解析し、ＢＩＳＴ結果信号を出力する結果解析器と、前記データ生成器、前記アドレス生成器、前記制御信号生成器、前記結果解析器の動作をそれぞれ制御し、またＢＩＳＴの状態を示すＢＩＳＴ状態信号を出力するＢＩＳＴ制御回路と、前記フラグ信号が与えられない間は、第１のクロックに従って、前記ＢＩＳＴ制御回路から出力された最新の前記アドレス信号と前記ＢＩＳＴ状態信号とを取り込んで出力し、前記フラグ信号が与えられるとその時点における出力を維持する第１の取り込みレジスタと、前記第１のクロックより低速な第２のクロックに従い、シフトイネーブル信号が与えられない間は、前記取り込みレジスタからの出力を与えられて保存することで、前記フラグ信号が与えられた時点における前記アドレス信号と前記ＢＩＳＴ状態信号とを保存し、前記シフトイネーブル信号が与えられると、保存内容を外部にシフト出力する保存レジスタと、前記第１の取り込みレジスタからの出力と前記保存レジスタの保存内容とを比較することで、前記フラグ信号が一旦与えられた後、前記第１の取り込みレジスタから出力された前記最新の前記アドレス信号と前記ＢＩＳＴ状態信号とが前記保存レジスタに保存された前記アドレス信号と前記ＢＩＳＴ制御信号とに一致するまでの間、フラグ抑制信号を出力するフラグ抑制手段とを含む診断データ保存回路と、前記ＢＩＳＴ動作設定レジスタに設定された内容に従って、前記保存レジスタの保存内容、あるいは入力信号のいずれかを切り替えて出力する第１のマルチプレクサと、を有し、それぞれの前記第１のマルチプレクサが相互にシリアルに接続された複数のＢＩＳＴ回路と、前記第１のクロックに従い、前記書き込みデータ、前記アドレス信号、前記制御信号を与えられて書き込み動作を行い、書き込んだデータを読み出して出力するメモリセルと、シフトイネーブル信号が与えられずかつ前記フラグ信号が与えられない間は、前記メモリセルから出力された最新のデータを与えられて取り込み、前記フラグ信号が与えられるとその時点における保持内容を維持し、前記シフトイネーブル信号が与えられるとその時点での保持内容を外部にシフト出力する第２の取り込みレジスタと、前記第２の取り込みレジスタからの出力と期待値とを比較し、不一致の場合にフェイル検出を意味する比較結果信号を出力する比較回路と、前記フラグ抑制信号が与えられない間は、前記比較結果信号に基づいて前記フラグ信号を出力し、前記フラグ抑制信号が与えられると前記フラグ信号の出力が抑制されるフラグレジスタと、前記ＢＩＳＴ動作設定レジスタに設定された内容に従って、前記第２の取り込みレジスタの保持内容、あるいは前記フラグレジスタからの出力のいずれかを切り替えて出力する第２のマルチプレクサとを有し、それぞれの前記第２のマルチプレクサが相互にシリアルに接続された複数のメモリカラーとを備えることを特徴とする。
【発明の効果】
【００２４】
本発明の半導体集積回路によれば、故障診断時間の短縮、及び実速度での故障診断が可能である。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について図面を参照して説明する。
【００２６】
（１）実施の形態１
図１に、本発明の実施の形態１による半導体集積回路の構成を示す。
【００２７】
この半導体集積回路は、ＢＩＳＴ回路４００及びメモリカラー４１６を備え、ＢＩＳＴ回路４００がＢＩＳＴ制御回路４０１、データ生成器４０２、アドレス生成器４０３、制御信号生成器４０４、結果解析器４０５、診断データ保存回路４０６を有する。ここで本実施の形態１は、ＢＩＳＴ回路４００が診断データ保存回路４０６を備える点に特徴がある。
【００２８】
一方、ＢＩＳＴ対象となるメモリセル４１７はメモリカラー４１６と呼ばれるブロックに、ＢＩＳＴ動作に必要な要素であるマルチプレクサ４１９、取り込みレジスタ４１８、マルチプレクサ１０１、比較回路４２０、ＡＮＤ回路４２１、フラグレジスタ４２２、ＯＲ回路４２３とともに含まれる。
【００２９】
ＢＩＳＴ回路４００において、ＢＩＳＴ制御回路４０１、データ生成器４０２、アドレス生成器４０３、制御信号生成器４０４、結果解析器４０５、診断データ保存回路４０６に高速クロック４１０が入力される。
【００３０】
ＢＩＳＴ制御回路４０１が、データ生成器４０２、アドレス生成器４０３、制御信号生成器４０４、結果解析器４０５、診断データ保存回路４０６の動作を制御するため必要な制御信号を順次生成させ、それぞれに与える。
【００３１】
データ生成器４０２から生成された書き込みデータ１０９、アドレス生成器４０３から生成されたアドレスデータ１０８、制御信号生成器４０４から生成されたメモリ制御信号１０７が、それぞれメモリセル４１７に与えられる。
【００３２】
メモリカラー４１６において、高速クロック４１０が、メモリセル４１７、マルチプレクサ１０１、フラグレジスタ４２２に与えられる。マルチプレクサ１０１には、低速クロック４１１も与えられる。
【００３３】
書き込みデータ１０９、アドレスデータ１０８、メモリ制御信号１０７がメモリセル４１７に与えられて、データが書き込まれる。メモリセル４１７から読み出されたデータは、マルチプレクサ４１９を介して一旦取り込みレジスタ４１８に入力される。
【００３４】
ここでマルチプレクサ４１９には、メモリセル４１７からの出力とともに取り込みレジスタ４１８からの出力も与えられ、ＯＲ回路４２３から出力された、フェイルの検出を意味するフラグ信号４０９によって出力の切替が行われる。フェイルが検出されるまでの間はフラグ信号４０９は論理「０」であり、マルチプレクサ４１９からはメモリセル４１７からの出力がそのまま出力される。一旦フェイルが検出されて論理「１」のフラグ信号４０９がマルチプレクサ４１９に与えられると、取り込みレジスタ４１８からの出力が選択されて出力される。これにより、取り込みレジスタ４１８は同じ出力を維持することになる。
【００３５】
取り込みレジスタ４１８は、通常はマルチプレクサ１０１から高速クロック４１０を与えられ、さらに外部からシフトイネーブル信号４１３が与えられ、マルチプレクサ４１９から出力されたデータを与えられて高速クロック４１０に従って比較回路４２０に出力する。しかし、ＢＩＳＴ終了後に診断データ保存回路４０６からシフトイネーブル信号４１３が与えられると、マルチプレクサ１０１から低速クロック４１０に従って格納していたデータをシリアル出力信号４１４としてシリアルに外部へ出力する。
【００３６】
ここで、メモリカラー４１６が複数設けられ、１つのＢＩＳＴ回路４００によりＢＩＳＴ動作が制御される場合は、各取り込みレジスタ４１８がシリアルに接続され、それぞれの出力がシリアルに外部へ出力される。
【００３７】
取り込みレジスタ４１８から出力されたデータが、データ生成器４０２から生成された書き込みデータ１０９と同一のデータ期待値と、比較器４２０において比較される。一致している間は論理「０」、不一致、即ちフェイルが検出されると論理「１」の比較結果信号がＡＮＤ回路４２１を介してフラグレジスタ４２２に与えられて保持される。
【００３８】
ここで、後述するようにＢＩＳＴ開始時にはフェイルが検出されていないので、診断データ保存回路４０６からは論理「１」のフェイル抑制信号４１５がＡＮＤ回路４２１に与えられており、ＡＮＤ回路４２１からは比較回路４２０からの比較結果信号がそのまま出力される。
【００３９】
しかし、一旦フェイルが検出されＢＩＳＴをより以前の時点から再開して、このフェイル箇所に到達するまでの間は、診断データ保存回路４０６から論理「０」のフラグ抑制信号４１５が出力されて、フェイル箇所に到達するまでの間、ＡＮＤ回路４２１に入力される。これにより、ＡＮＤ回路４２１からは、比較回路４２０からの比較結果信号は出力されずに論理「０」のデータを出力し続けることになる。
【００４０】
フラグレジスタ４２２への入力信号とフラグレジスタ４２２からの出力信号とがＯＲ回路４２３に出力される。これにより、一旦フェイルが検出された後、詳細には、ＢＩＳＴ開始時におけるフェイルが検出されていない段階で比較回路４２０からフェイルの検出を意味する比較結果信号が出力された場合、あるいは一旦フェイルが検出されＢＩＳＴを再開した際に、ＡＮＤ回路４２１にフラグ抑制信号４１５が与えられてフェイルを意味する比較結果信号は出力されないが、それ以前のフェイル検出によりフラグレジスタ４２２に論理「１」のフラグが保持されている場合、ＯＲ回路４２３からはフラグ信号４０９が出力される。尚、ＢＩＳＴが再開されると、その時点でフラグレジスタ４２２は論理「０」に初期化される。
【００４１】
このフラグ信号４０９がマルチプレクサ４１９に入力されると、上述したように、マルチプレクサ４１９は取り込みレジスタ４１８からの出力を保持し続けることになる。
【００４２】
また、フラグレジスタ４２２からのフラグ信号４０９は、ＢＩＳＴ回路４００内の結果解析器４０５に入力される。
【００４３】
ひとつのＢＩＳＴ回路４００を用いて複数のメモリセルをＢＩＳＴする場合には、上述したようにメモリセル毎にメモリカラー４１６の構成を配置し、そしてそれぞれのメモリカラー４１６のフラグレジスタ４２２から出力されたフラグ信号４０９が結果解析器４０５に共通に入力される。
【００４４】
結果解析器４０５において、全体的なＢＩＳＴの良否判定が行われた上で、最終的なＢＩＳＴ結果信号４２４として外部テスト装置に出力される。
【００４５】
さらに、ＯＲ回路４２３から出力されたフラグ信号４０９は、診断データ保存回路４０６にも入力される。一旦フェイルが検出されてフラグ信号４０９が発生すると、診断データ保存回路４０６にフェイル発生という情報が与えられることになる。
【００４６】
このようにして、ＢＩＳＴ回路を用いたＢＩＳＴ動作が行われ、各メモリセル４１７に対する良否判定が行われる。
【００４７】
次に、ＢＩＳＴ回路を用いて故障診断が行われる。図２に、診断データ保存回路４０６の回路構成を詳細に示す。
【００４８】
診断データ保存回路４０６は、アドレス信号４０７、ＢＩＳＴ状態信号４０８にそれぞれ対応して、マルチプレクサ１０１Ａ及び１０１Ｂ、取り込みレジスタ５０５及び５０６、保存レジスタ５０８及び５０９、比較回路５１４及び５１５、ＡＮＤ回路５１６、ＯＲ回路５１７及び５１９、フラグ抑制信号用レジスタ５１８を有する。
【００４９】
アドレス生成器４０３が生成した現在のアドレス信号４０７と、ＢＩＳＴ制御回路４０１が出力した現在のＢＩＳＴ状態信号４０８とが、マルチプレクサ１０１Ａ、１０１Ｂを介して、高速クロック４１０に同期してそれぞれ取り込みレジスタ５０５、５０６に取り込まれる。ＢＩＳＴ状態信号４０８は、ＢＩＳＴを実行している最中において、現在ＢＩＳＴシーケンス中のどの箇所に位置しているかを示す信号である。
【００５０】
ここで、マルチプレクサ１０１Ａ、１０１Ｂには、アドレス信号４０７、ＢＩＳＴ状態信号４０８の他に、取り込みレジスタ５０５、５０６からの出力がそれぞれ与えられる。そして、フラグ信号４０９に応じていずれかの信号が選択されて、マルチプレクサ１０１Ａ、１０１Ｂから出力される。
【００５１】
フェイルが検出されず、フラグ信号４０９が論理「０」である場合は、マルチプレクサ１０１Ａ、１０１Ｂからはアドレス信号４０７とＢＩＳＴ状態信号４０８とが出力され、それぞれ取り込みレジスタ５０５、５０６に保持される。
【００５２】
一旦フェイルが検出されてフラグ信号４０９が論理「１」になると、マルチプレクサ１０１Ａ、１０１Ｂは取り込みレジスタ５０５、５０６からの出力を選択して出力することにより、取り込みレジスタ５０５、５０６は現在の保持状態を維持することになる。これにより、新たなアドレス信号４０７、ＢＩＳＴ状態信号４０８がマルチプレクサ１０１Ａ、１０１Ｂに入力された場合であっても、取り込みレジスタ５０５、５０６の内容は更新されなくなる。
【００５３】
取り込みレジスタ５０５および５０６からの出力は、同じビット幅の保存レジスタ５０８および５０９に、低速クロック４１１に同期して保存レジスタ５０８、５０９に取り込まれる。
【００５４】
ここで、保存レジスタ５０８の出力端子が保存レジスタ５０９の入力端子にシリアルに接続されている。さらに、保存レジスタ５０８の入力端子は、ＢＩＳＴ回路が複数段接続されている場合に、図示されていない前段の診断データ保存回路４０６における保存レジスタ５０９の出力端子か、ＢＩＳＴ単位で最前段の場合はシフト入力端子にシリアルに接続されており、シフト入力信号５１２が入力される。同様に、当該保存レジスタ５０９の出力端子は、図示されていない後段の診断データ保存回路４０６における保存レジスタ５０８の入力端子にシリアルに接続されており、シフト出力信号５１３が出力される。このシフト出力信号５１３は、次のグループのＢＩＳＴ回路に接続され、グループ単位で最終段の場合は、装置外部に設けられた外部テスト装置によって観測され、故障診断による故障箇所の候補が抽出される。
【００５５】
取り込みレジスタ５０５、５０６は、メモリセル４１７と同速度で動作するように高速クロック４１０に同期してデータを取り込んで保持して出力する。しかし、保存レジスタ５０８、５０９は低速クロック４１１に同期してデータを取り込んで保持し出力する。これは、保存レジスタ５０８、５０９からの出力は上述のようにシフトされて外部テスト装置により観測されるが、速度が速すぎて観測不能とならないように、メモリセル４１７より低速な外部テスト装置の動作速度に適合させるためである。
【００５６】
また、取り込みレジスタ５０５、５０６は、フェイルが発生しフラグ信号４０９が出力されるまでは、新しいデータを与えられて保持内容を更新させていく。フラグ信号４０９が出力されてマルチプレクサ１０１Ａ、１０１Ｂに与えられると、上述のように取り込みレジスタ５０５、５０６は自己の出力を保持することになる。一旦フェイルが検出され、フェイル箇所より遡った時点からＢＩＳＴを再開し、このフェイル箇所まで到達するまでのフラグが抑制されている間は、保持内容を維持していくことになる。
【００５７】
保存レジスタ５０８および５０９は、シフトイネーブル信号４１３が論理「０」である場合に、取り込みレジスタ５０５、５０６からの出力を取り込んで保持し、低速クロック４１１に同期して比較器５１４、５１５に出力する。
【００５８】
シフトイネーブル信号４１３が論理「１」になるとシフトモードに移行し、シフト入力信号５１２を与えられた保存レジスタ５０８からの出力が取り込みレジスタ５０６からシフト出力信号５１３として出力され、シフトレジスタを構成する。これにより、不良が検出されたメモリセルからのデータ出力を、ＢＩＳＴ中断後に外部テスト装置へ出力することができる。
【００５９】
ＢＩＳＴ中にフェイルが検出されてＢＩＳＴ動作が一旦停止した後、ＢＩＳＴ動作が再開されると、シフトイネーブル信号４１３は論理「０」となる。そこで、取り込みレジスタ５０５、５０６から出力されたデータが保存レジスタ５０８、５０９へ転送されて保持され、比較器５１４、５１５に出力される。
【００６０】
フェイルが検出されたこの時点では、フラグ信号４０９は論理「１」であるが、ＢＩＳＴ再開後は論理「０」へ変化する。これにより、アドレス信号４０７、ＢＩＳＴ状態信号５０３が再度マルチプレクサ１０１Ａ、１０１Ｂを介して取り込みレジスタ５０５、５０６に取り込まれて保持される。
【００６１】
そして、取り込みレジスタ５０５、５０６の保持内容が、それぞれ保存レジスタ５０８、５０９の保持内容とともに比較回路５１４、５１５に与えられて比較される。
【００６２】
双方がともに一致し、比較回路５１４、５１５の出力がともに論理「１」になったとき、即ち一旦フェイルが検出された後、フェイル箇所より遡ってＢＩＳＴを再開してからこのフェイル箇所に到達した時点で、ＡＮＤ回路５１６からの出力が論理「１」になる。ＯＲ回路５１７から論理「１」が出力されて、比較状態レジスタ（フラグ抑制信号用レジスタ）５１８からの出力値が初めて論理「１」になる。
【００６３】
保存レジスタ５０８、５０９は、フェイルが検出されるまでの間は、取り込みレジスタ５０５、５０６と同様に、新しいデータを与えられて保持内容を更新していく。しかし、一旦フェイルが検出されると、外部から入力されたシフトイネーブル信号４１３によりシフトモードに切り替わり、シフトレジスタとして動作しシフト出力信号５１３として出力されていく。これにより、保存レジスタ５０８、５０９の保持内容は破壊される。
【００６４】
この後、取り込みレジスタ５０５、５０６からの出力が１回保存レジスタ５０８、５０９に与えられて保持され、以降はこの内容を保持し続けて取り込みレジスタ５０５、５０６からの出力は取り込まない。即ち、フェイル検出時におけるアドレス信号４０７とＢＩＳＴ状態信号４０８とが保持される。
【００６５】
比較状態レジスタ５１８から出力された論理「１」は、ＯＲ回路５１９を介してフラグ抑制信号４１５として出力され、メモリカラー４１６内のＡＮＤ回路４２１へ与えられる。ここで、ＢＩＳＴ再開時には、比較状態レジスタ５１８は初期化されて論理「０」を保持し、抑制状態となる。
【００６６】
このＯＲ回路５１７、比較状態レジスタ５１８、ＯＲ回路５１９により、一旦ＡＮＤ回路５１６から論理「１」のフラグ抑制信号４１５が出力されると、その後ＯＲ回路５１９からは論理「１」の出力状態が保持される。
【００６７】
一方、メモリカラー４１６内において、比較回路４２０の出力が論理「１」になると、フラグ抑制信号４１５の論理「１」の値とともにＡＮＤ回路４２１に与えられて、論理「１」が出力される。
【００６８】
これ以降、ＯＲ素子４２３からのフラグ信号４０９が論理「１」を維持し、この値がマルチプレクサ４１９の出力切替に関する制御端子に入力される。これにより、取り込みレジスタ４１８の入力には、メモリセル４１７からの出力がマルチプレクサ４１９を介して与えられるのでなく、自己の出力がフィードバックして与えられる。これにより、取り込みレジスタ４１９は現在の値を保持する。
【００６９】
ただし、ＢＩＳＴ回路４００における診断データ保存回路４０６からのフラグ抑制信号４１５が論理「０」の間は、ＡＮＤ回路４２１の出力が論理「０」となり、フラグレジスタ４２２への入力が論理「０」を維持する。このため、メモリセル４１７の出力に不良があった場合にも、フラグレジスタ４２２への入力が論理「１」にはならないので、取り込みは抑制されずＢＩＳＴ実行が継続される。
【００７０】
これにより、フェイルが複数回検出され、その都度ＢＩＳＴを中断し各フェイル箇所より以前まで遡ってＢＩＳＴを再開した場合、最新のフェイル箇所に到達するまでは、既に検出されたより以前のフェイルに対して再度フラグ信号４０９を出力することなく、ＢＩＳＴを進めることができる。
【００７１】
取り込みレジスタ４１８は、ＢＩＳＴ実行中は高速なＢＩＳＴクロックと同一の高速クロック４１０により動作する。このため、オンチップのクロック生成回路等で生成された高速クロックでのＢＩＳＴの実行が可能である。
【００７２】
ＢＩＳＴ動作が中断された際は、メモリカラー４１６におけるマルチプレクサ１０１により、ＢＩＳＴ回路４００において直接制御可能な低速クロック４１１が選択出力されて取り込みレジスタ４１８に与えられて動作する。
【００７３】
この低速クロック４１１は、図２に示された診断データ保存回路４０６内の保存レジスタ５０８、５０９に与えられるクロックと同一であり、同じクロック源から供給される。
【００７４】
シフトモードでは、上述したように、保存レジスタ５０８、５０９がシフトレジスタを構成する。この場合、保存レジスタ５０９から出力されたシフト出力信号５１３をシリアル出力信号４１４として取り込みレジスタ４１８に与える。これにより、フェイル検出時におけるＢＩＳＴ制御回路４０１におけるアドレス信号４０７、ＢＩＳＴ状態信号４０８、メモリセル４１７からの出力を外部に取り出して、外部テスト装置に入力して観測することができる。
【００７５】
尚、一つのＢＩＳＴ回路４００で複数のメモリセル４１７をＢＩＳＴする場合には、メモリセル４１７毎に対応して設けられたメモリカラー４１６内の取り込みレジスタ４１８を相互にシリアルに接続して、シフトレジスタを構成することとなる。
【００７６】
図３に、本実施の形態１においてＢＩＳＴを実行する際の手順を示す。ここでは、ＢＩＳＴ回路４００が、１３Ｎという名称のマーチングパターンと称されるＢＩＳＴを行うものとする。
【００７７】
ここでマーチングパターンとは、例えば論理「０」状態のメモリから論理「０」を読み出し、論理「１」を書き込み、論理「１」を読み出すひとかたまりの動作（マーチエレメントｒ０ｗ１ｒ１）を、全アドレスに対し順次実行するパターンであり、メモリの状態が論理「０」が論理「１」に置き換わる。
【００７８】
これに対し、ウォーキングパターンとは、例えば論理「０」状態のメモリから論理「０」を読み出し、論理「１」を書き込み、論理「１」を読み出し、さらに論理「０」を書き込むマーチエレメント（ｒ０ｗ１ｒ１ｗ０）を用いるパターンであり、メモリの状態が論理「０」で維持される。
【００７９】
先ず、時刻Ｔ０から（ＷＲＩＴＥ動作）としてＢＩＳＴ動作を開始し、メモリセル４１７の全アドレスに所定のデータパターン（全ビットに論理「０」のデータ、あるいはチェッカーボードパターン等のデータ）を書込む。
【００８０】
（ＲＥＡＤ−ＷＲ、ＩＴＥ−ＲＥＡＤ動作）として、各アドレスにおいて、正データパターン（例えば、「１０１１」）の読出しと逆パターン（例えば、「０１００」）の書込みとをアドレス昇順で行う。次に、各アドレスにおいて、逆データパターンの読出しと正データパターンの書込みとをアドレス昇順で行う。
【００８１】
さらに、各アドレスにおいて、正データパターンの読出しと逆パターンの書込みとをアドレス降順で行い、続いて各アドレスにおいて逆データパターンの読出しと正データパターンの書込みとをアドレス降順で行う。
【００８２】
時刻Ｔ２において最初のフェイルが検出されると、ＢＩＳＴ動作を中断する。時刻Ｔ２におけるＢＩＳＴ制御回路４０１におけるＢＩＳＴ状態信号４０８、アドレス信号４０７、シリアル出力データ４１４（シフト出力データ５１３）を外部テスト装置へ出力する。そして、１回目のフェイルが検出されたアドレスデータと、ＢＩＳＴにおけるどの箇所に現在位置しているかを示すＢＩＳＴ状態信号とが保存レジスタ５０８、５０９に保存される。
【００８３】
この後、ＢＩＳＴ動作を再開する。しかし、中断地点の時刻Ｔ２からではなく、ある一定のステップを遡った時刻Ｔ１から再開する。これは、中断地点（時刻Ｔ２）から再開すると、隣接動作間にシフト動作が入り、実速度でのＢＩＳＴを行うことができなくなるためである。
【００８４】
ここで、遡る時点（時刻Ｔ１）は、マーチング動作の切れ目であってもよいし、あるいは中断時点から一定アドレスだけ遡った時点でもよい。このいずれかを切り替えて選択するようにしたり、あるいは遡るアドレス数をＢＩＳＴ開始前に外部から設定してもよい。図３に示された例では、マーチング動作の切れ目である時刻Ｔ１まで遡っている。
【００８５】
ここで留意すべき点は、実行しているＢＩＳＴがマーチングである場合、遡った時点（時刻Ｔ１）のアドレスにおけるデータは正パターンと逆パターンとが入れ替わった異なるデータに既に書き換えられており、書き換えられる前の状態を前提とした読出し動作が行われるマーチングテストでは、正しい動作にならないということである。
【００８６】
そこで本実施の形態１では、アドレスを遡った時点（時刻Ｔ１）から、一回中断した時点（時刻Ｔ２）までのデータを書き戻すという動作を入れる。
【００８７】
一方、データを前の状態にしたままでＢＩＳＴを進行させるウォーキングテストの場合は、データが書き換えられることがないので書き戻しの動作は必要なく、遡った時点からすぐにＢＩＳＴを再開することができる。
【００８８】
本実施の形態１では、書き戻しは時刻Ｔ１からＴ２の間で行われ、再び時刻Ｔ１に戻った後、ＢＩＳＴ動作が再開される。
【００８９】
２回目のＢＩＳＴ実行では、時刻Ｔ１から時刻Ｔ２までの間、フラグ抑制信号４１５が出力されている。このため、時刻Ｔ２に到達し再度フェイルが検出されてもフラグが抑制されフラグ信号４０９が出力されず、フェイル検出と見なされない。
【００９０】
２回目のＢＩＳＴ実行において、アドレスデータ４０７とＢＩＳＴ状態信号４０８とが取り込みレジスタ５０５、５０６に格納されていく。この情報と、保存レジスタ５０８、５０９に格納されている１回目のＢＩＳＴにおいてフェイルが検出されたときのアドレスデータ４０７とＢＩＳＴ状態信号４０８とが比較されることで、１回目のフェイルが検出された時刻Ｔ２に到達したことが判明する。この時刻Ｔ２までは、フラグが抑制される。
【００９１】
この後、ＢＩＳＴ動作は次のフェイル箇所である時刻Ｔ４まで進む。時刻Ｔ４においてＢＩＳＴ動作が一旦中断し、アドレス信号４０７、ＢＩＳＴ状態信号４０８とともに、データがシリアル出力信号４１４（シフト出力信号５１３）として出力される。この後、時刻Ｔ１の場合と同様に、データ書き戻しの時刻Ｔ３まで戻ってＢＩＳＴ動作が再開される。
【００９２】
その後、新たな不良が検出されない場合は、ＢＩＳＴ動作が時刻Ｔ５で終了する。外部テスト装置には、時刻Ｔ２およびＴ４におけるフェイル情報が保存される。
【００９３】
図４に、ＢＩＳＴ制御回路４０１の内部構成を示す。ＢＩＳＴ制御回路４０１は、状態制御回路１２０１、データ生成器制御ブロック１２０２、アドレス生成器制御ブロック１２０３、制御信号生成器制御ブロック１２０４、結果解析器制御ブロック１２０５を備える。
【００９４】
状態制御回路１２０１は、ＢＩＳＴ状態の遷移、即ちＢＩＳＴシーケンスを制御する。状態制御回路１２０１から、状態制御回路１２０１の現在の状態を示すＢＩＳＴ状態信号４０８が診断データ保存回路４０６に出力される。
【００９５】
データ生成器制御ブロック１２０２は、データ生成器４０２の状態をモニタしながらその次の動作を制御する。
【００９６】
アドレス生成器制御ブロック１２０３は、アドレス生成器４０３の状態をモニタしながらその次の動作を制御する。
【００９７】
制御信号生成器制御ブロック１２０４は、制御信号生成器４０４の状態をモニタしながらその次の動作を制御する。
【００９８】
結果解析器制御ブロック１２０５は、結果解析器４０５の状態をモニタしながらその次の動作を制御する。
【００９９】
図５に、ＢＩＳＴ制御回路４０１の動作手順を示す。以下に示す制御動作は、状態制御回路１２０１が行う。
【０１００】
先ずステップＳ１０として、状態制御回路１２０１がＢＩＳＴの実行を開始する。
【０１０１】
ステップＳ１２として、ＢＩＳＴ終了か否かを判断する。終了する場合は直ちに終了する。終了しない場合はステップＳ１４へ移行する。
【０１０２】
ステップＳ１４において、アドレスを進めてＢＩＳＴ動作を行う。
【０１０３】
ステップＳ１６として、不良検出の有無を判断する。不良を検出していない場合はステップＳ１２へ戻り、検出した場合はステップＳ１８へ移行する。
【０１０４】
ステップＳ１８として、不良が発生した時点における状態を保存し、ＢＩＳＴ動作を停止する。
【０１０５】
ステップＳ２０として、不良状態を外部テスト装置に出力する。
【０１０６】
ステップＳ２２において、行ったＢＩＳＴがマーチングテストであるか否かを判断する。マーチングテストでない場合、即ちウォーキングテストである場合はステップＳ２６へ、マーチングテストである場合はステップＳ２４へ移行する。
【０１０７】
ステップＳ２４において、ＢＩＳＴを再開する位置から現在の不良が検出された位置までデータを書き戻す。
【０１０８】
ステップＳ２８として、終了か否かを判断する。終了する場合は直ちに終了する。終了しない場合は、ステップＳ３０へ移行し、アドレスを進めてさらに動作を進める。
【０１０９】
ステップＳ３２において、ステップＳ１８で保存した不良発生時点における状態（アドレス）と現在の状態とを比較する。一致する場合はステップＳ１２へ戻って同様な動作を繰り返し、不一致の場合はステップＳ２８へ戻る。
【０１１０】
本実施の形態１によれば、先ずＢＩＳＴ回路を用いてＢＩＳＴ動作を行い、次にＢＩＳＴ回路を用いて故障診断動作を行う。フェイル検出時におけるメモリからの読出しデータ、期待値との比較結果をレジスタに格納する。フェイルが検出されるとＢＩＳＴ動作を一旦中断し、故障診断の対象となっているメモリのみから出力されたデータを外部へシリアルに出力し、非対象のメモリからは出力しない。そして、中断時点より前に遡った再開時点からＢＩＳＴ動作を再開し、それまでに検出されたフェイル箇所では再度フェイル検出フラグを出力することなく通過し、中断時点以降へ故障診断を進めていく。
【０１１１】
このように、フェイル検出の度にテストを開始した時点まで遡ってＢＩＳＴを再開するのでなく、必要なだけ遡ってＢＩＳＴを再開することで、メモリセル内の全ての不良情報を効率良く取得することができる。
【０１１２】
また、本実施の形態１によれば、新たにフェイルが検出された時点においてのみメモリからのデータを出力するため、故障診断に要する時間が削減される。
【０１１３】
さらに、故障診断の対象となっていないメモリからの出力も含めて全て外部にシリアルに出力していた従来と異なり、本実施の形態１によれば故障診断の対象となっているメモリからの出力のみを取り出すことにより、故障診断に要する時間を短縮することができる。特にメモリの数が多い場合には、大幅に短縮することが可能となる。
【０１１４】
また、メモリの通常動作で用いる高速クロックを用いてＢＩＳＴを行い、ＢＩＳＴ結果を外部へシフト出力する際には外部テスト装置が動作可能な低速クロックを用いることにより、実動作にてＢＩＳＴを行うことが可能である。この結果、実速度テストでしか現れないフェイルの情報を取得することができる。
【０１１５】
（参考例１）
図６に、参考例１による比較器型メモリＢＩＳＴ回路を用いてＢＩＳＴ動作を行う半導体集積回路の構成を示す。
【０１１６】
ＢＩＳＴ回路１００内のＢＩＳＴ制御回路１０１が、データ生成器１０２、アドレス生成器１０３、制御信号生成器１０４を制御するために必要な制御信号を順次生成させて出力する。
【０１１７】
メモリカラー１１１と称されるブロック内に、ＢＩＳＴ対象のメモリ１１２が、ＢＩＳＴ動作に必要な各論理要素である取り込みレジスタ１１３、比較器１１４、フラグ１１５とともに含まれる。
【０１１８】
データ生成器１０２から生成された書き込みデータ１０９及び期待値１１０、アドレス生成器１０３から生成されたアドレスデータ１０８、制御信号生成器１０４から生成された制御信号１０７がメモリ１１２に与えられる。
【０１１９】
メモリ１１２からの出力は一度取り込みレジスタ１１３に入力され、その出力がデータ生成器１０２から生成されたデータ期待値１１０と比較器１１４により比較され、その結果がフラグレジスタ１１５に保持される。
【０１２０】
フラグレジスタ１１５からの出力はＢＩＳＴ回路１００の結果解析器１０５に入力され、最終的なＢＩＳＴ結果がＢＩＳＴ結果出力１０６として出力される。
【０１２１】
単一のＢＩＳＴ回路１００を用いて複数のメモリをＢＩＳＴする場合には、メモリ毎に設けられたメモリカラー内のフラグレジスタからの出力がＢＩＳＴ回路１００の結果解析器１０５に入力され、全体的な故障診断の良否判定が行われた後、ＢＩＳＴ結果信号１０６として出力される。
【０１２２】
（参考例２）
図７に、参考例２による圧縮器型メモリＢＩＳＴ回路を用いてＢＩＳＴを行う半導体集積回路の構成を示す。
【０１２３】
ＢＩＳＴ回路２００内のＢＩＳＴ制御回路２０１が、データ生成器２０２、アドレス生成器２０３、制御信号生成器２０４、結果解析器２０５を制御するために必要な制御信号を順次生成して出力する。ＢＩＳＴ対象となるメモリ２１１が、圧縮器２１２とともにメモリカラー２１０に含まれる。
【０１２４】
データ生成器２０２から生成された書き込みデータ２０９、アドレス生成器２０３から生成されたアドレスデータ２０８、制御信号生成器２０４から生成された制御信号２０７が、それぞれメモリ２１１に与えられる。メモリ２１１からの出力が圧縮器２１２に入力され、順次圧縮されて出力される。
【０１２５】
ＢＩＳＴ終了時に圧縮器２１２に保存された値が、結果解析器２０５において期待値と比較され、ＢＩＳＴの良否が判定されて判定結果２０６として出力される。
【０１２６】
単一のＢＩＳＴ回路１００で複数のメモリをＢＩＳＴする場合には、メモリ毎に対応して設けられたメモリカラーに含まれる複数の圧縮器をシリアルに接続し、単一のＢＩＳＴ回路２００内の結果解析器１０６にデータを転送することでＢＩＳＴを実行することができる。
【０１２７】
次に、参考例１によるＢＩＳＴ回路１００を使用して、メモリ故障箇所のビット位置の特定を行う際には、ＢＩＳＴ回路２００による読み出しのタイミングでメモリ２１１の出力をシリアルに観測する場合について述べる。
【０１２８】
図８に示されたように、複数のメモリカラー３１１、３１２、．．．、３１Ｎ（Ｎは、２以上の整数）内にあるメモリ３２１、３２２、．．．、３２Ｎの出力を取り込む取り込みレジスタ３３１、３３２、．．．、３３Ｎと、比較器３４１、３４２、．．．、３４Ｎからの出力を受けるフラグレジスタ３５１、３５２、．．．、３５Ｎとをそれぞれシリアルに接続する。そして全体として、ＢＩＳＴ回路内のＢＩＳＴ制御回路３０１に含まれるアドレス生成回路３０２内のアドレスレジスタ３０２とフラグレジスタ３０３とともに、一本の循環的なシフトパスを形成する。
【０１２９】
このシフトパスを使用し、読出しのタイミングで取り込みレジスタ３３１〜３３Ｎの値を、外部出力端子３０４を介して外部にシフト出力する。シフトパスが循環的に形成されているので、シフト出力終了後にＢＩＳＴ動作中断時の状態に復帰することができる。
【０１３０】
そしてＢＩＳＴを再開し、再び読出しタイミングで取り込みレジスタ３３１〜３３Ｎの値をシフト出力する。ＢＩＳＴ動作の中断、シフト出力、ＢＩＳＴ動作の再開を繰り返すことにより、メモリ３２１〜３２Ｎの内部状態を読み出すことができる。
【０１３１】
しかしこの場合には、故障診断対象でないメモリから出力された取り込みレジスタのデータもシフト出力しなくてはならない。このため、故障診断時間が非常に長くなる。さらに、シフト出力されたデータの観測と期待値との比較を、外部テスト装置を用いて行わなければならないため、テスト装置の動作速度による制約を受ける。従って、メモリの実測度で故障診断を行うことができず、実測度でのみ観測されるフェイルを検出することができない場合がある。
【０１３２】
これに対し、上述したように上記実施の形態１によれば、故障診断の対象となっているメモリからの出力のみを外部にシフト出力することで時間短縮が可能であり、また実動作速度での故障診断が可能である。
【０１３３】
（参考例３）
参考例３によるＢＩＳＴ回路を用いて故障診断を行う半導体集積回路について、その構成を示した図９を用いて説明する。
【０１３４】
この半導体集積回路は、Ｎ個から成る１組のメモリカラー７０１１〜７０１Ｎと、このメモリカラー７０１１〜７０１ＮにＢＩＳＴを実行する一つのＢＩＳＴ回路７０７１と、図示されていないＡ（Ａは１以上の整数）個のメモリカラーと、このＡ個のメモリカラーにＢＩＳＴを実行するＢＩＳＴ回路７０７２と、図示されていないＢ（Ｂは１以上の整数）個のメモリカラーと、このＢ個のメモリカラーにＢＩＳＴを実行する図示されていないＢＩＳＴ回路７０７３と、…、図示されていないＣ（Ｃは１以上の整数）個のメモリカラーと、このＣ個のメモリカラーにＢＩＳＴを実行するＢＩＳＴ回路７０７Ｍと、動作設定ビット列シリアル信号が入力される入力端子７１７、メモリ選択信号が入力される入力端子７１８、シフトパスシリアルデータが入力される入力端子７１９、シリアルデータが出力される出力端子７２０、動作設定ビット列シリアルデータが出力される出力端子７２１を備えている。
【０１３５】
各メモリカラー７０１１〜７０１Ｎは同一の構成を備え、それぞれメモリ７０２１〜７０２Ｎ、取り込みレジスタ７０３１〜７０３Ｎ、比較器７０４１〜７０４Ｎ、フラグレジスタ７０５１〜７０５Ｎを有している。
【０１３６】
ＢＩＳＴ回路７０７２〜７０７ＭによりＢＩＳＴが実行される図示されていないＭ−１組のメモリカラーも同様の構成を備えており、説明を省略する。
【０１３７】
メモリカラー７０１１において、メモリ７０２１からの出力が取り込みレジスタ７０３１に取り込まれ、比較器７０４１で期待値と比較され、その結果がフラグレジスタ７０５１に保持される。保持された内容が、マルチプレクサ７０６１及びＢＩＳＴ回路７０７１に入力される。
【０１３８】
上記実施の形態１と異なり、メモリカラー７０１１内の取り込みレジスタ７０３１とフラグレジスタ７０５１とはシリアルでなくパラレルに接続され、それぞれの出力が出力切り替え用のマルチプレクサ７０６１により切り替えられる。
【０１３９】
ＢＩＳＴ回路７０７１は、アドレス取り込みレジスタ７１２１、アドレスレジスタ７１１１、終了フラグレジスタ７１３１、ＢＩＳＴ設定デコーダ７０９１、ＢＩＳＴ動作設定レジスタ７０８１、マルチプレクサ７１４１、判定フラグレジスタ７１６１を有する。他のＢＩＳＴ回路７０７２〜７０７Ｍも同様の構成を備えており、説明を省略する。
【０１４０】
ＢＩＳＴ動作設定レジスタ７０８１には、外部から入力端子７１７を介して、動作設定ビット列シリアルデータが入力され、動作設定が行われる。複数の各ＢＩＳＴ回路７０７１〜７０７Ｍ内の各ＢＩＳＴ動作設定レジスタ７０８１〜７０８Ｍは、相互にシリアルに接続されている。これにより、動作設定に必要な外部端子数を最小限に抑えることができる。
【０１４１】
図１０に、ＢＩＳＴ動作設定レジスタ７０８１〜７０８Ｍの一例として、ＢＩＳＴ動作設定レジスタ７０８１の構成を示す。このＢＩＳＴ動作設定レジスタ７０８１は、入力端子８０１から出力端子８０２へ順次データがシフト転送されていくシフトレジスタ構成を有している。入力端子７１７から入力された動作設定ビット列シリアルデータが入力端子８０１に入力される。ＢＩＳＴ動作設定レジスタ７０８１は、シフトイネーブル信号８０３を与えられてシフトイネーブル状態になり、シフトクロック８０４に同期して順次シフト動作を行う。
【０１４２】
ＢＩＳＴ動作設定レジスタ７０８１は、動作モード設定ビット８０５、メモリ選択ビット列８０６及びＢＩＳＴ動作イネーブルビット８０７を有する。
【０１４３】
動作モード設定ビット８０５は、ＢＩＳＴ動作と故障診断動作とを切り替えるものであり、このビットが論理「０」のとき当該メモリはＢＩＳＴの対象となり、論理「１」のとき故障診断の対象となる。図１０の動作モード設定ビット８０５は論理「０」であり、ＢＩＳＴの対象であることを示している。
【０１４４】
メモリ選択ビット列８０６は、ＢＩＳＴ対象あるいは故障診断対象となるメモリの選択を設定するデータである。ここでは、各ビットがいずれか一つのメモリにそれぞれ対応しており、当該ビットが論理「１」であるメモリがＢＩＳＴ対象あるいは故障診断の対象となる。図１０に示された例では、全ビット（ここではＮビット）が論理「１」となっており、Ｎ個全てのメモリ７０２１〜７０２ＮがＢＩＳＴ対象であることを示す。
【０１４５】
ＢＩＳＴ動作イネーブルビット８０７は、各ＢＩＳＴ回路７０７１〜７０７Ｍ毎に、当該ＢＩＳＴ回路が現時点でＢＩＳＴ対象あるいは故障診断の対象であるか否かを設定するデータである。このビットが論理「０」のときは対象とならず、論理「１」のときに対象であることを示す。
【０１４６】
例えば、ＢＩＳＴ回路７０７１がＢＩＳＴ対象あるいは故障診断対象である場合は、このＢＩＳＴ回路７０７１によって動作が制御されるメモリカラー７０１１〜７０１ＮにＢＩＳＴあるいは故障診断が行われる。
【０１４７】
論理「０」が設定されたＢＩＳＴ回路では、当該ＢＩＳＴ回路内のマルチプレクサ７１４１の切替設定により、当該ＢＩＳＴ回路内をシフト転送するパスにアドレス取り込みレジスタ７１２１、終了フラグレジスタ７１３１が含まれず、判定フラグレジスタ７１６１のみが含まれる。これにより、判定フラグレジスタ７１６１の１段のみによってシフトされるだけとなり、シフト回数を最小限にすることができる。
【０１４８】
従って、ＢＩＳＴあるいは故障診断の対象外であるにもかかわらず、アドレス取り込みレジスタ７１２１、終了フラグレジスタ７１３１、判定フラグレジスタ７１６１の全て、ならびにこれらのパスに接続されたメモリカラーのパスを含めて通過する場合と比較し、大幅にシフト段数が減少する。
【０１４９】
反対に、このＢＩＳＴ動作イネーブルビット８０７が論理「１」の場合は、ＢＩＳＴあるいは故障診断の対象となっている例えばＢＩＳＴ回路７０７１により制御されるメモリカラー７０１１〜７０１Ｎ内のパスと、アドレス取り込みレジスタ７１２１、終了フラグレジスタ７１３１、判定フラグレジスタ７１６１とがシフトパスに含まれる。メモリカラー７０１１〜７０１Ｎ内のパスでは、メモリ選択ビット列８０６により、例えばＢＩＳＴ対象あるいは故障診断対象とされていないメモリカラー７０１１ではフラグレジスタ７０５１のみ、ＢＩＳＴ対象あるいは故障診断対象とされているメモリカラー７０１２ではメモリ７０２２からの出力が取り込まれた取り込みレジスタ７０３２、…、ＢＩＳＴ対象あるいは故障診断対象とされていないメモリカラー７０１Ｎではフラグレジスタ７０５Ｎが、アドレス取り込みレジスタ７１２１、終了フラグレジスタ７１３１、判定フラグレジスタ７１６１とともにシフトパスに含まれることになる。
【０１５０】
ここで、シフトパスにアドレス取り込みレジスタ７１２１が含まれる場合は、アドレスレジスタ７１１１から出力されたアドレスがアドレス取り込みレジスタ７１２１に与えられるため、このアドレスがシフトパスによって外部へ転送される。
【０１５１】
ＢＩＳＴ回路７０７１内において、ＢＩＳＴ動作設定レジスタ７０８１からパラレルに出力された動作モード設定ビット８０５、メモリ選択ビット列８０６、ＢＩＳＴ動作イネーブルビット８０７が、ＢＩＳＴ設定デコーダ７０９１に与えられる。ＢＩＳＴ設定デコーダ７０９１は、メモリカラー７０１１〜７０１Ｎ内のマルチプレクサ７０６１〜７０６Ｎの出力の切替を制御するための切り替え制御信号７１０１〜７１０Ｎ、さらにはメモリ７０２１〜７０２Ｎのチップイネーブルの制御を行うための図示されていないイネーブル信号等の出力を行う。
【０１５２】
図１１を参照し、本参考例３において故障診断動作を行う際の信号の流れ及び動作設定について説明する。
【０１５３】
故障診断は、通常は故障解析を容易にするため、一つの例えばＢＩＳＴ回路７０７１に接続された複数のメモリカラー７０１１〜７０１Ｎにおけるいずれか一つのメモリカラーに含まれるメモリを対象に行うことを前提としている。そこで、ＢＩＳＴ動作設定レジスタ７０８１〜７０８Ｍにおけるメモリ選択ビット列８０６のなかで、故障診断対象となるメモリに対応する１ビットのみを論理「１」に設定する。
【０１５４】
ここでは、図１１における左から２番目のメモリカラー７０１２に含まれるメモリ７０２２を対象とし、他のメモリカラーに含まれるメモリは対象外とする。そこで、ＢＩＳＴ回路７０７１内のＢＩＳＴ動作設定レジスタ７０８１において、図１０に示されたメモリ選択ビット列８０６におけるシリアルパスの入力端子８０１側から２ビット目のみが論理「１」となるようにビット列を設定する。
【０１５５】
他のＢＩＳＴ回路７０７１、７０７３〜７０７Ｍは、対応するメモリが全て故障診断対象から外れるように、ＢＩＳＴ動作設定レジスタ７０８１、７０８３〜７０８ＭにおけるＢＩＳＴ動作イネーブルビット８０７を論理「０」に設定する。
【０１５６】
これにより、故障診断実行時には、ＢＩＳＴ回路７０７１内のＢＩＳＴ動作設定レジスタ７０８１のメモリ選択ビット列８０６において該当するビットが論理「１」であるメモリ７０２２のみに対して、チップイネーブル入力信号８０３が論理「１」（オン状態）になるとともに、マルチプレクサ７０６２が取り込みレジスタ７０３２からのシリアル出力を選択して出力する。
【０１５７】
ＢＩＳＴ回路７０７１に接続された他のメモリ７０２１、７０２３〜７０２Ｎに対しては、チップイネーブル入力信号８０３が論理「０」（オフ状態）になるとともに、マルチプレクサ７０６１、７０６３〜７０６Ｎはフラグレジスタ７０５１、７０５３〜７０５Ｎの出力を選択する。
【０１５８】
これにより、図１１において太線で示されたように、入力端子７１９、非選択のメモリカラー７０１１におけるフラグレジスタ７０５１及びマルチプレクサ７０６１、選択されたメモリカラー７０１２の取り込みレジスタ７０３２及びマルチプレクサ７０６２、非選択のメモリカラー７０１３〜７０１Ｎのフラグレジスタ７０５３〜７０５Ｎ及びマルチプレクサ７０６３〜７０６Ｎ、さらに対象となっているＢＩＳＴ回路７０７１におけるアドレス取り込みレジスタ７１２１、終了フラグレジスタ７１３１、マルチプレクサ７１４１、判定フラグレジスタ７１６１、対象となっていないＢＩＳＴ回路７０７２〜７０７Ｍにおけるそれぞれのマルチプレクサ７１４２及び判定フラグレジスタ７１６２、…、マルチプレクサ７１４Ｍ及び判定フラグレジスタ７１６Ｍ、出力端子７２０がシリアルに接続された状態になる。
【０１５９】
ここで、シリアル入力信号が入力端子７１９からメモリカラーへの入力される接続経路についてであるが、図１１に示された構成では、ＢＩＳＴ回路に一旦入力された後、メモリカラーへ入力されている。しかしこの構成に限らず、ＢＩＳＴ回路を経由することなく、入力端子７１９から直接メモリカラーに入力される接続構成を備えてもよい。
【０１６０】
これにより、ＢＩＳＴ回路７０７１に接続されたメモリ７０１１〜７０１Ｎのうち、故障診断対象となっているメモリ７０２２から出力され取り込みレジスタ７０３２に取り込まれたデータと、選択されていない各メモリカラー７０１２〜７０１Ｎの判定フラグレジスタ７１６２、…、７１６Ｍと、故障診断対象となっているＢＩＳＴ回路７０７１におけるアドレスレジスタ７１１１に格納されアドレス取り込みレジスタ７１２１に取り込まれていたアドレスとが順次シフト出力されていく。
【０１６１】
この結果、故障診断対象となっていないメモリからの不要な出力をシフト出力する必要がないので、故障診断実行中における不要な電力の消費が削減され故障診断に要する時間も短縮される。
【０１６２】
ここで、本参考例３では故障解析を容易に行うために単一のメモリ７０２２のみを故障診断の対象としている。しかし、故障解析は複雑化するが同時に複数のメモリを故障診断の対象とすることも可能である。例えば、メモリ７０２１と７０２２とが故障診断の対象である場合は、図１１に太線で示されたシリアルパスに、メモリカラー７０１１においてフラグ７０５１の替わりに取り込みレジスタ７０３２が接続されることになる。
【０１６３】
故障診断動作中は、例えばメモリ７０２２の読み出し動作が行われるたびに取り込みレジスタ７０３２をシフト動作させ、メモリ７０２２からの出力を外部出力端子７２０から取り出して観測する。
【０１６４】
この際、同じＢＩＳＴ回路７０７１に接続されたメモリ７０２１〜７０２Ｎのうち、故障診断対象となるメモリ７０２２以外は、上述したように１ビットのみシフトされることになる。従って、故障診断の対象以外のメモリ７０２１、７０２３〜７０２Ｎからのデータをシフト出力する必要がないので、全てのメモリからのデータをシフト出力する場合と比較して故障診断に要する時間が短縮される。
【０１６５】
また、他のＢＩＳＴ回路７０７２〜７０７Ｍでは、それぞれ判定フラグレジスタ７１６２〜７−６Ｍのみがシリアルパスに接続される。このため、シフトに要するステップが短縮され、故障診断に要する外部テスト装置の実行時間が短縮される。
【０１６６】
（２）実施の形態２
本発明の実施の形態２による半導体集積回路について、その構成を示した図面を用いて説明する。本実施の形態２は、図１に示された上記実施の形態１におけるＢＩＳＴ回路４００及びメモリカラー４１６の構成に、図９に示された参考例３におけるＢＩＳＴ回路７０７１の構成を組み合わせたものに相当する。
【０１６７】
本実施の形態３におけるＢＩＳＴ回路１４００は図１２に示された構成を備え、メモリカラー１４１６は図１３に示された構成を備えている。
【０１６８】
ＢＩＳＴ回路１４００は、上記実施の形態１におけるＢＩＳＴ回路４００と同様に、ＢＩＳＴ制御回路１４０１、データ生成器１４０２、アドレス生成器１４０３、制御信号生成器１４０４、結果解析器１４０５、診断データ保存回路１４０７を備え、さらに上記参考例３におけるＢＩＳＴ回路７０７１と同様に、ＢＩＳＴ設定デコーダ１７０９１、ＢＩＳＴ動作設定レジスタ１７０８１、終了フラグレジスタ１７１３１、マルチプレクサ１７１４１、判定フラグレジスタ１７１６１を備えている。
【０１６９】
さらに、図１に示された上記実施の形態１におけるフラグ信号４０９に相当するフラグ信号１４０９Ａ〜１４０９Ｂを複数個のメモリカラー１４１６から与えられて入力し、結果解析器１４０５、診断データ保存回路１４０６に出力するＯＲ回路１００６を有している。
【０１７０】
診断データ保存回路１４０６の詳細な構成は、図２に示された上記実施の形態１における診断データ保存回路４０６と同様であり説明を省略する。
【０１７１】
メモリカラー１４１６は、上記実施の形態１におけるメモリカラー４１６と同様に、メモリセル１４１７、マルチプレクサ１４１９、取り込みレジスタ１４１８、マルチプレクサ１１０１、比較回路１４２０、ＡＮＤ回路１４２１、フラグレジスタ１４２２、ＯＲ回路１４２３を備えている。さらに、デコーダ１７０９１から出力された切替制御信号１７１０（Ｎ＋１）を与えられて、取り込みレジスタ１４１８の出力とフラグレジスタ１４２２の出力のいずれか一方を切り替えて信号３０３１を出力するマルチプレクサ３０１２を有している。
【０１７２】
ここで、メモリカラー１４１６が複数設けられている場合は相互にシリアルに接続され、前段に配置されたメモリカラー１４１６から出力された信号３０３１が後段に配置されたメモリカラー１４１６に信号１４１４として入力された状態で、取り込みレジスタ１４１８に格納されたデータがシリアルに外部に出力される。
【０１７３】
このような構成を備える本実施の形態２における動作について、以下に説明する。
【０１７４】
ＢＩＳＴ制御回路１４０１、データ生成器１４０２、アドレス生成器１４０３、制御信号生成器１４０４、結果解析器１４０５に高速クロック１４１０が入力され、ＢＩＳＴ制御回路１４０１からデータ生成器１４０２、アドレス生成器１４０３、制御信号生成器１４０４、結果解析器１４０５の動作を制御するために必要な各種信号が生成されてそれぞれ出力される。
【０１７５】
データ生成器１４０２、アドレス生成器１４０３、制御信号生成器１４０１からそれぞれ出力されたデータ１１０９、アドレス１１０８、制御信号１１０７は、メモリカラー１４１６におけるメモリセル１４１７に与えられる。
【０１７６】
本実施の形態３におけるメモリカラー１４１６では、診断データ保存回路１４０６からのシリアル出力１４１４が、取り込みレジスタ１４１８のみならずフラグレジスタ１４２２にも与えられて保持される。そして、取り込みレジスタ１４１８からの出力１４１４のみならず、フラグレジスタ１４２２からの出力がマルチプレクサ３０１２に与えられ、マルチプレクサ３０１２は診断データ保存回路４０６から出力された制御信号１７１０（Ｎ＋１）に基づいていずれか一方を選択して出力する。ここで、マルチプレクサ３０１２において、取り込みレジスタ１４１８からの出力１４１４とフラグレジスタ１４２２からの出力のうち、いずれか一方が選択されている間は、他方がシフトされないようにしてもよい。他の動作は上記実施の形態１によるメモリカラー４１６におけるものと同様であり、説明を省略する。
【０１７７】
フラグレジスタ１４２２からＯＲ回路１４２３を介して出力されたフラグ信号１４０９は、図１２におけるＢＩＳＴ回路１４００内の結果解析器１４０５に入力される。ひとつのＢＩＳＴ回路１４００を用いて複数のメモリセルをＢＩＳＴする場合には、メモリセル毎にメモリカラー１４１６の構成を配置し、それぞれのメモリカラー１４１６のフラグレジスタ１４２２から出力されたフラグ信号１４０９Ａ〜１４０９ＢがＯＲ回路１００６を介して結果解析器１４０５に入力される。
【０１７８】
結果解析器１４０５において、全体的なＢＩＳＴの良否判定が行われた上で、最終的なＢＩＳＴ結果信号１４２４として外部テスト装置に出力される。
【０１７９】
さらに、フラグレジスタ１４２２からＯＲ回路１４２３を介して出力されたフラグ信号１４０９は、診断データ保存回路１４０６にも入力される。また、診断データ保存回路１４０６には、図１３に示されたメモリカラー１４１６からの出力３０３１が入力される。一旦フェイルが検出されてフラグ信号１４０９が発生すると、診断データ保存回路１４０６にフェイル発生という情報が与えられる。
【０１８０】
このようにして、ＢＩＳＴ回路を用いたＢＩＳＴ動作が行われ、各メモリセル１４１７に対する良否判定が行われる。
【０１８１】
次に、診断データ保存回路１４０６を用いた故障診断が行われるが、その回路構成並びに動作は図２に示された上記実施の形態１による診断データ保存回路４０６と同様であり、説明を省略する。
【０１８２】
ＢＩＳＴ回路１４００が複数配置されている場合は、前段に配置されたＢＩＳＴ回路１４００から出力された信号１４１４が後段に配置されたＢＩＳＴ回路１４００に信号１７１９として入力される。そして、ＢＩＳＴ動作設定レジスタ１７０８１に設定され、ＢＩＳＴ設定デコーダ１７０９１によりデコードされた信号１７１０（Ｎ＋１）により、マルチプレクサ３０１２の切替が設定され、当該メモリセル１４１７から出力され取り込みレジスタ１４１８に取り込まれたデータと、フラグレジスタ１４２２に保持された内容のいずれかが選択されてシリアルに外部に出力される。
【０１８３】
このように本実施の形態２によれば、上記実施の形態１と同様に、高速クロック１４１０を用いてメモリのＢＩＳＴ並びに故障診断を実速度で行うことができるので、低速クロックによるシフト動作では検出できないフェイル情報を取得することが可能である。また、一旦フェイルが発生した後にＢＩＳＴ再開時の溯りを最小限にすることができるため、１回目のＢＩＳＴ開始時点まで遡って再度実行を繰り返す場合に比べて、テスト時間を削減することができる。
【０１８４】
さらに、上記参考例３と同様に故障診断の際に不良箇所のデータのみを外部にシフト出力することにより、故障診断時間を短縮しコスト低減を実現することができるとともに、ＢＩＳＴ動作設定用レジスタ１７０８１の設定に従い故障診断対象となっていないメモリからの出力をシフト出力する必要がないので故障診断に要する時間の一層の短縮に寄与することができる。
【０１８５】
上述した実施の形態はいずれも一例であって、本発明を限定するものではなく、本発明の技術的範囲内において様々に変形することが可能である。
【図面の簡単な説明】
【０１８６】
【図１】本発明の実施の形態１による比較器型ＢＩＳＴ回路を用いて故障診断動作を行う半導体集積回路の構成を示すブロック図。
【図２】同半導体集積回路が有する診断データ保存回路の構成を示すブロック図。
【図３】同半導体集積回路におけるメモリの故障診断の手順を示した説明図。
【図４】同半導体集積回路が有するＢＩＳＴ制御回路に含まれる状態制御回路の構成を示すブロック図。
【図５】同状態制御回路における動作の手順を示すフローチャート。
【図６】参考例１による比較器型ＢＩＳＴ回路を用いてＢＩＳＴ動作を行う半導体集積回路の構成を示したブロック図。
【図７】参考例２による圧縮器型ＢＩＳＴ回路を用いてＢＩＳＴ動作を行う半導体集積回路の構成を示したブロック図。
【図８】参考例１による半導体集積回路を用いて故障診断動作を行う際の構成を示したブロック図。
【図９】参考例３によるＢＩＳＴ回路を用いて故障診断動作を行う半導体集積回路の構成を示したブロック図。
【図１０】同半導体集積回路におけるＢＩＳＴ動作設定レジスタの構成を示した説明図。
【図１１】同半導体集積回路において故障診断を行う場合の信号の流れを示したブロック図。
【図１２】本発明の実施の形態２によるＢＩＳＴ回路を用いて故障診断動作を行う半導体集積回路が有するＢＩＳＴ回路の構成を示したブロック図。
【図１３】同半導体集積回路が有するメモリカラーの構成を示したブロック図。
【符号の説明】
【０１８７】
４００、１４００  ＢＩＳＴ回路
４０１、１４０１  ＢＩＳＴ制御回路
４０２、１４０２  データ生成器
４０３、１４０３  アドレス生成器
４０４、１４０４  制御信号生成器
４０５、１４０５  結果解析器
４０６、１４０６  診断データ保存回路
４１６、１４１６  メモリカラー
４１７、１４１７  メモリセル
４１８、５０５、５０６、１４１８  取り込みレジスタ
４２０、５１４、５１５  比較回路
４２２、１４２２  フラグレジスタ
５０８、５０９  保存レジスタ
５１８  フラグ抑制信号用レジスタ
【図１】
2008016156.tif 000003
【図２】
2008016156.tif 000004
【図３】
2008016156.tif 000005
【図４】
2008016156.tif 000006
【図５】
2008016156.tif 000007
【図６】
2008016156.tif 000008
【図７】
2008016156.tif 000009
【図８】
2008016156.tif 000010
【図９】
2008016156.tif 000011
【図１０】
2008016156.tif 000012
【図１１】
2008016156.tif 000013
【図１２】
2008016156.tif 000014
【図１３】
2008016156.tif 000015