System-level memory optimization for high-level synthesis of component-based SoCs

The design of specialized accelerators is essential to the success of many modern Systems-on-Chip. Electronic system-level design methodologies and high-level synthesis tools are critical for the efficient design and optimization of an accelerator. Still, these methodologies and tools offer only limited support for the optimization of the memory structures, which are often responsible for most of the area occupied by an accelerator. To address these limitations, we present a novel methodology to automatically derive the memory sub-systems of SoC accelerators. Our approach enables compositional design-space exploration and promotes design reuse of the accelerator specifications. We illustrate its effectiveness by presenting experimental results on the design of two accelerators for a high-performance embedded application.

[1]  Igor L. Markov,et al.  Consistent placement of macro-blocks using floorplanning and standard-cell placement , 2002, ISPD '02.

[2]  Jason Cong,et al.  Improving high level synthesis optimization opportunity through polyhedral transformations , 2013, FPGA '13.

[3]  Ahmed Hemani,et al.  Memory allocation and optimization in system-level architectural synthesis , 2013, 2013 8th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).

[4]  Erik Brockmeyer,et al.  Data Memory Organization and Optimizations in Application-Specific Systems , 2001, IEEE Des. Test Comput..

[5]  Jason Cong,et al.  An integrated and automated memory optimization flow for FPGA behavioral synthesis , 2012, 17th Asia and South Pacific Design Automation Conference.

[6]  Jason Cong,et al.  Optimizing memory hierarchy allocation with loop transformations for high-level synthesis , 2012, DAC Design Automation Conference 2012.

[7]  Luca P. Carloni,et al.  Compositional system-level design exploration with planning of high-level synthesis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Vito Giovanni Castellana,et al.  A runtime adaptive controller for supporting hardware components with variable latency , 2011, 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[9]  José R. Correa,et al.  Cardinality Constrained Graph Partitioning into Cliques with Submodular Costs , 2009, CTW.

[10]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[11]  Maxime Pelcat,et al.  Pre- and post-scheduling memory allocation strategies on MPSoCs , 2013, Proceedings of the 2013 Electronic System Level Synthesis Conference (ESLsyn).

[12]  Ingo Sander,et al.  System level synthesis of hardware for DSP applications using pre-characterized function implementations , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[13]  Mark Horowitz,et al.  1.1 Computing's energy problem (and what we can do about it) , 2014, 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC).

[14]  Philippe Coussy,et al.  High-Level Synthesis: from Algorithm to Digital Circuit , 2008 .

[15]  Hans Jurgen Mattausch,et al.  Fast quadratic increase of multiport-storage-cell area with port number , 1999 .

[16]  Alberto L. Sangiovanni-Vincentelli,et al.  Theory of latency-insensitive design , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Shahriar Mirabbasi,et al.  System-on-Chip: Reuse and Integration , 2006, Proceedings of the IEEE.

[18]  Michael Fingeroff,et al.  High-Level Synthesis Blue Book , 2010 .

[19]  Brian Bailey,et al.  ESL Models and their Application: Electronic System Level Design and Verification in Practice , 2009 .

[20]  Michael Bedford Taylor,et al.  Is dark silicon useful? Harnessing the four horsemen of the coming dark silicon apocalypse , 2012, DAC Design Automation Conference 2012.

[21]  Luca P. Carloni,et al.  A design methodology for compositional high-level synthesis of communication-centric SoCs , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[22]  C. P. Ravikumar,et al.  On-chip memory architecture exploration framework for DSP processor-based embedded system on chip , 2012, TECS.

[23]  Jason Cong,et al.  Theory and algorithm for generalized memory partitioning in high-level synthesis , 2014, FPGA.

[24]  Luca Benini,et al.  Layout-driven memory synthesis for embedded systems-on-chip , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[25]  Pedro C. Diniz,et al.  A compiler approach to managing storage and memory bandwidth in configurable architectures , 2008, TODE.