METHOD AND APPARATUS PERFORMING OPERATIONS USING CIRCUITS
20210405967 · 2021-12-30
Assignee
Inventors
Cpc classification
G06F2207/4828
PHYSICS
G01R27/02
PHYSICS
G11C13/0007
PHYSICS
International classification
G01R19/165
PHYSICS
G01R27/02
PHYSICS
G04F10/00
PHYSICS
Abstract
A method of performing a predetermined operation for a circuit that includes a resistor group, one end of the resistor group being configured for connection to a power supply unit, the other end of the resistor group being configured for connection to a sampling capacitor, and a parasitic capacitance existing at each node between resistors of the resistor group. The method includes in a forward process, determining a time when a sampling capacitor voltage applied to the sampling capacitor reaches a first reference voltage as a switching time; at the switching time, connecting the sampling capacitor to a ground or predetermined voltage and floating the power supply unit; in a backward process, after the switching time, determining a time when a power supply unit voltage applied to the power supply unit reaches a second reference voltage as an end time; and performing the predetermined operation based on the end time.
Claims
1. A method of performing a predetermined operation for a circuit that includes a resistor group comprising a plurality of resistors that are connected in series, one end of the resistor group being configured for connection to a power supply unit, the other end of the resistor group being configured for connection to a sampling capacitor, and a parasitic capacitance existing at each node between the plurality of resistors, the method comprising: in a forward process, determining a time when a sampling capacitor voltage applied to the sampling capacitor reaches a first reference voltage as a switching time; at the switching time, connecting the sampling capacitor to a ground or predetermined voltage and floating the power supply unit; in a backward process, after the switching time, determining a time when a power supply unit voltage applied to the power supply unit reaches a second reference voltage as an end time; and performing the predetermined operation based on the end time.
2. The method of claim 1, wherein the first reference voltage is reduced by a predetermined percentage ratio from a direct current (DC) voltage supplied to the power supply unit, and the second reference voltage is reduced by 100 minus the predetermined percentage ratio from the DC voltage supplied to the power supply unit.
3. The method of claim 1, wherein the predetermined operation comprises a multiply-accumulate (MAC) operation or calculating a total resistance value of the resistor group, based on the end time.
4. The method of claim 3, wherein weighted inputs transmitted between nodes of a neural network is determined by the MAC operation.
5. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, configure the one or more processors to perform the method of claim 1.
6. A method of performing a predetermined operation for a circuit that includes a resistor group comprising a plurality of resistors that are connected in series, one end of the resistor group being configured for connection to a power supply unit, the other end of the resistor group being configured for connection to a sampling capacitor, a parasitic capacitance existing at each node between the plurality of resistors, the resistor group being divided into a first resistor group and a second resistor group, the first resistor group and the second resistor group being connected in parallel to each other, and a resistor arrangement order of the first resistor group being opposite to a resistor arrangement order of the second resistor group, the method comprising: determining a time when a sampling capacitor voltage applied to the sampling capacitor reaches a reference voltage as an end time; and performing the predetermined operation based on the end time.
7. The method of claim 6, wherein the reference voltage is reduced by a predetermined percentage ratio from a direct current (DC) voltage supplied to the power supply unit.
8. The method of claim 6, wherein the predetermined operation comprises a multiply-accumulate (MAC) operation or calculating a total resistance value of the resistor group, based on the end time.
9. The method of claim 8, wherein weighted inputs transmitted between nodes of a neural network is determined by the MAC operation.
10. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, configure the one or more processors to perform the method of claim 6.
11. An apparatus for performing a predetermined operation for a circuit, the apparatus comprising: a power supply unit connected to one end of the circuit; a resistor group comprising a plurality of resistors connected in series between one end of the circuit and another end of the circuit; a sampling capacitor connected in series to the plurality of resistors; a parasitic capacitance existing at each node between the plurality of resistors; a first comparator configured to, in a forward process, compare a sampling capacitor voltage applied to the sampling capacitor with a first reference voltage and output first time information of a time when the sampling capacitor voltage reaches the first reference voltage; one or more processors configured to connect the sampling capacitor to a ground or a predetermined voltage, and float the power supply unit when the first time information is output; and a second comparator configured to, in a backward process subsequent to the first time information being output, compare a power supply unit voltage applied to the power supply unit with a second reference voltage and output second time information of a time when the power supply unit voltage reaches the second reference voltage, wherein the one or more processors are further configured to perform the predetermined operation based on the second time information.
12. The apparatus of claim 11, wherein the first reference voltage is reduced by a predetermined percentage ratio from a direct current (DC) voltage supplied to the power supply unit, and the second reference voltage is reduced by 100 minus the predetermined percentage ratio from the DC voltage supplied to the power supply unit.
13. The apparatus of claim 11, wherein the predetermined operation is a multiply-accumulate (MAC) operation or calculation of a total resistance value of the resistor group, based on the second time information.
14. The apparatus of claim 13, wherein weighted inputs transmitted between nodes of a neural network is determined by the MAC operation.
15. An apparatus comprising a circuit for performing a predetermined operation, the apparatus comprising: a power supply unit connected to one end of a circuit; a resistor group comprising a plurality of resistors connected in series between one end of the circuit and another end of the circuit; a sampling capacitor connected in series to the plurality of resistors; a parasitic capacitance existing at each node between the plurality of resistors; a comparator configured to compare a sampling capacitor voltage applied to the sampling capacitor with a reference voltage and output time information of when the sampling capacitor voltage reaches the reference voltage; and one or more processors configured to perform the predetermined operation based on the time information, wherein the resistor group is divided into a first resistor group and a second resistor group, the first resistor group and the second resistor group are connected in parallel to each other, and a resistor arrangement order of the first resistor group is opposite to a resistor arrangement order of the second resistor group.
16. The apparatus of claim 15, wherein the reference voltage is reduced by a predetermined percentage ratio from a direct current (DC) voltage supplied to the power supply unit.
17. The apparatus of claim 15, wherein the predetermined operation is a multiply-accumulate (MAC) operation or calculation of a total resistance value of the resistor group, based on the time information.
18. The apparatus of claim 17, wherein weighted inputs transmitted between nodes of a neural network is determined by the MAC operation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040] Throughout the drawings and the detailed description, the same reference numerals refer to the same elements. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.
DETAILED DESCRIPTION
[0041] The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. However, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be apparent after an understanding of the disclosure of this application. For example, the sequences of operations described herein are merely examples, and are not limited to those set forth herein, but may be changed as will be apparent after an understanding of the disclosure of this application, with the exception of operations necessarily occurring in a predetermined order. Also, descriptions of features that are known after understanding of the disclosure of this application may be omitted for increased clarity and conciseness.
[0042] The features described herein may be embodied in different forms, and are not to be construed as being limited to the examples described herein. Rather, the examples described herein have been provided merely to illustrate some of the many possible ways of implementing the methods, apparatuses, and/or systems described herein that will be apparent after an understanding of the disclosure of this application.
[0043] Throughout the specification, when an element, such as a layer, region, or substrate, is described as being “on,” “connected to,” or “coupled to” another element, it may be directly “on,” “connected to,” or “coupled to” the other element, or there may be one or more other elements intervening therebetween. In contrast, when an element is described as being “directly on,” “directly connected to,” or “directly coupled to” another element, there can be no other elements intervening therebetween.
[0044] As used herein, the term “and/or” includes any one and any combination of any two or more of the associated listed items.
[0045] Although terms such as “first,” “second,” and “third” may be used herein to describe various members, components, regions, layers, or sections, these members, components, regions, layers, or sections are not to be limited by these terms. Rather, these terms are only used to distinguish one member, component, region, layer, or section from another member, component, region, layer, or section. Thus, a first member, component, region, layer, or section referred to in examples described herein may also be referred to as a second member, component, region, layer, or section without departing from the teachings of the examples.
[0046] Spatially relative terms such as “above,” “upper,” “below,” and “lower” may be used herein for ease of description to describe one element's relationship to another element as shown in the figures. Such spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, an element described as being “above” or “upper” relative to another element will then be “below” or “lower” relative to the other element. Thus, the term “above” encompasses both the above and below orientations depending on the spatial orientation of the device. The device may also be oriented in other ways (for example, rotated 90 degrees or at other orientations), and the spatially relative terms used herein are to be interpreted accordingly.
[0047] The terminology used herein is for describing various examples only, and is not to be used to limit the disclosure. The articles “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “includes,” and “has” specify the presence of stated features, numbers, operations, members, elements, and/or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, members, elements, and/or combinations thereof.
[0048] The features of the examples described herein may be combined in various ways as will be apparent after an understanding of the disclosure of this application. Further, although the examples described herein have a variety of configurations, other configurations are possible as will be apparent after an understanding of the disclosure of this application.
[0049]
[0050] In
[0051] The resistor group 110 may include a plurality of resistors that are connected in series. One end of the resistor group 110 may be connected to a power supply unit 150, and the other end of the resistor group 110 may be connected to the sampling capacitor 120.
[0052] Each of the plurality of resistors included in the resistor group 110 may be a resistive memory device. The resistive memory device may switch between different resistance states based on a voltage or current applied to both ends and may have a single or multi-layer structure, including any of the various materials: a transition metal oxide, a metal oxide such as a perovskite-based material, a phase change material such as a chalcogenide-based material, a ferroelectric material, or a ferromagnetic material. An operation in which the resistive memory device switches from a high resistance state to a low resistance state may be referred to as a set operation, and an operation in which the resistive memory device switches from a low resistance state to a high resistance state may be referred to as a reset operation.
[0053] A specific example in which each of the plurality of resistors included in the resistor group 110 operates as a resistive memory device will be further described below with reference to
[0054] The sampling capacitor 120 may be connected in series to the plurality of resistors included in the resistor group 110. As a direct current (DC) voltage is applied to the power supply unit 150, the sampling capacitor 120 may become charged. A sampling capacitor voltage V.sub.bot, corresponding to the amount of an electric charge charged in the sampling capacitor 120, may change over time based on a time constant determined by the total resistance value of the resistor group 110 and a capacitance of the sampling capacitor 120.
[0055] In further detail, the sampling capacitor voltage V.sub.bot varying with time may be expressed using Equation 1. In Equation 1, VDD denotes a DC voltage applied to the power supply unit 150, C.sub.S denotes a capacitance of the sampling capacitor 120, and R.sub.i denotes the plurality of resistors included in the resistor group 110.
[0056] In one or more embodiments, the circuit 100 may further include a comparator 130. The comparator 130 may include an operational (OP) amplifier. One input node of the comparator 130 may receive the sampling capacitor voltage V.sub.bot, and another input node of the comparator 130 may receive a reference voltage V.sub.ref.
[0057] The comparator 130 may compare the sampling capacitor voltage V.sub.bot, corresponding to the amount of an electric charge charged in the sampling capacitor 120, with the reference voltage V.sub.ref, and may then output a comparison result.
[0058] For example, in a state where the sampling capacitor 120 is charged, the comparator 130 may compare the sampling capacitor voltage V.sub.bot with the reference voltage V.sub.ref, and may generate an output signal when the sampling capacitor voltage V.sub.bot reaches the reference voltage V.sub.ref. The output signal of the comparator 130 may be transmitted to a time-to-digital converter (TDC) 140.
[0059] The TDC 140 may convert the time taken from a reference time t.sub.0 to an end time t.sub.1, when the output signal from the comparator 130 is received by the TDC 140 into a digital value, and may output the digital value.
[0060] A predetermined operation may be performed based on the digital value output from the TDC 140. In one or more embodiments, an operation result may be a multiply-accumulate (MAC) result. In another embodiment, the operation result may be a total resistance value of the circuit 900.
[0061]
[0062] In
[0063] In an initial state, all of the plurality of resistors may be in a relatively low conductivity state, that is, a high resistance state. When, at least, some of the plurality of resistors are in a low resistance state, an initialization operation for switching the resistors to a high resistance state may be additionally required.
[0064] Each of the plurality of resistors may have a predetermined threshold value required to change its resistance value and/or conductivity. In more detail, when a voltage or current whose magnitude is less than a predetermined threshold value is applied to both ends of each of the plurality of resistors, the conductivity of each of the plurality of resistors may not be changed, and contrarily, when a voltage or current whose magnitude is greater than the predetermined threshold value is applied to each of the plurality of resistors, the conductivity of each of the plurality of resistors may be changed.
[0065] In this state, in order to perform an operation of outputting specific data as a result of a column wiring 220, an input signal corresponding to the specific data may be applied to a row wiring 210. In this case, the input signal may be applied as an electrical pulse to the row wiring 210. For example, when an input signal corresponding to data ‘0011’ is applied to the row wiring 210, an electrical pulse may not be applied to the row wiring 210 corresponding to ‘0’, for example, first and second row wirings 210A and 210B, and an electrical pulse may be applied only to the row wiring 210 corresponding to ‘1’, for example, third and fourth row wirings 210C and 210D. In this case, the column wiring 220 may be driven with an appropriate voltage or current to output a result.
[0066] For example, when the column wiring 220 for outputting the specific data is already determined, some column wirings of the column wiring 220 may be driven so that a plurality of resistors located at intersections with the row wiring 210 corresponding to ‘1’ receive a voltage whose magnitude is equal to or greater than a voltage (hereinafter, referred to as a set voltage) required during a set operation, and remaining column wirings of the column wiring 220 may be driven so that remaining resistors receive a voltage whose magnitude is less than the set voltage.
[0067] For example, when a magnitude of the set voltage is Vset and a third column wiring 220C is determined as the column wiring 220 for outputting the data ‘0011’, a magnitude of an electrical pulse applied to the third and fourth row wirings 210C and 210D may be equal to or greater than the set voltage Vset and a voltage applied to the third column wiring 220C may be 0 V so that first and second synapses 231 and 232 located at intersections between the third column wiring 220C and the third and fourth row wirings 210C and 210D receive a voltage equal to or greater than the set voltage Vset. Accordingly, the first and second synapses 231 and 232 may be in a low resistance state.
[0068] Conductivities of the first and second synapses 231 and 232 in the low resistance state may gradually increase as the number of electrical pulses increases. Magnitudes and widths of applied electrical pulses may be substantially constant. A voltage applied to remaining column wirings, that is, first, second, and fourth column wirings 220A, 220B, and 220D, may have a value between 0 V and the set voltage Vset, (e.g., ½Vset), so that remaining resistors other than the first and second synapses 231 and 232 receive a voltage less than the set voltage Vset. Accordingly, resistance states of the remaining resistors other than the first and second synapses 231 and 232 may not be changed. The flow of current or electrons in this case is indicated by a dashed arrow.
[0069]
[0070] A MAC circuit 300, according to one or more embodiments, may include a plurality of input lines capable of individually receiving an input signal and a plurality of output lines capable of individually outputting an output signal. Each of the plurality of output lines may include a plurality of resistors, a sampling capacitor 320, and a comparator 330. Each of the plurality of input lines intersects a plurality of output lines.
[0071] The MAC circuit 300 of
[0072] The plurality of resistors may be arranged along the plurality of output lines and the plurality of input lines. For example, the plurality of resistors may be arranged for respective input lines along the output lines. Each of the plurality of resistors may be configured to receive a voltage through an input line in which a resistor 310 is located.
[0073] For example, resistors arranged along a j.sup.th input line 391 may be configured to receive a j.sup.th input voltage signal b.sub.j in response to a start signal. In
[0074] The plurality of capacitors may be individually arranged for respective output lines. Each of the plurality of capacitors may be connected to the comparator 330 and the other respective ends of resistors arranged along an output line, among the plurality of output lines, in which the sampling capacitor 320 is located.
[0075] Each of the plurality of capacitors may become electrically charged in response to a voltage received through corresponding resistors. For example, the sampling capacitor 320 located in an i.sup.th output line 392 may become electrically charged based on the voltage applied to resistors located in the i.sup.th output line 392.
[0076] In one or more embodiments, the plurality of capacitors may have the same capacitance. This may be due to the plurality of output lines sharing an output of a single global counter, and thus, the output lines may need to have a charge time or a discharge time of the same scale. The charge time and the discharge time may represent a scale proportional to a time constant corresponding to a capacitance and a synthetic resistance value.
[0077] The plurality of comparators may be individually arranged for respective output lines. Each of the plurality of comparators may be connected to the sampling capacitor 320 and the other ends of resistors arranged along an output line, among the plurality of output lines, in which the comparator 330 is located.
[0078] Each of the plurality of comparators may output a result obtained after comparing a sampling capacitor voltage of the sampling capacitor 320 with a reference voltage. For example, the comparator 330 located in the i.sup.th output line 392 may compare a sampling capacitor voltage of the sampling capacitor 320 located in the i.sup.th output line 392 with a reference voltage. The comparator 330 located in the i.sup.th output line 392 may output an i.sup.th count end signal STOP.sub.i, in response to a case where the sampling capacitor voltage exceeds the reference voltage.
[0079] The TDC 340 may receive count end signals of the output lines, and may convert time information into a digital value. For example, the TDC 340 may output a digital value corresponding to time information individually received for each of n output lines. The TDC 340 may output n digital values corresponding to time information. For example, the TDC 340 may generate i.sup.th time information T.sub.out,i indicating a time difference between a start time corresponding to a start signal START and an end time corresponding to the i.sup.th count end signal STOP.sub.i, in response to receiving the i.sup.th count end signal STOP.sub.i. The i.sup.th time information T.sub.out,i may be referred to as an i.sup.th charge time.
[0080] The output unit 350 may output a value mapped to the digital value generated by the TDC 340 as an output value OUTs of each output line. Accordingly, the output unit 350 may output a digital value indicating time information as the output value OUTs indicating a number corresponding to a multiplication accumulated result. For example, a MAC circuit may output the i.sup.th output value OUT.sub.i mapped to the i.sup.th time information T.sub.out,i through a mapping table (e.g., a lookup table). Because an output value is output for each output line, the output unit 350 may output n output values for n output lines.
[0081] A single global counter included in the TDC 340 will now be described.
[0082]
[0083] A configuration of the TDC 340 of
[0084] The single global counter 441 may output a digital value indicating a time elapsed after a reference time. The single global counter 441 may be connected to comparators of a plurality of output lines. For example, the single global counter 441 may count the number of clocks CLK generated from the reference time. Accordingly, the single global counter 441 may count a time (e.g., a charge time or a discharge time) elapsed from the same reference time for individual output lines in units of clocks, even when there is no additional synchronization operation.
[0085] The reference unit 442 may refer to the digital value output by the single global counter 441 at a time when a comparison result is output. The reference unit 442 may include a plurality of hold circuits that refer to a comparison result of the comparators of the plurality of output lines. Each of the plurality of hold circuits may refer to a time when a comparison result is output from a comparator included in a corresponding output line from among the plurality of output lines.
[0086] For example, an i.sup.th hold circuit corresponding to an i.sup.th output line may be connected to an output of an i.sup.th comparator. The i.sup.th hold circuit may output i.sup.th time information T.sub.out,i, in response to receiving an i.sup.th count end signal STOP.sub.i from the i.sup.th comparator. For example, each hold circuit may hold the number of clocks CLK counted by the single global counter 441 at an end time when a count end signal is received. The number of clocks CLK held at the end time may correspond to time information (e.g., charge time or discharge time information).
[0087] The single global counter 441 may count a reference clock CLK regardless of whether the plurality of hold circuits perform holding, and each of the plurality of hold circuits may operate independently of the other hold circuits. For example, even when a hold circuit holds time information corresponding to a time when a count end signal is received, the single global counter 441 may continuously count clocks CLK independent of the hold circuits.
[0088]
[0089] A sampling capacitor voltage 510 of a sampling capacitor located in an arbitrary output line may gradually increase according to a natural response corresponding to a time constant as described with reference to
[0090] In an example, a clock generator described with reference to
[0091] A hold circuit of a reference unit may hold a digital value indicating the number of clocks counted from the start time START to the end time STOP.
[0092] For example, in
[0093]
[0094]
[0095] The resistor group 610 may include a plurality of resistors that are connected in series. One end of the resistor group 610 may be connected to a power supply unit 630 and the other end of the resistor group 610 may be connected to the sampling capacitor 620.
[0096] The sampling capacitor 620 may be connected in series to the plurality of resistors included in the resistor group 610. As a DC voltage is applied to the power supply unit 630, the sampling capacitor 620 may become charged. A sampling capacitor voltage V.sub.bot, a voltage corresponding to the amount of an electric charge charged in the sampling capacitor 620, may change over time based on a time constant determined by a total resistance value of the resistor group 610 and a capacitance of the sampling capacitor 620.
[0097] In detail, the sampling capacitor voltage V.sub.bot varying with time may be expressed as in Equation 1. When at least some of the plurality of resistors included in the resistor group 610 have different resistance values but total resistance values for the plurality of resistors are the same, the sampling capacitor voltages V.sub.bot have the same time constant graph. That is, in both cases where resistors having a large resistance value are located close to the power supply unit 630 and where resistors having a small resistance value are located close to the power supply unit 630, when total resistance values for the plurality of resistors are the same, τ.sub.ideal of Equation 1 is the same, and thus the sampling capacitor voltages V.sub.bot have the same graph. This may also be confirmed through Equation 1.
[0098]
[0099]
[0100] Due to the parasitic capacitance existing in the second circuit 700, a sampling capacitor voltage V.sub.bot varying with time may be expressed as in Equation 2. Equation 2 is based on an Elmore delay model.
[0101] In Equation 2, VDD denotes a DC voltage applied to a power supply unit 730, C.sub.S denotes a capacitance of the sampling capacitor 720, and R.sub.i denotes a plurality of resistors included in the resistor group 710. Also, C.sub.p denotes a parasitic capacitance.
[0102] In Equation 1 and Equation 2, it may be found that the time constant τ.sub.real of the second circuit 700 is different from the time constant τ.sub.ideal of the first circuit 600 due to the influence of the parasitic capacitance C.sub.P.
[0103] When the total resistance values for the plurality of resistors included in the resistor group 710 are the same but, at least, some of the plurality of resistors have different resistance values, the sampling capacitor voltages V.sub.bot may have different graphs.
[0104] In further detail, in Equation 2, when total resistance values for the plurality of resistors are the same but resistors having a large resistance value are located close to the power supply unit 730, τ.sub.real increases, and thus a delay of a sampling capacitor voltage graph increases. In contrast, when resistors having a small resistance value are located close to the power supply unit 730, τ.sub.real decreases, and thus a delay of a sampling capacitor voltage graph decreases.
[0105] Assuming that total resistance values of a circuit are the same, an error does not occur when delays of sampling capacitor voltage graphs are the same, regardless of whether resistors having a large resistance value are located close to a power supply unit or located close to a sampling capacitor. However, a parasitic capacitance exists in a circuit that is actually used, and the time constant τ.sub.real varies according to whether resistors having a large resistance value are located close to a power supply unit due to the parasitic capacitance. As a result, a delay of a sampling capacitor voltage graph varies, which means that an output error occurs.
[0106]
[0107] In
[0108] A first graph 751 and a second graph 752 show the sampling capacitor voltages V.sub.bot measured by different circuits. In detail, the first graph 751 shows a case where 32 first resistors are located and then 32 second resistors are located in a direction from the power supply unit 730 to the sampling capacitor 720. The second graph 752 shows a case where 32 second resistors are located and then 32 first resistors are located in a direction from the power supply unit 730 to the sampling capacitor 720.
[0109] In the first graph 751 and the second graph 752, while the total resistance values for a plurality of resistors (32 first resistors and 32 second resistors) included in the resistor group 710 are the same, a delay of the second graph 752 is longer than a delay of the second graph 751. This is because, in this example, when compared to the first graph 751, resistors having a large resistance value are located close to the power supply unit 730 in the second graph 752.
[0110] As described with reference to
[0111] That is, the operation result output from the output unit is determined based on the end time when the sampling capacitor voltage (V.sub.bot) exceeds the reference voltage. Because a first end time of the first graph 751 and a second end time of the second graph 752 are different from each other, an operation result derived from the first graph 751 is different from an operation result derived from the second graph 752.
[0112]
[0113]
[0114] The resistor group 810 includes a plurality of resistors R.sub.1, . . . and R.sub.n that are connected in series. One end of the resistor group 810 is connected to a power supply unit 830, and the other end of the resistor group 810 is connected to the sampling capacitor 820. Also, a parasitic capacitance C.sub.P exists at each node between the plurality of resistors R.sub.1 . . . , and R.sub.n.
[0115] After the sampling capacitor 820 is reset, a DC voltage VDD is applied to the power supply unit 830.
[0116] In a forward process, a processor may determine a time when a sampling capacitor voltage V.sub.bot reaches a first reference voltage as a switching time. The processor may measure the sampling capacitor voltage V.sub.bot from the reference time. The reference time may be a time when the DC voltage VDD is applied to the power supply unit 830, or a time elapsed by a predetermined time after the DC voltage VDD is applied.
[0117] At the switching time, the processor may connect the sampling capacitor 820 to a ground or a predetermined voltage, and may float the power supply unit 830. For example, although the predetermined voltage may be 1 mV, the predetermined voltage is not limited to a specific value.
[0118] As described with reference to
τ.sub.1=(nR.sub.1(n−1)R.sub.2+ . . . +2R.sub.n-1+R.sub.n)C.sub.p+(ΣR.sub.i)C.sub.S Equation 3:
[0119] In a backward process after the switching time, the processor may determine a time when a power supply unit voltage V.sub.top reaches a second reference voltage as an end time. Due to the parasitic capacitance existing in the circuit 800, a backward delay τ.sub.2 for determining the power supply unit voltage V.sub.top of the backward process may be expressed as Equation 4.
τ.sub.2=(nR.sub.n+(n−1)R.sub.n-1+ . . . +2R.sub.2+R.sub.1)C.sub.p Equation 4:
[0120] Equation 5 may be derived by adding the forward delays and the backward delay τ.sub.2.
[0121] In Equation 5, it may be found that, when the forward delay and the backward delay τ.sub.2 are added, a final delay τ.sub.1+τ.sub.2 is affected only by a total resistance value ΣR.sub.i, the parasitic capacitance C.sub.P, and a sample capacitance C.sub.S.
[0122] That is, assuming that the parasitic capacitance C.sub.P exists in the circuit 800 and both the forward delay τ.sub.1 and the backward delay τ.sub.2 are used, when at least some of the plurality of resistors included in the resistor group 810 have different resistance values but total resistance values for the plurality of resistors are the same, end times when the power supply unit voltage V.sub.top reaches the second reference voltage are the same.
[0123] The first reference voltage that is a criterion for determining the switching time may be a value reduced by a predetermined ratio (%) from the DC voltage VDD supplied to the power supply unit 830. Also, the second reference voltage that is a criterion for determining the end time may be a value reduced by ‘−100—predetermined ratio (%)’ from the DC voltage VDD supplied to the power supply unit 830.
[0124] For example, when the DC voltage VDD is 1 V and the predetermined ratio (%) is 67%, the first reference voltage may be 0.67 V and the second reference voltage may be 0.33 V. Alternatively, when the DC voltage VDD is 1 V and the predetermined ratio (%) is 50%, the first reference voltage may be 0.5 V and the second reference voltage may be 0.5 V. In particular, when the predetermined ratio (%) is 50%, because the first reference voltage and the second reference voltage have the same value, the switching time and the end time may be determined using only one reference voltage.
[0125] The processor may perform a predetermined operation based on the end time. The processor may perform a predetermined operation based on a time required from the reference time to the end time. As described with reference to
[0126] The operation result is determined based on the end time. Assuming that both the forward delay τ.sub.1 and the backward delay τ.sub.2 are used, when at least some of the plurality of resistors included in the resistor group 810 have different resistance values but total resistance values for the plurality of resistors are the same, operation results are the same.
[0127] Even when the sample capacitance C.sub.S in Equation 5 is 0, the circuit 800 may operate. In other words, the circuit 800 may perform an operation using only the parasitic capacitance C.sub.p, without separately adding the sampling capacitor 820 to the circuit 800. The above description may be expressed as Equation 6.
τ.sub.1+τ.sub.2=(ΣR.sub.i)(n+1)C.sub.p equation 6:
[0128]
[0129] In
[0130] A first circuit corresponds to a case of 48 first resistors are located and then 16 second resistors are located in a direction from the power supply unit 830 to the sampling capacitor 820. A second circuit corresponds to a case where 16 second resistors are located and then 48 first resistors are located in a direction from the power supply unit 830 to the sampling capacitor 820.
[0131] A 1-1.sup.th graph 851a and a 1-2.sup.th graph 851b respectively show a forward direction process and a backward direction process performed in the first circuit. The 1-1.sup.th graph 851a shows a sampling capacitor voltage V.sub.bot varying with time in the forward process performed in the first circuit. The 1-2.sup.th graph 851b shows a power supply unit voltage V.sub.top varying with time in the backward process performed in the first circuit.
[0132] A 2-1.sup.th graph 852a and a 2-2.sup.th graph 852b respectively show a forward process and a backward process performed in the second circuit. The 2-1.sup.th graph 852a shows a sampling capacitor voltage V.sub.bot varying with time in the forward process performed in the second circuit. The 2-2.sup.th graph 852b shows a power supply unit voltage V.sub.top varying with time in the backward process performed in the second circuit.
[0133] In the first circuit and the second circuit, total resistance values for a plurality of resistors (48 first resistors and 16 second resistors) included in the resistor group 810 are the same.
[0134] In the forward process of the first circuit, a time when the sampling capacitor voltage V.sub.bot according to the 1-1.sup.th graph 851a reaches the first reference voltage 860 is a first switching time 851c. In the backward process after the first switching time 851c, a time when the power supply unit voltage V.sub.top according to the 1-2.sup.th graph 851b reaches the second reference voltage 870 is an end time 880.
[0135] In the forward process of the second circuit, a time when the sampling capacitor voltage V.sub.bot according to the 2-1.sup.th graph 852a reaches the first reference voltage 860 is a second switching time 852c. In the backward process after the second switching time 852c, a time when the power supply unit voltage V.sub.top according to the 2-2.sup.th graph 852b reaches the second reference voltage 870 is the end time 880.
[0136] In the forward process, it may be found that a delay of the 2-1.sup.th graph 852a is longer than a delay of the 1-1.sup.th graph 851a. This is because the 1-1.sup.th graph 851a and the 2-1.sup.th graph 852a show the sampling capacitor voltages V.sub.bot, and resistors having a large resistance value are located close to the power supply unit 830 in the 2-1.sup.th graph 852a. That is, the 1-1.sup.th graph 851a reaches the first reference voltage 860 earlier than the 2-1.sup.th graph 852a.
[0137] In the backward process, it may be found that a delay of the 2-2.sup.th graph 852b is shorter than a delay of the 1-2.sup.th graph 851b. This is because the 1-2.sup.th graph 851b and the 2-2.sup.th graph 852b show the power supply unit voltages V.sub.top, and resistors having a large resistance value are located close to the sampling capacitor 820 in the 2-2.sup.th graph 852b.
[0138] However, in both the forward process and the backward process, it may be found that the end times 880 in the first circuit and the second circuit are the same.
[0139] Results of operations performed using the first circuit and the second circuit are determined based on the end time 880. Assuming that the forward process and the backward process are performed together, when at least some of the plurality of resistors included in the resistor group 810 have different resistance values but total resistance values for the plurality of resistors are the same, results of operations performed by the first circuit and the second circuit are the same.
[0140]
[0141] In
[0142] The resistor group 910 may include a plurality of resistors R.sub.1 . . . , and R.sub.n that are connected in series. One end of the resistor group 910 may be connected to a power supply unit 950, and the other end of the resistor group 910 may be connected to the sampling capacitor 920. Also, a parasitic capacitance C.sub.P may exist at each node between the plurality of resistors R.sub.1 . . . , and R.sub.n.
[0143] In one or more embodiments, the circuit 900 may further include a first comparator 931 and a second comparator 932. Each of the first comparator 931 and the second comparator 932 may include an operational amplifier.
[0144] The first comparator 931 may output a result obtained after comparing a sampling capacitor voltage V.sub.bot with a first reference voltage V.sub.ref1. The second comparator 932 may output a result obtained after comparing a power supply unit voltage V.sub.top with a second reference voltage V.sub.ref2.
[0145] In further detail, after the sampling capacitor 920 is reset, a DC voltage VDD is applied to the power supply unit 950. In a forward process after a reference time t.sub.0, the first comparator 931 may output first time information t.sub.1 of a time when the sampling capacitor V.sub.bot reaches the first reference voltage V.sub.ref1. The reference time t.sub.0 may be a time when the DC voltage VDD is applied to the power supply unit 950, or a time elapsed by a predetermined time after the DC voltage VDD is applied.
[0146] When the first time information t.sub.1 is output, the sampling capacitor 920 is connected to a ground or predetermined voltage and the power supply unit 950 is floated.
[0147] In a backward process, the second comparator 932 may output second time information t.sub.2 of a time when a power supply unit voltage V.sub.top reaches the second reference voltage V.sub.ref2.
[0148] A TDC 940 may output a digital value based on the reference time t.sub.0 and the second time information t.sub.2. In detail, the TDC 940 may output a time difference between the reference time t.sub.0 and the second time information t.sub.2 as a digital value.
[0149] An output unit (not shown) may output an operation result mapped to the digital value output by the TDC 940. In one or more embodiments, the operation result may be a multiplication accumulated result. In another embodiment, the operation result may be a total resistance value of the circuit 900.
[0150] Although two comparators are used in
[0151]
[0152]
[0153] The circuit 1000 may include a first resistor group 1011 and a second resistor group 1012. The first resistor group 1011 and the second resistor group 1012 include a plurality of resistors R.sub.1 . . . , and R.sub.n that are connected in series. One end of the first resistor group 1011 and the second resistor group 1012 is connected to a power supply unit 1030, and the other end of the first resistor group 1011 and the second resistor group 1012 is connected to a sampling capacitor 1020. Also, a parasitic capacitance C.sub.P exists at each node between the plurality of resistors R.sub.1 . . . , and R.sub.n.
[0154] A total resistance value of the first resistor group 1011 is the same as a total resistance value of the second resistor group 1012. However, a resistor arrangement order of the first resistor group 1011 is opposite to a resistor arrangement order of the second resistor group 1012.
[0155] In detail, in
[0156] A method of performing a predetermined operation using the circuit 1000 of
[0157] After the sampling capacitor 1020 is reset, a DC voltage VDD is applied to the power supply unit 1030.
[0158] After a reference time, a processor may determine a time when a sampling capacitor voltage V.sub.bot reaches the reference voltage as an end time. The reference time may be a time when the DC voltage VDD is applied to the power supply unit 1030, or a time elapsed by a predetermined time after the DC voltage VDD is applied.
[0159] The processor may perform a predetermined operation based on the end time. The processor may perform a predetermined operation based on a time required from the reference time t.sub.0 the end time. As described with reference to
[0160] In
[0161]
[0162] The circuit may include a resistor group and a sampling capacitor. The resistor group includes a plurality of resistors that are connected in series. One end of the resistor group is connected to a power supply unit, and the other end of the resistor group is connected to the sampling capacitor. Also, a parasitic capacitance exists at each node between the plurality of resistors.
[0163] In
[0164] In operation 1120, a forward process is performed. In detail, in operation 1120, a comparator may compare a sampling capacitor voltage V.sub.bot applied to the sampling capacitor with a first reference voltage V.sub.ref1.
[0165] When the sampling capacitor voltage V.sub.bot is equal to or less than the first reference voltage V.sub.ref1, as a result obtained after comparing the sampling capacitor voltage V.sub.bot with the first reference voltage V.sub.ref1, operation 1120 is repeatedly performed.
[0166] When the sampling capacitor voltage V.sub.bot exceeds the first reference voltage V.sub.ref1, as a result obtained after comparing the sampling capacitor voltage V.sub.bot with the first reference voltage V.sub.ref1, the method proceeds to operation 1130
[0167] In operation 1130, the sampling capacitor is connected to a ground or predetermined voltage, and the power supply unit is floated.
[0168] In operation 1140, a backward process is performed. In detail, in operation 1140, the comparator may compare a power supply unit voltage V.sub.top applied to the power supply unit with a second reference voltage V.sub.ref2.
[0169] When the power supply unit voltage V.sub.top is equal to or greater than the second reference voltage V.sub.ref2, as a result obtained after comparing the power supply unit voltage V.sub.top with the second reference voltage V.sub.ref2, operation 1140 is repeatedly performed.
[0170] When the power supply unit voltage V.sub.top is less than the second reference voltage V.sub.ref2, as a result obtained after comparing the power supply unit voltage V.sub.top with the second reference voltage V.sub.ref2, the method proceeds to operation 1150. A time when the power supply unit voltage V.sub.top reaches the second reference voltage V.sub.ref2 is an end time.
[0171] In operation 1150, the comparator may output time information corresponding to the end time.
[0172] A processor may perform a predetermined operation based on the time information corresponding to the end time. In one or more embodiments, the processor may perform a MAC operation based on the time information corresponding to the end time. In another embodiment, the processor may calculate a total resistance value of the circuit based on the time information corresponding to the end time.
[0173]
[0174] The circuit may include a resistor group and a sampling capacitor. The resistor group includes a plurality of resistors that are connected in series. One end of the resistor group is connected to a power supply unit, and the other end of the resistor group is connected to the sampling capacitor. Also, a parasitic capacitance exists at each node between the plurality of resistors.
[0175] In
[0176] The processor may measure the sampling capacitor voltage from a reference time. The reference time may be a time when a DC voltage VDD is applied to the power supply unit, or a time elapsed by a predetermined time after the DC voltage VDD is applied.
[0177] In operation 1220, at the switching time, the processor may connect the sampling capacitor to a ground or predetermined voltage and may float the power supply unit.
[0178] In operation 1230, a backward process is performed. In detail, the processor may determine a time when a power supply unit voltage applied to the power supply unit reaches a second reference voltage as an end time, in the backward process after the switching time.
[0179] The first reference voltage of operation 1210 may be a value reduced by a predetermined ratio (%) from the DC voltage supplied to the power supply unit. Also, the second reference voltage of operation 1230 may be a value reduced by ‘100—the predetermined ratio (%)’ from the DC voltage supplied to the power supply unit.
[0180] In operation 1240, the processor may perform a predetermined operation based on the end time.
[0181] The processor may perform a MAC operation or may calculate a total resistance value of the resistor group, based on the end time.
[0182] Assuming that the forward process and the backward process are performed together, when at least some of the plurality of resistors included in the resistor group have different resistance values but total resistance values for the plurality of resistors are the same, operation results are the same.
[0183]
[0184] A neural network 1300 may correspond to a deep neural network (DNN). The DNN may include a fully connected network, a deep convolutional network, and a recurrent neural network. The neural network 1300 may perform object classification, object recognition, speech recognition, image recognition, etc. by mapping input data and output data having a nonlinear relationship therebetween based on deep learning. The deep learning that is a machine learning method for solving limitations for image or speech recognition from big data sets may map input data and output data through supervised learning or unsupervised learning.
[0185] Although hidden layers include two layers for convenience of explanation in
[0186] An output of an activation function regarding weighted inputs of artificial nodes included in a previous layer may be input to each artificial node included in the hidden layers. The weighted inputs are obtained by multiplying a weight by an input of the artificial nodes included in the previous layer. The weight may be referred to as a parameter of the neural network 1300. The activation function may include a sigmoid, a hyperbolic tangent (tanh), and a rectified linear unit (ReLU), and non-linearity may be formed in the neural network 1300 due to the activation function. The weighted inputs of the artificial nodes included in the previous layer may be input to each artificial node included in the output layer.
[0187] The above-described MAC circuit may be applied to in-memory computing for driving a deep learning algorithm. For example, weighted inputs transmitted between nodes of the neural network 1300 may be calculated using a MAC operation that repeatedly performs multiplication and addition. An output of an arbitrary node (e.g., an i.sup.th node 1321) of the neural network 1300 may be expressed as in Equation 7.
y.sub.i=f(Σ.sub.j=1.sup.mw.sub.j,ix.sub.j) Equation 7:
[0188] Equation 7 may represent an output value y.sub.i of the i.sup.th node 1321 for m input values in an arbitrary layer. x.sub.j may denote a j.sup.th input value (e.g., a node value) of a previous layer, and w.sub.j,i may denote the j.sup.th input value and a weight applied to the i.sup.th node 1321. f( ) may denote an activation function. As shown in Equation 7, a multiplication accumulated result of the node value x.sub.j and the weight w.sub.j,i may be used for the activation function. In other words, a memory access operation of loading the node value x.sub.j and the weight w.sub.j,i at a desired time and a MAC operation of multiplying and adding the node value x.sub.j and the weight w.sub.j,i may be repeatedly performed.
[0189] According to one or more embodiments, a plurality of resistors of a MAC circuit may have resistance connected to a connection weight of a connection line for connecting a plurality of nodes, in the neural network 1300 including one or more layers including the plurality of nodes. An input voltage signal provided along input lines in which the plurality of resistors are located may represent a value corresponding to the node value x.sub.j. Accordingly, the MAC circuit may perform at least some of operations required to implement the neural network 1300. For reference, resistance values of the resistors in the MAC circuit may not be fixed, and may be changed to a resistance value corresponding to a weight stored in a memory as described above.
[0190] However, the application of the MAC circuit according to an embodiment is not limited thereto, and the MAC circuit may also be applied to an operation for rapidly processing a plurality of input data using analog circuit characteristics with low power.
[0191] The MAC circuit according to one or more embodiments may have a low power structure combined with an analog adder to digital conversion circuit of an in-memory computing structure using a TDC. As described above, the MAC circuit may calculate a plurality of column data (e.g., data corresponding to output lines) using one TDC, furthermore, a single global counter. This is because a start signal START is synchronized, and thus only a count value corresponding to an end signal STOP may be independently referenced for each column. Accordingly, parallel operations of all arrays in in-memory computing may be covered by one TDC.
[0192] In an existing analog-to-digital conversion (ADC) structure, because ADC is required for each individual column and a complex structure is required to increase bit precision, required power and area are large. However, because a TDC structure such as a MAC circuit according to one or more embodiments digitizes an addition value using a simple counter, a circuit is simple. Also, because all array operations are covered by a single TDC, power consumption and size may be reduced.
[0193] The embodiments may be implemented as a recording medium including instructions that may be executed in computers, e.g., a program module executed in computers. The computer-readable medium may include any usable medium that may be accessed by computers, volatile and non-volatile media, and separable and non-separable media. Also, the computer-readable medium may include a computer storage medium and a communication medium. Examples of the computer storage medium include all volatile and non-volatile media and separable and non-separable media, which have been implemented by an arbitrary method or technology, for storing information such as computer-readable instructions, data structures, program modules, or other data. The communication medium typically includes computer-readable instructions, a data structure, a program module, other data of a modulated data signal, or another transmission mechanism, and an example thereof includes an arbitrary information transmission medium.
[0194] Also, the term “unit” used herein may be a hardware component such as a processor or a circuit and/or a software component executed by a hardware component such as a processor.
[0195] While the present disclosure has been particularly shown and described with reference to embodiments thereof, it will be understood by one of ordinary skill in the art that various changes in form and details may be easily made therein without departing from the spirit or essential characteristics of the present disclosure. Hence, it will be understood that the embodiments described above are not limiting of the scope of the present disclosure. For example, each component described in a single type may be executed in a distributed manner, and components described distributed may also be executed in an integrated form.
[0196] According to the solution to the technical problems of the present disclosure, an operation error occurring due to a parasitic capacitance existing in a circuit may be reduced.
[0197] According to solutions to technical problems of the disclosure, because a forward process and a backward process are sequentially performed in a circuit in which a parasitic capacitance exists, when at least some of a plurality of resistors in the circuit have different resistance values but total resistance values for the plurality of resistors are the same, the same operation result may be obtained.
[0198] The circuit 100, 300, 600, 700, 800, 1000, resistor group 110, sampling capacitor 120, 320, power supply unit 150, 730, MAC circuit 300, sampling capacitor 320, comparator 330, TDC 340, output unit 350, single global counter 441, reference unit 442, first circuit 600, resistor group 610, sampling capacitor 620, circuit 800, resistor group 810, and neural network 1300 in
[0199] The methods illustrated in
[0200] Instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above may be written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the one or more processors or computers to operate as a machine or special-purpose computer to perform the operations that are performed by the hardware components and the methods as described above. In one example, the instructions or software include machine code that is directly executed by the one or more processors or computers, such as machine code produced by a compiler. In another example, the instructions or software includes higher-level code that is executed by the one or more processors or computer using an interpreter. The instructions or software may be written using any programming language based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions in the specification, which disclose algorithms for performing the operations that are performed by the hardware components and the methods as described above.
[0201] The instructions or software to control computing hardware, for example, one or more processors or computers, to implement the hardware components and perform the methods as described above, and any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media. Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid-state disks, and any other device that is configured to store the instructions or software and any associated data, data files, and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files, and data structures to one or more processors or computers so that the one or more processors or computers can execute the instructions. In one example, the instructions or software and any associated data, data files, and data structures are distributed over network-coupled computer systems so that the instructions and software and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by the one or more processors or computers.
[0202] While this disclosure includes specific examples, it will be apparent after an understanding of the disclosure of this application that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner, and/or replaced or supplemented by other components or their equivalents. Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.