目录 1
第1章 概述 1
1.1 DSP实现方案及设计流程 1
1.1.1 常用DSP应用器件及其性能特点 2
1.1.2 DSP处理器结构与性能的发展 4
1.1.3 FpGA的结构与性能的发展 4
1.1.4 基于DSP处理器的DSP设计流程 6
1.1.5 基于FPGA的DSP设计流程 7
1.2 现代DSP设计流程概述 9
1.3 两类DSP解决方案的比较 12
习题 18
第2章 QuartusⅡ设计向导 19
2.1 频率计的VHDL设计 19
2.1.1 创建工程和编辑设计文件 19
2.1.2 创建工程 23
2.1.3 编译前设置 25
2.1.4 编译及了解编译结果 27
2.1.5 仿真 28
2.1.6 引脚锁定和下载 32
2.1.7 QuartusⅡ在Windows 2000上的安装设置 36
2.2 使用宏功能块设计频率计 36
2.3 嵌入式系统块ESB的应用Ⅰ 40
2.3.1 应用普通方法设计正弦信号 40
发生器 40
2.3.2 应用ESB优化正弦信号 42
发生器的设计 42
2.4 嵌入式系统块ESB的应用Ⅱ 44
2.4.1 定制ROM数据文件 45
2.4.2 定制ROM 46
2.4.3 编译和结果观察 48
2.5.1 需求频率值设置 49
2.5 时序驱动式优化编译方法 49
2.5.2 优化时钟时序设置 50
2.5.3 编译 51
2.6 频率计结构原理 52
2.7 QuartusⅡ优化特性 53
习题 55
第3章 DSPBuilder设计入门 57
3.1 DSP Builder及其设计流程 57
3.2 DSP Builder设计向导 59
3.2.1 建立一个新的模型(Model) 60
3.2.2 Simulink模型仿真 69
3.2.3 SignalCompiler的使用 73
3.2.4 使用ModelSim验证生成的 81
VHDL代码 81
3.2.5 在QuartusⅡ中指定器件管脚、进行编译、下载 84
3.3.1 建立调幅电路模型 85
3.2.6 硬件测试 85
3.3 调幅电路模型设计示例 85
3.3.2 模型仿真和实现 91
3.3.3 在MATLAB/Simulink中使用 93
MegaCore核 93
3.4 使用SignalTapⅡ嵌入式逻辑分析仪 95
3.4.1 安装SignalTapⅡ 95
3.4.2 设置触发条件 98
3.4.3 设置总线的数据格式 99
3.4.4 启动SignalTapⅡ分析操作 99
3.4.5 信号节点的资源利用情况 100
3.4.6 一般触发条件 101
3.4.7 Node模块 101
习题 102
4.1.1 DSP Builder的子系统 103
第4章 DSPBuilder设计进阶 103
4.1 层次化设计 103
4.1.2 在DSP Builder中使用外部的 109
VHDL代码 109
4.2 用ModelSim进行RTL级 111
VHDL仿真 111
4.3 使用Synplify进行综合 116
4.3.1 Synplify与DSP Builder的 116
接口(自动流程) 116
4.3.2 Synplify和DSP Builder的 117
接口(手动流程) 117
4.3.3 Synplify与QuartusⅡ的接口 122
4.4 使用LeonardoSpectrum进行综合 122
4.4.1 LeonardoSpectrum与DSP Builder的接口(自动流程) 122
4.4.2 LeonardoSpectrum和DSP Builder的接口(手动流程) 123
QuartusⅡ的接口 126
4.4.3 LeonardoSpectrum与 126
4.5 QuartusⅡ与DSP Builder的接口 127
4.5.1 使用QuartusⅡ进行综合、适配(手动流程) 127
4.5.2 使用QuartusⅡ进行时序仿真 129
4.5.3 在QuartusⅡ中建立 129
元件(Symbol) 129
习题 130
第5章 LogicLock优化技术 131
5.1 LogicLock技术的基本内容 131
5.1.1 LogicLock技术解决系统 131
设计优化 131
5.1.2 LogicLock的基本内容 133
5.1.3 锁定区域的基本方式 133
5.1.4 层次化逻辑锁定区域 134
5.1.5 LogicLock技术的不同应用流程 135
5.1.6 系统性能强化策略 137
5.1.7 锁定区域的移植与再利用 138
5.2 未用LogicLock的数字滤波器设计 138
5.2.1 数字滤波器结构及其 138
VHDL描述 138
5.2.2 滤波器设计和结果观察 142
5.3 应用逻辑锁定技术 144
5.3.1 底层模块设计及其VQM 145
文件保存 145
5.3.2 确定逻辑锁定区域及其特性 147
5.3.3 将设计实体移至锁定区域 151
5.3.4 编译优化锁定后的filter模块 154
5.4 顶层设计优化 156
5.4.1 记录锁定信息 156
5.4.2 逻辑锁定信息的输出 157
5.4.3 逻辑锁定信息的输入 158
5.4.4 编译和结果观察 160
习题 162
第6章 FIR数字滤波器设计 163
6.1 FIR数字滤波器原理 163
6.2 使用DSP Builder设计FIR 164
数字滤波器 164
6.2.1 3阶常系数FIR滤波器的设计 164
6.2.2 4阶FIR滤波器节的设计 167
6.2.3 16阶FIR滤波器模型设计 169
6.2.4 使用MATLAB的滤波器 171
设计工具 171
6.2.5 16阶FIR滤波器的硬件实现 180
6.3 使用FIR IP Core设计FIR滤波器 180
6.3.2 FIR滤波器核的使用 181
集成 181
6.3.1 FIR滤波器核与DSP Builder 181
习题 186
第7章 IIR数字滤波器设计 187
7.1 IIR滤波器原理 187
7.2 使用DSP Builder设计IIR滤波器 189
7.2.1 4阶直接Ⅱ型IIR滤波器设计 189
7.2.2 4阶级联型IIR滤波器设计 192
7.3 在QuartusⅡ中使用IIR滤波器IP核 197
7.3.1 配置QuartusⅡ以便使用 198
IIR滤波器核 198
7.3.2 使用IIR滤波器核 199
习题 203
8.1 FFT的原理 204
8.1.1 快速傅立叶变换FFT 204
第8章 FFT设计 204
8.1.2 快速傅立叶反变换IFFT 205
8.2 FFT与蝶形运算 206
8.3 使用DSP Builder设计FFT 206
8.3.1 8点DIT FFT模型的建立 206
8.3.2 8点DIT FFT模型的实现 209
8.4 在DSP Builder中使用FFT IP Core 210
习题 211
第9章 DDS设计 213
9.1 DDS的基本原理 213
9.2 DDS的模块设计 216
9.2.1 建立DDS模型 216
9.2.2 DDS模型的使用 218
9.3 FSK调制器设计 219
9.3.1 FSK调制器原理 219
9.3.2 FSK模型 219
习题 220
10.1 伪随机序列 222
10.1.1 m序列 222
第10章 编码与译码 222
10.1.2 m序列发生器模型 223
10.2 帧同步检出 224
10.2.1 巴克码 224
10.2.2 巴克码的检出模型 225
10.3 RS码 226
10.3.1 RS码简介 226
10.3.2 使用IP Core设计RS编码器 227
10.3.3 使用IP Core设计RS译码器 228
10.4 Viterbi译码 229
10.4.1 卷积码的Viterbi译码 229
10.4.2 用IP Core设计Viterbi译码器 229
习题 229
11.2.1 单时钟设计规则 231
11.2 频率设计规则 231
第11章 DSP Builder设计规则 231
11.1 位宽设计规则 231
11.2.2 多时钟设计 235
11.2.3 使用pLL的高级特性 236
11.3 DSP Builder设计的取名规则 236
11.4 定点数据下标说明 237
11.5 在SBF中二进制小数点的位置 238
11.6 GoTo和From模块的支持特性 238
11.7 MegaCore功能块支持特性 239
11.8 层次化设计 240
11.9 黑盒子化 241
11.10 将DSP Builder设计方式用 242
在外部RTL设计 242
12.1.1 综合域编译流程 243
第12章 AltLab库 243
12.1 SignalCompiler模块 243
12.1.2 数据位宽的传递 245
12.1.3 Tapped Delay Line 246
12.1.4 时钟设置 248
12.1.5 DSP Builder报告文件 250
12.2 Subsystem Builder模块 250
第13章 算术库 252
13.1 比较器模块 252
13.2 计数器模块 252
13.3 差分模块 253
13.4 除法模块 253
13.5 增益模块 254
13.6 递增递减模块 255
13.7 乘法累加模块 256
13.8 乘加模块 258
13.9 并行加减法器模块 259
13.10 乘积模块 260
13.11 其它算术模块 261
13.11.1 SOP TAP模块 261
13.11.2 流水线加法器模块 261
13.11.3 积分模块 262
第14章 其它DSP设计库 263
14.1 总线控制库 263
14.1.1 AltBus模块 263
14.1.2 输入/输出常数模块 266
14.1.3 小数点确定模块 267
14.1.4 BusBuild模块 267
14.1.5 Bus Concatenation模块 268
14.1.6 Bus Conversion模块 269
14.2.1 Butterfly算子模块 270
14.2 复数信号库 270
14.1.7 Extract Bit模块 270
14.2.2 复数加减模块 271
14.2.3 复数乘积模块 272
14.2.4 复数共轭模块 272
14.2.5 复数与Real-Imag间的连接 273
模块 273
14.2.6 复数多路选择器模块 274
14.2.7 复数延迟模块 274
14.2.8 复数常数模块 274
14.3 Gates库 275
14.3.1 Case语句模块 275
14.3.2 IF语句模块 276
14.3.3 逻辑位操作符模块 277
14.3.4 逻辑总线操作符模块 278
14.3.6 n-to-l多路选择器模块 279
14.3.5 LUT模块 279
14.4 状态机函数库 280
14.4.1 FIFO控制状态机设计示例 280
14.4.2 状态机设计流程 282
14.5 Storage库 288
14.5.1 延迟模块 288
14.5.2 Down Sampling和Up Sampling模块 289
14.5.3 双口RAM模块 290
14.5.4 并行到串行转换模块与串行到并行转换模块 291
14.5.5 数据排列方式模块 293
14.5.6 ROM EAB模块 293
14.5.7 Shift Taps模块 294
14.5.8 PLL模块 295
附录 297
参考文献 300