« 今日のLisp | Main | HP200LXでScheme »

2007.03.05

AVM TLM

3章は読むだけ。
4章でついにTLMへ。

systemc メモ
error: multiple types in one declaration

エラーが出た上のファイルでclass宣言が;で終わっていない。
#include を展開した後、

class a
{
}

class b
{
};

class aの後に;が無いと、class bの所でこのエラーになる。
エラーを見ても、落ち着いて処理できるようなった今日この頃。

sc_exportなるキーワードを発見、もやもやしているsc_interfaceの理解につながりそうだ。sc_exportは、System Design with SystemCには載っていなくて、Ground upの方に載っている。読んでみよう。

|

« 今日のLisp | Main | HP200LXでScheme »

Comments

> sc_exportなるキーワードを発見

自慢じゃないけど理解しとらんです。
readme を読むと、

sc_export を、他の sc_export に接続する場合、
parent_exp を child_exp に接続しなければならない。
つまり、"parent_exp(child_exp)" のようになる。

ports では、これが逆で、child_port(parent_port) のようになるが、
sc_exports でこれやるのは間違いで、エラボレート時にエラーを発生する。

大雑把に言えば、"further(closer)" のように接続し、
further の port/export は、チャネルからより遠い。
この further(closer) 則は、export だけでなく port の場合も同様である。

階層の port では、最上位のモジュールの port にチャネルを接続する。
つまり、parent_port==closer なので、child_port(parent_port) となる。
sc_export では、チャネルはインスタンスの内側に埋め込まれている。
つまり、child_exp==closer なので、parent_exp(child_exp) となる。

なんだって...

Posted by: noboshemon | 2007.03.07 at 10:54 AM

sc_exportは、SystemC 2.1で導入されたものです。
ですから、、System Design with SystemCには載っていなくて、Ground upに載っています。
Ground upはSystemC 2.1対応ですから、

AVMはsc_interfaceとsc_exportを多用していますので、
実践的な例題としては非常にいいと思います。

Posted by: 原山みや | 2007.03.10 at 09:09 AM

>>noboshemonさん
むむむ、portの親子関係ですか・・・
これってsystemc moduleの話では無いですよね。

C++のレベルで、関数を呼び出す側が親で、呼び出される側
(実装が書いてある方)が子という認識かな。


>>原山みやさん
情報ありがとうございます。
AVMはシンプルな記述が多いので、わかりやすいですね。
もう少し進めてみます。

Posted by: なつたん | 2007.03.12 at 12:22 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/14145144

Listed below are links to weblogs that reference AVM TLM :

« 今日のLisp | Main | HP200LXでScheme »