67 std::set<std::string>
get_provided_models(
const std::filesystem::path model_path,
const std::filesystem::path gate_definition_path);
165 static const int s_command_lines;
176 std::vector<std::string>
commandLine(
int lineIndex)
const override;
181 int m_num_of_threads = 4;
182 std::string m_compiler;
SimulationEngine * createEngine() const override
VerilatorEngine(const std::string &nam)
std::string m_design_name
bool setSimulationInput(SimulationInput *simInput) override
std::unique_ptr< Netlist > m_partial_netlist
std::vector< std::string > commandLine(int lineIndex) const override
int numberCommandLines() const override
std::filesystem::path m_simulator_dir
bool convert_gate_library_to_verilog(const Netlist *nl, const std::filesystem::path verilator_sim_path, const std::filesystem::path model_path="")
std::vector< std::string > get_parameters_for_gate(const GateType *gt)
std::string get_function_for_latch(const GateType *gt)
std::string get_prologue_for_gate_type(const GateType *gt)
std::string get_function_for_ff(const GateType *gt)
std::string get_function_for_lut(const GateType *gt)
Result< std::string > verilog_function_printer(const BooleanFunction::Node &node, std::vector< std::string > &&operands)
std::string get_function_for_combinational_gate(const GateType *gt)
std::unordered_map< GateType *, std::string > get_gate_gate_types_from_netlist(const Netlist *nl)
std::string get_function_for_gate(const GateType *gt)
std::set< std::string > get_provided_models(const std::filesystem::path model_path, const std::filesystem::path gate_definition_path)
std::string get_epilogue_for_gate_type()
std::string get_name_for_gate_type(const GateType *gt)