教育>本科研究生>电子信息类
基于FPGA的数字系统设计与实践

基于FPGA的数字系统设计与实践"

作者:杨军,蔡光卉,黄倩等
ISBN:9787121222610
定价:¥38.0
字数:448千字
页数:280
出版时间:2014-01
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书内容分为基础篇和综合实践篇两部分,基础篇细致地讲解了FPGA开发过程中使用的硬件描述语言VHDL、设计软件Quartus II 8.0、专业仿真工具 Modelsim 6.0的使用,并对设计综合实验平台、常用基本器件的设计做了介绍;为了帮助读者更好地理解和掌握相关理论知识,在综合实践篇中介绍了FPGA开发常用的设计方法,包括消除毛刺设计技巧、触发器、锁存器、时延电路、时钟设计等典型的基础入门实例,同时,提供了矩阵键盘扫描接口设计等4个综合设计实例,以及基于Avalon总线的PWM控制器等3个面向SOPC的嵌入式项目开发实例。 本书的配套教学资源中包含了各章节的电子教案、习题参考答案,丰富的实例原图文件和程序源代码,以及程序执行步骤和结果分析。读者通过举一反三,即可轻松地将其应用于自己的工作和课题研究中。

前言

目前数字系统的设计正朝着速度快、容量大、体积小、质量轻,及面向用户需求的方向发展。根据系统的行为和功能要求,可以自上而下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。上述设计过程除了系统行为和功能描述以外,其余所有的设计过程都可以用计算机来完成,这样可以大大地缩短系统的设计周期,以适应当今品种多、批量小的电子市场需求,提高产品的竞争力。 基于FPGA(Field Programmable Gate Array)的电子系统设计技术是21世纪电子应用工程师必备的基本技能之一,而基于FPGA的数字系统设计与嵌入式SOPC设计是当前电子系统设计领域最前沿的技术之一。电子设计自动化(EDA)的关键技术之一是用硬件描述语言来描述系统的逻辑功能。 硬件描述语言VHDL的发展至今已有几十年的历史。20世纪80年代后期由美国国防部开发的VHDL语言(VHSIC Hardware Description Language)于1987年12月由IEEE标准化(定为IEEE std 1076—1987标准,1993年经进一步修订为ANSI/IEEEstd 1076—1993标准)。它的出现为电子设计自动化的普及和推广奠定了基础。 作者编写本书的目的就在于向广大电子设计人员介绍VHDL语言的基本知识及使用VHDL语言设计数字系统硬件电路的方法。本书强调从基础/综合/嵌入式SOPC三个层面讲解基于FPGA的设计技术,是根据作者多年积累的开发经验、实践教学经验,针对学生面临的实际问题,参考了大量设计书籍和技术文献组织编写的。本书强调采用讲练结合、循序渐进的方式:在实例的安排上,着重突出“应用”和“实用”的原则;在实例的讲解上,既介绍了设计原理、基本步骤和流程,也穿插了一些经验技巧和注意事项,在潜移默化的过程中提高读者的理论知识和实践能力。 本书共分7章,第1章至第3章主要介绍FPGA项目开发用到的软硬件工具、VHDL语言的基本知识和使用VHDL语言设计简单逻辑电路的基本方法;第4章和第 6章分别详述了用VHDL语言设计简单数字电路及复杂逻辑电路的步骤和过程;在前几章的基础上,第5章详细描述了FPGA开发过程中可能遇到的问题与技巧;第7章详细讲解了三个SOPC实例开发的细节。读者只要通读全书,就可以基本掌握用VHDL语言设计逻辑电路的方法。 本书由杨军、蔡光卉、黄倩、陈成编著。其中第2、5、6、7章由杨军教授编写,第1、3、4章由蔡光卉副教授编写,黄倩、陈成完成了本书实例、习题的仿真、验证。另外为本书的顺利完成做出贡献的人员还有张彬彬、于艳艳、王磊、袁英、李文龙、朱若鑫、康健、赵仕东、陶玲、文鹏、郑树文、吕辉、陶福寿,他们在资料的收集、整理,源代码的设计、分析、仿真,硬件平台的验证,书稿的录入、排版、绘图等方面做了大量的工作;尤其是张彬彬老师在申报选题、框架设计、内容安排、材料组织等方面做了许多工作,在此一并向他们表示最诚挚的谢意!同时,本书的出版得到了云南省高等学校教学改革研究项目(X3113008)、云南大学信息学院本科实践教学能力提升项目的资助。 本书的配套教学资源中包含了各章节的电子教案、习题参考答案,丰富的实例原图文件、程序源代码,以及程序执行步骤和结果分析。任课教师和相关读者可以到华信教育资源网上进行免费注册下载,网址是http://www.hxedu.com.cn。 基于FPGA的SOPC电子系统设计技术涉及的知识范围广,本书的目的是为初学者提供一些帮助和指导,只要读者能从中有所收获,都会令作者感到十分欣慰。 由于作者水平有限,加之编写时间仓促,书中难免有错误和不足之处,恳请广大读者批评、指正。

