/************************************************** versys eda example--**** test.cpp ****------------- --------------Test module of counter--------------- Copyright (c) 1996-2007, by all Contributions. All rights reserved. *******************2007/11/22 by ogu, lexim,inc.***/ #include #include #include "systemc.h" #include "counter.h" int sc_main(int argc, char *argv[]) { sc_clock clock("clock", 20, SC_NS, 0.5, 0, SC_NS, false); sc_signal load; sc_signal clear; sc_signal > din; sc_signal > dout; counter *testcnt; testcnt = new counter("testcnt"); (*testcnt)(clock, load, clear, din, dout); sc_trace_file *trace_f; trace_f = sc_create_vcd_trace_file("counter"); ((vcd_trace_file *)trace_f) -> sc_set_vcd_time_unit(-9); sc_trace(trace_f, clock, "clock"); sc_trace(trace_f, load, "load"); sc_trace(trace_f, clear, "clear"); sc_trace(trace_f, din, "din"); sc_trace(trace_f, dout, "dout"); sc_initialize(); load = false; clear = true; din = 0x08; sc_start(60, SC_NS); clear = false; sc_start(120, SC_NS); load = true; sc_start(60, SC_NS); load = false; sc_start(320,SC_NS); sc_close_vcd_trace_file(trace_f); return 0; }