Energy Efficient Hardware Implementation Of Neural Networks Using Emerging Non-Volatile Memory Devices