A memristor-based circuit is described in which a voltage generator is arranged to apply a series of voltage pulses to the memristor to gradually change the resistance of the memristor. The comparator: receives an input electrical value; receive an electrical value based on the resistance of the memristor; compare the received values; and based on the comparison, enable application of a voltage pulse to the memristor by the voltage generator until a defined condition is met. This circuit can be used to allow a memristor to be programmed to a desired resistance value, such as for use in non-volatile memory. It can also enable the resistance of one memristor to be replicated in another memristor. By counting the number of voltage pulses applied, the circuit can be used as an encoder or analog-to-digital converter. Another variant of the circuit enables the construction of a decoder or digital-to-analog converter and an authentication circuit.
展开▼