33 #include <unordered_map>
39 class NetlistSimulatorController;
40 class SimulationLogReceiver;
283 virtual std::vector<std::string>
commandLine(
int lineIndex)
const = 0;
virtual std::vector< WaveEvent > get_simulation_events(u32 netId) const
SimulationEngineEventDriven(const std::string &nam)
virtual bool inputEvent(const SimulationInputNetEvent &netEv)=0
void deleteFactory(const std::string nam)
std::vector< std::string > factoryNames() const
static SimulationEngineFactories * instance()
SimulationEngineFactory * factoryByName(const std::string nam) const
virtual ~SimulationEngineFactory()
SimulationEngineFactory(const std::string &nam)
virtual SimulationEngine * createEngine() const =0
virtual SimulationInput * get_simulation_input() const
virtual bool run(NetlistSimulatorController *controller, SimulationLogReceiver *logReceiver=nullptr)=0
SimulationEngine(const std::string &nam)
bool clock_events_required() const
std::string get_working_directory() const
virtual void set_engine_property(const std::string &key, const std::string &value)
virtual std::string get_engine_property(const std::string &key)
SimulationInput * mSimulationInput
virtual void setResultFilename(const std::string filename)
bool install_saleae_parser(std::string dirname) const
std::unordered_map< std::string, std::string > mProperties
virtual ~SimulationEngine()
virtual bool setSimulationInput(SimulationInput *simInput)=0
bool can_share_memory() const
std::string get_result_filename() const
void set_working_directory(const std::string &workDir)
std::string mResultFilename
virtual const std::unordered_map< std::string, std::string > & get_engine_properties() const
virtual int numberCommandLines() const =0
virtual std::vector< std::string > commandLine(int lineIndex) const =0
SimulationEngineScripted(const std::string &nam)