Abstract:
The present invention relates to a logic circuit design for shortening theime required to perform a rate multiplier function. The invention is readily adaptable to multi-channel applications.

Description:
BACKGROUND OF THE INVENTION 
     Rate multipliers are well-known to the art, being used in digital adder, subtracter, multiplier, square rooter and e x  function circuits among others. The purpose of the rate multiplier is to produce an output frequency f out  in response to an input frequency f in , where the ratio between the two is shown in the following equation: 
     
         f.sub.out = (M/N) f.sub.in 
    
     In the prior art N had a constant value for a given rate multiplier, dependent on the number, n, of stages found in the rate multiplier, according to the equation: 
     
         N = 2.sup.n. 
    
     If a rate multiplier had six-stages, for example, N would be 2 6  or 64. Any frequency ratio from 1/64 through 63/64 could be implemented by the rate multiplier by properly selecting M to be 1,2, . . . 62,63 as required. In the prior art M was defined as: 
     
         M=F.2.sup.5 +E.2.sup.4 +D.2.sup.3 +C.2.sup.2 +B.2.sup.1 +A.2.sup.0 
    
     setting rate inputs A through F to 1 or 0 as desired would produce the required M. In any instance, however, the prior art rate multiplier would require N = 2 n  inputs at f in  to generate the appropriate f out . Thus, if f out  was to be half of f in , M would be set with F = i with A, B, C, D, E equal to φ, thereby providing 32 outut pulses for each 64 input pulses. 
     No matter what frequency ratio was sought, 64 input pulses were required by the prior art to produce the proper output frequency. 
     SUMMARY OF THE INVENTION 
     The presettable rate multiplier of the present invention provides two modes of operation. In one mode in which the presetting function is inhibited by use of the PRESET DISABLE input, the invention functions in manner identical to current rate multipliers. However, in the second mode, the invention performs rate multiplier functions in a time saving way. This time-saving is implemented in the invention by examining the digital inputs and presetting, or shutting off, unneeded counter stages in accordance with the digital inputs. By presetting the unneeded counter stages, the invention can produce predetermined frequency ratios with less than N (or 64 in the previous example) input pulses. 
     In effect, the present invention changes the value of N to N&#39; which is calculated from the number of stages, n&#39;, actually required to generate the frequency ratio in reduced form. The relationship between N&#39; and n&#39; is N&#39;= 2 n&#39; . 
     For any reducible frequency ratio having a value greater than or equal to one-half, an f out  can be generated faster by the present invention than by prior art rate multipliers. Using the six bit rate multiplier example, f out  can be generated two to 32 times faster by the present invention. 
     Table 1 below illustrates the six bit invention example. The first line of the table shows that the present invention produces a frequency division of one half in two rather than 64 pulse periods. The second line indicates that with the present invention, an f out  = 9/16 f in  condition takes only a quarter of the pulse periods required by previous rate multipliers. Line three shows that the invention operates identical to prior art rate multipliers without the preset feature for irreducible frequency ratios. Lines four and five show that reducible ratios less than a half are not subject to the abbreviation technique of the present invention and the preset disable feature of the invention must be employed. An &#34;X&#34; indicates that the counter stage corresponding to the appropriate rate input is preset. 
     The presetting of the stages is described below in the Description of the Preferred Embodiments. 
     
                                           Table 1__________________________________________________________________________   INPUT               INPUT   PULSES              PULSES   REQ&#39;D        PRIOR ART      REQ&#39;D                           INVENTIONCONDITION   N    M F E D C B A N&#39;   M&#39; F&#39;                                E&#39;                                  D&#39;                                    C&#39;                                      B&#39;                                        A&#39;__________________________________________________________________________f.sub.out is 1/2   64   32          1 0 0 0 0 0  2   1  X X X X X 1of f.sub.inf.sub.out is 9/16   64   36          1 0 0 1 0 0 16   9  X X 1 0 0 1of f.sub.inf.sub.out is 33/64   64   33          1 0 0 0 0 1 64   33 1 0 0 0 0 1of f.sub.inf.sub.out is 1/8   64    8          0 0 1 0 0 0  64* 8  0 0 1 0 0 0of f.sub.inf.sub.out is 5/64   64    5          0 0 0 1 0 1  64* 5  0 0 0 1 0 1of f.sub.in__________________________________________________________________________ *Preset Disable Function Employed 
    
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a six bit example of the single channel embodiment of the present invention; 
     FIG. 2 illustrates a six bit example of the two channel embodiment of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     1. Single Channel Embodiment 
     A plurality of counting stages I through VI are shown in FIG. 1, each provided with the preset input P. By way of example, J-K flip-flops are used for the counting stages I through VI operating in accordance with the standard truth table given below: 
     
                       Table 2______________________________________TRUTH TABLE     t.sub.n     t.sub.n+1______________________________________J           K             Q0           0             Q.sub.n0           1             01           0             11           1             Q.sub.n--n______________________________________ Notes:- 1. t.sub.n = Bit time before clock 2. t.sub.n+1 = Bit time after clock pulse 
    
     The J-K flip flop has two data inputs, J and K, and only a single clock input. FIG. 1 shows that the J-K flip-flops used in the invention contain two asynchronous control inputs (preset P and clear C) and two outputs (Q and Q). The truth table shows that all four possible input states generate defined output states when the clock input is applied. However, in accordance with standard J-K flip-flop operation, with the preset input P at 0, the Q output of the flip-flop is always a 1, and the Q output is always a 0 , regardless of the states of the J, K and clock inputs. Contrarily, when the clear input C is 0, the Q output is always 0, and the Q output is always a 1, regardless of the states of the J, K and clock inputs. 
     The values of the presets are determined by preselected rate inputs A&#39;. . . F&#39; which are passed through logic circuitry 2 enroute to the preset inputs Ps of stages I through VI via the preset disabling circuitry 3. The disabling circuitry 3 is comprised of NAND gates N1 through N5 and buffer B1. When the PRESET DISABLE input is a 0, it forces all the preset inputs Ps of counter stages I through VI to become 1, inhibiting the preset function regardless of the inputs from the logic circuit 2. 
     Logic circuitry 2 is comprised, in the present embodiment, of inverters IN1 through IN5 and AND gates A1 through A4 which cause the rate inputs F&#39; through A&#39; to be examined sequentially for a preset indication. (i.e., rate inputs having a 0 value). In the following discussion, the PRESET DISABLE input to the invention is assumed to be a 1, thus allowing the preset function of the invention to be applied. Starting with the F&#39; (most significant bit) rate input, a check for a preset indication (F&#39; = 0) is made. A preset indication at rate input F&#39; (F&#39; = 0) will cause preset P of stages I to be 0 through a NAND GATE N1, and the Q output of stages I to be 1.  J and K in stage II, which are connected to the Q output of stage I, are thus also 1. The presetting effectively excludes stage I from counting on each clock input from clock input line 4 and decreases the total number of clock pulses which will cause a counting overflow from 64 to 32 input pulses for the six bit rate multiplier shown in FIG. 1. 
     The counting overflow is represented by the change in stage of the last counting stage (stage VI), from a high Q output to a high Q output. In FIG. 1, the overflow is labelled END OF MULTIPLICATION on the Q output line of stage VI. 
     At the same time, the inverted value of rate input F&#39; enters AND gate A1 together with the inverted value of rate input E&#39;. If both rate inputs E&#39; and F&#39; are 0, AND gate A1 will put out a 1, which will cause the output of NAND GATE, N2, to be a 0, thereby also presetting stage II of the counter. Similarly, the presets Ps for stages III, IV, and V cannot be set to 0 unless the rate inputs (and thus the presets Ps) for all previous stages are also 0. The highest order rate input which is not preset to 0 requires that the preset status of all lower order presets Ps will be 1. 
     To insure the proper counting operation of stages III through VI, AND gates A5 through A8 are provided. By connecting all J and K values (which are themselves connected together) to the Q values from all previous stages, it is assured that: first, each stage will count at half the rate of a previous counting stage and, second, the presetting of an earlier stage will not inhibit the counting in subsequent stages. 
     Gating circuitry 6 (in FIG. 1), receiving pulsed inputs on clock input line 4, is provided which gates each rate input A&#39; through F&#39; with selected outputs from counting stages I through VI. 
     The Q output of a given stage is ANDed with the Q outputs of all preceeding stages together with the lowest-order rate input (A&#39; through F&#39;) included in the preset calculations for the given stage. In particular, an AND gate A9 of gating circuitry 6 pulses when the rate input F&#39; and the Q output of stage I are 1 during any clock pulse from clock 4; AND gate A10 pulses when rate input E&#39; together with the Q output of stage I and the Q output of stage II are 1 during any clock pulse; AND gate A11 pulses when rate input D&#39; together with the Q outputs of stages I and II and the Q output of stage III are 1 at any clock pulse; and so on through AND gate 14 of gating circuitry 6. The outputs from AND gates A9 through A14 enter an OR gate which produces an output from gating circuitry 6 whenever any AND gate A9 through A14 is in a 1 state. 
     It should be noted that the higher the significance of the rate input (F&#39; through A&#39;), the lower the significance of the corresponding counting stage (which is presettable by the rate input F&#39; through A&#39;). By way of example, if rate input F&#39; is not preset all stages I through VI will be counting with stage I representing the least significant bit. Further, if rate input F&#39; is preset and rate input E&#39; is not preset, stage II will contain the least significant bit in the count and only stages II through VI will be active in the counting and so on. 
     The higher the significance of the first non-preset rate input, the more stages are used in the counting. The following example will illustrate the time-saving feature of the present invention. 
     Assume an f out  is to be 9/16 of f in . According to the invention, N&#39; = 16 and M&#39;=  0·2 5  +0 ·2 4  +1 ·2 3  + ·2 2  +0·2 1  + ·2 0 , or F&#39;, E&#39;, C&#39;, and B&#39; equal 0 with D&#39; and A&#39; equal to 1. The 0 value for the F&#39; rate input causes stage I to be preset, or inactive during the counting. The 0 value for the E&#39; rate input similarly presets stage II. The 1 value for the D&#39; rate input causes stage III not to be preset and, thus, stages III through VI remains active during the counting. The counting is performed over 16 clock inputs on clock input line 4. Table 3 indicates which AND gate, if any, in logic circuit 6 producrs a 1 output. Table 3 assumes that the counting begins following a CLEAR input C to all stages, the effect of which has been explained earlier. 
     
                       Table 3______________________________________Q values for counting stagesCLK    III    IV     V    VI   AND gate in &#34;1&#34; state______________________________________0      0      0      0    0    A111      1      0      0    02      0      1      0    0    A113      1      1      0    04      0      0      1    0    A115      1      0      1    06      0      1      1    0    A117      1      1      1    0    A148      0      0      0    1    A119      1      0      0    110     0      1      0    1    A1111     1      1      0    112     0      0      1    1    A1113     1      0      1    114     0      1      1    1    A1115     1      1      1    1______________________________________ 
    
     Referring to the previous table it can be noted that only AND gates A11 and A14 can have a 1 state because no other AND gates (from amoong A9 through A14) have a rate input entered in the 1 state. AND gates A11 and A14 are in the 1 state a total of nine times every 16 clock inputs thereby producing the desired output frequency. 
     DUAL CHANNEL EMBODIMENT 
     Reference is now made to FIG. 2 which is the same as FIG. 1 except that two sets of rate inputs, referred to as the Y set and the Z set, are provided. Additional gating (AND gates A5 through A19) is shown which conditions the presetting of the stages on the requirement that the corresponding rate input from both the Y and Z set are 0 when the PRESET DISABLE input is a 1. More specifically, for stage I to be preset (and excluded from the counting), the F&#39; rate input in both the Y set and Z set must be 0. Dual channel gating circuitry 6&#39; is similar to the gating circuitry 6 of the single channel embodiment, except that additional AND gates corresponding to each rate input A&#39; through F&#39; in both the Y and Z sets are provided. A Y OUTPUT line and a Z OUTPUT line are available so that two output frequencies can be generated simultaneously, employing the time-saving feature. 
     It should be evident that additional gating could be provided to increase the number of channels and thus the number of output frequencies which can be generated while remaining within the scope of the invention. 
     Various other modifications, adaptations and alterations are also possible in light of the above teachings. Therefore, it should be understood at this time that within the scope of the appended claims the invention may be practiced otherwise than as specifically described.