Xilinx FPGA开发实用教程

出版时间:2012-7  出版社:清华大学出版社  作者:徐文波,田耘 编著  页数:499  字数:762000  

前言

  赛灵思(Xilinx)公司作为可编程器件(PLD)的领导厂商,占有超过50%的市场份额,为客户提供可编程逻辑芯片(CPLD、FPGA和PROM)、软件设计工具、不同等级的知识产权核(IP Core)以及系统级的完整解决方案。  随着工艺和设计水平的不断提高,FPGA在数字系统中所扮演的角色也从逻辑胶合者提升到处理核心。从2006年起,赛灵思公司的FPGA就涵盖了逻辑应用、数字信号处理以及嵌入式三大应用领域。到目前为止,赛灵思已成为完整的解决方案提供者。例如,量产的Spartan 6系列FPGA采用45nm工艺,广泛应用在中低规模系统中,如机器视觉、机顶盒以及广泛的多媒体处理等; 量产的Virtex?5/6系列FPGA分别采用65nm、40nm工艺,主要面向高端应用,如高速互联网络、无线通信、宽带接入以及汽车工业等。28nm的7系列FPGA(Artix、Kintex和Virtex三个低、中、高系列)也已逐渐量产,进一步提升FPGA系统设计能力。此外,Zynq?7000可扩展处理平台(EPP)将ARM Cortex?A9 双核处理器系统与可编程逻辑紧密集成在一起,为业界带来革命性的创新解决方案。  基于赛灵思公司的领先技术,更多的工程师和研究人员已加入到赛灵思FPGA的开发队伍中。在过去四年中,赛灵思公司通过大学和开源社区OpenHard,开展了三届开源硬件创新大赛以及多个网络研讨会,但切入点都比较零散,不能形成系统化知识体系。《Xilinx FPGA开发实用教程》第一版于2008年出版,弥补了上述不足,帮助广大技术人员、在校的研究生和高年级本科生尽快掌握Xilinx FPGA的开发流程,连续印刷4次,深受读者欢迎。由于FPGA技术发展迅速,因此作者更新了原书内容,并以最新的ISE13.x版本和量产的6系列器件为例进行介绍,更加符合FPGA发展趋势。  整体而言,本书具有以下三项特色: 首先,从逻辑设计、数字信号处理、嵌入式系统设计和高速连接四个方面系统地介绍了Xilinx FPGA的开发与应用,条理清晰、思路明确,符合FPGA目前和未来的发展趋势; 其次,较为详细地介绍了Xilinx FPGA的开发技巧,融入了作者的工程开发经验,对于初学者和工程开发人员来讲都具有较强的可读性; 最后,极为全面地介绍了赛灵思公司的ISE、System Generator以及EDK开发软件,非常系统和完整。  因此,对于在校研究生、高年级本科生及从事FPGA开发的工程师来说,本书是一本较为理想的EDA教材和工程工具书,我郑重地将其推荐给大家!希望通过本书的出版,使更多的读者掌握赛灵思FPGA的开发技能,更好地促进FPGA开发技术的普及和推广。  赛灵思(Xilinx)公司中国区大学计划经理谢凯年博士2012年6月

内容概要

  本书系统地论述了Xilinx FPGA开发方法、开发工具、实际案例及开发技巧,内容涵盖Xilinx器件概述、Verilog
HDL开发基础与进阶、Xilinx FPGA电路原理与系统设计、基于ISE
Foundation的逻辑设计、时序分析、逻辑开发专题、基于EDK的嵌入式系统设计、基于System
Generator的DSP系统设计、数字信号处理专题以及SERDES技术专题共10章。各章均以实战开发为目的,结合最新版本的软硬件特征,覆盖了FPGA的各主要应用领域。配套光盘中包含了书中所有的实例代码,便于读者快速动手实践。书中融汇了作者多年的工程开发经验,希望能够极力帮助读者提高工程开发能力。
  本书适合作为电子信息工程、通信工程、自动化、计算机科学与技术等相关专业的高年级本科生及研究生的教学用书,也可以作为从事FPGA设计工作的工程师的参考图书。

作者简介

徐文波,获得信息工程专业学士学位(北京邮电大学,2005年)、信号与信息处理专业博士学位(北京邮电大学,2010年),现执教于北京邮电大学信息与通信工程学院,长期从事信号处理理论及实际开发的教学与研究工作,发表多篇相关学术论文。 田耘,获得电子信息工程专业学士学位(北京邮电大学,2006年)、信号与信息处理专业硕士学位(北京邮电大学,2009年),一直从事信号处理领域中的FPGA技术开发,著有多部FPGA相关技术图书。

书籍目录

1.2.3软核、硬核及固核
1.2.4Xilinx主流FPGA
1.3Xilinx软件工具
1.3.1ISE Foundation软件
1.3.2EDK开发工具
1.3.3System Generator DSP工具
1.3.4ChipScope Pro
1.3.5PlanAhead
1.4本书案例验证平台--S6 CARD开发板
1.4.1S6 CARD开发板的组成与功能
1.4.2S6 CARD板卡引脚约束说明
本章小结
第2章Verilog HDL开发基础与进阶
2.1Verilog HDL语言
2.1.1Verilog HDL语言的历史
2.1.2Verilog HDL的主要功能
2.1.3Verilog HDL和VHDL的区别
2.1.4Verilog HDL设计方法
2.2Verilog HDL基本程序结构
2.3Verilog HDL语言的数据类型和运算符
2.3.1标志符
2.3.2数据类型
2.3.3模块端口
2.3.4常量集合
2.3.5运算符和表达式
2.4Verilog HDL语言的描述语句
2.4.1结构描述形式
2.4.2数据流描述形式
2.4.3行为描述形式
2.4.4混合设计模式
2.5Verilog HDL建模与调试技巧
2.5.1双向端口的使用和仿真
2.5.2阻塞赋值与非阻塞赋值
2.5.3输入值不确定的组合逻辑电路
2.5.4数学运算中的扩位与截位操作
2.5.5利用块RAM来实现数据延迟
2.5.6测试向量的生成
2.6Verilog HDL常用程序示例
2.6.1数字电路中基本单元的FPGA实现
2.6.2基本时序处理模块
2.7Xilinx器件原语的使用
本章小结
第3章Xilinx FPGA电路原理与系统设计
3.1FPGA配置电路
3.1.1Xilinx FPGA配置电路
3.1.2Xilinx FPGA常用的配置引脚
3.1.3Xilinx FPGA配置电路分类
3.2JTAG电路的原理与设计
3.2.1JTAG电路的工作原理
3.2.2Xilinx JTAG下载线
3.3FPGA的常用配置电路
3.3.1主串模式--最常用的FPGA配置模式
3.3.2SPI串行Flash配置模式
3.3.3从串配置模式
3.3.4主字节宽度并行配置模式
3.3.5JTAG配置模式
3.3.6System ACE配置方案
3.4iMPACT软件使用
3.4.1iMPACT软件
3.4.2iMPACT中的JTAG配置操作
3.4.3iMPACT中的Xilinx PROM配置操作
3.4.4iMPACT中的SPI Flash配置操作
3.4.5FPGA配置失败的常见问题
3.5从配置PROM中读取用户数据
3.5.1从PROM中引导数据
3.5.2硬件电路设计方法
3.5.3软件操作流程
本章小结
第4章基于ISE Foundation的逻辑设计
4.1ISE套件
4.1.1ISE的特点
4.1.2ISE的功能
4.1.3ISE的安装
4.1.4ISE的用户界面
4.2基于ISE的设计输入
4.2.1新建工程
4.2.2代码输入
4.2.3代码模板的使用
4.2.4Xilinx IP Core的原理与应用
4.3ISE基本操作
4.3.1基于Xilinx XST的综合
4.3.2基于ISim的仿真
4.3.3基于ISE的实现
4.3.4基于目标和策略的设计方法
4.3.5基于SmartGuide的设计方法
4.3.6比特文件的生成
4.3.7基于IMPACT的芯片配置
4.3.8功耗分析以及XPower的使用
4.4约束
4.4.1约束文件
4.4.2UCF文件的语法说明
4.4.3引脚和区域约束语法
4.4.4时序约束语法
4.5调试利器--ChipScope Pro
4.5.1ChipScope Pro工作原理
4.5.2ChipScope Pro操作流程
4.5.3ChipScope Pro开发实例
4.6ISE与第三方EDA软件
4.6.1ModelSim软件的使用
4.6.2ModelSim和ISE的联合开发流程
4.6.3MATLAB软件的使用
4.6.4ISE与MATLAB的联合使用
4.6.5MATLAB、ModelSim和ISE联合开发实例
本章小结
第5章时序分析
5.1时序分析的作用和原理
5.1.1时序分析的作用
5.1.2静态时序分析原理
5.1.3时序分析的基础知识
5.2Xilinx FPGA中的时钟资源
5.2.1全局时钟资源
5.2.2第二全局时钟资源
5.3ISE时序分析器
5.3.1时序分析器的特点
5.3.2时序分析器的文件类型
5.3.3时序分析器的调用与用户界面
5.3.4提高时序性能的手段
本章小结
第6章逻辑开发专题
6.1Verilog HDL设计进阶
6.1.1面向硬件的程序设计思维
6.1.2“面积”和“速度”的转换原则
6.1.3同步电路的设计原则
6.2Xilinx FPGA芯片底层单元的使用
6.2.1Xilinx全局时钟网络的使用
6.2.2CMT时钟管理模块的使用
6.2.3Xilinx内嵌块存储器的使用
6.2.4硬核乘加器的使用
6.3代码风格
6.3.1代码风格的含义
6.3.2代码书写风格
6.3.3通用设计代码风格
6.3.4Xilinx专用设计代码风格
6.4UART接口开发实例
6.4.1串口接口与RS?232协议
6.4.2串口通信控制器的Verilog HDL实现
6.4.3RS?232设计板级调试
本章小结
第7章基于EDK的嵌入式系统设计
7.1可配置嵌入式系统(EDK)
7.1.1基于FPGA的可编程嵌入式开发系统
7.1.2Xilinx公司的解决方案
7.2Xilinx嵌入式开发系统组成
7.2.1片内微处理器软核MicroBlaze
7.2.2PLB总线系统结构
7.2.3IP核以及设备驱动
7.3EDK软件
7.3.1EDK设计的实现流程
7.3.2EDK的文件管理架构
7.4XPS软件典型操作
7.4.1XPS的启动
7.4.2利用BSB创建新工程
7.4.3XPS的用户界面
7.4.4XPS的目录结构与硬件平台
7.4.5在XPS加入IP Core
7.4.6XPS工程的综合与实现
7.5SDK软件典型操作
7.5.1SDK的用户界面
7.5.2SDK的典型操作
7.5.3IP外设的API函数查阅和使用方法
7.5.4GPIO外设开发实例
7.5.5其他外设开发实例
本章小结
第8章基于System Generator的DSP系统设计
8.1System Generator的特点与安装
8.1.1System Generator的主要特点
8.1.2System Generator的安装和配置
8.2System Generator的使用基础
8.2.1System Generator开发流程
8.2.2Simulink的应用
8.3基于System Generator的DSP系统设计
8.3.1System Generator的应用
8.3.2System Generator中的信号类型
8.3.3自动代码生成
8.3.4编译MATLAB设计生成FPGA代码
8.3.5子系统的建立与ISE调用
8.4基于System Generator的硬件协仿真
8.4.1硬件协仿真平台的特点与平台安装
8.4.2硬件协仿真的基本操作
8.4.3共享存储器的操作
8.5System Generator的高级应用
8.5.1导入外部的HDL程序模块
8.5.2设计在线调试
8.5.3系统中的多时钟设计
8.5.4FPGA设计的高级技巧
本章小结
第9章数字信号处理专题
9.1数字信号
9.1.1数字信号的产生
9.1.2采样定理
9.1.3数字系统的主要性能指标
9.1.4A/D转换的字长效应
9.2常用DSP IP Core及其应用
9.2.1DDS模块IP Core的应用
9.2.2FFT算法IP Core的应用
9.2.3Cordic算法IP Core的应用
9.2.4FIR滤波器IP Core的应用
9.3多速率滤波器的FPGA实现
9.3.1多速率信号处理的意义
9.3.2多速率信号滤波器的基本操作
9.3.3CIC滤波器的FPGA实现
9.3.4HB滤波器的FPGA实现
本章小结
第10章SERDES技术专题
10.1高速数据连接功能
10.1.1高速数据传输
10.1.2Xilinx公司高速连接功能的解决方案
10.2实现吉比特高速串行I/O的相关技术
10.2.1吉比特高速串行I/O的特点和应用
10.2.2吉比特串行I/O系统的组成
10.2.3吉比特串行I/O的设计要点
10.3Rocket I/O收发器原理与开发
10.3.1Rocket I/O硬核组成与工作原理
10.3.2GTP硬核组成与工作原理
10.3.3GTP Wizard开发实例
10.4PCI?Express G1端点接口设计
10.4.1PCI Express G1技术
10.4.2Xilinx PCI Express G1端点模块
10.4.3PCI Express G1端点接口实例解读
本章小结
参考文献

