CN100409259C - 可缩放大规模二维卷积电路 - Google Patents

可缩放大规模二维卷积电路 Download PDF

Info

Publication number
CN100409259C
CN100409259C CNB200610105061XA CN200610105061A CN100409259C CN 100409259 C CN100409259 C CN 100409259C CN B200610105061X A CNB200610105061X A CN B200610105061XA CN 200610105061 A CN200610105061 A CN 200610105061A CN 100409259 C CN100409259 C CN 100409259C
Authority
CN
China
Prior art keywords
register
circuit
group
multiplier
totalizer
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
Application number
CNB200610105061XA
Other languages
English (en)
Other versions
CN1916959A (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.)
China Aerospace Times Electronics Corp
Original Assignee
China Aerospace Times Electronics Corp
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 China Aerospace Times Electronics Corp filed Critical China Aerospace Times Electronics Corp
Priority to CNB200610105061XA priority Critical patent/CN100409259C/zh
Publication of CN1916959A publication Critical patent/CN1916959A/zh
Application granted granted Critical
Publication of CN100409259C publication Critical patent/CN100409259C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种可缩放大规模二维卷积电路,该电路包括一个基准图像素寄存器Y,一个实时图像素寄存器组X,由128个的阵列乘法器M0,M1,……M127组成的乘法器组,由128个寄存器p0,p1,……p127组成的乘积寄存器组,由128个加法器A0,A1,……A127构成的加法器组,由128个寄存器S0,S1,……S127组成的中间结果寄存器组,一个输出电路,用于计算结果的三态输出;一个用于产生时钟、读写、片选以及清除信号的控制电路。该电路在计算时,算法中运算量大、规则性强的计算由卷积电路完成,微处理器负责存储采集的图像数据,并运算其他并行性较差、无规则的计算,把微处理器的灵活性与硬件电路的高速性有机的结合起来,达到灵活、高适应性和高实时性的效果,能够大幅提高处理速度,又确保可靠性。

Description

