IP Library Granted Patent US 11,645,355
Granted Patent B1
US 11,645,355 · App. 18/148,673 · Granted May 9, 2023

Systems for evaluating a piecewise linear function

Inventors: Gilles J. C. A. Backhus (Munich, DE); Gary S. Goldman (Los Altos, CA)
Assignee: Recogni Inc.
G06F17/12G06F7/5443
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,645,355
App. No.
18/148,673
Granted
May 9, 2023
Kind
B1
Abstract

A system for evaluating a piecewise linear function includes a first look-up table with N entries, and a second look-up table with M entries, with M being less than N. Each of the N entries contains parameters that define a corresponding linear segment of the piecewise linear function. The system further includes a controller configured to store a subset of the N entries from the first look-up table in the second look-up table. The system further includes a classifier for receiving an input value and classifying the input value in one of a plurality of segments of a number line. A total number of the segments is equal to M, and the segments are non-overlapping and contiguous. The system further includes a multiplexor for selecting one of the M entries of the second look-up table based on the classification of the input value into one of the plurality of segments.

Claims (29)

1. A system, comprising:

a first look-up table (LUT) with N entries, wherein each of the N entries contains parameters that define a corresponding linear segment;

a second LUT with M entries, wherein M is less than N;

a controller configured to store a subset of the N entries from the first LUT in the second LUT;

a classifier configured to receive an input value and classify the input value in one of a plurality of segments of a number line, wherein a total number of the segments is equal to M, and wherein the segments are non-overlapping and contiguous; and

a multiplexor for selecting one of the M entries of the second LUT based on the classification of the input value into one of the plurality of segments.

2. The system of claim 1 , wherein the controller is further configured to successively update the second LUT to store non-overlapping subsets of the N entries from the first LUT.

3. The system of claim 1 , wherein each of the N entries of the first LUT stores a slope and an intercept value.

4. The system of claim 1 , wherein each of the N entries of the first LUT is associated with a range of input values.

5. The system of claim 1 , wherein at a first moment in time during a computation of a piecewise linear approximation of a non-linear function applied to the input value, at least one entry of the second LUT stores a non-zero slope value and a non-zero intercept value.

6. The system of claim 5 , wherein at the first moment in time, at least one entry of the second LUT stores a zero slope value and a zero intercept value.

7. The system of claim 6 , wherein at a second moment in time during the computation of the piecewise linear approximation of the non-linear function applied to the input value, at least two of the M entries of the second LUT store a zero slope value and a zero intercept value.

8. The system of claim 1 , further comprising an adder and a multiplier, wherein the multiplier is configured to multiply the input value with a slope value retrieved from the second LUT to form a product, and wherein the adder is configured to sum the product with an intercept value retrieved from the second LUT to form a sum.

9. The system of claim 8 , further comprising an accumulator configured to accumulate the sum computed by the adder with a running total.

10. The system of claim 1 , wherein the classifier comprises a plurality of comparators.

11. The system of claim 1 , further comprising a memory element, wherein each of the M entries of the second LUT includes a value for either enabling or disabling a storing operation associated with the memory element.

12. A system, comprising:

a first look-up table (LUT) with N entries, wherein N is greater than or equal to four and each of the N entries contains parameters that define a corresponding linear segment;

a second LUT with M entries, wherein M is less than N and is greater than or equal to three;

a controller configured to store values in the second LUT that are based on a subset of the N entries from the first LUT;

a classifier configured to receive an intermediate value and classify the intermediate value in one of a plurality of segments of a number line, wherein a total number of the segments is equal to M, and wherein the segments are non-overlapping and contiguous; and

a first multiplexor for selecting one of the M entries of the second LUT based on the classification of the intermediate value into one of the plurality of segments.

13. The system of claim 12 , wherein the controller is further configured to successively update the second LUT to store values based on one or more of the N entries from the first LUT.

14. The system of claim 12 , wherein each of the N entries of the first LUT stores a slope and an intercept value.

15. The system of claim 12 , wherein each of the N entries of the first LUT is associated with a range of input values.

16. The system of claim 12 , wherein at a first moment in time during a computation of a piecewise linear approximation of a non-linear function applied to an input value, at least one of the M entries of the second LUT stores a slope value equal to one.

17. The system of claim 12 , further comprising an adder and a multiplier, wherein the multiplier is configured to multiply the intermediate value with a slope value retrieved from the second LUT to form a product, and wherein the adder is configured to sum the product with a value retrieved from the second LUT to arrive at a feedback value.

18. The system of claim 17 , further comprising a second multiplexor for selecting either an input value or the feedback value as the intermediate value.

19. The system of claim 12 , wherein the classifier comprises a plurality of comparators.

Assignments (3)
CHANGE OF NAME Recorded Sep 11, 2025
From: RECOGNI INC.
To: TENSORDYNE, INC.
Reel/Frame 072859/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: GOLDMAN, GARY S.
To: RECOGNI INC.
Reel/Frame 062325/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: BACKHUS, GILLES J. C. A.
To: RECOGNI INC.
Reel/Frame 062325/0516 →