スポンサーサイト

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

[SystemC] sync_reset_on/off

SystemC 2.3では、Process Controlはかなり拡張されています。
今回は、「sync_reset_on/off」についてです。

  • サンプルコード

  •  1|#include <stdio.h>
     2|#include <systemc.h>
     3|
     4|SC_MODULE( hoge ){
     5|
     6|  sc_event          ev;
     7|  sc_process_handle t;
     8|  int               q;
     9|
    10|  SC_CTOR( hoge )
    11|  {
    12|    SC_THREAD( calling );
    13|    SC_THREAD( target );
    14|      t = sc_get_current_process_handle();
    15|  }
    16|
    17|  void calling(){
    18|    wait(10SC_NS);
    19|    ev.notify();
    20|
    21|    wait(10SC_NS);
    22|    t.sync_reset_on();
    23|
    24|    wait(10SC_NS);
    25|    ev.notify();
    26|
    27|    wait(10SC_NS);
    28|    t.sync_reset_off();
    29|
    30|    wait(10SC_NS);
    31|    ev.notify();
    32|  }
    33|
    34|  void target(){
    35|     q = 0;
    36|     while (1) {
    37|       wait(ev);
    38|       ++q;
    39|       cout << sc_time_stamp();
    40|       cout << " q = " << q << endl;
    41|     }
    42|  }
    43|
    44|};
    45|
    46|int sc_main(int argc, char *argv[]) {
    47|
    48|  hoge mhoge("hoge");
    49|  sc_start(500sc_core::SC_NS);
    50|
    51|  return 0;
    52|}
  • 実行結果

  • $> ./main
    
                 SystemC 2.3.0-ASI --- Dec 14 2012 21:01:01
            Copyright (c) 1996-2012 by all Contributors,
            ALL RIGHTS RESERVED
    
    10 ns q = 1
    50 ns q = 1
    

sync_reset_on 時に qが初期化(targetプロセスの初期化)されます。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

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

カレンダー
04 | 2017/05 | 06
- 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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。