A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators

A memristor bridge neural circuit which is able to perform signed synaptic weighting was proposed in our previous study, where the synaptic operation was verified via software simulation of the mathematical model of the HP memristor. This study is an extension of the previous work advancing toward the circuit implementation where the architecture of the memristor bridge synapse is built with memristor emulator circuits. In addition, a simple neural network which performs both synaptic weighting and summation is built by combining memristor emulators-based synapses and differential amplifier circuits. The feasibility of the memristor bridge neural circuit is verified via SPICE simulations.


Introduction
Synaptic multiplications between input signals and weights are key operations in neural networks, programmable analog vector matrix multiplication and cellular neural networks. Most of the previous synaptic multiplications are based on the software models [1][2][3][4]. While the flexibility of the software-based model is excellent, its processing speed represents a serious bottleneck. The digital OPEN ACCESS accelerating board on which the software version of neural network is a practical option representing a compromise between limited flexibility and a high speed processing [5,6]. However, this approach may not be the solution for the problem of bigger size of neural networks.
There have been some research efforts to build artificial synapses (weights) in neural network chip and analog programmable vector matrix multiplication using CMOS technologies [7][8][9][10][11]. To implement the immense amount of neural processing on a chip, extremely high density of integration technology is needed. This is a very challenging goal and not many successful cases of neural implementations have been reported so far. The cellular neural network [12][13][14][15][16] is one of the successful implementations of analog multiplication circuits.
Most of the synaptic weights implemented with the conventional technologies are volatile. Also, synaptic multiplication between input signal and weight is non-linear. Therefore, introducing a new weighting technology which is nonvolatile and linear is very important for the further development of neuromorphic engineering.
In 2008, HP announced a successful fabrication of a very compact and non-volatile nano scale memory called the memristor [17]. It was originally postulated by Chua [18,19] as the fourth basic circuit elements in electrical circuits. It is based on the nonlinear characteristics of charge and flux. By supplying a voltage or current to the memristor, its resistance can be altered. In this way, the memristor remembers information.
Many of recent researches showed the great potential of memristors in the application of memory, and artificial synapses [20][21][22][23][24]. Cantley et al. presented an application of memristor synapse for the Hebbian learning in spiking neural network [21]. Snider demonstrated a memristor-based self organized network employing dedicated connections for inhibitory (negative) weighting [22]. For such application in neural network or cellular neural network, every connection has to be weighted either positively or negatively.
In [24], we demonstrated the architecture of the memristor bridge circuit which is able to perform signed synaptic operations. The study was conducted with the mathematical model of the HP memristor, where the operation of the memristor bridge circuit was verified via software simulation. This study is an extension of the previous research advancing toward the circuit implementation where the architecture of the memristor bridge neuron is built with our memristor emulator circuits [25]. Also, a simple neural network which performs both synaptic weighting and summation is built by combining memristor emulators-based synapses and differential amplifier circuits.
In this paper, the HP TiO 2 memristor model is introduced in Section 2. In Section 3, a memristor emulator circuit is proposed. Memristor bridge synapses built with memristor emulator circuits are described in Section 4. Simulation results are presented in Section 5. In Section 6 we present our conclusions.

HP Memristor Models
In HP TiO 2 memristor model [17], an undoped region with highly resistive TiO 2 and doped region with highly conductive oxygen vacancies TiO 2−x layer are sandwiched between two platinum electrodes as shown in Figure 1(a). When a voltage or current signal is applied to the device, the border line between the doped and undoped layers shifts as a function of the applied voltage or current.
In consequence, the resistance between the two electrodes is altered. Figure 1(b,c) is the equivalent circuit and the symbol whose polarity is indicated by a black bar at one end. The defined polarity indicates that the memristance is decreased (or increased) when current flows from the left (right) side to the right (left) side of the memristor symbol in Figure 1(c). Figure 1. (a) Structure of TiO 2 memristor, TiO 2−x and TiO 2 layers are sandwiched between two platinum electrodes. When a voltage/current is applied, its memristance (resistance of the memristor) is altered; (b) equivalent circuit and (c) symbol of the memristor.
Let w be the thickness of the doped area, D be the thickness of the two layers of TiO 2 memristor. Let ON R and OFF R denote the minimum resistance and the maximum resistance values, respectively.
Then, the relation between the voltage and the current is given by: and w(t)/D is defined as the state variable. In the TiO 2 memristor [17], the rate of change of the state variable is defined as a function of current i; namely: where v  is the dopant mobility. This model is called a linear drift model, since the velocity of the width is linearly proportional to the current. Integrating Equation (2): From Equations (1) and (3), the memristance M(t) can be written as: It follows from Equation (6) that the memristance M(t) decreases when higher voltage is applied to the non-black bar side than that of black bar side in Figure 1(c). Similarly, the memristor is called incrementally biased when a higher voltage is applied at the black bar side than that of non-black bar side in Figure 1(c). With this bias, the current-voltage relationship is given by: and the memristance M(t) increases as () Detailed descriptions of incremental and decremental memristors using our emulators circuits are provided in Section 3.

HP Memristor Emulator Circuit
As of today, memristors are not yet available on the market. In order to study memristor-based circuit, building memristor emulators is necessary. Two different approaches to build the memristor emulators are the pure analog circuit-based [25] and the analog-digital mixed-based [26,27]. The memristor emulator circuit adopted for this work is from [25]. The basic idea implemented to design the memristor emulator [25] is shown in Figure 2.
In the figure, the voltage at the input terminal is, where i m is the input current, R s is a resistance at the inverting input terminal and v x is the voltage applied to the positive terminal of the op Amp.
Assume that the voltage v x is proportional to input current in i , then: where m is a proportionality coefficient and v x = mi in . Equation (9) implies that the input resistance of the circuit is R s + m. If we can control m so that, it is time integral of the input current i in , then, the circuit in Figure 2 acts as a memristor.
To emulate v x in Equation (9), three devices (a capacitor, a resistor, and a voltage multiplier) are utilized, in which the voltage from the capacitor and that from the resistor are multiplied using a voltage multiplier.
The memristor emulator needs to be prepared in two different connections such as decremental and incremental emulators, separately. Figure 3 shows the schematic of the incrementally biased memristor emulator where memristance increases when a positive voltage v in applied at the input terminal. The input voltage applied at a memristor emulator is converted into an input current i in with a resistor R s and op Amp U0 via the virtual ground constraint. Since the current i in is used at several places, its replicas are generated using current mirrors. Observe that a current mirror copies single directional current only. For bi-directional (positive and negative) currents, i in must be separated into a positive part and a negative part and processed separately at different parts of the circuit. In the circuit of Figure 3, the positive part of the current, duplicated by a current mirror MN0 and MN2 is fed into a resistor R T and a capacitor C by current mirror MP3 and MP4 with couple of MP1 respectively. On the other hand, MP0 and MP2 acts as the negative part of current mirror that flows out from resistor R T and capacitor C by current mirror MN3 and MN4 which are coupled with MN1.
One of the distinguished features of a memristor is the capability of keeping the programmed information for a long time until new programming inputs are presented. The charge stored at capacitor C is for the programmed information in the memristor emulator. To avoid discharging during the period when an input signal does not exist, the path to the output terminal is connected to a Mosfet buffer U1. The switch S W0 is initially closed to reset the capacitor voltage to zero. When a voltage pulse is applied through the input terminal of the emulator circuit, the switch is opened. Therefore the capacitor voltage starts to charge from zero voltage to certain level.
In Figure 3, the capacitor produces a voltage C v by integrating the current i in , and the resistor R T produces a voltage proportional to the current i in : 1 , and: .
These two voltages are multiplied by a voltage multiplier. The output voltage v x of the voltage multiplier is given by: .
Therefore, the input voltage v in is: where the memristance M(t) is: From Equation (14), when a positive pulse is applied at the input terminal, the resistance increases proportional to the time integral of input current with R s , we call this configuration the incrementally biased memristor which corresponds to the voltage state where the higher voltage is applied at the black bar side of Figure 1(c).
On the contrary, if a higher voltage is applied to the non-black bar side, then, the memristance is decreased. We call this configuration the decrementally biased memristor. By adding a voltage inverter after the voltage multiplier as shown in Figure 4, the decrementally biased memristor can be implemented. The input voltage in the decrementally biased memristor is given by: The resultant memristance M(t) of the decremental memristor is:

Memristor Neural Circuit Built with Memristor Emulators
The memristor bridge synapse circuit [24] is composed of four memristors as shown in Figure 5. In this study, the architecture of the memristor bridge synapse is built with memristor emulator circuits.

The Memristor Bridge Synapse
When a positive or negative strong pulse v in is applied at the input terminal of the memristor bridge synapse in Figure 5, the memristance of each memristor is increased or decreased depending upon its polarity.
When a positive pulse is applied at input terminal of Figure 5, the memristances of M 1 and M 4 (which are decrementally-biased) decrease. On the other hand, the memristances of M 2 and M 3 (which are incrementally-biased) will increase. It follows that the voltage v A at node A (with respect to ground) increases while the voltage v B at node B decreases. If the pulse width is wide enough, the output voltage V out varies gradually from negative to positive voltage. In consequence, the weight is able to be programmed with any weights in the range from −1 to +1 including zero using appropriate duration of pulse.
Let v in be the input voltage pulse. Also, let V M1 , V M2 , V M3 , and V M4 be the voltages across memristor M 1 , M 2 , M 3 , and M 4 respectively. Then the voltage at each memristor at time t is: where M 1 , M 2 , M 3 , and M 4 denote the corresponding memristance values of the memristors at time t, as in Figure 5.
The output voltage V out of the memristor bridge circuit is equal to the voltage difference between terminal A and terminal B; namely: where v A and v B corresponds to the voltages v M2 and v M4 , respectively. Equation (20) can be rewritten as a relationship:

