IP Library Granted Patent US 10,396,800
Granted Patent B2
US 10,396,800 · App. 16/154,918 · Granted Aug 27, 2019

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,396,800
App. No.
16/154,918
Granted
Aug 27, 2019
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 (38)

1. A programmable logic device (PLD) comprising:

a memory block including one or more lookup tables storing pre-populated data, one or more registers, and one or more adders;

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 is programmably changed by programming 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 one or more registers, and sequentially adding the data loaded in the one or more registers using the one or more adders.

2. The PLD 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 PLD of claim 1 , 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.

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

5. The PLD 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 the fractional data.

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

7. The PLD 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.

8. A programmable logic device (PLD) comprising:

a memory block including one or more lookup tables storing pre-populated data;

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 is programmably changed by programming 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.

9. The PLD of claim 8 , 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.

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

11. The PLD of claim 8 , 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.

12. The PLD of claim 8 , wherein the pre-populated data stored in the one or more lookup tables is integer data.

13. The PLD of claim 8 , 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 the fractional data.

14. The PLD of claim 8 , wherein the pre-populated data stored in the one or more lookup tables are dynamically loaded or updated via the programmable fabric.

15. A programmable logic device (PLD) comprising:

a memory block including one or more lookup tables storing pre-populated data, a shift register, and a 2's compliment operator;

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 is programmably changed by programming 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.

16. The PLD of claim 15 , wherein the memory block further includes a shift operator shifting the input signals and generating shifted input signals, 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.

17. The PLD of claim 15 , 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.

18. The PLD of claim 15 , wherein the pre-populated data stored in the one or more lookup tables is integer data.

19. The PLD of claim 15 , 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 the fractional data.

20. The PLD of claim 15 , wherein the pre-populated data stored in the one or more lookup tables are dynamically loaded or updated via the programmable fabric.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2018
From: SHANKAR, KAPIL; CHEUNG, HERMAN; BIRKNER, JOHN; CROTTY, PATRICK J.
To: ANDAPT, INC.
Reel/Frame 047109/0069 →
Continuity (4)
Continuation 15656972 · Jul 21, 2017
Provisional Application 62365327 · Jul 21, 2016
Provisional Application 62372739 · Aug 9, 2016
Related Publication 20190052275A1 · Feb 14, 2019