Long and Fast Up/Down Counters
722 IEEE TRANSACTIONS ON COMPUTERS, VOL. 47, NO. 7, JULY 1998 Long and Fast Up/Down Counters Mircea R. Stan, Member, IEEE, Alexandre F. Tenca, and Milos D. Ercegovac, Member, IEEE Computer Society Abstract—This paper presents recent advances in the design of constant-time up/down counters in the general context of fast counter design. An overview of existing techniques for the design of long and fast counters reveals several methods closely related to the design of fast adders, as well as some techniques that are only valid for counter design. The main idea behind the novel up/down counters is to recognize that the only extra difficulty with an up/down (vs. up-only or down-only) counter is when the counter changes direction from counting up to counting down (and vice-versa). For dealing with this difficulty, the new design uses a “shadow” register for storing the previous counter state. When counting only up or only down, the counter functions like a standard up-only or down-only constant time counter, but, when it changes direction instead of trying to compute the new value (which typically requires carry propagation), it simply uses the contents of the shadow register which contains the exact desired previous value. An alternative approach for restoring the previous state in constant time is to store the carry bits in a Carry/Borrow register. Index Terms—Binary counter, constant time counter, serial counter, parallel counter, prescaler, up/down counter. ——————————F—————————— 1INTRODUCTION OUNTING, when viewed as incrementing an integer • reversible—the counter counts “up” (increments) when C number by one, is one of the simplest arithmetic op- the UP/ DOWN input signal is inactive and counts erations, and many design techniques used for speeding up “down” (decrements) when the UP/ DOWN input more complex arithmetic operations, especially addition, signal is active, can be applied to counters and exemplified with their help.
[Show full text]