Memristor Bridge Synaptic Circuit with Memristor Emulators
The memristor bridge circuit in Figure 5 can be built with memristor emulators which are described in Section 3. In the memristor bridge synapse circuit, the serial connection of two memristors M 1 and M 2 are parallel to other serially connected memristors M 3 and M 4 .
When a voltage pulse is applied at serially connected memristors, the input voltage is distributed to every memristor according to the voltage law so that the sum of each memristor voltage is equal to the input voltage like in ordinary resistors. Figure 6 illustrates the memristor bridge synaptic circuit using four memristor emulators. In this architecture, the input current of the first memristor emulator M 1 is replicated by a current mirror and fed to the second memristor emulator M 2 to produce its voltage in the memristor emulator. The voltage produced in the second emulator is added to the first emulator with an analog voltage adder. Therefore, the sum of the individual voltage across each serially connected memristor equals to the input voltage.

Synaptic Multiplication
After the weight setting, the synaptic multiplication between input pulse and weight can be performed by applying a pulse with very narrow width. If the weight is set as in Equation (21), the synaptic multiplication ( sm V ) between input pulse( S V ) and weighting factor (ξ) is: .
Note that the effect of memristance change is negligible for very narrow pulse signal V s . Therefore, the weighting factor ξ is constant and output is the linear multiplication between the input pulse and weighting factor ξ. Thus, the memristor bridge circuit acts as a synapse. In case that the memristance change (drift) with weighting operation is really the problem, a doublet circuit can be used to suppress the effect of the memristance change (drift) [28].
The differential amplifier as shown in Figure 7 is used for voltage to current converter. The output current across differential amplifier for input signal V s is given as: where g m is the transconductance of Mosfet.  Figure 7 is shared by the signal v in for synaptic weight programming and the synaptic input signal V s for weight processing. The two different kinds of signals are discriminated by being assigned at different time slots.

Memristor Synapse-Based Neural Circuit
The synaptic multiplication in neural network is very important in neuromorphic engineering, programmable analog vector matrix multiplication and CNN circuits [10,11,16]. Figure 8(a) is a general single layered neural network. The circuit of the memristor synapse-based neuron using memristor bridge and differential amplifier is shown in Figure 8(b). The synaptic multiplications among input pulses and memristor-based weights are conducted in the multiple memristor bridge circuits and the results of the multiplications are summed by simply tying the output terminals in a neuron cell. The sum of the currents is then converted back into a voltage using the load circuit R L .  where I 0k, is the output current across differential amplifier corresponding to input voltage pulse V sk for k th synapse.
The final output voltage across the resistor L R is given as, From Equations (23) and (24), the output voltage across R L is, where ξ k is the weighting factor of the kth synapse. Therefore, the output voltage of the neuron is given as: Equation (26) reveals that, the output voltage at load resistor R L , is the weighted sum of the product of each input voltage pulse and programming weight.

