CPLD是最新型的可编程逻辑器件,几乎可适用于所有的门阵列和各种规模的数字集成电路,它的诸多特点使其特别适合于产品的样品开发与小批量生产。本书正是以全球最大的可编程逻辑器件供应商——Altera公司的MAX+PLUS II为工具,详尽地剖析了其FLEX 10K等系列的结构,功能及开发应用。在基础篇中,通过一个完整的实例介绍,以使读者能够尽快了解MAX+PLUS II的软件安装、设计输入、项目编译、优化以及硬件编程在线调试等功能,并且能够开发出相对简单的产品。在提高篇中,如电子电路设计过程中出现的许多问题,例如:如何提高设计效率,如何提高系统设计速度等作了更深入的探讨。同的,本书还对Altera硬件描述语言AHDL的基本构造以及如何在设计中应用AHDL编制出精练的程序都作了大量的实例介绍,以期帮助电子设计人员从繁琐的传统电路设计、调试中解脱出来。\r\n\r\n 本书结合众多的工程设计实例,由浅入深,改变了以往电路设计类书籍与实际脱节的现象。大量的图例说明,使得本书不仅适合于有一定基础的电子工程设计人员,而且也适合于相关专业大学生阅读使用,对于初学者更有极大的帮助。\r\n\r\n\r\n
\r\n
第一部分 基础篇 \r\n\r\n 第1章 PLD概述 \r\n\r\n 1. 1 可编程逻辑器件的发展历程 \r\n\r\n 1. 2 ASIC. FPGA/CPLD技术 \r\n\r\n 1. 2. 1 ASIC CAD技术 \r\n\r\n 1. 2. 2 FPGA/CPLD CAD技术 \r\n\r\n 1. 2. 3 ASIC与FPGA/CPLD进行电路设计的一般流程 \r\n\r\n 1. 3 PLD厂商及产品介绍 \r\n\r\n 1. 3. 1 Xilinx公司及其产品简介 \r\n\r\n 1. 3. 2 Altera公司的 CPLD \r\n\r\n 第2章 Altera产品概述 \r\n\r\n 2. 1 可编程逻辑与ASIC \r\n\r\n 2. 2 Altera PLD的优点 \r\n\r\n 2. 2. 1 高性能 \r\n\r\n 2. 2. 2 高集成度 \r\n\r\n 2. 2. 3 价格合理 \r\n\r\n 2. 2. 4 使用MAX+PLUS II软件开发周期较短 \r\n\r\n 2. 2. 5 Altera器件的优化宏函数 \r\n\r\n 2. 3 Altera的系列产品 \r\n\r\n 2. 3. 1 FLEX10K系列 \r\n\r\n 2. 3. 2 FLEX8000系列 \r\n\r\n 2. 3. 3 FLEX6000系列 \r\n\r\n 2. 3. 4 MAX 9000系列 \r\n\r\n 2. 3. 5 MAX 7000系列 \r\n\r\n 2. 3. 6 MAX 5000系列 \r\n\r\n 2. 3. 7 Classic系列 \r\n\r\n 2. 4 MAX+PLUS II开发工具 \r\n\r\n 2. 4. 1 MAX+PLUS II设计流图 \r\n\r\n 2. 4. 2 使用各种平台和其它EDA工具 \r\n\r\n 2. 5 结论 \r\n\r\n 第3章 FLEX 10K系列器件的技术规范 \r\n\r\n 3. 1 概述 \r\n\r\n 3. 2 特点 \r\n\r\n 3. 3 功能描述 \r\n\r\n 3. 3. 1 FLEX 10K的 EAB \r\n\r\n 3. 3. 2 逻辑单元(LE) \r\n\r\n 3. 3. 3 逻辑阵列块(LAB) \r\n\r\n 3. 3. 4 FastTrack连接 \r\n\r\n 3. 3. 5 I/O单元(IOE) \r\n\r\n 3. 3. 6 时钟锁定和时钟自举 \r\n\r\n 3. 3. 7 输出配置 \r\n\r\n 3. 3. 8 JTAG边界扫描 \r\n\r\n 3. 3. 9 一般性测试 \r\n\r\n 3. 3. 10 定时模型 \r\n\r\n 3. 4 FLEX 10KE系列器件简介 \r\n\r\n 3. 5 器件输出引脚 \r\n\r\n 第4章 FLEX 6000系列器件简介 \r\n\r\n 4. 1 OptiFLEX结构 \r\n\r\n 4. 2 特点 \r\n\r\n 4. 3 概述 \r\n\r\n 4. 4 功能描述 \r\n\r\n 4. 4. 1 逻辑阵列块(LAB) \r\n\r\n 4. 4. 2 逻辑单元(LE) \r\n\r\n 4. 4. 3 FastTrack连接 \r\n\r\n 4. 4. 4 I/O单元(IOE) \r\n\r\n 4. 5 输出配置 \r\n\r\n 4. 5. 1 摆率控制 \r\n\r\n 4. 5. 2 多电压 I/O接口 \r\n\r\n 4. 6 JTAG边界扫描 \r\n\r\n 4. 7 定时模型 \r\n\r\n 第5章 MAX 7000系列器件可编程逻辑的技术规范 \r\n\r\n 5. 1 MAX 7000系列器件的结构和性能 \r\n\r\n 5. 1. 1 特点 \r\n\r\n 5. 1. 2 概述 \r\n\r\n 5. 1. 3 功能描述 \r\n\r\n 5. 1. 4 在线编程 \r\n\r\n 5. 1. 5 可编程速度/功率控制 \r\n\r\n 5. 1. 6 输出配置 \r\n\r\n 5. 1. 7 器件编程 \r\n\r\n 5. 1. 8 JTAG边界扫描 \r\n\r\n 5. 1. 9 设计加密 \r\n\r\n 5. 1. 10 一般性测试 \r\n\r\n 5. 1. 11 QFP运载架和开发插座 \r\n\r\n 5. 2 MAX 7000A可编程逻辑器件 \r\n\r\n 5. 2. 1 特点 \r\n\r\n 5. 2. 2 概述 \r\n\r\n 5. 2. 3 功能描述 \r\n\r\n 5. 2. 4 在线编程 \r\n\r\n 5. 2. 5 可编程速度/功率控制 \r\n\r\n 5. 2. 6 输出配宜 \r\n\r\n 5. 2. 7 器件编程 \r\n\r\n 5. 2. 8 JTAG边界扫描 \r\n\r\n 5. 2. 9 设计加密 \r\n\r\n 5. 2. 10 一般性测试 \r\n\r\n 5. 3 定时模型 \r\n\r\n 5. 4 MAX 7000系列器件的引脚输出 \r\n\r\n 第6章 Altera器件的边界扫描测试 \r\n\r\n 6. 1 引言 \r\n\r\n 6. 2 IEEE 1149. 1 BST的结构 \r\n\r\n 6. 3 边界扫描寄存器 \r\n\r\n 6. 3. 1 I/O引脚 \r\n\r\n 6. 3. 2 专用输入 \r\n\r\n 6. 3. 3 专用时钟引脚(仅适用于 FLEX 10K) \r\n\r\n 6. 3. 4 专用配置引脚(全部FLEX器件) \r\n\r\n 6. 4 JTAG BST操作控制 \r\n\r\n 6. 5 JTAG BST电路的使能 \r\n\r\n 6. 6 JTAG边界扫描测试原则 \r\n\r\n 6. 7 边界扫描描述语言(BSDL) \r\n\r\n 6. 8 结束语 \r\n\r\n 第7章 MAX+PLUS II入门 \r\n\r\n 7. 1 概述 \r\n\r\n 7. 2 MAX+PLUS II的安装 \r\n\r\n 7. 2. 1 推荐的系统配置 \r\n\r\n 7. 2. 2 MAX+PLUS II的安装 \r\n\r\n 7. 3 MAX+PLUS II的设计过程 \r\n\r\n 7. 3. 1 设计输入 \r\n\r\n 7. 3. 2 设计处理 \r\n\r\n 7. 3. 3 设计校验 \r\n\r\n 7. 3. 4 器件编程 \r\n\r\n 7. 3. 5 联机求助 \r\n\r\n 7. 3. 6 软件维护协议 \r\n\r\n 7. 3. 7 MAX+PLUS至软件的流程 \r\n\r\n 7. 4 逻辑设计的输入方法 \r\n\r\n 7. 4. 1 建立一个图形设计文件 \r\n\r\n 7. 4. 2 文本设计输入方法 \r\n\r\n 7. 4. 3 创建顶层图形设计文件 \r\n\r\n 7. 4. 4 层次显示 \r\n\r\n 7. 5 设计项目的编译 \r\n\r\n 7. 5. 1 打开编译器窗口准备编译 \r\n\r\n 7. 5. 2 编译器的选项设置 \r\n\r\n 7. 5. 3 运行编辑器 \r\n\r\n 7. 5. 4 在底层图编辑器中观察试配结果 \r\n\r\n 7. 5. 5 引脚锁定 \r\n\r\n 7. 6 设计项目的模拟仿真 \r\n\r\n 7. 7 定时分析 \r\n\r\n 7. 8 器件编程 \r\n\r\n 第二部分 提高篇 \r\n\r\n 第8章 几种提高电路设计效率的方法 \r\n\r\n 8. 1 使用LPM宏单元库 \r\n\r\n 8. 2 使用硬件描述语言VHDL/AHDL \r\n\r\n 8. 3 使用EAB单元 \r\n\r\n 8. 3. 1 引言 \r\n\r\n 8. 3. 2 EAB内部结构 \r\n\r\n 8. 3. 3 EAB单元的灵活性 \r\n\r\n 8. 3. 4 EAB应用实例 \r\n\r\n 8. 4 综合使用上述三种方法 \r\n\r\n 第9章 提高系统运行速度的方法 \r\n\r\n 9. 1 序言 \r\n\r\n 9. 2 修改电路以提高系统速度 \r\n\r\n 9. 2. 1 直接修改电路 \r\n\r\n 9. 2. 2 流水技术的概念及应用 \r\n\r\n 9. 2. 3 修改底层布局 \r\n\r\n 9. 2. 4 合理使用CPLD资源 \r\n\r\n 9. 3 修改软件配置提高系统速度 \r\n\r\n 9. 3. 1 器件选择(Device…) \r\n\r\n 9. 3. 2 局部逻辑分析控制(Logic Option…) \r\n\r\n 9. 3. 3 流水线设置(本项操作并非在Assign菜单下完成) \r\n\r\n 9. 3. 4 打包(Clique…) \r\n\r\n 第10章 MAX+PLUSⅡ仿真原理 \r\n\r\n 10. 1 引言 \r\n\r\n 10. 2 MAX+PLUSⅡ仿真机理 \r\n\r\n 10. 2. 1 功能仿真 \r\n\r\n 10. 2. 2 时序仿真 \r\n\r\n 10. 3 仿真中的节点 \r\n\r\n 10. 3. 1 供仿真用的节点与组 \r\n\r\n 10. 3. 2 标识节点和组的类型 \r\n\r\n 10. 4 状态机的仿真 \r\n\r\n 10. 5 小结 \r\n\r\n 第11章 硬件描述语言AHDL \r\n\r\n 11. 1 概述 \r\n\r\n 11. 2 AHDL的基本元素 \r\n\r\n 11. 2. 1 保留关键字和保留标识符 \r\n\r\n 11. 2. 2 符号 \r\n\r\n 11. 2. 3 带引号和不带引号的名称 \r\n\r\n 11. 2. 4 组 \r\n\r\n 11. 2. 5 AHDL中的数字 \r\n\r\n 11. 2. 6 布尔表达式 \r\n\r\n 11. 3 AHDL设计的基本结构 \r\n\r\n 11. 3. 1 子设计段 \r\n\r\n 11. 3. 2 逻辑段 \r\n\r\n 11. 3. 3 变量段 \r\n\r\n 11. 3. 4 Constant语句 \r\n\r\n 11. 3. 5 Options语句 \r\n\r\n 11. 3. 6 Include语句 \r\n\r\n 11. 3. 7 Title语句 \r\n\r\n 11. 3. 8 函数原型语句 \r\n\r\n 11. 4 AHDL设计实例 \r\n\r\n 11. 5 设计风格 \r\n\r\n 11. 5. 1 常用的设计风格 \r\n\r\n 11. 5. 2 空白区 \r\n\r\n 11. 5. 3 注释与文档 \r\n\r\n 11. 5. 4 命名习惯 \r\n\r\n 11. 5. 5 AHDL对缩格的建议 \r\n\r\n 11. 5. 6 文件结构 \r\n\r\n 第12章 Altera FLEX 10K系列器件的配置与下载 \r\n\r\n 12. 1 引言 \r\n\r\n 12. 2 配置方式 \r\n\r\n 12. 2. 1 分类 \r\n\r\n 12. 2. 2 配置文件大小 \r\n\r\n 12. 2. 3 配置中将用到的引脚 \r\n\r\n 12. 2. 4 主动串行配置或EPC1配置方式 \r\n\r\n 12. 2. 5 被动串行配置方式 \r\n\r\n 12. 2. 6 被动并行同步(PPS)配置方式 \r\n\r\n 12. 2. 7 被动并行异步(PPA)配置方式 \r\n\r\n 12. 3 并口下载电缆ByteBlaster原理 \r\n\r\n 12. 3. 1 概述 \r\n\r\n 12. 3. 2 ByteBlaster的连接及原理 \r\n\r\n 12. 3. 3 ByteBlaster的工作条件 \r\n\r\n 第13章 工程设计中Altera器件的工作条件和应注意的问题 \r\n\r\n 13. 1 引言 \r\n\r\n 13. 2 工作条件 \r\n\r\n 13. 3 引脚电压 \r\n\r\n 13. 3. 1 引脚连接 \r\n\r\n 13. 3. 2 闭锁 \r\n\r\n 13. 3. 3 带电插拔 \r\n\r\n 13. 3. 4 静电放电 \r\n\r\n 13. 4 输出负载 \r\n\r\n 13. 4. 1 电阻性负载 \r\n\r\n 13. 4. 2 容性负载 \r\n\r\n 13. 5 电源使用 \r\n\r\n 13. 5. 1 Vcc和GND平面 \r\n\r\n 13. 5. 2 去耦电容器 \r\n\r\n 13. 5. 3 Vcc上升时间 \r\n\r\n 13. 5. 4 电流损耗 \r\n\r\n 13. 6 Altera器件的信息擦除 \r\n\r\n 13. 7 Altera器件功耗估计 \r\n\r\n 13. 7. 1 功率估计 \r\n\r\n 13. 7. 2 热分析管理 \r\n\r\n 13. 8 高速板设计 \r\n\r\n 13. 8. 1 引言 \r\n\r\n 13. 8. 2 电源滤波及分配 \r\n\r\n 13. 8. 3 信号与传输线的端接 \r\n\r\n 13. 8. 4 阻抗匹配和端接电阻 \r\n\r\n 13. 8. 5 串扰 \r\n\r\n 13. 8. 6 地线毛刺 \r\n\r\n 附录 Altera器件选择指南 \r\n\r\n 参考文献 \r\n
\r\n
CPLD是新型的可编程逻辑器件. 这种器件的集成度高. 工作速度快, 加上编程方便. 价格较低, 因而广受电子工程设计人员和科研人员的欢迎.
Altera作为全球最大的可编程逻辑器件供应商, 多年来在这一领域中投入了极大的开发和研制力量, 产品系列齐全, 可提供MAX 7000S. MAX 7000AE. FLEX 6000. FLEX 6000A. FLEX 10K, FLEX 10KA及FLEX 10KE等系列产品. 这些产品可用于组合逻辑. 状态机. 时序. 算法. 双端口 RAM. FIFO的设计. 设计密度超过20万门或需要CAM等功能与LVDS. SSTL-3. GTL+IO等接口时, 还可选择 Altera新一代用于系统集成的APEX20K系列产品.
Altera公司的产品由骏龙公司在中国市场销售多年, 其使用者众多. 为了帮助用户更好地使用Altera的产品及开发系统, 作者特编写了此书.
此书作者不仅具有深厚的可编程逻辑理论知识, 而且使用 Altera CPLD多年, 具有丰富的实践经验. 书中对Altera CPLD及其开发工具作了详细. 系统的介绍, 而且结合作者的实际工作列举了很多应用实例. 设计优化技巧. 解决问题的方法. 本书既可以作为各高等院校开设 Altera CPLD课程的教科书, 又可以作为电子工程设计人员使用 Altera CPLD的参考书.
我们向读者推荐此书, 相信本书会令广大Altera CPLD用户受益.
赵典锋
Altera中国区经理
CPLD是一种复杂的用户可编程逻辑器件, 它以其编程方便. 集成度高. 速度快. 价格低等特点越来越受到广大电子设计人员的青睐. 特别是Altera公司的嵌入式可编程逻辑器件FLEX 1OK更是受到人们的重用. 目前, Altera公司已成为CPLD市场上的佼佼者. Altera公司出品的最新结构——APEX 20K系列更是融合乘积项. 查找表和嵌入式和存贮器于一体, 适用范围更加广泛. 此外, 该公司的MAX+PLUS II开发软件易学易用, 更是让人喜欢. 基于此原因, 我们在本书中向大家介绍Altera公司的产品和开发工具, 以使更多的电子设计人员能够掌握这一产品的设计和应用.
本书分为基础篇和提高篇两大部分. 在基础篇中, 首先介绍了可编程逻辑器件的发展概况, 其次对Altera公司的FLEX 10K. FLEX 6000. MAX 7000S和MAX 7000A等系列器件作了较为详细的介绍, 最后重点介绍了MAX+PLUS可开发软件的特点. 安装和使用. 除此之外, 还对Altera器件的JTAG边界扫描电路也作了介绍. 在提高篇中, 主要针对电子设计人员应用Altera器件过程中可能会遇到和普遍关心的问题作了较为详细的论述. 特别是对于提高器件工作速度的方法. 有效配置器件的方法作了详细的讨论, 还对高速板设计中可能会出现的问题作了一定的分析, 提出了一些可供参考的解决办法. 此外, 在提高篇中还着重介绍了Altera公司的硬件描述语言(AHDL语言).
本书既可作为培训教材, 也可作为工科院校电子. 计算机类专业的教材和参考书, 同时也适用于广大的电子设计人员.
本书由宋万杰. 罗丰和吴顺君教授共同完成. 其中第1. 2章由吴顺君教授编写, 第3~7章由宋万杰编写, 第8~13章由罗丰编写, 全书由宋万杰统稿.
本书在编写过程中特别受到了Altera公司中国区经理赵典锋先生的大力支持和帮助, 他对本书的编写提出了许多有益的建议, 在此深表谢意. 同时, 还得到作者所在单位领导和同事们. 孙肖子教授和国家电工教学基地的各位老师的大力支持和帮助. 西安电子科技大学出版社的戚文艳. 赵立光编辑为本书的出版付出了艰辛的劳动. 此外, 段旭红同志完成了本书的全部录入工作, 在此一并表示衷心感谢.
CPLD技术的发展十分迅速, 因此我们和读者一样, 也在不断地学习. 由于编者水平有限, 书中错误与不足之处在所难免, 恳请读者批评指正.
联系地址: Cpld @ rsp. Xidian. edu.cn.
编者
1999年 3月于西安电子科技大学雷达信号处理重点实验室