US20100134143A1 - Permutable switching network with enhanced multicasting signals routing for interconnection fabric - Google Patents

Permutable switching network with enhanced multicasting signals routing for interconnection fabric Download PDF

Info

Publication number
US20100134143A1
US20100134143A1 US12/327,704 US32770408A US2010134143A1 US 20100134143 A1 US20100134143 A1 US 20100134143A1 US 32770408 A US32770408 A US 32770408A US 2010134143 A1 US2010134143 A1 US 2010134143A1
Authority
US
United States
Prior art keywords
conductors
groups
level
sets
switches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/327,704
Other versions
US7714611B1 (en
Inventor
Peter M. Pani
Benjamin S. Ting
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RPX Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/327,704 priority Critical patent/US7714611B1/en
Assigned to ADVANTAGE LOGIC, INC. reassignment ADVANTAGE LOGIC, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PANI, PETER M., TING, BENJAMIN S.
Priority to US12/703,624 priority patent/US7777519B2/en
Application granted granted Critical
Publication of US7714611B1 publication Critical patent/US7714611B1/en
Publication of US20100134143A1 publication Critical patent/US20100134143A1/en
Assigned to RPX CORPORATION reassignment RPX CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADVANTAGE LOGIC, INC.
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing
    • Y10T29/49124On flat or curved insulated base, e.g., printed circuit, etc.
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing
    • Y10T29/49124On flat or curved insulated base, e.g., printed circuit, etc.
    • Y10T29/49128Assembling formed circuit to base
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing
    • Y10T29/49124On flat or curved insulated base, e.g., printed circuit, etc.
    • Y10T29/49155Manufacturing circuit on or in base

Definitions

  • Embodiments of this invention relate to switching networks used in an interconnection fabric and, in particular, can be used with programmable logic circuits.
  • a programmable logic circuit also referred to as field programmable gate array (FPGA) is an off the shelf integrated logic circuit which can be programmed by the user to perform logic functions. Circuit designers define the desired logic functions and the circuit is programmed to process the signals accordingly. Depending on logic density requirements and production volumes, programmable logic circuits are superior alternatives in terms of cost and time to market.
  • a typical programmable logic circuit is composed of logic cells where each of the logic cells can be programmed to perform logic functions on its input variables. Additionally, interconnect resources are provided throughout the programmable logic circuit which can be programmed to conduct signals from outputs of logic cells to inputs of logic cells according to user specification.
  • Freeman in U.S. Pat. No. 4,870,302 of 1989 describes a commercial implementation of a FPGA using neighborhood interconnects, short (length one, called single) distance interconnects, and global lines for signals such as clocks.
  • the short distance interconnects interact with the inputs and outputs of logic cells where each input is connected through switches to every short wire neighboring to a logic cell and horizontal and vertical short wires connect through a switch box in a junction.
  • El Gamal et al. in U.S. Pat. No. 4,758,745 introduces segmented routing where inputs and outputs of logic cells interact with routing segments of different lengths in one dimension.
  • the input conductor of a logic cell has full connections to the set of local conductors (e.g. for n-inputs and k-local conductors, there is n ⁇ k switches connecting the inputs to the local conductors.
  • a multiplexer (MUX) scheme may also be used so that the number of transistors is reduced.).
  • MUX multiplexer
  • the general interconnect resources are limited to one or two different lengths (i.e. singles of U.S. Pat. No. 4,870,302, local and chip length in U.S. Pat. No.
  • Camarota et al. in U.S. Pat. No. 5,144,166 and Kean in U.S. Pat. No. 5,469,003 introduce a routing scheme with more than two different lengths in both dimensions with limitations in the reach of those conductors. While U.S. Pat. No. 5,144,166 allows each wire to be selectively driven by more than one possible driving source, U.S. Pat. No. 5,469,003 is limited to be unidirectional in that each wire is hardwired to a multiplexer output. The connectivity provided in both U.S. Pat. No. 5,144,166 and U.S. Pat. No.
  • 5,469,003 are very low, based on the premises that either connections are neighborhood or relatively local, or logic cells itself can be used as interconnection resources instead of performing logic functions.
  • Ting in U.S. Pat. No. 5,457,410, U.S. Pat. No. 6,507,217, U.S. Pat. No. 6,051,991 and U.S. Pat. No. 6,597,196 described a multiple level architecture where multiple lengths of conductors interconnect through switches in a hierarchy of logic cells.
  • Young et al. in U.S. 2001/0007428 and U.S. Pat. No. 5,914,616 describe an architecture with multiple lengths of wires in two dimensions (three in each dimension), where for short local connections, a near cross-bar scheme is used where a set of logic cells outputs are multiplexed to a reduced set of output ports which then interface to other interconnect resources.
  • the longer wires generally fan-in into shorter length wires in a respective dimension.
  • Reddy et al. in U.S. Pat. No. 6,417,694 discloses another architecture where inter-super-region, inter-region, and local conductors are used.
  • a cross-bar scheme is used at the lowest level (using MUXs) for the local wires to have universal access to the inputs of the logic elements.
  • Reddy et al. in U.S. Pat. No. 5,883,526 discloses various schemes having circuit reduction techniques in the local cross-bar.
  • LUT Look Up Table
  • a common problem to be solved in any programmable logic circuit is that of interconnectivity, namely, how to connect a first set of conductors or pins carrying signals to a second multiple sets of conductors to receive those signals where the logic cells originating the signals and the logic cells receiving the signals are spread over a wide area in an integrated circuit (i.e., M number of outputs from M or less number of logic cells where one or more outputs of each logic cells connects to inputs of one or more logic cells).
  • a conventional solution is to use a cross bar switch where every conductor of the first set is connectable to every conductor in the second multiple sets of conductors directly through a switch. Unfortunately, this approach is impractical in most cases.
  • the switching network when limited to be a 1-SN or at the last intermediate stage or level in the conventional designs, can have certain routing limits when at least one multicasting signal is logically grouped together with other signals from the first set of conductors in a skewed distribution.
  • L-SN L-level switching network
  • FIG. 1A shows one embodiment of the switch couplings between the first two levels of conductors in the conventional L-SN of U.S. Pat. No. 6,975,139, U.S. Pat. No. 7,256,614 and U.S. Pat. No.
  • a D S [1]-tuple of the embodiment of FIG. 1A is of size two which is any of the two consecutive conductors such as [ 1 , 2 ], [ 3 , 4 ], etc. of the I[0] number of conductors [ 1 : 36 ]; a D S [2]-tuple is of size three which is any of the three consecutive conductors such as [ 101 : 103 ], [ 104 : 106 ], etc. of the I[1] number of conductors [ 101 : 136 ].
  • net 101 carries signal connection specification (1, 2) indicating destination connection specifications to F 1 and F 2 modules of FIG. 1C of the L-SN
  • net 102 has connection specifications of (2, 3)
  • net 103 has connection specifications of (1, 3)
  • net 104 has connection specifications of (1)
  • net 105 has connection specifications of (3)
  • net 106 has connection specifications of (2, 3);
  • the six nets [ 101 : 106 ], or the two D S [i]-tuples ⁇ [ 101 : 103 ], [ 104 : 106 ] ⁇ has a total of ten connections to the pins of the [F 1 :FK] modules with three connections to F 1 , three connections to F 2 and four connections to F 3 .
  • net 101 connects to 141 which then connects to 181 of F 1 and 187 of F 2 through the respective switches indicated by the blackened squares
  • net 102 connects to 153 which then connects to 189 of F 2 and 195 of F 3 through the respective switches indicated by the blackened squares
  • net 103 connects to 165 which then connects to 185 of F 1 and 197 of F 3 through the respective switches indicated by the blackened squares
  • net 104 connects to 154 which then connects to 183 of F 1 through the respective switches indicated by the blackened squares
  • net 105 connects to 142 which then connects to 193 of F 3 through the respective switches indicated by the blackened squares
  • net 106 connects to 166 which then connects to 191 of F 2 through the respective switches indicated by the blackened squares while the connection to F 3 of net 106 can not be completed.
  • connection specifications are not congested together: this can either be accomplished by changing the switch coupling patterns between two consecutive levels of conductors different from the L-SN constructs or by managing the distributions upstream to prevent locally skewed congestions downstream.
  • 2-PSN two-stages permutable switching network
  • 2-PSN two-stages permutable switching network
  • 2-PSN two-stages permutable switching network
  • 2-PSN two-stages permutable switching network
  • FIG. 4 illustrates one alternative embodiment with localized switch coupling patterns of FIG. 3A .
  • 2-PSN two-stages permutable switching network
  • 2-PSN two-stages permutable switching network
  • 2-PSN two-stages permutable switching network
  • L-PSN L-level(s) permutable switching network
  • An L-PSN of this application has the same definition of D S [i]-tuple and the coupling characteristics of the D S [i]-tuples as those in the conventional L-SN discussed above.
  • Another patent application by the present inventors U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015), disclosed an alternative L-PSN with different switch coupling schemes operating on conductors between two consecutive levels of conductors.
  • the L-PSN of this application can be applied to a wide range of applications, when used, either as a 1-PSN, or used hierarchically in multiple stages, as a L-PSN, to provide a large switch network that can be used in switching, routers, and programmable logic circuits.
  • the permutable switching network in this present invention provides enhanced connectivity or routability over the conventional design, including the handling multicasting signals.
  • program controlled switch and switch are interchangeable in the context of this description;
  • program configured logic cell, logic cell, cell, Look Up Table (LUT), programmable logic cell are interchangeable in the context of this description;
  • conductor, pin, line are interchangeable in the context of this description;
  • signal, net, signal net are interchangeable in the context of this description which generally refers to a conductor carrying signal from a source to destination(s); while port and conductors or a set of conductors are interchangeable in the context of this description where a port has a set of pins or conductors.
  • L-PSN permutable switching network
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • a driver circuit may be coupled to the switch to improve the speed of the signal traversing those conductors; thus a switch can be comprised of a driver circuit. Additionally, if multiple conductors (signals) fan-in to a conductor through program controlled switches, it is possible to use a MUX scheme, if desired, to either reduce loading on the conductor or to reduce circuit size, or both, depending on the process technology used.
  • the multiple switches are converted into a new switching mechanism where, the number of control states are the same as the number of switches; connectivity is enabled by choosing the particular state (corresponding to the switch when multiple switches were used) in connecting two conductors and the states are determined by program control; as an example, in a four to one MUX there are four states to control the selection of which one of the four inputs is connected to the one output hence each state corresponds to a respective switch which can be program controlled.
  • D S [i]-tuples between the (i ⁇ 1)-th level of conductors and the i-th level of conductors are described to enhance connectivity or routing in the presence of multicasting signals.
  • a D S [i]-tuple will be mostly drawn as having consecutively labeled numbers. Due to the nature of combinatorics, operating in sets, e.g., D S [i]-tuples, instead of individual conductors, e.g. D S [i] number of conductors, can greatly simplify the problem size and reduce software complexity.
  • the new L-PSN has the following formulations:
  • PSN-(D) Any D S [j+1] groups of D S [j]-tuples of (T ⁇ D S [j+1]) groups of D S [j]-tuples of the (j ⁇ 1)-th level of conductors of I[j ⁇ 1] number of conductors selectively couple to D S [j+1] number of conductors in each of the D[j] sets of conductors having respectively T groups of D S [j+1]-tuples of the j-th level of conductors of I[j] number of conductors through (D S [j+1] ⁇ D S [j] ⁇ D[j]) number of switches and the D S [j+1] groups of D S [j]-tuples selectively couple to the conductors of at least two D S [j+1]-tuples of at least one of the D[i] sets of conductors having respectively T groups of D S [j+1]-tuples of the j-th level of conductors, through a respective (D S [j+1] ⁇ D
  • the PSN-(A) and PSN-(B) formulations of this application are the same as the PSN-(A) and PSN-(B) formulations of the other related application by the present inventors, U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) with different PSN-(C) and PSN-(D) formulations.
  • There are abroad arrays of L-PSNs which can be constructed based on the PSN-(A) through PSN-(D) formulations above.
  • the conventional L-SN can be constructed as localized switch couplings case using the PSN-(A) through PSN-(C) formulations without the PSN-(D) formulations for L>1.
  • a 1-PSN is the same as the conventional 1-SN.
  • connection specifications can not be completed using the conventional 2-PSN of FIG. 1B through FIG. 1C
  • 101 thus has the connection specifications (1, 2)
  • 102 has the connection specifications of (2, 3)
  • 103 has the connection specifications of (1, 3)
  • 104 has the connection specifications of (1)
  • 105 has the connection specifications of (3)
  • 106 has the connection specifications of (2, 3).
  • any D S [i+1] groups of D S [i]-tuples of the (i ⁇ 1)-th level of conductors selectively couple to conductors of D[i] groups of D S [i+1]-tuples of the i-th level of conductors.
  • an “Original Sequence of the D S [i]-tuples” can be constructed as (I[ ⁇ 1]/D[i]) groups of D S [i]-tuples as [ 1 : 18 ] corresponding to the eighteen consecutively labeled D S [i]-tuples of the I[i ⁇ 1] number of conductors ⁇ [ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ], [ 7 , 8 ], .
  • a “Transpose Sequence of the D S [i]-tuples” of the Original Sequence (of the D S [i]-tuples) can be constructed as the transpose of the Original Sequence, there are various values which can be used as the step used in the transpose such as D S [i], D[i], (D[i] ⁇ D S [i]), (I[i]/D[i]/D[i]), D S [i+1], etc., choosing D S [i+1] as the step which is three in the embodiment of FIG.
  • the Transpose Sequence (of the D S [i]-tuples) with D S [i+1] as the step is thus (1, 4, 7, 10, 13, 16, 2, 5, 8, 11, 14, 17, 3, 6, 9, 12, 15, 18), or respectively the first, fourth, tenth, . . .
  • the first set of 18 conductors [ 101 : 118 ] of the D[1] sets of conductors of I[1] number of conductors selectively couple to the 18 D S [1]-tuples using the Transpose Sequence (of the 18 D S [1]-tuples) where the first D S [1]-tuple [ 1 , 2 ] couples to the first conductor 101 of the first D[1] set of conductors of I[1] number of conductors, the fourth D S [1]-tuple [ 7 , 8 ] couples to the second conductor 102 of the first D[1] set of conductors, the seventh D S [1]-tuple [ 13 , 14 ] couples to the third conductor 103 of the first D[1] set of conductors, etc.
  • the Transpose Sequence of the 18 D S [1]-tuples
  • the D[1]-th set of 18 conductors [ 119 : 136 ] of the D[1] sets of conductors of I[1] number of conductors couple to the 18 D S [1]-tuples using the Prime 5 Sequence (of the 18 D S [i]-tuples), where the first D S [1]-tuple [ 1 , 2 ] couples to the first conductor 119 of the last D[1] set of conductors of I[1] number of conductors, the sixth D S [1]-tuple [ 11 , 12 ] couples to the second conductor 120 of the last D[1] set of conductors, the eleventh D S [1]-tuple [ 21 , 22 ] couples to the third conductor 121 of the last D[1] set of conductors, etc., as illustrated in FIG. 3A .
  • an “Original Sequence of the D S [i]-tuples” can be constructed as (I[i ⁇ 1]/D[i]) groups of D S [i]-tuples as [ 1 : 12 ] corresponding to the twelve consecutively labeled D S [i]-tuples of the I[i ⁇ 1] number of conductors ⁇ [ 101 : 1033 ], [ 104 : 106 ], [ 107 : 109 ], [ 110 : 112 ], . . .
  • a “Transpose Sequence of the D S [i]-tuples” can be constructed as the transpose of the Original Sequence (of the 12 D S [i]-tuples), there are various values which can be used as the step used in the transpose such as D S [i], D[i], (D[i] ⁇ D S [i]), (I[i]/D[i]/D[i]), D S [i+1], etc., choosing D S [i] as the step, which is three in the embodiment of FIG.
  • the Transpose Sequence (of the 12 D S [i]-tuples) is thus (1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9, 12), or respectively the first, fourth, tenth, . . . , twelveth D S [i]-tuple of the 12 D S [i]-tuples of I[i ⁇ 1];
  • a “Prime 5 Sequence of the D S [i]-tuples” can be constructed as the prime 5 distribution of the Original Sequence (of the 12 D S [i]-tuples): (1, 6, 11, 4, 9, 2, 7, 12, 5, 10, 3, 8), or respectively the first, sixth, eleventh, . . .
  • a “Prime 7 Sequence of the D S [i]-tuples” can be constructed as the prime 7 distribution of the Original Sequence (of the 12 D S [i]-tuples): (1, 8, 3, 10, 5, 12, 7, 2, 9, 4, 11, 6), or respectively the first, eighth, third, . . . , sixth D S [i]-tuple of the 12 D S [i]-tuples of I[i ⁇ 1].
  • the first set of 12 conductors [ 141 : 152 ] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 D S [2]-tuples using the Transpose Sequence (of the 12 D S [i]-tuples) where the first D S [2]-tuple [ 101 : 103 ] couples to the first conductor 141 of the first D[2] set of conductors of I[2] number of conductors, the fourth D S [2]-tuple [ 110 : 112 ] couples to the second conductor 142 of the first D[2] set of conductors, the seventh D S [2]-tuple [ 119 : 121 ] couples to the third conductor 143 of the first D[2] set of conductors, etc. as illustrated in FIG. 3B .
  • the second set of 12 conductors [ 153 : 164 ] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 D S [2]-tuples using the Prime 5 Sequence (of the 12 D S [i]-tuples), where the first D S [2]-tuple [ 101 : 103 ] couples to the first conductor 153 of the second D[2] set of conductors of I[2] number of conductors, the sixth D S [2]-tuple [ 116 : 118 ] couples to the second conductor 154 of the second D[2] set of conductors, the eleventh D S [2]-tuple [ 131 : 133 ] couples to the third conductor 155 of the second D[2] set of conductors, etc., as illustrated in FIG. 3B .
  • the D[2]-th set of 12 conductors [ 165 : 176 ] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 D S [2]-tuples using the Prime 7 Sequence (of the 12 D S [i]-tuples) where the first D S [2]-tuple [ 101 : 103 ] couples to the first conductor 165 of the D[2]-th D[2] set of conductors of I[2] number of conductors, the eighth D S [2]-tuple [ 122 : 124 ] couples to the second conductor 166 of the D[2]-th D[2] set of conductors, the third D S [2]-tuple [ 107 : 109 ] couples to the third conductor 167 of the D[2]-th D[2] set of conductors, etc., as illustrated in FIG. 3B .
  • the couplings of the last two levels of conductors of the L-PSN of FIG. 3C has the same embodiment as the last two levels of switch couplings illustrated in the embodiment of FIG. 2C .
  • net 101 has the connection specifications of (1, 2)
  • net 101 has the connection specifications of (1, 2)
  • net 102 has the connection specifications of (2, 3)
  • net 103 has the connection specifications of (1, 3)
  • net 104 has the connection specifications of (1)
  • net 105 has the connection specifications of (3)
  • net 106 has the connection specifications of (2, 3) in FIG. 3B .
  • Net 101 can connect to 141 of I[2] which in turn connects to 181 of F 1 and 187 of F 2 , through switches illustrated by the blackened squares in FIG. 3B and FIG.
  • Net 102 can connect to 153 of I[2] which in turn connects to 189 of F 2 and 195 of F 3 , through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C ;
  • Net 103 can connect to 165 of I[2] which in turn connects to 185 of F 1 and 197 of F 3 , through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C ;
  • Net 104 can connect to 158 of I[2] which in turn connects to 183 of F 1 , through switches illustrated by the blackened squares in FIG. 3B and FIG.
  • net 105 can connect to 145 of I[2] which in turn connects to 193 of F 3 , through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C ;
  • Net 106 can connect to 172 of I[2] which in turn connects to 192 of F 2 and 198 of F 3 , through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C .
  • connection specifications of signals originating at [ 101 : 106 ] or the two D S [2]-tuples ⁇ [ 101 : 103 ], [ 104 : 106 ] ⁇ can be completed using the L-PSN illustrated in FIG. 3A through FIG. 3C while the same connection specification cannot be routed through the L-SN illustrated in FIG. 1A through FIG. 1C .
  • D S [i+1] groups of D S [i]-tuples of (T ⁇ D S [i+1]) groups of D S [i]-tuples of the (i ⁇ 1)-th level of conductors of an L-PSN for an i selected from i [1:L+1]
  • the D S [i+1] groups of D S [i]-tuples selectively couple to D S [i+1] number of conductors in each of the D[i] sets of conductors respectively having T groups of D S [i+1]-tuples of the i-th level of conductors.
  • the switch coupling patterns in the embodiment of FIG. 3B could have up to (D S [i+1] ⁇ (D[i] ⁇ 1)+1) groups of D S [i+1]-tuples of the D[i] sets of the i-th level of conductors selectively couple to any D S [i+1] groups of D S [i]-tuples of the (i ⁇ 1)-th level of conductors if the number of D S [i+1]-tuples in each of the D[i] sets of conductors is at least equal to D S [i+1]; in the illustrated example of FIG.
  • PSN-(3) properties would require that there are at least D S [i+1] groups of D S [i+1]-tuples in each of the D[i] sets respectively having T groups of D S [i+1]-tuples of the i-th level of conductors or T is at least D S [i+1] in the L-PSN.
  • one embodiment of a L-PSN of the type illustrated in the embodiments of FIG. 3A and FIG. 4 has the following properties:
  • a L-PSN can have switch coupling patterns between two consecutive levels of conductors using either the conventional L-SN, the L-PSN of the U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) by the present inventors or the L-PSN following the PSN-(A) through PSN-(D) formulations disclosed in this application.
  • the generalized L-PSN formulations illustrated so far always refers to I[i ⁇ 1] number of switches, which are used to selectively couple the conductors of an (i ⁇ 1)-th level of conductors of I[i ⁇ 1] number of conductors to the conductors of each of the D[i] sets of conductors of the i-th level of conductors of I[i] number of conductors having D[i] sets of conductors, where a subset of conductors of the (i ⁇ 1)-level of conductors selectively couple to a subset of conductors of the i-th level of conductors prescribed by the formulations of PSN-(A) and PSN-(D) and has at least properties of PSN-(1), PSN-(2) or PSN-(3) for at least one i selected from i [1:L+1].
  • An L-PSN can have many variations and the decisions to design a specific implementation of the L-PSN is generally based on the specific design or engineering objectives such as size, speed and
  • the L-PSN switching networks can be used in conjunction with other interconnection mechanisms to form an interconnection fabric, for programmable logic circuits such as Field Programmable Gate Arrays (FPGAs) or used in a general interconnection network such as a network router.
  • FPGAs Field Programmable Gate Arrays
  • a general interconnection network such as a network router.
  • the L-PSN scheme can be used to enhance the selective connectivity or routability of a netlist compared to a corresponding conventional L-SN when there are one or more multicasting signals without adding more switches or conductors to the switching network.
  • a detailed description in building various enhanced multistage permutable switching networks is provided and used in various combinations to provide interconnect, both for inputs and outputs, for programmable logic circuits.
  • the design and/or layout of the integrated circuits described above can be performed by a computing machine (e.g., a server, a personal computer, etc.) in response to instructions embodied in a machine-readable storage medium of an article of manufacture.
  • a computing machine e.g., a server, a personal computer, etc.
  • Some examples of a machine-readable storage medium include any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • data representing the design and/or layout of the integrated circuits described above can be embodied in a machine-readable storage medium of an article of manufacture.

