US7149674B1 - Methods for analyzing integrated circuits and apparatus therefor - Google Patents

Methods for analyzing integrated circuits and apparatus therefor Download PDF

Info

Publication number
US7149674B1
US7149674B1 US09/580,854 US58085400A US7149674B1 US 7149674 B1 US7149674 B1 US 7149674B1 US 58085400 A US58085400 A US 58085400A US 7149674 B1 US7149674 B1 US 7149674B1
Authority
US
United States
Prior art keywords
transistors
integrated circuit
transistor
logic state
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US09/580,854
Inventor
Supamas Sirichotiyakul
David T. Blaauw
Timothy J. Edwards
Chanhee Oh
Rajendran V. Panda
Judah L. Adelman
David Moshe
Abhijit Dharchoudhury
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xinguodu Tech Co Ltd
NXP BV
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Priority to US09/580,854 priority Critical patent/US7149674B1/en
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLAAUW, DAVID T., EDWARDS, TIMOTHY J., OH, CHANHEE, PANDA, RAJENDRAN V., SIRICHOTIYAKUL, SUPAMAS, DHARCHOUDHURY, ABHIJIT, MOSHE, DAVID, ADELMAN, JUDAH L.
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA, INC
Application granted granted Critical
Publication of US7149674B1 publication Critical patent/US7149674B1/en
Assigned to CITIBANK, N.A. AS COLLATERAL AGENT reassignment CITIBANK, N.A. AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE ACQUISITION CORPORATION, FREESCALE ACQUISITION HOLDINGS CORP., FREESCALE HOLDINGS (BERMUDA) III, LTD., FREESCALE SEMICONDUCTOR, INC.
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE SEMICONDUCTOR, INC.
Assigned to CITIBANK, N.A., AS NOTES COLLATERAL AGENT reassignment CITIBANK, N.A., AS NOTES COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE SEMICONDUCTOR, INC.
Assigned to CITIBANK, N.A., AS NOTES COLLATERAL AGENT reassignment CITIBANK, N.A., AS NOTES COLLATERAL AGENT SECURITY AGREEMENT Assignors: FREESCALE SEMICONDUCTOR, INC.
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to FREESCALE SEMICONDUCTOR, INC. reassignment FREESCALE SEMICONDUCTOR, INC. PATENT RELEASE Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Assignors: CITIBANK, N.A.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Assignors: CITIBANK, N.A.
Assigned to NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC. reassignment NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to NXP B.V. reassignment NXP B.V. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Assignors: CITIBANK, N.A.
Assigned to SHENZHEN XINGUODU TECHNOLOGY CO., LTD. reassignment SHENZHEN XINGUODU TECHNOLOGY CO., LTD. CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Assignors: CITIBANK, N.A.
Assigned to NXP B.V. reassignment NXP B.V. CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC. reassignment NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation

Definitions

  • the present invention is related to the field of integrated circuit design and more particularly to methods for analyzing integrated circuits.
  • V t dual threshold voltage
  • transistors can have either a high or low threshold voltage characteristic.
  • Low V t devices have approximately twice the switching speed of high V t devices, but they contribute a leakage power that is several orders of magnitude higher along with a slightly higher capacitance.
  • a mixture of low and high V t devices can be used.
  • leakage current analysis is complicated due to the highly non-linear behavior of the drain current of a device with respect to source/drain voltages.
  • Several simple models for subthreshold operation have been in use, but they do not provide good accuracy.
  • SPICE-like simulation using non-linear models can be used to obtain leakage current estimates, but it is very computationally expensive, and becomes infeasible for evaluation of large circuits.
  • FIG. 1 is a flow diagram of a method for selecting threshold voltages for transistors within an integrated circuit
  • FIGS. 2A and 2B illustrate total area and total leakage as a function of delay for an integrated circuit implemented with varying ratios of low threshold transistors to high threshold voltage transistors, according to embodiments of the present invention
  • FIG. 3 is a flow diagram illustrating a method of calculating the average leakage current of an integrated circuit according to one embodiment of the invention
  • FIG. 4 is a flow diagram illustrating a method of determining the dominant logic states of a portion of an integrated circuit according to one embodiment of the invention
  • FIGS. 5A and 5B illustrate a three input NAND gate and a graphical representation of the NAND gate
  • FIG. 5C is a table indicating leakage current and the transistors that have leakage current for each of the possible states of the NAND gate of FIGS. 5A and 5B ;
  • FIG. 6 is a circuit diagram of a DC-connected component (DCC) of an integrated circuit
  • FIGS. 7A , 7 B, 7 C, and 7 D are successive graphical representations illustrating a method for determining a dominant logic state of the DCC of FIG. 6 ;
  • FIG. 8 is a flow diagram of a method for calculating the leakage current of a dominant logic state of a DCC.
  • embodiments of the present invention contemplate methods of improving integrated circuit performance. More specifically, performance is improved in one embodiment of the invention by optimizing the mix and size of transistors having a first threshold voltage (V t ) and transistors having a second V t in an integrated circuit fabricated with a dual V t fabrication process.
  • V t first threshold voltage
  • a dual V t process refers to a process that produces dual n-channel V t 's as well as dual p-channel V t 's).
  • one or more of the methods described below may be implemented as computer software in which computer executable instructions are encoded on a computer readable medium.
  • the computer readable medium is a storage device or memory facility such as a floppy diskette, CD-ROM, DVD, hard diskette, or a ROM or RAM device.
  • a method 100 of improving the performance of an integrated circuit is illustrated.
  • a circuit model such as a hardware description language (HDL) model
  • some of the transistors may be high V t transistors and others may be low V t transistors.
  • high V t transistors may refer to those having a V t of approximately 0.48 Volts
  • low V t transistors may refer to those having a V t of approximately 0.33 Volts.
  • Alternate embodiments may use different V t values where a high V t refers to a V t that is high relative to the low V t .
  • the performance of the circuit is determined in block 102 using any of a variety of simulation or analysis tools. Typically, performance is characterized by one or more metrics such as the speed at which the integrated circuit operates and the standby currents of the circuit.
  • the determined performance is then compared to a set of predetermined constraints in block 104 . These performance constraints may include maximum die size constraints, maximum delay constraints, and maximum standby current constraints. If the constraints are met, no additional modifications or refinements of the circuit are required and the method is terminated. If one or more constraints are not met, however, the optimization flow is continued.
  • an iterative process is initiated in which at least one transistor in the circuit model is selected and modified from a transistor with the first V t to a transistor with the second V t .
  • the initial circuit is implemented with a total area (sum of all transistor widths) equal to a predetermined area constraint, assuming all transistors are fabricated as high V t transistors.
  • at least one of the high V t transistors would be changed to a low V t transistor.
  • a value is calculated. The value is typically based at least in part on circuit delay (speed) and leakage (standby current) obtained with the modified circuit (i.e., the circuit containing the one or more low V t transistors).
  • the calculated value indicates the ratio of change in delay ( ⁇ T) to the change in circuit leakage ( ⁇ I) obtained by lowering the V t of a particular transistor in the circuit model.
  • ⁇ T change in delay
  • ⁇ I change in circuit leakage
  • Block 106 may be repeated for each transistor in the circuit model (or subset of the circuit model), thereby resulting in the generation of a set of values.
  • Each value indicates the cost/benefit ratio of implementing a corresponding transistor in the circuit model as a low V t transistor (where the cost of a lower V t is increased leakage current and the benefit is reduced circuit delay).
  • the set of values generated in block 106 is used to select the transistor (or transistors) that provides the best cost/benefit ratio (e.g., the transistor with the largest ⁇ T/ ⁇ I ratio).
  • the V t of the selected transistor is then set in the circuit model to the second (lower) V t level.
  • the depicted embodiment of method 100 resizes one or more transistors affected by the V t shift of the selected transistor.
  • Obtaining maximum tradeoff between speed and leakage of a design requires simultaneous adjustment of device sizes and threshold voltages. If, in a well-balanced circuit, the V t of a transistor on the critical path is lowered while keeping the transistor sizes fixed, the path will become unduly fast, thereby making the size sub-optimal.
  • the gate capacitance of a transistor increases by approximately 8–10% as its V t is lowered from 0.48 V to 0.33 V, thereby slowing other paths passing through this transistor's gate node. Setting a transistor to low V t without subsequently adjusting transistor sizes in the circuit can actually degrade the performance of the circuit while increasing leakage.
  • Optimization of transistor sizing following a V t modification in one embodiment of the invention includes determining (in block 110 ) the transistors within a “cone of influence” of the selected transistor (the transistor whose V t was altered in block 108 ).
  • the cone of influence of a selected transistor may include all transistors within a specified number of stages of the selected transistor. If, for example, it is theorized that lowering the V t of a selected transistor has a negligible effect on transistors that are more than four stages removed from the selected transistor, the cone of influence is four stages. Under this assumption, all transistors within four stages of the selected transistor are within the selected transistor's cone of influence.
  • the depth of the cone of influence (i.e., the number of stages in the cone of influence) is a function of the change in threshold voltage and is typically less than or equal to four stages.
  • the area of these transistors may then be reduced in block 112 .
  • a linear reduction gradient or other suitable tool may be employed to reduce the area of transistors in a given cone of influence in an automated fashion.
  • Alternate embodiments may use other methods for selecting transistors within the circuit to be reduced. For example, methods other than defining a cone of influence may be used to determine those transistors affected by the V t -lowering of the selected transistor. Therefore, alternate methods may define larger or smaller regions of transistors that are affected, depending on the performance needs of the circuit.
  • the circuit (as a whole) is then resized in block 114 to redistribute the area saved by the area reduction of block 112 in order to decrease the worst case delay in the circuit.
  • the re-sizing of the circuit in block 114 restores the circuit to the previous area (i.e., the area of the device prior to block 112 ).
  • the resizing of block 114 may restore the area of the circuit to the previous area plus an additional amount specified by the user to achieve even more improved performance and further balance path delays in the circuit.
  • the resizing of block 114 may be implemented with a delay/area sensitivity based size optimization tool that balances the delays of all timing paths thereby minimizing total circuit area for a given performance. While these tools typically focus initially on only obviously undersized devices that were affected during the reduction in block 112 , all devices in the integrated circuit are candidates for resizing and thus, excess area is distributed across all critical timing paths.
  • the performance of the circuit is again determined in block 102 .
  • the optimization iteration continues until the performance constraints are met.
  • the total area of the integrated circuit is predetermined and the circuit sizing in block 114 restores the area of the circuit to this predetermined area.
  • the integrated circuit area remains constant as the performance is improved through threshold voltage lowering on selected transistors.
  • FIG. 2A plots the total area as a function of delay. The right most point of the plotted line represents the initial circuit model implemented with all transistors having the first (high) V t . At each iteration, a transistor is selected for V t lowering (block 108 ), thereby decreasing circuit delay while the circuit area remains unchanged.
  • the resizing process includes initially decreasing the size of transistors (block 112 ) within the selected transistor's cone of influence (thereby resulting in a decrease in the total circuit area) and thereafter redistributing this area to further improve device performance (block 114 ) while increasing the circuit area.
  • FIG. 2B illustrates the change in leakage as the circuit model is modified from an all high V t device model to an all low V t device model.
  • V t lowering (block 108 ) increases the leakage current and reduces circuit delay while the resizing of area following V t lowering, by decreasing the sizes of transistors within the selected transistor's cone of influence (block 112 ) and redistributing the area (block 114 ), usually has negligible net effect on the leakage but further reduces the circuit delay.
  • the leakage is initially decreased after transistors in the cone of influence are shrunk, but the leakage increases again as the area saved by shrinking the transistors within the cone of influence is redistributed throughout the remainder of the circuit.
  • calculating the ratio of the change in circuit delay to change in circuit leakage is optimized with an improved method of estimating leakage current of a given circuit model.
  • this improved method of estimating leakage current includes: partitioning an integrated circuit into one or more units referred to herein as DC-connected components (DCC's); determining the dominant logic states (DLS's), as described in greater detail below, corresponding to each of the DCC's; calculating a leakage current for each of the dominant logic states; and calculating a DCC average leakage current by summing the various DLS leakage currents in a weighted fashion that takes the probability of each DLS into consideration.
  • DCC's DC-connected components
  • DLS's dominant logic states
  • DLS refers to a state in which one or more transistors within an integrated circuit see a drain-to-source voltage of the first power supply when the transistor is off.
  • the set of DLS's is usually small compared with the set of all possible states for a circuit of any significance.
  • FIGS. 5A and 5B alternative representations of a simple circuit are depicted.
  • FIG. 5B a graphical representation of the circuit of FIG. 5A is generated by replacing the source/drain path of each transistor with an edge and eliminating the gate nodes. This representation is effective in emphasizing the current paths for subthreshold leakage.
  • FIG. 5C presents a table of the leakage for each of the possible states of the circuit and the transistors across which leakage occurs in each state (i.e., the OFF transistors for which Vds>0). Inspection of FIG.
  • FIG. 5C reveals that the significant majority of leakage current is attributable to states 011, 101, 110, and 111.
  • Vds for at least one OFF transistor is (approximately) equal to Vdd.
  • these states form the set of DLS's for this simple circuit.
  • three OFF transistors (P 1 , P 2 , and P 3 ) have a Vds of approximately Vdd thereby making this state the most dominant of the DLS's.
  • FIG. 5C illustrates that the average leakage current of a circuit is dominated by the leakage current of the DLS's.
  • an accurate estimate of the circuit's average leakage can be obtained by considering a subset of the circuit's possible states rather than attempting to estimate leakage for every possible state.
  • FIG. 3 a flow diagram illustrating a method 300 for estimating the leakage current of an integrated circuit is presented.
  • the integrated circuit is initially partitioned into one or more DC-connected components (DCC's) as shown in block 302 .
  • DCC is a component having a set of transistors coupled through a source or drain node from a power supply node.
  • Each DCC is typically coupled to at least one power supply such as Vdd and is still more typically coupled to a second supply level such as ground (Vss or GND).
  • probabilities may be assigned to each of the circuit model inputs. These input probabilities are then propagated (block 304 ) to calculate probabilities for the DCC inputs. From these probabilities, the probability that a particular DCC is in a particular state can be calculated. However, alternate embodiments may choose not to assign these probabilities. For example, alternate embodiments may assume each state has a same probability. In this case, block 304 would be removed from flow 300 .
  • Each DCC is then analyzed to determine its DLS's in block 306 (as described in greater detail below). For each DLS discovered in block 306 , the leakage current for that DLS is calculated in block 308 .
  • the DCC average leakage current is then calculated in block 310 by weighing each of the calculated DLS leakage currents by the probability that the DCC will be in that DLS. (If no probabilities were calculated, block 310 could simply calculate the average DCC leakage current without regards to the state probabilities or under the assumption that the state probabilites are all the same.)
  • the average leakage current for the circuit is then determined in block 312 by summing the calculated average current for each of the DCC's.
  • FIG. 4 a flow diagram illustrating a method 306 for determining a DLS of an integrated circuit according to one embodiment of the invention is presented.
  • a DCC of the circuit is represented in a simplified fashion.
  • FIGS. 6 and 7A an exemplary circuit diagram and the corresponding simplified representation suitable for determining DLS's are presented for purposes of illustrating method 306 .
  • a minimum partition refers to a partition of the circuit in which the circuit includes two connected components, one of which contains a first power supply node and the other of which contains a second power supply node.
  • the first power supply node may be the Vdd node
  • the second power supply node may be the ground node.
  • the initial partition pair (S 0 , T 0 ) may be defined as the partition in which S 0 contains the Vdd node only and T 0 contains all other nodes (including the ground node).
  • This notation indicates that the set of minimum partition pairs includes a partition pair in which the S partition (the first partition) includes the Vdd node only.
  • the T partition (the second partition) contains all nodes not contained in the S partition.
  • the set of minimum partitions is created (block 404 ) by iteratively moving nodes from the initial T partition to the S partition. Note that not all node groupings result in a minimum partition.
  • FIG. 7A illustrates that the set of minimum partitions is defined by the set of first partitions S where the elements of S are ⁇ Vdd ⁇ , ⁇ Vdd, X ⁇ , ⁇ Vdd, X, Y ⁇ , and ⁇ Vdd, X, Y, Z ⁇ .
  • Each partition in the set of minimum partitions is a candidate as a dominant logic state (DLS).
  • a partial state is created (block 406 ) for the partition pair.
  • the partial state represents the states of the inputs required to form the partition.
  • a graph of the DCC is constructed in block 408 .
  • the graph is then reduced (if possible) in block 410 by removing edges or merging nodes according to known inputs from the partial state.
  • reducing the graph in block 410 includes merging two nodes if the nodes are connected by an edge whose corresponding transistor is logically ON when the partial state is asserted and if the corresponding transistor is of the correct type.
  • S partition the partition containing the Vdd node
  • PMOS devices are of the correct type.
  • T partition the partition containing the GND node
  • NMOS devices are of the correct type.
  • FIG. 7B The state of the circuit representation at this point is depicted in FIG. 7B . Further reduction of the circuit representation is achieved after merging of the Vdd and Y nodes by removing any edge lying in a loop that has no edges in the path from Vdd to GND. As seen in FIG. 7B , the P 1 , P 2 , and P 3 are all part of loops that contain no edges in the Vdd to GND path. Thus, each of these edges can be removed thereby resulting in the circuit representation of FIG. 7C .
  • a set of feasible inputs for the partial logic state is determined (block 412 ) for a transistor (edge) in the reduced representation whose input logic value is not defined.
  • a feasible input is an input that will turn ON a transistor in the reduced representation without turning OFF any other transistor in the reduced representation.
  • the partial state is updated (block 416 ) with the feasible input.
  • the circuit representation is further reduced by repeating blocks 410 and 412 . If no feasible inputs are possible following block 412 (i.e., the set of feasible inputs is empty as determined in block 414 ), all possible states of unknown inputs whose edges remain in the circuit representation are enumerated (block 418 ) and combined with the known partial state to form a set of DLS's.
  • FIG. 8 is a flow diagram illustrating one embodiment of such a method.
  • a graphical representation (such as the representations depicted in FIG. 5B and FIG. 7A ) of a circuit is constructed in block 802 (similar to block 408 ) by replacing transistors with edges that connect the source and drain nodes of the transistor.
  • the graph is reduced (block 804 ) according to the known input logic values in the DLS. The graph reduction is done in the same fashion as described above for block 410 .
  • a first set of transistors including all the fully leaking transistors is determined (block 806 ).
  • a fully leaking transistor is an OFF transistor that is connected between Vdd and GND (i.e., a transistor for which Vgs ⁇ V t and Vds ⁇ Vdd).
  • a leakage value is calculated (block 808 ).
  • the leakage value for each transistor in the first set of transistors is determined from a lookup table where the lookup table contains pre-determined leakage values for various transistor sizes and threshold voltages.
  • the transistor width and V t are used as inputs to the lookup table and the lookup table returns a leakage value.
  • the use of a lookup table beneficially eliminates the need to use formal analytical tools to estimate leakage thereby reducing the time required to estimate leakage current.
  • the transistor's corresponding edge is removed from the graph. The leakage associated with each fully leaking transistor is added together to form an estimate of the leakage current attributable to the fully leaking transistors.
  • leakage for the remaining transistors in the circuit may be calculated (block 810 ) using an analytical tool such as a Newton-Raphson technique for determining the roots of complex equations in order to determine the unknown node voltage (Vd or Vs) of the remaining transistors.
  • the leakage of each remaining transistor is then determined from a lookup table where the lookup table contains predetermined leakage values for various transistor sizes, Vds values, and threshold voltages.
  • the leakage determined for each of these remaining transistors is then added to the previously determined sum of leakage for the first set of transistors to obtain (block 812 ) an estimate of the total leakage for a DLS. Using this technique, an estimate of the circuit leakage for each DLS is then determined.

Abstract

A method of improving performance of a dual Vt integrated circuit is disclosed in which a first value is calculated for each transistor of the integrated circuit that has a first threshold voltage level. The first value is based at least in part on delay and leakage of the circuit calculated as if the corresponding transistor had a second threshold voltage level. One transistor is then selected based on the first values. The threshold voltage of the selected transistor is then set to the second threshold voltage level. The area of at least one transistor within the circuit is modified, and the circuit is then sized to a predetermined area. The process may then be repeated if the circuit performance fails to meet a defined constraint. In one embodiment, the performance determination includes calculating the leakage current of a set of DC-connected components into which the circuit is partitioned, determining dominant logic states for each of the components, estimating the leakage of each of these dominant logic states, and summing the weighted averages of these dominant components based on state probabilities.

Description

FIELD OF THE INVENTION
The present invention is related to the field of integrated circuit design and more particularly to methods for analyzing integrated circuits.
RELATED ART
Increasing demand for portable and other wireless devices has created a greater need for circuits with very low stand-by leakage current. Typically, lower power is achieved through the use of lower supply voltages. Due to this lower supply voltage, power conscious designers have begun to utilize dual threshold voltage (Vt) transistor designs. In a dual Vt circuit, transistors can have either a high or low threshold voltage characteristic. Low Vt devices have approximately twice the switching speed of high Vt devices, but they contribute a leakage power that is several orders of magnitude higher along with a slightly higher capacitance. In order to meet both the leakage and performance requirements of portable devices, a mixture of low and high Vt devices can be used. Unfortunately, conventional design methodologies cannot provide a method for determining which of the transistors in an integrated circuit will be designed as low Vt devices and which will be designed as high Vt devices. It is highly desirable to implement a method for automatically selecting an optimal Vt mixture such that all design constraints are met.
Another issue in designing a circuit for portable devices and in performing leakage current optimization is efficiently determining an accurate leakage current of the circuit. Leakage current analysis is complicated due to the highly non-linear behavior of the drain current of a device with respect to source/drain voltages. Several simple models for subthreshold operation have been in use, but they do not provide good accuracy. Also, SPICE-like simulation using non-linear models can be used to obtain leakage current estimates, but it is very computationally expensive, and becomes infeasible for evaluation of large circuits.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate similar elements, and in which:
FIG. 1 is a flow diagram of a method for selecting threshold voltages for transistors within an integrated circuit;
FIGS. 2A and 2B illustrate total area and total leakage as a function of delay for an integrated circuit implemented with varying ratios of low threshold transistors to high threshold voltage transistors, according to embodiments of the present invention;
FIG. 3 is a flow diagram illustrating a method of calculating the average leakage current of an integrated circuit according to one embodiment of the invention;
FIG. 4 is a flow diagram illustrating a method of determining the dominant logic states of a portion of an integrated circuit according to one embodiment of the invention;
FIGS. 5A and 5B illustrate a three input NAND gate and a graphical representation of the NAND gate;
FIG. 5C is a table indicating leakage current and the transistors that have leakage current for each of the possible states of the NAND gate of FIGS. 5A and 5B;
FIG. 6 is a circuit diagram of a DC-connected component (DCC) of an integrated circuit;
FIGS. 7A, 7B, 7C, and 7D are successive graphical representations illustrating a method for determining a dominant logic state of the DCC of FIG. 6;
FIG. 8 is a flow diagram of a method for calculating the leakage current of a dominant logic state of a DCC.
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of the embodiments of the present invention.
DETAILED DESCRIPTION
Generally speaking, embodiments of the present invention contemplate methods of improving integrated circuit performance. More specifically, performance is improved in one embodiment of the invention by optimizing the mix and size of transistors having a first threshold voltage (Vt) and transistors having a second Vt in an integrated circuit fabricated with a dual Vt fabrication process. (For purposes of this invention, a dual Vt process refers to a process that produces dual n-channel Vt's as well as dual p-channel Vt's). In some embodiments of the invention, one or more of the methods described below may be implemented as computer software in which computer executable instructions are encoded on a computer readable medium. Typically, the computer readable medium is a storage device or memory facility such as a floppy diskette, CD-ROM, DVD, hard diskette, or a ROM or RAM device.
Referring to FIG. 1, a method 100 of improving the performance of an integrated circuit according to one embodiment of the invention is illustrated. In the depicted method, it is assumed that a circuit model, such as a hardware description language (HDL) model, exists for the circuit under consideration. In the existing circuit model, some of the transistors may be high Vt transistors and others may be low Vt transistors. In one embodiment, high Vt transistors may refer to those having a Vt of approximately 0.48 Volts, while low Vt transistors may refer to those having a Vt of approximately 0.33 Volts. Alternate embodiments may use different Vt values where a high Vt refers to a Vt that is high relative to the low Vt.
The performance of the circuit is determined in block 102 using any of a variety of simulation or analysis tools. Typically, performance is characterized by one or more metrics such as the speed at which the integrated circuit operates and the standby currents of the circuit. The determined performance is then compared to a set of predetermined constraints in block 104. These performance constraints may include maximum die size constraints, maximum delay constraints, and maximum standby current constraints. If the constraints are met, no additional modifications or refinements of the circuit are required and the method is terminated. If one or more constraints are not met, however, the optimization flow is continued.
The embodiments described herein can also be applied to the circuit where the constraints are already met. In such case, the performance is further improved and the optimization flow terminates when no more improvement can be obtained for the circuit.
After the performance of the circuit model is determined, an iterative process is initiated in which at least one transistor in the circuit model is selected and modified from a transistor with the first Vt to a transistor with the second Vt. In one embodiment, for example, the initial circuit is implemented with a total area (sum of all transistor widths) equal to a predetermined area constraint, assuming all transistors are fabricated as high Vt transistors. In this example, at least one of the high Vt transistors would be changed to a low Vt transistor. After altering the Vt of one or more of the transistors, a value is calculated. The value is typically based at least in part on circuit delay (speed) and leakage (standby current) obtained with the modified circuit (i.e., the circuit containing the one or more low Vt transistors).
For the embodiment depicted in FIG. 1, the calculated value (as shown in block 106) indicates the ratio of change in delay (ΔT) to the change in circuit leakage (ΔI) obtained by lowering the Vt of a particular transistor in the circuit model. A relatively high ratio would indicate that a relatively large decrease in delay was obtained for a relatively modest increase in leakage. Block 106 may be repeated for each transistor in the circuit model (or subset of the circuit model), thereby resulting in the generation of a set of values. Each value indicates the cost/benefit ratio of implementing a corresponding transistor in the circuit model as a low Vt transistor (where the cost of a lower Vt is increased leakage current and the benefit is reduced circuit delay). In block 108, the set of values generated in block 106 is used to select the transistor (or transistors) that provides the best cost/benefit ratio (e.g., the transistor with the largest ΔT/ΔI ratio). The Vt of the selected transistor is then set in the circuit model to the second (lower) Vt level.
After the Vt of a selected transistor is set to the second Vt level in block 108, the depicted embodiment of method 100 resizes one or more transistors affected by the Vt shift of the selected transistor. Obtaining maximum tradeoff between speed and leakage of a design requires simultaneous adjustment of device sizes and threshold voltages. If, in a well-balanced circuit, the Vt of a transistor on the critical path is lowered while keeping the transistor sizes fixed, the path will become unduly fast, thereby making the size sub-optimal. In addition, the gate capacitance of a transistor increases by approximately 8–10% as its Vt is lowered from 0.48 V to 0.33 V, thereby slowing other paths passing through this transistor's gate node. Setting a transistor to low Vt without subsequently adjusting transistor sizes in the circuit can actually degrade the performance of the circuit while increasing leakage.
Optimization of transistor sizing following a Vt modification in one embodiment of the invention includes determining (in block 110) the transistors within a “cone of influence” of the selected transistor (the transistor whose Vt was altered in block 108). The cone of influence of a selected transistor may include all transistors within a specified number of stages of the selected transistor. If, for example, it is theorized that lowering the Vt of a selected transistor has a negligible effect on transistors that are more than four stages removed from the selected transistor, the cone of influence is four stages. Under this assumption, all transistors within four stages of the selected transistor are within the selected transistor's cone of influence. Typically, the depth of the cone of influence (i.e., the number of stages in the cone of influence) is a function of the change in threshold voltage and is typically less than or equal to four stages. After determining the transistors included within a selected transistor's cone of influence, the area of these transistors may then be reduced in block 112. A linear reduction gradient or other suitable tool may be employed to reduce the area of transistors in a given cone of influence in an automated fashion.
Alternate embodiments may use other methods for selecting transistors within the circuit to be reduced. For example, methods other than defining a cone of influence may be used to determine those transistors affected by the Vt-lowering of the selected transistor. Therefore, alternate methods may define larger or smaller regions of transistors that are affected, depending on the performance needs of the circuit.
Following the area reduction achieved in block 112, the circuit (as a whole) is then resized in block 114 to redistribute the area saved by the area reduction of block 112 in order to decrease the worst case delay in the circuit. In an embodiment in which the circuit must conform to a predetermined area, the re-sizing of the circuit in block 114 restores the circuit to the previous area (i.e., the area of the device prior to block 112). In an embodiment where there is not a predetermined total area constraint, the resizing of block 114 may restore the area of the circuit to the previous area plus an additional amount specified by the user to achieve even more improved performance and further balance path delays in the circuit. The resizing of block 114 may be implemented with a delay/area sensitivity based size optimization tool that balances the delays of all timing paths thereby minimizing total circuit area for a given performance. While these tools typically focus initially on only obviously undersized devices that were affected during the reduction in block 112, all devices in the integrated circuit are candidates for resizing and thus, excess area is distributed across all critical timing paths.
Following the area redistribution in block 114, the performance of the circuit is again determined in block 102. The optimization iteration continues until the performance constraints are met.
In one embodiment, the total area of the integrated circuit is predetermined and the circuit sizing in block 114 restores the area of the circuit to this predetermined area. In this manner, the integrated circuit area remains constant as the performance is improved through threshold voltage lowering on selected transistors. This approach to performance improvement is graphically illustrated in FIG. 2A, which plots the total area as a function of delay. The right most point of the plotted line represents the initial circuit model implemented with all transistors having the first (high) Vt. At each iteration, a transistor is selected for Vt lowering (block 108), thereby decreasing circuit delay while the circuit area remains unchanged. After reducing the Vt of a selected transistor, the resizing process includes initially decreasing the size of transistors (block 112) within the selected transistor's cone of influence (thereby resulting in a decrease in the total circuit area) and thereafter redistributing this area to further improve device performance (block 114) while increasing the circuit area. FIG. 2B illustrates the change in leakage as the circuit model is modified from an all high Vt device model to an all low Vt device model. This plot illustrates that the Vt lowering (block 108) increases the leakage current and reduces circuit delay while the resizing of area following Vt lowering, by decreasing the sizes of transistors within the selected transistor's cone of influence (block 112) and redistributing the area (block 114), usually has negligible net effect on the leakage but further reduces the circuit delay. The leakage is initially decreased after transistors in the cone of influence are shrunk, but the leakage increases again as the area saved by shrinking the transistors within the cone of influence is redistributed throughout the remainder of the circuit.
In one embodiment, calculating the ratio of the change in circuit delay to change in circuit leakage is optimized with an improved method of estimating leakage current of a given circuit model. Broadly speaking, this improved method of estimating leakage current includes: partitioning an integrated circuit into one or more units referred to herein as DC-connected components (DCC's); determining the dominant logic states (DLS's), as described in greater detail below, corresponding to each of the DCC's; calculating a leakage current for each of the dominant logic states; and calculating a DCC average leakage current by summing the various DLS leakage currents in a weighted fashion that takes the probability of each DLS into consideration.
This method takes advantage of the reality that leakage of a gate varies significantly depending upon the gate's state. Because transistor leakage current is non-linearly dependent upon the drain-to-source voltage Vds, states in which more than one OFF transistor forms a path from Vdd to ground (i.e., Vdd is shared across two or more OFF transistors) are far less leaky than states in which one (or more) OFF transistors each shunt the full power supply voltage. These latter states are referred to herein as DLS's. Thus, a DLS refers to a state in which one or more transistors within an integrated circuit see a drain-to-source voltage of the first power supply when the transistor is off. The set of DLS's is usually small compared with the set of all possible states for a circuit of any significance. Referring to FIGS. 5A and 5B, alternative representations of a simple circuit are depicted. In FIG. 5B, a graphical representation of the circuit of FIG. 5A is generated by replacing the source/drain path of each transistor with an edge and eliminating the gate nodes. This representation is effective in emphasizing the current paths for subthreshold leakage. FIG. 5C presents a table of the leakage for each of the possible states of the circuit and the transistors across which leakage occurs in each state (i.e., the OFF transistors for which Vds>0). Inspection of FIG. 5C reveals that the significant majority of leakage current is attributable to states 011, 101, 110, and 111. In each of these states, Vds for at least one OFF transistor is (approximately) equal to Vdd. Thus, these states form the set of DLS's for this simple circuit. In the case of the 111 state, note that three OFF transistors (P1, P2, and P3) have a Vds of approximately Vdd thereby making this state the most dominant of the DLS's. FIG. 5C illustrates that the average leakage current of a circuit is dominated by the leakage current of the DLS's. Thus, an accurate estimate of the circuit's average leakage can be obtained by considering a subset of the circuit's possible states rather than attempting to estimate leakage for every possible state.
Turning now to FIG. 3, a flow diagram illustrating a method 300 for estimating the leakage current of an integrated circuit is presented. In the depicted embodiment, the integrated circuit is initially partitioned into one or more DC-connected components (DCC's) as shown in block 302. A DCC is a component having a set of transistors coupled through a source or drain node from a power supply node. Each DCC is typically coupled to at least one power supply such as Vdd and is still more typically coupled to a second supply level such as ground (Vss or GND).
After partitioning the circuit model into a set of DCC's, probabilities may be assigned to each of the circuit model inputs. These input probabilities are then propagated (block 304) to calculate probabilities for the DCC inputs. From these probabilities, the probability that a particular DCC is in a particular state can be calculated. However, alternate embodiments may choose not to assign these probabilities. For example, alternate embodiments may assume each state has a same probability. In this case, block 304 would be removed from flow 300.
Each DCC is then analyzed to determine its DLS's in block 306 (as described in greater detail below). For each DLS discovered in block 306, the leakage current for that DLS is calculated in block 308. The DCC average leakage current is then calculated in block 310 by weighing each of the calculated DLS leakage currents by the probability that the DCC will be in that DLS. (If no probabilities were calculated, block 310 could simply calculate the average DCC leakage current without regards to the state probabilities or under the assumption that the state probabilites are all the same.) The average leakage current for the circuit is then determined in block 312 by summing the calculated average current for each of the DCC's. By selectively evaluating only those states that contribute most significantly to the leakage current, method 300 reduces the time required to calculate leakage current for a circuit without substantially reducing the accuracy or reliability of the estimate.
Turning now to FIG. 4, a flow diagram illustrating a method 306 for determining a DLS of an integrated circuit according to one embodiment of the invention is presented. In the depicted embodiment, a DCC of the circuit is represented in a simplified fashion. Referring also to FIGS. 6 and 7A, an exemplary circuit diagram and the corresponding simplified representation suitable for determining DLS's are presented for purposes of illustrating method 306. The circuit representation (FIG. 7A) is used to determine a set of partition pairs SI, TI for I=0 to N−1 and N represents the number of minimum partitions into which the circuit can be divided. A minimum partition, as used herein, refers to a partition of the circuit in which the circuit includes two connected components, one of which contains a first power supply node and the other of which contains a second power supply node. In one embodiment, the first power supply node may be the Vdd node, while the second power supply node may be the ground node.
The initial partition pair (S0, T0) may be defined as the partition in which S0 contains the Vdd node only and T0 contains all other nodes (including the ground node). This initial partition pair is constructed in block 402 and is indicated in FIG. 7A by the notation S={VDD}. This notation indicates that the set of minimum partition pairs includes a partition pair in which the S partition (the first partition) includes the Vdd node only. By definition of a minimum partition, the T partition (the second partition) contains all nodes not contained in the S partition. The set of minimum partitions is created (block 404) by iteratively moving nodes from the initial T partition to the S partition. Note that not all node groupings result in a minimum partition. The node pairing {Vdd, Y} for example is not included in the set S of partitions that produce minimum partitions of the circuit because isolating nodes Vdd and Y would require dividing the circuit into three partitions (i.e., {Vdd, Y}, {X}, and {Z, GND}). FIG. 7A illustrates that the set of minimum partitions is defined by the set of first partitions S where the elements of S are {Vdd}, {Vdd, X}, {Vdd, X, Y}, and {Vdd, X, Y, Z}. Thus, there are four minimum partitions of the circuit represented in FIG. 7A. Each partition in the set of minimum partitions is a candidate as a dominant logic state (DLS).
To determine if a minimum partition qualifies as a DLS, a partial state is created (block 406) for the partition pair. The partial state represents the states of the inputs required to form the partition. By way of example, the partition pair of S={Vdd, X, Y} T={Z, GND} is formed by removing from the FIG. 7A circuit representation the edge corresponding to the N1 transistor. Removing an edge from the circuit representation means turning OFF the transistor corresponding to the edge. Since transistor N1 is an NMOS device and the gate of N1 is connected to node A (as seen in FIG. 6), the partial state for this particular minimum partition is A=0. Having determined a partial state for the circuit, a graph of the DCC is constructed in block 408. Continuing with the example under consideration, the graph is then reduced (if possible) in block 410 by removing edges or merging nodes according to known inputs from the partial state.
In one embodiment, reducing the graph in block 410 includes merging two nodes if the nodes are connected by an edge whose corresponding transistor is logically ON when the partial state is asserted and if the corresponding transistor is of the correct type. For the S partition (the partition containing the Vdd node), PMOS devices are of the correct type. For the T partition (the partition containing the GND node), NMOS devices are of the correct type. In the present example, the partial state of A=0 will turn ON transistor P1. Since P1 is a PMOS device in the S partition (i.e., P1 is of the correct type), the two nodes connected by the P1 edge (Vdd and Y) may be merged thereby eliminating the P1 edge. The state of the circuit representation at this point is depicted in FIG. 7B. Further reduction of the circuit representation is achieved after merging of the Vdd and Y nodes by removing any edge lying in a loop that has no edges in the path from Vdd to GND. As seen in FIG. 7B, the P1, P2, and P3 are all part of loops that contain no edges in the Vdd to GND path. Thus, each of these edges can be removed thereby resulting in the circuit representation of FIG. 7C.
Following the reduction of the circuit representation, a set of feasible inputs for the partial logic state is determined (block 412) for a transistor (edge) in the reduced representation whose input logic value is not defined. A feasible input is an input that will turn ON a transistor in the reduced representation without turning OFF any other transistor in the reduced representation. For the current example, a feasible assertion is B=1 since this assertion will turn ON N2 without turning OFF any transistors in the reduced representation.
If a feasible assertion is determined, the partial state is updated (block 416) with the feasible input. Thus the partial-state in the example becomes A=0, B=1 (as illustrated in FIG. 7C). After updating the partial state, the circuit representation is further reduced by repeating blocks 410 and 412. If no feasible inputs are possible following block 412 (i.e., the set of feasible inputs is empty as determined in block 414), all possible states of unknown inputs whose edges remain in the circuit representation are enumerated (block 418) and combined with the known partial state to form a set of DLS's. If A=1 is a partial state and no feasible input for B or C is possible, the list of DLS's would include all states where A=1 (i.e., 100, 101, 110, and 111). After enumerating values for unknown inputs to generate DLS's these new DLS's are added to the list of DLS's for the circuit. If, following assertion of a feasible input, the representation is fully reduced (i.e. the circuit representation includes only the Vdd node and the GND node), unknown inputs will be left undefined in the current DLS. In the present example, following assertion of the B=1 feasible input, the circuit representation is fully reduced thereby leaving the input C in an unknown state (as illustrated in FIG. 7D). For this example, the DLS is the state 01X. Since the dominant logic states of a circuit are the primary contributors to the circuit's leakage, an estimate of the circuit's leakage can be calculated by calculating leakage of each dominant logic state.
One embodiment of the invention contemplates a method 308 for calculating the leakage current from a model of a DCC for a given DLS. FIG. 8 is a flow diagram illustrating one embodiment of such a method. Initially, a graphical representation (such as the representations depicted in FIG. 5B and FIG. 7A) of a circuit is constructed in block 802 (similar to block 408) by replacing transistors with edges that connect the source and drain nodes of the transistor. The graph is reduced (block 804) according to the known input logic values in the DLS. The graph reduction is done in the same fashion as described above for block 410. Then, a first set of transistors including all the fully leaking transistors is determined (block 806). A fully leaking transistor is an OFF transistor that is connected between Vdd and GND (i.e., a transistor for which Vgs<Vt and Vds≈Vdd). For each transistor in this first set of transistors, a leakage value is calculated (block 808). In one embodiment, the leakage value for each transistor in the first set of transistors is determined from a lookup table where the lookup table contains pre-determined leakage values for various transistor sizes and threshold voltages. In one embodiment, the transistor width and Vt are used as inputs to the lookup table and the lookup table returns a leakage value. The use of a lookup table beneficially eliminates the need to use formal analytical tools to estimate leakage thereby reducing the time required to estimate leakage current. As a transistor's leakage is determined from the lookup table, the transistor's corresponding edge is removed from the graph. The leakage associated with each fully leaking transistor is added together to form an estimate of the leakage current attributable to the fully leaking transistors.
After leakage for each of the fully leaking transistors has been determined, leakage for the remaining transistors in the circuit may be calculated (block 810) using an analytical tool such as a Newton-Raphson technique for determining the roots of complex equations in order to determine the unknown node voltage (Vd or Vs) of the remaining transistors. The leakage of each remaining transistor is then determined from a lookup table where the lookup table contains predetermined leakage values for various transistor sizes, Vds values, and threshold voltages. The leakage determined for each of these remaining transistors is then added to the previously determined sum of leakage for the first set of transistors to obtain (block 812) an estimate of the total leakage for a DLS. Using this technique, an estimate of the circuit leakage for each DLS is then determined.
In the foregoing specification, the invention has been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.

Claims (43)

1. A computer implemented method for determining a dominant logic state in an integrated circuit, comprising:
using a representation of the integrated circuit to determine a first partition and a second partition wherein the first partition includes a first power supply node and the second partition includes a second power supply node;
determining a partial logic state corresponding to the first and second partitions;
modifying the representation according to the partial logic state; and
using the modified representation to determine the dominant logic state.
2. The method of claim 1, further comprising:
determining a plurality of partition groups each having two partitions by iteratively moving at least one node From the second partition to the first partition;
determining a partial logic state corresponding to each of the plurality of partition groups; and
for each partial logic state, modifying the representation to determine at least one dominant logic state.
3. The method of claim 2, wherein the at least one node is not the second power supply node.
4. The method of claim 2, wherein modifying the representation includes at least one of removing edges and merging nodes according to known inputs of the partial logic state.
5. The method of claim 2, further comprising determining a first set of feasible inputs for each partial logic state, wherein:
if the first set is empty, enumerating states of the unknown inputs whose edges remain in the representation after modifying the representation to determine the at least one dominant logic state, and
if the first set is not empty, updating the partial logic states based on the feasible inputs.
6. The method of claim 5, further comprising:
if the first set is not empty, modifying the graph representation and determining a second set of feasible inputs after updating the partial logic states.
7. The method of claim 5, wherein enumerating is performed to determine a plurality of dominant logic states.
8. The method of claim 1, wherein the dominant logic state corresponds to a transistor within the integrated circuit that sees a drain-to-source voltage of the first power supply when the transistor is off.
9. The method of claim 1, wherein the representation is a graph representation comprising nodes and edges.
10. The method of claim 9, wherein modifying the graph representation includes at least one of removing edges and merging nodes according to known inputs of the partial state.
11. The method of claim 1, wherein the integrated circuit is a DC-connected component (DCC).
12. A computer implemented method for determining a leakage current of an integrated circuit, comprising:
partitioning the integrated circuit into at least one DC-connected component (DCC);
determining a dominant logic state corresponding to the at least one DCC; and
calculating a leakage current for the at least one DCC corresponding to the dominant logic state.
13. The method of claim 12, wherein determining is further characterized as determining a set of dominant logic states corresponding to the at least one DCC.
14. The method of claim 13, wherein calculating comprises calculating a leakage current corresponding to each dominant logic state within the set of dominant logic states.
15. The method of claim 12, wherein the DCC includes at least one input, the method further comprising:
determining a probability corresponding to the at least one input; and
using the probability and the leakage current to calculate an average DCC leakage current.
16. The method of claim 15, wherein the integrated circuit is partitioned into a plurality of DCCs, each DCC including at least one input, the method further comprising:
determining a set of dominant logic states corresponding to each of the plurality of DCCs;
calculating a leakage current corresponding to each dominant logic state within each set of dominant logic states;
determining a probability corresponding to the at least one input of each DCC;
using the corresponding probability and the corresponding leakage current to calculate an average DCC leakage current for each DCC; and
calculating an average circuit leakage for the integrated circuit using the average DCC leakage currents.
17. The method of claim 12, wherein the integrated circuit is partitioned into a plurality of DCCs, the method further comprising:
determining a set of dominant logic states corresponding to each of the plurality of DCCs;
calculating a leakage current corresponding to each dominant logic state within each set of dominant logic states; and
calculating an average circuit leakage for the integrated circuit.
18. The method of claim 12, wherein:
the at least one DCC is coupled to a first power supply; and
the dominant logic state corresponds to a transistor within the DCC that sees a drain-to-source voltage of the first power supply when the transistor is off.
19. The method of claim 12, wherein determining the dominant logic state corresponding to the at least one DCC comprises:
using a representation of the DCC to determine a first partition and a second partition wherein the first partition includes a first power supply node and the second partition includes a second power supply node;
determining a partial logic state corresponding to the first and second partitions;
modifying the representation according to the partial logic state; and
using the modified representation to determine the dominant logic state.
20. The method of claim 12, wherein calculating the leakage current for the at least one DCC corresponding to the dominant logic state comprises:
constructing a graph having nodes and edges according to the dominant logic state of the integrated circuit;
calculating a leakage for each transistor in a first set of transistors;
modifying the graph based on the first set of transistors;
calculating a leakage for each transistor in a second set of transistors; and
calculating the leakage current for the at least one DCC using the leakages for the transistors in the first set of transistors and the leakages for the transistors in the second set of transistors.
21. A computer implemented method of improving performance of an integrated circuit, comprising;
for each transistor of the integrated circuit having a first threshold voltage level, calculating a first value based at least in part on delay and leakage corresponding to a second threshold voltage level, wherein calculating the first value comprises:
partitioning the integrated circuit into at least one DC-connected component (DCC);
determining a dominant logic state corresponding to the at least one DCC; and
calculating a leakage current for the at least one DCC corresponding to the dominant logic state;
selecting one of the transistors of the integrated circuit based on the first values;
setting the selected one of the transistors to the second threshold voltage level; and
modifying an area of at least one transistor within the integrated circuit.
22. The method of claim 21, further comprising determining a cone of influence of the selected one of the transistors wherein the at least one transistor is within the cone of influence.
23. The method of claim 22, wherein the selected one of the transistors and the at least one transistor is a same transistor.
24. The method of claim 22, wherein modifying includes modifying an area of each transistor within the cone of influence.
25. The method of claim 21, further comprising:
sizing the integrated circuit to a predetermined area after modifying the area of the at least one transistor.
26. The method of claim 25, further comprising determining a cone of influence of the selected one of the transistors, wherein modifying includes modifying an area of each transistor within the cone of influence.
27. The method of claim 25, wherein the integrated circuit has a first area prior to calculating the first values and the predetermined area approximately equals the first area.
28. The method of claim 25, further comprising:
determining a circuit performance;
if the circuit performance is below a predetermined performance level, repeating calculating the first values, selecting one of the transistors, setting the selected one of the transistors, modifying the area of the at least one transistor, and sizing the integrated circuit.
29. The method of claim 21, further comprising:
determining a circuit performance;
if the circuit performance is below a predetermined performance level, repeating calculating the first values, selecting one of the transistors, setting the selected one of the transistors, and modifying the area of the at least one transistor.
30. An improved integrated circuit manufactured using the method of claim 21.
31. A computer implemented method for calculating a leakage current of an integrated circuit, comprising:
constructing a graph having nodes and edges according to a dominant logic state of the integrated circuit;
calculating a leakage for each transistor in a first set of transistors;
modifying the graph based on the first set of transistors; and
calculating a leakage current for each transistor in a second set of transistors.
32. The method of claim 31, wherein the integrated circuit is a DC-connected component (DCC).
33. The method of claim 31, wherein constructing the graph comprises modifying the graph according to a dominant logic state of the integrated circuit.
34. The method of claim 31, wherein the first set of transistors includes transistors of the integrated circuit that are off and are coupled to both a first power supply node and a ground node.
35. The method of claim 34, wherein calculating the leakage for each transistor in the first set of transistors is performed using a lookup table.
36. The method of claim 35, wherein calculating the leakage for each transistor in the second set of transistors comprises:
calculating a node voltage; and
using a lookup table.
37. The method of claim 31, wherein modifying the graph includes removing from the graph an edge corresponding to each of the transistors in the first set of transistors.
38. The method of claim 31, wherein the first set of transistors and the second set of transistors are mutually exclusive.
39. The method of claim 31, further comprising calculating a leakage current of the integrated circuit by summing the leakages for the transistors in the first set and the leakages for the transistors in the second set.
40. A program stored on a computer readable medium including a plurality of computer executable instructions which when executed on a computer performs a process for determining a dominant logic state in an integrated circuit, the program comprising:
a first plurality of instructions for receiving a representation of an integrated circuit;
a second plurality of instructions for determining a first partition and a second partition wherein the first partition includes a first power supply node and the second partition includes a second power supply node;
a third plurality of instructions for determining a partial logic state corresponding to the first and second partitions;
a fourth plurality of instructions for modifying the representation according to the partial logic state; and
a fifth plurality of instructions for using the modified representation to determine the dominant logic state.
41. A program stored on a computer readable medium including a plurality of computer executable instructions which when executed on a computer performs a process for determining a leakage current of an integrated circuit, the program comprising:
a first plurality of instructions for partitioning an integrated circuit into at least one DC-connected component (DCC);
a second plurality of instructions for determining a dominant logic state corresponding to the at least one DCC; and
a third plurality of instructions for calculating a leakage current for the at least one DCC corresponding to the dominant logic state.
42. A computer readable medium having stored therein a program comprising instructions which when executed on a computer perform a process for improving performance of an integrated circuit having a plurality of transistors, each of the plurality of transistors having a first threshold voltage level, comprising:
a first plurality of instructions for calculating a first value based at least in part On delay and leakage corresponding to a second voltage level for each of the plurality of transistors, wherein calculating the first value comprises:
partitioning the integrated circuit into at least one DC-connected component (DCC);
determining a dominant logic state corresponding to the at least one DCC; and
calculating a leakage current for the at least one DCC corresponding to the dominant logic state;
a second plurality of instructions for selecting one of the plurality of transistors based on the first values;
a third plurality of instructions for setting the selected one of the transistors to the second threshold voltage; and
a fourth plurality of instructions for modifying an area of at least one transistor within the integrated circuit.
43. A program stored on a computer readable medium including a plurality of computer executable instructions which when executed on a computer performs a process for calculating a leakage current of an integrated circuit, the program comprising:
a first plurality of instructions for receiving a graph having nodes and edges according to a dominant logic state of an integrated circuit;
a second plurality of instructions for calculating a leakage for each transistor in a first set of transistors;
a third plurality of instructions for modifying the graph based on the first set of transistors; and
a fourth plurality of instructions for calculating a leakage current for each transistor in a second set of transistors.
US09/580,854 2000-05-30 2000-05-30 Methods for analyzing integrated circuits and apparatus therefor Expired - Fee Related US7149674B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/580,854 US7149674B1 (en) 2000-05-30 2000-05-30 Methods for analyzing integrated circuits and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/580,854 US7149674B1 (en) 2000-05-30 2000-05-30 Methods for analyzing integrated circuits and apparatus therefor

Publications (1)

Publication Number Publication Date
US7149674B1 true US7149674B1 (en) 2006-12-12

Family

ID=37497369

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/580,854 Expired - Fee Related US7149674B1 (en) 2000-05-30 2000-05-30 Methods for analyzing integrated circuits and apparatus therefor

Country Status (1)

Country Link
US (1) US7149674B1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161413A1 (en) * 2005-01-14 2006-07-20 Legend Design Technology, Inc. Methods for fast and large circuit simulation
US20080046765A1 (en) * 2006-08-16 2008-02-21 Sony Computer Entertainment Inc. Methods and apparatus for cooling integrated circuits
US20080086819A1 (en) * 2004-10-28 2008-04-17 Arturo Valero Pavia Ergonomic Pillow
US7428716B2 (en) * 2003-09-19 2008-09-23 International Business Machines Corporation System and method for statistical timing analysis of digital circuits
US20080281570A1 (en) * 2007-05-10 2008-11-13 Joshi Rajiv V Closed-Loop Modeling of Gate Leakage for Fast Simulators
US20090164194A1 (en) * 2007-12-20 2009-06-25 Sachin Shrivastava Netlist Partitioning for Characterizing Effect of Within-Die Variations
US20090210201A1 (en) * 2008-02-14 2009-08-20 Bickford Jeanne P Spence System and method to predict chip iddq and control leakage components
CN101609481B (en) * 2009-07-17 2011-03-30 清华大学 Rapid circuit partitioning method based on direct current channel module and strongly connected components
US20120167031A1 (en) * 2010-12-28 2012-06-28 Texas Instruments Incorporated Method for designing a semiconductor device based on leakage current estimation
US8352893B1 (en) * 2011-09-16 2013-01-08 Mentor Graphics Corporation Circuit topology recognition and circuit partitioning
US8769360B2 (en) 2010-10-14 2014-07-01 International Business Machines Corporation Dynamic detection and identification of the functional state of multi-processor cores
US20170068772A1 (en) * 2015-09-08 2017-03-09 Qualcomm Incorporated System for optimizing power leakage and timing delay in an integrated circuit based on a cost factor of replacing cells
US9863994B2 (en) 2016-03-03 2018-01-09 International Business Machines Corporation On-chip leakage measurement
US10365702B2 (en) 2017-04-10 2019-07-30 International Business Machines Corporation Autonomic supply voltage compensation for degradation of circuits over circuit lifetime
US10746785B2 (en) 2016-08-05 2020-08-18 International Business Machines Corporation Dynamic predictor of semiconductor lifetime limits

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751593A (en) * 1996-04-10 1998-05-12 Motorola, Inc. Accurate delay prediction based on multi-model analysis
US5774367A (en) * 1995-07-24 1998-06-30 Motorola, Inc. Method of selecting device threshold voltages for high speed and low power
US5831451A (en) * 1996-07-19 1998-11-03 Texas Instruments Incorporated Dynamic logic circuits using transistors having differing threshold voltages
US6097241A (en) * 1998-07-21 2000-08-01 International Business Machines Corporation ASIC low power activity detector to change threshold voltage
US6169419B1 (en) * 1998-09-10 2001-01-02 Intel Corporation Method and apparatus for reducing standby leakage current using a transistor stack effect
US6175949B1 (en) * 1998-03-24 2001-01-16 International Business Machines Corporation Method and system for selecting sizes of components for integrated circuits
US6300819B1 (en) * 1997-06-20 2001-10-09 Intel Corporation Circuit including forward body bias from supply voltage and ground nodes
US6608509B1 (en) * 1995-03-29 2003-08-19 Hitachi, Ltd. Semiconductor integrated circuit device and microcomputer

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608509B1 (en) * 1995-03-29 2003-08-19 Hitachi, Ltd. Semiconductor integrated circuit device and microcomputer
US5774367A (en) * 1995-07-24 1998-06-30 Motorola, Inc. Method of selecting device threshold voltages for high speed and low power
US5751593A (en) * 1996-04-10 1998-05-12 Motorola, Inc. Accurate delay prediction based on multi-model analysis
US5831451A (en) * 1996-07-19 1998-11-03 Texas Instruments Incorporated Dynamic logic circuits using transistors having differing threshold voltages
US6300819B1 (en) * 1997-06-20 2001-10-09 Intel Corporation Circuit including forward body bias from supply voltage and ground nodes
US6175949B1 (en) * 1998-03-24 2001-01-16 International Business Machines Corporation Method and system for selecting sizes of components for integrated circuits
US6097241A (en) * 1998-07-21 2000-08-01 International Business Machines Corporation ASIC low power activity detector to change threshold voltage
US6169419B1 (en) * 1998-09-10 2001-01-02 Intel Corporation Method and apparatus for reducing standby leakage current using a transistor stack effect

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sirichotiyakul et al. "Stand-by power minimization through simultaneous threshold voltage selection and circuit sizing", ACM 1999. *
Sundararajan et al., "Low power synthesis of dual threshold voltage CMOS VLSI circuits", ACM 1999. *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428716B2 (en) * 2003-09-19 2008-09-23 International Business Machines Corporation System and method for statistical timing analysis of digital circuits
US20090013294A1 (en) * 2003-09-19 2009-01-08 Chandramouli Visweswariah System and method for statistical timing analysis of digital circuits
US8010921B2 (en) * 2003-09-19 2011-08-30 International Business Machines Corporation System and method for statistical timing analysis of digital circuits
US20080086819A1 (en) * 2004-10-28 2008-04-17 Arturo Valero Pavia Ergonomic Pillow
US20060161413A1 (en) * 2005-01-14 2006-07-20 Legend Design Technology, Inc. Methods for fast and large circuit simulation
US20080046765A1 (en) * 2006-08-16 2008-02-21 Sony Computer Entertainment Inc. Methods and apparatus for cooling integrated circuits
US7620827B2 (en) * 2006-08-16 2009-11-17 Sony Computer Entertainment Inc. Methods and apparatus for cooling integrated circuits
US7885798B2 (en) * 2007-05-10 2011-02-08 International Business Machines Corporation Closed-loop modeling of gate leakage for fast simulators
US20080281570A1 (en) * 2007-05-10 2008-11-13 Joshi Rajiv V Closed-Loop Modeling of Gate Leakage for Fast Simulators
US8612199B2 (en) * 2007-12-20 2013-12-17 Cadence Design Systems, Inc. Netlist partitioning for characterizing effect of within-die variations
US20090164194A1 (en) * 2007-12-20 2009-06-25 Sachin Shrivastava Netlist Partitioning for Characterizing Effect of Within-Die Variations
US20090210201A1 (en) * 2008-02-14 2009-08-20 Bickford Jeanne P Spence System and method to predict chip iddq and control leakage components
US9117045B2 (en) * 2008-02-14 2015-08-25 International Business Machines Coporation System and method to predict chip IDDQ and control leakage components
CN101609481B (en) * 2009-07-17 2011-03-30 清华大学 Rapid circuit partitioning method based on direct current channel module and strongly connected components
US8769360B2 (en) 2010-10-14 2014-07-01 International Business Machines Corporation Dynamic detection and identification of the functional state of multi-processor cores
US20120167031A1 (en) * 2010-12-28 2012-06-28 Texas Instruments Incorporated Method for designing a semiconductor device based on leakage current estimation
US8296701B2 (en) * 2010-12-28 2012-10-23 Texas Instruments Incorporated Method for designing a semiconductor device based on leakage current estimation
US8352893B1 (en) * 2011-09-16 2013-01-08 Mentor Graphics Corporation Circuit topology recognition and circuit partitioning
US20170068772A1 (en) * 2015-09-08 2017-03-09 Qualcomm Incorporated System for optimizing power leakage and timing delay in an integrated circuit based on a cost factor of replacing cells
US9863994B2 (en) 2016-03-03 2018-01-09 International Business Machines Corporation On-chip leakage measurement
US10746785B2 (en) 2016-08-05 2020-08-18 International Business Machines Corporation Dynamic predictor of semiconductor lifetime limits
US10365702B2 (en) 2017-04-10 2019-07-30 International Business Machines Corporation Autonomic supply voltage compensation for degradation of circuits over circuit lifetime

Similar Documents

Publication Publication Date Title
US7149674B1 (en) Methods for analyzing integrated circuits and apparatus therefor
Sirichotiyakul et al. Stand-by power minimization through simultaneous threshold voltage selection and circuit sizing
US8645888B2 (en) Circuit timing analysis incorporating the effects of temperature inversion
US7185294B2 (en) Standard cell library having globally scalable transistor channel length
US7219045B1 (en) Hot-carrier reliability design rule checker
US20110307852A1 (en) Systematic benchmarking system and method for standardized data creation, analysis and comparison of semiconductor technology node characteristics
US8201121B1 (en) Early estimation of power consumption for electronic circuit designs
CN102160054A (en) System and method for designing integrated circuits that employ adaptive voltage scaling optimization
US8316339B2 (en) Zone-based leakage power optimization
US7240304B2 (en) Method for voltage drop analysis in integreted circuits
US20060253823A1 (en) Semiconductor integrated circuit and method for designing same
US8407654B2 (en) Glitch power reduction
CN111898335B (en) Circuit reliability analysis method
US6665843B2 (en) Method and system for quantifying the integrity of an on-chip power supply network
US6836753B1 (en) Cone slack allocator for computing time budgets
US8225257B2 (en) Reducing path delay sensitivity to temperature variation in timing-critical paths
US20160292314A1 (en) Scaling memory components of integrated circuit design
Rahman et al. A leakage estimation and reduction technique for scaled CMOS logic circuits considering gate-leakage
US6766500B1 (en) Multiple pass optimization for automatic electronic circuit placement
US7885798B2 (en) Closed-loop modeling of gate leakage for fast simulators
JP5057421B2 (en) Simulation method
US7698672B1 (en) Methods of minimizing leakage current
US8818784B1 (en) Hardware description language (HDL) incorporating statistically derived data and related methods
US6557144B1 (en) Netlist resynthesis program based on physical delay calculation
US7100144B2 (en) System and method for topology selection to minimize leakage power during synthesis

Legal Events

Date Code Title Description
AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIRICHOTIYAKUL, SUPAMAS;EDWARDS, TIMOTHY J.;OH, CHANHEE;AND OTHERS;REEL/FRAME:011144/0952;SIGNING DATES FROM 20000628 TO 20000816

AS Assignment

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC;REEL/FRAME:015360/0718

Effective date: 20040404

Owner name: FREESCALE SEMICONDUCTOR, INC.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC;REEL/FRAME:015360/0718

Effective date: 20040404

AS Assignment

Owner name: CITIBANK, N.A. AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129

Effective date: 20061201

Owner name: CITIBANK, N.A. AS COLLATERAL AGENT,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129

Effective date: 20061201

AS Assignment

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001

Effective date: 20100413

Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001

Effective date: 20100413

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030633/0424

Effective date: 20130521

AS Assignment

Owner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YOR

Free format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:031591/0266

Effective date: 20131101

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20141212

AS Assignment

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0553

Effective date: 20151207

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037354/0225

Effective date: 20151207

Owner name: FREESCALE SEMICONDUCTOR, INC., TEXAS

Free format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0143

Effective date: 20151207

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND

Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037486/0517

Effective date: 20151207

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND

Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037518/0292

Effective date: 20151207

AS Assignment

Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001

Effective date: 20160912

Owner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001

Effective date: 20160912

AS Assignment

Owner name: NXP B.V., NETHERLANDS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001

Effective date: 20160622

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:041703/0536

Effective date: 20151207

AS Assignment

Owner name: SHENZHEN XINGUODU TECHNOLOGY CO., LTD., CHINA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS.;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:048734/0001

Effective date: 20190217

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITYINTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:053547/0421

Effective date: 20151207

AS Assignment

Owner name: NXP B.V., NETHERLANDS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052915/0001

Effective date: 20160622

AS Assignment

Owner name: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC., NETHERLANDS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVEAPPLICATION 11759915 AND REPLACE IT WITH APPLICATION11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITYINTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:052917/0001

Effective date: 20160912