Circuit and layout techniques for soft-error-resilient digital CMOS circuits