上流からの設計では、まず作成するモデルは Untimedモデルでしょう。
そこから LT⇒AT といった感じにタイミング精度がおちていくと思います。
で、ちょっと思いついたのが高位合成(High Level Synthesis)ツールを
利用できないかなと。もちろん、高位合成ツールとしてRTLの他に
SystemCモデルも出力するのがほとんどと思いますが、それだと
サイクルベースになってしまうので、せっかくのTLMモデルの意味が
なくなってしまうと思いますので、少し観点を変えて。
例えば高位合成へのモデルが SystemC(TLM)モデルの場合には
- SC_THREAD(SC_CTHREAD)
- SC_METHOD
が使われると思います。
高位合成ツールでは、SC_METHOD はそのままRTLに変換されるため
処理のレイテンシとしては、ユーザー設定です。
で、SC_THREAD(SC_CTHREAD)の処理は高位合成ツールが考えます。
その考えた情報を利用できないかなと思ってみました。
TLM2.0でいうと、
どうなんでしょうね!?
あったらいいなと思ってるのは私だけかな?
というのを書いていたら、Mentorさんがプレスリリースしました。
この中に合成対応が可能なモデルであれば、TLMに変換できると。
コレは一度試してみたいですねー
参考:メンター・グラフィックス、ハードウェア実装と 仮想プロトタイピングとのTLM合成リンクを実現
そこから LT⇒AT といった感じにタイミング精度がおちていくと思います。
で、ちょっと思いついたのが高位合成(High Level Synthesis)ツールを
利用できないかなと。もちろん、高位合成ツールとしてRTLの他に
SystemCモデルも出力するのがほとんどと思いますが、それだと
サイクルベースになってしまうので、せっかくのTLMモデルの意味が
なくなってしまうと思いますので、少し観点を変えて。
例えば高位合成へのモデルが SystemC(TLM)モデルの場合には
- SC_THREAD(SC_CTHREAD)
- SC_METHOD
が使われると思います。
高位合成ツールでは、SC_METHOD はそのままRTLに変換されるため
処理のレイテンシとしては、ユーザー設定です。
で、SC_THREAD(SC_CTHREAD)の処理は高位合成ツールが考えます。
その考えた情報を利用できないかなと思ってみました。
TLM2.0でいうと、
b_transport(trans, delay)の「delay」に対して
delay += latency加えてくれるだけでうれしいのですが。
どうなんでしょうね!?
あったらいいなと思ってるのは私だけかな?
というのを書いていたら、Mentorさんがプレスリリースしました。
この中に合成対応が可能なモデルであれば、TLMに変換できると。
コレは一度試してみたいですねー
参考:メンター・グラフィックス、ハードウェア実装と 仮想プロトタイピングとのTLM合成リンクを実現
- 関連記事
-
- CyberWorkBenchが気になる。
- C-to-Verilog.com
- 処理レイテンシを高精度にしていきたいです!
- 高位合成の入力言語
- 高位合成へのアプローチ