Professional Documents
Culture Documents
and Solutions
Best Regards,
The Atrenta Team
2 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Licensing
1. FlexLM version mismatch between different tools
Description: If the tools in your working environment use different
versions of FlexLM license server, SpyGlass might report license-related
problems.
Solution: Ensure that you use lmgrd (and any other lmtools) of the
latest version of FlexLM license server available with any of the tools for
license services on that license server.
General
1. Line numbers reported are erroneous when the number of lines
exceeds 221 (approximately 2 million).
Description: SpyGlass internally uses 21-bit representation for storing
line numbers of design data from input Verilog/VHDL files. Therefore,
4.7.1.2 3
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
when a design file has more than 221 lines, line numbers are reported
incorrectly.
Solution: Move a part of the design to other smaller files. For VHDL
files, specify all files in the correct order. For Verilog designs (where this
problem is more likely to happen), include other files in to the primary
file (containing the top-level module) using the 'include directive.
This ensures that SpyGlass command-line or other setup files do not
require any change.
4 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 5
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
6 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
again.
4.7.1.2 7
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
8 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
always@(posedge clk[0][0][0])
out1[0]<=in1;
endmodule
Solution: Ignore or waive such warnings.
4.7.1.2 9
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
10 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
SpyGlass Command-Line
1. Two -top command-line option specifications implying the same
architecture
Description: SpyGlass might exhibit unpredictable behavior when two
-top specifications imply the same architecture as in the following
example (that is, architecture <arch> is the most recently analyzed
architecture of entity <entity>):
%> spyglass -top <entity> -top <entity>.<arch> ...
Solution: Please be aware of this behavior.
4.7.1.2 11
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
12 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
2. Use work.p1.all
Use work.p2.all //Nothing from this package is being
//used in E1
Entity E1
3. Use work.p1.all
Package P2
Constant : MYCONST : unsigned (31 downto 0) :=
F1_FROM_P1(6, 32);
When the user compiles the above code in the first SpyGlass run,
SpyGlass reports the WRN_384 warning for work.p2.all, because it
is not present in work.
NOTE: This warning is actually a syntax error as per LRM and all other industry tools
report an error in this case.
If nothing is being used from the package in a design unit (E1 in this
case), other industry tools report an error. However, SpyGlass compiles
4.7.1.2 13
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
E1 with a warning.
In the re-entrant flow, when the user compiles the same code again, P1
is compiled freshly and p2 is used from the previous run. Therefore,
SpyGlass reports the STX_VH_202 message to indicate an out of date
situation, because the P2 package uses function from P1 that was
compiled later.
Solution: Clean the WORK directory, and recompile the design.
14 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 15
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
16 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 17
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
18 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 19
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
20 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 21
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
endmodule
...
module B();
...
endmodule //line number 150
File2:
...
... //line number 150
... //only comment. No module definition
module C();
....
endmodule
...
In the above example, SpyGlass may not report lexical checks for the
module, C, if the following conditions hold true:
There is no module definition in File2 before the module, C, that
is, module, C, is the first module definition in File2.
Line number corresponding to end line of last module in File1 is
a comment line in
File2
File1 and File2 are analyzed in a sequence.
Solution: Some of these problems will be fixed in a future release.
22 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
wire [DATA_WIDTH-1:0] d;
wire final;
// final = SV keyword
generate
genvar i;
wire [DATA_WIDTH-1:0] q;
for (i = 0; i < DATA_WIDTH; i = i + 1) begin
// Need name here for Verilog 2001
m0 m0_inst (.p1 (1'b0),
.p2 (d[i])
);
end
endgenerate
assign final = |d;
endmodule
Solution: To avoid STX errors in such cases, the RTL should be modified
either by specifying the name for the generate for block or by
avoiding the use of SV keyword (final in this case) as identifier
(signal names) and using the set_option enableSV yes
command in a project file.
4.7.1.2 23
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
In the above example, while evaluating loop(P), the for loop iterates
till the loop iterations are equal to 1048576.
Solution: This problem will be fixed in a future SpyGlass release.
As the fix, a command-line option will be available to the user for
increasing the loop limit.
24 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Solution: Change the maximum number of open files allowed using the
limit (csh) or ulimit (sh and derived shells) built-in commands.
Synthesis Engine
1. Language applicable for built-in rules
Description: The applicable language for some synthesis built-in rules
is mentioned as Verilog+VHDL in the rules spreadsheet shipped with this
release, while these rules may only be applicable for one of the
languages. For example, the SYNTH_5132 and SYNTH_5133 rules are
actually applicable for Verilog only.
Solution: Please ignore the language specification as it has no impact
on the functionality.
4.7.1.2 25
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
26 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Precompiled Libraries
1. Limitations of state-table and bus-keeper support
Description: SpyGlass supports state-tables and bus-keepers while
precompiling gate libraries with the following known limitations:
Cells with state-table along with bus/bundle pins are not translated.
SR Latches are not translated.
Bus-holder cells with enable pins are not translated.
Solution: Some of these problems will be fixed in a future release.
4.7.1.2 27
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
28 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
<blk.sgdc>
current_design blk_ent.blk_arch
...
OR
<top.sgdc>
...
sgdc -import blk_ent blk.sgdc
<blk.sgdc>
current_design blk_ent
...
4.7.1.2 29
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
<blk.sgdc>
current_design blk
testpoint -name blk.mid_inst.data -type observe
...
30 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 31
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
input clk,reset,enb;
output [2:0]out;
wire dc,dd,e;
tff tflipflop1(dc,clk,reset);
tff tflipflop2(dd,out[0],reset);
tff tflipflop3(e,out[1],reset);
endmodule
Now, consider that you apply the following constraints on naming:
define_name_rules simple -allowed "A-Z0-9_" -max_length 5
-type cell
change_names -rules simple -hierarchy
The above constraints specify that the cell instance names cannot
exceed the length of five characters, and all the names are changed to
uppercase (since a-z is not allowed). Hence, all the names get
truncated to TFLIP for all the three cells, tflipflop1,
tflipflop2, and tflipflop3.
In this example, unification comes into picture, and some industry tools
maintain the length of five characters and change the names to TFL_1,
TFL_2, and TFL_3. Hence, if the constraint file refers to the design
objects anywhere with the names, TFL_1, TFL_2, and TFL_3, they
can be found.
However, SpyGlass in this case generates the names, TFLIP, TFLIP0,
and TFLIP1, after unification. These names are different from the ones
that are generated by other industry tools, and do not respect the value
specified in the -max_length option.
Some industry tools change the hierarchical pin names but not the
hierarchical net names. However, SpyGlass changes both.
Solution: Change the SDC file for names that are compliant to SpyGlass
synthesis output.
Atrenta Console
1. After SpyGlass run, when the HDL and the Results area is
displayed during the Goal Setup stage, if the pane divider that
separates these two areas is pulled to the top, the pane divider
32 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
disappears.
Solution: Pull the pane divider in the downward direction to position it a
little above the session log. This prevents the pane divider from
disappearing.
4.7.1.2 33
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
34 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
For such goals, run results and reports are generated but run results
are not updated in the project. You can view results for these goals
by directly opening moresimple.rpt from the following results location:
<goal_wdir>/spyglass_reports/moresimple.rpt
4.7.1.2 35
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
input files under the directory containing the project file and then in the
user current working directory.
For example, consider the project file /usr/test-cases/design1/sample.prj with
the following contents:
# sample.prj
set_option projectcwd /usr/test-cases/test1
set source_file_list "sources.f"
source "./lib_precompile.f"
…
While generating reports for the above example, Atrenta Console
searches for the sources.f and lib_precompile.f files in the /usr/test-cases/test1
directory. However, if the projectcwd option is not specified in this
project file, Atrenta Console searches for these file under the /usr/test-
cases/design1 directory and then in the user current working directory.
Solution: Use the set_option projectcwd <dir> command in a
project file to specify the directory containing input files to be
considered for report generation.
11. GUI hangs if the animation interval of the image depicting the
GUI load process is less.
Description: An animation interval of the image specifies the time (in
ms) after which a refresh should occur.
If this interval is less, the refresh operation does not complete and GUI
hangs. This issue has been observed on few X-Servers on Windows.
Solution: Specify a different interval by using the
CONSOLE_ANIMATION_TIME environment variable, as shown in the
following example:
setenv CONSOLE_ANIMATION_TIME 200
This example is valid for csh only.
The default time interval is 300 ms and the minimum time interval is
100 ms. If you specify any invalid value, that is a value less than 100,
the default value is considered.
12. Help for options under the Set Read Options tab is currently not
36 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
visible.
Solution: Please be aware of this behavior.
14. Ctrl+F1 key combination does not open the Shortcut Keys
window on KDE because KDE uses the Ctrl+F1 key combination
to switch between desktops. The shortcut key combination
however works on GNOME.
Solution: This problem will be fixed in a future release.
4.7.1.2 37
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
17. Shortcut keys when invoked by using the left-most <Alt> key
on the keyboard does not work as expected in the exceed
environment.
Description: In the exceed environment, when the user presses the
left-most <Alt> key on the keyboard, this environment is unable to
register any event triggered. This is because the windows OS running
behind consumes this key by default. Therefore, all the shortcut keys
when invoked by using the left-most <Alt> key do not work as
expected.
Solution: Configure the left-most <Alt> key manually in the exceed
environment by performing the following steps:
a. Open the Xconfig file in the Xconfig Manager.
Under the Input tab, the Windows Modifier Behavior setting is
present.
b. Set the ALT Key option as "To X" instead of "Left To Windows, Right
To X" (default setting).
38 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 39
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
25. Some partly commented lines in SGDC files are shown as fully
commented
Description: Lines in SGDC files containing current_design,
setvar, or set_hsep statements are shown as fully commented even
if they are partly commented.
Solution: The problem will get resolved in a future SpyGlass release.
40 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Solution: Change the input editor of the operating system you are
using.
4.7.1.2 41
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Description: Save the default waiver file before closing the Waiver
Editor window.
This problem will be fixed in a future SpyGlass release.
42 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
6. Custom reports do not work directly for goals run from Atrenta
Console.
Description: There is a separate message database created in
sg_shell that helps you to query message database. This database is
not generated by default in the Atrenta Console runs. Therefore, if you
want to use sg_shell and Atrenta Console UI/BATCH together and
generate custom reports, please set following environment variable
before invoking Atrenta Console UI/BATCH:
% setenv SPYGLASS_SMDB_SUPP 1
This would create the necessary message database so that you can re-
use the run results from Atrenta Console inside the sg_shell.
4.7.1.2 43
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
8. Tcl shell re-direction operators, > and >>, are not supported for
Tcl built-in commands or procedures.
Description: Tcl shell re-direction operator, >, is not supported for Tcl
built-in commands or procedures. However, this is supported for Tcl shell
commands listed by using the help command. Further, UNIX shell re-
direction operator, >>, is not supported for append operation in Tcl shell.
Use the capture -append Tcl command to implement the append
operation.
Solution: Please be aware of this behavior.
10. Error messages on old project files have new command names
only
Description: Some of the command names in project files have
changed in SpyGlass 4.3.0 release. Project files generated from
SpyGlass 4.2.0 or SpyGlass4.2.1 are still supported, but if there is any
error in these older project files, the error messages would show the
name of the new command names only.
Solution: Use the new command names only. Further, if there are any
old project files, open them in sg_shell, and save back to get
updated project files with new command names.
44 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
12. Help for rules, parameter, and SGDC commands is not available
without goal selection
Description: There is the help command available in sg_shell to
view the help for commands, methodology, goal, rules, options,
parameters, SGDC, and reports. You can get help for rules, parameters,
and SGDC only after a goal has been selected. These objects are not
available outside of goal scope.
Solution: Please be aware of this behavior.
13. Error message during capture would come in the captured file
and not on the screen
Description: The capture command can be used to re-direct output
of some other command to the specified file. If there are any errors
reported during execution of that command, those error messages are
also captured in the specified file and are not displayed on the screen.
For example, consider that an error has been reported during the
execution of the write_report <rpt_name> command as part of
following command:
sg_shell> capture my.rpt {write_report <rpt_name>}
In this case, the error is captured in the my.rpt file itself.
Solution: Please be aware of this behavior.
4.7.1.2 45
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
shell
Description: Options gen_hiersgdc and validate_hiersgdc
are not supported.
Solution: In classic batch, perform SGDC migration using the
gen_hiersgdc and validate_hiersgdc options. Then, use these
migrated SGDC files inside Tcl shell.
15. Boolean options set using set_option not unset in goal scope
with set_goal_option
Description: If there is a Boolean option set in global scope for all goals
using set_option, it cannot be unset in goal scope using
set_goal_option. For example, consider the following.
sg_shell> set_option ignorelibs yes
sg_shell> current_goal initial_rtl/lint/synthesis
sg_shell> set_goal_option ignorelibs no
sg_shell> run_goal
In the above case, even if ignorelibs is being set to no inside goal
scope, it would still be treated as yes during run_goal. This problem
is there with only Boolean options.
Solution: It is currently recommended that if a specific Boolean option
is intended to be turned on/off on per goal basis, then set it inside goal
scope only, and not have it set globally using set_option.
16. Line number in violation messages for all ADC and AWL
commands is reported as 0.
Solution: Please be aware of this behavior.
46 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
current_goal initial_rtl/lint/simulation
read_file -type sgdc local.sgdc # local SGDC file
20. Some setup rules do not run when the user specifies the
compile_design command after the link_design command.
SpyGlass may report the SDC_55 violation in this case.
Solution: This problem will be fixed in a future release.
21. SpyGlass reports the SDC_219 violation if the user specifies the
create_clock command without the -period argument. SpyGlass
adds 0.0 as the default period value in such cases.
Solution: This problem will be fixed in a future release.
4.7.1.2 47
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
48 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Waveform Viewer
NOTE: Remove the .SynaptiCAD directory from your home directory before running
SpyGlass if you encounter any issues with the Waveform Viewer.
SpyGlass Customization
4.7.1.2 49
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
50 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4. The AutoFix feature currently works for single top design unit
only.
Solution: In case of multiple top design units, use the -top option.
4.7.1.2 51
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
52 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
Following is the modified RTL in this case (See the comments in bold):
module top(input in, output out);
genvar i;
generate for(i=0; i<2; i++)
begin : gen_block
defparam I1.myparam = 4; // this result in STX as
// instance name has changed outside generate block
// myblock I1(..); //commented by SpyGlass RTL
// Modification Engine
end
endgenerate
Solution: Resolve the STX error, and move out the defparam
statement from the generate block.
4.7.1.2 53
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
54 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 55
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
DesignWare components.
15. RME-generated source files and project files cannot be used for
designs that are precompiled either through single-step
precompilation by using the libhdlf command or through
two-step precompilation by using the lib command.
Description: If the precompiled dump of RTL files is generated by using
the libhdlf command or the lib command, the RME-generated
source files and project files become invalid for use once the RTL files of
that precompiled dump are modified.
NOTE: This issue does not exist if the precompiled dump is generated through
single-step precompilation by using the libhdlfiles command. In this
case, the RME-generated source files and project files can be used even if the
RTL files of that precompiled dump are modified.
Solution: Recompile the design again, preferably by using the
libhdlfiles command.
Refer to the RME Application note for details on handling of
pre-compiled designs post-modification.
Documentation
56 4.7.1.2
SpyGlass® Known Problems and Solutions
SpyGlass Known Problems and Their Solutions
4.7.1.2 57
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
General
1. Issues with running the const_mgmt and const_intern1
products together
Description: SpyGlass flags the following warning message if the
const_mgmt and const_intern1 products are run together:
File-label 'UNPARSED_COMMAND_FILE' is already registered
Solution: Please be aware of this behavior.
58 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4.7.1.2 59
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
2. OVL Issues
Description: For the assert_cycle_sequence OVL assertion or
constraint, the maximum number of clock cycles (num_cks) supported
is 64.
Solution: Please be aware of this behavior.
60 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4.7.1.2 61
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
62 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4.7.1.2 63
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
multi-dimensional arrays.
Solution: Please be aware of this behavior.
13. If clocks and other constraints are specified in the SGDC file
and clocks are also created by the Clock Setup step in an SGDC
file, the CDC Setup Manager only considers the generated SGDC
file.
Solution: It is recommended that you consolidate both the SGDC files.
You can take the clocks from the generated SGDC file and other
constraints from SGDC file that is provided by you.
14. The Reset Setup step does not have the interactive setup
similar to the Clock Setup step. It creates the autoresets.sgdc file.
Solution: It is recommended that you review the autoresets.sgdc file and
add/delete/modify the reset constraints from this file.
15. In the VHDL and Mixed flow, if the SGDC file (which has the
sdc_data constraint) has <entity.architecture> in
current_design, and you perform the following steps, the
clocks will not be used by setup step of the goals of SpyGlass
CDC solution:
1. Select the cdc_verif_base goal in Atrenta Console.
2. Click on "Setup" tab for the goal.
3. Choose to import constraints from an SDC file.
Solution: Use <entity> in current_design instead.
This problem will be fixed in a future release.
64 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
18. The Ac_cdc04a and Ac_cdc04b rules may report false violations
of data and enable changing simultaneously in certain scenarios
when the value of the fa_holdmargin parameter is set to 0.
Solution: Specify the value of the fa_holdmargin parameter to 1 or
2. This problem will be fixed in a future release.
19. Please note the known problems with the specific behavior of
the following rules of SpyGlass CDC solution:
Rule Behavior
Ac_handshake02 May report incorrect results when the request signal and the
acknowledgement signal do not have the same active phase.
Ac_Sanity02 The rule does not handle inout ports driven by black boxes
correctly and may report incorrect messages in such cases.
4.7.1.2 65
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
66 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
entity gray is
port (
clk1, clk2, rst : in std_logic;
in1 : in std_logic_vector(1 downto 0);
out1 : out std_logic_vector(1 downto 0));
end entity;
4.7.1.2 67
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
26. Formal modeling of a port done with respect to the first clock in
some cases
Description: While running advanced SpyGlass CDC rules, formal
modeling of a port is done with respect to the first clock in following
cases:
If multiple clocks are specified for the same port through the
abstract_port constraints
If multiple abstract_port constraints are applied on the same
port with different clocks
Solution: This problem will be fixed in a future SpyGlass release.
68 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4.7.1.2 69
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
70 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4. The SP_02, SP_03, and SP_04 do not take information from a .lib
file.
Solution: User should use UPF / CPF to define power control signals.
6. Issues with running SpyGlass DFT DSM solution when the sgdc
-import command is used
Description: Running SpyGlass DFT solution when the sgdc
-import command is used may create additional black boxes and
results may not be accurate.
NOTE: For issues related with RTL modification, see SpyGlass RTL Modification Engine.
4.7.1.2 71
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
72 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
Rule Behavior
ConsCase Does not flag function/procedure arguments if any case-
inconsistency has occurred
W120 Does not check same variable used in different generate
blocks
ReserveName This rule might flag duplicate violations when a UDP is
(Verilog) declared within the -v/-y file after a module declaration.
4.7.1.2 73
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
Rule Behavior
UseBusWidth-ML (VHDL) Does not flag messages for formal arguments in
case of port mapping (instantiations)
RedundantLogicalOp-ML Does not flag messages when an operand in the
(Verilog) logical operation is a function with a constant
output.
The rule also does not check if the function will
always return a constant value.
74 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
Rule Behavior
HangingNet-ML (rule False violations are reported if vector signals are
group) used as memory index when SpyGlass is run with
the set_option handlememory yes
project file command.
The set_option handlememory yes
project file command truncates memory size to 2
so that a user can run a design within limited
system resources.
However, using this option results in some false
violations of rules under the HangingNet-ML
group as these rules are checked on synthesized
netlist where AND gate is applied bit-wise with 1
on memory addressing signals. Therefore, only
0-th bit is used and rest remains unconnected if
not used anywhere else.
You can use the following rules of SpyGlass lint
solution for checking signal usage:
W120, W123, W240, W241, W528, W446, W494,
W495.
RptNegEdgeFF-ML False violations are reported if a clock path has an
odd number of inverters and the path has a self
loop.
4.7.1.2 75
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
6. The graph generated for the PESA07 rule may not contain
76 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
expected data
Description: The graph generated for the PESA07 rule does not contain
expected data if the user changes the value of X-axis in the Activity
Browser window from Time(ps) to Clock cycles.
8. Errors in the Synopsys liberty file may not get reported during
SpyGlass library compilation
Description: In some cases, a Synopsys liberty file may contain errors,
which are not reported during SpyGlass library compilation. These errors
may prevent proper completion of data-path or DesignWare synthesis.
In such cases, an Error 1 message may appear on the standard output,
and the black box report displays elements that have names starting
with M_RTL. These extra black boxes result in a gate count, which is too
low.
Solution: Ensure that Synopsys liberty files have correct syntax before
running SpyGlass.
4.7.1.2 77
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
syntax errors.
78 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
4.7.1.2 79
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
Rule Behavior
ShiftReg Does not report some cases of circular shift registers
LogicDepth May report violation multiple times in some cases
80 4.7.1.2
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and
Solutions
a. Select all the SGDC files that you want to use in the run of SpyGlass
TXV solution.
b. By default, the cdc_setup_clocks.sgdc file (containing all the clock
information in the form of the clock constraint) is disabled.
c. Enable the cdc_setup_clocks.sgdc option if the clock
constraint is not specified in the txv.sgdc file.
d. Comment the clock constraints in the txv.sgdc file that are not
complete, and enable the cdc_setup_clocks.sgdc file.
4.7.1.2 81
SpyGlass® Known Problems and Solutions
Atrenta Standard Products - Known Problems and Solutions
82 4.7.1.2