章节摘录

版权页:   插图:   7.内嵌专用硬核 内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如,为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十吉比特/秒的收发速度。 例如,Xilinx公司的高端产品不仅集成了Power PC或者ARM A9系列高性能CPU,还内嵌了DSP Core模块,其相应的系统级设计工具是EDK和Platform Studio,并以此提出了片上系统SoC的概念。通过Power PC、Miroblaze、Pieoblaze等处理器平台,能够开发标准的DSP处理器及其相关应用,达到SoC的开发目的。 1.2.3软核、硬核及固核 IP(Intelligent Property)核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SoC阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占有率就越高。目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。 从IP核的提供方式上,通常将其分为软核、硬核和固核三类。从完成IP核所花费的成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用性最高。在FPGA领域中,最常用的是软核和硬核这两类IP。 1.软核 软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型;具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。 Xilinx公司一直以来提供的软核IP资源比其他厂家都更为丰富,全部集成在开发组件Core Generator中,本书将在4.2.4节对其进行详细说明。 2.固核 固核在EDA设计领域指的是带有平面规划信息的网表;具体在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是IP核的主流形式之一。

编辑推荐

《Xilinx FPGA开发实用教程(第2版)》适合作为电子信息工程、通信工程、自动化、计算机科学与技术等相关专业的高年级本科生及研究生的教学用书,也可以作为从事FPGA设计工作的工程师的参考图书。

