0% found this document useful (0 votes)
10 views406 pages

Certitude Reference Guide

The Certitude® Reference Guide provides comprehensive information about the Certitude Functional Qualification System, including configuration options, commands, and setup files. It contains proprietary information from Synopsys, Inc. and is subject to export control laws. The guide is intended for users seeking to understand and utilize the software effectively.

Uploaded by

vishal mistry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views406 pages

Certitude Reference Guide

The Certitude® Reference Guide provides comprehensive information about the Certitude Functional Qualification System, including configuration options, commands, and setup files. It contains proprietary information from Synopsys, Inc. and is subject to export control laws. The guide is intended for users seeking to understand and utilize the software effectively.

Uploaded by

vishal mistry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 406

Certitude®

Reference Guide
Version K-2015.09, September 2015
Copyright Notice and Proprietary Information
 2015 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is
the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied
only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced,
transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written
permission of Synopsys, Inc., or as expressly provided by the license agreement.
Third-Party Software Notices
The Certitude Functional Qualification System includes or is bundled with software licensed to Synopsys under free
or open-source licenses. For additional information regarding Synopsys’s use of free and open-source software, refer
to the third_party_notices.txt file included within the <INSTALL_PATH>/doc directory of the installed Certitude
software.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader's responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
All other product or company names may be trademarks of their respective owners.
Third-Party Links
Any links to third-party websites included in this document are for your convenience only. Synopsys does not endorse
and is not responsible for such websites and their practices, including privacy practices, availability, and content.

Synopsys, Inc.
690 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
Contents

About This Book 1


Purpose......................................................................................................... 1
Audience ...................................................................................................... 1
Book Organization ....................................................................................... 2
Conventions Used in This Book .................................................................. 3
Related Publications..................................................................................... 4

Configuration Options 5
BatchCommand............................................................................................ 5
BatchOperations........................................................................................... 6
BatchTimeout............................................................................................... 7
CCompiler.................................................................................................... 8
CComputeReadValue .................................................................................. 9
CerHome .................................................................................................... 10
CCerPackageFile........................................................................................ 11
CInitAtStartup............................................................................................ 12
CInterruptedSimulationReturnCode .......................................................... 13
ColoredMessages ....................................................................................... 14
CompileScript ............................................................................................ 15
ConfigurationAutoSave ............................................................................. 16
ConnectivityBitInstrumentationSignals..................................................... 17
ConnectivityInputOnNonQualifiedBlocks ................................................ 19
ConnectivityOutputOnInstantiations ......................................................... 20
ConnectivityOutputOnNonQualifiedBlocks.............................................. 21
ConnectivityTopName ............................................................................... 22
CUseMutex ................................................................................................ 23
DataBaseDirectory ..................................................................................... 24
DaysToLicenseExpirationWarning............................................................ 25
DefineSimulatorNativeMacro.................................................................... 26
DetectOnPropagation ................................................................................. 27
DetectionAutoStop..................................................................................... 28
DisableAsyncResetFaults .......................................................................... 29
DisableClockAndResetConnectivityInputFaults ....................................... 30
DisableClockedIfWithoutElseFaults.......................................................... 31
DisableSyncResetFaults............................................................................. 32
DisableTransparentLatchFaults ................................................................. 33
DiskFullThreshold ..................................................................................... 34
DisplayScriptOutput .................................................................................. 35
ExecuteScript ............................................................................................. 36
ExecuteWrapperTimeout ........................................................................... 37

i
Contents

ExecutionMaxAttempt............................................................................... 38
FaultImpact ................................................................................................ 39
FaultSet ...................................................................................................... 40
HdlFilesScript ............................................................................................ 46
HeartBeatPeriod ......................................................................................... 47
IncludePaths............................................................................................... 48
IncludeSourceIntoReport ........................................................................... 49
InstrumentationDirectory ........................................................................... 50
InstrumentInclusion ................................................................................... 51
InstrumentInterface .................................................................................... 52
InstrumentOnTop....................................................................................... 53
InstrumentSignals ...................................................................................... 54
LogDirectory.............................................................................................. 55
MaxDetectionTime .................................................................................... 56
MaxFaultsInTextReport............................................................................. 57
MaxFaultsPerStatement ............................................................................. 58
MaxInstancesForModuleInstrumentation .................................................. 59
MaxJobsInParallel...................................................................................... 60
MaxLogFileSize......................................................................................... 61
MaxNonDetected ....................................................................................... 62
MaxSimulatorLicenses .............................................................................. 63
MetricActivationTarget.............................................................................. 64
MetricDetectionTarget ............................................................................... 65
MetricPropagationTarget ........................................................................... 66
MetricReportDirectory............................................................................... 67
NfsTimeout ................................................................................................ 68
NoQuestion ................................................................................................ 69
OptimizerAnalysis ..................................................................................... 70
OptimizerBitWidth .................................................................................... 71
OptimizerBlackboxes................................................................................. 72
OptimizerDistanceToOutputAnalysis........................................................ 73
OptimizerEffortForEquivalentFaults ......................................................... 74
OptimizerEffortForIdenticalFaults ............................................................ 75
OptimizerIdenticalAnalysis ....................................................................... 76
OptimizerJobRate ...................................................................................... 77
OptimizerOperationsDuringDetection ....................................................... 78
OptimizerStuckInputs ................................................................................ 79
PersistentLifeTime..................................................................................... 80
PostExecutionScript................................................................................... 81
PropagationType ........................................................................................ 82
QualificationRunName .............................................................................. 84
ReentrantTests............................................................................................ 85

ii
Contents

ReportDirectory ......................................................................................... 86
ReportFormat ............................................................................................. 87
RestoreSourceFilesOnTop ......................................................................... 88
SanityCheck ............................................................................................... 89
ShowUserDataInReport ............................................................................. 90
ShowUserDataKeysInReport..................................................................... 91
SimulatedTimeMultiplier........................................................................... 92
SimulationCPUTimeMultiplier.................................................................. 93
SimulationHostSetup ................................................................................. 94
SimulationMode......................................................................................... 95
SimulationResultToExecuteWrapperTimeout........................................... 96
SimulationTimeout .................................................................................... 97
Simulator.................................................................................................... 98
SimulatorBitWidth................................................................................... 100
SimulatorTemplateDirectory ................................................................... 101
SimuToSimulationResultTimeout ........................................................... 102
SubmitNewJobForOptimizerTask ........................................................... 103
TclList ...................................................................................................... 104
TempDataDirectory ................................................................................. 105
TestcasesScript......................................................................................... 106
TopName.................................................................................................. 107
TopVerilogParameters ............................................................................. 108
TopVhdlGenerics..................................................................................... 110
UseStdVhdlLibraries................................................................................ 111
UVM ........................................................................................................ 112
UVMPackageFile..................................................................................... 113
ValidateHistory ........................................................................................ 114
VCSCompileDirectory............................................................................. 115
VerboseLevel ........................................................................................... 116
VerdiInitCommand .................................................................................. 117
VerdiScript............................................................................................... 118
VerdiLaunchingTimeOut......................................................................... 119
VerdiLogDir............................................................................................. 120
VhdlCerPackageLibrary .......................................................................... 121
VhdlInstrumentForGenerate .................................................................... 122
vhdlSmartOrder........................................................................................ 123
VlogCerPackageLibrary .......................................................................... 124
WaveDump .............................................................................................. 125
WaveDumpDirectory ............................................................................... 126
WaveDumpHierarchicalName ................................................................. 127
WaveDumpLevel ..................................................................................... 128
WaveDumpSVA ...................................................................................... 129

iii
Contents

WaveEmbeddedDumperOptions ............................................................. 130


WaveUseEmbeddedDumper.................................................................... 131
WaveUseNovasDebug ............................................................................. 132
XLIKillScript ........................................................................................... 133
XLIVerboseLevel .................................................................................... 134
XLIWatchdogTimeout............................................................................. 135

Commands 137
activate ..................................................................................................... 137
addc .......................................................................................................... 140
addparameter............................................................................................ 142
addprobefilter........................................................................................... 145
addprobeonsignal ..................................................................................... 147
addscenario .............................................................................................. 149
addseed..................................................................................................... 150
addsystemverilog ..................................................................................... 152
addtestcase ............................................................................................... 154
addverilog ................................................................................................ 155
addvhdl..................................................................................................... 157
analyzeverilog .......................................................................................... 159
and............................................................................................................ 162
availablelicenses ...................................................................................... 163
cermessage ............................................................................................... 164
checkdetection.......................................................................................... 166
clearlock................................................................................................... 169
computemetric.......................................................................................... 170
configinfo................................................................................................. 172
configure .................................................................................................. 174
dbdump .................................................................................................... 175
dbload....................................................................................................... 176
dbupgrade................................................................................................. 177
detect ........................................................................................................ 178
do.............................................................................................................. 183
dumpwaves .............................................................................................. 184
endquery................................................................................................... 187
except ....................................................................................................... 188
faultdebug ................................................................................................ 189
faultdisable ............................................................................................... 190
faultenable................................................................................................ 191
faultinfo.................................................................................................... 192
faultlist ..................................................................................................... 202

iv
Contents

faultpropertydisable ................................................................................. 211


faultpropertyenable .................................................................................. 212
faulttestdisable ......................................................................................... 213
faulttestenable .......................................................................................... 214
fileinfo...................................................................................................... 215
filelist ....................................................................................................... 218
generatesetuptemplates ............................................................................ 220
getconfig .................................................................................................. 221
help........................................................................................................... 223
instanceinfo .............................................................................................. 224
jobinfo ...................................................................................................... 226
joblist........................................................................................................ 227
killjob ....................................................................................................... 229
killsimulation ........................................................................................... 230
messagedetails.......................................................................................... 231
metricreport.............................................................................................. 232
metricstatus .............................................................................................. 233
modeinfo .................................................................................................. 235
model........................................................................................................ 237
noqualify .................................................................................................. 238
optimize.................................................................................................... 240
or .............................................................................................................. 241
probedisable ............................................................................................. 242
probeenable .............................................................................................. 244
probeinfo .................................................................................................. 246
probelist.................................................................................................... 248
propertydisable......................................................................................... 250
propertyenable.......................................................................................... 251
propertyinfo.............................................................................................. 252
propertylist ............................................................................................... 255
qualify ...................................................................................................... 257
referencesimulations ................................................................................ 261
regression ................................................................................................. 263
repeatsimulation ....................................................................................... 265
report ........................................................................................................ 267
reset .......................................................................................................... 268
resetconfig................................................................................................ 270
resetfault................................................................................................... 271
resetfaultpropertyidpair............................................................................ 272
resetfaulttestcasepair ................................................................................ 273
resetproperty ............................................................................................ 275
resettestcase.............................................................................................. 276

v
Contents

resultsmerge ............................................................................................. 277


retrysimulation ......................................................................................... 279
saveconfig ................................................................................................ 280
setconfig................................................................................................... 281
setmode .................................................................................................... 282
setprobe .................................................................................................... 284
signoff ...................................................................................................... 286
simulationinfo .......................................................................................... 288
simulationlist............................................................................................ 291
status ........................................................................................................ 295
stop........................................................................................................... 297
subunitinfo ............................................................................................... 298
subunitlist................................................................................................. 300
testcasedisable.......................................................................................... 301
testcaseenable........................................................................................... 302
testcasegroupinfo ..................................................................................... 303
testcasegrouplist....................................................................................... 304
testcaseinfo............................................................................................... 305
testcaselist ................................................................................................ 308
testscript ................................................................................................... 311
unitinfo..................................................................................................... 314
unitlist ...................................................................................................... 316
userdataadd .............................................................................................. 317
userdatainfo.............................................................................................. 320
userdataremove ........................................................................................ 322
vdefine...................................................................................................... 324
verdiabort ................................................................................................. 325
verdicommand.......................................................................................... 326
verdidumpridb.......................................................................................... 327
verdisourcedebug ..................................................................................... 328
verdistart .................................................................................................. 330
verdiwavedebug ....................................................................................... 332
version...................................................................................................... 334
viewreport ................................................................................................ 335
vinclude.................................................................................................... 336
vundefine.................................................................................................. 337

Environment Variables 339


Variables Defined by Certitude ............................................................... 341
CER_BATCH_TASK......................................................................... 341
CER_C_CER_PACKAGE_FILE....................................................... 341

vi
Contents

CER_COMMAND ............................................................................. 342


CER_CPP_CER_PACKAGE_FILE .................................................. 342
CER_EMBEDDED_WAVE_DUMP................................................. 342
CER_FAULT_ID ............................................................................... 342
CER_IFV_SCRIPT............................................................................. 342
CER_INSTRUMENT_DIR................................................................ 343
CER_INSTRUMENTED_FILES....................................................... 343
CER_JG_SCRIPT............................................................................... 343
CER_JOB_ID ..................................................................................... 344
CER_MSIM_PLI................................................................................ 344
CER_NC_PLI ..................................................................................... 344
CER_NC_VPI..................................................................................... 344
CER_PACKAGE_FILE ..................................................................... 345
CER_PHASE...................................................................................... 345
CER_SCENARIO_NAME................................................................. 345
CER_SEED_VALUE ......................................................................... 345
CER_SIMULATION_ID ................................................................... 345
CER_SIMULATION_RESULT......................................................... 346
CER_TESTCASE_GROUP ............................................................... 346
CER_TESTCASE_ID......................................................................... 346
CER_TESTCASE_NAME ................................................................. 346
CER_THREAD_ID ............................................................................ 347
CER_VCS_PLI................................................................................... 347
CER_VCS_VLOG_PLI...................................................................... 347
CER_WAVE_DUMP ......................................................................... 347
CER_WAVE_DUMP_FILE_NAME................................................. 348
CER_WAVE_DUMP_LEVEL .......................................................... 348
CER_WAVE_USE_NOVAS_DEBUG ............................................. 348
LD_LIBRARY_PATH ....................................................................... 348
NOVAS_HOME................................................................................. 348
Variables Defined by the User ................................................................. 349
CER_C_VERBOSE............................................................................ 349
CER_XLI_VERBOSE........................................................................ 349
CER_XLI_WATCHDOG_TIMEOUT............................................... 349
CERTITUDE_CONFIG_CER ........................................................... 349
CERTITUDE_LD_LIBRARY_PATH............................................... 350

Setup Files 351


Certitude Configuration File .................................................................... 351
The Mandatory Configuration Options .............................................. 351
Loading Order of the Configuration Files .......................................... 352

vii
Contents

Source Data File....................................................................................... 353


Testcase Data File .................................................................................... 356
Source Compilation Script....................................................................... 358
Testcase Execution Script ........................................................................ 360

HTML Report 361


Overview.................................................................................................. 361
Qualification Status Page ......................................................................... 362
Fault Classes Page.................................................................................... 363
Specific Fault Class Pages .................................................................. 363
Source Files Page..................................................................................... 365
Source Files Source Code................................................................... 366
Fault Detail Window........................................................................... 367
Testcases Page ......................................................................................... 370
Probes Page – HDL Languages Only ...................................................... 371
User Data Commands .............................................................................. 372
Fault User Data Page .......................................................................... 372
File User Data Page ............................................................................ 373
Testcase User Data Page..................................................................... 375
Probe User Data Page ......................................................................... 376
DB User Data Page............................................................................. 377
Waveforms Page - HDL Languages Only ............................................... 378
Help Commands....................................................................................... 379
Fault Colors Explained ....................................................................... 379
About .................................................................................................. 380
Toolbar Icons and Fields.......................................................................... 381
Status Selector and Navigation Arrows.............................................. 381
Source File Name ............................................................................... 381
HTML Metric Report............................................................................... 382

Report Viewer 383


Overview.................................................................................................. 383
Global Report Viewer Features ............................................................... 384
Navigation and Reload ....................................................................... 384
General Right-click Command Menu................................................. 387
Code Pages Right-click Command Menu........................................... 388
Report Viewer Fault Detail Features ....................................................... 391
Disable/Enable Fault........................................................................... 392
Analyze with Verdi............................................................................. 392
Comment Addition Area..................................................................... 392
Dump Waveforms............................................................................... 392

viii
Contents

Report Viewer Probes Page Features....................................................... 393

ix
Contents

x
About This Book: Purpose

About This Book

Purpose
This book is designed to describe every functional element of Certitude:
configuration options, commands, setup files, environment variables and all
aspects of the HTML report. This book does not need to be read from beginning
to end. The reader can directly refer to the section of interest.
The configuration options and commands descriptions are the same that the
descriptions available in the Certitude shell through the use of the help
command.

Audience
The audience for this manual is any engineer using Certitude that needs to look
up for details about Certitude commands or interface elements.
It is assumed that the reader is using a Unix-like operating system, and is
comfortable with command-line interfaces. It is also assumed that most of the
readers are familiar with computer programming using HDL languages or the C
language as well as functional verification of HDL design or C designs.

Certitude Reference Guide 1


About This Book: Book Organization

Book Organization
This Certitude Reference Guide is organized as follows:
• About This Book provides an introduction to this book and explains how to
use it.
• Configuration Options provides a description for all configuration options
available in Certitude.
• Commands provides a description for all commands available in Certitude.
• Environment Variables provides a description for the main environment
variables that can be used with Certitude.
• Setup Files provides detailed descriptions for each of the five Certitude
setup files.
• HTML Report provides a description of all interface elements available in
the HTML report generated by Certitude.
• Report Viewer provides a description for functional elements available in
the report only when the viewer is used.

2 Certitude Reference Guide


About This Book: Conventions Used in This Book

Conventions Used in This Book


The following conventions are used in this book:
• Courier type is used for code, script contents and commands that must by
typed literally as shown in the examples or in the text.
• Italics font is used for directory names, paths, files and file extensions.
• Bold is used for the Certitude setup files.
• NOTE describes important information, warnings, or unique commands.
• <> are used when the specified content must be replaced by the appropriate
parameter or variable or directory name.
• The term ‘simulation’ is used for any specific run of the DUV (Design
Under Verification) with Certitude. It can be run with a simulator for
designs written in HDL languages, or simply executed for designs written in
the C language. The word is misused in the case of C designs but it is a
convention used throughout Certitude interfaces.

Certitude Reference Guide 3


About This Book: Related Publications

Related Publications
• Certitude Installation Guide - provides information on installing the
Certitude system.
• Certitude User Manual - provides descriptions and explanations for all the
important concepts of Certitude and functional qualification, as well as
instructions for all the stages of Certitude usage.
• Certitude Tutorials - provides a commented step-by-step trial of Certitude
with a VHDL design, or a Verilog design, or a C design.
• Certitude Quick Reference - provides a quick reference for Certitude main
objects and commands.
• Release Notes - for current information about the latest software version,
see the Release Notes shipped with the product.
• Verdi3 User’s Guide and Tutorial - provides detailed information on using
the Verdi system.
• Verdi3 and Siloti Command Reference Manual - gives detailed information
on the Verdi and Siloti command sets.
• Language Documentation
• Hardware description (Verilog, VHDL, SystemVerilog, C, Tcl, etc.) and
verification language reference materials are not included in this manual.
For language related documents, please refer to the appropriate language
standards board or vendor websites.

4 Certitude Reference Guide


Configuration Options: BatchCommand

Configuration Options

BatchCommand
Default value: <No default Value>
Specify the command used to start a job on the batch system
The syntax is:
setconfig -BatchCommand=[list command option|parameter1
option|parameter2 ... ]
or
setconfig {-BatchCommand=command option|parameter1
option|parameter2 ... }

For example to use the 'verif' queue on an LSF batch system, add the
following to certitude_config.cer:
setconfig -BatchCommand=[list bsub -q verif]

When using the BatchCommand option the following options should also
be configured:
MaxJobsInParallel
ReentrantTests

Certitude Reference Guide 5


Configuration Options: BatchOperations

BatchOperations
Default value: Simulation Optimizer
Define the operations that can be launched on the batch system
This option controls whether the operation is launched on the batch
system. The option takes a list of values, and currently only the
'Simulation', 'Optimizer' and 'Compilation' values are valid.

BatchOperations values:
Simulation
Simulations are allowed to be launched on the batch system.
Optimizer
Optimizer operations are allowed to be launched on the batch
system (task to execute = Optimizer-elab/Optimizer-equiv/
Optimizer-cone/Optimizer-dist/Optimizer-ident).
Compilation
Compilations are allowed to be launched on the batch system.

6 Certitude Reference Guide


Configuration Options: BatchTimeout

BatchTimeout
Default value: 86400
Set the number of seconds that Certitude must wait before canceling a job
that was sent to the batch system and the time that Certitude waits before
the simulator obtains a license.
This option is an unsigned integer representing the number of seconds
that Certitude must wait before canceling a job that was sent to the batch
system. It is also the time that Certitude waits before the simulator
obtains a license.
In the case where jobs disappear from the batch system (e.g. they are
removed for some reason), or the simulator does not obtain a license,
Certitude will hang the job waiting to start. For example, when
BatchTimeout is set to 3600, Certitude will cancel the job if it has not
started execution within one hour. This option should be used with
extreme care since it is specific to each batch environment.
The value of this option can be changed while a qualification phase is
running.

BatchTimeout values:
- unlimited
No batch timeout.
- <positive integer>
The batch timeout in seconds. The default value is 86400 (24
hours).

Certitude Reference Guide 7


Configuration Options: CCompiler

CCompiler
Default value: gcc
Set the C compiler
C language only. By default, Certitude uses the gcc compiler when
qualifying a design written in C language. With this option, another C
compiler can be specified.
A new model phase is mandatory for the new setting to be effective.

8 Certitude Reference Guide


Configuration Options: CComputeReadValue

CComputeReadValue
Default value: false

Check whether initialized array element values are read by testcases


C language only. When this option is set to true, the activation code is
modified to inject ValueAtZero/ValueAtMax faults in non-static
initialized arrays. It allows to check whether array element values
corresponding to ValueAtZero/ValueAtMax faults are read by testcases
during the activation phase. When an array element value is not read, the
corresponding fault will be marked as "Non-Propagated (Unread)".

Restriction: elements read indirectly (through pointers) will be shown as


unread.

A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 9


Configuration Options: CerHome

CerHome
Default value: [Installation Directory]/
Specify the directory where Certitude is installed
This returns where Certitude is installed, and can be called from a Tcl
script.
This value is read-only.

10 Certitude Reference Guide


Configuration Options: CCerPackageFile

CCerPackageFile
Default value: <No default Value>
Define a file name for the destination of Certitude packages
C language only. When using Certitude with a design written in C
language, Certitude uses special data inserted in the last instrumented
file. In the rare cases when this causes a conflict with the original code,
this option is used for inserting the new code in a separate file.
When this option is set, the compilation script must be modified
accordingly.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 11


Configuration Options: CInitAtStartup

CInitAtStartup
Default value: true

Initialize job management system variables when the executable starts


C language only. During the activation phase, Certitude job management
needs to initialize variables. This configuration option sets the moment
when these operations are executed. If these operations are executed
during the startup of the executable, the performance is improved but this
does not work when the instrumented design is compiled as a shared
library. In that case, the option must be set to false. If the instrumented
design is not compiled as a shared library, then this configuration option
should be set to true for better performance during the activation phase.
The value of this option can be changed while a qualification phase is
running.

12 Certitude Reference Guide


Configuration Options: CInterruptedSimulationReturnCode

CInterruptedSimulationReturnCode
Default value: 255
Set the return code when the simulation crashes or is killed
C language only. If the simulation crashes or is killed during the
detection phase, the instrumented executable exits with a return code that
is the value of this configuration option. The executed script can check
this return code and handle it by reporting the simulation as failed.
The default value is 255. Values can range from 0 to 255.
If the original program uses a return code, this option must be set to avoid
conflicts with usual return codes. For example:
setconfig -CInterruptedSimulationReturnCode=100
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 13


Configuration Options: ColoredMessages

ColoredMessages
Default value: true
Color the warning and error messages
When set to true (default), the warning and error messages are colored.
The value of this option can be changed while a qualification phase is
running.

14 Certitude Reference Guide


Configuration Options: CompileScript

CompileScript
Default value: [Current Directory]/certitude_compile
Set the path of the user script used to compile the instrumented code
If the path is defined with a relative path name (i.e. it does not begin with
'/'), then the base for the relative path is assumed to be the working
directory.

Certitude Reference Guide 15


Configuration Options: ConfigurationAutoSave

ConfigurationAutoSave
Default value: false
Save the configuration options that have been modified when the user
quits Certitude
When set to true, the configuration options that have been modified are
saved when the user quits Certitude. A new file is then created in the
database : DataBaseDirectory/config/certitude_config.cer. This file
contains all the configuration options that have been modified through
the command 'setconfig' (either in the files certitude_config.cer or on the
shell of Certitude).

16 Certitude Reference Guide


Configuration Options: ConnectivityBitInstrumentationSignals

ConnectivityBitInstrumentationSignals
Default value: <No default Value>

Generate bitwise instrumentation by specifying a list of output composite


ports or signals connected to input composite ports
This option generates instrumentation for the whole bus and each bit of
the port by specifying a list of output composite ports or signals
connected to input composite ports. Wildcards are supported for elements
in the list.
Output port names are specified with their path names, including the
library name and the unit name. For example:
setconfig -ConnectivityBitInstrumentationSignals=[list work.mod?.q
work.myentity.pout*]
For input ports, because bitwise instrumentation is performed in the
instantiation of the unit, the signal name must be specified in the list that
includes the actual expression associated with the formal input port. The
signal name should be specified with its path name, including the library
name and module or entity names. For example:
setconfig -ConnectivityBitInstrumentationSignals=[list
work.myentity.sig]
For an additional feature, instrumenting specified bit indexes of the
composite port or signal is also supported. For example:
setconfig -ConnectivityBitInstrumentationSignals=[list
work.top.q<7..4,2,0>]
In this case, instrumentation will be obtained for the whole composite
port q and instrumentation of its bits 7, 6, 5, 4, 2, 0.

For composite ports or signals that have a globally static range (i.e. a
range that depends on a generic or a parameter), bounds of composite
objects are calculated using static elaboration. If the unit that contains the
declaration of the bitwise instrumented port is instantiated several time

Certitude Reference Guide 17


Configuration Options: ConnectivityBitInstrumentationSignals

with different values of a generic or parameter, instrumentation takes into


account all possible values of bounds among all instances of the unit.
A new model phase is mandatory for the new setting to be effective.

18 Certitude Reference Guide


Configuration Options: ConnectivityInputOnNonQualifiedBlocks

ConnectivityInputOnNonQualifiedBlocks
Default value: false
Create StuckAt faults on all inputs of not-qualified blocks
This option allows the user to create the faults
InputPortConnectionBitStuckAt0, InputPortConnectionBitStuckAt1,
InputPortConnectionStuckAt0, and InputPortConnectionStuckAt1
(according to the given FaultSet) on the instances of <module> or
<entity> when <module> or <entity> has not been qualified.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 19


Configuration Options: ConnectivityOutputOnInstantiations

ConnectivityOutputOnInstantiations
Default value: <No default Value>
Generate instrumentation of connections to output ports in the specified
Verilog/SystemVerilog instantiations
When this option is set to true, Certitude generates instrumentation of
connections to output ports in the specified Verilog/SystemVerilog
instantiations.
An element of the list is of the form <library>.<unit>.<instantiation>.
Wildcards are supported for elements in the list.
For example:
setconfig -ConnectivityOutputOnInstantiations=[list work.top.myinst
work.mymod.*]
setconfig -ConnectivityOutputOnInstantiations=*
A new model phase is mandatory for the new setting to be effective.

20 Certitude Reference Guide


Configuration Options: ConnectivityOutputOnNonQualifiedBlocks

ConnectivityOutputOnNonQualifiedBlocks
Default value: false
Create StuckAt faults on all outputs of not-qualified blocks
This option allows the user to create the faults
OutputPortConnectionBitStuckAt0, OutputPortConnectionBitStuckAt1,
OutputPortConnectionStuckAt0, and OutputPortConnectionStuckAt1
(according to the given FaultSet) on the instances of <module> or
<entity> when <module> or <entity> has not been qualified.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 21


Configuration Options: ConnectivityTopName

ConnectivityTopName
Default value: <Re-use TopName value>
Specify the level at which the connectivity faults are injected
HDL languages only. When the FaultSet option list contains the
'Connectivity' value, it is necessary to specify at which component level
the connectivity faults must be injected. This connectivity top name is
taken into account only for the connectivity faults.
A new model phase is mandatory for the new setting to be effective.

22 Certitude Reference Guide


Configuration Options: CUseMutex

CUseMutex
Default value: false
Use a mutex for preventing multiple access to activation data
C language only. In a multithreaded program, a mutex must be used to
prevent multiple accesses to activation data from the different threads
during the detection phase.
By default, this configuration option is set to true for safety. If the
instrumented program does not use threads - the executable is not linked
with pthread - then this option should be set to false because the detection
phase performance will be improved.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 23


Configuration Options: DataBaseDirectory

DataBaseDirectory
Default value: [Current Directory]/certitudeDB
Define the path to the directory containing the database
If the path is defined with a relative path name (i.e. it does not begin with
'/'), the base for the relative path is assumed to be the working directory.

24 Certitude Reference Guide


Configuration Options: DaysToLicenseExpirationWarning

DaysToLicenseExpirationWarning
Default value: 30

Set the start day to display the license expiration warning


When the Certitude license expires in a number of days equals to or less
than the set value, a warning about license expiration appears in the
Certitude shell.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 25


Configuration Options: DefineSimulatorNativeMacro

DefineSimulatorNativeMacro
Default value: true
Control whether the appropriate predefined simulator macro is
automatically defined by Certitude
When this option of configuration is set to true, the following macros are
automatically defined during the parsing of (System) Verilog code:
- For simulator VCS, macro is VCS.
- For simulator IUS, macro is INCA.
- For simulator ModelSim/Questa, macro is MODEL_TECH.

A new model phase is mandatory for the new setting to be effective.

26 Certitude Reference Guide


Configuration Options: DetectOnPropagation

DetectOnPropagation
Default value: false
Put Certitude in propagation-only mode
When this configuration option is set to true, Certitude stops running
testcases on a propagated fault.
A propagated fault is considered as detected (i.e. the result of the testcase
is always considered as 'fail' even if the certitude_execute script returns
'pass').
In this mode, non-detected faults do not exist.
DetectOnPropagation is not supported in the qualification of formal
environments.

Certitude Reference Guide 27


Configuration Options: DetectionAutoStop

DetectionAutoStop
Default value: true
Automatically stop the detection phase
When set to true, the detection phase will stop on one of the following
criteria:
1. When 5 new non-detected faults have been found.
2. When all the faults in the two remaining highest priority fault classes
have been qualified and at least one new non-detected or
ResetConditionTrue non-propagated fault has been found. The
"remaining fault classes" refer to fault classes that were not completely
qualified when the current detection was started.

28 Certitude Reference Guide


Configuration Options: DisableAsyncResetFaults

DisableAsyncResetFaults
Default value: true
Disable all faults related to design asynchronous reset code
HDL languages only. When set to true, the faults related to asynchronous
reset code (those faults are marked as asyncreset by Certitude) are
disabled during the model phase. This means that they are excluded from
qualification and have the status DisabledByCertitude all along the
qualification. This concerns all asyncronous reset faults except one type:
the ConditionTrue faults.
Globally, the asyncreset faults can have one of three effects on the
design:
- always keep the feature in a reset state (which means that at least a part
of the feature is not used),
- never reset the feature,
- play with the initial values of the asynchronous reset.
In most cases, the second and third effects are less critical to the
verification that what the other faults may reveal. Besides, those faults, if
they are Non-Detected or Non-Propagated, usually cost a complete
regression time each, and are not very easy to analyze. Therefore, the
default behaviour of Certitude is to keep them for later. The asynchreset
faults that are not disabled by Certitude cause the first effect.
In the cases when the design style or verification methodology makes the
initial values in the asynchronous reset very important, the option should
be set to false before the model phase is run.

Certitude Reference Guide 29


Configuration Options: DisableClockAndResetConnectivityInputFaults

DisableClockAndResetConnectivityInputFa
ults
Default value: true
Disable some connectivity input faults associated to a clock or a reset
port
HDL languages only. When set to true, some connectivity input faults
associated to a clock or a reset port are disabled by Certitude during the
model phase. This means that they are excluded from qualification and
have the status DisabledByCertitude all along the qualification.
When the port is a clock, the faults InputPortNegated and
InputPortStuckAt1 are disabled.
When the port is a reset and the reset is active high, the faults
InputPortNegated and InputPortStuckAt0 are disabled. When the port is a
reset and the reset is active low, the faults InputPortNegated and
InputPortStuckAt1 are disabled.

30 Certitude Reference Guide


Configuration Options: DisableClockedIfWithoutElseFaults

DisableClockedIfWithoutElseFaults
Default value: true
Disable specific faults within if Statements without an else Statement in
synchronous domains
HDL languages only. When set to true, the ConditionTrue and
NegatedCondition faults on the first if Statement without an else
Statement (and without an else if Statement) are disabled by Certitude
during the model phase in synchronous domains. The faults are excluded
from qualification and have the DisabledByCertitude status all along the
qualification.

Certitude Reference Guide 31


Configuration Options: DisableSyncResetFaults

DisableSyncResetFaults
Default value: true
Disable all faults related to design synchronous reset code
HDL languages only. When set to true, the faults related to synchronous
reset code (those faults are marked as syncreset by Certitude) are
disabled during the model phase. This means that they are excluded from
qualification and have the status DisabledByCertitude all along the
qualification. This concerns all asyncronous reset faults except one type:
the ConditionTrue faults.
In some cases, this category of faults are less critical to the verification
than the other faults.
In the cases when the design style or verification methodology makes the
synchronous reset very important, the option should be set to false before
the model phase is run.

32 Certitude Reference Guide


Configuration Options: DisableTransparentLatchFaults

DisableTransparentLatchFaults
Default value: true
Disable specific fault types that enable a latch
HDL languages only. When set to true, the ConditionTrue and
NegatedCondition faults that enable a latch are disabled by Certitude
during the model phase. The faults are excluded from qualification and
have the DisabledByCertitude status all along the qualification.
The latches in consideration are those in the first if Statement (the
external if Statement) of the unclocked parts, and satisfying both of the
following conditions:
-only one signal is used in the condition of the if Statement. This signal
must be one bit wide.
-only a single if Statement (without the else Statement).
For example:
reg Q;
always @( E or D) begin
if (E) begin
Q <= D;
end
end

Certitude Reference Guide 33


Configuration Options: DiskFullThreshold

DiskFullThreshold
Default value: 2000
Set the minimum allowed disk space
When the remaining capacity on disk is less than the value of this option,
Certitude stops and prints an error. The unit is MegaBytes.
If this option is disabled by setting it to the unlimited value, there is a risk
of crash and database corruption.
The value of this option can be changed while a qualification phase is
running.

DiskFullThreshold values:
- unlimited
No test of remaining disk space.
- <positive integer>
The number of the minimum remaining MegaBytes on disk
before Certitude stops.

34 Certitude Reference Guide


Configuration Options: DisplayScriptOutput

DisplayScriptOutput
Default value: false
Enable the display of the compilation/simulation messages in the
Certitude shell
When this option is set to true, it prints all the compiler and simulator
messages in the Certitude shell. The qualification phases need to be in
verbose mode for the messages to be displayed.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 35


Configuration Options: ExecuteScript

ExecuteScript
Default value: [Current Directory]/certitude_execute
Set the path of the script used to execute testcases
If the path is defined with a relative path name (i.e. it does not begin with
'/'), then the base for the relative path is assumed to be the working
directory.

36 Certitude Reference Guide


Configuration Options: ExecuteWrapperTimeout

ExecuteWrapperTimeout
Default value: 604800
Set the total time (in seconds) that the execute wrapper runs without
receiving the input file
The execute wrapper stops when this time has elapsed without receiving
any input file. The default setting is 604800 seconds (seven days).
The value of this option can be changed while a qualification phase is
running.

ExecuteWrapperTimeout values:
- unlimited
No execute wrapper timeout.
- <positive integer>
The execute wrapper timeout in seconds.

Certitude Reference Guide 37


Configuration Options: ExecutionMaxAttempt

