.PS log_init # Usual defs... qrt=dimen_/4; hlf=dimen_/2; dim=dimen_; G1:XOR_gate line from G1.In1 left_ 6*L_unit "$A_n$ " ljust_; line from G1.In2 left_ 6*L_unit "$B_n$ " ljust_ move to G1.center then down 8*L_unit;right_ G2:AND_gate with .center at (G1.center,Here) line from G2.In1 left_ 2*L_unit line to (Here,G1.In1); dot line from G2.In2 left_ 4*L_unit line to (Here,G1.In2);dot line from G1.Out right_ 10*L_unit G3:XOR_gate with .In2 at Here line from G3.In1 left_ 6*L_unit then up_ 2*L_unit then left_ "Carry$_{n-1}$ " ljust_ line from G3.Out right_ 4*L_unit; " Sum $n$" ljust_ move to G3.center then down_ 8*L_unit; right_ G4:AND_gate with .center at (G3.center,Here) line from G4.In1 left_ 2*L_unit line to (Here,G3.In1); dot line from G4.In2 left 4*L_unit line to (Here,G3.In2); dot move to G4.center then down_ 8*L_unit; right_ G5:OR_gate with .center at (G4.center,Here) line from G5.In1 left_ 2*L_unit then up_ 2.5*L_unit line to (G4.Out,Here) then right_ 2*L_unit line to (Here,G4.Out) then to G4.Out line from G5.In2 left_ 6*L_unit line to (Here,G2.Out) then to G2.Out line from G5.Out right_ 4*L_unit; " Carry$_n$" ljust_ move down_ 3*L_unit; right_; "\tiny FullAdder" ljust_ .PE