Abstract:
An array of parallel FET load circuits on an IC (integrated circuit) chip can have their respective signal delays equalized where their nodal capacitances are different or alternately can have their signal delays set for different durations to meet the needs of a subsequent circuit, by adjusting the current driving capacity of a driver driving each circuit to meet the desired delay requirements thereof.

Description:
FIELD OF THE INVENTION 
     The invention disclosed broadly relates to FET circuits and more particularly relates to such circuits used in programmed logic arrays. 
     BACKGROUND OF THE INVENTION 
     The design alternatives available to MOSFET LSI designers are PLA master slices and PLA macro which offer non-optimized designs (performance, power and density) for minimal physical design effort or custom LSI designs, offering an optimized approach at the expense of physical design effort. Computer assisted design systems which have addressed custom LSI design have offered power/performance optimization but require significant physical design effort. PLA computer assisted design systems eliminate the physical design effort but do not offer any performance or power optimization capability. 
     OBJECTS OF THE INVENTION 
     It is therefore an object of the invention to provide an array of parallel FET load circuits on an IC chip which have their respective signal delays equalized where their nodal capacitances are different. 
     It is another object of the invention to provide an array of parallel FET load circuits having signal delays of predetermined different durations. 
     SUMMARY OF THE INVENTION 
     These and other objects, features and advantages are provided by the power and performance optimized PLA circuit disclosed herein. 
     In an array of parallel FET load circuits on an IC chip, for which equal delays for different capacitive loads are desired, each circuit has an input node, characterized by a capacitance, and an output node; and each circuit input node is connected to an FET driver with a gate width/length ratio, for propagating a signal to the respective driver output node. A first driver has a first gate width/length ratio, and is connected to a first FET load having the largest capacitance and therefore a maximum initial path delay, for propagating the corresponding signal between the input and output nodes of the FET circuit at the maximum delay. A second driver has a second gate width/length ratio less than the first gate width/length ratio and is connected to a second FET load having a capacitance less than that of the first FET load, for propagating the corresponding signal between the input and output node at said maximum delay. A third driver  pg,3 has a third width/length ratio, connected to a third FET load having a capacitance less than the first FET load, for propagating the corresponding signal between the input and output node at said maximum delay. The resultant current capacity of the second and third drivers thus is optimized to minimize power dissipation on the IC chip. 
     Alternately, the circuit may be constructed to achieve programmed unequal delays. An input register is connected to a plurality of input data lines, for receiving asynchronous data input signals and outputting the data signals synchronously on output lines at a first time. A multiple path programmable delay stage has a plurality of inputs, each respectively connected to one of the output lines of the input register, and a plurality of output lines. A utilization circuit has a plurality of input lines each respectively connected to one of the output lines of the multiple path programmable delay stage, the utilization circuit requiring the receipt of certain ones of the data signals over certain ones of its input lines at different times subsequent to the first time. The multiple path programmable delay stage includes a plurality of parallel path circuits, each circuit having a driver with a programmable current driving capacity and a characteristic output node capacitance, each output driver node being connected to one of the output lines of the multiple path programmable delay stage and each current driver driving capacity being adjusted to delay the data signal propagated therethrough to conform with the required signal delay of the input line to which it is connected, of the utilization circuit. 
    
    
     DESCRIPTION OF THE FIGURES 
     These and other objects, features and advantages of the invention will be more fully understood with reference to the accompanying drawings. 
     FIG. 1 shows a PLA chip data path with significant loads. 
     FIG. 2 shows some of the key devices which are optimized. 
     FIG. 3 shows an FET device in a PLA array. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The PLA design can be broken into main functional blocks with the most significant capacitive load variables defined as C B1 , C B2 , the bus structure capacitance. C 1 , C 2 , C 3 , C 4  represent the AND/OR array capacitive loading due to array device capacitance, and C L  which represents the output capacitance of the PLA (see FIG. 1). It is proposed that the key performance determining devices be sized to meet performance objectives that a designer specifies. 
     Some of the key devices which are optimized are shown in FIG. 2 (devices 1 through 4). In addition to the true/complement driver devices 1 and 2, the AND and OR device sizes 3 and 4 would be changed to reduce the loading in the critical path. Once the critical path delay has been met, all other paths would have devices sized to meet the same performance. Since all other paths have less loading than the critical path, a significant power dissipation saving would result. Steps 1 - 7 of the optimization technique are shown below: 
     Step 1. User inputs the bit patterns to be personalized for the search and the read arrays. 
     Step 2. The device sizes are computed as follows: 
     
         T.sub.d = Q/I.sub.d = CV/I.sub.d                           (1) 
    
     
         I.sub.d = WLR ε.sub.O ε.sub.OX /T.sub.OX (V.sub.G - V.sub.T).sup.2 μ.sub.O                                 (2) 
    
     
         t.sub.d = CV/{ (WLR) μ.sub.O ε.sub.O (ε.sub.OX /T.sub.OX) (V.sub.G - V.sub.T).sup.2 }|WLR|(3) 
    
     
         t.sub.d = C.sub.TOT K.sub.d /|WLR|       (4) 
    
     where 
     
         WLR = W/L 
    
     is the ratio of the value of the gate width to gate length ratio for the FET load device to the value of the gate width to gate length ratio for the FET active device 2, for example, in the FET inverter or driver circuit of FIG. 2 
     and 
     
         K.sub.d = V/{(WLR) μ.sub.O ε.sub.O ε.sub.OX /T.sub.OX (V.sub.G - V.sub.T).sup.2 }                               (5) 
    
     
         μ.sub.o = electronic mobility cm.sup.2 /Sec-V           (6) 
    
     where 
     K d  = ns/pf normalized for WLR = 1. 
     If one can compute the total capacitance in each line, the device sizes could be computed using equation (7) to give equal delay. 
     
         C.sub.TOT = C.sub.L + (A + WLR) f.sub.i                    (7) 
    
     which includes overlap terms, etc., at used input. 
     Taking the OR array line as an example, C TOT  = C LIN  + diffusion line capacitance + Miller capacitance due to the devices connected to the same line. 
     Step 3. Assume one of the device sizes = Max of (user inputted device size or the device size due to technology limitations). 
     Step 4. Set T d  = C TOT  · K d  /WLR 
     Step 5. Then for all stages solve for WLR such that T d  will be the same. 
     Step 6. Optimization--The device sizes are optimized as follows: 
     
         f = T.sub.d + λP                                    (8) 
    
     where 
     T d  = delay time 
     P = power 
     λ = the weight factor. 
     (A) compute f using the device sizes computed in Step 5. 
     (B) compute WLR new  using Newton method as follows. Function f is a quadratic in WLR which can be written as follows: 
     
         f(WLR) = Q (WLR).sup.2 + d (WLR) + c                       (9) 
    
     To find minimum, solve gradient f(WLR) = 0, 
     
         grad f (WLR.sub.old) = Q (WLR.sub.old) + d,                (10) 
    
     
         grad f (WLR.sub.new) = Q (WLR.sub.new) + d,                (11) 
    
     grad at f (WLR new ) = 0 if the function is at a minimum point. 
     
         WLR.sub.new = Q.sup.-1 grad f (WLR.sub.old) + WLR.sub.old  (12) 
    
     where 
     Q -1  grad f (WLR old ) is the Newton step ΔA. 
     The vector ΔA is then used to calculate a new direction vector (normalized) with the following components: ##EQU1## 
     A one dimensional search is then conducted in the Z direction using the relationship. 
     
         WLR.sub.new = WLR.sub.old + (ΔWLR) Z                 (14) 
    
     where 
     ΔWLR is the distance move in the Z direction. 
     The one dimensional minimum of the function f is found using Fibonacci techniques. The procedure is an interval elimination search method. The location of points for function evaluation is based on the use of positive integers known as Fibonacci numbers. 
     When the one dimensional minimum has been found an overall convergence test is performed. If satisfied the procedure stops. If not the new direction vector is computed and the above procedure is repeated. 
     Step 7. The device sizes computed in Step 6 is passed on to a set of equations to build the PLA building block. Graphic language cards are outputted which can be used for artwork generation. 
     Note: The value of λ is chosen depending on the power/performance requirement of the designer. 
     In summary, a design approach is proposed that would allow the user to have an optimum designed PLA which does not exist in the present PLA capability. The performance optimization would allow a designer to specify performance for a PLA and save significant amounts of power dissipation. The reduction in power dissipation would result in lower junction temperatures and improved component reliability. Card level thermal problems would also be alleviated. 
     The flexibility of specifying performance would eliminate many of the system design compromises which result from fixed performance components. 
     This approach is applicable for PLA master slice as well as PLA macros. The device sizes will be changed in a master slice approach. In a master slice approach, the device sizes are bounded by the maximum block size allowed in the initial design. 
     While the invention has been particularly shown and described with reference to the preferred embodiment thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.