丛书序 1
前言 1
第1章 ISE开发工具简介 1
1.1 FPGA/CPLD的历史 1
1.2 FPGA/CPLD的基本原理 2
1.2.1 基于查找表的FPGA原理 2
1.2.2 基于乘积项的CPLD原理 3
1.3 FPGA/CPLD的特点 4
1.4 FPGA/CPLD的设计流程 5
1.5 ISE 7.1i的新增特点 10
1.6 ISE 7.1i的安装 12
1.7 ISE 7.1i的集成工具及基本功能 15
1.8 专有名词解释 18
2.1 Project Navigator概述 21
第2章 ISE的工程管理器Project Navigator 21
2.2 使用Project Navigator创建工程 31
第3章 第三方仿真工具ModelSim 33
3.1 ModelSim概述 33
3.2 安装ModelSim 33
3.3 关联ISE与ModelSim 36
3.4 编译ModelSim中的Xilinx仿真库 38
3.4.1 使用ISE集成开发环境进行编译 38
3.4.2 使用compxlib命令在DOS命令行下进行编译 40
3.5 在ISE中启动ModelSim进行仿真 44
第4章 设计输入工具 50
4.1 HDL输入工具HDL Editor 50
4.1.1 源代码输入模板Language Templates 51
4.1.2 设计实例 53
4.2 测试激励生成器HDL Bencher 58
4.2.1 使用模板编写测试激励 59
4.2.2 使用HDL Bencher生成测试激励 62
4.3 状态机输入工具StateCAD 70
4.3.1 StateCAD概述 70
4.3.2 StateCAD的界面 71
4.3.3 StateCAD的工具栏 72
4.3.4 设计实例 77
4.4 原理图输入工具ECS 90
4.4.1 ECS概述 90
4.4.2 ECS的界面 91
4.4.3 设计实例 96
4.5 IP核生成工具(Core Generator) 101
4.5.1 IP核的概念 102
4.5.2 CORE Generator的界面 102
4.5.3 设计实例 107
4.6.2 设计实例 116
4.6 设计结构向导Architecture Wizard 116
4.6.1 Architecture Wizard概述 116
第5章 综合工具XST 125
5.1 XST概述 125
5.2 XST综合属性设置 125
5.2.1 综合参数设置 126
5.2.2 HDL源代码参数设置 129
5.2.3 Xilinx专用参数设置 131
5.3 使用XST进行综合 134
第6章 约束设计工具 138
6.1 约束编辑器(Constrains Editor) 138
6.1.1 Constraints Editor的界面 138
6.1.2 添加全局约束 140
6.1.4 添加分组约束和时序约束 143
6.1.3 添加端口约束 143
6.1.5 添加专用约束 145
6.2 引脚与区域约束编辑器(PACE) 146
6.2.1 PACE的界面 147
6.2.2 添加I/O引脚约束 153
6.2.3 添加区域约束 155
第7章 辅助设计工具 158
7.1 时序分析器(Timing Analyzer) 158
7.1.1 时序分析器的界面 158
7.1.2 使用时序分析器进行时序分析 160
7.2 布局规划器(Floor Planner) 166
7.3 FPGA底层编辑器(FPGA Editor) 167
7.4 功耗仿真器XPower 169
7.4.1 XPower的界面 170
7.4.2 使用XPower分析功耗 175
第8章 下载配置工具iMPACT 180
8.1 iMPACT概述 180
8.2 iMPACT的界面 180
8.3 用iMPACT下载配置文件 186
8.3.1 生成PROM文件 186
8.3.2 下载配置文件 192
第9章 使用SPI控制ADC芯片 199
9.1 任务概述 199
9.1.1 SPI简介 199
9.1.2 ADS1256简介 200
9.1.3 学习芯片的技术数据文档 201
9.1.4 数模混合电路的设计要点 208
9.2 顶层程序模块的设计 210
9.3 时钟模块的设计 216
9.4 延迟模块的设计 218
9.5 初始化模块的设计 221
9.6 A/D转换控制模块的设计 226
9.6.1 切换模拟输入通道模块的设计 234
9.6.2 发送控制字模块的设计 239
9.6.3 读数据模块的设计 242
9.7 使用ModelSim进行行为级仿真 246
9.8 综合与实现 250
9.8.1 使用XST进行综合 250
9.8.2 使用PACE添加I/O引脚约束 250
9.8.3 分析实现结果 253
9.9 使用ModelSim进行布局布线后仿真 255
9.10 使用iMPACT配置器件 256
10.1.1 CAN总线简介 270
10.1.2 MCP2515简介 270
10.1 任务概述 270
第10章 使用FPGA和MCP2515实现CAN总线接口 270
10.1.3 学习芯片的技术数据文档 271
10.2 顶层程序模块的设计 274
10.3 时钟模块的设计 280
10.4 延时模块的设计 281
10.5 初始化模块的设计 281
10.6 数据缓冲模块的设计 304
10.7 控制模块的设计 309
10.7.1 写发送缓冲器标志符位模块的设计 316
10.7.2 写发送缓冲器数据位模块的设计 321
10.7.3 请求发送模块的设计 327
10.8 使用ModelSim进行行为级仿真 331
参考文献 335