第1章 FPGA/CPLD简介 1
1.1 可编程逻辑设计技术简介 1
1.1.1 可编程逻辑器件发展简史 1
1.1.2 可编程逻辑器件分类 2
1.2 FPGA/CPLD的基本结构 3
1.2.1 FPGA的基本结构 3
1.2.2 CPLD的基本结构 7
1.2.3 FPGA和CPLD的比较 9
1.3 FPGA/CPLD的设计流程 10
1.4 FPGA/CPLD的常用开发工具 14
1.5 下一代可编程逻辑设计技术展望 18
1.5.1 下一代可编程逻辑器件硬件上的四大发展趋势 18
1.5.2 下一代EDA软件设计方法发展趋势 24
1.6 小结 27
1.7 问题与思考 28
第2章 Altera FPGA/CPLD的结构 29
2.1 Altera高密度FPGA 29
2.1.1 主流高端FPGA──Stratix 29
2.1.2 内嵌高速串行收发器的FPGA──Stratix GX 51
2.1.3 新一代90nm高端FPGA──Stratix II 55
2.2 Altera低成本FPGA 58
2.2.1 主流低成本FPGA──Cyclone 58
2.2.2 新一代低成本FPGA──Cyclone II 63
2.3 Altera的CPLD器件 68
2.3.1 主流的CPLD──MAX 3000A 68
2.3.2 CPLD的革命──MAX II 70
2.4 小结 72
2.5 问题与思考 73
第3章 Altera Quartus II开发流程 75
3.1 Quartus II软件综述 75
3.1.1 Quartus II软件的特点及支持的器件 75
3.1.2 Quartus II软件的工具及功能简介 76
3.1.3 Quartus II软件的用户界面 78
3.2 设计输入 81
3.2.1 设计输入方式 83
3.2.2 设计规划 84
3.2.3 设计输入文件实例 84
3.2.4 设计约束 86
3.3 综合 91
3.3.1 使用Quartus II软件集成综合 91
3.3.2 控制综合 92
3.3.3 综合实例 96
3.3.4 第三方综合工具 98
3.4 布局布线 98
3.4.1 设置布局布线参数 98
3.4.2 布局布线实例 102
3.4.3 增量布局布线 103
3.4.4 反标保留分配 103
3.5 仿真 104
3.5.1 指定仿真器设置 105
3.5.2 建立矢量源文件 106
3.5.3 仿真实例 109
3.5.4 第三方仿真工具 112
3.6 编程与配置 112
3.6.1 建立编程文件 112
3.6.2 器件编程和配置 114
3.7 小结 116
3.8 问题与思考 116
第4章 Altera的IP工具 117
4.1 IP的概念、Altera的IP 117
4.1.1 IP的概念 117
4.1.2 Altera可提供的IP 118
4.1.3 Altera IP在设计中的作用 120
4.2 使用Altera的基本宏功能 121
4.2.1 定制基本宏功能 122
4.2.2 实现基本宏功能 126
4.2.3 设计实例 129
4.3 使用Altera的IP核 132
4.3.1 定制IP核 132
4.3.2 实现IP核 137
4.3.3 设计实例 137
4.4 小结 138
4.5 问题与思考 139
第5章 Quartus II的常用辅助设计工具 141
5.1 I/O分配验证 141
5.1.1 I/O分配验证功能简介 142
5.1.2 I/O分配验证流程 142
5.1.3 用于I/O分配验证的输入 145
5.1.4 运行I/O分配验证 146
5.2 功率分析 148
5.2.1 Excel-based功率计算器 148
5.2.2 Simulation-based功率估算 150
5.3 RTL阅读器 151
5.3.1 RTL阅读器简介 151
5.3.2 RTL阅读器用户界面 152
5.3.3 原理图的分页和模块层次的切换 153
5.3.4 过滤原理图 154
5.3.5 将原理图中的节点定位到源设计文件 156
5.3.6 在原理图中查找节点或网线 156
5.3.7 使用RTL阅读器分析设计中的问题 157
5.4 SignalProbe及SignalTap II逻辑分析器 157
5.4.1 SignalProbe 157
5.4.1 SignalTap II逻辑分析器 160
5.5 时序收敛平面布局规划器(Timing Closure Floorplan) 166
5.5.1 使用Timing Closure Floorplan分析设计 167
5.5.2 使用Timing Closure Floorplan优化设计 173
5.6 Chip Editor底层编辑器 173
5.6.1 Chip Editor功能简介 173
5.6.2 使用Chip Editor的设计流程 174
5.6.3 Chip Editor视图 175
5.6.4 资源特性编辑器 177
5.6.5 Chip Editor的一般应用 181
5.7 工程更改管理(ECO) 181
5.7.1 ECO简介 182
5.7.2 ECO的应用范围 182
5.7.3 ECO的操作流程 183
5.7.4 使用Change Manager查看和管理更改 184
5.7.5 ECO验证 185
5.8 小结 185
5.9 问题与思考 185
第6章 编程与配置 187
6.1 配置Altera FPGA 187
6.1.1 配置方式 187
6.1.2 主动串行(AS) 193
6.1.3 被动串行(PS) 196
6.1.4 快速被动并行(FPP) 198
6.1.5 被动并行异步(PPA) 199
6.1.6 JTAG配置方式 201
6.1.7 ByteBlaster II下载电缆 202
6.1.8 配置芯片 204
6.2 配置文件和软件支持 204
6.2.1 软件支持 204
6.2.2 配置文件 206
6.3 单板设计及调试注意事项 209
6.3.1 配置的可靠性 210
6.3.2 单板设计要点 210
6.3.3 调试建议 211
6.4 小结 213
6.5 问题与思考 213
第7章 MAX+PLUS II过渡到Quartus II 215
7.1 MAX+PLUS II与Quartus II的功能比较 215
7.2 转换MAX+PLUS II设计 217
7.2.1 改变GUI风格 217
7.2.2 转换MAX+PLUS II工程 218
7.2.3 查看新工程 219
7.2.4 导入MAX+PLUS II配置文件 220
7.3 编辑工程 221
7.3.1 修改设计芯片 221
7.3.2 设置编译选项 223
7.4 编译 224
7.4.1 运行编译器 224
7.4.2 查看工程结构 226
7.4.3 编译报告 227
7.5 时序分析 228
7.5.1 时序设置 228
7.5.2 运行时序分析器 229
7.5.3 时序分析指定路径 230
7.5.4 时序约束布局器 232
7.6 仿真 233
7.6.1 功能仿真 233
7.6.2 时序仿真 234
7.6.3 查看仿真报告 235
7.7 小结 236
7.8 问题与思考 236
第8章 第三方EDA工具 237
8.1 第三方EDA工具综述 237
8.1.1 NativeLink与WYSIWYG 237
8.1.2 3种EDA工具的使用流程 238
8.1.3 Quartus II支持的第三方工具 238
8.2 仿真的概念与ModelSim仿真工具 240
8.2.1 仿真简介 240
8.2.2 仿真的切入点 241
8.2.3 ModelSim仿真工具的不同版本 243
8.2.4 ModelSim的图形用户界面 243
8.2.5 ModelSim的基本仿真步骤 254
8.2.6 使用ModelSim进行功能仿真 259
8.2.7 使用ModelSim进行时序仿真 263
8.2.8 ModelSim仿真工具高级应用 265
8.3 综合的概念与Synplify/Synplify Pro综合工具 275
8.3.1 Synplify/Synplify Pro的功能与特点 275
8.3.2 Synplify Pro的用户界面 281
8.3.3 Synplify Pro综合流程 284
8.3.4 Synplify Pro的其他综合技巧 305
8.4 小结 317
8.5 问题与思考 317