《Xilinx FPGA高级设计及应用》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:汤琦,蒋军敏编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121166266
  • 页数:284 页
图书介绍:本书用简洁的语言向读者展示了FPGA高质量和可靠性设计中必须掌握的概念、思想和设计方法,如FPGA设计思想、高速数据传输系统设计、高级配置管理、空间应用可靠性设计、分区设计和高效测试系统设计等。本书来源于工程实际,选取的专题都是实际工程开发中必须面对、难度很高的问题。作者结合多年的工作经验编写了本书,书中深入剖析了其实现原理和技术细节,并提供了使用方法和实例。

第1章 概述 1

1.1 可编程逻辑器件与PLD开发工具 1

1.1.1 可编程逻辑器件 1

1.1.2 可编程逻辑器件的发展历史 1

1.1.3 PLD开发工具 2

1.2 FPGA工作原理与开发流程 3

1.3 可编程技术 5

1.3.1 SRAM编程技术 5

1.3.2 Flash/E2PROM编程技术 6

1.3.3 反熔丝编程技术 6

1.3.4 编程技术比较 7

1.4 FPGA芯片结构 7

1.4.1 可编程输入/输出单元(IOB) 7

1.4.2 可配置逻辑块(CLB) 8

1.4.3 数字时钟管理模块(DCM) 9

1.4.4 嵌入块式RAM(BRAM) 10

1.4.5 布线资源 10

1.4.6 内嵌功能单元 11

1.4.7 内嵌专用硬核 11

1.4.8 软核、硬核及固核的概念 11

1.5 Xilinx公司FPGA介绍 12

1.5.1 Spartan系列 12

1.5.2 Virtex系列 17

第2章 FPGA设计思想 22

2.1 可综合设计思想 22

2.1.1 VHDL语言概述 22

2.1.2 设计层次 23

2.1.3 可综合描述规范 23

2.1.4 组合逻辑电路可综合设计 25

2.1.5 时序逻辑电路可综合设计 26

2.2 面积与速度互换思想 28

2.2.1 利用层次化设计控制设计结构 28

2.2.2 if语句和case语句控制实现结构 30

2.2.3 减少关键路径的逻辑级数 31

2.2.4 流水线Pipelining 32

2.2.5 串行转并行处理 34

2.2.6 组合逻辑和时序逻辑分离 35

2.3 时钟设计思想 38

2.3.1 工作时钟模型 38

2.3.2 全局时钟 39

2.3.3 门控时钟 39

2.3.4 多级逻辑时钟 42

2.3.5 行波时钟 44

2.3.6 多时钟系统 44

2.3.7 Xilinx FPGA中的时钟资源 46

2.3.8 时序约束 54

2.4 同步设计思想 57

2.4.1 异步电路和同步电路 57

2.4.2 一般组合逻辑的同步设计 58

2.4.3 二次时钟的同步设计 59

2.4.4 多时钟系统的同步设计 59

2.4.5 非同源时钟同步化(D触发器使能信号的合理使用) 61

2.4.6 数据接口同步设计 62

2.5 延时电路设计思想 64

2.6 复位电路设计思想 66

2.6.1 同步复位 66

2.6.2 异步复位 68

2.6.3 触发器组模块的复位 70

2.6.4 复位电路的同步化方法 71

2.7 抗干扰设计思想 73

2.7.1 干扰产生的原因 73

2.7.2 干扰抑制设计方法 73

2.7.3 基于采样法的串口通信设计 75

2.8 可靠性设计检查单 79

第3章 高速数据传输设计 81

3.1 概述 81

3.1.1 高速数据通信的发展现状 81

3.1.2 几种高速数据通信方案简介 81

3.2 高速数据传输中的同步技术 83

3.2.1 同步方法及其特点 84

3.2.2 同步方式比较及对数据通信的影响 85

3.3 FPGA对同步技术的支持 86

3.3.1 动态相位调整技术 86

3.3.2 基于ChipSync的动态相位调整方法 88

3.3.3 串行收发器SERDES(ISERDES和OSERDES) 90

3.4 应用实例——基于SERDES的多路高速同步传输系统 96

3.4.1 系统方案 96

3.4.2 发送模块 97

3.4.3 接收模块 101

3.5 基于RocketIO的高速数据传输系统 113

3.5.1 自同步通信系统架构 113

3.5.2 RocketIO简介 115

3.5.3 基于标准协议的可靠通信模型 116

