基于XilinxFPGA的多核嵌入式系统设计基础
基于Xilinx FPGA的多核嵌入式系统设计基础高清PDF文件内容简介本书系统地介绍了基于 Xilinx公司FPGA的多核嵌入式系统设计的方法、步骤和相关软件的使用方法。在讲述搭建多核架构,核间通信,软、硬件协同调试的基础上,深入讨论了多核设计中的实际工程问题和许多实用的调试技巧。本书内容包括:Xinx软、硬核处理器介绍; XilinκFPGA产品介绍;多核嵌入式通信系统的开发环境;软、硬件设计流程介绍;相关总线与通信机制介绍及对多核架构前景的展望本书是在 Xilinx公司大学计划的支持下完成的。由于是针对教学和科研中的实际问题进行讨论和阐述,因此本书中所有的工程和例程都在本书随书光盘中给出并全部经过实际测试。本书可作为高等院校电子类和通信类等专业本科生、研究生的教材,亦可作为相关科研人员的工具书和参考书。图书在版编目(C|P数据基于Ⅻ Xilinx FPGA的多核嵌入式系统设计基础/张亮等编著.一西安:西安电子科技大学出版社,2015XLNX大学合作计划指定教材ISBN978-7-5606-2560-7I.①基…Ⅱ.①张…Ⅲ.①微型计算机一系统设计Ⅳ.①TP36021中国版本图书馆C|P数据核字(201第048023号策划戚文艳责任编辑戚文艳出版发行西安电子科技大学出版社(西安市太白南路2号)电话(029)8824288588201467邮编710071网址www.xduph.com电子邮箱 xdupfxb00l@163c0m经销新华书店印刷单位陕西天意印务有限责任公司版次2011年5月第1版2011年5月第1次印刷开本787毫米×1092毫米1/16印张14字数325千字印数1~3000册定价32.00元(含光盘)ISBN978-7-5606-25607mTP·1275XDUP2852001-1**如有印装问题可调换*本社图书封面为激光防伪覆膜,谨防盗版序进入21世纪第二个十年以来,随着云计算,物联网,移动计算等新兴领域的兴起,对高性能嵌入式计算,提出了越来越高的要求。在集成电路工艺受限,运行频率无法继续显著提高,绿色高能效计算比高性能计算更重要等要求的挤压下,如何充分发挥硬件、软件、计算机体系结构各个层次的并行性,成为业界和学界的关注重点。在各种并行层次中,底层是电路级的并行,高层是多核( multi core)的并行。更近一步,近年来发展的众核( many core)系统的并行,更引人关注。系统设计师面临着各种并行层次的选择时,往往需要一种能够涵盖各种并行模式的开发系统,进行设计空间探索 Design Space Exploration,DSE),而目前能够具有这种既能作显微镜,又能作望远镜的探索能力的,非FPGA莫属。作为FPGA的领军企业Xinx,长期以来,与世界上著名大学和企业合作,共同推动着这个领域的创新和发展。作为Xinx中国区大学计划的负责人,近年来,我明显感到基于 Xilinx FPGa的多核技术在国内越来越受到大家的关注。正是在这种情况下,我非常高兴地得到了本书即将付梓的好消息。兴奋之余,我仔细看了本书的电子版书稿,感到作者们在仔细斟酌相关内容的同时,着力强调了多核技术的实际工程应用,并在本书中给出了详尽的工程项目介绍。难能可贵的是,考量到从事多核研究的人员,不少对硬件设计,尤其是 Xilinx的FPGA的设计,仍然比较陌生,本书花了不少篇幅进行基础知识的介绍,并结合实际工程加以细化,降低了本书的学习门槛,体现了作者深厚的教学功底作为 Xilinx大学计划的推动者和参与者,我非常高兴地看到在Xiin大学计划的支持下,一批既有学术意义又有工程价值的关于 Xilinx FPGa相关开发技术的书籍陆续出版。能为学校的教学和科研工作的推进贡献自己的绵薄之力,我感到非常欣慰。能在自己感兴趣的工作中感受到内心的欢欣与愉悦,我感到非常满足!由于工作的性质,我经常奔波于不同的地方,我曾数次接到本书的作者给我打来的电话,希望我能到实验室指导工作。我也常因食言而惴惴不安。但是,我亲眼看到这个团队的和谐的工作氛围,亲身感受到他们踏实的工作作风和细致认真、顽强拼搏的科研精神。本书的出版,证明了这是一个做实事的团队。我衷心希望他们能出更多更好的成果。Xilinx大学计划在大家的支持下,逐渐地走向深入。我自己也希望能在更深的层次上更广的层面上来支持大家进行与 Xilinx FPGa相关的工作。在絮絮叨叨写下以上文字的时刻,我非常希望能回到西电- Xilinx联合实验室,看看他们。最后,再次感谢大家对 Xilinx大学计划的支持。在大家繁忙的工作之余,也还请继续和我联系。能做一点对大家有用的事情,我非常高兴。仅以此,作为本书的序言。赛灵思( Xilinx,Inc)中国区大学计划经理谢凯年博士2011年3月前言目前基于FPGA的嵌入式系统开发的教材和相关参考书已经很多,但是,针对基于FPGA的多核嵌入式系统开发的教材和参考书尚不多见。近年来,随着多核嵌入式系统在航空航天等特殊领域的广泛应用,面向多核的开发研究和工程应用显得尤为紧迫。我们结合自己的科研和教学,在本书中重点讲述了基于 Xilinx FPGa的多核嵌入式系统的开发基础、应用实例和多核环境下的软件开发流程以及相关的调试技巧。本书作为国内首本介绍基于 Xilinx FPga平台的多核嵌入式系统设计的教材,在详细阐述多核嵌入式系统的创建流程和步骤的同时,重点介绍了目前 Xilinx FPGa多核嵌入式系统中丰富的通信机制以及基于不同通信方式的多核嵌入式系统的构建方法。在引导读者系统掌握多核嵌入式系统创建流程,多核嵌入式系统的软、硬件协同调试过程和调试技巧的基础上,给出了大量的具体实例和工程应用,使读者能够自主开发出一套完整的核间通信模型,并构建一个完整的多核嵌入式系统。此外,本书在嵌入式软件开发方面重点介绍了以多核处理为目标的图像处理算法、颜色转换算法、DCT变换等内容。所有的实例和工程应用均在随书光盘中给出。本书的出版一方面可以极大地促进相关的科研工作,解决科研工作中没有相关参考书的紧迫需求,同时,也填补了目前在教学工作中相关教材匮乏的空白。同时,本书重在针对目前主流的FPGA开发平台— XilinX ISE101开发套件展开介绍,所有的设计流程和应该注意的细节都将在每章的实验中一一展开论述。本书的另一特色是,在有关多核嵌入式系统的硬件系统设计介绍中,为读者展示了如何搭建基于不同通信机制的各个通信系统,并且进一步引导读者自行比较各个通信系统之间的利弊差异,启迪读者开发出自己的一套通信机制。为了增强本书的实用性,提高读者的实际动手能力和为读者提供一套自学的软件工具和环境,我们结合 Xilinx公司捐赠的Spatan3E和 VirtexⅡ实验板,开发了大量的实际工程和实验例程。本书第1章由张亮、沈沛意编写,第2章由刘春红、张亮编写,第3章和第4章由张亮、肖潇编写,第5~7章由张亮、刘春红和沈沛意编写。西安电子科技大学吴成柯教授李云松教授在百忙中审阅了全书,提出了许多宝贵的意见。本书在撰写的过程中,得到了 Xilinx公司大学计划负责人谢凯年博士、 Xilinx公司亚太区总裁杨飞博士、南京远立科技有限公司邬刚先生、西安电子科技大学杨刚教授的大力支持和帮助。 Xilinx公司向本书的作者提供了相关的硬件开发板、开发软件和现场支持。西安电子科技大学的董洛兵、陈旭、白建华、薛安喜、华磊、周海龙、杨钊、周扬、窦航、周灵飞等研究生对本书的内容作了大量的校对工作,同时,对光盘中和授课辅导中的所有例程进行了验证。在结束了长达八年的留学生活后,屈指算来,回国已经两年了。在从事科研和教学的同时,我得到了西安电子科技大学武波教授的大力支持和帮助,得到了软件学院许多老师的帮助和鼓励。因此,本书也是编者对他们所表达的一份真诚的感谢。希望本书能够为读者带来切实的参考价值,欠妥之处还望读者体谅并及时指正,我们将不甚感激。沈沛意2010年11月5日目录第1章绪论…244修改MSS中的驱动文件4111FPGA的发展历程及特性介绍24.5下载比特流,配置FPGA…4212 Microblaze软核的介绍.225本章小结48121 Microblaze的流水线结构1.22 Microblaze中断机制……-第3章总线机制与核间通信机制…49123 Microblaze的缓存机制和MMU53.1总线机制,4913 PowerPC405硬核介绍……63.1.1OPB总线…14914 Xilinx FPGA产品介绍……6312PLB总线……14914.1 Spartan系列产品313XCL总线…5014.2 irtex系列产品123.14FSL总线5015本章小结.19315OCM总线,5031.6LMB总线50第2章多核系统设计环境与设计流程.203.2核间通信机制介绍512.1开发软件简介…203. 2.1 Mailbox………51211ISE开发软件简介…3.2.2 Mutex∴52212ISE的安装…3.2.3 Shared memory……5322利用ISE进行硬件逻辑设计的流程…1263.2.4 Interrupt54221创建新工程263.2.5 PLBv46_PLBv46 Bridge5222新建HDL源文件.283.2.6FSL互连体系…5223对源文件进行综合以及仿真3.2. 7 DAM Controller23利用XPS向导进行多核硬件系统设计的328混合衍生体系…流程……303.3本章小结∴.59231利用BSB新建一个工程……232选择必要外设,并进行参数配置……33第4章基于 PowerPC的单核233配置启动内存,并选用内存测试文件34系统设计234编译源文件,生成硬件网表……3741简单硬件系统设计23.5下载比特流,配置FPGA..374.1.1用BSB创建工程6124利用EDK套件进行多核软件开发的4.12分析已创建的工程.流程…..384.1.3生成硬件IP网表文件241在单核基础上添加工程应用414下载测试程序67242编辑.c文件并编译….3942添加IP核到硬件系统………243编写用户约束文件…4.2.1打开工程….17042.2扩展硬件系统……525下载比特流,配置FPGA….15042.3分析MHS文件……7653基于 Mutex体系的多核系统设计……1514,24下载比特流76531建立单核硬件系统……5243自定义IP核的设计与添加……7532添加 Mutex核…1524.3.1新建一个自定义I核…178533添加MB1,搭建双核系统……153432添加自定义IP核…534添加核间通信测试程序…154433在硬件系统中开发应用测试程序85535下载比特流,配置FPGA15644基本的应用软件设计….8554基于 Interrupt体系的多核系统设计……15744.1打开一个工程…541打开多核工程158442创建一个BSP…185542添加 nterrupt和 Timer核15844.3升级基本的C文件…543添加测试核间通信的程序……16044.4连接器脚本544下载比特流,配置FPGA.16145使用SDK进行软件设计9255基于 Shared Memory体系的4.5.1打开工程多核系统设计……162452添加定时器和中断控制器551打开上个实验中的双核工程.…1634.53配置BSP.95552添加BRAM以及 xps_bram_ctlr…163454运行SDK,,553添加MB2,搭建三核工程体系…163455创建一个C工程554添加测试核间通信的程序………16745.6管理编译配置...95555下载比特流,配置FPGA.168457添加源程序56本章小结178458编写中断程序并编译代码459生成ELF文件100第6章多核嵌入式系统软件开发……1794.5.10硬件测试…10161图像格式介绍.1794.511SDK调试611BMP图片格式.17946本章小结.10612JPEG图片格式18062RGB与 YCrcb颜色模型……180第5章多核嵌入式系统硬件设计实线108621RGB颜色模型18151基于FSL体系的多核系统设计622 YCrcb颜色模型…1815L.1建立单核硬件系统63RGB2 YCrcb算法设计实验18151.2EDK工程中创建自定义FIFO…12631在双核通信系统上添加软件应用.18251.3利用ISE设计自定义FIFO……115632重要宏定义、数据结构设计……182514添加多MB,搭建多核系统………15633算法设计、编译与部署……184515添加测试核间通信的程序18634下载比特流,配置FPGA….187516下载比特流,配置FPGA…..12064DCT算法设计实验……52基于 Mailbox体系的多核系统设计…142641在双核通信系统上添加软件应用….189521建立单核硬件系统……143642重要宏定义、数据结构设计189522添加 Mailbox核143643算法设计、编译与部署190523添加MB1,搭建双核系统644下载比特流,配置FPGA…191524添加核间通信测试程序65单核执行图像处理算法以及时间测量.1936.5.1解析算法执行的流程……19713基于实验的多核体系架构的652修改shmc文件……193几点改进…205653下载比特流,配置FPGA…19672多种嵌入式处理器性能对比…2066.6多核执行图像处理算法以及时间测量…197721 Actel软硬核处理器…206661解析算法执行的流程…198722 Altera软硬核处理器.208662修改shm.c文件199723 Lattice嵌入式处理器210663下载比特流,配置FPGA203724 Actel、 Altera、 Lattice和xinx嵌入式67本章小结.20处理器性能比较….121273基于 Tilera的众核体系212第7章多核结构的价值与发展前景…20474本章小结21371单核多核体系的性能指标对比……204参考文献…214711单核/名核体系执行时间对比…204712单核/多核体系占用资源对比….204第1章绪论第1章绪论1.1FPGA的发展历程及特性介绍随着数字化技术的不断普及,当今社会已经步入了一个数字集成电路广泛应用的时代数字集成电路经历了由小中规模集成电路到超大规模集成电路( VLSIC及诸多拥有特定功能的专用集成电路的发展历程,其本身的变化就是翻天覆地的。一方面,微电子技术日新月异的发展使得半导体厂商已经无力独立承担设计与制造集成电路的艰巨任务。另一方面,系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,并希冀设计周期尽可能短以提升设计效率,满足实时的需求。基于诸多因素的促进,使得现场可编程逻辑器件的应用成为大势所趋,而这其中应用最为广泛的莫过于现场可编程逻辑阵列(FPGA和复杂可编程逻辑器件(CPLD)。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。在技术上,它采用了逻辑单元阵列(CA,Logic Cell Array)这一新理念,内部包括可配置逻辑模块(CLB, Configurable Logic Block)、输入/输出模块(IOB, Input Output Block)和内部连线( Interconnect三部分。其主要特点如下采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合适的芯片;FPGA可作为其他全定制或半定制ASC电路的中试样片;FPGA内部拥有丰富的触发器和LO引脚;FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;FPGA采用高速 CHMOS工艺,功耗低,可以与CMOS、TIL电平兼容。设计师之所以青睐FPGA,重要的是看中了其高度的灵活性。在IO功能上,FPGA支持多种不同的IO标准;在存储器需求上,大多数FPGA提供了嵌入式 bRAM Block存储器,使得用户有实现片上存储器的可能;而在配置上,由于FPGA在掉电后立即恢复成白片,内部逻辑关系尽失,因而可实现反复使用,产生不同的电路功能。此外,拥有多种配置模式也是其出色之处,例如:并行主模式:一片FPGA加一片 EPROM的方式;主从模式:可支持一片PROM编程多片FPGA;串行模式:采用串行PROM编程FPGA》外设模式:将FPGA作为微处理器的外设,由微处理器对其编程。
用户评论