test13.cpp revision 12855:588919e0e4aa
1#include <systemc.h>
2sc_trace_file* sc_tf;
3
4class Mod : public sc_module
5{
6 public:
7  sc_in_clk clk;
8  sc_in<sc_uint<37> >     a;
9
10  SC_HAS_PROCESS(Mod);
11  void foo()
12  {
13    cout << sc_time_stamp() << "\n";
14    cout << "  a = " << a << "\n";
15    cout << "\n";
16
17    return;
18
19  }  // foo()
20
21  Mod(const sc_module_name& name) : sc_module(name), a("a")
22  {
23    SC_METHOD(foo);
24    sensitive << clk.pos();
25    dont_initialize();
26
27    sc_trace(sc_tf, a, a.name());
28  }
29
30};  // class Mod
31
32
33int sc_main(int argc, char* argv[])
34{
35  sc_clock clk("clk", 50, SC_NS, 0.5, 0, SC_NS);
36  sc_signal<sc_uint<37> > a;
37
38  sc_tf = sc_create_vcd_trace_file("test13");
39
40  Mod mod("mod");
41
42  mod.clk(clk);
43  mod.a(a);
44
45  sc_trace(sc_tf, clk, clk.name());
46
47  sc_start(50, SC_NS);
48  a = 12;
49  sc_start(50, SC_NS);
50
51  return 0;
52
53}  // sc_main()
54