Wind River Simics A Simulation Environment for Research

  • Slides: 15
Download presentation
Wind River Simics: A Simulation Environment for Research and Development Abhinav Srivastava QUARBZ

Wind River Simics: A Simulation Environment for Research and Development Abhinav Srivastava QUARBZ

What Is Wind River Simics? Wind River Simics is a full system simulator used

What Is Wind River Simics? Wind River Simics is a full system simulator used by software & system developers to simulate the hardware of large and complex electronic systems. Wind River Simics Any Target System QUARBZ § Simulate any size of target system. § Run unmodified target binaries.

Simics is a full system simulator for: Microprocessor design; Memory studies; Device development; Operating

Simics is a full system simulator for: Microprocessor design; Memory studies; Device development; Operating system emulation; OS development; Debugging Wind River Simics simulates your complete digital hardware system QUARBZ

Simulate Any Embedded System Multiple Boards Connected via Ethernet or other communication buses Single

Simulate Any Embedded System Multiple Boards Connected via Ethernet or other communication buses Single Board Your own custom board or a standard reference/production board including CPU and all devices on the board Rack of Boards Connected via VME or other backplane Complete Customized Digital System Containing hundreds of boards representing an integrated avionics suite Wind River Simics simulates your complete digital hardware system QUARBZ

Simics Virtual Platforms § It is a functional accurate model of your complete target

Simics Virtual Platforms § It is a functional accurate model of your complete target hardware system and runs your unmodified target software § It runs unmodified target binaries QUARBZ

Simics Transforms the Product Life Cycle § Use virtual target for architectural analysis: –

Simics Transforms the Product Life Cycle § Use virtual target for architectural analysis: – Pre-silicon architecture analysis using actual target software – Legacy system upgrade analysis using actual target software System Definition § Eliminate hardware availability and flaw issues: – Hardware and software co-development – Develop target software before hardware is available § Utilize virtual target instead of host-based development: – Target hardware for everyone – Easily collaborate amongst entire team Deploy and Maintain §Time-to-Market §TCO §Cap. Ex §Op. Ex Platform Customization and Stabilization § Eliminate system availability issues: – Iterative and incremental integration and test – Debug at the system level § Utilize virtual platform even after development is complete: – – Maintain legacy products for 5, 10, 20+ years Support many different customer configurations QUARBZ System Integration and Test Application Development Reusable Assets Enable Agile and Iterative Development

Simics Use Case for Academics QUARBZ

Simics Use Case for Academics QUARBZ

Simics Use Cases : Teaching OS § Operating System Course – Allow to debug

Simics Use Cases : Teaching OS § Operating System Course – Allow to debug kernel code, interrupt handlers, system calls – Measuring Interrupt Latencies – Device Driver Programming – Physical Memory and Virtual Memory – User Space and Kernel Space differences – etc § An OS course designed by CMU (Carnegie Mellon University) and exported by many other universities. QUARBZ

Simics Use Cases : Processor Architecture § There are some ready-to-use research frameworks available

Simics Use Cases : Processor Architecture § There are some ready-to-use research frameworks available for computer architecture study based on Simics, including § The University of Wisconsin Madison has developed General Execution-driven Multiprocessor Simulator (GEMS) § The University of Illinois at Urbana-Champaign and the University of Pennsylvania have developed Fe. S 2, a Full-system Execution-driven Simulator for x 86 § Carnegie-Mellon University and EPFL has developed Sim. Flex targeting fast, accurate and flexible simulation of large-scale systems QUARBZ

Simics Use Cases : Memory System Study § Cache Behavior under different cache organizations

Simics Use Cases : Memory System Study § Cache Behavior under different cache organizations – Cache Profiling – Cache Timing – Cache Content Simulation § Effect of TLB on Memory Access Time (translation lookaside buffer) QUARBZ

Simics Use Case: Fault Injection Study § Simics target control – Access any part

Simics Use Case: Fault Injection Study § Simics target control – Access any part of target – Change any part of target state or configuration – Scripting for precise targeting and replay of faults – No permanent damage to target § Purpose – Test fault low-level fault detection – Model failing hardware QUARBZ § Example fault actions: – – – Dropping packets on networks Injecting bad checksums Network partitioning Delaying hardware replies Transient memory corruption Permanent memory corruption Transient register corruption Permanent register corruption Data bus transmission errors Address bus transmission errors Triggering spurious interrupts Permanent subsystem failures (disconnecting from system) – Processor crash – Temperature sensor reporting overheating – Error reporting registers flagged

Simics Unique Capabilities QUARBZ

Simics Unique Capabilities QUARBZ

Reverse Debugging § Stop and go back in time – No rerunning program from

Reverse Debugging § Stop and go back in time – No rerunning program from start – Breakpoints and watchpoints backward in time – Investigate exactly what happened this time This control is very powerful for parallel code and race conditions Discover Bug Reverse execute and find source of bug On virtual hardware, debugging is much easier. QUARBZ

Repeatable Fault Injection § Every time we start the script we get the same

Repeatable Fault Injection § Every time we start the script we get the same sequence of packets dropped § The packet drop is driven by a random number generator § We set the seed to a known value at the start of each run – Totally repeatable behavior, but random from the perspective of the target, and unpredictable for an outside observer Discover Bug Rerun, bug doesn’t show up Rerun, different bug Rerun, initial bug occurs On hardware, only some runs reproduce an error. QUARBZ

Wind River Simics Customers Aerospace and Defense § § § § Airbus BAE Systems

Wind River Simics Customers Aerospace and Defense § § § § Airbus BAE Systems Boeing GE Aviation General Dynamics Honeywell Iridium JAXA L 3 Communications Lockheed Martin NASA Northrop Grumman Raytheon QUARBZ Industrial and Medical § § § § § AMCC Emerson Freescale IBM Intel Hitachi Rockwell Automation Tektronix Xerox Network Equipment § § § § Alcatel-Lucent Cisco Ericsson IP Wireless Huawei Motorola Nortel