Caution: This page holds the previous versions of MAMPS. These versions have been designed for usage with the Xilinx University Program Virtex2-Pro Board and are not compatible with the current versions of Xilinx.

Multi-Application Multi-Processor Synthesis (MAMPS)

Multiprocessor systems-on-chip (MPSoC) are being developed in increasing numbers to support the high number of applications running on modern embedded systems. Designing and programming such systems prove to be a major challenge. Most of the current design methodologies rely on creating the design by hand, and are therefore error-prone and time-consuming. This also limits the number of design points that can be explored. While some efforts have been made to automate the flow and raise the abstraction level, these are limited to single-application designs.

MAMPS design methodology allows to generate and program MPSoC designs in a systematic and automated way for multiple applications. The architecture is automatically inferred from the application specifications, and customized for it. The flow is ideal for fast design space exploration in MPSoC systems. We present results of a case study to compute the buffer-throughput trade-offs in reallife applications, H363 and JPEG decoders.

Multi-Application Multi-Processor Simulation (MAMPSim)

Modern multi-media systems support a large number of applications, running in different combinations. These applications result in exponential number of use-cases. With the introduction of multi-processor systems-on-chip, development of parallel programs for these applications and their performance evaluation is becoming increasingly difficult.

We present MAMPSIM (Multi-Application Multi-Processor Simulation)-- an FPGA-based simulation methodology for performance evaluation of multiple applications modeled as SDF Graphs (SDF), on a multi-processor platform. Our technique is scalable as larger FPGAs are available to simulate designs with a large number of applications and use-cases. The largest Vertex-4 device from Xilinx can be configured to have about 97 microblaze processors. Support for such a large number of processors makes our approach very attractive. Our simulation technique is at least 16 times faster than an efficient software solution. To use the tools, three types of input files are required. Details of the structure of these files is described below.

CA-based Multi-processor System on Chip (CA-MPSoC)

Modern multi-media systems support a large number of applications, running in different combinations. These applications result in exponential number of use-cases. With the introduction of multi-processor systems-on-chip, development of parallel programs for these applications and their performance evaluation is becoming increasingly difficult.

We present a fully automated design flow (CA-MPSoC) to generate communication assist (CA)-based multiprocessor systems. A worst-case performance model of our CA is proposed so that the performance of the CA-based platform can be analyzed before its implementation. The design flow provides performance estimates and timing guarantees for both hard real-time and soft real-time applications.

MAMPS Web Server

To simplify the testing of newly created or generated MP SoC designs and mapping of various applications onto them, a SoC with a built in web server has been made, which runs on a Xilinx University Program Virtex II Pro (XUPV2P) board. The web server, which runs on a separate MicroBlaze core from the MP SOC, offers a means for the user to communicate in realtime with the MP SoC. This allows for the alteration of timeconstraints or priorities and also offers the possibility of graphical and numerical feedback from the system on a remote computer. The JavaScript based web client, introduced in chapter 4, show some of the possibilities the web server based system offers.

In the appendices of this website, which is also downloadable as a report in .PDF format in appendix A.3, a detailed step-by-step description of the creation proces of a web server on a Xilinx FPGA board, using the EDK Base System Builded, is presented. Additionally, the code for both the software and hardware, as well as the JavaScript web client are available in the appendices.

MAMPS/ MAMPSim/ CA-MPSoC Tool Evaluation

You can login to evaluate the tool and generate a complete MPSoC platform. (An account can be obtained by contacting Akash.)

Sample Generated Platform

Here are a few example MpSoC platforms generated using our MAMPS tool to be used for Xilinx University Virtex II Pro Board (XUPV2P). (Please use Xilinx ISE 7.1i and EDK 7.1i (or higher) for synthesis.)

Sample XML Specifications

Here are a few graphs which can be used to evaluate the MAMPS tool.

*These graphs were generated using SDF3 tool.