第1部分 硬件资源篇 3
第1章 电子设计自动化综述 3
1.1 EDA技术的发展 3
1.1.1 EDA技术的发展阶段 3
目录 3
1.1.2 EDA的发展趋势 5
1.2 EDA技术的基本工具 6
1.2.1 EDA常用工具 7
1.2.2 设计输入编辑器 7
1.2.3 HDL综合器 8
1.2.4 仿真器 9
1.2.6 下载器 10
1.2.5 适配器(布局、布线器) 10
1.3 EDA技术的基本设计思路 11
1.3.1 EDA电路级设计 11
1.3.2 EDA系统级设计 11
1.4 PLD的设计流程 12
1.4.1 设计准备 12
1.4.2 设计输入 12
1.4.3 设计处理 13
1.4.4 设计检验 14
1.4.5 器件编程与配置 14
习题 15
2.1 Altera器件的命名 16
第2章 Altera公司可编程逻辑器件 16
2.2 Altera常用器件 17
2.2.1 MAX 7000器件 17
2.2.2 FLEX 10K器件 26
2.2.3 APEX 20K器件 45
2.3 Altera新型器件 58
2.3.1 MAX Ⅱ器件 58
2.3.2 Cyclone Ⅱ器件 67
2.3.3 Stratix Ⅱ器件 75
习题 87
3.1 概述 91
第3章 Quartus Ⅱ 5.0设计软件 91
第2部分 软件操作篇 91
3.2 Quartus Ⅱ 5.0软件安装 92
3.2.1 系统配置要求 92
3.2.2 Quartus Ⅱ 5.0软件的安装 92
3.2.3 Quartus Ⅱ 5.0软件的授权 94
3.3 一般设计流程 96
3.3.1 图形用户界面设计流程 96
3.3.2 EDA工具设计流程 97
3.3.3 命令设计流程 98
3.3.4 Quartus Ⅱ 5.0软件的主要设计特征 99
3.4 Quartus Ⅱ 5.0软件的设计操作 101
3.4.2 创建工程 104
3.4.1 设计输入 104
3.4.3 建立图形设计文件 106
3.4.4 建立文本编辑文件 121
3.4.5 建立存储器编辑文件 123
3.5 Quartus Ⅱ 5.0设计项目的编译 127
3.5.1 设计综合 127
3.5.2 编译器窗口 128
3.5.3 编译器选项设置 131
3.5.4 引脚分配 137
3.5.5 启动编译器 140
3.5.6 查看适配结果 142
3.6.1 创建一个仿真波形文件 146
3.6 Quartus Ⅱ 5.0设计项目的仿真验证 146
3.6.2 设计仿真 150
3.6.3 仿真结果分析 151
3.7 时序分析 153
3.7.1 时序分析基本参数 153
3.7.2 指定时序要求 154
3.7.3 完成时序分析 158
3.7.4 查看时序分析结果 158
3.8 器件编程 159
3.8.1 完成器件编程 160
3.8.2 编程硬件驱动安装 163
习题 164
4.1.1 VHDL语言数据对象及其分类 166
第4章 VHDL语言程序设计 166
4.1 VHDL语言语法基础 166
4.1.2 VHDL语言数据类型 170
4.1.3 VHDL语言运算操作符 177
4.2 VHDL语言的基本结构 182
4.2.1 VHDL语言基本结构及语法规则 182
4.2.2 VHDL构造体描述 185
4.2.3 进程(process)语句结构描述 187
4.2.4 子程序语句的结构描述 189
4.2.5 库、程序包及配置 198
4.3 VHDL语言顺序语句 208
4.3.1 赋值语句 208
4.3.2 条件语句 209
4.3.3 case语句 212
4.3.4 loop语句 224
4.3.5 next语句 227
4.3.6 exit语句 228
4.3.7 wait语句 229
4.3.8 顺序语句中子程序调用语句 232
4.3.9 返回(return)语句 233
4.3.10 空操作(null)语句 234
4.4 VHDL并行语句 234
4.4.1 条件信号代入语句 235
4.4.2 选择信号代入语句 236
4.4.3 元件例化语句 238
4.4.4 并行赋值语句(即信号代入语句) 240
4.4.5 生成语句 240
习题 242
第3部分 设计应用篇 247
第5章 数字系统设计与实现 247
5.1 模为60的计数器设计与实现 247
5.1.1 建立图形文件 247
5.1.2 项目编译 248
5.1.3 项目仿真 249
5.2.1 文本编辑法设计模为24的计数电路 250
5.2 时钟电路的设计与实现 250
5.2.2 建立顶层clock文件与时钟电路设计 252
5.3 状态机电路设计与实现 254
5.3.1 有限状态机的编码规则 254
5.3.2 有限状态机的设计 254
5.3.3 有限状态机的VHDL设计 255
5.4 半整数分频器的设计 257
5.4.1 小数分频的基本原理 258
5.4.2 电路组成 258
5.4.3 半整数分频器设计 258
5.5 UART数据接收发送电路设计与实现 261
5.5.1 波特率的设定 261
5.5.3 数据接收 262
5.5.2 数据发送 262
5.5.4 UART程序设计 263
5.6 CPLD在人机接口中的设计与实现 271
5.6.1 接口电路分析与设计 271
5.6.2 接口电路的部分软件设计 273
5.7 并行8255接口电路设计与实现 277
5.7.1 并行8255接口电路结构分析 277
5.7.2 接口电路VHDL实际编程 278
习题 312
6.1 引言 316
6.2 EAB单元的使用 316
第6章 提高电路设计效率的常用方法 316
6.2.1 EAB单元结构分析 317
6.2.2 EAB设计应用 319
6.3 芯片速度的优化 321
6.3.1 修改低层布局 321
6.3.2 合理使用CPLD资源 321
6.3.3 通过软件配置提高系统速度 323
6.4 使用LPM宏单元库 325
6.5 提高设计效率的综合应用 327
6.5.1 编程过程语法设计效率的提高 327
6.5.2 编程过程中数据类型应用与端口定义 331
习题 333
7.1 ByteBlaster配置 334
7.1.1 原理与功能描述 334
第7章 FPGA/CPLD器件的配置 334
7.1.2 PS模式 337
7.1.3 JTAG模式 338
7.1.4 软件编程和配置步骤 341
7.2 ByteBlasterMV并口下载电缆 345
7.2.1 原理与功能描述 345
7.2.2 软件编程和配置步骤 348
7.3 MasterBlaster串行/USB通信电缆 348
7.3.1 特点 348
7.3.2 功能描述 349
7.3.3 PS模式 351
7.3.4 JTAG模式 352
7.4.2 功能描述 355
7.4 BitBlaster串行下载电缆 355
7.4.1 特点 355
7.5 MCU的快速配置 357
7.5.1 概述 357
7.5.2 硬件设计 358
7.5.3 软件设计 360
习题 363
第8章 综合设计与功能实现 364
8.1 PLD/FPGA系统板的抗干扰设计 364
8.1.1 电源与地信号线的设计分配 364
8.1.2 系统设计元器件的选择 365
8.2.1 电路毛刺的产生与分析 366
8.2 电路中毛刺现象的产生及消除 366
8.2.2 电路毛刺信号的处理与消除 367
8.3 系统功能下载/配置电路的焊接调试与功能实现 369
8.3.1 系统功能下载/配置电路设计任务 369
8.3.2 系统功能下载/配置电路的焊接与调试 370
习题 375
第9章 电子设计与竞赛指导 376
9.1 电子电路设计方案的选择 376
9.1.1 试题分析 376
9.1.2 方案选择 377
9.2 历届电子设计竞赛题分析 378
9.2.1 历届电子设计竞赛题目 378
9.2.2 竞赛题目归类 379
9.3 典型竞赛题目设计 381
9.3.1 自动往返电动小汽车设计 381
9.3.2 系统整体方案的论证 382
9.3.3 单元电路的方案论证和设计 382
9.3.4 理论计算 385
9.3.5 测试与数据 385
9.3.6 结果分析 385
9.4 竞赛论文撰写 386
9.4.1 设计报告的评分标准 386
9.4.2 设计报告的格式、内容及注意事项 386
习题 388
参考文献 390