21 std::stringstream
function;
26 function <<
"assign ";
29 if (output_pin ==
nullptr)
34 const auto group = output_pin->
get_group();
35 if (group.first->size() > 1)
37 function << group.first->get_name() <<
"[" << group.second <<
"]";
48 const auto pin_group = pin->get_group();
49 std::string pin_str = pin_group.first->get_name() +
"[" + std::to_string(pin_group.second) +
"]";
57 return function.str();
const std::string & get_name() const
const std::pair< PinGroup< T > *, i32 > & get_group() const
std::set< std::string > get_variable_names() const
static std::string to_string(Value value)
BooleanFunction substitute(const std::string &old_variable_name, const std::string &new_variable_name) const
GatePin * get_pin_by_name(const std::string &name) const
const std::unordered_map< std::string, BooleanFunction > & get_boolean_functions() const
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)