NOVA: state assignment of finite-state machines for optimaltwo-level logic implementations