可缩放大规模二维卷积电路
技术领域
本发明属于嵌入式计算机高速协处理部件,涉及一种可缩放大规模二维卷积电路,用于大幅提高嵌入式计算机在进行图像匹配时的计算速度。
背景技术
现有技术在进行图像匹配计算时,都是用微处理器(包括DSP微处理器)进行的,由于计算量大,单个微处理器(DSP)达不到实时性要求,为加快计算速度,用多个微处理器(DSP)来并行计算,但这增加了体积、功耗,也降低了可靠性,满足不了嵌入式应用要求。
发明内容
针对上述现有技术存在的缺陷与不足,本发明的目的在于,提供一种可缩放大规模二维卷积电路,该电路在嵌入式条件下,能够大幅提高处理速度,既提高了实时性,又确保可靠性,而且具有较广的应用范围。
为了实现上述任务,本发明采取如下的技术解决方案:
一种可缩放大规模二维卷积电路,其特征在于:面向算法设计,充分挖掘算法中的并行性特点,应用资源重复与时间重叠技术,用硬件电路直接完成计算;同时可根据计算环境的变化,缩放计算规模。电路包括:
一个基准图像素寄存器Y,数据宽度为8位;
一个实时图像素寄存器组X,数据宽度为8位,由128个8位寄存器x0~x127构成移位寄存器,其寄存器x0的输出接至片外,以备级连时连接,X值以串行方式移入寄存器组;
乘法器组,由128个阵列乘法器M0,M1,.....M127组成,每一个乘法器Mi的两个输入,来自基准图像素寄存器Y和对应的实时图像素寄存器xi
乘积寄存器组,由128个寄存器p0,p1,....p127组成,数据宽度为16位,寄存器pi输入接相应乘法器Mi输出;
中间结果寄存器组,由128个寄存器S0,S1,.....S127组成,数据宽度16~26位,每个中间结果寄存器Si用于暂存相应加法器Ai的和;
加法器组,由128个加法器A0,A1,......A127构成,每个加法器Ai的两个输入来自相应的乘积寄存器pi和中间结果寄存器Si-1
一个输出电路,用于计算结果的三态输出,以便与CPU的总线相连;
一个控制电路,用于产生时钟、读写、片选以及清除信号。
本发明的可缩放大规模二维卷积电路,可在一个时钟周期同时实现128对像素值的乘累加,即完成计算: R = Σ i = 0 7 Σ j = 0 15 x ij y ij , 若用微处理器计算,需要进行128次乘操作和127次加操作,共255次操作,但用本发明的卷积电路计算时,当流水建立后,只要一次操作就可完成。本发明的可缩放大规模二维卷积器电路,在计算时,算法中运算量大、规则性强的计算由卷积电路完成,微处理器负责存储采集的图像数据,并运算其他并行性较差、无规则的计算,把微处理器的灵活性与硬件电路的高速性有机的结合起来,达到灵活、高适应性和高实时性的效果。
附图说明
图1是本发明的大规模二维卷积器电路结构图;
图2是卷积单元电路图;
图3是编程控制图;
图4是卷积器用于信号处理的信号处理单元结构。
以下结合附图和发明人给出的实施例对本发明作进一步的详细说明。
具体实施方式
在图像匹配等图像处理算法中,经常要计算如下的公式:
R = Σ i = 0 M - 1 Σ j = 0 N - 1 x ij y ij
当M和N很大时,计算量很大,但由于图像匹配等图像处理算法具有规则性强、并行性好等特点,可用硬件电路直接实现,省去用微处理器计算时程序执行时间的约束,从而提高处理速度。
卷积电路充分挖掘算法中的流水和并行特性,充分运用时间重叠和资源重复技术,使电路具有流水和并行计算能力,同时为了扩大运用范围,能进行平滑、滤波等计算,使电路可通过编程控制,实现规模可缩放。
(1)、电路结构
电路结构如图1所示,其组成为:
a、一个基准图像素寄存器Y,数据宽度为8位;
b、一个实时图像素寄存器组X,数据宽度为8位。由128个8位寄存器x0~x127构成移位寄存器。其寄存器x0的输出接至片外,以备级连时连接。X值以串行方式移入寄存器组;
c、乘法器组:由128个的阵列乘法器组成:M0,M1,.....M127,每一个乘法器Mi的两个输入,来自基准图像素寄存器Y和对应的实时图像素寄存器xi
d、乘积寄存器组,由128个寄存器组成:p0,p1....p127,数据宽度为16位,寄存器pi输入接相应乘法器Mi输出;
e、加法器组:由128个加法器构成:A0,A1......A127,每个加法器Ai的两个输入来自相应的乘积寄存器pi和中间结果寄存器Si-1
f、中间结果寄存器组,由128个寄存器组成:S0S1.....S128。数据宽度16~26位,每个中间结果寄存器Si用于暂存相应加法器Ai的和;
g、输出电路:三态输出;
h、控制电路:产生时钟(CLK),读写(R/W),和片选(CS)以及清除(RESET)信号。
由电路结构可看出,整个电路实质上是由一个个基本卷积单元串连构成的。基本卷积单元由一个实时图寄存器、一个像素对乘法器、一个像素对乘寄存器、一个加法器和一个中间结果寄存器构成。如图2所示,每一基本单元实现:Si-1+xiyi,128点卷积电路是由128个基本单元直接串连起来,再连接Y寄存器,控制电路和三态门。整个电路结构规整,简单、易于设计实现。
(2)、电路工作过程
1)、将所有寄存器复位;
2)、先将128个X值x0~x127串行移入X寄存器组,然后将Y值依次移入Y寄存器;
3)、移入第一个Y值后,第130个脉冲将第一个卷积结果置入S127。实现:
S 127 = Σ i = 0 127 x i y i + u , u = 0 , 1 , · · · , m
此后,每移入一个Y值,S127中置入一个卷积结果,即每个时钟周期获得一个128对像素值的乘累加结果,这些结果按顺序分别对应u=0,1,…,m。
(3)、电路特点
1)、结构规整:由一个个基本单元串联而成,便于设计和实现;
2)、级连方便灵活:可根据需要级连,增大计算规模,提高计算速度;
3)、卷积规模大,计算速度快;
4)、电路采用了多种并行技术:
资源重复技术:128个相同的乘法器,128个相同的加法器,128个乘积寄存器和128个中间结果寄存器同时工作。
时间重叠技术:乘和加及多级加之间采用时间重叠,流水操作。
(4)计算规模可编程性
为使电路规模可缩放,从而适应计算环境的变化,可通过级连来扩大计算规模,通过编程来控制计算规模的变化,如在滤波、平滑等的3×3、5×5、7×7模板等,编程控制如图3所示。
编码与计算规模对应关系如下:
  a   b   c   d   e   计算规模
  1   1   1   1   1   8×16=128对象素
  0   1   1   1   1   8×8=64对象素
0 0 1 1 1 7×7=49对象素
  0   0   0   1   1   4×8=32对象素
  0   0   0   0   1   5×5=25对象素
  0   0   0   0   0   3×3=9对象素
