UZH ETH UZH|ETH
  Zurich

Skip to content. | Skip to navigation

Sections
Personal tools
You are here: Home Chips MN256R1 Input specifications

Input specifications

by Giacomo Indiveri last modified Mar 16, 2017 11:26 AM
new AER input specifications

AER Input Specifications

Signal-name Rule

<block name><signal name>x<class1><class2><B><F*><I/O>

<block name>

                    VA: non-plastic virtual array

                    VDPIE: Excitatory DPI of virtual excitatory synapses

                    VDPII: Inhibitory DPI of virtual inhibitory synapses

                    NPA: non-plastic array

                    NPDPII: non-plastic DPI Inhibitory   ?

                    NPDPIE: non-plastic DPI Excitatory   ?

                    PA: plastic array

                    PDPI: plastic DPI

                    MUX: multiplexer

                    SL: soma-learn

                    IF: neuron

<signal name>  Vmem nup dn Isyn Iw Vw Vca ...

<class1>    A: asynchronous digital signals

                 U: analog current 

                 V: analog voltage

<class2>    C: clock

                 R: reset

                 S: control/status

                 D: data/address

                 T: test

<B>          indicates active low signals

<F*>        signal buffered  * times

<I/O>       indicates direction of pins (only for pins)

Examples:

IFBufEnxASBI:  buffer low active enable signal (input control signal) in IF block

IFMonEnxASI:  monitor enable control input signal in IF block

IFMonVmemxVO: monitored Vmem analog voltage (output) in IF block

IFVmemxVO:  Vmem analog voltage in IF block

PDPIIsynxUO: Isyn analog current (output) in Plastic DPI

RstxARB! : global low active asynchronous reset signal

AERowxADI: address event row (qy)

AEColxADI: address event column (qx)

AERowxADF1O:  output of the buffer while input is AERowxADI

IF_THR_N!

 

AER In

 

AERowxAD<255:0> : Row address in the synapse array

AEColxAD<519:0> : Column address in the synapse array:

0-255 : Plastic synapses

256-511 : non-plastic synapses

512 - 515 : Virtual excitatory synapses

516 - 519 : Virtual inhibitory synapses

BCxAS : Broadcast line that activates an entire column. Not applicable for virtual synapses

NPASetExcxAS :

NPASetInhxASB

PANPAEnableMCxAS

PANPADisableMCxASB

PANPAEnableRecxAS

PANPADisableRecxASB

NPASetW0xAS

NPASetW1xAS

NPAResetW0xASB

NPAResetW1xASB

PAEnableMonitorxAS

DisableAllMonitorsxASB

PDPIEnableCurrentMonitorxAS

NPDPIIEnableCurrentMonitorxAS

NPDPIEEnableCurrentMonitorxAS

VDPIIEnableCurrentMonitorxAS

VDPIEEnableCurrentMonitorxAS

MUXControlsxAS<7:0>

PASetSynLoxAS

PASetSynHixASB

IFSLEnableMonitorxAS

IFSetTauBiasxAS

IFEnableResetBufxASB

IFResetAllTauBiasesxASB

FBEnablexAS

 

All active low signals should have a default value of 1. All active high signals should have a default value of 0.

Signals other than qx and qy are to be decoded from AER control lines and propagated immediately to the core without waiting for pix_req (chip_req).

qx and qy are to be decoded from AER address lines. but the decoded values are only released to the core when pix_req is asserted

The undecoded AER address bits are all latched by pix_req

 

Signals that should keep their values between address events:

Following signals should keep their values between address events (flipflip):

 

MUXControlsxAS<7:0>

IFEnableResetBufxAS

IFResetAllTauBiasesxASB

DisableAllMonitorsxASB

FBEnablexAS


For each of these signals, one AER event will set it high, and a different AER event will set it low.. For all other AER events, the signal value is unchanged.

 

 

Counting the number of AER bits needed

The chip has to distinguish between the following types of address events. In each event type, the decoded AER signals should obey the logical condition in bold. Signals that are not shown in the logical condition SHOULD keep their default values

