| SPP Tool Chain | ![]() |
| 1 Signal Processing Platform: Tool Chain Architecture |
Sensor Processing Platform (SPP) is a toolchain that implements a model-based design process to design signal processing applications running on a heterogeneous, embedded platform, composed of high-performance FPGA-s with embedded processor cores, ASIC-s, Digital Signal Processors, and RISC processors. The toolchain includes the following elements (as illustrated in the figure):

Component and System Modeling Tool (SPML/GME visual model editor) that supports creation of component models, system architecture models which describe a hierarchical organization of components and component interactions, heterogeneous hardware models that describe the embedded platform - FPGA-s, DSP-s, ASIC-s, and GPP-s, component allocations, etc. A key feature of the tool is the ability to model design alternatives. Thus the system design model can capture a design space for the application in the form of hierarchically arranged alternatives.
Design Space Exploration Tool (DESERT) allows exploration and pruning of the large design spaces that are captured in the SRML models, based on user-supplied performance and resource constraints. This gives the ability to obtain a custom solution from a generic and large design space based on the specific requirements in a largely automated manner. In this type of hardware-software co-design application DESERT also provides an automated way of partitioning functionality across hardware-software boundary.
Design Simulation Tool (Matlab currently) that supports a functional simulation of the signal processing application.
Design Analysis Tools (AIRES[1] currently) that supports event and timing analysis (including schedulability).
CoActive Build and Execution platform that supports the synthesis of hardware (VHDL glue code) and software (communication maps, schedule tables), and interface for communication across hardware/software boundary.
A suite of modeling support and utility plug-ins that facilitate the construction, manipulation, and management of large models.