(5)实现方案:设计成IP核,用FPGA实现。
发明带来的技术效果是:
1、可在一个时钟周期同时实现128对像素值的乘累加,即完成计算: R = Σ i = 0 7 Σ j = 0 15 x ij y ij , 若用微处理器计算,需要进行128次乘操作和127次加操作,共255次操作,但用本发明的卷积器计算时,当流水建立后,只要一次操作就完成了。
2、用DSP做主处理器,可缩放大规模二维卷积器做快速协助处理部件的信号处理单元处理速度估计:
信号处理单元由DSPTMS320C6701和算法硬件构成。因为图像匹配的计算量很大。用进行图像匹配计算来估算信号处理单元的处理速度。图像匹配计算中乘累加运算占总计算量的80%以上,可以用乘累加运算来估算。以128对象素值的乘加运算为例来说明。
128对象素值的乘累加运算要进行128次乘操作和127次加操作。共255次操作。用TMS320C6701估算时,每次操作平均要用到四条指令,所以完成全部计算,DSP要执行的指令数为L1=255×4=1020条指令。
信号处理单元计算时,在DSP的控制下,由算法硬件卷积器来计算。当流水建立后,由DSP发读信号从基准图存储器中将一个象素值置入Y寄存器,同时,读出一个128对象素值的乘累加结果,并保存起来,如此循环,因此只需要读、写、条件转移三条指令,但在访问存储器时要等待一个周期,所以三条指令要占用6个指令周期,相当于6条单周期指令,用L2表示。
故信号处理单元进行乘累加运算时的处理速度比单用TMS320C6701计算时的处理大大提高了。提高的倍数为:
M = L 1 L 2 = 1020 6 = 170
TMS320C6701的平均处理速度约600MIPS,因此信号处理单元在进行乘累加运算时的处理速度为:V1=170×600MIPS=102000MIPS.
以乘累加运算占整个匹配计算工作量的80%折算,信号处理单元在进行图像匹配计算时的处理能力为V=V1×80%=81600MIPS。
实施例:
信号处理单元采用DSP+卷积器的结构,如图4所示。在此结构中,用FPGA实现的卷积器挂在DSP总线上,接受DSP的驱动控制,作为DSP的高速协处理部件,减轻DSP的负担,加快运行速度。算法中运算量大,规则性高的计算(如平滑、滤波、匹配计算等)由卷积器完成。DSP负责存储采集的图像数据,并运行其它并行性较差,无规则的计算(如求直方图、校正、拟合等),并对卷积器的计算结果进行综合判断,输出控制参数,这样就把DSP的灵活性和算法硬件电路的高速、高效性有机结合起来,达到高灵活性、高适应性和高实时性的效果。
为了提高计算速度,充分发挥卷积器的并行计算效率,在进行卷积计算时,当流水建立后,向卷积器的Y寄存器(见图1)写入数据和从卷积器读出结果是同时进行的,这样就会使写入数据和读出数据发生冲突。为了解决此问题,用了一个隔离电路,其作用是当DSP向存储器写入图像数据时隔离器打开,DSP通过数据总线将数据写入基准图存储器。当进行卷积计算时,隔离器关闭,断开DSP数据总线与存储器数据总线的通路,由存储器置入卷积器的数据与由卷积器读出的数据相隔离,从而不会发生冲突,可以做到向Y置入数据与读出计算结果同时进行,充分发挥卷积电路流水和并行计算的特点,提高了计算速度。

Claims (1)

1. 一种可缩放大规模二维卷积电路,其特征在于,该电路包括:
一个基准图像素寄存器Y,数据宽度为8位;
一个实时图像素寄存器组X,数据宽度为8位,由128个8位寄存器x0~x127构成移位寄存器,其寄存器x0的输出接至片外,以备级连时连接,X值以串行方式移入寄存器组;
乘法器组,由128个阵列乘法器M0,M1,.....M127组成,每一个乘法器Mi的两个输入,来自基准图像素寄存器Y和对应的实时图像素寄存器xi
乘积寄存器组,由128个寄存器p0,p1,....p127组成,数据宽度为16位,寄存器pi输入接相应乘法器Mi输出;
中间结果寄存器组,由128个寄存器S0,S1,....S127组成,数据宽度16~26位,每个中间结果寄存器Si用于暂存相应加法器Ai的和;
加法器组,由128个加法器A0,A1,.....A127构成,每个加法器Ai的两个输入来自相应的乘积寄存器pi和中间结果寄存器Si-1
一个输出电路,用于计算结果的三态输出,以便与CPU的总线相连;
一个控制电路,用于产生时钟、读写、片选以及清除信号。
CNB200610105061XA 2006-08-29 2006-08-29 可缩放大规模二维卷积电路 Expired - Fee Related CN100409259C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200610105061XA CN100409259C (zh) 2006-08-29 2006-08-29 可缩放大规模二维卷积电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200610105061XA CN100409259C (zh) 2006-08-29 2006-08-29 可缩放大规模二维卷积电路

