Retiming Synchronous Circuitry

Abstract

This paper describes a circuit transformation called retiming in which registers are added at some points in a circuit and removed from others in such a way that he functional behavior of the circuit as a whole is preserved. We show that retiming can be used to transform a given synchronous circuit into a more efficient circuit under a variety of different cost criteria. We model a circuit as a graph in which the vertex set V is a collection of combinational logic elements and the edge set E is the set of interconnections, each of which may pass through zero or more registers. We give an algorithm for determining an equivalent retimed circuit with the smallest possible clock period. We show that the problem of determining an equivalent retimed circuit with minimum state (total number of registers) is polynomial-time solvable. This result yields a polynomial-time optimal solution to the problem of pipelining combinational circuitry with minimum register cost. We also give a characterization of optimal retiming based on an efficiently solvable mixed-integer linear programming problem. Keywords include: Digital circuitry, Graph theory, Linear programming, Network flow, Optimization, Pipelining, Propagation delay, Retiming, Synchronous circuitry, and Systolic circuits.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1988
Accession Number
ADA200978

Entities

People

  • Charles E. Leiserson
  • James B. Saxe

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Circuits
  • Classification
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Corporations
  • Correlators
  • Delay Circuits
  • Equations
  • Graph Theory
  • Integer Programming
  • Linear Programming
  • Mathematical Programming
  • Military Research
  • Optimization

Readers

  • Computer Engineering
  • Operations Research
  • Parallel and Distributed Computing.