1) Normal spike sent to a plastic or non-plastic or virtual synapse  : 256 * 520 = 133120. 

OneHot(AEColxAD<519:0>) and oneHot(AERowxAD<255:0>)

2) Broadcast event to a plastic or non-plastic column : 512.

oneHot(AEColxAD<511:0>) and BCxAS

3)Programming one of the 5 latches in a non-plastic synapse (recurrent, excitatory/inhibitory,weight0,weight1,broadcast_enable): 256*256*5*2 = 655360.

oneHot(AEColxAD<511:256>) and oneHot(AERowxAD<255:0>) and ( (PANPAEnableMCxAS xor not(PANPADisableMCxASB) ) or (PANPAEnableRecxAS xor not(PANPADisableRecxASB) ) or (NPASetW0xAS  xor not(NPAResetW0xASB) ) or (NPASetW1xAS xor not(NPAResetW1xASB) ) or (NPASetExcxAS xor not(NPASetInhxASB) ) )

4)Programming one of the 2 latches in the plastic synapses (recurrent,broadcast_enable) : 256*256*2*2 = 262144

oneHot(AEColxAD<255:0>) and oneHot(AERowxAD<255:0>) and ( (PANPAEnableMCxAS xor not(PANPADisableMCxASB) ) or (PANPAEnableRecxAS xor not(PANPADisableRecxASB) ) )

5)Setting one of the plastic synapses high or low = 256*256*2 = 131072

oneHot(AEColxAD<255:0>) and oneHot(AERowxAD<255:0>) and (PASetSynLoxAS xor not(PASetSynHixASB))

6)Setting the monitor latch in one of the plastic synapses : 256*256 = 65536

oneHot(AEColxAD<255:0>) and oneHot(AERowxAD<255:0>) and PAEnableMonitorxAS

7) Monitoring the current of one of the 5 DPIs  per neuron(2 for the non-plastic synapses, 1 for the plastic synapses, 2 for the virtual synapses DPI) : 256*5 = 1280

AEColxAD<519> and oneHot(AERowxAD<255:0>) and (PDPIEnableCurrentMonitorxAS or NPDPIIEnableCurrentMonitorxAS or NPDPIEEnableCurrentMonitorxAS or or VDPIIEnableCurrentMonitorxAS or VDPIEEnableCurrentMonitorxAS)

8) Assert Reset line of all monitor latches : 1

AEColxAD<519> and AERowxAD<255> and not(DisableAllMonitorsxASB)

9) Deassert Reset line of all monitor latches : 1

AEColxAD<519> and AERowxAD<255> and DisableAllMonitorsxASB

10) Setting the bias select latch in a neuron : 256

AEColxAD<519> and oneHot(AERowxAD<255:0>) and IFSetTauBiasxAS

11) Assert reset line of all bias select latches in the neurons : 1

AEColxAD<519> and AERowxAD<255> and not(IFResetAllTauBiasesxASB)

12) Deassert reset line of all bias select latches in the neurons : 1

AEColxAD<519> and AERowxAD<255> and IFResetAllTauBiasesxASB

13) Monitoring Vmem and Imem of a neuron and Vca and up/down signals of the learning circuit : 256

AEColxAD<519> and oneHot(AERowxAD<255:0>) and IFSLEnableMonitorxAS

14) Assert the enable line for the reset buffer in the neuron : 1

AEColxAD<519> and AERowxAD<255> and IFEnableResetBufxASB

15) Deassert the enable line for the reset buffer in the neuron : 1

AEColxAD<519> and AERowxAD<255> and not(IFEnableResetBufxAS)

16) Programming the multiplexer : 9

AEColxAD<519> and AERowxAD<255> and valid(MUXControlsxAS<7:0>)

17) Enable feedback for homoeostasis : 2

AEColxAD<519> and AERowxAD<255> and FBEnablexAS

 

PLEASE VERIFY WITH AER INPUT SIMLOG!

 

Total size of address space :  1249553-> 21 bits