CN101159060B - 基于可编程逻辑器件的绝对差分算法的流水线装置 - Google Patents

基于可编程逻辑器件的绝对差分算法的流水线装置 Download PDF

Info

Publication number
CN101159060B
CN101159060B CN2007101767241A CN200710176724A CN101159060B CN 101159060 B CN101159060 B CN 101159060B CN 2007101767241 A CN2007101767241 A CN 2007101767241A CN 200710176724 A CN200710176724 A CN 200710176724A CN 101159060 B CN101159060 B CN 101159060B
Authority
CN
China
Prior art keywords
module
output
input
data
subtraction
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
CN2007101767241A
Other languages
English (en)
Other versions
CN101159060A (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.)
Institute of Optics and Electronics of CAS
Original Assignee
Institute of Optics and Electronics of CAS
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 Institute of Optics and Electronics of CAS filed Critical Institute of Optics and Electronics of CAS
Priority to CN2007101767241A priority Critical patent/CN101159060B/zh
Publication of CN101159060A publication Critical patent/CN101159060A/zh
Application granted granted Critical
Publication of CN101159060B publication Critical patent/CN101159060B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

基于可编程逻辑器件的绝对差分算法流水线装置是在可编程逻辑器件内以流水线的形式实现绝对差分算法,整条流水线由比较模块A,相减模块B,累加模块C和输出模块D构成;流水线第一级使用比较模块来保证减法结果的非负,从而达到取绝对值的目的;流水线最后一级使用计数器来控制累加结果输出;所有模块都在可编程逻辑器件内实现。本发明可在超过200MHz的高速下进行绝对差分运算,且能在单一器件内实现高度并行的运算。

Description

