《 Altera FPga/cpld设计(基础篇)》 作者:EDA先锋工作室人民邮电出版社出版日期:2005年7月书号:ISBN 7-115-134995/IP4707 本书介绍了 FPGA/CPLD的基本设计方法。在介绍 FPGA/CPLD概念的基础上,介绍 Altera主流 FPGA/CPLD的结构与特点,实例讲解 Quartus与 Modelsim、 Synplify Pro等常 用EDA工具的开发流程 内容提要 本书结合作者多年工作经验,系统地介绍了 FPGA/CPLD的基本设计方法。在介绍 FPGA/CPLD概念的基础上,介绍了 Altera主流 FPGA/CPLD的结构与特点,并通过丰富的 实例讲解 QuartusⅡ与 ModelSin、 Synplify Pro等常用EDA工具的开发流程 本书附带两张光盘:光盘1中收录了 Altera Quartus ll Web版软件,读者可以安装使用 光盘2中收录了本书所有实例的完整工程、源代码、详细操作步骤和使用说明文件,便于读 者边学边练,提高实际应用能力 本书可作为高等院校通信工程、电子工程、计算机、微电子与半导体等专业的教材,也 可作为硬件工程师和IC工程师的实用工具书。 目录 第1章 FPGA/CPLD简介1 1.1可编程逻辑设计技术简介 1.1.1可编程逻辑器件发展简史1 1.1.2可编程逻辑器件分类2 12 FPGA/CPLD的基本结构3 12.1FPGA的基本结构3 1.22CPLD的基本结构7 1.23FPGA和CPLD的比较9 1.3 FPGA/CPLD的设计流程10 14 FPGA/CPLD的常用开发工具14 1.5下一代可编程逻辑设计技术展望18 1.5.1下一代可编程逻辑器件硬件上的四大发展趋势18 1.52下一代EDA软件设计方法发展趋势24 1.6小结27 1.7问题与思考28 第2章 Altera FPga/cPld的结构29 2.1 Altera高密度FPGA29 2.1.1主流高端FPGA—— Stratix29 2.1.2内嵌高速串行收发器的FPGA— Stratix GX51 2.1.3新一代90nm高端FPGA- Stratix Il55 22 Altera低成本FPGA58 22.1主流低成本FPGA— Cyclone58
《Altera FPGA/CPLD 设计(基础篇)》 作者: EDA 先锋工作室 人民邮电出版社 出版日期:2005 年 7 月 书号:ISBN 7-115-13499-5/TP.4707 本书介绍了 FPGA/CPLD 的基本设计方法。在介绍 FPGA/CPLD 概念的基础上,介绍了 Altera 主流 FPGA/CPLD 的结构与特点,实例讲解 Quartus II 与 ModelSim、Synplify Pro 等常 用 EDA 工具的开发流程 内容提要 本书结合作者多年工作经验,系统地介绍了 FPGA/CPLD 的基本设计方法。在介绍 FPGA/CPLD 概念的基础上,介绍了 Altera 主流 FPGA/CPLD 的结构与特点,并通过丰富的 实例讲解 Quartus II 与 ModelSim、Synplify Pro 等常用 EDA 工具的开发流程。 本书附带两张光盘:光盘 1 中收录了 Altera Quartus II Web 版软件,读者可以安装使用; 光盘 2 中收录了本书所有实例的完整工程、源代码、详细操作步骤和使用说明文件,便于读 者边学边练,提高实际应用能力。 本书可作为高等院校通信工程、电子工程、计算机、微电子与半导体等专业的教材,也 可作为硬件工程师和 IC 工程师的实用工具书。 目 录 第 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
22.2新一代低成本FPGA— Cyclone Il63 23 Altera的CPLD器件68 2.3.1主流的 CPLD-MAX3000A68 23.2CPLD的革命—MAXI170 4小结72 25问题与思考73 第3章 Altera QuartusⅡ开发流程75 3.1 Quartus软件综述75 311 Quartus软件的特点及支持的器件75 3..2 QuartusⅡ软件的工具及功能简介7e 313 Quartus软件的用户界面78 3.2设计输入81 3.2.1设计输入方式83 3.22设计规划84 3.23设计输入文件实例84 3.24设计约束86 3.3综合91 3.3.1使用 Quartus软件集成综合91 3.32控制综合92 333综合实例96 3.34第三方综合工具98 34布局布线98 3.41设置布局布线参数98 342布局布线实例102 34.3增量布局布线103 344反标保留分配103 3.5仿真104 3.5.1指定仿真器设置105 352建立矢量源文件106 3.53仿真实例109 3.54第三方仿真工具112 36编程与配置112 3.6.1建立编程文件112 3.6.2器件编程和配置114 3.7小结116 3.8问题与思考116 第4章 Altera的IP工具117 4.1IP的概念、 Altera的IP117 4.1.1IP的概念117 4.1.2 Altera可提供的IP118 4.1.3 Altera ip在设计中的作用12 42使用 Altera的基本宏功能121
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 42.2实现基本宏功能126 42.3设计实例129 43使用 Altera的IP核132 4.3.1定制IP核132 43.2实现IP核137 4.3.3设计实例137 44小结138 4.5问题与思考139 第5章 QuartusⅡ的常用辅助设计工具141 5.1I/O分配验证141 5.1.1IO分配验证功能简介142 5.12I0O分配验证流程142 51.3用于/O分配验证的输入145 5.14运行lO分配验证146 52功率分析148 521Exce- based功率计算器148 522 Simulation- based功率估算150 53RIL阅读器 531RIL阅读器简介151 532RTL阅读器用户界面152 533原理图的分页和模块层次的切换153 5.34过滤原理图154 5.35将原理图中的节点定位到源设计文件156 5.36在原理图中查找节点或网线156 537使用R∏L阅读器分析设计中的问题157 54 Signal Probe及 Signal TapⅡl逻辑分析器157 5.4.1 SignalProbe 157 54 I Signal Tap逻辑分析器160 5.5时序收敛平面布局规划器( Timing Closure Floorplan)166 5.51使用 Timing Closure Floorplan分析设计167 552使用 Timing Closure Floorplan优化设计173 56 Chip Editor底层编辑器173 561 Chip Editor功能简介173 562使用 Chip editor的设计流程174 563 Chip editor视图1 564资源特性编辑器177 565 Chip Editor的一般应用181 57工程更改管理(ECO181 5.71ECO简介182 572ECO的应用范围182 573ECO的操作流程183 574使用 Change Manager查看和管理更改184
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.5ECO验证185 58小结185 59问题与思考185 第6章编程与配置187 6.1配置 Altera FPga187 6.1.1配置方式187 61.2主动串行(AS)193 6.1.3被动串行(PS)19 614快速被动并行(FPP)198 615被动并行异步(PPA)199 6.1.6JTAG配置方式20 6.1.7 Byte Blaster Il下载电缆202 6.1.8配置芯片204 62配置文件和软件支持204 621软件支持204 622配置文件206 6.3单板设计及调试注意事项209 6.3.1配置的可靠性210 632单板设计要点210 6.3.3调试建议21 64小结213 65问题与思考213 第7章MAX+PLSI过渡到 Quartus Il215 71MAX+PUSI与 Quartus的功能比较215 72转换MAX+PLUSⅡ设计217 7.21改变GUI风格21 722转换MAX+PLUSⅡ工程218 723查看新工程219 724导入MAX+ PLUS II配置文件220 73编辑工程221 73.1修改设计芯片 73.2设置编译选项 74编译224 741运行编译器224 742查看工程结构226 74.3编译报告227 7.5时序分析228 7.5.1时序设置228 752运行时序分析器229 7.53时序分析指定路径230 7.54时序约束布局器23 7.6仿真233
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.62时序仿真234 7.6.3查看仿真报告235 77小结236 7.8问题与思考236 第8章第三方EDA工具237 8.1第三方EDA工具综述237 8.1.1 NativeLink 5 WYSIWYG 237 8123种EDA工具的使用流程238 13 QuartusⅡ支持的第三方工具238 82仿真的概念与 Modelsim仿真工具240 821仿真简介240 8.22仿真的切入点241 823 Modelsim仿真工具的不同版本243 824 ModelSim的图形用户界面243 82.5 ModelSim的基本仿真步骤254 82.6使用 ModelSim进行功能仿真259 827使用 Modelsir进行时序仿真263 2.8 ModelSim仿真工具高级应用265 8.3综合的概念与 Synplify/Synplify Pro综合工具275 83.1 Synplify/ Synplify Pro的功能与特点275 832 Synplify Pro的用户界面28 8.3.3 Synplify Pro综合流程284 834 Synplify Pro的其他综合技巧305 84小结317 85问题与思考317
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