DESIGNING COMBINATIONAL LOGIC GATES IN CMOS