COACH:A Computer Aided Design Tool for Computer Architects