SpyGlass Console UserGuide
SpyGlass Console UserGuide
User Guide
Version O-2018.09, September 2018
Copyright Notice and Proprietary Information
©2018 Synopsys, Inc. All rights reserved. This Synopsys software and all associated
documentation are proprietary to Synopsys, Inc. and may only be used pursuant to the
terms and conditions of a written license agreement with Synopsys, Inc. All other use,
reproduction, modification, or distribution of the Synopsys software or the associated
documentation is strictly prohibited.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth
at http://www.synopsys.com/company/legal/trademarks-brands.html.
All other product or company names may be trademarks of their respective owners.
Third-Party Links
Any links to third-party websites included in this document are for your convenience
only. Synopsys does not endorse and is not responsible for such websites and their
practices, including privacy practices, availability, and content.
Synopsys, Inc.
690 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com
Report an Error
The SpyGlass Technical Publications team welcomes your feedback and suggestions on
this publication. Please provide specific feedback and, if possible, attach a snapshot.
Send your feedback to spyglass_support@synopsys.com.
 Contents
 Preface........................................................................................17
           About This Book .................................................................................... 17
           Contents of This Book ........................................................................... 18
           Typographical Conventions ................................................................... 19
                                                                                                                     v
Feedback                                              Synopsys, Inc.
           Adding Files in GUI ..........................................................................36
           Specifying Functionality Information of Gate Cells ................................42
           Specifying a List of .sglib Files ...........................................................44
           Specifying Compressed Verilog Designs ..............................................44
           Mapping File Extensions....................................................................45
           Rearranging HDL Files ......................................................................46
           Performing Version Control................................................................46
           Editing Files ....................................................................................47
           Setting Stop Files.............................................................................50
           Ignoring Files from SpyGlass Analysis .................................................50
           Waiving Messages by File ..................................................................51
           Viewing Include Files ........................................................................51
           Configuring Columns ........................................................................51
        Viewing and Changing Design Read Options ............................................52
           Using Verilog Constructs ...................................................................54
        Running Design Read ...........................................................................55
           Running Design Read in GUI..............................................................55
           Running Design Read in Batch ...........................................................58
           Checks Performed During the Design Read Process...............................58
           Viewing Messages after Running Design Read ......................................59
           Identifying Common Syntax Errors and Issues .....................................59
           Tips for Debugging Syntax Errors .......................................................60
           Viewing Reports...............................................................................60
           Viewing Source Files ........................................................................62
           Searching Instances .........................................................................62
     Stage 2: Selecting a Goal (Goal Setup & Run) ....................................... 64
        Selecting a Goal ..................................................................................65
           Modifying a Goal ..............................................................................67
           Running Custom Goals .....................................................................72
           Running Goals in Parallel...................................................................72
           Viewing Directories Created After Goal Run .........................................81
        Setting up the Goal ..............................................................................93
           Determining Parameter Precedence ....................................................93
           Setting Parameters and Constraints for Selected Goal ...........................93
           Performing Sanity Checks for Parameters .......................................... 101
           Using the Dual Design Read (DDR) Flow............................................ 101
           Incremental Mode Analysis.............................................................. 108
           Setting Up the Goal in Batch Mode ................................................... 109
        The Methodology Configuration System ................................................ 109
        Running Prerequisite Goals.................................................................. 109
        Working with Scenarios ...................................................................... 111
vi
                                           Synopsys, Inc.                                             Feedback
                 Creating Scenarios......................................................................... 112
                 Modifying and/or Deleting Scenarios................................................. 114
                 Running Scenarios ......................................................................... 114
                 Directory Structure Created After Running a Scenario ......................... 115
           Stage 3: Analyzing a Design (Analyze Results) ....................................116
              Editing Source Files ........................................................................... 117
              Viewing Goal Summary ...................................................................... 117
              Comparing Results of Multiple SpyGlass Runs ........................................ 118
                 Introducing the Incremental Mode Feature ........................................ 118
                 Using the Incremental Mode Feature ................................................ 119
                 Comparison Reported in Batch......................................................... 120
              Viewing Different Type of Results ......................................................... 120
                 Design Results .............................................................................. 121
                 SpyGlass CDC Solution Results ........................................................ 122
                 SpyGlass Constraints Solution Results .............................................. 122
                 SpyGlass TXV Solution Results ........................................................ 122
                 SpyGlass DFT Solution Results ........................................................ 124
                 Power Results ............................................................................... 125
              Viewing Results of Different Scenarios and Goals ................................... 126
              Cross-probing from the Msg Tree Page.................................................. 126
                                                                                                                vii
Feedback                                            Synopsys, Inc.
            Structure of Precompiled Verilog Libraries ......................................... 142
            Library Searching Mechanism .......................................................... 142
            Working with Precompiled Verilog Libraries in Mixed Language Mode ..... 143
            Specifying Verilog Libraries by Using the 'uselib Statement .................. 146
         Compiling Libraries in Mixed-Language Designs...................................... 146
            VHDL Library Design Units Instantiated in Verilog Modules................... 147
            Verilog Modules Instantiated in VHDL Design Units ............................. 147
            Searching Master Instance in Mixed-Language Mode........................... 147
         Debugging Issues in Gate Libraries....................................................... 148
         Specifying Precompiled Libraries for SpyGlass Analysis............................ 149
            Specifying Multiple Technology Libraries of the Same Name ................. 150
         Using Intermediate Logical Library Name Support in VHDL ...................... 151
         Working with Compressed Gate Library Files.......................................... 153
         Working with Encrypted Compiled Libraries ........................................... 154
            Creating Encrypted Library Dump..................................................... 154
            Using Encrypted Library Dump......................................................... 155
         Viewing Built-In Messages for Precompiled Libraries ............................... 156
            Impact of the addrules Option While Using Pre-compiled Dump ............ 159
            Impact of the ignorerules Option While Using Pre-compiled Dump ........ 159
         Mapping a File Extension with a Compilation Language ........................... 160
            Inferring Language from File Extension During Compilation ................. 161
            Specifying Compilation Options in a Source File.................................. 165
            Specifying Files in the Order of Their Dependencies ............................ 166
         Compiling Verilog Files Containing SystemVerilog Keywords ..................... 167
            Compiling the Set of Verilog and SystemVerilog Files Separately........... 167
            Using File Extension Based Compilation Flow ..................................... 168
       Working with Encrypted Design Files .................................................. 170
         Introducing the Use Model for IP Encryption in SpyGlass ......................... 170
         Encrypting IPs by Using the spyencrypt Utility ....................................... 171
            Arguments of the spyencrypt Utility.................................................. 172
            Encrypting IPs Spread Across a Hierarchical Directory Structure ........... 175
         Viewing Encryption Summary in a Report .............................................. 176
         Specifying Encrypted Files for SpyGlass Analysis .................................... 177
            Specifying Encrypted Files through GUI............................................. 177
            Specifying Encrypted Files through a Project File ................................ 180
       Working with Mixed-Language Designs............................................... 182
         Instantiating Verilog Modules in VHDL Architectures ............................... 182
            Instantiating as Component Instance................................................ 182
            Instantiating as Entity Instance ....................................................... 184
         Instantiating VHDL Design Units In Verilog Modules ................................ 186
         Examples of Instantiating VHDL Design Units in Verilog Modules .............. 187
viii
                                          Synopsys, Inc.                                        Feedback
              Mapping Data Types........................................................................... 189
                 Mapping between VHDL Generics and Verilog Parameters .................... 189
              Current Limitation with Mixed-language Designs in SpyGlass ................... 190
           Working with DesignWare® Modules ...................................................192
              Prerequisites for Enabling DesignWare Flow........................................... 192
              Specifying Path of DesignCompiler Installation....................................... 192
              Enabling the DesignWare Flow............................................................. 193
              Reusing Netlist of DesignWare Modules during SpyGlass Analysis ............. 194
              List of DesignWare Modules Supported in SpyGlass ................................ 195
              Using DesignWare Functions ............................................................... 198
           Specifying Pragmas in HDL Code ..........................................................199
              Supported Pragmas for Verilog ............................................................ 199
              Supported Pragmas for VHDL .............................................................. 199
           Working with Black Boxes....................................................................200
              Inferring Black Boxes ......................................................................... 200
                 Understanding the Black Box Inference Feature ................................. 201
                 Using the Black Box Inference Feature.............................................. 202
                 Checking the Inferred Information ................................................... 202
                 Using the Corrected Inferred Information.......................................... 204
              Stopping Black Box Analysis................................................................ 204
           Handling Out of Memory Situations ......................................................205
           Reporting Messages at Module Boundary .............................................206
              Identifying Modules ........................................................................... 206
              Enabling the Feature .......................................................................... 207
              Impact of the Feature ........................................................................ 207
           Controlling the RTL Synthesis Engine ...................................................208
              Limiting Analysis of Memories.............................................................. 208
              Preserving all instances and nets in a design ......................................... 209
              Interpreting Synthesis Pragmas ........................................................... 209
                 Interpreting Synthesis Pragmas ....................................................... 210
           Managing the Design Hierarchy............................................................212
              Specifying a Top-level Design Unit ....................................................... 212
                 Advantage of Specifying a Top-Level Design Unit................................ 212
                 Setting a Top-Level Design Unit ....................................................... 213
                 Multiple Top-Level Design Units ....................................................... 214
                 Language-Specific Behavior While Specifying a Top-Level Module ......... 215
              Stopping Design Units ........................................................................ 216
                 Implications After Stopping Design Units........................................... 217
                 Checks Performed on Stopped Design Units....................................... 218
              Using the Top and Stop Features Together............................................. 218
                                                                                                              ix
Feedback                                           Synopsys, Inc.
        Ignoring Files and Design Units From SpyGlass Analysis.......................... 220
           Difference between Ignored and Stopped Design Units........................ 221
           Ignoring Files Containing Design Units .............................................. 221
           Ignoring Individual Design Units ...................................................... 222
        Analyzing Selective Design Hierarchy.................................................... 225
      Working with 'celldefine Modules ........................................................ 226
        Performing Rule-Checking on 'celldefine Modules.................................... 226
        Performing Hierarchical Rule-Checking in 'celldefine Modules ................... 227
x
                                             Synopsys, Inc.                                             Feedback
              Customizing Goals ............................................................................. 269
              Including and Inheriting GuideWare Goals............................................. 269
                 Including/Inheriting Goals in a Goal File............................................ 270
                 Including/Inheriting Goals in the MCS Window ................................... 277
                 Viewing and Adding Options for an Included or Inherited Goal ............. 278
                 Viewing Rules and Parameters of Included/Inherited Goals .................. 279
                 Enabling/Disabling Rules of a Parent Goal ......................................... 280
           Selecting a Custom Methodology..........................................................281
           Comparing Methodologies ....................................................................284
              Merging the Differences...................................................................... 286
           Copying and Inheriting Methodologies .................................................287
              Copying a Methodology ...................................................................... 287
              Inheriting a Methodology .................................................................... 288
                 Specifying a Reference Environment Variable..................................... 289
                 Specifying an Additional Path .......................................................... 289
           Migrating Custom Goals .......................................................................291
              Comparing Goals ............................................................................... 291
                 Viewing the HTML Report for Comparison.......................................... 296
              Migrating Goals ................................................................................. 297
           Order File .............................................................................................298
                 Viewing Order of Goals Defined in an Order File ................................. 299
                 Format of an Order File .................................................................. 299
           Map File ...............................................................................................302
                                                                                                                   xi
Feedback                                             Synopsys, Inc.
            Defining Variables .......................................................................... 315
            Using Variables.............................................................................. 315
      Handling Duplicate Constraint Specifications ...................................... 318
      Handling Nets Declared in a Sequential Block ..................................... 319
      Conditionally Specifying SGDC Constraints .......................................... 320
         Using the SG_OPERATING_MODE Variable............................................. 321
            Example of Using the SG_OPERATING_MODE Variable ........................ 322
      Processing of SGDC Files ..................................................................... 327
         Parsing SGDC Files............................................................................. 327
         Performing Syntax Checking in SGDC Files ............................................ 327
      Processing SpyGlass Design and Waiver Pragmas ............................... 328
      Recognizing Clocks.............................................................................. 330
      Converting SDC Attributes into SGDC Commands ................................ 331
         Enabling the SDC-to-SGDC Translation Feature ...................................... 331
         Changing the Default Hierarchy Separator of the SDC2SGDC Constraints... 332
         Specifying the Mode of Domain Inference.............................................. 333
         Inferring cdc_false_path for Clocks in Different Domains ......................... 334
         Capturing Domain Inferring Results ...................................................... 335
         Handling of Generated Clocks .............................................................. 336
         Handling Mutually Exclusive Clocks....................................................... 339
         Handling Directional Clocks ................................................................. 339
         Translating set_clock_sense command .................................................. 340
         Translating set_disable_timing command .............................................. 340
         Translating set_mode command........................................................... 341
         Saving the Generated SGDC Commands in a File ................................... 341
         Specifying the Mode of an SDC File ...................................................... 341
         Understanding Different Flows for Using This Feature.............................. 342
            Generating SGDC Commands as a Part of Goal Run ............................ 342
            Generating SGDC Commands as a Part of Design Read ....................... 342
         Support for Virtual Clocks in sdc2sgdc Flow ........................................... 343
            Virtual to Real Clock Mapping .......................................................... 344
         Limitations........................................................................................ 344
      Importing Block-Level SGDC Commands to Chip-Level ........................ 346
         Creating a Migration File ..................................................................... 346
            Constraints Migrated From Block-Level to Chip-Level .......................... 347
            Generated Hierarchical SGDC File(s)................................................. 348
         Validating the Generated Hierarchical SGDC File..................................... 349
      Implementing Scoping in SGDC Commands ......................................... 351
            Wildcard Support at Top-Level ......................................................... 353
xii
                                            Synopsys, Inc.                                             Feedback
                Conflict Resolution at Top-Level ....................................................... 353
             Scoping When Design is at the Block-Level............................................ 354
                Wildcard Support at Block-Level ...................................................... 355
                Conflict Resolution at Block-Level..................................................... 355
           Handling SystemVerilog Objects in SGDC .............................................357
             Handling SystemVerilog Interface Port/Terminal ..................................... 357
             Handling SystemVerilog Interface Containing a Modport.......................... 357
             Handling SV Structure or Union ........................................................... 358
             Handling for-generate Constructs......................................................... 359
                                                                                                                 xiii
Feedback                                             Synopsys, Inc.
           Details of the waive Constraint ........................................................ 386
           Examples of Using the waive Constraint ............................................ 389
           Using Regular Expressions and Wildcard Characters............................ 390
           Support for Hierarchical Waivers ...................................................... 400
         Waiving Messages by Using SpyGlass Pragmas ...................................... 402
           Waiving Rule Messages for a Block of Code........................................ 404
           Waiving Rule Messages for a Single Line of Code ................................ 406
           Ignoring the SpyGlass Waiver Pragmas ............................................. 411
           Waiving Messages in Waiver/SGDC Files............................................ 411
           Existing Waiver Support in SpyGlass................................................. 412
      Tagging Messages ............................................................................... 413
         Adding a Tag ..................................................................................... 413
         Modifying a Tag ................................................................................. 414
         Deleting a Tag ................................................................................... 415
      Handling SpyGlass Built-In Messages.................................................. 416
           Handling Syntax Error Messages ...................................................... 416
           Handling Language Warning Messages .............................................. 416
           Handling Synthesis Warning Messages .............................................. 416
           Handling Synthesis Error Messages .................................................. 417
           Handling Internal Messages............................................................. 417
xiv
                                            Synopsys, Inc.                                             Feedback
              Generating the Datasheet Report through a Project File .......................... 444
              Recommended Goals for Generating DataSheet Report ........................... 446
              Details of the DataSheet Report........................................................... 449
                 IO Definitions................................................................................ 451
                 Clock Trees ................................................................................... 452
                 Reset Trees................................................................................... 453
                 Power .......................................................................................... 454
                 Power Clocks ................................................................................ 455
                 Constraints ................................................................................... 456
                 Testability..................................................................................... 457
                 Design Statistics............................................................................ 458
                 Black Boxes .................................................................................. 459
                 Timing ......................................................................................... 459
                 Congestion ................................................................................... 460
           The DashBoard Report .........................................................................462
              Licensing Requirements ...................................................................... 464
              Browser Compatibility ........................................................................ 464
              Generating Dashboard Report ............................................................. 464
                 Generating the DashBoard Report through Project File ........................ 465
                 Generating the DashBoard Report in Batch........................................ 465
                 Generating Dashboard Report in GUI ................................................ 467
                 Creating a Configuration File ........................................................... 469
                 Tcl Format Support in the Configuration File ...................................... 471
                 Creating the Success Criteria File ..................................................... 473
              Viewing the DashBoard Report ............................................................ 492
              Details of the DashBoard Report .......................................................... 493
                 SoC Dashboard ............................................................................. 493
                 Module Dashboard ......................................................................... 500
              Customizing Report............................................................................ 504
                 Including Product-Specific Data in the Report .................................... 505
                 Customizing the Report Header ....................................................... 507
              Managing Reports .............................................................................. 509
                 Archiving and Managing Data Generated After Running Goals .............. 509
                 Generating the HTML Goal Summary Page ........................................ 511
              Switching to the Old Dashboard Report................................................. 515
           Goal Summary......................................................................................516
           Managing Datasheet and Dashboard Reports .......................................518
 Appendix...................................................................................519
           Supported HDL Directives ....................................................................519
                                                                                                                 xv
Feedback                                             Synopsys, Inc.
      Re-using Simulation Scripts ................................................................ 521
      Project File Details .............................................................................. 523
         Creating a Project File ........................................................................ 523
         Structure of a Project File ................................................................... 523
            Data Import Section....................................................................... 524
            Common Options Section ................................................................ 525
            Goal Setup Section ........................................................................ 529
            Example of a Tcl-based Project File................................................... 534
      Supported Library Cells ....................................................................... 536
         Combinational Cell Support ................................................................. 536
         Sequential Cell Support ...................................................................... 536
      Precompiling Multiple Libraries in a Single SpyGlass Run .................... 539
         Features of Single Step Precompilation ................................................. 540
         Makefile Based Support in Step Precompilation ...................................... 541
         Combining Single-Step Precompilation and Top-level Run ........................ 542
      Goals That Do Not Use Default Parameter Value ................................. 544
      Sample Order File................................................................................ 555
xvi
                                           Synopsys, Inc.                                           Feedback
           Preface
                                                                              17
Feedback                           Synopsys, Inc.
Preface
  Section                                      Description
  Introducing Atrenta Console                  About Atrenta Console
  Using Atrenta Console Graphical User         The Atrenta Console Basic Operating Principles
  Interface
  Working with Input Design and Libraries      Describes all aspects of reading a design in Atrenta
                                               Console.
  Working with Methodologies                   The Atrenta Console Methodology Configuration
                                               System (MCS)
  Working with SpyGlass Design Constraints     SpyGlass Design Constraints Feature
  Working with SpyGlass Messages               Features to control SpyGlass Messages
  Working with Aggregated Reports              The Atrenta Console Reports
  Appendix                                     Details of various other features in Atrenta Console
18
                                             Synopsys, Inc.                                Feedback
                                                                                              Preface
Typographical Conventions
 Typographical Conventions
                  This document uses the following typographical conventions:
                   Syntax                   Description
                   [ ] (Square brackets)    An optional entry
                   { } (Curly braces)       An entry that can be specified once or multiple
                                            times
                   | (Vertical bar)         A list of choices out of which you can choose
                                            one
                   ... (Horizontal          Other options that you can specify
                   ellipsis)
                                                                                                  19
Feedback                                     Synopsys, Inc.
Preface
Typographical Conventions
20
          Synopsys, Inc.                   Feedback
           Introducing Atrenta
           Console
 Overview
           Atrenta® Console is used to solve various design issues in the early stages
           of the design development process.
           To solve design issues early in the design development cycle, Atrenta
           Console provides you a pre-packaged set of goals and methodologies
           called GuideWare™.
 Introducing Goals
           A goal is a pre-packaged set of rules that detects specific types of design
           issues. For example, the connectivity goal contains rules that checks
           for basic connectivity issues in a design. Similarly, the simulation goal
           contains rules that checks for basic simulation issues in a design.
           When you run a goal after specifying design files in Atrenta Console all
           rules of that goal are run. Once the goal run is complete, appropriate
           violation messages are reported to indicate design issues.
           Details of goals are specified in Goal Files (.spq files).
                                                                                      21
Feedback                               Synopsys, Inc.
Introducing Atrenta Console
Overview
Introducing Methodologies
                 A methodology is a collection of sub-methodologies or a collection of goals.
                 Each sub-methodology may further contain sub-methodologies or a set of
                 goals.
                 You can load the required methodology or sub-methodology that contains
                 the required goals. For details on loading a methodology, see Specifying an
                 Active Methodology.
22
                                           Synopsys, Inc.                            Feedback
                                                                       Introducing Atrenta Console
                                                                                               23
Feedback                                     Synopsys, Inc.
Introducing Atrenta Console
24
                                            Synopsys, Inc.                                   Feedback
                                                                        Introducing Atrenta Console
                  the SpyGlass GUI and want the design to be immediately analyzed after
                  invoking the SpyGlass GUI.
                  You must provide all essential SpyGlass command-line options with the
                  -run command-line option. Otherwise, the design will not be analyzed.
                  You can either abort the current session or continue the session by clicking
                  the Abort or Continue buttons, respectively.
                                                                                                25
Feedback                                             Synopsys, Inc.
Introducing Atrenta Console
GUI Details
GUI Details
                  When you start a new session, the following page appears:
     Menu bar
     Ribbon bar
     HDL libraries
     section
      SGDC files
      section
      Tech libraries
      section
      Session log
      Status bar
26
                                           Synopsys, Inc.                      Feedback
                                                                            Introducing Atrenta Console
GUI Details
                                                                                                    27
Feedback                                       Synopsys, Inc.
Introducing Atrenta Console
28
                                              Synopsys, Inc.                            Feedback
                                                                             Introducing Atrenta Console
                                                                                                     29
Feedback                                        Synopsys, Inc.
Introducing Atrenta Console
Project File
                 A project file (.prj) contains the following data about a particular Atrenta
                 Console session:
                  Input HDL files and language settings
                  Run options
                  State of project (design read, goal setup, goal run, or results analysis)
                  Constraint files and parameter settings for goals
                  Status of goal setup and analysis
                 For details on creating a project file, see Creating a Project File.
                 When you load a project file in Atrenta Console GUI, the stage at which you
                 last closed the session gets loaded with all the saved data. For more details
                 on a project file, see Structure of a Project File.
                 By default, a project file is saved in the current working directory. You can
                 specify a different directory by using the File > Save Project As menu option.
         NOTE: You can also create a project file using a Tcl (Tool Command Language) scripting
               interface. This enables you to configure an Atrenta Console batch session without
               using the Atrenta Console GUI.
30
                                                Synopsys, Inc.                                     Feedback
                                                                           Introducing Atrenta Console
                                                                                                   31
Feedback                                        Synopsys, Inc.
Introducing Atrenta Console
32
                                              Synopsys, Inc.                                     Feedback
                                                                         Introducing Atrenta Console
                       product-specific reports.
                    spyglass_spysch
                       This directory contains internally generated files that are used for
                       internal SpyGlass processing or to support GUI features. This directory
                       is saved in the current working directory.
                    spyglass.vdb
                       This file stores all the violations generated during SpyGlass run.
                                                                                                 33
Feedback                                        Synopsys, Inc.
Introducing Atrenta Console
34
                                            Synopsys, Inc.                                     Feedback
           Using Atrenta Console
           Graphical User Interface
 Overview
           This chapter discusses the following stages of Atrenta Console:
            Stage 1: Setting up the Design (Design Setup)
            Stage 2: Selecting a Goal (Goal Setup & Run)
            Stage 3: Analyzing a Design (Analyze Results)
                                                                             35
Feedback                              Synopsys, Inc.
Using Atrenta Console Graphical User Interface
36
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                    SGDC files      The files are .sgdc files that          read_file -type sgdc
                                    contain SpyGlass design                 <filename>
                                    constraints. These design               Example:
                                    constraints are used to provide         read_file -type sgdc
                                    additional design information that      constraints.sgdc
                                    is not apparent in the RTL.
                                                                                                         37
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  2. Click the File(s) option to add the HDL files or the HDL Lib(s) option to add
                     HDL libraries.
                  3. Click the Look In drop-down list to select a directory containing the
                     required files.
                  4. For HDL files, select the file type from the Filter drop-down list.
                     For HDL library files, select the directory containing the files and specify
                     a logical library name in the Logical Library Name text field.
            NOTE: The Logical     Library Name text field appears only when you click the HDL Lib(s)
                  option.
                  5. Select the required file, and click the Add button to add that file.
38
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                      With HDL files, you can add all files present in the directory by clicking
                      the Add All button.
              NOTE: If you are adding HDL library files, you can add the directory that contains the
                    HDL files.
                  6. Click the OK button to close the dialog.
           NOTE: If you want to remove a file that you have added in the    Add File(s) dialog, select
                  that file and click the Delete button. To remove all the added files, click the Delete
                  All button.
                  After performing the above steps, the specified files appear under
                  appropriate sections, such as HDL Files, SGDC Files, HDL Libraries, and            Tech
                  Libraries, depending upon the type of the file selected.
                  The following figure shows various sections containing different files:
                                                                                                         39
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  Placing the mouse pointer over a file in any of these sections displays a
                  tool-tip showing the path, size, and last modified date of that file.
40
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                  depending upon the file type. You cannot edit files that are grayed out.
                  A source file should contain HDL files and HDL-related directives. For
                  example, you can specify a Verilog library directory by using the -y
                  <path> command.
                  Atrenta Console accepts many of the same HDL directives as some popular
                  simulation tools in the source file, and HDL code directly supports some
                  directives. For a list of supported HDL directives, see Supported HDL
                  Directives. For HDL directives that differ by tool, see Re-using Simulation
                  Scripts for the conversion to Atrenta Console project format.
           NOTE: If an option (design file or other design option) added through a source file is
                 already present in a project file, the option added through the source file gets
                 higher precedence. This means that the option specified through the source file
                 overrides the option present in the project file.
                                                                                                         41
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                   If you want to remove the file from a project file, delete the
                     corresponding read_file command that you specified to add this file.
                   If you are working in sg_shell and the file is already added, then use the
                     remove_file command. For example, the following command would
                     remove all HDL files:
                     remove_file -type hdl
                     You cannot remove a single HDL file in the sg_shell mode.
                  To remove a source file, right-click on the file name and select the           Delete
                  Source List File shortcut menu option.
                  To remove multiple files from the HDL Files,       HDL Libraries, and Tech Libraries
                  sections, perform the following steps:
                  1. Press and hold the <Ctrl> key on the keyboard and select the files that
                     you want to delete.
                  2. Click the Delete File(s) link or press the <Delete> key on the keyboard.
42
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                         43
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
         NOTE: If you also specify a .lib file by using the gateslib command, SpyGlass ignores that
               .lib file and picks functionality information of gate cells from the specified VHDL file.
44
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                   Specify the name of the compressed file in a source file (.f file), and
                      specify that source file in Atrenta Console by using the following project
                      file command:
                      read_file -type sourcelist <source-file-name>
                                                                                                         45
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  3. In the above dialog, click the file type in the Extension(s) column.
                                            Extension(s) column becomes editable.
                     The selected cell in the
                  4. Now enter the required extension name in that cell in the Extension(s)
                     column.
         NOTE: Specify extension names as a space-separated list.
46
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
 Editing Files
                  You can edit files, such as HDL files, libraries, and source files.
                                                                                                         47
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  2.   Specify the new alias of the file in the   Library Name column.
                  3.   Click (     ) to browse to the directory that contains the new library file.
                  4.   Select the file
                  5.   Click the   OK button.
                  You must specify both the logical name and the path of the library. The
                  logical name is the name of the library as you used it when creating a
                  precompiled Verilog library or in your VHDL description. The physical
                  library name is the complete path name of the library file.
                  If you change an entry in the       HDL Libraries section, SpyGlass performs the
                  following sanity checks:
                   Filename existence check
                       If you have not specified any RTL file for a particular precompile
                       mapping, the corresponding library appears in red and the following
                       message appears in a tool-tip:
                       No filename specified
                   Empty file check
                       SpyGlass checks the size of the RTL file being used. If the file size of all
                       the specified RTL files is zero, the corresponding library appears in red
                       and the following message appears in a tool-tip.
                       All files are of Zero size
                   Read permission check
                       If an RTL file being used is read-only, the corresponding library appears
                       in red and the following message appears in a tool-tip.
                       Following files are not readable:
                       - <file-name>
                       Where,    <file-name> is the name of the RTL file(s).
48
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                         49
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
50
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
 Configuring Columns
                  To display or hide columns appearing in the HDL Files,          SGDC Files, and Tech
                  Libraries sections, perform the following steps:
                  1. Right-click on any section, and select the Configure Columns option from
                      the shortcut menu.
                                                                                                         51
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  2. Select the column name in the Hidden Columns or Visible Columns section.
                  3. Click      or      to show or hide the selected column.
                  4. You can also rearrange the column order in the Visible Columns section by
                     clicking        or          buttons.
52
                                                  Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                         53
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                   Multidimensional arrays       Array bit and part selects    Signed-up, net and port
                                                                               declarations
54
                                                 Synopsys, Inc.                                   Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                         55
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
56
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                         57
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
Help section
58
                                                    Synopsys, Inc.                                  Feedback
                                                                Using Atrenta Console Graphical User Interface
                    Severity       Description
                    FATAL          Indicates a critical problem preventing further processing.
                                   You must fix such violations before proceeding to the next stage.
                    ERROR          Indicates a serious problem affecting design quality or analysis and
                                   should be resolved.
                                   It is highly recommended to resolve or reconcile all such
                                   messages.
                    WARNING        Indicates a problem that might be serious.
                                   It is highly recommended to review all such messages to check for
                                   possible problems.
                    INFO           Indicates an informational message about the design.
                                   Such messages can provide further design and analysis
                                   information that helps in the debugging of various errors and
                                   warnings.
                  While reviewing the output of design read, check the bottom of the run log,
                  spyglass.log, for a summary of messages by severity. Each run contains the
                  moresimple.rpt report that contains details of each message.
                                                                                                           59
Feedback                                           Synopsys, Inc.
Using Atrenta Console Graphical User Interface
Viewing Reports
                  SpyGlass provides several predefined report formats to display violation
                  messages or redirect reports to files for later review.
                  You can view these reports in any of the following ways:
                   By selecting the required report from the Tools -> Report menu option.
60
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                   By selecting the required report from the Reports option in the Results
                      pane.
                  The results summary displays the number of error messages found in the
                  design.
                  Certain error messages in the results summary are prefixed with two
                  asterisks (* *). It is recommended that these errors are fixed before
                  proceeding further.
                  To fix the issues in the design, load the source files in the        Source section as
                  explained in the Viewing Source Files section.
                                                                                                         61
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  In the above page, double-click on the required file (source file or include
                  file) from the File View page to load the contents of that file in the Source
                  section.
                  You can edit a file by clicking the Edit File link on the navigation bar located
                  at the left of the Source window.
                  After you have cleaned the design from any fatal errors, re-run design
                  read.
Searching Instances
                  To search an instance in the      Instances View page, perform the following
                  steps:
62
                                                 Synopsys, Inc.                                  Feedback
                                                              Using Atrenta Console Graphical User Interface
                  1. In the Search section parallel to the menu bar, select the Instance View
                      option from the pull-down list, as shown in the following figure:
                  You can select appropriate option(s) from the above list to qualify your
                  search.
           NOTE: When you select the    Search in Hierarchical Path option, only Search Backwards
                 option is enabled.
                                                                                                         63
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
         NOTE: Specify a top-level module in Stage 1: Setting up the Design (Design Setup) before
               proceeding to the Goal Setup & Run stage.
                  In this tab, you can perform various actions, such as selecting goals and
                  specifying parameters and constraints for the selected goals. Finally, run
                  the selected goals before proceeding to the next stage, Stage 3: Analyzing a
                  Design (Analyze Results).
