(57)【要約】【課題】  異なる動作クロックで動作するメモリのテストを行うこと、及び物理的に遠い位置に配置されているメモリテストの際に発生する遅延に対応すること。【解決手段】  本発明におけるメモリテスト回路は、プロセッサコア部用メモリと機能固有コア部用メモリのテストをプロセッサコア部によって実行するメモリテスト回路であって、プロセッサコア部の動作クロックと機能固有コア部の動作クロックを入力し、プロセッサコア部に供給するクロックを切り替えるクロックセレクタと、プロセッサコア部用メモリをテストする場合にはセレクタによりプロセッサコア部に対してプロセッサコア部の動作クロックを、機能固有コア部用メモリをテストする場合には機能固有コア部の動作クロックを供給する制御手段を備えたメモリテスト回路である。このような構成により、動作クロックの異なる機能コア部が利用するメモリのテストが可能となる。【選択図】図１
2006105783.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサコア部用メモリと機能固有コア部用メモリのテストをプロセッサコア部によって実行するメモリテスト回路であって、
前記プロセッサコア部の動作クロックと前記機能固有コア部の動作クロックを入力し、入力した動作クロックから前記プロセッサコア部に供給するクロックを切り替えるクロックセレクタと、
前記プロセッサコア部用メモリをテストする場合には、前記クロックセレクタにより前記プロセッサコア部に対して前記プロセッサコア部の動作クロックを供給し、前記機能固有コア部用メモリをテストする場合には、前記クロックセレクタにより前記プロセッサコア部に対して前記機能固有コア部の動作クロックを供給する制御手段を備えたメモリテスト回路。
【請求項２】
前記メモリテスト回路は、更に、前記プロセッサコア部と前記機能固有コア部用メモリ間のデータの入出力のタイミング制御を行うタイミング補償回路を備えることを特徴とする請求項１記載のメモリテスト回路。
【請求項３】
前記メモリテスト回路は、更に、前記プロセッサコア部に対し、前記プロセッサコア部と前記機能固有コア部間のデータ伝達時間の遅延に応じてウェイト信号を出力するウェイト生成部を備え、前記プロセッサコア部は、当該ウェイト信号に基づき、前記プロセッサコア部と前記固有コア部間のデータ伝達時間の遅延に応じた処理を行うことを特徴とする請求項２記載のメモリテスト回路。
【請求項４】
前記ウェイト生成部は、ウェイト信号を出力するサイクル数を変更できることを特徴とする請求項３記載のメモリテスト回路。
【請求項５】
前記メモリテスト回路は、更に、前記機能固有コア部用メモリに対して制御信号及びデータの入力を、前記機能固有コア部と前記プロセッサコア部の間で選択時に切り替える入力セレクタを備えることを特徴とする請求項１、２、３または４記載のメモリテスト回路。
【請求項６】
前記プロセッサコア部用メモリ及び前記機能固有コア部用メモリは、それぞれ複数のメモリバンクを有し、
前記プロセッサコア部は、テストを行う対象のメモリの有するメモリバンク全てに対して同時にライト及びリードを行う全ライト命令及び全リード命令を実行し、
前記メモリテスト回路は、更に、テストを行う対象のメモリの有するメモリバンク全てからリードしたリードデータと期待値との一致を同時に判定するデータ判定部を備えることを特徴とする請求項１乃至５いずれかに記載のメモリテスト回路。
【請求項７】
前記データ判定部は、前記期待値を格納するレジスタを複数有し、前記プロセッサコア部から入力した期待値レジスタ選択信号により選択したレジスタに応じて期待値を選択することを特徴とする請求項６記載のメモリテスト回路。
【請求項８】
プロセッサコア部用メモリと機能固有コア部用メモリのテストをプロセッサコア部によって実行するメモリテスト方法であって、
前記プロセッサコア部の動作クロックと前記機能固有コア部の動作クロックを入力し、入力した動作クロックからテストを行う対象のメモリに応じて前記プロセッサコア部に供給するクロックを切り替え、
前記プロセッサコア部用メモリをテストする場合には、前記プロセッサコア部に対して前記プロセッサコア部の動作クロックを供給し、
前記機能固有コア部用メモリをテストする場合には、前記プロセッサコア部に対して前記機能固有コア部の動作クロックを供給するメモリテスト方法。
【請求項９】
前記機能固有コア部用メモリをテストする場合には、更に、前記プロセッサコア部と前記機能固有コア部用メモリ間のデータの入出力のタイミング制御を行うことを特徴とする請求項８記載のメモリテスト方法。
【請求項１０】
前記機能固有コア部用メモリをテストする場合には、更に、前記プロセッサコア部が、前記プロセッサコア部と前記機能固有コア部間のデータ伝達時間の遅延に応じてウェイト処理を実行することを特徴とする請求項９記載のメモリテスト方法。
【請求項１１】
前記ウェイト処理では、ウェイトを行うサイクル数が変更可能であることを特徴とする請求項１０記載のメモリテスト方法。
【請求項１２】
前記機能固有コア部用メモリをテストする場合には、更に、前記機能固有コア部用メモリに対して制御信号及びデータの入力を、前記機能固有コア部と前記プロセッサコア部の間で選択時に切り替えることを特徴とする請求項８、９、１０または１１記載のメモリテスト方法。
【請求項１３】
前記プロセッサコア部用メモリ及び前記機能固有コア部用メモリは、複数のメモリバンクを有し、
前記プロセッサコア部は、テストを行う対象のメモリの有するメモリバンク全てに対して同時にライト及びリードを行う全ライト命令及び全リード命令を実行し、
メモリのテストは、テストを行う対象のメモリの有するメモリバンク全てからリードしたリードデータと期待値との一致を同時に判定することにより実行されることを特徴とする請求項８乃至１２いずれかに記載のメモリテスト方法。
【請求項１４】
前記期待値は複数用意されており、前記プロセッサコア部から入力した信号により期待値を入力することを特徴とする請求項１３記載のメモリテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリテスト回路及びメモリテスト方法に関するものであり、より詳細には、複数のメモリテストを行うメモリテスト回路及びメモリテスト方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩは高機能化が進んでおり、それに伴い構造も複雑化している。特に、１つのチップに必要な機能ブロックをまとめて組み込む技術が進んでおり、そのため、より一層の高機能化、複雑化が進んでいる。
【０００３】
ＬＳＩの高機能化に伴い、必要なメモリの容量も増加してきている。この場合、メモリをＬＳＩ外部に設けることも可能であるが、転送時間や物理的サイズを考えると、メモリもＬＳＩ内部に設けることが望ましい。
【０００４】
ところが、内蔵メモリは不良発生率が比較的高く、ＬＳＩの歩留まり率に大きく影響を与える。そのため、確実なメモリの動作テストが要求される。しかし、ＬＳＩの動作速度の高速化やＬＳＩの複雑化に伴い、メモリテスト回路は複雑化し、メモリのテスト方法もステップ数を多く要求されるようになってきている。
【０００５】
そこで、複数のメモリバンクをもつＬＳＩの動作テストをテストのための回路増加を抑え、かつテストステップ数の増加を抑える方法が提案されている（例えば、特許文献１など）。特許文献１のテスト方法では、各バンク内の同一のアドレスに対し同時にデータを書き込む命令を実行し、同時にデータを読み込む命令を実行し、データ判定部において同時に読み出したデータが期待値と一致するかを判定することにより、メモリの正常性の判定を行っている。
【特許文献１】特開２００４−７９０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、異なる動作クロックで動作するメモリのテストは動作クロックが異なるため実動作速度でのテストを行うことができない。また、物理的に遠い位置に配置されているメモリのテストも遅延が発生し、テストを行うことができなかった。そのため、このようなメモリのテストを行う場合、ＢＩＳＴ（Built In Self Test）回路などの専用の回路を用いなければならず、コストのかかるものであった。
【課題を解決するための手段】
【０００７】
本発明におけるメモリテスト回路は、プロセッサコア部用メモリと機能固有コア部用メモリのテストをプロセッサコア部によって実行するメモリテスト回路であって、前記プロセッサコア部の動作クロックと前記機能固有コア部の動作クロックを入力し、入力した動作クロックから前記プロセッサコア部に供給するクロックを切り替えるクロックセレクタと、前記プロセッサコア部用メモリをテストする場合には、前記クロックセレクタにより前記プロセッサコア部に対して前記プロセッサコア部の動作クロックを供給し、前記機能固有コア部用メモリをテストする場合には、前記クロックセレクタにより前記プロセッサコア部に対して前記機能固有コア部の動作クロックを供給する制御手段を備えたメモリテスト回路である。このような構成により、プロセッサコア部は、本来プロセッサコア部が動作する動作クロックと機能固有コア部が動作する動作クロックを切り替えて動作することが可能となる。つまり、プロセッサコア部用メモリは、本来プロセッサコア部が動作する動作クロックにてテストを行うことができ、機能固有コア部用メモリは機能固有コア部が動作する動作クロックにてテストを行うことが可能となる。こうすることにより、プロセッサコア部用メモリ、機能固有コア部用メモリ共に、実際に動作する速度でメモリテストを行うことができ、メモリテストの信頼性を高めることが可能となる。また、従来はＢＩＳＴ回路などの専用の回路を組み込むことにより行っていた機能固有コア部用メモリのテストをプロセッサコア部により行うことができるため、コストの削減を図ることが可能となる。更には、テストプログラムの変更ができるため、回路を組みなおすことなくテスト方法の変更に対応することができる。
【０００８】
本発明におけるメモリテスト方法は、プロセッサコア部用メモリと機能固有コア部用メモリのテストをプロセッサコア部によって実行するメモリテスト方法であって、前記プロセッサコア部の動作クロックと前記機能固有コア部の動作クロックを入力し、入力した動作クロックからテストを行う対象のメモリに応じて前記プロセッサコア部に供給するクロックを切り替え、前記プロセッサコア部用メモリをテストする場合には、前記プロセッサコア部に対して前記プロセッサコア部の動作クロックを供給し、前記機能固有コア部用メモリをテストする場合には、前記プロセッサコア部に対して前記機能固有コア部の動作クロックを供給するメモリテスト方法である。このような構成により、プロセッサコア部は、本来プロセッサコア部が動作する動作クロックと機能固有コア部が動作する動作クロックを切り替えて動作することが可能となる。つまり、プロセッサコア部用メモリは、本来プロセッサコア部が動作する動作クロックにてテストを行うことができ、機能固有コア部用メモリは機能固有コア部が動作する動作クロックにてテストを行うことが可能となる。こうすることにより、プロセッサコア部用メモリ、機能固有コア部用メモリ共に、実際に動作する速度でメモリテストを行うことができ、メモリテストの信頼性を高めることが可能となる。また、従来はＢＩＳＴ回路などの専用の回路を組み込むことにより行っていた機能固有コア部用メモリのテストをプロセッサコア部により行うことができるため、コストの削減を図ることが可能となる。更には、テストプログラムの変更ができるため、回路を組みなおすことなくテスト方法の変更に対応することができる。
【発明の効果】
【０００９】
本発明によれば、異なる動作クロックで動作するメモリのテストを行うことが可能となる。また、物理的に遠い位置に配置されているメモリテストの際に発生する遅延に対応することが可能となる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施の形態におけるメモリテスト回路の全体構成を示す図である。メモリテスト回路１は、プロセッサコア部１０、プロセッサコア部用メモリ１１、機能固有コア部１２、機能固有コア部用メモリ１３、タイミング補償回路１４０〜１４２、ウェイト生成部１５、セレクタ１６０〜１６２、データ判定部１７、トライステートバッファ１８を備える。
【００１１】
プロセッサコア部１０は、メモリテスト回路１における演算処理を行う。プロセッサコア部１０は、プロセッサコア部用メモリ１１と接続されており、動作クロックセレクタ１６０より選択して入力されるクロック周波数により動作する。プロセッサコア部用メモリ１１は、プロセッサコア部１０における演算処理に利用される記憶手段であり、プロセッサコア部１０と接続されている。プロセッサコア部用メモリ１１は、メモリテスト回路１がテストを行うメモリの一つである。プロセッサコア部用メモリ１１は、複数のバンクで構成されており、メモリバンク１１０、メモリバンク１１１、メモリバンク１１２、メモリバンク１１３を有する。
【００１２】
機能固有コア部１２は、特有の機能の実行を行う専用回路である。機能固有コア部１２は、機能固有コア部用メモリ１３と制御信号セレクタセレクタ１６１を介して接続されており、本来の動作時は接続された機能固有コア部用メモリ１３を利用して動作するが、メモリテスト時はプロセッサコア部１０により動作が実行されるため、機能固有コア部１２は動作しない。機能固有コア部用メモリ１３は、機能固有コア部１２における機能の動作に利用される記憶手段であり、制御信号セレクタセレクタ１６１を介して機能固有コア部１２と接続されている。機能固有コア部用メモリ１３は、メモリテスト回路１がテストを行うメモリの一つである。機能固有コア部用メモリ１３は、複数のメモリより構成されており、メモリ１３０、メモリ１３１を有する。
【００１３】
タイミング補償回路１４０〜１４２は、プロセッサコア部１０と機能固有コア部用メモリ１３とのデータの入出力を行うタイミングの調整を行う回路であり、シフトレジスタにより構成されている。タイミング補償回路１４０〜１４２は、メモリテスト回路１内に３箇所に設けられており、それぞれ制御信号用タイミング補償回路１４０、メモリリードデータ用タイミング補償回路１４１、メモリライトデータ用タイミング補償回路１４２である。
【００１４】
ウェイト生成部１５は、ウェイト信号を生成し、プロセッサコア部１０に生成したウェイト信号の出力を行う。ウェイト生成部１５は、プロセッサコア部１０が機能固有コア部用メモリ１３のメモリテストを実行するときのタイミング制御のみに利用される。
【００１５】
セレクタ１６０〜１６２は、２つ以上入力される信号のうち、一つを選択して出力を行う回路である。セレクタ１６０〜１６２は、メモリテスト回路１内に３箇所に設けられており、それぞれ動作クロックセレクタ１６０、制御信号セレクタ１６１、ライトデータセレクタ１６２である。
【００１６】
データ判定部１７は、プロセッサコア部用メモリ１１の各メモリバンクから出力される値及び機能固有コア部用メモリ１３の各メモリから出力される値を入力し、その値が期待値と一致しているかの判定を行う。この判定結果により、メモリの正常性を確認することが可能となる。判定結果はプロセッサコア部１０に出力される。また、判定の結果、メモリが正常でないと判定した場合、データ判定部１７はプロセッサコア部１０に割り込み信号を出力することにより、テストを強制終了させることも可能である。
【００１７】
トライステートバッファ１８はメモリからの出力信号の制御を行うバッファであり、選択されたメモリバンクの出力のみが有効となるように出力信号の制御を行う。つまり、選択されたメモリバンクからの出力信号のみを出力し、それ以外のメモリバンクからは出力を行わないようにする。トライステートバッファ１８はメモリテスト回路１内に７箇所に設けられている。
【００１８】
続いて、メモリテスト回路１におけるメモリテスト時の処理の流れについて説明する。メモリテストの処理はプロセッサコア部１０により実行される。メモリテストのためのプログラムは、メモリテスト回路１内に組み込まれるか、外部から与えられる。
【００１９】
まず、図２に示すフローチャートを用いて、プロセッサコア部用メモリ１１のメモリテストを行う場合について説明する。プロセッサコア部用メモリ１１のメモリテストを行う場合、プロセッサコア部１０は、プロセッサコア部１０が通常動作するときの動作クロックで動作する。このため動作クロックセレクタ１６０は、入力する２つの動作クロックのうち、プロセッサコア部１０が通常動作するときの動作クロックを選択し、プロセッサコア部１０及びプロセッサコア部用メモリ１１の各メモリバンクへ供給する。
【００２０】
メモリテストは、まずメモリにデータの書き込みを行い、その後、メモリからデータの読み出しを行い、読み出した値が期待値と一致するかどうかを確認することにより行われる。本発明の実施の形態では、全バンクのメモリを同時に書き込み、また読み込むことにより、ステップ数及び実行時間を抑えている。以下、その方法について具体的に説明する。
【００２１】
まず、プロセッサコア部１０がプロセッサコア部用メモリ１１のメモリバンク全てについて書き込みを行う全ライト命令を実行する（Ｓ１０１）。このとき、プロセッサコア部１０からプロセッサコア部用メモリ１１に出力される信号は、アドレス信号、バンクセレクト信号、リード・ライト制御信号とメモリ用クロックである。
【００２２】
アドレス信号は各メモリのどのアドレスにリードあるいはライト命令を実行するかを識別する信号であり、メモリ容量に応じてアドレスのビット数が設定される。通常のライト命令の場合は、アドレスによりどのメモリバンクを示すのかがわかるが、全ライト命令の場合は、各メモリバンクに共通するアドレスが出力される。
【００２３】
バンクセレクト信号は、通常のライト命令実行時は書き込みを行うバンクのみを１にして出力するが、全ライト命令の場合は、全バンクを１にした信号が出力される。
【００２４】
リード・ライト制御信号は、各メモリに対してリードを行うかライトを行うかを通知する信号でありそれぞれ０と１に割り当てられる。ライト命令の場合は、ライトを示す値が出力される。
【００２５】
プロセッサコア部１０からプロセッサコア部用メモリ１１に制御信号の出力が終わると、プロセッサコア部１０からプロセッサコア部用メモリ１１の各メモリバンクに対して、書き込みを行う値であるライトデータが出力される。プロセッサコア部用メモリ１１の各メモリバンクは、プロセッサコア部１０からライトデータを入力すると、メモリクロックに同期してライトデータの書き込みを行う。
【００２６】
プロセッサコア部用メモリ１１の各メモリバンクが入力したライトデータの書き込みを完了すると、次に、プロセッサコア部１０がプロセッサコア部用メモリ１１の各メモリバンクから読み込みを行う全リード命令を実行する（Ｓ１０２）。このとき、プロセッサコア部１０からプロセッサコア部用メモリ１１に出力される各信号は、リード・ライト制御信号にリードを示す値が出力される以外は、全ライト命令と同じである。
【００２７】
プロセッサコア部用メモリ１１の各メモリバンクがプロセッサコア部１０からの制御信号を受信すると、プロセッサコア部用メモリ１１の各メモリバンクは、受信した制御信号のうちアドレス信号に該当するアドレスに書き込まれている値であるリードデータの出力を行う。通常のメモリリード命令の場合は、プロセッサコア部１０にリードデータの出力が行われるが、メモリテストのための全リード命令の場合は、プロセッサコア部用メモリ１１の各メモリバンクは、リードデータをデータ判定部１７に対して出力する。テスト内容の変更などにより、プロセッサコア部１０に対してリードデータを出力し、プロセッサコア部１０が入力したリードデータの処理を行う場合もある。
【００２８】
データ判定部１７は、プロセッサコア部用メモリ１１の各メモリバンクからリードデータを入力すると、入力したリードデータと期待値との一致を判定する（Ｓ１０３）。この時の期待値は、予めデータ判定部１７に格納しておく。期待値が複数存在する場合は複数の期待値をデータ判定部１７内のレジスタにそれぞれ格納しておき、プロセッサコア部１０から期待値レジスタ選択信号によりどのレジスタに格納した値を期待値として利用するかを選択する。
【００２９】
判定の結果、入力したリードデータと期待値が一致した場合は（Ｓ１０４）、プロセッサコア部用メモリ１１の各メモリバンクの当該アドレス部分が正常であることを意味する。一致しなかった場合は異常であることを意味する。異常である場合、データ判定部１７は、異常であることを示す信号をプロセッサコア部１０に対して出力を行う（Ｓ１０５）。ここで異常であることを示す信号を強制終了信号としてテストを終了させてもよい。
【００３０】
この作業をプロセッサコア部用メモリ１１の各メモリバンクの全アドレスについて行う（Ｓ１０６）ことにより、プロセッサコア部用メモリ１１のメモリのテストが完了となる。このように全ライト命令、全リード命令を利用して各バンクのメモリテストを同時に行うため、テストステップ数及びテスト時間の短縮化が可能となる。
【００３１】
次に、機能固有コア部用メモリ１３のメモリテストを行う場合について説明する。全ライト命令、全リード命令を利用して各メモリの読み書きを行い、データ判定部１７により判定を行うという概略部分はプロセッサコア部用メモリ１１におけるメモリテストと同様である。しかし、本来機能固有コア部１２の動作に利用する機能固有コア部用メモリ１３をプロセッサコア部１０と接続し動作させるため、クロック周波数が異なることや、機能固有コア部用メモリ１３がプロセッサコア部１０から物理的に遠い位置に配置されているため配線上の理由で遅延が発生するなどの問題があり、そのための対応が必要となる。
【００３２】
機能固有コア部用メモリ１３のメモリテストを行う場合、プロセッサコア部１０は、機能固有コア部１２が動作するときの動作クロックで動作する。こうすることにより、実速度でのメモリテストを行うことができ、テストの信頼性が増す。このため動作クロックセレクタ１６０は、入力する２つの動作クロックのうち、機能固有コア部１２が動作するときの動作クロックを選択し、プロセッサコア部１０及び機能固有コア部用メモリ１３の各メモリへ供給する。
【００３３】
まず、プロセッサコア部１０が機能固有コア部用メモリ１３の各メモリについて書き込みを行う全ライト命令を実行する。このとき、プロセッサコア部１０から機能固有コア部用メモリ１３の各メモリに対して制御信号が出力されるが制御信号は、制御信号用タイミング補償回路１４０及び制御信号セレクタ１６１を介して出力される。
【００３４】
制御信号用タイミング補償回路１４０は、機能固有コア部用メモリ１３がプロセッサコア部１０から物理的に遠い位置に配置されていることによる配線上の理由で発生する遅延に対応するための回路であり、シフトレジスタを用いて制御信号の出力タイミングの調整を行う。
【００３５】
また、制御信号セレクタ１６１は、通常の動作時には機能固有コア部１２から出力される信号を選択し、機能固有コア部用メモリ１３に対して出力するが、機能固有コア部用メモリ１３のメモリテストを行う場合、プロセッサコア部１０から出力される制御信号を選択し、機能固有コア部用メモリ１３に対して出力する。
【００３６】
また、メモリリードデータ及びメモリライトデータの入出力に関しても、それぞれメモリリードデータ用タイミング補償回路１４１、メモリライトデータ用タイミング補償回路１４２により、シフトレジスタを用いて制御信号の出力タイミングの調整を行う。また、メモリライトデータが機能固有コア部用メモリ１３に出力されるときは、ライトデータセレクタ１６２がプロセッサコア部１０からのライトデータを選択し機能固有コア部用メモリ１３に対して出力を行う。
【００３７】
また、リード時に制御信号及びメモリからのデータ出力が遅延する場合、プロセッサコア部１０でのデータ入力のタイミングを遅らせる必要が生じる。そのような場合は、ウェイト生成部１５がウェイト信号を生成し、プロセッサコア部１０へ出力を行う。プロセッサコア部１０は、ウェイト生成部１５からウェイト信号を入力すると、ウェイトをかけることにより、データ入力のタイミングを遅らせる。何サイクルのウェイトをかけるかについては、予め必要なウェイト数を調べておき、ウェイト数に該当するウェイト信号を出力する。
【００３８】
タイミング制御を行う場合の処理の流れについて具体的に説明する。図３は、機能固有コア部用メモリ１３のメモリテストを行うときの処理の流れを示すタイミングチャートである。本発明の実施の形態ではプロセッサコア部１０から機能固有コア部用メモリ１３までの信号伝達時間が１クロックサイクルかかる場合について説明する。
【００３９】
まず、ライト命令が実行された場合について説明する。プロセッサコア部１０から機能固有コア部用メモリ１３に対してアドレス信号及びリード・ライト制御信号が出力される（Ｓ２０１）。このときの制御信号は一度制御信号用タイミング補償回路１４０に入力される。
【００４０】
制御信号用タイミング補償回路１４０は、入力したアドレス信号及びリード・ライト制御信号を予め定められたサイクルだけタイミングを遅らせて機能固有コア部用メモリ１３に対して出力する（Ｓ２０２）。遅らせるサイクル数は、信号の伝達時間によって決定することができる。
【００４１】
制御信号用タイミング補償回路１４０は、図３に示すタイミングで入力したアドレス信号及びリード・ライト制御信号を予め定められたサイクルだけタイミングを遅らせて機能固有コア部用メモリ１３に対して出力する。その後、機能固有コア部用メモリ１３は、アドレス信号及びリード・ライト制御信号をタイミング補償回路１４０から入力する。その後、プロセッサコア部１０から出力されたライトデータ信号を、メモリライトデータ用タイミング補償回路１４２を介して入力する。メモリライトデータ用タイミング補償回路１４２も制御信号用タイミング補償回路１４０と同様にタイミングの制御を行い入力したライトデータ信号を機能固有コア部用メモリ１３に対して出力する。
【００４２】
機能固有コア部用メモリ１３は、プロセッサコア部１０から制御信号用タイミング補償回路１４０及びメモリライトデータ用タイミング補償回路１４２を介してアドレス信号、リード・ライト制御信号及びライトデータ信号を入力すると、リード・ライト制御信号からライト命令であると判断し、アドレス信号の示すアドレスをライトデータ信号の示す値に書き換えを行う。
【００４３】
このように、プロセッサコア部１０を機能固有コア部１２のクロックで動作させ、制御信号用タイミング補償回路１４０及びメモリライトデータ用タイミング補償回路１４２を介して信号の出力タイミングを制御することにより、機能固有コア部用メモリ１３の書き込みを実際に機能固有コア部１２が動作する速度で行うことができる。
【００４４】
続いて、リード命令が実行された場合について説明する。アドレス信号及びリード・ライト制御信号の送信方法についてはライト命令実行時と同様であり、ここでは説明を省略する。
【００４５】
機能固有コア部用メモリ１３は、制御信号用タイミング補償回路１４０を介してアドレス信号及びリード・ライト制御信号を受信すると、リード・ライト制御信号によりリード命令が実行されたと判断し、アドレス信号の示すアドレスに格納された値をデータ判定部１７に対して出力する。
【００４６】
機能固有コア部用メモリ１３から出力されたリードデータ信号は、メモリリードデータ用タイミング補償回路１４１に一度入力される。メモリリードデータ用タイミング補償回路１４１は、制御信号用タイミング補償回路１４０及びメモリライトデータ用タイミング補償回路１４２同様にリードデータ信号をタイミング調整してデータ判定部１７に対して出力する。
【００４７】
データ判定部１７がライトデータ用タイミング補償回路１４２からリードデータ信号を入力した後のテストの処理は、一致比較判定をウェイト解除後に行う以外はプロセッサコア部用メモリ１１のメモリテスト時と同様でありここでは説明を省略する。
【００４８】
本発明におけるメモリテスト回路１では、機能固有コア部用メモリ１３から出力されたリードデータ信号をプロセッサコア部１０にも出力するようになっている。これは、メモリテストのアルゴリズムが変更になった場合に、リードしたメモリ内容をプロセッサコア部１０で利用するためである。このようにすることにより、メモリテスト回路１の設計後に新規に考案されるメモリテストアルゴリズムに対応することが可能となる。プロセッサコア部１０が機能固有コア部用メモリ１３から出力されたリードデータ信号を入力する方法について説明する。
【００４９】
プロセッサコア部１０は、メモリリードデータ用タイミング補償回路１４１からリードデータ信号を入力する。このとき、信号の伝達に遅延が発生している。遅延は出力時に１サイクル、入力時に１サイクルの計２サイクルの遅延が発生している。そのため、プロセッサコア部１０は、メモリリードデータ用タイミング補償回路１４１からのリードデータ信号の入力を２サイクル遅らせる（Ｓ２０３）。
【００５０】
そこで、タイミングを２サイクル遅らせるために、ウェイト生成部１５は、２サイクル分のウェイト信号を生成し、プロセッサコア部１０に対して出力する。この時ウェイトを行うサイクル数は、セレクタまたはプログラムにより変更可能である。プロセッサコア部１０は、ウェイト生成部１５からウェイト信号を入力すると、２サイクルのウェイト処理を行い、その後、メモリリードデータ用タイミング補償回路１４１からリードデータ信号を入力する（Ｓ２０４）。このようにして、データ送達の遅延分ウェイトをかけることにより、プロセッサコア部１０は機能固有コア部用メモリ１３から出力されたリードデータ信号の入力が可能となる。
【００５１】
ウェイト生成部１５について説明する。図４は、ウェイト生成部１５の回路構成例を示す図である。ウェイト生成部１５は、０ウェイト回路１５０、１ウェイト生成回路１５１、２ウェイト生成回路１５２、３ウェイト生成回路１５３を有し、各ウェイト生成回路はセレクタ１５４に接続されている。４ウェイト以上の生成回路が必要な場合は、同様にして並列につなげることにより実現可能である。
【００５２】
ウェイト生成部１５はウェイト数が固定されている場合、予め外部からウェイト数選択信号を入力しておき、入力したウェイト数選択信号に応じてウェイト生成回路を選択する。ウェイト生成部１５は、ウェイト生成回路から入力したウェイト信号をプロセッサコア部１０に対して出力する。
【００５３】
ウェイト生成部１５のウェイト数は、プログラムにより変更可能にすることもできる。即ち、ウェイト生成部１５内にウェイト設定値を格納するためのレジスタ及びカウンタを用意しておき、１サイクルごとにカウンタの値を１増加させる。カウンタの値がレジスタに格納されたウェイト設定値と同じ値になったときに規定のウェイトが完了となり、ウェイトは解除される。その後、カウンタを０クリアすることにより次のウェイトに対応が可能となる。
【００５４】
このようにすることにより、機能固有コア部用メモリ１３のメモリテストをプロセッサコア部１０により行うことが可能となる。この方法によれば、機能固有コア部の利用するメモリのテストを行う際に専用のハードウェアを組み込む必要がないため、コストを削減することが可能である。また、専用のハードウェアを組み込んだ場合は、テスト方法を変更する場合、ハードウェアを作り直さなければならないが、本発明の方法によれば、プログラムを変更することによりテスト方法の変更が可能になり、柔軟なメモリテストを行うことが可能となる。
【図面の簡単な説明】
【００５５】
【図１】本発明におけるメモリテスト回路の構成を示すブロック図である。
【図２】本発明におけるメモリテスト方法の処理の流れを示すフローチャートである。
【図３】本発明におけるメモリテスト方法の処理の流れを示すタイミングチャートである。
【図４】本発明におけるウェイト生成部の構成を示す回路図である。
【符号の説明】
【００５６】
１      メモリテスト回路
１０    プロセッサコア部
１１    プロセッサコア部用メモリ
１２    機能固有コア部
１３    機能固有コア部用メモリ
１５    ウェイト生成部
１７    データ判定部
１８    トライステートバッファ
１１０  メモリバンク
１１１  メモリバンク
１１２  メモリバンク
１１３  メモリバンク
１３０  メモリ
１３１  メモリ
１４０  制御信号用タイミング補償回路
１４１  メモリリードデータ用タイミング補償回路
１４２  メモリライトデータ用タイミング補償回路
１５０  ０ウェイト回路
１５１  １ウェイト生成回路
１５２  ２ウェイト生成回路
１５３  ３ウェイト生成回路
１６０  動作クロックセレクタ
１６１  制御信号セレクタ
１６２  ライトデータセレクタ
【図１】
2006105783.tif 000003
【図２】
2006105783.tif 000004
【図３】
2006105783.tif 000005
【図４】
2006105783.tif 000006