FPGA/ASIC高性能数字系统设计
2011-1
电子工业
李洪革
328
电子信息科学是世界各国争相探索和研究的前沿科学领域,是引领世界科技发展的重要源动力。电子信息科学的发展强烈地依赖于微电子、信息、通信和计算机技术等,其中随着集成化制造技术的迅猛发展,电子技术的核心——集成电路已经成为电子信息科学高速发展的基石。2000年,国务院18号文件《鼓励软件产业和集成电路产业发展的若干政策》的出台极大地鼓励和推动了我国信息产业的发展。2006年,国家中长期科学和技术发展规划纲要中公布了16项重大科技专项,其中前两项就是集成电路设计和制造专项课题。由此可见,集成化技术在科学发展中的地位和作用。近年来,随着国家对电子信息产业的大力扶持和推进,也随着读者对相关图书的需求的激增,国内有关数字系统集成化设计的书籍也成为炙手可热的信息来源。目前,市场中相关的图书可以归纳为以下三类:(1)语言介绍类,主要以讲述硬件描述语言为主,包含Verilog HDL和VHDL。(2)工具实现类,以介绍FPGA的应用实现方法为主,主要是对Xilinx产品和Altera产品的介绍等。(3)代码描述类,主要以讲述数字系统中的模块代码的编写。部分图书综合了上述三个方面。这些图书既包括国外引进的版本,也包括国内原创的版本。由于硬件描述语言与传统的高级程序语言所实现的最终目标存在本质区别,硬件设计人员不能仅仅考虑所描述数字系统的逻辑功能,更重要的是要考虑所实现集成化系统的物理性能。高级数字电路/系统的物理性能通常包含电路面积、功耗、速度、时滞和吞吐率等多方面因素。而国内基于FPGA/ASIC集成化数字系统的性能优化与设计的图书资源却寥寥无几,这必将制约数字系统集成化设计水平的提升。为弥补上述图书资源的不足,本书以讲解Verilog HDL语言为基础,并较深入地分析数字系统的硬件语言的实现方法,从集成化的视角重点讲述系统的结构、时序、速度、面积和功耗等物理I生能的设计优化,通过对上述多重物理性能的折中分析,实现Verilog HDL描述方法的高级数字系统的设计方案。本书的具体内容如下。 第1章概述了电子信息社会条件下,高级复杂数字系统设计所面临的集成化挑战、设计流程、发展趋势和未来的应用前景等。第2章介绍Verilog硬件描述语言,其中包括基本结构、模块与声明、数据类型与运算符、行为建模和Verilog-2001设计规则等几部分。第3章讨论了基于Vetilog语言的数字系统集成化设计的性能优化。其中包括电路面积的优化、速度的优化、模块间接口的设计、复位信号与结构的优化等。本章介绍了在相同逻辑功能实现的前提下,不同Vezilog描述方法对应的不同物理结构,从而对面积、速度、功耗带来不同的结果。第4章描述了复杂数字系统设计常用的运算单元和结构。其中包括逻辑电路的数值计算、加法器、乘法器、数字信号处理等内容。
本书是高性能数字集成系统设计的基础教材,作者从硬件描述语言Verilog HDL描述入手,重点阐述了高性能集成化数字电路的电路结构、面积优化、时序优化、速度优化、功耗优化和可重构设计等问题。本书还给出了复杂数字系统的两种实现方案FPGA/ASIC的具体实现方案。全书共分11章,主要包含复杂数字系统设计问题前瞻、Verilog HDL语言基础、电路结构优化、状态机及数据路径、时序/时钟域、低功耗、可重构设计及其具体FPGA/ASIC设计实现方法。本书通过大量设计实例讨论高性能设计思想和方法,同时,针对当前工业界人士的问题和需求,有的放矢地分析和解释了相关具体设计案例。 本书可作为普通高等院校、科研院所电子信息、通信工程、电气工程、计算机等相关专业的本科生和研究生教材,还可作为数字集成系统领域工程技术人员的参考书。
第1章 FPGAASIC设计方法概述 1.1 电子系统发展历史 1.2 高性能集成化设计 1.3 数字集成化设计流程 1.4 数字系统实现方法 1.5 集成化设计发展趋势 1.6 集成设计应用前景 习题 参考文献第2章 Verilog硬件描述语言 2.1 基本概念 2.2 Verilog HDL基本结构 2.3 模块与声明 2.3.1 模块命名 2.3.2 信号命名 2.3.3 端口声明 2.3.4 变量声明 2.3.5 'include与'define 2.3.6 代码编写规范 2.4 数据类型与运算符 2.4.1 数字声明 2.4.2 数值逻辑 2.4.3 常量数据类型 2.4.4 数据类型 2.4.5 运算符和表达式 2.5 行为建模 2.5.1 行为描述模块 2.5.2 条件语句 2.5.3 循环语句 2.5.4 任务与函数 2.5.5 混合设计模式 2.5.6 测试激励 2.6 Verilog-2001设计规则 2.7 Verilog基本模块 2.7.1 组合逻辑 2.7.2 时序逻辑 2.8 本章小结 习题 参考文献第3章 高性能电路设计 3.1 电路面积缩减 3.1.1 代码编写优化 3.1.2 条件语句处理 3.1.3 资源共享 3.1.4 时序电路的优化 3.2 高速电路设计 3.2.1 树形结构化设计 3.2.2 电路扇出 3.2.3 基于信号传播速度的处理 3.2.4 流水线设计 3.3 模块接口设计 3.3.1 数据流量 3.3.2 模块间的协议传输 3.4 复位信号与毛刺消除 3.4.1 复位信号 3.4.2 毛刺消除设计 习题 参考文献第4章 运算单元与结构 4.1 数值计算 4.2 加法器 4.2.1 加法器 4.2.2 超前进位加法器 4.2.3 进位旁路加法器 4.2.4 进位选择加法器 4.3 乘法器 4.3.1 阵列乘法器 4.3.2 高速乘法器 4.4 数字信号处理 4.4.1 有限冲激响应滤波器 4.4.2 无限冲激响应滤波器 4.4.3 脉动阵列 4.5 有限域GF(2n运算 4.5.1 定义 4.5.2 有限域多项式 习题 参考文献第5章 状态机与数据路径 5.1 有限状态机 5.1.1 基本概念 5.1.2 状态机分类 5.1.3 状态机描述方法 5.1.4 状态机的编码风格 5.1.5 可综合的FSM编码 5.1.6 状态机的优化 5.1.7 状态机容错和设计准则 5.2 数据路径 5.2.1 概述 5.2.2 时间调度与分配 5.2.3 数据路径设计实例 习题 参考文献第6章 时序与时钟 6.1 时序电路 6.1.1 基本概念 6.1.2 稳态与亚稳态 6.1.3 时钟信号 6.1.4 时钟分布 6.1.5 电路延时 6.2 时钟域 6.2.1 同步与异步 6.2.2 异步电路通信 6.2.3 多时钟域复位问题 习题 参考文献第7章 低功耗设计 7.1 基本原理 7.1.1 动态开关功耗 7.1.2 短路功耗 7.1.3 静态功率消耗 7.2 低功耗设计方法 7.2.1 系统级低功耗法 7.2.2 算法级低功耗法 7.2.3 结构级低功耗法 7.2.4 电路级低功耗法 7.2.5 泄漏功耗消减法 习题 参考文献第8章 FPGA与可重构计算 8.1 可重构器件 8.1.1 可重构器件现状 8.1.2 可重构的分类 8.2 可重构电路结构 8.2.1 FPGA电路结构 8.2.2 动态可重构系统 8.2.3 专用可重构系统 参考文献第9章 数字系统设计实例 9.1 AES加解密系统 9.1.1 AES算法概述 9.1.2 AES算法结构 9.1.3 芯片内部电路系统架构 9.1.4 芯片硬件描述语言设计 9.2 通信基带系统 9.2.1 无线通信系统 9.2.2 RFID基带设计 参考文献第10章 FPGA设计方法 10.1 新建工程 10.2 新建代码 10.3 代码仿真 10.4 IP Core的使用 10.5 逻辑综合 10.6 配置实现 10.7 分析、报告 10.8 测试 参考文献第11章 ASIC设计方法 11.1 ASIC定义及设计流程 11.2 逻辑综合 11.2.1 逻辑综合工具Design Compiler介绍 11.2.2 DC基本概念 11.2.3 DC设计流程 11.3 布局布线物理设计 11.3.1 FloorPlan 11.3.2 Timing Setup2 11.3.3 Placement2 11.3.5 CTS2 11.3.5 Route 11.3.6 DFM 11.4 版图验证、修正 11.4.1 版图验证 11.4.2 后仿真 11.4.3 流片参考文献
插图:集成化数字系统正在变得日趋复杂、日益灵活。复杂表现在电路的功能和结构上,即现在的集成化系统不仅仅是VLSI/ASIC/FPGA,而是系统级的SoC(SoPC)甚至SIP/NoC等。集成化的灵活性表现在可配置、可编程和可重构的柔性硬件系统上,CPLD/FPGA器件和可重构计算SoC是主要实现手段。集成化硬件的复杂化、柔性化的前提是以集成化系统的高性能设计为基础的,因此,商性能的电路设计是完成复杂化、柔性化集成系统的前提。高性能数字电路/系统设计主要体现在如下指标,如速度、吞吐率、功耗、面积、柔性和可靠性等。尽管对于数字集成化设计拥有很多综合优化的EDA工具为我们提供了便利,但任何一种高级工具的优化通常并不能满足多方面的设计约束,设计工程师的高级设汁艺术是EDA工具永远无法替代的。从Intel的商眭能CPU处理器到联发科技的基带处理器,从德州仪器的ADC到三星的SDRAM,集成化数字电路的设计无时无刻不凝结着设计师的智慧结晶。由此可见,大规模成熟应用的集成电路产品都是无数设计师多年辛苦的智慧体现,也是设计师在熟练驾驭集成电路设计艺术的基础上不断创新的成果,而非EDA工具使然。数字集成化系统的性能主要反映在以下4个主要物理特性中:速度、吞吐率、面积和功耗。通过上面4个物理特性参数的性能指标,可以明确判断出集成化系统的性能。这些性能指标对于实际的硬件系统又是相互关联、相互制约的,实际的硬件设计必须全盘考虑、折中优化才能实现所需求的高性能集成化硬件系统。数字系统速度,也就是系统的时钟频率是考虑的首要因素。系统的高速化是高性能电路的重要指标,它可以带来系统吞吐率的增加而使单位时间内处理的信息量增大。但是,通过流水线或并行结构等技术获得的高速化一方面会导致系统面积的增大,另一方面也增大了系统的功率消耗。因此,高速化的系统设计必须是在一定的面积消耗和规定的功耗范围内达到最大时钟频率,才能称其为商性能;否则,再高的速度也是无意义的。相关的内容将在第3章、第5章和第6章讲述。数字系统设计的第1个关键物理特性是速度。系统的速度通常是由系统的时序(Timing)和时滞(Latency)两个因素决定的。系统的时钟速度由关键路径中最长延迟时间的时序所决定,也就是所经过的两个相邻的时序元件之间的最大延时。
《FPGA/ASIC高性能数字系统设计》:电子信息与电气学科规划教材·电子信息科学与工程类专业
是一本结合了编程思想和电路思想的好书,自家老师写的,狂顶啊
这本书真的挺不错的,是正版,也不贵
还没读,感觉不错,坐等上课听讲
全五分,很满意
介绍了基本概念,需要继续研读
很好,正在潜心学习中,希望能学好·····
这本书总的来说写得还不错
内容涵盖挺多,实例部分不是很充实。
教科书的话还好。。。