スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

TLM2.0 wait()のタイミング

TLM2.0仕様書では、ブロッキングトランスポート記述(b_transport)で、target側でwait()するようなフローチャートが書かれていますが、個人的にはあまり好きではありません。
というのも、よりシミュレーションを高速にするためには、initiator側でタイミングアノテートなり、タイムクォンタムなりを使った方が高速化できると思うからです。一定のルールに沿うことで、他のモデルとつながると思うのですが、target側で時間をリセットされると高速化出来ないのではと考えています。
実際のところ設計者が見えないモデルをつなげたことが事がないので、現状がどうなっているかは分かりませんが、もし私がtarget側を設計するならばそのような記述はしないと思います。

簡単ですが、こんな感じです。
target側は何も変わらないので楽だと思うのですが。。。
○タイミングアノテート
initiator側
b_transport(trans, delay);
wait(delay);
target側
delay += target_delay;
○タイムクォンタム
initiator側
b_transport(trans, delay);
quantum_keeper->set(delay);
if(quantum_keeper->needsync()){
quantum_keeper->sync();
}
target側
delay += target_delay;
関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。