This book focuses on neuromorphic computing principles and organization
and how to build fault-tolerant scalable hardware for large and medium
scale spiking neural networks with learning capabilities. In addition,
the book describes in a comprehensive way the organization and how to
design a spike-based neuromorphic system to perform network of spiking
neurons communication, computing, and adaptive learning for emerging AI
applications. The book begins with an overview of neuromorphic computing
systems and explores the fundamental concepts of artificial neural
networks. Next, we discuss artificial neurons and how they have evolved
in their representation of biological neuronal dynamics. Afterward, we
discuss implementing these neural networks in neuron models, storage
technologies, inter-neuron communication networks, learning, and various
design approaches. Then, comes the fundamental design principle to build
an efficient neuromorphic system in hardware. The challenges that need
to be solved toward building a spiking neural network architecture with
many synapses are discussed. Learning in neuromorphic computing systems
and the major emerging memory technologies that promise neuromorphic
computing are then given.
A particular chapter of this book is dedicated to the circuits and
architectures used for communication in neuromorphic systems. In
particular, the Network-on-Chip fabric is introduced for receiving and
transmitting spikes following the Address Event Representation (AER)
protocol and the memory accessing method. In addition, the interconnect
design principle is covered to help understand the overall concept of
on-chip and off-chip communication. Advanced on-chip interconnect
technologies, including si-photonic three-dimensional interconnects and
fault-tolerant routing algorithms, are also given. The book also covers
the main threats of reliability and discusses several recovery methods
for multicore neuromorphic systems. This is important for reliable
processing in several embedded neuromorphic applications. A
reconfigurable design approach that supports multiple target
applications via dynamic reconfigurability, network topology
independence, and network expandability is also described in the
subsequent chapters. The book ends with a case study about a real
hardware-software design of a reliable three-dimensional digital
neuromorphic processor geared explicitly toward the 3D-ICs biological
brain's three-dimensional structure. The platform enables high
integration density and slight spike delay of spiking networks and
features a scalable design. We present methods for fault detection and
recovery in a neuromorphic system as well.
Neuromorphic Computing Principles and Organization is an excellent
resource for researchers, scientists, graduate students, and
hardware-software engineers dealing with the ever-increasing demands on
fault-tolerance, scalability, and low power consumption. It is also an
excellent resource for teaching advanced undergraduate and graduate
students about the fundamentals concepts, organization, and actual
hardware-software design of reliable neuromorphic systems with learning
and fault-tolerance capabilities.