The VDK is binary software compatible with the ARM Base Platform specification and therefore is referred to as the reference VDK for ARMv8 Base. This specification is used by ARM and the Linaro organization for bringing-up and evolving open source software for the latest ARM processors. The specification covers the components, the platform memory-map and interrupts. The VDK within the DesignWare Hybrid IP Prototyping Kit hosts a model of an ARMv8 big.LITTLE™ subsystem with four Cortex®-A53 processors and four Cortex-A57 processors, cache coherent interconnect and ARM’s generic interrupt controller. Furthermore, various other peripherals like I/O devices such as keyboard and mouse interfaces, a color LCD controller, an Ethernet controller and several UARTs are included. The peripheral simulation models are equipped with virtual I/O capabilities so that the user can access the real Ethernet network from its software stack. Similar to a physical development board, the VDK enables the development of a wide range of software types. Those range from Unified Extensible Firmware Interface (UEFI) and Linux driver development to the hardware adaptation layer for DesignWare IP in context of Android. The performance of the VDK is sufficient to boot Linux in less than a minute or perform an Android 5 (Lollipop) warm-boot in approximately ten minutes.
A unique capability of the reference VDK for ARMv8 Base is its extensibility through a well-defined extension interface. This interface is used to complement the Base specification with custom extensions such as VDK simulation models of custom peripheral subsystems developed with the Synopsys Virtualizer tool suite. The interface is oriented at ARM’s LogicTile Express interface which again ensures software compatibility with standard drivers for the LogicTile Express infrastructure such as the configuration controller. The DesignWare Hybrid IP Prototyping Kit re-uses the same interface for coupling the VDK with the HAPS-DX7 system.
The IP Prototyping Kit within the DesignWare Hybrid IP Prototyping Kits is preloaded and pre-validated with a specific RTL reference configuration of the target DesignWare IP and all supplementary IP, such as transactors, which are essential to interface with the VDK. The transactors for ARM AMBA® interconnect connect the IP Prototyping Kit and VDK together -- AXI3 transactors (one primary and one secondary) and a GPIO transactor for interrupts are in place.
Probes have been added to increase the debug and trace visibility for this interface. DesignWare IP licensees will be also able to modify the DesignWare Hybrid IP Prototyping Kits using a fast iteration flow. Additionally, the user is able to tailor the instrumentation for tracing and debugging using the ProtoCompiler DX tool to make visible internal hardware signals of the prototype design.
For highest performance, all components of the DesignWare Hybrid IP Prototyping Kits, the link and transactors, need to be optimized for speed. Therefore, the DesignWare IP Prototyping Kit is connected to the VDK host machine using Synopsys’ high-bandwidth UMRBus (Universal Multi-Resource Bus) over a PCIe interface reaching typical transfer speeds of 400+ Mbps.
For example, playing back a 30 second SD H.264 video as shown in Figure 2, which is streamed from a USB pen drive plugged into the PHY daughter board, mounted using the VDK’s DesignWare USB xHCI driver, and decoded using the ffmpeg application, takes approximately 2 minutes using a recent laptop host.