Sunteți pe pagina 1din 92

DesignChecker API Reference Manual

Release v2018.2

© 2017-2018 Mentor Graphics Corporation


All rights reserved.

This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this
document may duplicate this document in whole or in part for internal business purposes only, provided that this entire
notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable
effort to prevent the unauthorized use and distribution of the proprietary information.

Note - Viewing PDF files within a web browser causes some links not to function (see MG595892).
Use HTML for full navigation.
This document is for information and instruction purposes. Mentor Graphics reserves the right to make
changes in specifications and other information contained in this publication without prior notice, and the
reader should, in all cases, consult Mentor Graphics to determine whether any changes have been
made.

The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in
written agreements between Mentor Graphics and its customers. No representation or other affirmation
of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor
Graphics whatsoever.

MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE.

MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT,
EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at
private expense and are commercial computer software and commercial computer software
documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to
FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S.
Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth in
the license agreement provided with the software, except for provisions which are contrary to applicable
mandatory federal laws.

TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior
written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third-
party Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to
indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’
trademarks may be viewed at: mentor.com/trademarks.

The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of
Linus Torvalds, owner of the mark on a world-wide basis.

End-User License Agreement: You can print a copy of the End-User License Agreement from:
mentor.com/eula.

Mentor Graphics Corporation


8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777
Telephone: 503.685.7000
Toll-Free Telephone: 800.592.2210
Website: mentor.com
Support Center: support.mentor.com

Send Feedback on Documentation: support.mentor.com/doc_feedback_form


Table of Contents

Chapter 1
DesignChecker Batch Flow Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
DesignChecker Batch Flow Supported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
DesignChecker Batch Flow Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 2
DesignChecker API Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Design Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
addDesignUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
addFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
addFileList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
clearFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
getDownstreamLibraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
getFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
getLibrarySettings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
importDesignFromQuestaIniFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
importFileList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
projectSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
removeDesignUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
removeFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
setDownstreamLibraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
setLibrarySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
setVerilogDefaultDialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
setVHDLDefaultDialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Checking Flow Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
addRuleSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
clearExclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
createDefaultConfiguredRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
createDefaultRuleSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
dc_exclude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
disableParsingInSynthPragmas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
dumpConfiguredRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
getBlackBoxFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
getDontTouchFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
getMissingDeclarationsOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
loadRuleSetFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
newPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
newRuleSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
policySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
runAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
savePolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
saveResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

DesignChecker API Reference Manual, v2018.2 3


Table of Contents

saveRuleSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
setBlackBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
setConfigFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
setDontTouch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
setExclusionPragmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
setInstanceLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
setMissingDeclarationsOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
setPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
setRunQualityAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
setSignalLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
unsetBlackBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
unsetDontTouch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Reporting Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
disableDumpCodeSnippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
disableExportExcludedViolations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
disableFilterAssocViolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
enableDumpCodeSnippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
enableExportExcludedViolations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
enableFilterAssocViolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
enableSummaryExtraInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
loadResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
setCheckedFileDUsReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
setCheckedFileDUsReportContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
setCombinedReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
setCombinedReportContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
setExclusionReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
setExclusionReportContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
setResultContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
setResultOutput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
setRulesCheckedReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
setSnippetLinesAfter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
setSnippetLinesBefore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
setSummaryContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
setSummaryOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
End-User License Agreement

4 DesignChecker API Reference Manual, v2018.2


List of Tables

Table 2-1. Design Information APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12


Table 2-2. Checking Flow Information APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 2-3. Information Reporting APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

DesignChecker API Reference Manual, v2018.2 5


List of Tables

6 DesignChecker API Reference Manual, v2018.2


Chapter 1
DesignChecker Batch Flow Overview

DesignChecker enables you to check your project’s design files and perform various operations
on them. You can check the design files through scripting without invoking any interface tool
such as HDL Designer Series™ (HDS) or SystemVerilog-VHDL Assistant (SVA).
DesignChecker provides all the necessary API commands that you need in order to load, check,
and customize the configurations of your designs independently of any interface tool.
The mode in which you invoke an interface tool first, and then this interface tool invokes
DesignChecker, is also supported. In this mode, the interface tool invokes DesignChecker and
provides it with the required design information.

You can use the API commands listed in this document in the following cases:

• When you are using DesignChecker independently in batch mode, you can create a Tcl
script file containing your API commands, which DesignChecker directly executes.
• When you are using DesignChecker with an interface tool in batch mode, you can pass a
Tcl configuration file from the interface tool containing your API commands, which
DesignChecker subsequently executes.
In both cases, DesignChecker tool reads and executes the API commands described in this
document.

DesignChecker Batch Flow Supported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


DesignChecker Batch Flow Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

DesignChecker Batch Flow Supported


Features
DesignChecker implements a set of features to enable running the DesignChecker batch flow
through scripting without importing the design into any interface tool.
Note
It is not supported to trigger the DesignChecker GUI without an interface tool. Only batch
flow is supported.

DesignChecker API Reference Manual, v2018.2 7

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker Batch Flow Overview
DesignChecker Batch Flow Inputs

Supported Features
You can perform the following without an interface tool:

• Invoke DesignChecker batch flow.


• Load and import the design information.
• Use the supported APIs to interact with DesignChecker.
• Extract design information from QuestaSim compiled library.
• View the customer's design in a similar way to Questa/ModelSim during simulation.

Invocation Method
DesignChecker must receive the design information and the control flow information. To
invoke DesignChecker batch flow:

• For Windows®, open the command prompt and type the following:
./designchecker.exe -tcl <script_file_path>.tcl

• For Linux®1, open the shell and type the following:


./designchecker_run -tcl <script_file_path>.tcl

Where <script_file_path>.tcl is the path to your .tcl script file in which you source the design
and its setup data. You can organize your design and its setup data in separate files then source
them into a single <script_file_path>.tcl file.

DesignChecker Batch Flow Inputs


In order to operate in batch flow mode correctly, DesignChecker must receive specific input for
the design to be checked. Use the supported DesignChecker APIs to provide the input required
for design checking. This input is categorized into two groups: Design Information and Control
Flow Information.

Design Information
Following is the input required to specify the design information:

• List of design files


• Dialect for design files with extensions (optional)
• Library name of each design file
• Design unit names (optional)

1. Linux® is a registered trademark of Linus Torvalds in the U.S. and other countries.

8 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker Batch Flow Overview
DesignChecker Batch Flow Inputs

• Include or implicit include search paths per compiled library


• Library search path
• The +define information per compiled library

Note
Specify the QuestaSim location that will be used to import the design information into
DesignChecker. Once imported, you can use the supported DesignChecker APIs to
customize the design information.

Checking Flow Information


Following is the input required to specify the design flow control information:

• Ruleset and Policyset directory locations


• Policy to be applied during checks
• Don’t Touch or Blackbox files (optional)
• Exclusion pragmas (optional)
• Missing declarations (optional)
• DesignChecker constraints file per library (optional)
• Configuration file

Reporting Information
• Exporting Reports format and location:
o Output file
o Summary output
o Checked files
o Exclusions files
o Rule details files
• Saving Results as tbc file
Related Topics
DesignChecker API Command Reference

DesignChecker API Reference Manual, v2018.2 9

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker Batch Flow Overview
DesignChecker Batch Flow Inputs

10 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
Chapter 2
DesignChecker API Command Reference

DesignChecker provides various commands that allow you to directly load and manage the
designs in batch flow through scripting without a need to invoke an interface tool. There are
different API categories, each category supports specific type of design input such as, Design
Information, Checking Flow Information, and Reporting Information
Design Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Checking Flow Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Reporting Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

DesignChecker API Reference Manual, v2018.2 11

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
Design Information

Design Information
DesignChecker provides various APIs that allow you use and customize the design information.

Table 2-1. Design Information APIs


API Description
addDesignUnit Adds the specified design unit(s) to the current project.
addFile Adds a new file to the current projects’ design files list.
addFileList Adds list of input files to the current projects’ design files.
clearFiles Removes all added design files.
getDownstreamLibraries Returns a Tcl list of the current downstream libraries.
getFiles Returns the current list of design files in the following format
{fileName, library, dialect, ordered or unordered}.
getLibrarySettings Returns settings in the specified libraries.
importDesignFromQuestaI Enables you to import a design from Questa’s .ini file to
niFile DesignChecker.
importFileList Allows you to import list of files to the project design files.
projectSettings Manages the current project settings.
removeDesignUnit Removes the specified design unit a from the design unit list.
removeFile Removes the specified file from the design file list.
setDownstreamLibraries Takes a Tcl list of libraries and sets them as downstream
libraries.
setLibrarySettings Allows you to set settings to the specified libraries.
setVerilogDefaultDialect Allows you to set a default Verilog dialect as a global
preference.
setVHDLDefaultDialect Allows you to set a default VHDL dialect as a global
preference.

12 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
addDesignUnit

addDesignUnit
Adds the specified design unit(s) to the current project.
Usage
addDesignUnit <duNames> [-library libraryName]
Arguments
• <duNames>
Design unit name(s) to be added. This may be a single design unit, a list of design units, or a
list of entity/architecture pairs.
• [-library libraryName]
Name of the library where the design unit(s) will be added. The default value is “work”.
Examples
Add a single entity or a list of entities to the current project. This example will result in
including the entities and all of their architectures in the analysis.

addDesignUnit ent
addDesignUnit {ent1 ent2}

Add entity/architecture pair(s) to the current project. This example will result in including the
entities and specific architectures in the analysis. No other architectures of the entities will be
included.

addDesignUnit { {ent arch} }


addDesignUnit { {ent1 arch} {ent2 arch} }

DesignChecker API Reference Manual, v2018.2 13

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
addFile

