(57)【要約】  本発明のメモリアクセス方法は、テストパターンの切り出し時に、仮想アドレスとして擬似ＳＲＡＭ（２００）のアドレス幅とは別に上位アドレスを用意することにより、擬似ＳＲＡＭ（２００）を内蔵ＣＰＵ（１０１）のアドレス幅分のテスト用メモリとして利用する。そして、実際のアドレス値はメモリ容量分のみであるが、検査時に実アドレス値を超えてメモリにアクセスする場合、該アクセス回数に応じて、実アドレスと仮想アドレスとを区別する。  これにより、最大で内蔵ＣＰＵで使用しているアドレス分まで拡張させることができ、実メモリの使用時のアドレス不足を解消することができる。
2008050701.tif 000002
【特許請求の範囲】
【請求項１】
メモリの同一アドレスに対するアクセス回数に応じて、上記メモリの実アドレスよりも上位のアドレスにアクセス可能とし、上記メモリの使用時に実アドレス不足の解消を可能とした、
ことを特徴とするメモリアクセス方法。
【請求項２】
請求項１に記載のメモリアクセス方法において、
各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、
上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、
上記メモリの実アドレスおよび仮想アドレスのそれぞれに対し、異なるデータの書き込み、あるいは読み出しを行う、
ことを特徴とするメモリアクセス方法。
【請求項３】
請求項１に記載のメモリアクセス方法において、
上記メモリの所定のアドレス領域に検査データを書き込み、該アドレス領域を指定してデータを読み出し、該読み出したデータを上記書き込んだ検査データと一致するかを検査可能である、
ことを特徴とするメモリアクセス方法。
【請求項４】
請求項３に記載のメモリアクセス方法において、
各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、
上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、
上記メモリの仮想アドレスに、上記メモリの実アドレスへの書き込みデータとは異なる第２検査データを書き込み、該仮想メモリアドレスを指定してデータを読み出し、該読み出したデータが上記第２の検査データと一致するかを検査可能である、
ことを特徴とするメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央演算処理装置を用いた、メモリへのアクセス方法に関するものである。
【背景技術】
【０００２】
従来の中央演算処理装置を用いた検査システムについて図４を用いて説明する。【０００３】
図４において、半導体チップ１０は、中央演算処理装置（ＣＰＵ）１１と、バスコントローラユニット（ＢＣＵ）１２とを有し、擬似ＳＲＡＭ（Ｐｓｅｕｄｏ  Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０を用いてアドレステストを行うものである。ここで、ＣＰＵ１１のビット幅は３２ビットとし、擬似ＳＲＡＭ２０のビット幅は１３ビットとする。また、擬似ＳＲＡＭ２０のメモリ容量は８ＫＢとし、擬似ＳＲＡＭ２０の実際のメモリアドレスは、０ｘ００００〜０ｘ１ＦＦＦとする。【０００４】
このような構成の半導体チップ１０を用いた従来の検査システムについて図５を用いて説明する。【０００５】
図５は、擬似ＳＲＡＭ２０のアドレスマップの一例を示す図である。ここでは、擬似ＳＲＡＭのアドレス空間には、アドレス０ｘ００００からアドレス０ｘ１ＦＦＦまでの領域が配置されているものとし、８ビット単位でアドレス検査をする場合を示す。【０００６】
図５の場合、擬似ＳＲＡＭ２０が１３ビット構成であるのに対し、ＣＰＵ１１は３２ビット構成であるため、アドレス不足（オーバーフロー）が起こる。【０００７】
そこで、従来の検査システムでは、ＣＰＵ１１により、擬似ＳＲＡＭ２０の実際のメモリアドレス０ｘ００００〜０ｘ１ＦＦＦを越えてさらに上位のアドレスが指定されると、先頭アドレス０ｘ００００に戻り、オーバーフローした部分を先頭アドレスから順に割り当てることで、アドレス不足を解消している。【０００８】
例えば、０ｘ２０００〜０ｘ３ＦＦＦの範囲のアドレスを指定して検査データを書き込む場合、擬似ＳＲＡＭ２０の実際のアドレスは０ｘ００００〜０ｘ１ＦＦＦであるので、ＢＣＵ１２によって指定アドレス０ｘ２０００〜０ｘ３ＦＦＦが実際のアドレス０ｘ００００〜０ｘ１ＦＦＦに変換されて、検査データの書き込みが行われる。さらに、書き込んだ検査データを読み出すため、アドレス０ｘ２０００〜０ｘ３ＦＦＦが指定されると、該指定アドレスと相対的に同一のアドレス０ｘ００００〜０ｘ１ＦＦＦからデータが読み出される。そして、書き込んだ検査データと、読み出されたデータとが一致しているかどうかを比較し、一致していれば、正常であると判断する。【０００９】
同様に、０ｘ４０００〜０ｘ５ＦＦＦ、０ｘ８０００〜０ｘ９ＦＦＦの範囲のアドレスが指定されたときにも、これらのアドレスと相対的に同一のアドレス０ｘ００００〜０ｘ１ＦＦＦに変換されて、該アドレス領域に対してメモリアクセスが行われ、データの書き込み／読み出しが行われる。【００１０】
このように従来の検査システムでは、アドレス０ｘ２０００、０ｘ４０００、０ｘ８０００はそれぞれ、実際のアドレス０ｘ１ＦＦＦと相対的に同一のアドレスであると認識することで、アドレス不足を解消していた。
【特許文献１】特開昭５７―１６９８６０号公報
【特許文献２】米国特許第５，６９９，５３９号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の検査手法では、以下のような問題が発生する。【００１２】
検査をする場合、検査に必要なデータは、メモリ内に格納されているが、実際に使うメモリの容量は、実動作で使用する必要最低限のメモリしか搭載されていないため、該メモリ容量に応じてメモリに格納可能なデータ量が限られ、メモリ容量を越えるような検査データをメモリに格納することができなかった。【００１３】
また、図５の場合、検査データＡを用いて検査をするときは、検査データＡを０ｘ００００〜０ｘ１ＦＦＦの領域に書き込んで検査を行うことができるが、他の検査データＢを用いて検査したいときには、アドレス０ｘ００００〜０ｘ１ＦＦＦの領域に書き込まれた検査データＡを、検査データＢに入れ換える作業が必要となる。【００１４】
このような問題を解決するため、検査に必要なデータ量がメモリの容量を超えたとき、メモリの総容量を増やすことにより、検査に必要なデータ領域を確保する方法が提案されている。しかし、いろいろな検査を実行しようすると、検査データを格納するメモリの容量も大きくなり、検査コストの増加につながる。【００１５】
本発明は、上記従来の問題点を解消するためになされたものであり、実メモリの使用時にアドレス不足の解消を可能とするメモリアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明の請求項１に係るメモリアクセス方法では、メモリの同一アドレスに対するアクセス回数に応じて、上記メモリの実アドレスよりも上位のアドレスにアクセス可能とし、上記メモリの使用時に実アドレス不足の解消を可能としたことを特徴とする。【００１７】
これにより、アドレス線の本数で限界となるメモリ容量を超えてアクセス可能とし、メモリ容量不足を解消することができる。【００１８】
また、本発明の請求項２に係るメモリアクセス方法では、請求項１に記載のメモリアクセス方法において、各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、上記メモリの実アドレスおよび仮想アドレスのそれぞれに対し、異なるデータの書き込み、あるいは読み出しを行うことを特徴とする。【００１９】
これにより、メモリを、メモリマスタのビット幅分のメモリとして利用することができる。【００２０】
また、本発明の請求項３に係るメモリアクセス方法は、請求項１に記載のメモリアクセス方法において、上記メモリの所定のアドレス領域に検査データを書き込み、該アドレス領域を指定してデータを読み出し、該読み出したデータを上記書き込んだ検査データと一致するかを検査可能であることを特徴とする。【００２１】
これにより、アドレス線の本数で限界となるメモリ容量を超えてアクセス可能とし、メモリ容量不足を解消することができる。【００２２】
また、本発明の請求項４に係るメモリアクセス方法は請求項３に記載のメモリアクセス方法において、各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、上記メモリの仮想アドレスに、上記メモリの実アドレスへの書き込みデータとは異なる第２検査データを書き込み、該仮想メモリアドレスを指定してデータを読み出し、該読み出したデータが上記第２の検査データと一致するかを検査可能であることを特徴とする。【００２３】
これにより、メモリを、例えば内蔵ＣＰＵのビット幅分メモリとして利用可能となり、実メモリアドレスと仮想アドレスに異なるデータを格納することができる。
【発明の効果】
【００２４】
本発明のメモリアクセス方法によれば、検査パターンとして切り出すときに、擬似アドレスへ本来のビット幅とは別に上位ビットを仮想することで、最大で内蔵ＣＰＵで使用しているアドレス分まで拡張させることができ、実メモリの使用時のアドレス不足を解消することができる。【００２５】
本発明によれば、メモリの実アドレスと仮想アドレスとを、メモリへのアクセス回数に応じて識別するようにしたので、実アドレスと仮想アドレスに異なるデータを書き込むことが可能となる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施の形態１による半導体チップとメモリの構成を示す図である。
【図２】図２は、上記実施の形態１のメモリマップを示す図である。
【図３】図３は、上記実施の形態１によるメモリアクセス方法を説明するための図である。
【図４】図４は、従来の半導体チップとメモリの構成を示す図である。
【図５】図５は、従来の擬似メモリマップを示す図である。
【符号の説明】
【００２７】
１０  半導体チップ
１１  ＣＰＵ
１２  ＢＣＵ
２０  擬似ＳＲＡＭ
１００  半導体チップ
１０１  ＣＰＵ
１０２  ＢＣＵ
２００  擬似ＳＲＡＭ
【発明を実施するための最良の形態】
【００２８】
（実施の形態１）
図１は、本発明の実施の形態１のメモリアクセスシステムの概略構成図を示す。【００２９】
図１において、半導体チップ１００は、ＣＰＵ（中央演算処理装置）１０１と、ＢＣＵ（バスコントローラユニット）１０２とを備え、擬似ＳＲＡＭ（Ｐｓｅｕｄｏ  Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００を利用してアドレステストを行う。【００３０】
ＣＰＵ１０１は、各種命令をクロックに同期させて出力するメモリマスタである。本実施の形態では、ＣＰＵ１０１として、３２ビット幅のＣＰＵを用いているが、特に性能や種類に限定されず、一般的なＣＰＵを用いることができる。【００３１】
ＢＣＵ１０２は、ＣＰＵ１０１と擬似ＳＲＡＭ２００との間を制御し、ＣＰＵ１０１からの制御に基づき、擬似ＳＲＡＭ２００へのデータ書き込み/読み出しを行う。【００３２】
擬似ＳＲＡＭ２００は、ＣＰＵで使用するアドレスと１対１に対応するアドレスを有する。本実施の形態では、擬似ＳＲＡＭ２００のメモリ容量は８ＫＢであり、ビット幅は１３ビットである。【００３３】
図２に、擬似ＳＲＡＭ２００のアドレス空間を示す。【００３４】
メモリアドレス値０ｘ００００〜０ｘ１ＦＦＦは、実際のアドレス値であり、メモリアドレス値０ｘ２０００〜０ｘ９ＦＦＦは拡張されたアドレス値である。【００３５】
ここで、擬似ＳＲＡＭのアドレス拡張について説明する。【００３６】
通常、ＣＰＵが擬似ＳＲＡＭの上位ビットを指定した場合は、図５のようにメモリのオーバーフローした部分はミラーリングされている。本発明では、この点を利用して、検査パターン切り出し時に上位ビットを用意する。つまり、ＰＣテスタに検査パターンを作る際に、実際には存在しない上位ビットを加えて、仮想でメモリ容量を増やす。そして、動作タイミングの違いにより、すなわち、メモリへのアクセス回数により、アドレス値０ｘ００００と、オーバーフローしたアドレス値０ｘ２０００の区別が可能であるため、検査時では、ＣＰＵのビット幅分メモリとして利用することができる。【００３７】
以下、本実施の形態１によるメモリアクセス方法について図３を用いて詳細に説明する。【００３８】
図３において、（ａ）はクロック、（ｂ）はアドレス、（ｃ）はデータ、（ｄ）は実動作アドレス、（ｅ）は実動作データ、（ｆ）はテストアドレス、（ｇ）はテストデータを示している。【００３９】
まず、検査時のアドレス拡張について説明する。【００４０】
本実施の形態では、擬似ＳＲＡＭ２００のビット幅は１３ビットであり、アドレスは０ｘ００００〜０ｘ１ＦＦＦであるが、ＣＰＵ１０１のビット幅は、３２ビットであるため、メモリの使用時のアドレス不足が起こる。【００４１】
そこで、アドレス不足を解消するため、図２に示すように、メモリ容量以上の上位ビット、ここでは、ＡＤ［１３］、ＡＤ［１４］、ＡＤ［１５］を用意（仮想）する。【００４２】
このようにしてアドレス拡張をした後、ＣＰＵ１０１は、図３（ｂ）に示すようなアドレスを指定して、図３（ｃ）のようなデータを擬似ＳＲＡＭ２００に書き込む。例えば、アドレス０ｘ００００にはデータ０ｘ５５を書き込み、アドレス０ｘ０８００にはデータ０ｘａａを書き込み、アドレス０ｘ１０００にはデータ０ｘ７７を書き込み、アドレス０ｘ１ＦＦＦにはデータ０ｘＦＦを書き込み、アドレス０ｘ２０００にはデータ０ｘ００を書き込む。【００４３】
次に、実動作時に、図３（ｄ）に示すアドレスを指定した場合のメモリアクセス方法について説明する。【００４４】
指定アドレスが０ｘ００００の場合、書き込みデータと同じデータ０ｘ５５が読み出される。同様に、指定アドレスが０ｘ１ＦＦＦまでの実アドレスの場合は、書き込みデータと同じデータが読み出される。【００４５】
しかし、実動作では、メモリの１３ビット以上の上位アドレスはミラーリングされており、０ｘ００００と０ｘ２０００が同一のものと認識されるため、指定アドレスが仮想アドレス０ｘ２０００の場合は、アドレス０ｘ０００時の書き込みデータであるデータ０ｘ５５が読み出される。同様に、他の仮想アドレスの場合にも、対応する実アドレスに書き込まれたデータが読み出されることになる。【００４６】
次に、検査時に、クロックに同期するテスタで動作させるためのテストデータをパターンとして切り出す場合について説明する。【００４７】
図３（ｆ）に示すアドレスを指定すると、指定アドレスが０ｘ００００の場合、書き込みデータと同じデータ０ｘ５５が読み出される。同様に、指定アドレスが０ｘ１ＦＦＦまでの実アドレスの場合は、書き込みデータと同じデータが読み出される。さらに、実アドレス０ｘ１ＦＦＦよりも上位のアドレス０ｘ２０００を指定した場合、検査時には擬似ＳＲＡＭ２００へのアクセス回数に応じて実アドレスと仮想アドレスとを区別できるため、書き込みデータと同じデータ０ｘ００が読みだされる。【００４８】
以上のように、実動作時には、メモリの実アドレスが０ｘ００００〜０ｘ１ＦＦＦであるため、アドレス０ｘ２０００はアドレス０ｘ００００と同じであると認識されるが、検査時には、擬似ＳＲＡＭ２００へのアクセス回数に応じて、アドレス０ｘ２０００と０ｘ００００は区別することができるため、擬似ＳＲＡＭ２００を、ＣＰＵ１０１で使用しているアドレス幅分、ここでは、３２ビット幅のテスト用メモリとして利用可能となる。【００４９】
なお、実際の動作ではクロック同期で行うテスタのテストパターンは不要であるため、実メモリでは上位ビットが不要となる。【００５０】
結果として、図１のように、ＣＰＵ１０１の１４ビット目以降の動作タイミングの違いに応じて、つまり、擬似ＳＲＡＭ２００へのアクセス回数に応じて、仮想アドレスと実アドレスとを区別する。例えば、検査時のみ、仮想アドレス０ｘ２０００、０ｘ４０００、０ｘ８０００と、これらのアドレスと相対的に同一の実アドレス０ｘ００００とが異なるアドレスであると認識させることができ、アドレス０ｘ２０００からは検査データＢを、アドレス０ｘ４０００からは検査データＣを、アドレス０ｘ８０００からは検査データＤを読み出すことができる。【００５１】
このように、本実施の形態１のメモリアクセス方法によれば、図２のように、メモリ領域としては同じアドレスであっても、上位ビットを付加（仮想）することで、０ｘ００００、０ｘ２０００において異なるデータを読み出すことが出来て、限られたメモリ領域に縛られることなく、テストに必要なデータを置くことが可能である。そのため、従来のように検査データを入れ替えることなく、拡張したアドレス領域にも異なる検査データを格納し、複数の検査パターンを実行することができる。また、実アドレスを越えてメモリアクセスをする場合、テスト時には動作タイミングの違いにより、実アドレスと該実アドレスよりも上位のアドレスとの区別が可能であるため、メモリのアドレス幅は、テスト動作を気にすることなく実際の動作に必要なアドレスのみ用意すれば良く、実チップ上でテスト専用の端子を追加する必要がなくなり、実チップとしての端子数の削減にもつながる。
【産業上の利用可能性】
【００５２】
本発明のメモリアクセス方法によれば、検査のために実メモリのアドレスを増加させる必要がなく、端子の削減を行うことに有効である。
【図１】
2008050701.tif 000003
【図２】
2008050701.tif 000004
【図３】
2008050701.tif 000005
【図４】
2008050701.tif 000006
【図５】
2008050701.tif 000007
【手続補正書】
【提出日】平成20年4月30日(2008.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリの同一アドレスに対するアクセス回数に応じて、上記メモリの実アドレスよりも上位のアドレスにアクセス可能とし、上記メモリの使用時に実アドレス不足の解消を可能とした、
ことを特徴とするメモリアクセス方法。
【請求項２】
請求項１に記載のメモリアクセス方法において、
各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、
上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、
上記メモリの実アドレスおよび仮想アドレスのそれぞれに対し、異なるデータの書き込み、あるいは読み出しを行う、
ことを特徴とするメモリアクセス方法。
【請求項３】
請求項１に記載のメモリアクセス方法において、
上記メモリの所定のアドレス領域に検査データを書き込み、該アドレス領域を指定してデータを読み出し、該読み出したデータを上記書き込んだ検査データと一致するかを検査可能である、
ことを特徴とするメモリアクセス方法。
【請求項４】
請求項３に記載のメモリアクセス方法において、
各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、
上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、
上記メモリの仮想アドレスに、上記メモリの実アドレスへの書き込みデータとは異なる第２検査データを書き込み、該仮想メモリアドレスを指定してデータを読み出し、該読み出したデータが上記第２の検査データと一致するかを検査可能である、
ことを特徴とするメモリアクセス方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央演算処理装置を用いた、メモリへのアクセス方法に関するものである。
【背景技術】
【０００２】
従来の中央演算処理装置を用いた検査システムについて図４を用いて説明する。
【０００３】
図４において、半導体チップ１０は、中央演算処理装置（ＣＰＵ）１１と、バスコントローラユニット（ＢＣＵ）１２とを有し、擬似ＳＲＡＭ（Ｐｓｅｕｄｏ  Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０を用いてアドレステストを行うものである。ここで、ＣＰＵ１１のビット幅は３２ビットとし、擬似ＳＲＡＭ２０のビット幅は１３ビットとする。また、擬似ＳＲＡＭ２０のメモリ容量は８ＫＢとし、擬似ＳＲＡＭ２０の実際のメモリアドレスは、０ｘ００００〜０ｘ１ＦＦＦとする。
【０００４】
このような構成の半導体チップ１０を用いた従来の検査システムについて図５を用いて説明する。
【０００５】
図５は、擬似ＳＲＡＭ２０のアドレスマップの一例を示す図である。ここでは、擬似ＳＲＡＭのアドレス空間には、アドレス０ｘ００００からアドレス０ｘ１ＦＦＦまでの領域が配置されているものとし、８ビット単位でアドレス検査をする場合を示す。
【０００６】
図５の場合、擬似ＳＲＡＭ２０が１３ビット構成であるのに対し、ＣＰＵ１１は３２ビット構成であるため、アドレス不足（オーバーフロー）が起こる。
【０００７】
そこで、従来の検査システムでは、ＣＰＵ１１により、擬似ＳＲＡＭ２０の実際のメモリアドレス０ｘ００００〜０ｘ１ＦＦＦを越えてさらに上位のアドレスが指定されると、先頭アドレス０ｘ００００に戻り、オーバーフローした部分を先頭アドレスから順に割り当てることで、アドレス不足を解消している。
【０００８】
例えば、０ｘ２０００〜０ｘ３ＦＦＦの範囲のアドレスを指定して検査データを書き込む場合、擬似ＳＲＡＭ２０の実際のアドレスは０ｘ００００〜０ｘ１ＦＦＦであるので、ＢＣＵ１２によって指定アドレス０ｘ２０００〜０ｘ３ＦＦＦが実際のアドレス０ｘ００００〜０ｘ１ＦＦＦに変換されて、検査データの書き込みが行われる。さらに、書き込んだ検査データを読み出すため、アドレス０ｘ２０００〜０ｘ３ＦＦＦが指定されると、該指定アドレスと相対的に同一のアドレス０ｘ００００〜０ｘ１ＦＦＦからデータが読み出される。そして、書き込んだ検査データと、読み出されたデータとが一致しているかどうかを比較し、一致していれば、正常であると判断する。
【０００９】
同様に、０ｘ４０００〜０ｘ５ＦＦＦ、０ｘ８０００〜０ｘ９ＦＦＦの範囲のアドレスが指定されたときにも、これらのアドレスと相対的に同一のアドレス０ｘ００００〜０ｘ１ＦＦＦに変換されて、該アドレス領域に対してメモリアクセスが行われ、データの書き込み／読み出しが行われる。
【００１０】
このように従来の検査システムでは、アドレス０ｘ２０００、０ｘ４０００、０ｘ８０００はそれぞれ、実際のアドレス０ｘ１ＦＦＦと相対的に同一のアドレスであると認識することで、アドレス不足を解消していた。
【特許文献１】特開昭５７―１６９８６０号公報
【特許文献２】米国特許第５，６９９，５３９号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の検査手法では、以下のような問題が発生する。
【００１２】
検査をする場合、検査に必要なデータは、メモリ内に格納されているが、実際に使うメモリの容量は、実動作で使用する必要最低限のメモリしか搭載されていないため、該メモリ容量に応じてメモリに格納可能なデータ量が限られ、メモリ容量を越えるような検査データをメモリに格納することができなかった。
【００１３】
また、図５の場合、検査データＡを用いて検査をするときは、検査データＡを０ｘ００００〜０ｘ１ＦＦＦの領域に書き込んで検査を行うことができるが、他の検査データＢを用いて検査したいときには、アドレス０ｘ００００〜０ｘ１ＦＦＦの領域に書き込まれた検査データＡを、検査データＢに入れ換える作業が必要となる。
【００１４】
このような問題を解決するため、検査に必要なデータ量がメモリの容量を超えたとき、メモリの総容量を増やすことにより、検査に必要なデータ領域を確保する方法が提案されている。しかし、いろいろな検査を実行しようすると、検査データを格納するメモリの容量も大きくなり、検査コストの増加につながる。
【００１５】
本発明は、上記従来の問題点を解消するためになされたものであり、実メモリの使用時にアドレス不足の解消を可能とするメモリアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明の請求項１に係るメモリアクセス方法では、メモリの同一アドレスに対するアクセス回数に応じて、上記メモリの実アドレスよりも上位のアドレスにアクセス可能とし、上記メモリの使用時に実アドレス不足の解消を可能としたことを特徴とする。
【００１７】
これにより、アドレス線の本数で限界となるメモリ容量を超えてアクセス可能とし、メモリ容量不足を解消することができる。
【００１８】
また、本発明の請求項２に係るメモリアクセス方法では、請求項１に記載のメモリアクセス方法において、各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、上記メモリの実アドレスおよび仮想アドレスのそれぞれに対し、異なるデータの書き込み、あるいは読み出しを行うことを特徴とする。
【００１９】
これにより、メモリを、メモリマスタのビット幅分のメモリとして利用することができる。
【００２０】
また、本発明の請求項３に係るメモリアクセス方法は、請求項１に記載のメモリアクセス方法において、上記メモリの所定のアドレス領域に検査データを書き込み、該アドレス領域を指定してデータを読み出し、該読み出したデータを上記書き込んだ検査データと一致するかを検査可能であることを特徴とする。
【００２１】
これにより、アドレス線の本数で限界となるメモリ容量を超えてアクセス可能とし、メモリ容量不足を解消することができる。
【００２２】
また、本発明の請求項４に係るメモリアクセス方法は請求項３に記載のメモリアクセス方法において、各種命令を出力するメモリマスタを用いて、上記メモリの上位アドレスを仮想し、上記メモリへのアクセス回数に応じて、上記メモリの実アドレスと仮想アドレスを識別し、上記メモリの仮想アドレスに、上記メモリの実アドレスへの書き込みデータとは異なる第２検査データを書き込み、該仮想メモリアドレスを指定してデータを読み出し、該読み出したデータが上記第２の検査データと一致するかを検査可能であることを特徴とする。
【００２３】
これにより、メモリを、例えば内蔵ＣＰＵのビット幅分メモリとして利用可能となり、実メモリアドレスと仮想アドレスに異なるデータを格納することができる。
【発明の効果】
【００２４】
本発明のメモリアクセス方法によれば、検査パターンとして切り出すときに、擬似アドレスへ本来のビット幅とは別に上位ビットを仮想することで、最大で内蔵ＣＰＵで使用しているアドレス分まで拡張させることができ、実メモリの使用時のアドレス不足を解消することができる。
【００２５】
本発明によれば、メモリの実アドレスと仮想アドレスとを、メモリへのアクセス回数に応じて識別するようにしたので、実アドレスと仮想アドレスに異なるデータを書き込むことが可能となる。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
図１は、本発明の実施の形態１のメモリアクセスシステムの概略構成図を示す。
【００２７】
図１において、半導体チップ１００は、ＣＰＵ（中央演算処理装置）１０１と、ＢＣＵ（バスコントローラユニット）１０２とを備え、擬似ＳＲＡＭ（Ｐｓｅｕｄｏ  Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００を利用してアドレステストを行う。
【００２８】
ＣＰＵ１０１は、各種命令をクロックに同期させて出力するメモリマスタである。本実施の形態では、ＣＰＵ１０１として、３２ビット幅のＣＰＵを用いているが、特に性能や種類に限定されず、一般的なＣＰＵを用いることができる。
【００２９】
ＢＣＵ１０２は、ＣＰＵ１０１と擬似ＳＲＡＭ２００との間を制御し、ＣＰＵ１０１からの制御に基づき、擬似ＳＲＡＭ２００へのデータ書き込み/読み出しを行う。
【００３０】
擬似ＳＲＡＭ２００は、ＣＰＵで使用するアドレスと１対１に対応するアドレスを有する。本実施の形態では、擬似ＳＲＡＭ２００のメモリ容量は８ＫＢであり、ビット幅は１３ビットである。
【００３１】
図２に、擬似ＳＲＡＭ２００のアドレス空間を示す。
【００３２】
メモリアドレス値０ｘ００００〜０ｘ１ＦＦＦは、実際のアドレス値であり、メモリアドレス値０ｘ２０００〜０ｘ９ＦＦＦは拡張されたアドレス値である。
【００３３】
ここで、擬似ＳＲＡＭのアドレス拡張について説明する。
【００３４】
通常、ＣＰＵが擬似ＳＲＡＭの上位ビットを指定した場合は、図５のようにメモリのオーバーフローした部分はミラーリングされている。本発明では、この点を利用して、検査パターン切り出し時に上位ビットを用意する。つまり、ＰＣテスタに検査パターンを作る際に、実際には存在しない上位ビットを加えて、仮想でメモリ容量を増やす。そして、動作タイミングの違いにより、すなわち、メモリへのアクセス回数により、アドレス値０ｘ００００と、オーバーフローしたアドレス値０ｘ２０００の区別が可能であるため、検査時では、ＣＰＵのビット幅分メモリとして利用することができる。
【００３５】
以下、本実施の形態１によるメモリアクセス方法について図３を用いて詳細に説明する。
【００３６】
図３において、（ａ）はクロック、（ｂ）はアドレス、（ｃ）はデータ、（ｄ）は実動作アドレス、（ｅ）は実動作データ、（ｆ）はテストアドレス、（ｇ）はテストデータを示している。
【００３７】
まず、検査時のアドレス拡張について説明する。
【００３８】
本実施の形態では、擬似ＳＲＡＭ２００のビット幅は１３ビットであり、アドレスは０ｘ００００〜０ｘ１ＦＦＦであるが、ＣＰＵ１０１のビット幅は、３２ビットであるため、メモリの使用時のアドレス不足が起こる。
【００３９】
そこで、アドレス不足を解消するため、図２に示すように、メモリ容量以上の上位ビット、ここでは、ＡＤ［１３］、ＡＤ［１４］、ＡＤ［１５］を用意（仮想）する。
【００４０】
このようにしてアドレス拡張をした後、ＣＰＵ１０１は、図３（ｂ）に示すようなアドレスを指定して、図３（ｃ）のようなデータを擬似ＳＲＡＭ２００に書き込む。例えば、アドレス０ｘ００００にはデータ０ｘ５５を書き込み、アドレス０ｘ０８００にはデータ０ｘａａを書き込み、アドレス０ｘ１０００にはデータ０ｘ７７を書き込み、アドレス０ｘ１ＦＦＦにはデータ０ｘＦＦを書き込み、アドレス０ｘ２０００にはデータ０ｘ００を書き込む。
【００４１】
次に、実動作時に、図３（ｄ）に示すアドレスを指定した場合のメモリアクセス方法について説明する。
【００４２】
指定アドレスが０ｘ００００の場合、書き込みデータと同じデータ０ｘ５５が読み出される。同様に、指定アドレスが０ｘ１ＦＦＦまでの実アドレスの場合は、書き込みデータと同じデータが読み出される。
【００４３】
しかし、実動作では、メモリの１３ビット以上の上位アドレスはミラーリングされており、０ｘ００００と０ｘ２０００が同一のものと認識されるため、指定アドレスが仮想アドレス０ｘ２０００の場合は、アドレス０ｘ０００時の書き込みデータであるデータ０ｘ５５が読み出される。同様に、他の仮想アドレスの場合にも、対応する実アドレスに書き込まれたデータが読み出されることになる。
【００４４】
次に、検査時に、クロックに同期するテスタで動作させるためのテストデータをパターンとして切り出す場合について説明する。
【００４５】
図３（ｆ）に示すアドレスを指定すると、指定アドレスが０ｘ００００の場合、書き込みデータと同じデータ０ｘ５５が読み出される。同様に、指定アドレスが０ｘ１ＦＦＦまでの実アドレスの場合は、書き込みデータと同じデータが読み出される。さらに、実アドレス０ｘ１ＦＦＦよりも上位のアドレス０ｘ２０００を指定した場合、検査時には擬似ＳＲＡＭ２００へのアクセス回数に応じて実アドレスと仮想アドレスとを区別できるため、書き込みデータと同じデータ０ｘ００が読みだされる。
【００４６】
以上のように、実動作時には、メモリの実アドレスが０ｘ００００〜０ｘ１ＦＦＦであるため、アドレス０ｘ２０００はアドレス０ｘ００００と同じであると認識されるが、検査時には、擬似ＳＲＡＭ２００へのアクセス回数に応じて、アドレス０ｘ２０００と０ｘ００００は区別することができるため、擬似ＳＲＡＭ２００を、ＣＰＵ１０１で使用しているアドレス幅分、ここでは、３２ビット幅のテスト用メモリとして利用可能となる。
【００４７】
なお、実際の動作ではクロック同期で行うテスタのテストパターンは不要であるため、実メモリでは上位ビットが不要となる。
【００４８】
結果として、図１のように、ＣＰＵ１０１の１４ビット目以降の動作タイミングの違いに応じて、つまり、擬似ＳＲＡＭ２００へのアクセス回数に応じて、仮想アドレスと実アドレスとを区別する。例えば、検査時のみ、仮想アドレス０ｘ２０００、０ｘ４０００、０ｘ８０００と、これらのアドレスと相対的に同一の実アドレス０ｘ００００とが異なるアドレスであると認識させることができ、アドレス０ｘ２０００からは検査データＢを、アドレス０ｘ４０００からは検査データＣを、アドレス０ｘ８０００からは検査データＤを読み出すことができる。
【００４９】
このように、本実施の形態１のメモリアクセス方法によれば、図２のように、メモリ領域としては同じアドレスであっても、上位ビットを付加（仮想）することで、０ｘ００００、０ｘ２０００において異なるデータを読み出すことが出来て、限られたメモリ領域に縛られることなく、テストに必要なデータを置くことが可能である。そのため、従来のように検査データを入れ替えることなく、拡張したアドレス領域にも異なる検査データを格納し、複数の検査パターンを実行することができる。また、実アドレスを越えてメモリアクセスをする場合、テスト時には動作タイミングの違いにより、実アドレスと該実アドレスよりも上位のアドレスとの区別が可能であるため、メモリのアドレス幅は、テスト動作を気にすることなく実際の動作に必要なアドレスのみ用意すれば良く、実チップ上でテスト専用の端子を追加する必要がなくなり、実チップとしての端子数の削減にもつながる。
【産業上の利用可能性】
【００５０】
本発明のメモリアクセス方法によれば、検査のために実メモリのアドレスを増加させる必要がなく、端子の削減を行うことに有効である。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明の実施の形態１による半導体チップとメモリの構成を示す図である。
【図２】図２は、上記実施の形態１のメモリマップを示す図である。
【図３】図３は、上記実施の形態１によるメモリアクセス方法を説明するための図である。
【図４】図４は、従来の半導体チップとメモリの構成を示す図である。
【図５】図５は、従来の擬似メモリマップを示す図である。
【符号の説明】
【００５２】
１０  半導体チップ
１１  ＣＰＵ
１２  ＢＣＵ
２０  擬似ＳＲＡＭ
１００  半導体チップ
１０１  ＣＰＵ
１０２  ＢＣＵ
２００  擬似ＳＲＡＭ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008050701.tif 000008
【図２】
2008050701.tif 000009
【図３】
2008050701.tif 000010
【図４】
2008050701.tif 000011
【図５】
2008050701.tif 000012
【国際調査報告】
2008050701.tif 000013
2008050701.tif 000014