The present invention relates generally to multilayer signal routing devices and, more particularly, to a technique for mapping contacts of a programmable logic device to another electronic component.
Increasing capability and functionality, as well as falling prices, have driven electronic designers to use programmable logic devices (PLDs) in a wide variety of designs. Examples of PLDs commonly used include field programmable gate array (FPGA) devices, complex programmable logic devices (CPLDs), application specific integrated circuits (ASICs), and the like.
In many circuit designs, PLDs are implemented to communicate signals to and/or receive signals from other electronic components. Accordingly, the logic of the PLDs may be programmed so that certain contacts of the PLD are “assigned” to corresponding contacts of an electronic component such that the assigned contact receives signals from and/or provides signals to the corresponding contact of the electronic component via a conductive trace routed between the contact of the PLD and the contact of the electronic component.
Conventionally, the contact assignments (i.e., “pin assignments”) of electronic components differ by vendor. As a result, electronic systems implementing common electronic components typically are designed to maximize the footprint density of the electronic component as opposed to providing for the optimum breakout of the contacts of the electronic components. This emphasis on footprint density to the detriment of optimum breakout efficiency may not be perceived as a serious concern in low-contact-count component designs as the contact mapping between components typically is relatively simple. However, with the advent of high-density, multiple layer designs, inefficient mapping of contacts of PLDs to other electronic components, such as application specific integrated circuits (ASICs), has serious ramifications for the effective design and operation of such complex designs.
In view of the foregoing, it would be desirable to provide a technique that provides improved contact mapping of the contacts of a PLD to one or more other electronic components.
According to the present invention, a technique for improved contact mapping of the contacts of a PLD to one or more other electronic components. In one embodiment, the technique may be realized as a method for mapping contacts of a programmable logic device (PLD) to an electronic component in a signal routing device having one or more layers. The method comprises assigning a set of one or more contacts of the PLD to one or more respective contacts of the electronic component based at least in part on a pattern of electrically conductive traces routed from respective contacts of the electronic component via one or more channels formed at one or more layers of the signal routing device.
In another embodiment, the technique may be realized as a method for optimizing a mapping of contacts of a programmable logic device (PLD) to contacts of an electronic component in a signal routing device having one or more layers. The method comprises determining a first pattern of electrically conductive traces routed from respective contacts of the electronic component via one or more channels formed at one or more layers of the signal routing device, determining a first contact assignment pattern for one or more contacts of the PLD based at least in part on the first pattern of electrically conductive traces, refining the first pattern of electrically conductive traces based at least in part on the first contact assignment pattern to generate a second pattern of electrically conductive traces routed from the respective contacts of the electronic component via one or more channels formed at one or more layers of the signal routing device, and determining a second contact assignment pattern for one or more contacts of the PLD based at least in part on the second pattern of electrically conductive traces.
In yet another embodiment, the technique may be realized as a signal routing device having one or more layers. The signal routing device comprises an electronic component having a plurality of contacts, a programmable logic device (PLD) having a plurality of contacts, and a plurality of electrically conductive traces connecting contacts of the PLD to respective contacts of the electronic component, the plurality of electrically conductive traces routed from the respective contacts of the electronic component via one or more channels formed at one or more layers of the signal routing device, wherein the one or more contacts of the PLD are assigned based at least in part on a pattern formed by the electrically conductive traces routed from the respective contacts of the electronic component via the one or more channels.
The present invention will now be described in more detail with reference to exemplary embodiments thereof as shown in the appended drawings. While the present invention is described below with reference to preferred embodiments, it should be understood that the present invention is not limited thereto. Those of ordinary skill in the art having access to the teachings herein will recognize additional implementations, modifications, and embodiments, as well as other fields of use, which are within the scope of the present invention as disclosed and claimed herein, and with respect to which the present invention could be of significant utility.
In order to facilitate a fuller understanding of the present invention, reference is now made to the appended drawings. These drawings should not be construed as limiting the present invention, but are intended to be exemplary only.
At the outset, it is helpful to refer to the microvia-based techniques for reducing the number of layers in a multilayer signal routing device and the power/ground-based techniques for reducing the number of layers in a multilayer signal routing device as have been substantially described in the above-referenced U.S. Provisional Patent Application No. 60/212,387, the above-referenced U.S. patent application Ser. No. 09/651,188, now U.S. Pat. No. 6,388,890, the above-referenced U.S. patent application Ser. No. 10/101,211, the above-referenced U.S. patent application Ser. No. 10/126,700, now U.S. Pat. No. 6,545,876, the above-referenced U.S. patent application Ser. No. 10/326,123, the above-referenced U.S. patent application Ser. No. 10/326,079, and the above-referenced U.S. patent application Ser. No. 10/407,460, all of which have been incorporated by reference herein in their entirety. The above-referenced techniques may be used beneficially in conjunction with one or more of the techniques described herein. It should be noted, however, that the techniques described herein may also be used separately to effectively map the contacts of a PLD to another electronic component.
The term contact may refer to any of a variety of conductive structures (e.g., “leads”) used to provide an electrical connection to an input/output of an electronic component. Examples of contacts may include, but are not limited to, pins, balls, columns, etc.
Referring now to
The electronic component 104 may include any of a variety of electronic components having a fixed, or predetermined, contact assignments, including, for example, an application specific integrated circuit (ASIC), a microprocessor, and other complex logical devices. The PLD 106 may include any of a variety of electronic components programmable to achieve a desired contact assignment including, for example, a FPGA device, a CPLD, and the like.
In at least one embodiment, the multilayer signal routing device 102 is designed so that one or more signals are communicated between one or more contacts of the electronic component 104 and one or more contacts of the PLD 106 using electrically conductive traces formed to connect the respective contacts.
For at least the purpose of reducing the number of layers of the substrate 108 needed to route signals in the signal routing device 102, in at least one embodiment, various channel routing techniques may be employed to form one or more channels in one or more layers of the substrate 108 beneath the relevant contacts of the electronic component 104.
An exemplary channel routing technique that may be utilized is described in the above-referenced U.S. Pat. No. 6,388,890 issued on May 14, 2002 to Kwong et al. Kwong et al. disclose a technique for manufacturing and using a printed circuit board (PCB) wherein certain vias extend only through a subset of the layers of the PCB to create channels in the portions of the PCB where vias are absent. These channels then may be used to route a larger number of signal, power, ground and/or test traces between vias thereby reducing the number of layers necessary to provide a certain number of electrical connections.
After forming the appropriate channels in the substrate 108, the relevant contacts of the electronic component 104 may be “broken out” to the side of the electronic component 104 by determining a pattern of electrically conductive traces routed from the contacts to the side of the electronic component 104 via the channels formed in the substrate 108. This pattern of conductive traces formed to breakout a set of contacts is referred to herein as a “breakout pattern.”
To illustrate, assume, for example, that the multilayer signal routing device 102 is designed such that contacts 120-154 of the electronic component 104 communicate signals to and/or receive signals from corresponding contacts of the PLD 106. Accordingly, a channel formed at region 110 (herein referred to as “channel 110”) may be used to route conductive traces 160-168 from contacts 122-128, respectively, to the side of the electronic component 104. Similarly, a channel formed at region 112 (herein referred to as “channel 112”) may be used to route conductive traces 170-182 from contacts 130-142, respectively, to the side of the electronic component 104. A channel formed at region 114 (herein referred to as “channel 114”) may be used to route conductive traces 184-194 from contacts 144-154, respectively, to the side of the electronic component 104. The routing of the conductive traces 160-194 therefore forms a particular breakout pattern in relation to the electronic component 104.
Referring to
In the illustrated embodiment, channel 110 is used to route conductive traces 160-168, which are used to breakout contacts 120-128. Channel 112 is used to route conductive traces 170-182, which are used to breakout contacts 130-142, respectively. Channel 114 is used to route conductive traces 184-194, which are used to breakout contacts 144-154, respectively.
Assigned contacts of the electronic component 104 may be electrically connected to the corresponding conductive trace by, for example, forming a microvia between the contact and the breakout trace in the channel to provide a conductive path between the contact and the conductive trace. To illustrate, contacts 120, 122, 128, 136, 142, 146, 150 and 154 may be electrically connected to the corresponding conductive trace 160, 162, 168, 176, 182, 186, 190 and 194 by forming microvias 202-216, respectively, between the contact and the corresponding channel.
Referring again to
In at least one embodiment, optimal contact mapping may be achieved at least in part by programming the PLD 106 such that for a given conductive trace breaking out a contact of the electronic component 104, a contact of the PLD 106 across from or along a direct path from the conductive trace is assigned to the conductive trace. To illustrate, assuming that the electronic component 104 and the PLD 106 are located side-by-side as depicted in
In certain implementations, however, the number of connections between contacts of the electronic component 104 and the PLD 106, in combination with the layout of the contacts of the PLD 106, may have the result that there are more conductive traces leading from the contacts of the electronic component 104 than there are contacts on the nearest edge of the PLD 106. Accordingly, in at least one embodiment, interior contacts of the PLD 106 (i.e., those contacts not immediately adjacent to the edge of the PLD 106, may be assigned to connect with a contact of the electronic component 104. For example, contacts 224, 228, 236-240, 244 and 248 of the PLD 106 may be assigned to connect to contacts 124, 128, 136-140, 144 and 148, respectively, of the electronic component 104 via conductive traces 164, 168, 176-180 and 184, respectively. In the illustrated embodiment of
As demonstrated in
Referring now to
One or more channels (e.g., channels 110-114) are formed in the substrate 308 to facilitate the breakout of the contacts 120-154 by routing conductive traces 160-194 from the contacts 120-154, respectively, to the edge of the electronic component 104 via the channels 110-114.
As discussed above, in one embodiment, the conductive traces 160-154 connecting the contacts of the electronic component 104 to the corresponding contacts of the PLD 306 may be routed from the edge of the PLD to the contacts of the PLD 306 using non-channel routing techniques. In other embodiments, however, one or more channels may be formed beneath the PLD 306 at one or more layers of the substrate 308. Like the channels 110-114 formed for the electronic component 104, channels may be formed at regions 310-314 (these channels are herein referred to as channels 310-314, respectively) and may be used to facilitate the routing of conductive traces to the contacts of the PLD 306.
To illustrate, channel 310 may be formed and used to route conductive channels 360-368 between contacts 120-128 of electronic component 104 and contacts 320-328 of the PLD 306. Channel 312 may be formed and used to route conductive channels 370-382 between contacts 130-142 of electronic component 104 and contacts 330-342 of the PLD 306. Channel 314 may be formed and used to route conductive channels 384-394 between contacts 144-154 of electronic component 104 and contacts 344-354 of the PLD 306.
In many instances, the contact layout of the electronic component 104 is substantially similar to the contact layout of the PLD 306. In such instances, the contact assignment pattern for the PLD 306, the channels formed for the PLD 306 and the routing of the conductive traces to the contacts of the PLD 306 may be arranged in a substantially mirror image of the channel/breakout trace arrangement of the electronic component 104. In other words, the breakout pattern for the electronic component 104 with respect to edge 316 of the electronic component 104 may be substantially symmetric to the breakout pattern for the PLD 306 with respect to edge 318 of the PLD 306.
Using a breakout pattern at the PLD 306 that is substantially similar to the breakout pattern for the electronic component 104 has a number of advantages. For one, the channels formed under the electronic component 104 may be extended under the PLD 306 so that conductive traces connecting contacts of the electronic component 104 to contacts of the PLD 306 may be routed between the electronic component 104 and the PLD 306 via a single continuous channel. Further, a mirror image breakout pattern typically simplifies the design of the multilayer signal routing device 302 as the breakout pattern used for the electronic component 104 may be repeated, in mirror image form, for the PLD 306. Moreover, by using the mirror image breakout patterns at the electronic component 104 and the PLD 306, cross-over of conductive traces connecting the contacts of the electronic component 104 and the PLD 306 typically is avoided.
Referring now to
As discussed above, in at least one embodiment, a PLD may be programmed so that its contact assignments correspond to the breakout pattern of an electronic component having fixed contact assignments (e.g., an ASIC). However, in other embodiments, the present invention provides a technique for mapping conductive traces between two or more PLDs.
In the illustrated embodiment, the PLDs 306 and 404 (analogous to PLD 106,
To facilitate the mapping of contacts between the PLDs 306 and 404, the PLDs 306 and 404 may be programmed to assign contacts based on each other's breakout pattern. In at least one embodiment, this mapping may be achieved by programming the PLDs 306 and 404 to have breakout patterns and contact assignments that are mirror images of each other, as discussed above with reference to
For ease of discussion, the exemplary implementations of
Moreover, although
As illustrated, the electronic component 510 may utilize one or more channels to facilitate the breakout of the contacts of the electronic component 510. One or more of the PLDs 502-508 similarly may employ channel routing to route conductive traces to the assigned contacts.
In other embodiments, the PLD may be programmed such that its contact assignments correspond to the breakout patterns of multiple electronic components. For example,
Although
Referring now to
In certain instances, it may be appropriate to design a breakout pattern of conductive traces for certain contacts of an electronic component and implement the designed breakout pattern in a signal routing device before considering the assignment of contacts in the PLD. In such instances, the programming of the PLD to achieve a contact assignment suitable to the already-implemented breakout pattern of the electronic component may result in an adequate, but not optimal, contact assignment mapping that cannot be further optimized because the breakout pattern for the electronic component has already been set. In other instances, however, it may be advantageous to implement a reiterative design process 700 whereby the breakout pattern of the electronic component and/or the contact assignment pattern of the PLD are refined to achieve a more optimal contact mapping (e.g., fewer conductive trace cross-overs and/or fewer substrate layers implemented).
The exemplary design process 700 initiates at step 702 whereby an initial breakout pattern of conductive traces for the relevant contacts of an electronic component (e.g., electronic component 104,
At step 704, an initial contact assignment pattern for the contacts of the PLD (e.g., PLD 106,
If the contact mapping is determined to be inadequate in view of the measurement criteria at step 706, the breakout pattern may be refined at step 708. Refinement of the breakout pattern may include the use of additional or different channels to route the conductive traces of the breakout pattern, altering the routing of the conductive traces within the channels, minimizing the length of the conductive traces for handling high speed signals, adjusting the routing of traces within or outside of the channels to accommodate for though traffic routing from one side of the routing device to the other, and the like.
At step 704, a new or refined contact assignment pattern may be determined for the PLD based at least in part on the refined breakout pattern. At step 706, the refined contact mapping resulting from the refined contact assignment pattern and the refined breakout pattern is compared to the one or more measurement criteria at step 706. If the refined contact mapping is again found to be inadequate, steps 704-708 may be repeated until an adequate contact mapping is designed.
After determining an adequate contact mapping, the PLD may be programmed based on the resulting contact mapping pattern and implemented in the signal routing device at step 710.
The present invention is not to be limited in scope by the specific embodiments described herein. Indeed, various modifications of the present invention, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such modifications are intended to fall within the scope of the following appended claims. Further, although the present invention has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present invention can be beneficially implemented in any number of environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breath and spirit of the present invention as disclosed herein.
This patent application claims priority to U.S. Provisional Patent Application No. 60/475,880, filed Jun. 5, 2003, which is hereby incorporated by reference herein in its entirety. This patent application is a continuation-in-part patent application of U.S. patent application Ser. No. 10/101,211, filed Mar. 20, 2002, which is a continuation-in-part patent application of U.S. patent application Ser. No. 09/651,188, filed Aug. 30, 2000, now U.S. Pat. No. 6,388,890, which claims priority to U.S. Provisional Patent Application No. 60/212,387, filed Jun. 19, 2000, all of which are hereby incorporated by reference herein in their entirety. This patent application is also a continuation-in-part patent application of U.S. patent application Ser. No. 10/326,123, filed Dec. 23, 2002, which is a continuation-in-part patent application of the above-referenced U.S. patent application Ser. No. 10/101,211, and a continuation-in-part patent application of U.S. patent application Ser. No. 10/126,700, filed Apr. 22, 2002, now U.S. Pat. No. 6,545,876, which is a continuation of the above-referenced U.S. patent application Ser. No. 09/651,188, all of which are hereby incorporated by reference herein in their entirety. This patent application is also a continuation-in-part patent application of U.S. patent application Ser. No. 10/326,079, filed Dec. 23, 2002, which is a continuation-in-part patent application of the above-referenced U.S. patent application Ser. No. 10/126,700, and a continuation-in-part patent application of the above-referenced U.S. patent application Ser. No. 10/101,211, all of which are hereby incorporated by reference herein in their entirety. This patent application is also a continuation-in-part patent application of U.S. patent application Ser. No. 10/407,460, filed Apr. 7, 2003, which is a continuation-in-part patent application of the above-referenced U.S. patent application Ser. No. 10/126,700, a continuation-in-part application of the above-referenced U.S. patent application Ser. No. 10/101,211, a continuation-in-part patent application of the above-referenced U.S. patent application Ser. No. 10/326,123, and a continuation-in-part patent application of U.S. patent application Ser. No. 10/326,079, all of which are hereby incorporated by reference herein in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5006820 | Prioste et al. | Apr 1991 | A |
5281151 | Arima et al. | Jan 1994 | A |
5436480 | Yu | Jul 1995 | A |
5451721 | Tsukada et al. | Sep 1995 | A |
5511306 | Denton et al. | Apr 1996 | A |
5544018 | Sommerfeldt et al. | Aug 1996 | A |
5596587 | Douglas et al. | Jan 1997 | A |
5598343 | Roy et al. | Jan 1997 | A |
5603043 | Taylor et al. | Feb 1997 | A |
5622770 | Dowdy et al. | Apr 1997 | A |
5640327 | Ting | Jun 1997 | A |
5686764 | Fulcher | Nov 1997 | A |
5761484 | Agarwal et al. | Jun 1998 | A |
5777887 | Marple et al. | Jul 1998 | A |
5822214 | Rostoker et al. | Oct 1998 | A |
5850537 | Selvidge et al. | Dec 1998 | A |
5857109 | Taylor | Jan 1999 | A |
5877942 | Kida et al. | Mar 1999 | A |
6184713 | Agrawal et al. | Feb 2001 | B1 |
6194668 | Horiuchi et al. | Feb 2001 | B1 |
6198635 | Shenoy et al. | Mar 2001 | B1 |
6216257 | Agrawal et al. | Apr 2001 | B1 |
6266342 | Stacey et al. | Jul 2001 | B1 |
6271478 | Horiuchi et al. | Aug 2001 | B1 |
6292930 | Agrawal et al. | Sep 2001 | B1 |
6310398 | Katz | Oct 2001 | B1 |
6335493 | Horiuchi et al. | Jan 2002 | B1 |
6336209 | Nishihara et al. | Jan 2002 | B1 |
6351814 | Batinic et al. | Feb 2002 | B1 |
6388890 | Kwong et al. | May 2002 | B1 |
6407343 | Tanaka | Jun 2002 | B1 |
6452262 | Juneja | Sep 2002 | B1 |
6481001 | Moore | Nov 2002 | B1 |
6521846 | Freda et al. | Feb 2003 | B1 |
6526558 | Agrawal et al. | Feb 2003 | B2 |
6541147 | McLean et al. | Apr 2003 | B1 |
6545876 | Kwong et al. | Apr 2003 | B1 |
6604230 | Khalid et al. | Aug 2003 | B1 |
6629308 | Baxter | Sep 2003 | B1 |
6631510 | Betz et al. | Oct 2003 | B1 |
6654941 | Baumbach | Nov 2003 | B1 |
6681353 | Barrow | Jan 2004 | B1 |
6700404 | Feng et al. | Mar 2004 | B1 |
6785873 | Tseng | Aug 2004 | B1 |
6810513 | Vest | Oct 2004 | B1 |
6888371 | Wong | May 2005 | B2 |
6911835 | Chraft et al. | Jun 2005 | B2 |
6915466 | Mastro et al. | Jul 2005 | B2 |
6968487 | Bryant et al. | Nov 2005 | B1 |
7024660 | Andrade et al. | Apr 2006 | B2 |
7051309 | Crosetto | May 2006 | B1 |
7107673 | Kwong et al. | Sep 2006 | B2 |
7281326 | Kwong et al. | Oct 2007 | B1 |
7398437 | Mastro et al. | Jul 2008 | B2 |
20010009032 | Mohsen | Jul 2001 | A1 |
20020060372 | Muff et al. | May 2002 | A1 |
20020069396 | Bhattacharya et al. | Jun 2002 | A1 |
20030078752 | Allamsett | Apr 2003 | A1 |
20040099440 | Kwong et al. | May 2004 | A1 |
20040158804 | Hayles | Aug 2004 | A1 |
20040212103 | Kwong et al. | Oct 2004 | A1 |
20050102125 | Tseng | May 2005 | A1 |
20060015862 | Odom et al. | Jan 2006 | A1 |
20060259889 | Crosetto | Nov 2006 | A1 |
Number | Date | Country |
---|---|---|
19922186 | Oct 2000 | DE |
Number | Date | Country | |
---|---|---|---|
60475880 | Jun 2003 | US | |
60212387 | Jun 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10101211 | Mar 2002 | US |
Child | 10728894 | US | |
Parent | 09651188 | Aug 2000 | US |
Child | 10101211 | US | |
Parent | 10728894 | US | |
Child | 10101211 | US | |
Parent | 10326123 | Dec 2002 | US |
Child | 10728894 | US | |
Parent | 10101211 | US | |
Child | 10326123 | US | |
Parent | 10126700 | Apr 2002 | US |
Child | 10101211 | US | |
Parent | 09651188 | US | |
Child | 10126700 | US | |
Parent | 10728894 | US | |
Child | 10126700 | US | |
Parent | 10326079 | Dec 2002 | US |
Child | 10728894 | US | |
Parent | 10126700 | US | |
Child | 10326079 | US | |
Parent | 10101211 | US | |
Child | 10126700 | US | |
Parent | 10728894 | US | |
Child | 10126700 | US | |
Parent | 10407460 | Apr 2003 | US |
Child | 10728894 | US | |
Parent | 10126700 | US | |
Child | 10407460 | US | |
Parent | 10101211 | US | |
Child | 10126700 | US | |
Parent | 10326123 | US | |
Child | 10101211 | US | |
Parent | 10326079 | US | |
Child | 10326123 | US |