Power StrategyΒΆ

The next step is the power strategy (i.e., the cadence-innovus-power step), which sets up the power rings, stripes, and grid. You can run the design up to this step like this:

% cd $top/build
% make cadence-innovus-power

Here is a list of what the defaults inputs, outputs, and scripts are and what they do:

input design.checkpoint The working Innovus database from the previous step.
output design.checkpoint The working Innovus database after the step finishes.
script globalnetconnect.tcl Logically connects power nets (e.g., VDD and VSS) to pins on cells in the design, even if their pins are not explicitly called VDD or VSS.
script main.tcl Main script that calls a power strategy.
script power-strategy-dualmesh.tcl Builds a fine mesh on lower metals for di/dt and a coarse mesh on higher metals for IR drop (you will not use this script in 45nm).
script power-strategy-singlemesh.tcl Builds a single power mesh on higher metals to minimize IR drop.

To iterate on your power strategy, we highly recommend opening the GUI (running the debug target for init gives you a clean slate) and copy-pasting the power commands one by one while tweaking them. You should press U to undo if you do not like the result of an addStripe or addRing command. You can also just type the undo command. If you want to start over, you can run the following command to delete power-related shapes:

> deleteAllPowerPreroutes

At any point in your work, you can run an Innovus DRC which only checks the shapes that Innovus can see (i.e., wires). After opening Verify DRC just accept the default settings. You can also run an Innovus LVS with Verify Connectivity, although this will always fail at this stage because the cells and wires do not exist yet which certainly does not match the source netlist.


The violation browser is the red triangle button and lists all violations found by these checks. This view should be clear of DRC violations.