Now that there are two competing industry formats to capture power intent for low-power designs—the Common Power Format (CPF) and the Unified Power Format (UPF)—design teams need to understand the similarities and differences between the two. A few design companies may be able to ignore one format or the other, but most design companies will use both formats.
The first reference to the CPF file format came in early 2006, when Cadence announced its Power Forward Initiative. In late 2006, Cadence and the Silicon Integration Initiative (Si2) created the Low Power Coalition (LPC) under Si2’s auspices to develop the CPF format.
In January 2007, LPC released the first public document containing the CPF format definition. That document is available at www.si2.org. Cadence’s tool suite supports CPF, and several EDA vendors also support the format as defined in the LPC document. At DAC 2006, a number of other companies, led by Texas Instruments and Nokia, met to create a second format with broader EDA company support. The project was dubbed the Unified Power Format, and Accellera formed a committee to hammer out the details.
In January 2007, Accellera released its UPF 1.0 specification. This document is available at www.accellera.org. In January 2008, Magma, Mentor, and Synopsys jointly announced support for UPF in their tools. And once again, a number of other EDA vendors also supports the format.
During 2007, IEEE established a working group to create an industry-standard power-intent format. This standard will be called IEEE-P1801. The working group accepted donations of existing formats as a starting point. Accellera donated UPF, but Cadence did not donate CPF.
A draft of the format is expected to be available at DAC 2008. There’s hope it will be ratified by late 2008. In many ways, P1801 is an improvement of UPF. One way to think about P1801 is as “UPF version 1.1.” (For more on the history of these formats, see “Power-Intent Standards Vie For Designers’ Loyalties” at www.electronicdesign.com, ED Online 18123.)
FORMAT SIMILARITIES The CPF and UPF formats have 90% of the same concepts using completely different syntaxes. But all of the main aspects of power intent for low-power design can be captured in either format. Both formats are based around Tcl, the tool control language embedded in most EDA tools. Thus, we can regard either format as a set of Tcl procedure definitions rather than a new, unique language. In particular, both formats provide a way to describe:
• Voltage domains, or blocks operating at different voltages that require level shifters on all domain crossings • Power domains, or blocks with a separate power supply that can be turned off • Multiple supply nets with differing names and connections; in this type of design, there’s no longer any single global power connection • Isolation logic, placed at the outputs of power domains where there’s a crossing to logic, which may remain powered on • Retention registers, which are flip-flops within a power domain that have an “always-on” supply connection to retain state when the domain is shut off • Always-on cells and paths for logic in a power domain (besides retention registers), which must remain powered on when the block that contains them is powered off • Power switches, which are large on-chip switching transistors to shut off the power to a power domain.
Except for a few very minor points, any design that uses these features can be completely represented in either CPF or UPF. However, the syntax of a CPF representation will be completely different from that of a UPF representation. Each file would have a number of commands, and options to each command, to capture the power intent.
In a few cases, there’s a one-to-one correspondence between a CPF command option and a UPF command option. But, in general, the bits of information about the power intent “hang differently” from the CPF commands and the UPF commands. One piece of the designer’s intent may be represented in two commands with three options in CPF, but it also may be represented in three commands with two options in UPF.
FORMAT DIFFERENCES The primary difference between the formats is that UPF doesn’t contain any commands to define library elements such as a level shifter or retention register. In both formats, you can require a particular library cell to be used in a certain situation. For example, you can require a specific level shifter to be used on all crossings between two specific domains. UPF doesn’t give you any syntax to define the level-shifter cell, its supply pin names, and its data pin names, though. CPF does provide syntax to define these library attributes.
In UPF, it’s assumed that some other library format exists, such as Liberty (“ Synopsys dot lib”), to capture this information. The Liberty 2006.6 standard contains some features for this, but the more recent 2007.3 version contains enough information to model level shifters and always-on cells and pins. It’s not yet clear how many library providers have created libraries based on this standard, but the required fields are there.
Please refresh the page if you have trouble reading this text.
Search Electronic Design
Email Newsletter
Sponsored By:
The Find Power Products monthly newsletter brings you the most important new developments within the world of power design. The newsletter includes exerpts from industry leader Sam Davis's exclusive blog, as well as overviews of the latest new products.
Enter Email to Subscribe
Web Seminar
Sponsored By:
Title: Exploring How Good GUIs Drive Adoption in the Digital Power Management Space