一种神经元电路的制作方法

文档序号:20920693发布日期:2020-05-29 14:06阅读:207来源:国知局
一种神经元电路的制作方法

本发明涉及神经网络领域,尤其涉及一种神经元电路。



背景技术:

卷积神经网络中最大的操作是乘加(mac)操作,乘操作可以采用异或逻辑电路实现,加操作可以采用基于电荷再分配技术的开关电容阵列实现。然而,在一个包含多个卷积层的超大规模的卷积神经网络中,可能有数百万甚至数亿的mac操作,需要使用大量电容,这将极大的增加芯片面积,受制于芯片面积,卷积层芯片和开关电容阵列通常需要复用,但这会导致数据处理时间长等问题。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种3d堆叠结构,通过开关电容阵列将输入层、多个卷积层及输出层芯片立体堆叠,多个卷积层芯片采用多层芯片实现,无需增大芯片面积,可以并行处理大量数据,更加真实的模拟人类大脑。

本发明解决上述技术问题的技术方案如下:

一种神经元电路,包括:输入层芯片、多个卷积层芯片、输出层芯片和开关电容阵列,其中,

所述输入层芯片、多个所述卷积层芯片和输出层芯片依次通过所述开关电容阵列的极板互联,形成3d堆叠结构。

在一些优先的实施例中,所述开关电容阵列的上极板位于上层芯片的背部,下极板位于下层芯片的顶部,上下两个极板之间填充介质材料,使相邻的两层芯片互联,形成3d堆叠结构。

在一些优先的实施例中,激活值以数字量参与运算,所述输入层芯片包括:数据存储器、权重存储器和逻辑电路,每个所述卷积层芯片包括:比较/放大电路、缩放电路、a/d转换电路和逻辑电路,输出层芯片包括:比较/放大电路、缩放电路和a/d转换电路,其中,

所述数据存储器,用于存储数据;

所述权重存储器,用于存储与所述数据一一对应的权重值;

所述逻辑电路,基于所述数据存储器和所述权重存储器,用于对数据和所述数据对应的权重值进行乘操作;

所述开关电容阵列,基于电荷再分配技术,用于向比较/放大电路提供分压。

所述比较/放大电路,基于所述分压对各个乘操作结果进行宽矢量求和。

所述缩放电路,基于储存在权重存储器的缩放因子对所述宽矢量和进行缩放操作得到最终模拟电压v。

所述a/d转换电路,用于将模拟电压值v转换为数据量后储存到所述数据存储器中。

在一些优先的实施例中,激活值以模拟量参与运算,所述输入层芯片包括:数据存储器、d/a转换电路、权重存储器和开关控制电路,每个所述卷积层芯片包括:比较/放大电路、缩放电路、锁存电路和开关控制电路,所述输出层芯片包括:比较/放大电路、缩放电路和a/d转换电路,其中,

所述数据存储器,用于存储数据;

所述d/a转换电路,用于将所述数据存储器中存储的多比特位的数字量的数据转换成相应的模拟量;

所述权重存储器,用于存储与所述数据存储器中数据一一对应的权重值;

所述开关控制电路,基于所述d/a转换电路输出结果和所述权重存储器,对数据和所述数据对应的权重值进行乘操作;

所述开关电容阵列,基于电荷再分配技术,用于向比较/放大电路提供分压;

所述比较/放大电路,基于所述分压对各个乘操作结果进行宽矢量求和;

所述缩放电路,基于储存在权重存储器的缩放因子对所述宽矢量和进行缩放操作得到最终模拟电压v;

所述锁存电路,用于锁定并存储模拟电压;

所述a/d转换电路,用于将所述模拟电压值v转换成数字量。

本发明的有益效果是:通过开关电容阵列将输入层芯片、卷积层芯片及输出层芯片3d立体堆叠,大大降低芯片面积,降低成本。且多个卷积层芯片通过多层芯片实现,输入的数据从上到下依次完成多个卷积运算后得到最终输出结果,这种数据处理方式增强数据处理能力,减少数据处理时间,且流水线的数据处理方式更加真实的模拟人类大脑。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的神经元电路的3d堆叠结构侧视示意图;

图2为本发明实施例提供的神经元电路的结构示意框图;

图3为本发明实施例提供的神经元电路的结构示意框图;

图4为图2所示的神经元电路的输入层芯片俯视示意图;

图5为图3所示的神经元电路的输入层芯片俯视示意图;

图6为图2所示的神经元电路的卷积层芯片俯视示意图;

图7为图3所示的神经元电路的卷积层芯片俯视示意图;

图8为图2和图3所示的神经元电路的输出层芯片俯视示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

另外,需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。还应理解,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

本申请提供了一种神经元电路包括:输入层芯片、多个卷积层芯片、输出层芯片和开关电容阵列。其中,

输入层芯片、多个卷积层芯片和输出层芯片依次通过开关电容阵列中的极板互联,形成3d堆叠结构。

具体的,开关电容阵列的上极板位于上层芯片的背部,下极板位于下层芯片的顶部,上下两个极板之间填充介质材料,使相邻的两层芯片互联,形成3d堆叠结构。

在上述实施例中,开关电容的上下两个极板之间填充介质材料可以为胶,或者与胶具有相同功能的其他材料。

本发明实施例中的神经元电路,通过开关电容阵列将输入层芯片、卷积层芯片及输出层芯片3d立体堆叠,大大降低芯片面积,降低成本。且多个卷积层芯片通过多层芯片实现,输入的数据从上到下依次完成多个卷积运算后得到最终输出结果,这种数据处理方式增强数据处理能力,减少数据处理时间,且流水线的数据处理方式更加真实的模拟人类大脑。

