HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::DummyEngine Class Reference

#include </home/runner/work/hal/hal/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/dummy_engine.h>

Inheritance diagram for hal::DummyEngine:
Inheritance graph
Collaboration diagram for hal::DummyEngine:
Collaboration graph

Public Member Functions

 DummyEngine (const std::string &nam)
 
virtual bool setSimulationInput (SimulationInput *simInput)
 
int numberCommandLines () const
 
std::vector< std::string > commandLine (int lineIndex) const
 
bool finalize ()
 
- Public Member Functions inherited from hal::SimulationEngineScripted
 SimulationEngineScripted (const std::string &nam)
 
- Public Member Functions inherited from hal::SimulationEngine
 SimulationEngine (const std::string &nam)
 
virtual ~SimulationEngine ()
 
std::string name () const
 
State state () const
 
int get_state () const
 
std::string get_working_directory () const
 
void set_working_directory (const std::string &workDir)
 
bool clock_events_required () const
 
bool can_share_memory () const
 
bool install_saleae_parser (std::string dirname) const
 
virtual void setResultFilename (const std::string filename)
 
std::string get_result_filename () const
 
virtual void failed ()
 
virtual void set_engine_property (const std::string &key, const std::string &value)
 
virtual std::string get_engine_property (const std::string &key)
 
virtual const std::unordered_map< std::string, std::string > & get_engine_properties () const
 
virtual SimulationInputget_simulation_input () const
 

Additional Inherited Members

- Public Types inherited from hal::SimulationEngine
enum  State { Failed = -1 , Done = 0 , Running = 1 , Preparing = 2 }
 
- Protected Attributes inherited from hal::SimulationEngine
bool mRequireClockEvents
 
bool mCanShareMemory
 
std::string mResultFilename
 
State mState
 
std::unordered_map< std::string, std::string > mProperties
 
SimulationInputmSimulationInput
 
std::string mWorkDir
 

Detailed Description

A simulation engine that does not simulate anything and merely serves as an example and for testing.

Definition at line 41 of file dummy_engine.h.

Constructor & Destructor Documentation

◆ DummyEngine()

hal::DummyEngine::DummyEngine ( const std::string &  nam)
inline

Definition at line 44 of file dummy_engine.h.

Member Function Documentation

◆ commandLine()

std::vector< std::string > hal::DummyEngine::commandLine ( int  lineIndex) const
virtual

Must be implemented by derived class

Returns command and argument to be executed

Parameters
[in]lineIndexthe line index of the script starting from 0
Returns
first element is command to be executed, subsequent elements are arguments

Implements hal::SimulationEngineScripted.

Definition at line 19 of file dummy_engine.cpp.

◆ finalize()

bool hal::DummyEngine::finalize ( )
virtual

Can be overwritten by derived class

Signals the engine that it is time for final steps (.e.g. writing VCD file) after simulation is done - that is: SimulationEngineEventDriven: all input events have been processed SimulationEngineScripted: all comands executed successfully

Returns
true if successful, false otherwise.

Reimplemented from hal::SimulationEngine.

Definition at line 31 of file dummy_engine.cpp.

References hal::SimulationEngine::Done, and hal::SimulationEngine::mState.

◆ numberCommandLines()

int hal::DummyEngine::numberCommandLines ( ) const
virtual

Must be implemented by derived class

Returns the information how many command lines are to be executed

Returns
number of command lines

Implements hal::SimulationEngineScripted.

Definition at line 14 of file dummy_engine.cpp.

◆ setSimulationInput()

bool hal::DummyEngine::setSimulationInput ( SimulationInput simInput)
virtual

Must be implemented by derived class

Will be called by controller to pass all relevant information to setup the simulation

Parameters
[in]simInputthe input
Returns
true if engine could be prepared successfully with given input, false otherwise.

Implements hal::SimulationEngine.

Definition at line 7 of file dummy_engine.cpp.

References hal::SimulationInput::dump(), hal::SimulationEngine::get_working_directory(), and hal::SimulationEngine::mSimulationInput.


The documentation for this class was generated from the following files: