# US 12,602,530 B2 · Apparatus, device, method and computer program for generating a circuit design of polynomial interpolation hardware

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,530 B2
- Document ID: US12602530B2
- Status: Granted
- Kind: B2
- Application number: 17/656,438
- Filed: 2022-03-25
- Published: 2022-07-14
- Granted: 2026-04-14
- Earliest claimed: 2022-03-25
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Theo Drane; Bryce Orloski
- Web page: https://patentgrep.com/patent/US12602530B2

## CPC

- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples relate to an apparatus, a device, a method, and a computer program for generating a circuit design of polynomial interpolation hardware. The apparatus comprises processing circuitry configured to sub-divide the range of input values of the polynomial interpolation hardware into a plurality of regions, determine, for each region of the plurality of regions, a set of polynomial approximations that are suitable in view of a desired accuracy of the polynomial interpolation hardware, remove, based on one or more user-defined objectives, polynomial approximations from the respective sets of polynomial approximations, and generate the circuit design of the polynomial interpolation hardware based on one polynomial approximation per region remaining in the respective sets of polynomial approximations after the iterative removal of polynomial approximations.

## Claims

### Claim 1

An apparatus for generating a circuit design of polynomial interpolation hardware, the apparatus comprising processing circuitry configured to:
sub-divide the range of input values of the polynomial interpolation hardware into a plurality of regions;
determine, for each region of the plurality of regions, a set of polynomial approximations that are suitable in view of a desired accuracy of the polynomial interpolation hardware;
remove, based on one or more user-defined objectives, polynomial approximations from the respective sets of polynomial approximations; and
generate the circuit design of the polynomial interpolation hardware based on one polynomial approximation per region remaining in the respective sets of polynomial approximations after the iterative removal of polynomial approximations.

### Claim 2 (depends on 1)

The apparatus according to claim 1, wherein the processing circuitry is configured to iteratively remove the polynomial approximations from the respective sets of polynomial approximations.

### Claim 3 (depends on 1)

The apparatus according to claim 1, wherein the polynomial approximations being used for the circuit design define entries of a look-up table used in the polynomial interpolation hardware.

### Claim 4 (depends on 1)

The apparatus according to claim 1, wherein the sets of polynomial approximations define an overall design space of the circuit design of the polynomial interpolation hardware, with the design space being gradually decreased by removing the polynomial approximations from the respective sets of polynomial approximations.

### Claim 5 (depends on 1)

The apparatus according to claim 1, wherein the one or more user-defined objectives are based on properties of a target hardware platform.

### Claim 6 (depends on 1)

The apparatus according to claim 1, wherein the one or more user-defined objectives are based on one or more of an area required for implementing components of the polynomial interpolation hardware, a processing delay of components of the polynomial interpolation hardware, and an availability of fixed-function hardware for implementing components of the polynomial interpolation hardware.

### Claim 7 (depends on 1)

The apparatus according to claim 1, wherein the polynomial interpolation hardware comprises a look-up-table, a computational block for determining a square of a term, and a computational block for determining a multiplication, wherein the one or more user-defined objectives relate to reducing a width or complexity of at least one of the look-up-table, the computational block for calculating the square of the term, and the computational block for calculating the multiplication.

### Claim 8 (depends on 7)

The apparatus according to claim 7, wherein the one or more user-defined objectives comprise at least one of an objective related to reducing an input width of the computational block for calculating the square of the term, an objective related to reducing a linear component input width of the computational block for calculating the multiplication, an objective related to reducing a width of entries of the look-up table, and an objective related to reducing a precision of the computational block for calculating the multiplication.

### Claim 9 (depends on 7)

The apparatus according to claim 7, wherein the polynomial interpolation hardware comprises a bit-shifting component, with the one or more user-defined objectives comprising an objective related to reducing an extent of the bit shift.

### Claim 10 (depends on 1)

The apparatus according to claim 1, wherein the application of a user-defined objective reduces an overall accuracy of the polynomial interpolation hardware, so that the polynomial approximations that are suitable in view of the desired accuracy of the polynomial interpolation hardware are limited by the overall accuracy of the polynomial interpolation hardware.

### Claim 11 (depends on 1)

The apparatus according to claim 1, wherein the plurality of polynomials are defined by three coefficients a, b, and c, with the plurality of polynomials having the form of (ax{circumflex over ( )}2+bx+c)>>k, with k defining an extent of a bit-shift applied on the polynomial, the bit-shift having an influence on the precision of an evaluation of the polynomial.

### Claim 12 (depends on 11)

The apparatus according to claim 11, wherein the coefficients define entries of a look-up table used by the polynomial interpolation hardware.

### Claim 13 (depends on 11)

The apparatus according to claim 11, wherein the processing circuitry is configured to determine a plurality of values for coefficient a, to determine for each value of coefficient a a plurality of values for coefficient b, and for each combination of coefficients a and b a plurality of values for coefficient c, with each combination of a, b and c defining a polynomial approximation.

### Claim 14 (depends on 13)

The apparatus according to claim 13, wherein an input value of the polynomial interpolation hardware has a pre-defined bit-width, wherein the processing circuitry is configured to sub-divide the bits of the input value into a first range of most significant bits r and a second range of least significant bits w, with r bits being used as key for the look-up table.

### Claim 15 (depends on 14)

The apparatus according to claim 14, wherein the processing circuitry is configured to sub-divide the range of input values of the polynomial interpolation hardware into the plurality of regions based on the first range of most significant bits r.

### Claim 16 (depends on 14)

The apparatus according to claim 14, wherein the processing circuitry is configured to sub-divide the bits of the input value such, that a combination of coefficients a, b and c and shift value k exists that define suitable sets of polynomial approximations that cover the plurality of regions, with the processing circuitry being configured to determine the coefficients a, b and c based on the sub-division of the bits of the input value.

### Claim 17 (depends on 11)

The apparatus according to claim 11, wherein the processing circuitry is configured to determine the coefficients a, b and c and shift value k based on three inequalities defining ranges of possible values for coefficients a, b and c and shift value k, with the inequalities being defined by lower bounds and upper bounds being based on the desired accuracy of the polynomial interpolation hardware.

### Claim 18 (depends on 1)

The apparatus according to claim 1, wherein the processing circuitry is configured to determine, for each region of the plurality of regions, a set of quadratic polynomial approximations that are suitable in view of a desired accuracy of the polynomial interpolation hardware.

### Claim 19 (depends on 1)

The apparatus according to claim 1, wherein the processing circuitry is configured to determine, for each region of the plurality of regions, a set of linear polynomial approximations that are suitable in view of a desired accuracy of the polynomial interpolation hardware.

### Claim 20

A method for generating a circuit design of polynomial interpolation hardware, the method comprising:
sub-dividing the range of input values of the polynomial interpolation hardware into a plurality of regions;
determining, for each region of the plurality of regions, a set of polynomial approximations that are suitable in view of a desired accuracy of the polynomial interpolation hardware;
removing, based on one or more user-defined objectives, polynomial approximations from the respective sets of polynomial approximations; and
generating the circuit design of the polynomial interpolation hardware based on one polynomial approximation per region remaining in the respective sets of polynomial approximations after the iterative removal of polynomial approximations.

### Claim 21 (depends on 20)

A non-transitory machine-readable storage medium including program code, when executed, to cause a machine to perform the method of claim 20.
