第1章 绪论 1
1.1 EDA技术和可编程逻辑器件的发展 1
1.1.1 EDA技术发展概述 1
1.1.2 可编程逻辑器件发展概况 4
1.2 可编程逻辑器件设计流程简介 7
1.2.1 基本设计方法 7
1.2.2 可编程逻辑器件设计流程 9
1.3 硬件描述语言Verilog HDL与VHDL 11
1.3.1 Verilog HDL简介 11
1.3.2 VHDL简介 12
1.3.3 Verilog HDL与VHDL的区别与联系 13
1.3.4 选择Verilog HDL还是VHDL 14
1.4 FPGA在雷达系统中的应用 14
1.4.1 FPGA简介 14
1.4.2 雷达信号处理系统简介 16
1.4.3 FPGA在雷达信号处理中的应用 17
思考题 18
第2章 Verilog HDL语法基础 20
2.1 引言 20
2.2 模块(Module)的概念 21
2.3 Verilog HDL语法的一些基本要素 23
2.4 数据类型及常量、变量 25
2.4.1 常量 26
2.4.2 变量 27
2.5 运算符及表达式 28
2.5.1 算术运算符 28
2.5.2 逻辑运算符 28
2.5.3 关系运算符 29
2.5.4 位运算符 29
2.5.5 等式运算符 31
2.5.6 缩减运算符 31
2.5.7 条件运算符 32
2.5.8 位拼接运算符 32
2.5.9 运算符的优先级 32
2.6 赋值语句 33
2.6.1 阻塞赋值语句 33
2.6.2 非阻塞赋值语句 33
2.7 条件语句 34
2.7.1 if-else语句 34
2.7.2 case语句 35
2.8 结构描述语句always与assign 37
2.8.1 always语句 37
2.8.2 assign语句 40
2.9 函数(function)和循环语句(for) 41
2.10 跳出“语法”看“语法”——“硬件”描述语言的另一种理解方式 42
2.10.1 从硬件的角度理解Verilog HDL语法 42
2.10.2 不可综合语法及其在测试向量中的应用 43
思考题 46
第3章 CPLD/FPGA的基本结构 47
3.1 CPLD的基本结构 47
3.1.1 内部结构 47
3.1.2 下载方式 50
3.1.3 Xilinx公司CPLD简介 50
3.2 FPGA的基本结构 55
3.2.1 内部结构 55
3.2.2 下载方式 58
3.2.3 Xilinx公司FPGA简介 58
3.3 CPLD与FPGA的区别与联系 68
思考题 70
第4章 CPLD/FPGA设计基础 71
4.1 同步与异步电路设计 71
4.1.1 同步电路设计 71
4.1.2 异步电路设计 73
4.1.3 双向I/O接口电路设计 74
4.1.4 同步与异步电路的区别与联系 77
4.2 时钟、复位与临界设计——分析逻辑中的竞争、冒险以及亚稳态 78
4.2.1 时钟系统的设计 79
4.2.2 复位电路的设计 83
4.2.3 临界设计 85
4.3 有限状态机设计 87
4.4 速度与资源——折中设计方案 94
4.4.1 速度——并行处理 94
4.4.2 资源——串行处理 97
4.5 大规模FPGA的开发——模块化设计 102
思考题 104
第5章 FPGA在数字信号处理系统中的应用 105
5.1 数的表示方法 105
5.1.1 数字系统中数的二进制表示 105
5.1.2 定点数和浮点数 106
5.1.3 FPGA中数的表示 106
5.2 加减法与乘法单元 108
5.2.1 加减法单元 108
5.2.2 乘法单元 109
5.3 数字信号处理系统中的FPGA与DSP芯片 111
5.3.1 DSP芯片介绍 111
5.3.2 DSP与FPGA性能比较 114
5.3.3 DSP和FPGA方案的选择 115
5.3.4 新的设计思想 116
5.4 数字滤波器的FPGA设计实例 116
5.4.1 IIR滤波器 117
5.4.2 FIR滤波器 120
5.4.3 FIR滤波器与IIR滤波器的比较 121
5.4.4 8阶FIR滤波器设计实例 121
5.4.5 IIR滤波器设计实例 124
5.5 Xilinx公司数字信号处理IP Core的应用 127
5.5.1 Core Generator综述 127
5.5.2 数字信号处理的IP Core 129
5.5.3 FFT的IP Core调用实例 131
思考题 138
第6章 FPGA在雷达系统中的应用 139
6.1 相关器与匹配滤波器 139
6.1.1 相关器 139
6.1.2 匹配滤波器 140
6.1.3 相关器与匹配滤波器的关系 142
6.1.4 13位Barker码相关器设计实例 142
6.1.5 13位Barker码匹配滤波器设计实例 143
6.2 动目标检测(MTD) 145
6.2.1 动目标检测(MTD)原理 145
6.2.2 动目标检测(MTD)设计实例 147
6.3 恒虚警(CFAR) 149
6.3.1 恒虚警(CFAR)原理 149
6.3.2 恒虚警(CFAR)设计实例 151
6.4 FPGA在雷达系统中的应用小结 154
6.4.1 Matlab在数字信号处理中的作用 154
6.4.2 雷达数字信号处理系统中FPGA设计流程 155
思考题 157
附录A Verilog HDL语法参考 158
A.1 Verilog HDL关键词列表 158
A.2 Verilog HDL编译器不支持的Verilog结构 159
附录B 相关网址检索 160
附录C 设计源代码 161
C.1 双CPU接口的数据转换的设计 161
C.2 FIR滤波器设计 171
C.3 FIR滤波器Testbench设计 174
C.4 IIR滤波器设计 175
C.5 IIR滤波器Testbench设计 178
C.6 13位Bark码相关器设计 179
C.7 13位Bark码相关器测试向量Testbench设计 182
C.8 13位Bark匹配滤波器的设计 184
C.9 13位Bark码匹配滤波器测试向量Testbench设计 191
C.10 动目标检测(MTD)算法设计 192
C.11 动目标检测(MTD)算法测试向量Testbench设计 196
C.12 回波消除电路设计 198
C.13 恒虚警(CFAR)算法设计 201
C.14 恒虚警(CFAR)算法测试向量Testbench设计 205
参考文献 206