(57)【要約】【課題】メモリへアクセスするフリップフロップとメモリ間のアクセスパスのスピードテストをメモリＢＩＳＴ回路でテストすることを可能とする。            【解決手段】メモリＢＩＳＴ回路２を用いたテストのとき、メモリＢＩＳＴ回路２からのアドレスおよびコントロール信号を選択出力し、メモリＢＩＳＴ回路を用いたテスト以外のとき、ＣＰＵのアドレスおよびコントロール信号を選択出力するセレクタ１１と、メモリＢＩＳＴ回路を用いたテストのとき、メモリＢＩＳＴ回路からのライトデータを選択出力し、メモリＢＩＳＴ回路を用いたテスト以外のとき、ＣＰＵのライトデータを選択出力するセレクタ１２と、セレクタ１１の出力をサンプルするフリップフロップ１３と、セレクタ１２の出力をサンプルするフリップフロップ１４と、を備え、フリップフロップ１３、１４から出力されるアドレスおよびコントロール信号、ライトデータがメモリ３のアドレスおよびコントロール端子、ライトデータ端子に入力される。【選択図】  図１
2010152939.tif 000002
【特許請求の範囲】
【請求項１】
メモリへアクセスするための信号を取り込み出力するフリップフロップと、
前記メモリのテストを行うメモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路と、
を備え、さらに、
前記フリップフロップの直前に、前記メモリＢＩＳＴ回路からの信号を前記フリップフロップに供給するように、切り替えを行うセレクタを備えた、ことを特徴とする半導体装置。
【請求項２】
前記セレクタが、
前記メモリＢＩＳＴ回路を用いたテストのとき、前記メモリＢＩＳＴ回路で生成されたアドレス及びコントロール信号を選択出力し、前記メモリＢＩＳＴ回路を用いたテスト以外のとき、ＣＰＵで生成されたアドレス及びコントロール信号を選択出力する第１のセレクタと、
前記メモリＢＩＳＴ回路を用いたテストのとき、前記メモリＢＩＳＴ回路で生成されたライトデータを選択出力し、前記メモリＢＩＳＴ回路を用いたテスト以外のとき、ＣＰＵで生成されたライトデータを選択出力する第２のセレクタと、
を備え、
前記フリップフロップが、
前記第１のセレクタの出力をサンプルする第１のフリップフロップと、
前記第２のセレクタの出力をサンプルする第２のフリップフロップと、
を備え、
前記第１のフリップフロップは、前記メモリのアドレス及びコントロール端子に供給されるアドレス及びコントロール信号のアクセスパスを構成し、
前記第２のフリップフロップは、前記メモリのライトデータ端子に供給されるライトデータのアクセスパスを構成する、ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記メモリからのリードデータをサンプルする第３のフリップフロップを備え、
前記第３のフリップフロップから出力されるリードデータが、前記メモリＢＩＳＴ回路に入力される、ことを特徴とする請求項２記載の半導体装置。
【請求項４】
前記第１のフリップフロップからの出力とテストバスからのアドレス及びコントロール信号とを選択する第３のセレクタと、
前記第２のフリップフロップからの出力と前記テストバスからのライトデータとを選択する第４のセレクタと
を備え、
前記第３のセレクタから出力されるアドレス及びコントロール信号が前記メモリのアドレス及びコントロール端子に供給され、
前記第４のセレクタから出力されるライトデータが前記メモリのライトデータ端子に供給される、ことを特徴とする請求項３記載の半導体装置。
【請求項５】
前記第４のセレクタから出力されるライトデータを取り込むメモリバイパス用の第４のフリップフロップと、
前記メモリからのリードデータと、前記第４のフリップフロップの出力を入力し、メモリバイパス時、前記第４のフリップフロップの出力を選択する第５のセレクタと、
を備え、
前記第５のセレクタの出力が前記第３のフリップフロップに入力される、ことを特徴とする請求項４記載の半導体装置。
【請求項６】
前記メモリＢＩＳＴ回路を用いたテストのときに、前記第１、第２のフリップフロップがパイプライン・フリップフロップとして機能する、ことを特徴とする請求項２記載の半導体装置。
【請求項７】
メモリにアクセスするための信号を取り込み出力するフリップフロップの直前に、メモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路への経路と切り替えを行うセレクタを設け、
前記メモリＢＩＳＴ回路により、前記メモリのテストと、前記メモリへアクセスするためのパスのテストを行う、ことを特徴とするテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に、メモリのテストに好適な半導体装置とテスト方法に関しする。
【背景技術】
【０００２】
複数のメモリを一つのチップに搭載した半導体装置において、これらのメモリをメモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路でテスト（セルフテスト）する場合、レイアウト的に、メモリＢＩＳＴ回路から遠方となるメモリが存在する場合がある。なお、メモリＢＩＳＴ回路は、メモリと同一チップ上に搭載され、メモリをテストするためのアドレス信号、コントロール信号、ライトデータのテストベクタを生成し、また、メモリからのリードデータをライトデータと比較する等してテストを行う。
【０００３】
メモリＢＩＳＴ回路から遠方となるメモリを、メモリＢＩＳＴ回路の近傍にあるメモリと同じようにテストすると、遠方のメモリは、配線遅延により、テストのタイミングが厳しくなる。
【０００４】
なお、特許文献１（特開２００６−１５５６８２号公報）には、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に組み込まれた複数のメモリをメモリＢＩＳＴ制御回路（「メモリＢＩＳＴ回路」ともいう）を用いてテストする際に、それぞれのメモリとメモリ制御ＢＩＳＴ回路の配置位置関係によらず、タイミングの問題を回避し実速度（ＡｔＳｐｅｅｄ）のテストを実施するためのＬＳＩテスト回路として、図３に示すような構成が開示されている。メモリ１０２、１０５のそれぞれの配置位置に応じて、それぞれをメモリＢＩＳＴ制御回路１０６と接続する経路に、メモリＢＩＳＴ実行時の信号を遅延させるパイプライン・フリップフロップ１０７、１０８が挿入されている。ＬＳＩ内の回路の構成によってメモリＢＩＳＴ制御回路１０６から離れたところに配置されたメモリ１０５に対してはパイプライン・フリップフロップ１０７と１０８により、メモリＢＩＳＴ制御回路１０６との間の信号をパイプライン化し、メモリＢＩＳＴ回路１０６においてはパイプライン段数を考慮したタイミングでテスト結果を比較判定する。
【０００５】
【特許文献１】特開２００６−１５５６８２号公報(図１)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以下に本発明による関連技術の分析を与える。
【０００７】
図３に示した例の構成をまとめると、以下の通りとされる。
【０００８】
（Ａ）メモリ１０５の直前にメモリＢＩＳＴ制御回路１０６への経路と切り替えを行うセレクタ１０４が配置されている。
【０００９】
（Ｂ）セレクタ１０４とメモリＢＩＳＴ制御回路１０６の間にパイプライン・フリップフロップ１０７、１０８が配置されている。
【００１０】
（Ｃ）メモリ１０５とメモリＢＩＳＴ制御回路１０６が物理的（レイアウト的）に遠い位置に配置された場合でも、遠くの位置に配置せれたメモリにおいて、パイプライン・フリップフロップ１０７、１０８によりタイミングが厳しくならない。このため、メモリＢＩＳＴ制御回路１０６から遠くの位置に配置されたメモリのアクセスタイミングが緩和される。
【００１１】
しかしながら、図３に示した構成の場合、メモリＢＩＳＴ制御回路１０６を用いてメモリ１０５のスピードテストを行う場合、テストできるのは、メモリ１０５だけであり、ユーザロジック回路１０１内のメモリにアクセスするフリップフロップ（不図示）とメモリ１０５間のアクセスパスのスピードテストをメモリＢＩＳＴ回路でテストすることはできない。このため、ユーザロジック回路１０１内のメモリにアクセスするフリップフロップ（不図示）とメモリ１０５間のアクセスパスのスピードテスト（ａｔ  ｓｐｅｅｄ  ｆｕｎｃｔｉｏｎａｌ  ｔｅｓｔ；実速度ファンクショナルテスト）は別の手段で行う必要がある（詳細な分析は比較例の説明で行う）。そして、メモリにアクセスするフリップフロップとメモリ間のパスのスピードテストを行うためのテストパタン（ＬＳＩテスタのパタン）が必要となる。
【課題を解決するための手段】
【００１２】
本発明は、上記問題点の少なくとも１つの解決を図るものであり、概略以下の構成とさる。
【００１３】
本発明によれば、メモリへアクセスするための信号を取り込み出力するフリップフロップと、前記メモリのテストを行うメモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路と、を備え、さらに、前記フリップフロップの直前に、前記メモリＢＩＳＴ回路からの信号を前記フリップフロップに供給するように、切り替えを行うセレクタを備えた半導体装置が提供される。
【００１４】
本発明によれば、メモリにアクセスするための信号を取り込み出力するフリップフロップの直前に、メモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ    Ｓｅｌｆ  Ｔｅｓｔ）回路への経路と切り替えを行うセレクタを設け、前記メモリＢＩＳＴ回路により、前記メモリのテストと、前記メモリへアクセスするためのパスのテストを行うテスト方法が提供される。
【発明の効果】
【００１５】
本発明によれば、メモリへアクセスするフリップフロップとメモリ間のアクセスパスのスピードテストをメモリＢＩＳＴ回路でテストすることを可能としている。
【発明を実施するための最良の形態】
【００１６】
本発明においては、メモリにアクセスするフリップフロップ（図１の１３、１４）の直前に、メモリＢＩＳＴ回路への経路（パス）の切替を行うセレクタ（図１の１１、１２）を備える。メモリにアクセスするフリップフロップとメモリ間のパスのスピードテストを、メモリＢＩＳＴにより実行することができる。このため、本発明においては、メモリにアクセスするフリップフロップとメモリ間のパスのテストパタンの作製を不要としている。
【００１７】
本発明の理解のために、本発明の比較例について以下に説明する。図２は、比較例の構成を示す図である（本発明者により作成された図である）。図２において、ＣＰＵ１Ａは、アドレス・コントロール信号を保持するフリップフロップ１３と、ＲＡＭ（ランダムアクセスメモリ）３へのライトデータを保持するフリップフロップ１４と、ＲＡＭ３からのリードデータを保持するフリップフロップ１５を備えている。ＣＰＵ１Ａのフリップフロップ１４から出力されるライトデータは、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ；誤り検出訂正）回路４のＥＣＣ符号化回路４１でＥＣＣ符号化される。なお、図２では、簡単のため、フリップフロップ１３は一本の線を入力するフリップフロップとして図示されているが、複数ビットパラレルのアドレス信号を不図示のクロックでサンプルする複数のフリップフロップ（レジスタ）として構成される。なお、簡単のため、アドレス・コントロール信号を１つにまとめているが、コントロール信号（リード、ライトアクセス等の指定を行う制御信号を含む）は、アドレス信号とは別の端子とされ、アドレス信号とは別の配線経路上を転送されるようにしてもよい。またフリップフロップ１４、１５は、複数ビットのデータをパラレルに転送する場合、複数ビットのライトデータ（パラレルデータ）、複数ビットのリードデータ（パラレルデータ）を不図示のクロックでサンプルする複数のフリップフロップ（レジスタ）として構成される。
【００１８】
テストバスセレクタ５は、フリップフロップ１３からのアドレス・コントロール信号と、テストバス９のアドレス・コントロール信号を入力するセレクタ５１と、ＥＣＣ（Ｅｒｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｅｃｔｉｏｎ）回路４のＥＣＣ符号化回路４１の出力と、テストバス９のライトデータとを入力するセレクタ５２とを備えている。テストバス９のアドレス・コントロール信号、ライトデータは、テスト時に、ＬＳＩテスタから供給される。セレクタ５１は、不図示のテストモード信号によって、テストバス９を用いたテスト時には、テストバス９のアドレス・コントロール信号（テストパタン）を選択し、それ以外は、フリップフロップ１３からのアドレス・コントロール信号を選択する。同様に、セレクタ５２は不図示のテストモード信号によって、テストバス９を用いたテスト時には、テストバス９のライトデータ（テストパタン）を選択し、それ以外の場合、ＥＣＣ符号化回路４１の出力を選択する。なお、ＥＣＣ符号化回路４１は、ＣＰＵ１ＡからのライトデータをＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ;誤り訂正符号）符号化して出力する。
【００１９】
メモリＢＩＳＴセレクタ１１（単に、「セレクタ１１」ともいう）は、セレクタ５１の出力と、メモリＢＩＳＴ回路２からのアドレス・コントロール信号を受けるパイプライン・フリップフロップ８１の出力とを入力し、メモリＢＩＳＴ回路２を用いたテスト時には、パイプライン・フリップフロップ８１の出力を選択し、それ以外の場合、セレクタ５１の出力を選択する。メモリＢＩＳＴセレクタ１１の出力は、ＲＡＭ３のアドレス・コントロール信号端子に入力される。
【００２０】
メモリＢＩＳＴセレクタ１２（単に、「セレクタ１２」ともいう）は、セレクタ５２の出力と、メモリＢＩＳＴ回路２からのライトデータを受けるパイプライン・フリップフロップ８２の出力とを入力し、メモリＢＩＳＴ回路２を用いたテスト時には、パイプライン・フリップフロップ８２の出力を選択し、それ以外の場合、セレクタ５２の出力を選択する。メモリＢＩＳＴセレクタ１２の出力はライトデータ端子に入力される。
【００２１】
セレクタ７は、ＲＡＭ３のリードデータ端子から出力されたリードデータと、メモリＢＩＳＴセレクタ１２から出力されるライトデータを受けるフリップフロップ６の出力（バイパス出力）を受け、スキャンパステスト等のバイパスモード時には、フリップフロップ６の出力を選択し、それ以外の場合、ＲＡＭ３のリードデータ端子から出力されるリードデータを選択する。
【００２２】
また、ＲＡＭ３のリードデータ端子から出力されたリードデータは、パイプライン・フリップフロップ８３に直接に入力され、パイプライン・フリップフロップ８３の出力はメモリＢＩＳＴセレクタ１２に入力される。
【００２３】
ＥＣＣ回路４のＥＣＣ復号回路４２は、セレクタ７の出力を受け、ＥＣＣ復号化（誤り検出と訂正）を行う。
【００２４】
ＣＰＵ１Ａのフリップフロップ１５は、ＥＣＣ復号回路４２の出力を取り込む。
【００２５】
図２において、フリップフロップ８１、８２（パイプライン・フリップフロップ）は、図３のフリップフロップ１０７に対応し、フリップフロップ８３は、図３のフリップフロップ１０８に対応している。図２の例では、ＥＣＣ機能を備えているが、ＥＣＣ回路４はなくてもよい。この場合、フリップフロップ１４の出力がセレクタ５２に直接入力され、セレクタ７の出力はフリップフロップ１５に直接入力される。
【００２６】
ノーマル動作時、ＣＰＵ１Ａ内のフリップフロップ１３からのアドレス・コントロール信号は、セレクタ５１、セレクタ１１を介してＲＡＭ３のアドレス・コントロール端子に入力される。ＣＰＵ１Ａ内のフリップフロップ１４からのライトデータは、ＥＣＣ符号化回路４１、セレクタ５２、セレクタ１２を介してＲＡＭ３のライトデータ端子に入力される。
【００２７】
アドレス・コントロール信号のアドレスで選択されたＲＡＭ３のメモリセルのリードデータは、セレクタ７、ＥＣＣ復号回路４２を介してＣＰＵ１Ａのフリップフロップ１５に取り込まれる。
【００２８】
テストバス９を用いたテスト時には、テストバス９のアドレス・コントロール信号（テストパタン）は、セレクタ５１、セレクタ１１を介してＲＡＭ３のアドレス・コントロール端子に入力される。テストバス９のライトデータ（テストパタン）は、セレクタ５２、セレクタ１２を介してＲＡＭ３のデータ端子に入力される。テストバス９のアドレス信号で選択されたＲＡＭ３のメモリセルのリードデータは、セレクタ７を介してテストバス９のリードデータに転送される。
【００２９】
メモリＢＩＳＴ回路２を用いてスピードテストを行う場合、セレクタ１１でパイプライン・フリップフロップ８１の出力を選択し、セレクタ１２でパイプライン・フリップフロップ８２の出力を選択し、メモリＢＩＳＴ回路２から、ＲＡＭ３へアドレス・コントロール信号とライトデータを与える。この場合、ＲＡＭ３のリードデータをパイプライン・フリップフロップ８３で取り込んで、メモリＢＩＳＴ回路２に与えられる。
【００３０】
スキャンパステストやＢＩＳＴテストを採用していると、ＲＡＭ３は、フリップフロップ６とセレクタ７からなるメモリバイパスロジックでバイパスされる。すなわち、バイパス時、ＲＡＭ３のリードデータは無視され、セレクタ１２の出力をフリップフロップ６で取り込んだデータがセレクタ７で選択される。
【００３１】
メモリにアクセスするフリップフロップ１４、１５と、ＲＡＭ３間のパス（フリップフロップ１４→ＥＣＣ符号化回路４１→セレクタ５２→セレクタ１２→ＲＡＭ３のライトデータ端子、及び、ＲＡＭ３のリードデータ端子→セレクタ７→ＥＣＣ復号回路４２→フリップフロップ１５のパス）のスピードテストを行う場合、メモリＢＩＳＴ回路２を用いたテストパタンとは、別のテストパタンが必要とされる。すなわち、メモリＢＩＳＴ回路２を用いて、メモリにアクセスするフリップフロップ１４、１５とＲＡＭ３間のパスをテストすることは不可能である。このため、例えば、ＣＰＵ１Ａ内の内部回路を介してフリップフロップ１４、１５に、テスト用のアドレス・コントロール信号、テスト用のライトデータを設定し、テストバスセレクタ５１、５２の選択、メモリＢＩＳＴセレクタ１１、１２の選択を行い、セレクタ７の選択を設定してＲＡＭ３からのリードデータをフリップフロップ１５に入力するように設定するテストパタンをＬＳＩテスタから供給することで、スピードテストが行われる。
【００３２】
そこで、本発明においては、メモリにアクセスするフリップフロップ（１３、１４）の直前に、メモリＢＩＳＴ回路（２）の経路への切替を行うセレクタ（メモリＢＩＳＴセレクタ）（１１、１２）を備えている。以下、実施例に即して説明する。
【実施例】
【００３３】
図１は、本発明の一実施例の構成を示す図である。図１を参照すると、本実施例においては、ＲＡＭ３と、ＣＰＵ１と、ＥＣＣ符号化回路４１とＥＣＣ復号回路４２を備えたＥＣＣ回路４と、セレクタ５１、５２を備えたテストバスセレクタ５と、フリップフロップ６とセレクタ７を備えたメモリバイパスロジックと、メモリＢＩＳＴ回路２とを備えている。ＣＰＵ１は、ＲＡＭ３にアクセスするためのフリップフロップ１３、１４、１５と、フリップフロップ１３、１４の直前に設けられたセレクタ１１とセレクタ１２を備えたメモリＢＩＳＴセレクタ１０とを備えている。なお、図１において、フリップフロップ１３、１４、１５、ＥＣＣ回路４、テストバスセレクタ５、メモリバイパスロジック（６、７）、ＲＡＭ３、メモリＢＩＳＴ回路２自体は、図２と同一とされる。
【００３４】
ＣＰＵ１内のメモリＢＩＳＴセレクタ１０のセレクタ１１は、ＣＰＵ１の内部回路（不図示）で生成されたアドレス・コントロール信号と、メモリＢＩＳＴ回路２からのアドレス・コントロール信号とを入力し、メモリＢＩＳＴ回路２を用いたテスト時、メモリＢＩＳＴ回路２からのアドレス・コントロール信号を選択し、それ以外の場合、ＣＰＵ１の内部回路からのアドレス・コントロール信号を選択する。セレクタ１１で選択されたアドレス・コントロール信号はフリップフロップ１３に入力される
【００３５】
ＣＰＵ１のメモリＢＩＳＴセレクタ１０のセレクタ１２は、ＣＰＵ１の内部回路で生成されたライトデータと、メモリＢＩＳＴ回路２からのライトデータとを入力し、メモリＢＩＳＴ回路２を用いたテスト時、メモリＢＩＳＴ回路２からのライトデータを選択し、それ以外の場合、ＣＰＵ１の内部回路からのライトデータを選択する。セレクタ１２で選択されたライトデータはフリップフロップ１４に入力される。フリップフロップ１４の出力はＥＣＣ回路４のＥＣＣ符号化回路４１に入力される。
【００３６】
セレクタ５１は、フリップフロップ１３の出力とテストバス９のアドレス・コントロール信号を入力し、テストバスを用いたテストを行う場合、テストバス９のアドレス・コントロール信号を選択し、それ以外の場合（例えばノーマル動作時、及び、メモリＢＩＳＴ回路２を用いたテスト時）、フリップフロップ１３の出力を選択する。
【００３７】
セレクタ５２は、ＥＣＣ符号化回路４１の出力とテストバスのライトデータとを入力し、テストバスを用いたテストを行う場合、テストバス９のライトデータを選択し、それ以外の場合（例えばノーマル動作時、及び、メモリＢＩＳＴ回路２を用いたテスト時）、フリップフロップ１４の出力を選択する。
【００３８】
セレクタ５１、５２の出力はＲＡＭ３のアクセス・コントロール信号端子、ライトデータ端子にそれぞれ入力される。またセレクタ５２の出力は、スキャンパステスト等メモリバイパス時に、メモリバイパスロジックを構成するフリップフロップ６に取り込まれる。フリップフロップ６の出力はセレクタ７の一端に入力される。セレクタ７の他端には、ＲＡＭ３からのリードデータが入力される、セレクタ７は、メモリバイパス時に、フリップフロップ６の出力を選択し、それ以外の場合、ＲＡＭ３からのリードデータを選択する。
【００３９】
セレクタ７の出力は、ＥＣＣ回路４のＥＣＣ復号回路４２に入力され、誤り訂正復号処理される。ＥＣＣ復号回路４２の出力は、ＣＰＵ１のフリップフロップ１５に取り込まれる。フリップフロップ１５の出力は、ＣＰＵ１の内部回路及びメモリＢＩＳＴ回路２に供給される。
【００４０】
本実施例においては、メモリＢＩＳＴセレクタ１１、１２が、ＣＰＵ１内において、メモリにアクセスするフリップフロップ１３、１４の前段に挿入されている。
【００４１】
図１では、説明の簡単のために、メモリとしてＲＡＭ３を１つ備えた構成が開示されているが、図３のように複数のメモリを備えた構成としてもよいことは勿論である。この場合、フリップフロップ１３、１４は、パイプライン・フリップフロップとして機能し、メモリＢＩＳＴ回路２から遠方にあるメモリに対しては、フリップフロップ１３とセレクタ５１、フリップフロップ１４とセレクタ５２、セレクタ７とフリップフロップ１５の間にそれぞれ、さらに少なくとも１つのフリップフロップ（パイプライン・フリップフロップ）を備えた構成としてもよいことは勿論である。
【００４２】
本実施例の動作を説明する。
【００４３】
ノーマル（通常）動作時、ＣＰＵ１内のメモリにアクセスするフリップフロップ１３、１４によりＲＡＭ３へのアクセスが行われる。セレクタ１１は、ＣＰＵ１の内部回路（不図示）で生成されたアドレス信号、コントロール信号を選択し、フリップフロップ１３の出力は、セレクタ５１を介して、ＲＡＭ３のアドレス・コントロール端子に供給される。セレクタ１２は、ＣＰＵ１の内部回路（不図示）で生成されたライトデータを選択し、フリップフロップ１４の出力は、ＥＣＣ符号化回路４１、セレクタ５２を介してＲＡＭ３のライトデータ端子に供給される。ＲＡＭ３からのリードデータはセレクタ７、ＥＣＣ復号回路４２、ＣＰＵ１のフリップフロップ１５を介してＣＰＵ１の内部回路に供給される。
【００４４】
スキャンパステスト等を行う場合には、メモリバイパスロジック６、７が動作し、ＲＡＭ３のライトのアクセスパス、及び、リードのアクセスパスは、ＣＰＵ１内のフリップフロップ１４とフリップフロップ６間、および、フリップフロップ６とＣＰＵ１内のフリップフロップ１５間においてテストが行われる。
【００４５】
メモリＢＩＳＴ回路２を用いたセルフテスト時には、ＣＰＵ１内において、ＲＡＭ３にアクセスするためのフリップフロップ１３、１４、１５を、パイプライン・フリップフロップとして利用し、メモリＢＩＳＴ回路２によるＲＡＭ３のテストが行われる。すなわち、メモリＢＩＳＴ回路２で生成されたアドレス・コントロール信号は、メモリＢＩＳＴ回路２→セレクタ１１→フリップフロップ１３→セレクタ５１のパスを介してＲＡＭ３のアドレス・コントロール端子に供給される。
【００４６】
メモリＢＩＳＴ回路２で生成されたライトデータは、メモリＢＩＳＴ回路２→セレクタ１２→フリップフロップ１４→ＥＣＣ符号化回路４１→セレクタ５２のパスを介してＲＡＭ３のライトデータ端子に供給される。
【００４７】
メモリＢＩＳＴ回路２によるＲＡＭ３のテストにおいて、ＲＡＭ３からのリードデータは、ＲＡＭ３のリードデータ端子→セレクタ７→ＥＣＣ復号回路４２→フリップフロップ１４→メモリＢＩＳＴ回路２のパスが用いられる。
【００４８】
以上説明したとおり、本実施例によれば、メモリＢＩＳＴ回路によるメモリのテスト時に、メモリにアクセスするフリップフロップを介してメモリのテストを行う。このため、メモリにアクセスするフリップフロップとメモリ間のパスについても、メモリＢＩＳＴ回路を用いて、スピードテストを行うことができる。
【００４９】
本実施例においては、メモリにアクセスするフリップフロップとメモリ間のアクセスパスのスピードテストは、メモリＢＩＳＴ回路によって行うことができるため、ＬＳＩテスタ等を用いて別途実行することは必要とされない。
【００５０】
以上説明したように、本発明によれば、メモリＢＩＳＴ回路によるテストにより、メモリにアクセスするフリップフロップとメモリ間のスピードテストも併せて実行できるため、別途メモリにアクセスするフリップフロップとメモリ間のスピードテストを実行する必要が無く、トータルテスト時間の短縮が図ることができる。また、メモリにアクセスするフリップフロップとメモリ間のスピードテストのためのテストパタンを作製する工数を不要とするという効果も奏する。
【００５１】
なお、上記の特許文献１の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施例の構成を示す図である。
【図２】比較例を示す図である。
【図３】特許文献１の構成を示す図である。
【符号の説明】
【００５３】
１、１Ａ  ＣＰＵ
２  メモリＢＩＳＴ回路
３  ＲＡＭ（メモリ）
４  ＥＣＣ回路
４１  ＥＣＣ符号化回路
４２  ＥＣＣ復号回路
５、５１、５２  テストバスセレクタ
６  フリップフロップ
７  セレクタ
８、８１、８２、８３  パイプライン・フリップフロップ
９  テストバス
１０、１１、１２  メモリＢＩＳＴセレクタ
１３、１４、１５  フリップフロップ
１０１  ユーザロジック回路
１０２、１０５  メモリ
１０４  セレクタ
１０６  メモリＢＩＳＴ制御回路（メモリＢＩＳＴ回路）
１０７、１０８  フリップフロップ
【図１】
2010152939.tif 000003
【図２】
2010152939.tif 000004
【図３】
2010152939.tif 000005