Synopsys explores the extension of Android System on Chip (SoC) virtual prototypes beyond the VIRTIO standard through the introduction of Virtualizer Native Execution technology. Beginning with an overview of the Android software stack and detailing its various layers and the process for integrating new hardware devices, the presentation emphasizes the importance of Android emulators in software development, debugging, and testing.
A practical demonstration is shown, showcasing the integration of a Universal Flash Storage (UFS) controller into the Cuttlefish Android virtual device, facilitating kernel driver development. Distinctions between emulation and virtualization is highlighted, illustrating how Virtualizer native execution combines both to achieve near-native execution speeds on ARM 64-based hosts.
A case study demonstrates the creation of a Cuttlefish Virtualizer Development Kit (VDK) that incorporates a TLM model of the UFS controller, allowing for effective validation of the UFS device driver within the Linux kernel.