EDA技术与应用
作 者: 陈海宴 主编
出版时间: 2012
内容简介
《普通高等教育电气工程与自动化(应用型)“十二五”规划教材:EDA技术与应用》根据课堂教学的要求,深入浅出地对EDA技术、VerilogHDL(硬件描述语言)、可编程逻辑开发应用及相关知识做了系统的介绍,使读者能初步了解和掌握EDA的基本内容及实用技术。全书共分10章,内容涉及EDA的基本知识、可编程逻辑器件的结构和工作原理、QuartusII软件开发应用、VerilogHDL语法知识、设计的层次与常用模块设计、宏功能模块设计、可综合设计与优化、系统仿真与ModelSim软件使用、数字设计实例、C/C++语言开发可编程逻辑器件等。书中的例子均给出了介绍、程序代码和仿真结果。使用QuartusII软件平台,通过了ModelSim的仿真测试。各章都配有一定数量的习题。《普通高等教育电气工程与自动化(应用型)“十二五”规划教材:EDA技术与应用》内容翔实,语言通俗易懂,可以帮助初学者在短时间内学习EDA技术和用VerilogHDL进行硬件电路的设计,并进一步拓展读者的视野到可综合的C/C++设计,可作为通信、电子、自动化、计算机等相关专业的教材,也可作为电子设计和开发人员学习EDA技术和VerilogHDL的参考用书。
目录
前言
第1章 EDA技术概述
1.1 EDA技术简介
1.2 EDA技术的发展和优势
1.2.1 EDA技术的发展
1.2.2 EDA技术的优势
1.3 硬件描述语言(HDL)
1.3.1 原理图设计方法
1.3.2 HDL的设计方法
1.3.3 HDL设计方法与传统原理图设计方法的比较
1.4 综合
1.5 基于HDL的设计方法
1.6 EDA工程的设计流程
1.7 EDA集成开发工具简介
1.8 IP核
1.9 小结
1.1 0习题
第2章 可编程逻辑器件基础
2.1 可编程逻辑器件概述
2.1.1 可编程逻辑器件的发展过程
2.1.2 可编程逻辑器件的分类
2.2 PROM、PLA、PAL和GAL的基本结构
2.2.1 逻辑电路符号的表示方法
2.2.2 PLD器件的基本结构
2.2.3 PROM的基本结构
2.2.4 PLA的基本结构
2.2.5 PAL和GAL的基本结构
2.2.6 PROM、PLA、PAL和GAL电路的结构特点
2.3 CPLD的基本结构和工作原理
2.3.1 CPLD的基本结构
2.3.2 Altera公司的CPLD
2.4 FPGA的结构和工作原理
2.4.1 FPGA的基本结构
2.4.2 Altera公司的FPGA
2.5 CPLD/FPGA的应用选型
2.6 小结
2.7 习题
第3章 Quartus Ⅱ开发软件应用
3.1 Quartus Ⅱ软件设计流程
3.2 Quartus Ⅱ软件安装
3.3 创建工程文件
3.3.1 建立工程
3.3.2 建立设计文件
3.3.3 原理图输入方法
3.3.4 文本输入设计方法
3.3.5 编译
3.4 约束输入
3.4.1 器件选择
3.4.2 引脚分配及验证
3.4.3 使用"Assignment Editor"和"Settings"对话框
3.5 综合和仿真
3.5.1 使用 Quartus Ⅱ的集成综合
3.5.2 使用 Quartus Ⅱ的仿真器进行仿真
设计
3.6 下载配置
3.6.1 JTAG模式
3.6.2 AS模式
3.7 实例:3线8线译码器设计与仿真
3.7.1 实例简介
3.7.2 实例目的
3.7.3 实例内容
3.8 小结
3.9 习题
第4章 Verilog HDL的基本语法
4.1 Verilog 简介
4.1.1 Verilog HDL的发展过程
4.1.2 Verilog HDL 与C语言的比较
4.2 Verilog HDL设计举例
4.3 Verilog模块的结构
4.4 Verilog HDL的要素与表达式
4.4.1 注释
4.4.2 常量
4.4.3 变量
4.4.4 操作符
4.4.5 字符串、关键字、标识符
4.5 赋值语句
4.5.1 连续赋值
4.5.2 过程赋值
4.5.3 连续赋值和过程赋值的不同
4.6 块语句
4.6.1 顺序语句块(beginend)
4.6.2 并行语句块(forkjoin)
4.6.3 起始时间和结束时间
4.7 条件语句
4.7.1 ifelse语句
4.7.2 case语句
4.7.3 比较ifelse嵌套与 case 语句
4.8 循环语句
4.8.1 for语句
4.8.2 forever语句
4.8.3 repeat语句
4.8.4 while语句
4.9 过程语句
4.9.1 initial语句
4.9.2 always语句
4.1 0任务与函数
4.1 0.1 任务
4.1 0.2 函数
4.1 1预编译指令
4.1 1.1 宏定义语句(define、undef)
4.1 1.2 文件包含语句(include)
4.1 1.3 时间尺度(timescale)
4.1 1.4 条件编译指令(ifdef、else、endif)
4.1 2小结
4.1 3习题
第5章 Verilog设计的层次与常用
模块设计
5.1 Verilog设计的层次
5.2 行为描述
5.3 数据流描述
5.4 结构描述
5.4.1 Verilog内置门元件
5.4.2 门元件的调用
5.5 基本组合逻辑电路设计
5.5.1 与非门电路
5.5.2 或非门电路
5.5.3 异或门电路
5.5.4 三态门电路
5.5.5 编码器
5.5.6 译码器
5.5.7 BCD七段显示译码器
5.5.8 2选1数据选择器
5.5.9 4选1数据选择器
5.5.1 0数值比较器
5.5.1 1总线缓冲器
5.6 基本时序电路设计
5.6.1 触发器
5.6.2 寄存器
5.6.3 计数器
5.6.4 串并转换器
5.7 加法器设计
5.7.1 并行加法器
5.7.2 流水线加法器
5.8 乘法器设计
5.8.1 并行乘法器
5.8.2 查找表乘法器
5.9 乘累加器设计
5.1 0小结
5.1 1习题
第6章 宏功能模块设计
6.1 算术运算模块库
6.1.1 算术运算模块库模块列表
6.1.2 乘法器模块设计举例
6.1.3 计数器模块设计举例
6.2 逻辑门库
6.2.1 逻辑门库宏模块列表
6.2.2 3线8线译码器模块设计举例
6.3 I/O模块库
6.4 存储器模块库
6.4.1 存储区模块库宏模块及功能描述
6.4.2 参数化RAM模块设计举例
6.5 小结
6.6 习题
第7章 可综合设计与优化
7.1 可综合设计
7.1.1 综合的概念及其过程
7.1.2 可综合模型的设计
7.1.3 综合结果的验证
7.2 Verilog HDL设计优化
7.2.1 公因子和公因子表达式
7.2.2 算术表达式优化
7.2.3 运算符优化
7.2.4 循环语句的优化
7.3 面积与速度的折中
7.3.1 速度换面积
7.3.2 面积换速度
7.4 有限状态机设计
7.4.1 有限状态机的设计步骤
7.4.2 有限状态机编码方式
7.4.3 用Verilog HDL设计可综合的状态机的指导原则
7.4.4 状态机的3种设计风格
7.5 小结
7.6 习题
第8章 系统仿真与ModelSim软件使用
8.1 系统任务与函数
8.2 用户自定义原语
8.3 应用Testbench仿真验证
8.3.1 基本结构
8.3.2 验证过程
8.3.3 验证的全面性与代码覆盖率分析
8.4 应用ModelSim软件仿真
8.4.1 软件简介
8.4.2 ModelSim软件的安装过程
8.4.3 使用ModelSim进行设计仿真
8.4.4 在Quartus Ⅱ中直接调用ModelSim
8.5 实例:4位全加器设计及ModelSim仿真
8.5.1 实例简介
8.5.2 实例目的
8.5.3 实例内容
8.6 小结
8.7 习题
第9章 数字设计实例
9.1 卷积编码Verilog HDL设计
9.1.1 卷积码的编码工作原理
9.1.2 卷积码的Verilog实现
9.1.3 卷积码的ModelSim仿真
9.2 通用异步收发器的Verilog HDL设计与验证
9.2.1 通用异步收发器的规范
9.2.2 电路结构设计
9.2.3 UART控制电路模块的代码设计与分析
9.2.4 发送电路的代码设计与仿真分析
9.2.5 接收电路的代码设计与仿真
9.2.6 UART系统仿真
9.2.7 UART自动测试Testbench
9.3 小结
9.4 习题
第10章 C/C++语言开发可编程逻辑器件
10.1 基于C/C++的硬件设计方法
10.2 硬件设计的C++数据类型
10.2.1 ac_int型
10.2.2 ac_fixed型
10.3 C/C++ FIR滤波器设计
10.3.1 直接型FIR滤波器
10.3.2 奇对称FIR滤波器
10.3.3 转置型FIR滤波器
10.4 C++滤波器的可编程逻辑实现及验证
10.4.1 C++ FIR滤波器的实现
10.4.2 FIR滤波器的验证
10.5 小结
10.6 习题
附录Quartus Ⅱ支持的Verilog结构
附录AQuartus Ⅱ对Verilog的支持情况
附录BQuartus Ⅱ对Verilog的支持情况
参考文献