New demanding applications like ADAS, infotainment, and sensor fusion are driving growth in automotive semiconductors. These innovative features require both high compute power as well as predictability, which can only be delivered by heterogeneous architectures. We observe a trend towards multi-SoC Electronic Control Units (ECUs), where a high performance compute cluster, often running multiple embedded OSes, is integrated along with a traditional MCU cluster, running a real-time OS to deliver on predictability and timing constraints. In addition, the demand for complex, high bandwidth, and predictable I/O drives the need to include a “gateway” SoC, forming the communications hub with the rest of the system. For this kind of heterogeneous multi-SoC ECUs, the partitioning of software and the system integration of these components is essential to deliver on the system feature requirements.
Developing and testing software with high performance, safety, and reliability requirements of a “System-ECU” platform poses an enormous challenge. In this 90-minute tutorial, it will be shown how Virtual Prototyping enables critical use cases in today’s demanding automotive software development landscape. We will discuss specific software development needs including predictable multi-SoC debugging, coverage driven fault injection, continuous integration, and “in-the-loop” testing with the environment.
The first half of this tutorial focuses on how a virtual prototype can enable a familiar and highly visible software development environment early in the lifecycle. The virtual prototype can also be used as an integral part of a software development flow later in the design cycle to enable use cases such as coverage based fault injection, where “difficult” or “impossible on hardware” scenarios can be discovered and tested in a systematic way. Focusing on integration aspects such as communications channels, I/O management and OS co-existence it will be shown how a Virtual Prototype can act as a centralized debug and test hub with an integrated view of the entire System-ECU.
The second half of this tutorial will focus on demonstrating a virtual prototype that represents a typical System-ECU. The demonstrated platform contains multiple SoC models (each themselves with multiple cores), comprising a compute-cluster SoC, a gateway, and an MCU, running multiple embedded Linux and a real-time OS accordingly. Connectivity between the SoC models is fully realized in order to facilitate end to end testing and verification of the system features. It will be shown that high visibility of the critical aspects of the system behavior can be achieved and verification and development can be realized.
Thank You to Our Sponsor: