IP Library Granted Patent US 11,916,551
Granted Patent B2
US 11,916,551 · App. 17/676,123 · Granted Feb 27, 2024

Process of routing tile-to-tile interconnects of an FPGA, and method of manufacturing an FPGA

Inventors: Yongning Liu (San Ramon, CA); Fan Mo (San Jose, CA); Cheng C. Wang (San Jose, CA)
Assignee: Flex Logix Technologies, Inc.
H03K19/17744H03K19/17732H03K19/17796
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 11,916,551
App. No.
17/676,123
Granted
Feb 27, 2024
Kind
B2
Abstract

A method of routing interconnects of a field programmable gate array including: a plurality of logic tiles, and a tile-to-tile interconnect network, having a plurality of tile-to-tile interconnects to interconnect logic tile networks of the logic tiles, the method comprises: routing a first plurality of tile-to-tile interconnects in a first plurality of logic tiles. After routing the first plurality of tile-to-tile interconnects, routing a second plurality of tile-to-tile interconnects in a second plurality of logic tiles. The start/end point of each tile-to-tile interconnect in the first plurality and the second plurality of tiles is independent of the start/end point of the other tile-to-tile interconnects in the first and second plurality, respectively. Routing the second plurality of tile-to-tile interconnects includes connecting at least one start/end point of each tile-to-tile interconnect in the second plurality of tiles to at least one start/end point of each interconnect in the first plurality of tiles.

Claims (56)

1. A method of routing interconnects of an integrated circuit comprising a field programmable gate array including: (i) a plurality of logic tiles, wherein each logic tile includes a logic tile interconnect network having a plurality of switches and a plurality of logic tile interconnects, (ii) a tile-to-tile interconnect network, having a plurality of tile-to-tile interconnects, each having start/end points, to interconnect logic tile networks of the plurality of logic tiles, the method comprising:

routing a first plurality of tile-to-tile interconnects in a first plurality of logic tiles wherein: (i) the first plurality of logic tiles are a first subset of the plurality of logic tiles and (ii) the start/end point of each tile-to-tile interconnect in the first plurality of logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the first plurality of logic tiles;

after routing the first plurality of tile-to-tile interconnects, routing a second plurality of tile-to-tile interconnects in a second plurality of logic tiles wherein: (i) the second plurality of logic tiles are a second subset of the plurality of logic tiles and (ii) the start/end point of each tile-to-tile interconnect in the second plurality of logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the second plurality of logic tiles; and

wherein routing the second plurality of tile-to-tile interconnects in the second plurality of logic tiles includes connecting at least one start/end point of each tile-to-tile interconnect in the second plurality of logic tiles to at least one start/end point of each tile-to-tile interconnect in the first plurality of logic tiles that was routed in the first plurality of logic tiles.

2. The method of claim 1 further including:

routing the first plurality of tile-to-tile interconnects in the first plurality of logic tiles in parallel.

3. The method of claim 1 further including:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles.

4. The method of claim 3 wherein:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles includes programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles.

5. The method of claim 4 wherein:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles further includes programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles to connect to one or more inputs/outputs of a computing elements.

6. The method of claim 1 further including:

after routing the first plurality of tile-to-tile interconnects in the first plurality of logic tiles in parallel, routing the second plurality of tile-to-tile interconnects in the second plurality of logic tiles in parallel.

7. The method of claim 1 wherein:

routing the first plurality of tile-to-tile interconnects of each logic tile of the first plurality of logic tiles includes programming one or more switches of the logic tile interconnect network of each logic tile of the first plurality of logic tiles that are connected to at least one of the first plurality of tile-to-tile interconnects, and

routing the second plurality of tile-to-tile interconnects of each logic tile of the second plurality of logic tiles includes programming one or more switches of the logic tile interconnect network of each logic tile of the second plurality of logic tiles that are connected to at least one of the second plurality of tile-to-tile interconnects.

8. The method of claim 1 wherein:

each logic tile of the first plurality of logic tiles is non-contiguous relative to the other logic tile of the first plurality of logic tiles, and

each logic tile of the second plurality of logic tiles is non-contiguous relative to the other logic tile of the second plurality of logic tiles.

9. The method of claim 1 further including:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles by programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles, wherein:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles includes routing logic tile interconnects of a plurality of stages including at least one hierarchical stage and at least one mesh stage.

10. The method of claim 9 wherein:

routing the first tile-to-tile interconnects and second plurality of tile-to-tile interconnects include routing the first and second plurality of tile-to-tile interconnects into a mesh network.

11. A method of routing interconnects of an integrated circuit comprising a field programmable gate array including: (i) a first plurality of non-contiguous logic tiles, wherein each logic tile of the first plurality of logic tiles includes a logic tile interconnect network having a plurality of switches and a plurality of logic tile interconnects, (ii) a second plurality of non-contiguous logic tiles, wherein each logic tile of the second plurality of logic tiles includes a logic tile interconnect network having a plurality of switches and a plurality of logic tile interconnects, and (iii) a tile-to-tile interconnect network, having a plurality of tile-to-tile interconnects, each tile-to-tile interconnect having start/end points to interconnect the logic tile networks of the first plurality of logic tiles and the second plurality of logic tiles, the method comprising:

routing a first plurality of tile-to-tile interconnects in the first plurality of non-contiguous logic tiles in parallel, wherein the start/end point of each tile-to-tile interconnect in the first plurality of non-contiguous logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the first plurality of non-contiguous logic tiles;

