IP Library Granted Patent US 10,560,102
Granted Patent B1
US 10,560,102 · App. 16/435,842 · Granted Feb 11, 2020

Field programmable gate array including coupled lookup tables

Inventor: Jonathan Ross (Mountain View, CA)
Assignee: Google LLC
H03K19/17728H03K19/1776H03K19/17744
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,560,102
App. No.
16/435,842
Granted
Feb 11, 2020
Kind
B1
Abstract

A field programmable gate array (FPGA) includes: a first logic block having a first lookup table; and a second logic block having a second lookup table, wherein the first logic block is coupled to the second logic block, in which the first logic block is configured to pass, upon a clock cycle of the FPGA, data about a lookup table configuration stored in the first lookup table to the second logic block.

Claims (22)

1. A field programmable logic device comprising:

a first logic block comprising a first lookup table; and

a second logic block comprising a second lookup table, wherein the first logic block is directly coupled to the second logic block,

wherein the first lookup table comprises a plurality of first memory cells, the second lookup table comprises a plurality of second memory cells, each first memory cell of the first lookup table is directly coupled to a corresponding second memory cell of the second lookup table,

wherein the first logic block is configured to pass, upon a clock cycle of the field programmable logic device, data about a lookup table configuration stored in the plurality of first memory cells of the first lookup table to the plurality of memory cells of the second lookup table, respectively, and

wherein the plurality of first memory cells and the plurality of second memory cells comprise D-type flip-flop registers.

2. The field programmable logic device of claim 1 , wherein, for each first memory cell of the first lookup table coupled to a corresponding second memory cell of the second lookup table, a data output of the first memory cell is coupled to a data input of the second memory cell.

3. The field programmable logic device of claim 1 , wherein each first memory cell of the first lookup table and each second memory cell of the second lookup table comprises a corresponding clock input terminal tied to a same clock signal source.

4. The field programmable logic device of claim 1 , wherein the first lookup table of the first logic block is configured to receive a lookup table configuration from a read-only memory component.

5. A method of updating a lookup table configuration across logic blocks of a field programmable logic device, the method comprising:

receiving, at a first logic block of the field programmable logic device, a clock pulse;

upon receiving the clock pulse, receiving at a first lookup table of the first logic block, a first lookup table configuration;

upon receiving the clock pulse, transmitting from the first lookup table, directly to a second lookup table of a second logic block of the field programmable logic device, a second lookup table configuration; and

storing the first lookup table configuration in the first lookup table of the first logic block,

wherein the second lookup table configuration is transmitted to the second logic block before the first lookup table configuration is stored in the first logic block,

wherein the first lookup table comprises a plurality of first memory cells, the second lookup table comprises a plurality of second memory cells, each first memory cell of the first lookup table is directly coupled to a corresponding memory cell of the second lookup table, and

wherein the plurality of first memory cells and the plurality of second memory cells comprise D-type flip-flop registers.

6. The method of claim 5 , wherein, prior to the first lookup table configuration being received at the first lookup table of the first logic block, the first lookup table configuration is stored in a third lookup table of a third logic block.

7. The method of claim 5 , wherein, for each first memory cell of the first lookup table coupled to a corresponding second memory cell of the second lookup table, a data output of the first memory cell is coupled to a data input of the second memory cell.

8. The method of claim 5 , wherein each first memory cell of the first lookup table and each second memory cell of the second lookup table comprises a corresponding clock input terminal tied to a same clock signal source.

9. The method of claim 5 , wherein the first lookup table of the first logic block is configured to receive the first lookup table configuration from a read-only memory component.

10. The method of claim 5 , wherein the first lookup table configuration is shifted into the second lookup table of the second logic block one bit at each cycle of a clock cycle.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 057353/0295 →
EMPLOYMENT AGREEMENT Recorded May 4, 2021
From: ROSS, JONATHAN
To: X DEVELOPMENT LLC
Reel/Frame 056135/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: ROSS, JONATHAN
To: GOOGLE INC.
Reel/Frame 052923/0099 →
ENTITY CONVERSION Recorded Jun 12, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 053581/0427 →
Continuity (2)
Continuation 15810496 · Nov 13, 2017
Provisional Application 62423535 · Nov 17, 2016