Methodology for Effective Hierarchical Verification of Low

Download Report

Transcript Methodology for Effective Hierarchical Verification of Low

Methodology for effective hierarchical
verification of low power designs
Ramesh Rajagopalan ([email protected]), Cisco Systems Inc, San Jose, CA
Namit Gupta ([email protected]), Synopsys Inc, Mountain View , CA
Authors Information
1) Ramesh Rajagopalan ,Cisco Systems Inc, [email protected],
phone(408)3903607
Ramesh has been in the physical design field for over 19 years and he is currently a
Technical Leader with Switching Silicon Group at Cisco. Physical design of Custom
network switching ASICs and UltraSparc microprocessors form part of his
experience.
2) Namit Gupta, Synopsys Inc,
Namit Gupta is a Staff corporate application engineer at Synopsys Inc with responsibility
for verification solutions. Gupta holds a bachelor’s degree in electronics from the
Indian Institute of Technology, Delhi. Among Gupta’s interest areas are RTL design
and verification, clock domain crossing, low power, design constraints, and ESL.
Phone 550-215-0765
Email [email protected]
Abstract
 With increasing demand to conserve power in ASICs, there is
a need for advanced low power techniques right from
architecture planning till implementation.
 This paper/poster provides methodology used by us to come
up with efficient way to plan the power intent, do a quick check
to ensure completeness and correctness, followed by
verification and implementation.
 And during this process we faced challenges during the use of
such methodology, and came up with techniques to overcome
those for efficient implementation of low power design.
Motivation: “Correct by construction” methodology for a
low power design technique
Current size and complexity of SOC/ASIC designs dictate
- use of advanced low power techniques to reduce power and
- saving and restoring of critical design states.
Use of multiple voltages in the design is one of the widely adopted low power
technique.
- Different parts of a chip might have different speed requirements.
- A lower supply voltage reduces power consumption but also reduces
speed.
- To get maximum speed and lower power at the same time, only blocks that
need to work at higher clock rates can operate with a higher supply voltage
while the other blocks can operate with a lower voltage.
Significance of power intent description
 it is almost a necessity that from very beginning power intent is mostly clear.
This is the main reason that power intent description has become integral
part of RTL development.
 Power intent needs to be captured for various power domains, switches to
turn on/off supplies, voltage levels of supplies, protection devices like level
shifter, isolation
 Providing two or more supply voltages on a single chip introduces some
complexities and costs.
 Additional device pins must be available to supply the chip voltages, and the
power grid must distribute each of the voltage supplies separately to the
appropriate blocks.
 Where a logic signal leaves one power domain and enters another, if the
voltages are significantly different, a level-shifter cell is necessary to
generate a signal with the proper voltage swing. A level shifter cell itself
requires two power supplies that match the input and output supply
voltages.
Power intent guides physical power grid
implementation
•
Using the power intent description, abstract power supply networks are
defined, also called as “supply sets”.
•
The most important step which needs careful planning is to define valid
power states combinations
•
Once supplies are defined explicitly using “create_supply_port” OR implicitly
using “create_supply_set”, then valid supply states are defined next using
“add_port_state” and “add_power_state”.
•
This means defining when state will be “off”, “high_voltage”, “low_voltage”
etc.
•
the Power State Table (PST) describes all the possible power states of a
design and is used as a “golden” reference by implementation tools and
static verification checkers.
Why Static Verification?

Static verification checks on



Isolation and level shifters versus requirements implied by PST
Missing/Incorrect/Redundant protection devices
Is my micro-architecture correct?

Island order checks on control/clock paths in the design w.r.t enables of protection elements

Static verification Checks – to ensure that implementation is following the power intent

What were assumptions made in our methodology and how we took care of gotchas

PST is reference – What if there is a bug in PST?
 Once design is simulated with all legal states, power aware simulation can capture
such issues

How can I ensure my dynamic verification team covers all legal states and power shutdown
during simulation?
 It is extremely important to plan low power specific coverage from start and track it till
closure
Challenges : Use of PST in Hierarchical design
verification


PST as used in subchips and in a hierarchical top level verification.
Need to merge PSTs to verify hierarchical design
Use of PST in Power-Aware verification
 A power state table is a collection of all possible power states for all input supply
net/ports of a design.
 Given a PST, synthesis tool would implement the design in such a way that no
LS/ISO/Logic violation could be found in the design.
 In a flatten design, theoretically level shifters and isolation cells can be inserted at
anywhere in the design. Therefore, it is always possible to implement the design
without any LS/ISO/Logic violations for a given PST.
 However, in a hierarchical flow, because some sub-blocks are not allowed to
change, LS/ISO/Logic violations are impossible to resolve if they happen within
fixed sub-blocks.
 Those errors can only be prevented by enforcing certain relationship among
PSTs specified at different hierarchy.
 Assumptions we made for making it methodical



One PST at each scope
Only power state nominal values for state comparison
Merged PSTs reflects intersection of all legal states of all scope PSTs
Example of PST correctness need
 Consider following example, where there are 2 domains PD1
and PD2, where VDD1 is primary supply of PD1 and VDD2 is
primary supply of PD2, as per specification below are the valid
states
BUG
VDD1/
PD1
ISO
Cell
VDD2/
PD2
 If VDD1 and VDD2 is ON and OFF simultaneously, there is no
need to for ISO cell
 But with VDD1 OFF and VDD2 ON, combination in PST can
contradict this and bug will slip through
Challenges : Use of PST in Hierarchical design
verification
Figure 1: Example of PST merging with disjoint set of supply signals
X
Figure 2: PST Example of PST merging overlapping set of supply signals
X
X
Null PST
Low Power Assertions
 Automatic assertions

Common assertions based on design + power intent
 User defined assertions


Any dedicated assertion using LP data
Depending on design/project need

For example sequence of sleep signal with reset
 Goal is to increase confidence on the LP regression suite,
like…



Ensure all PD have been switched on/off
Ensure all Multi-Rail Macros have been switched as expected…
Specific checks to workaround missing or inaccurate models
Need for PST validation
 PST describes all valid combinations of voltage values
 This information is used by implementation tools to determine
protection needs
 At runtime, simulator has accurate knowledge of state and
voltage value of each net of the design…


Can report PST state changes
Can report when reaching an ‘illegal’ state
Limitations and Future Work

Assumptions we made for making it methodical



One PST at each scope
Only power state nominal values for state comparison
Merged PSTs reflects intersection of all legal states of all scope PSTs
Future Work:
PST verification is a very critical step and we need to fine tune the
methodology to make it of signoff quality.