编辑推荐

  历时四年,累计1000多页的通信IC设计著作,内容覆盖通信理论、设计方法及产品实现。

  配套多个芯片设计代码和完整的验证环境,内容包含WiFi、DVB-S、LTE的核心算法,可操作性极强。

  本书由浅入深,全新演绎了Verilog的设计思想与设计流程,并将数字信号处理的精髓融入每章内容。

内容简介

  本书是一本难得的通信IC前端设计著作,准确给出了Verilog的各种学习方法和思路,能够为初学者带来很多实际的工程经验和学习理论。通过手把手剖析多个通信IC设计例子,以渐进明晰、层次递进的方法,引导读者完成从抽象原理、基本实现、工程原理样机到产品化与商业化的思维转变。此外,为拓宽读者的视角,本书还引入系统工程和项目管理的概念,帮助读者走上从学习者、研究者转换为IC设计专家之路。

  本书特色

  实战为先,以市场广泛应用的通信芯片(WiFi、LTE、DVB-S等)为例,讲述通信IC主流设计思想和设计方法。

  源码丰富,以丰富的商用验证IP源码(FFT、Viterbi、数字中频等)作为讲解的基础,让讲解不再是纸上谈兵。

  实例驱动,丰富的实例引导读者快速理解通信IC的设计套路与思想。

  图例丰富,丰富的图例让读者对通信算法原理与实现流程一目了然。

作者简介

  李庆华(微信号:劲华),作为研发部长和主设计师,设计了国内第*款WiFi芯片;作为总工团队成员和基带项目总师,设计了国内首艘水面大型舰艇的集群调度指挥通信系统;并为国内军用第三代无线通信的标准论证、制定和产品实施做出了相应的贡献。个人多次获得省部级科学技术奖励,也作为第*发明人申请了多项无线通信相关技术专利。现从事5G和LTE系统开发。

精彩书评

  “这部巨著主题明确,文笔流畅,内容广泛,部分实现了我多年来期望自己完成而没有能力完成的数字芯片设计教材。”

  —— 夏宇闻

  北京航空航天大学教授
 

  “本书以一个非常独特的视角,将通信理论、电路设计,乃至集成电路设计融合在一起,从理论基础到设计思想,再到实践案例,帮助读者先梳理思想框架,然后培养实际的操作能力。”

  —— 蔡月民

  大唐电信首席科学家
 

  “本书能帮助我们解决很多客户要求的深度定制无线通信系统的问题,我将本书作为公司产品的配套教材,赠送给我们的每一位客户,并强烈推荐他们深入阅读。”

  —— 姚远博士

  Xilinx合作伙伴 威视锐公司总经理
 

  “一本书只要有一点能够让读者有深深的触动就是成功,而本书有很多亮点,能引发读者的共鸣,也能使他们感受到FPGA设计是如此的简单明晰,因此向读者强力推荐本书。”

  —— 朱 江

  《FPGA高手设计实战真经100则》中文版译者、Avnet Xilinx团队FPGA设计方法学专家

目录

序言一

序言二

前 言

第1章 集成电路设计与HDL / 1

1.1 集成电路设计基础 / 1

1.1.1 集成电路的概念 / 1

1.1.2 IC设计的本质 / 5

1.1.3 IC设计流程 / 9

1.2 Verilog HDL快速入门 / 16

1.2.1 Verilog HDL简介 / 16

1.2.2 Verilog的表达能力 / 17

1.2.3 第一个Verilog程序:通用加法器 / 18

1.2.4 第二个Verilog程序:多路选择器与运算操作 / 20

1.2.5 第三个Verilog程序:D触发器和多路延迟 / 27

1.2.6 第四个Verilog程序:function与时序电路组合 / 34

1.2.7 第五个Verilog程序:有限状态机 / 47

1.2.8 第六个Verilog程序:写testbench / 64

1.2.9 第七个Verilog程序:SPI总线 / 85

1.2.10 第八个Verilog程序:异步UART / 92

1.2.11 一些有用的Verilog程序 / 99

1.2.12 Verilog不同版本的差异 / 108

