A simple and scalable way to reduce dependency on physical hardware
Developing IoT applications has been historically tied to availability of hardware platforms, which can limit flexibility and scalability: Although IoT boards and chips are not necessarily expensive, building and managing board farms requires expertise and investment. Moreover, when new technologies become available, for example a new Cortex-M or Ethos-U processor, it is not possible to start software development until silicon becomes available or an FPGA emulation is created, which is time consuming and expensive.
The challenge: A typical 5-year development cycle, with application development trailing hardware design.
Arm Virtual Hardware is a simple and scalable way to reduce dependency on physical hardware and open the door to new paradigms such as cloud-native software development for the embedded edge. Imagine Arm Virtual Hardware as the equivalent of virtual machines but for endpoint devices. It provides a functionally accurate representation of an Arm-based SoC, simulating the behavior visible to the software but abstracting the complexity of the underlying hardware.
Our silicon partners have used the Arm Virtual Hardware model in traditional on-premise EDA workflows for more than 15 years, primarily to start developing software support ahead of silicon availability. Today we are excited to offer these capabilities directly to any Arm-based IoT software developer. Software engineering teams will benefit from a scale never seen before as the bottleneck of physical hardware availability is removed.
At the heart of this benefit live two traditional embedded workflow constraints: developer efficiency and the availability of quality control data to inform business decisions around the software workloads. Arm Virtual Hardware breaks through these historical ceilings by leveraging the scalability of today’s modern cloud environments. For example, if a team would like to halve the software testing time or double the test coverage, they can simply duplicate the number of Virtual Hardware instantiated in their continuous integration (CI) cloud environment. Arm Virtual Hardware eliminates the need to manage physical lab space or similar logistical tasks that plague common IoT software product lifecycles.
The Solution: Enabling cloud development at the same time hardware is designed shrinks cycle time from 5 to 3 years.
Arm Virtual Hardware goes beyond just simulating the Arm CPU; it provides mechanisms to accurately simulate the memory subsystem as well as peripherals. As such, Arm Virtual Hardware is suitable for bare-metal development up to kernel and application development on rich operating systems such as Linux.
With the initial release of Arm Virtual Hardware, Arm is providing a ‘virtual peripheral driver’ that will mimic common I/O formats such as audio front ends. Users will configure the virtual driver for the appropriate analog to digital data stream your product requires. In the future, Arm and its partners will be investing in additional peripheral configurations which will further ease common data I/O requirements your products need.
The vast majority of Arm IP portfolio is available as components to build your own Arm Virtual Hardware, including Cortex CPUs, GPUs as well as System IP and interfaces.
Arm Virtual Hardware will be available as part of Arm Total Solutions for IoT at the same time the underlying hardware design is ready. As a result, the whole ecosystem, including OEMs, can start to develop software for new devices long before silicon is available. This means faster time to market for everyone as well as an additional insurance for silicon partners that demand for your future chip is generated even before tape-out.
Read how Arm Virtual Hardware can help you scale design and get to market faster.