https://doi.org/10.1109/TSMC.2018.2881018