Don’t cares

Header: mockturtle/algorithms/dont_cares.hpp

template<class Ntk>
kitty::dynamic_truth_table mockturtle::satisfiability_dont_cares(Ntk const &ntk, std::vector<node<Ntk>> const &leaves, uint64_t max_tfi_inputs = 16u)

Computes satisfiability don’t cares of a set of nodes.

This function returns an under approximation of input assignments that cannot occur on a given set of nodes in a network. They may therefore be used as don’t care conditions.

Parameters:
  • ntk – Network

  • leaves – Set of nodes

  • max_tfi_inputs – Maximum number of inputs in the transitive fanin.

template<class Ntk>
struct satisfiability_dont_cares_checker

SAT-based satisfiability don’t cares checker.

Initialize this class with a network and then call is_dont_care on a node to check whether the given assignment is a satisfiability don’t care.

The assignment is assumed to be directly at the inputs of the gate, not taking into account possible complemented fanins.