FullAdder:
circuit
inputs
a,b,ci
outputs
s,co
ha1:
HalfAdder
(a,b),(s1,co1)
ha2:
HalfAdder
(ci,s1),(s,co2)
g3:
or
(co1,co2),co
endcircuit
HalfAdder:
circuit
inputs
a,b
outputs
s,c
g1:
xor
(a,b),s
g2:
and
(a,b),c
endcircuit