2.10 Code Coverage of Target Software
Getting Started  / 

3 Next Steps

This Getting Started document only provides a short introduction of the Simics product and all its capabilities. Other documents describe the Simics functionality in more detail. Simics User's Guide covers the basic feature set of the product. Analyzer User's Guide describes the tools used for software debugging and analysis. Similarly, the Model Builder User's Guide covers model development and configuration for Simics. There are also reference manuals that provide details on commands, interfaces and API functions.

To access the documentation run the documentation.bat (documentation on Linux) script in your Simics project. The script will index all the documents for the packages associated with your project, and then it will open the documentation in your webbrowser.

Simics provides a few commands that assist in exploring large simulated systems, and for exploring the CLI.

Such a command is help. Use it to receive help about almost anything in Simics that has a name, in particular the commands you have seen in this document, and which you will see in the rest of the Simics documentation.

Another important command is help-search, also known as apropos. It can be used to search the Simics reference documentation for a particular text string.

Both help and apropos limit their search to documentation about everything that is currently loaded into Simics. This means it is usually best to run them after you have loaded the target system you want to explore.

A simulation in Simics is built from objects. Each object provides local (or namespaced) commands. Different kinds of objects provides different namespaced commands.

Sometimes you know of an interesting namespaced command you want to use, for example the enable-tracker command, but you don't know which objects provide the command. To find those objects, first use the apropos command to find which kinds of objects that provide the command:

simics> apropos enable-tracker
The text 'enable-tracker' appears in the documentation
for the following items:

Command        <os_awareness>.disable-tracker
Command        <os_awareness>.enable-tracker

You can see that the command is provided by the os_awareness objects. To find such objects in the target system, use list-objects:

simics> list-objects -all class = os_awareness
┌──────────────┬──────────────┐
│    Object    │    Class     │
├──────────────┼──────────────┤
│board.software│<os_awareness>│
└──────────────┴──────────────┘

Evidently, the only os_awareness object in the target system is board.software.

Note the use of the -all flag to make list-objects list all matching objects. Without it, the command only lists objects in the current namespace. In Simics, certain objects called components contain other objects and form a local namespace. In this case board contains board.software.

These simple commands goes a long way when you want to explore more of Simics yourself.

2.10 Code Coverage of Target Software