出版时间:2008-11 出版社:清华大学出版社 作者:田耘,徐文波 编著 页数:609
Tag标签:无
前言
2007年10月份,作者有幸聆听了Xilinx公司全球CTO Ivo Bolsens先生在清华大学题为“FPGA: The future platform for transforming, transporting and computing”的演讲,感触颇深。Ivo先生指出了FPGA的三大应用领域: 数字处理中的信号变换、高速交换中的数据收发以及求解中的复杂计算。作者本人虽然已有多年的FPGA开发经验,但还是第一次听到如此精辟的总结,随即想到深入了解并推广这种实用且精辟的FPGA开发理念。考察了许久,我们发现市场上没有此类相关书籍,且已有书籍比较偏重于单一软件的操作或HDL语言的讲解,因此就萌生了编写一本书,从系统开发的角度,以软、硬件结合的方式来阐述先进的FPGA开发理念。于是经过半年的思索、查阅资料、和相关专家大量讨论以及反复修改,便有了这本书的诞生,以期起到抛砖引玉的作用。Xilinx公司是最早也是最大的FPGA生产商,其芯片设计技术、开发软件和相关解决方案在业界属于顶级水平,拥有广泛的客户群。本书主要讲述了Xilinx FPGA的开发知识,包括FPGA开发简介、Verilog HDL语言基础、基于Xilinx芯片的HDL语言高级进阶、ISE开发环境使用指南、FPGA配置电路及软件操作、在线逻辑分析仪ChipScope的使用、基于FPGA的数字信号处理技术、基于System Generator的DSP系统开发技术、基于FPGA的可编程嵌入式开发技术、基于FPGA的高速数据连接技术和时序分析原理以及时序分析器的使用共11章内容,各章均以实例为基础,涵盖了FPGA开发的主要方面。由于篇幅所限,我们没有在本书中给出一个完整的工程实例。为了弥补这一缺陷,我们Xilinx FPGA开源社区Openhard网站中附带了本书所有的实例,期望本书能够帮助提高读者的工程开发能力。 全书各章由田耘、徐文波完成,孙霏菲参与了第7章的编写工作。此外,在成文过程中,我们参考了较多的书籍、论文和网络文献,向其作者表示深深的谢意。Xilinx公司中国区大学计划经理谢凯年博士在百忙之中为本书作序,并提供了硬件实验环境; Xilinx公司亚太区公共关系经理张俊伟女士一直关心、鼓励作者,并最终促成本书成稿。与非网科技的贺潇荃先生、陶丹博士等在成书过程中给予了我们诸多良好的建议和帮助; 清华大学出版社的王一玲编辑为本书的修改付出了许多劳动,并给出许多中肯的修改意见,感谢他们为本书所做的贡献。 本书适合从事Xilinx系列FPGA设计和开发的工程师,以及相关专业的研究生和高年级本科生使用。毫无疑问,市场上已经有很多关于FPGA设计的书籍,我们也不认为本书是其中最重要的一本,但我们意识到,FPGA开发一定要结合芯片特点以及提供商的诸多建议和协议,只有这样才能真正掌握其开发之道。 书中的全部内容都是实际项目硬件和Xilinx公司各类文档、书籍的结合体,全部信息几乎都可以从Xilinx网站以及Google上找到渊源,不过我们仍然向您推荐本书,因为网络的信息是分散的、杂乱的,且正确性不是100%的,本书各章内容的安排是从大量的实践中总结出来的,循序渐进,条理清楚,且都经过作者验证。我们的目的就是从Ivo Bolsens先生的观点出发,结合项目开发,将网络上尽可能多的相关信息以相对较高的质量组合起来。
内容概要
本书系统讲述了Xilinx FPGA的开发知识,包括FPGA开发简介、Verilog HDL语言基础、基于Xilinx芯片的HDL语言高级进阶、ISE开发环境使用指南、FPGA配置电路及软件操作、在线逻辑分析仪ChipScope的使用、基于FPGA的数字信号处理技术、基于System Generator的DSP系统开发技术、基于FPGA的可编程嵌入式开发技术、基于FPGA的高速数据连接技术和时序分析原理以及时序分析器的使用11章内容,各章均以实例为基础,涵盖了FPGA开发的主要方面。 本书适合从事Xilinx系列FPGA设计与开发的工程师,以及相关专业的研究生和高年级本科生使用。
书籍目录
第1章 FPGA开发简介 1.1 可编程逻辑器件基础 1.1.1 可编程逻辑器件概述 1.1.2 可编程逻辑器件的发展历史 1.1.3 PLD开发工具 1.2 FPGA芯片结构 1.2.1 FPGA工作原理与简介 1.2.2 FPGA芯片结构 1.2.3 软核、硬核以及固核的概念 1.3 基于FPGA的开发流程 1.3.1 FPGA设计方法概论 1.3.2 典型FPGA开发流程 1.3.3 基于FPGA的SOC设计方法 1.4 Xilinx公司主流可编程逻辑器件简介 1.4.1 Xilinx FPGA芯片介绍 1.4.2 Xilinx PROM芯片介绍 1.5 本章小结第2章 Verilog HDL语言基础 2.1 Verilog HDL语言简介 2.1.1 Verilog HDL语言的历史 2.1.2 Verilog HDL的主要能力 2.1.3 Verilog HDL和VHDL的区别 2.1.4 Verilog HDL设计方法 2.2 Verilog HDL基本程序结构 2.3 Verilog HDL语言的数据类型和运算符 2.3.1 标志符 2.3.2 数据类型 2.3.3 模块端口 2.3.4 常量集合 2.3.5 运算符和表达式 2.4 Verilog HDL语言的描述语句 2.4.1 结构描述形式 2.4.2 数据流描述形式 2.4.3 行为描述形式 2.4.4 混合设计模式 2.5 Verilog代码书写规范 2.5.1 信号命名规则 2.5.2 模块命名规则 2.5.3 代码格式规范 2.5.4 模块调用规范 2.6 Verilog常用程序示例 2.6.1 Verilog基本模块 2.6.2 基本时序处理模块 2.6.3 常用数字处理算法的Verilog实现 2.7 本章小结第3章 基于Xilinx芯片的HDL语言高级进阶 3.1 面向硬件电路的设计思维 3.1.1 面向硬件的程序设计思维 3.1.2 “面积”和“速度”的转换原则 3.1.3 同步电路的设计原则 3.1.4 模块划分的设计原则 3.2 优秀的HDL代码风格 3.2.1 代码风格的含义 3.2.2 通用代码风格的介绍 3.2.3 专用代码风格的简要说明 3.3 Verilog建模与调试技巧 3.3.1 双向端口的使用和仿真 3.3.2 阻塞赋值与非阻塞赋值 3.3.3 输入值不确定的组合逻辑电路 3.3.4 数学运算中的扩位与截位操作 3.3.5 利用块RAM来实现数据延迟 3.3.6 测试向量的生成 3.4 Xilinx公司原语的使用方法 3.4.1 计算组件 3.4.2 时钟组件 3.4.3 配置和检测组件 3.4.4 吉比特收发器组件 3.4.5 I/O端口组件 3.4.6 处理器组件 3.4.7 RAM/ROM组件 3.4.8 寄存器和锁存器 3.4.9 移位寄存器组件 3.4.10 Slice/CLB组件 3.5 本章小结第4章 ISE开发环境使用指南第5章 FPGA配置电路及软件操作第6章 在线逻辑分析仪ChipScope的使用第7章 基于FPGA的数字信号处理技术第8章 基于System Generator的DSP系统开发技术第9章 基于FPGA的可编程嵌入式开发技术第10章 基于FPGA的高速数据连接技术第11章 时序分析原理以及时序分析器的使用缩略语参考文献
章节摘录
插图:第1章 FPGA开发简介FPGA(Field Programmable Gate Array)即现场可编程门阵列,属于可编程逻辑器件的一种,在20世纪90年代获得突飞猛进的发展。经过近20年的发展,到目前它已成为实现数字系统的主流平台之一。本章主要介绍FPGA的起源、发展历史、芯片结构、工作原理、开发流程以及Xilinx公司的主要可编程芯片,为读者提供FPGA系统设计的基础知识。1.1 可编程逻辑器件基础1.1.1 可编程逻辑器件概述可编程逻辑器件(Programmable Logic Device,PLD)起源于20世纪70年代,是在专用集成电路(ASIC)的基础上发展起来的一种新型逻辑器件,是当今数字系统设计的主要硬件平台,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级PLD时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本,因此获得了广大硬件工程师的青睐,形成了巨大的PLD产业规模。目前常见的PLD产品有编程只读存储器(Programmable Read Only Memory,PROM)、现场可编程逻辑阵列(Field Programmable Logic Array,FPLA)、可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(Generic Array Logic,GAL)、可擦除的可编程逻辑阵列(Erasable Programmable Logic Array,EPLA)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和现场可编程门阵列等类型。PLD器件从规模上又可以细分为简单PLD(SPLD)、复杂PLD(CPLD)以及FPGA。它们内部结构的实现方法各不相同。可编程逻辑器件按照颗粒度可以分为3类:①小颗粒度(如“门海(sea of gates)”架构);②中等颗粒度(如FPGA);③大颗粒度(如CPLD)。按照编程工艺可以分为4类:①熔丝(Fuse)和反熔丝(Antifuse)编程器件;②可擦除的可编程只读存储器(UEPROM)编程器件;③电信号可擦除的可编程只读存储器(EEPROM)编程器件(如CPLD);④SRAM编程器件(如FPGA)。在工艺分类中,前3类为非易失性器件,编程后,配置数据保留在器件上;第4类为易失性器件,掉电后,配置数据会丢失,因此在每次上电后需要重新进行数据配置。
编辑推荐
Xilinx公司是最早也是最大的FPGA生产商,其芯片设计技术、开发软件和相关解决方案在业界属于顶级水平,拥有广泛的客户群。期望《Xilinx FPGA开发实用教程》能够提高读者的工程开发能力。
图书封面
图书标签Tags
无
评论、评分、阅读与下载