CSCI 255 Full Adder

The Full Adder — Our example

As a truth table

AnBnCnCnp1Sn
00000
00101
01001
01110
10001
10110
11010
11111

As a C program

  int An, Bn, Cn, Cnp1, Sn ;
  int tSum = An + Bn + Cn ;
  Sn = tSum & 0x1 ;
  Cnp1 = (tSum & 0x2) >> 1 ;

As a SystemVerilog program

module fulladder(
  input An,
  input Bn,
  input Cn,
  output Cnp1,
  output Sn) ;
    assign {Cnp1, Sn} = An + Bn + Cn ;
endmodule