Abstract

In one embodiment, an integrated circuit has a L-level permutable switching network (L-PSN) comprising L levels of intermediate conductors. The integrated circuit can be used in electronic devices, such as switching networks, routers, and programmable logic circuits, etc.

Description

    RELATED APPLICATIONS
  • This application is related to U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015), filed [filing date], which is assigned to the same assignee as the current application.
  • TECHNICAL FIELD
  • Embodiments of this invention relate to switching networks used in an interconnection fabric and, in particular, can be used with programmable logic circuits.
  • BACKGROUND
  • A programmable logic circuit, also referred to as field programmable gate array (FPGA) is an off the shelf integrated logic circuit which can be programmed by the user to perform logic functions. Circuit designers define the desired logic functions and the circuit is programmed to process the signals accordingly. Depending on logic density requirements and production volumes, programmable logic circuits are superior alternatives in terms of cost and time to market. A typical programmable logic circuit is composed of logic cells where each of the logic cells can be programmed to perform logic functions on its input variables. Additionally, interconnect resources are provided throughout the programmable logic circuit which can be programmed to conduct signals from outputs of logic cells to inputs of logic cells according to user specification.
  • As technology progresses to allow for larger and more sophisticated programmable logic circuits, both the number of logic cells and the required interconnect resources increases in the circuit. Competing with the increased number of logic cells and interconnect resources is the need to keep the circuit size small. One way to minimize the required circuit size is to minimize the interconnect resources while maintaining a certain level of connectivity. Therefore, it can be seen that as the functionality implemented on the chip increases, the interconnection resources required to connect a large number of signals can be quickly exhausted. The trade-offs are either to provide for a lower utilization of logic cells in a circuit while keeping the circuit size small or to provide more routing resources that can increase the circuit size dramatically.
  • There has been a progression of increasingly complex connection styles over the last forty years in the field of programmable logic circuits. L. M. Spandorfer in 1965 describes possible implementation of a programmable logic circuit using neighborhood interconnection, and connections through multiple conductors using switches in a Clos network. R. G. Shoup in his PhD thesis of 1970 describes both the use of a neighborhood interconnect and the use of a bus for longer distance interconnect.
  • Freeman in U.S. Pat. No. 4,870,302 of 1989 describes a commercial implementation of a FPGA using neighborhood interconnects, short (length one, called single) distance interconnects, and global lines for signals such as clocks. The short distance interconnects interact with the inputs and outputs of logic cells where each input is connected through switches to every short wire neighboring to a logic cell and horizontal and vertical short wires connect through a switch box in a junction. El Gamal et al. in U.S. Pat. No. 4,758,745 introduces segmented routing where inputs and outputs of logic cells interact with routing segments of different lengths in one dimension.
  • Peterson et al. in U.S. Pat. No. 5,260,610 and Cliff et al. in U.S. Pat. No. 5,260,611 introduce a local set of conductors interfacing with a set of logic elements where every input of the logic elements is connected, through switches, to every local conductor in the set; additional chip length conductors are introduced both horizontally and vertically where the horizontal conductor can connect to the vertical conductors and the horizontal conductors connect to multiple local conductors. In U.S. Pat. No. 4,870,302, U.S. Pat. No. 4,758,745, U.S. Pat. No. 5,260,610, and U.S. Pat. No. 5,260,611, the input conductor of a logic cell has full connections to the set of local conductors (e.g. for n-inputs and k-local conductors, there is n×k switches connecting the inputs to the local conductors. A multiplexer (MUX) scheme may also be used so that the number of transistors is reduced.). In U.S. Pat. No. 4,870,302, U.S. Pat. No. 4,758,745, U.S. Pat. No. 5,260,610, and U.S. Pat. No. 5,260,611, the general interconnect resources are limited to one or two different lengths (i.e. singles of U.S. Pat. No. 4,870,302, local and chip length in U.S. Pat. No. 5,260,610 and U.S. Pat. No. 5,260,611) or limited in one dimension (i.e. different lengths horizontally in U.S. Pat. No. 4,758,745, local vertically in U.S. Pat. No. 5,260,610 and U.S. Pat. No. 5,260,611).
  • Camarota et al. in U.S. Pat. No. 5,144,166 and Kean in U.S. Pat. No. 5,469,003 introduce a routing scheme with more than two different lengths in both dimensions with limitations in the reach of those conductors. While U.S. Pat. No. 5,144,166 allows each wire to be selectively driven by more than one possible driving source, U.S. Pat. No. 5,469,003 is limited to be unidirectional in that each wire is hardwired to a multiplexer output. The connectivity provided in both U.S. Pat. No. 5,144,166 and U.S. Pat. No. 5,469,003 are very low, based on the premises that either connections are neighborhood or relatively local, or logic cells itself can be used as interconnection resources instead of performing logic functions. Ting in U.S. Pat. No. 5,457,410, U.S. Pat. No. 6,507,217, U.S. Pat. No. 6,051,991 and U.S. Pat. No. 6,597,196 described a multiple level architecture where multiple lengths of conductors interconnect through switches in a hierarchy of logic cells.
  • Young et al. in U.S. 2001/0007428 and U.S. Pat. No. 5,914,616 describe an architecture with multiple lengths of wires in two dimensions (three in each dimension), where for short local connections, a near cross-bar scheme is used where a set of logic cells outputs are multiplexed to a reduced set of output ports which then interface to other interconnect resources. The longer wires generally fan-in into shorter length wires in a respective dimension. Reddy et al. in U.S. Pat. No. 6,417,694 discloses another architecture where inter-super-region, inter-region, and local conductors are used. A cross-bar scheme is used at the lowest level (using MUXs) for the local wires to have universal access to the inputs of the logic elements. Reddy et al. in U.S. Pat. No. 5,883,526 discloses various schemes having circuit reduction techniques in the local cross-bar.
  • Reblewski et al. in U.S. Pat. No. 6,594,810 describes an architecture building a programmable logic circuit using crossbar devices recursively. Wong in U.S. Pat. No. 6,693,456 and U.S. Pat. No. 6,940,308 use Benes switching networks as the interconnection fabric for programmable logic circuit.
  • At the base level of circuit hierarchy, multiple-input Look Up Table (LUT) logic cells are commonly used. There are two advantages in using a LUT as the base logic cell. One advantage is that the LUT allows programmable implementation of any Boolean functions having up to the multiple-input and one output. Another advantage is that the multiple inputs are interchangeable and logically equivalent. Hence, it does not matter which signal connecting to which input pin of the LUT for the LUT to function correctly as long as those signals connect to the respective inputs of the LUT.
  • A common problem to be solved in any programmable logic circuit is that of interconnectivity, namely, how to connect a first set of conductors or pins carrying signals to a second multiple sets of conductors to receive those signals where the logic cells originating the signals and the logic cells receiving the signals are spread over a wide area in an integrated circuit (i.e., M number of outputs from M or less number of logic cells where one or more outputs of each logic cells connects to inputs of one or more logic cells). A conventional solution is to use a cross bar switch where every conductor of the first set is connectable to every conductor in the second multiple sets of conductors directly through a switch. Unfortunately, this approach is impractical in most cases. Prior solutions in one degree or another try to divide the connectivity problem into multiple pieces using a divide and conquer strategy where local clusters of logic cells are interconnected and extended to other clusters of logic, either through extensions of local connections or using longer distance connections. These prior interconnect schemes are ad hoc and mostly based on empirical experiences. A desired routing model or interconnect architecture should enable or guarantee full connectivity for a large number of inputs and outputs over a large part of the circuit all the time.
  • U.S. Pat. No. 6,975,139, U.S. Pat. No. 7,256,614 and U.S. Pat. No. 7,417,457 by the present inventors describe one type of switching network (L-SN) with L levels of intermediate conductors which uses Σi=[1:L+1] (I[i−1]×D[i]) number of switches and L levels of intermediate conductors of I[i] number of conductors, having D[i] sets of conductors for i=[1:L] to connect a 0-th level of conductors of I[0] number of conductors to a (L+1)-th level of conductors of (D[L+1]×Πi=[1:L]D[i]) number of conductors consisting of D[L+1] sets of conductors. The L-SN can be used as part of an interconnection fabric for a switching system, a router or a programmable logic circuit with much reduced switch counts and the number of switches used in the switching network is determined by a mathematical relations of the sizes of the 0-th level of conductors of I[0] number of conductors, the L levels of intermediate conductors and the size of the (L+1)-th level of conductors of (D[L+1]×Πi=[1:L]D[i]) number of conductors consisting of D[L+1] sets of conductors. The switching network, when limited to be a 1-SN or at the last intermediate stage or level in the conventional designs, can have certain routing limits when at least one multicasting signal is logically grouped together with other signals from the first set of conductors in a skewed distribution. Thus, it is desirable to have an enhanced permutable switching network for programmable logic circuits where the routability or interconnectivity may be enhanced in the presence of multicasting signals independent of signal distribution while the cost of interconnections remains low in terms of number of switches and the software efforts in determining a place and route and the circuit layout implementation may be simplified.
  • One type of an L-level switching network (L-SN) of the conventional design was first described by the present inventors in U.S. Pat. No. 6,975,139, U.S. Pat. No. 7,256,614 and U.S. Pat. No. 7,417,457 in which the L-SN has (L+2) levels of conductors with L-level(s) of intermediate conductors of I[i] number of conductors consisting of D[i] sets of conductors for i=[1:L], L≧1 and Σi=[1:L+1] (I[i−1]×D[i]) number of switches where the 0-th level of pins or conductors of I[0] number of pins or conductors selectively couple to the (L+1)-th level of pins or conductors of (D[L+1]×Πj=[1:L] D[j]) number of pins or conductors consisting of D[L+1] sets of pins or conductors through the L level(s) of intermediate conductors and Σi=[1:L+1] (I[i−1]×D[i]) number of switches of the L-SN. A variable, DS[i], is defined as DS[i]=(I[i−1]/I[i])×D[i] for i=[1:L+1]. A DS[i]-tuple is DS[i] number of conductors of the (i−1)-th level of conductors with the characteristics that the DS[i]-tuple selectively couple to one conductor, through a respective DS[i] number of switches, in each of the D[i] sets of conductors of the i-th level of conductors of the L-SN for i=[1:L+1]. Additionally, in the L-SN, the I[i−1] number of conductors of the (i−1)-th level can be organized into (I[i−1]/DS[i]) groups of DS[i]-tuples for i=[1:L+1].
  • As an illustration of the conventional designs, FIG. 1A shows one embodiment of the switch couplings between the first two levels of conductors in the conventional L-SN of U.S. Pat. No. 6,975,139, U.S. Pat. No. 7,256,614 and U.S. Pat. No. 7,417,457, where L=2: the 0-th level of conductors of I[0]=36 number of conductors, [1:36], selectively couple to the first level of conductors of I[1]=36 number of conductors consisting of D[1]=2 sets of (intermediate) conductors, {[101:118], [119:136]}; not every conductor of I[1] number of conductors are labeled in the embodiment of FIG. 1A, and for purpose of illustration, those conductors are assumed to be consecutively labeled, thus the first set of conductors of the D[1]=2 sets has (I[1]/D[1])=18 conductors, [101:118], where the I[0] number of conductors [1:36] selectively couple to the eighteen conductors [101:118] of the first set of the first level of conductors through I[0]=36 number of switches; and the D[1]-th set has eighteen conductors [119:136] where the I[0] number of conductors [1:36] selectively couple to the eighteen conductors [119:136] of the D[1]-th set of the first level of conductors through I[0]=36 number of switches. A DS[1]-tuple of the embodiment of FIG. 1A is of size two which is any of the two consecutive conductors such as [1,2], [3,4], etc. of the I[0] number of conductors [1:36]; a DS[2]-tuple is of size three which is any of the three consecutive conductors such as [101:103], [104:106], etc. of the I[1] number of conductors [101:136].
  • FIG. 1B illustrates one embodiment of the switch couplings between the next two levels of conductors of the 2-SN embodiment of FIG. 1A; the first level of conductors of I[1] number of conductors selectively couple to each of the D[2]=3 sets of conductors of I[2]=36 number of conductors where each of the D[2] sets has twelve conductors: [141:152], [153:164] and [165:176]. Again, not every conductors of I[2] of FIG. 1B are labeled and they are assumed to be consecutively labeled; thus the I[1] number of conductors [101:136] selectively couple to each of the D[2] sets of twelve conductors: [141:152], [153:164] and [165:176] through, respectively, I[1]=36 number of switches. Since L=2, D[3]=D[L+1]=Πj=[1:L] D[j]=6 and DS[3]=(I[2]/I[3])×D[3]=6, each of the six consecutively labeled conductors of I[2] of FIG. 1B such as [141:146], [147:152], etc. would be a DS[3]-tuple.
  • FIG. 1C illustrates one embodiment of the switch couplings between the last two levels of conductors of the 2-SN embodiment of FIG. 1A and FIG. 1B; the second level of conductors of I[2] number of conductors selectively couple to each of the D[3]=6 sets of conductors of I[3]=36 number of conductors where each of the D[3] sets has six conductors: [181:186], [187:192], [193:198], [199:204], [205:210] and [211:216]. Again, not every conductors of I[3] of FIG. 1C are labeled and they are assumed to be consecutively labeled; thus the I[2] number of conductors [141:176] selectively couple to each of the D[3] sets of six conductors: [181:186], [187:192], [193:198], [199:204], [205:210] and [211:216] through, respectively, I[2]=36 number of switches.
  • It is readily observed that any of the conventional L-SN described above can be drawn such that the DS[i] number of conductors of each DS[i]-tuple can be logically labeled as being consecutive for i=[1:L+1] as illustrated in FIG. 1A through FIG. 1C.
  • In the embodiment of FIG. 1B, assuming conductor or net 101 carries signal connection specification (1, 2) indicating destination connection specifications to F1 and F2 modules of FIG. 1C of the L-SN, net 102 has connection specifications of (2, 3), net 103 has connection specifications of (1, 3), net 104 has connection specifications of (1), net 105 has connection specifications of (3) and net 106 has connection specifications of (2, 3); the six nets [101:106], or the two DS[i]-tuples {[101:103], [104:106]}, has a total of ten connections to the pins of the [F1:FK] modules with three connections to F1, three connections to F2 and four connections to F3. At most nine connections can be made in the 2-SN example of FIG. 1B and FIG. 1C, illustrated by the blackened squares indicating activating the switches connecting the conductors where one of the connection specifications (3), connecting to a pin of F3, of net 106 can not be made in the six nets example illustrated in FIG. 1B and FIG. 1C.
  • Specifically, in FIG. 1B and FIG. 1C, net 101 connects to 141 which then connects to 181 of F1 and 187 of F2 through the respective switches indicated by the blackened squares, net 102 connects to 153 which then connects to 189 of F2 and 195 of F3 through the respective switches indicated by the blackened squares, net 103 connects to 165 which then connects to 185 of F1 and 197 of F3 through the respective switches indicated by the blackened squares, net 104 connects to 154 which then connects to 183 of F1 through the respective switches indicated by the blackened squares, net 105 connects to 142 which then connects to 193 of F3 through the respective switches indicated by the blackened squares, net 106 connects to 166 which then connects to 191 of F2 through the respective switches indicated by the blackened squares while the connection to F3 of net 106 can not be completed.
  • Thus generally the six conductors [101:106] of the (i−1)-th level of conductors can be considered as “source-conductors” or the two DS[i]-tuples {[101:103], [104:106]}can be considered as “source-tuples” where the “source-conductors” or the “source-tuples” selectively couple to six conductors of the i-th level of conductors (141, 142, 153, 154, 165, 166) where those conductors can be considered as the “coupling-conductors” for i=2 in FIG. 1B.
  • The six nets routing example illustrated using FIG. 1B and FIG. 1C with one pin connection left un-routed can be resolved if the connection specifications are not congested together: this can either be accomplished by changing the switch coupling patterns between two consecutive levels of conductors different from the L-SN constructs or by managing the distributions upstream to prevent locally skewed congestions downstream.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The objectives, features, and advantages of the present invention will be apparent from the following detailed description in which:
  • FIG. 1A illustrates a conventional embodiment of the 0-th level and the first level of conductors of a two-stages switching network (2-SN) with I[0]=36, D[1]=DS[1]=2 and (I[0]×D[1])=72 switches.
  • FIG. 1B illustrates a conventional embodiment of the first level and the second levels of conductors of a two-stages switching network (2-SN) with I[1]=36, D[2]=DS[2]=3 and (I[1]×D[2])=108 switches.
  • FIG. 1C illustrates a conventional embodiment of the second level and the third levels of conductors of a two-stages switching network (2-SN) with I[2]=36, D[3]=6 and (I[2]×D[3])=216 switches.
  • FIG. 2A illustrates one embodiment of a L-PSN with L=2 of the 0-th level and the first level of conductors of a two-stages permutable switching network (2-PSN) having one circular (barrel) shift of DS[1]-tuples of a localized switch coupling patterns between the 0-th level of conductors of I[0] number of conductors and the first level of conductors of I[1] number of conductors having D[1] sets of intermediate conductors with I[0]=36, D[1]=DS[1]=2 and (I[0]×D[1])=72 switches.
  • FIG. 2B illustrates one embodiment of a L-PSN with L=2 of the first level and the second level of conductors of a two-stages permutable switching network (2-PSN) having (D[i]−1) sets of circular (barrel) shifts of DS[2]-tuples of a global level switch coupling patterns between the first level of conductors of I[1] number of conductors and the second level of conductors of I[2] number of conductors consisting of D[2] sets of intermediate conductors with I[1]=36, D[2]=DS[2]=3 and (I[1]×D[2])=108 switches.
  • FIG. 2C illustrates one embodiment of a L-PSN with L=2 of the second level and the third level of conductors of a two-stages permutable switching network (2-PSN) having the same switch coupling patterns of the conventional embodiment of FIG. 1C with I[2]=36, D[3]=6 and (I[2]×D[3])=216 switches.
  • FIG. 3A illustrates an alternative embodiment of a L-PSN with L=2 of the 0-th level and the first level of conductors of a two-stages permutable switching network (2-PSN) with a more optimized switch coupling patterns between the 0-th level of conductors of I[0] number of conductors and the first level of conductors of I[1] number of conductors consisting of D[1] sets of intermediate conductors with I[0]=36, D[1]=2 and (I[0]×D[1])=72 switches.
  • FIG. 3B illustrates an alternative embodiment of a L-PSN with L=2 of the first level and the second level of conductors of a two-stages permutable switching network (2-PSN) with a more optimized switch coupling patterns between the first level of conductors of I[1] number of conductors and the second level of conductors of I[2] number of conductors consisting of D[2] sets of intermediate conductors with I[1]=36, D[2]=3 and (I[1]×D[2])=108 switches.
  • FIG. 3C illustrates one embodiment of a L-PSN with L=2 of the second level and the third level of conductors of a two-stages permutable switching network (2-PSN) having the same switch coupling patterns of the conventional embodiment of FIG. 1C with I[2]=36, D[3]=6 and (I[2]×D[3])=216 switches.
  • FIG. 4 illustrates one alternative embodiment with localized switch coupling patterns of FIG. 3A.
  • FIG. 5A illustrates one embodiment of a L-PSN with L=2 of the 0-th level and the first level of conductors of a two-stages permutable switching network (2-PSN) with global level switch coupling patterns between the 0-th level of conductors of I[0] number of conductors and the first level of conductors of I[1] number of conductors consisting of D[1] sets of intermediate conductors with I[0]=36, D[1]=4 and (I[0]×D[1])=144 switches.
  • FIG. 5B illustrates an alternative embodiment of the first level and the second level of conductors of a two-stages permutable switching network (2-PSN) of FIG. 2A with localized switch coupling patterns between the first level of conductors of I[1] number of conductors and the second level of conductors of I[2] number of conductors consisting of D[2] sets of intermediate conductors with I[1]=36, D[2]=3 and (I[1]×D[2])=108 switches.
  • FIG. 5C illustrates one embodiment of the second level and the third level of conductors of a two-stages permutable switching network (2-PSN) of FIG. 2A and FIG. 2B with switch coupling patterns of the conventional design with I[2]=36, D[3]=4 and (I[2]×D[3])=144 switches.
  • DETAILED DESCRIPTION
  • A new L-level(s) permutable switching network (L-PSN) which uses Πj=[1:L+1] (I[j−1]×D[j]) number of switches and L-level(s) of intermediate conductors of I[i] number of conductors having D[i] sets of conductors for i=[1:L] to connect the 0-th level of pins or conductors of I[0] number of pins or conductors to the (L+1)-th level of pins or conductors of (D[L+1]×Πj=[1:L] D[j]) number of pins or conductors having D[L+1] sets of pins or conductors through the L level(s) of intermediate conductors and Σj=[1:L+1] (I[j−1]×D[j]) number of switches of the L-PSN with different switch coupling schemes from the conventional L-SN are described in this application for L>1. An L-PSN of this application has the same definition of DS[i]-tuple and the coupling characteristics of the DS[i]-tuples as those in the conventional L-SN discussed above. Another patent application by the present inventors, U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015), disclosed an alternative L-PSN with different switch coupling schemes operating on conductors between two consecutive levels of conductors.
  • The L-PSN of this application can be applied to a wide range of applications, when used, either as a 1-PSN, or used hierarchically in multiple stages, as a L-PSN, to provide a large switch network that can be used in switching, routers, and programmable logic circuits. The permutable switching network in this present invention provides enhanced connectivity or routability over the conventional design, including the handling multicasting signals.
  • In the following descriptions, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and circuits are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. For purpose of description, unless otherwise specified, the terms program controlled switch and switch are interchangeable in the context of this description; the terms program configured logic cell, logic cell, cell, Look Up Table (LUT), programmable logic cell are interchangeable in the context of this description; the terms conductor, pin, line are interchangeable in the context of this description; signal, net, signal net are interchangeable in the context of this description which generally refers to a conductor carrying signal from a source to destination(s); while port and conductors or a set of conductors are interchangeable in the context of this description where a port has a set of pins or conductors. Thus a net associated with a conductor of a 0-th level of I[0] number of conductors or pins generally carries a signal which is to be selectively connected, through a permutable switching network (L-PSN), to one or more conductors or pins, each of which is selected from one of the (L+1)-th level of conductors (D[L+1]×Πi=[1:L] D[i])) number of conductors consisting of D[L+1] sets of conductors through L-level(s) of intermediate conductors of I[i] number of conductors having D[i] sets of conductors for i=[1:L]. Thus it should be clear, for one skilled in the art, that the terms conductor, pin, line, signal, net are interchangeable depending on the context of this description. The notations [ ] and ( ) sometimes are used interchangeably to indicate one or more objects such as conductors or pins being grouped together. It should also be noted that the present invention describes embodiments which use program control means to set the states of switches utilized, this control means can be one time, such as fuse/anti-fuse technologies, or re-programmable, such as SRAM (which is volatile), FLASH (which is non-volatile), Ferro-electric (which is non-volatile), etc. Hence the present invention pertains to a variety of processes, including, but not limited to, static random access memory (SRAM), dynamic random access memory (DRAM), fuse/anti-fuse, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) such as FLASH, and Ferro-electric processes.
  • When a program controlled switch is used to interconnect one conductor to another conductor, a driver circuit may be coupled to the switch to improve the speed of the signal traversing those conductors; thus a switch can be comprised of a driver circuit. Additionally, if multiple conductors (signals) fan-in to a conductor through program controlled switches, it is possible to use a MUX scheme, if desired, to either reduce loading on the conductor or to reduce circuit size, or both, depending on the process technology used. In the case where a MUX is used, the multiple switches are converted into a new switching mechanism where, the number of control states are the same as the number of switches; connectivity is enabled by choosing the particular state (corresponding to the switch when multiple switches were used) in connecting two conductors and the states are determined by program control; as an example, in a four to one MUX there are four states to control the selection of which one of the four inputs is connected to the one output hence each state corresponds to a respective switch which can be program controlled.
  • In this application, various alternative schemes of switch couplings operating on DS[i]-tuples between the (i−1)-th level of conductors and the i-th level of conductors are described to enhance connectivity or routing in the presence of multicasting signals. In the many L-PSN illustrations in this application, a DS[i]-tuple will be mostly drawn as having consecutively labeled numbers. Due to the nature of combinatorics, operating in sets, e.g., DS[i]-tuples, instead of individual conductors, e.g. DS[i] number of conductors, can greatly simplify the problem size and reduce software complexity.
  • The new L-PSN has the following formulations:
  • PSN-(A): Each conductor of the I[i−1] number of conductors of the (i−1)-th level of conductors selectively couples to one conductor in each of the D[i] sets of conductors of the i-th level of conductors of I[i] number of conductors through a switch with a total of D[i] number of switches for i=[1:L+1].
  • PSN-(B): The I[i−1] number of conductors of the (i−1)-th level of conductors selectively couple to the conductors of each D[i] sets of conductors of the i-th level of conductors through I[i−1] number of switches with a total of (I[i−1]×D[i]) number of switches coupling between the two levels of conductors for i=[1:L+1].
  • PSN-(C): Each DS[j]-tuple of (I[j−1]/DS[j]) groups of DS[j]-tuples of the I[j−1] number of conductors of the (j−1)-th level of conductors selectively couple to one conductor, through a respective DS[j] number of switches, in each of the DS[j] sets of conductors of the j-th level of conductors for an j selected from j=[1:L].
  • PSN-(D): Any DS[j+1] groups of DS[j]-tuples of (T×DS[j+1]) groups of DS[j]-tuples of the (j−1)-th level of conductors of I[j−1] number of conductors selectively couple to DS[j+1] number of conductors in each of the D[j] sets of conductors having respectively T groups of DS[j+1]-tuples of the j-th level of conductors of I[j] number of conductors through (DS[j+1]×DS[j]×D[j]) number of switches and the DS[j+1] groups of DS[j]-tuples selectively couple to the conductors of at least two DS[j+1]-tuples of at least one of the D[i] sets of conductors having respectively T groups of DS[j+1]-tuples of the j-th level of conductors, through a respective (DS[j+1]×DS[j]) number of switches of the (DS[j+1]×DS[j]×D[j]) number of switches, for L>1 and T>1.
  • An L-PSN can have either localized switch couplings between two consecutive level of conductors as specified by PSN-(D) for at least one j selected from j=[1:L] when T is less than (I[j−1]/DS[j]/DS[j+1]) or has global switch couplings between the two consecutive level of conductors when T=(I[j−1]/DS[j]/DS[j+1]) in the PSN-(D) formulations.
  • The PSN-(A) and PSN-(B) formulations of this application are the same as the PSN-(A) and PSN-(B) formulations of the other related application by the present inventors, U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) with different PSN-(C) and PSN-(D) formulations. There are abroad arrays of L-PSNs which can be constructed based on the PSN-(A) through PSN-(D) formulations above. The conventional L-SN can be constructed as localized switch couplings case using the PSN-(A) through PSN-(C) formulations without the PSN-(D) formulations for L>1. For L=1, where PSN-(D) formulations would not be applicable, a 1-PSN is the same as the conventional 1-SN.
  • By way of illustrations of the new L-PSN, in accordance to the PSN-(A) through PSN-(D) formulations, one of the simplest L-PSN with L=2 is illustrated in the embodiments of FIG. 2A through FIG. 2C. Not every conductor in the respective illustrations of the embodiments of FIG. 2A through FIG. 2C are labeled, those conductors are assumed to be consecutively numbered and thus labeled. The switch coupling patterns in the embodiment of FIG. 2A illustrating the case i=1 of the L-PSN where the switch couplings between I[0]=[1:36] and the first of the D[1] sets of conductors [101:118] are the same as those in the embodiment of FIG. 1A; the switch couplings between I[0]=[1:36] and the D[1]-th set of conductors [119:136] are constructed by circularly shifting the switch coupling patterns, respectively, of the first (T×DS[1])=(3×3)=9 number of DS[1]-tuples (of size two){[1,2], [3,4], [5,6], [7,8], [9,10], [11,12], [13,14], [15,16], [17,18]} of the I[0] number of conductors [1:36] which are selectively coupled to conductors [119:127] of the D[1]-th set of conductors of I[1] number of conductors [101:136] and the second (T×DS[1])=(3×3)=9 number of DS[1]-tuples {[19,20], [21,22], [23,24], [25,26], [27,28], [29,30], [31,32], [33,34], [35,36]} of the I[0] number of conductors [1:36] which are selectively coupled to the conductors [128:136] of the D[1]-th set of conductors of I[1] number of conductors [101:136], by one to the right as indicated by the switch coupling patterns of 42 with respect to the switch coupling patterns of 40 and the switch coupling patterns of 43 with respect to the switch coupling patterns of 41. The embodiment of FIG. 2A represents a localized switch coupling patterns for i=1 where T is less than (I[i−1]/DS[i]/DS[i+1]) in the PSN-(D) formulations.
  • The embodiment of FIG. 2B illustrates the case where i=L=2 in the L-PSN where the switch coupling patterns is similar to those of FIG. 2A, except with a global level switch coupling patterns where T=(I[i−1]/DS[i]/DS[i+1]) in the PSN-(D) formulations. The switch coupling patterns between the 12 DS[2]-tuples {[101:103], [104:106], [107:109], [110:112], [113:115], [116:118], [119:121], [122:124], [125:127], [128:130], [131:133], [134:136]} of the I[1] number of conductors [101:136] and the conductors [153:164] which are conductors of the second D[2] sets of conductors of the I[2] number of conductors [141:176] are circularly shifted to the right by one with respect to the switch coupling patterns between the 12 DS[2]-tuples of the I[1] number of conductors [101:136] and the conductors [141:152] which are conductors of the first D[2] sets of conductors of the I[2] number of conductors [141:176] while the switch coupling patterns between the 12 DS[2]-tuples of the I[1] number of conductors [101:136] and the conductors [165:176] which are conductors of the D[2]-th set of conductors of the I[2] number of conductors [141:176] are further shifted to the right by one compared to those of the second D[2] sets of conductors of the I[2] number of conductors.
  • The embodiment of FIG. 2C illustrates the case where i=L+1=3 in the L-PSN, where the switch coupling patterns is the same as the conventional example of FIG. 1 c.
  • Using the same six nets example illustrated above, where one of the connection specifications can not be completed using the conventional 2-PSN of FIG. 1B through FIG. 1C, in the embodiment of FIG. 2B, where 101 thus has the connection specifications (1, 2), 102 has the connection specifications of (2, 3), 103 has the connection specifications of (1, 3), 104 has the connection specifications of (1), 105 has the connection specifications of (3) and 106 has the connection specifications of (2, 3). By connecting 101 to 141, connecting 102 to 175, connecting 103 to 164, connecting 104 to 176, connecting 105 to 142, connecting 106 to 153 through the respective six switches indicated by the black squares of FIG. 2B, those six nets with ten pin connections can be completed in FIG. 2C by connecting 141 to 181 and 187, connecting 142 to 193, connecting 153 to 189 and 195, connecting 164 to 184 and 196, connecting 175 to 192 and 198 and connecting 176 to 186, thus completing a total of ten specified connections.
  • The L-PSN embodiment of FIG. 2A for i=1 has the properties that any DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors selectively couple to conductors of at least (D[i]+1) groups of DS[i+1]-tuples of the i-th level of conductors. The L-PSN embodiment of FIG. 2B for i=2 has the properties that any DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors selectively couple to conductors of at least (D[i]+D[i]−1) groups of DS[i+1]-tuples of the i-th level of conductors. In the case of conventional L-SN, any DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors selectively couple to conductors of D[i] groups of DS[i+1]-tuples of the i-th level of conductors.
  • Thus, in a L-PSN following the PSN-(A) through PSN-(D) formulations, based on the embodiments illustrated in FIG. 2A and FIG. 2B, there are two respective properties or characteristics:
  • PSN-(1): Any DS[i+1] groups of DS[i]-tuples of (T×DS[i+1]) groups of DS[i]-tuples of the (i−1)-th level of conductors of I[i−1] number of conductors selectively couple to at least (D[i]+1) groups of DS[i+1]-tuples of the D[i] sets respectively having T groups of DS[i+1]-tuples of the i-th level of conductors for at least one i selected from i=[1:L+1] for T>1.
  • PSN-(2): Any DS[i+1] groups of DS[i]-tuples of (T×DS[i+1]) groups of DS[i]-tuples of the (I−1)-th level of conductors of I[i−1] number of conductors selectively couple to at least (D[i]+D[i]−1)=(2D[i]−1) groups of DS[i+1]-tuples of the D[i] sets respectively having T groups of DS[i+1]-tuples of the i-th level of conductors for at least one i selected from i=[1:L+1] for T>1.
  • When T=(I[i−1]/DS[i]/DS[i+1]), then the above PSN-(1) and PSN-(2) properties has the global level switch coupling patterns described in FIG. 2B and otherwise for T less than (I[i−1]/DS[i]/DS[i+1]), the switch coupling would be localized as described in FIG. 2A; and in the case where T=1 where PSN-(D) formulations does not apply, the switch coupling patterns between two consecutive levels of conductors would be the same as the conventional L-SN.
  • By labeling the I[i−1] number of conductors sequentially as [1:I[i−1]] in the embodiment of FIG. 3A, namely, [1:36], with DS[i]=(I[i−1]/I[i])×D[i]=2 and there are thus (I[i−1]/D[i])=18 groups of DS[i]-tuples of the I[i−1] number of conductors, an “Original Sequence of the DS[i]-tuples” can be constructed as (I[−1]/D[i]) groups of DS[i]-tuples as [1:18] corresponding to the eighteen consecutively labeled DS[i]-tuples of the I[i−1] number of conductors {[1,2], [3,4], [5,6], [7,8], . . . , [35,36]}; a “Transpose Sequence of the DS[i]-tuples” of the Original Sequence (of the DS[i]-tuples) can be constructed as the transpose of the Original Sequence, there are various values which can be used as the step used in the transpose such as DS[i], D[i], (D[i]×DS[i]), (I[i]/D[i]/D[i]), DS[i+1], etc., choosing DS[i+1] as the step which is three in the embodiment of FIG. 3A, the Transpose Sequence (of the DS[i]-tuples) with DS[i+1] as the step is thus (1, 4, 7, 10, 13, 16, 2, 5, 8, 11, 14, 17, 3, 6, 9, 12, 15, 18), or respectively the first, fourth, tenth, . . . , eighteenth DS[i]-tuple of the 18 DS[i]-tuples of I[i−1]; a “Prime 5 Sequence of the DS[i]-tuples” can be constructed as the prime 5 distribution of the DS[i]-tuples of the Original Sequence (of the 18 DS[i]-tuples): (1, 6, 11, 16, 3, 8, 13, 18, 5, 10, 15, 2, 7, 12, 17, 4, 9, 14), or respectively the first, sixth, eleventh, . . . , fourteenth DS[i]-tuple of the 18 DS[i]-tuples of I[i−1] where i=1.
  • Thus, the first set of 18 conductors [101:118] of the D[1] sets of conductors of I[1] number of conductors selectively couple to the 18 DS[1]-tuples using the Transpose Sequence (of the 18 DS[1]-tuples) where the first DS[1]-tuple [1,2] couples to the first conductor 101 of the first D[1] set of conductors of I[1] number of conductors, the fourth DS[1]-tuple [7,8] couples to the second conductor 102 of the first D[1] set of conductors, the seventh DS[1]-tuple [13,14] couples to the third conductor 103 of the first D[1] set of conductors, etc. as illustrated in the embodiment of FIG. 3A. Similarly, the D[1]-th set of 18 conductors [119:136] of the D[1] sets of conductors of I[1] number of conductors couple to the 18 DS[1]-tuples using the Prime 5 Sequence (of the 18 DS[i]-tuples), where the first DS[1]-tuple [1,2] couples to the first conductor 119 of the last D[1] set of conductors of I[1] number of conductors, the sixth DS[1]-tuple [11,12] couples to the second conductor 120 of the last D[1] set of conductors, the eleventh DS[1]-tuple [21,22] couples to the third conductor 121 of the last D[1] set of conductors, etc., as illustrated in FIG. 3A.
  • Similarly, in the embodiment of FIG. 3B, where i=2, DS[i]=D[i]=3, an “Original Sequence of the DS[i]-tuples” can be constructed as (I[i−1]/D[i]) groups of DS[i]-tuples as [1:12] corresponding to the twelve consecutively labeled DS[i]-tuples of the I[i−1] number of conductors {[101:1033], [104:106], [107:109], [110:112], . . . , [134:136]}; a “Transpose Sequence of the DS[i]-tuples” can be constructed as the transpose of the Original Sequence (of the 12 DS[i]-tuples), there are various values which can be used as the step used in the transpose such as DS[i], D[i], (D[i]×DS[i]), (I[i]/D[i]/D[i]), DS[i+1], etc., choosing DS[i] as the step, which is three in the embodiment of FIG. 3B, the Transpose Sequence (of the 12 DS[i]-tuples) is thus (1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9, 12), or respectively the first, fourth, tenth, . . . , twelveth DS[i]-tuple of the 12 DS[i]-tuples of I[i−1]; a “Prime 5 Sequence of the DS[i]-tuples” can be constructed as the prime 5 distribution of the Original Sequence (of the 12 DS[i]-tuples): (1, 6, 11, 4, 9, 2, 7, 12, 5, 10, 3, 8), or respectively the first, sixth, eleventh, . . . , eighth DS[i]-tuple of the 12 DS[i]-tuples of I[i−1]; a “Prime 7 Sequence of the DS[i]-tuples” can be constructed as the prime 7 distribution of the Original Sequence (of the 12 DS[i]-tuples): (1, 8, 3, 10, 5, 12, 7, 2, 9, 4, 11, 6), or respectively the first, eighth, third, . . . , sixth DS[i]-tuple of the 12 DS[i]-tuples of I[i−1].
  • Thus, the first set of 12 conductors [141:152] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 DS[2]-tuples using the Transpose Sequence (of the 12 DS[i]-tuples) where the first DS[2]-tuple [101:103] couples to the first conductor 141 of the first D[2] set of conductors of I[2] number of conductors, the fourth DS[2]-tuple [110:112] couples to the second conductor 142 of the first D[2] set of conductors, the seventh DS[2]-tuple [119:121] couples to the third conductor 143 of the first D[2] set of conductors, etc. as illustrated in FIG. 3B.
  • The second set of 12 conductors [153:164] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 DS[2]-tuples using the Prime 5 Sequence (of the 12 DS[i]-tuples), where the first DS[2]-tuple [101:103] couples to the first conductor 153 of the second D[2] set of conductors of I[2] number of conductors, the sixth DS[2]-tuple [116:118] couples to the second conductor 154 of the second D[2] set of conductors, the eleventh DS[2]-tuple [131:133] couples to the third conductor 155 of the second D[2] set of conductors, etc., as illustrated in FIG. 3B.
  • The D[2]-th set of 12 conductors [165:176] of the D[2] sets of conductors of I[2] number of conductors couple to the 12 DS[2]-tuples using the Prime 7 Sequence (of the 12 DS[i]-tuples) where the first DS[2]-tuple [101:103] couples to the first conductor 165 of the D[2]-th D[2] set of conductors of I[2] number of conductors, the eighth DS[2]-tuple [122:124] couples to the second conductor 166 of the D[2]-th D[2] set of conductors, the third DS[2]-tuple [107:109] couples to the third conductor 167 of the D[2]-th D[2] set of conductors, etc., as illustrated in FIG. 3B.
  • The couplings of the last two levels of conductors of the L-PSN of FIG. 3C has the same embodiment as the last two levels of switch couplings illustrated in the embodiment of FIG. 2C.
  • Using the same routing netlist of the six nets (of the two DS[2]-tuples) illustrated above where net 101 has the connection specifications of (1, 2), net 101 has the connection specifications of (1, 2), net 102 has the connection specifications of (2, 3), net 103 has the connection specifications of (1, 3), net 104 has the connection specifications of (1), net 105 has the connection specifications of (3) and net 106 has the connection specifications of (2, 3) in FIG. 3B. Net 101 can connect to 141 of I[2] which in turn connects to 181 of F1 and 187 of F2, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C; Net 102 can connect to 153 of I[2] which in turn connects to 189 of F2 and 195 of F3, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C; Net 103 can connect to 165 of I[2] which in turn connects to 185 of F1 and 197 of F3, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C; Net 104 can connect to 158 of I[2] which in turn connects to 183 of F1, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C; net 105 can connect to 145 of I[2] which in turn connects to 193 of F3, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C; Net 106 can connect to 172 of I[2] which in turn connects to 192 of F2 and 198 of F3, through switches illustrated by the blackened squares in FIG. 3B and FIG. 3C.
  • The six connection specifications of signals originating at [101:106] or the two DS[2]-tuples {[101:103], [104:106]} can be completed using the L-PSN illustrated in FIG. 3A through FIG. 3C while the same connection specification cannot be routed through the L-SN illustrated in FIG. 1A through FIG. 1C.
  • One embodiment of a more optimized L-PSN with respect to the PSN-(1) or PSN-(2) properties is illustrated in FIG. 3A and FIG. 4 where the first one is a global level representation of switch coupling patterns where T=(I[i−1]/DS[i]/DS[i+1])=6 between two consecutive levels of conductors while FIG. 4 is a localized representation of switch coupling patterns between two consecutive levels of conductors, where T=3 of the PSN-(D) formulations. Given any DS[i+1] groups of DS[i]-tuples of (T×DS[i+1]) groups of DS[i]-tuples of the (i−1)-th level of conductors of an L-PSN for an i selected from i=[1:L+1], the DS[i+1] groups of DS[i]-tuples selectively couple to DS[i+1] number of conductors in each of the D[i] sets of conductors respectively having T groups of DS[i+1]-tuples of the i-th level of conductors. The least case of overlaps with the DS[i+1]-tuples occurs when the DS[i+1] number of conductors in each of the D[i] sets of conductors belong to a minimum number of DS[i+1]-tuples of the i-th level of conductors and in FIG. 3A, for i=1, the source DS[i]-tuples (1, 2), (7, 8), (13, 14) are selective coupled to the DS[i+1] number of conductors of the first DS[i+1]-tuple [101:103] of the first D[i] sets of conductors and conductor 119 of the first DS[i+1]-tuple [119:121], 131 of the fifth DS[i+1]-tuple [131:133], 134 of the sixth DS[i+1]-tuple [134:136] of the D[i]-th set of conductors, thus the DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors selectively couple to the conductors of DS[i+1]×(D[i]−1)+1=3+1=4 groups of DS[i+1]-tuples of the i-th level of conductors. Similarly, in the embodiment of FIG. 4, for T=3=DS[i+1], any DS[i+1] groups of DS[i]-tuples of (T×DS[i+1]) groups of DS[i]-tuples of the (i−1)-th level of conductors of I[i−1] number of conductors selectively couple to the conductors of (DS[i+1]×(D[i]−1)+1)=4 groups of DS[i+1]-tuples of the D[i] sets of conductors respectively having T groups of DS[i+1]-tuples of the i-th level of conductors; if T, the number of DS[i+1]-tuples in each of the D[i] sets of conductors, is less than DS[i+1], the above relations would not hold, instead, the number would be (T×(D[i]−1)+1) instead of (DS[i+1]×(D[i]−1)+1).
  • The switch coupling patterns in the embodiment of FIG. 3B could have up to (DS[i+1]×(D[i]−1)+1) groups of DS[i+1]-tuples of the D[i] sets of the i-th level of conductors selectively couple to any DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors if the number of DS[i+1]-tuples in each of the D[i] sets of conductors is at least equal to DS[i+1]; in the illustrated example of FIG. 3B, there are only (I[i]/D[i]/DS[i+1])=2 groups of DS[i+1]-tuples which is less than DS[i+1]=6 thus there are at most ((I[i]/D[i]/DS[i+1])×(D[i]−1)+1)=5 groups of DS[i+1]-tuples of the D[i] sets of the i-th level of conductors selectively couple to any DS[i+1] groups of DS[i]-tuples of the (i−1)-th level of conductors. Thus the PSN-(3) properties would require that there are at least DS[i+1] groups of DS[i+1]-tuples in each of the D[i] sets respectively having T groups of DS[i+1]-tuples of the i-th level of conductors or T is at least DS[i+1] in the L-PSN.
  • Thus, one embodiment of a L-PSN of the type illustrated in the embodiments of FIG. 3A and FIG. 4 has the following properties:
  • PSN-(3): Any DS[i+1] groups of DS[i]-tuples of (T×DS[i+1]) groups of DS[i]-tuples of the (i−1)-th level of conductors of I[i−1] number of conductors selectively couple to at least (DS[i+1]×(D[i]−1)+1) groups of DS[i+1]-tuples of the D[i] sets respectively having T groups of DS[i+1]-tuples of the i-th level of conductors for at least one i selected from i=[1:L+1] for T≧DS[i+1].
  • Note that every level of conductors must satisfy the PSN-(A) and PSN-(B) formulations for i=[1:L+1] while it is only necessary to satisfy the PSN-(C) and PSN-(D) formulations for just one i selected from i=[1:L+1] in an L-PSN according to one embodiment of the invention. Thus a L-PSN can have switch coupling patterns between two consecutive levels of conductors using either the conventional L-SN, the L-PSN of the U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) by the present inventors or the L-PSN following the PSN-(A) through PSN-(D) formulations disclosed in this application.
  • The embodiments of FIG. 5A through FIG. 5C illustrates an L-PSN with L=2, D[1]=DS[1]=4, D[2]=DS[2]=3, D[3]=4, DS[3]=3 and where not all the conductors of I[0], I[1], I[2] and I[3] are labeled, those conductors are assumed to be consecutively numbered and thus labeled as I[0]=[1:36], I[1]=[101:136], I[2]=[201:236] and I[3]=[301:348], where the L-PSN meets both the PSN-(A) through PSN-(D) formulations of the present disclosure and the PSN-(A) through PSN-(C) formulations of the U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) by the present inventors.
  • The embodiment of FIG. 5A illustrates a global level of switch couplings of the present disclosure PSN-(A) through PSN-(D) formulations for i=1 between the 0-th level of conductors [1:36] and the first level of conductors [101:136], where the first of the D[1] sets of conductors are constructed with the Transpose Sequence of the DS[1]-tuples using a step of DS[2], the second of the D[1] sets of conductors are constructed with the Prime 5 Sequence of the DS[1]-tuples, the third of the D[1] sets of conductors are constructed with the Prime 7 Sequence of the DS[1]-tuples and the D[1]-th set of the D[1] sets of conductors are constructed with the Prime 11 Sequence of the DS[1]-tuples.
  • The embodiment of FIG. 5B illustrates a localized switch couplings of the other application, U.S. patent application Ser. No. ______ (Attorney Docket No. 1207P015) by the present inventors, with PSN-(A) through PSN-(C) formulations for i=2 between the first level of conductors [101:136] and the second level of conductors [201:236], where each of the D[1] sets of switches in 500 represents the localized switch couplings (between [101:109] and {[201:203], [213:215], [225:227]}, between [110:118] and {[204:206], [216:218], [228:230]}, between [119:127] and {[207:209], [219:221], [231:233]}, between [128:136] and {[210:212], [222:224], [234:236]}) where the first of the D[2] sets of DS[3] number of conductors are constructed with the Transpose Sequence (of conductors) using a step of DS[2], the second of the D[2] sets of conductors are constructed with the Prime 5 Sequence (of conductors) and the D[2]-th set of the D[1] sets of conductors are constructed with the Original Sequence (of conductors).
  • The embodiment of FIG. 5C has the same conventional L-SN switch couplings for i=3 between the second level of conductors and the third level of conductors.
  • The generalized L-PSN formulations illustrated so far always refers to I[i−1] number of switches, which are used to selectively couple the conductors of an (i−1)-th level of conductors of I[i−1] number of conductors to the conductors of each of the D[i] sets of conductors of the i-th level of conductors of I[i] number of conductors having D[i] sets of conductors, where a subset of conductors of the (i−1)-level of conductors selectively couple to a subset of conductors of the i-th level of conductors prescribed by the formulations of PSN-(A) and PSN-(D) and has at least properties of PSN-(1), PSN-(2) or PSN-(3) for at least one i selected from i=[1:L+1]. An L-PSN can have many variations and the decisions to design a specific implementation of the L-PSN is generally based on the specific design or engineering objectives such as size, speed and ease of software to handle routing, etc.
  • The L-PSN switching networks can be used in conjunction with other interconnection mechanisms to form an interconnection fabric, for programmable logic circuits such as Field Programmable Gate Arrays (FPGAs) or used in a general interconnection network such as a network router. When an L-PSN is too small, there is no appreciable advantage, in terms of switch count, compared with many alternative interconnection schemes of the many conventional designs; for a 1-PSN, for example, both N=D[1] and K=D[L+1] should be at least three; for an L-PSN, at least one of the D[i] should be greater than two and DS[i] in general should be at least two where L is greater than one.
  • Thus the L-PSN scheme can be used to enhance the selective connectivity or routability of a netlist compared to a corresponding conventional L-SN when there are one or more multicasting signals without adding more switches or conductors to the switching network. Using numerous embodiments and illustrations, a detailed description in building various enhanced multistage permutable switching networks is provided and used in various combinations to provide interconnect, both for inputs and outputs, for programmable logic circuits.
  • In some embodiments, the design and/or layout of the integrated circuits described above can be performed by a computing machine (e.g., a server, a personal computer, etc.) in response to instructions embodied in a machine-readable storage medium of an article of manufacture. Some examples of a machine-readable storage medium include any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, data representing the design and/or layout of the integrated circuits described above can be embodied in a machine-readable storage medium of an article of manufacture.
  • Thus, some embodiments of permutable switching network have been described. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims (21)

