Majority-n networks

The file mockturtle/generators/majority.hpp implements several functions to generate majority-n networks.

template<class Ntk>
signal<Ntk> mockturtle::majority5(Ntk &ntk, std::array<signal<Ntk>, 5> const &xs)

Implements Majority-5 using 4 MAJ operations.

All majority operations require no inverters and are leafy.

template<class Ntk>
signal<Ntk> mockturtle::majority7(Ntk &ntk, std::array<signal<Ntk>, 7> const &xs)

Implements Majority-7 using 7 MAJ operations.

All majority operations require no inverters and are leafy.

template<class Ntk>
signal<Ntk> mockturtle::majority9_12(Ntk &ntk, std::array<signal<Ntk>, 9> const &xs)

Implements Majority-9 using 12 MAJ operations.

This construction requires one inverter.

template<class Ntk>
signal<Ntk> mockturtle::majority9_13(Ntk &ntk, std::array<signal<Ntk>, 9> const &xs)

Implements Majority-9 using 13 MAJ operations.

All majority operations require no inverters.