1.2.13 Verilog语法小结 / 108

1.3 复杂逻辑模块的设计 / 110

1.3.1 结构化的设计 / 110

1.3.2 数据流的设计 / 114

1.3.3 控制流的设计 / 132

1.3.4 重要接口部件的设计 / 135

1.4 数的表示与基本运算 / 144

1.4.1 数的表示方法 / 145

1.4.2 定点数的计算规则 / 149

1.4.3 定点计算举例 / 149

1.4.4 定点数的移位规则 / 152

1.5 Verilog HDL编程规范 / 155

1.5.1 文档规范 / 156

1.5.2 编程规范 / 156

1.5.3 文件头定义格式 / 156

1.5.4 格式规则 / 157

1.5.5 命名规则 / 157

1.5.6 整体编码规则 / 158

1.5.7 全局信号编码规则 / 166

1.5.8 模块编码规则 / 166

1.5.9 可综合性设计 / 167

1.5.10 可重用设计 / 168

1.5.11 编程规范小结 / 168

1.6 HDL电路设计技巧 / 168

1.6.1 芯片设计的核心目标 / 168

1.6.2 如何提高电路运行速度 / 170

1.6.3 如何降低电路规模(使用面积) / 173

1.6.4 如何优化时序 / 187

总结 / 194

第2章 FPGA设计与进阶 / 195

2.1 FPGA简介 / 196

2.1.1 FPGA功能强大的秘密 / 200

2.1.2 FPGA具备可编程能力的原因 / 201

2.1.3 其他的FPGA内部单元 / 205

2.1.4 FPGA的应用方向 / 205

2.1.5 FPGA的设计流程 / 207

2.1.6 FPGA的层次提升 / 217

2.2 FPGA与ASIC的差异 / 220

2.3 FPGA的基本构成 / 221

2.3.1 FPGA的RAM资源 / 222

2.3.2 DSP资源 / 232

2.3.3 PLL资源 / 239

2.3.4 I/O引脚资源 / 244

2.4 FPGA的调试 / 251

2.4.1 在线存储器内容编辑工具 / 251

2.4.2 内嵌逻辑分析仪 / 253

2.4.3 虚拟JTAG / 260

2.4.4 LogicLock / 267

2.4.5 调试设计的指导原则 / 268

2.5 FPGA的设计方法 / 269

2.5.1 FPGA的设计规范 / 270

2.5.2 FPGA的整体结构设计 / 270

2.6 FPGA电路的优化 / 285

2.6.1 整体优化原则 / 287

2.6.2 FPGA优化举例 / 288

2.7 FPGA可综合的概念 / 290

2.7.1 可综合与不可综合的归纳 / 291

2.7.2 always可综合的概念 / 292

2.7.3 有限状态机可综合的概念 / 293

2.7.4 可综合模块举例 / 294

2.8 FPGA设计的注意事项 / 301

2.8.1 外部接口 / 302

2.8.2 时钟电路 / 302

2.8.3 复位电路 / 305

2.8.4 FPGA的设计规则 / 307

附录 开发流程与应用环境快速搭建 / 310

总结 / 338

第3章 通信系统基础部件设计 / 339

3.1 通信模型的构架 / 340

3.1.1 通信电路的组成结构 / 340

3.1.2 常见的算法单元模块 / 341

3.2 通信系统的基本算法 / 342

3.3 通信系统芯片设计的基本套路 / 344

3.3.1 芯片设计的整体流程 / 345

3.3.2 需求类别分析 / 345

3.3.3 高速通信芯片的实现方案 / 346

3.3.4 中速通信芯片的实现方案 / 347

3.3.5 低速通信芯片的实现方案 / 349

3.3.6 传统终端基带芯片的实现方案 / 350

3.4 数字滤波器设计 / 352

3.4.1 FIR滤波器的基本概念 / 352

3.4.2 FIR滤波器的基本硬件实现 / 354

3.4.3 FIR滤波器硬件实现结构概述 / 357

3.4.4 基于分布式算法的FIR滤波器 / 366

3.4.5 IIR滤波器设计 / 373

