第1章 FPGA/CPLD简介 1
1.1 可编程逻辑设计技术简介 1
1.1.1 可编程逻辑器件发展简史 1
1.1.2 可编程逻辑器件分类 2
1.2 FPGA带来的优势 2
1.3 FPGA/CPLD的基本结构 3
1.3.1 FPGA的基本结构 3
1.3.2 CPLD的基本结构 7
1.3.3 FPGA和CPLD的比较 9
1.4 FPGA/CPLD的设计流程 10
1.5 FPGA/CPLD的常用开发工具 14
1.6 下一代可编程逻辑设计技术展望 18
1.6.1 下一代可编程逻辑器件硬件上的四大发展趋势 18
1.6.2 下一代EDA软件设计方法发展趋势 23
1.7 小结 27
1.8 问题与思考 27
第2章 Altera FPGA/CPLD的结构 28
2.1 Altera高密度FPGA 28
2.1.1 主流高端FPGA——Stratix V E/GX/GT/GS 28
2.1.2 内嵌10Gbit/s高速串行收发器的FPGA——Stratix IV GT 50
2.1.3 内嵌高速串行收发器的中端FPGA——ArriaII GX 53
2.2 Altera低成本FPGA 53
2.3 Altera的CPLD器件 59
2.4 小结 62
2.5 问题与思考 62
第3章 Altera Quartus Ⅱ开发流程 63
3.1 Quartus Ⅱ软件综述 63
3.1.1 Quartus Ⅱ软件的功能 63
3.1.2 Quartus Ⅱ软件的用户界面 65
3.2 设计输入 68
3.2.1 设计输入方式 70
3.2.2 设计规划 71
3.2.3 设计输入文件实例 71
3.2.4 设计约束 73
3.3 综合 79
3.3.1 使用Quartus II软件集成综合 79
3.3.2 控制综合 79
3.3.3 综合实例 84
3.3.4 第三方综合工具 85
3.4 布局布线 86
3.4.1 设置布局布线参数 86
3.4.2 布局布线实例 90
3.4.3 增量布局布线 91
3.4.4 反标保留分配 91
3.5 仿真 92
3.5.1 建立矢量源文件 92
3.5.2 仿真实例 95
3.6 编程与配置 96
3.6.1 建立编程文件 96
3.6.2 器件编程和配置 98
3.7 案例分析:滤波器的设计 100
3.7.1 第1个滤波器 100
3.7.2 第2个滤波器:插入流水 103
3.7.3 第3个滤波器:对称结构 105
3.7.4 第4个滤波器:脉动滤波器(Systolic Filter) 106
3.7.5 第5个滤波器:对称反向结构脉动滤波器 107
3.7.6 案例总结 109
3.8 小结 109
3.9 问题与思考 109
第4章 Altera的IP工具 110
4.1 IP的概念和Altera的IP 110
4.1.1 IP的概念 110
4.1.2 Altera可提供的IP 111
4.1.3 Altera IP在设计中的作用 113
4.2 使用 Altera的基本宏功能 114
4.2.1 定制基本宏功能 115
4.2.2 实现基本宏功能 119
4.2.3 设计实例 122
4.3 使用Altera的IP核 125
4.3.1 定制IP核 125
4.3.2 实现IP核 129
4.3.3 设计实例 130
4.4 小结 131
4.5 问题与思考 131
第5章 Quartus Ⅱ的常用辅助设计工具 132
5.1 I/O分配验证 132
5.1.1 I/O分配验证功能简介 133
5.1.2 I/O分配验证流程 133
5.1.3 用于I/O分配验证的输入 136
5.1.4 运行I/O分配验证 137
5.2 功率分析 139
5.2.1 Excel-based功率计算器 139
5.2.2 Simulation-based功率估算 141
5.3 RTL阅读器 142
5.3.1 RTL阅读器简介 142
5.3.2 RTL阅读器用户界面 143
5.3.3 原理图的分页和模块层次的切换 144
5.3.4 过滤原理图 145
5.3.5 将原理图中的节点定位到源设计文件 147
5.3.6 在原理图中查找节点或网线 147
5.3.7 使用RTL阅读器分析设计中的问题 148
5.4 SignalProbe及SignalTap Ⅱ逻辑分析器 148
5.4.1 SignalProbe 148
5.4.2 SignalTap Ⅱ 151
5.5 时序收敛平面布局规划器(Timing Closure Floorplan) 157
5.5.1 使用Timing Closure Floorplan分析设计 158
5.5.2 使用Timing Closure Floorplan优化设计 164
5.6 Chip Editor底层编辑器 164
5.6.1 Chip Editor功能简介 164
5.6.2 使用Chip Editor的设计流程 165
5.6.3 Chip Editor视图 166
5.6.4 资源特性编辑器 168
5.6.5 Chip Editor的一般应用 172
5.7 工程更改管理(ECO) 172
5.7.1 ECO简介 173
5.7.2 ECO的应用范围 173
5.7.3 ECO的操作流程 174
5.7.4 使用Change Manager查看和管理更改 175
5.7.5 ECO验证 176
5.8 小结 176
5.9 问题与思考 176
第6章 编程与配置 177
6.1 配置Altera FPGA 177
6.1.1 配置方式 177
6.1.2 主动串行(AS) 183
6.1.3 被动串行(PS) 186
6.1.4 快速被动并行(FPP) 188
6.1.5 被动并行异步(PPA) 189
6.1.6 JTAG配置方式 191
6.1.7 ByteBlaster Ⅱ下载电缆 192
6.1.8 配置芯片 194
6.2 配置文件和软件支持 194
6.2.1 软件支持 194
6.2.2 配置文件 196
6.3 单板设计及调试注意事项 199
6.3.1 配置的可靠性 200
6.3.2 单板设计要点 200
6.3.3 调试建议 201
6.4 小结 203
6.5 问题与思考 203
第7章 第三方EDA工具 204
7.1 第三方EDA工具综述 204
7.1.1 NativeLink与WYSIWYG 204
7.1.2 3种EDA工具的使用流程 205
7.1.3 Quartus Ⅱ支持的第三方工具 205
7.2 仿真的概念与ModelSim仿真工具 207
7.2.1 仿真简介 207
7.2.2 仿真的切入点 208
7.2.3 ModelSim仿真工具的不同版本 210
7.2.4 ModelSim的图形用户界面 210
7.2.5 ModelSim的基本仿真步骤 221
7.2.6 使用ModelSim进行功能仿真 226
7.2.7 使用ModelSim进行时序仿真 230
7.2.8 ModelSim仿真工具高级应用 232
7.3 综合的概念与Synplify/Synplify Pro综合工具 242
7.3.1 Synplify/Synplify Pro的功能与特点 242
7.3.2 Synplify Pro的用户界面 248
7.3.3 Synplify Pro综合流程 251
7.3.4 Synplify Pro的其他综合技巧 272
7.4 小结 284
7.5 问题与思考 284