**5. Conclusions**

In this chapter, we gave an overview of the implementation of ReRAM-based neuromorphic computing engines in the last several years. The overview covers hardware designs of synapses and neurons, neural network implementation, hardware and software co-design, and novel architectural designs. The ReRAM-based synapses and neurons give a rebirth of neuromorphic computing through its ultra-small scale, inherent synaptic plasticity property, and capability to enable high-parallelism neural network operations. Accordingly, neuromorphic computing systems for different neural networks were implemented with significantly high computing efficiency in speed and energy compared to the traditional computing platform. Hardwaresoftware co-design is a widely utilized approach to overcome the ReRAM-based hardware limitations such as limited resistive states, stuck-at-fault, signal fluctuation. Novel in-memory computing architectures are also extensively explored based on the ReRAM-based neuromorphic engine and various techniques are explored to overcome the challenges in neural network computing and optimize computing efficiency. With the prosperous advancement of ReRAM-based neuromorphic computing, specialized accelerators for various neural networks and applications are also under extensive study.
