TLM2.0 ATコーディングスタイルを使うか?

TLM2.0にあるApproximately-Timed(AT)コーディングスタイルを使うか?言い換えればノンブロッキングトランスポートを使うか?になると思います。

この問いに対して筆者の意見は No(使わない) です。
理由としては、いくつかあります。
1.InitiatorとTarget両方の対応が必要。
2.トランザクションとサイクルの中間の抽象度を表現している。
上記に挙げた2点が一番大きな理由です。

1.InitiatorとTarget両方の対応が必要。
ATコーディングを使いたい場面といるのはどういう時でしょうか?
筆者が出会った場面は、まさに REQ , RSP を分けたトランザクション遷移です。では、それらの使い方は広く一般的に使えるでしょうか?
筆者は使えないと思ってます。なぜなら、Initiator/Target側でトランザクションを終了されることができるからです。
例えば、Targer側が対応していない場合
 (1) Initiatorモデルが"BEGIN_REQ"発行
 (2) Targetモデルが"TLM_COMPLETE"を返す
という流れの場合、そのトランザクションは終了します。
逆(Initiatorが対応していない)の場合も似たような形でトランザクションを終了させることが出来ます。
なので、本当に両方が対応していないと実現できないのです。
なぜこんな中途半端な事をしたのでしょう?

2.トランザクションとサイクルの中間の抽象度を表現している。
こちらは考え方になります。
抽象度が中間という間を埋めるということで理屈は良いと思いますが、
筆者の経験だと必ずサイクルを表現しようとなります。
本当にこれは考え方ですが、サイクルベースを求めようとするのです。
そうすると、細かいタイミングまでコーディングするようになり、本当に何も書いているのかわからなくなります。
また、機能以外でバグを入れる(ハマる)原因にもなったりします。

これらの要因で、ATコーディングは使わないと思っています。
関連記事

コメントの投稿

非公開コメント

プロフィール

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
アクセス人数