Virtual PLATFORMS for complex IP within system context

Similar documents
Product Change Notification

Intel Platform Controller Hub EG20T

Повышение энергоэффективности мобильных приложений путем их распараллеливания. Примеры. Владимир Полин

Using Intel Inspector XE 2011 with Fortran Applications

Intel Platform Controller Hub EG20T

Product Change Notification

Product Change Notification

Product Change Notification

Intel Platform Controller Hub EG20T

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Using the Intel VTune Amplifier 2013 on Embedded Platforms

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Enabling DDR2 16-Bit Mode on Intel IXP43X Product Line of Network Processors

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Parallel Programming Features in the Fortran Standard. Steve Lionel 12/4/2012

Techniques for Lowering Power Consumption in Design Utilizing the Intel EP80579 Integrated Processor Product Line

Product Change Notification

GAP Guided Auto Parallelism A Tool Providing Vectorization Guidance

Product Change Notification

Product Change Notification

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Boot-Up Options

What's new in VTune Amplifier XE

Open FCoE for ESX*-based Intel Ethernet Server X520 Family Adapters

Product Change Notification

Pre-Silicon Host-based Unit Testing of Driver Software using SystemC Models

Intel MPI Library for Windows* OS

Intel Fortran Composer XE 2011 Getting Started Tutorials

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on SuSE*Enterprise Linux Server* using Xen*

Product Change Notification

Intel IT Director 1.7 Release Notes

Product Change Notification

Product Change Notification

Getting Compiler Advice from the Optimization Reports

ECC Handling Issues on Intel XScale I/O Processors

Intel Parallel Amplifier Sample Code Guide

Third Party Hardware TDM Bus Administration

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Intel C++ Compiler Documentation

Product Change Notification

Product Change Notification

Product Change Notification

Efficient use of Virtual Prototypes in HW/SW Development and Verification

C Language Constructs for Parallel Programming

Product Change Notification

Product Change Notification

Product Change Notification

Intel(R) Threading Building Blocks

Continuous Speech Processing API for Host Media Processing

Product Change Notification

Product Change Notification

Product Change Notification

Overview

Intel MKL Data Fitting component. Overview

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Product Change Notification

Getting Started Tutorial: Analyzing Memory Errors

Product Change Notification

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor PCI 16-Bit Read Implementation

Product Change Notification

Product Change Notification #

Intel EP80579 Software Drivers for Embedded Applications

Product Change Notification

Product Change Notification

Overview

Product Change Notification

Intel Quark SoC X1000 Platform MRC Swapping Code Example

Getting Started Tutorial: Analyzing Threading Errors

Product Change Notification

Product Change Notification

Product Change Notification

Introduction to Intel Fortran Compiler Documentation. Document Number: US

Product Change Notification

Test and Verification Solutions. ARM Based SOC Design and Verification

Framebuffer Overlay Blending

Intel IXP400 Software: Integrating STMicroelectronics* ADSL MTK20170* Chipset Firmware

Intel Direct Sparse Solver for Clusters, a research project for solving large sparse systems of linear algebraic equation

Transcription:

Virtual PLATFORMS for complex IP within system context VP Modeling Engineer/Pre-Silicon Platform Acceleration Group (PPA) November, 12th, 2015 Rocco Jonack

Legal Notice This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. [BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Core Inside, i960, Intel, the Intel logo, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel Viiv, Intel vpro, Intel XScale, InTru, the InTru logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Pentium, Pentium Inside, skoool, the skoool logo, Sound Mark, The Journey Inside, vpro Inside, VTune, Xeon, and Xeon Inside] are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries. Java and all Java based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Bluetooth is a trademark owned by its proprietor and used by Intel Corporation under license. Intel Corporation uses the Palm OS Ready mark under license from Palm, Inc. Copyright 2015, Intel Corporation. All rights reserved. SWPC COLLABORATE. 2 INNOVATE. ENRICH.

Agenda Problem Statement VPs for Different Integration Systems Development of Versatile VPs Validation of VPs Conclusions SWPC COLLABORATE. 3 INNOVATE. ENRICH.

PROBLEM STATEMENT

Problem Statement (1/2) SoC consists of many complex subsystems Tools for FW, driver and SW development on system level are needed Subsystems have to be integrated with various integration environments Example for heterogeneous SoC architecture 5

Problem Statement (2/2) What is currently used for pre-silicon development and validation? Virtual Platforms in many flavors Does it support my use model? N-1 hardware Only works with minor HW changes FPGA Only available with stable RTL Hardware accelerator (SLE) Require significant setup Versatile VPs, usable for all required scenarios, are needed SWPC COLLABORATE. 6 INNOVATE. ENRICH.

VPS FOR DIFFERENT INTEGRATION SYSTEMS

VP for FW Validation Early validation of FW VP augments other methods for pre-silicon development Focus on subsystem Host and memory environment is emulated FW running on ISS 8