64
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
 Selecting a Goal
                  To select a goal, click the   Select Goal tab.
                  Under this tab, various goals appear in the order based on the selected
                  methodology, as shown in the following figure:
                  The Select Goal tab also displays additional information in various fields, as
                  described in the following table:
                                                                                                        65
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
TABLE 3
                  Under the    Select Goal tab, you can perform the following actions:
                   Select goal(s) from the available list.
                   Select the All option to select all the goals of the current methodology.
                   Select the None option to deselect all the goals of the current
                     methodology.
                  After selecting the required goal(s), click the         Run Selected Goal(s) option to
                  run the selected goal(s).
                  The Atrenta Console displays the        Sequential Mode dialog, if you have
                  selected multiple goals.
                  When you select goals for analysis and place the cursor on the Run Selected
                  Goal(s) link, a tool-tip appears displaying the total number of selected
                  goals, name of goals, and the methodology/sub-methodology from which
66
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
 Modifying a Goal
                  You can modify a goal by:
                   Enabling or Disabling Rules of a Goal
                   Adding Rules in a Goal
                   Editing Parameter Values of a Goal
                                                                                                        67
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
68
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  The following figure shows the      Edit Rules dialog for the connectivity
                  goal:
Search section
                  In the above dialog, the right-most section displays rules for the selected
                  goal and the left-most section is the Search section used for searching rules
                  to be added in a goal.
                  To add rules in a goal, perform the following steps:
                  1. Search for a rule that you want to add in a goal in the Search section.
                      This step is similar to searching rules in the     MCS window. For details,
                      see Searching Rules.
                                                                                                        69
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     Depending upon the specified search criteria, rules appear in the                Search
                     section, as shown in the following figure:
70
                                                 Synopsys, Inc.                                     Feedback
                                                              Using Atrenta Console Graphical User Interface
                  The above dialog displays parameters and their values for the current goal.
                  Viewing Different Types of Parameters List
                  The above dialog contains the Show drop-down list from which you can
                  select any of the following options:
                  In addition to the above options, the Show drop-down list also contains rule
                  names that are enabled for the selected goal. You can select the required
                  rule to view all parameters applicable for that rule.
                  Editing Parameter Values
                  Modify a value for a parameter in the           Value column adjacent to a
                  parameter.
                                                                                                         71
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  If you want to assign all the parameters to their respective default values,
                  click the Restore Defaults option.
72
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  To run the selected goals in parallel, select the      Run in Parallel option and
                  click the Run Selected Goal(s) option.
                                                                                                        73
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
74
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                                                                                                        75
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                   Argument                Description
                   <num>                   Specifies the maximum number of processes to be
                                           spawned. This is a mandatory argument.
                   <bsub-command>          Specifies the LSF invocation command.
                                           By default, the value of this argument is bsub.
76
                                                 Synopsys, Inc.                                     Feedback
                                                              Using Atrenta Console Graphical User Interface
                    Argument                    Description
                    <num>                       Specifies the maximum number of processes to be
                                                spawned. This is a mandatory argument.
                    <machine1-name>,            Specifies machine names
                    <machine2-name>             If you want to run goals on the current machine itself,
                                                do not specify the MACHINES keyword and machine
                                                names.
                                                In this case, Atrenta Console ignores the LOGIN_TYPE
                                                keyword.
                    <num-processes>             Specifies the number of processes to be spawned on
                                                the specified machine
                                                By default, the value of this argument is 1.
             NOTE: If the login type is SSH, the SSH_ID_FILE file contains login details for the SSH
                   login so that login does not require user name and password. Check the man
                   page for the ssh login on how to generate this file.
                      Following is an example of the SSH method:
                      LOGIN_TYPE: ssh
                      #LOGIN_TYPE: rsh
                      MAX_PROCESSES: 5
                      MACHINES:
                      engr1: 1
                      #engr2: 1
                      ae3: 1
                      condor1: 4
                  Using the qsub Command During Parallel Goal Run through LSF
                  The qsub command is not inherently supported while running goals in
                  parallel through LSF protocol. You can still, however, use qsub by writing a
                  wrapper script (say qsub_wrapper) over qsub and specifying it as an
                  LSF command in the parallel run configuration file. This wrapper script
                  would dissect the inputs sent to it by SpyGlass and create a command line
                  suited to qsub.
                  Parallel run configuration file appears as the following:
                  LOGIN_TYPE: lsf
                  MAX_PROCESSES: <num>
                  LSF_CMD: qsub_wrapper
                                                                                                         77
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
78
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  #PBS -o output.txt
                  $SPYGLASS_HOME/bin/sg_shell -32bit -tcl test.tcl
                                                                                                        79
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
80
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  However, in actual parallel run environment, the runtime is more than the
                  ideal situation because of the following factors:
                   Parallel goal run is limited by the number of available machines, and
                      also by the number of processes allowed to be run on a given machine.
                      If you want to reduce the parallel runtime further, increase the machine
                      pool available for parallel goal run, and update your parallel run
                      configuration file accordingly.
                   There may be some interdependencies among the goals specified for
                      parallel run, which could delay running of a goal until its dependent
                      goals have been run.
                   Parallel goal run requires some initial setup stage where goals are
                      checked for their synthesis view requirement and any disk write
                      operations, such as design precompilation and design save, are
                      performed. Such setup activities are critical to ensure there are no disk
                      read/write operations at the same time from different goals when these
                      are running in parallel.
                  In parallel goal run, each goal loads policies/design independently. The
                  time spent in parallel run setup (described in the last point above) plus the
                  time taken by policies/design load for each parallel goal, should get offset
                  in parallel goal run if rule-checking time is significant, because rules are
                  running in parallel.
                                                                                                        81
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
82
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  When you click on the Central Setup tab, the initial page of the setup wizard
                  appears, as shown in the following figure:
                  In the above figure, the left pane displays an index of steps of the Central
                  Setup wizard, and the right pane displays the description or instructions for
                  that step. You can navigate through this wizard either by clicking on the
                  steps directly or by clicking the Back/Next buttons.
           NOTE: Some steps have prerequisite steps, and the wizard warns you if you do not follow
                 those prerequisite steps.
                  Following is an overview of the steps of this setup wizard:
                  1. Resolve Blackboxes step
                      SpyGlass allows undefined modules to be left as black boxes. In many
                      cases, however, the analysis remains incomplete if there are any
                      unintentional black boxes in the design. Therefore, it is important to
                      confirm that all black boxes are expected. To avoid unintentional black
                                                                                                        83
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     boxes, this step finds all the black boxes through design synthesis and
                     provides guidance on how a real model can be provided.
                     Click the Next button to run SpyGlass, and find all the black boxes in the
                     design. If you have run SpyGlass earlier:
                      Click the Yes button to run SpyGlass again or
                      Click the Show Last Results button to view black boxes detected in the
                         last run.
                     After this, SpyGlass lists all the black boxes in a spreadsheet view, as
                     shown in the following figure:
84
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                                                                                                        85
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
86
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      Here, Atrenta Console displays a list of the SGDC files that you have
                      added during the Design Setup stage. You can append more SGDC files to
                      this list by clicking the Add SGDC File(s) link.
                      When you select any SGDC file in this list, Atrenta Console displays the
                      contents of that SGDC file in the Edit File section. You can then make the
                      required modifications for that SGDC file, and save the changes. Atrenta
                                                                                                        87
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     Console provides various options (such as New File, Save, Save As, etc.)
                     on the left side of the Edit File section, in which you can perform various
                     actions.
                     Once you have specified the SGDC files, click the Next button. This
                     displays a screen in which you can analyze the clock trees, and tune the
                     clock definitions. You can skip this step by clicking the Skip button.
                     However, to proceed with this step, click the Yes button. When you click
                     the Yes button, Atrenta Console displays the results, as shown in the
                     following figure:
                     In the above setup page, click on a clock in the Clock Sources section to
                     view all its cones in the Clock Cones section. You can also click on a cone
                     in the Clock Cones section to view all its clock drivers in the Clock Sources
                     section.
            NOTE: Clock cone is the net in the path that is driving clock pin of sequential ele-
                  ment(s).
88
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      In the Instance Count field under the Clock Cones section, the following
                      convention is used to denote different types of objects:
                       F       Flip-flops
                       B       Black boxes
                       L       Latches
                       C       Sequential cells in the clock cone path
                      Ensure that you remove improper clocks, add missing clocks, put
                      synchronous clocks into the same domain, set the correct frequencies,
                      mark test clocks, and save the final clock information in the SGDC file.
                      You can specify missing constraints in clock path.
                  4. Design Resets step
                      This step enables you to set up asynchronous resets in the design.
                      You can skip this step by clicking the Skip button. However, to proceed
                      with this step, click the Yes button. When you click the Yes button,
                      Atrenta Console displays the following screen:
                                                                                                        89
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
90
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      This step is similar to the previous step in which you can select the
                      required constraint from the Select Constraint drop-down list, and then
                      specify the values for various arguments of the selected constraint.
                      The following page appears during this step:
                      After specifying the required constraints for black box power, click the
                      Next button.
                  7. Blackbox Test step
                      This step enables you to model a black box for test analysis. Run this
                      setup step only if test analysis will run. Otherwise, you may skip this
                      step.
                      The following page appears during this step:
                                                                                                        91
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     Modeling a black box for test analysis involves categorizing the following
                     black box types:
                      Clock generators
                      Clock gating cells
                      Resistive cells
                      Other black boxes
                     Each of the above black box type requires different type of constraints.
                     Since these types are mutually exclusive, they appear in four different
                     screens.
                     You can refer to the help in the Help section to see the steps for
                     modeling each type of black box.
                  8. Setup Closure step
                     This step enables you to run a sanity check to check if you have
                     specified constraints properly. You can skip this step by clicking the              No
92
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      button. However, if you want to proceed with this step, click the           Yes
                      button.
                      After successfully completing the setup closure step, click the          Finish
                      button to close this wizard.
                      Now, the design has been setup for black boxes, and you can now
                      review the SGDC files and go to the Select Goal step to setup or run the
                      other goal(s).
                                                                                                        93
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
            NOTE: You can click the  Edit Settings Directly button to skip the wizard.
                  2. Click Run Setup Wizard button to run the wizard. The Setup Summary
                     page appears, as shown below.
94
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      The Setup Summary page is divided into the following three sections:
                       The left section displays a sample SGDC file and the recommended
                         constraints for the selected goals appear under the Recommended
                         Constraints. When you left-click, the help link located next to a
                         constraint the help related to the constraint appears in the right
                         section of the Constraints page.
                         You can enable or disable a constraint by selecting the Enabled for Goal
                         or Disabled for Goal option, respectively, from the drop-down list in the
                         Status field. You can also toggle goal status of the SGDC file by right-
                         clicking the file name and selecting the Globally Enable File or Globally
                         Disable File option from the shortcut menu.
                         To add a constraints file, perform the following steps:
                      a. Click the Add SGDC File(s) link.
                         The   Add File(s) dialog appears, as shown in the following figure:
                                                                                                        95
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     b. Browse to the directory that contains the SGDC files and select the
                         required SGDC file.
                     c. Click the Add button.
                         To add all SGDC files, click the Add All button. The selected SGDC files
                         are appear in the Setup Summary page.
                         Alternatively, right-click on the Setup Summary page and select the
                         Add Constraint File(s) option from the shortcut menu to add a
                         constraints file.
                NOTE: Whenever a new constraint file is added during the goal setup stage, that file
                      is considered as local, that is, enabled for the current goal only. To change
                      the status of this file to global, right-click the file name and select the Glob-
                         ally Enable File option from the shortcut menu.
                         To delete a constraints file, select the constraints file and click Delete
                         File link. Alternatively, right-click on the constraints file and select the
                         Delete shortcut menu option or click the <Delete> key on the keyboard.
                         The leftmost pane also contains a sub section, Other Goal Command
                         Line Options. In this section, you can provide the goal specific options
                         that are applicable to the scope of a specific goal.
96
                                                 Synopsys, Inc.                                     Feedback
                                                                Using Atrenta Console Graphical User Interface
                       The middle section displays the source of the .sgdc file. You can edit
                         the file and click     Save to save the file.
                         To create a constraints file, right-click the New File link. The Open New
                         File dialog appears, in which you can specify the name of the file.
                         After specifying the required details, click the Open button. The new
                         file appears in the left section of the Constraints window. Next, you can
                         enter the code for the new constraints file and click Save to save the
                         file. You can also click the Save As link to save the file to a different
                         location.
                         You can also use the Cut, Copy, and         Paste links to copy the text in the
                         Constraints to any text editor.
                       The right section displays the help related to the constraint displayed
                         under   Recommended Constraints.
                  3. After adding the constraints file, click Finish. To move back to the
                      previous screen of the Setup wizard, click Back. You can also click the
                      Restart button to go back the first step of the Setup wizard.
                      When you click the Restart button, Atrenta Console displays a dialog that
                      prompts you to confirm whether you want to reset the settings for the
                      current goal. In this dialog, click the Yes button to clear the settings for
                      the selected goal and go back to the first step. Click the No button to go
                      back to the first step with the current settings.
             NOTE: You can click the    Close button at any step to proceed directly to the Constraints
                   Summary page.
                  When you set a goal by using the Setup Wizard (or click Edit Settings
                  Directly button), the Constraints Summary page appears, as shown in the
                  following figure.
                                                                                                           97
Feedback                                           Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  The Constraints Summary page displays the SGDC files that you have
                  included for analyzing your designs for the selected goal.
                  Like the Setup Summary page, the Constraints Summary page is divided
                  into three sections as follows:
                   The left section displays the selected constraints. If you have not used
                     the Setup wizard to specify the constraints, you can add the constraints
                     in this section by clicking the Add SGDC File(s) link or by right-clicking
                     anywhere on the section and selecting the Add Constraint File(s)... shortcut
                     menu option.
                   The middle section displays the parameters that you need to set for the
                     selected goal. By default, this section displays the recommended
                     parameters that you need to set for the selected goal. You can, however,
                     view the common parameter list by clicking the Show drop-down list and
                     selecting the Common Parameters option. In addition, you can view the
                     complete list of parameters that can be set for the selected goal by
                     selecting the All parameters option from the Show drop-down menu.
            NOTE: The Recommended Parameters option is not available for goals that do not
                  require additional setup steps.
                   When you select a parameter, the right section displays the help related
                     to that parameter.
                  You can click the    Restore Goal settings button to deselect the constraints,
98
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  restore the parameters to their default values, and restore all the settings
                  of the current goal.
                  For a goal that requires additional setup, you can copy the settings
                  (constraints, parameters, and other settings) from another goal that has a
                  similar setup so that the settings can be reused. To do this, click the Import
                  Goal Settings button. Then the Select the goal whose setting you wish to import
                  dialog appears as shown in the following figure:
                  Select the required goal whose setting you want to import and click              Import.
                  You can click the Return to Setup Wizard button to navigate to the first step of
                  the Setup Wizard.
           NOTE: This button is visible only if you have set the constraints using the Setup Wizard.
                  During the Goal Setup closure step, you can select the SGDC files created in
                  the previous steps, and pass them to the current goal run, or you can
                  create a top-level SGDC file to be used in some other project. You can do
                  this by using the following screen of the setup closure step:
                                                                                                        99
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  In the above screen, the Filename section displays a list of SGDC files. If
                  you click the Next button, the selected SGDC files in this section are
                  globally enabled.
                  Now, to specify an SGDC file in which you can add the contents of the
                  selected SGDC files appearing in the Filename section, select either of the
                  following options:
                   Select an existing top-level SGDC file from other location
                     Select this option to load an existing top-level SGDC file.
                   Create a new toplevel SGDC File option.
                     Select this option to create a new top-level SGDC file.
                  Once you have specified an SGDC file, you can select the following options:
                   Copy content in top level SHDC File instead of including the file link
                     Select this option to copy the contents of the selected SGDC files,
                     appearing in the Filename section, in the specified SGDC file.
                   Overwrite existing content in the file
                     Select this option to overwrite the contents of the specified SGDC file
                     with the contents of the selected SGDC files appearing in the Filename
                     section.
                  If you do not select any of the above options, Atrenta Console adds a link
100
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                                                                                                       101
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  In the above screen, click the Run Setup Wizard button. This displays the
                  first screen of the setup wizard that provides a brief overview of SDC
                  Equivalence Dual Design. Click the Next button to proceed to the next step.
                  The details of the subsequent steps of this setup wizard are discussed
                  below:
                  1. Configure SpyGlass Design Constraint File step
                     This step enables you to configure your SGDC file correctly. During this
                     step, the following screen appears:
102
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      If you want to specify SDC and/or SGDC file, select the Yes option
                      corresponding to the labels, Do you have SDC file and/or Do you have a
                      SGDC file, respectively. After selecting the Yes option, click the Next
                      button. This displays a screen containing a textbox in which you can
                      specify the required file. Once you have specified the required file, click
                      the Next button. You can also skip this step without specifying any file by
                      directly clicking the Next button.
                                                                                                       103
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
When you click the Next button, the following screen appears:
                     In the above screen, you will set the SGDC constraints. Here, a list of
                     SGDC files appear that were specified during the design read step. You
                     can add more SGDC files to this list by clicking the Add SGDC File(s) link.
                     By default, each SGDC file is enabled for the goal. You can disable an
                     SGDC file for the goal by selecting the Disable for Goal option from the
                     drop-down list appearing in the Status field.
                     When you select an SGDC file in this screen, contents of that file are
                     displayed in the Edit file section. In this section, you can perform the
                     required modifications in the SGDC file. On the left side of this section,
                     Atrenta Console displays various links to perform different actions.
                     After performing the required actions, click the Next button to proceed to
                     the next step.
                  2. Set Reference Design step
                     In this step, you provide the source file list of your reference design
                     along with all the associated SGDC files. The first screen of this step
                     displays an HTML help providing a brief introduction of this step. Click
                     the Next button to proceed to the next screen, as shown in the following
                     figure:
104
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      Here, click the   Add File(s) link to add a reference design source list.
                      To modify a reference design source list, click on that source list file.
                      This displays the content of the file in the Edit file section. In this section,
                      you can perform the required updates.
                      If the reference design was previously analyzed in Atrenta Console and
                      the HDL files are listed explicitly, that project file can be added instead
                      of the source list file. It is recommended to run the reference design
                      through the design read process before being used with SDC
                      Equivalence analysis. This will help ensure that the reference design
                      itself is complete and lint-clean.
                      After specifying the reference design, click the      Next button to proceed to
                      the next step.
                  3. Set Parameters step
                      This step is used to generate the design equivalence file. This file maps
                      ports, registers, and any intermediate design object used in the SDC
                      files of one design to another. At the end of the run, you can review the
                      generated file.
                      The following screen appears during this step:
                                                                                                       105
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                     If you already have a design equivalence file that you want to use,
                     select the No button in the above screen, and specify the file in the next
                     step. However, if you want to generate the design equivalence file, click
                     the Yes button.
                     After generating the design equivalence file, SpyGlass displays the
                     results in the Results section, as shown in the following figure:
106
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                      In the above figure, note the two extra links, Reference Modular Sch and
                      Reference Incremental Sch. Click on these links to display the Reference
                      Schematic and Reference Modular Schematic windows, respectively. These
                      schematic windows enable you to compare the two given designs
                      (implementation design and reference design). In addition, the Tools
                      menu is changed to display the schematic options, Implement Modular
                      Schematic, Implement Incremental Schematic, Reference Modular Schematic,
                      and Reference Incremental Schematic.
                      Click the Next button to display a list of equivalent objects that are
                      inherited from equivalence file and a list of equivalent objects that are
                      found based on names, as shown in the following figure:
                                                                                                       107
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
108
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                                                                                                       109
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
110
                                                 Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                   Do not unfree the execution of prerequisite goals option if you do not want to
                      run prerequisite goal(s).
                                                                                                       111
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
      Default
      scenario
      Newly created
      scenarios
                      To work with scenarios, you must first enable scenario support by selecting
                      the Enable Scenario Support option in the Miscellaneous page of the Preferences
                      dialog.
Creating Scenarios
                      To create a scenario for a goal, perform the following steps:
                      1. Right-click on a goal displayed under the Select Goal tab.
                      2. Select the Create New Scenario option from the shortcut menu.
                         The page under the      Setup Goal tab appears, as shown in the following
                         figure:
112
                                                   Synopsys, Inc.                                     Feedback
                                                             Using Atrenta Console Graphical User Interface
                  3. Specify the required settings in the above page. For example, you can
                      change parameter values or add/remove certain files.
                  4. Click the Create Scenario button.
                      The   Create Scenario dialog appears, as shown in the following figure:
                                                                                                       113
Feedback                                        Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  5. In the above dialog, specify the name of the new scenario to be created.
            NOTE: Scenario names can contain only alphanumeric characters, underscore, minus.
                  6. Click the OK button to close the above dialog.
                     After performing the above steps, the name of the newly created
                     scenario appears in the Scenario drop-down list under the Setup Goal tab.
Modifying a Scenario
                  To modify a scenario, perform the following steps:
                  1. Right-click on a scenario appearing under the Select Goal tab.
                  2. Select the Edit Scenario option from the shortcut menu.
                     The page under the Setup Goal tab appears. In this page, the name of
                     the scenario being modified appears in the Scenarios drop-down list.
                  3. Change the settings for the scenario as per your requirement under the
                     Setup Goal tab.
                  After performing the above steps, the selected scenario is updated.
                  If you want to modify another scenario, select the scenario name from the
                  Scenarios drop-down list. The settings related to that scenario get loaded.
                  You can then modify these settings as per your requirement.
Deleting a Scenario
                  To delete a scenario, right-click on that scenario appearing under the Select
                  Goal tab and select the Delete Scenario option from the shortcut menu.
Running Scenarios
                  You can run scenarios in both GUI and batch.
114
                                                 Synopsys, Inc.                                     Feedback
                                                                Using Atrenta Console Graphical User Interface
                                                                                                          115
Feedback                                           Synopsys, Inc.
Using Atrenta Console Graphical User Interface
116
                                                 Synopsys, Inc.                                      Feedback
                                                                 Using Atrenta Console Graphical User Interface
                                                                                                           117
Feedback                                          Synopsys, Inc.
Using Atrenta Console Graphical User Interface
118
                                                 Synopsys, Inc.                                      Feedback
                                                              Using Atrenta Console Graphical User Interface
                                                                                                        119
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
120
                                                 Synopsys, Inc.                                       Feedback
                                                              Using Atrenta Console Graphical User Interface
 Design Results
                  When you point the mouse on the Design option, a tool-tip appears
                  displaying the following information:
                   Total number of black boxes in the design
                   Total number of latches in the design
                   Total number of flip-flops in the design
                  When you click the Design option, the           Design Information dialog appears as
                  shown in the following figure:
                                                                                                        121
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
122
                                                 Synopsys, Inc.                                      Feedback
                                                              Using Atrenta Console Graphical User Interface
                  a tree format. The tree format has the following parent nodes:
                   Node for false paths
                   Node for the multi-cycle paths
                                                                                                        123
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  The False Path and Multi-cycle Path nodes are further categorized into
                  Passed, Failed, Incomplete, and Inconclusive sub-nodes that contain the
                  violation messages.
124
                                                 Synopsys, Inc.                                      Feedback
                                                                Using Atrenta Console Graphical User Interface
 Power Results
                  When you point the mouse on the Power option, a tool-tip appears
                  displaying the leakage, internal, switching, and total power of the top-level
                  design unit.
                  When you click the Power option, the Power Browser option appears. Click
                  this option to open the SpyGlass Power Browser window that displays
                  results related to estimating power.
                  Refer to the Viewing Power Estimation Results section of SpyGlass Power
                  Product Family Rules Reference User Guide for more details.
                                                                                                          125
Feedback                                           Synopsys, Inc.
Using Atrenta Console Graphical User Interface
                  After selecting the required option from the list, click the Run Goal option.
                  This step runs SpyGlass analysis again and results are loaded under the
                  Analyze Results tab.
126
                                                 Synopsys, Inc.                                      Feedback
                                                              Using Atrenta Console Graphical User Interface
           NOTE: For more information, refer to the Atrenta Console Reference Guide.
           NOTE: Atrenta Console does not allow you to cross-probe to the RTL of encrypted design
                 units. If you try to cross-probe to RTL of such design units, SpyGlass displays a
                 message in the RTL viewer specifying that the file is encrypted.
                                                                                                        127
Feedback                                         Synopsys, Inc.
Using Atrenta Console Graphical User Interface
128
                                                 Synopsys, Inc.                                      Feedback
           Working with Input
           Design and Libraries
 Overview
           This chapter describes all aspects of reading a design in Atrenta Console.
           This includes reading in design HDL and technology libraries,
           understanding and debugging results, and dealing with special HDL
           aspects, such as pragmas.
                                                                                   129
Feedback                            Synopsys, Inc.
Working with Input Design and Libraries
130
                                             Synopsys, Inc.                                 Feedback
                                                                  Working with Input Design and Libraries
                  2. Specify the logical library name in the Logical Library Name textbox.
                      This step is equivalent to specifying the following command in the
                      project file:
                      set_option work <value>
                                                                                                     131
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
132
                                                 Synopsys, Inc.                               Feedback
                                                                Working with Input Design and Libraries
                                                                                                   133
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
                 3. Click      to select the required logical library name in the Logical Library
                     column.
            NOTE: You can only select the library name from the list of available library names.
                  Therefore, it is recommended to define the library mapping and then precompile
                  file mapping.
                 4. Click       to select the RTL file to be included in the library.
                     Repeat this step to specify multiple RTL files.
                     You can specify wildcard and regular expressions that are automatically
                     expanded when the selection is changed.
                 5. Click the OK button.
                     The HDL files are now included in the library.
                 This task is equivalent to specifying the following command in the project
                 file:
                 set_option libhdlfiles <library-name> {space-separated file
                 list}
134
                                               Synopsys, Inc.                                Feedback
                                                                   Working with Input Design and Libraries
 Enabling Elaboration
                  If you want to enable elaboration during the precompilation process,
                  specify the following command in the project file:
                  set_option elab_precompile yes
                                                                                                      135
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
                 In the above dialog, click the Cancel button and go to the Precompile Map
                 dialog to correct the directory. See Debugging Issues in Gate Libraries.
                 Alternatively, you can generate a precompiled library through a project file
                 by specifying the following command while invoking Atrenta Console:
                 spyglass -project mylib.prj -batch -designread
136
                                              Synopsys, Inc.                                 Feedback
                                                                  Working with Input Design and Libraries
                                                                                                     137
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
138
                                             Synopsys, Inc.                                Feedback
                                                                Working with Input Design and Libraries
                                                                                                      139
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
140
                                             Synopsys, Inc.                                 Feedback
                                                                  Working with Input Design and Libraries
                                                                                                     141
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
                 Like all standard Verilog EDA tools, Atrenta Console requires you to specify
                 the file extension for files located in library directories specified by using
                 the v or y options. You can specify library file extension by specifying the
                 following command in the project file:
                 set_option libext {space-separated list of extensions}
142
                                            Synopsys, Inc.                                 Feedback
                                                              Working with Input Design and Libraries
                  --middle.vhd
                  entity middle is
                  end middle;
                  //bottom.v
                  module bottom;
                  endmodule
                  In this example, Verilog module top instantiates VHDL DU middle that, in
                  turn, instantiates Verilog module bottom.
                  To perform a multiple step compilation, perform the following steps:
                  1. Compile bottom.v.
                      set_option      work mylib1
                      set_option      lib mylib1 ./MYLIB1
                      set_option      libhdlfiles mylib1 {bottom.v}
                      set_option      elab_precompile yes
                  2. Compile middle.vhd.
                      set_option work mylib1
                      set_option lib mylib1 ./MYLIB1
                      set_option libhdlfiles mylib1 {middle.vhd}
                  3. Invoke SpyGlass on top.v.
                      set_option work mylib1
                      set_option lib mylib1 ./MYLIB1
                                                                                                 143
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
144
                                             Synopsys, Inc.                                  Feedback
                                                              Working with Input Design and Libraries
                      also compiled and stored in the WORK library for future use.
                   You can also compile and store all the DUs of the above example in a
                      single command as follows:
                      set_option      work mylib1
                      set_option      lib mylib1 ./MYLIB1
                      set_option      libhdlfiles mylib1 {top.v middle.vhd}
                      set_option      elab_precompile yes
                      set_option      v bottom.v
                      Then, all DUs are compiled and stored in the   mylib1 directory.
                      Now, suppose you have used the precompiled module named top in
                      another design file named mytop.v. You can compile the complete
                      hierarchy as follows:
                      set_option      work mylib2
                      set_option      lib mylib1 ./MYLIB1
                      set_option      lib mylib2 ./mylib2
                      set_option      libhdlfiles mylib1 {mytop.v}
                      set_option      elab_precompile yes
                      The above command would use the set_option lib mylib1 ./mylib1 part
                      to find and bind the instantiation of the DU named top.
                   It is not required to specify the lib command for various parts of the
                      sub-hierarchy. Instantiation information is picked from the    .dep file for
                      each compiled DU.
                  Support for Foreign Attributes
                  SpyGlass supports foreign attributes in the following syntax:
                  ATTRIBUTE FOREIGN OF <architecture-name> :
                    ARCHITECTURE IS "VERILOG : <module-name>
                         -lib <library-name>";
                                                                                                 145
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
146
                                             Synopsys, Inc.                                 Feedback
                                                                 Working with Input Design and Libraries
                                                                                                    147
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
                 If the master is still not found, the instance is considered as a black box.
                 However, if cell definition is present in both in sglib and HDL, SpyGlass
                 ignores the cell definition present in sglib. In addition, SpyGlass reports the
                 IgnoredLibCells warning message that points to a report containing the
                 source sglib name and HDL back-reference information of all the ignored
                 library cells.
                 If you want to give higher preference to technology library definition
                 present in .lib/.sglib over user-specified definition present in source HDL
                 files, precompiled libraries, and simulation models while searching for the
                 master of an instance, use the set_option prefer_tech_lib yes
                 command in the project file.
         NOTE: When you specify the prefer_tech_lib option, then irrespective of whether a
               functional view exists for a .lib cell definition or not, higher priority is given to
               technology library definitions. If you intend to overwrite or provide functional view
               of the cell from HDL and use other properties of that cell from sglib, ensure that you
               pass HDL descriptions of that cell during library compilation stage, that is, during
               sglib creation.
148
                                               Synopsys, Inc.                                Feedback
                                                               Working with Input Design and Libraries
                                                                                                  149
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
                 4. Select the required .sglib files from the Add File(s) dialog.
            NOTE: In this step, you can also specify .plib and/or .lef files.
                 5. Click the Add button.
                 6. Click the OK button.
                     The selected    .sglib files appear under the Tech Libraries section.
                 Alternatively, use the following command in the project file to use the
                 precompiled libraries in SpyGlass run:
                 read_file -type sglib <filename.sglib>
150
                                               Synopsys, Inc.                                  Feedback
                                                                    Working with Input Design and Libraries
                     IP1:                                        IP2:
                     library L1;                                 library L1;
                     use L1.PKG.all;                             use L1.PKG.all;
                     For IP1, the PKG package                    For IP2, the PKG package that has
                                                                 totally different contents than the
                     is compiled into the physical location,
                                                                 PKG package of IP1 is compiled
                     dir1, by using logical to physical          into the physical location, dir2,
                     mapping, as shown below:                    by using logical to physical
                     set_option lib L1 ./dir1                    mapping, as shown below:
                                                                 set_option lib L1 ./dir2
                  The top-level design, TOP, has instances of IP1 and IP2. Now if you want to
                  specify logical to physical mapping for the L1 library, you can specify only
                  one mapping (that is, either L1 to dir1 or L1 to dir2), as shown below:
                  set_option lib L1 ./dir1
                  In the above case, SpyGlass picks up only one package, that is, PKG from
                  IP1. However, the second PKG package is not available for IP2 in this case.
           NOTE: Because the contents of both the packages are different, the design is incomplete.
                                                                                                       151
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
                    IP1:                                      IP2:
                    Library L1;                               Library L1;
                    Use L1.PKG.all;                           Use L1.PKG.all;
                 Now in the TOP design, IP1 and IP2 are picked from the T1 and T2 libraries,
                 as shown below:
                 Library T1;
                 Use T1.all;
                 Library T2;
                 Use T2.all;
                 In the above case, there is no reference to L1. Therefore, correct packages
                 are picked from IP1 and IP2 intermediate libraries, as shown below:
                 set_option       libmap T1 IP1
                 set_option       lib IP1 ../dir1
                 set_option       libmap T2 IP2
                 set_option       lib IP2 ../dir2
         NOTE: Please note the following points for the intermediate library support:
                  Do not specify intermediate library name in the libhdlfiles/libhdlf option,
                     as shown in the following example:
                     set_option libmap L1 IP1