基于可编程逻辑器件的绝对差分算法的流水线装置
技术领域
本发明是一种基于可编程逻辑器件的绝对差分算法流水线装置,用于太阳自适应光学中对低对比度扩展目标图象的高速实时处理。 
背景技术
太阳自适应光学中,在对低对比度扩展目标的图象进行匹配、识别以及跟踪的时候,需要将图象信息和模板信息进行比较。常用的比较算法有互相关因子算法和绝对差分算法。 
互相关因子算法: 
r RL ( u , v ) = Σ i = 0 M - 1 Σ j = 0 M - 1 I R ( i + u , j + v ) I L ( i , j ) / [ Σ i = 0 M - 1 Σ j = 0 M - 1 I 2 R ( i + u , j + v ) × Σ i = 0 M - 1 Σ j = 0 M - 1 I 2 L ( i , j ) ]
绝对差分算法: 
D RL ( u , v ) = Σ i = 0 M - 1 Σ j = 0 M - 1 | I R ( i + u , j + v ) - I L ( i , j ) |
其中IL为模板图象,大小为M×M;IR为目标图象,大小为N×N,M<N。 
美国National Solar Observatory(NSO)配备的太阳自适应光学系统使用DSP实现互相关因子算法,对目标图象进行处理。互相关因子算法中涉及到大量乘法。而乘法运算的指令周期远大于加减运算,使得乘法运算成为整个运算过程中的瓶颈。为解决这一问题,NSO采用了多片DSP并行处理的方案。但这样加大了电路板设计的难度,增加了系统成本。 
发明内容
本发明解决的问题是:针对现有技术的缺点,采用更优算法,在可编程逻辑器件内以流水线的形式实现了绝对差分运算,流水线运行频率可高达200MHz,并使高度并行的绝对差分运算成为可能。 
本发明解决问题的步骤是:基于可编程逻辑器件的绝对差分算法流水线装置,其特征在于:由比较模块A,相减模块B,累加模块C和输出模块D构成,比较模块A对输入端的两个数据进行大小比较,将较大的数输出到AoutM,连接到相减模块B的被减数输入Bin1,将较小的数输出到AoutN,连接到相减模块B的减数输入Bin2;相减模块B用从Bin1输入的数据减去从Bin2输入的数据,得到一个非负的差值,并将此差值输出到Bout端口,Bout端口连接到累加模块C的输入端Cin;累加模块C对输入端Cin的数据进行累加,并 将累加结果输出到Cout,Cout端口连接到输出模块D的输入端Din;输出模块D内的计数器对时钟脉冲计数,当所有数据都完成运算时计数器完成计数,输出使能信号控制三态门将从输入端Din输入的累加数据作为最终累加结果输出到到Dout。 
本发明的工作原理:参与运算的数据X(i)和Y(i)输入到比较模块A,比较中较大的数作为相减模块B的被减数输入,较小的数作为相减模块B的减数输入,两个数在相减模块B内完成减法运算,输出为一非负数。至此完成了两数相减并求绝对值的工作。累加模块C对该结果进行累加并输出给模块D。输出模块D在运算完成后输出最终的累加结果。四个模块由同一个时钟信号同步,构成四级流水线结构。所有模块都在可编程逻辑器件内部实现。 
所述的比较模块A由一个比较器和两个2选1多路选通器构成,对参与运算的数据X(i)和Y(i)进行大小比较,将较大的数从AoutM端输出,连接相减模块B的被减数输入Bin1;将较小的数从AoutN端输出,连接相减模块B的减数输入Bin2,以此保证相减模块B的输出Bout为非负数,达到求绝对值的目的。 
所述的相减模块B由一个减法器构成,减法器的被减数输入Bin1连接比较模块A的大数输出AoutM,减数输入Bin2连接比较模块A的小数输出AoutN,差值输出Bout连接到累加模块C的输入Cin。 
所述的累加模块C由一个加法器和一个寄存器构成,Cin作为加法器的一个输入,寄存器的输出一方面作为加法器的另一个输入,一方面作为累加模块C的输出Cout。 
所述的输出模块D由计数器D-1和三态门D-2构成,时钟信号输入到计数器D-1,计数器D-1的输出连接到三态门D-2的使能端,累加模块C的输出Cout连接到三态门D-2的输入端Din,三态门D-2的输出端Dout作为最终的结果输出。 
本发明和原有技术相比,具有以下优点: 
(1)绝对差分算法运算量较小,系统延迟较短; 
(2)算法只涉及加减法,速度更快,更有利于硬件实现,有利于对高速实时图像进行处理; 
(3)可编程逻辑器件内有着丰富的逻辑资源以及寄存器资源,运用灵活,非常利于流水线的实现以及并行技术的运用。再加上可编程逻辑器件通常拥有相当丰富的用户IO端口,使系统的数据吞吐量大大增加,极大提高系统并行度,且成本低廉; 
(4)在新构造流水线时,所有工作在可编程逻辑器件内部完成,无需对外部硬件电路进行改动。 
附图说明
图1为本发明的整体流水线结构图; 
图2为本发明的比较模块A结构图; 
图3为本发明的相减模块B结构图; 
图4为本发明的累加模块C结构图; 
图5为本发明的输出模块D的逻辑结构图; 
图6为本发明的流水线时序图。 
具体实施方式
如图1所示,本发明由比较模块A,相减模块B,累加模块C和输出模块D组成。参与绝对差分运算的数据X(i)和Y(i)输入到比较模块A,比较模块A对输入端的两个数据进行大小比较,将较大的数输出到AoutM,连接到相减模块B的被减数输入Bin1,将较小的数输出到AoutN,连接到相减模块B的减数输入Bin2。X(i)和Y(i)每个时钟周期将更新一次,比较模块A的输出将和同步时钟同步。由于比较模块A的作用,使相减模块B的被减数始终不小与减数。相减模块B用从Bin1输入的数据减去从Bin2输入的数据,得到一个非负的差值,并将此差值输出到Bout端口,Bout端口连接到累加模块C的输入端Cin。同样,相减模块B和累加模块C的输出都将和同步时钟同步。累加模块C对输入端Cin的数据进行累加,并将累加结果输出到Cout,Cout端口连接到输出模块D的输入端Din。 
如图2所示,比较模块A中的比较器A-3在同步时钟的控制下对输入的数据Ain1和Ain2进行比较,比较器的输出控制着两个选通器A-1和A-2。当Ain1大于Ain2时,选通器A-1选通输出Ain1到Aout1,选通器A-2反向选通输出Ain2到Aout2;当Ain1小于Ain2时,选通器A-1选通输出Ain2到Aout1,选通器A-2反向选通输出Ain1到Aout2。 
如图3所示,相减模块B利用减法器在同步时钟的控制下对输入数据Bin1和Bin2进行减法运算。由于比较模块A的作用,使得Bin1始终不小于Bin2,这样相减模块B的结果输出Bout保持为一非负数。 
如图4所示,累加模块C中的加法器的一个输入为相减模块B的输出,另一输入为加法器自身的输出,在同步时钟的控制下累加模块C对相减模块B的输出Bout进行累加,并将累加结果输出到Cout。 
如图5所示,输出模块D内的计数器D-1在同步时钟的控制下进行计数,在累加模块C完成最后一组相减结果的累加时计数器D-1刚好完成计数,发出输出使能信号给输出模块D内的三态门D-2。此前三态门D-2未收到输出使能信号,因此输出高阻,在收到输出使能信号后将累加模块C的累加结果输出。 
如图6所示,比较模块A,相减模块B,累加模块C和输出模块D在时钟信号的同步下构成了四级流水线。在时钟边沿到来时每个模块对输入数据采样,同时输出上一次运算 的结果。 
整条流水线在Xilinx公司的Virtex II系列FPGA内实现。由于FPGA的灵活性,可在资源充足的情况下构造多条流水线并行工作,并可以非常方便的对流水线的数据位宽进行修改。流水线的时钟频率最高可达200MHz以上。 

Claims (1)

