A zero-stopping incrementer operates on the recognition that half of all digital values that require incrementing will be even numbers; that is, the least significant bit (LSB) is a binary "0". Incrementing such a number merely requires changing the LSB from a binary "0" to a binary "1". For odd numbers (i.e., those where the LSB is a binary "1"), the zero-stopping incrementer searches for the first binary "0" beginning with the LSB. Once found, that binary "0" is changed to a binary "1" and all the binary "1s" preceding it are changed to binary "0s". No change is required to the higher order bits following the first binary "0". This operation is very fast, the worst case being the case when all the binary bits of the number to be incremented are "1s". Nevertheless, the process is significantly increased, especially for 64-bit numbers which are processed by modern superscalar microprocessors. As compared with conventional incrementers using an adder-like scheme, the zero-stopping incrementer is about three times faster with power consumption less than half of the conventional incrementers.
In an adder apparatus, a first logic circuit performs a NOR operation upon a first bit of an n-bit input signal and a control signal to generate a first signal. A second logic circuit performs an OR operation upon the first bit of the n-bit input signal and the control signal to generate a logic OR signal and performs a NAND operation upon the logic OR signal and a second bit of the n-bit input signal to generate a second signal. Each of third logic circuits performs a NAND operation upon an (i-1)th (i=3, 4, . . . , n) bit of the n-bit input signal and i-th bit of the n-bit input signal to generate a third signal. A carry signal generating circuit receives the first, second and third signals to generate "n" carry signals. A sum generation circuit receives the n-bit input signal, the "n" carry signals and the control signal to generate an (n+1)-bit output signal and includes a fourth logic circuit for performing an exclusive NOR operation upon the first bit of the n-bit input signal and the control signal to generate a first bit of the (n+1)-bit output signal.
A fast incrementer using zero detection and an increment method thereof. The incrementer performs a logic combination on an operand, first logic state inclusion information for each b-bit group of the operand, flag information for each b-bit group of the operand, and an increment value, and outputs a whole increment value for the operand.
An integrated circuit and method for rounding a number in one of a first or second format to produce a rounded result wherein the number is represented by a set of bits. A first incrementer increments a first subset of the set of bits in response to being enabled and a second incrementer coupled to the first incrementer increments a second subset of the set of bits in response to being enabled. Mode selection logic coupled to the first and second incrementers selectively enables one of the first or second incrementers in response to a control signal indicating the format of the number to be rounded, the first incrementer being enabled if the number is in the first format and the second incrementer being enabled if the number is in the second format.
An incrementer/decrementer architecture having a reduced internal block fanout which is achieved efficiently in terms of the silicon area needed to implement the incrementer/decrementer. The incrementer/decrementer of the present invention is characterized by a modified tree structure having operators located in such a manner that the maximum internal block fanout is equal to (incrementer/decrementer width)/8 for incrementer/decrementers having a width of at least 16 bits. For incrementer/decrementers having a width of less than 16 bits, the internal block fanout is 2. The routing complexity is increased in order to implement redundant overlapping operations which, in turn, decreases the internal block fanout. However, increases in routing complexity can be accomplished within the minimum X-by-Y area of each stage of the incrementer/decrementer. Therefore, the overall performance of the incrementer/decrementer of the present invention can be optimized while meeting minimum area requirements.
Disclosed is a novel n-bit binary counter with low power consumption, which comprises a set of half-adders for adding a "1" to an n-bit input signal, which includes a lower-order m bit component and a higher-order (n-m) bit component, and a set of D (data) flip-flops for storing outputs of the half-adders. The set of half-adders are divided into two sections, one of which is a first adder section for adding a "1" to the lower-order m bit component and the other of which is a second adder section for adding a carry signal from the first adder section to the higher-order (n-m) bit component. The set of D flip-flops are divided into two sections, one of which is a first register section to store outputs of the first adder section and the other of which is a second register section to store outputs of the second adder section. The n-bit input signal is comprised of the outputs of the first and second register sections. The novel n-bit binary counter further comprises a clock gating circuit which allows the second register section to store the outputs of the second adder section only when the carry signal of "1" is generated from the first adder section. Since D flip-flops of the second register section are not toggled until the carry signal of "1" is generated from the first -adder section.