Software used in neuromorphic systems can be categorized according to the role(s) it performs. Each of these roles has particular features and presents particular challenges. Optimization, and Application Programming Interface (API) design are important, especially for software that is directly involved in processing streams of address-events. Several example software systems are brieﬂy presented.
The software used in AER systems is an often neglected component of such systems and historically, relatively little has been published on the subject (with a few exceptions, e.g., Dante et al. 2005; Delbrück 2008; Oster et al. 2005), although it forms an essential part of all but the simplest of systems. The software in AER systems generally covers one or more of the following roles: chip and system description, configuration, AE stream handling, mapping, and placement and routing.
Chip and System Description software generally consists of databases and/or description languages, which enable knowledge of the properties of relatively disparate hardware to be maintained and interrogated by one or more of the remaining kinds of software in a uniform manner.
By Configuration Software, we mean software which is not necessarily involved once the AER system is up and running; but which is used to configure, for instance various parameters and ...