Design Strategies for Source Coupled Logic Gates