GuideWare UserGuide
GuideWare UserGuide
User Guide
Version 4.4.1
October 2010
Atrenta, Inc.
2077 Gateway Place, Suite 300
San Jose, California 95110
1-408-ATRENTA (1-408-453-3333)
http://www.atrenta.com
Table of Contents
Customizing Methodology........................................................................................... 81
Introduction............................................................................................................................................81
The Methodology Configuration System Window..............................................................................81
Creating a New Methodology ...........................................................................................................83
Creating a New Sub Methodology....................................................................................................84
Creating New Goals .........................................................................................................................85
Importing Goals for a Methodology ..................................................................................................86
Adding Rules in a Goal.....................................................................................................................86
Searching Rules........................................................................................................................87
Modifying Parameter Values for a Goal............................................................................................87
Table of Contents
Appendix........................................................................................................................89
Specifying Hierarchical Waivers ..........................................................................................................89
Optional Rule Selection Guide for GuideWare Basic .........................................................................89
General Functional/Simulation Issues ..............................................................................................89
General Structural Issues .................................................................................................................90
Assignment/Connection Mismatches ...............................................................................................90
Tristates............................................................................................................................................91
casex/casez Constructs....................................................................................................................91
Tasks and Functions.........................................................................................................................91
Flip-flops, Latches, and Associated Signals .....................................................................................92
Potentially Unsynthesizable Constructs ...........................................................................................92
SoC Integration
The above figure shows various stages of design development flow such as new RTL
block development, third party/internal legacy IP selection, and SoC integration. Each
of these stages have their own set of challenges, as listed below:
Challenges Involved During New RTL Block/Subsystem Development
Challenges Involved in the Selection of Third Party or Internal Legacy IP
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Challenges in the Development of SoC Designs
Simulation-synthesis
Synthesis
mismatch Iterative
correction
Low fault coverage Test Cost
Schedule
Power-related issues Power Performance
To prevent a negative impact on the cost, performance, and schedule of the project, you
need to close the design early in the cycle. Atrenta provides you with the industry
standard solution, SpyGlass, for early design closure.
Introducing SpyGlass
Atrenta® SpyGlass® is a powerful and extendible tool for analyzing Hardware
Description Language (HDL) designs.
SpyGlass recognize the issues related with synthesis, simulation, test, power, clocks,
and constraints at an early stage (RTL or Netlist). In addition, it guides you to fix and
optimize your design and constraints that results in:
Fewer synthesis iterations
Higher test coverage
Lower power consumption
Properly implemented clock gating and voltage island strategies
Faster timing closure with correct SDC, false paths, and multi cycle paths
No silicon re-spin due to clock domain crossing issues
SpyGlass can analyze designs written in languages, Verilog (including SV) and VHDL.
In addition, SpyGlass supports mixed-language and DEF designs.
SpyGlass support both RTL and netlist abstraction for analysis.
SpyGlass Features
You can use SpyGlass to perform any of the several industry standard HDL analysis and
assessment programs, including OpenMORE™ and STARC™. You can also use
SpyGlass to analyze HDL source code early in the design stage for syntax, semantic,
and structural content, and perform complex checks later in the development process.
For example, you might initially use SpyGlass to check Register Transfer Level (RTL)
HDL descriptions. Later, you might use it to analyze gate-level designs or designs that
include both RTL and structural descriptions.
SpyGlass provides the following features:
Support for Verilog (including SV) and VHDL
Support for rich suite of built-in rules including the following checks:
File checks such as file names, design units per file, and headers
Naming checks on signals, ports, parameters, constants, clocks and other
constructs
Fields of Use
In the SoC design development flow process, GuideWare reference methodology
classifies GuideWare into the following fields of use:
Field of use 2
VERIFICATION
TAPE OUT
Each field of use addresses the design goals that are specific to that activity. Each design
goal is directly addressed by a pre-packaged SpyGlass goals. These goals have been
tested and fine-tuned for high impact results and minimal noise.
IP Block Qualification
This field of use is defined for audit and risk analysis of an IP Block.
NOTE: In GuideWare, the term, IP block, has been used to include third-party IP block as
well as internal legacy design blocks (from a previously completed and verified design). In
both cases, the assumption is that the ‘block’ is stable and complete, and expected to be
validated by provider.
Currently, many subsystems are available as semiconductor IP (Intellectual Property).
An IP should be thoroughly tested for its quality and completeness before using it in the
SoC integration phase.
Following are the two stages in this field of use:
IP Audit
IP Risk Analysis
Overview
Atrenta Console is used for configuring, selecting, and running the GuideWare
methodology. It uses a goal-centric approach that provides you step-by-step guidance to
analyze your HDL designs. It is the default GUI of SpyGlass.
NOTE: Before starting Atrenta Console, you should set the license file. For details on
setting the licence file, refer to the Before You Begin topic of Atrenta Console User Guide.
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Invoking Atrenta Console
The above window provides you a step-by-step guidance to analyze your HDL designs.
The process of analyzing HDL designs is divided into three stages that corresponds to
the three main tabs (Design Setup, Goal Setup & Run, and Analyze Results) in Console GUI.
file is not specified, SpyGlass assumes its normal batch mode, and console-specific
command-line options do not work.
You can invoke the batch mode by specifying the following command-line options:
spyglass -batch -project <project-file-name>
[ CONSOLE-Specific OPTIONS ] [ Other-Options ]
Here, the -project option accepts the name of the project file.
The Console-specific options are supported only when you run Atrenta Console in the
batch mode.
The other options include all other batch command-line options that are supported by
SpyGlass. For details on these command-line options, refer to the Using the Console
Batch Interface section of Atrenta Console User Guide.
To go to this stage, click the Goal Setup & Run tab. This displays the following screen:
By default, the Select Goal tab is selected. Under this tab, Console displays a list of
domains (such as lint, audit, clock_reset_integrity, etc.) under each stage of the selected
methodology. For example, in the above figure, the selected methodology is New_RTL.
This methodology has three stages: initial_rtl, detailed_rtl, and rtl_handoff. For each domain
under a particular stage, Console displays a list of goals. For example, in the above
figure, the lint domain lists four goals: connectivity, simulation, synthesis, and structure. You
can view the goals of other domains by clicking the + sign adjacent to the domain name.
To display the goals of a different methodology, click the Select Methodology link. This
displays the Select Methodology dialog in which you can select the required methodology.
After selecting the required methodology, select the required goals that you want to run
and click the Run Selected Goal(s) link. This runs the selected goals. In addition, you can
also provide the design intent information necessary to complete the goal analysis. This
includes adding constraints and setting parameters. You can provide this information
under different tabs appearing during this stage.
The Goal Setup & Run stage involves the following steps:
1. Selecting a Goal
To select a goal, click the Select Goal tab. Under this tab, Atrenta Console displays a
list of goals based on the methodology selected.
NOTE: The default methodology is GuideWare New_RTL.
Once you select the required goal(s), click the Run Selected Goal(s) option to perform
analysis of the selected goal(s). Once the analysis is complete, Atrenta Console
creates a directory (under the <project-name> directory) by the name of the
methodology selected. In addition, Atrenta Console also creates a sub-directory by
the name of the goal selected. For details on the project working directory, refer to
the The Project Working Directory topic of Atrenta Console User Guide.
For mode details on selecting a goal, refer to the topic, Selecting a Goal, in Atrenta
Console User Guide.
2. Providing Setup Information
In this step, you identify blackboxes in the design, and provide the setup information
for those blackboxes. In addition, you also specify constraints for clocks and resets in
your design. You can provide all this information by using the setup wizard under the
Central Setup tab.
For details on this wizard, refer to the Central Design Setup topic of Atrenta Console
User Guide.
3. Setting up the Goal
In this step, you set the recommended parameters and specify the required
constraints for the goal.
Goals that have their setup status as Setup Recommended require additional setup
steps. SpyGlass enables you to perform these steps by using the setup wizard. To
invoke the setup wizard for such goals, select the goal, and click the Setup Goal tab.
The setup wizard then guides you to provide the required details.
For more details on setting up a goal, refer to the Setting up the Goal topic of Atrenta
In the above window, click the Run Goal <goal> link to perform goal analysis. Here,
<goal> refers to the goal that you have selected in the previous stage.
When analysis is complete, Atrenta Console displays the messages in the Results
window. You can double-click on a message to view the source file, which you can edit
to fix the violation messages. You can also view the schematic by double-clicking on a
violation message and selecting the Modular Sch or Incremental Sch link in the Results
section. If a message does not represent a serious problem, you can waive that message
by clicking the Waiver link in the Results section.
You can also analyze the rule violations and assign appropriate tags based on the actions
that you have performed (such as Fixed or VerifiedFixed) or intend to perform later (such
as Investigate or ToFix). In this way, you need not repeatedly run the analysis to update
the status of the violations after performing a set of corrective actions in your design. To
assign a tag, right-click on the message, and select the Tag menu option. This displays
another sub-menu from which you can select the required option, as shown in the
following figure:
Atrenta Console also generates various reports at the end of the analysis run. To view
these reports, select the Tools -> Report menu option. This displays a sub menu that
contain various categories for different type of reports, as shown in the following figure:
In the above figure, when you click the Default category, Console displays a list of all the
default report names. You can click on the required report name to open that report in a
separate window. Similarly, Console generates other reports (based on the goal being
run) under appropriate categories. For example, in the above figure, all the
clock-specific reports are listed under the clock-reset category.
NOTE: Reports that do not contain any relevant data appear disabled in the available list of
reports.
For more details on this stage, refer to the Stage 3: Analyzing the Design (Analyze
Results) section of Atrenta Console User Guide.
Introduction
This chapter discusses some basic concepts of SpyGlass and some important features
that you may want to use while using SpyGlass. This chapter covers the following
topics:
Understanding SpyGlass Operations
Inputs to SpyGlass
Managing the Design Hierarchy
SpyGlass Design Constraints
Using Parameters/Generics and Macros
Compiling Technology/Library Files
Handling DesignWare Components
Using the Save Restore Feature
Waiving Messages
Handling Memories
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Inputs to SpyGlass
SGDC File
(Optional) Violation Database
When you run SpyGlass, it first performs some basic checks on your design such as
checks related with synthesis and elaboration. Once the basic checks are done, SpyGlass
runs domain-specific checks based on the rules requested.
Refer to the How SpyGlass analyzes your design topic of SpyGlass Predictive Analyzer
User Guide to know the details of the steps using which SpyGlass analyzes your design.
Inputs to SpyGlass
SpyGlass supports various data formats. The following tables lists the details of each of
the supported data format:
units from SpyGlass analysis. Consider a design, as shown in the following figure:
Some examples of using the above commands are discussed in the following table:
Command Result
set_option top DSP_block Only the design unit, DSP_B, is considered
set_option stop DSP_A for SpyGlass analysis.
set_option top POWER_CONTROLLER The design units, POWER_inst,
set_option stop Block1 P_inst_A, and Block2 are considered
for SpyGlass analysis.
set_option stop P_inst_A Only P_inst_A is excluded from the scope
of SpyGlass analysis. All the other design
units including the design units instantiated
directly/indirectly within P_inst_A are
considered for SpyGlass analysis.
NOTE: For more details on managing the design hierarchy, refer to the Managing the
Design Hierarchy chapter of Atrenta Console User Guide.
You can also specify the design units to be included and/or excluded from the scope of
SpyGlass analysis under the Set Read Options tab of the Design Setup stage in Atrenta
In the above figure, Specify the top-level design units in the Value field corresponding to
the Top Level Design Unit(s) option name. Similarly, you can specify the design units to be
excluded from the scope of SpyGlass analysis in the Value field corresponding to the
Stop Design Unit(s) option name.
Constraint Purpose
current_design Design unit name
clock Defines the clocks in the design
reset Specifies the resets signals in the design
set_case_analysis Specifies the case analysis conditions
test_mode Specifies the set of conditions, both pins and values, that when
simulated, will force the circuit in test mode
input Specifies the clock domain at input ports
output Specifies the clock domain at output ports
fifo Provides a mechanism to provide FIFO information so that
SpyGlass can perform complete recognition and verification of
FIFOs
ip_block Specifies the IP blocks in your design
Constraint Purpose
voltage_domain Specifies the voltage/power domains in the design and its
information is used by voltage and power domain rules.
isolation_cell Specifies the isolation cells in power domains
levelshifter Specifies the names of design units to be used as level shifters
always_on_buffer Specifies the always-on buffers.
supply Specifies the supply and ground port names for all the LPPLIB
rules
sdc_data Specifies the SDC file
assume_path Specifies the paths that exist between the input pins and the
output pins of blackboxes
set_clock_gating_style Specifies the name of the cell that should be used as the clock
gating cell
select_wireload_model Specifies the wireload model for the design
wireload_selection Specifies the default wireload selection table to be used for power
estimation
For more details on constraints such as creating and processing SGDC file, refer to the
Working with SpyGlass Design Constraints chapter of the Atrenta Console User Guide.
In the above dialog, click the Add button to add a new row in which you can specify the
name of the parameter in the Key field and its corresponding value in the Value field.
You can also set parameters by specifying the following command in the Console
project file.
set_option param <name>
In addition to parameters/generics, Console also support macros. Macros enables you to
define constants in your design. To enter macros in your analysis, specify the following
command in the Console project file:
set_option define <list>
Here, <list> refers to a space-separated list of macro name-value pairs. For example,
you can specify various macros and their respective values by using this command, as
shown below:
set_option define fee=1 fi=2 fo=3 fum=4
In the above figure, deselect the Enable Save restore Flow option to disable the Save/
Restore feature.
You can also enable save/restore feature by specifying the following command in the
Console project file:
set_option enable_save_restore yes
For more details on the Save/Restore feature, refer to the Saving and Restoring Designs
section of Atrenta Console User Guide.
Waiving Messages
During design analysis, you may want to suppress the display of certain violation
messages that may not represent a serious problem or messages that you may want to
ignore at that point of time. You can suppress the display of such messages by using
waivers.
Effective use of of waivers is significantly based on the overall use of GuideWare
methodology through out the SoC design cycle. To ensure effective use of waivers, you
should first perform the following steps:
1. Identify the GuideWare Field-of-Use for each block, that is, whether it is a new RTL
block, an IP/legacy block, or an SoC.
2. For each block and/or integrated SoC, identify the stage in which that block/SoC is
for that Field-of-Use.
3. For each block and/or integrated SoC, identify the goals that you want to run.
4. Run the selected goals
After performing the above steps, Console flags appropriate violation messages. At this
stage, if still there are messages that you want to waive, you can apply waivers to
suppress those messages.
Specifying Waivers
Waivers are written in a separate file and can be used with the modified source files as
long as the modifications do not invalidate the design constraints. You can create
waivers in any of the following ways:
Using the waive Constraint
Using Embedded SpyGlass Waiver Pragmas
Atrenta Console provides the Waiver Editor window in which you can specify waivers.
For details on this window, refer to the topic, Tools -> Waiver Editor, in Atrenta Console
Reference Guide.
In addition, Atrenta Console enables you to specify various settings related with waivers
in the Preference dialog under the Waiver category, as shown in the following figure:
For details on the above page, refer to Waiver Page topic under the Tools > Preferences
section in Atrenta Console Reference Guide.
In the above example, SpyGlass disables rule checking for the R1 rule in the lines after
//spyglass disable_block R1. However, SpyGlass resumes rule checking for
the R1 rule in the lines after //spyglass enable_block R1. Here, <cmd>
continue to work, if specified correctly, irrespective of the pragmas.
You can also use # instead of // while specifying the disable_block and
enable_block pragmas.
For more details on using SpyGlass pragmas, refer to the Waiving Messages using
SpyGlass Pragmas section of Atrenta Console User Guide.
Handling Memories
SpyGlass provides the following features to handle memories in your design:
Limiting the Analysis of Memories
Using the Memory Reduction Feature
Enable Handle Memories option, under the Set Read Options tab, as shown in the following
figure
Alternatively, you can also specify the following command in Console project file to
process memories in an optimized manner:
set_option handlememory yes
For more details on this feature, refer to the Memory Reduction Feature section of
Atrenta ConsoleUser Guide.
Overview
Field of use 1 involves the development of a new RTL. The process of the development
of a new RTL goes through progressive RTL refinement starting with simpler goals that
meet the functional requirements, such as functional correctness and simulation and
synthesis readiness of the code. As the RTL code and design constraints mature, the
design goals evolve to performance, testability, and meeting handoff requirements.
In this field of use, the GuideWare methodology recommends a four-stage flow, as
shown in the following figure:
The above flow represents an ecosystem of goals. You can customize this flow based on
your specific requirements and workflow of your design project.
The following sections describe the details of each stage.
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Overview
RTL Handoff
This is the final completion and handoff stage for the RTL. By this stage, it is assumed
that the RTL has already been refined as per the GuideWare methodology. Most checks
are applicable at this point before backend implementation begins. During this stage, the
micro-architecture and majority of the logic is stable. Local bug fixes due to verification
may however still continue. Constraints, power gating, and testability strategies are well
defined and captured. SpyGlass goals are used to perform hand-off checks with
IP Handoff
This is the milestone for an RTL block that is targeted for use (or reuse) as an IP by an
internal or external customer. It is expected that before reaching this milestone, you
have already executed the previous stages of the GuideWare methodology and the IP
block is ready for customer handoff.
At this milestone, the block is expected to be clean and all the necessary inputs are
expected to be in place before you perform the final SpyGlass run. It is also expected
that the user is able to share the setup, constraints, waivers, reports, etc. with the
customer.
There is a large overlap between this milestone and a superset of all the first three stages
of Field of Use 1. Similarly there is a large overlap between this milestone and the goals
of Field of Use 2 - IP Block Qualification. This ensures that the consumer and supplier
sees the same issues if they are waived for some reason. Communication between the
two sides is enhanced much more efficiently with a similar workflow and a common set
of templates.
Overview
Field of use 2 involves a careful selection of an IP for a given target SoC design. Quality
and completeness of an IP should be determined prior to its introduction into the SoC
integration phase.
In GuideWare, the term IP block refers to a third-party IP block as well as internal
legacy design blocks (from a previously completed and verified design). In both the
cases, the assumption is that the block is stable and complete and is expected to be
validated by provider.
This field of use involves a two-stage flow, as shown in the following figure:
The above flow represents an ecosystem of goals that are grouped to perform specific
task at each stage.
The following sections describe the details of each stage and the goals used in each of
these stages.
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Goals for Field of Use 2
IP Audit
This stage involves initial auditing of a legacy or third-party IP block.
It is highly recommended that an IP provider delivers the complete design intent (in the
form of SGDC constraints and waivers) as a part of the IP delivery kit. Such a
mechanism improves the efficiency of IP qualification by the IP acceptance groups as
well as enables ease of use by eventual design groups.
The composition of goals during this stage helps the customer to get a fairly high-level
view of an IP by assessing the following goals:
Determine the basic characteristics of an IP. For example design statistics, such as
approximate size, hierarchy information, clock and reset information, register count,
blackboxes, and other profiling data.
Determine basic connectivity and synthesizability checks if an IP is captured as RTL
code.
Verify the completeness of constraints and other IP inventory data.
IP Risk Analysis
Goals used during this stage target the following goals:
Highlight potential use risks of an IP. These risks may arise due to issues related with
synthesizability, power, and constraints.
Highlight non-standard design practices, as well as issues related to the
synchronization of clock domains and correctness of timing exceptions.
Establish readiness of an IP from testability perspective
Review issues that might hamper porting of an IP to a new/different silicon
technology
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.
For details on this report, refer to Atrenta Console User Guide.
You can generate the Datasheet report containing data for the current project or the data
for multiple projects and/or batch run dump directories. Based on your requirement,
In Batch
You can generate the Datasheet report in the batch mode by using the
gen_aggregate_report command-line option, as shown below.
spyglass -gen_aggregate_report datasheet -config_file <cfg-file> |
-project <prj-file> [ -aggregate_reportdir <dir>] [-DEBUG]
[ -LICENSEDEBUG ]
Overview
Field of use 3 involves the verification of an SoC design or a subset of design
(subsystem) that has been integrated by using various blocks. This field of use involves
checks related to inter-block/inter-IP issues and consistency across blocks. In addition, it
ensures that block constraints are consistent with SoC constraints.
In this field of use, the GuideWare methodology recommends a four-stage flow, as
shown in the following figure:
The above flow represents an ecosystem of goals that are grouped to allow relevant and
pertinent verification, and ensure minimization of noise at each stage of SoC integration
and implementation. However, you can customize this flow based on your specific
requirements.
The following sections describe the details of each stage and the goals used in each of
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Overview
these stages.
Ensure that the original design intent is not adversely impacted during these
modifications
Ensure that the intended power savings are achieved in pre-layout netlist
Ensure that the intended testability is achieved at gate-level netlist
Ensure the correctness, completeness, and coherency of constraints before beginning
the expensive place-and-route phase
illustrates the alignment of these fields of use during chip development process:
RTL, waivers,
constraints (SGDC, SDC)
SoC Integration
and Implementation
Field of Use 3
RTL, waivers,
constraints (SGDC, SDC)
New RTL Development
Field of Use 1
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
lint soc_rtl
Checks for design connectivity,
simulation/synthesis issues, and
potential structural issues at SoC
level
soc_netlist Optional
Performs netlist integrity checks
such as connectivity, simulation,
and structural issues
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
audit soc_rtl_profile
Helps in profiling the SoC and
gathering some useful statistics
for the SoC
soc_netlist_profile Optional
Helps in profiling the SoC and
gathering some useful statistics
for the SoC
rtl_audit Optional
Provides summary information
about the RTL data
structure_audit Optional Optional Optional Optional
Provides summary information
about the detailed design
structure implied by the RTL
description
datasheet_io_audit Optional Optional Optional Optional
This goal helps in populating data
for datasheet generation. It
populates the following
information:
1. Chip-level port registered or not
2. Chip-level port details such as
width, direction, comments, etc.
3. Information related to various
pragma's
cdc_prep cdc_setup Optional Optional Optional Optional
Finds clocks and resets in a
design
cdc_setup_check Optional Optional Optional Optional
Checks the correctness and
completeness of the setup
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
clock_reset power_gated_clock Optional Optional Optional Optional
_integrity Verifies existing gated clocks in
the design
clock_reset_integrit
y
Ensures that clocks and resets
trees are properly designed and
they are free of glitches, races,
and other hazards
cdc_verif cdc_verif_base Optional
Ensures all clock domain
crossings are properly
synchronized
cdc_verif Optional
Verifies all aspects of clock
domain crossings
cdc_exhaust cdc_verif_base_stric Optional Optional
ive t
Ensures all clock domain
crossings are properly
synchronized with the pessimistic
parameter values
cdc_verif_strict Optional Optional
Verifies all aspects of clock
domain crossings with the
pessimistic parameter settings
For more details on the clock goals, refer to the SpyGlass-CDC-Methodology.pdf document.
constraint_ gen_sdc Optional
generation Enables the designers to create
SDC goals from RTL or netlist
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
constraint sdc_quick_check
Checks for syntax errors in given
SDC file
sdc_coverage
Computes design coverage and
report uncovered objects
clock_consis
Detects inconsistencies in the
specification of clocks, generated (netlist) (netlist)
clocks, and perform basic checks
on overwritten and conflicting
constraints
io_delay
Detects inconsistencies in the
specification of input/output (netlist) (netlist)
delays, clock latency, clock
uncertainty
mode_mismatch Optional
Checks consistency in constraints
across modes and corners
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
combo_path_check
Checks that all the combinational
paths are constrained correctly
structural_exception
Checks that timing exceptions
specified in a constraints file are
on paths which are structurally
connected
hierarchical_check Optional
Ensures that constraints are
consistent across block
hierarchies
redundancy_check Optional
Removes any redundancy in the
constraints and perform checks
that might facilitate better
retargeting
dft_gated_clock Optional
Ensures that test logic is properly
hooked up and clock gating and
power-targets are properly set for
the power tools
sdc_equiv Optional
Ensures that versions of
constraints file are equivalent for
the same design
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
soc_handoff
Ensures that all steps in this
phase are run together before
netlist handoff and is prescribed
for clean handoff to floor-planning
and P&R.
For more details on the constraints-related goals, refer to the SpyGlass-Constraints-Methodology.pdf
document.
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
power activity_check
Analyzes activity for a simulation
testbench
power_pre_reduction Optional
Analyzes the design to find power
savings opportunities
power_audit
Performs an audit of the design to
list the key parameters that will be
used in a power estimation
power_est_average
Estimates the average power of
the design
power_reduction
Finds power reduction
opportunities in the design
power_est_cycle Optional Optional Optional Optional
Calculates power for each clock
cycle of a simulation
power_best_practice Optional
Checks the RTL and find certain
structures which may be
inefficient from the power
standpoint
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
voltage_dom power_verif_rtl
ain Verifies proper usage of power
management circuitry in the
earliest possible design stage
power_verif_postsynt
h
Verifies proper usage of power
management circuitry after
synthesis
power_verif_postrout
e
Verifies proper usage of power
management circuitry after
routing
For more details on the power goals, refer to the SpyGlass-Power-Methodology.pdf document.
txv_verific fp_verification
ation Verifies false paths in timing
constraints
mcp_verification
Verifies multicycle paths in timing
constraints by analyzing the
sequential state space
fp_mcp_verification
Verifies false paths and multicycle
paths in timing constraints.
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
txv_identif fp_verification
ication Verifies false paths in timing
constraints.
mcp_verification
Verifies multicycle paths in timing
constraints by analyzing the
sequential state space
fp_mcp_verification
Verifies false paths and multicycle
paths in timing constraints
For more details on the Txv goals, refer to the SpyGlass-TXV-Methodology.pdf document.
dft_readine dft_setup Optional Optional
ss Ensures that valid constraints for
defining testclocks, testmode
conditions, and profiles design
providing incremental coverage at
each step
dft_stuck_at_coverag Optional Optional Optional
e_audit
Profiles a design based on
different categories that impact its
coverage
dft_best_practice Optional Optional
Checks designs for best practices
even without testmode setup
knowledge
dft_dsm_best_practic Optional
e
Diagnose transition rule violations
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
dft_latches Optional Optional
Ensures that latches are
transparent when the capture
mode conditions are simulated
with testclocks at their "return to"
state
dft_scan_ready Optional Optional
Ensures that as many registers in
the RTL as possible can easily be
replaced with scan equivalents
either during logic synthesis or in
a post-synthesis step
dft_dsm_clocks Optional Optional
Defines clocks that will be used
for atspeed testing and any
associated PLLs and
captureATspeed testmode
requirements
dft_test_points Optional Optional
Provides recommendations for
adding test-points to improve
controllability/ observability of the
design
dft_block_check Optional Optional
Checks the consistency of test
signal connections across the
sub-block hierarchical
boundaries, and further ensures
test setup at SoC level satisfies
the test setup requirement of
individual blocks
soc_
soc_prel soc_post postlayo
Domain Goal soc_rtl im synth ut
dft_dsm_transition_c Optional
overage
Estimates transition coverage
dft_dsm_transition_c Optional
overage_audit
Provides estimation of transition
coverage as different stages
dft_scan_ch dft_scan_chain Optional Optional
ain Verifies the integrity of the scan-
chains in individual blocks, prior to
SoC level scan insertion, and
stitching of block scan chains
For more details on the DFT goals, refer to the SpyGlass-DFT-Methodology.pdf and SpyGlass-DSM-
Methodology.pdf documents.
Introduction
Atrenta Console provides the Methodology Configuration System (MCS) window that
enables you to modify an existing methodology or create your own custom
methodology. For a methodology selected, this window lists all goals of that
methodology, where each goal contains a set of rules.
In the above dialog, click the Click here link to load the currently selected methodology
in the Methodology Configuration System window.
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
The Methodology Configuration System Window
The above window contains various sections such as the Goals section, Rules section,
Parameters section, etc. The Goals section lists all the goals under each domain. For
example, in the above figure, the lint domain lists four goals: connectivity, simulation,
synthesis, and structure. If the ( ) symbol appears adjacent to a goal name, that goal is
considered as enabled (mandatory). If you want to disable that goal (that is, make it as
optional), click the ( ) symbol adjacent to that goal name. This disables the goal, and
the ( ) symbol appears adjacent to that goal name.
NOTE: When you close the MCS window, the disabled goals do not appear in the available
goal list under the Select Goal tab.
When you select a particular goal, Console lists all the rules of that goal in the Rules
section. You can enable or disable a rule in the same way as it is done for a goal. In
addition, Console also lists all the parameters for the selected goal in the Parameters
section. You can specify value to the parameters in the Value field corresponding to each
parameter name. You can also assign default values to all the parameters by clicking the
Restore Defaults link.
After specifying the required details in the above dialog, click the OK button. This
displays the new methodology in the MCS window. After creating the new methodology,
you can either create new goals or import existing goals for that methodology. For
details, refer to Creating New Goals and Importing Goals for a Methodology.
NOTE: For more details on creating a new methodology, refer to the Creating a New
Methodology topic of Atrenta Console User Guide.
NOTE: To modify an existing methodology, select the Methodology Properties option
from the File menu. This displays Methodology Properties dialog in which you can make
the required updates for that methodology. For details on modifying an existing
methodology, refer to the Modifying a Methodology topic of Atrenta Console User Guide.
In the above dialog, specify the name and help description for the sub methodology. You
can select the help format as Text Format or HTML Format. If you select the format as
HTML, two additional buttons, Import/Update HTML Description and Delete HTML Help,
appear in the New Sub-Methodology dialog. Click the Import/Update HTML Description
button to import the HTML file containing the help for that sub-methodology.
After specifying the required details in this dialog, click the OK button. This adds the
new sub-methodology in the Goals section under the tree structure of the selected
methodology in the Methodology Configuration System window.
For more details on creating a new sub methodology, refer to the Adding a
Sub-Methodology topic of Atrenta Console User Guide.
NOTE: Please note the following points:
To modify an existing sub methodology, right-click on that sub methodology name, and select
the Sub-Methodology Properties context menu option. This displays the Sub-Methodology
Properties dialog in which you can make the required updates.
To delete a sub-methodology, right-click the methodology, and select the Delete Sub-
Methodology context menu option.
After specifying the required details in the above dialog, click the OK button. This adds
the new goal in the Goals section under the tree structure of the selected methodology of
the Methodology Configuration System window.
By default, the newly added goal is enabled for the methodology. To disable a goal,
click the ( ) symbol adjacent to the goal name. This disables that goal, and the ( )
symbol appears adjacent to that goal name.
After adding a goal for a methodology, you can rules for that goal. See Adding Rules in
a Goal for details.
NOTE: To modify an existing goal, right-click on the goal name, and select the Goal
Properties context menu option. This displays the Goal Properties dialog in which you can
perform the required updates.
In the above dialog, specify the path of the directory in the Look In text field where the
goals are located. After locating the goal(s), select the goal and click the Add button to
add that goal to the methodology. To add all the goals present in the directory, click the
Add All button. You can also import sgs files along with the goal(s) by selecting the
Import sgs file(s) option.
Once you have added the required goals, click the OK button. This adds the goal(s) to
the selected methodology.
1. Search for the specific rules, which you want to add in a goal, in the Search section of
the MCS window. For details on searching rules, refer to the Searching Rules topic.
2. Select the required rules to be added in a goal from the filtered rule list obtained after
the search operation. You can select multiple rules by pressing the <Ctrl> key and
clicking the required rules.
3. Right-click on the selected rule(s), and select the Add Rule(s) to Goal context menu
option. Alternatively, you can select the Add Rule(s) to Goal option in the Search
section.
When you perform the above steps, Atrenta Console displays the selected rules for that
goal in the Rule List section of the MCS window.
Searching Rules
You can search for the required rule(s), which you want to add for a goal, under the
Search section of the MCS window, as shown in the following figure:
In the above section, when you specify the search text in the Search textbox and click
the Go link, Atrenta Console displays all those rules (in spreadsheet format) that
matches the specified search criteria. By default, Atrenta Console searches all the rules
in SpyGlass. However, to confine the search among the rules of only the selected
methodology, select the Current Methodology option from the In drop-down list.
Parameter(s) section of the MCS window. By default, Atrenta Console displays only the
commonly-used parameters in this section. However, you can view the complete list of
parameters by selecting the All Parameters option from the Show drop-down menu.
You can assign values to the parameters in the Value field in the Parameter(s) section.
You can also restore the default values of all the parameter by clicking the Restore
Defaults option in the Parameter(s) section.
SpyGlass®-GuideWare User Guide ©Copyright 2001-2010 Atrenta, Inc. All rights reserved.
SpyGlass®-GuideWare User Guide
Optional Rule Selection Guide for GuideWare Basic
Assignment/Connection Mismatches
The following table describes the basic checks for assignment/connection mismatches
and the corresponding recommended optional rule(s) to implement those checks:
Tristates
The following table describes the basic checks for tristates and the corresponding
recommended optional rule(s) to implement those checks:
casex/casez Constructs
The following table describes the basic checks for casex/casez constructs and the
corresponding recommended optional rule(s) to implement those checks: