
本书共分4章。第1章是绪论;第2章讲述FPGA/CPLD的开发工具,主要是MAX+plus II和Quartus的使用方法;第3章讲述硬件描述语言,主要讲述VHDL的使用方法;第4章讲解FPGA/CPLD系统设计方法、FPGA/CPLD系统设计综合举例。书中通过实际设计举例使读者逐步学会开发软件的使用方法和逐步掌握使用VHDL的设计方法。综合型例题中注重讲述设计原理和思路,并对波形仿真图的结果加以较详细的解释和说明。内容的编排循序渐进。 本书为高等学校电子信息类专业相关课程的教材,也可以供从事电子技术开发工作的工程技术人员、非电子信息类相关课程的教师和学生参考。 读者对象:高等学校电子信息类学生,特别适合三本及高职高专学生
前 言 目前高新技术日新月异,电子技术迅猛发展,传统的电子技术设计方法逐步被EDA技术取代,尤其FPGA(Field Programmable Gate Array,现场可编程门阵列)和CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是当今应用最广泛的可编程专用集成电路。由于FPGA/CPLD具有体积小、功耗低、运行速度快、集成度高、可靠性高等优点,被广泛应用于航空航天、通信、医疗、仪器仪表、工业控制、家用电器等领域。使用FPGA/CPLD开发的产品具有将软件和硬件融合在一起的特点,因此使设计后的系统技术含量高、保密性强、不易仿造。 基于以上特点,目前各高校将“FPGA/CPLD系统设计”课程定为电子信息类专业的重要专业基础课,因为它对应用型人才的培养、教育服务于社会、提高教育的现代化水平都有很大影响。 本书编写的宗旨是夯实基础、突出应用、强化实践、注重创新。 本书具有如下特点: (1) 减少硬件内部结构的讲解、注重应用 “FPGA/CPLD系统设计”应用性很强,而对实际硬件内部结构的认知程度不影响实际应用的水平,因此本书以实现应用为目的,减少硬件内部结构的讲解,将重点放在设计、应用等方面。 (2) 注重认知规律 本书在内容的编排中注重认知规律,循序渐进,逐步推进,使全书内容易读、易理解,适合自学。 (3) 以实例讲解硬件描述语言 有关VHDL部分,以实例说明VHDL的应用方法,书中的所有实例都经过了编程、下载、调试等过程。 在VHDL的语句讲解之后紧跟应用实例,不但可以加强读者对语句的理解,而且可以通过实际设计举例逐步掌握使用VHDL的设计方法和记忆具体语句。 同一个例题用不同的设计方法进行设计,可以使读者学会和理解结构体的行为描述、数据流描述和结构化描述的设计方法。 (4) 加强综合性设计和系统设计的讲解 将多个综合性设计例题集中到一章中讲解。在讲述综合型例题时,仔细讲解设计思路,将设计原理和思路讲解清楚后,采用自顶向下的方法画出设计系统的模块图,然后用自底向上的设计方法逐步实现全系统的设计(这点在现有的教材中较少见)。 (5) 注重波形仿真 例题中,各模块设计均有波形仿真,而且对波形仿真图的结果加以较详细的解释和说明,并且将它们与设计要求进行对比,说明设计的合理性(这点在现有的教材中也较少见)。 (6) 注重常用的模块程序的积累和移植 注重模块化设计方法的移植,注重常用的模块程序的积累,将常用的、最基本的模块讲深讲透,在其他的设计中使读者能自然而然地想起调用,即使不调用,也能使读者自己在编写这些模块时轻而易举、容易实现。 全书共4章。第1章是绪论;第2章讲解FPGA/CPLD的开发工具,主要讲解MAX+plus II和Quartus的使用方法;第3章讲解硬件描述语言,主要讲解VHDL的特点和基本语法、VHDL的结构、VHDL的常用语句等;第4章讲解FPGA/CPLD系统设计方法、FPGA/CPLD系统设计举例。 本书由周淑阁教授任主编。参加编写的人员有周莉莉、井娥林、。第2章的2.1节和2.2节,第3章,第4章的4.1~4.5节由周淑阁编写;第1章,第4章的4.6节、4.7节由井娥林编写;第2章的2.3节,第4章的4.8节、4.9节、4.10节由周莉莉编写。 李国丽教授审阅了本书并提出了许多宝贵的意见,在此表示衷心的感谢。 由于我们的水平有限,再加上时间仓促,书中难免有错误和不妥之处,恳请读者批评指正。 作 者
目 录 第1章 绪论 1 1.1 简介 1 1.2 FPGA/CPLD开发平台 4 1.3 FPGA/CPLD开发流程 5 1.4 硬件描述语言(HDL) 7 第2章 FPGA/CPLD的开发工具 9 2.1 MAX+plus II开发工具 9 2.1.1 MAX+plus II的特点 9 2.1.2 MAX+plus II的安装 10 2.2 MAX+plus II的使用方法 16 2.2.1 MAX+plus II的设计流程 16 2.2.2 MAX+plus II的原理图输入 设计法 22 2.2.3 MAX+plus II的硬件描述语言 输入设计法 31 2.2.4 MAX+plus II中可调参数器件库 的使用方法 32 2.2.5 MAX+plus II中的仿真和 分析方法 38 2.3 Quartus II开发工具 43 2.3.1 Quartus II概述 43 2.3.2 Quartus II的界面概况 44 2.3.3 Quartus II设计流程 45 2.3.4 Quartus II的原理图输入 设计法 58 第3章 VHDL硬件描述语言 63 3.1 VHDL的特点和基本语法 63 3.1.1 VHDL的特点 63 3.1.2 VHDL的基本语法 64 3.2 VHDL的结构 72 3.2.1 库和程序包 72 3.2.2 实体 74 3.2.3 结构体 76 3.3 VHDL中的常用语句 81 3.3.1 结构体中的并行语句 81 3.3.2 进程中的顺序语句 87 3.3.3 结构体中元件定义语句和元件 例化语句 103 3.3.4 结构体中的生成语句 106 3.3.5 结构体中的块语句 108 3.3.6 结构体中的子程序 111 3.3.7 结构体中的状态机设计 技术 114 第4章 FPGA/CPLD系统设计 118 4.1 FPGA/CPLD系统设计 的方法 118 4.2 数字跑表的设计 119 4.2.1 数字跑表系统模块图 的设计 119 4.2.2 “分频模块”的设计 119 4.2.3 “计时模块”的设计 121 4.2.4 “控制模块”的设计 122 4.2.5 “显示模块”的设计 124 4.2.6 综合设计 127 4.3 自动邮票售票机设计 139 4.3.1 自动邮票售票系统总体模块图 的设计 139 4.3.2 “票价设定模块”的设计 140 4.3.3 “邮票类型选择模块” 的设计 141 4.3.4 “点阵票型显示模块” 的设计 143 4.3.5 “票价类型选择与票价设定模块” 的设计 148 4.3.6 “邮票数量设定模块” 的设计 149 4.3.7 “邮票购买模块”的设计 151 4.3.8 “数据转换模块”的设计 154 4.3.9 “动态扫描模块”的设计 155 4.3.10 “数码管显示模块” 的设计 156 4.3.11 综合设计 157 4.4 乐曲演奏系统的设计 158 4.4.1 乐曲中的音符和音长 问题 158 4.4.2 乐曲演奏系统的框图 160 4.4.3 预置数和音长控制模块 161 4.4.4 模可变计数器模块 165 4.4.5 占空比均衡控制模块 166 4.4.6 综合设计 167 4.5 交通灯控制系统的设计 169 4.5.1 交通灯控制系统模块图 169 4.5.2 控制模块设计 170 4.5.3 显示模块设计 175 4.5.4 综合设计 179 4.6 八路抢答器的设计 180 4.6.1 主持人控制模块 180 4.6.2 抢答信号锁存模块 182 4.6.3 倒计时模块 184 4.6.4 二进制编码转BCD码 模块 186 4.6.5 扫描信号产生模块 187 4.6.6 数码管位信号与段信号匹配 模块 188 4.6.7 BCD码转七段码模块 189 4.6.8 报警模块 190 4.6.9 综合设计 191 4.7 病床呼叫系统的设计 191 4.7.1 按键矩阵扩展模块 192 4.7.2 定时模块 195 4.7.3 二进制编码转BCD码 模块 197 4.7.4 数码管动态扫描模块 199 4.7.5 显示段码转换模块 200 4.7.6 二分频模块 201 4.7.7 综合设计 202 4.8 出租车计费系统的设计 203 4.8.1 车轮脉冲计数模块 203 4.8.2 里程计数模块 205 4.8.3 计费模块 207 4.8.4 动态扫描模块 209 4.8.5 译码模块 211 4.8.6 顶层设计原理图 212 4.9 数字电压表的设计 212 4.9.1 A/D转换控制模块 213 4.9.2 数据转换模块 216 4.9.3 显示译码模块 219 4.9.4 顶层设计 221 4.10 数字频率计的设计 223 4.10.1 分频模块 224 4.10.2 计数模块 225 4.10.3 锁存器 227 4.10.4 动态扫描模块 229 4.10.5 译码模块 231 4.10.6 顶层设计原理图 232
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0136230