Rethinking the synthesis of buses, data mapping, and memory allocation for MPSoC

Abstract

Heterogeneous multiprocessors are emerging as the dominant implementation approach to embedded multiprocessor systems. In addition to having processing elements suited to the target applications, these systems will also have custom memory and bus architectures. Because of performance and cost constraints, these systems must be carefully designed to balance system partitioning and resource sharing. The sheer size of the design space requires that tools be able to do this balancing. We have developed an augmented simulated annealing synthesis tool that uses system performance and layout evaluation to drive simultaneous data mapping, memory allocation and bus synthesis. Exploring these optimizations at the same time, our approach reverses traditional techniques and determines bus topology first rather than last, thereby exposing a larger design space and taking advantage of cost-saving resource sharing unavailable to previous approaches that allocate memories first. This results in 20% cost reduction for high-performance designs as well as 27% for low-cost designs in comparison with an approach that performs memory allocation and data mapping separately from bus synthesis.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    Guo J, Papanikolaou A, Marchal P, Catthoor F (2006) Energy/area/delay trade-offs in the physical design of on-chip segmented bus architecture. In: SLIP ’06

  2. 2.

    Lahiri K, Raghunathan A, Dey S (2000) Efficient exploration of the SoC communication architecture design space. In: ICCAD ’00

  3. 3.

    Hu J, Deng Y, Marculescu R (2002) System-level point-to-point communication synthesis using floorplanning information. In: ASP-DAC ’02

  4. 4.

    Maguerdichian S, Drinic M, Kirovski D (2001) Latency-driven design of multi-purpose systems-on-chip. In: DAC ’01

  5. 5.

    Thepayasuwan N, Doboli A (2005) Layout conscious approach and bus architecture synthesis for hardware/software codesign of systems on chip optimized for speed. IEEE Trans. VLSI 13(5)

  6. 6.

    Pasricha S, Dutt N, Bozorgzadeh E, Ben-Romdhane M (2005) Floorplan-aware automated synthesis of bus-based communication architectures. In: DAC ’05

  7. 7.

    Pasricha S, Dutt N, Ben-Romdhane M (2006) Constraint-driven bus matrix synthesis for MPSoC. In: ASP-DAC ’06

  8. 8.

    Pasricha S, Dutt N (2006) COSMECA: application specific co-synthesis of memory and communication architectures for MPSoC. In: DATE ’06

  9. 9.

    Kim S, Im C, Ha S (2004) Efficient exploration of on-chip bus architectures and memory allocation. In: CODES+ISSS ’04

  10. 10.

    Rayward-Smith VJ, Osman IH, Reeves CR, Smith GD (2001) Modern heuristic search methods. Wiley, New York

    Google Scholar 

  11. 11.

    Huang M, Romeo F, Sangiovanni-Vincentelli A (1986) An efficient general cooling schedule for simulated annealing. In: ICCAD ’86

  12. 12.

    Wong DF, Liu CL (1986) A new algorithm for floorplan design. In: DAC ’86

  13. 13.

    Cong J, Pan Z (2001) Interconnect performance estimation models for design planning, IEEE Trans. CAD ICs Syst. 20

  14. 14.

    ARM7TDMI. http://www.arm.com/products/CPUs/ARM7TDMI.html

  15. 15.

    CACTI 4.2. http://quid.hpl.hp.com:9081/cacti/

  16. 16.

    Meyer BH, Thomas DE (2007) Simultaneous synthesis of buses, data mapping and memory allocation for MPSoC. In: CODES+ISSS’07

  17. 17.

    Meyer BH, Thomas DE (2007) Rethinking automated synthesis of MPSoC architectures. In: IPDPS ‘07, March 2007

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Brett H. Meyer.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Meyer, B.H., Thomas, D.E. Rethinking the synthesis of buses, data mapping, and memory allocation for MPSoC. Des Autom Embed Syst 13, 73–88 (2009). https://doi.org/10.1007/s10617-008-9026-y

Download citation

Keywords

  • Embedded multiprocessor systems-on-chip
  • Bus architecture synthesis
  • Memory allocation
  • Data mapping
  • Partitioning
  • Sharing