
Wind River Simics Device Modeling
Acquire the knowledge to use Wind River Simics Model Builder for device modeling.
Course Description
The Wind River® Simics Device Modeling course provides engineers and system architects with the knowledge they need to use Wind River Simics Model Builder for device modeling. Wind River Simics Model Builder is an add-on to the Wind River Simics system simulator that lets you create your own device models to use in system components. The course explains how to use the Simics Device Modeling Language (DML) to describe hardware devices like counters, DMA engines, or interrupt controllers. Devices can then be used to assemble complete systems (covered in the Wind River Simics System Modeling course).
Course Results
After this course, participants will be able to perform the following:
- Understand and follow the general device modeling process
- Create device models in DML
- Compile devices and test them for correct functionality
Products Supported
- Wind River Simics Model Builder for Simics 5
- Wind River Simics Model Builder for Simics 4.8
Who Should Attend
- Software developers and testers
Course Format
- This two-day expert-led course consists of lectures and lab sessions.
- Attendees use Wind River Simics Model Builder for Simics to gain experience with the topics presented.
- Participants write, compile, and test DML code to model custom devices.
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Syllabus
Day 1
The Device Modeling Process
- What to model
- A quick discussion on abstraction
- The modeling process
- A note about performance
Simics Device Modeling Tools
- The Workspace Setup tool
- The DMLC compiler
- The makefile
- Eclipse integration
- LAB: Creating a Skeleton Device Model
DML Basics
- Introduction
- Fundamentals
- Parameters, methods, attributes, templates and local storage
- Banks, registers, fields, arrays, and groups
- Connects, interfaces, implements, ports
- LAB: Preparing the Device Skeleton
- LAB: Adding Attributes, Constants, Templates, and Methods
- LAB: Adding Banks, Registers, and Simple Side Effects
- LAB: Adding Connections, Interfaces, and Ports
Day 2
Device Testing
- Overview
- A test suite
- Creating devices within a Simics session
- Eclipse integration
- Hands-on
- LAB: Testing Your Device
Advanced Device Modeling Topics
- Events
- Miscellaneous statements and expressions
- Interfacing to C
- Simics CLI commands
- LAB: Handling Exceptions and Timed Events
- LAB: Implementing Device Commands
Prerequisites
Prerequisite Courses
Prerequisite Skills
- Some experience with embedded software development
- C programming experience
- Basic understanding of simulation
- Python programming experience