The present invention relates to a computer-implemented method for debugging low power integrated circuit (IC) design, and in particular, to a method for creating an integrated graphic user interface to debug the IC design and provide a map of its power usage.
Mobile and consumer electronic devices such as personal mobile computers, MP3 audio players, notebooks and digital cameras are in wide use. The drive twoards low power consumption in increasingly thinner and lighter products require integration of a number of components on an IC. For example, as more circuits are integrated on a system-on-chip (SoC) IC to perform increasingly more complex functions at lower power, the IC becomes more difficult to debug. In many low power designs, a circuit is divided into many parts, referred to as power domains, each of which may be associated with a power supply. A power domain is a collection of instances, pins and ports that can share the same power distribution network (voltage). Some of the power domains can be turned on or off by a power switch. Power switches are used to turn off unused parts of the design to conserve power consumption.
An isolation cell is used to isolate signals between two power domains where one is switched on and one is switched off Such cells are used to isolate signals originating in a power domain that is being switched off An isolation cell ensures that when a power domain is turned off, its output has a predefined or latched value, thus leaving other active domains unaffected.
A level shifter is typically required to change one voltage level to another voltage level across different power domains. Therefore, a low power SoC IC, in addtion to a number of digital circuits, often includes power network circuitry with a multitude of power components.
Referring to
In order to specify low power design constraints so as to minimize energy consumption, a power supply network is specified to control the distribution of power. Using UPF, one can specify the network at an abstract level. Such a network includes supply ports, supply nets, power switches, and is a high-level abstraction of the electrical network of the power aspect of the chip. Supply ports provide supply interfaces to power domains and switches, whereas supply nets connect supply ports. Since the supply network is specified apart from the logic design, the logic design specification remains independent of power supply network specifications.
Since traditional hardware description languages (HDL) are not adequate to specify the power design information, a power format, such as UPF, provides a format without changing the existing HDL codes. For instance, UPF provides a command, create_power_domain, for creating a power domain and grouping the design instances associated with the power domain. Other power components, such as power switches, isolation cells, and level shifters may be created by using the corresponding commands defined by the power formats.
Once the Verilog design and the power design based on the power format are taken into consideration, the IC design can be analyzed and debugged. However, to the extent that a conventional circuit design file is separate from the power network design, to debug a circuit a designer is required to establish a relationship between these two files.
Furthermore, circuit designers are primarily focused on the functionalities of the circuit design and to creat hierarchies based on the functional and logic view of the design. However, power designers prefer to have the design hierarchies in a physical form which can be defined by a power format having a multitude of power domains within the power network design. As a result, it is inefficient and error prone for the designers to debug the entire chip if the low power network design is not viewed in the top level and does not interact with the power designer. A need continues to exist for a more efficient and reliable technique to design low power circuits.
In accordance with embodiments of the present invention, power information is displayed in a graphic window, referred to as a power map, to help users quickly understand the power structure and the relationship between power network design and circuit design to enable easy debugging. The power map includes power domains, isolation cells, level shifters, power switches and power supplies.
One embodiment of the present invention provides a computer-implemented method for generating and displaying a power map, which is a power schematic diagram in a graphic window to show the low power network design based on the low power information defined in a power format in top level, to allow designers debug the low power network design and its associated circuit design, in which the power map comprises a plurality of power domain symbols to represent power domains and to link to the associated parts of the circuit design.
One embodiment in the present invention is to provide a method to generate and display a power map by the following steps. First, the original circuit design HDL codes, which are some text files, are transformed into internal structure which generally is hierarchical structure called circuit design hierarchies and stored in a knowledge data base generated by a HDL parser, and the original circuit design hierarchies of the knowledge data base are regrouped to new hierarchies which are defined by power specification. In the new hierarchies, instances sharing the same power domain are grouped together. After that, the new hierarchies called power domain circuit design hierarchies are stored in a power data base. Finally, the power map is created from the power data base; it can also display the mismatches or errors between the power specification and the circuit design for those improperly handled signals that connect the power domains.
The present invention discloses that the power map comprises low power symbols such as power domain symbols, isolation cells, level shifter cells, and power switch cells. Furthermore, the power map is used in conjunction with a simulation result to provide debugging information to the designers, such as displaying the current values of simulation result for signals in the power map at a specific simulation time or displaying the waveforms of simulation result for a period of simulation time in a waveform window by dragging and dropping selected signals in the power map into the waveform window. Moreover, the power map also provides a methodology to detect which HDL signals are not covered by isolation connection and level shifter connection, and will invoke this function automatically when power map is created.
A feature of the power map, which is displayed in a graphic window, is that it provides some active annotation to easily communicate and interact with users. Accordingly, it is more user friendly to let users debug power network together with digital circuit design in an interactive interface.
Another object of this invention is to provide a solution to display low power information in a graphic window with a hierarchical representation for power domains to provide an intuitive way to view the parent-child relationships among power domains.
One embodiment in the present invention is to provide a method to generate and display the power map with a hierarchical representation, wherein the power map comprises a plurality of power domains and each of the plurality of power domains is associated with the part of the circuit design that belongs to the power domain, wherein the plurality of power domains are grouped into a plurality of sets of power domains with a representation to indicate the boundaries and parent-child relationships among the plurality of power domains. In order to present a hierarchical power map, it is necessary that at least one set of power domains contains at least two power domains in which there is a parent power domain and at least one child power domain inside the parent power domain, wherein each of the power domains is associated with a corresponding power control for controlling the power domain, and the status of the power control is displayed on the power map.
One embodiment of the power map is generated for debugging an IC design having different operating modes, wherein the power map comprises a token to set and display current mode of the IC design. Once the current mode is changed to a new mode, the power domains of the power map will be redrawn under the new mode of the IC design as specified in the low power specification.
The detailed technology and above preferred embodiments implemented for the present invention are described in the following paragraphs accompanying the appended drawings for people skilled in this field to well appreciate the features of the claimed invention.
The foregoing aspects and many of the accompanying advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description when taken in conjunction with the accompanying drawings, wherein:
At 6, the power map is created based on the power data base and displayed via a user-friendly GUI (graphical user interface) window. The power map may include many objects such as power domain symbols and isolation cells, described in detail below. If a power domain in a power map is invoked in the user-friendly GUI window, for example, by the user click, the circuit design associated with the power domain is invoked. Therefore, the debugging of the entire chip with power network design and the related HDL code is more efficient and simpler than conventional techniques.
At 7 static checking may be performed to identify mismatches or errors between the power specification and the circuit design for improperly handled signals that connect the power domains. Such mismatches or errors may be shown to users by annotations, such as dotted lines, symbols, or colored highlights, as illustrated at 8.
Referring to
After new hierarchies are defined by the power specification having a multitude of power domains, they can be stored in a power database, which is an internal computer-readable data structure integrating the circuit design and power network design information. The power database may be manipulated or controlled by software.
After the power data base is generated, the power map may be used to display the power network design, as shown in
An isolation cell 16 representing an isolation command includes a multitude of isolation nets 20 for connection with power domains, and an isolation condition net 21 to present the isolation condition expression. Isolation cell 16 is shown as displaying a trigger status symbol positioned on the top-left of the isolation cell 16. If the associated condition's value is “1”, the trigger status is successful and the trigger status symbol displays an up-arrow 22a, otherwise the trigger status symbol displays a down-arrow 22b.
A level shifter cell 17 representing a level shifter command may include a multitude of level shifter nets 23 to connect with power domains.
A power switch cell 18 representing a power switch may include a multitude of power switch nets 24 for connection with a power supply 19a, or with one or more power domains, or with other power switch cells. Moreover, power switch cell 18 also includes a condition pin 26. When a user turns on active annotation, condition value 25 is annotated on condition pin 26. The active annotation provides for interaction and easy communication with the power map. The active annotation can be turned on by an “active annotation mechanism”. For example, it may be turned on by clicking a highlighted icon or a symbol, or by selecting an item using a mouse button to annotate the condition value 25 on the condition pin 26.
Furthermore, in one embodiment, the power map uses a dotted line of red color with mark “iso” 27 to display a signal without proper isolation, and a dotted line of red color with mark “lvs” 28 to display a signal without a level shifter.
The rules for each power component used in a power map are as follows.
Referring to
Referring to
Referring to
A signal connection connecting power domains but not specified by isolation rules and/or level shifter rules in the power specification is called non-covered connection. Referring to
After the power map is generated, static checking can be performed to detect all mismatches or errors between the power specification and the circuit design to notify the user where such mismatches or errors occur. Mismatches or errors can occur in many ways. For example, the connectivity may be wrong in the isolation/level-shifter cell connection; the control signal may be missing or mismatched in power control signal connected to a power switch; the isolation cells may be useless due to mismatches or missing control signals or there may be improperly covered isolation connections or improperly covered level shifter connections due to missing isolation and/or level shifter cells for the nets connecting to the power domains. Furthermore, in order to ensure that there are both isolation and level shifter connections between two power domains which have HDL signals between them, the power map can create virtual nets (referred to alternatively herein as virtual power rule nets) therebetween to alert designers. For example, if two power domains do not have isolation and/or level shifter connections between them the power map will create a virtual level shifter power rule net and/or a virtual isolation power rule net between them. The impacted signals of each of the two virtual power rule nets are all the HDL signals between the two power domains.
Referring to
The power map is further adapted to display the current values of the simulated signals at any simulation time. In one embodiment, the power map includes a signal value list window 29, as shown in
A status of the first power control 701 of the first set of the power domains PD_CPU 710 is displayed along the first rectangular shape. For example, the status of the first power control PD_CPU 701 shows that the first set of power domains is ON with a voltage level of 1.2V. Likewise, the status of power controls of power domains PD_ALUB 711, PD_PCU 712, PD_CCU 713, PD_FSM 721 and PD_RAM 731 are displayed as 702, 704, 703, 705 and 706 respectively. In another example, the status of the power control 705 of power domain PD_FSM 721 shows that the power of PD_FSM 721 is changed from ON to OFF. The status of the power control 706 of power domain PD_RAM 731 shows that the power of PD_RAM 731 is ON with a voltage level of 0.8V. In order to help debug a circuit, static checking may also be performed to identify mismatches or errors between the power specification and the circuit design for improperly handled signals that connect the power domains. Such mismatches or errors may be shown to users by one or more annotations, such as dotted lines, symbols, or colored highlights as illustrated in
The isolation cell 754 is shown as connecting the power domain PD_ALUB 711 to PD_FSM 721, and having a clamp value of logic “high”. Likewise, the isolation cell 755 is shown as connecting the power domain PD_alu 714 to PD_FSM 721 and having a clamp value of logic “high”. The isolation cell 756 is shown as connecting the power domain PD_ALUB 711 to PD_RAM 731. However, the clamp value of the isolation cell 754 is not defined and not shown in the power map. Likewise, the clamp values of the isolation cells 753, 754 and 752 are not defined and not shown in
For circuits having multiple operating modes, to avoid merging all the operating modes into a single power map which may make viewing complex and debugging difficult, each operating mode can have its own power map. As a result, for each mode, a corresponding hierarchical power map can be generated and displayed independently. For example, as shown in
In one embodiment, the computer-implemented method for creating the power map, in accordance with the present invention, is as follows. As shown in
At 764, static checking may be performed to detect mismatches or errors between the power specification and the circuit design for improperly handled signals that connect the power domains. The mismatches or errors may be displayed to users by one or more annotations such as dotted lines, symbols, or colored highlights as illustrated at 765.
The above embodiments of the present invention are illustrative and not limitative. Other additions, subtractions or modifications are obvious in view of the present disclosure and are intended to fall within the scope of the appended claims.
This application is a continuation-in-part of U.S. application Ser. No. 13/158,471, filed Jun. 13, 2011, and entitled “Hierarchical power map for low power design,” which claims the benefit of priority of U.S. Provisional Application No. 61/358,002, filed Jun. 24, 2010, and entitled “Method and system for displaying IC design intent with power domain intent,” the contents of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61358002 | Jun 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13158471 | Jun 2011 | US |
Child | 13718979 | US |