图书封面

评论、评分、阅读与下载


    Xilinx FPGA开发实用教程 PDF格式下载


用户评论 (总计18条)

 
 

  •   写得还不错!值得一看工具书!
  •   昨天到的,拿到看了看,书很新很厚,内容太基础基本没有我想要的东西,感觉像是翻译手册的一样,没有实际的工程应用讲解,不过对于只是想熟悉软件的人来说还是可以看看,但别想学到太多实用的东西
  •   五星,非常满意,以后再来
  •   书的内容很详细,可惜发票内容与下单时不一致,导致无法报销。还好不贵
  •   这本书对我很有用啊 又是新版 我用ise14.7基本能配套
  •   到手的书质量不错,但是包装袋里只有发票没有小票!联系才知道小票贴在了包裹外面!这样他们是方便了,但是根本没有友情提醒!不像亚马逊那样把发票和小票装订在一起!提醒大家一定注意,避免像我一样给单位买的书花自己的钱!虽然不多,但是总觉得很不爽!
  •   认真看了一部分 不错 内容值得学习
  •   这书不错,但是VHDL语言的。内容挺全的。
  •   很不错的书,作为工具书入门书都很好,照着做了一遍 很不错
  •   感觉这本书适合FPGA入门使用,正在阅读中
  •   内容很好,但是有少许错误。
  •   这东西还可以啊。现在正需要
  •   书本内容很详细的,对于我们初学者帮助很大。很实用初学者。
  •   纸质印刷太差了,在图书馆借的和这个一比,这个就感觉像盗版一样
  •   书皮被雨泡烂了吗,质量差
  •   不错,很值很划算的书
  •   FPGA教程
  •   硬件开发的宝典
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7