VLSI CMOS Ripple Carry Adder
Virtuoso Design: layout.zip
Using NAND gates can compress the design of various logic circuits such as the ripple carry adder. The download I provided uses a CMOS implementation with two adders combined making it a 2-bit adder. Simply keep pasting adders next to each other to continue increasing the bit length of the overall RCA.
In the image above I tried adding some useful tags so you can easily identify all the parts and the different ripple modules. The poly layers show you the inputs, A0 and B0 belong with module 1; A1 and B1 belong to module 2, and so on. The carryout becomes the input for the carry-in, and the sums are shown for each carry adder.