Neuro-Inspired Computing Using Emerging Non-Volatile Memories