FPGA/CPLD设计工具 -Xilinx ISE使用详解 EDA先锋工作室薛小刚编著 钟信潮 Highest Performance for the Lowest Cost 人民邮电出版社
FPGA/CPLD 设计工具 ──Xilinx ISE 使用详解 EDA 先锋工作室 编著 人 民 邮 电 出 版 社 王 诚 薛小刚 钟信潮
序 美因赛灵思公司(Xilinx)是全球领先的可编程逻辑完整解决方案的供应商, 赛灵思研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及作为 预定义系统级功能的P(Intellectual Property)核。 赛灵思公司成立于1984年,首创了现场可编程逻辑阵列(FPGA)这一创新 性的技术,并于1985年首次推出商业化产品。至今,赛灵思公司已经推出从 Spartan3到Virtex--II Pro等系列的FPGA产品以及CoolRunner等系列的CPLD产 品,满足了全世界对可编程逻辑器件(PLD)产品一半以上的需求,同时还提供 了互联网软件解决方案与核心解决方案等软件产品。SE是赛灵思公司最主要的 设计软件之一,目前已经推出的最新版本是1SE6.2i。该软件提供了可加强现有 可编程设计流程,并可适应客户特有设计方法的全面、丰富的设计选项。 在此,我们郑重推荐由人民邮电出版社出版的《FPGA/CPLD设计工具一 Xilinx ISE使用详解》,希望通过本书使对在设计中应用ISE解决方案或对其感兴 趣的读者能更深入地了解基于ISE进行FPGA/CPLD设计的基本原理与方法。也 希望通过本书的编写,能大力促进中国的数字系统现场集成技术的应用普及和推 广。 XILINX ASIA PACIFIC 2004年10月
序 美国赛灵思公司(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章1SE系统简介 ..1 1.1 FPGA/CPLD简介. 11.1FPGA/CPLD的基本原理 L.12FPGA和CPLD的特点 1.2 FPGA/CPLD的设计流程 1.31$E系列产品的特点.... 13.1特点综述 1.321SE的新增特性 12 141SE6x支持的器件 1.51SE的4个软件系列 1.61SE的系统配置与安装 1.6.1推荐的系统配置 .18 1.621SE的安装 .19 1.7ISE中集成工具及其基本功能 1 18常用专有名词解释 37 19小结 29 1.10问题与思考 第2章工程管理器与设计输入工具 .31 211SE工程管理器 一Project Navigator 31 2.l.1 Proiect navigator综述, 31 2.l2 Project Navigator的用户界西 213 2.2HDL语言的输入工具- 38 -HDL Editor.. .…43 2.2.1 HDL Editor综述 ..43 2.2.2源代码输入的好助手—-Language Templates. 44 23状态机输入工具一 -StateCAD. 45 2.3 StateCAD综述 46 2.3.2 StateCAD的用户界而 2.33使用StateCAD设计状态机. 51 2.4原理图输入工具一 -ECS.. …62 2.41ECS综述 63 2.42ECS的用户界面 2.43 使用ECS完成原理图输入设计 2,44使用ECS进行混合设计的方法 73 2.5IP核生成工具 -CORE Generator. .74
1 目 录 第 1 章 ISE 系统简介..................................................................................................……....1 1.1 FPGA/CPLD 简介.................................................................................................................1 1.1.1 FPGA/CPLD 的基本原理.............................................................................................2 1.1.2 FPGA 和 CPLD 的特点 ................................................................................................7 1.2 FPGA/CPLD 的设计流程.....................................................................................................9 1.3 ISE 系列产品的特点...........................................................................................................11 1.3.1 特点综述......................................................................................................................11 1.3.2 ISE 的新增特性..........................................................................................................12 1.4 ISE 6.x 支持的器件.............................................................................................................14 1.5 ISE 的 4 个软件系列...........................................................................................................14 1.6 ISE 的系统配置与安装.......................................................................................................18 1.6.1 推荐的系统配置..........................................................................................................18 1.6.2 ISE 的安装..................................................................................................................19 1.7 ISE 中集成工具及其基本功能...........................................................................................21 1.8 常用专有名词解释..............................................................................................................27 1.9 小结 .....................................................................................................................................29 1.10 问题与思考 .......................................................................................................................29 第 2 章 工程管理器与设计输入工具................................................................................31 2.1 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 2.5 IP 核生成工具──CORE Generator..................................................................................74
2.5.1 CORE Generator综述. 74 352 CORE Generalor的用户界面 2.53 使用CORE Generator生成IP核的方法与技巧 2.6测试激励生成器 -HDL Bencher... .83 2.6.HDL Bencher综述 83 2.62使用HDL Bencher生成测试激励 f 2.7设计结构向导一Architecture Wizard Architecture Wizard综 Architecture Wizard使用方法 2.8小结 .94 29间题与思考 ...94 第3章仿真工具 31 ModelSim的用户接日 07 311 行为仿真」 99 3.12 时序仿真 10 3.13高级设置 102 32 ModelSim仿直窗口综沭 104 33仿直环境的建立 114 331各仿直切入占雪要的庄文件 114 3.32 份真库文件说明 3.3.3 库文件编译 116 334仿真库的命名 120 3.4一个简单的仿真示例 121 341在ModelSim环境下讲行仿 121 3.42在1SE集成环境中进行仿真 128 3.5 ModelSim中的调试方法 130 3.5.1 源文件窗口调试 130 3.52 波形窗口调试 132 3.5.3 牧据流窗口调试 135 354 存储器窗口调试 140 3.5. 变量口调试 3.5.6 列表窗口调试 145 3.6 ModelSim的其他常用操作 146 3.6.1自动仿真 146 3.62WLF文件 1A0 363 波形比校」 15 3.6.4 SDF文件 156 3.6.5 VCD文件 .157
2 2.5.1 CORE Generator 综述.................................................................................................74 2.5.2 CORE Generator 的用户界面.....................................................................................75 2.5.3 使用 CORE Generator 生成 IP 核的方法与技巧.......................................................78 2.6 测试激励生成器──HDL Bencher ...................................................................................83 2.6.1 HDL Bencher 综述 ......................................................................................................83 2.6.2 使用 HDL Bencher 生成测试激励 .............................................................................85 2.7 设计结构向导──Architecture Wizard .............................................................................91 2.7.1 Architecture Wizard 综述............................................................................................91 2.7.2 Architecture Wizard 使用方法 ....................................................................................91 2.8 小结 .....................................................................................................................................94 2.9 问题与思考..........................................................................................................................94 第 3 章 仿真工具....................................................................................................................95 3.1 ModelSim 的用户接口........................................................................................................97 3.1.1 行为仿真......................................................................................................................99 3.1.2 时序仿真....................................................................................................................101 3.1.3 高级设置....................................................................................................................102 3.2 ModelSim 仿真窗口综述..................................................................................................104 3.3 仿真环境的建立................................................................................................................114 3.3.1 各仿真切入点需要的库文件....................................................................................114 3.3.2 仿真库文件说明........................................................................................................115 3.3.3 库文件编译................................................................................................................116 3.3.4 仿真库的命名............................................................................................................120 3.4 一个简单的仿真示例........................................................................................................121 3.4.1 在 ModelSim 环境下进行仿真.................................................................................121 3.4.2 在 ISE 集成环境中进行仿真....................................................................................128 3.5 ModelSim 中的调试方法..................................................................................................130 3.5.1 源文件窗口调试........................................................................................................130 3.5.2 波形窗口调试............................................................................................................132 3.5.3 数据流窗口调试........................................................................................................135 3.5.4 存储器窗口调试........................................................................................................140 3.5.5 变量窗口调试............................................................................................................142 3.5.6 列表窗口调试............................................................................................................145 3.6 ModelSim 的其他常用操作..............................................................................................146 3.6.1 自动仿真....................................................................................................................146 3.6.2 WLF 文件..................................................................................................................149 3.6.3 波形比较....................................................................................................................151 3.6.4 SDF 文件 ...................................................................................................................156 3.6.5 VCD 文件..................................................................................................................157
37小结 159 3.8问题与思考 第4章ISE中集成的综合工具 161 4.1新兴的高效综合工具 -Synplify/Synplify Pro. 161 4.L.1 Synplify/Synplify Pro的功能与特点 16 4.12 Synplify Pro的用户界而 168 413 SynplifyPro综合流程 17 4.14 SynpliyPro的其他综合技巧 193 4.2Xlir最早的合作伙伴 Syn0psys综合工具 205 42.1设计流程 206 42)下下蛇合优化.过程 208 423下ST操作过明 217 43Xinx内嵌的综合工具 -XST 43.1 XST综 2加 4.32 XST综合属性设置 221 4.33使用XST的棕合流程 226 4.4全局时钟与第二全局时钟资源 270 441局时钟源简介 229 4.42 常用的与全局时钟资源相关的Xilinx器件原语 230 4.4.3 Xilinx全局时钟资源的使用方法 232 4.4.4 使用Xilinx全局时钟萱源的注意事项 233 445 第二全局时钟资源 235 45小结 236 4.6问题与思考 236 第5章约束 237 5.1概述 237 5.2时序约束 239 5.2.1周期约来(PERIOD约来) 239 533 偏移约束(OFFSET约来) 34 23专门约束 53 分组约束 5.3.1TNM约束 248 532 TNM NET约来 257 5.3.3 TIMEGRP约束 251 534 TPTHRU约来 5.3 C约来 5.4约束编辑器 -Constraints Edito 5.4.1 Constraints Editor的用户界面 253 3
3 3.7 小结 ...................................................................................................................................159 3.8 问题与思考........................................................................................................................159 第 4 章 ISE 中集成的综合工具........................................................................................161 4.1 新兴的高效综合工具──Synplify/Synplify Pro.............................................................161 4.1.1 Synplify/Synplify Pro 的功能与特点.......................................................................161 4.1.2 Synplify Pro 的用户界面 ..........................................................................................168 4.1.3 Synplify Pro 综合流程 ..............................................................................................171 4.1.4 Synplify Pro 的其他综合技巧 ..................................................................................193 4.2 Xilinx 最早的合作伙伴──Synopsys 综合工具 ............................................................205 4.2.1 设计流程....................................................................................................................206 4.2.2 FE 综合优化过程......................................................................................................208 4.2.3 FST 操作说明............................................................................................................217 4.3 Xilinx 内嵌的综合工具──XST.....................................................................................220 4.3.1 XST 综述...................................................................................................................220 4.3.2 XST 综合属性设置...................................................................................................221 4.3.3 使用 XST 的综合流程..............................................................................................226 4.4 全局时钟与第二全局时钟资源........................................................................................229 4.4.1 全局时钟资源简介....................................................................................................229 4.4.2 常用的与全局时钟资源相关的 Xilinx 器件原语....................................................230 4.4.3 Xilinx 全局时钟资源的使用方法.............................................................................232 4.4.4 使用 Xilinx 全局时钟资源的注意事项....................................................................233 4.4.5 第二全局时钟资源....................................................................................................235 4.5 小结 ...................................................................................................................................236 4.6 问题与思考........................................................................................................................236 第 5 章 约束 .......................................................................................................................... 237 5.1 概述 ...................................................................................................................................237 5.2 时序约束 ...........................................................................................................................239 5.2.1 周期约束(PERIOD 约束) ....................................................................................239 5.2.2 偏移约束(OFFSET 约束) ....................................................................................242 5.2.3 专门约束....................................................................................................................245 5.3 分组约束 ...........................................................................................................................248 5.3.1 TNM 约束..................................................................................................................248 5.3.2 TNM_NET 约束........................................................................................................251 5.3.3 TIMEGRP 约束.........................................................................................................251 5.3.4 TPTHRU 约束...........................................................................................................252 5.3.5 TPSYNC 约束 ...........................................................................................................252 5.4 约束编辑器──Constraints Editor...................................................................................253 5.4.1 Constraints Editor 的用户界面..................................................................................253