科技>电子技术>微电子、集成电路、显示技术
数字集成电路设计实践

数字集成电路设计实践"

作者:易幼文
ISBN:9787121265532
定价:¥39.8
字数:358千字
页数:224
出版时间:2015-08
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书从产品研发的角度,介绍数字集成电路逻辑设计的原理、方法和实践经验。主要内容涵盖集成电路器件和制造工艺的基本原理、逻辑功能的抽象层次、设计流程、硬件描述语言、微架构设计和芯片总线。本书还详细介绍了常见的先入先出缓存的设计实例。本书的特点是注重为实践中常见的问题提供解决方法和背景知识,内容有的放矢、简明实用。

前言

前 言 电子和信息技术在过去半个多世纪发生了质和量的飞跃发展。今天,个人电脑、网络、手机、数字电视等各种信息技术应用已经成为现代人日常生活中不可缺少的一部分。信息化被称为继农业化和工业化后的第三次人类革命。如果说蒸汽机是工业化革命的火车头,半导体集成电路则是这场信息化革命的基石。集成电路为人们提供了高性能服务同时又是低成本的信息处理手段,使得我们祖先的千里眼和顺风耳的梦想变成了现在人们日常生活中司空见惯、垂手可得的现实。 过去二十多年,作者有机会在国内外的大学、研究机构,以及企业产品研发第一线从不同角度在集成电路技术领域学习,以及从事研究和开发工作。作者目睹了集成电路技术日新月异的发展,参与了一系列在全球范围内处于技术和市场前沿的网络和多媒体信息处理领域的大规模数字集成电路芯片的研发,在产品开发过程中经历的CMOS技术从0.5μm开始,到其后的0.25μm、0.18μm、0.13μm、0.11μm、90nm、65nm、40nm、28nm,一直延续至最近的20nm以下。在多年的学习和工作过程中,作者逐渐对大规模数字集成电路芯片的技术有了一个从只见树木,到又见森林的认识上的提高。作者试图通过本书,对多年积累的经验、理解和思考做一些梳理和总结。希望此书能对从事集成电路设计的工程师以及对这个领域有兴趣的学生有所裨益。 读者会发现本书的内容与同类书籍在许多方面有所不同。首先,作者的工作经验难得地涵盖了从半导体器件物理、加工工艺到集成电路系统设计这个从基础研究到产品开发的比较广的领域。本书的内容反映了作者这样比较独特的经验背景。由此希望可以为读者提供一个在更开阔的视野下学习掌握集成电路设计技术的机会。其次,作为一本源自工业界而非学术界的书籍,许多内容反映了作者在实践过程中的第一手体验。作者把重点放在实际设计工作中所需的核心理论和实践知识,并融入从实际工作中得到的感悟,而非追求学术理论上的全面性。内容上虽以逻辑设计为核心,但也不拘泥于一般逻辑设计教科书的内容范围。只要是认为是对逻辑设计工程师在芯片设计的实践中有直接帮助的内容,便会被收入。换句话说,工程(engineering)和技术(technology)为主,背后的科学(science)体系为辅。为突出要点,本书尽量使用浅显易懂而又能说明问题本质的例子,同时也力图使读者在学习集成电路设计“其然”的同时,也可以理解“其所以然”。专用数字集成电路(Application Specific Integrated Chip,简称ASIC)的逻辑设计是本书的主要讨论对象,但本书多数内容也可应用于现场可编程门阵列(Field Programmable Gate Array,简称FPGA)设计。 CMOS基本逻辑门是实现数字集成电路的逻辑功能的基础。一个集成电路设计项目,需要满足功耗、运行速度和芯片尺寸等指标要求。这些都与CMOS器件的原理和特性有密切关连。这就需要设计工程师对一些基本的器件原理和集成工艺有所了解。在工作中,当面对一些芯片的故障等问题时,器件的物理的知识对理解和解决问题十分有益。本书第1章简述CMOS器件原理、CMOS逻辑门和集成技术的一些要点。 数字集成电路的处理对象,包括各种编码、指令、数值、控制信号等,都可以广义地看作是数据。也就是说,数字集成电路的目的是数据处理。第2章讲解数据处理的算法可以由基本逻辑门和记忆要素构成的电路实现。这一章还介绍数字集成电路普遍采用的同步逻辑电路结构。同步电路可以有效地利用运算和存储资源,实现高效高速运算,同时也为设计者提供了一个容易使用的基本电路结构。 现代数字集成电路设计使用硬件描述语言(Hardware Description Language,简称HDL)描述逻辑电路结构和数据处理算法。Verilog和VHDL是最常用的两种HDL语言。从全球集成电路设计软件市场规模看,Verilog有显著优势。第3章介绍Verilog语言中在实践里最常见的各种指令和语法结构。 在开始一个模块设计时,先需要探索和决定如何把一个模块的数据处理功能转换成同步电路层次的微架构。微架构优劣需要考虑许多方面,譬如面积、功耗、数据吞吐率等等。也要考虑到结构是否简明并不容易出错等等。第4章介绍与微架构设计相关的一些概念和方法。 有限状态机是微架构的一个不可缺少的组成要素。与状态机相关的内容较多,也是设计中特别需要留意的地方。单列一章,第5章介绍有限状态机相关的概念,设计手法和设计注意事项。 将数据按顺序输入存入缓存,输出时数据仍保持同样的顺序。这样的缓存称为先入先出缓存(FIFO)。FIFO几乎会出现在所有数字集成电路里,在逻辑设计里扮演重要的作用。FIFO也是学习微架构设计的一个很好的例子。第6章介绍几种不同的FIFO的微架构。 在数据处理过程中,经常要暂时存储数据。当存储的数据量比较大时,必须考虑使用专门的存储器模块或外部存储器芯片。第7章介绍存储器的基本原理,以及常见的几种不同类型的存储器。 用CPU软件处理数据的特点是灵活,用固定连线逻辑(hardwired logic)处理数据的特点是高速并行处理。随着各种应用的数据量的增大和复杂程度的提高,越来越多的信息处理系统结合两者的特长,用外部CPU或者芯片内置的嵌入式(embedded)CPU承担系统总体控制和比较复杂但运算量不太高的数据处理,用专用电路承担高速数据处理。CPU与专用芯片的各个模块通过系统总线或芯片总线相互通信,分工合作。第8章讲解总线的基本结构,并介绍常见的总线标准。 第9章以一个视频流媒体转换器为例,介绍芯片整体的架构设计和模块的微架构设计。这个例子的芯片的各模块使用到了组合运算,流水线,有限状态机,FIFO,存储器,总线等功能,也可以看作是前几章讲解的内容的综合应用。 附录A和附录B分别介绍扩展汉明码和循环冗余校验码。这两种编码广泛用于存储器的检错纠错和网络通信等领域。在简述其数学原理之后,进一步介绍了如何自动产生适合集成电路应用的Verilog代码。 为方便读者动手练习,附录C介绍使用开源软件的逻辑设计和仿真环境。本书里介绍的多数代码和仿真例子可以从 http://dongchacha.com/practice_digital_ic_design 下载。 在编写本书的过程中,电子工业出版社赵丽松副总编辑给予了热情的鼓励和支持,并提出了宝贵建议;刘海艳编辑对内容做了详细的审阅,尤其对专业术语的使用提出了十分有益的意见,特此感谢。作者在求学和工作过程中,获得了各种难得的在国内外学习和实践的机会。借此机会,向教导,鞭策,帮助和支持过作者的师长,同事,及朋友表达由衷的感谢。有关本书的内容,读者如有疑问或发现任何问题,欢迎与作者联系。联系电子邮箱是youwenyi@yahoo.com。 编者 2015.4

