bug_147853.cpp revision 12855:588919e0e4aa
1// This tests that sc_clock values are updated during the value update phase
2// not during the execution phase of a delta cycle.
3
4#include "systemc.h"
5
6
7SC_MODULE(Test) {
8  sc_in_clk clk;
9  sc_event e1;
10  sc_time d;
11
12  void main() {
13    cerr << sc_time_stamp() <<" " << name() << " clk = " << clk.read() << "\n";
14    e1.notify(d);
15  }
16  SC_CTOR(Test) :d(5,SC_NS) {
17    SC_METHOD(main);
18    sensitive << e1;
19  }
20};
21
22
23int sc_main(int argc,char *argv[]) {
24
25  Test t1("t1");
26  sc_clock clk("clk",10,SC_NS);
27  Test t2("t2");
28
29  t1.clk(clk);
30  t2.clk(clk);
31
32  sc_start(50,SC_NS);
33  return 0;
34}
35