VP for Driver/SW Development Development focus is guest OS End user interacts with guest OS Requires high responsiveness and error resilience Simics platform is providing platform for OS Simics platform model running an OS OS interacts with subsystems Boot flow, power scenarios, security, etc. 9

VP for Validation of System Level Flows Complex flows involving several subsystems For example: listening to audio stream over bluetooth Simics platform model running an OS Requires collaterals from FW, driver and SW team FW running on ISS FW running on ISS SWPC COLLABORATE. 10 INNOVATE. ENRICH.

VP as Part of Development Flow Architecture Design SW Development Executable Specification Virtual Prototype Test SW Development for System Verification Chip Development & Verification 11

DEVELOPMENT OF VERSATILE VPS

Infrastructure Requirements Versatile VP development needs: A library of base components for common functionality Appropriate 3rd party models Automatic generation of formally specified parts of SoC Standard interfaces for easy integration Efficient and versatile mechanisms to test and exchange software components Unified build system ensures support for different environments SWPC COLLABORATE. 13 INNOVATE. ENRICH.

IF ISCTLM Generic VP Development Flow VP development has to be supported by a productivity library ISCTLM contains registers, memories, interconnects, etc. Code generation helps with productivity Using 3 rd party IP when applicable Code Generation TLM Stub Model Functional Core Formal Single-Source EMU CPU IRQ Latch Host Emu CPU TB tlm2_interconnect Specification Test Case IRQ Handler DUT DUT: Device Under Test ISCTLM: Intel SystemC TLM Library provided by ETS TLM: Transaction Level Modeling ISCTLM Libs 14

Simics Infrastructure and Platform 15

Generic SoC VP Setup 16

Using Host Based Emulation Alternative to running on ISS ISS provides detailed model, but slow execution ISS may not always be available Host based simulation Same interface for register access and IRQ handling Instructions are executed on host machine reset cpu clock bus clock irq emucpu TLM2 Initiator Socket SW 17

VP for FW Development Model development starts with a simple setup where host CPUs are modeled simplified without OS For host emulation a ISCTLM emucpu was applied, running C code test scenarios based on adaptable bus access macros 18

VP for Driver/SW Development Integration into the Simics Platform with OS The previous test cases can be reused through OS drivers with minimum functionality bridging between user and kernel space. Customer FW and drivers can be integrated 19

VP for Validation of System Level Flows Integration into Simics Platform with OS OS is interacting with multiple subsystems Complex synchronization scenarios can be tested 20

VALIDATION OF VPS

Requirements for Test Cases in Versatile Platforms Test cases have to be reused for all integration systems in the course of development Some use cases might not be relevant, but status has to be clear Test case description and execution requires common layer Using common formats and libraries as much as possible Execution as part of regression has to be possible in different environments Integration servers often only run in one particular integration environment SWPC COLLABORATE. 22 INNOVATE. ENRICH.

Test Case Implementation by Unified Example of model types for host representation: Windows on Simics / SVOS on Simics emucpu VboxWithUbuntu OS/driver layer with common minimum functionality: Support for physical memory access and ISR installation Test cases run in User Space Scenarios (1/2) Test case components for host representation 23

Test Case Implementation by Unified FW code for test scenarios with hardware abstraction layer (HAL) Interrupt installation, buffer allocation, device mapping into memory space (PNP), virtualphysical address mapping, etc. Common file formats for any IO Test case description/execution: XML format for test case description Python parser used to derive build and run scripts for different integration systems Scenarios (2/2) FW test case 24

Use Cases as Driver of Test Case Development (1/2) Use cases are project specific N-1 FW as basis for next project Which components are planned to change during the project Negotiation between groups about necessary features High-Level Architectural Specification (HAS) identifies functionality that has to be supported Description can be insufficient More formal descriptions are needed Existing synthetic tests can become basis of use case definition Traces from existing models SWPC COLLABORATE. 25 INNOVATE. ENRICH.

Use Cases as Driver of Test Case Development (2/2) There has to be a clear understanding about the capabilities of the VP between user and developer Aligning development plans around clearly specified use cases Use cases can and should evolve during the project duration VP is software and can be updated relatively easily SWPC COLLABORATE. 26 INNOVATE. ENRICH.

CONCLUSIONS

Conclusions Various teams actively use VPs: FW development Early system integration SoC integration Validation of interaction with OS functionality Full platform VP System-level validation, debug and development A variety of integration systems is required Use cases align different integration systems VPs are an important strategy to parallelize FW and SW development with HW development SWPC COLLABORATE. 28 INNOVATE. ENRICH.

Next Steps Approach is currently applied by several IP and system level integration teams and found beneficial We will extend it to more IP teams and also will address joint IP scenarios. SWPC COLLABORATE. 29 INNOVATE. ENRICH.

Co-Authors Grit Christange Daniel Aarno Josef Eckmueller Acknowledgements SWPC COLLABORATE. 30 INNOVATE. ENRICH.

Questions Accellera Systems Initiative 31