Process selection for maximum resource sharing in High-Level Synthesis

High-Level Synthesis (HLS) can lead to smaller designs compared to hand-coded RTL, due to its ability to max- imize resource sharing. In resource sharing a single Functional Units (FU) is shared among different operators. The potential benefits of resource sharing are nevertheless confined to the synthesized process. HLS is a single process synthesis method, where each behavioral description is synthesized separately. This work presents a method to efficiently select and combine multiple processes, specified as separate synthesizable ANSI-C programs, in order to extend the benefit of resource sharing across these processes. Our proposed method analyzes different behavioral descriptions in terms of the type and number of FUs needed and clusters the ones with the highest potential for resource sharing together so that the total design area is minimized. For cost sensitive applications where area is one of the main design factors, the proposed approach further helps reducing the design area and hence the cost. Experimental results show that our method generates very good results compared to an exhaustive search at a considerable lower running time meeting a set of critical path and latency constraints.

[1]  Reinaldo A. Bergamaschi,et al.  Generalized resource sharing , 1997, ICCAD 1997.

[2]  Cid C. de Souza,et al.  Efficient datapath merging for partially reconfigurable architectures , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  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..

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

[5]  Kiamal Z. Pekmestzi,et al.  High Performance and Area Efficient Flexible DSP Datapath Synthesis , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[6]  Sharad Malik,et al.  Datapath merging and interconnection sharing for reconfigurable architectures , 2002, 15th International Symposium on System Synthesis, 2002..

[7]  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).

[8]  Benjamin Carrión Schäfer,et al.  S2CBench: Synthesizable SystemC Benchmark Suite for High-Level Synthesis , 2014, IEEE Embedded Systems Letters.

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

[10]  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).

[11]  Kiyoung Choi,et al.  High-level synthesis with distributed controller for fast timing closure , 2011, ICCAD 2011.