CN117472800A - 一种针对卷积神经网络的高效硬件缓存电路 - Google Patents
一种针对卷积神经网络的高效硬件缓存电路 Download PDFInfo
- Publication number
- CN117472800A CN117472800A CN202311472456.3A CN202311472456A CN117472800A CN 117472800 A CN117472800 A CN 117472800A CN 202311472456 A CN202311472456 A CN 202311472456A CN 117472800 A CN117472800 A CN 117472800A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- bram
- input
- convolutional neural
- 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.)
- Pending
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 101000915470 Homo sapiens Zinc finger MYND domain-containing protein 11 Proteins 0.000 claims description 14
- 102100028551 Zinc finger MYND domain-containing protein 11 Human genes 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 abstract description 10
- 238000013528 artificial neural network Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种针对卷积神经网络的高效硬件缓存电路,该电路包括:数据缓存模块,将DDR中的数据存储至片上的BRAM中;数据移位模块,读取数据缓存模块中BRAM的数据,进行移位操作;异步传输模块,将数据移位模块移位后的数据进行异步,将其中的FIFO用于存放数据,等待调用。通过使用本发明,能够克服基于FPGA的卷积神经网络加速器的输入特征图无法高效缓存的问题,在减少资源的使用的同时,降低电路设计的复杂度。本发明可广泛应用于芯片领域。
Description
技术领域
本发明涉及芯片领域,尤其涉及一种针对卷积神经网络的高效硬件缓存电路。
背景技术
近年来,卷积神经网络(Convolutional Neutral Network,CNN)广泛应用于各种领域,展现出来优异的性能,在AI推理领域,卷积神经网络需要在嵌入式平台做前向推理,而大多数嵌入式平台都有能耗和内存等限制,所以需要高效的处理前向推理过程。因此,基于卷积神经网络的硬件加速器已经成为学术界研究的热点之一。而现场可编程门阵列(FPGA)作为一种可编程的开发板,可以作为基于卷积神经网络硬件加速器的研究测试平台。
近年来兴起的卷积神经网络加速器在输入特征图的处理上,大部分都是通过复杂的电路映射,穷举各种输入特征图的情况进行片上数据缓存,极大地浪费的片上缓存资源。在不同的卷积参数下(卷积核的大小:K、卷积核的步长:S)无法高效的完成输入特征图缓存。
发明内容
有鉴于此,为了解决现有卷积神经网络加速器的输入特征图无法高效缓存的问题,本发明提出一种针对卷积神经网络的高效硬件缓存电路,所述电路包括:
数据缓存模块,将DDR中的数据存储至片上的BRAM中;
数据移位模块,读取数据缓存模块中BRAM的数据,进行移位操作;
异步传输模块,将数据移位模块移位后的数据进行异步,将其中的FIFO用于存放数据,等待调用。
在一些实施例中,所述数据缓存模块,其具体包括:
BRAM模块,利用源语来生成一个读写数据;
输入特征图控制模块,控制25条BRAM的读写数据和读写地址的使能信号的跳转;
顶层模块,例化BRAM模块和输入特征图控制模块,并将对应的信号连接起来以实现输入缓存的功能。
在一些实施例中,所述数据移位模块采用移位寄存器。
在一些实施例中,所述异步传输模块采用16条异步FIFO,用于满足16个PE单元的异步计算需求;移位寄存器组每次移位后得到的数据同时发送给16条异步FIFO,16条异步FIFO的数据根据PE单元给出的读使能信号读出。
在一些实施例中,所述BRAM模块具体采用bram_WR64bit_36KB,所述输入特征图控制模块具体采用input_buffer_ctrl,所述顶层模块具体采用bram_25__WR_64bit__36KB。
在一些实施例中,所述数据移位模块中的寄存器组根据计算单元的数量进行等比例的改变。
在一些实施例中,input_buffer_ctrl的工作过程如下:
input_buffer_ctrl通过状态机的状态转移,控制输出信号weain的值来控制BRAM的写操作;当信号weain的最低位为1时,BRAM1的写使能信号拉高,将数据写入BRAM1;当最低位和第21位同时为1时,表示BRAM1和BRAM21的写使能信号同时为高,将数据同时写入BRAM1和BRAM21;
input_buffer_ctrl通过状态机的状态转移,控制输出信号addrout_out的值来控制BRAM的写地址,addrout_out的位宽设置为25*BRAM的写地址位宽,根据状态的跳转,将当前的写地址赋给不同的BRAM;状态机跳转到写BRAM3时,将当前地址赋值给addrout_out对应于BRAM3的位置,其它位全部为0。
基于上述方案,本发明提供了一种针对卷积神经网络的高效硬件缓存电路,通过数据缓存模块、数据移位模块和异步传输模块的结合,来解耦输入特征图的缓存,减少了资源的使用,降低电路设计的复杂度,同时,本发明高效硬件缓存电路克服了其他输入特征图的硬件缓存电路的设计过于复杂的问题。
附图说明
图1是本发明一种针对卷积神经网络的高效硬件缓存电路的整体框架图;
图2是本发明具体实施例数据缓存模块的结构示意图;
图3是本发明具体实施例数据缓存模块的状态转移图;
图4是本发明具体实施例移位寄存器组的示意图;
图5是本发明具体实施例异步FIFO的示意图。
具体实施方式
基于FPGA的卷积神经网络加速器受到广泛关注的原因主要有两个。首先,半导体技术的发展使得FPGA的计算能力和片内存储容量不断上升;其次,网络压缩技术的发展使得卷积计算过程变得不规则,而FPGA的灵活性使其适合处理不规则卷积计算和自定义的数据类型。此外,不同的特征图尺寸大小要求我们有效地重用片内缓冲区的数据,否则将导致更多的片外访问次数,从而降低能源效率。
本专利旨在针对基于FPGA的卷积神经网络加速器的输入特征图无法高效缓存的问题,设计了一种高效的硬件缓存电路,能够支持不同的卷积参数(比如卷积步长S、权重大小K和输入特征图尺寸H/L);不仅支持各种卷积参数,还提高了资源受限的基于FPGA的卷积神经网络加速器的效率和减少了资源的使用。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
应当理解,本申请中使用的“***”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
在本申请实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
另外,本申请中使用了流程图用来说明根据本申请的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
参照图1,为本发明提出的针对卷积神经网络的高效硬件缓存电路的整体框架图,该高效硬件缓存电路包括:
数据缓存模块,将DDR中的数据存储至片上的BRAM中;
数据移位模块,读取数据缓存模块中BRAM的数据,进行移位操作;
异步传输模块,将数据移位模块移位后的数据进行异步,将其中的FIFO用于存放数据,等待调用。
在一些可行的实施例中,所述数据缓存模块具体如下:
参照图2,数据缓存模块主要由三个模块组成,第一个模块是BRAM模块,模块名为bram_WR64bit_36KB,主要是利用源语来生成一个读写数据位宽为64bit,读写地址位宽为9bit即深度为512的简单双端口BRAM;第二个模块是输入特征图控制模块,模块名为input_buffer_ctrl,它的功能是控制25条BRAM的读写数据和读写地址的使能信号的跳转;第三个模块是数据缓存模块的顶层模块,模块名为bram_25__WR_64bit__36KB,例化了前面两个小模块并将对应的信号连接起来实现输入缓存的功能。
数据缓存模块的input_buffer_ctrl完成了输入特征图的补零和重叠操作,其中实现输入特征图重叠和补零操作是通过状态机的状态转移去实现,图3显示了权重大小为3的时候,input_buffer_ctrl的状态转移。当input_buffer_ctrl一开始处于Idle状态,表示状态机处于空闲,接受到开始信号start后,状态跳转到init进行清零,然后根据输入信号kernel_size和pad_edge给pad_top赋值,pad_top表示要为输入特征图的上边缘补充几行的零值,当权重大小为3.即kernel_size=3时,pad_top为1,表示要在上边缘补一行0,则第一条BRAM不写,表示在此行写入零,状态机进入写BRAM2的状态,将原始输入特征图分块的第一行数据写入BRAM2,写完20行数据后,状态机进入写BRAM1和写BRAM21的状态,将原始输入特征图分块的第20行数据同时写入BRAM1和BRAM21,接着状态机进入写BRAM2和写BRAM22的状态,将原始输入特征图分块的第21行数据同时写入BRAM2和BRAM22,然后状态机跳转到写BRAM3的状态,将原始输入特征图分块的第22行数据写入BRAM3。
input_buffer_ctrl通过状态机的状态转移,控制输出信号weain的值来控制BRAM的写操作,比如当信号weain的最低位为1时,BRAM1的写使能信号拉高,将数据写入BRAM1;当最低位和第21位同时为1时,表示BRAM1和BRAM21的写使能信号同时为高。将数据同时写入BRAM1和BRAM21。
input_buffer_ctrl通过状态机的状态转移,控制输出信号addrout_out的值来控制BRAM的写地址,addrout_out的位宽设置为25*BRAM的写地址位宽,根据状态的跳转,将当前的写地址赋给不同的BRAM,比如状态机跳转到写BRAM3时,将当前地址赋值给addrout_out对应于BRAM3的位置,其它位全部为0。
在一些可行的实施例中,所述数据移位模块,具体描述如下:
数据移位模块的关键就是移位寄存器的实现,移位寄存器支持权重大小为1~7,卷积步长为1和2,图4列举了权重大小为7,卷积步长为2以及权重大小为3,卷积步长为1的例子。右边的寄存器组中的10个寄存器对应卷积模块的10个计算单元,可以根据计算单元的数量进行等比例的改变。
当权重大小为7,卷积步长为2的时候,移位寄存器组会从数据缓存模块读出25条BRAM的数据,由于BRAM的读位宽是64bit,包含了8个通道的输入激活数据,因此移位寄存器组单个寄存器位宽也为64bit,存储8个通道的数据,为了实现对输入激活的复用,寄存器会根据卷积步长向上移位赋值,比如第一周期内左边寄存器0的数据赋值给右边寄存器0,第二个周期就是左边寄存器2的值赋值给右边寄存器0,向上移位赋值的次数是权重大小减1,由图4可知,当权重大小为7,卷积步长为2的情况下,25个寄存器全部用到,刚好可以对输入激活进行数据复用。
当权重大小为3,卷积步长为1的时候,输入缓存存储了22行输入特征图分块数据,移位寄存器组会先从数据缓存模块读出12行数据,通过移位寄存器向上赋值实现输入激活的复用,比如第一周期内左边寄存器0的数据赋值给右边寄存器0,第二个周期就是左边寄存器1的值赋值给右边寄存器0,一共需要向上移位赋值两次,当着12行数据遍历完成后,从输入缓存读取另外12行数据重复移位操作。
在一些可行的实施例中,所述异步传输模块,具体描述如下:
由于输入特征图传输到计算模块的数据需要异步,为了确保每个PE单元的乘累加计算能够连续的进行,提高整个卷积计算单元的计算效率,需要在输入缓存添加16条异步FIFO,确保数据能够在需要的时候及时传输给各个PE单元做乘累加计算,提高输入特征图的传输效率。
输入缓存的数据传输模块主要是通过移位寄存器组来实现输入激活的复用,FIFO模块用于满足16个PE单元的异步计算需求,移位寄存器组每次移位后得到的数据同时发送给16条FIFO,16条FIFO的数据根据PE单元给出的读使能信号读出,实现方案如图5所示。
综上,本发明设计了一个基于卷积神经网络输入特征图的高效硬件缓存电路,是将DDR(Double Data Rate)的输入特征图数据缓存到BRAM(Block Ram)中,然后将BRAM的数据传输到移位寄存器组,最后通过异步FIFO(First In,First Out)传输到卷积计算核。设计输入特征图高效硬件缓存***的关键点在于输入特征图的补零和重叠,这些情况由不同的卷积参数来控制。输入特征图分块会导致输入特征图相邻的分块之间会出现重叠的情况。根据上述情况,高效硬件缓存电路主要由三个模块组成,第一个模块是数据缓存模块,主要是将DDR中的数据存储到片上的Bram上,此模块的重点就是处理不同卷积参数带来的重叠和输入特征图补零的操作;第二个模块是数据移位模块,主要是实现了一个25个数据的移位操作,通过一个移位寄存器进行操作,此模块的重点也是设计不同卷积参数带来的移位次数和数据映射变化;第三个模块是异步传输模块,主要是将16个异步FIFO来暂时存放数据,供计算模块的使能信号来调用。根据上述三个模块的设计,就能实现输入特征图高效硬件缓存电路。
此外,随着CNN的规模不断变大,参数也越来越多,不同的特征图尺寸大小要求我们有效地重用片内缓冲区的数据,否则将导致更多的片外访问次数,从而降低能源效率。因此,因此在片上设计一个高效的输入特征图硬件缓存具有十分重要的意义。
因此能设计出一种输入特征图高效硬件缓存电路非常有意义。目前较为常见的穷举法设计输入特征图缓存电路,它虽然可以通过逐个设计卷积参数。但是消耗的硬件的资源非常多,并且会大幅度降低加速器的灵活性。本发明通过简单的电路设计与实现,使用较少的资源并且支持所有的卷积参数组合,下表展示了本***支持的卷积参数的组合:
表1卷积参数的组合
可支持卷积组合 | 卷积核大小 | 卷积步长 | 补零操作 |
1 | 1*1 | 1 | 支持 |
2 | 1*1 | 2 | 支持 |
3 | 3*3 | 1 | 支持 |
4 | 3*3 | 2 | 支持 |
5 | 5*5 | 1 | 支持 |
6 | 5*5 | 2 | 支持 |
7 | 7*7 | 2 | 支持 |
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (7)
1.一种针对卷积神经网络的高效硬件缓存电路,其特征在于,包括:
数据缓存模块,将DDR中的数据存储至片上的BRAM中;
数据移位模块,读取数据缓存模块中BRAM的数据,进行移位操作;
异步传输模块,将数据移位模块移位后的数据进行异步,将其中的FIFO用于存放数据,等待调用。
2.根据权利要求1所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,所述数据缓存模块,其具体包括:
BRAM模块,利用源语来生成一个读写数据;
输入特征图控制模块,控制25条BRAM的读写数据和读写地址的使能信号的跳转;
顶层模块,例化BRAM模块和输入特征图控制模块,并将对应的信号连接起来以实现输入缓存的功能。
3.根据权利要求2所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,所述数据移位模块采用移位寄存器。
4.根据权利要求3所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,所述异步传输模块采用16条异步FIFO,用于满足16个PE单元的异步计算需求;移位寄存器组每次移位后得到的数据同时发送给16条异步FIFO,16条异步FIFO的数据根据PE单元给出的读使能信号读出。
5.根据权利要求4所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,所述BRAM模块具体采用bram_WR64bit_36KB,所述输入特征图控制模块具体采用input_buffer_ctrl,所述顶层模块具体采用bram_25__WR_64bit__36KB。
6.根据权利要求5所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,所述数据移位模块中的寄存器组根据计算单元的数量进行等比例的改变。
7.根据权利要求6所述一种针对卷积神经网络的高效硬件缓存电路,其特征在于,input_buffer_ctrl的工作过程如下:
input_buffer_ctrl通过状态机的状态转移,控制第一输出信号weain的值来控制BRAM的写操作;当weain的最低位为1时,BRAM1的写使能信号拉高,将数据写入BRAM1;当weain的最低位和第21位同时为1时,表示BRAM1和BRAM21的写使能信号同时为高,将数据同时写入BRAM1和BRAM21;
input_buffer_ctrl通过状态机的状态转移,控制第二输出信号addrout_out的值来控制BRAM的写地址,addrout_out的位宽设置为25*BRAM的写地址位宽,根据状态的跳转,将当前的写地址赋给不同的BRAM;状态机跳转到写BRAM3时,将当前地址赋值给addrout_out对应于BRAM3的位置,其它位全部为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311472456.3A CN117472800A (zh) | 2023-11-07 | 2023-11-07 | 一种针对卷积神经网络的高效硬件缓存电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311472456.3A CN117472800A (zh) | 2023-11-07 | 2023-11-07 | 一种针对卷积神经网络的高效硬件缓存电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472800A true CN117472800A (zh) | 2024-01-30 |
Family
ID=89636048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311472456.3A Pending CN117472800A (zh) | 2023-11-07 | 2023-11-07 | 一种针对卷积神经网络的高效硬件缓存电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472800A (zh) |
-
2023
- 2023-11-07 CN CN202311472456.3A patent/CN117472800A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储***及加速计算方法 | |
CN109102065B (zh) | 一种基于PSoC的卷积神经网络加速器 | |
CN111488983B (zh) | 一种基于fpga的轻量级cnn模型计算加速器 | |
CN112463719A (zh) | 一种基于粗粒度可重构阵列实现的存内计算方法 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
CN103218348B (zh) | 快速傅里叶变换处理方法和*** | |
CN110852428A (zh) | 基于fpga的神经网络加速方法和加速器 | |
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
CN103714044A (zh) | 一种基于片上网络的高效率矩阵转置簇以及转置方法 | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
CN104461966B (zh) | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 | |
CN102402415A (zh) | 一种动态可重构阵列内数据缓存的装置及方法 | |
CN111860773B (zh) | 处理装置和用于信息处理的方法 | |
CN111783933A (zh) | 一种对深度卷积神经网络计算加速的、结合主存储器的数据载入装置的硬件电路设计及方法 | |
CN107506329A (zh) | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 | |
CN114092338B (zh) | 图像缩放快速计算方法 | |
CN108701102A (zh) | 直接存储器访问控制器、数据读取方法和数据写入方法 | |
US11861369B2 (en) | Processing-in-memory (PIM) device | |
CN113222129A (zh) | 一种基于多级缓存循环利用的卷积运算处理单元及*** | |
CN117472800A (zh) | 一种针对卷积神经网络的高效硬件缓存电路 | |
CN103226977B (zh) | 基于fpga的快速nand flash控制器及其控制方法 | |
CN113705794B (zh) | 一种基于动态激活位稀疏的神经网络加速器设计方法 | |
CN115204373A (zh) | 一种卷积神经网络的快速卷积及缓存模式的设计方法 | |
CN113392963A (zh) | 基于fpga的cnn硬件加速***设计方法 | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 |
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 |