Patents by Inventor Robert A. Todd
Robert A. Todd 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: 11954419Abstract: A system may include a set of compute engines. The compute engines may be configured to perform electronic design automation (EDA) operations on a hierarchical dataset representative of an integrated circuit (IC) design. The system may also include a dynamic resource balancing engine configured to allocate computing resources to the set of compute engines and reallocate a particular computing resource allocated to a first compute engine based on an operation priority of an EDA operation performed by a second compute engine, an idle indicator for the first compute engine, or a combination of both.Type: GrantFiled: October 22, 2018Date of Patent: April 9, 2024Assignee: Siemens Industry Software Inc.Inventors: Patrick D. Gibson, Robert A. Todd, Jimmy J. Tomblin
-
Patent number: 11294729Abstract: A system may include a resource acquisition engine configured to acquire a set of computing resources for execution of an application flow comprising multiple invocations to an EDA application. The system may also include a resource provision engine configured to provide the set of computing resources for execution of a first EDA process of the EDA application launched by a first invocation in the application flow and identify a second invocation subsequent to the first invocation in the application flow, the second invocation to launch a second EDA process of the EDA application. The resource provision engine may be further configured to, without releasing the set of computing resources provided to the first EDA process, proxy the set of computing resources into a proxied set of computing resources and provide the proxied set of computing resources for execution of the second EDA process of the EDA application.Type: GrantFiled: May 8, 2018Date of Patent: April 5, 2022Assignee: Siemens Industry Software Inc.Inventors: Patrick D. Gibson, Robert A. Todd
-
Publication number: 20210374319Abstract: A system may include a set of compute engines. The compute engines may be configured to perform electronic design automation (EDA) operations on a hierarchical dataset representative of an integrated circuit (IC) design. The system may also include a dynamic resource balancing engine configured to allocate computing resources to the set of compute engines and reallocate a particular computing resource allocated to a first compute engine based on an operation priority of an EDA operation performed by a second compute engine, an idle indicator for the first compute engine, or a combination of both.Type: ApplicationFiled: October 22, 2018Publication date: December 2, 2021Inventors: Patrick D. Gibson, Robert A. Todd, Jimmy J. Tomblin
-
Patent number: 10783291Abstract: A computing system may include an electronic design automation (EDA) data constructor engine and an EDA executor engine. The EDA data constructor engine may be configured to perform, using the local resources of the computing system, a data preparation phase of an EDA procedure for a circuit design. The EDA executor engine may be configured to acquire remote resources for an execution phase of the EDA procedure, wherein the remote resources include remote compute resources and remote data resources remote to the computing system; broadcast constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and manage performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.Type: GrantFiled: January 4, 2019Date of Patent: September 22, 2020Assignee: Mentor Graphics CorporationInventors: Robert A. Todd, Laurence W. Grodd, Jimmy J. Tomblin, Patrick D. Gibson
-
Patent number: 10771982Abstract: A system may include a pool of heterogeneous compute units configured to execute an electronic design automation (EDA) application for design or verification of a circuit, wherein the pool of heterogeneous compute units includes compute units with differing computing capabilities. The system may also include a resource utilization engine configured to identify an EDA operation to be performed for the EDA application, select a compute unit among the pool of heterogeneous compute units to execute the EDA operation based on a determined computing capability specific to the selected compute unit, and assign execution of the EDA operation to the selected compute unit.Type: GrantFiled: October 24, 2018Date of Patent: September 8, 2020Assignee: Mentor Graphics CorporationInventors: Patrick D. Gibson, Robert A. Todd
-
Publication number: 20200218788Abstract: A computing system may include an electronic design automation (EDA) data constructor engine and an EDA executor engine. The EDA data constructor engine may be configured to perform, using the local resources of the computing system, a data preparation phase of an EDA procedure for a circuit design. The EDA executor engine may be configured to acquire remote resources for an execution phase of the EDA procedure, wherein the remote resources include remote compute resources and remote data resources remote to the computing system; broadcast constructor data constructed from the data preparation phase of the EDA procedure to the acquired remote data resources; and manage performance of the execution phase of the EDA procedure by the acquired remote compute resources and remote data resources.Type: ApplicationFiled: January 4, 2019Publication date: July 9, 2020Inventors: Robert A. Todd, Laurence W. Grodd, Jimmy J. Tomblin, Patrick D. Gibson
-
Publication number: 20200137581Abstract: A system may include a pool of heterogeneous compute units configured to execute an electronic design automation (EDA) application for design or verification of a circuit, wherein the pool of heterogeneous compute units includes compute units with differing computing capabilities. The system may also include a resource utilization engine configured to identify an EDA operation to be performed for the EDA application, select a compute unit among the pool of heterogeneous compute units to execute the EDA operation based on a determined computing capability specific to the selected compute unit, and assign execution of the EDA operation to the selected compute unit.Type: ApplicationFiled: October 24, 2018Publication date: April 30, 2020Inventors: Patrick D. Gibson, Robert A. Todd
-
Publication number: 20190347138Abstract: A system may include a resource acquisition engine configured to acquire a set of computing resources for execution of an application flow comprising multiple invocations to an EDA application. The system may also include a resource provision engine configured to provide the set of computing resources for execution of a first EDA process of the EDA application launched by a first invocation in the application flow and identify a second invocation subsequent to the first invocation in the application flow, the second invocation to launch a second EDA process of the EDA application. The resource provision engine may be further configured to, without releasing the set of computing resources provided to the first EDA process, proxy the set of computing resources into a proxied set of computing resources and provide the proxied set of computing resources for execution of the second EDA process of the EDA application.Type: ApplicationFiled: May 8, 2018Publication date: November 14, 2019Inventors: Patrick D. Gibson, Robert A. Todd
-
Patent number: 10311199Abstract: Aspects of the disclosed technology relate to techniques of pattern matching. Matching rectangles in a layout design that match rectangle members of a search pattern are identified based on edge operations. The rectangle members comprise an origin rectangle member and one or more reference rectangle members. Grid element identification values are attached to the matching rectangles. The matching rectangles that match the one or more reference rectangle members in neighborhoods of the matching rectangles that match the origin rectangle member are then analyzed. The neighborhoods are determined based on the grid element identification values. Based on the analysis, matching patterns in the layout design that match the search pattern are determined.Type: GrantFiled: July 1, 2016Date of Patent: June 4, 2019Assignee: Mentor Graphics CorporationInventors: Jea Woo Park, Robert A. Todd
-
Publication number: 20190146847Abstract: Methods and apparatus for dynamic distributed resource management as can be used in large-scale electronic design automation processes, are disclosed. In some examples of the disclosed technology, a method for dynamic remote resource allocation includes receiving a request for one or more remote resources, identifying one or more resources available to satisfy the request, initiating one or more separate processes for the respective available resources, preparing the respective resources for use as remote resources, by the one or more separate processes running in parallel, and as a given resource of the one or more available resources completes the preparation, allocating the given resource as a remote resource. In some examples, allocated resources are dynamically integrated into the processing of the job. In some examples, as a given resource of the one or more available resources is allocated, tasking the given resource with a portion of the job.Type: ApplicationFiled: January 17, 2018Publication date: May 16, 2019Applicant: Mentor Graphics CorporationInventors: Patrick D. Gibson, Robert A. Todd
-
Publication number: 20180004888Abstract: Aspects of the disclosed technology relate to techniques of pattern matching. Matching rectangles in a layout design that match rectangle members of a search pattern are identified based on edge operations. The rectangle members comprise an origin rectangle member and one or more reference rectangle members. Grid element identification values are attached to the matching rectangles. The matching rectangles that match the one or more reference rectangle members in neighborhoods of the matching rectangles that match the origin rectangle member are then analyzed. The neighborhoods are determined based on the grid element identification values. Based on the analysis, matching patterns in the layout design that match the search pattern are determined.Type: ApplicationFiled: July 1, 2016Publication date: January 4, 2018Inventors: Jea Woo Park, Robert A. Todd
-
Publication number: 20080235497Abstract: Multiple processing threads operate in parallel to convert data, produced by one or more electronic design automation processes in an initial format, into another data format for output. A processing thread accesses a portion of the initial results data produced by one or more electronic design automation processes in an initial format and in an initial organizational arrangement. The processing thread will then store data within this portion of the initial results data belonging to a target category of the desired output organizational arrangement, such as a cell, at a memory location corresponding to that target category. It will also convert the stored data from a first data format to another data format for output. The first data format may use a relatively low amount of compression, with the second data format may use a relatively high level of compression.Type: ApplicationFiled: November 26, 2007Publication date: September 25, 2008Inventors: Jimmy J. Tomblin, Laurence W. Grodd, Robert A. Todd
-
Publication number: 20040083475Abstract: A method and tool are disclosed for distributing operations in a software application from a master computer to one or more slave computers for execution. Operations within the software application are identified that employ input data independent of other input data. The identified operations, which can be organized into groups of one or more operations, may then be distributed to a slave computer for execution. A group of operations may also include one or more heuristics, for determining when the group of operations should be executed on a slave computer. If a group of operations is distributed to a slave computer for execution, the master computer subsequently determines if the slave computer successfully executed those operations. If the slave computer successfully executed the group of operations, it returns the results to the master computer, which then employs the returned results to continue running the software application.Type: ApplicationFiled: October 25, 2002Publication date: April 29, 2004Applicant: Mentor Graphics Corp.Inventors: Robert A. Todd, Laurence W. Grodd, Nicolas B. Cobb
-
Patent number: 6249903Abstract: A parasitic extraction tool (PEX) is provided to generate electrical modeling data for an integrated circuit (IC) design, e.g. a deep sub-micron IC design. The PEX includes a read function for reading extracted connectivity and geometrical data of various layout cell hierarchies of the IC design, that are organized and indexed by layout nets. The PEX also includes a write function for writing generated electrical modeling data into a parasitic database (PDB), which is physically organized to accommodate physical storage of the electrical modeling data in multiple physical media, and concurrent usage of the electrical data by multiple client applications, e.g. post layout analysis tool. In one embodiment, the PDB further includes an application interface that shields the physical organization of the PDB, and a logical abstraction of the physical organization to facilitate implementation of the application interface.Type: GrantFiled: March 31, 1998Date of Patent: June 19, 2001Inventors: Michael C. McSherry, Richard E. Strobel, Robert A. Todd, Paul M. Nugyen
-
Patent number: 6230299Abstract: A data extraction tool is provided to extract filtered connectivity and geometrical data for specified layout cell hierarchies of an integrated circuit (IC) design, e.g. a deep sub-micron IC design. The connectivity and geometrical data for each layout cell hierarchy are extracted at least in part in accordance with specified parasitic effect windows. In one embodiment, the data extraction tool includes a filtered extraction function that operates to extract connectivity and geometrical data for layout nets of each layout cell hierarchy of the IC design, one or more layout nets at a time. Additionally, one or more filtered databases are provided to store the filtered connectivity and geometrical data of the layout cell hierarchies.Type: GrantFiled: March 31, 1998Date of Patent: May 8, 2001Assignee: Mentor Graphics CorporationInventors: Michael C. McSherry, Richard E. Strobel, Robert A. Todd, Paul M. Nguyen
-
Patent number: 4045608Abstract: Porous friction facing materials containing cellulose fibers are coated with an impregnant of ethyl silicate to provide automatic transmission clutch plate and band linings of improved frictional properties, durability, wear and heat resistance, without use of asbestos. A sheet of paper-like fibrous material may be first impregnated with a phenolic resin binder which is cured to form a first coating and then impregnated with a hydrolyzed solution of ethyl silicate in a solvent. The material is further heated to drive off the solvent and cure the ethyl silicate to form a second outer coating having a higher coefficient of friction than the first coating. The silicate impregnated lining is then bonded to the steel plate or band. Alternatively, the resin impregnated lining material may be first bonded to the metal plate and then the entire plate assembly is impregnated with the ethyl silicate solution and cured.Type: GrantFiled: June 9, 1976Date of Patent: August 30, 1977Inventor: Robert A. Todd