Knowledge Base Administration Guide

Tunnel Message Componentize (splitting signatures)

Componentize is an optional feature in the Tunnel, where it can automatically split error messages on Component name, using regular expression matching.

This is useful when you have generic Signatures, which are more easily triaged when split by Component name.

Often this is related to infrastructure or environment errors, like compile, OS, disk, machine, license problems, or timeouts.

Example Generic Error

This is an example make error:

make: *** No rule to make target /work/2023_12_06/out/pub/src/rtl/abc_block.v, needed by from_external_defines.xf.  Stop

Simscope normally bucketizes this as a generic Signature:

make No rule to make target ... needed by [HIER]. Stop

Componentize

Componentize is a feature to automatically prefix the component name into the error.

Then Simscope would split into separate Signatures, for each component:

  • abc_block:
abc_block make No rule to make target ... needed by [HIER]. Stop
  • xyzzy_block:
xyzzy_block make No rule to make target ... needed by [HIER]. Stop

Enabling Componentize

To componentize errors:

  1. Edit your tunnel.config file.
  2. Add one or more text patterns or Regular Expressions, to match errors you want componentized.
  3. Restart the Tunnel.

The next time a job is published through the tunnel, if it matches any of the componentize patterns, its message will be automatically prefixed by its component name.


Example Config

This tunnel.config example auto-prefixes timeout, logfile, and No rule to make target errors:

[tunnel]
# Componentize
#
# This lets you automatically split a common/shared signature into unique signatures prefixed
# by component name, so each component has a unique instance of the signature.
# For example, you can split a "wallclock timeout" signature into "[block1] wallclock timeout"

componentize = "wallclock timeout"
componentize = "cycle timeout"
componentize = "missing logfile"
componentize = "No rule to make target"

Note: this feature also allows Regular Expressions (e.g. foo|bar).