EDA技术与CPLD/FPGA开发应用简明教程
分類: 图书,计算机/网络,硬件 外部设备 维修,
作者: 刘爱荣,王振成 主编,曹瑞,卢印举 编著
出 版 社: 清华大学出版社
出版时间: 2007-8-1字数:版次: 1页数: 357印刷时间:开本:印次:纸张:I S B N : 9787302156390包装: 平装内容简介
在信息技术高速发展的现代社会,电子系统的设计方法和设计手段已有了根本性的变化。可编程逻辑器件和EDA技术己广泛应用于通信、工业自动化、智能仪表、图像处理以及计算机等领域。因此,EDA技术是未来电子工程师必须掌握的技术。
全书共分10章,详细介绍了EDA技术的基本知识、大规模可编程逻辑器件CPLD/FPGA的结构原理、EDA开发工具的使用方法、VHDL语言的语法结构和编程技巧以及逻辑电路和状态机的设计。为提高读者的工程设计能力,第6、7、8和9章分别介绍了CPLD/FPGA器件在数字系统、通信工程和计算机等领域的具体应用,并且运用大量综合性实例对各种关键技术进行了深入浅出的分析。此外,基础章节配有习题,应用章节配有设计题。
本书取材广泛,内容新颖并且重点突出,可作为高等院校电子信息工程、通信工程、计算机科学与技术、自动化和仪器仪表等信息类及相近专业的本科生或研究生教材使用,也可以作为从事工程设计工作的专业技术人员的参考书。
目录
第1章 绪论
1.1 EDA技术的含义
1.2 EDA技术发展历程
1.2.1 20世纪70年代的计算机辅助设计CAD阶段
1.2.2 20世纪80年代的计算机辅助工程设计CAE阶段
1.2.3 20世纪90年代电子系统设计自动化EDA阶段
1.3 EDA技术的主要内容
1.3.1 大规模可编程逻辑器件
1.3.2 硬件描述语言(HDL)
1.3.3 软件开发工具
1.3.4 实验开发系统
1.3.5 关于EDA技术的学习重点及学习方法
1.4 EDA软件系统的构成
1.5 EDA工程设计流程
1.5.1 设计输入
1.5.2 逻辑综合和优化
1.5.3 目标器件的布线/适配
1.5.4 设计过程中的有关仿真
1.5.5 目标器件的编程/下载
1.5.6 硬件仿真/硬件测试
1.6 数字系统的设计方法简介
1.7 数字系统的设计准则
1.8 EDA技术的应用展望
1.9 本章小结
1.10 思考和练习
第2章 大规模可编程逻辑器件
2.1 可编程逻辑器件概述
2.1.1 PLD的发展进程
2.1.2 PLD介绍
2.1.3 可编程逻辑器件的结构和分类
2.1.4 CPLD/FPGA相对于MCU的优势
2.2 CPLD的结构与工作原理
2.2.1 CPLD的基本结构
2.2.2 Altera公司的器件产品
2.3 现场可编程门阵列FPGA
2.3.1 Xilinx Virtex系列器件性能特点
2.3.2 FPGA器件的结构描述
2.3.3 Xilinx公司的XC4000系列FPGA简介
2.3.4 XC5000系列的LCA结构
2.3.5 Xilinx公司XC6200、XC8100系列FPGA简介
2.4 FPGA的配置模式
2.4.1 主动串行配置模式
2.4.2 主动并行配置模式
2.4.3 外设配置模式
2.4.4 从动串行配置模式
2.4.5 菊花链配置模式
2.4.6 FPGA的配置流程
2.4.7 FPGA标识说明
2.5 FPGA和CPLD的开发应用选择
2.6 本章小结
2.7 思考和练习
第3章 硬件描述语言VHDL的语法结构及编程
3.1 概述
3.1.1 什么是VHDL及VHDL语言的发展历史
3.1.2 VHDL的作用
3.1.3 VHDL语言特点
3.1.4 VHDL与其他硬件描述语言的比较
3.1.5 VHDL的优点
3.1.6 VHDL程序设计约定
3.2 VHDL程序基本结构
3.2.1 VHDL设计简述
3.2.2 结构体(ARCHITECTURE)
3.2.3 配置(CONFIGURATION)
3.2.4 库、程序包
3.3 VHDL语言要素
3.3.1 VHDL文字规则
3.3.2 VHDL数据对象
3.3.3 VHDL数据类型
3.3.4 VHDL操作符
3.4 VHDL顺序语句
3.4.1 对象与赋值语句
3.4.2 转向控制语句
3.4.3 WAIT语句
3.4.4 子程序调用语句
3.4.5 返回语句(RETURN)
3.4.6 空操作语句(NULL)
3.4.7 其他语句和说明
3.5 VHDL并行语句
3.5.1 进程语句
3.5.2 块语句
3.5.3 并行信号赋值语句
3.5.4 并行过程调用语句
3.5.5 VHDL的层次化设计与元件声明(COMPONENT)
3.5.6 元件例化语句
3.5.7 生成语句
3.6 子程序(SUBPROGRAM)
3.6.1 子程序声明
3.6.2 子程序主体
3.6.3 重载函数
3.7 VHDL描述风格
3.7.1 行为描述
3.7.2 数据流描述
3.7.3 结构化描述
3.8 本章小结
3.9 思考和练习
第4章 常用EDA工具软件操作指南
4.1 MAX+PLUS-Ⅱ软件的安装
4.1.1 概述
4.1.2 常用的设计输入方法
4.1.3 MAX+PLUS-Ⅱ的特点
4.1.4 MAX+PLUS-Ⅱ安装
4.1.5 MAX+PLUS-Ⅱ软件组成
4.1.6 MAX+PLUS-Ⅱ的编辑规则
4.2 MAX+PLUS-Ⅱ操作指南
4.2.1 Ⅱ原理图编辑工具
4.2.2 MAX+PLUS-Ⅱ原理图编辑流程
4.2.3 其他设计输入方法
4.2.4 设计项目的处理
4.2.5 设计项目的校验
4.2.6 器件编程
4.3 MAX+PLUS-Ⅱ操作实例
4.3.1 源文件的编辑
4.3.2 系统的编译、综合和适配
4.3.3 系统的有关仿真
4.3.4 系统的编程下载
4.4 利用LPM兆功能块的电路设计
4.4.1 常用LPM兆功能块
4.4.2 基于LPM_COUNTER的数据分频器设计
4.5 本章小结
4.6 思考和练习
第5章 基本逻辑电路设计
5.1 组合逻辑电路设计
5.1.1 基本门电路
5.1.2 三态门及总线缓冲器
5.1.3 单向总线驱动器
5.1.4 双向总线缓冲器
5.2 时序逻辑电路设计
5.2.1 时序电路特殊信号描述
5.2.2 常用时序电路设计
5.2.3 寄存器和移位寄存器
5.2.4 计数器
5.2.5 序列信号发生器、检测器
5.3 存储器设计
5.3.1 只读存储器ROM
5.3.2 静态数据存储器SRAM
5.3.3 先进先出堆栈FIFO
5.4 状态机的VHDL设计
5.4.1 状态机概述
5.4.2 状态机的特点
5.4.3 状态机的基本结构和功能
5.4.4 一般状态机的VHDL描述
5.4.5 摩尔状态机的设计
5.4.6 米勒状态机的VHDL设计
5.4.7 ONE-HOT状态机
5.5 本章小结
5.6 思考和练习
第6章 CPLD/FPGA在数字系统中的应用
6.1 正负脉宽数控调制信号发生器的设计
6.1.1 设计思路
6.1.2 VHDL源程序
6.1.3 仿真结果
6.2 智能函数发生器的设计
6.2.1 智能函数发生器的设计思路
6.2.2 模块及模块功能
6.3 序列检测器的设计
6.3.1 序列检测器设计思路
6.3.2 VHDL源程序
6.3.3 仿真结果
6.4 数字频率计的设计
6.4.1 数字频率计设计思路
6.4.2 数字频率计的VHDL源程序
6.5 数字秒表的设计
6.5.1 数字秒表设计思路
6.5.2 数字秒表的VHDL源程序
6.6 交通信号控制器的设计
6.6.1 交通信号控制器设计思路
6.6.2 VHDL源程序
6.6.3 系统的有关仿真
6.6.4 系统的硬件验证
6.6.5 设计技巧分析
6.7 三层电梯控制器的设计
6.7.1 三层电梯控制器的功能
6.7.2 三层电梯控制器的设计思路
6.7.3 三层电梯控制器的综合设计
6.7.4 三层电梯控制器的波形仿真分析
6.7.5 N层电梯控制器的设计技巧分析
6.8 本章小结
6.9 思考和练习
第7章 FPGA在通信工程中的实践应用
7.1 二进制振幅键控(ASK)调制器与解调器设计
7.1.1 ASK信号调制原理
7.1.2 ASK信号解调原理
7.1.3 ASK调制VHDL程序
7.1.4 ASK解调VHDL程序
7.2 二进制频移键控(FSK)调制器与解调器设计
7.2.1 FSK信号调制原理
7.2.2 FSK信号解调原理
7.2.3 FSK调制VHDL程序及仿真
7.2.4 FSK解调VHDL程序及仿真
7.3 二进制相位键控(PSK)调制器与解调器设计
7.3.1 基本概念
7.3.2 CPSK信号调制
7.3.3 DPSK信号调制
7.3.4 DPSK信号解调
7.3.5 DPSK调制方框图及电路符号
7.4 UART接口设计
7.4.1 UART概述
7.4.2 UART系统FPGA接口电路
7.4.3 UART系统FPGA程序设计
7.5 本章小结
7.6 思考和练习
第8章 FPGA在DSP领域中的应用
8.1 快速加法器的设计
8.1.1 4位二进制并行加法器
8.1.2 8位二进制加法器的源程序
8.2 快速乘法器的设计
8.2.1 设计思路
8.2.2 快速乘法器VHDL源程序
8.3 数字滤波器的设计
8.3.1 数字滤波器概述
8.3.2 数字滤波器的原理分析
8.3.3 数字滤波器系统实现
8.3.4 数字滤波器系统原理框图
8.3.5 数字滤波器顶层IIR模块
8.3.6 数字滤波器的VHDL语言程序
8.3.7 数字滤波器系统性能测试
8.4 本章小结
8.5 思考和练习
第9章 FPGA在微机工程中的实践应用
9.1 键盘接口设计
9.1.1 键盘工作原理
9.1.2 矩阵式按键概述
9.1.3 矩阵式按键FPGA描述
9.2 LED驱动器设计
9.2.1 LED数码管工作原理
9.2.2 静态LED数码管驱动原理及其FPGA电路设计
9.2.3 动态LED数码管驱动原理及其FPGA电路设计
9.3 D/A接口设计
9.3.1 D/A转换器概述
9.3.2 典型D/A转换器芯片DAC0832
9.3.3 FPGA与DAC0832接口电路原理图
9.3.4 DAC0832接口电路时序
9.3.5 DAC0832接口电路程序
9.4 A/D接口设计
9.4.1 A/D转换器概述
9.4.2 典型A/D转换器芯片ADC0809
9.4.3 A/D接口设计
9.4.4 ADC0809 VHDL采样控制程序设计
9.5 本章小结
9.6 思考和练习
第10章 CPLD/FPGA实验
10.1 实验要求
10.1.1 概述
10.1.2 实验报告的撰写
10.2 实验内容
10.2.1 实验一:简单逻辑电路设计与仿真
10.2.2 实验二:全加器设计、仿真与下载
10.2.3 实验三:分频电路与12归1电路设计
10.2.4 实验四:利用硬件描述语言进行数字钟设计
10.2.5 实验五:串行扫描显示电路设计
10.2.6 实验六:复杂数字钟设计与扫描显示
10.2.7 实验七:智力竞赛抢答器的设计
10.2.8 实验八:数字频率计的设计
10.2.9 实验九:交通灯信号控制器的设计
附录A VHDL程序设计的语法结构
附录B 利用WWW进行EDA资源的检索
主要参考文献