3.4.6 滤波器设计中的量化问题 / 376

3.4.7 数字滤波器的扩展应用——相关 / 385

3.5 FFT原理与硬件设计 / 389

3.5.1 概述 / 389

3.5.2 FFT算法概述 / 392

3.5.3 FFT实现面临的问题 / 396

3.5.4 FFT硬件实现方案 / 398

3.5.5 适用于WLAN发射机的64点FFT设计 / 404

3.5.6 适用于WLAN接收机的64点FFT设计 / 411

3.5.7 FFT与FIR的关系 / 414

3.5.8 离散余弦变换 / 415

3.6 CORDIC算法 / 418

3.6.1 CORDIC简介 / 418

3.6.2 一个求角度反正切的例子 / 419

3.6.3 CORDIC算法原理 / 422

3.6.4 CORDIC通用算法原理 / 424

3.6.5 CORDIC算法的硬件实现结构 / 426

3.7 NCO与DDS / 432

3.7.1 NCO与DDS简介 / 432

3.7.2 NCO设计原理 / 432

3.7.3 NCO硬件设计 / 434

3.7.4 DDS硬件设计 / 435

3.7.5 DDS实现通信调制 / 437

3.8 数字信号处理的集成案例1:数字中频 / 439

3.8.1 概述 / 439

3.8.2 数字下变频 / 440

3.8.3 数字上变频 / 457

3.8.4 数字上下变频的系统级设计 / 461

3.8.5 数字中频的各种设计案例 / 468

3.9 数字信号处理的集成案例2:FM收音机 / 482

3.9.1 FM收音机原理 / 483

3.9.2 FM收音机的解调思路 / 485

3.9.3 FM的中频处理 / 486

3.9.4 FM单声道收音机的ESL设计 / 491

3.9.5 FM立体声收音机的硬件实现 / 493

3.9.6 FM收音机相关的一些话题 / 499

附录 数字信号处理算法实现的部分技巧 / 505

总结 / 519

第4章 通信系统的信道编解码 / 520

4.1 通信编解码的基本框架 / 521

4.1.1 编码的基础知识 / 521

4.1.2 编码的几个基本概念 / 522

4.1.3 信道编码间的关系 / 523

4.1.4 级联码 / 523

4.1.5 逼近容量极限的编码 / 524

4.1.6 信道编解码芯片实现的基本套路 / 525

4.2 8B/10B编码与译码 / 525

4.2.1 8B/10B编码过程 / 526

4.2.2 8B/10B解码过程 / 530

4.2.3 8B/10B编码与解码的Verilog实现 / 531

4.3 有限域的运算基础 / 534

4.3.1 有限域的基本概念 / 535

4.3.2 有限域多项式的运算规则 / 536

4.3.3 GF(2)域的多项式运算 / 538

4.3.4 适合硬件实现的有限域运算方法 / 539

4.4 CRC冗余校验码简介 / 547

4.4.1 CRC算法的基本原理 / 548

4.4.2 几个基本概念 / 549

4.4.3 CRC算法实现 / 550

4.5 RS码 / 555

4.5.1 RS的编码算法 / 556

4.5.2 RS的译码算法 / 560

4.6 BCH码 / 579

4.6.1 BCH编码 / 580

4.6.2 BCH译码方法简介 / 582

4.7 卷积码简介 / 585

4.7.1 卷积码的相关概念 / 585

4.7.2 卷积码编码通用表述 / 585

4.7.3 卷积码的变形以及特殊处理 / 589

4.7.4 卷积码的译码原理 / 590

4.7.5 Viterbi译码的硬件实现 / 604

4.7.6 Viterbi的引申话题 / 606

4.8 信道编解码集成案例 / 609

4.8.1 编码方案 / 609

4.8.2 整体编码流程 / 610

4.8.3 硬件方案的整体概述 / 612

4.8.4 信道编码 / 618

4.8.5 信道解码 / 626

4.8.6 芯片实现中的几个关键问题 / 634

总结 / 644

第5章 通信原理与单载波芯片设计 / 645

5.1 通信原理与设计基础 / 646

