第1章 CoolRunner-Ⅱ系列器件结构及描述 1
1.1 概述 1
1.2 CoolRunner-Ⅱ器件的逻辑结构 1
1.2.1功能模块 2
1.2.2高级内部互连矩阵 4
1.2.3输入输出模块 5
1.2.4时钟分频器模块 7
1.3 CoolRunner-Ⅱ器件的时序模型 8
1.3.1时序模型描述 8
1.3.2时序模型设计范例 9
1.4 CoolRunner-Ⅱ器件的设计和使用 12
1.4.1双沿触发寄存器的使用 12
1.4.2时钟分频器的使用 12
1.4.3频率合成的使用 13
1.4.4门控功能的应用 14
1.4.5施密特触发器的应用 14
1.4.6输入输出标准的应用 15
1.4.7输入输出引脚作为参考电源输入的设置 17
1.5本章小结 19
第2章 Virtex-Ⅱ /Virtex-Ⅱ Pro系列器件结构及描述 20
2.1概述 20
2.2 Virtex-Ⅱ系列器件结构和特性 21
2.2.1 Virtex-Ⅱ系列器件特性 21
2.2.2 Virtex-Ⅱ的逻辑结构 22
2.3 Virtex-Ⅱ Pro系列器件结构和特性 35
2.3.1 Virtex-Ⅱ Pro系列器件简介 35
2.3.2 Virtex-Ⅱ Pro系列器件的组织结构 36
2.4 Virtex-Ⅱ Pro X系列器件简介 43
2.5本章小结 44
第3章 Spartan-Ⅱ E和Spartan-3系列器件结构及描述 45
3.1概述 45
3.2 Spartan-Ⅱ E系列FPGA 45
3.2.1 Spartan-ⅡE器件简介 45
3.2.2 Spartan-Ⅱ E器件结构描述 46
3.3 Spartan-3系列FPGA 52
3.3.1 Spartan-3器件简介 52
3.3.2 Spartan-3器件结构描述 54
3.4本章小结 67
第4章 ISE 6.x设计工具简介和使用 68
4.1概述 68
4.2 Xilinx设计流程 69
4.3 ISE 6.1软件的使用 71
4.3.1设计开始 71
4.3.2设计输入(VHDL) 71
4.3.3仿真行为模型(功能仿真) 76
4.3.4使用ModelSim进行仿真 79
4.3.5设计输入 81
4.3.6设计实现 85
4.3.7对顶层设计进行仿真(时序仿真) 86
4.3.8 EDIF设计方法 89
4.4 引脚与区域约束编辑器(PACE) 92
4.4.1利用PACE指定输入输出的引脚和特性 92
4.4.2利用PACE工具完成对逻辑区域的控制 95
4.4.3 PACE的SSO分析和DRC功能 96
4.4.4 PACE时序分析功能 97
4.5 Xilinx综合技术XST 100
4.6 Xilinx器件的设计实现 105
4.7 Xilinx器件的编程和配置工具iMPACT 111
4.7.1编程参数的说明和选择 112
4.7.2编程工具iMPACT的配置模式概述 116
4.7.3编程工具iMPACT的使用 116
4.7.4用iMPACT编程工具执行和下载配置文件 118
4.8本章小结 121
第5章 ISE 6的辅助设计工具 122
5.1 概述 122
5.2 IP核生成工具 122
5.2.1 Core Generator在ISE 6工具中的使用 123
5.2.2用Core Generator建立一个新的工程 125
5.2.3 CoreGen中的存储器编辑器 129
5.3布局规划器 129
5.3.1布局规划器概述 129
5.3.2布局规划器的功能和应用 130
5.3.3布局规划器的使用 131
5.4 FPGA底层编辑器 136
5.4.1 FPGA底层编辑器概述 136
5.4.2 FPGA底层编辑器的使用 137
5.5集成化逻辑分析工具 144
5.5.1集成化逻辑分析工具简介 144
5.5.2集成化逻辑分析工具的组成和设计流程 145
5.5.3 ChipScope Pro 6.li的操作和使用 147
5.6 XPower功耗分析工具 159
5.6.1 XPower概述 160
5.6.2XPower的使用 161
5.7本章小结 167
第6章 约束设计与时序分析 169
6.1概述 169
6.2时序约束 170
6.2.1周期约束 171
6.2.2偏移约束 173
6.2.3特定约束 175
6.2.4分组约束 177
6.3约束编辑器 180
6.3.1约束编辑器的使用 180
6.3.2约束设计的范例 188
6.4时序分析器 189
6.4.1时序分析器的用户界面 189
6.4.2时序分析器的使用 190
6.4.3时序分析报告的分析和阅读 196
6.5本章小结 206
第7章 可编程逻辑器件的高级设计 208
7.1 概述 208
7.2宏生成器 209
7.2.1宏生成器简介 209
7.2.2 RPM设计流程和设计步骤 210
7.2.3用于RPM设计的约束命令 210
7.2.4使用RPM(宏生成)的设计范例 212
7.3增量设计 216
7.3.1增量设计简介和设计流程 216
7.3.2增量设计的运用 218
7.3.3使用增量设计的范例 221
7.4模块化设计 225
7.4.1模块化设计流程 225
7.4.2模块化设计的运用 227
7.4.3模块化设计的应用技巧 232
7.4.4模块化设计的应用范例 236
7.5本章小结 242
第8章 Xilinx可编程逻辑器件设计技巧 243
8.1 概述 243
8.2可编程逻辑器件的时钟设计 243
8.2.1时钟设计概述 243
8.2.2片内时钟的设计 244
8.2.3系统时钟的设计 249
8.3 同步设计与提高器件工作速度 249
8.3.1 同步设计 249
8.3.2提高器件工作速度 251
8.4存储器设计 253
8.4.1可编程逻辑器件的片内存储器概述 253
8.4.2存储器模块的HDL代码实现 254
8.5 可编程逻辑器件FPGA的配置 261
8.5.1FPGA器件配置模式 261
8.5.2 FPGA器件配置流程 265
8.5.3 FPGA器件配置时常见的问题 266
8.6可编程逻辑器件的电源、接地和去耦网络设计 267
8.6.1电源设计的重要性 267
8.6.2几种典型的电源电路 268
8.6.3去耦(旁路)电容设计 270
8.6.4接地设计 272
8.7 LVDS接口设计 274
8.7.1 LVDS概述 274
8.7.2 LVDS的使用 274
8.8 CPLD器件设计中需注意的一些问题 276
8.8.1设计的优化处理 277
8.8.2锁存器和触发器 277
8.8.3 case语句和if…else语句的使用 278
8.8.4 XC95系列CPLD乘积项与触发器 279
8.8.5 CPLD器件的多接口电平应用 280
8.9本章小结 280
第9章 Virtex-Ⅱ Pro MGT高速串行I/O设计 282
9.1概述 282
9.1.1推动串行连接发展的因素 282
9.1.2高速串行通信的拓扑结构 283
9.1.3 Xilinx在高速串行通信方面的策略 283
9.2 Virtex-Ⅱ Pro Rocket I/O体系结构 284
9.3 Virtex-Ⅱ Pro Rocket I/O原理与应用 285
9.3.1 Virtex-Ⅱ Pro MGT收发器模块信号定义和说明 285
9.3.2发送缓冲器和接收弹性缓冲器 289
9.3.3 8B/10B编码 290
9.3.4时钟修正和通道绑定 290
9.3.5 MGT时钟设计 294
9.3.6 MGT的循环冗余码校验设计 299
9.4 Virtex-ⅡPro MGT设计范例 300
9.4.1建立一个新的工程和MGT、DCM模块 300
9.4.2建立一个顶层文件和用核生成工具生成块存储器 305
9.4.3完成顶层设计文件 309
9.5本章小结 322
第10章 32位嵌入式处理器设计 323
10.1概述 323
10.2 Virtex-Ⅱ Pro的PowerPC 405处理器内核概述 324
10.2.1 PowerPC 405嵌入式处理器结构和特性 324
10.2.2 PowerPC 405的应用模式 324
10.2.3 PowerPC 405处理器的总线结构 325
10.3 MicroBlaze 32位嵌入式处理器概述 327
10.3.1 MicroBlaze处理器结构 327
10.3.2 MicroBlaze处理器的总线接口 327
10.4基于Virtex-Ⅱ Pro器件的超级控制器 329
10.5 PowerPC 405和MicroBlaze嵌入式处理器的设计流程 329
10.5.1 EDK 6.1开发工具简介 329
10.5.2 EDK 6.1开发工具的使用 333
10.5.3 PowerPC405和MicroBlaze处理器硬件和软件设计流程 337
10.5.4为嵌入式处理器增加用户内核 338
10.6 PowerPC 405和MicroBlaze处理器设计范例 339
10.6.1 PowerPC 405处理器设计说明 339
10.6.2 PowerPC 405处理器设计流程 339
10.6.3在ISE 6.1工程管理器中创建一个新的处理器设计XMP文件 340
10.7为处理器增加外围设备设计范例 351
10.7.1使用向导工具建立用户OPB外部设备 352
10.7.2将所生成的用户OPB外部设备加入系统 356
10.7.3实现设计 358
10.8本章小结 358
第11章 PicoBlaze 8位嵌入式微控制器设计 360
11.1概述 360
11.2 PicoBlaze的逻辑结构 360
11.2.1通用处理器的基本结构 360
11.2.2 PicoBlaze处理器的基本结构 362
11.2.3 PicoBlaze处理器的指令系统 365
11.3 PicoBlaze设计流程 371
11.3.1 PicoBlaze处理器的设计 371
11.3.2 CoolBlaze处理器设计流程 372
11.4重新定制PicoBlaze处理器和设计范例 375
11.4.1定制新的CoolBlaze处理器 375
11.4.2 CoolBlaze处理器设计范例 376
11.5本章小结 377
第12章 高速电路设计和信号完整性分析 378
12.1 概述 378
12.2信号完整性的提出 379
12.2.1传输线效应 379
12.2.2信号的边沿速率 380
12.2.3同步切换噪声(SSN)和地线反弹 380
12.2.4串扰(交调干扰) 381
12.2.5反射、振铃、环绕振荡 382
12.3高速电路设计和端接技术 383
12.3.1阻抗匹配原理 383
12.3.2典型的传输线端接方案 384
12.3.3 Xilinx器件的阻抗匹配和端接方案 388
12.3.4阻抗端接技术的仿真分析 389
12.4本章小结 394
第13章 第三方设计与开发工具 395
13.1概述 395
13.2 ModelSim仿真验证工具 395
13.2.1 ModelSim简介 395
13.2.2 ISE环境下的ModelSim使用 397
13.2.3测试激励程序Testbench 400
13.3 Synplify和Synplify Pro高性能综合工具 403
13.3.1 Synplify和Synplify Pro简介 403
13.3.2 Synplify Pro综合工具的使用 404
13.3.3 Synplify Pro综合工具的高级应用 409
13.3.4针对Xilinx器件的综合设计 414
13.4本章小结 416