addFile
Adds a new file to the current projects’ design files list.
Usage
addFile <filePath> [-library <libraryName>] [-dialect <dialect>] [-order]
Arguments
• <filePath>
File path to be added to the project. Note that this argument accepts relative paths as well as
full paths.
• [-library <libraryName>]
Name of the library where the design file should be added. The default library is “work”.
• [-dialect <dialect>]
The dialect to be used for parsing the file. If this argument is missing, the tool uses the
dialect set as a global preference using the setVerilogDefaultDialect and
setVHDLDefaultDialect API commands.
The supported dialects are:
o VHDL_ANY
o VHDL_87
o VHDL_93
o VHDL_2002
o VHDL_2008
o VERILOG_ANY
o VERILOG_95
o VERILOG_2001
o SYSTEM_VERILOG_2002
o SYSTEM_VERILOG_2003
• [-order]
Do not perform ordering operation on this file.

14 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
addFileList

addFileList
Adds list of input files to the current projects’ design files.
Usage
addFileList fileList
Arguments
• fileList
List of files to add to the project. Each file is defined by the following:
o File Path: Path to the input file to add. Note that this argument accepts relative paths
as well as full paths.
o Library: (Optional) Name of the library where the file should be added.
o Dialect: (Optional) The dialect used for parsing the file.
Examples
This would add listOfFiles to the current projects’ design.

set listOfFiles [list $project1/file1.vhd $project1/file2.v $project1/


file3.vhd]

addFileList $listOfFiles

DesignChecker API Reference Manual, v2018.2 15

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
clearFiles

clearFiles
Removes all added design files.
Usage
clearFiles
Arguments
None.

16 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getDownstreamLibraries

getDownstreamLibraries
Returns a Tcl list of the current downstream libraries.
Usage
getDownstreamLibraries
Arguments
None.
Examples
This is an example of a Tcl procedure that returns the current downstream libraries set in
DesignChecker.

set currDownstreamLibs [getDownstreamLibraries]

DesignChecker API Reference Manual, v2018.2 17

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getFiles

getFiles
Returns the current list of design files in the following format {fileName, library, dialect,
ordered or unordered}.
Usage
getFiles
Arguments
None.
Examples
The following example shows how to get the files list:

addFile C:/HDS/my_project17/my_project17_lib/hdl/top_rtl.vhd -dialect


VHDL_2008 -library lib1
addFile C:/HDS/my_project17/my_project17_lib/hdl/child_rtl.vhd -dialect
VHDL_2008 -library lib1
runAnalysis
set inputFiles [getFiles]
foreach one $inputFiles {
puts $one
}

The files list is returned as follows:

{C:\HDS\my_project17\my_project17_lib\hdl\child_rtl.vhd} lib1 VHDL_2008


ordered
{C:\HDS\my_project17\my_project17_lib\hdl\top_rtl.vhd} lib1 VHDL_2008
ordered

In the above example, the getFiles API returns a list of ordered files (according to the design
hierarchy) when used after the runAnalysis API.

18 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getLibrarySettings

getLibrarySettings
Returns settings in the specified libraries.
Usage
getLibrarySettings [-library (libraryList | * | all)] [-incdir] [-macros] [-exclusionFile]
Arguments
• [-library (libraryList | * | all)]
Name of the library from which the settings will be returned.
• [-incdir]
List of paths to be returned.
• [-macros]
Macros definitions.
• [-exclusionFile]
Path to the specific library exclusion file.
Return Values
{ {libraryName1 {optionName1 optionValue1} {optionName2 optionValue2} ... }
{libraryName2 {optionName1 optionValue1} {optionName2 optionValue2} ... } ... }

DesignChecker API Reference Manual, v2018.2 19

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
importDesignFromQuestaIniFile

importDesignFromQuestaIniFile
Enables you to import a design from Questa’s .ini file to DesignChecker.
Note
This API command is used with Questa 10.7 or later.

Usage
importDesignFromQuestaIniFile [filePath] [-lib (libraryList | * | all)] [-top
libraryName.topUnitName]
Arguments
• [filePath]
The modelsim.ini file to import. The default value for the modelsim.ini file is your current
working directory $CWD/modelsim.ini.
• [-lib (libraryList | * | all)]
List of libraries to import from the modelsim.ini file. The default value is “work”. This
argument cannot be passed with -top.
• [-top libraryName.topUnitName]
Top unit name from which to traverse the hierarchy and load the corresponding files and
design units only.
You should separate the Library names and top unit names using the dot character. If you do
not specify the libraryName, then the default value is “work”. You cannot pass this
argument with -lib.
Description

Downstream Libraries
The importDesignFromQuestaIniFile API command calls getDownstreamLibraries and sets all
files in the returned downstream libraries as black box.

If you do not have any set downstream libraries, the importDesignFromQuestaIniFile API
command automatically sets the default vendor libraries (that is, the vendor libraries you are
using in your design) as downstream libraries, and then sets all files in those libraries as black
box. The current default downstream libraries are as follows:

• secureip
• unisim
• unimacro
• unifast
• XilinxCoreLib

20 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
importDesignFromQuestaIniFile

• unisims_ver
• unimacro_ver
• unifast_ver
• simprims_ver
• XilinxCoreLib_ver
• lpm
• sgate
• altera_mf
• altera
• lpm_ver
• sgate_ver
• altera_mf_ver
• altera_ver
Questa vopt Options
QUESTA_VOPT_OPTIONS environment variable enables you to set all the vopt options you
need. The options you set override any options previously calculated by the
importDesignFromQuestaIniFile API command.

For example, you can use the QUESTA_VOPT_OPTIONS environment variable in the Tcl
script, before the importDesignFromQuestaIniFile API command, to pass the option “work.gbl”
to the vopt executable.

set ::env(QUESTA_VOPT_OPTIONS) "work.glbl -L work"


importDesignFromQuestaIniFile -top $lib.$topDU $modelSimIniPath

Examples
This example imports the library “work” from the .ini file in the path $CWD/modelsim.ini.

importDesignFromQuestaIniFile

This example searches all files and folders in the specified directory and imports all files named
modelsim.ini.

importDesignFromQuestaIniFile -lib all $modelSimIniPath

DesignChecker API Reference Manual, v2018.2 21

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
importFileList

importFileList
Allows you to import list of files to the project design files.
Usage
importFileList <fileListPath> [-library libraryName]
[-verilogDialect defaultVerilogDialect]
[-vhdlDialect defaultVHDL_Dialect]
Arguments
• <fileListPath>
Path to the TXT file. Note that this argument accepts relative paths as well as full paths.
• [-library libraryName]
Name of the library where the file will be imported.
• [-verilogDialect defaultVerilogDialect]
Default dialect for all verilog files in filelist, overwritten if specified in filelist. If this
argument is not specified, the tool uses the dialect set as a global preference using the
setVerilogDefaultDialect API command.
• [-vhdlDialect defaultVHDL_Dialect]
Default dialect for all VHDL files in filelist, overwritten if specified in filelist. If this
argument is not specified, the tool uses the dialect set as a global preference using the
setVHDLDefaultDialect API command.
Description
This API defines a TXT file that contains the list of files. This TXT file contains multiple lines
in the following format:

• <filePath> [library] [dialect]


Note that:

• <filePath> accepts both relative and full file paths. For relative paths, the path is relative
to your current directory, or to the TXT file where it is written in.
• If the dialect or library is missing in the file, default will be picked from function call
header.
• If the library is missing in both file and function call header, DesignChecker will pick
the default from the project settings.
• If the dialect is missing in both file and function call header, DesignChecker uses the
dialect set as a global preference using the setVerilogDefaultDialect and
setVHDLDefaultDialect API commands.

22 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
projectSettings

projectSettings
Manages the current project settings.
Note
This API command has multiple optional arguments. If you set an optional argument, the
command sets the argument with the value you specify. If not, the command returns the
current value of this argument.

Usage
projectSettings [-VerilogExtensions extension_list] [-VerilogDefaultLibrary library] [-
VerilogIncludePath path_list] [-VerilogLibrarySearch library] [-VHDLExtensions
extension_list] [-VHDLDefaultLibrary library] [-MasterClocks] [-MasterResets] [-
RuleSetDirectory path] [-PolicyDirectory path] [-GlobalExclusionFilePath filepath]
Arguments
• Verilog Settings:
o -VerilogExtensions extension_list
List of Verilog file extensions for DesignChecker to interpret as Verilog files.
Define the extensions space-separated.
The default Verilog extensions are v, vlg, verilog, vo, sv, and svh. Any extensions
you set override the default Verilog extensions.
o -VerilogDefaultLibrary library
Default library in which to add Verilog files.
o -VerilogIncludePath path_list
List of paths in which to search for Verilog Include files. Define the paths
semicolon-separated. Note that this argument accepts relative paths as well as full
paths.
o -VerilogLibrarySearch library
Verilog libraries in which to search for design units. Define the libraries space-
separated.
• VHDL Settings:
o -VHDLExtensions extension_list
List of VHDL file extensions for DesignChecker to interpret as VHDL files. Define
the extensions space-separated.
The default VHDL extensions are vhd, vhdl, and vho. Any extensions you set
override the default VHDL extensions.

DesignChecker API Reference Manual, v2018.2 23

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
projectSettings

o -VHDLDefaultLibrary library
Default library in which to add VHDL files.
• -MasterClocks
This option only gets a value. You cannot use this option to set Master Clocks.
• -MasterResets
This option only gets a value. You cannot use this option to set Master Resets.
• -RuleSetDirectory path
Path of the ruleset directory. Note that this argument accepts relative paths as well as full
paths.
• -PolicyDirectory path
Path of the policy directory. Note that this argument accepts relative paths as well as full
paths.
• -GlobalExclusionFilePath filepath
Path of the global exclusion file. Note that this argument accepts relative paths as well as
full paths.
Examples
The following example sets the ruleset directory of the current project.

projectSettings -RuleSetDirectory “$RuleDir”

The following example gets the current ruleset directory of the current project.

set RuleDir [projectSettings -RuleSetDirectory]