ExecutionMaxAttempt
Default value: 5
Set the number of simulation execution attempts
When Certitude Job Control detects a simulation anomaly, the simulation
is attempted the specified number of times with this option. The default is
5 attempts.
The value of this option can be changed while a qualification phase is
running.

38 Certitude Reference Guide


Configuration Options: FaultImpact

FaultImpact
Default value: true
Enable all functions related to the Fault-Impact feature
Enable all functions related to the Fault-Impact feature.

Certitude Reference Guide 39


Configuration Options: FaultSet

FaultSet
Default value: RTL Connectivity
Select the faults to be injected in the design
This option takes a list of values among the fault classes and fault set
values. For possible FaultSet values, refer to the FaultSet values section
later in the option description.
The Connectivity faults change the interactions between modules. The
Connectivity faults only apply to designs written in HDL languages.
The RTL faults change the design behavior inside of a module. The RTL
faults apply to all designs but the content of the set will change whether
the design is written in HDL languages or in C language.
The syntax for setting a list of values for the configuration option is:
setconfig -FaultSet=[list Connectivity RTL]
or
setconfig {-FaultSet=Connectivity RTL}
A new model phase is mandatory for the new setting to be effective.

FaultSet values:
TopOutputsConnectivity
HDL languages only. When this value is specified, faults of the
TopOutputsConnectivity class are injected in the design under
verification.
ResetConditionTrue
HDL languages only. When this value is specified, faults of the
ResetConditionTrue class are injected in the design under
verification.
SynchronousControlFlow

40 Certitude Reference Guide


Configuration Options: FaultSet

HDL languages only. When this value is specified, faults of the


SynchronousControlFlow class are injected in the design under
verification.
InternalConnectivity
HDL languages only. When this value is specified, faults of the
InternalConnectivity class are injected in the design under
verification.
SynchronousDeadAssign
HDL languages only. When this value is specified, faults of the
SynchronousDeadAssign class are injected in the design under
verification.
ComboLogicControlFlow
HDL languages only. When this value is specified, faults of the
ComboLogicControlFlow class are injected in the design under
verification.
SynchronousLogic
HDL languages only. When this value is specified, faults of the
SynchronousLogic class are injected in the design under
verification.
ComboLogic
HDL languages only. When this value is specified, faults of the
ComboLogic class are injected in the design under verification.
OtherFaults
HDL languages only. When this value is specified, faults that are
not included in the previous classes are injected in the design
under verification.
PrimaryControlFlow
C and C++ languages only. When this value is specified, faults of
the PrimaryControlFlow class are injected in the design under
verification.

Certitude Reference Guide 41


Configuration Options: FaultSet

FunctionCall
C and C++ languages only. When this value is specified, faults of
the FunctionCall class are injected in the design under
verification.
SimpleAssign
C and C++ languages only. When this value is specified, faults of
the SimpleAssign class are injected in the design under
verification.
ArrayElement
C and C++ languages only. When this value is specified, faults of
the ArrayElement class are injected in the design under
verification.
SecondaryControlFlow
C and C++ languages only. When this value is specified, faults of
the SecondaryControlFlow class are injected in the design under
verification.
OperatorChange
FaultSet value OperatorChange description
SimpleConstantAssign
C and C++ languages only. When this value is specified, faults of
the SimpleConstantAssign class are injected in the design under
verification.
OtherConstant
C and C++ languages only. When this value is specified, faults of
the OtherConstant class are injected in the design under
verification.
SystemCall
C and C++ languages only. When this value is specified, faults of
the SystemCall class are injected in the design under verification.

42 Certitude Reference Guide


Configuration Options: FaultSet

ControlFlowOperator
C and C++ languages only. When this value is specified, faults of
the ControlFlowOperator class are injected in the design under
verification.
RTL
When this value is specified, RTL faults are injected in the design
under verification.
The content of the set is different whether the design is written in
HDL language or in C language.
Connectivity
HDL languages only. When this value is specified, connectivity
faults are injected for all module instance connections in the
module designed by the ConnectivityTopName option. The
ConnectivityTopName configuration option must be set to make
the value effective.
SignalStuckAt
HDL languages only. When this value is specified, the full
internal signals are instrumented. The fault types must be one of
the following:
StuckAt0
StuckAt1
StuckAtLeft
StuckAtRight
StuckAtValue
Example for the type StuckAt0:
reg A => the fault "StuckAt0 A;" is created.
reg[1:0] B; => the fault "StuckAt0 [1:0] B;" is created.
BitStuckAt

Certitude Reference Guide 43


Configuration Options: FaultSet

HDL languages only. When this value is specified, only the one-
bit-wide signals are instrumented. The fault types must be one of
the following:
BitStuckAt0
BitStuckAt1
Example for the types StuckAt0/BitStuckAt0:
reg A => the fault "StuckAt0 A;" is created.
reg[1:0] B; => the faults "BitStuckAt0 [0] B;" and "BitStuckAt0
[1] B;" are created.
SynchronousSignalStuckAt
Same as SignalStuckAt but only for signals that are driven from a
synchronous process.
SynchronousBitStuckAt
Same as BitStuckAt but only for signals that are driven from a
synchronous process.
ComboSignalStuckAt
Same as SignalStuckAt but only for signals that are not driven
from a synchronous process.
ComboBitStuckAt
Same as BitStuckAt but only for signals that are not driven from a
synchronous process.
LatchSignalStuckAt
HDL languages only. Same as SignalStuckAt but only for signals
that are driven from a latch.
LatchBitStuckAt
HDL languages only. Same as BitStuckAt but only for signals
that are driven from a latch.
SequentialSignalStuckAt

44 Certitude Reference Guide


Configuration Options: FaultSet

HDL languages only. Same as SynchronousSignalStuckAt plus


LatchSignalStuckAt.
SequentialBitStuckAt
HDL languages only. Same as SynchronousBitStuckAt plus
LatchBitStuckAt.

Certitude Reference Guide 45


Configuration Options: HdlFilesScript

HdlFilesScript
Default value: [Current Directory]/certitude_hdl_files.cer
Define the name of the script containing the commands (addverilog,
addsystemverilog, addvhdl, addc) for specifying source files to be used
during the model phase
If the path is defined with a relative path name (i.e. it does not begin with
'/'), the base for the relative path is assumed to be the working directory.
A new model phase is mandatory for the new setting to be effective.

46 Certitude Reference Guide


Configuration Options: HeartBeatPeriod

HeartBeatPeriod
Default value: 300
Set the Job Control heartbeat time in seconds
During the execution of a job, a regular signal (called heartbeat) is sent
by the Job Control process to ensure that all jobs are running correctly.
This option determines the time this periodic signal should be generated.
The default value is 300 seconds (five minutes).
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 47


Configuration Options: IncludePaths

IncludePaths
Default value: [Current Directory]
Define paths for Verilog include files
This option is for Verilog only.
A new model phase is mandatory for the new setting to be effective.

48 Certitude Reference Guide


Configuration Options: IncludeSourceIntoReport

IncludeSourceIntoReport
Default value: true
Specify whether to include the design source code in the Certitude
HTML report
When set to false, this option shows activation and detection results
without showing the design source code.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 49


Configuration Options: InstrumentationDirectory

InstrumentationDirectory
Default value: [Current Directory]/tmpHDLFiles
Set the path to the directory where instrumented files are copied for
compilation and execution
If the path is defined with a relative path name (i.e. it does not begin with
"/"), the base for the relative path is assumed to be the working directory.

50 Certitude Reference Guide


Configuration Options: InstrumentInclusion

InstrumentInclusion
Default value: true
Instrument the Verilog included files
Faults are injected in the Verilog included files and these faults are part
of the qualification run. The content of the included files is displayed in
the HTML report for results analysis.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 51


Configuration Options: InstrumentInterface

InstrumentInterface
Default value: false
Activate instrumentation of connectivity using SystemVerilog interface
In SystemVerilog language, this instrumentation consists of adding
connectivity faults on a module port that is of the modport type, where
the modport is declared in an interface.
All objects of the modport that are declared as input and output are
instrumented in the given module.
A new model phase is mandatory for the new setting to be effective.

52 Certitude Reference Guide


Configuration Options: InstrumentOnTop

InstrumentOnTop
Default value: false
Determine if the original DUV source code is instrumented (true) or if a
copy is instrumented (false).
When true, Certitude writes the instrumented source code in the same
location as the original source code. In this case, Certitude protects the
original source code by copying it in the same repository and adding the
extension .cercopy before writing the instrumented code.
When false, the instrumented source code is written into a new directory
hierarchy starting at <working_directory>/tmpHDLFiles. The
instrumented code is then automatically deleted and the original source
code copied back upon compilation of the instrumented source code.
Verilog/SystemVerilog only: the content of included files is inserted into
the code where the inclusion is specified, so the included files will not
appear in the copied hierarchy.
Note: The InstrumentOnTop option cannot be set as true when
JasperGold is specified as the simulator for the Simulator option.

Certitude Reference Guide 53


Configuration Options: InstrumentSignals

InstrumentSignals
Default value: <No default Value>
Specify the list of internal signals to be instrumented
This option specifies the list of VHDL or Verilog internal signals to be
instrumented.
Signals can be specified using standard wildcard characters * and ?, such
as in the following example:
setconfig -InstrumentSignals=[list work.top.sig*]
Above example means that every signals of unit "top" whose name
begins with "sig" will be instrumented.
For bus signals, Certitude will perform a bitwise instrumentation, which
means that a fault will be created for each bit. It is also possible to select
only specific bits to be instrumented using the following syntax:
setconfig -InstrumentSignals=[list work.top.sig<7,3..0>]
The second example means that signal "sig" of unit "top" will have its bit
7, 3, 2, 1, 0 instrumented.

A new model phase is mandatory for the new setting to be effective.

54 Certitude Reference Guide


Configuration Options: LogDirectory

LogDirectory
Default value: [Current Directory]
Specify the directory in which Certitude puts the various log files
This option can be used for changing the directory where are located the
log files :
- the Certitude log file (certitude.log),
- the log file for compilation (certitude_compile.log),
- the Optimizer log file (certitude_optimizer.log),
- the log commands file where all the commands of a project are printed
(certitude_commands.log).
This option can be used for example for creating a different log file for
each run.

Certitude Reference Guide 55


Configuration Options: MaxDetectionTime

MaxDetectionTime
Default value: 691200
Set a maximum duration for the detection phase
This option sets a maximum duration (in seconds) for the detection
phase.
For example, when the option is set to the value 28800, and then a
detection phase is started with the detect command, the detection will run
8 hours from the first simulation. After 8 hours, detection will be
stopped.
The value of this option can be changed while a qualification phase is
running.

MaxDetectionTime values:
- unlimited
There is no maximum time for the detection run.
- <positive integer>
The maximum duration of the detection run in seconds.

56 Certitude Reference Guide


Configuration Options: MaxFaultsInTextReport

MaxFaultsInTextReport
Default value: 1000
Specify the maximum number of faults printed in one netlist report file
The maximum number of faults printed in one netlist report file is
determined by the MaxFaultsInTextReport value times 1000. For
example, if this configuration option is set to 7, the maximum number of
faults can be printed in one netlist report file is 7000.

Certitude Reference Guide 57


Configuration Options: MaxFaultsPerStatement

MaxFaultsPerStatement
Default value: 10
Specify a limit for faults considered (during all qualification steps) per
statement
This option can be used to control the fault count, for example in huge
automatically generated source code that describes big logic blocks.
A new model phase is mandatory for the new setting to be effective.

MaxFaultsPerStatement values:
- unlimited
There is no maximum limit to faults injected in a statement.
- <positive integer>
The maximum number of faults that Certitude can inject in a
statement.

58 Certitude Reference Guide


Configuration Options: MaxInstancesForModuleInstrumentation

MaxInstancesForModuleInstrumentation
Default value: 50
Prevent instrumentation on units that are instantiated more than the
MaxInstancesForModuleInstrumentation value
If the number of instances of a Verilog/SystemVerilog module or a
VHDL design unit is greater than the number stored in
MaxInstancesForModuleInstrumentation, there is a high possibility that
faults injected in this unit will be detected. As these detected faults do not
offer great value in analyzing the effectiveness of the verification
environment, instrumentation of this unit is aborted to optimize
simulation time.
A new model phase is mandatory for the new setting to be effective.

MaxInstancesForModuleInstrumentation values:
- unlimited
There is no limit for the MaxInstancesForModuleInstrumentation
value.
- <positive integer>
Specify the maximum number of instances of a Verilog/
SystemVerilog module or a VHDL design unit for which no
instrumentation will be done when the number of instances
exceeds this value.

Certitude Reference Guide 59


Configuration Options: MaxJobsInParallel

MaxJobsInParallel
Default value: 1
Define the maximum number of jobs that can be run in parallel
For example, if Certitude must run a maximum of 10 jobs in parallel,
then:
setconfig -MaxJobsInParallel=10
This option is usually set to a number higher than 1 when Certitude is
used with a batch system (in this case, the configuration option
BatchCommand must be set to a value). However, when the testcases
have a duration less than one second, then performance can be improved
by setting this option to 5 as an example, even if the qualification is run
only on the local CPU.
The value of this option can be changed while a qualification phase is
running.

60 Certitude Reference Guide


Configuration Options: MaxLogFileSize

MaxLogFileSize
Default value: 1073741824
Limit the size of the log file
Default value: 1073741824 (1 GB)
This option sets a maximum size (in bytes) for the Certitude log file,
certitude.log. The minimum value is 100000.
If this option is set to a value of 99999 bytes or less, it will return an
error.
The unlimited value means that there is no limit to the size of the log file.
When the size of the certitude.log file reaches the specified value, the file
is compressed using zlib (creating a .gz file format) and the time and date
of the compression will be appended to the file name. Then a new
certitude.log file will be created. The rest of the Certitude output will be
written in the new log file.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 61


Configuration Options: MaxNonDetected

MaxNonDetected
Default value: 80
Set the maximum number of found Non-Detected faults before the
detection phase is stopped
For example, if this option is set as follows:
setconfig -MaxNonDetected=10
the detection will stop when Certitude has found 10 Non-Detected faults.
The value of this option can be changed while a qualification phase is
running.

MaxNonDetected values:
- unlimited
No maximum number of Non-Detected faults that can be found.
- <positive integer>
The maximum number of Non-Detected faults that Certitude can
find before stopping.

62 Certitude Reference Guide


Configuration Options: MaxSimulatorLicenses

MaxSimulatorLicenses
Default value: unlimited

Set the maximum number of simulator licenses used for the qualification
run
This option sets the maximum number of simulator jobs. Unlike the
MaxSimulatorLicenses option, the MaxJobsInParallel configuration
option sets the maximum number of jobs that can be run during a
qualification run, but not all jobs necessarily use a simulator license. For
example, the Optimizer can run a job but does not use a simulator license.
When the number of MaxJobsInParallel is larger than
MaxSimulatorLicenses, the remaining jobs can be used by the Optimizer.
The value of this option can be changed while a qualification phase is
running.

MaxSimulatorLicenses values:
- unlimited
There is no limit for the number of used simulator licenses.
- <positive integer>
The maximum number of used simulator licenses.

Certitude Reference Guide 63


Configuration Options: MetricActivationTarget

MetricActivationTarget
Default value: 0.95
Set the activation target score for the metric
For example, if a 85% minimum activation score is required, the correct
syntax is:
setconfig -MetricActivationTarget=0.85

64 Certitude Reference Guide


Configuration Options: MetricDetectionTarget

MetricDetectionTarget
Default value: 0.95
Set the detection target score for the metric
For example, if a 85% minimum detection score is required, the correct
syntax is:
setconfig -MetricDetectionTarget=0.85

Certitude Reference Guide 65


Configuration Options: MetricPropagationTarget

MetricPropagationTarget
Default value: 0.8
Set the propagation target score for the metric
For example, if a 70% minimum propagation score is required, the
correct syntax is:
setconfig -MetricPropagationTarget=0.7

66 Certitude Reference Guide


Configuration Options: MetricReportDirectory

MetricReportDirectory
Default value: [Current Directory]/certitudeMetricReport
Define the path to the directory where the HTML metric reports are
written
If the path is defined with a relative path name (i.e. it does not begin with
"/"), the base for the relative path is assumed to be the working directory.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 67


Configuration Options: NfsTimeout

NfsTimeout
Default value: 60
Set the NFS (Network File System) processes timeout in seconds
If a NFS (Network File System) operation exceeds the specified timeout
value, the current simulation is retried a number of times as defined with
the ExecutionMaxAttempt configuration option. The default value is 60
seconds (one minute).
The value of this option can be changed while a qualification phase is
running.

68 Certitude Reference Guide


Configuration Options: NoQuestion

NoQuestion
Default value: false
Remove confirmation questions
If set to true, Certitude does not ask for user confirmation before
performing actions that may remove previously generated information. If
it is set to 'false' (default setting) then Certitude asks the user for
confirmation before performing these actions.

Certitude Reference Guide 69


Configuration Options: OptimizerAnalysis

OptimizerAnalysis
Default value: true
Enable for structural analysis of the design (equivalent faults, ...)
HDL languages only. When this option is set to true, the Optimizer
automatically searches for equivalent faults during model phase and set
the status of these faults to DisableByCertitude.
Equivalent faults are automatically disabled because they cannot help
improve the quality of the verification: they do not cause a difference of
behavior, compared to the design without fault, and therefore come out
Non-Propagated (which makes them costly in terms of qualification
time). However, those faults may provide information about the structure
of the design.

The Optimizer must be set to false when Certitude is used with C


language designs.
A new model phase is mandatory for the new setting to be effective.

70 Certitude Reference Guide


Configuration Options: OptimizerBitWidth

OptimizerBitWidth
Default value: 32
Set the bit width used by Optimizer
When elaborating big design, Optimizer may need more than the
maximum 4 Gb of memory on 32 bit computers. This option allows
Optimizer to use all the capacity of 64 bit computers for elaboration and
other processings during model, activation and detection phases.
The 64 bit setting can be used only on 64 bit computers, whatever the
phase, and a design netlist elaborated with this setting during the model
phase can be used only on a 64 bit computer.

OptimizerBitWidth values:
32
Sets the bit width to 32 bits. This can be used on both 32 bits and
64 bits computers.
64
Sets the bit width to 64 bits. This can be used only on 64 bits
computers.

Certitude Reference Guide 71


Configuration Options: OptimizerBlackboxes

OptimizerBlackboxes
Default value: <No default Value>
Define the blocks (entity/modules) that should be black-boxed during
synthesis by the Optimizer
No attempt is made to synthesize black-boxed blocks. Black-boxing is
often useful for memories or probe/debug blocks.
Blocks that must be black-boxed are defined by a list of patterns
representing the names of the blocks.
A pattern must be in the format of <library>.<name>, taken as case
insensitive when VHDL names are matched.
Patterns can contain wildcards (*, ? and [...]). For example, a pattern *.*
is valid.
If a pattern starts with the '^' character, then it is processed as a regular
expression, in which case wildcards change their meaning according to
regular expression rules.
The Optimizer TopName is never matched.
All specified patterns are expected to match at least one block; otherwise,
a warning containing unused patterns is shown.

The option has no impact on hierarchy extraction during the model


phase.

User-defined black-boxes are shown in the list of black-boxes:


status -optimizer -blackboxes

72 Certitude Reference Guide


Configuration Options: OptimizerDistanceToOutputAnalysis

OptimizerDistanceToOutputAnalysis
Default value: true

Calculate the least number of sequential elements (i.e. flip-flops) to go


through from the fault to the top level outputs
During the model phase when the OptimizerAnalysis configuration
option is set to true and the OptimizerDistanceToOutputAnalysis option
is set to true, Certitude identifies the paths from a fault to the primary
output of the TopName and counts the number of sequential elements
(i.e. flip-flops) along each path. The calculation result can then be
accessed through the -distancetooutput option of the faultlist and
faultinfo commands. If the result is not available (e.g. when the
Optimizer has not been activated during the model phase), the result will
be 2147483647, the maximum integer value. Faults with the least value
will be qualified first in the detection run and faults with large values will
be qualified later in the detection run.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 73


Configuration Options: OptimizerEffortForEquivalentFaults

OptimizerEffortForEquivalentFaults
Default value: Low
Set the strength of Optimizer analysis for equivalency searching
When the effort is set higher, the Optimizer proceeds to deeper and
longer structural analysis, which raises the probability of finding
equivalent faults, but also requires more time.

OptimizerEffortForEquivalentFaults values:
Low
The Optimizer proceeds to basic analysis. This takes less time but
is also providing less probability to find equivalent faults.
High
The Optimizer proceeds to deeper analysis. This takes more time
but has a higher probability to find equivalent faults.

74 Certitude Reference Guide


Configuration Options: OptimizerEffortForIdenticalFaults

OptimizerEffortForIdenticalFaults
Default value: Low

Set the strength of Optimizer analysis to search for identical faults


When the effort is set higher, the Optimizer proceeds to deeper and
longer structural analysis, which raises the probability of finding
identical faults, but also requires more time.

OptimizerEffortForIdenticalFaults values:
Low
The Optimizer proceeds to basic analysis. Only connectivity
faults are analyzed for finding identical faults during the model
phase. No other fault is analyzed.
High
Optimizer proceeds to deeper analysis. In addition to connectivity
faults, the other faults (RTL) are analyzed during the model,
activation or detection phases (depending on the
OptimizerOperationsDuringDetection configuration option
contents).

Certitude Reference Guide 75


Configuration Options: OptimizerIdenticalAnalysis

OptimizerIdenticalAnalysis
Default value: true

Enable structural analysis of the design for finding identical faults


The Optimizer can search for identical faults independently from its other
tasks. As an identical faults search can take more time than an equivalent
faults search, this process can be put off while the other Optimizer
processes can still be run.
When a fault is found to be identical to another fault it is disabled by
Certitude. In a list of identical faults only one fault is kept enabled for
qualification.
When this option is set to true, the OptimizerOperationsDuringDetection
configuration option is effective.

76 Certitude Reference Guide


Configuration Options: OptimizerJobRate

OptimizerJobRate
Default value: 0.3

Set the rate of batch occupation for the Optimizer background run
When the Optimizer is run in the background during the detection phase
(i.e. the OptimizerOperationsDuringDetection configuration option is
set), it shares the batch system with the detection process. This option
sets the rate of the batch system occupation between the Optimizer and
the detection process.
For instance, when the value of this option is 0.3, 70% of the batch
capacity is used by the detection phase simulations and 30% are used by
the Optimizer.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 77


Configuration Options: OptimizerOperationsDuringDetection

OptimizerOperationsDuringDetection
Default value: Equivalent Identical
Define which Optimizer operations are allowed to be launched during the
detection phase
The option controls whether the Optimizer runs during the detection
phase. When this run is in parallel with the detection phase, the
Optimizer can execute several types of operations. This
OptimizerOperationsDuringDetection option defines which operations
are allowed to be launched during detection. This option takes a list of
values. Currently only 'Equivalent' and 'Identical' values are valid:
finding equivalent faults or finding identical faults in order to disable
them.
The value of this option can be changed while a qualification phase is
running.

OptimizerOperationsDuringDetection values:
Equivalent
Optimizer is allowed to launch analysis of equivalent faults
during the detection phase.
Identical
Optimizer is allowed to launch analysis of identical faults during
the detection phase.

78 Certitude Reference Guide


Configuration Options: OptimizerStuckInputs

OptimizerStuckInputs
Default value: <No default Value>
Set a value for input ports when the Optimizer is used
A value can be specified for a list of specified input ports with this
option. The Optimizer will consider only these values when tracking
down equivalent faults for instance. This will reduce the optimization
time.
The option accepts a list of pairs with the following syntax:
setconfig {-OptimizerStuckInputs = {inputport1 value1} {inputport2
value2} ... }
or (recommended)
setconfig -OptimizerStuckInputs=[ list {inputport1 value1} {inputport2
value2} ...]

Certitude Reference Guide 79


Configuration Options: PersistentLifeTime

PersistentLifeTime
Default value: 3600

Set the job persistence time when using a batch system in partial
persistence mode or in full persistence mode
When the SimulationMode configuration option is set to
PartiallyPersistent or FullyPersistent, a job can start as many simulations
as necessary to complete the qualification. This life time option
periodically ends the job. The default value is 3600 seconds (one hour).
If a simulation is in progress when the value is reached, the simulation
will not stop. The job ends after the simulation is finished.
The value of PersistentLifeTime can be changed while a detection phase
is running. The new value will be applied to all the jobs started after the
value change.
The value of this option can be changed while a qualification phase is
running.

PersistentLifeTime values:
- unlimited
If this value is used, Certitude will not return from the batch
system until the qualification is completed. Using this value is not
recommended when multiple users are using the batch system.
- <positive integer>
Specify the time in seconds to regularly stop a job when the
SimulationMode option is set to PartiallyPersistent or
FullyPersistent.

80 Certitude Reference Guide


Configuration Options: PostExecutionScript

PostExecutionScript
Default value: <No default Value>
Set the path to the script that is executed after the execution script
This option runs a specific script to execute end-of-execution operations.
For example, the end of execution operations can be interrupting all the
ongoing processes on the batch and removing all the process files that
have been created. By default, these operations are included in the
execution script.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 81


Configuration Options: PropagationType

PropagationType
Default value: TimeOrValue
Specify the use of time and value in the propagation analysis
HDL languages only. When checking if there is an observed difference of
behavior between with and without the fault, in other terms if the fault
has been observed at a probe, Certitude can consider traces values as well
as time. This option is for specifying if this observation must take
account of one of these two factors or both. The default type is
'TimeOrValue', which means that the fault is considered as observed if
traces values have changed or if time has changed or if both have
changed.

PropagationType values:
TimeOrValue
The fault is considered as observed if traces values have changed
or if time has changed or if both have changed.
TimeAndValue
The fault is considered as observed only if both traces values and
time have changed.
Value
The fault is considered as observed if traces values have changed,
whether time has changed or not.
Time
The fault is considered as observed if time has changed, whether
traces values have changed or not.
ValueOnly
The fault is considered as observed if only traces values have
changed (time has not changed).

82 Certitude Reference Guide


Configuration Options: PropagationType

TimeOnly
The fault is considered as observed if only time has changed
(traces values has not changed).

Certitude Reference Guide 83


Configuration Options: QualificationRunName

QualificationRunName
Default value: <Re-use TopName value>
Display the specified label in the HTML report
By default, the HTML report uses the TopName name as the title for the
project. This project name appears in every major page of the report.
When a label is specified with QualificationRunName, this label is used
instead of the TopName name in the HTML report.
The value of this option can be changed while a qualification phase is
running.

84 Certitude Reference Guide


Configuration Options: ReentrantTests

ReentrantTests
Default value: false
Enable testcase multiple run in parallel
The options BatchCommand (if applicable) and MaxJobsInParalel
should also be set. Note that when ReentrantTests is set to false,
Certitude can still run many different testcases in parallel.

Certitude Reference Guide 85


Configuration Options: ReportDirectory

ReportDirectory
Default value: [Current Directory]/certitudeReport
Define the path to the directory where the HTML reports are written
If the path is defined with a relative path name (i.e. it does not begin with
"/"), the base for the relative path is assumed to be the working directory.
The value of this option can be changed while a qualification phase is
running.

86 Certitude Reference Guide


Configuration Options: ReportFormat

ReportFormat
Default value: html
Specify the report mode before using the report command
Possible values for this configuration option are 'html' or 'text'. By setting
the html option, the report command generates the report with current
Certitude status and data in HTML. By setting the text option, the report
command generates the report with fault status in a text file.

ReportFormat values:
html
The report command generates the report in HTML format.
text
The report command generates the report in text format.

Certitude Reference Guide 87


Configuration Options: RestoreSourceFilesOnTop

RestoreSourceFilesOnTop
Default value: true
Allow a persistent instrumentation on top
When this option is set to false and the InstrumentOnTop option is true,
the original source files are not restored immediately after the
compilation.
In this case when RestoreSourceFilesOnTop=false and
InstrumentOnTop=true, the instrumented code is also not copied to the
original source locations before the compilation, except when the
compilation is needed.

The value of this option can be changed while a qualification phase is


running.

88 Certitude Reference Guide


Configuration Options: SanityCheck

SanityCheck
Default value: true
Perform a sanity check for activation and detection phases
When activation or detection phase is run, Certitude performs a sanity
check on the instrumented code. First a testcase returning fail is tested,
then a testcase returning pass is tested. This is for finding setup problems
before the qualification phase starts.
Setting the SanityCheck option to false disables the check.

Certitude Reference Guide 89


Configuration Options: ShowUserDataInReport

ShowUserDataInReport
Default value: false
Display the user-defined information in the HTML report
When set to true, the user information linked to Certitude objects is
displayed in specific pages in the HTML report. In addition, data linked
to faults is shown in the fault detail window and data linked to testcases is
shown in the testcase detail window.

This option interacts with the ShowUserDataKeysInReport option.

The value of this option can be changed while a qualification phase is


running.

90 Certitude Reference Guide


Configuration Options: ShowUserDataKeysInReport

ShowUserDataKeysInReport
Default value: <No default Value>
Specify the user-defined information to be displayed in the HTML report
Possible values for this option are the userdatakeys that the user adds to
faults, testcases, or other Certitude objects, with the userdata commands.
The ShowUserDataInReport configuration option must be set to true first
to activate this option.

If no value is specified then all user information is displayed in the report


except the user data is added from the report viewer (userdatavalue =
Report_Comment). If values are specified, only the user information
related to these user data keys are displayed in the report. Syntax
examples:

setconfig -ShowUserDataKeysInReport=[list Fault_key1 Fault_key25


Testcase_key5 Probe_key2 DB_key1]
or
setconfig {-ShowUserDataKeysInReport= Fault_key1 Fault_key25
Testcase_key5 Probe_key2 DB_key1}

The value of this option can be changed while a qualification phase is


running.

Certitude Reference Guide 91


Configuration Options: SimulatedTimeMultiplier

SimulatedTimeMultiplier
Default value: 1.2
Specify the time multiplier between the simulated time of the reference
simulation and of other detection simulations
This value is used by the watchdog. The base simulated time is collected
from the reference simulation (first simulation with a given testcase).
When the subsequent testcase simulated times exceed the (option value *
reference time) then the simulation is killed and the result is fail.
SimulatedTimeMultiplier is not used by Certitude in the qualification of
formal environments, as formal tools do not support the concept of
reference time.
There is no unlimited value.
The value of this option can be changed while a qualification phase is
running.

92 Certitude Reference Guide


Configuration Options: SimulationCPUTimeMultiplier

SimulationCPUTimeMultiplier
Default value: 30
Set the multiplication factor of the simulation time to calculate the time
allocated to the simulation
During activation, the runtime information of a testcase is recorded.
Certitude multiplies the activation testcase runtime by the factor
specified in this configuration option to calculate the simulation timeout.
When a simulation includes this testcase during the detection phase and
the total time is elapsed, the simulation is killed.
C language only. The default value of this configuration option is
adapted to most HDL language situations. When using Certitude with
designs written in the C language, the value of this option should be set to
3.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 93


Configuration Options: SimulationHostSetup

SimulationHostSetup
Default value: <No default Value>
Define the name of the script that must be sourced on the host machine
before the execution script is started
This option is used for preprocessing before the execution. There is no
default value.
The value of this option can be changed while a qualification phase is
running.

94 Certitude Reference Guide


Configuration Options: SimulationMode

SimulationMode
Default value: SingleExecution
Set the type of simulation mode
This option is for choosing whether each job starts only one simulation or
if it starts many simulations when working with a batch system. The
default is SingleExecution: one job starts one simulation through the
batch system.

SimulationMode values:
SingleExecution
In this mode, one job started by the Certitude execute wrapper is
responsible for only one simulation.
PartiallyPersistent
In this mode, each job started by Certitude execute wrapper can
start as many simulations as necessary for the qualification to
complete in the time interval defined by the PersistentLifeTime
configuration option. If this mode is set, it should be with a
reasonable PersistentLifetime value so that Certitude returns hand
of the batch system periodically.
FullyPersistent
In this mode, each job started by Certitude execute wrapper and
simulator can start as many simulations as necessary for the
qualification to complete in the time interval defined by the
PersistentLifeTime configuration option. If this mode is set, it
should be with a reasonable PersistentLifetime value so that
Certitude returns hand of the batch system periodically.

Certitude Reference Guide 95


Configuration Options: SimulationResultToExecuteWrapperTimeout

SimulationResultToExecuteWrapperTimeout
Default value: 3600
Set the maximum time (in seconds) between the end of the simulation
result process and the end of the execution script processes
This timeout option covers all processes that occur before the execution
end. For example, the remaining execution script operations that are
executed after the simulation result process is over and additional
operations that are completed through the post execution script.
The value of this option can be changed while a qualification phase is
running.

96 Certitude Reference Guide


Configuration Options: SimulationTimeout

SimulationTimeout
Default value: 604800
Set the maximum time (in seconds) for a simulation timeout
The simulation is stopped when this time has elapsed, and is retried for
the time specified with the ExecutionMaxAttempt configuration option.
If this option value is changed, make sure to keep the timeout longer than
the longest simulation. The default setting is 604800 seconds (seven
days).
The value of this option can be changed while a qualification phase is
running.

SimulationTimeout values:
- unlimited
No simulation timeout.
- <positive integer>
Simulation timeout value in seconds.

Certitude Reference Guide 97


Configuration Options: Simulator

Simulator
Default value: none

Select the simulator


HDL languages only. This option sets the simulator that must be used for
the qualification. A simulator value other than 'none' must be set for
running activation, detection and metric computation phases.
A new model phase is mandatory for the new setting to be effective.

Simulator values:
nc
Use NCSim as the simulator.
ncsim
Use NCSim as the simulator.
modelsim
Use ModelSim as the simulator.
vcs
Use VCS as the simulator.
ifv
Use the formal tool, ifv, as the simulator.
jg
Use the formal tool, JasperGold, as the simulator.
generic-formal-tool
Use the formal tool that is not in the support list.
mg
Use the formal tool, Magellan, as the simulator.

98 Certitude Reference Guide


Configuration Options: Simulator

onespin
Use the formal tool, OneSpin, as the simulator.
vcstatic
Use the formal tool, VC Static, as the simulator.
none
No simulator is specified. Activation, detection and metric phases
cannot be run with designs written in HDL languages.
native
Use VCS Native Certitude as the simulator.

Certitude Reference Guide 99


Configuration Options: SimulatorBitWidth

SimulatorBitWidth
Default value: 32
Set the correct bit width for simulator compatibility
Setting this option makes all the appropriate Certitude settings so that it is
compatible with the bit width of the simulator.

SimulatorBitWidth values:
32
This value must be set if the used simulator is working in 32 bits.
64
This value must be set if the used simulator is working in 64 bits.

100 Certitude Reference Guide


Configuration Options: SimulatorTemplateDirectory

SimulatorTemplateDirectory
Default value: [Installation Directory]/data/SimulatorTemplate/
Specify the directory where simulator template files are found when the
faultdebug command is used
HDL languages only. When the faultdebug command is used for
waveform comparisons, Certitude uses templates to generate the 'do'
scripts for the different simulators or tools. With this option, a template
directory other than the default Certitude data/SimulatorTemplate can be
specified for generating this 'do' script.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 101


Configuration Options: SimuToSimulationResultTimeout

SimuToSimulationResultTimeout
Default value: 3600
Set the time (in seconds) between the end of a simulation and the start of
the simulation result process
When a simulation ends, Certitude expects the simulation result process
to be started before this timeout value has elapsed. If it does not, the
simulation is retried for the time specified with the
ExecutionMaxAttempt configuration option. The default value is 3600
seconds (one hour).
The value of this option can be changed while a qualification phase is
running.

102 Certitude Reference Guide


Configuration Options: SubmitNewJobForOptimizerTask

SubmitNewJobForOptimizerTask
Default value: false

Submit a new job if the operation to be performed differs from the


previous one
By setting the configuration option to false in the partially persistent
mode, Certitude uses the existing job slots for the Optimizer and
simulation, without submitting a new job to the batch. This improves the
overall efficiency as the batch system latency is decreased.
This configuration option must be set to true when the job submission
parameters are different for the Optimizer and simulation tasks, or when
the same machine cannot be used for the Optimizer and simulation tasks.
The configuration option has no effect when the SimulationMode
configuration option is set to SingleExecution.

