Static redundancy techniques for CMOS gates