152
                                             Synopsys, Inc.                                  Feedback
                                                                Working with Input Design and Libraries
                                                                                                   153
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
154
                                            Synopsys, Inc.                                Feedback
                                                              Working with Input Design and Libraries
                      Automatically Sort VHDL File(s) option to yes under the Set Read
                      Options tab.
                  You may set the value of the dump_all_modes option of the set_option
                  command to yes in the project file when the Enable HDL Encryption option
                  is already set to yes. In such cases, when you create encrypted library
                  dump, Atrenta Console creates a precompile dump on both 32-bit and 64-
                  bit platforms, irrespective of the platform on which you run SpyGlass.
                      //Verilog
                      uselib lib=L1
                      For more information about using precompiled libraries in a design, refer
                      to the following bullets:
                   If two or more encrypted libraries have the same design unit, use the
                      fully qualified name or appropriate VHDL/Verilog constructs (as
                      mentioned above) in the instantiation to pick the design unit from a
                      specific library. Otherwise, Atrenta Console would consider it based on
                      the order specified by using the lib option of the set_option
                                                                                                 155
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
                     command. Please note that usage of encrypted design units follows the
                     same paradigm as for a normal precompiled library
                  Rule-checking behavior for encrypted libraries
                     When you use the encrypted precompiled Verilog/VHDL modules with
                     SpyGlass, all rule-checking on these modules is enabled by default. Any
                     highlighting information inside such modules is shown on the module
                     boundary only. Please note that all the messages are reported on the
                     original file and line of encrypted IP.
                     You can disable RTL rule-checking on these modules by setting the value
                     of the Disable Encrypted HDL Checks option to yes under the Set Read
                     Options tab. If you specify this option, SpyGlass disables RTL rule-
                     checking on encrypted modules. In addition, SpyGlass internally
                     removes any messages from that point inside an encrypted IP.
                  SpyGlass behavior on specifying the waive -ip command on encrypted
                     IPs
                     When you specify the waive -ip <IP-name> command, SpyGlass waives
                     any violation coming on the file and line of an encrypted IP or any
                     design unit instantiated inside encrypted IP.
            NOTE: The hdllibdu option of the set_option command does not have any effect on the
                  above rule-checking behavior for encrypted modules. In addition, SpyGlass
                  treats all design units instantiated under an encrypted design unit as encrypted
                  even if they are not encrypted.
            NOTE: The LEXICAL type rules do not run on encrypted RTL files.
156
                                            Synopsys, Inc.                                 Feedback
                                                             Working with Input Design and Libraries
                                                                                                157
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
158
                                               Synopsys, Inc.                            Feedback
                                                              Working with Input Design and Libraries
                                                                                                 159
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
160
                                              Synopsys, Inc.                                 Feedback
                                                                Working with Input Design and Libraries
 Example
                  Say you want to compile the following source files in the same SpyGlass
                  run:
                                                                                                   161
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
LIBHDL_LANG_INFERENCE = YES
                 Now, you can compile a set of source files in the same SpyGlass run by
                 specifying the following commands in a project file:
                 set_option       lib L1 PL1
                 set_option       lib L2 PL2
                 set_option       lib L3 PL3
                 set_option       libhdlf L1 L1.f
                 set_option       libhdlf L2 L2.f
                 set_option       libhdlf L3 L3.f
                 Atrenta Console then automatically infers a language of files from their file
                 extensions during compilation process. Therefore, L1.f is compiled in the
                 VHDL 87 language, L2.f is compiled in the VHDL 93 language, and L3.f is
                 compiled in the Verilog language.
         NOTE: To perform compilation process correctly, you should specify file names in a source
               file (.f) in the order of their dependency.
162
                                            Synopsys, Inc.                                 Feedback
                                                                 Working with Input Design and Libraries
                                                                                                    163
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
                 LIBHDL_LANG_INFERENCE = YES
                 In this case, SpyGlass will compile the.v2k files in Verilog2000 language
                 and the .vhd87 files in the VHDL87 language.
                 Now, if you want to override the default mapping for f1.v2k and f2.v2k files
                 to specify the compilation language as SV instead of Verilog2000, perform
                 the following steps:
                 1. Specify such .v2k files in a separate .f file (say f4.f), as shown below:
                     f4.f
                     f1.v2k
                     f2.v2k
                 2. Specify the -disable_libhdl_lang_inference option in the f4.f file, as
                     shown below:
                     f4.f
                     f1.v2k
                     f2.v2k
                     -disable_libhdl_lang_inference
                 3. Specify the -enableSV option in the f4.f file, as shown below:
                     f4.f
                     f1.v2k
164
                                            Synopsys, Inc.                                Feedback
                                                                    Working with Input Design and Libraries
                      f2.v2k
                      -disable_libhdl_lang_inference
                      -enableSV
                      Alternatively, you can specify the -enableSV option on command-line
                      while specifying commands for compilation.
                  After specifying the above commands in a source file, specify that source
                  file by using the following command:
                  set_option libhdlf <logical-library-name> "<source-files>
                  For example, you can specify a language applicable for a set of files in the
                  .f file by using appropriate command-line options, as shown below:
                                                                                                       165
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
166
                                                 Synopsys, Inc.                              Feedback
                                                                       Working with Input Design and Libraries
low2.vhd
                  In the above example, files in L1.f are compiled by forming the following
                  three groups internally to maintain dependencies and language standards
                  to be used during compilation process:
L1.f
                      top1.vhd        Group1
                      top2.vhd        (to be considered as VHDL 93 source files)
                      mid1.v          Group2
                      mid2.v          (to be considered as Verilog2000 source files)
                      low1.vhd        Group3
                      low2.vhd        (to be considered as VHDL93 source files)
                                                                                                          167
Feedback                                          Synopsys, Inc.
Working with Input Design and Libraries
                 1. Divide the file list (say verilog.v, verilog1.v, system.v, and system1.v) under
                     the following sets:
                      SystemVerilog files (SystemVerilog mode list)
                        Let this list be   sv_file_list.f containing system.v, and system1.v.
                      Remaining Verilog files (Verilog mode list)
                        Let this list be   verilog_file_list.f containing verilog.v, and verilog1.v.
                 2. Compile the files of the SystemVerilog mode list by specifying the
                     following commands in a project file (say         project1.prj):
                     read_file -type sourcelist sv_file_list.f
                     set_option lib sver_lib phy_path2
                     set_option work sver_lib
                     set_option enable_precompile_vlog yes
                     set_option enableSV yes
                 3. Compile the files of the Verilog mode list by specifying the following
                     commands in a project file (say        project2.prj):
                     read_file -type sourcelist verilog_file_list.f
                     set_option lib ver_lib phy_path1
                     set_option work ver_lib
                     set_option enable_precompile_vlog yes
                 4. Specify the top-level module and specify the logical to physical mapping
                     for libraries by specifying the following commands in a project file (say
                     project3.prj):
                     set_option lib ver_lib phy_path1
                     set_option lib sver_lib phy_path2
                     set_option top top_module_name
After performing the above steps, SpyGlass compiles all the specified files.
168
                                                 Synopsys, Inc.                                      Feedback
                                                                      Working with Input Design and Libraries
                      For details, see Inferring Language from File Extension During Compilation.
                  3. Compile all the source files in a single file list by specifying the following
                      commands in a project file:
                      set_option lib ver_lib phy_path1
                      set_option libhdlf ver_lib verilog_file_list.f
                      set_option top top_module_name
                                                                                                         169
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
170
                                           Synopsys, Inc.                               Feedback
                                                                   Working with Input Design and Libraries
RTL Design
spyencrypt
                                            Encrypted
                                            RTL Design
                                                         Encrypted File
