Carry bypass adder

Carry bypass adder

A "carry bypass adder" improves the delay of a ripple-carry adder.

The two addends are split in blocks of "n" bits. The output carry of each block is dependent on the input carry only if, for each of the "n" bits in the block, at least one addend has a "1" bit (see the definition of carry propagation under "Carry lookahead adder"). The output carry mathrm{Cout}_{i+n-1}, for the block corresponding to bits "i" to "i+n-1" is obtained from a multiplexer, wired as follows:

* SEL = (A_i + B_i) (A_{i+1} + B_{i+1}) ... (A_{i+n-1} + B_{i+n-1})
* A = mathrm{Cripple}_{i+n-1} (the carry output for the ripple adder summing bits "i" to "i+n-1")
* B = mathrm{Cout}_{i-1}

Implementation Overview

Breaking this down into more specific terms, in order to build a 4-bit carry bypass adder, 6 full adders would be needed. The input buses would be a 4-bit "A" and a 4-bit "B", with a carry in ("CIN") signal. The output would be a 4-bit bus X and a carry out signal ("COUT").

The first two full adders would add the first two bits together. The carry out signal from the second full adder (C_1)would drive the select signal for three 2 to 1 multiplexers. The second set of 2 full adders would add the last two bits assuming C_1 is a logical 0. And the final set of full adders would assume that C_1 is a logical 1.

The multiplexers then control which output signal is used for "COUT", X_2 and X_3.

Verilog

module cba_4(A, B, X, CIN, COUT); input [3:0] A, B; input CIN; output [3:0] X; output COUT; reg [3:0] X; reg [2:0] base; reg [2:0] ifzero; reg [2:0] ifone; reg COUT; always @(A or B or CIN) begin base = A [1:0] + B [1:0] + {1'b0, CIN}; ifzero = A [3:2] + B [3:2] ; ifone = A [3:2] + B [3:2] + 2'b01; if(base [2] ) begin X = {ifone [1:0] , base [1:0] }; COUT = ifone [2] ; end else begin X = {ifzero [1:0] , base [1:0] }; COUT = ifzero [2] ; end end endmodule


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Carry-Bypass-Adder — Das Addiernetz bildet aus den Summanden a3..0 und b3..0 die Summe s3..0, carry in und carry out ermöglichen die Kaskadierung des Schaltnetzes Das Addierwerk ist die Hauptkomponente des Rechenwerks einer CPU. Das Addierwerk ermöglicht die Addition …   Deutsch Wikipedia

  • Carry-lookahead adder — 4 bit adder with carry lookahead A carry lookahead adder (CLA) is a type of adder used in digital logic. A carry lookahead adder improves speed by reducing the amount of time required to determine carry bits. It can be contrasted with the simpler …   Wikipedia

  • Adder (electronics) — In electronics, an adder or summer is a digital circuit that performs addition of numbers.In modern computers adders reside in the arithmetic logic unit (ALU) where other operations are performed.Although adders can be constructed for many… …   Wikipedia

  • Sum addressed decoder — In CPU design, a Sum Addressed Decoder or Sum Addressed Memory (SAM) Decoder is a method of reducing the latency of the CPU cache access. This is achieved by fusing the address generation sum operation with the decode operation in the cache… …   Wikipedia

  • Mikoyan MiG-31 — For the fictional aircraft of the novel and movie Firefox, see Mikoyan MiG 31 (fictional). MiG 31 …   Wikipedia

  • HAL Tejas — infobox Aircraft name =Tejas type =Multirole fighter manufacturer =Aeronautical Development Agency Hindustan Aeronautics Limited caption = Pair of Tejas flying in formation designer = first flight =4 January 2001 introduction =Planned by 2010/11… …   Wikipedia

  • United Kingdom — a kingdom in NW Europe, consisting of Great Britain and Northern Ireland: formerly comprising Great Britain and Ireland 1801 1922. 58,610,182; 94,242 sq. mi. (244,100 sq. km). Cap.: London. Abbr.: U.K. Official name, United Kingdom of Great… …   Universalium

  • Yakovlev Yak-141 — Yak 141 Yakovlev Yak 141 Role VTOL fighter Man …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”