
Software and System Development using Virtual Platforms
Full-System Simulation with Wind River Simics
- 1st Edition - September 15, 2014
- Imprint: Morgan Kaufmann
- Authors: Daniel Aarno, Jakob Engblom
- Language: English
- Paperback ISBN:9 7 8 - 0 - 1 2 - 8 0 0 7 2 5 - 9
- eBook ISBN:9 7 8 - 0 - 1 2 - 8 0 0 8 1 3 - 3
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 de… Read more

Purchase options

Institutional subscription on ScienceDirect
Request a sales quoteVirtual 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.
- 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
Software engineers focused on embedded, distributed and low-level software, and students in these disciplines
- 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
- Edition: 1
- Published: September 15, 2014
- No. of pages (Paperback): 366
- No. of pages (eBook): 366
- Imprint: Morgan Kaufmann
- Language: English
- Paperback ISBN: 9780128007259
- eBook ISBN: 9780128008133
DA
Daniel Aarno
JE