eMBP (Model-Based Parallelizer) makes use of MathWorks® Simulink® model-based designs to automatically generate parallel code for multi- and many-core systems with high reliability and performance.
Model-based development (MBD) enhances design quality and final system reliability, and is increasingly being adopted in applications with stringent safety demands, including in-vehicle ECUs and in the aerospace industry. Use of intelligent functions is growing in these applications, and with this comes a need for multi- and many-core technologies that offer excellent performance and power efficiency. Unfortunately, existing MBD and parallelization tools are not well suited to generating code that is optimized for multi- and many-core systems, finding it difficult to identify where parallelism can be used and to achieve the optimal allocation of parallel programs to cores while also ensuring safety and realtime performance.
Using Simulink models as its input, eMBP automatically generates parallel code with higher reliability and execution efficiency. Whereas the parallelization of control algorithms is difficult to achieve through the analysis of C source code alone, eMBP makes it easy to achieve in a way that accurately reflects the designer’s intentions. Because it allows to utilize models with a higher level of abstraction than the C source code used by existing parallelization tools, it helps reduce both development time and cost.
* Click the diagram to display an enlargement.
Block structure extractionThis identifies opportunities for parallel execution at the block level.
Performance estimationThis estimates execution performance based on the architecture and performance data of the multi- or many-core processor to be implemented. These performance estimates use the XML-based Software-Hardware Interface for Multi-Many Core (SHIM) format of The Multicore Association.
Core mappingThis puts blocks together into groups that are able to be executed in parallel and assigns them to each core.
Parallelized code generationThis automatically generates parallelized C source code.
VisualizationA tool is available that provides an intuitive GUI display of the relationships between the blocks that have been grouped for execution in each core.
eMBP Adaptor for Renesas PILS
eMBP Adaptor for Renesas PILS (an optional extra for eMBP) enables eMBP to work with a Renesas Electronics processor-in-the-loop simulation (PILS). It includes a block structure extraction function, and a core mapping function based on accurate performance estimation using PILS.