スポンサーサイト

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

SystemC合成-プロセスの違い

SystemCで高位合成を行った場合、プロセスごとに合成します。
SystemCではメソッドという形で定義されます。

・SC_METHOD
・SC_CTHREAD
・SC_THREAD

高位合成ツールでは、SC_THREADは一部のツール以外はSC_CTHREADと同じとみなします。
(同じ記述をしないといけない。=クロックとリセットが必要)

では、各スレッドでどういった違いがあるか?

簡単に言うと、合成時にタイミングを考慮するかどうかです。
基本的にSC_METHODはそのままRTLになります。
なので従来のRTL記述と同じように自分でタイミングを考える必要があります。
Verilogのalwaysと同じと考えるとイメージしやすいかと思います。

続いてSC_CTHREADの場合は、高位合成のためのスレッドなので
高位合成ツールが中の論理遅延を計算しタイミングを調整します。
なので、シミュレーションと合成後だと処理のタイミングが異なります。

ということで、SystemCで記述し合成する場合には各スレッドの特徴を活かす必要があります。
私はオススメはしませんが、RTL設計者であればSC_METHODで書くと分かりやすいのでは?

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
06 | 2017/07 | 08
- - - - - - 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 31 - - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。