Publications (2)

Publication Number Publication Date
CN1916959A CN1916959A (zh) 2007-02-21
CN100409259C true CN100409259C (zh) 2008-08-06

Family

ID=37737951

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610105061XA Expired - Fee Related CN100409259C (zh) 2006-08-29 2006-08-29 可缩放大规模二维卷积电路

Country Status (1)

Country Link
CN (1) CN100409259C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309476B (zh) * 2007-05-15 2011-05-04 鸿富锦精密工业(深圳)有限公司 移动装置及其更改图片大小的方法
CN102420931B (zh) * 2011-07-26 2013-08-21 西安费斯达自动化工程有限公司 一种基于fpga的全帧率图像处理方法
CN104035750A (zh) * 2014-06-11 2014-09-10 西安电子科技大学 一种基于fpga的实时模板卷积实现方法
CN104318534B (zh) * 2014-11-18 2017-06-06 中国电子科技集团公司第三研究所 一种实时二维卷积数字滤波系统
US10204396B2 (en) * 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
CN106530210B (zh) * 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN108513042B (zh) 2017-02-24 2020-03-10 清华大学 用于图像处理的装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163100A (en) * 1988-07-08 1992-11-10 U.S. Philips Corporation Image processing circuit with reduced number of contact pads
US5524075A (en) * 1993-05-24 1996-06-04 Sagem S.A. Digital image processing circuitry
US5854636A (en) * 1994-04-11 1998-12-29 Hitachi, Ltd. Semiconductor IC with a plurality of processing circuits which receive parallel data via a parallel data transfer circuit
CN1272193A (zh) * 1998-05-20 2000-11-01 索尼电脑娱乐公司 图像处理装置及方法、以及提供程序的媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163100A (en) * 1988-07-08 1992-11-10 U.S. Philips Corporation Image processing circuit with reduced number of contact pads
US5524075A (en) * 1993-05-24 1996-06-04 Sagem S.A. Digital image processing circuitry
US5854636A (en) * 1994-04-11 1998-12-29 Hitachi, Ltd. Semiconductor IC with a plurality of processing circuits which receive parallel data via a parallel data transfer circuit
CN1272193A (zh) * 1998-05-20 2000-11-01 索尼电脑娱乐公司 图像处理装置及方法、以及提供程序的媒体

Also Published As

Publication number Publication date
CN1916959A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
CN100409259C (zh) 可缩放大规模二维卷积电路
CN112487750B (zh) 一种基于存内计算的卷积加速计算系统及方法
CN103176767B (zh) 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
CN103970720A (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN110851779B (zh) 用于稀疏矩阵运算的脉动阵列架构
CN104112053A (zh) 一种面向图像处理的可重构架构平台设计方法
CN102156958A (zh) 具有图像协处理器的嵌入式可编程片上系统
Sano et al. Efficient custom computing of fully-streamed lattice boltzmann method on tightly-coupled FPGA cluster
US7693926B2 (en) Modular multiplication acceleration circuit and method for data encryption/decryption
CN116710912A (zh) 一种矩阵乘法器及矩阵乘法器的控制方法
Khan et al. Comparative analysis of different algorithm for design of high-speed multiplier accumulator unit (MAC)
CN102970545A (zh) 一种基于二维离散小波变换算法的静态图像压缩方法
CN111158635B (zh) 一种基于FeFET的非易失性低功耗乘法器及其运行方法
CN1187698C (zh) 内在并行的二维离散小波变换的vlsi结构设计方法
CN103533378A (zh) 基于fpga的三维整数dct变换系统及其变换方法
CN105893326B (zh) 基于fpga实现65536点fft的装置和方法
CN102693118A (zh) 一种标量浮点运算加速器
CN202281998U (zh) 一种标量浮点运算加速器
Li et al. A high utilization FPGA-based accelerator for variable-scale convolutional neural network
CN203276276U (zh) 一种实时数据处理单元及处理器
CN115033843B (zh) 基于三角脉动阵列的协方差矩阵计算的电路实现方法
CN117369767A (zh) 基于全加器的存算架构及智能存算处理器
Kannappan et al. A Survey on Multi-operand Adder
US10623222B2 (en) Vectorized peak detection for signal processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
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: 20080806

Termination date: 20160829