发明名称 基于FPGA的IP核
摘要 本发明公开了一种基于FPGA的IP核,主要解决现有技术计算图像中心矩比较慢的问题。它包括:Avalon总线接口(1)、状态机单元(2)、地址解析单元(3)、FIFO单元(4)、控制寄存器单元(5)、状态寄存器单元(6)、计算图像重心单元(7)、计算图像中心矩单元(8)、多路选择器单元(9)。地址解析单元(3)对Avalon总线地址信号进行解析,进而对不同的地址空间进行访问,在状态机单元(2)的控制下,计算图像重心单元(7)从FIFO单元(4)中读取图像数据进行图像重心的计算,将图像的重心传给计算图像中心矩单元(8),计算图像中心矩单元(8)从FIFO单元(4)中读取图像数据进行图像中心矩的计算,计算完成则产生中断信号,结果由多路选择器单元(9)输出。本发明具有速度快、结构简单、可重构性好的优点,可以用于目标检测片上系统SOPC的搭建。
申请公布号 CN103067706B 申请公布日期 2016.01.20
申请号 CN201210560143.9 申请日期 2012.12.20
申请人 西安电子科技大学 发明人 王爽;焦李成;侯彪;张广亮;刘坤;张涛;马文萍;马晶晶
分类号 H04N19/00(2014.01)I;G06F9/38(2006.01)I;G06F9/48(2006.01)I 主分类号 H04N19/00(2014.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种基于FPGA的IP核,包含:Avalon总线接口(1),用于IP核与Avalon总线时序的匹配;状态机单元(2),用于控制IP核中FIFO单元(4)的读和写操作,控制计算图像重心单元(7)和计算图像中心矩单元(8)工作进程的开启与关闭并提供计算所需的图像像素点的坐标,同时向状态寄存器单元(6)写入当前的工作状态;地址解析单元(3),该单元与Avalon总线接口(1)相连,用于对来自Avalon总线的地址和控制信号进行解译,协助Avalon总线上的主机对IP核中不同的地址空间进行访问;FIFO单元(4),该单元与Avalon总线接口(1)、地址解析单元(3)相连,用于对Avalon总线与IP核之间的图像像素数据缓冲,保证Avalon总线传输数据的连续性;控制寄存器单元(5),该单元与Avalon总线接口(1)、地址解析单元(3)相连,用于接收来自Avalon总线的命令,对IP核工作进程和复位进行控制,以及对中断标志的清除;状态寄存器单元(6),该单元与状态机单元(2)相连,用于显示状态机单元(2)当前的工作状态;计算图像重心单元(7),该单元与状态机单元(2)、FIFO单元(4)相连,用于接收FIFO单元(4)中的图像数据,在状态机单元(2)的控制下计算输入图像f(x,y)的重心(x<sub>c</sub>,y<sub>c</sub>)和输入图像f(x,y)的中心矩μ<sub>00</sub>,其中<img file="FDA0000743790120000011.GIF" wi="676" he="194" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>y</mi><mi>c</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>y</mi><mo>&times;</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000012.GIF" wi="648" he="192" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mn>00</mn></msub><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000013.GIF" wi="581" he="103" /></maths>x是输入图像的行坐标,y是输入图像的列坐标,M是图像的行数,N是图像的列数;计算图像中心矩单元(8),该单元与状态机单元(2)、FIFO单元(4)、计算图像重心的单元(4)相连,用于接收FIFO单元(4)的图像数据和计算图像重心单元(7)的计算结果,在状态机单元(2)的控制下计算输入图像f(x,y)的(p,q)阶中心矩μ<sub>pq</sub>,其中<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mrow><mi>p</mi><mi>q</mi></mrow></msub><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>p</mi></msup><msup><mrow><mo>(</mo><mi>y</mi><mo>-</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>q</mi></msup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo><mo>)</mo><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000014.GIF" wi="1022" he="102" /></maths>(p,q)={(1,1),(2,0),(0,2),(2,1),(1,2),(0,3),(3,0)},x是图像的行坐标,y是图像的列坐标,M是图像的行数,N是图像的列数;多路选择器单元(9),该单元与地址解析单元(3)、状态寄存器单元(6)、计算图像重心单元(7)、计算图像中心矩单元(8)相连,用于根据地址解析单元(3)输出的不同地址选择Avalon总线上的主机要访问的地址空间。
地址 710071 陕西省西安市太白南路2号