Inter-module Interfacing techniques for SoCs with multiple clock domains to address challenges in modern deep sub-micron technologies