Patents by Inventor Robert Kanzelman

Robert Kanzelman 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: 20070220461
    Abstract: A method, system and computer program product for performing equivalence checking of a circuit design are disclosed. The method includes importing a first design comprising a first register set and a different second design comprising a second register set and importing a mapping between corresponding initial states of the first register set and the second register set. A first random logic and a second random logic, respectively representing an application of a set of initial values to the first register set and the second register set are generated and an equivalence check on a third design synthesized from the first design and the second design with an output set from the first random logic as an initialization of the first register set and with an output set of the second random logic as an initialization of the second register set is performed.
    Type: Application
    Filed: March 14, 2006
    Publication date: September 20, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Paul Roessler
  • Publication number: 20070174799
    Abstract: A method, system and computer program product for performing verification are disclosed. The method includes creating and designating as a current abstraction a first abstraction of an initial design netlist containing a first target and unfolding the current abstraction by a selectable depth. A composite target is verified, using a satisfiability solver and, in response to determining that the verifying step has hit the composite target, a counterexample is examined to identify one or more reasons for the first target to be asserted. One or more refinement pairs are built by examining the counterexample and a second abstraction is built by composing the refinement pairs. A new target is built over one or more cutpoints in the first abstraction that is asserted when the one or more cutpoints assume values in the counterexample, and the new target is verified with the satisfiability solver.
    Type: Application
    Filed: January 26, 2006
    Publication date: July 26, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20070174798
    Abstract: A method, system and computer program product for performing verification are disclosed. A first abstraction of an initial design netlist containing a first target is created and designated as a current abstraction, and the current abstraction is unfolded by a selectable depth. A composite target is verified using a satisfiability solver, and in response to determining that the verifying step has hit the composite target, a counterexample to is examined to identify one or more reasons for the first target to be asserted. One or more refinement pairs are built by examining the counterexample, and a second abstraction is built by composing the refinement pairs. One or more learned clauses and one or more invariants to the second abstraction and the second abstraction is chosen as the current abstraction. The current abstraction is verified with the satisfiability solver.
    Type: Application
    Filed: January 26, 2006
    Publication date: July 26, 2007
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • 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: 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: 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: 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: 20060190869
    Abstract: System and software for verifying that a model of an integrated circuit satisfies its specification includes performing a sequence of at least one sequential transformation on a sequential model of the integrated circuit to produce a simplified sequential model of the integrated circuit. Thereafter, the simplified sequential model is unfolded for N time steps to create a combinational representation of the design. A sequence of at least one combinational transformation algorithms is then performed on the unfolded design to produce a simplified unfolded model. Finally, an exhaustive search algorithm is performed on the simplified unfolded model. The sequence of sequential transformations may include a sequential redundancy removal (SRR) algorithm and/or another sequential algorithm such as a retiming transformation. The combinational transformations may include a combinational redundancy removal algorithm or a logic re-encoding algorithm.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 24, 2006
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060190873
    Abstract: A verification method foe an integrated circuit includes identifying an equivalence class including a set of candidate gates suspected of exhibiting equivalent behavior and identifying one of the candidate gates as a representative gate for the equivalence class. Equivalence gates of an XOR gate are sourced by the representative gate and a candidate gate. A speculatively reduced netlist is generated by replacing the representative gate as the source gate for edges sourced by a candidate gate in the original design. The speculatively reduced netlist is then used either to verify formally the equivalence of the gates by applying a plurality of transformation engines to the speculatively reduced netlist or to perform incomplete search and, if none of the equivalence gates is asserted during the incomplete search, any verification results derived from the incomplete search can be applied to the original model.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 24, 2006
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20060129952
    Abstract: A method of incrementally reducing a design is disclosed. A logic verification tool receives a design and a property for verification with respect to the design, and then selects one or more of a plurality of diverse techniques for reducing the design. The logic verification tool then reduces the design to create a reduced design using the one or more techniques and attempts to generate a valid solution for the property on the reduced design. The logic verification tool determines whether a valid solution is generated, and, if not, replaces the design with the reduced design. Until a valid solution is generated, the logic verification tool iteratively performs the selecting, reducing, determining and replacing steps.
    Type: Application
    Filed: December 14, 2004
    Publication date: June 15, 2006
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi
  • Publication number: 20050289486
    Abstract: A method, apparatus, system, and signal-bearing medium that in an embodiment apply a latch behavior to a first and second netlist, where the latch behavior exhibits transparent behavior. Flush enabling conditions are applied to the first netlist and a second netlist. For each latch in a first scan chain in the first netlist, a corresponding latch in the second netlist is found. Cones of logic are then extracted from the latches under the constraints enabling the flush operation, and the cones of logic are compared for functional equivalence. If all the cones are functionally equivalent, then the flush reset states of the netlists are functionally equivalent. If at least one of the cones is not functionally equivalent, then the flush reset states of the two netlists are not equivalent.
    Type: Application
    Filed: June 24, 2004
    Publication date: December 29, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kenneth Caron, Robert Kanzelman, Scott Mack, Lance Thompson, Mark Williams
  • Publication number: 20050188337
    Abstract: A design verification system includes a first verification engine to model the operation of a first design of an integrated circuit to obtain verification results including the model's adherence to a property during N time steps of its operation, proofs that one or more verification targets can be reached, and verification coverage results for targets that are not reached. A correspondence engine determines the functional correspondence between the first design and a second design of the integrated circuit. Functional correspondence, if demonstrated, enables reuse of the first engine's verification results to reduce resources expended during subsequent analysis of the second design. The correspondence determination may be simplified using a composite model of the integrated circuit having “implies” logic in lieu of “EXOR” logic. The implies logic indicates conditions in which a node in the second design achieves a state that is contrary to the verification results for the first design.
    Type: Application
    Filed: February 19, 2004
    Publication date: August 25, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Robert Kanzelman, Hari Mony, Viresh Paruthi