Patents by Inventor Sam Elliott

Sam Elliott 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: 20240126965
    Abstract: Methods of verifying a property of a hardware design for an integrated circuit to implement a product of power functions of the form x0t0× . . . ×xntn, wherein t0 . . . tn are fixed, rational numbers, x0 . . . xn are floating point inputs, and n is an integer greater than or equal to one. A first verification phase comprises formally verifying that, for any first non-exception input set X=X0, . . . , Xn and any second non-exception input set Y=Y0, . . . , Yn in an input space wherein corresponding inputs have a same mantissa and (t0X0.exp+ . . . +tnXn.exp)?(t0Y0.exp+ . . . +tnYn.exp) is an integer, an instantiation of the hardware design generates outputs X? and Y? with a same mantissa and X?exp?(t0X0.exp+ . . . +tnXn.exp)=Y?exp?(t0Y0.exp+ . . . +tnYn.exp); and second verification phase comprises verifying the property for the hardware design for a subset of input sets in the input space, the subset of input sets selected based on exponents sets wherein (t0X0.exp+ . . . +tnXn.exp)?(t0Y0.exp+ . . . +tnYn.
    Type: Application
    Filed: June 29, 2023
    Publication date: April 18, 2024
    Inventors: Rachel Edmonds, Sam Elliott, Simon Gaulter
  • Publication number: 20240126507
    Abstract: Adder circuits and associated methods for processing a set of at least three floating-point numbers to be added together include identifying, from among the at least three numbers, at least two numbers that have the same sign—that is, at least two numbers that are both positive or both negative. The identified at least two numbers are added together using one or more same-sign floating-point adders. A same-sign floating-point adder comprises circuitry configured to add together floating-point numbers having the same sign and does not include circuitry configured to add together numbers having different signs.
    Type: Application
    Filed: December 18, 2023
    Publication date: April 18, 2024
    Inventors: Sam Elliott, Jonas Olof Gunnar KALLEN, Casper Van Benthem
  • Patent number: 11954456
    Abstract: A binary logic circuit for determining the ratio x/d where x is a variable integer input, the binary logic circuit comprising: a logarithmic tree of modulo units each configured to calculate x[a: b]mod d for respective block positions a and b in x where b>a with the numbering of block positions increasing from the most significant bit of x up to the least significant bit of x, the modulo units being arranged such that a subset of M?1 modulo units of the logarithmic tree provide x[0: m]mod d for all m?{1, M}, and, on the basis that any given modulo unit introduces a delay of 1: all of the modulo units are arranged in the logarithmic tree within a delay envelope of [log2 M]; and more than M?2u of the subset of modulo units are arranged at the maximal delay of [log2 M], where 2u is the power of 2 immediately smaller than M.
    Type: Grant
    Filed: April 27, 2023
    Date of Patent: April 9, 2024
    Assignee: Imagination Technologies Limited
    Inventors: Jonas Kallen, Sam Elliott
  • Publication number: 20240037303
    Abstract: Methods and systems of verifying a hardware design for a sorter are disclosed. The methods include generating a modified version of the hardware design of the sorter accepting extended inputs and performing formal verification comprising: implementing a constraint that the least significant bits of each input in a set of extended inputs represent a unique value; and formally verifying aspects of the modified version of the hardware design of the sorter for the set of extended inputs.
    Type: Application
    Filed: October 6, 2023
    Publication date: February 1, 2024
    Inventors: Simon Gaulter, Thomas Ferrere, Faizan Nazar, Sam Elliott
  • Publication number: 20240005073
    Abstract: Methods and systems for verifying a hardware design for an integrated circuit that implements a function that is polynomial in an input variable x over a set of values of x. The method includes formally verifying that a first instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all x in the set of values of x the first instantiation of the hardware design has a constant kth difference; and verifying that a second instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x.
    Type: Application
    Filed: September 18, 2023
    Publication date: January 4, 2024
    Inventors: Sam Elliott, Robert McKemey, Max Freiburghaus
  • Patent number: 11853716
    Abstract: Methods and systems for determining whether an infinitely precise result of a reciprocal square root operation performed on an input floating point number is greater than a particular number in a first floating point precision. The method includes calculating the square of the particular number in a second lower floating point precision; calculating an error in the calculated square due to the second floating point precision; calculating a first delta value in the first floating point precision by calculating the square multiplied by the input floating point number less one; calculating a second delta value by calculating the error multiplied by the input floating point number plus the first delta value; and outputting an indication of whether the infinitely precise result of the reciprocal square root operation is greater than the particular number based on the second delta term.
    Type: Grant
    Filed: November 30, 2021
    Date of Patent: December 26, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Casper Van Benthem, Sam Elliott
  • Patent number: 11847429
    Abstract: Adder circuits and associated methods for processing a set of at least three floating-point numbers to be added together include identifying, from among the at least three numbers, at least two numbers that have the same sign—that is, at least two numbers that are both positive or both negative. The identified at least two numbers are added together using one or more same-sign floating-point adders. A same-sign floating-point adder comprises circuitry configured to add together floating-point numbers having the same sign and does not include circuitry configured to add together numbers having different signs.
    Type: Grant
    Filed: January 31, 2022
    Date of Patent: December 19, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Sam Elliott, Jonas Olof Gunnar Kallen, Casper Van Benthem
  • Patent number: 11829694
    Abstract: A hardware design for a component that evaluates a main algebraic expression comprising at least two variables is verified, the main algebraic expression being representable as a lossless combination of a plurality of sub-algebraic expressions, and one or more of the at least two variables can be constrained to cause an instantiation of the hardware design to evaluate each of the sub-algebraic expressions. An instantiation of the hardware design is verified as correctly evaluating each of the plurality of sub-algebraic expressions, and the instantiation of the hardware design is formally evaluated as correctly evaluating one or more combinations of sub-algebraic expressions, wherein the one or more combinations comprises a combination that is equivalent to the main algebraic expression.
    Type: Grant
    Filed: December 6, 2022
    Date of Patent: November 28, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Sam Elliott, Rachel Edmonds
  • Patent number: 11783105
    Abstract: Methods and systems of verifying a hardware design for a sorter are disclosed. The methods include generating a modified version of the hardware design of the sorter accepting extended inputs and performing formal verification comprising: implementing a constraint that the least significant bits of each input in a set of extended inputs represent a unique value; and formally verifying aspects of the modified version of the hardware design of the sorter for the set of extended inputs.
    Type: Grant
    Filed: March 19, 2021
    Date of Patent: October 10, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Simon Gaulter, Thomas Ferrere, Faizan Nazar, Sam Elliott
  • Publication number: 20230297747
    Abstract: A hardware design for a main data transformation component is verified. The main data transformation component is representable as a hierarchical set of data transformation components which includes (i) leaf data transformation components which do not have children, and (ii) parent data transformation components which comprise one or more child data transformation components. For each of the leaf data transformation components, it is verified that an instantiation of the hardware design for the leaf data transformation component generates an expected output transaction. For each of the parent data transformation components, it is formally verified that an instantiation of an abstracted hardware design generates an expected output transaction in response to each of test input transactions.
    Type: Application
    Filed: May 23, 2023
    Publication date: September 21, 2023
    Inventor: Sam Elliott
  • Publication number: 20230297338
    Abstract: A binary logic circuit for determining the ratio x/d where x is a variable integer input, the binary logic circuit comprising: a logarithmic tree of modulo units each configured to calculate x[a:b]mod d for respective block positions a and b in x where b > a with the numbering of block positions increasing from the most significant bit of x up to the least significant bit of x, the modulo units being arranged such that a subset of M - 1 modulo units of the logarithmic tree provide x[0: m]mod d for all m ? {1, M}, and, on the basis that any given modulo unit introduces a delay of 1: all of the modulo units are arranged in the logarithmic tree within a delay envelope of log2 M; and more than M - 2u of the subset of modulo units are arranged at the maximal delay of log2 M, where 2u is the power of 2 immediately smaller than M.
    Type: Application
    Filed: April 27, 2023
    Publication date: September 21, 2023
    Inventors: Jonas KALLEN, Sam ELLIOTT
  • Patent number: 11763054
    Abstract: Methods and systems for verifying a hardware design for an integrated circuit that implements a function that is polynomial in an input variable x over a set of values of x. The method includes formally verifying that a first instantiation of the hardware design implements a function that is polynomial of degree k in x by formally verifying that for all x in the set of values of x the first instantiation of the hardware design has a constant kth difference; and verifying that a second instantiation of the hardware design generates an expected output in response to each of at least k different values of x in the set of values of x.
    Type: Grant
    Filed: July 23, 2021
    Date of Patent: September 19, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Sam Elliott, Robert McKerney, Max Freiburghaus
  • Publication number: 20230221924
    Abstract: Circuits and associated methods for processing two floating-point numbers (A, B) to generate a sum (A+B) of the two numbers and a difference (A?B) of the two numbers include calculating (806) a sum (|A|+|B|) of the absolute values of the two floating-point numbers, using a same-sign floating-point adder (1020), to produce a first result. The method further comprises calculating (808) a difference (|A|?|B|) of the absolute values to produce a second result. The sum (A+B) and the difference (A?B) are generated (810, 812) based on the first result (|A|+|B|), the second result (|A|?|B|), and the sign of each floating-point number.
    Type: Application
    Filed: March 9, 2023
    Publication date: July 13, 2023
    Inventor: Sam Elliott
  • Patent number: 11663385
    Abstract: Methods and systems for verifying, via formal verification, a hardware design for a data transformation pipeline comprising one or more data transformation elements that perform a data transformation on one or more inputs, wherein the formal verification is performed under conditions that simplify the data transformations calculations that the formal verification tool has to perform.
    Type: Grant
    Filed: September 17, 2021
    Date of Patent: May 30, 2023
    Assignee: Imagination Technologies Limited
    Inventor: Sam Elliott
  • Patent number: 11657198
    Abstract: A hardware design for a main data transformation component is verified. The main data transformation component is representable as a hierarchical set of data transformation components which includes (i) a plurality of leaf data transformation components which do not have children, and (ii) one or more parent data transformation components which each comprise one or more child data transformation components. For each of the plurality of leaf data transformation components, it is verified that an instantiation of the hardware design for the leaf data transformation component generates an expected output transaction in response to each of a plurality of test input transactions. For each of the one or more parent data transformation components, it is formally verified, using a formal verification tool, that an instantiation of an abstracted hardware design for the parent data transformation component generates an expected output transaction in response to each of a plurality of test input transactions.
    Type: Grant
    Filed: July 23, 2021
    Date of Patent: May 23, 2023
    Assignee: Imagination Technologies Limited
    Inventor: Sam Elliott
  • Patent number: 11645042
    Abstract: A binary logic circuit for determining the ratio x/d where x is a variable integer input, the binary logic circuit comprising: a logarithmic tree of modulo units each configured to calculate x[a:b]mod d for respective block positions a and b in x where b>a with the numbering of block positions increasing from the most significant bit of x up to the least significant bit of x, the modulo units being arranged such that a subset of M?1 modulo units of the logarithmic tree provide x[0:m]mod d for all m?{1, M}, and, on the basis that any given modulo unit introduces a delay of 1: all of the modulo units are arranged in the logarithmic tree within a delay envelope of ?log 2M?; and more than M?2u of the subset of modulo units are arranged at the maximal delay of ?log 2M?, where 2u is the power of 2 immediately smaller than M.
    Type: Grant
    Filed: December 9, 2021
    Date of Patent: May 9, 2023
    Assignee: Imagination Technologies Limited
    Inventors: Jonas Kallen, Sam Elliott
  • Publication number: 20230097314
    Abstract: A hardware design for a component that evaluates a main algebraic expression comprising at least two variables is verified, the main algebraic expression being representable as a lossless combination of a plurality of sub-algebraic expressions, and one or more of the at least two variables can be constrained to cause an instantiation of the hardware design to evaluate each of the sub-algebraic expressions. An instantiation of the hardware design is verified as correctly evaluating each of the plurality of sub-algebraic expressions, and the instantiation of the hardware design is formally evaluated as correctly evaluating one or more combinations of sub-algebraic expressions, wherein the one or more combinations comprises a combination that is equivalent to the main algebraic expression.
    Type: Application
    Filed: December 6, 2022
    Publication date: March 30, 2023
    Inventors: Sam Elliott, Rachel Edmonds
  • Patent number: 11609741
    Abstract: Circuits and associated methods for processing two floating-point numbers (A, B) to generate a sum (A+B) of the two numbers and a difference (A-B) of the two numbers include calculating (806) a sum (|A|+|B|) of the absolute values of the two floating-point numbers, using a same-sign floating-point adder (1020), to produce a first result. The method further comprises calculating (808) a difference (|A|?|B|) of the absolute values to produce a second result. The sum (A+B) and the difference (A-B) are generated (810, 812) based on the first result (|A|+|B|), the second result (|A|?|B|), and the sign of each floating-point number.
    Type: Grant
    Filed: July 20, 2020
    Date of Patent: March 21, 2023
    Assignee: Imagination Technologies Limited
    Inventor: Sam Elliott
  • Publication number: 20230031551
    Abstract: A fixed logic circuit configured to determine one or more of the most significant bits of the multiplication operation a*x, where a is an integer constant, x is an integer variable in the range 0 to 2m?1, and m is a positive integer, the fixed logic circuit comprising: division logic configured to determine a predetermined number of one or more most significant bits of the result of the division operation: ? 2 i ? x q ? where i is the minimum positive value which satisfies: 2 i ( 2 i ? mod ? a ) > a * ( 2 m - 1 ) + 1 ? q = ? 2 i a ? and output logic configured to provide the one or more most significant bits of the result of the division operation as the respective one or more most significant bits of the multiplication operation a*x.
    Type: Application
    Filed: June 30, 2022
    Publication date: February 2, 2023
    Inventors: Thomas Rose, Sam Elliott
  • Publication number: 20230030495
    Abstract: A fixed logic circuit configured to perform a multiplication operation a*x, where a is an integer constant, x is an integer variable in the range 0 to 2m?1, and m is a positive integer. The fixed logic circuit includes division logic configured to determine a predetermined number of one or more most significant bits of the result of the division operation: ?2ix/q? where q,i are selected such that: a*x=?2ix/q? Multiplication logic determines a predetermined number of one or more least significant bits of the result of the multiplication operation a*x; and output logic combines the predetermined number of one or more most significant bits of the result of the division operation with the predetermined number of one or more least significant bits of the result of the multiplication operation so as to provide an output for the multiplication operation a*x.
    Type: Application
    Filed: June 29, 2022
    Publication date: February 2, 2023
    Inventors: Thomas Rose, Sam Elliott