Certitude Reference Guide 103


Configuration Options: TclList

TclList
Default value: false
Print listed results (e.g. testcases, source files, or scenarios) as Tcl lists
By default, listed results (e.g. testcase names, source file names, or
scenario names) are printed in the Certitude shell line by line. When
these lists are to be used in a script, this option must be set to true to make
these lists Tcl compatible.
The value of this option can be changed while a qualification phase is
running.

104 Certitude Reference Guide


Configuration Options: TempDataDirectory

TempDataDirectory
Default value: [Current Directory]/certitudeTmp
Specify the directory where temporary files are created by Certitude
If the path is defined with a relative path name (i.e. it does not begin with
'/'), the base for the relative path is assumed to be the working directory.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 105


Configuration Options: TestcasesScript

TestcasesScript
Default value: [Current Directory]/certitude_testcases.cer
Define the path to the script where the list of all testcases used for
simulation is defined (using addtestcase commands)
If the path is defined with a relative path name (i.e. it does not begin with
"/"), the base for the relative path is assumed to be the working directory.

106 Certitude Reference Guide


Configuration Options: TopName

TopName
Default value: <No default Value>
Define the name of the top level entity or module in the RTL design
under verification
This option must be configured if the design is written in HDL
languages. It is a string that is made up of the library and top level entity/
module name.
For example:
setconfig -TopName=work.usb
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 107


Configuration Options: TopVerilogParameters

TopVerilogParameters
Default value: <No default Value>
Specify parameters to be passed to the design top
This option is used when it is necessary to pass parameters from outside a
Verilog top (which is usually done by the testbench). The option accepts
a list of pairs with the following syntax:
setconfig {-TopVerilogParameters={parameter1 value1} {parameter2
value2} ...}
or (recommended)
setconfig -TopVerilogParameters=[ list {parameter1 value1}
{parameter2 value2} ...]
where parameter1 and parameter2 are the name of the parameter as
appeared in the Verilog top. No additional path specification (e.g.
work.parameter1 or top.parameter1) is needed.

Take the following Verilog top level file as an example:

module top #(
parameter width = 0,
parameter select_width = 1
)(
input enable,
input [width-1:0] req,
output reg [select_width-1:0] select,
input clock
);

108 Certitude Reference Guide


Configuration Options: TopVerilogParameters

The TopVerilogParameters configuration option is specified as:


setconfig -TopVerilogParameters=[list {width 8} {select_width 8} ]
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 109


Configuration Options: TopVhdlGenerics

TopVhdlGenerics
Default value: <No default Value>
Specify generics to be passed to the design top
This option is used when it is necessary to pass generics from outside a
VHDL top (which is usually done by the testbench). The option accepts a
list of pairs with the following syntax:
setconfig {-TopVhdlGenerics = {generic1 value1} {generic2 value2} ...
}
or (recommended)
setconfig -TopVhdlGenerics=[ list {generic1 value1} {generic2 value2}
...]

Take the following VHDL top level file as an example:

entity top is
generic(gen : natural := 0 ;
std : std_logic := '0' ;
std2 : std_logic_vector (3 downto 0) );
port (i : in std_logic ;
o1, o2, o3 : out std_logic_vector (gen downto 0) ) ;
end entity;

The TopVhdlGenerics configuration option is specified as:


setconfig -TopVhdlGenerics=[list { gen 7 } { std '1' } {std2 \"1100\" } ]
A new model phase is mandatory for the new setting to be effective.

110 Certitude Reference Guide


Configuration Options: UseStdVhdlLibraries

UseStdVhdlLibraries
Default value: true
Tell Certitude whether to use the standard VHDL libraries or not
This option is boolean. If set, Certitude uses standard VHDL libraries
that are shipped with Certitude e.g. std and ieee; if set to 0, the user must
provide library data files for all libraries.
This option is for VHDL only.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 111


Configuration Options: UVM

UVM
Default value: false
Load UVM library
When set to true, this configuration option allows Certitude to take UVM
packages into account.

112 Certitude Reference Guide


Configuration Options: UVMPackageFile

UVMPackageFile
Default value: <No default Value>
Specify the path of UVM library packages
When the UVM configuration option is set to true, the path of UVM
packages should be specified with the UVMPackageFile configuration
option. For VCS simulator and UVM 1.1 users, this option can remain
blank.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 113


Configuration Options: ValidateHistory

ValidateHistory
Default value: false
Provide a mode to ensure that previously-detected faults are still detected
by the same testcases
When this configuration option is set to true, potential regressions are
quickly identified. If a previously-detected fault is no longer detected
after a new model, the testcase that is no longer efficient can be quickly
identified.
This mode is available from the following commands:
- activate: if a fault is no longer activated by the previous killing testcase,
this fault is set to Non-Activated.
- detect: the fault-testcase pairs that have previously detected the faults
are executed.
- report: the report is generated only for the previous detected faults
(idem "report -faultlist").

114 Certitude Reference Guide


Configuration Options: VCSCompileDirectory

VCSCompileDirectory
Default value: <No default Value>
Return the VCS working directory
In the Native mode, this configuration option returns the VCS working
directory (i.e. the directory where VCS was invoked) when the model
phase is executed by the VCS compile script. The value of this
configuration option is empty for the rest of the time.
This value is read-only.

Certitude Reference Guide 115


Configuration Options: VerboseLevel

VerboseLevel
Default value: 0

Set the verbose level


The value of this option must be a positive integer. When the value 0 is
set, there is no verbosity. Other possible values are 1, 2, 3 and 4.
The value of this option can be changed while a qualification phase is
running.

116 Certitude Reference Guide


Configuration Options: VerdiInitCommand

VerdiInitCommand
Default value: <No default Value>
Specify the Tcl command for loading a design in the Verdi platform
After shell commands and Certitude interface commands start the Verdi
platform for code navigation or waveform comparison, the
VerdiInitCommand option is needed to load the appropriate design in the
Verdi platform at startup.
In addition to the mandatory debImport command, the
VerdiInitCommand option can contain any Verdi Tcl command.

An example of the VerdiInitCommand usage is:


setconfig {-VerdiInitCommand=debImport -top DUT_testbench -path .}

where -top is the module top for the design imported into the Verdi
platform and -path is the path to the design.

When multiple commands are specified, each command must be


separated by a semicolon:
setconfig {-VerdiInitCommand= <debImport
...>;<verdiTclcommand2>;<verdiTclcommand3>;...}
Note: For more details on Verdi Tcl command usage, refer to the Verdi3
and Siloti Tcl Reference manual.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 117


Configuration Options: VerdiScript

VerdiScript
Default value: {verdi -serverPort 0}
Customized script to launch the Verdi platform
After this option is set and the verdistart command is executed, if a
running Verdi platform does not exist to connect to, Certitude will use
the script specified by the VerdiScript option to launch a new Verdi
platform.
Note that Certitude uses the specified script to launch the Verdi platform
and append Verdi '-serverPort 0' command option. Users must pass this
command option to Verdi in their customized Verdi script. For the '-
serverPort' option, refer to the Verdi documentation for more details.
The value of this option can be changed while a qualification phase is
running.

118 Certitude Reference Guide


Configuration Options: VerdiLaunchingTimeOut

VerdiLaunchingTimeOut
Default value: 60
Set the maximum time (in seconds) for launching Verdi to time out
The novasrun command will be stopped when this time is elapsed.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 119


Configuration Options: VerdiLogDir

VerdiLogDir
Default value: <No default Value>
Connect Certitude to the running Verdi platform
After this option is set and the novasrun command is executed, Certitude
will connect to the running Verdi platform by searching for the Verdi
configuration file located under the directory specified by the
VerdiLogDir option.
The value of this option can be changed while a qualification phase is
running.
VhdlCerPackageFile

Default value: <No default Value>


Define a file name for the destination of Certitude packages
When compiling VHDL, if the library name shares the same name with
an entity, an ambiguity problem is created in Certitude. To solve this, a
specific name for the destination file, such as synopsys.vhd, can be set
with this option.
When this option is set, the Certitude package is compiled in a library
named certess_lib by default. That can be changed with the
VhdlCerPackageLibrary configuration option.
When this option is set, the compilation script must be modified
accordingly.
A new model phase is mandatory for the new setting to be effective.

120 Certitude Reference Guide


Configuration Options: VhdlCerPackageLibrary

VhdlCerPackageLibrary
Default value: certess_lib
Define a library name for the compilation of Certitude packages
When in VHDL the compilation is made in a library that shares the same
name with an entity, it causes an ambiguity problem in Certitude. To
solve this, the VhdlCerPackageFile configuration option can be used.
When (and only when) that option is used, a custom name can also be set
for the library where the Certitude package must be compiled, such as
certess_lib (the default name), with this configuration option
VhdlCerPackageLibrary.
When this option is set, the compilation script must be modified
accordingly.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 121


Configuration Options: VhdlInstrumentForGenerate

VhdlInstrumentForGenerate
Default value: false
Enable the injection of connectivity faults on entity instantiation located
in VHDL for-generate statements
This option is applicable for VHDL designs only. If set to true,
connectivity faults are injected on entity instantiation in VHDL for-
generate statements.
A new model phase is mandatory for the new setting to be effective.

122 Certitude Reference Guide


Configuration Options: vhdlSmartOrder

vhdlSmartOrder
Default value: false
Set this option to true to order VHDL files automatically when parsing
with Certitude
When this option is set to true, VHDL files are ordered automatically
when parsing with Certitude. When this option is set to false, VHDL files
are parsed in the order specified by the certitude_hdl_file.cer file. The
default is false.
After this option is set to true, Verilog or SystemVerilog files are parsed
first and VHDL files later. VHDL files are automatically sorted to
support parsing. The internal Certitude file list will be modified to reflect
the new file order.
A new model phase is mandatory for the new setting to be effective.

Certitude Reference Guide 123


Configuration Options: VlogCerPackageLibrary

VlogCerPackageLibrary
Default value: work
Set the VHDL library where Certitude compiles Verilog modules (e.g.
cer_iof used to instrument Inout VHDL ports)
This configuration option defines the VHDL library where Certitude
compiles Verilog modules. Currently it is used only when performing
connectivity instrumentation of Inout VHDL ports to compile the cer_iof
module.
If the library is not specified, the default library is "work".

A new model phase is mandatory for the new setting to be effective.

124 Certitude Reference Guide


Configuration Options: WaveDump

WaveDump
Default value: false
Generate waveforms with and without fault when the fault is Non-
Detected
HDL languages only. When set to true, during the detection phase
Certitude automatically generates waveform dumps when the fault is
Non-Detected, if the simulation is configured correctly.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 125


Configuration Options: WaveDumpDirectory

WaveDumpDirectory
Default value: [Current Directory]/certitudeWaveDumps
Specify the directory where the waveform dumps are stored
HDL languages only. When the WaveDump configuration option is set
to true, Non-Detected fault waveforms are dumped for later comparison.
By default, the waveform dumps are put in the directory <project>/
certitudeWaveDumps. This option is used to specify a new directory
location for waveform dumps.
The value of this option can be changed while a qualification phase is
running.

126 Certitude Reference Guide


Configuration Options: WaveDumpHierarchicalName

WaveDumpHierarchicalName
Default value: <No default Value>
Specify a list of instances for waveform dumping
This options dumps the waveforms for the specified list of instance
names including the hierarchical path. This option is used when it is not
necessary to dump everything when a Non-Detected fault is found or
when the dumpwaves command is used.
This option is active only when the WaveUseEmbeddedDumper
configuration option is set to true.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 127


Configuration Options: WaveDumpLevel

WaveDumpLevel
Default value: 0
Set the depth of the generated waveforms
HDL languages only. This option is set to 0 by default. It controls the
number of hierarchy levels for which the signals are dumped, starting
from the instance specified by WaveDumpHierarchicalName. When set
as 0, Certitude dumps all signals below the instance specified in
WaveDumpHierarchicalName. A dump level of 1 dumps the signals in
the top/module entity.
The value of this option can be changed while a qualification phase is
running.

128 Certitude Reference Guide


Configuration Options: WaveDumpSVA

WaveDumpSVA
Default value: true
Dump SVA instances in the generated waveforms
HDL languages only. When set to true, the embedded FSDB dumper
dumps the SVA instances in the hierarchy levels specified by
WaveDumpLevel below the scopes specified in
WaveDumpHierarchicalName. This option is active only when the
WaveUseEmbeddedDumper configuration option is set to true.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 129


Configuration Options: WaveEmbeddedDumperOptions

WaveEmbeddedDumperOptions
Default value: +struct

Specify options when the embedded dumper is used for dumping


waveforms
When the WaveUseEmbeddedDumper configuration option is used, a list
of Verdi specific dumping options is available for use. Refer to the
'Linking Novas Files with Simulators and Enabling FSDB Dumping'
manual (linking_dumping.pdf) for a description of all available options.

The syntax for setting a list of values for the configuration option is:

setconfig -WaveEmbeddedDumperOptions=[list option1,option2,...]


or
setconfig {-WaveEmbeddedDumperOptions= option1,option2,...}

For example:
setconfig -WaveEmbeddedDumperOptions=[list +IO_Only,+Reg_Only]

The value of this option can be changed while a qualification phase is


running.

130 Certitude Reference Guide


Configuration Options: WaveUseEmbeddedDumper

WaveUseEmbeddedDumper
Default value: true

Use the embedded dumper instead of instrumented code for dumping


waveforms
This option can be used when Certitude is used with the Verdi platform
for waveform comparison without specifically instrumenting the code for
the Verdi platform. When this option is set to true, Certitude disables all
of the Verdi specific variables written in the instrumented code and
allows the Verdi platform to load the appropriate waveforms for
comparison. The $NOVAS_HOME environment variable must be set for
Certitude to load the appropriate dumper library from the installation
path of the Verdi platform.
The FSDB dumper version in the paths of the $LD_LIBRARY_PATH
environment variable must be the same as the Verdi version specified in
the $NOVAS_HOME environment variable.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 131


Configuration Options: WaveUseNovasDebug

WaveUseNovasDebug
Default value: false

Enable use of the Verdi platform for debug


HDL languages only. This option must be set to true if the faultdebug
command is used with the Verdi platform. This option must also be set to
true if the HDL code is to be instrumented for the Verdi platform during
the model phase.
The value of this option can be changed while a qualification phase is
running.

132 Certitude Reference Guide


Configuration Options: XLIKillScript

XLIKillScript
Default value: <No default Value>
Define the path to the user simulation-kill scrip
As killing a simulation can be complex, a specific script can be used.
This option calls the specified script for the XLI to kill the simulation.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 133


Configuration Options: XLIVerboseLevel

XLIVerboseLevel
Default value: 0
Set the verbose level of XLI
HDL languages only. The value of this option must be a positive integer.
When the value 0 is set, there is no verbosity. Other possible values are 1
and 2.
The value of this option can be changed while a qualification phase is
running.

134 Certitude Reference Guide


Configuration Options: XLIWatchdogTimeout

XLIWatchdogTimeout
Default value: 120
Define the maximum accepted time (in seconds) for the simulation
inactivity before the simulation is killed
This option defines the maximum CPU time that the Certitude watchdog
will wait for the simulation to report an advance in simulation time. If the
simulation time has not advanced within this time, then the watchdog
will kill the simulation.

The CPU time is monitored immediately after the simulated model is


elaborated by the simulator. The time to load the simulator into memory
and launch the Unix process is not included in this timeout.
The watchdog monitors whether the simulation time (the virtual time of
the simulated model) is advancing when the CPU time of the simulator is
advancing. This check is done by the XLI inside the simulator process.

The default setting is 120 seconds. If simulation time has not advanced
for 121 seconds, the simulation will be killed. A simulation killed by the
watchdog leads to a detected fault only if the execution script reports a
failed simulation. However, the watchdog only kills a Detection
simulation with an active fault. The watchdog never kills activation,
reference and non-instrumented simulation.
The value of this option can be changed while a qualification phase is
running.

Certitude Reference Guide 135


Configuration Options: XLIWatchdogTimeout

136 Certitude Reference Guide


Commands: activate

Commands

activate
Perform the fault activation phase
Certitude checks if the injected faults are exercised by the verification
environment during a normal testcase execution. If a testcase fails during
the activation phase, the testcase will not be used during the detection
phase.
The 'activate' command is not allowed in query mode.

Usage:
activate [-propertyidlist=<property id list>] [-
verbose] [-nocompile] [-retryfailedtests] [-
skipknownproperties] [-nosanitycheck]
activate -testcaselist=<testcases list> [-
verbose] [-nocompile] [-nosanitycheck]
activate -compile [-verbose]
activate -instrument [-verbose]
activate -hdlrestore [-verbose]
activate -updateresults [-
testcaselist=<testcases list>] [-verbose]

activate [-propertyidlist=<property id
list>] [-verbose] [-nocompile] [-
retryfailedtests] [-skipknownproperties] [-
nosanitycheck]

Certitude Reference Guide 137


Commands: activate

Runs the activation with the specified property IDs.


-verbose runs the activation in verbose mode.
-nocompile runs the activation without compiling the design if it
has been compiled for activation before.
-retryfailedtests runs activation and attempts to run testcases that
have failed at activation before.
-skipknownproperties runs activation on properties with no data,
e.g. been reset previously.
-nosanitycheck skips any sanity check.
activate -testcaselist=<testcases list> [-
verbose] [-nocompile] [-nosanitycheck]
Runs the activation with the specified testcases. Can optionally
run in verbose mode (-verbose), skipping compilation (-
nocompile), or with any sanity check (-nosanitycheck). Legal
syntaxes are:
1) activate -testcaselist=testcase1,testcase2
2) activate -testcaselist=[list testcase1 testcase2]
activate -compile [-verbose]
Compiles the HDL files. Verbose mode can optionally be
specified.
activate -instrument [-verbose]
Generates source files instrumented for activation. Verbose mode
can optionally be specified.
activate -hdlrestore [-verbose]
Restores the original source files (after -instrument). Verbose
mode can optionally be specified.
activate -updateresults [-
testcaselist=<testcases list>] [-verbose]
Updates activation status of a fault per the fault property or

138 Certitude Reference Guide


Commands: activate

propagation property changes without running simulations.


Updating activation results only applies on faults related to the
specified testcases (-testcaselist=). Verbose mode (-verbose) can
optionally be specified.

Certitude Reference Guide 139


Commands: addc

addc
Read C files into Certitude
This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).

Usage:
addc -file=<file> [-ignore=<line range>] [-
qualify] [-directivelist=<directive list>]

addc -file=<file> [-ignore=<line range>] [-


qualify] [-directivelist=<directive list>]
This command requires the file name to be specified.
When the -qualify option is used, the file is instrumented by
Certitude.
This command is also used for the specification of C lines that
must be ignored by Certitude when faults are injected. For
example, when -ignore=(25,40..50,80..) is specified, then no
faults will be injected in lines 25, 40 to 50 and 80 and higher.
-directivelist specifies a list of preprocessor options for the parser.
These directives usually correspond to the switches and options
passed to gcc in the compilation script.

The following options are supported by -directivelist:


-A <predicate>(<answer>): This defines a preprocessor assertion,
as in -Asystem(linux).
-D <NAME>[=<body>]: This defines a preprocessor macro, as in
-DSYSTEM=linux or -D DEBUG.
--lock-macro <NAME>[=body]: This defines a preprocessor

140 Certitude Reference Guide


Commands: addc

macro that cannot be redefined.


-U <NAME>: This un-defines a preprocessor macro, as in -U
SYSTEM.
--inhibit-macro <NAME>: This prevents a preprocessor macro
from being defined.
-I <path>: This adds another include path.
--include <file>: This includes the specified file in every
translation unit.
-m32 / -m64: This generates code for a 32-bit or 64-bit
environment.
-ansi or -std=c89: This enables the support of ISO C90 programs.

The recommended use is to put the list in a variable and then set -
directivelist with this variable.
Example:
set DIRECTIVES {-m32 -ansi -DMY_DEFINE -
Imy_include_dir}
addc -file=myfile1 -qualify -directivelist=$DIRECTIVES

Certitude Reference Guide 141


Commands: addparameter

addparameter
Add a parameter into Certitude
This command is only available in the file containing the list of testcases
(certitude_testcases.cer by default). Certitude internally creates the new
testcase names from the scenario names, parameter values (the separator
is ":< parameter name >=") and seed values (the separator is ":seed=").
For scenario creation, refer to the addscenario command.

The following is an example. In the certitude_testcases.cer file:


addscenario -scenario=s1
addscenario -scenario=s2
addscenario -scenario=s3

addseed -scenariolist=[list s1] -count=3

addparameter -name=p1 -valuelist=[list foo bar] -scenariolist=[list s1 s3]


addparameter -name=p2 -valuelist=[list 1 3 4] -scenariolist=[list s2 s3]
addparameter -name=CTE -valuelist=[list {"toto=4" "truc=5" -tata {}}] -
scenariolist=s3

The following shows the results when executing the testcaselist and
scenarioinfo commands.
cer> testcaselist
s1:p1=foo:seed=1608445150
s1:p1=bar:seed=1608445150
s1:p1=foo:seed=2085189979
s1:p1=bar:seed=2085189979

142 Certitude Reference Guide


Commands: addparameter

s1:p1=foo:seed=413401561
s1:p1=bar:seed=413401561
s2:p2=1
s2:p2=3
s2:p2=4
s3:CTE="toto=4" "truc=5" -tata {}:p1=foo:p2=1
s3:CTE="toto=4" "truc=5" -tata {}:p1=foo:p2=3
s3:CTE="toto=4" "truc=5" -tata {}:p1=foo:p2=4
s3:CTE="toto=4" "truc=5" -tata {}:p1=bar:p2=1
s3:CTE="toto=4" "truc=5" -tata {}:p1=bar:p2=3
s3:CTE="toto=4" "truc=5" -tata {}:p1=bar:p2=4

cer> scenarioinfo -scenario=s3


count : 0
randomseeds :
discardedseeds :
specifiedseeds : 0
CTE : "toto=4" "truc=5" -tata {}
p1 : foo bar
p2 : 1 3 4

In Certitude, the execute wrapper creates environment variables using the


exact parameter name. If the user flow uses environment variables,
nothing additional needs to be done in the certitude_execute file. If the
user wants to avoid overwriting environment variables, parameters
should be named accordingly (adding the 'CERTP_' prefix).
Note that environment variables will be created according to the list of

Certitude Reference Guide 143


Commands: addparameter

parameter for a given testcase. From the given example, for the s2:p2=1
testcase, an environment variable p2 will be created, but neither p1 nor
CTE.
The 'addparameter' command is always allowed in query mode.

Usage:
addparameter -scenariolist=<scenario list> -
name=<parameter name> -valueList=<parameter
value>

addparameter -scenariolist=<scenario list> -


name=<parameter name> -valueList=<parameter
value>
addseed -scenariolist=<scenario list> -seedlist=<seed list>

Creates new testcase name with the specified scenario name (-


scenariolist), parameter value (-valueList) and seed values(-
seedlist).

144 Certitude Reference Guide


Commands: addprobefilter

addprobefilter
Filter input and output probes of design modules
HDL languages only. This command supports module-based faults, but
does not support instance-based faults.
This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).

The syntax is:

addprobefilter -probelist=[list work.MyModule1.ThePort1


work.MyModule1.ThePort2 ...] -filteringexpression=<"filter
expression">

where

the -probelist option specifies the probe list to filter. The syntax of a
probe is expressed as the following : work.MyModule.ThePort.
- work is the library.
- MyModule is the module.
- ThePort is the port name.

the -filteringexpression option specifies the expression of the condition


that filters the probe specified. The expression must be related to the
block where the specified probe is located (MyModule in the example).

Usage:
addprobefilter -probelist=<probe list names> -

Certitude Reference Guide 145


Commands: addprobefilter

filteringexpression=<filtering expression>

addprobefilter -probelist=<probe list names>


-filteringexpression=<filtering expression>
Filters the specified condition expression for the specified probe.
This command requires the probe list names and filtering
expression to be specified. Make sure the expression is valid.
Certitude does not check the filtering expression when it is
created; the filtering expression is indirectly checked during the
reparse of the instrumented code.

146 Certitude Reference Guide


Commands: addprobeonsignal

addprobeonsignal
Add probes on the specified design signals
Verilog/SystemVerilog only. This command allows adding probes on
any design signals specified in the certitude_hdl_files.cer file.
The 'addprobeonsignal' command is allowed in query mode during the
model phase.

Usage:
addprobeonsignal -signallist=<signal list names>

addprobeonsignal -signallist=<signal list


names>
Adds probes on the specified design signals.

The syntax is:

addprobeonsignal -signallist=[list <list of signals :


lib_name.module_name.signal_name>]

where the signallist option specifies the list of signals where


probes are added.
The syntax of a signal is expressed as the following:
work.MyModule.TheSignal.
- work is the library.
- MyModule is the module.
- TheSignal is the signal name.

Certitude Reference Guide 147


Commands: addprobeonsignal

This command requires the list of signal names to be specified.

148 Certitude Reference Guide


Commands: addscenario

addscenario
Add a scenario into Certitude
This command is only available in the file containing the list of testcases
(certitude_testcases.cer by default). As the purpose of this command is to
create new testcase names, Certitude internally creates the new generic
testcase names from the scenario names. The addscenario command can
be used alone or be used with the addseed command.
The addtestcase and addscenario commands cannot be used in the same
certitude_testcases.cer file.
Note that spaces are allowed in scenario names.

Suppose that three scenarios, s1, s2 and s3, need to be added, the
following commands must be added to the certitude_testcases.cer file:
addscenario -scenario=s1
addscenario -scenario=s2
addscenario -scenario=s3
When the testcaselist command is run, the following results will be
obtained:
s1
s2
s3

Usage:
addscenario -scenario=<scenario name>

addscenario -scenario=<scenario name>


Declares a scenario name.

Certitude Reference Guide 149


Commands: addseed

addseed
Add a seed into Certitude
This command is only available in the file containing the list of testcases
(certitude_testcases.cer by default). Certitude internally creates the new
testcase names from the scenario names (refer to the addscenario
command for scenario creation) and seed values (the separator is
":seed=").

Suppose that the following needs to be added:


Three seeds values d1, d2, d3 for scenario s1.
Two seeds values d4, d5 for scenario s2.

First, scenarios s1 and s2 should be declared in the certitude_testcases.cer


file:
addscenario -scenario=s1
addscenario -scenario=s2

Then, the following addseed commands must be added:


addseed -scenariolist=s1 -seedlist=[list d1 d2 d3]
addseed -scenariolist=s2 -seedlist=[list d4 d5]

When the testcaselist command is run, the following results will be


obtained:
s1:seed=d1
s1:seed=d2
s1:seed=d3
s2:seed=d4

150 Certitude Reference Guide


Commands: addseed

s2:seed=d5

When the "addseed -scenariolist=" command is executed without the "-


count" or "-seedlist" option , ten seeds are randomly created by default.

Usage:
addseed -scenariolist=<scenario list> [-
seedlist=<seed list>]
addseed -scenariolist=<scenario list> [-
count=<max count seed number>]

addseed -scenariolist=<scenario list> [-


seedlist=<seed list>]
Declares the associated seeds (-seedlist=) of a list of scenarios (-
scenariolist).
addseed -scenariolist=<scenario list> [-
count=<max count seed number>]
Declares the number of randomly generated seeds (-count=) for a
list of scenarios (-scenariolist). The default is 10.

Certitude Reference Guide 151


Commands: addsystemverilog

addsystemverilog
Read SystemVerilog files into Certitude
This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).

Usage:
addsystemverilog -file=<file> [-
library=<library>] [-ignore=<line range>] [-
noparse=<line range>] [-noweakness=<line range>]
[-qualify] [-includepaths=<include path>] [-
probelist=<probe list>] [-
ignoreprobelist=<ignore probe list>] [-
slang=<System Verilog language version>]

addsystemverilog -file=<file> [-
library=<library>] [-ignore=<line range>] [-
noparse=<line range>] [-noweakness=<line
range>] [-qualify] [-includepaths=<include
path>] [-probelist=<probe list>] [-
ignoreprobelist=<ignore probe list>] [-
slang=<System Verilog language version>]
This command requires the file name to be specified.
When the -
option is used, the file is instrumented by Certitude and all the
output ports in the file will be considered as probes.
This command is also used for:
- The specification of a library with the -library= option.
- The specification of HDL lines that must be ignored by
Certitude when faults are injected. For example, when -

152 Certitude Reference Guide


Commands: addsystemverilog

ignore=(25,40..50,80..) is specified, then no faults will be injected


in lines 25, 40 to 50 and 80 and higher.
- The specification of HDL lines that will be discarded by the
parser with the -noparse= option.
- The specification of HDL lines that will be ignored for weakness
computation with the -noweakness= option.
- The specification of include path with the -includepaths= option.
The correct syntax of the includepaths= option is: -
includepaths=[list /first/directory/path /second/directory/path].
- The specification of a SystemVerilog language version (default
is SystemVerilog 2009). The possible values for -slang= are 2005
and 2009.

When the -probelist option is used, only the probes specified in


the list will be considered. If the -ignoreprobelist option is used
with the -qualify option, all the probes in the file will be
considered, except the probes specified in the list. For Verilog, a
probe name is made from a unit name and a port name: <unit
name>.<port name>. A list has the following syntax:
-probelist=[list unit1.port1 unit1.port2].
A unit is a SystemVerilog module.

Certitude Reference Guide 153


Commands: addtestcase

addtestcase
Add a testcase into Certitude
This command is only available inside the file containing the list of
testcases (certitude_testcases.cer by default).

Usage:
addtestcase -testcase=<testcase name> [-
testcasegroup=<testcases group name>]

addtestcase -testcase=<testcase name> [-


testcasegroup=<testcases group name>]
The testcase name is mandatory. Note that spaces are allowed in
testcase names.
A group name can be specified, and can be retrieved using the
testcaseinfo and testcaselist commands. Grouping testcases
influences the detection phase behavior. By default, when a fault
is considered for detection, all testcases that activate the non weak
fault are run with the fault until the fault is detected, starting with
the fastest testcases and ending with the slowest testcases. If a
testcase group is specified, Certitude runs the fastest testcases first
and tries to change the group at each run. The goal is to run as
many different types of testcases as possible on the specified fault
because the probability to detect a fault is higher with a testcase of
a different type rather than one of the same type.

154 Certitude Reference Guide


Commands: addverilog

addverilog
Read Verilog files into Certitude
This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).

Usage:
addverilog -file=<file> [-library=<library>] [-
ignore=<line range>] [-noparse=<line range>] [-
noweakness=<line range>] [-qualify] [-
includepaths=<include path>] [-probelist=<probe
list>] [-ignoreprobelist=<ignore probe list>] [-
slang=<Verilog language version>]

addverilog -file=<file> [-library=<library>]


[-ignore=<line range>] [-noparse=<line
range>] [-noweakness=<line range>] [-
qualify] [-includepaths=<include path>] [-
probelist=<probe list>] [-
ignoreprobelist=<ignore probe list>] [-
slang=<Verilog language version>]
This command requires the file name to be specified.
When the -qualify option is used, the file is instrumented by
Certitude and all the output ports in the file will be considered as
probes.
This command is also used for:
- The specification of a library with the -library= option.
- The specification of HDL lines that must be ignored by
Certitude when faults are injected. For example, when -
ignore=(25,40..50,80..) is specified, then no faults will be injected

Certitude Reference Guide 155


Commands: addverilog

in lines 25, 40 to 50 and 80 and higher.


- The specification of HDL lines that will be discarded by the
parser with the -noparse= option.
- The specification of HDL lines that will be ignored for weakness
computation with the -noweakness= option.
- The specification of include path with the -includepaths= option.
The correct syntax of the includepaths= option is: -
includepath=[list /first/directory/path /second/directory/path].
- The specification of a Verilog language version (default is
verilog2001). The possible values for -slang= are 95 and 2001.

When the -probelist option is used, only the probes specified in


the list will be considered. If the -ignoreprobelist option is used
with the -qualify option, all the probes in the file will be
considered, except the probes specified in the list. For Verilog, a
probe name is made from a unit name and a port name: <unit
name>.<port name>. A list has the following syntax:
-probelist=[list unit1.port1 unit1.port2].
A unit is a Verilog module.

156 Certitude Reference Guide


Commands: addvhdl

addvhdl
Read VHDL files into Certitude

This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).

Usage:
addvhdl -file=<file> -library=<library> [-
ignore=<line range>] [-noparse=<line range>] [-
noweakness=<line range>] [-qualify] [-slang=<Vhdl
language version>] [-probelist=<probe list>] [-
ignoreprobelist=<ignore probe list>]

addvhdl -file=<file> -library=<library> [-


ignore=<line range>] [-noparse=<line range>]
[-noweakness=<line range>] [-qualify] [-
slang=<Vhdl language version>] [-
probelist=<probe list>] [-
ignoreprobelist=<ignore probe list>]
This command requires the file name and the library to be
specified.
When the -qualify option is used, the file is instrumented by
Certitude and all the output ports in the file will be considered as
probes.
This command is also used for:
- The specification of a library with the -library= option.
- The specification of HDL lines that must be ignored by
Certitude when faults are injected. For example, when -
ignore=(25,40..50,80..) is specified, then no faults will be injected
in lines 25, 40 to 50 and 80 and higher.

Certitude Reference Guide 157


Commands: addvhdl

- The specification of HDL lines that will be discarded by the


parser with the -noparse= option.
- The specification of HDL lines that will be ignored for weakness
computation with the -noweakness= option.
- The specification of a VHDL language version (default is
vhdl93). The possible values for -slang= are 87, 93, 2k and 2008.

When the -probelist option is used, only the probes specified in


the list will be considered. If the -excludeprobelist option is used
with the -qualify option, all the probes in the file will be
considered, except the probes specified in the list. For VHDL, a
probe name is made from a library name, a unit name and a port
name: <library name>.<unit name>.<port name>. A list has the
following syntax:
-probelist=[list library1.unit1.port1 library1.unit1.port2].
A unit is a VHDL entity.

158 Certitude Reference Guide


Commands: analyzeverilog

analyzeverilog
Read Verilog/SystemVerilog files into Certitude
This command is only available in the file containing the list of source
files (certitude_hdl_files.cer by default), and accepts a list of files. In
SystemVerilog, the list of files is compiled into the same Compilation
Unit (CU). This command cannot be used with the addverilog or
addsystemverilog commands; it can be used with the addvhdl command.

