随着可编程逻辑技术的不断进步和创新,FPGA在嵌入式系统中发挥着越来越重要的作
用,已被广泛应用于通信、航天、医疗、工控等领域。本书从嵌入式系统设计的角度出发,基于全球最大的可编程逻辑器件生产厂商Xilinx公司的系列FPGA产品,系统、全面地介绍了Xilinx公司最新系列FPGA的内部结构、设计流程和开发工具;详细介绍了p资源复用理念和IPCore的开发方法;重点介绍了RISC处理器内核、DSP算法在FPGA中的实现原理和开发流程,向嵌入式设计工程师推荐一种基于可编程片上系统(SOl>C)的嵌入式系统设计新理念。在随书附赠的光盘中,收录了Xilinx公司设计工具——ISEWebP^CK和MXE5.80,文中设计、分析、仿真或综合时涉及的相关文件和工具,以及附录中所有实验教程的完整工程目录、源代码和使用说明,利于读者在阅读本书的过程中提高实际应用能力。
本书立足于工程实践,结合作者多年嵌入式系统和可编程逻辑器件的开发和教学经验,选用成熟的火龙刀系列FPGA评估系统作为例程实验平台。对于各类从事嵌入式系统设计的科研人员和应用技术工程师,本书是一本不可多得的针对可编程片上系统(SOPC)设计原理和开发的参考书。本书比较适合作为Xilinx产品开发应用方面的专业教材,也可作为有志于从事专用数字电路设计的高等院校高年级本科生和研究生的参考书。
第1章 Xilinx现场可编程逻辑器件综述
1.1 可编程逻辑器件的基本特征
1.2 SOPC成为FPGA的发展趋势
1.2.7 总结
1.3 可编程逻辑器件的基本开发流程
1.4 Xilinx可编程逻辑器件产品选型
1.5 Xilinx创新平台FPGA架构ASMBL
1.6 Xilinx可编程逻辑器件网络资源
1.7 小结
第2章 Virtex系列高端Platform FPGA
2.1 Virtex-II系列Platform FPGA产品
2.2 Virtex-II Pro/Pro X系列Platform FPGA产品
2.3 小结
第3章 Spartan系列高性价比FPGA产品
3.1 Spartan-II系列FPGA产品
3.2 Spartan-IIE系列FPGA产品
3.3 Spartan-III系列FPGA产品
3.4 小结
第4章 基于FPGA嵌入式系统概述
4.1 嵌入式系统概述
4.2 FPGA在嵌入式系统中的地位和作用
4.3 基于FPGA的嵌入式系统设计方法
4.4 火龙刀系列FPGA评估系统设计
4.5 小结
第5章 VHDL & Verilog HDL简明教程
5.1 数字系统的表示方法和硬件描述语言
5.2 VHDL语言
5.3 Verilog VHDL语言
第6章 使用C/C++开发FPGA介绍
6.1 为什么要使用C/C++开发FPGA
6.2 如何对SystemC进行功能仿真
6.3 使用Visual C++和ModelSIM来进行仿真
6.4 使用Borland C++和SystemC_Win进行功能仿真
6.5 小结
第7章 Xilinx ISE 6.1i简明教程
7.1 设计准备
7.2 用VHDL语言设计输入
7.3 仿真
7.4 用原理图设计输入
7.5 对顶层文件进行仿真
7.6 设计实现
7.7 用EDIF设计输入
7.8 用Verilog HDL设计输入
7.9 下载配置
7.10 小结
第8章 使用ModelSim进行设计仿真
8.1 ModelSim进行设计仿真
8.2 菜单和工具栏介绍
8.3 使用图形界面对设计进行仿真
8.4 使用命令行方式对设计进行仿真
8.5 TestBench及其在仿真中的
8.6 TEXTIO在仿真中的应用
8.7 ModelSim的配置
8.8 ModelSim中的常用的几个命令
8.9 小结
第9章 基于Synplify / Synplify Pro的FPGA高级综合设计
9.1 Synplify / Synplify Pro简介
9.2 以一个例子来熟悉基本操作
9.3 在ISE 6.1中调用Synplify Pro
9.4 使用ISE 6.1自带的综合工具XST对设计进行综合
9.5 小结
第10章 FPGA设计技巧——ISE高级设计工具
10.1 Floorplanner概述
10.2 使用Floorplanner手动布局逻辑块
10.3 使用FPGA Editor进行手动布局布线
10.4 使用XPower分析设计的功耗
10.5 小结
第11章 片内逻辑分析仪工具——Chip Scope Pro
11.1 Chip Scope Pro概述
11.2 使用Chip Scope Pro内核生成器
11.3 使用Chip Scope Pro内核插入器
11.4 使用Chip Scope Pro分析器
11.5 小结
第12章 基于Internet的可重构逻辑技术及应用
12.1 系统高级配置环境简介
12.2 System ACE的实现
12.3 基本嵌入式处理器的配置技术
12.4 基于Internet的可重构逻辑实现
12.5 PAVE
12.6 小结
第13章 IP资源复用与IP Core开发
13.1 IP资源复用理念与IP Core概述
13.2 HDL编码风格与编码指导
13.3 Xilinx IP Core打包工具(IP Capture)
13.4 Xilinx IP Core生成工具(Core Generator)
13.5 Xilinx IP Core更新工具(Updates Installer)
13.6 基于IP Core的设计实现
13.7 小结
第14章 BicoBlaze处理器IPCore开发与应用
14.1 BicoBlaze处理器概述
14.2 基于Virtex-II系列器件应用的BicoBlaze处理器
14.3 基于Virtex-II和Spartan-II/IIE系列器件应用的BicoBlaze处理器
14.4 基于CPLD系列器件应用的BicoBlaze处理器
14.5 小结
第15章 Xilinx SOPC集成开发环境EDK
15.1 EDK概述
15.2 系统描述文件
15.3 EDK开发流程
15.4 小结
第16章 DSP开发工具System Generator
16.1 System Generator概述
16.2 Xilinx Blockset介绍
16.3 Xilinx Blockset库中的模块介绍
16.4 System Generator工程设计流程及实现
16.5 小结
附录 实验指导
实验1 数码管显示时钟
实验2 音频信号发生器
实验3 彩条信号显示
实验4 从SRAM中读取数据并显示
实验5 液晶模块显示字符串
实验6 EDK设计MicroBlaze定时器中断
实验7 SystemGenerator使用
实验8 串行通信实验
实验9 虚拟信号发生器与示波器实验
参考文献
1.写作背景
嵌入式系统是一门综合性的学科,它涉及传统软硬件设计技术的方方面面,同时还融入了多任务实时操作系统的新内容。目前,国内的嵌入式系统开发一般采用嵌入式处理器加ASIC器件的方式,当然这种设计方式也是国际上目前最为流行的设计方式。
在目前国内流行的嵌入式设计方法中,CPLD/FPGA等可编程逻辑器件在绝大部分场合下仅作为嵌入式处理器的胶合逻辑或只是实现诸如数据通道等简单逻辑;随着可编程逻辑器件工艺和开发工具日新月异地发展,目前的可编程逻辑器件,尤其是Xilinx和Altera公司纷纷推出高性价比的新一代超大规模可编程逻辑器件,在嵌入式产品设计中已能够实现更多的功能并发挥着越来越重要的作用。Xilinx公司最新推出的Spartan-IH系列FPGA,其百万逻辑门密度产品的批量价格仅为10美元左右,而在这样的逻辑门密度下,可以嵌入十个以上的32位RISC处理器内核,或者同时实现多处理器并行和DSP算法的FPGA,Altera公司的Cyclone系列高性价比FPGA也是同类产品的典型代表。
随着可编程逻辑密度的不断提高,我们可以在FPGA中嵌入更多的数字设计,在FPGA中以硬件描述语言的形式嵌入越来越多的标准数字单元,如PCI控制器、以太网控制器等,使得FPGA和ASIC在很多应用领域的分割界限被打破,FPGA在很多对上市时间和设计灵活性有苛刻需求的场合取代了ASIC的应用。但是ASIC设计的复杂性使得FPGA应用工程师无法在短时间内完成产品的功能设计,知识产权复用技术因此也开始出现在FPGA工程应用领域。在可编程逻辑器件厂商开始提供IPCore参考设计和出现如OpenCore等开放源代码IPCore开发团体外,商业化的IP Core产品和专业公司也开始不断涌现,而且这种趋势正是迎合日趋复杂和日益普遍的FPGA开发应用需求。
随着嵌入式处理器、专用数字器件和DSP算法以IP Core的形式嵌入到FPGA中,以单片FPGA完成以往整个嵌入式系统数字部分设计的设想已经成为现实。目前,国外学术和工程领域对于可编程SOC的研究已经开展得如火如荼,而由Xilinx、Altera等可编程逻辑器件厂商倡导的可编程片上系统设计(SystemonaProgrammableChip,SOPC)技术已在通信、工
业控制等很多领域得到实际应用。
目前,国内在SOPC方面的研究和应用也已展开,但这方面的中文资料却较少,特别是工程应用往往受制于学术研究和相关的参考资料。我们的课题组多年来一直从事可编程逻辑设计和嵌入式系统设计方面的学术研究和工程应用工作,在我们使用了Xilinx公司最新的开发工具:嵌入式开发套件(Embedded Development Kit,EDK),DSP的FPGA实现开发工具(System Generator)和片内逻辑分析仪(Chip ScopeILAPro)等专门为SOPC优化设计的工具后,就有一种强烈的欲望,要将这些设计理念和设计工具推荐给工程设计领域的工程师和广大有志于SOPC设计的同仁们。
2.内容安排
本书的内容安排如下:
第1章为Xilinx公司的可编程逻辑器件综述,包含了技术参数列表和选型指南。
第2-3章针对Xilinx公司Virtex系列PlatformFPGA和Spartan系列高性价比FPGA
作了详细介绍。
第4章介绍了基于FPGA的嵌入式系统设计基础,推荐了两款FPGA评估系统。
第5~6章介绍了硬件描述语言VHDL、VerilogHDL以及基于C/C++的FPGA设计方
法。
第7-11章详细介绍了XilinxFPGA设计方法和设计工具的使用。
第12章为读者推荐了一种基于Intemet硬件可重构逻辑的设计方法,这种设计理念
将对嵌入式产品开发、维护和调试带来新的思路。
第13章详细阐述了IP资源复用理念和IPCore设计方法,包括HDL编码风格。
第14-15章重点介绍了8位处理器内核PicoBlaze、32位处理器内核MicorBlze和
PowerPC 405的原理、结构特点和开发方法以及Xilinx嵌入式开发套件EDK的使用
和实例流程。
第16章讨论了DSP算法在FPGA中的硬件实现方法,介绍了Xilinx专用DSP开发
工具SystemGenerator的使用和设计实例。
本书所附光盘中提供了Xilinx相关产品的使用说明,部分章节中设计、分析、仿真
或者综合时涉及的相关文件和工具,以及附录中关于火龙刀系列FPGA评估系统的详
细资料以及本部分实验教程的全部源代码和相关文件;并且提供了Xilinx公司的免费
设计工具:ISEWebPACK和MXE5.8c(即ModelSimXEⅡ5.8cStarterKit)。
本书第1~4章、第14-16章由徐欣编写,第5~13章由于红旗编写,易凡和卢启中负责
全书的审定。
3.致谢
首先感谢国防科技大学·湖南大学嵌入式系统联合研究中心和国防科技大学综合电子战实验室的广大教员和研究生对于本书的大力支持,其中冯道旺、徐海源、龙霞飞、张望、吴佳、伍涛、喻小虎、刘凯等也参与了本书的编写工作,每一章节和实例教程也渗透了他们辛勤的汗水和不倦的工作。同时也感谢所有参与原始资料翻译工作的学生们。
感谢湖南大学黎福海教授为本书使用的FPGA评估系统提供的宝贵的意见,以及为本书的出版起到的很大的促进作用。感谢湖南省电子设计竞赛专家组对本书提供的指导性意见和鼓励。
感谢我们亲密的战友孙广富、薛以辉、王建东为本书使用的FPGA评估系统设计作出的不懈努力,并为本书提供了很多宝贵的指导性意见。
感谢Xilinx(赛灵思)公司亚太区高端产品市场经理梁晓明先生提供本书所附光盘软件的支持,以及对编写所提供的支援和鼓励。
感谢亚太科汇AK先生和夏祖泉小姐帮助我们申请大学计划援助和提供大量的软件和开发工具支持,感谢科汇的FAE工程师们提供的无私技术支援。
本书第一作者在此感谢妻子樊+华在本书出版过程中给予的理解和支持。
本书第二作者在此感谢妻子田苗苗在本书出版过程中给予的理解和支持。
感谢机械工业出版社为我们出版了本书,没有出版社同仁尤其是姜淑欣编辑认真的工作,本书也无法与读者见面。
4.再版目标
由于时间和研究进度的限制,本书还没有涉及MicroBlaze处理器内核的RTOS移植,不能不说是本书的缺憾。
作者希望在进一步研究和实际工程应用后再版本书,修正本书第一版本中出现的错误与不足,吸收第一版读者的意见:增加RTOS移植和应用部分内容;提供在百万门级FPGA评估系统上的设计实例;加强DSP算法的FPGA实现部分内容;并引入更多的工程应用实例。
5.反馈
本书编者力求把本书内容写好,但由于能力所限,本书中纰漏在所难免,对于本书的任何意见和建议,欢迎读者联系本书编辑(jsx@cmpbook.com),也可以在网站www.s~c.cn上的BBS里留言,本书作者在此表示诚挚的感谢。