(57)【要約】【課題】メモリＢＩＳＴ回路が持つテストパターンにより容易に故障検出することが可能な故障検出回路、および故障検出方法を提供する。【解決手段】メモリマクロ１００の故障検出をするメモリＢＩＳＴ回路１４０と、メモリマクロ１００の出力信号を入力とする組合せ論理回路１１０と、組合せ論理回路１１０の出力信号を保持する論理出力保持フリップフロップ１２０の出力信号と、メモリマクロ１００の出力信号を保持するメモリ出力保持フリップフロップ１５００、１５０ｎの出力信号とを切り替え選択し前記メモリＢＩＳＴ回路１４０に入力するＢＩＳＴ入力セレクタ１６００、１６０ｎと、前記組合せ論理回路１１０の入力信号をメモリマクロ１００の出力信号の遷移が前記論理出力保持フリップフロップ１２０まで伝播するよう制御するパス活性化制御回路１３０を備えるようにした。【選択図】      図１
2004334933.tif 000002
【特許請求の範囲】
【請求項１】
メモリマクロを有する故障検出回路において、
前記メモリマクロの故障検出をするメモリＢＩＳＴ回路と、
前記メモリマクロの出力信号を入力とする組合せ論理回路と、
前記組合せ論理回路の出力信号を保持する論理出力保持フリップフロップと、
前記メモリマクロの出力信号を保持するメモリ出力保持フリップフロップと、
前記メモリ出力保持フリップフロップの出力信号と、前記論理出力保持フリップフロップの出力信号とを切り替え選択し前記メモリＢＩＳＴ回路に入力するＢＩＳＴ入力セレクタと、
前記組合せ論理回路の入力信号を、前記メモリマクロの出力信号の遷移が前記組合せ論理回路を経て前記論理出力保持フリップフロップまで伝播するよう制御するパス活性化制御回路を備える、ことを特徴とする故障検出回路。
【請求項２】
メモリマクロの故障検出をするメモリＢＩＳＴ回路を用いて、前記メモリマクロの出力に繋がる組合せ論理回路の故障を検出する方法において、
前記メモリＢＩＳＴ回路により、所定の順序で連続読み出しする際に出力信号が１ビット以上遷移するビットパターンの系列を前記メモリマクロにあらかじめ書き込むビットパターン書き込みサイクルと、
前記メモリマクロからの出力信号で今故障検出しようと着目している検査ビットの信号の遷移が前記組合せ論理回路の出力まで伝播するよう前記組合せ論理回路の入力信号を制御し、前記メモリＢＩＳＴ回路へのフィードバックパスには、検査ビットにおいては前記組合せ論理回路の出力信号または該出力信号の論理否定値を、検査ビット以外においてはメモリマクロの出力信号を選択的に入力設定するテスト状態設定サイクルと、
前記メモリＢＩＳＴ回路により先に仮定した順序での前記メモリマクロのリードアクセスを行い、その結果をメモリＢＩＳＴ回路が有する期待値チェック機能によって逐次故障判定を行い、１回以上のメモリマクロリード、ならびに故障判定動作によって構成される故障判定サイクルを有し、
前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルを順に行なう、ことを特徴とする故障検出方法。
【請求項３】
請求項１記載の故障検出回路において、
前記組合せ論理回路は、
１ビット幅以上の前記メモリマクロの出力信号と、前記メモリマクロの出力信号と同じビット幅を持つ比較入力信号との２値を入力とし、前記メモリマクロの出力信号と前記比較入力信号との一致を検出する２値一致検出回路と、該２値一致検出回路の少なくとも一方の入力端に対して該故障検出中に前記メモリマクロの出力信号の遷移が該完全一致比較回路の出力へ伝播するよう所望の値に制御するメモリマクロ出力遷移伝播制御回路からなる、２値のビット幅数個のビット一致回路と、
各ビット一致回路の出力信号を入力とする論理積回路とを備える、ことを特徴とする故障検出回路。
【請求項４】
請求項３記載の故障検出回路において、
前記ビット一致回路は、
前記メモリマクロの出力信号と、該メモリマクロの出力信号のうちの特定の当該ビットから前記論理出力保持フリップフロップまでの経路の信号の遷移を観測しないビットである非該当ビット信号を入力とし、非該当ビット出力信号を出力する第１の論理積回路と、
前記該当ビット信号と、前記メモリマクロの出力信号が１に一致する場合の前記経路の信号の遷移を観測することを示す出力立ち上がり時観測信号を入力とする第２の論理積回路と、
該第２の論理積回路の出力信号と、前記比較入力信号を入力とする第１の排他的論理和回路と、
該第１の排他的論理和回路の出力信号と、ＢＩＳＴ動作中であることを示すＢＩＳＴ動作状態信号を入力とし、ＢＩＳＴ時調整信号を出力する第３の論理積回路と、
前記非該当ビット出力信号と前記ＢＩＳＴ時調整信号を入力とする第２の排他的論理和回路と、
該第２の排他的論理和回路の出力信号と外部からの比較入力信号を入力とし、一致回路入力信号を出力する第３の排他的論理和回路とを備え、
該一致回路入力信号は、前記メモリマクロの出力信号とともに一致検出回路に入力され、一致または不一致の２値状態を示すビット一致信号を出力する、ことを特徴とする故障検出回路。
【請求項５】
請求項４記載の故障検出回路において、
前記該当ビット信号と、前記非該当ビット信号と、前記出力立ち上がり時観測信号と、前記ＢＩＳＴ入力セレクタ制御信号を生成するテスト状況制御回路を備える、ことを特徴とする故障検出回路。
【請求項６】
請求項５記載の故障検出回路において、
前記テスト状況制御回路は、
前記メモリＢＩＳＴ回路が連続して行うリードアクセス数を順次カウントするカウンタ回路を備え、
前記メモリマクロの各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号の遷移を順次起こすよう前記カウンタ回路の出力信号に基づき前記該当ビット信号ならび前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、
前記ＢＩＳＴ入力セレクタは、
前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御する、ことを特徴とする故障検出回路。
【請求項７】
請求項５記載の故障検出回路において、
前記テスト状況制御回路は、
前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号遷移を順次起こすよう前記該当ビット信号ならびに前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、
前記ＢＩＳＴ入力セレクタは、
前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御する、ことを特徴とする故障検出回路。
【請求項８】
請求項２記載の故障検出方法において、
前記メモリマクロそのものに存在しうる故障を検出するメモリ故障検出サイクルを、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルとは別に完全独立して、前記メモリＢＩＳＴ回路へのフィードバックパスに対して全ビットのメモリマクロの出力信号を選択的に入力することにより行なう、ことを特徴とする故障検出方法。
【請求項９】
請求項２記載の故障検出方法において、
前記メモリ故障検出サイクルは、
複数のビットパターンおよび複数の書き込み読み出しのアクセス系列からなるメモリＢＩＳＴ動作で構成され、
前記複数のビットパターンならびに前記複数の書き込み読み出しのアクセス系列のうち、前記ビットパターン書き込みサイクルに合致するビットパターンであり、かつ前記故障判定サイクルに合致するメモリリードアクセス系列の時には、前記メモリ故障検出サイクル中に、前記テスト状態設定サイクルで設定した前記組合せ論理回路を経る経路によってメモリおよび該経路上の故障判定を行なう、ことを特徴とする故障検出方法。
【請求項１０】
請求項１記載の故障検出回路において、
前記メモリＢＩＳＴ回路は、
前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット同士間でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出回路。
【請求項１１】
請求項１０記載の故障検出回路において、
前記メモリＢＩＳＴ回路は、
隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出回路。
【請求項１２】
請求項１０記載の故障検出回路において、
前記メモリＢＩＳＴ回路は、
全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出回路。
【請求項１３】
請求項２記載の故障検出方法において、
前記メモリＢＩＳＴ回路にて、前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット間同士でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出方法。
【請求項１４】
請求項１３記載の故障検出方法において、
前記メモリＢＩＳＴ回路にて、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出方法。
【請求項１５】
請求項１３記載の故障検出方法において、
前記メモリＢＩＳＴ回路にて、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをする、ことを特徴とする故障検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、故障検出回路、および故障検出方法に関し、特にメモリマクロから出力された信号を入力とする組合せ論理回路への経路において、該経路上の縮退故障ならびに遅延故障を検出する回路、および方法に関するものである。
【０００２】
【従来の技術】
従来の、メモリマクロの出力信号を入力とする組合せ論理回路の経路上の縮退故障検出、ならびに遅延故障検出には、当該経路が実際に動作する機能テストパターンを多数作成し、テスターを用いてそれらのテストパターン実行により故障検出している。（たとえば、非特許文献１参照。）
【０００３】
図１２は、従来技術によるメモリマクロとメモリマクロ出力に繋がる論理回路の故障検出方法を示す図である。
図１２において、１００は１ワードがｎ＋１ビット幅以上で構成されるメモリマクロであり、Ｓ１０００およびＳ１００ｎはメモリマクロ１００の出力信号ビット０およびビットｎを示す。
【０００４】
１１０は組合せ論理回路であり、Ｓ１１０は組合せ論理回路１１０の出力信号であり、Ｓ１０５は組合せ論理回路１１０への入力信号である。
１２０は組合せ論理回路１１０からの出力信号Ｓ１１０を受ける論理出力保持フリップフロップであり、Ｓ１２０は論理出力保持フリップフロップ１２０の出力信号である。
【０００５】
１４０はメモリマクロ１００に対するメモリＢＩＳＴ回路であり、Ｓ１４０はメモリＢＩＳＴ回路１４０がメモリマクロ１００に対して出力するメモリＢＩＳＴ回路出力信号である。
１５００と１５０ｎは、それぞれメモリマクロ１００の出力信号Ｓ１０００ならびにＳ１００ｎを受けるメモリ出力保持フリップフロップ０ならびにｎである。
【０００６】
Ｓ１５００とＳ１５０ｎは、メモリ出力保持フリップフロップ１５００ならびに１５０ｎが出力する信号である。
従来では、メモリマクロそのものの故障検出には図１２中の閉ループ部分で示されるメモリＢＩＳＴ回路１４０を用い、付随する組合せ論理回路１１０の故障検出は、上述の通り多数の機能テストパターンにより故障検出をしていた。
【０００７】
【非特許文献１】
アルフレッド  エル．グロー（Ａｌｆｒｅｄ  Ｌ．Ｇｒｏｕｃｈ）著、「デザイン  フォー  テスト−４．６  エンベディッド  メモリー  テスティング  メソッズ（ＤＥＳＩＧＮ  ＦＯＲ  ＴＥＳＴ−４．６  Ｅｍｂｅｄｄｅｄ  Ｍｅｍｏｒｙ  Ｔｅｓｔｉｎｇ  Ｍｅｔｈｏｄｓ）」、プレンティス  ホール（ＰＲＥＮＴＩＣＥ  ＨＡＬＬ）、ｐ．１９０−１９１
【０００８】
【発明が解決しようとする課題】
しかしながら、従来例の、メモリマクロの出力に繋がる組合せ論理回路を通る信号経路上の、縮退故障ならびに遅延故障の検出には、当該経路が動作する多数のテストパターン作成と、該パターン群をテスター装置で実行するためのテストコスト増という問題があった。
【０００９】
本発明の目的は、上記のような従来の問題点を解決するためになされたもので、近年メモリマクロ自体の故障検出用に導入されつつあるメモリＢＩＳＴ回路を流用することにより、メモリマクロ出力に繋がる組合せ論理回路の故障検出も行なえるようにし、ＢＩＳＴ回路の持つパターンで動作することによりテストパターンの不要化によるテストコストの増大を抑える故障検出回路、および故障検出方法を得ることを目的とする。
【００１０】
【課題を解決するための手段】
本発明の請求項１による故障検出回路は、メモリマクロを有する故障検出回路において、前記メモリマクロの故障検出をするメモリＢＩＳＴ回路と、前記メモリマクロ出力信号を入力とする組合せ論理回路と、前記組合せ論理回路の出力信号を保持する論理出力保持フリップフロップと、前記メモリマクロの出力信号を保持するメモリ出力保持フリップフロップと、前記メモリ出力保持フリップフロップの出力信号と、前記論理出力保持フリップフロップの出力信号とを切り替え選択し前記メモリＢＩＳＴ回路に入力するＢＩＳＴ入力セレクタと、前記組合せ論理回路の入力信号を、前記メモリマクロの出力信号の遷移が前記組合せ論理回路を経て前記論理出力保持フリップフロップまで伝播するよう制御するパス活性化制御回路を備えるものである。
【００１１】
本発明の請求項２による故障検出方法は、メモリマクロの故障検出をするメモリＢＩＳＴ回路を用いて、前記メモリマクロの出力に繋がる組合せ論理回路の故障を検出する方法において、前記メモリＢＩＳＴ回路により、所定の順序で連続読み出しする際に出力信号が１ビット以上遷移するビットパターンの系列を前記メモリマクロにあらかじめ書き込むビットパターン書き込みサイクルと、前記メモリマクロからの出力信号で今故障検出しようと着目している検査ビットの信号の遷移が前記組合せ論理回路の出力まで伝播するよう前記組合せ論理回路の入力信号を制御し、前記メモリＢＩＳＴ回路へのフィードバックパスには、検査ビットにおいては前記組合せ論理回路の出力信号または該出力信号の論理否定値を、検査ビット以外においてはメモリマクロの出力信号を選択的に入力設定するテスト状態設定サイクルと、前記メモリＢＩＳＴ回路により先に仮定した順序での前記メモリマクロのリードアクセスを行い、その結果をメモリＢＩＳＴ回路が有する期待値チェック機能によって逐次故障判定を行い、１回以上のメモリマクロリード、ならびに故障判定動作によって構成される故障判定サイクルを有し、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルを順に行なうものである。
【００１２】
本発明の請求項３による故障検出回路は、請求項１記載の故障検出回路において、前記組合せ論理回路は、１ビット幅以上の前記メモリマクロの出力信号と、前記メモリマクロの出力信号と同じビット幅を持つ比較入力信号との２値を入力とし、前記メモリマクロの出力信号と前記比較入力信号との一致を検出する２値一致検出回路と、該２値一致検出回路の少なくとも一方の入力端に対して該故障検出中に前記メモリマクロの出力信号の遷移が該完全一致比較回路の出力へ伝播するよう所望の値に制御するメモリマクロ出力遷移伝播制御回路からなる、２値のビット幅数個のビット一致回路と、各ビット一致回路出力信号を入力とする論理積回路とを備えるものである。
【００１３】
本発明の請求項４による故障検出回路は、請求項３記載の故障検出回路において、前記ビット一致回路は、前記メモリマクロの出力信号と、該メモリマクロの出力信号のうちの特定の当該ビットから前記論理出力保持フリップフロップまでの経路の信号の遷移を観測しないビットである非該当ビット信号を入力とし、非該当ビット出力信号を出力する第１の論理積回路と、前記該当ビット信号と、前記メモリマクロの出力信号が１に一致する場合の前記経路の信号の遷移を観測することを示す出力立ち上がり時観測信号を入力する第２の論理積回路と、該第２の論理積回路の出力信号と、前記比較入力信号を入力とする第１の排他的論理和回路と、該第１の排他的論理和回路の出力信号と、ＢＩＳＴ動作中であることを示すＢＩＳＴ動作状態信号を入力とし、ＢＩＳＴ時調整信号を出力する第３の論理積回路と、前記非該当ビット出力信号と前記ＢＩＳＴ時調整信号を入力とする第２の排他的論理和回路と、該第２の排他的論理和回路の出力信号と外部からの比較入力信号を入力とし、一致回路入力信号を出力する第３の排他的論理和回路とを備え、該一致回路入力信号は、前記メモリマクロの出力信号とともに一致検出回路に入力され、一致または不一致の２値状態を示すビット一致信号を出力するものである。
【００１４】
本発明の請求項５による故障検出回路は、請求項４記載の故障検出回路において、前記該当ビット信号と、前記非該当ビット信号と、前記出力立ち上がり時観測信号と、前記ＢＩＳＴ入力セレクタ制御信号を生成するテスト状況制御回路を備えるものである。
【００１５】
本発明の請求項６による故障検出回路は、請求項５記載の故障検出回路において、前記テスト状況制御回路は、前記メモリＢＩＳＴ回路が連続して行うリードアクセス数を順次カウントするカウンタ回路を備え、前記メモリマクロの各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号の遷移を順次起こすよう前記カウンタ回路の出力信号に基づき前記該当ビット信号ならび前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、前記ＢＩＳＴ入力セレクタは、前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御するものである。
【００１６】
本発明の請求項７による故障検出回路は、請求項５記載の故障検出回路において、前記テスト状況制御回路は、前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号の遷移を順次起こすよう前記該当ビット信号ならびに前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、前記ＢＩＳＴ入力セレクタは、前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御するものである。
【００１７】
本発明の請求項８による故障検出方法は、請求項２記載の故障検出方法において、前記メモリマクロそのものに存在しうる故障を検出するメモリ故障検出サイクルを、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルとは別に完全独立して、前記メモリＢＩＳＴ回路へのフィードバックパスに対して全ビットのメモリマクロの出力信号を選択的に入力することにより行なうものである。
【００１８】
本発明の請求項９による故障検出方法は、請求項２記載の故障検出方法において、前記メモリ故障検出サイクルは、複数のビットパターンおよび複数の書き込み読み出しのアクセス系列からなるメモリＢＩＳＴ動作で構成され、前記複数のビットパターンならびに前記複数の書き込み読み出しのアクセス系列のうち、前記ビットパターン書き込みサイクルに合致するビットパターンであり、かつ前記故障判定サイクルに合致するメモリリードアクセス系列の時には、前記メモリ故障検出サイクル中に、前記テスト状態設定サイクルで設定した前記組合せ論理回路を経る経路によってメモリおよび該経路上の故障判定を行なうものである。
【００１９】
本発明の請求項１０による故障検出回路は、請求項１記載の故障検出回路において、前記メモリＢＩＳＴ回路は、前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット同士間でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２０】
本発明の請求項１１による故障検出回路は、請求項１０記載の故障検出回路において、前記メモリＢＩＳＴ回路は、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２１】
本発明の請求項１２による故障検出回路は、請求項１０記載の故障検出回路において、前記メモリＢＩＳＴ回路は、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２２】
本発明の請求項１３による故障検出方法は、請求項２記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット間同士でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２３】
本発明の請求項１４による故障検出方法は、請求項１３記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２４】
本発明の請求項１５による故障検出方法は、請求項１３記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするものである。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を例示し、参照しながら説明する。（実施の形態１）
図１は、本発明の実施の形態１による故障検出回路の構成を示すブロック図である。
図１において、１００は１ワードがｎ＋１ビット幅以上で構成されるメモリマクロであり、Ｓ１０００およびＳ１００ｎはメモリマクロ１００の出力信号ビット０およびビットｎを示す。
【００２６】
１１０は組合せ論理回路であり、Ｓ１１０は組合せ論理回路１１０の出力信号であり、Ｓ１０５は組合せ論理回路１１０への入力信号であり、同じくＳ１３０はパス活性化制御回路１３０から組合せ論理回路１１０への１ビット以上の幅を持つパス活性化制御信号である。
【００２７】
１２０は組合せ論理回路１１０からの出力信号Ｓ１１０を受ける論理出力保持フリップフロップであり、Ｓ１２０は論理出力保持フリップフロップ１２０の出力信号である。
１４０はメモリマクロ１００に対するメモリＢＩＳＴ回路であり、Ｓ１４０はメモリＢＩＳＴ回路１４０がメモリマクロ１００に対して出力するメモリＢＩＳＴ回路出力信号である。
【００２８】
１５００と１５０ｎは、それぞれメモリマクロ１００の出力信号Ｓ１０００ならびにＳ１００ｎを受けるメモリ出力保持フリップフロップ０ならびにｎである。
Ｓ１５００とＳ１５０ｎは、メモリ出力保持フリップフロップ１５００ならびに１５０ｎが出力する信号である。
【００２９】
１６００は、メモリ出力保持フリップフロップ０の出力信号Ｓ１５００と論理出力保持フリップフロップ１２０の出力信号Ｓ１２０とをセレクトするＢＩＳＴ入力セレクタ０であり、１６０ｎは、メモリ出力保持フリップフロップｎの出力信号Ｓ１５０ｎと論理出力保持フリップフロップ１２０の出力信号Ｓ１２０とをセレクトするＢＩＳＴ入力セレクタｎである。
【００３０】
Ｓ１６００ならびにＳ１６０ｎは、ＢＩＳＴ入力セレクタ１６００ならびに１６０ｎの出力信号でありメモリＢＩＳＴ回路１４０への入力信号である。
Ｓ１６００ｃとＳ１６０ｎｃは、ＢＩＳＴ入力セレクタ１６００ならびに１６０ｎのセレクト信号である。
【００３１】
図２は、図１の構成における、動作タイミングを表すタイミング図である。
図２において、（ａ）は図１の回路構成中において共通的に用いられているクロック信号、（ｂ）はメモリＢＩＳＴ回路出力信号Ｓ１４０の信号波形、（ｃ）はメモリマクロ出力信号ビット０Ｓ１０００の信号波形、（ｄ）はメモリマクロ出力信号ビットｎＳ１００ｎの信号波形、（ｅ）はメモリ出力保持フリップフロップ０出力信号Ｓ１５００の信号波形、（ｆ）はメモリ出力保持フリップフロップｎ出力信号Ｓ１５０ｎの信号波形、（ｇ）は組合せ論理回路入力信号Ｓ１０５の信号波形、（ｈ）はパス活性化制御信号Ｓ１３０の信号波形、（ｉ）は組合せ論理回路出力信号Ｓ１１０の信号波形、（ｊ）は論理出力保持フリップフロップ出力信号Ｓ１２０の信号波形、（ｋ）はＢＩＳＴ入力セレクタ０制御信号Ｓ１６００ｃの信号波形、（ｌ）はＢＩＳＴ入力セレクタｎ制御信号Ｓ１６０ｎｃの信号波形、（ｍ）はＢＩＳＴ入力セレクタ０出力信号Ｓ１６００の信号波形、（ｎ）はＢＩＳＴ入力セレクタｎ出力信号Ｓ１６０ｎの信号波形を示す。
【００３２】
以下では図２のタイミング図を用いて、図１の構成の故障検出回路の動作を説明する。
Ｔ０ならびにＴ１、Ｔ２におけるメモリＢＩＳＴ回路出力信号Ｓ１４０の値に基づき、メモリマクロ１００がリードアクセスを開始し、その結果のうちのｎ＋１ビット幅分がＳ１０００，…，Ｓ１００ｎとして出力される。Ｔ０〜Ｔ３にかけては、Ｓ１０００のみがＴ０以前のリード値と異なる値を読み出して信号遷移している。
【００３３】
パス活性化制御回路１３０は、Ｔ０からＴ３を過ぎるまでメモリマクロ出力信号Ｓ１０００の信号遷移が組合せ論理回路出力信号Ｓ１１０まで伝播するようなパス活性化制御信号Ｓ１３０を出力している。Ｔ０〜Ｔ３への動作サイクルでのメモリマクロ出力信号ビット０Ｓ１０００の信号遷移が、組合せ論理回路１１０を経て論理出力保持フリップフロップ１２０で取り込まれる。
【００３４】
Ｔ１からＴ３とＴ３の次の動作サイクルにかけて、論理出力保持フリップフロップ１２０ならびにメモリ出力保持フリップフロップ１５００は、メモリマクロ出力信号ビット０Ｓ１０００の信号遷移を受けて出力値を遷移させる。
【００３５】
ＢＩＳＴ入力セレクタ１６００は、Ｔ２，Ｔ３のクロック立ち上がり時に論理出力保持フリップフロップ１２０からの信号Ｓ１２０を出力するようＢＩＳＴ入力セレクタ制御信号Ｓ１６００ｃにより制御され、ＢＩＳＴ入力セレクタ１６００の出力信号Ｓ１６００は、Ｔ１〜Ｔ２、Ｔ２〜Ｔ３のサイクルで論理出力保持フリップフロップ出力信号Ｓ１２０側の論理に追随して変化する。
【００３６】
ＢＩＳＴ入力セレクタ１６０ｎは、Ｔ２，Ｔ３のクロック立ち上がり時にメモリ出力保持フリップフロップｎ出力信号Ｓ１５０ｎをセレクトするようＢＩＳＴ入力セレクタｎ制御信号Ｓ１６０ｎｃにより制御され、ＢＩＳＴ入力セレクタｎ出力信号Ｓ１６０ｎはＴ１〜Ｔ２，Ｔ２〜Ｔ３のサイクルでメモリ出力保持フリップフロップＳ１５０ｎ側の論理に追随して変化する。
【００３７】
メモリＢＩＳＴ回路１４０は、クロックの立ち上がりＴ２，Ｔ３での入力値である前記ＢＩＳＴ入力セレクタ０出力信号Ｓ１６００ならびに前記ＢＩＳＴ入力セレクタｎ出力信号Ｓ１６０ｎをもって、期待値と比較しＴ０，Ｔ１におけるメモリリード値と一致すること、すなわちＴ０，Ｔ１で読み出したメモリリード値が組合せ論理回路１１０を経て論理出力保持フリップフロップ１２０まで伝播したことを確認できる。
【００３８】
同様にして、メモリマクロ出力信号Ｓ１００ｎから組合せ論理回路１１０を経て論理出力保持フリップフロップ１２０までの信号遷移を確認するのがクロック信号立ち上がりＴｘ以降のサイクルであり、Ｔｘで読み出したメモリ出力値Ｓ１００ｎに基づいてＴｘ＋２の時点でメモリＢＩＳＴ回路１４０が期待値と比較を行なう。
【００３９】
この間、ＢＩＳＴ入力セレクタ１６０ｎの制御信号Ｓ１６０ｎｃは論理出力保持フリップフロップ１２０からの出力信号Ｓ１２０側をセレクトするよう制御され、ＢＩＳＴ入力セレクタ１６００の制御信号Ｓ１６００ｃはメモリ出力保持フリップフロップ１５００からの出力信号Ｓ１５００側をセレクトするよう制御されている。
【００４０】
以上のように、本実施の形態１によれば、メモリマクロ１００を有する故障検出回路において、前記メモリマクロ１００の故障検出をするメモリＢＩＳＴ回路１４０と、前記メモリマクロ出力信号Ｓ１０００、Ｓ１００ｎを入力とする組合せ論理回路１１０と、前記組合せ論理回路出力信号Ｓ１１０を保持する論理出力保持フリップフロップ１２０と、前記メモリマクロ出力信号Ｓ１０００を保持するメモリ出力保持フリップフロップ１５００と、前記メモリマクロ出力信号Ｓ１００ｎを保持するメモリ出力保持フリップフロップ１５０ｎと、Ｔ２、Ｔ３のクロックの立ち上がり時に前記論理出力保持フリップフロップ出力信号Ｓ１２０を前記メモリＢＩＳＴ回路１４０に入力するＢＩＳＴ入力セレクタ１６００と、Ｔ２、Ｔ３のクロックの立ち上がり時に前記メモリ出力保持フリップフロップ出力信号Ｓ１５０ｎを前記メモリＢＩＳＴ回路１４０に入力するＢＩＳＴ入力セレクタ１６０ｎと、前記組合せ論理回路の入力信号を前記メモリマクロ１００の出力信号の遷移が前記組合せ論理回路１１０を経て前記論理出力保持フリップフロップ１２０まで伝播するよう制御するパス活性化制御回路１３０を備えるようにしたので、組合せ論理回路１１０を経る経路の故障を、メモリマクロ１００からの出力ビットを順次信号遷移させ、論理出力保持フリップフロップ１２０が取り込んだ値を該当ビットにおけるメモリリード値であるようにＢＩＳＴ入力セレクタ１６００、１６０ｎを制御し、メモリＢＩＳＴ回路１４０へ入力することにより、メモリＢＩＳＴ回路１４０はあたかもメモリマクロに対してＢＩＳＴ動作しているかのようにして、該当経路の故障が存在するか否かを検出できるという効果がある。
【００４１】
（実施の形態２）
図３は、本発明の実施の形態２による故障検出回路の構成を示すブロック図であり、図１における組合せ論理回路１１０およびパス活性化制御回路１３０を内包する一例を示し、メモリマクロからの出力信号と外部からの比較入力信号の完全一致を比較する回路図である。
図３において、メモリマクロからの１ビット幅以上のメモリマクロ出力信号と、前記メモリマクロ出力信号と同じビット幅を持つ比較入力信号との２値を入力とし、前記メモリマクロ出力信号と前記比較入力信号との一致を検出する２値一致検出回路（３６００と３７００）と、前記２値一致検出回路の少なくとも一方の入力端に対して故障検出中に前記メモリマクロ出力信号の遷移が完全一致比較回路の出力に伝播するよう所望の値に制御し、前記パス活性化回路の機能を有するメモリマクロ出力遷移伝播回路２９００とからなる、２値のビット幅数のビット一致回路２０００と、各ビット一致回路出力信号Ｓ２０１０を入力とする論理積回路３８０とを備える。
【００４２】
以下、詳しく説明すると、Ｓ２０００はメモリマクロ出力信号ビット０であり、Ｓ２００ｎはメモリマクロ出力信号ビットｎであり、Ｓ２８００はＢＩＳＴ入力セレクタ制御信号０であり、Ｓ２８０ｎはＢＩＳＴ入力セレクタ制御信号ｎであり、Ｓ２９５は一致信号である。なお、これらの信号は、図１においてそれぞれＳ１０００，Ｓ１００ｎ，Ｓ１６００ｃ，Ｓ１６０ｎｃ，Ｓ１１０に対応する。
【００４３】
図３におけるその他の記号は、Ｓ２１５０は非該当ビット信号０であり、Ｓ２２０はＢＩＳＴ動作状態信号であり、Ｓ２１００は該当ビット信号０であり、Ｓ２３０は出力立ち上がり時観測信号であり、Ｓ２４００は比較入力信号ビット０であり、Ｓ２５００は非該当ビット出力信号０であり、Ｓ２６００はＢＩＳＴ時調整信号０であり、Ｓ２０１０はビット一致信号０であり、２０００の枠で囲まれている回路がビット一致回路―０であり、２９００の枠で囲まれている回路がメモリマクロ出力伝播制御回路０である。
【００４４】
また、Ｓ２１５ｎは非該当ビット信号ｎであり、Ｓ２１０ｎは該当ビット信号ｎであり、Ｓ２４０ｎは比較入力信号ビットｎであり、Ｓ２５０ｎは非該当ビット出力信号ｎであり、Ｓ２６０ｎはＢＩＳＴ時調整信号ｎであり、Ｓ２０１ｎはビット一致信号ｎであり、２００ｎの枠で囲まれている回路がビット一致回路―ｎであり、２９０ｎの枠で囲まれている回路がメモリマクロ出力伝播制御回路ｎである。
【００４５】
第１の論理積回路３１００は、前記メモリマクロ出力信号Ｓ２０００と、該出力信号のうちの特定の当該ビットから前記論理出力保持フリップフロップまでの信号遷移を観測することを示す該当ビット信号Ｓ２１００に対しそのビットに該当しないことを示す非該当ビット信号Ｓ２１５０が入力され、非該当ビット出力信号Ｓ２５００が出力される。
【００４６】
第２の論理積回路３２００は、前記該当ビット信号Ｓ２１００と、前記メモリマクロ出力信号Ｓ２０００が１に一致する場合の経路の信号遷移を観測することを示す出力立ち上がり時観測信号Ｓ２３０が入力され、第２の論理積回路出力信号Ｓ３２００が出力される。
【００４７】
第１の排他的論理和回路３４００は、該第２の論理積回路出力信号Ｓ３２００と、比較入力信号Ｓ２４００が入力され、第１の排他的論理和回路出力信号Ｓ３４００が出力される。
【００４８】
第３の論理積回路３３００は、該第１の排他的論理和回路出力信号Ｓ３４００と、ＢＩＳＴ動作中であることを示すＢＩＳＴ動作状態信号Ｓ２２０が入力され、ＢＩＳＴ時調整信号Ｓ２６００が出力される。
【００４９】
第２の排他的論理和回路３５００は、前記非該当ビット出力信号Ｓ２５００とＢＩＳＴ時調整信号Ｓ２６００が入力され、第２の排他的論理和回路出力信号Ｓ３５００が出力される。
【００５０】
第３の排他的論理和回路３６００は、該第２の排他的論理和回路出力信号Ｓ３５００と比較入力信号Ｓ２４００を入力され、一致回路入力信号Ｓ２５５０が出力される。
【００５１】
該一致回路入力信号Ｓ２５５０は、前記メモリマクロ出力信号Ｓ２０００とともに一致検出回路３７００に入力され、一致または不一致の２値状態を示すビット一致回路出力信号Ｓ２０１０が出力される。
【００５２】
なお、第１の論理積回路３１０ｎ、第２の論理積回路３２０ｎ、第１の排他的論理和回路３４０ｎ、第３の論理積回路３３０ｎ、第２の排他的論理和回路３５０ｎ、第３の排他的論理和回路３６０ｎ、一致検出回路３７０ｎの構成及び動作は、それぞれ３１００、３２００、３４００、３３００、３５００、３６００、３７００と同様である。
【００５３】
また、Ｓ３２０ｎは第２の論理積回路出力信号ｎであり、Ｓ３４０ｎは第１の排他的論理和回路出力信号ｎであり、Ｓ３５０ｎは第２の排他的論理和回路出力信号ｎであり、それぞれＳ３２００、Ｓ３４００、Ｓ３５００と同様である。
【００５４】
ビット一致回路出力信号Ｓ２０１０、Ｓ２０１ｎは、第４の論理積回路３８０に入力され、一致信号Ｓ２９５が出力される。
【００５５】
また、２７０はテスト状況制御回路であり、該当ビット信号０Ｓ２１００、該当ビット信号ｎＳ２１０ｎ、ＢＩＳＴ入力セレクタ制御信号０Ｓ２８００、ＢＩＳＴ入力セレクタ制御信号ｎＳ２８０ｎ、出力立ち上がり時観測信号Ｓ２３０、非該当ビット信号０Ｓ２１５０、非該当ビット信号ｎＳ２１５ｎを生成し出力する。
【００５６】
図４は、図３におけるテスト状況制御回路２７０の一例を示す回路図である。
なお、図３の以下の信号、該当ビット信号０Ｓ２１００，該当ビット信号ｎＳ２１０ｎ，ＢＩＳＴ入力セレクタ制御信号０Ｓ２８００，ＢＩＳＴ入力セレクタ制御信号ｎＳ２８０ｎ，出力立ち上がり時観測信号Ｓ２３０，非該当ビット信号０Ｓ２１５０，非該当ビット信号ｎＳ２１５ｎは、それぞれ図４の以下の信号Ｓ４１００，Ｓ４１０ｎ，Ｓ４２００，Ｓ４２０ｎ，Ｓ４０１，Ｓ４１００ｉ，Ｓ４１０ｎｉに対応する。
【００５７】
Ｓ４００はｍビットカウント信号であり、Ｓ４０２はｍビットカウント信号Ｓ４００の上位（ｍ−２）ビットの信号であり、Ｓ４０３、Ｓ４０４はそれぞれｍビットカウント信号Ｓ４００の第０ビット目、および第１ビット目である。
４００はｍビットカウンタ回路であり、４１０はデコード回路であり、４２００および４２０ｎはフリップフロップである。
【００５８】
ｍビットカウンタ回路４００は、メモリＢＩＳＴ回路が連続して行うリードアクセス数を順次カウントしてｍビットカウント値Ｓ４００を出力する。
ｍビットカウント信号Ｓ４００の第０ビット目、および第１ビット目Ｓ４０３、Ｓ４０４は一致検出回路４３０に入力され、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号遷移を順次起こすよう出力立ち上がり時観測信号Ｓ４０１を出力し制御する。
【００５９】
デコード回路４１０は、ｍビットカウント信号Ｓ４００の上位（ｍ−２）ビットの信号Ｓ４０２が入力され、前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号遷移を順次起こすよう前記該当ビット信号Ｓ４１００、Ｓ４１０ｎならびに前記非該当ビット信号Ｓ４１００ｉ、Ｓ４１０ｎを制御する。
【００６０】
該当ビット信号０Ｓ４１００はフリップフロップ４２００に入力され、ＢＩＳＴ入力セレクタ制御信号Ｓ４２００が出力される。また、該当ビット信号ｎＳ４１０ｎはフリップフロップ４２０ｎに入力され、ＢＩＳＴ入力セレクタ制御信号Ｓ４２０ｎが出力される。
【００６１】
図６は、図３の２値完全一致比較回路を実現する場合にＢＩＳＴ入力セレクタ周辺としてとるべき構成を表す図である。
図６中の各記号は、６００はメモリＢＩＳＴ回路、６１０ならびに６１ｎはメモリ出力保持フリップフロップ０ならびにｎ、６２０ならびに６２ｎは論理出力保持フリップフロップ０ならびにｎ、Ｓ６３０は出力立ち上がり時観測信号であり図３のＳ２３０および図４のＳ４０１に対応し、６４０ならびに６４ｎはＢＩＳＴ入力セレクタ０ならびにｎである。
【００６２】
また、Ｓ６４０ｃならびにＳ６４ｎｃはＢＩＳＴ入力セレクタ制御信号０ならびにｎであり、図３のＳ２８００ならびにＳ２８０ｎかつ図４のＳ４２００ならびにＳ４２０ｎにそれぞれ対応する。
【００６３】
メモリＢＩＳＴ回路６００へのフィードバック値決定回路６５０に論理出力保持フリップフロップ０からの信号Ｓ６２０と立ち上がり時観測信号Ｓ６３０が入力し、フィードバック信号Ｓ６５０を出力される。また、フィードバック値決定回路６５ｎに論理出力保持フリップフロップｎからの信号Ｓ６２ｎと立ち上がり時観測信号Ｓ６３０が入力し、フィードバック信号Ｓ６５ｎを出力される。
【００６４】
ＢＩＳＴ入力セレクタ６４０にメモリ保持出力フリップフロップ６１０からの信号Ｓ６１０とフィードバック信号Ｓ６５０が入力され、ＢＩＳＴ入力セレクタ制御信号Ｓ６４０ｃの制御により、メモリＢＩＳＴ回路出力信号Ｓ６４０がメモリＢＩＳＴ回路６００に出力される。
【００６５】
ここで、前記ＢＩＳＴ入力セレクタ制御信号Ｓ６４０ｃは、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップ６２０側の出力信号であるフィードバック信号Ｓ６５０を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップ６１０側の出力信号Ｓ６１０を選択するよう制御する。
【００６６】
また、前記フィードバック信号Ｓ６５０は、出力立ち上がり時観測信号Ｓ６３０に基づいて、論理出力保持フリップフロップからのそのものの信号、もしくは該信号の否定論理値が出力される。
【００６７】
また、ＢＩＳＴ入力セレクタ６４ｎにフィードバック信号Ｓ６５ｎとメモリ保持出力フリップフロップ６１ｎからの信号Ｓ６１ｎが入力され、ＢＩＳＴ入力セレクタ制御信号Ｓ６４ｎｃの制御により、メモリＢＩＳＴ回路出力信号Ｓ６４ｎがメモリＢＩＳＴ回路６００に出力される。
【００６８】
図５は、図３ならびに図４、加えて図６の構成における、動作タイミングを表すタイミング図である。
図５において、（ａ）は図４の回路構成中において共通的に用いられているクロック信号、（ｂ）はｍビットカウント値Ｓ４００の信号波形、（ｃ）は出力立ち上がり時観測信号Ｓ４０１かつＳ２３０かつＳ６３０の信号波形、（ｄ）はｍビットカウント値Ｓ４００の第（ｍ−１）〜第２ビット目Ｓ４０２の信号波形、（ｅ）は非該当ビット信号Ｓ４１００ｉかつＳ２１５０の信号波形、（ｆ）は該当ビット信号Ｓ４１００かつＳ２１００の信号波形、（ｇ）は非該当ビット信号Ｓ４１０ｎｉかつＳ２１５ｎの信号波形、（ｈ）は該当ビット信号Ｓ４１０ｎかつＳ２１０ｎの信号波形、（ｉ）はＢＩＳＴ入力セレクタ制御信号Ｓ４２００かつＳ２８００かつＳ６４０ｃの信号波形、（ｊ）はＢＩＳＴ入力セレクタ制御信号Ｓ４２０ｎかつＳ２８０ｎかつＳ６４ｎｃの信号波形、（ｋ）はメモリマクロ出力信号Ｓ２０００の信号波形、（ｌ）はメモリマクロ出力信号Ｓ２００ｎの信号波形、（ｍ）はＢＩＳＴ動作状態信号Ｓ２２０の信号波形、（ｎ）は該当ビット信号Ｓ２１００と出力立ち上がり時観測信号Ｓ２３０の論理積を取った信号波形、（ｏ）は非該当ビット出力信号Ｓ２５００の信号波形、（ｐ）は一致回路入力信号Ｓ２５５０の信号波形、（ｑ）はビット一致信号Ｓ２０１０の信号波形、（ｒ）は該当ビット信号Ｓ２１０ｎと出力立ち上がり時観測信号Ｓ２３０の論理積を取った信号波形、（ｓ）は非該当ビット出力信号Ｓ２５０ｎの信号波形、（ｔ）は一致回路入力信号Ｓ２５５ｎの信号波形、（ｕ）はビット一致信号Ｓ２０１ｎの信号波形、（ｖ）は一致信号Ｓ２９５の信号波形である。
【００６９】
以下では図５のタイミング図を用いて、図４、図６の構成を含む図３の動作を説明する。
組合せ論理回路を経る経路の故障検出を開始して、１クロックサイクルごとにメモリマクロリードアクセスをしているため、クロック信号に応じてｍビットカウンタ回路４００はカウント動作を行なう。それに伴い、ｍビットカウント値Ｓ４００が更新される。この値を受けて、テスト状況制御回路２７０から出力される各制御信号、該当ビット信号Ｓ２１００，該当ビット信号Ｓ２１０ｎ，ＢＩＳＴ入力セレクタ制御信号Ｓ２８００，ＢＩＳＴ入力セレクタ制御信号Ｓ２８０ｎ，出力立ち上がり時観測信号Ｓ２３０，非該当ビット信号Ｓ２１５０，非該当ビット信号Ｓ２１５ｎが変化する。
【００７０】
一方、メモリマクロ出力信号ビット０およびビットｎであるＳ２０００およびＳ２００ｎは、メモリマクロのリード毎に信号遷移する値を出力していて、これら制御信号ならびにメモリマクロ出力信号の変化に応じ図３に示した論理回路の各信号は変化する。
【００７１】
図５には示していないが、比較入力信号Ｓ２４００ならびにＳ２４０ｎはメモリマクロ出力信号からの経路の故障検出をしている状態では、どのような値が入力されていても影響を受けない。これは図３に示したメモリマクロ出力伝播制御回路２９００、２９０ｎによる効果である。
【００７２】
今Ｔ１〜Ｔ４まで該当ビット信号Ｓ２１００ならびに非該当ビット信号Ｓ２１５０がアサートされて、この信号に応じてメモリマクロ出力信号ビット０すなわちＳ２０００から一致信号Ｓ２９５までの信号遷移を観測する状態になっている。
【００７３】
またこの区間において出力立ち上がり時観測信号Ｓ４０１かつＳ２３０がアサートされている時は、クロックエッジＴ１に示すように、メモリマクロ出力信号ビット０すなわちＳ２０００がＨｉｇｈを読み出した時に一致信号Ｓ２９５がＨｉｇｈすなわち一致を出力する。また、同じく出力立ち上がり時観測信号Ｓ４０１かつＳ２３０がアサートされていない時は、クロックエッジＴ２に示すように、メモリマクロ出力信号ビット０すなわちＳ２０００がＬｏｗを読み出した時にも一致信号Ｓ２９５がＨｉｇｈを出力する。
【００７４】
それ以外の組合せではクロックエッジＴ３ならびにＴ４に示すように、一致信号Ｓ２９５はＬｏｗすなわち不一致を出力する。この出力立ち上がり時観測信号Ｓ４０１かつＳ２３０によって、メモリからの読み出し値の１／０それぞれにおいて、一致信号Ｓ２９５が一致／不一致の４通りの組合せの故障があるかを検出していることになる。
【００７５】
それぞれＴ０〜Ｔ３で読み出したメモリリード値はそれぞれ次のクロックエッジＴ１〜Ｔ４で一致信号Ｓ２９５が論理出力保持フリップフロップによりラッチされ、次のクロックサイクルでメモリＢＩＳＴ回路により比較されることになる。Ｔ１〜Ｔ４のクロックエッジにおけるメモリマクロ出力信号Ｓ２０００の値と、同じエッジにおける一致信号Ｓ２９５を比較すると、Ｔ２，Ｔ３のエッジで異なることがわかる。
【００７６】
図１に示した構成例では、論理出力保持フリップフロップからＢＩＳＴセレクタへの入力は正論理のまま接続されているが、図３で構成例としてあげている組合せ論理回路、すなわち２値一致比較回路の例では、メモリマクロ出力の信号遷移の方向が、周りの信号の状態により一致信号への信号遷移の方向として、同じ遷移方向である場合と、反対方向に遷移する場合とがあることを示す。このような組合せ論理回路を実現する場合には、ＢＩＳＴセレクタの入力として、論理出力保持フリップフロップからのそのものの信号と、論理出力保持フリップフロップからの信号の否定論理値、およびメモリ出力保持フリップフロップからの信号の３通りから選択できる必要があり、図３の構成の場合、図６のようにフィードバック値決定回路に出力立ち上がり時観測信号Ｓ２３０と、論理出力保持フリップフロップ出力信号が入力され、論理出力保持フリップフロップからのそのものの信号、もしくは該信号の論理否定値が出力されるようにしたことにより、立ち上がり時観測信号Ｓ４０１かつＳ２３０かつＳ６３０の値に応じてＢＩＳＴセレクタの入力の選択を実現できる。
【００７７】
図６の構成を用いることにより、Ｔ１〜Ｔ４のクロックエッジにおいてメモリＢＩＳＴ回路へフィードバックするべき０ビット目の値がメモリマクロ出力信号Ｓ２０００と同値になることがわかる。詳しく説明すると、図６において、論理出力保持フリップフロップ６２０には一致信号Ｓ２９５が入力され、同じくメモリ出力保持フリップフロップ６１０にはメモリマクロ出力信号Ｓ２０００が入力される。ここで、図５においてＴ２のエッジを見ると出力立ち上がり時観測信号Ｓ６３０＝Ｌｏｗ，メモリマクロ出力信号Ｓ２０００＝Ｌｏｗ，一致信号Ｓ２９５＝Ｈｉｇｈであり、図６のフィードバック値決定回路６５０はＴ３のクロックエッジにかけてフィードバック信号Ｓ６５０＝Ｈｉｇｈを出力し、メモリ出力保持フリップフロップ６１０から同時期に出力される信号Ｓ６１０（Ｈｉｇｈ）と一致する。このときＢＩＳＴ入力セレクタ制御信号Ｓ６４０ｃ＝Ｈｉｇｈであり、フィードバック値決定回路６５０側からの信号がメモリＢＩＳＴ回路に入力され、本来メモリから出てきたそのままの値と入れ替えて入力されたフィードバック信号Ｓ６５０が同一であるため、メモリＢＩＳＴ回路の一致検出で一致することになる。図５ではＴ１〜Ｔ４にメモリから出力された信号を次のサイクルにおいてフィードバック信号Ｓ６５０と入れ替えることで一致検出できることを示している。
【００７８】
なお、図６中のフィードバック値決定回路６５０は、出力立ち上がり時観測信号入力フリップフロップ６３０からの信号と同期して論理出力保持フリップフロップ出力信号Ｓ６２０の論理を適正化（適宜論理反転）する回路になる。
同様に、Ｔｋ＋１〜Ｔｋ＋４のクロックエッジではメモリ出力信号ｎからの一致信号Ｓ２９５への信号遷移を観測している。
【００７９】
以上のようにメモリマクロ出力信号と別途入力される比較入力信号との２値完全一致を比較する回路が図３、図４、図６の構成において，図５のようなタイミングチャートで実現できることがわかる。
【００８０】
ただし、この図５のタイミングでは、Ｔ０〜Ｔ３においてパス活性化制御回路１３０からの信号Ｓ１３０等も遷移しているため、遅延故障がある場合に、メモリマクロから出力された信号に依存する経路上による遅延故障なのか、はたまた制御信号等の遷移における遅延によるものなのかは判別できない。そこで図１１のタイミング例で示す。
【００８１】
図１１は、図３、図６の回路構成で、メモリマクロ出力信号からの組合せ論理回路を経る経路上の縮退故障ならびに遅延故障までを観測する場合のタイミング図の例である。
【００８２】
図１１において、（ａ）は図３、図６の回路構成中において共通的に用いられているクロック信号、（ｂ）は出力立ち上がり時観測信号Ｓ２３０かつＳ６３０の信号波形、（ｃ）は非該当ビット信号Ｓ２１５０の信号波形、（ｄ）は該当ビット信号Ｓ２１００の信号波形、（ｅ）は非該当ビット信号Ｓ２１５ｎの信号波形、（ｆ）は該当ビット信号Ｓ２１０ｎの信号波形、（ｇ）はＢＩＳＴ入力セレクタ制御信号Ｓ２８００かつＳ６４０ｃの信号波形、（ｈ）はＢＩＳＴ入力セレクタ制御信号Ｓ２８０ｎかつＳ６４ｎｃの信号波形、（ｉ）はメモリマクロ出力信号Ｓ２０００の信号波形、（ｊ）はメモリマクロ出力信号Ｓ２００ｎの信号波形、（ｋ）はＢＩＳＴ動作状態信号Ｓ２２０の信号波形、（ｌ）は該当ビット信号Ｓ２１００と出力立ち上がり時観測信号Ｓ２３０の論理積を取った信号波形、（ｍ）は非該当ビット出力信号Ｓ２５００の信号波形、（ｎ）は一致回路入力信号Ｓ２５５０の信号波形、（ｏ）はビット一致信号Ｓ２０１０の信号波形、（ｐ）は該当ビット信号Ｓ２１０ｎと出力立ち上がり時観測信号Ｓ２３０の論理積を取った信号波形、（ｑ）は非該当ビット出力信号Ｓ２５０ｎの信号波形、（ｒ）は一致回路入力信号Ｓ２５５ｎの信号波形、（ｓ）はビット一致信号Ｓ２０１ｎの信号波形、（ｔ）は一致信号Ｓ２９５の信号波形である。
【００８３】
ここで、図１１において、図５のタイミングと決定的に異なるのは、Ｔ１とＴ４でのクロックエッジではその直前のクロックサイクルにおいてパス活性化制御回路の制御信号などが動いているため、ダミーのリードサイクルとしてＢＩＳＴ結果を無視し、Ｔ２，Ｔ３，Ｔ５，Ｔ６のクロックエッジでのみをＢＩＳＴでチェックする有効な比較サイクルとする点である。この直前のクロックサイクルでは、厳密にメモリマクロ出力信号ビット０の信号遷移を由来とする信号遷移しかしていない。したがって、この遷移が一致信号Ｓ２９５にまで到達したか否かで遅延故障をも厳密に検出できることになる。
【００８４】
このようにして、本実施の形態２によれば、組合せ論理回路がメモリマクロ出力信号Ｓ２０００と比較入力信号Ｓ２４００との一致を検出する２値一致検出回路と、該２値一致検出回路の少なくとも一方の入力端に対して故障検出中に前記メモリマクロ出力信号Ｓ２０００の遷移が完全一致比較回路の出力へ伝播するよう制御するメモリマクロ出力遷移伝播制御回路２９００からなる、２値のビット幅数のビット一致回路を備え、また、前記テスト状況制御回路２７０が、前記メモリＢＩＳＴ回路が連続して行うリードアクセス数を順次カウントし、カウンタ回路出力信号Ｓ４００を出力するカウンタ回路４００を備え、前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号遷移を順次起こすよう前記該当ビット信号Ｓ４１００ならびに前記非該当ビット信号Ｓ４１０ｉ、前記出力立ち上がり時観測信号Ｓ４０１を制御するようにし、前記ＢＩＳＴ入力セレクタ制御信号Ｓ６４０ｃが、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号Ｓ６５０を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御し、前記論理出力保持フリップフロップからの出力信号は、出力立ち上がり時観測信号Ｓ６３０に基づいて論理出力保持フリップフロップの出力信号Ｓ６５０もしくは該出力信号の論理否定値が選択されて出力されるようにしたので、メモリマクロから出力された信号に依存する経路上による遅延故障、及び制御信号等の遷移における遅延を検出することができるという効果がある。
【００８５】
また、本実施の形態２によれば、Ｔ１とＴ４のクロックエッジではその直前のクロックサイクルにおいてパス活性化回路の制御信号が動いているためダミーのリードサイクルとしてＢＩＳＴ結果を無視し、Ｔ２、Ｔ３、Ｔ５、Ｔ６のクロックエッジのみをＢＩＳＴでチェックする有効な比較サイクルとしたので、この直前のクロックサイクルでは厳密にメモリマクロ出力信号の信号遷移を由来とする信号遷移しかしておらず、遅延故障がある場合にメモリマクロから出力された信号に依存する経路上による遅延故障であるか、もしくは制御信号等の遷移による遅延によるものかを判別することができるという効果がある。
【００８６】
（実施の形態３）
図７は、本発明の実施の形態３による故障検出方法のフローチャートである。図７において、ビットパターン書き込みサイクル（ステップ２）、テスト状態設定サイクル（ステップ３）、故障判定サイクル（ステップ４）からなるフローを順に実行する。ここで、テスト状態設定サイクルでは、メモリマクロの検査をする検査ビットからの出力信号遷移が組合せ論理回路の出力まで伝播するよう組合せ論理回路の入力信号を制御する。
【００８７】
ビットパターン書き込みサイクル、テスト状態設定サイクル、故障判定サイクルの中で、最内ループの故障判定サイクルをＬｏｏｐＣ変数によりカウントされ、Ｚ＋１回繰り返す（ステップ５でＮｏ、ステップ４）。
【００８８】
その次に内側のループであるテスト状態設定サイクルから故障判定サイクルへのループをＬｏｏｐＢ変数によりカウントされ、Ｙ＋１回繰り返す（ステップ６でＮｏ、ステップ３）。
【００８９】
最も外側のループであるビットパターン書き込みサイクルからテスト状態設定サイクル、故障判定サイクルをＬｏｏｐＡ変数でカウントされ、Ｘ＋１回繰り返す（ステップ７でＮｏ、ステップ２）。なお、これらの回数はテストすべき回路量等によって決定される。
【００９０】
このようにして本実施の形態３によれば、メモリＢＩＳＴ回路により、所定の順序で連続読み出しする際に出力信号が１ビット以上遷移するビットパターンの系列を前記メモリマクロにあらかじめ書き込むビットパターン書き込みサイクルと、前記メモリマクロの検査をする検査ビットからの出力信号遷移が前記組合せ論理回路の出力まで伝播するよう前記組合せ論理回路の入力信号を制御し、前記メモリＢＩＳＴ回路へのフィードバックパスに、検査ビットにおいては組合せ論理回路の出力信号または該出力信号の論理否定値を、検査ビット以外においてはメモリマクロの出力信号を選択的に入力設定するテスト状態設定サイクルと、前記メモリＢＩＳＴ回路により先に仮定した順序での前記メモリマクロのリードアクセスを行い、その結果をメモリＢＩＳＴ回路が有する期待値チェック機能によって逐次故障判定を行い、１回以上のメモリマクロリードならびに故障判定動作によって構成される故障判定サイクルを有し、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルを順に行なうようにしたので、メモリマクロ自体の故障検出だけでなく、論理回路経路上の故障をも検出することができるという効果がある。
【００９１】
（実施の形態４）
図８は、本発明の実施の形態４による故障検出方法のフローチャートである。図８において、メモリマクロそのものに存在しうる故障を検出するために、メモリＢＩＳＴ回路により、メモリマクロそのもののＢＩＳＴを実行するサイクルすなわちメモリ故障検出サイクルを前記メモリＢＩＳＴ回路へのフィードバックパスに対して全ビットのメモリマクロ出力信号を選択的に入力することによってまず行なう（ステップ１１）。
【００９２】
その後ビットパターン書き込みサイクル（ステップ１３）、テスト状態設定サイクル（ステップ１４）、故障判定サイクル（ステップ１５）からなる一連の組合せ論理回路に対する故障検出をメモリＢＩＳＴ回路を流用して行なう。
【００９３】
なお、ビットパターン書き込みサイクルから、テスト状態設定サイクル、故障判定サイクルへのフロー（ステップ１１〜１８）は、実施の形態３と同様であるので説明を省略する。
【００９４】
図中のループ回数に関して、図７と同様ビットパターン書き込みサイクル（ステップ１８でＮｏ、ステップ１３）、テスト状態設定サイクル（ステップ１７でＮｏ、ステップ１４）、故障判定サイクル（ステップ１６でＮｏ、ステップ１５）のそれぞれのループ回数はテストする回路量等により決定される。
【００９５】
一方で、図８に示したようなメモリ故障検出サイクルを実行した後に、ビットパターン書き込みサイクル・テスト状態設定サイクル・故障判定サイクルからなる一連の組合せ論理回路に対する故障検出を行なうことにより実現できる故障検出は、ビットパターン書き込みサイクル・テスト状態設定サイクル・故障判定サイクルからなる一連の組合せ論理回路に対する故障検出を行なった後に、メモリ故障検出サイクルを実行することでも実現しうる。
【００９６】
このようにして、本実施の形態４によれば、前記メモリマクロそのものに存在しうる故障を検出するメモリ故障検出サイクルを、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルとは別に完全独立して、前記メモリＢＩＳＴ回路へのフィードバックパスに対して全ビットのメモリマクロ出力信号を選択的に入力することにより行うようにしたので、メモリＢＩＳＴ回路により、メモリマクロそのものの故障検出と、組合せ論理回路に対する故障検出を独立して行なうことができるという効果がある。
【００９７】
（実施の形態５）
図９は、本発明の実施の形態５による故障検出方法のフローチャートである。
図９（ａ）において、メモリマクロそのものに存在しうる故障を検出するために、メモリＢＩＳＴ回路により、メモリマクロそのもののＢＩＳＴを実行するサイクルすなわちメモリ故障検出サイクル（ステップ２０）を行なう。ここで、一般にこのメモリ故障検出サイクル（ステップ２０）は、図９（ｂ）に示す通り、複数のビットパターンの書き込みと読み出しから構成される。
【００９８】
図９（ｂ）において、複数のビットパターンのうちのビットパターンＣの書き込みおよび読み出しが本発明における組合せ論理回路の故障検出に利用できるパターンである場合を示していて、そのパターンの実行によって、メモリ故障検出サイクル中に組合せ論理回路を経る経路によって故障検出を行い、ビットパターンＣにより本来検出するメモリマクロ内の故障検出と、組合せ論理回路の故障検出を兼ねて実行できることを示している。
【００９９】
詳しく説明すると、まず、ビットパターンＡ（ステップ２１〜ステップ２５）において、ビットパターン書き込みサイクル、ビットパターンの読み出しと故障判定サイクルで、内側のループのビットパターンＡの読み出しと故障判定サイクルをＬｏｏｐＡＲ変数によりカウントされ、ＸＲ＋１回繰り返す（ステップ２４でＮｏ、ステップ２３）。
【０１００】
また、外側のループであるビットパターンＡの書き込みサイクルからテスト状態設定サイクル、故障判定サイクルをＬｏｏｐＡＷ変数でカウントされ、ＸＷ＋１回繰り返す（ステップ２５でＮｏ、ステップ２２）。
次に、ビットパターンＢ（ステップ２７〜３０）は、ビットパターンＡと同様であるので説明を省略する。
【０１０１】
次に、ビットパターンＣ（ステップ３１〜ステップ３７）において、ビットパターン書き込みサイクル、テスト状態設定サイクル、ビットパターンの読み出しと故障判定サイクルで、最内ループの故障判定サイクルをＬｏｏｐＣＣ変数によりカウントされ、ＺＣ＋１回繰り返す（ステップ３５でＮｏ、ステップ３４）。
【０１０２】
その次に内側のループであるテスト状態設定サイクルから故障判定サイクルへのループをＬｏｏｐＣＢ変数によりカウントされ、ＺＢ＋１回繰り返す（ステップ３６でＮｏ、ステップ３３）。
【０１０３】
最も外側のループであるビットパターン書き込みサイクルからテスト状態設定サイクル、故障判定サイクルをＬｏｏｐＣＡ変数でカウントされ、ＺＡ＋１回繰り返す（ステップ３７でＮｏ、ステップ３２）。
【０１０４】
この実行方法では、図８に示したメモリ故障検出サイクルと組合せ論理回路の一連の故障検出方法を独立して行なう場合と比較し、全体の故障検出にかかるテスト時間を削減することが可能となる。
【０１０５】
このように本実施の形態５によれば、前記メモリ故障検出サイクルは、複数のビットパターンおよび複数の書き込み読み出しのアクセス系列からなるメモリＢＩＳＴ回路で構成され、前記複数のビットパターンならびに前記複数の書き込み読み出しのアクセス系列のうち、前記ビットパターン書き込みサイクルに合致するビットパターンであり、かつ前記故障判定サイクルに合致するメモリリードアクセス系列の時には、前記メモリ故障検出サイクル中に、組合せ論理回路を経る経路によって故障判定を行なうことにより、該組合せ論理回路を経る経路の故障ならびにメモリマクロそのものの故障判定を合せて行なうようにしたので、メモリ故障検出サイクル中にビットパターン書き込みサイクル、テスト状態設定サイクル、故障判定サイクルを行うことにより、全体の故障検出にかかるテスト時間を削減することができるという効果がある。
【０１０６】
（実施の形態６）
図１０は、本発明の実施の形態６による故障検出回路ならびに故障検出方法において、メモリＢＩＳＴ回路がメモリマクロに対して書き込み、連続リードアクセスするビットパターン系列の例を示す図である。
【０１０７】
図１０において、各記号Ｍ１００，Ｍ１１０，Ｍ１２０，Ｍ１３０はそれぞれビットパターン系列例１、ビットパターン系列例２、ビットパターン系列例３、ビットパターン系列例４である。
【０１０８】
それぞれのビットパターン系列は、アドレスＡ〜Ａ＋ｎを有しており、いずれの系列でも、リードアクセスする場合メモリマクロのアドレスＡよりアドレスをカウントアップし順次読み出す場合を示している。ここに示した系列では前後で読み出すビットパターン系列の少なくとも１ビットが対応するビット同士において反転の関係を保つビットパターン系列となっている。
【０１０９】
前記メモリＢＩＳＴ回路は、このような連続リードアクセスによる前記メモリマクロ出力信号の任意の前後２系列を見たときに、１ビット以上の特定ビット同士間でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、ビットパターン書き込みサイクル、テスト状態設定サイクル、故障判定サイクルの順序で連続読み出しアクセスをする。
【０１１０】
このように本実施の形態６によれば、複数のビットパターン系列が前後で読み出すビットパターン系列の少なくとも１ビットが対応するビット同士において反転の関係を持つビットパターン系列となっているので、前後の系列間で少なくとも１ビット以上の信号遷移が起こり、そのビットからの信号遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることが可能となるという効果がある。
【０１１１】
また、図示していないが、前記メモリＢＩＳＴ回路は、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列でもよい。
【０１１２】
また、前記メモリＢＩＳＴ回路は、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列でもよい。
【０１１３】
【発明の効果】
以上に説明したように、本発明の請求項１による故障検出回路によれば、メモリマクロを有する故障検出回路において、前記メモリマクロの故障検出をするメモリＢＩＳＴ回路と、前記メモリマクロの出力信号を入力とする組合せ論理回路と、前記組合せ論理回路出力信号を保持する論理出力保持フリップフロップと、前記メモリマクロ出力信号を保持するメモリ出力保持フリップフロップと、前記メモリ出力保持フリップフロップの出力信号と、前記論理出力保持フリップフロップの出力信号とを切り替え選択し前記メモリＢＩＳＴ回路に入力するＢＩＳＴ入力セレクタと、前記組合せ論理回路の入力信号を、前記メモリマクロの出力信号の遷移が前記組合せ論理回路を経て前記論理出力保持フリップフロップまで伝播するよう制御するパス活性化制御回路を備えるようにしたので、メモリＢＩＳＴ回路によるＢＩＳＴ動作で故障検出ができることにより、該経路に対する遅延故障の検出も容易に可能となるという効果がある。
【０１１４】
本発明の請求項２による故障検出方法によれば、メモリマクロの故障検出をするメモリＢＩＳＴ回路を用いて、前記メモリマクロの出力に繋がる組合せ論理回路の故障を検出する方法において、前記メモリＢＩＳＴ回路により、所定の順序で連続読み出しする際に出力信号が１ビット以上遷移するビットパターンの系列を前記メモリマクロにあらかじめ書き込むビットパターン書き込みサイクルと、前記メモリマクロからの出力信号で今故障検出しようと着目している検査ビットの信号の遷移が前記組合せ論理回路の出力まで伝播するよう前記組合せ論理回路の入力信号を制御し、前記メモリＢＩＳＴ回路へのフィードバックパスには、検査ビットにおいては前記組合せ論理回路の出力信号または該出力信号の論理否定値を、検査ビット以外においてはメモリマクロの出力信号を選択的に入力設定するテスト状態設定サイクルと、前記メモリＢＩＳＴ回路により先に仮定した順序での前記メモリマクロのリードアクセスを行い、その結果をメモリＢＩＳＴ回路が有する期待値チェック機能によって逐次故障判定を行い、１回以上のメモリマクロリード、ならびに故障判定動作によって構成される故障判定サイクルを有し、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルを順に行なうようにしたので、メモリＢＩＳＴ回路によりメモリマクロの出力に繋がる組合せ論理回路の経路上の故障検出可能となり、該経路に対する実動作テストパターン作成が不要となるという効果がある。
【０１１５】
本発明の請求項３による故障検出回路によれば、請求項１記載の故障検出回路において、前記組合せ論理回路は、１ビット幅以上の前記メモリマクロの出力信号と、前記メモリマクロの出力信号と同じビット幅を持つ比較入力信号との２値を入力とし、前記メモリマクロの出力信号と前記比較入力信号との一致を検出する２値一致検出回路と、該２値一致検出回路の少なくとも一方の入力端に対して該故障検出中に前記メモリマクロの出力信号の遷移が該完全一致比較回路の出力へ伝播するよう所望の値に制御するメモリマクロ出力遷移伝播制御回路からなる、２値のビット幅数個のビット一致回路と、各ビット一致回路出力信号を入力とする論理積回路とを備えるようにしたので、メモリマクロの出力信号と外部からの比較入力信号を比較する２値完全一致比較回路をパス活性化制御回路の機能を有する組合せ論理回路として実現することができるという効果がある。
【０１１６】
本発明の請求項４による故障検出回路によれば、請求項３記載の故障検出回路において、前記ビット一致回路は、前記メモリマクロの出力信号と、該メモリマクロの出力信号のうちの特定の当該ビットから前記論理出力保持フリップフロップまでの経路の信号の遷移を観測しないビットである非該当ビット信号を入力とし、非該当ビット出力信号を出力する第１の論理積回路と、前記該当ビット信号と、前記メモリマクロの出力信号が１に一致する場合の前記経路の信号遷移を観測することを示す出力立ち上がり時観測信号を入力とする第２の論理積回路と、該第２の論理積回路の出力信号と、前記比較入力信号を入力とする第１の排他的論理和回路と、該第１の排他的論理和回路の出力信号と、ＢＩＳＴ動作中であることを示すＢＩＳＴ動作状態信号を入力とし、ＢＩＳＴ時調整信号を出力する第３の論理積回路と、前記非該当ビット出力信号と前記ＢＩＳＴ時調整信号を入力とする第２の排他的論理和回路と、該第２の排他的論理和回路の出力信号と外部からの比較入力信号を入力とし、一致回路入力信号を出力する第３の排他的論理和回路とを備え、該一致回路入力信号は、前記メモリマクロの出力信号とともに一致検出回路に入力され、一致または不一致の２値状態を示すビット一致信号を出力するようにしたので、メモリマクロの出力信号と外部からの比較入力信号を比較する２値完全一致比較回路をパス活性化制御回路の機能を有する組合せ論理回路として実現することができるという効果がある。
【０１１７】
本発明の請求項５による故障検出回路によれば、請求項４記載の故障検出回路において、前記該当ビット信号と、前記非該当ビット信号と、前記出力立ち上がり時観測信号と、前記ＢＩＳＴ入力セレクタ制御信号を生成するテスト状況制御回路を備えるようにしたので、該当ビット信号、非該当ビット信号のそれぞれのビットに合致する場合に、立ち上がり時観測信号の値に応じてＢＩＳＴ入力セレクタの入力の選択を実現することができるという効果がある。
【０１１８】
本発明の請求項６による故障検出回路によれば、請求項５記載の故障検出回路において、前記テスト状況制御回路は、前記メモリＢＩＳＴ回路が連続して行うリードアクセス数を順次カウントするカウンタ回路を備え、前記メモリマクロの各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号の遷移を順次起こすよう前記カウンタ回路の出力信号に基づき前記該当ビット信号ならび前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、前記ＢＩＳＴ入力セレクタは、前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御するようにしたので、カウンタ回路出力信号に基づき、該当ビット信号、非該当ビット信号、立ち上がり時観測信号の値を制御しＢＩＳＴ入力セレクタの入力の選択を実現することができるという効果がある。
【０１１９】
本発明の請求項７による故障検出回路によれば、請求項５記載の故障検出回路において、前記テスト状況制御回路は、前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、前記メモリマクロ各ビットからの０から１への出力遷移ならびに１から０への出力遷移から生じる該故障検出経路の信号の遷移を順次起こすよう前記該当ビット信号ならびに前記非該当ビット信号、前記出力立ち上がり時観測信号を制御し、前記ＢＩＳＴ入力セレクタは、前記ＢＩＳＴ入力セレクタの制御信号により、該当ビット信号に対応するビットにおいてのみ前記論理出力保持フリップフロップからの出力信号を選択するよう制御し、前記非該当ビット信号に合致するビットにおいてはメモリ出力保持フリップフロップからの出力信号を選択するよう制御するようにしたので、前記メモリＢＩＳＴ回路が連続して行うリードアクセス時のアドレス値を参照しデコードすることにより、該当ビット信号、非該当ビット信号、立ち上がり時観測信号の値を制御しＢＩＳＴ入力セレクタの入力の選択を実現することができるという効果がある。
【０１２０】
本発明の請求項８による故障検出方法によれば、請求項２記載の故障検出方法において、前記メモリマクロそのものに存在しうる故障を検出するメモリ故障検出サイクルを、前記ビットパターン書き込みサイクル、前記テスト状態設定サイクル、前記故障判定サイクルとは別に完全独立して、前記メモリＢＩＳＴ回路へのフィードバックパスに対して全ビットのメモリマクロの出力信号を選択的に入力することにより行なうようにしたので、メモリ故障検出サイクルと組合せ論理回路の一連の故障検出方法を独立して行うことができるという効果がある。
【０１２１】
本発明の請求項９による故障検出方法によれば、請求項２記載の故障検出方法において、前記メモリ故障検出サイクルは、複数のビットパターンおよび複数の書き込み読み出しのアクセス系列からなるメモリＢＩＳＴ動作で構成され、前記複数のビットパターンならびに前記複数の書き込み読み出しのアクセス系列のうち、前記ビットパターン書き込みサイクルに合致するビットパターンであり、かつ前記故障判定サイクルに合致するメモリリードアクセス系列の時には、前記メモリ故障検出サイクル中に、前記テスト状態設定サイクルで設定した前記組合せ論理回路を経る経路によってメモリおよび該経路上の故障判定を行なうようにしたので、メモリ故障検出サイクル中にビットパターン書き込みサイクル、テスト状態設定サイクル、故障判定サイクルを行うことにより、全体の故障検出にかかるテスト時間を削減することができるという効果がある。
【０１２２】
本発明の請求項１０による故障検出回路によれば、請求項１記載の故障検出回路において、前記メモリＢＩＳＴ回路は、前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット同士間でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で少なくとも１ビット以上の信号の遷移が起こり、そのビットからの信号遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【０１２３】
本発明の請求項１１による故障検出回路によれば、請求項１０記載の故障検出回路において、前記メモリＢＩＳＴ回路は、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で全ビットの信号の遷移が起こり、該信号の遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【０１２４】
本発明の請求項１２による故障検出回路によれば、請求項１０記載の故障検出回路において、前記メモリＢＩＳＴ回路は、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間で全ビット同士がビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で全ビットの信号の遷移が起こり、該信号の遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【０１２５】
本発明の請求項１３による故障検出方法によれば、請求項２記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、前記メモリマクロから出力され前記組合せ論理回路へ入力されるデータのうち、連続リードアクセスによる前記メモリマクロの出力信号の任意の前後２系列について、１ビット以上の特定ビット間同士でのみビット反転の関係を持ち、その他のビット同士では全く同一値となるビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で少なくとも１ビット以上の信号の遷移が起こり、そのビットからの信号遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【０１２６】
本発明の請求項１４による故障検出方法によれば、請求項１３記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、隣接するビット間の値がビット反転の関係を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で全ビットの信号の遷移が起こり、該信号の遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【０１２７】
本発明の請求項１５による故障検出方法によれば、請求項１３記載の故障検出方法において、前記メモリＢＩＳＴ回路にて、全ビットが同一値を持つビットパターンであり、かつ連続リードアクセスをする際の前後のビットパターン２系列で見たときに前後のビットパターン間の全ビット同士でビット反転の関係を持つビットパターン系列を、前記メモリマクロに書き込み、連続読み出しアクセスをするようにしたので、前後の系列間で全ビットの信号の遷移が起こり、該信号の遷移をそれに繋がる組合せ論理回路の経路上の信号遷移とすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１による故障検出回路の構成を示すブロック図である。
【図２】本発明の実施の形態１による図１に示した故障検出回路の構成における動作タイミング図である。
【図３】本発明の実施の形態２による故障検出回路のパス活性化制御回路を内包する組合せ論理回路の構成図である。
【図４】本発明の実施の形態２による故障検出回路の図３に示したテスト状況制御回路の構成図である。
【図５】本発明の実施の形態２による故障検出回路の図３ならびに図４ならびに図６に示した構成における動作タイミング図である。
【図６】本発明の実施の形態２による故障検出回路の図３の構成の場合にＢＩＳＴ入力セレクタ周辺に必要な構成を示す図である。
【図７】本発明の実施の形態３による故障検出方法のフローチャートである。
【図８】本発明の実施の形態４による故障検出方法のフローチャートである。
【図９】本発明の実施の形態５による故障検出方法の全体のフローチャート（ａ）及び詳細なフローチャート（ｂ）である。
【図１０】本発明の実施の形態６によるメモリマクロ上のビットパターン系列を示す図である。
【図１１】本発明の実施の形態２による、図３ならびに図４に示した構成における遅延故障も観測できる動作タイミング図である。
【図１２】従来技術によるメモリマクロとメモリマクロ出力に繋がる論理回路の故障検出法を示す図である。
【符号の説明】
１００  メモリマクロ
１１０  組合せ論理回路
１２０  論理出力保持フリップフロップ
１３０  パス活性化制御回路
１４０  メモリＢＩＳＴ回路
１５００  メモリ出力保持フリップフロップ０
１５０ｎ  メモリ出力保持フリップフロップｎ
１６００  ＢＩＳＴ入力セレクタ０
１６０ｎ  ＢＩＳＴ入力セレクタｎ
Ｓ１０００  メモリマクロ出力信号ビット０
Ｓ１００ｎ  メモリマクロ出力信号ビットｎ
Ｓ１０５  組合せ論理回路入力信号
Ｓ１１０  組合せ論理回路出力信号
Ｓ１２０  論理出力保持フリップフロップ出力信号
Ｓ１３０  パス活性化制御信号
Ｓ１４０  メモリＢＩＳＴ回路出力信号
Ｓ１５００  メモリ出力保持フリップフロップ０出力信号
Ｓ１５０ｎ  メモリ出力保持フリップフロップｎ出力信号
Ｓ１６００  ＢＩＳＴ入力セレクタ０出力信号
Ｓ１６０ｎ  ＢＩＳＴ入力セレクタｎ出力信号
Ｓ１６００ｃ  ＢＩＳＴ入力セレクタ０セレクト信号
Ｓ１６０ｎｃ  ＢＩＳＴ入力セレクタｎセレクト信号
２０００  ビット一致回路―０
Ｓ２０００  メモリマクロ出力信号ビット０
Ｓ２１００  該当ビット信号０
Ｓ２１５０  非該当ビット信号０
Ｓ２２０  ＢＩＳＴ動作状態信号
Ｓ２３０  出力立ち上がり時観測信号
Ｓ２４００  比較入力信号ビット０
Ｓ２５００  非該当ビット出力信号０
Ｓ２５５０  一致回路入力信号０
Ｓ２６００  ＢＩＳＴ時調整信号０
２９００  メモリマクロ出力遷移伝播制御回路０
２００ｎ  ビット一致回路―ｎ
Ｓ２００ｎ  メモリマクロ出力信号ビットｎ
Ｓ２１０ｎ  該当ビット信号ｎ
Ｓ２１５ｎ  非該当ビット信号ｎ
Ｓ２４０ｎ  比較入力信号ビットｎ
Ｓ２５０ｎ  非該当ビット出力信号ｎ
Ｓ２５５ｎ  一致回路入力信号ｎ
Ｓ２６０ｎ  ＢＩＳＴ時調整信号ｎ
２７０  テスト状況制御回路
Ｓ２８００  ＢＩＳＴ入力セレクタ制御信号０
Ｓ２８０ｎ  ＢＩＳＴ入力セレクタ制御信号ｎ
２９０ｎ  メモリマクロ出力遷移伝播制御回路ｎ
Ｓ２０１０  ビット一致信号０
Ｓ２０１ｎ  ビット一致信号ｎ
Ｓ２９５  一致信号
３１００  第１の論理積回路０
３２００  第２の論理積回路０
３３００  第３の論理積回路０
３４００  第１の排他的論理和回路０
３５００  第２の排他的論理和回路０
３６００  第３の排他的論理和回路０
３７００  一致検出回路０
３１０ｎ  第１の論理積回路ｎ
３２０ｎ  第２の論理積回路ｎ
３３０ｎ  第３の論理積回路ｎ
３４０ｎ  第１の排他的論理和回路ｎ
３５０ｎ  第２の排他的論理和回路ｎ
３６０ｎ  第３の排他的論理和回路ｎ
３７０ｎ  一致検出回路ｎ
３８０  第４の論理積回路
Ｓ３２００  第２の論理積回路出力信号０
Ｓ３４００  第１の排他的論理和回路出力信号０
Ｓ３５００  第２の排他的論理和回路出力信号０
Ｓ３２０ｎ  第２の論理積回路出力信号ｎ
Ｓ３４０ｎ  第１の排他的論理和回路出力信号ｎ
Ｓ３５０ｎ  第２の排他的論理和回路出力信号ｎ
４００  ｍビットカウンタ回路
Ｓ４００  ｍビットカウント値
Ｓ４０１  出力立ち上がり時観測信号
Ｓ４０２  ｍビットカウント値Ｓ４００の第（ｍ−１）〜第２ビット目
Ｓ４０３  ｍビットカウント値Ｓ４００の第０ビット目
Ｓ４０４  ｍビットカウント値Ｓ４００の第１ビット目
４１０  デコード回路
Ｓ４１００ｉ  非該当ビット信号０
Ｓ４１０ｎｉ  非該当ビット信号ｎ
Ｓ４１００  該当ビット信号０
Ｓ４１０ｎ  該当ビット信号ｎ
４２００，４２０ｎ  フリップフロップ
Ｓ４２００  ＢＩＳＴ入力セレクタ制御信号０
Ｓ４２０ｎ  ＢＩＳＴ入力セレクタ制御信号ｎ
４３０  一致検出回路
６００  メモリＢＩＳＴ回路
６１０  メモリ出力保持フリップフロップ０
６１ｎ  メモリ出力保持フリップフロップｎ
６２０  論理出力保持フリップフロップ０
６２ｎ  論理出力保持フリップフロップｎ
６３０  出力立ち上がり時観測信号入力フリップフロップ
６４０  ＢＩＳＴ入力セレクタ０
６４ｎ  ＢＩＳＴ入力セレクタｎ
６５０  フィードバック値決定回路０
６５ｎ  フィードバック値決定回路ｎ
Ｓ６１０  メモリ保持出力フリップフロップ０出力信号
Ｓ６１ｎ  メモリ保持出力フリップフロップｎ出力信号
Ｓ６２０  論理出力保持フリップフロップ０出力信号
Ｓ６２ｎ  論理出力保持フリップフロップｎ出力信号
Ｓ６３０  出力立ち上がり時観測信号
Ｓ６４０  メモリＢＩＳＴ回路出力信号
Ｓ６４ｎ  メモリＢＩＳＴ回路出力信号
Ｓ６４０ｃ  ＢＩＳＴ入力セレクタ制御信号０
Ｓ６４ｎｃ  ＢＩＳＴ入力セレクタ制御信号ｎ
Ｓ６５０  フィードバック信号０
Ｓ６５ｎ  フィードバック信号ｎ
Ｍ１００，Ｍ１１０，Ｍ１２０，Ｍ１３０  メモリマクロに書き込まれたビットパターン系列例１，２，３，４
【図１】
2004334933.tif 000003
【図２】
2004334933.tif 000004
【図３】
2004334933.tif 000005
【図４】
2004334933.tif 000006
【図５】
2004334933.tif 000007
【図６】
2004334933.tif 000008
【図７】
2004334933.tif 000009
【図８】
2004334933.tif 000010
【図９】
2004334933.tif 000011
【図１０】
2004334933.tif 000012
【図１１】
2004334933.tif 000013
【図１２】
2004334933.tif 000014