Completion Detection in Asynchronous Circuits: Toward Solution of Clock-Related Design Challenges