summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp')
-rw-r--r--src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp b/src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp
new file mode 100644
index 000000000..1c3333c78
--- /dev/null
+++ b/src/systemc/tests/systemc/tracing/vcd_trace/test13/test13.cpp
@@ -0,0 +1,53 @@
+#include <systemc.h>
+sc_trace_file* sc_tf;
+
+class Mod : public sc_module
+{
+ public:
+ sc_in_clk clk;
+ sc_in<sc_uint<37> > a;
+
+ SC_HAS_PROCESS(Mod);
+ void foo()
+ {
+ cout << sc_time_stamp() << "\n";
+ cout << " a = " << a << "\n";
+ cout << "\n";
+
+ return;
+
+ } // foo()
+
+ Mod(const sc_module_name& name) : sc_module(name), a("a")
+ {
+ SC_METHOD(foo);
+ sensitive << clk.pos();
+ dont_initialize();
+
+ sc_trace(sc_tf, a, a.name());
+ }
+
+}; // class Mod
+
+
+int sc_main(int argc, char* argv[])
+{
+ sc_clock clk("clk", 50, SC_NS, 0.5, 0, SC_NS);
+ sc_signal<sc_uint<37> > a;
+
+ sc_tf = sc_create_vcd_trace_file("test13");
+
+ Mod mod("mod");
+
+ mod.clk(clk);
+ mod.a(a);
+
+ sc_trace(sc_tf, clk, clk.name());
+
+ sc_start(50, SC_NS);
+ a = 12;
+ sc_start(50, SC_NS);
+
+ return 0;
+
+} // sc_main()