Knowledge Base Administration Guide

Signature

Simscope automatically groups all Jobs into common buckets, based on the error message.

  • This automatic grouping process creates Signatures.

Signatures enable debugging from a higher level. Instead of looking job-by-job, you can debug signature-by-signature.

Sample Signature

This is an example Signature #135:

Signature

Signature Fields

Each Signature contains a unique auto-incrementing id field which identifies the signature, and the unique bucketed title of the signature.

fieldvalue
id100   (automatic)
categorysimulate
titleNumber of expected items ... exceeds limit ...

Regression Signatures

Simscope groups all Regression jobs into Signatures.

For example, a Regression might contain 1000 jobs:

ResultCount
pass800
fail200

Rather than debugging 1000 jobs, Simscope automatically has grouped the Regression into 4 Signatures:

SignatureCount
pass800
data mismatch filling store buffer180
core FATAL simulation timeout18
input scoreboard unexpected interrupt2

Example Signatures

Simscope uses a relatively simple bucketizer, to turn errors into signatures. From a high level, the bucketizer strips out numbers, whitespace, and symbols, to form the signature.

Note: Simscope bucketization can be overridden if your group has its own error bucketizer.

1: core FATAL simulation timeout at ...

Simscope will bucket each of these 3 errors into a common signature:

a. [core] FATAL simulation timeout at 5.2ms
b. [core] FATAL simulation timeout at 10h30m
c. [core] FATAL simulation timeout at 0s

Signature: core FATAL simulation timeout at ...

2: [HIER].fs_ data mismatch filling store buffer expected ... actual ...

Simscope will bucket each of these 3 errors into a common signature:

a. |t.cpu.core0.fs7| data mismatch filling store buffer: expected=24'h16a7 actual=24'h76a7
b. |t.cpu.core1.fs2| data mismatch filling store buffer: expected=24'h16a7 actual=24'hX11X
c. |t.cpu.core0.fs0| data mismatch filling store buffer: expected=24'h0000 actual=24'h0001

Signature: [HIER].fs_ data mismatch filling store buffer expected ... actual ...

  • Note: the default Simscope bucketizer automatically stripped the hierarchy strings into [HIER].fs_