logo资料库

《FPGA CPLD设计工具──Xilinx ISE使用详解》.pdf

第1页 / 共487页
第2页 / 共487页
第3页 / 共487页
第4页 / 共487页
第5页 / 共487页
第6页 / 共487页
第7页 / 共487页
第8页 / 共487页
资料共487页,剩余部分请下载后查看
书名页
版权页
关于本书
目录
第1章 ISE 系统简介
1.1 FPGA/CPLD 简介
1.1.1 FPGA/CPLD 的基本原理
1.1.2 FPGA 和CPLD 的特点
1.2 FPGA/CPLD 的设计流程
1.3 ISE 系列产品的特点
1.3.1 特点综述
1.3.2 ISE 的新增特性
1.4 ISE 6.x 支持的器件
1.5 ISE 的4 个软件系列
1.6 ISE 的系统配置与安装
1.6.1 推荐的系统配置
1.6.2 ISE 的安装
1.7 ISE 中集成工具及其基本功能
1.8 常用专有名词解释
1.9 小结
1.10 问题与思考
第2章 工程管理器与设计输入工具
2.1 ISE 工程管理器──Project Navigator
2.1.1 Project Navigator 综述
2.1.2 Project Navigator 的用户界面
2.1.3 使用Project Navigator 创建并管理工程
2.2 HDL 语言的输入工具──HDL Editor
2.2.1 HDL Editor 综述
2.2.2 源代码输入的好助手──Language Templates
2.3 状态机输入工具──StateCAD
2.3.1 StateCAD 综述
2.3.2 StateCAD 的用户界面
2.3.3 使用StateCAD 设计状态机
2.4 原理图输入工具──ECS
2.4.1 ECS 综述
2.4.2 ECS 的用户界面
2.4.3 使用ECS 完成原理图输入设计
2.4.4 使用ECS 进行混合设计的方法
2.5 IP 核生成工具──CORE Generator
2.5.1 CORE Generator 综述
2.5.2 CORE Generator 的用户界面
2.5.3 使用CORE Generator 生成IP 核的方法与技巧
2.6 测试激励生成器──HDL Bencher
2.6.1 HDL Bencher 综述
2.6.2 使用HDL Bencher 生成测试激励
2.7 设计结构向导──Architecture Wizard
2.7.1 Architecture Wizard 综述
2.7.2 Architecture Wizard 使用方法
2.8 小结
2.9 问题与思考
第3章 仿真工具
3.1 ModelSim 的用户接口
3.1.1 行为仿真
3.1.2 时序仿真
3.1.3 高级设置
3.2 ModelSim 仿真窗口综述
3.3 仿真环境的建立
3.3.1 各仿真切入点需要的库文件
3.3.2 仿真库文件说明
3.3.3 库文件编译
3.3.4 仿真库的命名
3.4 一个简单的仿真示例
3.4.1 在ModelSim 环境下进行仿真
3.4.2 在ISE 集成环境中进行仿真
3.5 ModelSim 中的调试方法
3.5.1 源文件窗口调试
3.5.2 波形窗口调试
3.5.3 数据流窗口调试
3.5.4 存储器窗口调试
3.5.5 变量窗口调试
3.5.6 列表窗口调试
3.6 ModelSim 的其他常用操作
3.6.1 自动仿真
3.6.2 WLF 文件
3.6.3 波形比较
3.6.4 SDF 文件
3.6.5 VCD 文件
3.7 小结
3.8 问题与思考
第4章 ISE 中集成的综合工具
4.1 新兴的高效综合工具──Synplify/Synplify Pro
4.1.1 Synplify/Synplify Pro 的功能与特点
4.1.2 Synplify Pro 的用户界面
4.1.3 Synplify Pro 综合流程
4.1.4 Synplify Pro 的其他综合技巧
4.2 Xilinx 最早的合作伙伴──Synopsys 综合工具
4.2.1 设计流程
4.2.2 FE 综合优化过程
4.2.3 FST 操作说明
4.3 Xilinx 内嵌的综合工具──XST
4.3.1 XST 综述
4.3.2 XST 综合属性设置
4.3.3 使用XST 的综合流程
4.4 全局时钟与第二全局时钟资源
4.4.1 全局时钟资源简介
4.4.2 常用的与全局时钟资源相关的Xilinx 器件原语
4.4.3 Xilinx 全局时钟资源的使用方法
4.4.4 使用Xilinx 全局时钟资源的注意事项
4.4.5 第二全局时钟资源
4.5 小结
4.6 问题与思考
第5章 约束
5.1 概述
5.2 时序约束
5.2.1 周期约束(PERIOD 约束)
5.2.2 偏移约束(OFFSET 约束)
5.2.3 专门约束
5.3 分组约束
5.3.1 TNM 约束
5.3.2 TNM_NET 约束
5.3.3 TIMEGRP 约束
5.3.4 TPTHRU 约束
5.3.5 TPSYNC 约束
5.4 约束编辑器──Constraints Editor
5.4.1 Constraints Editor 的用户界面
5.4.2 附加全局约束
5.4.3 附加端口约束
5.4.4 附加分组约束和时序约束
5.4.5 附加专用约束
5.5 引脚与区域约束编辑器──PACE
5.5.1 PACE 的用户界面
5.5.2 附加区域约束
5.5.3 附加I/O 引脚约束
5.6 约束文件
5.6.1 约束文件的概念
5.6.2 UCF、NCF 文件的基本语法规则
5.7 小结
5.8 问题与思考
第6章 辅助设计工具
6.1 时序分析器──Timing Analyzer
6.1.1 时序分析器的用户界面
6.1.2 时序分析器的作用及设计流程
6.1.3 基本时序路径
6.1.4 时序分析器的使用方法
6.2 布局规划器──Floorplanner
6.2.1 布局规划器的用户界面
6.2.2 布局规划器的特点及作用
6.2.3 布局规划设计流程
6.2.4 设计示例
6.3 FPGA 底层编辑器──FPGA Editor
6.3.1 FPGA 底层编辑器的用户接口
6.3.2 FPGA 底层编辑器的作用
6.3.3 FPGA 底层编辑器输入输出文件
6.3.4 FPGA 底层编辑器的工作流程
6.3.5 使用FPGA 底层编辑器的预备知识
6.3.6 设计示例
6.4 小结
6.5 问题与思考
第7章 XPower、iMPACT 和ChipScope Pro
7.1 XPower
7.1.1 XPower 综述
7.1.2 XPower 的用户界面
7.1.3 用XPower 分析功耗
7.2 iMPACT
7.2.1 iMPACT 综述
7.2.2 iMPACT 的用户界面
7.2.3 用iMPACT 下载配置文件
7.3 ChipScope Pro
7.3.1 ChipScope Pro 综述
7.3.2 ChipScope Pro Core Inserter
7.3.3 ChipScope Pro Analyzer
7.4 小结
7.5 问题与思考
第8章 模块化与增量式设计方法
8.1 模块化设计方法的基本概念
8.2 模块化设计方法的设计流程
8.2.1 Modular Design 的设计输入与综合步骤
8.2.2 Modular Design 的实现步骤
8.3 模块化设计方法的注意事项
8.3.1 Modular Design 的应用场合
8.3.2 Modular Design 的设计效能
8.3.3 Modular Design 的目录管理
8.3.4 Modular Design 的常用约束
8.3.5 Modular Design 的报告查看
8.3.6 使用XFLOW 自动进行模块化设计
8.4 模块化设计方法的设计实例
8.5 增量式设计方法的基本概念
8.6 增量设计方法的设计流程
8.6.1 增量综合
8.6.2 增量实现
8.7 增量设计方法的设计实例
8.8 小结
8.9 问题与思考
第9章 融会贯通──“运动计时表”设计
9.1 示例背景
9.2 多元混合设计输入方法
9.2.1 新建工程“watch_sc”
9.2.2 使用ECS 绘制“cnt60”和“outs3”模块原理图
9.2.3 使用Core Generator 生成“tenths”IP 核
9.2.4 使用StateCAD 设计“stmach_v”状态机
9.2.5 使用Architecture Wizard 生成时钟管理模块“dcm1”
9.2.6 使用语言模板设计“hex2led”和“decode”的HDL 源代码
9.2.7 使用ECS 设计顶层原理图
9.3 测试激励与行为级功能仿真
9.3.1 使用HDL Bencher 生成测试激励
9.3.2 调用ModelSim 进行行为级功能仿真
9.4 Synplify Pro 和XST 综合方法
9.4.1 使用XST 综合整个设计
9.4.2 使用Synplify Pro 的特色工具分析、优化设计
9.5 设计用户约束文件与实现结果的分析
9.5.1 使用Constraints Editor 设计UCF 文件
9.5.2 使用PACE 设计UCF
9.5.3 实现步骤与实现结果分析
9.6 使用ModelSim 进行布线后仿真
9.7 使用iMPACT 配置FPGA/CPLD
9.8 小结
9.9 问题与思考
第10章 ISE 实战──Iˉ2C 接口设计
10.1 EFX-SP200──实验开发系统简介
10.2 Iˉ2C 总线简介
10.2.1 Iˉ2C 总线上的数据传输
10.2.2 Iˉ2C 总线寻址
10.2.3 时钟同步与仲裁
10.2.4 Iˉ2C 协议的扩展
10.3 Iˉ2C 总线应用实例──AT24C 系列EEPROM
10.3.1 AT24C02 概述
10.3.2 写操作
10.3.3 读操作
10.3.4 AT24C 在IC 卡中的应用简介
10.4 Iˉ2C 总线控制器设计详解
10.4.1 Iˉ2C 总线控制器总体描述
10.4.2 μC 接口设计
10.4.3 Iˉ2C 接口设计
10.4.4 混合仿真验证
10.4.5 上板调试
10.5 小结
10.6 问题与思考
FPGA/CPLD 设计工具 ──Xilinx ISE 使用详解 EDA 先锋工作室 编著 王 诚 薛小刚 钟信潮 人 民 邮 电 出 版 社
图书在版编目(CIP)数据 FPGA/CPLD 设计工具:Xilinx ISE 使用详解/王诚,薛小刚,钟信潮编著. —北京:人民邮电出版社,2005.1 ISBN 7-115-12914-2 Ⅰ. F… Ⅱ. ①王… ②薛… ③钟… Ⅲ. 可编程序逻辑器件—基本知识 Ⅳ. TP332.1 中国版本图书馆 CIP 数据核字(2004)第 127150 号 内 容 提 要 本书以 FPGA/CPLD 设计流程为主线,阐述了如何合理地利用 ISE 设计平台集成的各种设计工具,高效 地完成 FPGA/CPLD 的设计方法与技巧。全书在介绍 FPGA/CPLD 概念和设计流程的基础上,依次论述了工 程管理与设计输入、仿真、综合、约束、实现与布局布线、配置调试等主要设计步骤在 ISE 集成环境中的实 现方法与技巧。 本书立足于工程实践,结合作者多年工作经验,选用大量典型实例,并配有一定数量的练习题。本书配 套光盘收录了所有实例的完整工程目录、源代码、详细操作步骤和使用说明,利于读者边学边练,提高实际 应用能力。 本书可作为高等院校通信工程、电子工程、计算机、微电子与半导体学等专业的教材,也可作为硬件工 程师和 IC 工程师的实用工具书。 FPGA/CPLD 设计工具——Xilinx ISE 使用详解 编 著 EDA 先锋工作室 王 诚 薛小刚 钟信潮 责任编辑 李永涛 北京市崇文区夕照寺街 14 号 人民邮电出版社出版发行 邮编 100061 电子函件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 读者热线 010-67132692 北京鸿佳印刷厂印刷 新华书店总店北京发行所经销 开本:787×1092 1/16 印张:30.75 字数:750 千字 印数:1 – 6 000 册 2005 年 1 月第 1 版 2005 年 1 月北京第 1 次印刷 ISBN 7-115-12914-2/TP·4342 定价:52.00 元(附光盘) 本书如有印装质量问题,请与本社联系 电话:(010)67129223
EDA 先锋工作室 主 编:王 诚 副主编:薛小刚 钟信潮 编 委:李 楠 吴继华 庞 健 由武军 袁 园 周海涛 侯小辉 寿开宇 范丽珍 薛 宁 路 远 梁晓明 伊贵业 吴义涛 张世卓 张伟平 王书松 吴 蕾 胡安琪 吴卫旋 董振东 于春华
关于本书 本书内容和特点 FPGA/CPLD 以其功能强大,开发过程投资少、周期短,可反复修改,保密性能好,开 发工具智能化等特点成为当今硬件设计的首选方式之一。目前全国约有数百万的硬件工程师 在自己的设计中运用着各种型号的 FPGA/CPLD。可以说 FPGA/CPLD 设计技术是当今合格 硬件工程师与 IC 工程师的必备技能之一。 我国可编程逻辑器件设计技术落后于国外,目前立足工程实践,系统地介绍最新 FPGA/CPLD 设计工具的中文书籍较为贫乏。在这种情况下,为了满足广大工科在校学生了 解业界流行的高效 FPGA/CPLD 设计技术的需要,提高硬件工程师与 IC 工程师的工程实践技 巧,我们编写了《FPGA/CPLD 设计工具──Xilinx ISE 5.x 使用详解》。该书自出版以来,以 其概念清晰、工程指导意义强等特点深受读者欢迎,目前已经销售逾 10000 册。随着 ISE、 Synplify Pro 和 ModelSim 等软件的不断升级,软件的功能不断增强。根据新版本软件的功能 特点以及读者的反馈意见和建议,为增强工程实践性,提高读者的实际设计水平,我们编写 了《FPGA/CPLD 设计工具──Xilinx ISE 使用详解》。 全书以 FPGA/CPLD 设计流程为主线,阐述了如何合理地利用 ISE 设计平台集成的各种 设计工具,高效地设计 FPGA/CPLD 的方法与技巧。 本书共分 10 章,各章内容简要介绍如下。 • 第 1 章:在介绍 FPGA/CPLD 基本原理与特点的基础上重点讲述 FPGA/CPLD 的设计开发流程,并介绍 ISE 集成工具的基本功能。 • 第 2 章:介绍 ISE 中的工程管理方法与多种设计输入方式。 • 第 3 章:重点介绍 ModelSim 仿真工具的使用方法与技巧。 • 第 4 章:介绍 ISE 中集成的各种综合工具,重点讲述业界最流行的高效综合工 具 Synplify/Synplify Pro 的综合方法与技巧。 • 第 5 章:集中阐述约束的基本概念,并介绍 ISE 集成的两个约束设计工具── 约束编辑器(Constraints Editor)和引脚与区域约束编辑器(PACE)的使用方 法。 • 第 6 章:介绍 ISE 中集成的高级实现工具──时序分析器(Timing Analyzer)、 底层布局器(Floorplanner)和 FPGA 底层编辑器(FPGA Editor)的使用方法。 • 第 7 章:介绍 ISE 中集成的 FPGA/CPLD 的调试工具──功耗仿真器(XPower)、 配置工具(iMPACT)和在线逻辑分析仪(ChipScope Pro)的使用方法。 • 第 8 章:介绍大型复杂设计的推荐的模块化设计方法与增量设计方法。 • 第 9 章:通过一个综合性设计贯穿全书,加深对各章所述工具的理解与认识。 • 第 10 章:引导读者实际动手设计 I2C 总线并上板调试,提高读者的工程实践能 力。 本书主要特点如下。 • 实用价值高:本书的作者都有丰富的 FPGA/CPLD、数字 ASIC 设计经验,本书 立足于工程实践的需要,对工程设计有显著的指导意义。
• 内容新颖:本书的作者长期工作在可编程逻辑设计的最前沿,与 EDA 软件制 造商联系紧密,所以能够在第一时间内使用最新版本的 FPGA/CPLD 设计工具。 本书涉及的所有工具均根据较新资料撰写,使本书介绍的内容新颖。 • 剖析深刻:本书对 FPGA/CPLD 设计的基本原理、方法有较为详尽的论述。对 ISE 集成的各种设计工具的介绍并不局限于操作方法,而是结合作者多年的工 作经验与心得,从较深的层面对各个工具的特点进行了较为详细的剖析。 读者对象 本书可作为高等院校通信工程、电子工程、计算机、微电子与半导体学等理工专业的教 材,也可作为硬件工程师和 IC 工程师的实用工具书。 本书附盘内容 本书配套光盘提供了书中所有示例的完整工程文件、设计源文件和说明文件。示例按照 章节编号和出现的先后顺序排列,例如“Example-2-3”表示第 2 章的第 3 个示例。 每个工程示例都包括了该工程的项目文件、源文件、报告文件和生成结果等文件,读 者可以用 ISE 5.x/6.x 或相应的软件直接打开。设计源文件根据设计输入类型分为源代码 或原理图等。请读者将设计源文件拷贝到计算机硬盘上,并按照书中的操作步骤自行操作 练习。示例说明文件包含了示例的详细信息和操作指南。 本书约定 为了方便读者阅读,书中所有命令中的关键字采用正常体,非关键字采用斜体,需要在 命令行输入的内容采用了黑体。并且书中设计了 4 个小图标,它们代表的含义如下。 行家指点:用于介绍使用经验和心得,或罗列重要的概念。 注意事项:用于提醒读者应该注意的问题。 多学一招:用于介绍实现同一功能的不同方法。 操作实例:用于引出一个操作题目和相应的一组操作步骤。 本书第 1、2、4、8、9 章由王诚编写,第 3、6 章及第 4 章第 2 节由薛小刚编写,第 5、 7、10 章由钟信潮编写。 Xilinx 公司亚太地区软件经理邹志雄、亚太地区高端产品经理梁晓明、资深应用工程师 刘晖对全书进行了审校,Xilinx 公司亚太地区公关经理柯春玲、Hoffman 公司高级顾问刘涛、 伟达公司资深技术支持路远、华创科技公司资深应用工程师李焰等对本书的编写提出了很多 建设性的意见,并给予多方面的帮助,在此表示衷心的感谢。本书在编写过程中还得到了其 他很多公司的领导和工程师们的热情帮助,在此一并表示衷心的感谢。
网站支持 为了配合读者学习本书,EDA 先锋工作室在 EDA 专业论坛(http://www.edacn.net)上 开办了本书的讨论园地,作者联合业界专业人士长期在论坛上为读者答疑解惑,讨论 EDA 工程经验与设计技巧,并对书中所述问题加以引申,藉此与读者共同切磋、互相提高。网站 上提供了本书光盘中附带例子等相关资料的下载服务,并介绍 EDA 先锋工作室已经出版和 将要出版的各种书籍信息。 EDA 先锋工作室非常重视读者的意见和建议,读者可以通过电子函件以及论坛反馈相关 信息。 感谢您选择了本书,希望我们的工作能够对您有所帮助,如果您对书中内容有任何困惑 和建议,请与我们联系。 电子函件:book@edacn.net(作者),liyongtao@ptpress.com.cn(责任编辑)。 如果您需要得到 Xilinx 更全面的服务与技术支持,请访问 http://support.xilinx.com/china。 EDA 先锋工作室 2004 年 8 月
序 美国赛灵思公司(Xilinx)是全球领先的可编程逻辑完整解决方案的供应商, 赛灵思研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及作为 预定义系统级功能的 IP(Intellectual Property)核。 赛灵思公司成立于 1984 年,首创了现场可编程逻辑阵列(FPGA)这一创新 性的技术,并于 1985 年首次推出商业化产品。至今,赛灵思公司已经推出从 Spartan3 到 Virtex-II Pro 等系列的 FPGA 产品以及 CoolRunner 等系列的 CPLD 产 品,满足了全世界对可编程逻辑器件(PLD)产品一半以上的需求,同时还提供 了互联网软件解决方案与核心解决方案等软件产品。ISE 是赛灵思公司最主要的 设计软件之一,目前已经推出的最新版本是 ISE 6.2i。该软件提供了可加强现有 可编程设计流程,并可适应客户特有设计方法的全面、丰富的设计选项。 在此,我们郑重推荐由人民邮电出版社出版的《FPGA/CPLD 设计工具── Xilinx ISE 使用详解》,希望通过本书使对在设计中应用 ISE 解决方案或对其感兴 趣的读者能更深入地了解基于 ISE 进行 FPGA/CPLD 设计的基本原理与方法。也 希望通过本书的编写,能大力促进中国的数字系统现场集成技术的应用普及和推 广。 XILINX ASIA PACIFIC 2004 年 10 月
目 录 第 1 章 1.4 1.5 1.6 ISE 系统简介..................................................................................................……....1 1.1 FPGA/CPLD 简介.................................................................................................................1 1.1.1 FPGA/CPLD 的基本原理 .............................................................................................2 1.1.2 FPGA 和 CPLD 的特点 ................................................................................................7 1.2 FPGA/CPLD 的设计流程 .....................................................................................................9 ISE 系列产品的特点...........................................................................................................11 1.3 1.3.1 特点综述......................................................................................................................11 1.3.2 ISE 的新增特性..........................................................................................................12 ISE 6.x 支持的器件.............................................................................................................14 ISE 的 4 个软件系列...........................................................................................................14 ISE 的系统配置与安装.......................................................................................................18 1.6.1 推荐的系统配置..........................................................................................................18 ISE 的安装..................................................................................................................19 1.6.2 ISE 中集成工具及其基本功能...........................................................................................21 1.7 1.8 常用专有名词解释..............................................................................................................27 1.9 小结 .....................................................................................................................................29 1.10 问题与思考 .......................................................................................................................29 第 2 章 工程管理器与设计输入工具................................................................................31 ISE 工程管理器──Project Navigator ..............................................................................31 2.1.1 Project Navigator 综述 ................................................................................................31 2.1.2 Project Navigator 的用户界面 ....................................................................................32 2.1.3 使用 Project Navigator 创建并管理工程 ...................................................................38 2.2 HDL 语言的输入工具──HDL Editor .............................................................................43 2.2.1 HDL Editor 综述..........................................................................................................43 2.2.2 源代码输入的好助手──Language Templates.........................................................44 2.3 状态机输入工具──StateCAD .........................................................................................45 2.3.1 StateCAD 综述 ............................................................................................................46 2.3.2 StateCAD 的用户界面 ................................................................................................46 2.3.3 使用 StateCAD 设计状态机 .......................................................................................51 2.4 原理图输入工具──ECS ..................................................................................................62 2.4.1 ECS 综述 .....................................................................................................................63 2.4.2 ECS 的用户界面 .........................................................................................................63 2.4.3 使用 ECS 完成原理图输入设计 ................................................................................66 2.4.4 使用 ECS 进行混合设计的方法 ................................................................................73 IP 核生成工具──CORE Generator..................................................................................74 2.1 2.5 1
分享到:
收藏