The following example gets the current list of Verilog extensions, stores the list in the variable
vlogExts, adds a new verilog extension (vp) to the list, and sets the -VerilogExtensions option to
use the modified list.

set vlogExts [projectSettings -VerilogExtensions]


lappend vlogExts "vp"
projectSettings -VerilogExtensions $vlogExts

24 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
removeDesignUnit

removeDesignUnit
Removes the specified design unit a from the design unit list.
Usage
removeDesignUnit [-library (libraryList | * | all)] [-du (duNameList | * | all)]
Arguments
• [-library (libraryList | * | all)]
Libraries to search in. It takes the value '*' for all libraries. Its default value is “work”.
• [-du (duNameList | * | all)]
Design units to be removed. It takes the value '*' for all Design Units. Its default value is all
Design Units.

DesignChecker API Reference Manual, v2018.2 25

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
removeFile

removeFile
Removes the specified file from the design file list.
Usage
removeFile [-library (libraryList| * | all)] [-dialect (dialectList | * | all)] [-file (fileList | * | all)]
Arguments
• [-library (libraryList| * | all)]
Libraries to search in. It takes the value '*' for all libraries. Its default value is “work”.
• [-dialect (dialectList | * | all)]
Dialects to match with. It takes the value '*' for all dialects. Its default value is all dialects.
• [-file (fileList | * | all)]
Files to be removed. It takes the value '*' for all Files. Its default value is all Files. Note that
if the value is set to fileList, it will accept relative paths as well as full paths.

26 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setDownstreamLibraries

setDownstreamLibraries
Takes a Tcl list of libraries and sets them as downstream libraries.
Usage
setDownstreamLibraries libraryList
Arguments
• libraryList
List of libraries to set as downstream libraries.
Examples
This example sets the following Tcl list as downstream libraries: unisim and simprim.

setDownstreamLibraries [list unisim simprim]

DesignChecker API Reference Manual, v2018.2 27

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setLibrarySettings

setLibrarySettings
Allows you to set settings to the specified libraries.
Usage
setLibrarySettings [-library (libraryList | * | all)] [-incdir pathList] [-macros macrosString] [-
exclusionFile filePath]
Arguments
• [-library (libraryList | * | all)]
Name of the libraries to set its settings. The character '*' allows you to apply your settings
for all libraries. Its default value is "work".
• [-incdir pathList]
List of paths to search in. Note that this argument accepts relative paths as well as full paths.
Paths should be written and separated by semicolon. Note that paths are searched in the
given order.
• [-macros macrosString]
Macros definitions.
• [-exclusionFile filePath]
Path to the specific library exclusion file. Note that this argument accepts relative paths as
well as full paths. Also, it overwrites the GlobalExclusionFilePath.

28 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setVerilogDefaultDialect

setVerilogDefaultDialect
Allows you to set a default Verilog dialect as a global preference.
Usage
setVerilogDefaultDialect <dialect>
Arguments
• <dialect>
Default Verilog dialect to set as a global preference. This dialect is overridden by any
Verilog dialect you set on the file level using the addFile, addFileList and importFileList
API commands.
The supported dialects are:
o VERILOG_ANY
o VERILOG_95
o VERILOG_2001
o SYSTEM_VERILOG_2002
o SYSTEM_VERILOG_2003

Note
If you set the dialect as VERILOG_ANY, the tool performs dialect auto detection.

DesignChecker API Reference Manual, v2018.2 29

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setVHDLDefaultDialect

setVHDLDefaultDialect
Allows you to set a default VHDL dialect as a global preference.
Usage
setVHDLDefaultDialect <dialect>
Arguments
• <dialect>
Default VHDL dialect to set as a global preference. This dialect is overridden by any VHDL
dialect you set on the file level using the addFile, addFileList and importFileList API
commands.
The supported dialects are:
o VHDL_ANY
o VHDL_87
o VHDL_93
o VHDL_2002
o VHDL_2008

Note
If you set the dialect as VHDL_ANY, the tool performs dialect auto detection.

30 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
Checking Flow Information

Checking Flow Information


DesignChecker provides various APIs that allow you provide and customize the design
checking flow information.

Table 2-2. Checking Flow Information APIs


API Description
addRuleSet Adds an existing RuleSet to the current default policy.
clearExclusions Clears all current exclusions and resets the path of the global/
library constraints files used in the current DesignChecker
session.
createDefaultConfiguredRu Creates a default configured rule from a given base rule then
le adds it to the specified rule set.
createDefaultRuleSet Creates a ruleset that contains all the base rules set to their
default parameter values.
dc_exclude Excludes the selected library design unit or file from being
checked by the specified rule or ruleset.
disableParsingInSynthPrag Sets/unsets synthesis pragmas to operate at parsing level,
mas therefore disables/enables parsing the enclosed code.
dumpConfiguredRules Dumps the contents of a given ruleset to a file.
getBlackBoxFiles Returns a list of all BlackBox files.
getDontTouchFiles Returns a list of all DontTouch files.
getMissingDeclarationsOpt Allows you to get different options for handling missing
ions declarations.
loadRuleSetFile Loads a ruleset into DesignChecker from a specific ruleset
file.
newPolicy Creates a new empty policy and adds it to the policies. This
policy is used as the current default policy.
newRuleSet Creates a new empty ruleset and adds it to the rulesets.
policySettings Enables/disables all or specific policy objects (rulesets or
configured rules) that will be used in analysis.
runAnalysis Runs DesignChecker analysis on the added file(s) and design
unit(s).
savePolicy Saves the specified policy.
saveResults Allows you to save the current results to the tbc results file.
saveRuleSet Saves the specified ruleset.
setBlackBox Allows you to set a file/list of files to a BlackBox filelist.

DesignChecker API Reference Manual, v2018.2 31

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
Checking Flow Information

Table 2-2. Checking Flow Information APIs (cont.)


API Description
setConfigFile Allows you to set the configuration file for DesignChecker.
setDontTouch Allows you to set a file/list of files to a Don’t Touch files.
setExclusionPragmas Allows you to set exclusion pragmas.
setInstanceLimit Specifies a default integer limit to the number of instance
declarations found in a HDL file by the HDL parser.
setMissingDeclarationsOpti Allows you to set different options for handling missing
ons declarations.
setPolicy Sets the specified policy as the default in the DesignChecker
analysis.
setRunQualityAnalysis Allows you to include/exclude quality analysis.
setSignalLimit Specifies a default integer limit to the number of signal
declarations found in a HDL file by the HDL parser.
unsetBlackBox Allows you to unset file/list of files from a BlackBox files.
unsetDontTouch Allows you to unset file/list of files from a Don’t Touch files.

32 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
addRuleSet

addRuleSet
Adds an existing RuleSet to the current default policy.
Usage
addRuleSet <rulesetname>
Arguments
• <rulesetname>
Name of an existing ruleSet that will be added to the policy.

DesignChecker API Reference Manual, v2018.2 33

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
clearExclusions

clearExclusions
Clears all current exclusions and resets the path of the global/library constraints files used in the
current DesignChecker session.
Usage
clearExclusions
Arguments
None.
Examples
This example from a Tcl file clears previous exclusions used in the loaded results.

loadResults C:\DC\results.tbc
clearExclusions

34 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
createDefaultConfiguredRule

createDefaultConfiguredRule
Creates a default configured rule from a given base rule then adds it to the specified rule set.
Usage
createDefaultConfiguredRule <baserulename> <rulesetname>
Arguments
• <baserulename>
Name of the base rule to be instantiated. The name must be one of the existing base rule
names.
• <rulesetname>
Name of the rule set to which the configured rule will be added.

DesignChecker API Reference Manual, v2018.2 35

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
createDefaultRuleSet

createDefaultRuleSet
Creates a ruleset that contains all the base rules set to their default parameter values.
Usage
createDefaultRuleSet <rulesetname>
Arguments
• <rulesetname>
Name of the ruleset that will contain all the configured rules.

36 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
dc_exclude

dc_exclude
Excludes the selected library design unit or file from being checked by the specified rule or
ruleset.
Usage
dc_exclude -library <library name | * | all >
-design_unit <design unit name | * | all>
-source_file <file path | * | all >
-start_line <line number>
-end_line <line number>
-check <check path>
-comment <comment text>
Arguments
• -library <library name>
Specifies the library to exclude from the check.
• -design_unit <design unit name>
Specifies the design unit name to excluded from the check. You must specify either “-
design_unit” or “-source_file”.
• -source_file <file path | * | all >
Specifies the path to the file to be excluded from the check. Note that this argument accepts
both relative and full file paths. For relative paths, the path is relative to your current
directory, or to the TCL script where it is written in. Also, you must specify either “-
design_unit” or “-source_file”.
• -start_line <line number>
(Optional) Specifies the start line of the excluded range. It only accepts integers.
• -end_line <line number>
(Optional) Specifies the end line of the excluded range. It only accepts a positive integer
greater than or equal the start_line.
• -check <check path>
Specifies the path to the rule or ruleset name to be disabled for a specific design unit or file.
• -comment <comment text>
(Optional) Specifies comment text that you can associate with the defined exclusion.

DesignChecker API Reference Manual, v2018.2 37

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
dc_exclude

Examples
Exclude the file coverage.svh from being checked by the Verification_UVM ruleset:

dc_exclude -source_file {R:\SVA\examples\projects\UVM\multadd_uvm\


multadd_uvm_hds_lib\svassistant\multadd_uvm\Design_Src\environment\
coverage.svh}
-check {RuleSets\Verification_UVM}

Exclude the design unit “Printer” from being checked by the UVM components build_phase()
method required:

dc_exclude -design_unit {printer}


-check {RuleSets\Verification_UVM\UVM Components: build_phase() method
required}

Exclude the file scoreboard.svh from being checked by the Allowed Classes base rule and all its
configured rules:

