Abstract:
A layout architecture for a programmable logic device comprising one or more adjacent metal lines, a first circuit, and a second circuit. The one or more adjacent metal lines may each comprise a critical path. The first circuit may be configured to present an input signal to each of the one or more adjacent metal lines in response to a configuration signal. The second circuit may be configured to (i) receive a signal from at least one of the one or more adjacent metal lines selected in response to the configuration signal and (ii) generate an output signal in response to the received signal.

Description:
FIELD OF THE INVENTION 
     The present invention relates to a method and/or architecture for programmable logic devices generally and, more particularly, to a method and/or architecture for a programmable number of metal lines and effective metal width along a critical path in a programmable logic device. 
     BACKGROUND OF THE INVENTION 
     Referring to FIG. 1, a chart  10  illustrating a comparison between sources of delay in an integrated circuit (IC) is shown. The chart  10  is shown comprising three traces. A trace  12  illustrates overall device delay. A trace  14  illustrates a portion of the overall device delay from gate delay. A trace  16  illustrates a portion of the overall device delay from interconnect delay. Currently, gate delays are larger than interconnect delays as shown by a portion  18 . For example, at a technology generation of 500 nm, the gate delay contribution is 4 times the interconnect delay as shown by a point  20 . As technology generations decrease the scale of integrated circuits, gate delays and interconnect delays will, at some point, contribute equally to overall delay as shown by a point  22 . However, as the technology generations continue to shrink the distances in ICs, the interconnect delays will become more of a concern than the gate delays as shown by a portion  24 . For example, when the technology generation reaches 180 nm, the delay due to the gates will be only four-tenths the delay due to the interconnects as shown by a point  26 . 
     The delay due to interconnects is of particular concern in a critical path of an integrated circuit. For best performance, the width of the metal lines along a critical path may need to change depending on the characteristics of the critical path. For example, in a microprocessor, a critical path signal is carried by a dedicated metal bus. The critical path of the microprocessor does not change. The metal width and parasitics of the metal bus can be optimized to meet performance requirements. 
     A programmable logic device (PLD) allows programmable logic to be implemented in an integrated circuit. Like most other ICs, a PLD has critical speed paths. However, the critical speed paths change depending upon the particular logic function implemented. In conventional PLDs, a critical path signal is carried by a single metal line. The particular metal line may be chosen from an array of metal lines depending on the logic function being implemented. Conventional PLDs have fixed metal line widths along the paths in the PLD. Area considerations prevent optimizing the widths of the metal lines to improve performance. The metal line width cannot be changed and optimized for a particular critical path. 
     Some characteristics of conventional PLDs have been optimized. For example, some software can choose more than one line (e.g., two lines), usually running in different directions, for load distribution. 
     As technology generations lead to interconnect delays dominating gate delays, a PLD architecture and/or programming software that may actively minimize interconnect delays is needed. 
     SUMMARY OF THE INVENTION 
     The present invention concerns a layout architecture for a programmable logic device comprising one or more adjacent metal lines, a first circuit, and a second circuit. The one or more adjacent metal lines may each comprise a critical path. The first circuit may be configured to present an input signal to each of the one or more adjacent metal lines in response to a configuration signal. The second circuit may be configured to (i) receive a signal from at least one of the-one or more adjacent metal lines selected in response to the configuration signal and (ii) generate an output signal in response to the received signal. 
     The objects, features and advantages of the present invention include providing a method and/or architecture that may (i) minimize parasitics along a critical path, (ii) increase performance of a critical path, (iii) use a number of adjacent metal lines for a critical path, and/or (iv) provide a programmable effective metal width of a critical path. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other objects, features and advantages of the present invention will be apparent from the following detailed description and the appended claims and drawings in which: 
     FIG. 1 is a diagram illustrating changes in performance characteristics with technology generations; 
     FIG. 2 is a block diagram illustrating a preferred embodiment of the present invention; 
     FIG. 3 is a detailed block diagram illustrating an implementation in accordance with the present invention; 
     FIG. 4 is a diagram illustrating capacitive coupling between adjacent metal lines; 
     FIG. 5 is a diagram illustrating an application of the present invention; and 
     FIG. 6 is a diagram illustrating an alternative implementation of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 2, a block diagram of a circuit  100  is shown in accordance with a preferred embodiment of the present invention. The circuit  100  may be implemented, in one example, as a critical path in a programmable logic device. The circuit  100  may illustrate a single critical path. However, other appropriate numbers of critical paths may be implemented in order to meet the criteria of a particular implementation. The circuit  100  may have an input  102  that may receive a signal (e.g., CPS_IN), an input  104  that may receive a configuration signal (e.g., CONFIG), and an output  106  that may present a signal (e.g., CPS_OUT). The signal CPS_OUT will generally be similar to the signal CPS_IN. The signal CONFIG may be N-bits wide, where N is an integer. The circuit  100  may provide a programmable effective metal line width of the critical path in response to the signal CONFIG. The signal CPS_OUT may be, in one example, a cleaner version of the signal CPS_IN than would be transmitted using a single metal line having a fixed width. The signal CPS_OUT may have a shorter propagation delay with respect to the signal CPS_IN than would be possible using a single metal line of fixed width. 
     The circuit  100  may comprise, in one example, a circuit  108 , a circuit  110  and a plurality of metal lines  112   a - 112   n . The signal CPS IN may be presented to the circuit  108 . The signal CONFIG may be presented to an input  114  of the circuit  108  and an input  116  of the circuit  110 . The circuit  108  may select, in one example, a number of adjacent lines from the plurality of lines  112   a - 112   n  in response to one or more bits of the signal CONFIG. The selected adjacent metal lines may be used to transmit the signal CPS_IN to the circuit  110 . In one example, the circuit  108  may select the lines  112   b ,  112   c  and  112   d  to form the critical path along which the signal CPS_IN will be transmitted to the circuit  110 . The remaining lines  112   a  and  112   e - 112   n  may be used to carry other signals in the Programmable Logic Device (PLD). However, other numbers of adjacent lines may be selected to meet the design criteria of a particular application. 
     The circuit  110  may use fewer lines than were selected by the circuit  108 . For example, when an odd number of lines have been programmed to carry the signal CPS_IN, the circuit  110  will generally use the signal carried on a centermost line. When an even number of lines are programmed, the two innermost lines will generally present a similar signal. In the example above, the circuit  110  generally selects the metal line  112   c  from which to receive the signal CPS_IN in response to one or more bits of the signal CONFIG. The circuit  110  will generally present the signal CPS_OUT in response to the signal received from the selected one or more metal lines. The circuit  110  will generally select a metal line which is between the other selected metal lines. For example, if the circuit  108  has selected the metal lines  112   b - 112   d , the circuit  110  will generally select the metal line  112   c  from which to receive the signal CPS IN. 
     Referring to FIG. 3, a more detailed block diagram of the circuit  100  is shown. The circuit  100  may comprise a plurality of programmable gates that may enable more than one metal line to make up the critical path. The circuit  108  may comprise, in one example, a plurality of transistors  118   a - 118   n  and a plurality of drivers  120   a - 120   n . One or more bits of the signal CONFIG may be used to select which of the lines  112   a - 112   n  are presented the signal CPS_IN. The circuit  110  may similarly comprise a plurality of transistors  122   a - 122   n  and a plurality of drivers  124   a - 124   n . One or more bits of the signal CONFIG may be used to select which of the signal pathways  112   a - 112   n  are connected to the drivers  124   a - 124   n  via the transistors  122   a - 122   n . The transistors  118   a - 118   n  and  122   a - 122   n  may be implemented, in one example, as one or more NMOS transistors. However, other types and polarities of transistors may be implemented to meet the design criteria of a particular application. The circuit  110  may not necessarily use all the metal lines. The middle metal line is generally faster (e.g., the shortest propagation delay). In one example, signals carried by metal lines  112   b  and  112   d  may be blocked from the drivers  124   b  and  124   d  by turning off the transistors  122   b  and  122   d . By using a number of adjacent metal lines, parasitics on the critical path may be reduced. The critical path signal carried on the middle line may arrive cleaner. The circuit  100  may be configured to combine an optimal number of metal lines to form the highest performance critical path. 
     Referring to FIG. 4, a cross section of the metal lines  112   b - 112   d  is shown. The metal lines may be capacitively coupled as. illustrated by a capacitor  126  having a capacitance (e.g., C). By placing similar signals on adjacent metal lines, the circuit  100  may reduce the capacitance Cc between the adjacent lines thereby increasing the speed at which the signal can be transferred across the chip. The circuit  100  may also decrease the amount of noise added to a signal carried by the inner most metal lines (e.g., metal line  112   c ) of the adjacent metal lines  112   b - 112   d . In addition, by having adjacent metal lines carry signals moving in the same direction as the critical path signal, the coupling capacitance (e.g., C c ) may be zeroed or minimized. 
     Referring to FIG. 5, a block diagram of an application of the circuit  100  is shown. The circuit  100  is shown implemented in the context of a PLD  128 . The circuit  100  may be implemented, in one example, in a programmable interconnect matrix (PIM)  130  of the PLD  128 . The PLD  128  may comprise eight logic blocks  132   a - 132   h . In one example, a critical path may run from the logic block  132   a  to the logic block  132   h . The signal CPS_IN may be presented by the logic block  132   a  to the circuit  100 . The circuit  100  may present the signal CPS_OUT to the logic block  132   h  in response to the signals CPS_IN and CONFIG. 
     Referring to FIG. 6, a block diagram of an alternative implementation of the circuit  100  is shown. The circuit  100  may be implemented, in one example, using a programmable logic device architecture that may be found in a co-pending application, U.S. Ser. No. 09/475,879, filed Dec. 30, 1999, which is hereby incorporated by reference in its entirety. A PLD  134  may comprise a PIM  136 , a PIM  138 , and routing channels  140   a - 140   b  and  142   a - 142   c . The circuit  108  may be implemented using the PIM  136 . The circuit  110  may be implemented using the PIM  138 . The metal lines  112   a - 112   n  may be implemented using the routing channels  140   a - 140   b  and  142   a - 142   c.    
     The present invention provides a PLD architecture and programming software solution that may choose multiple adjacent metal lines to make up the critical path. The programming software may comprise an appropriate type computer readable medium in order to meet the criteria of a particular implementation. The use of multiple adjacent metal lines may provide optimal performance for a given logic function implemented in the PLD. By using multiple adjacent metal lines for a critical path, a PLD may be designed for optimal performance by using programmable elements to reduce parasitics along the critical path. A PLD implemented in accordance with the present invention provides not only programmable logic but also a programmable effective metal width of a critical path. 
     By using the programmable gates present in a PLD, the programming software may choose how many metal lines are along the critical path so that the effective width of the critical path may be changed and optimized. Changing and optimizing the critical path may improve the performance of the PLD. 
     While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention.