An Energy Estimation Method for Asynchronous Circuits with Application to an Asynchronous Microprocessor