出版时间:2010-5 出版社:高等教育出版社 作者:施国勇
前言
施国勇教授是我在上海交通大学任教时由衷地敬重的老师之一。他2005年夏从华盛顿大学回国时最初的办公桌就在我对面,那时候,七八个老师挤在浩然大厦15楼一个狭小的房间里,憧憬着闵行校园中的新微电子大楼的场景犹在眼前;而我,也得以近距离感受施教授深厚的数学功底和严谨的学术作风。数字信号处理是所有电子信息类学生应该熟练掌握的专业基础课程之一。长期以来,由于理论性较强,涉及的数学内容较多,教学一直颇有难度。尽管近年来的教学改革陆续将MATLAB等软件工具引入课程,但距离实际的工程工作,比如设计出具有数字信号处理系统能力的软硬件系统以及芯片,仍然有较远距离。施国勇教授的这本书填补了这方面的空白。这本书涉及的内容虽然属于基础性理论,但是,利用FPGA进行数字信号处理的教学方法却是国际工科电子类教育研究中的前沿课题。Xilinx公司有幸和欧洲该领域顶尖的专家教授合作,于2006年将这种最前沿的课程资料引入中国。经过施教授在上海交通大学面向研究生以及面向本科生近三年的实际教学,并经过教学实践的积累和提炼,终于成书,可喜可贺。2010年以后,随着集成电路工艺越来越接近10nm,FPGA由于结构整齐、可现场编程,成为下一个十年中能够继续存活的为数不多的集成电路种类之一,并会加速发展,被更多的电子设备设计所采用。在这个进程中,FPGA也脱离了传统的角色,越来越多地运用于嵌入式数字信号处理系统中。因此,2010年后的工程师需要熟练掌握FPGA技术,同时也要熟练掌握数字信号处理技术,才能够应对电子设备可移动化、网络化、多媒体化的三重挑战。而本书的推出,使学生在第一次接触数字信号处理时,就以高度并行的思路,完整地将并行世界的本源,以FPGA设计的形式呈现出来,而Xilinx公司的System Generator等图形化工具的引入,使得这个学习过程变得容易并且富有乐趣。Xilinx公司大学合作计划将一如既往地支持本书的后续发展,包括更新软件版本、更新实验板卡、联合实验室捐赠等,期待本书的读者和学生们从中获得学习的乐趣。
内容概要
由于大规模集成电路技术的飞速发展,一块FPGA芯片上能实现的逻辑功能大幅度增加,并进一步向嵌入式DSP模块和嵌入式处理器核技术发展,由此带来的结果是在一块FPGA芯片上能实现相当复杂的数字信号处理功能并保持相对较低的功耗,而芯片价格也一直在不断下降。如今,FPGA已不再局限于ASIC设计的原型实现和功能验证,而是可以直接用于复杂信号处理系统的商业化应用和解决方案的开发。本书专门为这样一种技术发展趋势而写作。 书中主要介绍基于FPGA的数字信号处理电路的设计和实现方法。使用由全球最大FPGA芯片供应商Xilinx公司的大学合作计划(XUP)提供的Virtex-Ⅱ Pro开发板和标准开发套件。书中除了介绍一些易于在FPGA上实现的DSP电路及其相关理论之外,特别强调采用FPGA作为电路实现平台时需要对算法和电路进行的特殊改造和设计,同时强调为充分利用硬件资源所需要采取的设计技巧。因此即使是从事ASIC设计的读者也能从本书获得关于DSP电路实现的许多参考知识。 本书可作为大专院校电子工程类高年级学生和研究生相关课程教材,也适用于工业界从事DSP应用开发的工程师自学或培训。本书能帮助读者获得从DSP算法设计到硬件实现的整个流程的专业训练,并在动手实现一些常用DSP电路的过程中熟悉业界通用的设计流程和EDA工具软件。
作者简介
施国勇,上海交通大学微电子学院教授,博士生导师。1987年毕业于复旦大学数学系应用数学专业,2002处获美国华盛顿州立大学电机工程博士学位。曾任美国华盛顿大学电机工程系博士后研究员,荷兰爱因霍芬科技大学访问研究员。在自动控制、大规模集成电路设计自动化等领域发表论文50余篇。论文On Symbolic Model Order Reduction获2007年IEEE电路与系统协会Donald O.Pederson最佳论文奖。为2007年上海市浦江人才基金获得者,2006年和2008年国家自然科学基金面上项目主持人。
书籍目录
第1章 集成电路技术与数字信号处理 1.1 数字信号处理基本原理 1.2 FPGA技术 1.3 数字信号处理的应用 1.4 数字信号处理的发展趋势 1.5 基于FPGA设计基本要点 1.6 从算法到硬件:一个设计例子 1.7 一个电路多样性例子 1.8 本书的特色与重点 1.9 本书结构 1.10 对课堂教学的建议 1.11 本章小结 1.12 练习 1.13 参考文献第2章 Virtex-Ⅱ Pro FPGA资源与设计工具 2.1 FPGA的基本资源 2.2 FPGA的设计流程 2.3 Xilinx FPGA的设计流程 2.4 Xilinx FPGA设计工具软件与安装 2.5 本章小结 2.6 与System Generator兼容的ISE和MATLAB版本信息 2.7 参考文献第3章 基本算术运算电路 3.1 加法器设计与实现 3.2 符号数加法 3.3 溢出与饱和 3.4 乘法器设计 3.5 乘法器在Slice上的实现 3.6 符号数乘法 3.7 除法器设计 3.8 开平方根电路的设计 3.9 本章小结 3.10 练习 3.11 参考文献第4章 采样与量化 4.1 Fourier级数与Fourier变换 4.2 采样数学模型 4.3 采样定理 4.4 混叠 4.5 下采样与上采样 4.6 采样与电路实现 4.7 量化 4.8 本章小结 4.9 练习 4.10 参考文献第5章 低成本低功耗滤波器设计 5.1 CIC滤波器 5.2 CIC位宽分析 5.3 CIC电路实现 5.4 本章小结 5.5 练习 5.6 参考文献第6章 CORDIC原理与实现 6.1 CORDIC基本原理 6.2 CORDIC的收敛性 6.3 双曲CORDIC 6.4 CORDIC电路实现 6.5 本章小结 6.6 练习 6.7 参考文献第7章 FFT算法与电路实现 7.1 基2FFT算法推导 7.2 基2FFT蝶形计算电路 7.3 基4FFT算法推导 7.4 FFT电路结构设计 7.5 本章小结 7.6 练习 7.7 参考文献第8章 自适应滤波器设计 8.1 最小二乘问题 8.2 最小二乘问题迭代算法 8.3 自适应滤波算法 8.4 自适应滤波器电路设计 8.5 QR分解与电路实现 8.6 本章小结 8.7 练习 8.8 参考文献第9章 数据流图与时序分析 9.1 数据流图 9.2 数据流图时序分析 9.3 时序重整 9.4 节点时序重整 9.5 最短路径算法 9.6 本章小结 9.7 Karp定理证明 9.8 练习 9.9 参考文献第10章 设计案例 10.1 用4个乘法器实现10抽头FIR滤波器 10.2 8位除法器设计与实现 10.3 8位开平方根电路的设计与实现 10.4 本章小结附录 实验指导书 实验前言 参考文献实验一 Xilinx Virtex-Ⅱ Pro实验板与设计软件 A1.1 实验简介 A1.2 实验目的 A1.3 实验任务 A1.4 实验报告写作要求 A1.5 实验步骤 A1.6 参考文献实验二 基本算术电路的FPGA实现 A2.1 实验简介 A2.2 实验目的 A2.3 实验任务 A2.4 实验报告写作要求 A2.5 实验步骤 A2.6 练习 A2.7 参考文献实验三 FIR滤波器设计 A3.1 实验简介 A3.2 实验目的 A3.3 实验任务 A3.4 实验报告写作要求 A3.5 实验步骤 A3.6 参考文献实验四 数控振荡器设计与降频转换 A4.1 实验简介 A4.2 实验目的 A4.3 实验任务 A4.4 实验报告写作要求 A4.5 实验步骤 A4.6 参考文献实验五 CIC滤波器设计与应用 A5.1 实验简介 A5.2 实验目的 A5.3 实验任务 A5.4 实验报告写作要求 A5.5 实验步骤 A5.6 参考文献实验六 CORDIC计算向量长度 A6.1 实验简介 A6.2 实验目的 A6.3 实验任务 A6.4 实验报告写作要求 A6.5 实验步骤 A6.6 练习 A6.7 参考文献
章节摘录
插图:上述比较从根本上体现了用两种典型方法实现同一个算法的差异。与通用处理器不同,定制电路或FPGA的设计具有更好的并行性与灵活性,而这种差异对于许多应用来说至关重要。当我们为一款数字信号处理产品决定设计指标和实现方式时,需要考虑诸多因素,如芯片的价格、投入的设计人力、设计周期、信息处理的速度、功耗、对小型化的要求、更新换代的容易程度以及成本等。其中特别是产品的信息处理速度、开发成本、开发周期和功耗等会直接影响最终是选用软件方式还是选用硬件(定制电路)方式实现一个。DSP的计算功能。为此需要考虑算法的多样性与电路实现(硬件)的多样性之间的关系。算法本身的多样性意味着可以改变算法的表现形式,但不改变算法的功能,从而更有效地利用硬件资源。例如,直接用循环方式实现的运算需要多个时钟周期才能完成,可以把循环展开实行并行处理,以硬件换取速度。另一方面,硬件(电路)实现的多样性体现在用更经济的电路实现同样功能的计算,这通常与算法设计无关。例如,不直接用乘法器实现乘法运算(因乘法电路消耗比较多的硬件),而是用加法器和移位器实现乘法运算。算法设计的多样性更强调算法的结构设计(如并行处理、迭代、循环展开等),而电路实现的多样性更强调电路层次的基本运算设计;如果一个算法中大量使用复杂运算(如乘、除、开平方根等),那么把这些开销较大的基本运算用开销较低的简单电路实现,通常可以大幅提高一个DSP系统的整体运行性能。上述算法设计与电路实现的多样性体现了数字信号处理实践的灵活性和丰富内涵。虽然现代化的设计自动化工具能为设计者完成一定程度的选取和优化,但设计者仍可以有很大的自由度为应用问题选择特殊的设计方案。为了实现从算法到电路之间的映射,作为设计者首先要对可支配的硬件资源和设计指标中的时序、功耗、带宽等要求获得第一手资料。在此基础上对算法进行重新设计(reformulation)。对于算法的改造可以根据经验,也可以使用一些形式化方法,如信号/数据流表示法、时序重整(retiming)方法、流水线和平行设计方法以及循环展开(1oopunfolding)等方法。这些通用方法大多数已经在一些流行的辅助工具中被实现,这些内容将在第10章做更多的介绍。
编辑推荐
《数字信号处理FPGA电路设计》是由高等教育出版社出版的。
图书封面
评论、评分、阅读与下载