目录

第1章 概述 2 1.1 CPLD/ FPGA简介 2 1.1.1 CPLD/FPGA的结构与工作原理 2 1.1.2 CPLD/FPGA的发展趋势 7 1.2 CPLD/FPGA产品概述 7 1.2.1 Lattice的CPLD器件系列 8 1.2.2 Xilinx的CPLD/FPGA器件系列 9 1.2.3 Altera的CPLD/FPGA器件系列 11 1.2.4 Altera的FPGA配置方式与配置器件 14 习题与思考题 15 第2章 VHDL语言基础 16 2.1 硬件描述语言特点 16 2.2 VHDL程序基本结构 16 2.3 VHDL程序主要构件 17 2.3.1 库 18 2.3.2 实体 18 2.3.3 结构体 19 2.3.4 包集合 20 2.3.5 配置 21 2.4 VHDL数据类型 23 2.4.1 标准数据类型 23 2.4.2 IEEE定义的逻辑位与矢量 24 2.4.3 用户自定义数据类型 24 2.4.4 数据类型转换 26 2.5 运算符 26 2.5.1 算术运算符 26 2.5.2 逻辑运算符 26 2.5.3 关系运算符 27 2.5.4 其他运算符 27 2.5.5 运算优先级 27 2.6 VHDL数据对象 28 2.6.1 常量 28 2.6.2 变量 28 2.6.3 信号 29 2.6.4 信号与变量的比较 30 2.7 VHDL基本语句 30 2.7.1 并行语句 30 2.7.2 顺序语句 37 2.7.3 属性描述语句 42 2.8 测试基准 44 2.9 其他语句和有关规定的说明 45 2.9.1 命名规则和注解的标记 45 2.9.2 ATTRIBUTE(属性)描述与定义 46 2.9.3 GENERATE语句 53 2.10 VHDL程序的其他构件 56 2.10.1 块 56 2.10.2 函数 58 2.10.3 过程 59 2.10.4 程序包 60 2.11 结构体的描述方法 62 习题与思考题 63 第3章 项目开发环境介绍 65 3.1 软件平台 65 3.1.1 系统设计软件Quartus II 8.0 65 3.1.2 ModelSim 6.0仿真工具 66 3.1.3 Nios II IDE 8.0 软件集成环境 67 3.2 硬件平台 67 3.2.1 DE2平台介绍 67 3.2.2 DE2板上资源及硬件布局 69 3.2.3 DE2原理 70 3.2.4 DE2平台的开发环境 73 3.2.5 DE2开发板测试说明 74 习题与思考题 75 第4章 常用基本器件设计 76 4.1 寄存器设计 76 4.1.1 寄存器原理图设计 76 4.1.2 寄存器工作原理 76 4.1.3 寄存器程序描述 77 4.1.4 寄存器仿真 78 4.2 移位运算器设计 78 4.2.1 移位运算器原理图设计 78 4.2.2 移位运算器程序描述 79 4.2.3 移位运算器仿真 80 4.3 加减法运算器设计 81 4.3.1 加减法单元原理图设计 81 4.3.2 加减单元编码 81 4.3.3 多位加减法单元连接 82 4.3.4 加减法运算器原理图设计 83 4.3.5 加减法运算器程序描述 84 4.3.6 加减法运算器仿真 87 4.4 乘法器设计 88 4.4.1 乘法阵列原理图设计 88 4.4.2 乘法阵列编码 89 4.4.3 有符号数乘法运算器 90 4.5 同步计数器设计 93 4.5.1 设备同步工作 93 4.5.2 程序计数器 93 4.5.3 通用计数器 95 4.6 节拍器设计 98 4.6.1 节拍器电路设计 98 4.6.2 节拍器程序描述 98 4.6.3 节拍器工作原理 101 4.7 译码器设计 101 4.7.1 译码器电路设计 101 4.7.2 译码器程序描述 102 4.7.3 选择与通断控制电路 103 4.8 标志线设计 106 4.8.1 累加器标志线设计 106 4.8.2 数据监测标志设计 107 4.9 存储器设计 107 4.9.1 地址译码器电路设计 107 4.9.2 存储单元设计 109 4.9.3 包含256个存储单元的存储器设计 110 习题与思考题 112 综合实践篇 第5章 FPGA开发常用设计方法 114 5.1 消除毛刺 114 5.2 几种逻辑器件及信号处理方法 115 5.2.1 触发器及锁存器 115 5.2.2 消除及置位信号处理 117 5.3 FPGA中的同步设计 118 5.4 FPGA时延电路产生及用法 119 5.5 FPGA中的时钟设计 121 5.5.1 全局时钟 121 5.5.2 门控制时钟 122 5.5.3 多级逻辑时钟 124 5.5.4 行波时钟 125 5.5.5 多时钟系统 126 5.6 FPGA电路优化方法 130 习题与思考题 133 第6章 综合数字系统实例 134 6.1 矩阵键盘扫描接口设计 134 6.1.1 实例内容说明 134 6.1.2 设计思路与原理 134 6.1.3 程序设计与验证 136 6.1.4 实例总结 143 6.2 交通灯控制的设计 144 6.2.1 实例内容说明 144 6.2.2 设计思路与原理 144 6.2.3 程序设计与注释 145 6.2.4 实例总结 152 6.3 6层电梯控制器的设计 152 6.3.1 实例内容说明 152 6.3.2 设计思路与原理 152 6.3.3 程序设计与验证 153 6.3.4 实例总结 162 6.4 快速傅里叶变换FFT处理器的设计 162 6.4.1 FFT算法特点 162 6.4.2 旋转因子算法 163 6.4.3 蝶形处理器 165 6.4.4 实例总结 168 习题与思考题 168 第7章 面向SOPC的FPGA设计实例 170 7.1 SOPC系统设计流程 170 7.2 基于Avalon总线的PWM控制器 171 7.2.1 实例介绍 171 7.2.2 设计思路与原理 171 7.2.3 硬件设计 174 7.2.4 软件设计 190 7.2.5 实例总结 194 7.3 基于SOPC的SD卡音乐播放器 194 7.3.1 实例介绍 194 7.3.2 设计思路与原理 194 7.3.3 硬件设计 200 7.3.4 软件设计 210 7.3.5 实例总结 216 7.4 基于AES算法的实时加/解密系统 216 7.4.1 实例介绍 216 7.4.2 设计思路与原理 217 7.4.3 硬件设计 223 7.4.4 软件设计与综合测试 255 7.4.5 实例总结 264 习题与思考题 264 附录A 265 参考文献 269

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0222610

www.luweidong.cn

下一个