A VLAB Virtual Development Machine (VDM) is a Virtual Machine of an Embedded Target running on a Desktop, Server or in the Cloud, with VLAB tools and other software.

VDMs are packaged and delivered in Toolboxes that include:

  • VLAB
  • Binaries for one or more VDMs
  • Documentation and Tutorials
  • Example software

When you start a VDM for the first time, you can expect to find:

  • Virtual Target Hardware, such as Virtual CPUs, Memories, Peripherals, IO, and other Hardware found in MCUs, SoCs, and ECUs.
  • In some cases, Virtual Target Software (e.g. RTOS), loaded and ready for execution alongside the user’s target Software Under Test.
  • Scripts to control configuration and set up.
  • Tools to support testing, debugging and analysis.
  • User interfaces, including command line and GUI, for configuration, load, tooling, execution, command, control and automation.
  • IO interfaces for connection to other VDMs and environments.
  • APIs and connections software to other tools, including third party.

ACCESS - Accessing VLAB VDMs

Off The Shelf

Start quickly with a download ready VLAB VDM toolbox from the catalogue which has been:

  • Developed in conjunction with the IP provider
  • Rigorously proven internally and in the field
  • Packaged for immediate use or connection to other VDMs, tools, environments …


For embedded hardware that doesn’t feature in the catalogue, our team can help you to:

  • Scope, design, create, test and deliver a new VDM
  • Integrate multiple VDMs to create complex solutions
  • Connect VLAB VDMs with debug, test, analysis and co-simulation tools

DISCOVER - How to start with a VLAB VDM

A simple and rapid path to executing target-compiled code is open to users with off-the-shelf VLAB VDMs for several popular CPU Cores, MCUs, ECUs and SoCs, each of which caters to use-cases including training, prototyping, OS bringup and many more.

Typical workflows with VLAB VDMs include:

  • Target compile your software into a binary image as you would on hardware
  • Load your image into the virtual memory of the VDM and start running
  • Interact through a virtual console, keyboard, mouse, terminal
  • Connect your regular Debug Client to monitor and manipulate the target software
  • Run and re-run tests to validate your software before deployment to the hardware

The target hardware associated with a VLAB VDM determines what’s included.

Processor Architecture VDMs include:

  • CPU Core(s) – one of ARM, RISC-V
  • Interrupt Controller and Memory
  • Virtio Devices for storage, communication and interaction
  • RTOS + BSP – typically Linux with pre-configured BSP

Virtual MCU, ECU, SoC VDMs:

  • Sometimes referred to as ‘bare metal’
  • Include CPU Core and ASIC models to match hardware specifications
  • Can run unmodified target software stacks, built for hardware, in a virtual environment
  • Some VDM toolboxes include pre-built software (e.g. Linux), with others pre-verified against commercial software stacks (e.g. AutoSAR)

SCALE - VLAB VDMs when and where you need

VLAB VDMs allow users to run, debug and analyse target-compiled software when and where they need it. To enable this, VLAB leverages and virtualizes host resources to launch and run concurrently as many VLAB VDM instances as allowed by the licensing and resources available.

VLAB offers users a path that doesn’t lock in unnecessary spending on tooling, rather it allows users to scale their investment in line with their requirements. For example, users can start with a single VLAB VDM Toolbox, configured for Essentials Express, to launch a single VDM on their PC that can load, execute, debug and test their software. If running a regression test suite becomes a requirement, an upgrade (e.g. to Workstation or Server) enables multiple VLAB VDMs, executing in parallel and will reduce execution time making it feasible to run tests more often. Alternatively, upgrading to a Suite license unlocks the full VLAB VDM capabilities, enabling advanced debugging and testing that is only possible in a virtual solution.