Skip to Main Content
Conventional synthesis algorithms schedule multiple precision specifications (formed by operations of different widths) by balancing the number of operations of every different type and width executed per cycle. However, totally balanced schedules are not always possible, even for specifications with a unique width, and therefore some hardware waste appears. In this paper a heuristic scheduling algorithm to minimize this hardware waste is presented. It successively transforms specification operations into sets of smaller ones which are scheduled independently, until the most uniform distribution of the computational effort of operations among cycles is achieved. In consequence some specification operations may be executed during a set of non-consecutive cycles, and over several linked hardware resources. In combination with allocation algorithms able to guarantee the bit-level reuse of hardware resources, our approach substantially reduces datapath area. Additionally, in most cases clock cycles length is also lessened.