Retiming

Header: mockturtle/algorithms/retiming.hpp

template<class Ntk>
void mockturtle::retime(Ntk &ntk, retime_params const &ps = {}, retime_stats *pst = nullptr)

Retiming.

This function implements a retiming algorithm for registers minimization. The only supported network type is the generic_network. The algorithm excecutes the retiming inplace.

Currently, only area-based retiming is implemented. Mixed register types such as (active high/low, rising/falling edge) are not supported yet.

Required network functions:

  • size

  • is_pi

  • is_constant

  • node_to_index

  • index_to_node

  • get_node

  • foreach_po

  • foreach_node

  • fanout_size

  • has_incr_value

  • has_decr_value

  • has_get_fanin0

The implementation of this algorithm was inspired by the mapping command retime in ABC.

Parameters:
  • ntk – Network

  • ps – Retiming params

  • pst – Retiming statistics