Professional Documents
Culture Documents
Use Spyglass Predictive Analysis For Effective RTL Coding
Use Spyglass Predictive Analysis For Effective RTL Coding
Use Spyglass Predictive Analysis For Effective RTL Coding
by Bhanu Kapoor
Technology Director
Atrenta Inc.
bkapoor@atrenta.com
RTL coding guidelines, therefore, would process of RTL code development. Policy Engine
greatly increase the timely success of proj- Examples of such policies include lint, The policy engine accelerates electronic
ects targeting high-performance designs on reuse, verification, timing, and testability. product development by enabling develop-
Xilinx device families, such as the ment teams to capture, aggregate, distrib-
Virtex™-II series of platform FPGAs. Rule Groups ute, and apply constraints and requirements
The SpyGlass™ Predictive Analyzer A collection of rules within a policy is early in the development cycle. The fast
tool from Atrenta Inc. automates the termed a group. Typically, groups consist synthesis engine internally creates a struc-
process of meeting design guidelines of rules addressing a particular area of tural view of the design and foresees down-
through the use of an underlying predic- interest in the RTL code. Groups are hier- stream issues early in the development
tive analysis technology. This approach archical, meaning that a group can contain cycle, thereby eliminating errors at the ear-
performs detailed structural analysis on other lower-level rule groups as well as liest possible stage.
RTL aspects to check for Although you can
coding styles, RTL-handoff, check many complex rules
design reuse, clock/reset statically on the internal
requirements, verification, synthesized structural
timing guidelines, and view, other rules require
much more. The SpyGlass some understanding of the
tool employs a “look- logic function of the
ahead” engine based on design. This is particularly
fast-synthesis technology true for testability-related
and a fast, built-in, cycle- checks. In order to per-
based simulator to carry out form a testability check,
such analyses. Such a look- you must use an evaluator.
ahead methodology only The evaluator in the poli-
uses RTL code as input to cy engine is effectively a
the SpyGlass tool and does zero-delay, cycle-based
not require any vectors or simulator you can use to
assertions. It is therefore resolve functional design
very easy to set up and run. constraints, as well as carry
out a simulation required
Policy-Based RTL Coding to set up the design for
The SpyGlass™ Predictive testability analysis.
Analyzer is a comprehensive, Policy implementa-
policy-based system that tion requires a traversal
defines, in a succinct and engine that works on the
Figure 1 - Example of policy consisting of rule groups and rules
organized way, design poli- RTL netlist produced by
cies that automatically point fast synthesis. The
out time-consuming downstream issues. individual rules. A group provides an addi- SpyGlass engine generates basic primitives
The SpyGlass tool then offers suggestions tional level of modularity in applying poli- for rules that cover design traversal. The
on ways to overcome these downstream cies to a given RTL design. connectivity information, coupled with
issues during the RTL code development the traversal primitives, enable you to cre-
process. This helps you to meet your time- Rules ate rules that look for violations across the
to-market target. A rule is the most fundamental element in design hierarchy.
the policy-based management system. It By applying a policy over a given RTL
Policy describes a set of conditions that – when design code, you can obtain a wealth of
A policy is a collection of rules for a specif- checked by the policy engine – result in an information about the design – as well as
ic purpose, such as rules associated with a indication of a specific problem with the any of violations of the defined rules. The
standard, a silicon vendor, or a specific RTL code. Rules allow standard analysis SpyGlass interface highlights rule viola-
design tool. Policies enhance user extensi- of the RTL code. An example of a policy, tions on the specific lines of RTL code.
bility, allowing you to develop and manage rule groups, and rules in the SpyGlass sys- Not only does the SpyGlass predictive
customized groupings of rules more easily. tem is shown in Figure 1. With this sys- analysis tool offer an extensive help func-
The design methodology includes a set of tem, you can selectively turn on specific tion to assist you in understanding the
policies that you can select during the groups or specific rules within a group. nature of the violation, but also, where