Usage:
analyzeverilog -filelist=<list of verilog files>
[-f=<list of file list files>] [-FF=<list of file
list files (path prepended)>] [OPTIONS]
| -f=<list of file list files> [-
filelist=<list of verilog files>] [-FF=<list of
file list files (path prepended)>] [OPTIONS]
| -FF=<list of file list files
(path prepended)> [-filelist=<list of verilog
files>] [-f=<list of file list files>] [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

Analyze a list of Verilog/SystemVerilog files with the -filelist


option. For example:
analyzeverilog -filelist=[list vlog/lib2/mCntrl.v vlog/lib1/mAlu.v
vlog/top.v vlog/mRegister.v] -library=work

Certitude Reference Guide 159


Commands: analyzeverilog

Analyzes a file that contains a list of the path names of source


files and compile-time options with the -f option.

Analyzes a file that contains a list of the path names of source


files and compile-time options with the -FF option, where the
path names of source files do not need to be absolute path names.

This command can be used with the following options:


Specify the library name with the -library option.
Specify the included paths with the -includepaths option. The
syntax of the includepaths option is:
-includepaths=[list /first/directory/path /second/directory/path]
Specify the Verilog language version with the -slang option (the
default value is verilog2001). Possible values for the -slang option
are 95 and 2001.
Specify whether to qualify the list of files with the -qualify
option. When the -qualify option is used, all files given in the -
filelist and all files given in the -f/-FF option are qualified. These
files are instrumented by Certitude and all the output ports in the
file will be considered as probes. If -qualify is not specified then
none of files is qualified.
The -sv option is required for SystemVerilog mode. Currently -sv
assumes -slang=2009. If -sv is not specified, then Verilog -
slang=2001 is assumed; unless specified otherwise.
Specify the Verilog library file for searching module definitions
with the -v option.
Specify the directory of a Verilog library for searching module
definitions with the -y option.
The -libext option is used to specify the extension for searching

160 Certitude Reference Guide


Commands: analyzeverilog

source files in a directory of Verilog library. This option should


be used with the -y option.

Certitude Reference Guide 161


Commands: and

and
Perform an AND operation with two lists
This command returns the elements that are present both in the two
specified lists. The two lists can be any list of Certitude elements, such as
a list returned by the faultlist or the testcaselist commands.
The 'and' command is always allowed in query mode.

Usage:
and -list1=<list of IDs> -list2=<list of IDs>

and -list1=<list of IDs> -list2=<list of


IDs>
Two lists must be specified.

162 Certitude Reference Guide


Commands: availablelicenses

availablelicenses
Return the number of available Certitude licenses

Returns the number of available Certitude licenses for the specified


feature, and returns 'unlimited' when the specified feature is not limited
with the current solution setting.
The 'availablelicenses' command is always allowed in query mode.

Usage:
availablelicenses -feature=<feature>

availablelicenses -feature=<feature>
A specific Certitude feature must be specified.

Possible values are:


certitude-base-unlimited-sim: The minimum available simulation
licenses for the specific Certitude session.
certitude-vhdl: The possibility to inject faults in VHDL designs.
certitude-verilog: The possibility to inject faults in Verilog
designs.
certitude-systemverilog: The possibility to inject faults in
SystemVerilog designs.
certitude-c: The possibility to inject faults in C designs.
certitude-connectivity: The possibility to inject connectivity
faults.
certitude-metric: The possibility to run the metric.

Certitude Reference Guide 163


Commands: cermessage

cermessage
Define a Certitude message to be printed in the log file and the terminal
The appearance of the message is defined by the severity level option.
When the -InfoAlwaysDisplayed option is used, the message is printed in
the terminal even if Certitude is in query mode.
The 'cermessage' command is always allowed in query mode.

Usage:
cermessage -text=<message text> -level=<message
level>

cermessage -text=<message text> -


level=<message level>
The message text and severity level of the message must be
specified as this determines the behavior of the created message.
The argument of the -text option must be embraced with curly
brackets { } or double quotes " ".
For example,
cermessage -level=InfoAlwaysDisplayed {-text=this is my
message}
returns the following:
CER-Info : this is my message

In addition,
cermessage -level=Warning "-text=this is my warning"
returns the following:
CER-Warning : this is my warning

164 Certitude Reference Guide


Commands: cermessage

Possible values for -level=:

Error
The message text is displayed in red with the 'CER-Error :' tag.

Warning
The message text is displayed in orange with the 'CER-Warning :'
tag.

Info
The message text is displayed in black with the 'CER-Info :' tag.
The message appears in verbose and in non-verbose mode. The
message appears in query mode except when specific Tcl
commands as 'after' are used through a script.

Verbose
The message text is displayed in black with the 'CER-Info :' tag.
The message appears only in verbose mode.

InfoAlwaysDisplayed
The message text is displayed in black with the 'CER-Info :' tag.
The message always appears: in verbose, non-verbose and query
mode.

Certitude Reference Guide 165


Commands: checkdetection

checkdetection
Check if the specified faults are detected by the specified testcases
This command runs detection for the specified fault-testcase pair(s).
According to currently-processed operations, detections are run
simultaneously using the batch system. The command can quickly verify
if a change of testcase or testbench detects a specific fault. This
command does not rerun activation and does not modify the report or the
results in the database. If the checked testcase change must be considered
in the results saved in the database, the testcase must be reset with the
resettestcase command first, and then the activation and detection phases
must be rerun.
When the testcase passes or fails, the simulation data is compared to the
data stored in the database:
In the activation phase:
- The testcase and the current waveform dumping simulation must pass.
- The list of the faults activated by the testcase during activation
reference and current waveform dumping simulations are compared.
In the detection phase:
- If no faults are enabled, the testcase in activation and the current
waveform dumping simulation must pass.
- Detection and current waveform dumping simulations must have the
same testcase status whether it is pass or fail.
- If no faults are enabled, the signature of the detection reference
simulation and the signature of the current waveform dumping
simulation are compared.
- If a fault is enabled, the propagation information of the detection
simulation and the propagation information of the current waveform
dumping simulation are compared.
The current simulation data and the data stored in the database are
supposed to be identical. If a result differs, an error indicates that an

166 Certitude Reference Guide


Commands: checkdetection

inconsistent simulation status or behavior exists.


The 'checkdetection' command is allowed in query mode during the
detection phase.

Usage:
checkdetection -faulttestcasepairlist=<list of {
fault ID { list of testcase names } }> [-verbose]
checkdetection -testcase=<testcase name>
[EXCLUSIVE OPTIONS]
| -testcaseid=<testcase id>
[EXCLUSIVE OPTIONS]

checkdetection -faulttestcasepairlist=<list
of { fault ID { list of testcase names } }>
[-verbose]
This option runs multiple detections simultaneously for a list of
fault-testcase pairs.
Here are possible syntaxes for those lists:
checkdetection -faulttestcasepairlist=[list [list 8 [list testcase1
testcase2]]]
or
checkdetection {-faulttestcasepairlist={8 {testcase1 testcase2}}}

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-fault=<fault ID> [-verbose] specifies a fault ID and a testcase.

Certitude Reference Guide 167


Commands: checkdetection

The command can be used in verbose mode.

168 Certitude Reference Guide


Commands: clearlock

clearlock
Unlock Certitude database
Unlocks Certitude files.
The 'clearlock' command is not allowed in query mode.

Usage:
clearlock [-noquestion]

clearlock [-noquestion]
The -noquestion option removes the prompt for user
confirmation.

Certitude Reference Guide 169


Commands: computemetric

computemetric
Compute the quality metric for this verification environment
The quality metric can be computed only after the model and the
activation phases have been executed. The computation stops
automatically when a stable result is reached.

If a metric computation is run after a detection has been run, results of all
fault-testcase pairs obtained during the detection are used and those
simulations will not be run again.
The 'computemetric' command is not allowed in query mode.

Usage:
computemetric [-marginoferror=<margin of error>]
[-verbose] [-algorithm=<algorithm>] [-nocompile]
[-noquestion] [-nosanitycheck]

computemetric [-marginoferror=<margin of
error>] [-verbose] [-algorithm=<algorithm>]
[-nocompile] [-noquestion] [-nosanitycheck]
Metric computation can be set in verbose mode (-verbose).
The metric algorithm can be selected (-algorithm=). There are
three values to this option: TestSampling, Detection and
AutoSelect. The default value is AutoSelect. It is the automatic
selection of the algorithm according to the context (it is calculated
mainly on the basis of the number of faults, the number of
testcases, and the activation profile of the verification
environment). TestSampling and Detection are two different
statistical approaches that lead to different performance profiles.
They both give the same results, but in some circumstances the
Detection algorithm is faster. For statistical reasons, a metric

170 Certitude Reference Guide


Commands: computemetric

computation that is started with the TestSampling algorithm can


be stopped and resumed with the Detection algorithm, but a
metric computation started with the Detection algorithm can not
be resumed with the TestSampling algorithm, because it will
make the results invalid.
A margin of error can be set with the marginoferror option. For
example, if a 1.5% maximum margin of error is required, the
correct syntax is:
computemetric -marginoferror=0.015.
The default value of -marginoferror is 0.05.
The compilation step (-nocompile), the confirmation questions
(-noquestion) or the sanitycheck (-nosanitycheck) can be skipped.

Certitude Reference Guide 171


Commands: configinfo

configinfo
Display configuration information
This command displays in the shell the actual value, the default value or
the value used by Certitude of configuration options.
When used without options, configinfo returns the list of all
configuration options along with their current values.
When used with the name of a configuration option, configinfo returns
the current value of the specified configuration option.
When the -defaultvalue is used, the command returns the default value of
the specified configuration option when there is one. Specifying an
option name is mandatory with the -defaultvalue option.
When the -valueusedbycertitude is used, the command returns the value
used by Certitude for the specified configuration option. For example, it
returns the value used by the model phase for options that require a new
model to be effective. Specifying an option name is mandatory with the -
valueusedbymodel option.
When used with the -configfilelist option, this command returns the list
of configuration files that have been loaded for the configuration of
Certitude, in the order of load. The last loaded configuration file is by
default <working_directory>/certitude_config.cer.

configinfo
Returns the current value of all the configuration options.

configinfo -MaxJobsInParallel
Returns the current value of the MaxJobsInParallel configuration option.

configinfo -MaxJobsInParallel -defaultvalue

172 Certitude Reference Guide


Commands: configinfo

Returns the default value of the MaxJobsInParallel configuration option.

configinfo -MaxJobsInParallel -valueusedbycertitude


Returns the value used by the model phase for the MaxJobsInParallel
configuration option.

configinfo -configfilelist
Returns the list of the configuration files that have been loaded.
The 'configinfo' command is always allowed in query mode.

Certitude Reference Guide 173


Commands: configure

configure
Source a Certitude configuration file
This does the same as the Tcl source command but is used specifically
for configuration files. It must only be used to source a certitude
configuration file.
The 'configure' command is not allowed in query mode.

Usage:
configure [-file=<config file name>]

configure [-file=<config file name>]


When used without option, the configure command reloads the
configuration file.

A configuration file name can be specified.

174 Certitude Reference Guide


Commands: dbdump

dbdump
Copy Certitude database
This command creates a compressed copy of the Certitude database for
backup purposes. This copy can then be restored only with the 'dbload'
command.
The 'dbdump' command is allowed in query mode during the activation
phase, the lite model phase, the detection phase, the metric computation
and the regression phase.

Usage:
dbdump -directory=<Directory name> [-noquestion]

dbdump -directory=<Directory name> [-


noquestion]
The -directory= option is for specifying the destination directory
name and/or path. This option is mandatory.
The -noquestion option asks confirmation to the user when
dumping the database in an already existing directory that
contains a database dump. This option is optional.

Certitude Reference Guide 175


Commands: dbload

dbload
Load a previously dumped Certitude DataBase
This command loads a Certitude DataBase when it has been copied with
the command 'dbdump'. It cannot be used with a DataBase copied in any
other way.
The 'dbload' command is not allowed in query mode.

Usage:
dbload -directory=<Directory name>

dbload -directory=<Directory name>


The -directory= option is for specifying the previously dumped
Certitude database directory name and/or path. This option is
mandatory.

176 Certitude Reference Guide


Commands: dbupgrade

dbupgrade
Dump and reload Cetitude DataBase
This command is used when Certitude is upgraded between a version
before 2.4 and version 2.4 or after. It is also used when Certitude is
upgraded between a version before 2.5 and version 2.5 or after. The
present DataBase is first copied in a temporary directory and then loaded
again with the new DataBase formats (which has changed in Certitude
2.4, and changed again in Certitude 2.5).
The 'dbupgrade' command is not allowed in query mode.

Usage:
dbupgrade -conversiontempdirectory=<Directory
name> [-noquestion]

dbupgrade -
conversiontempdirectory=<Directory name>
[-noquestion]
A destination directory must be specified. It will receive the old
database and the translation. The user can erase this directory
when the operation proved completely successfull.
The -noquestion option asks confirmation to the user when
dumping the old database in an already existing directory that
contains a database dump. This option is optional.

Certitude Reference Guide 177


Commands: detect

detect
Perform the fault detection phase
The fault detection phase can only be started after the fault activation
phase is completed. If a testcase fails during the activation phase, the
testcase will not be used during the detection phase.

If the detection phase is run after a metric computation, all results of the
fault-testcase pairs obtained during the metric computation will be used.
The simulations will not be run again.
The 'detect' command is not allowed in query mode.

Usage:
detect [-verbose] [-nocompile] [-nosanitycheck]
detect -compile [-verbose]
detect -faultlist=<list of fault IDs> [-
propertyidlist=<property id list>] [-verbose] [-
nocompile] [-nosanitycheck]
detect -faulttestcasepairlist=<list of { fault ID
{ list of testcase names } }> [-verbose] [-
nocompile] [-nosanitycheck]
detect -instrument [-verbose]
detect -hdlrestore [-verbose]
detect -updateresults [-verbose]
detect -strategy=<strategy> [-faultlist=<list of
fault IDs>] [-nocompile] [-nosanitycheck] [-
verbose]
detect -mustfix [-nocompile] [-nosanitycheck] [-

178 Certitude Reference Guide


Commands: detect

verbose]
detect -faultpropertyidpairlist=<list of { fault
ID { list of property ids } }> [-verbose] [-
nocompile] [-nosanitycheck]

detect [-verbose] [-nocompile] [-


nosanitycheck]
Runs in verbose mode (-verbose) without compiling the design if
it has been compiled for detection before (-nocompile), or without
the sanity check (-nosanitycheck).
detect -compile [-verbose]
Compiles the instrumented source files.
detect -faultlist=<list of fault IDs> [-
propertyidlist=<property id list>] [-
verbose] [-nocompile] [-nosanitycheck]
Runs the detection phase for the specified list of faults. The faults
can be specified with the following syntax:
detect -faultlist=[list 1 2 3] with 1, 2 and 3 being the faults ID
number
detect {-faultlist=1 2 3} with 1, 2 and 3 being the faults ID
number
detect -faultlist=[faultlist command usage] where 'faultlist
command usage' is a fault list specification using the 'faultlist'
command.

Can optionally run the detection with the specified property IDs (-
propertyidlist).
detect -faulttestcasepairlist=<list of {
fault ID { list of testcase names } }> [-

Certitude Reference Guide 179


Commands: detect

verbose] [-nocompile] [-nosanitycheck]


Runs the detection phase for the specified list of fault-testcase
pairs. The pairs can be specified with the following syntax:
detect -faulttestcasepairlist=[list [list 8 [list myTestcase1
myTestcase2]]]
detect {-faulttestcasepairlist={8 {myTestcase1 myTestcase2}}}
detect -instrument [-verbose]
Generates source files instrumented for detection. Verbose mode
is supported (-verbose).
detect -hdlrestore [-verbose]
Restores the original source files obtained after -instrument.
Verbose mode is supported (-verbose).
detect -updateresults [-verbose]
Updates detection results by following setting changes. Verbose
mode is supported (-verbose). This command is used when fault
properties are changed (e.g. with the DisableAsyncResetFaults
configuration option) or propagation properties are changed (e.g.
with the setprobe command). The fault status is updated but no
additional simulation is run.
detect -strategy=<strategy> [-
faultlist=<list of fault IDs>] [-nocompile]
[-nosanitycheck] [-verbose]
Selects a specific detection strategy that can change the list of
faults to be qualified and/or the detection order of these faults. By
default, if no strategy is selected, all the faults are qualified by
following the usual Certitude algorithm: all fault types are
considered, and the faults activated by the fastest set of testcases
are run first.
This can be used without sanity check (-nosanitycheck), without
compilation step (-nocompile) or in verbose mode (-verbose). The

180 Certitude Reference Guide


Commands: detect

strategy can be applied only on a specified list of faults (-


faultlist=). All the faults that have been injected during the model
phase and that are not included in the selected strategy will
remain NotYetQualified. If the selected strategy requires faults
that have not been injected during the model phase, nothing will
happen because the required faults have not been created.
Three strategies are available:

detect -strategy=Connectivity
HDL languages only. The detection is run only on connectivity
faults. This requires that the configuration option FaultSet should
include the value Connectivity, so that the connectivity faults are
injected during the model phase.

detect -strategy=Reset
HDL languages only. The detection is run only on the faults that
have the ConditionTrue type and are marked as asyncreset
(asynchronous reset). This requires that the configuration option
FaultSet should include the value RTL, so that the RTL faults are
injected during the model phase.

detect -strategy=TopDown
HDL languages only. The detection is run on all the faults, both
connectivity and RTL, in a specific order as follows - inout
connectivity faults, output connectivity faults, reset
ConditionTrue faults, control flow faults in synchronous
processes, input connectivity faults, control flow faults in
asynchronous processes and other remaining faults. This requires
that the configuration option FaultSet should include both the
values Connectivity and RTL, so that both the Connectivity and
the RTL faults are injected during the model phase.

Certitude Reference Guide 181


Commands: detect

detect -mustfix [-nocompile] [-


nosanitycheck] [-verbose]
Runs the detection phase for the faults in classes listed in the
MustFixFaultClasses configuration option (must-fix faults,
TopOutputsConnectivity and ResetConditionTrue classes by
default).
detect -faultpropertyidpairlist=<list of {
fault ID { list of property ids } }> [-
verbose] [-nocompile] [-nosanitycheck]
Runs the detection phase for the specified fault-property ID pairs.

182 Certitude Reference Guide


Commands: do

do
Source a file or a set of instructions

Sources any file (script) containing Tcl instructions and Certitude


commands or a set of Tcl instructions and Certitude commands.
The 'do' command is not allowed in query mode.

Usage:
do -file=<file name>
do -tcl=<TCL commands>

do -file=<file name>
Sources the specified file.
do -tcl=<TCL commands>
Sources the specified set of Tcl instructions or Certitude
commands.

Certitude Reference Guide 183


Commands: dumpwaves

dumpwaves
Dump waveforms with or without injecting a fault in the design
HDL languages only. This command dumps waveforms with or without
injecting a fault in the design. The command uses the instrumented code
for activation or detection. According to currently-processed operations,
waveforms are simultaneously dumped using the batch system.
This command can be used on faults in any status.
When the testcase passes or fails, the simulation data is compared to the
data stored in the database:
In the activation phase:
- The testcase and the current waveform dumping simulation must pass.
- The list of the faults activated by the testcase during the activation
reference and current waveform dumping simulations are compared.
In the detection phase:
- If no faults are enabled, the testcase in activation and the current
waveform dumping simulation must pass.
- Detection and current waveform dumping simulations must have the
same testcase status whether it is pass or fail.
- If no faults are enabled, the signature of the detection reference
simulation and the signature of the current waveform dumping
simulation are compared.
- If a fault is enabled, the propagation information of the detection
simulation and the propagation information of the current waveform
dumping simulation are compared.
The current simulation data and the data stored in the database are
supposed to be identical. If a result differs, an error indicates that an
inconsistent simulation status or behavior exists.
The 'dumpwaves' command is allowed in query mode during the
activation phase and the detection phase.

184 Certitude Reference Guide


Commands: dumpwaves

Usage:
dumpwaves -faulttestcasepairlist=<list of { fault
ID { list of testcase names } }> [-verbose] [-
force]
dumpwaves -testcaselist=<testcase names>
[EXCLUSIVE OPTIONS]
| -testcaseidlist=<testcase ids>
[EXCLUSIVE OPTIONS]

dumpwaves -faulttestcasepairlist=<list of {
fault ID { list of testcase names } }> [-
verbose] [-force]
Dumps the waveforms simultaneously for a list of fault-testcase
pairs.
Here are possible syntaxes for those lists:
dumpwaves -faulttestcasepairlist=[list [list 8 [list testcase1
testcase2]]]
or
dumpwaves {-faulttestcasepairlist={8 {testcase1 testcase2}}}

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-fault=<fault ID> [-verbose] [-force] dumps the waveforms


simultaneously for a list of tests and a fault ID. The command can
be used in verbose mode (-verbose) and can be executed even if

Certitude Reference Guide 185


Commands: dumpwaves

the waveform files already exist (-force).

-activation [-verbose] [-force] dumps the waveforms


simultaneously for a list of tests using the instrumented code for
the activation.

-detection [-verbose] [-force] dumps the waveforms


simultaneously for a list of tests using the instrumented code for
the detection.

-noinstrumentation [-verbose] [-force] dumps the waveforms


simultaneously for a list of tests using the not instrumented code
stored in the Certitude database.

186 Certitude Reference Guide


Commands: endquery

endquery
Toggle verbose mode on and off when a qualification is running
The command is available only when in query mode. It exits the query
mode and activates the verbose mode (when -verbose option is used) or
de-activate verbose mode (with no option).
The 'endquery' command is always allowed in query mode.

Usage:
endquery [-verbose]

endquery [-verbose]
When the -verbose option is used, it sets the verbosity on during
for the current phase.

Certitude Reference Guide 187


Commands: except

except
Perform a EXCEPT operation with two lists
This command returns the elements that are both present in one list and
not present in another list. The two lists can be any Certitude elements'
list such as a list returned by the faultlist or the testcaselist commands.
The 'except' command is always allowed in query mode.

Usage:
except -list1=<list of IDs> -list2=<list of IDs>

except -list1=<list of IDs> -list2=<list of


IDs>
Two lists must be specified. The order of the lists is very
important with except command: the returned elements are the
ones that are present in list 1 and not present in list 2.

188 Certitude Reference Guide


Commands: faultdebug

faultdebug
Generate a run script to launch a waveform analysis tool
HDL languages only. This command creates a run script that can be used
for comparing the waveform with the fault and the waveform without the
fault. This command can be used for Non-Detected and Non-Propagated
faults. If the fault is Non-Propagated or if the WaveDump configuration
option is set to false, it is recommended to first use the dumpwaves
command to generate the faulty waveform.
The 'faultdebug' command is allowed in query mode during the
activation phase, the lite model phase, the detection phase, the metric
computation and the regression phase.

Usage:
faultdebug -fault=<fault ID> [-testcase=<testcase
name>]

faultdebug -fault=<fault ID> [-


testcase=<testcase name>]
A fault ID must be specified. If the fault is Non-Propagated or if
the WaveDump configuration option is set to false, a testcase
name must be specified.

Certitude Reference Guide 189


Commands: faultdisable

faultdisable
Exclude faults from the qualification
Excludes faults from the qualification, for iterative use. Faults can be re-
enabled using the faultenable command.
The 'faultdisable' command is allowed in query mode during the
detection phase.

Usage:
faultdisable -faultlist=<faults ID>
faultdisable -all

faultdisable -faultlist=<faults ID>


The faults can be specified with the following syntax:
faultdisable -faultlist=[list 1 2 3] with 1, 2 and 3 being the
faults ID number
faultdisable {-faultlist=1 2 3} with 1, 2 and 3 being the faults
ID number
faultdisable -faultlist=[faultlist command usage] where
'faultlist command usage' is a fault list specification using the
'faultlist' command.
faultdisable -all
Disables all faults.

190 Certitude Reference Guide


Commands: faultenable

faultenable
Re-include disabled faults in the qualification
This makes previously excluded faults included in the qualification
again.
The 'faultenable' command is allowed in query mode during Fault
Detection Phase.

Usage:
faultenable -faultlist=<faults ID>
faultenable -all

faultenable -faultlist=<faults ID>


The faults can be specified with the following syntax:
faultenable -faultlist=[list 1 2 3] with 1, 2 and 3 being the faults
ID number
faultenable {-faultlist=1 2 3} with 1, 2 and 3 being the faults
ID number
faultenable -faultlist=[faultlist command usage] where 'faultlist
command usage' is a fault list specification using the 'faultlist'
command.
faultenable -all
Re-enable all disabled faults

Certitude Reference Guide 191


Commands: faultinfo

faultinfo
Return information about a fault
Return the activation and/or detection information for the specified fault.
The 'faultinfo' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
faultinfo -fault=<fault ID>
faultinfo -fault=<fault ID> [OPTIONS]
faultinfo -fault=<fault ID> [EXCLUSIVE OPTIONS]

faultinfo -fault=<fault ID>


Returns all information for the specified fault.

OPTIONS
Multiple options can be selected for
OPTIONS.

-activatedby returns the testcase names of the testcases that


activated the specified fault.

-asyncreset returns whether the specified fault is considered an


asynchronous reset or not. HDL languages only.

-bitindex returns the index in bus range associated with the

192 Certitude Reference Guide


Commands: faultinfo

bitwise fault.
ex: a[4:5] => fault 1 on the two bits, fault 2 on bit 4 and fault 3 on
bit 5.
This query returns 4 for fault 2 and 5 for fault 3.

-bitinstrumented returns whether the fault is associated with only


one bit of a port. Possible values are: true or false.
ex: a[4:5] => fault 1 on the two bits, fault 2 on bit 4 and fault 3 on
bit 5.
This query returns false for fault 1 and true for faults 2 and 3.

-blockid returns the ID of the block where the specified fault is


located.

-businstrumented returns whether the fault is associated with a


composite port from which other bitwise faults have been created.
Possible values are: true or false.
ex: a[4:5] => fault 1 on the two bits, fault 2 on bit 4 and fault 3 on
bit 5.
This query returns true for fault 1 and false for faults 2 and 3.

-class returns the class of the specified fault.

-detectedby returns the name of the testcase that detected the


fault.

-detectedbypropertyid returns the property ID that detected the


fault.

Certitude Reference Guide 193


Commands: faultinfo

-detectingsimulationtermination returns the type of simulation


termination that caused the fault to be marked as Detected.

-distancetooutput returns the least number of sequential elements


between the specified fault and any primary TopName output.
This value is a number between 0 (there is a combinational path to
a primary output) and 2147483647 (the number of sequential
elements is not known).

-domaintype returns the domain type of the specified fault. HDL


languages only.

-droppedbyfault returns the ID of the fault that caused the


specified fault to be dropped.

-enablestatus returns whether the specified fault is currently


enabled or not.

-equivalent returns whether the specified fault is considered


equivalent or not.

-executedtestcases lists the testcases executed on the specified


fault during the detection phase.

-executedpropertyids lists the property IDs executed on the


specified fault during the detection phase.

-file returns the name of the source file containing the specified

194 Certitude Reference Guide


Commands: faultinfo

fault.

-formalport returns the formal port of the specified connectivity


fault.

-identicalto returns the list of faults found to be identical to the


specified fault by the Optimizer.

-line returns the line number of the specified fault in the specified
source file.

-instrumentedcode returns a description of the change introduced


in the original code.

-onprobe returns the name of the probe on which the specified


fault has been injected. This option can return a value only on
faults of connectivity output type. HDL languages only.

-onreset returns 'ForcedReset' if the fault is a connectivity input


fault that forces the instance in reset state, 'PreventedReset' if the
fault is a connectivity input fault that prevents the reset on a given
instance or 'NegatedReset' if the fault is a connectivity input fault
of type InputPortNegated identified on a reset port.

-onsignalkind returns 'Clock' if the fault is a connectivity input


fault identified on a clock port or 'Reset' if the fault is a
connectivity input fault identified on a reset port.

-onstringmatch returns the string matching the location of the

Certitude Reference Guide 195


Commands: faultinfo

specified fault.

-propertyidsusablefordetection returns the list of property IDs that


can be run during the detection phase for the specified fault.

-signalsubpart returns the sub-part of the signal associated with


the specified fault.

-statementid returns the ID of the statement where the specified


fault is located.

-staticcontext returns the static context that is valid for the


specified fault. This option is applicable for VHDL designs only.
At present the static context corresponds to the counter values of
enclosing for-generate statements.
ex:

LOOP_I: for I in 3 downto 2 generate


LOOP_J: for J in 1 downto 0 generate
inst: ent port map (d => sig, ... );
end generate;
end generate;

Certitude injects the following (StuckAt0, StuckAt1 and Negated)


triplets of faults on 'sig':
faults 1, 2, 3 corresponding to I=3 and J=1
faults 4, 5, 6 corresponding to I=3 and J=0

196 Certitude Reference Guide


Commands: faultinfo

faults 7, 8, 9 corresponding to I=2 and J=1


faults 10, 11, 12 corresponding to I=2 and J=0

Therefore, the following command


faultinfo -fault=1 -staticcontext
will return (I=3)(J=1).

-status returns the activation or detection status of the specified


fault.

-subunitname returns the name of the subunit where the specified


fault is located.

-subunittype returns the type of the subunit where the specified


fault is located.

-syncreset returns whether the specified fault is considered a


synchronous reset or not. HDL languages only.

-type returns the type of the specified fault.

-unitname returns the name of the unit where the specified fault is
located.

-unittype returns the type of the unit where the specified fault is
located.

Certitude Reference Guide 197


Commands: faultinfo

-usablefordetection returns the list of testcases that can be run


during the detection phase for the specified fault.

-userdatakeylist returns the list of existing user data keys for the
specified fault.

-userdetectionreason returns the user reason when the specified


fault is detected.

-weakfor returns the list of testcases for which the fault is Non-
Propagated Weak.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-userdatakey=<key> returns the user data value associated with


the specified key for the specified fault.

-propagatedto -testcase=<testcase name> returns the list of probes


where the specified fault propagated with the specified testcases.
The testcases must be specified. HDL languages only.

-observedat -testcase=<testcase name> [-


propagationtype=<propagation type>] returns the observation
information for the specified fault with the specified testcase: the
list of probes where the fault is observed. One testcase must be
specified. A propagation type different from the propagation type
set with the PropagationType configuration option can be

198 Certitude Reference Guide


Commands: faultinfo

specified. HDL languages only.

Possible values for -propagationtype= are:


Time: The fault has caused a time shift at the specified probe,
whether there has been a change of value or not.
Value: The fault has caused a change of value at the specified
probe, whether there has been a time shift or not.
TimeOnly: The fault has caused a time shift at the specified probe
but no change of value.
ValueOnly: The fault has caused a change of value at the
specified probe but no time shift.
TimeOrValue: The fault has caused a change of value, or a time
shift, or both, at the specified probe.
TimeAndValue: The fault has caused both a change of value and
a time shift at the specified probe.

-propagatedby [-probelist=<probe names>] returns the list of


testcases that propagate the specified fault. The probes where the
fault is propagated can be specified. HDL languages only.

-observedby [-probelist=<probe names>] [-


propagationtype=<propagation type>] returns the observation
information for the specified fault: the list of testcases with which
the fault is observed. A probe list can be specified. A propagation
type different from the propagation type set with the
PropagationType configuration option can be specified. HDL
languages only.

Possible values for -propagationtype= are:

Certitude Reference Guide 199


Commands: faultinfo

Time: The fault has caused a time shift at the specified probe,
whether there has been a change of value or not.
Value: The fault has caused a change of value at the specified
probe, whether there has been a time shift or not.
TimeOnly: The fault has caused a time shift at the specified probe
but no change of value.
ValueOnly: The fault has caused a change of value at the
specified probe but no time shift.
TimeOrValue: The fault has caused a change of value, or a time
shift, or both, at the specified probe.
TimeAndValue: The fault has caused both a change of value and
a time shift at the specified probe.

-propagation [-testcaselist=<list of testcase names>] [-


probelist=<probe names>] returns the propagation information
for the specified fault: the list of testcases that propagated the
fault with the probes where the fault is propagated for each
testcase. If a list of testcases or/and a list of probes is specified,
then the command returns the fault propagation information for
the specified testcases or/and probes. HDL languages only.

-observation [-testcaselist=<list of testcase names>] [-


probelist=<probe names>] [-propagationtype=<propagation
type>] returns the observation information for the specified fault:
the list of testcases that made the fault observed, and the probes
where the fault is observed for each testcase. If a list of testcases
or/and a list of probes is specified, then the command returns the
fault observation information for the specified testcases or/and
probes. A propagation type different from the propagation type
set with the PropagationType configuration option can be
specified. HDL languages only.

200 Certitude Reference Guide


Commands: faultinfo

Possible values for -propagationtype= are:


Time: The fault has caused a time shift at the specified probe,
whether there has been a change of value or not.
Value: The fault has caused a change of value at the specified
probe, whether there has been a time shift or not.
TimeOnly: The fault has caused a time shift at the specified probe
but no change of value.
ValueOnly: The fault has caused a change of value at the
specified probe but no time shift.
TimeOrValue: The fault has caused a change of value, or a time
shift, or both, at the specified probe.
TimeAndValue: The fault has caused both a change of value and
a time shift at the specified probe.

-nochange [-testcaselist=<list of testcase names>] [-


probelist=<probe names>] returns the list of probes where the
fault has not been observed or where the fault did not propagate (a
list of testcases can be specified) and/or the list of testcases that
were unable to make the fault observed or propagated (a list of
probes can be specified). When no list is specified, the option
returns all the testcase - probe combinations that failed to show a
difference from the specified fault. HDL languages only.
This information takes into account the probeenable/disable and
setprobe commands: if these commands are used and no result
updates are done, information concerning the modified probes is
considered unknown and removed from the -nochange list.

Certitude Reference Guide 201


Commands: faultlist

faultlist
Return a list of faults

Returns a list of faults that meets the specified criteria.


The 'faultlist' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
faultlist [-filelist=<list of file names> [-
line=<line number>]] [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

-filelist= (-line=) returns the faults injected in the specified source


files and in the specified lines in these files. The -line option is not
mandatory and can be used only in association with the -filelist
option.

-activatedby= returns the faults activated by the specified


testcases.

-bitinstrumented= returns the faults that are bit instrumented.

-businstrumented= returns the faults that are bus instrumented.

202 Certitude Reference Guide


Commands: faultlist

-bitindex= returns the faults that have the specified bit


instrumented.

-detectedby= returns the faults detected by the specified testcases.

-asyncreset= returns the faults marked as 'asychronous reset


faults' (-asyncreset=true) or the faults not marked as 'asychronous
reset faults' (-asyncreset=false). HDL languages only.

-syncreset= returns the faults marked as 'synchronous reset faults'


(-syncreset=true) or the faults not marked as 'synchronous reset
faults' (-syncreset=false). HDL languages only.

-equivalent= returns the faults marked as 'equivalent faults' (-


equivalent=true) or the faults not marked as 'equivalent faults' (-
equivalent=false).

-distancetooutput= returns the faults that have the specified least


number of sequential elements between the fault and any primary
TopName output. The value is a number between 0 (there is a
combinational path to a primary output) and 2147483647 (when
the number of sequential elements is not known).

-identical= returns the faults marked as 'identical faults' (-


identical=true) or the faults not marked as 'identical faults' (-
identical=false) (i. e. faults that have at least one other fault
identical to it).

Certitude Reference Guide 203


Commands: faultlist

-identicalto= returns the list of faults that are found to be identical


to the specified fault by the Optimizer.

-connectivityoninstancelist= returns the list of connectivity faults


of a module (Verilog) or entity (VHDL) instantiation (i.e. the
connectivity input faults of the instance and the faults that are
directly driven without logic by the output faults of this instance).
This query accepts either an instance name, a subunit name of the
'Instance' type, or a list of instances and/or subunits. When the
instance names contain spaces (i.e. escaped name), the syntax
should be as shown in the following example:
faultlist {-connectivityoninstancelist={work.top:\sm11[1] }
{work.top:\sm11 [1] :ssm2} {work.top:\sm11[1] }}

-status= returns the faults that have the specified status. Possible
status values are Non-Activated, Non-Propagated, Non-Detected,
Detected, Dropped, NotYetQualified, DisabledByUser, and
DisabledByCertitude.

-droppedbyfault= returns the faults that have been dropped


because of the specified fault.

-type= returns the faults that have the specified fault type.

-faultset= returns the faults that belong to the specified fault set.
Possible faultset values are RTL, Connectivity, and the fault
classes.

-onprobe= returns the list of connectivity output faults that are


located exactly on the specified probe (whatever the status of

204 Certitude Reference Guide


Commands: faultlist

those faults). HDL languages only.

-onstringmatch= returns the faults injected in code that matches a


specific character string.

-userdatakey= returns the faults linked to a specified user data


key.

-userdatavalue= returns the faults linked to a specified user data


value.

-statementid= returns the faults located in the statement with the


specified statement ID.

-blockid= returns the faults located in the block with the specified
block ID.

-subunitname= returns the faults located in the subunit with the


specified name.

-unitname= returns the faults located in the unit with the specified
name.

-subunittype= returns the faults located in the subunit of the


specified type. Possible values of subunittype are Always, Block,
CppFunction, Instance, SelectedSignalAssignment,
AlwaysComb, CFunction, Final, Port, Subprogram, AlwaysFf,
ConditionalSignalAssignment, Function, ProcedureCall, Task,
AlwaysLatch, ContinuousAssignment, Initial, Process, and Unit.

Certitude Reference Guide 205


Commands: faultlist

-unittype= returns the faults located in the unit of the specified


type. Possible values of unittype are Architecture, Class, CppFile,
Interface, Package, Primitive, Program, SVConfiguration,
SVPackage, CFile, Configuration, Entity, Module, and
PackageBody.

-domaintype= returns the faults of the specified domain type.


HDL languages only. Domain type can have one of the following
values:
AsyncResetAssign: The faults of AsyncResetAssign type change
the initialization values or cancel the initialization.
AsyncResetCondition: The faults of AsyncResetCondition type
either negate or force to true or false the reset conditions of
clocked processes with asynchronous resets.
SyncResetCondition: The faults of SyncResetCondition type
either negate or force to true or false the reset conditions of
clocked processes with synchronous resets.
SynchronousDead: The faults of SynchronousDead type switch
off the clock.
SynchronousLogic: The faults of SynchronousLogic type change
the behavior in all clocked processes.
NotInDomain: The faults of NotInDomain type change the
behavior of non-synchronous processes.

-observedby= (-probelist=) (-propagationtype=) returns the faults


observed with the specified testcases at the specified probes. The
probelist option is not mandatory and can only be used with the -
propagatedby or the -observedby options of the faultlist
command. A propagation type different from the propagation type
set with the PropagationType configuration option can be

206 Certitude Reference Guide


Commands: faultlist

specified. The -propagationtype option is not mandatory and can


only be used with the -observedat and -observedby commands.
HDL languages only.

Possible values for -propagationtype= are:


Time: The fault has caused a time shift at the specified probe,
whether there has been a change of value or not.
Value: The fault has caused a change of value at the specified
probe, whether there has been a time shift or not.
TimeOnly: The fault has caused a time shift at the specified probe
but no change of value.
ValueOnly: The fault has caused a change of value at the
specified probe but no time shift.
TimeOrValue: The fault has caused a change of value, or a time
shift, or both, at the specified probe.
TimeAndValue: The fault has caused both a change of value and
a time shift at the specified probe.

-propagatedby= (-probelist=) returns the faults propagated by the


specified testcases at the specified probes. The probelist option is
not mandatory and can only be used with the -propagatedby or the
-observedby options of the faultlist command. HDL languages
only.

-observedat= (-testcaselist=) (-propagationtype=) returns the


faults observed at the specified probes with the specified
testcases. The testcaselist option is not mandatory and can only be
used with the -propagatedto or the -observedat options of the
faultlist command. A propagation type different from the
propagation type set with the PropagationType configuration
option can be specified. The -propagationtype option is not

Certitude Reference Guide 207


Commands: faultlist

mandatory and can only be used with the -observedat and -


observedby commands. HDL languages only.

Possible values for -propagationtype= are:


Time: The fault has caused a time shift at the specified probe,
whether there has been a change of value or not.
Value: The fault has caused a change of value at the specified
probe, whether there has been a time shift or not.
TimeOnly: The fault has caused a time shift at the specified probe
but no change of value.
ValueOnly: The fault has caused a change of value at the
specified probe but no time shift.
TimeOrValue: The fault has caused a change of value, or a time
shift, or both, at the specified probe.
TimeAndValue: The fault has caused both a change of value and
a time shift at the specified probe.

-propagatedto= (-testcaselist=) returns the faults that propagate to


the specified probes by the specified testcases. The testcaselist
option is not mandatory and can only be used with the -
propagatedto or the -observedat options of the faultlist command.
HDL languages only.

-formalport= returns the list of connectivity faults injected on a


formal port.

-class= returns the list of faults of the specified class. Possible


values for this option are: ComboLogic, InternalConnectivity,
OtherFaults, SynchronousControlFlow,
SynchronousDeadAssign, SynchronousLogic,

208 Certitude Reference Guide


Commands: faultlist

ComboLogicControlFlow, TopOutputsConnectivity, and


ResetConditionTrue.

-usablefordetection= returns the list of faults activated for the


specified testcases.

-detectingsimulationtermination= returns the list of faults marked


as Detected with the specified simulation termination. This option
only applies to Detected faults. Possible values for this option are:
Normal, SimulatedTimeTimeout, WatchdogTimeout,
CpuTimeTimeout, SimulationTimeTimeout, KillOrder, Crashed,
MaxMemoryUsageExceeded, and MaxInactivityExceeded.

-executedtestcases= returns the faults executed by the specified


testcases.

-onsignalkind=Clock returns connectivity input faults identified


on a clock port.
-onsignalkind=Reset returns connectivity input faults identified
on a reset port.

-onreset=ForcedReset returns connectivity input faults that force


the instance in reset state.
-onreset=PreventedReset returns connectivity input faults that
prevent the reset on a given instance.
-onreset=NegatedReset returns connectivity input faults of the
InputPortNegated type identified on a reset port.

-withidentical returns the identical faults.

Certitude Reference Guide 209


Commands: faultlist

-mustfix= returns the list of faults that must be fixed first (i.e. the
list of faults in classes listed in the configuration option
MustFixFaultClasses: TopOutputsConnectivity and
ResetConditionTrue classes by default).

-userdetectionreason= returns the list of faults detected by the


specified user detection reason.

-signalsubpart= returns the list of faults associated with the


specified sub-part of the signal.

-detectedbypropertyid= returns the faults detected by the


specified property ID.

-executedpropertyids= returns the list of faults executed by the


specified property IDs.

-propertyidsusablefordetection= returns the list of faults activated


by the specified property IDs.

210 Certitude Reference Guide


Commands: faultpropertydisable

faultpropertydisable
Disable fault-property ID pairs that are not used in the detection phase
and the metric computation
When the FormalFlowAssertionBased configuration option is set to true,
this command can be used to disable specific fault-property ID pairs used
in the detection phase and the metric computation.
The 'faultpropertydisable' command is always allowed in query mode.

Usage:
faultpropertydisable -faultlist=<list of fault
IDs> [-propertyidlist=<property ID list>]
faultpropertydisable -
faultpropertyidpairlist=<list of { fault ID {
list of property ids } }>

faultpropertydisable -faultlist=<list of
fault IDs> [-propertyidlist=<property ID
list>]
Disable the specified properties (-propertyidlist) for the given
faults (-faultlist) in the detection phase and the metric
computation.
faultpropertydisable -
faultpropertyidpairlist=<list of { fault ID
{ list of property ids } }>
Disable the specified fault-property ID pairs (-
faultpropertyidpairlist) in the detection phase and the metric
computation.

Certitude Reference Guide 211


Commands: faultpropertyenable

faultpropertyenable
Enable fault-property ID pairs that are not used in the detection phase and
the metric computation
When the FormalFlowAssertionBased configuration option is set to true,
this command can be used to enable specific fault-property ID pairs used
in the detection phase and the metric computation.
The 'faultpropertyenable' command is always allowed in query mode.

Usage:
faultpropertyenable -faultlist=<list of fault
IDs> [-propertyidlist=<property ID list>]
faultpropertyenable -
faultpropertyidpairlist=<list of { fault ID {
list of property ids } }>

faultpropertyenable -faultlist=<list of
fault IDs> [-propertyidlist=<property ID
list>]
Enable the specified properties (-propertyidlist) for the given
faults (-faultlist) in the detection phase and the metric
computation.
faultpropertyenable -
faultpropertyidpairlist=<list of { fault ID
{ list of property ids } }>
Enable the specified fault-property ID pairs (-
faultpropertyidpairlist) in the detection phase and the metric
computation.

212 Certitude Reference Guide


Commands: faulttestdisable

faulttestdisable
Disable a list of faults with a list of testcases

This command disables a list of faults with a list of testcases.


The 'faulttestdisable' command is not allowed in query mode.

Usage:
faulttestdisable -faultlist=<list of fault IDs>
[-testcaselist=<list of testcase names>]

faulttestdisable -faultlist=<list of fault


IDs> [-testcaselist=<list of testcase
names>]
Disables a list of faults with a list of testcases.
This command is persistent: the data is stored in the database.
This command is cumulative: the previous fault/testcase groups
are not overwritten/removed (except if we use '-faultlist=*').
The specified faults (-faultlist, '*' to specify all the faults) are not
qualified during detection with the given testcases (-testcaselist,
all the testcases by default).
The disabled faults with all testcases get "Fault is disabled by
user" status.
The 'faulttestdisable' command can be executed several times to
not qualify (e.g. several units or instances in the same detection).
The list of faults with a list of testcases can be enabled with the
'faulttestenable' command.

Certitude Reference Guide 213


Commands: faulttestenable

faulttestenable
Enable a list of faults with a list of testcases

This command enables a list of faults with a list of testcases.


The 'faulttestenable' command is not allowed in query mode.

Usage:
faulttestenable -faultlist=<list of fault IDs> [-
testcaselist=<list of testcase names>]

faulttestenable -faultlist=<list of fault


IDs> [-testcaselist=<list of testcase
names>]
Enables a list of faults with a list of testcases.
This command is persistent: the data is stored in the database.
This command is cumulative: the previous fault/testcase groups
are not overwritten/removed.
The specified faults (-faultlist, '*' to specify all the faults) are
qualified during detection with the given testcases (-testcaselist,
all the testcases by default).
The 'faulttestenable' command can be executed several times to
qualify (e.g. several units or instances in the same detection).
The list of faults with a list of testcases can be disabled with the
'faulttestdisable' command.
The disabled faults by the 'faultdisable' command cannot be
enabled by the 'faulttestenable' command.

214 Certitude Reference Guide


Commands: fileinfo

fileinfo
Return the information about source files

This command returns the information about any source file listed in the
certitude_hdl_files.cer file.
The 'fileinfo' command is always allowed in query mode.

Usage:
fileinfo -file=<file name>
fileinfo -fileid=<file id>
fileinfo -file=<file name> [EXCLUSIVE OPTIONS]
| -fileid=<file id> [EXCLUSIVE OPTIONS]

fileinfo -file=<file name>


By default, this command returns all available information on the
specified file name.
fileinfo -fileid=<file id>
By default, this command returns all available information on the
specified file id.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-library returns the list of libraries for the specified file.

-qualified returns 'true' if the -qualify option is used for the

Certitude Reference Guide 215


Commands: fileinfo

specified file in the certitude_hdl_files.cer file; returns 'false'


otherwise.

-ignore returns the list of ignored lines in the specified file, as


defined when the -ignore option is used in the
certitude_hdl_files.cer file.

-noparse returns the list of not parsed lines in the specified file, as
defined when the -noparse option is used in the
certitude_hdl_files.cer file.

-noweakness returns the list of ignored lines for weakness


computation in the specified file, as defined when the -
noweakness option is used in the certitude_hdl_files.cer file.

-language returns the language of the specified file.

-included returns whether the specified file is an included file.

-includepaths returns the include paths of the specified file, as


defined when the -includepaths option is used in the
certitude_hdl_files.cer file.

-inclusionlist returns the list of files that are included in the


specified file.

-userdatakeylist returns the list of existing user data keys linked to


the specified file.

216 Certitude Reference Guide


Commands: fileinfo

-userdatakey=<key> returns the user data value associated with


the specified key for the specified file.

-name returns the file name.

Certitude Reference Guide 217


Commands: filelist

filelist
List all source files added into the database

This list includes the files without the -qualify option by default.
The 'filelist' command is always allowed in query mode.

Usage:
filelist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

-idlist returns the list of file ids instead of the list of file names.

-qualified= returns the list of files that are selected for


qualification (-qualified=true) or the list of files that are not
selected for qualification (-qualified=false).

-userdatakey= returns the list of files linked to the specified user


data key.

-userdatavalue= returns the list of files linked to the specified user


data value.

-included= returns the list of files that are included or not.

218 Certitude Reference Guide


Commands: filelist

-nofaultsinjected returns the list of files where no faults have been


injected.

-language= returns the list of files with the specified language.

Certitude Reference Guide 219


Commands: generatesetuptemplates

generatesetuptemplates
Generate setup files containing access rights
This command generates four setup files with the default names
certitude_hdl_files.cer, certitude_testcases.cer, certitude_compile and
certitude_execute. Those are empty files that the user must fill in with the
appropriate content, except for access rights (which are generated as
well). This is for running the model phase without causing Certitude
errors.
The 'generatesetuptemplates' command is always allowed in query mode.

220 Certitude Reference Guide


Commands: getconfig

getconfig
Display configuration information
This command displays in the shell the actual value, the default value or
the value used by Certitude of configuration options.
When used without options, getconfig returns the list of all configuration
options along with their current values.
When used with the name of a configuration option, getconfig returns the
current value of the specified configuration option.
When the -defaultvalue is used, the command returns the default value of
the specified configuration option when there is one. Specifying an
option name is mandatory with the -defaultvalue option.
When the -valueusedbycertitude is used, the command returns the value
used by Certitude for the specified configuration option. For example, it
returns the value used by the model phase for options that require a new
model to be effective. Specifying an option name is mandatory with the -
valueusedbymodel option.
When used with the -configfilelist option, this command returns the list
of configuration files that have been loaded for the configuration of
Certitude, in the order of load. The last loaded configuration file is by
default <working_directory>/certitude_config.cer.

getconfig
Returns the current value of all the configuration options.

getconfig -MaxJobsInParallel
Returns the current value of the MaxJobsInParallel configuration option.

getconfig -MaxJobsInParallel -defaultvalue

Certitude Reference Guide 221


Commands: getconfig

Returns the default value of the MaxJobsInParallel configuration option.

getconfig -MaxJobsInParallel -valueusedbycertitude


Returns the value used by the model phase for the MaxJobsInParallel
configuration option.

getconfig -configfilelist
Returns the list of the configuration files that have been loaded.
The 'getconfig' command is always allowed in query mode.

222 Certitude Reference Guide


Commands: help

help
Display command and configuration option help
Displays the list of all commands and configuration options with a short
description. When the command is used with the name of a command or
a configuration option, it returns detailed explanations for every aspect of
the specified element.
For example:

help
Returns the list of all configuration options followed by the list of all
commands, each with a short description.

help -activate
Returns all documentation of the activate command and of each activate
command options.

help -MaxJobsInParallel
Returns all documentation of the MaxJobsInParallel configuration option
and of each possible values.
The 'help' command is always allowed in query mode.

Certitude Reference Guide 223


Commands: instanceinfo

instanceinfo
Return information about the specified instance
Returns information about the specified instance. <instance> is the path
of the instance in the hierarchy.
The 'instanceinfo' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:
instanceinfo -instancename=<instance>
instanceinfo -instancename=<instance> [EXCLUSIVE
OPTIONS]

instanceinfo -instancename=<instance>
Returns all available information about the specified instance.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-parent returns the name of the parent instance.

-children returns the list of the children instances.

-componentname returns the name of the component. This


corresponds to the name of the instanced entity in VHDL and the
name of the instanced module in Verilog.

224 Certitude Reference Guide


Commands: instanceinfo

-level returns the depth level in the hierarchy tree.

-unitlist returns the list of units corresponding to the component.


There are two units in VHDL (i.e. entity and architecture) and
only one in Verilog (i.e. module).

-simulatorname returns the name of the simulator.

-genericsparameters returns the list of generics in VHDL and


parameters in Verilog.

-elaborationfailed returns the list of instances that failed to be


elaborated.

-elaborationerror returns the list of instances that failed to be


elaborated because of an error.

-subunitname returns the name of the Instance subunit type.

Certitude Reference Guide 225


Commands: jobinfo

jobinfo
Return information about a job

This command returns the available information about the specified job.
The 'jobinfo' command is allowed in query mode during the activation
phase, the lite model phase, the detection phase, the metric computation
and the regression phase.

Usage:
jobinfo -job=<job ID>
jobinfo -job=<job ID> -status
jobinfo -job=<job ID> -simulations

jobinfo -job=<job ID>


Specifies the job ID. This option is mandatory.
jobinfo -job=<job ID> -status
Returns the status of the specified job.
jobinfo -job=<job ID> -simulations
Returns the ID of the simulation(s) controlled by the specified
job.

226 Certitude Reference Guide


Commands: joblist

joblist
Return a list of jobs

This command returns the list of jobs ID for all current and past jobs
from the Certitude database.
The 'joblist' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
joblist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

Returns the list of job IDs that have the specified status.

Possible -status= values are:


Submitted: The job has been submitted but has not been accepted
yet.
Started: The job has been taken into account.
Running: The job is currently running.
Completed: The job has completed.
UnknownInsideBatch: 'JobStatusCommand' CallBack defined
only, the job is not yet submitted to the batch system.
QueuedInsideBatch: 'JobStatusCommand' CallBack defined only,

Certitude Reference Guide 227


Commands: joblist

the job is pending for the batch system.


RunningInsideBatch: 'JobStatusCommand' CallBack defined
only, the job is running in the batch system.
DoneInsideBatch: 'JobStatusCommand' CallBack defined only,
the job has completed for the batch system.
SuspendedInsideBatch: 'JobStatusCommand' CallBack defined
only, the job has been suspended by the batch system.
ErrorInsideBatch: 'JobStatusCommand' CallBack defined only,
the status cannot be defined through the batch system.
In SingleExecution mode (value of the SimulationMode
configuration option), there is one simulation for every job. In
PartiallyPersistent mode, there can be many simulations for every
job. In this case, the status of the job is identical to the status of
the last simulation run with this job, unless specified with a
callback.

228 Certitude Reference Guide


Commands: killjob

killjob
Kill one or more jobs

This command kills the specified list of jobs.


The 'killjob' command is allowed in query mode during the activation
phase, the lite model phase, the detection phase, the metric computation
and the regression phase.

Usage:
killjob -joblist=<jobs list>

killjob -joblist=<jobs list>


The list of job IDs have to be specified.

Certitude Reference Guide 229


Commands: killsimulation

killsimulation
Kill one or more simulations

This command kills the specified list of simulations.


The 'killsimulation' command is allowed in query mode during the
activation phase, the lite model phase, the detection phase, the metric
computation and the regression phase.

Usage:
killsimulation -simulationlist=<simulations
list>

killsimulation -simulationlist=<simulations
list>
The list of simulation IDs must be specified.

230 Certitude Reference Guide


Commands: messagedetails

messagedetails
Provide a description for a tagged Certitude message
Whenever a Certitude message is preceded by a number between
brackets (a 'tag'), an information about the message is available in the
tool documentation. In the case of error messages, this information
provides directions for solving the error situation and resume
qualification. The access key for the message information is its tag. A tag
must be specified in all cases.
For example:

messagedetails -1025
returns the error message that match the 1025 tag with explanations and
suggestions of things to do when the message 1025 happens.
The 'messagedetails' command is always allowed in query mode.

Certitude Reference Guide 231


Commands: metricreport

metricreport
Generate an HTML report with metric results
This report is in a single HTML file and contains only metric results.
Generating a report overwrites the previous one.
The 'metricreport' command is allowed in query mode during the
activation phase, the lite model phase, the detection phase, the metric
computation and the regression phase.

232 Certitude Reference Guide


Commands: metricstatus

metricstatus
Print the quality metric results
This command prints the available metric results: the number of faults,
activated faults, the estimated number of propagated and detected faults,
the global metric, and the three detailed scores with the error margin for
each score.
The 'metricstatus' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:
metricstatus
metricstatus -globalscore
metricstatus -globalscoreerrormargin
metricstatus -activationscore
metricstatus -propagationscore
metricstatus -propagationscoreerrormargin
metricstatus -detectionscore
metricstatus -detectionscoreerrormargin
metricstatus -signoff

metricstatus -globalscore
Returns the global metric score of an instance in percentage.
metricstatus -globalscoreerrormargin
Provides a percentage representing the global metric score margin
of error of an instance.

Certitude Reference Guide 233


Commands: metricstatus

metricstatus -activationscore
Returns the activation score of an instance in percentage.
metricstatus -propagationscore
Returns the propagation score of an instance in percentage.
metricstatus -propagationscoreerrormargin
Provides a percentage representing the propagation score margin
of error of an instance.
metricstatus -detectionscore
Returns the detection score of an instance in percentage.
metricstatus -detectionscoreerrormargin
Provides a percentage representing the detection score margin of
error of an instance.
metricstatus -signoff
Provides the metric results in the design hierarchy, starting from
the instance as top instance. Only display instances selected by
the sign-off algorithm if the corresponding option is set to true.

234 Certitude Reference Guide


Commands: modeinfo

modeinfo
Display information about the used mode
This command displays the preset mode. Each preset mode includes
specific configuration option settings.
The 'modeinfo' command is always allowed in query mode.

Usage:
modeinfo
modeinfo -mode

modeinfo
Displays information about the used mode.
modeinfo -mode
Returns the used mode name.
The SOC mode presets "setconfig -ElaborateFullDesign=false",
"setconfig -FaultSet=Connectivity", "setconfig -
OptimizerDistanceToOutputAnalysis=false", "setconfig -
OptimizerExtendedConesAnalysis=false", "setconfig -
OptimizerOperationsDuringDetection=", "setconfig -
ProbesOnInternalConnections=true" and "setconfig -
SingleInstrumentation=true".
The IP mode presets "setconfig -FaultSet=[list RTL
Connectivity]". This is the default mode.
The RTLSafety mode presets "setconfig -FaultSet=[list
BitStuckAt StuckAtLeft StuckAtRight StuckAtValue]",
"setconfig -InstrumentSignals=*" and "setconfig -
InstanceBasedFaults=true".
The Netlist mode presets "setconfig -FaultSet=[list

Certitude Reference Guide 235


Commands: modeinfo

InputPortConnectionStuckAt0 InputPortConnectionStuckAt1
InputPortConnectionBitStuckAt0
InputPortConnectionBitStuckAt1
OutputPortConnectionStuckAt0 OutputPortConnectionStuckAt1
OutputPortConnectionBitStuckAt0
OutputPortConnectionBitStuckAt1]", "setconfig -
ConnectivityBitInstrumentationSignals=*", "setconfig -
NetlistQualification=true", "setconfig -
ConnectivityInputOnNonQualifiedBlocks=true", "setconfig -
IdentifyLatch=false", "setconfig -
IdentifyClockAndResetPort=false", "setconfig -
ReportPreGenerationInModel=false", "setconfig -
OptimizerExtendedConesAnalysis=false", "setconfig -
OptimizerOperationsDuringDetection=", "setconfig -
ReportFormat=text", and "setconfig -
NativeRuntimeOptimizedStuckAtFaults=true".

236 Certitude Reference Guide


Commands: model

model
Perform the fault model phase

Performs the model phase. Running the model phase automatically resets
the results database, but maintains user data information and
DisableByUser status whenever it is possible.
The 'model' command is not allowed in query mode.

Usage:
model [-verbose] [-noquestion]

model [-verbose] [-noquestion]


Runs the fault model phase in verbose mode (-verbose) and/or
without prompting the user (-noquestion) for confirmation.

Certitude Reference Guide 237


Commands: noqualify

noqualify
Specify files that are not qualified
This command is used to specify Verilog/SystemVerilog source files that
are not instrumented but must be parsed. This command is only available
in the file containing the list of source files (certitude_hdl_files.cer by
default).
This command can be used multiple times for the same file. All specified
options are effective.
This command cannot be used with the addverilog or addsystemverilog
commands.

Usage:
noqualify -verilog -file=<file> [-noparse=<line
range>] [-probelist=<probe list>]
noqualify -verilog -filelist=<list of file names>
[-noparse=<line range>] [-probelist=<probe list>]
noqualify -verilog -f=<list of file list files>
[-FF=<list of file list files (path prepended)>]
[-probelist=<probe list>]
noqualify -verilog -FF=<list of file list files
(path prepended)> [-f=<list of file list files>]
[-probelist=<probe list>]

noqualify -verilog -file=<file> [-


noparse=<line range>] [-probelist=<probe
list>]
Excludes the specified Verilog/SystemVerilog file from
qualification.

238 Certitude Reference Guide


Commands: noqualify

Specify the HDL lines that will be discarded by the parser with
the -noparse option.
When the -probelist option is used, only the probes specified in
the list will be considered.
noqualify -verilog -filelist=<list of file
names> [-noparse=<line range>] [-
probelist=<probe list>]
Excludes the specified list of Verilog/SystemVerilog files from
qualification. Specified options will be applied to all files in the
list.
Specify the HDL lines that will be discarded by the parser with
the -noparse option.
When the -probelist option is used, only the probes specified in
the list will be considered.
noqualify -verilog -f=<list of file list
files> [-FF=<list of file list files (path
prepended)>] [-probelist=<probe list>]
Exclude source files listed inside the specified list of files for
qualification. Compile-time options specified inside the list of
files have no effect.
noqualify -verilog -FF=<list of file list
files (path prepended)> [-f=<list of file
list files>] [-probelist=<probe list>]
Exclude source files listed inside the specified list of files for
qualification, where the path names of source files do not need to
be absolute path names. Compile-time options specified inside the
list of files have no effect.

Certitude Reference Guide 239


Commands: optimize

optimize
Use the Optimizer on demand

When the parameters of the Optimizer are changed during a qualification,


it may change the number of faults that can be considered equivalent. For
example, if a list of input ports are stuck at a value with the configuration
option OptimizerStuckInputs, then the Optimizer can be run with this
command in order to update the list of equivalent faults.
This command is ineffective if the OptimizerAnalysis configuration
option is set to false.
The 'optimize' command is not allowed in query mode.

Usage:
optimize -searchequivalent [-noupdate]
optimize -searchidentical
optimize -analyzefaults

optimize -searchequivalent [-noupdate]


The optimize command can be used to search for the equivalent
faults with the -searchequivalent option. If the -noupdate option is
used, Certitude returns the list of equivalent faults but does not
update the results database.
optimize -searchidentical
The optimize command can be used to search for the identical
faults with the -searchidentical option.
optimize -analyzefaults
This option runs all the operations of the Optimizer, including the
search for equivalent, the search for identical, the processing of
cones of logic and distances to output.

240 Certitude Reference Guide


Commands: or

or
Perform a OR operation with two lists
This command returns the elements that are present in at least one of two
specified lists. The two lists can be any Certitude elements' list such as a
list returned by the faultlist or the testcaselist commands.
The 'or' command is always allowed in query mode.

Usage:
or -list1=<list of IDs> -list2=<list of IDs>

or -list1=<list of IDs> -list2=<list of IDs>


Two lists must be specified.

Certitude Reference Guide 241


Commands: probedisable

probedisable
Disable a probe for fault observation
HDL languages only. Disabling a probe means making it unavailable for
fault observation. It is no longer possible to detect if a fault has caused a
change at this probe and the probe can no longer be set for deciding if the
fault is propagated.
The 'probedisable' command is not allowed in query mode.

Usage:
probedisable -probelist=<probe names>
probedisable -all

probedisable -probelist=<probe names>


The list of probes to be disabled must be specified.
A probe name is made:
- In Verilog, from a unit name and a port name: <unit
name>.<port name>. A unit is a Verilog module.
- In VHDL, from a library name, a unit name and a port name:
<library name>.<unit name>.<port name>. A unit is a VHDL
entity.

Examples of syntax for Verilog:


probedisable -probelist=[list Unit_1.Port_1 Unit_1.Port_3
Unit_5.Port_8 Unit_5.Port_9]
or
probedisable {-probelist= Unit_1.Port_1 Unit_1.Port_3
Unit_5.Port_8 Unit_5.Port_9}

242 Certitude Reference Guide


Commands: probedisable

probedisable -all
Disables all probes.

Certitude Reference Guide 243


Commands: probeenable

probeenable
Enable a probe for fault observation
HDL languages only. This command is used for enabling probes so that a
fault can be observed at the specified probe(s). A probe need to be
enabled before it can be set for propagation with the setprobe command.
By default the TopName output ports are probes, enabled and set for
propagation. By default, considering any other output port as probes with
the addvhdl, addverilog and addsystemverilog command options does not
enable those probes: they must be enabled after model phase has been
run.
The 'probeenable' command is not allowed in query mode.

Usage:
probeenable -probelist=<probe names>
probeenable -all

probeenable -probelist=<probe names>


The list of probes to be enabled must be specified.
A probe name is made:
- In Verilog, from a unit name and a port name: <unit
name>.<port name>. A unit is a Verilog module.
- In VHDL, from a library name, a unit name and a port name:
<library name>.<unit name>.<port name>. A unit is a VHDL
entity.

Examples of syntax for Verilog:


probeenable -probelist=[list Unit_1.Port_1 Unit_1.Port_3
Unit_5.Port_8 Unit_5.Port_9]

244 Certitude Reference Guide


Commands: probeenable

or
probeenable {-probelist= Unit_1.Port_1 Unit_1.Port_3
Unit_5.Port_8 Unit_5.Port_9}
probeenable -all
Enables all probes.

Certitude Reference Guide 245


Commands: probeinfo

probeinfo
Return information about a probe
HDL languages only. Information can be accessed for any probe
identified by Certitude, whether it is enabled or not. A probe can be any
output port of the design.
The 'probeinfo' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
probeinfo -probe=<probe name>
probeinfo -probe=<probe name> [EXCLUSIVE OPTIONS]

probeinfo -probe=<probe name>


The name of the probe must be specified. A probe name is made:
- In Verilog, from a unit name and a port name: <unit
name>.<port name>. A unit is a Verilog module.
- In VHDL, from a library name, a unit name and a port name:
<library name>.<unit name>.<port name>. A unit is a VHDL
entity.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-direction returns the direction of a probe: in | out | inout | buffer |


linkage

246 Certitude Reference Guide


Commands: probeinfo

-userdatakeylist returns the list of existing user data keys linked to


the specified probe.

-userdatakey=<key> returns the value of the user data linked to


the specified probe and user data key.

-unitname returns the name of the unit where the specified probe
is located.

-subunitname returns the name of the subunit where the specified


probe is located.

-enabledforobservation returns whether the probe is enabled for


observation or not.

-setforpropagation returns whether the probe is set for


propagation or not.

Certitude Reference Guide 247


Commands: probelist

probelist
Return a list of probes

Returns the list of probes that meet the specified criteria. If no option is
used with this command, all identified probes are printed, whether they
are enabled or not, or whether they are set or not. HDL languages only.
The 'probelist' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
probelist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

Returns a list of probes that meet the following criteria:

-direction= returns the list of probes with the specified direction


(i.e. in, out, inout, buffer, or linkage).

-enabledforobservation=true/false returns the probes that are


enabled for observation (true) or not enabled for observation
(false).

-setforpropagation=true/false returns the probes that are set for

248 Certitude Reference Guide


Commands: probelist

propagation (true) or not set for propagation (false).

-subunitname= returns the probes located in the subunit with the


specified name. This name can be obtained from the probeinfo
command.

-unitname= returns the probes located in the unit with the


specified name. This name can be obtained from the probeinfo
command.

-userdatakey= returns the list of probes linked to the specified


user data key.

-userdatavalue= returns the list of probes linked to the specified


user data value.

-name= returns the list of probes that have the specified name.
Regular expressions are allowed.

Certitude Reference Guide 249


Commands: propertydisable

propertydisable
Disable properties for the detection phase and the metric computation
When the FormalFlowAssertionBased configuration option is set to true,
Certitude uses testcases even if some of the properties did not pass. This
command disables the properties that did not pass, so that Certitude will
not use them during the detection phase and the metric computation.
The 'propertydisable' command is always allowed in query mode.

Usage:
propertydisable -propertyidlist=<property ID
list>
propertydisable -all

propertydisable -propertyidlist=<property ID
list>
Disable properties by the specified property IDs.
propertydisable -all
Disable all properties collected in the activation phase or the
regression phase.

250 Certitude Reference Guide


Commands: propertyenable

propertyenable
Enable properties for the detection phase and the metric computation
When the FormalFlowAssertionBased configuration option is set to true,
Certitude will not use the properties with the 'enable' field as false. This
command enables the properties. Furthermore, properties with the
'activationstatus' field as 'Passed' will be used for the detection phase and
the metric computation.
The 'propertyenable' command is always allowed in query mode.

Usage:
propertyenable -propertyidlist=<property ID list>
propertyenable -all

propertyenable -propertyidlist=<property ID
list>
Enable properties by the specified property IDs.
propertyenable -all
Enable all properties collected in the activation phase or the
regression phase.

Certitude Reference Guide 251


Commands: propertyinfo

propertyinfo
Return information about a property
Returns the available information about the specified property.
The 'propertyinfo' command is always allowed in query mode.

Usage:
propertyinfo -propertyid=<property ID> [-name] [-
testcasename] [-type] [-enable] [-
activationstatus] [-regressionstatus] [-runtime]
[-activatedfaults]
propertyinfo -propertyname=<property name> -
testcase=<testcase name> [-id] [-type] [-enable]
[-activationstatus] [-regressionstatus] [-
runtime] [-activatedfaults]

propertyinfo -propertyid=<property ID> [-


name] [-testcasename] [-type] [-enable] [-
activationstatus] [-regressionstatus] [-
runtime] [-activatedfaults]
-propertyid= specifies the property ID. This option is mandatory.

-name returns the property instance name.

-testcasename returns the name of the testcase defines the


specified property.

-type returns the property type of the specified property.

252 Certitude Reference Guide


Commands: propertyinfo

-enable returns the enable status of the specified property.

-activationstatus returns the proof result of the specified property


during the activation phase.

-regressionstatus returns the proof result of the specified property


from the regression command.

-runtime returns the time required to verify the specified property


during the activation phase.

-activatedfaults returns the faults that are in the cone of influence


of the specified property.

propertyinfo -propertyname=<property name> -


testcase=<testcase name> [-id] [-type] [-
enable] [-activationstatus] [-
regressionstatus] [-runtime] [-
activatedfaults]
-propertyname= specifies the property instance name. This option
is mandatory.

-testcase= specifies the name of the testcase. This option is


mandatory.

-id returns the property ID of the specified property.

Certitude Reference Guide 253


Commands: propertyinfo

-type returns the property type of the specified property.

-enable returns the enable status of the specified property.

-activationstatus returns the proof result of the specified property


during the activation phase.

-regressionstatus returns the proof result of the specified property


from the regression command.

-runtime returns the time required to verify the specified property


during the activation phase.

-activatedfaults returns the faults that are in the cone of influence


of the specified property.

254 Certitude Reference Guide


Commands: propertylist

propertylist
Return a list of property IDs
Returns the list of property IDs that meet the specified criteria. If no
option is used with this command, all property IDs are printed.
The 'propertylist' command is always allowed in query mode.

Usage:
propertylist
propertylist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

Returns a list of property IDs that meets the following criteria:

-type= returns the list of property IDs with the specified property
type (assertion | assumption | cover).

-testcase= returns the list of property IDs defined in the specified


testcases.

-activationstatus= returns the list of property IDs with the


specified proof result (Passed | Failed | Explored | Error |
Unknown | NotRun) during the activation phase.

Certitude Reference Guide 255


Commands: propertylist

-regressionstatus= returns the list of property IDs with the


specified proof result (Passed | Failed | Explored | Error |
Unknown | NotRun) during the regression command.

-propertynamelist= returns the list of property IDs with the


specified property names. Property names can be specified with
wildcard characters.
Example:
propertylist -propertynamelist=[list
the_hierarchical_path.ap_assert_*
the_hierarchical_path.ap_nevert_E?]

256 Certitude Reference Guide


Commands: qualify

qualify
Specify files to be qualified
This command specifies how Verilog/SystemVerilog source files are
instrumented. It is only available in the file containing the list of source
files (certitude_hdl_files.cer by default).
The qualify command does not affect files found through the
analyzeverilog -v/-y options as these files are never qualified.
This command can be used multiple times to specify different options for
the same file. All specified options are effective. If a conflict exists,
options specified last have priority over preceding options.
Each qualify command affects all analyzeverilog commands specified
and the relative order is irrelevant.
This command cannot be used with the addverilog or addsystemverilog
commands.

Usage:
qualify -file=<file> -verilog [-ignore=<line
range>] [-noparse=<line range>] [-
noweakness=<line range>] [-
ignoreprobelist=<ignore probe list>] [-FF=<list
of file list files (path prepended)>] [-f=<list
of file list files>]
qualify -filelist=<list of file names> -verilog
[-ignore=<line range>] [-noparse=<line range>] [-
noweakness=<line range>] [-
ignoreprobelist=<ignore probe list>]
qualify -dir=<list of directory names> -verilog
[-ignore=<line range>] [-noparse=<line range>] [-
noweakness=<line range>] [-
ignoreprobelist=<ignore probe list>]

Certitude Reference Guide 257


Commands: qualify

qualify -verilog -f=<list of file list files> [-


FF=<list of file list files (path prepended)>] [-
ignoreprobelist=<ignore probe list>]
qualify -verilog -FF=<list of file list files
(path prepended)> [-f=<list of file list files>]
[-ignoreprobelist=<ignore probe list>]
qualify -verilog -unitlist=<unit list> [-
ignoreprobelist=<ignore probe list>]

