Elsevier

Integration

Volume 22, Issues 1–2, August 1997, Pages 1-21
Integration

Retiming: Theory and practice

https://doi.org/10.1016/S0167-9260(97)00002-3Get rights and content

Abstract

Retiming is a technique for optimizing sequential circuits. It repositions the registers in a circuit leaving the combinational portion of circuitry untouched. The central objective of retiming is to find a circuit with the minimum number of registers for a specified clock period. There are two common variants of this theme; minimizing the clock period without regard to the number of registers in the final circuit or minimizing the number of registers in the final circuit with no constraints on the clock period.

Over a decade has elapsed since Leiserson and Saxe first presented a theoretical formulation to solve this problem for single-clock edge-triggered sequential circuits. The proposed algorithms have polynomial complexity. Since then research efforts have focussed on incorporating retiming in a synthesis framework, addressing issues that arise due to retiming, and extending the domain of circuits for which retiming can be applied. This paper presents a survey of retiming as it evolved from a theoretical formulation to a powerful optimization technique available in commercial tools. The issues that arise for a practical implementation of the basic retiming formulation are discussed. Some of the relevant research issues and key contributions are presented.

References (50)

  • K.A. Bartlett et al.

    Timing optimization of multi-phase sequential logic

    IEEE Trans. Comput. Aided Des.

    (1991)
  • S.T. Chakradhar

    Optimum retiming of large sequential circuits

  • S. Chakradhar et al.

    Sequential circuit delay optimization using global path delays

  • L.-F. Chao et al.

    Retiming and clock skew for synchronous systems

  • M.R. Dagenais et al.

    Automatic determination of optimal clocking parameters in MOS VLSI circuits

  • G.de. Micheli

    Synchronous logic synthesis: Algorithms for cycle-time minimization

    IEEE Trans. Comput. Aided Des.

    (1991)
  • R.B. Deokar et al.

    A fresh look at retiming via clock skew optimization

  • S. Dey et al.

    Partitioning sequential circuits for logic optimization

  • S. Dey et al.

    Partitioning sequential circuits for logic synthesis

    IEEE J. of Solid-State Circuits

    (1991)
  • S. Dey et al.

    Performance optimization of sequential circuits by eliminating retiming bottlenecks

  • G. Even, I.Y. Spillinger, L. Stok, Retiming revisited and reversed, IEEE Trans. Comput. Aided Design, to be...
  • E. Fehlauer et al.

    EPR — A synthesis tool for speed optimization

    Tech. Report, FhG ILS ErlangenDepartment EAS Dresden

    (1995)
  • J. Fishburn

    Clock skew optimization

    IEEE Trans. Comput.

    (1990)
  • A. Goldberg et al.

    Network flow algorithms

  • J. Grodstein et al.

    Optimal latch mapping and retiming within a tree

  • S. Hassoun et al.

    Architectural retiming: Pipelining latency-constrained circuits

  • A.T. Ishii

    Retiming gated clocks and precharged circuit structures

  • A. Ishii et al.

    Optimizing two-phase level-clocked circuitry

  • M.A. Iyer et al.

    Identifying sequential redundancies without search

  • I. Karkowski et al.

    Retiming synchronous circuitry with imprecise delays

  • S. Kundu et al.

    A small test generator for large designs

  • K.N. Lalgudi et al.

    DelaY: An efficient tool for retiming with realistic delay modeling

  • K.N. Lalgudi et al.

    Efficient retiming under a general delay model

  • E.L. Lawler

    Combinatorial Optimization: Networks and Matroids

    (1976)
  • C.E. Leiserson et al.

    Optimizing synchronous systems

    J. VLSI and Comput. Systems

    (1983)
  • Cited by (34)

    • Top-down digital VLSI design: From architectures to gate-level circuits and FPGAs

      2014, Top-Down Digital VLSI Design: From Architectures to Gate-Level Circuits and FPGAs
    • Comparator trees for winner-take-all circuits

      2004, Neurocomputing
      Citation Excerpt :

      The reduced number of inputs do not invoke the somewhat poorer performance of this architecture as the number of inputs is increased, that is, as the number of levels in the tree increases. This section explores the use of retiming [6,13] when applied to a registered design. Retiming can decrease the clock period of a design by moving combinational logic through registers.

    • Hardware-software partitioning and pipelined scheduling of transformative applications

      2002, IEEE Transactions on Very Large Scale Integration (VLSI) Systems
    • Challenges and Opportunities of Security-Aware EDA

      2023, ACM Transactions on Embedded Computing Systems
    View all citing articles on Scopus
    View full text