目录

目 录 第1章 硅晶体管和集成技术 1 1.1 半导体硅和PN结 1 1.2 硅晶体管 3 1.3 逻辑门和互补式晶体管 5 1.4 集成电路制造技术 7 第2章 数据处理和逻辑设计 10 2.1 数字数据 10 2.2 数据处理 11 2.3 数据运算与组合电路 11 2.4 记忆功能和寄存器 14 2.5 算法和同步电路 16 2.6 建立时间和保持时间 18 2.7 集成电路设计流程 20 第3章 Verilog硬件描述语言简介 26 3.1 逻辑仿真 26 3.2 用Verilog描述逻辑设计和逻辑验证 27 3.3 模块和端口 31 3.4 常量数据 32 3.5 算术运算和逻辑运算 33 3.6 wire变量与assign指令 34 3.7 reg变量和initial及always程序块 36 3.8 reg变量与RTL设计 37 3.9 阻塞性和非阻塞性指令 39 3.10 流程控制 40 3.11 function和task 42 3.12 预处理指令、系统任务及注释 43 3.13 parameter和参数化模块 44 第4章 微架构设计 46 4.1 模块面积和逻辑门数 46 4.2 数据吞吐率和延滞时间 48 4.3 功耗 48 4.4 基本组合运算 50 4.5 延迟时间的优化 50 4.6 负数运算 52 4.7 流水线 53 4.8 跨时钟域电路 55 4.9 时钟门控 58 第5章 有限状态机 61 5.1 时序逻辑和状态机 61 5.2 状态机的RTL代码 63 5.3 状态机的设计 65 5.4 独热编码 67 5.5 控制路径和数据路径 68 5.6 状态机的阶层化设计 71 5.7 状态机的稳健性 73 5.8 寄存器的复位 77 5.9 未知值扩散与寄存器的初始化 81 第6章 先入先出缓存 85 6.1 FIFO的功能和用途 85 6.2 基本FIFO的架构 87 6.3 基本FIFO的RTL代码 89 6.4 基本FIFO的逻辑验证 91 6.5 FIFO空满状况信号的寄存输出 98 6.6 任意深度的FIFO 99 6.7 FIFO数据的寄存输入和寄存输出 103 6.8 格雷码 109 6.9 异步FIFO 111 6.10 FIFO的流量控制方式和其他 117 第7章 存储器 120 7.1 SRAM的基本原理 120 7.2 同步SRAM 123 7.3 存储器编译器 124 7.4 存储器内建自测试 125 7.5 多端口SRAM 127 7.6 SRAM行为模型 129 7.7 SRAM软错误 132 7.8 TCAM 133 7.9 DRAM 136 7.9.1 DRAM存储单元 136 7.9.2 SDRAM基本架构 137 7.9.3 SDRAM的控制信号 138 7.9.4 SDRAM时序参数 140 7.9.5 SDRAM控制器 142 第8章 系统总线和芯片总线 144 8.1 系统芯片和总线 144 8.2 总线的层次架构 146 8.3 总线的拓扑结构 148 8.4 APB总线 149 8.5 AHB总线 151 8.6 WISHBONE总线 153 8.7 AXI总线 155 8.8 总线寄存器层 158 8.8.1 PIO和DMA 158 8.8.2 数据的大小端顺序 159 8.8.3 被控寄存器的种类 161 8.8.4 直接地址和间接地址 162 8.9 JTAG接口 162 8.10 I2C总线 166 8.11 PCI 168 8.11.1 PCI总线的基本结构 168 8.11.2 PCI功能块的配置 170 8.11.3 PCI的总线事务 171 8.11.4 CPU中断 172 8.12 PCI Express 174 8.12.1 PCIe总线的基本结构 174 8.12.2 PCIe总线的软件兼容性 174 8.12.3 PCIe交换器 175 8.12.4 PCIe总线的通信协议 176 第9章 视频流媒体转换器 178 9.1 Vimer的架构 178 9.2 视频预处理 179 9.3 离散余弦变换 181 9.4 量子化和可变长编码 183 9.5 MPEG和RTP编码器 184 9.6 网络包缓存 185 9.7 以太网接入控制 185 9.8 Vimer芯片的内核和外围 186 9.9 逻辑仿真和硬件仿真 188 附录A 扩展汉明检错纠错码 189 A.1 存储器检错纠错的基本流程 189 A.2 二元域分组码 190 A.3 线性分组码和生成矩阵 190 A.4 使用逆向行和列顺序的生成矩阵 190 A.5 汉明距离和最小距离 191 A.6 差错症状和ECC解码 191 A.7 汉明码及其生成矩阵 192 A.8 扩展汉明码 193 A.9 扩展汉明码的应用程序 194 附录B 循环冗余校验码 195 B.1 多项式码 195 B.2 循环码 196 B.3 系统多项式码 197 B.4 短缩循环码 197 B.5 线性反馈移位寄存器 198 B.6 系统多项式码的并行运算 200 附录C 使用开源软件的逻辑设计和仿真环境 203 C.1 Cygwin 203 C.2 文本编辑器 205 C.3 Verilog语言模式 205 C.4 Icarus Verilog和GTKWave 207 C.5 脚本语言 208 参考文献 210

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个