after routing the first plurality of tile-to-tile interconnects in a first plurality of non-contiguous logic tiles, routing a second plurality of tile-to-tile interconnects in the second plurality of non-contiguous logic tiles in parallel, wherein the start/end point of each tile-to-tile interconnect in the second plurality of logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the second plurality of non-contiguous logic tiles; and

wherein routing the second plurality of tile-to-tile interconnects in the second plurality of non-contiguous logic tiles includes connecting at least one start/end point of each tile-to-tile interconnect in the second plurality of non-contiguous logic tiles to at least one start/end point of each tile-to-tile interconnect in the first plurality of non-contiguous logic tiles that was routed in the first plurality of non-contiguous logic tiles.

12. The method of claim 11 wherein:

each logic tile of the first plurality of non-contiguous logic tiles is contiguous to at least one logic tile of the second plurality of non-contiguous logic tiles and vice versa.

13. The method of claim 11 further including:

routing the logic tile interconnects of each logic tile of the first plurality of non-contiguous logic tiles, and

routing the logic tile interconnects of each logic tile of the second plurality of non-contiguous logic tiles.

14. The method of claim 11 further including:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles by programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles, wherein:

routing the logic tile interconnects of each logic tile of the first and second plurality of non-contiguous logic tiles includes routing logic tile interconnects of a plurality of stages including at least one hierarchical stage and at least one mesh stage, and

routing the first tile-to-tile interconnects and second plurality of tile-to-tile interconnects include routing the first and second plurality of tile-to-tile interconnects into a mesh network.

15. The method of claim 11 wherein:

routing the first plurality of tile-to-tile interconnects of each logic tile of the first plurality of non-contiguous logic tiles includes programming one or more switches of the logic tile interconnect network of each logic tile of the first plurality of logic tiles that are connected to at least one of the first plurality of tile-to-tile interconnects, and

routing the second plurality of tile-to-tile interconnects of each logic tile of the second plurality of non-contiguous logic tiles includes programming one or more switches of the logic tile interconnect network of each logic tile of the second plurality of logic tiles that are connected to at least one of the second plurality of tile-to-tile interconnects.

16. The method of claim 15 further including:

routing the logic tile interconnects of each logic tile of the first and second plurality of non-contiguous logic tiles and wherein:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles includes programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles.

17. The method of claim 16 wherein:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles further includes programming switches of the logic tile interconnect network of each logic tile of the first and second plurality of non-contiguous logic tiles to connect to one or more inputs/outputs of a computing elements.

18. A method of routing interconnects of an integrated circuit comprising a field programmable gate array including: (i) a first plurality of non-contiguous logic tiles, wherein each logic tile of the first plurality of logic tiles includes a logic tile interconnect network having a plurality of switches and a plurality of logic tile interconnects, (ii) a second plurality of non-contiguous logic tiles, wherein each logic tile of the second plurality of logic tiles includes a logic tile interconnect network having a plurality of switches and a plurality of logic tile interconnects, and (iii) a tile-to-tile interconnect network, having a plurality of tile-to-tile interconnects, each tile-to-tile interconnect having start/end points to interconnect the logic tile networks of the first plurality of logic tiles and the second plurality of logic tiles, the method comprising:

routing a first plurality of tile-to-tile interconnects in the first plurality of non-contiguous logic tiles, wherein the start/end point of each tile-to-tile interconnect in the first plurality of non-contiguous logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the first plurality of non-contiguous logic tiles, wherein a portion of the first plurality of tile-to-tile interconnects in the first plurality of non-contiguous logic tiles are routed sequentially;

after routing the first plurality of tile-to-tile interconnects in a first plurality of non-contiguous logic tiles, routing a second plurality of tile-to-tile interconnects in the second plurality of non-contiguous logic tiles, wherein the start/end point of each tile-to-tile interconnect in the second plurality of logic tiles is independent of the start/end point of the other tile-to-tile interconnects in the second plurality of non-contiguous logic tiles, wherein a portion of the second plurality of tile-to-tile interconnects in the second plurality of non-contiguous logic tiles are routed sequentially; and

wherein routing the second plurality of tile-to-tile interconnects in the second plurality of non-contiguous logic tiles includes connecting at least one start/end point of each tile-to-tile interconnect in the second plurality of non-contiguous logic tiles to at least one start/end point of each tile-to-tile interconnect in the first plurality of non-contiguous logic tiles that was routed in the first plurality of non-contiguous logic tiles.

19. The method of claim 18 wherein:

each logic tile of the first plurality of non-contiguous logic tiles is contiguous to at least one logic tile of the second plurality of non-contiguous logic tiles.

20. The method of claim 18 further including:

routing the logic tile interconnects of each logic tile of the plurality of logic tiles by programming switches of the logic tile interconnect network of each logic tile of the plurality of logic tiles, wherein:

routing the logic tile interconnects of each logic tile of the first and second plurality of non-contiguous logic tiles includes routing logic tile interconnects of a plurality of stages including at least one hierarchical stage and at least one mesh stage, and

routing the first tile-to-tile interconnects and second plurality of tile-to-tile interconnects include routing the first and second plurality of tile-to-tile interconnects into a mesh network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2024
From: FLEX LOGIX TECHNOLOGIES, INC.
To: ANALOG DEVICES, INC.
Reel/Frame 069409/0035 →
Continuity (4)
Division 17106124 · Nov 29, 2020
Division 16579766 · Sep 23, 2019
Provisional Application 62735988 · Sep 25, 2018
Related Publication 20220173738A1 · Jun 2, 2022