スポンサーサイト

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

[SystemC] unwind (reset and kill)

前回の「reset/kill」を観測することができます。

  • サンプルコード
  •  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.reset();
    23|
    24|    wait(10SC_NS);
    25|    ev.notify();
    26|
    27|    wait(10SC_NS);
    28|    t.kill();
    29|    assert( t.terminated() );
    30|
    31|    wait(10SC_NS);
    32|    ev.notify();
    33|  }
    34|
    35|  void target(){
    36|     q = 0;
    37|     while (1) {
    38|       try {
    39|         wait(ev);
    40|         ++q;
    41|         cout << sc_time_stamp();
    42|         cout << " q = " << q << endl;
    43|       }
    44|       catch (const sc_unwind_exception& e)
    45|       {
    46|          sc_assertsc_is_unwinding()) ;
    47|          if( e.is_reset() ) cout << "target was reset"  << endl;
    48|          else               cout << "target was killed" << endl;
    49|          //proc_handle.reset(); // Reset some other process
    50|          throw e;
    51|       }
    52|     }
    53|  }
    54|};
    55|
    56|int sc_main(int argc, char *argv[]) {
    57|
    58|  hoge mhoge("hoge");
    59|  sc_start(500sc_core::SC_NS);
    60|
    61|  return 0;
    62|}
  • 実行結果
  • $> ./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
    target was reset
    30 ns q = 1
    target was killed
    
関連記事

コメントの投稿

非公開コメント

プロフィール

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