《Verilog FPGA芯片设计》本书除讲述基本的设计技巧外,还深入介绍了多模块整合设计技术,适合各层次设计者参考使用。希望这本书能带领读者进入以Verilog语言为主的各种相关设计领域中,让读者熟悉Verilog语言的全貌。
蓝牙芯片设计不容易,需要将高频/射频的蓝牙模块和ARM核以及低速IO集成在一起,对芯片设计是一个非常大的挑战。而且,对于提供蓝牙芯片的公司而言,还需要提供配套的蓝牙协议栈,demo板,甚至mo...
福州瑞芯微、珠海全志、珠海炬力、上海晶晨、上海盈方微。目前来说,中国的IC芯片设计的公司,还不像因特尔、高通、苹果、三星这样有很大的名气。就拿平板/盒子芯片来说,国内的芯片设计公司中福州瑞芯微、珠海全...
可以用经典的384X系列IC设计,反激拓扑
为了满足存储网络和下一代航空电子系统对光纤通道网络的需求,提出了一种新的光纤通道网络接口控制芯片的设计方案。用Verilog实现了接口控制芯片的RTL设计并完成了功能仿真和验证,通过嵌入式PowerPC完成了接口控制芯片的控制软件设计。以Xilinx公司的Virtex-II Pro系列FPGA为平台,实现了接口控制芯片原型。
摘要 现如今随着可编程逻辑器件及相关技术的不断发展和完善, 其技术在现代 电子技术领域表现出的明显技术领先性, 具有传统方法无可比拟的优越性。 近 几年,嵌入式数字音频产品受到越来越多消费者的青睐。在 MP3、手机等电 子产品中,音频处理功能已成为不可或缺的重要组成部分, 而高质量的音效是 当前发展的重要趋势。 数字语音集成电路与嵌入式微处理器相结合, 既实现了系统的小型化、 低 功耗,又降低了产品开发成本,提高了设计的灵活性,具有体积小、 扩展方便 等诸多特点,具有广泛的发展前景。 本设计基于 SOPC技术,利用 Verilog HDL 硬件描述语言开发的基于 FPGA 的音频编解码芯片控制器,以实现对音频编解码芯片 WM8731 的控制。并根 据 Verilog HDL 可移植性和不依赖器件的特点。经过适当的修改,该控制器可 以移植到各类 FPGA 中,以控制兼容 I2C和 I2S总线
本书以Altera公司的FPGA器件为开发平台,采用MATLAB及Verilog HDL语言开发工具,详细阐述了数字滤波器的实现原理、结构、方法及仿真测试过程,并通过大量工程实例分析其在FPGA实现过程中的具体技术细节。其主要内容包括FIR滤波器、IIR滤波器、多速率滤波器、自适应滤波器、变换域滤波器、解调系统的滤波器设计等。本书思路清晰、语言流畅、分析透彻,在简明阐述设计原理的基础上,追求对工程实践的指导性,力求使读者在较短的时间内掌握数字滤波器的FPGA设计知识和技能。
杜勇,四川省广安市人,高级工程师。1999年于湖南大学获电子工程专业学士学位,2005年于国防科技大学获信息与通信工程专业硕士学位。主要从事数字信号处理、无线通信以及FPGA应用技术研究。发表学术论文十余篇,出版《数字滤波器的MATLAB与FPGA实现(第2版)》、《数字通信同步技术的MATLAB与FPGA实现》、《数字调制解调技术的MATLAB与FPGA实现》等多部著作。
第1章 设计环境及开发平台介绍 1
1.1 FPGA基础知识 2
1.1.1 基本概念及发展历程 2
1.1.2 FPGA的结构和工作原理 4
1.1.3 FPGA在数字信号处理中的应用 12
1.2 Altera器件简介 12
1.3 Verilog HDL语言简介 15
1.3.1 HDL语言简介 15
1.3.2 Verilog HDL语言特点 16
1.3.3 Verilog HDL程序结构 17
1.4 Quartus II开发套件 18
1.4.1 Quartus II开发套件简介 18
1.4.2 Quartus II软件的用户界面 19
1.5 ModelSim仿真软件 22
1.6 MATLAB软件 24
1.6.1 MATLAB软件介绍 24
1.6.2 MATLAB工作界面 24
1.6.3 MATLAB的特点及优势 25
1.6.4 MATLAB与Quartus的数据交互 27
1.7 SystemView软件 28
1.7.1 SystemView简介 28
1.7.2 SystemView工作界面 29
1.8 小结—欲善其事先利其器 32
第2章 FPGA数字信号处理基础 33
2.1 FPGA中数的表示 34
2.1.1 莱布尼兹与二进制 34
2.1.2 定点数表示 35
2.1.3 浮点数表示 36
2.2 FPGA中数的运算 40
2.2.1 加/减法运算 40
2.2.2 乘法运算 43
2.2.3 除法运算 44
2.2.4 有效数据位的计算 44
2.3 有限字长效应 47
2.3.1 字长效应的产生因素 47
2.3.2 A/D转换的字长效应 48
2.3.3 系统运算中的字长效应 49
2.4 FPGA中的常用处理模块 51
2.4.1 加法器模块 51
2.4.2 乘法器模块 53
2.4.3 除法器模块 56
2.4.4 浮点运算模块 57
2.5 小结—四个过桥人 59
第3章 锁相环为什么能够跟踪相位 61
3.1 锁相环的组成 62
3.1.1 关注信号的相位分量 62
3.1.2 VCO是一个积分器件 63
3.1.3 正弦鉴相器还是余弦鉴相器 65
3.1.4 环路滤波器的作用 68
3.2 从负反馈电路理解锁相环 69
3.2.1 反馈电路的概念 69
3.2.2 负反馈电路的控制作用 70
3.2.3 锁相环与基本负反馈电路的区别 71
3.2.4 分析锁相环的工作状态 72
3.3 最简单的锁相环 73
3.3.1 一阶锁相环的SystemView模型 73
3.3.2 确定VCO输出的同相支路 74
3.4 锁相环的基本性能参数 77
3.4.1 捕获及跟踪过程 77
3.4.2 环路的基本性能要求 78
3.5 分析一阶环的基本参数 79
3.5.1 数学方法求解一阶环 79
3.5.2 图解法分析一阶环工作过程 81
3.5.3 工程设计与理论分析的差异 82
3.5.4 遗忘的参数——鉴相滤波器截止频率 85
3.6 小结——千条路与磨豆腐 87
第4章 一阶锁相环的FPGA实现 89
4.1 一阶环的数字化模型 90
4.1.1 工程实例需求 90
4.1.2 数字鉴相器 91
4.1.3 数控振荡器 92
4.1.4 计算环路增益 94
4.2 数字鉴相滤波器设计 95
4.2.1 FIR与IIR滤波器 95
4.2.2 MATLAB滤波器函数 97
4.2.3 FIR滤波器的MATLAB设计 100
4.2.4 量化滤波器系数 102
4.3 Verilog HDL代码风格 105
4.3.1 文件接口声明 105
4.3.2 变量的命名方式 106
4.3.3 模块对齐方式 106
4.3.4 阻塞赋值和非阻塞赋值 107
4.3.5 注释语句 107
4.4 一阶环的Verilog HDL设计 108
4.4.1 新建FPGA工程 108
4.4.2 数字乘法器设计 110
4.4.3 低通滤波器设计 112
4.4.4 数控振荡器设计 115
4.4.5 顶层文件设计 115
4.5 一阶环的ModelSim仿真测试 119
4.5.1 MATLAB生成测试数据 119
4.5.2 编写测试激励文件 120
4.5.3 环路为什么不能锁定 122
4.5.4 继续仿真分析环路性能 125
4.6 小结—科学的方法 127
第5章 从线性方程到环路模型 129
5.1 线性时不变系统 130
5.1.1 线性系统的概念 130
5.1.2 时不变系统的概念 132
5.1.3 为什么研究线性时不变系统 132
5.2 信号的线性分解 133
5.2.1 信号的常用分解方法 133
5.2.2 分析的化身—欧拉 135
5.2.3 “e”是一个函数的极限 137
5.2.4 泰勒、麦克劳林与牛顿 139
5.2.5 上帝创造的公式—欧拉公式 141
5.3 从傅里叶级数到Z变换 142
5.3.1 温室效应的发现者—傅里叶 142
5.3.2 傅里叶级数是一篇美妙的乐章 143
5.3.3 负频率信号是什么信号? 147
5.3.4 傅氏变换与拉氏变换 151
5.3.5 Z变换—离散时间系统分析工具 153
5.3.6 如何判断系统是否稳定 156
5.4 锁相环路的模型 158
5.5 小结—乔布斯的演讲 160
第6章 环路滤波器决定锁相环特性 163
6.1 最简单的环路滤波器—RC滤波器 164
6.1.1 RC低通滤波器的频率特性 164
6.1.2 二阶环路的传输函数 166
6.2 回顾二阶线性电路 167
6.2.1 二阶线性电路与锁相环 167
6.2.2 固有振荡频率与阻尼系数 168
6.2.3 单位阶跃信号的响应分析 169
6.3 RC滤波器二阶环的SystemView仿真 172
6.3.1 RC滤波器锁相环路模型 172
6.3.2 锁定状态与阻尼系数的仿真 174
6.4 反馈环路的稳定性分析 177
6.4.1 系统稳定与锁相环稳定的关系 177
6.4.2 频率特性与环路的稳定性关系 177
6.4.3 伯德图分析方法 179
6.4.4 伯德图分析RC二阶环路的稳定性 180
6.4.5 二阶环路的相位滞后是如何产生的 181
6.4.6 鉴相滤波器的影响 182
6.5 无源比例积分滤波器 184
6.5.1 频率特性 184
6.5.2 环路的传输函数 185
6.5.3 环路稳定性分析及参数设计 186
6.5.4 环路的SystemView仿真 188
6.6 有源比例积分滤波器 189
6.6.1 频率特性 189
6.6.2 环路的传输函数 191
6.6.3 环路稳定性分析及参数设计 193
6.6.4 环路的SystemView仿真 194
6.6.5 为什么稳态相差可以为零 196
6.7 小结—世界上最容易的事 198
第7章 二阶环的FPGA实现 199
7.1 依据模拟环设计数字环 200
7.1.1 从模拟到数字——双线性变换 200
7.1.2 环路滤波器的数字化 202
7.1.3 理想二阶环的参数设计 203
7.1.4 理想二阶环的Verilog HDL设计 205
7.2 FPGA实现后的仿真测试 208
7.2.1 环路增益对锁定性能的影响 208
7.2.2 频差对锁定性能的影响 210
7.2.3 环路捕获范围测试 211
7.3 理想二阶环的数字化 213
7.3.1 NCO的数字化模型 213
7.3.2 环路的数字化模型 214
7.4 模拟与数字环路的关联 215
7.4.1 确定环路滤波器系数 215
7.4.2 增益与环路滤波器系数的关系 216
7.4.3 两种系数计算方法比较 216
7.5 小结—芝诺与庄子的哲学 217
第8章 锁相环的性能分析 219
8.1 捕获性能 220
8.1.1 捕获过程 220
8.1.2 捕获带与捕获时间 221
8.1.3 辅助捕获方法 222
8.2 跟踪性能 224
8.2.1 环路的稳态相差 224
8.2.2 环路的频率特性 225
8.2.3 调制跟踪与载波跟踪 228
8.2.4 两种跟踪方式的SystemView仿真 229
8.3 噪声性能 237
8.3.1 噪声情况下的环路模型 237
8.3.2 输出相位噪声方差 240
8.3.3 环路噪声带宽 241
8.3.4 环路信噪比 242
8.4 理想二阶环设计公式 244
8.5 小结—兴趣是最好的老师 245
第9章 锁相环解调PSK信号的FPGA实现 247
9.1 PSK调制解调原理 248
9.1.1 PSK调制原理及信号特征 248
9.1.2 PSK信号的MATLAB仿真 249
9.1.3 锁相环解调PSK原理 252
9.2 锁相环路解调参数设计 254
9.2.1 总体性能参数设计 254
9.2.2 下变频乘法器设计 256
9.2.3 下变频低通滤波器设计 257
9.2.4 鉴相乘法器设计 259
9.2.5 数控振荡器设计 260
9.2.6 环路滤波器设计 261
9.3 锁相解调环的Verilog设计 262
9.3.1 顶层文件的Verilog设计 262
9.3.2 鉴相器的Verilog设计 264
9.3.3 环路滤波器的Verilog设计 265
9.4 锁相解调环的仿真测试 266
9.4.1 环路捕获范围测试 266
9.4.2 NCO更新周期对环路增益的影响 267
9.5 小结—渔王的儿子 272
参考文献 274
2100433B