(57)【要約】【課題】メモリアクセス検証の際に、検証プログラムでの実行時間コストの削減を図るとともに、メモリアクセス検証を速やかに行うこと。【解決手段】検証シミュレーション環境下で検証プログラム２１により検証データを生成し、検証データを書込みデータとして、メモリに対しデータ書込みを行うデータ書込みステップと、非検証シミュレーション環境下でメモリへの書込みデータに対する評価データを、リファレンス・データ生成プログラム２２により生成する評価データ生成ステップと、同じく、非検証シミュレーション環境下でメモリ・イメージ（書込みデータ）２３とリファレンス・データ（評価データ）２４とを処理２−９で比較するデータ比較ステップとにより、メモリアクセスの検証を行うようにした。【選択図】          図２
2004334374.tif 000002
【特許請求の範囲】
【請求項１】
検証シミュレーション環境下で検証プログラムにより検証データを生成した上、該検証データを書込みデータとして、メモリに対しデータ書込みを行うデータ書込み装置と、
非検証シミュレーション環境下で上記メモリへの書込みデータに対する評価データを生成する評価データ生成装置と、
非検証シミュレーション環境下で上記書込みデータと評価データとを比較するデータ比較装置と
を含むメモリアクセス検証システム。
【請求項２】
請求項１記載のメモリアクセス検証システムにおいて、
上記評価データ生成装置及びデータ比較装置は評価データ生成・比較装置として構成された上、上記データ書込み装置でデータ書込みが行われる度に、上記評価データ生成・比較装置では、評価データが生成された上、上記メモリから読込まれた書込みデータと比較されるメモリアクセス検証システム。
【請求項３】
請求項１記載のメモリアクセス検証システムにおいて、
上記データ書込み装置での一連のデータ書込み終了に伴い、メモリ・イメージとしてファイルに書出しされる書込みデータと、評価データ生成装置での一連の評価データ生成終了に伴い、リファレンス・データとしてファイルに書出しされる評価データとは、上記データ比較装置で対応するデータ同士が比較されるメモリアクセス検証システム。
【請求項４】
検証シミュレーション環境下で検証プログラムにより検証データを生成した上、該検証データを書込みデータとして、メモリに対しデータ書込みを行うデータ書込みステップと、
非検証シミュレーション環境下で上記メモリへの書込みデータに対する評価データを生成する評価データ生成ステップと、
非検証シミュレーション環境下で上記書込みデータと評価データとを比較するデータ比較ステップと
を含むメモリアクセス検証方法。
【請求項５】
請求項４記載のメモリアクセス検証方法において、
上記評価データ生成ステップ及びデータ比較ステップは評価データ生成・比較ステップとして構成された上、上記データ書込みステップでデータ書込みが行われる度に、上記評価データ生成・比較ステップでは、評価データが生成された上、上記メモリから読込まれた書込みデータと比較されるメモリアクセス検証方法。
【請求項６】
請求項４記載のメモリアクセス検証方法において、
上記各ステップに加え、
上記データ書込みステップでの一連のデータ書込み終了に伴い、書込みデータをメモリ・イメージとしてファイルに書出す書込みデータ書出しステップと、
上記評価データ生成ステップでの一連の評価データ生成終了に伴い、評価データをリファレンス・データとしてファイルに書出す評価データ書出しステップとが設けられ、
上記データ比較ステップでは、上記ファイルそれぞれにおける、対応するデータ同士が比較されるメモリアクセス検証方法。
【請求項７】
検証シミュレーション環境下にあるデータ書込み装置で検証プログラムにより検証データを生成した上、該検証データを書込みデータとして、メモリに対しデータ書込みが行われる度に、非検証シミュレーション環境下にある評価データ生成・比較装置では、書込みデータに対する評価データが生成された上、上記メモリから読込まれた書込みデータと比較されるべく、上記評価データ生成・比較装置上で実行されるメモリアクセス検証用プログラムであって、
メモリに対するデータ書込みの有無を監視するデータ書込み監視ステップと、
該データ書込み監視ステップでの監視結果として、データ書込みがあった場合に、書込みデータに対する評価データを生成する評価データ生成ステップと、
上記メモリから書込みデータを読込むデータ読込みステップと、
上記評価データ生成ステップで生成された評価データと、上記データ読込みステップで読込まれた書込みデータとを比較するデータ比較ステップと
を含むメモリアクセス検証用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリアクセスの検証を行う際での、メモリへのライト／リードに関しての時間的コストが改善可能とされたメモリアクセス検証システム及び方法、更には、メモリアクセスの検証を行う際に実行されるメモリアクセス検証用プログラムに関する。
【０００２】
【従来の技術】
これまでに、メモリアクセスの検証に関し、検証プログラムを自動的に生成することが実現されている。しかし、検証プログラムとして、メモリへのライト（ｗｒｉｔｅ）／リード（ｒｅａｄ）を繰返すことは、近年でのメモリ容量の増大に伴い、時間的なコスト見積もりの点で非常に厳しくなっているのが実情である（特に、バスアクセスのサイクル数の増大に起因）。
【０００３】
特に、既に常識的にもなりつつある、実機テスト前のＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）シミュレーションシステム（ＶＣＳ（Ｖｅｒｉｌｏｇ  Ｃｏｍｐｉｌｅｄ  Ｓｉｍｕｌａｔｏｒ）等）においては、実機に比し実行サイクル数が非常に低く、メモリアクセスの検証自体、サブセット的なアドレスに対する検証が行われることが多く、アドレスビット毎の領域に対するテスト等が考えられる。例えば３２ビットアドレスで示されるメモリ領域であれば、ベースとなるアドレスに対して、オフセットが０ｘ００００  ０００１，０ｘ００００  ００１０，…  …  …，０ｘ１０００  ００００という値で示されるアドレスに対してのみ、メモリアクセスの検証が行われることになる。
【０００４】
また、一方、ライト／リードに要される実行サイクル数を削減する手法として、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送機構によるバースト転送をサポートしたシステムも一般的になりつつある。確かに、このＤＭＡ転送機構によれば、キャッシュ・ブロック単位での高速転送を行うことが可能とされている、しかし、この機構を用いるためには、キャッシュのＣｏｎｓｉｓｔｅｎｃｙ（一致性）やＣｏｈｅｒｅｎｃｙ（一貫性）の検証も含むことになる。
【０００５】
更に、メモリへのアクセス自体の実行時間コスト以外にも、アクセスに使用されるパターン値という点からも、時間的なコストの問題はつきまとう。検証プログラムとは別に、検証パターンを生成する機構を備えるシステムや、検証パターンに関するアルゴリズムについての研究は、非常に大きな成果を挙げている。しかし、検証プログラム時に、アクセスの正当性を検証するこれまでの方法では、先に述べたライト／リードのアクセスとともに、ライトに使用される検証データを生成するためのプログラムが実行される必要がある。また、リード後にアクセスの正当性を検証するために、期待値データを生成するためのプログラムが実行される必要がある。
【０００６】
検証データの生成には、効率化を図る手法も考えられる。この手法の１つとして、検証対象となるアドレス値に一定のマスクをかけるものがあり、この手法を実現するためには、アセンブリ言語のレベルでも数サイクルのコストにしかならない（ｌｄ  ａｄｒ＋ｌｄ  ｍａｓｋ＋ａｎｄ［ａｄｒ，ｍａｓｋ］）。但し、この手法では、メモリのデータ線のテストとしては、サブセット的なテストとなってしまう。例えば、アドレス０ｘ８００１ ２０４０に対して、マスク０ｘ３ｆｆｆ ｆｆｆｆを適用するような検証データの場合、このアドレス領域に対しては、データ線としては、１６ビット目、１３ビット目、６ビット目のみの検証にしかなりえない。０ｘｆｆｆｆ ｆｆｆｆのアドレス領域で実行すれば、全データ線の検証になるが、メモリ領域サイズによっては、時間的コストの点で非常に厳しい。
【０００７】
効率化を図る手法のもう１つとしては、検証データをランダム値として扱うものがある。この手法を実現するためには、ランダム値を生成するためのプログラムのしくみが必要であるが、一般的なＣ言語関数としても広く使用されており、実行コスト的にも大きな問題はない。但し、この手法の実現には、検証データを期待値として保持しておくためのリソースが別途必要になる。一般的には、検証対象外の領域に検証データを期待値として保持する方法が考えられるが、この点からみても、あまり効率的な方法とは考えられない。大規模な検証装置を備えるシステムでない限り、実現は困難である。
【０００８】
ここで、これまでの一般的なＲＴＬシミュレーション環境（あるいは実機環境）におけるメモリアクセス検証方法について具体的に説明すれば、図３に示すようである。
即ち、図３による場合、先ず検証データとしてのテストパターンが生成された上、これのメモリへの書込みが実際に行われる（処理３−１，３−２）。因みに、この書込みに関しては、単純な書込み命令、あるいは纏まったアドレス単位でのＤＭＡ転送等が考えられる。また、検証データに関しても、実装アルゴリズムによっては、複雑度と時間的コストが増大するようになっている。
【０００９】
そのデータの書込み後は、書込み済みのデータが読込まれる（処理３−３）。次に、その読込みデータと比較されるためのデータ（評価データ）が、検証データの生成方法と同一の方法により生成された上、その読込みデータと比較される（処理３−４，３−５）。この比較で、一致に係る比較結果が得られたならば、検証対象としてのメモリアドレスの比較が行われ、検証プログラムの終了条件が判定されるが、その終了条件が満足されない限りにおいては、メモリアドレスが更新された上、データの生成・書込み・読込み・比較が繰返される（処理３−７）。
【００１０】
一方、以上のデータ比較で、不一致に係る比較結果が得られたならば、何等かのエラー処理が行われる（処理３−６）。エラー発見時での最終的な処理方法（エラー通知や強制終了等）はシステムの実装方法に依存するが、もしも、強制終了が採られるとすれば、強制的にプログラムは終了されることになる。
以上のメモリアクセス検証方法での問題点としては、処理３−３〜３−５における検証結果の評価に要される時間的なコストと、処理３−６時での対処方法が挙げられる。
【００１１】
因みに、特許文献１，２では、検証プログラムとは別に検証パターンが生成されている。また、特許文献３，４では、検証プログラムが自動的に生成されている。更に、特許文献５では、システムＬＳＩのハードウェア記述、検証環境および開発設計ツールが生成されている。更にまた、特許文献６では、メモリ制御回路が論理検証されている。
【００１２】
【特許文献１】
特開平６―２８３２９号公報
【特許文献２】
特開平１０―３１２３１１号公報
【特許文献３】
特開２００１―２７３３４０号公報
【特許文献４】
特開２００１―３０６６４８号公報
【特許文献５】
特開２００２―２３００６５号公報
【特許文献６】
特開２００２―３１２４１６号公報
【００１３】
【発明が解決しようとする課題】
以上、従来技術における不具合、即ち、時間的コストが要される点について説明したが、やはり、最も検証時間の効率化を可能ならしめる要因としては、単純にＲＴＬシミュレーション環境の動作速度に対して、我々が通常使用されるＰＣ（パーソナルコンピュータ）やＵＮＩＸ（ＡＴ＆Ｔ  Ｂｅｌｌ  Ｌａｂｏｒａｔｏｒｉｅｓの登録商標）マシンを使用することが挙げられる。これは、ＶＣＳ環境の動作速度に比し、その動作速度が高速であるからである。現在、ＶＣＳ環境の動作速度は数ＭＨｚ、より高速なＡＸＩＳ（Ａｘｉｓ社が開発しているリコンフィギュアラブル・コンピューティング技術を用いたＲＴＬ記述プログラムのシミュレーション環境）を使用しても数十ＭＨｚが一般的である。それに対し、作業マシンとして使用されるＷｉｎｄｏｗｓ（米マイクロソフト社の登録商標）マシンの動作速度は、既に１ＧＨｚ時代に突入している。仮に、ＲＴＬシミュレーション環境の動作速度が、今後、飛躍的に向上したとしても、同時に作業マシンの動作速度も向上され、また、ＲＡＭ容量も増大していることも明らかである。
【００１４】
更に踏み込んで、単純なメモリアクセスに対する検証ではなく、特殊なメモリアクセスを行うアルゴリズムがハードウェアにて実装されていた場合を考えてみる。これには、ＲＡＭ上の画像ファイルを効率的にアクセスするための、フォーマット別転送等が考えられる。この場合、検証プログラムの実行中にメモリアクセスの検証を行うには、ハードウェアで実装されているアルゴリズムを、検証のためのメモリリードを行う直前、即ち、比較するためのデータ生成時に実行する必要がある。したがって、前述のアドレス値にマスクをするだけの比較データの生成とは違い、ある程度複雑なアルゴリズムの実行が、定期的なメモリアクセスの度に必要となる。
【００１５】
本発明の目的は、メモリアクセス検証の際に、検証シミュレーション環境下で検証プログラム（本体）によりメモリに対しデータ書込み処理を行わせるが、それ以外の処理は、非検証シミュレーション環境下でその検証プログラムの一部を構成している他プログラムで処理させることで、その検証プログラムでの処理負荷の軽減、あるいは実行時間コストの削減を図るとともに、メモリアクセス検証を速やかに行うことにある。
【００１６】
【課題を解決するための手段】
本発明のメモリアクセス検証システムは、検証シミュレーション環境下で検証プログラムにより検証データを生成した上、該検証データを書込みデータとして、メモリに対しデータ書込みを行うデータ書込み装置と、非検証シミュレーション環境下で上記メモリへの書込みデータに対する評価データを生成する評価データ生成装置と、非検証シミュレーション環境下で上記書込みデータと評価データとを比較するデータ比較装置とを含むように、構成したものである。
【００１７】
また、本発明のメモリアクセス検証方法は、検証シミュレーション環境下で検証プログラムにより検証データを生成した上、該検証データを書込みデータとして、メモリに対しデータ書込みを行うデータ書込みステップと、非検証シミュレーション環境下で上記メモリへの書込みデータに対する評価データを生成する評価データ生成ステップと、非検証シミュレーション環境下で上記書込みデータと評価データとを比較するデータ比較ステップとを含むようにして、メモリアクセスの検証が行われるようにしたものである。
【００１８】
即ち、メモリへのパターン書込み等の律速段階となる処理のみを検証シミュレーション環境下で行い、読出し・比較等の処理は非検証シミュレーション環境下で行うことで、所期の目的が達成されるようにした。
【００１９】
【発明の実施の形態】
以下、本発明の一実施の形態を図１，図２により説明する。
先ず本発明の具体的説明に先立って、その背景や要点について説明すれば、以下のようである。
即ち、ＶＣＳ等を用いた、一般的なシステムＬＳＩのＲＴＬ検証が行われる場合、シングル・スキャン等の波形観測ツールを利用するとともに、実際のＲＡＭアクセスログから、処理が正常に行われているか否かをみることが多い。最も基礎的なリードとライトアクセスのみ検証する場合には、検証プログラム内で比較・評価を行うことは簡単である。
【００２０】
しかし、より複雑で、負荷が大きい検証（連続したリード／ライト処理の繰返しや、ＭＰＥＧ等の画像フォーマットデータのアクセス等）の場合、検証プログラム中で比較・評価まで行うよりは、ＲＡＭのアクセスログから、それぞれの処理部にて正当性を検証する方が容易である。このＲＡＭのアクセスログからの正当性検証を実現するために、検証プログラムとは別に、評価・比較のみを行うためのツールを作成し、これを検証システムの一部として扱おうというものである。ここでいう評価・比較ツールの動作としては、ＲＡＭアクセスに対するリファレンス・データの生成が考えられる。
【００２１】
より具体的には、メモリ等のデバイス試験の際、メモリへのパターン書込み等の律速段階となる処理のみを検証シミュレーション環境下で行い、読出し・比較等の処理は非検証シミュレーション環境下で行われるようにしたものである。因みに、ここにいう律速段階とは、実際にテスト結果を評価するための、テストデータの書込み・設定を行う段階として定義される。また、それ以前に、本発明対象のシステム自体の初期化（ハードウェア各々の初期化やメモリの初期化、ソフトウェア的な初期化（変数等））や設定も含まれる。
【００２２】
本発明の対象となるシステムとしては、大規模なメモリ管理領域を備えたシステムＬＳＩの開発段階で、ＲＴＬシミュレーションを用いた検証フェーズが想定されている。また、そのシミュレーション環境において、検証プログラム実行後に、ホスト（開発ＰＣを想定）側でシステムＬＳＩのメモリ内容を、何等かの形でファイルとして書出し可能としている。代表的なＲＴＬシミュレーション環境としては、ＶＣＳが考えられるが、この環境では、簡単なＲＴＬ記述でメモリ内容の参照と書出しが可能となっている。
【００２３】
また、対象のシステムは、実機による検証フェーズにも適用可能な場合がある。例えば評価基板上に何等かの装置を実装することで、システムＬＳＩでアクセスするメモリ内容を確認できるとする。その装置の代表例としては、ＩＣＥ（Ｉｎｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｅｒ）が挙げられる。即ち、ＩＣＥを利用し得る実機検証フェーズであれば、ＩＣＥ経由でメモリ内容の参照と書出しが可能であり、ＲＴＬシミュレーションと同様な理由で、本発明の対象とし得る。
【００２４】
メモリアクセスの検証の際に問題となる、メモリへのライト／リードに関する時間的コスト（主に、バスアクセスのサイクル数に起因）は、シミュレーション後に得られるメモリ内容と、ホストツールで生成されたリファレンス・データとの比較により改善可能となる。動作周波数が比較的遅い検証環境（ＶＣＳ等）でメモリアクセスに依存する検証が実施されるのではなく、実行結果と期待値とが比較的高速な開発環境にてファイル比較されることで、検証の時間的コストの削減が実現される。
【００２５】
ホストツール（リファレンス・データ生成プログラムに相当）で生成されるリファレンス・データは、システムの設計フェーズが完了した時点で作成に着手し得る筈である（メモリアクセスに関する要求・仕様・設計まで明確になっていれば可能）。開発システムにおいて、検証専用の装置や検証パターンのアルゴリズムを新規に導入することなく、最も単純なメモリマップの比較のみで、メモリアクセスの検証が実現可能となる。
【００２６】
さて、本発明によるメモリアクセス検証方法について具体的に説明すれば、その検証方法の一例での処理フローを図１に示す。これによる場合、例えば特殊なメモリ検証システム１２が予め用意されるとして、ＲＴＬシミュレーション環境（あるいは実機環境）で実行される検証プログラム（本体）１１によって、先ず検証データとしてのテストパターンが生成された上、これのメモリへの書込みが実際に行われる（処理１−１，１−２）。この際での検証データとメモリアクセスの形態は、既述の図３の場合と同様、検証対象となるシステムのアルゴリズムにより異なっている。その後は、検証対象としてのメモリアドレスの比較が行われ、検証プログラムの終了条件が判定されるが、その終了条件が満足されない限りにおいては、メモリアドレスが更新された上、データの生成・書込み、メモリアドレスの比較が繰返される（処理１−３）。
【００２７】
一方、検証プログラム１１によるメモリアクセスの発生はまた、何等かの仕組み、例えばポーリング方式や割込みにより、メモリ検証システム１２側で実行される検証プログラム（検証プログラム１１を除く）で監視されており、メモリ検証システム１２側では、メモリアクセスの通知があるまでの間、ポーリング（あるいは割込み）での待ちループ状態におかれる（処理１−４）。結局、メモリアクセスの通知がある度に、メモリからの読込みが行われた上、その読込みデータと比較されるデータ（評価データ）が生成される（処理１−５，１−６）。その後は、読込みデータと評価データとの比較が行われるが、比較結果如何によっては、エラー処理が実行される（処理１−７，１−８）。
【００２８】
以上からも判るように、これまでにあっては、検証プログラム１１内で行われていた処理１−５〜１−７は、メモリ検証システム１２側で行われていることから、その実行時間コスト分、検証プログラム１１側での時間的コストが削減されることになる。因みに、処理１−４から判るように、メモリアクセスの通知があった場合にのみ、メモリ検証システム１２側では処理が行われていることから、メモリ検証システム１２側での処理は、メモリアクセスに依存したものとなる。
【００２９】
次に、２つのファイル間で単純な比較作業が行われるメモリアクセス検証方法について説明すれば、その検証方法の一例での処理フローを図２に示す。図示のように、処理は大別して、ブロック２１，２２各々で行われる。１つは実際にＶＣＳ等のＲＴＬシミュレーション上で検証プログラムを実行するブロック２１であり、もう１つはリファレンス・データ生成プログラムを実行するブロック２２である。ブロック２２では、検証プログラムの実行結果と比較されるためのリファレンス・データが高速に生成される。
【００３０】
先ずブロック２１では、検証プログラムにより、メモリアクセスに用いられる検証データとしてのテストパターンが生成される（処理２−１）。この際での検証データとしては、検証対象のアルゴリズムにより単純なアドレス値のマスクから、複雑な画像ファイルフォーマットまで、様々なものとされる。次に、このようにして生成された検証データは、メモリアクセスによりメモリに実際に書込みされる（処理２−２）。この処理の際にも、単純なハードウェアのライト機能から、ある範囲の纏まったブロックをライトするＤＭＡ転送機能等、様々なものがある。その後、全メモリ領域に検証データが書込みされたか否かが判定されるが、書込みされていない場合には、書込みされるまで、検証データの生成・書込みが繰り返し行われる（処理２−３）。また、もしも、全メモリ領域に書き込みされている場合には、メモリ・イメージのファイルへの書出しが行われる（書式付でファイル出力）（処理２−４）。因みに、ブロック２１で実行される処理は、適切な環境さえ準備されていれば、実機テスト環境でも適用可能とされる。必要な環境は、メモリ・イメージをファイルに書き出す環境である。一般的な方法としては、ＩＣＥを使用したＪＴＡＧ（ＩＥＥＥ１１４９．１）経由のファイル書出しが用いられる。その他の処理に関しては、ＲＴＬシミュレーション時と同一方法で実現可能である。
【００３１】
一方、ブロック２２では、処理２−１と同様にして、検証データとしてのテストパターンが生成される（処理２−５）。次に、その検証データを用い、プログラム中でメモリアクセスのアルゴリズムに従い、リファレンス・データが生成される（処理２−６）。その後、全メモリのリファレンス・データが生成済みか否かが判定されるが、生成済みでない場合には、生成済みとなるまで、検証データの生成・リファレンス・データの生成が繰り返し行われる（処理２−７）。また、もしも、生成済みである場合には、リファレンス・データのファイルへの書出しが行われる（処理２−８）。この書出しに際して、ファイルへの出力方式は、処理２−４でのものと同一形式とされる。因みに、ブロック２２の実行環境としては、基本的に開発者の高速なホストマシンが想定されている。したがって、リファレンス・データ生成プログラム自体も、Ｃ言語や汎用的なスクリプト言語（ｐｅｒｌ等）での作成が想定されている。
【００３２】
さて、以上の検証プログラム、リファレンス・データ生成プログラムそれぞれの実行結果として、メモリ・イメージ・ファイル２３、リファレンス・データ・ファイル２４が得られるが、これらファイル２３，２４は同一書式で出力されるよう、それぞれのプログラム中で制御されている。これらファイル２３，２４を入力として、最後に、単純な比較作業（ＵＮＩＸのｄｉｆｆコマンド等による）が高速ＰＣ等で行われる（処理２−９）。その結果、ファイル２３，２４間に何等差異がなければ、ＲＴＬシミュレーションで実行したメモリアクセス結果が、アルゴリズム通り正常に行われたことになる。
【００３３】
更に踏み込んだ説明として、検証対象となるメモリアクセスが、ＭＰＥＧ等の画像フォーマットデータを扱う場合について言及すれば、画像フォーマットデータに伴うメモリアクセスは、ＲＡＭへの効率的なアクセスを実現するため、複雑なアドレスマッピング・アルゴリズムを採用している場合がある（ここでは、変換アルゴリズム自体は問題とされていないので、その詳細については省略）。この場合、処理２−６での処理時間コストが大きくなることは否めない。しかしながら、それでも、従来手法のように、ＲＴＬシミュレーション環境等で同じ処理が実行された場合に比し、負荷の重い部分を抽出して、より高速な開発環境で処理を担当するという、根本的な対処方法が採用されているので、時間的なコスト削減の効果は十分に望めることになる。
【００３４】
以上、本発明をその実施形態について説明したが、その効果としては、以下のようなものが挙げられる。
即ち、
（１）メモリアクセスの検証を行う際に問題となる、メモリへのライト／リードに関する時間的コスト（主に、バスアクセスのサイクル数に起因）を、シミュレーション後に得られるメモリ内容と、ホストツールで生成されたリファレンス・データとを比較することにより改善可能となる。
（２）動作周波数が比較的遅い検証環境（ＶＣＳ等）でメモリアクセスに依存する検証を実施するのではなく、実行結果と期待値とを比較的高速な開発環境（ホストマシン）で比較することで、検証の時間的コストの削減が可能となる。
【００３５】
（３）メモリアクセスに関する検証エラーがある場合に、これまでにあっては、その発生時に検証が停止されるか、検証対象のプログラム完了後にのみ確認可能であった。この際での問題点としては、エラー発生時に全メモリ領域を検証対象とすることと、エラー発見までの時間を短縮することとの両立が困難であったが、本発明による場合、基本的に検証対象の全メモリ領域を高速で検証可能となる。
（４）別途、検証システム専用の機材・装置を準備すること不要として、基本的には、通常用いられるスクリプト言語を駆使して、リファレンス・データを生成するプログラムを生成するだけで、検証時間コストの削減が見込める。なお、リファレンス・データの生成は、検証対象となるハードウェアのアルゴリズムに従っている筈なので、新規設計の部分も抑えることができる。
（５）実機テストの環境によっては、ＲＴＬシミュレーションだけでなく、実機テストの段階でも本発明は適用可能である。その必要な環境に関しても、実機テスト時にメモリ・イメージをファイルとして書き出す手段のことを指しており、近年、一般的に使用されるＩＣＥの機能を使用することで、簡単に環境を整備することが可能である。したがって、実機テストにおいても、時間的コストの削減という意味で効果がある。
【００３６】
以上、本発明者によってなされた発明を実施の形態に基づき、具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変更可能であることはいうまでもない。
【００３７】
【発明の効果】
メモリアクセス検証の際に、検証シミュレーション環境下で検証プログラム（本体）によりメモリに対しデータ書込み処理を行わせるが、それ以外の処理は、非検証シミュレーション環境下でその検証プログラムの一部を構成している他プログラムで処理させることで、その検証プログラムでの処理負荷の軽減、あるいは実行時間コストの削減が図れるとともに、メモリアクセス検証を速やかに行えることになる。
【図面の簡単な説明】
【図１】本発明によるメモリアクセス検証方法（その１）の一例での処理フローを示す図である。
【図２】同じく、本発明によるメモリアクセス検証方法（その２）の一例での処理フローを示す図である。
【図３】これまでの一般的なＲＴＬシミュレーション環境における検証方法を示す図である。
【符号の説明】
１１，２１…検証プログラム、１２…メモリ検証システム、２２…リファレンス・データ生成プログラム、２３…メモリ・イメージ、２４…リファレンス・データ
【図１】
2004334374.tif 000003
【図２】
2004334374.tif 000004
【図３】
2004334374.tif 000005