A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators
Abstract
: 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.1. 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–4]. While the flexibility of the software-based model is excellent, its processing speed represents a serious bottleneck. The digital 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–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–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–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 TiO2 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.
2. HP Memristor Models
In HP TiO2 memristor model [17], an undoped region with highly resistive TiO2 and doped region with highly conductive oxygen vacancies TiO2−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).
Let w be the thickness of the doped area, D be the thickness of the two layers of TiO2 memristor. Let RON and ROFF denote the minimum resistance and the maximum resistance values, respectively.
Then, the relation between the voltage and the current is given by:
From Equations (1) and (3), the memristance M(t) can be written as:
If w0/D<<1 and RON<<ROFF the expression of M(t) is simplified as :
M(t) = ROFF − Kq(t), where
From Equation (1):
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:
Detailed descriptions of incremental and decremental memristors using our emulators circuits are provided in Section 3.
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,
Assume that the voltage vx is proportional to input current iin, then:
To emulate vx 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 vin applied at the input terminal. The input voltage applied at a memristor emulator is converted into an input current iin with a resistor Rs and op Amp U0 via the virtual ground constraint. Since the current iin 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, iin 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 RT 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 RT 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 SW0 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 vC by integrating the current iin, and the resistor RT produces a voltage proportional to the current iin:
These two voltages are multiplied by a voltage multiplier. The output voltage vx of the voltage multiplier is given by:
Therefore, the input voltage vin 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 Rs, 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:
4. 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.
4.1. The Memristor Bridge Synapse
When a positive or negative strong pulse vin 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 M1 and M4 (which are decrementally-biased) decrease. On the other hand, the memristances of M2 and M3 (which are incrementally-biased) will increase. It follows that the voltage vA at node A (with respect to ground) increases while the voltage vB at node B decreases. If the pulse width is wide enough, the output voltage Vout varies gradually from negative to positive voltage.
On the other hand, if a negative pulse is applied, when M1 and M4 are minimum and M2 and M3 are are their maximum state respectively, then, M1 and M4 vary to higher memristance and M2 and M3 go to lower value. It follows that the output voltage Vout varies gradually from positive to negative 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 vin be the input voltage pulse. Also, let VM1, VM2, VM3, and VM4 be the voltages across memristor M1, M2, M3, and M4 respectively. Then the voltage at each memristor at time t is:
The output voltage Vout of the memristor bridge circuit is equal to the voltage difference between terminal A and terminal B; namely:
Equation (20) can be rewritten as a relationship:
4.2. 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 M1 and M2 are parallel to other serially connected memristors M3 and M4.
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 M1 is replicated by a current mirror and fed to the second memristor emulator M2 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.
4.3. 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 (Vsm) between input pulse(VS) and weighting factor (ξ) is:
Note that the effect of memristance change is negligible for very narrow pulse signal Vs. 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 Vs is given as:
Note that the same input terminal in Figure 7 is shared by the signal vin for synaptic weight programming and the synaptic input signal Vs for weight processing. The two different kinds of signals are discriminated by being assigned at different time slots.
4.4. 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 RL.
The total current (I0) at the neuron output is:
The final output voltage across the resistor RL is given as,
From Equations (23) and (24), the output voltage across RL is,
Therefore, the output voltage of the neuron is given as:
Equation (26) reveals that, the output voltage at load resistor RL, is the weighted sum of the product of each input voltage pulse and programming weight.
5. 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 RON (RS) = 100 Ω, and the maximum memristance ROFF (R's) = 16 KΩ, are taken from those of Stanley Williams’ real memristor [17]. Also, capacitance C and resistance RT employed for the memristor emulator are 0.1 μF and RT = 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.
5.1. 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 M1 = M4 and M2 = M3 are 16 KΩ(maximum) and 100 Ω(minimum) respectively. Since the polarity of M1 and M4 are opposite to that of M2 and M3, the memristances M1 and M4 decrease, while those of M2 and M3 increase for positive pulse input, as shown in Figure 9(b). Thus, the voltage vA increases while vB decreases as shown in Figure 9(c). When M1 = M2 = M3 = M4, vA equals to vB and the output voltage becomes zero. At this state, the synaptic weight is zero. When M1 or M4 is less than M2 or M3, the voltage vA is greater than vB. If the pulse width is sufficiently wide, the voltages at vA and vB reach to +1 V and 0 V, respectively. Note that each memristor pair (M1, M4) or (M2, M3) is with opposite polarity. Therefore, the composite memristance of each memristor pair is constant.
Similarly, when M1, M4 and M2, M3 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 M1, M4 and M2, M3 are moved to the opposite direction compare to the positive case input pulse. In this case, voltage vA moves toward 0V and that of vB 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.
5.2. 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.
5.3. 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(a,b) with weighting values of ξ = −0.25 and 0.1, and weighted sum appeared across RL where RL was 10 K.
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.
6. 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.
Acknowledgments
This work was supported in part by the National Research Foundation of Korea (NRF) grant (No. 2010-0006871) and the US Air Force grant number FA9550-10-1-0290.
References
- Haykin, S.S. Neural Networks: A Comprehensive Foundation; Prentice Hall: Upper Saddle River, NJ, USA; p. 1999.
- Lawrence, J. Introduction to neural networks. CA Sci. Softw 1995, 346, 1075–1079. [Google Scholar]
- Rumelhart, D.E.; McClelland, J.L. Parallel Distributed Processing: Exploration in the Microstructure of Cognition; MIT Press: Cambridge, MA, USA, 1986. [Google Scholar]
- Murre, J.M.J. Neurosimulators. In Handbook of Brain Research and Neural Network; Arbib, M.A., Ed.; MIT Press: Cambridge, MA, USA, 1995. [Google Scholar]
- McCartor, H. A highly parallel digital architecture for neural network emulation. In VLSI for Artificial Intelligence and Neural Network; Delagado-Frias, J.G., Moore, W.R., Eds.; Plenum Publishing Company: New York, NY, USA, 1991. [Google Scholar]
- Ramacher, U.; et al. Multiprocessor and memory architecture of the neurocomputers SYNAPSE-1. Int. J. Neural Syst 1993, 4, 333–336. [Google Scholar]
- Holler, M.; Tam, S.; Castro, H.; Benson, R. An electrically trainable artificial neural network (ETANN) with 10240 “Floating gate” synapse. Proceedings of International Joint Conference on Neural Network, Washington, DC, USA, 18–22 June 1989; 2, pp. 191–196.
- Withagen, H. Implementing backpropagation with analog hardware. Proceedings of IEEE World Congress on Computational Intelligence, Orlando, FL, USA, 27 June–2 July 1994; 4, pp. 2015–2017.
- Lindsey, S.; Lindblad, T. Survey of neural network hardware invited paper. Proc. Appl. Sci. Artif. Neural Networks Con 1995, 2492, 1194–1205. [Google Scholar]
- Kub, F.J.; Moon, K.K.; Mack, I.A.; Long, F.M. Programmable analog vector-matrix multipliers. IEEE J. Solid-State Circuits 1990, 25, 207–214. [Google Scholar]
- Schlottmann, C.R.; Hasler, P.E. A highly dense, low power programmable analog vector-matrix multiplier: The FPAA implementation. IEEE J. Emer. Sel. Top. Circ. Syst 2011, 1, 403–411. [Google Scholar]
- Chua, L.O.; Yang, L. Cellular neural networks: Applications. IEEE Trans. Circuits Syst 1988, 35, 1273–1290. [Google Scholar]
- Chua, L.O.; Yang, L. Cellular neural networks: Theory. IEEE Trans. Circuits Syst 1988, 35, 1257–1272. [Google Scholar]
- Kim, H.; Roska, T.; Son, H.; Petras, I. Analog addition/subtraction on the CNN-UM chip with short-time superimposition of input signals. IEEE Trans. Circuits Syst. I 2003, 50, 429–432. [Google Scholar]
- Kim, H.; Son, H.; Roska, T.; Chua, L.O. High-performance viterbi decoder with circularly connected 2-D CNN unilateral cell array. IEEE Trans. Circuits Syst. I 2005, 52, 2208–2218. [Google Scholar]
- Domíınguez-Castro, R.; Espejo, S.; Rodríguez-Vázquez, A.; Carmona, R.A.; Földesy, P.; Zarándy, Á.; Szolgay, P.; Szirányi, T.; Roska, T. A 0.8-μm CMOS two-dimensional programmable mixed-signal focal-plane array processor with on-chip binary imaging and instructions storage. IEEE J. Solid State Circuits 1997, 32, 1013–1026. [Google Scholar]
- Strukov, D.B.; Snider, G.S.; Stewart, D.R.; Williams, R.S. The missing memristor found. Nature 2008, 453, 80–83. [Google Scholar]
- Chua, L.O. Memristor-the missing circuit element. IEEE Trans. Circuit Theory 1971, CT-18, 507–519. [Google Scholar]
- Chua, L.O.; Kang, S.M. Memristive devices and systems. Proc. IEEE 1976, 64, 209–223. [Google Scholar]
- Ventra, M.D.; Pershin, Y.V; Chua, L.O. Circuit elements with memory: Memristor, memcapacitors and meminductors. Proc. IEEE 2009, 97, 1717–1724. [Google Scholar]
- Cantley, K.D.; Subramaniam, A.; Stiegler, H.J.; Chapman, R.A.; Vogel, E.M. Hebbian learning in spiking neural networks with nanocrystalline silicon TFTs and memristive synapse. IEEE Trans. Nanotechnol 2011, 10, 1066–1073. [Google Scholar]
- Snider, G. Self-organized computation with unreliable, memristive nanodevices. Nanotechnology 2007, 18, 1–13. [Google Scholar]
- Kim, H.; Sah, M.P; Yang, C.; Roska, T.; Chua, L.O. Neural synaptic weighting with a pulse-based memristor circuit. IEEE Trans. Circuit Syst. I 2011, 59, 148–158. [Google Scholar]
- Kim, H.; Sah, M.P; Yang, C; Roska, T; Chua, L.O. Memristor bridge synapses. Proc. IEEE 2012. [Google Scholar] [CrossRef]
- Kim, H.; Sah, M.P; Yang, C; Cho, S.; Chua, L.O. Memristor emulator for memristor circuit applications. IEEE Trans. Circuit Syst. I 2012. in press.. [Google Scholar]
- Pershin, Y.V.; Ventra, M.D. Practical approach to programmable analog circuits with memristors. IEEE Trans. Circuits Syst. I 2010, 57, 1857–1864. [Google Scholar]
- Pershin, Y.V; Ventra, M.D. Experimental Demonstration of Associative Memory with Memristive Neural Networks; Cornell University Library: Ithaca, NY, USA, 2009. ArXiv:0905.2935. Available online: http://arXiv.org/abs/arXiv:0905.2935 (accessed on 18 May 2009).
- Yang, C.; Sah, M.P.; Adhikari, S.; Park, D.; Kim, H. Highly accurate doublet generator for memristor-based analog memories. IJBC 2012. in press.. [Google Scholar]
© 2012 by the authors; licensee MDPI, Basel, Switzerland This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).
Share and Cite
Sah, M.P.; Yang, C.; Kim, H.; Chua, L. A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators. Sensors 2012, 12, 3587-3604. https://doi.org/10.3390/s120303587
Sah MP, Yang C, Kim H, Chua L. A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators. Sensors. 2012; 12(3):3587-3604. https://doi.org/10.3390/s120303587
Chicago/Turabian StyleSah, Maheshwar Pd., Changju Yang, Hyongsuk Kim, and Leon Chua. 2012. "A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators" Sensors 12, no. 3: 3587-3604. https://doi.org/10.3390/s120303587
APA StyleSah, M. P., Yang, C., Kim, H., & Chua, L. (2012). A Voltage Mode Memristor Bridge Synaptic Circuit with Memristor Emulators. Sensors, 12(3), 3587-3604. https://doi.org/10.3390/s120303587