IP Library Granted Patent US 9,735,783
Granted Patent B2
US 9,735,783 · App. 14/766,617 · Granted Aug 15, 2017

Fine-grain dynamically reconfigurable FPGA architecture

Inventors: Ting-Jung Lin (Taipei, TW); Wei Zhang (Hong Kong, CN); Niraj K. Jha (Princeton, NJ)
Assignee: THE TRUSTEES OF PRINCETON UNIVERSITY
H03K19/1776H03K19/0008H03K19/17728H03K19/17736H03K19/17752
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 9,735,783
App. No.
14/766,617
Granted
Aug 15, 2017
Kind
B2
Abstract

A field programmable gate array (FPGA) and method of reconfiguring a FPGA are disclosed. The FPGA includes a plurality of logic elements interconnected with reconfigurable switches and at least horizontal and vertical direct links A memory is coupled to the reconfigurable switches, the memory being configured to store at least two run time configurations. The reconfigurable switches are reconfigurable based on a selected run time configuration stored in the memory. The memory may be a nanoelectronic random access memory (RAM). The memory may be configured to store the at least two run time configurations for at least four logic elements. Each logic element may include a look-up-table (LUT), a flip-flop, inputs and outputs. Each logic element may include dedicated carry logic. At least four logic elements may be interconnected with diagonal direct links.

Claims (22)

1. A field programmable gate array (FPGA) comprising:

a plurality of logic elements interconnected with reconfigurable switches and at least horizontal and vertical direct links;

an embedded memory and a pair of single bit static random access memory (SRAM) cells coupled to each reconfigurable switch, a first SRAM cell being configured to receive and store a first run time configuration from the embedded memory for use in a first clock cycle and a second SRAM cell being configured to receive and store a second run time configuration from the embedded memory during the first clock cycle for use during a second adjacent clock cycle;

the reconfigurable switches being reconfigurable during ft the first clock cycle based on the first run time configuration stored in the first SRAM cell, the reconfigurable switches being reconfigurable during the second adjacent clock cycle based on the second run time configuration stored in the second SRAM cell.

2. The FPGA of claim 1 wherein the memory is configured to store the at least two run time configurations for at least four logic elements.

3. The FPGA of claim 1 wherein each logic element comprises a look-up-table (LUT), flip-flop, inputs and outputs.

4. The FPGA of claim 3 wherein each logic element comprises dedicated carry logic.

5. The FPGA of claim 4 wherein the dedicated carry logic comprises a carry multiplexer coupled to the flip flop and an output multiplexer.

6. The FPGA of claim 3 wherein the logic element further comprises input and output multiplexers.

7. The FPGA of claim 6 wherein the input multiplexer has a plurality of inputs the output multiplexer has a plurality of outputs and the number of inputs equals the number of inputs.

8. The FPGA of claim 1 wherein at least four logic elements are interconnected with diagonal direct links.

9. A method of reconfiguring a field programmable gate array (FPGA), the method comprising:

providing a plurality of logic elements interconnected with reconfigurable switches and at least horizontal and vertical direct links;

providing an embedded memory and a pair of single bit static random access memory (SRAM) cells coupled to each reconfigurable switch, a first SRAM cell being configured to receive and store a first run time configuration from the embedded memory for use in a first clock cycle and a second SRAM cell being configured to receive and store a second run time configuration from the embedded memory during the first clock cycle for use during a second adjacent clock cycle;

reconfiguring the reconfigurable switches during the first clock cycle based on the first run time configuration stored in the first SRAM cell, the reconfiguring the reconfigurable switches during the second adjacent clock cycle based on the second run time configuration stored in the second SRAM cell.

10. The method of claim 9 wherein the memory is configured to store the at least two run time configurations for at least four logic elements.

11. The method of claim 9 wherein each logic element comprises a look-up-table (LUT), flip-flop, inputs and outputs.

12. The method of claim 11 wherein each logic element comprises dedicated carry logic.

13. The method of claim 12 wherein the dedicated carry logic comprises a carry multiplexer coupled to the flip flop and an output multiplexer.

14. The method of claim 11 wherein the logic element further comprises input and output multiplexers.

15. The method of claim 14 wherein the input multiplexer has a plurality of inputs the output multiplexer has a plurality of outputs and the number of inputs equals the number of inputs.

16. The method of claim 9 wherein at least four logic elements are interconnected with diagonal direct links.

Assignments (2)
CONFIRMATORY LICENSE Recorded Dec 14, 2016
From: PRINCETON UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 040940/0128 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2016
From: LIN, TING-JUNG; ZHANG, WEI; JHA, NIRAJ
To: THE TRUSTEES OF PRINCETON UNIVERSITY
Reel/Frame 039454/0346 →
Continuity (2)
Provisional Application 61762518 · Feb 8, 2013
Related Publication 20150381182A1 · Dec 31, 2015