dc_exclude -source_file {R:\SVA\examples\projects\UVM\multadd_uvm\


multadd_uvm_hds_lib\svassistant\multadd_uvm\Design_Src\environment\
scoreboard.svh}
-check {Base Rules\Verification\Allowed Classes}
-comment {exclusions}

Exclude line 38 in design unit "hp_maf_5_graphics" from being checked by the configured rule
"RuleSets\Essentials\Downstream Checks\Avoid Asynchronous Reset Release".

dc_exclude -design_unit hp_maf_5_graphics


-start_line 38 -end_line 38
-check {RuleSets\Essentials\Downstream Checks\Avoid Asynchronous Reset
Release}
-comment {Reset Exclusion}

38 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
disableParsingInSynthPragmas

disableParsingInSynthPragmas
Sets/unsets synthesis pragmas to operate at parsing level, therefore disables/enables parsing the
enclosed code.
Usage
disableParsingInSynthPragmas <0|1>
Arguments
• <1|0>
The API accepts 0 to keep synthesis pragmas operating at synthesis level, and accepts 1 to
set synthesis pragmas to operate at parsing level. By default, the preference is not set.
Description
If the preference is set once, it is saved for future use.

The API impacts the following directives: translate_off/on or synthesis_off/on.

Examples
disableParsingInSynthPragmas 1

DesignChecker API Reference Manual, v2018.2 39

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
dumpConfiguredRules

dumpConfiguredRules
Dumps the contents of a given ruleset to a file.
Usage
dumpConfiguredRules <rulesetname> <file>
Arguments
• <rulesetname>
The name of the ruleset that contains the configured rules.
• <file>
File path to which the ruleset will be dumped. Note that this argument accepts relative paths
as well as full paths.

40 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getBlackBoxFiles

getBlackBoxFiles
Returns a list of all BlackBox files.
Usage
getBlackBoxFiles [-file (fileList | * | all)] [-library (libraryList | * | all)]
Arguments
• [-file (fileList | * | all)]
All the files that will be checked. Its default value is all. Note that this argument accepts
relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default library is "work".
Return Values
{fileName libraryName}

DesignChecker API Reference Manual, v2018.2 41

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getDontTouchFiles

getDontTouchFiles
Returns a list of all DontTouch files.
Usage
getDontTouchFiles [-file (fileList | * | all)] [-library (libraryList | * | all)]
Arguments
• [-file (fileList | * | all)]
All the files that will be checked. Its default value is all. Note that this argument accepts
relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default library is "work".
Return Values
{fileName libraryName}

42 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
getMissingDeclarationsOptions

getMissingDeclarationsOptions
Allows you to get different options for handling missing declarations.
Usage
getMissingDeclarationsOptions [-report] [-reportLocation] [-generate] [-generateDontTouch] [-
generateBuffers] [-generateOption] [-generateLocation] [-copyBeforeGenerate] [-
copySuffix]
Arguments
• If no arguments are specified, all options will be returned.
Options can be as follows:
o [-report]
o [-reportLocation]
o [-generate]
o [-generateDontTouch]
o [-generateBuffers]
o [-generateOption]
o [-generateLocation]
o [-copyBeforeGenerate]
o [-copySuffix]

DesignChecker API Reference Manual, v2018.2 43

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
loadRuleSetFile

loadRuleSetFile
Loads a ruleset into DesignChecker from a specific ruleset file.
Usage
loadRuleSetFile <rulesetfile>
Arguments
• <rulesetfile>
File path of the saved ruleset file from which the ruleset will be loaded into DesignChecker.

44 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
newPolicy

newPolicy
Creates a new empty policy and adds it to the policies. This policy is used as the current default
policy.
Usage
newPolicy <policyname>
Arguments
• <policyname>
Name of the new policy.

DesignChecker API Reference Manual, v2018.2 45

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
newRuleSet

newRuleSet
Creates a new empty ruleset and adds it to the rulesets.
Usage
newRuleSet <rulesetname>
Arguments
• <rulesetname>
Name of the new ruleset.

46 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
policySettings

policySettings
Enables/disables all or specific policy objects (rulesets or configured rules) that will be used in
analysis.
Usage
policySettings ( [-disableAll [justification]] | [-enableAll] ) [-disable <object_name>
[justification]] [-enable <object_name>]
Arguments
• -disableAll
Disables all rulesets and rules inside the default policy.
• -enableAll
Enables all rulesets and rules inside the default policy.
• -disable <object_name>
Disables rule or ruleset according to the <object_name>.
• -enable <object_name>
Enables rule or ruleset according to the <object_name>.
Note
Object path should always start with policy name.
<object_name> can be specified as <object_path> as well.

• justification
Optional reason for disabling policy settings.
Examples
Note
The disableAll and enableAll arguments cannot be used at the same time. However, you
may use disable or enable with disableAll or enableAll simultaneously.

Disable all rules with justification then enable the "Allowed Pragmas” rule:

policySettings -disableAll "disableAll_justification" -enable "Allowed


Pragmas"

Enable all rules then disable “Code Reuse” ruleset with justification:

policySettings -enableAll "My_Checklist_Policy\\Checklist\\Case Checks" -


disable "Code Reuse" "disable_justification"

DesignChecker API Reference Manual, v2018.2 47

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
policySettings

Enable the “Vector Order” rule, then enable the “Coding Practices” ruleset, and finally disable
the “Unique Names” rule with no justification:

policySettings -enable "Vector Order" -enable "Coding Practices" -disable


"Unique Names"

48 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
runAnalysis

runAnalysis
Runs DesignChecker analysis on the added file(s) and design unit(s).
Usage
runAnalysis [-depth (Single | Design)] [-top [library [primary [secondary] ] ] ]
Arguments
• -depth
Allows you to set the depth of the analysis. The default value is Design.
o Single
Disables the design dependency check.
o Design
Enables the design dependency check.
• -top [library [primary [secondary] ] ]
Specifies the top design unit to run on its hierarchy. If not specified, DesignChecker will
detect and run on all top design units in the default library.
Note
When using the option -top with the runAnalysis command, DesignChecker
determines the design units to analyze based on the hierarchy of the top design unit
rather than the design units added using the "addDesignUnit" API.

Examples
Runs DesignChecker analysis with UART_TXT.uart_tb set as a top design

runAnalysis -depth Design –top UART_TXT uart_tb

Runs DesignChecker analysis with UART_TXT.uart_top(rtl) set as a top design unit

runAnalysis –top UART_TXT uart_top rtl

DesignChecker API Reference Manual, v2018.2 49

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
savePolicy

savePolicy
Saves the specified policy.
Usage
savePolicy <policyname>
Arguments
• <policyname>
Name of the policy to be saved.

50 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
saveResults

saveResults
Allows you to save the current results to the tbc results file.
Usage
saveResults <resultfile_path.tbc>
Arguments
• <resultfile_path.tbc>
Path of the tbc results file where the current results will be saved. Note that this argument
accepts relative paths as well as full paths.

DesignChecker API Reference Manual, v2018.2 51

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
saveRuleSet

saveRuleSet
Saves the specified ruleset.
Usage
saveRuleSet <rulesetname>
Arguments
• <rulesetname>
Name of the ruleset to be saved.

52 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setBlackBox

setBlackBox
Allows you to set a file/list of files to a BlackBox filelist.
Usage
setBlackBox [-file (fileList | * | all)] [-library (libraryList | * | all)] [-comment comment]
Arguments
• [-file (fileList | * | all)]
Name of the files that need to be set as BlackBox. Its default value is all. Note that if the
value is set to fileList, it will accept relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default value is "work".
• [-comment comment]
Allows you to add a comment about the files. Its default value is “no comment”. Note that
this argument is optional.

DesignChecker API Reference Manual, v2018.2 53

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setConfigFile

setConfigFile
Allows you to set the configuration file for DesignChecker.
Usage
setConfigFile <configFile>
Arguments
• <configFile>
Path to DesignChecker configuration file. Note that this argument accepts relative paths as
well as full paths.

54 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setDontTouch

setDontTouch
Allows you to set a file/list of files to a Don’t Touch files.
Usage
setDontTouch [-file (fileList | * | all)] [-library (libraryList | * | all)] [-comment comment]
Arguments
• [-file (fileList | * | all)]
Name of the files that need to be set as Don’t Touch. Its default value is all. Note that if the
value is set to fileList, it will accept relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default value is "work".
• [-comment comment]
Allows you to add a comment about the files. Its default value is “no comment”. Note that
this argument is optional.

DesignChecker API Reference Manual, v2018.2 55

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setExclusionPragmas

setExclusionPragmas
Allows you to set exclusion pragmas.
Usage
setExclusionPragmas <pragmasText>
Arguments
• <pragmasText>
List of exclusion pragmas in the form of {pragma_class, start_pragma, end_pragma}.
Following are the supported pragma classes:
o pragma
o hds
o synthesis
o synopsys
o exemplar
o <any>: any of the supported classes
Following are the supported start and end pragmas along with their classes:
pragmas classes
translate_off & translate_on pragma, hds, synthesis, synopsys, exemplar
synthesis_off & synthesis_on pragma, synthesis, synopsys, exemplar
dc_script_begin & dc_script_end pragma, synthesis, synopsys
header_start & header_end hds
checking_off & checking_on pragma, hds, synthesis

Examples
Enable the pragma for hds class only:

setExclusionPragmas {{ hds translate_off translate_on }}

Enable pragma for all supported classes:

setExclusionPragmas {{ <any> translate_off translate_on }}

Enable the synthesis_off and checking_off for pragma class synthesis:

setExclusionPragmas {{ synthesis synthesis_off synthesis_on } {synthesis


checking_off checking_on}}

56 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setInstanceLimit

setInstanceLimit
Specifies a default integer limit to the number of instance declarations found in a HDL file by
the HDL parser.
Usage
setInstanceLimit <instance limit>
Arguments
• <instance limit>
Instance limit integer input. Default value is 1000.

