2.3 Plug-in examples

The plug-in examples are located in $PVLIB_HOME/Iris/Examples/Plugin/.

The following examples are DSO plug-ins that you can load into a model using the --plugin option.

Table 2-2 Plug-in examples

Example Description
  • Iris implementation of the GenericTrace MTI plug-in.
  • Prints a comma-separated list of trace sources specified on the command line (INST by default) to a file or to stdout.
  • Specify the trace sources of interest, and optionally the trace file to write to, as parameters to the plug-in. Each parameter is prefixed with GenericTrace, for example:
./isim_system --plugin $IRIS_HOME/…/GenericTrace.so -C GenericTrace.event=EXCEPTION,EXCEPTION_RETURN
  • Registers to receive IRIS_SIM_PHASE_END_OF_ELABORATION events.
  • At the end of elaboration, a callback prints to stdout details of all registered instances in the simulation.

Configurable plug-in that can print to a file or to stdout any of the following information, in JSON format, for each instance in the simulation:

  • Instance name, id, and properties.
  • Event sources supported by the instance.
  • Parameters and registers that the instance exposes.
Additionally, it can print information about the simulator and hidden data.

Configure the plug-in using parameters. To see the list of plug-in parameters, run the model with the -l option. The plug-in parameters are prefixed with ListResources.

For example, to output register information, use:

./isim_system --plugin $IRIS_HOME/…/ListResources.so -C ListResources.registers=1
  • Registers callback functions for IRIS_SIM_PHASE_* events.
  • Each callback prints the name of the event and the time it occurred.
SimpleTrace Similar to the GenericTrace plug-in example, except it only traces a single trace source (INST by default) and prints to stdout only. Use the SimpleTrace.event parameter to specify the trace source, for example:
./isim_system --plugin $IRIS_HOME/…/SimpleTrace.so -C SimpleTrace.event=CORE_REGS
Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.