(57)【要約】【目的】  論理回路に対するデバック処理の効率を向上させる。【構成】  メモリモデル２２は、ＡＳＩＣ１０（メモリアクセス用の論理回路）による当該メモリモデル２２に対するアクセス実行時にＡＳＩＣ１０から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して両値が一致するか否かをチェックし、両値が一致しない場合に、その時の上記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知する。【選択図】        図２
2006227668.tif 000002
【特許請求の範囲】
【請求項１】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、
前記論理回路による当該メモリモデルに対するアクセス実行時に該論理回路から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して、両値が一致するか否かをチェックするアドレスチェック手段と、
該アドレスチェック手段によって前記両値が一致しないと判断された場合に、その時の前記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知するエラー報知手段と
を設けたことを特徴とするメモリモデル。
【請求項２】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、
前記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して、両値が一致するか否かをチェックするマスク信号チェック手段と、
該マスク信号チェック手段によって前記両値が一致しないと判断された場合に、その時の前記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知するエラー報知手段と
を設けたことを特徴とするメモリモデル。
【請求項３】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、
前記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるデータの実際値と予め設定された該データの期待値とを比較して、両値が一致するか否かをチェックするデータチェック手段と、
該データチェック手段によって前記両値が一致しないと判断された場合に、その時の前記データの実際値および該データの期待値を含むエラー情報を報知するエラー報知手段と
を設けたことを特徴とするメモリモデル。
【請求項４】
請求項１乃至３のいずれか一項に記載のメモリモデルを構成する各手段としての機能をコンピュータに実現させるためのプログラム。
【請求項５】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、
前記論理回路による当該メモリモデルに対するアクセス実行時に該論理回路から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して両値が一致するか否かをチェックし、両値が一致しない場合に、その時の前記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知することを特徴とするメモリモデルにおける論理回路検証方法。
【請求項６】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、
前記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して両値が一致するか否かをチェックし、前記両値が一致しない場合に、その時の前記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知することを特徴とするメモリモデルにおける論理回路検証方法。
【請求項７】
メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、
前記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるデータの実際値と予め設定された該データの期待値とを比較して両値が一致するか否かをチェックし、前記両値が一致しない場合に、その時の前記データの実際値および該データの期待値を含むエラー情報を報知することを特徴とするメモリモデルにおける論理回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリをアクセスするＡＳＩＣ（Application Specific Integrated Circuit）等の論理回路を検証するための該メモリと同等の機能を有するメモリモデル、そのメモリモデルとしての機能をコンピュータに実現させるためのプログラム、および上記メモリモデルにおける論理回路検証方法に関する。
【背景技術】
【０００２】
画像形成装置等のデータ処理装置として、装置全体を制御するＣＰＵ（中央処理装置）や、そのＣＰＵがデータを処理する際に使用するＲＡＭ等のメモリの他に、そのメモリをアクセスする専用の論理回路（ＡＳＩＣ等）を搭載したものがある。
そのような論理回路は、メモリに対してアクセスを実行する際にアクセス対象アドレス，マスク信号，又はデータを出力（発行）するが、回路のバグ（エラー）により、異常なアドレス，マスク信号，又はデータを出力することがある。
【０００３】
そのため、論理回路をデータ処理装置に搭載する前に、その論理回路をコンピュータあるいは専用装置によって検証することにより、バグを見つけ出し、そのバグを直すデバック処理を行うようにしている。
論理回路の検証（設計検証）装置や検証方法としては、例えば特許文献１に見られるものがある。
【特許文献１】特開２００３−１５０６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の論理回路の検証（設計検証）装置や検証方法では、検証結果を出力するが、その検証結果から論理回路におけるエラー発生箇所やエラー内容を直ちに特定することができず、論理回路に対するデバック処理を効率的に行うことができなかった。
この発明は上記の点に鑑みてなされたものであり、論理回路に対するデバック処理の効率を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、上記の目的を達成するため、メモリモデルとプログラムと論理回路検証方法を提供する。
請求項１の発明によるメモリモデルは、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、上記論理回路による当該メモリモデルに対するアクセス実行時に該論理回路から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して、両値が一致するか否かをチェックするアドレスチェック手段と、該アドレスチェック手段によって上記両値が一致しないと判断された場合に、その時の上記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知するエラー報知手段とを設けたものである。
【０００６】
請求項２の発明によるメモリモデルは、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、上記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して、両値が一致するか否かをチェックするマスク信号チェック手段と、該マスク信号チェック手段によって上記両値が一致しないと判断された場合に、その時の上記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知するエラー報知手段とを設けたものである。
【０００７】
請求項３の発明によるメモリモデルは、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルであって、上記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるデータの実際値と予め設定された該データの期待値とを比較して、両値が一致するか否かをチェックするデータチェック手段と、該データチェック手段によって上記両値が一致しないと判断された場合に、その時の上記データの実際値および該データの期待値を含むエラー情報を報知するエラー報知手段とを設けたものである。
請求項４の発明によるプログラムは、請求項１〜３のいずれかのメモリモデルを構成する各手段としての機能をコンピュータに実現させるためのプログラムである。
【０００８】
請求項５の発明による論理回路検証方法は、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、上記論理回路による当該メモリモデルに対するアクセス実行時に該論理回路から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して両値が一致するか否かをチェックし、両値が一致しない場合に、その時の上記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知するものである。
【０００９】
請求項６の発明による論理回路検証方法は、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、上記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知するものである。
【００１０】
請求項７の発明による論理回路検証方法は、メモリをアクセスする論理回路を検証するための該メモリと同等の機能を有するメモリモデルにおける論理回路検証方法であって、  上記論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるデータの実際値と予め設定された該データの期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記データの実際値および該データの期待値を含むエラー情報を報知するものである。
【発明の効果】
【００１１】
この発明によれば、論理回路（メモリアクセス用の論理回路）による当該メモリモデルに対するアクセス実行時に該論理回路から出力されるアクセス対象アドレスの実際値と予め設定された該アクセス対象アドレスの期待値とを比較して両値が一致するか否かをチェックし、両値が一致しない場合に、その時の上記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知することにより、そのエラー情報の内容から論理回路におけるエラー発生箇所やエラー内容を直ちに特定することができ、論理回路に対するデバック処理を効率的に行うことができる。
【００１２】
あるいは、論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知することによっても、そのエラー情報の内容から論理回路におけるエラー発生箇所やエラー内容を直ちに特定することができ、論理回路に対するデバック処理を効率的に行うことができる。
【００１３】
あるいはまた、論理回路による当該メモリモデルに対するライトアクセス実行時に該論理回路から出力されるデータの実際値と予め設定された該データの期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記データの実際値および該データの期待値を含むエラー情報を報知することによっても、そのエラー情報の内容から論理回路におけるエラー発生箇所やエラー内容を直ちに特定することができ、論理回路に対するデバック処理を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明を実施するための最良の形態を図面に基づいて説明する。
図１は、この発明を実施するメモリモデルの検証対象の論理回路としてのＡＳＩＣの構成例を示すブロック図である。
【００１５】
このＡＳＩＣ１０は、ＣＰＵ・Ｉ／Ｆ（インタフェース）・コントローラ１１，メモリアービタ１２，メモリ制御部１３，圧縮伸張器１４，回転器１５，ライトＤＭＡコントローラ１６，１７，およびリードＤＭＡコントローラ１８，１９等からなる論理回路（多機能デバイスボード）であり、後述するＣＰＵ１の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリ（アプリケーションソフト）等の開発の高効率化を支援するＩＣ回路である。
【００１６】
このＡＳＩＣ１０は、ＣＰＵ１およびメモリ２と共に、データ処理装置、例えばデジタル複写機，プリンタ，ファクシミリ装置，スキャナ，あるいはそれらの装置の機能を統合したデジタル複合機等の画像形成装置やスキャナ装置等の画像読取装置に搭載される。
ＣＰＵ・Ｉ／Ｆ・コントローラ１１は、ＣＰＵ１との間の通信を制御するインタフェース回路である。
メモリアービタ１２は、ＣＰＵ・Ｉ／Ｆ・コントローラ１１，メモリ制御部１３，ライトＤＭＡコントローラ１６，１７，リードＤＭＡコントローラ１８，１９からの入出力要求に対する調停（アービトレーション）を行い、データの入出力を行う調停回路である。
【００１７】
メモリ制御部１３は、ＣＰＵ１がデータを処理する際に使用するメモリ２とメモリアービタ１２との間の信号やデータの入出力を制御する制御回路である。
圧縮伸張器１４は、リードＤＭＡコントローラ１８からのデータを圧縮処理してライトＤＭＡコントローラ１６へ出力する回路である。
回転器１５は、リードＤＭＡコントローラ１９からのデータを回転処理してライトＤＭＡコントローラ１７へ出力する回路である。
【００１８】
ライトＤＭＡコントローラ１６は、メモリアービタ１２およびメモリ制御部１３経由でメモリ２に対してライトアドレス（アクセス対象アドレス）およびマスク信号（データの書き込み可，不可を示すための信号）を発行することにより、圧縮伸張器１４からのデータをメモリ２に書き込むライトアクセスを実行するための回路である。
ライトＤＭＡコントローラ１７は、メモリアービタ１２およびメモリ制御部１３経由でメモリ２に対してライトアドレスおよびマスク信号を発行することにより、回転器１５からのデータをメモリ２に書き込むライトアクセスを実行するための回路である。
【００１９】
リードＤＭＡコントローラ１８は、メモリアービタ１２およびメモリ制御部１３経由でメモリ２に対してリードアドレスを発行することにより、メモリ２内のデータを読み込んで圧縮伸張器１４へ出力するリードアクセスを実行するための回路である。
リードＤＭＡコントローラ１９は、メモリアービタ１２およびメモリ制御部１３経由でメモリ２に対してリードアドレスを発行することにより、メモリ２内のデータを読み込んで回転器１５へ出力するリードアクセスを実行するための回路である。
【００２０】
ＣＰＵ１は、メモリ２内のプログラムに従ってデータ処理装置（実機）全体を統括的に制御する中央処理装置である。このＣＰＵ１が、ライトＤＭＡコントローラ１６，１７又はリードＤＭＡコントローラ１８，１９に対してスタートアドレス，転送サイズ（データサイズ）を含むレジスタ値を設定することにより、ライトＤＭＡコントローラ１６，１７がメモリ２に対してライトアクセスを実行したり、リードＤＭＡコントローラ１８，１９がメモリ２に対してリードアクセスを実行することができる。
【００２１】
メモリ２は、複数のアプリケーション・プログラムを含む各種プログラム（ソフトウェア）やデータを記憶する記憶媒体である。メモリ２としては、ＲＡＭや、ハードディスクを含むハードディスク装置（ＨＤＤ）、フレキシブルディスクを着脱可能に備えたフレキシブルディスク装置、あるいはＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，又はＤＶＤ−ＲＡＭ等の光ディスクを着脱可能に備えた光ディスク装置を使用できる。
【００２２】
図２は、この発明を実施するメモリモデルおよび図１に示したＡＳＩＣ１０を含むＡＳＩＣテストベンチの構成例を示すブロック図である。
図１に示したＡＳＩＣ１０は、製品となるデータ処理装置に搭載される前に、検証（シュミレーン）を行う必要がある。
そこで、ＡＳＩＣ１０を検証する際に、図２に示すように、ＡＳＩＣ１０のＣＰＵ・Ｉ／Ｆ・コントローラ１１に図１のＣＰＵ１と同等の機能を有するＣＰＵモデル２１を、メモリ制御部１３に図１のメモリ２と同等の機能を有するメモリモデル２２をそれぞれ接続する。
【００２３】
ここで、ＡＳＩＣ１０の検証における環境は、検証するＡＳＩＣ１０を含め、仮想的なシステムとして構築する。そのうち、ＣＰＵモデル２１はデータ処理装置（実機）でＡＳＩＣ１０につながる予定のＣＰＵとして、メモリモデル２２はデータ処理装置でＡＳＩＣ１０につながる予定のメモリとしてそれぞれ仮想的に作っているため、「モデル」を付加している。
【００２４】
そのため、テストベンチは、ＣＰＵモデル２１，メモリモデル２２，およびテストシナリオ（検証プログラム）２３を含む仮想的なシステムをパーソナルコンピュータ等のコンピュータに実現させるためのプログラムと、そのコンピュータとによって構成される。
ＣＰＵモデル２１およびメモリモデル２２は、テストシナリオ２３に従ってＡＳＩＣ１０の検証に係わる処理を行う。
よって、メモリモデル２２が、アドレスチェック手段，マスク信号チェック手段，データチェック手段，およびエラー報知手段としての機能を果たすことになる。
なお、ＣＰＵモデル２１又はメモリモデル２２を、ハードウェアのみによって構成することもできる。
【００２５】
次に、図２に示したテストベンチによるＡＳＩＣ１０の検証処理について、図３〜図５を参照して具体的に説明する。
図３は、テストベンチによるＡＳＩＣ１０の検証処理の第１例を示すフローチャートである。
【００２６】
ステップＳ１では、テストシナリオ２３により、ＣＰＵモデル２１を介してＡＳＩＣ１０内のＤＭＡコントローラ（ライトＤＭＡコントローラ１６，１７，リードＤＭＡコントローラ１８，１９のいずれでもよい）にスタートアドレスや転送アドレスを設定する。
ステップＳ２では、テストシナリオ２３より、ＡＳＩＣ１０内のＤＭＡコントローラに設定したスタートアドレスや転送サイズ等のレジスタ値をメモリモデル２２に渡す。メモリモデル２２は、受けたレジスタ値に基づいてＡＳＩＣ１０から出力されるべきアクセス対象アドレスの期待値を算出（予測）する。
【００２７】
ステップＳ３では、テストシナリオ２３より、ＣＰＵモデル２１を介してＤＭＡコントローラを起動する。それによって、ＤＭＡコントローラは、メモリモデル２２に対してアクセス（ライトアクセス又はリードアクセスのいずれでもよい）を実行するが、その際にメモリモデル２２に対してアクセス対象アドレス（ライトアドレス又はリードアドレス）を発行する。
ステップＳ４では、メモリモデル２２が、ステップＳ２で受けたレジスタ値に基づいて算出したアクセス対象アドレスの期待値を予め用意しておき、それとＡＳＩＣ１０より発行されたアクセス対象アドレスの実際値とを比較して、両値が一致するか否かをチェックする。
【００２８】
ステップＳ５では、その両値が一致しないと判断した場合に、その旨を図示しない表示装置にログ表示する。つまり、その時の一致しなかったアクセス対象アドレスの実際値とそのアクセス対象アドレスの期待値とを含むエラー情報（例えば「### Error Memory address = 0x1000 (exp 0x1004)」）を図示しないコンピュータの表示装置（ディスプレイ）に表示（報知）する。
ステップ６では、ＡＳＩＣ１０の検証処理（シミュレーション）を停止する（例えば「Verilogであれば$stopもしくは$finish」）。
【００２９】
図４は、テストベンチによるＡＳＩＣ１０の検証処理の第２例を示すフローチャートである。
ステップＳ１１では、テストシナリオ２３により、ＣＰＵモデル２１を介してＡＳＩＣ１０内のライトＤＭＡコントローラ（ライトＤＭＡコントローラ１６，１７のいずれでもよい）にスタートアドレスや転送アドレスを設定する。
【００３０】
ステップＳ１２では、テストシナリオ２３より、ＡＳＩＣ１０内のライトＤＭＡコントローラに設定したスタートアドレスや転送サイズ等のレジスタ値をメモリモデル２２に渡す。メモリモデル２２は、受けたレジスタ値に基づいてＡＳＩＣ１０から出力されるべきマスク信号の期待値を算出する。
ステップＳ１３では、テストシナリオ２３より、ＣＰＵモデル２１を介してライトＤＭＡコントローラを起動する。それによって、ライトＤＭＡコントローラは、メモリモデル２２に対してライトアクセスを実行するが、その際にメモリモデル２２に対してマスク信号を発行する。
【００３１】
ステップＳ１４では、メモリモデル２２が、ステップＳ１２で受けたレジスタ値に基づいて算出したマスク信号の期待値を予め用意しておき、それとＡＳＩＣ１０より発行されたマスク信号の実際値とを比較して、両値が一致するか否かをチェックする。
ステップＳ１５では、その両値が一致しないと判断した場合に、その旨を図示しない表示装置にログ表示する。つまり、その時の一致しなかったマスク信号の実際値とそのマスク信号の期待値とを含むエラー情報（例えば「### Error Memory write mask = 4'b1000 (exp 4'b1100) address = 0x10000」）をコンピュータの表示装置に表示する。
ステップ１６では、ＡＳＩＣ１０の検証処理（シミュレーション）を停止する（例えば「Verilogであれば$stopもしくは$finish」）。
【００３２】
図５は、テストベンチによるＡＳＩＣ１０の検証処理の第３例を示すフローチャートである。
ステップＳ２１では、テストシナリオ２３により、ＣＰＵモデル２１を介してＡＳＩＣ１０内のライトＤＭＡコントローラ（ライトＤＭＡコントローラ１６，１７のいずれでもよい）にスタートアドレスや転送アドレスを設定する。
【００３３】
ステップＳ２２では、テストシナリオ２３より、ＡＳＩＣ１０内のライトＤＭＡコントローラに設定したスタートアドレスや転送サイズ等のレジスタ値をメモリモデル２２に渡す。メモリモデル２２は、受けたレジスタ値に基づいてＡＳＩＣ１０から出力されるべきデータの期待値を算出する。
ステップＳ２３では、テストシナリオ２３より、ＣＰＵモデル２１を介してライトＤＭＡコントローラを起動する。それによって、ライトＤＭＡコントローラは、メモリモデル２２に対してライトアクセスを実行するが、その際にメモリモデル２２に対してデータを発行する。
【００３４】
ステップＳ２４では、メモリモデル２２が、ステップＳ２２で受けたレジスタ値に基づいて算出したデータの期待値を予め用意しておき、それとＡＳＩＣ１０より発行されたデータの実際値とを比較して、両値が一致するか否かをチェックする。
ステップＳ２５では、その両値が一致しないと判断した場合に、その旨を図示しない表示装置にログ表示する。つまり、その時の一致しなかったデータの実際値とそのデータの期待値とを含むエラー情報（例えば「### Error Memory write data = 0x1234 (exp 0xffe4) address = 0x10014」）をコンピュータの表示装置に表示する。
ステップ２６では、ＡＳＩＣ１０の検証処理（シミュレーション）を停止する（例えば「Verilogであれば$stopもしくは$finish」）。
【００３５】
なお、図３〜図５に示した検証処理によってエラー情報を表示装置に表示する際に、検証時間（ＡＳＩＣ１０の検証処理を開始してからエラーが発生するまでの経過時間）をクロック又はｎｓ等の任意の単位で同時に表示することもできる。また、エラー情報を図示しない音声装置によって音声出力することもできる。
【００３６】
このように、メモリモデル２２が、ＡＳＩＣ１０（メモリアクセス用の論理回路）による当該メモリモデル２２に対するアクセス実行時にＡＳＩＣ１０から出力されるアクセス対象アドレスの実際値と予め設定（算出）された該アクセス対象アドレスの期待値とを比較して両値が一致するか否かをチェックし、両値が一致しない場合に、その時の上記アクセス対象アドレスの実際値および該アクセス対象アドレスの期待値を含むエラー情報を報知することにより、そのエラー情報の内容からＡＳＩＣ１０におけるエラー発生箇所やエラー内容を直ちに特定することができ、ＡＳＩＣ１０に対するデバック処理を効率的に行うことができる。
【００３７】
あるいは、メモリモデル２２が、ＡＳＩＣ１０による当該メモリモデルに対するライトアクセス実行時にＡＳＩＣ１０から出力されるマスク信号の実際値と予め設定された該マスク信号の期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記マスク信号の実際値および該マスク信号の期待値を含むエラー情報を報知することによっても、そのエラー情報の内容からＡＳＩＣ１０におけるエラー発生箇所やエラー内容を直ちに特定することができ、ＡＳＩＣ１０に対するデバック処理を効率的に行うことができる。
【００３８】
あるいはまた、メモリモデル２２が、ＡＳＩＣ１０による当該メモリモデルに対するライトアクセス実行時にＡＳＩＣ１０から出力されるデータの実際値と予め設定された該データの期待値とを比較して両値が一致するか否かをチェックし、上記両値が一致しない場合に、その時の上記データの実際値および該データの期待値を含むエラー情報を報知することによっても、そのエラー情報の内容からＡＳＩＣ１０におけるエラー発生箇所やエラー内容を直ちに特定することができ、ＡＳＩＣ１０に対するデバック処理を効率的に行うことができる。
以上、この発明をＡＳＩＣを検証するメモリモデルを含むテストベンチに適用した実施例について説明したが、この発明はこれに限らず、ＡＳＩＣ以外の論理回路を検証するメモリモデルを含むテストベンチにも適用可能である。
また、この発明によるプログラムは、メモリモデルとして機能するコンピュータに、この発明による各種機能（アドレスチェック手段，マスク信号チェック手段，データチェック手段，およびエラー報知手段）を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【００３９】
このようなプログラムは、はじめからＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータに実行させるか、コンピュータにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００４０】
以上の説明から明らかなように、この発明によれば、論理回路におけるエラー発生箇所やエラー内容を直ちに特定することができ、論理回路に対するデバック処理を効率的に行うことが可能になる。したがって、この発明を利用すれば、使い勝手のよいメモリモデルを提供することができる。
【図面の簡単な説明】
【００４１】
【図１】この発明を実施するメモリモデルの検証対象の論理回路としてのＡＳＩＣの構成例を示すブロック図である。
【図２】この発明を実施するメモリモデルおよびＡＳＩＣを含むＡＳＩＣテストベンチの構成例を示すブロック図である。
【図３】図２に示したテストベンチによるＡＳＩＣ検証処理の第１例を示すフロー図である。
【図４】同じくＡＳＩＣ検証処理の第２例を示すフロー図である。
【図５】同じくＡＳＩＣ検証処理の第３例を示すフロー図である。
【符号の説明】
【００４２】
１：ＣＰＵ    ２：メモリ    １０：ＡＳＩＣ    １１：ＣＰＵ・Ｉ／Ｆ・コントローラ
１２：メモリアービタ    １３：メモリ制御部    １４：圧縮伸張器    １５：回転器
１６，１７：ライトＤＭＡコントローラ    １８，１９：リードＤＭＡコントローラ
２１：ＣＰＵモデル    ２２：メモリモデル    ２３：テストシナリオ
【図１】
2006227668.tif 000003
【図２】
2006227668.tif 000004
【図３】
2006227668.tif 000005
【図４】
2006227668.tif 000006
【図５】
2006227668.tif 000007