Latch-up in CMOS circuits: a review