From 117b0e4375659cdb5f95ef8bf6f3734af64efab1 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 6 Jan 2019 15:26:13 +0100 Subject: [PATCH] Extended tracing in units and python --- .cproject | 5 +++-- .settings/language.settings.xml | 6 +++--- CMakeLists.txt | 5 ++--- components/clkgen.cpp | 2 +- components/clkgen.h | 2 +- components/initiator.h | 6 +++++- router_example.py | 7 ++++++- router_example2.py | 1 + sc-components | 2 +- 9 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.cproject b/.cproject index e3c80bb..57cad41 100644 --- a/.cproject +++ b/.cproject @@ -12,7 +12,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -105,6 +105,7 @@ + diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index f7167aa..2adf654 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -4,14 +4,14 @@ - + - - + + diff --git a/CMakeLists.txt b/CMakeLists.txt index 37d588b..714b4e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,13 +48,12 @@ endif() setup_conan() # This line finds the boost lib and headers. -set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install. -find_package(Boost COMPONENTS program_options filesystem system thread REQUIRED) +#set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install. +#find_package(Boost COMPONENTS program_options filesystem system thread REQUIRED) # set-up SystemC and SCV find_package(SystemC) if(SystemC_FOUND) - add_definitions(-DWITH_SYSTEMC) include_directories(${SystemC_INCLUDE_DIRS}) link_directories(${SystemC_LIBRARY_DIRS}) else() diff --git a/components/clkgen.cpp b/components/clkgen.cpp index 1a44a65..a1a4779 100644 --- a/components/clkgen.cpp +++ b/components/clkgen.cpp @@ -18,6 +18,6 @@ ClkGen::~ClkGen() { // TODO Auto-generated destructor stub } -void ClkGen::end_of_elabortation() { +void ClkGen::end_of_elaboration() { clk_o.write(10_ns); } diff --git a/components/clkgen.h b/components/clkgen.h index 47edca9..23e2fd4 100644 --- a/components/clkgen.h +++ b/components/clkgen.h @@ -17,7 +17,7 @@ public: ClkGen(const sc_core::sc_module_name&); virtual ~ClkGen(); protected: - void end_of_elabortation(); + void end_of_elaboration() override; }; #endif /* COMPONENTS_CLKGEN_H_ */ diff --git a/components/initiator.h b/components/initiator.h index 95b7854..bf1cf3f 100644 --- a/components/initiator.h +++ b/components/initiator.h @@ -8,7 +8,7 @@ using namespace std; #include "tlm.h" #include "tlm_utils/simple_initiator_socket.h" - +#include // Initiator module generating generic payload transactions @@ -34,6 +34,10 @@ struct Initiator: sc_module bool dmi_ptr_valid; tlm::tlm_dmi dmi_data; + + void trace(sc_core::sc_trace_file* trf) const override { + TRACE_VAR(trf, dmi_ptr_valid); + } }; #endif diff --git a/router_example.py b/router_example.py index c09d966..b54ea26 100644 --- a/router_example.py +++ b/router_example.py @@ -24,6 +24,7 @@ pysysc.add_library('components.h', os.path.join(myDir, 'build/%s/lib/libcomponen ############################################################################### cpp.scc.init_logging(cpp.logging.INFO, False); cpp.sc_core.sc_report_handler.set_actions(cpp.sc_core.SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, cpp.sc_core.SC_DO_NOTHING); +cpp.scc.init_cci("GlobalBroker") ############################################################################### # instantiate ############################################################################### @@ -34,7 +35,7 @@ memories = [cpp.Memory(cpp.sc_core.sc_module_name(name)) for name in ["mem0", "m router = cpp.Router[4](cpp.sc_core.sc_module_name("router")) ############################################################################### # signals -##################‚‚‚sS############################################################# +############################################################################### sig_clk = cpp.sc_core.sc_signal[cpp.sc_core.sc_time]("clk") sig_rst = cpp.sc_core.sc_signal[cpp.sc_dt.sc_logic]("rst") ############################################################################### @@ -55,5 +56,9 @@ for idx,m in enumerate(memories): # run if it is standalone ############################################################################### if __name__ == "__main__": + if os.path.isfile('router_example.json'): + cfg = cpp.scc.configurer(cpp.std.string('router_example.json')); + trace = cpp.scc.configurable_tracer("router_example", 1, True, True) + trace.add_control() cpp.sc_core.sc_start() logging.debug("Done") diff --git a/router_example2.py b/router_example2.py index 90e045e..a04f81a 100644 --- a/router_example2.py +++ b/router_example2.py @@ -46,5 +46,6 @@ Connection().src(initiator.socket).sink(router.target_socket) # run if it is standalone ############################################################################### if __name__ == "__main__": + Simulation.configure(enable_vcd=True) Simulation.run() logging.debug("Done") diff --git a/sc-components b/sc-components index a066d50..3419e18 160000 --- a/sc-components +++ b/sc-components @@ -1 +1 @@ -Subproject commit a066d508a097fdd7134aeecbe72fdbabaae0aff3 +Subproject commit 3419e182354b400d397c3f62b8b47383249dd1d0