SpyGlass
                  Once you run the spyencrypt utility to encrypt design files, SpyGlass
                  generates the spyencrypt_summary.rpt report containing the status of
                  encryption. For details on this report, see Viewing Encryption Summary in a
                  Report.
           NOTE: Cross-probing to RTL is not supported for encrypted design files.
                                                                                                      171
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
NOTE: Schematic of design units specified through encrypted files is not visible.
<RTL-Files>
                 This argument specifies a space-separated list of design files to be
                 encrypted. For example, the following command encrypts the top.v and
                 mid.vhdl files:
                 spyencrypt top.v mid.vhdl -outdir enc_dir
                 After running the above command, the top.v.sge and          mid.vhdl.sge encrypted
                 files are created in the ./enc_dir directory.
                 By default, SpyGlass appends the .sge extension to the name of an
                 encrypted design file. To change this default extension, use the -encrypt_ext
                 "<extension-string>" argument.
         NOTE: You can use wildcard characters to encrypt all files in a particular directory. For
               example, you can specify dir/*.v or dir/*.vhdl specification to encrypt all
                 Verilog or VHDL files of the   dir directory.
         NOTE: Before specifying RTL files for encryption, update the `include and `uselib compiler
               directives appropriately to reflect the encrypted file names. This step is not required
               if you use the -no_encrypt_ext argument.
-outdir <output-directory>
                 This argument specifies the directory in which encrypted files should be
                 saved.
                 For example, consider the following command:
                 spyencrypt top.v mid.vhdl lib/bottom.v -outdir enc_dir
                 When you run the above command, SpyGlass generates the following
                 encrypted files:
                  enc_dir/top.v.sge
172
                                                Synopsys, Inc.                                Feedback
                                                                  Working with Input Design and Libraries
                   enc_dir/mid.vhdl.sge
                   enc_dir/bottom.v.sge
                  If you specify the name of a non-existent directory to the -outdir
                  argument, spyencrypt creates that directory. However, if you specify a
                  hierarchical path of a non-existent directory, spyencrypt creates that
                  directory under that path only if that path exists.
                  For example, consider that the enc/outdir/ path exists and you specify enc/
                  outdir/dir to the -outdir argument. In this case, spyencrypt creates
                  the dir directory under enc/outdir/. However, if the enc/outdir/ path does not
                  exist, spyencrypt does not create the dir directory and reports an error
                  message.
 -encrypt_ext "<extension-string>"
                  (Optional) This argument specifies an extension string to be appended to
                  the names of the encrypted design files.
           NOTE: Do not include a period (.) while specifying an extension string.
                  Consider the following command:
                  spyencrypt top.v mid.vhdl -outdir enc_dir -encrypt_ext "en"
                  When you run the above command, SpyGlass generates the following
                  encrypted RTL files with the .en extension:
                   enc_dir/top.v.en
                   enc_dir/mid.vhdl.en
 -no_encrypt_ext
                  (Optional) This argument disables appending of any extension to the name
                  of encrypted design files.
                  Specify this argument if you do not want any extra extension to appear in
                  the name of an encrypted design file.
                  For example, consider the following command:
                  spyencrypt top.v mid.vhdl -outdir enc_dir -no_encrypt_ext
When you run the above command, SpyGlass generates the following
                                                                                                     173
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
-help
                 (Optional) This argument lists the names of   spyencrypt arguments and
                 their usage.
174
                                           Synopsys, Inc.                                Feedback
                                                                            Working with Input Design and Libraries
                                                           SRC
                                                      (top_A.v, top_B.v)
                                        IP1                                   IP2
                               (mid_A.v, midB_.v)                           (mid_C.v)
                  To encrypt all design files present in the above directory structure, perform
                  the following steps:
                  1. Move to the root directory (SRC).
                  2. Encrypt all files present under this directory.
                      This is shown in the following example:
                      spyencrypt top_A.v top_B.v -outdir SRC_encr
             NOTE: Ensure that the path of the directory created by the -outdir argument is such
                   that a parallel directory structure is created similar to the existing hierarchical
                   directory structure. This is shown in Figure 10.
                  3. Move to the next directory in the hierarchy.
                  4. Repeat Step 2 until you encrypt all design files present in the entire
                      hierarchy.
                  After performing the above steps, a directory structure (containing
                  encrypted design files) is created parallel to the existing hierarchical
                  directory structure, as shown in the following figure:
                                                                                                               175
Feedback                                              Synopsys, Inc.
Working with Input Design and Libraries
SRC SRC_encr
IP21_encr IP22_encr
176
                                                 Synopsys, Inc.                                   Feedback
                                                                Working with Input Design and Libraries
                                                                                                   177
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
                 3. In the above dialog, select the encrypted file name (in this case,
                     test.v.sge).
                 4. Click the Add button.
                     The selected file now appears in the right-most pane of the above
                     dialog, as shown in the following figure:
178
                                            Synopsys, Inc.                               Feedback
                                                               Working with Input Design and Libraries
                  5. In the above dialog, click on the Unknown text under the Type column.
                      A drop-down list appears, as shown below:
                                                                                                  179
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
                 6. Select an appropriate option (in this case Verilog) from the drop-down
                     list.
                 7. Click the OK button to close the Add File(s) dialog.
                 After performing the above steps, the selected encrypted file appears
                 under the Add File(s) tab.
            NOTE: Change the  incdir project file command to reflect the correct include path. In
                     addition, if you change the default extension by using the
                                                                           -encrypt_ext
                     command, make changes in the libext and v/y command specifications
180
                                              Synopsys, Inc.                                 Feedback
                                                             Working with Input Design and Libraries
                      accordingly.
                  2. Specify the project file for SpyGlass analysis, as shown in the following
                      example:
                      spyglass -project test.prj
                                                                                                181
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
                 --test.vhd
                 entity ent is
                 port (entIn : in std_logic;
                 entOut : out std_logic);
182
                                           Synopsys, Inc.                              Feedback
                                                           Working with Input Design and Libraries
                 end ent;
                 architecture Behave of ent is
                 component comp
                 port (a : in std_logic; b : out std_logic );
                 end component ;
                 begin
                 Inst1 : comp port map ( a => entIn, b => entOut );
                 ...
                 end Behave;
                 Configuration Specification Based Binding
                 For configuration specification-based binding, the component name, port
                 names, and generic names can be same or different from the
                 corresponding Verilog identifiers for module name, port names, and
                 parameter names. However, the number of ports or generics and their bit-
                 width in the VHDL component declaration must be the same as those of
                 ports or parameters in the Verilog module definition.
                 Following is an example of instantiating a Verilog module in a VHDL design
                 unit as a component instance by using configuration specification based
                 binding:
                 //test.v
                 module comp (A1, B1);
                 input A1;
                 output B1;
                 ...
                 endmodule
                 -- test.vhd
                 entity top is
                 port (in1 : in std_logic; out1 : out std_logic);
                 end top;
                 architecture arch_top of top is
                 component my_comp1
                 port (C1 : in std_logic; D1 : out std_logic);
                 end component;
                 for inst1 : my_comp1 use entity work.comp
                                                                                              183
Feedback                                  Synopsys, Inc.
Working with Input Design and Libraries
184
                                          Synopsys, Inc.                              Feedback
                                                                  Working with Input Design and Libraries
                   //test.v
                   module comp (a,b);
                   input a;
                   output b;
                   ...
                   endmodule
                   --test.vhd
                   entity ent is
                   port (entIn : in std_logic;
                   entOut : out std_logic);
                   end ent;
                   architecture Behave of ent is
                   component mod
                   port (a : in std_logic; b : out std_logic );
                   end component ;
                   begin
                   Inst1 : mod port map ( a => entIn, b => entOut );
                   ...
                   end Behave;
                   configuration config of ent is
                   for Behave
                   for Inst1 : mod
                   use entity work.comp(<identifier>);
                   end for;
                   |end for;
                   end configuration;
           NOTE: <identifier> is tool-specific. For SpyGlass, <identifier> is Verilog or module.
                   Searching Master of an Instance
                   In a given design, SpyGlass searches for the master of an instance in VHDL
                   architecture as per the following order:
                    VHDL source files
                    precompiled VHDL libraries
                    Verilog source files
                    Verilog libraries specified using the set_option v or set_option y
                      commands in the project file
                                                                                                     185
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
                   Format                           Description
                   \myLibrary.myEntity(myArch)      Architecture myArch of entity myEntity from
                                                    logical library myLibrary
                   \myEntity(myArch)                Architecture myArch of entity myEntity from
                                                    logical library work
                   \myLibrary.myEntity              MRA Architecture of entity myEntity from
                                                    logical library myLibrary
                   \myLibrary.myConfigDecl          Configuration declaration myConfigDecl from
                                                    logical library myLibrary
                   myName                           Either configuration declaration or entity
                                                    myName from logical library work
186
                                             Synopsys, Inc.                                 Feedback
                                                            Working with Input Design and Libraries
                 //test.v
                 module mod (a,b);
                 input a;
                 output b;
                 \mylib.ent(Behave) inst1(a,b);
                 ...
                 endmodule
                                                                                               187
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
                 Example 2
                 Instantiating Configuration Declaration myConfigDecl from logical library
                 myLibrary (\myLibrary.myConfigDecl)
                 --test.vhd
                 entity ent is
                 port (entIn : in std_logic;
                 entOut : out std_logic );
                 end ent;
                 architecture Behave of ent is
                 begin
                 ...
                 end Behave;
                 configuration config of ent is
                 for Behave
                 end for;
                 end configuration;
                 //test.v
                 module mod (a,b);
                 input a;
                 output b;
                 \mylib.config inst1(a,b);
                 ...
                 endmodule
                 Example 3
                 How to reference VHDL Records across language boundaries:
                 //test.v
                 module e1 (in1, in2, out1);
                 input in1, in2;
                 output out1;
                 ...
                 endmodule
--test.vhd
188
                                          Synopsys, Inc.                               Feedback
                                                            Working with Input Design and Libraries
                 entity top is
                 ...
                 end top;
                 architecture top of top is
                 type X is record
                 f1 : bit;
                 f2 : bit;
                 f3 : bit;
                 end record;
                 signal sig : X ;
                 component e1
                 port (in1, in2 : bit; out1 : out bit);
                 end component;
                 begin
                 inst : e1 port map(
                 in1 => sig.f1,
                 in2 => sig.f2,
                 out1 => sig.f3);
                 ...
                 end top;
                                                                                               189
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
190
                                            Synopsys, Inc.                                 Feedback
                                                            Working with Input Design and Libraries
                                                                                               191
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
192
                                              Synopsys, Inc.                                  Feedback
                                                            Working with Input Design and Libraries
                                                                                               193
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
194
                                            Synopsys, Inc.                              Feedback
                                                               Working with Input Design and Libraries
                                                                                                  195
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
196
                                          Synopsys, Inc.                                 Feedback
                                                            Working with Input Design and Libraries
                 The following table lists DesignWare modules that do not require the
                 Design Compiler license, because Verilog netlist is available for such
                 modules:
                                                                                               197
Feedback                                   Synopsys, Inc.
Working with Input Design and Libraries
DW_lza DW02_prod_sum1
198
                                          Synopsys, Inc.                            Feedback
                                                           Working with Input Design and Libraries
                                                                                              199
Feedback                                  Synopsys, Inc.
Working with Input Design and Libraries
200
                                            Synopsys, Inc.                                   Feedback
                                                                  Working with Input Design and Libraries
                                                                                                     201
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
202
                                              Synopsys, Inc.                                Feedback
                                                                   Working with Input Design and Libraries
                   different from what you expected, review the sgBlackbox.v file or the
                   sgBlackbox.v file (created in the spyglass_sch directory in the current working
                   directory) that has the inferred black box wrapper module descriptions.
           NOTE: You must copy the     sgBlackbox.v file from the spyglass_sch directory to another
                   directory (to the current working directory, for example) as the spyglass_sch
                   directory is overwritten after each SpyGlass run.
                                                                                                      203
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
204
                                            Synopsys, Inc.                                Feedback
                                                                  Working with Input Design and Libraries
                                                                                                     205
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
Identifying Modules
                 The current implementation understands the following type of modules as
                 BBOX_MODEL type modules:
                 1. Black box ILM model
                     SpyGlass identifies a design unit (Verilog/VHDL) as a BBOX_MODEL type
                     module if its definition contains the following SpyGlass bbox_model
                     pragma:
                     // spyglass bbox_model (For Verilog)
                     -- spyglass bbox_model (For VHDL)
                     The BBOX_MODEL type module definition contains basic interface-level
                     details with some logic around the interface so that the details are
206
                                              Synopsys, Inc.                                     Feedback
                                                                 Working with Input Design and Libraries
                                                                                                    207
Feedback                                       Synopsys, Inc.
Working with Input Design and Libraries
208
                                             Synopsys, Inc.                                Feedback
                                                                Working with Input Design and Libraries
                                                                                                   209
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
210
                                                Synopsys, Inc.                                 Feedback
                                                              Working with Input Design and Libraries
                  By default, this option is enabled. To disable this option, set the value of
                  the disable_hdlin_translate_off_skip_text command to yes.
                  For more details on disable_hdlin_translate_off_skip_text command, refer
                  to disable_hdlin_translate_off_skip_text section in the Atrenta Console
                  Reference Guide.
                                                                                                 211
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
212
                                              Synopsys, Inc.                              Feedback
                                                                 Working with Input Design and Libraries
                  Alternatively, specify the name of the top-level module in the Top Level
                  Design Unit field under the Set Read Options tab.
           NOTE: If the stop option was used on a design unit with a hierarchy, any modules that are
                  unused by other design units would be inferred as top design units.
                  It is highly recommended that you set a top-level design unit during Stage
                  1: Setting up the Design (Design Setup) in all SpyGlass runs, except while
                  precompiling HDL libraries.
                  If you do not set a top-level module during the Design Setup stage and
                  directly proceed to the next stage, Atrenta Console performs appropriate
                  actions as discussed below:
                   If you proceed to the next stage after running the design read process,
                     and if there are multiple top-level modules in your design but none of
                     the modules are set as a top-level module, the following Warning dialog
                     appears:
                     In the above dialog, click       and select the required module from the
                     drop-down list.
                     If you want to set all the modules displayed in that list as top-level
                     modules, click the Allow Multiple Tops button.
                   If you proceed directly to the next stage without running the design
                     read process, the following Warning dialog appears:
                                                                                                    213
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
214
                                            Synopsys, Inc.                               Feedback
                                                                  Working with Input Design and Libraries
                                                                                                     215
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
         NOTE: Functionality of the Stop feature is closely linked with the Top-Level feature in
               guiding a design hierarchy to be checked. In contrast to the Top-Level feature,
               there are no syntax/semantic errors or warning messages (except for elaboration
               errors and AnalyzeBBox messages) reported on design units specified by the Stop
               feature.
216
                                                Synopsys, Inc.                                 Feedback
                                                              Working with Input Design and Libraries
           NOTE: You can specify the   stop command with the stopdir and the stopfile
                 commands.
                                                                                                 217
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
A*
FIGURE 16. Design Hierarchy for Use of Top-Level and Stop Features
218
                                           Synopsys, Inc.                               Feedback
                                                                   Working with Input Design and Libraries
                  In above figure:
                   A denotes the higher-level design hierarchy described by shaded area
                    A*, in which the design unit A is the top-level design unit.
                   B denotes the design unit to be excluded by specifying the following
                     command in the Atrenta Console project file:
                     set_option stop <design_unit>
                   C denotes the design units that were instantiated in the design unit B.
                     Therefore, all these design units were a part of the design hierarchy
                     under A if the design unit B was not stopped. However, as
                     implementation inside B is hidden for SpyGlass analysis, rule-checking
                     may or may not occur for design units under C depending on usage of
                     other related options. See Table: Using Top-Level and Stop Features
                     Together for examples that illustrate control of design hierarchy for rule-
                     checking by use of various options.
                   D denotes another design hierarchy independent from A, B, or C.
                  The following table describes use of above two options, when applied to the
                  design hierarchy illustrated in Figure :
Stop B A, C, and D
Top A A, B, and C
Top D D
                  As seen from the above examples, whenever you stop a design from
                  SpyGlass analysis, you must also specify a top-level design unit to declare
                  the scope correctly and unambiguously.
                                                                                                      219
Feedback                                        Synopsys, Inc.
Working with Input Design and Libraries
                 SpyGlass does not report any parsing message except for elaboration
                 errors on design units in C when you specify A as top and B as stopped.
                 Notes
                 Please note the following points regarding the use of any of the above
                 features:
                  The options for hierarchical inclusion/exclusion of design units are the
                     top-level and stop features. You cannot use these options
                     simultaneously with an equivalent design unit feature, which is for
                     immediate analysis of the specified design units.
                  You cannot completely control syntax errors in a design source by using
                     these options. The design is expected to be free from syntax and
                     elaboration errors. Judicious use of the Top-Level and Stop features can
                     help avoid design units that have known elaboration errors.
                  The argument value specified with these options should carefully follow
                     the syntax for representing design unit names in Verilog and VHDL.
220
                                           Synopsys, Inc.                               Feedback
                                                                 Working with Input Design and Libraries
                                                                                                    221
Feedback                                      Synopsys, Inc.
Working with Input Design and Libraries
                   Example                             Description
                   set_option ignorefile {a*}          Ignores all files (in the current directory)
                                                       whose names match the wildcard a*
                                                       expression. For example, a1, aa1, and
                                                       abc.
                   set_option ignorefile {dir1/*}      Ignores all files in the dir1 directory
                   set_option ignorefile {dir?/*}      Ignores all files in directories that match
                                                       the wildcard expression dir?. For
                                                       example, dir1, dir2, and dir3.
222
                                          Synopsys, Inc.                                   Feedback
                                                                Working with Input Design and Libraries
                   Format                            Description
                   For VHDL
                   <entity-name>                     Ignores the specified entity and all its
                                                     architectures in all logical libraries
                   <entity-name>.<arch-name>         Ignores the specified architecture of the
                                                     specified entity in all logical libraries
                   <lib-name>.<entity-name>          Ignores the specified entity and all its
                                                     architectures for the specified logical library
                   <lib-name>.<entity-               Ignores the specified architecture of the
                   name>.<arch.name>                 specified entity in the specified logical library
                   <lib-name>                        Ignores the specified logical library
                                                                                                   223
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
                   Format                            Description
                   ALL.<arch-name>                   Ignores all architectures of the name <arch-
                                                     name> in all logical libraries
                   For Verilog
                   <module-udp-name>                 Ignores the specified module or UDP
                   <lib-name>.<module-udp-           Ignores the specified module or UDP from
                   name>                             the specified logical library
                   Example                           Description
                   set_option ignoredu {lib1.*}      Ignores all design units picked from the lib1
                                                     logical library
                   set_option ignoredu {e.*}         Ignores all architectures of the   e entity
                   set_option ignoredu {*.e}         Ignores all entities named   e from any library
224
                                            Synopsys, Inc.                                   Feedback
                                                             Working with Input Design and Libraries
                                                                                                225
Feedback                                    Synopsys, Inc.
Working with Input Design and Libraries
226
                                                Synopsys, Inc.                                Feedback
                                                              Working with Input Design and Libraries
                                                                                                 227
Feedback                                     Synopsys, Inc.
Working with Input Design and Libraries
228
                                          Synopsys, Inc.                         Feedback
           Working with
           Methodologies
 Overview
           A methodology is a collection of sub-methodologies or a collection of goals.
           Each sub-methodology may further contain sub-methodologies or a set of
           goals where each goal is a collection of rules.
                                                                                   229
Feedback                             Synopsys, Inc.
Working with Methodologies
Overview
Methodology
        NOTE: Each methodology should contain an Order File that contains entries of goal files
              paths related to a methodology directory.
Goal Files
                 Details of each goal are present in a goal file (.spq file).
                 You add a goal file in a methodology by importing that goal file in the
                 methodology. For details, see Importing Goals.
230
                                             Synopsys, Inc.                                  Feedback
                                                                                Working with Methodologies
Overview
                    =template++++++
                    info_data mixed //goal name and language
                    *
                    Informational data //short help
                    *
                    This goal is used to report informational data related to a
                    design. //detailed description
                    =cut+++++++++++
                    //------------------------------------------------
                    // Policy Registration
                    //------------------------------------------------
-policies=Audits,area,clock-reset,erc,lint
                    //------------------------------------------------
                    // General Setup commands
                    //------------------------------------------------
                                                                                                      231
Feedback                                        Synopsys, Inc.
Working with Methodologies
Overview
                 //------------------------------------------------
                 // Policy Specific Parameter Setting
                 //------------------------------------------------
                 -enable_handshake=yes
                 -enable_fifo=strict
                 -distributed_fifo=yes
                 //------------------------------------------------
                 // Rule Registration
                 //------------------------------------------------
                 -rules Audit2ID
                 -rules Audit2Stats
                 -rules Clock_info03
                 -rules Clock_info05
                 -rules W438
                 -rules LogicDepth
                 -ignorerule CMD_define_severity02
                 //------------------------------------------------
                 // End of Rule Registration
                 //------------------------------------------------
232
                                          Synopsys, Inc.                             Feedback
                                                                  Working with Methodologies
Overview
                                                                                        233
Feedback                                 Synopsys, Inc.
Working with Methodologies
234
                                           Synopsys, Inc.                             Feedback
                                                                        Working with Methodologies
GuideWare Methodology
Stage1 Stage2 Stage3 Stage4 Stage1 Stage2 Stage1 Stage2 Stage3 Stage4
                                       goa1              goal3
                                                goal2
                                                       rule5
                                       rule1
                                            rule2 rule4
                                                rule3
                                                                                              235
Feedback                                        Synopsys, Inc.
Working with Methodologies
                  Component                        Description
                  GuideWare Reference              Contains a set of methodologies that are aligned
                  Methodology                      with the chip development process. These
                                                   methodologies provide guidance to designers to
                                                   address design issues throughout the SoC
                                                   development flow. The guidance is provided in
                                                   the form of goals that are fine-tuned for high
                                                   quality results and low noise.
                  Field of Use (methodology)       Refers to a phase in an SoC flow.
                                                   NOTE: Refer to SpyGlass GuideWare User Guide
                                                   for details on various fields of use and available
                                                   goals.
                  Stage (milestone)                Refers to a sub-methodology, known as a design
                                                   stage in a particular field of use.
                  Task                             Refers to a sub-methodology that contains a set
                                                   of goals.
                  Goal                             Refers to a collection of rules.
                  Rule                             Refers to a check to detect a specific type of
                                                   design issue.
                 For example, the following figure illustrates the alignment of goals in the
                 New_RTL field of use:
236
                                               Synopsys, Inc.                                Feedback
                                                                            Working with Methodologies
Stages
Tasks
Goals
                                                                                                  237
Feedback                                   Synopsys, Inc.
Working with Methodologies
238
                                            Synopsys, Inc.                               Feedback
                                                                          Working with Methodologies
                     In the above dialog, you can select any option described in the following
                     table:
                   Option                        Description
                   New RTL block development     (Default) Select this option to load GuideWare
                                                 goals for the New_RTL methodology, installed at:
                                                 <your-inst-dir>/SPYGLASS_HOME/GuideWare/
                                                 New_RTL directory
                   IP (RTL)                      Select this option to load GuideWare goals for
                                                 the IP_RTL methodology, installed at: <your-
                                                 inst-dir>/SPYGLASS_HOME/GuideWare/IP_RTL
                                                 directory
                   IP (Netlist)                  Select this option to load GuideWare goals for
                                                 the IP_Netlist methodology, installed at: <your-
                                                 inst-dir>/SPYGLASS_HOME/GuideWare/
                                                 IP_Netlist directory
                   Soc Integration &             Select this option to load GuideWare goals for
                   implementation                the SoC methodology, installed at: <your-inst-
                                                 dir>/SPYGLASS_HOME/GuideWare/SoC directory
                   Guideware 2.0 Reference       Select one of the following options to use
                   Methodology                   Guideware 2.0:
                                                 • Block
                                                 • SoC
                   SpyGlass Sub-Methodology      Select this option to load SpyGlass goals,
                                                 installed at: <your-inst-directory>/
                                                 SPYGLASS_HOME/Methodology directory
                                                                                                239
Feedback                                     Synopsys, Inc.
Working with Methodologies
                  User Specified Methodology   Select this option to specify your own custom
                                               methodology.
                                               After selecting this option, click the  button
                                               and select a custom methodology from the drop-
                                               down list.
                                               Values in this drop-down list are picked from the
                                               methodologies specified in the
                                               METHODOLOGY_SEARCH_PATH variable in
                                               the .spyglass.setup file.
                                               The advantage of using this option over the
                                               Custom option is that you do not need to browse
                                               to the path of a custom methodology every time
                                               you open the Select Methodology dialog.
                  Custom                       Select this option to specify a directory
                                               containing your own custom methodologies/
                                               goals as an absolute path or a path relative to
                                               the current directory.
                                               After selecting this option, click the Browse
                                               button to browse to the required directory.
240
                                           Synopsys, Inc.                                Feedback
                                                                      Working with Methodologies
                                                                                            241
Feedback                                   Synopsys, Inc.
Working with Methodologies
               current_methodology /GuideWare/IP_RTL
                 current_goal ip_exploration/lint/ip_rtl -alltop           Scope of goal
   Scope of
                   set_parameter allviol yes                               ip_rtl
   methodology
                   set_parameter check_sequential yes
   IP_RTL
                   current_goal initial_rtl/lint/simulation -alltop           Scope of goal
                   set_parameter fast yes                                     simulation
242
                                          Synopsys, Inc.                               Feedback
                                                                      Working with Methodologies
                  options and parameters. After saving the changes, you may select another
                  methodology, run another set of goals, and specify goal settings within the
                  scope of that methodology.
                  If no current_methodology is present for a current_goal
                  specification, Atrenta Console considers the current_methodology
                  specification present in the configuration file.
                                                                                            243
Feedback                                   Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
Configuring a Methodology
                 To configure an existing methodology, open the Methodology Configuration
                 System window by performing any of the following actions:
                  Click the Click here link in the Select Methodology dialog.
                  Select the Tools-> Methodology Configuration System menu option.
                 The following figure shows the    Methodology Configuration System window:
        NOTE: By default, the  MCS window works in the mixed language mode. If you try to open
                 the MCS window when the language mode is other than mixed, Atrenta Console
                 displays a Warning dialog. In this dialog, you can change the language mode by
                 selecting the required language from the drop-down list.
244
                                             Synopsys, Inc.                                 Feedback
                                                                              Working with Methodologies
Configuring a Methodology
                   Section                 Description
                   Menu bar section        Provides various options that enable you to perform
                                           different functions, such as adding/saving
                                           methodologies, adding sub-methodologies, adding/
                                           importing goals, and comparing methodologies.
                                           For details, refer to The Methodology Configuration
                                           System Menu Bar section of Atrenta Console Reference
                                           Guide.
                   Toolbar section         Add/import/delete goals, select/deselect rules, etc.
                   Goals section           Lists sub-methodologies/goals that are available within a
                                           methodology.
                   Rules section           Lists the rules related to the selected goal in a
                                           spreadsheet format. The columns display the status of
                                           the rule (enabled/disabled), rule name, rule group, the
                                           product to which the rule belongs and the severity of the
                                           rule.
                                           You can show/hide the columns based on your
                                           requirement. To do so, right-click on the Rules List
                                           section, and select the Configure Columns shortcut menu
                                           option. Refer to the Configuring Columns for details on
                                           how to show/hide a rule.
                   Parameter section       Lists parameters associated with the selected goal
                   Search section          Enables you to search for rules in the rule list of all
                                           products or in the current methodology.
                   Help section            Displays the help for a sub-methodology, goal, rule, or
                                           parameter, based on the selection
           NOTE: The  MCS window enables you to modify only the currently loaded methodology.
                  Therefore, if you select a different methodology from the Select Methodology dialog,
                  the goals displayed in the MCS window are not affected.
                                                                                                     245
Feedback                                      Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
Creating a Methodology
                 To create a methodology, perform the following steps:
                 1. Select the New Methodology option from the File menu in the Methodology
                    Configuration System window. Alternatively, use the   <Ctrl> + <N> key
                    combination from the keyboard.
                    The Save Methodology dialog appears to enable you to save the currently
                    loaded methodology as shown in the following figure:
246
                                            Synopsys, Inc.                                Feedback
                                                                           Working with Methodologies
Configuring a Methodology
FIGURE 8.
                   Field               Description
                   Methodology Name    Specifies the name of the new methodology
                   Methodology Path    Specifies the path where the new methodology should be
                                       saved.
                   Short Help          Specifies the short description of the new methodology
                                       being created. This description is displayed next to the
                                       methodology name in the Goal Selection section
                   Long Help           Specifies a detailed description of the new methodology
                                       being created. This description is saved in the order file.
                                                                                                  247
Feedback                                    Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
Modifying a Methodology
                 To modify an existing methodology, select the Methodology Properties option
                 from the File menu. This displays Methodology Properties dialog, as shown in
                 the following figure:
248
                                           Synopsys, Inc.                               Feedback
                                                                              Working with Methodologies
Configuring a Methodology
                  appended to the methodology name in the title bar of the MCS window indicating
                  that the selected methodology contains unsaved changes.
 Creating a Sub-Methodology
                  To add a sub-methodology, perform the following steps:
                  1. Right-click on the methodology for which you want to add a
                     sub-methodology, and select the     Add Sub-Methodology option from the
                     shortcut menu.
                     The New Sub-Methodology dialog appears, as shown in the following
                     figure:
                                                                                                    249
Feedback                                     Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
250
                                            Synopsys, Inc.                                 Feedback
                                                                          Working with Methodologies
Configuring a Methodology
           NOTE: To delete a sub-methodology, right-click on the methodology and select the   Delete
                  Sub-Methodology option from the shortcut menu.
 Modifying a Sub-Methodology
                  To modify a sub-methodology, perform the following steps:
                  1. Right-click on the sub-methodology, and select the Sub-Methodology
                     Properties option from the shortcut menu.
                     This displays the Sub-Methodology Properties dialog, as shown in the
                     following figure:
                  2. Specify the required details in the appropriate fields of the above dialog.
                  3. Click the OK button,
                  After performing the above steps, the specified changes appear in the MCS
                  window. For example, if you have changed the help of a sub-methodology,
                  the old help description is replaced with the new help description in the
                  Help window.
 Creating Goals
                  To create a goal for a methodology (or a sub-methodology), perform the
                  following steps:
                  1. Open the New Goal dialog. For details, see Displaying the New Goals Dialog.
                                                                                                251
Feedback                                     Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
                 2. Specify the required details for the new goal in the appropriate fields of
                    the   New Goal dialog. For details, see Specifying Details in the New Goal
                    Dialog.
                 3. Click the OK button.
                 After performing the above steps, the new goal appears under the selected
252
                                              Synopsys, Inc.                               Feedback
                                                                           Working with Methodologies
Configuring a Methodology
                   Field             Description
                   Goal              (Mandatory) Specifies the name of the goal
                                     NOTE: The name of each goal should be unique.
                   Inherit Goal      Specifies a goal to be inherited in the new goal being
                                     created. For details on inherited goal, see Including and
                                     Inheriting GuideWare Goals.
                                     To inherit a goal, select the Select/Modify button. The Inherit
                                     Goal dialog appears in which you can select the required
                                     goal.
                                     Select or deselect the corresponding check box to enable or
                                     disable the inherited goal.
                                     To delete the inherited goal from the goal being created, click
                                     the Delete button.
                                                                                                 253
Feedback                                    Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
                  Field             Description
                  Include Goal(s)   Specifies a goal to be included in the new goal being created.
                                    For details on included goal, see Including and Inheriting
                                    GuideWare Goals.
                                    To include a goal, select the Select/Modify button. The
                                    Include Goal(s) dialog appears in which you can select the
                                    required goals.
                                    Select or deselect the corresponding checkbox to enable or
                                    disable the included goals.
                                    To delete the included goals from the goal being created,
                                    click the Delete button.
                  Prerequisite      Specifies the name of the prerequisite goal(s) for the
                  Goals             currently selected goal. You can either enter goal names in
                                    this field, or select the goals that you want to consider as
                                    prerequisite goals for the new goal being created. To select
                                    goals, click the     button adjacent to the Prerequisite Goals
                                    field, and select the required goal(s) from this list.
                                    The prerequisite goals appear in the Prereq Goals column of
                                    the goal selection window (see Selecting a Goal).
                  Debug Help Type   Specifies the format (text or HTML) in which the goal debug
                                    help should be visible.
                  Debug Help        Specifies the debug information that helps you debug issues
                                    reported by this goal.
                                    This help is visible during the Analyze Results stage when you
                                    select the Goal Debug Help option in the Help section of the
                                    Results pane.
                  Short Help        Specifies the short description of the goal.
                  Long Help         Specifies the detailed description of the goal.
                                    The long help is visible in the Help window under the
                                    Methodology Configuration System and the Select Goal tab
                                    when modified methodology is loaded.
                  Other Options     Specifies additional command-line options.
254
                                           Synopsys, Inc.                                  Feedback
                                                                           Working with Methodologies
Configuring a Methodology
                   Option                                  Description
                   Set as Dual Design Read Goal            Select this option to make the goal as
                                                           DDR-specific goal.
                   Optional Goal                           Select this option to make the goal as
                                                           optional.
 Importing Goals
                  To import goals in a methodology, perform the following steps:
                  1. Open the Import Goal(s) dialog by performing any of the following actions
                     in the   MCS window:
                      Right-click on a methodology, and select the Import Goal(s) option from
                        the shortcut menu.
                      Select the Import Goal(s) option from the Edit menu.
                      Click the Import Goal(s) link.
                     The following figure shows the     Import Goal(s) dialog:
                  2. In the Look In text field of the above dialog, specify the path of the
                     directory where goals are present.
                  3. Select a goal or directory containing the required goals.
                                                                                                    255
Feedback                                     Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
Deleting Goals
                 To delete a goal from a methodology, right-click on that goal and select the
                 Delete option from the shortcut menu.
Copying Goals
                 You can copy a goal and paste it anywhere in the current methodology.
                 To copy a goal, right-click on that goal and select the   Copy Goal option from
                 the shortcut menu.
                 To paste this goal, right-click at the desired location in the current
                 methodology and select the Paste Goal option from the shortcut menu.
Modifying Goals
                 You can modify a goal of a methodology by:
                  Modifying Goal Properties
                  Enabling/Disabling a Goal
                  Updating Rules of a Goal
                  Adding Rules in a Goal
                  Modifying Parameters of a Goal
256
                                              Synopsys, Inc.                               Feedback
                                                                        Working with Methodologies
Configuring a Methodology
                                                                                              257
Feedback                                    Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
258
                                           Synopsys, Inc.                               Feedback
                                                                          Working with Methodologies
Configuring a Methodology
                  selected goal. For example, when you modify the description of a goal in
                  the Long Help field, the modified help replaces the old help of that goal in
                  the Help window.
 Enabling/Disabling a Goal
                  An enabled goal appears in the   Goals section of the MCS window. The name
                  of such goals is preceded by the        symbol.
                  If you do not want a goal to be part of your analysis run, disable that goal
                  by clicking the   symbol adjacent to that goal. The        symbol appears
                  preceding that goal name indicating that the goal is disabled. Such goals
                  do not appear in the list of goals available in the goal selection window.
                  To enable a disabled goal, click the        symbol adjacent to the goal name.
                                                                                                259
Feedback                                     Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
This displays the Overload Rule dialog, as shown in the following figure:
                 2. In the above dialog, specify the details, such as severity and weight in
                    appropriate fields.
                 3. Click the OK button to save the changes.
                 After performing the above steps, the changes appear in goal files at the
                 time of saving the methodology.
                 By default, the Rules List section displays rules that are recommended for
                 an enabled goal. The rest of the rules are disabled. However, you can
                 enable such rules based on your requirements.
                 Enabling/Disabling a Rule
                 You can enable or disable a rule in the same manner as you enable or
                 disable a goal in the Goals section of the MCS window.
                 Alternatively, right-click on the rule and select the Disable Rule (if the rule is
                 enabled) or Enable Rule (if the rule is disabled) option from the shortcut
                 menu.
                 Deleting a Rule
                 To remove a rule from a goal, right-click on the rule and select the Delete
                 Rule option from the shortcut menu. Alternatively, select the rule and click
                 the Delete Rule(s) option in the MCS toolbar.
                 Ignoring a Rule
                 If you do not want a rule to run for a particular goal, you can ignore that
                 rule.
                 To ignore a rule, right-click on the rule name, and select the     Ignore Rule(s)
260
                                             Synopsys, Inc.                                Feedback
                                                                         Working with Methodologies
Configuring a Methodology
                  option from the shortcut menu. You can also select multiple rules to be
                  ignored. This menu option is disabled for a rule that is already ignored.
                  An ignored rule appears as    (ignored)<rule-name> in the rule list of
                  the selected goal.
                  If you want to run a rule that is ignored, right-click on the rule name and
                  select the Add Rule(s) option from the shortcut menu. You can also select
                  multiple rules. This menu option does not appear for a rule that is already
                  added either by using the -rule or -addrule option in a goal file.
                                                                                               261
Feedback                                      Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
Searching Rules
                 You can search rules in the   Search section of the MCS window, as shown in
                 the following figure:
                 In the above section, specify the search text in the Search textbox and click
                 the Go link. Once you click the Go link, Atrenta Console displays all the
                 rules matching the specified search criteria in a spreadsheet format.
                 By default, Atrenta Console searches all SpyGlass rules. To confine your
                 search among rules of the selected methodology only, select the Current
                 Methodology option from the In drop-down list.
                 You can specify multiple search criteria by clicking the Add Search Criteria
                 link multiple times. Each time you click this link, Atrenta Console adds
                 additional fields, as shown in the following figure:
262
                                            Synopsys, Inc.                               Feedback
                                                                            Working with Methodologies
Configuring a Methodology
                  You can click the   Delete link corresponding to the search criteria that you
                  want to remove.
                  For each parameter, the corresponding value appears in the Value column.
                  You can modify this value as per your requirement. If you want to assign all
                  parameters their respective default values, click the Restore Defaults link.
           NOTE: Some goals do not use default parameter values. For details on such goals, see
                 Goals That Do Not Use Default Parameter Value.
                  The Parameter(s) section also contains the Show drop-down menu. The
                  following table describes various options of this menu:
                                                                                                  263
Feedback                                      Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
264
                                          Synopsys, Inc.                                Feedback
                                                                        Working with Methodologies
Configuring a Methodology
                  In the above window, if you want to move the audit sub-methodology inside
                  the lint sub-methodology, perform the following steps:
                  1. Select the audit sub-methodology.
                  2. Drag the audit sub-methodology to the lint sub-methodology.
                     When you release the mouse button, the following menu appears:
                  3. From the above menu, select the Insert Inside lint option.
                     The audit sub-methodology now appears under the      lint sub-methodology,
                     as shown in the following figure:
                                                                                              265
Feedback                                    Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
        NOTE: The sub-methodology being moved appears as the first folder under the tree of the
              destination sub-methodology.
                 Similarly, you can drag and drop goals across different sub-methodologies
                 or within the same sub-methodology.
                 For example, to move the synthesis goal from the lint sub-methodology to
                 the clock_reset_integrity sub-methodology, perform the following steps:
                 1. Select the synthesis goal.
                 2. Drag the synthesis goal to the clock_reset_integrity sub-methodology.
                    When you release the mouse button, the following menu appears:
266
                                           Synopsys, Inc.                               Feedback
                                                                         Working with Methodologies
Configuring a Methodology
                  3. From the above menu, select the Insert Inside clock_reset_integrity option.
                     The synthesis goal now appears as the first goal under the
                     clock_reset_integrity sub-methodology, as shown in the following figure:
                  You can also move goals at specific positions under a sub-methodology. For
                  example, if you want to move the simulation goal of the lint sub-methodology
                  after the power_gated_clock goal under the clock_reset_integrity sub-
                  methodology, perform the following steps:
                  1. Expand the clock_reset_integrity sub-methodology.
                  2. Select the simulation goal.
                                                                                               267
Feedback                                     Synopsys, Inc.
Working with Methodologies
Configuring a Methodology
                 4. From the above menu, select the Insert After power_gated_clock option.
                 After performing the above steps, the simulation goal appears after the
                 power_gated_clock goal under the clock_reset_integrity sub-methodology.
268
                                           Synopsys, Inc.                               Feedback
                                                                      Working with Methodologies
 Customizing Goals
                 You can customize a goal in the following ways:
                  By adding and/or removing rule(s) from a goal.
                  By updating parameter value of rules.
                  By defining your own rule severity by using the define_severity
                     option.
                  By deriving existing GuideWare goals in the goal file.
                                                                                            269
Feedback                                   Synopsys, Inc.
Working with Methodologies
270
                                            Synopsys, Inc.                               Feedback
                                                                      Working with Methodologies
                                                                                            271
Feedback                                    Synopsys, Inc.
Working with Methodologies
272
                                             Synopsys, Inc.                               Feedback
                                                                       Working with Methodologies
                  Parameter Specification
                  define_severity Specification
                  overloadrule Specification
                 -rule/-addrule/-ignorerule(s) Specification
                 SpyGlass ignores the -ignorerule specification for a particular rule in
                 the included/inherited goal file if you specify the -rule/-addrule
                 specification for the same rule in the parent, included, and/or inherited
                 goal file. In addition, SpyGlass reports an appropriate warning message in
                 such cases.
                 Consider a parent goal file that contains the following specifications:
                 -policies=lint
                 ...
                 -include_goal included-mixed.spq
                 -addrule W18
                 ...
                 Now when the parent goal runs, SpyGlass ignores the W18 and W391 rules
                 and reports the following warning for these rules:
                 WARNING [342] Rule/Group 'W18' specified at File: parent-
                 mixed.spq, Line: 6 has been ignored due to the following -
                 ignorerule(s) specifications -
                 -ignorerule W18(File: included-mixed.spq, Line: 6)
                 Parameter Specification
                 If you specify a rule parameter more than once in an included/inherited
                 goal or the parent goal, SpyGlass considers the last parameter
                 specification.
                                                                                             273
Feedback                                     Synopsys, Inc.
Working with Methodologies
274
                                           Synopsys, Inc.                               Feedback
                                                                       Working with Methodologies
                                                                                             275
Feedback                                   Synopsys, Inc.
Working with Methodologies
276
                                           Synopsys, Inc.                               Feedback
                                                                          Working with Methodologies
                                                                                                277
Feedback                                       Synopsys, Inc.
Working with Methodologies
278
                                            Synopsys, Inc.                                Feedback
                                                                          Working with Methodologies
In the above page, you can add more options by clicking Add Option.
                  Hierarchical View: This is a hierarchical list that shows rules for included
                     and inherited goals under separate nodes. Rules of the parent node
                     appear at the root-level.
                     Select the   Hierarchical View option from the drop-down list for this view.
                     The following figure shows a hierarchical view of rules:
                                                                                                279
Feedback                                      Synopsys, Inc.
Working with Methodologies
280
                                           Synopsys, Inc.                              Feedback
                                                                        Working with Methodologies
                                                                                              281
Feedback                                    Synopsys, Inc.
Working with Methodologies
                 In the above figure, goals highlighted in red indicate some error(s) in such
                 goals. When you open the Methodology Configuration System window, Atrenta
                 Console first displays the error details of all such goals in the Error dialog,
                 as shown in the following figure:
282
                                            Synopsys, Inc.                               Feedback
                                                                       Working with Methodologies
                 After viewing the error details in the above dialog, click the   OK button to
                 display the Methodology Configuration System window.
                 In the Methodology Configuration System window, when you select a goal
                 containing error(s), an Error dialog appears displaying the error details of
                 only the selected goal.
                                                                                             283
Feedback                                   Synopsys, Inc.
Working with Methodologies
Comparing Methodologies
Comparing Methodologies
                 You can compare two methodologies in the MCS window to view differences
                 between them.
                 To compare methodologies, perform the following steps:
                 1. Select the Tools -> Compare -> Methodologies menu option in the MCS
                    window.
                    The Methodology Comparison dialog appears, as shown in the following
                    figure:
284
                                              Synopsys, Inc.                              Feedback
                                                                         Working with Methodologies
Comparing Methodologies
                 Red entries in this dialog indicate a difference. For example, in the above
                 dialog, there is a difference between the clock_reset_integrity goals of the two
                 methodologies. You can expand these goals to view the difference.
                 If some information present in one methodology is missing in another
                 methodology, the Not available text appears in the latter methodology. For
                 example, in the above dialog, the structural_exception goal under the
                 constraint hierarchy is present in Methodology 1 but is missing in the
                 constraint hierarchy of Methodology 2. Therefore, the text Not available text
                                                                                               285
Feedback                                    Synopsys, Inc.
Working with Methodologies
Comparing Methodologies
appears in Methodology 2.
286
                                               Synopsys, Inc.                        Feedback
                                                                           Working with Methodologies
                  In the above dialog, select the Copy Files or Inherit Files option to copy or
                  inherit a methodology, respectively. For details, see Copying a Methodology
                  and Inheriting a Methodology.
 Copying a Methodology
                  Copying a methodology creates an exact copy of the specified methodology
                  in the specified output directory. All the copied goal files contain details of
                  rules and parameters.
                  To copy a methodology by using the        Copy Methodology dialog, perform the
                  following steps:
                  1. Specify a methodology to be copied in the Source Methodology text box.
                     Alternatively, click      to browse to the methodology to be copied.
                  2. Select the Copy Files option.
                  3. Specify the name of the methodology that should contain the copied
                     files in the   Copy Methodology Name text box.
                                                                                                 287
Feedback                                       Synopsys, Inc.
Working with Methodologies
Inheriting a Methodology
                 Inheriting a methodology creates an exact structure of the specified
                 methodology in the specified output directory.
                 However, unlike copying a methodology, goal files in this case do not
                 contain details of rules and parameters. Instead, the goal files only contain
                 the -inherit_goal command, as shown in the following example:
                 -inherit_goal $SPYGLASS_HOME/GuideWare/New_RTL/initial_rtl/
                 lint/structure-verilog.spq
                 To inherit a methodology by using the         Copy Methodology dialog, perform the
                 following steps:
                 1. Specify a methodology to be inherited in the Source Methodology text box.
                    Alternatively, click       to browse to the methodology to be inherited.
                 2. Select the Inherit Files option.
                 3. Specify a reference environment variable in the Reference ENV Variable
                    text box.
                    For details, see Specifying a Reference Environment Variable.
                 4. Specify an additional path after the reference environment variable path
                    in the   Additional Path text box.
                    For details, see Specifying an Additional Path.
                 5. Specify the name of the methodology that should contain the inherited
                    files in the   Copy Methodology Name text box.
                 6. Specify the directory in which the methodology should be inherited in
                    the Output Directory text box.
                 7. Click the Copy button.
                 After performing the above steps, all files of the specified methodology are
                 inherited in the specified output directory.
288
                                              Synopsys, Inc.                                   Feedback
                                                                        Working with Methodologies
                                                                                              289
Feedback                                    Synopsys, Inc.
Working with Methodologies
                 -inherit_goal RELEASE/SpyGlass-<version>/SPYGLASS_HOME/
                 ABC//ip_audit/lint/ip_netlist-mixed.spq
290
                                    Synopsys, Inc.                             Feedback
                                                                       Working with Methodologies
 Comparing Goals
                  You can compare custom goals with an existing methodology, such as
                  GuideWare goals and analyze differences between these goals.
                  For example, you can compare rules that are common in custom goals and
                  goals in an existing methodology. Similarly, you can compare rules that are
                  present in custom goals but missing in goals of the specified methodology.
                  To compare goals, perform the following steps:
                  1. Select the Tools -> Compare -> Goals with Methodology menu option.
                     The Compare custom goals dialog appears, as shown in the following
                     figure:
                                                                                             291
Feedback                                    Synopsys, Inc.
Working with Methodologies
292
                                            Synopsys, Inc.                             Feedback
                                                                     Working with Methodologies
                                                                                           293
Feedback                                   Synopsys, Inc.
Working with Methodologies
294
                                          Synopsys, Inc.                               Feedback
                                                                         Working with Methodologies
                   Category            Description
                   Common              Number of common rules between custom goals and
                                       GuideWare.
                                       These are GuideWare non-optional (mandatory) rules.
                   Common_GWOpt        Number of common rules that are specified as 'optional' in
                                       GuideWare
                   GW_Only             Number of GuideWare rules included in the migration
                                       result output flow.
                                       They do not appear in custom goals.
                   GW_Opt_Only         Number of GuideWare 'optional' rules included in the
                                       migration result output flow.
                                       They do not appear in custom goals.
                                       (Note: These rules are not mandatory but can be
                                       considered by user if interested).
                   Cust_Only           Number of custom included only rules
                                       (not part of GuideWare)
                   Total Rules         Total rule count found in GuideWare and custom goals
                   Total GW            Total GuideWare non-optional rules
                   Total GW Opt        Total GuideWare optional rules
                   Total Customer      Total rules in custom goals
                                                                                               295
Feedback                                    Synopsys, Inc.
Working with Methodologies
296
                                          Synopsys, Inc.                            Feedback
                                                                         Working with Methodologies
 Migrating Goals
                  Migrating goals is a process in which user-specified custom goals are
                  merged with the specified methodology. After migration, Atrenta Console
                  creates a new methodology that contains rules from custom goals as well
                  as rules from the specified methodology. You can specify the name for this
                  methodology in the Output Directory field of the Goal Comparison Summary
                  dialog.
                  For example, you may want to migrate some custom goals with
                  initial_rtl and rtl_handoff stages of the GuideWare/New_RTL
                  methodology. In this case, custom goals are compared with the goals of
                  the initial_rtl and rtl_handoff stages and a new methodology is
                  created that contains rules from the initial_rtl and rtl_handoff
                  stages as well as rules that were specified in the custom goals but were not
                  present in any of these stages.
                  Before migrating goals, you can:
                   Select the Separate style rules option to separate coding style-specific
                     rules from custom goals to a single  style_checks goal.
                   Select the Use Parameter Values Set In Custom Goals option to overwrite
                     parameter values of the specified methodology with parameter values
                     set in custom goals.
                   Select the Load created methodology in MCS after migration option to load the
                     newly created methodology containing migration results in the       MCS
                     window.
                  After selecting the required options, click the Migrate Goals button in the
                  Goal Comparison Summary dialog. This creates a new methodology of the
                  specified name that contains a combined set of rules present in custom
                  goals and specified methodologies.
                                                                                               297
Feedback                                     Synopsys, Inc.
Working with Methodologies
Order File
Order File
                 An order file contains path of goal files relative to a methodology directory.
                 This path is used to specify the order in which goals are arranged in a
                 methodology.
                 Each methodology contains one order file that defines the order of all its
                 goals.
                 For example, consider the following sample structure:
New_RTL methodology
                   initial_rtl sub-methodology
                                                                                         Order file
                 For the above example, the order file under the            New_RTL methodology
                 should contain the following entries:
                 initial_rtl
                 initial_rtl/lint/connectivity*
                 initial_rtl/lint/synthesis*
                 initial_rtl/lint/structure*
298
                                                 Synopsys, Inc.                            Feedback
                                                                              Working with Methodologies
Order File
                   initial_rtl/audit/block_profile*
                   initial_rtl/audit/rtl_audit*
                   initial_rtl/audit/structure_audit*
                                                                                                    299
Feedback                                        Synopsys, Inc.
Working with Methodologies
Order File
                 Commented Section
                 This section provides the description of the methodology. This section is
                 present between =methodology and =cut, and is present at the top of
                 the order file.
                 You can view the description provided by this section under the    Select Goal
                 tab or in the Methodology Configuration System window.
        NOTE: Each order file contains only one comment.
                 The commented section contains the following details in the specified
                 order:
                  The first line starts with the =methodology string to indicate the
                    beginning of a comment.
                  Next line specifies the methodology name for which the order file is
                    present.
                  (Optional) Next line specifies the name of the parent methodology, if
                    present, for the current methodology in the following format:
                   OLDMETH: <methodology-name>
                  Next line contains * to indicate the beginning of the short help of the
                    methodology.
                  Next line specifies a one-liner short help of the methodology.
                  (Optional) Next line specifies the short help of the parent methodology,
                    if present, for the current methodology in the following format:
                   OLDDESC: <short-help>
                  Next line contains * to indicate the end of the short help of the
                    methodology.
                  Next line contains the beginning of the long help of the methodology.
                    If the current methodology has a parent methodology, the long help of
                    the parent methodology is in the following format:
                   OLDDESC: <long-help>
                  Last line contains =cut to indicate the end of commented area.
                 A sample order file is given in the Sample Order File section.
                 Goal Description and Attributes Area
                 This section contains name and relative-path of each goal of the
300
                                           Synopsys, Inc.                              Feedback
                                                                    Working with Methodologies
Order File
                                                                                          301
Feedback                                 Synopsys, Inc.
Working with Methodologies
Map File
Map File
                 Map file is used to trace back the reference of the new goal, which is
                 present in a methodology, to the original goal, which is present in another
                 methodology.
                 You can specify a map file along with an order file in a methodology to
                 mark the mappings between the goals in different methodologies.
                 For example, following describes mapping between GuideWare 1.0 and
                 GuideWare 2.0 goals:
                 initial_rtl/lint/connectivity,initial_rtl/lint/
                 simulation,initial_rtl/lint/synthesis,initial_rtl/lint/
                 structure::lint/lint_rt
                 In the above example, the lint_rtl goal in GuideWare 2.0 represents
                 following four goals in GuideWare 1.0:
                  connectivity
                  simulation
                  synthesis
                  structure
302
                                          Synopsys, Inc.                            Feedback
           Working with SpyGlass
           Design Constraints
Overview
           SpyGlass Design Constraints (SGDC) are used to:
            Provide additional design information that is not apparent in the RTL
              description.
            Restrict SpyGlass analysis to a set of objects.
           Consider a scenario in which you want to specify the names of clock nets to
           be checked. While SpyGlass can infer clocks in the design, you may want to
           restrict the analysis to only a handful of clocks or specify other clocks that
           could not be inferred. In this case, you can specify the required clock
           information by using the appropriate constraint.
   NOTE: The design constraint files can have any extension. However, it is recommended to
         use the .sgdc extension to facilitate better recognition and handling.
   NOTE: The previous method of supplying design constraints using embedded design
         pragmas is still supported for backward compatibility. However, it is strongly
         recommended that you use the design constraints file method that is superior. If
         both the design constraints file and embedded design pragmas are specified,
         SpyGlass uses the design constraints file only and ignores the embedded design
         pragmas. Similarly, if you have not specified a design constraints file but have
         embedded design pragmas in the source code, SpyGlass reads these pragmas and
         creates a design constraints file, pragma2constraints.sgdc, located in the goal result
                                                                                           303
                                       Synopsys, Inc.
Working with SpyGlass Design Constraints
Overview
304
                                           Synopsys, Inc.                           Feedback
                                                             Working with SpyGlass Design Constraints
                                                                                                 305
Feedback                                    Synopsys, Inc.
Working with SpyGlass Design Constraints
306
                                           Synopsys, Inc.                              Feedback
                                                             Working with SpyGlass Design Constraints
                   current_design B2
                     clock -testclock -name tclk2 -value rto           Scope for design
                     testmode -name tm2 -value 0                       unit B2
                   current_design B3
                     clock -testclock -name tclk3 -value rto           Scope for design
                                                                       unit B3
                                                                                                 307
Feedback                                    Synopsys, Inc.
Working with SpyGlass Design Constraints
         NOTE: SpyGlass checks the design unit name in case-insensitive manner. Therefore, if
               your Verilog design has two modules named FOO and foo, specifying a
                 current_design keyword line with FOO or any of its case variants as its
                 argument will result in the same set of constraints on both FOO and foo modules.
                 Please note that some products, such as SpyGlass DFT solution, work only
                 on flattened netlists. Therefore, the current_design command must
                 specify only top-level design units for these products. However, if there are
                 multiple top-level design units in a design, specify the current_design
                 command for each top-level design unit; and all the constraints related to
                 that top-level design unit must follow the corresponding
                 current_design line.
                 For a parametrized design unit, the -def_param switch of the current
                 design is used to define scope specific to its default parameter. The param
                 parameter is used for user-specified values. The -param switch of the
                 current design accepts list of non-default parameters in the following
                 format:
                 <param>=<value>
                 For example consider a design unit having instances of parametrized
                 design unit B4, one instantiated with default parameter value and other
                 with overridden parameter value '8'. Following specification defines the
                 scope for default and non-default parametrized design unit B4:
308
                                            Synopsys, Inc.                                    Feedback
                                                            Working with SpyGlass Design Constraints
                  In the above example, the dot separator is used for AD_IN.lo. However, in
                  an SGDC file, this element is specified as AD_IN[lo], as shown below:
                  input -name AD_IN[lo] -clock c2
                  current_design B2
                    clock -testclock -name tclk2 -value rto
                    testmode -name tm2 -value 0
                  current_design B1
                    clock -testclock -name tclk3 -value rto
                  In the above example, there are two   current_design lines for design
                                                                                                309
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                 unit B1 that specify two clocks (tclk1 and   tclk3) and one testmode
                 (tm1).
                 Consider the following example:
                 current_design B3
                   testmode -name tm1 -value 1
                 current_design B3 -def_param
                   clock -testclock -name tclk1 -value rto
                   testmode -name tm2 -value 0
310
                                           Synopsys, Inc.                             Feedback
                                                             Working with SpyGlass Design Constraints
       Method 1                                Method 2
       voltagedomain                           voltagedomain
         ...                                     ...
         -isosig top.isig1 top.isig2
         -isoval 0 1                              -isosig top.isig1 -isosig top.isig2
         ...                                      -isoval 0 -isoval 1
                                                  ...
                              Method 3
                              voltagedomain
                                ...
                                -isosig top.isig1 -isosig top.isig2
                                -isoval 0 1
                                ...
                  The style used in one argument can be different than the style used in the
                  other interdependent argument.
                                                                                                 311
Feedback                                    Synopsys, Inc.
Working with SpyGlass Design Constraints
         NOTE: The purpose and function of each design constraint keyword is product-specific and
               is described in the product rules reference document of the respective product
               where the design constraint can be used. For example, the SpyGlass CDC solution
               uses the clock and reset design constraint keywords (besides many other
               design constraint keywords), and the SpyGlass CDC Rules Reference describes how
               these design constraints are used for the product. In addition, a product can have
               its own product-specific design constraint keywords.
         NOTE: Application of a design constraint keyword may be different in different products.
               For example, the -domain argument of the clock design constraint keyword is
               important when used with the SpyGlass CDC solution but is ignored when used with
               SpyGlass DFT solution. Similarly, the -testclock argument is important in the
               SpyGlass DFT solution but is ignored by the SpyGlass CDC solution.
                 In the above case, when you specify the constraint.sgdc file during SpyGlass
                 analysis, SpyGlass expands the contents of this file to the following:
                 current_design test
                   test_mode -name test.w1 -value "1"
                 current_design and_new
                   test_mode -name in1 -value "1"
312
                                            Synopsys, Inc.                                Feedback
                                                            Working with SpyGlass Design Constraints
                                                                                                313
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                    For example, signal specification clk1 means that this signal is in the
                    design unit identified by the current_design specification.
                  Module signal name
                    For example, signal specification top.CK1, where the prefix specified
                    before the period (.) hierarchy separator is same as the name of the
                    design unit in the current_design specification. In this case, the
                    description is equivalent to simple name specification as above.
                  Hierarchical signal name
                    For example, the signal specification top.U1.U2.CK1, where multiple
                    values specified with the dot (.) hierarchy separator identifies the
                    design hierarchy within the current_design specification. This
                    detailed specification may begin with either the name of the design unit
                    in the current_design specification or the instance name within the
                    design unit in the current_design specification.
            NOTE: It is not required to specify the top-level design unit name (which is specified
                  with current_design) in a hierarchical name. Thus, both
                    top.U1.U2.CK1 and U1.U2.CK1 are acceptable (and are the same)
                    under
                        current_design top.
                 In all of the above cases, Atrenta Console first searches the reported signal
                 as PORT signal, and then as NET signal.
         NOTE: You can specify escaped names by enclosing them in double quotes as in
               “\myvlogsig1”, “\myvhdlsig#11\”. You only need to escape the
                 double quote character in an escaped name as in   “\myvlogsig\”23\””,
                 “myvhdlsig\”5\””.
         NOTE: You can also use Synopsys-style escaped names by specifying the following
               command in Atrenta Console project file:
                 set_option support_sdc_style_escaped_name yes
                 By default, SpyGlass supports the dot (.) character (main; always
                 supported) and the forward slash (/) character (additional; set in the
                 default SpyGlass Configuration file) as the hierarchy separator. Use the
                 command named set_hsep to specify your own additional hierarchy
                 character. Thus, you can use any Synopsys-style hierarchy separator in
                 SpyGlass Design Constraints files.
314
                                             Synopsys, Inc.                                 Feedback
                                                            Working with SpyGlass Design Constraints
 Defining Variables
                  To define a variable in an SGDC file, use the following command:
                  setvar <variable-name> <variable-value>
                  For example, the following command defines the variable       myvar1 and
                  assigns the value clk to this variable:
                  setvar myvar1 clk
 Using Variables
                  You can use a variable in any of the following formats:
                   $<variable-name>
                   ${<variable-name>}.
                  For example, in the following clock constraint specification, the variable
                  myvar1 is used as the value of the -name argument:
                  clock -name $myvar1
                                                                                                315
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                 For the above command, SpyGlass internally assigns the value         clk to the
                 -name argument of the clock constraint.
         NOTE: Non-variable strings that start with $ should be escaped with a backslash to avoid
               confusion.
                 Note the following points:
                  You can define only one variable per line.
                  A variable definition can span over multiple lines using the backslash
                    continuation character.
                  There is no = or := between the variable name and its value, to keep it
                    consistent with Tcl format.
                  Variable names must start with a letter and can contain letters,
                    numerals, and underscore characters.
                  Variable names are case-sensitive. Thus, xyz and XYZ are different
                    variables.
                  The variable value can be any string consisting of one or more words.
                    You must enclose multi-word values within double quotes.
                  Double quotes used in variable names are a part of the variable name
                    itself.
                  A variable remains visible within the scope of its containing SpyGlass
                    constraints file. Thus, it is also visible in the included SpyGlass
                    constraints files, if any.
                  A variable becomes visible immediately from the next line after its
                    definition and remains visible till the end of the file.
                  You can define a variable multiple times in a file. In such cases, every
                    definition overrides the previous definition and the current definition is
                    applicable for subsequent commands.
                  You can refer a variable in its definition as well. This allows you to
                    redefine the variable with additional values in the same SpyGlass
                    constraints file.
                    For example, following are the allowed definitions:
                    ...
                    setvar var1 b/c
                    ...
                    setvar var1 $var1/d
316
                                              Synopsys, Inc.                              Feedback
                                                              Working with SpyGlass Design Constraints
                     ...
                     Starting with the first definition, the value of variable var1 is b/c till it
                     is redefined again. Then, the value of the variable var1 becomes b/c/
                     d.
                   A variable definition can refer other variables that are already defined as
                     in the following example:
                     ...
                     setvar var1 a/b/c
                     ...
                     setvar var2 $var1/d
                     ...
                   You can also use the operating system-level environment variables in
                     the SGDC files. In such cases, the name of a local variable should not be
                     the same as that of an existing operating system-level environment
                     variable.
                                                                                                  317
Feedback                                     Synopsys, Inc.
Working with SpyGlass Design Constraints
318
                                            Synopsys, Inc.                                     Feedback
                                                                 Working with SpyGlass Design Constraints
                  In the above example, if you want to use        abc, specify the following
                  notation in the SGDC file:
                  current_design TOP
                                                                                                     319
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
320
                                           Synopsys, Inc.                                  Feedback
                                                              Working with SpyGlass Design Constraints
                  if {$a == "abcd"} {
                    constraint xyz
                  } else {
                    constraint abc
                  }
                                                                                                  321
Feedback                                     Synopsys, Inc.
Working with SpyGlass Design Constraints
Example 1
                 This example demonstrates the precedence of SG_OPERATING_MODE
                 setting done inside an SGDC file over its environment variable value.
                 In the first if-elseif block of this example, the opmode environment
                 variable setting is used. In the second if-elseif block, the sysmode
                 local setting, as done by the setvar command, is applicable.
                 On shell
                 setenv SG_OPERATING_MODE opmode
322
                                            Synopsys, Inc.                                  Feedback
                                                              Working with SpyGlass Design Constraints
                  if {$SG_OPERATING_MODE == "sysmode"} {
                    clock -name c -value rto
                  } elseif {$SG_OPERATING_MODE =="opmode"} {
                    clock -name d -value rtz
                  }
 Example 2
                  This example is the same as Example 1 above, except that instead of setting
                  the environment variable, the operating_mode option is set inside the
                  project file.
                  In this example, the first and second if-elseif blocks use the opmode
                  value of the operating_mode option in the project file. The local setting
                  made through setvar in the SGDC file is ignored because it has lower
                  precedence over the operating_mode option setting.
                                                                                                  323
Feedback                                     Synopsys, Inc.
Working with SpyGlass Design Constraints
                 if {$SG_OPERATING_MODE == "sysmode"} {
                   clock -name c -value rto
                 } elseif {$SG_OPERATING_MODE == "opmode"} {
                   clock -name d -value rtz
                 }
Example 3
                 Consider two scenarios S1 and S2 for the lint SoC goal, and a single
                 SGDC file, soc_lint.sgdc, capturing constraints for these two scenarios.
         NOTE: For details on scenarios, see Working with Scenarios.
324
                                            Synopsys, Inc.                                  Feedback
                                                              Working with SpyGlass Design Constraints
 Example 4
                  In this example, different scenarios are defined for a goal of the SpyGlass
                  Power family. In this case, the SGDC file has activity information defined as
                  per power estimation modes, such as pessimistic, standby, and
                  nominal.
                  #   Activity info for Power estimation (condition modal
                  #   analysis - pessimistic and nominal)
                  #   goal scenarios defined in the wb_subsystem.prj file define
                  #   the SG_OPERATION_MODEs
                  #   the SG_OPERATING_MODE is set in the .prj file using the
                  #   set_goal_option operating_mode {<mode_value>}
                  if { $SG_OPERATING_MODE == "PESSIMISTIC_POWER" } {
                      # pessimistic activity - result in higher average power
                      activity -instname "wb_subsystem" -activity 1.10 -prob
                      0.80 -all_primary_input -all_register_output
                                                                                                  325
Feedback                                     Synopsys, Inc.
Working with SpyGlass Design Constraints
                 } else {
                     # default case
                     activity -instname "wb_subsystem" -activity 0.56 -prob
                     0.45 -all_primary_input -all_register_output
                 }
326
                                           Synopsys, Inc.                                  Feedback
                                                             Working with SpyGlass Design Constraints
                                                                                                 327
Feedback                                    Synopsys, Inc.
Working with SpyGlass Design Constraints
328
                                           Synopsys, Inc.                                 Feedback
                                                                  Working with SpyGlass Design Constraints
                                                                                                      329
Feedback                                         Synopsys, Inc.
Working with SpyGlass Design Constraints
Recognizing Clocks
Recognizing Clocks
                  Different Atrenta standard products process clock information based on
                  their specific rule-checking requirements. Refer to the respective product
                  rules reference document for details.
                  The following table summarizes how different Atrenta standard products
                  process clock information:
330
                                                     Synopsys, Inc.                                          Feedback
                                                                 Working with SpyGlass Design Constraints
                                                                                                     331
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
         NOTE: By default, the sdc2sgdc generated constraint files are retained in the subsequent
               SpyGlass run. Set the retain_old_sgdc parameter to no to remove the SGDC file
               generated in the previous SpyGlass runs.
                 You must specify an SDC file name (containing SDC commands to be
                 translated) in an SGDC file by using the sdc_data constraint, as shown in
                 the following example:
                 current_design <design-name>
                   sdc_data –file <sdc-file-name>
                 You can specify the SGDC file containing the above command in the design
                 read stage.
NOTE: You can also specify a compressed SDC file generated by using the gzip utility.
The above command is converted into following SGDC clock using the
332
                                              Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Design Constraints
                                                                                                      333
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
                 When the mode is set to strict, you must provide all clock relationships
                 in a single set_clock_groups command. SpyGlass reports a FATAL
                 error if domain is not inferred.
                 When the mode is set to pessimistic, the behavior is similar to that of
                 sta_compliant with the exception that if none of the set_clock_group,
                 set_clock_uncertainty, or set_false_path constraint is
                 specified for a clock pair, they are considered asynchronous.
         NOTE: The values, strict and pessimistic, will be deprecated in a future release.
                 When the mode is set to async, then no domain inference from sdc
                 constraints is done and clocks are considered asynchronous to each other.
                 When the mode is set to sta_scg or strict_sta, only the user-
                 specified set_clock_group command would be considered and all the other
                 commands related to domain computation are ignored. Also, a spreadsheet
                 (.csv) file showing clock relationship is generated.
         NOTE: The value, strict_sta, for the sdc_domain_mode parameter is deprecated and will be
               removed in a future release.
                  Used by                     SDC2SGDCPARSE
                  Options                     yes, no
                  Default value               no
                  Example
                  Console/Tcl-based usage     set_option sdc_generate_cfp yes
                  Usage in goal/source        -sdc_generate_cfp=yes
                  files
334
                                             Synopsys, Inc.                                  Feedback
                                                                 Working with SpyGlass Design Constraints
                 Following corresponding SGDC commands are generated when you set the
                 value of the sdc_generate_cfp option to yes:
                 cdc_false_path       -from     Clk1   -to   Clk2
                 cdc_false_path       -from     Clk1   -to   Clk4
                 cdc_false_path       -from     Clk2   -to   Clk1
                 cdc_false_path       -from     Clk2   -to   Clk3
                 cdc_false_path       -from     Clk3   -to   Clk2
                 cdc_false_path       -from     Clk3   -to   Clk4
                 cdc_false_path       -from     Clk4   -to   Clk1
                 cdc_false_path       -from     Clk4   -to   Clk3
                                                                                                     335
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
336
                                           Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Design Constraints
 \
                  Used by                       sdc2sgdc flow
                  Options                       yes, no
                  Default value                 no
                  Example
                  Console/Tcl-based usage       set_parameter sdc_generated_clocks yes
                  Usage in goal/source          -sdc_generated_clocks=yes
                  files
                                                                                                     337
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
                  set_clock_group
                    Consider the following SDC commands:
                    set_clock_group -logically_exclusive
                    set_clock_group - physically_exclusive
                    set_clock_group - asynchronous
                    The following false_path constraints are generated corresponding to the
                    above SDC commands:
                    false_path -scg_logically_exclusive
                    false_path -scg_physically_exclusive
                    false_path -scg_asynchronous
338
                                           Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Design Constraints
                                                                                                     339
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
340
                                           Synopsys, Inc.                                Feedback
                                                                   Working with SpyGlass Design Constraints
                 Consider the following example in which you specify two different modes in
                 an SGDC file:
                 sdc_data -file one.sdc -mode A
                                                                                                          341
Feedback                                         Synopsys, Inc.
Working with SpyGlass Design Constraints
342
                                            Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Design Constraints
 create_clock
                 The clock constraint dumped in the SGDC file has the -name option
                 whose value is the name of the object serving as a clock source.
                 However, in case of virtual clock where the source object is empty,
                 SpyGlass populates this field with:
                  A real clock found in a design that matches the virtual clock.
                  Actual name of the clock (that is, the field specified with the -name
                    option in the SDC file) if a real clock-mapping to virtual clock is not
                    found.
 set_input_delay
                 If set_input_delay has a virtual clock as its clock source, Atrenta
                 Console stores it in an un-commented form.
                 If this virtual clock is mapped to some real clock, the input constraint
                 uses the corresponding real clock. Otherwise, it refers to the virtual clock
                 name only.
                                                                                                     343
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
set_output_delay
                 If set_output_delay has a virtual clock as its clock source, Atrenta
                 Console updates the SGDC file in following manner:
                  If this virtual clock is mapped to some real clock, the output constraint
                    uses the corresponding real clock and it is stored in an uncommented
                    form in the SGDC file.
                  Otherwise, virtual clock name itself is used and the output constraint
                    is stored in a commented form in the SGDC file.
Limitations
                 The SDC-to-SGDC functionality has the following limitations:
                  If you have specified more than one -corner option for a single mode,
                    Atrenta Console translates SDC files corresponding to only the first
                    -corner option.
                    For example, consider the following case:
                    sdc_data –file file1.sdc –mode func –corner Best
                    sdc_data –file file2.sdc –mode func –corner Worst
                    sdc_data –file file3.sdc –mode func –corner Best
                    Here, more than one -corner option is specified for the same mode
                    func. Therefore, the SDC files (file1.sdc and file3.sdc) corresponding to
                    the first -corner option (Best) are translated by the set_option
                    sdc2sgdc yes command.
344
                                           Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Design Constraints
                  If multiple clocks are defined on the same source object in an SDC file
                    by using the -add option, SpyGlass reports an error message. However,
                    if you do not specify the -add option, translation occurs only for the
                    last clock definition and a Warning message appears.
                    You can change the severity from Error to Fatal by using the
                    overloadrules option of the set_option command in the project
                    file. The following is an example of using the overloadrules option:
                    set_option overloadrules SDC2SGDC_STX01+severity=FATAL
                  If you specify multiple set_input_delay parameters on the same
                    object for different clocks by using the -add_delay option, translation
                    for delays happen in the order as defined in the SDC file.
                  If you define the clock and set_case_analysis commands on the
                    same object in the SDC file, the SpyGlass DFT solution reports a FATAL
                    violation to indicate the conflict.
                  All commands specified on the port/pin objects are translated on the
                    connected net in the SGDC file.
                                                                                                     345
Feedback                                        Synopsys, Inc.
Working with SpyGlass Design Constraints
346
                                             Synopsys, Inc.                                Feedback
                                                                   Working with SpyGlass Design Constraints
             NOTE: You should choose the same specification used in the        current_design
                   command in the block-level SGDC file.
                   You can provide the above specification multiple times for different
                     blocks in the same chip-level SGDC file.
                   You can specify an absolute or a relative path for the block-level SGDC
                     file. If you specify a relative path, ensure that it is accessible from the
                     current run directory.
                                                                                                       347
Feedback                                       Synopsys, Inc.
Working with SpyGlass Design Constraints
348
                                                Synopsys, Inc.                                  Feedback
                                                                       Working with SpyGlass Design Constraints
                                                                                                           349
Feedback                                         Synopsys, Inc.
Working with SpyGlass Design Constraints
350
                                           Synopsys, Inc.                                Feedback
                                                            Working with SpyGlass Design Constraints
                                                                                                351
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
352
                                            Synopsys, Inc.                               Feedback
                                                               Working with SpyGlass Design Constraints
                                                                                                   353
Feedback                                     Synopsys, Inc.
Working with SpyGlass Design Constraints
                 Here, consider that the module, M, is instantiated ten times in top (i.e.,
                 top.mi1, top.mi2, …, top.mi10). In this case, the
                 set_case_analysis constraint will not allow duplicate specifications in
                 the -name field. Therefore, one of the ten generated commands (one for
                 top.mi1.in) is deleted. However, if two values, each generated by
                 scoping, are duplicates then SpyGlass flags a fatal violation.
                 However, SpyGlass will report the following two specifications as duplicate
                 specifications:
                 current_design top
                 set_case_analysis -name M::in -value 0
                 set_case_analysis -name M::in -value 1
354
                                           Synopsys, Inc.                               Feedback
                                                            Working with SpyGlass Design Constraints
                                                                                                355
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
356
                                           Synopsys, Inc.                               Feedback
                                                            Working with SpyGlass Design Constraints
                  In the above example, if the z_intf or a_intf port of the         top module
                  is to be referred in SGDC, it should be as follows:
                  current_design topper
                  test_mode -name "topper.T1.inst_z_intf" -value 1
                  test_mode -name "topper.T1.inst_a_intf" -value 1
                                                                                                357
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                 module top;
                   intf i1();
                   intf i2();
                   top_low T1(i1.M1,i2.M2);
                 endmodule
358
                                           Synopsys, Inc.                                Feedback
                                                            Working with SpyGlass Design Constraints
                  current_design top
                  abstract_port -module top -ports q%\in2.rtid [1:0]% -clock
                   clk1 abstract_port -module top -ports q%\in2.rtid % -clock
                   clk1 abstract_port -module top -ports q%\in2.opcode [0]%
                   -clock clk1
                  In the above example, a struct port or a net is named as per the following
                  naming convention:
                  "\<struct-instance-name>.<struct_port_name> "
                                                                                                359
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                     begin
                       wire w1;
                       for(i = 0;i<2;i++)
                       begin
                         mid m1(z,a,w1);
                       end
                     end
                   endgenerate
                 endmodule
                 module mid(output z, input a,input w1);
                   assign z = ~a;
                 endmodule
                 In the above example, specify SGDC constraints for the     m1 instance and
                 w1 wire inside for-generate, as given below:
                 current_design test
                 test_mode -name "\genblk1[0].genblk1[0].m1 .a"
                 -value 1
                 test_mode -name "\genblk1[0].genblk1[1].m1 .a"
                 -value 1
                 test_mode -name "\genblk1[1].genblk1[0].m1 .a"
                 -value 1
                 test_mode -name "\genblk1[1].genblk1[1].m1 .a"
                 -value 1
                 test_mode -name "\genblk1[0].w1 " -value 1
                 You can specify any SGDC constraint by using naming conventions for
                 objects, as shown in the above example for the testmode constraint.
                 Consider another example in which the set_case_analysis constraint
                 is used on the SystemVerilog design containing named for-generate
                 block:
                 module test(clk,enable,in1,out1);
                   input clk,enable;
                   input [3:0]in1;
360
                                           Synopsys, Inc.                                Feedback
                                                            Working with SpyGlass Design Constraints
                    output[3:0]out1;
                    generate genvar i;
                      for (i=0; i<4; i=i+1) begin:extend
                        mod1
                        ins(.CLK(clk),.E(enable),.IN1(in1[i]),.OUT1(out1[i]));
                      end
                    endgenerate
                  endmodule
                  module mod1(CLK,E,IN1,OUT1);
                    input CLK,E;
                    input IN1;
                    output OUT1;
                    reg OUT1;
                    always @(posedge CLK)
                      if(E) OUT1 <= IN1;
                  endmodule
                  For the above example, the generated netlist contains instances with the
                  following names:
                  mod1   \extend[0].ins (.CLK(clk), .E(enable), .IN1(in1[0]),
                  .OUT1(out1[0]));
                                                                                                361
Feedback                                   Synopsys, Inc.
Working with SpyGlass Design Constraints
                 Basically, you can refer an object (say <obj>) as part of the    generate
                 block by using the following convention:
                 "\<generate_block1_label>[block1_index].<generate_block2_lab
                 el>[block2_index]...<generate_blockN_label>[blockN_index].
                 <obj> "
362
                                           Synopsys, Inc.                                Feedback
       Working with SpyGlass
       Messages
Overview
       Atrenta Console displays all violation messages of the currently loaded goal
       in the Results pane, as shown in the following figure:
                                                                               363
                                 Synopsys, Inc.
Working with SpyGlass Messages
Overview
                To view the violation messages of another goal, load that goal by selecting
                it from the drop-down list in the Analyze Results tab, as shown in the
                following figure:
                Based on the format in which you want to view messages, click the View
                drop-down list and select the required format, such as Msg Tree, Msg Summary,
                Module Hierarchy, and Waiver Tree. For details on these formats, refer to Atrenta
                Console Reference Guide.
                When you double-click on a violation message, the following actions occur:
                 A source file containing the corresponding issue appears in a separate
                    tab in the Source section. Then name of this tab is the same as the name
                    of the source file.
                 The violating line appears in a different color in the code present in that
                    source file.
                 The corresponding violating portion is highlighted in the schematic.
                Next time, when you select a different message, all existing selections and
                probes are removed.
364
                                           Synopsys, Inc.                                Feedback
                                                                 Working with SpyGlass Messages
                                                                                           365
Feedback                                   Synopsys, Inc.
Working with SpyGlass Messages
 Portions of a design
 loaded by double-clicking
 a main message.
366
                                          Synopsys, Inc.                              Feedback
                                                                  Working with SpyGlass Messages
   Portions of a design
   loaded by double-clicking
   a main message.
                                                                                            367
Feedback                                    Synopsys, Inc.
Working with SpyGlass Messages
                Console displays each source file in a separate tab in the Source section.
                Each tab name in the Source section indicates the name of the source file.
368
                                           Synopsys, Inc.                                Feedback
                                                                        Working with SpyGlass Messages
                                                                                                  369
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
370
                                         Synopsys, Inc.                                   Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
 Waiving Messages
                    If a particular message does not indicate a serious problem, you can waive
                    that message.
                    Waiving messages suppresses the display of messages based on your
                    requirements at different stages of design analysis. Such messages are
                    removed from the reported message list.
                    You can waive a message in any of the following ways:
                     Through the Waiver Editor window.
                      For details, see Using the Waiver Editor Window.
                     Through the Results pane.
                      For details, see Using the Results Pane to Waive Messages.
                     Through a project file.
                      For details, see Waiving Messages through a Project File.
                     Through the waive constraint in a Waiver File (.swl file).
                      For details, see Waiving Messages by Using the waive Constraint.
                     Through SpyGlass pragmas in source code.
                      For details, see Waiving Messages by Using SpyGlass Pragmas.
                    Using the waive constraint is the preferred method because this approach
                    does not affect the source files. The waivers are written in a separate file
                    and can be used with modified source files as long as the modifications do
                    not invalidate the design constraints. However, you should use embedded
                    SpyGlass waiver pragmas if you need to waive messages at any level below
                    the design unit level in the source file.
                                                                                                371
Feedback                                        Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
Waiver File
                A waiver file (.swl file) is used to waive messages reported after SpyGlass
                runs.
                It is an SGDC-format file that contains specifications of the waive
                constraint that is used to waive specific types of messages. For information
                on the this constraint, see Waiving Messages by Using the waive Constraint.
                You can specify waiver files to SpyGlass through GUI, project file, or batch.
                This is described in the next sections.
372
                                           Synopsys, Inc.                              Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
current_goal G1 -alltop
                    waive -rule r2
                    set_goal_option default_waiver_file goal.swl
                    waive -rule r3
save_project
                    ---------------------------------
                    $ cat project.swl
                    waive -rule { {r1} }
                    waive -rule { {r2} }
                    $ cat goal.swl
                    waive -rule { {r3}         }
                    In the above example, default waive file - project.swl is created at project -
                    level and default waiver file - goal.swl is created at the goal level.
                                                                                                373
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
374
                                            Synopsys, Inc.                            Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                    In the above case, when you specify the waiver.swl file during SpyGlass
                    analysis, SpyGlass expands the contents of this file to the following:
                    waive -rule "XYZ"
                    waive -rule "ABC"
                                                                                                375
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
Auto-Migration of Waivers
                When rule messages change between SpyGlass releases, waiver files of
                previous release may become incompatible for use in the current release.
                To ensure compatibility, SpyGlass automatically upgrades the old message
                to the new rule message in the same run.
                To avoid migration of waivers, use the      set_option
                disable_auto_migrate_waiver command. If this option is
                provided, then the waiver messages are not migrated to the current
                release. You can use this option, if the waivers have been already migrated
                using -gen_compat_waiver flow, and are up-to-date with respect to the
                current release.
        NOTE: You can also migrate the waivers separately to new version using option
              -gen_compat_waiver.
376
                                           Synopsys, Inc.                               Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                                                                                                377
Feedback                                     Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                In the above window, you can add new or existing waiver files for the
                currently loaded goal. For details on adding new or existing waiver files,
                refer to the description of the Add File and New File options in the Right-
                Click Options of Tree-View Section topic of Atrenta Console Reference
                Guide.
                To open the above window, perform any of the following actions:
                 Select the Tools -> Waiver Editor menu option.
                 Select the Waiver option (or      icon) from the Results pane.
                 Right-click on the rule header in the Msg Tree page, and select the
                    Waive All Messages of Select Rule(s) option from the shortcut
                    menu.
378
                                          Synopsys, Inc.                             Feedback
                                                                           Working with SpyGlass Messages
Waiving Messages
                    For details on the above window, refer to the Waiver Editor Window section
                    of Atrenta Console Reference Guide.
                                                                                                         379
Feedback                                         Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
        NOTE: This option appears only if the Enable advanced waiver creation preference option is
              set in the Preferences dialog.
380
                                              Synopsys, Inc.                                 Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                    In the above dialog, specify the name of the file and select the Set as
                    default waiver file option.
                                                                                                381
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                <keyword> ::=
                   ALL | ALL_INFO | ALL_WRN | ALL_ELAB
                 | ALL_SYNTHERR | ALL_SYNTHWRN
                For more information on the Tcl-based usage of the waive command, refer
                to the waive section of the SpyGlass Tcl Shell Interface User Guide.
382
                                          Synopsys, Inc.                               Feedback
                                                                         Working with SpyGlass Messages
Waiving Messages
                    Argument          Description
                    -file_lineblock   Use this argument to waive messages for a block of lines in a
                                      source file.
                                      <file-sline-eline> is a space-separated tuple of source file
                                      name, start line number, and end line number in the following
                                      format:
                                      <file-name> <line1> <line2>
                                      This means that a message reported in the file <file-name>
                                      between the line numbers <line1> and <line2> is considered
                                      for the waive constraint. It is required that <line2> is greater
                                      than or equal to <line1>.
                                      Note: Use multiple -file_line/-file_lineblock arguments, each
                                      with one argument.
                                      This method is not recommended if the source code is
                                      expected to change. In such cases, use either pragma-based
                                      waivers (see Waiving Messages by Using SpyGlass Pragmas)
                                      or other waiver arguments described later in this table.
                    -file_line        Use this argument to waive rule messages for a particular line
                                      of a source file.
                                      <file-line> is a space-separated pair of source file name and
                                      line number in the following format:
                                      <file-name> <line-num>
                                      Note: Use multiple -file_line/-file_lineblock arguments, each
                                      with one argument.
                                      This method is not recommended if the source code is
                                      expected to change. In such cases, use either pragma-based
                                      waivers (see Waiving Messages by Using SpyGlass Pragmas)
                                      or other waiver arguments described later in this table.
                    -file             Use this argument to waive all messages for the specified files.
                                      You can specify a space-separated list of source file names
                                      (<file-list>) in this argument.
                                                                                                    383
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                  Argument       Description
                  -du and -ip    Use the -du argument to waive the rule messages for the
                                 specified design units or all design units in the specified library.
                                 This argument is particularly useful for RTL coding style checks
                                 where the reported message is clearly localized within a design
                                 unit.
                                 Use the -ip argument to waive rule messages for the specified
                                 design units (IP blocks), including the ones that are below its
                                 hierarchy or all design units in the specified IP library.
                                 <du-list> refers to a space-separated list of logical library
                                 name <logical-lib-name> of a precompiled Verilog/VHDL
                                 library or design unit names, such as:
                                 • Module names <module-name> for Verilog
                                 • Entity names in the format <entity-name> for entity and all
                                     its architectures
                                 • <entity-name>.<arch-name> for the entity and the
                                     specified architecture
                                 • Package names <pkg-name>
                                 • Configuration names <config-name> (for VHDL)
                                 NOTE: By default, only the waived message count is reported
                                 in the IP/Legacy Waiver Report section of the Waiver report
                                 when the -ip argument of the waive constraint has been
                                 specified. Use the -report_ip_waiver option to have the actual
                                 waived messages also printed.
                                 Note the following points:
                                 • You are required to specify the -du or -ip arguments if no
                                     other argument of the waive constraint is specified.
                                 • If you want SpyGlass to consider the schematic highlight
                                     information of a violation to waive violations on design
                                     units, use the following command:
                                    set_option use_du_sch_hier yes
                                 • If a module is instantiated in multiple IPs but you do not
                                     provide the waive -ip specification for each of these IPs,
                                     SpyGlass does not waive violations on such module
                                     instances when you specify the following command:
                                    set_option use_du_sch_hier yes
                                    By default, SpyGlass waives violations on only those module
                                    instances that are present in the IPs specified by the waive
                                    -ip specification.
                  -rule/-rules   Use these arguments to waive messages of the specified rules,
                                 rule groups, or products or by rule type keywords.
                                 <rule-list> refers to a space-separated list of rule names, rule
                                 group names, or product mnemonics.
                                 This argument is case-sensitive.
384
                                           Synopsys, Inc.                                    Feedback
                                                                       Working with SpyGlass Messages
Waiving Messages
                    Argument        Description
                    -except         Use this argument to exclude the specified rules, rule groups,
                                    or products or by rule type keywords from the scope of the
                                    waive constraint.
                                    <rule-list> refers to a space-separated list of rule names, rule
                                    group names, or product mnemonics.
                                    NOTE: If you specify the same rule to the -rule/-rules and
                                    -except arguments, preference is given to the -except
                                    argument.
                    -msg            Use this argument specify a message to be waived.
                    -severity       Use this argument to waive messages of the specified severity
                                    class or severity label.
                                    <label> refers to the actual severity-label or a SpyGlass
                                    severity class.
                                    If a rule is overloaded (customized), overloaded values are
                                    considered by this argument.
                    -weight         Use this argument to waive the messages of the rules with the
                                    specified weight.
                                    <weight> refers to the actual rule weight value.
                    -weight_range   Use this argument to waive the messages of the rules with the
                                    weight within the specified range (both range values inclusive).
                                    <weight-value> refers to a positive integer number.
                    -comment        Use this argument to add waive constraint comment as a
                                    single line text string enclosed in double quotes. This comment
                                    appears in the Waiver report and the sign_off report.
                                    <comment> refers to a valid string.
                    -import         Use this argument to enable importing the waiver file (.swl)
                                    specified at the block-level to be used at the chip-level. For
                                    more details, see Support for Hierarchical Waivers.
                                    <block_name> refers to the name of the block in the top-level
                                    chip, and <block-waive-file> refers to the name of the waiver
                                    file applied to the specified block <block_name>.
                    -ignore         This argument causes SpyGlass to list only the waived
                                    message count in the Adjustments Waiver Report section of
                                    the Waiver report and not the actual waived message(s). Use
                                    the -report_adjustment_waiver option to override the -ignore
                                    argument so that the actual waived messages are also printed.
                                                                                                 385
Feedback                                     Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                  Argument         Description
                  -regexp          Use this argument to allow use of regular expressions in many
                                   arguments. For more details, see Using Regular Expressions
                                   and Wildcard Characters.
                  -disable         Use this argument to disable the waive constraint.
386
                                             Synopsys, Inc.                              Feedback
                                                                        Working with SpyGlass Messages
Waiving Messages
                     If you specify the -except argument but do not specify the -rule/-rules
                      argument, it is assumed that the -rule/-rules argument has been
                      specified with the ALL keyword.
                     Specify the SpyGlass severity classes as uppercase names and the
                      severity labels as mixed-case or lowercase names with the -severity
                      argument.
                     To waive SpyGlass built-in error, warning, and info messages, use the
                      following keywords:
                     Use                 To waive
                     ALL_INFO            All the analyzer (language) info messages
                     ALL_WRN             All the analyzer (language) warning messages
                     ALL_ELAB            All elaboration messages
                     ALL_SYNTHERR        All synthesis error messages
                     ALL_SYNTHWRN        All synthesis warning messages
                     ALL                 All of the above plus all rule messages
            NOTE: You can waive all types of built-in rules except the built-in STX error rules
                  because these rules are mandatory checks.
            NOTE: If you specify the ALL keyword, then all (built-in and rule) messages will be
                  waived for files and/or design units for which it is specified.
            NOTE: You cannot waive product rules of severity class FATAL.
                      Please note that all keywords are case-sensitive. You can also provide a
                      combination of these keywords to waive messages of more than one
                      type.
                     For waive constraint, all the occurrences of multiple consecutive
                      spaces (spaces or tabs) between message words are reduced to just
                      one space. Therefore, do not adopt such messaging. In addition, Atrenta
                      Console does not waive messages that extend to two or more lines.
                     While using the waive constraint to waive messages, you must enclose
                      the exact message in double quotes, q/.../, or m/.../ depending
                      on whether you want the string to be interpreted as a wildcard, literally,
                      or as a regular expression respectively.
                     To get the exact message string for the -msg argument of the waive
                      constraint, run SpyGlass Analysis that will generate that message. Then,
                                                                                                  387
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                    open the Violation Database file in any ASCII text editor and copy the
                    exact message string. Specify the whole message string, including
                    leading and trailing spaces, in q/<message string>/ where / is the
                    start-end delimiter and should not be present in the message string.
                    If / is part of the message string, then it is suggested to use some other
                    delimiter as explained in the Handling Special Names section.
                 You can also use double quotes to specify the exact message string for
                    the -msg argument of the waive constraint. However, following three
                    characters have a special meaning inside double quotes:
                     \ (escape character, used in escaped name)
                     $ (used for variable expansion)
                     " (double quote character)
                    If any of the above characters appear in your message string, either use
                    q/<message string>/ or escape these characters to treat them as literal
                    characters inside the double quotes. In rest of the cases, it is equivalent
                    whether we put the exact message string in q/.../ or double quotes.
                 The additional difference between the usage of q/…/ and double quotes
                    is the handling of wildcard characters. Anything specified inside q/../ is
                    treated literally, including any wildcard characters such as, *, and ?. If
                    you want to specify a wildcard pattern for your message string in the
                    -msg argument of the waive constraint, then use double quotes to
                    specify it.
                 The q/…/ specification is also used when -regexp option is used in the
                    waive constraint. To turn off regular expression matching in fields of the
                    waive constraints, enclose the field values in the q/…/ specification. The
                    field values are then treated as a literal string. For details, see Selective
                    Use of Regular Expressions section.
                 The waive constraint is not applied, if any of the source files, HDL files,
                    SDC files, and library files, have syntax errors during parsing.
                 If the variable part of the message changes for a SpyGlass version, the
                    waiver applied on that message won’t be applicable for the next
                    SpyGlass version.
        NOTE: The waive constraint with the    -du argument does not work on design units in
              VHDL libraries.
388
                                            Synopsys, Inc.                               Feedback
                                                                             Working with SpyGlass Messages
Waiving Messages
                                                                                                       389
Feedback                                           Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
390
                                             Synopsys, Inc.                           Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                                                                                                391
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
392
                                         Synopsys, Inc.                               Feedback
                                                                       Working with SpyGlass Messages
Waiving Messages
           NOTE: When inside a character class (square brackets), you do not need to escape out the
                 *, ?, and $ characters.
                                                                                                    393
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
394
                                             Synopsys, Inc.                                    Feedback
                                                                         Working with SpyGlass Messages
Waiving Messages
                                                                                                       395
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                arguments.
                The following table summarizes the effect of using the m/.../ and            q/
                .../ formats with or without the -regexp argument:
396
                                           Synopsys, Inc.                                   Feedback
                                                                           Working with SpyGlass Messages
Waiving Messages
                    For example, use the m@...@ format or q>...> format provided the
                    same delimiter is used as the starting delimiter and the ending delimiter
                    (that is, m<...> is not allowed.) and the delimiter is not present in the
                                                                                                     397
Feedback                                          Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
398
                                              Synopsys, Inc.                              Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                    different products.
                    However, you can use regular expressions with other arguments and also
                    specify the -severity argument. The most trivial case of using this argument
                    is to waive all non-error messages. For example, the following specification
                    waives all Warning and Info type messages in all files:
                    waive -regexp -file “.*” -severity Info
                    waive -regexp -file “.*” -severity Warning
                    Use the -severity argument with one of the -file arguments or the -du and -ip
                    argument to waive non-essential messages, especially in the first run of a
                    design through SpyGlass.
                    Regular Expressions with the -msg argument
                    Here are some examples:
                     The following command waives all messages containing the clk string:
                      waive -regexp -file “.*” -msg “.*[ ' \”]clk[ ' \”].*”
                      The above command waives all messages containing the         clk string in
                      any of the following ways
                       clk with leading and trailing spaces
                       'clk'
                       “clk”
                     The following command waives all messages for the test design unit
                      that contain any combination of the      clk1 and clk2 clocks:
                      waive -regexp -file ".*" -msg ".*test\.clk1.*test\.clk2.*"
                      waive -regexp -file ".*" -msg ".*test\.clk2.*test\.clk1.*"
                      The above command waives all messages containing test.clk1 and
                      test.clk2 in any order including the following message:
                      Unsynchronized crossing: destination flop test.q1, clocked by
                      test.clk2, source flop test.d1, clocked by test.clk1
                    If you specify the whole message in the -msg argument (and actual file/du
                    names), you do not need to specify the -regexp argument. Just supply
                    all actual values and place the entire message in the q/.../ format. If
                    you are placing a message in quotes, SpyGlass does not consider wildcard
                                                                                                399
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                characters (* and ?), double quote character, dollar, and escape characters
                as literals. In such case, you must escape them.
400
                                           Synopsys, Inc.                               Feedback
                                                                        Working with SpyGlass Messages
Waiving Messages
 Additional Information
                    Please note the following about the    waive -import constraint:
                     SpyGlass also supports nested imports of waiver files, that is, one
                      import command can be specified inside another import command,
                      as shown below:
                      top.swl:       waive -import b1 b1.swl
                                                                                                  401
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
           NOTE: All the waiver files to be imported (b1.swl and b2.swl, in the above example)
                 should be accessible from the current working directory.
                 The -disable argument is also supported with the waive -import
                    constraint, as shown below:
                    waive -import b1 b1.swl -disable
                    The above specification will disable the
                                                        waive -import command.
           NOTE: Only the -disable and -comment arguments are supported with waive
                 -import constraint. No other argument is supported with waive -
                 import constraint.
               File names in the imported waive -file/file_line/
                 file_lineblock commands are converted to file names matching
                    under the hierarchy of the block being imported. This is to ensure that
                    migration occurs for, and according to, the block being imported.
                 If the -ip/-du fields are regular expressions in the waive command
                    to be imported, then the regular expressions are converted to names
                    matching under the block hierarchy only. This is to ensure that the
                    regular expressions do not match any name outside the block hierarchy.
                 It may happen that a block-level waiver file is written in an older version
                    of SpyGlass release, and the top-level designer importing this block-
                    level waiver file is working in a later version of SpyGlass release in
                    which few rule messages have been changed with respect to the
                    previous release. In this case, SpyGlass automatically upgrades the old
                    message in the block-level waiver files to the new rule message.
                    However, this does not work if the old message in the waive command
                    is a substring of its complete message of that release.
402
                                           Synopsys, Inc.                               Feedback
                                                                  Working with SpyGlass Messages
Waiving Messages
                    checked for the source code block related to the SpyGlass Waiver pragmas
                    and the corresponding rule messages are written to the Violation
                    Database. However, these rule messages are not reported in the SpyGlass
                    Message Reports.
                                                                                            403
Feedback                                    Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
404
                                           Synopsys, Inc.                             Feedback
                                                                    Working with SpyGlass Messages
Waiving Messages
                      begin
                        if (data <= (a[1] + b[2]) ) //violation will be
                                                    //waived off
                          a <=17;
                        else
                          //spyglass enable_block W362
                          b = 8'hbb;
                      end
                    endmodule
                                                                                              405
Feedback                                     Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
for VHDL:
406
                                           Synopsys, Inc.                               Feedback
                                                                      Working with SpyGlass Messages
Waiving Messages
                     You can also write multiple pragmas with comments on a single line as
                      follows:
                      //waiver pragma1 --comment //waiver pragma --comment
                      Atrenta Console considers the above specification as two different
                      pragmas. However, if the starting directive is a comment or a non-
                      waiver pragma, Atrenta Console treats the whole line as a comment. For
                      example, the following line in the design file will not result in any valid
                      waiver pragma:
                      //non-waiver pragma //spyglass disable rulename
                     If there is no corresponding enable_block pragma for a
                      disable_block pragma, then the scope of the disable_block
                      pragma extends till the end of the source file in which it is specified.
                     The scope of SpyGlass Waiver pragmas is limited to the source file in
                      which they are specified. Writing a pragma in one source file and
                      including this source file in another source file will not imply that the
                      pragma is effective in the second file.
                      Consider the following example:
                      // test.v
                      module test (input in1, output out1);
                      //spyglass disable_block ALL
                      `include "lib.v"
                      complex_INPUT_WIDTH_struct_t i_data;
                      …
                      //spyglass enable_block ALL
                      …
                      endmodule
                      In the above example, SpyGlass does not report any violation on the
                      test.v file between the disable_block and enable_block
                                                                                                 407
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
408
                                           Synopsys, Inc.                                   Feedback
                                                                        Working with SpyGlass Messages
Waiving Messages
                    Similarly, if you have waived for a rule group, you can selectively activate
                    the rules in the rule group in the same manner.
           NOTE: You cannot selectively activate a rule for a source code block that you have waived
                 by using the ALL keyword.
                                                                                                  409
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
                output q;
                reg q;
                reg [3:0] a;
                reg [7:0] b;
                reg [2:0]data;
                always @(posedge clk)
                begin
                if (data <= (a[1] + b[2]) ) //spyglass disable W362
                    a <=17;
                else
                    b = 8'hbb;
                end
                endmodule
                entity top is
                end top;
                architecture rtl of top is
                signal s1 : bit_vector( 2 downto 0);
                signal s2 : bit_vector( 3 downto 0);
                signal s3 : boolean;
                begin
                process
                  begin
                    case s1 <= s2 is --spyglass disable W116
                    when TRUE => s3 <= (s2 = s1);
                    when others => null;
                    end case;
                end process;
                end rtl;
410
                                         Synopsys, Inc.                           Feedback
                                                                     Working with SpyGlass Messages
Waiving Messages
                                                                                                411
Feedback                                      Synopsys, Inc.
Working with SpyGlass Messages
Waiving Messages
412
                                          Synopsys, Inc.                                  Feedback
                                                                      Working with SpyGlass Messages
Tagging Messages
 Tagging Messages
                    Adding a tag on a violation message enables you to keep track of that
                    message, which you may want to fix later or which you already fixed/
                    verified.
                    Based on your requirement, you can tag messages either with certain
                    predefined identifiers, such as Investigate, Fixed, ToFix, and VerifiedFixed,
                    or with your own custom tags.
 Adding a Tag
                    To add a tag to a message, perform the following steps:
                    1. Select the message.
                    2. Select the Add Tag option in the right-most bar in the Results pane.
                       Alternatively, right-click on the message and select the Tag -> Add Custom
                       option from the shortcut menu.
                       The Add Message Tag dialog appears, as shown below:
                                                                                                413
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
Tagging Messages
                menu option. When you apply any of these visual tags to a message, the
                corresponding graphical icon is prefixed to the message.
Modifying a Tag
                To modify the tag for a rule message, perform the following steps:
                1. Select the message appearing in the Results pane.
                2. Select the Modify Tag option in the right-most bar in the Results pane.
                    Alternatively, right-click on the message and select the Tag -> Modify option
                    from the shortcut menu.
                    The Modify Message Tag dialog appears with the selected message and its
                    tag, as shown below:
                3. In the above dialog, select the tag name in the Tag field.
                    A drop-down list appears containing all the available tags.
                4. Select the required tag from the drop-down list or specify your own tag
                    in the Tag textbox.
                5. Click the OK button to apply the modified tag to the selected message.
414
                                            Synopsys, Inc.                               Feedback
                                                                       Working with SpyGlass Messages
Tagging Messages
           NOTE: The Tag -> Modify shortcut menu option is enabled only if you have added a tag to
                 a rule message.
           NOTE: You can also add/delete/modify tags for more than one message at a time by
                 selecting multiple messages (either by dragging the mouse pointer across the
                 messages or by individually clicking the messages while holding down the <Ctrl>
                 key on the keyboard) and applying the tag settings as described above.
 Deleting a Tag
                    To delete a tag from a message, perform the following steps:
                    1. Select the message appearing in the Results pane.
                    2. Select the Delete Tag option in the right-most bar in the Results pane.
                       Alternatively, right-click the message and select the Tag -> Delete option
                       from the shortcut menu.
                    After performing the above steps, the tag applied to the message is
                    deleted.
           NOTE: The Tag -> Delete shortcut menu option is enabled only if you have added a tag to
                 a rule message.
                                                                                                 415
Feedback                                       Synopsys, Inc.
Working with SpyGlass Messages
416
                                          Synopsys, Inc.                               Feedback
                                                                   Working with SpyGlass Messages
                  rules.
                  SpyGlass reports the design units that have been skipped for this reason,
                  but you should be aware that analysis of those design units will necessarily
                  be incomplete.
                                                                                             417
Feedback                                    Synopsys, Inc.
Working with SpyGlass Messages
418
                                 Synopsys, Inc.                            Feedback
           Working with Aggregated
           Reports
 Overview
           This chapter describes the following reports generated in Atrenta Console:
            Project Summary Report
            The DataSheet Report
            The DashBoard Report
            Goal Summary
           If the working directory of your project contains a different set of goals that
           are run from different methodologies, the above reports show results only
           from the goals that are run from the current active methodology, which is
           saved in the project file.
           If you get any unexpected results in such a scenario, clean the project
           working directory and re-run the goals of the active methodology.
           An active methodology is specified by the following command in the project
           file:
           set_option active_methodology <methodology-path>
                                                                                      419
Feedback                              Synopsys, Inc.
Working with Aggregated Reports
Overview
420
                                           Synopsys, Inc.                                   Feedback
                                                           Working with Aggregated Reports
Overview
                                                                                      421
Feedback                             Synopsys, Inc.
Working with Aggregated Reports
                 To generate aggregated project results, click the Tools > Aggregated Project
                 Results menu option. This displays the Aggregated Project Results dialog, as
                 shown in the following figure:
                 If a configuration file already exists, enter the name of the file in the
                 Configuration file text field. Alternatively, click (  ) and browse to the
                 location where the configuration file is saved. Then the list of projects
                 saved in the project file is displayed in the Project List section of the
                 Aggregated Project Results dialog. You can add a project in the
                 configuration file and save the file. In addition, you can also save the
                 configuration file with a different name by clicking the Save As button.
                 You can also specify the report output directory in the Output Directory
                 textbox. If the specified directory does not exist, Atrenta Console creates
422
                                            Synopsys, Inc.                                Feedback
                                                                       Working with Aggregated Reports
                  it. If you do not specify any directory, the report is saved at a default path.
                  For details, see Default Paths of Aggregated Reports.
                  If you are generating the aggregated results for the first time, follow these
                  steps:
                  1. Click (             ) and browse to the location where the project files
                      are located.
                  2. Select the project (.prj) file for which you want to generate the results.
             NOTE: You can select multiple project files by pressing and holding the <Ctrl> key and
                   then selecting the required files. You can delete a project by clicking the Delete
                     Project button.
                  3. Click Save & Continue. The Specify the configuration file dialog appears, as
                      shown in the following figure:
                                                                                                  423
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
424
                                            Synopsys, Inc.                                 Feedback
                                                                        Working with Aggregated Reports
                   Like the Project Summary Report, the HTML browser displays similar
                   information for Aggregated Project Reports. Additionally, the browser also
                   displays the configuration file name and the list of projects that were saved
                   in the configuration file. Refer to the Project Summary Report section for
                   more details on various reports.
           NOTE: You can also specify the path of the configuration file in the   .spyglass.setup
                   configuration file by using the AGG_PROJECT_RESULTS_CONFIG_FILE
                   environment variable as follows:
                   SDE_CONFIG_OPTIONS=AGG_PROJECT_RESULTS_CONFIG_FILE=<
                   path>
                                                                                                    425
Feedback                                       Synopsys, Inc.
Working with Aggregated Reports
                 The above dialog displays the location where the generated CSV and HTML
                 reports are located.
        NOTE: You can right-click on a path and select the   Copy shortcut menu option to copy the
              path for reference.
        NOTE: When you click the Project Summary option, Atrenta Console also creates a
              <project-name>/user_reports_backup directory that contains a backup of the
426
                                           Synopsys, Inc.                                 Feedback
                                                                       Working with Aggregated Reports
                                                                                                  427
Feedback                                        Synopsys, Inc.
Working with Aggregated Reports
                 The HTML browser is divided into two sections. The left section of the
                 browser displays information, such as the project name, the Atrenta
                 Console version, the date when the report was created, and the name of
                 the person who created the report. In addition, the following options are
                 provided in the left section of the browser window.
428
                                            Synopsys, Inc.                              Feedback
                                                                     Working with Aggregated Reports
                 twice on August 03, once at 11:00 AM, and then at 5:00 PM, then the
                 current result will display the data generated at 5:00 PM.
                 When you, click the Current Results for all blocks link, the right section of the
                 browser window displays the following:
                  Current unresolved violations for all blocks:
                    The unresolved violations chart displays the violation count (FATAL,
                    ERROR, WARNING, and INFO messages) for the individual blocks and
                    the goal run on the block in the Y axis and the block names in the X
                    axis.
                                                                                                429
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
                  Summary table of all current unresolved and waived violations for all
                    blocks
                    The current result for all blocks also displays a summary table that
                    shows the count of all the violation messages (unresolved and waived)
                    as shown below:
430
                                            Synopsys, Inc.                               Feedback
                                                                          Working with Aggregated Reports
                   The Y axis displays the violation count for the block and the X axis displays
                   the date when the block was run.
           NOTE: When you click the All blocks link, the violation count for all blocks is displayed with
                 the data of each block separated by a line.
                   Similarly, you can view the violation count of the waived violations for a
                   block or all blocks.
                   In addition, you can view the summary table displaying the violation
                   messages (unresolved and waived) for a block or all blocks based on time.
                                                                                                     431
Feedback                                        Synopsys, Inc.
Working with Aggregated Reports
432
                                            Synopsys, Inc.                              Feedback
                                                                  Working with Aggregated Reports
                                                                                             433
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 You can view the DataSheet report to review design characteristics during
                 design review or as a way of communicating design characteristics during
                 design handoff and IP sharing.
434
                                          Synopsys, Inc.                                  Feedback
                                                                     Working with Aggregated Reports
                 Licensing Requirements
                        DataSheet is a licensed capability and requires the license feature,
                 SpyGlass
                 datasheet. Please contact Atrenta Support
                 (spyglass_support@synopsys.com) if you need this license.
                                                                                                435
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
436
                                           Synopsys, Inc.                              Feedback
                                                                        Working with Aggregated Reports
                                                                                                   437
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
                 7. Specify the required details in the Save new configuration file as dialog, and
                    click the   Save button.
                    After specifying the configuration file (new or existing), click the Continue
                    button. This displays the following dialog:
                    In the above dialog, click the     Yes button to view the HTML report in the
                    browser window.
                 If the manually created configuration file contains attributes, such as
                 REPORT_TITLE and REPORT_LABEL, without report specific extension, for
                 example, _DATASHEET at the end, SpyGlass batch process applies the
                 same values to all the required reports that are generated using the same
                 configuration file. However, if the configuration file contains both
                 attributes, such as , REPORT_TITLE and REPORT_TITLE_DATASHEET, then
                 the report specific value will take the precedence.
                 This means that following options are applied to all reports:
                  REPORT_TITLE <value>
                  REPORT_LABEL <value>
                  REPORT_FILE_NAME <value>
                  CUSTOM_LOGO <value>
                 Also, following options are applied to the Datasheet report only:
                  REPORT_TITLE_DATASHEET <value>
                  REPORT_LABEL_DATASHEET <value>
438
                                               Synopsys, Inc.                             Feedback
                                                                    Working with Aggregated Reports
                  REPORT_FILE_NAME_DATASHEET <value>
                  CUSTOM_LOGO_DATASHEET <value>
                 Details of a Configuration File
                 A configuration file contains the path of project files and/or SpyGlass batch
                 run dump directories whose data you want to include in the DataSheet
                 report.
                 A sample configuration file is given below:
                 #   ---------------------------------------------------------
                 #   Aggregated Report Configuration File
                 #   Created By: sam using Atrenta Console version 5.0
                 #   Last Modification On 04-05-2012 04:08:17
                 #   ----------------------------------------------------------
                 Project-1.prj
                 Project-2.prj
                 Project-3.prj
                 ../Socrates/Project-7.prj
                 /dev09/case9-new/Project-5.prj
                 ./run1/
                                                                                               439
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
aggregate_projects
                 This command specifies list of projects and work directories that you want
440
                                             Synopsys, Inc.                              Feedback
                                                                  Working with Aggregated Reports
 set_config_option
                 This command supports different -<key> <values> combinations that are
                 required for configuring the reports. Following is the syntax of this
                 command:
                 set_config_option -<key> <value> [-report {<report_list>}]
                                                                                             441
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 You can specify one of the following values to the <key> option:
                  report_title: Specifies the report title
                  report_label: Specifies the report label
                  custom_logo: Specifies the custom logo on the report
                  report_file_name: Specifies the output file name
                 The -report option is optional and you can set specific reports to use these
                 config options.
                 Following is the sample usage of this command:
                 set_config_option -report_title              "My report title" -report
                 {dashboard}
                 set_config_option -report_label              "My report label" -report
                 {dashboard}
                 set_config_option -custom_logo "http://myorg.com/img/
                 logo.gif@@75@@45@@My Custom Logo"
                 set_config_option -report_file_name            "My_DashBoard"
442
                                           Synopsys, Inc.                             Feedback
                                                                  Working with Aggregated Reports
                                                                                             443
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 The following example generates the        DataSheet report for the project file,
                 CUSB2_WRAP.prj:
                 spyglass -gen_aggregate_report datasheet -project
                 CUSB2_WRAP.prj -batch
444
                                           Synopsys, Inc.                                   Feedback
                                                                     Working with Aggregated Reports
           NOTE: If you do not specify the above command for a project-specific DashBoard report,
                 the reports are generated in the <projectwdir>/<project>/<top>/html_reports
                 directory by default.
                  To specify a configuration file that contains a list of projects and run
                  directories generated by batch console or GUI, use the following command
                  in a project file:
                  set_option aggregate_report_config_file <config-file-path>
                                                                                                445
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
                      lint/design_audit
                      cdc/cdc_verify
                      constraints/sdc_gen
                      constraints/sdc_audit
                      txv_verification/fp_verification
                      txv_verification/mcp_verification
                      power/power_est_average
                      dft/dft_scan_ready
                      dft/dft_dsm_best_practice
446
                                            Synopsys, Inc.                               Feedback
                                                                       Working with Aggregated Reports
                        rtl_handoff/txv_verification/fp_mcp_verification
                        rtl_handoff/txv_verification/mcp_verification
                        rtl_handoff/power/power_est_average
                        rtl_handoff/dft_readiness/dft_scan_ready
                        rtl_handoff/dft_readiness
                        /dft_dsm_transition_coverage
           NOTE: If you are using the constraint/sdc_coverage goal in the GuideWare methodology,
                 ensure to add the SDC_DataSheet rule to the goal run to fulfill IO delays in the IO
                 Definitions table.
                  The above list of GuideWare goals is only for reference purpose. You can
                  use similar goal names for other design stages. Refer to the GuideWare
                  and advance product documentation for more information on running the
                  complete flow.
                  For timing, congestion, and more accurate design statistics, run the
                  SpyGlass Physical methodology. For details, refer to the SpyGlass Physical
                  Methodology and its rule documentation.
                  Generating the DataSheet Report by Using Non-GuideWare Flows
                  For non-GuideWare based flows, you can use the following list of SpyGlass
                  rules to generate the DataSheet report.
                                                                                                  447
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
448
                                           Synopsys, Inc.                               Feedback
                                                                        Working with Aggregated Reports
                 Do not run the above rules from a single goal or a goal; run these rules as
                 a part of their respective methodologies.
                                                                                                   449
Feedback                                        Synopsys, Inc.
Working with Aggregated Reports
                 The DataSheet report contains different sections that provide different types
                 of information in a tabular format.
                 To view the details of a particular section, expand that section by clicking
                 the Expand option adjacent to that section. The Expand option expands a
                 section by one level. If you want to view the entire section, click the Full
                 Expand option.
450
                                           Synopsys, Inc.                              Feedback
                                                                            Working with Aggregated Reports
                 You can also expand all the sections at once by clicking the             Expand All >>
                 button.
                 The    DataSheet report contains the following sections:
 IO Definitions
                 A sample of the    IO Definition section is shown in the following figure:
                                                                                                         451
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
Clock Trees
                 A sample of the   Clock Trees section is shown in the following figure:
                 Atrenta Console populates this section if you run the GuideWare goals of
                 SpyGlass CDC solution.
                 The details of each field in this table are described below:
452
                                            Synopsys, Inc.                                  Feedback
                                                                       Working with Aggregated Reports
 Reset Trees
                 A sample of the   Reset Trees section is shown in the following figure:
                                                                                                     453
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
                 Atrenta Console populates this section if you run the GuideWare goals of
                 SpyGlass CDC Solution.
                 The details of each field in this table are described below:
Power
                 A sample of the   Power section is shown in the following figure:
454
                                            Synopsys, Inc.                                 Feedback
                                                                        Working with Aggregated Reports
                 Atrenta Console populates this section if you run the GuideWare Power flow
                 goals of all the stages (initial_rtl, detailed_rtl, and
                 rtl_handoff) of the New_RTL methodology.
                 The details of each field in this table are described below:
 Power Clocks
                 A sample of the    Power Clocks section is shown in the following figure:
                                                                                                     455
Feedback                                       Synopsys, Inc.
Working with Aggregated Reports
                 Atrenta Console populates this section if you run the GuideWare Power flow
                 goals of all the stages (initial_rtl, detailed_rtl, and
                 rtl_handoff) of the New_RTL methodology.
                 The details of each field in this table are described below:
Constraints
                 The sample of the   Constraints section is shown in the following figure:
                 Atrenta Console populates this section if you run the goals of SpyGlass
                 Constraints Solution and SpyGlass TXV Solution.
                 The details of each field in this table are described below:
456
                                            Synopsys, Inc.                              Feedback
                                                                       Working with Aggregated Reports
 Testability
                 The sample     Testability section is shown in the following figure:
                 Atrenta Console populates this section if you run the goals of SpyGlass DFT
                 solution.
                 The details of each field in this table is described below:
                                                                                                    457
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
Design Statistics
                 A sample Design Statistics section is shown in the following figure:
                 The above section displays a table showing different types of statistic data
                 and their counts.
                 In this table, the first two statistics data are populated from the SpyGlass
                 Physical flow, if it exists. Otherwise, the corresponding cells appear blank.
                 The rest of the three statistics are populated from the SpyGlass Physical
                 flow, if it exists. Otherwise, as a second priority, the Audit flow data is
                 populated and displayed, if it exists.
                 The details of each design statistics in this table are described below:
                  Statistic       Description
                  Synthesizable   Specifies the size of synthesizable RTL logic measured in terms
                  gates (NAND2    of the NAND2 equivalent gates. This metric does not include
                  equivalent)     hard IPs and memories.
                  Total Area      Specifies the total size of the design including all design
                                  entities, such as synthesizable RTL logic, hard IPs, memories,
                                  and black boxes.
                                  For RTL logic, standard cell utilization specified in SpyGlass
                                  Physical goal is used (default is 60%).
                  Registers       Specifies the total number of flip-flop instances in the design.
458
                                           Synopsys, Inc.                                  Feedback
                                                                        Working with Aggregated Reports
 Black Boxes
                 This section displays the number of ports for each black box. The details of
                 each field of this table are described below:
 Timing
                 This section displays the timing data populated from the SpyGlass Physical
                 flow.
                 A sample Timing section is shown in the following figure:
                  Field                       Description
                  Clock                       Specifies all primary and derived clocks defined in an
                                              SDC file.
                  Period                      Specifies a clock period.
                                                                                                   459
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
                  Number of Failing Paths   Specifies the total number of gross failing path
                                            groups, when grouped by a common source bus and
                                            a common destination bus for the specified clock.
                                            It means multiple paths from different bits in a
                                            source bus to different bits in a destination bus are
                                            counted as 1.
                                            The threshold for gross failing paths is based on the
                                            PHY_ClockDetail parameter. When no valid timing
                                            paths exist for a given clock, "-" appears in the
                                            corresponding cell.
                  Maximum Logic Levels      Specifies the maximum number of standard cell
                                            instances as analyzed across all timing paths of the
                                            specified clock.
                                            When no valid timing paths exist for a given clock, "-
                                            " appears in the corresponding cell.
Congestion
                 This section displays the congestion data populated from the SpyGlass
                 Physical flow.
                 A sample Congestion section is shown in the following figure:
                  Field                     Description
                  Module Name               Specifies the RTL module name of a grossly
                                            congested module instance.
460
                                            Synopsys, Inc.                                Feedback
                                                                   Working with Aggregated Reports
                                                                                                 461
Feedback                                  Synopsys, Inc.
Working with Aggregated Reports
                 The above report enables you to evaluate present risks involved in different
                 design objectives, such as clocks and power-related objectives of various
                 blocks and view trend variations over a period of time. For details, see
                 Details of the DashBoard Report.
462
                                           Synopsys, Inc.                             Feedback
                                                                        Working with Aggregated Reports
           NOTE: While including multiple projects, you must compile data for all different top-level
                 design units before including such projects in the report.
                   This section explains the following topics:
                    Licensing Requirements
                    Browser Compatibility
                    Generating Dashboard Report
                    Viewing the DashBoard Report
                    Details of the DashBoard Report
                                                                                                   463
Feedback                                       Synopsys, Inc.
Working with Aggregated Reports
                  Customizing Report
                  Managing Reports
                  Switching to the Old Dashboard Report
Licensing Requirements
                 SpyGlass DashBoard report is a licensed capability and requires the license
                 feature, dashboard. Please contact Atrenta Support
                 (spyglass_support@synopsys.com), if you need this license.
Browser Compatibility
                 The Atrenta DashBoard is compatible with the following Web browsers:
                  Firefox 2.0.0.20 (UNIX or Windows) or higher
                  IE 8, 9, 10, and 11 on Windows 7
                 Setup Instructions for Google Chrome
                 1. Right-click the Google Chrome shortcut and click Properties from the
                    shortcut menu.
                    The Google Chrome Properties dialog box is displayed.
                 2. Specify following in the Target Box field:
                    C:\Users\USERNAME\AppData\Local\Google\Chrome\Application\
                    chrome.exe --allow-file-access-from-files
                 3. Press Apply/OK.
                 4. Run the DashBoard Report.
464
                                           Synopsys, Inc.                            Feedback
                                                                     Working with Aggregated Reports
                                                                                                465
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
                 The following example generates the      DashBoard report for the project file,
                 CUSB2_WRAP.prj:
                 spyglass -gen_aggregate_report dashboard -project
                 CUSB2_WRAP.prj -batch
466
                                         Synopsys, Inc.                                   Feedback
                                                                 Working with Aggregated Reports
                                                                                            467
Feedback                                  Synopsys, Inc.
Working with Aggregated Reports
                 7. In the above dialog, select the Yes button if you want to view the HTML
                    report in the browser window. Otherwise, click the     No button.
468
                                            Synopsys, Inc.                                 Feedback
                                                                        Working with Aggregated Reports
                                                                                                   469
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
                    When you specify the report label, the following command is generated
                    in the configuration file:
                    REPORT_LABEL_DASBHBOARD <label>
                 11. Click the Save & Continue button.
                    This step generates the   DashBoard report.
                 Alternatively, you can create a new configuration file by clicking the
                 button.
                 Sample Configuration File
                 A sample configuration file is shown below:
                 ############################################################
                 # Dashboard Configuration File
                 ############################################################
470
                                            Synopsys, Inc.                            Feedback
                                                                       Working with Aggregated Reports
 aggregate_projects
                  This command specifies list of projects and work directories that you want
                  to include in the specified report. Following is the syntax of the
                  aggregate_projects command:
                  aggregate_projects -project {<project_list>} -dir
                  {<directory_list>} [-report {<report_list>}]
                  Here, -report is an optional argument and you can set specific reports
                  for different projects, while aggregation. That is, if you set the -report
                  {dashboard} option, then the project is added for the DashBoard report
                  and skips if the same configuration file is used for the DataSheet report.
                  Now, assume that you want to include Project1.prj and Project2.prj for
                  both the Datasheet and Dashboard reports. Also, assume that you to
                  include Project3.prj only for the DashBoard report. To do so, specify the
                  following commands:
                  aggregate_projects -project {Project1.prj Project2.prj}
                  aggregate_projects -project {Project3.prj} -report
                  {dashboard}
                  If you set -report {dashboard}, then the project is added for the
                  DashBoard report and skips if the same configuration file is used for the
                  DataSheet report.
                  Following is the sample usage of this command:
                                                                                                  471
Feedback                                        Synopsys, Inc.
Working with Aggregated Reports
set_config_option
                 This command supports different -<key> <values> combinations that are
                 required for configuring the reports. Following is the syntax of this
                 command:
                 set_config_option -<key> <value> [-report {<report_list>}]
                 You can specify one of the following values to the <key> option:
                  report_title: Specifies the report title
                  report_label: Specifies the report label
                  custom_logo: Specifies the custom logo on the report
                  report_file_name: Specifies the output file name
                 The -report option is optional and you can set specific reports to use these
                 config options.
                 Following is the sample usage of this command:
                 set_config_option -report_title              "My report title" -report
                 {dashboard}
                 set_config_option -report_label              "My report label" -report
                 {dashboard}
                 set_config_option -custom_logo "http://myorg.com/img/
                 logo.gif@@75@@45@@My Custom Logo"
                 set_config_option -report_file_name            "My_DashBoard"
472
                                           Synopsys, Inc.                            Feedback
                                                                       Working with Aggregated Reports
 set_success_criteria_file
                  This command is specific to DashBoard and it sets success criteria file path
                  for DashBoard generation. The syntax of this command is given below:
                  set_success_criteria_file <file_path>
                  Following is the sample usage of this command:
                  Sample usage of this command:
                  set_success_criteria_file            /proj/path/to/
                  success_criteria.cfg
                                                                                                  473
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
                 $SPYGLASS_HOME/auxi/dashboard_criteria_template
                 Based on your requirement, you can modify this file instead of writing it
                 from scratch.
                 You can configure the Dashboard report to track and measure design
                 requirements using the Success Criteria file. For example, at the beginning
                 of a design project, running detailed CDC, DFT, and Power checks is not
                 required. Therefore, you can specify only the goals required at this stage of
                 development, such as, lint goals in the Success Criteria File. You can also
                 configure the report for less strict success criteria, such as, fixing only the
                 FATAL and ERRORS type violations for instances. As the design progresses,
                 you can include additional goals and increase the success criteria,
                 accordingly. Figure x and Figure y illustrate sample success criteria files for
                 early design and advanced design scenarios.
                 Based on the degree to which a particular design objective meets the
                 success criteria, the Pass/Fail Status column is populated with appropriate
                 values: Pass, Fail, or Unknown.
474
                                            Synopsys, Inc.                              Feedback
                                                                   Working with Aggregated Reports
                 Following figure illustrates a sample success criteria file for an early design
                 stage:
 #######################################################################
 # Sample SpyGlass Dashboard Success criteria file
 #######################################################################
 #----------------------------------------
 # Specify list of expected goals to report
 #----------------------------------------
 # This option ensures that goals which are expected, but are not run,
 # will show up in the report as NOT_RUN. If a list of goals is not
 # specified, then only the goals which have been run will be reported.
 # NOTE: The dashboard report will only display the data from the goals
 # which are included in this list of goal (if specified). If no
 # set_report_option is not specified, the report data from all the goals
 # found in the results directory.
                                                                                              475
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
476
                                           Synopsys, Inc.                            Feedback
                                                                  Working with Aggregated Reports
                  Argument    Description
                  -criteria   Specifies the success criteria.
                              For example, you can specify the following criteria for the Power
                              design objective:
                              -criteria {switching_power<50uW,
                              total_power<80uW,leakage_powe<20nW}
                              For information on other supported items, see Variables Used in
                              the Success Criteria File.
                              Following operators are accepted in the mathematical
                              expressions:
                              <=, >= , >, <, !=, =
                              The criteria that are mentioned as coverage/Percentage are
                              percentage (%) numbers and the rest are product identified
                              numeric values.
                              While validating the items that are represented in units, such as,
                              power, frequency, and timing, unit conversion is considered, if
                              the user-specified criteria and the product reported are in
                              different units. However, if the specified unit does not match,
                              numeric value is considered.
                              Following units are supported in unit conversion:
                              • Power: W (watt), dW (deciwatt), cW (centiwatt), mW
                                  (milliwatt), uW (microwatt), nW (nanowatt), pW (picowatt)
                              • Frequency: Hz (Hertz), kHz or KHz (kilo hertz), MHz (Mega
                                  hertz), GHz (Giga hertz), THz (Tera hertz)
                              • Time: ps (pico second), ns (nano second)
                              If you do not want to compare the value produced by SpyGlass
                              analysis for certain objectives, but just want to show them in the
                              report, specify the success criteria value as display_only,
                              as shown in the following example:
                              set_design_objective Power -criteria
                              {switching_power=display_only,total_power=display_only
                              ,leakage_power=display_only}
                                                                                             477
Feedback                                 Synopsys, Inc.
Working with Aggregated Reports
                  Argument        Description
                  -block          Specifies a comma-separated list of blocks on which the specified
                                  criteria is applicable.
                                  If you do not specify this argument, Atrenta Console applies the
                                  specified criteria on all the blocks in the design.
                  -goal           Specifies a comma-separated list of goals or scenarios from
                                  which data of the specified design objective criteria should be
                                  picked. For details, see Setting Success Criteria Values to
                                  Different Goals and Scenarios.
                 hide_design_objective
                 This command removes the specified design objective, such as             CDC,
                 Power, DFT, and Constraints from the DashBoard report.
                 The following is the syntax of using this command:
                 hide_design_objective <objectives> [-item {<item-list>}]
                 [-top {<top-list>}]
                 Where:
                  <objectives> refers to a comma-separated list of design objectives
                    to be removed.
                  <item-list> refers to the items to be hidden for a design objective.
                    Use this argument if within a design objective, you want to hide items
                    that are inappropriate for all/some blocks.
                  <top-list> refers to a list of design unit names.
                 The following command hides the        CDC and Power design objectives:
                 hide_design_objective CDC,Power
478
                                             Synopsys, Inc.                                   Feedback
                                                                        Working with Aggregated Reports
           NOTE: If you hide all the design objectives, the Design Objectives table does not appear in
                  the report. In this case, the report only displays the Quality Goals table.
                  set_quality_criteria
                  This command sets criteria to qualify for the      Pass status. The syntax of
                  this command is given below:
                  set_quality_criteria
                  -severity {<criteria1>,<criteria2>,…}
                  [-goal {<goal1>,<goal2>,…}]
                  [-top {<block1>,<block2>,…}]
                                                                                                   479
Feedback                                       Synopsys, Inc.
Working with Aggregated Reports
                  Argument        Description
                  -severity       Specifies the criteria to qualify for the Pass status, as shown in
                                  the following example:
                                  -severity {Fatal=0,Error=0,
                                  Warning<1000,Waived-Error=0}
                                  Valid severities accepted in this category are based on SpyGlass
                                  reported severity class messages that can be waived.
                                  SpyGlass accepts following case-insensitive labels:
                                  • Fatal, Error, Warning, Info (SpyGlass reported severity
                                     classes)
                                  • Waived-Error, Waived-Warning, Waived-Info (severity class
                                     messages that can be waived)
                                  In the mathematical expressions, following operators are
                                  accepted:
                                  <=, >= , >, <, !=, =
                                  The values set in these expressions are number of SpyGlass
                                  reported (or) waived severity message counts.
                  -goal           (Optional) Specifies a comma-separated list of goals on which
                                  the specified criteria should be applied.
                                  If you do not specify this argument, Atrenta Console applies the
                                  specified criteria on all goals.
                                  The following example shows the usage of this argument:
                                  set_quality_criteria -severity
                                  {Error<5,Warning<1000,Waived-Error=0} -goal
                                  {goal1,goal2}
                  -top            (Optional) Specifies a comma-separated list of blocks on which
                                  the specified criteria for specified goals should be applied.
                                  If you do not specify this argument, Atrenta Console applies the
                                  specified criteria on all blocks.
                                  The following example shows the usage of this argument:
                                  set_quality_criteria -severity
                                  {Error<5,Warning<1000,Waived-Error=0} -goal
                                  {goal1,goal2} -top {block1,block2}
                 set_report_option
                 The following points describe the details of this command.
                  This command specifies options to filter results in the DashBoard report.
                    The syntax of this command is given below:
                    set_report_option
480
                                             Synopsys, Inc.                                 Feedback
                                                                     Working with Aggregated Reports
                    [ –goals {<goal1>,<goal2>,…} ]
                    [-top {<block_name1>,<block_name2>,…}]
                  Argument           Description
                  -goals             Specifies a comma-separated list of goals for which results
                                     should be displayed in the report.
                                     By default, the report contains result of all the goals from
                                     respective projects.
                  -top               (Optional) Specifies a comma-separated list of blocks.
                                     If you do not specify this argument, all the blocks are
                                     considered.
                                                                                                481
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
482
                                            Synopsys, Inc.                               Feedback
                                                                     Working with Aggregated Reports
                                                                                                 483
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
484
                                           Synopsys, Inc.                                Feedback
                                                                  Working with Aggregated Reports
                                                                                             485
Feedback                                  Synopsys, Inc.
Working with Aggregated Reports
                 If you run a technology (data available), the default items appear in the
                 report even if you did not set a success criteria or chose explicitly to hide
                 an item. However, for optional items, you must explicitly set a criterion to
                 make them visible.
486
                                               Synopsys, Inc.                            Feedback
                                                                         Working with Aggregated Reports
                  Handling Waivers
                  Data corresponding to a few design objectives may be affected by waivers.
                  If you apply waivers as a part of the original analysis, they are considered
                  during data computation.
                  For example, the synchronization_coverage, cdc_failed_properties, and
                  cdc_partial_proven_properties variables are influenced by waivers, and the
                  report generator computes the final statistics by considering the applied
                  waivers.
           NOTE: Any waivers created and applied in the GUI after original analysis are not
                 considered until next analysis.
                                                                                                    487
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
                 {switching_power<50mW,total_power<55mW,leakage_power<50uW,in
                 ternal_power<10mW} -goal {Power/power_est_average} -top
                 mc_top
                 You can also set success criteria values to scenarios created for goals. For
                 example, the following commands set success criteria values for the cg4
                 and cg8 scenarios created from the power_est_average goal:
                 set_design_objective Power -criteria
                 {switching_power<25mW,total_power<35mW,leakage_power<10uW,in
                 ternal_power<25mW} -goal {Power/power_est_average@cg4} -top
                 mc_top
488
                                            Synopsys, Inc.                              Feedback
                                                                   Working with Aggregated Reports
Following figure illustrates a sample criteria file for an early design stage.
 #######################################################################
 # Sample SpyGlass Dashboard Success criteria file
 #######################################################################
 #----------------------------------------
 # Specify list of expected goals to report
 #----------------------------------------
 # This option ensures that goals which are expected, but are not run,
 # will show up in the report as NOT_RUN. If a list of goals is not
 # specified, then only the goals which have been run will be reported.
 # NOTE: The dashboard report will only display the data from the goals
 # which are included in this list of goal (if specified). If no
 # set_report_option is not specified, the report data from all the goals
 # found in the results directory.
                                                                                              489
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
                 As the design progresses, you can include additional goals and increase the
                 success criteria, accordingly. For example, after the design reaches Design
                 Review#1 (Feature Complete), CDC and Power Analysis begin. The CDC
                 and Power results are also reported, in addition to the existing lint goals.
                 Also, all Lint warning messages should be resolved.
                 Following figure illustrates a sample criteria file for an advanced design
                 stage:
############################################################
# Sample SpyGlass Dashboard Success criteria file
############################################################
#----------------------------------------
# Specify list of expected goals to report
#----------------------------------------
# This option ensures that goals which are expected, but are not run,
# will show up # in the report as NOT_RUN. If a list of goals is not
# specified, then only the goals which have been run will be reported.
# NOTE: The dashboard report will only display the data from the goals
# which are included in this list of goal (if specified). If no
# set_report_option is not specified, the report data from all the goals
found in the results directory.
set_report_option -goals { lint/lint_rtl,
                             cdc/clock_reset_integrety,
                             lint/design_audit,
                             constraints/sdc_check,
                             cdc/cdc_verify,
                             dft/dft_scan_ready,
                             dft/dft_dsm_best_practice,
                             power/power_est_average,
                              } -top {$top}
#----------------------------------------
# Quality Objectives
#----------------------------------------
# strict quality checks for lint and CDC analysis
set_quality_criteria -severity {Error=0, Warnings=0, Waived-Error=0}
                      -goal {lint/lint_rtl}
490
                                           Synopsys, Inc.                             Feedback
                                                  Working with Aggregated Reports
 #----------------------------------------
 # Design Objectives
 #----------------------------------------
 # DFT objectives
 set_design_objective DFT -criteria {stuck_at_fault>95,
                                       stuck_at_test>95,
                                       transition_fault>80,
                                       transition_test>80,
                                       scannable_flops>95}
 # CDC objectives
 set_design_objective CDC -criteria {unsync_crossings=0,
                                       synchronization_coverage=100}
 # Constraints objectives might be module specific - so they are not set
 # here.
 set_design_objective Constraints -criteria {ports_constrained=100,
                                               registers_constrained>90}
 # NOTE: excluding the criteria value, will display the value, but will
 # not provide a pass/fail icon. In other words - display the values only
 - don't judge a success pass/fail.
 set_design_objective Power -criteria {switching_power=display_only,
                                        internal_power=display_only,
                                        leakage_power=display_only,
                                        total_power=display_only}
                                                                             491
Feedback                         Synopsys, Inc.
Working with Aggregated Reports
492
                                             Synopsys, Inc.                           Feedback
                                                                      Working with Aggregated Reports
                  Module Dashboard
                   Design objectives and respective variables
                     This information is listed in the same order as the success criteria set in
                     the success criteria file.
                   Goals
                     By default, this information is arranged as per the order in the
                     methodology order file. However, if you specify explicit list of goals to be
                     displayed in the report by using the set_report_option -goals
                     {<goal-list>} command, the order is as per the <goal-list>.
 SoC Dashboard
                  The SoC DashBoard contains following views to present composite status
                  of SoC with respect to overall executed quality goals and different product
                  specific objectives:
                   Summary tab
                   Quality Goals tab
                   Design Objectives tab
           NOTE: You can not close the above listed default tabs. However, you can close the other
                 dynamically added tabs.
 Summary tab
                  The left side chart in the Summary tab illustrates the consolidated status of
                  quality for all goals and applicable product metrics for products such as
                  DFT, CDC, and Power. The status in this view is categorized into Pass, Fail
                  and In-process, which are displayed in green, red and yellow colors,
                  respectively. Following figure illustrates the left-side chart:
                                                                                                 493
Feedback                                      Synopsys, Inc.
Working with Aggregated Reports
                  Pass            Design objective or quality goal was passed as per success criteria
                  Fail            Design objective or quality goal was failed as per success criteria
                  In-process      Design objective or quality goal execution yet to complete
                 To view the overall status in percentage, hover the mouse on a vertical bar.
                 For example, if you hover the mouse on the green portion of the Quality
                 section, a pop-up displays the following message:
                 Quality, 56%
                 This means that 56% of overall executed goals are passed as per the set
                 success criteria.
                 Similarly, if you hover the mouse on to the red portion of the CDC section,
                 a pop-up displays the following message:
                 CDC, 66%
494
                                               Synopsys, Inc.                                  Feedback
                                                                   Working with Aggregated Reports
                 This means that 66% of overall CDC objectives failed on the consolidated
                 list of modules.
                 The right side chart, by default, shows sub-items of the Quality section,
                 that is, different goals. However, when you select any other item on left
                 side composite status chart, the right side chart is updated accordingly
                 displaying sub-items of the selected item. For example, if you select DFT
                 on left side chart, the right side chart is updated to display the individual
                 items from DFT as shown in the following figure:
                 When you click on the bars, a new tab displays the details of the selected
                 design objective status for all applicable modules. For example, if we select
                 Stuck-at fault coverage bar of the DFT category, it opens a new tab
                 displaying the details of Stuck-at fault coverage objective for all applicable
                 modules as shown in the following figure:
                                                                                              495
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
                 You can filter the results based on Pass/Fail status using the links located
                 on the top-right corner of the table. Also, clicking on any module displays
                 the Module Dashboard for that module in a new tab.
                 The above table shows applicable Pass/Fail goal status for the listed
                 modules with respect to the success criteria set on the module. Clicking the
                 module name displays the respective module dashboard.
496
                                           Synopsys, Inc.                               Feedback
                                                                  Working with Aggregated Reports
                 Hovering the mouse over the table cells displays the status and the Last
                 updated time stamp in a pop-up.
                 Clicking the goal name in the header of the Quality Goals tab displays the
                 goal-specific information in a new tab, which displays selected goal status
                 and statistic details for all modules. Following figure shows a sample goal-
                 specific page:
                                                                                             497
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 You can filter the displayed data based on the legend, that is, severity
                 name. You can also select a region in the trend chart to view the detailed
                 view of the message count for the selected dates.
                 To switch back to the original view, click the Reset Zoom link.
498
                                           Synopsys, Inc.                             Feedback
                                                                      Working with Aggregated Reports
                 Above table shows all applicable modules, which you can select to view the
                 respective Module DashBoard pages. Rest of the columns shows all
                 products and product-specific objectives. The headers of the table display
                 design objective names and are truncated to best-fit to the view. When you
                 hover the mouse over the design objective name, the full objective name is
                 displayed in a pop-up.
                 The rest of the table displays the Pass/Fail/Data/No Data status of the
                 design objective with respect to the success criteria set on the module.
                 Following table classifies the available status and their description:
                 Hovering the mouse over the table cells displays the status and the Last
                 updated time stamp in a pop-up.
                                                                                                 499
Feedback                                     Synopsys, Inc.
Working with Aggregated Reports
                 Selecting the design objective name in the table header displays a new tab
                 listing variable-specific data for all applicable modules. See Figure 32 for
                 details.
                 Clicking on the displayed status in a table cell displays the trend chart with
                 respect to the module and design objective that shows trend variation over
                 time. Following figure illustrates a sample trend chart for a module with
                 respect to the selected design objective:
                 In the above figure, the solid line represents success criteria and the thin
                 line with dots represents the actual data. If multiple goals or scenarios in
                 the above trend chart provide the same variable data, multiple line pairs
                 are displayed in the chart. You can turn on/off some of them from the
                 provided legend in the chart area.
Module Dashboard
                 Module Dashboard is displayed in the following scenarios:
                  A dashboard is created for a single module
                  Module-specific links is displayed in the SoC DashBoard
                 By default, the module dashboard page displays summary of Quality Goals
                 and Design Objectives as shown in the following figure:
500
                                           Synopsys, Inc.                              Feedback
                                                                 Working with Aggregated Reports
                 You can expand both the tables by selecting 'Show All' link provided on top
                 right corner of the module dashboard page. Alternatively, you can select
                 the +/- icon provided at the left side of the tables, to expand/collapse the
                 table view.
                                                                                            501
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
502
                                           Synopsys, Inc.                              Feedback
                                                                   Working with Aggregated Reports
                 The above section shows the data for the DFT, CDC, Constraints, and
                 Power design objectives. Following columns are displayed when you
                 expand the Design Objectives table:
                                                                                              503
Feedback                                  Synopsys, Inc.
Working with Aggregated Reports
Category
                 Specifies the name of the design objective, such as    CDC, Power, DFT, or
                 Constraints.
Design Objectives
                    Specifies the values generated by individual goals or scenario runs.
                    SpyGlass compares these values with the Success Criteria to determine
                    the overall task result.
Success Criteria
                    Specifies the success criteria defined for a particular design objective. If
                    no success criterion is defined, this column reads not set. For such design
                    objectives, the corresponding cell in the Pass/Fail Status column reads
                    Unknown and that cell appears in yellow.
Status
                    Displays status (Pass, Fail, or No Data) based on the comparison between
                    the specified Success Criteria and the actual Design Objectives value
                    extracted by analysis.
                    The   No Data status appears if the data was not extracted by analysis.
                    Click on any of the Status cell to display the variations from previous
                    runs in a graphical format. See Figure 37 for details of this trend graph.
Customizing Report
                 SpyGlass enables you to customize your Dashboard report in following
                 ways:
                  Including Product-Specific Data in the Report
                     Displaying Pre-Existing Product Data
                     Displaying Custom Product/Rule Data
                  Customizing the Report Header
504
                                            Synopsys, Inc.                              Feedback
                                                                   Working with Aggregated Reports
                                                                                              505
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
506
                                            Synopsys, Inc.                              Feedback
                                                                   Working with Aggregated Reports
                                                                                              507
Feedback                                    Synopsys, Inc.
Working with Aggregated Reports
                 You can specify HTML tags in the REPORT TITLE and REPORT_LABEL
                 variable to link to other reports or web content:
508
                                             Synopsys, Inc.                              Feedback
                                                                    Working with Aggregated Reports
 Managing Reports
                 You can perform following tasks to manage the generated Dashboard
                 Report:
                  Archiving and Managing Data Generated After Running Goals
                  Generating the HTML Goal Summary Page
 Archiving Data
                 To archive data files, set the ARCHIVE_RUN_SUMMARY_FILES
                 environment variable to an area where the data files can be archived for
                 future use.
                 While generating the DashBoard report, if this environment variable set and
                 if there are any archived files, the report generator considers data from the
                 archived files present at a path specified by this environment variable.
                                                                                               509
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 This dialog displays data for each goal run based on the information
                 present in a configuration file.
                 Removing Archived Data from the Common Storage Area
                 You can select data from the Manage archived goal run results dialog and
                 remove it from the common storage area.
                 To remove the required data displayed in a particular row in this dialog,
                 perform the following steps:
510
                                           Synopsys, Inc.                             Feedback
                                                                 Working with Aggregated Reports
                         Link to Goal
                         Summary Pages
                                                                                            511
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
                 When you click the power_est_average link in the above report, the
                 following goal summary page is displayed:
512
                                            Synopsys, Inc.                        Feedback
                                                                    Working with Aggregated Reports
 Results Summary
                 This section provides the following information:
                  Goal Run: The name of the goal that was run
                  Top Module: Top module name
                  Report Directory: The standard reports directory that contains the
                    text report files.
                  Log File: The SpyGlass log file that is generated when a goal is run. The
                    path of the log file appears as a hyperlink and selecting the link opens
                    the log file in a separate window.
 Standard Reports
                 This section shows all default text reports that are generated as part of the
                 goal run. The report names appear as hyperlinks and clicking on the link
                 open the reports.
 Technology Reports
                 This section shows all the product-specific reports. You can click on a report
                 link to open the report in a separate window.
                 Following figure illustrates a user-selected technology report content when
                 the pe_summary report link is selected.
                                                                                               513
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
Technology Summary
                 If the products specify to present some summary corresponding to the
                 goal, it will be shown here with hyper links to the appropriate reports that
514
                                           Synopsys, Inc.                             Feedback
                                                                  Working with Aggregated Reports
                                                                                             515
Feedback                                   Synopsys, Inc.
Working with Aggregated Reports
Goal Summary
Goal Summary
                 Goal Summary provides information on all the executed goal summaries
                 for the current Project.
                 By default, SpyGlass prepares necessary individual goal summary data as
                 part of each goal run and after completing all goal execution in the project,
                 SpyGlass consolidates data and generates the goal summary.
                 The Goal Summary, by default, displays the first goal result as shown in
                 the following figure:
                 You can chose other goals using the Change Goal drop-down list available
                 on the top-right corner of the report to open the respective goal summary
                 pages in new tabs.
                 For more information on sections of the Goal Summary, see Generating the
                 HTML Goal Summary Page.
                 To create the Goal Summary, SpyGlass uses the dashboard license. If the
516
                                           Synopsys, Inc.                             Feedback
                                                                Working with Aggregated Reports
Goal Summary
                license is not available an empty report is displayed. You can also disable
                goal summary generation using the following command:
                set_option disable_html_report {html}
                The Goal Summary is generated, by default, at the following location after
                the project analysis:
                <project work directory>/html_reports/goals_summary.html
                You can also launch the report by selecting the Analyze Results stage and
                selecting the Reports-> HTML Report option in the main menu of
                SpyGlass Atrenta Console as shown in the following figure:
                                                                                           517
Feedback                                  Synopsys, Inc.
Working with Aggregated Reports
518
                                           Synopsys, Inc.                                  Feedback
       Appendix
                                                                                 519
                                     Synopsys, Inc.
Appendix
520
                                                Synopsys, Inc.                                 Feedback
                                                                                        Appendix
                                                                                             521
Feedback                                     Synopsys, Inc.
Appendix
             project file.
             For NCSim, the default is VHDL (IEEE Std 1987) while for SpyGlass it is
             VHDL (IEEE Std 1993). To avoid ambiguity, set the appropriate language
             standard explicitly:
             set_option 87 yes
             or
             set_option 87 no
             Translation for NCSim option exceptions:
           4. DC scripts
             The following commands in DC scripts (initial setup files for DC) should
             be translated into an Atrenta Console project command:
             define_design_lib L1 -path ./L1_path ' define_library_map
             L1 ./L1_path
522
                                    Synopsys, Inc.                                 Feedback
                                                                                            Appendix
                                                                                                 523
Feedback                                       Synopsys, Inc.
Appendix
           NOTE: For using environment variables in the project file, standard Tcl syntax is supported.
                 For example, use $env(DIR) to access a environment variable named DIR.
<type>
                   Specifies the type of source file. The type can be any of the following:
                    Value           Description
                    sourcelist      Specifies the source files in .spp or .f format
                    verilog         Specifies the Verilog (.v) files
                    vhdl            Specifies the VHDL (.vhdl/.vhd) files
                    def             Specifies the design exchange format (.def) files
                    sglib           Specifies the SpyGlass library (.sglib) files
                    gateslib        Specifies the gates library (.gateslib) files
                    lef             Specifies the library exchange format (.lef) files
                    plib            Specifies the power library (.plib) files
                    sgdc            Specifies the SpyGlass Design Constraints (.sgdc) files
                    waiver          Specifies the waiver files
<file-name>
                   Name of the source file.
524
                                                Synopsys, Inc.                                    Feedback
                                                                                                   Appendix
 <logical-lib-name>
                    Specifies the logical name of the library.
 <directory-path>
                    Specifies the path to the directory where the library is located.
                    The set_option libhdlfiles command is used to specify a mapping
                    between the logical library and its HDL files. This option needs to be
                    specified in the order of dependency of the libraries being compiled.
                    The set_option         libhdlfiles command accepts the following
                    values:
 <logical-lib-name>
                    Specifies the logical name of the library.
 <file-list>
                    Specifies the list of HDL files.
                                                                                                        525
Feedback                                          Synopsys, Inc.
Appendix
Reference Guide.
Specifying a Report
                   You can specify reports and their formats by using various options of the
                   set_option command, as discussed below:
                    The following command specifies the name of the report to be
                      generated:
                      set_option report <name>
           NOTE: This option is applicable for all goals that you specify in the Goal Setup Section. So
                 if any goal specified in the Goal Setup Section does not generate the report
                 specified by the set_option report <name> command, SpyGlass reports a fatal
                 violation. In such cases, use the set_goal_option report <name> command in the
                 Goal Setup Section to specify the name of goal-specific reports.
                    The following command specifies the name and location of the report
                      file:
                      set_option reportfile <file-name>
                    The following command specifies the maximum number of messages for
                      sorted reports (simple, moresimple, and waiver reports):
                      set_option report_max_size <value>
                    The following command specifies the report style:
                      set_option report_style <style-name>
                      Here, the   <style-name> argument can accept any of the following
                      values:
                    Value                Description
                    flat                 Displays the report in an ungrouped format.
                    grouped              Groups the content of the report (for example, by goals).
                    display_msgid        Enables the display of the message index column in the
                                         reports.
                    hide_msgid           Hides the message index column in the reports
                    display_rulegroup    Allows grouping of rule messages in the reports by rule
                                         group.
526
                                                Synopsys, Inc.                                  Feedback
                                                                                                  Appendix
                        Value               Description
                        display_sdcgroup    Groups messages of the sdc_data based rules in the
                                            SpyGlass Constraints solution based on the sdc_data
                                            specified in the SGDC file.
                        hide_rulegroup      Disallows grouping of rule messages by rule group in the
                                            report.
                        display_taggroup    Groups messages of the Ac_sync_group rules of SpyGlass
                                            CDC solution based on instance names or user-specified
                                            names.
                                                                                                       527
Feedback                                          Synopsys, Inc.
Appendix
            Value                Description
            <language>                                                 Verilog,
                                 Refers to the rule language, which can be
                                 VHDL, or Mixed. The rule for which message sorting
                                 order is being defined must be registered for the specified
                                 language. If the rule is specified for both languages, you
                                 can optionally specify only one of the languages if you
                                 want to specify the message sorting order for only that
                                 language.
            <rule-name>          Refers to the rule name
            <sort-order>         Refers to the user-defined sort order. This value is specified
                                 in the following format:
                                 <arg-number><arg-type><arg-sort-
                                 order>
            Details of the <sort-order> value
            <arg-number>         Refers to the argument number
                                 To get the argument number, refer the rule message goal
                                 in the product ruledeck file. For example, the LPFSM16 rule
                                 of the SpyGlass Power Verify solution has the following
                                 message goal:
                                                 Attribute '%1' found on
                                                 enumerated type '%2' used for
                                                 encoding FSM states
                                 Therefore, the first argument is the attribute name and is
                                 specified as 1. The second argument is the state variable
                                 name and is specified as 2.
                                 Refer to the corresponding rules reference document for
                                 an explanation of the rule message arguments.
            <arg-type>           Refers to the argument type
                                 Argument types can be string (specified as s), numerals
                                 (specified as n), and enumerated types (specified as e).
            <arg-sort-order>     Refers to the argument value sorting order as ascending
                                 (specified as a) or descending (specified as d)
528
                                      Synopsys, Inc.                                    Feedback
                                                                                            Appendix
                    follows:
                    1. First, sort the messages by 2sa, that is, sort by the value of the second
                        argument (2) which is a string argument (s) in ascending order (a).
                    2. For messages with the same second argument value, sort by 1nd, that
                        is, sort by the first argument (1) which is a numeral argument (n) in
                        descending order (d).
                    3. For messages with the same first argument value, sort by 3e/val1/
                        val2/val3, that is, sort by the third argument (3) which is an
                        enumerated type argument (e) based argument values val1, val2,
                        and val3 in that order.
                    In addition to the argument-based sorting orders described above, you can
                    specify message sorting order by file (specified as f) and by line number
                    (specified as l), both in either ascending order (specified as a) or
                    descending order (specified as d). Thus, fd means to sort the messages by
                    file name in descending order. And la means to sort by line number in
                    ascending order.
                    Consider the sortrule specification in the above example with addition
                    values as follows:
                    set_option sortrule Verilog+R1+2sa+1nd+3e/val1/val2/
                    val3+fd+la
                    This specification means that any sorting after the argument-based sorting
                    will be done first by file names in descending order and then by line
                    numbers in ascending order.
                    By default, the argument values are sorted in a case-sensitive manner.
                    Specify i (for ignore case) to indicate that the argument values are to be
                    sorted in a case-insensitive manner. Consider the following example:
                    set_option sortrule Verilog+R1+2sai+1nd+3e/val1/val2/
                    val3+fdi+la
                    The above specification indicates that argument-based sorting indicated by
                    2sa and file-based sorting indicated by fd should be performed in a case-
                    insensitive manner.
                                                                                                529
Feedback                                      Synopsys, Inc.
Appendix
<goal_path_and_name>
                  (Mandatory) The relative path of the location where the goal is located.
-top <module_name>
                  (Optional) Name of the top-module. The <module-name> option defines
                  the goal settings for the given top module only.
-alltop
                  (Optional) Use this option to define goal settings for cases in which no top-
                  level design unit is specified, and goals are run for all top-level design units
                  found in a design.
           NOTE: If you do not specify any of the   -top or -alltop option in batch, goal settings
                  are defined for a top module specified by the  set_option top command in
                  the project file. However, if the set_option top command is also missing in
                  the project file, Atrenta Console considers the behavior of -alltop option, that
                  is, goal settings are defined for all the top modules.
                  While saving a project file, the current_goal command is always written with
                  either -top <top> or -alltop in the project file so that the settings remain a
                  part of the current top, even if the user changes a top-level design unit for the
                  project file.
                  For more information on the Tcl-based usage of the current_goal
530
                                              Synopsys, Inc.                                Feedback
                                                                                         Appendix
set_option top T1
                        current_goal G1 -top T1
                        set_parameter fa_modulelist {M1 M2}
                        current_goal G1 -top T2
                        set_parameter fa_modulelist {M3 M4}
                        current_goal G1 -alltop
                        set_parameter fa_modulelist {M1 M2 M3 M4}
current_goal G1 -top T1
                                                                                              531
Feedback                                       Synopsys, Inc.
Appendix
              current_goal G1 -top T2
              set_parameter fa_modulelist {M3 M4}
              current_goal G1 -alltop
              set_parameter fa_modulelist {M1 M2 M3 M4}
             Consider the following case in which both the set_option top and -
              alltop commands are specified:
              //Project-1.prj
              set_option top T1
              current_goal G1 -alltop
              set_parameter fa_modulelist {M1 M2 M3 M4}
<option>
            (Mandatory) Specifies the name of the option, such as   report,
            sdc2sgdcfile, sdc2sgdc, etc.
<value>
            Specifies the value of the option.
532
                                      Synopsys, Inc.                              Feedback
                                                                                                 Appendix
 Specifying a Parameter
                    The command to setup a parameter is as follows:
                    set_parameter <param-name> <value>
                    Where:
 <param-name>
                    Name of the parameter
 <value>
                    Value of the parameter
           NOTE: The names of the parameter and their values are as they exist currently. Sanity
                 check is not performed on parameter arguments.
                                                                                                      533
Feedback                                          Synopsys, Inc.
Appendix
<goal_name>
           (Mandatory) Specifies the name of the custom goal.
-policy <product_list>
           (Optional) Specifies a list of products that should be a part of the custom
           goal.
<goal_settings>
           Specifies goal-specific settings or options, such as rules, parameters,
           overload-rule, reports, and so on. The settings must be specified within
           brackets.
           The following is an example of using this command:
           define_goal CUSTOM_GOAL_1 -policy { lint } {set_parameter abc
           def}
534
                                     Synopsys, Inc.                              Feedback
                                                                             Appendix
                                                                                 535
Feedback                                   Synopsys, Inc.
Appendix
536
                                    Synopsys, Inc.                                  Feedback
                                                                                             Appendix
           NOTE: The three_state and       x_function attributes are supported for sequential
                 cells.
                   You are expected to supply the synthesizable RTL description from other
                   sources (including manual creation) for these problem cells while analyzing
                   the design with SpyGlass.
                   Sequential Cells not Compiled
                   The following types of sequential cells are not compiled:
                    Sequential memory cells
                    Sequential black box cells
                    Sequential cells with the clocked_on_also attribute
                    Sequential cells with the enable_also attribute
                    Flip-flop or FlopBank cells without clocked_on and next_state
                      attributes
                    Sequential cells with bus/bundle attribute on control signals
                    Sequential cells with both bus and bundle attribute on a pin
                    Latch or LatchBank cells where data and enable pins are not specified
                      together
                    Sequential cells without at least one of clear, preset, or data pins
                    Sequential cells without at least one primary output
                   State-table Cells not Compiled
                    Cells with multiple clocks are not compiled. However, state-table cells
                      representing multiple flip-flops, multiple latches, or a combination of
                      flip-flops and latches driven by independent clocks are compiled.
                                                                                                  537
Feedback                                     Synopsys, Inc.
Appendix
538
                                     Synopsys, Inc.                                Feedback
                                                                                       Appendix
                   2. Precompile L2:
                      read_file -type hdl {rtl_3.vhd rtl_4.v}
                      set_option enable_precompile_vlog yes
                      set_option lib L1 lib2
                      set_option work L2
                   3. Precompile L3:
                      read_file -type hdl rtl_dir/*
                                                                                           539
Feedback                                           Synopsys, Inc.
Appendix
540
                                      Synopsys, Inc.                                     Feedback
                                                                                         Appendix
                                                                                             541
Feedback                                           Synopsys, Inc.
Appendix
542
                                              Synopsys, Inc.                                     Feedback
                                                                                              Appendix
                   For example, consider that there are four design files, namely        f1.v, f2.vhd,
                   f3.v and top.vhd that are being analyzed as follows:
                   read_file -hdl f1.v f2.vhd f3.v top.vhd
                   <other-options>
                   Further assume that f1.v has design units mid1 and mid2, where mid2 is not
                   part of the top-level hierarchy. In this case, any parsing-related message
                   will also not be reported on mid2.
                   Now, in single-step precompilation and use flow, if we precompile these
                   files in two libraries L1 and L2 as follows, then the parsing messages would
                   be reported on mid2 also, even if it is not part of the top-level hierarchy.
                   set_option libhdlfiles L1 {f1.v f2.vhd}
                   set_option libhdlfiles L2 {f3.v top.vhd}
                   set_option top top
                   <other-options>
           NOTE: Parsing messages are reported on complete input RTL files being precompiled,
                 because that is the behavior when you precompile it through separate SpyGlass
                 precompilation run for each library, that is, not using the single-step precompilation
                 feature.
                                                                                                    543
Feedback                                           Synopsys, Inc.
Appendix
544
                                     Synopsys, Inc.                                 Feedback
                                                                                          Appendix
                                                                                              545
Feedback                                         Synopsys, Inc.
Appendix
546
                                    Synopsys, Inc.                                 Feedback
                                                                                     Appendix
                                                                                         547
Feedback                                         Synopsys, Inc.
Appendix
548
                                    Synopsys, Inc.                                 Feedback
                                                                                     Appendix
                                                                                           549
Feedback                                         Synopsys, Inc.
Appendix
550
                                   Synopsys, Inc.                                 Feedback
                                                                                          Appendix
                                                                                                551
Feedback                                         Synopsys, Inc.
Appendix
552
                                    Synopsys, Inc.                                 Feedback
                                                                                          Appendix
                                                                                              553
Feedback                                         Synopsys, Inc.
Appendix
554
                                    Synopsys, Inc.                                 Feedback
                                                                              Appendix
                                                                                  555
Feedback                                      Synopsys, Inc.
Appendix
           initial_rtl/lint/simulation*
           initial_rtl/lint/synthesis*
           initial_rtl/lint/structure*
           initial_rtl/audit/block_profile*
           !HIDE initial_rtl/audit/rtl_audit*
           !HIDE initial_rtl/audit/structure_audit*
           !HIDE initial_rtl/audit/datasheet_io_audit*
           !HIDE initial_rtl/clock_reset_integrity/power_gated_clock*
           initial_rtl/clock_reset_integrity/clock_reset_integrity*
           initial_rtl/constraint/sdc_quick_check*
           initial_rtl/constraint/sdc_coverage*
           initial_rtl/constraint/clock_consis* PREREQ: initial_rtl/
           constraint/sdc_quick_check
           !HIDE initial_rtl/constraint/io_delay* PREREQ: initial_rtl/
           constraint/clock_consis
           !HIDE initial_rtl/constraint/combo_path_check* PREREQ:
           initial_rtl/constraint/io_delay
           !HIDE initial_rtl/constraint_generation/gen_sdc* PREREQ:
           initial_rtl/constraint/sdc_quick_check
           !HIDE initial_rtl/power/activity_check*
           initial_rtl/power/power_pre_reduction*
556
                               Synopsys, Inc.                     Feedback
 List of Topics
                                                                                                               557
Feedback                                             Synopsys, Inc.
Compiling HDL Files into a Library................................................................. 131
Compiling Libraries in Mixed-Language Designs .............................................. 146
Compiling the Set of Verilog and SystemVerilog Files Separately ....................... 167
Compiling Verilog Files Containing SystemVerilog Keywords ............................. 167
Conditionally Specifying SGDC Constraints ..................................................... 320
Conditions for Auto-Compilation of Gate Libraries............................................ 139
Configuring a Methodology........................................................................... 244
Configuring Columns ..................................................................................... 51
Conflict Resolution at Block-Level.................................................................. 355
Conflict Resolution at Top-Level .................................................................... 353
Congestion ................................................................................................ 460
Constraints Migrated From Block-Level to Chip-Level ....................................... 347
Constraints ................................................................................................ 456
Contents of This Book ................................................................................... 18
Controlling the RTL Synthesis Engine............................................................. 208
Converting SDC Attributes into SGDC Commands............................................ 331
Copying a Methodology ............................................................................... 287
Copying and Inheriting Methodologies ........................................................... 287
Copying Goals ............................................................................................ 256
Creating a Configuration File ........................................................................ 437
Creating a Configuration File ........................................................................ 469
Creating a Methodology ............................................................................... 246
Creating a Migration File .............................................................................. 346
Creating a Project File ................................................................................. 523
Creating a Sub-Methodology ........................................................................ 249
Creating a Waiver File ................................................................................. 372
Creating an SGDC File ................................................................................. 306
Creating and Modifying a Methodology........................................................... 246
Creating and Modifying a Sub-methodology.................................................... 249
Creating Custom Methodologies.................................................................... 269
Creating Encrypted Library Dump ................................................................. 154
Creating Goal-Based Waiver......................................................................... 372
Creating Goals ........................................................................................... 251
Creating Scenarios...................................................................................... 112
Creating the Success Criteria File .................................................................. 473
Cross-probing from the Msg Tree Page .......................................................... 126
Current Limitation with Mixed-language Designs in SpyGlass ............................ 190
Customizing Goals ...................................................................................... 269
Customizing Report..................................................................................... 504
Customizing the Report Header .................................................................... 507
Data Import Section.................................................................................... 524
558
                                                 Synopsys, Inc.                                             Feedback
 Debugging Issues in Gate Libraries ............................................................... 148
 Default Paths of Aggregated Reports ............................................................. 421
 Defining a Logical Library ............................................................................ 131
 Defining a Scope for Constraints................................................................... 307
 Defining and Using Variables........................................................................ 315
 Defining Variables ...................................................................................... 315
 Deleting a Tag ........................................................................................... 415
 Deleting Goals ........................................................................................... 256
 Design Results ........................................................................................... 121
 Design Setup Stage ...................................................................................... 28
 Design Statistics ........................................................................................ 458
 Details of the DashBoard Report ................................................................... 493
 Details of the DataSheet Report ................................................................... 449
 Details of the waive Constraint ..................................................................... 386
 Details Present in a Goal File........................................................................ 231
 Determining Parameter Precedence ................................................................ 93
 Difference between Ignored and Stopped Design Units .................................... 221
 Directory Structure Created After Running a Scenario...................................... 115
 Displaying the New Goals Dialog................................................................... 253
 Dragging and Dropping Sub-Methodologies and Goals ..................................... 264
 Editing Files ................................................................................................. 47
 Editing Source Files .................................................................................... 117
 Effects of Selected Messages in the Schematic ............................................... 365
 Effects of Waiving Messages ........................................................................ 375
 Enabling the DesignWare Flow ..................................................................... 193
 Enabling the Feature................................................................................... 207
 Enabling the SDC-to-SGDC Translation Feature .............................................. 331
 Enabling/Disabling a Goal ............................................................................ 259
 Enabling/Disabling Rules of a Parent Goal ...................................................... 280
 Encrypting IPs by Using the spyencrypt Utility ................................................ 171
 Encrypting IPs Spread Across a Hierarchical Directory Structure ....................... 175
 Example of a Tcl-based Project File ............................................................... 534
 Example of Using the SG_OPERATING_MODE Variable..................................... 322
 Examples of Instantiating VHDL Design Units in Verilog Modules ....................... 187
 Examples of Using the waive Constraint ........................................................ 389
 Existing Waiver Support in SpyGlass ............................................................. 412
 Features of Single Step Precompilation .......................................................... 540
 File Generated in GUI.................................................................................... 32
 Files Generated to Support Special Features..................................................... 33
 Files/Directories Created in Atrenta Console ..................................................... 30
 Files/Directories Generated by Default............................................................. 32
                                                                                                                  559
Feedback                                              Synopsys, Inc.
Format of an Order File ............................................................................... 299
Generated Hierarchical SGDC File(s) ............................................................. 348
Generating a Precompiled Library ................................................................. 135
Generating Aggregated Project Results .......................................................... 422
Generating Dashboard Report in GUI............................................................. 467
Generating Dashboard Report ...................................................................... 464
Generating Hierarchical SGDC File................................................................. 348
Generating SGDC Commands as a Part of Design Read .................................... 342
Generating SGDC Commands as a Part of Goal Run......................................... 342
Generating the DashBoard Report in Batch..................................................... 465
Generating the DashBoard Report through Project File..................................... 465
Generating the DataSheet Report in Batch ..................................................... 443
Generating the DataSheet Report in GUI........................................................ 435
Generating the Datasheet Report through a Project File ................................... 444
Generating the HTML Goal Summary Page ..................................................... 511
Generating the Project Summary Report ........................................................ 426
Generating the Report through a Project File .................................................. 427
Generating the Report through GUI............................................................... 426
Goal Files .................................................................................................. 230
Goal Setup and Run Stage ............................................................................. 28
Goal Setup Section ..................................................................................... 529
Goal Summary ........................................................................................... 516
Goals That Do Not Use Default Parameter Value ............................................. 544
GUI Details .................................................................................................. 26
GuideWare Reference Methodology ............................................................... 234
Handling Directional Clocks .......................................................................... 339
Handling Duplicate Constraint Specifications................................................... 318
Handling False Paths ................................................................................... 338
Handling for-generate Constructs.................................................................. 359
Handling Interdependencies between Different Arguments ............................... 311
Handling Internal Messages ......................................................................... 417
Handling Language Warning Messages .......................................................... 416
Handling Multi-cycle Paths ........................................................................... 339
Handling Mutually Exclusive Clocks ............................................................... 339
Handling Nets Declared in a Sequential Block ................................................. 319
Handling of Generated Clocks....................................................................... 336
Handling Out of Memory Situations ............................................................... 205
Handling SpyGlass Built-In Messages ............................................................ 416
Handling SV Structure or Union .................................................................... 358
Handling Syntax Error Messages ................................................................... 416
Handling Synthesis Error Messages ............................................................... 417
560
                                                  Synopsys, Inc.                                             Feedback
 Handling Synthesis Warning Messages .......................................................... 416
 Handling SystemVerilog Interface Containing a Modport .................................. 357
 Handling SystemVerilog Interface Port/Terminal ............................................. 357
 Handling SystemVerilog Objects in SGDC....................................................... 357
 Handling Unsaved Changes in Waiver Files..................................................... 374
 Identifying Common Syntax Errors and Issues ................................................. 59
 Identifying Modules .................................................................................... 206
 Ignoring Files and Design Units From SpyGlass Analysis .................................. 220
 Ignoring Files Containing Design Units........................................................... 221
 Ignoring Files from SpyGlass Analysis ............................................................. 50
 Ignoring Individual Design Units ................................................................... 222
 Ignoring the SpyGlass Waiver Pragmas ......................................................... 411
 Impact of the addrules Option While Using Pre-compiled Dump ........................ 159
 Impact of the Feature ................................................................................. 207
 Impact of the ignorerules Option While Using Pre-compiled Dump ..................... 159
 Implementing Scoping in SGDC Commands ................................................... 351
 Implications After Stopping Design Units ....................................................... 217
 Importing Block-Level SGDC Commands to Chip-Level .................................... 346
 Importing Goals ......................................................................................... 255
 Including a Waiver File in Another Waiver File ................................................ 375
 Including an SGDC File in Another SGDC File.................................................. 312
 Including and Inheriting GuideWare Goals ..................................................... 269
 Including HDL Files in the Logical Library ....................................................... 133
 Including Product-Specific Data in the Report ................................................. 505
 Including/Inheriting Goals in a Goal File ........................................................ 270
 Including/Inheriting Goals in the MCS Window................................................ 277
 Incremental Mode Analysis .......................................................................... 108
 Inferring Black Boxes .................................................................................. 200
 Inferring cdc_false_path for Clocks in Different Domains.................................. 334
 Inferring Language from File Extension During Compilation .............................. 161
 Inheriting a Methodology ............................................................................. 288
 Instantiating as Component Instance ............................................................ 182
 Instantiating as Entity Instance .................................................................... 184
 Instantiating Verilog Modules in VHDL Architectures ........................................ 182
 Instantiating VHDL Design Units In Verilog Modules ........................................ 186
 Interpreting Synthesis Pragmas.................................................................... 209
 Interpreting Synthesis Pragmas.................................................................... 210
 Introducing Goals ......................................................................................... 21
 Introducing Methodologies ............................................................................. 22
 Introducing the Incremental Mode Feature..................................................... 118
 Introducing the Use Model for IP Encryption in SpyGlass .................................. 170
                                                                                                              561
Feedback                                             Synopsys, Inc.
Invoking Atrenta Console Graphical User Interface ............................................ 24
Invoking Atrenta Console on a 64-bit Machine .................................................. 25
IO Definitions............................................................................................. 451
Language-Specific Behavior While Specifying a Top-Level Module...................... 215
Library Searching Mechanism ....................................................................... 142
Licensing Requirements ............................................................................... 464
Limitations................................................................................................. 344
Limiting Analysis of Memories....................................................................... 208
Limiting the Number of Messages Generated .................................................. 369
Limiting the Number of Messages Reported for a Rule...................................... 369
List of DesignWare Modules Supported in SpyGlass ......................................... 195
Loading the Previous Session ......................................................................... 24
Makefile Based Support in Step Precompilation ............................................... 541
Managing Datasheet and Dashboard Reports .................................................. 518
Managing Reports....................................................................................... 509
Managing the Design Hierarchy .................................................................... 212
Map File .................................................................................................... 302
Mapping a File Extension with a Compilation Language .................................... 160
Mapping between VHDL Generics and Verilog Parameters................................. 189
Mapping Data Types ................................................................................... 189
Mapping File Extensions................................................................................. 45
Merging the Differences............................................................................... 286
Messages Affecting Multiple Source Lines/Files................................................ 367
Methodology Used by Atrenta Console ............................................................. 22
Migrating Custom Goals............................................................................... 291
Migrating Goals .......................................................................................... 297
Modifying a Goal........................................................................................... 67
Modifying a Methodology ............................................................................. 248
Modifying a Sub-Methodology....................................................................... 251
Modifying a Tag.......................................................................................... 414
Modifying and/or Deleting Scenarios.............................................................. 114
Modifying Goal Properties ............................................................................ 257
Modifying Goals .......................................................................................... 256
Modifying Parameters of a Goal .................................................................... 263
Module Dashboard ...................................................................................... 500
Multiple Lines Affected in Different Source Files .............................................. 368
Multiple Lines Affected in the Same Source File............................................... 368
Multiple Messages Selected .......................................................................... 368
Multiple Top-Level Design Units .................................................................... 214
Naming and Mapping Verilog Libraries ........................................................... 141
Naming Convention of a Goal File ................................................................. 230
562
                                                  Synopsys, Inc.                                             Feedback
 Order File .................................................................................................. 298
 Overview................................................................................................... 129
 Overview..................................................................................................... 21
 Overview................................................................................................... 229
 Overview................................................................................................... 303
 Overview..................................................................................................... 35
 Overview................................................................................................... 363
 Overview................................................................................................... 419
 Parsing SGDC Files ..................................................................................... 327
 Performing Hierarchical Rule-Checking in 'celldefine Modules ............................ 227
 Performing Rule-Checking on 'celldefine Modules ............................................ 226
 Performing Sanity Checks for Parameters ...................................................... 101
 Performing Syntax Checking in SGDC Files..................................................... 327
 Performing Version Control ............................................................................ 46
 Power Clocks ............................................................................................. 455
 Power Results ............................................................................................ 125
 Power ....................................................................................................... 454
 Precompiling Multiple Libraries in a Single SpyGlass Run .................................. 539
 Precompiling Verilog Libraries ...................................................................... 140
 Prerequisites for Enabling DesignWare Flow ................................................... 192
 Preserving all instances and nets in a design .................................................. 209
 Processing of SGDC Files ............................................................................. 327
 Processing SpyGlass Design and Waiver Pragmas ........................................... 328
 Project Current Working Directory .................................................................. 31
 Project File Details...................................................................................... 523
 Project File .................................................................................................. 30
 Project Summary Report ............................................................................. 426
 Project Working Directory .............................................................................. 30
 Rearranging HDL Files................................................................................... 46
 Recognizing Clocks ..................................................................................... 330
 Recommended Goals for Generating DataSheet Report .................................... 446
 Reporting Messages at Module Boundary ....................................................... 206
 Reset Trees ............................................................................................... 453
 Returning Back to the Goal Setup & Run Stage ............................................... 118
 Reusing Netlist of DesignWare Modules during SpyGlass Analysis ...................... 194
 Re-using Simulation Scripts ......................................................................... 521
 Running Custom Goals .................................................................................. 72
 Running Design Read in Batch........................................................................ 58
 Running Design Read in GUI .......................................................................... 55
 Running Design Read .................................................................................... 55
 Running Goals in Parallel ............................................................................... 72
                                                                                                                  563
Feedback                                              Synopsys, Inc.
Running Prerequisite Goals .......................................................................... 109
Running Scenarios ...................................................................................... 114
Sample Order File ....................................................................................... 555
Saving the Generated SGDC Commands in a File ............................................ 341
Scoping When Design is at the Block-Level..................................................... 354
Scoping When Design is at Top-Level ............................................................ 352
Searching for Input Files.............................................................................. 420
Searching Instances...................................................................................... 62
Searching Master Instance in Mixed-Language Mode ....................................... 147
Selecting a Custom Methodology .................................................................. 281
Selecting a Goal ........................................................................................... 65
Selecting Auxiliary Messages without Selecting a Main Message ........................ 367
Selecting Non-Static Auxiliary Messages ........................................................ 366
Selecting Static Auxiliary Messages ............................................................... 366
Selection of Goal Files based on Language Mode ............................................. 232
Sequential Cell Support ............................................................................... 536
Setting a Top-Level Design Unit.................................................................... 213
Setting Default Waiver File........................................................................... 373
Setting Parameters and Constraints for Selected Goal........................................ 93
Setting Stop Files ......................................................................................... 50
Setting Up the Goal in Batch Mode ................................................................ 109
Setting up the Goal....................................................................................... 93
SGDC Convention for Packed Arrays.............................................................. 309
SoC Dashboard .......................................................................................... 493
Specifying a Cache Directory ........................................................................ 139
Specifying a Current Methodology ................................................................. 242
Specifying a List of .sglib Files ........................................................................ 44
Specifying a Reference Environment Variable ................................................. 289
Specifying a Top-level Design Unit ................................................................ 212
Specifying an Active Methodology ................................................................. 238
Specifying an Additional Path ....................................................................... 289
Specifying Compilation Options in a Source File .............................................. 165
Specifying Compressed Verilog Designs ........................................................... 44
Specifying Configuration Name with current_design Command ......................... 310
Specifying Details in the New Goal Dialog ...................................................... 253
Specifying Encrypted Files for SpyGlass Analysis ............................................. 177
Specifying Encrypted Files through a Project File ............................................. 180
Specifying Encrypted Files through GUI ......................................................... 177
Specifying Files in the Order of Their Dependencies ......................................... 166
Specifying Functionality Information of Gate Cells ............................................. 42
Specifying Modes in Which Libraries Should be Compiled.................................. 130
564
                                                 Synopsys, Inc.                                            Feedback
 Specifying Multiple current_design Specifications for a Design Unit.................... 309
 Specifying Multiple Technology Libraries of the Same Name ............................. 150
 Specifying Multiple Values for a Constraint Argument ...................................... 311
 Specifying Optional Environment Variables....................................................... 23
 Specifying Path of DesignCompiler Installation ............................................... 192
 Specifying Pragmas in HDL Code .................................................................. 199
 Specifying Precompiled Libraries for SpyGlass Analysis .................................... 149
 Specifying SGDC Files to SpyGlass ................................................................ 305
 Specifying Signal Names based on Design Hierarchy ....................................... 313
 Specifying Signal Names based on Signal Types ............................................. 313
 Specifying Signal Names ............................................................................. 313
 Specifying the Mode of an SDC File ............................................................... 341
 Specifying the Mode of Domain Inference ...................................................... 333
 Specifying Verilog Libraries by Using the 'uselib Statement .............................. 146
 SpyGlass CDC Solution Results..................................................................... 122
 SpyGlass Constraints Solution Results ........................................................... 122
 SpyGlass DFT Solution Results ..................................................................... 124
 SpyGlass TXV Solution Results ..................................................................... 122
 Stage 1: Setting up the Design (Design Setup)................................................. 36
 Stage 2: Selecting a Goal (Goal Setup & Run) .................................................. 64
 Stage 3: Analyzing a Design (Analyze Results) ............................................... 116
 Starting a New Session ................................................................................. 24
 Stopping Black Box Analysis ........................................................................ 204
 Stopping Design Units ................................................................................. 216
 Structure of a Project File ............................................................................ 523
 Structure of Precompiled Verilog Libraries ...................................................... 142
 Structure of the GuideWare Reference Methodology ........................................ 234
 Support for Hierarchical Waivers................................................................... 400
 Support for Virtual Clocks in sdc2sgdc Flow.................................................... 343
 Supported HDL Directives ............................................................................ 519
 Supported Library Cells ............................................................................... 536
 Supported Pragmas for Verilog ..................................................................... 199
 Supported Pragmas for VHDL ....................................................................... 199
 Switching to the Old Dashboard Report ......................................................... 515
 Syntax of the waive Constraint..................................................................... 382
 Tagging Messages ...................................................................................... 413
 Tcl Format Support in the Configuration File................................................... 440
 Tcl Format Support in the Configuration File................................................... 471
 Testability ................................................................................................. 457
 The DashBoard Report ................................................................................ 462
 The DataSheet Report................................................................................. 433
                                                                                                                 565
Feedback                                              Synopsys, Inc.
The Methodology Configuration System ......................................................... 109
Timing ...................................................................................................... 459
Tips for Debugging Syntax Errors.................................................................... 60
Translating set_clock_sense command .......................................................... 340
Translating set_disable_timing command....................................................... 340
Translating set_mode command ................................................................... 341
Typographical Conventions ............................................................................ 19
Understanding Different Flows for Using This Feature ...................................... 342
Understanding the Black Box Inference Feature .............................................. 201
Updating Rules of a Goal ............................................................................. 259
Using DesignWare Functions ........................................................................ 198
Using Encrypted Library Dump ..................................................................... 155
Using File Extension Based Compilation Flow .................................................. 168
Using Intermediate Logical Library Name Support in VHDL ............................... 151
Using Regular Expressions and Wildcard Characters ........................................ 390
Using the active_methodology Option............................................................ 241
Using the AUTOENABLE_GATESLIB_AUTOCOMPILE Key ................................... 138
Using the Black Box Inference Feature........................................................... 202
Using the Corrected Inferred Information....................................................... 204
Using the Dual Design Read (DDR) Flow ........................................................ 101
Using the enable_gateslib_autocompile Option ............................................... 138
Using the force_gateslib_autocompile Option.................................................. 138
Using the GUI to Automatically Compile Libraries ............................................ 137
Using the Incremental Mode Feature ............................................................. 119
Using the Results Pane to Waive Messages..................................................... 379
Using the SG_OPERATING_MODE Variable ..................................................... 321
Using the Top and Stop Features Together ..................................................... 218
Using the Waiver Editor Window ................................................................... 377
Using Variables .......................................................................................... 315
Using Verilog Constructs ................................................................................ 54
Validating the Generated Hierarchical SGDC File ............................................. 349
Verilog Modules Instantiated in VHDL Design Units .......................................... 147
VHDL Library Design Units Instantiated in Verilog Modules ............................... 147
Viewing and Adding Options for an Included or Inherited Goal .......................... 278
Viewing and Changing Design Read Options ..................................................... 52
Viewing Built-In Messages for Precompiled Libraries ........................................ 156
Viewing CSV Reports................................................................................... 432
Viewing Different Type of Results.................................................................. 120
Viewing Directories Created After Goal Run ...................................................... 81
Viewing Encryption Summary in a Report....................................................... 176
Viewing Goal Summary ............................................................................... 117
566
                                                  Synopsys, Inc.                                             Feedback
 Viewing Include Files .................................................................................... 51
 Viewing Messages after Running Design Read .................................................. 59
 Viewing Order of Goals Defined in an Order File .............................................. 299
 Viewing Reports ........................................................................................... 60
 Viewing Results of Different Scenarios and Goals ............................................ 126
 Viewing Rules and Parameters of Included/Inherited Goals............................... 279
 Viewing Source Files ..................................................................................... 62
 Viewing the DashBoard Report ..................................................................... 492
 Viewing the DataSheet Report...................................................................... 446
 Viewing the HTML Report for Comparison ...................................................... 296
 Viewing the HTML Report............................................................................. 427
 Viewing the Project Summary Report ............................................................ 427
 Virtual to Real Clock Mapping ....................................................................... 344
 Waiver File ................................................................................................ 372
 Waiving Messages by File .............................................................................. 51
 Waiving Messages by Using SpyGlass Pragmas ............................................... 402
 Waiving Messages by Using the waive Constraint ............................................ 381
 Waiving Messages in Waiver/SGDC Files ........................................................ 411
 Waiving Messages through a Project File........................................................ 381
 Waiving Messages through GUI .................................................................... 377
 Waiving Messages ...................................................................................... 371
 Waiving Rule Messages for a Block of Code .................................................... 404
 Waiving Rule Messages for a Single Line of Code ............................................ 406
 Wildcard Support at Block-Level ................................................................... 355
 Wildcard Support at Top-Level ..................................................................... 353
 Working with 'celldefine Modules .................................................................. 226
 Working with Black Boxes............................................................................ 200
 Working with Compressed Gate Library Files .................................................. 153
 Working with DesignWare® Modules............................................................. 192
 Working with Encrypted Compiled Libraries .................................................... 154
 Working with Encrypted Design Files ............................................................. 170
 Working with Mixed-Language Designs .......................................................... 182
 Working with Multiple Messages ................................................................... 365
 Working with Precompiled Libraries............................................................... 130
 Working with Precompiled Verilog Libraries in Mixed Language Mode ................. 143
 Working with Scenarios ............................................................................... 111
                                                                                                                567
Feedback                                              Synopsys, Inc.
568
      Synopsys, Inc.   Feedback