Ferroelectric Memristor Synapses & Crossbar Learning
Hardware-emergent unsupervised learning via STDP · Boyn et al. (2017), Nat. Commun. 8 : 14736
© 2026 Theodore P. Pavlic · MIT License

A 9×5 crossbar of FTJ memristors connects 9 input neurons (one per pixel, labeled 1–9 in reading order) to 5 output neurons. Repeated presentation of noisy versions of 3 patterns drives STDP weight updates. Combined with winner-take-all lateral inhibition, different outputs spontaneously specialize for different input patterns — unsupervised clustering emerging entirely from hardware physics. With 5 output neurons but only 3 patterns, the competitive dynamics cause 3 neurons to specialize (one per pattern) while the remaining 2 either duplicate a specialization or stay unspecialized, replicating Fig. 4b of Boyn et al. (2017).

Three Input Patterns to Learn  —  pixel labels 1–9 mark reading-order position in the 3×3 image
Weights persist — watch the network relearn
The 9 labeled pixels are unrolled row-by-row (reading order) into the 9 input columns of the crossbar below. Pixel 1 (top-left) → column 1; … pixel 9 (bottom-right) → column 9. The same labels appear above the crossbar columns and inside the learned weight images so you can track exactly which pixel each weight corresponds to.
FTJ Crossbar Array — full structure
A crossbar array places FTJ memristors at every column–row intersection. Columns carry pre-synaptic spike inputs (one per pixel); rows are the output neurons — each fires when its row’s FTJ currents sum to threshold. Each FTJ junction is one synapse — 45 synapses in the 9×5 array.
×5
0.35
Stopped 0 presentations
Crossbar Array  —  9 input columns × 5 output rows = 45 FTJ memristors  ·  output activity bars aligned right
Now
Presenting
pixels 1–9
reading order
→ columns below
● darker circle = higher FTJ conductance (stronger synaptic weight) ● arc color = winning output neuron — matches current input pattern (lateral inhibition)
Learned Receptive Fields  —  weight image per output neuron
Each panel shows the 9 synaptic weights of one output neuron as a 3×3 image (pixel labels match the column labels above). Dark = strong connection. As training converges, each panel should resemble one of the 3 input patterns. With 5 neurons and only 3 patterns, 2 neurons are "surplus" — they may duplicate a pattern or remain unspecialized, which is exactly the competitive equilibrium reported in Fig. 4b of Boyn et al. (2017). Colored cells = confirmed specialization. Border = current winner.
Pattern Specialization  —  cumulative wins per output neuron, by input pattern presented
Each column of bars shows how often that output neuron fired when each pattern was presented. Early training: all three colors mixed (no specialization). At convergence: one color dominates per column, and the pattern letter appears below it.
Recognition Rate Over Training

A memristor's resistance encodes history — its pinched hysteresis I–V curve has two states (HRS and LRS) that persist at V = 0. Spike-timing-dependent plasticity emerges naturally: the shape of Vpre and Vpost is designed so that VFTJ = Vpre−Vpost crosses the switching threshold ±Vth only when the spikes arrive in the right causal order — directly implementing the STDP curve shown below.

One FTJ Junction — where STDP acts
A single FTJ is one synapse: VFTJ drives current I = G·V through the junction, where G is the learned conductance. The spike timing between Vpre and Vpost determines whether G increases (LTP) or decreases (LTD).
Memristor I–V Curve — Pinched Hysteresis
A resistor's I–V curve is a fixed straight line through the origin. A memristor's curve is also pinched at the origin — zero voltage always means zero current, regardless of state — but its slope depends on history: high-resistance state (HRS) or low-resistance state (LRS). The bold line shows the current state; the faint ghost loop is the full hysteresis for reference. Drag the Δt slider in the spike-timing panel to see the state snap between HRS and LRS.
Spike Timing & VFTJ Threshold Crossing
+200 ns
Vpre (orange) and Vpost (blue) are biphasic spike waveforms; VFTJ = Vpre−Vpost is their difference. The spike shape is designed so that VFTJ crosses the threshold ±Vth only for the right causal ordering — implementing the correct STDP polarity. Shaded zones show when VFTJ exceeds ±Vth; the bar shows net ΔG. Drag Vpost or use the slider to explore timing.
ΔG vs Δt — STDP curve  (dot tracks current Δt)
Each point on this curve corresponds to a spike-pair timing. The dot shows where the current Δt falls. Positive Δt (post fires after pre, causal) → potentiation; negative Δt (post fires before pre) → depression. Drag the slider above to explore.