Claims
- 1. A field programmable gate array (FPGA) [200] comprising:
(a) a plurality of nodes [210-219]; (b) a plurality of general interconnect lines [201,200] that can be used to transmit interconnect-conveyed signals from respective source nodes [210′] to corresponding destination nodes [282-289], wherein said general interconnect lines include:
(b.1) a first plurality of first span length lines [2×RL] each respectively spanning a first span length and each having a first number of tap points [2.1-2.3], where the first span length is at least that spanning three of said processing/routing nodes and the tap points in said first number of tap points respectively couple to the at least three of the nodes spanned by the respective first span length line; and (b.2) a second plurality of second span length lines [10×RL] each respectively spanning a second span length and each having a second number of tap points [10.1-10.31], where the second span length is greater than the first span length so that each respective, second span length line spans more nodes than the number of nodes spanned by the first span length lines, and where the tap points in said second number of tap points respectively couple to less than all the nodes spanned by the respective second span length line.
- 2. The FPGA [200,300] of claim 1 wherein:
(a.1) said programmable nodes are processing/routing nodes [210-219] each having one or more programmably selectable, logic functions [405] and/or one or more programmably selectable, data storage functions [408] and one or more programmably selectable, interconnect-signal routing functions [260,460′]; and (b.1) said plurality of general interconnect lines [201,202] can be used to transmit interconnect-conveyed signals from respective source nodes [210′] to corresponding destination nodes [282-289] by way of corresponding interconnect-signal routing functions [222a-b,261] selected in the source and destination nodes and by way of corresponding interconnect-signal routing functions selected in intervening nodes if any.
- 3. The FPGA [200,300] of claim 1 wherein:
(b.3) the ratio of the first span length to the second span length is less than about ½.
- 4. The FPGA [200,300] of claim 1 wherein:
(b.3) the ratio of the first span length to the second span length is about {fraction (2/10)}.
- 5. The FPGA [200,300] of claim 1 wherein:
(b.3) the ratio of the first number of tap points to the second number of tap points is about {fraction (1/1)}.
- 6. The FPGA [200,300] of claim 1 wherein:
(b.2a) the second span length spans at least 11 of said processing/routing nodes.
- 7. The FPGA [200,300] of claim 6 wherein:
(b.1a) the first span length spans 3 of said processing/routing nodes.
- 8. The FPGA [200,300] of claim 7 wherein:
(b.2b) second number of tap points is 3.
- 9. The FPGA [200,300] of claim 1 wherein:
(b.2a) the tap points in said second number of tap points are symmetrically distributed between ends [291a,291b] of each respective second span length line [10×RL].
- 10. The FPGA [200,300] of claim 1 wherein:
(a.1) said nodes include buffered drive resources [267,268] for driving respective ones of said second span length lines [10×RL] and input receiving resources [221] for receiving signals from associated ones of the general interconnect lines; and (b.2a) for each respective second span length line [10×RL] at least two of the tap points [L,R,T,B] in said second number of tap points are coupled to corresponding buffered drive resources [267,268] while at least one [Vm,Hm] of the tap points is not coupled to a corresponding buffered drive resource.
- 11. The FPGA [200,300] of claim 10 wherein:
(b.2a1) for each respective second span length line [10×RL] at least two terminal end tap points [L,R,T,B] in said second number of tap points are coupled to corresponding buffered drive resources [267,268], the terminal end tap points being disposed at opposed ends of the respective second span length line.
- 12. A method of forming a field programmable gate array (FPGA) [200] comprising:
(a) providing a plurality of programmable nodes [210-219]; (b) providing a plurality of general interconnect lines [201,202] that can be used to transmit interconnect-conveyed signals from respective source nodes [210′] to corresponding destination nodes [282-289], wherein said general interconnect lines are provided to include:
(b.1) a first plurality of first span length lines [2×RL] each respectively spanning a first span length and each having a first number of tap points [2.1-2.3], where the first span length is at least that spanning three of said processing/routing nodes and the tap points in said first number of tap points respectively couple to the at least three of the nodes spanned by the respective first span length line; (b.2) a second plurality of second span length lines [10×RL] each respectively spanning a second span length and each having a second number of tap points [10.1-10.3], where the second span length is substantially greater than the first span length so that each respective, second span length line spans substantially more nodes than the number of nodes spanned by the first span length lines, and where the tap points in said second number of tap points respectively couple to less than all the nodes spanned by the respective second span length line; (b.3) and wherein said providing of the general interconnect lines further includes, not providing single span length lines [1×CL] which span a length corresponding to a single processing/routing node.
- 13. A method for establishing general interconnect navigation rules [95] in a field programmable gate array (FPGA) [200] which has:
(0.1) a plurality of programmable processing/routing nodes [210-219] each having one or more programmably selectable, logic functions [405] and/or one or more programmably selectable, data storage functions [408] and one or more programmably selectable, interconnect-signal routing functions [260,460″]; (0.2) a plurality of general interconnect lines [201,202] that can be used to transmit interconnect-conveyed signals from respective source nodes [210′] to corresponding destination nodes [282-289] by way of corresponding interconnect-signal routing functions [222a-b,261] selected in the source and destination nodes and by way of corresponding interconnect-signal routing functions selected in intervening nodes if any, wherein said general interconnect lines include:
(0.2a) a first plurality of first span length lines [2×RL] each respectively spanning a first span length and each having a first number of tap points [2.1-2.3], where the first span length is at least that spanning three of said processing/routing nodes and the tap points in said first number of tap points respectively couple to the at least three of the nodes spanned by the respective first span length line; and (0.2b) a second plurality of second span length lines [10×RL] each respectively spanning a second span length and each having a second number of tap points [10.1-10.3], where the second span length is substantially greater than the first span length so that each respective, second span length line spans substantially more nodes than the number of nodes spanned by the first span length lines, and where the tap points in said second number of tap points respectively couple to less than all the nodes spanned by the respective second span length line; said method comprising: (a) allowing programmably established signal flow or disconnect at least between terminal end tap points of said first and second span length lines [2×RL, 10×RL]; and (b) not allowing buffered driving of signals onto at least one non-end tap point [Vm,Hm] of each of the second span length lines [10×RL].
- 14. The navigation rules establishing method of claim 13 and further comprising:
(c) allowing only, change-of-direction routing for input signals arriving at said unbuffered tap points [Vm,Hm] of the second span length lines and being routed to others of said general interconnect lines.
- 15. A computer-implement method for programmably establishing within a field programmable gate array (FPGA) [200], a predefined circuit design section having a predefined constraint for propagation-time of at least one signal, where the FPGA has a hierarchical general interconnect structure, the method comprising:
(a) defining a source node from which a common signal of the circuit design section is to be distributed to other nodes of the circuit design section while remaining within the predefined signal propagation time limit of the circuit design section; (b) containing relative placement of other nodes of the predefined circuit design section within a roughly diamond shaped region centered about the source node, wherein the hierarchical general interconnect structure can route the common signal from the source node to one or more destination nodes of the roughly diamond shaped region without exceeding the predefined signal propagation time limit; and (c) relatively translating absolute placement of the source and other nodes of the predefined circuit design section after they have been relatively placed within the roughly diamond shaped region and/or relatively relocating the other nodes relative to the source node while keeping the other nodes within a roughly diamond shaped region centered about the source node so that the predefined signal propagation time limit will not be exceeded.
- 16. A field programmable gate array (FPGA) [200] having an array of routing nodes and a set of general interconnect lines for programmably navigating signals between the nodes, where the general interconnect lines comprise:
(a) double-reach length lines [202] each spanning three of the nodes and each having three tap points for bidirectionally coupling to the spanned three nodes; and (b) deca-reach length lines [202] each spanning eleven of the nodes and each having no more than three tap points for operatively coupling to a respective three of the spanned eleven nodes.
- 17. The FPGA of claim 16 wherein any [215] of the spanned eleven nodes of a given deca-reach length line [201] may be reached by a signal carried on the given deca-reach length line by programmably routing the deca-carried signal through no more than two double-reach length lines [202′,203′].
- 18. The FPGA of claim 16 wherein all [210′,214′-215′,271-275,281-283] of the spanned eleven nodes of a given deca-reach length line [201′] may be reached by a signal carried on the given deca-reach length line by programmably routing the deca-carried signal through no more than six double-reach length lines [202′-207′].
- 19. The FPGA of claim 16 wherein ten [214′-215′,271-275,281-283] of the spanned eleven nodes of a given deca-reach length line [201′] may be reached by a signal carried on the given deca-reach length line by programmably routing the deca-carried signal through no more than five double-reach length lines [202′-207′].
- 20. The FPGA of claim 19 wherein a further node [284] beyond the eleven spanned nodes can be reached by one [207′] of the no more than five double-reach length lines [202′-207′].
- 21. The FPGA of claim 16 wherein routing resources [260] within said nodes allow a double-carried signal which is carried on any first double-reach length line whose end tap spans a given node [373′] to be programmably routed to any other of at least second through sixth double-reach length lines which also span the given node.
- 22. The FPGA of claim 16 wherein routing resources [260] within said nodes allow a double-carried signal which is carried on any first double-reach length line whose middle tap spans a given node [373′] to be programmably routed only to end taps of at least second and third other double-reach length lines whose end taps span the given node where the second and third double-reach length lines extend orthogonally to the first double-reach length line.
- 23. The FPGA of claim 16 wherein:
a signal carried on a given deca-reach length line [201] can be programmably routed for input [233] into, and processing [240] within one or more spanned nodes [210] of the given deca-reach length line only by passing the deca-carried signal through at least one associated double-reach length line [202]; and a processing result signal [264] of a result sourcing node can be output to a corresponding tap point [tp10.N] of a deca-reach length line spanning the sourcing node without consuming a double-reach length line to move the processing result signal [264] to the corresponding tap point.
- 24. The FPGA of claim 16 wherein:
a processing result signal [264] of a given node [373] can be output to a corresponding tap point [tp10.1,2,3] of a given deca-reach length line spanning the sourcing node; and the given deca-reach length line can alternatively receive a programmably routed signal that is routed through the given node [373] from ends of at least three other deca-reach length lines which span the given node.
- 25. The FPGA of claim 24 and further wherein:
the given deca-reach length line can alternatively receive a programmably routed signal that is routed through the given node [373] from a mid-tap [Hm] of a further deca-reach length line which spans the given node and extends orthogonally to the given deca-reach length line.
- 26. The FPGA of claim 16 wherein:
a processing result signal [264] of a given node [210] can be output by way of a buffer amplifier [265] to a corresponding end tap point [tp10.1,3] of a given deca-reach length line spanning the given node.
- 27. The FPGA of claim 26 wherein:
couplings of routed or result signals from the given node [210] to corresponding double-reach length lines spanning the given node are unbuffered.
- 28. A field programmable gate array (FPGA) [200] having an array of routing nodes and a set of general interconnect lines for programmably navigating signals between the nodes, where the general interconnect lines comprise:
(a) first limited-reach length lines [202] each spanning a first plurality of the nodes, where the first plurality has at least three successive nodes, and where each first limited-reach length line has a first number of tap points for operatively coupling to the spanned first plurality of nodes, the first number being at least as large as the number of nodes in the first plurality; and (b) second limited-reach length lines [201] each spanning a second plurality of the nodes, where the second plurality has at least eleven successive nodes, and where each second limited-reach length line has a second number of tap points for operatively coupling to a subset of the spanned second plurality of nodes, the second number being substantially less than the number of nodes in the second plurality; and where the FPGA is further characterized by: (c) programmable, signal routing resources within each node being organized, and the first and second limited-reach length lines being organized such that concentrically expandable areas are definable with each concentrically expandable area having at its center, one of said nodes and having its interior continuously filled with other of said nodes, and where a given signal can be routed from the central node to any one of the other nodes in the corresponding concentrically expandable area by way of just the first and second limited-reach length lines, where the number of first and second limited-reach length lines consumed for reaching any one node in the inner most of the concentrically expandable areas need be no more than three of the first limited-reach length lines and one of the second limited-reach length lines.
- 29. The FPGA of claim 28 wherein:
each of the concentrically expandable areas is roughly diamond shaped when viewed relative to horizontally linear rows of said nodes and vertically linear columns of said nodes.
Priority Claims (1)
Number |
Date |
Country |
Kind |
10194771 |
Jul 2002 |
US |
|
CROSS REFERENCE TO CO-OWNED APPLICATIONS
[0001] The following copending U.S. patent applications are owned by the owner of the present application, and their disclosures are incorporated herein by reference:
[0002] (A) Ser. No. 10/090,209 [Attorney Docket No. LATC-08222US3] filed Mar. 4, 2002 as a divisional of Ser. No. 09/626,094 which was previously filed Jul. 26, 2000 by Om P. Agrawal et al. and originally entitled, “VARIABLE GRAIN ARCHITECTURE FOR FPGA INTEGRATED CIRCUITS”; and
[0003] (B) Ser. No. 10/194,771 [Attorney Docket No. LATC-01046US0] filed Jul. 12, 2002 by Om P. Agrawal et al. and originally entitled, “FPGA DEVICES HAVING REGISTER-INTENSIVE ARCHITECTURE, REGISTER-ABLE FEEDTHROUGHS, MULTI-STAGE INPUT SWITCH MATRIX AND METHODS OF USING SAME”.
[0004] The disclosures of the following U.S. patents are incorporated herein by reference:
[0005] (A) U.S. Pat. No. 6,470,485 [Attorney Docket No. LATC-01031US0] based on Ser. No. 09/692,694 filed Oct. 18, 2000 by Richard T. Cote, et al. and originally entitled, Scalable and Parallel Processing Methods and Structures for Testing Configurable Interconnect Network in FPGA Device; and
[0006] (B) U.S. Pat. No. 6,097,212 issued Aug. 1, 2000 to Om P. Agrawal et al, (filed as Ser. No. 08/948,306 on Oct. 9, 1997) and entitled, Variable Grain Architecture for FPGA Integrated Circuits.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10194771 |
Jul 2002 |
US |
Child |
10406050 |
Apr 2003 |
US |