出版时间:2011-1 出版社:机械工业出版社 作者:杜勇 页数:241
Tag标签:无
前言
现代电子信息技术的迅猛发展正在快速地改变着人们的学习、生活及工作方式。随着新技术的不断涌现,新的设计手段正在逐渐取代传统的设计方法。跨入21世纪的第2个10年,如何才能称得上是一名合格的现代电子工程师呢,会不会51系列单片机,会不会设计印制电路板,这是绝大部分工科院校电子信息类的毕业生所能想到的具有竞争力的知识和能力储备。不幸的是,虽然以8051为代表的单片机仍然在向我们的生活渗透,但它早已无法主导当今电子技术的应用潮流,只写着能熟练进行单片机开发的简历难免淹没在求职信的汪洋大海中。 嵌入式系统已经成为当今电子信息技术设计的发展方向,它不仅涵盖了传统软硬件设计技术的方方面面,同时还融入了多任务实时操作系统等内容。ASIC(Application SpecificIntegrated Circuit,专用集成电路)、DSP(Digital Signal Processing,数字信号处理)、以ARM(Advanced RISC。Machines)技术为代表的CPU(Central Processing Unit,中央处理器)以及本书将要讨论的FPGA(Field Programmable Gate Array,现场可编程门阵列)已成为当今电子信息技术设计的四大基石。可以说,目前几乎所有中高档的电子产品均会用到其中的一项或几项技术。 ASIC产品性能优良、成本低廉且使用简单,缺点是灵活性不够;DSP技术擅长于复杂的信号处理及数学运算,缺点是并行运算的能力受限于芯片内部的处理器个数;ARM技术在需要实时操作系统的场合独领风骚,缺点是门槛高、学习及使用均需要较多的前期知识储备(熟悉C语言、操作系统、一定的硬件知识等);FPGA技术的巨大优势在于其使用的灵活性及无与伦比的并行运算能力,且学习相对容易,即使只具备初步硬件设计概念的技术人员也能在较短的时间内学会简单的设计,当然,要想达到高手或专家级别,仍然需要付出长期艰苦的努力。 显然,现代电子信息领域的各种设计技术各有优缺点,也就有各自擅长的应用环境。电子信息类产品的功能如此复杂且丰富多彩,如果为了设计出高质量的产品而要掌握各种技术,那是不切实际的,因为人的生命毕竟是有限的,而知识是无限的。其实,各种技术及设计手段一直在不断互相融合、取长补短。比如,DSP芯片集成了多个处理器以增强其并行处理能力,加入部分可编程逻辑器件的结构从而增加其使用的灵活性;FPGA器件内部嵌入多个DSP、ARM。或其他微处理器以弥补其在复杂数学运算或实时操作系统方面的不足。因此,你完全不必为众多的技术而感叹无从下手,精通一项、触类旁通是高手进阶的通常法则。
内容概要
本书是FPGA设计的入门级教材,根据初学者的习惯安排章节内容。本书将开发工具与VHDL语言紧密结合起来介绍,便于读者尽快形成VHDL与FPGA设计的整体概念,从而迅速掌握FPGA设计技术。 本书主要介绍了VHDL语言、ISE工具、ModelSim工具、FPGA设计技巧以及典型FPGA硬件电路板设计等相关内容,重点讲解VHDL语言与常规软件语言的区别,详细阐述VHDL语言设计的思路及方法,力求使读者能顺利弄懂硬件编程语言及FPGA设计的特点。 本书适合于FPGA设计初学者使用,可作为电子信息类本科高年级学生和研究生的参考教材,也可作为FPGA工程师的参考书。
书籍目录
前言第1章 可编程逻辑器件基础 1.1 PLD概述 1.1.1 基本概念及发展历史 1.1.2 HDL语言 1.2 CPLD与FPGA的区别 1.2.1 CPLD的结构 1.2.2 FPGA的结构 1.2.3 FPGA与CPLD比较 1.3 Xilinx主要器件 1.4 设计工具及开发环境安装 1.4.1 设计工具 1.4.2 开发环境安装 1.5 小结第2章 FPGA设计流程及实例 2.1 FPGA设计流程 2.2 设计实例——七段数码管显示 2.2.1 功能描述及对外接口 2.2.2 设计输入 2.2.3 设计综合 2.2.4 功能仿真 2.2.5 设计实现: 2.2.6 布局布线后仿真 2.2.7 程序下载 2.3 小结第3章 VHDL语言基础 3.1 程序结构 3.1.1 库与程序包 3.1.2 实体与结构 3.1.3 端口 3.1.4 内部结构设计 3.2 命名法则 3.3 数据类型 3.3.1 基本数据类型 3.3.2 IEEE定义的数据类型 3.4 数据对象 3.5 运算符 3.5.1 逻辑运算符 3.5.2 符号运算符 3.5.3 关系运算符 3.5.4 算术运算符 3.5.5 移位运算符 3.5.6 连接运算符 3.5.7 运算符的优先级 3.6 小结第4章 VHDL程序设计 4.1 VHDL语句 4.1.1 赋值语句 4.1.2 when-else语句 4.1.3 with-select-when语句 4.1.4 pracess的语法结构 4.1.5 if语句 4.1.6 case语句 4.1.7 循环语句 4.1.8 wait语句 4.2 层次式设计 4.3 设计实例——秒表功能电路 4.3.1 顶层文件设计 4.3.2 时钟产生模块 4.3.3 按键去抖模块 4.3.4 秒表计数器模块 4.3.5 数码管及LED显示模块 4.4 小结第5章 VHDL高级语法 5.1 子程序 5.1.1 函数 5.1.2 过程 5.2 程序包 5.3 重载 5.4 建模方法 5.5 设计实例——码型转换电路 5.5.1 电路功能描述 5.5.2 程序包文件设计 5.5.3 码转换顶层文件设计 5.6 小结第6章 ISE使用基础 6.1 工程管理器 6.1.1 菜单栏 6.1.2 工具栏 6.2 设计输入工具 6.2.1 HDL语言编辑器 6.2.2 原理图输入工具 6.2.3 IP核输入工具——单端存储器设计 6.2.4 测试激励输入工具 6.2.5 语言模板工具 6.3 综合工具 6.3.1 XST综合工具 6.3.2 SynplifyPro综合工具 6.4 约束工具 6.5 实现工具 6.6 程序下载工具 6.7 小结第7章 ISE高级应用 7.1 时序约束 7.1.1 时序约束的概念 7.1.2 设计实例——高速计数器设计 7.1.3 约束编辑器工具 7.2 XPower功耗分析器 7.2.1 XPower界面 7.2.2 XPower参数设置 7.2.3 高速计数器功耗分析 7.3 ChipScopePr0逻辑分析仪 7.3.1 ChipScopePro简介 7.3.2 设计实例——混频器设计 7.3.3 插入ChipScopePro内核 7.3.4 使用ChipScopePro分析器 7.4 小结第8章 仿真技术 8.1 ModelSim仿真工具 8.1.1 仿真参数设置 8.1.2 ModelSim工作界面 8.2 设计实例——信号检测程序设计 8.3 常用仿真及调试方法 8.3.1 新建测试激励文件 8.3.2 功能仿真及时序仿真 8.3.3 查看波形区间的时间 8.3.4 查看设计内部信号波形 8.3.5 波形比较 8.4 文件IO在仿真中的应用 8.4.1 文件IO数据类型及过程 8.4.2 设计实例——VHDL文件IO读写 8.5 小结第9章 FPGA设计技巧 9.1 引脚状态设置 9.2 利用硬件原语设计 9.3 设计实例——使用DCM生成系统时钟 9.4 全局时钟资源 9.5 根据芯片结构制定设计方案 9.6 使用IP核进行设计 9.7 采用移位实现乘法运算 9.8 设计实例——提高浮点乘法器系统频率 9.9 小结第10章 FPGA电路板设计实例 10.1 电路板基本功能 10.2 主要芯片介绍 10.2.1 FPGA芯片XC3S200 10.2.2 FPGA配置芯片XCF02S 10.2.3 电源管理芯片76801及767D325 10.3 电路原理图 10.4 小结参考文献
章节摘录
大多FPGA设计的教材及参考书在讲解设计流程时,均把设计综合放在功能仿真之后,原因是功能仿真只是对设计输入的语法进行检查及仿真,不涉及到具体的电路综合及实现。换句话说,即使你写出的代码最终无法综合成具体电路,功能仿真也可能正确无误。作者认为,如果辛辛苦苦写出的代码最终无法综合成电路,即根本不是一个可能实现的设计,这种情况下还不尽早检查设计并修改,而是费尽心思追求功能仿真的正确性,岂不是在进一步浪费你宝贵的时间?所以,在设计输入完成后,先对设计综合一下,看看你的设计是否能形成电路,再去进行仿真可能会更好些。所谓设计综合,也就是将HDL语言、原理图等设计输入翻译成由与、或、非门、触发器等基本逻辑单元组成的逻辑连接,并形成edf和edn等格式的文件,供布局布线器进行实现。如第1章可编程逻辑器件基础中所述,FPGA/CPLD器件内部本身是由一些基本的组合逻辑门、触发器、存储器等元素组成,综合的过程也就是将我们通过语言或绘图描述的功能电路自动编译成基本逻辑单元组合的过程。这好比用Protel设计时,设计好电路原理图后,要将原理图转换成网表文件,如果没有为每个原理图中的元件指定器件封装,或元件库中没有指定的元件封装,则在转换成网表文件并进行后期布局布线时无法进行下去。同样,如果HDL输入语句本身没有与之对应的硬件实现(后续章节会讲到,一些。HDL语法无法实现成具体电路,如延时语句等),自然也就无法将设计综合成正确的电路,这样的设计即使在功能、语法上是正确的,在硬件上却无法找到与之相对应的逻辑单元来实现。
编辑推荐
合理安排章节内容,轻松学习FPGA技术,详解硬件语言特点,迅速掌握编程技巧,深度剖析典型问题,顺利理清开发思路,讲解完整实例应用,体会FPGA学习乐趣。
图书封面
图书标签Tags
无
评论、评分、阅读与下载