|Application Abstract: ||A programmable logic unit is provided. The logic unit comprises a number of crossbar arrays. A control circuit connected to the crossbar arrays is configured to provide inputs to a specified subset of crossbar arrays according to a program. A layer of spiking neurons is connected to the crossbar arrays, wherein respective outputs from the crossbar arrays are summed together and input into the spiking neurons. A temporal buffer circuit is configured to hold spiking activation signals from the spiking neurons for a delay time specified by the program before routing the spiking activation signals back to the crossbar arrays as input through the control circuit.