Patents by Inventor Eric A. Foreman

Eric A. Foreman 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: 7844932
    Abstract: A method of evaluating an integrated circuit design selects manufacturing parameters of interest which are outside of manufacturing specification limits. Then, the method runs timing tests on the integrated circuit design and successively evaluates the timing test results in an iterative process that considers the timing performance sensitivity to the selected manufacturing parameters of interest. The design is made more robust to each parameter out of manufacturing range.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: November 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Chandramouli Visweswariah
  • Publication number: 20100293512
    Abstract: Disclosed is a computer-implemented method for designing a chip to optimize yielding parts in different bins as a function of multiple diverse metrics and further to maximize the profit potential of the resulting chip bins. The method separately calculates joint probability distributions (JPD), each JPD being a function of a different metric (e.g., performance, power consumption, etc.). Based on the JPDs, corresponding yield curves are generated. A profit function then reduces the values of all of these metrics (e.g., performance values, power consumption values, etc.) to a common profit denominator (e.g., to monetary values indicating profit that may be associated with a given metric value). The profit function and, more particularly, the monetary values can be used to combine the various yield curves into a combined profit-based yield curve from which a profit model can be generated.
    Type: Application
    Filed: May 18, 2009
    Publication date: November 18, 2010
    Applicant: International Business Machines Corporation
    Inventors: Nathan Buck, Howard H. Chen, James P. Eckhardt, Eric A. Foreman, James C. Gregerson, Peter A. Habitz, Susan K. Lichtensteiger, Chandramouli Visweswariah, Tad J. Wilder
  • Patent number: 7797657
    Abstract: A method and system for decreasing processing time in multi-corner static timing analysis. In one embodiment, parameters are ordered in a parameter order by decreasing magnitude of impact on variability of timing. In one example, a decreasing parameter order is utilized to order slack cutoff values that are assigned across a parameter process space. In another example, a decreasing parameter order is utilized to perform a multi-corner timing analysis on one or more dependent parameters in an independent fashion.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: September 14, 2010
    Assignee: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Kerim Kalafala, Peihua Qi, Chandramouli Visweswariah, Xiaoyue Wang
  • Patent number: 7784003
    Abstract: A method and system for reducing a number of paths to be analyzed in a multi-corner static timing analysis. An estimated upper slack variation based on a non-common path delay for a racing path is utilized in determining if a multi-corner static timing analysis may be bypassed for a racing path. In another example, an estimated maximum RSS credit based on a total delay for a racing path is utilized in determining if a multi-corner static timing analysis may be bypassed for a racing path.
    Type: Grant
    Filed: February 26, 2007
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Kerim Kalafala, Jeffrey M. Ritzinger, Xiaoyue Wang
  • Publication number: 20100180243
    Abstract: A method for verifying whether a circuit meets timing constraints by performing an incremental static timing analysis in which slack is represented by a distribution that includes sensitivities to various process variables. The slack at an endpoint is computed by propagating the arrival times and required arrival times of paths leading up to the endpoint. The computation of arrival and required arrival times needs the computation of delays of individual gate and wire segments in each path that leads to the endpoint. The mixed mode adds a deterministic timing to the statistical timing (DSTA+SSTA).
    Type: Application
    Filed: January 15, 2009
    Publication date: July 15, 2010
    Applicant: International Business Machines Corporation
    Inventors: Debjit Sinha, Eric A. Foreman, Peter A. Habitz, Natesan Venkateswaran, Chandramouli Visweswariah, Vladimir Zolotov
  • Patent number: 7750648
    Abstract: A method of estimating an inductance delay includes determining a resistance-capacitance (RC) delay with resistances and capacitances of a network and estimating an inductance delay of the network by determining a propagation delay of an electromagnetic (EM) field across wires of the network. Additionally, the method includes determining if the RC delay is below a specified threshold and adding the estimated inductance delay to the RC delay to determine a total time to propagate voltage swings through the network if the RC delay is below the specified threshold.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: July 6, 2010
    Assignee: International Business Machines Corporation
    Inventors: Eric A. Foreman, Peter A. Habitz, Mark R. Lasher, William J. Livingstone, Gregory M. Schaeffer
  • Patent number: 7716616
    Abstract: A method, system and program product are disclosed for improving an IC design that prioritize failure coefficients of slacks that lead to correction according to their probability of failure. With an identified set of independent parameters, a sensitivity analysis is performed on each parameter by noting the difference in timing, typically on endpoint slacks, when the parameter is varied. This step is repeated for every independent parameter. A failure coefficient is then calculated from the reference slack and the sensitivity of slack for each of the timing endpoints and a determination is made as to whether at least one timing endpoint fails a threshold test. Failing timing endpoints are then prioritized for modification according to their failure coefficients. The total number of runs required is one run that is used as a reference run, plus one additional run for each parameter.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: May 11, 2010
    Assignee: International Business Machines Corporation
    Inventors: Eric A. Foreman, Peter A. Habitz, David J. Hathaway, Jerry D. Hayes, Jeffrey H. Oppold, Anthony D. Polson
  • Patent number: 7681157
    Abstract: A method and system for decreasing processing time in multi-corner static timing analysis. In one embodiment, slack cutoff values are assigned across a parameter process space. For example, a slack cutoff value is assigned to each parameter in a process space by determining an estimated maximum slack change between a starting corner and any other corner in a corresponding process sub-space. In another embodiment, parameters are ordered in a parameter order by decreasing magnitude of impact on variability of timing.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: March 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Kerim Kalafala, Peihua Qi, Chandramouli Visweswariah, Xiaoyue Wang
  • Publication number: 20090307645
    Abstract: A method of performing statistical timing analysis of a logic design, including effects of signal coupling, includes performing a deterministic analysis to determine deterministic coupling information for at least one aggressor/victim net pair of the logic design. Additionally, the method includes performing a statistical timing analysis in which the deterministic coupling information for the at least one aggressor/victim net pair is combined with statistical values of the statistical timing analysis to determine a statistical effective capacitance of a victim of the aggressor/victim net pair. Furthermore, the method includes using the statistical effective capacitance to determine timing data used in the statistical timing analysis.
    Type: Application
    Filed: June 4, 2008
    Publication date: December 10, 2009
    Inventors: Nathan C. Buck, Brian M. Dreibelbis, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, David J. Hathaway, Gregory M. Schaeffer, Chandramouli Visweswariah
  • Patent number: 7620921
    Abstract: Methods, systems and program products for evaluating an IC chip are disclosed. In one embodiment, the method includes running a statistical static timing analysis (SSTA) of a full IC chip design; creating at-functional-speed test (AFST) robust paths for an IC chip, the created robust paths representing a non-comprehensive list of AFST robust paths for the IC chip; and re-running the SSTA with the SSTA delay model setup based on the created robust paths. A process coverage is calculated for evaluation from the SSTA runnings; and a particular IC chip is evaluated based on the process coverage.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: November 17, 2009
    Assignee: International Business Machines Corporation
    Inventors: Eric A. Foreman, Gary D. Grise, Peter A. Habitz, Vikram Iyengar, David E. Lackey, Chandramouli Visweswariah, Jinjun Xiong, Vladimir Zolotov
  • Publication number: 20090265674
    Abstract: Methods for identifying failing timing requirements in a digital design. The method includes identifying at least one timing test in the digital design that has a passing slack in a base process corner and a failing slack in a different process corner. The method further includes computing a sensitivity of the failing slack to each of a plurality of variables and comparing each sensitivity to a respective sensitivity threshold. If the sensitivity of at least one of the variables is greater than the respective sensitivity threshold, then the at least one timing test is considered to fail.
    Type: Application
    Filed: April 16, 2008
    Publication date: October 22, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Chandramouli Visweswariah
  • Publication number: 20090243630
    Abstract: A method of estimating an inductance delay includes determining a resistance-capacitance (RC) delay with resistances and capacitances of a network and estimating an inductance delay of the network by determining a propagation delay of an electromagnetic (EM) field across wires of the network. Additionally, the method includes determining if the RC delay is below a specified threshold and adding the estimated inductance delay to the RC delay to determine a total time to propagate voltage swings through the network if the RC delay is below the specified threshold.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Eric A. Foreman, Peter A. Habitz, Mark R. Lasher, William J. Livingstone, Gregory M. Schaeffer
  • Publication number: 20090249270
    Abstract: Methods for analyzing timing of an integrated circuit using block-based static statistical timing analysis and for practical worst test definition and debug. The method includes building a timing graph, determining a slack for each of the nodes in the timing graph, and identifying a statistically worst slack for at least one of the nodes. The method further includes replacing this statistically worst slack with a proxy worst slack.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nathan C. Buck, Eric A. Foreman, James C. Gregerson, Jeffrey G. Hemmett
  • Publication number: 20090235217
    Abstract: A method of evaluating an integrated circuit design selects manufacturing parameters of interest which are outside of manufacturing specification limits. Then, the method runs timing tests on the integrated circuit design and successively evaluates the timing test results in an iterative process that considers the timing performance sensitivity to the selected manufacturing parameters of interest. The design is made more robust to each parameter out of manufacturing range.
    Type: Application
    Filed: March 11, 2008
    Publication date: September 17, 2009
    Applicant: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Chandramouli Visweswariah
  • Publication number: 20090210839
    Abstract: A method of timing closure for integrated circuit designs uses multiple timing runs which distribute the frequency of identified fails per timing corner (between starting timing corners and remaining timing corners) to maximize efficiency in timing analysis. More specifically, the method closes timing for a chosen set of starting timing corners, verifies the remaining timing corners are orthogonal to the starting timing corners, closes timing for the remaining timing corners using multi-corner analysis, and verifies that all timing corners have positive slack margin.
    Type: Application
    Filed: February 14, 2008
    Publication date: August 20, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Kerim Kalafala, Gregory M. Schaeffer, Chandramouli Visweswariah
  • Patent number: 7555740
    Abstract: Methods, systems and computer program products for analyzing a timing design of an integrated circuit are disclosed. According to an embodiment, a method for analyzing a timing design of an integrated circuit comprises: providing an initial static timing analysis of the integrated circuit; selecting a static timing test with respect to a static timing test point based on the initial static timing analysis; selecting a timing path leading to the static timing test point for the static timing test; determining an integrated slack path variability for the timing path based on a joint probability distribution of at least one statistically independent parameter; and analyzing the timing design based on the integrated slack path variability.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: June 30, 2009
    Assignee: International Business Machines Corporation
    Inventors: Nathan C. Buck, John P. Dubuque, Eric A. Foreman, Peter A. Habitz, Kerim Kalafala, Peihua Qi, Chandramouli Visweswariah, Xiaoyue Wang
  • Publication number: 20080313590
    Abstract: Methods for analyzing the timing in integrated circuits and for reducing the pessimism in timing slack calculations in static timing analysis (STA). The methods involve grouping and canceling the delay contributions of elements having similar delays in early and late circuit paths. An adjusted timing slack is calculated using the delay contributions of elements having dissimilar delays. In some embodiments, the delay contributions of elements having dissimilar delays are root sum squared. Embodiments of the invention provide methods for reducing the pessimism due to both cell-based and wire-dependent delays. The delays considered in embodiments of the invention may include delays due to the location of elements in a path.
    Type: Application
    Filed: July 31, 2008
    Publication date: December 18, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Eric A. FOREMAN, Peter A. Habitz, David J. Hathaway, Jerry D. Hayes, Anthony D. Polson
  • Publication number: 20080270953
    Abstract: Methods, systems and program products for evaluating an IC chip are disclosed. In one embodiment, the method includes running a statistical static timing analysis (SSTA) of a full IC chip design; creating at-functional-speed test (AFST) robust paths for an IC chip, the created robust paths representing a non-comprehensive list of AFST robust paths for the IC chip; and re-running the SSTA with the SSTA delay model setup based on the created robust paths. A process coverage is calculated for evaluation from the SSTA runnings; and a particular IC chip is evaluated based on the process coverage.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Inventors: Eric A. Foreman, Gary D. Grise, Peter A. Habitz, Vikram Iyengar, David E. Lackey, Chandramouli Visweswariah, Jinjun Xiong, Vladimir Zolotov
  • Patent number: 7444608
    Abstract: Methods for analyzing the timing in integrated circuits and for reducing the pessimism in timing slack calculations in static timing analysis (STA). The methods involve grouping and canceling the delay contributions of elements having similar delays in early and late circuit paths. An adjusted timing slack is calculated using the delay contributions of elements having dissimilar delays. In some embodiments, the delay contributions of elements having dissimilar delays are root sum squared. Embodiments of the invention provide methods for reducing the pessimism due to both cell-based and wire-dependent delays. The delays considered in embodiments of the invention may include delays due to the location of elements in a path.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: October 28, 2008
    Assignee: International Business Machines Corporation
    Inventors: Eric A Foreman, Peter A Habitz, David J Hathaway, Jerry D Hayes, Anthony D Polson
  • Publication number: 20080216036
    Abstract: A method, system and program product are disclosed for improving an IC design that prioritize failure coefficients of slacks that lead to correction according to their probability of failure. With an identified set of independent parameters, a sensitivity analysis is performed on each parameter by noting the difference in timing, typically on endpoint slacks, when the parameter is varied. This step is repeated for every independent parameter. A failure coefficient is then calculated from the reference slack and the sensitivity of slack for each of the timing endpoints and a determination is made as to whether at least one timing endpoint fails a threshold test. Failing timing endpoints are then prioritized for modification according to their failure coefficients. The total number of runs required is one run that is used as a reference run, plus one additional run for each parameter.
    Type: Application
    Filed: May 16, 2008
    Publication date: September 4, 2008
    Inventors: Eric A. Foreman, Peter A. Habitz, David J. Hathaway, Jerry D. Hayes, Jeffrey H. Oppold, Anthony D. Polson