DesignChecker API Reference Manual, v2018.2 57

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setMissingDeclarationsOptions

setMissingDeclarationsOptions
Allows you to set different options for handling missing declarations.
Usage
setMissingDeclarationsOptions [-report] [-reportLocation] [-generate] [-generateDontTouch] [-
generateBuffers] [-generateOption] [-generateLocation] [-copyBeforeGenerate] [-
copySuffix]
Arguments
• [-report]
It takes the value “on” to enable and “off” to disable reporting missing VHDL Entity/
Component declarations. Its default value is “on”.
• [-reportLocation]
Path of the report file. Its default value is CWD. Note that this argument accepts relative
paths as well as full paths.
• [-generate]
It takes the value “on” to enable and “off” to disable the generation or using of missing
declarations. Its default value is “on”.
• [-generateDontTouch]
It takes the value “on” to enable and “off” to disable the generation or using of missing
declarations in Don’tTouch files. Its default value is “on”.
• [-generateBuffers]
It takes the value “on” to enable and “off” to disable the generation or using of missing
buffers. Its default value is “on”.
• [-generateOption] (all | new | none)
This argument takes one of the below values:
o all: Generates all missing declarations and does not use any of the existing one.
o new: Generates new missing declarations only and reuses the rest. This is the default
value.
o none: Does not generate missing declarations and reuses existing ones.
• [-generateLocation]
Path of the directory that will contain the generated missing declarations. Its default value is
CWD. Note that this argument accepts relative paths as well as full paths.
• [-copyBeforeGenerate]
It takes the value “on” to backup old generated missing declarations and “off” not to backup
old generated missing declarations. Its default value is “on”.

58 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setMissingDeclarationsOptions

• [-copySuffix]
Suffix of the backup files. Its default value is ".bak".

DesignChecker API Reference Manual, v2018.2 59

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setPolicy

setPolicy
Sets the specified policy as the default in the DesignChecker analysis.
Usage
setPolicy <policyName>
Arguments
• <policyName>
The name of the policy to be set as default.

60 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setRunQualityAnalysis

setRunQualityAnalysis
Allows you to include/exclude quality analysis.
Usage
setRunQualityAnalysis [switch]
Arguments
• [switch]
It takes the values on to include quality analysis and off to exclude quality analysis. Its
default value is on.

DesignChecker API Reference Manual, v2018.2 61

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setSignalLimit

setSignalLimit
Specifies a default integer limit to the number of signal declarations found in a HDL file by the
HDL parser.
Usage
setSignalLimit <signal limit>
Arguments
• <signal limit>
Signal limit integer value. Default value is 1000.

62 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
unsetBlackBox

unsetBlackBox
Allows you to unset file/list of files from a BlackBox files.
Usage
unsetBlackBox [-file (fileList | * | all)] [-library (libraryList | * | all)]
Arguments
• [-file (fileList | * | all)]
Name of the files that need to be unset to BlackBox. Its default value is all. Note that if the
value is set to fileList, it will accept relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default library is "work".

DesignChecker API Reference Manual, v2018.2 63

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
unsetDontTouch

unsetDontTouch
Allows you to unset file/list of files from a Don’t Touch files.
Usage
unsetDontTouch [-file (fileList | * | all)] [-library (libraryList | * | all)]
Arguments
• [-file (fileList | * | all)]
Name of the files that need to be unset to Don’t Touch. Its default value is all. Note that if
the value is set to fileList, it will accept relative paths as well as full paths.
• [-library (libraryList | * | all)]
Name of the libraries to search in for the files. The character '*' allows you to search in all
libraries. Its default library is "work".

64 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
Reporting Information

Reporting Information
DesignChecker provides various APIs that allow you use and customize the design reporting
information.

Table 2-3. Information Reporting APIs


API Description
disableDumpCodeSnippet Disables dumping the code snippet to the Exported Results.
On using this command, the DesignChecker Results report
does not show the code snippet containing the violation.
disableExportExcludedViol Disables adding excluded violations to the Exported Results,
ations namely to the Results report.
disableFilterAssocViolation Disables filtering the associated violations to the Exported
Results.
enableDumpCodeSnippet Enables dumping a code snippet to the Exported Results. On
using this command, the DesignChecker Results report
shows the code snippet containing the violation in a column.
enableExportExcludedViol Enables adding excluded violations to the Exported Results,
ations namely to the Results report.
enableFilterAssocViolation Enables filtering associated violations in the Exported
Results, namely in the Results report.
enableSummaryExtraInfo Enables or disables extra information in the Summary pane
of the Results tab and in the Summary report. The extra
information includes the DesignChecker version, time of
running analysis, policy and ruleset status, in addition to
timestamps for policy and ruleset.
loadResults Allows you to load the results from the tbc results file.
setCheckedFileDUsReport Sets the file(s) and format(s) to which you will export the
DesignChecker checked file(s) and design unit(s) report.
setCheckedFileDUsReport Sets the sections to include in the DesignChecker Checked
Contents Files/Design Units report, that is, which panes from the
Checked Files/Design Units tab.
setCombinedReport Sets the file(s) and format(s) to which the DesignChecker
combined report will be exported.
setCombinedReportContent Allows you to set the contents of the combined report file.
setExclusionReport Sets the file(s) and format(s) to which you will export the
current design exclusions report.
setExclusionReportContent Sets the sections you want to include in the DesignChecker
s Exclusions report, that is, which panes from the Exclusions
tab.

DesignChecker API Reference Manual, v2018.2 65

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
Reporting Information

Table 2-3. Information Reporting APIs (cont.)


API Description
setResultContent Allows you to set the contents of the results file.
setResultOutput Sets the file(s) and format(s) to which the DesignChecker
analysis results will be exported.
setRulesCheckedReport Sets the file(s) and format(s) to which you will export the
DesignChecker Rule Details report.
setSnippetLinesAfter Sets the number of lines, following the violation line, that
needs to be exported to results.
setSnippetLinesBefore Sets the number of lines, preceding the violation line, that
needs to be exported to results.
setSummaryContent Allows you to set the contents of the summary file.
setSummaryOutput Sets the file(s) and format(s) to which the DesignChecker
analysis summary will be exported.

66 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
disableDumpCodeSnippet

disableDumpCodeSnippet
Disables dumping the code snippet to the Exported Results. On using this command, the
DesignChecker Results report does not show the code snippet containing the violation.
Usage
disableDumpCodeSnippet
Arguments
None.

DesignChecker API Reference Manual, v2018.2 67

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
disableExportExcludedViolations

disableExportExcludedViolations
Disables adding excluded violations to the Exported Results, namely to the Results report.
Usage
disableExportExcludedViolations
Arguments
None.

68 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
disableFilterAssocViolation

disableFilterAssocViolation
Disables filtering the associated violations to the Exported Results.
Usage
disableFilterAssocViolation
Arguments
None.

DesignChecker API Reference Manual, v2018.2 69

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
enableDumpCodeSnippet

enableDumpCodeSnippet
Enables dumping a code snippet to the Exported Results. On using this command, the
DesignChecker Results report shows the code snippet containing the violation in a column.
Usage
enableDumpCodeSnippet
Arguments
None.

70 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
enableExportExcludedViolations

enableExportExcludedViolations
Enables adding excluded violations to the Exported Results, namely to the Results report.
Usage
enableExportExcludedViolations
Arguments
None.

DesignChecker API Reference Manual, v2018.2 71

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
enableFilterAssocViolation

enableFilterAssocViolation
Enables filtering associated violations in the Exported Results, namely in the Results report.
Usage
enableFilterAssocViolation
Arguments
None.

72 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
enableSummaryExtraInfo

enableSummaryExtraInfo
Enables or disables extra information in the Summary pane of the Results tab and in the
Summary report. The extra information includes the DesignChecker version, time of running
analysis, policy and ruleset status, in addition to timestamps for policy and ruleset.
Usage
enableSummaryExtraInfo <1|0>
Arguments
• <1|0>
Extra information is enabled in the Summary pane by default.

DesignChecker API Reference Manual, v2018.2 73

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
loadResults

loadResults
Allows you to load the results from the tbc results file.
Usage
loadResults <resultfile_path.tbc>
Arguments
• <resultfile_path.tbc>
Path of the tbc results file where the saved results will be loaded. Note that this argument
accepts relative paths as well as full paths.
Note
You can load results by adding the -loadresults switch directly in the command used to
execute DesignChecker in batch mode (without using -tcl). For example:

./designchecker.exe -loadresults <results_file_path>.tbc

Tip
If you provide the global constraints file before the loadResults API command, the
exclusions in the loaded results are ignored and instead the exclusions in the constraints file
are applied to the loaded results. In addition, after loading results in the DesignChecker GUI,
you will be able to add, edit and remove exclusions which will be saved in the constraints file.

projectSettings -GlobalExclusionFilePath <constraints file path>


loadResults <results file path>

74 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setCheckedFileDUsReport

setCheckedFileDUsReport
Sets the file(s) and format(s) to which you will export the DesignChecker checked file(s) and
design unit(s) report.
Usage
setCheckedFileDUsReport <filelist> <formatlist>
Arguments
• <filelist>
File paths of the results file(s). Note that this argument accepts relative paths as well as full
paths. You can generate multiple Checked Files/Design Units reports.
• <formatlist>
Formats of the results file(s). It can be “TSV”, “CSV”, or “HTML”.
Examples
This example sets the file paths and formats of the Checked Files/Design Units reports you want
to export.

