Sign In
Forgot Password?
Sign In | | Create Account

How to MV in 10 easy steps (really over simplified backend flow)

Step 0 Commitment – Are you really sure you want to MV? Are you positive that Multi-Vt & Clock gating would not help with your power budgets? Proceed to step1 with caution only if you really must.

Step 1 Architecture Selection – Ensure that the architecture is frozen and capture all the power constraints required for the chosen MV style in the UPF file. As most of you are aware this can also be done using the other power format but we will stick to UPF as it simplifies interoperability

Step 2 RTL Synthesis – Using the UPF file Complete RTL synthesis and derive the gate level netlist. Ensure that the simulation & verification runs are complete and validated

Step 3 Data Import – Import  LEF, lib, SDC, Verilog, and DEF.  Properties that are relevant to the multi-voltage design flow are:

  • Special cells in Library (always_on, is_isolation_cell, is_isolation_enable, is_level_shiter)
  • Corner & Modes – Define appropriate modes and corners for the different domains. Ensure that the worst case timing and power corners are setup correctly to concurrently optimize for power & timing

Step 4 Power Domain setup – Read the power domain definition by sourcing or loading the golden UPF file (same that was used for RTL synthesis).  After reading the UPF file, the following items will be defined:

  • Domains with default power and ground nets
  • Power state table to define all possible power state combinations
  •  Level shifter and isolation rules for the different voltage domains

Step 5 Floorplanning –  Create physical domains and the corresponding power structures for each individual supply net defined in the UPF. Define Domain-specific hierarchy mapping and library association based on the architecture. Insert power switches for domains that are shut down (either VDD or VSS gated)

Step 6 Power Domain Verification – Perform design checks for general design and UPF setup, verification of level shifters and isolation cells, and analysis of always-on connections. The intent here is to help you find any missing UPF or power domain setup data that could lead to potential misery.

 Step 7 Pre-CTS Opt – During the Pre-CTS flow ensure that no port punching occurs on power domain interfaces. The optimization engine should use the power state table (PST) when buffering nets in a multi-voltage design to automatically choose always-on-buffers or otherwise. Nothing much you can do since you are the mercy of the tool.

 Step 8 CTS – During CTS ensure that no port punching occurs on the power domains interfaces. Like the optimizer, the CTS engine should also use the PST-based buffering solution to determine the type of buffers to use while expanding the clock tree network. Some clock tree synthesis flows require special clock gate classes to be recognized in order to restrict sizing operations during CTS to equivalent class types. Have you been nice to your R&D lately?

 Step 9 Routing – Ensure that the routing engine honors the domain boundaries and contains the routes within them. Secondary power pin connections for special cells such as always-on buffers and level shifters should also be handled using special properties set on the power pins. Many design flows also require double vias and non-default width wires for routing of the secondary power connections. Top level nets that span across domains can be handled using gas stations to help optimize timing and area. Hail Mary…

 Step 10 Hope and Pray – This step is optional. If your chip is DOA start from step 0 and repeat until you either have a working part or unemployed.


Isolation Cells, Level Shifter, Always on Buffers, Power Switches, UPF, MTCMOS, Multi-Voltage

More Blog Posts

About Arvind Narayanan

Arvind NarayananArvind Narayanan is the Olympus-SoC product marketing manager for Mentor’s place and route group. Arvind started his career as a microprocessor design engineer for Hal Computer Systems and has been in the semiconductor industry for over 14 years in different capacities, ranging from processor design engineer to application engineer and product marketing. His EDA experience includes working on STA at Synopsys and low power design analysis and implementation at Magma. At Mentor he has a broad view of the latest low power design techniques being used at our most advanced customers. Arvind earned his MS in Electrical and Computer Engineering from Mississippi State University, and MBA from Duke University. Visit The Power Play

More Posts by Arvind Narayanan


No one has commented yet on this post. Be the first to comment below.

Add Your Comment

Please complete the following information to comment or sign in.

(Your email will not be published)


Online Chat