module tri_fu_csa22_h2(
   a,
   b,
   car,
   sum
);
   input   a;
   input   b;
   output  car;
   output  sum;

   wire    car_b;
   wire    sum_b;

   assign car_b = (~(a & b));
   assign sum_b = (~(car_b & (a | b)));		// this is equiv to an xnor
   assign car = (~car_b);
   assign sum = (~sum_b);

endmodule