(57)【特許請求の範囲】
【請求項１】
試験プログラムに基づく命令であって、共有メモリの所定のアドレス領域を利用して処理を実行する前記命令を生成し、ＤＵＴ（Ｄｅｓｉｇｎ  Ｕｎｄｅｒ  Ｔｅｓｔ）及び疑似モデルに対して前記命令を発行する複数の命令生成手段と、
生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録手段とを有し、
前記命令生成手段は、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成する
論理シミュレーション装置。
【請求項２】
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を、前記アドレス保護情報記憶手段から削除するアドレス保護情報削除手段をさらに有する
請求項１記載の論理シミュレーション装置。
【請求項３】
前記共有メモリは、前記アドレス領域情報をインデックスとする連想記憶配列であり、
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を前記インデックスとする前記配列の要素を削除する共有メモリ情報削除手段をさらに有する
請求項１又は２記載の論理シミュレーション装置。
【請求項４】
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を、前記アドレス保護情報記憶手段から削除するアドレス保護情報削除手段と、
前記共有メモリは、前記アドレス領域情報をインデックスとする連想記憶配列であり、
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を前記インデックスとする前記配列の要素を削除する共有メモリ情報削除手段と、
生成された前記命令を示す命令情報と、前記命令が利用する前記アドレス領域を示す前記アドレス領域情報とを対応付けて記憶する命令利用アドレス領域記憶手段と、
実行が終了した前記命令を示す前記命令情報を記憶する終了命令記憶手段とをさらに有し、
前記アドレス保護情報削除手段は、前記終了命令記憶手段から、実行が終了した前記命令を示す前記命令情報を取得するとともに、前記命令利用アドレス領域記憶手段から、前記命令情報に対応付けられた前記アドレス領域情報を取得して、前記アドレス保護情報記憶手段から、前記アドレス領域情報を削除し、
前記共有メモリ情報削除手段は、前記アドレス領域情報を前記インデックスとする前記配列の要素を削除する
請求項１記載の論理シミュレーション装置。
【請求項５】
複数の命令生成手段が、試験プログラムに基づく命令であって、共有メモリの所定のアドレス領域を利用して処理を実行する前記命令を生成する命令生成ステップと、
ＤＵＴ（Ｄｅｓｉｇｎ  Ｕｎｄｅｒ  Ｔｅｓｔ）及び疑似モデルに対して前記命令を発行する命令発行ステップと、
生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録ステップとを有し、
前記命令生成ステップでは、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成する
論理シミュレーション方法。
【請求項６】
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を、前記アドレス保護情報記憶手段から削除するアドレス保護情報更新ステップをさらに有する
請求項５記載の論理シミュレーション方法。
【請求項７】
前記共有メモリは、前記アドレス領域情報をインデックスとする連想記憶配列であり、
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を前記インデックスとする前記配列の要素を削除する共有メモリ情報削除ステップをさらに有する
請求項５又は６記載の論理シミュレーション方法。
【請求項８】
コンピュータに、
複数の命令生成手段が、試験プログラムに基づく命令であって、共有メモリの所定のアドレス領域を利用して処理を実行する前記命令を生成する命令生成ステップと、
ＤＵＴ（Ｄｅｓｉｇｎ  Ｕｎｄｅｒ  Ｔｅｓｔ）及び疑似モデルに対して前記命令を発行する命令発行ステップと、
生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録ステップとを実行させるプログラムであって、
前記命令生成ステップでは、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成する
プログラム。
【請求項９】
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を、前記アドレス保護情報記憶手段から削除するアドレス保護情報更新ステップをさらに有する
請求項８記載のプログラム。
【請求項１０】
前記共有メモリは、前記アドレス領域情報をインデックスとする連想記憶配列であり、
実行が終了した前記命令が利用した前記アドレス領域を示す前記アドレス領域情報を前記インデックスとする前記配列の要素を削除する共有メモリ情報削除ステップをさらに有する
請求項８又は９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理シミュレーション装置、論理シミュレーション方法及びプログラムに関し、例えば論理回路のシミュレーション技術に関する。
【背景技術】
【０００２】
ＬＳＩ等の論理回路の論理設計の正しさを検証する論理検証においては、検証対象となる論理回路（ＤＵＴ：Ｄｅｓｉｇｎ  Ｕｎｄｅｒ  Ｔｅｓｔ）と、ＤＵＴと命令単位で同等に動作する擬似モデル（ソフトウェアモデル）とを準備し、両者に任意の命令を実行させ、命令の実行終了のタイミングで、擬似モデルの出力である期待値と、ＤＵＴの実際の出力とを比較する手法が用いられる。
【０００３】
この手法においては、まずリクエスタがＤＵＴ及び擬似モデルに対して同じ命令を発行する。ＤＵＴ及び擬似モデルは、この命令に応じて共有メモリの特定のアドレスをアクセスし、当該アドレスに対するリード、ライト等の動作を実行する。
【０００４】
ここで、リクエスタが複数存在し、これら複数のリクエスタが同時に発行した命令が、共有メモリの同一アドレスにアクセスすることを内容とするものであった場合を考える。この場合、命令単位で動作する擬似モデルでは、クロック単位で動作するＤＵＴを厳密に再現できないため、擬似モデルによって正しい期待値を生成することが困難であった。
【０００５】
そこで、従来は、複数の命令が同時に同一のアドレスにアクセスしないよう、リクエスタ毎に利用可能なアドレス領域を予め分割しておくことにより、この問題に対処していた（特許文献１）。
【０００６】
図１７に、特許文献１にかかる方法の概念を示す。当該方法では、例えば、２個のリクエスタすなわちリクエスタ１及びリクエスタ２が存在する場合、共有メモリ内をリクエスタ１用のアドレス領域とリクエスタ２用のアドレス領域に分割している。このため、リクエスタに入力される試験プログラムも、このことを前提として作成される必要がある。すなわち、リクエスタ１がリクエスタ１用のアドレス領域を使用するようアドレス制約を記述したリクエスタ１専用の試験プログラム１と、リクエスタ２用のアドレス領域を使用するようアドレス制約を記述したリクエスタ２専用の試験プログラム２とを用意する必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０８−３３９３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１にかかる方法では、リクエスタ毎に利用するアドレス領域を制約した専用の試験プログラムを用意する必要があるため、試験プログラムが複雑化し、試験プログラムの準備作業が非効率化するという問題があった。
【０００９】
また、共有メモリのアドレス領域の全域を利用する論理検証においては、共有メモリをアドレス×データの配列として実装した場合、当該論理検証の実行主体である論理シミュレータは、大量のメモリを消費してしまう。そこで、アドレス領域を連想記憶配列として実装し、データが更新されたアドレス領域のみを連想記憶配列に格納することにより、論理シミュレータの消費メモリを抑制する手法がとられることがあった。
【００１０】
図１８に、当該手法の概念を示す。共有メモリの所定のアドレス領域にデータ更新があった場合、その情報は、変更対象のアドレス領域をインデックスとする連想記憶配列の要素に登録される。論理検証の開始初期においては、データ更新の発生数が少ないため、連想記憶配列の要素の数も少ない。
【００１１】
しかしながら、論理検証を長時間続行すると、データ更新の発生数は累積し、連想記憶配列の要素の数は増大してしまう。そのため、当該手法に関しては、長時間の論理検証が困難であるという問題があった。
【００１２】
本発明は、このような問題点を解決するためになされたものであり、試験プログラムにおける制約及びシミュレータにおけるメモリ消費を抑制できる、論理シミュレーション装置、論理シミュレーション方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る論理シミュレーション装置は、共有メモリの所定のアドレス領域を利用して処理を実行する命令を生成する複数の命令生成手段と、生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録手段とを有し、前記命令生成手段は、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成するものである。
【００１４】
また、本発明に係る論理シミュレーション方法は、複数の命令生成手段が、共有メモリの所定のアドレス領域を利用して処理を実行する命令生成ステップと、生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録ステップとを有し、前記命令生成ステップでは、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成するものである。
【００１５】
また、本発明にかかるプログラムは、コンピュータに、複数の命令生成手段が、共有メモリの所定のアドレス領域を利用して処理を実行する命令生成ステップと、生成された前記命令が利用するアドレス領域を示すアドレス領域情報を、アドレス保護情報記憶手段に登録するアドレス保護情報登録ステップとを実行させるプログラムであって、前記命令生成ステップでは、前記アドレス保護情報記憶手段に前記アドレス領域情報として未だ登録されていないアドレス領域を利用するよう、制約の付いた前記命令を生成するものである。
【発明の効果】
【００１６】
本発明により、試験プログラム側における制約及びシミュレータ側におけるメモリ消費を抑制できる、論理シミュレーション装置、論理シミュレーション方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる論理シミュレーション装置の構成を示す図である。
【図２】実施の形態１にかかる論理シミュレーション装置の構成を示す図である。
【図３】実施の形態１にかかる論理シミュレーション装置の処理フローを示す図である。
【図４】実施の形態２にかかる論理シミュレーション装置の構成を示す図である。
【図５】実施の形態２にかかる論理シミュレーション装置の構成を示す図である。
【図６】実施の形態２にかかる論理シミュレーション装置の処理フローを示す図である。
【図７】実施の形態３にかかる論理シミュレーション装置の構成を示す図である。
【図８】実施の形態３にかかる論理シミュレーション装置の構成を示す図である。
【図９】実施の形態２にかかる論理シミュレーション装置の処理フローを示す図である。
【図１０】本発明を用いた論理シミュレーション方法を示す図である。
【図１１】本発明を用いた論理シミュレーション方法を示す図である。
【図１２】本発明を用いた論理シミュレーション方法を示す図である。
【図１３】本発明を用いた論理シミュレーション方法を示す図である。
【図１４】本発明を用いた論理シミュレーション方法を示す図である。
【図１５】本発明を用いた論理シミュレーション方法を示す図である。
【図１６】本発明を用いた論理シミュレーション方法を示す図である。
【図１７】従来の論理シミュレーション方法を示す図である。
【図１８】従来の論理シミュレーション方法を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１９】
＜実施の形態１＞
まず、図１を用いて、本発明の実施の形態１にかかる論理シミュレーション装置１００の構成について説明する。
【００２０】
本実施の形態にかかる論理シミュレーション装置１００は、ＤＵＴ及び疑似モデルに対して命令を発行する装置である。論理シミュレーション装置１００は、複数の命令生成手段１０１、アドレス保護情報登録手段１０２及びアドレス保護情報記憶手段１０３を有する。なお、論理シミュレーション装置１００は、図示しない構成要素として、命令利用アドレス領域記憶手段及び命令利用アドレス領域抽出手段を有していても良い。
【００２１】
命令生成手段１０１は、ランダム命令生成手段１０１１及びリクエスタ１０１２を含む。また、アドレス保護情報登録手段１０２は、保護アドレス登録手段１０２２を含む。なお、アドレス保護情報登録手段１０２は、命令利用アドレス領域抽出手段１０２１を含んでも良い。
【００２２】
図２を用いて、論理シミュレーション装置１００の構成要素夫々の役割について、他の構成要素との関係を踏まえて説明する。
【００２３】
命令生成手段１０１は、ＤＵＴ及び疑似モデルに対し、試験プログラムに基づく命令を発行する手段である。命令生成手段１０１は、より具体的にはランダム命令生成手段１０１１及びリクエスタ１０１２により構成される。
【００２４】
ランダム命令生成手段１０１１は、試験プログラムを入力し、ＤＵＴ及び疑似モデルに順次発行すべき命令のうち、最新の１命令分の制約条件を取得する。ついで、ランダム命令生成手段１０１１は、試験プログラムが定める制約条件に基づき、後述の手順により命令を生成し、リクエスタ１０１２に渡す。
【００２５】
ここで、制約条件とは、上記命令に含まれる、命令の種類（リード又はライト）、アクセスすべきアドレス、データのサイズや内容等の諸条件をいう。上記アクセスすべきアドレスは、共有メモリ内のアドレス領域である。
【００２６】
ランダム命令生成手段１０１１は、後述するアドレス保護情報記憶手段１０３を参照して、アドレス保護情報記憶手段１０３に未だ登録されていないアドレス領域を特定し、当該アドレス領域を、上記制約条件中のアクセスすべきアドレスに指定する。この際、ランダム命令生成手段１０１１は、アドレス保護情報記憶手段１０３に未だ登録されていないアドレス領域のなかから、ランダムなアドレス領域を特定し、上記アクセスすべきアドレスとする。
【００２７】
リクエスタ１０１２は、ランダム命令生成手段１０１１から入力される上記命令を、ＤＵＴ及び疑似モデルに対して発行する。
【００２８】
なお、ここでは複数の命令生成手段１０１に、ランダム命令生成手段１０１１及びリクエスタ１０１２がそれぞれ含まれる構成例を説明した。しかしながら、本発明はこれに限定されず、例えば単一のランダム命令生成手段１０１１が命令を生成し、これを複数のリクエスタ１０１２に対して出力するよう構成しても良い。この場合、複数の命令生成手段１０１はランダム命令生成手段１０１１を含まず、ランダム命令生成手段１０１１は独立して存在することとなる。
【００２９】
アドレス保護情報登録手段１０２の保護アドレス登録手段１０２２は、上記命令が生成されると、上記命令と上記命令がアクセスするアドレス領域との組を、後述のアドレス保護情報記憶手段１０３に登録する。
【００３０】
なお、アドレス保護情報登録手段１０２は、後述の命令利用アドレス領域抽出手段１０２１及び命令利用アドレス領域記憶手段が存在する場合は、命令利用アドレス領域抽出手段１０２１が命令利用アドレス領域記憶手段を参照することにより、生成済みの命令とその命令がアクセスするアドレス領域との組を取得し、この組を保護アドレス登録手段１０２２が後述のアドレス保護情報記憶手段１０３に登録することとしても良い。
【００３１】
アドレス保護情報記憶手段１０３は、既に生成された命令により利用されている共有メモリのアドレス領域を登録しておくための記憶手段である。具体的には、生成された命令と、その命令が利用するアドレス領域とが組として記憶される。
【００３２】
命令利用アドレス領域抽出手段は、ランダム命令生成手段１０１１が生成した命令を取得して、その命令がアクセスするアドレス領域を抽出し、その命令とそのアドレス領域とを組として、命令利用アドレス領域記憶手段に登録する。
【００３３】
なお、命令利用アドレス領域抽出手段は、上述のアドレス保護情報登録手段１０２と同一の手段であっても良い。この場合、当該手段は、ランダム命令生成手段１０１１が生成した命令を取得した後、命令利用アドレス領域記憶手段に対する情報登録と、アドレス保護情報記憶手段１０３に対する情報登録とを、同時に実行しても良い。
【００３４】
命令利用アドレス領域記憶手段は、既に生成された命令により利用されている共有メモリのアドレス領域を登録しておくための記憶手段である。本実施の形態では、生成された命令と、その命令が利用するアドレス領域とが組として記憶される。
【００３５】
つぎに、図３を用いて、本発明の実施の形態１にかかる論理シミュレーション装置１００の動作例について説明する。
【００３６】
論理シミュレーション装置１００は、ステップＡ１乃至Ａ９に従って動作する。なお、ステップＡ１乃至Ａ９は、リクエスタに命令がわたされるタイミングで実施されることが望ましい。
【００３７】
Ａ１：ランダム命令生成手段１０１１は、試験プログラムを入力して、発行すべき命令のうち、最新の１命令分の制約条件を取得する。
【００３８】
Ａ２：ランダム命令生成手段１０１１は、アドレス保護情報記憶手段１０３を参照して、既に生成された命令により利用済のアドレス領域を取得する。
【００３９】
Ａ３：ランダム命令生成手段１０１１は、Ａ１において取得した制約条件に、Ａ２において取得した利用済のアドレス領域アクセスしないことを内容とする条件を追加する。これにより、ランダム命令生成手段１０１１は、既に利用済のアドレス領域に対してはアクセスを行わないような命令を生成することができる。
【００４０】
Ａ４：ランダム命令生成手段１０１１は、Ａ３の制約条件に基づき、命令をランダム生成する。
【００４１】
Ａ５：ランダム命令生成手段１０１１は、生成した命令を、発行対象の命令としてリクエスタ１０１０２に出力する。なお、実際にリクエスタ１０１２が命令をＤＵＴ及び疑似モデルに発行するタイミングは、リクエスタ１０１２に委ねられる。
【００４２】
Ａ６：命令利用アドレス領域抽出手段は、ランダム命令生成手段１０１１が生成した命令から、その命令がアクセスするアドレス領域を抽出する。
【００４３】
Ａ７：命令利用アドレス領域抽出手段は、Ａ６において抽出対象とされた命令を示す情報と、その命令がアクセスするアドレス領域を示す情報とを組にして、命令利用アドレス領域記憶手段に登録する。
【００４４】
Ａ８：アドレス保護情報登録手段１０２は、命令利用アドレス領域記憶手段を参照して、ランダム命令生成手段１０１１が生成した命令を示す情報と、その命令がアクセスするアドレス領域を示す情報との組を取得し、この組をアドレス保護情報記憶手段１０３に登録する。なお、Ａ１からＡ８までの処理は、同一シミュレーション時刻に行う必要がある。
【００４５】
Ａ９：論理シミュレーション装置１００は、試験プログラムが定める全ての命令を生成したか確認し、残命令があればＡ１に戻り、無ければ処理を終了する。
【００４６】
本実施の形態では、論理シミュレーション装置１００のアドレス情報保護登録手段１０２が、既に生成された命令により利用済のアドレス領域を、アドレス保護情報記憶手段１０３に登録し、命令生成手段１０１は、アドレス保護情報記憶手段１０３に未だ登録されていないアドレス領域を利用するよう制約の付いた命令を生成する。これにより、論理シミュレータ内に、命令発行主体である論理シミュレーション装置１００が複数存在したとしても、これらの論理シミュレーション装置１００が発行した命令が、共有メモリの同一アドレスにアクセスすることを防ぐことができる。よって、試験プログラム側において制約を加える必要がなく、試験プログラムの簡略化が可能となる。
【００４７】
＜実施の形態２＞
図４を用いて、本発明の実施の形態２にかかる論理シミュレーション装置１００の構成について説明する。
【００４８】
本実施の形態にかかる論理シミュレーション装置１００は、アドレス保護情報削除手段１０４を含む点に特徴を有する。なお、図示しない終了命令記憶手段を備えていても良い。その余の構成は、上述の実施の形態１と同様である。
【００４９】
図５を用いて、本実施の形態にかかる論理シミュレーション装置１００の構成要素夫々の役割について説明する。なお、実施の形態１と重複する部分については説明を省略する。
【００５０】
アドレス保護情報削除手段１０４は、アドレス保護情報記憶手段１０３から、実行が終了した命令と、その命令が利用していたアドレス領域を削除する。
【００５１】
なお、後述の終了命令記憶手段が存在する場合は、アドレス保護情報削除手段１０４は、終了命令記憶手段から実行が終了した命令を順次取得し、アドレス保護情報記憶手段１０３から、実行が終了した命令と、その命令が利用していたアドレス領域を削除する。
【００５２】
終了命令記憶手段は、実行が終了した命令のリストを記憶する手段である。具体的には、ＤＵＴ及び疑似モデルに発行された命令であって、ＤＵＴ及び疑似モデルから処理結果にあたるリプライが返却されたり、同期命令の実行終了等により実行終了が確定した命令が記憶される。
【００５３】
つぎに、図６を用いて、本実施の形態にかかる論理シミュレーション装置１００の動作例について説明する。なお、実施の形態１と重複する部分については説明を省略する。
【００５４】
論理シミュレーション装置１００は、ステップＡ１乃至Ａ１２に従って動作する。なお、ステップＡ１乃至Ａ９は、リクエスタに命令がわたされるタイミングで実施し、ステップＡ１０乃至Ａ１２は、命令の実行終了を確認し、その命令にかかる期待値チェック完了したタイミングで実施することが望ましい。
【００５５】
Ａ１０：予め、論理シミュレータが、発行済の命令に対するリプライや終了割込等が観測された時点で、命令実行終了を判定する。その後、論理シミュレータは、ＤＵＴのリプライ及び共有メモリデータと、期待値との比較処理を行う。この一連の処理が終了した命令は、論理シミュレータにより、終了命令記憶手段に登録される。アドレス保護情報削除手段１０４は、終了命令記憶手段より実行が終了した命令を示す情報を順次取得する。なお、終了命令記憶手段が存在しない場合は、アドレス保護情報削除手段１０４は、論理シミュレータから実行が終了した命令にかかる情報を受領しても良い。
【００５６】
Ａ１１：アドレス保護情報削除手段１０４は、Ａ１０において取得した命令を示す情報をキーとして、命令利用アドレス領域記憶手段から当該命令が利用していたアドレス領域を示す情報を取得する。なお、命令利用アドレス領域記憶手段が存在しない場合は、論理シミュレータから実行が終了した命令が利用していたアドレス領域にかかる情報を受領しても良い。
【００５７】
Ａ１２：アドレス保護情報削除手段１０４は、アドレス保護情報記憶手段１０３から、当該命令と、その命令が利用していたアドレス領域とを削除する。
なお、ステップＡ１０乃至Ａ１２に係る処理は、同一シミュレーション時刻に行うことが望ましい。
【００５８】
本実施の形態では、論理シミュレーション装置１００のアドレス保護情報削除手段１０４が、実行が終了した命令とその命令が利用していたアドレス領域に関する情報を、アドレス保護情報記憶手段１０３から削除する。これにより、論理シミュレーション装置１００は、上記アドレス領域を再度利用する命令を発行することができるようになる。
【００５９】
＜実施の形態３＞
図７を用いて、本発明の実施の形態３にかかる論理シミュレーション装置１００の構成について説明する。
【００６０】
本実施の形態にかかる論理シミュレーション装置１００は、共有メモリとしての共有メモリ情報記憶手段１０６と、共有メモリのデータを操作する共有メモリ情報削除手段１０５を含む点に特徴を有する。その余の構成は、上述の実施の形態１又は２と同様である。
【００６１】
図８を用いて、本実施の形態にかかる論理シミュレーション装置１００の構成要素夫々の役割について説明する。なお、実施の形態１又は２と重複する部分については説明を省略する。
【００６２】
共有メモリ情報記憶手段１０６は、連想記憶配列として実装された記憶手段であり、ＤＵＴ及び疑似モデルにより共有メモリとして利用される記憶手段である。共有メモリ情報記憶手段１０６は、共有メモリとして利用可能なアドレス領域のうち、命令によってリード又はライトが行われたアドレスとそのデータのリストのみを、当該アドレスをインデックスとする配列要素として保持する。
【００６３】
共有メモリ情報削除手段１０５は、実行が終了した命令が利用していたアドレス領域を解放する処理を行う。具体的には、まず、共有メモリ情報削除手段１０６は、命令利用アドレス領域一覧３２を参照して、実行が終了した命令を示す情報を取得する。ついで、共有メモリ情報削除手段１０５は、実行が終了した命令が利用していたアドレス領域を、共有メモリ情報記憶手段１０５より検索し、当該アドレス領域すなわち配列要素をデータとともに削除する。
【００６４】
つぎに、図９を用いて、本実施の形態にかかる論理シミュレーション装置１００の動作例について説明する。なお、実施の形態１又は２と重複する部分については説明を省略する。
【００６５】
論理シミュレーション装置１００は、ステップＡ１乃至Ａ１８に従って動作する。なお、ステップＡ１乃至Ａ９は、リクエスタに命令がわたされるタイミングで実施し、ステップＡ１０乃至Ａ１８は、命令の実行終了を確認し、その命令にかかる期待値チェック完了したタイミングで実施することが望ましい。
【００６６】
Ａ１３：共有メモリ情報削除手段１０５は、実施の形態２において示したステップＡ１０乃至Ａ１１において取得された、実行が終了した命令が利用していたアドレス領域を、共有メモリ情報記憶手段１０６から検索する。すなわち、連想記憶配列から、当該アドレス領域をインデックスとする配列要素を検索する。
【００６７】
Ａ１４：共有メモリ情報削除手段１０５は、実行が終了した命令が利用していたアドレス領域をインデックスとする配列要素が発見されたならば、当該配列要素を削除する。なお、上記配列要素が発見されなかったならば、ステップＡ１５に進む。
【００６８】
Ａ１５：共有メモリ情報削除手段１０５は、実行が終了した命令を示す情報を、命令利用アドレス領域記憶手段から削除する。
【００６９】
Ａ１６：終了命令記憶手段に登録されているすべての命令について、ステップＡ１０乃至Ａ１５にかかる処理が完了したならば、ステップＡ１７に進む。終了命令記憶手段に未処理の命令が残っているならば、ステップＡ１０に戻り次の命令について同様の処理を行う。
【００７０】
Ａ１７：試験プログラムの全ての命令の実行が終了したならば、論理シミュレーション装置１００は動作を終了する。一方、まだ実行中及び実行前の命令があるならば、ステップＡ１８に進む。
【００７１】
Ａ１８：論理シミュレーション装置１００は、シミュレーション時刻を進ませ、ステップＡ１０に戻り、次の命令が実行終了するまで待機する。
【００７２】
なお、ステップＡ１０乃至Ａ１８に係る処理は、同一シミュレーション時刻に行うことが望ましい。
【００７３】
ここで、図１０乃至図１６を用いて、具体的な制約条件及び命令の下で、上述の実施の形態１乃至３にかかる構成要素を備えた論理シミュレーション装置１００がどのように動作するかを例示する。
【００７４】
まず、図１０に、論理シミュレーション装置１００を用いて論理シミュレーションを行う場合の構成例を示す。
【００７５】
図１０の例では、命令生成手段１０１を２つ含む論理シミュレーション装置１００を利用して、ＤＵＴ及び疑似モデルに対して命令を発行し、ＤＵＴ及び疑似モデルにおける命令実行結果を比較する論理シミュレーションを行う。すなわち、本例では、図１７におけるリクエスタ１及びリクエスタ２に代えて、２つの命令生成手段１０１を利用する。以下、これら２つの命令生成手段１０１をそれぞれ命令生成手段１０１（１）、命令生成手段１０１（２）と称する。
【００７６】
命令生成手段１０１（１）及び命令生成手段１０１（２）には、同じ試験プログラムが供給される。ここで、試験プログラムは、論理シミュレーション装置１００が発行すべき命令を指示する内容を含んでいる。
【００７７】
命令生成手段１０１（１）及び命令生成手段１０１（２）はそれぞれ、試験プログラムに基づいて命令を生成し、論理検証の対象であるＤＵＴ及び疑似モデルに対して、当該命令を発行する。ＤＵＴは、命令に従って共有メモリにアクセスし、データのリード、ライト等の処理や、処理結果の論理シミュレーション装置１００へのリプライを行う。疑似モデルも同様に、命令に従って共有メモリ（期待値生成用）にアクセスし、データのリード、ライト等の処理や、処理結果の論理シミュレーション装置１００へのリプライを行う。
【００７８】
ここで、擬似モデルが出力するリプライや、共有メモリ（期待値生成用）へのアクセス結果（共有メモリの状態）のことを、期待値という。本論理シミュレータは、ＤＵＴが出力するリプライや、共有メモリへのアクセス結果（共有メモリの状態）と、期待値とを比較することにより、ＤＵＴの動作が正しいかどうかをチェックする。
【００７９】
なお、共有メモリの各アドレスのデータの初期値はランダムであるものとする。すなわち、あるアドレスのデータに対するリードが初めて発生した場合は、共有メモリ及び共有メモリ（期待値生成用）ともに、当該アドレスのデータをランダム値にセットする。セットすべきランダム値は、共有メモリ及び共有メモリ（期待値生成用）で同じものとなる。
【００８０】
なお、本例において用いられる試験プログラムは、以下の内容を含むものとする。すなわち、命令１で、ランダムアドレスに対するデータのライトを実行する。命令２で、ランダムアドレスのリードを実行する。１００時刻のｗａｉｔ後、命令３で、ランダムアドレスに対するデータの同期ライトを実行する。
【００８１】
ここで、命令１におけるライトは、命令の実行が終わる時刻を論理シミュレーション装置１００及び擬似モデルが直接知ることができないものである。命令２のリードは、論理シミュレーション装置１００がＤＵＴからのリプライを取得することで命令実行終了を判定できるものである。命令３の同期ライトは、それまでに同じ論理シミュレーション装置１００から発行された命令の実行がすべて完了したことを、論理シミュレーション装置１００及び擬似モデルが確認できるものである。
【００８２】
図１１に、本例における命令の制約条件の内容を示す。
【００８３】
制約条件は、命令生成手段１０１（１）及び命令生成手段１０１（２）それぞれに対して、命令毎に供給されるものである。ここで、時刻（時刻０、時刻１００など）はシミュレーション時刻を示し、矢印は同一シミュレーション時刻内での遷移を示す。すなわち、図１１によれば、命令生成手段１０１（１）は、時刻０において、命令１−１制約条件および命令１−２制約条件を順次入力し、命令生成手段１０１（２）は、同じ時刻０において、命令２−１制約条件および命令２−２制約条件を順次入力していることになる。その後、命令生成手段１０１（１）は、時刻１００において、命令１−３制約条件を入力し、命令生成手段１０１（２）は、同じ時刻１００において、命令２−３制約条件を入力する。
【００８４】
図１２に、本例におけるアドレス保護情報記憶手段１０３の記憶内容の遷移を示す。
【００８５】
アドレス保護情報記憶手段１０３は、現在実行中の命令がアクセスしている共有メモリのアドレス領域の一覧を格納している。ここで、時刻及び矢印の意味は、図１１と同様である。すなわち、アドレス保護情報記憶手段１０３の記憶内容は、時刻０のシミュレーション時刻内に一回更新され、その後時刻４０、時刻５０、時刻１００及び時刻１５０のタイミングで更新されている。
【００８６】
図１３に、本例における終了命令記憶手段の記憶内容の遷移を示す。
【００８７】
終了命令記憶手段は、実行終了が確認できた命令の一覧を格納している。ここで、時刻及び矢印の意味は、図１１と同様である。すなわち、終了命令記憶手段の記憶内容は、時刻４０、時刻５０及び時刻１５０のタイミングで更新されている。
【００８８】
図１４に、本例における共有メモリ情報記憶手段１０６の記憶内容の遷移を示す。
【００８９】
共有メモリ情報記憶手段１０６は、図１０における共有メモリ及び共有メモリ（期待値生成用）それぞれについて、ＤＵＴ又は疑似モデルによりアクセスされたアドレスと、そのアドレスに記憶されているデータの組の一覧を格納している。ここで、時刻及び矢印の意味は、図１１と同様である。
【００９０】
図１５に、本例において実行される命令の内容を示す。
【００９１】
命令は、図１１の制約条件に従いつつ、アクセス先のアドレスや、ライトすべきデータ等をランダムに決定して生成される。ここで、時刻及び矢印の意味は、図１１と同様である。
【００９２】
図１６に、本例における命令利用アドレス領域記憶手段の記憶内容の遷移を示す。
【００９３】
命令利用アドレス領域記憶手段は、実行中の命令と、当該命令がアクセスする共有メモリのアドレス領域を組にして、それらの組の一覧を格納している。ここで、時刻及び矢印の意味は、図１１と同様である。
【００９４】
つづいて、本例における論理シミュレーション装置１００が、上述のステップＡ１乃至Ａ１８の処理を実行した場合の、制約条件及び命令の発行機序、並びにアドレス保護情報記憶手段１０３、終了命令記憶手段、共有メモリ情報記憶手段１０６及び命令利用アドレス領域記憶手段の内容の変化について、順を追って説明する。
【００９５】
Ａ１：命令生成手段１０１（１）が、試験プログラムを入力し、命令１−１制約条件（図１１）を取得する。
【００９６】
Ａ２：このとき、アドレス保護情報記憶手段１０３は空であるため、命令生成手段１０１（１）は、独自に制約条件を生成しない。
【００９７】
Ａ３：よって、命令生成手段１０１（１）は、命令１−１制約条件（図１１）そのものに基づいて命令１−１を生成する。
【００９８】
Ａ４：命令生成手段１０１（１）は、命令１−１制約条件（図１１）に基づいて命令１−１をランダム生成する。ここで、命令１−１のアクセス先アドレス、データ、サイズが確定する（図１５）。
【００９９】
Ａ５：命令生成手段１０１（１）は、命令１−１（図１５）を発行する。
【０１００】
Ａ６：命令利用アドレス領域抽出手段が、命令１−１がアクセスする共有メモリのアドレス領域１２３４〜１２３５を抽出する。
【０１０１】
Ａ７：アドレス保護情報登録手段１０２が、命令１−１とアドレス領域１２３４〜１２３５の組を、命令利用アドレス領域記憶手段（図１６）に登録する。
【０１０２】
Ａ８：アドレス保護情報登録手段１０２は、さらに、アドレス領域１２３４〜１２３５をアドレス保護情報記憶手段１０３（図１２）に登録する。
【０１０３】
Ａ９：試験プログラムは未だ終了していないため、ステップＡ１に戻る。
【０１０４】
Ａ１：命令生成手段１０１（１）が、次の命令の制約条件である命令１−２制約条件（図１１）を取得する。
【０１０５】
Ａ２〜Ａ５：このとき、アドレス保護情報記憶手段１０３は、命令１−１が発行された結果更新されている。そのため、命令生成手段１０１（１）は、命令１−２制約条件（図１１）とともに、アドレス保護情報記憶手段１０３に既に登録されているアドレス領域１２３４〜１２３５を使用不可領域とする制約に従って、命令１−２（図１５）をランダム生成し、発行する。
【０１０６】
なお、同一シミュレーション時刻において実行すべきとされている命令、すなわち命令１−１、命令１−２、命令２−１及び命令２−２は、同一の命令生成手段１０１内においては試験プログラムの記述順に従って取得されることを要するが、命令生成手段１０１（１）と命令生成手段１０１（２）と間では取得順に制約はない。
【０１０７】
Ａ６〜Ａ８：命令利用アドレス領域抽出手段が、命令１−１がアクセスする共有メモリのアドレス領域４２２２〜４２２２を抽出し、アドレス保護情報登録手段１０２が、命令１−２と組にして命令利用アドレス領域記憶手段（図１６）に登録する。さらに、アドレス領域４２２２〜４２２２をアドレス保護情報記憶手段１０３（図１２）に登録する。
【０１０８】
Ａ９：試験プログラムは未だ終了していないため、再びステップＡ１に戻る。
【０１０９】
Ａ１〜Ａ９：命令２−１及び命令２−２についても同様に、順次制約条件が取得され、命令が発行され、命令利用アドレス領域記憶手段及びアドレス保護情報登録手段１０２への登録が行われる。
【０１１０】
試験プログラムは未だ終了していないため、再びステップＡ１に戻る。ここで、試験プログラムの指示により１００時刻ｗａｉｔする。
【０１１１】
なお、論理シミュレータでは、疑似モデルとＤＵＴとで、共有メモリへのアクセスのタイミングが異なることが一般的である。
【０１１２】
疑似モデルは命令単位に動作するため、シミュレーション時刻０において実行した命令の実行結果は、シミュレーション時刻０において共有メモリ（期待値生成用）に反映される。すなわち、ライト命令である命令１−１及び命令２−１の実行結果として、共有メモリ（期待値生成用）のアドレス１２３４にデータＦＦ、アドレス１２３５にデータＢＢ、アドレス４２２２にデータＣ９が登録される。また、リード命令である命令１−２及び命令２−２は、共有メモリ（期待値生成用）上の所定のアドレスの初期値をリードする命令であるが、この場合はランダムデータが生成されて当該アドレスに格納され、当該ランダムデータが当該リード命令の実行結果として疑似モデルに返される。例えば、リード命令である命令１−２及び命令２−２の実行結果として、共有メモリ（期待値生成用）のアドレスＡＢＣ０にデータ０１、アドレスＡＢＣ１にデータ０８、アドレスＡＢＣ２にデータＡ１、アドレスＡＢＣ３にデータＤＥ、アドレス３７２０にデータ３Ａ、アドレス３７２１にデータ４Ｂ、アドレス３７２２にデータ２Ｅ、アドレス３７２３にデータＡ４が登録される（図１４）。
【０１１３】
一方、ＤＵＴはクロック単位で命令を処理していくため、命令の実行結果が共有メモリに登録されるタイミングは、ＤＵＴ内の実装回路に依存する。よって、本例では、ライト命令である命令１−１及び命令２−１の実行結果は、シミュレーション時刻０では共有メモリ側に登録されていない。一方、リード命令である命令１−２及び命令２−２の実行結果は、シミュレーション時刻０において登録される。ここで、リード命令の実行結果としてＤＵＴによって共有メモリに登録される内容は、同じリード命令の実行結果として疑似モデルによって共有メモリ（期待値生成用）に登録される内容と同一である。すなわち、アドレスＡＢＣ０にデータ０１、アドレスＡＢＣ１にデータ０８、アドレスＡＢＣ２にデータＡ１、アドレスＡＢＣ３にデータＤＥ、アドレス３７２０にデータ３Ａ、アドレス３７２１にデータ４Ｂ、アドレス３７２２にデータ２Ｅ、アドレス３７２３にデータＡ４が登録される（図１４）。
【０１１４】
シミュレーション時刻が進み、時刻４０において、ＤＵＴが命令１−２のリプライを返す。命令生成手段１０１（１）のリクエスタ１０１２は、リプライを受け取ると、リプライと、擬似モデルの生成した期待値とを比較し、両者が一致していればＤＵＴが正常に動作しているものと判定する。当該判定がなされたならば、命令１−２は実行が終了したものとみなされ、終了命令記憶手段（図１３）に命令１−２が登録される。
【０１１５】
Ａ１０：アドレス保護情報削除手段１０４は、終了命令記憶手段（図１３）を参照して命令１−２を取得する。
【０１１６】
Ａ１１：アドレス保護情報削除手段１０４は、命令利用アドレス領域記憶手段（図１６）を参照して、命令１−２が利用するアドレス領域ＡＢＣ０〜ＡＢＣ３を取得する。
【０１１７】
Ａ１２：アドレス保護情報削除手段１０４は、アドレス保護情報記憶手段１０３（図１２）から、アドレス領域ＡＢＣ０〜ＡＢＣ３を削除する。
【０１１８】
Ａ１３：共有メモリ情報削除手段１０５は、共有メモリ情報記憶手段１０６（図１４）から、アドレス領域ＡＢＣ０〜ＡＢＣ３を検索する。
【０１１９】
Ａ１４：共有メモリ情報削除手段１０５は、アドレス領域ＡＢＣ０〜ＡＢＣ３が見つかったなら、これらのアドレスをデータごと削除する。
【０１２０】
Ａ１５：共有メモリ情報削除手段１０５は、命令利用アドレス領域記憶手段（図１６）から、命令１−２とアドレス領域との組を削除する。
【０１２１】
Ａ１６：ここで、この段階で実行が終了している命令に対しては、全て処理が完了している。
【０１２２】
Ａ１７：一方、試験プログラムはまだ終了してない。
【０１２３】
Ａ１８：よって、試験プログラムの次の命令が終わるのを待機する。
【０１２４】
シミュレーション時刻が進み、時刻５０において、ＤＵＴが命令２−２のリプライを返す。命令生成手段１０１（２）のリクエスタ１０１２は、リプライを受け取ると、リプライと、擬似モデルの生成した期待値とを比較し、両者が一致していればＤＵＴが正常に動作しているものと判定する。当該判定がなされたならば、命令２−２は実行が終了したものとみなされ、終了命令記憶手段（図１３）に命令２−２が登録される。
【０１２５】
Ａ１０：アドレス保護情報削除手段１０４は、終了命令記憶手段（図１３）を参照して命令２−２を取得する。
【０１２６】
Ａ１１：アドレス保護情報削除手段１０４は、命令利用アドレス領域記憶手段（図１６）を参照して、命令２−２が利用するアドレス領域３７２０〜３７２３を取得する。
【０１２７】
Ａ１２：アドレス保護情報削除手段１０４は、アドレス保護情報記憶手段１０３（図１２）から、アドレス領域３７２０〜３７２３を削除する。
【０１２８】
Ａ１３：共有メモリ情報削除手段１０５は、共有メモリ情報記憶手段１０６（図１４）から、アドレス領域３７２０〜３７２３を検索する。
【０１２９】
Ａ１４：共有メモリ情報削除手段１０５は、アドレス領域３７２０〜３７２３が見つかったなら、これらのアドレスをデータごと削除する。
【０１３０】
Ａ１５：共有メモリ情報削除手段１０５は、命令利用アドレス領域記憶手段（図１６）から、命令２−２とアドレス領域との組を削除する。
【０１３１】
Ａ１６〜Ａ１８：試験プログラムの次の命令が終了し、終了命令記憶手段に登録されるのを待機する。
【０１３２】
シミュレーション時刻が進み、時刻１００となる。
【０１３３】
Ａ１：命令生成手段１０１（１）及び命令生成手段１０１（２）が、命令１−３制約条件及び命令２−３制約条件（図１１）を取得する。
【０１３４】
Ａ２〜Ａ５：命令生成手段１０１（１）及び命令生成手段１０１（２）が、命令１−３制約条件及び命令２−３制約条件（図１１）とともに、アドレス保護情報記憶手段１０３に既に登録されているアドレス領域を使用不可領域とする制約に従って、命令１−３及び命令２−３（図１５）をランダム生成し、発行する。
【０１３５】
Ａ６〜Ａ８：アドレス保護情報登録手段１０２が、命令１−３及び命令２−３がアクセスする共有メモリのアドレス領域を抽出し、命令１−３及び命令２−３とそれぞれ組にして命令利用アドレス領域記憶手段（図１６）に登録する。さらに、これらのアドレス領域をアドレス保護情報記憶手段１０３（図１２）に登録する。
【０１３６】
Ａ９：命令２−３までの処理が終われば、試験プログラムに含まれるすべての命令の処理が終了したこととなる。よって、ステップＡ１〜ステップＡ９にかかる処理はここで終了する。
【０１３７】
このとき、命令１−３及び命令２−３はライト命令であるため、シミュレーション時刻１００においては、これらの命令の実行結果は、疑似モデルが用いる共有メモリ（期待値生成用）にのみ反映され、ＤＵＴが用いる共有メモリには反映されない。
【０１３８】
シミュレーション時刻が進み、時刻１５０において、ＤＵＴが、命令１−３及び命令２−３の同期ライト完了を命令生成手段１０１（１）及び命令生成手段１０１（２）のそれぞれのリクエスタ１０１２に通知する。同期ライト命令の場合は、この時点で、疑似モデルが用いる共有メモリ（期待値生成用）及びＤＵＴが用いる共有メモリの双方に、命令１−３及び命令２−３の実行結果が反映された状態となる。また、この時点で、過去に発行された命令１−１及び命令２−１についても、ＤＵＴが用いる共有メモリへ実行結果が反映される。
【０１３９】
命令生成手段１０１（１）及び命令生成手段１０１（２）のそれぞれのリクエスタ１０１２は、同期ライト完了の通知に応じ、共有メモリと共有メモリ（期待値生成用）との記憶内容を比較し、両者が一致していればＤＵＴが正常に動作しているものと判定する。当該判定がなされたならば、命令１−１、命令２−１、命令１−３及び命令２−３は実行が終了したものとみなされ、終了命令記憶手段（図１３）に命令１−１、命令２−１、命令１−３及び命令２−３が登録される。
【０１４０】
Ａ１０：アドレス保護情報削除手段１０４は、終了命令記憶手段（図１３）を参照して命令１−１、命令２−１、命令１−３及び命令２−３を取得する。
【０１４１】
Ａ１１：アドレス保護情報削除手段１０４は、命令利用アドレス領域記憶手段（図１６）を参照して、命令１−１、命令２−１、命令１−３及び命令２−３が利用するアドレス領域をそれぞれ取得する。
【０１４２】
Ａ１２：アドレス保護情報削除手段１０４は、アドレス保護情報記憶手段１０３（図１２）から、上記アドレス領域を削除する。
【０１４３】
Ａ１３：共有メモリ情報削除手段１０５は、共有メモリ情報記憶手段１０６（図１４）から、上記アドレス領域を検索する。
【０１４４】
Ａ１４：共有メモリ情報削除手段１０５は、上記アドレス領域が見つかったなら、これらのアドレスをデータごと削除する。
【０１４５】
Ａ１５：共有メモリ情報削除手段１０５は、命令利用アドレス領域記憶手段（図１６）から、命令１−１、命令２−１、命令１−３及び命令２−３と、これらの命令が利用するアドレス領域との組を削除する。
【０１４６】
Ａ１６：ここで、アドレス保護情報記憶手段１０３（図１２）、命令利用アドレス領域記憶手段（図１６）及び共有メモリ情報記憶手段１０６（図１４）は、全て空の状態となる。
【０１４７】
Ａ１７：試験プログラムに含まれる全ての命令の実行が完了する。
【０１４８】
Ａ１８：ステップＡ１０〜Ａ１８にかかる処理を終了する。
【０１４９】
本実施の形態では、共有メモリ情報削除手段１０５が、実行が終了した命令が利用していたアドレス領域とデータとを、共有メモリ情報記憶手段１０６から逐次削除する。そのため、論理検証を長時間続行しても、連想記憶配列の要素の数を増大させることなく、メモリ消費を抑制することができる。
【０１５０】
＜その他の実施の形態＞
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１５１】
また、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１５２】
１００  論理シミュレーション装置
１０１  命令生成手段
１０１１  ランダム命令生成手段
１０１２  リクエスタ
１０２  アドレス保護情報登録手段
１０２１  命令利用アドレス領域抽出手段
１０２２  保護アドレス登録手段
１０３  アドレス保護情報記憶手段
１０４  アドレス保護情報削除手段
１０５  共有メモリ情報削除手段
１０６  共有メモリ情報記憶手段
【図１】
0005978657.tif 000002
【図２】
0005978657.tif 000003
【図３】
0005978657.tif 000004
【図４】
0005978657.tif 000005
【図５】
0005978657.tif 000006
【図６】
0005978657.tif 000007
【図７】
0005978657.tif 000008
【図８】
0005978657.tif 000009
【図９】
0005978657.tif 000010
【図１０】
0005978657.tif 000011
【図１１】
0005978657.tif 000012
【図１２】
0005978657.tif 000013
【図１３】
0005978657.tif 000014
【図１４】
0005978657.tif 000015
【図１５】
0005978657.tif 000016
【図１６】
0005978657.tif 000017
【図１７】
0005978657.tif 000018
【図１８】
0005978657.tif 000019