Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
164 words
A method for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) determining a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, and determining a cost of each path not having an assigned signal, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of other output resources that are available for other input resources that are mapped to the output resource of the path for the one function block: (c) selecting a path having the least cost; (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 2
Independent Claim
164 words
A method for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) determining a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, and determining a cost of each path not having an assigned signal, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of other output resources that are available for other input resources that are mapped to the output resource of the path for the one function block: (c) selecting a path having the least cost; (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 3
Dependent Claim
23 words
The method of claim 1 , further comprising the step of sorting the signals by numbers of function blocks which require the signals.
Claim 4
Dependent Claim
40 words
The method of claim 2 , further comprising the steps of: removing from consideration for assignment alternative paths for input resource of the path selected; and removing from consideration for assignment conflicting paths for output resource of the path selected.
Claim 5
Dependent Claim
79 words
The method of claim 1 , wherein for n inputs, x 1 , x 2 , . . . , x n , mapped to an output resource, y, the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total alternative outputs for x j in one function block .
Claim 6
Dependent Claim
52 words
The method of claim 1 , wherein the cost of a path for the one function block is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal.
Claim 7
Dependent Claim
87 words
The method of claim 5 , wherein for n inputs x 1 , x 2 , . . . , x n , mapped to an output resource y, the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total outputs for x j in other function blocks that require the signal .
Claim 8
Dependent Claim
197 words
The method of claim 1 , further comprising the steps of: (f) selecting an unassigned input resource to create a tree-type data structure having as a root the unassigned input resource; (g) adding to the tree output resources that are connectable to the unassigned input resource; (h) adding below a lowest level of the tree, input resources that are assigned to the output resources; (i) adding below a lowest level of the tree, output resources that are connectable to corresponding input resources; (j) if an output resource at a lowest level of the tree is not assigned to an input resource, then in an augmenting path that begins with the unassigned input resource at the root and ends at the output resource at the lowest level of the tree, reassigning input resources to neighboring output resources to create an alternating path of input resources assigned to output resources, assigning an unassigned signal to one of the input resources assigned to output resources in the alternating path, and reassigning signals of the augmenting path to inputs assigned to output resources in the alternating path; (k) repeating steps (f)-(j) until all the signals are assigned to interconnect multiplexer paths.
Claim 9
Dependent Claim
48 words
The method of claim 7 , further comprising the step of repeating steps (h)-(i) until either there are no remaining input resources and output resources to add to the tree or an output resource at a lowest level of the tree is not assigned to an input resource.
Claim 10
Dependent Claim
50 words
The method of claim 8 , further comprising the step of: indicating a failure if there are no remaining input resources and output resources to add to the tree and there is no output resource at a lowest level of the tree that is not assigned to an input resource.
Claim 11
Independent Claim
212 words
A method for assigning signals required by function blocks of a programmable circuit to interconnect multiplexer input resources assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) sorting the signals by numbers of function blocks which require the signals, the sorting involving determining a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, and determining a cost of each path not having an assigned signal, wherein the cost of a path for one function block is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal; (c) selecting a path having the least cost the selecting involving: 1) removing from consideration for signal assignment alternative paths for the input resource of the path selected, and 2) removing from consideration for signal assignment conflicting paths for the output resource of the path selected: (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 12
Independent Claim
212 words
A method for assigning signals required by function blocks of a programmable circuit to interconnect multiplexer input resources assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) sorting the signals by numbers of function blocks which require the signals, the sorting involving determining a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, and determining a cost of each path not having an assigned signal, wherein the cost of a path for one function block is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal; (c) selecting a path having the least cost the selecting involving: 1) removing from consideration for signal assignment alternative paths for the input resource of the path selected, and 2) removing from consideration for signal assignment conflicting paths for the output resource of the path selected: (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 13
Dependent Claim
95 words
The method of claim 10 , wherein for an input resource i and an output resource o, where n inputs, x 1 , x 2 , . . . , x n , are mapped to o, the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total outputs for x j in other function blocks that require the signal .
Claim 14
Independent Claim
173 words
An apparatus for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising: means for identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; for a signal that has a greatest fanout to function blocks and that is not assigned to a path, means for determining a cost of each path not in use, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of other output resources that are available for other input resources that are mapped to the output resource of the one path for the one function means for selecting a path having the least cost; means for assigning the signal to the path selected; and means for repeating determination of the cost of each path, selection of a path, and assignment of a signal until all the signals have been assigned.
Claim 15
Independent Claim
173 words
An apparatus for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources to interconnect multiplexer output resources, comprising: means for identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; for a signal that has a greatest fanout to function blocks and that is not assigned to a path, means for determining a cost of each path not in use, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of other output resources that are available for other input resources that are mapped to the output resource of the one path for the one function means for selecting a path having the least cost; means for assigning the signal to the path selected; and means for repeating determination of the cost of each path, selection of a path, and assignment of a signal until all the signals have been assigned.
Claim 16
Dependent Claim
22 words
The apparatus of claim 12 , further comprising means for sorting the signals by numbers of function blocks which require the signals.
Claim 17
Dependent Claim
41 words
The apparatus of claim 13 , further comprising: means for removing from consideration for assignment alternative paths for input resource of the path selected; and means for removing from consideration for assignment conflicting paths for output resource of the path selected.
Claim 18
Dependent Claim
79 words
The apparatus of claim 13 , wherein for n inputs, x 1 , x 2 , . . . , x n , mapped to an output resource, y, the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total alternative outputs for x j in one function block .
Claim 19
Dependent Claim
52 words
The apparatus of claim 13 , wherein the cost of a path for the one function block is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal.
Claim 20
Dependent Claim
86 words
The apparatus of claim 16 , wherein for n inputs, x 1 , x 2 , . . . , x n mapped to an output resource, y, the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total outputs for x j in other function blocks that require the signal .
Claim 21
Dependent Claim
250 words
The apparatus of claim 12 , further comprising: means for selecting an unassigned input resource to create a tree-type data structure having as a root the unassigned input resource; means for adding to the tree output resources that are connectable to the unassigned input resource; means for adding below a lowest level of the tree, input resources that are assigned to the output resources; means for adding below a lowest level of the tree, output resources that are connectable to corresponding input resources; means for reassigning input resources to neighboring output resources to create an alternating path of input resources assigned to output resources in an augmenting path that begins with the unassigned input resource at the root and ends at the output resource at the lowest level of the tree, if an output resource at a lowest level of the tree is not assigned to an input resource; means for assigning an unassigned signal to one of the input resources assigned to output resources in the alternating path, if an output resource at a lowest level of the tree is not assigned to an input resource; means for reassigning signals of the augmenting path to inputs assigned to output resources in the alternating path, if an output resource at a lowest level of the tree is not assigned to an input resource; and means for repeating selection of unassigned inputs, construction of trees having alternating paths, and reassigning signals until all the signals are assigned to interconnect multiplexer paths.
Claim 22
Independent Claim
176 words
An apparatus for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources, to interconnect multiplexer output resources, comprising: means for identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; for a signal that has a greatest fanout to function blocks and that is not assigned to a path, means for determining a cost of each path not in use, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal; means for selecting a path having the least cost; means for assigning the signal to the path selected; and means for repeating determination of the cost of each path, selection of a path, and assignment of a signal until all the signals have been assigned.
Claim 23
Independent Claim
176 words
An apparatus for assigning signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assigning the interconnect multiplexer input resources, to interconnect multiplexer output resources, comprising: means for identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; for a signal that has a greatest fanout to function blocks and that is not assigned to a path, means for determining a cost of each path not in use, wherein the cost of a path for one of the function blocks that requires the signal is a function of a number of output resources that are available for the other input resources that are mapped to the output resource of the path for other function blocks that require the signal; means for selecting a path having the least cost; means for assigning the signal to the path selected; and means for repeating determination of the cost of each path, selection of a path, and assignment of a signal until all the signals have been assigned.
Claim 24
Dependent Claim
87 words
The apparatus of claim 19 , wherein for n inputs, x 1 , x 2 , . . . , x n , an output resource, y, mapped to the cost of the path for the one function block is a function of: ∑ j = 1 j = n 1 total outputs for x j in other function blocks that require the signal .
Claim 25
Dependent Claim
177 words
A computer readable medium comprising instructions for causing a computer to assign signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assign the interconnect multiplexer input resources to interconnect multiplexer output resources, the instructions for causing the computer to perform the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) for a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, determining a cost of each path not having an assigned signal, wherein the cost of a path for one of the function blocks is a function of a number of other output resources that are available for other input resources, the other input resources being mapped to the output resource of the path for the one function block; (c) selecting a path having the least cost; (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 26
Dependent Claim
177 words
A computer readable medium comprising instructions for causing a computer to assign signals required by function blocks of a programmable integrated circuit to interconnect multiplexer input resources and assign the interconnect multiplexer input resources to interconnect multiplexer output resources, the instructions for causing the computer to perform the steps of: (a) identifying all available paths from an interconnect multiplexer input resource to an interconnect multiplexer output resource; (b) for a signal that has a greatest number of function blocks that require the signal and that is not assigned to a path, determining a cost of each path not having an assigned signal, wherein the cost of a path for one of the function blocks is a function of a number of other output resources that are available for other input resources, the other input resources being mapped to the output resource of the path for the one function block; (c) selecting a path having the least cost; (d) assigning the signal to the path selected; and (e) repeating steps (b)-(d) until all the signals have been assigned.
Claim 27
Independent Claim
200 words
A method for assigning a plurality of signals to paths within the programmable logic device, the programmable logic device including an interconnect multiplexer and a plurality of function blocks, each of the paths being a path from an interconnect multiplexer input to an interconnect multiplexer output, the method comprising the steps of: (a) viewing all function blocks of the programmable logic device and determining a signal of the plurality of signals that has a greatest number of function blocks that require the signal and that is not assigned to a path; (b) for the signal determined in (a), determining a cost of each path that the signal can be routed on but that does not have an assigned signal, wherein the cost of a path for one of the function blocks is a function of a number of other output resources that are available for other input resources, the other input resources being mapped to the output resource of the path for the one function block; (c) selecting the path in (b) having the least cost; (d) assigning the signal to the path selected in (c); and (e) repeating steps (a)-(d) until all the plurality of signals have been assigned.
Claim 28
Independent Claim
200 words
A method for assigning a plurality of signals to paths within the programmable logic device, the programmable logic device including an interconnect multiplexer and a plurality of function blocks, each of the paths being a path from an interconnect multiplexer input to an interconnect multiplexer output, the method comprising the steps of: (a) viewing all function blocks of the programmable logic device and determining a signal of the plurality of signals that has a greatest number of function blocks that require the signal and that is not assigned to a path; (b) for the signal determined in (a), determining a cost of each path that the signal can be routed on but that does not have an assigned signal, wherein the cost of a path for one of the function blocks is a function of a number of other output resources that are available for other input resources, the other input resources being mapped to the output resource of the path for the one function block; (c) selecting the path in (b) having the least cost; (d) assigning the signal to the path selected in (c); and (e) repeating steps (a)-(d) until all the plurality of signals have been assigned.