Patents by Inventor Robert E. Mains

Robert E. Mains has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8380656
    Abstract: A method for computing power consumption includes querying a software database for a key node and a gate comprising an input port, connected to the key node, and an output port. The software database is created from a net list associated with a design. The method includes calculating a probability of activity level at the output port based on a predetermined activity level at the key node, and querying the software database for next gate comprising a next input port, connected to the previous output port, and a next output port. The method includes calculating a probability of activity level at the next output port based on the probability of activity level at the previous output port. The method includes computing a sub-circuit gate power by sum of power of all the gates based on the probability of activity level at output ports of the gates.
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: February 19, 2013
    Assignee: Oracle America, Inc.
    Inventors: Krishnan Sundaresan, Wei-Lun Hung, Jaewon Oh, Robert E. Mains
  • Publication number: 20110106748
    Abstract: A method for computing power consumption includes querying a software database for a key node and a gate comprising an input port, connected to the key node, and an output port. The software database is created from a net list associated with a design. The method includes calculating a probability of activity level at the output port based on a predetermined activity level at the key node, and querying the software database for next gate comprising a next input port, connected to the previous output port, and a next output port. The method includes calculating a probability of activity level at the next output port based on the probability of activity level at the previous output port. The method includes computing a sub-circuit gate power by sum of power of all the gates based on the probability of activity level at output ports of the gates.
    Type: Application
    Filed: October 30, 2009
    Publication date: May 5, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Krishnan Sundaresan, Wei-Lun Hung, Jaewon Oh, Robert E. Mains
  • Patent number: 7802217
    Abstract: Broadly speaking, the embodiments of the present invention fill the need for a method of designing semiconductor device chips with reduced power consumption. The embodiments describe methods that are activity-based and are used for power optimization. The embodiments provide methods of selecting instances of a block of a chip to be replaced by either gate-length bias (GBIAS) cells or high-threshold-voltage (HVT) cells with minimal impact (little or no impact) on the overall performance of the chip. Only instances not on the critical path(s) are selected. Instances with low activities and high slack thresholds are chosen to be replaced by either GBIAS cells or HVT cells. By replacing the instances with low activities and high slack threshold, the performance impact on the block and chip is minimized. The replacement results in net power reduction, which is critical to advanced device technologies.
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: September 21, 2010
    Assignee: Oracle America, Inc.
    Inventors: Venkatesh P. Gopinath, Krishnan Sundaresan, Jaewon Oh, Ke Peng, Robert E. Mains
  • Patent number: 7797658
    Abstract: A method and apparatus for executing multithreaded algorithm to provide static timing analysis of a chip design includes analyzing a chip design to identify various components and nodes associated with the components. A node tree is built with a plurality of nodes. The node tree identifies groups of nodes that are available in different levels. A size of node grouping for a current level is determined by looking up the node tree. Testing data for parallel processing of different size of node groupings using varied thread counts is compiled. An optimum thread count for the current level based on the size of node grouping in the node tree is identified from compiled testing data. Dynamic parallel processing of nodes in the current level is performed using the number of threads identified by the optimum thread count. An acceptable design of the chip is determined by the dynamic parallel processing.
    Type: Grant
    Filed: October 22, 2007
    Date of Patent: September 14, 2010
    Assignee: Oracle America, Inc.
    Inventors: George J. Chen, Darryl J. Gove, Robert E. Mains
  • Publication number: 20090327985
    Abstract: Various methods and apparatus for executing a multithreaded algorithm that performs a static timing analysis of an integrated circuit chip (chip) include logic for traversing the chip to identify a plurality of components (cells or nodes) within a chip circuit of the chip. A waveform graph is defined for the identified nodes. One or more virtual graphs are generated from the waveform graph. The plurality of nodes in the one or more virtual graphs are processed using multiple threads to obtain quadruplet of time domain dataset values representing the different modes of propagation for each node. A timing check is performed at an end node of the virtual graphs using the quadruplet of time domain dataset values to determine any timing violation within the chip design.
    Type: Application
    Filed: June 26, 2008
    Publication date: December 31, 2009
    Inventors: George J. Chen, Gilda Garreton, Steven M. Rubin, Robert E. Mains
  • Publication number: 20090106717
    Abstract: A method and apparatus for executing multithreaded algorithm to provide static timing analysis of a chip design includes analyzing a chip design to identify various components and nodes associated with the components. A node tree is built with a plurality of nodes. The node tree identifies groups of nodes that are available in different levels. A size of node grouping for a current level is determined by looking up the node tree. Testing data for parallel processing of different size of node groupings using varied thread counts is compiled. An optimum thread count for the current level based on the size of node grouping in the node tree is identified from compiled testing data. Dynamic parallel processing of nodes in the current level is performed using the number of threads identified by the optimum thread count. An acceptable design of the chip is determined by the dynamic parallel processing.
    Type: Application
    Filed: October 22, 2007
    Publication date: April 23, 2009
    Inventors: George J. Chen, Darryl J. Gove, Robert E. Mains
  • Patent number: 7216316
    Abstract: Broadly speaking, a method is provided for evaluating nets in a crosstalk noise analysis. More specifically, a method is provided for evaluating timing window overlap between a pair of nets. The method includes selecting one timing window from each net of the pair of nets for analysis. The method further includes analyzing characteristics of the timing windows selected from the pair of nets to identify a timing window overlap presence, wherein the timing window overlap presence can exist between any two timing windows associated with each net of the pair of nets, respectively.
    Type: Grant
    Filed: March 5, 2004
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeannette N. Sutherland, Robert E. Mains, Matthew J. Amatangelo, Shervin Hojat
  • Patent number: 7206958
    Abstract: Given two synchronous clocks which transact data from a transmitter element to a receiver element which are analyzed by static timing, the interval between the transmitting data launch clock edge and the receiving capture clock edge is adjusted from the clock waveforms provided in order to represent the worst case slack situation between these two clocks over time. The amount of this adjustment is determined without unrolling (enumerating) all possible launch/capture pairs for these clocks. The greatest common divisor (GCD) of a transmit clock frequency and a receive clock frequency is determined. An effective phase shift is determined by performing a MOD operation between the GCD and an offset of the transmitter and receiver clocks. An algorithm uses the GCD and effective phase shift to determine a launch/capture interval that corresponds to a critical slack condition.
    Type: Grant
    Filed: October 21, 2003
    Date of Patent: April 17, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeannette N. Sutherland, Robert E. Mains, Matthew J. Amatangelo
  • Patent number: 7051305
    Abstract: A method of estimating delay which includes configuring a first signal path and second signal path such that the first signal path is a victim signal path and the second signal path is an aggressor signal path, calculating Miller factors between the victim signal path and the aggressor signal path for a plurality of edge combinations between a victim signal edge and an aggressor signal edge, and using the Miller factors to perform a timing analysis.
    Type: Grant
    Filed: April 27, 2004
    Date of Patent: May 23, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Hien T. Ha, George J. Chen, Robert E. Mains
  • Patent number: 5771375
    Abstract: An apparatus and method are disclosed that perform static timing analysis on a logic circuit. The logic circuit is unique in that it includes a path topology having a mixture of full cycle and half cycle timing paths. The apparatus and method first perform a data event identification event on the logic circuit and use this event to define a set of clock-to-data-phase transformation rules for defining in all latch instances of the circuit, how each data phase is generated and from what clock edge each data phase is created. Next, the system then performs a test edge selection and then performs a clock adjustment based on the transformation rules and the test edge selection. In performing the test edge selection, the system selects a correct time leading or time trailing edge based on which edge level of the clock is the level against which an arriving data signal to be tested.
    Type: Grant
    Filed: September 18, 1995
    Date of Patent: June 23, 1998
    Assignee: International Business Machines Corporation
    Inventor: Robert E. Mains