From afdfa4df877fa2438b54287268da23310246d480 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 12 May 2019 08:19:49 -0400 Subject: [PATCH] Support VerilatedFstC set_time_unit, bug1433. --- Changes | 2 ++ include/verilated_fst_c.h | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Changes b/Changes index 478179235..89c360686 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,8 @@ The contributors that suggested a given feature are shown in []. Thanks! * Verilator 4.015 devel +**** Support VerilatedFstC set_time_unit, bug1433. [Pieter Kapsenberg] + * Verilator 4.014 2019-05-08 diff --git a/include/verilated_fst_c.h b/include/verilated_fst_c.h index bc5a3c581..d70fd8540 100644 --- a/include/verilated_fst_c.h +++ b/include/verilated_fst_c.h @@ -77,11 +77,11 @@ public: fstWriterClose(m_fst); m_fst = NULL; } - // void set_time_unit(const char* unitp); ///< Set time units (s/ms, defaults to ns) - // void set_time_unit(const std::string& unit) { set_time_unit(unit.c_str()); } + void set_time_unit(const char* unitp) { fstWriterSetTimescaleFromString(m_fst, unitp); } + void set_time_unit(const std::string& unit) { set_time_unit(unit.c_str()); } - // void set_time_resolution(const char* unitp); ///< Set time resolution (s/ms, defaults to ns) - // void set_time_resolution(const std::string& unit) { set_time_resolution(unit.c_str()); } + void set_time_resolution(const char* unitp) { if (unitp) {} } + void set_time_resolution(const std::string& unit) { set_time_resolution(unit.c_str()); } // double timescaleToDouble(const char* unitp); // std::string doubleToTimescale(double value); @@ -216,11 +216,11 @@ public: void dump(int timestamp) { dump(static_cast(timestamp)); } /// Set time units (s/ms, defaults to ns) /// See also VL_TIME_PRECISION, and VL_TIME_MULTIPLIER in verilated.h - void set_time_unit(const char* unit) { /* TODO */ } + void set_time_unit(const char* unitp) { m_sptrace.set_time_unit(unitp); } void set_time_unit(const std::string& unit) { set_time_unit(unit.c_str()); } /// Set time resolution (s/ms, defaults to ns) /// See also VL_TIME_PRECISION, and VL_TIME_MULTIPLIER in verilated.h - void set_time_resolution(const char* unit) { /* TODO */ } + void set_time_resolution(const char* unitp) { m_sptrace.set_time_resolution(unitp); } void set_time_resolution(const std::string& unit) { set_time_resolution(unit.c_str()); } /// Internal class access