内容概要    CPLD是最新型的可编程逻辑器件,几乎可适用于所有的门阵列和各种规模的数字集成电路,它的诸多特点使其特别适合于产品的样品开发与小批量生产。本书正是以全球最大的可编程逻辑器件供应商——Altera公司的MAX+PLUS为工具,详尽地剖析了其FLEX10K等系列的结构、功能及开发应用。在基础篇中,通过一个完整的实例介绍,以使读者能够尽快了解MAX+PLUS的软件安装、设计输入、项目编译、优化以及硬件编程在线调试等功能,并且能够开发出相对简单的产品。在提高篇中,对电子电路设计过程中出现的许多问题,例如:如何提高设计效率,如何提高系统设计速度等作了更深入的探讨。同时,本书还对Altera硬件描述语言AHDL的基本构造以及如何在设计中应用AHDL编制出精练的程序都作了大量的实例介绍,以期帮助电子设计人员从繁琐的传统电路设计、调试中解脱出来。 本书结合众多的工程设计实例,由浅入深,改变了以往电路设计类书籍与实际脱节的现象。大量的图例说明,使得本书不仅适合于有一定基础的电子工程设计人员,而且也适合于相关专业大学生阅读使用,对于初学者更有极大的帮助。  目录 第一部分 基础篇 第1章 PLD概述 1.1 可编程逻辑器件的发展历程 1.2 ASIC、FPGA/CPLD技术 1.2.1 ASICCAD技术 1.2.2 FPGA/CPLDCAD技术 1.2.3 ASIC与FPGA/CPLD进行电路设计的一般流程 1.3 PLD厂商及产品介绍 1.3.1 Xilinx公司及其产品简介 1.3.2 Altera公司的CPLD 第2章 Altera产品概述 2.1 可编程逻辑与ASIC 2.2 AlteraPLD的优点 2.2.1 高性能 2.2.2 高集成度 2.2.3 价格合理 2.2.4 使用MAX+PLUSⅡ软件开发周期较短 2.2.5 Altera器件的优化宏函数 2.3 Altera的系列产品 2.3.1 FLEX10K系列 2.3.2 FLEX8000系列 2.3.3 FLEX6000系列 2.3.4 MAX9000系列 2.3.5 MAX7000系列 2.3.6 MAX5000系列 2.3.7 Classic系列 2.4 MAX+PLUSⅡ开发工具 2.4.1 MAX+PLUSⅡ设计流图 2.4.2 使用各种平台和其它EDA工具 2.5 结论 第3章 FLEX10K系列器件的技术规范 3.1 概述 3.2 特点 3.3 功能描述 3.3.1 FLEX10K的EAB 3.3.2 逻辑单元(LE) 3.3.3 逻辑阵列块(LAB) 3.3.4 FastTrack连接 3.3.5 I/O单元(IOE) 3.3.6 时钟锁定和时钟自举 3.3.7 输出配置 3.3.8 JTAG边界扫描 3.3.9 一般性测试 3.3.10 定时模型 3.4 FLEX10KE器件系列简介 3.5 器件输出引脚 第4章 FLEX6000系列器件简介 4.1 OptiFLEX结构 4.2 FLEX6000系列器件的特点 4.3 概述 4.4 功能描述 4.4.1 逻辑阵列块(LAB) 4.4.2 逻辑单元(LE) 4.4.3 FastTrack连接 4.4.4 I/O单元(IOE) 4.5 输出配置 4.5.1 摆率控制 4.5.2 多电压I/O接口 4.6 JTAG边界扫描 4.7 定时模型 第5章 MAX7000系列器件可编程逻辑的技术规范 5.1 MAX7000系列器件的结构和性能 5.1.1 特点 5.1.2 概述 5.1.3 功能描述 5.1.4 在线编程 5.1.5 可编程速度/功率控制 5.1.6 输出配置 5.1.7 器件编程 5.1.8 JTAG边界扫描 5.1.9 设计加密 5.1.10 一般性测试 5.1.11 QFP运载架和开发插座 5.2 MAX7000A可编程逻辑器件 5.2.1 特点 5.2.2 概述 5.2.3 功能描述 5.2.4 在线编程 5.2.5 可编程速度/功率控制 5.2.6 输出配置 5.2.7 器件编程 5.2.8 JTAG边界扫描 5.2.9 设计加密 5.2.10 一般性测试 5.3 定时模型 5.4 MAX7000系列器件的引脚输出 第6章 Altera器件的边界扫描测试 6.1 引言 6.2 IEEE1149.1BST的结构 6.3 边界扫描寄存器 6.3.1 I/O引脚 6.3.2 专用输入 6.3.3 专用时钟引脚(仅适用于FLEX10K) 6.3.4 专用配置引脚(全部FLEX器件) 6.4 JTAGBST操作控制 6.5 JTAGBST电路的使能 6.6 JTAG边界扫描测试原则 6.7 边界扫描描述语言(BSDL) 6.8 结束语 第7章 MAX+PLUSⅡ入门 7.1 概述 7.2 MAX+PLUSⅡ的安装 7.2.1 推荐的系统配置 7.2.2 MAX+PLUSⅡ的安装 7.3 MAX+PLUSⅡ的设计过程 7.3.1 设计输入 7.3.2 设计处理 7.3.3 设计校验 7.3.4 器件编程 7.3.5 联机求助 7.3.6 软件维护协议 7.3.7 MAX+PLUSⅡ软件的流程 7.4 逻辑设计的输入方法 7.4.1 建立一个图形设计文件 7.4.2 文本设计输入方法 7.4.3 创建顶层图形设计文件 7.4.4 层次显示 7.5 设计项目的编译 7.5.1 打开编译器窗口准备编译 7.5.2 编译器的选项设置 7.5.3 运行编辑器 7.5.4 在底层编辑器中观察试配结果 7.5.5 引脚锁定 7.6 设计项目的模拟仿真 7.7 定时分析 7.8 器件编程 第二部分 提高篇 第8章 几种提高电路设计效率的方法 8.1 使用LPM宏单元库 8.2 使用硬件描述语言VHDL/AHDL 8.3 使用EAB单元 8.3.1 引言 8.3.2 EAB内部结构 8.3.3 EAB单元的灵活性 8.3.4 EAB应用实例 8.4 综合使用上述三种方法 第9章 提高系统运行速度的方法 9.1 序言 9.2 修改电路以提高系统速度 9.2.1 直接修改电路 9.2.2 流水技术的概念及应用 9.2.3 修改底层布局 9.2.4 合理使用CPLD资源 9.3 修改软件配置提高系统速度 9.3.1 器件选择(Device...) 9.3.2 局部逻辑分析控制(LogicOption...) 9.3.3 流水线设置(本项操作并非在Assign菜单下完成) 9.3.4 打包(Clique...) 第10章 MAX+PLUSⅡ仿真原理 10.1 引言 10.2 MAX+PLUSⅡ仿真机理 10.2.1 功能仿真 10.2.2 时序仿真 10.3 仿真中的节点 10.3.1 供仿真用的节点与组 10.3.2 标识节点和组的类型 10.4 状态机的仿真 10.5 小结 第11章 硬件描述语言AHDL 11.1 概述 11.2 AHDL的基本元素 11.2.1 保留关键字和保留标识符 11.2.2 符号 11.2.3 带引号和不带引号的名称 11.2.4 组 11.2.5 AHDL中的数字 11.2.6 布尔表达式 11.3 AHDL设计的基本结构 11.3.1 子设计段 11.3.2 逻辑段 11.3.3 变量段 11.3.4 Constant语句 11.3.5 Options语句 11.3.6 Include语句 11.3.7 Title语句 11.3.8 函数原型语句 11.4 AHDL设计实例 11.5 设计风格 11.5.1 常用的设计风格 11.5.2 空白区 11.5.3 注释与文档 11.5.4 命名习惯 11.5.5 AHDL对缩格的建议 11.5.6 文件结构 第12章 AlteraFLEX10K系列器件的配置与下载 12.1 引言 12.2 配置方式 12.2.1 分类 12.2.2 配置文件大小 12.2.3 配置中将用到的引脚 12.2.4 主动串行配置或EPC1配置方式 12.2.5 被动串行配置方式 12.2.6 被动并行同步(PPS)配置方式 12.2.7 被动并行异步(PPA)配置方式 12.3 并口下载电缆ByteBlaster原理 12.3.1 概述 12.3.2 ByteBlaster的连接及原理 12.3.3 ByteBlaster的工作条件 第13章 工程设计中Altera器件的工作条件和应注意的问题 13.1 引言 13.2 工作条件 13.3 引脚电压 13.3.1 引脚连接 13.3.2 闭锁 13.3.3 带电插拔 13.3.4 静电放电 13.4 输出负载 13.4.1 电阻性负载 13.4.2 容性负载 13.5 电源使用 13.5.1 VCC和GND平面 13.5.2 去耦电容 13.5.3 V CC上升时间 13.5.4 电流损耗 13.6 Altera器件的信息擦除 13.7 Altera器件功耗估计 13.7.1 功率估计 13.7.2 热分析管理 13.8 高速板设计 13.8.1 引言 13.8.2 电源滤波及分配 13.8.3 信号与传输线的端接 13.8.4 阻抗匹配和端接电阻 13.8.5 串扰 13.8.6 地线毛刺 附录 Altera器件选择指南 参考文献