This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2017-101952, filed on May 23, 2017, the entire contents of which are incorporated herein by reference.
Embodiments of the present invention relate to an information processing device, a semiconductor device, and an information processing method.
Recently, artificial intelligence (AI) has attracted attention. However, it is necessary to perform learning using a large amount of data and operation processing using learning results and an operation processing amount becomes enormous. Therefore, researches are under way to realize at least a part of processing of AI with hardware. In the operation processing of AI, a product-sum operation is performed many times. For this reason, hardware that performs the product-sum operation at a high speed with low power consumption is required.
According to one embodiment, an information processing device has a digital-to-pulse converter which outputs a pulse signal including a pulse having a pulse length in accordance with a digital input signal, and a selective oscillator which performs an oscillation operation while the pulse of the pulse signal is output and holds an oscillation operation state at a point of time where the output of the pulse is stopped.
Hereinafter, embodiments will be described with reference to the drawings. In the present specification and the accompanying drawings, some components are omitted, changed, or simplified for ease understanding and illustration. However, this embodiment should be interpreted to include technical contents to the extent that the same functions can be expected.
The information processing device 1 of
The digital-to-pulse converter 2 outputs a pulse signal including a pulse having a pulse length in accordance with a digital input signal. For example, when the digital input signal is 1, the digital-to-pulse converter 2 outputs a pulse signal including a pulse having a pulse length of 1 ns and when the digital input signal is 4, the digital-to-pulse converter 2 outputs a pulse signal including a pulse having a pulse length of 4 ns.
When the trigger signal changes from low to high at time t1 in
The selective oscillator 3 performs an oscillation operation while the pulse of the pulse signal is output and holds an oscillation operation state at a point of time where the output of the pulse is stopped. For example, the selective oscillator 3 performs an oscillation operation only while an enable signal is high, stops oscillation while the enable signal is low, and stores an oscillation operation state in a state where the enable signal is switched from high to low. Here, the oscillation operation state is, for example, the number of oscillations and the phase state of the oscillation signal.
The reading unit 4 outputs a digital output signal including the oscillation operation state. That is, the reading unit 4 outputs a digital output signal including information of the number of oscillations and the phase state of the oscillation signal of the selective oscillator 3. The reading unit 4 is not an essential component in the information processing device 1 of
The ring oscillator 8 has a plurality of delay elements 8a connected in a ring shape and sequentially transmits an initial pulse signal by the plurality of delay elements 8a. The number of connection stages of the delay elements 8a in the ring oscillator 8 is an odd number. Each delay element 8a is, for example, an inverter.
The plurality of switches 9 switch whether or not to cause the plurality of delay elements 8a to perform a delay operation. Each switch 9 switches whether or not to supply a power supply voltage to the corresponding delay element 8a, for example.
Hereinafter, the case where each switch 9 supplies the power supply voltage to the corresponding delay element 8a is called turned on and the case where each switch 9 does not supply the power supply voltage to the corresponding delay element 8a is called turned off. When the corresponding switch 9 is turned on, each delay element 8a delays an output signal of the delay element 8a at the previous stage and outputs the output signal and when the corresponding switch 9 is turned off, each delay element 8a stops a propagation delay operation of a signal. All the switches 9 are turned on or off in synchronization with each other. In other words, a situation where a part of the switches 9 is turned on and the other switches 9 are turned off does not occur.
Thereafter, when the second digital input signal (=9) is input (time t3), the digital-to-pulse converter 2 outputs a pulse signal including a pulse having a pulse length corresponding to the delay amount of the nine delay elements 8a. While the pulse having this pulse length is output, all the switches 9 are turned on and the power supply voltage is supplied to all the delay elements 8a. Therefore, the initial pulse signal held by the second delay element 8a from the left is propagated in order by the nine delay elements 8a. Because there are the six delay elements 8a from the second delay element 8a to the rightmost delay element 8a, all the switches 9 are turned off at time t4 when the initial pulse signal propagated from the rightmost delay element 8a to the leftmost delay element 8a is propagated to the third delay element 8a from the left. Therefore, the initial pulse signal is held by the third delay element 8a from the left.
As such, the information processing device 1 of
As a result of executing the integration processing of the plurality of digital input signals as in the example shown in
As such, the information processing device 1 shown in
The information processing device 1 according to this embodiment is assumed to be configured by hardware. However, for example, a processor may read and execute a microcode generated in accordance with a predetermined algorithm.
When a digital input signal is input to the digital-to-pulse converter 2 (step S1), the digital-to-pulse converter 2 generates a pulse signal including a pulse having a pulse length in accordance with the digital input signal (step S2). The selective oscillator 3 generates an initial pulse signal before and after the processing of steps S1 and S2 and resets the ring oscillator 8 in the selective oscillator 3 (step S3).
When the pulse signal generated in step S2 is input to the selective oscillator 3, the plurality of switches 9 are turned on by a period of the pulse length of the pulse signal and the ring oscillator 8 propagates the initial pulse signal by the pulse length of the pulse signal (step S4). At this time, when the initial pulse signal goes around the ring oscillator 8, the counter 10 is counted up.
When the period of the pulse length of the pulse signal generated in step S2 elapses, the plurality of switches 9 are turned off and the delay element 8a having output the initial pulse signal finally in the ring oscillator 8 holds that state (step S5).
Next, it is determined whether or not a new digital input signal has been input to the digital-to-pulse converter 2 (step S6). When the new digital input signal has not input, the reading unit 4 outputs a digital output signal including a phase state indicating the type of the delay element 8a holding the initial pulse signal and the number of oscillations of the ring oscillator 8 represented by the count value of the counter 10 and ends the processing (step S7).
When the new digital input signal is input to the digital-to-pulse converter 2 in step S6, similar to step S2, a pulse signal including a pulse having a pulse length in accordance with the new digital input signal is generated (step S8). When the pulse signal generated in step S8 is input to the selective oscillator 3, the plurality of switches 9 are turned on by the period of the pulse length of the pulse signal and the ring oscillator 8 propagates the initial pulse signal by the pulse length of the new pulse signal from the delay element 8a holding the initial pulse signal finally (step S9). When the period of the pulse length of the pulse signal generated in step S8 elapses, the processing is executed again from step S5.
As such, in the first embodiment, the pulse signal including the pulse having the pulse length in accordance with the digital input signal is generated by the digital-to-pulse converter 2 and in the selective oscillator 3 to which the pulse signal is input, the oscillation operation is performed while the pulse of the pulse signal is output and the oscillation operation state at a point of time where the output of the pulse is stopped is held. Therefore, it is possible to perform integration and sum operations of a plurality of digital input signals with a simple circuit configuration. In particular, in the first embodiment, the plurality of digital input signals are sequentially input to the digital-to-pulse converter 2, so that integration and sum operations are performed using the same selective oscillator 3. Therefore, even if the number of digital input signals to be operated increases, the configuration of the information processing device 1 does not become complicated, so that integration and sum operations of a large number of digital input signals can be performed by the information processing device 1 having the simple circuit configuration.
In a second embodiment, a product-sum operation is performed.
As a method of performing an operation of the formula (2), weighting of each digital input signal is performed by the digital-to-pulse converter 2 in the information processing device 1 of
The digital-to-pulse converter 2 of
As shown in a lower part of
As shown in an upper part of
In the variable delayer 5 of
The number of bits of the digital input signal and the weight signal is not necessarily limited to 2 bits. The circuit configuration of the variable delayer 5 of
The pulse signal converted by the digital-to-pulse converter 2 of
As such, in the second embodiment, because the digital input signal is weighted by the weight signal corresponding to the digital input signal, a product-sum operation can be performed by the digital-to-pulse converter 2. In addition, because weighting of the digital input signal is performed by the plurality of delay circuits and the multiplexer, it is not necessary to provide a multiplication circuit having a complicated configuration.
In the second embodiment, because a digital input signal and a weight signal are integrated by a digital-to-pulse converter 2, a pulse length of a pulse signal input to a selective oscillator 3 increases when the weight signal is large. As a result, the number of oscillations of the selective oscillator 3 increases and it takes time to execute operation processing. A third embodiment described below solves this problem.
As shown in
As seen from the formula (3), the oscillation frequency is changed by the number N of all the unit delay elements 8d in the ring oscillator 8 and the delay amount tiny of each unit delay element 8d. For example, when the digital input signal DIN is 9, the number of oscillations in N=3 is 3, the number of oscillations in N=5 is 9/5=1.8, and integration in accordance with the number of connection stages of the unit delay elements 8d is performed. For example, when the weight signal is large, a value of N is decreased, so that the oscillation frequency of the ring oscillator 8 becomes high, and the product-sum operation can be performed more quickly.
As such, in the third embodiment, the oscillation frequency of the ring oscillator 8 is variably controlled in accordance with the weight signal. Therefore, even if the weight signal increases, it does not take time to perform the product-sum operation in the selective oscillator 3. As a method of changing the oscillation frequency of the ring oscillator 8, not only a method of changing the number of stages but also a general method of a digitally controlled oscillator (DCO) can be used. For example, to change the oscillation frequency, a variable capacity load controlled by a digital signal is added to each inverter output, so that the delay amount tiny of the formula (3) is changed, and the oscillation frequency can be controlled. In addition, a driving current is controlled by using a current driving type inverter, so that the delay amount tiny is changed, and the oscillation frequency freq can be controlled.
In a fourth embodiment described below, a product-sum operation is performed on output signals of reading units 4.
A pulse signal of a corresponding weight signal is input to each set of selective oscillator 3. Each set of selective oscillator 3 performs an oscillation operation by a period of a pulse length of the input pulse signal. Each set of reading unit outputs a digital output signal including an oscillation operation state of the corresponding selective oscillator 3.
A corresponding multiplier (weighting unit) 17 is connected to each set of reading unit 4. Each set of multiplier 17 executes processing for multiplying a corresponding digital output signal by a corresponding weight signal. Multiplication results of the individual multipliers 17 are added by an adder (synthesizer) 18 and a final product-sum operation result is obtained.
As such, in the fourth embodiment, because the product-sum operation processing is executed at the subsequent stage side of the reading unit 4, operation processing time of the selective oscillator 3 is not changed by the weight signal. In addition, the internal configuration of the selective oscillator 3 can be simplified as compared with the third embodiment.
In a fifth embodiment, a digital input signal input to a digital-to-pulse converter 2 is weighted.
As such, because weighting processing of the digital input signal is executed at the previous stage side of the digital-to-pulse converter 2, the product-sum operation can be performed even if a configuration at stages after the digital-to-pulse converter 2 is equalized to that in
At least two or more weighting processing among the weighting processing of
In the first to fifth embodiments described above, integration processing of a digital input signal not having a sign has been described. However, when the digital input signal has the sign, after integration processing is executed for each sign, a difference thereof may be operated.
Both the positive operation circuit 22 and the negative operation circuit 23 have the same circuit configuration. For example, each of the positive operation circuit 22 and the negative operation circuit 23 has a digital-to-pulse converter 2, a selective oscillator 3, and a reading unit 4 of
As such, in the information processing device 1 of
The subtracter 24 outputs a signal obtained by subtracting the output signal of the negative operation circuit 23 from the output signal of the positive operation circuit 22. By the output of the subtracter 24, a product-sum operation result taking the sign into consideration is obtained.
As such, in the sixth embodiment, the product-sum operation on the positive digital input signal and the product-sum operation on the negative digital input signal are performed individually and then the difference thereof is taken, so that the product-sum operation taking the sign into consideration can be performed. As a result, the positive operation circuit 22 and the negative operation circuit 23 can be configured to have a common circuit configuration.
A digital input signal and a weight signal are binary values, but may be represented as values changing with the power of 2 as a unit. For example, digital input signals 000=0, 001=1, 010=2, 011=4, and 100=8 may be used. If a value represented by the power of 2 is expressed in the logarithm log 2, the value becomes a value increasing by 1, handling is convenient, and a design of a variable delayer 5 can be simplified.
On the other hand, the digital input signal and the weight signal may be values that change by the same value. As a result, an interval of the values of the respective signals can be kept constant and a more accurate operation can be performed.
By arranging a plurality of information processing devices 1 described in the first to seventh embodiments described above and operating the information processing devices 1 in parallel, a product-sum operation core having a parallel product-sum operation function with high operation capability can be constructed.
A brain-type neural network system may be constructed by using the product-sum operation core 25 shown in
As such, in the eighth embodiment, the plurality of information processing devices 1 described in the first to seventh embodiments are provided, so that product-sum operations in various applications can be performed.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2017-101952 | May 2017 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5331294 | Watanabe | Jul 1994 | A |
9361577 | Miyashita | Jun 2016 | B2 |
Entry |
---|
Daisuke Miyashita et al., “An LDPC Decoder With Time-Domain Analog and Digital Mixed-Signal Processing,” IEEE Journal of Solid State Circuits, vol. 49, No. 1, 2014, pp. 11. |
Matthew Z. Straayer et al., “A Multi-Path Gated Ring Oscillator TDC With First-Order Noise Shaping,” IEEE Journal of Solid State Circuits, vol. 44, No. 4, 2009, pp. 10. |
Number | Date | Country | |
---|---|---|---|
20180343004 A1 | Nov 2018 | US |