qualify -file=<file> -verilog [-ignore=<line


range>] [-noparse=<line range>] [-
noweakness=<line range>] [-
ignoreprobelist=<ignore probe list>] [-
FF=<list of file list files (path
prepended)>] [-f=<list of file list files>]
Qualifies the specified Verilog/SystemVerilog file.
Specify the HDL lines that must be ignored by Certitude when
faults are injected with the -ignore option.
Specify the HDL lines that will be discarded by the parser with
the -noparse option.
Specify the HDL lines that will be ignored for weakness
computation with the -noweakness option.
If the -ignoreprobelist option is used, all the probes in the file will
be considered, except the probes specified in the list.
qualify -filelist=<list of file names> -
verilog [-ignore=<line range>] [-
noparse=<line range>] [-noweakness=<line
range>] [-ignoreprobelist=<ignore probe
list>]
Qualifies the specified list of Verilog/SystemVerilog files.

258 Certitude Reference Guide


Commands: qualify

Specified options will be applied to all files in the list.


Specify the HDL lines that must be ignored by Certitude when
faults are injected with the -ignore option.
Specify the HDL lines that will be discarded by the parser with
the -noparse option.
Specify the HDL lines that will be ignored for weakness
computation with the -noweakness option.
If the -ignoreprobelist option is used, all the probes in the file will
be considered, except the probes specified in the list.
qualify -dir=<list of directory names> -
verilog [-ignore=<line range>] [-
noparse=<line range>] [-noweakness=<line
range>] [-ignoreprobelist=<ignore probe
list>]
Qualifies all Verilog/SystemVerilog files in the specified
directory. Specified options will be applied to all files in the
directory.
Specify the HDL lines that must be ignored by Certitude when
faults are injected with the -ignore option.
Specify the HDL lines that will be discarded by the parser with
the -noparse option.
Specify the HDL lines that will be ignored for weakness
computation with the -noweakness option.
If the -ignoreprobelist option is used, all the probes in the file will
be considered, except the probes specified in the list.
qualify -verilog -f=<list of file list
files> [-FF=<list of file list files (path
prepended)>] [-ignoreprobelist=<ignore probe
list>]
Qualifies source files listed inside the specified list of files.

Certitude Reference Guide 259


Commands: qualify

Compile-time options specified inside file list files have no effect.


qualify -verilog -FF=<list of file list
files (path prepended)> [-f=<list of file
list files>] [-ignoreprobelist=<ignore probe
list>]
Qualifies source files listed inside the specified list of files, where
the path names of source files do not need to be absolute path
names. Compile-time options specified inside the list of files have
no effect.
qualify -verilog -unitlist=<unit list> [-
ignoreprobelist=<ignore probe list>]
Qualifies the specified list of units. The syntax of the unit list is:
library.module
For example, the following command will qualify the work.top
unit.
qualify -verilog -unitlist=[list work.top]

Wildcards are supported for the name of units, with '?' to match
any character one time and '*' to match any character multiple
times. For example, the following command will qualify
work.top, tech_lib.mCntrl, and all units matching 'tech_lib.mA*'.
qualify -verilog -unitlist=[list work.top tech_lib.mCntrl
tech_lib.mA*]

If the -ignoreprobelist option is used, all the probes in the file will
be considered, except the probes specified in the list.

260 Certitude Reference Guide


Commands: referencesimulations

referencesimulations
Run reference simulations on detection instrumented code

HDL languages only.


This is a debug command that is used:
- when the reference simulations have been lost and must be recreated,
- when the detection instrumented code have produced errors, have been
modified and must be checked with the full regression without fault.
This command is similar to a command testscript -detection=pass used
with all the testcases.
During the detection phase, when a testcase is used for the first time in
the run, Certitude runs the testcase without fault in order to collect
reference simulation information. That is what is called the reference
simulation.
The 'referencesimulations' command is not allowed in query mode.

Usage:
referencesimulations [-verbose] [-nocompile]
referencesimulations -testcaselist=<testcases
list> [-verbose] [-nocompile]
referencesimulations -compile [-verbose]

referencesimulations [-verbose] [-nocompile]


Runs the reference simulations in verbose mode (-verbose) or
skipping the compilation step (-nocompile).
referencesimulations -
testcaselist=<testcases list> [-verbose] [-
nocompile]

Certitude Reference Guide 261


Commands: referencesimulations

Runs the reference simulations for the specified testcases, in


verbose mode (-verbose) or skipping the compilation step (-
nocompile).
referencesimulations -compile [-verbose]
Compiles the instrumented HDL files, possibly in verbose mode.

262 Certitude Reference Guide


Commands: regression

regression
Run testcases on non instrumented code
This command is used in order to run a normal regression (on non
instrumented design code) with Certitude. It can be used at any moment
during the qualification, including before the model phase. When no
testcase list is specified, this command runs all the testcases included in
the certitude_testcases.cer file with the addtestcase command.
This command can be used with the traditional (non Certitude)
compilation and execution scripts. For this, two configuration options
must be set: RegressionCompileScript and RegressionExecuteScript.
The 'regression' command is not allowed in query mode.

Usage:
regression [-propertyidlist=<property id list>]
[-verbose] [-nocompile]
regression -testcaselist=<testcases list> [-
verbose] [-nocompile]
regression -compile [-verbose]

regression [-propertyidlist=<property id
list>] [-verbose] [-nocompile]
Runs the regression for the specified property IDs, in verbose
mode and without prompting for user confirmation.
regression -testcaselist=<testcases list> [-
verbose] [-nocompile]
Runs the regression for the specified testcases, in verbose mode
and without prompting for user confirmation.
regression -compile [-verbose]

Certitude Reference Guide 263


Commands: regression

Compiles the non instrumented source files.

264 Certitude Reference Guide


Commands: repeatsimulation

repeatsimulation
Run the same simulation for a number of times
This command checks the stability of the qualification. A simulation,
with a random testcase or with a specified testcase, is run for a specified
number of times. When the testcase passes or fails, each simulation is
compared to the others and to the data stored in the database:
- When running on activation code, the list of faults activated by the
testcase is compared.
- When running on detection code, either the signature (if no faults are
enabled through -fault=) or the propagation information (if a fault is
enabled through -fault=) is compared - HDL languages only.
If the list of the activated faults or the propagation information is not the
same for all the simulations with the testcase passing or failing, then a
message indicates that there is an unstability that can make qualification
results unreliable.
The command also returns the number of simulations that return a fail
result, and the number of simulations that return an error.
The 'repeatsimulation' command is not allowed in query mode.

Usage:
repeatsimulation -activation -count=<number of
times to run the simulation> [-testcase=<testcase
name>] [-verbose] [-nocompile]
repeatsimulation -detection -count=<number of
times to run the simulation> [-testcase=<testcase
name>] [-fault=<fault ID>] [-verbose] [-
nocompile]
repeatsimulation -noinstrumentation -
count=<number of times to run the simulation> [-

Certitude Reference Guide 265


Commands: repeatsimulation

testcase=<testcase name>] [-verbose] [-nocompile]

repeatsimulation -activation -count=<number


of times to run the simulation> [-
testcase=<testcase name>] [-verbose] [-
nocompile]
The simulations are run on activation instrumented code,
optionally with the specified testcase (-testcase=), in verbose
mode (-verbose), and without prompting for confirmation (-
noquestion).
repeatsimulation -detection -count=<number
of times to run the simulation> [-
testcase=<testcase name>] [-fault=<fault
ID>] [-verbose] [-nocompile]
The simulations are run on detection instrumented code,
optionally with the specified testcase (-testcase=), with the
specified fault (-fault=), in verbose mode (-verbose), or without
prompting for confirmation (-noquestion).
repeatsimulation -noinstrumentation -
count=<number of times to run the
simulation> [-testcase=<testcase name>] [-
verbose] [-nocompile]
The simulations are run on not instrumented (original) code,
optionally with the specified testcase (-testcase=), in verbose
mode (-verbose), and without prompting for confirmation (-
noquestion).

266 Certitude Reference Guide


Commands: report

report
Generates an HTML report or a text report according to the value of the
ReportFormat configuration option
Generates a report overwrites the previous one.
The 'report' command is allowed in query mode during the activation
phase, the detection phase, the metric computation and the regression
phase.

Usage:
report [-dir=<directory>] [-verbose] [-nosource]
[-faultlist=<faults ID>] [-sameconfig] [-
forcemodeldata]

report [-dir=<directory>] [-verbose] [-


nosource] [-faultlist=<faults ID>] [-
sameconfig] [-forcemodeldata]
-dir= generates the HTML report in the specified directory.
-verbose generates the HTML report in verbose mode.
-nosource generates the HTML report without any visible source
code.
-faultlist= generates the HTML report for a specified list of faults.
In this case, the 'regenerate' buttons in the report viewer interface
updates the information only for the specified list of faults.
-sameconfig tries to use the previous report configuration and
generates the HTML report.
-forcemodeldata forces to generate the report data that are model
dependant.

Certitude Reference Guide 267


Commands: reset

reset
Reset Certitude database
Resets Certitude database. All results are reset except information that
point to previously Non-Detected faults: the detection will be run on
previously Non-Detected faults first.
The 'reset' command is not allowed in query mode.

Usage:
reset -model [-noquestion]
reset -activation [-noquestion]
reset -detection [-noquestion]
reset -metric [-noquestion]

reset -model [-noquestion]


Resets Certitude database for all three phases, without prompting
the user (-noquestion) for confirmation. This reset does not affect
the DisableByUser status of faults and the user data linked to any
object (fault, testcase,...).
reset -activation [-noquestion]
Resets Certitude database for activation and detection phase,
without prompting the user for confirmation if -noquestion option
is used.
reset -detection [-noquestion]
Resets Certitude database for detection phase, without prompting
the user for confirmation if -noquestion option is used.
reset -metric [-noquestion]
Resets Certitude database for metric results, without prompting

268 Certitude Reference Guide


Commands: reset

the user for confirmation if -noquestion option is used.

Certitude Reference Guide 269


Commands: resetconfig

resetconfig
Reset the configuration option to default value
This command is used for resetting the specified configuration option to
the default value. A configuration option must be specified with this
command. Default values of every configuration option can be found in
the configuration options documentation.
For example:

resetconfig -MaxJobsInParallel
Sets the MaxJobsInParallel configuration option to 1, which is the default
value for this option.
The 'resetconfig' command is always allowed in query mode.

270 Certitude Reference Guide


Commands: resetfault

resetfault
Reset the detection results for a list of faults
The detection results for the specified list of faults are reset, which means
that those faults will receive the status: NotYetQualified.
The 'resetfault' command is not allowed in query mode.

Usage:
resetfault -faultlist=<faults list>

resetfault -faultlist=<faults list>


The faults can be specified with the following syntax:
resetfault -faultlist=[list 1 2 3] with 1, 2 and 3 being the faults
ID number
resetfault {-faultlist=1 2 3} with 1, 2 and 3 being the faults ID
number
resetfault -faultlist=[faultlist command usage] where 'faultlist
command usage' is a fault list specification using the 'faultlist'
command.

Certitude Reference Guide 271


Commands: resetfaultpropertyidpair

resetfaultpropertyidpair
Reset the detection results for the specified list of fault-property ID pairs
When the FormalFlowAssertionBased configuration option is set to true,
this command can be used to reset the detection results for the specified
list of fault-property ID pairs.
The 'resetfaultpropertyidpair' command is always allowed in query mode.

Usage:
resetfaultpropertyidpair -faultlist=<list of
fault IDs> [-propertyidlist=<property ID list>]
resetfaultpropertyidpair -
faultpropertyidpairlist=<list of { fault ID {
list of property ids } }>

resetfaultpropertyidpair -faultlist=<list of
fault IDs> [-propertyidlist=<property ID
list>]
Resets the detection results of the specified properties (-
propertyidlist) for the given faults (-faultlist).
resetfaultpropertyidpair -
faultpropertyidpairlist=<list of { fault ID
{ list of property ids } }>
Resets the detection results for the specified list of fault-property
ID pairs. Possible syntaxes for the lists are as follows:
1) resetfaultpropertyidpair - faultpropertyidpairlist=[list [list 8
[list property_id1 propertyid_2]]]
2) resetfaultpropertyidpair {-faultpropertyidpairlist={8 {
property_id1 propertyid_2}}}

272 Certitude Reference Guide


Commands: resetfaulttestcasepair

resetfaulttestcasepair
Reset the detection results for a list of fault-testcase pairs
The detection results for the specified list of fault-testcase pairs are reset.
This can change the fault status in several possible ways.
The 'resetfaulttestcasepair' command is not allowed in query mode.

Usage:
resetfaulttestcasepair -
faulttestcasepairlist=<list of { fault ID { list
of testcase names } }>
resetfaulttestcasepair -simulationlist=<list of
simulations>

resetfaulttestcasepair -
faulttestcasepairlist=<list of { fault ID {
list of testcase names } }>
A list of the fault-testcase pairs can be specified. Here are
possible syntax for those lists:
resetfaulttestcasepair -faulttestcasepairlist=[list [list 8 [list
testcase1 testcase2]]]
or
resetfaulttestcasepair {-faulttestcasepairlist={8 {testcase1
testcase2}}}
resetfaulttestcasepair -
simulationlist=<list of simulations>
A list of the fault-testcase pairs can be specified. The parameters
of the simulationlist command can be used.
Examples:

Certitude Reference Guide 273


Commands: resetfaulttestcasepair

resetfaulttestcasepair -simulationlist=[list 1324 1325 1326]


or
resetfaulttestcasepair -simulationlist=[simulationlist -
lastsuspicious]

274 Certitude Reference Guide


Commands: resetproperty

resetproperty
Reset data for the specified property
When the FormalFlowAssertionBased configuration option is set to true,
this command can be used to reset data for these specified properties. To
retrieve the properties that have been reset, execute the 'activation -
skipknownproperties' command.
The 'resetproperty' command is always allowed in query mode.

Usage:
resetproperty -propertyidlist=<property ID list>

resetproperty -propertyidlist=<property ID
list>
Resets the specified list of properties. Legal syntaxes are:
1) resetproperty - propertyidlist=[list property_id1 property_id2]
2) resetproperty {-propertyidlist=property_id1 propertyid_2}

Certitude Reference Guide 275


Commands: resettestcase

resettestcase
Reset data for the specified testcase

Resets data for the specified testcase (this command is used when the
testcase has changed). This data is not actually reset until the next fault
activation analysis. The effect is to mark this testcase as having to be
rerun for activation.
The 'resettestcase' command is not allowed in query mode.

Usage:
resettestcase -testcaselist=<testcases list>

resettestcase -testcaselist=<testcases list>


Resets the specified list of testcases. Legal syntaxes are:
1) resettestcase -testcaselist=[list testcase1 testcase2]
2) resettestcase {-testcaselist=testcase1 testcase2}

276 Certitude Reference Guide


Commands: resultsmerge

resultsmerge
Merge results of several databases
Merges qualification results of the specified Certitude databases and
stores the merged view into a Certitude database. The resulting database
can be queried and used to generate a report. The merged database cannot
be used to start or resume a qualification. After merging, Certitude
modifies the value of the -DataBaseDirectory configuration option to
point to the resulting database.

This command can be launched from an empty directory that does not
contain any Certitude databases.

The merging operation is internally divided into phases, each phase being
the merge of two databases: the result of the previous merging phase (or
the first database of the -dblist list) and the next database from the -dblist
list.

Databases to be merged cannot be empty; they must contain at least the


results of the model phase. They can be both regular and dumped (using
dbdump) databases.
The 'resultsmerge' command is not allowed in query mode.

Usage:
resultsmerge -dblist=<Directory name> [-
mergetodb=<Directory name>] [-verbose] [-
noquestion]

resultsmerge -dblist=<Directory name> [-


mergetodb=<Directory name>] [-verbose] [-

Certitude Reference Guide 277


Commands: resultsmerge

noquestion]
-dblist=<list of DB> specifies a list of directory names. Each
name points to an existing Certitude database or Certitude
database dump. The list can contain the database currently used
by Certitude. The first specified database appears first in the
hierarchy view of Certitude report. When the resultsmerge
command is used in the context of SoC or sub-system with
different blocks in different hierarchy levels, it is recommended to
specify the highest hierarchy level as the first in the list of
databases.

-mergeto=<mergedDB> specifies the directory name where the


merged Certitude database will be created. The default is
"certitudeDB". The merged directory name is optional.

-noquestion does not ask about destination overwriting.

-verbose prints major steps of the merging.

278 Certitude Reference Guide


Commands: retrysimulation

retrysimulation
Rerun one or more simulations
The specified simulations are run again and they receive a new
simulation ID. If the simulation fails, Certitude tries to restart it a number
of times specified in the 'ExecutionMaxAttempt' configuration option.
The result of a retried simulation is NOT included in Certitude results
DataBase.
The 'retrysimulation' command is not allowed in query mode.

Usage:
retrysimulation -simulationlist=<simulations
list> [-verbose]

retrysimulation -
simulationlist=<simulations list> [-verbose]
The -simulationlist= option is mandatory, for specifying the list of
ID of the simulations that must be rerun. The verbose mode can
be set on with the -verbose option.

Certitude Reference Guide 279


Commands: saveconfig

saveconfig
Save the configuration options that have been modified
Save the configuration options that have been modified by the setconfig
command, where the setconfig command was specified in the
certitude_config.cer file or on the Certitude shell.
The 'saveconfig' command is always allowed in query mode.

Usage:
saveconfig [-file=<config file name>]

saveconfig [-file=<config file name>]


A new file is created in the database under DataBaseDirectory/
config. The name of the file is certitude_config.cer by default, or
<config file name> if the -file option is specified. This file
contains all the configuration options that have been modified.

280 Certitude Reference Guide


Commands: setconfig

setconfig
Set configuration options
The specified configuration option is set to the specified value. A
configuration option name must be specified with this command. The
syntax for this command is:
setconfig -ConfigurationOptionName=<configuration_option_value>.
For example:

setconfig -MaxJobsInParallel=5
This sets the MaxJobsInParallel configuration option to the value 5.

setconfig -MaxNonDetected=10
This sets the MaxNonDetected configuration option to the value 10.
The 'setconfig' command is always allowed in query mode.

Certitude Reference Guide 281


Commands: setmode

setmode
Set a mode to preset configuration options
Specify the mode to preset specified configuration options. Users can
change those configuration options later.
The 'setmode' command is not allowed in query mode.

Usage:
setmode -mode=<mode> [-verbose]

setmode -mode=<mode> [-verbose]


A mode must be specified from SOC, IP, RTLSafety or Netlist.
The SOC mode presets "setconfig -ElaborateFullDesign=false",
"setconfig -FaultSet=Connectivity", "setconfig -
OptimizerDistanceToOutputAnalysis=false", "setconfig -
OptimizerExtendedConesAnalysis=false", "setconfig -
OptimizerOperationsDuringDetection=", "setconfig -
ProbesOnInternalConnections=true" and "setconfig -
SingleInstrumentation=true".
The IP mode presets "setconfig -FaultSet=[list RTL
Connectivity]". This is the default mode.
The RTLSafety mode presets "setconfig -FaultSet=[list
BitStuckAt StuckAtLeft StuckAtRight StuckAtValue]",
"setconfig -InstrumentSignals=*" and "setconfig -
InstanceBasedFaults=true".
The Netlist mode presets "setconfig -FaultSet=[list
InputPortConnectionStuckAt0 InputPortConnectionStuckAt1
InputPortConnectionBitStuckAt0
InputPortConnectionBitStuckAt1
OutputPortConnectionStuckAt0 OutputPortConnectionStuckAt1

282 Certitude Reference Guide


Commands: setmode

OutputPortConnectionBitStuckAt0
OutputPortConnectionBitStuckAt1]", "setconfig -
ConnectivityBitInstrumentationSignals=*", "setconfig -
NetlistQualification=true", "setconfig -
ConnectivityInputOnNonQualifiedBlocks=true", "setconfig -
IdentifyLatch=false", "setconfig -
IdentifyClockAndResetPort=false", "setconfig -
ReportPreGenerationInModel=false", "setconfig -
OptimizerExtendedConesAnalysis=false", "setconfig -
OptimizerOperationsDuringDetection=", "setconfig -
ReportFormat=text", and "setconfig -
NativeRuntimeOptimizedStuckAtFaults=true".

-verbose prints configuration setting changes caused by the


setmode command.

Certitude Reference Guide 283


Commands: setprobe

setprobe
Set or unset a probe for fault propagation
HDL languages only. When a probe is set for propagation, Certitude
considers that the fault is propagated when a difference is observed at this
probe. A probe setting is therefore necessary for fault propagation. By
default, all TopName output ports are set for propagation, and the
setprobe command can then be used for setting additional probes.
When the propagation settings are changed with this command, it is
necessary to use the command 'detect -updateresults' in order to update
the faults status.
The setprobe command is also used for un-setting previously set probes.
The 'setprobe' command is not allowed in query mode.

Usage:
setprobe -probelist=<probe names> -
setforpropagation=<true|false>

setprobe -probelist=<probe names> -


setforpropagation=<true|false>
A probe list must be specified. The direction of the setting must
be specified: the -setforpropagation=true/false option must be
used in all cases. -setforpropagation=true means the probe is set
for propagation. -setforpropagation=false means the probe is not
set or un-set for propagation.

A probe name is made:


- In Verilog, from a unit name and a port name: <unit
name>.<port name>. A unit is a Verilog module.

284 Certitude Reference Guide


Commands: setprobe

- In VHDL, from a library name, a unit name and a port name:


<library name>.<unit name>.<port name>. A unit is a VHDL
entity.

Examples of syntax for probe set in Verilog:


setprobe -setforpropagation=true -probelist=[list Unit_1.Port_1
Unit_1.Port_3 Unit_5.Port_8 Unit_5.Port_9]
or
setprobe -setforpropagation=true {-probelist= Unit_1.Port_1
Unit_1.Port_3 Unit_5.Port_8 Unit_5.Port_9}

Certitude Reference Guide 285


Commands: signoff

signoff
Check whether the design is well verified according to accurate
objectives
The signoff command executes the following two commands
automatically:
- detect -mustfix
- computemetric -signoff
For details about these two commands, refer to the -help descriptions.
The 'signoff' command is not allowed in query mode.

Usage:
signoff [-marginoferror=<margin of error>] [-
verbose] [-algorithm=<algorithm>] [-nocompile] [-
noquestion] [-nosanitycheck]

signoff [-marginoferror=<margin of error>]


[-verbose] [-algorithm=<algorithm>] [-
nocompile] [-noquestion] [-nosanitycheck]
Metric computation can be set in verbose mode (-verbose).
The metric algorithm can be selected (-algorithm=). There are
three values for this option: TestSampling, Detection and
AutoSelect. The default value is AutoSelect: the algorithm is
selected automatically according to the context (i. e. the
calculation is mainly on the basis of the number of faults, the
number of testcases, and the activation profile of the verification
environment). TestSampling and Detection are two different
statistical approaches that lead to different performance profiles.
They both give the same results, but in some circumstances, the
Detection algorithm is faster. For statistical reasons, a metric

286 Certitude Reference Guide


Commands: signoff

computation that is started with the TestSampling algorithm can


be stopped and resumed with the Detection algorithm, but a
metric computation started with the Detection algorithm can not
be resumed with the TestSampling algorithm, because it will
make the results invalid.
A margin of error can be set with the marginoferror option. For
example, if a 1.5% maximum margin of error is required, the
correct syntax is:
computemetric -marginoferror=0.015.
The default value of -marginoferror is 0.05.
The compilation step (-nocompile), the confirmation questions (-
noquestion) or the sanitycheck (-nosanitycheck) can be skipped.

Certitude Reference Guide 287


Commands: simulationinfo

simulationinfo
Return information about a simulation

This command returns the available information about the specified


simulation. Information about the last 5000 simulations is stored in the
database.
The 'simulationinfo' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:
simulationinfo -simulation=<simulation ID>
simulationinfo -simulation=<simulation ID>
[EXCLUSIVE OPTIONS]

simulationinfo -simulation=<simulation ID>


The -simulation= option specifies the simulation ID. This option
is mandatory.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-testcase returns the name of the testcase that is run by the


specified simulation.

-fault returns the ID of the fault on which the specified simulation


has run.

288 Certitude Reference Guide


Commands: simulationinfo

-phase returns the name of the qualification phase during which


the specified simulation has been run.

-starttime returns the starting date and time of the specified


simulation.

-endtime returns the ending date and time of the specified


simulation.

-status returns the status of the specified simulation.

-result returns the result of the specified simulation (passed by the


cer_simulation_result script).

-endresult returns the result of Certitude simulation management


process for the specified simulation.

-resultvalue returns the user-defined string attached to the result


of the specified simulation (specified with the
cer_simulation_result script option -resultvalue).

-job returns the ID of the job that controls the specified


simulation.

-hostname returns the name of the computer where the specified


simulation has been run.

Certitude Reference Guide 289


Commands: simulationinfo

-userdetectionreason returns the user-defined string indicating


why the activated fault of the specified simulation has been
detected (specified with the cer_simulation_result script option -
userdetectionreason).

290 Certitude Reference Guide


Commands: simulationlist

simulationlist
Return a list of simulations

This command returns the list of simulation IDs for all current and past
simulations from the Certitude database. Information about the last 5000
simulations is stored in the database.
The 'simulationlist' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:
simulationlist -lastsimulationid
simulationlist [OPTIONS]

simulationlist -lastsimulationid
Prints the ID of the last simulation.

OPTIONS
Multiple options can be selected for
OPTIONS.

Returns the list of simulations:


- involving the specified testcase (-testcase=),
- involving the specified fault (-fault=),
- during the specified qualification phase (-phase=),
- with the specified simulation status (-status=),
- with the specified simulation result (-result=),

Certitude Reference Guide 291


Commands: simulationlist

- with the specified Certitude simulation process result (-


endresult=),
- with the specified user-defined result value (-resultvalue=),
- run on the specified host (-hostname=),
- considered by Certitude as possibly corrupted (-lastsuspicious),
- with the specified user-defined detection reason (-
userdetectionreason=).

Possible values for the -phase= option are Activation, Detection,


Metric and Regression.

Possible -status= values are:


Submitted: The job has been submitted but has not been accepted
yet.
Started: The job has been taken into account.
Running: The job is currently running.
Completed: The job has completed.
UnknownInsideBatch: 'JobStatusCommand' CallBack defined
only, the job is not yet submitted to the batch system.
QueuedInsideBatch: 'JobStatusCommand' CallBack defined only,
the job is pending for the batch system.
RunningInsideBatch: 'JobStatusCommand' CallBack defined
only, the job is running in the batch system.
DoneInsideBatch: 'JobStatusCommand' CallBack defined only,
the job has completed for the batch system.
SuspendedInsideBatch: 'JobStatusCommand' CallBack defined
only, the job has been suspended by the batch system.
ErrorInsideBatch: 'JobStatusCommand' CallBack defined only,

292 Certitude Reference Guide


Commands: simulationlist

the status cannot be defined through the batch system.

Possible -result= values are:


Pass: The simulation has passed.
Fail: The simulation has failed.
Abort: An interruption of the simulation has been requested by
the user through the execution script.
Retry: Another trial of the simulation has been requested.
UserDefine: 'SimulationResult' CallBack defined only, the
simulation has a user-defined result.
NA: The simulation result is not yet defined.
The -result= values are the results of the simulation as they are
returned by the $CER_SIMULATION_RESULT process.

Possible -endresult= values are:


Pass: The simulation is considered passed.
Fail: The simulation is considered failed.
Abort: The simulation is considered interrupted by the user.
Retry: The simulation is considered re-attempted.
Error: The simulation is considered ended with an error.
Stop: The simulation has been interrupted by Certitude (during
the metric computation).
GlobalStop: The simulation has been interrupted when the stop
command has been used.
NA: The simulation end result is not yet defined.
The -endresult= values are the results of the simulation as they are
finaly classified by Certitude after the return of

Certitude Reference Guide 293


Commands: simulationlist

$CER_SIMULATION_RESULT has been processed.

294 Certitude Reference Guide


Commands: status

status
Give information about the current status of the qualification run

Returns detailed information about the current qualification run.


The 'status' command is always allowed in query mode.

Usage:
status
status -phase=<phase>
status -phase=<phase> [-starttime] [-endtime] [-
completed]
status -runningsimulation
status -faultlist=<list of fault IDs>
status -optimizer [-blackboxes]
status -dumpedwaves

status
Returns information about the current status of the qualification
run.
status -phase=<phase>
Returns all the available status information about the specified
phase.
status -phase=<phase> [-starttime] [-
endtime] [-completed]
Returns information about the specified qualification phase. This
command can return only the phase start time (-starttime), the end
time (-endtime), or whether the phase has completed (-

Certitude Reference Guide 295


Commands: status

completed).
status -runningsimulation
Returns information about the currently running simulations
(used after a stop or in query mode when the detection phase is
running). The command (i.e. activate, computemetric, detect,
testscript, dumpwaves, optimize, checkdetection,
referencesimulations, regression, repeatsimulation or
retrysimulation) launching the simulation is shown in the first
column. 'waves' indicates that the simulation is dumping
waveforms.
status -faultlist=<list of fault IDs>
Prints the status of the specified list of faults.
status -optimizer [-blackboxes]
Returns information about the design structure and elaboration.

-blackboxes prints the list of blackboxes found during design


elaboration by Optimizer. Blackboxes are blocks that were
instantiated without being described
status -dumpedwaves
Returns all dumped waveforms (including the corresponding fault
ID, testcase ID, and testcase name) that are available for analysis
in the activation and detection phases. In the detection phase, the
waveform with the injected fault and the reference waveform are
available.
Note: Fault ID is only available in the detection phase. The
testcase name is truncated according to the width of the terminal.

296 Certitude Reference Guide


Commands: stop

stop
Stop the currently running phase or simulation.
Makes Certitude kill all the running simulations.
The 'stop' command is always allowed in query mode.

Certitude Reference Guide 297


Commands: subunitinfo

subunitinfo
Return subunit information
By default this command returns all available information about the
specified unit. Certitude hierarchically structures the design into units,
subunits, blocks, statements and faults.
The 'subunitinfo' command is always allowed in query mode.

Usage:
subunitinfo -subunitname=<subunit name>
subunitinfo -subunitname=<subunit name>
[EXCLUSIVE OPTIONS]

subunitinfo -subunitname=<subunit name>


The name of the subunit must be specified.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-type returns the type of the specified subunit.

-file returns the name of the file that contains the specified
subunit.

-parent returns the name of the parent unit of the specified


subunit.

298 Certitude Reference Guide


Commands: subunitinfo

-componentname returns the name of the instanciated component


that contains the specified subunit.

Certitude Reference Guide 299


Commands: subunitlist

subunitlist
Return the list of subunit
By default this command returns the list of all subunits. Certitude
hierarchically structures the design into units, subunits, blocks,
statements and faults.
The 'subunitlist' command is always allowed in query mode.

Usage:
subunitlist [-type=<subunit type>] [-file=<file>] [-parent=<parent
name>]

subunitlist [-type=<subunit type>] [-file=<file>] [-parent=<parent


name>]
Returns the list of subunits of the specified type (-type=) that is located in
the specified file (-file=) or from the same parent unit (-parentname=).

Possible values for -type= are Always, Block, CppFunction, Instance,


SelectedSignalAssignment, AlwaysComb, CFunction, Final, Port,
Subprogram, AlwaysFf, ConditionalSignalAssignment, Function,
ProcedureCall, Task, AlwaysLatch, ContinuousAssignment, Initial,
Process and Unit.

300 Certitude Reference Guide


Commands: testcasedisable

testcasedisable
Disable a list of testcases

This command disables a list of testcases.


The 'testcasedisable' command is not allowed in query mode.

Usage:
testcasedisable -testcaselist=<list of testcase
names>
testcasedisable -all

testcasedisable -all
Disables all testcases.

Certitude Reference Guide 301


Commands: testcaseenable

testcaseenable
Enable a list of testcases

This command enables a list of testcases.


The 'testcaseenable' command is not allowed in query mode.

Usage:
testcaseenable -testcaselist=<list of testcase
names>
testcaseenable -all

testcaseenable -all
Enables all testcases.

302 Certitude Reference Guide


Commands: testcasegroupinfo

testcasegroupinfo
Return information about testcase groups
The testcase groups are created by the user with the option -
testcasegroup= of the addtestcase command, used in the
certitude_testcases.cer file.
The 'testcasegroupinfo' command is always allowed in query mode.

Usage:
testcasegroupinfo -testcasegroup=<group name of
the testcase>
testcasegroupinfo -testcasegroup=<group name of
the testcase> -testcaselist

testcasegroupinfo -testcasegroup=<group name


of the testcase>
Returns all the available information about the specified group.
testcasegroupinfo -testcasegroup=<group name
of the testcase> -testcaselist
Returns the list of testcases that are part of the specified group.

Certitude Reference Guide 303


Commands: testcasegrouplist

testcasegrouplist
List all testcase group names
The testcase groups are created by the user with the option -
testcasegroup= of the addtestcase command, used in the
certitude_testcases.cer file.
The 'testcasegrouplist' command is always allowed in query mode.

304 Certitude Reference Guide


Commands: testcaseinfo

testcaseinfo
Return the testcase information
Returns information about the specified testcase. This command can be
used for all the testcases listed in the certitude_tescases.cer file.
The 'testcaseinfo' command is always allowed in query mode.

Usage:
testcaseinfo -testcase=<testcase name>
testcaseinfo -testcaseid=<testcase id>
testcaseinfo -testcase=<testcase name> [EXCLUSIVE
OPTIONS]
| -testcaseid=<testcase id>
[EXCLUSIVE OPTIONS]

testcaseinfo -testcase=<testcase name>


Returns all the available information about the specified testcase
name.
testcaseinfo -testcaseid=<testcase id>
Returns all the available information about the specified testcase
ID.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-runtime returns the testcase CPU runtime in seconds.

Certitude Reference Guide 305


Commands: testcaseinfo

-base returns true or false, whether this testcase is the first testcase
in a group or not.

-userdatakeylist returns the list of user data keys linked to the


specified testcase.

-userdatakey=<key> returns the user data value associated with


the specified key for the specified testcase.

-nbrunfordetection returns the number of times the specified


testcase has been run during the detection phase or the metric
phase. This is the total number of times in the case when the
phase has been stopped and resumed.

-testcasegroup returns the name of the group of the specified


testcase, as it is specified in the certitude_testcases.cer file with
the -testcasegroup option.

-activationstatus returns the activation status of the specified


testcase. This option is valid only during the activation phase.
This option checks whether the specified testcase has already
been run or not during the phase.

-regressionstatus returns the regression status of the specified


testcase. The three possible returned values are: Passed, Failed,
and NotYetExecuted.

-name returns the testcase name.

306 Certitude Reference Guide


Commands: testcaseinfo

-enablestatus returns the enable status of the specified testcase.

-scenario returns the scenario name of the specified testcase.

-propertyidlist returns the property IDs of the specified testcase.

Certitude Reference Guide 307


Commands: testcaselist

testcaselist
Return the list of testcases

The returned testcases are the testcases listed in the


certitude_testcases.cer project file.
The 'testcaselist' command is always allowed in query mode.

Usage:
testcaselist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

-idlist returns the list of testcase ids instead of the list of testcase
names.

-userdatakey= returns the list of testcases that have the specified


user data key.

-userdatavalue= returns the list of testcases that have the specified


user data value.

-testcasegroup= returns the list of testcases that are in the


specified group.

-activationstatus= returns the list of testcases that have the

308 Certitude Reference Guide


Commands: testcaselist

specified activation status during the activation phase. Possible


values are:
Passed: The testcase has passed.
Failed: The testcase has failed.
NotYetExecuted: The testcase has not yet been executed.

-regressionstatus= returns the list of testcases that have the


specified regression status when the regression command has
been used. Possible values are:
Passed: The testcase has passed.
Failed: The testcase has failed.
NotYetExecuted: The testcase has not yet been executed.

-remaining returns the list of testcases that still need to be run


during the activation phase.

-referencesimulationavailable returns the list of testcases for


which a reference simulation is available. HDL languages only.

