(57)【要約】【課題】  既存の試験回路を利用して回路規模を増加することなくメモリ回路を試験する。【解決手段】  複数の記憶部と、複数のライトポートと、複数のリードポートとを含むメモリ回路を試験するメモリ試験回路は、ライトポートのいずれかを識別するライトポート識別情報を保持するライトポート識別情報保持部と、リードポートのいずれかを識別するリードポート識別情報を保持するリードポート識別情報保持部と、ライトポート識別情報に基づきライトポートのいずれかを選択するライトポート選択部と、リードポート識別情報に基づきリードポートのいずれかを選択するリードポート選択部と、ライトポート識別情報保持部にライトポート識別情報を設定し、リードポート識別情報保持部にリードポート識別情報を設定し、選択されたライトポートおよびリードポートを介してメモリ回路を試験する試験制御部を有する。【選択図】    図１
2015195066.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数の記憶部と、前記記憶部へのデータの書き込み時に使用される複数のライトポートおよび前記記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路において、
前記メモリ試験回路は、
前記複数のライトポートのいずれかを識別するライトポート識別情報を保持するライトポート識別情報保持部と、
前記複数のリードポートのいずれかを識別するリードポート識別情報を保持するリードポート識別情報保持部と、
前記ライトポート識別情報に基づき前記複数のライトポートのいずれかを選択するライトポート選択部と、
前記リードポート識別情報に基づき前記複数のリードポートのいずれかを選択するリードポート選択部と、
前記ライトポート識別情報保持部に前記ライトポート識別情報を設定するとともに、前記リードポート識別情報保持部に前記リードポート識別情報を設定し、選択された前記ライトポートと選択された前記リードポートとを介して前記メモリ回路を試験する試験制御部を有することを特徴とするメモリ試験回路。
【請求項２】
前記複数の記憶部は、不連続なアドレスが割り当てられ、
前記メモリ試験回路は、
連続するアドレスを生成するアドレス生成部と、
前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換するアドレス変換部を有し、
前記試験制御部は、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験することを特徴とする請求項１記載のメモリ試験回路。
【請求項３】
不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路において、
前記メモリ試験回路は、
連続するアドレスを生成するアドレス生成部と、
前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換するアドレス変換部と、
前記アドレス生成部が生成したアドレスに基づいて、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験する試験制御部を有することを特徴とするメモリ試験回路。
【請求項４】
前記複数の記憶部の各々は、データを書き込む記憶部を示すライトアドレスと、データを読み出す記憶部を示すリードアドレスとが割り当てられ、さらに、前記複数の記憶部のいずれかは、複数のリードアドレスが割り当てられ、
前記メモリ試験回路は、前記複数のリードアドレスのいずれかを示す情報を保持するアドレス保持部を有し、
前記アドレス変換部は、前記アドレス保持部に保持された情報に基づいて、前記アドレス生成部が生成したアドレスを変換することを特徴とする請求項２または請求項３記載のメモリ試験回路。
【請求項５】
前記メモリ回路から読み出されるデータの出力タイミングは、データを読み出す記憶部を示すリードアドレスの試験パターンに応じて異なり、
前記メモリ試験回路は、
データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンを検出する検出部と、
前記検出部による検出に基づいて、前記メモリ回路からデータの読み出しが開始されてから所定の期間、データと期待値との比較を無効にする比較部を有し、
前記試験制御部は、前記比較部による比較結果に基づいて前記メモリ回路の良否を判定することを特徴とする請求項１ないし請求項５のいずれか１項記載のメモリ試験回路。
【請求項６】
前記メモリ試験回路は、さらに、前記検出部による検出を抑止する抑止情報を保持する抑止保持部を有し、
前記検出部は、前記抑止保持部に抑止情報が保持される場合、データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンの検出を抑止することを特徴とする請求項５記載のメモリ試験回路。
【請求項７】
前記メモリ回路は、前記リードアドレスの所定のビットに基づいて、それぞれ所定数の前記記憶部から読み出されるデータのいずれかを選択する複数の第１セレクタと、前記リードアドレスの他の所定のビットに基づいて、前記第１セレクタのそれぞれが選択したデータのいずれかを選択する第２セレクタを有し、
前記検出部は、前記第１セレクタが使用する前記リードアドレスの前記所定のビットが変化する試験パターンを検出することを特徴とする請求項５または請求項６記載のメモリ試験回路。
【請求項８】
前記メモリ試験回路は、前記メモリ回路を含む半導体集積回路に搭載されることを特徴とする請求項１ないし請求項７のいずれか１項記載のメモリ試験回路。
【請求項９】
データを記憶する複数の記憶部と、前記記憶部へのデータの書き込み時に使用される複数のライトポートおよび前記記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路の制御方法において、
前記メモリ試験回路が有するライトポート識別情報保持部が、前記複数のライトポートのいずれかを識別するライトポート識別情報を保持し、
前記メモリ試験回路が有するリードポート識別情報保持部が、前記複数のリードポートのいずれかを識別するリードポート識別情報を保持し、
前記メモリ試験回路が有するライトポート選択部が、前記ライトポート識別情報に基づき前記複数のライトポートのいずれかを選択し、
前記メモリ試験回路が有するリードポート選択部が、前記リードポート識別情報に基づき前記複数のリードポートのいずれかを選択し、
前記メモリ試験回路が有する試験制御部が、前記ライトポート識別情報保持部に前記ライトポート識別情報を設定するとともに、前記リードポート識別情報保持部に前記リードポート識別情報を設定し、選択されたライトポートと選択されたリードポートとを介して前記メモリ回路を試験することを特徴とするメモリ試験回路の制御方法。
【請求項１０】
不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路の制御方法において、
前記メモリ試験回路が有するアドレス生成部が、連続するアドレスを生成し、
前記メモリ試験回路が有するアドレス変換部が、前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換し、
前記メモリ試験回路が有する試験制御部が、前記アドレス生成部が生成したアドレスに基づいて、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験することを特徴とするメモリ試験回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ試験回路およびメモリ試験回路の制御方法に関する。
【背景技術】
【０００２】
メモリ回路を、メモリ回路とともに半導体集積回路に搭載されるＢＩＳＴ（Built-In Self Test）回路により試験する手法が提案されている。例えば、ＢＩＳＴ回路は、アドレスのビット幅が異なる複数のメモリ回路の各々の最大アドレス以上のアクセスをリフレッシュに置き換える。そして、ＢＩＳＴ回路は、リフレッシュ時に読み出しデータと期待値との比較を禁止することで、複数のメモリ回路にデータを並列に読み書きする（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、複数のデータポートを有するメモリ回路、データを保持する記憶部に複数のアドレスが割り当てられたメモリ回路、またはデータの出力タイミングがアドレスのパターンに応じて異なるメモリ回路等は、既存のＢＩＳＴ回路で試験することが困難である。このため、従来、新たなメモリ試験回路が設計され、この種のメモリ回路が試験されていた。
【０００５】
本件開示のメモリ試験回路およびメモリ試験回路の制御方法は、既存の試験回路を利用して回路規模を増加することなくメモリ回路を試験することを目的とする。
【課題を解決するための手段】
【０００６】
一つの観点によれば、データを記憶する複数の記憶部と、記憶部へのデータの書き込み時に使用される複数のライトポートおよび記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路は、複数のライトポートのいずれかを識別するライトポート識別情報を保持するライトポート識別情報保持部と、複数のリードポートのいずれかを識別するリードポート識別情報を保持するリードポート識別情報保持部と、ライトポート識別情報に基づき複数のライトポートのいずれかを選択するライトポート選択部と、リードポート識別情報に基づき複数のリードポートのいずれかを選択するリードポート選択部と、ライトポート識別情報保持部にライトポート識別情報を設定するとともに、リードポート識別情報保持部にリードポート識別情報を設定し、選択されたライトポートと選択されたリードポートとを介してメモリ回路を試験する試験制御部を有する。
【０００７】
別の観点によれば、不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路は、連続するアドレスを生成するアドレス生成部と、アドレス生成部が生成したアドレスを記憶部に割り当てられたアドレスに変換するアドレス変換部と、アドレス生成部が生成したアドレスに基づいて、アドレス変換部が変換したアドレスにより順次にアクセスされる記憶部を試験する試験制御部を有する。
【０００８】
さらなる別の観点によれば、データを記憶する複数の記憶部と、記憶部へのデータの書き込み時に使用される複数のライトポートおよび記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路の制御方法は、メモリ試験回路が有するライトポート識別情報保持部が、複数のライトポートのいずれかを識別するライトポート識別情報を保持し、メモリ試験回路が有するリードポート識別情報保持部が、複数のリードポートのいずれかを識別するリードポート識別情報を保持し、メモリ試験回路が有するライトポート選択部が、ライトポート識別情報に基づき複数のライトポートのいずれかを選択し、メモリ試験回路が有するリードポート選択部が、リードポート識別情報に基づき複数のリードポートのいずれかを選択し、メモリ試験回路が有する試験制御部が、ライトポート識別情報保持部にライトポート識別情報を設定するとともに、リードポート識別情報保持部にリードポート識別情報を設定し、選択されたライトポートと選択されたリードポートとを介してメモリ回路を試験する。
【０００９】
さらなる別の観点によれば、不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路の制御方法は、メモリ試験回路が有するアドレス生成部が、連続するアドレスを生成し、メモリ試験回路が有するアドレス変換部が、アドレス生成部が生成したアドレスを記憶部に割り当てられたアドレスに変換し、記メモリ試験回路が有する試験制御部が、アドレス生成部が生成したアドレスに基づいて、アドレス変換部が変換したアドレスにより順次にアクセスされる記憶部を試験する。
【発明の効果】
【００１０】
本件開示のメモリ試験回路およびメモリ試験回路の制御方法は、既存の試験回路を利用して回路規模を増加することなくメモリ回路を試験することができる。
【図面の簡単な説明】
【００１１】
【図１】メモリ試験回路およびメモリ試験回路の制御方法の一実施形態を示す図である。
【図２】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図３】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図４】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図５】図４に示すレジスタファイルの例を示す図である。
【図６】図４に示す試験制御部の例を示す図である。
【図７】メモリ試験回路の別の例を示す図である。
【図８】図７に示す試験制御部の例を示す図である。
【図９】図４および図７に示すメモリ試験回路の回路規模の例を示す図である。
【図１０】図４に示すレジスタファイルと異なる仕様を有するレジスタファイルを試験するメモリ試験回路の回路規模の例を示す図である。
【図１１】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図１２】図１１に示すレジスタファイルの例を示す図である。
【図１３】図１１に示すリードアドレス変換回路およびライトアドレス変換回路の動作の例を示す図である。
【図１４】図１１に示すメモリ試験回路がレジスタファイルを試験する例を示す図である。
【図１５】図１１に示すメモリ試験回路がレジスタファイルを試験する別の例を示す図である。
【図１６】メモリ試験回路の別の例を示す図である。
【図１７】メモリ試験回路のさらなる別の例を示す図である。
【図１８】図１７に示すメモリ試験回路がレジスタファイルを試験する例を示す図である。
【図１９】図１７に示すメモリ試験回路がレジスタファイルを試験する別の例を示す図である。
【図２０】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図２１】図２０に示すレジスタファイルの例を示す図である。
【図２２】図２０に示すマスク生成回路の例を示す図である。
【図２３】図２０に示すメモリ試験回路がレジスタファイルを試験する例を示す図である。
【図２４】図２０に示すメモリ試験回路がレジスタファイルを試験する別の例を示す図である。
【図２５】メモリ試験回路の別の例を示す図である。
【図２６】メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す図である。
【図２７】図２６に示すメモリ試験回路がレジスタファイルを試験する例を示す図である。
【図２８】メモリ試験回路の別の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を用いて実施形態を説明する。信号が伝達される信号線および端子には、信号名と同じ符号を使用する。
【００１３】
図１は、メモリ試験回路およびメモリ試験回路の制御方法の一実施形態を示す。図１に示すメモリ試験回路ＭＴａは、ライトポート識別情報保持部ＷＰＨ、リードポート識別情報保持部ＲＰＨ、ライトポート選択部ＷＳ、リードポート選択部ＲＳおよび試験制御部ＴＣＮＴａを有し、レジスタファイルＲＦａの試験を実行する。例えば、メモリ試験回路ＭＴａは、レジスタファイルＲＦａとともに半導体集積回路（例えば、半導体チップ）に搭載される。
【００１４】
例えば、レジスタファイルＲＦａは、データを記憶する複数のエントリＥＮＴ（ＥＮＴ０、ＥＮＴ１）、ライトポートＷＰ（ＷＰ０、ＷＰ１）およびリードポートＲＰ（ＲＰ０、ＲＰ１）を有する。ライトポートＷＰは、エントリＥＮＴへのデータの書き込み時に使用される。リードポートＲＰは、エントリＥＮＴに保持されたデータの読み出し時に使用される。レジスタファイルＲＦａは、メモリ回路の一例であり、エントリＥＮＴは、記憶部の一例である。
【００１５】
ライトポート識別情報保持部ＷＰＨは、ライトポートＷＰ０、ＷＰ１のいずれかを識別するライトポート識別情報ＷＰＩを保持する。リードポート識別情報保持部ＲＰＨは、リードポートＲＰ０、ＲＰ１のいずれかを識別するリードポート識別情報ＲＰＩを保持する。ライトポート選択部ＷＳは、ライトポート識別情報ＷＰＩに基づき複数のライトポートＷＰのいずれかを選択する。リードポート選択部ＲＳは、リードポート識別情報ＲＰＩに基づき複数のリードポートＲＰのいずれかを選択する。試験制御部ＴＣＮＴａは、ライトポート識別情報保持部ＲＰＨにライトポート識別情報ＷＰＩを設定するとともに、リードポート識別情報保持部ＲＰＨにリードポート識別情報ＲＰＩを設定する。
【００１６】
試験制御部ＴＣＮＴａは、ライトポート識別情報ＷＰＩに基づいてライトポート選択部ＷＳが選択したライトポートＷＰを介してエントリＥＮＴにデータを書き込む。例えば、試験制御部ＴＣＮＴａは、ライトポート選択部ＷＳが選択したライトポートＷＰにライトアドレスおよびライトデータを出力する。そして、ライトデータは、ライトアドレスに基づいて選択されたエントリＥＮＴ０、ＥＮＴ１のいずれかに書き込まれる。試験制御部ＴＣＮＴａは、リードポート識別情報ＲＰＩに基づいてリードポート選択部ＲＳが選択したリードポートＲＰを介してエントリＥＮＴからデータを読み出す。例えば、試験制御部ＴＣＮＴａは、リードポート選択部ＲＳが選択したリードポートＲＰにリードアドレスを出力し、リードアドレスに応じて選択されたエントリＥＮＴ０、ＥＮＴ１のいずれかからリードポートＲＰに出力されるデータを受ける。そして、例えば、試験制御部ＴＣＮＴａは、読み出したデータを期待値と比較することで、レジスタファイルＲＦａが正常に動作するか否かを判定する。すなわち、試験制御部ＴＣＮＴａは、レジスタファイルＲＦａの良否を判定する試験を実行する。
【００１７】
これにより、複数のライトポートＷＰ０、ＷＰ１および複数のリードポートＲＰ０、ＲＰ１を有するレジスタファイルＲＦａの試験を、１つのライトポートＷＰおよび１つのリードポートＲＰを有するレジスタファイルと見なして実行することできる。すなわち、試験制御部ＴＣＮＴａは、１つのライトポートＷＰと１つのリードポートＲＰとを試験する既存の試験回路を用いて、複数のライトポートＷＰと複数のリードポートＲＰを有するレジスタファイルＲＦａを試験することができる。
【００１８】
これに対して、メモリ試験回路ＭＴａがライトポート識別情報保持部ＷＰＨ、リードポート識別情報保持部ＲＰＨ、ライトポート選択部ＷＳおよびリードポート選択部ＲＳを持たない場合、レジスタファイルＲＦａの試験を試験制御部ＴＣＮＴａにより実行することは困難である。この場合、例えば、ライトポートＷＰ０、ＷＰ１毎に試験パターンを生成する回路と、リードポートＲＰ０、ＲＰ１毎に試験パターンおよび期待値を生成し、データと期待値とを比較する回路とを有する試験制御部が新たに設計される。図１に示すメモリ試験回路ＭＴａでは、新たに設計される試験制御部に比べて試験制御部ＴＣＮＴａの回路規模を削減することができる。
【００１９】
メモリ試験回路ＭＴａが、レジスタファイルＲＦａとともに半導体集積回路に搭載される場合、メモリ試験回路ＭＴａの回路規模が削減されることで、半導体集積回路のチップサイズを削減することが可能になる。例えば、メモリ試験回路ＭＴａの回路規模の削減により、回路および配線の実装密度が高くなる場合、クリティカルパス上の信号の伝搬遅延時間を短縮することが可能になり、半導体集積回路の動作周波数を高くすることが可能になる。すなわち、メモリ試験回路ＭＴａの回路規模の増加を抑制することで、レジスタファイルＲＦａのアクセス性能が低下することを抑止できる。
【００２０】
図２は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。図１に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図２に示すメモリ試験回路ＭＴｂは、アドレス生成部ＡＧＥＮ、アドレス変換部ＡＣＮＶおよび試験制御部ＴＣＮＴｂを有する。例えば、メモリ試験回路ＭＴｂは、レジスタファイルＲＦｂとともに半導体集積回路（例えば、半導体チップ）に搭載される。
【００２１】
例えば、レジスタファイルＲＦｂは、データを記憶する複数のエントリＥＮＴ（ＥＮＴ０、ＥＮＴ２、ＥＮＴ３）、ライトポートＷＰおよびリードポートＲＰを有する。各エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３の末尾の数字は、エントリＥＮＴに割り当てられたアドレスを示す。すなわち、エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３には、アドレス”１”が欠落した不連続なアドレスが割り当てられる。レジスタファイルＲＦａは、メモリ回路の一例であり、エントリＥＮＴは、記憶部の一例である。
【００２２】
アドレス生成部ＡＧＥＮは、連続するアドレスＡＤ０（例えば、”０”、”１”、”２”）を順次に生成する。なお、アドレス生成部ＡＧＥＮは、試験制御部ＴＣＮＴ内に設けられてもよい。アドレス変換部ＡＣＮＶは、アドレス生成部ＡＧＥＮが生成したアドレスＡＤ０をエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３に割り当てられたアドレスＡＤ１（すなわち、”０”、”２”、”３”）に変換する。
【００２３】
試験制御部ＴＣＮＴｂは、アドレス生成部ＡＧＥＮが生成したアドレスＡＤ０に基づいて、各エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３にデータを順次に書き込む。また、試験制御部ＴＣＮＴｂは、アドレス生成部ＡＧＥＮが生成したアドレスＡＤ０に基づいて、各エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３からデータを順次に読み出す。例えば、アドレスＡＤ０（＝”１”）に基づいて、データはエントリＥＮＴ２に書き込まれ、アドレスＡＤ０（＝”１”）に基づいて、データはエントリＥＮＴ２から読み出される。そして、例えば、試験制御部ＴＣＮＴｂは、読み出したデータを期待値と順次に比較することで、レジスタファイルＲＦｂが正常に動作するか否かを判定する。すなわち、試験制御部ＴＣＮＴは、アドレス変換部ＡＣＮＶが変換したアドレスＡＤ１により順次にアクセスされるエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３の良否を判定する試験を実行する。
【００２４】
図２に示すメモリ試験回路ＭＴｂでは、アドレス変換部ＡＣＮＶは、既存のアドレス生成部ＡＧＥＮが生成する連続するアドレスＡＤ０を不連続なアドレスＡＤ１に変換する。これにより、連続するアドレスを生成するアドレス生成部ＡＧＥＮを利用して、不連続なアドレスが割り当てられたエントリＥＮＴを有するレジスタファイルＲＦｂを試験することができる。したがって、図１と同様に、既存の試験回路を用いて、レジスタファイルＲＦｂを試験することができる。さらに、レジスタファイルＲＦｂを試験する回路の規模が増加することを抑制することができ、レジスタファイルＲＦｂの性能が低下することを抑止できる。
【００２５】
図３は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。図１に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図３に示すメモリ試験回路ＭＴｃは、検出部ＤＥＴ、比較部ＣＭＰおよび試験制御部ＴＣＮＴｃを有する。例えば、メモリ試験回路ＭＴｃは、レジスタファイルＲＦｃとともに半導体集積回路（例えば、半導体チップ）に搭載される。
【００２６】
例えば、レジスタファイルＲＦｃは、データを記憶する複数のエントリＥＮＴ（ＥＮＴ０、ＥＮＴ１、ＥＮＴ２、ＥＮＴ３）、ライトポートＷＰおよびリードポートＲＰを有する。レジスタファイルＲＦｃは、メモリ回路の一例であり、エントリＥＮＴは、記憶部の一例である。レジスタファイルＲＦｃは、データを読み出すエントリＥＮＴを示すリードアドレスＲＡ［１：０］の試験パターンに応じてリードデータＲＤの出力タイミングが異なる。
【００２７】
例えば、レジスタファイルＲＦｃは、エントリＥＮＴ０−ＥＮＴ３から読み出されるデータを選択するセレクタＳＥＬａ、ＳＥＬｂ、ＳＥＬｃを有する。セレクタＳＥＬａは、リードアドレスＲＡの上位ビットＲＡ［１］に応じて、エントリＥＮＴ０、ＥＮＴ１のいずれかを選択する。セレクタＳＥＬｂは、リードアドレスＲＡの上位ビットＲＡ［１］に応じて、エントリＥＮＴ２、ＥＮＴ３のいずれかを選択する。セレクタＳＥＬｃは、リードアドレスＲＡの下位ビットＲＡ［０］に応じて、セレクタＳＥＬａ、ＳＥＬｂの出力のいずれかを選択する。
【００２８】
リードアドレスＲＡの上位ビットＲＡ［１］が変化する場合、リードデータＲＤは、上位ビットＲＡ［１］が変化した後、セレクタＳＥＬａ（またはＳＥＬｂ）とセレクタＳＥＬｃとにより選択され、リードポートＲＰから出力される。すなわち、上位ビットＲＡ［１］が変化する場合、リードデータＲＤは、セレクタＳＥＬａ（またはＳＥＬｂ）、ＳＥＬｃの伝搬遅延時間後にリードポートＲＰに出力される。
【００２９】
一方、リードアドレスＲＡの下位ビットＲＡ［１］が変化しない場合、エントリＥＮＴから出力されるデータは、試験の開始前にセレクタＳＥＬｃまで伝搬される。このため、リードデータＲＤは、下位ビットＲＡ［０］が変化した後、セレクタＳＥＬｃにより選択され、リードポートＲＰから出力される。すなわち、下位ビットＲＡ［０］が変化する場合、リードデータＲＤは、セレクタＳＥＬｃの伝搬遅延時間後にリードポートＲＰに出力される。このように、リードアドレスＲＡの上位ビットＲＡ［１］の変化を含む試験パターンにより読み出されるリードデータＲＤの出力タイミングは、上位ビットＲＡ［１］の変化を含まない試験パターンにより読み出されるリードデータＲＤの出力タイミングよりも遅い。
【００３０】
検出部ＤＥＴは、データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスＲＡ［１：０］の試験パターンを検出した場合、マスク信号ＭＳＫを出力する。比較部ＣＭＰは、検出部ＤＥＴからのマスク信号ＭＳＫに基づいて、リードデータＲＤが確定するまでの所定の期間、リードデータＲＤと期待値ＥＸＰＤとの比較を無効にする。すなわち、比較部ＣＭＰは、レジスタファイルＲＦｃからデータの読み出しが開始されてから所定の期間、リードデータＲＤと期待値ＥＸＰＤとの比較を無効にする。
【００３１】
試験制御部ＴＣＮＴｃは、比較部ＣＭＰによる比較結果に基づいてレジスタファイルＲＦｃの良否を判定する。メモリ試験回路ＭＴｃでは、リードデータＲＤが確定する前に、比較器ＣＭＰがリードデータＲＤと期待値ＥＸＰＤとを比較することを禁止することができ、試験制御部ＴＣＮＴｃによるレジスタファイルＲＦｃの良否の誤判定を抑止することができる。換言すれば、レジスタファイルＲＦｃが誤って不良と判定されることを抑止できるため、誤った判定により、試験が途中で中断することを抑止することができる。
【００３２】
これにより、リードアドレスＲＡ［１：０］の試験パターンに応じてリードデータＲＤの出力タイミングが異なる場合にも、図１および図２と同様に、既存の試験回路を用いて、レジスタファイルＲＦｃを試験することができる。これに対して、メモリ試験回路ＭＴｃが図３に示す検出部ＤＥＴおよび比較部ＣＭＰを持たない場合、試験制御部ＴＣＮＴｃは、レジスタファイルＲＦｃを誤って不良と判定し、試験を途中で中断する。あるいは、リードアドレスＲＡ［１：０］の試験パターンに応じて、リードデータＲＤと期待値ＥＸＰＤとの比較を所定の期間無効にする機能を有する試験制御部が、新たに設計される。
【００３３】
図４は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。例えば、図４に示すメモリ試験回路ＭＴ１は、半導体集積回路に搭載されるレジスタファイルＲＦ１を試験する。例えば、メモリ試験回路ＭＴ１は、レジスタファイルＲＦ１とともに半導体集積回路（例えば、半導体チップ）に搭載される。太い一点鎖線で囲まれた領域はレジスタファイルＲＦ１を示し、細い一点鎖線で囲まれた領域は、試験回路の一部を含む拡張されたレジスタファイルＴＲＦ１を示す。太い一点鎖線上に示すＸ印を付けた矩形は、レジスタファイルＲＦ１のポート（端子）を示す。細い一点鎖線上に示す白丸は、ＣＰＵ（Central Processing Unit）コアの通常動作モード（システムモードとも称される）で使用されるレジスタファイルＴＲＦ１のポート（端子）を示す。細い一点鎖線上に示す二重丸は、レジスタファイルＲＦ１の試験で使用されるレジスタファイルＴＲＦ１のポート（端子）を示す。信号線上の”／”の脇に付けた数字は、ビット幅を示す。
【００３４】
例えば、レジスタファイルＲＦ１は、ＣＰＵコア内に設けられ、ＣＰＵが実行する演算で使用されるデータを保持する複数のエントリＥＮＴ（ＥＮＴ０、ＥＮＴ１、ＥＮＴ２、ＥＮＴ３）を有する。例えば、各エントリＥＮＴは、７２ビットのデータを保持する７２個のラッチ回路（Ｄフリップフロップ）を有する。エントリＥＮＴは、選択用のアドレスが順次に割り当てられており、例えば、各エントリＥＮＴの末尾に付けた数字はアドレスを示す。なお、レジスタファイルＲＦ１は、ＣＰＵコア以外の他の制御回路に搭載され、他の制御回路で使用するデータを保持してもよい。また、レジスタファイルＲＦ１に設けられるエントリＥＮＴは、アドレスが順次に割り当てられていれば、４つに限定されず、２つでも５つ以上でもよい。レジスタファイルＲＦ１は、メモリ回路の一例であり、エントリＥＮＴは、記憶部の一例である。
【００３５】
レジスタファイルＲＦ１は、２つのライトデータポートＷＤＰ（ＷＤＰ０、ＷＤＰ１）を有し、各ライトデータポートＷＤＰ０、ＷＤＰ１で受けるデータを４つのエントリＥＮＴのいずれかに選択的に書き込み可能である。データを書き込むエントリＥＮＴは、ライトデータポートＷＤＰに対応するライトアドレスポートＷＡＰ（ＷＡＰ０、ＷＡＰ１）で受けるアドレスに応じて選択される。エントリＥＮＴにデータを書き込む場合、ライトデータポートＷＤＰに対応するライトイネーブルポートＷＥＰ（ＷＥＰ０、ＷＥＰ１）にライトイネーブル信号が供給される。ライトデータポートＷＤＰ、ライトアドレスポートＷＡＰおよびライトイネーブルポートＷＥＰは、エントリＥＮＴへのデータの書き込み時に使用されるライトポートの一例である。
【００３６】
例えば、各ライトデータポートＷＤＰは、７２ビットであり、各ライトアドレスポートＷＡＰは２ビットであり、各ライトイネーブルポートＷＥＰは１ビットである。レジスタファイルＲＦ１のライトアクセスサイクルは、１クロックサイクルである。すなわち、レジスタファイルＲＦ１は、ライトイネーブル信号ＷＥＰ、ライトアドレスＷＡＰおよびライトデータＷＤＰを受けたクロックサイクルの次のクロックサイクルにライトデータＷＤＰを保持可能である。
【００３７】
また、レジスタファイルＲＦ１は、４つのリードデータポートＲＤＰ（ＲＤＰ０、ＲＤＰ１、ＲＤＰ２、ＲＤＰ３）を有し、４つのエントリＥＮＴに保持されたデータをリードデータポートＲＤＰのいずれかに選択的に出力可能である。データを出力するエントリＥＮＴは、リードデータポートＲＤＰに対応するリードアドレスポートＲＡＰ（ＲＡＰ０、ＲＡＰ１、ＲＡＰ２、ＲＡＰ３）で受けるアドレスに応じて選択される。リードデータポートＲＤＰおよびリードアドレスポートＲＡＰは、エントリＥＮＴに保持されたデータの読み出し時に使用されるリードポートの一例である。
【００３８】
例えば、各リードデータポートＲＤＰは７２ビットであり、各リードアドレスポートＲＡＰは、２ビットである。レジスタファイルＲＦ１のリードアクセスサイクルは、１クロックサイクルである。すなわち、レジスタファイルＲＦ１は、リードアドレスＲＡＰを受けた次のクロックサイクルにリードデータＲＤＰを出力可能である。レジスタファイルＲＦ１の内部構成の例は、図５に示される。
【００３９】
一方、試験用に拡張されたレジスタファイルＴＲＦ１は、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰ、ライトデータＷＤＰ、リードアドレスＢＲＡＰおよびリードデータＢＲＤＰのそれぞれに対応して１つの試験用のポート（図４の二重丸）を有する。すなわち、メモリ試験回路ＭＴ１は、２つのライトイネーブルポートＷＥＰに接続される経路の試験を、１つのライトイネーブルポートＢＷＥＰを用いて実行することができる。メモリ試験回路ＭＴ１は、２つのライトアドレスポートＷＡＰに接続される経路の試験を、１つのライトアドレスポートＢＷＡＰを用いて実行することができる。メモリ試験回路ＭＴ１は、２つのライトデータポートＷＤＰに接続される経路の試験を、１つのライトデータポートＢＷＤＰを用いて実行することができる。メモリ試験回路ＭＴ１は、４つのリードアドレスポートＲＡＰに接続される経路の試験を、１つのリードアドレスポートＢＲＡＰを用いて実行することができる。
【００４０】
メモリ試験回路ＭＴ１は、ＪＴＡＧ（Joint Test Action Group）方式のバウンダリスキャン試験の実行を制御する制御部ＪＴＡＧＣおよび試験制御部ＭＢＩＳＴを有する。また、メモリ試験回路ＭＴ１は、複数のラッチ回路ＦＦ、セレクタ部ＳＵ１、ＳＵ２、セレクタＤＳＥＬおよび比較器ＣＭＰを有する。例えば、ラッチ回路ＦＦは、クロックに同期して動作するＤフリップフロップである。
【００４１】
制御部ＪＴＡＧＣは、ＪＴＡＧ方式にしたがって、試験用の信号ＴＤＩ、ＴＭＳ、ＴＣＫ、ＴＲＳＴを受け、信号ＴＤＯを出力する。ここで、信号ＴＤＩは、Test Data Inを示し、信号ＴＭＳはTest Mode Selectを示し、信号ＴＣＫはTest Clockを示し、信号ＴＲＳＴはTest Resetを示し、信号ＴＤＯはTest Data Outを示す。例えば、レジスタファイルＲＦ１の試験では、複数のラッチ回路ＦＦは、直列に接続され、制御部ＪＴＡＧＣにより制御されてシフトレジスタとして機能する。シフトレジスタのシフト動作により、各ラッチ回路ＦＦに試験用のデータが保持され、各ラッチ回路ＦＦに保持されたデータが読み出される。すなわち、バウンダリスキャン試験が実行される。
【００４２】
試験制御部ＭＢＩＳＴは、レジスタファイルＲＦ１を自動的に試験するＢＩＳＴを実行する回路であり、制御部ＪＴＡＧＣによる制御に基づいて、試験パターンを生成し、試験の良否を判定する。例えば、試験パターンは、リードアドレス、ライトイネーブル信号、ライトアドレス、ライトデータおよび期待値を含む。試験制御部ＭＢＩＳＴの出力に接続されたラッチ回路ＦＦ（ＲＡ、ＷＥ、ＷＡ、ＷＤ、ＥＸＰ）のそれぞれは、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰ、ライトデータＰＷＤＰおよび期待値ＥＸＰＤを出力する。
【００４３】
以下の説明では、各ラッチ回路ＦＦは、ラッチ回路ＲＡ、ＷＥ、ＷＡ、ＷＤ、ＥＸＰ、ＢＭ、ＷＰＳ、ＲＰＳ、ＲＤ０、ＲＤ１、ＲＤ２、ＲＤ３とも称される。ラッチ回路ＷＰＳは、複数のライトイネーブルポートＷＥＰのいずれか、複数のライトアドレスポートＷＡＰのいずれか、および複数のライトデータポートＷＤＰのいずれかを示すライトポート選択情報ＷＰＳＥＬを保持するライトポート識別情報保持部の一例である。ライトポート選択情報ＷＰＳＥＬは、複数のライトイネーブルポートＷＥＰのいずれか、複数のライトアドレスポートＷＡＰのいずれか、および複数のライトデータポートＷＤＰのいずれかを識別するライトポート識別情報の一例である。ラッチ回路ＲＰＳは、複数のリードアドレスポートＲＡＰのいずれか、および複数のリードデータポートＲＤＰのいずれかを示すリードポート選択情報ＲＰＳＥＬを保持するリードポート識別情報保持部の一例である。リードポート選択情報ＲＰＳＥＬは、複数のリードアドレスポートＲＡＰのいずれか、および複数のリードデータポートＲＤＰのいずれかを識別するリードポート識別情報の一例である。なお、試験制御部ＭＢＩＳＴは、レジスタファイルＲＦ１の試験に加えて、ＣＰＵコアに搭載される他の回路（演算器およびステートマシンなど）の試験を実行してもよい。
【００４４】
セレクタ部ＳＵ１は、リードアドレスＳＲＡＰ（ＳＲＡＰ０、ＳＲＡＰ１、ＳＲＡＰ２、ＳＲＡＰ３）とラッチ回路ＲＡからのリードアドレスＢＲＡＰとのいずれかを選択する４つのセレクタＳＥＬを有する。ＢＩＳＴで使用されるリードアドレスＢＲＡＰは、各セレクタＳＥＬ１に共通の信号である。リードアドレスＳＲＡＰ０−ＳＲＡＰ３は、ＣＰＵコアのシステムモード中に使用され、リードアドレスポートＲＡＰ０−ＲＡＰ３のそれぞれに供給される。
【００４５】
セレクタＳＥＬ１内の入力側に示す数字は、試験モード信号ＢＩＳＴＭの論理と、有効になる入力端子との関係を示す。試験モード信号ＢＩＳＴＭは、ラッチ回路ＢＭを用いて、ＢＩＳＴを実行する試験モード中に論理１に設定され、システムモード中に論理０に設定される。そして、試験モード信号ＢＩＳＴＭが論理１の場合、各セレクタＳＥＬ１の下側の入力が選択され、試験モード信号ＢＩＳＴＭが論理０の場合、各セレクタＳＥＬ１の上側の入力が選択される。
【００４６】
各セレクタＳＥＬ１内の出力側に示す数字は、ＢＩＳＴ時に設定されるラッチ回路ＲＰＳから出力される２ビットのリードポート選択情報ＲＰＳＥＬの値を示す。例えば、リードポート選択情報ＲＰＳＥＬが”０”の場合、リードアドレスポートＲＡＰ０に接続されたセレクタＳＥＬ１が、リードアドレスＢＲＡＰをリードアドレスＲＡＰ０として出力し、他のセレクタＳＥＬ１は無効になる。リードポート選択情報ＲＰＳＥＬが”２”の場合、リードアドレスポートＲＡＰ２に接続されたセレクタＳＥＬ１が、リードアドレスＢＲＡＰをリードアドレスＲＡＰ２として出力し、他のセレクタＳＥＬ１は無効になる。なお、ラッチ回路ＲＰＳの数（すなわち、リードポート選択情報ＲＰＳＥＬのビット数）は、リードデータポートＲＤＰの数が２のｎ乗個の場合（ｎは１以上の整数）、ｎ個である。
【００４７】
各セレクタＳＥＬ１内の出力側に示す”ｘ”印は、システムモード中にリードポート選択情報ＲＰＳＥＬの値が無効にされ、各セレクタＳＥＬ１が、リードアドレスＳＲＡＰをリードアドレスＲＡＰとして出力することを示す。セレクタ部ＳＵ１は、リードポート選択情報ＲＰＳＥＬに基づきリードポートＲＡＰのいずれかを選択するリードポート選択部の一例である。
【００４８】
レジスタファイルＴＲＦ１内にセレクタ部ＳＵ１を設けることにより、ラッチ回路ＲＡの出力をリードアドレスポートＲＡＰ０−ＲＡＰ３のいずれかに選択的に接続することができる。これにより、試験制御部ＭＢＩＳＴは、共通のリードアドレスＢＲＡＰを用いてリードアドレスポートＲＡＰ０−ＲＡＰ３に接続された経路および回路を試験することができる。したがって、リードアドレスポートＲＡＰ０−ＲＡＰ３毎にリードアドレスＢＲＡＰを生成する場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。
【００４９】
セレクタ部ＳＵ２は、ライトイネーブルポートＳＷＥＰ（ＳＷＥＰ０、ＳＷＥＰ１）とラッチ回路ＷＥからのライトイネーブル信号ＢＷＥＰとのいずれかを選択する２つのセレクタＳＥＬ２を有する。セレクタ部ＳＵ２は、ライトアドレスＳＷＡＰ（ＳＷＡＰ０、ＳＷＡＰ１）とラッチ回路ＷＡからのライトアドレスＢＷＡＰとのいずれかを選択する２つのセレクタＳＥＬ３を有する。セレクタ部ＳＵ２は、ライトデータＳＷＤＰ（ＳＷＤＰ０、ＳＷＤＰ１）とラッチ回路ＷＤからのライトデータＢＷＤＰとのいずれかを選択する２つのセレクタＳＥＬ４を有する。
【００５０】
各セレクタＳＥＬ２、ＳＥＬ３、ＳＥＬ４内の入力側に示す数字は、セレクタＳＥＬ１と同様に、試験モード信号ＢＩＳＴＭの論理と、有効になる入力端子との関係を示す。各セレクタＳＥＬ２、ＳＥＬ３、ＳＥＬ４内の出力側に示す数字は、ＢＩＳＴ時に設定されるラッチ回路ＷＰＳから出力される１ビットのライトポート選択情報ＷＰＳＥＬの値を示す。
【００５１】
例えば、ライトポート選択情報ＷＰＳＥＬが”０”の場合、ライトイネーブルポートＷＥＰ０に接続されたセレクタＳＥＬ２が、ライトイネーブル信号ＢＷＥＰをライトイネーブル信号ＷＥＰ０として出力し、他のセレクタＳＥＬ２は無効になる。ライトポート選択情報ＷＰＳＥＬが”０”の場合、ライトアドレスポートＷＡＰ０に接続されたセレクタＳＥＬ３が、ライトアドレスＢＷＡＰをライトアドレスＷＡＰ０として出力し、他のセレクタＳＥＬ３は無効になる。同様に、ライトポート選択情報ＷＰＳＥＬが”１”の場合、ライトデータポートＷＤＰ１に接続されたセレクタＳＥＬ４が、ライトデータＢＷＤＰをライトアドレスＷＤＰ１として出力し、他のセレクタＳＥＬ４は無効になる。なお、ラッチ回路ＷＰＳの数（すなわち、ライトポート選択情報ＷＰＳＥＬのビット数）は、ライトデータポートＷＤＰの数が２のｎ乗個の場合（ｎは１以上の整数）、ｎ個である。
【００５２】
各セレクタＳＥＬ２内の出力側に示す”ｘ”印は、システムモード中にライトポート選択情報ＷＰＳＥＬの値が無効にされ、各セレクタＳＥＬ２が、ライトイネーブル信号ＳＷＥＰをライトイネーブル信号ＷＥＰとして出力することを示す。各セレクタＳＥＬ３内の出力側に示す”ｘ”印は、システムモード中にライトポート選択情報ＷＰＳＥＬの値が無効にされ、各セレクタＳＥＬ３が、ライトアドレスＳＷＡＰをライトアドレスＷＡＰとして出力することを示す。各セレクタＳＥＬ４内の出力側に示す”ｘ”印は、システムモード中にライトポート選択情報ＷＰＳＥＬの値が無効にされ、各セレクタＳＥＬ４が、ライトデータＳＷＤＰをライトデータＷＤＰとして出力することを示す。
【００５３】
セレクタ部ＳＵ２は、ライトポート選択情報ＷＰＳＥＬに基づき複数のライトイネーブルポートＷＥＰのいずれか、複数のライトアドレスポートＷＡＰのいずれか、および複数のライトデータポートＷＤＰのいずれかを選択するライトポート選択部の一例である。ライトイネーブル信号ＷＥＰ、ライトアドレスＷＡＰおよびライトデータＷＤＰは、エントリＥＮＴにデータを書き込む書き込みアクセス信号の一例である。リードアドレスＲＡＰおよびリードデータＲＤＰは、エントリＥＮＴからデータを読み出す読み出しアクセス信号の一例である。
【００５４】
レジスタファイルＴＲＦ１内にセレクタ部ＳＵ２を設けることにより、ラッチ回路ＷＥの出力をライトイネーブルポートＷＥＰ０−ＷＥＰ１のいずれかに選択的に接続することができる。これにより、試験制御部ＭＢＩＳＴは、共通のライトイネーブル信号ＢＷＥＰを用いてライトイネーブルポートＷＥＰ０−ＷＥＰ１に接続された経路および回路を試験することができる。したがって、ライトイネーブルポートＷＥＰ０−ＷＥＰ１毎にライトイネーブル信号ＢＷＥＰを生成する場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。
【００５５】
また、レジスタファイルＴＲＦ１内にセレクタ部ＳＵ２を設けることにより、ラッチ回路ＷＡの出力をライトアドレスポートＷＡＰ０−ＷＡＰ１のいずれかに選択的に接続することができる。これにより、試験制御部ＭＢＩＳＴは、共通のライトアドレスＢＷＡＰを用いてライトアドレスポートＷＡＰ０−ＷＡＰに接続された経路および回路を試験することができる。したがって、ライトアドレスポートＷＡＰ０−ＷＡＰ１毎にライトアドレスＢＷＡＰを生成する場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。
【００５６】
さらに、レジスタファイルＴＲＦ１内にセレクタ部ＳＵ２を設けることにより、ラッチ回路ＢＷＤＰの出力をライトデータポートＷＤＰ０−ＷＤＰ１のいずれかに選択的に接続することができる。これにより、試験制御部ＭＢＩＳＴは、共通のライトデータＢＷＤＰを用いてライトデータポートＷＤＰ０−ＷＤＰ１に接続された経路および回路を試験することができる。したがって、ライトデータポートＷＤＰ０−ＷＤＰ１毎にライトデータＢＷＤＰを生成する場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。
【００５７】
ラッチ回路ＲＤ（ＲＤ０、ＲＤ１、ＲＤ２、ＲＤ３）は、リードデータポートＲＤＰ（ＲＤＰ０、ＲＤＰ１、ＲＤＰ２、ＲＤＰ３）から出力されるデータを保持する。セレクタＤＳＥＬは、ラッチ回路ＲＤ０−ＲＤ３から出力されるリードデータＲＤＰをリードポート選択情報ＲＰＳＥＬの値に応じて選択し、選択したリードデータＲＤＰをリードデータＢＲＤＰとして出力する。例えば、リードポート選択情報ＲＰＳＥＬが”０”の場合、セレクタＤＳＥＬは、ラッチ回路ＲＤ０から出力されるリードデータＲＤＰ０をリードデータＢＲＤＰとして出力する。リードポート選択情報ＲＰＳＥＬが”３”の場合、セレクタＤＳＥＬは、ラッチ回路ＲＤ３から出力されるリードデータＲＤＰ３をリードデータＢＲＤＰとして出力する。
【００５８】
比較器ＣＭＰは、７２ビットのリードデータＢＲＤＰの各ビットとラッチ回路ＥＸＰから出力される７２ビットの期待値ＥＸＰＤの各ビットとを比較し、エラー信号ＥＲＲを出力する。例えば、比較器ＣＭＰは、リードデータＲＤと期待値ＥＸＰＤとの全ビットが一致する場合、試験のパスを示す論理０のエラー信号ＥＲＲを出力する。比較器ＣＭＰは、リードデータＲＤと期待値ＥＸＰＤとの少なくとも１ビットが不一致の場合、試験のフェイルを示す論理１のエラー信号ＥＲＲを出力する。ラッチ回路ＣＭＰＥは、エラー信号ＥＲＲを保持する。
【００５９】
レジスタファイルＴＲＦ１内にセレクタＤＳＥＬを設けることにより、リードデータポートＲＤＰ０−ＲＤＰ３から出力されるデータが正しいか否かを、１つの比較器ＣＭＰにより判定することができる。これにより、１つの比較器ＣＭＰを用いてレジスタファイルＲＦ１の動作を試験することができ、リードデータポートＲＤＰ０−ＲＤＰ３に接続された経路を試験することができる。したがって、リードデータポートＲＤＰ０−ＲＤＰ３毎に比較器ＣＭＰを設ける場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。メモリ試験回路ＭＴ１の回路規模の削減効果は、図９および図１０で説明される。
【００６０】
さらに、メモリ試験回路ＭＴ１は、信号の種類毎に複数のポートを有するレジスタファイルＲＦ１を試験する場合、信号の種類毎に１つのポートを有するレジスタファイルＴＲＦ１としてアクセス可能にする。これにより、メモリ試験回路ＭＴ１は、単一のポートＢＷＥＰ、ＢＷＡＰ、ＢＷＤＰ、ＢＲＡＰ、ＢＲＤＰを試験する既存の試験制御部ＭＢＩＳＴを用いて、複数のポートＷＥＰ、ＷＡＰ、ＷＤＰ、ＲＡＰ、ＲＤＰを有するレジスタファイルＲＦ１を試験できる。
【００６１】
各加算器ＡＤＤは、例えば、ＣＰＵコアの演算器に含まれ、システムモード中に動作する。例えば、各加算器ＡＤＤは、レジスタファイルＲＦ１から出力されるリードデータＲＤＰを演算し、ライトデータポートＷＤＰを介して演算結果をレジスタファイルＲＦ１に戻す。
【００６２】
図５は、図４に示すレジスタファイルＲＦ１の例を示す。レジスタファイルＲＦ１は、ライト制御部ＷＣＮＴ１、入力セレクタＩＳ（ＩＳ０、ＩＳ１、ＩＳ２、ＩＳ３）、出力セレクタＯＳ（ＯＳ０、ＯＳ１、ＯＳ２、ＯＳ３）および図４に示すエントリＥＮＴ０−ＥＮＴ３を有する。
【００６３】
ライト制御部ＷＣＮＴ１は、有効レベル（例えば、論理１）を示すライトイネーブル信号ＷＥＰに対応するライトアドレスＷＡＰに応じて２ビットのセレクタ制御信号ＳＣ（ＳＣ０、ＳＣ１、ＳＣ２、ＳＣ３）を出力する。例えば、各セレクタ制御信号ＳＣの上位ビットは、入力セレクタＩＳの有効／無効の制御に使用され、各セレクタ制御信号ＳＣの下位ビットは、入力セレクタＩＳの入力端子の選択に使用される。
【００６４】
例えば、ライトイネーブル信号ＷＥＰ０が有効レベルを示し、ライトアドレスＷＡＰ０が”０”を示す場合、ライト制御部ＷＣＮＴ１は、入力セレクタＩＳ０を有効にし、入力セレクタＩＳ０にライトデータＷＤＰ０を選択させるセレクタ制御信号ＳＣ０を出力する。同様に、ライトイネーブル信号ＷＥＰ１が有効レベルを示し、ライトアドレスＷＡＰ０が”２”を示す場合、ライト制御部ＷＣＮＴ１は、入力セレクタＩＳ２を有効にし、入力セレクタＩＳ２にライトデータＷＤＰ１を選択させるセレクタ制御信号ＳＣ２を出力する。各入力セレクタＩＳは、セレクタ制御信号ＳＣに基づいて、ライトデータＷＤＰ０、ＷＤＰ１のいずれかをエントリＥＮＴに出力する。なお、ライトイネーブル信号ＷＥＰ０、ＷＥＰ１がともに有効レベルを示し、ライトアドレスＷＡＰ０、ＷＡＰ１が互いに異なる場合、ライトデータポートＷＤＰ０、ＷＤＰ１のそれぞれで受けるデータは、互いに異なるエントリＥＮＴに書き込まれる。
【００６５】
各出力セレクタＯＳは、リードアドレスＲＡＰに応じた入力端子で受けるデータを選択し、選択したデータをリードデータＲＤＰとして出力する。各出力セレクタＯＳの入力端子に示す数字は、リードアドレスＲＡＰの値を示す。例えば、リードアドレスＲＡＰが”１”の場合、各出力セレクタＯＳは、エントリＥＮＴ１から出力されるデータを選択し、リードアドレスＲＡＰが”２”の場合、各出力セレクタＯＳは、エントリＥＮＴ２から出力されるデータを選択する。なお、出力セレクタＯＳ０−ＯＳ３は、互いに重複して動作可能である。
【００６６】
図６は、図４に示す試験制御部ＭＢＩＳＴの例を示す。試験制御部ＭＢＩＳＴは、信号生成部ＲＡＧＥＮ、ＷＡＧＥＮ、ＤＧＥＮ、ＥＸＰＧＥＮと、信号生成部ＲＡＧＥＮ、ＷＡＧＥＮ、ＤＧＥＮ、ＥＸＰＧＥＮの動作を制御する動作制御部ＭＢＩＳＴＣとを有する。
【００６７】
信号生成部ＲＡＧＥＮは、リードアドレスＲＡＰのインクリメンタＩＮＣ、デクリメンタＤＥＣ、セレクタＳＥＬおよびラッチ回路ＦＦを有し、昇順または降順に連続して変化するリードアドレスＲＡＰを順次に生成する。信号生成部ＷＡＧＥＮは、ライトアドレスＷＡＰのインクリメンタＩＮＣ、デクリメンタＤＥＣ、セレクタＳＥＬおよびラッチ回路ＦＦを有し、昇順または降順に連続して変化するライトアドレスＷＡＰを順次に生成する。
【００６８】
信号生成部ＤＧＥＮは、オール０のデータまたはオール１のデータを選択するセレクタＳＥＬおよびラッチ回路ＦＦを有し、オール０またはオール１のライトデータＢＷＤＰを生成する。信号生成部ＥＸＰＧＥＮは、オール０の期待値またはオール１の期待値を選択するセレクタＳＥＬおよびラッチ回路ＦＦを有し、オール０またはオール１の期待値ＥＸＰＤを生成する。
【００６９】
動作制御部ＭＢＩＳＴＣは、リードアドレスＲＡＰおよびライトアドレスＷＡＰの初期値と、昇順または降順を示す情報と、ライトデータＷＤＰおよび期待値ＥＸＰＤの設定値を示す情報とを生成する。また、動作制御部ＭＢＩＳＴＣは、ライトアドレスＷＡＰおよびライトデータＷＤＰの出力に合わせてライトイネーブル信号ＢＷＥＰを生成する。
【００７０】
図４で説明したように、メモリ試験回路ＭＴ１は、信号の種類毎に複数のポートを有するレジスタファイルＲＦ１を試験する場合、信号の種類毎に１つのポートを有するレジスタファイルＴＲＦ１としてアクセス可能にする。このため、試験制御部ＭＢＩＳＴは、１つの信号生成部ＲＡＧＥＮ、１つの信号生成部ＷＡＧＥＮおよび１つの信号生成部ＤＧＥＮを有し、シングルポートのレジスタファイルを試験する既存の回路を使用することができる。また、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰの各々を共通化しない場合に比べて、試験制御部ＭＢＩＳＴの回路規模を削減することができる。
【００７１】
図４に示すメモリ試験回路ＭＴ１は、以下に示すようにして、レジスタファイルＲＦ１の試験を実行する。例えば、レジスタファイルＲＦ１の試験は、ＣＰＵコアを含む半導体集積回路の試験とともに実行され、または半導体集積回路の試験とは独立に実行される。また、レジスタファイルＲＦ１の試験は、半導体集積回路の製造工程（試験工程）において、複数の半導体集積回路が搭載されたウェハに対して実行されてもよく、半導体集積回路チップをパッケージングした半導体装置に対して実行されてもよい。
【００７２】
レジスタファイルＲＦ１の試験では、まず、メモリ試験回路ＭＴ１は、図４に示すラッチ回路ＢＭ、ＷＰＳ、ＲＰＳを、例えばバウンダリスキャン方式を用いて設定する。ラッチ回路ＢＭの設定により、レジスタファイルＲＦは試験モードに設定される。セレクタ部ＳＵ１、ＳＵ２は、ラッチ回路ＷＰＳ、ＲＰＳの設定に基づいて、試験に使用するポートＰＡＰ、ＷＥＰ、ＷＡＰ、ＷＤＰを選択する。
【００７３】
例えば、セレクタ部ＳＵ１、ＳＵ２は、リードアドレスポートＲＡＰ０、ライトイネーブルポートＷＥＰ０、ライトアドレスポートＷＡＰ０およびライトデータポートＷＤＰ０を選択し、セレクタＤＳＥＬは、リードデータポートＲＤＰ０を選択する。メモリ試験回路ＭＴ１は、ライトイネーブルポートＷＥＰ０に供給するライトイネーブル信号ＢＷＥＰを生成し、ライトデータポートＷＤＰ０に供給するライトデータＢＷＤＰを生成する。そして、メモリ試験回路ＭＴ１は、ライトアドレスポートＷＡＰ０に供給するライトアドレスＢＷＡＰを順次に増加し、エントリＥＮＴ０−ＥＮＴ３のそれぞれにデータを書き込む。
【００７４】
次に、メモリ試験回路ＭＴ１は、リードアドレスポートＲＡＰ０に供給するリードアドレスＢＲＡＰを順次に増加し、リードデータポートＲＤＰ０を介してエントリＥＮＴ０−ＥＮＴ３のそれぞれからデータを読み出す。メモリ試験回路ＭＴ１は、読み出したデータを期待値ＥＸＰＤと順次に比較する。そして、メモリ試験回路ＭＴ１は、ライトイネーブルポートＷＥＰ０、ライトアドレスポートＷＡＰ０およびライトデータポートＷＤＰ０のそれぞれに接続された経路および回路が正常に動作するか否かを判定する。また、メモリ試験回路ＭＴ１は、リードアドレスポートＲＡＰ０およびリードデータポートＲＤＰ０のそれぞれに接続された経路および回路が正常に動作するか否かを判定する。
【００７５】
次に、メモリ試験回路ＭＴ１は、例えば、ラッチ回路ＲＰＳを再設定し、リードアドレスポートＲＡＰ１およびリードデータポートＲＤＰ１を選択する。メモリ試験回路ＭＴ１は、リードアドレスポートＲＡＰ１に供給するリードアドレスＢＲＡＰを順次に増加し、リードデータポートＲＤＰ１を介してエントリＥＮＴ０−ＥＮＴ３のそれぞれからデータを読み出す。メモリ試験回路ＭＴ１は、読み出したデータを期待値ＥＸＰＤと順次に比較する。そして、メモリ試験回路ＭＴ１は、リードアドレスポートＲＡＰ１およびリードデータポートＲＤＰ０のそれぞれに接続された経路および回路が正常に動作するか否かを判定する。
【００７６】
同様に、メモリ試験回路ＭＴ１は、ラッチ回路ＲＰＳを再設定し、リードアドレスポートＲＡＰ２／リードデータポートＲＤＰ２と、リードアドレスポートＲＡＰ３／リードデータポートＲＤＰ３とのペアを順次に選択する。メモリ試験回路ＭＴ１は、各リードデータポートＲＤＰ２、ＲＤＰ３を介してエントリＥＮＴ０−ＥＮＴ３からデータを順次に読み出す。そして、メモリ試験回路ＭＴ１は、リードアドレスポートＲＡＰ２、ＲＡＰ３およびリードデータポートＲＤＰ２、ＲＤＰ３のそれぞれに接続された経路および回路が正常に動作するか否かを判定する。
【００７７】
また、メモリ試験回路ＭＴ１は、ライトイネーブルポートＷＥＰ１、ライトアドレスポートＷＡＰ１およびライトデータポートＷＤＰ１を選択して、上述と同様の試験を実行する。リードアドレスポートＲＡＰとリードデータポートＲＤＰのペアは、ＲＡＰ０／ＲＤＰ０、ＲＡＰ１／ＲＤＰ１、ＲＡＰ２／ＲＤＰ２、ＲＡＰ３／ＲＤＰ３のいずれが選択されてもよい。そして、メモリ試験回路ＭＴ１は、ライトイネーブルポートＷＥＰ１、ライトアドレスポートＷＡＰ１およびライトデータポートＷＤＰ１に接続された経路および回路が正常に動作するか否かを判定する。
【００７８】
このように、ラッチ回路ＷＰＳ、ＲＰＳの設定値を順次に変更し、各ポートＲＡＰ、ＷＥＰ、ＷＡＰ、ＷＤＰ、ＲＤＰを順次に選択し、複数の試験を繰り返し実行することで、レジスタファイルＲＦ１の全ポートに接続された経路および回路を試験することができる。
【００７９】
図７は、メモリ試験回路の別の例を示す。図４に示す要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。レジスタファイルＲＦ１は、図５と同一または同様の構成を有する。すなわち、レジスタファイルＲＦ１は、４つのエントリＥＮＴ０−ＥＮＴ３、２つのライトデータポートＷＤＰ０−ＷＤＰ１および４つのリードデータポートＲＤＰ０−ＲＤＰ３を有する。図７に示すメモリ試験回路ＭＴ０１は、図４に示すレジスタファイルＴＲＦ１の代わりに、試験回路の一部を含む拡張されたレジスタファイルＴＲＦ０を有する。また、メモリ試験回路ＭＴ０１は、図４に示す試験制御部ＭＢＩＳＴの代わりに、試験制御部ＭＢＩＳＴ０を有する。
【００８０】
レジスタファイルＴＲＦ０は、レジスタファイルＲＦ１のリードアドレスポートＲＡＰ（ＲＡＰ０−ＲＡＰ３）に対応して、試験用の４つのリードアドレスポートＢＲＡＰ（ＢＲＡＰ０，ＢＲＡＰ１、ＢＲＡＰ２、ＢＲＡＰ３）を有する。レジスタファイルＴＲＦ０は、レジスタファイルＲＦ１のライトイネーブルポートＷＥＰ（ＷＥＰ０−ＷＥＰ１）に対応して、試験用の２つのライトイネーブルポートＢＷＥＰ（ＢＷＥＰ０−ＢＷＥＰ１）を有する。レジスタファイルＴＲＦ０は、レジスタファイルＲＦ１のライトアドレスポートＷＡＰ（ＷＡＰ０−ＷＡＰ１）に対応して、試験用の２つのライトアドレスポートＢＷＡＰ（ＢＷＡＰ０−ＢＷＡＰ１）を有する。レジスタファイルＴＲＦ０は、レジスタファイルＲＦ１のライトデータポートＷＤＰ（ＷＤＰ０−ＷＤＰ１）に対応して、試験用の２つのライトデータポートＢＷＤＰ（ＢＷＤＰ０−ＢＷＤＰ１）を有する。さらに、レジスタファイルＴＲＦ０は、レジスタファイルＲＦ１のリードデータポートＲＤＰ（ＲＤＰ０−ＲＤＰ３）に対応して、試験用の４つのリードデータポートＢＲＤＰ（ＢＲＤＰ０−ＢＲＤＰ３）を有する。
【００８１】
メモリ試験回路ＭＴ０１では、複数のリードアドレスＢＲＡＰ０−ＢＲＡＰ３、複数のライトイネーブル信号ＢＷＥＰ０−ＢＷＥＰ１、複数のライトアドレスＢＷＡＰ０−ＢＷＡＰ１および複数のライトデータＢＷＤＰ０−ＢＷＤＰ１を生成する。また、メモリ試験回路ＭＴ０１は、リードデータポートＲＤＰ（ＲＤＰ０−ＲＤＰ３）毎に比較回路ＣＭＰを有する。すなわち、メモリ試験回路ＭＴ０１は、ポート毎にリードアドレスＢＲＡＰ、ライトアドレスＢＷＡＰ、ライトデータＢＷＤＰを独立に生成し、ポート毎にリードデータＲＤＰを期待値ＥＸＰＤと比較する。
【００８２】
図８は、図７に示す試験制御部ＭＢＩＳＴ０の例を示す。図６に示す要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００８３】
試験制御部ＭＢＩＳＴ０は、複数の信号生成部ＲＡＧＥＮ、複数の信号生成部ＷＡＧＥＮ、複数の信号生成部ＤＧＥＮおよび信号生成部ＥＸＰＧＥＮと、動作制御部ＭＢＩＳＴＣ０とを有する。すなわち、信号生成部ＲＡＧＥＮは、リードアドレスＢＲＡＰ０−ＢＲＡＰ３毎に設けられ、信号生成部ＷＡＧＥＮは、ライトアドレスＢＷＡＰ０−ＢＷＡＰ３毎に設けられる。信号生成部ＤＧＥＮは、ライトデータＢＷＤ０−ＢＷＤ１毎に設けられる。動作制御部ＭＢＩＳＴＣ０は、図６に示す動作制御部ＭＢＩＳＴＣの機能に加えて、複数の信号生成部ＲＡＧＥＮ、複数の信号生成部ＷＡＧＥＮおよび複数の信号生成部ＤＧＥＮの動作を制御する機能を有する。このように、試験制御部ＭＢＩＳＴ０の回路規模は、図６に示す試験制御部ＭＢＩＳＴの回路規模より大きい。
【００８４】
図９は、図４および図７に示すメモリ試験回路ＭＴ１、ＭＴ０１の回路規模の例を示す。図９において、”リピータ数”は、各配線の経路に配置されるリピータ（すなわち、バッファ回路）の数を示し、”ＮＡＮＤゲート数”は、各回路を２入力のＮＡＮＤゲートで換算した場合の数を示す。例えば、リピータは、直列に接続された２つのＣＭＯＳ（Complementary Metal Oxide Semiconductor）インバータを有し、リピータのトランジスタ数は、２入力のＮＡＮＤゲート（４トランジスタ）と同じである。
【００８５】
図９の右下に示すように、図４に示すメモリ試験回路ＭＴ１は、図７に示すメモリ試験回路ＭＴ０１に比べて、８１本の配線と、２９７個のラッチ回路ＦＦと、１０８９個の論理ゲート（４トランジスタ換算）とを削減することができる。したがって、ＣＰＵコアの性能に寄与しないメモリ試験回路ＭＴ１の回路規模を図７に比べて削減することができ、ＣＰＵコアが搭載される半導体集積回路のチップサイズを削減することができる。この結果、半導体集積回路チップの製造コストを削減することができる。さらに、メモリ試験回路ＭＴ１の設計に掛かる時間を図７に示す回路を含むＣＰＵコアの設計に掛かる時間に比べて削減でき、半導体集積回路の開発コストを削減することができる。
【００８６】
また、メモリ試験回路ＭＴ１の回路規模を削減することができるため、ＣＰＵコアの面積を図７の回路を含むＣＰＵコアに比べて小さくすることが可能になり、ＣＰＵコアの性能に寄与する回路および配線の実装密度を高くすることが可能になる。例えば、配線長が短くなることで、クリティカルパス上の信号の伝搬遅延時間を図７の回路を含むＣＰＵコアにおけるクリティカルパス上の信号の伝搬遅延時間に比べて短縮することが可能になる。この結果、ＣＰＵコアの動作周波数を図７の回路を含むＣＰＵコアに比べて高くすることが可能になる。
【００８７】
図１０は、図４に示すレジスタファイルＲＦ１と仕様が異なるレジスタファイルを試験するメモリ試験回路の回路規模の例を示す。例えば、図１０に示すメモリ試験回路が試験するレジスタファイルは、６４ビット幅の６４個のエントリと、４個のライトデータポートと、１０個のリードデータポートとを有する。６４個のエントリを選択するため、リードアドレスポートＢＲＡＰおよびライトアドレスポートＢＷＡＰのそれぞれは６ビットである。
【００８８】
図４に示すメモリ試験回路ＭＴ１と図７に示すメモリ試験回路ＭＴ０１とのそれぞれを、上記仕様のレジスタファイルを試験する回路に変更した場合において、メモリ試験回路ＭＴ１の回路規模の削減効果は、図１０の右下に示される。すなわち、図４に示すメモリ試験回路ＭＴ１に対応する構成は、図７に示すメモリ試験回路ＭＴ０１に対応する構成に比べて、２９１本の配線と、９３９個のラッチ回路ＦＦと、４３２３個の論理ゲート（４トランジスタ換算）とを削減することができる。このように、回路規模の削減効果は、レジスタファイルのエントリの数およびポート数が多いほど高くなる。
【００８９】
以上、図４から図１０に示す実施形態においても、図１に示す実施形態と同様に、シングルポートのレジスタファイルを試験する既存の試験制御部ＭＢＩＳＴを利用して、レジスタファイルＲＦ１の試験を実行することができる。また、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰの各々を共通化しない場合に比べて、メモリ試験回路ＭＴ１の回路規模を削減することができる。さらに、図４から図１０に示す実施形態では、マルチポートのレジスタファイルＲＦ１をシングルポートのレジスタファイルと見なして試験を実行することができる。このため、図８に示す試験制御部ＭＢＩＳＴ０よりも簡易な試験制御部ＭＢＩＳＴを用いて、試験を実行することができる。
【００９０】
図１１は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。図４から図１０に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００９１】
図１１に示すメモリ試験回路ＭＴ２は、図４に示す拡張されたレジスタファイルＴＲＦ１の代わりに拡張されたレジスタファイルＴＲＦ２を有する。拡張されたレジスタファイルＴＲＦ２は、レジスタファイルＲＦ２を有する。また、メモリ試験回路ＭＴ２は、ラッチ回路ＲＡの出力端子Ｑに接続されたリードアドレス変換回路ＲＡＣＮＶと、ラッチ回路ＷＡの出力端子Ｑに接続されたライトアドレス変換回路ＷＡＣＮＶと、ラッチ回路ＡＭとを有する。メモリ試験回路ＭＴ２のその他の構成は、図４に示すメモリ試験回路ＭＴ１と同様である。
【００９２】
例えば、図１１に示すメモリ試験回路ＭＴ２は、半導体集積回路に搭載されるＣＰＵコア内に設けられるレジスタファイルＲＦ２を試験する。例えば、メモリ試験回路ＭＴ２は、レジスタファイルＲＦ２とともに半導体集積回路（例えば、半導体チップ）に搭載される。
【００９３】
レジスタファイルＲＦ２は、不連続なアドレスが割り当てられた３つのエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３を有する。レジスタファイルＲＦ１と同様に、レジスタファイルＲＦ２のライトアクセスサイクルは、１クロックサイクルであり、レジスタファイルＲＦ２のリードアクセスサイクルは、１クロックサイクルである。レジスタファイルＲＦ２の内部構成の例は、図１２に示す。レジスタファイルＲＦ２は、メモリ回路の一例であり、エントリＥＮＴは、記憶部の一例である。
【００９４】
リードアドレス変換回路ＲＡＣＮＶは、ラッチ回路ＲＡから出力されるリードアドレスＢＲＡＰ０（２ビット）の値を変換し、リードアドレスＢＲＡＰとして出力する。また、リードアドレス変換回路ＲＡＣＮＶは、ラッチ回路ＡＭに保持された論理に応じて、リードアドレスＢＲＡＰ０の変換仕様を変更する。ライトアドレス変換回路ＷＡＣＮＶは、ラッチ回路ＷＡから出力されるライトアドレスＢＷＡＰ０（２ビット）の値を変換し、ライトアドレスＢＷＡＰとして出力する。リードアドレス変換回路ＲＡＣＮＶおよびライトアドレス変換回路ＷＡＣＮＶの動作の例は、図１３に示す。ラッチ回路ＡＭは、複数のリードアドレスＢＲＡＰのいずれかを示す情報を保持するアドレス保持部の一例である。
【００９５】
なお、図１１に示すメモリ試験回路ＭＴ２は、１つのライトデータポートＷＤＰ、１つのリードデータポートＲＤＰ、およびエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３を有するレジスタファイルを試験するために設けられてもよい。この場合のレジスタファイルＲＦ２の例は、図１６に示す。
【００９６】
図１２は、図１１に示すレジスタファイルＲＦ２の例を示す。図５に示した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００９７】
レジスタファイルＲＦ２は、ライト制御部ＷＣＮＴ２および図１１に示すエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３を有する。また、レジスタファイルＲＦ２は、入力セレクタＩＳ（ＩＳ０、ＩＳ２、ＩＳ３）および出力セレクタＯＳ（ＯＳ００、ＯＳ０１、ＯＳ１０、ＯＳ１１、ＯＳ２０、ＯＳ２１、ＯＳ３０、ＯＳ３１）を有する。
【００９８】
ライト制御部ＷＣＮＴ２は、有効レベル（例えば、論理１）を示すライトイネーブル信号ＷＥＰに対応するライトアドレスＷＡＰ（ＷＡＰ０またはＷＡＰ１）に応じてセレクタ制御信号ＳＣ（ＳＣ０、ＳＣ２、ＳＣ３）のいずかを出力する。なお、レジスタファイルＲＦ２はエントリＥＮＴ１を含まないため、ライト制御部ＷＣＮＴ２は、図５に示すセレクタ制御信号ＳＣ１を生成しない。すなわち、ライトアドレスポートＷＡＰの値”０１”は無効なアドレスとして扱われる。
【００９９】
各セレクタ制御信号ＳＣの上位ビットは、入力セレクタＩＳの有効／無効の制御に使用され、各セレクタ制御信号ＳＣの下位ビットは、入力セレクタＩＳの入力端子の選択に使用される。各入力セレクタＩＳ０、ＩＳ２、ＩＳ３は、図５と同様に、各セレクタ制御信号ＳＣに基づいて動作する。そして、ライトアドレスＷＡＰに対応するエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３にデータが書き込まれる。
【０１００】
出力セレクタＯＳ０１は、リードアドレスＲＡＰ０の上位ビット［１］の値に応じて、入力端子で受ける４つのデータのうち２つを選択し、選択した２つのデータを出力セレクタＯＳ００に出力する。例えば、出力セレクタＯＳ０１の出力に示すように、出力セレクタＯＳ０１は、リードアドレスＲＡＰの上位ビット［１］が”１”の場合、エントリＥＮＴ２、ＥＮＴ３の出力を選択する。出力セレクタＯＳ０１は、リードアドレスＲＡＰの上位ビット［１］が”０”の場合、エントリＥＮＴ０、ＥＮＴ２の出力を選択する。すなわち、出力セレクタＯＳ０１は、リードアドレスＲＡＰの上位ビット［１］の値に拘わりなくエントリＥＮＴ２を選択する。
【０１０１】
出力セレクタＯＳ００は、リードアドレスＲＡＰ０の下位ビット［０］の値に応じて、入力端子で受ける２つのデータのいずれかを選択し、選択したデータをリードデータポートＲＤＰ０に出力する。そして、出力セレクタＯＳ０１、ＯＳ００は、２ビットのリードデータポートＲＤＰ０が”００”の場合、エントリＥＮＴ０が保持するデータを出力し、リードデータポートＲＤＰ０が”０１”または”１０”の場合、エントリＥＮＴ２が保持するデータを出力する。また、出力セレクタＯＳ０１、ＯＳ００は、リードデータポートＲＤＰ０が”１１”の場合、エントリＥＮＴ３が保持するデータを出力する。
【０１０２】
出力セレクタＯＳ１１、ＯＳ２１、ＯＳ３１の構成および動作は、出力セレクタＯＳ０１の構成および動作と同様であり、出力セレクタＯＳ１０、ＯＳ２０、ＯＳ３０の構成および動作は、出力セレクタＯＳ００の構成および動作と同様である。出力セレクタＯＳ０１、ＯＳ１１、ＯＳ２１、ＯＳ３１は、リードアドレスＲＡＰの所定のビット（例えば、上位ビット［１］）に基づいて、４つのエントリＥＮＴから読み出されるデータのうちの２つを選択する第１セレクタの一例である。出力セレクタＯＳ００、ＯＳ１０、ＯＳ２０、ＯＳ３０は、出力セレクタＯＳ０１、ＯＳ１１、ＯＳ２１、ＯＳ３１のそれぞれが選択したデータのいずれかを選択する第２セレクタの一例である。
【０１０３】
図１３は、図１１に示すリードアドレス変換回路ＲＡＣＮＶおよびライトアドレス変換回路ＷＡＣＮＶの動作の例を示す。リードアドレス変換回路ＲＡＣＮＶは、リードアドレスＢＲＡＰ０が”００”の場合、ラッチ回路ＡＭに保持された論理に拘わりなく、リードアドレスポートＢＲＡＰに”００”を出力する。リードアドレス変換回路ＲＡＣＮＶは、リードアドレスＢＲＡＰ０が”１０”の場合、ラッチ回路ＡＭに保持された論理に拘わりなく、リードアドレスポートＢＲＡＰに”１１”を出力する。
【０１０４】
リードアドレス変換回路ＲＡＣＮＶは、リードアドレスＢＲＡＰ０が”０１”の場合でラッチ回路ＡＭが論理０を保持する場合、リードアドレスポートＢＲＡＰに”０１”を出力する。リードアドレス変換回路ＲＡＣＮＶは、リードアドレスＢＲＡＰ０が”０１”の場合でラッチ回路ＡＭが論理１を保持する場合、リードアドレスポートＢＲＡＰに”１０”を出力する。
【０１０５】
このように、リードアドレス変換回路ＲＡＣＮＶは、連続するリードアドレスＢＲＡＰ０を、エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３に割り当てられた不連続のリードアドレスＢＲＡＰに変換する。これにより、図８に示す試験制御部ＭＢＩＳＴ０よりも簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続のリードアドレスＢＲＡＰを生成することができる。また、リードアドレス変換回路ＲＡＣＮＶは、ラッチ回路ＡＭに保持された論理に応じて、２つのリードアドレス”０１”、”１０”が割り当てられたエントリＥＮＴ２を、２つのリードアドレスを用いて選択可能にする。これにより、図６に示す簡易な試験制御部ＭＢＩＳＴを用いて、リードアドレスが重複して割り当てられるエントリＥＮＴ２の試験を実行することができる。
【０１０６】
ライトアドレス変換回路ＷＡＣＮＶは、ライトアドレスＢＷＡＰ０が”００”の場合、ライトアドレスＢＷＡＰに”００”を出力し、ライトアドレスＢＷＡＰ０が”０１”の場合、ライトアドレスＢＷＡＰに”１０”を出力する。ライトアドレス変換回路ＷＡＣＮＶは、ライトアドレスＢＷＡＰ０が”１０”の場合、ライトアドレスＢＷＡＰに”１１”を出力する。すなわち、ライトアドレス変換回路ＷＡＣＮＶは、連続するライトアドレスＢＷＡＰ０を、エントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３に割り当てられた不連続のライトアドレスＢＷＡＰに変換する。これにより、図８に示す試験制御部ＭＢＩＳＴ０よりも簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続のライトアドレスＢＷＡＰを生成することができる。
【０１０７】
なお、エントリＥＮＴ２に１つのリードアドレスＢＲＡＰが割り当てられる場合、図１１に示すメモリ試験回路ＭＴ２は、ラッチ回路ＡＭを持たず、あるいは、ラッチ回路ＡＭに保持される論理は固定される。また、エントリＥＮＴ２に３以上のリードアドレスＢＲＡＰが割り当てられる場合、図１１に示すラッチ回路ＡＭは、複数ビットを保持する。
【０１０８】
図１４は、図１１に示すメモリ試験回路ＭＴ２がレジスタファイルＲＦ２を試験する例を示す。すなわち、図１４は、メモリ試験回路ＭＴ２の制御方法を示す。例えば、図１４では、レジスタファイルＲＦ２のリードアドレスポートＲＡＰ０、ライトイネーブルポートＷＥＰ０、ライトアドレスポートＷＡＰ０、ライトデータポートＷＤＰ０およびリードデータポートＲＤＰ０に接続される信号線と回路の試験が実行される。試験は、いわゆるマーチングパターンを用いて実行される。
【０１０９】
かぎ括弧で囲ったリードアドレスＢＲＡＰのパターンは、ラッチ回路ＡＭが論理１を保持する場合にリードアドレス変換回路ＲＡＣＮＶが生成する値を示す。例えば、メモリ試験回路ＭＴ２は、ラッチ回路ＡＭに論理０と論理１を順次に設定し、図１４に示す試験をそれぞれ実行する。
【０１１０】
図１４に示す符号”Ｗ０”は、”ＡＬＬ０”をレジスタファイルＲＦ２に書き込むために、レジスタファイルＴＲＦ２に供給するライトコマンドを示す。符号”Ｗ１”は、”ＡＬＬ１”をレジスタファイルＲＦ２に書き込むために、レジスタファイルＴＲＦ２に供給するライトコマンドを示す。ライトコマンド”Ｗ０”、”Ｗ１”は、ライトデータＢＷＤＰが互いに相違する。ここで、”ＡＬＬ０”は、７２ビットのライトデータＢＷＤＰの全ビットが論理０に設定されることを示し、”ＡＬＬ１”は、７２ビットのライトデータＢＷＤＰの全ビットが論理１に設定されることを示す。
【０１１１】
図１４に示す符号”Ｒ０”は、レジスタファイルＲＦ２から期待値”ＡＬＬ０”を読み出すために、レジスタファイルＴＲＦ２に供給するリードコマンドを示す。符号”Ｒ１”は、レジスタファイルＲＦ２から期待値”ＡＬＬ１”を読み出すために、レジスタファイルＴＲＦ２に供給するリードコマンドを示す。リードコマンド”Ｒ０”、”Ｒ１”は、期待値ＥＸＰＤが互いに相違する。
【０１１２】
レジスタファイルＲＦ２の試験では、まず、各エントリＥＮＴに”ＡＬＬ０”のデータが順次に書き込まれる（図１４（ａ）、（ｂ）、（ｃ））。各エントリＥＮＴは、書き込みアクセスにおいて、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰを受けたクロックサイクルの次のクロックサイクルにライトデータＢＷＤＰを保持する。
【０１１３】
次に、各エントリＥＮＴに対して”ＡＬＬ０”のデータの読み出し（Ｒ０）と”ＡＬＬ１”のデータの書き込み（Ｗ１）とが順次に実行される（図１４（ｄ）、（ｅ）、（ｆ）、（ｇ）、（ｈ）、（ｉ））。各エントリＥＮＴは、読み出しアクセスにおいて、リードアドレスＢＲＡＰを受けた次のクロックサイクルにリードデータＢＲＤＰを出力する。
【０１１４】
次に、各エントリＥＮＴに対して”ＡＬＬ１”のデータの読み出し（Ｒ１）と、”ＡＬＬ０”のデータの書き込み（Ｗ０）とが順次に実行される（図１４（ｊ）、（ｋ）、（ｌ）、（ｍ）、（ｎ）、（ｏ））。次に、各エントリＥＮＴに対して”ＡＬＬ０”のデータの読み出しが順次に実行される（図１４（ｐ）、（ｑ）、（ｒ））。
【０１１５】
比較器ＣＭＰは、リードデータＢＲＤＰと期待値ＥＸＰＤとを比較し、エラー信号ＥＲＲを出力する。図１４は、レジスタファイルＲＦ２が正常に動作し、エラーが発生しない例を示すため、エラー信号ＥＲＲは論理０に保持される。試験制御部ＭＢＩＳＴは、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較結果を示す有効なエラー信号ＥＲＲが論理０の場合、試験のパスＰを判定し、有効なエラー信号ＥＲＲが論理１の場合、試験のフェイルを判定する。すなわち、試験制御部ＭＢＩＳＴは、比較部ＣＭＰによる比較結果に基づいて、レジスタファイルＲＦ２の良否を判定する。なお、試験制御部ＭＢＩＳＴは、例えば、期待値ＥＸＰＤが生成されないクロックサイクルＴ０１、Ｔ０２、Ｔ０３、Ｔ０４、Ｔ０６を無効なエラー信号ＥＲＲが出力される無効サイクルと判断し、無効サイクルでは試験結果を判定しない。すなわち、無効なエラー信号ＥＲＲが出力されるクロックサイクルは、リードデータＢＲＤＰと期待値ＥＸＰＤとを比較しないクロックサイクルである。
【０１１６】
この後、他のリードアドレスポートＲＡＰ１−ＲＡＰ３および他のリードデータポートＲＤＰ１−ＲＤＰ３を用いて、図１４と同様の試験が実行される。さらに、他のライトイネーブルポートＷＥＰ１、ライトアドレスポートＷＡＰ１、ライトデータポートＷＤＰ１を用いて図１４と同様の試験が実行される。そして、レジスタファイルＲＦ２の試験が完了する。
【０１１７】
図１５は、図１１に示すメモリ試験回路ＭＴ２がレジスタファイルＲＦ２を試験する別の例を示す。すなわち、図１５は、メモリ試験回路ＭＴ２の制御方法を示す。図１４と同一または同様の動作については、詳細な説明は省略する。以下の説明では、”ＡＬＬ０”のデータの書き込みは、書き込みＷ１と称され、”ＡＬＬ１”のデータの書き込みは、書き込みＷ１と称される。ＡＬＬ０”のデータの読み出しは、読み出しＲ０と称され、”ＡＬＬ１”のデータの読み出しは、読み出しＲ１と称される。
【０１１８】
図１５の試験は、いわゆるウォーキングパターンを用いて実行される。また、図１５では、レジスタファイルＲＦ２のリードアドレスポートＲＡＰ０、ライトイネーブルポートＷＥＰ０、ライトアドレスポートＷＡＰ０、ライトデータポートＷＤＰ０およびリードデータポートＲＤＰ０に接続される信号線と回路の試験が実行される。
【０１１９】
レジスタファイルＲＦ２の試験では、まず、各エントリＥＮＴへの書き込みＷ０が実行される（図１５（ａ）、（ｂ）、（ｃ））。次に、各エントリＥＮＴに対して”読み出しＲ０と、書き込みＷ１と、読み出しＲ１と、書き込みＷ０とが順次に実行される（図１５（ｄ）、（ｅ）、（ｆ）、（ｇ）、（ｈ）、（ｉ）、（ｊ）、（ｋ）、（ｌ）、（ｍ）、（ｎ）、（ｏ））。
【０１２０】
比較器ＣＭＰは、図１４と同様に、リードデータＢＲＤＰと期待値ＥＸＰＤとを比較し、エラー信号ＥＲＲを出力する。図１５は、レジスタファイルＲＦ２が正常に動作し、エラーが発生しないため、試験制御部ＭＢＩＳＴは、リードデータＢＲＤＰの読み出し毎にパスＰを判定する。なお、図１５では、図１４と同様に、試験制御部ＭＢＩＳＴは、期待値ＥＸＰＤが生成されない無効サイクルでは試験結果を判定しない。
【０１２１】
この後、他のリードアドレスポートＲＡＰ１−ＲＡＰ３および他のリードデータポートＲＤＰ１−ＲＤＰ３を用いて、図１５と同様の試験が実行される。さらに、他のライトイネーブルポートＷＥＰ１、ライトアドレスポートＷＡＰ１、ライトデータポートＷＤＰ１を用いて図１５と同様の試験が実行される。そして、レジスタファイルＲＦ２の試験が完了する。
【０１２２】
図１６は、メモリ試験回路の別の例を示す。図１６に示す例では、メモリ試験回路ＭＴ２が試験するレジスタファイルＲＦ２は、シングルポートタイプである。すなわち、レジスタファイルＲＦ２は、１つのリードアドレスポートＲＡＰ０、１つのライトイネーブルポートＷＥＰ０、１つのライトアドレスポートＷＡＰ０、１つのライトデータポートＷＤＰ０および１つのリードデータポートＲＤＰ０を有する。このため、図１２に示すライト制御部ＷＣＮＴ２は、ライトイネーブル信号ＷＥＰ０およびライトアドレスＷＡＰ０に基づいて、データを書き込むエントリＥＮＴを決定する。また、レジスタファイルＲＦ２は、図１２に示す出力セレクタＯＳ１０、ＯＳ１１、ＯＳ２０、ＯＳ２１、ＯＳ３０、ＯＳ３１を持たない。
【０１２３】
拡張されたレジスタファイルＴＲＦ２は、図１１に示すリードデータポートＲＤＰ１、ＲＤＰ２、ＲＤＰ３に対応するセレクタＳＥＬ１およびリードデータポートＲＤＰ１、ＲＤＰ２、ＲＤＰ３に対応するラッチ回路ＲＤ１、ＲＤ２、ＲＤ３を持たない。また、レジスタファイルＴＲＦ２は、図１１に示すライトイネーブルポートＷＥＰ１に対応するセレクタＳＥＬ２、ライトアドレスポートＷＡＰ１に対応するセレクタＳＥＬ３およびライトデータポートＷＤＰ１に対応するセレクタＳＥＬ４を持たない。さらに、レジスタファイルＴＲＦ２は、図１１に示すラッチ回路ＷＰＳ、ＲＰＳおよびセレクタＤＳＥＬを持たない。
【０１２４】
図１６に示すメモリ試験回路ＭＴ２の動作の例は、図１４および図１５と同様である。すなわち、図１６に示すメモリ試験回路ＭＴ２は、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続のリードアドレスＢＲＡＰを生成することができ、リードアドレスが重複して割り当てられるエントリＥＮＴ２の試験を実行することができる。また、図１６に示すメモリ試験回路ＭＴ２は、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続のライトアドレスＢＷＡＰを生成することができる。
【０１２５】
なお、メモリ試験回路ＭＴ２は、１つのライトデータポートＷＤＰと複数のリードデータポートＲＤＰとを有するレジスタファイルを試験することが可能である。また、メモリ試験回路ＭＴ２は、複数のライトデータポートＷＤＰと１つのリードデータポートＲＤＰとを有するレジスタファイルを試験することが可能である。
【０１２６】
図１７は、メモリ試験回路のさらなる別の例を示す。図１１に示す要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。レジスタファイルＲＦ２および試験回路の一部を含む拡張されたレジスタファイルＴＲＦ２は、図１１と同一または同様の構成を有する。すなわち、レジスタファイルＲＦ２は、３つのエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３、２つのライトデータポートＷＤＰ０−ＷＤＰ１および４つのリードデータポートＲＤＰ０−ＲＤＰ３を有する。図１７に示すメモリ試験回路ＭＴ０２は、図１１に示すリードアドレス変換回路ＲＡＣＮＶ、ラッチ回路ＡＭおよびライトアドレス変換回路ＷＡＣＮＶを持たない。ラッチ回路ＲＡは、リードアドレスＢＲＡＰを出力し、ラッチ回路ＷＡは、ライトアドレスＢＷＡＰを出力する。メモリ試験回路ＭＴ０２のその他の構成は、図１１に示すメモリ試験回路ＭＴ２と同様である。
【０１２７】
図１８は、図１７に示すメモリ試験回路ＭＴ０２がレジスタファイルＲＦ２を試験する例を示す。図１４と同一または同様の動作については、詳細な説明は省略する。図１８の試験は、図１４と同様に、いわゆるマーチングパターンを用いて実行される。
【０１２８】
図１７に示す試験制御部ＭＢＩＳＴ（図６）は、リードアドレスＢＲＡＰおよびライトアドレスＢＷＡＰを順次に生成する機能を有する。このため、リードアドレスＢＲＡＰおよびライトアドレスＢＷＡＰは、”０”、”１”、”２”、”３”または”３”、”２”、”１”、”０”のように連続して生成される。”１”のライトアドレスＢＷＡＰに対応するエントリＥＮＴは存在しない。このため、”１”のライトアドレスＢＷＡＰとともに生成されるライトデータＢＷＤＰは、”Ｘ”印で示すように、どのエントリＥＮＴにも書き込まれない（図１８（ａ）、（ｂ）、（ｃ））。また、レジスタファイルＲＦ２は、図１２に示す構造を有するため、”１”および”２”のリードアドレスＲＡＰ（すなわち、図１８のＢＲＡＰ）により、共通のエントリＥＮＴ２が選択される。
【０１２９】
メモリ試験回路ＭＴ０２は、クロックサイクルＴ１５、Ｔ１６において、”２”のリードアドレスＢＲＡＰにより選択されるエントリＥＮＴ２から”ＡＬＬ１”のデータを読み出す（図１８（ｄ））。次に、メモリ試験回路ＭＴ０２は、クロックサイクルＴ１６、Ｔ１７において、”２”のライトアドレスＢＷＡＰにより選択されるエントリＥＮＴ２に”ＡＬＬ０”のデータを書き込む（図１８（ｅ））。
【０１３０】
次に、メモリ試験回路ＭＴ０２は、クロックサイクルＴ１７、Ｔ１８において、”１”のリードアドレスＢＲＡＰにより選択されるエントリＥＮＴ２からデータを読み出す（図１８（ｆ））。一方、メモリ試験回路ＭＴ０２は、クロックサイクルＴ０８において、”１”のライトアドレスＢＷＡＰに対して”ＡＬＬ１”のデータを書き込む試験パターンを生成する（図１８（ｇ））。このため、メモリ試験回路ＭＴ０２は、”１”のリードアドレスＢＲＡＰが割り当てられたエントリＥＮＴ（実際にはＥＮＴ２）から読み出されるデータの期待値を”ＡＬＬ１”に設定する。エントリＥＮＴ２から読み出されるリードデータＢＲＤＰ（＝”ＡＬＬ０”）は、期待値ＥＸＰＤ（＝”ＡＬＬ１”）と異なるため、比較器ＣＭＰはエラー信号ＥＲＲを、フェイルを示す論理１に設定する（図１８（ｈ））。すなわち、レジスタファイルＲＦ２が正常に動作するのにも拘わらず、メモリ試験回路ＭＴ０２は、レジスタファイルＲＦ２の動作不良を判定する。
【０１３１】
図１９は、図１７に示すメモリ試験回路ＭＴ０２がレジスタファイルＲＦ２を試験する別の例を示す。図１４、図１５および図１８と同一または同様の動作については、詳細な説明は省略する。図１９の試験は、図１５と同様に、いわゆるウォーキングパターンを用いて実行される。
【０１３２】
図１８と同様に、”１”のライトアドレスＢＷＡＰとともに生成されるライトデータＢＷＤＰは、”Ｘ”印で示すように、どのエントリＥＮＴにも書き込まれない（図１９（ａ）、（ｂ）、（ｃ））。
【０１３３】
メモリ試験回路ＭＴ０２は、クロックサイクルＴ１０において、”１”のライトアドレスＢＷＡＰに対して”ＡＬＬ１”のデータを書き込む試験パターンを生成する（図１９（ｄ））。このため、メモリ試験回路ＭＴ０２は、図１８と同様に、”１”のリードアドレスＢＲＡＰが割り当てられたエントリＥＮＴ（実際にはＥＮＴ２）から読み出されるデータの期待値を”ＡＬＬ１”に設定する。なお、図１４と同様に、試験制御部ＭＢＩＳＴは、期待値ＥＸＰＤが生成されない無効サイクルでは試験結果を判定しない。
【０１３４】
次に、メモリ試験回路ＭＴ０２は、クロックサイクルＴ１１、Ｔ１２において、”１”のリードアドレスＢＲＡＰにより選択されるエントリＥＮＴ２から”ＡＬＬ０”のデータを読み出す（図１９（ｅ））。しかしながら、エントリＥＮＴ２から読み出されるリードデータＢＲＤＰ（＝”ＡＬＬ０”）は、期待値ＥＸＰＤ（＝”ＡＬＬ１”）と異なるため、比較器ＣＭＰはエラー信号ＥＲＲを、フェイルを示す論理１に設定する（図１９（ｆ））。すなわち、レジスタファイルＲＦ２が正常に動作するのにも拘わらず、メモリ試験回路ＭＴ０２は、レジスタファイルＲＦ２の動作不良を判定する。
【０１３５】
以上、図１１から図１９に示す実施形態においても、図１から図１０に示す実施形態と同様に、シングルポートのレジスタファイルを試験する既存の試験制御部ＭＢＩＳＴを利用して、レジスタファイルＲＦ２の試験を実行することができる。すなわち、マルチポートのレジスタファイルＲＦ２をシングルポートのレジスタファイルと見なして試験を実行することができる。この結果、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰの各々を共通化しない場合に比べて、メモリ試験回路ＭＴ２の回路規模を削減することができる。
【０１３６】
さらに、図１１に示すメモリ試験回路ＭＴ２は、リードアドレス変換回路ＲＡＣＮＶおよびライトアドレス変換回路ＷＡＣＮＶを有するため、不連続なリードアドレスＢＲＡＰおよび不連続なライトアドレスＢＷＡＰを生成することができる。したがって、メモリ試験回路ＭＴ２は、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続なアドレスが割り当てられたエントリＥＮＴを有するレジスタファイルＲＦ２の試験を実行することができる。また、メモリ試験回路ＭＴ２は、ラッチ回路ＡＭおよびリードアドレス変換回路ＲＡＣＮＶを有するため、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、リードアドレスが重複して割り当てられるエントリＥＮＴ２の試験を実行することができる。
【０１３７】
図２０は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。図４から図１９に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【０１３８】
図２０に示すメモリ試験回路ＭＴ３は、図４に示す拡張されたレジスタファイルＴＲＦ１の代わりに拡張されたレジスタファイルＴＲＦ３を有する。拡張されたレジスタファイルＴＲＦ３は、レジスタファイルＲＦ３を有する。レジスタファイルＲＦ３は、メモリ回路の一例であり、エントリＥＮＴ（ＥＮＴ０、ＥＮＴ１、ＥＮＴ２、ＥＮＴ３）は、記憶部の一例である。また、メモリ試験回路ＭＴ２は、ラッチ回路ＣＹＣおよびマスク生成回路ＭＳＫＧＥＮを有する。メモリ試験回路ＭＴ３のその他の構成は、図４に示すメモリ試験回路ＭＴ１と同様である。
【０１３９】
ラッチ回路ＣＹＣは、レジスタファイルＲＦ３のワーストのリードアクセスサイクルが２クロックサイクルの場合に論理０にリセットされ、レジスタファイルＲＦ３のワーストのリードアクセスサイクルが１クロックサイクルの場合に論理１にセットされる。ラッチ回路ＣＹＣは、保持した論理のマスク制御信号ＭＳＫＣを出力する。例えば、ラッチ回路ＣＹＣは、ＢＩＳＴ時にバウンダリスキャン方式を用いて設定される。ラッチ回路ＣＹＣは、マスク生成回路ＭＳＫＧＥＮによるマスク信号ＭＳＫの生成を抑止するマスク制御信号ＭＳＫＣを保持する抑止保持部の一例である。マスク制御信号ＭＳＫＣは、抑止情報の一例である。
【０１４０】
マスク生成回路ＭＳＫＧＥＮは、マスク制御信号ＭＳＫＣが論理０の場合、リードアドレスＢＲＡＰの値に応じて、比較器ＣＭＰによる比較結果を無効にするマスク信号ＭＳＫ（例えば、１ビット）を生成する。マスク生成回路ＭＳＫＧＥＮは、リードデータＢＲＤＰの出力タイミングが他のリードデータＢＲＤＰの出力タイミングより遅くなるリードアドレスＢＲＡＰの試験パターンを検出する検出部の一例である。マスク生成回路ＭＳＫＧＥＮの例は、図２２に示す。
【０１４１】
例えば、比較器ＣＭＰは、２ビットのエラー信号ＥＲＲを生成する。エラー信号ＥＲＲの上位ビットは、マスク信号ＭＳＫの論理を示し、エラー信号ＥＲＲの下位ビットは、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較結果を示す。試験制御部ＭＢＩＳＴは、エラー信号ＥＲＲの上位ビットが論理０の場合、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較結果に基づくパス／フェイルの判定を実行する。一方、試験制御部ＭＢＩＳＴは、エラー信号ＥＲＲの上位ビットが論理１の場合、エラー信号ＥＲＲの下位ビットを無視し、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較結果に基づくパス／フェイルの判定を実行しない。
【０１４２】
例えば、メモリ試験回路ＭＴ３は、半導体集積回路に搭載されるＣＰＵコア内に設けられるレジスタファイルＲＦ３を試験する。例えば、メモリ試験回路ＭＴ３は、レジスタファイルＲＦ３とともに半導体集積回路（例えば、半導体チップ）に搭載される。
【０１４３】
レジスタファイルＲＦ３は、図４に示すレジスタファイルＲＦ１と同様に、４つのエントリＥＮＴ０、ＥＮＴ１、ＥＮＴ２、ＥＮＴ３を有する。但し、レジスタファイルＲＦ３は、ワーストのリードアクセスサイクルが２クロックサイクルであり、ベストのリードアクセスサイクルが１クロックサイクルである点が、リードアクセスサイクルが１クロックサイクルであるレジスタファイルＲＦ１と相違する。例えば、ワーストの読み出しサイクルアクセスは、レジスタファイルＲＦ３の内部構成、クロック周波数により変化する。レジスタファイルＲＦ３の内部構成の例は、図２１に示す。
【０１４４】
図２１は、図２０に示すレジスタファイルＲＦ３の例を示す。図５および図１２に示した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【０１４５】
レジスタファイルＲＦ３は、図５に示すライト制御部ＷＣＮＴ１および入力セレクタＩＳ（ＩＳ０、ＩＳ１、ＩＳ２、ＩＳ３）を有する。また、レジスタファイルＲＦ３は、図１２に示す出力セレクタＯＳ（ＯＳ００、ＯＳ０１、ＯＳ１０、ＯＳ１１、ＯＳ２０、ＯＳ２１、ＯＳ３０、ＯＳ３１）を有する。但し、各エントリＥＮＴの出力端子Ｑと出力セレクタＯＳ０１、ＯＳ１１、ＯＳ２１、ＯＳ３１の入力端子との接続仕様は、図１２に示すレジスタファイルＲＦ２と相違する。
【０１４６】
例えば、出力セレクタＯＳ０１、ＯＳ００は、リードアドレスＲＡＰ０［１］、ＲＡＰ０［０］で示されるアドレス値と同じ番号のエントリＥＮＴに保持されたデータを出力する。ここで、リードアドレスＲＡＰ０［１］は、リードアドレスＲＡＰ０の上位ビットであり、リードアドレスＲＡＰ０［０］は、リードアドレスＲＡＰ０の下位ビットである。他の出力セレクタＯＳ（ＯＳ１０／ＯＳ１１のペア、ＯＳ２０／ＯＳ２１のペアおよびＯＳ３０／ＯＳ３１のペア）も、出力セレクタＯＳ０１、ＯＳ００と同様に動作する。
【０１４７】
図２２は、図２０に示すマスク生成回路ＭＳＫＧＥＮの例を示す。マスク生成回路ＭＳＫＧＥＮは、ラッチ回路ＢＲＡ、マスク信号生成回路ＭＳＧＥＮおよびラッチ回路Ｍ１を有する。なお、ラッチ回路Ｍ１は、マスク信号ＭＳＫが出力されるクロックサイクルを図２０に示すリードデータＢＲＤＰが出力されるクロックサイクルに合わせるために設けられ、マスク生成回路ＭＳＫＧＥＮの外部に配置されてもよい。
【０１４８】
ラッチ回路ＢＲＡは、リードアドレスＢＲＡＰの上位ビットＢＲＡＰ［１］を１クロックサイクル遅らせたリードアドレスＢＲＡＰＤ［１］を生成する。マスク信号生成回路ＭＳＧＥＮは、排他的論理和ゲートＸＯＲ、インバータＩＶおよびアンドゲートＡＮＤを有する。
【０１４９】
マスク信号生成回路ＭＳＧＥＮは、マスク制御信号ＭＳＫＣが論理１の場合に無効になり、マスク信号ＭＳＫ０を論理０に設定する（図２２（ａ））。マスク信号生成回路ＭＳＧＥＮは、マスク制御信号ＭＳＫＣが論理０の場合に有効になる。そして、マスク信号生成回路ＭＳＧＥＮは、マスク制御信号ＭＳＫＣが論理０の場合でリードアドレスＢＲＡＰ［１］、ＢＲＡＰＤ［１］の論理が互いに異なる場合、マスク信号ＭＳＫ０を論理１に設定する（図２２（ｂ）、（ｃ））。一方、マスク信号生成回路ＭＳＧＥＮは、リードアドレスＢＲＡＰ［１］、ＢＲＡＰＤ［１］の論理が互いに同じ場合、マスク信号ＭＳＫ０を論理０に設定する（図２２（ｄ）、（ｅ））。また、ラッチ回路Ｍ１は、マスク信号ＭＳＫ０の論理を１クロックサイクル遅らせたマスク信号ＭＳＫを生成する。
【０１５０】
図２３は、図２０に示すメモリ試験回路ＭＴ３がレジスタファイルＲＦ３を試験する例を示す。すなわち、図２３は、メモリ試験回路ＭＴ３の制御方法を示す。図１８と同一または同様の動作については、詳細な説明は省略する。図２３の試験は、図１８と同様に、いわゆるマーチングパターンを用いて実行される。
【０１５１】
図２３において、レジスタファイルＲＦに入力される試験パターンは、図１８に示す試験パターンと同様である。但し、図２１に示すレジスタファイルＲＦ３は、図２３に示すクロックサイクル（クロック周波数）では、ワーストのリードアクセスサイクルが２クロックサイクルである。このため、メモリ試験回路ＭＴ３は、図２０に示すラッチ回路ＣＹＣを用いて、マスク制御信号ＭＳＫＣを論理０に設定する。
【０１５２】
例えば、リードアドレスＢＲＡＰ［１］（＝ＲＡＰ０［１］）の論理が変化し、図２１に示す出力セレクタＯＳ０１から出力されるリードデータＲＤＰが変化する場合、リードデータＢＲＤＰ（＝ＲＤＰ０）は、１クロックサイクルでは確定しない。図２３において、リードデータＢＲＤＰの網掛けは、値が確定していないことを示す。そして、値が確定していない期間にマスク信号ＭＳＫが出力される（図２３（ａ）、（ｂ）、（ｃ））。
【０１５３】
マスク信号ＭＳＫが出力される場合、斜線の枠で示すように、無効なエラー信号ＥＲＲが出力され、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較が禁止される（図２３（ｄ）、（ｅ）、（ｆ））。これにより、リードデータＢＲＤＰの値が確定していない場合に、比較結果が不一致となることを抑止することができ、フェイルと判定されることを抑止することができる。
【０１５４】
試験制御部ＭＢＩＳＴは、無効なエラー信号ＥＲＲが出力されないクロックサイクルにおいて、比較部ＣＭＰによる比較結果に基づいて、レジスタファイルＲＦ３の良否を判定する（図２３（ｇ）、（ｈ）、（ｉ）、（ｊ）、（ｋ）、（ｌ）、（ｍ）、（ｎ）、（ｏ））。なお、クロックサイクルＴ２１以降では、リードアクセスサイクルの間に、ライトアクセスサイクルが挿入されない。これにより、レジスタファイルＲＦ３から出力されるリードデータＲＤＰの出力タイミングがリードアドレスＲＡＰの遷移に応じて変化する場合にも、メモリ試験回路ＭＴ３は、誤った判定をすることなく、レジスタファイルＲＦ３の試験を実行できる。なお、例えば、無効なエラー信号ＥＲＲによりレジスタファイルＲＦ３の良否の判定がマスクされる試験パターンによる試験は、図２４により実行される。
【０１５５】
図２４は、図２０に示すメモリ試験回路ＭＴ３がレジスタファイルＲＦ３を試験する別の例を示す。すなわち、図２４は、メモリ試験回路ＭＴ３の制御方法を示す。図１４、図１８および図２３と同一または同様の動作については、詳細な説明は省略する。図２４の試験は、図１８および図２３と同様に、いわゆるマーチングパターンを用いて実行される。
【０１５６】
図２４は、図２３の試験のクロック周波数を２分の１に設定したことを除き、図２３と同様である。すなわち、図２４の試験パターンは、図２３のクロックサイクルＴ０１−Ｔ１３の試験パターンと同様である。図２４に示さないクロックサイクルＴ１４−Ｔ２６は、クロック周波数を２分の１に設定されることを除き、図２３と同様である。
【０１５７】
クロック周波数が図２３の２分の１に設定される場合、リードアドレスＢＲＡＰ［１］（＝ＲＡＰ０［１］）の論理が変化する否かに拘わりなく、リードデータＢＲＤＰ（＝ＲＤＰ０）は、１クロックサイクルで確定する。このため、メモリ試験回路ＭＴ３は、図２０に示すラッチ回路ＣＹＣを用いて、マスク制御信号ＭＳＫＣを論理１に設定し、マスク信号ＭＳＫの出力を禁止する。この結果、リードデータＢＲＤＰと期待値ＥＸＰＤとは、前半のクロックサイクルで比較される（図２４（ａ）、（ｂ）、（ｃ）、（ｄ））。
【０１５８】
クロック周波数を２分の１に設定した試験において、マスク信号ＭＳＫの生成を禁止することで、図２３においてマスク信号ＭＳＫにより比較が抑止された期間での詳細な回路動作を評価することが可能になる。
【０１５９】
図２５は、メモリ試験回路の別の例を示す。図２５に示す例では、メモリ試験回路ＭＴ２が試験するレジスタファイルＲＦ３は、シングルポートタイプである。すなわち、レジスタファイルＲＦ３は、１つのリードアドレスポートＲＡＰ０、１つのライトイネーブルポートＷＥＰ０、１つのライトアドレスポートＷＡＰ０、１つのライトデータポートＷＤＰ０および１つのリードデータポートＲＤＰ０を有する。このため、図２１に示すライト制御部ＷＣＮＴ１は、ライトイネーブル信号ＷＥＰ０およびライトアドレスＷＡＰ０に基づいて、データを書き込むエントリＥＮＴを決定する。また、レジスタファイルＲＦ３は、図２１に示す出力セレクタＯＳ１０、ＯＳ１１、ＯＳ２０、ＯＳ２１、ＯＳ３０、ＯＳ３１を持たない。
【０１６０】
拡張されたレジスタファイルＴＲＦ３は、図２０に示すリードデータポートＲＤＰ１、ＲＤＰ２、ＲＤＰ３に対応するセレクタＳＥＬ１およびリードデータポートＲＤＰ１、ＲＤＰ２、ＲＤＰ３に対応するラッチ回路ＲＤ１、ＲＤ２、ＲＤ３を持たない。また、レジスタファイルＴＲＦ３は、図２０に示すライトイネーブルポートＷＥＰ１に対応するセレクタＳＥＬ２、ライトアドレスポートＷＡＰ１に対応するセレクタＳＥＬ３およびライトデータポートＷＤＰ１に対応するセレクタＳＥＬ４を持たない。さらに、レジスタファイルＴＲＦ３は、図２０に示すラッチ回路ＷＰＳ、ＲＰＳおよびセレクタＤＳＥＬを持たない。
【０１６１】
図２５に示すメモリ試験回路ＭＴ３の動作の例は、図２３および図２４と同様である。すなわち、１つのライトデータポートＷＤＰ０と１つのリードデータポートＲＤＰ０とを有するレジスタファイルＲＦ２を試験する場合にも、メモリ試験回路ＭＴ３は、誤った判定をすることなく、レジスタファイルＲＦ３の試験を実行できる。また、クロック周波数を下げ、マスク信号ＭＳＫの生成を禁止した試験を実行することで、図２３においてマスク信号ＭＳＫにより比較が抑止された期間での詳細な回路動作を評価することが可能になる。なお、メモリ試験回路ＭＴ３は、１つのライトデータポートＷＤＰと複数のリードデータポートＲＤＰとを有するレジスタファイルを試験することが可能である。また、メモリ試験回路ＭＴ３は、複数のライトデータポートＷＤＰと１つのリードデータポートＲＤＰとを有するレジスタファイルを試験することが可能である。
【０１６２】
以上、図２０から図２５に示す実施形態においても、図１から図１０に示す実施形態と同様に、シングルポートのレジスタファイルを試験する既存の試験制御部ＭＢＩＳＴを利用して、レジスタファイルＲＦ３の試験を実行することができる。すなわち、マルチポートのレジスタファイルＲＦ３をシングルポートのレジスタファイルと見なして試験を実行することができる。この結果、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰの各々を共通化しない場合に比べて、メモリ試験回路ＭＴ３の回路規模を削減することができる。
【０１６３】
さらに、図２０から図２５に示す実施形態では、マスク信号ＭＳＫを生成することで、メモリ試験回路ＭＴ３は、誤った判定をすることなく、レジスタファイルＲＦ３の試験を実行できる。また、クロック周波数を下げ、マスク信号ＭＳＫの生成を禁止した試験を実行することで、図２３においてマスク信号ＭＳＫにより比較が抑止された期間での詳細な回路動作を評価することが可能になる。
【０１６４】
図２６は、メモリ試験回路およびメモリ試験回路の制御方法の別の実施形態を示す。図１１から図２５に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【０１６５】
図２６に示すメモリ試験回路ＭＴ４は、図１１に示すメモリ試験回路ＭＴ２に、図２０に示すラッチ回路ＣＹＣおよびマスク信号生成回路ＭＳＧＥＮを追加した構成を有する。すなわち、メモリ試験回路ＭＴ４は、図１２に示す３つのエントリＥＮＴ０、ＥＮＴ２、ＥＮＴ３を有するレジスタファイルＲＦ２、リードアドレス変換回路ＲＡＣＮＶおよびライトアドレス変換回路ＷＡＣＮＶを有する。
【０１６６】
図２７は、図２６に示すメモリ試験回路ＭＴ４がレジスタファイルＲＦ２を試験する例を示す。すなわち、図２７は、メモリ試験回路ＭＴ４の制御方法を示す。図１４および図２３と同一または同様の動作については、詳細な説明は省略する。図２７の試験は、図１４と同様に、いわゆるマーチングパターンを用いて実行される。
【０１６７】
図２７において、レジスタファイルＲＦに入力される試験パターンは、図１４に示す試験パターンと同様である。但し、図１２に示すレジスタファイルＲＦ２は、図２７に示すクロックサイクル（クロック周波数）では、ワーストのリードアクセスサイクルが２クロックサイクルである。このため、メモリ試験回路ＭＴ４は、図２６に示すラッチ回路ＣＹＣを用いて、マスク制御信号ＭＳＫＣを論理０に設定する。ワーストのリードアクセスサイクルの動作は、図２３と同様である。すなわち、リードデータＢＲＤＰの値が確定していない網掛けの期間にリードデータＢＲＤＰと期待値ＥＸＰＤとの比較を禁止するため、マスク信号ＭＳＫが出力される（図２７（ａ）、（ｂ）、（ｃ））。
【０１６８】
これにより、図２３と同様に、斜線の枠で示す無効なエラー信号ＥＲＲが出力されるクロックサイクルでは、リードデータＢＲＤＰと期待値ＥＸＰＤとの比較が禁止される。試験制御部ＭＢＩＳＴは、無効なエラー信号ＥＲＲが出力されないクロックサイクルにおいて、比較部ＣＭＰによる比較結果に基づいて、レジスタファイルＲＦ２の良否を判定する。すなわち、レジスタファイルＲＦ２から出力されるリードデータＲＤＰの出力タイミングがリードアドレスＲＡＰの遷移に応じて変化する場合にも、メモリ試験回路ＭＴ４は、誤った判定をすることなく、レジスタファイルＲＦ２の試験を実行できる。
【０１６９】
なお、図２４と同様に、クロック周波数を２分の１に設定して、図２７の試験を実行する場合の動作は、図１４と同様である。但し、クロック周波数は、図１４の２倍に設定される。
【０１７０】
図２８は、メモリ試験回路の別の例を示す。図２８に示す例では、メモリ試験回路ＭＴ４が試験するレジスタファイルＲＦ２は、シングルポートタイプであり、図１６に示すレジスタファイルＲＦ２と同一または同様である。また、拡張されたレジスタファイルＴＲＦ２は、図１６に示すレジスタファイルＴＲＦ２と同一または同様である。図２８において、レジスタファイルＴＲＦ２を除く構成は、加算器ＡＤＤの数が異なることを除き、図２６と同様である。
【０１７１】
以上、図２６から図２８に示す実施形態においても、図１から図２５に示す実施形態と同様の効果を得ることができる。すなわち、シングルポートのレジスタファイルを試験する既存の試験制御部ＭＢＩＳＴを利用して、レジスタファイルＲＦ４の試験を実行することができる。すなわち、マルチポートのレジスタファイルＲＦ４をシングルポートのレジスタファイルと見なして試験を実行することができる。この結果、リードアドレスＢＲＡＰ、ライトイネーブル信号ＢＷＥＰ、ライトアドレスＢＷＡＰおよびライトデータＢＷＤＰの各々を共通化しない場合に比べて、メモリ試験回路ＭＴ４の回路規模を削減することができる。
【０１７２】
メモリ試験回路ＭＴ４、リードアドレス変換回路ＲＡＣＮＶおよびライトアドレス変換回路ＷＡＣＮＶを有するため、不連続なリードアドレスＢＲＡＰおよび不連続なライトアドレスＢＷＡＰを生成することができる。したがって、メモリ試験回路ＭＴ４、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、不連続なアドレスが割り当てられたエントリＥＮＴを有するレジスタファイルＲＦ４の試験を実行することができる。また、メモリ試験回路ＭＴ４は、ラッチ回路ＡＭおよびリードアドレス変換回路ＲＡＣＮＶを有するため、簡易な試験制御部ＭＢＩＳＴ（図６）を用いて、リードアドレスが重複して割り当てられるエントリＥＮＴ４の試験を実行することができる。
【０１７３】
マスク信号ＭＳＫを生成することで、メモリ試験回路ＭＴ４は、誤った判定をすることなく、レジスタファイルＲＦ４の試験を実行できる。また、クロック周波数を下げ、マスク信号ＭＳＫの生成を禁止した試験を実行することで、図２７においてマスク信号ＭＳＫにより比較が抑止された期間での詳細な回路動作を評価することが可能になる。
【０１７４】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
データを記憶する複数の記憶部と、前記記憶部へのデータの書き込み時に使用される複数のライトポートおよび前記記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路において、
前記メモリ試験回路は、
前記複数のライトポートのいずれかを識別するライトポート識別情報を保持するライトポート識別情報保持部と、
前記複数のリードポートのいずれかを識別するリードポート識別情報を保持するリードポート識別情報保持部と、
前記ライトポート識別情報に基づき前記複数のライトポートのいずれかを選択するライトポート選択部と、
前記リードポート識別情報に基づき前記複数のリードポートのいずれかを選択するリードポート選択部と、
前記ライトポート識別情報保持部に前記ライトポート識別情報を設定するとともに、前記リードポート識別情報保持部に前記リードポート識別情報を設定し、選択された前記ライトポートと選択された前記リードポートとを介して前記メモリ回路を試験する試験制御部を有することを特徴とするメモリ試験回路。
（付記２）
前記複数の記憶部は、不連続なアドレスが割り当てられ、
前記メモリ試験回路は、
連続するアドレスを生成するアドレス生成部と、
前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換するアドレス変換部を有し、
前記試験制御部は、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験することを特徴とする付記１記載のメモリ試験回路。
（付記３）
不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路において、
前記メモリ試験回路は、
連続するアドレスを生成するアドレス生成部と、
前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換するアドレス変換部と、
前記アドレス生成部が生成したアドレスに基づいて、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験する試験制御部を有することを特徴とするメモリ試験回路。
（付記４）
前記複数の記憶部の各々は、データを書き込む記憶部を示すライトアドレスと、データを読み出す記憶部を示すリードアドレスとが割り当てられ、さらに、前記複数の記憶部のいずれかは、複数のリードアドレスが割り当てられ、
前記メモリ試験回路は、前記複数のリードアドレスのいずれかを示す情報を保持するアドレス保持部を有し、
前記アドレス変換部は、前記アドレス保持部に保持された情報に基づいて、前記アドレス生成部が生成したアドレスを変換することを特徴とする付記２または付記３記載のメモリ試験回路。
（付記５）
前記メモリ回路から読み出されるデータの出力タイミングは、データを読み出す記憶部を示すリードアドレスの試験パターンに応じて異なり、
前記メモリ試験回路は、
データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンを検出する検出部と、
前記検出部による検出に基づいて、前記メモリ回路からデータの読み出しが開始されてから所定の期間、データと期待値との比較を無効にする比較部を有し、
前記試験制御部は、前記比較部による比較結果に基づいて前記メモリ回路の良否を判定することを特徴とする付記１ないし付記５のいずれか１項記載のメモリ試験回路。
（付記６）
前記試験制御部は、
前記記憶部にデータを書き込む書き込みアクセス信号と、前記記憶部からデータを読み出す読み出しアクセス信号と、期待値とを生成する信号生成部と、
前記読み出しアクセス信号に基づいて前記メモリ回路から出力されるデータを前記期待値と比較する比較部を有することを特徴とする付記１ないし付記３のいずれか１項記載のメモリ試験回路。
（付記７）
データを記憶する複数の記憶部を含み、データを読み出す記憶部を示すリードアドレスの試験パターンに応じてデータの出力タイミングが異なるメモリ回路を試験するメモリ試験回路において、
前記メモリ試験回路は、
データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンを検出する検出部と、
前記検出部による検出に基づいて、前記メモリ回路からデータの読み出しが開始されてから所定の期間、データと期待値との比較を無効にする比較部と、
前記比較部による比較結果に基づいて前記メモリ回路の良否を判定する試験制御部を有することを特徴とするメモリ試験回路。
（付記８）
前記メモリ試験回路は、さらに、前記検出部による検出を抑止する抑止情報を保持する抑止保持部を有し、
前記検出部は、前記抑止保持部に抑止情報が保持される場合、データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンの検出を抑止することを特徴とする付記５または付記７記載のメモリ試験回路。
（付記９）
前記メモリ回路は、前記リードアドレスの所定のビットに基づいて、それぞれ所定数の前記記憶部から読み出されるデータのいずれかを選択する複数の第１セレクタと、前記リードアドレスの他の所定のビットに基づいて、前記第１セレクタのそれぞれが選択したデータのいずれかを選択する第２セレクタを有し、
前記検出部は、前記第１セレクタが使用する前記リードアドレスの前記所定のビットが変化する試験パターンを検出することを特徴とする付記５、付記７および付記８のいずれか１項記載のメモリ試験回路。
（付記１０）
前記メモリ試験回路は、前記メモリ回路を含む半導体集積回路に搭載されることを特徴とする付記１ないし付記９のいずれか１項記載のメモリ試験回路。
（付記１１）
データを記憶する複数の記憶部と、前記記憶部へのデータの書き込み時に使用される複数のライトポートおよび前記記憶部に保持されたデータの読み出し時に使用される複数のリードポートとを含むメモリ回路を試験するメモリ試験回路の制御方法において、
前記メモリ試験回路が有するライトポート識別情報保持部が、前記複数のライトポートのいずれかを識別するライトポート識別情報を保持し、
前記メモリ試験回路が有するリードポート識別情報保持部が、前記複数のリードポートのいずれかを識別するリードポート識別情報を保持し、
前記メモリ試験回路が有するライトポート選択部が、前記ライトポート識別情報に基づき前記複数のライトポートのいずれかを選択し、
前記メモリ試験回路が有するリードポート選択部が、前記リードポート識別情報に基づき前記複数のリードポートのいずれかを選択し、
前記メモリ試験回路が有する試験制御部が、前記ライトポート識別情報保持部に前記ライトポート識別情報を設定するとともに、前記リードポート識別情報保持部に前記リードポート識別情報を設定し、選択されたライトポートと選択されたリードポートとを介して前記メモリ回路を試験することを特徴とするメモリ試験回路の制御方法。
（付記１２）
不連続なアドレスが割り当てられ、データを記憶する複数の記憶部を含むメモリ回路を試験するメモリ試験回路の制御方法において、
前記メモリ試験回路が有するアドレス生成部が、連続するアドレスを生成し、
前記メモリ試験回路が有するアドレス変換部が、前記アドレス生成部が生成したアドレスを前記記憶部に割り当てられたアドレスに変換し、
前記メモリ試験回路が有する試験制御部が、前記アドレス生成部が生成したアドレスに基づいて、前記アドレス変換部が変換したアドレスにより順次にアクセスされる前記記憶部を試験することを特徴とするメモリ試験回路の制御方法。
（付記１３）
データを記憶する複数の記憶部を含み、データを読み出す記憶部を示すリードアドレスの試験パターンに応じてデータの出力タイミングが異なるメモリ回路を試験するメモリ試験回路の制御方法において、
前記メモリ試験回路が有する検出部が、データの出力タイミングが他のデータの出力タイミングより遅くなるリードアドレスの試験パターンを検出し、
前記メモリ試験回路が有する比較部が、前記検出部による検出に基づいて、前記メモリ回路からデータの読み出しが開始されてから所定の期間、データと期待値との比較を無効にし、
前記メモリ試験回路が有する試験制御部が、前記比較部による比較結果に基づいて前記メモリ回路の良否を判定することを特徴とするメモリ試験回路の制御方法。
【０１７５】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１７６】
ＢＲＡＰ…リードアドレス；ＢＷＡＰ…ライトアドレス；ＢＷＥＰ…ライトイネーブル信号；ＣＭＰ…比較器；ＣＹＣ…ラッチ回路；ＤＧＥＮ…信号生成部；ＤＳＥＬ…セレクタ；ＥＮＴ０、ＥＮＴ１、ＥＮＴ２、ＥＮＴ３…エントリ；ＥＸＰＧＥＮ…信号生成部；ＦＦ…ラッチ回路；ＩＳ０、ＩＳ１、ＩＳ２、ＩＳ３…入力セレクタ；ＪＴＡＧＣ…制御回路；ＭＢＩＳＴ…試験制御部；ＭＢＩＳＴＣ、ＭＢＩＳＴＣ０…動作制御部；ＭＳＧＥＮ…マスク信号生成回路；ＭＳＫＧＥＮ…マスク生成回路；ＭＴ０１、ＭＴ０２、ＭＴ１、ＭＴ２、ＭＴ３、ＭＴ４…メモリ試験回路；ＯＳ０、ＯＳ００、ＯＳ０１、ＯＳ１、ＯＳ１０、ＯＳ１１、ＯＳ２、ＯＳ２０、ＯＳ２１、ＯＳ３、ＯＳ３０、ＯＳ３１…出力セレクタ；ＲＡＣＮＶ…リードアドレス変換回路；ＲＡＧＥＮ…信号生成部；ＲＡＰ０、ＲＡＰ１、ＲＡＰ２、ＲＡＰ３…リードアドレスポート；ＲＤＰ０、ＲＤＰ１、ＲＤＰ２、ＲＤＰ３…リードデータポート；ＲＦ１、ＲＦ２、ＲＦ３…レジスタファイル；ＳＵ１、ＳＵ２…セレクタ部；ＴＲＦ０、ＴＲＦ１、ＴＲＦ２、ＴＲＦ３…レジスタファイル；ＷＡＣＮＶ…ライトアドレス変換回路；ＷＡＧＥＮ…信号生成部；ＷＡＰ０、ＷＡＰ１…ライトアドレスポート；ＷＣＮＴ１、ＷＣＮＴ２…ライト制御部；ＷＤＰ…ライトデータ；ＷＤＰ０、ＷＤＰ１…ライトデータポート；ＷＥＰ０、ＷＥＰ１…ライトイネーブルポート
【図１】
2015195066.tif 000003
【図２】
2015195066.tif 000004
【図３】
2015195066.tif 000005
【図４】
2015195066.tif 000006
【図５】
2015195066.tif 000007
【図６】
2015195066.tif 000008
【図７】
2015195066.tif 000009
【図８】
2015195066.tif 000010
【図９】
2015195066.tif 000011
【図１０】
2015195066.tif 000012
【図１１】
2015195066.tif 000013
【図１２】
2015195066.tif 000014
【図１３】
2015195066.tif 000015
【図１４】
2015195066.tif 000016
【図１５】
2015195066.tif 000017
【図１６】
2015195066.tif 000018
【図１７】
2015195066.tif 000019
【図１８】
2015195066.tif 000020
【図１９】
2015195066.tif 000021
【図２０】
2015195066.tif 000022
【図２１】
2015195066.tif 000023
【図２２】
2015195066.tif 000024
【図２３】
2015195066.tif 000025
【図２４】
2015195066.tif 000026
【図２５】
2015195066.tif 000027
【図２６】
2015195066.tif 000028
【図２７】
2015195066.tif 000029
【図２８】
2015195066.tif 000030