内容简介
《Altera FPGA/CPLD设计(基础篇)(第2版)》结合作者多年工作经验,系统地介绍了fpga/cpld的基本设计方法。在介绍fpga/cpld概念的基础上,介绍了altera主流fpga/cpld的结构与特点,并通过丰富的实例讲解quartus ii与modelsim、synplify pro等常用eda工具的开发流程。
《Altera FPGA/CPLD设计(基础篇)(第2版)》附带光盘中收录了altera quartus ii web版软件,读者可以安装使用,同时还收录了本书所有实例的完整工程文件、源代码和使用说明文件,便于读者边学边练,提高实际应用能力。
《Altera FPGA/CPLD设计(基础篇)(第2版)》可作为高等院校通信工程、电子工程、计算机、微电子与半导体等专业的教材,也可作为硬件工程师和ic工程师的实用工具书。
作者简介
EDA先锋工作室等编著的《Altera FPGACPLD设计》结合作者多年工作经验,系统地介绍了FPGA/CPLD的基本设计方法。在介绍FPGA/CPLD概念的基础上,介绍了Altera主流FPGA/CPLD的结构与特点,并通过丰富的实例讲解Quartus II与ModelSim、Synplify Pro等常用EDA工具的开发流程。
本书附带光盘中收录了Altera Quartus II Web版软件,读者可以安装使用,同时还收录了本书所有实例的完整工程文件、源代码和使用说明文件,便于读者边学边练,提高实际应用能力。
《Altera FPGACPLD设计》可作为高等院校通信工程、电子工程、计算机、微电子与半导体等专业的教材,也可?为硬件工程师和IC工程师的实用工具书。
内页插图
目录
第1章 fpga/cpld简介
1.1 可编程逻辑设计技术简介
1.1.1 可编程逻辑器件发展简史
1.1.2 可编程逻辑器件分类
1.2 fpga/cpld的基本结构
1.2.1 fpga的基本结构
1.2.2 cpld的基本结构
1.2.3 fpga和cpld的比较
1.3 fpga/cpld的设计流程
1.4 fpga/cpld的常用开发工具
1.5 下一代可编程逻辑设计技术展望
1.5.1 下一代可编程逻辑器件硬件上的四大发展趋势
1.5.2 下一代eda软件设计方法发展趋势
1.6 小结
1.7 问题与思考
第2章 altera fpga/cpld的结构
2.1 altera高密度fpga
2.1.1 主流高端fpga——stratix iv e/gx/gt
2.1.2 内嵌10gbit/s高速串行收发器的fpga——stratix iv gt
2.1.3 内嵌高速串行收发器的中端fpga——arriaii gx
2.2 altera低成本fpga
2.3 altera的cpld器件
2.4 小结
2.5 问题与思考
第3章 altera quartus ii开发流程
3.1 quartus ii软件综述
3.1.1 quartus ii软件的特点及支持的器件
3.1.2 quartus ii软件的工具及功能简介
3.1.3 quartus ii软件的用户界面
3.2 设计输入
3.2.1 设计输入方式
3.2.2 设计规划
3.2.3 设计输入文件实例
3.2.4 设计约束
3.3 综合
3.3.1 使用quartus ii软件集成综合
3.3.2 控制综合
3.3.3 综合实例
3.3.4 第三方综合工具
3.4 布局布线
3.4.1 设置布局布线参数
3.4.2 布局布线实例
3.4.3 增量布局布线
3.4.4 反标保留分配
3.5 仿真
3.5.1 指定仿真器设置
3.5.2 建立矢量源文件
3.5.3 仿真实例
3.5.4 第三方仿真工具
3.6 编程与配置
3.6.1 建立编程文件
3.6.2 器件编程和配置
3.7 小结
3.8 问题与思考
第4章 altera的ip工具
4.1 ip的概念和altera的ip
4.1.1 ip的概念
4.1.2 altera可提供的ip
4.1.3 altera ip在设计中的作用
4.2 使用altera的基本宏功能
4.2.1 定制基本宏功能
4.2.2 实现基本宏功能
4.2.3 设计实例
4.3 使用altera的ip核
4.3.1 定制ip核
4.3.2 实现ip核
4.3.3 设计实例
4.4 小结
4.5 问题与思考
第5章 quartus ii的常用辅助设计工具
5.1 i/o分配验证
5.1.1 i/o分配验证功能简介
5.1.2 i/o分配验证流程
5.1.3 用于i/o分配验证的输入
5.1.4 运行i/o分配验证
5.2 功率分析
5.2.1 excel-based功率计算器
5.2.2 simulation-based功率估算
5.3 rtl阅读器
5.3.1 rtl阅读器简介
5.3.2 rtl阅读器用户界面
5.3.3 原理图的分页和模块层次的切换
5.3.4 过滤原理图
5.3.5 将原理图中的节点定位到源设计文件
5.3.6 在原理图中查找节点或网线
5.3.7 使用rtl阅读器分析设计中的问题
5.4 signalprobe及signaltap ii逻辑分析器
5.4.1 signalprobe
5.4.2 signaltap ii逻辑分析器
5.5 时序收敛平面布局规划器(timing closure floorplan)
5.5.1 使用timing closure floorplan分析设计
5.5.2 使用timing closure floorplan优化设计
5.6 chip editor底层编辑器
5.6.1 chip editor功能简介
5.6.2 使用chip editor的设计流程
5.6.3 chip editor视图
5.6.4 资源特性编辑器
5.6.5 chip editor的一般应用
5.7 工程更改管理(eco)
5.7.1 eco简介
5.7.2 eco的应用范围
5.7.3 eco的操作流程
5.7.4 使用change manager查看和管理更改
5.7.5 eco验证
5.8 小结
5.9 问题与思考
第6章 编程与配置
6.1 配置altera fpga
6.1.1 配置方式
6.1.2 主动串行(as)
6.1.3 被动串行(ps)
6.1.4 快速被动并行(fpp)
6.1.5 被动并行异步(ppa)
6.1.6 jtag配置方式
6.1.7 byteblaster ii下载电缆
6.1.8 配置芯片
6.2 配置文件和软件支持
6.2.1 软件支持
6.2.2 配置文件
6.3 单板设计及调试注意事项
6.3.1 配置的可靠性
6.3.2 单板设计要点
6.3.3 调试建议
6.4 小结
6.5 问题与思考
第7章 第三方eda工具
7.1 第三方eda工具综述
7.1.1 nativelink与wysiwyg
7.1.2 3种eda工具的使用流程
7.1.3 quartus ii支持的第三方工具
7.2 仿真的概念与modelsim仿真工具
7.2.1 仿真简介
7.2.2 仿真的切入点
7.2.3 modelsim仿真工具的不同版本
7.2.4 modelsim的图形用户界面
7.2.5 modelsim的基本仿真步骤
7.2.6 使用modelsim进行功能仿真
7.2.7 使用modelsim进行时序仿真
7.2.8 modelsim仿真工具高级应用
7.3 综合的概念与synplify/synplify pro综合工具
7.3.1 synplify/synplify pro的功能与特点
7.3.2 synplify pro的用户界面
7.3.3 synplify pro综合流程
7.3.4 synplify pro的其他综合技巧
7.4 小结
7.5 问题与思考
前言/序言
Altera FPGA/CPLD 设计(基础篇)(第 2 版) 深入探索数字逻辑设计的强大平台 本书旨在为读者提供一套全面而深入的 Altera FPGA (Field-Programmable Gate Array) 和 CPLD (Complex Programmable Logic Device) 设计入门知识。通过理论讲解与实践操作相结合的方式,本书将带领您一步步掌握使用 Altera 器件进行数字逻辑设计的核心技术和方法,为日后进行更复杂的项目设计奠定坚实的基础。 为什么选择 Altera FPGA/CPLD? FPGA 和 CPLD 是现代数字电路设计中不可或缺的重要组成部分。它们提供了高度的灵活性和可编程性,使得工程师能够以极高的效率实现复杂的数字功能。与传统的 ASIC (Application-Specific Integrated Circuit) 设计相比,FPGA/CPLD 的优势在于其快速的原型开发能力、较低的研发成本以及易于修改和更新的特性。Altera (现为 Intel FPGA) 作为业界领先的半导体公司,其 FPGA 和 CPLD 器件凭借卓越的性能、丰富的功能和成熟的开发工具,赢得了全球众多工程师的青睐。 本书内容概览: 本书共分为 XX 章,内容涵盖了从基础概念到实际设计的各个环节,力求让读者全面理解 Altera FPGA/CPLD 的设计流程和技术要点。 第一部分:FPGA/CPLD 基础理论与 Altera 器件概览 第一章:数字逻辑设计基础回顾 我们首先将简要回顾数字逻辑设计的核心概念,包括二进制、逻辑门、布尔代数、卡诺图化简等,帮助读者巩固基础知识。 深入讲解组合逻辑和时序逻辑电路的设计原理,包括触发器(D 触发器、JK 触发器等)、寄存器、计数器等基本时序电路的构成和工作方式。 介绍有限状态机 (FSM) 的概念,包括 Moore 型和 Mealy 型 FSM 的区别,以及如何设计和实现 FSM,这对于控制复杂系统至关重要。 重点: 强调不同逻辑电路之间的关系,以及如何从功能需求映射到具体的逻辑门电路。 第二章:FPGA 与 CPLD 技术解析 详细阐述 FPGA 和 CPLD 的内部结构和工作原理。我们将分析它们与传统 PLD (Programmable Logic Device) 的区别,以及各自的优势和适用场景。 深入剖析 FPGA 的核心组成部分,如查找表 (LUT)、触发器、可编程互连矩阵 (PIC) 等,理解它们如何实现逻辑功能的配置。 讲解 CPLD 的内部结构,例如宏单元 (Macrocell)、乘积项阵列 (Product Term Array) 等,理解其与 FPGA 在架构上的差异。 重点: 帮助读者区分 FPGA 和 CPLD 的技术特性,并了解何时选择哪种类型的器件。 第三章:Altera FPGA/CPLD 器件家族介绍 本书将重点介绍 Altera (Intel FPGA) 的主流 FPGA 和 CPLD 器件系列,例如 MAX 系列 CPLD、Cyclone 系列 FPGA、Arria 系列 FPGA 以及 Stratix 系列 FPGA。 分析不同器件系列在性能、功耗、集成度、成本等方面的特点,以及它们各自的目标应用领域。 介绍 Altera 器件的关键技术特性,如嵌入式处理器 (NIOS II)、DSP 模块、高性能收发器 (SerDes) 等。 重点: 为读者提供选择合适 Altera 器件的指导,使其能够根据项目需求进行器件选型。 第二部分:Altera FPGA/CPLD 设计流程与开发工具 第四章:Altera Quartus Prime 开发套件详解 Quartus Prime 是 Altera (Intel FPGA) 提供的官方集成开发环境 (IDE),本书将对其进行详细介绍。 学习 Quartus Prime 的安装、基本界面布局、工程创建与管理。 掌握 Quartus Prime 中各个关键模块的功能,包括逻辑编辑器、代码编辑器、仿真工具、综合工具、布局布线工具、时序分析工具等。 重点: 熟悉 Quartus Prime 的操作流程,为后续的设计实践打下基础。 第五章:HDL (硬件描述语言) 设计基础 硬件描述语言 (HDL) 是使用 FPGA/CPLD 实现数字逻辑设计的标准方法。本书将重点讲解 Verilog HDL。 Verilog HDL 的基本语法、数据类型、运算符、语句结构(如 `assign`, `always`, `if-else`, `case` 等)。 学习如何使用 Verilog HDL 描述组合逻辑电路和时序逻辑电路。 介绍模块的实例化、端口连接等概念。 重点: 通过大量实例,帮助读者掌握使用 Verilog HDL 进行有效的设计。 第六章:使用 Altera Quartus Prime 进行项目设计 本章将结合实际案例,带领读者一步步完成一个完整的 Altera FPGA/CPLD 设计流程。 从需求分析到 HDL 编码: 如何将设计需求转化为 HDL 代码。 综合 (Synthesis): 理解综合的过程,将 HDL 代码映射到 FPGA/CPLD 的逻辑单元。 仿真 (Simulation): 使用 Testbench 对设计的正确性进行验证,这是不可或缺的步骤。 布局与布线 (Place & Route): 将逻辑单元映射到 FPGA/CPLD 的物理资源,并进行连接。 时序分析 (Timing Analysis): 检查设计的时序性能,确保其满足系统要求。 下载与调试: 将设计文件下载到 Altera FPGA/CPLD 器件,并进行实际调试。 重点: 贯穿整个设计流程,让读者理解每个环节的作用和重要性。 第三部分:FPGA/CPLD 设计进阶与实用技巧 第七章:时序约束与优化 深入讲解时序约束的概念,包括时钟定义、输入输出延迟约束、多周期约束等。 学习如何使用 Quartus Prime 的时序分析工具来识别和解决时序问题。 探讨常用的时序优化技巧,例如流水线技术、寄存器复制、逻辑门扇出控制等。 重点: 确保设计能够稳定可靠地在高频下运行。 第八章:IP 核 (Intellectual Property Core) 的使用 IP 核是预先设计好的、可重用的功能模块,可以极大地提高设计效率。 介绍 Altera (Intel FPGA) 提供的丰富 IP 核资源,例如处理器 IP (NIOS II)、存储控制器 IP、通信接口 IP (Ethernet, PCIe) 等。 学习如何在 Quartus Prime 中调用和配置 IP 核,并将其集成到自己的设计中。 重点: 充分利用 IP 核,加速复杂系统的开发。 第九章:片上调试 (On-Chip Debugging) 对于复杂的设计,传统的仿真可能不足以解决所有问题。本章将介绍 Altera 的片上调试技术。 学习使用 SignalTap II Logic Analyzer (或类似工具) 进行在线逻辑分析。 掌握如何设置触发条件,捕获信号波形,以及分析运行时数据,从而快速定位和解决硬件问题。 重点: 提升调试效率,快速找到设计中的隐患。 第十章:FPGA/CPLD 的系统集成与应用案例 本章将通过几个典型的应用案例,展示 Altera FPGA/CPLD 的实际应用。 案例一: 设计一个简单的数字信号处理模块,例如滤波器或 FFT。 案例二: 实现一个简单的通信接口,例如 UART 或 SPI。 案例三: 集成 Altera 的嵌入式处理器NIOS II,构建一个简单的 SoC (System-on-Chip) 系统。 重点: 将所学知识融会贯通,了解 FPGA/CPLD 在实际工程中的强大能力。 附录: 附录 A: Verilog HDL 语言参考 附录 B: 常用 Altera FPGA/CPLD 器件参数表 附录 C: 推荐的参考资料与在线资源 本书的特色: 循序渐进的教学方法: 从基础概念出发,逐步深入,确保读者能够逐步掌握复杂的知识。 丰富的实践环节: 每一章都配有大量的代码示例和设计练习,强调动手实践。 贴近实际工程: 案例选择紧密结合当前主流的应用需求,帮助读者快速将理论知识转化为工程技能。 权威的开发工具: 重点讲解 Altera (Intel FPGA) 官方的 Quartus Prime 开发套件,与业界接轨。 光盘资源支持: 随书附赠的光盘包含了 Quartus Prime 开发软件的试用版或教学版、演示工程、例程代码等,极大地便利了读者的学习和实践。 目标读者: 高等院校电子工程、计算机科学、自动化等专业学生。 初级和中级数字逻辑设计工程师。 希望学习 FPGA/CPLD 设计的硬件爱好者。 从事相关领域的科研人员。 学习本书,您将能够: 深刻理解 FPGA/CPLD 的工作原理和设计理念。 熟练掌握 Altera Quartus Prime 开发套件的使用。 运用 Verilog HDL 进行高效的数字逻辑电路设计。 独立完成 Altera FPGA/CPLD 的设计、仿真、实现和调试过程。 了解并掌握 FPGA/CPLD 设计中的关键优化和调试技巧。 为进一步学习更复杂的 FPGA/CPLD 项目设计打下坚实的基础。 Altera FPGA/CPLD 设计(基础篇)(第 2 版) 是您迈入数字逻辑设计殿堂的理想之选。立即开始您的 Altera FPGA/CPLD 设计之旅吧!