EP4158630A1 - Memristor-basierte volladdierer und verfahren zu deren betrieb - Google Patents
Memristor-basierte volladdierer und verfahren zu deren betriebInfo
- Publication number
- EP4158630A1 EP4158630A1 EP21729858.7A EP21729858A EP4158630A1 EP 4158630 A1 EP4158630 A1 EP 4158630A1 EP 21729858 A EP21729858 A EP 21729858A EP 4158630 A1 EP4158630 A1 EP 4158630A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- read
- operations
- write
- switchable
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
Definitions
- the application relates to an apparatus and a method for implementing one or more logical operations and, in particular, a memristor-based full adder and method for their operation. Specifically, the application relates to an (N + M) -bit full adder with memristors and the operation of the (N + M) -bit full adder.
- the amount of data and the speed with which new data is generated is increasing daily, also due to new mobile devices and the large number of sensors connected to the Internet (see [1]).
- Logic operation steps can be carried out using memristors.
- memristors can also be used to store intermediate results.
- Lehtonen et al. (see [7]) have shown an adder concept in which the addition can be carried out using memristors by a series of sequential calculations while emulating logic arithmetic operations.
- the scheme of an N-bit full adder presented in [7] requires 3N + 5 individual memristors and 88N + 48 cycles.
- Kvatinsky et al. have introduced two improved designs of an N-bit full adder using a specific modification of the crossbar array structure, namely a parallel and a serial N-bit full adder.
- the parallel adder requires 9 N single memristors and 5 N + 18 cycles and the series adder 3 N + 3 single memristors and 29 N cycles.
- the sum operation requires in its approach one more write cycle than the carry operation, and the output of the carry operation must be read out and serves as an input variable for the second write cycle of the sum operation, requiring more steps to execute.
- the read bias is the same as initialization and by observing spikes in current below the read bias to see the value of the output.
- the information read out must be written back into the cell in the TC adding scheme. This requires a large number of calculation steps.
- IMC In-Memory Computing
- Memristors with low power consumption offer the possibility of IMC and stateful logic technology to develop that aims at in-memory computing solutions.
- IMC logic families include the Memristor logic for Material Implication (IMPLY) (see [17]) and the Memristor Aided Logic (MAGIC) (see [18]).
- IMPLY Memristor logic for Material Implication
- MAGIC Memristor Aided Logic
- memristive IMPLY logic The main disadvantage of memristive IMPLY logic is the need to perform long sequences of stateful logic operations to synthesize a given Boolean function.
- the practicality of the memristive IMPLY logic design scheme therefore requires that operations be as parallel as possible to compensate for the latency problem.
- the logic operation is determined by the topology of the logic circuit. If these are to be controlled separately by the input and output electrodes, the input and output electrodes must first be initialized to the specific resistance state. Regular logical operations, in which the initialization operations have to be carried out for each input and output electrode, result in great latency, a large area size and high power consumption.
- the object of the invention is to provide improved concepts for implementing one or more logical operations.
- the object is achieved by a device according to claim 1, by a method according to claim 15 and by a computer program according to claim 16.
- Each of the one or more logical operations has one or more binary input variables and, depending on the implemented logical operation and depending on the one or more binary input variables, has a binary output value.
- the device comprises one or more switchable elements.
- the device is designed to carry out write operations and read operations.
- the device is designed, each of the Carry out write operations in such a way that a switchable element of the one or more switchable elements is applied with a write bias voltage that switches the switchable element into a first state depending on the write bias voltage or into a second state that changes from the first state is different.
- the device is designed to carry out each of the read operations in such a way that a read bias voltage is applied to a switchable element of the one or more switchable elements in order to determine whether the switchable element is switched to a first state or to the second state is.
- the device is designed to select the write bias of at least one of the write operations as a function of these binary input variables for each binary input variable of the one or more binary input variables of each of the one or more binary operations.
- the device is designed to determine the binary output value of each of the one or more logical operations by applying the reading voltage of one of the reading operations as a function of the state in which the switchable element of the one or more switchable elements is connected to which the reading voltage is connected is created.
- a method for implementing one or more logical operations is provided.
- Each of the one or more logical operations has one or more binary input variables and, depending on the implemented logical operation and depending on the one or more binary input variables, has a binary output.
- the method includes performing write operations and read operations.
- Each of the write operations is carried out in such a way that a switchable element of one or more switchable elements is applied with a write bias voltage, which switches the switchable element into a first state depending on the write bias voltage or switches it to a second state that starts from is different from the first state.
- Each of the read operations is carried out in such a way that a read bias voltage is applied to a switchable element of the one or more switchable elements in order to determine whether the switchable element is switched to a first state or is switched to the second state.
- the write bias of at least one of the write operations is selected as a function of this binary input variable.
- the binary output value of each of the one or more logical operations becomes one of the read operations by applying the read voltage determined depending on the state in which the switchable element of the one or more switchable elements is switched, to which the read voltage is applied.
- the number of individual memristors and the number of cycles are reduced for (N + M) -bit full adders based on memristors.
- Concepts according to the invention for (N + M) -bit full adders are provided.
- FIG. 1 shows an apparatus for implementing one or more logical
- Fig. 2 shows an exemplary structure of a memristor with a BFO
- FIG. 3 shows a current-voltage characteristic for the exemplary memristor of FIG. 2 according to an embodiment.
- FIG. 4 shows the resistances that can be used for the exemplary memristor of FIG. 2 according to one embodiment.
- Fig. 5 shows the truth table of a full adder according to a
- Embodiment comprising carry and sum operations.
- FIG. 6 shows a simplified schematic circuit for a 1-bit full adder using three memristors according to an embodiment.
- Fig. 7 shows calculation cycles of a 1-bit full adder according to a
- FIG. 8 shows a structure of a 1-bit full adder according to an embodiment.
- Fig. 9 shows a cycle flow diagram of an (N + N) -bit full adder.
- FIG. 10 shows a comparison of the required number of memristors of an embodiment with respect to the required number of memristors in logic computing with individual memristors.
- Each of the one or more logical operations has one or more binary input variables and, depending on the implemented logical operation and depending on the one or more binary input variables, has a binary output value.
- the device comprises one or more switchable elements 111, 112.
- the device is designed to carry out write operations and read operations.
- the device is designed to carry out each of the write operations in such a way that a switchable element of the one or more switchable elements 111, 112 a write bias voltage is applied which switches the switchable element into a first state as a function of the write bias voltage or else switches it into a second state which is different from the first state.
- the device is designed to carry out each of the read operations in such a way that a read bias voltage is applied to a switchable element of the one or more switchable elements 111, 112 in order to determine whether the switchable element is switched to a first state or to the second state is switched.
- the device is designed to select the write bias of at least one of the write operations as a function of these binary input variables for each binary input variable of the one or more binary input variables of each of the one or more binary operations.
- the device is designed to determine the binary output value of each of the one or more logical operations by applying the read voltage of one of the read operations as a function of the state in which the switchable element of the one or more switchable elements 111, 112 is switched that the reading voltage is applied.
- the device can be designed, for example, to switch either a switchable element of the one or more switchable elements 111, 112 to the first state during one of the write operations by applying the write bias voltage with a first write voltage value to the switchable element or to switch the switchable element to the second state by applying the write bias voltage to the switchable element with a second write voltage value that is different from the first voltage value.
- the device can be designed, for example, to apply the read bias voltage to a switchable element of the one or more switchable elements 111, 112 with a first read voltage value or with a second read voltage value that is determined by the first read voltage value is different, and wherein the device is designed to determine, depending on the read bias voltage and a resistance value of the switchable element, whether the switchable element is switched into the first state or into the second state.
- the device can be designed, for example, to determine that the switchable element has been switched to the first state, for example, if the resistance value is in a first value range and the read bias voltage was applied with the first read voltage value, or if the Resistance value lies in a second range of values, the second range of values and the first range of values do not overlap, and the read bias voltage was applied with the second read voltage value, and to determine that the switchable element was switched to the second state, for example, when the Resistance value lies in the first value range and the read bias voltage was applied with the second read voltage value, or if the resistance value is in a second value range and the read bias voltage was applied with the first read voltage value.
- each of the one or more switchable elements 111, 112 can be, for example, a memristor.
- each of the one or more switchable elements 111, 112 may comprise yttrium-manganese oxide, for example.
- each of the one or more switchable elements 111, 112 may comprise bismuth ferrite and / or titanium doped bismuth ferrite.
- the device can further include, for example, one or more multiplexers, each of the one or more multiplexers being formed, either the write bias voltage of one of the write operations or the read bias voltage of one of the read operations on one of the one or more switchable elements 111, 112 to be applied.
- the device can have, for example, two or more switchable elements as the one or more switchable elements 111, 112.
- the device can have, for example, exactly three switchable elements as the two or more switchable elements.
- At least one of the one or more logical operations may include, for example, two or more binary input variables as the one or more binary input variables.
- the device can be configured, for example, in at least one of the write operations, the write bias voltage depending on the state in which one of the one or more switchable elements 111, 112 is switched and which was determined by the device in a previous read operation , to choose.
- the apparatus can be designed to implement two or more logical operations.
- the apparatus can implement a full adder by having a first of the two or more logical operations implementing a sum operation and by a second of the two or more logical operations implementing a carry operation.
- BFO bismuth ferrite: BiFeO 3
- BFTO bismuth ferrite doped with titanium: Bi (Fe :, Ti) O 3
- electrical measurement configuration a schematic representation of the BFTO / BFO double-layer structure (BFO stands for bismuth ferrite: BiFeO 3 ; BFTO stands for bismuth ferrite doped with titanium: Bi (Fe :, Ti) O 3 ) and the electrical measurement configuration .
- FIG. 3 shows a current-voltage characteristic for the BFTO / BFO double-layer memristor of FIG. 2 with an approximately 600 nm thick BFO thin film and a contact area of 0.045 mm 2 .
- Fig. 4 shows realizations of resistance states and the polarities of the applied write and read bias.
- FIG. 2 shows an exemplary embodiment for the single memristors of an (N + N) full adder with a BFO double-layer structure
- an exemplary IV characteristic for this is shown in FIG. 3
- exemplary, usable resistances of the single memristor are shown in FIG. 4 shown.
- the single memristor of FIG. 2 has at least two resistance states, for example a low-resistance state (LRS) and a high-resistance state (HRS).
- the resistance states can be set and reset by positive write bias (5 V) and negative write bias (-5 V).
- positive write bias the LRS and the HRS are read out by a positive read bias and a negative read bias, which are abbreviated as PLRS (positive low-resistance state) and NHRS (negative high-resistance state).
- LRS and HRS are read out by a negative read bias and a positive read bias, which are abbreviated as NLRS (negative low-resistance state) and PHRS (positive high-resistance state).
- full adder logic with BFTO complementary switches is provided using only a single write and read cycle.
- the actual polarity and amplitude of the applied write bias voltage are determined by the potential of the upper electrode (T1) and the lower electrode (T2) of the resistance switch.
- the top electrode (T1) can be viewed as a reference for the bias voltage applied to the device. This can for example be provided in an adder according to one embodiment.
- the potential of the upper electrode is higher than that of the lower electrode, it can be considered a positive voltage applied to the device. Otherwise, if the potential of the lower electrode has a higher potential, it can be considered a negative voltage applied to the device.
- the resistance state of the device is either a (PLRS, NHRS) state or a (PHRS, NLRS) state, which can be assigned "1" or "0".
- the resistance state "1" or "0” can be switched only by negative write bias and positive write bias according to the reverse logic "0" or "1". Therefore, for example, the result of the write cycle can be defined by T1, T2 and the initial state, which can be viewed as address ports of input variables in write cycles.
- a positive write bias is applied in a cycle (PLRS, NHRS)
- this is interpreted as a first bit value (e.g. as "1")
- a negative write bias is applied in the cycle (PHRS, NLRS)
- this is interpreted as a second bit value (eg as "0"), which is different from the first bit value.
- the read bias is assigned "1" or "0" according to the positive read bias or the negative read bias
- write cycles are shown in the C.W columns
- read cycles are shown in the C.R columns.
- a full adder logic operation consists of a carry operation and a sum operation.
- 5 shows the truth tables of the carry and sum operations in the (N + N) full adder on the basis of electroforming-free CRS (Complementary Resistive Switch) memistors with a non-destructive readout.
- the input variable c is programmed into the device as the output state before the write cycle.
- the carry bit Ci + i is calculated and saved in the device as a resistance state.
- the input variables pi and c are programmed in T1 and T2 for total operation.
- the intermediate state s i ' is stored in the device.
- the output of the logic operation with BFO devices can be defined by another variable, namely read bias.
- read bias when the polarities of the write and read bias are the same, the BFTO device will show a low resistance (PLRS or NLRS) as an output, otherwise it will show a high resistance (PHRS, NHRS) as an output.
- the read bias to the upper electrode is always positive (+ 2.5 V) to read q + i.
- To implement positive biasing on T1 we can provide negative bias (-2.5V) to T2, so the read bias can only be implemented through the bottom electrode.
- the read bias is used as an input variable considered, where the positive bias and the negative bias correspond to logic "1" and "0", respectively;
- the read bias is regarded as the input variable qi.
- This conditional read bias can be implemented by two simple multiplexers in the circuit design. Similar to the transfer process, the read bias can also be implemented by applying a bias with reversed polarity to the bottom electrode. Therefore, the bias "q i " is applied to T2 while C i is "0", the bias is applied to T2 while q is "1".
- the read bias for all logic operations can be applied to the bottom electrode, and the amplitude of the read bias is half the write bias. Then the read cycles and write cycles can be implemented in just one step with our scheme, and these are reconfigurable and separable cycles.
- the structure of an (N + N) -bit full adder is provided.
- FIG. 6 describes the simplified scheme for a 1-bit full adder.
- FIG. 6 shows a simplified schematic circuit for a 1-bit full adder using three memristors Mo, Mi and M2.
- the hollow square represents the write bias that can be applied to both the top electrode and the bottom electrode.
- the dot represents the read bias applied to the lower electrode only.
- the lower electrode potential is the sum of the applied read and write biases for T2.
- the actually applied potentials of T 1 and T2 are determined by the logic value, where 2.5 V and -2.5 V correspond to logic "1" and "0".
- the write bias can be applied to both the upper and lower electrodes, and the read bias can only be applied to the lower electrode. Therefore, the actual bias of T2 is equal to the sum of the applied write and read bias of T2.
- a 1-bit full adder is implemented by three devices with this scheme. In particular, MO is used to determine the read bias logic for the sum operation. M1 and M2 are used to compute S 0 'and C 1 .
- the 1-bit full adder can be viewed as the initialization step for the n-bit full adder, and the following (n-1) bits in the adder mode can all be implemented with a single write and a single read step.
- FIG. 7 describes the calculation steps in detail.
- FIG. 7 shows calculation cycles of a 1-bit full adder for each of the three memristors of FIG. 6.
- the backgrounds of the fields in FIG. 7 are as chosen in FIG. 6.
- the write distortion and the read distortion are shown.
- s represents the initial resistance state of the memristors for each cycle.
- T1 and T2 are the given logic for the top electrodes and the bottom electrodes in each cycle.
- the bias is the overlay bias for the top electrode in each cycle.
- the first cycle is an initialization cycle. Before all logical links, it is assumed that all devices are in an unknown state. To initialize all devices, logic signals "1" and "0" are addressed to word line WO and to all bit lines B 0 , B 1 and B 2 , which can be viewed as applying positive write bias to all devices. Then all devices are initialized to a known state "1".
- the second cycle can also be viewed as an initialization cycle.
- the first carry bit Co is programmed into all devices by applying a bias voltage of "c 0 " (-2.5 V) to WO and a bias voltage of "1" (2.5 V) to all bit lines. Under this bias voltage (the actual bias voltage is -5 V), Co is programmed as the initial state "0" in all devices.
- s 0 'and Ci are calculated with Mi and M2 by setting Wo to p 0 (2.5 V), while B 1 to C 0 (-2.5 V) and B 2
- cO is read out by setting B 0 to p 0 + "0" (2.5 V - 2.5 V).
- the read bias voltage of Sc ' is increased by reading defined by Co.
- the read bias is set by qo, where C 0 is "0".
- Ci is calculated with Mo by setting Wo to p 0 (2.5 V) and B 0 to% (- 2.5 V). Meanwhile, s0 'and c1 are read out by setting Bi to p 0 + q 0 (2.5 V + 2.5 V) and B 2 to p 0 +' 0 '(2.5 V - 2.5 V) . During these four cycles, the calculation results S 0 and C 1 for the
- FIG. 8 shows a structure of a 1-bit full adder according to an embodiment.
- the hollow square represents the write bias and the point represents the read bias, which are selected as in FIG.
- the columnar rectangular area is the current answer for each cycle, specifically the currents of the BFO devices in each cycle, which can get the results from reading the cycles.
- a sense amplifier and a comparator can be viewed as analog-to-digital converters, which can convert the analog current as an output to the logical value "0" or "1". The circuit is not given in detail in this article.
- the write cycle and the read cycle always exist simultaneously in every calculation step.
- the component MO which is connected in the large bar array by WO and BO, plays a special role in the circuit.
- the Q is read from Mo while the other cells are used to compute s i 'and c i +1.
- the read bias for si ' is given by the read out c i determined.
- the determined read bias is addressed back to the circuit and then serves as a logical variable for reading out s ,.
- M 0 implements the computation of c i +1, which prepares to define the read bias for s i +1.
- the read cycle and the write cycle are performed alternately with Mo. Depending on the bit length of the full adder operands, the total number of steps can be calculated as follows: 2N + 2, which can be seen from FIG.
- CRS Complementary Resistive Switch
- a structure of an (N + M) -bit full adder with electroforming-free CRS (Complementary Resistive Switch) memistors with a non-destructive readout is provided.
- operation of an (N + M) -bit full adder with electroforming-free CRS memristors with non-destructive readout is provided.
- a structure and operation of a crossbar array for the serial and for the parallel operation of (N + M) -bit full adders is provided.
- aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Analogously to this, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or details or features of a corresponding device.
- Some or all of the method steps can be carried out by a hardware apparatus (or using a hardware Apparatus), such as a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some or more of the most important process steps can be performed by such an apparatus.
- exemplary embodiments of the invention can be implemented in hardware or in software or at least partially in hardware or at least partially in software.
- the implementation can be carried out using a digital storage medium, for example a floppy disk, a DVD, a BluRay disk, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or some other magnetic or optical memory Memory are carried out on the electronically readable control signals are stored, which can interact with a programmable computer system or cooperate in such a way that the respective method is carried out. Therefore, the digital storage medium can be computer readable.
- Some exemplary embodiments according to the invention thus comprise a data carrier which has electronically readable control signals which are able to interact with a programmable computer system in such a way that one of the methods described herein is carried out.
- exemplary embodiments of the present invention can be implemented as a computer program product with a program code, the program code being effective to carry out one of the methods when the computer program product runs on a computer.
- the program code can, for example, also be stored on a machine-readable carrier.
- exemplary embodiments include the computer program for performing one of the methods described herein, the computer program being stored on a machine-readable carrier.
- an exemplary embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described herein when the computer program runs on a computer.
- a further exemplary embodiment of the method according to the invention is thus a data carrier (or a digital storage medium or a computer-readable medium) which the computer program for performing one of the methods described herein is recorded.
- the data carrier or the digital storage medium or the computer-readable medium are typically tangible and / or non-transitory.
- a further exemplary embodiment of the method according to the invention is thus a data stream or a sequence of signals which represents or represents the computer program for performing one of the methods described herein.
- the data stream or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet.
- Another exemplary embodiment comprises a processing device, for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
- a processing device for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
- Another exemplary embodiment comprises a computer on which the computer program for performing one of the methods described herein is installed.
- a further exemplary embodiment according to the invention comprises a device or a system which is designed to transmit a computer program for carrying out at least one of the methods described herein to a receiver.
- the transmission can take place electronically or optically, for example.
- the receiver can be, for example, a computer, a mobile device, a storage device or a similar device.
- the device or the system can, for example, comprise a file server for transmitting the computer program to the recipient.
- a programmable logic component for example a field-programmable gate array, an FPGA
- a field-programmable gate array can interact with a microprocessor in order to carry out one of the methods described herein.
- the methods are performed by any hardware device. This can be universally applicable hardware such as a computer processor (CPU) or hardware specific to the method, such as an ASIC.
- CPU computer processor
- ASIC application specific integrated circuit
Landscapes
- Semiconductor Memories (AREA)
- Logic Circuits (AREA)
Abstract
Eine Vorrichtung zur Implementierung von ein oder mehreren logischen Operationen gemäß einer Ausführungsform wird bereitgestellt. Jede der ein oder mehreren logischen Operationen weist ein oder mehrere binäre Eingangsvariablen auf und weist abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangswert auf. Die Vorrichtung umfasst ein oder mehrere schaltbare Elemente (111, 112). Die Vorrichtung ist ausgebildet, Schreiboperationen und Leseoperationen durchzuführen. Dabei ist die Vorrichtung ausgebildet, jede der Schreiboperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist. Ferner ist die Vorrichtung ausgebildet, jede der Leseoperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist. Die Vorrichtung ist ausgebildet, für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, die Schreib-Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen zu wählen. Des Weiteren ist die Vorrichtung ausgebildet, den binären Ausgangswert von jeder der ein oder mehreren logischen Operationen durch Anlegen der Lesespannung einer der Leseoperationen abhängig von dem Zustand zu bestimmen, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente (111, 112) geschaltet ist, an das die Lesespannung angelegt wird.
Description
Memristor-basierte Volladdierer und Verfahren zu deren Betrieb
Beschreibung
Die Anmeldung betrifft eine Vorrichtung und ein Verfahren zur Implementierung von ein oder mehreren logischen Operationen, und, im Speziellen, einen memristor-basierten Volladdierer und Verfahren zu deren Betrieb. Speziell betrifft die Anmeldung einen (N+M)- Bit-Volladdierer mit Memristoren und den Betrieb des (N+M)-Bit-Volladdierers.
Die Datenmenge und die Geschwindigkeit, mit der neue Daten generiert werden, nimmt auch aufgrund neuer mobiler Geräte und der Vielzahl mit dem Internet verbundener Sensoren täglich zu (siehe [1]).
In Zeiten von „Big Data“ erfordert ein Computer daher einen äußerst geringen Stromverbrauch und eine hocheffiziente Datenverarbeitung auf geringer Fläche, um den Herausforderungen zu begegnen, die sich aus Informationsressourcen ergeben, die durch ein hohes Volumen, eine hohe Geschwindigkeit und eine große Datenvielfalt gekennzeichnet sind (siehe [2]).
In den letzten 50 Jahren hat sich die Halbleiter-Technologie nach Moores Gesetz entwickelt (siehe [3]). Mit dem technologischen Wachstum enthalten heutige Chips fast eine Milliarde MOSFETs mit Abmessungen von jeweils einigen zehn Nanometern (siehe [4]). Darüber hinaus wird erwartet, dass die traditionellen Halbleiter-Materialien in naher Zukunft an ihre physikalischen Grenzen stoßen, was bedeutet, dass neue Materialien und Computerarchitekturen für die aufkommende Nanoelektronik zur Datenverarbeitung, beispielsweise der vier Grundrechenoperationen Addition, Subtraktion, Multiplikation und Division, erforderlich sind (siehe [5], [6]).
Im Stand der Technik beruht die Durchführung der vier Grundrechenoperationen auf der Anwendung von Logikoperationsschritten und von Schritten zum Speichern von Zwischenergebnissen auf die beiden zu verknüpfenden Bitfolgen N und M. Wie bekannt werden die beiden Bitfolgen durch N + M in der Addition miteinander verknüpft.
Mittels Memristoren können Logikoperationsschritte ausgeführt werden. Ferner können Memristoren außerdem zum Speichern von Zwischenergebnissen verwendet werden.
Lehtonen et al. (siehe [7]) haben ein Addiererkonzept gezeigt, bei dem die Addition unter Verwendung von Memristoren durch eine Reihe von sequentiellen Berechnungen unter Emulierung von Logik-Rechenoperationen durchgeführt werden kann. Das in [7] vorgestellte Schema eines N-Bit-Volladdierers erfordert 3N + 5 Einzelmemristoren und 88N + 48 Zyklen.
Kvatinsky et al. (siehe [8]) haben zwei verbesserte Entwürfe eines N-Bit-Volladdierers unter Verwendung einer spezifischen Modifikation der Crossbar-Arraystruktur eingeführt, nämlich einen parallelen und einen seriellen N-Bit-Volladdierer. Bei diesem Ansatz benötigt der Paralleladdierer 9 N Einzelmemristoren und 5 N + 18 Zyklen und der Reihenaddierer 3 N + 3 Einzelmemristoren und 29 N Zyklen.
Siemon et al. (siehe [9]) haben zwei neue, weiter modifizierte Varianten von N-Bit- Volladdierern vorgestellt, die einen auf GRS (Complementary Resistive Switching) basierenden Memristor als Einzelmemristor verwenden. Die erste Variante ist ein Vorberechnungsaddierer (PC-Addierer), welcher 2 (N + 1) CRS-Einzelmemristoren und 2 (N + 1) + 2 Zyklen erfordert, die von mehr Wortleitungen in verschiedenen Kreuzschienenarrays ausgeführt werden müssen. Der zweite Variante ist ein Toggle-Cell- Addierer (TC-Addierer), der weniger Geräte (N + 2), aber mehr Zyklen (4N + 5) benötigt. Um die XOR-Funktion zu realisieren, erfordert die Summenoperation in ihrem Ansatz einen Schreibzyklus mehr als die Übertragoperation, und die Ausgabe der Übertragoperation muss ausgelesen werden und dient als Eingabevariable für den zweiten Schreibzyklus der Summenoperation, wobei erfordert mehr Schritte zum Ausführen. Darüber hinaus ist die Lesevorspannung dieselbe wie bei der Initialisierung und durch Beobachtung von Stromspitzen unter der Lesevorspannung, um den Wert der Ausgabe zu erkennen. Beim destruktiven Lesezyklus müssen die ausgelesenen Informationen im TC-Addierschema in die Zelle zurückgeschrieben werden. Hierdurch ist eine hohe Anzahl Rechenschritt erforderlich.
Wie in [10] gezeigt, ist die Leistungssteigerung moderner Computerchips aufgrund der unterschiedlichen erreichbaren Geschwindigkeiten des Prozessors und Speichers erheblich einschränkt. Ferner wurde in [11] dargestellt, dass die Leistung der Computerchips darüber hinaus weiter beschränkt ist, da immer mehr Transistoren pro Fläche auf einem Computerchip untergebracht werden.
Hier setzt In-Memory-Computing (IMC) (siehe [12]) an, da beim IMC relativ wenig Daten zwischen Prozessor und Speicher ausgetauscht werden müssen.
Memristoren mit geringem Stromverbrauch (siehe [13]), ausgezeichneter Skalierbarkeit (siehe [14]), schneller Schaltgeschwindigkeit (siehe [15]) und hoher Lebensdauer und Haltbarkeit (siehe [16]) bieten die Möglichkeit, IMC und eine Stateful Logic-Technik zu entwickeln, die auf In-Memory-Computing-Lösungen abzielt.
Zu den beliebten IMC-Logikfamilien gehören die Memristor-Logik für Material Implication (IMPLY) (siehe [17]) und die Memristor Aided Logic (MAGIC) (siehe [18]).
Der Hauptnachteil der memristiven IMPLY-Logik ist die Notwendigkeit, lange Sequenzen zustandsbehafteter Logikoperationen durchzuführen, um eine gegebene Boolesche Funktion zu synthetisieren. Der praktische Nutzen des memristiven IMPLY- Logikentwurfsschemas erfordert daher, dass Operationen so parallel wie möglich werden, um das Latenzproblem zu kompensieren. Auf der anderen Seite ist im Fall der MAGIC- Logikfamilie die Logikoperation durch die Topologie der Logikschaltung bestimmt. Sollen diese durch die Eingangs- und Ausgangs-Elektroden getrennt gesteuert werden, muss man die Eingangs- und Ausgangs-Elektroden zuerst in den spezifischen Widerstandszustand initialisieren. Regelmäßige logische Operation, bei denen die Initialisierungsoperationen für jede Eingangs- und Ausgangs-Elektrode durchgeführt werden müssen, führen dabei zu großer Latenz, großer Bereichsgröße und hohem Stromverbrauch.
Aufgabe der Erfindung ist es, verbesserte Konzepte zur Implementierung von ein oder mehreren logischen Operationen bereitzustellen.
Die Aufgabe wird gelöst durch eine Vorrichtung nach Anspruch 1 , durch ein Verfahren nach Anspruch 15 und durch ein Computerprogramm nach Anspruch 16.
Eine Vorrichtung zur Implementierung von ein oder mehreren logischen Operationen gemäß einer Ausführungsform wird bereitgestellt. Jede der ein oder mehreren logischen Operationen weist ein oder mehrere binäre Eingangsvariablen auf und weist abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangswert auf. Die Vorrichtung umfasst ein oder mehrere schaltbare Elemente. Die Vorrichtung ist ausgebildet, Schreiboperationen und Leseoperationen durchzuführen. Dabei ist die Vorrichtung ausgebildet, jede der
Schreiboperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist. Ferner ist die Vorrichtung ausgebildet, jede der Leseoperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist. Die Vorrichtung ist ausgebildet, für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, die Schreib-Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen zu wählen. Des Weiteren ist die Vorrichtung ausgebildet, den binären Ausgangswert von jeder der ein oder mehreren logischen Operationen durch Anlegen der Lesespannung einer der Leseoperationen abhängig von dem Zustand zu bestimmen, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente geschaltet ist, an das die Lesespannung angelegt wird.
Des Weiteren wird ein Verfahren zur Implementierung von ein oder mehreren logischen Operationen gemäß einer Ausführungsform bereitgestellt. Jede der ein oder mehreren logischen Operationen ein oder mehrere binäre Eingangsvariablen aufweist und abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangsweil aufweist. Das Verfahren umfasst, Schreiboperationen und Leseoperationen durchzuführen. Jede der Schreiboperationen wird derart durchgeführt, dass an ein schaltbares Element von ein oder mehreren schaltbaren Elementen eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist. Jede der Leseoperationen wird derart durchgeführt, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist. Für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, wird die Schreib- Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen gewählt. Der binäre Ausgangswert von jeder der ein oder mehreren logischen Operationen wird durch Anlegen der Lesespannung einer der Leseoperationen
abhängig von dem Zustand bestimmt, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente geschaltet ist, an das die Lesespannung angelegt wird.
Ferner wird ein Computerprogramm mit einem Programmcode zur Durchführung des oben beschriebenen Verfahrens gemäß einer Ausführungsform bereitgestellt.
In Ausführungsformen wird für (N+M)-Bit-Volladdierer auf der Basis von Memristoren die Zahl der Einzel-Memristoren und die Zahl der Zyklen reduziert. Erfindungsgemäße Konzepte für (N+M)-Bit-Volladdierer werden bereitgestellt.
In Ausführungsformen wird die Verwendung von (N+M)-Bit-Volladdierern auf der Basis von elektroformierungsfreien CRS (Complementary Resistive Switch)-Memristoren mit einer zerstörungsfreien Auslese erläutert. Beispielhaft wird im Folgenden das (N+M)-Bit- Volladdierer-Konzept vorgestellt. Unter Verwendung dieses Konzepts kann ein (N+M)-Bit- Volladdierer realisiert werden, indem nur ein Schreibzyklus und ein Lesezyklus für jede Summe und jedes Übertragsbit (bei der Initialisierung der Vorrichtung) verwendet werden. In unserem neu eingeführten Schema benötigen wir nur 2N + 2 Zyklen für die N-Bit- Addition, obwohl es die gleiche Anzahl von Bausteinen (N + 2) erfordert wie das TC- Addierschema von Siemon et al. [9], Darüber hinaus sind die Lesezyklen zerstörungsfrei und von den Schreibzyklen trennbar. Daher können der Lesezyklus und der Schreibzyklus gleichzeitig ausgeführt werden.
Bevorzugte Ausführungsformen finden sich in den abhängigen Ansprüchen.
Nachfolgend werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
In den Zeichnungen ist dargestellt:
Fig. 1 zeigt eine Vorrichtung zur Implementierung von ein oder mehreren logischen
Operationen gemäß einer Ausführungsform.
Fig. 2 zeigt einen beispielhaften Aufbau eines Memristors mit einer BFO-
Doppelschichtstruktur gemäß einer Ausführungsform.
Fig. 3 zeigt eine Strom-Spannungs-Charakteristik zu dem beispielhaften Memristor der Fig. 2 gemäß einer Ausführungsform.
Fig. 4 zeigt die nutzbaren Widerstände zu dem beispielhaften Memristor der Fig. 2 gemäß einer Ausführungsform.
Fig. 5 zeigt die Wahrheitstabelle eines Volladdierers gemäß einer
Ausführungsform, der Übertrags- und Summenoperationen umfasst.
Fig. 6 zeigt eine vereinfachte schematische Schaltung für einen 1 -Bit-Volladdierer unter Verwendung von drei Memristoren gemäß einer Ausführungsform.
Fig. 7 zeigt Berechnungszyklen eines 1-Bit-Volladdierers gemäß einer
Ausführungsform für jeden der drei Memristoren der Fig. 6.
Fig. 8 zeigt einen Aufbau eines 1 -Bit-Volladdierers gemäß einer Ausführungsform.
Fig. 9 zeigt ein Zyklusablaufdiagramm eines (N+N)-Bit-Volladdierers.
Fig. 10 zeigt einen Vergleich der benötigten Anzahl von Memristoren einer Ausführungsform gegenüber der benötigten Anzahl von Memristoren bei Logik-Computing mit Einzel-Memristoren.
Fig. 1 zeigt eine Vorrichtung zur Implementierung von ein oder mehreren logischen Operationen gemäß einer Ausführungsform. Jede der ein oder mehreren logischen Operationen weist ein oder mehrere binäre Eingangsvariablen auf und weist abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangswert auf.
Die Vorrichtung umfasst ein oder mehrere schaltbare Elemente 111, 112.
Die Vorrichtung ist ausgebildet, Schreiboperationen und Leseoperationen durchzuführen.
Dabei ist die Vorrichtung ausgebildet, jede der Schreiboperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente 111 , 112
eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist.
Ferner ist die Vorrichtung ausgebildet, jede der Leseoperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente 111, 112 eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist.
Die Vorrichtung ist ausgebildet, für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, die Schreib-Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen zu wählen.
Des Weiteren ist die Vorrichtung ausgebildet, den binären Ausgangswert von jeder der ein oder mehreren logischen Operationen durch Anlegen der Lesespannung einer der Leseoperationen abhängig von dem Zustand zu bestimmen, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente 111, 112 geschaltet ist, an das die Lesespannung angelegt wird.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. ausgebildet sein, bei einer der Schreiboperationen entweder ein schaltbares Element der ein oder mehreren schaltbaren Elemente 111 , 112 in den ersten Zustand zu schalten, indem die Schreib-Vorspannung mit einem ersten Schreib-Spannungswert an das schaltbare Element angelegt wird, oder das schaltbare Element in den zweiten Zustand zu schalten, indem die Schreib-Vorspannung mit einem zweiten Schreib-Spannungswert, der von dem ersten Spannungswert verschieden ist, an das schaltbare Element angelegt wird.
In einer Ausführungsform kann die Vorrichtung z.B. ausgebildet sein, bei einer der Leseoperationen die Lese-Vorspannung an ein schaltbares Element der ein oder mehreren schaltbaren Elemente 111, 112 mit einem ersten Lese-Spannungswert anzulegen oder mit einem zweiten Lese-Spannungswert anzulegen, der von dem ersten Lese-Spannungswert verschieden ist, und wobei die Vorrichtung ausgebildet ist, abhängig von der Lese- Vorspannung und von einem Widerstandswert des schaltbaren Elements zu bestimmen, ob das schaltbare Element in den ersten Zustand oder in den zweiten Zustand geschaltet ist.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. ausgebildet sein, zu bestimmen, dass das schaltbare Element z.B. in den ersten Zustand geschaltet wurde, wenn der Widerstandswert in einem ersten Wertebereich liegt und die Lese- Vorspannung mit dem ersten Lese-Spannungswert angelegt wurde, oder wenn der Widerstandswert in einem zweiten Wertebereich liegt, wobei der zweite Wertebereich und der erste Wertebereich überschneidungsfrei sind, und die Lese- Vorspannung mit dem zweiten Lese-Spannungswert angelegt wurde, und zu bestimmen, dass das schaltbare Element z.B. in den zweiten Zustand geschaltet wurde, wenn der Widerstandswert in dem ersten Wertebereich liegt und die Lese- Vorspannung mit dem zweiten Lese-Spannungswert angelegt wurde, oder wenn der Widerstandswert dem einem zweiten Wertebereich liegt und die Lese- Vorspannung mit dem ersten Lese-Spannungswert angelegt wurde.
In einer Ausführungsform kann jedes der ein oder mehreren schaltbaren Elemente 111 , 112 z.B. ein Memristor sein.
Gemäß einer Ausführungsform kann jedes der ein oder mehreren schaltbaren Elemente 111 , 112 z.B. Yttrium-Manganoxid aufweisen.
In einer Ausführungsform kann z.B. jedes der ein oder mehreren schaltbaren Elemente 111, 112 Bismut-Ferrit und/oder mit Titan dotiertes Bismut-Ferrit aufweisen.
Gemäß einer Ausführungsform kann die Vorrichtung des Weiteren z.B, ein oder mehrere Multiplexer aufweisen, wobei jeder der ein oder mehreren Multiplexer ausgebildet ist, entweder die Schreib-Vorspannung einer der Schreiboperationen oder die Lese- Vorspannung einer der Leseoperationen an eines der ein oder mehreren schaltbaren Elemente 111, 112 anzulegen. ln einer Ausführungsform kann die Vorrichtung als die ein oder mehreren schaltbaren Elemente 111, 112 z.B. zwei oder mehr schaltbare Elemente aufweisen.
Gemäß einer Ausführungsform kann die Vorrichtung als die zwei oder mehr schaltbare Elemente z.B. genau drei schaltbare Elemente aufweisen.
In einer Ausführungsform kann wenigstens eine der ein oder mehreren logischen Operationen als die ein oder mehreren binären Eingangsvariablem z.B. zwei oder mehr binäre Eingangsvariablen aufweisen.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. ausgebildet sein, bei wenigstens einer der Schreiboperationen die Schreib-Vorspannung abhängig von dem Zustand, in den eines der ein oder mehreren schaltbaren Elemente 111, 112 geschaltet ist, und der von der Vorrichtung bei einer vorangegangenen Leseoperation bestimmt wurde, zu wählen.
In einer Ausführungsform kann die Vorrichtung z.B. zur Implementierung von zwei oder mehreren logischen Operationen ausgebildet sein.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. einen Volladdierer implementieren, indem eine erste der zwei oder mehreren logischen Operationen eine Summenoperation implementiert und indem eine zweite der zwei oder mehreren logischen Operationen eine Obertragoperation implementiert.
Nachfolgend werden spezielle Ausführungsbeispiele der Erfindung erläutert.
Im Folgenden wird nun zunächst eine beispielhafte Funktionsweise eines Memristors in einem beispielhaften Anwendungsfall unter Bezugnahme auf die Fig. 2, Fig. 3 und Fig. 4 erläutert, insbesondere unter Bezugnahme auf die dort gezeigte BFO- Doppelschichtstruktur der Fig. 2 mit der dazugehörigen IV-Charakteristik, dargestellt in Fig. 3. Die nutzbaren Widerstände des Einzelmemristors sind in Fig. 4 gezeigt.
Im Einzelnen zeigt Fig. 2 eine schematische Darstellung der BFTO / BFO- Doppelschichtstruktur (BFO steht für Bismut-Ferrit: BiFeO3; BFTO steht für mit Titan dotiertem Bismut-Ferrit: Bi(Fe:,Ti)O3) und der elektrischen Messkonfiguration.
Fig. 3 zeigt eine Strom-Spannungs-Charakteristik für den BFTO/BFO-Doppelschicht- Memristor der Fig. 2 mit einem ca. 600 nm dicken BFO-Dünnfilm und einer Kontaktfläche von 0,045 mm2. Der Doppelschicht-Memristor kann durch Anlegen einer positiven
Schreibvorspannung Vwrite = 5 V in den Zustand PLRS, NHRS initialisiert werden, wohingegen er durch negative Schreibvorspannung Vwrite = -5 V in den Zustand PHRS, NLRS initialisiert werden kann.
Der sequentielle Einsatz der Vorspannung mit den entsprechenden Zweischicht- Memristoren ist derart ausgelegt, dass der Addierer mit weniger Memristoren und weniger Betriebszyklen realisiert werden kann (weniger Leistung und weniger Platz für Chips wird benötigt), als dies mit Stand der Technik für Addieroperationen nötig wäre. (Was Leitung und Platz für Chips betrifft, sind Addierlösungen, die auf Memristor Technologie beruhen, deutlich besser der Einsatz von CMOS Technologie, und die erfindungsgemäßen Lösungen steilen gegenüber dem Stand der Technik verbesserte Addierlösungen bereit.)
Fig. 4 zeigt Realisierungen von Widerstandszuständen und die Polaritäten der angelegten Schreib- und Lesevorspannung.
So stellt Fig. 2 ein Ausführungsbeispiel für die Einzelmemristoren eines (N+N)- Volladdierers mit eine BFO-Doppelschichtstruktur dar, eine beispielhafte IV-Charakteristik hierzu ist in Fig. 3 gezeigt, und beispielhafte, nutzbare Widerstände des Einzelmemristors sind in Fig. 4 gezeigt.
Der Einzelmemristor der Fig. 2 hat mindestens zwei Widerstandszustände, beispielsweise einen niederohmigen Zustand (LRS) und einen hochohmigen Zustand (HRS). Die Widerstandszustände können durch positive Schreibvorspannung (5 V) und negative Schreibvorspannung (-5 V) eingestellt und zurückgesetzt werden. Bei einer positiven Schreibvorspannung werden das LRS und das HRS durch eine positive Lesevorspannung und eine negative Lesevorspannung ausgelesen, die als PLRS (positiver niederohmiger Zustand) bzw. NHRS (negativer hochohmiger Zustand) abgekürzt werden. Andernfalls werden bei negativer Schreibvorspannung LRS und HRS durch eine negative Lesevorspannung und eine positive Lesevorspannung ausgelesen, die als NLRS (negativer niederohmiger Zustand) bzw. PHRS (positiver hochohmiger Zustand) abgekürzt werden.
Die Beziehungen der Widerstandszustände und der Polaritäten der angelegten Schreib- und Lesevorspannung sind in Fig. 4 beschrieben, die wie folgt zusammengefasst werden können: Wenn die Polaritäten der Schreib- und Lesevorspannung gleich sind, zeigt die BFTO-Vorrichtung einen niedrigen Widerstand, PLRS oder NLRS, sonst zeigt es hohe Beständigkeit PHRS, NHRS.
Mit dem nichtflüchtigen ohmschen Schaltverhalten können alle 16 Booleschen Logikfunktionen in drei Logikzyklen von einem einzigen BFTO-Baustein realisiert werden (siehe hierzu auch [19]).
In Ausführungsformen wird eine Volladdiererlogik mit BFTO-Komplementärschaltern unter Verwendung nur eines einzelnen Schreib- und Lesezyklus bereitgestellt.
Die tatsächliche Polarität und Amplitude der angelegten Schreibvorspannung werden durch das Potential der oberen Elektrode (T1) und der unteren Elektrode (T2) des Widerstandsschalters bestimmt.
Beispielsweise kann die obere Elektrode (T1) als Referenz für die Vorspannung, die an das Gerät angelegt wird, angesehen werden. Dies kann so beispielsweise bei einem Addierer gemäß, einer Ausführungsform vorgesehen sein.
Wenn das Potential der oberen Elektrode höher als das der unteren Elektrode ist, kann dies als positive Spannung angesehen werden, die an das Gerät angelegt wird. Wenn andernfalls das Potential der unteren Elektrode ein höheres Potential aufweist, kann dies als negative Spannung angesehen werden, die an das Gerät angelegt wird.
Zu beachten ist, dass wenn die obere Elektrode und die untere Elektrode dasselbe Potenzial aufweisen, am Gerät keine Potenzialdifferenz besteht, d.h. am Gerät würde keine tatsächliche Spannung anliegen.
Wie oben erwähnt, ist der Widerstandszustand des Geräts entweder ein (PLRS, NHRS) - Zustand oder ein (PHRS, NLRS) -Zustand, der mit "1" bzw. "0" belegt werden kann.
Mit anderen Worten: Es kommt auf die Schreibvorspannung an: Ist z.B. an die obere Elektrode höheres Potential als an der unteren Elektrode angelegt (Interpretation z.B. „1“), führt das zu PLRS (bei positiver Lesevorspannung) oder zu NHRS (bei negativer Lesevorspannung). Ist z.B. an die obere Elektrode niedrigeres Potential als an der unteren Elektrode angelegt (Interpretation z.B. „0“), führt das zu PHRS (bei positiver Lesevorspannung) oder zu NLRS (bei negativer Lesevorspannung).
Es können der positiven (Schreib-)Vorspannung und der negativen (Schreib-)Vorspannung die Werte „1“ bzw. „0“ zugewiesen werden. Während des Schreibzyklus wird der Widerstandszustand des Geräts durch Anlegen einer Schreibvorspannung umgeschaltet oder behält seinen Anfangszustand bei. Entsprechend den Beziehungen von Zustand und Schreibvorspannung in Fig. 4 kann der Widerstandszustand "1" oder "0" nur durch negative Schreibvorspannung und positive Schreibvorspannung entsprechend der umgekehrten Logik "0" oder "1" umgeschaltet werden. Daher kann z.B. das Ergebnis des Schreibzyklus durch T1, T2 und den Anfangszustand definiert werden, die als Adress-Ports von Eingangsvariablen in Schreibzyklen betrachtet werden können.
Beispielsweise wird in einer Ausführungsform, wenn in einem Zyklus eine positive Schreibvorspannung anliegt (PLRS, NHRS), dies als ein erster Bitwert interpretiert (z.B. als „1“), und wenn stattdessen in dem Zyklus eine negative Schreibvorspannung anliegt (PHRS, NLRS), dies als ein zweiter Bitwert interpretiert (z.B. als „0“), der von dem ersten Bitwert verschieden ist.
Nachfolgend wird das Funktionsprinzip eines n-Bit-Volladdierers unter Verwendung eines Doppelschicht-BFO-Memristors gemäß spezieller Ausführungsformen dargestellt.
Dabei zeigt Fig. 5 die Wahrheitstabelle eines Volladdierers, der Übertrags- und Summenoperationen umfasst, wobei die Anfangszustände für zwei Operationen und die Logikwerte für die obere Elektrode und die untere Elektrode in zwei Operationen dargestellt sind. Die Lesevorspannung wird mit "1" oder "0" entsprechend der positiven Lesevorspannung bzw. der negativen Lesevorspannung belegt, ln den C.W Spalten sind Schreibzyklen, in den C.R Spalten sind Lesezyklen dargestellt.
Eine Volladdierer-Logikoperation besteht aus einer Übertragsoperation und einer Summenoperation. Fig. 5 zeigt die Wahrheitstabellen der Übertrags- und Summenoperation im (N+N)-Volladdierer auf der Basis von eiektroformierungsfreien CRS (Complementary Resistive Switch)-Memristoren mit einer zerstörungsfreien Auslese. Die Eingangsvariable c, wird als Ausgangszustand vor dem Schreibzyklus in das Gerät programmiert. Während des Schreibzyklus werden für die Übertragsoperation die Eingangsvariablen pi und die Negation von
an T1 bzw. T2 gegeben. Das Übertragsbit Ci+i wird berechnet und als Widerstandszustand im Gerät gespeichert. Für den Summenbetrieb werden die Eingangsvariablen pi und c, in T1 bzw. T2 programmiert. Nach dem Schreibzyklus wird der Zwischenzustand si' im Gerät gespeichert.
Die Ausgabe der Logikoperation mit BFO-Vorrichtungen kann durch eine andere Variable definiert werden, nämlich Lesevorspannung. Wie oben erwähnt, zeigt die BFTO- Vorrichtung, wenn die Polaritäten der Schreib- und Lesevorspannung gleich sind, einen niedrigen Widerstand (PLRS oder NLRS) als Ausgang, andernfalls zeigt sie einen hohen Widerstand (PHRS, NHRS) als Ausgang. Beim Obertragsbetrieb ist zum Auslesen von q+i die Lesevorspannung zur oberen Elektrode immer positiv (+ 2,5 V). Um das Anlegen einer positiven Vorspannung an T1 zu implementieren, können wir T2 eine negative Vorspannung (-2,5 V) bereitstellen, daher kann die Lesevorspannung nur durch die untere Elektrode implementiert werden. Wenn für Summenoperationen der Anfangszustand ci ein Zustand "0" ist, wird die Lesevorspannung als Eingangsvariable
betrachtet, wobei die positive Vorspannung und die negative Vorspannung der logischen "1" bzw. "0" entsprechen; Wenn der Anfangszustand Ci ein "1" -Zustand ist, wird die Lesevorspannung als Eingangsvariable qi angesehen. Diese bedingte Lesevorspannung kann durch zwei einfache Multiplexer im Schaltungsdesign realisiert werden. Ähnlich wie beim Übeitragsvorgang kann die Lesevorspannung auch durch Anlegen einer Vorspannung mit umgekehrter Polarität an die Bodenelektrode implementiert werden. Daher wird die Vorspannung " qi" an T2 angelegt, während Ci gleich "0" ist, die Vorspannung
wird an T2 angelegt, während q gleich "1" ist.
Die Lesevorspannung für alle Logikoperationen kann an die untere Elektrode angelegt werden, und die Amplitude der Lesevorspannung entspricht der Hälfte der Schreibvorspannung. Dann können die Lesezyklen und Schreibzyklen mit unserem Schema in nur einem Schritt implementiert werden, und es handelt sich um rekonfigurierbare und trennbare Zyklen.
Gemäß einem Ausführungsbeispiel wird der Aufbau eines (N+N)-Bit-Volladdierers bereitgestellt.
Fig. 6 beschreibt das vereinfachte Schema für einen 1 -Bit-Volladdierer. Insbesondere zeigt Fig. 6 eine vereinfachte schematische Schaltung für einen 1 -Bit-Volladdierer unter Verwendung von drei Memristoren Mo, Mi und M2. Das hohle Quadrat stellt die Schreibvorspannung dar, die sowohl an die obere Elektrode als auch an die untere Elektrode angelegt werden kann. Der Punkt stellt die Lesevorspannung dar, die nur an die untere Elektrode angelegt wird. Das Potential der unteren Elektrode ist die Summe der angelegten Lese- und Schreibvorspannung für T2. Die tatsächlich angelegten Potentiale
von T 1 und T2 werden durch den logischen Wert bestimmt, wobei 2,5 V und -2,5 V logisch "1" und "0" entsprechen.
Die Schreibvorspannung kann sowohl an die obere als auch an die untere Elektrode angelegt werden, die Lesevorspannung kann nur an die untere Elektrode angelegt werden. Daher entspricht die tatsächliche Vorspannung von T2 der Summe der angelegten Schreib- und Lesevorspannung von T2. Ein 1 -Bit-Volladdierer wird von drei Geräten mit diesem Schema implementiert. Insbesondere wird MO verwendet, um die Logik des Lesevorspannens für die Summenoperation zu bestimmen. M1 und M2 werden zur Berechnung von S0’ und C1 verwendet. Der 1 -Bit-Volladdierer kann als der Initialisierungsschritt für den n-Bit-Volladdierer betrachtet werden, und die folgenden (n-1) Bits im Addiererbetrieb können alle mit einem einzigen Schreib- und einem einzigen Leseschritt realisiert werden.
Fig. 7 beschreibt die Berechnungsschritte im Detail. Insbesondere zeigt Fig. 7 Berechnungszyklen eines 1 -Bit-Volladdierers für jeden der drei Memristoren der Fig. 6. An den Eingängen ist p0 = 1 , q0 = 1 und C0 = 0. Die Hintergründe der Felder der Fig. 7 sind wie in Fig. 6 gewählt. Die Schreibverzerrung und die Leseverzerrung sind dargestellt. In der Tabelle stellt s den anfänglichen Widerstandszustand der Memristoren für jeden Zyklus. T1 und T2 sind die gegebene Logik für die oberen Elektroden und die unteren Elektroden in jedem Zyklus. Die Vorspannung ist die Oberlagerungsvorspannung für die obere Elektrode in jedem Zyklus.
So werden in Fig. 7 die Eingänge auf p0 = 1, q0 = 1 und C0 = 0 gesetzt. Der erste Zyklus ist ein Initialisierungszyklus. Vor allen logischen Verknüpfungen wird davon ausgegangen, dass sich alle Geräte im unbekannten Zustand befinden. Um alle Geräte zu initialisieren, werden die Logiksignale "1" und "0" an die Wortleitung WO und an alle Bitleitungen B0, B1 und B2 adressiert, was so angesehen werden kann, dass alle Geräte an eine positive Schreibvorspannung angelegt werden. Dann werden alle Geräte auf einen bekannten Zustand "1" initialisiert.
Der zweite Zyklus kann auch als Initialisierungszyklus angesehen werden. In diesem Zyklus wird das erste Übertragsbit Co in alle Geräte programmiert, indem an WO eine Vorspannung von "c0" (-2,5 V) und an alle Bitleitungen eine Vorspannung von "1" (2,5 V) angelegt wird. Unter dieser Vorspannung (die tatsächliche Vorspannung beträgt -5 V) wird Co in allen Geräten als Ausgangszustand "0" programmiert.
Im dritten Zyklus werden s0’ und Ci mit Mi und M2 berechnet, indem Wo auf p0 (2,5 V) gesetzt wird, während B1 auf C0 (-2,5 V) und B2 auf
Im gleichen Zyklus wird cO ausgelesen, indem B0 auf p0 + "0" (2,5 V - 2,5 V) gesetzt wird. Zum Lesen wird an die untere Elektrode immer eine Lesevorspannung und eine Schreibvorspannung angelegt, die mit der an die obere Elektrode angelegten identisch ist, wodurch der Schreibvorspannung die gleichen Vorspannungen von T1 und T2 entgegenwirken, ln diesem Zyklus wird die Lesevorspannung von Sc' durch das Auslesen von Co definiert, ln diesem Beispiel wird die Lesevorspannung durch qo eingestellt, wobei C0 "0" ist.
Im vierten Zyklus werden die Rollen getauscht. Ci wird mit Mo berechnet, indem Wo auf p0 (2,5 V) und B0 auf %(-2,5 V) gesetzt werden. Währenddessen werden sO 'und c1 ausgelesen, indem Bi auf p0 + q0 (2,5 V + 2,5 V) und B2 auf p0 +' 0 '(2,5 V - 2,5 V) eingestellt werden. Während dieser vier Zyklen werden die Berechnungsergebnisse S0 und C1 für die
1 -Bit-Volladdition ausgelesen.
Fig. 8 zeigt einen Aufbau eines 1 -Bit-Volladdierers gemäß einer Ausführungsform. An den Eingängen ist p0 = 1, q0 = 1 und c0 = 0. In Fig. 8 stellt das hohle Quadrat die Schreibvorspannung und der Punkt die Lesevorspannung dar, die wie in Fig. 6 gewählt sind. Der spaltenförmige rechteckige Bereich ist die aktuelle Antwort für jeden Zyklus, insbesondere die Ströme der BFO-Geräte in jedem Zyklus, die die Ergebnisse beim Lesen der Zyklen ermitteln können. Zur Erkennung von Ausgangssignalen können ein Leseverstärker und ein Komparator als Anaiog-Digital-Wandler betrachtet werden, die den Analogstrom als Ausgang auf den logischen Wert „0“ oder „1“ umwandeln können. In diesem Artikel wird die Schaltung im Detail nicht angegeben.
Im Ausführungsbeispiel wird der Betrieb eines (N+N)-Bit-Volladdierers beschrieben. Das Zyklusabiaufdiagramm des Volladdierers mit n Bits ist in Fig. 9 dargestellt. Ein (N+N)-Bit- Volladdierer gemäß einer solchen Ausführungsform benötigt zur Realisierung nur 2N + 2 Zyklen.
Mit Ausnahme des Initialisierungsschritts und des Programmierens von cO existieren der Schreibzyklus und der Lesezyklus in jedem Berechnungsschritt immer gleichzeitig. Eine besondere Rolle in der Schaltung spielt das Bauelement MO, das im Grossbar-Array durch WO und BO verbunden ist. Das Q wird aus Mo ausgelesen, während die anderen Zellen zur Berechnung von si ’und ci+1 verwendet werden. Die Lesevorspannung für si 'wird durch das
ausgelesene ci bestimmt. Im nächsten Zyklus wird die ermittelte Lesevorspannung zurück an die Schaltung adressiert und dient dann als logische Variable zum Auslesen von s,. Zu diesem Zeitpunkt implementiert M0 die Berechnung von ci+1, die sich darauf vorbereitet, die Lesevorspannung für si+1 zu definieren. Der Lesezyklus und der Schreibzyklus werden abwechselnd mit Mo durchgeführt. Abhängig von der Bitlänge der Volladdiereroperanden kann die Gesamtzahl der Schritte wie folgt berechnet werden: 2N + 2, was aus Fig. 9 ersichtlich ist.
Fig. 10 zeigt einen Vergleich der benötigten Anzahl von Memristoren einer Ausführungsform gegenüber der benötigten Anzahl von Memristoren bei Logik-Computing mit Einzel-Memristoren, insbesondere von CRS-Memristoren (CRS: Complementary Resistive Switch) mit einer zerstörungsfreien Auslese gemäß dem Stand der Technik.
Nachfolgend werden weitere Ausführungsformen der Erfindung beschrieben.
Gemäß einer Ausführungsform wird ein Aufbau eines (N+M)-Bit-Volladdierers mit elektroformierungsfreien CRS (Complementary Resistive Switch; komplementäre Widerstandsschalter)-Memristoren mit einer zerstörungsfreien Auslese bereitgestellt.
Gemäß einer Ausführungsform wird ein Betrieb eines (N+M)-Bit-VoIIaddierers mit elektroformierungsfreien CRS-Memristoren mit einer zerstörungsfreien Auslese bereitgestellt.
Gemäß einer Ausführungsform wird ein Aufbau und Betrieb eines Crossbar-Arrays für den seriellen und für den parallelen Betrieb von (N+M)-Bit-Volladdierern bereitgestellt.
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden.
Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software oder zumindest teilweise in Hardware oder zumindest teilweise in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart Zusammenwirken können oder Zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf
dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger oder das digitale Speichermedium oder das computerlesbare Medium sind typischerweise greifbar und/oder nicht flüchtig.
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor Zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
Literatur:
[1] Hashem, I.A.T. et al. The rise of “big data” on cloud computing: Review and open research issues. Information Systems 47, 98-115 (2015).
[2] De Mauro, A., Greco, M, & Grimaldi, M. A formal definition of Big Data based on its essential features. Library Review 65, 122-135 (2016).
[3] Moore, G.E. Cramming more components onto integrated circuits, Electronics Magazine. (1965).
[4] Vogel, E. Technology and metrology of new electronic materials and devices. Nature nanotechnology 2, (2007).
[5] Müller, D.A. A sound barrier for Silicon? Nature Materials 4, 645 (2005).
[6] You, T. et al. Bipolar electric-field enhanced trapping and detrapping of mobile donors in BiFe03 memristors. ACS applied materials & interfaces 6, 19758-19765 (2014).
[7] Lehtonen, E. & Laiho, M. Stateful implication logic with memristors. in Nanoscale Architectures, 2009. NANOARCHO9. IEEE/ACM International Symposium on 33-36 (IEEE, 2009).
[8] Kvatinsky, S. et al. Memristor-based material implication (IMPLY) logic: Design principles and methodologies. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 22, 2054-2066 (2014).
[9] Siemon, A., Menzel, S., Waser, R. & Linn, E. A complementary resistive switch- based crossbar array adder. lEEEjournal on emerging and selected topics in circuits and Systems 5, 64-74 (2015).
[10] Budzynowski, A., & Heiser, G. (2013). The von Neumann architecture is due for retirement. In Proceedings of the 14th USENIX Conference on Hot Topics in Operating Systems, HotOS'13 (p. 25). Berkeley, CA: USENIX Association.
[11] Kish, L. End of Moore’s law: thermal (noise) death of integrationin micro and nano electronics.Phys. Lett.. A2002.305, 144.
[12] D. leimini, H.-S. P. Wong, In-memory computing with resistive switching devices. Nat. Electron. 1, 333 (2018).
[13] M. D. Pickett, R.S. Williams, “Sub-100fJ and sub-nanosecond thermally driven threshold switching in niobium oxide crosspoint nanodevices”, Nanotechnology. 23, 215202 (2012).
[14] S. Pi, P. Lin, & Q. Xia, “Cross point arrays of 8 nmx8 nm memristive devices fabricated with nanoimprint lithography," J. Vacuum Sei. Technol. B Microelectron. Nanometer Struct. 31 , (2013).
[15] A. C. Torrezan, J. P. Strachan, G. Medeiros-Ribeiro and R. S. Williams, “Sub- nanosecond switching of a tantalum oxide memristor”, Nanotechnology, 22, 485203 (2011).
[16] M. J. Lee, et al, “A fast, high-endurance and scalable non-volatile memory device made from asymmetric TaO(5-x)/TaO(2-x) bilayer structures”, Nature materials. 10, 625-630 (2011).
[17] J. Borghetti, G. S. Snider, P. J. Kuekes, J. J. Yang, D. R. Stewart, R. S. Williams. Memristive switches enable ‘statefuP logic operations via material implication. Nature 464(7290): 873-876 (2010).
[18] S. Kvatinsky, D. Belousov, S. Liman, G. Satat, N. Wald, N. Wald, E. G. Friedman, A. Kolodny, U. C. Weiser. MAG I C — Mem ristor-aided logic, IEEE Trans. Circuits Syst., II, Exp. Briefs 61(11): 895-899 (2014).
[19] You, T. et al. Exploiting memristive BiFe03 bilayer structures for compact sequential logics. Advanced Functional Materials 24, 3357-3365 (2014).
Claims
1. Vorrichtung zur Implementierung von ein oder mehreren logischen Operationen, wobei jede der ein oder mehreren logischen Operationen ein oder mehrere binäre Eingangsvariablen aufweist und abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangswert aufweist, wobei die Vorrichtung ein oder mehrere schaltbare Elemente (111, 112) umfasst, wobei die Vorrichtung ausgebildet ist, Schreiboperationen und Leseoperationen durchzuführen, wobei die Vorrichtung ausgebildet ist, jede der Schreiboperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist, wobei die Vorrichtung ausgebildet ist, jede der Leseoperationen derart durchzuführen, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist. wobei die Vorrichtung ausgebildet ist, für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, die Schreib-Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen zu wählen, und wobei die Vorrichtung ausgebildet ist, den binären Ausgangswert von jeder der ein oder mehreren logischen Operationen durch Anlegen der Lesespannung einer der Leseoperationen abhängig von dem Zustand zu bestimmen, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente (111, 112) geschaltet ist, an das die Lesespannung angelegt wird.
2. Vorrichtung nach Anspruch 1, wobei die Vorrichtung ausgebildet ist, bei einer der Schreiboperationen entweder ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) in den ersten Zustand zu schalten, indem die Schreib-Vorspannung mit einem ersten Schreib-Spannungswert an das schaltbare Element angelegt wird, oder das schaltbare Element in den zweiten Zustand zu schalten, indem die Schreib- Vorspannung mit einem zweiten Schreib-Spannungswert, der von dem ersten Spannungswert verschieden ist, an das schaltbare Element angelegt wird.
3. Vorrichtung nach Anspruch 2, wobei die Vorrichtung ausgebildet ist, bei einer der Leseoperationen die Lese- Vorspannung an ein schaltbares Element der ein oder mehreren schaltbaren Elemente (111, 112) mit einem ersten Lese-Spannungswert anzulegen oder mit einem zweiten Lese-Spannungswert anzulegen, der von dem ersten Lese- Spannungswert verschieden ist, und wobei die Vorrichtung ausgebildet ist, abhängig von der Lese-Vorspannung und von einem Widerstandswert des schaltbaren Elements zu bestimmen, ob das schaltbare Element in den ersten Zustand oder in den zweiten Zustand geschaltet ist.
4. Vorrichtung nach Anspruch 3, wobei die Vorrichtung ausgebildet ist, zu bestimmen, dass das schaltbare Element in den ersten Zustand geschaltet wurde, wenn der Widerstandswert in einem ersten Wertebereich liegt und die Lese- Vorspannung mit dem ersten Lese-Spannungswert angelegt wurde, oder wenn der Widerstandswert in einem zweiten Wertebereich liegt, wobei der zweite Wertebereich und der erste Wertebereich überschneidungsfrei sind, und die Lese-Vorspannung mit dem zweiten Lese-Spannungswert angelegt wurde, und
zu bestimmen, dass das schaltbare Element in den zweiten Zustand geschaltet wurde, wenn der Widerstandswert in dem ersten Wertebereich liegt und die Lese- Vorspannung mit dem zweiten Lese-Spannungswert angelegt wurde, oder wenn der Widerstandswert dem einem zweiten Wertebereich liegt und die Lese-Vorspannung mit dem ersten Lese-Spannungswert angelegt wurde.
5. Vorrichtung nach einem der vorherigen Ansprüche, wobei jedes der ein oder mehreren schaltbaren Elemente (111, 112) ein Memnstor ist.
6. Vorrichtung nach einem der vorherigen Ansprüche, wobei jedes der ein oder mehreren schaltbaren Elemente (111, 112) Yttrium- Manganoxid aufweist.
7. Vorrichtung nach einem der vorherigen Ansprüche, wobei jedes der ein oder mehreren schaltbaren Elemente (111, 112) Bismut-Ferrit und/oder mit Titan dotiertes Bismut-Ferrit aufweist.
8 Vorrichtung nach einem der vorherigen Ansprüche, wobei die Vorrichtung des Weiteren ein oder mehrere Multiplexer aufweist, wobei jeder der ein oder mehreren Multiplexer ausgebildet ist, entweder die Schreib- Vorspannung einer der Schreiboperationen oder die Lese-Vorspannung einer der Leseoperationen an eines der ein oder mehreren schaltbaren Elemente (111, 112) anzulegen.
9. Vorrichtung nach einem der vorherigen Ansprüche,
wobei die Vorrichtung als die ein oder mehreren schaltbaren Elemente (111, 112) zwei oder mehr schaltbare Elemente (111, 112) aufweist.
10. Vorrichtung nach Anspruch 9, wobei die Vorrichtung als die zwei oder mehr schaltbare Elemente (111, 112) genau drei schaltbare Elemente (111, 112) aufweist.
11. Vorrichtung nach einem der vorherigen Ansprüche, wobei wenigstens eine der ein oder mehreren logischen Operationen als die ein oder mehreren binären Eingangsvariablem zwei oder mehr binäre Eingangsvariablen aufweist.
12. Vorrichtung nach einem der vorherigen Ansprüche, wobei die Vorrichtung ausgebildet ist, bei wenigstens einer der Schreiboperationen die Schreib-Vorspannung abhängig von dem Zustand, in den eines der ein oder mehreren schaltbaren Elemente (111, 112) geschaltet ist, und der von der Vorrichtung bei einer vorangegangenen Leseoperation bestimmt wurde, zu wählen.
13. Vorrichtung nach einem der vorangegangenen Ansprüche, wobei die Vorrichtung zur Implementierung von zwei oder mehreren logischen Operationen ausgebildet ist.
14. Vorrichtung nach Anspruch 13, wobei die Vorrichtung einen Volladdierer implementiert, indem eine erste der zwei oder mehreren logischen Operationen eine Summenoperation implementiert, und indem eine zweite der zwei oder mehreren logischen Operationen eine Obertragoperation implementiert.
15. Verfahren zur Implementierung von ein oder mehreren logischen Operationen, wobei jede der ein oder mehreren logischen Operationen ein oder mehrere binäre Eingangsvariablen aufweist und abhängig von der implementierten logischen Operation und abhängig von den ein oder mehreren binären Eingangsvariablen einen binären Ausgangswert aufweist, wobei das Verfahren umfasst, Schreiboperationen und Leseoperationen durchzuführen, wobei jede der Schreiboperationen derart durchgeführt wird, dass an ein schaltbares Element von ein oder mehreren schaltbaren n eine Schreib-Vorspannung angelegt wird, die das schaltbare Element abhängig von der Schreib-Vorspannung in einen ersten Zustand schaltet oder aber in einen zweiten Zustand schaltet, der von dem ersten Zustand verschieden ist, wobei jede der Leseoperationen derart durchgeführt wird, dass an ein schaltbares Element der ein oder mehreren schaltbaren Elemente eine Lese-Vorspannung angelegt wird, um zu bestimmen, ob das schaltbare Element in einen ersten Zustand geschaltet ist oder in den zweiten Zustand geschaltet ist. wobei für jede binäre Eingangsvariable der ein oder mehreren binären Eingangsvariablen von jeder der ein oder mehreren binären Operationen, die Schreib-Vorspannung von wenigstens einer der Schreiboperationen abhängig von dieser binären Eingangsvariablen gewählt wird, und wobei der binäre Ausgangswert von jeder der ein oder mehreren logischen Operationen durch Anlegen der Lesespannung einer der Leseoperationen abhängig von dem Zustand bestimmt wird, in den das schaltbare Element der ein oder mehreren schaltbaren Elemente geschaltet ist, an das die Lesespannung angelegt wird.
16. Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 15.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102020206796.1A DE102020206796A1 (de) | 2020-05-29 | 2020-05-29 | Memristor-basierte Volladdierer und Verfahren zu deren Betrieb |
| PCT/EP2021/064270 WO2021239911A1 (de) | 2020-05-29 | 2021-05-27 | Memristor-basierte volladdierer und verfahren zu deren betrieb |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4158630A1 true EP4158630A1 (de) | 2023-04-05 |
Family
ID=76269734
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP21729858.7A Pending EP4158630A1 (de) | 2020-05-29 | 2021-05-27 | Memristor-basierte volladdierer und verfahren zu deren betrieb |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4158630A1 (de) |
| DE (1) | DE102020206796A1 (de) |
| WO (1) | WO2021239911A1 (de) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117978154B (zh) * | 2024-04-02 | 2024-06-21 | 浙江省北大信息技术高等研究院 | 一种基于忆阻器的逻辑电路及全加器 |
| CN119883184B (zh) * | 2025-03-26 | 2025-07-11 | 华中科技大学 | 一种基于忆阻器的近似加法电路的控制方法及近似加法运算装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4547747A (en) | 1983-03-11 | 1985-10-15 | General Signal Corporation | Phase locked loop for high speed data |
| CN109074842B (zh) * | 2016-04-07 | 2019-12-24 | 赫姆霍兹-森德拉姆德雷斯顿-罗森多夫研究中心 | 用于运行电子的忆阻性的元器件的方法 |
| DE102019203288B3 (de) | 2019-03-11 | 2020-02-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Hardware-basierten Datenverschlüsselung mit komplementären Widerstandsschaltern |
-
2020
- 2020-05-29 DE DE102020206796.1A patent/DE102020206796A1/de active Pending
-
2021
- 2021-05-27 EP EP21729858.7A patent/EP4158630A1/de active Pending
- 2021-05-27 WO PCT/EP2021/064270 patent/WO2021239911A1/de not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2021239911A1 (de) | 2021-12-02 |
| DE102020206796A1 (de) | 2021-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60126310T2 (de) | Punktkontaktarray, Not-Schaltung und elektronische Schaltung damit | |
| Borghetti et al. | ‘Memristive’switches enable ‘stateful’logic operations via material implication | |
| DE69332857T2 (de) | Halbleitervorrichtung. | |
| DE112017000238B4 (de) | Vorrichtung für künstliche Neuronen | |
| DE102021115361A1 (de) | Inferenzmaschine mit sehr geringer leistung und externer magnetfeldprogrammierung | |
| EP2436011B1 (de) | Speichereiement, stapelung, speichermatrix und verfahren zum betreiben | |
| DE112022002961B4 (de) | Rekonfigurierbare Speicherzelle mit interner Logik | |
| WO2021052538A1 (de) | Bauelement zum initialisieren eines quantenpunkts | |
| DE112020000929T5 (de) | Programmieren eines phasenwechselspeichersin einer geschlossenen schleife | |
| DE112016002943T5 (de) | Neuromorphe Verarbeitungseinheiten | |
| DE102021115503A1 (de) | Mehrstufiger inferenzmaschinenbeschleuniger mit sehr niedrigem stromverbrauch | |
| WO1998053504A1 (de) | Ein-elektron-speicherbauelement | |
| WO2003081671A2 (de) | Logische bauteile aus organischen feldeffekttransistoren | |
| WO2017174527A1 (de) | Verfahren und mittel zum betrieb eines komplementären analogen rekonfigurierbaren memristiven widerstandsschalters sowie dessen verwendung als künstliche synapse | |
| Ahmadi-Farsani et al. | A CMOS–memristor hybrid system for implementing stochastic binary spike timing-dependent plasticity | |
| WO2021239911A1 (de) | Memristor-basierte volladdierer und verfahren zu deren betrieb | |
| DE3685629T2 (de) | Integrierte geschaltete uebertragungsschaltung. | |
| EP1620858B1 (de) | Bauelement mit einer in ihrer funktionalität konfigurierbaren logikschaltungsanordnung | |
| Bennett et al. | Supervised learning with organic memristor devices and prospects for neural crossbar arrays | |
| DE112022000497T5 (de) | Resistive speichereinheit für matrix-vektor-multiplikationen | |
| Mane et al. | Stateful-NOR based reconfigurable architecture for logic implementation | |
| Kavehei et al. | Memristor-based synaptic networks and logical operations using in-situ computing | |
| DE112021005740B4 (de) | Gemischt leitendes flüchtiges speicherelement zum beschleunigten beschreiben eines nichtflüchtigen memristiven bauelements | |
| Laiho et al. | Memristive analog arithmetic within cellular arrays | |
| DE102008042323A1 (de) | Elektronisches Bauelement mit Schalteigenschaften |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20221223 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |