Performance-constrained hierarchical pipelining for behaviors, loops, and operations

Behavioral specifications of DSP systems generally contain a number of nested loops. In order to obtain high date rates for such systems, it is necessary to pipeline the system within the behavior, within the loop bodies, and also within the operations. In order to hierarchically pipeline a performance-constrained system, an important step consists of distributing the performance constraint among the loops in such a manner that the constraint is satisfied and design cost is minimized. This paper presents an algorithm for propagating constraints and hierarchically pipelining a given throughput-constrained system. Along with pipelining, the algorithm schedules the operations within the loop bodies and selects components for them, with the aim of minimizing cost while satisfying the constraint propagated to the loop body. Results demonstrate the necessity of pipelining across the three granularity levels in order to obtain high performance designs. They also demonstrate the feasibility and quality of our approach, the indicate that it may be efficiently used for synthesizing or estimating within system-level design.

[1]  Joos Vandewalle,et al.  Loop Optimization in Register-Transfer Scheduling for DSP-Systems , 1989, 26th ACM/IEEE Design Automation Conference.

[2]  Francky Catthoor,et al.  Application-Driven Architecture Synthesis , 1993 .

[3]  Hugo De Man,et al.  Combined hardware selection and pipelining in high-performance data-path design , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Daniel Gajski,et al.  Component selection in resource shared and pipelined DSP applications , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[5]  Joos Vandewalle,et al.  An efficient microcode compiler for application specific DSP processors , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  D.D. Gajski,et al.  An algorithm for component selection in performance optimized scheduling , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[7]  Miodrag Potkonjak,et al.  HYPER: an interactive synthesis environment for high performance real time applications , 1989, Proceedings 1989 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[8]  Daniel Gajski,et al.  A transformation-based method for loop folding , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Daniel Gajski,et al.  Clock optimization for high-performance pipelined design , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[10]  Rajiv Jain,et al.  Module selection for pipelined synthesis , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[11]  Rajiv Jain MOSP: module selection for pipelined designs with multi-cycle operations , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[12]  Hugo De Man,et al.  Combined hardware selection and pipelining in high performance data-path design , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[13]  A. H. Timmer,et al.  Module selection and scheduling using unrestricted libraries , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[14]  Jie Gong,et al.  The SpecSyn Design Process and Human Interface , 1993 .

[15]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..