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