3.5.4 应用实例——基于自定义协议的即时传输系统 118

3.6 高速数据通信的加固设计 121

3.6.1 数据通信加固的概念 121

3.6.2 交织汉明码原理及其性能分析 121

3.6.3 基于交织汉明码的高速通信加固设计 125

3.7 LVDS应用设计 126

3.7.1 LVDS简介 126

3.7.2 LVDS系统设计 128

第4章 Xilinx FPGA高级配置管理 130

4.1 配置模式 130

4.1.1 配置接口及配置模式 130

4.1.2 配置引脚 131

4.1.3 SelectMAP接口 132

4.1.4 和配置相关的BitGen选项 133

4.2 配置电路 135

4.2.1 配置时的电源要求 135

4.2.2 常用配置存储器介绍 136

4.2.3 主串模式配置电路 136

4.2.4 主从模式配置电路 138

4.2.5 SelectMAP模式配置电路 140

4.3 FPGA配置过程 141

4.3.1 配置数据流加载过程 141

4.3.2 从串模式配置过程 143

4.3.3 SelectMAP模式配置数据加载 144

4.3.4 延时加载 151

4.4 配置命令分析 151

4.4.1 配置帧 152

4.4.2 配置数据流类型 152

4.4.3 配置帧寻址方式 153

4.4.4 配置寄存器 155

4.4.5 配置命令执行过程分析 157

4.4.6 配置数据解析程序 160

4.5 配置内存回读 162

4.5.1 回读准备设计 163

4.5.2 回读指令序列 163

4.5.3 回读数据校验 166

4.6 配置内存重构(刷新) 168

4.6.1 SelectMAP模式下重构流程 168

4.6.2 刷新对系统功能的影响 169

4.7 SelectMAP接口下重配置实现代码 177

4.8 配置数据文件格式分析 181

4.8.1 字节格式 181

4.8.2 文件格式 182

第5章 空间应用可靠性设计 188

5.1 集成电路单粒子效应的机理 188

5.2 单粒子翻转故障模式 189

5.3 SRAM型FPGA单粒子问题的缓解措施 192

5.3.1 循环加电 192

5.3.2 配置管理 192

5.3.3 Xilinx三模冗余 193

5.3.4 器件冗余 193

5.4 三模冗余设计方法介绍 193

5.4.1 三模冗余原理 194

5.4.2 TMR Tool工具介绍 196

5.4.3 TMR Tool设计流程 196

5.4.4 创建一个ISE工程完成三模冗余前的设计 197

5.4.5 创建一个TMR Tool工程产生三模冗余后的网表 197

5.4.6 创建第二个ISE工程完成三模冗余后的设计 201

5.4.7 三模冗余技术问题分析 201

5.5 Half-Latch处理 207

5.6 异步FIFO处理 208

5.7 配置、刷新一体化方法 209

5.7.1 实现电路 209

5.7.2 工作流程及控制时序 210

5.7.3 SelectMAP接口Active刷新实现 212

第6章 分区设计 219

6.1 为什么使用分区设计 219

6.2 分区与SmartGuide 221

6.3 如何使用分区 222

6.4 用Synplify 8.8.1实现分区 223

6.5 分区保留级别 223

6.6 分区保留 224

6.7 对分区进行布局规划 225

6.8 删除分区 226

6.9 结论 226

第7章 高效验证(TestBench)设计 227

7.1 为什么要进行仿真验证 227

7.2 仿真验证程序设计 229

7.2.1 仿真的三个阶段 229

7.2.2 仿真的注意事项 229

7.2.3 仿真程序结构 229

7.3 使用TestBench对设计进行仿真 231

7.4 双向总线信号仿真 233

7.5 基于TEXTIO的交互式仿真 234

7.5.1 基于TEXTIO的测试程序 234

7.5.2 TEXTIO 235

7.5.3 基于TEXTIO的交互式仿真实例 236

7.6 几种常用的FPGA系数表文件产生方法 241

7.6.1 滤波器系数表 241

7.6.2 RAM系数表 242

7.6.3 I/O文件 243

第8章 综合实例——数字DBF系统 244

8.1 系统实现结构 244

8.2 数字下变频(DDC) 244

8.3 数据传输模块 248

8.4 波束形成的实现 249

附录A 类型转换 255

附录B 文件操作 262

附录C 常用元件的规范化设计示例 265

附录D FPGA设计流程 279

参考文献 282