-base= returns the list of testcases that are the first testcase in each
group (-base=true) or the list of testcases that are not the first
testcase in each group (-base=false).

-activationminsetcover returns the list of testcases that activate as


many faults as all the testcases (minimum set of testcases with the
highest activation score).

-enablestatus= returns the list of the enabled testcases (-

Certitude Reference Guide 309


Commands: testcaselist

enablestatus=true) or the list of the disabled testcases (-


enablestatus=false).

-scenario= returns the list of testcases that have the specified


scenario name.

-name= returns the list of testcases that have the specified name.
Regular expressions are allowed.

-propertynamelist= returns the list of testcases that have the


specified property names. Property names can be specified with
wildcard characters.
Example: testcaselist -propertynamelist=[list *.ap_assert_*
the_hierarchical_path.ap_nevert_?]

310 Certitude Reference Guide


Commands: testscript

testscript
Test whether a test can pass/fail in the activation or detection phase
This command checks the environment.
When the testcase passes or fails, the simulation data is compared to the
data stored in the database:
In the activation phase:
- The testcase and the current waveform dumping simulation must pass.
- The list of the faults activated by the testcase during activation
reference and current waveform dumping simulations are compared.
In the detection phase:
- If no faults are enabled, the testcase in activation and the current
waveform dumping simulation must pass.
- Detection and current waveform dumping simulations must have the
same testcase status whether it is pass or fail.
- If no faults are enabled, the signature of the detection reference
simulation and the signature of the current waveform dumping
simulation are compared.
- If a fault is enabled, the propagation information of the detection
simulation and the propagation information of the current waveform
dumping simulation are compared.
The current simulation data and the data stored in the database are
supposed to be identical. If a result differs, an error indicates that an
inconsistent simulation status or behavior exists.
The 'testscript' command is allowed in query mode during the activation
phase and the detection phase.

Usage:
testscript [-testcaselist=<testcase names>]

Certitude Reference Guide 311


Commands: testscript

[EXCLUSIVE OPTIONS]
| [-propertyidlist=<property id list>]
[EXCLUSIVE OPTIONS]
| [-testcaseidlist=<testcase ids>]
[EXCLUSIVE OPTIONS]

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-activation=<pass|fail> [-nocompile] tests whether the activation


can pass or fail using the specified testcases or property IDs that
are run simultaneously. If a testcase or property ID is not
specified, the first testcase or property written in the
certitude_testcases.cer file is used.
The compilation step can be skipped with -nocompile.

-detection=<pass|fail> [-nocompile] tests whether the detection


can pass or fail using the specified testcases or property IDs that
are run simultaneously. If a testcase or property ID is not
specified, the default is used i.e. the shortest successful testcase/
property, or the first testcase/property written in the
certitude_testcases.cer file if activation has not been launched.
The compilation step can be skipped with -nocompile.

-regression [-nocompile] simultaneously runs the specified


testcases or property IDs with the original design code. If a
testcase or property ID is not specified, 'testscript -regression'

312 Certitude Reference Guide


Commands: testscript

uses the first testcase or property written in the file


certitude_testcases.cer.
The compilation step can be skipped with -nocompile.

-noinstrumentation [-nocompile] simultaneously runs the


specified testcases or property IDs with the non-instrumented
code stored in Certitude database. If a testcase or property ID is
not specified, 'testscript -noinstrumentation' uses the first testcase
or property written in the file certitude_testcases.cer.
The compilation step can be skipped with -nocompile.

Certitude Reference Guide 313


Commands: unitinfo

unitinfo
Return information about a unit
Return all available information for the specified unit. Certitude
hierarchically structures the design into units, subunits, blocks,
statements and faults.
The 'unitinfo' command is always allowed in query mode.

Usage:
unitinfo -unitname=<unit name>
unitinfo -unitname=<unit name> [EXCLUSIVE
OPTIONS]

unitinfo -unitname=<unit name>


The name of the unit must be specified.

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-file returns the name of the file that contains the specified unit.

-line returns the line of the file that contains the specified unit.

-qualified returns 'true' if the unit is qualified, 'false' otherwise.

-type returns the type of the specified unit.

314 Certitude Reference Guide


Commands: unitinfo

-clock returns the name of the clock of the specified unit.

-activelowreset returns the active low reset of the specified unit.

-activehighreset returns the active high reset of the specified unit.

-entityname returns the entity name of the specified architecture


(VHDL language only).

Certitude Reference Guide 315


Commands: unitlist

unitlist
Return a list of units
Returns a list of all units in the design.
The 'unitlist' command is always allowed in query mode.

Usage:
unitlist [OPTIONS]

OPTIONS
Multiple options can be selected for
OPTIONS.

Returns the list of units of the specified type (-type=), located in


the specified source file (-file), that are selected for qualification
or not (-qualified=), and that are instantiated or not (-
instantiated=).

Possible values for -type= are Architecture, Class, CppFile,


Interface, Package, Primitive, Program, SVConfiguration,
SVPackage, CFile, Configuration, Entity, Module and
PackageBody.

316 Certitude Reference Guide


Commands: userdataadd

userdataadd
Add user data to a testcase, a fault, a file, a probe or Certitude DB
This is used to keep user information linked to a specified Certitude
object, for instance as a reminder about interpretations and/or related user
actions. This user information can be then removed via the
userdataremove command and accessed via the faultinfo, testcaseinfo,
fileinfo, probeinfo or userdatainfo commands.
The 'userdataadd' command is always allowed in query mode.

Usage:
userdataadd -userdatakey=<key> -
userdatavalue=<value>
userdataadd -faultlist=<list of fault IDs> -
userdatakey=<key> -userdatavalue=<value>
userdataadd -testcaselist=<list of testcase
names> -userdatakey=<key> -userdatavalue=<value>
userdataadd -filelist=<list of file names> -
userdatakey=<key> -userdatavalue=<value>
userdataadd -probelist=<list of probe names> -
userdatakey=<key> -userdatavalue=<value>

userdataadd -userdatakey=<key> -
userdatavalue=<value>
If no object is specified, the user data are added to Certitude
DataBase.
Two correct syntax for using -userdatavalue option with the string
'to be analysed' are:
1) -userdatavalue=[list to be analysed]

Certitude Reference Guide 317


Commands: userdataadd

2) {-userdatavalue='to be analysed'}
userdataadd -faultlist=<list of fault IDs> -
userdatakey=<key> -userdatavalue=<value>
Link to the specified fault(s) ID two character strings. The -
userdatakey is a keyword that is used for creating categories of
user information. The key can be any string of characters but it is
recommended to keep it a single word. The userdatavalue can be
any string of characters describing the characteristics of the fault.
If information already exist for the specified fault with the
specified key, the added information overwrites the previous one.
Two correct syntax for using -userdatavalue option with the string
'to be analysed' are:
1) -userdatavalue=[list to be analysed]
2) {-userdatavalue='to be analysed'}
userdataadd -testcaselist=<list of testcase
names> -userdatakey=<key> -
userdatavalue=<value>
Link to the specified testcase(s) two character strings. The -
userdatakey is a keyword that is used for creating categories of
user information. The key can be any string of characters but it is
recommended to keep it a single word. The userdatavalue can be
any string of characters describing the characteristics of the fault.
If information already exist for the specified fault with the
specified key, the added information overwrites the previous one.
Two correct syntax for using -userdatavalue option with the string
'to be analysed' are:
1) -userdatavalue=[list to be analysed]
2) {-userdatavalue='to be analysed'}
userdataadd -filelist=<list of file names> -
userdatakey=<key> -userdatavalue=<value>

318 Certitude Reference Guide


Commands: userdataadd

Link to the specified file(s) two character strings. The -


userdatakey is a keyword that is used for creating categories of
user information. The key can be any string of characters but it is
recommended to keep it a single word. The userdatavalue can be
any string of characters describing the characteristics of the fault.
If information already exist for the specified fault with the
specified key, the added information overwrites the previous one.
Two correct syntax for using -userdatavalue option with the string
'to be analysed' are:
1) -userdatavalue=[list to be analysed]
2) {-userdatavalue='to be analysed'}
userdataadd -probelist=<list of probe names>
-userdatakey=<key> -userdatavalue=<value>
Link to the specified observation point(s) two character strings.
The -userdatakey is a keyword that is used for creating categories
of user information. This key can be any string of characters but it
is recommended to keep it a single word. The userdatavalue can
be any string of characters describing the characteristics of the
fault. If information already exist for the specified fault with the
specified key, the added information overwrites the previous one.
Two correct syntax for using -userdatavalue option with the string
'to be analysed' are:
1) -userdatavalue=[list to be analysed]
2) {-userdatavalue='to be analysed'}

Certitude Reference Guide 319


Commands: userdatainfo

userdatainfo
Return specified user data
This command returns the list of all existing user data keys for Certitude
database, faults, testcases, files or probes. It can also return the value of
specified user data key only for user data linked to Certitude database (-
userdatakey=). For retrieving the value of a specific datakey for another
object, like a testcase for instance, the command testcaseinfo -
testcase=<testcase name> -userdatakey=<key> must be used.
The 'userdatainfo' command is always allowed in query mode.

Usage:
userdatainfo
userdatainfo -faultkeylist
userdatainfo -testcasekeylist
userdatainfo -filekeylist
userdatainfo -probekeylist
userdatainfo -keylist
userdatainfo -userdatakey=<key>

userdatainfo
Returns specified user data.
userdatainfo -faultkeylist
Returns the list of existing user data keys linked to faults.
userdatainfo -testcasekeylist
Returns the list of existing user data keys linked to testcases.
userdatainfo -filekeylist

320 Certitude Reference Guide


Commands: userdatainfo

Returns the list of existing user data keys linked to files.


userdatainfo -probekeylist
Returns the list of existing user data keys linked to probes.
userdatainfo -keylist
Returns the list of existing user data keys linked to Certitude
database.
userdatainfo -userdatakey=<key>
Returns the value of the specified user data key. This works only
for the user data linked to the database.

Certitude Reference Guide 321


Commands: userdataremove

userdataremove
Remove user data on faults, testcases, probes, files or Certitude database

Deletes existing user data when it becomes obsolete.


The 'userdataremove' command is always allowed in query mode.

Usage:
userdataremove -userdatakey=<key>
userdataremove -faultlist=<list of fault IDs> [-
userdatakey=<key>]
userdataremove -testcaselist=<list of testcase
names> [-userdatakey=<key>]
userdataremove -filelist=<list of file names> [-
userdatakey=<key>]
userdataremove -probelist=<list of probe names>
[-userdatakey=<key>]

userdataremove -userdatakey=<key>
Removes user data linked to Certitude database: both the
specified key and the value associated with the specified key.
userdataremove -faultlist=<list of fault
IDs> [-userdatakey=<key>]
Removes user data linked to the specified list of faults: both the
specified key and the value associated with the specified key.
userdataremove -testcaselist=<list of
testcase names> [-userdatakey=<key>]
Removes user data linked to the specified list of testcases: both
the specified key and the value associated with the specified key.

322 Certitude Reference Guide


Commands: userdataremove

userdataremove -filelist=<list of file


names> [-userdatakey=<key>]
Removes user data linked to the specified list of files: both the
specified key and the value associated with the specified key.
userdataremove -probelist=<list of probe
names> [-userdatakey=<key>]
Removes user data linked to the specified list of probes: both the
specified key and the value associated with the specified key.

Certitude Reference Guide 323


Commands: vdefine

vdefine
Define Verilog macros in the file containing the list of source files

Verilog only. This command is only available in the file containing the
list of source files (certitude_hdl_files.cer by default). The vdefine
commands is cumulative.

Usage:
vdefine -name=<macro name> [-value=<macro value>]
[-optimizeronly] [-simulationonly]

vdefine -name=<macro name> [-value=<macro


value>] [-optimizeronly] [-simulationonly]
Specifies a macro name.
-value= specifies value for this macro.
-optimizeronly specifies that the macro is only defined for the
Verilog parser of the optimizer.
-simulationonly specifies that the macro is only defined for the
Verilog parser of the simulation.

324 Certitude Reference Guide


Commands: verdiabort

verdiabort
Abort current attempt in building connection to Verdi
If connection between Certitude and Verdi is established, this command
will not have any effects on the connection. This command will not close
or kill an opened Verdi.
The 'verdiabort' command is always allowed in query mode.

Certitude Reference Guide 325


Commands: verdicommand

verdicommand
Run a Verdi Tcl command from the Certitude shell
Before using the verdi* commands, the VerdiInitCommand configuration
option should be set with the appropriate command, otherwise the Verdi
platform will be started up without a design loaded.
The appropriate command could also be found in a specific script named
certitude_novas.cmd if the setupCer utility has been used with the Verdi
platform version 2010.01, or if it has been previously created by hand.
The command contained in the VerdiInitCommand configuration option
or in the script must contain at least the following settings:

debImport -top DUT_testbench -path .

where -top is the module top for the design imported into the Verdi
platform and -path is the path to the design.
The 'verdicommand' command is always allowed in query mode.

Usage:
verdicommand -command=<command>

verdicommand -command=<command>
A valid Verdi Tcl command must be specified.

326 Certitude Reference Guide


Commands: verdidumpridb

verdidumpridb
Dump a ridb file with the original source code
SystemC language only. This command dumps a ridb file with the non-
instrumented code. This command should be used after the model phase.
The 'verdidumpridb' command is not allowed in query mode.

Usage:
verdidumpridb [-testcase=<testcase name>] [-
verbose] [-force]
verdidumpridb [-testcaseid=<testcase id>] [-
verbose] [-force]

verdidumpridb [-testcase=<testcase name>] [-


verbose] [-force]
Dumps a ridb file, optionally with the specified testcase (-
testcase), in verbose mode (-verbose), or execute the command
even if the ridb file already exists (-force).
verdidumpridb [-testcaseid=<testcase id>] [-
verbose] [-force]
Dumps a ridb file, optionally with the specified testcase ID (-
testcaseid), in verbose mode (-verbose), or execute the command
even if the ridb file already exists (-force).

Certitude Reference Guide 327


Commands: verdisourcedebug

verdisourcedebug
Highlight a fault in the Verdi source code pane from the Certitude shell
This command makes the Verdi platform display the source code where
the specified fault is located, and highlight it.
Before using the verdi* commands, the VerdiInitCommand configuration
option should be set with the appropriate command, otherwise the Verdi
platform will be started up without a loaded design.
The appropriate command can also be found in a specific script named
certitude_novas.cmd if the setupCer utility has been used with the Verdi
platform, or if it has been manually created previously.
The command contained in the VerdiInitCommand configuration option
or in the script must contain at least the following settings:

debImport -top DUT_testbench -path .

where -top is the module top for the design imported into the Verdi
platform and -path is the path to the design.
The 'verdisourcedebug' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:
verdisourcedebug -fault=<fault ID> [-
testcase=<testcase name>]

verdisourcedebug -fault=<fault ID> [-


testcase=<testcase name>]
A fault ID must be specified. If the fault is Non-Propagated or if

328 Certitude Reference Guide


Commands: verdisourcedebug

the WaveDump configuration option is set to false, a testcase


name must be specified.

Certitude Reference Guide 329


Commands: verdistart

verdistart
Start the Verdi platform from the Certitude shell
The verdistart command connects to the running Verdi platform by
searching for the default log directory located under the current working
directory. If a running Verdi platform does not exist under the current
working directory, Certitude starts a new Verdi platform from a random
free port on a local machine.
Before using the verdi* commands, the VerdiScript option can be set to
specify the user customized Verdi script. When the VerdiScript option is
set, Certitude launches the Verdi platform per the specified script with
Verdi's command option -serverPort 0.
Before using the verdi* commands, the VerdiLogDir option can be set to
specify the log directory path for the running Verdi platform. When the
VerdiLogDir option is set, the verdi* commands will search for the
specified Verdi log directory and connect to the running Verdi platform.
If a running Verdi platform does not exist, Certitude will launch and
connect a new Verdi platform.
Before using the verdi* commands, the VerdiInitCommand configuration
option can be set with the appropriate command, otherwise the Verdi
platform will be started up without a design loaded.
The appropriate command can also be found in a specific script named
certitude_novas.cmd if the setupCer utility has been used with the Verdi
platform, or if it has been previously created by hand.
The command contained in the VerdiInitCommand configuration option
or in the script must contain at least the following settings:

debImport -top DUT_testbench -path .

where -top is the module top for the design imported into the Verdi
platform and -path is the path to the design.

330 Certitude Reference Guide


Commands: verdistart

The 'verdistart' command is always allowed in query mode.

Usage:
verdistart
verdistart -port=<port number> [-host=<host
name>]
verdistart -status
verdistart -verdilogdir=<verdi log directory
path>

verdistart
Starts the Verdi platform from the Certitude shell.
verdistart -port=<port number> [-host=<host
name>]
If the port number is available, specify the port number with the -
port= option to run the Verdi platform on the batch system. The
host computer name can also be specified with the -host= option.
verdistart -status
The -status option returns 1 if a Verdi session is running, and 0 if
no Verdi session is found.
verdistart -verdilogdir=<verdi log directory
path>
Specify the location of the Verdi log directory to connect a
running Verdi platform on the batch system.

Certitude Reference Guide 331


Commands: verdiwavedebug

verdiwavedebug
Make the Verdi platform display waveforms for comparison
Launch the Verdi platform to display waveforms for comparison and
optionally show the related design source code
This command launches the Verdi platform and displays two waveform
windows, one with results from the specified testcase run with the
specified fault, and one with results from the specified testcase run with
no fault. For detected (D) and non-detected (ND) faults, the inputs to the
Certitude design top and probe signals set for propagation are displayed
and differences between the faulty and reference simulations are
highlighted. For non-propagated (NP) faults, all of these signals in one of
the instances containing the fault are displayed and differences between
the faulty and reference simulations are highlighted.
If the VerdiInitCommand configuration option is set, the Verdi platform
will also load and display the related design source code. If the setupCer
utility is used to create the Certitude setup files, then the configuration
setting can be found in the file called certitude_novas.cmd.
The command contained in the VerdiInitCommand configuration option
or in the script must contain at least the following settings:

debImport -top <top> -path <path>

where <top> is the module top for the design imported into the Verdi
platform and <path> is the path to the compiled design files.
The 'verdiwavedebug' command is allowed in query mode during the
activation phase, the detection phase, the metric computation and the
regression phase.

Usage:

332 Certitude Reference Guide


Commands: verdiwavedebug

verdiwavedebug -testcase=<testcase name>


[EXCLUSIVE OPTIONS]
| -testcaseid=<testcase id>
[EXCLUSIVE OPTIONS]

EXCLUSIVE OPTIONS
Only one option can be specified for
EXCLUSIVE OPTIONS.

-fault=<fault ID> specifies a fault ID and a testcase name.

Certitude Reference Guide 333


Commands: version

version
Return version information for Certitude
Returns the version and the revision number of Certitude
The 'version' command is always allowed in query mode.

Usage:
version [-revision]
version -patchlevel
version -bitwidth

version [-revision]
Returns only the revision number of Certitude.
version -patchlevel
Return the patch number of Certitude if any.
version -bitwidth
Returns 32 or 64, depending on the bitwidth version of Certitude
(whatever the bitwidth of the host computer).

334 Certitude Reference Guide


Commands: viewreport

viewreport
Open the interactive version of the HTML report
In the interactive version of the HTML report, faults can be disabled or
enabled directly from the fault detail window of the report. It is also
possible to add comments to faults directly from the fault detail window.
Before using the viewreport command, an HTML report must be
generated with the report command.
The interactive viewing can be used only when Certitude is running with
a result database that matches the HTML report information. It is better
not to use the report viewer with an out-of-date HTML report.
The 'viewreport' command is allowed in query mode during the
activation phase, the lite model phase, the detection phase, the metric
computation and the regression phase.

Usage:
viewreport

viewreport
Opens the interactive version of the HTML report.

Certitude Reference Guide 335


Commands: vinclude

vinclude
Name in the source files list include files to be instrumented or not

Verilog Only. The configuration option named InstrumentInclusion


determines if all Verilog include files are instrumented by Certitude or
not. The vinclude command can make individual include files
instrumented when the option is set to false, or prevent an individual file
from being instrumented when the option is set to true.

Usage:
vinclude -includelist=<include name> [-
instrument=<instrument value>] [-ignore=<not
instrumented lines range>] [-noparse=<not parsed
lines range>] [-noweakness=<not computed for
weakness lines range>]

vinclude -includelist=<include name> [-


instrument=<instrument value>] [-ignore=<not
instrumented lines range>] [-noparse=<not
parsed lines range>] [-noweakness=<not
computed for weakness lines range>]
At least one include file name must be specified (without path).
File names can be specified with wildcard characters. The
instrumentation status (-instrument=) can be set to true or false. A
range of lines can be ignored for the instrumentation (-ignore=),
set for being ignored during the parsing (-noparse=) or set for
being ignored for weakness computation (-noweakness=).
This command can be used only in the source files list file. The
default file name is certitude_hdl_files.cer.

336 Certitude Reference Guide


Commands: vundefine

vundefine
Delete Verilog macro definitions (including those in Verilog source files)

Verilog only. This command is only available in the file containing the
list of source files (certitude_hdl_files.cer by default).

Usage:
vundefine -all
vundefine -name=<macro name> [-optimizeronly] [-
simulationonly]

vundefine -all
Deletes all the Verilog macro definitions.
vundefine -name=<macro name> [-
optimizeronly] [-simulationonly]
Deletes the specified Verilog macro definitions.
-optimizeronly specifies that the macro is only deleted for the
Verilog parser of the optimizer.
-simulationonly specifies that the macro is only deleted for the
Verilog parser of the simulation.

Certitude Reference Guide 337


Commands: vundefine

338 Certitude Reference Guide


Environment Variables:

Environment Variables
Here are four examples for environment variable syntax, one for each of the
following script languages: Csh, Sh, Tcl, and Perl.
Each example shows how to define the variable. However, when the variable is
defined by Certitude, this step is usually not necessary.
The second part of the example is a test to check whether the variable has been
defined or not. This test is commonly used when writing execution scripts that
should be usable outside of Certitude.
• Csh syntax
#!/bin/csh

# Define the environment variable


setenv CER_SIMULATION_ID 2000

# Check if the environment variable exists, and then use it


if ( $?CER_SIMULATION_ID ) then
echo "CER_SIMULATION_ID=$CER_SIMULATION_ID"
else
echo "CER_SIMULATION_ID is not defined"
endif

exit 0

• Sh syntax
#!/bin/sh

# Define the environment variable


CER_SIMULATION_ID=2000
export CER_SIMULATION_ID

# Check if the environment variable exists, and then use it


if [ "$CER_SIMULATION_ID" != "" ]
then
echo "CER_SIMULATION_ID=$CER_SIMULATION_ID"
else
echo "CER_SIMULATION_ID is not defined"
endif

exit 0

• Tcl syntax
#!/usr/bin/tclsh

# Define the environment variable


set ::env(CER_SIMULATION_ID) 2000

# Check if the environment variable exists, and then use it

Certitude Reference Guide 339


Environment Variables:

if { [info exists ::env(CER_SIMULATION_ID)] } {


puts "CER_SIMULATION_ID=$::env(CER_SIMULATION_ID)"
} else {
puts "CER_SIMULATION_ID is not defined"
}
exit 0

• Perl syntax
#!/usr/bin/perl

# Define the environment variable


$ENV{CER_SIMULATION_ID}=2000

# Check if the environment variable exists, and then use it


if ( defined ( $ENV{CER_SIMULATION_ID} ) ) {
print "CER_SIMULATION_ID=$ENV{CER_SIMULATION_ID}\n" ;
} else {
print "CER_SIMULATION_ID is not defined\n" ;
}

exit 0

340 Certitude Reference Guide


Environment Variables: Variables Defined by Certitude

Variables Defined by Certitude

CER_BATCH_TASK
This variable specifies the tasks that are allowed to be performed by the current
job.
The value includes Optimizer-cone, Optimizer-dist, Optimizer-elab,
Optimizer-equiv, Optimizer-ident, Compilation, and Simulation.
• Optimizer-cone: Extraction of the fault cones performed by the optimizer.
• Optimizer-dist: Computation of the fault to output distance performed by
the optimizer.
• Optimizer-elab: Elaboration performed by the optimizer.
• Optimizer-equiv: Search of the equivalent faults performed by the
optimizer.
• Optimizer-ident: Search of the identical faults performed by the optimizer.
• Compilation: Execute compilation.
• Simulation: Execute simulation.

CER_C_CER_PACKAGE_FILE
This variable defines the full filename (i.e. path/filename) of the package file (i.e.
the C file where Certitude packages are added) to be compiled.
• path is the value of the InstrumentationDirectory configuration
option
• filename is the value of the CCerPackageFile configuration option
When the package file (i.e. the CCerPackageFile option) is not specified, the
Certitude packages will be added to the last compiled user file that is the last file
in the certitude_hdl_files.cer file with the -qualify option, such as:
addc -file=<first compiled user file> -qualify
addc -file=<second compiled user file> -qualify

This variable is available only for the C language.

Certitude Reference Guide 341


Environment Variables: Variables Defined by Certitude

CER_COMMAND
This variable contains the current command. Available values include
activate, computemetric, detect, testscript, dumpwaves, optimize,
referencesimulations, regression, checkdetection,
repeatsimulation, and retrysimulation.

CER_CPP_CER_PACKAGE_FILE
This variable defines the full filename (i.e. path/filename) of the package file (i.e.
the C++ file where Certitude packages are added) to be compiled.
• path is the value of the InstrumentationDirectory configuration
option
• filename is the value of the CppCerPackageFile configuration option
When the package file (i.e. the CppCerPackageFile option) is not specified,
the Certitude packages will be added to the last compiled user file that is the last
file in the certitude_hdl_files.cer file with the -qualify option, such as:
addcpp -file=<first compiled user file> -qualify
addcpp -file=<second compiled user file> -qualify

This variable is available only for the C++ language.

CER_EMBEDDED_WAVE_DUMP
This variable is set only when a waveform is being dumped using the embedded
dumper.

CER_FAULT_ID
This variable contains the current unique fault identification number. In
Certitude, each fault has an ID that is used as a name for the fault for all Certitude
operations and database queries on faults. Operations on faults can be carried out
from scripts using this variable, and it can also help check that faults are
executed. When no fault has been executed, the value of this variable is 0.

CER_IFV_SCRIPT
This variable points to the path of an IFV Tcl script file in the Certitude package.
This Tcl script helps Certitude execute fault-setting related actions in the IFV

342 Certitude Reference Guide


Environment Variables: Variables Defined by Certitude

environment. The CER_IFV_SCRIPT variable is to be used in the execution


script.

Example of Use
Use it with the +tcl+ option in the ifv command:
ifv +tcl+${CER_IFV_SCRIPT} +ifv+org_ifv.tcl

or source it in the first line of original IFV running script:


source $::env(CER_IFV_SCRIPT)

CER_INSTRUMENT_DIR
This variable specifies the path to the directory where instrumented files are
copied for compilation and execution.
This directory is defined by the configuration option
-InstrumentationDirectory. By default it contains the path to
tmpHDLFiles e.g.
/home/johannl/test/certitude/tmpHDLFiles
if certitude project is in directory
/home/johannl/test/certitude/

This variable can be utilized in the user's own compilation script to obtain the
path of the instrumented code easily.

CER_INSTRUMENTED_FILES
This variable defines the file name which is filled at the compilation stage with
the list of the instrumented files.

Example of Use
Use this variable in certitude_compile for example:
ncverilog -c tb.v -f ${CER_INSTRUMENTED_FILES}

CER_JG_SCRIPT
This variable points to the path of the JasperGold Tcl script file in the Certitude
package. This Tcl script helps Certitude execute fault-setting related actions in
the JasperGold environment. The CER_JG_SCRIPT variable is to be used in the
execution script.

Certitude Reference Guide 343


Environment Variables: Variables Defined by Certitude

Example of Use
Source the variable in the first line of JasperGold running script:
source $::env(CER_JG_SCRIPT)

CER_JOB_ID
This variable contains the current unique job identification number. In Certitude,
each job has a unique identifier. It is not to be confused with the unique
simulation identifier. In Certitude single execution mode, the simulation ID and
the job ID are identical, because there is one simulation for each job. However,
in Certitude partially persistent mode, the two identifiers can be different because
one job can control several simulations. If uniqueness has to be checked, it is
safer to use CER_SIMULATION_ID.

CER_MSIM_PLI
This variable contains all the appropriate simulator options, along with the paths
to the appropriate PLI that are necessary for the elaboration with ModelSim
simulators. This variable is to be used in the compilation script.

Example of Use
vsim $CER_MSIM_PLI ...

CER_NC_PLI
This variable contains all the appropriate simulator options, along with the paths
to the appropriate PLI that are necessary for the elaboration with NC simulators.
This variable is to be used in the compilation script.

Example of Use
ncelab $CER_NC_PLI...

CER_NC_VPI
This variable contains all the appropriate simulator options, along with the paths
to the appropriate VPI that are necessary for the elaboration with NC simulators.
It is recommended to use CER_NC_VPI over CER_NC_PLI when the design
includes SystemVerilog files. This variable is to be used in the compilation script.

344 Certitude Reference Guide


Environment Variables: Variables Defined by Certitude

Example of Use
ncVerilog $CER_NC_VPI...

CER_PACKAGE_FILE
This variable defines the full filename (i.e. path/filename) of the package file (i.e.
the VHDL file where Certitude packages are added) to be compiled.
• path is the value of the InstrumentationDirectory configuration
option
• filename is the value of the VhdlCerPackageFile configuration option
When the package file (i.e. the VhdlCerPackageFile option) is not specified,
the Certitude packages will be added to the first compiled user file that is the first
file in the certitude_hdl_files.cer file with the -qualify option, such as:
addvhdl -file=<first compiled user file> -qualify
addvhdl -file=<second compiled user file> -qualify

This variable is available only for the VHDL language.

CER_PHASE
This variable contains the current phase. Available values include Activation,
Detection, Metric, Regression, and Optimizer. This variable is available
during compilations and simulations.

CER_SCENARIO_NAME
This variable defines the current scenario name. The name is the one provided by
the addscenario command in the certitude_testcases.cer setup file.

CER_SEED_VALUE
This variable defines the seed value. The value is the one provided by the
addseed command in the certitude_testcases.cer setup file.

CER_SIMULATION_ID
This variable contains the current unique simulation identification number. In
Certitude, each simulation has a unique identifier. It can be used, for example, to
check the reentrance of the tests. The variable provides insurance that each log is
unique.

Certitude Reference Guide 345


Environment Variables: Variables Defined by Certitude

CER_SIMULATION_RESULT
This variable contains a call to the script that starts the simulation results process
(CER_SIMU_RESULT can also be used). This variable is essential to Certitude use
because the simulation result process analyzes the simulation result and sets the
Certitude outcome from it. CER_SIMULATION_RESULT must be used in all
certitude_execute scripts.
This variable must be used with the -result= option that can receive Pass,
Fail, Abort, Retry, or UserDefine as values. As for the other two options, -
resultvalue= and -userdetectionreason=, they are optional. The -
resultvalue= option can be used for more elaborate processing and this
option can take a string. The -userdetectionreason= option takes a string
and can be used to add the reason indicating why a specific fault is detected. This
reason string can be obtained when querying from the jobinfo and faultinfo
commands.

Example of Use
if (pass)
$CER_SIMULATION_RESULT -result=Pass ;
else
$CER_SIMULATION_RESULT -result=Fail ;

CER_TESTCASE_GROUP
This variable contains the group name of the current testcase. The name is
provided by the user in the certitude_testcases.cer setup file with the
-testcasegroup option.

CER_TESTCASE_ID
This variable contains the current identification number of the testcase. This
number is actually the rank of the testcase in the certitude_testcases.cer list.

CER_TESTCASE_NAME
This variable contains the current testcase name. The name is the one provided
in the certitude_testcases.cer setup file. It is also the first parameter passed to
the execution script for the simulations. Sometimes, using the environment
variable is easier to catch this information.

346 Certitude Reference Guide


Environment Variables: Variables Defined by Certitude

When setting scenarios with the addscenario command, the value format of this
variable will contain the scenario name and a seed value if the running testcase
is derived from a scenario.

CER_THREAD_ID
This variable contains a unique thread ID for each used thread in a batch system.
When Certitude starts several simulations in parallel, each uses a thread. The
sanity check always has a thread ID 0. This variable can be used for identifying
threads in a script.

CER_VCS_PLI
This variable contains all the appropriate simulator options, along with the paths
to the appropriate PLI that are necessary for the elaboration with VCS simulators.
This variable is to be used in the compilation script.

Example of Use
vcs $CER_VCS_PLI ...

CER_VCS_VLOG_PLI
This variable contains all the appropriate simulator options, along with the paths
to the appropriate PLI that are necessary for the elaboration with VCS simulators.
Use this variable with designs that do not contain VHDL files.
This variable is to be used in the compilation script.

Example of Use
vcs $CER_VCS_VLOG_PLI ...

CER_WAVE_DUMP
This variable contains the current value of the wave dumping. When Certitude is
configured to automatically generate wave dumps for Non-Detected faults, this
variable has the value 0 for all faults except Non-Detected faults. When the status
of the fault is set to Non-Detected, the value is set to 1 and appropriate waves are
dumped.
This variable is set only when a waveform is being dumped without using the
embedded dumper.

Certitude Reference Guide 347


Environment Variables: Variables Defined by Certitude

CER_WAVE_DUMP_FILE_NAME
This variable contains the name of the current dump file. When waves are
dumped by Certitude, each dump file has a name that contains the testcase name
and the fault ID. The current file name can be checked with this variable.

CER_WAVE_DUMP_LEVEL
This variable contains the current value of the WaveDumpLevel configuration
option.
The value 0 means that all levels are dumped. The value 1 means that only the
top level (or the level defined as top for the qualification) is dumped. Values
starting from 2 and up mean that 2 (or more) levels are dumped, including the top
level.

CER_WAVE_USE_NOVAS_DEBUG
This variable contains the current value of the WaveUseNovasDebug
configuration option: 0 for false and 1 for true.

LD_LIBRARY_PATH
This environment variable is a resource for Unix and some Linux systems. It
contains paths of libraries that can be accessed dynamically. Every time
Certitude runs a compilation and runs a simulation, this variable is updated for
the Certitude specific libraries.
It usually does not have to be used in a script, except for example, when using
the Verdi system for dumping and viewing waveforms.

Example of Use
With VCS for example:
% setenv LD_LIBRARY_PATH \
$NOVAS_HOME/share/PLI/vcsd<version>_mhpi/<platform>

NOVAS_HOME
This variable points to the Verdi system installation directory. It is used whenever
the Verdi system is invoked from Certitude with the novas* commands or with
the interface commands in the HTML report viewer.

348 Certitude Reference Guide


Environment Variables: Variables Defined by the User

Variables Defined by the User

CER_C_VERBOSE
This variable is used for setting the level of verbosity when Certitude is used with
the C language. It is used for debug purposes. The existing levels are 0, 1, and 2,
from no verbose to maximum verbose. The usual setting in normal situations is
0, and 2 in debug situations.

CER_XLI_VERBOSE
This variable is used for setting the level of verbosity of the XLI. It is used for
debug purposes. The existing levels are 0, 1, 2, 3, and 4, from no verbose to
maximum verbose. The usual setting in normal situations is 0, and 2 in debug
situations.

CER_XLI_WATCHDOG_TIMEOUT
This variable defines the maximum CPU time that the Certitude watchdog will
wait for the simulation to report an advance in simulation time. If the simulation
time has not advanced within this time, then the watchdog will kill the
simulation.
The CPU time is monitored right after the simulated model is elaborated by the
simulator. The time to load the simulator into memory and launch the Unix
process is not included in this timeout.
The watchdog monitors whether the simulation time (the virtual time of the
simulated model) is advancing when the CPU time of the simulator is advancing.
This check is done by the XLI inside the simulator process.
The default setting is 120 seconds. If the simulation time has not advanced for
121 seconds, the simulation will be killed. A simulation killed by the watchdog
leads to a detected fault only if the execution script reports a failed simulation.
However, the watchdog only kills a Detection simulation with an active fault.
The watchdog never kills activation, reference, and non-instrumented
simulation.