1.基于可编程逻辑器件的绝对差分算法流水线装置,其特征在于:由比较模块A,相减模块B,累加模块C和输出模块D构成;比较模块A由一个比较器和两个2选1多路选通器构成,对输入端的两个数据进行大小比较,将较大的数从AoutM端输出,连接相减模块B的被减数输入Bin1,将较小的数从AoutN端输出,连接相减模块B的减数输入Bin2,以此保证相减模块B的输出Bout为非负数,达到求绝对值的目的;所述的相减模块B由一个减法器构成,相减模块B用从Bin1输入的数据减去从Bin2输入的数据,得到一个非负的差值,并将此差值输出到Bout端口,Bout端口连接到累加模块C的输入端Cin;所述的累加模块C由一个加法器和一个寄存器构成,Cin作为加法器的一个输入,寄存器的输出一方面作为加法器的另一个输入,一方面作为累加模块C的输出Cout;累加模块C对输入端Cin的数据进行累加,并将累加结果输出到Cout,Cout端口连接到输出模块D的输入端Din;所述的输出模块D由计数器D-1和三态门D-2构成,时钟信号输入到计数器D-1,计数器D-1的输出连接到三态门D-2的使能端,累加模块C的输出Cout连接到三态门D-2的输入端Din,三态门D-2的输出端Dout作为最终的结果输出,计数器D-1对时钟脉冲计数,当所有数据都完成运算时计数器D-1完成计数,输出使能信号控制三态门D-2将从输入端Din输入的累加数据作为最终累加结果输出到Dout。
CN2007101767241A 2007-11-01 2007-11-01 基于可编程逻辑器件的绝对差分算法的流水线装置 Expired - Fee Related CN101159060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101767241A CN101159060B (zh) 2007-11-01 2007-11-01 基于可编程逻辑器件的绝对差分算法的流水线装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101767241A CN101159060B (zh) 2007-11-01 2007-11-01 基于可编程逻辑器件的绝对差分算法的流水线装置

Publications (2)

Publication Number Publication Date
CN101159060A CN101159060A (zh) 2008-04-09
CN101159060B true CN101159060B (zh) 2011-05-18

Family

ID=39307145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101767241A Expired - Fee Related CN101159060B (zh) 2007-11-01 2007-11-01 基于可编程逻辑器件的绝对差分算法的流水线装置

Country Status (1)

Country Link
CN (1) CN101159060B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201807B (zh) * 2011-04-11 2012-09-19 长沙景嘉微电子股份有限公司 一种简单的三态输入电路

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Goodsell S.J..FPGA developments for the SPARTA project.Proceedings of SPIE5903.2005,5903148-159. *
Rodriguez Ramos L.F..FPGA adaptive optics system test bench.Proceedings of the SPIE5903.2005,5903120-128. *
郭锐,熊耀恒.自适应光学技术应用于激光测月中大气波前倾斜量的探测与计算.天文学报45 4.2004,45(4),413-421.
郭锐,熊耀恒.自适应光学技术应用于激光测月中大气波前倾斜量的探测与计算.天文学报45 4.2004,45(4),413-421. *

Also Published As

Publication number Publication date
CN101159060A (zh) 2008-04-09

Similar Documents

Publication Publication Date Title
CN1103951C (zh) 用于自定时算法执行的装置和方法
Trivedi et al. Design & analysis of 16 bit RISC processor using low power pipelining
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
CN102681815B (zh) 用加法器树状结构的有符号乘累加算法的方法
CN104539263B (zh) 一种可重构低功耗数字fir滤波器
CN100464501C (zh) 一种去除信号中毛刺的方法及其装置
CN108897523B (zh) 一种除法器及其运算方法、电子设备
US8543634B1 (en) Specialized processing block for programmable integrated circuit device
CN100367191C (zh) 一种快速流水线型除法器
CN101159060B (zh) 基于可编程逻辑器件的绝对差分算法的流水线装置
CN103279323A (zh) 一种加法器
CN102880744A (zh) 逻辑时序单元及基于该时序单元的自动化设计平台
CN101739232B (zh) 基于可逆逻辑的除法器
CN101661407B (zh) 一种并行结构的有限脉冲响应滤波器及其处理方法
CN203617974U (zh) 一种基于fpga的可配置系数的滤波器及电子设备
CN101866278B (zh) 一种异步迭代的64位整型乘法器及其计算方法
CN104348446A (zh) 一种实现fir滤波的方法和滤波装置
CN110677138A (zh) 基于无误差概率计算的fir滤波器
CN108255463A (zh) 一种数字逻辑运算方法、电路和fpga芯片
CN113157247B (zh) 一种可重构整型-浮点型乘法器
CN202043074U (zh) 可配置数字下变频器
CN103716011B (zh) 有限冲击响应csd滤波器
RU2513683C1 (ru) Цифровой функциональный преобразователь
CN203276276U (zh) 一种实时数据处理单元及处理器
CN1971291A (zh) 一种电能计量芯片中的数频转换电路

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

Granted publication date: 20110518

Termination date: 20151101

EXPY Termination of patent right or utility model