VDMs - Virtual Development Machines

VLAB VDMs are:

  • Virtual Embedded Computers, running on a desktop, server or in the cloud
  • Configured to represent various hardware system specifications for industry standard and/or proprietary devices
  • An evolution that goes beyond what is possible when developing and testing software on hardware

VLAB VDMs include:

  • Virtual Hardware including ARM, PowerPC, RISC-V, RH850 and TriCore
  • Target Compiled Software, configured and built for the hardware configuration
  • Custom Add-ons for testing, analysis and connectivity

VLAB VDMs

VLAB VDMs support a broad range of embedded computer applications

VLAB VDMs – Virtual Machines for Embedded Devices

Virtual Machines replicate physical computer hardware into virtual instances, allowing users to dynamically create, configure, remove, replicate, share and isolate environments.

VLAB VDMs transform desktop, server and cloud computers into instances of virtual embedded computers. In contrast to VMs that target the same CPU architecture as the host, a VLAB VDM executes target-compiled software on specialized Core CPU models built for embedded Processor Architectures.

While VLAB VDMs differ from regular VMs in the virtual hardware they provide, they both put users in control of managing virtual instances. VLAB VDMs can be launched, run and checkpointed on demand. The checkpointed VLAB VDM can then be restarted when required or used as a known launching point for debug sessions or regression tests, saving valuable time.

VLAB VDM – Virtual Hardware

VLAB VDMs can be configured to match a range of target hardware devices; MCU, ECU, SOC, multi-SOC … the list continues to grow. VLAB VDMs include high performance virtual CPU models connected to models of virtual peripherals, depending on the needs of the Software Under Test and use case.

VLAB VDMs can be configured with a range of I/O interfaces, including for HMI, networking and serial I/O, for connection to other VLAB VDMs using SIL Kit (Virtual to Virtual), to the host (Virtual to Host), or to other third party test tools in software or in hardware.

CONNECTIVITY

CAN, ETH, LIN, SPI

STORAGE

Flash/NVM, USB, eMMC

HDMI

Display, Keyboard, Mouse,

ENVIRONMENT

SilKit, FMI, Debug

VLAB VDM – Target Compiled Software

VLAB VDMs are designed to run user embedded software.

For the full range of software types and use-cases, from complex multi-OS, multi-core scenarios, low-level drivers to applications, VLAB VDMs execute target compiled binaries.

For some use-cases, VLAB VDMs configured as ‘bare-metal’ to match hardware specifications allow the same unmodified binaries, as used on hardware, to be loaded and run. While ideal for low-level software development and validation, VLAB VDMs are designed to support development and test of all layers in the software stack.

Where software is independent of the detailed low-level hardware specifications, such as Application or User Space code, VLAB VDMs can abstract the hardware specifications and provide qualified OS/BSP packages as well as Middleware libraries for the the assembled configuration, allowing development to quickly proceed.

VLAB VDM Target Compiled Software

VLAB VDMs are designed to run user embedded software.

VLAB VDMs - Key Features

A key differentiator between VLAB VDMs and other physical and virtual solutions is the power that users are given to configure and control their environment.

Control

Configure and control the environment from CLI or script for repeatable, deterministic results.

Multi-threaded

High-performance simulation, distributed and not limited to a single thread.

Debug

Connect debug client(s) to each core for multi-core, multi-process scenarios.

Checkpoint and restore

Save your work and restart from known conditions to shorten debug and test sequences.

Tracing and instrumentation

Leverage complete access across hardware, software and the wider environment.

Fault injection

Increase coverage and exercise error handling by injecting errors without breaking hardware.

VLAB VDMs - Scale and Deploy

VLAB VDMs let you choose how much virtualization you need and where you need it. That could be a single VLAB VDM instance, multiple instances servicing your use case or multiple instances used by multiple users.

VLAB VDMs are offered in 4 different configurations to meet the needs of individuals through to several teams spread across multi-national OEMs.

Essentials

Workstation

Server

Enterprise

ESSENTIALS

Desktop application of VLAB that loads and runs a single VLAB VDM instance, placing a virtual embedded device in the hands of users. Essentials is the ideal entry point for users new to virtualization or those looking for a low-cost solution to local development and testing.

WORKSTATION

Desktop application of VLAB that loads and runs unlimited VLAB VDM instances concurrently. Workstation can be used to run tests locally in parallel or create environments in which multiple VLAB VDMs are connected.

SERVER

For customers who need additional capacity beyond what Workstation offers on a regular desktop, Server enables unlimited VLAB VDM instances to run concurrently on a local server(s). Perfect to support CI/CD/CT and large-scale parallel test execution.

ENTERPRISE

The premium package that enables virtualization across your whole organization. With Enterprise, ANY user can leverage ANY desktop, server or cloud host to develop and maintain embedded devices.

VLAB VDMs - Tooling

The scope of what is possible with Virtualization is broad, and VLAB VDMs can be tailored to match users’ needs and budgets. After selecting a solution that delivers the number of VLAB VDM instances required, users choose between two editions to determine what those VLAB VDMs can do.

EXPRESS

VLAB VDMs running as VLAB Express editions resemble the experience of using the hardware that the VDM has virtualized.

In place of a development board, users have a VDM that offers the same I/O and Network connectivity and will load and run target-compiled binaries.

Ideal for running tests or for resolving issues with GDB bare-metal debug.

SUITE

VLAB Suite editions unlock advanced capabilities only available in virtualization environments.

Complete access to control and trace all hardware and software. Script and automate complex test scenarios that are only possible in a virtual environment. Debug, analyse and optimise the behaviour of multi-core, multi-process scenarios..

In short, VLAB Suite will help you deliver quality, robust, optimised software earlier and cheaper than what is possible on the hardware.

EXPRESSSUITE
Configure
Run / pause / continue
Snapshot save / restore / clone
Multi-threaded simulation
Interactive software debug
Command-line interface
Scripting and Automation
Software Instrumentation
Virtual Hardware instrumentation
Scripted breakpoints and actions
Tracing
Software coverage analysis
Software test tools
Software profiling
Fault injection and analysis
Third party tool integrations