Dynamic template generation for resource sharing in control and data flow graphs

High-level synthesis compilers often produce reoccurring patterns in intermediate CDFGs during translation. By identifying large reoccurring patterns, one may reduce area and communication overhead by efficiently reusing hardware for multiple operations. This paper presents an algorithm for dynamically generating templates of reoccurring patterns for resource sharing in CDFGs. Results show 40-80% resource reduction using small, incremental template growth, and variations within a 5% margin among varying look-ahead depths.

[1]  Prithviraj Banerjee,et al.  Overview of the FREEDOM compiler for mapping DSP software to FPGAs , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[2]  Hajo Broersma,et al.  A graph covering algorithm for a coarse grain reconfigurable system , 2003 .

[3]  Majid Sarrafzadeh,et al.  Instruction generation for hybrid reconfigurable systems , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[4]  Tiziano Villa,et al.  Explicit and implicit algorithms for binate covering problems , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Prithviraj Banerjee,et al.  Automatic translation of software binaries onto FPGAs , 2004, Proceedings. 41st Design Automation Conference, 2004..

[6]  Rajesh K. Gupta,et al.  A general approach for regularity extraction in datapath circuits , 1998, ICCAD.

[7]  Jeffrey Considine,et al.  Efficient algorithms for isomorphisms of simple types , 2003, POPL.

[8]  Roozbeh Jafari,et al.  Global resource sharing for synthesis of control data flow graphs on FPGAs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[9]  Fadi J. Kurdahi,et al.  Partitioning by regularity extraction , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[10]  John Wawrzynek,et al.  Fast module mapping and placement for datapaths in FPGAs , 1998, FPGA '98.