通信人家园
标题: 通信IC设计入门与实例,我写的新书,正在征求书名 [查看完整版帖子] [打印本页]
时间: 2015-5-16 19:27
作者: Bigdot
标题: 通信IC设计入门与实例,我写的新书,正在征求书名
最近新写了一本书,关于无线通信系统的芯片设计入门与提高。
作为通信人,总是逛这个论坛,但潜水,因为感觉大家水平很高。所以小心端出这本书,希望大家多提宝贵意见。
目前已经完成书稿,但题目没有拟定好,暂定为“数字通信原理与IC设计”,希望大家能够取个好书名;如果选中书名,我将赠书一本,并提供各种书中尚未发表的好东西。
整本书包含1200页干货内容,其中的例子均为实际参与项目。共1000多个手绘Visio图。
本书的内容简介如下:
内 容 提 要
本书详尽介绍了当前电子信息与通信领域被广泛应用的数字信号处理技术,内容涵盖了从最基础的Verilog语言入门、通信原理到复杂的LTE芯片设计。通过多个被全球广泛应用的芯片例子,让读者能够深入了解如何才能通过简单的硬件描述语言设计出复杂灵活、满足市场需求的IC芯片。
全书内容包括IC芯片设计基础知识;Verilog HDL基础入门;FPGA设计入门与提高;数字信号处理原理与实现方法;纠错编解码原理与实现方法;通信算法原理与调制解调的IC设计套路;基于OFDM的宽带通信系统设计与IC设计套路;复杂通信系统的系统设计、芯片实现与FPGA实现方法等。
全书提供了多个非常实用的FPGA与芯片设计例子,包括基于FPGA开发板的全数字立体声FM收音机;覆盖主流通信系统的各种数字中频设计实现方案;完整的无线通信信道编解码实现;销量占全球1/4的DVB-S芯片;支持802.11a/b/g的完整商业芯片;完整的LTE基站系统以及基带芯片。本书不是单纯的罗列芯片设计方案与实现代码,而是从基础原理、设计思想以及项目组织规划的角度,论述如何设计一块成功的商业芯片。
本书内容新颖、实用,内容属于原创性质,有别于传统的Verilog HDL教程和芯片设计教程。本书强调任何设计原理与方法后面均隐藏着简单的设计思想与通用规则,而开发者需要做的是理解设计思想,遵循设计规则,按照各种标准套路和设计模式开展算法原理研究和芯片设计。
本书能够为芯片设计初学者、FPGA开发者、数字信号处理领域开发人员和无线通信领域相关工程人员提供足够深度和广度的参考,适合作为一本芯片设计启蒙和算法设计思想入门的书籍;本书提供的各种例子和设计规范也能作为大型项目团队开发复杂芯片的基准参考,或者为设计起点。
本书可作为电子类、通信类各专业高年级本科生、研究生的教材,或作为相关领域工程技术人员的参考书,也可以作为数字信号处理、无线通信原理、电子设计竞赛、通信系统高层次开发的参考书。
时间: 2015-5-16 19:28
作者: Bigdot
本帖最后由 Bigdot 于 2015-5-17 21:15 编辑
前 言
国内通信企业经过二十年的大发展,目前已经跻身于世界一流。教主在2001年断言:“若干年后,三分天下有其一。。。”,现在也基本实现,昔年的Motorola、北电、西门子
[1]等巨头灰飞烟灭。回首这些往事,颇有一点笑看风云的味道,但是深究起来,导致这些巨头起起落落、沉浮不已的就是隐藏其后的信息时代发展大潮。而信息大潮背后的主角就是一直追求高度集成的芯片设计。
芯片设计作为高度资本密集和高度技术密集的行业,需要很多的基础知识和背景知识才能掌握。如果没有前期的积累,任何一家企业都不可能推出一款技术领先的产品;这也就是为什么在2000年以前,国内企业在通信市场很难有所作为的原因。但随着技术进步,设计方法学的完善以及各种基础设计方案成熟,芯片设计的门槛越来越低。在某种意义上,芯片设计中的单个模块设计越来越像是一种体力劳动,因为前人已经将各种血泪教训总结出来,只要用心,就能找到大量的参考设计和设计规则,而按照这种模式设计,芯片一定能够满足功能需求和市场需求,不成功都很难。而国内经过三十年的培养,储备了大量掌握此类基本技能的技术人才,所以当积累到一个临界点,整个行业的成功是必然的。这也就是为什么通信技术中心转移到国内的原因。而本书正是基于对通信系统的深入观察和丰富实践,给出了各种标准设计套路,保证初学者只要根据本书的设计思路就能设计出满足市场需求,真正可用的芯片。
由于本书定位于挖掘通信芯片设计的本质,所以对各种常用的信号处理原理和算法思想进行了深入思考,给出很多通用性指导原则。为什么采取这种思路,笔者也是经过了很多的心路历程才决定这样做的。
因为工作的缘故,经常会培养很多的新人。这些新人往往追求最新的技术,例如现在的LTE或者5G技术,我也很想在最短的时间内教会这些新人,但往往感到有心无力。例如,涉及到LTE,必然谈到OFDM和SC-FDMA;而要想讲述清楚这两者就必须了解FFT,而且必须了解FFT背后隐藏的空间变换原理以及LTE利用FFT进行资源分配的原理,单纯了解FFT的计算表达式是无法做到这一点的;而了解FFT就必须清楚各种蝶形变换以及数据流的处理;进一步就牵扯到芯片设计中的数据流和控制流的设计方法。这一长串下来,不花上一天是很难让初学者明白怎么一回事情。而这样的案例很多很多,本书也试图在书中讲述5G通信中的非正交接入(NOMA)、滤波器组多载波(FBMC)、大规模MIMO(Massive MIMO)、SCMA以及F-OFDM等,但后来发现类似的技术是层出不穷的,那怎么办?
事实上,国外的大学早已经解决了这一问题。看过TED公开课的读者,都会发现MIT等大学的教授在讲述现代技术相关课程时,总是从技术的起源谈起,然后按照技术分支的发展脉络进行论述,这其中可能出现了很多很多的技术方案,但最终潜藏在背后的思想使现有的技术分支生存下来,而且还在不停的去芜存菁;同样,现在有很多的炫目或者时尚的技术,但是如果站在更宏观的角度,很多的技术肯定会被淘汰,而生存下来的技术一定是满足了某种根本性的需求,或者遵循了某些基本的原理规则。因此,本书试图通过把握通信技术的发展脉络,将这些基本原理或者根本需求描述出来,从而让读者在阅读完本书后,能够基于这种思维模式快速掌握新的技术,并对可能的候选技术做出准确的把握。
由于本书讲述了很多理论推导的东西,公式格外的多;写书之余常常在想,会不会因此而使读者感觉非常为难。因此,笔者采用了循序渐进的方法,尽量采用简单的语言描述各种公式,并试图将公式后面所要表达的思想传递出来。其实,通信系统的各种算法也好,实现技巧也好,最佳的实现方法往往是简单的方法或者蕴含简单的实现思想。想一想相对论如此深刻的理论,却可以简单的通过 表达出来;在实现上,我国的氢弹方案相对其它国家也是采用了简单直接的实现方案,而且一直在追求更简单的实现;而麦克斯韦的电磁方程如此伟大的成就,只是通过一组简单完美的偏微分方程即可表达;在实现电磁传播时,读者同样也会发现通信电路实现方法、遵循原则也是越来越简单。所以在学习无线通信各种算法和芯片实现时,一定要抱着实现过程一定是简单优美的,或者一定要寻找到简单优美的表述方法。如果没有找到,只能证明背后潜藏的思维模式还不是很正确。
就像无线通信颠覆了传统固话模式一样,移动互联网时代,传统的通信设备厂商正在被颠覆。ICT融合,基于云计算、虚拟化的通用运算平台正在取代传统的专用芯片处理,基于OpenCL和ESL的计算正在逐步取代传统的HDL开发模式,所以芯片的开发模式也发生了重大变化,但不变的依然是信息处理的思想和各种应对措施,本书也针对这种情况进行了简单论述,使本书更加适应时代的气息。
本书的具体安排如下:
第一章,主要介绍集成电路设计入门,重点讲述Verilog HDL设计入门和各种设计思想以及设计规范。
第二章,主要面向FPGA开发者,讲述FPGA与ASIC设计的不同,并详细讲述了FPGA的种种特色应用,ASIC开发者也可以从中借鉴很多FPGA很好的设计理念。
第三章,通过解构通信系统,将系统分解为很多独立的基础单元,完整覆盖了常见的各类数字信号处理算法,例如FIR、FFT、CORDIC等。在解构基础上,又介绍了如何设计真正实用的数字中频系统和全数字立体声FM收音机。
第四章,主要介绍如何实现信道编解码,包含信道编解码的设计思想,与信号空间变换的关系等。读者可以了解完整的BCH、RS、Viterbi、CRC等算法在芯片中是如何实现的。
第五章,则在前面四章基础上进行一个整合,同时讲述通信原理以及实际通信芯片设计的各种设计模板。最后通过一个成功的DVB-S解调芯片设计例子,说明传统单载波信号的标准解调方案。
第六章,则是针对当前流行的OFDM算法进行归纳总结,并通过介绍完整的802.11a/b/g/n芯片设计过程,说明当前MIMO OFDM芯片的设计模式与实现方法。
第七章,则是针对公网LTE系统设计以及对应芯片实现进行归纳总结,并给出了未来公网的演进路线和设计思想。本章给出了多款商用LTE SoC芯片的设计方法。
我希望这本书使读者不仅能够掌握一定的专业技能,更重要的是,能从其中获得各种各样的思维模式,并扩展到解决各种各样人生问题的方向。人终其一生,无非就是在不断探知自己的人生到底应当有什么样的意义而已。
由于作者水平有限,思维深度有待升华,书中难免存在错误,恳请广大读者批评指正!
时间: 2015-5-16 19:59
作者: Bigdot
本帖最后由 Bigdot 于 2015-5-17 21:13 编辑
第一章 集成电路设计与HDL本章概要本章将简单论述集成电路(IC)的概念与设计原理,并从IC的本质——“集成”出发,讲述IC的三个核心议题:“集成什么”、“如何集成”、“如何处理集成带来的利弊”。学习本章后应当建立起IC设计是一个系统工程的概念,知道Verilog HDL是一种硬件描述语言而不是设计语言,硬件电路本质上是并行运行的而且是有时序关系的。
本章的内容安排如下:
第1节从总体上论述什么是IC设计,IC设计的流程以及整体规划的重要性,并强调面向验证和软硬件配合的设计原则。
第2节简要介绍Verilog语法,并通过10个例子讲述如何通过简单的HDL语句描述复杂的硬件电路。本节主要强调HDL给出的描述需要有具体对应的基础电路原型,并明确时序的概念。此外给出了各种常用的验证小技巧,帮助读者快速进行验证设计。
第3节则是对第2节设计方法的一个总结和提炼。本节主要强调必须按照结构化方式设计电路,并需要遵循常规思维模式对复杂模块进行解耦,按照控制与数据分离的原则简化设计。此外,还讲述了芯片中控制流与数据流的设计方法。
第4节则针对IC中的定点化进行论述,强调定点化实质是人与机器的理解如何达到一致。
第5节给出了HDL语言描述规范,并强调遵循规范实质是一种IC设计模式,能够有效增加设计成功率。
第6节则引入了吞吐率、电路时序等关键性概念,给出了各种电路思想,并引入了四种经典电路优化方法:重定时、折叠、展开与脉动阵列。
第二章 FPGA设计与进阶本章概要本章将简单论述FPGA的基本原理和设计方法,并对FPGA与ASIC的差异进行论述。强调FPGA实质是一种ASIC虚拟机,通过各种基本元件的可编程实现整体的可编程。单纯将FPGA当做一种简单的HDL实现器件,实际只是FPGA的基本用法。如果想要发挥FPGA的强大功能,必须理解FPGA为什么可编程?为了与其它类型器件进行竞争,FPGA内置了哪些硬件IP、软件IP?FPGA的设计方法学与ASIC的设计方法学有什么差异?
由于FPGA在某种意义上已经独立于传统的ASIC开发,因此需要将FPGA的各种内嵌功能模块当做类似CPU或者DSP一样进行研究。在进行数据流设计时,需要尽量利用器件模块的原始资源,并充分发挥FPGA内置的并行性和级联流水的威力。对于复杂的流程控制设计时,则需要充分利用FPGA厂商提供的超级状态机(StateSequencer、PicoBlaze 、CoreABC 等),小型CPU(MicroCPU、nios、MicroBLaze)或者大型CPU(Cortex-A9、PowerPC等)。
此外,基于FPGA的流水线、重定时、展开、折叠以及脉动与传统的ASIC设计方法略有不同,这是因为FPGA本身就已经包含了对脉动和重定时的支持,而折叠与展开则通过内置查找表(LUT)支持。目前所有的FPGA基本单元都在向模块级全并行,支持重定时和脉动的设计方向发展。所以,理解FPGA模块叠加的思想对于充分发挥器件性能意义重大。
FPGA的调试功能也与ASIC有很大区别。ASIC的所有调试功能都必须由设计者设计;而FPGA器件则内置多种手段,包括内部逻辑观测、内置存储器修改、动态PLL设定、逻辑分析仪接口等。这些手段能够帮助初学者快速实现错误定位,降低调试难度。
本章的内容安排如下:
第1节从总体上论述什么是FPGA,FPGA设计的流程以及整体规划的重要性,并强调FPGA是一种利用已有器件进行各种并行组合的本质。此外,还介绍了FPGA的进阶之路。
第2节则介绍FPGA与ASIC的差异。
第3节则介绍FPGA的内部各种基础部件特性,包括RAM特性、乘法单元特性、PLL特性、移位寄存器特性;
第4节则介绍FPGA的介绍了各种Debug手段,如SignalTap、In-MemoryEditor等;以及对应的IO接口特性。FPGA设计,就是对上述模块进行组合的过程。
第5节则通过一系列的例子讲述FPGA的设计方法。
第6节则讲述FPGA的优化思想和注意事项,包括数据流量卸载、面积共享、通过插入寄存器实现速率提升的方法。这些实际是与ASIC中的Retiming、折叠、重定时、脉动思想是一致的,可以与复杂芯片系统结构方案系统设计方法对照阅读。
第7节则介绍适合FPGA的可综合概念,并强调与ASIC可综合的区别。
第8节则介绍FPGA设计中的一些注意事项,包括接口、时钟与复位以及各种signoff检查项。
第9节则介绍如何对FPGA设计进行仿真,并详细介绍Modelsim/Questsim软件的使用方法,给出了一个FPGA的仿真例子;此外还给出一个简单的FPGA SoC设计例子。
第三章 通信系统基础部件设计本章概要通信系统整体看起来非常复杂,但是如果按照一定的原则进行剖析就会发现,都是由有限的几类基本单元构成的。如果掌握了这类基本单元,再额外添加部分控制逻辑就能构成一个基本实用的通信系统。因此本章将对通信系统进行解构,给出各类常见单元的算法原理和实现方案。在这些基本单元的实现论述中,会将反复用到前面章节提到的四类经典实现手段:重定时、折叠、展开和脉动阵列。这些手段是数字信号处理中的精华,能够极大提升所设计芯片的质量。
本章的内容安排如下:
第1节从总体上论述通信系统的构成,强调设计的层次化和模块化,对大型芯片需要学会解构,知道如何着手设计。
第2节则从概要上介绍通信系统包含哪些基本算法以及对应的组成关系。
第3节则介绍各种芯片设计套路,并通过举例给出对应的设计方案。
第4节介绍数字滤波器。在通信系统设计中,滤波器实质是一个基石,而且变化多端。因此本节详细介绍滤波器的算法原理,实现原理,并反复讲述如何利用四大经典手段实现不同的应用目标。此外,还引入了分段处理的思想,这种思想在信道编解码章节中也会有深刻的体现。
第5节介绍快速傅里叶变换(FFT)。FFT也是信号处理的基石,掌握FFT的原理以及隐含的一大类空间映射特性,能够加深对通信本质的理解。同样,本章对FFT各种实现思想作了详细论述,也利用四大经典手段,给出不同的硬件实现方案。
第6节通过讲述三角函数和超越函数的实现过程,给出IC算法设计一个基本思想:利用逐次逼近的方法实现精确计算。
第7节通过利用任意波形发生器(DDS)的实现过程,给出IC算法设计另外一个基本思想:利用ROM存储数据或者通过提取计算规律,实现高速计算数据输出。此外还给出利用DDS模块实现基本的FSK(频率键控调制)、ASK(幅度键控调制)、PSK(相位键控调制)的方法。
第8节是对前面内容的一个总结,给出如何利用简单元件构建复杂的数字中频系统。此外,本节还给出了多个现网运行的数字中频例子,这些范例能够作为很多新项目的Golden参考设计。
第9节则是基于数字中频基础上,利用各个基本元件实现一个完全实用化的FM立体声收音机的例子。该部分内容强调IC设计追求模块极简化、功能高度集成化的思想。通过一步步引导,可以发现数字电路能够完美实现各种模拟信号处理功能,也能够体会到市场竞争的魅力。
第四章 通信系统的信道编解码本章概要本章将讲述通信系统中的各类信道编解码原理与实现方法。信道编解码的核心思想是通过引入冗余获得无差错的传输,这就是可靠通信传输的基础[1]。通过归纳总结,本章给出目前通信系统中常见的信道编解码类型,并对各类编码包含的思想做出说明。由于HDL天然支持二进制运算,所以信道编解码在HDL表达中往往存在非常精简的描述;如果HDL实现代码很繁琐,通常意味着没有找到最佳实现方法,往往需要从编码原理中找出简化技巧。 本章的内容安排如下:
第1节从总体上论述信道编解码的概念和分类标准,引入纠错译码的欧式距离与汉明距离的概念,给出什么是软译码。此外,需要理解信道编解码实际是一种数学变换与概率判决。
第2节给出当前高速串行通信中最重要的编码方式:8b / 10b的编码原理。通过本节应当理解信道编解码就是一种有规律的冗余和空间映射。
第3节给出信道编解码的基础——有限域的运算规则和实现方法。通过有限域的电路实现过程,可以发现离线计算与查表实现的重要性。
第4节给出CRC编码的实现方法,很容易发现CRC原理实现方案与ASIC真实实现的差距。对于信道编码,并行化是一个非常重要的实现需求。
第5节给出了RS的编码原理、译码原理以及硬件实现方案。本节最*+重*+要*+的思*+想是对非线性计算采用多*+维变量替*+换的方法实现计算线性化。此外,还需要明白最朴素的欧几里得算法原理[2]。通过有限域的FFT变换过程,可以进一步理解空间变换其实就是对向量进行正交化以及正交坐标映射的过程,而有限域的译码原理就是利用空间正交产生的额外冗余进行纠错。RS译码完整的硬件实现例子可以参考卫星通信的信道编解码一节。 第6节在第5节的基础上,给出BCH的编码和译码原理。
第7节给出了卷积码的编码原理、译码原理,并给出详尽的Viterbi译码原理。Viterbi译码算法隐含着最朴素的动态规划原理,而且还可以用到多种场合,而核心思想与FFT实际是完全相同的,就是分而治之、分段处理。如果理解Viterbi的核心思想后,还可以将Viterbi算法扩展到大数据业务和人工智能、图像识别上。
第8节给出一个实际通信系统所使用的信道编解码方案。通过该方案读者应当掌握信道编解码最常见的硬件实现结构方法。
第五章 通信原理与单载波芯片设计本章概要前面章节的内容主要围绕通信的组成单元进行论述,而本章及后面的章节将站在通信系统的角度进行论述。对于通信系统设计而言,首要的工作是建立完整的无线通信链路,形成收发完备的通信系统模型。通过通信链路能够找到各种影响传输性能的因素,能够正确描绘真实世界的通信过程。建立链路的概念有助于准确评估各类信号处理算法的潜能,方便芯片设计中做出最佳方案选择。
本章的主题主要针对传统的单载波通信系统,内容安排如下:
第1节从总体上论述什么无线通信系统,讲述通信系统的概念,并给出几种基本的调制方法。本节还对无线链路进行详细说明,强调链路的每一个环节均对发送接收造成影响。并针对算法设计人员对通常对射频了解较少的现状,详细讲述了当前射频发送接收的各种特效,并给出了基带处理三大基本电路:AFC、AGC、APC。
第2节主要讲述非理想信道下,接收机如何与发射机同步的过程。这其中强调从信号本身中提取各类数据特性,从而实现理想解调。本节给出了两个理论极限:香农极限和克拉美-罗极限,后面的算法都将依据这两个极限进行设计。此外,本节给出了适合常规通信系统的通用同步和解调技巧,包括频偏、定时、相偏等方面等。将本节给出的各种方法组合起来,就能形成不同的通信解调套路。
第3节则是在前面两节基础上,讲述数字卫星通信系统(DVB-S)如何进行调制的过程。读者可以通过学习本节,并对照前面两节思考如何对QPSK信号进行调制解调。
第4节给出了DVB-S系统QPSK信号的解调方法,该解调方法充分利用了数据的统计特性,是按照非数据辅助(NDA)解调经典方法实现的。任意的正交调制信号实际都可以采用类似方法实现解调。本节给出QPSK的最终解调算法非常简单,但隐藏在后面的统计算法以及简化推导过程有很深的理论背景。
第5节给出了DVB-S的解调硬件实现,所有复杂算法电路均能通过本节的简单模块搭建实现。
第6节则给出了DVB-S的信道解码实现,包括Viterbi译码和RS译码两类算法,是对前面信道编解码章节的一个硬件实现方法总结。
第7节则给出了不同硬件实现条件下的解调方案,强调通过对信号本质的理解获得简单可靠的解调方法。很多的通信系统解调都可以按照本节介绍的思想进行简化。
第六章 多载波通信芯片设计本章概要本章将详细介绍当前宽带通信系统的主流:OFDM多载波系统,从原理上论述OFDM的特点以及对应的调制解调套路。在此基础上,本章给出一个完整的802.11系统(WIFI)芯片设计例子,内容涵盖算法原理、Matlab模型和最终Verilog实现。
本章的内容安排如下:
第1节从总体上论述什么是OFDM,并给出OFDM的标准解调套路。这节的重点是理解OFDM为什么频谱效率高,但为这种特性付出了什么样的代价(高峰均比、子载波正交性敏感、高速移动性问题等)。
第2节则给出了与OFDM结合紧密的MIMO设计方法。由于OFDM解调已经标准化,所以掌握套路以及背后蕴藏的思路是最重要的。
第3节则针对当前流行的无线局域网进行系统性讲解。无线局域网设计的核心理念是降低单个终端成本、简化处理流程、实现分布式无线信道共享。
第4节给出802.11a产品标准以及发射机的实现思路,强调通信标准的发射机设计重点在于简化复杂计算,尽量通过离线计算降低运算量。
第5节给出802.11a接收实现算法以及硬件实现思路。对如何实现OFDM的载波同步、频偏消除以及相位同步做了详细论述,核心思想是通过多次累积相关尽量逼近最优值。此外,尽量用少的bit实现相关运算,也是ASIC设计的一个关键。
第6节给出了802.11b产品标准以及发射机的实现思路,与802.11a发射机设计一样,引入了CCK的概念和直接序列扩频的概念。
第7节给出了802.11b接收机算法以及实现思路。这里面最体现信号处理精华的是CCK序列的最佳似然估计,核心计算算法FWT与FFT一样,采用分而治之的思想,极大降低运算量。
第8节给出了802.11b/g芯片商业化设计方案。这里面强调各种射频和空口条件恶劣对接收机的影响,而商业产品就需要设计针对性的电路消除这些影响。通常这些影响因素以及应对措施都是固定套路,可以继承到类似相关的系统中。
第9节则给出了最新的802.11n以及802.11ac的设计思路以及升级思想。在商业产品中,对老产品的兼容性是最重要的,而如何在设计中体现前后兼容性则体现产品方案的高下。
第10节给出了802.11b的接收机理论推导
第11节给出了802.11a的设计主程序。
时间: 2015-5-16 20:01
作者: Bigdot
目录需要审核,所以只能以附件形式上传,大家下来看看。
附件: 第三版分章节目录_标题五级.doc (2015-5-16 20:01, 291.5 KB) / 下载次数 2
https://www.txrjy.com/forum.php?mod=attachment&aid=MjYwMTc5fDk3YWEzMWY4fDE3MzI1ODEwMDZ8MHww
附件: 第三版分章节目录_标题三.doc (2015-5-16 20:01, 81 KB) / 下载次数 0
https://www.txrjy.com/forum.php?mod=attachment&aid=MjYwMTgwfDViM2ZmYjRmfDE3MzI1ODEwMDZ8MHww
时间: 2015-5-16 20:02
作者: Bigdot
本帖最后由 Bigdot 于 2015-5-17 21:14 编辑
希望大家多提宝贵意见。
谢谢!
第一章 集成电路设计与HDL本章概要本章将简单论述集成电路(IC)的概念与设计原理,并从IC的本质——“集成”出发,讲述IC的三个核心议题:“集成什么”、“如何集成”、“如何处理集成带来的利弊”。学习本章后应当建立起IC设计是一个系统工程的概念,知道Verilog HDL是一种硬件描述语言而不是设计语言,硬件电路本质上是并行运行的而且是有时序关系的。
本章的内容安排如下:
第1节从总体上论述什么是IC设计,IC设计的流程以及整体规划的重要性,并强调面向验证和软硬件配合的设计原则。
第2节简要介绍Verilog语法,并通过10个例子讲述如何通过简单的HDL语句描述复杂的硬件电路。本节主要强调HDL给出的描述需要有具体对应的基础电路原型,并明确时序的概念。此外给出了各种常用的验证小技巧,帮助读者快速进行验证设计。
第3节则是对第2节设计方法的一个总结和提炼。本节主要强调必须按照结构化方式设计电路,并需要遵循常规思维模式对复杂模块进行解耦,按照控制与数据分离的原则简化设计。此外,还讲述了芯片中控制流与数据流的设计方法。
第4节则针对IC中的定点化进行论述,强调定点化实质是人与机器的理解如何达到一致。
第5节给出了HDL语言描述规范,并强调遵循规范实质是一种IC设计模式,能够有效增加设计成功率。
第6节则引入了吞吐率、电路时序等关键性概念,给出了各种电路思想,并引入了四种经典电路优化方法:重定时、折叠、展开与脉动阵列。
第二章 FPGA设计与进阶本章概要本章将简单论述FPGA的基本原理和设计方法,并对FPGA与ASIC的差异进行论述。强调FPGA实质是一种ASIC虚拟机,通过各种基本元件的可编程实现整体的可编程。单纯将FPGA当做一种简单的HDL实现器件,实际只是FPGA的基本用法。如果想要发挥FPGA的强大功能,必须理解FPGA为什么可编程?为了与其它类型器件进行竞争,FPGA内置了哪些硬件IP、软件IP?FPGA的设计方法学与ASIC的设计方法学有什么差异?
由于FPGA在某种意义上已经独立于传统的ASIC开发,因此需要将FPGA的各种内嵌功能模块当做类似CPU或者DSP一样进行研究。在进行数据流设计时,需要尽量利用器件模块的原始资源,并充分发挥FPGA内置的并行性和级联流水的威力。对于复杂的流程控制设计时,则需要充分利用FPGA厂商提供的超级状态机(StateSequencer、PicoBlaze 、CoreABC 等),小型CPU(MicroCPU、nios、MicroBLaze)或者大型CPU(Cortex-A9、PowerPC等)。
此外,基于FPGA的流水线、重定时、展开、折叠以及脉动与传统的ASIC设计方法略有不同,这是因为FPGA本身就已经包含了对脉动和重定时的支持,而折叠与展开则通过内置查找表(LUT)支持。目前所有的FPGA基本单元都在向模块级全并行,支持重定时和脉动的设计方向发展。所以,理解FPGA模块叠加的思想对于充分发挥器件性能意义重大。
FPGA的调试功能也与ASIC有很大区别。ASIC的所有调试功能都必须由设计者设计;而FPGA器件则内置多种手段,包括内部逻辑观测、内置存储器修改、动态PLL设定、逻辑分析仪接口等。这些手段能够帮助初学者快速实现错误定位,降低调试难度。
本章的内容安排如下:
第1节从总体上论述什么是FPGA,FPGA设计的流程以及整体规划的重要性,并强调FPGA是一种利用已有器件进行各种并行组合的本质。此外,还介绍了FPGA的进阶之路。
第2节则介绍FPGA与ASIC的差异。
第3节则介绍FPGA的内部各种基础部件特性,包括RAM特性、乘法单元特性、PLL特性、移位寄存器特性;
第4节则介绍FPGA的介绍了各种Debug手段,如SignalTap、In-MemoryEditor等;以及对应的IO接口特性。FPGA设计,就是对上述模块进行组合的过程。
第5节则通过一系列的例子讲述FPGA的设计方法。
第6节则讲述FPGA的优化思想和注意事项,包括数据流量卸载、面积共享、通过插入寄存器实现速率提升的方法。这些实际是与ASIC中的Retiming、折叠、重定时、脉动思想是一致的,可以与复杂芯片系统结构方案系统设计方法对照阅读。
第7节则介绍适合FPGA的可综合概念,并强调与ASIC可综合的区别。
第8节则介绍FPGA设计中的一些注意事项,包括接口、时钟与复位以及各种signoff检查项。
第9节则介绍如何对FPGA设计进行仿真,并详细介绍Modelsim/Questsim软件的使用方法,给出了一个FPGA的仿真例子;此外还给出一个简单的FPGA SoC设计例子。
第三章 通信系统基础部件设计本章概要通信系统整体看起来非常复杂,但是如果按照一定的原则进行剖析就会发现,都是由有限的几类基本单元构成的。如果掌握了这类基本单元,再额外添加部分控制逻辑就能构成一个基本实用的通信系统。因此本章将对通信系统进行解构,给出各类常见单元的算法原理和实现方案。在这些基本单元的实现论述中,会将反复用到前面章节提到的四类经典实现手段:重定时、折叠、展开和脉动阵列。这些手段是数字信号处理中的精华,能够极大提升所设计芯片的质量。
本章的内容安排如下:
第1节从总体上论述通信系统的构成,强调设计的层次化和模块化,对大型芯片需要学会解构,知道如何着手设计。
第2节则从概要上介绍通信系统包含哪些基本算法以及对应的组成关系。
第3节则介绍各种芯片设计套路,并通过举例给出对应的设计方案。
第4节介绍数字滤波器。在通信系统设计中,滤波器实质是一个基石,而且变化多端。因此本节详细介绍滤波器的算法原理,实现原理,并反复讲述如何利用四大经典手段实现不同的应用目标。此外,还引入了分段处理的思想,这种思想在信道编解码章节中也会有深刻的体现。
第5节介绍快速傅里叶变换(FFT)。FFT也是信号处理的基石,掌握FFT的原理以及隐含的一大类空间映射特性,能够加深对通信本质的理解。同样,本章对FFT各种实现思想作了详细论述,也利用四大经典手段,给出不同的硬件实现方案。
第6节通过讲述三角函数和超越函数的实现过程,给出IC算法设计一个基本思想:利用逐次逼近的方法实现精确计算。
第7节通过利用任意波形发生器(DDS)的实现过程,给出IC算法设计另外一个基本思想:利用ROM存储数据或者通过提取计算规律,实现高速计算数据输出。此外还给出利用DDS模块实现基本的FSK(频率键控调制)、ASK(幅度键控调制)、PSK(相位键控调制)的方法。
第8节是对前面内容的一个总结,给出如何利用简单元件构建复杂的数字中频系统。此外,本节还给出了多个现网运行的数字中频例子,这些范例能够作为很多新项目的Golden参考设计。
第9节则是基于数字中频基础上,利用各个基本元件实现一个完全实用化的FM立体声收音机的例子。该部分内容强调IC设计追求模块极简化、功能高度集成化的思想。通过一步步引导,可以发现数字电路能够完美实现各种模拟信号处理功能,也能够体会到市场竞争的魅力。
时间: 2015-5-16 20:03
作者: Bigdot
第一章 HDL与集成电路设计 1
1.1 本章概要 1
1.2 集成电路设计基础 2
1.2.1 集成电路的概念 2
1.2.2 IC设计的本质 6
1.2.3 IC设计流程 8
1.3 VERILOG HDL 快速入门 16
1.3.1 Verilog HDL简介 16
1.3.2 Verilog的表达能力 16
1.3.3 第一个Verilog程序:通用加法器 17
1.3.4 第二个Verilog程序:多路选择器与运算操作 19
1.3.5 第三个Verilog程序:D触发器和多路延迟 25
1.3.6 第四个Verilog程序:function与时序电路组合 32
1.3.7 第五个Verilog程序:有限状态机 43
1.3.8 第六个Verilog程序:写testbench 60
1.3.9 第七个Verilog程序:SPI总线 80
1.3.10 第八个Verilog程序:异步UART 86
1.3.11 一些有用的Verilog程序 93
1.3.12 Verilog不同版本的差异 100
1.3.13 Verilog语法小结 100
1.4 复杂模块的设计 103
1.4.1 结构化的设计 103
1.4.2 数据流的设计 107
1.4.3 控制流的设计 124
1.4.4 重要接口部件设计 127
1.5 数的表示与基本运算 136
1.5.1 数表示方法 136
1.5.2 定点数的计算规则 140
1.5.3 定点计算举例 140
1.5.4 定点数的移位规则 142
1.6 VERILOG编程规范 146
1.6.1 文档规范 146
1.6.2 编程规范 146
1.6.3 文件头定义格式 146
1.6.* 格式规则 147
1.6.5 命名规则 147
1.6.6 整体编码规则 148
1.6.7 全局信号编码规则 155
1.6.8 模块编码规则 156
1.6.9 可综合性设计 156
1.6.10 可重用设计 157
1.6.11 编码规范小结 157
1.7 HDL电路设计技巧 158
1.7.1 芯片设计的核心目标 158
1.7.2 如何提高电路运行速度 159
1.7.3 如何降低电路规模(使用面积) 162
1.7.4 如何优化时序 175
总结 183
第二章 FPGA设计入门 184
2.1 本章概要 184
2.2 FPGA简介 185
2.2.1 FPGA功能强大的秘密 187
2.2.2 为什么FPGA具备可编程能力 188
2.2.3 FPGA其它内部单元 192
2.2.4 FPGA的应用方向 192
2.2.5 FPGA的设计流程 194
2.2.6 FPGA的层次提升 203
2.3 FPGA与ASIC的差异 206
2.4 FPGA的基本构成 208
2.4.1 FPGA的RAM 资源 208
2.4.2 DSP资源 217
2.4.3 PLL资源 224
2.4.4 IO管脚(PIN)资源 229
2.4.5 SERDES 231
2.5 FPGA的调试 235
2.5.1 In-System Memory Content Editor 235
2.5.2 内嵌逻辑分析仪(SignalTap或ChipScope) 237
2.5.3 虚拟JTAG(Virtual JTAG) 243
2.5.4 LogicLock 249
2.5.5 调试设计的指导原则 251
2.6 FPGA的设计方法 252
2.6.1 FPGA的设计规范(design Specification) 252
2.6.2 FPGA的整体结构设计 253
2.7 FPGA电路的优化 267
2.7.1 整体优化原则 268
2.7.2 FPGA优化举例 269
2.8 FPGA可综合的概念 272
2.8.1 可综合与不可综合的归纳 272
2.8.2 always可综合的概念 273
2.8.3 有限状态机FSM可综合的概念 274
2.8.4 可综合模块举例 275
2.9 FPGA设计的注意事项 282
2.9.1 外部接口 282
2.9.2 时钟电路 282
2.9.3 复位电路 285
2.9.4 FPGA的设计检查项 288
2.10 附录2.A开发流程与应用环境快速搭建 291
2.10.1 FPGA仿真环境 291
2.10.2 基于Xilinx的ESL软件测试环境的搭建与调试 302
2.10.3 基于Zynq开发板的vivado开发流程 313
总结 319
第三章 数字信号处理与算法设计思想 320
3.1 本章概要 320
3.2 通信模型的模型构架 321
3.2.1 通信电路的组成结构 321
3.2.2 常见的算法单元模块 321
3.3 通信系统的基本算法 323
3.4 通信系统芯片设计的基本套路 326
3.4.1 芯片设计的整体流程 326
3.4.2 需求类别分析 326
3.4.3 高速通信芯片的实现方案 327
3.4.4 中速通信芯片的实现方案 328
3.4.5 低速通信芯片的实现方案 330
3.4.6 传统终端基带芯片的方案 331
3.5 数字滤波器设计 333
3.5.1 FIR滤波器的基本概念 333
3.5.2 FIR滤波器的基本硬件实现 335
3.5.3 FIR滤波器硬件实现结构概述 338
3.5.4 基于分布式DA算法的FIR滤波器 346
3.5.5 IIR滤波器设计 354
3.5.6 数字滤波器的扩展应用——相关(correlation analysis) 357
3.6 FFT原理与硬件设计 361
3.6.1 概述 361
3.6.2 FFT理论描述 363
3.6.3 FFT标准算法在实现中需要解决的问题 367
3.6.* FFT硬件实现 369
3.6.5 适用于WLAN发射机的6*点FFT设计 374
3.6.6 适用于WLAN接收机的6*点FFT设计 380
3.6.7 FFT与FIR的关系 382
3.6.8 离散余弦变换DCT 383
3.7 CORDIC算法 387
3.7.1 CORDIC简介 387
3.7.2 一个计算角度atan的例子 387
3.7.3 CORDIC算法原理 391
3.7.4 CORDIC通用算法原理 392
3.7.5 CORDIC计算的硬件结构 394
3.8 NCO与DDS 401
3.8.1 NCO与DDS简介 401
3.8.2 NCO设计原理 401
3.8.3 NCO硬件设计 403
3.8.4 DDS硬件设计 404
3.8.5 DDS实现通信调制 406
3.9 数字信号处理的集成案例:数字中频 409
3.9.1 概述 409
3.9.2 数字下变频DDC 409
3.9.3 数字上变频DUC 427
3.9.4 数字上下变频的系统级设计(ESL) 431
3.9.5 数字中频的各种设计案例 437
3.10 数字信号处理的集成案例:FM收音机 452
3.10.1 FM收音机原理 452
3.10.2 FM收音机的解调思路 454
3.10.3 FM的中频处理 454
3.10.4 FM单声道收音机的ESL设计 459
3.10.5 FM立体声的硬件实现 461
3.10.6 FM收音机相关的一些话题 467
3.11 附录.3数字信号处理算法实现的部分技巧 473
3.11.1 复数乘法 473
3.11.2 除(2^n-1)的计算 474
3.11.3 数据压缩 474
3.11.4 饱和处理 475
3.11.5 并行动态定标的操作 476
3.11.6 移位长除法计算 477
3.11.7 递增式乘法的计算 478
3.11.8 高位宽乘法(适合xilinx FPGA) 478
3.11.9 Xilinx DSP级联 480
3.11.10 查表插值计算方法 481
3.11.11 DSP48实现四舍五入 485
3.11.12 倒数查表法实现除法和取模 485
总结 487
第四章 信道编解码与HDL设计实现 488
4.1 本章概要 488
4.2 通信模型的编码与解码基本框架 48*
4.2.1 编码基础知识 48*
4.2.2 编码的几个基本概念 48*
4.2.3 信道编码间的关系 490
4.2.4 级联码 491
4.2.5 信道编解码芯片实现的基本套路 491
4.3 8B/10B编码与译码 493
4.3.1 8B/10B编码过程 493
4.3.2 8B/10B解码过程 496
4.3.3 8B/10B编码与解码的Verilog实现 497
4.4 有限域运算基础 501
4.4.1 有限域的基本概念 501
4.4.2 有限域多项式的运算规则 502
4.4.3 GF(2)域的多项式运算 504
4.4.4 适合硬件实现的有限域运算方法 505
4.5 CRC冗余校验码简介 513
4.5.1 CRC算法的基本原理 514
4.5.2 几个基本概念 515
4.5.3 CRC算法实现 515
4.6 RS码 522
4.6.1 RS的编码算法 522
4.6.2 RS的译码算法 526
4.7 BCH码 545
4.7.1 BCH编码 545
4.7.2 BCH译码方法简介 547
4.8 卷积码简介 550
4.8.1 卷积码的相关概念 550
4.8.2 卷积码编码通用表述 550
4.8.3 卷积码的变形以及特殊处理 554
4.8.4 卷积码的译码原理 554
4.8.5 Viterbi译码的硬件实现 568
4.8.6 Viterbi的引申话题 570
4.9 信道编解码集成案例 574
4.9.1 编码方案 574
4.9.2 整体编码流程 575
4.9.3 硬件方案的整体概述 577
4.9.4 信道编码 583
4.9.5 信道解码 592
4.9.6 芯片实现中的几个关键问题 600
总结 612
第五章 通信原理与单载波芯片设计 613
5.1 本章概要 613
5.2 通信原理与设计基础 614
5.2.1 通信系统模型 614
5.2.2 常见的各种调制方式 616
5.2.3 通信链路的关键要素 624
5.2.4 射频模型 629
5.2.5 调整射频的三个重要手段 6*0
5.3 常见的通信解调套路 650
5.3.1 解调套路概述 650
5.3.2 解调实现方法 650
5.3.3 完整通信链路解调实例:数据直播星系统设计 661
5.4 DVB-S系统概述 674
5.4.1 DVB-S整体流程介绍 674
5.4.2 DVB-S系统的数据扰码 674
5.4.3 DVB-S系统的外编码模块(RS(206,188)) 674
5.4.4 DVB-S系统的卷积交织 675
5.4.5 DVB-S系统的卷积编码 677
5.4.6 DVB-S系统的QPSK调制 677
5.5 DVB-S信道接收算法原理 679
5.5.1 QPSK信号数学表示 679
5.5.2 QPSK解调总体设计 680
5.5.3 QPSK解调载波恢复 680
5.5.4 QPSK符号时钟同步 688
5.5.5 QPSK解调辅助电路 693
5.5.6 DVB-S系统解调的算法推导 693
5.6 DVB-S信道接收机设计实例 703
5.6.1 信号命名规范与约定 703
5.6.2 QPSK数字解调器整体结构 703
5.6.3 QPSK内部共用模块电路设计 705
5.6.* 载波恢复(CR)模块电路设计 712
5.6.5 符号同步电路(TR) 717
5.7 DVB-S信道编解码设计实例 724
5.7.1 信道编解码的整体流程 724
5.7.2 Viterbi译码 725
5.7.3 帧同步(Frame Synchronization) 734
5.7.4 去交织(De-Interleave) 737
5.7.5 RS译码(Reed-Solomon Decoder) 739
5.7.6 解扰(解扰)及同步 746
5.8 附录 5.A GF(2^8) RS运算表 748
5.8.1 RS译码器域元素对应的二进制表示 748
5.8.2 RS译码电路中Inv模块(求逆) 749
5.9 附录 5.B 通信解调芯片的简化设计实例 751
总结 754
第六章 OFDM通信系统芯片设计 755
6.1 本章概要 755
6.2 OFDM设计思想与通用解调过程 756
6.2.1 OFDM技术特点 756
6.2.2 OFDM的基本原理 757
6.2.3 OFDM的解调套路 758
6.3 MIMO技术 761
6.3.1 MIMO系统原理 761
6.3.2 MIMO中的空时编码 763
6.3.3 MIMO与OFDM的结合 76*
6.3.4 LTE中的MIMO 765
6.3.5 LTE中MIMO简单解调套路 766
6.* WIFI基础知识 767
6.*.1 802.11系列标准 768
6.*.2 802.11中几个关键概念 770
6.*.3 802.11的通信模型 773
6.5 802.11A发射机设计 776
6.5.1 802.11a技术参数概述 776
6.5.2 802.11a的帧结构 778
6.5.3 802.11a的发送流程 780
6.5.4 802.11a发射机实现原理 781
6.5.5 802.11a发射机matlab实现 793
6.5.6 802.11a发射机Verilog实现 796
6.6 802.11A 接收机设计 798
6.6.1 接收机的适用范围 798
6.6.2 接收机整体概述 798
6.6.3 接收机算法原理概述 804
6.6.* 802.11a接收机模块设计 810
6.6.5 接收机中用到的一些查表模块 828
6.7 802.11B 发射机设计 833
6.7.1 802.11b的帧结构 833
6.7.2 802.11b发射内容归纳 834
6.7.3 802.11b的标准发射过程 834
6.7.4 802.11b发射数据产生 836
6.7.5 802.11b 硬件详细设计 844
6.8 802.11B 接收机设计 847
6.8.1 接收机概述 847
6.8.2 接收机算法原理 847
6.8.3 接收机接收流程 848
6.8.4 接收机信号处理小结 857
6.8.5 802.11b接收机实际硬件实现 857
6.8.6 802.11b接收机部分通用模块设计 879
6.9 完整的802.11A/B/G 芯片设计案例 882
6.9.1 802.11a/b/g系统设计 882
6.9.2 802.11g接收前端信号处理模块 885
6.9.3 802.11g接收前端控制处理模块 908
6.9.4 802.11g发射前端信号处理模块 914
6.9.5 802.11g一些附加模块 922
6.10 802.11技术新的发展 924
6.10.1 802.11系列的发展脉络 924
6.10.2 802.11n关键技术概述 927
6.10.3 802.11n的帧格式 930
6.10.4 802.11ac的物理层 937
6.10.5 802.11ac的发射机 939
6.10.6 802.11ac新特性 945
6.10.7 802.11ah(802.11的物联网(IOT)标准) 948
6.10.8 802.11的全双工传输技术 953
6.10.9 802.11n商业芯片示例 955
6.11 附录 802.11B接收机理论基础 957
6.11.1 802.11b无码字间干扰时的最优接收 957
6.11.2 802.11b有码字间干扰的次优接收 963
6.11.3 802.11b有码字间干扰的最优接收 96*
6.12 附录 802.11A/G接收机算法MATLAB代码概述 968
6.12.1 主程序 968
6.12.2 关键子程序 974
总结 977
第七章 复杂通信系统设计 978
7.1 本章概要 978
7.2 大型通信系统简介 979
7.2.1 概述 979
7.2.2 公网系统的演进 979
7.2.3 大型通信系统的特点 979
7.3 LTE系统简介 98*
7.3.1 LTE系统构架 990
7.3.2 LTE物理层 991
7.3.3 LTE的关键技术 1010
7.3.4 附录7a LTE的一些浅显描述 1015
7.4 LTE的物理层过程及关键算法 1017
7.4.1 上行共享信道PUSCH 1017
7.4.2 上行控制信道PUCCH 1020
7.4.3 随机接入信道PRACH 1025
7.4.4 下行共享信道PDSCH 1029
7.4.5 下行控制信道PDCCH 1030
7.4.6 下行PBCH信道 1036
7.4.7 PHICH信道 1038
7.4.8 PCFICH信道 1038
7.4.9 PCFICH信道接收流程 1039
7.4.10 SRS过程 1039
7.4.11 上行信道的功率控制 1040
7.4.12 HARQ重传 1042
7.4.13 终端对物理层的处理 1046
7.4.14 基站对物理层的处理 1047
7.4.15 其它算法 1050
7.5 LTE系统开发简要说明 1057
7.5.1 复杂通信系统的几个基本概念 1057
7.5.2 LTE的软件框架 1059
7.5.3 LTE高层算法 1060
7.5.4 LTE芯片概述 106*
7.6 LTE基站芯片设计 1066
7.6.1 LTE基站基带芯片需求分析 1066
7.6.2 LTE基站芯片的参考构架 1071
7.6.3 LTE基带芯片设计参考 1076
7.6.* 基于ESL的LTE基站芯片开发案例 1081
7.6.5 LTE基带芯片实现流程 1091
7.7 LTE基于FPGA的基带方案 1094
7.7.1 基站基带模块在LTE系统中的位置 1094
7.7.2 基站基带模块的硬件架构 1095
7.7.3 基带软件到硬件的映射 1096
7.7.4 FPGA功能设计 1097
7.8 LTE典型基站产品内部结构解析 1103
7.8.1 研究LTE基站产品的目的 1103
7.8.2 基站内部结构 1103
7.8.3 主板主要器件分析 1104
7.8.4 对基站芯片/FPGA开发的启示 1108
总结 1109
时间: 2015-5-16 20:05
作者: Bigdot
第一章 HDL与集成电路设计 1
1.1 本章概要 1
1.2 集成电路设计基础 2
1.2.1 集成电路的概念 2
1.2.2 IC设计的本质 6
1.2.3 IC设计流程 8
1.3 VERILOG HDL 快速入门 16
1.3.1 Verilog HDL简介 16
1.3.2 Verilog的表达能力 16
1.3.3 第一个Verilog程序:通用加法器 17
1.3.4 第二个Verilog程序:多路选择器与运算操作 19
1.3.5 第三个Verilog程序:D触发器和多路延迟 25
1.3.6 第四个Verilog程序:function与时序电路组合 32
1.3.7 第五个Verilog程序:有限状态机 43
1.3.8 第六个Verilog程序:写testbench 60
1.3.9 第七个Verilog程序:SPI总线 80
1.3.10 第八个Verilog程序:异步UART 86
1.3.11 一些有用的Verilog程序 93
1.3.12 Verilog不同版本的差异 100
1.3.13 Verilog语法小结 100
1.4 复杂模块的设计 103
1.4.1 结构化的设计 103
1.4.2 数据流的设计 107
1.4.3 控制流的设计 124
1.4.4 重要接口部件设计 127
1.5 数的表示与基本运算 136
1.5.1 数表示方法 136
1.5.2 定点数的计算规则 140
1.5.3 定点计算举例 140
1.5.4 定点数的移位规则 142
1.6 VERILOG编程规范 146
1.6.1 文档规范 146
1.6.2 编程规范 146
1.6.3 文件头定义格式 146
1.6.* 格式规则 147
1.6.5 命名规则 147
1.6.6 整体编码规则 148
1.6.7 全局信号编码规则 155
1.6.8 模块编码规则 156
1.6.9 可综合性设计 156
1.6.10 可重用设计 157
1.6.11 编码规范小结 157
1.7 HDL电路设计技巧 158
1.7.1 芯片设计的核心目标 158
1.7.2 如何提高电路运行速度 159
1.7.3 如何降低电路规模(使用面积) 162
1.7.4 如何优化时序 175
总结 183
时间: 2015-5-16 20:05
作者: Bigdot
第三章 数字信号处理与算法设计思想 320
3.1 本章概要 320
3.2 通信模型的模型构架 321
3.2.1 通信电路的组成结构 321
3.2.2 常见的算法单元模块 321
3.3 通信系统的基本算法 323
3.4 通信系统芯片设计的基本套路 326
3.4.1 芯片设计的整体流程 326
3.4.2 需求类别分析 326
3.4.3 高速通信芯片的实现方案 327
3.4.4 中速通信芯片的实现方案 328
3.4.5 低速通信芯片的实现方案 330
3.4.6 传统终端基带芯片的方案 331
3.5 数字滤波器设计 333
3.5.1 FIR滤波器的基本概念 333
3.5.2 FIR滤波器的基本硬件实现 335
3.5.3 FIR滤波器硬件实现结构概述 338
3.5.4 基于分布式DA算法的FIR滤波器 346
3.5.5 IIR滤波器设计 354
3.5.6 数字滤波器的扩展应用——相关(correlation analysis) 357
3.6 FFT原理与硬件设计 361
3.6.1 概述 361
3.6.2 FFT理论描述 363
3.6.3 FFT标准算法在实现中需要解决的问题 367
3.6.* FFT硬件实现 369
3.6.5 适用于WLAN发射机的6*点FFT设计 374
3.6.6 适用于WLAN接收机的6*点FFT设计 380
3.6.7 FFT与FIR的关系 382
3.6.8 离散余弦变换DCT 383
3.7 CORDIC算法 387
3.7.1 CORDIC简介 387
3.7.2 一个计算角度atan的例子 387
3.7.3 CORDIC算法原理 391
3.7.4 CORDIC通用算法原理 392
3.7.5 CORDIC计算的硬件结构 394
3.8 NCO与DDS 401
3.8.1 NCO与DDS简介 401
3.8.2 NCO设计原理 401
3.8.3 NCO硬件设计 403
3.8.4 DDS硬件设计 404
3.8.5 DDS实现通信调制 406
3.9 数字信号处理的集成案例:数字中频 409
3.9.1 概述 409
3.9.2 数字下变频DDC 409
3.9.3 数字上变频DUC 427
3.9.4 数字上下变频的系统级设计(ESL) 431
3.9.5 数字中频的各种设计案例 437
3.10 数字信号处理的集成案例:FM收音机 452
3.10.1 FM收音机原理 452
3.10.2 FM收音机的解调思路 454
3.10.3 FM的中频处理 454
3.10.4 FM单声道收音机的ESL设计 459
3.10.5 FM立体声的硬件实现 461
3.10.6 FM收音机相关的一些话题 467
3.11 附录.3数字信号处理算法实现的部分技巧 473
3.11.1 复数乘法 473
3.11.2 除(2^n-1)的计算 474
3.11.3 数据压缩 474
3.11.4 饱和处理 475
3.11.5 并行动态定标的操作 476
3.11.6 移位长除法计算 477
3.11.7 递增式乘法的计算 478
3.11.8 高位宽乘法(适合xilinx FPGA) 478
3.11.9 Xilinx DSP级联 480
3.11.10 查表插值计算方法 481
3.11.11 DSP48实现四舍五入 485
3.11.12 倒数查表法实现除法和取模 485
总结 487
时间: 2015-5-16 20:08
作者: Bigdot
第四章 信道编解码与HDL设计实现 488
4.1 本章概要 488
4.2 通信模型的编码与解码基本框架 48*
4.2.1 编码基础知识 48*
4.2.2 编码的几个基本概念 48*
4.2.3 信道编码间的关系 490
4.2.4 级联码 491
4.2.5 信道编解码芯片实现的基本套路 491
4.3 8B/10B编码与译码 493
4.3.1 8B/10B编码过程 493
4.3.2 8B/10B解码过程 496
4.3.3 8B/10B编码与解码的Verilog实现 497
4.4 有限域运算基础 501
4.4.1 有限域的基本概念 501
4.4.2 有限域多项式的运算规则 502
4.4.3 GF(2)域的多项式运算 504
4.4.4 适合硬件实现的有限域运算方法 505
4.5 CRC冗余校验码简介 513
4.5.1 CRC算法的基本原理 514
4.5.2 几个基本概念 515
4.5.3 CRC算法实现 515
4.6 RS码 522
4.6.1 RS的编码算法 522
4.6.2 RS的译码算法 526
4.7 BCH码 545
4.7.1 BCH编码 545
4.7.2 BCH译码方法简介 547
4.8 卷积码简介 550
4.8.1 卷积码的相关概念 550
4.8.2 卷积码编码通用表述 550
4.8.3 卷积码的变形以及特殊处理 554
4.8.4 卷积码的译码原理 554
4.8.5 Viterbi译码的硬件实现 568
4.8.6 Viterbi的引申话题 570
4.9 信道编解码集成案例 574
4.9.1 编码方案 574
4.9.2 整体编码流程 575
4.9.3 硬件方案的整体概述 577
4.9.4 信道编码 583
4.9.5 信道解码 592
4.9.6 芯片实现中的几个关键问题 600
总结 612
时间: 2015-5-16 20:08
作者: Bigdot
第五章 通信原理与单载波芯片设计 613
5.1 本章概要 613
5.2 通信原理与设计基础 614
5.2.1 通信系统模型 614
5.2.2 常见的各种调制方式 616
5.2.3 通信链路的关键要素 624
5.2.4 射频模型 629
5.2.5 调整射频的三个重要手段 6*0
5.3 常见的通信解调套路 650
5.3.1 解调套路概述 650
5.3.2 解调实现方法 650
5.3.3 完整通信链路解调实例:数据直播星系统设计 661
5.4 DVB-S系统概述 674
5.4.1 DVB-S整体流程介绍 674
5.4.2 DVB-S系统的数据扰码 674
5.4.3 DVB-S系统的外编码模块(RS(206,188)) 674
5.4.4 DVB-S系统的卷积交织 675
5.4.5 DVB-S系统的卷积编码 677
5.4.6 DVB-S系统的QPSK调制 677
5.5 DVB-S信道接收算法原理 679
5.5.1 QPSK信号数学表示 679
5.5.2 QPSK解调总体设计 680
5.5.3 QPSK解调载波恢复 680
5.5.4 QPSK符号时钟同步 688
5.5.5 QPSK解调辅助电路 693
5.5.6 DVB-S系统解调的算法推导 693
5.6 DVB-S信道接收机设计实例 703
5.6.1 信号命名规范与约定 703
5.6.2 QPSK数字解调器整体结构 703
5.6.3 QPSK内部共用模块电路设计 705
5.6.* 载波恢复(CR)模块电路设计 712
5.6.5 符号同步电路(TR) 717
5.7 DVB-S信道编解码设计实例 724
5.7.1 信道编解码的整体流程 724
5.7.2 Viterbi译码 725
5.7.3 帧同步(Frame Synchronization) 734
5.7.4 去交织(De-Interleave) 737
5.7.5 RS译码(Reed-Solomon Decoder) 739
5.7.6 解扰(解扰)及同步 746
5.8 附录 5.A GF(2^8) RS运算表 748
5.8.1 RS译码器域元素对应的二进制表示 748
5.8.2 RS译码电路中Inv模块(求逆) 749
5.9 附录 5.B 通信解调芯片的简化设计实例 751
总结 754
时间: 2015-5-16 20:09
作者: Bigdot
第六章 OFDM通信系统芯片设计 755
6.1 本章概要 755
6.2 OFDM设计思想与通用解调过程 756
6.2.1 OFDM技术特点 756
6.2.2 OFDM的基本原理 757
6.2.3 OFDM的解调套路 758
6.3 MIMO技术 761
6.3.1 MIMO系统原理 761
6.3.2 MIMO中的空时编码 763
6.3.3 MIMO与OFDM的结合 76*
6.3.4 LTE中的MIMO 765
6.3.5 LTE中MIMO简单解调套路 766
6.* WIFI基础知识 767
6.*.1 802.11系列标准 768
6.*.2 802.11中几个关键概念 770
6.*.3 802.11的通信模型 773
6.5 802.11A发射机设计 776
6.5.1 802.11a技术参数概述 776
6.5.2 802.11a的帧结构 778
6.5.3 802.11a的发送流程 780
6.5.4 802.11a发射机实现原理 781
6.5.5 802.11a发射机matlab实现 793
6.5.6 802.11a发射机Verilog实现 796
6.6 802.11A 接收机设计 798
6.6.1 接收机的适用范围 798
6.6.2 接收机整体概述 798
6.6.3 接收机算法原理概述 804
6.6.* 802.11a接收机模块设计 810
6.6.5 接收机中用到的一些查表模块 828
6.7 802.11B 发射机设计 833
6.7.1 802.11b的帧结构 833
6.7.2 802.11b发射内容归纳 834
6.7.3 802.11b的标准发射过程 834
6.7.4 802.11b发射数据产生 836
6.7.5 802.11b 硬件详细设计 844
6.8 802.11B 接收机设计 847
6.8.1 接收机概述 847
6.8.2 接收机算法原理 847
6.8.3 接收机接收流程 848
6.8.4 接收机信号处理小结 857
6.8.5 802.11b接收机实际硬件实现 857
6.8.6 802.11b接收机部分通用模块设计 879
6.9 完整的802.11A/B/G 芯片设计案例 882
6.9.1 802.11a/b/g系统设计 882
6.9.2 802.11g接收前端信号处理模块 885
6.9.3 802.11g接收前端控制处理模块 908
6.9.4 802.11g发射前端信号处理模块 914
6.9.5 802.11g一些附加模块 922
6.10 802.11技术新的发展 924
6.10.1 802.11系列的发展脉络 924
6.10.2 802.11n关键技术概述 927
6.10.3 802.11n的帧格式 930
6.10.4 802.11ac的物理层 937
6.10.5 802.11ac的发射机 939
6.10.6 802.11ac新特性 945
6.10.7 802.11ah(802.11的物联网(IOT)标准) 948
6.10.8 802.11的全双工传输技术 953
6.10.9 802.11n商业芯片示例 955
6.11 附录 802.11B接收机理论基础 957
6.11.1 802.11b无码字间干扰时的最优接收 957
6.11.2 802.11b有码字间干扰的次优接收 963
6.11.3 802.11b有码字间干扰的最优接收 96*
6.12 附录 802.11A/G接收机算法MATLAB代码概述 968
6.12.1 主程序 968
6.12.2 关键子程序 974
总结 977
时间: 2015-5-16 20:09
作者: Bigdot
第七章 复杂通信系统设计 978
7.1 本章概要 978
7.2 大型通信系统简介 979
7.2.1 概述 979
7.2.2 公网系统的演进 979
7.2.3 大型通信系统的特点 979
7.3 LTE系统简介 98*
7.3.1 LTE系统构架 990
7.3.2 LTE物理层 991
7.3.3 LTE的关键技术 1010
7.3.4 附录7a LTE的一些浅显描述 1015
7.4 LTE的物理层过程及关键算法 1017
7.4.1 上行共享信道PUSCH 1017
7.4.2 上行控制信道PUCCH 1020
7.4.3 随机接入信道PRACH 1025
7.4.4 下行共享信道PDSCH 1029
7.4.5 下行控制信道PDCCH 1030
7.4.6 下行PBCH信道 1036
7.4.7 PHICH信道 1038
7.4.8 PCFICH信道 1038
7.4.9 PCFICH信道接收流程 1039
7.4.10 SRS过程 1039
7.4.11 上行信道的功率控制 1040
7.4.12 HARQ重传 1042
7.4.13 终端对物理层的处理 1046
7.4.14 基站对物理层的处理 1047
7.4.15 其它算法 1050
7.5 LTE系统开发简要说明 1057
7.5.1 复杂通信系统的几个基本概念 1057
7.5.2 LTE的软件框架 1059
7.5.3 LTE高层算法 1060
7.5.4 LTE芯片概述 106*
7.6 LTE基站芯片设计 1066
7.6.1 LTE基站基带芯片需求分析 1066
7.6.2 LTE基站芯片的参考构架 1071
7.6.3 LTE基带芯片设计参考 1076
7.6.* 基于ESL的LTE基站芯片开发案例 1081
7.6.5 LTE基带芯片实现流程 1091
7.7 LTE基于FPGA的基带方案 1094
7.7.1 基站基带模块在LTE系统中的位置 1094
7.7.2 基站基带模块的硬件架构 1095
7.7.3 基带软件到硬件的映射 1096
7.7.4 FPGA功能设计 1097
7.8 LTE典型基站产品内部结构解析 1103
7.8.1 研究LTE基站产品的目的 1103
7.8.2 基站内部结构 1103
7.8.3 主板主要器件分析 1104
7.8.4 对基站芯片/FPGA开发的启示 1108
总结 1109
:)
时间: 2015-5-16 20:09
作者: Bigdot
其中第二章的目录被和谐了。始终发布不上来
时间: 2015-5-16 20:11
作者: Bigdot
请大家多提意见。等待大家的结论。谢谢!
时间: 2015-5-16 20:29
作者: ahczqmz
太好了,书何时出版啊?
时间: 2015-5-16 20:33
作者: gaobin0628
内容好多啊,不知道能否深入,愿意拜读。
时间: 2015-5-16 21:19
作者: Bigdot
本书基本上是原理和算法以及Verilog、matlab实现全部都有。
时间: 2015-5-16 22:20
作者: yousee2
内容太宽泛,深度就没有了,从目录上看,重点内容就1,2页篇幅,太少了。 1000多页,出版商能答应出版吗?
目录框架上需要整理一下,不要让人看起来好像是多本书拼凑出来的( 《VerilogHDL语言设计》,《数字信号处理的FPGA实现》,《OFDM无线局域网》,《4GLTE关键技术》)
另外,前言里TED课程那段话还是有待商榷,原理和技术是两回事,技术的演进发展本身是有很多技术创新在里面的,要不然也就不会有技术专利了。
公式上的简洁和优美,那是理论推导。靠理论公式并不能指引产品的实现。
”国内通信企业经过二十年的大发展,目前已经达到世界之巅“ 这种大话也太搞笑了,大家都知道怎么回事,千万别写出来。
时间: 2015-5-17 21:14
作者: Bigdot
内容提要如下:
第一章 集成电路设计与HDL
本章概要
本章将简单论述集成电路(IC)的概念与设计原理,并从IC的本质——“集成”出发,讲述IC的三个核心议题:“集成什么”、“如何集成”、“如何处理集成带来的利弊”。学习本章后应当建立起IC设计是一个系统工程的概念,知道Verilog HDL是一种硬件描述语言而不是设计语言,硬件电路本质上是并行运行的而且是有时序关系的。
本章的内容安排如下:
第1节从总体上论述什么是IC设计,IC设计的流程以及整体规划的重要性,并强调面向验证和软硬件配合的设计原则。
第2节简要介绍Verilog语法,并通过10个例子讲述如何通过简单的HDL语句描述复杂的硬件电路。本节主要强调HDL给出的描述需要有具体对应的基础电路原型,并明确时序的概念。此外给出了各种常用的验证小技巧,帮助读者快速进行验证设计。
第3节则是对第2节设计方法的一个总结和提炼。本节主要强调必须按照结构化方式设计电路,并需要遵循常规思维模式对复杂模块进行解耦,按照控制与数据分离的原则简化设计。此外,还讲述了芯片中控制流与数据流的设计方法。
第4节则针对IC中的定点化进行论述,强调定点化实质是人与机器的理解如何达到一致。
第5节给出了HDL语言描述规范,并强调遵循规范实质是一种IC设计模式,能够有效增加设计成功率。
第6节则引入了吞吐率、电路时序等关键性概念,给出了各种电路思想,并引入了四种经典电路优化方法:重定时、折叠、展开与脉动阵列。
时间: 2015-5-17 23:32
作者: 家园副管03
Bigdot 发表于 2015-5-16 20:09
其中第二章的目录被和谐了。始终发布不上来
有问题可以联系管理员呀,比如03~~~
时间: 2015-5-29 09:14
作者: bestrick
不错,期待,出书了说一声
时间: 2015-6-1 21:31
作者: liuncs
bestrick 发表于 2015-5-29 09:14
不错,期待,出书了说一声
1000页确实有点多。
作为读者我希望能结合几个经典的工程实例讲解下原理的应用
时间: 2015-6-2 13:14
作者: 毒手药王
楼主真大家也。。 请教能不能绕过英文 学习CPU设计呢。
时间: 2015-6-6 18:23
作者: 雨中行走
内容丰富多彩,期待!
时间: 2015-6-11 08:53
作者: 雨中行走
书带光盘吗?
时间: 2015-6-17 12:26
作者: 雨中行走
先连载啊,引人入胜,会有更多人加入学习
时间: 2015-6-17 13:59
作者: Lisely
赞! 这本书我必拜读!
时间: 2015-6-17 13:59
作者: Lisely
赞! 这本书我必拜读!
时间: 2015-6-22 09:19
作者: 雨中行走
“整本书包含1200页干货内容,其中的例子均为实际参与项目。共1000多个手绘Visio图。”
-------- 书页越多越好,值得学,可以买的贵一点如:500元以上,100元以下的书太多了内容都一样差不多。
时间: 2016-2-10 21:17
作者: stf521
谢谢你的分享。
时间: 2016-3-11 18:20
作者: stf521
书出版了吗?万分期待,不知道有没有这个机会读到,毕业之前。。。
通信人家园 (https://www.txrjy.com/) |
Powered by C114 |