JP4556629B2 - データ処理システム検証装置と方法およびプログラム - Google Patents

データ処理システム検証装置と方法およびプログラム Download PDF

Info

Publication number
JP4556629B2
JP4556629B2 JP2004332011A JP2004332011A JP4556629B2 JP 4556629 B2 JP4556629 B2 JP 4556629B2 JP 2004332011 A JP2004332011 A JP 2004332011A JP 2004332011 A JP2004332011 A JP 2004332011A JP 4556629 B2 JP4556629 B2 JP 4556629B2
Authority
JP
Japan
Prior art keywords
model
bus
scheduled
time
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004332011A
Other languages
English (en)
Other versions
JP2006146332A (ja
Inventor
毅久 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004332011A priority Critical patent/JP4556629B2/ja
Publication of JP2006146332A publication Critical patent/JP2006146332A/ja
Application granted granted Critical
Publication of JP4556629B2 publication Critical patent/JP4556629B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ処理システムを検証する装置と方法およびプログラムに関する。
特に、本発明は、例えば、LSIなどのデータ処理システムの機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、データ処理システムの機能を計算モデルによってコンピュータ上で表現し、その振る舞いが要求仕様にあっているか否かを、UT(アン・タイムド)レベルという抽象度の計算モデルに時間概念を付加して、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うようにしたデータ処理システムを検証する装置と方法とプログラムに関する。
従来、バスの混雑によって通信に遅延が発生する状況を検証するためには、機能ブロックモデル部の動作をクロックサイクル毎に記述したレベルのモデルを利用する必要があった。しかし、クロックサイクルレベルのモデルでの検証は、クロックごとに全ての機能ブロックモデル部の評価を行っていくため、ある特定の時刻での検証結果は正確であるが、検証速度が遅く、大規模なデータ処理システムの検証には非常に長い時間がかかるという問題があった。
この問題を解決するための公知技術として、(1)特許文献1に記載された技術(特開平8−227367)がある。この公知技術(1)によると、CPUがバスを使用する際のバスモデルの動作を省略することと、1回のバス使用要求毎のバス信号のクロックサイクル毎の変化を全て再現しなくてよいことにより、検証速度を向上させることができる。
しかし、バスが1回の動作で転送できるデータ量を単位としたデータ転送を、バスモデルの動作の最小単位としているため、バス上に多量のデータ転送があるデータ処理システムの検証では、依然として長い時間がかかるという問題がある。
また他の公知技術として(2)非特許文献1でのトランザクションレベルモデリングがある。この公知技術(2)によると、バスに接続されているブロックが、バスモデルにデータ転送を要求する際に、バスが1回の動作で転送できるデータ量を単位とするのではなく、バースト転送、つまり、前述のデータ量のデータが複数個連続したものをまとめてバスモデルに要求することができる。しかし、この公知技術(2)では、バスモデル内でデータをどのように処理し、検証装置上で動作するデータモデル上の時刻をどのように変更するか、については定義されていない。
なお公知技術(2)の中で,バスモデルの1つの実装例として、上記バースト転送をまとめて1回の要求とする転送要求を、転送要求先のブロックの評価が完了してから転送要求元に制御を戻すよう実装することが提案されている。この実装例の場合、検証装置上で動作するデータモデル上の時間軸上では、転送要求先のブロックの処理にかかる時間が、バスが専有されている時間と扱われてしまう。従って、この実装例では、バスがある通信で専有されているために他の通信が開始できないことによる通信の遅延が再現できない。
一方、(3)時刻情報を考慮したUTレベルの計算モデル(特願2003−293021号)が提案されている。この特許文献2では、ブロックの記述に、ブロックの入力データに対する出力データの関係だけを記述するUTレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、時間順序を考慮し、かつ、高速に検証することを実現している。しかし(3)では、ブロックの通信に共有バスを使用する際にバスの混雑によって通信に遅延が発生する状況はそのままではモデリングすることはできない。これは、あるブロックが共有バスのような共有資源を使用する処理の実行を開始しようとした時刻に、その共有資源が使用中であるかどうかを判断できないためである。
また、特許文献3において、アルゴリズム検証用のC言語など汎用高級言語で記述されたモデルに、バスアクセスが発生する部分に特定の評価関数を埋め込むことにより、バス使用頻度を計測する。この公知技術では、時刻情報が考慮されていないので、データ処理の開始時点から終了時点までの平均のバスアクセスに関する評価しかできない。
したがってデータ処理中急激にバスアクセスが集中するような場合に対して遅延が発生する状況を正しく検証できず、高速に各機能ブロックモデル部を評価できない。
特開平8−227367号公報 特願2003−293021 特開2001−344287号公報 書籍名:System Design with SystemC,P204,2002年6月出版 ; Kluwer Avademic Publishers;著者Thrsten Grotker, Stan Lian, Grant Martin, Stuart Swan
上述したように、ブロックの通信に共有バスを使用する際にバスの混雑によって通信に遅延が発生する状況はそのままではモデリングすることはできない。これは、あるブロックが共有バスのような共有資源を使用する処理の実行を開始しようとした時刻に、その共有資源が使用中であるかどうかを判断できないためである。
本発明はかかる事情に鑑みてなされたものであり、その目的は、本発明は、時刻情報を考慮したUTレベルの計算モデルを活用し、機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、ブロックの入力データに対する出力データの関係だけを記述するUTレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、共有バスの混雑によって通信に遅延が発生する状況を再現しながら、高速に検証し、同データ処理システムの開発を効率化し、開発期間を短縮させることができるデータ処理システム検証装置と方法およびプログラムを提供することにある。
本発明の第1の観点は、複数の機能処理手段間でバス手段を共有するデータ処理システム検証装置であって、開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、上記データ処理システム検証装置を記述するUT(アン・タイムド)レベルの計算モデルで記述され、その計算モデルに従ってモデルの処理を実行する機能処理手段と、上記テストベクタ手段から与えられる上記テストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行う第1と第2のスケジュールドモデル手段と、上記バス手段に接続された上記第1のスケジュールドモデル手段が上記バス手段を使用中に、該バス手段の使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデル手段が上記バス手段の使用を要求した時、上記第1のスケジュールドモデル手段の前回の上記バス手段の使用終了時刻と、実行中の上記第2のスケジュールドモデル手段の時刻情報と比較し、上記バス手段の使用終了時刻が上記第2のスケジュールドモデル手段の時刻情報より後のとき、上記第2のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル手段と、上記機能処理手段と上記スケジュールドモデル手段と上記バスモデル手段の動作を時刻情報に基づいて管理するスケジューラモデル手段とを有する。
本発明の第2の観点は、データ処理システム検証装置はテストベクタ手段と機能処理手段と第1と第2のスケジュールドモデル手段とバスモデル手段とスケジューラモデル手段で構成され、上記データ処理システム検証装置の複数の上記機能処理手段間で上記バスモデル手段を共有するデータ処理システム検証方法であって、上記テストベクタ手段から、開始時刻と、検証データ列と、終了記号とを有する情報を提供する第1の工程と、上記機能処理手段により、上記データ処理システム検証装置を記述するUT(アン・タイムド)レベルの計算モデルで記述され、その計算モデルに従ってモデルの処理を実行する第2の工程と、上記第1または第2のスケジュールドモデル手段により、上記第1の工程において与えられる上記テストベクタ手段が提供する上記情報に含まれる開始時刻を参照して上記第1の工程の動作開始時刻の管理を行う第3の工程と、上記バスモデル手段により、上記バスモデル手段を使用する上記第1のスケジュールドモデル手段が実行されて上記バスモデル手段を使用中に、該バスモデル手段の使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデル手段が上記バスモデル手段の使用を要求した時、上記第1のスケジュールドモデル手段が実行される工程の前回の上記バスモデル手段の使用終了時刻と、実行中の上記第2のスケジュールドモデル手段が実行される時刻情報と比較し、上記バスモデル手段の使用終了時刻が上記第2のスケジュールドモデル手段が実行される時刻情報より後のとき、上記第2のスケジュールドモデル手段の実行を所定時刻まで延期する第4の工程と、上記スケジューラモデル手段により、上記機能処理手段と上記第1または第2のスケジュールドモデル手段と上記バスモデル手段の動作を時刻情報に基づいて管理する第5の工程と、を有する。
本発明の第3の観点は、複数の機能処理モデル間の通信がバスモデルを共有するデータ処理システム検証プログラムであって、開始時刻と、検証データ列と、終了記号とを有するテストベクタ情報を提供する第1の手順と、上記データ処理システム検証プログラムを記述するUTレベルの計算モデルで記述され、その計算モデルに従って上記機能処理モデルの処理を実行する第2の手順と、上記テストベクタ情報が提供される上記第1の手順において与えられる上記テストベクタ情報に含まれる開始時刻を参照して上記機能処理モデルの動作開始時刻の管理を行う第1または第2のスケジュールドモデルの第3の手順と、上記バスモデルを使用する上記第1のスケジュールドモデルが上記バスモデルを使用中に、該バスモデルの使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデルが上記バスモデルの使用を要求した時、上記第1のスケジュールドモデルの前回の上記バスモデルの使用終了時刻と実行中の上記第2のスケジュールドモデルの時刻情報と比較し、該バスモデルの使用終了時刻が上記第2のスケジュールドモデルの時刻情報より後のとき、上記第2のスケジュールドモデルの実行を所定時刻まで延期する上記バスモデルの第4の手順と、上記機能処理モデルの第2の手順と上記スケジュールドモデルの第3の手順と上記バスモデルの第4の手順の動作を時刻情報に基づいて管理するスケジューラモデルの第5の手順と、をコンピュータで実行させる。
したがって、上述したように、ブロックの入力データに対する出力データの関係だけを記述するUTレベルの抽象度に加えて、単位となる処理毎に実行開始時刻を管理することにより、共有バスモデルの混雑によって通信に遅延が発生する状況を再現しながら、高速に検証し、同データ処理システムの開発を効率化できる。
本発明を用いれば、機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、その共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うことができるので、同データ処理システムの開発を効率化し、開発期間を短縮させることができる。
また、機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、短時間で検証を行うことができるため、同データ処理システムの中での共有バスの構成について、複数の構成を短時間で比較検証することができるので、最適な共有バスの構成の決定を効率的に行うことができる。
以下、本発明の実施形態について述べる。データ処理システムの開発では、データ処理システムの機能を計算モデルによってワークステーションまたはパソコン等の計算機上で表現し、その振る舞いが要求仕様にあっているかを検証する。複数の機能ブロックモデル部間の通信に、1つの共有されたバスを用いるデータ処理システムの検証においては、このバスがある通信で専有されるために他の通信が開始できないことによる通信の遅延を含めて、要求仕様を満たしているかどうかを検証することが重要である。
本発明では、複数の機能ブロックモデル部間の通信が1つのバスを共有するデータ処理システムの検証において、
(1);動作開始時刻を考慮したUTレベルの計算モデルを使用し、同レベルのバスモデル部を使用する。
(2);前述の(1)に示されたバスモデル部に接続された機能ブロックモデル部がバスを使用する場合、バスモデル部がバス使用終了時刻を計算し保持する。他の機能ブロックモデル部がバスの使用を要求した場合、その機能ブロックモデル部の動作を開始させたスケジュールドモデル部の時刻情報とバス使用終了時刻を比較する。
(3);前述の(2)で行われる比較の結果、バス使用終了時刻の方が後である場合、バスの使用を要求した機能ブロックモデル部の実行をバス使用終了時刻まで延期する。なお、機能ブロックモデル部の動作時刻の制御はスケジュールドモデル部が行っているため、スケジュールドモデル部に働きかけて延期する。
(4);前述の(2)で示されたバス使用終了時刻の計算は、「実行中の機能ブロックモデル部の動作を開始させたスケジュールドモデル部の時刻情報+(入力データの大きさ/バスが1回の転送で転送できる最大のデータ量(バス幅))×(1回のデータ転送に必要な時間)をもってバス使用終了時刻とする。
次に本発明の実施形態であるデータ処理システム10について図1を参照しながら説明する。図1にデータ処理システム10の構成図を示す。データ処理システム10は、テストベクタ部12、計算モデル10A、表示装置20からなり、データ処理システム10を表現した計算モデル10Aにテストベクタ部12を入力して、設計の検証を行う設計支援装置である。
計算モデル10Aは、スケジュールドモデル部13,18、機能ブロックモデル部14,17,19、バスモデル部15、スケジューラモデル部16で構成されている。このように、計算モデル10Aは、1つ以上のスケジュールドモデル部、1つ以上の機能ブロックモデル部、1つ以上のバスモデル部、1つのスケジューラモデル部からなる。
テストベクタ部12は、計算モデルに与える入力データを、1つの開始時刻と1つ以上のデータ列の繰り返しで記述したファイルである。ここで記述したファイルとしたのは、計算モデルに与える入力データを保持するためである。なお、テストベクタ部12は入力データを保持するものであれば、他のものでもよく、メモリなど他の記録媒体でも構わない。
このような実施形態におけるテストベクタ部12の具体例を図2に示す。
図2(A)にテストベクタ例1を示す。例えばメモリ上に、1行目に、開始時刻time0,データ列D00,D01,…,D0nと終了記号end、2行目に、開始時刻time1,D10,D11,…,D1mと終了記号end、…、n行目はDn0,Dn1,…,Dnmと終了記号endと2次元的に配列(記憶)される。
また他のテストベクタの例として図2(B)のテストベクタ例2に示すように、1行1列からn行1列に開始時刻を、100,110,…,150とし、2行1列からn行(m−1)列にデータ列を、また1行m列からn行m列に終了記号<CR>と配列(記憶)されている。
テストベクタ部12で提供するテストベクタは、具体的なデータとして、ファイルに記述された画像データ、音声データ、制御信号データであり、それぞれが、データ入力時刻と、その時刻から始まるデータ列が書かれる。
計算モデル10Aは、例えばワークステーション、あるいはパソコン上で動作するC言語モデルであり、テストベクタで与えられるデータ列からデータ処理システムの動作を表現したものである。ここでデータ処理システムの動作を表現するとしたのは、設計するデータ処理システムが、入力のテストベクタに対して、仕様通りに振舞うかを確認するためである。なお、計算モデルはデータ処理システムの動作を表現するものであれば、他のものでもよく、SystemCあるいは別の固有シミュレータ用の記述でも構わない。
機能ブロックモデル部14,17,19において、第1機能ブロックモデル部14は第1スケジュールドモデル部13の処理結果に基づいてデータ処理システムの第1の機能を遂行する。
第2機能ブロックモデル部17は第1機能ブロックモデル部14の結果と、スケジューラモデル部16でスケジュールされた内容に応じてバスモデル部15が制御され、このバスモデル15を介して入力されたデータについてデータ処理システムの第2機能の処理を行う。
第3機能ブロックモデル部19は、第2スケジュールドモデル部18の処理結果が入力され、この結果を用いて、スケジュールラモデル部16でスケジュールされた内容に応じてデータ処理システムの第3の機能を遂行する。
スケジュールドモデル部13,18は、このような実施例において、複数の画像、音声、制御信号データの処理を行うための機能ブロックモデル部14,17,19の各種処理に対応して、それぞれのデータ列をテストベクタ部10から与えられるテストベクタの開始時刻に従って機能ブロックモデル部14,17,19を時間管理する。このように、スケジュールドモデル部13,18は、検証対象のLSIシステム内部の機能ブロックモデル部を評価する。
その後、評価結果は、表示装置20を介して確認することができる。
スケジューラモデル部16は、第1スケジュールドモデル部13と第2スケジュールドモデル部18の登録する時刻情報、およびバスモデル部15の登録する時刻情報に応じて、第1スケジュールドモデル部13と第2スケジュールドモデル部18、さらにバスモデル15の動作管理を行う。
たとえば、スケジューラモデル部16から登録された時刻情報から、次に動作すべき第1スケジュールドモデル部13,18を選択し、それに動作を再開させる。
また、バスモデル部15は、前段の機能ブロックモデル部14から入力データを得ると、まずバスモデル部内部に保持している前回のバス使用終了時刻は、実行中のスケジュールドモデル部13の時刻情報よりも後であるかどうかを判定する。
前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも後である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部13の次の時刻情報としてスケジューラモデル部16に登録し、1シミュレーションサイクルの処理の最初に戻るようにする。
前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも前である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部13の時刻情報+(入力データの大きさ/バスが1回の転送で転送できる最大のデータ量)×(1回のデータ転送に必要な時間)と、バスモデル部への入力データを、続く機能ブロックモデル部に入力し,処理を遷移させていく。
表示装置20は,例えばディスプレイであり,演算装置の出力にその入力が接続され,データ処理動作の演算結果を確認するようになっている。なお、表示装置は、演算結果を確認することができれば、他のものでもよくネットワーク上に接続された別の演算装置とディスプレイであっても構わない。
次に計算モデル10Aの動作について図1、図3、図4を用いて説明する。
計算モデル10Aは、データ処理システムを表現するもので、1つのスケジューラモデル、1つ以上のスケジュールドモデル部、1つ以上のバスモデル部、1つ以上の機能ブロックモデル部からなる。
初期化処理として、スケジュールドモデル部13,18は、最初に動作すべき時刻を時刻情報としてスケジューラモデル部16に登録する。その後、図3と図4に示される1シミュレーションサイクルの手続きを繰り返すことにより、データ処理システムの検証を行う。
以下、1シミュレーションサイクルの手続きを説明する。
まず、ステップSTP1において、スケジューラモデル部16は、動作すべき時刻情報が登録されたスケジュールドモデル部13,18があるかを評価する。登録されたスケジュールドモデル13,18があれば、ステップSTP2に遷移する。
ステップSTP2において、最初の時刻情報が登録されたスケジュールドモデル部13、または18に移りスケジュール処理を行い、ステップSTP3に遷移する。
遷移されたスケジュールドモデル部13、または18では、ステップSTP3でテストベクタ部12から取り込んだ、または前段の機能ブロックモデル部17からの出力データを、続く機能ブロックモデル部14、または19に入力し、処理を遷移させて、ステップSTP4に遷移する。
ステップSTP4において、後段の機能ブロックモデル部14、または19では、入力データに従って評価を行い、次の段のブロックに出力データを渡す。
機能ブロックモデル部14,19の中でバスを利用したい機能ブロック部14では、バスモデル部15に出力データを渡す。その後ステップSTP5に遷移する。なお機能ブロックモデル部19で表示装置に接続されたものは、結果を表示装置に表示する。
ステップSTP5において、バスモデル部15では,前段の機能ブロックモデル部14から入力データを得ると、まずバスモデル部15の内部に保持している前回のバス使用終了時刻が、実行中のスケジュールドモデル部13の時刻情報よりも後であるかどうかを判定する。
前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも後である場合は、ステップSTP6に遷移する。
ステップSTP6において、バス使用終了時刻を、実行中のスケジュールドモデル部13の次の時刻情報としてスケジューラモデル部16に登録し、1シミュレーションサイクルの処理の最初に戻る。
ステップSTP5において、前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも前である場合は、ステップSTP8に移り、バス使用終了時刻を、実行中のスケジュールドモデル部13の時刻情報+(入力データの大きさ/バスが1回の転送で転送できる最大のデータ量)×(1回のデータ転送に必要な時間)とし、ステップSTP9に遷移する。
ステップSTP9において、バスモデル部15への入力データを、続く機能ブロックモデル部17に入力し、処理を遷移させていく。
この後段の機能ブロックモデル部17では、入力データに従って評価を行い、更に後段のブロックに出力データを渡す。
ステップSTP10において、出力データがスケジュールドモデル部18に入力され、そのスケジュールドモデル部18の出力時刻が決定した際は、スケジューラモデル部16に決定した時刻情報を登録する。
一連の機能ブロックモデル部の評価が終わったら、ステップSTP11へ遷移し、元のスケジュールドモデルに遷移し、ステップSTP12に遷移する。
ステップSTP12において、戻ったスケジュールドモデル部13の入力データがテストベクタであるかどうか判断する。
スケジュールドモデル部13の入力データがテストベクタであると判断すると、ステップSTP13へ遷移し、テストベクタ部12から次の開始時刻とデータ列を取得する。
そしてステップSTP14へ遷移し、次に開始時刻があれば、スケジューラモデル部16にその時刻情報を登録し、ステップSTP15へ遷移する。
その後ステップSTP15において、1シミュレーションサイクルの処理の最初に戻る。これらの1シミュレーションサイクルの処理を、時刻情報が登録されたモデルがなくなるまで繰り返す。
なお、バスモデル部は本計算モデルの中で1つに限定するものではない。複数のバスモデル部が存在する場合は、それぞれのバスモデル部がそれぞれ異なるバス使用終了時刻を保持し、バスを利用したい機能ブロックモデル部からの入力に従って一連の処理ステップSTP5〜ステップSTP9を行う。
このように、上述した本発明の実施の形態においては、第1機能ブロックモデル部14、第2機能ブロックモデル部17および第3機能ブロックモデル部19としては、高速性を確保するため、入力データと出力データとで記述される、UTレベルの計算モデルを用いる。その結果、既存の計算モデルを使用できるので、本発明の装置を構築するのが容易である。
他方、UTレベルの計算モデルに時間の概念を持ち込み、第1機能ブロックモデル部14、第2機能ブロックモデル部17および第3機能ブロックモデル部19の時刻のもとでの管理を行うため、第1スケジュールドモデル部13と第2スケジュールドモデル部18を付加する。
そのため、テストベクタ部12で提供するテストベクタに開始時刻を付加する。
スケジューラモデル部16は第1スケジュールドモデル部13と第2スケジュールドモデル部18の登録する時刻情報、およびバスモデル部15の登録する時刻情報に応じて第1スケジュールドモデル部13と第2スケジュールドモデル部18とを管理する。
テストベクタ部12から出力されたテストベクタはスケジュールドモデル部13に供給され、さらにスケジューラモデル部16に最初に動作すべき時刻を時刻情報として登録する。
スケジュールドモデル部13では、テストベクタ部12から取り込んだデータを、続く機能ブロックモデル部14に入力し、処理を遷移させていく。
後段の機能ブロックモデル部14では、入力データに従って評価を行い、次の段のバスモデル部15に出力データを渡す。
バスモデル部15では,前段の機能ブロックモデル部14から入力データを得ると、まずバスモデル部15の内部に保持している前回のバス使用終了時刻は、実行中のスケジュールドモデル部13の時刻情報よりも後であるかどうかを判定する。
まず、前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも後である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部13の次の時刻情報としてスケジューラモデルに登録し、1シミュレーションサイクルの処理の最初に戻る。
次に、前回のバス使用終了時刻が実行中のスケジュールドモデル部13の時刻情報よりも前である場合は、バス使用終了時刻を、実行中のスケジュールドモデル部13の時刻情報+(入力データの大きさ/バスが1回の転送で転送できる最大のデータ量)×(1回のデータ転送に必要な時間)とし、バスモデル部15への入力データを、続く機能ブロックモデル部17に入力し、処理を遷移させていく。
この後段の機能ブロックモデル部17では、入力データに従って評価を行い、更に後段のブロックに出力データを渡す。機能ブロックモデル部19で表示装置に接続されたものは、結果を表示装置に表示する。
このように、本実施形態によれば、異なる時刻情報を持つデータ列を入力とするデータ処理システムでも、開始時刻と、入力データ列とを記述するテストベクタと、それを入力可能なスケジュールドモデル手段と、機能ブロックモデル手段の通信時に共有バスの使用時間の管理を行うバスモデル手段と、スケジュールドモデル手段の動作を制御するスケジューラモデル手段により、バスの混雑によって通信に遅延が発生する状況を再現しながら、高速性に動作させるデータ処理システムの検証を行うことができる。
また、他の実施形態として、テストベクタ部12が本発明のテストベクタ手段に該当し、計算モデル部10Aの第1スケジュールドモデル部13および第1スケジュールドモデル部18が本発明のスケジュールドモデル手段に該当し、第1機能ブロックモデル部14、第2機能ブロックモデル部17および第3機能ブロックモデル19が本発明の機能処理手段に該当し、バスモデル部15がバス手段に該当し、スケジューラモデル部16が本発明のスケジューラモデル手段に該当する。
テストベクタ部12で行う処理工程が本発明のテストベクタを提供する第1の工程に該当し、計算モデル部10Aの第1スケジュールドモデル部13および第2スケジュールドモデル部18で行う処理工程が本発明のスケジュールドモデル手段と実行する第2の工程に該当し、バスモデル部15で行う処理工程がバスモデル手段を実行する第4の工程に該当し、第1機能ブロックモデル部14および第2機能ブロックモデル部17で行う処理機能工程が本発明の第3の工程に該当し、スケジューラモデル部16で行う処理工程が本発明の第5の工程に該当する。
さらに、テストベクタ部12で行う内容が本発明のテストベクタで実行する第1の手順(プログラム)に該当し、計算モデル部10Aの第1スケジュールドモデル部13および第2スケジュールドモデル部18で行う内容が本発明のスケジュールドモデルで実行する第3の手順に該当し、バスモデル部15で行う内容がバスモデルで実行する第4の手順に該当し、第1機能ブロックモデル部14および第2機能ブロックモデル部17で行う内容が本発明の機能処理で実行する第2の手順に該当し、スケジューラモデル部16で行う内容が本発明のスケジューラモデルで実行する第5の手順に該当する。
以上説明したように、上述したデータ処理システム検証装置と方法およびプログラムによれば、機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、その共有バスの混雑によって通信に遅延が発生する状況を再現しながら、短時間に検証を行うことができるので、同データ処理システムの開発を効率化し、開発期間を短縮させることができる。
また、同様に、機能ブロックモデル部間の通信に1つまたは複数の共有バスを使用するデータ処理システムの開発において、短時間で検証を行うことができるため、同データ処理システムの中での共有バスの構成について、複数の構成を短時間で比較検証することができるので、最適な共有バスの構成の決定を効率的に行うことができる。
本発明の実施形態に係るデータ処理システム検出装置の全体構成図を示す図である。 図1に示すテストベクタの具体例のデータ配列図を示す図である。 図1に示すデータ処理システム検出装置の動作を説明するためのフロ−チャートである。 図1に示すデータ処理システム検出装置の動作を説明するためのフロ−チャートである。
符号の説明
10…データ処理システム、10A…計算モデル、12…テストベクタ部、13,18…スケジュールドモデル部、14,17,19…機能ブロックモデル部、15…バスモデル部、16…スケジューラモデル部、20…表示装置。

Claims (9)

  1. 複数の機能処理手段間でバス手段を共有するデータ処理システム検証装置であって、
    開始時刻と、検証データ列と、終了記号とを有するテストベクタを提供するテストベクタ手段と、
    上記データ処理システム検証装置を記述するUT(アン・タイムド)レベルの計算モデルで記述され、その計算モデルに従ってモデルの処理を実行する機能処理手段と、
    上記テストベクタ手段から与えられる上記テストベクタを入力し、上記テストベクタに含まれる開始時刻を参照して上記機能処理手段の動作開始時刻の管理を行う第1と第2のスケジュールドモデル手段と、
    上記バス手段に接続された上記第1のスケジュールドモデル手段が上記バス手段を使用中に、該バス手段の使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデル手段が上記バス手段の使用を要求した時、上記第1のスケジュールドモデル手段の前回の上記バス手段の使用終了時刻と、実行中の上記第2のスケジュールドモデル手段の時刻情報と比較し、上記バス手段の使用終了時刻が上記第2のスケジュールドモデル手段の時刻情報より後のとき、上記第2のスケジュールドモデル手段の実行を所定時刻まで延期するバスモデル手段と、
    上記機能処理手段と上記スケジュールドモデル手段と上記バスモデル手段の動作を時刻情報に基づいて管理するスケジューラモデル手段と
    を有するデータ処理システム検証装置。
  2. 上記第2のスケジュールドモデル手段の実行を延期する所定時刻は上記バス手段の使用終了時とする
    請求項1記載のデータ処理システム検証装置。
  3. 上記バス手段の上記使用終了時刻は、実行中のスケジュールドモデル手段の時刻情報+(入力データ/バス手段が1回に転送できる最大データ)×(1回のデータ転送に必要な時間)とする
    請求項2記載のデータ処理システム検証装置。
  4. データ処理システム検証装置はテストベクタ手段と機能処理手段と第1と第2のスケジュールドモデル手段とバスモデル手段とスケジューラモデル手段で構成され、上記データ処理システム検証装置の複数の上記機能処理手段間で上記バスモデル手段を共有するデータ処理システム検証方法であって、
    上記テストベクタ手段から、開始時刻と、検証データ列と、終了記号とを有する情報を提供する第1の工程と、
    上記機能処理手段により、上記データ処理システム検証装置を記述するUT(アン・タイムド)レベルの計算モデルで記述され、その計算モデルに従ってモデルの処理を実行する第2の工程と、
    上記第1または第2のスケジュールドモデル手段により、上記第1の工程において与えられる上記テストベクタ手段が提供する上記情報に含まれる開始時刻を参照して上記第1の工程の動作開始時刻の管理を行う第3の工程と、
    上記バスモデル手段により、上記バスモデル手段を使用する上記第1のスケジュールドモデル手段が実行されて上記バスモデル手段を使用中に、該バスモデル手段の使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデル手段が上記バスモデル手段の使用を要求した時、上記第1のスケジュールドモデル手段が実行される工程の前回の上記バスモデル手段の使用終了時刻と、実行中の上記第2のスケジュールドモデル手段が実行される時刻情報と比較し、上記バスモデル手段の使用終了時刻が上記第2のスケジュールドモデル手段が実行される時刻情報より後のとき、上記第2のスケジュールドモデル手段の実行を所定時刻まで延期する第4の工程と、
    上記スケジューラモデル手段により、上記機能処理手段と上記第1または第2のスケジュールドモデル手段と上記バスモデル手段の動作を時刻情報に基づいて管理する第5の工程と、
    を有するデータ処理システム検証方法。
  5. 上記第2のスケジュールドモデル手段の実行を延期する所定時刻は上記バスモデル手段の使用終了時とする
    請求項4記載のデータ処理システム検証方法。
  6. 上記バスモデル手段の使用終了時刻は、実行中のスケジュールドモデル手段の時刻情報+(入力データ/バスモデル手段が1回に転送できる最大データ)×(1回のデータ転送に必要な時間)とする
    請求項5記載のデータ処理システム検証方法。
  7. 複数の機能処理モデル間の通信がバスモデルを共有するデータ処理システム検証プログラムであって、
    開始時刻と、検証データ列と、終了記号とを有するテストベクタ情報を提供する第1の手順と、
    上記データ処理システム検証プログラムを記述するUTレベルの計算モデルで記述され、その計算モデルに従って上記機能処理モデルの処理を実行する第2の手順と、
    上記テストベクタ情報が提供される上記第1の手順において与えられる上記テストベクタ情報に含まれる開始時刻を参照して上記機能処理モデルの動作開始時刻の管理を行う第1または第2のスケジュールドモデルの第3の手順と、
    上記バスモデルを使用する上記第1のスケジュールドモデルが上記バスモデルを使用中に、該バスモデルの使用終了時刻を計算、保持し、その後、上記第2のスケジュールドモデルが上記バスモデルの使用を要求した時、上記第1のスケジュールドモデルの前回の上記バスモデルの使用終了時刻と実行中の上記第2のスケジュールドモデルの時刻情報と比較し、上記バスモデルの使用終了時刻が上記第2のスケジュールドモデルの時刻情報より後のとき、上記第2のスケジュールドモデルの実行を所定時刻まで延期する上記バスモデルの第4の手順と、
    上記機能処理モデルの第2の手順と上記スケジュールドモデルの第3の手順と上記バスモデルの第4の手順の動作を時刻情報に基づいて管理するスケジューラモデルの第5の手順と
    をコンピュータで実行させる
    データ処理システム検証プログラム。
  8. 上記第2のスケジュールドモデルの第3の手順の実行を延期する所定時刻は上記バスモデルの使用終了時とする
    請求項7記載のデータ処理システム検証プログラム。
  9. 上記バスモデルの使用終了時刻は、実行中のスケジュールドモデルの時刻情報+(入力データ/バスモデルが1回に転送できる最大データ)×(1回のデータ転送に必要な時間)とする
    請求項8記載のデータ処理システム検証プログラム。
JP2004332011A 2004-11-16 2004-11-16 データ処理システム検証装置と方法およびプログラム Expired - Fee Related JP4556629B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004332011A JP4556629B2 (ja) 2004-11-16 2004-11-16 データ処理システム検証装置と方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004332011A JP4556629B2 (ja) 2004-11-16 2004-11-16 データ処理システム検証装置と方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2006146332A JP2006146332A (ja) 2006-06-08
JP4556629B2 true JP4556629B2 (ja) 2010-10-06

Family

ID=36625969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004332011A Expired - Fee Related JP4556629B2 (ja) 2004-11-16 2004-11-16 データ処理システム検証装置と方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4556629B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5166194B2 (ja) * 2008-10-03 2013-03-21 株式会社東芝 アーキテクチャ検証装置
JP5287132B2 (ja) * 2008-10-17 2013-09-11 富士通株式会社 設計支援プログラム、設計支援装置、およびシミュレーションモデル
WO2014064788A1 (ja) * 2012-10-24 2014-05-01 富士通株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーション方法、バスモデルおよびバス回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340251A (ja) * 1997-06-09 1998-12-22 Toshiba Corp バス調停シミュレーション方法、最適バス調停方式決定方法、バス調停シミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体、及び最適バス調停方式決定プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005063178A (ja) * 2003-08-13 2005-03-10 Sony Corp データ処理システムを検証する装置と方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340251A (ja) * 1997-06-09 1998-12-22 Toshiba Corp バス調停シミュレーション方法、最適バス調停方式決定方法、バス調停シミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体、及び最適バス調停方式決定プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005063178A (ja) * 2003-08-13 2005-03-10 Sony Corp データ処理システムを検証する装置と方法およびプログラム

Also Published As

Publication number Publication date
JP2006146332A (ja) 2006-06-08

Similar Documents

Publication Publication Date Title
US8122398B2 (en) Conversion of circuit description to an abstract model of the circuit
US5764951A (en) Methods for automatically pipelining loops
US8296710B2 (en) Soft constraints in scheduling
JPH10171847A (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
JPH0760324B2 (ja) シーケンシャル回路及びその生成方法、及びコントローラ及び有限状態マシン
Paul et al. Scenario-oriented design for single-chip heterogeneous multiprocessors
JP2006285333A (ja) 動作合成装置及び方法
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
JP5233355B2 (ja) プロパティ生成システムおよびプロパティ検証システム
JP4556629B2 (ja) データ処理システム検証装置と方法およびプログラム
US20080300806A1 (en) Power consumption calculating method
Zamora et al. System-level performance/power analysis for platform-based design of multimedia applications
JP2006318121A (ja) 遅延付加rtl論理シミュレーション方法および装置
JP7215244B2 (ja) 記述変換方法、シミュレーション方法及び記述変換プログラム
Arató et al. Time-constrained scheduling of large pipelined datapaths
JP2005165405A (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム
JP5233354B2 (ja) プロパティ検証システム、プロパティ検証方法、及びプログラム
US20240110973A1 (en) Distributed test pattern generation and synchronization
JP6761182B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6949440B2 (ja) ベクタ生成装置及びベクタ生成用プログラム
JP2005063178A (ja) データ処理システムを検証する装置と方法およびプログラム
CN115099184A (zh) 用于电路设计的静态验证的自动设计层次标识和简化缩减模型生成
CN117787389A (zh) 用于共同优化神经网络及神经网络专用硬件的方法和装置
JP2007241836A (ja) マルチサイクルパス検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100629

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100712

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees