editor's blog
Subscribe Now

Optimizing Power at the Architecture Level

When Mentor handed their flagship HLS product, Catapult C, to Calypto almost a year ago, there were a lot of questions about the move. There could be technical, financial, personnel, all kinds of reasons.

Well, at least from a technical standpoint, Calypto just announced what they say was the driving factor: the natural synergy between Catapult C and the Calypto tools. In particular, their PowerPro tool, used for optimizing power.

Automated power optimization typically happens at a low level – typically using netlists (although analysis is moving up to the RTL level). But the real gains are to be had at the architectural level, which is far above RTL even. It’s the realm of untimed C/C++ and SystemC. It’s also the realm of HLS (high-level synthesis, more or less used synonymously with electronic system-level, or ESL). Which is where Catapult C plays.

So they’ve put the two together in a product they’re calling Catapult LP. While the standard Catapult SL can optimize area and performance, it can’t optimize power along with it. Catapult LP does all three by integrating PowerPro under the hood so that it can go figure out what the power will be for a given configuration.

Of course, in order for this to work, Catapult C has to generate RTL out of the high-level code, and then  that RTL has to be synthesized into gates for the low-level power work. Calypto actually has their own RTL synthesis engine which they say can match Synopsys DC results within 15%, which is close enough for architectural level estimation. Yes, they are tracking a tool that’s out of their control, but, realistically, Synopsys isn’t changing DC much these days, so it’s unlikely that there will be much work trying to keep up with the Synopsys updates.

So the designer can create one or more architectural configurations and then have the tool go figure out which one has the lowest power. While the RTL is synthesized in a feed-forward manner for area and performance based on constraints, the power element is managed in a feedback manner.  The gate-level representation can be optimized for clock gating etc. so that those effects can be included in the power estimate, but, at a high level, the designer generates the different options and then selects the one that’s lowest power (of the ones that meet the other constraints). The designer can influence the accuracy and run time through what Calypto calls an “elastic engine” that can be set to select either bit-level or word-level solvers, the former being more accurate but slower.

You can find more information in their release.

Leave a Reply

featured blogs
Jul 20, 2018
https://youtu.be/KwrfcMtbMDM Coming from CDNLive Japan (camera Asushi Tanaka) Monday: Nicolas's Recipe for Digital Marketing in EDA Tuesday: Embargoed announcement Wednesday: Trends, Technologies, and Regulation in China's Auto Market Thursday: Breakfast Bytes Guide...
Jul 19, 2018
In the footer of Samtec.com, we'€™ve always made it easy to contact us by phone, email, or live chat (even fax back in the day!). To continue to progress this theme, you'€™ll now find a new helpful tool in the footer area of Samtec.com. This tool will match you up with yo...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...