5.1.1 通信系统模型 / 646

5.1.2 常见的各种调制方式 / 647

5.1.3 通信链路的关键要素 / 656

5.1.4 射频模型 / 662

5.1.5 调整射频的3个重要手段 / 674

5.2 常见的通信解调套路 / 684

5.2.1 解调套路概述 / 684

5.2.2 解调实现方法 / 685

5.2.3 完整通信链路解调实例:数据直播星系统设计 / 695

5.3 DVB-S系统概述 / 708

5.3.1 DVB-S整体流程介绍 / 709

5.3.2 DVB-S系统的数据扰码 / 709

5.3.3 DVB-S系统的外编码模块 / 709

5.3.4 DVB-S系统的卷积交织 / 710

5.3.5 DVB-S系统的卷积编码 / 712

5.3.6 DVB-S系统的QPSK调制 / 712

5.4 DVB-S信道接收算法原理 / 713

5.4.1 QPSK信号数学表示 / 713

5.4.2 接收算法的特性需求 / 714

5.4.3 QPSK解调总体设计 / 715

5.4.4 QPSK解调载波恢复电路 / 715

5.4.5 QPSK符号时钟同步电路 / 723

5.4.6 QPSK解调辅助电路 / 728

5.5 DVB-S信道接收机设计实例 / 729

5.5.1 信号命名规范与约定 / 729

5.5.2 QPSK数字解调器的整体结构 / 730

5.5.3 QPSK内部共用模块的电路设计 / 731

5.5.4 载波恢复模块的电路设计 / 739

5.5.5 符号同步电路 / 745

5.6 DVB-S信道编解码设计实例 / 750

5.6.1 信道编解码的整体流程 / 751

5.6.2 Viterbi译码 / 752

5.6.3 帧同步 / 760

5.6.4 解交织 / 764

5.6.5 RS译码 / 765

5.6.6 解扰及同步 / 772

附录A DVB-S系统解调的算法推导 / 773

附录B GF(28)RS运算表 / 782

附录C 通信解调芯片的简化设计实例 / 786

总结  / 788第6章 多载波通信芯片设计 / 789

6.1 OFDM设计思想与通用解调过程 / 790

6.1.1 OFDM的技术特点 / 790

6.1.2 OFDM的基本原理 / 793

6.1.3 OFDM的解调套路 / 793

6.2 MIMO技术 / 796

6.2.1 MIMO系统原理 / 797

6.2.2 MIMO中的空时编码 / 798

6.2.3 MIMO与OFDM的结合 / 799

6.2.4 LTE中的MIMO / 800

6.2.5 LTE中MIMO的简单解调套路 / 801

6.2.6 超越MIMO:非正交多址 / 802

6.3 WiFi的基础知识 / 804

6.3.1 802.11系列标准 / 806

6.3.2 802.11的几个关键概念 / 808

6.3.3 802.11的通信模型 / 812

6.4 802.11a发射机设计 / 814

6.4.1 802.11a的技术参数概述 / 814

6.4.2 802.11a的帧结构 / 817

6.4.3 802.11a的发送流程 / 819

6.4.4 802.11a发射机的实现原理 / 820

6.4.5 802.11a发射机的Matlab实现 / 832

6.4.6 802.11a发射机的Verilog实现 / 836

6.5 802.11a接收机设计 / 837

6.5.1 802.11a接收机的适用范围 / 837

6.5.2 802.11a接收机的整体概述 / 838

6.5.3 802.11a接收机的算法原理概述 / 843

6.5.4 802.11a接收机的模块设计 / 851

6.5.5 802.11a接收机中用到的一些查表模块 / 873

6.6 802.11b发射机设计 / 877

6.6.1 802.11b的帧结构 / 878

6.6.2 802.11b发射内容归纳 / 879

6.6.3 802.11b的标准发射过程 / 879

6.6.4 802.11b发射数据产生 / 881

6.6.5 802.11b发射机的硬件详细设计 / 889

6.7 802.11b接收机设计 / 891

6.7.1 802.11b接收机概述 / 891

6.7.2 802.11b接收机的算法原理 / 891

6.7.3 802.11b接收机的接收流程 / 892

6.7.4 802.11b接收机的信号处理小结 / 901

6.7.5 802.11b接收机的实际硬件实现 / 901

6.7.6 802.11b接收机的部分通用模块设计 / 924

6.8 完整的802.11a/b/g芯片设计案例 / 927

6.8.1 802.11a/b/g系统设计 / 927

6.8.2 802.11g接收机前端的信号处理模块 / 931

6.8.3 802.11g接收机前端的控制处理模块 / 953

6.8.4 802.11g发射机前端的信号处理模块 / 959

6.8.5 802.11g芯片的一些附加模块 / 972

6.9 802.11技术新的发展 / 973

6.9.1 802.11系列的发展脉络 / 973

6.9.2 802.11n关键技术概述 / 978

6.9.3 802.11n的帧格式 / 981

6.9.4 802.11ac的物理层 / 988

6.9.5 802.11ac的发射机 / 990

6.9.6 802.11ac新特性 / 997

6.9.7 802.11ah:802.11的物联网标准 / 1001

6.9.8 802.11的全双工传输技术 / 1007

6.9.9 802.11n商业芯片示例 / 1011

附录A 802.11b接收机的理论基础 / 1012

附录B 802.11a/g接收机算法的Matlab代码概述 / 1021

总结 / 1031第7章 复杂通信系统设计 / 1032

7.1 大型通信系统简介 / 1033

7.1.1 概述 / 1033

7.1.2 公网系统的演进 / 1033

7.1.3 大型通信系统的特点 / 1034

7.2 LTE系统简介 / 1043

7.2.1 LTE系统构架 / 1044

7.2.2 LTE物理层 / 1046

7.2.3 LTE的关键技术 / 1066

7.2.4 LTE的一些浅显描述 / 1071

7.3 LTE的物理层过程及关键算法 / 1073

7.3.1 上行共享信道(PUSCH) / 1073

7.3.2 上行控制信道(PUCCH) / 1076

7.3.3 随机接入信道(PRACH) / 1080

7.3.4 下行共享信道(PDSCH) / 1085

7.3.5 下行控制信道(PDCCH) / 1087

7.3.6 下行PBCH / 1094

7.3.7 PHICH / 1095

7.3.8 PCFICH / 1096

7.3.9 SRS过程 / 1097

7.3.10 上行信道的功率控制 / 1098

7.3.11 HARQ重传 / 1101

7.3.12 终端对物理层的处理 / 1105

7.3.13 基站对物理层的处理 / 1106

7.3.14 其他算法 / 1109

7.4 LTE系统开发的简要说明 / 1116

7.4.1 复杂通信系统的几个基本概念 / 1116

7.4.2 LTE的软件框架 / 1118

7.4.3 LTE高层算法 / 1119

7.4.4 LTE芯片概述 / 1122

7.5 LTE基站芯片设计 / 1124

7.5.1 LTE基站基带芯片的需求分析 / 1124

7.5.2 LTE基站芯片的参考构架 / 1130

7.5.3 LTE基带芯片的设计参考 / 1136

7.5.4 基于ESL的LTE基站芯片开发案例 / 1142

7.6 基于FPGA的LTE基带方案 / 1152

7.6.1 基站基带模块在LTE系统中的位置 / 1152

7.6.2 基站基带模块的硬件架构 / 1153

7.6.3 基带软件到硬件的映射 / 1153

7.6.4 FPGA功能设计 / 1155

7.7 LTE典型基站产品的内部结构解析 / 1161

7.7.1 研究LTE基站产品的目的 / 1161

7.7.2 基站的内部结构 / 1162

7.7.3 主板主要器件分析 / 1162

7.7.4 对基站芯片/FPGA开发的启示 / 1164

7.8 5G系统展望 / 1165

7.8.1 5G的愿景 / 1165

7.8.2 5G整体开发思路 / 1166

7.8.3 5G网络架构 / 1166

7.8.4 5G的核心技术 / 1168

总结 / 1175

缩略语 / 1176

参考文献 / 1178