IP Library Granted Patent US 9,825,633
Granted Patent B2
US 9,825,633 · App. 15/384,282 · Granted Nov 21, 2017

Heterogeneous segmented and direct routing architecture for field programmable gate array

Inventor: Tony Kai-Kit Ngai (Saratoga, CA)
Assignee: EFINIX, INC.
H03K19/017581H03K19/1737H03K19/17728H03K19/17736
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,825,633
App. No.
15/384,282
Granted
Nov 21, 2017
Kind
B2
Abstract

A method and apparatus is disclosed herein for segmented and direct routing in a programmable gate array. In one embodiment, the programmable gate array comprises a plurality of programmable tiles, including at least one SHLRT having: a block configurable as a logic function or a routing function; and one or more switching blocks coupled to programmable tiles in the plurality of programmable tiles for segmented routing.

Claims (29)

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

a plurality of programmable tiles, wherein each tile of the plurality of tiles is operable to be programmed at different times to perform only a logic function or only a routing function, wherein at least a first one of the tiles comprises

a first logic block comprising a look-up table that is configured to perform the logic function;

one or more switching blocks coupled to the first logic block, the one or more switching blocks comprising an input coupled to a first segmented routing connection and an output coupled to a second segmented routing connection; wherein the plurality of programmable tiles comprise a set of second tiles and one or more third tiles, wherein the at least first one of the tiles is connected to at least one of the second tiles via at least one of the third tiles comprising a look-up table that is configured to perform the routing function.

2. The FPGA defined in claim 1 wherein each of the one or more switching blocks includes a multiplexing logic with at least two inputs and an output, a first one of the two inputs being directly connected to an output of the first logic block and a second one of the two inputs being coupled to an output of a second connection block interfacing the first logic block with at least the first segmented connection, wherein the output of the multiplexing logic is coupled to a driver to drive the output coupled to the second segmented routing connection, and wherein the output of the switching block is coupled to an input of a first connection block interfacing the first logic block with at least the second segmented connection.

3. The FPGA defined in claim 1 wherein the first segmented connection is a segmented vertical routing that uses more than one segment or a segmented horizontal routing that uses more than one segment.

4. The FPGA defined in claim 1 wherein the third tiles comprises twenty four neighboring tiles that are directly connected via direct-drive routing to the at least the first one of the tiles.

5. The FPGA defined in claim 1 wherein the routing function of the at least one of the third tiles is a direct-drive routing that is for routing shorter distances than the first segmented routing.

6. The FPGA defined in claim 1 wherein the at least one of the third tiles serves as a routing hub.

7. The FPGA defined in claim 1 further comprising

a first connection block to input the second segmented routing connection and a local routing connection, and to provide an output to the first logic block.

8. The FPGA defined in claim 1 wherein the look-up table of at least one of the third tiles is configured as a routing multiplexer coupled to a driver.

9. The FPGA defined in claim 1 further comprising an external port that is directly connected to the first logic block via the at least one of the third tiles.

10. The FPGA defined in claim 1 wherein the plurality of programmable tiles form an array of columns and rows.

11. The FPGA defined in claim 1 wherein the plurality of tiles comprises one or more tiles that are part of a stand-alone die.

12. The FPGA defined in claim 1 wherein the plurality of tiles comprises one or more tiles that form an array that is an embedded core in an integrated circuit.

13. The FPGA defined in claim 1 wherein the plurality of tiles comprises one or more tiles that form an array that is part of a stacked die arrangement.

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

an external port to transfer signals;

a plurality of tiles forming an array of rows and columns, wherein each tile of the plurality of tiles is operable to be programmed at different times to perform only a logic function or only a routing function, wherein at least a first one of the tiles comprises

a first logic block comprising a look-up table that is configured to perform the logic function;

one or more switching blocks coupled to the first logic block, the one or more switching blocks comprising an input coupled to a first segmented routing connection and an output coupled to a second segmented routing connection, wherein the plurality of programmable tiles comprise a set of second tiles and one or more third tiles, wherein an output of the at least first one of the tiles is connected to at least one of the second tiles via at least one of the third tiles comprising a look-up table that is configured to perform the routing function.

15. The FPGA defined in claim 14 wherein each of the one or more switching blocks includes a multiplexing logic with at least two inputs and an output, a first one of the two inputs being directly connected to an output of the first logic block and a second one of the two inputs being coupled to an output of a second connection block interfacing the first logic block with at least the first segmented connection, wherein the output of the multiplexing logic is coupled to a driver to drive the output coupled to a second segmented routing connection, and wherein the output of the switching block is coupled to an input of a first connection block interfacing the first logic block with at least the second segmented connection.

16. The FPGA defined in claim 14 wherein the routing function of the at least one of the third tiles is a direct-drive routing that is for routing shorter distances than the first segmented routing.

17. The FPGA defined in claim 14 , further comprising

a first connection block to input the second segmented routing connection and a local routing connection, and to provide an output to the first logic block.

18. The FPGA defined in claim 14 wherein the look-up table of at least one of the third tiles is configured as a routing multiplexer coupled to a driver.

19. The FPGA defined in claim 14 wherein the plurality of tiles are part of a stand-alone die.

20. The FPGA defined in claim 14 wherein the plurality of tiles forms an array that is an embedded core in an integrated circuit or part of a stacked die arrangement.

Continuity (3)
Continuation 14044741 · Oct 2, 2013
Provisional Application 61711148 · Oct 8, 2012
Related Publication 20170163261A1 · Jun 8, 2017