Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
374 words
A method for sizing routing channels used to route input/output pads to a logic core, the method comprising the steps of: (a) defining six channels, the six channels including a first special channel immediately below the logic core and within a span of the logic core, a second special channel immediately above the logic core and within a span of the logic core, a left channel adjacent to a left side of the logic core, the first special channel and the second special channel, a right channel adjacent to a right side of the logic core, the first special channel and the second special channel, a bottom channel adjacent to a bottom side of the left channel, the first special channel and the right channel, and a top channel adjacent to a top side of the left channel, the second special channel and the right channel, whereby use of the first special channel and the second special channel reduces it number of nets wired through the top channel and the bottom channel; (b) positioning input/output pads at a top side of the top channel, at a bottom side of the bottom channel, at a left side of the left channel and at a right side of the right channel; (c) estimating a height of the first special channel and the second special channel; (d) resizing a height of the left channel and the right channel based on the height of the first special channel and the second special channel estimated in step (c); (e) repositioning input/output pads on the left side of the left channel and on the right side of the right channel to occupy the entire height of the left channel and the right channel; (f) estimating a width of the left channel and the right channel; (g) resizing a length of the top channel and the bottom channel based on the width of the left channel and the right channel estimated in step (f); (h) repositioning input/output pads on the top side of the top channel and on the bottom side of the bottom channel to occupy the entire length of the top channel and the bottom channel; and, (i) estimating a height of the top channel and the bottom channel.
Claim 2
Independent Claim
374 words
A method for sizing routing channels used to route input/output pads to a logic core, the method comprising the steps of: (a) defining six channels, the six channels including a first special channel immediately below the logic core and within a span of the logic core, a second special channel immediately above the logic core and within a span of the logic core, a left channel adjacent to a left side of the logic core, the first special channel and the second special channel, a right channel adjacent to a right side of the logic core, the first special channel and the second special channel, a bottom channel adjacent to a bottom side of the left channel, the first special channel and the right channel, and a top channel adjacent to a top side of the left channel, the second special channel and the right channel, whereby use of the first special channel and the second special channel reduces it number of nets wired through the top channel and the bottom channel; (b) positioning input/output pads at a top side of the top channel, at a bottom side of the bottom channel, at a left side of the left channel and at a right side of the right channel; (c) estimating a height of the first special channel and the second special channel; (d) resizing a height of the left channel and the right channel based on the height of the first special channel and the second special channel estimated in step (c); (e) repositioning input/output pads on the left side of the left channel and on the right side of the right channel to occupy the entire height of the left channel and the right channel; (f) estimating a width of the left channel and the right channel; (g) resizing a length of the top channel and the bottom channel based on the width of the left channel and the right channel estimated in step (f); (h) repositioning input/output pads on the top side of the top channel and on the bottom side of the bottom channel to occupy the entire length of the top channel and the bottom channel; and, (i) estimating a height of the top channel and the bottom channel.
Claim 3
Dependent Claim
21 words
A method as in claim 1 wherein before step (c) the following step is performed: (b.1) global routing the six channels.
Claim 4
Dependent Claim
43 words
A method as in claim 2 wherein step (c) includes the substeps of: (c.1) fixing connections for the first special channel and for the second special channel; and, (c.2) estimating maximum channel density within the first special channel and the second special channel.
Claim 5
Dependent Claim
39 words
A method as in claim 3 wherein step (f) includes estimating maximum channel density within the left channel and the right channel, and wherein step (i) includes estimating maximum channel density within the top channel and the bottom channel.
Claim 6
Dependent Claim
102 words
A method as in claim 3 wherein substep (c.1) includes the following substeps: (c.1.i) for each input/output pad on a bottom side of the bottom channel and within the span of the logic core, placing a connector on a border of the bottom channel and the first special channel, the connector being immediately above the input/output pad; and, (c.1.ii) for each input/output pad, on a top side of the top channel and within the span of the logic core, placing a connector on a border of the top channel and the second special channel, the connector being immediately below the input/output pad.
Claim 7
Dependent Claim
92 words
A method as in claim 3 wherein step (b.1) includes the following substeps: (b.1.i) forming ten regions wherein the first special channel constitutes a single region, the second special channel constitutes a single region, the left channel constitutes a single region, the right channel constitutes a single region, the top channel constitutes three regions and the bottom channel constitutes three regions; (b.1.ii) assigning a cost for nets intersecting the regions, the cost including a special region cost; and, (b.1.iii) routing nets based on minimizing costs assigned in substep (b.1.ii) for each net.
Claim 8
Dependent Claim
65 words
A method as in claim 6 wherein in substep (b.1.ii) the special region cost is highest for nets which intersect adjacent regions within the top channel and is highest for nets which intersect adjacent regions within the bottom channel, and the special region cost is lowest for nets which intersect the region within the first special channel or the region within the second special channel.
Claim 9
Dependent Claim
22 words
A method as in claim 6 wherein the cost assigned in substep (b.1.ii) additionally includes wire length cost and channel density cost.
Claim 10
Dependent Claim
17 words
A method as in claim 7 wherein substep (b.1.iii) is performed using a single component growth algorithm.
Claim 11
Dependent Claim
53 words
A method as in claim 1 additionally comprising the step of: (j) when performing steps (c) through (i) results in a change in size in any of the first special channel, the second special channel, the left channel, the right channel, the top channel and the bottom channel, repeating steps (c) through (j).
Claim 12
Dependent Claim
91 words
A method as in claim 10, wherein step (c) includes modifying global routing when, in prior performance of step (h), repositioning input/output pads on the top side of the top channel and on the bottom side of the bottom channel has resulted in an input/output pad on the bottom side of the bottom channel moving into or out of the span of the logic core or has resulted in an input/output pad on the top side of the top channel moving into or out of the span of the logic core.
Claim 13
Dependent Claim
30 words
A method as in claim 1 wherein in step (b), (e) and (h) input/output pads are positioned and repositioned so that they are spread out evenly over an adjacent channel.
Claim 14
Dependent Claim
33 words
A method as in claim 1 wherein in step (b), (e) and (h) input/output pads are positioned and repositioned so that some input/output pads are bunched at each end of an adjacent channel.
Claim 15
Independent Claim
238 words
A method for routing input/output pads to a logic core, the method comprising the steps of: (a) defining six channels, the six channels including a first special channel immediately below the logic core and within a span of the logic core, a second special channel immediately above the logic core and within a span of the logic core, a left channel adjacent to a left side of the logic core, the first special channel and the second special channel, a right channel adjacent to a right side of the logic core, the first special channel and the second special channel, a bottom channel adjacent to a bottom side of the left channel, the first special channel and the right channel, and a top channel adjacent to a top side of the left channel, the second special channel and the right channel, whereby use of the first special channel and the second special channel reduces a number of nets wired through the top channel and the bottom channel; (b) positioning input/output pads at a top side of the top channel, at a bottom side of the bottom channel, at a left side of the left channel and at a right side of the right channel; (c) performing a global route through the six channels; and, (d) resizing the six channels based on estimated channel routing density of each the six channels, the resizing including repositioning of the input/output pads.
Claim 16
Independent Claim
238 words
A method for routing input/output pads to a logic core, the method comprising the steps of: (a) defining six channels, the six channels including a first special channel immediately below the logic core and within a span of the logic core, a second special channel immediately above the logic core and within a span of the logic core, a left channel adjacent to a left side of the logic core, the first special channel and the second special channel, a right channel adjacent to a right side of the logic core, the first special channel and the second special channel, a bottom channel adjacent to a bottom side of the left channel, the first special channel and the right channel, and a top channel adjacent to a top side of the left channel, the second special channel and the right channel, whereby use of the first special channel and the second special channel reduces a number of nets wired through the top channel and the bottom channel; (b) positioning input/output pads at a top side of the top channel, at a bottom side of the bottom channel, at a left side of the left channel and at a right side of the right channel; (c) performing a global route through the six channels; and, (d) resizing the six channels based on estimated channel routing density of each the six channels, the resizing including repositioning of the input/output pads.
Claim 17
Dependent Claim
113 words
A method as in claim 14 wherein in step (d), resizing the first special channel and the second special channel includes the following substeps: (d.1) for each input/output pad on a bottom side of the bottom channel and within the span of the logic core, placing a connector on a border of the bottom channel and the first special channel, the connector being immediately above the input/output pad; and, (d.2) for each input/output pad on a top side of the top channel and within the span of the logic core, placing a connector on a border of the top channel and the second special channel, the connector being immediately below the input/output pad.
Claim 18
Dependent Claim
92 words
A method as in claim 14 wherein step (c) includes the following substeps: (c.1) forming ten regions wherein the first special channel constitutes a single region, the second special channel constitutes a single region, the left channel constitutes a single region, the right channel constitutes a single region, the top channel constitutes three regions and the bottom channel constitutes three regions; (c.2) assigning a cost for nets intersecting the regions, the cost including a special region cost; and, (c.3) routing nets based on minimizing costs assigned in substep (c.1.ii) for each net.
Claim 19
Dependent Claim
65 words
A method as in claim 16 wherein in substep (c.2) the special region cost is highest for nets which intersect adjacent regions within the top channel and is highest for nets which intersect adjacent regions within the bottom channel, and the special region cost is lowest for nets which intersect the region within the first special channel or the region within the second special channel.
Claim 20
Dependent Claim
17 words
A method as in claim 17 wherein substep (c.3) is performed using a single component growth algorithm.
Claim 21
Dependent Claim
51 words
A method as in claim 14 additionally comprising the step of: (e) when performing steps (d) results in a change in size in any of the first special channel, the second special channel, the left channel, the right channel, the top channel and the bottom channel, repeating steps (d) through (e).
Claim 22
Dependent Claim
37 words
A method as in claim 19 additionally comprising the step of: (f) channel routing nets within the first special channel, the second special channel, the left channel, the right channel, the bottom channel and the top channel.
Claim 23
Dependent Claim
32 words
A method as in claim 14 wherein in step (b) and (d) input/output pads are positioned and repositioned so that some input/output pads are bunched at each end of an adjacent channel.