Simulations
In this paper, the memristor bridge architecture [24], is built with memristor emulator circuit. The parameters are chosen as realistic value as possible, so the minimum memristance R ON (R S ) = 100 Ω, and the maximum memristance R OFF (R' s ) = 16 KΩ, are taken from those of Stanley Williams' real memristor [17]. Also, capacitance C and resistance R T employed for the memristor emulator are 0.1 μF and R T = 4 KΩ, respectively. The architecture has been simulated in PSPICE with input voltage pulse ±1 V and power supply ±5 V.
For the weight programming, strong wide pulses were applied to change the state of memristor and very narrow pulses (3 ns) were used for synaptic multiplication. The PSPICE simulations were conducted for the weight programming and synaptic multiplication of the memristor emulator-based bridge synapses.

Weight Programming
Simulations for the weight programming of the memristor emulator-based synaptic circuit as in Figure 6 have been conducted. The synaptic weights were programmed with ±1 V input pulses. Figure 9(b) and Figure 9(c) show the memristance variation and the voltage across each memristor in the memristor bridge circuit for a positive and negative wide pulse.
We assume that the initial memristance of the memristors M 1 = M 4 and M 2 = M 3 are 16 KΩ(maximum) and 100 Ω(minimum) respectively. Since the polarity of M 1 and M 4 are opposite to that of M 2 and M 3 , the memristances M 1 and M 4 decrease, while those of M 2 and M 3 increase for positive pulse input, as shown in Figure 9(b). Thus, the voltage v A increases while v B decreases as shown in Figure 9(c). When M 1 = M 2 = M 3 = M 4 , v A equals to v B and the output voltage becomes zero.
At this state, the synaptic weight is zero. When M 1 or M 4 is less than M 2 or M 3 , the voltage v A is greater than v B . If the pulse width is sufficiently wide, the voltages at v A and v B reach to +1 V and 0 V, respectively. Note that each memristor pair (M 1 , M 4 ) or (M 2 , M 3 ) is with opposite polarity. Therefore, the composite memristance of each memristor pair is constant.
Similarly, when M 1 , M 4 and M 2 , M 3 are in minimum and maximum state respectively, then a negative wide voltage pulse is applied to the memristor bridge synapse, so that the memristance of memristor M 1 , M 4 and M 2 , M 3 are moved to the opposite direction compare to the positive case input pulse. In this case, voltage v A moves toward 0V and that of v B moves toward −1 V as shown in Figure 9(c). The linearity of the weight programming of the memristor emulator-based memristor bridge synapse has been tested by applying wide positive and negative pulses. The weight values were computed by measuring the output voltages of the memristor bridge circuit while known input voltages were applied, as described in Section 4.1 and 4.2. The results of circuit simulations for the synaptic weighting are shown in Figure 10.
As seen in this simulation result, synaptic weight (ξ) can be changed toward positive (from −1 to +1) and negative direction (+1 to −1) by a positive pulse and negative pulse, respectively. Observe that the programmed weight (ξ) is almost linearly proportional to the width of the input pulse. The linearity of synaptic weight programming in the memristor bridge comes from the complementary action of the back-to-back memristors at each branch of the memristor bridge circuit.

Synaptic Multiplication
Simulations of the synaptic weight processing were also conducted with our memrisor emulator-based bridge synapse. Figure 11(b) shows the linearity of the relationship between the input voltages, and the output of the memristor emulator-based bridge synapse. The weighting factor ξ is in the range [−0.1,0.1] when synaptic input range is [−1,1] V. The performance of the conventional analog multiplication (synaptic weight) circuit employed in the programmable analog vector matrix multiplication and CNN [10,16] is shown in Figure 11(a). As in the Figure 11(a), the linear region on the function of input-output relation is quite narrow and the intervals between graphs are not quite uniform. However, in the case of memristor bridge synapse, the linear regions are very wide and the intervals between graphs are uniform as in Figure 11(b). The linearity of the memristor bridge synaptic circuit comes from the linear weight assignment at the memristor bridge synapse and the operation at the middle of the memristor dynamic range.

Memristor Synapse-Based Neuron
A single layer neuron with two input terminals as in Figure 8(a) has been built with the proposed memristor emulator-based synapse circuit. Two different kinds of sinusoidal voltage signals were sampled by doublet pulses and applied to the memristor synaptic circuits. Figure 12(a-e) are input voltage signals, weighted voltage signals of Figure 12   The use of doublet signals [28] is aimed at preventing the memristances from unwanted drifting. For the subsequent processing with non-memristor circuits, each doublet pulse signal needs to be converted to a singlet pulse. This can be achieved by sampling the output signal at every first pulse period of each doublet. The simulation result shows that the proposed memristor synapse circuit performs synaptic action excellently without significant distortion.

Conclusions
This paper is the extension of our previous work on memristor bridge synapses [24]. In this paper the mathematical model-based memristor bridge synapse of the previous work is built with memristor emulator-based synapse circuits.
Simulations for the weight programming were performed with memristor emulator-based bridge synapse circuit. The programmed weights were almost linearly proportional to the width of the input pulses. The linearity of weight programming in the memristor bridge synapse comes from the complementary action of the back-to-back memristor pair of the memristor bridge synapse. The simulations of synaptic multiplication between programmed weight and input signal also was conducted. It showed an excellent linearity compared to that of the conventional Gilbert multiplier-based circuit. In the simulation of a single layer neuron, the proposed memristor-based neural circuit performs both synaptic weighting and summing actions very well without significant distortion.
There are several benefits with the proposed memristor synapse circuit over the conventional circuits. The number of transistors required for the memristor based synaptic circuit is three, while that of Gilbert multiplier-based synaptic circuit is seven. Considering the fact that the total size of four memristors with the proposed circuit is less than that of a single transistor, the size benefit of the proposed synaptic circuit is obvious. Also, non-volatility as memory and excellent linearity in synaptic operation are additional benefits of the proposed memristor synaptic circuit.