Realistic performance-constrained pipelining in high-level synthesis

This paper describes an approach to pipelining in high-level synthesis that modifies the control/data flow graph before and after scheduling. This enables the direct re-use of a pre-existing, timing- and area-aware non-pipelined simultaneous scheduler and binder. Such an approach ensures that the RTL output can be synthesized within the given timing and area constraints. Results from real industrial designs show the effectiveness of this approach in improving Pareto optimality with respect to area, delay and power.

[1]  Alok Sharma,et al.  Estimating Architectural Resources and Performance for High-Level Synthesis Applications , 1993, 30th ACM/IEEE Design Automation Conference.

[2]  Lei Gao,et al.  A software pipelining algorithm in high-level synthesis for FPGA architectures , 2009, 2009 10th International Symposium on Quality Electronic Design.

[3]  Scott A. Mahlke,et al.  Streamroller:: automatic synthesis of prescribed throughput accelerator pipelines , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[4]  B. Ramakrishna Rau,et al.  Iterative modulo scheduling: an algorithm for software pipelining loops , 1994, MICRO 27.

[5]  Jason Cong,et al.  Automatic memory partitioning and scheduling for throughput and power optimization , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[6]  Scott A. Mahlke,et al.  High-level synthesis of nonprogrammable hardware accelerators , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[7]  Monica S. Lam,et al.  RETROSPECTIVE : Software Pipelining : An Effective Scheduling Technique for VLIW Machines , 1998 .

[8]  Marianne Winslett,et al.  A prescriptive formal model for data-path hardware , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Alok Sharma,et al.  Estimating architectural resources and performance for high-level synthesis applications , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[10]  J. Cortadella,et al.  Time-constrained loop pipelining , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[11]  B. Ramakrishna Rau,et al.  Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing , 1981, MICRO 14.

[12]  Yu-Chin Hsu,et al.  Scheduling for functional pipelining and loop winding , 1991, 28th ACM/IEEE Design Automation Conference.

[13]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[14]  Peter Y. K. Cheung,et al.  Outer Loop Pipelining for Application Specific Datapaths in FPGAs , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Alexandru Nicolau,et al.  Percolation based synthesis , 1991, DAC '90.