IP Library Granted Patent US 10,135,447
Granted Patent B2
US 10,135,447 · App. 15/656,972 · Granted Nov 20, 2018

Compensation memory (CM) for power application

Inventors: Kapil Shankar (Saratoga, CA); Herman Cheung (Cupertino, CA); John Birkner (Woodside, CA); Patrick J. Crotty (San Jose, CA)
Assignee: ANDAPT, INC.
H03K19/17772G06F1/305G06F1/3296G06F3/061G06F3/0659G06F3/0673H03K19/1776H03K19/17728
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 10,135,447
App. No.
15/656,972
Granted
Nov 20, 2018
Kind
B2
Abstract

A memory block integrated in a programmable logic device (PLD) is disclosed. The memory block includes: one or more lookup tables storing pre-populated data. The PLD includes a programmable fabric and a signal wrapper configured to provide signals between the memory block and the programmable fabric. The memory block is configured to receive input signals from the signal wrapper and generate output signals to the signal wrapper by looking up the pre-populated data corresponding to the input signals. The pre-populated data stored in the one or more lookup tables are programmably changed by programming a plurality of parameters of the programmable fabric and loading the pre-populated data to the one or more lookup tables via the signal wrapper.

Claims (31)

1. A memory block integrated in a programmable logic device (PLD) comprising:

one or more lookup tables storing pre-populated data; and

a plurality of registers and a plurality of adders,

wherein the PLD includes a programmable fabric and a signal wrapper configured to provide signals between the memory block and the programmable fabric,

wherein the memory block is configured to receive input signals from the signal wrapper and generate output signals to the signal wrapper by looking up the pre-populated data corresponding to the input signals,

wherein the pre-populated data stored in the one or more lookup tables are programmably changed by programming a plurality of parameters of the programmable fabric and loading the pre-populated data to the one or more lookup tables via the signal wrapper, and

wherein the output signals of the memory block are generated by loading the looked-up data to the plurality of registers, and sequentially adding the data loaded in the plurality of registers using the plurality of adders.

2. The memory block of claim 1 , wherein the pre-populated data is programmably loaded to the one or more lookup tables based on an expected range of the input signals.

3. The memory block of claim 1 , wherein the pre-populated data stored in the one or more lookup tables is integer data.

4. The memory block of claim 1 , wherein the pre-populated data stored in the one or more lookup tables includes a fractional data including a sign bit, a first portion of integer data, and a second portion of fractional data.

5. The memory block of claim 1 , wherein the pre-populated data stored in the one or more lookup tables includes non-linear data.

6. The memory block of claim 1 , wherein the pre-populated data stored in the one or more lookup tables are dynamically loaded or updated via the programmable fabric.

7. A memory block integrated in a programmable logic device (PLD) comprising:

one or more lookup tables storing pre-populated data,

wherein the PLD includes a programmable fabric and a signal wrapper configured to provide signals between the memory block and the programmable fabric,

wherein the memory block is configured to receive input signals from the signal wrapper and generate output signals to the signal wrapper by looking up the pre-populated data corresponding to the input signals,

wherein the pre-populated data stored in the one or more lookup tables are programmably changed by programming a plurality of parameters of the programmable fabric and loading the pre-populated data to the one or more lookup tables via the signal wrapper, and

wherein the input signals to the memory block are error signals of a voltage output, and the output signals from the memory block are compensation signals for the voltage output.

8. The memory block of claim 7 , wherein the pre-populated data is programmably loaded to the one or more lookup tables based on an expected range of the input signals and a signal compensation scheme of the voltage output.

9. The memory block of claim 8 , wherein the signal compensation scheme of the voltage output is a proportional-integral-derivative (PID) control.

10. The memory block of claim 9 , wherein the memory block includes three lookup tables, and each of the three look tables includes the pre-populated data of a product of the input signals or delayed input signals multiplied by a predetermined constant.

11. A memory block integrated in a programmable logic device (PLD) comprising:

one or more lookup tables storing pre-populated data;

a shift register and a shift operator for shifting input signals and generating shifted input signals; and

a 2's compliment operator,

wherein the PLD includes a programmable fabric and a signal wrapper configured to provide signals between the memory block and the programmable fabric,

wherein the memory block is configured to receive the input signals from the signal wrapper and generate output signals to the signal wrapper by looking up the pre-populated data corresponding to the input signals,

wherein the pre-populated data stored in the one or more lookup tables are programmably changed by programming a plurality of parameters of the programmable fabric and loading the pre-populated data to the one or more lookup tables via the signal wrapper, and

wherein the shift register receives an error sign of the input signals, and the 2's compliment operator generates 2's complimented output signals based on the error sign.

12. The memory block of claim 11 , wherein the shifted input signals output from the shift operator are used to select a fine or course windowing to cover a broad range of the input signals using the one or more lookup tables.

13. The memory block of claim 11 , wherein the 2's complimented output signals output from the 2's compliment operator are used to cover a negative range of the input signals using the one or more lookup tables.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2025
From: ANDAPT HOLDINGS LTD.
To: XMOS LIMITED
Reel/Frame 072322/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2022
From: ANDAPT, INC.
To: ANDAPT HOLDINGS LTD.
Reel/Frame 061894/0483 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 043090 FRAME: 0036. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 8, 2018
From: SHANKAR, KAPIL; CHEUNG, HERMAN; BIRKNER, JOHN; CROTTY, PATRICK J.
To: ANDAPT, INC.
Reel/Frame 047205/0897 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2017
From: SHANKAR, KAPIL; CHEUNG, HERMAN; BIRKNER, JOHN; CROTTY, PATRICK J.
To: ANDAPT, INC.
Reel/Frame 043090/0036 →
Continuity (3)
Provisional Application 62365327 · Jul 21, 2016
Provisional Application 62372739 · Aug 9, 2016
Related Publication 20180026644A1 · Jan 25, 2018