SystemC Utillity functions : Version and Copyright

SystemC-2.2からあったようですが、説明も少ないため SystemC-2.3前提で話をします。

用意されている function

以下の 3つの関数が用意されています。

  • sc_copyright()
  • sc_version()
  • sc_release()

どのような動きになるかはこちらを見てください。

  • サンプルコード
#include <systemc.h>

int sc_main(int argc, char* argv[])
{
  cout << "Call sc_release" << endl;
  cout << sc_release() << endl;
  cout << "Call sc_version" << endl;
  cout << sc_version() << endl;
  cout << "Call sc_copyright" << endl;
  cout << sc_copyright() << endl;

  return 0;
}
  • 実行結果
$> ./main

             SystemC 2.3.0-ASI --- Jul 13 2012 06:33:43
        Copyright (c) 1996-2012 by all Contributors,
        ALL RIGHTS RESERVED

Call sc_release
2.3.0-ASI
Call sc_version
             SystemC 2.3.0-ASI --- Jul 13 2012 06:33:43
Call sc_copyright
        Copyright (c) 1996-2012 by all Contributors,
        ALL RIGHTS RESERVED  

というような感じです。

シミュレーション開始に出てくるメッセージを止めたい

上記の実行結果を見てもらうとわかる通り、
SystemCのシミュレーション時に Version及び Copyrightのメッセージが表示されます。

これを表示しなくするには、以下の方法で抑制します。

csh/tcsh

setenv SYSTEMC_DISABLE_COPYRIGHT_MESSAGE 1

bash

export SYSTEMC_DISABLE_COPYRIGHT_MESSAGE=1


  • 実行結果
$> ./main
Call sc_release
2.3.0-ASI
Call sc_version
             SystemC 2.3.0-ASI --- Jul 13 2012 06:33:43
Call sc_copyright
        Copyright (c) 1996-2012 by all Contributors,
        ALL RIGHTS RESERVED  

になります。
これで邪魔なメッセージともおさらばえぇ〜