[SystemC] ユーザーデータタイプを定義する。

ちょっと前に「[SystemC] SystemCノウハウ(User data type, Parameterized modules)」とか書いたのですが、SystemC Forumのスレッドにもこんなのが。


user defined data type signal assignment


で、実際自分でも書いて見たのがこちら。

  • サンプルコード

  •  1|#include <systemc.h>
     2|
     3|class digit
     4|{
     5|public:
     6|  sc_uint<4> dt;
     7| 
     8|  ///////constructor/////////
     9|  digit (sc_uint<4> d=0)
    10|  {
    11|    dt=d;
    12|  }
    13| 
    14|  digit& operator =(const digit& d) 
    15|  {
    16|    dt=d.dt;
    17|    return(*this);
    18|  }
    19|
    20|  inline bool operator == (const digit& rhs) const {
    21|      return (rhs.dt == dt );
    22|  }
    23|
    24|  inline friend ostream& operator << ( ostream& os,  digit const & v ) {
    25|    os << v.dt.to_string(SC_DEC);
    26|    return os;
    27|  }
    28|
    29|};
    30|
    31|int sc_main(int argc, char *argv[]) {
    32|    digit t1(8);
    33|    sc_signal <digit> d1;
    34|    d1.write(t1);
    35|    sc_start(10SC_NS);
    36|    cout<<"value:"<<d1<<endl;
    37|    return 0;
    38|}
  • 実行結果

  •              SystemC 2.3.0-ASI --- Mar 15 2013 12:59:30
            Copyright (c) 1996-2012 by all Contributors,
            ALL RIGHTS RESERVED
    
    value:8
    
関連記事

コメントの投稿

非公開コメント

プロフィール

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