第1章 现场可编程门阵列技术分析 1
1.1 FPGA内部结构分析 1
1.1.1 FPGA在大规模集成电路中的定位 1
1.1.2传统的FPGA内部结构分析 2
1.1.3 SoC FPGA内部结构分析 7
1.2 FPGA设计流程分析 9
1.2.1传统的FPGA设计流程 9
1.2.2 SoC FPGA设计流程 13
1.3 FPGA调试方法分析 16
1.3.1 ILA使用方法 16
1.3.2 VIO使用方法 18
参考文献 19
第2章 跨越鸿沟:从算法到硬件实现 20
2.1数字信号处理系统架构分析 20
2.2数字信号处理系统设计方法 24
2.2.1传统的RTL设计方法 24
2.2.2基于模型的设计方法 27
2.2.3高层次综合设计方法 30
2.2.4三种设计方法的融合 32
2.3 FPGA设计性能描述指标 33
2.4 FPGA设计中的数据格式 36
2.4.1浮点数基础知识 36
2.4.2定点数基础知识 39
2.4.3浮点数与定点数的比较 44
2.4.4浮点数到定点数的转换 45
2.5 Xilinx开发工具对浮点数与定点数的支持 47
2.5.1 System Generator对浮点数与定点数的支持 47
2.5.2 Vivado HLS对浮点数与定点数的支持 51
参考文献 53
第3章 数字信号处理中的基本运算 54
3.1加法运算 54
3.1.1一位全加器 54
3.1.2二进制加法原理 55
3.1.3复数加法 58
3.1.4加法树与加法链 59
3.2累加运算 60
3.2.1累加原理 60
3.2.2顺序累加器 60
3.2.3滑动累加器 61
3.3乘法运算 63
3.3.1二进制乘法原理 63
3.3.2基于移位相加的乘法器 65
3.3.3基于ROM的乘法器 67
3.3.4与固定数相乘的乘法器(KCM) 73
3.3.5复数乘法 76
3.4除法运算 77
3.4.1基于恢复余数(Restoring)算法的除法器 77
3.4.2基于不恢复余数(Non-Restoring)算法的除法器 80
3.4.3基于级数展开算法的除法器 84
3.4.4基于Newton-Raphson算法的除法器 87
3.5开方运算 89
3.5.1基于不恢复余数算法的开方运算 89
3.5.2基于非线性IIR滤波器算法的开方运算 95
3.5.3复数求模 100
3.6 CORDIC算法 103
3.6.1 CORDIC算法之圆周系统及其数学应用 103
3.6.2 CORDIC算法之线性系统及其数学应用 113
3.6.3 CORDIC算法之双曲系统及其数学应用 116
3.6.4统一的CORDIC算法形式 120
3.6.5 CORDIC算法的硬件实现 121
参考文献 126
第4章 FIR数字滤波器 127
4.1 FIR滤波器基本理论 127
4.1.1直接型结构的FIR滤波器 127
4.1.2转置型结构的FIR滤波器 129
4.1.3线性相位FIR滤波器 131
4.2串行FIR滤波器 133
4.2.1基于移位寄存器的串行FIR滤波器 133
4.2.2基于双端口RAM的串行FIR滤波器 136
4.2.3系数对称的串行FIR滤波器的设计 139
4.2.4两种串行结构的FIR滤波器性能比较 142
4.3全并行FIR滤波器 143
4.3.1基于直接型结构的全并行FIR滤波器 143
4.3.2基于转置型结构的全并行FIR滤波器 144
4.3.3基于脉动结构的全并行FIR滤波器 145
4.3.4系数对称的全并行FIR滤波器的设计 147
4.3.5三种全并行结构的FIR滤波器性能比较 148
4.4半并行FIR滤波器 148
4.4.1基于移位寄存器的半并行FIR滤波器 148
4.4.2基于多片双端口RAM的半并行FIR滤波器 153
4.4.3基于单片单端口RAM的半并行FIR滤波器 155
4.4.4系数对称的半并行FIR滤波器的设计 159
4.4.5三种半并行结构的FIR滤波器性能比较 162
4.5分布式FIR滤波器 162
4.5.1分布式算法原理 162
4.5.2串行分布式FIR滤波器 164
4.5.3全并行分布式FIR滤波器 169
4.5.4半并行分布式FIR滤波器 169
4.5.5三种分布式FIR滤波器性能比较 171
4.6快速卷积型FIR滤波器 171
4.6.1线性卷积的计算方法及运算量分析 172
4.6.2圆周卷积的计算方法及运算量分析 174
4.6.3从线性卷积到FFT的跨越 177
4.6.4计算长数据序列线性卷积的两种算法 179
4.6.5应用重叠保留法实现高阶FIR滤波器 185
4.7多通道FIR滤波器 188
4.8多频响FIR滤波器 192
4.9总体性能分析 194
参考文献 196
第5章 直接数字频率合成 197
5.1基于IIR滤波器的DDS 197
5.2基于LUT的DDS 199
5.2.1常规型基于LUT的DDS 199
5.2.2通过LFSR改善SFDR 206
5.2.3通过Taylor级数改善SFDR 209
5.2.4利用对称性压缩存储波形 210
5.3基于双模互质算法的DDS 213
5.3.1双模互质算法的基本原理 213
5.3.2双模互质算法的硬件实现 216
5.4基于CORDIC算法的DDS 217
5.5多通道DDS 221
5.6多路并行DDS 222
5.7产生其他波形 225
参考文献 226
第6章 多速率信号处理 227
6.1抽取和抽取滤波器 227
6.2插值和插值滤波器 231
6.3分数速率的转换 232
6.4六个恒等式及其典型应用 233
6.5多相滤波器 237
6.5.1多相抽取滤波器的基本理论 237
6.5.2多相抽取滤波器的硬件实现 241
6.5.3多相插值滤波器的基本理论 261
6.5.4多相插值滤波器的硬件实现 266
6.6 CIC滤波器 268
6.6.1 CIC滤波器基本理论 268
6.6.2 CIC滤波器的位增长问题 273
6.6.3 CIC滤波器应用于抽取系统中 274
6.6.4 CIC滤波器应用于插值系统中 282
6.7半带滤波器 284
6.7.1半带滤波器的基本理论 284
6.7.2半带滤波器应用于抽取系统中 286
6.7.3半带滤波器应用于插值系统中 288
参考文献 291
第7章 快速傅里叶变换 292
7.1从DFT到FFT 292
7.2基2 FFT处理器 293
7.2.1基2 FFT算法原理 293
7.2.2基2 FFT算法特征分析 299
7.2.3基2原位运算FFT处理器 302
7.2.4基2 SDF流水结构FFT处理器 313
7.2.5基2 MDC流水结构FFT处理器 322
7.3基4 FFT处理器 329
7.3.1基4 FFT算法原理 329
7.3.2基4 FFT算法特征分析 340
7.3.3基4 SDF流水结构FFT处理器 342
7.3.4基4 MDC流水结构FFT处理器 345
7.3.5基4 SDC流水结构FFT处理器 349
7.4几种流水结构FFT处理器的比较 356
7.5 IFFT与FFT的关系 356
参考文献 357
第8章 一些细节问题 358
8.1 LUT不只是逻辑函数发生器 358
8.2合理使用触发器 363
8.2.1避免过多控制集 363
8.2.2避免使用锁存器 365
8.3 Block RAM不只是数据存储 366
8.3.1 Block RAM配置方式 366
8.3.2 Block RAM应用案例 367
8.4 DSP48E1不只是乘法器 373
8.4.1 DSP48E1基本结构 373
8.4.2 DSP48E1应用案例 381
8.5关于复位 399
8.6跨时钟域的设计 401
8.6.1同步时钟的跨时钟域设计 401
8.6.2异步时钟的跨时钟域设计 410
参考文献 422
后记 423