[SystemC] sc_get_current_process_handle()

記事検索 : sc_get_current_process_handle


このブログでは、当然のごとく書いていたのですが
SystemC Forumのほうでも出てきたので、紹介。


Accessing unique process_id of a systemC process


  • サンプルコード

  • #include <stdio.h>
    #include <systemc.h>
    
    SC_MODULE( hoge ){
    
      sc_process_handle t;
    
      SC_CTOR( hoge )
      {
        SC_THREAD( calling );
        SC_THREAD( target );
          t = sc_get_current_process_handle();
      }
    
      void calling(){
        assert( t.valid() );
        cout << t.name() << " : proc_kind = ";
        cout << t.proc_kind() << endl;
      }
    
      void target(){
         while (1) {
           wait(100SC_NS);
           cout << sc_time_stamp() << endl;
         }
      }
    
    };
    
    int sc_main(int argc, char *argv[]) {
    
      hoge mhoge("hoge");
      sc_start(500sc_core::SC_NS);
    
      return 0;
    }
  • 実行結果

  • hoge.target : proc_kind = 2
    100 ns
    200 ns
    300 ns
    400 ns
    


※この記述と結果は前にも書いたのです


proc_kind は以下のようになってます。

enum sc_curr_proc_kind 
{
  SC_NO_PROC_ ,
  SC_METHOD_PROC_ ,
  SC_THREAD_PROC_ ,
  SC_CTHREAD_PROC_
};

つまり、今回の「t」は「2:SC_THREAD_PROC_」ということになります。

関連記事

コメントの投稿

非公開コメント

プロフィール

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