《EDA技术与VHDL基础》以quartus ii 9.1集成开发环境的使用为例,通过理论知识和实例讲解,让读者熟悉可编程逻辑器件的设计流程,同时介绍了vhdl、状态机设计、组合和时序逻辑电路设计和常用接口电路设计。
全书重点讲解基础知识,强调基础数字模块的设计与熟练应用。在内容编写上采用纵向和横向相结合的写法,纵向基础知识的学习穿插大量实例讲解,使学生建立vhdl知识体系的完整性;横向应用实例的学习穿插基础知识要点和设计经验讲解,使学生掌握理论知识的具体应用,从而帮助读者从不同角度认识vhdl,提高灵活运用的能力,建立自己的设计思路。
《EDA技术与VHDL基础》可作为高职高专电子信息类、计算机应用类等相关专业的教材或参考书,也可作为工程技术人员的参考书。
EDA(electronic design automation)技术经过数十年的不断发展,已经进入快速发展阶段,成为推动现代电子工业发展的重要因素,甚至有人提出EDA技术是新世纪电子技术创新的源泉。特别是进入21世纪,随着可编程器件集成度的不断提高,开发工具功能的逐步增强,模拟电路的可编程芯片技术得到发展,使EDA技术与ASIC技术成为现代电子工业的重要支柱。
本书的内容共10章。第1章对EDA技术的相关基础知识进行简要介绍,使读者对EDA技术有一个整体的认识。第2章对可编程逻辑器件(PLD)的基本原理和编程配置方式进行简单的介绍。第3章对硬件描述语言(VHDL)的程序结构做初步讲解,引导读者开始进行深入学习。第4章介绍VHDL的语言要素和相关语句。第5章针对Altera公司的可编程逻辑器件,通过使用QuartusⅡ9.1集成开发环境,详细介绍原理图输入方式和VHDL文本输入方式的可编程逻辑器件开发过程。第6章介绍使用QuartusⅡ9.1集成开发环境实现“自底向上”和“自顶向下”的设计方法。第7章介绍使用VHDL实现有限状态机设计和在Quartus Ⅱ软件中进行状态图输入法设计的方法。第8章介绍QuartusⅡ9.1集成开发环境中宏功能模块的调用方法。第9章介绍基础逻辑器件的VHDL描述方法。第10章通过对典型接口电路的设计与分析,介绍数字电子系统的设计方法,帮助读者进行简单数字系统的设计。
本书以实际技能应用为基础,内容简明扼要,删除不常用或少用的知识点,突出重点知识讲解,强化应用,注重发挥实例教学的优势,叙述上力求深入浅出,将知识点讲解与能力培养相结合,注重培养学生的工程应用能力和解决实际问题的能力。
为解决理论和实践的“冲突点”,本书在内容上采用横向和纵向相结合的写法,纵向基础知识的学习穿插大量实例讲解,使学生建立VHDL知识体系的完整性;横向应用实例的学习穿插基础知识要点和设计经验讲解,使学生掌握理论知识的具体应用,从而帮助读者从不同角度认识VHDL,提高灵活运用的能力。
本书由杨健主编,岳绚、王永喜任副主编,胡玫参编。编定分工如下:兰州职业技术学院信息工程系杨健负责制定编写大纲,并编写第8~10章;岳绚编写第4~6章。兰州工业学院电子信息工程系王永喜编写第2、3、7章;胡玫编写第1章。另外,本书在编写过程中参考了大量的有关文献资料,特别是一些优秀学者和专家的著作和研究成果,在此谨向他们表示诚挚的谢意。
由于作者水平有限,书中难免出现错误与有待商榷之处,敬请读者批评指正。
编 者
第1章 eda技术概述
1.1 eda技术
1.1.1 eda技术的概念
1.1.2 eda技术的特点
1.1.3 eda技术的发展
1.2 eda技术的知识体系
1.2.1 eda技术的主要内容
1.2.2 可编程逻辑器件
1.2.3 可编程逻辑语言
1.2.4 eda开发工具
1.3 eda设计流程
1.3.1 设计输入
1.3.2 综合
1.3.3 适配
1.3.4 仿真
1.3.5 编程下载
1.3.6 硬件验证
1.4 eda技术的设计方法
1.4.1 基于vhdl的自顶向下的设计方法
1.4.2 eda设计方法与传统数字系统设计方法的比较
1.4.3 基于ip的设计
1.5 给初学者的学习建议
本章小结
习题
第2章 可编程逻辑器件基础
2.1 可编程逻辑器件概述
2.1.1 数字集成电路的分类
2.1.2 可编程逻辑器件的理论基础
2.1.3 可编程逻辑器件的发展历程
2.1.4 可编程逻辑器件的分类
2.1.5 可编程逻辑器件的发展趋势
2.2 简单pld基本结构原理
2.3 cpld和fpga的基本结构
2.3.1 cpld的基本结构
2.3.2 fpga的基本结构
2.4 cpld和fpga的比较
2.5 cpld和fpga的编程与配置技术
2.5.1 altere公司的下载电缆
2.5.2 altera公司fpga器件的编程/配置模式
2.6 可编程逻辑器件主要生产厂商及典型器件
本章小结
习题
第3章 vhdl程序初步--程序结构
3.1 初识vhdl程序
3.2 vhdl体系结构概述
3.2.1 vhdl体系结构
3.2.2 库、程序包
3.2.3 实体
3.2.4 结构体
3.2.5 配置
3.3 结构体描述方式
3.3.1 行为描述方式
3.3.2 数据流描述方式
3.3.3 结构描述方式
3.4 d触发器的vhdl描述概述
3.4.1 d触发器的vhdl描述
3.4.2 不完整条件语句
本章小结
习题
第4章 vhdl基础
4.1 vhdl的语言要素
4.1.1 vhdl文字规则
4.1.2 数据对象
4.1.3 vhdl数据类型
4.1.4 vhdl数据类型转换
4.1.5 vhdl运算符
4.2 vhdl语句
4.2.1 vhdl的顺序语句
4.2.2 vhdl的并行语句
4.2.3 vhdl的属性语句
本章小结
习题
第5章 quartus ii集成开发软件初步
5.1 quartus ii软件概述
5.1.1 quartus ii软件开发流程
5.1.2 quartus ii软件的特点
5.1.3 quartus ii软件的图形用户界面
5.2 原理图编辑方法
5.2.1 半加器电路输入与编辑
5.2.2 半加器的综合
5.2.3 半加器的仿真
5.2.4 半加器的编程下载
5.3 用文本编辑方法设计编码器
5.3.1 8线-3线编码器的文本输入与编辑
5.3.2 综合与仿真
5.3.3 生成符号文件和rtl阅读器
5.4 modelsim软件应用
5.4.1 modelsim软件的使用方法
5.4.2 使用modelsim仿真 quartus ii已有文件
5.4.3 modelsim的时序仿真
本章小结
习题
第6章 vhdl设计方法
6.1 自底向上混合设计--六十进制计数器设计
6.2 自顶向下混合设计
6.2.1 十六进制计数译码显示电路设计
6.2.2 一位全加器的自顶向下混合设计
本章小结
习题
第7章 有限状态机设计
7.1 有限状态机概述
7.1.1 有限状态机的概念和分类
7.1.2 有限状态机的状态转换图
7.1.3 有限状态机的设计流程
7.1.4 有限状态机的vhdl描述
7.2 moore型状态机
7.2.1 三进程描述
7.2.2 双进程描述
7.2.3 单进程描述
7.3 mealy型状态机
7.4 设计实例--十字路口交通灯控制器
7.5 quartus软件状态图输入法
本章小结
习题
第8章 宏功能模块及应用
8.1 quartus ii宏功能模块概述
8.2 宏功能模块定制管理器
8.2.1 宏功能模块定制管理器的使用
8.2.2 8位加法计数器的定制
8.2.3 宏功能模块定制管理器文件
8.3 宏功能模块的应用
8.3.1 arithmetic宏功能模块
8.3.2 gates宏功能模块
8.3.3 i/o宏功能模块
8.3.4 memory compiler宏功能模块
本章小结
习题
第9章 vhdl基本逻辑电路设计
9.1 基本组合逻辑电路设计
9.1.1 门电路设计
9.1.2 编码器设计
9.1.3 译码器设计
9.1.4 加、减法器设计
9.1.5 双向电路和三态控制电路设计
9.1.6 rom设计
9.1.7 乘法器设计
9.2 基本时序逻辑电路设计
9.2.1 触发器设计
9.2.2 移位寄存器设计
9.2.3 计数器设计
9.2.4 分频器设计
本章小结
习题
第10章 接口电路设计
10.1 led控制电路设计
10.1.1 基础知识
10.1.2 12路彩灯控制器的设计
10.1.3 彩灯控制电路的设计
10.2 蜂鸣器控制电路设计
10.2.1 基础知识
10.2.2 蜂鸣器控制电路的设计
10.3 拨码开关控制电路设计
10.3.1 基础知识
10.3.2 拨码开关控制电路的设计
10.4 按键消抖电路设计
10.4.1 同步整形消抖电路的设计
10.4.2 计数法消抖电路的设计
10.5 数码管控制电路设计
10.5.1 基础知识
10.5.2 静态数码管显示电路的设计
10.5.3 动态数码管扫描显示电路的设计
10.6 矩阵键盘控制电路设计
10.6.1 基础知识
10.6.2 矩阵键盘扫描电路的设计
10.7 8x8点阵显示控制电路设计
10.7.1 基础知识
10.7.2 行扫描8x8点阵数码管显示电路的设计
10.7.3 列扫描16x16点阵数码管显示电路的设计
本章小结
习题
参考文献