第1章 EDA设计导论 1
1.1 EDA技术综述 1
EDA技术发展历史 1
EDA技术含义 3
EDA技术主要内容 3
1.2 PLD设计方法学 7
PLD设计概论 7
PLD设计流程 8
SOPC设计流程 11
1.3 HDL硬件描述语言 11
HDL硬件描述语言概念 11
HDL语言特点和比较 12
HDL语言最新发展 14
习题1 15
第2章 可编程逻辑器件设计方法 16
2.1可编程逻辑器件基础 16
可编程逻辑器件概述 16
可编程逻辑器件的发展历史 17
2.2 PLD芯片制造工艺 18
2.3 PLD芯片结构 19
CPLD原理及结构 19
FPGA原理及结构 21
CPLD和FPGA比较 25
PLD选择原则 26
2.4 Xilinx公司芯片简介 28
Xilinx CPLD芯片介绍 28
Xilinx FPGA芯片介绍 30
Xilinx PROM芯片介绍 39
习题2 43
第3章 VHDL语言基础 44
3.1 VHDL程序结构 44
V HDL程序结构概述 44
VHDL程序实体 44
V HDL结构体 47
3.2 VHDL语言描述风格 49
结构体行为描述 49
结构体数据流描述 50
结构体结构化描述 51
3.3设计资源共享 53
库 53
包集合 54
子程序和函数 56
元件配置 58
3.4 VHDL语言的文字规则 59
数字型文字 59
字符型文字 60
标识符 61
下标名及下标段名 62
3.5 VHDL语言数据对象、类型和属性 62
VHDL中的数据对象 62
VHDL中的数据类型 64
VHDL中的预定义属性 71
3.6 VHDL语言的操作符 74
3.7 VHDL的顺序描述语句 76
对象赋值语句 76
转向控制语句 78
断言语句 85
3.8 VHDL的并发描述语句 86
进程描述语句 87
并行信号赋值语句 88
条件信号赋值语句 88
选择信号赋值语句 89
并行过程调用语句 90
块语句 90
3.9 VHDL元件声明及例化语句 92
层次化设计 92
元件声明 92
元件例化 93
生成语句 95
3.10 VHDL的文件操作 96
习题3 98
第4章 数字逻辑单元设计 100
4.1组合逻辑电路设计 100
基本逻辑门电路设计 100
编码器和译码器设计 101
数据选择器设计 103
数字比较器设计 105
数据运算单元设计 105
总线缓冲器设计 107
4.2时序逻辑电路设计 109
时钟和复位设计 109
触发器设计 111
锁存器设计 114
计数器设计 114
移位寄存器设计 116
4.3存储器设计 119
ROM设计 119
RAM设计 120
FIFO设计 121
4.4有限自动状态机设计 123
有限状态机原理 123
有限状态机分类 124
有限状态机设计 127
习题4 131
第5章 VHDL高级设计技术 133
5.1 VHDL代码风格 133
逻辑复制和复用技术 134
并行和流水线技术 135
同步和异步单元处理技术 138
逻辑处理技术 142
模块划分的设计原则 146
5.2 IP核设计技术 147
IP核分类 147
IP核优化 148
IP核生成 149
IP核应用 150
习题5 155
第6章 基于HDL的设计输入 157
6.1软件环境 157
6.2综合工具介绍 159
6.3工程建立 159
6.4设计描述 161
6.5添加设计和检查 162
6.6创建基于HDL的模块 163
6.7 IP核产生和例化 165
IP核的生成 165
IP核的例化 167
习题6 168
第7章 基于原理图的设计输入 169
7.1工程建立 169
7.2设计描述 170
7.3创建原理图模块 171
原理图编辑器操作 171
定义模块符号 172
创建模块符号 175
7.4创建状态图模块 175
添加状态 175
添加迁移 177
添加行为 177
添加复位条件 177
设计输出和添加 178
7.5设计完成 178
习题7 179
第8章 设计综合和行为仿真 180
8.1设计综合 180
行为综合描述 180
基于XST的综合概述 181
约束及设计综合的实现 181
RTL符号的查看 182
8.2行为仿真的实现 183
生成测试向量 183
基于ModelSim行为仿真实现 185
基于ISE行为仿真实现 190
习题8 192
第9章 设计实现和时序仿真 193
9.1实现过程概述及约束 193
实现过程概述 193
建立约束文件 193
9.2设置实现属性参数 194
9.3创建分区 195
9.4创建时序约束 196
9.5设计翻译 196
9.6设计约束 197
时序约束 197
管脚和面积约束 200
9.7设计映射及时序分析 201
设计映射 201
使用时序分析评估块延迟 202
9.8布局布线验证 204
用FPGA Editor验证布局布线 205
评估布局后时序 205
改变分区HDL 206
9.9时序仿真实现 208
时序仿真概述 208
使用ModelSim进行时序仿真 208
使用ISE仿真器进行时序仿真 213
习题9 216
第10章 设计下载和调试 217
10.1 PLD的配置 217
配置单元 217
配置端口 218
配置电路 218
10.2创建配置数据 221
配置属性 221
创建PROM文件 222
10.3下载实现过程 224
下载环境 224
下载实现 225
JTAG诊断 231
建立SVF文件 232
其他配置模式 234
10.4 PLD调试 234
多路复用技术的应用 234
虚拟逻辑分析工具 235
习题10 235
第11章 数字时钟设计及实现 237
11.1数字时钟的功能要求和结构 237
数字时钟的功能要求 237
数字时钟的整体结构 237
11.2模块设计 238
数字时钟控制信号 238
控制模块结构 238
11.3设计实现 240
设计输入 240
设计约束 246
习题11 247
第12章 通用异步接收发送器设计及实现 248
12.1 UART设计原理 248
UART原理和设计描述 248
接收模块设计 249
发送模块设计 251
UART的VHDL设计代码 251
12.2 UART设计验证 258
验证原理 258
验证代码 258
习题12 261
第13章 数字电压表设计及实现 262
13.1数字电压表的功能要求和结构 262
数字电压表的功能要求 262
数字电压表的整体结构 262
13.2模块设计 263
数字电压表控制信号 263
ADC转换原理 263
控制模块结构 265
13.3设计实现 266
ADC控制模块原理及实现 266
显示控制模块原理及实现 268
程序包的设计 270
顶层模块设计 272
设计约束文件 274
习题13 275
参考文献 276