




已阅读5页,还剩65页未读, 继续免费阅读
(通信与信息系统专业论文)基于fpga的图像处理算法的研究与硬件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,忒基于f p g a 的图像处理算法的研究与硬件设计摘要随着微电子技术的高速发展,实时图像处理在多媒体、图像通信等领域有着越来越广泛的应用。f p g a 就是硬件处理实时图像数据的理想选择,基于f p g a的图像处理专用芯片的研究将成为信息产业的新热点。本文以f p g a 为平台,使用v h d l 硬件描述语言设计并实现了中值滤波、顺序滤波、数学形态学、卷积运算和高斯滤波等图像处理算法。在设计过程中,通过改进算法和优化结构,在合理地利用硬件资源的条件下,有效地挖掘出算法内在的并行性,采用流水线结构优化算法,提高了项层滤波模块的处理速度。在中值滤波器的硬件设计中,本文提出了一种快速中值滤波算法,该算法大大节省了硬件资源,处理速度也很快。在数学形态学算法的硬件实现中,本文提出的最大值滤波和最小值滤波算法大大减少了硬件资源的占用率,适应了流水线设计的要求,提高了图像处理速度。整个设计及各个模块都在a l t e r a 公司的开发环境q u a r t u si i 以及第三方仿真软件m o d e l s i m 上进行了逻辑综合以及仿真。综合和仿真的结果表明,使用f p g a硬件处理图像数据不仅能够获得很好的处理效果,达到较高的工作频率,处理速度也远远高于软件法处理图像,可满足实时图像处理的要求。本课题为图像处理专用f p g a 芯片的设计做了有益的探索性尝试,对今后完成以f p g a 图像处理芯片为核心的实时图像处理系统的设计有着积极的意义。关键词:f p g a ;v h d l ;图像处理;中值滤波;顺序滤波;数学形态学;卷积运算;高斯滤波i -h基于。f p g a 的图像处理算法的研究与硬件设计a b s t r a c tw i t ht h ef a s td e v e l o p m e n to fe l e c t r o n i ct e c h n o l o g y , r e a l - t i m ei m a g ep r o c e s s i n gi sw i d e l yu s e di nt h ef i e l ds u c ha sm u l t i m e d i aa n di m a g ec o m m u n i c a t i o n f p g an o wh a sb e c a m ea l li d e a lc h o i c eo fh a r d w a r ei nr e a l t i m ei m a g ep r o c e s s i n g ,w h i l et h er e s e a r c ha b o u tt h ei m p l e m e n t a t i o no fd i g i t a li m a g ea l g o r i t h m sb a s e do nf p g aw i l lb et h en e wk e y p o i n ti ni n f o r m a t i o ni n d u s t r y t h i st h e s i sc o n s i s t so fd e s i g n i n ga n di m p l e m e n t i n go fd i g i t a li m a g ea l g o r i t h m ss u c ha sm e d i a nf i l t e r , r a n ko r d e rf i l t e r , m o r p h o l o g i c a lo p e r a t o r s ,c o n v o l u t i o na n dg a u s s i a nf i l t e ru s i n gf p g ai ns t a n d a r dh a r d w a r ed e s c r i p t i o nl a n g u a g ev h d l t h r o u g hi m p r o v i n ga l g o r i t h m sa n do p t i m i z i n gs t r u c t u r e s ,诚t l lc o n d i t i o n so fe f f i c i e n t l yu s i n go fh a r d w a r er e s o u r c e ,t h eu t i l i t yo ft h ep a r a l l e la l g o r i t h mi se x p l o i t e dm o r ee f f i c i e n t l yi nt h ed e s i g n w i t hp i p e l i n eo p t i m i z a t i o na l g o r i t h m ,t h es p e e do ft o pm o d u l ed e a l i n gw i t hi m a g e si sl a r g e l yi m p r o v e d i nt h ed e s i g no fm e d i a nf i l t e r ,i m p r o v e da l g o r i t h mc a l l e df a s tm e d i a nf i l t e ri sg i v e n , t h i sn e wa l g o r i t h mc a ns a v em o r er e s o u r c eo ff p g aa n dt h es p e e di sa c c e l e r a t e d i nt h ed e s i g no fm o r p h o l o g i c a lo p e r a t o r s ,t h et h e s i sp r e s e n t st w oi m p r o v e da l g o r i t h m so fm a x i m u mf i l t e ra n dm i n i m u mf i l t e r , b o t hw i l lu s el e s sh a r d w a r er e s o u r c eu s e df o rt h e s et w oa l g o r i t h m sa n df i tt ot h ep i p e l i n es t r u c t u r e ,s ot h et i m eo fd e a l i n g 谢t ha ni m a g ei ss h o r t e r t h ef u l ld e s i g no f e a c hm o d u l ea r es y n t h e s i z e da n ds i m u l a t e do nq u a r t u si io fa l t e r ac o r pa n dm o d e l s i m t h er e s u l to fs y n t h e s i sa n ds i m u l a t i o ni n d i c a t et h a tt h ed e s i g no fi m a g ep r o c e s s i n ga l g o r i t h mb a s e do ff p g ac a nn o to n l ya c h i e v eap r o c e s s e dr e s u l ta n dg e tah i g hf r e q u e n c y , b u ta l s oi tc a ng i v eab e t t e rp e r f o r m a n c eo fs p e e dt h a nu s i n gs o f t w a r ea n ds u i tf o rr e a l - t i m ei m a g ep r o c e s s i n g t h i st h e s i si n v e s t i g a t e st h ed e s i g nt e c h n o l o g i e so fs p e c i f i cc h i pf o ri m a g ep r o c e s s i n gu s i n gf p g aa n dp r o v i d e sp r e l i m i n a r ys t u d yf o rt h er e a l - t i m ei m a g ep r o c e s s i n gs y s t e mb a s e do nf p g a k e y w o r d s :f p g a ;v h d l ;i m a g ep r o c e s s i n g ;m e d i a nf i l t e r ;r a n ko r d e rf i l t e r ;m o r p h o l o g i c a lo p e r a t o r s ;c o n v o l u t i o n ;g a u s s i a nf i l t e ri i独创性声明y9 2 8 7 7 7本人声明所里交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得直昌盍堂或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。学位论文作者签名:彳妲弓岛签字日期:2 咖锌月5 日学位论文版权使用授权书本学位论文作者完全了解直昌盔堂有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后适用本授权书)学位论文作者签名:词暹醛1导师签签字日期:2 0 0 年6 , 目1 5 日签字日期:年6 月日学位论文作者毕业后去向:工作单位:电话通讯地址邮编7 基于f p g a 的图像处理算法的研究与硬件设计1 1 课题背景第一章绪论图像处理【1 】是信号与信息处理学科的一个部分,也是诸多计算机领域中最为活跃的一个领域。随着计算机、集成电路等技术的飞速发展,图像处理无论是在算法、系统结构上,还是在应用上以及普及程度上都取得了长足的进展。图像处理技术发展到今天,许多技术已经相当成熟,在各个领域如工业生产、工程、军事、医学以及科学研究等中都有着广泛的运用,并取得了巨大的成功和显著的经济效益。人们在图像处理领域的研究很多,取得了相当多的成果,研究出了很多适用的算法,例如中值滤波、高通滤波等。因为图像在生成过程中常常会受到各种噪声源的干扰和影响而使图像的质量变差,为了抑制噪声,改善图像质量,必须对图像进行滤波、平滑等预处理。由于底层的图像预处理算法处理的数据量大,用一般的软件来实现会比较慢,并且对于一些实时性要求比较高的系统,如视频图像实时处理系统 2 1 ,处理速度往往是要考虑的关键要素,因为一旦速度跟不上,实时性也就无从谈起。随着数字信号处理器( d s p ) 和大规模超大规模集成电路( l s i v l s i ) 以及大规模可编程逻辑器件( c p l d f p g a ) 的高速发展和广泛应用,实时图像处理也得到了非常迅速的发展。为了提高图像处理的速度,满足系统实时要求,可以用硬件来实现对图像的处理,f p g a 芯片便是目标硬件的理想选择之一,同时f p g a 的应用也为提高图像处理速度提供了新的思路和解决方法【3 1 。本文的主要研究内容就是基于f p g a 的图像处理算法的实现。1 2 图像处理技术综述对于图像算法的处理可以用软件或者硬件来实现。通常来说,出于简便和成本考虑,一般利用软件来实现大部分操作,除非需要更高的速度以满足性能指标。软件可以优化,但有时是不够的。如果需要更高的速度,利用硬件来处理算法是个不错的选择。图像处理的硬件设计有两种技术方案,一是全定制的专用集成- 基于f p g a 的图像处理算法的研究与硬件设计电路( a s i c ) ,二是半定制的数字信号处理器( d s p ) 以及现场可编程门阵列( f p g a ) ,它们在设计中的运用都可以大大加快对信息的处理速度。一般来说,图像处理速度的提高,主要有两种手段,一是改变图像处理算法,使算法更简单。但最为耗时的图像低级处理算法已相当成熟,其运算的复杂性也相对固定,所以改变算法同时又能够保证精度是非常困难的。二是改变实现算法的手段。目前,实现图像处理算法的手段针对不同的应用需求主要有以下几种【4 】:一、通用计算机:二、并行处理;三、专用集成电路( a s i c ) ;四、数字信号处理器( d s p ) ;五、现场可编程门阵列( f p g a ) 。下面分别介绍:( 1 ) 通用计算机通用计算机是基于冯诺依曼结构的,通过高级语言( c ,c + + 等) 编写程序代码,经过编译后转换成指令代码,每一条指令代码又包括许多条微指令,每条微指令都需要数个机器周期。虽然现在通用计算机技术发展非常快,但通用计算机属于标准串行机,大部分工作是存储器和a l u 之间交换数据,整个过程是单指令单数据的串行处理过程,在很多情况下该系统结构上的局限性使它对低级图像处理不能够满足实时高速的要求。因此,基于通用计算机,采用高级语言编程,它适合各种图像处理算法的验证,适用于一些实时性要求不高的场合。( 2 ) 并行处理在许多场合下,单个c p u 不能够实现实时数据处理的时候,采用多个c p u同时工作的并行处理为解决此问题提供了可能。各国学者在这方面作了大量的工作,并已经研究出多种并行结构和编程语言,它克服了单个处理器在硬件上串行工作的局限性,提高了系统的性能。虽然对并行处理进行了大量的研究,但这个领域仍不成熟。处理单元负载不均衡,并行算法编程困难,理论上并行处理所应达到的性能和实际性能相比有较大差距。( 3 ) 专用集成电路专用集成电路【5 】( a s i c ) 是针对于某一固定算法或应用而专门设计的硬件芯片。许多图像处理算法采用通用处理器和d s p 来实现难以满足速度需要,而必须采用a s i c 来实现,在各种算法实现方案中使用a s i c 来实现是最快的。但是,a s i c 在实际应用中也有其缺点:a s i c 从设计到应用需要较长的时间周期;a s i c 因为属于专用硬件芯片,所以需求数量较少,成本也就非常高;由基于f p g a 的图像处理算法的研究与硬件设计于a s i c 是为专用目的设计的,当设计成型并且流片成功就不能改动,所以在设计中当算法因故需要改变时就要设计者重新设计芯片和硬件电路;当a s i c 里存在硬件设计的错误时,并且在投入生产前未能发现的话,唯一解决的办法是把产品回收,而这样做的后果往往是芯片商付出沉重的经济代价。a s i c 极低灵活度往往使其局限于非常有限的应用中并容易产生性能瓶颈,因此由a s i c 构建的图像处理系统,缺乏灵活性。( 4 ) 数字信号处理器数字信号处理器【6 】( d s p ) ,是专门为快速实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,通常使用c 语言进行编程,其处理速度可达到2 0 0 0 m i p s ,比最快的c p u 还快1 0 5 0 倍。数字信号处理器的内部采用专用硬件实现一些数字信号处理常用的运算,所以它进行这些运算速度非常快。如乘加( m a c ) 运算只需要一个时钟周期。,但是从根本上来说,d s p 只是对某些固定的运算提供硬件优化,其体系仍是串行指令执行系统,并且这些固定优化运算并不能够满足众多算法的需要,这使得它的使用受到限制。v i s i c o m 公司的一份技术报告【7 1 指出:在中值滤波实现中,d s p 处理器需要6 7 个周期完成该算法,采用f p g a 器件只需要运行在2 5 m h z ,因为f p g a 可并行实现该功能,而d s p 要达到同样的性能则需要运行在超过1 5 g h z 频率。在这一特定的应用中,f p g a 解决方案比一个1 0 0 m h z 的d s p 处理器要强大约1 7 倍。( 5 ) 现场可编程门阵列现场可编程门阵列【8 】( f p g a ) 器件是当今运用极为广泛的可编程逻辑器件,也被称为可编程a s i c 。f p g a 器件在结构上具有逻辑功能块排列,可编程的内部连线连接这些功能模块来实现一定的逻辑功能。f p g a 器件的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的s r a m 。使用s r a m 的f p g a 器件,在工作前需要从芯片外部加载配置数据,配置数据可以存储在片外的e p r o m 或其他存储体上,设计者可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。利用它用户不仅可以方便地设计出所需的硬件逻辑,而且可以进行静态重复编程和动态在系统重配置,使系统的硬件功能可以像软件一样编程来修改,从而可以实时地进行灵活而方便的更新和开发,大大提高了系统基于_ f p g a 的图像处理算法的研究与硬件设计设计的灵活性和通用性。与此同时,f p g a 自身也在迅速发展,其集成度、工作速度不断提高,包含的资源越来越丰富,可实现的功能也越来越强。f p g a 能在设计上在实现硬件并行和流水线( p i p e l i n e ) 技术 9 1 ,而这些都不能在d s p 上实现。因此,对于实时图像处理而言,与本质上仍然是依靠串行执行指令来完成相应图像处理算法的d s p 系统相比,f p g a 有很强的灵活性,可以根据需要进行重构配置,有较强的通用性,适于模块化设计;同时其开发周期短,系统易于维护和扩展,适合实时的信号处理,能够大大地提高了图像数据的处理速度,达到了系统的实时性要求,因此采用f p g a 器件是个不错的选择。1 3 基于f p g a 的图像处理的发展现状图像处理系统的结构受多方面因素的影响,特别是c p u 、计算机总线、操作系统、网络数据库和集成电路水平的影响。8 0 年代开始出现以图像帧存为中心的图像处理结构,如图1 1 所示,随着新型p c i 总线的问世,9 0 年代出现了以计算机内存为中心的图像处理系统,为了提高速度,又增加一些硬件处理,如图1 2 所示。硬件处理的功能包括卷积运算、图像分割和灰度变换等。图1 1以图像帧存为中心的图像处理结构摄j 尘酸i 一- 旧硬j 计算机1内显像数字化t 1 型! ! l 件处接口存存机理图1 2以计算机内存为中心的图像处理系统4基于f p g a 的图像处理算法的研究与硬件设计低价位微处理技术支持的并行处理技术、低成本的图像传感器以及低成本技术的新的存储技术的发展进一步推动了图像处理技术的发展,图像处理无论在算法上还是体系结构上都有了很大的发展,数字信号处理器以及大规模、超大规模可编程器件在图像处理上有广泛的应用。随着微电子技术的迅猛发展和芯片制造工艺的提高,f p g a 凭借其在处理速度上等众多优势被越来越多的在实时图像处理系统中所采用。基于f p g a 的数字图像处理系统在汽车电子产品中被广泛运用,例如车载会议电视、车载可视电话、车载机器视觉等【l o 】。由于f p g a 技术的大量采用,图像处理在硬件结构方面也发生了重大变化,它已由基本的串行结构发展成并行处理结构,由单片f p g a 处理器发展成多f p g a 处理器系统,或带阵列f p g a 的高速处理系统。f p g a 搞活了数字电视【1 1 1 。在数字电视的信号处理中,f p g a 已经越来越广泛的被运用。在图像显示、图像压缩、图像格式转化、色彩空间转化、i o 接口中都使用f p g a 器件进行处理? f p g a 可应用于数字电视机内的许多部分,作为标准芯片组间的“联结逻辑”是f p g a 的强项,许多图像处理任务( 如色彩空间变换) 以及网络接口( 如i e e e1 3 9 4 ) 现在也可用低成本可编程逻辑器件实现。中国铁道部基础设施检测中心在轨检车轨距轨向检测系统改造中采用摄像、图像处理及惯性测量技术对以往使用的光电伺服跟踪方式的轨距轨向系统进行全面改造升级。以f p g a 模块为核心的高速图像处理卡实时采集、处理8 个通道的钢轨断面图像信号,并根据钢轨断面轮廓图像求出轨距的特征点,分别计算两个特征点相对于惯性空间基准的位移及两点间的距离,实现在动态条件下的轨距轨向测量1 1 2 j 。2 0 0 5 年6 月,富士通研究所与富士通前沿科技公司共同推出了用于办公室与商务设施等用途的服务机器人“富士通服务机器人”,可以胜任引导、搬运、巡视、提供信息等事务,该项目使用f p g a 开发图像处理的l s i 。在负责视觉识别的d s p 管理下运行的是新开发的3 维图像处理l s i ,使用美国赛灵思约有5 0 0万个门阵列的f p g a 开发而成,该f p g a 的工作频率为9 0 m h z 。由于开发了图像处理l s i 提高了处理速度,因此可以在行走进程中进行视觉识别【1 3 】。随着f p g a 技术的日异月新和芯片制造工艺的不断发展,使用f p g a 技术基于f p g a 的图像处理算法的研究与硬件设计处理图像信息将成为图像处理领域中的一个发展趋势【1 4 】,特别在对图像处理速度要求很高的实时图像处理中,f p g a 将发挥巨大的作用。1 4 本文的研究内容本课题来源于江西特康科技有限公司的血液白细胞五分群检测项目的下属研究课题,属于图像处理技术范畴。本文详细阐述了f p g a 开发流程和设计准则,针对f p g a 硬件实现图像处理算法的特点和要求,深入分析和研究了图像处理算法的实现。在此基础上,采用a l t e r a 公司的a c e x l k 系列的e p l k l0 0 q c 2 0 8 3 芯片,在q u a r t u si i 开发环境下,结合第三方仿真软件m o d e l s i m ,通过v h d l 硬件描述语言实现了中值滤波、顺序滤波、数学形态学、卷积运算和高斯滤波等图像处理算法,并详细而全面的论述了各种图像处理算法的硬件设计,给出了硬件算法流程图、模块仿真图、顶层硬件图和部分v h d l 源程序。特别的,本文提出了适合在硬件上实现的快速中值滤波算法以及改进的最大值滤波和最小值滤波算法,并取得了理想的效果。最后,本文给出f p g a 硬件实现图像处理算法的性能指标和总结分析。6基于f p g a 的图像处理算法的研究与硬件设计第二章f p g a 设计综述数字图像的算法处理通常由软件来完成,但随着v l s i 技术的发展,从硬件上对实时图像进行处理成为一个新的发展趋势。f p g a 器件性能优越,采用并行方式处理数字信息,可满足实时性要求。同时采用f p g a 技术可缩短设计周期,减少硬件投资风险,且设计灵活,程序和模块可移植性强。因此,f p g a 技术被越来越广泛地运用在图像处理领域。本章在简要介绍f p g a 技术的基础上,分析了a l t e r a 公司a c e k l k 芯片的性能和结构,阐述了基于q u a r t u si i 的f p g a 设计流程。2 1f p g a 技术2 1 1f p g a 的发展可编程逻辑器件( p r o g r a m m a b l el o g i cd e v i c e ) 是一种数字电路,它可以由用户来进行编程和进行配置,利用它可以解决不同的逻辑设计问题。可编程逻辑器件自7 0 年代初期主要用于解决各种类型的存储问题,后来逐渐转向为各种逻辑应用,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高,经历了以下三个主要发展阶段1 5 】:( 1 ) 早期的可编程逻辑器件:7 0 年代初期的p l d 主要用于解决各种类型的存储问题,如可编程只读存储器( p i 的m ) 、紫外线可擦除只读存储器( e p r o m )和电可擦除只读存储器( e e p r o m ) ,由于结构的限制,它们只能完成简单的数字逻辑功能。( 2 ) 结构上较为简单的可编程芯片:7 0 年代末到8 0 年代初,a m d 公司和l a t t i c e 公司先后推出了可编程逻辑器件,产品主要为可编程阵列逻辑( p a l ) 、通用阵列逻辑( g a l ) 和可编程逻辑阵列( p l a ) 。这一类p l d 在设计上有很强的灵活性,可以实现速度特性较好的逻辑功能,但由于结构简单,它们只能实现规模较小的电路。( 3 ) 功能齐全、编程灵活的可编程逻辑器件:8 0 年代中期,a l t e r a 公司和7基于l p g a 的图像处理算法的研究与硬件设计x i l i n x 公司推出了复杂可编程逻辑器件( c p l d ) 和现场可编程门阵列( f p g a ) ,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点,可以实现较大规模的电路。今天,随着工艺技术的发展和市场需要,超大规模、高速、低功耗的新型f p g a c p l d 不断推陈出新。新一代的f p g a 甚至集成了中央处理器( c p u ) 或数字处理器( d s p ) 内核,在一片f p g a 上进行软硬件协同设计,为实现片上可编程系统( s o p c ,s y s t e mo np r o g r a m m a b l ec h i p ) 提供了强大的硬件支持。2 1 2f p g a 的基本原理f p g a 一般由三种可编程电路和一个用于存放编程数据的s r a m 组成1 5 】【1 5 l ,这三种可编程电路是:可编程逻辑块( c l b ) 、输入,输出模块( 1 0 b ) 和互连资源( r ) ,其内部结构如图2 1 所示。图2 1f p g a 内部结构原理图可编程逻辑块( c l b ) 是f p g a 的主要组成部分,是实现逻辑功能的基本单元,可以根据设计灵活地改变连接和设置,完成不同的逻辑功能;输入输出模块( 1 0 b ) 是芯片和外界的接口,提供器件引脚和内部逻辑阵列之间的连接,完成不同电气特性下的输入输出功能要求,l o b 通常排列在芯片的四周;可编程互连资源( m ) 包括各种长度的金属连线线段和一些可编程连接开关,它们将各个c l b 之间以及c l b 与l o b 之间互相连接起来,构成各种复杂功能的系统,连接长基于_ f p g a 的图像处理算法的研究与硬件设计度和工艺决定着信号在连线上的驱动能力和传输速度。f p g a 的可编程逻辑块是基于查找表( l o o ku pt a b l e ) 结构的。f p g a e p 寄存器资源丰富,适合做同步时序电路较多的设计。2 1 3f p g a 的优点f p g a 既继承了a s i c 的大规模、高集成度、高可靠性的优点,又克服了普通a s i c 设计周期长、投资大、灵活性差的缺点,已经逐步成为复杂数字硬件电路设计的理想首选。除了a s i c 的优点外,f p g a 还具有以下优点【8 】:( 1 ) f p g a 可以反复地编程、擦除和使用。在外围电路不动的情况下,设计不同片内逻辑就能实现不同的电路功能。所以,用f p g a 试制功能样片,能以最快的速度占领市场。甚至在某些领域,因为相关标准协议发展太快,设计a s i c可能跟不上技术的更新,只能用f p g a 完成系统的研制和开发。( 2 ) 开发过程投资小。f p g a 芯片在出厂之前都做过百分之百的测试,而且f p g a 设计灵活,发现错误时可直接更改设计,减少了投片风险,节省了很多潜在的花费。所以不但许多复杂系统使用f p g a 完成,甚至设计a s i c 也要把实现f p g a 功能样机作为必需的步骤。( 3 ) 规模越来越大。随着v l s i 工艺的不断提高,单一芯片内部可以容纳上百个晶体管,f p g a 芯片的规模也越来越大。单片逻辑门数已超过百万门,如x i l i n xv e r t e x i ix c 2 v8 0 0 0 已经达到了8 0 0 万门的规模。芯片的规模越大所能实现的功能就越强,同时也更适于实现片上系统。( 4 ) 保密性能好。在某些场合下,根据要求选用防止反向技术的f p g a ,能很好地保护系统的安全性和设计者的知识产权。( 5 ) f p g a 开发工具智能化,功能强大。现在f p g a 开发工具种类繁多、智能化高、功能强大。电路设计人员在很短的时间内就可完成电路的输入、综合、实现直到最后的配置芯片。f p g a 软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。( 6 ) 新型f p g a 内嵌c p u 或d s p 核,支持软硬件协同设计,可以作为片上可编程系统( s o p c ) 的硬件平台。9基于_ f p g a 的图像处理算法的研究与硬件设计2 2a c e x l k 器件a c e x l k 5 】【8 l 是a l t e r a 公司出品的2 5 v 、低价格s r a m - f 艺f p g a 器件,其结构中带嵌入式存储块( b 心) ,部分型号带p l l ,且每个嵌入式存储块的容量均为4 k b 。表2 1 列出了a c e x l k 器件的性能。表2 1a c e x l k 系统产品的主要技术指标芯片型号e p l k l oe p l k 3 0e p l k 5 0e p l k l 0 0最大系统门数5 60 0 01 1 90 0 01 9 90 0 02 5 70 0 0典型逻辑可用门1 00 0 03 00 0 05 00 0 01 0 00 0 0逻辑单元数5 7 617 2 828 8 049 9 2e a b 数361 01 2最大r a m 位数1 22 8 82 45 7 64 09 6 04 91 5 2最大用户y o g i 脚1 3 61 7 l2 4 93 3 3a c e x l k 器件的特点是将查找表( u j t ) 和e a b 相结合,提供了效率最高而又廉价的结构。基于l u t 的逻辑对数据路径管理、寄存器强度、数学计算或数字信号处理( d s p ) 的设计提供优化的性能和效率,而e a b 可实现r a m 、r o m 、双1 2 1 r a m 或f i f o 功能。这使得a c e x l k 适合于复杂逻辑及存储器功能,如数字信号处理、宽域数据路径管理、数据变换和微处理器等各种高性能通信应用。基于可重构c m o ss r a m 单元,a c e x l k 结构具有实现一般门阵列宏功能需要的所有特征,相应的多引脚数提供与系统元器件的有效接口。先进的处理功能和2 5 v低电压要求,使得a c e x l k 器件满足廉价、高容量的应用需要,如d s l 调制解调器及低价的交换机。a c e x l k 芯片的内部结构【1 6 】如图2 2 所示。每个a c e x l k 器件包含一个实现存储器及特殊逻辑功能的增强型嵌入式阵列和一个实现一般逻辑的逻辑阵列。嵌入式阵列由一系列e a b 组成,每个e a b 提供4 0 9 6 位。逻辑阵列由逻辑阵列块( l a b ) 组成,可用来实现普通逻辑功能,如计数器、加法器、状态机、多路选择器等。每个l a b 包含八个逻辑单元( l e ) 和一个局部互连。一个l e 由一个4 输入l u t 、一个可编程触发器和为了实现进位及级联功能的专用信号路径组成。八个l e 可实现中规模的逻辑块,如八位计数器、地址译码器或状态机,或跨l a b 进行组合以建立更大的逻辑块。每个l a b 代表大约9 6 个可用逻辑门。1 0基于f p g a 的图像处理算法的研究与硬件设计图2 2a c e x l k 芯片的内部结构2 3 基于q u a r t u s1 1 的f p g a 设计流程本课题的f p g a 设计是在a l t e r a 公司的f p g a 开发环境q u a r t u s i i 【17 】以及第三方仿真软件m o d e l s i m 中完成的。q u a r t u si i 和m o d e l s i m 间有接口,可以很方便对在q u a x t u s i i 环境下建立的工程进行仿真。如图2 3 所示,基于q u a r t u s i i 的完整的f p g a 设计流程包括设计输入、功能仿真、综合、综合后仿真、布局与布线、布局布线后仿真和下载配置等主要步骤【1 8 】【1 9 】。( 1 ) 设计输入q u a r t u s l l 支持的输入方法包括硬件描述语言h d l 、状态图与原理图输入三种方式。h d l 语言在描述状态机、控制逻辑、总线功能方面较强,使其描述的电路能在特定综合器作用下以具体硬件单元较好地实现;而原理图输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点。本设计以v h d l 输入为主,原理图输入为辅。( 2 ) 功能仿真电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计的要求。通过仿真能及时发现设计中的错误,加快设计进度,提高基于f p g a 的图像处理算法的研究与硬件设计设计可靠性。功能仿真过程没有加入时序信息,不涉及具体器件的硬件特性。本文在设计中使用m o d e l s i m 进行功能仿真验证。( 3 ) 设计综合综合,就是针对给定的电路实现功能和实现此电路的约束条件,例如速度、一功耗、成本及电路类型等,通过计算机进行优化处理,将h d l 语言等设计输入翻译成由与、或、非门、r a m 、寄存器等基本逻辑单元组成的逻辑连接( 网表) ,并根据目标与要求( 约束条件) 优化,获得一个能满足上述要求的电路设计方案。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目标的优化过程。设计输入uh d l 输入-=调用m o d e l s i me,功能仿真综合ul 调用a l t e r a 公司h d l 门级网表i 的布局布线工具-=调用m o d e l s i mjl综合后仿真布局与布线uuh d l 门级时序s d f 门级时序飞夕弋夕厂厂、警仿真r 隐l )u下载配置图2 3 基于q u a r t u si i 的f p g a 设计流程图1 2基于f p g a 的图像处理算法的研究与硬件设计( 4 ) 综合后仿真综合完成后需要做综合后仿真,以检查综合结果是否与原设计一致。在仿真时,把综合生成的延时文件反标到综合仿真模型中去,可估计门延时带来的影响,综合后仿真虽然比功能仿真精确一些,但只能估计门延时,而不能估计线延时,仿真结果与布线后的实际情况还是有一定的差距,并不十分精确。这种仿真的目的在于检查综合器的综合结果是否与设计输入一致。( 5 ) 布局与布线综合完成之后,根据所选芯片的型号,将综合输出的逻辑网表适配到具体的f p g a 器件上,即布局与布线。布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到f p g a 内部的物理位置;布线是指利用自动布线软件使用布线资源选择路径试着完成所有的逻辑连接。q u a r t u si i 含有功能强大的编译器,可以一次完成布局与布线等工作,同时提供一系列的时序信息报告。( 6 ) 布局布线后仿真布局布线之后需要做布局布线后仿真,将布局布线的时延文件反标到设计中,使仿真既包含门延时信息,又包含线延时信息。与前面各种仿真如功能仿真、综合后仿真等相比,布局布线后仿真包含的延时信息最为全面、准确,能较好的反映芯片的实际工作情况,可以有效的分析设计中的竞争和冒险。( 7 ) 下载配置整个设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试,从硬件上验证整个设计。下载也叫芯片配置,是在功能模拟与时序模拟正确的前提下,将综合后形成的位流数据文件下载到具体的f p g a 芯片中。f p g a 设计有两种配置形式:直接由计算机经过专用下载电缆进行配置,由外围配置芯片进行上电时自动配置。a l t e r a 公司的f p g a 下载可以选择p s ( p a s s i v es e r i a l 被动串行) 方式和j t a g 方式。因为f p g a 大多支持i e e e 的j t a g 标准,所以使用芯片上的j t a g 口是常用下载方式。本设计验证平台为深圳瑞芯科技的s p 3 0 5 0f p g a 实验板,下载配置采用的是j t a g 模式。基于_ f p g a 的图像处理算法的研究与硬件设计第三章数字图像处理算法本文主要研究基于f p g a 的图像处理算法的实现,因此图像处理算法是本设计的核心内容,深入理解和分析这些图像处理算法是利用f p g a 硬件来实现它们的前提和关键。本章在首先引入方形窗的概念后,结合f p g a 硬件实现图像算法的特点和要求,深入分析了中值滤波、顺序滤波、数学形态学、卷积运算和高斯滤波等数字图像处理算法。特别的,本章在传统的中值滤波算法的基础上提出一种快速中值滤波算法,并对两种中值滤波算法进行分析与比较。3 1 方形窗在数字图像处理中,许多算法是基于滑动窗的,滑动窗操作是图像滤波和形态学运算的基础。它使用一个窗口,这个窗可以是一个点( o r i g i n ) 周围的特定长度或形状的邻域,来计算算法的输出。例如,滑动方形窗操作可以实现运算整个邻域内所有像素的平均值,这便是均值滤波的原理。o n g m图3 13 x 3 方形窗本文就是基于方形窗( 图3 1 ) 来实现图像处理中一些算法。方形窗口可大可小,一般这些滤波窗都是尺寸为奇数大小的滑动窗口,如3 x 3 ,5 x 5 ,7 x 7 等。本文在图像算法的f p g a 硬件设计中选用的是3 x 3 方形窗,因为这对于处理一幅大小为2 5 6 x 2 5 6 的灰度图像已经足够。如果选用较大尺寸滑动窗的话,不但会占用更多的f p g a 芯片的硬件资源,工作频率降低,图像处理效果也不一定有明显的改变。本文将会在后面的章节中详细介绍3 x 3 方形窗模块的硬件设计,同时引出5 x 5 方形窗模块的硬件设计。1 4基于f p g a 的图像处理算法的研究与硬件设计3 2 中值滤波中值滤波1 】【2 0 1 是一种非线性的图像平滑方法,与均值滤波器以及其他线性滤波器相比,它能够很好地滤除脉冲噪声,同时又能够保护目标图像边缘。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值,中值滤波可定义为:g ( x ,y ) = m e d i a n f ( x i ,y 一,) ( f ,) 矽式中:g ( x ,y ) 和f ( x f ,y j ) 分别为输出和输入像素灰度值,矿为模板窗口。窗矿可以取线状、方形、十字形、圆形、菱形等。为了便于在f p g a 硬件上实现中值滤波,本设计采用3 x 3 方形窗。取3 x 3 窗中值取代中间位置像素值对窗中的像素进行排序中值图3 2 中值滤波算法实现框图中值滤波实现过程如图3 , 2 所示。标准的中值滤波器都是由一个奇数大小尺寸的滑动窗组成,通常为3 x 3 窗或5 x 5 窗等。以3 x 3 窗为例,该窗沿着图像数据的行方向逐像素滑动,在每一次滑动期间内,方形窗中的所有像素按照灰度值被排序,这组数据中的中值作为输出,替代原来窗函数的中心位置像素的灰度值。基于_ f p g a 的图像处理算法的研究与硬件设计以3 x 3 方形窗为例,对一幅2 5 6 x 2 5 6 的灰度图像进行中值滤波处理,共需要处理6 5 5 3 6 个像素,对每个像素点及其邻域取中值需3 6 次排序运算。可见,中值滤波虽然算法比较简单,但是运算量非常大。在实时图像处理系统中,处理数据量巨大,对处理速度要求很高,如果使用软件法处理无法满足实时处理需求。使用f p g a 硬件能够对图像数据信息进行并行处理和流水线操作,只需要一个时钟周期就可以完成对一个像素及其邻域的中值滤波算法处理【2 “。3 3 快速中值滤波根据传统中值滤波算法排序费时,不利于实时处理的缺点瞄1 ,本文提出一种窗内像素灰度值排序的改进算法,即快速中值滤波算法。快速中值滤波算法对比于传统中值滤波算法,不仅运算量大大减少,在f p g a 硬件实现上所占用的硬件资源也更少,因此它对图像数据的处理速度比传统中值滤波算法更快。3 3 1 算法原理以3 x 3 窗为例,快速中值滤波算法原理如下:对窗内像素灰度值鼍,:i = 1 矿,= 1 w ,( w = 2 k + l ,矿表示窗口大小) 先进行列排序( 降序)z i 一 。c r 。, - x ,j ) ,再把x 。按照行排序( 降序) z i 一 。( x 。一。x 。) ,对角线上的像素取中值输出,得m = m e d x ( 。+ w := 1 - 形) 。快速中值算法实现过程如图3 3 所示。图3 3 快速中值滤波算法实现框图快速中值滤波算法同时也可以推广到5 x 5 窗等,实现过程类似于3 x 3 窗,在此不再做详细介绍。基于f p g a 的图像处理算法的研究与硬件设计图3 4 快速中值滤波流程图下面证明快速中值滤波算法的正确性。如图3 4 所示,对3 x 3 窗中的9 个像素值w l l w 3 3 先进行列排序( 降序) ,分别得到三列数据,m a x ( i ) 、m e d ( i ) 和m i n ( i ) ,其中m a x 、m c d 和m i n 分别表示最大值、中值和最小值;然后按照行排序( 降序) ,分别得到a ( i ) 、b ( i ) 、c ( i ) ;最后取对角线上的三个像素值a 3 、b 2和c l 的中值输出。第一级列排序后,可以得到m a x ( i ) m e d ( i ) m i i l ( i ) ;第二级行排序后,可以得到a l = m a x m a x l ,m a x 2 ,m a x 3 ,即a l 为m a x ( i ) 三个像素值的最大值,容易看出,经过两级排序后,其实a l 也就是9 个像素值的最大值。而由于a 2 = m e d m a x l ,m a x 2 ,m a x 3 ,a 3 = m i n m a x l ,m a x 2 ,m a x 3 ) ,a 2 、a 3 都属于m a x ( i ) ,因此a 2 = m a x ( 1 ) m e d ( 1 ) m i n ( 1 ) ,a 3 = m a x ( m ) m e d ( m ) m i n ( m ) ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议子女轮流抚养权及财产分割合同范本
- 2025年药店管理试题及答案
- 2025年国家公务员考试行测(副省级)行政职业能力测验试卷与参考答案
- 2025年社会责任咨询师考试试卷及答案
- 2025年肌动学模考试题与参考答案解析
- 2025年pcr上岗证历年考试题及答案
- 砂浆罐管理制度
- 委托施工合同契约书
- 产前血压管理制度
- 活力谷建筑方案设计图
- 支气管镜EBUS超声检查临床应用
- 电网规划培训课件
- 法律与道德教学课件
- 财政分局合同管理制度
- 破产清算律师管理制度
- 口腔诊室6S管理
- oem生产订单管理制度
- 中华骄傲主题班会课件
- 财务共享:理论与实务(第2版·立体化数字教材版)讲义 11第十一章 资产管理模块
- 野生动植物保护与利用
- 踝关节骨折的护理查房
评论
0/150
提交评论