It is often a good idea for a module to be able to log what is happening. The
Simics API provides logging facilities based on the following criteria:
- The verbosity level ranging from 1 through 4 in
decreasing importance order.
- Each log message belongs to a specific category:
- Info or debug message without any consequence on the
- An error occurred that prevents the simulation (or
part of the simulation) from running properly. Note that error messages do not
have any logging level and are always printed out.
- A model does not implement a specific
functionality, bit or register.
- A model received commands from the target
program that violates the device specification.
- An error occurred in the target machine (not
in the simulator)..
- The simulation has been put in a state where
the device behavior is undefined.
- A bit-field, defined and registered by the module,
used to separate different part of the device, for example to separate between
the configuration of a device and using the device's services, or the PCI
interface and the Ethernet interface, etc.
To learn more about logging in DML, refer to section 5.4. For C and Python, refer to section 6.6.