第1章 电子设计自动化综述 1
1.1 引言 1
1.2 EDA技术发展历程 1
1.3 EDA系统构成 4
1.4 EDA及相关技术发展趋势 5
1.5 常用EDA工具 8
1.5.1 Altera公司的EDA工具 8
1.5.2 Xilinx公司的EDA工具 9
1.5.3 Lattice公司的EDA工具 11
思考题和习题 12
第2章 MAX+plusⅡ软件及应用 13
2.1 MAX+plusⅡ软件概述 13
2.1.1 MAX+plusⅡ简介 14
2.1.2 MAX+plusⅡ安装 15
2.2 MAX+plusⅡ使用流程 16
2.2.1 建立项目 16
2.2.2 设计处理 18
2.2.3 设计检验 20
2.2.4 器件选择与引脚锁定 26
2.2.5 器件编程 28
2.3 图形文件输入 32
2.3.1 原理图文件的建立 32
2.3.2 原理图文件的编辑 34
2.3.3 原理图文件的处理 37
2.3.4 建立默认符号 37
2.4 文本文件输入 38
2.4.1 文本文件的建立 38
2.4.2 文本文件的编辑 39
2.5 层次化设计 41
2.5.1 层次化设计文件输入 42
2.5.2 层次化设计文件管理 43
2.6 参数化模块库的使用 44
2.6.1 参数化模块库 44
2.6.2 参数化模块库的使用 45
2.6.3 参数化ROM的使用 47
2.7 软件使用中常见错误及其排除 50
2.7.1 图形输入的错误及其排除 50
2.7.2 文本输入的错误及其排除 52
思考题和习题 53
第3章 QuartusⅡ软件及应用 55
3.1 QuartusⅡ概述 55
3.1.1 QuartusⅡ3.0支持的第三方工具 55
3.1.2 QuartusⅡ3.0的安装 56
3.2.1 设计输入 58
3.2 QuartusⅡ使用流程 58
3.2.2 设计处理 63
3.2.3 波形仿真 68
3.2.4 器件编程 70
3.3 图形文件输入 73
3.3.1 图形输入 73
3.3.2 图表模块输入 77
3.4 文本文件输入 80
3.5 层次化设计 82
3.6 LPM的使用 85
3.6.1 LPM设计宏功能模块 85
3.6.2 LPM设计存储器模块 87
思考题和习题 89
4.1 VHDL概述 91
第4章 硬件描述语言VHDL 91
4.2 VHDL程序结构 92
4.2.1 ENTITY实体 93
4.2.2 ARCHITECTURE结构体 95
4.2.3 配置、包和库 96
4.2.4 子程序 98
4.3 VHDL语法规则 99
4.3.1 数据对象 99
4.3.2 数据类型 101
4.3.3 属性 104
4.3.4 基本运算符 106
4.4 VHDL并行语句 107
4.4.1 信号赋值语句 108
4.4.2 PROCESS语句 109
4.4.3 BLOCK语句 110
4.4.4 COMPONENT语句 111
4.4.5 GENERATE语句 113
4.5 VHDL顺序语句 114
4.5.1 变量赋值语句 114
4.5.2 IF语句 114
4.5.3 CASE语句 115
4.5.4 LOOP语句 116
4.5.5 其他顺序语句 117
思考题和习题 119
第5章 VHDL应用实例 121
5.1 常用组合逻辑电路设计 121
5.1.1 编码器/译码器 121
5.1.2 数据选择器 124
5.1.3 运算器 126
5.1.4 总线缓冲器 128
5.2.1 时钟和复位 131
5.2 常用时序逻辑电路设计 131
5.2.2 触发器 132
5.2.3 寄存器 135
5.2.4 计数器 137
5.2.5 分频器 137
5.3 有限状态机设计 140
5.3.1 Moore型状态机 141
5.3.2 Mealy型状态机 143
5.4 存储器设计 146
5.4.1 随机存取存储器RAM 146
5.4.2 只读存储器ROM 148
思考题和习题 150
6.1 概述 154
第6章 第三方EDA工具 154
6.2 FPGA Compiler 155
6.2.1 快捷方式的综合流程 155
6.2.2 约束条件的综合流程 159
6.2.3 综合选项及分析 162
6.3 Synplify 163
6.3.1 Synplify主界面 164
6.3.2 建立工程文件 164
6.3.3 添加源文件 165
6.3.4 编译源文件 165
6.3.5 设置综合约束 167
6.3.6 综合及其分析 171
思考题和习题 173
7.1 引言 174
第7章 可编程逻辑器件综述 174
7.2 PLD的分类 176
7.2.1 按编程技术分类 176
7.2.2 按集成度分类 177
7.2.3 按逻辑单元分类 179
7.2.4 按阵列可编程分类 179
7.3 PLD的基本结构 182
7.3.1 PAL器件 182
7.3.2 GAL器件 185
7.4 PLD产品简述 191
7.4.1 Altera公司的PLD 192
7.4.2 Xilinx公司的PLD 192
7.4.3 Lattice公司的PLD 196
7.5 PLD的发展趋势 199
思考题和习题 201
第8章 Altera可编程逻辑器件 202
8.1 引言 202
8.2 MAX系列 203
8.2.1 MAX7000系列器件 205
8.2.2 MAX7000S器件结构 206
8.3 FLEX系列 211
8.3.1 FLEX10K器件结构 214
8.3.2 嵌入式阵列块EAB 215
8.3.3 逻辑阵列块LAB 218
8.3.4 逻辑单元LE 219
8.3.5 快速互连通道 224
8.3.6 I/O单元IOE 224
8.4 ACEX1K系列 227
8.4.1 ACEX1K器件结构 228
8.4.2 嵌入式阵列块EAB 230
8.4.3 逻辑阵列块LAB 231
8.4.4 快速互连通道 232
8.4.5 I/O单元IOE 232
8.4.6 时钟锁定和自举 233
8.4.7 I/O配置 233
8.5 APEX系列 234
8.5.1 APEX2OK器件结构 237
8.5.2 MegaLAB结构 238
8.5.3 逻辑阵列块LAB 238
8.5.4 乘积项Product 242
8.5.5 嵌入系统块ESB 243
8.5.6 快速互连通道 245
8.5.7 I/O单元IOE 246
8.5.8 时钟锁定和时钟引擎 248
8.6 Altera的其他系列 248
8.6.1 Classic系列 248
8.6.2 Stratix系列 249
8.6.3 Mercury系列 250
8.6.4 Excalibur系列 250
思考题和习题 251
第9章 数字系统设计与实现 252
9.1 时钟电路的设计与实现 252
9.1.1 模24计数器的VHDL设计 252
9.1.2 模60计数器的原理图设计 254
9.1.3 顶层文件设计 254
9.2 UART数据接收发送电路设计与实现 256
9.2.1 UART程序设计 259
9.2.2 UART程序仿真 267
9.3.1 接口电路的分析 268
9.3 人机接口电路的设计与实现 268
9.3.2 接口电路的设计 269
9.4 8255并行接口电路的设计与实现 273
9.4.1 8255接口电路的分析 273
9.4.2 8255接口电路的设计 275
思考题和习题 310
第10章 提高电路设计效率的常用方法 313
10.1 引言 313
10.2 EAB单元的使用 313
10.2.1 EAB单元的基本应用 314
10.2.2 EAB单元的灵活应用 316
10.3.1 修改底层布局 319
10.3.2 EAB资源的合理使用 319
10.3 优化系统运行速度 319
10.3.3 软件综合的合理设置 321
10.4 使用LPM宏单元库 322
10.5 提高设计效率的综合应用 323
10.5.1 提高硬件描述效率 324
10.5.2 数据类型与端口定义 328
思考题和习题 330
第11章 CPLD/FPGA器件配置 331
11.1 概述 331
11.2 ByteBlaster配置 331
11.2.1 原理与功能描述 331
11.2.2 被动串行(PS)模式 334
11.2.3 JTAG模式 337
11.2.4 编程和配置步骤 338
11.3.1 原理与功能描述 341
11.3 ByteBlasterMV并口下载电缆 341
11.3.2 编程和配置步骤 343
11.4 MasterBlaster串行/USB通信电缆 344
11.4.1 特点 344
11.4.2 功能描述 344
11.4.3 被动串行(PS)模式 347
11.4.4 JTAG模式 348
11.5 BitBlaster串行下载电缆 351
11.5.1 特点 351
11.5.2 功能描述 351
11.6 MCU配置方案设计 353
11.6.1 概述 353
11.6.2 硬件设计 353
11.6.3 软件设计 355
思考题和习题 359
第12章 PLD应用系统设计技术 361
12.1 PLD系统板的抗干扰设计 361
12.1.1 系统板电源与地线的设计 362
12.1.2 系统板元器件的分配原则 362
12.2 毛刺现象的产生及消除 363
12.2.1 毛刺现象的产生 363
12.2.2 毛刺现象的消除 364
12.3 系统下载/配置电路的设计与实现 367
12.3.1 下载/配置电路的设计 367
12.3.2 下载/配置电路的焊接 368
12.3.3 下载/配置电路的调试 370
思考题和习题 373
参考文献 375