(57)【要約】【課題】  ＬＳＩなどのデータ処理システムの開発において、データ処理システムの機能を計算モデルによってコンピュータ上で表現し、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用し、共有バスの混雑によって通信に遅延が発生する状況を再現しながら検証を行うデータ処理システム検証装置と方法およびプログラムを提供する。【解決手段】  時刻情報を考慮したＵＴレベルの計算モデル１０Ａを活用し、機能ブロックモデル部１４，１７，１９間の通信に１つまたは複数の共有バスを使用する際時間管理するバスモデル部１５、スケジュールドモデル部１３，１８およびスケジューラモデル部１６を備え、バスモデル１５で、単位となる処理毎に実行開始時刻を管理することにより、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、高速に検証する。【選択図】図１
2006146332.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能ブロックモデル部間でバスを共有するデータ処理システム検証装置であって、
開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理手段と、
上記テストベクタ手段から与えられる上記テストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行う第１と第２のスケジュールドモデル手段と、
上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と、実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル手段と、
上記スケジュールドモデル手段の動作を管理するスケジューラモデル手段と
を有するデータ処理システム検証装置。
【請求項２】
上記第２のスケジュールドモデル手段の実行を延期する所定時刻は上記バス使用終了時とする
請求項１記載のデータ処理システム検証装置。
【請求項３】
上記バス使用終了時刻は、実行中のスケジュールドモデルの時刻情報＋（入力データ／バスが１回に転送できる最大データ）×（１回のデータ転送に必要な時間）とする
請求項２記載のデータ処理システム検証装置。
【請求項４】
複数の機能ブロックモデル部間でバスを共有するデータ処理システム検証方法であって、
開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理工程と、
上記テストベクタ工程において与えられる上記テストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、
上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と、実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル工程と、
上記スケジューラモデル工程の動作を管理するスケジューラモデル工程と
を有するデータ処理システム検証方法。
【請求項５】
上記第２のスケジュールドモデル手段の実行を延期する所定時刻は上記バス使用終了時とする
請求項４記載のデータ処理システム検証方法。
【請求項６】
上記バス使用終了時刻は、実行中のスケジュールドモデルの時刻情報＋（入力データ／バスが１回に転送できる最大データ）×（１回のデータ転送に必要な時間）とする
請求項５記載のデータ処理システム検証方法。
【請求項７】
複数の機能ブロックモデル部間の通信がバスを共有するデータ処理システム検証プログラムであって、
開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理工程と、
上記テストベクタ工程において与えられる上記テストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、
上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル工程と、
上記スケジューラモデル工程の動作を管理するスケジューラモデル工程と
を有するデータ処理システム検証プログラム。
【請求項８】
上記第２のスケジュールドモデル手段の実行を延期する所定時刻は上記バス使用終了時とする
請求項７記載のデータ処理システム検証プログラム。
【請求項９】
上記バス使用終了時刻は、実行中のスケジュールドモデルの時刻情報＋（入力データ／バスが１回に転送できる最大データ）×（１回のデータ転送に必要な時間）とする
請求項８記載のデータ処理システム検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムを検証する装置と方法およびプログラムに関する。
特に、本発明は、例えば、ＬＳＩなどのデータ処理システムの機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、データ処理システムの機能を計算モデルによってコンピュータ上で表現し、その振る舞いが要求仕様にあっているか否かを、ＵＴ（アン・タイムド）レベルという抽象度の計算モデルに時間概念を付加して、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うようにしたデータ処理システムを検証する装置と方法とプログラムに関する。
【背景技術】
【０００２】
従来、バスの混雑によって通信に遅延が発生する状況を検証するためには、機能ブロックモデル部の動作をクロックサイクル毎に記述したレベルのモデルを利用する必要があった。しかし、クロックサイクルレベルのモデルでの検証は、クロックごとに全ての機能ブロックモデル部の評価を行っていくため、ある特定の時刻での検証結果は正確であるが、検証速度が遅く、大規模なデータ処理システムの検証には非常に長い時間がかかるという問題があった。
【０００３】
この問題を解決するための公知技術として、（１）特許文献１に記載された技術（特開平８−２２７３６７）がある。この公知技術（１）によると、ＣＰＵがバスを使用する際のバスモデルの動作を省略することと、１回のバス使用要求毎のバス信号のクロックサイクル毎の変化を全て再現しなくてよいことにより、検証速度を向上させることができる。
しかし、バスが１回の動作で転送できるデータ量を単位としたデータ転送を、バスモデルの動作の最小単位としているため、バス上に多量のデータ転送があるデータ処理システムの検証では、依然として長い時間がかかるという問題がある。
【０００４】
また他の公知技術として（２）非特許文献１でのトランザクションレベルモデリングがある。この公知技術（２）によると、バスに接続されているブロックが、バスモデルにデータ転送を要求する際に、バスが１回の動作で転送できるデータ量を単位とするのではなく、バースト転送、つまり、前述のデータ量のデータが複数個連続したものをまとめてバスモデルに要求することができる。しかし、この公知技術（２）では、バスモデル内でデータをどのように処理し、検証装置上で動作するデータモデル上の時刻をどのように変更するか、については定義されていない。
【０００５】
なお公知技術（２）の中で，バスモデルの１つの実装例として、上記バースト転送をまとめて１回の要求とする転送要求を、転送要求先のブロックの評価が完了してから転送要求元に制御を戻すよう実装することが提案されている。この実装例の場合、検証装置上で動作するデータモデル上の時間軸上では、転送要求先のブロックの処理にかかる時間が、バスが専有されている時間と扱われてしまう。従って、この実装例では、バスがある通信で専有されているために他の通信が開始できないことによる通信の遅延が再現できない。
【０００６】
一方、（３）時刻情報を考慮したＵＴレベルの計算モデル(特願２００３−２９３０２１号)が提案されている。この特許文献２では、ブロックの記述に、ブロックの入力データに対する出力データの関係だけを記述するＵＴレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、時間順序を考慮し、かつ、高速に検証することを実現している。しかし（３）では、ブロックの通信に共有バスを使用する際にバスの混雑によって通信に遅延が発生する状況はそのままではモデリングすることはできない。これは、あるブロックが共有バスのような共有資源を使用する処理の実行を開始しようとした時刻に、その共有資源が使用中であるかどうかを判断できないためである。
【０００７】
また、特許文献３において、アルゴリズム検証用のＣ言語など汎用高級言語で記述されたモデルに、バスアクセスが発生する部分に特定の評価関数を埋め込むことにより、バス使用頻度を計測する。この公知技術では、時刻情報が考慮されていないので、データ処理の開始時点から終了時点までの平均のバスアクセスに関する評価しかできない。
したがってデータ処理中急激にバスアクセスが集中するような場合に対して遅延が発生する状況を正しく検証できず、高速に各機能ブロックモデル部を評価できない。
【特許文献１】特開平８−２２７３６７号公報
【特許文献２】特願２００３−２９３０２１
【特許文献３】特開２００１−３４４２８７号公報
【非特許文献１】書籍名：System Design with SystemC，P204,2002年６月出版 ; Kluwer Avademic Publishers;著者Thrsten Grotker, Stan Lian, Grant Martin, Stuart Swan
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、ブロックの通信に共有バスを使用する際にバスの混雑によって通信に遅延が発生する状況はそのままではモデリングすることはできない。これは、あるブロックが共有バスのような共有資源を使用する処理の実行を開始しようとした時刻に、その共有資源が使用中であるかどうかを判断できないためである。
【０００９】
本発明はかかる事情に鑑みてなされたものであり、その目的は、本発明は、時刻情報を考慮したＵＴレベルの計算モデルを活用し、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、ブロックの入力データに対する出力データの関係だけを記述するＵＴレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、高速に検証し、同データ処理システムの開発を効率化し、開発期間を短縮させることができるデータ処理システム検証装置と方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の観点は、複数の機能ブロックモデル部間でバスを共有するデータ処理システム検証装置であって、開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理手段と、上記テストベクタ手段から与えられる上記テストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行う第１と第２のスケジュールドモデル手段と、上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と、実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル手段と、上記スケジュールドモデル手段の動作を管理するスケジューラモデル手段とを有する。
【００１１】
本発明の第２の観点は、複数の機能ブロックモデル部間でバスを共有するデータ処理システム検証方法であって、開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理工程と、上記テストベクタ工程において与えられる上記テストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と、実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル工程と、上記スケジューラモデル工程の動作を管理するスケジューラモデル工程とを有する。
【００１２】
本発明の第３の観点は、複数の機能ブロックモデル部間の通信がバスを共有するデータ処理システム検証プログラムであって、開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理工程と、上記テストベクタ工程において与えられる上記テストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、上記バスに接続された第１のスケジュールドモデル手段が上記バスを使用中、バス使用終了時刻を計算、保持し、その後、上記第２のスケジュールドモデル手段が上記バス使用を要求した時、上記第１のスケジュールドモデル手段の前回の上記バスの使用終了時刻と、実行中の上記第２のスケジュールドモデル手段の時刻情報と比較し、バス使用終了時刻が上記第２のスケジュールドモデル手段の時刻情報より後のとき、上記第２のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル工程と、上記スケジューラモデル工程の動作を管理するスケジューラモデル工程のプログラムを有する。
したがって、上述したように、ブロックの入力データに対する出力データの関係だけを記述するＵＴレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、高速に検証し、同データ処理システムの開発を効率化できる。
【発明の効果】
【００１３】
本発明を用いれば、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、その共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うことができるので、同データ処理システムの開発を効率化し、開発期間を短縮させることができる。
また、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、短時間で検証を行うことができるため、同データ処理システムの中での共有バスの構成について、複数の構成を短時間で比較検証することができるので、最適な共有バスの構成の決定を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について述べる。データ処理システムの開発では、データ処理システムの機能を計算モデルによってワークステーションまたはパソコン等の計算機上で表現し、その振る舞いが要求仕様にあっているかを検証する。複数の機能ブロックモデル部間の通信に、１つの共有されたバスを用いるデータ処理システムの検証においては、このバスがある通信で専有されるために他の通信が開始できないことによる通信の遅延を含めて、要求仕様を満たしているかどうかを検証することが重要である。
本発明では、複数の機能ブロックモデル部間の通信が１つのバスを共有するデータ処理システムの検証において、
（１）；動作開始時刻を考慮したＵＴレベルの計算モデルを使用し、同レベルのバスモデル部を使用する。
（２）；前述の（１）に示されたバスモデル部に接続された機能ブロックモデル部がバスを使用する場合、バスモデル部がバス使用終了時刻を計算し保持する。他の機能ブロックモデル部がバスの使用を要求した場合、その機能ブロックモデル部の動作を開始させたスケジュールドモデル部の時刻情報とバス使用終了時刻を比較する。
（３）；前述の（２）で行われる比較の結果、バス使用終了時刻の方が後である場合、バスの使用を要求した機能ブロックモデル部の実行をバス使用終了時刻まで延期する。なお、機能ブロックモデル部の動作時刻の制御はスケジュールドモデル部が行っているため、スケジュールドモデル部に働きかけて延期する。
（４）；前述の（２）で示されたバス使用終了時刻の計算は、「実行中の機能ブロックモデル部の動作を開始させたスケジュールドモデル部の時刻情報＋（入力データの大きさ／バスが１回の転送で転送できる最大のデータ量（バス幅））×（１回のデータ転送に必要な時間）をもってバス使用終了時刻とする。
【００１５】
次に本発明の実施形態であるデータ処理システム１０について図１を参照しながら説明する。図１にデータ処理システム１０の構成図を示す。データ処理システム１０は、テストベクタ部１２、計算モデル１０Ａ、表示装置２０からなり、データ処理システム１０を表現した計算モデル１０Ａにテストベクタ部１２を入力して、設計の検証を行う設計支援装置である。
計算モデル１０Ａは、スケジュールドモデル部１３，１８、機能ブロックモデル部１４，１７，１９、バスモデル部１５、スケジューラモデル部１６で構成されている。このように、計算モデル１０Ａは、１つ以上のスケジュールドモデル部、１つ以上の機能ブロックモデル部、１つ以上のバスモデル部、１つのスケジューラモデル部からなる。
【００１６】
テストベクタ部１２は、計算モデルに与える入力データを、1つの開始時刻と1つ以上のデータ列の繰り返しで記述したファイルである。ここで記述したファイルとしたのは、計算モデルに与える入力データを保持するためである。なお、テストベクタ部１２は入力データを保持するものであれば、他のものでもよく、メモリなど他の記録媒体でも構わない。
このような実施形態におけるテストベクタ部１２の具体例を図２に示す。
図２（Ａ）にテストベクタ例１を示す。例えばメモリ上に、１行目に、開始時刻ｔｉｍｅ０，データ列Ｄ００，Ｄ０１，…，Ｄ０ｎと終了記号ｅｎｄ、２行目に、開始時刻ｔｉｍｅ１，Ｄ１０，Ｄ１１，…，Ｄ１ｍと終了記号ｅｎｄ、…、ｎ行目はＤｎ０，Ｄｎ１，…，Ｄｎｍと終了記号ｅｎｄと２次元的に配列（記憶）される。
また他のテストベクタの例として図２（Ｂ）のテストベクタ例２に示すように、１行１列からｎ行１列に開始時刻を、１００，１１０，…，１５０とし、２行１列からｎ行（ｍ−１）列にデータ列を、また１行ｍ列からｎ行ｍ列に終了記号＜ＣＲ＞と配列（記憶）されている。
【００１７】
テストベクタ部１２で提供するテストベクタは、具体的なデータとして、ファイルに記述された画像データ、音声データ、制御信号データであり、それぞれが、データ入力時刻と、その時刻から始まるデータ列が書かれる。
【００１８】
計算モデル１０Ａは、例えばワークステーション、あるいはパソコン上で動作するＣ言語モデルであり、テストベクタで与えられるデータ列からデータ処理システムの動作を表現したものである。ここでデータ処理システムの動作を表現するとしたのは、設計するデータ処理システムが、入力のテストベクタに対して、仕様通りに振舞うかを確認するためである。なお、計算モデルはデータ処理システムの動作を表現するものであれば、他のものでもよく、SystemCあるいは別の固有シミュレータ用の記述でも構わない。
【００１９】
機能ブロックモデル部１４，１７，１９において、第１機能ブロックモデル部１４は第１スケジュールドモデル部１３の処理結果に基づいてデータ処理システムの第１の機能を遂行する。
第２機能ブロックモデル部１７は第１機能ブロックモデル部１４の結果と、スケジューラモデル部１６でスケジュールされた内容に応じてバスモデル部１５が制御され、このバスモデル１５を介して入力されたデータについてデータ処理システムの第２機能の処理を行う。
第３機能ブロックモデル部１９は、第２スケジュールドモデル部１８の処理結果が入力され、この結果を用いて、スケジュールラモデル部１６でスケジュールされた内容に応じてデータ処理システムの第３の機能を遂行する。
【００２０】
スケジュールドモデル部１３，１８は、このような実施例において、複数の画像、音声、制御信号データの処理を行うための機能ブロックモデル部１４，１７，１９の各種処理に対応して、それぞれのデータ列をテストベクタ部１０から与えられるテストベクタの開始時刻に従って機能ブロックモデル部１４，１７，１９を時間管理する。このように、スケジュールドモデル部１３，１８は、検証対象のＬＳＩシステム内部の機能ブロックモデル部を評価する。
その後、評価結果は、表示装置２０を介して確認することができる。
【００２１】
スケジューラモデル部１６は、第１スケジュールドモデル部１３と第２スケジュールドモデル部１８の登録する時刻情報、およびバスモデル部１５の登録する時刻情報に応じて、第１スケジュールドモデル部１３と第２スケジュールドモデル部１８、さらにバスモデル１５の動作管理を行う。
たとえば、スケジューラモデル部１６から登録された時刻情報から、次に動作すべき第１スケジュールドモデル部１３，１８を選択し、それに動作を再開させる。
【００２２】
また、バスモデル部１５は、前段の機能ブロックモデル部１４から入力データを得ると、まずバスモデル部内部に保持している前回のバス使用終了時刻は、実行中のスケジュールドモデル部１３の時刻情報よりも後であるかどうかを判定する。
前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも後である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部１３の次の時刻情報としてスケジューラモデル部１６に登録し、１シミュレーションサイクルの処理の最初に戻るようにする。
前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも前である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部１３の時刻情報＋（入力データの大きさ／バスが１回の転送で転送できる最大のデータ量）×（１回のデータ転送に必要な時間）と、バスモデル部への入力データを、続く機能ブロックモデル部に入力し，処理を遷移させていく。
【００２３】
表示装置２０は，例えばディスプレイであり，演算装置の出力にその入力が接続され，データ処理動作の演算結果を確認するようになっている。なお、表示装置は、演算結果を確認することができれば、他のものでもよくネットワーク上に接続された別の演算装置とディスプレイであっても構わない。
【００２４】
次に計算モデル１０Ａの動作について図１、図３、図４を用いて説明する。
計算モデル１０Ａは、データ処理システムを表現するもので、１つのスケジューラモデル、１つ以上のスケジュールドモデル部、１つ以上のバスモデル部、１つ以上の機能ブロックモデル部からなる。
初期化処理として、スケジュールドモデル部１３，１８は、最初に動作すべき時刻を時刻情報としてスケジューラモデル部１６に登録する。その後、図３と図４に示される１シミュレーションサイクルの手続きを繰り返すことにより、データ処理システムの検証を行う。
以下、１シミュレーションサイクルの手続きを説明する。
【００２５】
まず、ステップＳＴＰ１において、スケジューラモデル部１６は、動作すべき時刻情報が登録されたスケジュールドモデル部１３，１８があるかを評価する。登録されたスケジュールドモデル１３，１８があれば、ステップＳＴＰ２に遷移する。
【００２６】
ステップＳＴＰ２において、最初の時刻情報が登録されたスケジュールドモデル部１３、または１８に移りスケジュール処理を行い、ステップＳＴＰ３に遷移する。
【００２７】
遷移されたスケジュールドモデル部１３、または１８では、ステップＳＴＰ３でテストベクタ部１２から取り込んだ、または前段の機能ブロックモデル部１７からの出力データを、続く機能ブロックモデル部１４、または１９に入力し、処理を遷移させて、ステップＳＴＰ４に遷移する。
ステップＳＴＰ４において、後段の機能ブロックモデル部１４、または１９では、入力データに従って評価を行い、次の段のブロックに出力データを渡す。
【００２８】
機能ブロックモデル部１４，１９の中でバスを利用したい機能ブロック部１４では、バスモデル部１５に出力データを渡す。その後ステップＳＴＰ５に遷移する。なお機能ブロックモデル部１９で表示装置に接続されたものは、結果を表示装置に表示する。
【００２９】
ステップＳＴＰ５において、バスモデル部１５では，前段の機能ブロックモデル部１４から入力データを得ると、まずバスモデル部１５の内部に保持している前回のバス使用終了時刻が、実行中のスケジュールドモデル部１３の時刻情報よりも後であるかどうかを判定する。
前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも後である場合は、ステップＳＴＰ６に遷移する。
【００３０】
ステップＳＴＰ６において、バス使用終了時刻を、実行中のスケジュールドモデル部１３の次の時刻情報としてスケジューラモデル部１６に登録し、１シミュレーションサイクルの処理の最初に戻る。
ステップＳＴＰ５において、前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも前である場合は、ステップＳＴＰ８に移り、バス使用終了時刻を、実行中のスケジュールドモデル部１３の時刻情報＋（入力データの大きさ／バスが１回の転送で転送できる最大のデータ量）×（１回のデータ転送に必要な時間）とし、ステップＳＴＰ９に遷移する。
【００３１】
ステップＳＴＰ９において、バスモデル部１５への入力データを、続く機能ブロックモデル部１７に入力し、処理を遷移させていく。
この後段の機能ブロックモデル部１７では、入力データに従って評価を行い、更に後段のブロックに出力データを渡す。
【００３２】
ステップＳＴＰ１０において、出力データがスケジュールドモデル部１８に入力され、そのスケジュールドモデル部１８の出力時刻が決定した際は、スケジューラモデル部１６に決定した時刻情報を登録する。
【００３３】
一連の機能ブロックモデル部の評価が終わったら、ステップＳＴＰ１１へ遷移し、元のスケジュールドモデルに遷移し、ステップＳＴＰ１２に遷移する。
【００３４】
ステップＳＴＰ１２において、戻ったスケジュールドモデル部１３の入力データがテストベクタであるかどうか判断する。
【００３５】
スケジュールドモデル部１３の入力データがテストベクタであると判断すると、ステップＳＴＰ１３へ遷移し、テストベクタ部１２から次の開始時刻とデータ列を取得する。
【００３６】
そしてステップＳＴＰ１４へ遷移し、次に開始時刻があれば、スケジューラモデル部１６にその時刻情報を登録し、ステップＳＴＰ１５へ遷移する。
【００３７】
その後ステップＳＴＰ１５において、１シミュレーションサイクルの処理の最初に戻る。これらの１シミュレーションサイクルの処理を、時刻情報が登録されたモデルがなくなるまで繰り返す。
【００３８】
なお、バスモデル部は本計算モデルの中で１つに限定するものではない。複数のバスモデル部が存在する場合は、それぞれのバスモデル部がそれぞれ異なるバス使用終了時刻を保持し、バスを利用したい機能ブロックモデル部からの入力に従って一連の処理ステップＳＴＰ５〜ステップＳＴＰ９を行う。
【００３９】
このように、上述した本発明の実施の形態においては、第１機能ブロックモデル部１４、第２機能ブロックモデル部１７および第３機能ブロックモデル部１９としては、高速性を確保するため、入力データと出力データとで記述される、ＵＴレベルの計算モデルを用いる。その結果、既存の計算モデルを使用できるので、本発明の装置を構築するのが容易である。
他方、ＵＴレベルの計算モデルに時間の概念を持ち込み、第１機能ブロックモデル部１４、第２機能ブロックモデル部１７および第３機能ブロックモデル部１９の時刻のもとでの管理を行うため、第１スケジュールドモデル部１３と第２スケジュールドモデル部１８を付加する。
そのため、テストベクタ部１２で提供するテストベクタに開始時刻を付加する。
スケジューラモデル部１６は第１スケジュールドモデル部１３と第２スケジュールドモデル部１８の登録する時刻情報、およびバスモデル部１５の登録する時刻情報に応じて第１スケジュールドモデル部１３と第２スケジュールドモデル部１８とを管理する。
【００４０】
テストベクタ部１２から出力されたテストベクタはスケジュールドモデル部１３に供給され、さらにスケジューラモデル部１６に最初に動作すべき時刻を時刻情報として登録する。
スケジュールドモデル部１３では、テストベクタ部１２から取り込んだデータを、続く機能ブロックモデル部１４に入力し、処理を遷移させていく。
後段の機能ブロックモデル部１４では、入力データに従って評価を行い、次の段のバスモデル部１５に出力データを渡す。
バスモデル部１５では，前段の機能ブロックモデル部１４から入力データを得ると、まずバスモデル部１５の内部に保持している前回のバス使用終了時刻は、実行中のスケジュールドモデル部１３の時刻情報よりも後であるかどうかを判定する。
【００４１】
まず、前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも後である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部１３の次の時刻情報としてスケジューラモデルに登録し、１シミュレーションサイクルの処理の最初に戻る。
次に、前回のバス使用終了時刻が実行中のスケジュールドモデル部１３の時刻情報よりも前である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部１３の時刻情報＋（入力データの大きさ／バスが１回の転送で転送できる最大のデータ量）×（１回のデータ転送に必要な時間）とし、バスモデル部１５への入力データを、続く機能ブロックモデル部１７に入力し、処理を遷移させていく。
この後段の機能ブロックモデル部１７では、入力データに従って評価を行い、更に後段のブロックに出力データを渡す。機能ブロックモデル部１９で表示装置に接続されたものは、結果を表示装置に表示する。
【００４２】
このように、本実施形態によれば、異なる時刻情報を持つデータ列を入力とするデータ処理システムでも、開始時刻と、入力データ列とを記述するテストベクタと、それを入力可能なスケジュールドモデル手段と、機能ブロックモデル手段の通信時に共有バスの使用時間の管理を行うバスモデル手段と、スケジュールドモデル手段の動作を制御するスケジューラモデル手段により、バスの混雑によって通信に遅延が発生する状況を再現しながら、高速性に動作させるデータ処理システムの検証を行うことができる。
【００４３】
また、他の実施形態として、テストベクタ部１２が本発明のテストベクタ手段に該当し、計算モデル部１０Ａの第１スケジュールドモデル部１３および第１スケジュールドモデル部１８が本発明のスケジュールドモデル手段に該当し、第１機能ブロックモデル部１４、第２機能ブロックモデル部１７および第３機能ブロックモデル１９が本発明の機能処理手段に該当し、バスモデル部１５がバスモデル手段に該当し、スケジューラモデル部１６が本発明のスケジューラモデル手段に該当する。
テストベクタ部１２で行う処理工程が本発明のテストベクタ工程に該当し、計算モデル部１０Ａの第１スケジュールドモデル部１３および第２スケジュールドモデル部１８で行う処理工程が本発明のスケジュールドモデル工程に該当し、バスモデル部１５で行う処理工程がバスモデル工程に該当し、第１機能ブロックモデル部１４および第２機能ブロックモデル部１７で行う処理工程が本発明の機能処理工程に該当し、スケジューラモデル部１６で行う処理工程が本発明のスケジューラモデル工程に該当する。
さらに、テストベクタ部１２で行う内容が本発明のテストベクタ工程（プログラム）に該当し、計算モデル部１０Ａの第１スケジュールドモデル部１３および第２スケジュールドモデル部１８で行う内容が本発明のスケジュールドモデル工程（プログラム）に該当し、バスモデル部１５で行う内容がバスモデル工程（プログラム）に該当し、第１機能ブロックモデル部１４および第２機能ブロックモデル部１７で行う内容が本発明の機能処理工程（プログラム）に該当し、スケジューラモデル部１６で行う内容が本発明のスケジューラモデル工程（プログラム）内容に該当する。
【００４４】
以上説明したように、上述したデータ処理システム検証装置と方法およびプログラムによれば、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、その共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うことができるので、同データ処理システムの開発を効率化し、開発期間を短縮させることができる。
また、同様に、機能ブロックモデル部間の通信に１つまたは複数の共有バスを使用するデータ処理システムの開発において、短時間で検証を行うことができるため、同データ処理システムの中での共有バスの構成について、複数の構成を短時間で比較検証することができるので、最適な共有バスの構成の決定を効率的に行うことができる。  
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態に係るデータ処理システム検出装置の全体構成図を示す図である。
【図２】図１に示すテストベクタの具体例のデータ配列図を示す図である。
【図３】図１に示すデータ処理システム検出装置の動作を説明するためのフロ−チャートである。
【図４】図１に示すデータ処理システム検出装置の動作を説明するためのフロ−チャートである。
【符号の説明】
【００４６】
１０…データ処理システム、１０Ａ…計算モデル、１２…テストベクタ部、１３，１８…スケジュールドモデル部、１４，１７，１９…機能ブロックモデル部、１５…バスモデル部、１６…スケジューラモデル部、２０…表示装置。
【図１】
2006146332.tif 000003
【図２】
2006146332.tif 000004
【図３】
2006146332.tif 000005
【図４】
2006146332.tif 000006