diff --git a/src/sysc/scc/configurable_tracer.cpp b/src/sysc/scc/configurable_tracer.cpp index fb61bcae..83303db6 100644 --- a/src/sysc/scc/configurable_tracer.cpp +++ b/src/sysc/scc/configurable_tracer.cpp @@ -35,6 +35,12 @@ configurable_tracer::configurable_tracer(std::string const&& name, file_type typ default_trace_enable = default_enable; } +configurable_tracer::configurable_tracer(std::string const&& name, file_type tx_type, file_type sig_type, bool default_enable, + sc_core::sc_object* top) +: tracer(std::move(name), tx_type, sig_type, top) { + default_trace_enable = default_enable; +} + configurable_tracer::configurable_tracer(std::string const&& name, file_type type, sc_core::sc_trace_file* tf, bool default_enable, sc_core::sc_object* top) : tracer(std::move(name), type, tf, top) { diff --git a/src/sysc/scc/configurable_tracer.h b/src/sysc/scc/configurable_tracer.h index 35165360..8c622acb 100644 --- a/src/sysc/scc/configurable_tracer.h +++ b/src/sysc/scc/configurable_tracer.h @@ -38,7 +38,7 @@ class configurable_tracer : public tracer { * constructs a tracer object * * @param name basename of the trace file(s) - * @param enable_tx enables transaction teacing + * @param enable_tx enables transaction tracing * @param enable_vcd enable VCD (signal based) tracing * @param default_enable value of parameter enableTracing if not defined by module or CCIs */ @@ -48,7 +48,7 @@ class configurable_tracer : public tracer { * constructs a tracer object * * @param name basename of the trace file(s) - * @param enable_tx enables transaction teacing + * @param enable_tx enables transaction tracing * @param enable_vcd enable VCD (signal based) tracing * @param default_enable value of parameter enableTracing if not defined by module or CCIs */ @@ -76,6 +76,19 @@ class configurable_tracer : public tracer { configurable_tracer(std::string const& name, file_type type, bool enable_vcd = true, bool default_enable = false, sc_core::sc_object* top = nullptr) : configurable_tracer(std::string(name), type, enable_vcd, default_enable, top) {} + /** + * constructs a tracer object + * + * @param name basename of the trace file(s) + * @param tx_type type of trace file for transactions + * @param sig_type type of trace file for signals + * @param default_enable value of parameter enableTracing if not defined by module or CCIs + */ + configurable_tracer(std::string const&& name, file_type tx_type, file_type sig_type, bool default_enable = false, + sc_core::sc_object* top = nullptr); + configurable_tracer(std::string const& name, file_type tx_type, file_type sig_type, bool default_enable = false, + sc_core::sc_object* top = nullptr) + : configurable_tracer(std::string(name), tx_type, sig_type, default_enable, top) {} /** * constructs a tracer object * diff --git a/src/sysc/scc/trace/vcd_trace.hh b/src/sysc/scc/trace/vcd_trace.hh index 7638d9b8..6ef32d88 100644 --- a/src/sysc/scc/trace/vcd_trace.hh +++ b/src/sysc/scc/trace/vcd_trace.hh @@ -49,7 +49,7 @@ inline void vcdEmitValueChange64(FPTR os, std::string const& handle, unsigned bi template inline void vcdEmitValueChangeReal(FPTR os, std::string const& handle, unsigned bits, T val){ - auto buf = fmt::format("r{:.16g} {}\n", val, handle); + auto buf = fmt::format("r{:.16g} {}\n", static_cast(val), handle); FWRITE(buf.c_str(), 1, buf.size(), os); }