(57)【要約】  【課題】  たとえば、ＬＳＩなどのデータ処理システムの開発において、データ処理システムの機能を計算モデルによってコンピュータ上で表現し、その振る舞いが要求仕様にあっているか否かを、ＵＴレベルという抽象度の計算モデルに時間概念を持たせて、検証する。  【解決手段】  データ処理システムを検証する装置１は、開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ部１０と、上記データ処理システムを記述する計算モデルを有し、そのモデルに従って処理する第１機能ブロックモデル部２４、第２機能ブロックモデル部２７と、テストベクタ部１０から与えられるテストベクタを入力し、テストベクタに含まれる開始時刻を参照して第１機能ブロックモデル部２４、第２機能ブロックモデル部２７の動作開始時刻の管理を行う第１スケジュールドモデル部２３、第２スケジュールドモデル部２６と、スケジュールドモデル部２３、２７を管理するスケジューラモデル部２１を有する。【選択図】  図１
2005063178.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムを検証する装置であって、
開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理手段と、
上記テストベクタ手段から与えられるテストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行うスケジュールドモデル手段と、
上記スケジューラモデル手段の動作を管理するスケジューラモデル手段と
を具備するデータ処理システムを検証する装置。
【請求項２】
データ処理システムを検証する方法であって、
開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、その計算モデルに従ってモデルを実行する機能処理工程と、
上記テストベクタ工程において与えられるテストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、
上記スケジューラモデル工程の動作を管理するスケジューラモデル工程と
を具備するデータ処理システムを検証する方法。
【請求項３】
データ処理システムを検証する処理内容を含むプログラムであって、
開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供するプログラムと、
上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、そのモデルに従って実行する機能処理プログラムと、
上記テストベクタプログラムによって与えられるテストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデルプログラムと、
上記スケジューラモデルプログラムの動作を管理するスケジューラモデルプログラムと
を具備するデータ処理システムを検証する処理内容を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムを検証する方法と装置に関する。
特に、本発明は、たとえば、ＬＳＩなどのデータ処理システムの開発において、データ処理システムの機能を計算モデルによってコンピュータ上で表現し、その振る舞いが要求仕様にあっているか否かを、ＵＴ（アン・タイムド）レベルという抽象度の計算モデルに時間概念を付加して、データ処理システムを検証する方法と装置とプログラムとに関する。
【背景技術】
【０００２】
たとえば、ＬＳＩなどのデータ処理システムの開発では、データ処理システムの機能を計算モデルによってワークステーションまたはパーソナルコンピュータ（パソコン）上で表現し、その振る舞いが要求仕様に合っているか否かで検証する。
【０００３】
データ処理システムの計算モデルは、記述抽象度に従って分類できる。
記述抽象度の一つは、機能ブロックの動作をクロック・サイクル毎に記述したもので、CA(サイクル・アキュレート)レベルがある。CAレベルには、機能ブロックの入出力だけ精度があうようにしたBCA(バス・サイクル・アキュレート)レベルや、機能ブロックの内部のハードウェア・レジスタの動作も記述したRTL(レジスタ・トランスファー・レベル)が含まれる。
そして、データ処理システムは、通常、最終的にはハードウェアを含む大規模集積回路（ＬＳＩ回路）で具現化するために、CAレベルの検証モデルによる検証が必須である。
【０００４】
しかし、CAレベルの検証モデルはクロック毎に、すべての計算モデルの評価を行っていくため、クロック・サイクルで表されるある時刻での検証結果については正確であるが、検証速度が遅く、大規模なデータ処理システムを検証できなくなっていた。
また、CAレベルは、機能ブロックのクロック毎の動作を記述するために、記述量が多く、大規模なデータ処理システムでは、記述に時間がかかり、検証を始めるのに時間がかかるという問題もあった。
【０００５】
そこで、より高い記述抽象度の計算モデルを使うことによって、より早い段階で、高速な検証を行う手法が考えらた。
より高い記述抽象度の計算モデルとして、機能ブロックの入力データに対する出力データの関係だけを記述したＵＴ(アン・タイムド)レベルがある。すなわち、ＬＳＩ回路などのように大規模なデータ処理システムでは、この検証を高速に、かつ迅速に行うために、ＵＴレベルという抽象度の計算モデルが用いられている。
【特許文献１】特開平１０−１２４５３６号公報
【特許文献２】特表２００２−５３５６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＵＴレベルはデータの入力があったときに計算モデルを評価し、すぐに出力するため、検証処理速度は高速であるが、出力がどの時刻のデータかの情報を持たない。そのため、検証結果が時刻情報を持つことができず、評価の順序関係によって正しい結果が得られないという問題があった。
このように、複数の入力データ列があり、それらの入力時刻が無関係なデータ処理システムの検証では、時間概念をもたないＵＴレベルだけでは検証できなかった。
【課題を解決するための手段】
【０００７】
本発明は、時刻情報を考慮したＵＴレベルの計算モデルであり、この問題点を改善することを目的としてなされたものである。
すなわち、本発明の目的は、ＵＴレベルの処理の高速性を維持しながら、時間概念を持つデータ処理システムの検証を可能とするデータ処理システムを検証する方法と装置を提供することにある。
また本発明の目的はそのプログラムを提供することにある。
【０００８】
本発明は下記の構想に基づく。
１．検証方法または検証装置における機能処理手段（機能ブロック）は、高速性を確保するため、入力データと出力データとで記述される、ＵＴレベルの計算モデルを用いる。
２．テストベクタとして、データ列に加えて、検証開始時刻を付加する。
３．機能処理手段における検証開始時刻を管理するため、スケジュールドモデル手段を付加する。
４．スケジュールドモデル手段の動作を管理するスケジューラモデル手段を設ける。
５．かかる状況において、
５．１  テストベクタ手段、あるいは他の機能ブロック手段からの出力に従って、スケジューラモデル手段は、次の動作時刻（時刻情報）を決定、その時刻情報をスケジュールモデル手段に登録し、スケジュールドモデル手段は、その時刻が来るまでは止まっている。
５．２  スケジュールドモデル手段から登録された時刻情報から、次に動作すべきスケジュールドモデル手段を選択し、それに動作を再開させる。
その結果、異なる時系列の入力データを持つような、データ処理システムにおいても、スケジュールモデル手段によって、ＵＴレベルの高速性をもった検証を実現する。
【０００９】
本発明の第１の観点によれば、データ処理システムを検証する装置であって、開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、そのモデルに従って処理する機能処理手段と、上記テストベクタ手段から与えられるテストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行うスケジュールドモデル手段と、上記スケジューラモデル手段の動作を管理するスケジューラモデル手段とを具備するデータ処理システムを検証する装置が提供される。
【００１０】
本発明の第２の観点によれば、データ処理システムを検証する方法であって、開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供する工程と、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、そのモデルに従って処理する機能処理工程と、上記テストベクタ工程において与えられるテストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデル工程と、上記スケジューラモデル工程の動作を管理するスケジューラモデル工程とを具備するデータ処理システムを検証する方法が提供される。
【００１１】
本発明の第３の観点によれば、データ処理システムを検証する処理内容を含むプログラムであって、開始時間情報と、検証データ列と、終了記号とを有するテストベクタを提供するプログラムと、上記データ処理システムを記述するＵＴレベルの計算モデルで記述され、そのモデルに従って処理する機能処理プログラムと、上記テストベクタプログラムによって与えられるテストベクタに含まれる開始時刻を参照して上記機能処理工程の動作開始時刻の管理を行うスケジュールドモデルプログラムと、上記スケジューラモデルプログラムの動作を管理するスケジューラモデルプログラムとを具備するデータ処理システムを検証する処理内容を含むプログラムが提供される。
【発明の効果】
【００１２】
本発明によれば、異なる時刻情報を持つデータ列を入力とするデータ処理システムでも、開始時刻と、入力データ列とを記述するテストベクタと、それを入力可能なスケジュールドモデル手段と、スケジュールドモデル手段の動作を制御するスケジュールモデル手段により、ＵＴレベルに近い高速性を保ちながら、データ処理システムの検証を行うことができる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の実施の形態としてのデータ処理システムを検証する装置の構成図である。
図２は本発明の実施の形態としてのテストベクタの例を示す図である。
図３は本発明の実施の形態のデータ処理システムを検証する装置および方法の処理内容を示すフローチャートである。
【００１４】
データ処理システムを検証する装置１は、テストベクタ部１０と、計算モデル部２０と、表示装置３０と、制御手段４０からなる。
【００１５】
データ処理システムを検証する装置１は、データ処理システムをＵＴレベルで記述した計算モデルを実行する計算モデル部２０にテストベクタ部１０からテストベクタを入力して、データ処理システムの設計の検証を行うデータ処理システムの設計支援装置である。
【００１６】
計算モデル部２０は、データ処理システムを表現した計算モデルを実行する部分であり、スケジューラモデル部２１と、第１スケジュールドモデル部２３と、第１機能ブロックモデル部２４と、第２スケジュールドモデル部２６と、第２機能ブロックモデル部２７とを有する。
このように、計算モデル部２０は、１つのスケジューラモデルと、１以上のスケジュールドモデル、および１つ以上の機能ブロックモデルからなる。
すなわち、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７は、データ処理システムを記述（表現）する部分であり、ＵＴレベルの記述方式、すなわち、入力データと出力データとの関係で示した計算モデルを実行する部分であり、データ処理システムの規模、内容に応じて複数組存在する。本実施の形態においては、第１および第２の機能、すなわち、２つの機能を遂行する例を示している。
【００１７】
計算モデル部２０は図３に図解した処理を実行してデータ処理システムの検証を行う。
スケジューラモデル部２１はテストベクタ部１０から与えられるテストベクタの開始時間に基づいて、第１スケジュールドモデル部２３および第２スケジュールドモデル部２６の動作管理を行う。
第１スケジュールドモデル部２３および第２スケジュールドモデル部２６は、スケジューラモデル２１を介してモデルストベクタ部１０から与えられるテストベクタの開始時刻に応じて第１機能ブロックモデル部２４および第２機能ブロックモデル部２７の動作タイミングを管理する。このように、第１スケジュールドモデル部２３によって第１機能ブロックモデル部２４の時間的な動作管理（スケジュール管理）を行い、第２スケジュールドモデル部２６によって第２機能ブロックモデル部２７の時間的な動作管理（スケジュール管理）を行うことにより、換言すれば、第１スケジュールドモデル部２３と第１機能ブロックモデル部２４との協働により、および、第２スケジュールドモデル部２６と第２機能ブロックモデル部２７との協働により、ＵＴレベルの計算モデルを高速に処理しながら、時間管理を行うことが可能となる。
【００１８】
第１機能ブロックモデル部２４は第１スケジュールドモデル部２３の処理結果に基づいてデータ処理システムの第１の機能を遂行する。
第２機能ブロックモデル部２７は第１機能ブロックモデル部２４の結果と、スケジューラモデル部２１でスケジュールされた内容に応じてデータ処理システムの第２機能の処理を行う。
第２機能ブロックモデル部２７は、第２スケジュールドモデル部２６の処理結果に基づいてデータ処理システムの第２の機能を遂行する。
【００１９】
計算モデル部２０は、たとえば、ワークステーション、あるいは、パーソナルコンピュータ（以下、パソコン）などの演算処理手段上で動作する、たとえば、Ｃ言語を用いたモデルを処理する部分であり、テストベクタ部１０から与えられるデータ列から検証すべきデータ処理システムの動作を表現する。ここでデータ処理システムの動作を表現するとしたのは、新規に設計するデータ処理システムが、入力のテストベクタに対して、仕様通りに振舞うかを確認するためである。なお、計算モデルはデータ処理システムの動作を表現するものであれば、他のものでもよく、SystemＣあるいは別の固有シミュレータ用の記述でも構わない。
【００２０】
テストベクタ部１０は、たとえば、ハードディスク上に作られた図２のようなファイルを持つ。
このファイルは、計算モデル部２０の計算モデルに与える入力データを、１つの開始時刻と、１以上（複数）のデータ列と、終了記号との繰り返しで「記述したファイル」である。
ここで「記述したファイル」としたのは、計算モデル部２０の計算モデルに与える入力データを保持するためである。
なお、テストベクタ部１０は計算モデル部２０の計算モデルに与える入力データを保持するものであれば、他のものでもよく、たとえば、メモリで構成してもよい。
【００２１】
実施例
本発明のデータ処理システムを検出する装置１の理解を容易にするため、下記の例示を参照して述べる。
検証すべき装置：複数の画像，音声，制御信号データの処理を行う大規模集積回路（ＬＳＩ回路）で構成されたシステム
テストベクタ１０：このような実施例における図２に図解した、テストベクタ部１０で提供するテストベクタは、ファイルに記述された画像データ、音声データ、制御信号データであり、それぞれが、データ入力時刻と、その時刻から始まるデータ列が書かれる。
機能ブロックモデル部２４、２７：このような実施例における機能ブロックモデル部は、複数の画像，音声，制御信号データの処理を行うための、画像データ入力処理機能、音声データ入力処理機能、制御信号データ入力処理機能などをＵＴレベルの方式で記述されている。
スケジュールドモデル部２３、２６：このような実施例におけるスケジュールドモデル部は、複数の画像，音声，制御信号データの処理を行うための機能ブロックモデル部２４、２７の各種処理に対応して、それぞれのデータ列を時刻情報に従って機能ブロックモデル部２４、２７を時間管理する。このように、スケジュールドモデル部は、検証対象のＬＳＩシステム内部の機能ブロックを評価する。
評価結果は、表示装置３０を介して確認することができる。
【００２２】
本発明の出力手段の１例としての表示装置３０、たとえば、液晶表示装置などのディスプレイ装置であり、計算モデル部２０の出力にその入力が接続され、計算モデル部２０が行ったデータ処理動作の演算結果を確認できるようになっている。
なお、表示装置３０としては、計算モデル部２０における演算結果を確認することができれば、他の出力装置でもよく、たとえば、ネットワーク上に接続された別の演算処理装置とディスプレイ装置であっても構わない。
【００２３】
図３に図解した処理フローチャートを参照して計算モデル部２０の動作を述べる。
【００２４】
ステップＳ１１：検証の開始後に、データ処理システムを検証する装置１の動作は制御はスケジューラモデル部２１に移る（遷移する）。
【００２５】
ステップＳ１２：スケジューラモデル部２１の制御（管理）のもとでスケジューラモデル部２１にその認証コード（ID）を登録する。
【００２６】
ステップＳ１３：スケジューラモデル部２１は第１スケジュールドモデル部２３および第２スケジュールドモデル部２６への入力データがテストベクタ部１０からのテストベクタか否かをチェックする。
【００２７】
ステップＳ１４〜１５：スケジューラモデル部２１は、第１スケジュールドモデル部２３への入力データがテストベクタ部１０からのテストベクタの場合は、テストベクタ部１０より、図２に例示したように、第１番目の時刻情報とデータ列を取得し、次に動作を始める時刻情報を、第１スケジュールドモデル部２３および第２スケジュールドモデル部２６にに登録する。
【００２８】
ステップＳ１６：スケジューラモデル部２１は、次に、計算モデル部２０において行う計算モデル中（第１機能ブロックモデル部２４および第２機能ブロックモデル部２７）に、他のスケジュールドモデルがあるかをチェックする。
【００２９】
ステップＳ１７：他のスケジュールドモデルがまだある場合にはデータ処理システムを検証する装置１の動作の制御は、別のスケジュールドモデルの処理に遷移し、ステップＳ１２からの処理を繰り返す。
【００３０】
ステップＳ１８：全てのスケジュールドモデルがスケジューラモデルに登録されたら、スケジューラモデル部２１は、開始すべき時刻情報が登録されたスケジュールドモデル（スケジューラモデル部２１または第１スケジュールドモデル部２３）があるかをチェックする。
【００３１】
ステップＳ１９〜２２：登録されたスケジュールドモデルがあれば、データ処理システムを検証する装置１の動作の制御はステップＳ１９において最初の時刻情報が登録されたスケジュールドモデルの処理に遷移する。
【００３２】
ステップＳ１９：遷移されたスケジュールドモデル部では、テストベクタ部１０から取り込んだテストベクタ、あるいは前段の機能ブロックからの出力を、続く機能ブロック、たとえば、第２スケジュールドモデル部２６に入力し、処理の遷移を移していく。
【００３３】
後段の機能ブロック（たとえば、第１スケジュールドモデル部２３に対して第２スケジュールドモデル部２６が後段の機能ブロック）では、入力データに従って評価を行い、ブロックに出力を渡す。機能ブロック、たとえば、第２機能ブロックモデル部２７で表示装置３０に接続されたものが、結果を表示装置３０に表示する。
【００３４】
ステップＳ２３：入力がテストベクタが否かをチェックする。
【００３５】
ステップＳ２４：出力がスケジュールドモデルに入力され、そのスケジュールドモデルの出力時刻が決定した際は、スケジュールモデルに決定した時刻情報を登録する。
【００３６】
一連の機能ブロックの評価が終わったら、ステップＳ２２における元のスケジュールドモデルに処理の遷移を戻す。
ステップＳ２３：スケジューラモデル部２１は、戻ったスケジュールドモデルがテストベクタ部１０から与えられたテストベクタであるか否かをチェックする。
【００３７】
ステップＳ２４：テストベクタであれば、スケジューラモデル部２１は再びテストベクタ部１０から次のテストベクタ、すなわち、次の時刻情報とデータ列を取得する。そして、次に開始する時刻情報があれば、スケジューラモデル部２１および／または第２スケジュールドモデル部２６に再度その時刻を登録する。
【００３８】
ステップＳ１８：スケジューラモデル部２１はステップＳ１９〜２４の処理を、時刻情報が登録されたスケジュールドモデルがなくなる検証終了まで繰り返す。
【００３９】
このように、上述した本発明の第１実施の形態においては、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７としては、高速性を確保するため、入力データと出力データとで記述される、ＵＴレベルの計算モデルを用いる。その結果、既存の計算モデルを使用できるので、本発明の装置を構築するのが容易である。他方、ＵＴレベルの計算モデルに時間の概念を持ち込み、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７の時間（時刻）のもとでの管理を行うため、第１スケジュールドモデル部２３と第２スケジュールドモデル部２６を付加する。
そのため、テストベクタ部１０で提供するテストベクタに開始時刻を付加する。
スケジューラモデル部２１はテストベクタに含まれる開始時刻（時間）に応じて第１スケジュールドモデル部２３と第２スケジュールドモデル部２６とを管理する。
第１スケジュールドモデル部２３と第１機能ブロックモデル部２４、第２スケジュールドモデル部２６と第２機能ブロックモデル部２７との協働により、時間（時刻）の管理のもとで、ＵＴレベルによる高速な、データ処理システムの検証が可能となる。
すなわち、第１スケジュールドモデル部２３および第２スケジュールドモデル部２６はテストベクタ部１０、スケジューラモデル部２１、あるいは他の機能ブロック手段（第２スケジュールドモデル部２６の場合、第１機能ブロックモデル部２４）からの出力に従って、第２スケジュールドモデル部２６は、次の動作時刻を決定、その時刻情報をスケジューラモデル部２１に登録し、スケジューラモデル部２１は、処理時刻が来るまでは止まっている。スケジューラモデル部２１から登録された時刻情報から、次に動作すべき第１スケジュールドモデル部２３、２６を選択し、それに動作を再開させる。
その結果、スケジュールモデル手段によって、異なる時系列の入力データを持つような、データ処理システムにおいても、ＵＴレベルの高速性をもった検証を実現する。
【００４０】
このように、本発明によれば、異なる時刻情報を持つデータ列を入力とするデータ処理システムでも、開始時刻と、入力データ列とを記述するテストベクタと、それを入力可能なスケジュールドモデル手段と、スケジュールドモデル手段の動作を制御するスケジュールモデル手段により、ＵＴレベルに近い高速性を保ちながら、データ処理システムの検証を行うことができる。
【００４１】
テストベクタ部１０が本発明のテストベクタ手段に該当し、計算モデル部２０のスケジューラモデル部２１および第１スケジュールドモデル部２３が本発明のスケジュールドモデル手段に該当し、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７が本発明の機能処理手段に該当し、スケジューラモデル部２１が本発明のスケジューラモデル手段に該当する。
テストベクタ部１０で行う処理工程が本発明のテストベクタ工程に該当し、計算モデル部２０のスケジューラモデル部２１および第１スケジュールドモデル部２３で行う処理工程が本発明のスケジュールドモデル工程に該当し、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７で行う処理工程が本発明の機能処理工程に該当し、スケジューラモデル部２１で行う処理工程が本発明のスケジューラモデル工程に該当する。
さらに、テストベクタ部１０で行う内容が本発明のテストベクタプログラムに該当し、計算モデル部２０のスケジューラモデル部２１および第１スケジュールドモデル部２３が行う内容が本発明のスケジュールドモデルプログラムに該当し、第１機能ブロックモデル部２４および第２機能ブロックモデル部２７が行う内容が本発明の機能処理プログラムに該当し、スケジューラモデル部２１で行う内容が本発明のスケジューラモデルプログラムに該当する。
【図面の簡単な説明】
【００４２】
【図１】図１は本発明の実施の形態としてのデータ処理システムを検出する装置の構成図である。
【図２】図２は本発明の実施の形態の１例のテストベクタの例を示す図である。
【図３】図３は本発明の実施の形態のデータ処理システムを検出する装置の処理内容を示すフローチャートである。
【符号の説明】
【００４３】
１・・データ処理システムを検証する装置
１０・・テストベクタ部
２０・・計算モデル部
２１・・スケジューラモデル
２３・・第１スケジュールドモデル部
２４・・第１機能ブロックモデル部
２６・・第２スケジュールドモデル部
２７・・第２機能ブロックモデル部
【図１】
2005063178.tif 000003
【図２】
2005063178.tif 000004
【図３】
2005063178.tif 000005