Abstract:
A counter circuit includes a series of registers driven by two phase shifted clocks. A clock generator in the counter circuit generates four asymmetrical clock signals to drive each of the registers. The registers are formed from input and output stages, each having two sets of switches. The first set of switches in each stage provides a supply voltage to a stage output in response to the asymmetrical clocks. The second set of switches supply ground to the stage output in response to the asymmetrical clocks. To accelerate response of the switching circuits, isolation switches decouple the first set of switches in each pair from the stage output during switching of the second set of switches, thereby removing loading of stage output by the second set of switches.

Description:
TECHNICAL FIELD 
     The present invention relates to integrated circuit devices, and more particularly to counter circuits in integrated devices. 
     BACKGROUND OF THE INVENTION 
     In the operation of memory devices, such as packetized dynamic random access memories (&#34;DRAMs&#34;), conventional DRAMs and other packetized memory devices, specific functions must occur in a predetermined sequence. These functions are generally performed responsive to respective command signals issued by a command generator, such as a memory controller. The timing of the command signals is generally controlled by a clock signal either registered to an edge of the clock signal or occurring a predetermined time after an edge of the clock signal. The rate at which the memory device may process commands is limited by the amount of time it takes to perform functions responsive to the commands. For most functions, the minimum times to perform the functions are specified by the manufacturer of the memory device. However, since the commands are generally issued responsive to clock signals, the amount of time that the memory device has to perform its functions is controlled by the clock speed. For example, as illustrated in FIG. 1A, a memory read command 10 is issued by a memory controller and is registered with a clock signal 12 at time t 0 . As further shown in FIG. 1A, completing the read operation requires four clock cycles, because of the many operations that must occur in a memory device before data can be read from the memory device. Thus, a data bit 14 is not present on the data bus until time t 1 . The elapsed time from issuing the read command 10 to the complete processing of the command by applying the data bit 14 to the data bus is therefore αt a . The elapsed time could be reduced by increasing the speed of the clock 12. However, regardless of the speed of the clock, the memory device requires a certain minimum time to complete its functions. Speeding the clock up beyond that point will not reduce the amount of time required to perform those functions. 
     Although memory devices operate at optimum speed when the clock is at or near its maximum speed, they operate at far from optimum speed responsive to slower clock speeds. With reference to FIG. 1B, a clock signal 20 has a speed or frequency only half that of the clock signal 12 in FIG. 1A. Once again, a read command 22 is registered with the clock signal 20 at time t 0 , and a data bit 24 is applied to the data bus four clock cycles later. However, because of the slower speed clock signal 20, the data bit 24 is not applied to the data bus until t 2 . As a result of the slower clock speed, the elapsed time between issuing of the read command 22 and complete processing of the command is Δt b  which is twice the duration of αt a . Thus, by employing a fixed relationship between a clock signal and the issuing of command signals, conventional memory devices often operate at far from optimum speed when they receive a relatively slow clock signal. 
     It will be understood by one skilled in the art that the timing diagrams of FIGS. 1A and 1B omit a large number of other signals applied to the memory device. These signals have been omitted for purposes of brevity. Also, one skilled in the art will understand that the command signals 10, 22 may be composed of a combination of other signals in a conventional DRAM or may be control data in a data packet in a packetized memory system. In either case, the combination of signals or control data are commonly referred to as simply a command. The exact nature of the signals or control data will depend on the nature of the memory device, but the principle explained above is applicable to many types of memory devices, including asynchronous DRAMs, synchronous DRAMs, packetized DRAMs and other packetized memory devices. Also, although the problem resulting from issuing command signals according to a fixed relationship with the clock signal has been explained with reference to memory devices, the principles described herein are applicable to other integrated circuits that utilize counters or related switching signals responsive to a clock signal. 
     SUMMARY OF THE INVENTION 
     A high-speed counter circuit produces a digital count with a plurality of bits to control timing of operations in a memory device. In one embodiment, the counter circuit includes a pair of input clock terminals that receive first and second clock signals. The second clock signal is phase shifted by 90° relative to the first clock signal. 
     A clock converter converts the two input clock signals to four asymmetric clock signals that control timing within the counter circuit. The asymmetric clock signals drive a bank of eight registers, where each register provides one bit of the count. The state of each bit is controlled by a respective pair of blocking signals provided to the register by a respective logic circuit. The outputs of each of the registers is fed back to the respective logic circuit, so that each bit is controlled in part by its preceding state. 
     The first register provides the least significant bit to the second register&#39;s logic circuit in response to the clock signals. In response to the least significant bit and the fed back bit from the second register output, the first logic circuit activates the second register to provide the second least significant bit. The second logic circuit receives the second least significant bit and activates the third register. The third through eighth registers provide the third least significant bit through the most significant bit in response to outputs from corresponding logic circuits driven by preceding registers. Since the first register has no logic circuit, the first register responds more quickly than the other logic circuits. The least significant bit from the first register is also the last bit to transition to establish transition conditions at the logic circuit of the other registers. Therefore, to accelerate the response of the series of registers, the least significant bit from the first register is fed forward in a bypass circuit to the logic circuit each of the subsequent registers. 
     One input of each of the logic circuits has a shorter response time than the logic circuit&#39;s other inputs. Thus, to further accelerate the response of the counter, the fed forward signal is applied to the inputs of the logic circuits that have the shortest response time. 
     Each of the registers is formed from an input stage and an output stage linked by an intermediate latch. The input stage receives the four asymmetric clock signals and a pair of blocking signals from its corresponding logic circuit. The input stage includes a supply gate and a first blocking switch serially coupled between a supply voltage and a switching node. The input stage also includes a reference gate and a second blocking switch coupled between a reference voltage and the switching node. During activation of one of the gates, the other gate is isolated from the switching node by the corresponding blocking switch to prevent the gate from loading the switching node. The voltage of the switching node drives the intermediate latch to provide a latched clocking output to the output stage. 
     The output stage includes a first pair of multiplexing transistors and a first isolation switch serially coupled between the supply voltage and an output node. Additionally, the output stage includes a second pair of multiplexing transistors and a second isolation switch coupled between the reference voltage and the output node. The first and second isolation switches are complementary switches that receive the output of the intermediate latch. In response to the intermediate latch output, one of the isolation switches is ON and one of the switches is OFF. The ON isolation switch allows its respective pair of multiplexing transistors to control the output node voltage. The OFF switch isolates the output node from its respective multiplexing transistors to prevent capacitance of the respective multiplexing transistors from loading the output node. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1A and 1B are timing diagrams illustrating the relationship between clock signals and the processing of commands in a conventional dynamic random access memory. 
     FIG. 2 is a chart illustrating a basic concept of sequencing operations in a memory device according to counts. 
     FIG. 3 is a block diagram of the memory device including a counter circuit for producing counts used in sequencing. 
     FIG. 4 is a block diagram of the counter circuit of FIG. 3 showing interconnection of eight registers and seven logic circuits. 
     FIG. 5 is a logic diagram of a clock circuit that converts two phase-shifted clock signals into four asymmetric clock signals. 
     FIG. 6 is signal timing diagram of clock signals in the clock circuit of FIG. 4. 
     FIG. 7 is a schematic of one of the registers of the counter circuit of FIG. 4. 
     FIG. 8 is an equivalent circuit diagram of the register of FIG. 7 when both blocking signals are low. 
     FIG. 9 is an equivalent circuit diagram of the registers of FIG. 7 when both blocking signals are high. 
     FIG. 10A is a schematic of a first logic circuit for producing blocking signals for the second register of the counter circuit of FIG. 4. 
     FIG. 10B is a truth table showing inputs to and outputs from the logic circuit of FIG. 10A. 
     FIG. 11A is a schematic of a second logic circuit for producing blocking signals for the third register of the counter circuit of FIG. 4. 
     FIG. 11B is a truth table showing inputs to and outputs from the logic circuit of FIG. 11A. 
     FIG. 12 is a schematic of a third logic circuit for producing blocking signals for the fourth register of the counter circuit of FIG. 4. 
     FIG. 13 is a schematic of a fourth logic circuit for producing blocking signals for the fifth register of the counter circuit of FIG. 4. 
     FIG. 14 is a schematic of a fifth logic circuit for producing blocking signals for the sixth register of the counter circuit of FIG. 4. 
     FIG. 15 is a schematic of a sixth logic circuit for producing blocking signals for the seventh register of the counter circuit of FIG. 4. 
     FIG. 16 is a schematic of a seventh logic circuit for producing blocking signals for the eighth register of the counter circuit of FIG. 4. 
     FIG. 17 is a schematic of a three input NAND gate including circuit capacitances. 
     FIG. 18 is a block diagram of a computer system incorporating the memory device of FIG. 3. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Before describing a preferred embodiment of a memory device 40 (FIG. 3) according to the invention, the general theory of operation of timing control and use of counts by the memory device 40 will be explained with reference to FIG. 2. FIG. 2 is a diagram representing the status of a counter 50 (described below with reference to FIGS. 4-17) and decoder in which the counter 50 increments responsive to a clock signal from an initial value of 0 to a maximum value of 255. At various counter values, the decoder issues respective command signals, some of which are shown in FIG. 2. Listed in the left-hand side of the diagram opposite their respective counter values are the command signals issued by the decoder when the frequency of the clock signal is 800 MHz. Listed in the right-hand side of the diagram in FIG. 2 opposite their respective counter values are those same command signals as they occur when the frequency of the clock signal is 400 MHz. 
     As shown in FIG. 2, when the clock frequency is 800 MHz, the counter begins incrementing from 0 (designated by the asterisk). An external row address is then latched at about count 16, the row address is decoded at about count 47, the row is precharged and equilibrated at about count 85, a column address is decoded at about count 120, the sense amps corresponding to the decoded column address are enabled at count 143, the addressed row is enabled at about count 190, and the data path connects the digit lines of the enabled sense amplifier to an external data bus terminal at about count 225. 
     As further shown in FIG. 2, these same read commands are also issued by the decoder when the clock speed is 400 MHz, except that they are issued at substantially lower count values. The external row address is then latched at about count 100, the row address is decoded at about count 120, the row is precharged and equilibrated at about count 144, an externally applied column address is decoded at about count 165, the sense amps for the column address are enabled at about count 180, the addressed row is enabled at about count 213, and the data path couples data from the digit lines of the enabled sense amplifier to the external data bus terminal at about count 225. Note that, even though the command signals listed on the right-hand side of FIG. 2 are issued at substantially lower count values, they occur at substantially the same time from the start of a memory access. Although approximately twice as many clock pulses may occur between the command signals when the clock frequency is 800 MHz as compared to 400 MHz, the command signals are nevertheless issued at the same times because of the higher clock speed. However, it should be emphasized that the timing of the command signals may not be entirely linear. For example, a command signal that may be issued at counter value 40 for a 400 MHz clock signal may not be issued at counter value 80 for an 800 MHz clock signal. However, a given command signal will normally be issued at a higher counter value for a higher clock frequency. By eliminating a fixed relationship between the number of clock cycles and the issuing of command signals, the command generator is able to issue command signals at an optimum rate for a wide variety of clock speeds. 
     A block diagram of a preferred embodiment of a memory device 40 incorporating the command generator 26 is illustrated in FIG. 3. The operation of much of the command generator 26 illustrated in FIG. 3 is controlled by a clock signal CLK and a quadrature clock signal CLK 90 generated by a conventional clock circuit 28 in response to an input clock signal CKIN from a circuit (not shown) external to the memory device 40. The input clock signal CKIN may be at any of several designated frequencies of operation of the device 40, such as 100 MHz, 200 MHz . . . 800 MHz. A SELECT signal is also provided by the memory controller to indicate the frequency of the input clock signal CKIN. In response to the SELECT signal, the counter control circuitry 30 alters the operation of the command generator 26 accordingly. 
     Once the frequency is selected, the counter control circuitry 30 provides enable signals C-EN, C-EN* to a counter 50 to initialize the counter 50. The counter control circuitry 30 may also provide an initial counter value responsive to a LD CNT signal to establish the starting count of the counter 50. 
     As explained above with reference to FIG. 2 and as will be explained in greater detail below with reference to FIGS. 4-17, the counter 50 is an 8-stage quadrature counter which increments from 0 to 255 responsive to the clock signals, CLK and clock CLK 90. However, the principles described herein are equally applicable to counters having a larger or smaller number of stages and to decrementing counters, rather than incrementing counters. After the initial counter value is loaded into the counter 50, the counter 50 increments responsive to asymmetric clock signals CLK0, CLK0*, CLK1, CLK1* produced by a clock generator 60 responsive to the CLK and CLK90 signals from the clock circuit 28. The 8-bit binary count value output by the counter 50 is applied to a decoder 36 which generates command signals on a plurality of lines 39 corresponding to various counter values. An I/O interface 41 responds to the commands by transferring data into or out of one or more memory arrays 43 through one or more data latches 45. 
     To control timing of operations within each clock cycle in response to counts, the counter 50 must be able to increment at a frequency equal to the maximum frequency of the clock signal CKIN. Many conventional counters are inadequate for such high speed incrementing or decrementing. 
     One embodiment of the incrementing counter 50 for producing such high speed counts is shown in FIG. 4. The 8-bit counter 50 is formed from eight registers 52 and seven logic circuits 54 1  -54 7  that operate under control of four asymmetric clock signals CLK0, CLK0*, CLK1, CLK1*. Before describing operation of the counter 50, development of the clock signals CLK0, CLK0*, CLK1, CLK1* will be described with reference to FIGS. 5 and 6. 
     The four asymmetric clock signals CLK0, CLK0*, CLK1, CLK1* are produced in a clock generator 60 shown in FIG. 5, responsive to the two quadrature clock signals CK, CK90 from the clock circuit 28. To produce the clock signals CLK0, CLK0*, the clock signals CK, CK90 are combined at an AND circuit 62 formed from a NAND gate 64 and an inverter 66. As shown in the fifth graph of FIG. 6, the clock signal CLK0 has the same frequency as the clock signals CK, CK90 and has a 25% duty cycle. The falling edges of the clock signal CLK0 are defined by falling edges of the clock signal CK, and rising edges of the clock signal CLK0 are defined by rising edges of the clock signal CK90. 
     The clock signal CLK0* is formed from the clock signal CLK0 by an inverter 68. Therefore, the clock signal CLK0 has a 75% duty cycle. Additionally, the falling edges of the clock signal CLK0* are defined by rising edges of the clock signal CK90 and rising edges of the clock signal CLK0* are defined by falling edges of the clock signal CK. 
     The clock signal CLK1 is produced by an OR circuit 70 formed from a NOR gate 72 and an inverter 74 such that the clock signal CLK1 has a 75% duty cycle. Rising edges of the clock signal CLK1 are defined by rising edges of the clock signal CK and falling edges of the clock signal CLK1 are defined by falling edges of the clock signal CK90. 
     The clock signal CLK1* is formed from the clock signal CLK1 by an inverter 76 such that the clock signal CLK1* has a 25% duty cycle. Rising edges of the clock signal CLK1* are defined by falling edges of the clock signal CK90 and falling edges of the clock signal CLK1 are defined by rising edges of the clock signal CK. 
     Returning now to FIG. 4, the general theory of operation of the counter 50 will now be described. Each of the eight registers 52 provides one bit of an eight bit count responsive to a pair of blocking signals A, B and the four asymmetric clock signals CLK0, CLK0*, CLK1, CLK1*. The blocking signals A, B are provided to the second through eighth registers 52 through respective logic circuits 54 1  -54 7 . The first register 52 receives its own output C at both control inputs 80, 82. In a conventional counter, each register responds to transitions of the immediately preceding register when all of the bits from preceding registers are &#34;1.&#34; Before the selected register can transition, all of the preceding registers transition in sequence. For example, for a transition of the third least significant bit the least significant bit transitions first and causes a transition of the second least significant bit, which in turn causes a transition of the third least significant bit. One skilled in the art will recognize that the transition of the least significant bit must &#34;ripple&#34; through the registers to the highest value transitioning register. Since each register imposes a delay, the third least significant bit in the counter is delayed by the delay of the two preceding registers. 
     Unlike a conventional counter, the counter 50 feeds preceding bits forward to each of the logic circuits 54 1  -54 7 . Each logic circuit 54 1  -54 7  can then determine when all of the preceding bits are &#34;1&#34; and enables its corresponding register 52 to transition during the next clock cycle. Because the preceding bits bypass any interceding registers 52, the logic circuit 54 1  -54 7  receives the preceding bits immediately. Moreover, because only the least significant bit will have changed on the immediately preceding clock cycle, all registers 50 other than the first register 50 have more than one clock cycle to establish the bit for input to the logic circuit 54 1  -54 7 . Consequently, the conditions for transition of all of the registers 50 are established by the transition of the least significant bit in the immediately preceding clock cycle. 
     Before describing how the logic circuits 54 1  -54 7  develop the blocking signals A, B, the timing, structure, and operation of the registers 52 will first be described with reference to FIGS. 7-9. As shown in FIG. 7, each register 52 is formed from an input stage 84, an intermediate latch 86, an output stage 88, an output latch 90, and an output inverter 92. Generally, the input stage 84 is enabled to transition high or low by the blocking signals A, B and then transitions in the enabled direction in response to a selected clock edge. The transition of the input stage 84 on the selected clock edge enables transition of the output stage 88 on a subsequent clock edge. 
     The input stage 84 is formed from a supply leg 94 coupled between the supply voltage V CC  and a switching node 96 and a reference leg 98 coupled between the switching node 96 and ground. The supply leg 94 receives the clock signals CLK0*, CLK1 at a pair of parallel-coupled PMOS transistors 100, 102 such that the transistors 100, 102 couple the supply voltage V CC  to the supply node 104 when either of the clock signals CLK0*, CLK1 is low. 
     A PMOS blocking transistor 106 controlled by the blocking signal A couples the supply node 104 to the switching node 96. The switching node 96 thus receives the supply voltage V CC  when the blocking signal A is low and either of the clock signals CLK0*, CLK1 is low. 
     The reference leg 98 receives the clock signals CLK0, CLK1* at a pair of parallel-coupled NMOS transistors 108, 110 such that the NMOS transistors 108, 110 ground the reference node 112 when either of the clock signals CLK0, CLK1* is high. An NMOS blocking transistor 114 controlled by the blocking signal B couples the reference node 112 to the switching node 96. Thus, the switching node 96 is grounded when the blocking signal B is high and either of the clock signals CLK0, CLK1* is high. 
     The response of the register 52 to the four possible combinations of A, B (&#34;00,&#34; &#34;01,&#34; &#34;10,&#34; &#34;11&#34;) will now be described. Considering first the case where the blocking signals A, B are &#34;01,&#34; the logic circuits 54 1  -54 7  ensure that the blocking signal A will not be &#34;0&#34; when the blocking signal B is &#34;1,&#34; so this case does not occur. Consequently, both of the blocking transistors 106, 114 will not be ON at the same time. 
     Where the blocking signals A, B are &#34;10,&#34; both blocking transistors 106, 114 are OFF. Therefore, the clock signals CLK0, CLK0*, CLK1, CLK1* at the transistors 100, 102, 108, 110 have no effect on the voltage of the switching node 96. Consequently, no transitions occur when the blocking signals A, B are &#34;10.&#34; 
     When the blocking signals A, B are &#34;00,&#34; the lower blocking transistor 114 is OFF and the upper blocking transistor 106 is ON. Therefore, the register 52 can be modeled by the equivalent circuit of FIG. 8. Response of the equivalent circuit of FIG. 8 to the clock signals of FIG. 6 will now be described. 
     The following description assumes the blocking signals A, B are established during times when the switching node 96 is isolated from the supply voltage V CC  and assumes that the switching node voltage is low initially. When one of the clock signals CLK0*, CLK1 transitions low at time t 4  or t 8 , one of the transistors 100, 102 turns ON and drives the switching node voltage quickly high. 
     Comparing the equivalent circuit of FIG. 8 to the actual circuit of FIG. 7, it can be seen that the OFF blocking transistor 114 helps increase the response speed at the switching node 96, because the OFF blocking transistor 114 isolates the switching node 96 from a circuit capacitance 120 (FIG. 7) formed at the junction between the blocking transistor 114 and the NMOS transistors 108, 110. The OFF blocking transistor 114 also prevents a ground transistor capacitance 122 (FIG. 7) from delaying the response of the switching node 96. The ground transistor capacitance 122 is a result of a ground switching transistor 123 (FIG. 4) that selectively provides a ground reference to the registers 52 in response to an enable signal GNDEN. If the blocking transistor 114 were ON, (i.e., the register 52 were not accurately presented in FIG. 8) both of the capacitances 120, 122 would slow signal development at the switching node 96, because one of the transistors 108, 110 will be ON whenever one of the transistors 100, 102 is ON. By decoupling the capacitances 120, 122 from the switching node 96, the blocking transistor 114 eliminates loading of the switching node 96 by the capacitances 120, 122 and allows the node voltage to transition high very quickly. 
     Returning now to the operation of the equivalent circuit of FIG. 8, the high going transition at the switching node 96 causes the intermediate latch output to go low. The low output of the intermediate latch 86 drives a pair of isolation transistors 124, 126 in the output stage 88 that are serially connected at an output node 128. The isolation transistors 124, 126 are complementary transistors with commonly coupled gates so that one of the transistors 124, 126 is ON when the other is OFF. The PMOS isolation transistor 124 is coupled to the supply voltage V CC  through a serially connected pair of PMOS multiplexing transistors 130, 132 that have their gates controlled by the clock signals CLK1*, CLK0, respectively. The NMOS isolation transistor 126 is coupled to ground through a serially connected pair of NMOS multiplexing transistors 134, 136 that have their gates controlled by the clock signals CLK1, CLK0*. 
     When the output of the intermediate latch 86 transitions low at time t 4  or t 8 , the isolation transistor 126 turns OFF, to isolate the output node 128 from the transistors 134, 136. Also, the PMOS isolation transistor 124 turns ON to couple the output node 128 to the multiplexing transistors 130, 132. 
     The response of the output stage 88 will now be described separately for transitions at times t 4  and t 8 . At time t 4 , the clock signal CLK0 turns OFF the lower multiplexing transistor 132. Therefore, the output node 128 remains isolated from the supply voltage V CC  even though the PMOS isolation transistor 124 turns ON. At time t 6 , the clock signal CLK0 returns low, thereby turning ON the lower multiplexing transistor 132. Because all three transistors 124, 130, 132 are ON, the voltage of the output node 128 rises to the supply voltage V CC  at time t 6 . The high-going transition of the output node voltage propagates through the output latch 90 and output inverter 92 to produce a high-going output signal C. 
     Now, the case where the switching node 96 is switched high at time t 8  will be described. In response to the low-going output of the intermediate latch 86 at time t 8 , the NMOS isolation transistor 126 turns OFF and the PMOS isolation transistor 124 turns ON. As described above, the OFF NMOS isolation transistor 126 isolates the output node 128 from ground. Similarly, the ON PMOS isolation transistor 124 allows the output node voltage to be controlled by the multiplexing transistors 130, 132. The upper PMOS multiplexing transistor 130 also turns OFF in response to the clock signal CLK1* going high at time t 8  so the output node voltage does not go high at time t 8 . 
     At time t 10 , the clock signal CLK1* returns low, thereby turning ON the upper PMOS multiplexing transistor 130. The three ON transistors 124, 130, 132 couple the output node 128 to the supply voltage V CC , and the output node voltage rises quickly. Once again, the high-going transition of the output node voltage produces a high-going transition of the output signal C at time t 10 . To summarize the above description, when the blocking signals A, B are both &#34;00&#34; the output from the register 52 goes high in response two falling edges of the asymmetric clock signals CLK0, CLK0*, CLK1, CLK1* (e.g., at times t 8  and t 10 ). 
     Like the blocking transistors 106, 114 of the input stage 84, the isolation transistors 124, 126 prevent capacitances 138-140 or 141-143 from loading the output node 128. For example, when the PMOS isolation transistor 124 is ON as described above, the output node 128 is isolated from the capacitances 141-143 by the OFF NMOS isolation transistor 126. Consequently, when the multiplexing transistors 130, 132 couple the output node 128 to the supply voltage, the capacitances 141-143 do not slow transition of the output node voltage. 
     Turning now to the case where both of the blocking signals A, B are high and the switching node voltage is initially high, the high blocking signal A turns OFF the PMOS blocking transistor 106 and the high blocking signal B turns ON the NMOS blocking transistor 114. Consequently, when the blocking signals A, B are both high, the register 52 can be represented by the equivalent circuit of FIG. 9. The OFF blocking transistor 106 isolates also the switching node 96 from capacitances 145, 146 of the supply leg 94 to prevent the capacitances 145, 146 from slowing response time of the input stage 84. 
     The gates of the transistors 108, 110 are controlled by the clock signals CLK0, CLK1*, respectively. When either of the clock signals CLK0, CLK1* is high, one of the transistors 108, 110 will couple the switching node 96 to ground. Consequently, the switching node 96 will transition from high to low when either of the clock signals CLK0, CLK1* transitions high, as occurs at times t 4  and t 8 . At time t 4 , the low-going transition at the switching node 96 causes the intermediate latch output to transition high, thereby turning OFF the PMOS isolation transistor 124 and turning ON the NMOS isolation transistor 126. At time t 4 , the clock signal CLK0* also turned OFF the lower multiplexing transistor 136 to isolate the output node 128 from ground. Thus, the voltage of the output node 128 does not change in response to the isolation transistor 126 turning ON. 
     At time t 6 , the clock signal CLK0* returns high, thereby turning ON the NMOS multiplexing transistor 136. The ON transistors 126, 134, 136 quickly pull the output node low. The output node 128 can be switched quickly by the three ON transistors 126, 134, 136, because the PMOS isolation transistor 124 isolates the output node 128 from the capacitances 138-140. In response to the low-going transition of the output node 128, the output signal C also goes low, at time t 6 . 
     Considering now the situation where the latch output transitions high at time t 8 , the transistor 124 turns OFF, thereby isolating the output node 128 from the capacitances 138-140. The high-going output from the intermediate latch 86 also turns ON the NMOS isolation transistor 126 so that the multiplexing transistors 134, 136 can control the output node voltage. 
     At time t 8 , the clock signal CLK1 also transitions low, thereby turning OFF the multiplexing transistor 134. Consequently, the output node voltage remains unaffected when the isolation transistor 126 turns ON at time t 8 . 
     At time t 10 , the clock signal CLK1 returns high, thereby turning ON the multiplexing transistor 134. The lower multiplexing transistor 136 is already ON. Therefore, the three ON transistors 126, 134, 136 couple the output node 128 to ground. The output node voltage drops quickly and pulls the output voltage C low slightly after time t 10  due to the delays of the output latch 90 and inverter 92. To summarize, when the blocking signals A, B are &#34;11,&#34; the output of the register 50 transitions low in response to two falling edges of the clock signals CLK0, CLK0*, CLK1, CLK1*. 
     Provision of the blocking signals A, B by the logic circuits 54 1  -54 7  will now be described. As noted above, the logic circuits 54 1  -54 7  provide the blocking signals A, B to seven of the registers while the blocking signals A, B for the first register 52 are provided by its output signal C, as shown in FIG. 4. Establishment of the blocking signals A, B by the logic circuits 54 1  -54 7  and by the direct feedback of the first register output to the first register input will now be described. Operation of the first register 52 will be considered first. 
     As discussed previously, when the blocking voltages A, B are both low, the register 52 can be modeled as shown in FIG. 8. Similarly, when both blocking signals A, B are high, the register 52 can be modeled as shown in FIG. 9. As detailed in the above description, regardless of which model is appropriate, the output C will transition either high or low slightly after times t 6  or t 10  in response to a sequence of clock transitions at times t 4  and t 6  or t 8  and t 10 , respectively. One skilled in the art will recognize that each time the output C transitions, the equivalent circuit of the first register 52 will change from that of FIG. 8 to that of FIG. 9 or vice versa, because the blocking signals A, B equal the output C of the first register 52. Therefore, the output of the first register 52 will toggle low and high during each period of the clock signal CK. 
     Control of the second register 52 by the first logic circuit 54 1  will now be described. The output C of the first register 52 is input to the first logic circuit 54 1  along with the fed back output C of the second register 52. The first logic circuit 54 1  establishes the blocking signals A, B such that the output of the second register 52 changes once for every two changes of the output of the first register 52, as will now be described. 
     As shown in FIG. 10A, the logic circuit 54 1  is formed from a pair of NAND gates 150, 152 and a pair of inverters 154, 156. The NAND gates 150, 152 each receive the feedback output C from the first register 52 at respective first inputs. The first NAND gate 150 receives an inverted version of the output C from the second register 52 at its second input and the second NAND gate 152 receives the output C from the 2nd register at its second input. The output blocking signals A, B are produced according to the truth table shown in FIG. 10B. Thus, when the output of the first register is a &#34;0,&#34; the first logic circuit 54 outputs &#34;10.&#34; As described above, when the signals A, B are &#34;10,&#34; the second register 52 will not toggle in response to the clock signals CLK0, CLK0*, CLK1, CLK1*. Thus, for the first and third condition of the truth table of FIG. 10B, the output of the second register will remain constant. 
     When the output C from the first and second registers 52 are &#34;01,&#34; the second register 52 will be equivalent to the circuit of FIG. 8, and the output of the second register 52 will transition high in response to the clock signals CLK0, CLK0*, CLK1, CLK1*. Similarly, when the outputs C of the first and second registers 52 are &#34;11,&#34; the second register 52 will be equivalent to the circuit of FIG. 9, and the output C from the second register 52 will transition low in response to the clock signals CLK0, CLK0*, CLK1, CLK1*. As a result, the output C from the second register 52 toggles as the second least significant bit of a conventional binary count. 
     Response of the third register 52 will now be described with reference to FIGS. 11A and 11B. The second logic circuit 54 2  is formed from a pair of inverters 158 and a pair of three input NAND gates 160. The first input of each of the NAND gates 160 receives the output C from the first register 52. The second input of each of the NAND gates 160 receives the output C from the second register 52. The third input of the first NAND gate 160 receives an inverted version of the output C from the third register 52, and the third input of the second NAND gate receives the output C from the third register 52. The output of the first NAND gate 160 forms the blocking signal A and the output of the second NAND gate 160 is inverted to produce the blocking signal B. 
     One skilled in the art will recognize that if the output C from either the first or second register is a &#34;0,&#34; both of the NAND gates will output a &#34;1&#34; and the blocking signals A, B will be &#34;10,&#34; as shown in the truth table of FIG. 11B. Thus, whenever either of the first or second registers 52 outputs a &#34;0,&#34; transition of the third register 52 will be disabled. 
     If both of the first and second registers 52 output &#34;1,&#34; and the output C from the third register is a &#34;0,&#34; the second logic circuit 54 2  sets both of the blocking signals A, B to &#34;00.&#34; As described above with reference to FIG. 9, when the blocking signals A, B are &#34;00,&#34; the output C from the third register 52 will go high responsive to the clock signals CLK0, CLK0*, CLK1, CLK1*. 
     Similarly, when the first three registers 52 output &#34;1&#34; the second logic circuit 54 2  sets the blocking signals A, B to &#34;11.&#34; As described above when the blocking signals A, B are &#34;11,&#34; the output of the third register 52 will transition low responsive to the clocking signals CLK0, CLK0*, CLK1, CLK1*. Thus, the output C of the third register 52 represents the third least significant bit of the binary count. 
     As described above, the counter 50 differs from a conventional counter circuit because on the immediately preceding clock cycle the conditions for the third register 52 to transition are not established by a transition of the second register 52. Instead, the conditions on the immediately preceding clock cycle are established only by transitions of the output C from the first register 52. Consequently, the &#34;ripple&#34; delay is eliminated. 
     Because other inputs to the logic circuits 54 1  -54 7  are not established on the clock cycle immediately preceding a transition of the corresponding register 52, each of other inputs to the logic circuits 54 1  -54 7  has more than one clock cycle to become established prior to the transition. Because the first register 52 is the only register that must transition in the immediately preceding clock cycle, the set up time for subsequent transitions is defined by the fastest register, thereby allowing the counter 50 to operate at a higher speed. 
     The first register 52 transitions more quickly than any of the other registers 52. This difference in transition times is due to the first register 52 using direct feedback of the output C as its blocking signals A, B, as opposed to the generation of blocking signals A, B by the logic circuits 54 1  -54 7  for the other registers 52. Because control of the first register 52 has none of the gate delays of the logic circuits 54 1  -54 7 , transitioning of the first register 52 can be accomplished more quickly than the other registers 52. 
     One skilled in the art will recognize that other logic circuit structures may also employ this principle. For example, where the counter 50 is a decrementing counter, NOR gates would typically be used instead of NAND gates. One skilled in the art will recognize that feeding forward the least significant bit will be equally applicable to such NOR gate based structures. 
     One skilled in the art will recognize from the schematics of FIGS. 12-16 that the logic circuits 54 3  -54 7  similarly enable transitions of their corresponding registers only when the output C from all of the preceding registers are &#34;1.&#34; Additionally, one skilled in the art will recognize that the blocking signals A, B for transitions of the registers 54 3  -54 7  will thus be controlled by transitions of the output C from the first register 52. 
     As will now be explained with reference to the three input NAND gate 160 shown in FIG. 17, the response of the counter 50 is further accelerated by coupling of the output C from the first register 52 to specific inputs of the NAND gates 150, 160 in the respective logic circuits 54 N . This acceleration utilizes the fact that the response of the NAND gates 150, 160 to signals at the different NAND gate inputs is not uniform. 
     The three input NAND gate 160 of FIG. 17 is formed from three PMOS transistors 180 coupled in parallel between the supply voltage a node 182 and three NMOS transistors 184. Each of PMOS transistors 180 and each of the NMOS transistors 184 is controlled by the output C from one of the preceding registers 52. The uppermost NMOS transistor 184 is controlled by the output C from the first register 52. As will now be explained, the gate of the uppermost NMOS transistor forms the &#34;fast&#34; input to the NAND gate 160. 
     When the output C from the first register 52 transitions from high to low, the upper NMOS transistor 184 turns OFF and the rightmost PMOS transistor 180 turns ON. Assuming that the other inputs to the NAND gate 160 are high, the remaining two PMOS transistors 180 provide no current path to the supply voltage V CC . Therefore, the rightmost PMOS transistor 180 will pull the output node 182 high. The uppermost NMOS transistor 184 isolates the output node 182 from the reference potential and from parasitic capacitances 186, 188 at junctions between the NMOS transistors 184. Consequently, the output node 182 switches high quickly. 
     When a low-going input other than the input from the first register 52 is applied to the NAND gate 160, the leftmost or center PMOS transistor 180 will turn ON and the center or lowermost NMOS transistor 184 will turn OFF. The ON leftmost or center PMOS transistor 180 will pull the output node 182 high. However, the rise of the output voltage will be slowed by charge storage of the parasitic capacitances 186, 188. 
     The parasitic capacitances 186, 188 do not affect the response of the NAND gate 160 to transitions of the &#34;fast&#34; NAND gate input, because the upper NMOS transistor 184 blocks stored charge from the parasitic capacitance from sustaining the output voltage. As noted above, the output C of the first register 52 provides the last input transition to the logic circuit 54 N  to establish conditions for an output transition. By coupling the output of the first register 52 to the &#34;fast&#34; input the time to establish the conditions for an output transition is minimized. One skilled in the art will understand that the following description of &#34;fast&#34; inputs is equally applicable to two or four input NAND gates having fewer or more than three inputs and to all kinds of NOR gates. 
     FIG. 18 is a block diagram of a computer system 200 that contains the memory device 40 of FIG. 3. The computer system 200 includes a processor 202 for performing computer functions such as executing software to perform desired calculations and tasks. The processor 202 also includes command and data buses 210 to activate the memory device 40. One or more input devices 204, such as a keypad or a mouse, are coupled to the processor 202 and allow an operator to manually input data thereto. One or more output devices 206 are coupled to the processor 202 to display or otherwise output data generated by the processor 202. Examples of output devices include a printer and a video display unit. One or more data storage devices 208 are coupled to the processor to store data on or retrieve data from external storage media (not shown). Examples of storage devices 208 and storage media include drives that accept hard and floppy disks, tape cassettes and compact-disk read-only memories. 
     From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, one skilled in the art will recognize that, although the counter 50 has been described herein as an incrementing counter, the principles described herein are equally applicable to decrementing counters. Accordingly, the invention is not limited except as by the appended claims.