setCheckedFileDUsReport {"/home/username/CheckedFiles.csv" "/home/


username/CheckedFiles.htm"} {"CSV" "HTML"}

DesignChecker API Reference Manual, v2018.2 75

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setCheckedFileDUsReportContents

setCheckedFileDUsReportContents
Sets the sections to include in the DesignChecker Checked Files/Design Units report, that is,
which panes from the Checked Files/Design Units tab.
Usage
setCheckedFileDUsReportContents <sections>
Arguments
• <sections>
Sections to include in the Checked Files/Design Units report. It can be: Checked Files or
Checked Design Units.
Examples
This example includes the contents of both the Checked Files and Checked Design Units panes
in the report.

setCheckedFileDUsReportContents {{Checked Files} {Checked Design Units}}

76 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setCombinedReport

setCombinedReport
Sets the file(s) and format(s) to which the DesignChecker combined report will be exported.
Usage
setCombinedReport <filelist> <formatlist>
Arguments
• <filelist>
The file list paths of result file(s) that contain a list of files to be exported. Note that this
argument accepts relative paths as well as full paths.
• <formatlist>
Formats of the result file(s). It can be “TSV”, “CSV” or “HTML”.

DesignChecker API Reference Manual, v2018.2 77

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setCombinedReportContent

setCombinedReportContent
Allows you to set the contents of the combined report file.
Usage
setCombinedReportContent <contentList>
Arguments
• <contentList>
A list that specifies the content of the combined report file. The content can be:
o Analysis Results
o Results Summary
o Excluded Violations
o Exclusions
o Checked Files and Design Units
o Rule Details

78 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setExclusionReport

setExclusionReport
Sets the file(s) and format(s) to which you will export the current design exclusions report.
Usage
setExclusionReport <filelist> <formatlist>
Arguments
• <filelist>
File paths of the results file(s). Note that this argument accepts relative paths as well as full
paths. You can generate multiple exclusion reports.
• <formatlist>
Formats of the results file(s). It can be “TSV”, “CSV”, or “HTML”.
Examples
This example sets the file paths and formats of the exclusion reports you want to export.

setExclusionReport {"/home/username/ExcRep.csv" "/home/username/


ExcRep.htm"} {"CSV" "HTML"}

DesignChecker API Reference Manual, v2018.2 79

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setExclusionReportContents

setExclusionReportContents
Sets the sections you want to include in the DesignChecker Exclusions report, that is, which
panes from the Exclusions tab.
Usage
setExclusionReportContents <sections>
Arguments
• <sections>
Sections to include in the Exclusions report. You can specify one or more of the following:
o Code/Rule Exclusions
o Black Boxed Files
o Don’t Touch Files
o Exclusion Pragmas
o Pragma Code Excluded
o Unbound Component/Instances
o Summary
Examples
Sets the DesignChecker Exclusion report to include Black Boxed files and Don’t Touch files:

setExclusionReportContents {{Black Boxed Files} {Don't Touch Files}}

80 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setResultContent

setResultContent
Allows you to set the contents of the results file.
Usage
setResultContent <contentList>
Arguments
• <contentList>
A list that specifies the content of the results file. Contents could be:
o Library
o Filename
o Leaf Filename
o Line Number
o Rule Name
o RuleSet
o Rule Category
o Rule Severity
o Hint
o Message
o Scope
o Design Unit Name
o Severity, Ruleset and Rule
o File and Line
o Library, Design Unit and Scope
o Violation ID
o Parent Violation ID
o Code Snippet
o Type
o Rule Path
o Full Message
o Full Message with Rule Path

DesignChecker API Reference Manual, v2018.2 81

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setResultContent

o Severity and Rule Path


o Excluded

82 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setResultOutput

setResultOutput
Sets the file(s) and format(s) to which the DesignChecker analysis results will be exported.
Usage
setResultOutput <filelist> <formatlist>
Arguments
• <filelist>
The file list paths of results file(s) that contain a list of files to be exported. Note that this
argument accepts relative paths as well as full paths.
• <formatlist>
Formats of the results file(s). It can be “TSV”, “CSV” or “HTML”.

DesignChecker API Reference Manual, v2018.2 83

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setRulesCheckedReport

setRulesCheckedReport
Sets the file(s) and format(s) to which you will export the DesignChecker Rule Details report.
Usage
setRulesCheckedReport <filelist> <formatlist>
Arguments
• <filelist>
File paths of results file(s). You can generate multiple Rule Details reports. Note that this
argument accepts relative paths as well as full paths.
• <formatlist>
Formats of the results file(s). It can be “TSV”, “CSV”, or “HTML”.
Examples
This example sets the file paths and formats of the Rule Details reports you want to export.

setRulesCheckedReport {"/home/username/RulesCheckedRep.csv" "/home/


username/RulesCheckedRep.tsv"} {"CSV" "TSV"}

84 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setSnippetLinesAfter

setSnippetLinesAfter
Sets the number of lines, following the violation line, that needs to be exported to results.
Note
Before using this API, make sure you enable the enableDumpCodeSnippet API.

Usage
setSnippetLinesAfter <number of lines>
Arguments
• <number of lines>
The number of lines to export after the violation line.
Related Topics
enableDumpCodeSnippet

DesignChecker API Reference Manual, v2018.2 85

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setSnippetLinesBefore

setSnippetLinesBefore
Sets the number of lines, preceding the violation line, that needs to be exported to results.
Note
Before using this API, make sure you enable the enableDumpCodeSnippet API.

Usage
setSnippetLinesBefore <number of lines>
Arguments
• <number of lines>
The number of lines to export before the violation line.
Related Topics
enableDumpCodeSnippet

86 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setSummaryContent

setSummaryContent
Allows you to set the contents of the summary file.
Usage
setSummaryContent <contentList>
Arguments
• <contentList>
A list that specifies the content of the summary file. Contents could be:
o Settings
o Exclusions
o Quality
o Violations
o Rules
o Design Units

DesignChecker API Reference Manual, v2018.2 87

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
DesignChecker API Command Reference
setSummaryOutput

setSummaryOutput
Sets the file(s) and format(s) to which the DesignChecker analysis summary will be exported.
Usage
setSummaryOutput <filelist> <formatlist>
Arguments
• <filelist>
The file list paths of summary file(s) that contain a list of files to be exported. Note that this
argument accepts relative paths as well as full paths.
• <formatlist>
Formats of the summary file(s). It can be “TSV”, “CSV” or “HTML”.

88 DesignChecker API Reference Manual, v2018.2

Note - Viewing PDF files within a web browser causes some links not to function. Use HTML for full navigation.
End-User License Agreement
The latest version of the End-User License Agreement is available on-line at:
www.mentor.com/eula

IMPORTANT INFORMATION

USE OF ALL SOFTWARE IS SUBJECT TO LICENSE RESTRICTIONS. CAREFULLY READ THIS LICENSE
AGREEMENT BEFORE USING THE PRODUCTS. USE OF SOFTWARE INDICATES CUSTOMER’S COMPLETE
AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
ANY ADDITIONAL OR DIFFERENT PURCHASE ORDER TERMS AND CONDITIONS SHALL NOT APPLY.

END-USER LICENSE AGREEMENT (“Agreement”)

This is a legal agreement concerning the use of Software (as defined in Section 2) and hardware (collectively “Products”)
between the company acquiring the Products (“Customer”), and the Mentor Graphics entity that issued the corresponding
quotation or, if no quotation was issued, the applicable local Mentor Graphics entity (“Mentor Graphics”). Except for license
agreements related to the subject matter of this license agreement which are physically signed by Customer and an authorized
representative of Mentor Graphics, this Agreement and the applicable quotation contain the parties’ entire understanding
relating to the subject matter and supersede all prior or contemporaneous agreements. If Customer does not agree to these
terms and conditions, promptly return or, in the case of Software received electronically, certify destruction of Software and all
accompanying items within five days after receipt of Software and receive a full refund of any license fee paid.

1. ORDERS, FEES AND PAYMENT.

1.1. To the extent Customer (or if agreed by Mentor Graphics, Customer’s appointed third party buying agent) places and Mentor
Graphics accepts purchase orders pursuant to this Agreement (each an “Order”), each Order will constitute a contract between
Customer and Mentor Graphics, which shall be governed solely and exclusively by the terms and conditions of this Agreement,
any applicable addenda and the applicable quotation, whether or not those documents are referenced on the Order. Any
additional or conflicting terms and conditions appearing on an Order or presented in any electronic portal or automated order
management system, whether or not required to be electronically accepted, will not be effective unless agreed in writing and
physically signed by an authorized representative of Customer and Mentor Graphics.

1.2. Amounts invoiced will be paid, in the currency specified on the applicable invoice, within 30 days from the date of such invoice.
Any past due invoices will be subject to the imposition of interest charges in the amount of one and one-half percent per month
or the applicable legal rate currently in effect, whichever is lower. Prices do not include freight, insurance, customs duties, taxes
or other similar charges, which Mentor Graphics will state separately in the applicable invoice. Unless timely provided with a
valid certificate of exemption or other evidence that items are not taxable, Mentor Graphics will invoice Customer for all
applicable taxes including, but not limited to, VAT, GST, sales tax, consumption tax and service tax. Customer will make all
payments free and clear of, and without reduction for, any withholding or other taxes; any such taxes imposed on payments by
Customer hereunder will be Customer’s sole responsibility. If Customer appoints a third party to place purchase orders and/or
make payments on Customer’s behalf, Customer shall be liable for payment under Orders placed by such third party in the event
of default.

1.3. All Products are delivered FCA factory (Incoterms 2010), freight prepaid and invoiced to Customer, except Software delivered
electronically, which shall be deemed delivered when made available to Customer for download. Mentor Graphics retains a
security interest in all Products delivered under this Agreement, to secure payment of the purchase price of such Products, and
Customer agrees to sign any documents that Mentor Graphics determines to be necessary or convenient for use in filing or
perfecting such security interest. Mentor Graphics’ delivery of Software by electronic means is subject to Customer’s provision
of both a primary and an alternate e-mail address.

2. GRANT OF LICENSE. The software installed, downloaded, or otherwise acquired by Customer under this Agreement, including any
updates, modifications, revisions, copies, documentation, setup files and design data (“Software”) are copyrighted, trade secret and
confidential information of Mentor Graphics or its licensors, who maintain exclusive title to all Software and retain all rights not
expressly granted by this Agreement. Except for Software that is embeddable (“Embedded Software”), which is licensed pursuant to
separate embedded software terms or an embedded software supplement, Mentor Graphics grants to Customer, subject to payment of
applicable license fees, a nontransferable, nonexclusive license to use Software solely: (a) in machine-readable, object-code form
(except as provided in Subsection 4.2); (b) for Customer’s internal business purposes; (c) for the term of the license; and (d) on the
computer hardware and at the site authorized by Mentor Graphics. A site is restricted to a one-half mile (800 meter) radius. Customer
may have Software temporarily used by an employee for telecommuting purposes from locations other than a Customer office, such as
the employee’s residence, an airport or hotel, provided that such employee’s primary place of employment is the site where the
Software is authorized for use. Mentor Graphics’ standard policies and programs, which vary depending on Software, license fees paid
or services purchased, apply to the following: (a) relocation of Software; (b) use of Software, which may be limited, for example, to
execution of a single session by a single user on the authorized hardware or for a restricted period of time (such limitations may be
technically implemented through the use of authorization codes or similar devices); and (c) support services provided, including
eligibility to receive telephone support, updates, modifications, and revisions. For the avoidance of doubt, if Customer provides any
feedback or requests any change or enhancement to Products, whether in the course of receiving support or consulting services,
evaluating Products, performing beta testing or otherwise, any inventions, product improvements, modifications or developments made
by Mentor Graphics (at Mentor Graphics’ sole discretion) will be the exclusive property of Mentor Graphics.
3. BETA CODE.

3.1. Portions or all of certain Software may contain code for experimental testing and evaluation (which may be either alpha or beta,
collectively “Beta Code”), which may not be used without Mentor Graphics’ explicit authorization. Upon Mentor Graphics’
authorization, Mentor Graphics grants to Customer a temporary, nontransferable, nonexclusive license for experimental use to
test and evaluate the Beta Code without charge for a limited period of time specified by Mentor Graphics. Mentor Graphics may
choose, at its sole discretion, not to release Beta Code commercially in any form.

3.2. If Mentor Graphics authorizes Customer to use the Beta Code, Customer agrees to evaluate and test the Beta Code under normal
conditions as directed by Mentor Graphics. Customer will contact Mentor Graphics periodically during Customer’s use of the
Beta Code to discuss any malfunctions or suggested improvements. Upon completion of Customer’s evaluation and testing,
Customer will send to Mentor Graphics a written evaluation of the Beta Code, including its strengths, weaknesses and
recommended improvements.

3.3. Customer agrees to maintain Beta Code in confidence and shall restrict access to the Beta Code, including the methods and
concepts utilized therein, solely to those employees and Customer location(s) authorized by Mentor Graphics to perform beta
testing. Customer agrees that any written evaluations and all inventions, product improvements, modifications or developments
that Mentor Graphics conceived or made during or subsequent to this Agreement, including those based partly or wholly on
Customer’s feedback, will be the exclusive property of Mentor Graphics. Mentor Graphics will have exclusive rights, title and
interest in all such property. The provisions of this Subsection 3.3 shall survive termination of this Agreement.

4. RESTRICTIONS ON USE.

4.1. Customer may copy Software only as reasonably necessary to support the authorized use. Each copy must include all notices
and legends embedded in Software and affixed to its medium and container as received from Mentor Graphics. All copies shall
remain the property of Mentor Graphics or its licensors. Except for Embedded Software that has been embedded in executable
code form in Customer’s product(s), Customer shall maintain a record of the number and primary location of all copies of
Software, including copies merged with other software, and shall make those records available to Mentor Graphics upon
request. Customer shall not make Products available in any form to any person other than Customer’s employees and on-site
contractors, excluding Mentor Graphics competitors, whose job performance requires access and who are under obligations of
confidentiality. Customer shall take appropriate action to protect the confidentiality of Products and ensure that any person
permitted access does not disclose or use Products except as permitted by this Agreement. Customer shall give Mentor Graphics
written notice of any unauthorized disclosure or use of the Products as soon as Customer becomes aware of such unauthorized
disclosure or use. Customer acknowledges that Software provided hereunder may contain source code which is proprietary and
its confidentiality is of the highest importance and value to Mentor Graphics. Customer acknowledges that Mentor Graphics
may be seriously harmed if such source code is disclosed in violation of this Agreement. Except as otherwise permitted for
purposes of interoperability as specified by applicable and mandatory local law, Customer shall not reverse-assemble,
disassemble, reverse-compile, or reverse-engineer any Product, or in any way derive any source code from Software that is not
provided to Customer in source code form. Log files, data files, rule files and script files generated by or for the Software
(collectively “Files”), including without limitation files containing Standard Verification Rule Format (“SVRF”) and Tcl
Verification Format (“TVF”) which are Mentor Graphics’ trade secret and proprietary syntaxes for expressing process rules,
constitute or include confidential information of Mentor Graphics. Customer may share Files with third parties, excluding
Mentor Graphics competitors, provided that the confidentiality of such Files is protected by written agreement at least as well as
Customer protects other information of a similar nature or importance, but in any case with at least reasonable care. Customer
may use Files containing SVRF or TVF only with Mentor Graphics products. Under no circumstances shall Customer use
Products or Files or allow their use for the purpose of developing, enhancing or marketing any product that is in any way
competitive with Products, or disclose to any third party the results of, or information pertaining to, any benchmark.

4.2. If any Software or portions thereof are provided in source code form, Customer will use the source code only to correct software
errors and enhance or modify the Software for the authorized use, or as permitted for Embedded Software under separate
embedded software terms or an embedded software supplement. Customer shall not disclose or permit disclosure of source
code, in whole or in part, including any of its methods or concepts, to anyone except Customer’s employees or on-site
contractors, excluding Mentor Graphics competitors, with a need to know. Customer shall not copy or compile source code in
any manner except to support this authorized use.

4.3. Customer agrees that it will not subject any Product to any open source software (“OSS”) license that conflicts with this
Agreement or that does not otherwise apply to such Product.

4.4. Customer may not assign this Agreement or the rights and duties under it, or relocate, sublicense, or otherwise transfer the
Products, whether by operation of law or otherwise (“Attempted Transfer”), without Mentor Graphics’ prior written consent and
payment of Mentor Graphics’ then-current applicable relocation and/or transfer fees. Any Attempted Transfer without Mentor
Graphics’ prior written consent shall be a material breach of this Agreement and may, at Mentor Graphics’ option, result in the
immediate termination of the Agreement and/or the licenses granted under this Agreement. The terms of this Agreement,
including without limitation the licensing and assignment provisions, shall be binding upon Customer’s permitted successors in
interest and assigns.

4.5. The provisions of this Section 4 shall survive the termination of this Agreement.

5. SUPPORT SERVICES. To the extent Customer purchases support services, Mentor Graphics will provide Customer with updates and
technical support for the Products, at the Customer site(s) for which support is purchased, in accordance with Mentor Graphics’ then
current End-User Support Terms located at http://supportnet.mentor.com/supportterms.

6. OPEN SOURCE SOFTWARE. Products may contain OSS or code distributed under a proprietary third party license agreement, to
which additional rights or obligations (“Third Party Terms”) may apply. Please see the applicable Product documentation (including
license files, header files, read-me files or source code) for details. In the event of conflict between the terms of this Agreement
(including any addenda) and the Third Party Terms, the Third Party Terms will control solely with respect to the OSS or third party
code. The provisions of this Section 6 shall survive the termination of this Agreement.

7. LIMITED WARRANTY.

7.1. Mentor Graphics warrants that during the warranty period its standard, generally supported Products, when properly installed,
will substantially conform to the functional specifications set forth in the applicable user manual. Mentor Graphics does not
warrant that Products will meet Customer’s requirements or that operation of Products will be uninterrupted or error free. The
warranty period is 90 days starting on the 15th day after delivery or upon installation, whichever first occurs. Customer must
notify Mentor Graphics in writing of any nonconformity within the warranty period. For the avoidance of doubt, this warranty
applies only to the initial shipment of Software under an Order and does not renew or reset, for example, with the delivery of (a)
Software updates or (b) authorization codes or alternate Software under a transaction involving Software re-mix. This warranty
shall not be valid if Products have been subject to misuse, unauthorized modification, improper installation or Customer is not in
compliance with this Agreement. MENTOR GRAPHICS’ ENTIRE LIABILITY AND CUSTOMER’S EXCLUSIVE
REMEDY SHALL BE, AT MENTOR GRAPHICS’ OPTION, EITHER (A) REFUND OF THE PRICE PAID UPON
RETURN OF THE PRODUCTS TO MENTOR GRAPHICS OR (B) MODIFICATION OR REPLACEMENT OF THE
PRODUCTS THAT DO NOT MEET THIS LIMITED WARRANTY. MENTOR GRAPHICS MAKES NO WARRANTIES
WITH RESPECT TO: (A) SERVICES; (B) PRODUCTS PROVIDED AT NO CHARGE; OR (C) BETA CODE; ALL OF
WHICH ARE PROVIDED “AS IS.”

7.2. THE WARRANTIES SET FORTH IN THIS SECTION 7 ARE EXCLUSIVE. NEITHER MENTOR GRAPHICS NOR ITS
LICENSORS MAKE ANY OTHER WARRANTIES EXPRESS, IMPLIED OR STATUTORY, WITH RESPECT TO
PRODUCTS PROVIDED UNDER THIS AGREEMENT. MENTOR GRAPHICS AND ITS LICENSORS SPECIFICALLY
DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT OF INTELLECTUAL PROPERTY.

8. LIMITATION OF LIABILITY. TO THE EXTENT PERMITTED UNDER APPLICABLE LAW, IN NO EVENT SHALL
MENTOR GRAPHICS OR ITS LICENSORS BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES (INCLUDING LOST PROFITS OR SAVINGS) WHETHER BASED ON CONTRACT, TORT OR ANY OTHER
LEGAL THEORY, EVEN IF MENTOR GRAPHICS OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES. IN NO EVENT SHALL MENTOR GRAPHICS’ OR ITS LICENSORS’ LIABILITY UNDER THIS
AGREEMENT EXCEED THE AMOUNT RECEIVED FROM CUSTOMER FOR THE HARDWARE, SOFTWARE LICENSE OR
SERVICE GIVING RISE TO THE CLAIM. IN THE CASE WHERE NO AMOUNT WAS PAID, MENTOR GRAPHICS AND ITS
LICENSORS SHALL HAVE NO LIABILITY FOR ANY DAMAGES WHATSOEVER. THE PROVISIONS OF THIS SECTION 8
SHALL SURVIVE THE TERMINATION OF THIS AGREEMENT.

9. THIRD PARTY CLAIMS.

9.1. Customer acknowledges that Mentor Graphics has no control over the testing of Customer’s products, or the specific
applications and use of Products. Mentor Graphics and its licensors shall not be liable for any claim or demand made against
Customer by any third party, except to the extent such claim is covered under Section 10.

9.2. In the event that a third party makes a claim against Mentor Graphics arising out of the use of Customer’s products, Mentor
Graphics will give Customer prompt notice of such claim. At Customer’s option and expense, Customer may take sole control
of the defense and any settlement of such claim. Customer WILL reimburse and hold harmless Mentor Graphics for any
LIABILITY, damages, settlement amounts, costs and expenses, including reasonable attorney’s fees, incurred by or awarded
against Mentor Graphics or its licensors in connection with such claims.

9.3. The provisions of this Section 9 shall survive any expiration or termination of this Agreement.

10. INFRINGEMENT.

10.1. Mentor Graphics will defend or settle, at its option and expense, any action brought against Customer in the United States,
Canada, Japan, or member state of the European Union which alleges that any standard, generally supported Product acquired
by Customer hereunder infringes a patent or copyright or misappropriates a trade secret in such jurisdiction. Mentor Graphics
will pay costs and damages finally awarded against Customer that are attributable to such action. Customer understands and
agrees that as conditions to Mentor Graphics’ obligations under this section Customer must: (a) notify Mentor Graphics
promptly in writing of the action; (b) provide Mentor Graphics all reasonable information and assistance to settle or defend the
action; and (c) grant Mentor Graphics sole authority and control of the defense or settlement of the action.

10.2. If a claim is made under Subsection 10.1 Mentor Graphics may, at its option and expense: (a) replace or modify the Product so
that it becomes noninfringing; (b) procure for Customer the right to continue using the Product; or (c) require the return of the
Product and refund to Customer any purchase price or license fee paid, less a reasonable allowance for use.

10.3. Mentor Graphics has no liability to Customer if the action is based upon: (a) the combination of Software or hardware with any
product not furnished by Mentor Graphics; (b) the modification of the Product other than by Mentor Graphics; (c) the use of
other than a current unaltered release of Software; (d) the use of the Product as part of an infringing process; (e) a product that
Customer makes, uses, or sells; (f) any Beta Code or Product provided at no charge; (g) any software provided by Mentor
Graphics’ licensors who do not provide such indemnification to Mentor Graphics’ customers; (h) OSS, except to the extent that
the infringement is directly caused by Mentor Graphics’ modifications to such OSS; or (i) infringement by Customer that is
deemed willful. In the case of (i), Customer shall reimburse Mentor Graphics for its reasonable attorney fees and other costs
related to the action.

10.4. THIS SECTION 10 IS SUBJECT TO SECTION 8 ABOVE AND STATES THE ENTIRE LIABILITY OF MENTOR
GRAPHICS AND ITS LICENSORS, AND CUSTOMER’S SOLE AND EXCLUSIVE REMEDY, FOR DEFENSE,
SETTLEMENT AND DAMAGES, WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT
OR TRADE SECRET MISAPPROPRIATION BY ANY PRODUCT PROVIDED UNDER THIS AGREEMENT.

11. TERMINATION AND EFFECT OF TERMINATION.

11.1. If a Software license was provided for limited term use, such license will automatically terminate at the end of the authorized
term. Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement immediately upon
written notice if Customer: (a) exceeds the scope of the license or otherwise fails to comply with the licensing or confidentiality
provisions of this Agreement, or (b) becomes insolvent, files a bankruptcy petition, institutes proceedings for liquidation or
winding up or enters into an agreement to assign its assets for the benefit of creditors. For any other material breach of any
provision of this Agreement, Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement
upon 30 days written notice if Customer fails to cure the breach within the 30 day notice period. Termination of this Agreement
or any license granted hereunder will not affect Customer’s obligation to pay for Products shipped or licenses granted prior to
the termination, which amounts shall be payable immediately upon the date of termination.

11.2. Upon termination of this Agreement, the rights and obligations of the parties shall cease except as expressly set forth in this
Agreement. Upon termination of this Agreement and/or any license granted under this Agreement, Customer shall ensure that
all use of the affected Products ceases, and shall return hardware and either return to Mentor Graphics or destroy Software in
Customer’s possession, including all copies and documentation, and certify in writing to Mentor Graphics within ten business
days of the termination date that Customer no longer possesses any of the affected Products or copies of Software in any form.

12. EXPORT. The Products provided hereunder are subject to regulation by local laws and European Union (“E.U.”) and United States
(“U.S.”) government agencies, which prohibit export, re-export or diversion of certain products, information about the products, and
direct or indirect products thereof, to certain countries and certain persons. Customer agrees that it will not export or re-export Products
in any manner without first obtaining all necessary approval from appropriate local, E.U. and U.S. government agencies. If Customer
wishes to disclose any information to Mentor Graphics that is subject to any E.U., U.S. or other applicable export restrictions, including
without limitation the U.S. International Traffic in Arms Regulations (ITAR) or special controls under the Export Administration
Regulations (EAR), Customer will notify Mentor Graphics personnel, in advance of each instance of disclosure, that such information
is subject to such export restrictions.

13. U.S. GOVERNMENT LICENSE RIGHTS. Software was developed entirely at private expense. The parties agree that all Software is
commercial computer software within the meaning of the applicable acquisition regulations. Accordingly, pursuant to U.S. FAR 48
CFR 12.212 and DFAR 48 CFR 227.7202, use, duplication and disclosure of the Software by or for the U.S. government or a U.S.
government subcontractor is subject solely to the terms and conditions set forth in this Agreement, which shall supersede any
conflicting terms or conditions in any government order document, except for provisions which are contrary to applicable mandatory
federal laws.

14. THIRD PARTY BENEFICIARY. Mentor Graphics Corporation, Mentor Graphics (Ireland) Limited, Microsoft Corporation and
other licensors may be third party beneficiaries of this Agreement with the right to enforce the obligations set forth herein.

15. REVIEW OF LICENSE USAGE. Customer will monitor the access to and use of Software. With prior written notice and during
Customer’s normal business hours, Mentor Graphics may engage an internationally recognized accounting firm to review Customer’s
software monitoring system and records deemed relevant by the internationally recognized accounting firm to confirm Customer’s
compliance with the terms of this Agreement or U.S. or other local export laws. Such review may include FlexNet (or successor
product) report log files that Customer shall capture and provide at Mentor Graphics’ request. Customer shall make records available in
electronic format and shall fully cooperate with data gathering to support the license review. Mentor Graphics shall bear the expense of
any such review unless a material non-compliance is revealed. Mentor Graphics shall treat as confidential information all information
gained as a result of any request or review and shall only use or disclose such information as required by law or to enforce its rights
under this Agreement. The provisions of this Section 15 shall survive the termination of this Agreement.

16. CONTROLLING LAW, JURISDICTION AND DISPUTE RESOLUTION. The owners of certain Mentor Graphics intellectual
property licensed under this Agreement are located in Ireland and the U.S. To promote consistency around the world, disputes shall be
resolved as follows: excluding conflict of laws rules, this Agreement shall be governed by and construed under the laws of the State of
Oregon, U.S., if Customer is located in North or South America, and the laws of Ireland if Customer is located outside of North or
South America or Japan, and the laws of Japan if Customer is located in Japan. All disputes arising out of or in relation to this
Agreement shall be submitted to the exclusive jurisdiction of the courts of Portland, Oregon when the laws of Oregon apply, or Dublin,
Ireland when the laws of Ireland apply, or the Tokyo District Court when the laws of Japan apply. Notwithstanding the foregoing, all
disputes in Asia (excluding Japan) arising out of or in relation to this Agreement shall be resolved by arbitration in Singapore before a
single arbitrator to be appointed by the chairman of the Singapore International Arbitration Centre (“SIAC”) to be conducted in the
English language, in accordance with the Arbitration Rules of the SIAC in effect at the time of the dispute, which rules are deemed to be
incorporated by reference in this section. Nothing in this section shall restrict Mentor Graphics’ right to bring an action (including for
example a motion for injunctive relief) against Customer in the jurisdiction where Customer’s place of business is located. The United
Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement.

17. SEVERABILITY. If any provision of this Agreement is held by a court of competent jurisdiction to be void, invalid, unenforceable or
illegal, such provision shall be severed from this Agreement and the remaining provisions will remain in full force and effect.

18. MISCELLANEOUS. This Agreement contains the parties’ entire understanding relating to its subject matter and supersedes all prior
or contemporaneous agreements. Any translation of this Agreement is provided to comply with local legal requirements only. In the
event of a dispute between the English and any non-English versions, the English version of this Agreement shall govern to the extent
not prohibited by local law in the applicable jurisdiction. This Agreement may only be modified in writing, signed by an authorized
representative of each party. Waiver of terms or excuse of breach must be in writing and shall not constitute subsequent consent, waiver
or excuse.

Rev. 170330, Part No. 270941

S-ar putea să vă placă și