Designing Software Applications with an Extensible Virtual Platform

A virtual platform offers a functional simulation of physical hardware for the purpose of software development, integration and test. Virtual platforms do not eliminate the need for real hardware but supplement developer access to hardware while improving development capabilities.

Figure 1: Zynq™-7000 SoC Extensible Virtual Platform moves product development to the desktop.

Benefits of a Virtual Platform

Xilinx virtual platforms provide a number of benefits from pre-architecture product definition and system design through development, integration and test and finally delivery. These benefits include:

  • Time to Market
    • Early software development – Software teams can start developing device drivers and applications prior to hardware availability.
    • Fast software development – Unlike simulators for hardware design and verification, the virtual platform runs fast enough to satisfy software developers.
    • Smarter software development – Virtual platforms enable new techniques and tricks that can significantly reduce development time.
    • No retargeting – Register and instruction-accurate models ensure that the virtual platform will run the same production binaries used by the actual hardware, resulting in easy software migration to the physical platform.
    • No hardware/software dependencies – The need for developers to share scarce development equipment is eliminated.
  • Product Quality
    • Improved system design – Concurrently experiment with alternative software and hardware configurations to yield the best system design.
    • Complete system visibility and control – Any register and memory location can be monitored and debugged, even at points that are inaccessible on a physical device.
    • Improved testing iterations – Software and hardware can be debugged and tested in parallel for more comprehensive test coverage.
    • Enhanced software regression testing – Nightly software builds and tests can be run on the virtual platform.
    • Enhanced Fault injection and Metric driven verification – A virtual platform allows injection of any hardware fault, even at points that are inaccessible on a physical device.

Extensible Virtual Platform vs. other Virtual Platforms

Although traditional virtual platforms have been shown to enable new development approaches that result in a strategic shift in product design, they often fall short when product teams transition from a development platform to their product-specific hardware. Extensible virtual platforms offer:

  • Convenient, well-defined model:  The Zynq-7000 SoC virtual platform is out-of-box ready. Software teams can use it to start developing immediately for Linux, RTOS and bare-metal applications.
  • Extensibility: Xilinx and Cadence® take virtual platforms to the next step by enabling developers to extend that platform with new devices (instantiated within the Zynq-7000 SoC programmable fabric or on the board) or system models. The Extensible Virtual Platform for Zynq-7000 SoC matches the flexibility and configurability of physical hardware. Using Cadence tools, it supports models written in C or System-C as well as those models written in SystemVerilog or VHDL.
Complete system modeling offering for Zynq-7000 SoC

Click to enlarge

Figure 2: Complete system modeling offering for Zynq-7000 SoC.

Virtual Platform Model for Zynq-7000 SoC

The Zynq-7000 SoC Extensible Virtual Platform is easy to deploy and use without SystemC or modeling-specific expertise and is accurate enough to replace hardware for development purposes.

  • Zynq-7000 SoC Processor System Component and Peripheral Models
    • ARM® Cortex™-A9 MP processor model
    • Functional models of most Zynq-7000 SoC peripheral devices
    • Transaction Level Interfaces (TLM 2.0) for integration with a variety of simulators
  • Zynq-7000 SoC Programming Fabric Models
    • TLM models of key Xilinx IP cores
    • Custom devices instantiated within the programming fabric can be integrated by the user
  • On-board Device Models
    • Memory
    • Display
    • Interconnects
    • Custom on-board peripherals from the users’ in-house TLM library can be integrated by the user
  • Co-simulation Capabilities
    • The Zynq-7000 SoC Virtual Platform integrates with a range of Cadence offerings which provide multiple options for co-simulation. These products include:  Rapid Prototyping Platform, Incisive Verification Platform,  Palladium, and Verification Computing Platform

More Information