Software and System Development Using Virtual Platforms. Full-system simulation with Wind River Simics

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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

Author(s): Daniel Aarno, Jakob Engblom
Edition: 1
Publisher: Elsevier
Year: 2015

Language: English
Commentary: https://www.elsevier.com/books/software-and-system-development-using-virtual-platforms/aarno/978-0-12-800725-9
Pages: 366
Tags: simulation, emulation, virtualization, simics, intel

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