1. An integrated circuit, comprising: a L-level permutable switching network (L-PSN);
wherein the L-PSN comprises:
for (I[i]/D[i])>1, D[i]>1, L≧1 and i=[1:L], L levels of conductors of I[i] number of conductors consisting of D[i] sets of conductors,
wherein at least one j where D[j]>2 for j selected from j=[1:L];
an 0-th level of conductors of I[0] number of conductors,
wherein (I[0]/Πi=[1:L] D[i])>1;
an (L+1)-th level of conductors of I[L+1] number of conductors comprising D[L+1] sets of conductors,
wherein D[L+1]>2 and (I[L+1]/D[L+1])=Πi=[1:L] D[i]; and
Σi=[1:L+1] (I[i−1]×D[i]) number of switches;
wherein the I[i−1] number of conductors of the (i−1)-th level of conductors selectively couple to (I[i]/D[i]) number of conductors in each of the D[i] sets of conductors of the i-th level of conductors through a respective I[i−1] number of switches of the Σi=[1:L+1] (I[i−1]×D[i]) number of switches for i=[1:L+1];
each conductor of the (i−1)-th level of conductors selectively couples to one conductor in each of the D[i] sets of conductors of the i-th level of conductors through a respective switch of the respective I[i−1] number of switches for i=[1:L+1];
for an j selected from j=[1:L] and DS[j]=(I[j−1]/I[j])×D[j], the I[j−1] number of conductors of the (j−1)-th level of conductors consisting of (I[j−1]/DS[j]) groups of DS[j] number of conductors,
wherein each of the DS[j] number of conductors of the (I[j−1]/DS[j]) groups selectively couple to one conductor in each of the D[j] sets of conductors of the j-th level of conductors through a respective DS[j] number of switches of the respective I[j−1] number of switches; and
for T>1 and L>1, any DS[j+1] groups of DS[j] number of conductors of (T×DS[j+1]) groups of DS[j] number of conductors of the (j−1)-th level of conductors selectively couple to DS[j+1] number of conductors in each of the D[j] sets of conductors of T groups of DS[j+1] number of conductors of the j-th level of conductors of D[j] sets of conductors through a respective (DS[j+1]×DS[j]×D[j]) number of switches,
wherein the DS[j+1] groups of DS[j] number of conductors selectively couple to the conductors of at least two groups of DS[j+1] number of conductors of at least one of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors through a respective (DS[j+1]×DS[j]) number of switches of the (DS[j+1]×DS[j]×D[j]) number of switches.
2. The integrated circuit of claim 1, wherein any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (D[j]+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (D[j]+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
3. The integrated circuit of claim 2, wherein T=(I[j−1]/DS[j]/DS[j+1]).
4. The integrated circuit of claim 1, wherein any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (2D[j]−1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (2D[j]−1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
5. The integrated circuit of claim 4, wherein T=(I[j−1]/DS[j]/DS[j+1]).
6. The integrated circuit of claim 1, wherein for T≧DS[j+1], any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (DS[j+i]×(D[j]−1)+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (DS[j+1]×(D[j]−1)+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
7. The integrated circuit of claim 6, wherein T=(I[j−1]/DS[j]/DS[j+1]).
8. A method to manufacture an integrated circuit, comprising:
fabricating a L-level permutable switching network (L-PSN),
wherein the L-PSN comprises:
for (I[i]/D[i])>1, D[i]>1, L≧1 and i=[1:L], L levels of conductors of I[i] number of conductors consisting of D[i] sets of conductors,
wherein at least one j where D[j]>2 for j selected from j=[1:L];
an 0-th level of conductors of I[0] number of conductors,
wherein (I[0]/Πi=[1:L] D[i])>1;
an (L+1)-th level of conductors of I[L+1] number of conductors comprising D[L+1] sets of conductors,
wherein D[L+1]>2 and (I[L+1]/D[L+1])=Πi=[1:L] D[i]; and
Σi=[1:L+1] (I[i−1]×D[i]) number of switches;
selectively coupling the I[i−1] number of conductors of the (i−1)-th level of conductors to (I[i]/D[i]) number of conductors in each of the D[i] sets of conductors of the i-th level of conductors through a respective I[i−1] number of switches of the Σi=[1:L+1] (I[i−1]×D[i]) number of switches for i=[1:L+1];
selectively coupling each conductor of the (i−1)-th level of conductors to one conductor in each of the D[i] sets of conductors of the i-th level of conductors through a respective switch of the respective I[i−1] number of switches for i=[1:L+1];
for an j selected from j=[1:L] and DS[j]=(I[j−1]/I[j])×D[j], the I[j−1] number of conductors of the j−1)-th level of conductors comprising (I[j−1]/DS[j]) groups of DS[j] number of conductors,
selectively coupling each of the DS[j] number of conductors of the (I[j−1]/DS[j]) groups to one conductor in each of the D[j] sets of conductors of the j-th level of conductors through a respective DS[j] number of switches of the respective I[j−1] number of switches; and
for T>1 and L>1, selectively coupling any DS[j+1] groups of DS[j] number of conductors of (T×DS[j+1]) groups of DS[j] number of conductors of the (j−1)-th level of conductors to DS[j+1] number of conductors in each of the D[j] sets of conductors of T groups of DS[j+1] number of conductors of the j-th level of conductors of D[j] sets of conductors through a respective (DS[j+1]×DS[j]×D[j]) number of switches,
selectively coupling the DS[j+1] groups of DS[j] number of conductors to the conductors of at least two groups of DS[j+1] number of conductors of at least one of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors through a respective (DS[j+1]×DS[j]) number of switches of the (DS[j+1]×DS[j]×D[j]) number of switches.
9. The method of claim 8, further comprising selectively coupling any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors to conductors of at least (D[j]+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (D[j]+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
10. The method of claim 9, wherein T=(I[j−1]/DS[j]/DS[j+1]).
11. The method of claim 8, further comprising selectively coupling any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors to conductors of at least (2D[j]−1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (2D[j]−1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
12. The method of claim 11, wherein T=(I[j−1]/DS[j]/DS[j+1]).
13. The method of claim 8, further comprising selectively coupling for T≧DS[j+1], any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors to conductors of at least (DS[j+1]×(D[j]−1)+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (DS[j+1]×(D[j]−1)+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
14. The method of claim 13, wherein T=(I[j31 1]/DS[j]/DS[j+1]).
15. An article of manufacture comprising a machine readable storage medium that stores data representing an integrated circuit layout, comprising: a L-level permutable switching network (L-PSN);
wherein the L-PSN comprises:
for (I[i]/D[i])>1, D[i]>1, L≧1 and i=[1:L], L levels of conductors of I[i] number of conductors consisting of D[i] sets of conductors,
wherein at least one j where D[j]>2 for j selected from j=[1:L];
an 0-th level of conductors of I[0] number of conductors,
wherein (I[0]/Πi=[1:L] D[i])>1;
an (L+1)-th level of conductors of I[L+1] number of conductors comprising D[L+1] sets of conductors,
wherein D[L+1]>2 and (I[L+1]/D[L+1])=Πi=[1:L] D[i]; and
Σi=[1:L+1] (I[i−1]×D[i]) number of switches;
wherein the I[i−1] number of conductors of the (i−1)-th level of conductors selectively couple to (I[i]/D[i]) number of conductors in each of the D[i] sets of conductors of the i-th level of conductors through a respective I[i−1] number of switches of the Σi=[1:L+1] (I[i−1]×D[i]) number of switches for i=[1:L+1];
each conductor of the (i−1)-th level of conductors selectively couples to one conductor in each of the D[i] sets of conductors of the i-th level of conductors through a respective switch of the respective I[i−1] number of switches for i=[1:L+1];
for an j selected from j=[1:L] and DS[j]=(I[j−1]/I[j])×D[j], the I[j−1] number of conductors of the (j−1)-th level of conductors consisting of (I[j−1]/DS[j]) groups of DS[j] number of conductors,
wherein each of the DS[j] number of conductors of the (I[j−1]/DS[j]) groups selectively couple to one conductor in each of the D[j] sets of conductors of the j-th level of conductors through a respective DS[j] number of switches of the respective I[j−1] number of switches; and
for T>1 and L>1, any DS[j+1] groups of DS[j] number of conductors of (T×DS[j+1]) groups of DS[j] number of conductors of the (−1)-th level of conductors selectively couple to DS[j+1] number of conductors in each of the D[j] sets of conductors of T groups of DS[j+1] number of conductors of the j-th level of conductors of D[j] sets of conductors through a respective (DS[j+1]×DS[j]×D[j]) number of switches,
wherein the DS[j+1] groups of DS[j] number of conductors selectively couple to the conductors of at least two groups of DS[j+1] number of conductors of at least one of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors through a respective (DS[j+1]×DS[j]) number of switches of the (DS[j+1]×DS[j]×D[j]) number of switches.
16. The article of manufacture of claim 15, wherein any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (D[j]+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (D[j]+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
17. The article of manufacture of claim 16, wherein T=(I[j−1]/DS[j]/DS[j+1]).
18. The article of manufacture of claim 15, wherein any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (2D[j]−1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (2D[j]−1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
19. The article of manufacture of claim 18, wherein T=(I[j−1]/DS[j]/DS[j+1]).
20. The article of manufacture of claim 15, wherein for T≧DS[j+1], any DS[j+1] groups of DS[j] number of conductors of the (T×DS[j+1]) groups of DS[j] number of conductors selectively couple to conductors of at least (DS[j+1]×(D[j]−1)+1) groups of DS[j+1] number of conductors of the T groups of DS[j+1] number of conductors of the D[j] sets of conductors,
wherein the at least (DS[j+1]×(D[j]−1)+1) groups of DS[j+1] number of conductors comprises at least one group of DS[j+1] number of conductors from each of the D[j] sets of conductors of the T groups of DS[j+1] number of conductors.
21. The article of manufacture of claim 20, wherein T=(I[j−1]/DS[j/]/DS[j+1]).
US12/327,704 2008-12-03 2008-12-03 Permutable switching network with enhanced multicasting signals routing for interconnection fabric Expired - Fee Related US7714611B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/327,704 US7714611B1 (en) 2008-12-03 2008-12-03 Permutable switching network with enhanced multicasting signals routing for interconnection fabric
US12/703,624 US7777519B2 (en) 2008-12-03 2010-02-10 Permutable switching network with enhanced multicasting signals routing for interconnection fabric

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/327,704 US7714611B1 (en) 2008-12-03 2008-12-03 Permutable switching network with enhanced multicasting signals routing for interconnection fabric

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/703,624 Continuation US7777519B2 (en) 2008-12-03 2010-02-10 Permutable switching network with enhanced multicasting signals routing for interconnection fabric

Publications (2)

Publication Number Publication Date
US7714611B1 US7714611B1 (en) 2010-05-11
US20100134143A1 true US20100134143A1 (en) 2010-06-03

Family

ID=42139318

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/327,704 Expired - Fee Related US7714611B1 (en) 2008-12-03 2008-12-03 Permutable switching network with enhanced multicasting signals routing for interconnection fabric
US12/703,624 Expired - Fee Related US7777519B2 (en) 2008-12-03 2010-02-10 Permutable switching network with enhanced multicasting signals routing for interconnection fabric

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/703,624 Expired - Fee Related US7777519B2 (en) 2008-12-03 2010-02-10 Permutable switching network with enhanced multicasting signals routing for interconnection fabric

Country Status (1)

Country Link
US (2) US7714611B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100327907A1 (en) * 2009-06-24 2010-12-30 Ting Benjamin S Enhanced permutable switching network with multicasting signals for interconnection fabric

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975139B2 (en) * 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US8341580B2 (en) * 2009-09-28 2012-12-25 Advantage Logic, Inc. Modular routing fabric using switching networks

Citations (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1469003A (en) * 1923-09-25 Pneumatic screen
US3516959A (en) * 1964-12-18 1970-06-23 Berk Ltd Solid polymer compositions having flame retardant and drip resistant properties and additive compositions for imparting said properties thereto
US3953565A (en) * 1973-10-29 1976-04-27 Tokuyama Soda Kabushiki Kaisha Process for producing flame-retardant shaped articles of thermoplastic synthetic resins
US4000100A (en) * 1971-06-04 1976-12-28 W. R. Grace & Co. Thermal and light stabilized polyvinyl chloride resins
US4307010A (en) * 1980-01-17 1981-12-22 Pennwalt Corporation Zeolites as smoke suppressants for halogenated polymers
US4758745A (en) * 1986-09-19 1988-07-19 Actel Corporation User programmable integrated circuit interconnect architecture and test method
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US5094775A (en) * 1989-03-22 1992-03-10 Arco Chemical Technology, Inc. Zeolite modified water-blown polyurethane foams
US5096950A (en) * 1988-10-19 1992-03-17 Ciba-Geigy Corporation Polyolefin compositions stabilized with NOR-substituted hindered amines
US5144166A (en) * 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5149735A (en) * 1989-11-06 1992-09-22 Enimont Augusta Industriale S.R.L. Self-extinguishing polymeric compositions
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5260611A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5841775A (en) * 1996-07-16 1998-11-24 Huang; Alan Scalable switching network
US5883526A (en) * 1997-04-17 1999-03-16 Altera Corporation Hierarchical interconnect for programmable logic devices
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US6051991A (en) * 1993-08-03 2000-04-18 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6096820A (en) * 1999-07-29 2000-08-01 Pq Corporation Aluminosilicate stabilized halogenated polymers
US6207735B1 (en) * 1997-12-08 2001-03-27 Tosch Corporation Flame retardant and flame retardant resin composition containing it
US6239219B1 (en) * 1995-07-21 2001-05-29 Atofina Thermoplastic compositions with improved fire resistance
US20010007428A1 (en) * 1997-02-26 2001-07-12 Young Steven P. Interconnect structure for a programmable logic device
US6417694B1 (en) * 1996-10-10 2002-07-09 Altera Corporation Programmable logic device with hierarchical interconnection resources
US20020107315A1 (en) * 1999-12-03 2002-08-08 Chaudhary Bharat I. Halogenated fire-retardant compositions and foams and fabricated articles therefrom.
US6500889B2 (en) * 2000-02-23 2002-12-31 Ajinomoto Co., Inc. Flame-retarded thermoplastic resin composition
US20030022968A1 (en) * 2001-06-29 2003-01-30 Shinichiro Imanishi Flame retardant polyolefin resin composition
US6594810B1 (en) * 2001-10-04 2003-07-15 M2000 Reconfigurable integrated circuit with a scalable architecture
US6597196B2 (en) * 1993-08-03 2003-07-22 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6693456B2 (en) * 2000-08-04 2004-02-17 Leopard Logic Inc. Interconnection network for a field programmable gate array
US6780348B1 (en) * 2002-03-26 2004-08-24 Albemarle Corporation Flame retardant additives and flame retardant polymer compositions formed therewith
US20050086823A1 (en) * 2002-02-22 2005-04-28 Suresh Subramonian Macrocellular acoustic foam containing particulate additive
US6975139B2 (en) * 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7065076B1 (en) * 2000-08-25 2006-06-20 Promise Technology, Inc. Modular scalable switching networks
US7109260B2 (en) * 2002-10-17 2006-09-19 Ciba Specialty Chemicals Corporation Flame retardant compositions
US7123612B2 (en) * 2002-02-10 2006-10-17 Haw-Minn Lu Width upgrade for a scalable switching network
US7423453B1 (en) * 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9223226D0 (en) 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5396126A (en) * 1993-02-19 1995-03-07 At&T Corp. FPGA with distributed switch matrix
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US6097212A (en) 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits

Patent Citations (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1469003A (en) * 1923-09-25 Pneumatic screen
US3516959A (en) * 1964-12-18 1970-06-23 Berk Ltd Solid polymer compositions having flame retardant and drip resistant properties and additive compositions for imparting said properties thereto
US4000100A (en) * 1971-06-04 1976-12-28 W. R. Grace & Co. Thermal and light stabilized polyvinyl chloride resins
US3953565A (en) * 1973-10-29 1976-04-27 Tokuyama Soda Kabushiki Kaisha Process for producing flame-retardant shaped articles of thermoplastic synthetic resins
US4307010A (en) * 1980-01-17 1981-12-22 Pennwalt Corporation Zeolites as smoke suppressants for halogenated polymers
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US4758745A (en) * 1986-09-19 1988-07-19 Actel Corporation User programmable integrated circuit interconnect architecture and test method
US5096950A (en) * 1988-10-19 1992-03-17 Ciba-Geigy Corporation Polyolefin compositions stabilized with NOR-substituted hindered amines
US5094775A (en) * 1989-03-22 1992-03-10 Arco Chemical Technology, Inc. Zeolite modified water-blown polyurethane foams
US5149735A (en) * 1989-11-06 1992-09-22 Enimont Augusta Industriale S.R.L. Self-extinguishing polymeric compositions
US5144166A (en) * 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5260611A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US7142012B2 (en) * 1993-08-03 2006-11-28 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6747482B2 (en) * 1993-08-03 2004-06-08 Btr. Inc. Architecture and interconnect scheme for programmable logic circuits
US6051991A (en) * 1993-08-03 2000-04-18 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6597196B2 (en) * 1993-08-03 2003-07-22 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6507217B2 (en) * 1993-08-03 2003-01-14 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6239219B1 (en) * 1995-07-21 2001-05-29 Atofina Thermoplastic compositions with improved fire resistance
US5841775A (en) * 1996-07-16 1998-11-24 Huang; Alan Scalable switching network
US6417694B1 (en) * 1996-10-10 2002-07-09 Altera Corporation Programmable logic device with hierarchical interconnection resources
US20010007428A1 (en) * 1997-02-26 2001-07-12 Young Steven P. Interconnect structure for a programmable logic device
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US5883526A (en) * 1997-04-17 1999-03-16 Altera Corporation Hierarchical interconnect for programmable logic devices
US6207735B1 (en) * 1997-12-08 2001-03-27 Tosch Corporation Flame retardant and flame retardant resin composition containing it
US6096820A (en) * 1999-07-29 2000-08-01 Pq Corporation Aluminosilicate stabilized halogenated polymers
US20020107315A1 (en) * 1999-12-03 2002-08-08 Chaudhary Bharat I. Halogenated fire-retardant compositions and foams and fabricated articles therefrom.
US6500889B2 (en) * 2000-02-23 2002-12-31 Ajinomoto Co., Inc. Flame-retarded thermoplastic resin composition
US6693456B2 (en) * 2000-08-04 2004-02-17 Leopard Logic Inc. Interconnection network for a field programmable gate array
US6940308B2 (en) * 2000-08-04 2005-09-06 Leopard Logic Inc. Interconnection network for a field programmable gate array
US7065076B1 (en) * 2000-08-25 2006-06-20 Promise Technology, Inc. Modular scalable switching networks
US20030022968A1 (en) * 2001-06-29 2003-01-30 Shinichiro Imanishi Flame retardant polyolefin resin composition
US6594810B1 (en) * 2001-10-04 2003-07-15 M2000 Reconfigurable integrated circuit with a scalable architecture
US7123612B2 (en) * 2002-02-10 2006-10-17 Haw-Minn Lu Width upgrade for a scalable switching network
US20050086823A1 (en) * 2002-02-22 2005-04-28 Suresh Subramonian Macrocellular acoustic foam containing particulate additive
US6780348B1 (en) * 2002-03-26 2004-08-24 Albemarle Corporation Flame retardant additives and flame retardant polymer compositions formed therewith
US7109260B2 (en) * 2002-10-17 2006-09-19 Ciba Specialty Chemicals Corporation Flame retardant compositions
US6975139B2 (en) * 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7256614B2 (en) * 2004-03-30 2007-08-14 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7417457B2 (en) * 2004-03-30 2008-08-26 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7557613B2 (en) * 2004-03-30 2009-07-07 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7423453B1 (en) * 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100327907A1 (en) * 2009-06-24 2010-12-30 Ting Benjamin S Enhanced permutable switching network with multicasting signals for interconnection fabric
US7999570B2 (en) * 2009-06-24 2011-08-16 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric
US20110267104A1 (en) * 2009-06-24 2011-11-03 Ting Benjamin S Enhanced permutable switching network with multicasting signals for interconnection fabric
US8395415B2 (en) * 2009-06-24 2013-03-12 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric

Also Published As

Publication number Publication date
US7777519B2 (en) 2010-08-17
US20100141298A1 (en) 2010-06-10
US7714611B1 (en) 2010-05-11

Similar Documents

Publication Publication Date Title
US7986163B2 (en) Scalable non-blocking switching network for programmable logic
US8269523B2 (en) VLSI layouts of fully connected generalized networks
US9929977B2 (en) Fast scheduling and optimization of multi-stage hierarchical networks
US20160261525A1 (en) Optimization of multi-stage hierarchical networks for practical routing applications
US8378712B2 (en) Integrated circuit with crosslinked interconnect networks
US8981814B2 (en) Permutable switching network with enhanced interconnectivity for multicasting signals
US7777519B2 (en) Permutable switching network with enhanced multicasting signals routing for interconnection fabric
US8395415B2 (en) Enhanced permutable switching network with multicasting signals for interconnection fabric
US10855283B2 (en) Routing network for reconfigurable circuit
US8341580B2 (en) Modular routing fabric using switching networks
US11405332B1 (en) Fast scheduling and optimization of multi-stage hierarchical networks
US11405331B1 (en) Optimization of multi-stage hierarchical networks for practical routing applications

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANTAGE LOGIC, INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PANI, PETER M.;TING, BENJAMIN S.;REEL/FRAME:022210/0244

Effective date: 20090128

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: RPX CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADVANTAGE LOGIC, INC.;REEL/FRAME:038609/0807

Effective date: 20160502

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20180511