Node resynthesis ---------------- **Header:** ``mockturtle/algorithms/node_resynthesis.hpp`` The following example shows how to resynthesize a `k`-LUT network derived from an AIG using LUT mapping into an MIG using precomputed optimum networks. In this case the maximum number of variables for a node function is 4. .. code-block:: c++ /* derive some AIG */ aig_network aig = ...; /* LUT mapping */ mapping_view mapped_aig{aig}; lut_mapping_params ps; ps.cut_enumeration_ps.cut_size = 4; lut_mapping, true>( mapped_aig, ps ); /* collapse into k-LUT network */ const auto klut = *collapse_mapped_network( mapped_aig ); /* node resynthesis */ mig_npn_resynthesis resyn; const auto mig = node_resynthesis( klut, resyn ); Parameters and statistics ~~~~~~~~~~~~~~~~~~~~~~~~~ .. doxygenstruct:: mockturtle::node_resynthesis_params :members: .. doxygenstruct:: mockturtle::node_resynthesis_stats :members: Algorithm ~~~~~~~~~ .. doxygenfunction:: mockturtle::node_resynthesis(NtkSource const&, ResynthesisFn&&, node_resynthesis_params const&, node_resynthesis_stats*) .. doxygenfunction:: mockturtle::node_resynthesis(NtkDest&, NtkSource const&, ResynthesisFn&&, node_resynthesis_params const&, node_resynthesis_stats*) .. _node_resynthesis_functions: Resynthesis functions ~~~~~~~~~~~~~~~~~~~~~ .. doxygenclass:: mockturtle::xag_npn_resynthesis .. doxygenclass:: mockturtle::mig_npn_resynthesis .. doxygenclass:: mockturtle::xmg_npn_resynthesis .. doxygenclass:: mockturtle::xag_minmc_resynthesis :members: .. doxygenclass:: mockturtle::exact_resynthesis .. doxygenclass:: mockturtle::exact_aig_resynthesis .. doxygenclass:: mockturtle::dsd_resynthesis .. doxygenclass:: mockturtle::shannon_resynthesis .. doxygenclass:: mockturtle::sop_factoring .. doxygenclass:: mockturtle::positive_davio_resynthesis .. doxygenclass:: mockturtle::negative_davio_resynthesis .. doxygenclass:: mockturtle::direct_resynthesis .. doxygenclass:: mockturtle::akers_resynthesis .. doxygenclass:: mockturtle::bidecomposition_resynthesis