CN102208005A - 一种2-d卷积器 - Google Patents

一种2-d卷积器 Download PDF

Info

Publication number
CN102208005A
CN102208005A CN2011101426794A CN201110142679A CN102208005A CN 102208005 A CN102208005 A CN 102208005A CN 2011101426794 A CN2011101426794 A CN 2011101426794A CN 201110142679 A CN201110142679 A CN 201110142679A CN 102208005 A CN102208005 A CN 102208005A
Authority
CN
China
Prior art keywords
unit
input
output
convolutional calculation
data
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.)
Granted
Application number
CN2011101426794A
Other languages
English (en)
Other versions
CN102208005B (zh
Inventor
桑红石
廖定彬
袁雅婧
陈鹏
张静
梁巢兵
赵华龙
胡孔阳
高伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201110142679.4A priority Critical patent/CN102208005B/zh
Publication of CN102208005A publication Critical patent/CN102208005A/zh
Application granted granted Critical
Publication of CN102208005B publication Critical patent/CN102208005B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

2-D卷积计算在图像处理领域中有着广泛的应用,本发明公开了一种2-D卷积器,通过将2-D卷积计算分解为多1-D卷积计算窗口并行计算以及采用图像数据以行或列主导Zigzag扫描格式输入的策略,减少了片上存储器的容量,降低了片上资源开销;并且2-D卷积器能接受行或列主导Zigzag扫描格式这两种不同图像数据输入格式的特点,使得本2-D卷积器适用于不同的应用系统;通过调整中间结果暂存单元各双端口SRAM的深度W,在片上存储器容量和外部带宽之间做出较好的折中,带来系统设计的灵活性。与现有的2-D卷积器相比,本发明占用的硬件资源少,吞吐率可以满足大多数图像处理系统的实时性要求,可用于实现低成本嵌入式系统中2-D卷积计算。本发明属于超大规模集成电路结构设计领域。

Description

一种2-D卷积器
技术领域
本发明属于超大规模集成电路(VLSI,Very Large Scale Integrated Circuit)结构设计领域,具体涉及到一种用于数字图像信号处理的2-D卷积器的VLSI结构。
背景技术
2-D卷积计算在图像处理领域有着广泛的应用,例如空间滤波,图像增强,模板匹配等。但由于卷积计算所需要的乘-加运算量特别大,当处理较大的图像或者卷积模板较大时,采用常用的商用DSP器件很难达到实时性能。因此,有必要研究出高效的2-D卷积器VLSI结构来满足实时图像处理系统中对速度和成本的要求。
2-D图像卷积计算如公式①所示,I为M行N列的图像,T为R行S列的卷积模板,O(x,y)为输出图像。每个输出图像像素为卷积模板和图像中对应R×S子块的点乘累加和。
O ( x , y ) = Σ i = 1 i = R Σ j = 1 j = S T ( i , j ) · I ( x + i - 1 , y + j - 1 ) , 其中 ∀ ( x , y ) ∈ ( M - R + 1 ) × ( N - S + 1 )
可以看出,2-D卷积计算的数据流非常规整,且具有行、列方向上的2-D数据复用,因此,卷积计算很适合于VLSI硬件实现。
公式①可以分解为如下②,③两式:
O ( x , y ) = Σ i = 1 i = R P i ( x , y ) , 其中 P i ( x , y ) = Σ j = 1 j = S T ( i , j ) · I ( x + i - 1 , y + j - 1 )
O ( x , y ) = Σ j = 1 j = S P j ( x , y ) , 其中 P j ( x , y ) = Σ i = 1 i = R T ( i , j ) · I ( x + i - 1 , y + j - 1 )
Pi(x,y)和Pj(x,y)均为1-D卷积计算窗口,公式②和③说明2-D卷积计算可以分解为1-D卷积计算的方式来完成,相应的R或者S个1-D卷积计算窗口的结果的累加和即为2-D卷积计算结果。本发明2-D卷积器的硬件结构采用了公式②和③的基本思想。
对2-D卷积器VLSI结构的研究由来已久,大部分结构都在外部带宽,片上存储器容量和吞吐率三者之间进行折中,这也是权衡结构性能的三个设计指标。Hui Zhang于2007年在“A multiwindow partial buffering scheme for FPGA-based 2-D convolvers”(IEEE Transactions on Circuits and System II:Express Briefs,2007,54(2):200-304)一文中列出了FB(Full Buffering),SWPB(Single-Window Partial Buffering)和MWPB(Multi-Window Partial Buffering)三种最为典型的2-D卷积器。传统的FB结构虽然具有最小外部带宽的特点,但是消耗掉了巨量的片上存储器资源;SWPB则需要巨大的外部带宽;而MWPB削减了用于缓存图像数据的片上存储器容量,且外部带宽相对于FB增大的不大,在硬件资源开销和外部带宽之间实现了较好的折中,但由于MWPB使用了较多的输入FIFO,使得I/O配置变得复杂、引脚数增多,同时,MWPB特有的输出流水线也会耗用额外的片上存储器资源。由此可见,2-D卷积器的三个设计指标存在相互制约的关系,如何实现在低的外部带宽,小的资源开销的情况下达到最大的吞吐率成为VLSI硬件设计结构的难点。
发明内容
有鉴于以上描述,本发明针对数字图像处理中对2-D卷积计算的实时性需求以及现有卷积器耗用片上资源过多的不足,提出了一种2-D卷积器,该2-D卷积器在VLSI实现时可以发挥硬件并行计算的速度优势,达到1时钟/像素的吞吐率,具有小的硬件资源开销,小的芯片面积和成本。
本发明提供的一种2-D卷积器,卷积模板系数以光栅扫描格式输入,图像数据以行主导或者列主导Zigzag扫描格式输入;其特征在于:该卷积器包括中心控制单元,图像缓存单元,卷积计算单元,中间结果暂存单元,输入接口单元和输出缓冲单元;
输入接口单元接收外部输入的卷积模板系数和图像数据,在中心控制单元的控制下将卷积模板系数输出到卷积计算单元,将图像数据输出到图像缓存单元;
图像缓存单元从输入接口单元中读取图像数据,串行移入并行输出,将转化后的并行图像数据输出到卷积计算单元;
卷积计算单元在卷积计算开始前,预先接收由输入接口单元输出的卷积模板系数并保存;然后接收图像缓存单元输出的并行图像数据,并进行卷积计算,计算的中间结果写入到中间结果暂存单元中,并将最终的卷积计算结果写入到输出缓冲单元中;
输出缓冲单元在中心控制单元给出的输出有效使能信号的控制下寄存卷积计算单元输入的最终卷积计算结果,并对外部接口输出数据;
中间结果暂存单元用于保存卷积计算单元计算的中间结果,中间结果暂存单元的读、写控制信号以及读、写地址均由中心控制单元产生,写入的数据来自于卷积计算单元,读出的数据输出到卷积计算单元;
中心控制单元将外部输入的卷积模板系数和图像数据写入输入接口单元,从输入接口单元中读出卷积模板系数和图像数据分别写入到卷积计算单元和图像缓存单元中,将图像缓存单元输出的并行图像数据输入到卷积计算单元中进行卷积计算,为中间结果暂存单元产生存储器读写地址以及控制信号,并结合卷积计算单元的计算状态为输出缓冲单元产生输出有效使能信号,实时控制各个单元的状态和数据调度。
与现有结构相比,本发明有效降低了片上存储器容量,减少了硬件资源开销,提高了处理速度,并且可以通过改变中间结果暂存单元各双端口SRAM的深度W,来调整外部带宽和片上存储器的容量,增加了设计的灵活性,使得本发明2-D卷积器在外部带宽,片上存储器容量和吞吐率三者之间取得了较好的折中。具体而言,本发明具有以下技术效果:
(1)通过多个1-D卷积计算窗口并行计算减少片上资源开销
2-D卷积计算本身可以分解为1-D卷积的累加和,如公式①,②,③所示,同时,存在行、列方向上的2-D数据复用,也就是说,同一数据会在多个1-D卷积计算窗口中被使用到,本发明充分利用了这些特点,降低了硬件的复杂度,采用多个1-D卷积计算窗口并行计算的硬件结构,尽量利用已经缓存到片上的图像数据,达到部分2-D数据复用以尽量减少外部带宽。当足够的图像数据被缓存到片上时,会被广播到所有需要该数据的多个1-D卷积计算窗口,完成相应的1-D卷积计算,产生对应的中间结果,这些中间计算结果缓存在片上中间结果暂存存储器中。这样,和现有结构相比,本发明用于片上缓存图像输入数据的寄存器阵列由RxS变为2xS,减少为以前的2/R。由于没有使用传统FB卷积器结构中用于缓存R-1行图像数据以构成卷积计算窗口的延迟线存储器,本发明大大减少了片上存储器的容量,降低了片上资源开销。
(2)通过改变图像扫描输入格式适应不同应用系统
行主导Zigzag的数据扫描输入格式用于实现公式②,此时要求图像在片外也以同样的方式保存,对那些没有足够大存储空间的低成本嵌入式应用系统来说,缓存整幅图像是相当困难的,若改变为列主导Zigzag数据扫描输入格式,将卷积器结构中的R行S列PE计算单元阵列变为S行R列,加法器树个数以及中间结果暂存存储器块数分别变为S个和S-1块,而连接关系类似,这样就可以实现公式③,从而不必要求在片外缓存整幅图像。对结构只有微小的改动,当R=S时甚至不需要任何变动。由此可见,本发明结构可接受行或列主导Zigzag两种数据扫描输入格式,适用于不同的应用系统。
(3)改变中间结果暂存单元各双端口SRAM的深度W,在片上存储器容量和外部带宽之间进行折中,带来系统设计的灵活性
本发明2-D卷积器的吞吐率为1时钟/像素(clcok/pixel),其外部带宽和片上存储器容量均为中间结果暂存单元各双端口SRAM的深度W的函数。片上存储器容量包含输入接口单元中FIFO的容量和中间结果暂存存储器容量两个部分,但主要取决于后者的大小。本2-D卷积器的中间结果暂存存储器容量随着W增大而增加,外部带宽随着W增大而减少,调整W的大小,就可以在两者之间取得适合于实时系统的折中关系,带来了系统设计的灵活性。
本发明通过多1-D卷积计算窗口并行计算的方式将用于片上缓存外部输入图像数据的寄存器阵列减少为以前的2/R,省略了传统FB结构中缓存输入图像数据的延迟线的使用,显著减小了片上存储器容量,降低了芯片总面积和设计成本;通过行或者列主导Zigzag数据扫描输入格式,适应不同的应用系统,调整W的大小,在片上存储器容量和外部带宽之间取得较好的折中,带来系统设计的灵活性。
附图说明
图1为2-D卷积器总体结构示意图。
图2为输入接口单元5的结构示意图。
图3为图像缓存单元2的结构示意图。
图4为卷积计算单元3中PE单元的结构示意图。
图5为卷积计算单元3、中间结果缓存单元4和输出缓冲单元6的结构示意图。
图6为7x7卷积模板时外部带宽和中间结果暂存存储器容量与W的函数关系示意图。
具体实施方式
下面结合附图和实例对本发明作进一步详细的说明。
如图1所示,本发明的2-D卷积器包括中心控制单元1,图像缓存单元2,卷积计算单元3,中间结果暂存单元4,输入接口单元5和输出缓冲单元6。
本发明中,中心控制单元1负责系统中各个单元模块的状态控制和数据调度。芯片复位完成后,中心控制单元1将外部预先按光栅扫描格式输入的R行S列卷积模板系数依次全部写入到输入接口单元5,同时从输入接口单元5中读出这些卷积模板系数并启动行、列计数器对读出的数据个数进行行、列计数,依据行、列计数器的值将之写入并保存在卷积计算单元3中。待卷积模板系数写入完成后,中心控制单元1将外部以行或者列主导Zigzag扫描格式输入的图像数据依据行、列计数值写入到输入接口单元5中,同时中心控制单元1从输入接口单元5中读取图像数据写入到图像缓存单元2中。当图像缓存单元2中填充足够的图像数据后,中心控制单元1将图像缓存单元2输出的并行图像数据输入到卷积计算单元3中,同时从中间结果暂存单元4读出所需要的先前保存在其中的中间计算结果,启动卷积计算单元3开始有效的卷积计算,并将卷积计算单元3计算的有效中间结果写入到中间结果暂存单元4中。当中心控制单元1产生的输出有效使能信号有效后,中心控制单元1控制输出缓冲单元6接收卷积计算单元3的计算输出结果,寄存一级后作为2-D卷积计算结果输出到片外。
输入接口单元5用作外部输入接口与卷积器内部进行数据传输的缓冲器,接收外部输入的卷积模板系数和图像数据,在中心控制单元1的控制下将卷积模板系数输出到卷积计算单元3,将图像数据输出到图像缓存单元2。
图像缓存单元2接收输入接口单元5输出的串行图像数据,依据中心控制单元1给出的行、列计数器的计数值将之缓存起来,并将转化后的并行图像数据输出到卷积计算单元3。
卷积计算单元3完成2-D卷积所需要的所有乘加计算,在卷积器复位完成后,预先接收由输入接口单元5输出的卷积模板系数并将之保存,然后接收图像缓存单元2输出的并行图像数据;卷积计算开始后,在中心控制单元1的控制下将中间计算结果写入到中间结果暂存单元4中,并将最终的卷积计算结果输出到输出缓冲单元6中。
中间结果暂存单元4为存储器,保存有卷积计算单元3计算的中间计算结果,其读、写控制信号以及读、写地址均由中心控制单元1产生,输入的数据来自于卷积计算单元3,读出的数据输出到卷积计算单元3。
输出缓存单元6在中心控制单元1给出的输出有效使能信号的控制下将由卷积计算单元3输入的卷积计算结果寄存一级后输出到片外。
2-D卷积器将按光栅扫描格式预先输入的卷积模板系数和随后按行或者列主导Zigzag扫描格式输入的图像数据经输入接口单元5分别写入到卷积计算单元3和图像缓存单元2中。在中心控制单元1的控制下,卷积计算单元3利用图像缓存单元2输出的并行图像数据与先前保存在卷积计算单元3中的卷积模板系数进行卷积计算,并从中间结果暂存单元4中读取已有的中间计算结果,两者累加后写入到中间结果暂存单元4。在中心控制单元1给出的输出有效使能信号有效时,最终的卷积计算结果由卷积计算单元3写入到输出缓冲单元6,并由输出缓冲单元6输出到片外。
如图2所示,输入接口单元5包括第一输入FIFO51和第二输入FIFO52,两者的深度均为P,P的大小可依据不同系统而定,一般而言,P可取值为上位机对2-D卷积器的突发传输数据个数。第一输入FIFO51首先接收外部预先输入的卷积模板系数,并在在中心控制单元1的控制下输出到卷积计算单元3。然后第一输入FIFO51和第二输入FIFO52分别在中心控制单元1的控制下交替接收外部输入的图像数据,并同时在中心控制单元1的控制下将图像数据输出到图像缓存单元2中,以保证卷积器工作所需的数据流。
在图像数据接收阶段,第一输入FIFO51接收外部最开始输入的W+S-1个图像数据,第二输入FIFO52接收紧接着外部输入的后S个图像数据,然后,第一输入FIFO51接收紧接着外部输入的W-1个图像数据,外部输入的后S个则又写入到第二输入FIFO52,此后外部输入的W-1个图像数据被写入到第一输入FIFO51,如此循环下去,直到行、列计数器的值分别为M和W+S-1后重复上述所有写入图像数据的过程。
如图3所示,图像缓存单元2包括第一S列寄存器组21,第二S列寄存器组22以及第一多路选择器组23。第一S列寄存器组21和第二S列寄存器组22均包含S个寄存器,每一个寄存器可以保存一个图像数据,第一多路选择器组23包含S个二输入多路选择器。第二S列寄存器组22从第二输入FIFO52中读取图像数据,将之串行移入它的S个寄存器,各寄存器的输出作为第一多路选择器组23各多路选择器的一路输入。第一多路选择器组23各多路选择器的另一路输入为第一输入FIFO51的输出以及第一S列寄存器组21的前S-1个寄存器的输出,各多路选择器的输出则作为第一S列寄存器组21各个寄存器的输入。第一S列寄存器组21输出的S个并行图像数据DS,DS-1,...,D1输入到卷积计算单元3。
当卷积模板系数更新完成后,外部输入的图像数据在中心控制单元1的控制下交替写入到第一输入FIFO51和第二输入FIFO52中,若第一输入FIFO51和第二输入FIFO52不为空时,即已经保存有有效的图像数据后,第一S列寄存器组21首先串行移入从第一输入FIFO51读出的W+S-1个图像数据,其输出的并行图像数据输入到卷积计算单元3进行卷积计算,此时第一多路选择器组23各多路选择器的输出选择为第一输入FIFO51的输出以及第一S列寄存器组21的前S-1个寄存器的输出。在此期间,第二S列寄存器组22从第二输入FIFO52中读取S个图像数据串行移入到它的寄存器中,转为并行图像数据输出到第一多路选择器组23的各多路选择器的输入端口上。此后,第一多路选择器组23将第二S列寄存器组22先前已经转为并行输出的S个数据输出到第一S列寄存器组21,第一S列寄存器组21在紧接着的时钟上升沿并行加载该路数据。然后,第一S列寄存器组21串行移入从第一输入FIFO51中读取出来的W-1个图像数据,同时,第二S列寄存器组22也会从第二输入FIFO52中读取S个数据串行移入并转为并行图像数据输出到第一多路选择器组23的各多路选择器的输入端口上。此后,第一多路选择器组23又将第二S列寄存器组22之前已经转为并行输出的S个数据输出到第一S列寄存器组21,第一S列寄存器组21在紧接着的时钟上升沿并行加载该路数据,并串行移入从第一输入FIFO51中读取出来的W-1个图像数据,而第二S列寄存器组22同时从第二输入FIFO52中读取S个数据转为并行图像数据输出。如此循环下去,直到行、列计数器的值分别为M和W+S-1后重复上述所有过程。图像缓存单元2便按照上述工作模式为卷积计算单元3提供数据流。
如图4所示,PE单元包括用于保存卷积模板系数的第一系数寄存器311和第一乘法器312。第一系数寄存器311用于保存一个在中心控制单元1控制下由外部预先写入第一输入FIFO51并从第一输入FIFO51读取出来的卷积模板系数,该卷积模板系数在卷积模板矩阵中的坐标与PE单元的下脚标相同;第一乘法器312用于将保存在第一系数寄存器311中的卷积模板系数和输入本PE单元的图像数据进行乘法计算。
如图5所示,卷积计算单元3包括第一PE计算单元阵列31以及第一加法器树组32。第一PE计算单元阵列31由R行一维PE单元阵列构成,每行一维PE单元阵列由S列首尾相接的PE单元构成。每列R个PE单元其中一个输入端口接收的数据相同,来自于图像缓存单元2输出的S个并行图像数据的其中一个数据,这样连接可以让每一行一维PE单元阵列计算一个1-D卷积结果,则R行一维PE单元阵列可以同时计算R个1-D卷积结果,这样便实现了R个1-D卷积计算窗口并行计算的目的。每行第一列PE单元的另一个输入端口则均接收第一输入FIFO51的输出,每行第二至S列PE单元的另一个输入端口则连接同行前一列PE单元的输出,这样连接用于在卷积计算开始前,预先将卷积模板系数保存在PE单元的寄存器中。第一加法器树组32由R个加法器树(AT,adder tree)组成,从上往下级数递增编号其级数,第一级加法器树的输入来自于同一行S列PE单元中乘法器的输出,第二至R级加法器树的输入则来自于同一行S列PE单元中乘法器的输出以及上一级中间结果暂存单元4的输出。第一至R-1级加法器树的计算结果写入到同级的中间结果暂存单元4,第R级加法器树的计算结果则输出到输出缓冲单元6。第一S列寄存器组21输出的S个并行图像数据广播到对应的第一PE计算单元阵列31的各个PE单元中去,对应PE单元输出的乘积计算结果作为第一加法器树组32各加法器树的输入,各个加法器树的累加和在中心控制单元1的控制下分别写入中间结果暂存单元4和第一寄存器61,后者作为卷积计算的最终结果送出片外。
中间结果暂存单元4共有R-1级,级数编号从上往下依次递增,由R-1块深度均为W的双端口静态随机存储器(Two-Port SRAM)构成,每块存储器均采用双口RAM结合读写地址变换的方式被封装成了延迟线(Delay Line)的形式,行为模型与移位寄存器组相同,读写地址和控制信号由中心控制单元1产生。中间结果暂存单元4各级输入来自第一加法器树组32中同一级加法器树的输出,各级输出则作为第一加法器树组32下一级加法器树的其中一路输入。
本发明2-D卷积器的吞吐率为1时钟/像素(clcoks/pixel),当图像数据以行或者列主导Zigzag扫描格式输入时,外部带宽为(W+S-1)/W或者(W+R-1)/W像素/时钟(pixels/clock),其数值一般不会超过2,当W取值为图像的列数N时,外部带宽收敛到1像素/时钟。2-D卷积器的片上存储器容量包含输入接口单元5中FIFO的容量和中间结果暂存存储器容量两个部分,但主要取决于后者的大小。以最常用的2-D卷积器处理均为8bit灰度级的图像和卷积模板为例,输入接口单元5中FIFO的容量为16*P比特位,当R=S=3,5,7,9,11,13,15时,中间结果暂存存储器的容量分别为37*W,80*W,125*W,173*W,222*W,272*W,321*W比特位(bits)。
如图6所示,为7x7卷积模板下外部带宽和中间结果暂存存储器容量关于W的关系示意图,随着W的增大,外部带宽逐渐减少,当W取值为图像的列数N时,外部带宽收敛到1像素/时钟(pixels/clock),而中间结果暂存存储器容量则随着W的增大逐渐增加。其它不同大小的卷积模板均有类似特性,有鉴于此,可以依据外部可提供的带宽和片上存储器的资源来选择适当的W,在外部带宽和中间结果暂存存储器容量之间取得较好的折中,给系统设计带来极大的灵活性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种2-D卷积器,卷积模板系数以光栅扫描格式输入,图像数据以行主导或者列主导Zigzag扫描格式输入;其特征在于:该卷积器包括中心控制单元(1),图像缓存单元(2),卷积计算单元(3),中间结果暂存单元(4),输入接口单元(5)和输出缓冲单元(6);
输入接口单元(5)接收外部输入的卷积模板系数和图像数据,在中心控制单元(1)的控制下将卷积模板系数输出到卷积计算单元(3),将图像数据输出到图像缓存单元(2);
图像缓存单元(2)从输入接口单元(5)中读取图像数据,串行移入并行输出,将转化后的并行图像数据输出到卷积计算单元(3);
卷积计算单元(3)在卷积计算开始前,预先接收由输入接口单元(5)输出的卷积模板系数并保存;然后接收图像缓存单元(2)输出的并行图像数据,并进行卷积计算,计算的中间结果写入到中间结果暂存单元(4)中,并将最终的卷积计算结果写入到输出缓冲单元(6)中;
输出缓冲单元(6)在中心控制单元(1)给出的输出有效使能信号的控制下寄存卷积计算单元(3)输入的最终卷积计算结果,并对外部接口输出数据;
中间结果暂存单元(4)用于保存卷积计算单元(3)计算的中间结果,中间结果暂存单元(4)的读、写控制信号以及读、写地址均由中心控制单元(1)产生,写入的数据来自于卷积计算单元(3),读出的数据输出到卷积计算单元(3);
中心控制单元(1)将外部输入的卷积模板系数和图像数据写入输入接口单元(5),从输入接口单元(5)中读出卷积模板系数和图像数据分别写入到卷积计算单元(3)和图像缓存单元(2)中,将图像缓存单元(2)输出的并行图像数据输入到卷积计算单元(3)中进行卷积计算,为中间结果暂存单元(4)产生存储器读写地址以及控制信号,并结合卷积计算单元(3)的计算状态为输出缓冲单元(6)产生输出有效使能信号,实时控制各个单元的状态和数据调度。
2.根据权利要求1所述的2-D卷积器,其特征在于:输入接口单元(5)包括第一输入FIFO(51)和第二输入FIFO(52);
第一输入FIFO(51)和第二输入FIFO(52)的输入均来自于外部输入接口,第一输入FIFO(51)首先接收外部预先输入的卷积模板系数,并将这些数据输出至卷积计算单元(3);此后,第一输入FIFO(51)和第二输入FIFO(52)交替接收外部输入的图像数据,并输出至图像缓存单元(2)。
3.根据权利要求1所述的2-D卷积器,其特征在于:图像缓存单元(2)包括第一S列寄存器组(21),第二S列寄存器组(22)以及第一多路选择器组(23),S为卷积模板的列数;
第一S列寄存器组(21)和第二S列寄存器组(22)均包含S个寄存器,每一个寄存器用于保存一个图像数据,第一多路选择器组(23)包含S个二输入多路选择器;
第二S列寄存器组(22)从输入接口单元(5)中读取图像数据,串行移入第二S列寄存器组(22)的S个移位寄存器中,各寄存器的输出作为第一多路选择器组(23)各多路选择器的一路输入;
第一多路选择器组(23)各多路选择器的另一路输入来自于输入接口单元(5)的一路输出以及第一S列寄存器组(21)前S-1个寄存器的输出,各多路选择器的输出则作为第一S列寄存器组(21)各寄存器的输入;
第一S列寄存器组(21)各寄存器输出的S个并行图像数据输出到卷积计算单元(3)进行卷积计算。
4.根据权利要求1所述的2-D卷积器,其特征在于:卷积计算单元(3)包括第一PE计算单元阵列(31)和第一加法器树组(32);
第一PE计算单元阵列(31)包含R行一维PE单元阵列,每行一维PE单元阵列由S列首尾相接的PE单元组成,其中R,S分别为卷积模板的行数和列数;每个PE单元包含用于保存一个从输入接口单元(5)读出的卷积模板系数的第一系数寄存器(311);每个PE单元还包含第一乘法器(312),用于保存在第一系数寄存器(311)的卷积模板系数与输入PE单元的图像数据进行乘法计算;
每列R个PE单元其中一个输入端口接收相同的图像数据,来自于图像缓存单元(2)输出的S个并行图像数据的其中一个数据;每行第一列PE单元的另一个输入端口则均接收输入接口单元(5)的输出,每行第二至S列PE单元的另一个输入端口则连接同行前一列PE单元的输出;
卷积器开始工作后,第一PE计算单元阵列(31)预先接收并保存来自输入接口单元(5)输出的卷积模板系数,然后接收图像缓存单元(2)输出的S个并行图像数据进行卷积计算;
第一加法器树组(32)由R个加法器树组成,每个加法器树的输入来自于同一行S列PE单元的输出以及中间结果暂存单元(4)的其中一个输出,计算结果写入到中间结果暂存单元(4)和输出缓冲单元(6)。
5.根据权利要求1所述的2-D卷积器,其特征在于:中间结果暂存单元(4)包含R-1条深度均为W的双端口SRAM,各SRAM的输入来自于卷积计算单元(3),各SRAM的输出端口连接到卷积计算单元(3),R和S分别为卷积模板的行数和列数,W的数值大于等于S但小于等于图像数据的列数N。
6.根据权利要求1所述的2-D卷积器,其特征在于:输出缓冲单元(6)由第一寄存器(61)组成,用于寄存卷积计算结果,输入来自于卷积计算单元(3),输出至片外。
CN201110142679.4A 2011-05-30 2011-05-30 一种2-d卷积器 Expired - Fee Related CN102208005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110142679.4A CN102208005B (zh) 2011-05-30 2011-05-30 一种2-d卷积器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110142679.4A CN102208005B (zh) 2011-05-30 2011-05-30 一种2-d卷积器

Publications (2)

Publication Number Publication Date
CN102208005A true CN102208005A (zh) 2011-10-05
CN102208005B CN102208005B (zh) 2014-03-26

Family

ID=44696833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110142679.4A Expired - Fee Related CN102208005B (zh) 2011-05-30 2011-05-30 一种2-d卷积器

Country Status (1)

Country Link
CN (1) CN102208005B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188487A (zh) * 2011-12-28 2013-07-03 联芯科技有限公司 视频图像中的卷积方法及视频图像处理系统
CN104035750A (zh) * 2014-06-11 2014-09-10 西安电子科技大学 一种基于fpga的实时模板卷积实现方法
CN106203621A (zh) * 2016-07-11 2016-12-07 姚颂 用于卷积神经网络计算的处理器
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN106846239A (zh) * 2017-01-12 2017-06-13 北京大学 实现图像卷积的编码型闪存系统及工作方法
CN107656899A (zh) * 2017-09-27 2018-02-02 深圳大学 一种基于fpga的模板卷积实现方法和系统
CN107729996A (zh) * 2016-08-11 2018-02-23 图芯芯片技术有限公司 零系数跳过卷积神经网络引擎
CN107862650A (zh) * 2017-11-29 2018-03-30 中科亿海微电子科技(苏州)有限公司 加速计算二维图像cnn卷积的方法
CN108073977A (zh) * 2016-11-14 2018-05-25 耐能股份有限公司 卷积运算装置及卷积运算方法
CN108073548A (zh) * 2016-11-14 2018-05-25 耐能股份有限公司 卷积运算装置及卷积运算方法
CN108334474A (zh) * 2018-03-05 2018-07-27 山东领能电子科技有限公司 一种基于数据并行的深度学习处理器架构及方法
CN108595379A (zh) * 2018-05-08 2018-09-28 济南浪潮高新科技投资发展有限公司 一种基于多级缓存的并行化卷积运算方法及系统
CN108681984A (zh) * 2018-07-26 2018-10-19 珠海市微半导体有限公司 一种3*3卷积算法的加速电路
CN109582911A (zh) * 2017-09-28 2019-04-05 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法
CN110009103A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种深度学习卷积计算的方法和装置
CN110647975A (zh) * 2018-06-27 2020-01-03 龙芯中科技术有限公司 一种数据处理方法、装置、设备以及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
CN1409850A (zh) * 1999-12-10 2003-04-09 Dspc技术有限公司 可编程卷积器
CN101241535A (zh) * 2007-02-09 2008-08-13 深圳职业技术学院 硅存储相关卷积器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
CN1409850A (zh) * 1999-12-10 2003-04-09 Dspc技术有限公司 可编程卷积器
CN101241535A (zh) * 2007-02-09 2008-08-13 深圳职业技术学院 硅存储相关卷积器

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《电子学报》 19941130 印建华,申扣喜,水永安,蒋智亮,何世平 一种新型声表面波--二极管卷积器 全文 1-6 第22卷, 第11期 *
HUI ZHANG,MING XIA,GUANGSHU HU: "A Multiwindow Partial Buffering Scheme for FPGA-Based 2-D Convolvers", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEM Ⅱ:EXPRESS BRIEFS》 *
印建华,申扣喜,水永安,蒋智亮,何世平: "一种新型声表面波——二极管卷积器", 《电子学报》 *
张辉,胡广书: "基于二维卷积的图像插值实时硬件实现", 《清华大学学报(自然科学版)》 *
王燕峰,吴新建: "一种基于FPGA的系数对称3×3卷积器的设计", 《光学与光电技术》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188487B (zh) * 2011-12-28 2016-11-23 联芯科技有限公司 视频图像中的卷积方法及视频图像处理系统
CN103188487A (zh) * 2011-12-28 2013-07-03 联芯科技有限公司 视频图像中的卷积方法及视频图像处理系统
CN104035750A (zh) * 2014-06-11 2014-09-10 西安电子科技大学 一种基于fpga的实时模板卷积实现方法
CN106203621B (zh) * 2016-07-11 2019-04-30 北京深鉴智能科技有限公司 用于卷积神经网络计算的处理器
CN106203621A (zh) * 2016-07-11 2016-12-07 姚颂 用于卷积神经网络计算的处理器
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
CN107729996A (zh) * 2016-08-11 2018-02-23 图芯芯片技术有限公司 零系数跳过卷积神经网络引擎
CN107729997A (zh) * 2016-08-11 2018-02-23 图芯芯片技术有限公司 零系数跳过卷积神经网络引擎
CN107729997B (zh) * 2016-08-11 2022-12-27 图芯芯片技术有限公司 零系数跳过卷积神经网络引擎
CN106530210B (zh) * 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN108073977A (zh) * 2016-11-14 2018-05-25 耐能股份有限公司 卷积运算装置及卷积运算方法
CN108073548A (zh) * 2016-11-14 2018-05-25 耐能股份有限公司 卷积运算装置及卷积运算方法
CN108073548B (zh) * 2016-11-14 2021-09-10 耐能股份有限公司 卷积运算装置及卷积运算方法
CN106846239A (zh) * 2017-01-12 2017-06-13 北京大学 实现图像卷积的编码型闪存系统及工作方法
CN106846239B (zh) * 2017-01-12 2019-10-22 北京大学 实现图像卷积的编码型闪存系统及工作方法
CN107656899A (zh) * 2017-09-27 2018-02-02 深圳大学 一种基于fpga的模板卷积实现方法和系统
CN109582911B (zh) * 2017-09-28 2023-11-21 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法
CN109582911A (zh) * 2017-09-28 2019-04-05 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法
CN107862650A (zh) * 2017-11-29 2018-03-30 中科亿海微电子科技(苏州)有限公司 加速计算二维图像cnn卷积的方法
CN107862650B (zh) * 2017-11-29 2021-07-06 中科亿海微电子科技(苏州)有限公司 加速计算二维图像cnn卷积的方法
CN108334474A (zh) * 2018-03-05 2018-07-27 山东领能电子科技有限公司 一种基于数据并行的深度学习处理器架构及方法
CN108334474B (zh) * 2018-03-05 2021-11-19 山东领能电子科技有限公司 一种基于数据并行的深度学习处理器架构及方法
CN108595379A (zh) * 2018-05-08 2018-09-28 济南浪潮高新科技投资发展有限公司 一种基于多级缓存的并行化卷积运算方法及系统
CN110647975A (zh) * 2018-06-27 2020-01-03 龙芯中科技术有限公司 一种数据处理方法、装置、设备以及介质
CN110647975B (zh) * 2018-06-27 2022-09-13 龙芯中科技术股份有限公司 一种数据处理方法、装置、设备以及介质
CN108681984B (zh) * 2018-07-26 2023-08-15 珠海一微半导体股份有限公司 一种3*3卷积算法的加速电路
CN108681984A (zh) * 2018-07-26 2018-10-19 珠海市微半导体有限公司 一种3*3卷积算法的加速电路
CN110009103A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种深度学习卷积计算的方法和装置

Also Published As

Publication number Publication date
CN102208005B (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN102208005B (zh) 一种2-d卷积器
CN110097174B (zh) 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
CN109409511B (zh) 一种用于动态可重构阵列的卷积运算数据流调度方法
CN107392309A (zh) 一种基于fpga的通用定点数神经网络卷积加速器硬件结构
CN108665063B (zh) 用于bnn硬件加速器的双向并行处理卷积加速系统
CN101847986A (zh) 一种实现fft/ifft变换的电路及方法
CN110674927A (zh) 一种用于脉动阵列结构的数据重组方法
CN103760525A (zh) 一种补齐式原地矩阵转置方法
CN111340198A (zh) 基于fpga的数据高度复用的神经网络加速器
CN110598844A (zh) 一种基于fpga的并行卷积神经网络加速器及加速方法
CN104579240A (zh) 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法
CN109858622B (zh) 深度学习神经网络的数据搬运电路和方法
CN114092338A (zh) 图像缩放快速计算方法
CN104679670A (zh) 一种面向fft和fir的共享数据缓存结构及管理方法
CN103544111A (zh) 一种基于实时性处理的混合基fft方法
CN203617974U (zh) 一种基于fpga的可配置系数的滤波器及电子设备
CN111610963B (zh) 芯片结构及其乘加计算引擎
CN104869284A (zh) 一种双线性插值放大算法的高效率fpga实现方法和装置
CN101794276B (zh) 适用于soc的dct_idct协处理器
CN103106181A (zh) 一种大点数fft在处理器上的实现方法
CN114912596A (zh) 面向稀疏卷积神经网络的多chiplet系统及其方法
CN100385387C (zh) 一种提高ram利用效率的方法
CN103179398A (zh) 一种提升小波变换fpga实现的方法
CN102306142B (zh) 一种fft倒序操作存储器数据调度方法及电路
CN113448624A (zh) 数据存取方法及装置、系统、ai加速器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20140326

Termination date: 20180530