Automatic partitioning of behavioral descriptions for high-level synthesis with multiple internal throughputs

This works presents a method for automatically partitioning single process behavioral descriptions (ANSI-C or SystemC) into separate processes under a given global throughput constraint. The proposed method identifies parts in the process with different internal Data Initiation Intervals (DIIs) and partitions it into sub-processes that can in turn be optimized independently. Experimental results show that our proposed method can reduce the overall design area by up to ~38% and on average by ~22% compared to the original single process synthesis. Our method can further reduce the overall design area by on average another ~12% if a design space exploration (DSE) for each newly generated process is performed.

[1]  Frank Vahid,et al.  FSMD functional partitioning for low power , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[2]  Frank Vahid Partitioning sequential programs for CAD using a three-step approach , 2002, TODE.

[3]  Huazhong Yang,et al.  Optimal partition with block-level parallelization in C-to-RTL synthesis for streaming applications , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[4]  Kazutoshi Wakabayashi,et al.  Design of complex image processing systems in ESL , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[5]  Jason Cong,et al.  Combining module selection and replication for throughput-driven streaming programs , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  Frank Vahid,et al.  SpecSyn: an environment supporting the specify-explore-refine paradigm for hardware/software system design , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Donald E. Thomas,et al.  Architectural partitioning for system level synthesis of integrated circuits , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Hiroyuki Tomiyama,et al.  Partitioning of Behavioral Descriptions with Exploiting Function-Level Parallelism , 2010, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[9]  Weng-Fai Wong,et al.  A computing origami: Folding streams in FPGAs , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[10]  Hiroaki Takada,et al.  Partitioning of Behavioral Descriptions with Exploiting , 2010 .

[11]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Kazutoshi Wakabayashi,et al.  Divide and conquer high-level synthesis design space exploration , 2012, TODE.