Comprehensive design and analysis of Gray code counters using 2-dimensional 2-dot 1-electron QCA