Home > Community > Blogs > Logic Design > rc design explorer find the right balance of power and performance

 Login with a Cadence account. Not a member yet? Create a permanent login account to make interactions with Cadence more conveniennt. Register | Membership benefits
 Get email delivery of the Logic Design blog (individual posts).

## Email

Recipients email * (separate multiple addresses with commas)

Message *

 Send yourself a copy

## Subscribe

Intro copy of the newsletter section here, some intro copy of the newsletter. Instruction of how to subscribe to this newsletter.

First Name *

Last Name *

Email *

Company / Institution *

 Send Yourself A Copy

# RC Design Explorer: Find the Right Balance of Power and Performance

Sr. Product Engineer

You might be aware that RTL Compiler has had the ability to synthesize top-down to multi-supply multi-voltages (MSMV) and optimize across them.  Lowering voltage levels can be a great way to reduce switching power, but it comes at the cost of reducing performance.  As we have talked to customers, we have found that many do not take advantage of this opportunity to reduce power because they do not know how to find the right minimum voltage levels that still allow them to meet their performance goals.

This is why we developed Design Explorer or "DEX" as we call it, in RTL Compiler 9.1.  The concept is simple - you just tell RC what range of voltage levels to explore for each domain, and RC will execute a bunch of exploration runs that generate a tabulated summary of the performance, power, and area for each exploration scenario.  These runs are what we call exploration runs  - the runtime is about 60% of a full synthesis run, but you get performance and power numbers within about 5% of what the full synthesis run would be.  This allows you to exhaustively explore your options and see which one(s) you would want to take through full synthesis.

If you consider a trivial example of a library with 3 possible voltage levels, and a design with 2 power domains, the possible MSMV architectures are 32=9.  That's a lot of scenarios to explore, and it's an extremely trivial example.  Even a more "typical" design that would have 4 power domains would result in 34=81 scenarios to explore.  There is just no way you would do this manually.  DEX enables this to be done automatically, and in parallel if you have the resources for it.

To get started, you would read all your normal design information - HDL, constraints, etc, including your library CPF - then specify the exploration domains.  In this example, our library has three voltages to explore - 0.8v, 0.9v, and 1.08v:

dex_define_exploration_power_domain -name default -default -voltage_range {0p8 1p08}

dex_define_exploration_power_domain -name macs -voltage_range {1p08 1p08} [find / -maxdepth 4 -inst ethernet_mac*]

dex_define_exploration_power_domain -name bridge_pcm -voltage_range {0p08 0p9} {bridge pcm_inst dma_mac_mult}

This defines the exploration domains - the first two will explore all three voltage levels, the third will only explore across 0.8v and 0.9v.  Then we need to create and execute the exploration scenarios:

dex_create_exploration_scenarios -design \${DESIGN}

dex_execute_exploration_scenarios -design \${DESIGN}

Once the runs are done, the summary report and detailed reports for each scenario will be available.  The summary report is generated by:

dex_report qor_summary -design \${DESIGN}

Specific scenario reports can be generated as-needed. For a specifc thread/scenario:

Once you have decided what scenario looks like it will give you the balance of performance, power, and area that you're looking for, you can run it through a full synthesis by writing out the scripts and CPF for that scenario (scenario #3 in this case):

dex_write_scenario -scenario scenario_3

From there you could do a full synthesis in RC or even with RC-Physical.

This was a quick overview - there is a full chapter on this capability in the Low Power in Encounter RTL Compiler user guide.  But hopefully it gives you an idea of how you can take advantage of this new capability to get started with an MSMV approach to greatly reduce power without compromising your performance or schedule.