(57)【要約】【課題】コンピュータシステム上で、統一された形式の検証用モデルを用いて、複数のバスＩ/Ｆを含む論理回路の検証を実現できる技術を提供する。【解決手段】コンピュータシステム１０上で、複数のバスＩ/Ｆ信号群１６０を有する検証対象論理回路１１１についての統一された形式の検証用モデル１１０の情報が作成された状態において、論理シミュレーションにより検証対象論理回路１１１の動作の検証を行う。検証用モデル１１０は、複数のバスＩ/Ｆ信号群１６０に対応する複数のプロトコル処理部１５０と、それらを含む全体を制御する命令処理部１２０とを有する。プロトコル処理部選択命令を含むテスト命令列１０１が命令処理部１２０に入力され、その処理により、該当命令の処理を、選択したプロトコル処理部１５０に実行させ、比較結果１０４を得る。【選択図】図２
2007156728.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム上において検証用モデルを用いた論理シミュレーションにより検証対象の論理回路の動作の検証を行う論理検証方法であって、
作業者の使用するコンピュータ上に、複数のプロセッサバスインターフェースを有する検証対象の論理回路についての統一された形式の検証用モデルが作成された状態において、前記検証用モデル及び命令を用いた論理シミュレーションにより前記検証対象の論理回路の動作の検証を行うものであり、
前記検証用モデルは、各々前記プロセッサバスインターフェースの信号を制御動作するプロトコル処理機能を持つ複数のプロトコル処理部と、前記複数のプロトコル処理部を含む全体を制御し、前記検証のための前記プロセッサバスインターフェースの信号の制御動作に係わる１つ以上の命令を含んで成る第１の命令列の処理によって前記論理回路の動作の検証の処理を行ってその結果を出力する命令処理部とを有し、
前記作業者の操作に基づき前記第１の命令列のうちの該当命令の実行対象となる前記プロトコル処理部の識別情報が付加された前記第１の命令列が前記命令処理部に対し入力される処理ステップと、
前記命令処理部が、前記第１の命令列における前記識別情報の処理により、前記第１の命令列のうちの該当命令の処理を、前記複数のうちの前記実行対象となる前記プロトコル処理部により実行させ、その結果のデータを得る処理ステップとを有することを特徴とする、検証用モデルを用いる論理検証方法。
【請求項２】
請求項１記載の検証用モデルを用いる論理検証方法において、
前記コンピュータシステム上において、前記検証対象の論理回路に接続される前記プロトコル処理部を含む前記検証用モデルを、パラメータデータの入力による前記プロトコル処理部の前記プロトコル処理機能の設定により作成する処理ステップと、
前記検証用モデルの作成以後で前記論理シミュレーションの実行中に、前記命令処理部への命令の入力により、もしくは前記パラメータデータの入力による前記プロトコル処理機能の設定により、前記プロトコル処理部の前記プロセッサバスインターフェースの信号の制御動作のタイミングを任意に変動させる処理ステップとを有することを特徴とする、検証用モデルを用いる論理検証方法。
【請求項３】
請求項１記載の検証用モデルを用いる論理検証方法において、
前記コンピュータシステム上において、前記検証対象の論理回路に接続される、前記プロセッサバスインターフェースが同一で動作速度の異なる複数の前記プロトコル処理部を含む前記検証用モデルを作成する処理ステップと、
前記検証用モデルの作成以後で前記論理シミュレーションの実行中に、前記命令処理部への命令の入力により、もしくは前記パラメータデータの入力による前記プロトコル処理機能の設定により、前記動作速度の異なる複数のプロトコル処理部の任意の前記プロトコル処理機能を設定する処理ステップを有することを特徴とする、検証用モデルを用いる論理検証方法。
【請求項４】
コンピュータシステム上において検証用モデルを用いた論理シミュレーションにより検証対象の論理回路の動作の検証を行う論理検証システムであって、
作業者の使用するコンピュータ上に、複数のプロセッサバスインターフェースを有する検証対象の論理回路についての統一された形式の検証用モデルが作成された状態において、前記検証用モデル及び命令を用いた論理シミュレーションにより前記検証対象の論理回路の動作の検証を行うものであり、
前記検証用モデルは、各々前記プロセッサバスインターフェースの信号を制御動作するプロトコル処理機能を持つ複数のプロトコル処理部と、前記複数のプロトコル処理部を含む全体を制御し、前記検証のための前記プロセッサバスインターフェースの信号の制御動作に係わる１つ以上の命令を含んで成る第１の命令列の処理によって前記論理回路の動作の検証の処理を行ってその結果を出力する命令処理部とを有し、
前記作業者の操作に基づき前記第１の命令列のうちの該当命令の実行対象となる前記プロトコル処理部の識別情報が付加された前記第１の命令列が前記命令処理部に対し入力され、
前記命令処理部が、前記第１の命令列における前記識別情報の処理により、前記第１の命令列のうちの該当命令の処理を、前記複数のうちの前記実行対象となる前記プロトコル処理部により実行させ、その結果のデータを得る処理を行うことを特徴とする、検証用モデルを用いる論理検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ（電子計算機）システム上における、論理回路または論理回路を含む論理装置についての検証用モデルを用いる論理シミュレーションによる論理検証／テストの技術に関する。特に、特定の命令語により論理動作を実現するＣＰＵ系のプロセッサを含む論理回路のプロセッサバスインターフェース（バスＩ/Ｆと略称する）信号を生成するための検証用モデルの作成（生成／構築）、及び、その検証用モデルを用いる論理シミュレーション手段による論理検証又はテストの処理方法に関する。
【背景技術】
【０００２】
従来、論理回路についての検証用モデルを用いた論理シミュレーションでは、例えば以下のような手法を用いている。まず、プロセッサの動作を確認するための初期状態設定データや、プロセッサ特有の命令レベルで作成した入力テストデータ、及びその出力結果である論理回路の動作状況の信号変化を期待値として論理シミュレータが直接読み込めるテキストやバイナリなどの形式に変換する手段で、論理シミュレーションの入力となるテストベクトルを作成する。
【０００３】
論理シミュレーションの実行段階では、上記テストベクトルに展開された命令レベルの入力データを、プロセッサ検証用モデルが読み込む。そして、プロセッサ検証用モデルは、テストベクトルに展開された初期状態設定とともに、バスＩ/Ｆ動作に準じたそれぞれの時刻に対応するテストベクトルのデータを、検証対象論理回路に与えて、対象論理を動作させる。その後、検証対象論理回路の出力値を、プロセッサ検証用モデルで読み込み、その出力値が予め準備した期待値と不一致となった場合に、論理動作エラーを報告する、という手法を用いている。
【０００４】
検証用モデルを用いた論理シミュレーションの技術の事例は、特開平１０−２２１４１０号公報（特許文献１）にも詳細が記載されている。
【０００５】
従来の論理シミュレーションによる論理検証の方法及びシステムでは、検証対象論理回路が複数のプロセッサのバスＩ/Ｆを含む場合には、それら複数のプロセッサのバスＩ/Ｆのそれぞれに対応した、複数の検証用モデル（プロトコル処理部）に対して、入力パラメータなどによりパターン生成を行い、個々の検証用モデルでそのパターンを読み取り、検証対象論理回路に与える、といった手法を用いていた。
【特許文献１】特開平１０−２２１４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般的に、異なるプロセッサは、それぞれの命令形式（換言すればプロトコル）が異なり、またプロセッサバスの動作仕様（バスＩ/Ｆ）が異なる、という特徴を持つ。
【０００７】
前記従来技術では、検証対象論理回路の同一論理構成上に異なるプロセッサバスを有する場合、それぞれのプロセッサバスの動作仕様（バスＩ/Ｆ）に合わせた検証用モデルを作成する必要があった。また、各プロセッサは命令形式が異なるために、一つの検証／テストケースを実現する検証／テストデータ（命令）を作成する場合も、プロセッサごとの命令列を準備して与える必要があった。それぞれのプロセッサの仕様に合った検証用モデル（プロトコル処理部）を作成する場合、この検証用モデルの作成や管理の工数が増大していた。プロトコル処理部は、換言すればＣＰＵ等のプロセッサを論理的にシミュレーションしたモジュールである。
【０００８】
また複数のプロセッサバス間の競合などの検証／テストを行うためには、複数のプロセッサ間の動作を制御する必要がある。しかしながら、プロセッサ間の動作を制御する手法は、前述のようにプロセッサ及びバスＩ/Ｆごとに対応しなければならないため複雑であった。従って、論理シミュレーションにおける上記プロセッサバス間の競合などの検証／テストのための作成や管理の工数は多大となる。
【０００９】
従来では、複数のプロセッサ及びバスＩ/Ｆに対応した統一された検証用モデルを扱う論理シミュレーション及び論理検証／テストの技術は存在しなかった。従来技術でも複数の対象プロセッサを一つの検証用モデルごとに並列に検証／テストすることは可能であったが、特に複数のプロセッサバス間の競合の検証／テストを実現することは困難であった。
【００１０】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、コンピュータシステム上において検証用モデルを用いて論理シミュレーション実行により対象の論理回路／論理装置の検証／テストを実現するものであって、一つの統一された形式の検証用モデル及び命令などを用いて、複数のバスＩ/Ｆを含む対象の回路／装置の論理検証／テストの処理動作を実現できる技術を提供することである。また特に、一つの命令列で検証用モデルを動作させて複数の対象の回路／装置の検証を可能とすることにより、検証モデルの作成や管理の工数の削減、及び、プロセッサ間のデータ作成、プロセッサバス間の競合の検証／テストの容易化により、効率の良いバスＩ/Ｆ信号の論理シミュレーションを行うことが可能な技術を提供することである。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明の技術は、コンピュータシステム（プロセッサ及びメモリを含むハードウェア）上において検証用モデルを用いた論理シミュレーション実行による対象の論理回路／論理装置の検証／テスト、及び前記検証用モデルの作成（生成／構築）を行うものであって、以下に示す技術的手段を備えることを特徴とする。なお、本論理検証方法は、コンピュータ（プロセッサ）が実行する後述の処理ステップを有するデータ／情報の処理方法である。また本論理検証システムは、本論理検証方法に従った処理を実行するコンピュータシステム／情報処理システムである。
【００１２】
（１）  本発明の技術は、検証／テストの作業者が使用するコンピュータ上に、複数のプロセッサ（ＣＰＵ等の処理装置）に対応した複数のバスＩ/Ｆが存在する検証対象の論理回路についての一つに統一された形式の検証用モデルが作成された環境／状態において、この検証用モデル及び対応する命令形式などを用いて、複数のバスＩ/Ｆを含む検証対象の論理回路の動作の検証／テストを、論理シミュレーション手法により行うものである。前記コンピュータ上でプロセッサ等によりメモリ上のプログラム等が処理される形態により、前記検証用モデルを動作させて論理シミュレーションを実行する。
【００１３】
本論理検証方法及びシステムでは、検証用モデルは、プロセッサ依存のバスＩ/Ｆ信号（プロセッサバスに入出力する信号データ）を制御動作するプロトコル処理機能（換言すればバスＩ/Ｆ処理機能）を持つ複数のプロトコル処理部（第１〜第Ｎのプロトコル処理部）と、複数のプロトコル処理部を含む全体の制御を行い、検証／テストのための１つ以上の命令を含んで成る第１の命令列（テスト／検証用命令）の処理によって前記論理回路の動作の検証／テストの処理を行ってその処理の結果を出力する命令処理部と、に分割されて構成される。
【００１４】
作業者は、命令処理部に対し、検証／テストのための第１の命令列（テキスト又はその変換によるバイナリ等の形式のデータ／情報）を入力する。命令処理部での第１の命令列の解読等の処理を通じて、プロトコル処理部に対し１つ以上の命令（バスＩ/Ｆ信号の制御動作のためのコマンド及びデータ等）を与えてその命令に対応するプロトコル処理を実行させる。即ちプロトコル処理部により検証対象論理回路へのバスＩ/Ｆ信号の入出力等の制御動作を実行させる。そして命令処理部では、そのプロトコル処理部の処理結果（検証対象の論理回路からの入力データ等）のデータ値を、期待値（Ｅとする）と比較して、その比較結果を情報として取得／出力する。
【００１５】
本論理検証方法及びシステムでは、前記第１の命令列に、そのうちの該当命令が複数（第１〜第Ｎ）のうちのいずれのプロトコル処理部に対する命令であるかを選択、指定、判断などするための識別情報を付加する処理ステップ及び手段を備える。例えば、作業者が、第１の命令列内に、専用の命令（プロトコル処理部選択命令）として記述する。あるいは、プログラムによる命令列の変換により第１の命令列内に前記専用の命令に相当するコードを記述する。そして、命令処理部では、前記入力される第１の命令列の読み込み及び前記識別情報の参照・解読によって、その識別情報で識別される任意のプロトコル処理部を選択して、該当命令により該当プロトコル処理を実行させその結果を得る処理ステップ及び手段（プロトコル処理選択手段）を備える。
【００１６】
（２）  また本論理検証方法及びシステムは、上記（１）で更に、コンピュータシステム上に、前記検証対象の論理回路に接続される前記複数のプロトコル処理部を含む前記検証用モデル（又はその一部のモジュール／情報）を作成する処理ステップ及び手段（プロトコル設定手段）を備える。この作成は、パラメータデータの入力によるプロトコル処理部のプロトコル処理機能の設定などにより行う。そして、前記作成時（初期設定時）以後で論理シミュレーション実行中において、検証対象の論理回路に接続されている前記複数のうちの任意のプロトコル処理部のバスＩ/Ｆ動作の時刻／タイミングを、命令処理部への命令の入力、もしくは前記プロトコル処理機能の再設定などにより、任意に変動（乃至設定変更）させる処理ステップ及び手段（動作タイミング設定手段）を有する。
【００１７】
（３）  また本論理検証方法及びシステムは、上記（１）で更に、コンピュータシステム上に、前記検証対象の論理回路に接続される、プロトコル及びバスＩ/Ｆが同一で動作速度の異なる複数のプロトコル処理部を含む前記検証用モデル（又はその一部のモジュール／情報を含む）を作成する処理ステップ及び手段（プロトコル設定手段）を有する。そして、前記作成時以後で論理シミュレーション実行中において、前記動作速度などの異なる複数のプロトコル処理部のうちの任意のプロトコル処理部のプロトコル処理機能を、命令処理部への命令の入力、もしくは前記プロトコル処理機能の再設定などにより、任意に設定変更する処理ステップ及び手段を備える。
【発明の効果】
【００１８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、一つの統一された形式の検証用モデル及び命令などを用いて、複数のバスＩ/Ｆを含む対象の回路／装置の論理検証／テストの処理動作を実現できる。また特に、一つの命令列で検証用モデルを動作させて複数の対象の回路／装置の検証を可能とすることにより、検証モデルの作成や管理の工数の削減、及び、プロセッサ間のデータ作成、プロセッサバス間の競合の検証／テストの容易化により、効率の良いバスＩ/Ｆ信号の論理シミュレーションを行うことが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図１〜図１１は、本実施の形態を示すためのものであり、図１２は、従来技術を示すためのものである。
【００２０】
本実施の形態では、特徴として、検証用モデルにおけるプロトコル自動選択機能を設けている。即ち、テスト命令列中に専用の命令（プロトコル処理部選択命令）を記述し、検証用モデルの命令処理部でその命令を解読し、テスト命令列中の該当命令を処理動作させるプロトコル処理部及びバスＩ/Ｆを選択して処理動作させるものである。
【００２１】
図１は、本発明の実施の形態における論理検証システム及び方法に対応した、処理実行環境となるコンピュータシステム１０の構成例及び処理イメージを示す。図２は、図１に対応した、本論理検証システムの概念的な構成（特徴的機能を含む概要構成）を示す。図３は、図２の本論理検証システムに含まれる論理シミュレータ１００の具体的な構成を示す。
【００２２】
図１及び図２において、本論理検証システムは、本発明の実施の形態の論理検証方法に従って、対象となる論理回路（又は論理装置）の論理検証／テストに係わる処理を実行するシステムである。本論理検証システムにおいて、本論理検証／テストに係わる処理は、論理シミュレータ１００による論理シミュレーションにより実現される。本コンピュータシステム１０上には、論理シミュレータ１００のソフトウェアを有する。本ソフトウェアは、論理検証処理を行わせるプログラム（各処理部）や関連する情報を含んだものである。本コンピュータシステム１０上で論理検証／テスト作業を行う作業者は、本ソフトウェアを実行し、必要に応じて情報の入出力の操作を行いながら、検証用モデル１１０を生成／構築し、検証用モデル１１０を用いて検証対象論理回路１１１の論理シミュレーションによる論理検証／テストを行う。
【００２３】
図１において、コンピュータシステム１０では、ＰＣやワークステーションなどのコンピュータ上に、図２に示す論理シミュレータ１００のソフトウェアを含んだ論理検証システムが構築されている。コンピュータシステム１０上で、作業者により、テストデータ１１、検証対象論理回路（論理回路記述情報）１３といったデータ／情報が入力／作成される。入力／作成した情報をもとに論理シミュレーションによる論理検証／テストの処理が実行され、その結果ファイル１２が作成／出力される。
【００２４】
本コンピュータシステム１０における検証対象論理回路１３を対象とした論理シミュレーションによる動作検証では、検証対象論理回路１３として、回路記述言語（ハードウェア記述言語）によるもの等、テキストレベル（作業者が判読可能なレベル）でその機能が記述されたファイル（データ／情報）を用いる。また、検証対象論理回路１３への信号値印加を行うために、検証対象論理回路１３上の個々の信号線に対して、実行時刻ごとに与える信号値を順次記述して、その動作結果を観測する信号線名称を指示するテストデータ１１を作成する。本論理シミュレーションでは、この検証対象論理回路１３とテストデータ１１を読み込み、予め指定された時刻までの論理信号の変化状態を逐次計算して、その結果を結果ファイル１２に出力する。例えば図１中の論理シミュレーション実行では、入力信号値（SIG1，SIG2）を回路（AND回路）の端子に与えてその回路の出力値（SIGO）を算出し、その結果を出力している。信号値は、例えば「L20 H20 L20」といったように信号レベルのH/Lとその持続時間などによって記述されている。
【００２５】
図２において、コンピュータシステム１０では、ＣＰＵ２１、メモリ２２、キーボード等の入力装置２３、ディスプレイ等の出力装置２４等を有する。ＣＰＵ２１は、論理シミュレータ１００のソフトウェアを実行する。また、メモリ２２上に、テスト命令列１０１、比較結果１０２、パラメータデータ１０５等の関連データを格納する。
【００２６】
論理シミュレータ１００は、論理シミュレーションによる論理検証／テスト（以下単に検証またはテストとも称する）のために、検証対象論理回路１１１とそれに対応した検証用モデル１１０とを生成／構築している。検証対象論理回路１１１（１３に対応する）及びバスＩ/Ｆ信号群（バスＩ/Ｆ信号線）１６０は、前記回路記述言語などにより所定の情報の形式で記述され、コンピュータシステム１０上で生成／構築処理される。検証対象論理回路１１１は、後述する図１１で例示するように、複数のプロセッサ（複数のプロトコル処理部１５０と一対一で対応する）のバスＩ/Ｆの動作が競合する場合の動作を制御処理する回路を含むものである。検証用モデル１１０は、検証対象論理回路１１１に類似する情報（シミュレーションモジュール）、プログラム言語で実現している擬似プログラム等とも言い換えられる。検証用モデル１１０は、複数のプロトコル処理部１５０と、検証用モデル１１０の制御の中心となり複数のプロトコル処理部１５０を含む全体を制御する命令処理部１２０とを含んで構成される。複数（Ｎ個）のプロトコル処理部１５０｛１５０Ａ，１５０Ｂ，……，１５０Ｎ｝は、検証対象論理回路１１１に対する複数のバスＩ/Ｆ信号線１６０｛１６０Ａ，１６０Ｂ，……，１６０Ｎ｝に対応して接続される。例えば第１（Ａ）のプロトコル処理部１５０Ａは、第１（Ａ）のバスＩ/Ｆ信号群１６０Ａを制御する処理機能を持つ。
【００２７】
命令処理部１２０は、テスト命令列１０１を入力してプロトコル処理部１５０に対する命令処理を行って期待値（Ｅ）との比較結果１０４を出力する基本的な機能の他、特徴として、プロトコル処理選択、動作タイミング設定、プロトコル設定などの諸機能に対応している。プロトコル処理選択は、専用の命令（プロトコル処理部選択命令）により複数のうちから任意のプロトコル処理部１５０を選択して命令処理させるものである。動作タイミング設定は、任意のプロトコル処理部１５０に実行させる命令の動作タイミング／時刻を随時に変動させるものである。プロトコル設定は、任意のプロトコル処理部１５０のプロトコル設定（定義）を、検証用モデル１１０生成時（初期設定時）以後にも随時に設定変更可能とするものである。
【００２８】
なお、従来技術の論理検証システムでは、１つのバスＩ/Ｆに対応した１つのプロトコル処理部しか有さない。そのため、複数のプロセッサ及びバスＩ/Ｆの競合の動作を検証／テストすることは困難であった。
【００２９】
図３において、論理シミュレータ１００内部は、検証対象論理回路１１１に対しての検証用モデル１１０の構成として、入力パラメータ処理部１４０、命令処理部１２０、データバス制御部１３０、及びプロトコル処理部１５０｛プロトコル処理部(Ａ)１５０Ａ，プロトコル処理部(Ｂ)１５０Ｂ｝の主に４つの機能ブロックに分類される。本例では、プロトコル処理部１５０として２個（Ａ，Ｂ）装備されている例を用いて説明する。そのため、図３ではプロトコル処理部(Ａ)１５０Ａおよびプロトコル処理部(Ｂ)１５０Ｂとして示している。
【００３０】
テスト命令列１０１は、論理検証のために作業者が入力・作成して論理シミュレータ１００に対し与える、固有のアセンブラ命令形式のテキスト記述データであり、検証用命令など言い換えてもよい。図４や図９に、テスト命令列１０１の具体例が示される。テスト命令列１０１を構成する１つ以上の命令のうち単独のプロトコル処理部１５０に実行させる命令は、従来技術の形式（図１２）と同様に示している。図５に、本実施の形態のシステムでテスト命令列１０１の形式に新たに追加された命令の例が示される。
【００３１】
バスＩ/Ｆ信号群（バスＩ/Ｆ信号線）１６０は、コマンド、アドレス、及びデータ等の信号群及びそれに対応する信号線である。例えば命令処理部１２０から読み出し（RD）コマンドがプロトコル処理部１５０Ａに出力された場合、そのプロトコル処理部１５０Ａから対応するバスＩ/Ｆ信号群１６０Ａを通じて検証対象論理回路１１１へ該当信号を送出し、その応答の読み出しデータ等を受け取り、命令処理部１２０へ入力する。なお、バスＩ/Ｆ信号群１６０において、プロトコル処理部１５０から検証対象論理回路１１１への方向を出力方向としその逆を入力方向として説明している。
【００３２】
命令変換プログラム（Ｐ）部１０２は、テスト命令列１０１を、検証用モデル１１０が読める形式にコード変換するプログラム部である。この命令変換プログラム部１０２では、テストデータ１１として記述したアセンブラ命令記述を読み込み、バイナリ形式に変換して、検証用モデル１１０の入力データとなるバイナリデータ１０３を作成する。命令処理部１２０は、バイナリデータ１０３を入力し、処理して、比較結果１０４を出力する。命令変換プログラム部１０２もコンピュータシステム１０上に有する。
【００３３】
入力パラメータ処理部１４０は、複数のプロトコル処理部１５０の機能を定義したパラメータデータ（プロトコル設定情報）１０５をパラメータ入力部１４１により読み込み、各プロトコル処理部（１５０Ａ，１５０Ｂ）対応のパラメータデータに従って、プロトコル設定部１４２により、各プロトコル処理部（１５０Ａ，１５０Ｂ）のプロトコル及びバスＩ/Ｆ処理機能の設定を行う。即ち、各プロトコル処理部１５０のバスＩ/Ｆ信号群１６０の送出順序や送出タイミング、データ幅などの機能設定を行う。
【００３４】
命令処理部１２０は、テスト命令列１０１に対応するバイナリデータ１０３をデータ読み込み部１２１で読み込み、内蔵メモリ部１２２へ格納する。内蔵メモリ部１２２は、検証用のデータ（命令）及び期待値（Ｅ）等を記憶する。
【００３５】
命令解読処理部１２３は、内蔵メモリ部１２２から、順次、命令（即ちバイナリデータ１０３に含まれているコード）を読み出して、その命令内容を解読すると共に、データ処理部１２４、期待値チェック部１２５、及びデータバス制御部１３０（トランザクション監視機構部１３１及びプロトコル選択データ入出力部１３２）に対し、その命令に従う動作指示を行う。命令処理部１２０及び命令解読処理部１２３は、特徴部分でもあり、専用の命令、特にプロトコル処理部選択命令であるReq設定コマンド３１１、を解読する機能を備えている。
【００３６】
データ処理部１２４は、出力データバッファ１２７を制御するものであり、命令解読処理部１２３の指示に従い、内蔵メモリ部１２２から、順次、データ（命令）を読み込み、出力データバッファ１２７に送出する。出力データバッファ１２７は、プロトコル処理部１５０とのデータバスにデータ（命令）を出力する。また、入力データバッファ１２６は、プロトコル処理部１５０とのデータバスからデータ（命令）を入力する。
【００３７】
期待値チェック部１２５は、命令解読処理部１２３の指示により、検証対象論理回路１１１からプロトコル処理部１５０を通じて読み出された入力データが保存される入力データバッファ１２６の内容と、期待値（Ｅ）とを比較し、その比較結果１０４を出力する。
【００３８】
データバス制御部１３０は、トランザクション監視機構部１３１、プロトコル選択・データ入出力部１３２を有する。データバス制御部１３０は、命令処理部１２０と複数のプロトコル処理部１５０との間のデータバスにおけるトランザクションを制御する。トランザクション監視機構部１３１は、命令処理部１２０、入力パラメータ処理部１４０、及びプロトコル処理部１５０の間のデータ送受信の制御を行う。プロトコル選択・データ入出力部１３２は、プロトコル処理部１５０の選択、およびデータ、アドレスの入出力制御を行う。
【００３９】
プロトコル処理部１５０は、命令解読部１５１、トランザクション処理部１５２、タイミング制御部１５３、アドレス・データ入出力バッファ１５４、データ入出力部１５５等を有する。トランザクション処理部１５２は、入出力制御、バスＩ/Ｆ信号制御などの機能を備える。
【００４０】
プロトコル処理部１５０では、入力パラメータ処理部１４０のプロトコル設定部１４２からの指定（パラメータデータ入力）により、命令解読部１５１において、自身が処理すべきプロトコルに対する検証対象論理回路１１１のバスＩ/Ｆ信号群１６０の出力順と出力タイミングを設定する。また、命令処理部１２０から送出されるデータを命令解読部１５１に読み込み、そのデータに含まれる個別の命令に従った動作を、トランザクション処理部１５２に指示する。トランザクション処理部１５２は、指定された命令で実行すべきバスＩ/Ｆ信号群１６０の動作をデータ入出力部１５５に送出する。そしてデータ入出力部１５５から検証対象論理回路１１１のバスＩ/Ｆ信号線（１６０）に対して、コマンドやアドレスやデータの送出を行う。アドレス・データ入出力バッファ１５４には、バスＩ/Ｆ信号線（１６０）との間で入出力されるアドレスやデータ等が格納される。タイミング制御部１５３は、命令解読部１５１からの制御に従い、アドレス・データ入出力バッファ１５４の入出力タイミングを制御する。
【００４１】
上記コマンドが検証対象論理回路１１１からのデータを受け取るREAD命令系のときには、バスＩ/Ｆ信号線１６０の信号値を所定の時刻にデータ入出力部１５５で読み込み、アドレス・データ入出力バッファ１５４にその内容を格納すると共に、データバス制御部１３０に対して読み込みデータの取り込みを終えたことを報告する。データバス制御部１３０は、アドレス・データ入出力バッファ１５４の格納データを、データバスを通じて入力データバッファ１２６へ入力させる。
【００４２】
上記構成により、プロトコル処理部１５０は、パラメータデータ１０５の指定に応じて、一種の検証用モデル１１０によって、複数種のプロトコル動作（プロトコル処理部１５０）を実現することができる機能を有している。
【００４３】
図１２（ａ）は、本実施の形態との比較のために、従来技術の形式における、一例のテスト命令列２００を示す。また図１２（ｂ）は、そのテスト命令列２００における、命令コード分類２１０を示す。また図１２（ｃ）は、そのテスト命令列２００に対応したバイナリデータ２２０のフォーマット例を示す。
【００４４】
テスト命令列２００は、命令コード分類２１０に示すように、命令コードとして、命令を示すコマンド２０１、そのデータを示すオペランド２０２に分けられる。下線で示す本例では、「MVL」というコマンド２０１において、その第１オペランドが「R0」、第２オペランドが「R1」、及び第３オペランドが「0x0200」となるデータを用いた動作を行わせることを示している。テスト命令列２００は、具体的には、「R1」の示すアドレスに存在するデータ内容から「R0」が示すアドレスに512バイト連続して転送させる命令列である。例えば上記命令コード（コマンド２０１及びオペランド２０２）をバイナリ形式に変換すると、バイナリデータ２２０で示す4バイトの２進数機械語データが生成される。このバイナリデータ２２０において、コマンド２０１の「MVL」２２１は、最初の1バイト’11100101’(0xE5)で示され、次の1バイト’00000001’で第１オペランド及び第２オペランドの内容を示し、最後の2バイト’00000010 00000000’で第３オペランドのデータを示す。
【００４５】
一方、図４は、本実施の形態で適用されるテスト命令列３００（１０１に対応する）の一例を示し、図５は、新たに追加した命令コード分類３１０としてプロトコル処理部選択命令であるReq（リクエスト）設定コマンド３１１について示す。
【００４６】
前記従来のテスト命令列２００を用いるシステムでは、検証用モデルにおいて一つの命令コードで複数のうちの任意のプロトコル処理を行わせることは不可能である。そこで、本実施の形態では、一つの命令コードで複数のうちの任意のプロトコル処理部１５０の処理を選択する手段（プロトコル処理選択の機能）として、命令を処理すべきプロトコル処理部１５０の選択のための命令コード（３０１，３０２）を追加している。“@RQSET”３０１は、Req設定コマンド３１１であり、“@RQSETE”３０２は、Req設定コマンド３１１に対応した終端コマンドである。
【００４７】
この新形式のテスト命令列３００においては、複数のプロトコル処理部１５０から任意に選択してバスＩ/Ｆ信号線１６０に対する命令を処理動作させたい場合に、プロトコル処理部選択命令である“@RQSET”３０１を、対象のテスト命令列３００（１０１）中の最初などに記述し、“@RQSET”３０１に対応する“@RQSETE”３０２を最後などに記述する。“@RQSET”３０１には、プロトコル処理部１５０を識別する情報を付加する。「V0」「V1」等は、後述の装置番号５０１に対応し、プロトコル処理部１５０を識別するための情報である。そして“@RQSET”３０１と“@RQSETE”３０２の間の範囲内に、指定のプロトコル処理部１５０に実行させたい１つ以上の命令を記述する。これにより、その範囲内の該当命令を実行するプロトコル処理部１５０を選択して実行させる。
【００４８】
図５において、Req設定コマンド３１１に対応する“@RQSET”３０１は、第１オペランドにReq送出先３１２（装置番号５０１に対応）を、第２オペランドにReq送出時刻３１３を、第３オペランドにReq送出頻度３１４を記述する形式である。本例では、“@RQSET”３０１で、第１オペランドにおいてReq送出先３１２に「V0」を設定し、Req送出時刻３１３として「T030」即ち「48サイクル後」を、またReq送出頻度３１４には「AC02」即ち「2サイクルごとの送出」を、それぞれ設定、記述している。従って、“@RQSET”３０１から“@RQSETE”３０２までの範囲の命令列は、「V0」で識別されるプロトコル処理部１５０Ａで実行され、またその最初の命令開始時刻は、命令検出の48サイクル後から開始され、またそのプロトコル処理部１５０Ａからの送出データは2サイクルおきに連続する、ということを定義している。
【００４９】
なお図４中、“V0  EQU  0x0001”等では、Req送出先３１２となる「V0」等についての定義を示している。“T010  EQU  0x0010”等では、Req送出時刻３１３となる「16サイクル後に実行」などについての定義を示している。“AC01  EQU  0x0030”等では、Req送出頻度３１４となる「1サイクル毎に実行」などについての定義を示している。なお図４及び図５の命令列の形式は一例であって、例えばReq送出頻度３１４の設定をオプションとしてもよい。
【００５０】
このように、作業者は、プロトコル処理部１５０の選択に応じたテスト命令列３００を準備してそのバイナリデータ１０３を作成し、論理シミュレータ１００の検証用モデル１１０に読み込ませる。これによって、命令処理部１２０で自動的に解読処理させ、複数のうち選択したプロトコル処理部１５０に処理動作させて、比較結果１０４を得ることができる。即ち、任意のプロトコル処理部１５０の検証、特に複数のプロトコル処理部１５０が関連して動作する場合の検証を実現できる。
【００５１】
次に、図６は、命令処理部１２０における出力データバッファ１２７からのデータ（命令）送出タイミング（Req送出時刻３１３）及びそのデータ（命令）を実行するプロトコル処理部１５０の対応付け及びその管理方法を示したものである。論理シミュレータ１００において、タイムホイール４００、実行管理テーブル４１０、及び出力データバッファ４２０（１２７に対応する）を対応付けて管理する。タイムホイール４００は、現在シミュレーション時刻（ｔ）４０１からの相対時刻を示す。実行管理テーブル４１０は、アドレス（リンクポインタ）４１１、装置番号（Req送出先）４１２、ReqData（リクエストデータ）４１３、出力データ部リンク４１４等によるレコードを有する。出力データバッファ４２０は、複数の出力データ部（データレコード）４２１を保持可能とする。出力データ部４２１は、プロトコル処理部１５０に対し出力する、実行すべきコマンド及びデータを格納している。
【００５２】
タイムホイール４００では、次の時刻（ｔ＋１）に実行すべき実行管理テーブル４１０のアドレス４０２を格納している。実行管理テーブル４１０には、Req送出先となる装置番号４１２、Req設定コマンド３１１で定義したデータを持つReqData４１３、その時刻（ｔ＋１）に実行すべきコマンド及びデータを格納した出力データバッファ４２０のアドレス（出力データ部リンク４１４）等を持つレコードを有する。これらにより、時刻ごとに実行すべきコマンド及びデータの時間制御を行う。
【００５３】
検証用モデル１１０において、バイナリデータ１０３中のReq設定コマンド３１１が、命令解読処理部１２３で読み込まれると、出力データバッファ４２０の出力データ部４２１に、“@RQSET”３０１から“@RQSETE”３０２までの間のバイナリデータ（命令列相当コード）を書き込む。また“@RQSET”３０１で定義したReq送出先３１２を実行管理テーブル４１０のレコードの装置番号４１２に設定する。またその他の制御データであるReq送出頻度３１４等を同レコードのReqData４１３に設定する。そして、該当レコードの実行時間であるReq送出時刻３１３に対応するタイムホイール４００の該当相対時刻のアドレス４０２に、該当レコードのアドレス４１１を登録する。
【００５４】
例えば、図６に示すテーブル構造は、時刻（ｔ＋１）に「V0」で識別されるプロトコル処理部１５０Ａへのアクセスを行う命令列があった場合である。論理シミュレーション実行時に、該当する時刻が（ｔ＋１）になると、アドレス４０２で示される実行管理テーブル４１０の該当レコード及び出力データバッファ４２０の該当出力データ部４２１を読み込み、Req送出先となる装置番号４１２で示されるプロトコル処理部１５０Ａへ、コマンド及びデータを含む出力データ部４２１を送出する。このとき、アドレス４１１がゼロ以外の場合は、まだ処理すべきデータがレコードとして残っており、アドレス４１１で示される相対レコードの内容（本例では「V1」で識別されるプロトコル処理部１５０Ｂへのアクセス）を同様に処理する。
【００５５】
図７は、プロトコル処理部１５０の初期設定及び随時設定等のプロトコル設定（定義）を行うためのパラメータデータ１０５の内容例を示す。パラメータデータ１０５は、装置番号５０１、プロトコル種別５０２、Data発行サイクル５０３、Dataパルス幅５０４、連続アクセスWait５０５等の要素を有する。
【００５６】
装置番号５０１は、複数の装置即ちプロトコル処理部１５０の識別を行うためのコードを定義しており、プロトコル処理部ＩＤ等と言い換えてもよい。プロトコル種別５０２は、該当プロトコル処理部１５０のバスＩ/Ｆ信号群１６０の動作（プロトコル）の種類を定義している。また、該当バスＩ/Ｆ信号群１６０における動作を、Data発行サイクル５０３、Dataパルス幅（サイズ）５０４、及び連続アクセスWait５０５などによって、細かく定義している。Dataはコマンド及びデータ単位である。例えば、装置番号５０１が「V0」でプロトコル種別５０２が「CPU1」のプロトコル処理部１５０Ａについて、Data発行サイクル５０３が「2」（2サイクル単位）、Dataパルス幅５０４が「1」（1サイクル単位）、及び連続アクセスWait５０５が「1」（1サイクル単位）である。また例えば同じプロトコル種別５０２のプロトコル処理部１５０である「CPU1」を有する場合でも、５０３〜５０５等による動作時刻／タイミングの設定を異なるものにしてアクセス時間を変えた複数のプロトコル処理部１５０を定義して検証することができる。図１０にも、上記命令の動作タイミングを示している。
【００５７】
特に、前記図４のReq送出頻度３１４は、前記図２の動作タイミング設定の機能に係わり、図７のパラメータデータ１０５における連続アクセスWait５０５による設定とも対応している。
【００５８】
次に、図８は、本実施の形態におけるプロトコル自動選択機能を利用した論理検証処理の実行フローを示す。コンピュータシステム１０の論理シミュレータ１００における論理シミュレーション実行開始に先立ち、論理シミュレータ１００における検証対象論理回路１１１の生成／構築が完了している状態とする。即ち、必要な情報の読み込みや作成、各バスＩ/Ｆ信号線１６０及びレジスタなどの初期設定について行っておく。
【００５９】
作業者は、論理シミュレーション実行前に、必要となるプロトコル処理部１５０の初期設定データとなるパラメータデータ１０５を作成しておく。また検証用の命令列及びプロトコル処理部１５０の選択用の命令（３０１，３０２）を追加記述したテスト命令列１０１を用いて変換したバイナリデータ１０３を準備しておく。論理シミュレータ１００における論理シミュレーション実行時は、図８に従って処理を進めることにより、目的のプロトコル制御を実現する。
【００６０】
まず、Ｓ６００（以下、Ｓは処理ステップを表す）で、論理シミュレーション開始時には、入力パラメータ処理部１４０のパラメータ入力部１４１でパラメータデータ１０５の内容を読み込み、プロトコル処理部１５０を一つ選択し、そのパラメータデータ１０５に従って選択したプロトコル処理部１５０の設定を行う。
【００６１】
また、Ｓ６０１では、論理シミュレーション開始時点で、命令処理部１２０のデータ読み込み部１２１で、テスト命令列１０１のバイナリデータ１０３を読み込み、内蔵メモリ部１２２へその内容を書き込む。書き込んだバイナリデータ１０３のコードに従って論理シミュレーションが開始される。
【００６２】
次に、Ｓ６０２では、命令解読処理部１２３で、内蔵メモリ部１２２の内容を一命令ずつ順次読み出して解読処理する。これにより、指定されたデータをデータ処理部１２４で読み込んで出力データバッファ１２７に格納する。命令解読処理部１２３では、読み出した命令において、Req設定コマンド３１１（“@RQSET”３０１）が出現すると、データ処理部１２４において、前記図６のタイムホイール４００、実行管理テーブル４１０、出力データバッファ４２０の各レコードを作成及び設定する。
【００６３】
また、命令解読処理部１２３では、読み出した命令において、結果比較命令（期待値比較命令）、即ち命令列中の複数の命令処理における期待値（Ｅ）による比較ポイントを決める命令が出現すると、その命令処理出力結果の期待値（Ｅ）を、内蔵メモリ部１２２から期待値チェック部１２５に送出し、所定のバッファに記憶する。
【００６４】
次に、Ｓ６０３では、タイムホイール４００で示される論理シミュレーション時刻に、実行管理テーブル４１０のアドレス４１１が登録されている場合は、その時に実行するコマンド及びデータが存在することを示しており、データバス制御部１３０は、出力データバッファ４２０の該当データレコードから、順次、装置番号４１２で示されるプロトコル処理部１５０に対し、データバスを介してコマンド及びデータ（出力データ部４２１）を送出する。
【００６５】
次に、Ｓ６０４において、対象プロトコル処理部１５０は、データバス制御部１３０から送出されたコマンド及びデータ（出力データ部４２１）を読み込み、また論理シミュレーション開始時にパラメータデータ１０５で設定されているプロトコル及びバスＩ/Ｆの処理機能に従って、検証対象論理回路１１１のバスＩ/Ｆ信号線１６０へコマンド及びデータの送出を行う。また対象プロトコル処理部１５０は、検証対象論理回路１１１のバスＩ/Ｆ信号線１６０からの入力データを読み取り、自身の装置番号５０１を付与してデータバス制御部１３０へ入力データとして送出する。
【００６６】
対象プロトコル処理部１５０が処理動作している間、命令解読処理部１２３及びデータバス制御部１３０は、期待値（Ｅ）や入力データの有無を確認して待機している。
【００６７】
次に、Ｓ６０５では、データバス制御部１３０は、プロトコル処理部１５０から送出された入力データを、装置番号５０１単位に入力データバッファ１２６へ書き込み、期待値チェック部１２５へその入力データの設定完了を報告する。
【００６８】
次に、Ｓ６０６では、期待値チェック部１２５は、内蔵メモリ部１２２に格納した命令に前記結果比較命令がある場合は、命令解読処理部１２３からの指示に従い、内蔵メモリ部１２２からの期待値（Ｅ）のデータと、入力データバッファ１２６の入力データとを比較チェックし、その結果を比較結果１０４として出力する。
【００６９】
次に、Ｓ６０７では、命令処理部１２０は、テスト命令列１０１のバイナリデータ１０３における各命令のすべての命令処理が完了したか確認し、すべて完了するまでは（Ｓ６０７−Ｎ）、Ｓ６０２からＳ６０６までの処理を繰り返して、読み込んだ命令列をすべて実行して全処理が完了した時は（Ｓ６０７−Ｙ）、論理シミュレーションを終了する。比較結果１０４の情報は、論理シミュレーションによる検証／テストの結果を示す。別の検証／テストを行う場合は、別のテスト命令列１０１によって同様の処理を実行する。
【００７０】
以上の手順により、一つの統一された形式の検証用モデル１１０及びテスト命令列１０１等を用いて複数のバスＩ/Ｆ（１６０）接続部分であるプロトコル処理部１５０の検証の環境を構築でき、任意のプロトコル処理部１５０を選択して各種の検証／テストを効率良く実現できる。更に、各プロトコル処理部１５０のバスＩ/Ｆ（１６０）の動作タイミングをテスト命令列１０１やパラメータデータ１０５で制御できる。また、パラメータデータ１０５によるプロトコル処理部１５０の拡張（プロトコル設定）により、任意かつ随時にプロトコル処理部１５０のバスＩ/Ｆ(１６０)の構成を変更して検証／テストが可能となる。そのため、各プロトコル処理部１５０のバスＩ/Ｆ（１６０）間の競合の検証／テストも容易に実現できる。
【００７１】
図９は、複数のバスＩ/Ｆ（１６０）間の競合の検証／テストを実行する場合に対応した、一例のテスト命令列９００（１０１に対応する）を示す。この場合、テスト命令列９００において、前記図４のテスト命令列３００における“@RQSET”３０１〜“@RQSETE”３０２と同様の形式の命令列（９０１，９０２）の繰り返しによって、複数のうちから任意のプロトコル処理部１５０を順に選択して処理動作させる。本例で、命令列９０１はプロトコル処理部１５０Ａの選択動作、命令列９０２はプロトコル処理部１５０Ｂの選択動作を行わせるものである。
【００７２】
図１０は、図９のテスト命令列９００に対応した、各命令列の動作タイミングを示す。各“@RQSET”３０１（Req設定コマンド３１１）単位の命令列（９０１，９０２）は、実行時刻の指示（３１３，３１４）に従って実行される。命令列（９０１，９０２）の解読、実行により、「T010」で示す10サイクル後に「V0」のプロトコル処理部１５０Ａが起動され該当命令列｛SET,SET,SET,RD,WR｝が順に処理され、また「T020」で示す14サイクル後に「V1」のプロトコル処理部１５０Ｂが起動され該当命令列｛RD,WR,RD,WR｝が順に処理される。「RE」は“@RQSETE”３０２に相当する。全RQSET単位の命令列（９０１，９０２）の処理の終了を待ち、その終了時点で、次のRQSET単位の命令列を発行、実行する。
【００７３】
図１１は、前記バスＩ/Ｆ（１６０）間の競合の検証／テストを実行する場合に対応した、検証対象論理回路１１１に相当する論理回路１１２の構成例である。論理回路１１２における、DEV（入出力デバイス）からのData Read（データ読み出し）の制御（６つのステップで示す）を例示している。プロセッサであるＣＰＵ＃１，ＣＰＵ＃２は、それぞれプロトコル処理部１５０Ａ，プロトコル処理部１５０Ｂに対応付けられる。論理回路１１２は、ＣＰＵ＃１，＃２とバスＩ/Ｆ＃１，＃２で接続され、ＣＰＵ＃１，＃２のバスＩ/Ｆ＃１，＃２の動作を調停するデータ転送制御部１１３などを含んだ回路である。
【００７４】
バスＩ/Ｆ＃１，＃２間の競合の動作は、例えばＣＰＵ＃１がＩ/Ｏ制御の役割を担いＣＰＵ＃２からのDEVのデータ読み出しの場合において、以下である。まず第１に、ＣＰＵ＃２からのデータリード要求（命令）を、データ転送制御部１１３が受ける。第２に、データ転送制御部１１３が、ＣＰＵ＃１へそのことを伝える。第３に、ＣＰＵ＃１からＩＯＣ（Ｉ/Ｏ制御部）を介してDEVへデータを読み出しする。第４に、DEVからデータ転送制御部１１３へデータが読み出しされ、メモリ制御部を介してメモリに格納される。第５に、データ転送制御部１１３がＣＰＵ＃２へ、メモリにデータが読み出しされたことを伝える。第６に、ＣＰＵ＃２が、メモリからデータを読み出しする。上記例のような競合の動作を、論理シミュレータ１００での前述の論理シミュレーションの処理により実行でき、効率良く検証することができる。
【００７５】
以上、本実施の形態によれば、複数のプロセッサ及びバスＩ/Ｆを含む論理回路についての効率の良い論理シミュレーションによる論理検証／テストが実現でき、検証用モデル１１０及び論理シミュレータ１００の開発、作成、変更、管理などの工数の削減が可能となる。特に、プロトコル処理選択、動作タイミング設定、プロトコル設定の機能により、バスＩ/Ｆ（１６０）間の競合の検証／テストも容易に実現でき、そのテストデータ作成も容易となる。
【００７６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００７７】
本発明は、論理回路／論理装置の論理検証／テストを行うシステム、特に複数のプロセッサバスを持つシステムＬＳＩチップ及びそのチップを用いる周辺回路についての論理検証のための技術などに利用可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施の形態である論理検証システムに対応した、処理実行環境となるコンピュータシステムの構成例及び処理イメージを示す図である。
【図２】本発明の一実施の形態である論理検証システムの概念的な構成を示す図である。
【図３】本発明の一実施の形態である論理検証システムのより具体的な構成として、論理シミュレータの構成を示す図である。
【図４】本発明の一実施の形態である論理検証システムで適用されるテスト命令列の一例を示す図である。
【図５】本発明の一実施の形態である論理検証システムで適用されるテスト命令列における命令コード分類として、プロトコル処理部選択命令であるReq（リクエスト）設定コマンドについて示す図である。
【図６】本発明の一実施の形態である論理検証システムにおける、命令処理部における出力データバッファからのデータ（命令）送出タイミング及びそのデータ（命令）を実行するプロトコル処理部の対応付け及びその管理方法を示した図である。
【図７】本発明の一実施の形態である論理検証システムにおける、プロトコル処理部の初期設定及び随時設定等のプロトコル設定（定義）を行うためのパラメータデータの内容例を示す図である。
【図８】本発明の一実施の形態である論理検証システム及び方法における、プロトコル自動選択機能を利用した論理検証処理の実行フローを示す図である。
【図９】本発明の一実施の形態である論理検証システムにおける、複数のバスＩ/Ｆ間の競合の検証／テストを実行する場合に対応した、一例のテスト命令列を示す図である。
【図１０】本発明の一実施の形態である論理検証システムにおける、図９のテスト命令列に対応した、各命令列の動作タイミングを示す図である。
【図１１】本発明の一実施の形態である論理検証システムにおける、バスＩ/Ｆ間の競合の検証／テストを実行する場合に対応した、検証対象論理回路に相当する論理回路の構成例を示す図である。
【図１２】本実施の形態との比較のために、従来技術における、（ａ）一例のテスト命令列と、（ｂ）そのテスト命令列における命令コード分類と、（ｃ）そのテスト命令列に対応したバイナリデータのフォーマット例とを示す図である。
【符号の説明】
【００７９】
１０…コンピュータシステム、１１…テストデータ、１２…結果ファイル、１３…検証対象論理回路（論理回路記述情報）、２１…ＣＰＵ、２２…メモリ、２３…入力装置、２４…出力装置、１００…論理シミュレータ、１０１…テスト命令列、１０２…命令変換プログラム部、１０３…バイナリデータ、１０４…比較結果、１０５…パラメータデータ、１１０…検証用モデル、１１１…検証対象論理回路、１１２…論理回路、１１３…データ転送制御部、１２０…命令処理部、１２１…データ読み込み部、１２２…内蔵メモリ部、１２３…命令解読処理部、１２４…データ処理部、１２５…期待値チェック部、１２６…入力データバッファ、１２７…出力データバッファ、１３０…データバス制御部、１３１…トランザクション監視機構部、１３２…プロトコル選択データ入出力部、１４０…入力パラメータ処理部、１４１…パラメータ入力部、１４２…プロトコル設定部、１５０，１５０Ａ，１５０Ｂ…プロトコル処理部、１５１…命令解読部、１５２…トランザクション処理部、１５３…タイミング制御部、１５４…アドレス・データ入出力バッファ、１５５…データ入出力部、１６０，１６０Ａ，１６０Ｂ…バスＩ/Ｆ信号群（バスＩ/Ｆ信号線）、２００，３００，９００…テスト命令列、２０１…コマンド、２０２…オペランド、２１０，３１０…命令コード分類、２２０…バイナリデータ、３０１…“@RQSET”、３０２…“@RQSETE”、３１１…Req（リクエスト）設定コマンド、３１２…Req送出先、３１３…Req送出時刻、３１４…Req送出頻度、４００…タイムホイール、４１０…実行管理テーブル、４２０…出力データバッファ、４２１…出力データ部、９０１，９０２…命令列。
【図１】
2007156728.tif 000003
【図２】
2007156728.tif 000004
【図３】
2007156728.tif 000005
【図４】
2007156728.tif 000006
【図５】
2007156728.tif 000007
【図６】
2007156728.tif 000008
【図７】
2007156728.tif 000009
【図８】
2007156728.tif 000010
【図９】
2007156728.tif 000011
【図１０】
2007156728.tif 000012
【図１１】
2007156728.tif 000013
【図１２】
2007156728.tif 000014