1. A method of generating a circuit design comprising receiving target data and training data; and generating a circuit design for implementing the target data which is over-provisioned with respect to the target data according to the training data.