Software and System Development using Virtual Platforms - 1st Edition - ISBN: 9780128007259, 9780128008133

Software and System Development using Virtual Platforms

1st Edition

Full-System Simulation with Wind River Simics

Authors: Daniel Aarno Jakob Engblom
eBook ISBN: 9780128008133
Paperback ISBN: 9780128007259
Imprint: Morgan Kaufmann
Published Date: 15th September 2014
Page Count: 366
Tax/VAT will be calculated at check-out
60.99
99.95
75.95
Unavailable
File Compatibility per Device

PDF, EPUB, VSB (Vital Source):
PC, Apple Mac, iPhone, iPad, Android mobile devices.

Mobi:
Amazon Kindle eReader.

Institutional Access

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Description

Virtual platforms are finding widespread use in both pre- and post-silicon computer software and system development. They reduce time to market, improve system quality, make development more efficient, and enable truly concurrent hardware/software design and bring-up. Virtual platforms increase productivity with unparalleled inspection, configuration, and injection capabilities. In combination with other types of simulators, they provide full-system simulations where computer systems can be tested together with the environment in which they operate.

This book is not only about what simulation is and why it is important, it will also cover the methods of building and using simulators for computer-based systems. Inside you’ll find a comprehensive book about simulation best practice and design patterns, using Simics as its base along with real-life examples to get the most out of your Simics implementation. You’ll learn about: Simics architecture, model-driven development, virtual platform modelling, networking, contiguous integration, debugging, reverse execution, simulator integration, workflow optimization, tool automation, and much more.

Key Features

  • Distills decades of experience in using and building virtual platforms to help readers realize the full potential of virtual platform simulation
  • Covers modeling related use-cases including devices, systems, extensions, and fault injection
  • Explains how simulations can influence software development, debugging, system configuration, networking, and more
  • Discusses how to build complete full-system simulation systems from a mix of simulators

Readership

Software engineers focused on embedded, distributed and low-level software, and students in these disciplines

Table of Contents

  • Foreword
  • Acknowledgments
  • Chapter 1. Introduction
    • Virtual Platforms
    • Simulation and the System Development Lifecycle
    • Model-Driven Development
    • Book Outline
    • Trademark Information
  • Chapter 2. Simics fundamentals
    • Simics† Architecture and Terminology
    • Running Real Software Stacks
    • Interacting with Simics
    • Configurations and the Simics Object Model
    • Components
    • Time in Simics
    • Abstraction Levels
    • Event-Based Simulation
    • Memory Maps
    • Memory Images
    • Checkpointing
    • Determinism and Repeatability
    • Simics Performance Technology
    • Models and Extensions
  • Chapter 3. Develop and debug software on Simics
    • Development Means Testing
    • Agent-Based Debugger
    • Debugging Using Simics
    • Performance Analysis
    • Inspecting the Hardware State
    • Fault-Injection and Boundary Conditions
    • Using Checkpoints
    • Loading Software
    • Continuous Integration
    • Shortcuts in the Software Stack
  • Chapter 4. System configuration in Simics
    • Simics Component System
    • Setup Scripts
    • Automating Target Configuration and Boot
  • Chapter 5. Networking
    • Network Simulation in Simics
    • Simulated Network Nodes
    • Traffic Inspection and Modification
    • Scaling Up the Network Size
    • Connecting the Real World
    • Ethernet Real-Network Variants
    • Programming New Networks
  • Chapter 6. Building virtual platforms
    • The Purpose of the Model
    • Virtual Platforms in Simics
    • Device Modeling Language
    • Reusing Existing Information
    • DML Features
    • Creating Device Models
    • Completing the Device Model
    • Reserved Registers and Missed Accesses
    • Creating Models in Other Languages
  • Chapter 7. DMA: A concrete modeling example
    • DMA Device Description
    • Implementing the Basic DMA Device Model
    • Creating a PCI Express (PCIe) Model
    • Creating a Component for the DMA Model
    • Creating a Device Driver
  • Chapter 8. Simulator extensions
    • Introduction
    • Implementing Extensions
    • Cache and Memory Simulation
    • Fault Injection
  • Chapter 9. Simulator integration
    • Introduction
    • Problems and Solutions
    • Run Control
    • Launching and Embedding
    • Time Management
    • Communications
    • Frontends
    • Running Simics from Other Programs
    • Record–Replay Debugging of Target Software
    • Running on a Simics Target
    • Multiple Simulator APIs
    • Simics Processor API
  • Chapter 10. Intel® architecture bring-up
    • Pre-Silicon Process
    • Early OS Enabling
    • Post-Silicon Process
    • Post-Silicon Case Study: PXE
  • Appendix A. Source code
    • Chapter 6: Counter Device
    • Chapter 7: DMA Device
  • References
  • Index

Details

No. of pages:
366
Language:
English
Copyright:
© Morgan Kaufmann 2015
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780128008133
Paperback ISBN:
9780128007259

About the Author

Daniel Aarno

Daniel Aarno has been working with the Simics full system simulation product since 2006. His positions have ranged from software developer, customer project manager (including pre-sales) to engineering manager responsible for the modeling tools and model development in Simics at Intel. He has a number of publications, including journal and conference publications , book chapters and the book, Recognizing Intentions, on robotics and artificial intelligence.

Affiliations and Expertise

Engineering Manager for Simics Framework at Intel.

Jakob Engblom

Jakob Engblom has been working with Simics since 2002, handling outbound marketing, inbound marketing, sales and field engineering, academic program and product management. Currently he is a technical marketing manager for tools at Wind River, planning the future of Simics as an end-user product and blogging about Simics. For the past 15 years, he has have worked with various aspects of programming and simulation tools for embedded systems. He has written and presented on a variety of embedded systems topics since 1997, including popular science, trade press, conference papers, journal papers, and book chapters in a wide variety of outlets.

Affiliations and Expertise

PhD, Product Line Manager for Simics Tools at Wind River

Reviews

"Full-system simulators have the potential to yield a quantum leap in software development productivity. This book explores the potential of this technology in general and Simics in particular, backed by numerous real-world examples.  A must-read for anyone serious about development of complex embedded systems." --Niklas Rudemo, President of Virtutech AB (maker of Simics), 2002-2010

"This book does an outstanding job of conveying what full-system simulation is, explaining the spectrum of its application, describing real-world examples, and providing a peek under-the-hood.  Readers will come away with a solid understanding of how this technology can benefit their organizations and even some hands-on familiarity with transaction-level model development." --Trevor Wieman, Principal Engineer, Intel Design & Technology Solutions, Pre-Silicon Systems

"Being a Simics Customer Support Engineer I am always looking for information that is useful, focused and presented in a clear and concise manner. Being involved in Simics since its conception, the author not only knows how Simics works, he also knows the industry and Simulation Theory.  This book is proving to be a must-have for anyone using, or interested in, using Simics." --Gary Belanger, Technical Support Engineer, Wind River