Memristor Based Logic Architectures