Both diminished-one addition ( modulo-{} ) and one’s complement addition ( modulo-{
} ) make use of this type of adders. The last carry output must be added to the final sum, thus, the so-called end-around carry. Prefix adders integrate the end-around carry perfectly as shown in the following figure (taken from http://www.iis.ee.ethz.ch/~zimmi/publications/adder_arch.pdf),
where the is fed back into the
in the last row of muxes. If diminished-one addition is to be implemented, then, the
must be inverted.
Note that addition has been incremented by just one logic level more. The only disadvantage of a structure like this is the high load seen by . Therefore, appropiate drivers/buffers are needed.
For full-custom implementations, the carry-increment adder is my favorite one. A 4-bit and a 5-bit example follows








