spyglass -usage
Usage: spyglass -verilog <options> <Verilog source file names> spyglass -vhdl <options> <VHDL source file names> spyglass -mixed <options> <Verilog and VHDL source file names> spyglass -def <options> <Def source file names> enable SpyGlass Rule-checking on specified Verilog or VHDL source files, as per other selected options. spyglass -32bit run SpyGlass in 32bit mode. If the default startup mode has been set as 64bit mode through the configuration file, then this option can override it and run SpyGlass in 64bit mode. spyglass -64bit enforce 64bit binary execution on Linux(64-bit) and Solaris(64-bit) machines (32-bit binary is executed by default). spyglass -version show SpyGlass version. spyglass -usage show the standard option set. spyglass -h | -help show site-specific help. spyglass -quickstart show the `quick start' help. spyglass -printrules [-verilog | -vhdl | -mixed] Print a list of all active rules in the current session for the specified language, then exit. spyglass -printgroups [-verilog | -vhdl | -mixed] Print a list of all active groups in the current session for the specified language, then exit. spyglass -printreportformats Print a list of Registered Report Formats. spyglass -batch ... run SpyGlass in BATCH mode (Default is GUI). spyglass -gui ... run SpyGlass in GUI mode. If the default startup mode has been set as batch through the configuration file, then this option can override that default and run SpyGlass in GUI mode. If both -batch and -gui are specified, then -batch is given higher priority. All SpyGlass options can be be supplied in a command file as follows. spyglass -f <command_filename) -f files can be nested and mixed with command line options. OPTION DETAILS: Language Choice: -vhdl All files are in VHDL. -verilog All files are in Verilog HDL. -mixed All files are either in VHDL or Verilog or both. -def All files are in def format. Rule-Checking Choice: -template <methodology-name>/<template-name> where, <methodology-name> is the methodology and template-name is the template lying inside the methodology <methodology-name> Example: '-template DFT/Latches' will load the "Latches" template of "DFT" methodology as per the language specified i.e., (-verilog | -vhdl | -mixed) The default behaviour is to load the "Creation" template of "Block-Design" methodology (Block-Design/Creation), as per the language specified. -policy=<policy1>,<policy2>.... -policies=<policy1>,<policy2>.... (same as -policy) where, policy1 and policy2 are supported RuleDeck policies by SpyGlass. Example: '-policy=lint' will load the Lint RuleDeck policy. '-policy=openmore,lint' will run OpenMore and Lint RuleDecks. -overloadpolicy=<policy1>,<policy2>.... will cause the overloaded version of specified policy be run, if installed. -overload=<NamedOverload1>,<NamedOverload2>.... will apply given Named Overloads, if present, to the specified policies. -fullpolicy Causes SpyGlass to run all rules of all specified policies when you have not selected any rules (only -policies option used and -rules option not used). By default, only a selected set of rules are run for each selected policy. Checking Session Options: ======================== -rules 'rule_name' Rule or group name to be checked. This option can specify multiple values if tick or double quotes is used for specifying argument value. The default is to check all available rules. -ignorerules 'rule_name' Rule or group name to be ignored in the rule checking. The default is no rules should be ignored. Specifying policy name in place of rule_name will cause all the rules of that policy to get ignored. -norules No rule checking is to be done. Useful when compiling VHDL libraries. -ignore_undefined_rules Ignore those rules which are not registered. Only warning message will appear for such rules and SpyGlass run will continue. -addrules <rule-list> runs rules from the <rule-list> in addition to the rule-set already specified through -rules etc. -sglib <sglib-file> Specifies the pre-compiled '.sglib' library file to be loaded. -plib <plib-files> Specifies PLIB library files. It is recommended to to compile PLIB library file into an .sglib file and then use .sglib file for SpyGlass analysis. -lef <lef-files> Specifies LEF library files. It is recommended to to compile LEF library file into an .sglib file and then use .sglib file for SpyGlass analysis. -sgdc <constraint-file> Specifies the SpyGlass constraints format file for specification of design constraints to be used for rule checking. -dw Enables analysis of DesignWare components instantiated in the design. -enable_pgnetlist Enables reading of PLIB files for LowPower Policy. -noelab Exit SpyGlass after analyzing the design files, i.e. elaboration does not take place. Useful when user wants to dump libraries for which elaboration is not required. No rule-checking is performed. Reporting Related Options: ========================= -wdir 'work_dir_path' Specify the directory to be used for keeping all SpyGlass output files, including .vdb, .log and schematic data files. The default is current working directory. -vdbfile <file.vdb> Define the violation database file - The default is $(wdirpath)/spyglass.vdb -logfile <file.log> Define the log file - The default is $(wdirpath)/spyglass.log -waiver <Waiver-file> Specifies the SpyGlass waiver constraints format file for specification of waiver constraints to be used for rule checking. -ignorewaivers Ignores the rule waivers due to embedded waiver pragmas in HDL source description. -lvpr <number> | The limit on number of violations per rule (lvpr) -lvpr <rule-name=value> to report; the default is infinity. Can also be used to specify limit on occurence of particular rules. -report <reporttype> When analysis has completed, call the report generator for the specified <reporttype>. If this option is not specified then `moresimple' report is generated. -noreport No report is generated. Useful if you want to analyze results separately (in GUI, for example) -reportfile <file.txt> The generated report is written to this file; the default file is $(wdirpath)/<reporttype>.rpt. If you want to see the report on stdout then use `-reportfile stdout' -report_max_size=<size> This option provides the flexiblity to change the sorted report maximum size. By default, the sorted report size is unlimited and all the results are shown. However, the user can limit the size of the report as per need to any <size> value. -rulegroup_display_depth=<number> This option provides the flexibility to change the number of subgroups to be considered for display in reports and in message Tree.Default value for this option is 2. If 0 value is specified then all the subgroups are considered. -report_per_policy Generate separate reports for each specified policy. -report_incr_messages This option is used to set the Incremental Mode option. This option is useful if you want to compare the results (messages) of two different SpyGlass runs. SpyGlass compares the results of the current SpyGlass run against the results of a previous SpyGlass run. After the analysis is done with the Incremental Mode option set, the violation messages in the reports are categorized into: * New Messages: These are the additional violation messages that were not reported in the previous run but have been reported in the current run. * PreExisting Messages: These are the violation messages that were reported in the previous run as well as the current run. * Fixed/Missing Messages: These are the violation messages that were reported in the previous run but have not been reported in the current run. reports specific options mentioned in this section do not affect this section of the reports and this section is not grouped further. -old_vdbfile To give the violation database file (vdbfile) of the run that you want to target as last run. In case this is not given the SpyGlass will pick up the vdbfile from the location where it is going to create vdbfile in the present run. -define_incr_dirmap This option provides old to new source directory mapping for spyglass incremental analysis. Old SpyGlass run might be done for RTL files in <dir1> while new SpyGlass run can be done for RTL files in <dir2>. In such a case user needs to tell SpyGlass that RTL files in new directory <dir2> are same as those in old direcrory <dir1> for SpyGlass incremental analysis to work properly. This mapping can be specified as -define_incr_dirmap <old_dir> <new_dir> -sortrule <language>+<rule name>+<sort-order> Specifies the sort order for messages of a rule in SpyGlass reports. -overloadrule <rule name>+<language>+<severity=value><weight=value> Use this option to overload rule's severity and/or weight. Please note that all parameters after rule name are optional. If language is missing then overload is applied to all existing personalities of the rule. -define_severity <policy name>+<severity label>+<severity class> Use this option to define a new severity label under a pre-defined SpyGlass severity class for a given policy. SpyGlass Design Environment Options: =================================== spyglass -gui [console | sde] Used to select between the different modes of GUI. Console mode guides user through different steps of RTL analysis and debugging. 'sde' mode opens the tranditional SDE. If default startup mode is set through the configuration file, then this switch can be used to override it. -noispy Disables generation of additional data required only by SpyGlass GUI interface. -nosch Disables generation of additional schematic data required for schematic-based browsing of rule violations in SpyGlass Design Environment. -run Causes the design to be immediately analyzed with the specified settings after the SpyGlass Design Environment (SDE) is invoked. Normally, you need to click the RUN button to start design analysis. -namevdb <name> Specifies the name of the VDB file for the next analysis run in the SpyGlass Design Environment (SDE). The default name is 'spyglass.vdb'. -disablesplashscreen Disables the appearance of Atrenta splash screen when the SpyGlass Design Environment (SDE) is starting. -filter <filter-files> Specifies the filter files (.sfl files). SpyGlass Console Related Options: ================================== spyglass -project <project_file_name> [ OPTIONS ] Used to load the specified project in the GUI. This option is only valid in the console mode and will be ignored if used with '-gui sde' command-line option. In case of batch mode (-batch specified ), apart from the console specific options listed below, only certain non-console options are supported.Specify 'atleast' one of the options from the OPTIONS list given below to run console in batch mode.For more details, Please refer the documentation for console. [ OPTIONS ] -goals <goal name/goal name list> Specifies the list of Goals to be run. All the goals specified in this list will be run one by one by spyglass taking inputs from the project file. -designread Used to perform "Design Read" in batch run of console. -showgoals Used to print all the goals in the project default methodology along with their recommended setup status and run status. In case the goal run is complete, the corresponding message count by severity is also given, i.e Error/Info/Warning counts of messages per goal. -group Spyglass will run the goals specified in the -goals list and generate combined results for all the goals run, in a common project working directory. Perl-Related Options: ==================== -f <file.f> Commands are taken from the file; one option per line (with an optional value). Lines beginning with // are ignored. -I<directory> SpyGlass will first attempt to find scripts ,and files required from scripts, in the specified directory, before searching in default locations (specifically under SPYGLASS_HOME/lib and auxi). Multiple -I options may be specified and will be searched in the specified order. -M<module_syntax> The module is imported via perl's `-M' option. -m<module_syntax> The module is imported via perl's `-m' option. -w Turn on warnings both for perl-level compilation and also for the checker's activities. HDL Common Options: ================== -top <du-names-list> Rule Checking will only be done on passed designs and their hierarchy. However, some language semantic rules may be checked on full design. -stop <du-names-list> Skips rule-checking on the specified design units. -stopfile <file-list> Skips rule-checking on all design units present in given HDL <file-list>. -stopdir <dir-list> Skips rule-checking on all design units present in the rtl source files kept in <dir-list> directories. -param {<key=value>} Overrides the value of VHDL generics or Verilog Parameters used in the design. 'key' should be <ent-name>.<gen-name> or <module-name>.<param-name>. -pragma <pragma_name> Specify a prefix for synthesis pragmas; the default is `synopsys' for Verilog source, and both 'synopsys' and 'pragma' for VHDL source. this option can be specified multiple times. Use '-pragma nopragma' to disable all pragma. -nobb Forces SpyGlass to exit without processing if any blackbox is found in the design. The default behaviour is to allow blackboxes to be passed in the design. -lib <logical> <physical> Specify the logical-to-physical mapping for referenced libraries; the physical locations must exist but may be multiply used. For example, -lib STD ~/SPYGLASS_HOME/vhdl_libs/STD -lib IEEE ~/SPYGLASS_HOME/vhdl_libs/IEEE -work 'name' Use the logical library `NAME' for compilation the default value is `WORK' -hdllibdu Runs pre-synthesis rules on pre-compiled Verilog/VHDL library design units also (if used in design). -disable_hdllibdu_lexical_checks Disallow lexical rule checking on Precompile Libraries -enable_hdl_encryption Enables encryption of the hdl library dump. -disable_encrypted_hdl_checks Disables rule checking on Encrypted design units. -dump_all_modes Causes SpyGlass to create both 32-bit and 64-bit versions of the pre-compiled HDL sources irrespective of the architecture. -remove_work Forces cleanup of work directory, before starting the design parsing. +resetall Resets Verilog compiler directive 'default_nettype' to language default which is 'wire'. Other Verilog compiler directives are not reset currently by this option. It is useful while analyzing multiple design files where user doesn't want to specify this default in each of these files. -libhdlfiles <logical-library-name> '<list of design files>' Enables SpyGlass to precompile multiple HDL libraries libraries in a single run. Logical library name must be mapped to a physical location by -lib command line switch. Elaboration and Rule Checking is disabled by default unless -elab_precompile or -top command line switch is specified or Top level design files have been given. -libhdlf <logical-library-name> '<list of source files>' Enables SpyGlass to precompile multiple HDL libraries libraries in a single run. Logical library name must be mapped to a physical location by -lib command line switch. Elaboration and Rule Checking is disabled by default unless -elab_precompile or -top command line switch is specified or Top level design files have been given. -cell_library '<list of logical-library-names>' Causes SpyGlass to skip rule-checking on design units that are loaded from the precompiled libraries specified by this command-line option. However, such units are synthesized by SpyGlass. -checkip <du-name> Causes SpyGlass to limit rule-checking on specific parts of design hierarchy. SpyGlass considers all those design units starting from the top in the hierarchy till the design unit specified by this option for rule checking. All the design units instantiated under the design unit specified by this command-line option are also considered for rule checking. -checkdu <du-name> Causes SpyGlass to limit rule-checking on specific parts of design hierarchy. SpyGlass considers all those design units starting from the top in the hierarchy till the design unit specified by this option for rule checking. All the design units instantiated under the design unit specified by this command-line option are treated as greyboxes. -elab_precompile Enables elaboration and rule checking with -libhdlfiles or -libhdlf command line switch. Rule checking done on last compiled libarary or Top level design files if specified. -force_compile Forces SpyGlass to compile all HDL libraries specified by -libhdlfile or -libhdlf command line switch. By default, only out-of-date libraries are recompiled. -macro_synthesis_off Sets the macro 'SYNTHESIS' to OFF during design read. By default, the macro is ON in design read phase of spyglass run. VHDL-Specific Options: ===================== -87 Check for IEEE-1076 VHDL-87 compliance. -print Print the list of sorted VHDL files & does not run other analysis. It requires the -vhdl and -sort options but does not imply them. -sort Sort the files before analyzing; this is useful when specifying `*.vhd' -disable_sort Disable the effect of -sort if -sort has been enabled through configuration file. -hdlin_translate_off_skip_text completely ignore the VHDL code between translate_off/translate_on pragma block. -hdlin_synthesis_off_skip_text completely ignore the VHDL code between synthesis_off/synthesis_on pragma block. -relax_hdl_parsing Performs relaxed VHDL semantic checking Verilog-Specific Options: ======================== +define+<var1>+... Add the specified macro definitions. -ignorelibs Disables synthesis and rule-checking of Verilog modules that are defined using -v/-y options. +incdir+<path1>+... Search specified paths for include files. +libext+<ext1>... Specify library directory file extensions. +stopmodule+<mod>+... Treat the named modules as black-boxes. +topmodule+<mod>+... Analyze only these modules and their descendants. -v <file> Specify a library file. -y <directory> Specify a library directory. -show_lib Generates info as to which modules are loaded from -v, -y library along with the library name. -disablev2k Disable parsing of Verilog 2000/2001 constructs. It has been enabled by default. -enableSV Enable parsing of System Verilog constructs. The default is to give error for System Verilog constructs. -sfcu To treat each System Verilog file as separate compilation unit. -enable_precompile_vlog Enables the dump of the Verilog modules in a VHDL like library-mechanism. Precompiled Verilog modules are restored by default (without any switch) as in VHDL. -allow_module_override Allows duplicate module names in Verilog designs. (The last module definition is used.) Normally, SpyGlass flags a FATAL violation in such cases. Synthesis-Specific Options: (are language-independent) ========================== -nopreserve Remove the hanging nets in the netlist. Default behaviour is to retain hanging nets. --sgsyn_loop_limit Specifies the loop unrolling limit during design synthesis. Default is 2048. Other SpyGlass Optional Features: ================================ -mthresh <number> Specify a bit-count threshold for the compilation of memories. Above the threshold, memories will not be compiled (they are treated as black boxes). The default value is 4096 bits. Also see: -handlememory -handlememory Enables special processing for design containing large size memory instances. -check_celldefine By default rule checking is off for `celldefine modules. If you want to do rule checking on such modules please specify -check_celldefine on command line. -allow_celldefine_as_top Enables rule-checking on top modules which are within Verilog `celldefine directive. By default such top modules are ignored for rule-checking. -inferblackbox Infers blackbox module interface based on the blackbox instances in the synthesized netlist and writes description to output file: sgBlackbox.v -inferblackbox_rtl Infers blackbox module interface based on the blackbox instances in the RTL description in addition to the synthesized netlist and writes description to output file: sgBlackbox.v -disable_inferblackbox Disables the effect of -inferblackbox or -inferblackbox_rtl if any of these have been enabled through configuration file. -higher_capacity Disables those rules that require multiple design views, and hence, is able to support much larger design sizes. -enable_const_prop_thru_seq Allows constant propagation beyond sequential elements during logic simulation. By default, constant propagation stops at sequential elements. This switch is used by SpyGlass clock-reset and erc policy rules. -disallow_view_delete Forces RTL design view to be visible during all phases of rule-checking. -disable_mmdelete Normally, during synthesis, RTL modules are deleted as they are synthesized. This switch forces RTL deletion in one go, after synthesis has completed. -LICENSEDEBUG Generates license checkout related debugging information in the logfile. -DEBUG Generates additional debugging information in the logfile. -enable_sglib_debug Generates functional view summary report for all cells inside SGLIB. -enable_cmdline_debug Generates a Command-line processing debug log in wdir. The debug log contains the tracing of the internal processing of user-specified command-line options done by SpyGlass in both BATCH and SDE mode. --perflog Generates the SpyGlass performance log (.perflog) containing details like memory/runtime values of each rule run and benchmark data for various stages of SpyGlass run, like analysis, synthesis, flattening, etc. (Feature available on 32bit platforms only) -enable_pass_exit_codes Generates more descriptive SpyGlass Exit Status Code for successful completion of SpyGlass run. -lang=<language> Specifies display language of interest. The display language specification is case-sensitive, i.e., -lang=ja is different from -lang=JA. The default display language is English. -configfile=<config-file> Specified configuration file will be read and will have priority over configuration files read from pre-determined locations, namely SPYGLASS_HOME, user's home directory, and current working directory. -support_sdc_style_escaped_name Allows synopsys-style escaped names in Spyglass Design Constraint files. -templatedir Specifies directory from which user wants to pick a template.It can take single value and last value overrides all the values given earlier If not specified Spyglass sets templatedir to the value specified for DEFAULT_TEMPLATE_DIRECTORY key in .spyglass.setup -enable_gateslib_autocompile Enables auto-compilation of gates library (.lib) files into '.sglib' library file. The generated .sglib file ('aggregate.sglib') gets stored in spyglass cache directory (as specified through -cachedir option) so that it can be reused in subsequent spyglass runs -force_gateslib_autocompile Forces re-compilation of gates library (.lib) files into .sglib file. Any data present in cache directory is ignored. In fact, the cache directory gets updated with the results of the current compilation -cachedir <dir> Specifies the location of cache directory for storing the auto-generated 'aggregate.sglib' file during auto-compilation of .lib files. In future, this cache directory can also be used to store other spyglass data so that the same data can be reused across multiple spyglass runs -disable_gateslib_autocompile Disables auto-compilation of gates library (.lib) files into '.sglib' library file if the same has been enabled via .spyglass.setup file. This switch is ignored if any of -enable_gateslib_autocompile or -force_gateslib_autocompile options is also specified on the command line Save-Restore related options: ============================ -enable_save_restore enables save-restore capability in SpyGlass. -dbdir <database-directory> specifies the design save directory when working in the Design Save/Restore mode. -force_save forces design save. -force_restore forces design restore if possible. -savepolicy | -savepolicies <policy-name-list> specifies policies to be saved in addition to policies given through -policy/-policies option. -skip_rules_for_fast_restore Disables all those rules which do not allow SpyGlass to run in full design restore mode. -nosavepolicy <policy-name-list> Specifies the policies (not specified with the -policies/ -savepolicies command-line options) for which the design views should not be saved by default. SpyGlass options for Power Estimation Policy: ============================================ -target <lib-name-list> Specifies libraries to be used for technology mapping out of the specified SGLIB libraries. By default, all specified SGLIB libraries are used for technology mapping. -use_scan_flops Causes SpyGlass to use a scan flip-flop if it fails to find a normal (non-scan) flip-flop for mapping. -preserve_mux Enables Spyglass to pick mux cells from the technology library for mapping muxes in a user design. When this switch is specified, SpyGlass gives priority to the mux cells present in the technology library rather than a mux implementation in terms of more basic cells from the technology library. If mux cells are not present in the technology library, Spyglass selects the mux implementation in terms of more basic cells from the technology library. -sgsyn_clock_gating Causes SpyGlass to create a simple clock gating logic instead of creating a MUX-based enable logic when 16 or more flip-flops with the same clock signal and the same enable signal are found. Use '-sgsyn_clock_gating_threshold' option to specify your own number. -sgsyn_clock_gating_threshold <num> Specifies the number (default 16) of flip-flops beyond which SpyGlass create a simple clock gating logic for flip-flops with the same clock signal and the same enable signal. Spyglass aggregate report generation related options: ==================================================== -gen_aggregate_report <report_name> Used to generate the specified aggregate report. The report_name may be project_summary or datasheet. -config_file <config_file> Specify a configuration file having project files path or classic dump directory path for which aggregate report needs to be generated. -project <project_file> Specifies the name of a single project file. This option is considered only if the -config_file option is NOT specified. In such cases, Console accepts the specified project file as the input. If you have specified both the -config_file and -project options, Console ignores the -project option and considers the -config_file option. -aggregate_reportdir <output directory> The user can optionally redirect generated aggregate reports to a directory specified with '-aggregate_reportdir". By default, the aggregate reports are generated in directory "./aggregate_reports". SpyGlass Exit Code 0 (Informational command executed, rule-checking not done)