US5559844A - Binary counter with sped-up ripple carry - Google Patents
Binary counter with sped-up ripple carry Download PDFInfo
- Publication number
- US5559844A US5559844A US08/337,503 US33750394A US5559844A US 5559844 A US5559844 A US 5559844A US 33750394 A US33750394 A US 33750394A US 5559844 A US5559844 A US 5559844A
- Authority
- US
- United States
- Prior art keywords
- zero
- counter stage
- output signal
- logic
- counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/42—Adding; Subtracting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/40—Gating or clocking signals applied to all stages, i.e. synchronous counters
- H03K23/50—Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits
Definitions
- the invention relates to binary counters and, more particularly, to binary counters with carry propagation faster than that provided by conventional ripple carry.
- binary counters employ a plurality of triggered flip-flops, one for each stage of the counter.
- a type of binary counter referred to as a "synchronous binary counter”
- the respective triggering circuit for each of the plurality of triggered flip-flops is arranged to respond to a common clock that periodically recurs.
- Synchronous binary counters are useful in generating sequential addresses for semiconductor random-access memory (RAM) using a serial output port and can be integrated with the RAM within the same monolithic integrated circuit.
- RAM semiconductor random-access memory
- the layout and interconnection problems associated with known "look-ahead carry" techniques are particularly onerous.
- the limitations on synchronous clock rate imposed by "ripple carry" cannot be tolerated in many applications that utilize a serial output port;
- a binary counter alternately uses ripple carry and look-ahead for generating carries for its successive stages, thus achieving carry propagation faster than that provided by using ripple carry for all counter stages.
- Look-ahead gates that refer back to the earliest counter stages are avoided as much as possible, and look-ahead is kept local inasfar as possible, so as not to require look-ahead gates with large numbers of inputs.
- An aspect of the invention is embodied in a binary counter including first, second and third successive counter stages.
- the output signal from the first counter stage is selectively toggled in response to a clock signal and a zeroeth carry signal.
- the output signal from the second counter stage is selectively toggled in response to the clock signal and a first carry signal.
- the output signal from the third counter stage is selectively toggled in response to the clock signal and a second carry signal.
- the first carry signal is generated as a ripple carry by inverting the output of a first NAND gate responding to the zeroeth carry signal and the output signal from the first counter stage.
- the second carrier is generated as a local look-ahead carry by a first NOR gate responding to the first NAND gate response and an inverted or complemented output signal from the second counter stage.
- a further aspect of the invention is embodied in a binary counter as described in the previous paragraph including first, second, third and fourth successive counter stages, output signal from the fourth counter stage being selectively toggled in response to a clock signal and a third carry signal.
- the third carry signal is generated as a ripple carry by inverting the output of a second NAND gate responding to the second carry signal and an output signal from the third counter stage.
- a still further aspect of the invention is embodied in a binary counter as described in the previous paragraph including first, second, third, fourth and fifth successive counter stages, the fifth counter stage being selectively toggled in response to a clock signal and a fourth carry signal.
- the fourth carry signal is generated as a local look-ahead carry by a second NOR gate responding to the second NAND gate response and an inverted or complemented output signal from the fourth counter stage.
- An even further aspect of the invention is embodied in a binary counter as described in the previous paragraph including first, second, third, fourth, fifth and sixth successive counter stages, the sixth counter stage being selectively toggled in response to a clock signal and a fifth carry signal.
- the fifth carry signal originates from a third NAND gate receiving, as input signals thereto, an output signal from the fifth counter stage, the fourth carry signal, and the zeroeth carry signal.
- the fifth carry is generated as a ZERO by a ripple carry procedure, but is generated as a ONE by look-ahead that in certain situations speeds up resetting of the counter.
- FIG. 1 is a schematic diagram of a prior-art synchronous binary counter.
- FIG. 2 is a detailed schematic diagram of a prior-art triggered flip-flop circuit as can be used in each stage of the FIG. 1 synchronous binary counter.
- FIGS. 3A, 3B and 3C are timing charts descriptive of the operation of the FIG. 1 synchronous binary counter, which timing charts can be combined to form a FIG. 3.
- FIG. 4 is a schematic diagram of a synchronous binary counter embodying the invention.
- FIGS. 5A, 5B and 5C are timing charts descriptive of the operation of the FIG. 4 synchronous binary counter, which timing charts can be combined to form a FIG. 5. (separately shown as an assembly drawing).
- FIGS. 6, 7 and 8 are schematic diagrams of other synchronous binary counters embodying the invention which counters are modifications of the FIG. 4 synchronous binary counter.
- FIG. 1 shows one example of a synchronous binary counter designed for inclusion in a semiconductor memory device as disclosed in Korean patent application No. 93-7127, which is incorporated herein by reference.
- the FIG. 1 synchronous binary counter includes nine counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 comprising respective triggered flip-flops, which can be of the type shown in FIG. 2.
- These T flip-flops receive a jam load control signal SET, a synchronous clock signal CLK, and a power-up enable signal ⁇ VCCH, each of which signals is applied in common to all of the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8.
- the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 supply upcount output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8, respectively, each of which output signals is in a ZERO logic state or in a ONE logic state except when being switched between those logic states. Responsive to the jam load control signal SET being in a ONE logic state, the output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8 will be set to the logic states of input signals A0, A 1, A2, A3, A4, A5, A6, A7 and A8 applied to the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 from respective low-impedance sources.
- the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 are reset, to place their respective upcount output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8 into respective ZERO logic states.
- the respective output signal Q0 of the zeroeth counter stage ST0 is supplied without delay to the first counter stage ST1 as a zeroeth carry signal CAR0.
- a NAND gate 11 NANDs the zeroeth carry signal CAR0 supplied to the first counter stage ST1 and the respective output signal Q1 of the counter stage ST1, and a logic inverter 12 converts the NAND gate 11 response to an AND response to CAR0 and Q1 supplied without delay to the second counter stage ST2 as a first carry signal CAR1.
- a NAND gate 13 NANDs the first carry signal CAR1 and the respective output signal Q2 of the second counter stage ST2, and a logic inverter 14 converts the NAND gate 13 response to an AND response to CAR1 and Q2 supplied without delay to the third counter stage ST3 as a second carry signal CAR2.
- a NAND gate 15 NANDs the second carry signal CAR2 and the respective output signal Q3 of the third counter stage ST3, and a logic inverter 16 converts the NAND gate 15 response to an AND response to CAR2 and Q3 supplied without delay to the fourth counter stage ST4 as a third carry signal CAR3.
- a NAND gate 17 NANDs the third carry signal CAR3 and the respective output signal Q4 of the fourth counter stage ST4, and a logic inverter 18 converts the NAND gate 17 response to an AND response to CAR3 and Q4 supplied without delay to the fifth counter stage ST5 as a fourth carry signal CAR4.
- a NAND gate 19 NANDs the fourth carry signal CAR4 and the respective output signal Q5 of the fifth counter stage ST5, and a logic inverter 20 converts the NAND gate 19 response to an AND response to CAR4 and Q5 supplied without delay to the sixth counter stage ST6 as a fifth carry signal CARS.
- a NAND gate 21 NANDs the fifth carry signal CAR5 and the respective output signal Q6 of the sixth counter stage ST6, and a logic inverter 22 converts the NAND gate 21 response to an AND response to CAR5 and Q6 supplied without delay to the seventh counter stage ST7 as a sixth carry signal CAR6.
- a NAND gate 23 NANDs the sixth carry signal CAR6 and the respective output signal Q7 of the seventh counter stage ST7, and a logic inverter 24 converts the NAND gate 23 response to an AND response to CAR6 and Q7 supplied without delay to the eighth counter stage ST8 as a seventh carry signal CAR7. Assuming delay through a NAND gate and delay through a logic inverter each to have a value D, there is a transmission delay of 2D per counter stage in the ripple carry propagation described in this paragraph.
- FIG. 2 shows a representative structure STi for each of the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8.
- the logic “low” on the node 40 is applied to a logic inverter 74 as an input signal thereto, conditioning its output signal to be a logic "high".
- This logic “high” and the logic “low” at the node 40 condition a transmission gate 64 to be non-transmissive and condition a transmission gate 62 to be transmissive to supply to a latch circuit 68 the complement A i of bit A i temporarily stored in the latch circuit 66, thus to cause the temporarily stored bit A i to appear as the output signal Q i , completing the jam loading.
- the jam load input signal can be an initial address.
- the SET signal is returned to a logic "low” condition, so the inverted and non-inverted responses of the cascaded logic inverters 56 and 58 to the logic "low” condition of the SET signal render the transmission gate 62 non-conductive.
- the counter stage STi is arranged to receive a carry signal CAR(i-1), providing that i is between one and eight, inclusive.
- the carry signal CAR(i-1) is logic “low”
- the complement of that signal is supplied by a logic inverter 52 to the NOR gate 54 to hold the node 40 at a logic "low”.
- the logic "low” on the node 40 causes the logic inverter 74 output signal to be a logic "high”.
- This logic "high” and the logic "low” at the node 40 condition a transmission gate 64 to be non-transmissive and condition a transmission gate 62 to be transmissive. Since the transmission gate 64 is non-transmissive, the bit A i temporarily stored in the latch circuit 66 remains unchanged.
- This logic “low” and the logic “high” at the node 40 condition the transmission gate 62 to be non-transmissive and condition the transmission gate 64 to be transmissive to invert the bit A i temporarily stored in the latch circuit 66 to the complement A i supplied from the comparatively low source impedance of the logic inverter 72.
- the NOR gate 54 is thereby conditioned to hold the node 40 at a logic "low”.
- the logic "low” on the node 40 causes the logic inverter 74 output signal to be a logic "high”.
- This logic “high” and the logic “low” at the node 40 condition the transmission gate 64 to be non-transmissive and condition the transmission gate 62 to be transmissive to supply to the latch circuit 68 the complement A i of the bit A i temporarily stored in the latch circuit 66, thus to cause the temporarily stored bit A i to appear as the upcount output signal Q i .
- Downcount output signal Q i the complement of the upcount output signal Q i , can be made available from the output of the logic inverter 72.
- FIGS. 3A, 3B and 3C depict the transmission delay of 2D per counter stage in the ripple carry propagation of the FIG. 1 synchronous binary counter.
- a zeroeth carry signal CAR0 generated by the zeroeth counter stage ST0 as its output signal Q0 is supplied without delay to the first counter stage ST1 and is also supplied without delay as a first input signal of the NAND gate 11, which NAND gate 11 receives Q1 as a second input signal thereof.
- the logic inverter 12 supplies a logic inverter response to the NAND gate 11 response, which logic inverter 12 response is supplied without delay to the second counter stage ST2 as a first carry signal CAR1.
- FIG. 3A depicts this occurring in the time slots occupied by the CLK pulses 4, 8 and 12;
- FIG. 3B depicts this occurring in the time slots occupied by the CLK pulses 16, 32 and 64;
- FIG. 3C depicts this occurring in the time slot occupied by the CLK pulses 128, 256 and 512.
- This 2D delay of the first carry signal CAR1 occurs in the time slot occupied by every fourth CLK pulse.
- the first carry signal CAR1 and the output signal Q2 of the flip-flop ST2 are respectively applied without delay to the NAND gate 13 as first and second input signals thereto.
- the logic inverter 14 supplies a logic inverter response to the NAND gate 13 response, which logic inverter 14 response is supplied without delay to the third.
- Canter stage ST3 as the second carry signal CAR2.
- the second carry signal CAR2 is delayed 2D respective to the first carry signal CAR1 occurring when Q2 is a ONE.
- FIG. 3A depicts this occurring in the time slot occupied by the CLK pulse 8;
- FIG. 3B depicts this occurring in the time slots occupied by the CLK pulses 16, 32 and 64; and
- FIG. 3C depicts this occurring in the time slots occupied by the CLK pulses 128, 256 and 512.
- This 4D delay of the rising edge of the second carry signal CAR2 occurs in the time slot occupied by every eighth CLK pulse.
- the falling edge of the second carry signal CAR2 which occurs in each time slot after one of the time slots occupied by every eighth CLK pulse, results from the falling of the output signal Q2 as delayed 2D by the NAND gate 13 and the logic inverter 14.
- the 4D delay of the rising edge of the second carry signal CAR2 that occurs in the time slot occupied by every eighth CLK pulse and the 2D delay of the falling edge of the second carry signal CAR2 that occurs in the next time slot narrows the "high" pulsewidth of the second carry signal CAR2 2D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- the second carry signal CAR2 and the output signal Q3 of the flip-flop ST3 are respectively applied without delay to the NAND gate 15 as first and second input signals thereto.
- the logic inverter 16 supplies a logic inverter response to the NAND gate 15 response, which logic inverter 16 response is supplied without delay to the fourth counter stage ST4 as the third carry signal CAR3, the rising edge of which is delayed 2D respective to the rising edge of the second carry signal CAR2 occurring when Q3 is a ONE.
- the rising edge of the second carry signal CAR2 is delayed 4D respective to the rising edge of the zeroeth carry signal CAR0 occurring when Q1 and Q2 are each a ONE
- the rising edge of the third carry signal CAR3 is delayed 6D respective to the zeroeth carry signal CAR0 occurring when Q1, Q2 and Q3 are each a ONE.
- FIG. 3B depicts this occurring in the time slots occupied by the CLK pulses 16, 32 and 64
- FIG. 3C depicts this occurring in the time slots occupied by the CLK pulses 128, 256 and 512.
- This 6D delay of the rising edge of the third carry signal CAR3 occurs in the time slot occupied by every sixteenth CLK pulse.
- the 4D delay of the rising edge of the third carry signal CAR3 that occurs in the time slot occupied by every sixteenth CLK pulse and the 2D delay of the falling edge of the third carry signal CAR3 that occurs in the next time slot narrows the "high" pulsewidth of the third carry signal CAR3 2D respective to the "high” pulsewidth of the second carry signal CAR2 and 4D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- FIG. 3B depicts the rising edge of the fourth carry signal CAR4 being delayed 8D respective to the rising edge of the zeroeth carry signal CAR0 when Q1, Q2, Q3 and Q4 are each a ONE occurring in the time slots occupied by the CLK pulses 32 and 64; and FIG. 3C depicts this occurring in the time slots occupied by the CLK pulses 128, 256 and 512.
- This 8D delay of the rising edge of the fourth carry signal CAR4 occurs in the time slot occupied by every thirty-second CLK pulse and narrows the "high" pulsewidth of the fourth carry signal CAR4 6D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- FIG. 3B depicts the rising edge of the fifth carry signal CAR5 being delayed 10D respective to the rising edge of the zeroeth carry signal CAR0 when Q1, Q2, Q3, Q4 and Q5 are each a ONE occurring in the time slot occupied by the CLK pulse 64; and FIG. 3C depicts this occurring in the time slots occupied by the CLK pulses 128,256 and 512.
- This 10D delay of the rising edge of the fifth carry signal CAR5 occurs in the time slot occupied by every sixty-fourth CLK pulse and narrows the "high" pulsewidth of the fifth carry signal CAR5 8D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- FIG. 3C depicts the rising edge of the sixth carry signal CAR6 being delayed 12D respective to the rising edge of the zeroeth carry signal CAR0 when Q1, Q2, Q3, Q4, Q5 and Q6 are each a ONE occurring in the time slots occupied by the CLK pulses 128,256 and 512.
- This 12D delay of the rising edge of the sixth carry signal CAR6 occurs in the time slot occupied by every sixty-fourth CLK pulse and narrows the "high" pulsewidth of the sixth carry signal CAR6 10D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- FIG. 3C depicts the rising edge of the seventh carry signal CAR7 being delayed 14D respective to the rising edge of the zeroeth carry signal CAR0 when Q1, Q2, Q3, Q4, Q5, Q6 and Q7 are each a ONE occurring in the time slots occupied by the CLK pulses 256 and 512.
- This 14D delay of the rising edge of the seventh carry signal CAR7 occurs in the time slot occupied by every 128 th CLK pulse and narrows the "high" pulsewidth of the seventh carry signal CAR7 12D respective to the "high” pulsewidth of the zeroeth carry signal CAR0 or of the first carry signal CAR1.
- each carry signal is generated by ANDing the output signal of the previous counter stage with the carry signal supplied thereto, the ANDing being done by a respective NAND gate followed by a respective logic inverter. Supposing each counter stage to be as shown in FIG. 2, if the synchronous clock CLK is set to be logic "low” when the carry signal is logic “high” and the reset signal SET is logic “low”, the output of the NOR gate 54 is set to logic "high” rendering the transmission gate 64 transmissive to apply the output of the logic inverter 72 to the latch circuit 66, so the latch circuit 66 is toggled from its previous state to the opposite state.
- the latch circuit 68 When the synchronous clock CLK subsequently goes to logic "high” state rendering the transmission gate 64 non-transmissive and the transmission gate 62 transmissive, the latch circuit 68 is toggled from its previous state to the opposite state, so that Qi changes state.
- the transition of a carry signal to logic “high” state should be completed before the trigger-up, or transition from logic "low” to logic “high” of the next synchronous clock CLK pulse.
- the transition of the carry signal CAR 5 of FIG. 3B to logic "high” state should be completed before the trigger-up, or transition from logic "low” to logic "high” of the 65 th synchronous clock CLK pulse.
- transition of the carry signal from logic “high” to logic “low” should then be completed before the trigger-down, or transition from logic “high” to logic “low” of the next synchronous clock CLK pulse.
- transition of the carry signal CAR 5 of FIG. 3B to logic “low” state should be completed before the trigger-down, or transition from logic "high” to logic “low” of the 65 th synchronous clock CLK pulse.
- the carry signal transition to logic "high” has a time margin corresponding to one period of the synchronous clock CLK (i.e., the time between the triggers-up of the 64 th and the 65 th synchronous clock CLK pulses), but the carry signal transition to logic "low” has a time margin corresponding to only to the pulse width of the synchronous clock CLK (i.e., the "high” pulsewidth of the 65 th synchronous clock CLK pulse).
- the carry signals CAR0, CAR1, CAR2, CAR3, CAR4, CAR5, CAR6, CAR7 and CAR8 should all have completed their transitions from logic “low” to logic “high” state.
- FIG. 4 shows a synchronous binary counter arranged in accordance with the invention for faster carry propagation.
- the FIG. 4 synchronous binary counter like that of FIG. 1, includes nine counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 comprising respective triggered flip-flops, which can be of the type shown in FIG. 2.
- These T flip-flops receive a jam load control signal SET, a synchronous clock signal CLK, and a power-up enable signal ⁇ VCCH, each of which signals is applied in common to all of the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8.
- the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 supply upcount output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8, respectively, each of which output signals is in a ZERO logic state or in a ONE logic state except when being switched between those logic states. Responsive to the jam load control signal SET being in a ONE logic state, the output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8 will be set to the logic states of input signals A0, A 1, A2, A3, A4, A5, A6, A7, and A8 applied to the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 from respective low-impedance sources.
- the counter stages ST0, ST1, ST2, ST3, ST4, ST5, ST6, ST7 and ST8 are reset, to place their respective output signals Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7 and Q8 into respective ZERO logic states.
- a zeroeth carry signal CAR0 generated by a zeroeth counter stage ST0 is supplied without delay to the first counter stage ST1 and is also supplied without delay as an input signal of a first NAND gate 51, which first NAND gate 51 receives Q1 as a another input signal thereof.
- a first logic inverter 71 supplies a first logic inverter response to the first NAND gate 51 response, which first logic inverter response is supplied without delay to the second counter stage ST2 as a first carry signal CAR1, just as in the prior-art FIG. 1 synchronous binary counter.
- the first carry signal CAR1 is delayed 2D respective to the zeroeth carry signal CAR0 occurring when Q1 is a ONE, just as in the FIG. 1 prior-ann synchronous binary counter.
- FIGS. 5A, 5B and 5C for the FIG. 4 synchronous binary counter one will note that the relationship between the zeroeth carry signal CAR0 and the first carry signal CAR1 are the same as shown in the timing charts of FIGS. 3A, 3B and 3C for the FIG. 1 synchronous binary counter.
- a second carry signal CAR2 to be supplied without delay to the third counter stage ST3 is generated by a first NOR gate 61 in response to the first NAND gate 51 response and to second logic inverter response supplied by a second logic inverter 81 in response to Q2.
- the second carry signal CAR2 is generated by the first NOR gate 61 with delay D from the time when its input signals are both ZEROs--that is, when Q2 is a ONE and the first NAND gate 51 response is a ZERO responsive to Q1 being a ONE and to CAR0 being a ONE.
- the rising edge of the second carry signal CAR2 generated by the first NOR gate 61 is delayed by D from the falling edge of the first NAND gate 51 response, already delayed D from the rising edge of CAR0. That is, the rising edge of the second carry signal CAR2 is delayed only 2D from the rising edge of CAR0.
- the FIG. 1 counter the NOR gate 61 looks ahead to determine what the first carry signal CAR1 will be, before its generation by the logic inverter 71 for application to the counter stage ST2, following which the NOR gate 61 generates an earlier second carry signal CAR2 than in the FIG. 4 counter.
- the falling edge of the second carry signal CAR2 generated by the first NOR gate 61 can be delayed by D from the rising edge of the first NAND gate 51 response, already delayed D from the falling edge of CAR0. Or, alternatively, the falling edge of the second carry signal CAR2 generated by the first NOR gate 61 can be delayed by D from the rising edge of the second logic inverter 81 response to Q2 going low, already delayed by D from the rising edge of the synchronous clock CLK pulse next after each fourth synchronous clock CLK pulse. Whichever of these two race conditions first obtains, the falling edge of the second carry signal CAR2 is delayed 2D from the rising edge of the synchronous clock CLK pulse next after each fourth synchronous clock CLK pulse.
- the reader can note that the relationship between the first carry signal CAR1 and the second carry signal CAR2 differs from that shown in the timing charts of FIGS. 3A, 3B and 3C for the FIG. 1 synchronous binary counter.
- the reader's attention is directed to the 8 th , 16 th , 32 nd , 64 th , 128 th , 256 th and 512 th synchronous clock CLK pulses, particularly the 8 th .
- the rising edge of second carry signal CAR2 is generated 2D earlier in the FIG. 4 synchronous binary counter than in the FIG. 1 prior-art synchronous binary counter. So, the second carry signal CAR2 pulses are longer by 2D in the FIG. 4 counter than in the FIG. 1 counter.
- the second carry signal CAR2 is supplied without delay to the third counter stage ST3 and is also supplied without delay as an input signal of a second NAND gate 53, which second NAND gate 53 receives Q3 as another input signal thereof.
- a third logic inverter 73 supplies a third logic inverter response to the second NAND gate 53 response, which third logic inverter response is supplied without delay to the fourth counter stage ST4 as a third carry signal CAR3.
- the derivation of the third carry signal CAR3 from CAR2 and Q3 is similar to that in the FIG. 1 prior-art synchronous binary counter, with the rising edge of CAR3 being delayed 2D from the rising edge of CAR2. However, since the rising edge of CAR2 is delayed 2D from the rising edge of CAR0 in the FIG.
- the rising edge of CAR3 is delayed only 4D from the rising edge of CAR0 in the FIG. 4 synchronous binary counter rather than being delayed 6D as in the FIG. 1 prior-art synchronous binary counter.
- the reader can note that the relationship between the third carry signal CAR3 and the first carry signal CAR1 differs from that shown in the timing charts of FIGS. 3B and 3C for the FIG. 1 synchronous binary counter owing to the difference in the relationship between the first carry signal CAR1 and the second carry signal CAR2, despite the relationship between the second carry signal CAR2 and the third carry signal CAR3 being similar in the FIG. 1 and FIG. 4 counters.
- the reader's attention is directed to the 16 th , 32 nd , 64 th , 128 th , 256 th and 512 th synchronous clock CLK pulses, particularly the 16 th .
- the rising edge of the third carry signal CAR3 is generated 2D earlier in the FIG. 4 synchronous binary counter than in the FIG. 1 prior-art synchronous binary counter. Since the falling edges of the third carry signal CAR3 are generated at the same time in the FIG. 1 and FIG. 4 synchronous binary counters, the third carry signal CAR3 pulses are longer by 2D in the FIG. 4 counter than in the FIG. 1 counter.
- a fourth carry signal CAR4 to be supplied without delay to the fifth counter stage ST5 is generated by a second NOR gate 63 in response to the second NAND gate 53 response and to fourth logic inverter response supplied by a fourth logic inverter 83 in response to Q4.
- the fourth carry signal CAR4 is generated by the second NOR gate 63 with delay D from the time when its input signals both are ZEROs--that is, when Q4 is a ONE and the second NAND gate 53 response is a ZERO responsive to Q3 being a ONE and to CAR2 being a ONE.
- the rising edge of CAR4 generated by the second NOR gate 63 is delayed by D from the falling edge of the second NAND gate 53 response, already delayed D from the rising edge of CAR2.
- the rising edge of CAR4 is delayed only 2D from the rising edge of CAR2. Since the rising edge of CAR2 is delayed only 2D from the rising edge of CAR0, the rising edge of CAR4 is delayed only 4D from the rising edge of CAR0.
- the falling edge of the fourth carry signal CAR4 generated by the second NOR gate 63 is delayed by D from the rising edge of the fourth logic inverter 83 response to Q4 going low at the rising edge of each synchronous clock CLK pulse next after a 32 nd one.
- the reader can note that the relationship between the fourth carry signal CAR4 and the third carry signal CAR3 differs from that shown in the timing charts of FIGS. 3B and 3C for the FIG. 1 synchronous binary counter. This difference results from a local look-ahead procedure in the FIG. 1 counter in which the NOR gate 63 looks ahead to determine what the third carry signal CAR3 will be, before its generation by the logic inverter 73 for application to the counter stage ST4.
- the reader's attention is directed to the 32 nd , 64 th , 128 th , 256 th and 512 th synchronous clock CLK pulses, particularly the 32 nd .
- the rising edge of the fourth carry signal CAR4 is generated 4D earlier in the FIG. 4 synchronous binary counter than in the FIG. 1 prior-an synchronous binary counter. Since the falling edges of the fourth carry signal CAR4 are generated at the same time in the FIG. 1 and FIG. 4 synchronous binary counters, the fourth carry signal CAR4 pulses are longer by 4D in the FIG. 4 counter than in the FIG. 1 counter.
- the fourth carry signal CAR4 is supplied without delay to the fifth counter stage ST5 and is also supplied without delay as an input signal of a third NAND gate 55, which third NAND gate 55 receives Q0 and Q5 as other input signals thereof.
- a fifth logic inverter 75 supplies a fifth logic inverter response to the third NAND gate 55 response, which fifth logic inverter response is supplied without delay to the sixth counter stage ST6 as a fifth carry signal CARS.
- the reader can note that the rising edges of the fifth carry signal CAR5 are delayed 6D from the rising edges of the zeroeth carry signal CAR0, rather than 10D as shown in the timing charts of FIGS. 3B and 3C for the FIG. 1 synchronous binary counter.
- the reader's attention is directed to the 64 th , 128 th , 256 th and 512 th synchronous clock CLK pulses, particularly the 64 th .
- the rising edge of the fifth carry signal CAR5 is generated 4D earlier in the FIG. 4 synchronous binary counter than in the FIG. 1 prior-art synchronous binary counter. Since the falling edges of the fifth carry signal CAR5 are generated at the same time in the FIG. 1 and FIG. 4 synchronous binary counters, the fifth carry signal CAR5 pulses are longer by 4D in the FIG. 4 counter than in the FIG. 1 counter.
- a sixth carry signal CAR6 to be supplied without delay to the seventh counter stage ST7 is generated by a third NOR gate 65 in response to the third NAND gate 55 response and to sixth logic inverter response supplied by a sixth logic inverter 85 in response to Q6.
- the sixth carry signal CAR6 is generated by third NOR gate 65 with delay D from the time when its input signals both are ZEROs--that is, when Q6 is a ONE and the third NAND gate 55 response is a ZERO responsive to Q5 being a ONE and to CAR4 being a ONE.
- the rising edge of CAR6 generated by the third NOR gate 65 is delayed by D from the falling edge of the second NAND gate 53 response, already delayed D from the rising edge of CAR4.
- the rising edge of CAR6 is delayed only 2D from the rising edge of CAR4. Since the rising edge of CAR4 is delayed only 2D from the rising edge of CAR2 and the rising edge of CAR2 is delayed only 2D from the rising edge of CAR0, the rising edge of CAR6 is delayed only 6D from the rising edge of CAR0.
- the falling edge of the sixth carry signal CAR4 generated by the third NOR gate 65 is delayed by D from the rising edge of the sixth logic inverter 85 response to Q6 going low at the rising edge of each synchronous clock CLK pulse next after a 64 th one.
- the reader can note that the relationship between the sixth carry signal CAR6 and the fifth carry signal CAR5 differs from that shown in the timing charts of FIG. 3C for the FIG. 1 synchronous binary counter. This difference results from a local look-ahead procedure in the FIG. 1 counter in which the NOR gate 65 looks ahead to determine what the fifth CAR5 signal CAR5 will be, before its generation by the logic inverter 75 for application to the counter stage ST6.
- the reader's attention is directed to the 128 th , 256 th and 512 th synchronous clock CLK pulses, particularly the 128 th .
- the rising edge of the sixth carry signal CAR6 is generated 6D earlier in the FIG.
- the sixth carry signal CAR6 is supplied without delay to the seventh counter stage ST7 and is also supplied without delay as an input signal of a fourth NAND gate 57, which fourth NAND gate 57 receives Q7 as another input signal thereof.
- a seventh logic inverter 77 supplies a seventh logic inverter response to the fourth NAND gate 57 response, which seventh logic inverter response is supplied without delay to the eighth counter stage ST8 as a seventh carry signal CAR7.
- the reader can note that the rising edges of the seventh carry signal CAR7 are delayed 8D from the rising edges of the zeroeth carry signal CAR0, rather than 14D as shown in the timing charts of FIG. 3C for the FIG. 1 synchronous binary counter.
- the reader's attention is directed to the 256 th and 512 th synchronous clock CLK pulses.
- the rising edge of the seventh carry signal CAR7 is generated 6D earlier in the FIG. 4 synchronous binary counter than in the FIG. 1 prior-art synchronous binary counter. Since the falling edges of the seventh carry signal CAR7 are generated at the same time in the FIG. 1 and FIG. 4 synchronous binary counters, the seventh carry signal CAR7 pulses are longer by 6D in the FIG. 4 counter than in the FIG. 1 counter.
- the modified ripple carry generation scheme has general application to binary counters that have at least two successive counter stages, the earlier receiving a carry input and the later supplying a carry output.
- the counter stages of the binary counter can be of designs different from that of FIG. 2, with somewhat different triggering circuitry, without affecting the efficacy of the modified ripple carry generation scheme of the invention, as will be clear to one skilled in the art and acquainted with this specification and the accompanying drawing.
- the invention is not directly concerned with the specific means for causing flip-flops within the counter stages each to switch its respective output signal from the one of said ZERO and ONE logic states it was previously in to the other of said ZERO and ONE logic states; these means can take a variety of forms other than those specifically illustrated in the drawing and described in this specification, as known to those skilled in the art.
- the counter stages may be of a type that does not include triggered flip-flops and can each be of in the type constructed from a digital half-adder or exclusive-OR gate, for example.
- the invention permits reductions in the counter hardware and a slight reduction in the carrier propagation time to a final counter stage following a penultimate counter stage using a NAND gate for the generation of its carry out (e.g., the final counter stage ST8 following a penultimate counter stage ST7 using a NAND gate for the generation of its carry out in the FIG. 4 binary synchronous counter).
- a final counter stage following a penultimate counter stage using a NAND gate for the generation of its carry out e.g., the final counter stage ST8 following a penultimate counter stage ST7 using a NAND gate for the generation of its carry out in the FIG. 4 binary synchronous counter.
- This replacement eliminates the delays in the respective logic inverters 52 of the counter stages ST2, ST4, ST6 and ST8; and this replacement also eliminates the delays D in the logic inverters 71, 73, 75 and 77.
- the timing of the carries CAR1, CAR3, CAR5 and CAR7 is advanced, but the timing of the carries CAR0, CAR2, CAR4 and CAR6 is not changed by this modification.
- FIG. 6 shows the modification of the FIG. 4 synchronous binary counter wherein: the logic inverters 71, 73, 75 and 77 are replaced by respective wire connections; and the counter stages ST2, ST4, ST6 and ST8 are replaced by modified counter stages ST2 1 , ST4 1 , ST6 1 and ST8 1 that do not include respective logic inverters 52.
- FIG. 4 shows the logic inverters 81, 83 and 85 as elements separate from the counter stages ST2, ST4 and ST6, the respective Q2, Q4 and Q6 output signals of which stages the logic inverters 81, 83 and 85 respectively bit complement; a person skilled in the art of digital hardware design and acquainted with the foregoing disclosure will readily recognize that the complemented Q2, Q4 and Q6 output signals often can be obtained from within the counter stages ST2, ST4 and ST6 without need for further logic inverters 81, 83 and 85.
- a complement Q i of the Q i output signal is available at the output of the logic inverter 72, for example.
- the delay for the carry fall times provided by the further logic inverters 81, 83 and 85 will be provided by the respective logic inverter 72 of the counter stages ST2, ST4 and ST6.
- FIG. 7 shows the modification of the FIG. 4 synchronous binary counter wherein: the logic inverters 81, 83 and 85 are replaced by respective wire connections; and the counter stages ST2, ST4 and ST6 are replaced by modified counter stages ST2 2 , ST4 2 and ST6 2 that supply Q2, Q4 and Q6 output signals in addition to Q2, Q4 and Q6 output signals.
- FIG. 8 shows a modification of the FIG.
- the synchronous binary counter can be adapted for up-counting, for down-counting, for simultaneously up-counting and down-counting, or for counting in a direction selected by applied control signal, as known by those skilled in the art of designing such counters.
- the synchronous binary counter may be adapted for counting in binary-coded arithmetic using a radix other than two.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Dram (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Inverter Devices (AREA)
- Manipulation Of Pulses (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930023598A KR950015184B1 (ko) | 1993-11-08 | 1993-11-08 | 동기식 이진카운터 |
KR23598/1993 | 1993-11-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5559844A true US5559844A (en) | 1996-09-24 |
Family
ID=19367538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/337,503 Expired - Lifetime US5559844A (en) | 1993-11-08 | 1994-11-08 | Binary counter with sped-up ripple carry |
Country Status (7)
Country | Link |
---|---|
US (1) | US5559844A (zh) |
JP (1) | JP3629050B2 (zh) |
KR (1) | KR950015184B1 (zh) |
CN (1) | CN1088941C (zh) |
DE (1) | DE4439929C2 (zh) |
GB (1) | GB2284082B (zh) |
TW (1) | TW287332B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692026A (en) * | 1996-05-31 | 1997-11-25 | Hewlett-Packard Company | Apparatus for reducing capacitive loading of clock and shift signals by shifting register-based devices |
US5946369A (en) * | 1997-07-30 | 1999-08-31 | Lucent Technologies Inc. | High-speed binary synchronous counter with precomputation of carry-independent terms |
US6031887A (en) * | 1997-07-30 | 2000-02-29 | Lucent Technolgies Inc. | High-speed binary synchronous counter |
US6470064B2 (en) * | 2000-01-11 | 2002-10-22 | Raytheon Company | Extended length counter chains in FPGA logic |
US6642758B1 (en) * | 1998-11-03 | 2003-11-04 | Altera Corporation | Voltage, temperature, and process independent programmable phase shift for PLL |
US20040024803A1 (en) * | 2002-07-31 | 2004-02-05 | Allen Montijo | Cascaded modified PRBS counters form easily programmed and efficient large counter |
US6707874B2 (en) | 2002-04-15 | 2004-03-16 | Charles Douglas Murphy | Multiple-output counters for analog-to-digital and digital-to-analog conversion |
US7109765B1 (en) | 1998-11-03 | 2006-09-19 | Altera Corporation | Programmable phase shift circuitry |
US7149275B1 (en) * | 2004-01-29 | 2006-12-12 | Xilinx, Inc. | Integrated circuit and method of implementing a counter in an integrated circuit |
US12040797B2 (en) * | 2022-05-23 | 2024-07-16 | Changxin Memory Technologies, Inc. | Counter circuit |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321500C (zh) * | 2004-04-14 | 2007-06-13 | 武汉大学 | 一种高速同步计数器 |
CN102609317B (zh) * | 2012-01-13 | 2014-05-14 | 从兴技术有限公司 | 一种信号量的处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4741006A (en) * | 1984-07-12 | 1988-04-26 | Kabushiki Kaisha Toshiba | Up/down counter device with reduced number of discrete circuit elements |
US4780894A (en) * | 1987-04-17 | 1988-10-25 | Lsi Logic Corporation | N-bit gray code counter |
US4924484A (en) * | 1988-10-27 | 1990-05-08 | International Business Machines Corp. | High speed digital counter |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960003526B1 (ko) * | 1992-10-02 | 1996-03-14 | 삼성전자주식회사 | 반도체 메모리장치 |
US4513432A (en) * | 1982-06-30 | 1985-04-23 | At&T Bell Laboratories | Multiple self-contained logic gate counter circuit |
US4621370A (en) * | 1984-05-29 | 1986-11-04 | Gte Communication Systems Corporation | Binary synchronous count and clear bit-slice module |
JPS6240824A (ja) * | 1985-08-19 | 1987-02-21 | Toshiba Corp | 同期型バイナリカウンタ |
JPS62165433A (ja) * | 1986-01-17 | 1987-07-22 | Matsushita Electric Ind Co Ltd | 同期型カウンタ回路 |
US4856035A (en) * | 1988-05-26 | 1989-08-08 | Raytheon Company | CMOS binary up/down counter |
JP2733251B2 (ja) * | 1988-06-30 | 1998-03-30 | シャープ株式会社 | 同期式プログラマブルカウンタ |
JPH04239819A (ja) * | 1991-01-24 | 1992-08-27 | Oki Electric Ind Co Ltd | 同期式カウンタ |
DE4201776C1 (en) * | 1992-01-23 | 1993-09-16 | Hurth Maschinen Und Werkzeuge Gmbh, 8000 Muenchen, De | Synchronous dual counter stage using flip=flops - has AND=gate receiving all flip=flop outputs controlling memory flip=flop coupled to transfer output of dual counter stage |
US5237597A (en) * | 1992-03-20 | 1993-08-17 | Vlsi Technology, Inc. | Binary counter compiler with balanced carry propagation |
-
1993
- 1993-11-08 KR KR1019930023598A patent/KR950015184B1/ko not_active IP Right Cessation
-
1994
- 1994-11-08 DE DE4439929A patent/DE4439929C2/de not_active Expired - Fee Related
- 1994-11-08 JP JP27350694A patent/JP3629050B2/ja not_active Expired - Fee Related
- 1994-11-08 TW TW083110314A patent/TW287332B/zh not_active IP Right Cessation
- 1994-11-08 CN CN94118088A patent/CN1088941C/zh not_active Expired - Fee Related
- 1994-11-08 GB GB9422528A patent/GB2284082B/en not_active Expired - Fee Related
- 1994-11-08 US US08/337,503 patent/US5559844A/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4741006A (en) * | 1984-07-12 | 1988-04-26 | Kabushiki Kaisha Toshiba | Up/down counter device with reduced number of discrete circuit elements |
US4780894A (en) * | 1987-04-17 | 1988-10-25 | Lsi Logic Corporation | N-bit gray code counter |
US4924484A (en) * | 1988-10-27 | 1990-05-08 | International Business Machines Corp. | High speed digital counter |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692026A (en) * | 1996-05-31 | 1997-11-25 | Hewlett-Packard Company | Apparatus for reducing capacitive loading of clock and shift signals by shifting register-based devices |
US5946369A (en) * | 1997-07-30 | 1999-08-31 | Lucent Technologies Inc. | High-speed binary synchronous counter with precomputation of carry-independent terms |
US6031887A (en) * | 1997-07-30 | 2000-02-29 | Lucent Technolgies Inc. | High-speed binary synchronous counter |
US6642758B1 (en) * | 1998-11-03 | 2003-11-04 | Altera Corporation | Voltage, temperature, and process independent programmable phase shift for PLL |
US7109765B1 (en) | 1998-11-03 | 2006-09-19 | Altera Corporation | Programmable phase shift circuitry |
US7358783B1 (en) | 1998-11-03 | 2008-04-15 | Altera Corporation | Voltage, temperature, and process independent programmable phase shift for PLL |
US6470064B2 (en) * | 2000-01-11 | 2002-10-22 | Raytheon Company | Extended length counter chains in FPGA logic |
US6707874B2 (en) | 2002-04-15 | 2004-03-16 | Charles Douglas Murphy | Multiple-output counters for analog-to-digital and digital-to-analog conversion |
US20040024803A1 (en) * | 2002-07-31 | 2004-02-05 | Allen Montijo | Cascaded modified PRBS counters form easily programmed and efficient large counter |
US7149275B1 (en) * | 2004-01-29 | 2006-12-12 | Xilinx, Inc. | Integrated circuit and method of implementing a counter in an integrated circuit |
US12040797B2 (en) * | 2022-05-23 | 2024-07-16 | Changxin Memory Technologies, Inc. | Counter circuit |
Also Published As
Publication number | Publication date |
---|---|
GB2284082B (en) | 1998-02-11 |
CN1088941C (zh) | 2002-08-07 |
TW287332B (zh) | 1996-10-01 |
GB9422528D0 (en) | 1995-01-04 |
JP3629050B2 (ja) | 2005-03-16 |
DE4439929C2 (de) | 2000-07-06 |
DE4439929A1 (de) | 1995-05-11 |
GB2284082A (en) | 1995-05-24 |
KR950015061A (ko) | 1995-06-16 |
CN1109660A (zh) | 1995-10-04 |
KR950015184B1 (ko) | 1995-12-23 |
JPH07193492A (ja) | 1995-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6181174B1 (en) | Semiconductor integrated circuit device | |
US5521879A (en) | Synchronous dynamic random acess memory | |
US5559844A (en) | Binary counter with sped-up ripple carry | |
US5327019A (en) | Double edge single data flip-flop circuitry | |
US6016403A (en) | State machine design for generating empty and full flags in an asynchronous FIFO | |
US4759043A (en) | CMOS binary counter | |
KR100789195B1 (ko) | 입출력 인터페이스 및 반도체 집적 회로 | |
US5629903A (en) | Semiconductor memory device | |
US5329477A (en) | Adder circuit having carry signal initializing circuit | |
US5852748A (en) | Programmable read-write word line equality signal generation for FIFOs | |
JP3998217B2 (ja) | インターリーブド及び順次カウンタ | |
US6272065B1 (en) | Address generating and decoding circuit for use in burst-type random access memory device having a double data rate, and an address generating method thereof | |
JPH07202682A (ja) | カウンタセルおよびカウンタ回路 | |
JPH1185562A (ja) | 半導体集積回路 | |
US5561674A (en) | Synchronous counter and method for propagation carry of the same | |
IE50618B1 (en) | Programmable counter circuit | |
JP2786463B2 (ja) | フリップフロップ回路 | |
US6172527B1 (en) | Output circuit capable of reducing feedthrough current | |
CA2172095C (en) | Precision time of day counter | |
US6995585B2 (en) | System and method for implementing self-timed decoded data paths in integrated circuits | |
US5943292A (en) | Address counter circuit and semiconductor memory device | |
KR20010006850A (ko) | 스큐 포인터 발생 회로 및 방법 | |
EP1050883B1 (en) | Circuits for controlling the storage of data into memory | |
US6701423B2 (en) | High speed address sequencer | |
JPH1116345A (ja) | カウンタ回路及びそれを用いた半導体メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEE, SI-YEOL;REEL/FRAME:007331/0012 Effective date: 19941208 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |