Patents by Inventor Jason Baumgartner

Jason Baumgartner 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: 20070168372
    Abstract: A method for performing verification includes selecting a first set containing a seed register and adding to a second set a result of a subtraction of a fanout of the first set from a fanin of the first set. A third set is rendered equal to a result of a subtraction of a fanin of the second set from a fanout of the second set, and whether a combination of the first set and the third set is equivalent to the first set is determined. In response to determining that the combination of the first set and the second set is not equivalent to the first set, a min-cut of the first set and the second set containing a minimal set of predicates between a first component and the logic to which the component fans out, wherein the logic is bordered by the second set is returned.
    Type: Application
    Filed: January 17, 2006
    Publication date: July 19, 2007
    Inventors: Jason Baumgartner, Hari Mony, Viresh Paruthi, Fadi Zaraket
  • Publication number: 20070136701
    Abstract: An incremental verification method includes eliminating verification constraints from a first netlist and using the resulting netlist to create a constraint-free composite netlist suitable for determining equivalence between the first netlist and a second netlist of a design. Eliminating a constraint from a netlist may include adding a modified constraint net where the modified constraint net is FALSE for all cycles after any cycle in which the original constraint is FALSE. The method may include, instead of eliminating constraints, determining that the verification result is a target-not-asserted result and that the second netlist constraints are a superset of the first netlist constraints or that the verification result is a target-asserted result and that the first netlist constraints are a superset of the second netlist constraints. In either case, the method may include creating the composite netlist by importing all of the original constraints into the composite netlist.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20070106963
    Abstract: A method for performing verification includes importing a design netlist containing one or more components and computing one or more output functions for the one or more components. One or more output equivalent state sets are generated from the one or more output functions and one or more next-state functions for the one or more components are identified. One or more image equivalent state sets for the one or more next-state functions are produced and one or more output-and-image equivalent state sets are classified for the one or more image equivalent state sets and the one or more output equivalent state sets. One or more input representatives of the one or more equivalent input sets are selected and an input map is formed from the one or more input representatives. The input map is synthesized and injected back into the netlist to generate a modified netlist.
    Type: Application
    Filed: October 13, 2005
    Publication date: May 10, 2007
    Inventors: Jason Baumgartner, Hari Mony, Viresh Paruthi, Fadi Zaraket
  • Publication number: 20070074136
    Abstract: A method for generating a constraint for use in the verification of an integrated circuit design includes identifying a target in a netlist (N) of the design and creating an overapproximate abstraction (N?) of the netlist. A space state (S?) is created by enumerating the states of N? from which the identified target may be asserted. A constraint space C? is then derived from the state space S?, where C? is the logical complement of S?. The process is repeated for multiple selected targets and the constraint spaces from each iteration are logically ANDed. Creating an overapproximate abstraction may include replacing a sequential gate with a random gate. Identifying a sequential gate may include selecting a target in the netlist, performing underapproximate verification of the target, and, if a spurious failure occurs, selecting a gate further down the fanin chain of the currently selected gate.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Jason Baumgartner, Hari Mony, Viresh Paruthi, Jiazhao Xu
  • Publication number: 20070067746
    Abstract: A method for performing verification is disclosed. The method includes selecting a first computer-design constraint for simplification and applying structural reparamaterization to simplify the first computer-design constraint. In response to determining that the first computer-design constraint is not eliminated, the first computer-design constraint is set equal to a dead-end state of the constraint. A structural preimage of the first computer-design constraint is created, in response to determining that a combination of a target and the dead-end state of the first computer-design constraint is equal to a combination of the target and the structural preimage of the first computer-design constraint, the first computer-design constraint is set equal to the structural preimage.
    Type: Application
    Filed: September 22, 2005
    Publication date: March 22, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20070061766
    Abstract: A method for performing verification is disclosed. The method includes receiving a design, including one or one or more targets, one or more constraints, one or more registers and one or more inputs. A first function of one of the one or more targets over the one or more registers and the one or more inputs is computed. A second function of one or more of the one or more constraints over the one or more registers and the one or more inputs is computed. The inputs of the first function and the second function are existentially quantified. A bounded analysis is performed to determine if the one of the one or more targets may be hit while adhering to the constraints. A preimage of the inputs of the first function and a preimage of the inputs of the second function is existentially quantified to create a synthesizable preimage. The synthesizable preimage is simplified and synthesized to create an enlarged target. Verification of the enlarged target is performed.
    Type: Application
    Filed: September 13, 2005
    Publication date: March 15, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20070061767
    Abstract: A method for performing verification is disclosed. The method includes selecting a set of gates to add to a first localization netlist and forming a refinement netlist. A min-cut is computed with sinks having one or more gates in the refinement netlist and sources comprising one or more inputs of an original netlist and one or more registers registers of the original netlist which are not part of the refinement netlist. A final localized netlist is obtained by adding one or more gates to the refinement netlist to grow the refinement netlist until reaching one or more cut-gates of the min-cut.
    Type: Application
    Filed: September 13, 2005
    Publication date: March 15, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060294481
    Abstract: A method for performing verification is proposed. The method comprises receiving a design and building an intermediate binary decision diagram for the design containing one or more nodal binary decision diagrams. In response to a size of the intermediate binary decision diagram exceeding a size threshold, a node of the design is selected for case-splitting. A first case-splitting is performed upon the selected node of the design to generate a primary constraint for setting the selected node to a primary value. A first constraining is performed on one of the one or more nodal binary decision diagrams with the primary constraint to generate a primary final binary decision diagram, a first verification of the design is performed using the primary final binary decision diagram.
    Type: Application
    Filed: June 23, 2005
    Publication date: December 28, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Christian Jacobi, Viresh Paruthi, Kai Weber
  • Publication number: 20060277507
    Abstract: A method, system and computer program product for performing verification of an electronic design is disclosed. The method includes receiving a design, wherein the design includes a first target set and a first register set including one or more registers. A structural product extraction is formed from one or more targets from the first target set and the structural product extraction is recursed for one or more next-state functions of a subset of the one or more registers. A sum-of-products form is recursed from the structural product extraction for one or more next-state functions of a subset of the one or more registers and a product-of-sums form of a result of the second recursing is decomposed to generate a decomposition of the product-of-sums form. The decomposition of the product-of-sums form is synthesized into a second target set and a subset of the second target set to recursively decompose is chosen.
    Type: Application
    Filed: June 2, 2005
    Publication date: December 7, 2006
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060277508
    Abstract: A method, system and computer program product for performing verification of an electronic design is disclosed. The method includes receiving a design, including a first target set, a primary input set, and a first register set comprising one or more registers. A binary decision diagram analysis of the design is generated. A recursive extraction of one or more next states of selected registers is generated using the binary decision diagram analysis of the first target set and the primary input set.. The recursive extraction is decomposed to generate a second target set, and the second target set is verified.
    Type: Application
    Filed: June 2, 2005
    Publication date: December 7, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060248484
    Abstract: A method, system and computer program product for preserving constraints is disclosed. The method comprises receiving an initial design including one or more targets, one or more primary inputs, one or more constraints and one or more state elements. A cut of the initial design including one or more cut gates, and a relation of one or more values producible to the one or more cut gates in terms of the one or more primary inputs and the one or more state elements is computed. The relation is constrained to force one or more constraint gates representing the one or more constraints to evaluate to a forced valuation, and one or more dead-end states of the constraints are identified. The inverse of the dead-end states is applied as don't cares to simplify the relation and the simplified relation is synthesized to form a first gate set. An abstracted design is from the first gate set and verification is performed on the abstracted design to generate verification results.
    Type: Application
    Filed: April 14, 2005
    Publication date: November 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Geert Janssen, Hari Mony, Viresh Paruthi
  • Publication number: 20060248482
    Abstract: A method, system, and computer program product for preserving critical inputs is disclosed. The method comprises receiving an initial design including one or more primary inputs which cannot be eliminated, one or more primary inputs which can be eliminated, one or more targets, and one or more state elements. A cut of said initial design including one or more cut gates is identified, and a relation of one or more values producible to said one or more cut gates in terms of said one or more primary inputs which cannot be eliminated, said one or more primary inputs which can be eliminated and said one or more state elements is computed. Said relation is synthesized to form a gate set, and an abstracted design is formed from said gate set. Verification is performed on said abstracted design to generate verification results.
    Type: Application
    Filed: April 14, 2005
    Publication date: November 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Geert Janssen, Hari Mony, Viresh Paruthi
  • Publication number: 20060248483
    Abstract: A method, system and computer program product for performing synthesis of representations is disclosed. The method comprises receiving a representation of a relation and building a gate representing an OR function of one or more selected parent paths into a node of said representation of said relation. A synthesized gate for said gate representing said OR function and synthesis of a set of representations of relations by iterating said building step and said creating step over one or more variables in said representation of said relation is performed to accumulate a synthesized gate set, which synthesized gate set is returned.
    Type: Application
    Filed: April 14, 2005
    Publication date: November 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Geert Janssen, Hari Mony, Viresh Paruthi
  • Publication number: 20060248481
    Abstract: A method, system and computer program product for reversing effects of reparameterization is disclosed. The method comprises receiving an original design, an abstracted design, and a first trace over the abstracted design. One or more conditional values are populated into the first trace over the abstracted design, and a k-step satisfiability check is cast to obtain a second trace. One or more calculated values are concatenated to an initial gate set in the second trace with one or more established values to a generated subset of the initial design in the abstracted trace to form a new trace, and one or more effects of a reparameterization are reversed by returning the new trace over the initial design.
    Type: Application
    Filed: April 14, 2005
    Publication date: November 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Geert Janssen, Hari Mony, Viresh Paruthi
  • Publication number: 20060248494
    Abstract: A method, system and computer program product for performing parametric reduction of sequential designs is disclosed. The method comprises receiving an initial design including one or more primary inputs, one or more targets, and one or more state elements. A cut of the initial design including one or more cut gates is identified, and a relation of one or more values producible to the one or more cut gates in terms of the one or more primary inputs and the one or more state elements is computed. The relation is synthesized to form a gate set, and an abstracted design is formed from the gate set. Verification is performed on the abstracted design to generate verification results.
    Type: Application
    Filed: April 14, 2005
    Publication date: November 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Geert Janssen, Hari Mony, Viresh Paruthi
  • Publication number: 20060236274
    Abstract: A method, system and computer program product are disclosed. The method includes initializing a first variable to limit a rewrite time for rewrite operations with respect to an initial design by a rewriting module, a second variable to limit a time for satsifability solver operations with respect to said initial design by a staisfiability solver module and a third variable to limit a maximum number of rewrite iterations with respect to said initial design. A timer is called to track said rewrite time and a local logic rewriting operation is run on said initial design with said rewrite module. In response to determining that all of all targets for said initial design netlist are not solved, whether a rewrite time is expired is determined. In response to determining that said rewrite time is not expired, AND refactoring is run. In response to determining that said rewrite time is not expired, XOR refactoring is run.
    Type: Application
    Filed: May 31, 2006
    Publication date: October 19, 2006
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060230366
    Abstract: A method, system and computer program product for reducing XOR/XNOR subexpressions in structural design representations are disclosed. The method includes receiving an initial design, in which the initial design represents an electronic circuit containing an XOR gate. A first simplification mode for the initial design is selected from a set of applicable simplification modes, wherein the first simplification mode is an XOR/XNOR simplification mode, and a simplification of the initial design is performed according to the first simplification mode to generate a reduced design containing a reduced number of XOR gates. Whether a size of the reduced design is less than a size of the initial design is determined, and, in response to determining that the size of the reduced design is less than a the size of the initial design, the initial design is replaced with the reduced design.
    Type: Application
    Filed: March 22, 2005
    Publication date: October 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060230370
    Abstract: A system and method for implementing a verification system. Included is a first set of verification engines for attempting to solve a verification problem. At least one of the first set of verification engines divides the verification problem into a set of partitions and passes at least one of the set of partitions to a second set of verification engines. Each one of the set of partitions may be passed to a distinctly separate verification engine. A system framework is configured to communicate with an application program and further configured to instantiate at least one verification engine in a user-defined sequence. Included within at least one of the first set of verification engines is a means for communicating verification information to the second set of verification engines.
    Type: Application
    Filed: March 17, 2005
    Publication date: October 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060230367
    Abstract: A method, system and computer program product for reducing subexpressions in structural design representations containing AND and OR gates are disclosed. The method comprises receiving an initial design, in which the initial design represents an electronic circuit, containing an AND gate. A first simplification mode for the initial design from a set of applicable simplification modes is selected, wherein said simplification mode is an AND/OR simplification mode, and a simplification of the initial design according to the first simplification mode is performed to generate a reduced design. Whether a size of the reduced design is less than a size of the initial design is determined and, in response to determining that the size of the reduced design is less than the size of the initial design, the initial design is replaced with the reduced design.
    Type: Application
    Filed: March 22, 2005
    Publication date: October 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060206842
    Abstract: A method, system and computer program product for performing retiming in the presence of constraints are disclosed. The method comprises receiving an initial design containing one or more targets and one or more constraints and enumerating the one or more constraints and the one or more targets into a retiming gate set. A retiming graph is constructed from the initial design, and a retiming solution is obtained on the retiming graph. The retiming solution is normalized. One or more retiming lags from the retiming graph are propagated to the initial design, and the initial design is verified by using a constraint-satisfying analysis to determine whether the one or more targets may be hit while the one or more constraints are satisfied.
    Type: Application
    Filed: March 10, 2005
    Publication date: September 14, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Hari Mony, Viresh Paruthi, Jiazhao Xu