2016-04-27 16 views
2

私は、CSV(10〜10k行)ファイルを1行ずつ解析し、各フィールドを定義された構造、構造の配列をより具体的に挿入する単純なC++関数を持っています。SystemC - SystemCシミュレーションでのファイル解析時間の測定とインクルード

systemcメソッド(C++ユーティリティなし、たとえばclock())を使用して解析時間を測定し、他のプロセスと同様にシミュレーションに含めてトレースファイルを生成したいと思いますか?

数日の間、私は可能な限りあらゆる方法でそれをやっています。実際に私はsc_time_stamp()がその特定のケースで役に立たないことを認識しました。それは、sc_start()シミュレーション経過時間と宣言しただけです。

私はそれはのような単純なものだろうと思った:

  1. wait() until pos.edg
  2. parseFile()
  3. signal.write(1)
  4. doOtherStuff()

が、どうやらそれは...

ではありません10

インターネットは、加算器、カウンタ、その他のロジックの事例でいっぱいですが、私の問題に関連するものは何も見つかりませんでした。

ありがとうございます!

答えて

0

ご質問「のSystemCを使って時間を解析する措置」とあなたはあなたがしたい示すために表示された擬似コードの例を置くことができますリアルタイムで測定する。擬似コード

wait some-event 
parseFile() 
signal.write(1) 
... 

があるため正確にゼロシミュレーション時間がかかるだろう構文解析ファイル(構文解析ファイルでない限り()自体はステートメントを待つあり)()1つのデルタサイクルで行われます。 parseFile()にwait文がある場合(例えば10ms待ち)、シミュレーション時間に10msかかるでしょう。 systemcがプロセスの完了までにどれくらい時間がかかっているかを知る唯一の方法は、それを伝えることです。

0

SystemCはモデリングライブラリです。したがって、シミュレーション時間と測定できるのはsc_time_stampです。 物理時間を測定する場合は、他のC/C++ライブラリ(Easily measure elapsed time)で測定する必要があります。あなたはシミュレーション時間にこの時間を追加したい場合は

次に、あなたが

wait(measured_parsing_time); 
関連する問題