PandA-2024.02
|
Main class for wrapping Verilator. More...
#include <VerilatorWrapper.hpp>
Public Member Functions | |
VerilatorWrapper (const ParameterConstRef &Param, const std::string &suffix, const std::string &top_fname, const std::string &inc_dirs) | |
Constructor. More... | |
~VerilatorWrapper () override | |
Destructor. More... | |
void | CheckExecution () override |
Checks if the current specification can be executed or not. More... | |
void | Clean () const override |
Remove files created during simulation. More... | |
Public Member Functions inherited from SimulationTool | |
SimulationTool (const ParameterConstRef &Param, const std::string &top_fname, const std::string &inc_dirs) | |
Constructor. More... | |
virtual | ~SimulationTool () |
Destructor. More... | |
virtual std::string | GenerateSimulationScript (const std::string &top_filename, std::list< std::string > file_list) |
Generates the proper simulation script. More... | |
virtual void | Simulate (unsigned long long &accum_cycles, unsigned long long &n_testcases) |
Performs the simulation and returns the number of cycles. More... | |
void | DetermineCycles (unsigned long long int &accum_cycles, unsigned long long &n_testcases) |
Determines the average number of cycles for the simulation(s) More... | |
Private Member Functions | |
std::string | GenerateScript (std::ostream &script, const std::string &top_filename, const std::list< std::string > &file_list) override |
Generates the proper simulation script. More... | |
Private Attributes | |
std::string | suffix |
suffix added to the SIM dir More... | |
Additional Inherited Members | |
Public Types inherited from SimulationTool | |
using | type_t = enum { UNKNOWN=0, MODELSIM, XSIM, VERILATOR } |
supported synthesis tools More... | |
Static Public Member Functions inherited from SimulationTool | |
static type_t | to_sim_type (const std::string &str) |
static SimulationToolRef | CreateSimulationTool (type_t type, const ParameterConstRef &Param, const std::string &suffix, const std::string &top_fname, const std::string &inc_dirs) |
Factory method. More... | |
Protected Member Functions inherited from SimulationTool | |
std::string | GenerateLibraryBuildScript (std::ostream &script, const std::string &libtb_filename, std::string &beh_cflags) const |
Protected Attributes inherited from SimulationTool | |
const ParameterConstRef | Param |
class containing all the parameters More... | |
int | debug_level |
debug level of the class More... | |
unsigned int | output_level |
verbosity level of the class More... | |
const std::string | top_fname |
std::string | generated_script |
generated script More... | |
std::string | log_file |
log file More... | |
const std::string | inc_dirs |
comma separated list of include dirs More... | |
Main class for wrapping Verilator.
Definition at line 56 of file VerilatorWrapper.hpp.
VerilatorWrapper::VerilatorWrapper | ( | const ParameterConstRef & | Param, |
const std::string & | suffix, | ||
const std::string & | top_fname, | ||
const std::string & | inc_dirs | ||
) |
Constructor.
Param | is the set of parameters |
Definition at line 62 of file VerilatorWrapper.cpp.
References SimulationTool::debug_level, DEBUG_LEVEL_VERBOSE, PRINT_DBG_MEX, SIM_SUBDIR, suffix, and ~VerilatorWrapper().
|
overridedefault |
|
overridevirtual |
Checks if the current specification can be executed or not.
Reimplemented from SimulationTool.
Definition at line 78 of file VerilatorWrapper.cpp.
|
overridevirtual |
Remove files created during simulation.
Reimplemented from SimulationTool.
Definition at line 198 of file VerilatorWrapper.cpp.
|
overrideprivatevirtual |
Generates the proper simulation script.
Implements SimulationTool.
Definition at line 82 of file VerilatorWrapper.cpp.
References ends_with(), lenet_tvm::file, SimulationTool::GenerateLibraryBuildScript(), SimulationTool::inc_dirs, SimulationTool::log_file, NODE_NOT_YET_SUPPORTED_EC, SimulationTool::Param, SIM_SUBDIR, suffix, THROW_ERROR_CODE, and THROW_WARNING.
|
private |
suffix added to the SIM dir
Definition at line 59 of file VerilatorWrapper.hpp.
Referenced by GenerateScript(), and VerilatorWrapper().