Patents by Inventor Stephen Thomas Quay

Stephen Thomas Quay 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).

  • Publication number: 20200380082
    Abstract: A method a system include obtaining a master list of layer traits including wire codes, each of the wire codes indicating a width of a corresponding wire, and including a maximum reach length of the corresponding wire and a time of flight (TOF) through the corresponding wire. The method also includes processing the master list of the layer traits to obtain a final list of the layer traits, the final list of the layer traits having fewer entries than the master list of the layer traits and being in a ranked order. A metric is calculated for each adjacent pair of the layer traits in the final list of layer traits. The final list of the layer traits and the corresponding metric is used to assign the corresponding wires to different interconnects among components of an integrated circuit.
    Type: Application
    Filed: May 31, 2019
    Publication date: December 3, 2020
    Inventors: Stephen Thomas Quay, Yaoguang Wei, Bijian Chen, Ying Zhou
  • Patent number: 10839122
    Abstract: A method a system include obtaining a master list of layer traits including wire codes, each of the wire codes indicating a width of a corresponding wire, and including a maximum reach length of the corresponding wire and a time of flight (TOF) through the corresponding wire. The method also includes processing the master list of the layer traits to obtain a final list of the layer traits, the final list of the layer traits having fewer entries than the master list of the layer traits and being in a ranked order. A metric is calculated for each adjacent pair of the layer traits in the final list of layer traits. The final list of the layer traits and the corresponding metric is used to assign the corresponding wires to different interconnects among components of an integrated circuit.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: November 17, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Stephen Thomas Quay, Yaoguang Wei, Bijian Chen, Ying Zhou
  • Patent number: 10831971
    Abstract: Methods and systems for improving the performance of a computer performing an electronic design. One or more nets of a netlist are sorted based on an amount of slack and a net of the one or more nets that is unprocessed and that has a least amount of slack is selected as a current target net. A layer of a higher bucket that is unprocessed for the currently selected target net is selected, the higher bucket being higher than a bucket of the current target net. A determination of whether capacity is available to route the current target net on the selected layer of the higher bucket is made and the current target net is routed on the selected layer of the higher bucket in response to capacity being available. One or more nets that are competing for resources with the current target net on the selected layer of the higher bucket are identified as candidate nets in response to capacity not being available.
    Type: Grant
    Filed: June 5, 2019
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Stephen Thomas Quay, Yaoguang Wei, Bijian Chen, Ying Zhou
  • Patent number: 8386985
    Abstract: A method, system, and computer program product for timing driven routing in a design of an integrated circuit (IC) are provided in the illustrative embodiments. A router application executing in a data processing system performs a pre-global routing optimization of the design. A plurality of wirelength target constraints are set on a plurality of subsets of a set of nets in the design. Global routing is performed on the design. The design is adjusted using wires placed in the design during the global routing. A priority is assigned to each net in the set of nets. Detailed routing is performed on the design.
    Type: Grant
    Filed: May 6, 2011
    Date of Patent: February 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Zhuo Li, Stephen Thomas Quay, Ying Zhou
  • Publication number: 20120284683
    Abstract: A method, system, and computer program product for timing driven routing in a design of an integrated circuit (IC) are provided in the illustrative embodiments. A router application executing in a data processing system performs a pre-global routing optimization of the design. A plurality of wirelength target constraints are set on a plurality of subsets of a set of nets in the design. Global routing is performed on the design. The design is adjusted using wires placed in the design during the global routing. A priority is assigned to each net in the set of nets. Detailed routing is performed on the design.
    Type: Application
    Filed: May 6, 2011
    Publication date: November 8, 2012
    Applicant: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Zhuo Li, Stephen Thomas Quay, Ying Zhou
  • Patent number: 7676780
    Abstract: A method of determining buffer insertion locations in an integrated circuit design establishes candidate locations for inserting buffers into a net, and selects buffer insertion locations from among the candidates based on slew constraints. The selection of buffer insertion locations preferably optimizes slack and buffer cost while keeping slew from any buffered node to any sink less than a required slew rate. The slew analysis computes an output slew SL(v) of a given buffer b inserted at a node v as SL(v)=RS(b)·C(v)+KS(b), where C(v) is the downstream capacitance at v, RS(b) is the slew resistance of buffer b, and KS(b) is the intrinsic slew of buffer b. The delay through a given buffer may also be computed based on signal polarity. However, the invention still preferably uses worst-case slew resistance and intrinsic slew in considering the slew constraints.
    Type: Grant
    Filed: November 29, 2007
    Date of Patent: March 9, 2010
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Zhuo Li, Stephen Thomas Quay
  • Patent number: 7392493
    Abstract: A method of determining buffer insertion locations in an integrated circuit design establishes candidate locations for inserting buffers into a net, and selects buffer insertion locations from among the candidates based on slew constraints. The selection of buffer insertion locations preferably optimizes slack and buffer cost while keeping slew from any buffered node to any sink less than a required slew rate. The slew analysis computes an output slew SL(v) of a given buffer b inserted at a node v as SL(v)=RS(b)·C(v)+KS(b), where C(v) is the downstream capacitance at v, RS(b) is the slew resistance of buffer b, and KS(b) is the intrinsic slew of buffer b. The delay through a given buffer may also be computed based on signal polarity. However, the invention still preferably uses worst-case slew resistance and intrinsic slew in considering the slew constraints.
    Type: Grant
    Filed: November 22, 2004
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Zhuo Li, Stephen Thomas Quay
  • Patent number: 7299442
    Abstract: A method of estimating routing congestion between pins in a net of an integrated circuit design, by establishing one or more potential routes between the pins which pass through buckets in the net, assigning a probabilistic usage to each bucket based on any partial blockage of the wiring tracks in each bucket, and computing routing congestion for each bucket using its probabilistic usage. When the net is a two-pin net that is a part of a larger multi-pin net, and a tree is constructed to bridge the two-pin net to another pin of the multi-pin net. The routing congestion for each bucket is computed as a ratio of the bucket usage to bucket capacity. For L-shaped routes (having at least one bend in a bucket), the probabilistic usage is proportional to a scale factor a which is a ratio of a minimum number of available wiring tracks for a given route to a sum of minimum numbers of available wiring tracks for all possible routes.
    Type: Grant
    Filed: January 11, 2005
    Date of Patent: November 20, 2007
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Zhuo Li, Stephen Thomas Quay
  • Patent number: 7137081
    Abstract: A method, apparatus, and computer program product for performing density biased buffer insertion in an integrated circuit design are provided. A tiled Steiner tree topology map is used in which density values are associated with each tile in the map. A directed acyclic graph (DAG) is created over an initial set of potential candidate points. A subset of the candidate points is selected by associating costs with each tile, and with each path or edge, to each tile. The total costs associated with placement of a buffer at a position within each tile are calculated. The lowest cost tile is then selected as a candidate position for buffer insertion. This process is then repeated to obtain an asymmetrically distributed set of candidate buffer insertion points between a source and a sink.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: November 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Milos Hrkic, Stephen Thomas Quay
  • Patent number: 7127696
    Abstract: A mechanism for constructing Steiner trees using simultaneous blockage avoidance, delay optimization, and design density management are provided. An initial tiled timing-driven Steiner tree is obtained for an integrated circuit design. The Steiner tree is broken into 2-paths for which plates are generated designated the permissible area in which a Steiner point may migrate. Each 2-path is optimized by calculating a cost for each tile in the plate as a function of an environmental cost, a tile delay cost, and a trade-off value. A minimum cost tile is then selected as the point to which the Steiner point in the 2-path, if any, is to migrate. Once each 2-path is processed in this manner, routing is performed so as to minimize the cost at the source. This process may be iteratively repeated with new trade-off values until all of the nets have zero or positive slew.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: October 24, 2006
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Milos Hrkic, Stephen Thomas Quay
  • Patent number: 7065730
    Abstract: A method, computer program product, and data processing system for porosity-aware buffered Steiner tree construction are disclosed. A preferred embodiment begins with a timing-driven Steiner tree generated without regard for porosity, then applies a plate-based adjustment guided by length-based buffer insertion. After performing localized blockage avoidance, the resulting tree is then passed to a buffer placement algorithm, such as van Ginneken's algorithm, to obtain a porosity-aware buffered Steiner tree.
    Type: Grant
    Filed: April 17, 2003
    Date of Patent: June 20, 2006
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay
  • Patent number: 6915496
    Abstract: An apparatus and method for incorporating driver sizing into buffer insertion such that the two optimization techniques are performed simultaneously are provided. The apparatus and method extends van Ginneken's algorithm to handle driver sizing by treating a source node as a “driver library.” With the apparatus and method, the circuit design is converted to a Steiner tree representation of the circuit design. Buffer insertion is performed on the Steiner tree using the van Ginneken algorithm to generate a first set of possible optimal solutions. For each solution in the first set, a driver of the same type as the original driver in the Steiner tree is selected from a driver library and virtually inserted into the solution. A delay penalty is retrieved for the selected driver, which is then used long with the new driver's characteristics to generate a second set of solutions based o the first set of solutions.
    Type: Grant
    Filed: September 26, 2002
    Date of Patent: July 5, 2005
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Chong-Nuen Chu, Rama Gopal Gandham, Milos Hrkic, Jiang Hu, Chandramouli V. Kashyap, Stephen Thomas Quay
  • Patent number: 6898774
    Abstract: A method, computer program product, and data processing system for inserting buffers into integrated circuit routing trees are disclosed. The present invention dynamically modifies a Steiner tree configuration as needed to derive a maximal slack solution that takes into account blockages such as those presented by IP blocks.
    Type: Grant
    Filed: December 18, 2002
    Date of Patent: May 24, 2005
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay
  • Publication number: 20040216072
    Abstract: A method, computer program product, and data processing system for porosity-aware buffered Steiner tree construction are disclosed. A preferred embodiment begins with a timing-driven Steiner tree generated without regard for porosity, then applies a plate-based adjustment guided by length-based buffer insertion. After performing localized blockage avoidance, the resulting tree is then passed to a buffer placement algorithm, such as van Ginneken's algorithm, to obtain a porosity-aware buffered Steiner tree.
    Type: Application
    Filed: April 17, 2003
    Publication date: October 28, 2004
    Applicant: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay
  • Publication number: 20040123261
    Abstract: A method, computer program product, and data processing system for inserting buffers into integrated circuit routing trees are disclosed. The present invention dynamically modifies a Steiner tree configuration as needed to derive a maximal slack solution that takes into account blockages such as those presented by IP blocks.
    Type: Application
    Filed: December 18, 2002
    Publication date: June 24, 2004
    Applicant: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay
  • Publication number: 20040064793
    Abstract: An apparatus and method for incorporating driver sizing into buffer insertion such that the two optimization techniques are performed simultaneously are provided. In particular, the apparatus and method extends van Ginneken's algorithm to handle driver sizing by treating a source node as a “driver library”. With the apparatus and method, the circuit design is converted to a Steiner tree representation of the circuit design. Buffer insertion is performed on the Steiner tree using the van Ginneken algorithm to generate a first set of possible optimal solutions. For each solution in the first set, a driver of the same type as the original driver in the Steiner tree is selected from a driver library and virtually inserted into the solution. A delay penalty is retrieved for the selected driver. This delay penalty is then used along with the new driver's characteristics to generate a second set of solutions based on the first set of solutions.
    Type: Application
    Filed: September 26, 2002
    Publication date: April 1, 2004
    Applicant: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Chong-Nuen Chu, Rama Gopal Gandham, Milos Hrkic, Jiang Hu, Chandramouli V. Kashyap, Stephen Thomas Quay
  • Patent number: 6591411
    Abstract: An apparatus and method for determining buffered Steiner trees for complex circuits is provided. The apparatus and method first clusters sinks with similar characteristics such as criticality, polarity and distance. The purpose of this step is to potentially isolate positive sinks from negative ones and non-critical sinks from critical ones. The present invention then constructs low-level Steiner trees over each of these clusters. Finally, a top-level timing driven Steiner tree is computed where each cluster is treated as a sink. The top-level tree is then merged with the low-level trees to yield a solution for the entire net.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: July 8, 2003
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay, Andrew James Sullivan
  • Patent number: 6560752
    Abstract: An apparatus and method for buffer selection for use in buffer insertion is provided. An optimal buffer library generator module operates to reduce a general buffer library down to a optimal buffer library based on parameters that are input to the optimal buffer library generator module. Based on these parameters, the optimal buffer library generator module selects buffers from the general buffer library for inclusion in an optimal buffer library. In a preferred embodiment, the optimal buffer library is generated by generating a set of superior buffers and inverters and clustering the set of superior buffers. A single buffer is then selected from each cluster for inclusion in the optimal buffer library. The result is a smaller buffer library which will provide approximately the same performance during buffer insertion while reducing the amount of computing time and memory requirements.
    Type: Grant
    Filed: July 6, 2000
    Date of Patent: May 6, 2003
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jose Luis Pontes Correia Neves, Stephen Thomas Quay
  • Publication number: 20020133799
    Abstract: An apparatus and method for determining buffered Steiner trees for complex circuits is provided. The apparatus and method first clusters sinks with similar characteristics such as criticality, polarity and distance. The purpose of this step is to potentially isolate positive sinks from negative ones and non-critical sinks from critical ones. The present invention then constructs low-level Steiner trees over each of these clusters. Finally, a top-level timing driven Steiner tree is computed where each cluster is treated as a sink. The top-level tree is then merged with the low-level trees to yield a solution for the entire net.
    Type: Application
    Filed: March 15, 2001
    Publication date: September 19, 2002
    Applicant: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Stephen Thomas Quay, Andrew James Sullivan
  • Patent number: 6401234
    Abstract: A method and system for re-routing interconnects within an integrated circuit design having blockages and bays is disclosed. A net within the integrated circuit design is initially decomposed into multiple two-paths. The net includes interconnects previously routed by utilizing a Steiner tree routing algorithm. Next, a cost associated with each of the two-paths is calculated. A two-path having a a high cost is subsequently selected and re-routed with a lower cost two-path.
    Type: Grant
    Filed: December 17, 1999
    Date of Patent: June 4, 2002
    Assignee: International Business Machines Corporation
    Inventors: Charles Jay Alpert, Rama Gopal Gandham, Jiang Hu, Jose Luis Neves, Stephen Thomas Quay