第1章 EDA技术概述 1
1.1 EDA技术发展史 1
目录 1
1.2 应用EDA技术的设计特点 3
1.3 EDA工具软件结构 4
1.3.1 设计输入模块 5
1.3.2 HDL综合器 5
1.3.3 仿真器 5
1.3.4 适配器(布局布线器) 6
1.3.5 下载器(编程器) 6
第2章 可编程逻辑器件 7
2.1 可编程逻辑器件概述 7
2.2 Altera可编程逻辑器件 9
2.2.1 MAX系列 9
2.2.2 FLEX系列 11
2.2.4 ACEX1K系列 13
2.2.3 Cyclone系列 13
2.2.5 Stratix GX系列 14
2.2.6 Stratix系列 15
2.2.7 Excalibur系列 16
2.3 其他可编程逻辑器件 16
2.3.1 Xilinx公司产品 16
2.3.2 Lattice公司产品 17
第3章 MAX+PLUS Ⅱ 10.2简介 19
3.1 MAX+PLUS Ⅱ 10.2设计步骤介绍 19
3.2 MAX PLUS Ⅱ 10.2的安装 20
3.2.1 MAX+PLUS Ⅱ 10.2的分类 20
3.2.2 MAX+PLUS Ⅱ 10.2的安装要求 20
3.2.3 MAX+PLUS Ⅱ 10.2的安装过程 21
3.2.4 第一次运行MAX+PLUS Ⅱ 26
3.3.2 MAX+PLUS Ⅱ 10.2的工作环境 28
3.3.1 MAX+PLUS Ⅱ 10.2的结构 28
3.3 MAX+PLUS Ⅱ 10.2的结构及工作环境 28
第4章 图形输入设计方法 33
4.1 四位加法器设计实例 33
4.1.1 四位加法器逻辑设计 33
4.1.2 半加器模块设计过程 35
4.1.3 全加器模块设计过程 43
4.1.4 四位加法器的设计过程 44
4.1.5 四位加法器设计分析 51
4.1.6 设计文件介绍 55
4.2 宏功能模块及其使用 63
4.2.1 时序电路宏模块 64
4.2.2 运算电路宏模块 71
4.2.3 2位十进制数字位移测量仪设计实例 74
4.3 LPM宏模块及其使用 86
4.3.1 参数化时序单元宏模块 86
4.3.2 参数化运算单元宏模块 90
4.3.3 参数化存储器宏模块 95
4.3.4 其他模块 102
4.3.5 参数化宏模块的使用方法 102
4.4 波形输入设计方法 106
第5章 文本输入设计方法 109
5.1 文本输入界面 109
5.2 用VHDL实现四位加法器设计 111
第6章 VHDL入门 116
6.1 VHDL语言结构 116
6.1.1 实体定义 117
6.1.2 结构体 119
6.1.3 VHDL库 121
6.1.4 VHDL程序包 123
6.1.5 配置 126
6.2.1 分界符 127
6.2.2 标识符 127
6.2 VHDL语言的词法元素 127
6.2.3 注释 129
6.2.4 字符文字 130
6.3 VHDL语言的数据对象 132
6.4 VHDL语言的数据类型 133
6.4.1 VHDL标准程序包STANDARD中定义的数据类型 134
6.4.2 用户定义的数据类型 136
6.4.3 IEEE预定义逻辑矢量位与矢量 140
6.4.4 数据类型转换 141
6.5 VHDKL运算操作符 142
6.5.1 逻辑(LOGICAL)运算符 142
6.5.2 算术(ARITHMETIC)运算符 143
6.5.3 关系(RELATIONAL)运算符 144
6.5.4 并置运算符 145
6.6.1 并行语句 146
6.6 VHDL语法基础 146
6.5.5 运算操作符的优先级 146
6.6.2 顺序语句 163
第7章 常见逻辑单元的VHDL描述 177
7.1 组合逻辑单元的VHDL描述 177
7.1.1 基本逻辑门的VHDL描述 177
7.1.2 编码器、译码器和多路选通器的VHDL描述 181
7.1.3 加法器和求补器的VHDL描述 185
7.1.4 三态门及总线缓冲器 188
7.2 时序电路的VHDL描述 191
7.2.1 时钟信号和复位信号 191
7.2.2 触发器 194
7.2.3 寄存器 198
7.2.4 计数器 203
7.3 存储器的VHDL描述 210
7.3.1 存储器的数据初始化 210
7.3.2 ROM(只读存储器)的VHDL描述 211
7.3.3 RAM(随机存储器)的VHDL描述 212
7.3.4 先进先出堆栈FIFO的VHDL描述 214
第8章 有限状态机设计 217
8.1 状态机的优点及其转移图描述 217
8.1.1 状态机的特点 217
8.1.2 有限状态机的转移图描述 218
8.2 状态机的VHDL描述 219
8.2.1 状态说明部分 220
8.2.2 主控时序进程 220
8.2.3 主控组合进程 221
8.2.4 辅助进程 222
8.3 状态机编码 223
8.3.1 状态位直接输出型编码 223
8.3.2 顺序编码 225
8.3.3 一位热码编码(One Hot Encoding) 225
8.4 状态机剩余状态码的处理 226
8.5 状态机设计实例 227
第9章 设计中的常见问题 232
9.1 信号毛刺的产生及消除 232
9.1.1 信号毛刺的产生 232
9.1.2 信号毛刺的解决方法 234
9.2 时钟问题 237
9.2.1 信号的建立和保持时间 237
9.2.2 全局时钟 238
9.2.3 门控时钟 238
9.2.4 多时钟系统 239
9.3 复位和清零信号 240
第10章 FPGA/CPLD器件的硬件连接 242
10.1 编程工艺及方式介绍 242
10.2 ByteBlaster下载电缆 242
10.3 JTAG方式编程和配置 244
10.4 PS配置方式 246
10.5 使用专用配置器件配置FPGA 250