5.13. MPSOC Architectural-Design Tools

There are several key system-level questions involved in designing an MPSOC based on configurable processors:

  • How many processors are needed?

  • How should these processors be configured and extended?

  • Should the multiple processors be homogeneous or heterogeneous?

  • How should the processors communicate? Standard buses? Network on chip (NoC)? Point to point?

  • What is the right concurrency model? Pipelined? Dataflow? Multithreading?

  • How can software developers extract concurrency from application software?

  • How should applications be partitioned to best meet design goals?

  • How can the design space encompassing multiple configurable processors, new inter-processor communications architectures, and memory choices best be explored?

  • How do you scale a design from 10 to 100 to 1000 processors?

ESL tools that help answer such questions are not presently available from the commercial EDA tools industry because:

  • The number of SOC architects is relatively small.

  • The appropriate ESL tools may be highly specific to the targeted ASIP technology.

Consequently, this type of ESL-design tool is likely to emerge directly from IP providers to bolster the use of specific IP blocks. Such MPSOC-design tools will help designers and architects by providing an integrated design flow using the following steps:

  • Start with the applications or algorithm code.

  • Decompose this code into multiple concurrent processing tasks.

  • Map the tasks to multiple optimized processors linked with an idealized communications network.

  • Simulate the system and iterate processor definition and task mapping.

  • Analyze the communications network’s requirements.

  • Design concurrency control and develop a scheduling model.

  • Design an optimized communications network (including shared memories, buses, ports, and queues).

  • Analyze the quantitative results of these system optimizations and experiment with alternative configurations to further optimize the system’s design.

  • Iterate on these design-space exploration steps until a balanced MPSOC system architectural definition is reached.

  • Proceed with the detailed hardware/software implementation of the system.

These steps constitute an application-driven, top-down, system-design flow well suited to MPSOC development. In particular, where a wholly new system design is clearly required or when previous subsystem designs simply cannot be extended to meet the requirements of new standards in an application domain, starting over with a clean sheet of paper and driving the subsystem’s architecture from the application’s characteristics (rather than resorting to convenient, familiar, and thoroughly archaic—“tried-and-true”—subsystem architectures) is far more likely to produce an optimal solution.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset