Patents by Inventor Fadi A. Zaraket

Fadi A. Zaraket 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: 8234604
    Abstract: Co-Optimization utilizing Symbolic Execution (COSE) works across components of an embedded design to optimize structures therein. COSE utilizes symbolic execution (SE) to analyze software components and defines a limited set of values that software feeds hardware as constraints. SE explores substantially all possible paths of execution of the code specifying a component. It accomplishes this by accumulating path conditions (PCs) and annotating them to the corresponding segments of the component. A PC is associated with a branch of code and consists of the conjunction of conditions over input and state variables necessary and sufficient for the branch to execute. These PCs define constraints that limit the set of values that software feeds hardware. These constraints are then propagated across the networks of the design and employ static analysis techniques such as constant propagation, redundancy removal, and don't care optimizations to reduce the hardware components.
    Type: Grant
    Filed: September 2, 2008
    Date of Patent: July 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ali S El-Zein, Fadi A Zaraket
  • Patent number: 8140313
    Abstract: A method, system and computer program product for modeling variables in subprograms of a HDL program. A subprogram is provided with an initial value of a variable of an element being modeled and the subprogram is stored in memory of a data processing system. In response to a subprogram call, a copy of the stored subprogram is provided to the requesting HDL program. During execution, the initial value of the variable in the provided copy of the subprogram may be modified by the HDL program, but the value retains unchanged in the stored subprogram.
    Type: Grant
    Filed: January 30, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Gabor Drasny, Ali S. El-Zein, Wolfgang Roesner, Fadi A. Zaraket
  • Patent number: 8141048
    Abstract: A method of verifying a software system includes receiving a description of a software system described utilizing a high-level modeling language, and responsive thereto, parsing the description and constructing an abstract syntax graph. The abstract syntax graph is transformed into a sequential logic representation of the software system. The sequential logic representation is formed by reference to a Hardware Description Language (HDL) library. Then, the sequential logic representation is transformed into a gate-level sequential logic representation. Following the transforming, the software system is verified based upon the gate-level sequential logic representation. Following verification, results of verification of the software system are output.
    Type: Grant
    Filed: February 22, 2007
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jason R. Baumgartner, Ali S. El-Zein, Viresh Paruthi, Fadi A. Zaraket
  • Patent number: 8086429
    Abstract: A system for performing verification includes a means for: importing a design netlist containing component(s), computing output function(s) for the component(s), generating output equivalent state set(s) from the output function(s), identifying next-state function(s) for the component(s), means for producing image equivalent state set(s) for the next-state function(s), means for classifying output-and-image equivalent state set(s) for the image equivalent state set(s) and the output equivalent state set(s), getting a preimage from the next-state function(s) and the output-and-image equivalent state(s) to generate a preimage of the output-and-image equivalent state(s), partitioning over original state(s) of the component(s), and equivalent class input set(s) of the component(s).
    Type: Grant
    Filed: July 7, 2008
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Jason R. Baumgartner, Hari Mony, Viresh Paruthi, Fadi A. Zaraket
  • Patent number: 7823097
    Abstract: Unrolling the “generate” statement of a hardware description language (“HDL”) and displaying the unrolled HDL. For a conditional generate the condition is evaluated. If the statement is true the enclosed HDL code will be displayed. For an iterative generate, the enclosing HDL will be displayed as many times as specified by the bounds of the iteration scheme. This allows, for example, simulation value annotations for signals declared inside the generate statement, semantic navigation inside the generate statements, and allows the user to visualize what is included in the target design.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: October 26, 2010
    Assignee: International Business Machines Corporation
    Inventors: Gabor Drasny, Gabor Bobok, Ali El-Zein, Fadi Zaraket
  • Publication number: 20100058256
    Abstract: Co-Optimization utilizing Symbolic Execution (COSE) works across components of an embedded design to optimize structures therein. COSE utilizes symbolic execution (SE) to analyze software components and defines a limited set of values that software feeds hardware as constraints. SE explores substantially all possible paths of execution of the code specifying a component. It accomplishes this by accumulating path conditions (PCs) and annotating them to the corresponding segments of the component. A PC is associated with a branch of code and consists of the conjunction of conditions over input and state variables necessary and sufficient for the branch to execute. These PCs define constraints that limit the set of values that software feeds hardware. These constraints are then propagated across the networks of the design and employ static analysis techniques such as constant propagation, redundancy removal, and don't care optimizations to reduce the hardware components.
    Type: Application
    Filed: September 2, 2008
    Publication date: March 4, 2010
    Applicant: International Business Machines Corporation
    Inventors: ALI S. EL-ZEIN, Fadi A. Zaraket
  • Publication number: 20090193390
    Abstract: A method, system and computer program product for modeling variables in subprograms of a HDL program. A subprogram is provided with an initial value of a variable of an element being modeled and the subprogram is stored in memory of a data processing system. In response to a subprogram call, a copy of the stored subprogram is provided to the requesting HDL program. During execution, the initial value of the variable in the provided copy of the subprogram may be modified by the HDL program, but the value retains unchanged in the stored subprogram.
    Type: Application
    Filed: January 30, 2008
    Publication date: July 30, 2009
    Inventors: GABOR DRASNY, Alis S. El-Zein, Wolfgang Roesner, Fadi A. Zaraket
  • Patent number: 7506287
    Abstract: A method includes pre-compilation operations on HDL source code files, creating a “make it” file, on demand processing of the HDL source code in an HDL source browser, and resolving overloaded function and operator calls in an HDL source code browser debugger. Construct a list of all HDL files a list of HDL files to be processed. Send an HDL file in the list for compiling. If compilation is successful, branch to add the HDL file to an end of target file and that HDL file is removed from the list. The list is tested for remaining files and then a next file in the list is sent for compiling. After all files in the list have been processed, the HDL files which have been processed are checked for failures to compile and if any of said HDL files to be processed have failed to compile the method branches back to repeating the process until all runs are successful.
    Type: Grant
    Filed: September 16, 2006
    Date of Patent: March 17, 2009
    Assignee: International Business Machines Corporation
    Inventors: Gabor Drasny, Gabor Bobok, Ali El-Zein, Fadi Zaraket, Hussein Sharafeddin
  • Publication number: 20080270086
    Abstract: A system for performing verification includes a means for: importing a design netlist containing component(s), computing output function(s) for the component(s), generating output equivalent state set(s) from the output function(s), identifying next-state function(s) for the component(s), means for producing image equivalent state set(s) for the next-state function(s), means for classifying output-and-image equivalent state set(s) for the image equivalent state set(s) and the output equivalent state set(s), getting a preimage from the next-state function(s) and the output-and-image equivalent state(s) to generate a preimage of the output-and-image equivalent state(s), partitioning over original state(s) of the component(s), and equivalent class input set(s) of the component(s).
    Type: Application
    Filed: July 7, 2008
    Publication date: October 30, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason R. Baumgartner, Hari Mony, Viresh Paruthi, Fadi A. Zaraket
  • Patent number: 7437690
    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: Grant
    Filed: October 13, 2005
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jason R. Baumgartner, Hari Mony, Viresh Paruthi, Fadi A. Zaraket
  • Publication number: 20080209389
    Abstract: A method of verifying a software system includes receiving a description of a software system described utilizing a high-level modeling language, and responsive thereto, parsing the description and constructing an abstract syntax graph. The abstract syntax graph is transformed into a sequential logic representation of the software system, and following the transforming, the software system is verified based upon the sequential logic representation. Following verification, results of verification of the software system are output.
    Type: Application
    Filed: February 22, 2007
    Publication date: August 28, 2008
    Inventors: Jason R. Baumgartner, Ali S. El-Zein, Viresh Paruthi, Fadi A. Zaraket
  • Publication number: 20080072187
    Abstract: Pre-compilation processing including pre-compilation operations on HDL source code files, including creating a “make it” file, on demand processing of the HDL source code in an HDL source browser, and resolving overloaded function and operator calls in an HDL source code browser debugger
    Type: Application
    Filed: September 16, 2006
    Publication date: March 20, 2008
    Inventors: Gabor Drasny, Gabor Bobok, Ali El-Zein, Fadi Zaraket, Hussein Sharafeddin
  • Publication number: 20080072206
    Abstract: Unrolling the “generate” statement of a hardware description language (“HDL”) and displaying the unrolled HDL. For a conditional generate the condition is evaluated. If the statement is true the enclosed HDL code will be displayed. For an iterative generate, the enclosing HDL will be displayed as many times as specified by the bounds of the iteration scheme. This allows, for example, simulation value annotations for signals declared inside the generate statement, semantic navigation inside the generate statements, and allows the user to visualize what is included in the target design.
    Type: Application
    Filed: September 15, 2006
    Publication date: March 20, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Gabor Drasny, Gabor Bobok, Ali El-Zein, Fadi Zaraket
  • Publication number: 20070266354
    Abstract: A method for identifying isomorphic cones with sub-linear resources by exploiting reflexivities, the method comprising: identifying a gate g1 and a gate g2 in a netlist; mapping source gates of g1 with any permutation of source gates of g2 by using calls to an isomorphism detection algorithm; determining whether a permutation exists of pairings between the gates sourcing g1 and g2; resetting pairing of gates if the permutation exists; and eliminating pairwise-identical source gates of g1 and g2.
    Type: Application
    Filed: May 10, 2006
    Publication date: November 15, 2007
    Applicant: International Business Machines Corporation
    Inventors: Jason Baumgartner, Hari Mony, Viresh Paruthi, Fadi Zaraket
  • 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: 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