CERTITUDE_CONFIG_CER
This variable is used for pointing to a configuration file that will be loaded after
the configuration file is located in the user's home directory, and before the

Certitude Reference Guide 349


Environment Variables: Variables Defined by the User

configuration file is located in the working directory. The existence of this file is
not mandatory.

CERTITUDE_LD_LIBRARY_PATH
CERTITUDE_LD_LIBRARY_PATH is used instead of LD_LIBRARY_PATH at
Certitude startup.
The user-specified LD_LIBRARY_PATH often points to low level C libraries
provided by third-party tools. Starting Certitude with C libraries that do not
correspond to the current operating system can lead it to a crash.
The user can specify appropriate paths in CERTITUDE_LD_LIBRARY_PATH. If
CERTITUDE_LD_LIBRARY_PATH is not specified, default system resources
will be used.

NOTE: The value of LD_LIBRARY_PATH will not be changed when running


Certitude.

350 Certitude Reference Guide


Setup Files: Certitude Configuration File

Setup Files

Certitude Configuration File


The certitude_config.cer file is the default qualification run configuration file.
• The default location for this file is <working_directory>/
certitude_config.cer.
• Each option is configured in this file using the setconfig command with
the configuration option name and the specified value separated by =. For
example:
setconfig -MaxJobsInParallel=5

• Lines beginning with # are treated as comments.


• A boolean option can be enabled by setting it to 1 or true and disabled by
setting it to 0 or false.
• Environment variables are interpreted in this file. For example:
exec ls $env(HOME)

The file <certitude_installation>/certitude_2.X_revNNNN/examples/XXXX/


certitude_config.cer provides an example of a configuration file.

The Mandatory Configuration Options

For HDL languages


The name of the top level component in the RTL DUV must be configured. For
example, if the top level entity/module is called my_design, then the Certitude
configuration file must contain:
setconfig -TopName=my_design

The name of the simulator must be configured. For example, when NCSim is to
be used:
setconfig -Simulator=ncsim

Certitude Reference Guide 351


Setup Files: Certitude Configuration File

For C language
Certitude Optimizer must be turned off when the qualification is run with a
design written in the C language:
setconfig -OptimizerAnalysis=false

Loading Order of the Configuration Files


When Certitude starts, the tool can load several configuration files one after the
other. The content of each file can overwrite the content of the previous one. The
configuration files are loaded in the following order:
1. <certitude_installation>/certitude_2.X_revNNNN//tclExtension/
certitude_config.cer
2. $home/certitude_config.cer
3. The file pointed by $CERTITUDE_CONFIG_CER environment variable
4. <working_directory>/certitude_config.cer

352 Certitude Reference Guide


Setup Files: Source Data File

Source Data File


Certitude can perform functional qualification of VHDL, Verilog, or
SystemVerilog code, mixed VHDL/Verilog code, or C code.
The certitude_hdl_files.cer file lists each source file and its library (when
applicable). It contains addvhdl, addverilog, addsystemverilog, and addc Tcl
commands. It can also source other files containing those Tcl commands.
• The default path for this file is: <working_directory>/
certitude_hdl_files.cer.
• The files are listed in their compilation order.
• Lines beginning with # are treated as comments.
• Files to be qualified by Certitude must have the -qualify option.
• Lines can be ignored (they will not be instrumented) by using the -ignore
option.
All user-created VHDL, Verilog or SystemVerilog source files in the design
hierarchy, which are under analysis, need to be listed in the source data file
because Certitude needs to parse the entire design hierarchy. The STD,
SYNOPSYS, and IEEE VHDL libraries are included automatically by Certitude
if the UseStdVhdlLibraries configuration option is set to true (which is the
default configuration setting). There is no such constraint for the C language: the
source data file can contain only the files where faults must be injected.
In the following example, the engine library which consists of three VHDL files
is analyzed. They are listed here in their compilation order (note that they are not
in the same directory):
/home/proj/vhdl/engine/engine_top.vhd
/home/proj/vhdl/engine/engine_core.vhd
/home/user/proj/engine/engine_conf.vhd

Assuming only the engine_core.vhd and engine_conf.vhd files want to be


qualified. The file called certitude_hdl_files.cer that contains the following
code can be created:
> more certitude_hdl_files.cer

# HDL files list


addvhdl -file=/home/proj/vhdl/engine/engine_top.vhd \
-library=engine
addvhdl -file=/home/proj/vhdl/engine/engine_core.vhd \
-library=engine -qualify
addvhdl -file=/home/user/proj/engine/engine_conf.vhd \
-library=engine -qualify

Certitude Reference Guide 353


Setup Files: Source Data File

If lines 10, 12, 13, 14, 15, and 101 in the file engine_core.vhd must be removed
from consideration, the content of certitude_hdl_files.cer must be changed as
follows:
# HDL files list
addvhdl -file=/home/proj/vhdl/engine/engine_top.vhd \
-library=engine
addvhdl -file=/home/proj/vhdl/engine/engine_core.vhd \
-library=engine -qualify -ignore=(10,12..15,101)
addvhdl -file=/home/user/proj/engine/engine_conf.vhd \
-library=engine -qualify

Output ports can be selected or discarded as probes with the -probelist and -
ignoreprobelist options. By default, whether the -qualify option is used or
not with the TopName HDL file, only the top module (as defined is the TopName
configuration option) output ports are considered as probes, enabled for
observation and set for propagation calculation. Therefore, when a fault causes a
difference at the TopName output ports, the fault is propagated (with the default
settings). Moreover, when -qualify is used with an HDL file, all the output
ports in the file are considered as probes and can later be enabled (with the
probeenable command).

The notion of probe is not applicable to designs written in the C language.


When the -probelist option is used with a file, only the probes specified in the
list are considered as probes and can later be enabled. All the other output ports
in the file (even TopName output ports) will be discarded.
When the -ignoreprobelist option is used, all the output ports in the file are
considered as probes except the probes specified in the list.
For VHDL files, a probe name is made from a library name, a unit name, and a
port name: <library name>.<unit name>.<port name>. A unit is a VHDL
entity. Here is an example of the probe option syntax for VHDL:
# HDL files list
addvhdl -file=/home/proj/vhdl/engine/engine_top.vhd \
-library=engine -probelist= \
[list engine.entity_1.port_1 engine.entity_1.port_3]
addvhdl -file=/home/proj/vhdl/engine/engine_core.vhd \
-library=engine -qualify
addvhdl -file=/home/user/proj/engine/engine_conf.vhd \
-library=engine -qualify \
-ignoreprobelist= engine.entity_4.port_21

For Verilog/SystemVerilog files, a probe name is made from a unit name and a
port name: <unit name>.<port name>. A unit is a Verilog module. Here is an
example of the probe option syntax for Verilog:
# HDL files list

354 Certitude Reference Guide


Setup Files: Source Data File

addverilog -file=/home/proj/verilog/engine/engine_top.v \
-probelist=[list module_1.port_1 module_1.port_3]
addverilog -file=/home/proj/verilog/engine/engine_core.v -qualify
addverilog -file=/home/user/proj/engine/engine_conf.v \
-qualify -ignoreprobelist= module_4.port_21

Certitude Reference Guide 355


Setup Files: Testcase Data File

Testcase Data File


The certitude_testcases.cer file specifies the list of testcase names.
• The default path for this file is working_directory/certitude_testcases.cer.
• This file is read at the beginning of the activation phase.
• The file is a standard Tcl script containing addtestcase commands.
For example:
#My three testcases
addtestcase -testcase=run1
addtestcase -testcase=confirmation
addtestcase -testcase=exception

In some verification environments there may be groups of testcases. For


example, a single test scenario using pseudo-random values may be run many
times with a different seed value for each testcase. Certitude can use this
information to provide more effective optimization algorithms.
To specify groups of testcases, the -testcasegroup option must be used. For
example, if there are six testcases and the certitude_testcases.cer file contains:
addtestcase -testcase=reg_test_seed123 -testcasegroup=group1
addtestcase -testcase=reg_test_seed142 -testcasegroup=group1
addtestcase -testcase=reg_test_seed1 -testcasegroup=group1
addtestcase -testcase=map_seed18 -testcasegroup=group2
addtestcase -testcase=map_seed2 -testcasegroup=group2
addtestcase -testcase=sanity -testcasegroup=group3

This indicates that there are three groups of testcases:


• group1= reg_test_seed123, reg_test_seed142, reg_test_seed1
• group2= map_seed18, map_seed2
• group3= sanity
Groups can be anything the user chooses, and using the -testcasegroup option
is recommended when there are many testcases. During the detection phase,
Certitude considers one fault at a time, and simulates with the fault all the
testcases that activate the fault and for which the fault is not Weak.
There can be a lot of testcases in the certitude_testcases.cer file and these
testcases have their running order. By default, the fastest testcase is run first, and
the longest last. When groups exist, Certitude tries to vary testcase groups as
much as possible during detection. The reason for this is that when a fault is not
detected by a given testcase, it can more likely be detected by a testcase of a

356 Certitude Reference Guide


Setup Files: Testcase Data File

different type than by a testcase of the same type. This is for improving the
detection performance.
Another advantage of using groups is that the testcaselist command in
Certitude has a -testcasegroup option that helps use subsets of testcases.

NOTE: Some characters cannot be used in the testcase names with Certitude. If
these characters are detected in certitude_testcases.cer, Certitude
prints an error message, asking for the testcase names to be changed.
The characters are: '$', '"', '&', '?', '<', '>', '}', '{', '|', '\', '^', '~', and '`'.

Certitude Reference Guide 357


Setup Files: Source Compilation Script

Source Compilation Script


The user-defined script certitude_compile is used by Certitude to compile the
instrumented source code (which is generated by Certitude).
The default location for this file is <working_directory>/certitude_compile.
Separate activation, detection, or regression compilation scripts (see
ActivationCompileScript, DetectionCompileScript, and
RegressionCompileScript configuration options) can be used to improve
performance in the iterative mode.
If the activation and detection compile scripts are separate, Certitude assumes
that the ActivationCompileScript compiles a verification environment which
is independent of the verification environment produced by the
DetectionCompileScript. Therefore the compilation for activation will be
performed one time (the first time the activation phase is passed through).
The compilation script must be executable, which can be set from the UNIX
command line. For example:
chmod u+x g+x <working_directory>/certitude_compile

With the default configuration (the IntrumentOnTop configuration option is set


to false), Certitude will create a local directory containing the modified source
code, referred to as the instrumentation directory. The name of this directory can
be configured. By default, it is: <working_directory>/tmpHDLFiles.
The instrumentation directory will not contain the included files. Rather, the
content of the included files is inserted in the code where the inclusion is
specified, and will be instrumented as part of the rest of the code.
Certitude creates two instrumented versions of the source code: one that is used
during the activation phase and one that is used during the detection phase.
Each file identified in certitude.hdl_files.cer will be created with a relative path
under this directory. For example, if this file contains:
addvhdl -file=/home/perfect/vhdl/perfect.vhd -qualify
addvhdl -file=./vhdl/also_perfect.vhd

then Certitude will create the following instrumented files:


<working_directory>/tmpHDLFiles/home/perfect/vhdl/perfect.vhd
<working_directory>/tmpHDLFiles/working_directory/vhdl/also_perfect.vhd

358 Certitude Reference Guide


Setup Files: Source Compilation Script

The user-defined script certitude_compile must compile and elaborate upon the
instrumented design so that it is ready for simulation. When the compilation
succeeds, the script should return 0; otherwise it should return 1.
For VHDL designs, Certitude instrumentation is simulator dependent. It uses the
simulator libraries to proceed to copies of signals. This means that Certitude must
have access to the simulator libraries through the compilation script:
• The NCUTILS libraries for NCSim
• The modelsim_lib for Modelsim
• The Synopsys libraries for VCS
If the InstrumentOnTop configuration option is set to 1, Certitude changes its
behavior to write the instrumented source code to the same location as the
original source code. The sequence followed by Certitude is:
1. Move the original source file (by adding the extension .cercopy).
2. Write the instrumented source code into the original source file.
3. Complete the compilation step.
4. Move the backup copy (with the extension .cercopy) back to the original
source file.
If the InstrumentOnTop option is set to true, the paths in the original compile
script do not need to be modified.
For the NCSIM simulator, the elaboration command must be changed so that
Certitude can connect to the simulator via the simulator's C interface. For
example, if the elaboration step in NCSim is performed by the following
command:
ncelab -messages TB:beh

then to enable the simulator’s C interface, the -access c option must be added
to the ncelab command. For example:
ncelab -access c -messages TB:beh

Certitude Reference Guide 359


Setup Files: Testcase Execution Script

Testcase Execution Script


The user-defined script certitude_execute is used by Certitude to execute a
testcase.
The default path for this file is <working_directory>/certitude_execute.
The file must be executable, and this property can be set from the UNIX
command line. For example:
chmod u+x g+x <working_directory>/certitude_execute

Separate activation, detection, and regression execution scripts (see


ActivationExecuteScript, DetectionExecuteScript, and
RegressionExecutionScript configuration options) can be used if two
different scripts are used for the compilation step. For example, when separate
compilation scripts are used, the execution script must take into account of this,
and this is best achieved when there are separate execution scripts. Making
activation and detection completely independent for both compilation and
execution can improve iterative use performance.
When Certitude calls the execution script (certitude_execute by default), it
passes a testcase name as the parameter:
.<working_directory>/certitude_execute testcase_name

Certitude executes certitude_execute during the activation phase and the


detection phase.
The script certitude_execute must return the result of the testcase execution
using a Certitude supplied script that can be called using the
$CER_SIMULATION_RESULT environment variable as follows:
if (failed) {
$CER_SIMULATION_RESULT -status=Fail;
} else {
$CER_SIMULATION_RESULT -status=Pass;
}

It is important to ensure that the testcase has been recompiled if necessary.

360 Certitude Reference Guide


HTML Report: Overview

HTML Report

Overview
The HTML report is generated with the report command, and can be viewed
with a web browser, or with its dedicated viewer with the viewreport command.
It contains all the qualification results, and is used for analysis of the results. The
HTML report displayed results are the same in both viewing modes (with a web
browser or with the report viewer). A few additional functional elements are
available when the viewer is used. Those elements are described in the Report
Viewer chapter. The following chapter describes the interface elements and
information found in both viewing modes, that is, when the report is used with a
web browser.
When the report is opened, it displays the status page.

Figure: HTML Report Menu Bar

The menu options are explained in the following pages.


Refer to Certitude Tutorials for a detailed usage example of the HTML report.

Certitude Reference Guide 361


HTML Report: Qualification Status Page

Qualification Status Page


Menu Bar: Qualification Status
The Qualification Status page is displayed when the HTML report is opened.

Figure: Qualification Status Page

This page contains:


• The start time, end time, and date for each phase of the qualification run.
• The total number of injected faults, the total number of faults in the
specified (all faults minus DisableByCertitude faults), and the number of
faults for each fault status.
• The values of all configuration options that do not have the default value,
for the qualification run.
A warning message about fault selection may appear on the status page. This
does not affect the report content and can be ignored.

362 Certitude Reference Guide


HTML Report: Fault Classes Page

Fault Classes Page


Menu Bar: Fault Classes
This page summarizes the qualification results for each fault class. A fault class
is a group of fault types. Some fault types share characteristics that facilitate a
group interpretation when the qualification results are analyzed.

Figure: Fault Class Page

Each fault class name in the table leads to a specific fault class page.

Specific Fault Class Pages


Menu Bar: Fault Classes -> <name of fault class>
This page contains a table for each of the following fault statuses: Non-Detected,
Non-Propagated, Non-Activated, and Disabled By Certitude.

Certitude Reference Guide 363


HTML Report: Fault Classes Page

Figure: ResetContitionTrue Fault Class Page

At the top of the page, there is a list of links for each fault status table, with the
number of faults contained in each fault status table.
These tables list each fault of the specified fault class and the specified status,
with the fault ID of the fault, distance to ouput for the fault, the type of fault,
severity rank for each Non-Detected fault (1 represents the most recommended
fault for debugging), the number of testcases usable for detection for this fault
(when relevant), the number of executed testcases for this fault (when relevant),
the source file name, and the line number where the fault is located.
Clicking on a fault ID displays the source code of the fault location.

364 Certitude Reference Guide


HTML Report: Source Files Page

Source Files Page


Menu Bar: Source Files
The Source Files page lists all the source files supplied by the user for the
qualification run.

Figure: Source Files Page

There are two parts in the list of files:


1. The source files where behavioral faults have been injected are displayed in
a table showing the total number of injected faults and the number of faults
for each fault status. The way the results are sorted and displayed can be
changed by clicking the column headings.
2. Three lists of source files where no faults have been injected are displayed
under the table. The ‘Files with faults, not included in the report’ list
contains source files where no faults are presented in the report. The faults
can either be faults with the DisabledByCertitude status (except
equivalent faults) or the excluded faults through the command report
-. The ‘Files not qualified by the user’ list contains source files for which
there is no -qualify option appended in the certitude_hdl_files.cer data
file. The ‘Files with no faults injected’ are source files for which there is a -
qualify option appended but Certitude did not inject faults in the code.
Clicking the name of a source file gives access to the source code. If the file
contains injected faults, the faults are colored and fault details are available. A
SHIFT-click or CTRL-click on the name of a file opens a new window or a new
tab containing the source code.
The fault status is indicated by a color. For example, the color for Non-Detected
faults is red. The Source Files page includes a quick link to descriptions for all
colors/fault statuses.

Certitude Reference Guide 365


HTML Report: Source Files Page

Source Files Source Code


Menu Bar: Source Files -> <name of source file>
The HTML report gives access to the original source code. This can be viewed
by clicking (or SHIFT clicking/ CTRL clicking) on a file name on the Source
Files page. In the source code pages, every fault injected in the design by
Certitude appears in a color.
The selection field filters faults by fault types and fault classes. The previous
arrow and next arrow icons can be clicked to navigate through faults by the
selected fault type or fault class.

Figure: Source File Source Code Page

When the cursor stays on a colored part, a tool tip appears with characteristics of
the fault(s) that have been injected at this location. This tool tip provides the fault
ID, the distance to output for the fault, the fault type, the fault status, the reason
for dropping if the fault is Dropped, the reason for disabling if the fault is
Disabled by Certitude, the number of executed testcases if the fault is Detected,
Non-Propagated (non Weak), or Non-Detected.

366 Certitude Reference Guide


HTML Report: Source Files Page

Clicking on the fault shows the corresponding instrumented source code and
additional details about the fault in the fault detail window.

Colors
A color convention guides the user towards the areas of interest. Every fault
injected in the design is shown in one of the following colors:
• Yellow - Non-Activated: the testbench has not activated the fault.
• Orange - Non-Propagated: the fault has been activated but no testcase has
propagated it.
• Green - Detected: at least one testcase has activated, propagated, and
detected the fault.
• Red - Non-Detected: the fault has been activated but no testcase has
detected it. This fault is propagated to the boundary of the DUV (or to a
probe set for propagation).
• Cyan - Disabled by User: the fault has been disabled by the user with the
faultdisable command.
• Blue - Disabled by Certitude: following configuration options settings, the
fault has been marked and disabled by Certitude.
• Light Grey - Dropped: the fault is discarded by Certitude because another
fault is Non-Detected in the same area of code, the same statement, or the
same functional block.
• Grey - Not Yet Qualified: the fault has not been fully processed yet. There
are two reasons why a fault may appear in grey: 1) The activation phase has
not been executed yet, or 2) The detection phase has not been executed yet
or has been interrupted before detection analysis has been completed for
this fault.

Fault Detail Window


Menu Bar: Source Files -> <name of source file> -> <fault>
When clicking on an injected fault in the source code, Certitude displays a
window with detailed fault information.

Certitude Reference Guide 367


HTML Report: Source Files Page

Figure: Fault Detail Window

Figure: Example of Displaying the Bus Indices for Bit Instrumented Connectivity Faults

This window contains the following information for all injected faults:
• The fault ID
• The fault type
• The status of the fault, associated with a color

368 Certitude Reference Guide


HTML Report: Source Files Page

• The reason why a fault has been disabled by Certitude (blue) or dropped
(light grey)
• The test that detected the fault when the fault is Detected – green color
• The original source code
• The instrumented source code
• The user data linked to that fault if any (when the configuration is set
accordingly)
• The reason why a simulation is ended when it is not a normal termination
• The distance to output for the fault
There can be several different faults injected in the same portion of code. In this
case, a table appears in the fault detail window. Clicking on a line in this table
displays information for the selected injected fault.
According to the status of the selected fault, Detected, Non-Detected, or Non-
Propagated, the fault detail window shows additional information accordingly:
• The testcase(s) that activate and propagate the selected injected fault
• The probes which the injected fault propagated to - for Non-Detected faults
• The testcases which activate the injected fault - for Non-Detected faults
• The reference simulation time without a fault injected
• The severity rank for fault-test pairs, starting from 1 to N (1 represents the
most recommended fault-test pair for debugging)
When a Non-Propagated fault is selected, the fault detail window shows the list
of executed testcases.
When a fault has been partially qualified (only a part of the executable testcases
for this fault have been run), the fault detail window provides information on the
testcases that have been run and the ones that have not.

Certitude Reference Guide 369


HTML Report: Testcases Page

Testcases Page
Menu Bar: Testcases
This page contains complete statistics for the testcases, a table with a list of the
testcases, and specific information for each testcase.

Figure: Testcases Page

The way the results are sorted and displayed can be changed by clicking the
column headings.
The information for each testcase contains:
• The testcase group name.
• The testcase name.
• The testcase run time to the nearest millisecond.
• The number of injected faults activated by the testcase.
• The number of times this testcase has been run during detection.
• The number of faults this testcase has propagated.
• The total number of faults this testcase has detected.
Clicking on a testcase name displays the testcase details window for this testcase.
A SHIFT-click or CTRL-click on a testcase name opens a new window or a new
tab containing the testcase details window for this testcase. The testcase details
page does not provide additional information to date.

370 Certitude Reference Guide


HTML Report: Probes Page – HDL Languages Only

Probes Page – HDL Languages Only


Menu Bar: Probes
The Probes page contains tables with the list of all probes, along with specific
information for each probe. The first table contains the probes added in Certitude
TopName, the second table contains the probes added in the other modules. This
page can be found in the HTML report only when the design is written in HDL
languages.

Figure: Probes Page

The way the results are sorted and displayed can be changed by clicking the
column headings.
The information for each probe contains:
• The status of the probe (off, enabled for observation, set for propagation).
• The name of the probe.
• The direction of the probe (out, in, or inout, depending on the type of port
the probe has been created on).
• The number of injected faults that are observed at the probe.
• The number of injected faults that are observed at the probe but are not
marked as propagated (this is for probes that are not set for propagation).
• The number of Non-Detected faults that are observed at the probe.

Certitude Reference Guide 371


HTML Report: User Data Commands

User Data Commands


The User Data item appears in the menu bar only if user data is present in the
database and the configuration is set accordingly (the configuration option
ShowUserDataInReport is set to true).

Fault User Data Page


Menu Bar: User Data -> Fault User Data
This page contains the list of user data keys for faults, according to the
configuration settings.

Figure: Fault User Data Page

Clicking on a data key opens a table containing the list of faults linked to that key.
Menu Bar: User Data -> Fault User Data -> <name of a user data key>
This table contains the following information:
• The fault ID.
• The fault type.
• The fault status.
• The value of the user data linked to this fault for the selected key.
• The source file where the fault is located.
• The code line where the fault is located.

372 Certitude Reference Guide


HTML Report: User Data Commands

Figure: Fault User Data Table

Clicking on a fault ID in the table displays the code where the fault is located,
centered on the fault. A SHIFT-click or CTRL-click on a fault ID opens a new
window or a new tab containing the source code.

File User Data Page


Menu Bar: User Data -> File User Data
This page contains the list of user data keys for source files, according to the
configuration settings.

Certitude Reference Guide 373


HTML Report: User Data Commands

Figure: File User Data Page

Clicking on a data key opens a table containing the list of files linked to that key.
Menu Bar: User Data -> File User Data -> <name of a user data key>
This table contains the following information:
• The name of the source file.
• The value of the user data linked to this file for the selected key.

Figure: File User Data Table

374 Certitude Reference Guide


HTML Report: User Data Commands

Testcase User Data Page


Menu Bar: User Data -> Testcase User Data
This page contains the list of user data keys for testcases, according to the
configuration settings.

Figure: Testcase User Data Page

Clicking on a data key opens a table containing the list of testcases linked to that
key.
Menu Bar: User Data -> Testcase User Data -> <name of a user data key>
This table contains the following information:
• The name of the testcase.
• The value of the user data linked to this testcase for the selected key.

Certitude Reference Guide 375


HTML Report: User Data Commands

Figure: Testcase User Data Table

Probe User Data Page


Menu Bar: User Data -> Probe User Data
This page contains the list of user data keys for probes, according to the
configuration settings.

Figure: Probe User Data Page

Clicking on a data key opens a table containing the list of probes linked to that
key.
Menu Bar: User Data -> Probe User Data -> <name of a user data key>

376 Certitude Reference Guide


HTML Report: User Data Commands

This table contains the following information:


• The name of the probe.
• The value of the user data linked to this probe for the selected key.

Figure: Probe User Data Table

DB User Data Page


Menu Bar: User Data -> DB User Data
This page contains the list of user data keys for the database, according to the
configuration settings, each followed by the value of the user data for the specific
key.

Figure: DB User Data Page

Certitude Reference Guide 377


HTML Report: Waveforms Page - HDL Languages Only

Waveforms Page - HDL Languages Only


Menu Bar: Waveforms
The Waveforms page contains a table with all the available waves that have been
dumped with Certitude. From each table, each wave can be opened in the Verdi
system for analysis.

Figure: Waveforms Page

The way the results are sorted and displayed can be changed by clicking the
column headings.
Each entry in the table represents a waveform created during a simulation
involving a fault and a testcase. The information for each wave contains:
• The ID of the fault used in the simulation.
• The class of the fault used in the simulation.
• The type of the fault used in the simulation.
• The status of the fault used in the simulation.
• The button used for opening the waveforms with and without the fault with
the Verdi system. This button is present only when there is a reference
waveform with the testcase without the fault.
• The file where the fault is located.
• The line number in the file where the fault is located.
• The name of the testcase used in the simulation.

378 Certitude Reference Guide


HTML Report: Help Commands

Help Commands

Fault Colors Explained


Menu Bar: Help -> Fault Colors Explained
Choosing this option opens a window showing the colors used by Certitude when
displaying instrumented source code, along with a short description for each
color.

Figure: Fault Colors Explained Form

Certitude Reference Guide 379


HTML Report: Help Commands

About
Menu Bar: Help -> About
Choosing this option displays Certitude version and copyright information.

Figure: About Form

380 Certitude Reference Guide


HTML Report: Toolbar Icons and Fields

Toolbar Icons and Fields


When the source code is displayed in the report, tool icons and fields appear on
the right side of the menu bar.

Figure: Tool Side of the Menu Bar

Status Selector and Navigation Arrows


Up and down arrows in the menu bar lead to the next (down arrow) and previous
(up arrow) line containing Non-Detected faults (by default) in the source code.
The status of the next and previous fault for navigation can be set with the pull-
down menu next to the arrows.

Source File Name


The name of the displayed source file appears on the right-most side of the menu
bar.

Certitude Reference Guide 381


HTML Report: HTML Metric Report

HTML Metric Report


The metric report consists of a single HTML page.

Figure: Metric Report Page

This page contains:


• The start and end time, date, and the total injected faults in the design for
each phase of the qualification run.
• The global metric and the three specific scores for the measured verification
environment.
• The values of the main configuration options for the metric run.
• The project description in terms of number of source files and testcases.
• A description of what the global metric and the three scores are.

382 Certitude Reference Guide


Report Viewer: Overview

Report Viewer

Overview
The HTML report is generated with the report command, and can be viewed
with a web browser, or with its dedicated viewer with the viewreport command.
It contains all the qualification results, and is used for analysis of the results. This
chapter focuses on the functional elements that are available in the report only
when the viewer is used. For the general structure and content of the HTML
report, refer to the HTML Report chapter.
The report viewer can be used only when Certitude is running. It is directly
linked with the results database, making report - database interaction features
available.

Certitude Reference Guide 383


Report Viewer: Global Report Viewer Features

Global Report Viewer Features


The following features are available on any pages of the report when the report
viewer is used.

Navigation and Reload


Navigation and reload buttons can be found in the toolbar on top of the report
window, above the menu bar.

Figure: Navigation and Reload Buttons

Back
Toolbar Icon:
Go to the previous page in the navigation history.

Forward
Toolbar Icon:
Go to the next page in the navigation history.

Reload
Toolbar Icon:
Update the viewer information with the current HTML report content in the
Certitude working directory.

When qualification results have changed, the report must be generated again in
Certitude, with the report command, before any change can be seen in the report
viewer with the Reload button. On the right-side of the toolbar, two buttons both
run a report command and reload the report viewer content.

384 Certitude Reference Guide


Report Viewer: Global Report Viewer Features

Find
Toolbar Icon:
Bind key: Ctrl+F
Activate the search bar at the bottom of the window.

Figure: Report Viewer Search Bar

Close
Toolbar Icon:
Remove the search bar.

Edit box
Any character string can be typed in the edit box.

Previous
Toolbar Icon:
Go to the previous occurrence of the character string in the source code.

Next
Toolbar Icon:
Go to the next occurrence of the character string in the source code.

Case Sensitive
Toolbar checkbox:
Set whether the character string search must be case sensitive or not.When this
checkbox is checked, the case in the character string will be matched (e.g. clk_im

Certitude Reference Guide 385


Report Viewer: Global Report Viewer Features

= clk_im and clk_IM = clk_IM). When this checkbox is empty, the case in the
character string will not be matched (e.g. clk_im = clk_Im = clk_iM = clk_IM).

NOTE: When the report viewer is used through an X server, the Ctrl+F bind key
can be caught by the X server program, interpreting it as a server
command and creating errors. When using an X server, the Ctrl+F bind
key must not be used.

Go to Fault
Toolbar Icon:
Bind key: Ctrl+G
Display the Go to Fault search form to locate the fault ID in the report window.
A fault ID number must be typed into the text field. When the OK button is
clicked, the report centers on the source code where the fault is located.

Figure: Report Viewer Go to Fault Window

NOTE: When the report viewer is used through an X server, the Ctrl+G bind key
can be caught by the X server program, interpreting it as a server
command and creating errors. When using an X server, the Ctrl+G bind
key must not be used.

Regenerate the Page


Toolbar Icon:
Generate a new report only for the current page and update the content of the
current page according to the newly generated page.

NOTE: Page-only report generation can make the entire report inconsistent. It is
strongly recommended to alternate with complete report generation.

Regenerate the Report


Toolbar Icon:

386 Certitude Reference Guide


Report Viewer: Global Report Viewer Features

Generate a new report and update the content according to the newly generated
report.

General Right-click Command Menu

Figure: Report Viewer Right-click Command Menu

Right-clicking in any report page except the code pages displays a contextual
menu with navigation commands as well as two search commands.

Go Back
This command performs the same action as the Back button in the toolbar.

Reload
Bind key: F5
This command performs the same action as the Reload button in the toolbar.

Find
Bind key: Ctrl+F
Activate the search bar at the bottom of the window.

Go to Fault
Bind key: Ctrl+G
Display the Go to Fault form.

Certitude Reference Guide 387


Report Viewer: Global Report Viewer Features

Increase Text Size


Bind key: Ctrl++
Increase the font size for all text elements in the report.

Decrease Text Size


Bind key: Ctrl+-
Decrease the font size for all text elements in the report.

Restore Text Size


Bind key: Ctrl+0
Set the font size for all text elements in the report to the default value.

Code Pages Right-click Command Menu

Figure: Code Pages Right-click Command Menu

Right-clicking in the code pages of the report (the pages where the source code
is displayed) displays a menu with the same commands as in the global right-
click menu plus several commands that act on selected faults.
All the commands on selected faults are also available in the fault detail window.
A fault is considered selected either when it has been highlighted or when the
right-click menu is invoked when the cursor is located on the fault.

388 Certitude Reference Guide


Report Viewer: Global Report Viewer Features

Set Comment on Selected Faults


Bind key: Ctrl+A
This command sets comments to the specified faults. When this command is
invoked, the Set comment form opens. After the desired fault status check box is
selected (multiple fault statuses can be selected), the Set comment button is
activated and comments can be typed in the text area for the specified faults.
Display of the fault statuses depends on the selected faults. Fault statuses not
relevant to the selected faults are grayed out. Click Set comment to create
information for the selected fault in the Certitude database with the userdataadd
command.

Figure: Set Comment Form

Remove Comment on Selected Fault(s)


Bind key: Ctrl+R
This command removes comments from the specified faults. When this
command is invoked, the Delete comment form opens. After the desired fault
status check box is selected (multiple fault statuses can be selected), the Delete
comment button is activated. Click Delete comment to erase the user
information for the fault from the Certitude database with the userdataremove
command.

Figure: Delete Comment Form

Certitude Reference Guide 389


Report Viewer: Global Report Viewer Features

Enable Selected Fault(s)


Bind key: Ctrl+E
This command enables the selected fault. When this command is invoked, a
Certitude question window opens asking, “Do you want to enable the selected
fault?”. Click OK to enable the selected fault in the Certitude database with the
faultenable command.

Disable Selected Faults


Bind key: Ctrl+D
This command disables the selected faults. When this command is invoked, the
Disable fault(s) form opens. After the desired fault status check box is selected
(multiple fault statuses can be selected), the Disable button is activated. Click
Disable to disable the selected fault in the Certitude database with the
faultdisable command.

Figure: Disable Fault(s) Form

390 Certitude Reference Guide


Report Viewer: Report Viewer Fault Detail Features

Report Viewer Fault Detail Features


Several specific features are found in the fault detail window when the report
viewer is used.

Figure: Fault Detail Window in the Report Viewer

1. There is an additional column in the main table at the left side of the fault
ID column. This column contains a Disable or Enable command.
2. Next to the code description of the fault is a button marked Analyze with
Verdi.
3. An editable text area is displayed between the fault table and the testcase
table.
4. In the testcase table buttons marked Dump Waveforms are displayed.

NOTE: Before the Analyze Waveforms with Verdi feature can be used, the
waveforms must be generated with the appropriate format in .fsdb files.
For details on how to generate .fsdb waveform files with Certitude, refer
to the Waveforms with the Verdi System section of the Dump and
Compare Waves with Certitude chapter of the User Manual.

Certitude Reference Guide 391


Report Viewer: Report Viewer Fault Detail Features

Disable/Enable Fault
Command Button:
This button disables the fault described in the same line of the table. When the
fault is already disabled, the Enable button replaces the Disable one. This sends
a faultdisable or faultenable command to the Certitude database.

Analyze with Verdi


Command Button:
This button starts the Verdi system by opening the code view and displaying the
design code where the fault has been injected in the Verdi system.

NOTE: Before the Analyze with Verdi feature can be used, the Verdi system
must be set accordingly. This means that the design must be compiled
with the Verdi system first. If this feature is used when the design has
not been compiled with the Verdi system first, it will generate an error
message in the Certitude shell.

Comment Addition Area


In the area below the fault’s description, comments can be typed and sent in the
Certitude database as user data attached to the currently selected fault. The
Update Command button sends userdataadd commands to Certitude.

Dump Waveforms
Command Button:
This button is for running the dumpwaves command with the selected fault and
the selected testcase. After the report has been regenerated, a new entry will
appear on the table in the Waveforms page of the report. There a command can
be used to open the waveforms in the Verdi system for analysis.

392 Certitude Reference Guide


Report Viewer: Report Viewer Probes Page Features

Report Viewer Probes Page Features


Probes settings can be changed directly from the Probes page in the report
viewer.

Figure: Probes Page in the Report Viewer

For each probe, selecting buttons sends commands to the Certitude database.
Choosing off sends a probedisable command for the specific probe. Choosing
efo sends a setprobe -setforpropagation=false command if the probe was
set for propagation, or a probeenable command if the probe was off. Choosing
sfp sends a setprobe -setforpropagation=true, along with a probeenable
command if the probe was off.

Certitude Reference Guide 393


Report Viewer: Report Viewer Probes Page Features

394 Certitude Reference Guide

You might also like