本公开涉及乘法累加装置和乘法累加方法。
背景技术:
近年来,已经提出了各种神经网络计算电路。
例如,专利文献1公开了用于在包括rc电路和比较器的时间轴模拟乘法累加电路中基于来自比较器的信号输出的上升定时执行计算的技术。
引用列表
专利文献
专利文献1:wo2018/034163a
技术实现要素:
技术问题
然而,在上述常规技术中,来自前一级中的乘法累加器的输出被直接输出到后一级中的乘法累加器。在这种情况下,来自比较器的每个信号输出的定时减少,并且可能难以确定输出信号的定时。
因此,本公开提出了能够扩展信号输出的定时的乘法累加装置和乘法累加方法。
问题的解决方案
为了解决上述问题,一种乘法累加装置包括:比较单元,将由存储在存储单元中的电荷产生的电压与阈值电压进行比较,并且在电压超过阈值电压的定时输出输出信号;以及控制电路,基于预定的设置值减少从连接至存储单元的多个输入单元到存储单元的充电电流。
发明的有益效果
根据本公开,可以扩展信号输出的定时。注意,这里所述的效果不必受限制,并且可以是本公开所述的任何效果。
附图说明
[图1]是示出乘法累加装置的示意图。
[图2]是乘法累加装置的乘法累加器的示意图。
[图3]是示出乘法累加器的配置的示例的示图。
[图4]是用于说明乘法累加器的输出定时的示图。
[图5]是用于说明乘法累加器的各条输出定时的分布的示图。
[图6]是示出根据本公开的第一实施方式的乘法累加装置的乘法累加器的示例的示图。
[图7]是示出作为充电量的时间变化的充电曲线的示例的示图。
[图8]是示出用于减少充电电流的输入单元的输出模式的示例的示图。
[图9]是用于说明充电期间的电流和阈值电压的示图。
[图10]是用于说明第一限幅电路的操作的示图。
[图11]是示出在第一限幅电路中指定的限幅下限与输入到第一限幅电路的输入信号之间的关系的示图。
[图12]是用于说明第二限幅电路的操作的示图。
[图13]是示出在第二限幅电路中指定的限幅下限与输入到第二限幅电路的输入信号之间的关系的示图。
[图14]是用于说明对输入信号进行限幅的效果的示图。
[图15]是用于说明对输入信号进行限幅的效果的示图。
[图16]是示出根据本公开的第一实施方式的乘法累加装置的乘法累加器的修改示例的示例的示图。
[图17]是示出根据本公开的第二实施方式的乘法累加装置的乘法累加器的示例的示图。
具体实施方式
下面将参考附图给出本公开的实施方式的详细描述。注意,在以下的相应实施方式中,对相同的部分给出相同的参考数字,并将省略重复的描述。
此外,本公开将按照以下项目顺序进行描述。
1.概述
1-1.乘法累加装置的概述
1-2.乘法累加器的概述
1-3.乘法累加装置的网络配置
2.第一实施方式
2-1.根据第一实施方式的乘法累加装置的乘法累加器的配置
2-2.充电量和阈值电压的设置
2-3.限幅电路
2-4.根据第一实施方式的乘法累加器的修改示例
3.第二实施方式
3-1.根据第二实施方式的乘法累加装置的乘法累加器的配置
(1.概述)
[1-1.乘法累加装置的概述]
首先,将给出应用了本公开的每个实施方式的乘法累加装置10的概述的描述。根据本公开的每个实施方式的乘法累加装置10的每个乘法累加器11将负载(权重)wi与n个电信号ii中的每一个相关联,并且导出n个乘法值的和,每个乘法值通过将成对的电信号ii与负载wi的每个值彼此相乘而获得。这里,n是2或更大的自然数,并且i是n或更小的自然数。
假设由电信号ii(在下文中,也简称为电信号)表示的值是xi,并且在预定时间段t1内将n个电信号提供给一个乘法累加器11。在这种情况下,由乘法累加器11获得的n个乘法值的和由以下等式(1)表示。
如图1所示,乘法累加装置10具有在多个层中的每一层中设置多个乘法累加器11的结构。最低层中的多个乘法累加器11中的每一个基于由从多个外部输入单元12给出的n个电信号(例如,脉冲信号)表示的值xi和施加至相应电信号的负载wi获得计算目标值。然后,乘法累加器11中的每一个将表示计算目标值的电信号发送至上层的乘法累加器11。注意,在本公开中,负载wi的大小、电信号xi的大小以及电信号xi和负载wi的乘法累加的输出的位精度不受特别限制。具体地,负载wi的大小、电信号xi的大小以及电信号xi和负载wi的乘法累加的输出的位精度彼此独立地确定。例如,用户可以为每个值选择从二进制到多个值的各种值。因此,用户仅需要考虑乘法累加装置10的性能、成本等之间的平衡来设置每个值。即,用户可以任意地设置每个值。
上层中的这样的乘法累加器11各自将负载wi单独地与从下层中的多个乘法累加器11发送的电信号的值相关联,并且获得计算目标值。然后,上层中的乘法累加器11中的每一个将表示计算目标值的电信号发送到另一上层中的乘法累加器11。根据本公开的每个实施方式的乘法累加装置10被设计为可应用于神经网络。这样的乘法累加装置10基于由下层中的乘法累加器11获得的计算目标值多次执行由上层中的乘法累加器11获得计算目标值的处理。因此,乘法累加装置10执行图像识别处理等。
[1-2.乘法累加器的概述]
参考图2,将给出作为乘法累加器11的概述的乘法累加器11a的配置和处理的描述。这里,将在电信号xi是0以上且1以下的变量的假设下给出描述。注意,尽管在负载wi中存在作为正值的正负载wi+和作为负值的负负载wi-,但是这里将在负载的正与负之间不存在区别的假设下给出描述。
如图2所示,乘法累加器11a包括n个输入单元13、存储单元14、比较单元18和阈值电源19。
n个输入单元13彼此并联连接。输入单元13中的每一个将负载wi与在预定时间段t1内给出的电信号相关联,并且输出具有与通过将电信号xi和负载wi彼此相乘而获得的值相对应的大小的电荷。此外,如图2所示,每个输入单元13包括输入端子15、电阻器16和二极管17。输入端子15、电阻器16和二极管17彼此串联连接。在每个输入单元13中,例如,每个输入端子15在时间段t1内的不同定时被提供相同大小的电信号。
存储单元14连接至每个输入单元13并且存储从每个输入单元13输出的电荷。存储单元14例如是电容器。
在乘法累加器11a的外部,时间段t1的长度被定义为tin,并且使用以下等式(2),由此,由电信号表示的值xi被转换为给出电信号时的定时ti。即,电信号在定时ti被输入到输入端子15。
ti=tin(1-xi)(2)
假设从给定电信号时的定时ti生成并且与时间t的推移成比例地增加或减小的波形被定义为响应波形w,从每个输入单元13提供给存储单元14的电荷量pi(t)可以由响应波形w的大小表示。假设响应波形w相对于时间t的推移的斜率被定义为ki,则可以使用以下等式(3)将负载wi转换为ki。
ki=λwi(3)
这里,假设通过将所有响应波形w彼此相加而获得的波形被定义为复合波形tw,则复合波形tw的大小是p1(t)、p2(t)、p3(t)、…和pn(t)的总和。这等于由存储单元14产生的电压。这里,保持在存储单元14中的电压被定义为vn(t)。
比较单元18将阈值与输入到其的信号彼此进行比较,并且当输入信号超过阈值时输出阶跃波形。比较单元18例如是比较器。比较单元18连接至存储单元14和阈值电源19。
阈值电源19将阈值电压提供给比较单元18。这里,阈值电压的大小被定义为θ。在这种情况下,比较单元18在保持在存储单元14中的电压vn(t)超过阈值θ的定时输出阶跃波形。假设vn(t)达到阈值θ的定时被定义为tv,则获得以下等式(4)。
然后,假设负载wi的总和被定义为β,则β可以由以下等式(5)表示。
然后,从等式(2)到等式(5),乘法累加器11a的计算目标值可以由以下等式(6)表示。
这里,假设所有负载wi都是正值。在这种情况下,当由提供给每个输入端子15的电信号表示的值xi是最小值0时,等式(6)的左侧变为0,使得tv的定时变为最晚。定时tvmin可以由以下等式(7)表示。
等式(6)的左侧为0的事实意味着从比较单元18输出阶跃波形的定时是最晚的。
另一方面,当由提供给每个输入端子15的电信号表示的值xi是最大值1时,等式(6)的左侧变为β,使得tv的定时变为最早。定时tvmax由以下等式(8)表示。
等式(6)的左侧为β的事实意味着从比较单元18输出阶跃波形的定时是最早的。因此,根据等式(7)和等式(8),从比较单元18输出阶跃波形期间的时间段t2为[tvmax,tvmin],并且时间段t2的时间长度tv可以由以下等式(9)给出。
因此,从比较单元18输出阶跃波形期间的时间段t2的时间长度tv变得等于电信号被提供给每个输入单元13期间的时间段t1的时间长度tin。
为了将提供给相应输入单元13的所有电信号反映到乘法累加器11a的计算目标值,时间段t2需要存在于时间段t1及时间段t1之后,并且θ需要为适当的值。为此目的,需要以下等式(10)所示的条件。
根据等式(8),等式(10)可以被变换为以下等式(11)。
θ>λβtin(11)
这里,当定义微小量的ε(>0)时,可以使用ε通过以下等式(12)来表示阈值θ。
θ=(1+ε)λβtin(12)
根据等式(12),阈值θ需要与负载wi的总和β和时间段t1的长度tin的乘积成比例。
从等式(7)和等式(12)获得以下等式(13),并且从等式(8)和等式(12)获得以下等式(14)。
因此,时间段t2的时间范围可以由等式(13)和等式(14)表示。
参考图3,将给出乘法累加器的描述,该乘法累加器在将负载wi区分为正负载wi+和负负载wi-的同时获得计算目标值。图3是示出在将负载wi区分为正负载wi+和负负载wi-的同时获得计算目标值的乘法累加器的配置的示例的示图。
对于在时间段t1中给出的n个电信号,乘法累加器11a将wi+与n+个电信号中的每一个相关联(n+是n或更小的自然数)。乘法累加器11a将wi-的绝对值与(n-n+)个电信号中的每一个相关联。这样的乘法累加器11a包括第一乘法累加器11aa、第二乘法累加器11ab和计算单元20。
如图3所示,第一乘法累加器11aa包括n+个第一输入单元13a、第一存储单元14a、第一比较单元18a和第一阈值电源19a。
第一输入单元13a彼此并联连接。第一输入单元13a中的每一个将负载wi+与在预定时间段t1内给出的电信号相关联,并且输出电压随着时间的推移而变化的响应波形。此外,如图3所示,每个第一输入单元13a包括第一输入端子15a、第一电阻器16a和第一二极管17a。第一输入端子15a、第一电阻器16a和第一二极管17a彼此串联连接。在每个第一输入单元13a中,例如,每个第一输入端子15a在时间段t1内的不同定时被提供相同电压的电信号。
第一存储单元14a连接至每个第一输入单元13a并且存储从每个第一输入单元13a输出的电荷。第一存储单元14a例如是电容器。
第一比较单元18a将第一阈值与输入到其的信号彼此进行比较,并且当输入信号超过第一阈值时(在下文中,称为第一定时)输出阶跃波形。第一比较单元18a例如是比较器。第一比较单元18a连接至第一存储单元14a和第一阈值电源19a。
第一阈值电源19a将第一阈值电压提供给第一比较单元18a。这里,第一阈值电压的大小被定义为θ+。在这种情况下,第一比较单元18a在保持在第一存储单元14a中的电压超过第一阈值θ+的定时输出阶跃波形。
如图3所示,第二乘法累加器11ab包括(n-n+)=n-个第二输入单元13b、第二存储单元14b、第二比较单元18b和第二阈值电源19b。
第二输入单元13b彼此并联连接。第二输入单元13b中的每一个将负载wi-与在预定时间段t1内给出的电信号相关联,并且输出电压随着时间的推移而变化的响应波形。此外,如图3所示,每个第二输入单元13b包括第二输入端子15b、第二电阻器16b和第二二极管17b。第二输入端子15b、第二电阻器16b和第二二极管17b彼此串联连接。在每个第二输入单元13b中,例如,每个第二输入端子15b在时间段t1内的不同定时被提供相同大小的电信号。即,在n+个电信号被提供给n+个第一输入单元13a期间的时间段与n-个电信号被提供给n-个第二输入单元13b期间的时间段一致。
第二存储单元14b连接至每个第二输入单元13b并且存储从每个第二输入单元13b输出的电荷。第二存储单元14b例如是电容器。
第二比较单元18b将第二阈值与输入到其的信号彼此进行比较,并且当输入信号超过第二阈值时(在下文中,称为第二定时)输出阶跃波形。第二比较单元18b例如是比较器。第二比较单元18b连接到第二存储单元14b和第二阈值电源19b。
第二阈值电源19b将第二阈值电压提供给第二比较单元18b。这里,第二阈值电压的大小被定义为θ-。在这种情况下,第二比较单元18b在保持在第二存储单元14b中的电压超过第二阈值θ-的定时输出阶跃波形。
这里,第一阈值的大小被定义为θ+,第二阈值的大小被定义为θ-,n+个正负载wi+的总和被定义为β+,并且n-个负负载wi-的绝对值的总和被定义为β-。在这种情况下,β+和β-可以分别由以下等式(15)和等式(16)表示。
这里,n=n++n-和β=β+-β-成立。假设第一定时被定义为tv+并且第二定时被定义为tv-,则根据等式(4),θ+和θ-可以分别由以下等式(17)和等式(18)表示。
注意,在等式(17)和等式(18)中设置λ=1。当计算目标值(n个乘法值的和)被划分为正负载wi+的计算目标值(在下文中称为第一乘积和值)和负负载wi-的计算目标值(在下文中称为第二乘积和值)时,获得以下等式(19)和等式(20)。
计算单元20通过从第一乘积和值减去第二乘积和值来计算计算目标值。具体地,计算单元20连接至第一比较单元18a,检测从第一比较单元18a发送的脉冲信号,并且计算第一乘积和值。计算单元20连接至第二比较单元18b,检测从第二比较单元18b发送的脉冲信号,并且计算第二乘积和值。
换句话说,计算单元20检测到保持在第一存储单元14a中的电压已经达到第一阈值θ+,并且计算第一乘积和值。计算单元20检测到保持在第二存储单元14b中的电压已经达到第二阈值θ-,并且计算第二乘积和值。然后,计算单元20通过从第一乘积和值减去第二乘积和值来计算计算目标值。用于计算计算目标值的等式可以由以下等式(21)表示。
这里,假设计算单元20在时间段t2中计算第一乘积和值和第二乘积和值。在这种情况下,为了将提供给相应第一输入单元13a的所有电信号和提供给相应第二输入单元13b的所有电信号反映到计算目标值,时间段t2需要存在于时间段t1及时间段t1之后。此外,时间段t1的时间长度和时间段t2的时间长度两者都是tin。然后,为此目的,第一阈值θ+和第二阈值θ-需要分别满足以下等式(22)和等式(23)。
θ+=(1+ε)λβ+tin(22)
θ-=(1+ε)λβ-tin(23)
如等式(22)所示,第一阈值θ+与n+个负载wi+的总和β+和时间段t1的长度tin的乘积成比例。如等式(23)所示,第二阈值θ-与n-个负载wi-的绝对值的总和β-和时间段t1的长度tin的乘积成比例。第一阈值θ+和第二阈值θ-满足上述关系,由此,提供给相应第一输入单元13a的所有电信号和提供给相应第二输入单元13b的所有电信号可以被反映到计算目标值。换句话说,仅需要确定第一阈值θ+和第二阈值θ-的值以满足等式(22)和等式(23)。
然而,在等式(21)的右侧,存在tv+和β+的乘积和tv-和β-的乘积。因此,为了基于等式(21)计算计算目标值,计算单元20需要复杂的电路配置。
因此,为了简化计算单元20的电路配置,将与值为0的虚拟电信号相对应并且通过将β+与β-之间的差乘以-1而获得的虚拟负载w0的绝对值添加到β+与β-中的较小的一个。w0可以由以下等式(24)表示。
w0=-(β++β-)(24)
通过添加虚拟负载w0,β+=β-成立。根据等式(22)和等式(23),θ+=θ-成立。因此,β+=β-=β0成立,并且可以将等式(21)变换为以下等式(25)。
如等式(25)所示,当正负载wi+和负负载wi-混合时,可以基于第一定时与第二定时之间的差来计算计算目标值。
这里,如果将作为第一定时与第二定时之间的差的“tv--tv+”按原样输入至下一层,将“tv--tv+”乘以负载的总和的倒数(1/β)。即,例如,当使用该乘法累加方法执行神经网络的模拟时,来自乘法累加器11的输出的分布随着深入而减少。
[1-3.乘法累加装置的网络配置]
参考图4,将给出来自乘法累加器11的输出的分布减少的情况的示例的描述。图4是示出乘法累加装置10的深度神经网络(dnn)的配置的示例的示图。
如图4所示,dnn30包括卷积层(convolutionlayer)31、第一relu层(firstrelulayer)32、最大池化层(maxpoolinglayer)33、第一fc层(firstfclayer)34、第二relu层(secondrelulayer)35和第二fc层(secondfclayer)36。考虑用于使如上所述的dnn30识别mnist的字符40的处理。
图5是示出来自相应层的乘法累加器的输出的分布的直方图。直方图51是示出从卷积层31输出的(tv+-tv+)的分布的直方图。直方图52是示出从第一fc层34输出的(tv+-tv+)的分布的直方图。直方图53是示出从第二fc层36输出的(tv+-tv+)的分布的直方图。如图5所示,尽管直方图51的各条输出定时的时间分布较宽,但是直方图53的输出定时集中于一点。在这种情况下,可能变得不能确定输出阶跃波形的定时。
因此,根据本公开的乘法累加装置执行用于扩展输出阶跃波形的定时的间隔的处理。因此,根据本公开的乘法累加装置可以延迟从阶跃波形的输出到下一阶跃波形的输出的时间,并且因此,可以防止输出阶跃波形的定时的集中。
(2.第一实施方式)
[2-1.根据第一实施方式的乘法累加装置的乘法累加器的配置]
参考图6,将给出根据本公开的第一实施方式的乘法累加装置的乘法累加器的描述。图6是示出根据本公开的第一实施方式的乘法累加装置的乘法累加器的配置的示例的示图。注意,为了简单起见,图6仅示出了乘法累加器11a中具有正负载的第一乘法累加器11aa。具有负负载的绝对值的第二乘法累加器11ab可以与第一乘法累加器11aa类似地配置,并且因此,将省略其描述。
如图6所示,第一乘法累加器11aa包括多个(n个)第一输入单元13a、第一存储单元14a、第一比较单元18a、第一阈值电源19a、乘法累加器控制电路110、开关控制电路120、同步信号发生器130、第一限幅电路210及第二限幅电路220。如稍后将具体描述的,第一乘法累加器11aa减少用于对第一存储单元14a充电的充电电流,从而减少充电电流并降低阈值电压。减少充电电流,并且到第一存储单元14a的充电速度减慢,由此扩展从第一比较单元18a输出的信号的定时。
参考图7,将给出充电到第一存储单元14a的电荷的充电速度的描述。图7是示出作为第一存储单元14a的充电量的时间变化的充电曲线的示图。
充电曲线61是当在具有正负载的第一乘法累加器11aa中在第一定时tv+输出阶跃波形时的充电曲线。如充电曲线61所示,第一存储单元14a在时间0与时间tin之间由多个第一输入单元13a中的一些充电。然后,当时间达到tin时,第一存储单元14a从所有第一输入单元13a充电。充电曲线71是当在具有负负载的绝对值的第二乘法累加器11ab中在第二定时tv-输出阶跃波形时的充电曲线。这里,由于在存储在存储单元14中的电压在从tin到2tin的时间段中达到阈值时从乘法累加器输出信号,因此tin≤t≤2tin的时间段被称为vt转换时间段。
充电曲线81示出当在最早定时输出阶跃波形时的充电曲线。在这种情况下,从时间点0开始,第一存储单元14a开始从所有第一输入单元13a充电。充电曲线82示出当在最晚定时输出阶跃波形时的充电曲线。在这种情况下,第一存储单元14a在从时间0到时间tin的时间段期间不充电,并且从时间点tin开始充电。
如上所述,在具有正负载的第一乘法累加器11aa和具有负负载的绝对值的第二乘法累加器11ab混合的乘法累加器中,基于第一定时与第二定时之间的差输出信号。因此,在vt转换时间段中,通过增大充电曲线61与充电曲线71之间的差,第一定时与第二定时之间的差变大。因此,从计算单元20输出的信号变大。具体地,例如,在vt转换时间段中,充电曲线61和充电曲线71的斜率分别减半。
因此,充电曲线61被转换为充电曲线62,并且充电曲线71被转换为充电曲线72。在这种情况下,由于来自第一乘法累加器11aa的输出作为信号在从tin到3tin的时间段中输出,因此vt转换时间段被改变为tin≤t≤3tin。然后,与充电曲线71与充电曲线61之间的差相比,在vt转换时间段中,充电曲线72与充电曲线62之间的差加倍。
将再次参考图6。乘法累加器控制电路110控制构成第一乘法累加器11aa的每个单元。具体地,乘法累加器控制电路110控制第一阈值电源19a、开关控制电路120、同步信号发生器130、第一限幅电路210和第二限幅电路220。乘法累加器控制电路110可以通过例如包括中央处理单元(cpu)的电子电路来实现。
如图6所示,第一输入单元13a中的每一个包括第一输入端子15a、第一电阻器16a、第一二极管17a和开关单元121。开关单元121设置在第一输入端子15a与第一电阻器16a之间。开关单元121断开和闭合第一输入端子15a与第一电阻器16a之间的路径。即,每个第一输入单元13a被配置为能够控制是否将信号输入至第一存储单元14a。
开关控制电路120控制每个开关单元121的断开和闭合。开关控制电路120根据乘法累加器控制电路110的控制来控制每个开关单元121的断开和闭合。在这种情况下,乘法累加器控制电路110向开关控制电路120输出将充电电流设置为预定的设置值的指令。预定的设置值例如是正常时间的充电电流的1/m(m是1或更大的数)的值。具体地,当m为2时,开关控制电路120控制每个开关单元121使得充电电流减半。在这种情况下,假设开关单元121的数量为100,可以通过将数量减少到50(其是数量的一半)来实现期望的充电电流。此外,当m为2.5时,开关控制电路120控制每个开关单元121使得充电电流变为2/5。在这种情况下,假设开关单元121的数量为100,可以通过将数量减少到40来实现期望的充电电流。开关控制电路120可以通过例如包括cpu的电子电路来实现。注意,用于同步操作的同步信号从同步信号发生器130输入到乘法累加器控制电路110和开关控制电路120。
参考图8,将给出开关单元121的操作的描述。图8是示出用于减少充电电流的输出模式的示例的示图。在图8中,实线表示输入信号,而虚线表示不输入信号。
如图8所示,在模式a中,指示输入单元组13a-1在正常时间从所有输入单元输出信号,并且在减少到第一存储单元14a的充电电流的情况下,指示该输入单元组不从任意输入单元输出信号,使得充电电流变为指定的充电电流。在这种情况下,未引起输出信号的输入单元不是预先确定的,并且可以是任意的。以这种方式配置到第一存储单元14a的信号输入单元,由此,可以切换正常时间和充电电流减少时间。
在模式b中,到第一存储单元14a的信号输入单元由输入单元组13a-2和输入单元组13a-3组成。在这种情况下,在正常时间,输入单元组13a-3输出信号,但是输入单元组13a-2不输出信号。然后,在减少到第一存储单元14a的充电电流的情况下,进行切换以便不从输入单元组13a-3输出信号,而仅从输入单元组13a-2输出信号。即,输入单元组13a-2被配置为在充电电流减少的时间输出预定充电电流。以这种方式配置到第一存储单元14a的信号输入单元,由此,可以切换正常时间和充电电流减少时间。
在模式c中,到第一存储单元14a的信号输入单元由输入单元组13a-1和输入单元组13a-2组成。在这种情况下,在正常时间,输入单元组13a-1输出信号,但是输入单元组13a-2不输出信号。然后,在减少到第一存储单元14a的充电电流的情况下,从输入单元组13a-2输出信号,并且从输入单元组13a-1输出信号以补偿不足。以这种方式配置到第一存储单元14a的信号输入单元,由此,可以切换正常时间和电流减少时间。
注意,在第一实施方式中,每个第一输入单元13a包括第一二极管17a。因此,如果第一二极管17a可以用作开关单元,则可以省略每个开关单元121。
[2-2.充电电流和阈值电压的设置]
参考图9,将给出用于确定充电电流和阈值电压的方法的描述。图9是用于说明充电电流和阈值电压的示图。
将给出当将充电电流设置为正常时间的电流的1/m时如何确定m的描述。为了计算m,研究设置在乘法累加装置10中的每个乘法累加器的输出的输出值范围。然后,来自每个乘法累加器的输出的分布变为接近正态分布的分布。这里,如果乘法累加器的输出的分布是正态分布,±2σ的范围包括95.5%的输出,并且±3σ的范围包括99.7%的输出。首先,在第一实施方式中,确定输出信号的定时的上限值tv(a).min和下限值tv(a).max。例如,如稍后将详细描述的,当上限值和下限值包括在±2σ中时,大约4.5%的输出存在于该范围之外,并且因此,在用于扩展输出差定时的处理中,存在于该范围内的输出将被限幅到上限或下限。当设置上限值和下限值时,优选考虑上限值和下限值的值以及由于插入限幅功能引起的乘法累加器的性能劣化。例如,如果不能容忍通过限幅输出信号引起的性能劣化,则还考虑将输出定时扩展到大于±2σ的范围。当确定上限值和下限值时,作为上限值与下限值之间的差的[tv(a).min-tv(a).max]在扩展输出定时之前变为输出值范围。通过将乘法累加器的最大输出值范围tin除以[tv(a).min-tv(a).max]而获得的值变为扩展输出定时的极限倍率mmax。由于扩展之前的输出值范围与最大输出值范围之间的关系,这种扩展率不能再增加。
然后,作为mmax或更小的值,实际的m仅需要由用户任意设置。当用户高度重视这样的定时差扩展率时,mmax可以被选择为m。当不需要将定时差扩展率增加到最大时,仅需要从mmax或更小的值中选择用户期望的值。更具体地,例如,假设当充电电流减少到1/3时开关单元121的数量为100,则作为100/i(i为1至100的整数)中不超过mmax=3的最大数量的100/33仅需要被设置为新的mmax。在这种情况下,用户可以任意地设置100/j中的实际的m(j是34至100的整数)。
接下来,将给出用于确定阈值电压的方法的描述。具体地,通过增大扩展率,充电曲线的斜率变得平缓,充电曲线达到阈值电压花费的时间更长,并且输出信号花费时间。因此,输出差的定时扩展之后的阈值电压被设置为低于阈值电压扩展之前的阈值电压。基于上述下限值tv(a).max来计算这样的阈值电压。
这里,基于等式(10)计算的阈值电压被定义为θl。此外,考虑从tin到下限值tv(a).max的充电曲线91,其与θl的水平线相交。然后,t=tin时的充电曲线91的电压被用作新的阈值电压θa。在图9中,充电曲线由线性函数v(t)=at+b表示。斜率a为θl/tin。这从充电曲线82是清楚的。截距b为θl(1-tv(a).max/tin),因为当t=tv(a).max时,v(t)=θl。由于当t为tin时获得阈值电压θa,因此θa变为θl(2-tv(a).max/tin)。因此,可以计算θa。此外,以这种方式计算的阈值电压θa是在本实施方式中可设置为阈值电压的最小值。即,只要新设置的阈值电压是在θa与θl之间的电压,就可以任意地设置新设置的阈值电压。此外,优选地计算阈值电压θa,使得在tin与2tin之间从第一比较单元18a输出输出信号。以这种方式改变阈值电压,由此,新的下限值变为tin。类似地,上限值也由新上限值=(旧上限值-旧下限值+新下限值)=(旧上限值-旧下限值+tin)替换。即,基于充电曲线计算阈值电压。
在充电曲线61中,达到阈值电压θa时的时间被定义为tμ+。在充电曲线71中,达到阈值电压θa时的时间被定义为tμ-。这里,由于充电曲线61和充电曲线62具有相同的斜率,因此(tμ--tμ+)=(tμ--tμ+)成立。因此,即使阈值电压从θl降低到θa,第一定时与第二定时之间的差也不改变。
注意,尽管每个充电曲线近似于图9中的线性函数,但是实际上,充电曲线81、充电曲线82和充电曲线91分别由以下等式(26)、等式(27)和等式(28)表示。
在等式(26)至等式(28)中,输入电压值vin、电阻值r和电容c为已知值。因此,即使当充电曲线被表示为等式(26)至等式(28)时,也可以通过与当充电曲线为线性函数时相同的方法来计算m和θa。
在本公开中,新下限值tin、新上限值、定时差扩展率m和阈值电压θa被预先存储在乘法累加器控制电路110中。即,乘法累加器控制电路110基于新下限值tin、新上限值、定时差扩展率m和阈值电压θa控制每个单元。
例如,乘法累加器控制电路110预先将阈值电压θa设置在第一阈值电源19a中。在这种情况下,第一阈值电源19a将阈值电压θa提供到第一比较单元18a。乘法累加器控制电路110基于例如定时差扩展率m来设置每个开关单元121的开关模式。开关模式是设置允许在图9中的tin及tin之后提供电压的每个开关单元121的指令。
乘法累加器控制电路110计算例如下限定时和上限定时作为输出定时。当θa用作阈值电压时,下限定时变为tin,而与定时差扩展率m无关。在这种情况下,乘法累加器控制电路110根据m的值计算上限定时。由于tin及tin之后的定时差变为m倍,因此乘法累加器控制电路110计算m×(新上限值-tin)+tin和上限定时。如图6所示,乘法累加器控制电路110将指定所计算的下限定时的下限定时信号输出至第一限幅电路210,并且将指定上限定时的上限定时信号输出至第二限幅电路220。注意,当从θa到θl的任意值被设置为阈值电压时,乘法累加器控制电路110通过计算来计算下限定时和上限定时。
第一限幅电路210根据下限定时信号对从第一比较单元18a输出的信号进行限幅。然后,第一限幅电路210将限幅后的信号输出到第二限幅电路220。第二限幅电路220根据上限定时信号对从第一限幅电路210输出的信号进行限幅。然后,第二限幅电路220将限幅后的信号输出到后一级中的乘法累加器。
[2-3.限幅电路]
参考图10,将给出第一限幅电路210的操作的描述。图10是用于说明第一限幅电路210的操作的示图。
图10所示的曲线图211示出了当输入在比由下限定时信号指定的限幅下限更早的定时上升的输入信号时的操作。具体地,曲线图211示出了当为第一限幅电路210指定下限时间tb时输入在比输入限幅的下限时间tb更早的时间ta上升的输入信号时第一限幅电路210的操作。在这种情况下,第一限幅电路210将输入信号上升的定时限幅为tb,并且将输入信号输出到第二限幅电路220。
另一方面,曲线图212示出了当输入在比下限时间tb晚的时间ta上升的输入信号时第一限幅电路210的操作。在这种情况下,第一限幅电路210将如此输入的输入信号按原样输出至第二限幅电路220。
图11是示出了在第一限幅电路210中指定的限幅下限与输入到第一限幅电路210的输入信号之间的关系的真值表。在图11中,0表示信号未上升的状态,而1表示信号上升的状态。如图10和图11所示,第一限幅电路210可以例如通过与(and)电路来实现。
第二限幅电路220根据上限定时信号对从第一限幅电路210输出的信号进行限幅。然后,第二限幅电路220将限幅后的信号输出到上层中的乘法累加器。
参考图12,将给出第二限幅电路220的操作的描述。图12是用于说明第二限幅电路220的操作的示图。
图12所示的曲线图221示出了当输入在比由上限定时信号指定的限幅上限更早的定时上升的输入信号时的操作。具体地,曲线图221示出了当为第二限幅电路220指定上限时间td时输入在比输入限幅的上限时间td更早时间tc上升的输入信号时第二限幅电路220的操作。在这种情况下,第二限幅电路220将如此输入的输入信号按原样输出到上层中的乘法累加器。
另一方面,曲线图222示出了当输入在比上限时间td晚的时间tc上升的输入信号时第二限幅电路220的操作。在这种情况下,第二限幅电路220将输入信号上升的定时限幅为td,并且将输入信号输出到上乘法累加器。
图13是示出在第二限幅电路220中指定的限幅上限与输入到第二限幅电路220的输入信号之间的关系的真值表。在图13中,0表示信号未上升的状态,而1表示信号上升的状态。如图12和图13所示,第二限幅电路220可以例如通过或(or)电路来实现。
参考图14,将给出对输入信号进行限幅的效果的描述。图14是用于说明对输入信号进行限幅的效果的示图。
图14示出了电路x301、限幅电路302和电路a303。电路x301例如是在装置内部执行诸如乘法和加法的预定计算的电路。即,紧接在执行计算的电路x301之后设置具有限幅功能的限幅电路302。注意,可以紧接在外部输入端子之后设置限幅电路302。电路a303设置在限幅电路302之后。在电路a303中,确定可以接受的输入值的最小值和最大值。在这种情况下,限幅电路302对从电路x301输出的信号进行限幅,以满足电路a303的条件。
例如,考虑添加有8位代码的整数格式寄存器用于电路a303的输入单元的情况。在这种情况下,电路a303的输入单元不能处理超过+127的数值和低于-128的数值。因此,在从电路x301输入的信号中,限幅电路302将超过+127的数值限幅为+127,并且将低于-128的数值限幅为-128。因此,电路a303的输入单元可以处理所有输入信号。
尽管在图14中已经描述了数字信号作为示例,但是限幅电路302不限于对数字信号进行限幅的电路。当电路a303的输入是模拟电压、模拟电流、时间宽度等时同样适用。
此外,如图15所示,考虑电路b304设置在限幅电路302与电路a303之间的情况。电路b304是对输入信号执行预定计算的电路。在这种情况下,限幅电路302可以考虑电路b304的影响来设置限幅值以执行限幅。例如,假设电路b304是将常数+10加到输入信号的电路。在这种情况下,在从电路x301输入的信号中,限幅电路302被设置为将超过+117的数值限幅为+117,并且将低于-138的数值限幅为-138。因此,电路a303的输入单元可以处理所有输入信号。
再次参考图6,将给出第一乘法累加器11aa的操作的描述。首先,在时间0与时间tin之间,从前一级中的乘法累加器(未示出)或数字定时转换器(dtc)电路(未示出)向第一乘法累加器11aa的每一个第一输入端子15a输入由定时(时间)表示的输入信号。在时间tin,根据乘法累加器控制电路110的控制,开关控制电路120将控制信号发送到每个开关单元121,并且将每个开关单元121切换到特定模式。因此,在时间tin及tin之后的充电电流变为正常时间的充电电流的1/m,并且第一存储单元14a根据正常时间的充电电流的1/m的电流的充电曲线进行充电。然后,第一比较单元18a在第一存储单元14a的充电电压变得等于预设阈值电压θa时的定时将阶跃波形输出至第一限幅电路210。
此外,当时间到达下限定时时,乘法累加器控制电路110将下限定时信号输出至第一限幅电路210。第一限幅电路210根据下限定时信号将在由第一比较单元18a输出的阶跃波形中的过早的定时上升的信号限幅到下限定时,并且将限幅后的信号输出到第二限幅电路220。此外,当时间到达上限定时时,乘法累加器控制电路110将上限定时信号输出到第二限幅电路220。第二限幅电路220根据上限定时信号将从第一限幅电路210输入的输入信号中的过晚的输入信号限幅至上限定时,并且将限幅后的输入信号输出到后一级中的乘法累加器。
[2-4.根据第一实施方式的乘法累加器的修改示例]
图16示出了根据第一实施方式的乘法累加装置的修改示例。在第一实施方式中,假设预先存储新下限值tin、新上限值、定时差扩展率m和阈值电压θa。第一实施方式的修改示例可以例如在操作乘法累加器11aa-1之前执行计算。在这种情况下,例如,如图16所示,计算装置400可以设置在乘法累加装置10的内部或外部,每个参数可以由计算装置400计算,并且可以输入至乘法累加器控制电路110。这样的计算装置400可以通过例如包括cpu的电子电路来实现。
如上所述,在第一实施方式中,减少乘法累加器的充电电流,并且降低阈值电压,由此可以扩展输出差定时,而无需延迟直到输出输出信号的时间。
(第二实施方式)
[3-1.根据第二实施方式的乘法累加装置的乘法累加器的配置]
参考图17,将给出根据本公开的第二实施方式的乘法累加装置的乘法累加器的描述。图17是示出了根据第二实施方式的乘法累加装置的乘法累加器的示例的示图。
乘法累加器11ba的每个输入单元13c包括第一输入端子15a、第一电阻器16a和第一二极管17a。此外,每个输入单元13c包括前级比较单元20a和输出缓冲器21a中的至少一个。
前级比较单元20a是设置在乘法累加器11ba的前一级中的乘法累加器中的比较单元。输出缓冲器21a暂时存储由前级比较单元20a输出的输出信号。
在第二实施方式中,当包括前级比较单元20a和输出缓冲器21a两者时,开关控制电路120停止前级比较单元20a或输出缓冲器21a的输出。当仅包括前级比较单元20a和输出缓冲器21a中的一个时,开关控制电路120停止所存在的一个。在这种情况下,乘法累加器控制电路110向开关控制电路120输出将充电电流设置为预定的设置值的指令。因此,第二实施方式可以减少充电电流。
此外,当乘法累加器11ba处于乘法累加装置10中的第一级时,dtc连接至第一输入端子15a。在这种情况下,开关控制电路120可以停止dtc的输出以减少充电电流。
如上所述,在第二实施方式中,减少乘法累加器的充电电流,并且降低阈值电压,由此可以扩展输出差定时,而无需延迟直到输出输出信号的时间。
尽管以上已经描述了本公开的相应实施方式,但是本公开的技术范围并不按原样限于上述相应实施方式,并且可以在不脱离本公开的精神的情况下进行各种修改。此外,覆盖不同实施方式和修改示例的组成部分可以适当地彼此组合。
注意,本说明书中描述的效果仅是示例并且不受限制,并且可以存在其他效果。
注意,本技术还可以采用如下这样的配置。
(1)
一种乘法累加装置,包括:
比较单元,将由存储在存储单元中的电荷产生的电压与阈值电压进行比较,并且在电压超过阈值电压的定时输出输出信号;以及
控制电路,基于预定的设置值减少从连接至存储单元的多个输入单元到存储单元的充电电流。
(2)
根据(1)的乘法累加装置,
其中,控制电路通过改变向存储单元输出信号的多个输入单元的数量来降低充电电流。
(3)
根据(2)的乘法累加装置,
其中,当达到第一时间时,控制电路改变多个输入单元的数量。
(4)
根据(2)或(3)的乘法累加装置,
其中,控制电路通过控制设置在多个输入单元中的开关单元来降低充电电流。
(5)
根据(2)或(3)的乘法累加装置,
其中,控制电路通过停止前一级中的乘法累加器或连接至前一级中的乘法累加器的输出缓冲器的输出来降低充电电流。
(6)
根据(1)至(5)中任一项的乘法累加装置,
其中,控制电路降低提供给比较单元的阈值电压。
(7)
根据(6)的乘法累加装置,
其中,控制电路基于存储单元的电压的值来降低阈值电压。
(8)
根据(6)或(7)的乘法累加装置,
其中,控制电路降低阈值电压,使得阈值电压变得等于或高于在最早定时从比较单元输出输出信号的第一时间时的存储单元的电压的最大值。
(9)
根据(6)至(8)中任一项的乘法累加装置,
其中,控制电路从第一时间开始降低阈值电压,使得阈值电压变得等于或小于在具有与第一时间的时间长度相同的时间长度的第二时间时的存储单元的电压的最小值。
(10)
根据(1)至(9)中任一项的乘法累加装置,进一步包括:
第一限幅电路,将输出信号的最小值限幅为第一值;以及
第二限幅电路,将输出信号的最大值限幅为第二值。
(11)
根据(10)的乘法累加装置,
其中,第一限幅电路由与电路组成。
(12)
根据(10)或(11)的乘法累加装置,
其中,第二限幅电路由或电路组成。
(13)
根据(1)至(12)中任一项的乘法累加装置,进一步包括:
计算装置,计算设置值。
(14)
一种乘法累加方法,包括:
将由存储在存储单元中的电荷产生的电压与阈值电压进行比较,并且在电压超过阈值电压的定时输出输出信号;并且
基于预定的设置值减少从连接至存储单元的多个输入单元到存储单元的充电电流。
参考标记列表
10乘法累加装置
11、11a、11a乘法累加器
12外部输入单元
13、13c输入单元
13a第一输入单元
13b第二输入单元
14存储单元
14a第一存储单元
14b第二存储单元
15输入端子
15a第一输入端子
15b第二输入端子
16电阻器
16a第一电阻器
16b第二电阻器
17二极管
17a第一二极管
17b第二二极管
18比较单元
18a第一比较单元
18b第二比较单元
19阈值电源
19a第一阈值电源
19b第二阈值电源
110乘法累加器控制电路
120开关控制电路
130同步信号发生器
210第一限幅电路
220第二限幅电路。