第一部分 基础篇 1
第1章 Verilog的基本知识 1
1.1 Verilog HDL的历史 1
1.2 Verilog HDL和VHDL的异同 2
1.3 EDA技术及其应用 2
1.3.1 EDA技术的发展 2
1.3.2 现代EDA技术的特点及应用 3
1.3.3 EDA技术的范畴和应用 4
1.3.4 EDA技术的发展 4
1.4 IP复用技术及SOC概况 5
1.4.1 IP核 5
1.4.2 系统芯片 5
1.5 本章小结 6
第2章 常用Verilog语法 7
2.1 模块 7
2.2 标识符、关键字和注释 9
2.2.1 标识符 9
2.2.2 关键词 9
2.3 数字值集合 9
2.3.1 值的集合 10
2.3.2 常量 10
2.3.3 变量 12
2.4 运算符和表达式 13
2.4.1 逻辑运算符 13
2.4.2 关系运算符 14
2.4.3 算术运算符 15
2.4.4 条件运算符 15
2.4.5 等式运算符 15
2.4.6 移位运算符 16
2.4.7 位拼接运算符 16
2.4.8 位运算符 16
2.4.9 缩减运算符 18
2.4.10 优先级别 18
2.5 行为语句 19
2.5.1 过程语句 19
2.5.2 条件语句 20
2.5.3 循环语句 23
2.5.4 阻塞赋值和非阻塞赋值 25
2.6 task和function说明语句 26
2.6.1 任务(task) 26
2.6.2 函数(function) 28
2.6.3 任务和函数的异同 29
2.7 编译预处理 30
2.7.1 宏替换′define 30
2.7.2 文件包含′include 31
2.7.3 时间尺度′timescale 32
2.7.4 条件编译′ifdef、′else、′endif 33
2.8 本章小结 34
第3章 功能仿真和下载配置 35
3.1 ModelSim仿真工具 35
3.1.1 ModelSim简介 35
3.1.2 ModelSim基本仿真流程 35
3.1.3 ModelSim仿真实例 36
3.1.4 常用的ModelSim仿真命令介绍 39
3.1.5 dataflow的应用 40
3.1.6 ModelSim代码覆盖率查看 40
3.2 Quartus Ⅱ的使用方法 44
3.2.1 Quaruts Ⅱ设计实例 45
3.2.2 应用RTL电路图观察器 49
3.2.3 Altera的IP Core的使用 50
3.3 下载配置设计 54
3.3.1 配置方式介绍 54
3.3.2 配置过程 56
3.3.3 配置接口电路 57
3.3.4 Altera公司下载电缆介绍 61
3.3.5 配置芯片介绍 63
3.4 本章小结 64
第二部分 实践篇 65
第4章 简单逻辑电路实现 65
4.1 简单组合逻辑电路的Verilog HDL实现 65
4.1.1 基本门电路 65
4.1.2 译码器 65
4.1.3 数据选择器 66
4.1.4 半加器 68
4.1.5 全加器 69
4.2 简单时序逻辑的Verilog HDl实现 70
4.2.1 D触发器 71
4.2.2 R-S触发器 72
4.2.3 J-K触发器 73
4.2.4 计数器 74
4.2.5 串并转换电路 75
4.2.6 分频器 76
4.3 几种常见的存储设备设计 78
4.3.1 RAM的Verilog HDL实现 78
4.3.2 ROM的Verilog HDL实现 79
4.3.3 FIFO的Verilog HDL实现 79
4.4 本章小结 84
第5章 数字滤波器设计 85
5.1 数字滤波器概述 85
5.1.1 数字滤波器和模拟滤波器的比较 85
5.1.2 数字滤波器的分类 85
5.1.3 数字滤波器的数学模型 86
5.1.4 数字滤波器的性能指标 86
5.2 FIR滤波器的设计与实现 87
5.2.1 FIR滤波器和IIR滤波器的比较 87
5.2.2 FIR滤波器原理与结构 87
5.2.3 FIR滤波器设计 90
5.2.4 FIR滤波器的Verilog HDL实现 92
5.3 IIR滤波器的设计与实现 98
5.3.1 IIR滤波器原理与结构 98
5.3.2 IIR滤波器的设计 101
5.3.3 IIR滤波器的Verilog HDL实现 105
5.4 多速率处理的设计 110
5.4.1 抽取的原理 110
5.4.2 抽取的Verilog HDL实现 111
5.4.3 内插的原理 112
5.4.4 内插的Verilog HDL实现 113
5.5 CIC滤波器的设计 114
5.5.1 CIC滤波器的基本理论 114
5.5.2 CIC滤波器的Verilog HDL实现 117
5.6 本章小结 121
第6章 数字调制与解调系统设计 122
6.1 数字调制与解调的基本原理 122
6.2 ASK调制与解调系统的设计 123
6.2.1 2-ASK调制原理 123
6.2.2 2-ASK调制的Verilog HDL实现 123
6.2.3 2-ASK解调原理 125
6.2.4 2-ASK解调的Verilog HDL实现 126
6.3 FSK调制与解调系统的设计 128
6.3.1 2-FSK调制原理 128
6.3.2 2-FSK调制的Verilog HDL实现 128
6.3.3 2-FSK解调原理 130
6.4 PSK调制与解调系统的设计 133
6.4.1 2-PSK调制基本原理 133
6.4.2 2-PSK调制的Verilog HDL实现 134
6.4.3 2-PSK解调原理 135
6.4.4 2-PSK解调的Verilog HDL实现 136
6.5 QPSK调制与解调系统的设计 138
6.5.1 QPSK调制原理 138
6.5.2 QPSK调制的Verilog HDL实现 139
6.5.3 QPSK解调 141
6.5.4 QPSK解调的Verilog HDL实现 141
6.6 PPM调制与解调系统的Veriog HDL实现 143
6.6.1 PPM调制原理 143
6.6.2 PPM调制的Verilog HDL实现 144
6.6.3 PPM解调原理 146
6.6.4 PPM解调的Verilog HDL实现 146
6.7 本章小结 148
第7章 RS编译码系统设计 149
7.1 信道编码原理 149
7.1.1 信道香农定理 149
7.1.2 数字通信系统的组成 149
7.1.3 差错控制系统分类和信道编码的简介 150
7.2 线性分组码 152
7.2.1 几种常见的线性分组码 152
7.2.2 编码应用 153
7.3 RS码的编译码器设计 153
7.3.1 RS码编码系统的Verilog HDL实现 154
7.3.2 RS码译码系统的Verilog HDL实现 161
7.4 本章小结 182
第8章 直接扩频通信系统设计 183
8.1 扩频技术基本原理 183
8.2 扩频序列发生器设计 183
8.2.1 m序列发生器的设计 184
8.2.2 Gold序列发生器的设计 188
8.3 直接扩频调制系统设计 192
8.3.1 设计原理 192
8.3.2 程序设计 193
8.3.3 程序仿真结果 197
8.4 扩频接收机设计 197
8.4.1 设计原理 197
8.4.2 程序设计 200
8.4.3 程序仿真结果 204
8.5 本章小结 205
第9章 网络管理中UART系统设计 206
9.1 SNMP网络管理系统在光分组交换中的应用 206
9.1.1 UART的基本原理 208
9.1.2 UART的操作 209
9.2 UART发射机的设计和实现 210
9.3 UART接收机的设计和实现 214
9.4 UART波特率发生器的设计和实现 220
9.5 读/写RAM表控制模块设计和实现 221
9.6 RAM表的IP Core调用方法 226
9.7 本章小结 227
第10章 以太网物理层关键技术的Verilog HDL实现 228
10.1 以太网概述 228
10.2 数据流扰码和解扰码器的Verilog HDL实现 229
10.2.1 串行扰码和解扰码器的设计 229
10.2.2 8位并行扰码器和解扰器的设计 233
10.3 CRC-16的Verilog HDL实现 237
10.3.1 串行CRC-16校验的Verilog HDL实现 238
10.3.2 并行CRC-16的Verilog HDL实现 241
10.4 SDH帧同步器的设计 246
10.5 千兆以太网中8B/10B编译码器设计 252
10.5.1 8B/10B编码原理 252
10.5.2 8B/10B编码器的设计 259
10.5.3 8B/10B译码器的设计 266
10.6 本章小结 270
第三部分 技巧和实验篇 271
第11章 FPGA设计指导原则和代码规范 271
11.1 FPGA设计指导原则 271
11.1.1 深入理解阻塞赋值和非阻塞赋值 271
11.1.2 组合逻辑设计注意事项 272
11.1.3 时序逻辑设计注意事项 273
11.1.4 可综合状态机的指导原则 274
11.1.5 面积与速度互换原则 277
11.1.6 同步设计原则 278
11.1.7 乒乓操作 279
11.1.8 串并转换 280
11.1.9 流水线操作 281
11.1.10 Testbench的编写方法 281
11.2 Verilog HDL代码编写规范 285
11.2.1 命名规则 285
11.2.2 代码风格 286
11.2.3 语法结构 288
11.2.4 设计风格 289
11.2.5 仿真部分 291
11.2.6 综合部分 293
11.2.7 Verilog HDL代码规范模板 294
11.3 本章小结 297
第12章 实验设计指导 298
12.1 实验一 基本组合和时序逻辑电路设计 298
12.1.1 实验目的 298
12.1.2 实验原理 298
12.1.3 实验内容 299
12.1.4 实验步骤 299
12.1.5 实验总结报告要求 299
12.2 实验二 采用分布式算法FIR滤波器设计 299
12.2.1 实验目的 299
12.2.2 实验原理 299
12.2.3 实验内容 300
12.2.4 实验步骤 300
13.2.5 实验总结报告要求 300
12.3 实验三 MASK调制器设计 300
12.3.1 实验目的 300
12.3.2 实验原理 301
12.3.3 实验内容 301
12.3.4 实验步骤 301
12.3.5 实验总结报告要求 301
12.4 实验四 函数发生器设计 302
12.4.1 实验目的 302
12.4.2 实验原理 302
12.4.3 实验内容 303
12.4.4 实验步骤 303
12.4.5 实验总结报告要求 303
12.5 实验五 PCM采编器设计 303
12.5.1 实验目的 303
12.5.2 实验原理 304
12.5.3 实验内容 304
12.5.4 实验步骤 304
12.5.5 实验总结报告要求 305
12.6 实验六 循环码编译码器设计 305
12.6.1 实验目的 305
12.6.2 实验原理 305
12.6.3 实验内容 306
12.6.4 实验步骤 306
12.6.5 实验总结报告要求 306
12.7 实验七 FFT碟形运算单元设计 307
12.7.1 实验目的 307
12.7.2 实验原理 307
12.7.3 实验内容 307
12.7.4 实验步骤 308
12.7.5 实验总结报告要求 308
12.8 实验八 数字相关器设计 308
12.8.1 实验目的 308
12.8.2 实验原理 308
12.8.3 实验内容 309
12.8.4 实验步骤 309
12.8.5 部分实验代码 309
12.8.6 实验总结报告要求 309
12.9 实验九 集中插入式帧同步器设计 310
12.9.1 实验目的 310
12.9.2 实验原理 310
12.9.3 实验内容 311
12.9.4 实验步骤 311
12.9.5 实验总结报告要求 311
12.10 实验十 多路信号复用的基带系统设计 311
12.10.1 实验目的 311
12.10.2 实验原理 311
13.10.3 实验内容 312
12.10.4 实验步骤 312
12.10.5 实验总结报告要求 312
12.11 本章小结 312
参考文献及参考资料 313