CN110059818B - 卷积核参数可配的神经卷积阵列电路核、处理器及电路 - Google Patents
卷积核参数可配的神经卷积阵列电路核、处理器及电路 Download PDFInfo
- Publication number
- CN110059818B CN110059818B CN201910350154.6A CN201910350154A CN110059818B CN 110059818 B CN110059818 B CN 110059818B CN 201910350154 A CN201910350154 A CN 201910350154A CN 110059818 B CN110059818 B CN 110059818B
- Authority
- CN
- China
- Prior art keywords
- convolution
- kernel
- convolutional
- pixel data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
本公开提供了卷积核参数可配的神经卷积阵列电路核、处理器及电路。卷积核参数可配的神经卷积阵列电路核,包括数据滑动移入部分,被配置为将卷积阵列划分成多个并行数据窗口;多路选择器,被配置为:通过像素数据输入总线扫描右移输入像素数据,完成对卷积阵列的像素数据的右移滑动更新;通过卷积核系数输入总线串行扫描卷积核系数,完成对卷积阵列的卷积核的系数配置;通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据;点乘部分,被配置为:将每个并行数据窗口内的像素数据与相应卷积核对应各个点系数进行点乘并将点乘结果累加,得到每个并行数据窗口与其对应卷积核的一个卷积结果。
Description
技术领域
本公开属于电路设计领域,尤其涉及一种卷积核参数可配的神经卷积阵列电路核、处理器及电路。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
随着人工智能神经卷积网络技术的发展,神经卷积阵列运算占据绝大部分运算量,其需要进行快速有效的运算,并且消耗较少的硬件电路资源。发明人发现,现有存在的神经网络卷积电路都存在着一定的问题,主要体现在:电路可以实现单个数据窗口的运算,不能够实现多个窗口复用,速度较慢或者电路过于复杂,不能有效降低硬件资源的开销。
专利申请号为“CN200610105061.X”的中国航天时代电子公司第七七一研究所的发明专利申请“可缩放大规模二维卷积电路”,它把微处理器的灵活性与硬件电路的高速性有机的结合起来,发明人发现,该电路用的大量的串行移位寄存器大大地降低了运行速度,浪费了很多硬件资源。
专利申请号为“CN200510134735.4”的北京航空航天大学的发明专利申请“一种实时快速实现高斯模板卷积的装置”,它通过并行和流水方法的结合实现了实时的大模板高斯卷积;发明人发现,其没有解决体积、功耗过大的问题。
专利申请号为“CN201680010174.3”的HRL实验室有限责任公司的发明专利申请“尖峰域卷积电路”,电路中有多个输入振荡器,各自经配置可以接收多个模拟输入信号,通过所设计的电路再输出多个对应尖峰信号。发明人发现,该电路了大量的振荡器,并不能很好的保证电路卷积的准确性和稳定性。
综上所述,发明人发现,现有技术中对于电路实现复杂,抗干扰性低,可复用性低,硬件成本高等问题,尚缺乏有效的解决方案。
发明内容
为了解决上述问题,本公开的第一个方面提供一种卷积核参数可配的神经卷积阵列电路核,其经过多路选择器在每个时钟都可以选择性对像素数据或者是卷积核的实时更新,实现了卷积核参数可配,利用滑动数据窗快速并行地执行神经网络卷积运算,减少了储存容量和逻辑资源的使用,提高了单位能量的运算次数。
为了实现上述目的,本公开采用如下技术方案:
一种卷积核参数可配的神经卷积阵列电路核,包括:
数据滑动移入部分,其被配置为将卷积阵列划分成多个并行数据窗口;
多路选择器,其两个输入端口分别与像素数据输入总线和卷积核系数输入总线对应相连;所述多路选择器,被配置为:
通过像素数据输入总线扫描右移输入像素数据,完成对卷积阵列的像素数据的右移滑动更新,以更新需要进行卷积的多个并行数据窗口;
通过卷积核系数输入总线串行扫描卷积核系数,完成对卷积阵列的卷积核的系数配置,为多个并行数据窗口提供对应的同一个卷积核;
通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据;
点乘部分,其被配置为:将每个并行数据窗口内的像素数据与相应卷积核对应各个点系数进行点乘并将点乘结果累加,得到每个并行数据窗口与其对应卷积核的一个卷积结果。
为了解决上述问题,本公开的第二个方面提供一种处理器,其包括卷积核参数可配的神经卷积阵列电路核,经过多路选择器在每个时钟都可以选择性对像素数据或者是卷积核的实时更新,实现了卷积核参数可配,利用滑动数据窗快速并行地执行神经网络卷积运算,减少了储存容量和逻辑资源的使用,提高了单位能量的运算次数。
为了实现上述目的,本公开采用如下技术方案:
一种处理器,包括上述所述的卷积核参数可配的神经卷积阵列电路核。
为了解决上述问题,本公开的第三个方面提供一种电路,其包括处理器,该处理器包括卷积核参数可配的神经卷积阵列电路核,经过多路选择器在每个时钟都可以选择性对像素数据或者是卷积核的实时更新,实现了卷积核参数可配,利用滑动数据窗快速并行地执行神经网络卷积运算,减少了储存容量和逻辑资源的使用,提高了单位能量的运算次数。
为了实现上述目的,本公开采用如下技术方案:
一种电路,包括上述所述的处理器。
本公开的有益效果是:
(1)本公开经过多路选择器在每个时钟都可以选择性对像素数据或者是卷积核的实时更新,实现了卷积核参数可配,通过配置多路选择器,实现了像素数据和卷积核系数的选择性快速更新。
(2)本公开用滑动数据窗快速并行地执行神经网络卷积运算,通过卷积核的并行复用,减少了储存容量和逻辑资源的使用,降低了硬件资源的开销。
(3)本公开的神经卷积阵列电路核实现简单,具有同时多个滑动数据窗口并行计算,速度很快,硬件资源开销少的特点。
(4)本公开的神经卷积阵列电路核,可以通过卷积阵列外部的数据总线,进行数据的滑动输入,以及卷积核系数总线的预先装载配置与卷积核系数的多个数据窗口的复用。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例提供的5*5输入像素数据与3*3卷积核进行卷积乘法运算的示意图。
图2是本公开实施例提供的一个5*5卷积阵列电路单元核对应的9个3*3数据窗口与共享的1个3*3卷及核的电路结构示意图。
图3是本公开实施例提供的一个卷积核的一个数据点与其对应的一个系数点地局部放大示意图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例的一种卷积核参数可配的神经卷积阵列电路核,包括:
数据滑动移入部分,其被配置为将卷积阵列划分成多个并行数据窗口;
多路选择器,其两个输入端口分别与像素数据输入总线和卷积核系数输入总线对应相连;所述多路选择器,被配置为:
通过像素数据输入总线扫描右移输入像素数据,完成对卷积阵列的像素数据的右移滑动更新,以更新需要进行卷积的多个并行数据窗口;如图2所示,提供了一个25个像素数据和1个卷积核进行多个卷积核并行卷积,实时更新数据的电路原理;
通过卷积核系数输入总线串行扫描卷积核系数,完成对卷积阵列的卷积核的系数配置,为多个并行数据窗口提供对应的同一个卷积核;如图1所示,提供了共享一个卷积核系数的9个窗口卷积核系数点在每个数据点的分布情况。其中,a,b,...x,y是输入像素数据点,1,2...8,9是卷积核的系数点;
通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据;
点乘部分,其被配置为:将每个并行数据窗口内的像素数据与相应卷积核对应各个点系数进行点乘并将点乘结果累加,得到每个并行数据窗口与其对应卷积核的一个卷积结果,如图3所示,提供了电路通过多路选择器选择性更新像素数据的结构原理,选择后的系数点与数据点进行点乘操作。
如图1和图2所示,假定设计的单元卷积阵列核可以同时处理5*5的输入像素数据(假如是25个像素点数据:a,b,c,d,......u,x,y),共形成9个滑动窗口(9个数据窗口需要并行进行乘累加运算),这9个窗口共享同一个卷积核系数(假如是9个数据点:1,2,3,4,5,6,7,8,9)。
每个窗口内的9个数据点对应的卷积核的系数是一样的,即多个窗口共享一个卷积核系数。同时,每个窗口内的每个数据点可能被K个数据窗口复用(K<=9),K个数据窗对应的系数分布k个情况。
作为一种实施方式,所述多路选择器,被配置为:
在每个时钟时刻,通过像素数据输入总线,向右扫描输入新的像素数据。
在每个时钟时刻,通过像素数据输入总线同时输入多路像素数据,以及时更新需要进行卷积的多个并行数据窗口。
通过配置多路选择器,通过输入卷积核系数总线,预先串行扫描移入卷积核系数,完成对卷积阵列的卷积核系数(9个数据点,位于卷积阵列的左上角位置)的配置。
通过配置多路选择器,可以每个时钟,从像素数据输入总线,扫描右移输入像素数据点,完成对卷积阵列的像素数据(25个数据点,9个数据窗口)的右移滑动更新,以更新需要进行卷积的多个数据窗口。
通过预先统计卷积核系数点被多少个数据窗口复用(假定M个),可以将M(或M-1个)个卷积核系数点多路选择器置于数据窗口的后面,为点乘操作提供系数点。
具体地,通过像素数据输入总线扫描右移输入像素数据存储在像素数据寄存器中。
通过卷积核系数输入总线串行扫描卷积核系数存储在卷积核系数寄存器中。
作为一种实时方式,所述多路选择器,被配置为:
利用门控时钟CLOCK_GATE方法,通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据。
这样既可以达到基于共享局部总线完成对于数据像素寄存器文件或者系数寄存器文件的配置,又降低了不需要更新寄存器文件的动态能耗消耗。
如图3所示,当sel=1时,像素数据点时钟端连接的与门(门控单元)使能;卷积核系数点时钟端连接的与门(门控单元)禁止;当sel=0时,像素数据点时钟端连接的与门(门控单元)禁止;卷积核系数点时钟端连接的与门(门控单元)使能。
在另一实施例中,所述卷积核参数可配的神经卷积阵列电路核,还包括:
点乘结果输出缓存部分,其被配置为:输出并缓存每个并行数据窗口与其对应卷积核的一个卷积结果。
本实施例经过多路选择器在每个时钟都可以选择性对像素数据或者是卷积核的实时更新,实现了卷积核参数可配,通过配置多路选择器,实现了像素数据和卷积核系数的选择性快速更新。
本实施例用滑动数据窗快速并行地执行神经网络卷积运算,通过卷积核的并行复用,减少了储存容量和逻辑资源的使用,降低了硬件资源的开销。
本实施例的神经卷积阵列电路核实现简单,具有同时多个滑动数据窗口并行计算,速度很快,硬件资源开销少的特点。
本实施例的神经卷积阵列电路核,可以通过卷积阵列外部的数据总线,进行数据的滑动输入,以及卷积核系数总线的预先装载配置与卷积核系数的多个数据窗口的复用。
在另一实施例中,还提供了一种处理器,该处理器包括上述所述的卷积核参数可配的神经卷积阵列电路核。
在另一实施例中,还提供了一种电路,其包括上述所述的处理器。
该电路能够路快速有效的卷积运算,并且消耗较少的硬件电路资源。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (9)
1.一种卷积核参数可配的神经卷积阵列电路核,其特征在于,包括:
数据滑动移入部分,其被配置为将卷积阵列划分成多个并行数据窗口;
多路选择器,其两个输入端口分别与像素数据输入总线和卷积核系数输入总线对应相连;所述多路选择器,被配置为:
通过像素数据输入总线扫描右移输入像素数据,完成对卷积阵列的像素数据的右移滑动更新,以更新需要进行卷积的多个并行数据窗口;
通过卷积核系数输入总线串行扫描卷积核系数,完成对卷积阵列的卷积核的系数配置,为多个并行数据窗口提供对应的同一个卷积核;
通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据;
点乘部分,其被配置为:将每个并行数据窗口内的像素数据与相应卷积核对应各个点系数进行点乘并将点乘结果累加,得到每个并行数据窗口与其对应卷积核的一个卷积结果。
2.如权利要求1所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,所述卷积核参数可配的神经卷积阵列电路核,还包括:
点乘结果输出缓存部分,其被配置为:输出并缓存每个并行数据窗口与其对应卷积核的一个卷积结果。
3.如权利要求1所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,所述多路选择器,被配置为:
在每个时钟时刻,通过像素数据输入总线,向右扫描输入新的像素数据。
4.如权利要求3所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,所述多路选择器,被配置为:
在每个时钟时刻,通过像素数据输入总线同时输入多路像素数据,以及时更新需要进行卷积的多个并行数据窗口。
5.如权利要求1所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,所述多路选择器,被配置为:
利用门控时钟CLOCK_GATE方法,通过选择端使能多路选择器的两个输入端口中的一个输入端选择性更新数据。
6.如权利要求1所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,通过像素数据输入总线扫描右移输入像素数据存储在像素数据寄存器中。
7.如权利要求1所述的一种卷积核参数可配的神经卷积阵列电路核,其特征在于,通过卷积核系数输入总线串行扫描卷积核系数存储在卷积核系数寄存器中。
8.一种处理器,其特征在于,包括如权利要求1-7中任一项所述的卷积核参数可配的神经卷积阵列电路核。
9.一种电路,其特征在于,包括如权利要求8所述的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350154.6A CN110059818B (zh) | 2019-04-28 | 2019-04-28 | 卷积核参数可配的神经卷积阵列电路核、处理器及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350154.6A CN110059818B (zh) | 2019-04-28 | 2019-04-28 | 卷积核参数可配的神经卷积阵列电路核、处理器及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110059818A CN110059818A (zh) | 2019-07-26 |
CN110059818B true CN110059818B (zh) | 2021-01-08 |
Family
ID=67321341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910350154.6A Expired - Fee Related CN110059818B (zh) | 2019-04-28 | 2019-04-28 | 卷积核参数可配的神经卷积阵列电路核、处理器及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059818B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457573A (zh) * | 2013-09-03 | 2013-12-18 | 苏州磐启微电子有限公司 | 一种数据率自适应的高斯滤波器 |
CN103997321A (zh) * | 2014-05-28 | 2014-08-20 | 中国电子科技集团公司第二十七研究所 | 数字超宽带梳状谱信号发生器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1010437B (zh) * | 1988-06-02 | 1990-11-14 | 清华大学 | 一种实时图象邻域处理器 |
CN203617974U (zh) * | 2013-10-21 | 2014-05-28 | 京微雅格(北京)科技有限公司 | 一种基于fpga的可配置系数的滤波器及电子设备 |
KR102325602B1 (ko) * | 2015-07-06 | 2021-11-12 | 삼성전자주식회사 | 데이터를 병렬적으로 처리하는 장치 및 방법 |
CN107341547B (zh) * | 2016-04-29 | 2021-04-20 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络训练的装置和方法 |
CN106203617B (zh) * | 2016-06-27 | 2018-08-21 | 哈尔滨工业大学深圳研究生院 | 一种基于卷积神经网络的加速处理单元及阵列结构 |
US10366328B2 (en) * | 2017-09-19 | 2019-07-30 | Gyrfalcon Technology Inc. | Approximating fully-connected layers with multiple arrays of 3x3 convolutional filter kernels in a CNN based integrated circuit |
CN108182471B (zh) * | 2018-01-24 | 2022-02-15 | 上海岳芯电子科技有限公司 | 一种卷积神经网络推理加速器及方法 |
CN108764467B (zh) * | 2018-04-04 | 2021-08-17 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
-
2019
- 2019-04-28 CN CN201910350154.6A patent/CN110059818B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457573A (zh) * | 2013-09-03 | 2013-12-18 | 苏州磐启微电子有限公司 | 一种数据率自适应的高斯滤波器 |
CN103997321A (zh) * | 2014-05-28 | 2014-08-20 | 中国电子科技集团公司第二十七研究所 | 数字超宽带梳状谱信号发生器 |
Also Published As
Publication number | Publication date |
---|---|
CN110059818A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Akram et al. | Towards real-time crops surveillance for disease classification: exploiting parallelism in computer vision | |
CN105874714B (zh) | 支持多模式可配置的六输入查找表结构和fpga器件 | |
Binaei et al. | Design of multiplexer-based D flip-flop with set and reset ability in quantum dot cellular automata nanotechnology | |
Qian et al. | FPGA implementation of low-power split-radix FFT processors | |
Kumar et al. | Low‐latency median filter core for hardware implementation of 5× 5 median filtering | |
CN102710236A (zh) | 基于fpga的小波变换实现结构 | |
Ax et al. | Comparing synchronous, mesochronous and asynchronous NoCs for GALS based MPSoCs | |
Hematian et al. | Zero-delay FPGA-based odd-even sorting network | |
CN105183701A (zh) | 1536点fft处理方式及相关设备 | |
CN110059818B (zh) | 卷积核参数可配的神经卷积阵列电路核、处理器及电路 | |
Kamaraju et al. | Power optimized ALU for efficient datapath | |
Kumar et al. | Simulation of HSTL I/O standard based energy efficient frame buffer for digital image processor | |
Saigal et al. | Design of frame buffer for 1 THz energy efficient digital image processor based on HSLVDCI I/O standard in FPGA | |
Seok et al. | Extending energy-saving voltage scaling in ultra low voltage integrated circuit designs | |
Liu | A hardware and software cooperative design of SoC IP | |
US20160315620A1 (en) | An extensible and configurable logic element, and an fpga device | |
Zydek et al. | Hardware implementation of processor allocation schemes for mesh-based chip multiprocessors | |
Wang et al. | A DSP48-based reconfigurable 2-D convolver on FPGA | |
Kataeva et al. | An operand routing network for an SFQ reconfigurable data-paths processor | |
Subramaniam et al. | Fast median‐finding word comparator array | |
Shelke et al. | Optimization of Memory Oriented Network-on-Chip for FPGA | |
Parepalli et al. | Design alternatives of network-on-chip (noc) router microarchitecture for future communication system | |
Prasad et al. | High-performance NoC simulation acceleration framework employing the xilinx DSP48E1 blocks | |
Jun et al. | A high-performance pseudo-random number generator based on FPGA | |
He et al. | Click-based asynchronous mesh network with bounded bundled data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210108 |