Storage optimization by replacing some flip-flops with latches

Conventionally, when a synchronous sequential circuit is synthesized, storage units are implemented in either edge-triggered flip-flops or level-sensitive latches, but not both, depending on the clocking scheme (one- or two-phase) used. We propose that, in the former case, some of the flip-flops can be replaced with latches. Since a latch is generally smaller, faster and less power-consuming than a flip-flop, this replacement leads to improvements in circuit area, performance and power consumption. Whether a flip-flop can be replaced with a latch depends on not only its structural context but also its temporal behavior. We first present conditions under which a straightforward replacement can be made; then, we propose two retiming-based transformations that increase the number of replaceable flip-flops. We have implemented the proposed idea in a software called FF2Latch. Experimental results on a set of control-dominated circuits from the high-level synthesis benchmark set show that a large number of the flip-flops can be replaced with latches. Up to 22% reduction in the circuit area and up to 73% reduction in the power consumption have been achieved.

[1]  Jörg Biesenack,et al.  The Siemens high-level synthesis system CALLAS , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Alice C. Parker,et al.  Tutorial on high-level synthesis , 1988, DAC '88.

[3]  Edward A. Feigenbaum,et al.  Switching and Finite Automata Theory: Computer Science Series , 1990 .

[4]  Marios C. Papaefthymiou,et al.  Edge-triggering vs. two-phase level-clocking , 1993 .

[5]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[6]  Peter Duzy,et al.  High-level synthesis from VHDL with exact timing constraints , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[7]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[8]  Raul Camposano,et al.  Path-based scheduling for synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Thomas J. Wilderotter,et al.  A Designer's Guide to VHDL Synthesis , 1994 .

[10]  Wayne H. Wolf,et al.  The Princeton University behavioral synthesis system , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[11]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .

[12]  Charles E. Leiserson,et al.  Optimizing Synchronous Circuitry by Retiming (Preliminary Version) , 1983 .

[13]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[14]  Andreas Kuehlmann,et al.  A system for production use of high-level synthesis , 1993, IEEE Trans. Very Large Scale Integr. Syst..