Breaking Liebig’s Law: An Advanced Multipurpose Neuromorphic Engine - Wang, Runchun; van Schaik, André (Frontiers in Neuroscience, 2018)
We present a massively-parallel scalable multi-purpose neuromorphic engine. All existing neuromorphic hardware systems suffer from Liebig’s law (that the performance of the system is limited by the component in shortest supply) as they have fixed numbers of dedicated neurons and synapses for specific types of plasticity. For any application, it is always the availability of one of these components that limits the size of the model, leaving the others unused. To overcome this problem, our engine adopts a unique novel architecture: an array of identical components, each of which can be configured as a leaky-integrate-and-fire (LIF) neuron, a learning-synapse, or an axon with trainable delay. Spike Timing Dependent Plasticity (STDP) and Spike Timing Dependent Delay Plasticity (STDDP) are the two supported learning rules. All the parameters are stored in the SRAMs such that runtime reconfiguration is supported. As a proof of concept, we have implemented a prototype system with 16 neural engines, each of which consists of 32768 (32k) components, yielding half a million components, on an entry level FPGA (Altera Cyclone V). We verified the prototype system with measurement results. To demonstrate that our neuromorphic engine is a high performance and scalable digital design, we implemented it using TSMC 28nm HPC technology. Place and route results using Cadence Innovus with a clock frequency of 2.5 GHz show that this engine achieves an excellent area efficiency of 1.68 µm2 per component: 256k (218) components in a silicon area of 650 µm×680 µm (~0.44 mm2, the utilisation of the silicon area is 98.7%). The power consumption of this engine is 37mW, yielding a power efficiency of 0.92 pJ per synaptic operation (SOP).