Adder (BCT)
Adder can add (or subtract) two numbers together. Negating the B input will result in a subtraction.
Ripple Carry Adder
The ripple carry adder is the simplest of adders but it's also the slowest. The carry results ripple through all the Full Adders one after another. The output delay is the total of all Full Adders. The current design takes 56 delays.

Carry Lookahead Adder
I already have a design for a fast balanced ternary lookahead Incrementer. It's can add or subtract one from a Tryte in just 7 delays.
However, I have not figured out a working carry lookahead adder. A balanced ternary design might not be practical or even possible.
Carry Select Adder
Another fast adder design is the carry select adder. This design uses MUXs to select the correct answer from adder blocks that pre-calculate the possible carries in parallel. Most of the adder's delay then becomes the MUXs selecting correct answers just in time with the adder blocks sized to finish around the same time. The current design is 2.5 times faster than the ripple carry at 22 delays. The big disadvantage of a carry select adder is it's size and complexity. Due to ternary's base 3 logic there are three ways a carry can go so three pre-calculated answers need to be generated.

Prebiased Carry Select![]() |
Positive Prebiased Adder![]() |
Negative Prebiased Adder![]() |
Carry Select

Word Adder
The lookahead Incrementer can be used to greatly speed up the adding of two Words. Both the high and low Trytes can add in parallel and then use an Incrementer to propagate the low result carry through the high result to finalize the answer. This only takes Adder + Incrementer delays.
I wonder if the technique of using parallel carry select adding and lookahead Incrementer carry propagating could possibly be hybridized to make an even faster adder? I have not had time to explore this yet.