Patents by Inventor Dhiraj Goswami

Dhiraj Goswami 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: 11853668
    Abstract: A system and a method are disclosed for emulating a design of an electronic circuit. One or more field programmable gate array (FPGA) overlays are programmed to implement a first set of logic elements of the design of the electronic circuit. A second set of logic elements of the design of the electronic circuit is implemented in one or more FPGAs. The FPGA overlays implementing the first set of logic elements and the FPGAs implementing the second set of logic elements are interconnected to each other. The design of the electronic circuit is then tested using the interconnected FPGA overlays and the FPGAs.
    Type: Grant
    Filed: September 23, 2019
    Date of Patent: December 26, 2023
    Assignee: Synopsys, Inc.
    Inventors: Ngai Ngai William Hung, Dhiraj Goswami
  • Patent number: 11687831
    Abstract: An approach includes receiving a machine learning processing job, executing the machine learning processing job using parallel processing of multiple output pixels each cycle by walking data across processing elements with broadcast weights within regions and executing parallel multiplication operations, and generating an output indicating whether the machine learning processing job was successful or failed. In some embodiments, a schedule of actions is generated for respective machine learning processing jobs. The schedule of actions may include any of a plurality of shift operations in a many to many arrangement or a one to many arrangement, shifting data across region boundaries, fetching data and weights from a memory and distribution thereof to a plurality of regions (e.g., weights are distributed to respective weight memories which subsequently broadcasts those weights in a specified order based on a schedule of actions, and where data is distributed to respective processing elements).
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: June 27, 2023
    Assignee: Cadence Design Systems, Inc.
    Inventors: Ngai Ngai William Hung, Dhiraj Goswami, Michael Patrick Zimmer, Yong Liu
  • Patent number: 11676068
    Abstract: An approach includes a method, product, and apparatus for dynamically removing sparse data on a pixel by pixel basis. In some embodiments, a machine learning processing job is received. The machine learning processing job is then executed on a pixel by pixel basis by selecting non-zero data values for input into a systolic array, wherein sparse data is not selected for input into the systolic array. Subsequently, a message is generated that provides an indication of whether the execution completed successfully. In some embodiments, the machine learning processing job comprises at least a plurality of multiply and accumulate operations. In some embodiments, at least one data value equal to zero for the machine learning processing job is not input into a systolic array. In some embodiments, a plurality of weights are input into a plurality of columns for each cycle.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: June 13, 2023
    Assignee: Cadence Design Systems, Inc.
    Inventors: Michael Patrick Zimmer, Ngai Ngai William Hung, Yong Liu, Dhiraj Goswami
  • Patent number: 11615320
    Abstract: An approach includes identification of a machine learning model for processing and generating an ordered set of weights with varying precisions and metadata that specifies where those values can be found in order to allow the identification of weights needed during processing. In a first embodiment, the variable precision weights are separated into different memory segments where each segment has weights of only a single precision. In a second embodiment, the variable precision weights are provided in a memory where weights of different precisions are intermingled, and those weights are identified using a sequence of pairs of data representing a number of weights with the same precision and the precision of those weights. In some embodiments, both the first and second embodiments are combined, where some segments contain weights with only a single precision and at least one segment stores weights with different precisions within a respective segment.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: March 28, 2023
    Assignee: Cadence Design Systems, Inc.
    Inventors: Ngai Ngai William Hung, Dhiraj Goswami, Michael Patrick Zimmer, Yong Liu
  • Patent number: 11468218
    Abstract: Computer-implemented techniques are disclosed for verifying circuit designs using subgraph caching. A device under test (DUT) is modeled as a graph. The graph is partitioned into one or more subgraphs and problems are generated for each subgraph. Graph and subgraph problem generation is repeated numerous times throughout the verification process. Problems and sub-problems are generated and solved. When a subgraph problem is solved, the problem's variables, values, and information can be stored in a cache. The storage can be based on entropy of variables used in the graph and subgraph problems. The subgraph problem storage cache can be searched for previously stored problems which match another problem in need of a solution. By retrieving subproblem variables, values, and information from the cache, the computational overhead of circuit design verification is reduced as problems are reused. Caching can be accomplished using an information theoretic approach.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: October 11, 2022
    Assignee: Synopsys, Inc.
    Inventors: Dhiraj Goswami, Ngai Ngai William Hung
  • Patent number: 10762262
    Abstract: A constraint solver utilizes a modified relaxation process to generate multiple different stimulus stream arrays that comply with multi-dimensional (e.g., 2D or 3D) constraints. First, an array is generated including rows and columns of randomly generated test vector values. During a first revision phase, the array is modified to comply with first-dimension constraints (e.g., selected test vector values are changed in non-compliant rows until every row complies with all row constraints). A second revision phase is then performed in multiple cycles, where each cycle includes identifying a current element having a greatest impact on non-compliance of the array on second-dimension (e.g., column and/or diagonal) constraints, and revising the current element's test vector value in a way that both minimizes the non-compliance, and also maintains compliance of the array with the first-dimension constraints.
    Type: Grant
    Filed: October 3, 2018
    Date of Patent: September 1, 2020
    Assignee: Synopsys, Inc.
    Inventors: In Ho Moon, Qiang Qiang, Dhiraj Goswami
  • Patent number: 10372856
    Abstract: Methods and apparatuses are described for assigning random values to a set of random variables so that the assigned random values satisfy a set of constraints. A constraint solver can receive a set of constraints that is expected to cause performance problems when the system assigns random values to the set of random variables in a manner that satisfies the set of constraints. For example, modulo constraints and bit-slice constraints can cause the system to perform excessive backtracking when the system attempts to assign random values to the set of random variables in a manner that satisfies the set of constraints. The system can rewrite the set of constraints to obtain a new set of constraints that is expected to reduce and/or avoid the performance problems. The system can then assign random values to the set of random variables based on the new set of constraints.
    Type: Grant
    Filed: October 12, 2015
    Date of Patent: August 6, 2019
    Assignee: SYNOPSYS, INC.
    Inventors: Ngai Ngai William Hung, Qiang Qiang, Guillermo R. Maturana, Jasvinder Singh, Dhiraj Goswami
  • Patent number: 10325046
    Abstract: Configuring a hardware verification system includes receiving first data representing a first integrated circuit design configured to operate via a first clock signal derived from a second clock signal and a third signal generated by the second clock signal. The computer transforms the first data into second data representing a second design that includes functionality of the first design. The transformation replaces the first clock signal with the second clock signal. A first Boolean function is defined by first and second values of the third signal corresponding to a first transition of the second clock signal being in a same direction as a transition of the first clock signal. A second Boolean function is defined by the first and second values of the third signal corresponding to a second transition of the second clock signal being in a direction opposite to the associated transition of the first clock signal.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: June 18, 2019
    Assignee: SYNOPSYS, INC.
    Inventors: Lingyi Liu, Ngai Ngai William Hung, Sitanshu Seth, Leonid Alexander Broukhis, Dhiraj Goswami
  • Patent number: 9958917
    Abstract: Disclosed is a resettable memory device including a memory unit, a reset status indicator circuit, a logic sampling circuit, and a multiplexer for performing a reset function. The memory unit includes cells for storing states of signals in a design under test. The reset status indicator stores states of indicators indicating whether corresponding cells should be reset or not. Responsive to the reset status indicator indicating that the value of the cell should not be reset, the multiplexer receives the value stored in the cell and outputs the retrieved value from the cell. Responsive to the reset status indicator indicating that the value of the cell should be reset, the multiplexer outputs a reset value instead of the value stored in the cell. The reset value may be changed by the logic sampling circuit at different time periods or certain logic conditions, and output through the multiplexer.
    Type: Grant
    Filed: December 2, 2016
    Date of Patent: May 1, 2018
    Assignee: Synopsys, Inc.
    Inventors: Ngai Ngai William Hung, Dhiraj Goswami
  • Publication number: 20180082004
    Abstract: Configuring a hardware verification system includes receiving first data representing a first integrated circuit design configured to operate via a first clock signal derived from a second clock signal and a third signal generated by the second clock signal. The computer transforms the first data into second data representing a second design that includes functionality of the first design. The transformation replaces the first clock signal with the second clock signal. A first Boolean function is defined by first and second values of the third signal corresponding to a first transition of the second clock signal being in a same direction as a transition of the first clock signal. A second Boolean function is defined by the first and second values of the third signal corresponding to a second transition of the second clock signal being in a direction opposite to the associated transition of the first clock signal.
    Type: Application
    Filed: September 15, 2017
    Publication date: March 22, 2018
    Inventors: Lingyi Liu, Ngai Ngai William Hung, Sitanshu Seth, Leonid Alexander Broukhis, Dhiraj Goswami
  • Patent number: 9720792
    Abstract: Computer-implemented techniques are disclosed for verifying circuit designs using dynamic problem generation. A device under test (DUT) is modeled as part of a test bench where the test bench is a random process. A set of constraints is solved to generate stimuli for the DUT. Problem generation is repeated numerous times throughout a verification process with problems and sub-problems being generated and solved. When a problem is solved, the problem structure can be stored in a cache. The storage can be based on entropy of variables used in the problem. The problem storage cache can be searched for previously stored problems which match a current problem. By retrieving a problem structure from cache, the computational burden is reduced during verification. Problems can be multi-phase problems with storage and retrieval of problem structures based on the phase level. Caching can be accomplished using an information theoretic approach.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: August 1, 2017
    Assignee: SYNOPSYS, INC.
    Inventors: Dhiraj Goswami, Ngai Ngai William Hung
  • Publication number: 20160034624
    Abstract: Methods and apparatuses are described for assigning random values to a set of random variables so that the assigned random values satisfy a set of constraints. A constraint solver can receive a set of constraints that is expected to cause performance problems when the system assigns random values to the set of random variables in a manner that satisfies the set of constraints. For example, modulo constraints and bit-slice constraints can cause the system to perform excessive backtracking when the system attempts to assign random values to the set of random variables in a manner that satisfies the set of constraints. The system can rewrite the set of constraints to obtain a new set of constraints that is expected to reduce and/or avoid the performance problems. The system can then assign random values to the set of random variables based on the new set of constraints.
    Type: Application
    Filed: October 12, 2015
    Publication date: February 4, 2016
    Applicant: SYNOPSYS, INC.
    Inventors: Ngai Ngai William Hung, Qiang Qiang, Guillermo R. Maturana, Jasvinder Singh, Dhiraj Goswami
  • Patent number: 9202005
    Abstract: A design verification workstation contains both debug and constraint solver capabilities during simulation of a design under test. The design verification workstation is configured to allow the user to debug constraints, stop the constraint solver, navigate problems and variables, and make modifications on-the fly during the simulation to constraint information. Additionally, in some embodiments, the design verification workstation may allow a user to use a constraint solver to experiment if the modifications will lead to desired test stimulus. Since this debug process happens during simulation, users do not need to recompile the test case. Additionally, once a user is satisfied with the modifications made to the simulation, the modification could be saved for future usage.
    Type: Grant
    Filed: August 28, 2014
    Date of Patent: December 1, 2015
    Assignee: SYNOPSYS, INC.
    Inventors: Dhiraj Goswami, Aijun Hu, Na Xing, Jason Chung-Shih Chen, Ngai Ngai William Hung
  • Patent number: 9195634
    Abstract: Methods and apparatuses are described for assigning random values to a set of random variables so that the assigned random values satisfy a set of constraints. A constraint solver can receive a set of constraints that is expected to cause performance problems when the system assigns random values to the set of random variables in a manner that satisfies the set of constraints. For example, modulo constraints and bit-slice constraints can cause the system to perform excessive backtracking when the system attempts to assign random values to the set of random variables in a manner that satisfies the set of constraints. The system can rewrite the set of constraints to obtain a new set of constraints that is expected to reduce and/or avoid the performance problems. The system can then assign random values to the set of random variables based on the new set of constraints.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: November 24, 2015
    Assignee: SYNOPSYS, INC.
    Inventors: Ngai Ngai William Hung, Qiang Qiang, Guillermo R. Maturana, Jasvinder Singh, Dhiraj Goswami
  • Patent number: 9098665
    Abstract: A design problem can include a mixture of hard constraints and soft constraints. The soft constraints can be prioritized and the design problem solved. One or more soft constraints may not be honored in the midst of the solving of the design problem. Debugging can be performed and the unsatisfied soft constraints identified. Root-cause analysis can evaluate the challenges within the design problem which caused soft constraints not to be honored.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: August 4, 2015
    Assignee: Synopsys, Inc.
    Inventors: Ganapathy Parthasarathy, Dhiraj Goswami
  • Patent number: 9069699
    Abstract: Methods and apparatuses are described for identifying inconsistent constraints. During operation, a system can receive a set of constraints, wherein each constraint is defined over one or more random variables from a set of random variables. If an inconsistency or conflict is detected while solving the set of constraints, the system can identify a phase in a series of phases of the constraint solver where the inconsistency was detected. The system can then try to solve different subsets of the set of constraints to identify smaller subsets of the set of constraints that contain the inconsistency. When the system tries to solve a subset of the set of constraints, the system can determine whether or not an inconsistency is detected in the identified phase while solving the subset of the set of constraints. Next, the system can report the smallest subset of inconsistent constraints that was found to a user.
    Type: Grant
    Filed: March 29, 2011
    Date of Patent: June 30, 2015
    Assignee: SYNOPSYS, INC.
    Inventors: Dhiraj Goswami, Soe Myint, Ngai Ngai William Hung, Rajarshi Mukherjee
  • Publication number: 20150067622
    Abstract: A design verification workstation contains both debug and constraint solver capabilities during simulation of a design under test. The design verification workstation is configured to allow the user to debug constraints, stop the constraint solver, navigate problems and variables, and make modifications on-the fly during the simulation to constraint information. Additionally, in some embodiments, the design verification workstation may allow a user to use a constraint solver to experiment if the modifications will lead to desired test stimulus. Since this debug process happens during simulation, users do not need to recompile the test case. Additionally, once a user is satisfied with the modifications made to the simulation, the modification could be saved for future usage.
    Type: Application
    Filed: August 28, 2014
    Publication date: March 5, 2015
    Inventors: Dhiraj Goswami, Aijun Hu, Na Xing, Jason Chung-Shih Chen, Ngai Ngai William Hung
  • Patent number: 8904320
    Abstract: A design description for verification includes a set of constraints on random variables within the design description. The set of constraints includes at least one multiplication constraint involving at least two random variables. A computer-based tool obtains designs and analyzes the design description to find the set of constraints and identify the multiplication constraint. The computer-based tool then performs factorization to solve for the multiplication constraint and to determine a set of potentially valid factoring values for the random variables used in the multiplication constraint. The design problem is then solved by the computer-based tool using the factoring values. If two multiplication constraints involve a common variable, the factorization finds a set of common factoring values between the two multiplication constraints to use for the common variable.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: December 2, 2014
    Assignee: Synopsys, Inc.
    Inventors: Vijay Anand Korthikanti, Dhiraj Goswami
  • Publication number: 20140282316
    Abstract: A design description for verification includes a set of constraints on random variables within the design description. The set of constraints includes at least one multiplication constraint involving at least two random variables. A computer-based tool obtains designs and analyzes the design description to find the set of constraints and identify the multiplication constraint. The computer-based tool then performs factorization to solve for the multiplication constraint and to determine a set of potentially valid factoring values for the random variables used in the multiplication constraint. The design problem is then solved by the computer-based tool using the factoring values. If two multiplication constraints involve a common variable, the factorization finds a set of common factoring values between the two multiplication constraints to use for the common variable.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: SYNOPSYS, INC.
    Inventors: Vijay Anand Korthikanti, Dhiraj Goswami
  • Publication number: 20140282343
    Abstract: A design problem can include a mixture of hard constraints and soft constraints. The soft constraints can be prioritized and the design problem solved. One or more soft constraints may not be honored in the midst of the solving of the design problem. Debugging can be performed and the unsatisfied soft constraints identified. Root-cause analysis can evaluate the challenges within the design problem which caused soft constraints not to be honored.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 18, 2014
    Applicant: Synopsys, Inc.
    Inventors: Ganapathy Parthasarathy, Dhiraj Goswami