Reconvergence-driven cuts

Header: mockturtle/algorithms/reconv_cut.hpp

struct reconvergence_driven_cut_parameters

Parameters for reconvergence-driven cut computation.

The data structure reconvergence_driven_cut_parameters holds configurable parameters with default arguments for reconvergence_driven_cut_impl*.

template<typename Ntk, bool compute_nodes = false, bool sort_equal_cost_by_level = true>
std::pair<std::vector<node<Ntk>>, std::vector<node<Ntk>>> mockturtle::reconvergence_driven_cut(Ntk const &ntk, node<Ntk> const &pivot, reconvergence_driven_cut_parameters const &ps = {}, reconvergence_driven_cut_statistics *pst = nullptr)

Reconvergence-driven cut towards inputs.

This class implements a generation algorithm for reconvergence-driven cuts. The cut grows towards the primary inputs starting from a single pivot node.

Required network functions:

  • is_constant

  • is_pi

  • get_node

  • visited

  • has_visited

  • foreach_fanin

template<typename Ntk, bool compute_nodes = false, bool sort_equal_cost_by_level = true>
std::pair<std::vector<node<Ntk>>, std::vector<node<Ntk>>> mockturtle::reconvergence_driven_cut(Ntk const &ntk, signal<Ntk> const &pivot, reconvergence_driven_cut_parameters const &ps = {}, reconvergence_driven_cut_statistics *pst = nullptr)

Reconvergence-driven cut towards inputs.

This class implements a generation algorithm for reconvergence-driven cuts. The cut grows towards the primary inputs starting from a single pivot signal.

Required network functions:

  • is_constant

  • is_pi

  • get_node

  • visited

  • has_visited

  • foreach_fanin

template<typename Ntk, bool compute_nodes = false, bool sort_equal_cost_by_level = true>
std::pair<std::vector<node<Ntk>>, std::vector<node<Ntk>>> mockturtle::reconvergence_driven_cut(Ntk const &ntk, std::vector<node<Ntk>> const &pivots, reconvergence_driven_cut_parameters const &ps = {}, reconvergence_driven_cut_statistics *pst = nullptr)

Reconvergence-driven cut towards inputs.

This class implements a generation algorithm for reconvergence-driven cuts. The cut grows towards the primary inputs starting from a set of pivot nodes.

Required network functions:

  • is_constant

  • is_pi

  • get_node

  • visited

  • has_visited

  • foreach_fanin