Download presentation
Presentation is loading. Please wait.
Published byMorris Pierce Modified over 8 years ago
1
Wind River Simics: A Simulation Environment for Research and Development Abhinav Srivastava QUARBZ
2
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. Simulate any size of target system. Run unmodified target binaries. Wind River Simics Any Target System Any Target System QUARBZ
3
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
4
Simulate Any Embedded System Wind River Simics simulates your complete digital hardware system Single Board Your own custom board or a standard reference/production board including CPU and all devices on the board Multiple Boards Connected via Ethernet or other communication buses Rack of Boards Connected via VME or other backplane Complete Customized Digital System Containing hundreds of boards representing an integrated avionics suite QUARBZ
5
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
6
Simics Transforms the Product Life Cycle System Definition Platform Customization and Stabilization Platform Customization and Stabilization Deploy and Maintain Deploy and Maintain Application Development System Integration and Test Time-to-Market TCO CapEx OpEx Time-to-Market TCO CapEx OpEx Reusable Assets Enable Agile and Iterative Development Use virtual target for architectural analysis: –Pre-silicon architecture analysis using actual target software –Legacy system upgrade analysis using actual target software 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 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
7
Simics Use Case for Academics QUARBZ
8
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
9
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 FeS2, a Full-system Execution-driven Simulator for x86FeS2 Carnegie-Mellon University and EPFL has developed SimFlex targeting fast, accurate and flexible simulation of large-scale systemsSimFlex QUARBZ
10
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
11
Simics Use Case: Fault Injection Study 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 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
12
Simics Unique Capabilities QUARBZ
13
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
14
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
15
Wind River Simics Customers Airbus BAE Systems Boeing GE Aviation General Dynamics Honeywell Iridium JAXA L3 Communications Lockheed Martin NASA Northrop Grumman Raytheon AMCC Emerson Freescale IBM Intel Hitachi Rockwell Automation Tektronix Xerox Alcatel-Lucent Cisco Ericsson IP Wireless Huawei Motorola Nortel Aerospace and DefenseIndustrial and MedicalNetwork Equipment QUARBZ
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.