This course provides engineers and system architects with a
fast, cost-effective way to learn to use Wind River Simics
Model Builder. Wind River Simics Model Builder is an add-on
to the Wind River Simics system simulator that lets you create
your own models, ranging from simple devices up to complex,
multi-component systems.
Day 1
Device Modeling Process
- What to Model
- Talking About Abstraction
- The Process
- Talking About Performance
Device Modeling Tools
- Workspace Setup Tool
- DMLC Compiler
- Using GNU Make
LAB: Creating a Skeleton Device Model
- Create a workspace and a device skeleton, and invoke the build and test framework.
DML Basics
- Language Fundamentals
- Parameters, Methods, Templates
- Attributes, Banks, Registers
- Connects, Interfaces, Implements, Ports
LAB: Adding Interfaces to a Skeleton Device Model
- Add register banks, bit fields, and signal ports to the device skeleton.
Device Testing
- Test Suites
- Creating Devices Outside Components
- An Elaborate Example
LAB: Initial Testing
- Add tests to the test suite, run the test suite, and fix bugs found by the tests.
LAB: Adding and Testing Basic Functionality
- Add register access functionality, attributes, and connects, and test the added functionality.
Advanced Device Modeling Topics
- Using Events
- Miscellaneous Statements and Expressions
- Interfacing to C
- Device-Specific CLI Commands
LAB: Implementing Advanced DML Concepts
- Finalize the device by adding exception handling, implementing interfaces, and using events to handle timed behavior, and testing the completed device.
Day 2
System Modeling Process
- System Modeling Terminology
- The Process
- Available Tools
Component Modeling
- Component Fundamentals
- Getting Device Information
- Component Attributes
- Handling Slots and Connectors
- Compiling and Creating Components
- Testing Components
- Making Components GUI-compatible
LAB: Planning a Simics System Model
- Understand the system requirements and how to model them in Simics.
LAB: Modeling a System on Chip
- Create a component skeleton, add and connect devices, and compile and test the component.
LAB: Modeling a Board
- Create a component skeleton, add and connect the system on chip and devices, create machine scripts, and test the board by executing software on the virtual board.
LAB: Testing Simics Features
- Test checkpointing and reverse execution using the newly created virtual board.