Nature 2020 01 30 Part.01

(Ann) #1

Extended Data Fig. 2 | Input patch set generated during the sliding process
and input waveforms during the convolution. a, Input nine-dimensional
vectors unrolled from the input 3 × 3 patch set. xm_n indicates the relevant pixel
at the crossing of row m and column n. The input patches are generated during
the sliding convolutional process over the input feature planes and are
subsequently injected into the memristor weight array. For a specific input
vector, each element is encoded as the corresponding input pulse applied on
the associated bit line. The red box indicates the current input vector, in
agreement with the case illustrated in b. b, Input waveform sample in a
memristor-based convolutional operation. Each element (an 8-bit binary


number) in the input vector is encoded as sequential pulses over eight time
intervals (t1, t2, ..., t8). For a particular period tk, bit k determines whether a 0-V
pulse or a 0.2-V pulse is used. Each ‘1’ at a certain bit location implies the
existence of a 0.2-V read pulse in the corresponding time interval, and a ‘0’
indicates a 0-V read pulse. The corresponding output current Ik is sensed, and
this quantized value is then left-shifted by k – 1. Finally, the quantized and
shifted results with respect to the same source line over the eight time intervals
are summed together (ISL in the inset equation). The difference between every
two ISL values from a pair of differential source lines is considered to be the
expected weighted-sum result.
Free download pdf