图书简介: 本书以FPGA/CPLD设计流程为主线,阐述了如何合理地利用ISE设计平台集成的各种设计工具,高效地完成FPGA/CPLD的设计方法与技巧。全书在介绍FPGA/CPLD概念和设计流程的基础上,依次论述了工程管理与设计输入、仿真、综合、约束、实现与布局布线、配置调试等主要设计步骤在ISE集成环境中的实现方法与技巧。
本书立足于工程实践,结合作者多年工作经验,选用大量典型实例,并配有一定数量的练习题。本书配套光盘收录了所有实例的完整工程目录、源代码、详细操作步骤和使用说明,利于读者边学边练,提高实际应用能力。
本书可作为高等院校通信工程、电子工程、计算机、微电子与半导体学等专业的教材,也可作为硬件工程师和IC工程师的实用工具书。
《FPGA/CPLD设计工具___XilinxISE使用详解》图书目录如下: |
第1章 ISE系统简介 11.1 FPGA/CPLD简介 11.1.1 FPGA/CPLD的基本原理 21.1.2 FPGA和CPLD的特点 71.2 FPGA/CPLD的设计流程 91.3 ISE系列产品的特点 111.3.1 特点综述 111.3.2 ISE的新增特性 121.4 ISE 6.x支持的器件 141.5 ISE的4个软件系列 141.6 ISE的系统配置与安装 181.6.1 推荐的系统配置 181.6.2 ISE 的安装 191.7 ISE中集成工具及其基本功能 211.8 常用专有名词解释 271.9 小结 291.10 问题与思考 29 第2章 工程管理器与设计输入工具 312.1 ISE工程管理器──Project Navigator 312.1.1 Project Navigator综述 312.1.2 Project Navigator的用户界面 322.1.3 使用Project Navigator创建并管理工程 382.2 HDL语言的输入工具──HDL Editor 432.2.1 HDL Editor综述 432.2.2 源代码输入的好助手──Language Templates 442.3 状态机输入工具──StateCAD 452.3.1 StateCAD综述 462.3.2 StateCAD的用户界面 462.3.3 使用StateCAD设计状态机 512.4 原理图输入工具──ECS 622.4.1 ECS综述 632.4.2 ECS的用户界面 632.4.3 使用ECS完成原理图输入设计 662.4.4 使用ECS进行混合设计的方法 732.5 IP核生成工具──CORE Generator 742.5.1 CORE Generator综述 742.5.2 CORE Generator的用户界面 752.5.3 使用CORE Generator生成IP核的方法与技巧 782.6 测试激励生成器──HDL Bencher 832.6.1 HDL Bencher综述 832.6.2 使用HDL Bencher生成测试激励 852.7 设计结构向导──Architecture Wizard 912.7.1 Architecture Wizard综述 912.7.2 Architecture Wizard使用方法 912.8 小结 942.9 问题与思考 94 第3章 仿真工具 953.1 ModelSim的用户接口 973.1.1 行为仿真 993.1.2 时序仿真 1013.1.3 高级设置 1023.2 ModelSim仿真窗口综述 1043.3 仿真环境的建立 1143.3.1 各仿真切入点需要的库文件 1143.3.2 仿真库文件说明 1153.3.3 库文件编译 1163.3.4 仿真库的命名 1203.4 一个简单的仿真示例 1213.4.1 在ModelSim环境下进行仿真 1213.4.2 在ISE集成环境中进行仿真 1283.5 ModelSim中的调试方法 1303.5.1 源文件窗口调试 1303.5.2 波形窗口调试 1323.5.3 数据流窗口调试 1353.5.4 存储器窗口调试 1403.5.5 变量窗口调试 1423.5.6 列表窗口调试 1453.6 ModelSim的其他常用操作 1463.6.1 自动仿真 1463.6.2 WLF文件 1493.6.3 波形比较 1513.6.4 SDF文件 1563.6.5 VCD文件 1573.7 小结 1593.8 问题与思考 159 第4章 ISE中集成的综合工具 1614.1 新兴的高效综合工具──Synplify/Synplify Pro 1614.1.1 Synplify/Synplify Pro 的功能与特点 1614.1.2 Synplify Pro的用户界面 1684.1.3 Synplify Pro综合流程 1714.1.4 Synplify Pro的其他综合技巧 1934.2 Xilinx最早的合作伙伴──Synopsys综合工具 2054.2.1 设计流程 2064.2.2 FE综合优化过程 2084.2.3 FST操作说明 2174.3 Xilinx内嵌的综合工具──XST 2204.3.1 XST综述 2204.3.2 XST综合属性设置 2214.3.3 使用XST的综合流程 2264.4 全局时钟与第二全局时钟资源 2294.4.1 全局时钟资源简介 2294.4.2 常用的与全局时钟资源相关的Xilinx器件原语 2304.4.3 Xilinx全局时钟资源的使用方法 2324.4.4 使用Xilinx全局时钟资源的注意事项 2334.4.5 第二全局时钟资源 2354.5 小结 2364.6 问题与思考 236 第5章 约束 2375.1 概述 2375.2 时序约束 2395.2.1 周期约束(PERIOD约束) 2395.2.2 偏移约束(OFFSET约束) 2425.2.3 专门约束 2455.3 分组约束 2485.3.1 TNM约束 2485.3.2 TNM_NET约束 2515.3.3 TIMEGRP约束 2515.3.4 TPTHRU约束 2525.3.5 TPSYNC约束 2525.4 约束编辑器──Constraints Editor 2535.4.1 Constraints Editor的用户界面 2535.4.2 附加全局约束 2545.4.3 附加端口约束 2565.4.4 附加分组约束和时序约束 2575.4.5 附加专用约束 2615.5 引脚与区域约束编辑器──PACE 2625.5.1 PACE的用户界面 2635.5.2 附加区域约束 2665.5.3 附加I/O引脚约束 2675.6 约束文件 2685.6.1 约束文件的概念 2685.6.2 UCF、NCF文件的基本语法规则 2695.7 小结 2715.8 问题与思考 271 第6章 辅助设计工具 2736.1 时序分析器──Timing Analyzer 2736.1.1 时序分析器的用户界面 2746.1.2 时序分析器的作用及设计流程 2756.1.3 基本时序路径 2766.1.4 时序分析器的使用方法 2826.2 布局规划器──Floorplanner 2866.2.1 布局规划器的用户界面 2866.2.2 布局规划器的特点及作用 2886.2.3 布局规划设计流程 2896.2.4 设计示例 2926.3 FPGA底层编辑器──FPGA Editor 2976.3.1 FPGA底层编辑器的用户接口 2976.3.2 FPGA底层编辑器的作用 2986.3.3 FPGA底层编辑器输入输出文件 3006.3.4 FPGA底层编辑器的工作流程 3016.3.5 使用FPGA底层编辑器的预备知识 3016.3.6 设计示例 3036.4 小结 3086.5 问题与思考 308 第7章 XPower、iMPACT和ChipScope Pro 3097.1 XPower 3097.1.1 XPower综述 3097.1.2 XPower的用户界面 3107.1.3 用XPower分析功耗 3137.2 iMPACT 3167.2.1 iMPACT综述 3167.2.2 iMPACT的用户界面 3177.2.3 用iMPACT下载配置文件 3207.3 ChipScope Pro 3287.3.1 ChipScope Pro综述 3287.3.2 ChipScope Pro Core Inserter 3307.3.3 ChipScope Pro Analyzer 3367.4 小结 3417.5 问题与思考 341 第8章 模块化与增量式设计方法 3438.1 模块化设计方法的基本概念 3438.2 模块化设计方法的设计流程 3448.2.1 Modular Design的设计输入与综合步骤 3458.2.2 Modular Design的实现步骤 3468.3 模块化设计方法的注意事项 3508.3.1 Modular Design的应用场合 3508.3.2 Modular Design的设计效能 3518.3.3 Modular Design的目录管理 3528.3.4 Modular Design的常用约束 3528.3.5 Modular Design的报告查看 3538.3.6 使用XFLOW自动进行模块化设计 3538.4 模块化设计方法的设计实例 3558.5 增量式设计方法的基本概念 3648.6 增量设计方法的设计流程 3668.6.1 增量综合 3678.6.2 增量实现 3698.7 增量设计方法的设计实例 3728.8 小结 3798.9 问题与思考 381 第9章 融会贯通──“运动计时表”设计 3839.1 示例背景 3849.2 多元混合设计输入方法 3859.2.1 新建工程“watch_sc” 3859.2.2 使用ECS绘制“cnt60”和“outs3”模块原理图 3869.2.3 使用Core Generator生成“tenths”IP核 3929.2.4 使用StateCAD设计“stmach_v”状态机 3959.2.5 使用Architecture Wizard生成时钟管理模块“dcm1” 4039.2.6 使用语言模板设计“hex2led”和“decode”的HDL源代码 4059.2.7 使用ECS设计顶层原理图 4089.3 测试激励与行为级功能仿真 4099.3.1 使用HDL Bencher生成测试激励 4109.3.2 调用ModelSim进行行为级功能仿真 4129.4 Synplify Pro和XST综合方法 4139.4.1 使用XST综合整个设计 4139.4.2 使用Synplify Pro的特色工具分析、优化设计 4159.5 设计用户约束文件与实现结果的分析 4219.5.1 使用Constraints Editor设计UCF文件 4229.5.2 使用PACE设计UCF 4259.5.3 实现步骤与实现结果分析 4279.6 使用ModelSim进行布线后仿真 4329.7 使用iMPACT配置FPGA/CPLD 4339.8 小结 4389.9 问题与思考 438 第10章 ISE实战──I2C接口设计 43910.1 EFX-SP200──实验开发系统简介 43910.2 I2C总线简介 44010.2.1 I2C总线上的数据传输 44110.2.2 I2C总线寻址 44310.2.3 时钟同步与仲裁 44510.2.4 I2C协议的扩展 44610.3 I2C总线应用实例──AT24C系列EEPROM 44610.3.1 AT24C02概述 44710.3.2 写操作 44810.3.3 读操作 44810.3.4 AT24C在IC卡中的应用简介 44910.4 I2C总线控制器设计详解 45010.4.1 I2C总线控制器总体描述 45110.4.2 μC接口设计 45210.4.3 I2C接口设计 45810.4.4 混合仿真验证 46910.4.5 上板调试 47810.5 小结 47810.6 问题与思考 478 |