第1章 FPGA概述 1
1.1 引言 1
1.1.1 FPGA 1
1.1.2 可编程能力和DSP 3
1.2 芯片发展简介 4
1.2.1 技术特点 6
1.3 可编程能力的影响 7
1.4 FPGA面临的挑战 9
参考文献 10
第2章 DSP基础 11
2.1 引言 11
2.2 DSP系统基础 12
2.3 DSP系统定义 13
2.3.1 采样速率 14
2.3.2 时延和流水线 15
2.4 DSP变换 17
2.4.1 快速傅里叶变换 17
2.4.2 离散余弦变换 18
2.4.3 小波变换 19
2.4.4 离散小波变换 19
2.5 滤波器结构 21
2.5.1 有限冲激响应滤波器 21
2.5.2 相关 23
2.5.3 无限冲激响应滤波器 23
2.5.4 波形数字滤波器 25
2.6 自适应滤波 27
2.7 自适应滤波基础 27
2.7.1 自适应滤波器的应用 28
2.7.2 自适应算法 30
2.7.3 LMS算法 31
2.7.4 RLS算法 32
2.8 总结 34
参考文献 34
第3章 算术运算基础 36
3.1 引言 36
3.2 数字系统 37
3.2.1 数字表示 37
3.3 定点和浮点 40
3.3.1 浮点表示 40
3.4 算术运算 41
3.4.1 加法器和减法器 42
3.4.2 乘法器 44
3.4.3 除法 46
3.4.4 二次方根 47
3.5 定点和浮点的比较 51
3.6 总结 53
参考文献 54
第4章 FPGA技术概述 56
4.1 引言 56
4.2 架构和可编程能力 57
4.3 DSP功能特点 58
4.4 处理器分类 60
4.5 微处理器 60
4.5.1 ARM微处理器架构系列 62
4.6 DSP微处理器 62
4.6.1 DSP微运算 65
4.7 并行机 66
4.7.1 脉动阵列 66
4.7.2 SIMD架构 68
4.7.3 MIMD架构 72
4.8 专用ASIC和FPGA解决方案 73
4.9 总结 74
参考文献 74
第5章 当前的FPGA技术 76
5.1 引言 76
5.2 FPGA的发展 77
5.2.1 FPGA的早期结构 79
5.3 Altera的FPGA技术 80
5.3.1 MAXR7000 FPGA技术 81
5.3.2 StratixRⅢFPGA系列 83
5.3.3 HardcopyR结构化ASIC系列 91
5.4 XilinxFPGA技术 92
5.4.1 Xilinx VirtexTM-5 FPGA技术 94
5.5 Lattice FPGA系列 102
5.5.1 LatticeRisp XPLD 5000MX系列 102
5.6 ActelR FPGA技术 105
5.6.1 ActelR Pro ASICPLUSFPGA技术 105
5.6.2 ActelR反熔丝SX FPGA技术 106
5.7 AtmelRFPGA技术 108
5.7.1 AtmelRAT40K FPGA技术 108
5.7.2 AtmelRAT40K FPGA的重构技术 109
5.8 FPGA技术上的总思考 109
参考文献 110
第6章 FPGA实现详解 111
6.1 引言 111
6.2 LUT的各种形式 112
6.3 可用的几种存储器 115
6.4 固定系数设计技术 117
6.5 分布式体系结构 117
6.6 折减系数乘法器 120
6.6.1 RCM的设计过程 122
6.6.2 FPGA的乘法器综述 125
6.7 总结 125
参考文献 126
第7章 FPGA的快速DSP系统设计工具和流程 127
7.1 引言 127
7.2 FPGA系统设计的革新 128
7.2.1 时代一:定制胶合逻辑 128
7.2.2 时代二:中密度逻辑 128
7.2.3 时代三:分层级的SoC 129
7.3 FPGA DSP设计方法的必要条件 129
7.4 系统详述 131
7.4.1 Petri网 131
7.4.2 进程网络和数据流 131
7.4.3 嵌入式多处理器软件综合 132
7.4.4 GEDAE 133
7.5 FPGA的IP核生成工具 134
7.5.1 图解IP核发展途径 134
7.5.2 Synplify DSP 135
7.5.3 基于C语言的迅速IP核设计 136
7.5.4 基于MATLABR的快速IP核设计 136
7.5.5 其他快速IP核设计 137
7.6 FPGA的系统级设计工具 138
7.6.1 Compaan 138
7.6.2 ESPAM 138
7.6.3 Daedalus 140
7.6.4 Koski 140
7.7 总结 141
参考文献 142
第8章 基于FPGA的DSP系统的架构由来 144
8.1 引言 144
8.2 DSP算法特点 145
8.2.1 算法特点的进一步描述 146
8.3 DSP算法的表示 149
8.3.1 SFG的描述 149
8.3.2 DFG的描述 150
8.4 FPGA上映射DSP系统的基础 151
8.4.1 重定时 152
8.4.2 割集定理 155
8.4.3 延迟比例的应用 156
8.4.4 流水线周期的计算 158
8.5 并行运算 162
8.6 硬件共享 164
8.6.1 不折叠 164
8.6.2 折叠 166
8.7 FPGA中的应用 170
8.8 总结 170
参考文献 171
第9章 IRIS行为综合工具 172
9.1 行为综合工具的介绍 172
9.2 IRIS行为综合工具 174
9.2.1 模块化设计过程 175
9.3 IRIS重定时 177
9.3.1 IRIS中重定时程序的实现 178
9.4 分层的设计方法 181
9.4.1 白盒分层的设计方法 182
9.4.2 从以前的综合架构中提取处理器模型的自动化实现 183
9.4.3 IRIS中分层的电路实现 187
9.4.4 分层电路中流水线周期的计算 188
9.4.5 分层电路中的重定时技术 190
9.5 RIS硬件共享(调度算法)的实现 193
9.6 实例研究:自适应时延最小均方的实现 201
9.6.1 高速实现 202
9.6.2 按具体性能要求的硬件共享设计 207
9.7 总结 210
参考文献 210
第10章 FPGA的复杂DSP核的设计 213
10.1 可重用设计的动机 214
10.2 IP核 215
10.3 IP核的演变 217
10.3.1 运算库 218
10.3.2 基本DSP功能 220
10.3.3 复杂的DSP功能 221
10.3.4 IP核的未来 221
10.4 可参数化(软)IP核 221
10.4.1 适合IP开发的识别设计组件 224
10.4.2 确定IP核参数 225
10.4.3 针对FPGA技术的参数化特性的发展 227
10.4.4 简单的FIR滤波器应用 229
10.5 IP核集成 231
10.5.1 设计问题 232
10.5.2 接口标准化和质量控制指标 233
10.6 ADPCM IP核的例子 235
10.7 FPGA的IP核 239
10.8 总结 241
参考文献 241
第11章 基于模型的异构FPGA设计 243
11.1 引言 243
11.2 数据流建模及快速实现基于FPGA的DSP系统 244
11.2.1 SDF 245
11.2.2 CSDF 246
11.2.3 MSDF 246
11.2.4 数据流异构系统原型 247
11.2.5 分区算法实现 248
11.3 DFG嵌入式软件的快速合成与优化 249
11.3.1 图形级优化 249
11.3.2 图形平衡操作与优化 250
11.3.3 聚类操作和优化 251
11.3.4 调度操作和优化 252
11.3.5 代码的生成操作和优化 253
11.3.6 系统级别设计方案探索中DFG触发器的可配置性 253
11.3.7 DFG专用硬件的快速合成和优化 254
11.3.8 专用硬件体系结构流水线的限制行为合成 255
11.4 异构嵌入式DSP系统的系统级建模 257
11.4.1 交叉和模块触发器在MADF中的进程 258
11.5 MADF算法的流水线核心设计 259
11.5.1 MADF 可配置流水线专用硬件结构的合成 261
11.5.2 WBC配置 262
11.6 专用硬件网络的系统级设计与开发 263
11.6.1 设计示例:NLF 263
11.6.2 设计示例:FBF系统 265
11.7 总结 268
参考文献 269
第12章 自适应波束形成器实例 271
12.1 引言 271
12.2 通用设计过程 272
12.3 自适应波未形成规范 274
12.4 算法的开发 276
12.4.1 自适应算法 277
12.4.2 RLS实现 278
12.4.3 通过QR分解求解RIS 278
12.4.4 用于QR因数分解的Givens旋转 279
12.5 从算法到结构 282
12.5.1 DG 283
12.5.2 SFG 283
12.5.3 Givens旋转的脉动实现 285
12.5.4 二次方的Givens旋转 286
12.6 高效结构设计 287
12.6.1 调度QR运算 292
12.7 通用QR单元 293
12.7.1 处理器阵列 294
12.8 重定时通用结构 302
12.8.1 重定时QR结构 308
12.9 可参数化QR结构 310
12.9.1 结构的选择 310
12.9.2 可参数化控制 311
12.9.3 线性架构 311
12.9.4 稀疏线性架构 312
12.9.5 矩形架构 318
12.9.6 稀疏矩形架构 319
12.9.7 通用QR单元 320
12.10 通用控制 321
12.10.1 线性与稀疏线性阵列的通用输入控制 321
12.10.2 矩形与稀疏矩形阵列的通用输入控制 322
12.10.3 时延对控制种子的影响 323
12.11 波束形成设计实例 325
12.12 总结 326
参考文献 327
第13章 低功率FPGA的实现 329
13.1 引言 329
13.2 能源消耗 330
13.2.1 动态功耗 330
13.2.2 静态功耗 332
13.3 降低功耗的技术 334
13.4 FPGA中电压按比例缩小 335
13.5 开关电容的减少 337
13.6 数据的重新排序 337
13.7 固定参数的运算 338
13.8 流水线 338
13.9 区域性 343
13.10 FFT实现的应用 344
13.11 总结 348
参考文献 349
第14章 最后陈述 350
14.1 引言 350
14.2 可重构系统 350
14.2.1 FPGA可编程技术的相关性 351
14.2.2 现有重置计算 352
14.2.3 重置的实现 353
14.2.4 重置模型 354
14.3 内存体系结构 356
14.4 对浮点计算的支持 357
14.5 FPGA未来的挑战 357
参考文献 358