Inom elektronik är en carry-toggle adderare en speciell typ av implementering av en adderare , som är en logisk grind som beräknar -bitsumman av två -bitars tal. Bärbrytarens adderare är enkel men snabbare och har en grinddjupnivå på .
En bärswitchadderare består vanligtvis av två seriella bäradderare och en multiplexer . Genom att lägga till två n-bitars tal, gör bärväxlingsadderaren två adderare (därav behovet av två på varandra följande bäradderare) för att utföra beräkningen två gånger, en gång med bärgissningen noll och den andra antar en. Efter att de två resultaten har beräknats, väljs sedan den korrekta summan och den korrekta överföringen av multiplexorn när den korrekta överföringen är känd.
Antalet bitar i varje överföringsomkopplarblock kan eller kanske inte är detsamma. I fallet med block av samma storlek uppstår den optimala fördröjningen för ett block av storlek . I fallet med block med ojämn storlek måste blockstorleken ha en fördröjning, från A- och B-termingångarna till överföringsutgången, lika med fördröjningen av multiplexorkedjan framför den, så att utgångsöverföringen endast beräknas en gång . fördröjningen är en derivata av storleken på identiska block, där det ideala antalet fulladderingselement per block är lika med kvadratroten av antalet adderade bitar, eftersom detta ger lika många multiplexorfördröjningar.
Ovan är den grundläggande byggstenen för en överförings-växlingsadderare, där blockstorleken är 4. Två 4-bitars seriella överföringsadderare multiplexeras tillsammans, där de resulterande överförings- och summabitarna växlas av bäringången. Eftersom en seriell bäradderare antar en bäringång på 0 och den andra antar en bäringång på 1, ger byte av vilken adderare som hade rätt gissning med den faktiska bäringången det önskade resultatet.
En 16-bitars carry-toggle adderare med identiska block av storlek 4 kan skapas av tre sådana block och en 4-bitars carry-to-sequence adderare. Eftersom ingångsöverföringen är känd från början av beräkningen, behövs inte överföringsomkopplarblocket för de första fyra bitarna. Fördröjningen av denna adderare kommer att vara fyra hela adderare fördröjningar, plus tre multiplexor fördröjningar.
En 16-bitars carry-toggle adderare med olika blockstorlekar kan skapas på liknande sätt. Här har vi visat en huggorm med block i storlek 2-2-3-4-5. Denna partition är idealisk när den fullständiga adderfördröjningen är lika med multiplexorfördröjningen, vilket är osannolikt. Den totala fördröjningen är två hela adderingsfördröjningar och fyra multiplexorfördröjningar. Vi försökte göra fördröjningen genom de två bärkedjorna och bärfördröjningen i föregående steg lika.
Denna adderdesign kan kompletteras med en överföringsadderare för att generera multiplexeringångar, vilket ger ännu bättre prestanda än en parallellprefixadderare samtidigt som den potentiellt minskar arean. Ett exempel visas i artikeln Cogge-Stone adder .