diff --git a/src/CLIParser.cpp b/src/CLIParser.cpp index 788db58..fcbfabb 100644 --- a/src/CLIParser.cpp +++ b/src/CLIParser.cpp @@ -76,6 +76,8 @@ void CLIParser::build() { "enable gdb server and specify port to use") ("dump-ir", "dump the intermediate representation") + ("dump-structure", po::value(), + "dump model structure to ELK file") ("quantum", po::value(), "SystemC quantum time in ns") ("reset,r", po::value(), diff --git a/src/sc_main.cpp b/src/sc_main.cpp index f4fbab3..2d875ae 100644 --- a/src/sc_main.cpp +++ b/src/sc_main.cpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -78,6 +79,9 @@ int sc_main(int argc, char *argv[]) { if (of.is_open()) cfg.dump_configuration(of); } cfg.configure(); + std::unique_ptr dumper; + if(parser.is_set("dump-structure")) + dumper.reset(new scc::hierarchy_dumper(parser.get("dump-structure"), scc::hierarchy_dumper::D3JSON)); /////////////////////////////////////////////////////////////////////////// // overwrite config with command line settings ///////////////////////////////////////////////////////////////////////////