Abstract:
An interleaved shift register 20 includes a plurality of data storage elements 22a-22d having a common data input signal. Each of the plurality of data storage elements 22a-22d has an enable control input that is connected to one of a plurality of clock signals, each of the plurality of clock signals being incrementally out of phase with one another. Interleaved shift register 20 provides multiple data bits of the data signal to be stored within a single clock period of one of the plurality of clock signals, thus greatly improving the data rate without increasing the storage rate of the plurality of data storage elements 22a-22d.

Description:
FIELD OF THE INVENTION 
     This invention is in the field of electronic circuits and is more particularly related to shift register circuits. 
     BACKGROUND OF THE INVENTION 
     In digital circuit design, the shift register is an integral design component and play a role in diverse circuit solutions. A typical prior an shift register 10 is illustrated in FIG. 1. FIG. 1 illustrates a 4-bit serial shift register 10. Shift register 10 includes four D-type flip flops 11a-11d having a data input &#34;D&#34;, a clock input &#34;CLK&#34;, and an output &#34;Q&#34;. The output &#34;Q&#34; of each flip flop forms the &#34;D&#34; input for the next subsequent flip flop. A clock signal CLK is physically connected to each flip flop 11a-11d. Each flip flop 11a-11d are positive edge triggered flip flops which means that data is shifted from input &#34;D&#34; to output &#34;Q&#34; on the positive edge of clock signal CLK. Shift register 10 operates in the following manner: when clock signal CLK transitions from a low logic level to a high logic level the logic level of the data signal is transferred and latched to the output &#34;Q 1  &#34; of flip flop 11 a. At this time, the logic values of outputs Q 2 , Q 3 , and Q 4  are unknown. On the next positive edge of CLK, Q 1  (which is data input &#34;D&#34; of flip flop 11 b) is transferred and latched to output Q 2 . In a similar manner, on each subsequent positive edge of CLK, data is shifted through the next subsequent flip flop. Shift register 10 suffers from a fundamental performance trade-off: data rate transfer speed and power consumption. Designers wish to maximize data rate transfer speed while simultaneously minimizing power consumption. In shift register 10, the speed of shifting a data bit from one flip flop to another is dictated by the frequency of clock signal CLK. As the frequency of CLK is increased the data rate transfer speed of shift register 10 increases. However, as the data rate transfer speed of shift register 10 increases, each flip flop 11a-11d is operating at a higher frequency and thus consuming more power. Further, as the frequency of CLK is increased eventually the designer becomes limited by the frequency limitation of flip flops 11a-11d. Therefore it is obvious that a solution is needed that allows shift registers to exhibit higher data rate transfer speeds without appreciably increasing the circuit&#39;s power consumption. 
     It is an object of this invention to provide a shift register that allows an increase in operating speed without an appreciable increase in power consumption. It is another object of the invention to provide a shift register that provides the same data rate transfer speed performance as prior art shift register 10, yet consumes considerably less power. Other objects and advantages of the invention will become apparent to those of ordinary skill in the art having reference to the following specification together with the drawings herein. 
     SUMMARY OF THE INVENTION 
     An interleaved shift register includes a plurality of data storage elements having a common data input signal. Each of the plurality of data storage elements has an enable control input that is connected to one of a plurality of clock signals, each of the plurality of clock signals being incrementally out of phase with one another. The interleaved shift register provides multiple data bits of the data signal to be stored within a single clock period of one of the plurality of clock signals, thus greatly improving the data rate without increasing the storage rate of the plurality of data storage elements. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a prior art schematic diagram of a 4-bit shift register. 
     FIG. 2 is a schematic diagram illustrating the preferred embodiment of the invention, an interleaved shift register. 
     FIG. 3 is a schematic diagram illustrating an alternative embodiment of the invention, an interleaved shift register. 
     FIG. 4 is a timing diagram illustrating the switching characteristics of the prior art shift register of FIG. 1. 
     FIG. 5 is a timing diagram illustrating the switching characteristics of the preferred embodiment of the invention illustrated in FIG. 2. 
     FIG. 6 is a schematic diagram illustrating another alternative embodiment of the invention. 
     FIG. 7 is a timing diagram illustrating the switching characteristics of another alternative embodiment of the invention of FIG. 6. 
     FIG. 8 is a diagram illustrating the decode technique of the multiplexer of FIG. 6. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 2 is a schematic diagram illustrating the preferred embodiment of the invention, an interleaved shift register 20. Shift register 20 is composed of two sets of two D-type flip flops 22a-22d connected in parallel. Although D-type flip flops are used in this embodiment, it is understood that other types of data storage elements may also be used such as latches or capacitors. An output of flip flop 22c (Q 3 ) and an output of flip flop 22d (Q 4 ) form inputs to a multiplexer 24. The output of multiplexer 24 forms the output Q out  of shift register 20. Input data signal DATA is connected to the data inputs &#34;D&#34; of flip flops 22a and 22b. The data input &#34;D&#34; of flip flop 22c is connected to the output &#34;Q 1  &#34; of flip flop 22a and the data input &#34;D&#34; of flip flop 22d is connected to the output &#34;Q 2  &#34; of flip flop 22b. Flip flops 22a and 22 c are positive edge triggered flip flops while flip flops 22b and 22d are negative edge triggered flip flops. Flip flops 22a-22d are all connected to clock signal CLK. 
     FIG.3 is a schematic diagram illustrating an alternative embodiment of the invention, an interleaved shift register 28. FIG. 3 is similar to FIG. 2 in the connecting of flip flops 22a-22d and the connections between flip flops 22c and 22d to multiplexer 24. Shift register 28 differs from shift register 20 of FIG. 2 in that a second multiplexer 26 has two fixed binary inputs, a &#34;0&#34; and a &#34;1&#34;, and is controlled by clock signal CLK which also controls multiplexer 24. Multiplexer 26 takes clock signal CLK and passes it to multiplexer 26 output &#34;CLK out  &#34; with the propagation delay as DATA experiences through multiplexer 24 so that outputs Q out  and CLK out  are synchronized. This allows a user to utilize CLK out  to accurately identify the various bits of data on Q out  when the duty cycle of CLK is not 50%. 
     FIG. 4 is a timing diagram illustrating the switching characteristics of prior art shift register 10 of FIG. 1. FIG. 5 is a timing diagram illustrating the switching characteristics of shift register 20 of FIG. 2 or shift register 28 of FIG. 3. 
     FIG. 6 is a schematic diagram illustrating a four level interleaved shift register 40. Shift register 40 consists of two shift registers as shown in FIG. 2 further interleaved together. A four-to-one multiplexer 44 receives the outputs of flip flops 42e, 42f, 42g, and 42h and clock signals CLK 1  and CLK 2  and has an output Q out . A first clock signal CLK 1  drives flip flops 42a, 42b, 42e, and 42f while a second clock signal CLK 2  drives flip flops 42c, 42d, 42g, and 42h. Flip flops 42a, 42c, 42e, and 42g switch data from their inputs to their outputs on the positive edge of their respective clock signals while flip slops 42b, 42d, 42f, and 42h switch data on the negative edge of their respective clock signals. Clock signal CLK 2  is ninety degrees out of phase with clock signal CLK 1 . Therefore, within a single period of clock signal CLK 1 , four data bits may be shifted through shift register 40 output Q out  as opposed to one data bit per clock period with prior art shift register 10. 
     FIG. 7 is a timing diagram illustrating the switching characteristics of shift register 40 of FIG. 6. FIG. 8 is a chart that illustrates the decoding technique of multiplexer 44 of FIG. 6. 
     The functional description of shift register 20 will now be described with reference to the timing diagram of FIG. 5. In FIG. 2, data is clocked from inputs &#34;D&#34; of flip flops 22a and 22c onto their outputs Q 1  and Q 3  on the rising edge of CLK. Further, data is clocked from data inputs &#34;D&#34; of flip flops 22b and 22d onto their outputs Q 2  and Q 4  on the falling edge of CLK. At time t 1  both flip flop 22a and 22c latch the data on their inputs &#34;D&#34; to their outputs Q 1  and Q 3 . Since the data at Q 1  at time t 1  is not known output Q 3  in not known. Since DATA at time t 1  is a &#34;1&#34; Q 1  is a &#34;1&#34;. The slight delay between t 1  and Q 1  is the propagation delay through flip flop 22a. The known value of Q.sub. 1 will not be clocked through flip flop 22c until the next rising edge of CLK. At time t 2  the falling edge of CLK occurs and data is clocked from inputs &#34;D&#34; of flip flops 22b and 22d onto their outputs Q 2  and Q 4 . Since the data on Q 2  is not known at time t 2  output Q 4  is not known. The value of DATA at time t 2  is a &#34;0&#34; so Q 2  is a &#34;0&#34;. At time t 3  the rising edge of CLK again occurs and flip flop 22c latches on its output (Q 3 ) the value at input (Q 1 ); therefore Q 3  becomes a &#34;1&#34;. Flip flop 22a latches the value of DATA onto its output Q 1  at time t 3 . Since the value at DATA at time t 3  is a &#34;1&#34;, Q 1  is a &#34;1&#34;. At time t 4  the falling edge of CLK again occurs and both flip flop 22b and flip flop 22d latch the data at their inputs. At time t 4  the value of the data at input of flip flop 22d is the value of Q 2  which is a &#34;0&#34;. Therefore flip flop 22d latches a &#34;0&#34; onto output Q 4 . At time t 4  the value of DATA is latched to output Q 2  of flip flop 22b. DATA is a &#34;0&#34; at time t 4 , therefore Q 2  is a &#34;0&#34;. Flip flops 22a-22d continue to latch data on the positive and negative edges of CLK respectively. 
     Accurate data is reconstructed in shift register 20 via multiplexer 24. Although a multiplexer is utilized in the preferred embodiment to reconstruct DATA, it is understood that other methods may be employed such as a boolean multiplexer or three-state gates. Multiplexer 24 takes outputs Q 3  and Q 4  of flip flops 22c and 22d and selectively passes them to its output Q out . Multiplexer 24 selectively passes data from Q 3  and Q 4  to Q out  in the following manner. At time t 3 , Q 3  becomes a &#34;1&#34;, to ensure that Q 3  is stable multiplexer 24 does not pass data from Q 3  to output Q out  until t 4 . At time t 4  data on Q 3  has had a half period of CLK to become stable. This ensures that data on Q out  is accurate. Similarly, at time t 4 , Q 4  becomes a &#34;0&#34;. To ensure that Q 4  is stable multiplexer 24 does not pass data from Q 4  to output Q out  until t 5 . Thus multiplexer 24 passes data from Q 3  to Q out  on the falling edge of CLK and passes data from Q 4  to Q out  on the rising edge of CLK. 
     A primary advantage of shift register 20 over prior art shift register 10 is that data is latched twice per clock period instead of once per clock period. Shift register 20 therefore provides a data rate increase of 2× over prior art shift register 10. Further, shift register 20 is able to latch data at twice the rate of shift register 10 without flip flops 22a-22d switching at a faster rate, therefore power consumption is not appreciably increased. Flip flops 22a-22d each switch only one time per clock period. Therefore, the data rate of shift register 20 is 2× the data rate of prior art shift register 10 without an appreciable increase in power consumption. There will be a small increase in power consumption due to multiplexer 24 and the higher data rate gate switching, however this increase is not significant. In addition, instead of increasing the data rate speed, one may use shift register 20 to run at the same data rate of prior art shift register 10 while running each flip flop 22a-22d at half the frequency. In this manner, one maintains the same speed performance as prior art while cutting the power consumption almost in half. These are both significant advantages over prior art shift register 10. 
     Shift register 28 of FIG.3 differs from shift register 20 of FIG. 2 due to an additional multiplexer 26 that is controlled by CLK similar to multiplexer 24. However, each input of multiplexer 26 is tied to a fixed voltage value. A first input is tied to a &#34;1&#34; and a second input is tied to a &#34;0&#34;. Multiplexer 26 provides the same voltage waveform as CLK on its output CLK out , however, CLK out  is delayed by the same signal propagation as data from Q 3  and Q 4  being passed through multiplexer 24. Therefore, multiplexer 26 maintains the phase relationship between DATA and CLK at Q out  and CLK out . This is typically not of great concern, however, when the duty cycle of CLK is not 50%, maintaining the appropriate phase relationship between DATA and CLK at Q out  and CLK out  becomes extremely important so that CLK out  may be used to accurately identify the data. 
     FIG. 6 illustrates an additional level of interleaving. Shift register 40 has two interleaved shift registers interleaved together. Shift register 40 will be described in conjunction with the timing diagram of FIG. 7 and operates in the following manner. At time t 1  the rising edge of CLK 1  occurs, thus flip flops 42a and 42e latch the data on their inputs &#34;D&#34; to their outputs Q 1  and Q 5 . Since the input of flip flop 42e was unknown prior to t 1  the output Q 5  at t 1  is also unknown. Since DATA at t 1  is a &#34;1&#34; Q 1  becomes a &#34;1&#34;. At time t 2  the rising edge of CLK 2  occurs, thus flip flops 42c and 42g latch their data on their inputs &#34;D&#34; to their outputs Q 3  and Q 7 . Since the input of flip flop 42g was unknown prior to t 2  the output Q 7  at t 2   is also unknown. Since DATA at t 2  is a &#34;0&#34; Q 3  becomes a &#34;0&#34;. At time t 3  the falling edge of CLK 1  occurs, thus flip flops 42b and 42f latch their data on their inputs &#34;D&#34; to their outputs Q 2  and Q 6 . Since the input of flip flop 42f was unknown prior to t 3  the output Q 6  at t 3  is also unknown. Since DATA at t 3  is a &#34;1&#34; Q 2  becomes a &#34;1&#34;. At time t 4  the falling edge of CLK 2  occurs, thus flip flops 42d and 42h latch the data on their inputs &#34;D&#34; to their outputs Q 4  and Q 8 . Since the input of flip flop 42h was unknown at t 4  the output Q 8  is also unknown. Since DATA at t 4  is a &#34;0&#34; Q 4  becomes a &#34;0&#34;. At t 5 , CLK 1  has completed a single, complete signal period since t 1  and four bits of DATA have been latched. This is a 4×  data rate increase over prior art shift register 10 of FIG. 1. 
     At time t 5  the rising edge of CLK 1  occurs and flip flops 42a and 42e again latch the data on their inputs &#34;D&#34; to their outputs Q 1  and Q 5 . This time, since Q 1  was established at t 1 , Q 5  will be known and will be a &#34;1&#34;. Q 1  becomes the value of DATA at t 5  which is also a &#34;1&#34;. Similarly, at times t 6 , t 7 , and t 8  the remaining flip flops will also latch their respective data. A fundamental difference between shift register 40 and shift register 20 of FIG. 2 is multiplexer 44. Multiplexer 44 has four data inputs (Q 5 , Q 6 , Q 7 , and Q 8 ) and two control inputs (CLK 1  and CLK 2 ). Multiplexer 44 employs a decode technique, one example of which is illustrated in FIG. 8 to pass the appropriate data from Q 5 , Q 6 , Q 7 , and Q 8  to Q out . FIG. 8 shows that the binary configuration of CLK 1  =&#34;0&#34; and CLK 2  =&#34;1&#34; means that data on Q 8  is passed to Q out , the binary configuration of CLK 1  =&#34;1&#34; and CLK 2  =&#34;0&#34; means that data on Q 7  is passed to Q out . The decode technique of FIG. 8 accurately reconfigures DATA with a small delay to ensure that the data on Q 5 , Q 6 , Q 7 , and Q 8  are all stable before being passed to Q out , similar to multiplexer 24 of FIG. 2. 
     Shift register 40 of FIG. 6 may provide a 4× increase in data rate over prior art shift register 10 without a significant increase in power consumption or may operate at the same data rate at shift register 10 while reducing the power consumption by approximately 75%. Shift register 40 accomplishes this because for any given data rate flip flops 42a-42h need only operate at one-fourth the frequency of flip flops in shift register 10. 
     &#34;N&#34; levels of interleaving can be obtained using the above shift register circuit methodology. For an eighth level of interleaving four clocks would be needed with the clocks appropriately out of phase such that eight bits of data could be passed in a single clock period. Further, a more complex multiplexer or appropriate decoder would be needed to appropriately decode the four clock signals so that the data may be accurately reconfigured. 
     It should also be understood that this invention is not limited to a serial data input, serial data output shift register configuration. Interleaving a shift register as described in FIGS. 2 and 6 with a serial data input and a parallel data output and with a parallel data input and a serial data output is understood to fall within the scope of this invention. 
     The preferred embodiment of the invention, shift register 20, provides improved data rate performance over prior art without significant increases in power consumption. Alternatively, shift register 20 may provide the equivalent data rate performance of prior art while substantially reducing power consumption. 
     Although the invention has been described with reference to the embodiments herein, this description is not to be construed in a limiting sense. Various modifications of the disclosed embodiments will become apparent to persons skilled in the an upon reference to the description of the invention. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.