为了更加清晰地对本发明的神经元电路进行说明,下面结合图1到图8对本发明实施例中各模块展开详细的描述。

如图1所示,为本发明的一种神经元电路的3d堆叠结构示意图,该神经元电路包括:输入层芯片1、开关电容阵列4、卷积层芯片2、输出层芯片3。其中,

输入层芯片1、卷积层芯片2及输出层芯片3通过开关电容阵列4堆叠摆放形成3d堆叠结构。开关电容阵列采用层叠结构,上极板位于上层芯片的背部,下极板位于下层芯片的顶部,两个极板之间填充介质材料如胶等,从而将两层芯片互联,形成3d堆叠结构。

如图2所示,为本发明的实施例提供的另一种神经元电路的结构示意框图。在该神经元电路的神经网络中激活值以数字量参与运算。该神经元电路包括:输入层芯片1、多个卷积层芯片2、输出层芯片3和开关电容阵列4。其中,输入层芯片1包括:数据存储器11、权重存储器12和逻辑电路13。每个卷积层芯片2包括:比较/放大电路21、缩放电路22、a/d转换电路23和逻辑电路24。输出层芯片3包括:比较/放大电路31、缩放电路32和a/d转换电路33。

数据存储器11用于存储数据,可并行读写操作;

权重存储器12用于存储与数据一一对应的权重值,可并行读写操作;

逻辑电路13基于数据存储器11和权重存储器12,用于对数据和数据对应的权重值进行乘操作;

开关电容阵列4,用于向比较/放大电路21提供分压。

比较/放大电路21和31,均基于所述分压对各个乘操作后结果进行宽矢量求和。

缩放电路22和32,均基于储存在权重存储器的缩放因子对所述宽矢量和进行缩放操作得到最终模拟电压v。为了补偿量化过程中权重的精度损失,可以设置缩放电路。

a/d转换电路23,用于将模拟电压值转换为数据量并储存到存储器11中。

逻辑电路24基于a/d转换电路23输出的结果和权重存储器12,用于对数据和数据对应的权重值进行乘操作。

也就是说,在该实施例中,每个卷积层得到的模拟电压值经a/d转换电路转换后存储到数据存储器中供下一卷积层进行卷积操作使用。且,由于多层芯片通过开关电容的极板互联形成3d堆叠结构,大大降低芯片面积,降低成本。

输出层芯片3中的a/d转换电路33,用于将最终计算结果的模拟量(即缩放电路32得到的模拟电压)转换成数字量。

在本发明的技术方案中,多个卷积层芯片通过多层芯片实现,输入数据从上到下依次完成多个卷积运算后得到最终输出结果,这种数据处理方式增强数据处理能力,减少数据处理时间,且流水线的数据处理方式更加真实的模拟人类大脑。

图4为图2所示的神经元电路的输入层芯片俯视示意图,图6为图2所示的神经元电路的卷积层芯片俯视示意图,图8为图2所示的神经元电路的输出层芯片俯视示意图。

如图3所示,为本发明的实施例提供的另一种神经元电路的结构示意框图。在该神经元电路的神经网络中激活值一直以模拟量的形式参与运算。该神经元电路包括:输入层芯片1、多个卷积层芯片2、输出层芯片3和开关电容阵列4。其中,输入层芯片1包括:数据存储器11、权重存储器12、d/a转换电路13及开关控制电路14。每个卷积层芯片2包括:比较/放大电路21、缩放电路22、锁存电路23和开关控制电路24。输出层芯片3包括:比较/放大电路31、缩放电路32和a/d转换电路33。

数据存储器11用于存储数据,可并行读写操作;

权重存储器12用于存储与数据存储器11中存储的数据一一对应的权重值,可并行读写操作;

d/a转换电路13,用于将多比特位的数字量的数据转换成相应的模拟量vi,其中,i为n个维度中的任一维度。

开关控制电路14,基于d/a转换电路13输出的结果和权重存储器12,对数据和所述数据对应的权重值进行乘操作;

开关电容阵列4,用于向比较/放大电路21提供分压。

比较/放大电路21和31,均基于所述分压对各个乘操作结果进行宽矢量求和。

缩放电路22和32,均基于储存在权重存储器12的缩放因子对所述宽矢量和进行缩放操作得到最终模拟电压v。由于在量化过程中权重的精度有损失,因此设置缩放电路对该损失进行补偿。

锁存电路23,用于锁定并存储缩放电路22得到的模拟电压值v。为了确保最后得到的结果的稳定性和准确性,可以在每一个卷积层芯片中设置锁存电路。

开关控制电路24,基于锁存电路23输出的结果和权重存储器12,对数据和所述数据对应的权重值进行乘操作。

输出层芯片3中的a/d转换电路33,用于将最终计算结果的模拟量(即缩放电路32得到的模拟电压)转换成数字量。

图5为图3所示的神经元电路的输入层芯片俯视示意图,图7为图3所示的神经元电路的卷积层芯片俯视示意图,图8为图所3示的神经元电路的输出层芯片俯视示意图。

需要说明的是,上述实施例提供的神经元电路,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块的名称,仅仅是为了区分各个模块,不视为对本发明的不当限定。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

术语“包括”或者任何其他类似用于旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括哪些要素,而且还包括没有明确列出的其他要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1