Job
Jobs are completed tasks tracked within Simscope. This can represent any task which can complete with a pass or fail status, including compiles, simulations, test generations, emulations, lint checks, etc.
A Job is the smallest item tracked within Simscope. Each job is linked to a single parent Regression. This also means each job is linked to a single Component.
Sample Job
Category
Each job is grouped into a Category, indicating the type of job.
- Categories enable grouping of Signatures. For example, you can view all
sim
signatures or allcompile
signatures.
Example Simscope categories (you can choose any category names you desire):
Category | Description |
---|---|
compile | Build results |
sim | Simulation results |
gen | If using generated tests |
lint | If capturing lint results |
emu (or fpga ) | If using emulation or FPGA's |
Job Categories can be customized to your workflow via the categories
variable in simscope.config file.
Result
Each Job has a single result: pass
or fail
(or skip
— if skip jobs are enabled
in your simscope configuration).
-
Pass indicates the job completed successfully. Simscope tracks the statistics of Pass jobs, for data mining purposes.
-
Fail jobs must have an additional
fail_message
string. This should be the first fail detected for the job. Simscope will automatically Bucketize the message the message into a Signature.
Live Job Tracking
Simscope can track both completed jobs, and also LIVE jobs (ie queued/running/pending state). Live jobs are optional, but useful if you want to track in-flight progress.
→ Note: See Live jobs for more details.
Job State
Jobs have a state
field, which can be changed via manual assignments or rules.
- New, Assigned, Open, Fixed, Wontfix, Ignore
→ See States in the Knowledge Base for more details.
Example error messages
For failing jobs, Simscope tracks both a raw error message, and a grouped Signature for each job.
Example errors:
[core] FATAL simulation timeout at 5.2ms
or
|t.cpu.core0.fs7| data mismatch filling store buffer: expected=24'h16a7 actual=24'h76a7
Job timestamps
Simscope tracks a start time, finish time, and compute time for each job.
Depending on your workflow, you just need to supply two of these fields, and Simscope will compute the third automatically. For example, you can provide a start time and compute time, and Simscope will calculate the finish time.
Classifications (Classes)
Classifications enable grouping of error signatures. This also enables customizing pass rates by excluding some classifications.