The Next UPF
By Erich Marschner
If all goes according to schedule, the new version (2.1) of five-year-old Unified Power Format (UPF) standard will be approved by the IEEE early next year. This is good news, because in the five years since UPF was first defined the demand for systems with both longer battery life and more functionality has increased significantly. As just one example: according to Gartner, 169.2 million smartphones were sold worldwide during the three-month period ending in September, a 47% increase over the same period last year.
Numbers like this will, of course, drive the need for ever more sophisticated power management architectures, which are also important in laptops and non-portable systems. UPF 2.1 includes a host of enhancements to the way power intent is specified and controlled and will invariably start making its way into EDA tools in the months ahead—which is why now is a good time to start learning about the evolution of the standard.
UPF 1.0 was released as an Accellera standard in 2007. The Accellera standard was then donated to and further developed in the IEEE. The updated standard, known as UPF 2.0, was released as IEEE Std 1801 UPF in March 2009. Since then, the IEEE P1801 working group has been developing the next version of the standard, known as UPF 2.1. This new version went to ballot in late September. The initial ballot was completed at the end of October, and the working group is now reviewing comments received during the ballot to determine what changes, if any, need to be made to the draft standard to address those comments.
UPF 1.0 provided a good set of basic capabilities for defining power intent to drive both early verification and implementation of power management. UPF 2.0 added a number of enhancements to enable easier specification of more complex power management systems, such as supply sets (groups of related supply nets, including bias supplies); power states, for both supply sets and power domains; simstates (which define the behavior of devices powered by a given supply set), including support for modeling sleep states and other non-operational states; and support for successive refinement, in which power intent is specified incrementally as IP blocks are composed to create a system. Over the past few years, UPF users have been adopting more and more UPF 2.0 capabilities as they move beyond the UPF 1.0-based flows they adopted initially for low-power design and verification. With the advent of UPF 2.1, even more advanced features for power intent specification will become available.
So what new features does UPF 2.1 bring to the table?
UPF 2.1 defines some new concepts and further elaborates existing concepts to enable simpler and more flexible power intent specifications. One example of a new concept is that of equivalent supply nets and supply sets. Two supply nets are considered electrically equivalent if they are connected; two supply sets are considered electrically equivalent if each of their supply functions is associated with one of a pair of electrically equivalent supply nets. UPF 2.1 also defines the concept of functional equivalence, which comes into play when two supply nets or supply sets are not connected but are still expected to always have the same states and voltages. Similarly, the existing concept of precedence in UPF 2.0 has been extended significantly to apply to more situations and to provide more levels of precedence, such as the ability to specify the clamp value for all bits of a bus generally while also specifying a different clamp value for specific bits.
UPF 2.1 also defines new commands and options for greater flexibility and control of power intent. These include enhanced support for hierarchical power intent specifications and macro modeling, a new command and new command options for controlling when supply equivalence is considered in various other commands, and a new command for specifying strategies for inserting repeater cells (i.e., buffers) in much the same way that isolation and level shifting strategies can be defined. An extension of the find_objects command adds the ability to locate instances in the design based upon the module type of the instance—for example, to find all instances of a specified memory model to include in a memory power domain. More significantly, a collection of new commands for defining power management cells has been added to UPF 2.1, based upon CPF concepts donated by Si2 to the IEEE P1801 working group.
Methodology is another area in which the UPF 2.1 specification has been extended. The specification includes annexes containing detailed explanation of how UPF concepts and commands can be used most effectively. A major aspect of this is how UPF commands support hierarchical specification of power intent, at the IP block level, subsystem level, and system level. Another aspect is modeling power intent for hard macros, using new commands in UPF 2.1 for defining a power model. A third aspect is modeling power management cells such as isolation and level shifting cells.
The UPF 2.1 specification also contains updates that clarify the concepts, syntax, and semantics of UPF 2.0 to remove ambiguity and inconsistencies that have been noted over time. For example, the semantics of retention registers has been extensively updated to explicitly cover “live-slave” style retention as well as “balloon-latch” style retention. Source and sink filters used to determine where isolation and level shifting strategies are applied have also been updated so that both domain-based and supply-set-based filters can be used in either context. Many other clarifications relating to UPF command processing order, power management cell inference, and power aware simulation semantics make the UPF 2.1 definition more robust. Finally, restrictions have been applied in some areas to reduce the potential complexity of UPF specifications and make them easier to understand.
While the new features of UPF 2.1 will no doubt be very useful, an equally important aspect of the new UPF standard is the broad support it has received from standards organizations, EDA tool developers, and designers/verification engineers. The IEEE P1801 working group itself illustrates this breadth of support quite well. Its membership includes representatives of both the Accellera and Si2 standards organizations, EDA vendors Mentor Graphics, Synopsys (+Magma), Cadence, and Atrenta, and about a dozen companies that design advanced low power systems using UPF. As a result, the new UPF 2.1 specification has definitely benefited from the aggregate expertise of so many of the most advanced practitioners of low power design and verification.
As with all standards, it will take some time before the new version of the standard is widely supported by all tools, but if history is any indication, we can expect to see many of the new features of UPF 2.1 available within a year or so. That said, because UPF 2.1 is based upon UPF 2.0, much of the new standard already is available in existing tools that support UPF 2.0. Becoming familiar with and using the existing UPF 2.0 standard would be an excellent way to prepare for adoption of UPF 2.1 features as they come on line.
Joining the IEEE P1801 UPF working group is another excellent way to become familiar with the UPF 2.1 definition. Working group membership is entity-based, which is to say that the members are corporations or similar organizations represented in the working group by individuals. If your organization is interested in tracking and contributing to the continuing development of standards for low power design and verification, you should consider joining the P1801 working group. Information about the UPF standard and about the P1801 working group is available here. http://standards.ieee.org/develop/project/1801.html.
—Erich Marschner is a product manager for power-aware verification at Mentor Graphics.