Professional Documents
Culture Documents
VC SpyGlass Connectivity
VC SpyGlass Connectivity
www.synopsys.com
Synopsys Statement on Inclusivity and
Diversity
Synopsys is committed to creating an inclusive environment where every employee,
customer, and partner feels welcomed. We are reviewing and removing exclusionary
language from our products and supporting customer-facing collateral. Our effort also
includes internal initiatives to remove biased language from our engineering and
working environment, including terms that are embedded in our software and IPs. At
the same time, we are working to ensure that our web content and software
applications are usable to people of varying abilities. You may still find examples of non-
inclusive language in our software or documentation as our IPs implement industry-
standard specifications that are currently under review to remove exclusionary
language.
Contents .............
Preface..........................................................................................7
About This Book ...................................................................................... 7
Typographical Conventions ..................................................................... 8
Connection Tags..........................................................................11
CONN_CHK_REQUIRE_VALUE : Ensure that the expected node value is
achieved......................................................................... 12
CONN_CHK_REQUIRE_PATH : Ensure that the paths between user-
specified nodes exist ........................................................ 15
CONN_CHK_ILLEGAL_VALUE : Reports nets with illegal node values... 19
CONN_CHK_ILLEGAL_PATH : Path between user-specified nodes should
not exist ......................................................................... 22
Constraints .................................................................................27
define_tag............................................................................................. 28
illegal_value.......................................................................................... 29
illegal_path ........................................................................................... 31
require_path ......................................................................................... 34
require_value........................................................................................ 38
v
Feedback Synopsys, Inc.
vi
Synopsys, Inc. Feedback
Preface
7
Feedback Synopsys, Inc.
Preface
Typographical Conventions
Typographical Conventions
This document uses the following typographical conventions:
8
Synopsys, Inc. Feedback
Getting Started
Licensing Requirements
VC SpyGlass requires the VC-SG-ELITE licenses. Ensure that these
licenses are available before you run VC SpyGlass.
9
Feedback Synopsys, Inc.
Getting Started
10
Synopsys, Inc. Feedback
Connection Tags
11
Feedback Synopsys, Inc.
Connection Tags
CONN_CHK_REQUIRE_VALUE
Ensure that the expected node value is achieved
When to Use
Use this tag to identify the nodes that do not achieve the expected
simulation value.
Description
The CONN_CHK_REQUIRE_VALUE tag generates the VC SpyGlass highlight
data for those nodes specified with require_value constraints that do not
achieve the specified simulation value when the specified tag condition is
simulated.
Expected values at arbitrary nodes and the applied values that should
cause or force the expected values are checked. This is useful for ensuring
that unit-level test requirements are satisfied at the SoC level.
Consider the following require_value constraint:
require_value
-tag <tagName> -name <nodeNames> -value <value>
The CONN_CHK_REQUIRE_VALUE tag generates the highlight data for
those nodes specified with the -name argument that do not achieve the
simulation value <value> when the conditions of <tagName> are
simulated.
Prerequisites
Specify the require_value constraint.
Default Weight
10
Language
Verilog, VHDL
Method
For each define_tag, simulate power, ground and all conditions defined for this
define_tag.
For each require_value with the current define_tag, check that the defined pin has the
defined value. Otherwise, report a message.
12
Synopsys, Inc. Feedback
Connection Tags
Parameter(s)
None
Constraint(s)
define_tag: Use this constraint to define a named condition for
application of certain stimulus at the top port or an internal node.
require_value: Use this constraint to define a check that requires a logic
value to be established on a certain node when the circuit has been
simulated using the condition specified by the -tag argument.
Operating Mode
Define_tag
13
Feedback Synopsys, Inc.
Connection Tags
Message 2
[INFO] Node '<node-name>' has required value(<value>) under tag
'<tagName>'
Arguments
Name of the node, <node-name>
Simulation value, <value>
Tag name, <tagName>
Potential Issues
This is an informational tag. Therefore, it does not have any related
potential issues.
Consequences of Not Fixing
This is an informational tag. Therefore, it does not have any implicit
impact.
How to Debug and Fix
View the Incremental Schematic of the violation message. The Incremental
Schematic displays the node where the required simulation matches the
actual simulation.
Severity
Error
14
Synopsys, Inc. Feedback
Connection Tags
CONN_CHK_REQUIRE_PATH
Ensure that the paths between user-specified nodes exist
When to Use
Use this tag to identify the disjointed pair of user-specified nodes.
Description
The CONN_CHK_REQUIRE_PATH tag reports connection violations between
specified pair of nodes.
The CONN_CHK_REQUIRE_PATH tag checks either conditional or
unconditional paths between user-specified nodes.
While processing the require_path constraints, CONN_CHK_REQUIRE_PATH
tag checking depends on -path_type and simulation condition.
15
Feedback Synopsys, Inc.
Connection Tags
Parameter(s)
Constraint(s)
require_path (mandatory): Use this constraint to define a connectivity
check for a path from a pin specified with the -from argument to a pin
specified with the -to argument.
define_tag (optional): Use this constraint to define a named condition for
application of certain stimulus at the top port or an internal node.
Operating Mode
Power Ground, Define_tag
16
Synopsys, Inc. Feedback
Connection Tags
Message 2
[ERROR] '<path_type>' path(s) not found to '<to_node_name>'
from '<from_node_count>' nodes under <simulation condition>
within '<sequential_depth>' sequential depth
Potential Issues
The violation message appears if no valid path exists between the user-
specified nodes.
NOTE: This violation message is reported instead of Message 1, in case of '-from_one_of'
field specified in 'require_path' constraint.
Consequences of Not Fixing
Not fixing the violation may result in unsearchable expected path. This may
impact the functionality of the design.
How to Debug and Fix
Message 3
[ERROR] '<path_type>' path(s) not found from '<from_node_name>'
to '<to_node_count>' nodes within '<sequential_depth>'
sequential depth
Potential Issues
The violation message appears if no valid path exists between the user-
specified nodes.
NOTE: This violation message is reported instead of Message 1, when '-path_type' is
'buffered' in 'require_path' constraint.
Consequences of Not Fixing
Not fixing the violation may result in unsearchable expected path. This may
impact the functionality of the design.
How to Debug and Fix
17
Feedback Synopsys, Inc.
Connection Tags
Severity
Error
18
Synopsys, Inc. Feedback
Connection Tags
CONN_CHK_ILLEGAL_VALUE
Reports nets with illegal node values
When to Use
Use this tag to identify the nodes that have a user-specified value under
the specified simulation condition.
Description
The CONN_CHK_ILLEGAL_VALUE tag generates the SpyGlass Explorer
highlight data for those nodes specified with illegal_value constraints that
contain the illegal simulation value when the specified tag condition is
simulated.
Expected values at arbitrary nodes and the applied values that should
cause or force the expected values are checked. This is useful for ensuring
that unit-level test requirements are satisfied at the SoC level.
Consider the following illegal_value constraint:
illegal_value
-tag <tagName> -name <nodeNames> -value <value>
Prerequisites
Specify the illegal_value constraint.
Default Weight
10
Language
Verilog, VHDL
Parameter(s)
Constraint(s)
define_tag: Use this constraint to define a named condition for
application of certain stimulus at the top port or an internal node.
illegal_value: Use this constraint to check for the presence of an illegal
value on a certain node when the circuit has been simulated using the
condition specified by the -tag argument.
19
Feedback Synopsys, Inc.
Connection Tags
Operating Mode
Define_tag
20
Synopsys, Inc. Feedback
Connection Tags
Potential Issues
This is an informational message. Therefore, there are no potential issues
related to this message.
Consequences of Not Fixing
This is an informational message. Therefore, there are no consequences of
not fixing this message.
How to Debug and Fix
This is an informational message. Therefore, no debug or fix is required.
21
Feedback Synopsys, Inc.
Connection Tags
CONN_CHK_ILLEGAL_PATH
Path between user-specified nodes should not exist
When to Use
Use this tag to ensure that the path between two nodes does not exist.
Description
The CONN_CHK_ILLEGAL_PATH tag reports a violation, if a path exists
between from and to nodes of the illegal_path constraint.
The type of path to be searched is determined by the -path_type
argument of the illegal_path constraint. This argument can take one
of the following values: buffered, sensitized, or sensitizable. By default,
sensitizable path is searched.
The tag also reports violation if an undesired path is found through non-X
nets.
Default Weight
10
Language
Verilog, VHDL
Parameter(s)
None
Constraint(s)
illegal_path (mandatory): Use this constraint to define nodes between
which path should not exist.
define_tag (optional): Use this constraint to define a named condition for
application of certain stimulus at the top port or an internal node.
Operating Mode
Define_tag, Power Ground
22
Synopsys, Inc. Feedback
Connection Tags
23
Feedback Synopsys, Inc.
Connection Tags
24
Synopsys, Inc. Feedback
Connection Tags
Potential issues
This is an informational tag. Therefore there are no potential issues related
to this violation.
Consequences of not fixing
This is an informational tag. Therefore, there is no implicit impact of this
violation.
How to debug and fix
This is an informational tag. Therefore, no fix is required. However, you
may review the constraint specification.
Message 6
[INFO] '<passed_checks>' out of '<total_checks>' check(s)
passed (‘<skipped-checks>’ checks(s) skipped)
25
Feedback Synopsys, Inc.
Connection Tags
Arguments
Passed check count, <passed_checks>
Total check count, <total_checks>
Skipped check count, <skipped_checks>
Potential issues
This is an informational tag. Therefore there are no potential issues related
to this violation. Check between from and to points can be skipped.
Consequences of not fixing
This is an informational tag. Therefore, there is no implicit impact of this
violation.
How to debug and fix
This is an informational tag. Therefore, no fix is required. However, you
may review the constraint specification.
Severity
Error
26
Synopsys, Inc. Feedback
Constraints
27
Feedback Synopsys, Inc.
Constraints
define_tag
define_tag
The define_tag constraint is used to define a named condition for
application of certain stimulus at the top port or an internal node. The
connectivity checks are made by applying one or more of the user-defined
conditions such that circuit can be simulated into the desired mode.
To use the define_tag constraint, provide an initial state of a design
To provide an initial state for a design, each register needs to be initialized
using the define_tag constraint. The following example initializes a
register foo of design unit top to the value 0:
define_tag –tag initState –name top.foo –value 0
The following example initializes a vector register foo[7:0] of design unit
top to the value 0:
define_tag –tag initState –name top.foo[7:0]
–value “0”
28
Synopsys, Inc. Feedback
Constraints
illegal_value
illegal_value
Purpose
The illegal_value constraint checks for the presence of illegal value on a
certain node when the circuit has been simulated using the condition
specified by the -tag argument.
When illegal_value is used twice for the same node, VC SpyGlass
interprets as neither 0 nor 1.
Syntax
The syntax for the illegal_value constraint is as follows:
illegal_value
[-name <nodename>]
[-value <value> ]
[ –tag <condname> ]
Arguments
-name <nodename>
(Optional) The name can be a top-module port, or any internal net name,
or terminal name. More than one pin name can be specified, and it is
effectively read as a concise description of as many individual value
checks.
-value <value>
The value is a logic value string of 0, 1, X, Z, 1_or_0, and 0_or_1. A single-
bit value means check at end of complete simulation. The X value is
treated as do-not-compare. A multi-bit value means check on cycle-by-
cycle simulation basis.
-tag <condname>
(Optional) A condition previously defined by using the define_tag constraint.
It describes a simulation condition.
Note that only one condition name can be defined in a illegal_value
specification. However, simulation for a given condition name simulates all
29
Feedback Synopsys, Inc.
Constraints
illegal_value
Examples
Consider the following examples:
Example1
illegal_value -name abc -value 1
Supported Tags
CONN_CHK_ILLEGAL_VALUE
30
Synopsys, Inc. Feedback
Constraints
illegal_path
illegal_path
Purpose
The illegal_path constraint is used to define nodes between which path
should not exist.
Syntax
The syntax of the illegal_path constraint is as follows:
illegal_path
[-from <frompinlist> ]
[-from_one_of <fromoneof_pinlist> ]
[-to <topinlist> ]
[-to_one_of <tooneof_pinlist> ]
[-invert ]
[-noinvert ]
[-path_type <buffered | sensitized | sensitizable | direct
| topological>]
[-sequential_depth <value>]
Arguments
-from <from_node_list>
(Optional) This is a list of top-module port names, internal net names, or
terminal names from which path should not exist to nodes specified
through <to node list>.
31
Feedback Synopsys, Inc.
Constraints
illegal_path
-to <to_node_list>
(Optional) This is a list of top-module port names, internal net names, or
terminal names to which path should not exist from nodes specified
through <from node list>.
-sequential_depth <value>
Specifies the number of sequential elements between end points specified
on an illegal path. This means that the illegal_path check will go through
the specified number of sequential elements. You can specify an integer
value as an input to this argument.
It is recommended to use this argument when the path type is set to
sensitizable. For other path_types, that is, direct, buffered, and sensitized,
a sequential element is a stop-point. This is so because path through
sequential cell is neither buffered nor sensitized path.
-to_one_of <tooneof_pinlist>
(Optional) Specifies that no error message is reported, if there is at least
one success case among the specified nodes.
Supported Tags
CONN_CHK_ILLEGAL_PATH
32
Synopsys, Inc. Feedback
Constraints
illegal_path
Examples
Consider the following schematic:
33
Feedback Synopsys, Inc.
Constraints
require_path
require_path
Purpose
The require_path constraint checks for the existence of the path between
the specified nodes. However, the destination node may have paths
existing to other nodes.
NOTE: Buffers and inverters are single-input, single-output devices. Therefore, there is no
interference from external logic while tracing a net connectivity.
Syntax
The syntax for require_path constraint is as follows:
require_path
[-from <frompinlist> ]
[-from_one_of <fromoneof_pinlist> ]
[-to <topinlist> ]
[-to_one_of <tooneof_pinlist> ]
[-invert ]
[-noinvert ]
[-path_type <buffered | sensitized | sensitizable | direct
| topological>]
[-sequential_depth <value>]
[-tag ]
[-stop]
[-same_sequential_depth <value>]
Arguments
-tag <condname>
(Optional) Specifies a condition name that is previously defined by using
the define_tag constraint.
This condition describes the simulation of circuit into a desired state. Please
note only one condition name can be defined in a require_path
specification. However, simulation for a given condition name simulates all
pin-value specification simultaneously, whether defined directly by pin-
value specification, or merge of other define_tag specifications. The built-
34
Synopsys, Inc. Feedback
Constraints
require_path
-from_one_of <fromoneof_pinlist>
(Optional) Specifies that no error message is reported, if there is at least
one success case among the specified nodes.
-to_one_of <tooneof_pinlist>
(Optional) Specifies that no error message is reported, if there is at least
one success case among the specified nodes.
-invert | -noinvert
(Optional) These additional qualifiers mean that check is performed to
check a positive polarity or negative polarity path between the two nodes.
If neither of these is specified, polarity is not relevant for such paths.
-path_type
The -path_type argument accepts only the following predefined list of
values: buffered, sensitized, sensitizable, direct, and
35
Feedback Synopsys, Inc.
Constraints
require_path
-sequential_depth <value>
Specifies the number of sequential elements between end points specified
on a success path. This means that the require_path check will go through
the specified number of sequential elements. You can specify an integer
value as an input to this argument.
-stop <stop_point_list>
(Optional) Specifies the stop-point list. The name can be a top-module
port, internal net name, terminal name or instance (cell) name.
-same_sequential_depth
(Optional) Specify this argument to perform same sequential depth checks
across all paths, that is, balanced path check. By default, sequential depth
check limit is 10, which can be modified by additionally specifying the “–
sequential_depth” argument.
This argument checks for only the connected nodes (depth should be
same) when one_of fields is used. If all the nodes are unconnected, it does
not perform the same_sequential_depth check and an error is flagged.
Also, for every constraint using the same_sequential_depth field, the
expected depth remains the same (irrespective of the starting-point and
traversal direction).
NOTE: The ‘from’ and ‘to’ sets must be flop-terminals, otherwise “require_path” check will
fail.
Examples
Consider the following schematic:
36
Synopsys, Inc. Feedback
Constraints
require_path
Supported Tags
CONN_CHK_REQUIRE_PATH
37
Feedback Synopsys, Inc.
Constraints
require_value
require_value
Purpose
The require_value constraint defines a check that requires a logic value
to be established on a certain node when the circuit has been simulated
using the condition specified by the -tag argument.
The require_value constraint has two optional fields: -allowInversion
and matchNBits.
When require_value is used twice for the same node, VC SpyGlass checks
twice on the net per the specified value.
Syntax
The syntax for require_value constraint is as follows:
require_value
[-name <nodename>]
[-value <value> ]
[ –tag <condname>
Arguments
-name <nodename>
(Optional) The name can be a top-module port, or any internal net name,
or terminal name. More than one pin name can be specified, and it is
effectively read as a concise description of as many individual value
checks.
NOTE: Specify either -name or -type argument.
-value <value>
The value is a logic value string of 0, 1, X, Z, 1_or_0, and 0_or_1. A single-
bit value means check at end of complete simulation. The X value is
treated as do-not-compare. A multi-bit value means check on cycle-by-
cycle simulation basis. For specification of a vector value, SGDC multi-bit
specification format (same as used for the test_mode constraint) should be
used.
38
Synopsys, Inc. Feedback
Constraints
require_value
-tag <condname>
(Optional) A condition previously defined by using the define_tag constraint.
It describes a simulation condition.
Note that only one condition name can be defined in a require_value
specification. However, simulation for a given condition name simulates all
pin-value specifications simultaneously. The built-in power-ground
connections are also simulated in this process.
Supported Tags
CONN_CHK_REQUIRE_VALUE
39
Feedback Synopsys, Inc.
Constraints
require_value
40
Synopsys, Inc. Feedback