Variations in nanometer CMOS flip-flops: Part i - Impact of process variations on timing