计算机应用技术硕士论文-基于FPGA的图像处理平台及3D加速引擎的设计.pdf_第1页
计算机应用技术硕士论文-基于FPGA的图像处理平台及3D加速引擎的设计.pdf_第2页
已阅读5页,还剩67页未读 继续免费阅读

计算机应用技术硕士论文-基于FPGA的图像处理平台及3D加速引擎的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中南大学 硕士学位论文 基于fpga的图像处理平台及3d加速引擎的设计 姓名:郑博文 申请学位级别:硕士 专业:计算机应用技术 指导教师:胡小龙 20090501 摘要 3 d 加速引擎是3 d 图形加速系统的重要组成部分,以往在软件平台 上对3 d 引擎的研究,实现了复杂的渲染模型和渲染算法,但这些复杂算 法与模型在f p g a 上综合实现具有一定难度,针对f p g a 的3 d 加速引擎 设计及其平台实现需要进一步研究。 本文在研究3 d 加速引擎结构的基础上,实现了基于f p g a 的图像处 理平台,使用模块化的思想,利用i p 核技术分析设计实现了3 d 加速管 道及其他模块,并进行了仿真、验证、实现。 图像处理平台选用v i r t e x i vf p g a 为核心器件,并搭载了h y n i x h y 5 d u 5 7 3 2 2 2 f 2 5 、a t 9 1 f r 4 0 1 6 2 s 、x c f 3 2 pv 0 4 8 及其他组件。为满 足3 d 加速引擎的实现与验证,设计搭建的图像处理平台还实现了 d d r - s d r a m 控制器模块、v g a 输出模块、总线控制器模块、命令解释 模块、指令寄存器模块及控制寄存器模块。3 d 加速引擎设计包含3 d 加 速渲染管道、视角变换管道、基元读取、顶点f i f o 、基元f i f o 、写内存 等模块。针对f p g a 的特性,简化、设计、实现了光照管道、纹理管道、 着色管道和a l p h a 融合管道。最后使用m o d e l s i m 进行了仿真测试和图像 处理平台上的验证,其结果表明3 d 加速引擎设计的大部分功能得到实现, 结果令人满意。 关键词3 d ,引擎,平台,管道,渲染 a bs t r a c t 3da c c e l e r a t i n ge n g i n ei st h em o s ti m p o r t a n tp a r to ft h e3dg r a p h i c s a c c e l e r a t i n gs y s t e m i nt h ep a s t ,t h er e s e a r c ho f3 de n g i n eo nt h es o f t w a r e p l a t f o r mr e a l i z e dp l e n t yo fc o m p l e xr e n d e r i n gm o d e l sa n da l g o r i t h m s ,b u t t h e s ec o m p l e xm o d e l sa n da l g o r i t h m st os y n t h e s i z ea n di m p l e m e n to nt h e f p g ac o n t a i nac e r t a i nd e g r e eo fd i f f i c u l t y i nv i e wo ft h ef p g ad e s i g n sa n d i t s3d a c c e l e r a t i n ge n g i n ep l a t f o r m ,t h ef u r t h e rs t u d i e sa r en e e d e d t h i sp a p e rs t u d i e st h es t r u c t u r eo f3 da c c e l e r a t i n ge n g i n et os p e e du po n t h eb a s i so ft h ea n a l y s i st oa c h i e v et h er e a l i z a t i o no ff p g a b a s e di m a g e p r o c e s s i n gp l a t f o r m d e s i g n e da n di m p l e m e n t e dt h e3 da c c e l e r a t i n gp i p e l i n e a n do t h e rm o d u l e sb yu s i n go fm o d u l a r t h i n k i n ga n di p - c o r et e c h n o l o g y i ti s s i m u l a t e d ,v e r i f i e d ,a c h i e v e d i m a g ep r o c e s s i n gp l a t f o r mc h o o s et h ev i r t e x - i vf p g aa sc o r ed e v i c e , a n de q u i p p e dw i t hh y n i xh y 5 d u 5 7 3 2 2 2 f 2 5 ,a t 9 1 f r 4 0 1 6 2 s ,x c f 3 2 p v 0 4 8a n do t h e rc o m p o n e n t s t om e e tt h e3 da c c e l e r a t i n ge n g i n et oa c c e l e r a t e t h er e a l i z a t i o na n dv e r i f i c a t i o n ,i m a g e p r o c e s s i n gp l a t f o r m a l s oh a s d d r - s d r a mc o n t r o l l e rm o d u l e ,v g ao u t p u tm o d u l e s ,b u sc o n t r o l l e r m o d u l e ,t h ec o m m a n di n t e r p r e t a t i o nm o d u l ea n da s s o c i a t e dm o d u l e s t h e3 d a c c e l e r a t i n gr e n d e r i n ge n g i n ei n c l u d e s3 da c c e l e r a t i n gr e n d e r i n gp i p e l i n e , p e r s p e c t i v et r a n s f o r mp i p e l i n e ,e l e m e n tt or e a d ,v e a e xf i f o ,p r i m i t i v ef i f o , w r i t et h em e m o r ym o d u l e s f o rf p g af e a t u r e s ,s i m p l i f i e dt h ed e s i g n ,a n d r e a l i z e da l i g h tp i p e ,t e x t u r ep i p e l i n e s ,s h a d e rp i p e l i n e sa n da l p h ai n t e g r a t i o n f i n a l l y , s i m u l a t i o ni s t e s t e do nm o d e l s i ma n di m p l e m e n tv e r i f i e do nt h e p l a t f o r m t h e r e s u l t ss h o wt h a tt h em o s tf u n c t i o n so f3 da c c e l e r a t i n g r e n d e r i n ge n g i n ei si m p l e m e n t e da n d i ti ss a t i s f i e d k e yw o r d s 3 d ,e n g i n e ,f l a t f o r m ,p i p e l i n i n g ,r e n d e r i n g 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南 大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本 研究所作的贡献均已在论文中作了明确的说明。 作者签名:磐塑塾日期:上竺丘年月笪日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文并根据国家或湖南省有关部门规定送交学位论文,允许学位 论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用 复印、缩印或其它手段保存学位论文。同时授权中国科学技术信息研究所 将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公 众提供信息服务。 作者签名:至2 :! 堡塾导师签名血:! :签日期:型年上月望日 硕十学位论文第一章绪论 1 1 研究背景和研究意义 第一章绪论 世界的各个角落中三维图形1 1 , 2 】无所不在,计算机图形学也在各个行业中不断的 崛起与发展。计算机动画、计算机可视化和虚拟现实技术早已深入人心,很多高等院 校及研究机构的学者投入其中,而它们的核心都是三维图形处理及其渲染。 计算机图形学以及相关技术的飞速发展,给以后计算机仿真系统提供了高质量、 实时、交互作用的三维图形奠定了理论基础。而在当时,由e v a n s 和s u t h e d a n d 生产 的图形显示器所生成的场景仅有2 0 0 - 4 0 0 个多边形组成,生成和显示速度为每秒2 0 帧。而在今天,每秒生成数百万个多边形的图形处理器随处可见,因此由1 0 万个多 边形组成的彩色场景,以每秒3 0 帧速度生成和显示已成为可能。但与此同时,人类 对于越来越复杂的虚拟场景的需求的增长,以及对图形绘制真实感要求的不断提高, 3 d 加速处理领域的变化愈来愈多的影响着计算机图形处理技术的发展。 三维图形技术在建筑虚拟、场景漫游、城市规划、电影场景制作、虚拟教育、展 馆展示、路线设计、道路导航、古迹复原、3 d 游戏等方面的实际应用十分广泛。近 两年,手持移动设备行业中的产品,如p l a y s t a t i o np o r t a b l e ( p s p ) 、智能手机中,3 d 应用程序的广泛使用,使得3 d 加速的硬件得到一定应用。从整体上看,这些产品的 3 d 硬件加速技术大部分掌握在一些制造商手中。 目前国内制造商的3 d 加速应用由于3 d 加速硬件的种种原因未能广泛应用其产 品中。3 d 加速硬件产品的开发相对落后,没有自己的品牌。国家曾经在8 6 3 计划和 一些高校的科研当中对三维图形引擎有过广泛讨论研究,但是这些3 d 引擎的研究, 仅在软件平台上设计实现。虽然市场上有许多基于f p g a 的开发设计板,但是这些丌 发板没有针对性,很难找到适合3 d 加速引擎设计的验证平台,所以本文对基于f p g a 图像处理平台及3 d 加速引擎技术的研究是一次有意义的尝试。 1 , 2 国内外研究现状 最早的3 d 显示卡仅搭配一个几何加速器,用来提高顶点的吞吐量和加速几何变 换、光照等操作,这样的搭配方式成本高,仅应用在工作站产品中。3 d f x 的v o o d o o l 显卡在当时的制造工艺条件下提供一个可以解决3 d 渲染流水线大部分问题的方案: s e t u p 、纹理映射、z b u 虢r 等等,所以在当时风靡一时。n v i d i a 收购了3 d f x 后, 推出了支持s h a d e rm o d e l1 0 的g e f o r c e3 ,这款产品首次引入了对顶点和像素的可编 程操作以及多采样抗锯齿。现在大部分的显卡都已经是具备s h a d e rm o d e l2 0 或者 硕士学位论文第一章绪论 s h a d e rm o d e l3 0 的产品,主要特色是对像素着色器引入了浮点处理,精度显著提高 后使得多过程渲染步骤执行的精度问题大大改善,每个像素着色器程序允许容纳的指 令数可以大幅度增加,实现更加复杂的画面效果。 在过去的几年中,3 d 图形处理器件经历一场巨大的变革。过去3 d 图形处理器件 仅能支持几种固定的图形处理算法1 3 l ,而现在已经具有完全的可编程特性,并且这种 发展的趋势在未来的几年中仍将继续。最终的一个目标是丌发人员能够与3 d 图形处 理器件中的渲染模块进行直接交互。由于图形处理单元( g p u ) 能够在图形计算方面 提供极大的并行性,因而图形处理单元的发展速度也远大于中央处理单元( c p u ) 的 速度。并行性的提升需要适当的使用硬件实现算法。在实际的应用中,图形处理单元 包含多条独立的渲染管道和像素处理模块,这些管道和模块还能够进行多个“位的 并行计算,这使得图形处理单元的规模远远大于一些中央处理单元的规模。 a t is t r e a m 是a m d a t i 针对旗下图形处理器( g p u ) 而推出流处理技术,利用 这种技术可以充分发挥a m dg p u 的并行运算能力,用于对软件进行加速或进行大型 的科学运算。a t is t r e a m 流处理技术可使r a d e o nh d 系列显卡发挥出其强大的并行计 算能力。现在a m d 的高端显卡r a d e o nh d4 8 5 0 4 8 7 0 拥有8 0 0 个流处理器,可以简 单理解成拥有8 0 0 个核心,通过a t is t r e a m 便可发挥这8 0 0 个核心的计算能力,这是 4 核心c p u 远不能相比的。 最新一代的图形处理单元中的渲染管道具有可编程特性和低能耗特性【4 】。提高可 编程性最常见的方式是在渲染管道当中加入处理器,另外高度并行的图形算法、强大 的能源供应和硬件控制能力都可以使渲染管道的性能得到大幅提升。i n t e l 的l a r r a b e e 将支持光线追踪,也将是在面对许多科学运算领域最高速的处理器,它的完全可编程 能力也将有很大的提升。 现场可编程门阵列( f i e l d - - p r o g r a m m a b l eg a t ea r r a y , f p g a ) 由大量的可编程逻 辑块组成,它是在p a l 、g a l 、e p l d 等可编程器件的基础上进一步发展的产物。与 原先使用专用集成电路( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t a s i c ) 实现的设计相 比,不需要投片生产,就能得到合用的芯片,且f p g a 内部有丰富的触发器和i o 引 脚,加之f p g a 的价格越来越便宜,性能越来越强大,设用f p g a 做设计周期最短、 费用低、风险小,加之功耗低。另外,f p g a 可以与c m o s 、1 v r l 电平兼容,能够很 好与其他器件兼容。所以使用f p g a 做设计已经不是遥不可及的事情,基于f p g a 的 设计实现平台已经在众多的研究课题中得到应用。 在g d c 2 0 0 9 ( 游戏开发者大会) 上,a r m 推出3 d 处理能力的手机图形芯片。 新款芯片包括m a l i 2 0 0 和m a l i - 4 0 0 两种,支持o p e n g le s 2 0 和可编程的渲染器,支 持复杂的视觉效果。其中m a l i 2 0 0 面向中端,每秒可以渲染1 6 0 0 万个三角形;它的 性能足以驱动f l a s h 和更高级的j a v a 程序。而m a l i 4 0 0 可支持4 个显卡核心,可驱动 1 0 8 0 p 视频和更多的流行3 d 效果。 2 硕十学位论文第一章绪论 随着f p g a 的普及,许多基于i p 核1 5 】的设计在市场上出现,很多实力强大的开发 公司不断推出自己i p 核产品,但由于其商业化程度高,价格不菲。对于普通的小型 设计团队或者研究者都是难以承受的,并且这些i p 核的使用者不可能接触到底层的 源代码。在这样的情况下,个别互联网团体发布了许多在l g p l ( l e s s e rg e n e r a lp u b l i c l i c e n s e ) 下的i p 核代码,数百个可复用的l p 核代码供普通开发者、研究者使用。 o p e n c o r e s 是国际上成立较早、比较有影响的组织,致力于l g p l 协议下设计和发布 i pc o r e ,以保证设计资源能被自由免费使用。该组织还制定和发展丌放式i pc o r e 设 计标准及平台,为用户提供关于设计资源和平台完备的文档支持。提供的资源包括算 术模块、微处理器、存储器、协处理器、通信控制模块、d s p 核、系统控制器、视 频控制器等电路模块。该组织维护管理的w i s h b o n e 总线标准( 由s i l l i v o r e 公司丌发 并移交) 因其具有开放性,且有丰富免费i pc o r e 资源支持,实际已成为免费i pc o r e 设计的互连标准。而o p e n g r a p h i c s 是一个由t i m o t h ym i l l e r 发起,在互联网上发布的 开源项目,它致力于在丌源项目中建立完全的公共规范和丌源驱动,这个项目现在已 经由t r a v e r s a lt e c h n o l o g y 公司接管,这家公司也是发起者与他人共同创立的。在这个 开源项目的源代码中仅仅公布了外围设备与模块的源代码,其丌源引擎的代码并没有 公开,但是这些外围设备和模块的代码可以为科学研究提供很大的帮助。 1 3 本文工作及论文组织 本文通过对3 d 加速引擎的研究,设计了基于f p g a 的图像处理平台,建立一个 简单的3 d 加速引擎以满足其引擎的后期扩展性。研究的主要内容包括下面几点: 1 图像处理平台的架构; 2 3 d 加速引擎的主要功能模块; 3 3 d 物体顶点的变换,如平移、旋转、拉仲; 4 3 d 物体的光照、纹理、着色、a l p h a 融合处理; 5 3 d 加速引擎为3 d 程序硬件加速过程。 本论文共分五章,各章节的主要内容如下: 第一章为绪论,简要概述论文的研究主题、背景和意义,以及此项研究在目前的 国内外现状,以及安排论文的章节。 第二章针对图像处理平台的硬件要素构成,分析了实现3 d 加速引擎的硬件器件, 并着重研究所选用的f p g a 芯片的性能,以及实现3 d 加速引擎相关必要条件和一些 基本方法。并研究了图像处理平台的设计,描述器件控制器、模块划分,讲述各个主 要模块的主要功能。 第三章研究整个3 d 加速引擎的设计与实现,是本文的重点章节。包含3 d 加速 引擎各个模块的实现细节。 硕士学位论文 第一章绪论 第四章分析了图像处理平台和3 d 加速引擎实现后的测试过程和在图像处理平台 中的综合集成测试过程与验证。 第五章是论文的结束部分。对本论文的研究工作进行了总结,并对今后在该领域 里的进一步研究工作进行了展望。 4 硕十学位论文第二二章图像处理平台平台的设计 第二章图像处理平台的设计 本章主要分析设计开发的硬件平台以及设计中的相关丌发环境与工具,研究了适 用于本设计x i l i n x 公司的v i r t e x i vf p g a 和相关器件。 2 1 设计开发板 为了实现3 d 加速引擎,设计了一块f p g a 开发板。开发板提供了x i l i n xv i r t e x i v f p g a 芯片、8 m x3 2 的d d r s d r a m 存储器、两个时钟源、r s 2 3 2 串口和其他的控 制电路。它的低压差分信号接口提供了3 2 位的数据传输能力,x i l i n xi s e 开发套件通 过j t a g 接口调试程序,设计开发板的结构图如2 1 所示。 1 f p g a 开发板上使用的是x i l i n x 公司v i r t e x i v 系列中的x c 4 v l x l 0 0 ,它基于新的高级 硕七学位论文第二章图像处理平台平台的设计 硅片组合模块( a s m b l ) 架构,针对大量使用逻辑的电路设计优化,提供了最高的 逻辑密度和具成本优势的高性能逻辑和i o 。v i r t e x i vl x 系列提供了丰富的逻辑单 元,多达2 0 0 ,0 0 0 个,以及嵌入式块r a m 、数字时钟管理( d c m ) 模块最高提供近 5 0 0 m h z 的时钟、p m c d 相位匹配时钟分频器、片上差分时钟网络、采用集成f i f o 控制逻辑的5 0 0m h zs m a r t r a m 技术、每个i o 都集成了c h i p s y n c 源同步技术的l g b p si 0 和x t r e m e d s p 算术功能,适合处理多种市场中的高密度、i o 密集和高性能 的逻辑应用。 v i r t e x 系列f p g a 是一种高密度、大容量的现场可编程门阵列,对执行基于i p 核和自定义模块的设计有很高的效率。这个系列为通讯、无线、网络、视频和d s p 的应用提供了完整的解决方案,解决方案中还包括了p c i 、l v d s 和d d r 接口的设计。 多种多样灵活的特性和百万门级的容量使得v i r t e x i v 系列的芯片大大加强了可编程 逻辑设计的能力。其特性有: ( 1 ) 可配置逻辑块( c o n f i g u r a b l el o g i cb l o c k s ,c l b s ) “ 一个c l b 元件包含4 个互相连接的片( s l i c e ) 、8 个查找表( l u t ) 、8 个触发器( f l i p f l o p ) 、8 个m u l ta n d 、 8 个进位算术树、链、6 4 位的分布式r a m 和6 4 位移位寄存器。x c 4 v l x l 0 0 有1 9 2 6 4 = 1 2 2 8 8 个c l b s ,根据这个值可以得到片、查找表、触发器、m u l ta n d 、进位算 术链的数量。每一个s l i c e 是完全相同的,它包含:两个函数发生器( f & g ) 、两个 存储元件、全功能多路复用器、进位逻辑、算术门电路。 函数发生器( f & g ) 可以被配置成4 路输入的查找表、1 6 位的移位寄存器或者 1 6 位分布式s e l e c t r a m 存储器。x c 4 v l x l 0 0 的s e l e c t r a m 存储器容量为9 8 3 0 4 字 节。把c l b 当作分布式s e l e c t r a m 使用会使它们无法被用来做逻辑,所以对b l o c k s e l e c t r a m 的使用是首选。除此以外,这两种存储元件要么是由边缘出发的d 触发器 组成要么是有电平敏感的锁存器。每个c l b 内部均有通过快速互联和连接到丌关矩 阵来访问一般路由资源。 ( 2 ) b l o c ks e l e c t r a mm e m o r y :b l o c ks e l e c t r a m 存储器资源有1 8 k b 的双1 2 1 r a m ,根据数据宽度和深度的不同,可编程的容量从1 6 k l b i t 到5 1 2 3 6 b i t s 不等。 每个端口都是完全同步的、独立的,并提供了三种写中读的模式。b l o c ks e l e c t r a m 存储器使用级联的方式实现大型嵌入式存储块。x c 4 v l x l 0 0 内一共有2 4 0 个 s e l e c t r a m 存储块。 ( 3 ) 乘法器:乘法器资源是和s e l e c t r a m 存储器资源联合在一起的。每一个乘 法器块由一个1 8 1 8 b i t s 的乘法器组成,它优化了在b l o c ks e l e c t r a m 一个端口上的 操作。这个1 8 1 8 的乘法器可以用b l o c ks e l e c t r a m 资源被独立的使用。读操作、 乘法运算、累加操作和d s p 的滤波在乘法器中有很高的运行效率。s e l e c t r a m 存储 器资源和乘法器资源均连接了四个开关矩阵以访问所有的路由资源。 ( 4 ) 全局时钟:数字时钟管理模块( d i g i t a lc l o c km a n a g e sd c m ) 和全局时钟多路 硕十学位论文第二章图像处理平台平台的设计 复用缓冲器对高速时钟的设计有一套完整的解决方案。x c 4 v l x l 0 0 共有1 2 个d c m 模块。每个d c m 可以用作消除时钟分配延时来产生反偏斜的内部或者外部时钟信号, 同时还能提供时钟的9 0 度、1 8 0 度和2 7 0 度相移时钟输出。微粒相移在1 2 5 6 倍时钟 周期增量中可以实现高分辨率相位调整。频率合成器把一种输入时钟的频率转换成原 有频率的m d 倍( m 和d 是两个整数) 。 2 a t 9 1 f r 4 0 1 6 2 s a t 9 l f r 4 0 1 6 2 s 是基于a r m 7 t d m i 处理器内核的芯片,其集成了2 5 6 k b 的片内 3 2 为s r a m 和1 0 2 4 k 字的1 6 位f l a s h 存储器、a t 9 1f l a s hu p l o a d e r 的驻留引导软件 ( 其能够通过串口向f l a s h 存储器加载应用软件) 、完全可编程的外部总线接口e b i 、具 有8 个优先级且可以独立屏幕的向量中断控制器、3 2 个可编程的i o 口线、3 通道的 1 6 为定时器计数器、2 个通用同步异步收发器u s a r t ,具有可编程的看门狗定时器 和先进的省电特性,完全静态操作,最大工作频率高达7 5 m h z ,使用a r m 指令集工 作于6 6 m h z 可以获得6 0 m i p s 的高性能,i o 工作范围2 7 3 6 v ,内核工作范围1 6 5 1 9 5 v 、运行温度范围4 0 8 5 ,封装形式为1 2 1 b a l l1 0 m m 1 0 m m 1 2 m m 的 b g a 封装。这些特点使以微处理器a t 9 1 f r 4 0 1 6 2 s 为核心的硬件系统设计比较简洁, 稳定性和性价比大幅提高。 3 d d r s d r a m 存储器 开发板一共提供了3 2 m b 的d d r s d r a m 存储器容量。d d r s d r a m 存储器芯 片使用的是h y n i xh y 5 d u 5 7 3 2 2 2 f 2 58 m 3 2 器件。2 5 版本的芯片具有4 0 0 m h z 的 时钟频率,3 2 位的数据传输方式最高可达8 0 0 m b p s 的数据传输速度。时钟周期时间 ( t c k ) 是衡量存储芯片性能的一个重要指标。当c l ( c a sl a t e n c y ) 为5 的时候,t c k 仅为l o n s 。 4 p r o m 开发板使用了x i l i n xx c f 3 2 pv 0 4 8 的p r o m t 6 1 ,它可以快速的下载并验证设计 的变化,可以保证最终的系统级设计的需求。x c f 3 2 p 的存储容量为3 2 m b i t ,是 x c l 8 v 0 4 存储容量的8 倍。该芯片支持f p g a 串行或并行配置接口,能够存储多个 设计版本可用于动态重新配置,内嵌兼容x i l i n x 高级压缩技术的数据解压缩器,其结 构如图2 2 所示。 x c f x x p 系列除了具有x c l 8 v 0 0 系列所有功能外,还另有以下几个特点: ( 1 ) 它内部具有一个可选的振荡器,经c l k o u t 管脚输出,可用于f p g a 从 模式配置的时钟源; ( 2 ) 内嵌兼容x i l i n x 高级压缩技术的数据解压缩器,压缩文件由目标f p g a 位 流文件生成,当使用解压缩器时,f p g a 必须处于从配置模式,p r o m 先解压存储的数 7 硕十学位论文第二章图像处理平台平台的设计 据,再驱动时钟和数据到f p g a 接i :1 : 矿二# f 一l 二j t c ki _ d a t a 二 c l k o u t t m s+ i 卜c o n t r o la n d o s c 卜一 c d ceojtag 叫n n e 慨e | a d d r :;m e m o r yl 一兰一王上一 1l 。o 燃n t r o la e n u l 1 2 , v t d ! d a t a ( d o ) 一。一h 伦慨e a d d r :l 一二一王二一一 1 i 蒜e ! t d o i f ,1:d 砒各d e c o m p 啜s o r 一 i pd 【l :7 】 ! l 一一一一l 一一l - jl 一二j 0 图2 - 2 x c f x x p 内部结构图 ( 3 ) 设计版本功能允许用户使用一个或多个级联芯片存储最多4 个独立的设计 版本( 在共有一个片选信号c e 时) 。支持主( 从) 并行模式,可以使用压缩了的p r o m 文件。一个设计版本至少有8m b i t 的存储空间。可以通过外部版本选择管脚r e vs e l 【l :0 】或内部可编程设计版本控制位来选择其中一个设计版本。管脚决定是否使用外 部管脚或内部位选择设计版本,e n e x t s e l 当其为低时,由外部r e vs e l 【1 :o 】 来控制版本选择;当其为高时,由内部可编程版本选择控制位来决定版本选择。加电 时,设计版本选择输入( 管脚或控制位) 被内部采样,加电之后,设计版本选择输入 被c f 上升沿采样,所选择版本的数据提供给f p g a 配置接口,由此实现f p g a 动态 重新配置。 5 j t a g v i r t e x i v 开发板提供了两组j t a g 接口,第一组用于p r o m 的配置和v i r t e x i v f p g a 的配置,另外一组用于板载a t 9 1 f r 4 0 1 6 2 s 芯片的配置。 6 a d v 7 1 2 3 a d v 712 3 是一款高速高精度数模转换芯片,它有3 3 0 m h z 的最大样速度,三路 高速、1 0 位d a 转换器。最大当时钟频率为5 0 m h z 时,无杂散动态范围( s f d r ) 输出为1 m h z 时,一7 0 d b ;当时钟频率为1 4 0 m h z ,输出为4 0 h m z 时,5 3 d b 。它 还与r s 3 4 3 a r s 1 7 0 接口输出兼容。电器特性方面,它的d a 转换器的输出电流范 围为2 m a 到2 6 m a ,兼容t t l 输入,在单电源+ 5 v + 3 3 v 下工作,还有低功耗( 3 v 时最小值为3 0 m w ) 特性可以为整个设计带来便利。 7 其他特性 v i r t e x i v 设计开发板提供了两个有源晶振,品振频率分别是6 6 m h z 和1 0 0 m h z ; 同时多个稳压器件,来提供多种电源电压。输入电压为3 3 v ,同时输出1 2 v 、1 8 v 、 8 硕士学位论文 第二章图像处理平台平台的设计 2 5 v 电压 图2 - 3 开发板设计成品目 开发板的最终成品图如图2 3 所示。 2 2 i p 核技术 2 2 1硬件描述语言 当今有两种已成为工业标准的硬件描述语言( h a r d w a r ed e s c r i p t i o nl a n g u a g e , h d l ) :v h d l 和v e r i l o g 。集成电路太规模、高密度、高速度的需求,使电子设计愈来 愈复杂。通常对门级电路采用的逻辑图、布尔方程等描述方法,对于目前的其过于复 杂、难以管理,已经变得难以使用。对复杂的数字电子系统,在高层逻辑缴的抽象层 次上,这些古典的方法无法对整个电子系统作出简单、精确的描述。因而在白顶向下 的设计方法中,一般都要采用硬件描述语言。硬件描述语言的相关的设计工具和电路 布局布线技术复杂度也在不断提高中,它能够在多个层次对数字系统进行建模和模 拟。v e r i l o gh d l 偏重于硬件,底层统合做得非常好;v h d l 的逻辑综合就较之v e r i l o g h d l 要出色。但是硬件描述语占的选择并不在于语言技术性能方面的差异,而是主 要根据以下三点;个人对硬件描述语言的熟练程度、设计工具的易用性、其他团体或 硕十学位论文 第二章图像处理平台平台的设计 组织对某种硬件描述语言的认同性。本设计主要以v e r i l o g 为主要设计语言。 硬件描述语言有两种用途:系统仿真和硬件实现。如果程序只用于仿真,那么 几乎所有的语法和编程方法都可以使用。但如果我们的程序是用于硬件实现( 例如 本设计,用于f p g a 设计) ,那么我们就必须保证程序“可综合“ ( 程序的功能可以 用硬件电路实现) 。不可综合的h d l 语句在软件综合时将被忽略或者报错。 本设计最后是仿真和验证,仿真的程序可能带有不可综合代码,但是f p g a 验证 阶段则把不可综合代码用可综合的器件和代码替换。 2 2 2 i p 核与类型 i p ( 知识产权) 核是一种逻辑块或数据块,它用于产品引用专用集成电路或者可 编程逻辑器件。数字电路中常用但比较复杂的功能块,如f i r 滤波器,s d r a m 控制 器,p c i 接口等等设计成可修改参数的模块。设计中可以直接调用这些模块,这样就 大大减轻设计负担和工作量。随着c p l d f p g a 的规模越来越大,设计越来越复杂, 使用i p 核是一个发展趋势。 软i p 核是用某种h d l 文本提交用户,它已经过行为级设计优化和功能验证,但 其中不含有任何具体的物理信息。按常用或专用功能,用h d l 来描述集成电路的功 能和结构,并经过不同级别的验证形成不同级别的i p 内核模块。 i p 核分三类:软核( s o f ti pc o r e ) 、固核( f i r mi pc o r e ) 和硬核( h a r di pc o r e ) 。 o p e n c o r e s 中的所有i p 核都是软核,均属于r t l 级描述,几乎可以被综合到任何f p g a 中。x i l i n x 公司的i p 核是针对它们自己的f p g a 而设计,属于固核。这些i p 核通过 x i l i n x 开发环境中的套件工具可以综合到特定的固件中。硬核几乎不能用于f p g a 的 设计。如果设计中使用x i l i n x 的i p 核,速度性能可以预先估计出来,但同时也必须 遵循x i l i n x 的硬件约束条件。 有很多公司以商业化的形式编写i p 核,把它们的i p 核产品或者许可权转让给其 他设计公司。由于它们投入了大量的人力和技术开发i p 核的库,所有它们的i p 核的 价格或转让费相当高昂。正因为如此,使得在全球范围内的许多开发工程都不能使用 专业化级别如此高的i p 核。过去几年中,一些以因特网为主体的团体不断出现并逐 渐发展起来,它们提供了免费的i p 核 i s l 供需要的人使用,其中一个团体叫做 o p e n c o r e s ,它们的网址是w w w o p e n c o r e s o r g 。许多供数字化设计的i p 核由这个团体 中的业余爱好者发布出来,但是其中一些还是由专业的硬件丌发公司捐赠来的。网络 上发布的这些i p 核有一百多个,其中大约有一半是用v e r i l o gh d l 硬件描述语言编写 的,余下的则是用v h d l 编写,大部分还在不断地改进发展中。 o p e n c o r e s 中的一些使用的i p 核可以用在本设计中,包括d d r s d r a m 控制器、 i p 核的互联核、v g a 和l c d 控制器、一些微控制器和c o r d i c ( 协调旋转数字计算 l o 硕士学位论文 第二章图像处理平台平台的设计 机) 核。 x i l i n x 的开发套件中包含了x i l i n x 公司自己的i p 核,从i o 组件到存储器件,从 d c m 时钟用p c i 总线,其i p 核库齐全,但是x i l i n x 的i p 核的核心源代码并不公开。 x i l i n x 基础工具箱中也包含i p 核生成工具,这个工具可以让开发者可个人设计的需要 生成或自定义i p 核,但这些生成核自定义的i p 核只能用于特定的f p g a 芯片,以便 能够充分利用这些芯片的资源并发挥最大的效率,比如系统中使用i p 核生成器生成 b l o c ks e l e c t r a m 的双端口r a m 器件时,只要设定模块名称、端口位数、深度、读 后写、写后读等参数后自动生成,使用直接引用模块名实例化,处理很简单,且利用 片内的b l o c ks e l e c t r a m 资源。 在x i l i n x 公司许可下可以拥有部分i p 核的所有权,其中最受欢迎的是m i c r o b l a z e i p 核,m i c r o b l a z e 是一个被x i l i n x 公司优化过的可以嵌入在f p g a 中的r i s c 处理器 软核。x i l i n x 公司的m i c r o b l a z e3 2 位软处理器核是支持c o r e c o n n e e t 总线的标准外设 集合。m i c r o b l a z e 处理器运行在1 5 0 m h z 时钟下,可提供1 2 5d m i p s 的性能,非常 适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。 2 2 3i p 核的复用 在i c 设计过程中,引用i p 核和自己编写的模块的设计都需要花费大量时间验证。 预先验证过的设计模块数量越多、尺寸越大,系统验证的时间也就越短,设计过程花 费的时间也越短。所以验证的i p 核复用可以缩短丌发周期。1 7 】 i p 复 ! 描述系统规格i ,一。一i 一y 一 i 一? 拳黧竺jj 一t 一+ 一- - j ,一一 硬件软件划分i 一一j j 纽装软件开发 j 协同验证 , 系统验证 图2 - 4 系统设计流程 一fl 。l p - 矗徊- - e 一 ! 开发行为模型l 一 :二二一 瞄叫本二 图2 5l p 核设计流程 硕十学位论文 第二章图像处理平台平台的设计 简单的讲,i p 核的复用过程表现在整个设计中,如图2 - 4 所示。这既体现了i p 核的设计目的,也检验了i p 核的设计质量,从而我们可以从设计中整理出i p 复用的 一些基本条件。与传统设计方法不同,硬件设计不是从零开始,而是大量采用预先设 计好和验证过的i p 核,从而缩短了设计时间。在这样的情况下,i p 核必须具有可复 用性,即从s o c 设计者期望方式工作的能力。这主要包括以下三个方面:i p 核应该 遵从统一的设计风格和规范,以便能够快速地组装到一起,如图2 5 所示;i p 核应该 提供能够快速验证的功能模型,最好是层级模型,满足不同设计阶段的验证需要;交 付文档应该书写简洁、文字清楚,使得设计者能够明确地理解和使用i p 核。 不是什么样的模块都能很容易的使用。作为可复用的设计模块,i p 核必须遵从 “平易近人“ 的设计风格。这也许会损失一部分i p 核的性能,但i p 核如果不能复用 或者不能快速的复用,那就失去了它最本质的特性,也就是它存在的意义。下面列出 了一些过去设计者的设计策略: ( 1 ) 系统时序:基于同步时序和寄存器来设计电路。如果一定要加入门控时钟, 那么就提供顶层的功能说明;必须明确说明时钟的数量和频率,这是针对动态逻辑电 路而言的;说明芯片复位类型,推荐使用同步复位; ( 2 ) 系统结构:必须指明外接总线机制,做好采用标准总线;不能指望总线连 接的其他模块不出错,要引入一定的容错技术;如果想混用软、硬件i p ,层级策略必 须定义好; ( 3 ) 其他:i p 软核应该包括延迟、面积和功耗的特征约束,以便进行综合时参 考;硬i p 核要面向可能获得复用的工艺技术。 如果i p 核是可能信任的,那么只要i p 核之间的连接测试,或者说系统测试就可 以了。显然这种情况过于理想,但是却能给我们一个有用的启示,吧验证工作分割丌 来,由i p 核的设计者预先完成i p 核的全套测试。这样多个系统设计,只要i p 核的一 次全面测试,而且并不占用系统的设计时间。 全面测试需要更多的i p 核验证时间,因此快速验证技术十分重要,这方面的策 略有以下几种: ( 1 ) 更抽象的验证层级:在高的抽象层级上进行验证并不会带来更重的时问负 担,因此在这些层级应该进行更多的测试工作; ( 2 ) 合理的子模块划分:独立的功能模块可以抑制系统验证时测试用例的指数 增长; ( 3 ) 形式验证:理想情况下,有了形式验证就可以不做系统连接测试,而且形 式验证可以自然地镶嵌在综合工具早面。 ( 4 ) 更好的e d a 工具:r t l 级测试序列生成和应用标准程序生成需要更有效的 方法; ( 5 ) 测试加速技术:在通常情况下,设计的i p 核是值得用一个专门硬件去仿真 1 2 硕十学位论文第二章图像处理平台平台的设计 测试的: ( 6 ) 复用性验证:针对i p 软核而言,由于没有给出最终的设计版图,提高了i p 软核的灵活性的同时也降低了i p 软核的性能模块的精度,如果要验证这一点不妨考 虑功耗问题。 软核设计完成之后,除了代码、时序、版图等设计数据、层级模型、测试基准等 测试部件外,交付文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论