Silicon Brains: Spiking Neurons Design
Silicon Brains: Spiking Neurons Design
Neural Networks
journal homepage: [Link]/locate/neunet
1. The computer and the brain units abstract the function of neurons while synapses abstract
the connections between neurons. The strength of the synaptic
The brain is a massively parallel and efficient information connections in networks of such units is determined through a
processing system, with a radically different computational learning algorithm. A two volume edited book-set by the ‘‘Parallel
architecture from present day computers. Characteristics of neural Distributed Research Group’’ (McClelland, Rumelhardt, & Group,
computation include event based processing, fine-grained parallel 1987; Rumelhart, McClelland, & Group, 1987) defined the research
computational units, robustness and redundancy, as well as agenda in the field of connectionist architectures and neural
adaptation and learning, all done under severe constraints of size, networks in the decades that followed. At about the same time,
weight, and energy resources. This computational architecture Carver Mead’s book ‘‘Analog VLSI and Neural Systems’’ (Mead,
excels at lower-level sensory information processing such as 1989) inspired a new generation of scientists and engineers to
vision, and sensor–motor integration as well as cognitive tasks explore hardware implementation of neural models in state-of-
such as speech and language understanding. the-art silicon integrated circuit technology. The book had a dual
Over the last half century computer scientists, architects and objective: (i) to create a new design discipline for collective
engineers have envisioned building computers that match the computational systems using analog VLSI subthreshold CMOS
parallel processing capabilities of biological brains. Fifty years integrated circuit technology and (ii) to promote a synthetic
ago, the fathers of computer science Alan Turing (Turing, 1952) approach in the understanding of biology and the human brain.
and John von-Neumann (Neumann, 1958) looked to the brain for This was the birth of neuromorphic design as an engineering
inspiration in order to advance the science of computing. discipline.
Twenty-five years ago, the connectionist movement emerged
as an alternative approach to artificial intelligence for solving the 1.1. Neuromorphic engineering: the formative years
hard problems in perception and cognition. The central doctrine
in the connectionist movement is that the cognitive abilities of ‘‘Neuromorphic’’ electronic systems, a term coined by Carver
the brain are a result of a highly interconnected network of Mead in the late 1980s, describes systems that perform artificial
simple processing units. These simple non-linear computational computation based on the principles of neurobiological circuits. In
the following two decades, inspired by Mead’s pioneering work
(Mead, 1990) and colleagues at Caltech, a large number of CMOS
∗ Corresponding author at: Department of Electrical and Computer Engineering, neuromorphic chip designs have been reported in the literature.
Johns Hopkins University, Baltimore, MD 21218, USA. These spanned a wide range of designs from analog VLSI models
E-mail addresses: andrewca@[Link] (A.S. Cassidy), julio@[Link] of neurons (Arthur & Boahen, 2010; Hsin, Saighi, Buhry, & Renaud,
(J. Georgiou), andreou@[Link] (A.G. Andreou). 2010; Saighi, Bornat, Tomas, Le Masson, & Renaud, 2010; Yu,
1 Now with IBM Research, Almaden, USA. Sejnowski, & Cauwenberghs, 2011) to silicon retina architectures
0893-6080/$ – see front matter © 2013 Elsevier Ltd. All rights reserved.
[Link]
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 5
(Boahen & Andreou, 1992; Mahowald, 1992), and retinomorphic merges a CNN–UM type processor and an imager (Carmona et al.,
vision systems (Boahen, 1996), to attention circuits (Horiuchi 1998; Dominguez-Castro et al., 1997). This system, while analog
& Koch, 1999), and biomorphic imagers (Culurciello, Etienne- internally, has a digital interface with on-chip 7-bit A/D and D/A
Cummings, & Boahen, 2003) that abstract biology at a lower converters, improving the programmability and simplifying the in-
level. Other mixed-mode designs (Andreou, Meitzler, Strohben, terface to digital computers (Cembrano et al., 2004).
& Boahen, 1995; Pardo, Dierickx, & Scheffer, 1998) and (Etienne- Programmable analog VLSI circuits and systems aimed at large-
Cummings, Kalayjian, & Donghui, 2001) have also implemented scale model simulation have also been under development in
silicon retinas and focal plane processing architectures that include the last decade. The Neurogrid architecture in Kwabena’s group
processing beyond gain control and spatio-temporal filtering, (Arthur & Boahen, 2010; Choudhary et al., 2012; Silver, Boahen,
including polarization sensing (Andreou & Kalayjian, 2002; Wolff Grillner, Kopell, & Olsen, 2007), the IFAT architecture (Goldberg,
& Andreou, 1995). Most of the above bio-inspired sensors have Cauwenberghs, & Andreou, 2001a; Vogelstein, Mallik, Culurciello,
limited programmability as they employ analog computational Cauwenberghs, & Etienne-Cummings, 2007), the PAX platform
circuits at the focal plane. (Renaud et al., 2010) and the FACETS wafer-scale computational
The shortcomings of non-programmable analog architectures infrastructure (Bruederle et al., 2011) are notable projects in this
motivated the exploration of analog vision chip architectures direction.
with programmable functionality (Serrano-Gotarredona, Andreou,
& Linares-Barranco, 1999; Serrano-Gotarredona et al., 2009). 1.2. Neuromorphic engineering: the nano-CMOS Era
Programmable architectures for associative memory (Boahen,
Pouliquen, Andreou, & Jenkins, 1989; Pouliquen, Andreou, & In 1986, Mead’s group at Caltech was employing bulk CMOS
Strohben, 1997), pattern classification (Genov & Cauwenberghs, technology with λ between 2.5 micron and 0.7 micron (p. 59
2001; Karakiewicz, Genov, & Cauwenberghs, 2007) and audition of Mead, 1989). A quick review of our own publications and
(Kumar, Himmelbauer, Cauwenberghs, & Andreou, 1998; Stanace- laboratory notebooks from that period, reveals that we were
vic & Cauwenberghs, 2005) have also been reported in the litera- fabricating chips in 4 micron Silicon On Sapphire (SOS)–CMOS
ture. technology and in 3 micron p-well bulk CMOS. Alas! Twenty
Programmable architectures have also been advanced by the five years later, with foundry CMOS technologies at the 45 nm
adoption of a standard interface between chips known as Address and 22 nm nodes, the neuromorphic engineering community
Event Representation or (AER) in short. The time-multiplexed AER
at large has not been able to capitalize on the benefits of the
bus (Boahen, 2000; Lin & Boahen, 2009; Mahowald, 1992; Sivilotti,
(×10 000) improvements in digital MOS transistor area density to
1991) is a popular interconnect method for neuromorphic systems.
engineer brain like structures and cognitive machines that match
Spike events from multiple channels are time-multiplexed onto
the effectiveness and energetic efficiency of the human brain. With
a digital AER bus, transmitted, and decoded at the destination
the exception of the event-based, asynchronous vision sensors
onto individual channels. Throughout this proposal, we use the
(Lichtsteiner, Posch, & Delbruck, 2008) and subsequent design
terms spikes, events, and spike events interchangeably. AER has
(Posch, Matolin, & Wohlgenannt, 2011), the goals of endowing
been used by many analog and digital spiking neural arrays,
modern computer systems with industrial-strength robust bio-
as well as to communicate events from off-chip neuromorphic
inspired sensoria or tackling the challenge of silicon cognition have
sensors and even in 3D CMOS technology (Harrison, Özgün, Lin,
been unrealized. And even though our lack of knowledge about
Andreou, & Etienne-Cummings, 2010). The European Union project
the inner workings of brain function and behavior has contributed
CAVIAR ([Link] demonstrated a
to this chasm and is limiting us today, matching the information
board-level vision system architecture communicating using the
processing capabilities of biological neural structures in state-of-
AER protocol (Serrano-Gotarredona et al., 2009). Variants of AER
to improve the efficiency of the protocol have also been proposed the-art silicon technology has remained an elusive dream despite
(Georgiou & Andreou, 2006, 2007). A probabilistic approach to AER the stunning advances in microelectronics.
has been exploited to perform computations in the address domain Even more elusive has been our quest to understand how to
(Goldberg, Cauwenberghs, & Andreou, 2001b). achieve the energy efficiency seen in biological brains. One would
Learning in silicon has also been pursued intensively in the have thought that the research activities in the last two decades
analog VLSI neuromorphic community. The early work by Dio- would have brought us closer to both a deeper understanding of
rio and colleagues (Diorio, Hasler, Minch, & Mead, 1996, 1997), brain function as well as to commercially-viable brain-inspired
the Field Programmable Analog Arrays (Sivilotti, 1991) and the information technology at the scale. However, this is not the case.
research program of Hasler (Hall, Twigg, Gray, Hasler, & Ander- Many of the analog VLSI neuromorphic systems rely on analog
son, 2005) paved the way to floating gate MOS transistors in con- devices and as such, scaling the density of these components
figurable learning chips. Other designs employ dynamic circuits (mostly MOS transistors and capacitors) did not follow Moore’s
for implementing learning in analog VLSI with excellent results law. Furthermore, the majority of neuromorphic hardware was
on small systems (Bartolozzi & Indiveri, 2007; Indiveri, Chicca, & based on traditional ‘‘analog’’ circuit models of neurons and
Douglas, 2004; Mahowald, 1992). This work has continued with synapses, a technology that does not offer flexibility in component
encouraging results for hardware models that abstract higher-level models, nor in their level of description; an aspect which impedes
functions such as stimulus specific adaptation (Mill, Sheik, Indiveri, rapid advances.
& Denham, 2011) and working memory using attractor dynamics Mead advocated using analog transistor physics to perform
(Giulioni et al., 2011). neural computation, directly mimicking the currents in neuron
Abstracting biology at a higher level, the Cellular Non-linear/ ion channels (Mead, 1990), and speculated that an energy
Neural Networks (CNN) approach (Chua & Yang, 1988) offered an- savings of approximately 104 could be gained over comparable
other paradigm for an analog visual processor with programming traditional digital approaches. However the power dissipation of
capabilities. In CNN architectures, information processing is im- neuromorphic systems did not benefit from technology scaling
plemented through the evolution of a continuous-time non-linear either and our best circuits today hover between 10 and 100 nW
dynamical network with nearest neighborhood connectivity. The per computational cell. Each cell has typically one or two single
CNN–UM (Universal Machine) is one of the earliest systems (Roska pole circuits with two or three current branches biased in the nano-
& Chua, 1993) that implemented CNN programmable functional- ampere current level. Even though one could argue the power
ity on a chip. Another example of CNN hardware implementation dissipation is manageable locally, the energy cost to send the
6 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
digital representation of the state from one chip to another on rapidly prototype digital systems makes them an attractive plat-
the same board is high. It takes less than a femto-Joule of energy form for bio-inspired systems exploration in the nano-CMOS era.
to move one bit worth of charge through the source to the drain The design of small systems and applications of digital Spiking
of an MOS transistor in deep sub-micron CMOS technology, one Neural Networks (SNNs) have already been reported in FPGAs
pico-Joule to move one bit of information across a 1 cm die, and (Belhadj, Tomas, & Bornat, 2009; Cardoso, Diniz, & Weinhardt,
almost one hundred pico-Joules to move it from one die to another! 2010; Cassidy, Denham, Kanold, & Andreou, 2007; Koickal, Gou-
(Cassidy & Andreou, 2012). This is a poor utilization of energy and veia, & Hamilton, 2009; La Rosa et al., 2005; Pearson et al., 2007;
a direct result of the limitations of two dimensional integration Rice, Bhuiyan, Taha, & Smith, 2009).
and the use of macroscopic components to interconnect chips. Research towards the engineering of custom large-scale digital
Optical interconnects, while efficient at distances measured in bio-inspired integrated circuits has also begun with encouraging
kilometers, have not been very helpful at short distances from a results. SpiNNaker is a System on a Chip (SoC), a massively-
power dissipation point of view; this may change in the years to parallel digital neuromorphic computing architecture (Khan et al.,
come with advances in silicon photonics and CMOS integration. In 2008) based on an 18 core symmetric chip-multiprocessor where
a two dimensional array of cells that is typical in neuromorphic each core is an ARM968. A SpiNNaker computer will consist of
electronic systems (feature maps), additional energy costs are a million microprocessor cores interconnected via a switching
accrued in going from the two dimensional representation of data network fabric. APIs and software have already been developed for
to a one dimensional stream on the periphery of the die for inter- the SpiNNaker system (APT-Group, 2011a,b,c), hence an excellent
chip transmission.
platform to explore bio-inspired algorithms and architectures
Without exception, all of the analog VLSI systems reported in
for cognitive computing. Another digital bio-inspired system
the literature, small or large, rely on substantial digital commu-
architecture for energy-aware cognitive computing is currently
nication infrastructures for functionality, ranging from single chip
being developed by IBM under the SyNAPSE project (Arthur et al.,
micro-controllers (Goldberg et al., 2001a,b), to arrays of FPGAs
2012; Merolla et al., 2011; Modha et al., 2011).
(Bruederle et al., 2011; Choudhary et al., 2012; Renaud et al., 2010;
Complementary to advances in large-scale hardware architec-
Vogelstein et al., 2007) to even single board computers (Fasnacht
tures have been the advances in large-scale software simulation
& Indiveri, 2011).
and modeling environments such as Brian (Goodman & Brette,
Unlike biological nervous systems, constrained by the limita-
tions of 2D CMOS technology, networks of electronic components 2009), Nengo (Anderson & Eliasmith, 2004; Eliasmith & Stewart,
such as switches, capacitors and short wires in VLSI integrated cir- 2011; Eliasmith et al., 2012), and Compass (Modha et al., 2011;
cuits are only weakly connected to each other i.e. each component Preissl et al., 2012). The close coupling of these software envi-
is connected to only a few other components, often in a pipeline ronments to the SpiNNaker architecture (Galluppi, Davies, Furber,
structure. Architectures of modern processors and memories are Stewart, & Eliasmith, 2012), Neurogrid (Choudhary et al., 2012),
designed specifically to meet the constraints of limited connectiv- FACETS wafer-scale system (Bruederle et al., 2011), and SyNAPSE
ity in modern two dimensional integrated circuits, which feature a project (Modha et al., 2011) is likely to facilitate the widespread ac-
dozen or so metallization layers. ceptance of custom architectures for large-scale simulations (Silver
We are now at a juncture point: an era where digital transistors et al., 2007) as an alternative to high performance computing (de
are nearly ‘‘free’’, and billion-transistor integrated Systems on a Garis, Shuo, Goertzel, & Ruiting, 2010; Markram, 2011).
Chip (SoC) are now commonplace. Capitalizing on the dramatic In this paper we address the challenging task of engineering
advances in the scaling of the MOS transistor, analog silicon silicon brains in the nano-CMOS era, with billions of transistors
retinas (Boahen & Andreou, 1992) and mixed-signal sensors and thousands of processors on a chip. We take a systematic
(Lichtsteiner et al., 2008; Posch et al., 2011) are being displaced approach, revisiting Marr’s three levels of description and argue
by all digital architectures. Sophisticated digital sensor arrays that the computational theory of parallel processing under
and computational sensors are currently being developed to physical constraints provides the theoretical underpinnings for
extract and quantify the subtle and intricate information from both understanding the brain and a new era of neuromorphic
natural scenes in visible and infra-red wavelengths (Lin, Pouliquen, engineering. We present a scalable neural architecture with
Andreou, Goldberg, & Rizk, 2012; Lin, Pouliquen, Goldberg, computationally efficient structures for spiking silicon neurons
Rizk, & Andreou, 2011). Cellular neural network architectures and learning synapses. Finally we employ a cost function based
and computational imagers have been reported in standard formulation of parallel processing under the physical constraints
digital CMOS (Federico, Mandolesi, Julian, & Andreou, 2008; of speed, energy, and area to optimize the neural architecture.
Mandolesi, Julian, & Andreou, 2004) as well as experimental Experimental verification of the computational structures for the
3D CMOS technologies (Mandolesi, Julian, & Andreou, 2006). optimization of the neural array, spiking neurons and Spike Timing
Stream processor architectures for convolutional neural networks Dependent Plasticity (STDP) learning is done using state-of-the-art
(ConvNets) have also been recently reported in the literature field programmable gate arrays (FPGAs).2
(Camuñas-Mesa et al., 2012; Pham et al., 2012). Digital FPGA based
bio-inspired architectures have also been reported in the literature,
2. Revisiting Marr’s vision: employing new eyes
for example recent work by Kestur et al., and references therein
(Kestur et al., 2012).
In this nano-CMOS era, the engineering of large-scale neuro- In the previous section, we have argued that our progress
morphic systems aimed at silicon cognition must also be carried towards synthetic brain like systems with cognitive capability
on at a different level of abstraction. Instead of using analog tran- matching human performance and energetic efficiency is seriously
sistors to emulate the biophysics of neurons, we must move to a hampered by difficulties in expressing brain-related functional
higher level of abstraction, using digital transistors to perform the system-level models and algorithmic constructs at an appropriate
arithmetic equivalent to the behavior of a neuron. Combined with
high-density digital memories and high-speed digital communica-
tions interconnects, this paradigm will enable the implementation 2 The Introduction in this paper is not meant to be a comprehensive review of
of large-scale, flexible silicon neural arrays. hardware implementations of neural systems over the last quarter century. The
State-of-the-art Field Programmable Gate Arrays (FPGAs) are interested reader is referred to a recent survey for a comprehensive overview (Misra
often at the forefront of technological advances and the ability to & Saha, 2010).
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 7
Computational
Theory Parallel Processing Under Physical Constraints
Brain Multiprocessor
Architectonics Architecture
Abstract
Network Fine-Grained
Computational Parallelism
Structures Computation
Probabilistic
Spikes Event Based
EPSP/IPSPc Information
Processing
Learning Synapses
LTDP/STDP Circuits that
Learn and Adapt
Physical
Computational
Laminar/
Structures Columnar
Organization Nano and 3D CMOS
Fig. 1. Biological and silicon brains: layered levels of abstraction and information processing structures. Note that even though the abstract and physical layers are shown
in a hierarchy, they are done so only for the sake of clarity. In particular, the layered description for the physical computational structures in the brain are simplified in this
diagram. Churchland and Sejnowski offer a more accurate diagram for layers for the different physical scales in their seminal paper (Churchland & Sejnowski, 1988).
level of abstraction that can hide the details of their implementa- the Human Representation and Processing of Visual Information’’
tion. What we need is a multi-scale framework where information proposes a framework that has three levels of description to help us
processing structures at different layers in the two levels of ab- understand visual processing in biological systems and to engineer
straction have different interpretations of the processing element’s machines that see.
type, capability, and complexity. Any approach that relies on a sin- The three levels of organization as proposed by Marr are:
gle monolithic level of abstraction is bound to be slave to the un- • Computational theory: What is the goal of the computation and
derlying limitations imposed by that level. For example, on analog the logical strategy needed to carry it out?
neuromorphic chips, models of higher-level cognitive function can • Representation and algorithm: How can the computation be
only be expressed in terms of networks of analog neurons, with any implemented and what input/output representations are
other level of description is required to be implemented ad hoc on needed?
the host digital computer or a micro-controller. Thus the prevailing • Hardware implementation: What is the physical realization of
research approaches in neuromorphic engineering offer neither an the algorithm and the architecture?
effective basis for exploring system-level models of brain function,
We paraphrase Proust and argue that what we need is ‘‘new
nor a practical foundation for future brain-inspired cognitive com-
vision’’ and Marr’s vision on levels of organization (Marr, 1982),
puting technology.
provides the foundation for a fresh perspective on parallel
To address the challenges of engineering large-scale silicon processing, ‘‘the computer and the brain’’.
brains, we need a fresh perspective, a new view, one that sys- At the level of computational theory, we suggest that the
tematically allows to abstract brain computation into synthetic general theme of parallel processing under physical constraints could
structures. Quoting Marcel Proust, ‘‘Fundamental discoveries do not provide the theoretical foundation for understanding information
necessarily rely on exploring new landscapes, but on employing new processing in both the brain and in massively parallel computing
eyes’’. systems. Thus a principled approach that links the algorithmic
Conventional wisdom and the prevailing viewpoint in the aspects and costs of parallel processing to the constraints imposed
scientific community suggest that complex information processing by the physical hardware in the physical structure could provide a
systems, natural or synthetic, are best considered at multiple fundamental foundation for further understanding the brain and a
levels of organization. In the broadly defined task of ‘‘engineering powerful principle for engineering and architecting future brain-
silicon brains’’, we must have a consistent framework to address inspired computing machinery. This will be further elaborated in
scientific challenges and exploit technological opportunities at the following sections of this paper (Sections 3 and 6).
different levels of description (see Fig. 1). David Marr in the preface At the level of representation, in neural computation, the
of his seminal book ‘‘Vision: A Computational Investigation into temporal dynamics of spiking neurons encode information. Spikes
8 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
in biology or digital events in silicon systems can encode graded the two and delta (2D+delta) dimensional patches on the surface
(analog) signals in time while at the same time employing the of the cortex (V 1) (Das, 2000). An important insight into this
robustness of binary signaling. At this level we design abstract challenging problem emerged out of experimental work in the
computational structures optimized for minimum energy that visual cortex of the cat where it was shown that maps in the
exploit spike-event based representations to compute likelihoods visual cortex are optimized for uniform coverage (Stepanyants,
in graphical probabilistic models of inference and cognition. Such Hof, & Chklovskii, 2002; Swindale, Shoham, Grinvald, Bonhoeffer,
a probabilistic event based approach that was first proposed and & Hübener, 2000). Through a process of development and self-
used in engineered systems in (Goldberg et al., 2001a,b) provides organization, brains find an optimal solution in the presence
a principled description of event generation rules that maximize of two conflicting requirements: spatial coverage and stimulus
the information transfer, while limiting the number of energy representation. More specifically, to maximize coverage and
expensive events (spikes) (Laughlin & Sejnowski, 2003; Schreiber, parallel processing, every location in the physical space must be
Machens, Herz, & Laughlin, 2002), that need to be communicated mapped to all possible combinations of stimulus features. At the
between successive layers in a neural architecture. Using the same time, this must be done under constraints imposed by the
digital abstraction, neural computation can readily take on a physical structure; i.e. the wiring length of axons must be kept as
variety of computational models including the Leaky Integrate short as possible to minimize both the metabolic costs (energy)
and Fire and dynamical Izhikevich neural models, as elaborated and the time to respond (delay). The result is a smoothness of
in Section 4. In this work, models of learning take on the STDP mapping or locality of reference; i.e. neurons with similar stimulus
representation, a Hebbian learning rule, described in Section 5. response properties lie in close proximity on the cortical surface,
At the level of implementation, the physics and chemistry im- with local discontinuities arising from the multi-feature mapping.
posed by the underlying substrate define the constraints for the Similar self-organizing principles are found in the structural and
micro-architectural elements, whether real neurons in biological morphological organization of neurons in the brain, taking into
tissue or silicon neurons in nano-CMOS technologies. It is at this account both the functional and the underlying physical and
level of description that the information processing elements of bi- chemical constraints of the computational machinery (Chklovskii,
ological tissue are likely to differ substantially in form and function Mel, & Svoboda, 2004; Varshney, Sjöström, & Chklovskii, 2006;
from those implemented in nano-CMOS technology. At this level, Wen & Chklovskii, 2008; Wen, Stepanyants, Elston, Grosberg, &
attempts to draw analogies in the physical implementations are at Chklovskii, 2009).
best superficial. So long as we are aware of the fundamental dif-
ferences in the underlying substrates, we are assured to stay away
3.1. From brain architectonics to silicon neural architectures
from the perilous paths that impeded our progress towards the en-
gineering of large-scale silicon brains and cognitive machines over
the last two decades. Parallel processing silicon neural arrays must be optimized with
In Sections 4 and 5, we detail multiplexed digital circuits, stor- respect to two performance objectives: speed (inverse of delay)
ing the neural state in dense local memory and multiplexing neural and energy. Motivated by the need for a design methodology
computation on shared arithmetic logic units. This approach uses to address architectural space exploration in multi-scale parallel
the high frequency (relative to biological computation) of silicon architectures, we have derived a simple objective function (Cassidy
circuits to efficiently implement the massive parallelism required & Andreou, 2012) to link parallel processing in an information
for implementing large-scale neural computational architectures. processing system of N units, to the costs of energy and delay,
The proposed holistic approach towards the engineering of silicon the traditional metrics in integrated circuits (Mead & Conway,
brains forms the foundation for a new research direction in brain- 1979). The foundation of our model is a cost function formulation
inspired architectonics. It relies on a combination of multi-scale of Amdahl’s law (Amdahl, 1967), that employs parameterized
abstraction from algorithms to representation and the architec- models of computation and communication to represent the
ture. At each level, the computational structures rely on consistent characteristics of processors, memories, and communication
contracts between the levels of abstraction and the layers of de- networks. The interaction of these micro-architectural elements
scription. within a parallel processing framework defines global system
performance in terms of energy–delay cost.
Starting from Amdahl’s original intuitive argument, we can
3. Parallel processing under physical constraints
derive a generalized cost function that combines a delay cost
function and an energy cost function according to the energy–delay
Biological information processing systems employ dynamic
product, to obtain a generalized objective function JED that links the
matter and learning at all levels in an amazing network of
gains from parallel processing to delay and energy costs (Cassidy &
complex structures of different scales, from the nano to the
micro and macro. In the human brain, a physical structure with Andreou, 2012).
approximately 100 billion neurons and 100 trillion synapses, The equation below is an extension of the work in Cassidy and
parallel processing must be the norm rather than the exception. Andreou (2012) to address parallel processing in an asymmetric
Indeed parallel distributed processing is found at all levels of brain multiprocessor architecture such as the one necessary for brain-
function from molecules to networks to social behavior. inspired multiprocessor systems. Using a summation over the
Some insights into the brain’s organization and parallel processor types p of different performance, the objective function
processing function can be gained by considering the way the JED can be written as:
visual representation of the natural world is organized through
cortical maps. Early work by Hubel and Wiesel, suggested stimulus
K −1
modalities are mapped in orthogonal dimensions: the ice-cube Fj
JED = −1
model for stimulus representation in V 1 (Hubel & Wiesel, 1977). −1
M −1
j=0 P
However, this simple and elegant idea does not scale beyond Njp Gijp Dijp
two stimulus features and into natural visual environments that p=0 i=0
from reading out current events. New events are written into one 4.2.1. Izhikevich neuron model
bank while current events are read out from the other. Writing The dynamics of the Izhikevich spiking neuron model are de-
new events is a read–modify–write operation using both ports of fined by two coupled differential equations, and a reset condition.
the RAM bank in order to prevent events in the buffer from being The variable v represents the voltage across the neural membrane
overwritten. Reading out current events also uses both ports of the and u is a slow variable, representing membrane recovery.
RAM bank. The current value is read out of one port, while the other
port clears the RAM location (one clock cycle delayed) removing it v ′ = 0.04v 2 + 5v + 140 − u + I (2)
from the circular buffer. u = a(bv − u).
′
(3)
Frame-based processing of multiplexed neurons effectively
time multiplexes several neuron state computations onto a single The synaptic input is I and a, b are parameters controlling the dy-
neural arithmetic pipeline. Every physical neuron instantiated namical behavior of the neural model. The reset condition is de-
in the array computes the independent state of M multiplexed fined by:
neurons, where M is the frame size. Fig. 4 illustrates the frame
v
←c
processing paradigm for M = 8 multiplexed neurons. if v ≥ +30 mV, then (4)
The input state for frame T 0 is read out of the state cache
u ←u+d
and the input aligner simultaneously, and sent to the arithmetic where c , d are parameters controlling the neural reset behavior.
pipeline. The results from the arithmetic pipeline are available An example of the complex behavior achievable with the IZH
after a few clock cycles and are written back into the state model is tonic bursting. (Refer to Izhikevich, 2003, 2004 for 19
cache. All computations are fully pipelined, so that operations are other neural behaviors produced by the IZH model.) Fig. 5(a) shows
performed every clock cycle and there are no stalls in the datapath. the membrane voltage (‘v ’ parameter) for a burst of neural spikes.
Computation on frame T 1 begins exactly one cycle after frame The spike firing threshold is 30 mV, depicted by the green line.
T 0 enters the pipeline. The maximum frame size is constrained The dynamics of the ‘v ’ variable versus the ‘u’ variable is plotted
only by the on-chip memory required to store the neural state in Fig. 5(b), showing the same burst of spikes in v –u phase space.
variables. The frame size also affects the computational speedup Phase space is an effective method for visualizing the system
of the system, in an inversely proportional relationship. If the dynamics. The nullclines are shown in blue (‘v ’ is a parabola and
frame size doubles, the speedup is halved. In order to maintain ‘u’ a sloping line). The phase space diagram depicts the system
full-rate processing, the minimum frame size should be greater starting at t = 100 with a step input and ending at t = 200. From
than the pipeline depth (five clock cycles). The neuron blocks are the initial rest potential (v = −75 mV), the system moves in the
logically arranged in a linear array and the communication fabric positive ‘v ’ direction until it crosses the threshold (green vertical
is comprised of a tree arbiter which multiplexes events onto the line) and fires a spike. Upon firing a spike, the system is reset into
shared AER bus. an unstable region, again moving in the positive ‘v ’ direction, firing
another spike. As this bursting behavior continues, the ‘u’ variable
4.2. Dynamical spiking silicon neurons increases until the system is finally reset into a region that moves
the system away from the firing threshold (inside the parabola).
The design space of spiking neuron models spans many decades The system will slowly move along the ‘v ’ nullcline, until it is
of research, beginning with Hodgkin–Huxley’s pioneering work in once again swept into the firing region, generating tonic bursting
1952 (Hodgkin & Huxley, 1952). Their detailed approach models behavior.
neuron behavior using four differential equations to represent the The first implementation of the IZH model in an FPGA was
membrane dynamics and the non-linear conductances of three reported in La Rosa et al. (2005). From the little detail reported
types of ion channels. While this detailed approach produces a in the publication describing the work, a single neuron was
biophysically accurate model, it is computationally intensive and implemented, running at 1 MHz. This is far from sufficient for
requires the estimation of a large number of free parameters. large-scale neural simulation acceleration or scalable neural array
Since then, numerous models have been made in order to reduce implementation. Another design uses the Izhikevich model for
the complexity of the model. Typically however, reducing the inspiration, implementing a similar dynamical neuron in analog
model complexity also reduces the biophysical accuracy and VLSI (Wijekoon & Dudek, 2006). The fast and slow state variable
the number of neural behaviors that can be reproduced by paradigm is employed (analogous to ‘v ’ and ‘u’ in IZH), creating a
the model. The Leaky Integrate and Fire (LIF) neural model is neuron that exhibits oscillatory and bursting behavior. However,
popular because of its relative simplicity, however, it cannot this well principled design suffers from the disadvantages common
reproduce many complex neural behaviors. Izhikevich reviewed to all analog VLSI approaches (see Section 1).
ten models including Hodgkin–Huxley and LIF, comparing them We implemented the IZH model using fixed point arithmetic.
with his own approach (Izhikevich, 2003, 2004). His simplified Numeric values were constrained to an 18-bit representation,
approach (hereafter denoted as ‘‘IZH’’), contains only two coupled based on the 18 × 18 fixed point multiplier cores in the FPGAs.
differential equations and yet is able to reproduce many complex We choose a 10.8 fixed point representation as a balance between
neural behaviors. We adopt the IZH model as a computationally dynamic range (10-bit integer portion) and precision (8-bit
efficient model for neurons requiring complex dynamical behavior. fractional portion).
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 11
40
50
20
0
v
u
0
-50
-20
-100
80 100 120 140 160 -100 -50 0 50
time (ms) v
(a) Tonic burst—membrane voltage. (b) v –u phase space.
Fig. 5. Dynamical system description for the Izhikevich neuron model. (For interpretation of the references to colour in this figure legend, the reader is referred to the web
version of this article.)
Table 1
Device utilization: Xilinx Spartan XC3S1500.
Resource Percent utilization (%) Total available
tonic spiking
tonic bursting
50
50
membrance potential (V)
-50 -50
-100 -100
0 100 200 300 400 0 100 200 300 400
time (ms) time (ms)
(a) Tonic spiking. (b) Tonic bursting.
0 0
-50 -50
-100 -100
0 100 200 300 400 0 100 200 300 400
time (ms) time (ms)
(c) Phasic spiking. (d) Phasic bursting.
Although the IZH neural array operates at 80 MHz in the Xilinx Table 2
Fixed point model parameters (TS = Tonic Spiking, TB = Tonic Bursting, PS = Phasic
Spartan XC3S1500 FPGA, the multipliers are time multiplexed
Spiking, PB = Phasic Bursting).
between the ‘v ’ and ‘u’ arithmetic pipelines, so that the effective
processing rate is 40 MHz. A 40 MHz clock period is 25 ns, far faster a b c d I
Table 4
Utilization: Xilinx Spartan XC3S1500.
Approach Slice FF’s 4-LUTs
Fig. 20. Synaptic weight distribution histogram after STDP learning. Baseline
system, 32 synapses. Single trial.
Fig. 21. Synaptic weight distribution histogram after STDP learning. Combinational
encoding I system, 32 synapses.
column growth. Specifically, there are four cases for different input
conditions:
Fig. 22. Synaptic weight distribution histogram after STDP learning. Combinational 1. No subplate, th0 > th1: thalamic inputs (th0, th1) die away.
encoding II system, 32 synapses.
2. No subplate, th0 = th1: thalamic inputs (th0, th1) die away.
3. Subplate, th0 > th1: th0 strengthened, th1 and subplate die
away.
4. Subplate, th0 = th1: th0 or th1 strengthened, th1 or th0 and
subplate die away.
Given a proper single set of system parameters (STDP τ , spike fire
thresholds, leak current, and relative refractory period), all four
cases can be met depending on the particular input conditions
present. For example, results for case 3 are shown in Fig. 25. In
this case, the input from th0 is stronger than th1, resulting in a
strengthening of the L4-0 synaptic weight and a weakening of the
L4-1 synaptic weight. As the L4-0 and L4-1 synapses differentiate,
the subplate neuron synapse becomes less important and goes to
zero. Results for the other three cases are similar.
Fig. 23. Synaptic weight distribution histogram after STDP learning. Combinational
6. Neural architecture optimization
encoding III system, 32 synapses.
few hundred MHz. In this work, we use a 200 MHz clock in a Xilinx
Virtex 5 FPGA. The first-order speedup over real-time is:
CLK 200 MHz
xRT = = (14)
NCR 1 kHz
where NCR is the neural computation rate. NCR is the inverse
of the neural simulation timestep (i.e. for a 1 ms simulation
timestep, NCR = 1 kHz). By multiplexing neural state on physical
neurons, we tradeoff speedup over real-time for system area.
In the multiplexing case, the speedup over real-time is (using a
multiplexed frame length of FL = 1024):
CLK 1 200 MHz 1
xRT = = . (15)
FL NCR 1024 1 kHz
Thus, the maximum frame length FL in order to operate at or above
real-time is 200,000 given a neural computation rate NCR of 1 kHz.
Fig. 26. Frame length FL vs. neuron engines N.
Using the architecture outlined in Fig. 2, we begin the discussion SYNP_RAM (Bytes) = W · P · Q (16)
of physical constraints, examining the tradeoffs between area and where P number of synapses per neurons and W is the synaptic
delay. weight size defined above. This external RAM is the dominant
factor in determining the total number of synapses in the system,
6.1.1. Physical vs. multiplexed neurons as well as the number of synapses per neuron. The size of the re-
The total number of neurons in the system (Q ) is the product mapper RAM is a function of fanout FO (destinations per neuron):
of the number of parallel physical neuron engines (N) and the 1
frame length (FL) or number of neurons multiplexed onto a single REMAP_RAM (Bytes) = log2 (PQ ) · FO · Q . (17)
8
physical neuron engine,
Two factors determine the maximum fanout supported by the
Q = N · FL. (10) system. The first is the size of this external RAM, which determines
the maximum number of destinations that can be stored. The
Thus, for a fixed number of total neurons Q , there are many
second is the communication bandwidth which limits the number
combinations of N and FL that will result in the desired total neuron
of destination events that can be replicated before saturating the
count. This tradeoff is shown in Fig. 26. In the neural architecture
system.
presented here, there are two types of internal RAM, the state cache
In the discussion above, we have assumed that both the synapse
and the input aligner cache. The state RAM size is:
RAM and the re-mapper RAM assume a uniform number of
STATE_RAM (Bytes) = S · FL (11) synapses or destinations per neuron. This restriction can be re-
moved with the addition of a second lookup stage. This additional
where S is the size of one neuron state in Bytes. The input lookup would return a pointer into synapse or re-mapper memory
alignment RAM size is: as well as a value specifying the number of locations to read beyond
IN_ALIGN_RAM (Bytes) = 2W · FL (12) the pointer. This would allow an arbitrary number of synapses or
destinations to be used on a per-neuron basis. The cost is the area
where W is the size of one synaptic weight in Bytes and the factor of a second bank of RAM (of size proportional to Q ) as well as the
of two accounts for the dual ping-pong banks of the input aligner. delay cost of the second table lookup.
The total internal RAM is:
INT_RAM (Bytes) = N · FL(S + 2W ). (13) 6.1.4. Resource allocation analysis
We account for the resources in the FPGA by using the effective
Thus we will have a constant total internal RAM if N · FL is held area of each resource. Modern integrated circuits, including FPGAs,
constant. For example, increasing the number of neuron engines are limited by circuits and wiring that exist in a two dimensional
N by two while decreasing the frame length FL by two, keeps surface, the area of the die. Hence it is sensible to use the area as
the total number of neurons Q and total internal RAM constant. the basic constraint for optimization process.
On the other hand, there is a distinct tradeoff between N and We begin our analysis by examining the area breakdown of the
FL while holding Q constant. Larger values of N (and smaller FL) system. The area of a neuron is:
results in more parallel computational engines, which increases
Anrn = ARAM + Alogic . (18)
performance (decreases computational delay). However, larger
values of FL (and smaller N) take up less area since the logic area The logic area per neuron is a constant Alogic , while the RAM area is
(not RAM) is proportional to N and independent of FL. These area ARAM = FL(S + 2W ), from (13). Using Amem = (S + 2W ), the area
relationships will be revisited in Section 6.2. of the neural array is:
Aarray = NAnrn = N (ARAM + Alogic )
6.1.2. Real-time speedup
Biological neural firing rates range from zero Hz to a few
= N (Amem · FL + Alogic ) (19)
hundred Hz. A computational rate of 1 kHz is sufficient to capture where N is the number of physical neuron engines.
the internal neural dynamics between firing events. In contrast, In the array, the input multiplexor scales proportional to N,
clock rates of standard digital FPGAs and standard cells ASICs are a while the output multiplexor is implemented as a binary tree.
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 19
There are log2 (N ) levels in a binary tree, and a total of N − 1 nodes. where N is the number of neuron engines, G0 is the average fraction
Thus, since both scale proportionally to N, they are incorporated of time the neuron does not spike, D0 is the time to compute one
into the Alogic term of the neuron engine. frame of the neural state for the whole system (Q neurons), G1 is
The total available area on the silicon die Atot is: the average fraction of time the neuron spikes and D1 is the time
to compute neural state plus the communication delay. Note that
Atot = Afix + Aarray
the ‘‘algorithm’’ is perfectly parallelizable. That is to say that the
= Afix + N (Amem · FL + Alogic ) (20) computation of neural state and firing can be distributed across the
parallel neural array without serialization. Thus there is only one
where Afix is the fixed area dedicated to support functions (PLLs,
level of parallelism (K = 1) and F0 = 1.
debug circuitry, JTAG, control registers, etc.).
The output of the neural array is multiplexed onto a shared AER
We need a common unit of area in order to perform operations
bus. If more than one event is generated in the array during the
on both Amem and Alogic . We use memory byte equivalent units. For
same clock cycle, one of the events will have to wait in a buffer for
logic, this is the size (in Bytes) of an SRAM that occupies the same
an open bus cycle. This contention for the shared communications
silicon area as the given block of logic. For memory this is simply
resource can be modeled using queueing theory. Here we use an
the size of the RAM. For ASICs, this conversion is accomplished by
M/M/1 queue model, where the server rate µ is a fixed constant,
determining the average mm2 area of both SRAM and logic gates
for a particular process. Then logic gates can be converted directly based on the clock frequency of the bus arbiter. The arrival rate
into SRAM Bytes, dropping the mm2 in the process. In FPGAs, we λ is a function of the average neuron firing (communication) rate
accomplish this conversion by determining the area ratio between and the number of parallel neuron engines: λ = G1 N. Using these
block RAMs and Configurable Logic Blocks (CLBs) or logic slices. For parameters, the expected communication contention delay for an
a Xilinx Spartan III FPGA, we estimate an 18 kB SRAM occupies the M/M/1 queue is:
same area as 32 logic slices. Thus we use a conversion of 64 B per 1 1
slice, subdivided as 32 B per slice LUT and 32 B per slice register. t̄ = = . (25)
µ−λ µ − G1 N
In our first case, we consider the case where we are constrained
not only by the fixed total silicon area, but also by requiring that the Given an average neural firing rate of 100 Hz = 1/100 s =
total number of neurons is held constant. The total area constraint 0.01 s, a system clock rate of 200 MHz, and real-time operation,
is given in (20) and the total neuron constraint is given in (10) the queueing parameters are: µ = 200 MHz and λ = N100 Hz.
when Q is equal to a constant. In this case, the two constraints only The computation and communication fractions are estimated as
intersect at a single point. Combining (20) and (10): we obtain: follows: g0 = 200 M, g1 = 100, gtot = g0 + g1 = 200,000,100,
g g
and thus: G0 = g 0 and G1 = g 1 . Note that if we operate at
Q tot tot
Atot = (Amem FL + Alogic ) + Afix (21) a timescale faster than real-time, then µ = 200 MHz/xRT and
FL g0 = 200 M/xRT .
QAlogic We solve our constrained optimization problem using the
FL = . (22) method of Lagrange multipliers. The Lagrangian is formed by
Atot − Afix − Amem Q
combining the cost function and the area constraint:
Given values of Q , Atot , Afix , Alogic , and Amem , we can directly
determine the value of FL that satisfies both constraints. And the 1
L(N , FL, Λ) = (G0 D0 + G1 D1 )
value of N at that point is given by (10). N
+ Λ N (Amem FL + Alogic ) + Afix − Atot .
(26)
6.2. Simplified cost function for symmetric multiprocessing
Substituting in, using D0 = Q and D1 = Q + α + t̄:
Here we apply this objective function to our symmetric array of
α 1
parallel neural processing engines. The asymmetric cost function L = G0 FL + G1 FL + +
given by Eq. (1) discussed in Section 3.1 simplifies for symmetric N N (µ − G1 N )
architectures (Cassidy & Andreou, 2012) to: + Λ N (Amem FL + Alogic ) + Afix − Atot .
(27)
K −1 M −1
Fj Differentiating the Lagrangian with respect to the three variables
JED = Gij Dij (N , FL, Λ):
j =0
Nj i=0
∂L
K −1 M −1
γ −1 G1
Fj = G1 +
∂N N 2 (µ − G1 N ) N (µ − G1 N )−2
× Njh Gijh Eijh (23)
j=0
Nj h∈{A,I } i=0 −G1 α
+ Λ Amem FL + Alogic = 0
+ 2
(28)
where Fj is the fraction of the algorithm that has parallelism of N
Nj . Each fraction Fj is divided into M cost components of the ∂L
= (G0 + G1 ) + Λ (NAmem ) = 0 (29)
architecture. Gij is the fraction of Fj that has the ijth cost component ∂ FL
of Dij or Eij . The ijth delay is Dij and the ijth energy cost is Eijh for ∂L
= N (Amem FL + Alogic ) + Afix − Atot .
the jth fraction of the algorithm and the active or idle processors, (30)
h ∈ {A, I }. The weighting parameter γ scales the relative influence ∂Λ
of delay and energy on the cost of the architecture. Since Fj is Given these three equations and three unknowns, we can solve
a fraction,
K −1 for the optimal architecture using standard numerical methods.
j=0 Fj must equal 1 and since Gij is also a fraction,
M −1 We can also view the constrained cost function graphically. The
i=0 Gij must equal 1. cost function JD , constrained by (20), is plotted in Fig. 27. (Note
Analysis of the symmetric parallel neural architecture proceeds the logarithmic scale on both axes.) Since the constrained cost
as follows. Optimizing for delay (and neglecting energy, γ = 0), function is monotonically decreasing, the optimum architecture
we have simply: (minimum JD ) occurs with a maximum number of parallel physical
1 neuron engines (maximum N given the area constraint) and no
JD = (G0 D0 + G1 D1 ) (24) multiplexing (frame length FL = 1).
N
20 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
Fig. 27. Cost function JD in units of cycles and total number of neurons Q versus Fig. 28. Communication limited cost function JD in units of cycles versus number
number of physical neuron engines. of physical neural engines. (NCR = neural computation rate.)
From this figure, we can see four different interesting regimes. Table 6
Area implementation results: Xilinx V5SX240.
The first one is when minimizing the cost of the system in terms
of delay JD . In this regime, we maximize parallelism, filling the Q (k) N FL REG (%) LUT (%) Used RAM (%) Used BRAMs (%)
area with physical neurons and not using any multiplexing, thus 512 8 64 k 1.3 0.8 49.6 49.6
FL = 1. This architecture is entirely composed of logic and no 512 16 32 k 2.6 1.5 49.6 49.6
state RAM. A second interesting regime occurs when maximizing 512 32 16 k 4.9 2.9 49.6 49.6
512 64 8k 9.4 5.5 49.6 49.6
the total number of neurons in the system Q , then we build a
512 128 4k 17.8 10.5 49.6 50.2
system with one physical neuron N = 1 and maximum FL. This
256 8 32 k 1.3 0.8 24.8 24.8
results in an architecture overwhelmingly composed of RAM. This 256 16 16 k 2.4 1.4 24.8 24.8
is intuitive since the marginal increase in area for a multiplexed 256 32 8k 4.7 2.7 24.8 24.8
neuron is 2 B, while the marginal increase in area for a physical 256 64 4k 8.8 5.2 24.8 26.0
neuron is 10 kB. A third case is to maximize performance, while 256 128 2k 16.6 9.9 24.8 49.2
still meeting a specified total number of neurons Q . In this case, we 128 8 16 k 1.2 0.7 12.4 12.4
128 16 8k 2.3 1.4 12.4 12.4
find the desired value of Q on the vertical axis, find the intersection
128 32 4k 4.4 2.6 12.4 12.6
with the Q curve (black dashed), and then find the corresponding 128 64 2k 8.3 4.9 12.4 25.0
value of N at that point. Finally, if we wish to find a ‘‘sweet spot’’, 128 128 1k 15.5 9.4 12.4 46.3
balancing the total neuron density and the performance, we could 128 256 512 32.2 49.2 12.4 34.3
choose the architecture at the knee of the curve. In Fig. 27, this 128 512 256 59.6 67.7 12.4 56.6
corresponds to approximately 256 physical neurons, a delay cost
of 8 thousand, and 2 million total neurons. compared to an ASIC. The next section presents our results using
In the cost function example curve in Fig. 27, the minimum oc- FPGAs, including discussion on limitations arising from the FPGA
curs with the maximum number of parallel neuron engines and organization.
FL = 1. The performance is bound by the limit that FL cannot
go below 1. Communication constraints imposes another possi- 6.3. Implementation results
ble limit to the number of parallel engines that could be imple-
mented. As the number of parallel engines increases, the commu- We implemented our neural array architecture, targeting Xil-
nication traffic on the shared AER bus increases. If the amount of inx FPGAs in order to build a working system as well as to verify
traffic exceeds the available bandwidth, the system breaks down. the analytical model. By using parameterized VHDL, we varied the
As the amount of traffic approaches this limit, the communica- architectural parameters and implemented different array config-
tion delay increases. By varying the neural computation rate (NCR) urations, thus exploring the design space. We simultaneously var-
while holding the average neural firing rate constant, we alter the ied the number of physical neurons N and the multiplexed frame
amount of traffic per simulation timestep, effectively varying the length FL by factors of 2, holding the total number of neurons Q
communication traffic generated in the system. Note that we in- constant. We repeated this process for four different values of Q :
crease NCR at the expense of decreasing xRT, according to Eq. (14). 128 thousand, 256 thousand, 512 thousand, 1 million. For the three
As we decrease the NCR, increasing the effective traffic rate, the smaller values of Q , we targeted a Xilinx Virtex 5 SX240 FPGA,
system performance will become communication limited. This is while for the one million neuron case, we targeted a Xilinx Virtex 6
shown in Fig. 28. For three values of NCR, we see the effect on the SX475 FPGA. The area implementation results for the V5SX240 are
system performance in terms of delay cost JD . For smaller values of shown in Table 6 while the results for the V6SX475 are shown in
NCR, the performance hits an asymptote, and the optimal architec- Table 7.
ture is prior to the asymptote. We can make several interesting observations based on the data
This architectural exploration assumes an ASIC or custom in these tables. First we see that the overall utilization of the FPGA
VLSI design substrate. However to test our architecture and our resources is rather low. Block RAM utilization is approximately
analysis, we used FPGAs as a surrogate design platform. FPGAs 50% for 512 thousand neurons and even lower in all of the other
are advantageous for rapid prototyping and reprogrammability, cases. Logic utilization ranges from less than a percent (N = 8) to
however, they have fixed resources and organization (memory approximately 10% for N = 128. This highlights the high overhead
sizes and ports, interconnect overhead, etc.). This places limits of using FPGAs with fixed resources. A blank substrate would allow
on the full range of architectures that can be implemented as a much higher utilization of the available silicon. Second, we see
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 21
Table 7 Table 8
Area implementation results: Xilinx V6SX475. Summary of parameters for area model and MSE fit line.
Q (k) N FL (k) REG (%) LUT (%) Used RAM (%) Used BRAMs (%) Model MSE Model MSE Model MSE
512 k 512 k 256 k 256 k 128 k 128 k
1024 16 64 0.7 1.1 36.1 36.1
1024 32 32 1.3 2.1 36.1 36.1 Slope 10 10.1 10 9.53 10 8.93
1024 64 16 2.4 3.9 36.1 36.1 Offset 1024 1060 512 544 256 287
1024 128 8 4.5 7.4 36.1 36.1
1024 256 4 8.6 14.3 36.1 36.1
Using our model, we also plotted the dual constraints, constant
total neurons (10) and constant total area (20), shown in Fig. 30.
that the architecture is dominated by RAM, as compared to logic. As noted earlier, due to the rigid FPGA organization, we were
With fixed FPGA resources, the RAM is the limiting resource. Third, only able to use a fraction of the total FPGA area (generally less
note that in several cases, the RAM is actually limited by the than 50%). Thus, assuming a fraction of 35% of the total area, the
number of RAM ports, and hence number of BRAMs and not the maximum number of neural engines predicted by the analytical
actual amount of RAM actually used. With a constant Q , when N model is no more than 128 (if constrained to be a power of 2). This
is varied, FL is varied by an equivalent amount in the opposite analytical prediction matches the empirical results given in Table 6,
direction, thus the total RAM should remain constant, as given where architectures with N > 128 failed to map for Q = 512
by (13). This holds true for 512 and 1024 thousand neurons (see and 256 thousand. In the case of Q = 128 thousand, the FPGA
the ‘‘BRAM blks’’ column). However, for 128 and 256 thousand utilization greatly increases due to the jump from using block RAM
neurons, the number of used block RAMs begins to increase even to distributed RAM. Thus N = 256 and N = 512 are able to map.
though the used RAM does not. This is to accommodate the number
of ports needed by the architecture (# BRAMs ≈ RAM ports/2). 6.5. Cost model validation
Block RAMs come in a fixed size: 4 kB, and have two ports. Finally,
We also experimentally verified the frame time (hence
notice the cases of Q = 128 thousand and N = 256, 512. These
communication delay) of the neural array using a cycle–accurate
two design points deviate from the trends of linearly increasing
simulator (ModelSim). The results are shown in Fig. 31 together
LUTs and BRAMs increasing by the number of required ports. This
with the delay cost of the architecture, as predicted by the
deviation is due to a switch from storing internal state using block
analytical model (27). With a high neural computation rate (NCR),
RAMs to distributed RAM.
the communication overhead is negligible. Thus the frame time
is the dominant term in the delay cost of the architecture. Once
6.4. Area model validation
again the analytical model and the experimental results match very
Plotting the area data reveals a strong correlation between closely.
empirical results and our analytical model. According to (19) in our
7. Discussion
model, the array area is a linear function. Holding the total number
of neurons constant Q = N · FL, the area allocated to internal RAM In this paper we have revisited Marr’s levels of representation,
stays constant, while the area for the neural engines scales linearly emphasized the need for layered levels, the physical and the
with N. The empirical and analytical results are shown in Fig. 29. abstract, not in a hierarchy but rather in a recurrent relationship.
The solid circles are empirical data points, while the lines are the Computational theory sits on top and provides the foundations
first order analytical model, using Amem = 2 and Alogic = 10 kB. The for information processing architectures in brains and modern
analytical area model parameters and the minimum squared error computing systems. Furthermore we provide a concrete design
fit lines for the empirical data points are summarized in Table 8. methodology for architectural exploration and understanding
While the empirical data is very close to our first-order analytical through ‘‘constraints that deconstrain’’ (Kirschner & Gerhart, 1998)
model, we can see that the slope of the MSE lines change for the through the use of a cost function optimization and parametric
different values of Q , thus Alogic slightly varies as a function of FL. models at different levels of description that link software layers
In addition, the fit lines have a small offset (approximately 32 kB) of abstraction to hardware layers, as well as delay and energy
above the first-order model. Back annotating the model with the constrained by physical space.
more detailed model parameters would improve the analytical For example, we have demonstrated the architecture of
predictions even more. functional components, i.e. dynamical neurons from the simple
22 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
Fig. 30. Constant total neuron Q and constant total area Atot curves.
out that switched capacitor and charged based analog circuits minimizing costly off-chip accesses by keeping state local to each
(Bamford & Giulioni, 2010; Noack, Mayr, Partzsch, Schultz, & neural engine/processing unit.
Schuffny, 2012; Stanacevic & Cauwenberghs, 2005) could scale in Finally, the dawn of neuromorphic systems engineering at the
deep sub-micron CMOS and hence it is possible that one would see scale has arrived. We have presented a design methodology for
hybrid architectures involving analog state holding elements, in large-scale digital neuromorphic architectures for the nano-CMOS
synapses and even sophisticated neuron circuits (Folowosele et al., era. Our approach to the design of spiking neurons and STDP
2009). learning circuits relies on layered parallel computational struc-
Finally, our architecture does not appear to be a truly single- tures where neurons are abstracted as arithmetic logic units and
chip solution because of the two banks of SRAM external to communication processors. We demonstrated the validity of the
the FPGA. However, these external SRAM banks can be readily design methodology through the implementation of cortical de-
integrated into a single chip solution using a 3D VLSI process, velopment using spiking neurons and STDP learning and neural
such as provided by Tezzaron (Tezzaron, 2011). In this approach, architecture optimization in state-of-the-art Field Programmable
three VLSI tiers map to one tier for the parallel computation layer, Gate Arrays (FPGAs). The implementation of neural arrays, spiking
including state memory and logic, and two tiers of SRAM for the neurons as well as STDP learning rules have been prototyped in
synapse weights and re-mapper RAM. It is interesting to note that FPGAs. The latter are an ideal platform for investigating digital sil-
in the early days of neural networks, there were substantial efforts icon neuron architectures, due to the inherent flexibility and high-
to develop all digital bio-inspired systems (Hammerstrom, 1995, level design methodology and offer a stepping stone towards full
1998; Hammerstrom & Lulich, 1996; Wawrzynek et al., 1996; large-scale ASIC designs. With this work, we have taken a signif-
Wawrzynek, Asanovic, & Morgan, 1993). While these efforts were icant step towards realizing the goals of a new class of artificial,
partially successful and visionary at that time, they were limited high-performance, energy-efficient, parallel computational archi-
by technology and namely the inability to integrate substantial tectures inspired by the brain.
amounts of memory on the die. It would be interesting to see if
the emerging 3D-CMOS technology (Tezzaron, 2011) or the IBM
Acknowledgments
embedded DRAM technologies (Iyer et al., 2005) will help alleviate
this problem.
This work was supported by the EU ICT Grant (ICT-231168-
Also promising directions in the nano-CMOS era involve ex-
SCANDLE) ‘‘acoustic SCene ANalysis for Detecting Living Entities’’
ploiting more unconventional memory technologies such as nano
and by ONR MURI (N000141010278) ‘‘Figure-Ground Processing,
wires and switches (Avizienis et al., 2012), memristors (Strukov,
Saliency and Guided Attention for Analysis of Large Natural
Snider, Stewart, & Williams, 2008), nano and CMOL architectures
Scenes’’.
(Likharev, 2008) and system concepts that rely on these tech-
nologies (Gao & Hammerstrom, 2007; Gao, Zaveri, & Hammer-
References
strom, 2008; Hammerstrom & Zaveri, 2009). The early pulse cou-
pled mixed system designs that exploited timing to represent Amdahl, G. M. (1967). Validity of the single processor approach to achieving
analog state (Murray, Del Corso, & Tarassenko, 1991) may also large scale computing capabilities. In Proceedings AFIPS spring joint computer
see a re-emergence in the context of stochastic computation and conference (pp. 483–485).
Anderson, C. H., & Eliasmith, C. (2004). Neural engineering: computation, representa-
probabilistic event-based systems. It also seems increasingly likely tion, and dynamics in neurobiological systems. The MIT Press.
that process scalable charged-based (Anthony, Ma Kohler, Kurtze, Andreou, A. G., & Kalayjian, Z. K. (2002). Polarization imaging: principles and
Kushne, & Sollner, 2008) and switched-capacitor circuits (Bam- integrated polarimeters. IEEE Sensors Journal, 2(6), 566–575.
ford, Hogri et al., 2012; Folowosele et al., 2009; Georgiou, Andreou, Andreou, A. G., Meitzler, R. C., Strohben, K., & Boahen, K. A. (1995). Analog VLSI
neuromorphic image acquisition and pre-processing systems. Neural Networks,
& Pouliquen, 2006; Noack et al., 2012) may play a role yielding 8(7/8), 1323–1347.
true mixed-signal architectures that exploit the best of continuous Anthony, M., Kohler, E., Kurtze, J., Kushner, L., & Sollner, G. (2008). A process-
value and discrete value representations. scalable low-power charge-domain 13-bit pipeline ADC. In VLSI Circuits, 2008
IEEE Symposium on(pp. 222–223).
APT-Group. (2011a). SpiNNaker a chip multiprocessor for neural network
8. Conclusions simulation. Tech. rep., The University of Manchester. January.
APT-Group. (2011b). SpiNNaker application programming interface. Tech. rep.
Version 0.0, University of Manchester. December.
We conclude this paper with a summary of ideas and results APT-Group. (2011c). SpiNNaker software specification and design. Tech. rep.
that we believe are relevant to the design of future neuromorphic version 0.0, The University of Manchester. December.
systems aimed at commodity information processing at the scale. Arthur, J. V., & Boahen, K. A. (2010). Silicon–neuron design: a dynamical systems
approach. IEEE Transactions on Circuits and Systems I: Regular Papers, 58(5),
First, we demonstrated the advantages of the digital neuron ab- 1034–1043.
straction instead of the more biophysically realistic analog neu- Arthur, J. V., Merolla, P. A., Akopyan, F., Alvarez, R., Cassidy, A. S., & Chandra, S. et
al. (2012). Building block of a programmable neuromorphic substrate: a digital
rons. Second, to emulate the massive parallelism and high neuron neurosynaptic core. In Proceedings of the 2012 international joint conference on
density found in biology, we multiplex neural state computation in neural networks, IJCNN (pp. 1–8).
order to take advantage of high clock frequencies and dense SRAMs Avizienis, A. V., Sillin, H. O., Martin-Olmos, C., Shieh, H. H., Aono, M., Stieg, A. Z., et al.
(2012). Neuromorphic atomic switch networks. PLoS One, 7(8), e42772.
found in nanometer silicon technology. Third, we have presented Bamford, S. A., & Giulioni, M. (2010). Intimate mixing of analogue and digital signals
an energy–delay cost function that is the first step towards devel- in a field-programmable mixed-signal array with lopsided logic. In Proceedings
opmental and evolutionary design principles that we believe have of the 2010 IEEE biomedical circuits and systems conference, BioCAS 2010
shaped biological neural systems. A highly quantitative formula- (pp. 234–237).
Bamford, S. A., Hogri, R., Giovannucci, A., Taub, A. H., Herreros, I., Verschure, P. F.
tion, the cost function also presents a qualitative view of parallel M. J., et al. (2012). A VLSI field-programmable mixed-signal array to perform
processing subject to physical constraints in layered information neural signal processing and neural modeling in a prosthetic system. IEEE
processing architectures. Delay cost is minimized by maximizing Transactions on Neural Systems and Rehabilitation Engineering, 20(4), 455–467.
Bamford, S. A., Murray, A. F., & Willshaw, D. J. (2012). Spike-timing-dependent
parallelism in the system. Under a fixed physical size constraint— plasticity with weight dependence evoked from physical constraints. IEEE
we have employed area in this paper—the core area (processor and Transactions on Biomedical Circuits and Systems, 6(4), 385–398.
local memory) must be minimized in order to increase parallelism, Bartolozzi, C., & Indiveri, G. (2007). Synaptic dynamics in analog VLSI. Neural
Computation, 19(10), 2581–2603.
balanced by the simultaneous goal of maximizing processing den- Belhadj, B., Tomas, J., & Bornat, Y. (2009). Digital mapping of a realistic spike timing
sity through multiplexing. Both energy and delay costs are reduced plasticity model for real-time neural simulations. In Proceedings of the XXIV
by eliminating the serial fraction of the algorithm, as well as by conference on design of circuits and integrated systems, DCIS (pp. 1–6).
24 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
Bi, G. Q., & Poo, M. M. (1998). Synaptic modifications in cultured hippocampal Doyle, J. C., & Csete, M. (2011). Architecture, constraints, and behavior. Proceedings
neurons: dependence on spike timing, synaptic strength, and postsynaptic cell of the National Academy of Sciences of the United States of America, 108(Suppl. 3),
type. The Journal of Neuroscience, 18(24), 10464–10472. 15624–15630.
Boahen, K. A. (1996). Retinomorphic vision systems. In Proceedings of the 5th Eliasmith, C., & Stewart, T. C. (2011). Nengo and the neural engineering framework:
international conference on microelectronics for neural networks, MicroNeuro connecting cognitive theory to neuroscience. In Proceedings of the 33rd annual
(pp. 2–14). meeting of the cognitive science society (pp. 1–2).
Boahen, K. A. (2000). Point-to-point connectivity between neuromorphic chips Eliasmith, C., Stewart, T. C., Choo, X., Bekolay, T., DeWolf, T., Tang, Y., et al. (2012).
using address events. IEEE Transactions on Circuits and Systems II: Analog and A large-scale model of the functioning brain. Science, 338(6111), 1202–1205.
Digital Signal Processing, 47(5), 416–434. Etienne-Cummings, R., Kalayjian, Z. K., & Donghui, C. (2001). A programmable focal-
Boahen, K. A., & Andreou, A. G. (1992). A contrast sensitive silicon retina with plane MIMD image processor chip. IEEE Journal of Solid-State Circuits, 36(1),
reciprocal synapses. Advances in Neural Information Processing Systems, 3, 64–73.
Fasnacht, D. B., & Indiveri, G. (2011). A PCI based high-fanout AER mapper with 2 GB
764–772.
Boahen, K. A., Pouliquen, P. O., Andreou, A. G., & Jenkins, R. E. (1989). A RAM look-up table, 0.8 us latency and 66 MHz output event-rate. In Proceedings
heteroassociative memory using current-mode MOS analog VLSI circuits. IEEE of the 45th annual conference on information sciences and systems, CISS (pp. 1–6).
Transactions on Circuits and Systems, 36(5), 747–755. Federico, M. D., Mandolesi, P. S., Julian, P., & Andreou, A. G. (2008). Experimental
Bofill-i Petit, A., & Murray, A. F. (2004). Synchrony detection and amplification results of simplicial CNN digital pixel processor. IET Electronics Letters, 44(1),
by silicon neurons with STDP synapses. IEEE Transactions on Neural Networks, 27–29.
Folowosele, F. O., Harrison, A., Cassidy, A. S., Andreou, A. G., Etienne-Cummings, R., &
15(5), 1296–1304.
Mihalas, S. et al. (2009). A switched capacitor implementation of the generalized
Bruederle, D., Petrovici, M. A., Vogginger, B., Ehrlich, M., Pfeil, T., Millner, S., et al.
linear integrate-and-fire neuron. In Proceedings of the 2009 IEEE international
(2011). A comprehensive workflow for general-purpose neural modeling with
symposium on circuits and systems, ISCAS (pp. 2149–2152).
highly configurable neuromorphic hardware systems. Biological Cybernetics,
Galluppi, F., Davies, S., Furber, S. B., Stewart, T. C., & Eliasmith, C. (2012). Real
104(4–5), 263–296.
time on-chip implementation of dynamical systems with spiking neurons. In
Camuñas-Mesa, L. A., Zamarreño-Ramos, C., Linares-Barranco, A., Acosta-Jimenez,
Proceedings of the 2012 international joint conference on neural networks, IJCNN
A. J., Serrano-Gotarredona, T., & Linares-Barranco, B. (2012). An event-driven
(pp. 1–8).
multi-kernel convolution processor module for event-driven vision sensors.
Gao, C., & Hammerstrom, D. W. (2007). Cortical models onto CMOL and CMOS—
IEEE Journal of Solid-State Circuits, 47(2), 504–517.
architectures and performance/price. IEEE Transactions on Circuits and Systems
Cardoso, J., Diniz, P., & Weinhardt, M. (2010). Compiling for reconfigurable
I: Regular Papers, 54(11), 2502–2515.
computing: a survey. ACM Computing Surveys, 42(4), 13:1–13:64.
Gao, C., Zaveri, M. S., & Hammerstrom, D. W. (2008). CMOS/CMOL architectures for
Carmona, R., Espejo, S., Dominguez-Castro, R., Rodriguez-Vazquez, A., Roska, T., &
spiking cortical column. In Proceedings of the 2008 international joint conference
Kozek, T. et al. (1998). A 0.5 µm CMOS CNN analog random access memory
on neural networks, IJCNN (pp. 2441–2448).
chip for massive image processing. In Proceedings of the 5th IEEE international
Genov, R., & Cauwenberghs, G. (2001). Charge-mode parallel architecture for
workshop on cellular neural networks and their applications, CNAA (pp. 271–276).
vector–matrix multiplication. IEEE Transactions on Circuits and Systems II:
Cassidy, A. S., & Andreou, A. G. (2008). Dynamical digital silicon neurons. In
Analog and Digital Signal Processing, 48(10), 930–936.
Proceedings of the 2007 IEEE biomedical circuits and systems conference, BioCAS
Georgiou, J., & Andreou, A. G. (2006). High-speed, address-encoding arbiter
2007 (pp. 289–292).
architecture. IET Electronics Letters, 42(3), 170–171.
Cassidy, A. S., & Andreou, A. G. (2009). Analytical methods for the design and
Georgiou, J., & Andreou, A. G. (2007). Address-data event representation
optimization of chip-multiprocessor architectures. In Proceedings of the 43rd
for communication in multichip neuromorphic system architectures. IET
annual conference on information sciences and systems, CISS (pp. 482–487).
Electronics Letters, 43(14), 767.
Cassidy, A. S., & Andreou, A. G. (2012). Beyond Amdahl’s law: an objective Georgiou, J., Andreou, A. G., & Pouliquen, P. O. (2006). A mixed analog/digital
function that links multiprocessor performance gains to delay and energy. IEEE asynchronous processor for cortical computations in 3D SOI-CMOS. In
Transactions on Computers, 61(8), 1110–1126. Proceedings of the 2006 IEEE international symposium on circuits and systems,
Cassidy, A. S., Andreou, A. G., & Georgiou, J. (2011). A combinational digital logic
ISCAS (pp. 4955–4958).
approach to STDP. In Proceedings of the 2011 IEEE international symposium on
Giulioni, M., Camilleri, P., Mattia, M., Dante, V., Braun, J., & Del Giudice, P. (2011).
circuits and systems, ISCAS (pp. 673–676).
Robust working memory in an asynchronously spiking neural network realized
Cassidy, A. S., Denham, S. L., Kanold, P. O., & Andreou, A. G. (2007). FPGA based
with neuromorphic VLSI. Frontiers in Neuroscience, 5, 149.
silicon spiking neural array. In Proceedings of the 2007 IEEE biomedical circuits Goldberg, D. H., Cauwenberghs, G., & Andreou, A. G. (2001a). Analog VLSI spiking
and systems conference, BioCAS 2007 (pp. 75–78). neural network with address domain probabilistic synapses. In Proceedings
Cassidy, A. S., Murray, T., Andreou, A. G., & Georgiou, J. (2011). Evaluating on-chip of the 2001 IEEE international symposium on circuits and systems, ISCAS
interconnects for low operating frequency silicon neuron arrays. In Proceedings (pp. 241–244).
of the 2011 IEEE international symposium on circuits and systems, ISCAS Goldberg, D. H., Cauwenberghs, G., & Andreou, A. G. (2001b). Probabilistic synaptic
(pp. 2437–2440). weighting in a reconfigurable network of VLSI integrate-and-fire neurons.
Cassidy, A. S., Yu, K., Zhou, H., & Andreou, A. G. (2011). A high-level analytical Neural Networks, 14, 781–793.
model for application specific CMP design exploration. In Proceedings of the 2011 Goodman, D. F. M., & Brette, R. (2009). The Brian simulator. Frontiers in Neuroscience,
conference on design automation & test in Europe, DATE’11 (pp. 1–6). 3(2), 192–197.
Cembrano, G., Rodriguez-Vazquez, A., Galan, R., Jimenez-Garrido, F., Espejo, S., & GSI, (2011). GSI technology home. [Link]. February.
Dominguez-Castro, R. (2004). A 1000 FPS at 128 × 128 vision processor with Hall, T. S., Twigg, C. M., Gray, J. D., Hasler, P. E., & Anderson, D. V. (2005). Large-
8-bit digitized I/O. IEEE Journal of Solid-State Circuits, 39(7), 1044–1055. scale field-programmable analog arrays for analog signal processing. IEEE
Chicca, E., Badoni, D., Dante, V., D’Andreagiovanni, M., Salina, G., Carota, L., et al. Transactions on Circuits and Systems I: Regular Papers, 52(11), 2298–2307.
(2003). A VLSI recurrent network of integrate-and-fire neurons connected by Hammerstrom, D. W. (1995). A digital VLSI architecture for real-world applications.
plastic synapses with long-term memory. IEEE Transactions on Neural Networks, In An introduction to neural and electronic networks (2nd ed.) (pp. 335–358).
14(5), 1297–1307. Academic Press.
Chklovskii, D. B., Mel, B. W., & Svoboda, K. (2004). Cortical rewiring and information Hammerstrom, D. W. (1998). Digital VLSI for neural networks. In M. A. Arbib (Ed.),
storage. Nature, 431(7010), 782–788. The handbook of brain theory and neural networks (pp. 304–309). The MIT Press.
Choudhary, S., Sloan, S., Fok, S., Neckar, A., Trautmann, E., & Gao, P. et al. (2012). Hammerstrom, D. W., & Lulich, D. P. (1996). Image processing using one-
Silicon neurons that compute. In Proceedings of the 2012 international joint dimensional processor arrays. Proceedings of the IEEE, 84(7), 1005–1018.
conference on neural networks, IJCNN (pp. 1–8). Hammerstrom, D. W., & Zaveri, M. S. (2009). Prospects for building cortex-scale
Chua, L. O., & Yang, L. (1988). Cellular neural networks: theory. IEEE Transactions on CMOL/CMOS circuits: a design space exploration. In Proceedings of the 27th
Circuits and Systems, 35(10), 1257–1272. Norchip conference, NORCHIP-2009 (pp. 1–8).
Churchland, P. S., & Sejnowski, T. J. (1988). Perspectives on cognitive neuroscience. Harrison, A., Özgün, R., Lin, J., Andreou, A. G., & Etienne-Cummings, R. (2010). A spike
Science, 242(4879), 741–745. based 3D imager chip using a mixed mode encoding readout. In Proceedings
Culurciello, E., Etienne-Cummings, R., & Boahen, K. A. (2003). A biomorphic digital of the 2010 IEEE biomedical circuits and systems conference, BioCAS 2010
image sensor. IEEE Journal of Solid-State Circuits, 38(2), 281–294. (pp. 190–193).
Das, A. (2000). Optimizing coverage in the cortex. Nature Neuroscience, 3(8), Hodgkin, A. L., & Huxley, A. F. (1952). A quantitative description of membrane
750–752. current and its application to conduction and excitation in nerve. Journal of
de Garis, H., Shuo, C., Goertzel, B., & Ruiting, L. (2010). A world survey of artificial Physiology: London, 117(4), 500–544.
brain projects, Part I: large-scale brain simulations. Neurocomputing, 74(1–3). Horiuchi, T. K., & Koch, C. (1999). Analog VLSI-based modeling of the primate
Diorio, C., Hasler, P. E., Minch, B. A., & Mead, C. A. (1996). A single-transistor silicon oculomotor system. Neural Computation, 11(1), 243–265.
synapse. IEEE Transactions on Electron Devices, 43(11), 1972–1980. Hsin, C., Saighi, S., Buhry, L., & Renaud, S. (2010). Real-time simulation of biologically
Diorio, C., Hasler, P. E., Minch, B. A., & Mead, C. A. (1997). A floating-gate MOS realistic stochastic neurons in VLSI. IEEE Transactions on Neural Networks, 21(9),
learning array with locally computed weight updates. IEEE Transactions on 1511–1517.
Electron Devices, 44(12), 2281–2289. Hubel, D. H., & Wiesel, T. N. (1977). Ferrier lecture: functional architecture of
Dominguez-Castro, R., Espejo, S., Rodriguez-Vazquez, A., Carmona, R., Foldesy, P., macaque monkey visual cortex. Proceedings of the Royal Society B: Biological
Zarandy, A., et al. (1997). A 0.8 µm CMOS two-dimensional programmable Sciences, 198(1130), 1–59.
mixed-signal focal-plane array processor with on-chip binary imaging and Imam, N., Akopyan, F., Arthur, J. V., Merolla, P. A., Manohar, R., & Modha, D. S. (2012).
instructions storage. IEEE Journal of Solid-State Circuits, 32(7), 1013–1026. A digital neurosynaptic core using event-driven QDI circuits. In Proceedings
Douglas, R. J., & Martin, K. A. C. (2012). Behavioral architecture of the cortical sheet. of the 18th IEEE international symposium on asynchronous circuits and systems,
Current Biology, 22(24), R1033–R1038. ASYNC (pp. 25–32).
A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26 25
Indiveri, G., Chicca, E., & Douglas, R. J. (2004). A VLSI reconfigurable network of Mead, C. A., & Conway, L. (1979). Introduction to VLSI systems. Addison-Wesley
integrate-and-fire neurons with spike-based learning synapses. In Proceed- Publishers.
ings of the 2004 European symposium on artificial neural networks, ESANN Merolla, P. A., Arthur, J. V., Akopyan, F., Imam, N., Manohar, R., & Modha, D. S. (2011).
(pp. 405–410). A digital neurosynaptic core using embedded crossbar memory with 45 pJ per
Indiveri, G., Chicca, E., & Douglas, R. J. (2006). A VLSI array of low-power spiking spike in 45 nm. In 2011 IEEE custom integrated circuits conference, CICC 2011.
neurons and bistable synapses with spike-timing dependent plasticity. IEEE (pp. 1–4). IEEE.
Transactions on Neural Networks, 17(1), 211–221. Mihalas, S., & Niebur, E. (2009). A generalized linear integrate-and-fire neural model
Iyer, S. S., Barth, J. E., Jr., Parries, P. C., Norum, J. P., Rice, J. P., Logan, L. R., et al. (2005). produces diverse spiking behaviors. Neural Computation, 21(3), 704–718.
Embedded DRAM: technology platform for the Blue Gene/L chip. IBM Journal of Mill, R., Sheik, S., Indiveri, G., & Denham, S. L. (2011). A model for stimulus-specific
Research and Development, 49(2), 333–350. adaptation in neuromorphic analog VLSI. IEEE Transactions on Biomedical
Izhikevich, E. M. (2003). Simple model of spiking neurons. IEEE Transactions on Circuits and Systems, 1–8.
Misra, J., & Saha, I. (2010). Artificial neural networks in hardware a survey of two
Neural Networks, 14(6), 1569–1572.
decades of progress. Neurocomputing, 74(1–3), 239–255.
Izhikevich, E. M. (2004). Which model to use for cortical spiking neurons? IEEE
Modha, D. S., Ananthanarayanan, R., Esser, S. K., Ndirango, A., Sherbondy, A. J., &
Transactions on Neural Networks, 15(5), 1063–1070.
Singh, R. (2011). Cognitive computing. Communications of the ACM, 54(8), 62.
Kanold, P. O., & Shatz, C. (2006). Subplate neurons regulate maturation of cortical
Murray, A. F., Del Corso, D., & Tarassenko, L. (1991). Pulse-stream VLSI neural
inhibition and outcome of ocular dominance plasticity. Neuron, 51(5), 627–638.
networks mixing analog and digital techniques. IEEE Transactions on Neural
Karakiewicz, R., Genov, R., & Cauwenberghs, G. (2007). 480-GMACS/mW resonant Networks, 2(2), 193–204.
adiabatic mixed-signal processor array for charge-based pattern recognition. Nallatech, (2008). FPGA accelerated computing. [Link]. December.
IEEE Journal of Solid-State Circuits, 42(11), 2573–2584. Neumann, J. v. (1958). The computer and the brain. Yale University Press.
Opal-Kelly, (2012). FPGA USB modules. [Link]. Noack, M., Mayr, C., Partzsch, J., Schultz, M., & Schuffny, R. (2012). A switched-
Kestur, S., Park, M. S., Sabarad, J., Dantara, D., Narayanan, V., & Chen, Y. et al. capacitor implementation of short-term synaptic dynamics. In Proceedings of
(2012). Emulating mammalian vision on reconfigurable hardware. In 2012 the 19th international conference on mixed design of integrated circuits and
IEEE international symposium on field-programmable custom computing machines systems, MIXDES 2012. (pp. 214–218). IEEE.
(pp. 141–148). Pardo, F., Dierickx, B., & Scheffer, D. (1998). Space-variant nonorthogonal structure
Khan, M., Lester, D., Plana, L., Rast, A., Jin, X., & Painkras, E. et al. (2008). SpiNNaker: CMOS image sensor design. IEEE Journal of Solid-State Circuits, 33(6), 842–849.
mapping neural networks onto a massively-parallel chip multiprocessor. In Pearson, M., Pipe, A., Mitchinson, B., Melhush, G., Gilhespy, I., & Nibouche, M.
Proceedings of the 2008 international joint conference on neural networks, IJCNN (2007). Implementing spiking neural networks for real-time signal-processing
(pp. 2850–2857). and control applications: a model-validated FPGA approach. IEEE Transactions
Kirschner, M., & Gerhart, J. (1998). Evolvability. Proceedings of the National Academy on Neural Networks, 18(5), 1472–1487.
of Sciences of the United States of America, 95(15), 8420–8427. Pham, P.-H., Jelaca, D., Farabet, C., Martini, B., LeCun, Y., & Culurciello, E. (2012).
Koickal, T. J., Gouveia, L. C., & Hamilton, A. (2009). A programmable spike- NeuFlow: dataflow vision processing system-on-a-chip. In Proceedings of the
timing based circuit block for reconfigurable neuromorphic computing. 55th midwest symposium on circuits and systems, MWSCAS (pp. 1044–1047).
Neurocomputing, 72, 3609–3616. Posch, C., Matolin, D., & Wohlgenannt, R. (2011). A QVGA 143 dB dynamic range
Kumar, N., Himmelbauer, W., Cauwenberghs, G., & Andreou, A. G. (1998). An analog frame-free PWM image sensor with lossless pixel-level video compression and
VLSI chip with asynchronous interface for auditory feature extraction. IEEE time-domain CDS. IEEE Journal of Solid-State Circuits, 46(1), 259–275.
Transactions on Circuits and Systems II: Analog and Digital Signal Processing, 45(5), Pouliquen, P. O., Andreou, A. G., & Strohben, K. (1997). Winner-takes-all associative
600–606. memory: a Hamming distance vector quantizer. Analog Integrated Circuits and
La Rosa, M., Caruso, E., Fortuna, L., Frasca, M., Occhipinti, L., & Rivoli, F. (2005). Signal Processing, 13(1–2).
Neuronal dynamics on FPGA: Izhikevich’s model. In Proceedings of SPIE: Preissl, R., Wong, T. M., Datta, P., Flickner, M., Singh, R., Esser, S. K., et al. (2012).
bioengineered and bioinspired systems II (pp. 87–94). SPIE. Compass: a scalable simulator for an architecture for cognitive computing.
Laughlin, S. B., & Sejnowski, T. J. (2003). Communication in neuronal networks. In Proceedings of the 2012 International Conference for High Performance
Science, 301(5641), 1870–1874. Computing, Networking, Storage and Analysis, SC’12. (pp. 1–11). IEEE Computer
Lichtsteiner, P., Posch, C., & Delbruck, T. (2008). A 128 × 128 120 dB 15 µs Society.
latency asynchronous temporal contrast vision sensor. IEEE Journal of Solid- Ramakrishnan, S., Hasler, P. E., & Gordon, C. (2012). Floating gate synapses with
State Circuits, 43(2), 566–576. spike-time-dependent plasticity. IEEE Transactions on Biomedical Circuits and
Likharev, K. K. (2008). CMOL: second life for silicon? Microelectronics Journal, 39(2), Systems, 5(3), 244–252.
177–183. Renaud, S., Tomas, J., Lewis, N., Bornat, Y., Daouzli, A., Rudolph, M., et al. (2010). PAX:
Lin, J. H., & Boahen, K. A. (2009). A delay-insensitive address-event link. In 15th IEEE a mixed hardware/software simulation platform for spiking neural networks.
symposium on asynchronous circuits and systems, ASYNC (pp. 55–62). Neural Networks, 23(7), 905–916.
Lin, J. H., Pouliquen, P. O., Andreou, A. G., Goldberg, A. C., & Rizk, C. G. (2012). Rice, K. L., Bhuiyan, M. A., Taha, T. M., Vutsinas, C. N., & Smith, M. C. (2009).
Flexible readout and integration sensors (FRIS): a bio-inspired, system-on-chip, FPGA implementation of Izhikevich spiking neurons for character recognition.
event based readout architecture. In Proceedings of SPIE: infrared technology and In Proceedings of the 2009 international conference on reconfigurable computing
applications XXXVIII conference (pp. 8353–1N). and FPGAs, ReConFig’09. (pp. 451–456). IEEE.
Lin, J. H., Pouliquen, P. O., Goldberg, A. C., Rizk, C. G., & Andreou, A. G. (2011). Roska, T., & Chua, L. O. (1993). The CNN universal machine: an analogic array
A bio-inspired event-driven architecture with pixel-level A/D conversion and computer. IEEE Transactions on Circuits and Systems II: Analog and Digital Signal
non-uniformity correction. In Proceedings of the 45th annual conference on Processing, 40(3), 163–173.
information sciences and systems, CISS (pp. 1–6). Rumelhart, D. E., McClelland, J. L., & Group, P. R. (1987). Parallel distributed
Liu, S.-C., & Mockel, R. (2008). Temporally learning floating-gate VLSI synapses. In processing, foundations—Vol. 1. The MIT Press.
Proceedings of the 2008 IEEE international symposium on circuits and systems, Saighi, S., Bornat, Y., Tomas, J., Le Masson, G., & Renaud, S. (2010). A library of analog
ISCAS (pp. 2154–2157). operators based on the Hodgkin–Huxley formalism for the design of tunable,
Lotze, N., & Manoli, Y. (2012). A 62 mV 0.13 µm CMOS standard-cell-based design real-time, silicon neurons. IEEE Transactions on Biomedical Circuits and Systems,
technique using Schmitt-trigger logic. IEEE Journal of Solid-State Circuits, 47(1), 5(1), 3–19.
Schemmel, J., Grubl, A., Meier, K., & Mueller, E. (2006). Implementing synaptic
47–60.
Mahowald, M. (1992). VLSI analogs of neuronal visual processing: a synthesis plasticity in a VLSI spiking neural network model. In Proceedings of the 2006
of form and function. Ph.D. Thesis, Ph.D. Dissertation, California Institute of international joint conference on neural networks, IJCNN (pp. 1–6).
Technology. Schreiber, S., Machens, C. K., Herz, A. V. M., & Laughlin, S. B. (2002). Energy-efficient
Mandolesi, P. S., Julian, P., & Andreou, A. G. (2004). A scalable and programmable coding with discrete stochastic events. Neural Computation, 14(6), 1323–1346.
Serrano-Gotarredona, T., Andreou, A. G., & Linares-Barranco, B. (1999). AER
simplicial CNN digital pixel processor architecture. IEEE Transactions on Circuits
image filtering architecture for vision-processing systems. IEEE Transactions on
and Systems I: Regular Papers, 51(5), 988–996.
Mandolesi, P. S., Julian, P., & Andreou, A. G. (2006). A simplicial CNN visual processor Circuits and Systems I: Fundamental Theory and Applications, 46(9), 1064–1071.
Serrano-Gotarredona, T., Oster, M., Lichtsteiner, P., Linares-Barranco, A., Paz-
in 3D SOI-CMOS. In Proceedings of the 2006 IEEE international symposium on
Vicente, R., Gomez-Rodriguez, F., et al. (2009). CAVIAR: A 45 k neuron, 5 M
circuits and systems, ISCAS (pp. 1311–1314).
synapse, 12 G connects/s AER hardware sensory-processing-learning-actuating
Markram, H. (2011). Human brain project. [Link]
system for high-speed visual object recognition and tracking. IEEE Transactions
Markram, H., Gerstner, W., & Sjöström, P. J. (2011). A history of spike-timing-
on Neural Networks, 20(9), 1417–1438.
dependent plasticity. Frontiers in Synaptic Neuroscience, 3(4), 1–24.
Silver, R., Boahen, K. A., Grillner, S., Kopell, N., & Olsen, K. L. (2007). Neurotech for
Marr, D. (1982). Vision: a computational investigation into the human representation neuroscience: unifying concepts, organizing principles, and emerging tools. The
and processing of visual information. W.H. Freeman and Company. Journal of Neuroscience, 27(44), 11807–11819.
Martin, M. N., Pouliquen, P. O., Andreou, A. G., & Fraeman, M. E. (1996). Current- Sivilotti, M. A. (1991). Wiring considerations in analog VLSI systems, with
mode differential logic circuits for low power digital systems. In Proceedings of application to field programmable networks. Ph.D. Thesis, Ph.D. Dissertation,
the 39th midwest symposium on circuits and systems, MWSCAS (pp. 183–186). California Institute of Technology.
McClelland, J. L., Rumelhardt, D. R., & Group, P. R. (1987). Parallel distributed Song, S., & Abbott, L. F. (2000). Competitive Hebbian learning through spike-timing-
processing, psychological and biological models—Vol. 2. The MIT Press. dependent synaptic plasticity. Nature Neuroscience, 3(9), 919–926.
Mead, C. A. (1989). Analog VLSI and neural systems. Addison-Wesley Publishers. Stanacevic, M., & Cauwenberghs, G. (2005). Micropower gradient flow acoustic
Mead, C. A. (1990). Neuromorphic electronic systems. Proceedings of the IEEE, localizer. IEEE Transactions on Circuits and Systems I: Regular Papers, 52(10),
78(10), 1629–1636. 2148–2157.
26 A.S. Cassidy et al. / Neural Networks 45 (2013) 4–26
Stepanyants, A., Hof, P. R., & Chklovskii, D. B. (2002). Geometry and structural Wawrzynek, J., Asanovic, K., Kingsbury, B., Johnson, D., Beck, J., & Morgan, N. (1996).
plasticity of synaptic connectivity. Neuron, 34(2), 275–288. Spert-II: a vector microprocessor system. IEEE Computer, 29(3), 79–86.
Strukov, D. B., Snider, G. S., Stewart, D. R., & Williams, R. S. (2008). The missing Wawrzynek, J., Asanovic, K., & Morgan, N. (1993). The design of a neuro-
memristor found. Nature, 453(7191), 80–83. microprocessor. IEEE Transactions on Neural Networks, 4(3), 394–399.
Swindale, N. V., Shoham, D., Grinvald, A., Bonhoeffer, T., & Hübener, M. (2000). Wen, Q., & Chklovskii, D. B. (2008). A cost-benefit analysis of neuronal morphology.
Visual cortex maps are optimized for uniform coverage. Nature Neuroscience, Journal of Neurophysiology, 99(5), 2320–2328.
3(8), 822–826. Wen, Q., Stepanyants, A., Elston, G. N., Grosberg, A. Y., & Chklovskii, D. B. (2009).
Tezzaron, (2011). Tezzaron semiconductor. [Link]. February. Maximization of the connectivity repertoire as a statistical principle governing
Turing, A. M. (1952). The chemical basis of morphogenesis. Philosophical the shapes of dendritic arbors. Proceedings of the National Academy of Sciences
Transactions of the Royal Society of London: Series B, Biological Sciences, 237(641), of the United States of America, 106(30), 12536–12541.
37–72. Wijekoon, J. H. B., & Dudek, P. (2006). Simple analogue VLSI circuit of a cortical
Varshney, L. R., Sjöström, P. J., & Chklovskii, D. B. (2006). Optimal informa- neuron. In Proceedings of the 13th IEEE international conference on electronics,
tion storage in noisy synapses under resource constraints. Neuron, 52(3), circuits, and systems, ICECS (pp. 1344–1347).
409–423. Wolff, L. B., & Andreou, A. G. (1995). Polarization camera sensors. Image and Vision
Vittoz, E. A. (2005). Weak inversion for ultimate low-power logic. In Low-power Computing, 13, 497–510.
CMOS circuits: technology, logic design and CAD tools (pp. 1–18). CRC Press. Xilinx, (2011). [Link]. February.
Vogelstein, R. J., Mallik, U., Culurciello, E., Cauwenberghs, G., & Etienne-Cummings, Yu, T., Sejnowski, T. J., & Cauwenberghs, G. (2011). Biophysical neural spiking,
R. (2007). A multichip neuromorphic system for spike-based visual information bursting, and excitability dynamics in reconfigurable analog VLSI. IEEE
processing. Neural Computation, 19(9), 2281–2300. Transactions on Biomedical Circuits and Systems, 5(5), 420–429.