https://www.study24x7.com/post/36810/an-asic-can-be-correctly-designed-by-using-programming-0