标题：数字集成电路设计：从VLSI体系结构到CMOS制造
基本信息
原书名： Digital Integrated Circuit Design:From VLSI Architectures to CMOS Fabrication
原出版社： Cambridge University Press
作者： (瑞士)Hubert Kaeslin    [作译者介绍]
译者： 张盛 戴宏宇
丛书名： 图灵电子电气
出版社：人民邮电出版社
ISBN：9787115244123
上架时间：2011-2-18
出版日期：2011 年1月
开本：16开
页码：660
版次：1-1
内容简介
本书从架构和算法讲起，介绍了功能验证、vhdl建模、同步电路设计、异步数据获取、能耗与散热、信号完整性、物理设计、设计验证等必备技术，还讲解了vlsi经济运作与项目管理，并简单阐释了cmos技术的基础知识，全面涵盖了数字集成电路的整个设计开发过程。
本书既可以作为高等院校微电子、电子技术等相关专业高年级师生和研究生的参考教材，也可供半导体行业工程师参考。 
译者序
现代电子系统日益复杂，随着半导体工艺水平的提高，单芯片的集成度和功能得以不断增强，其设计复杂度和各种风险也随之变大，甚至影响到投资者对研发新的更复杂系统芯片的信心。但是，为了有效降低便携式移动系统的产品单位成本和能量消耗，同时为了在产品独特性方面有竞争力，越来越多的电子产品仍然必须采用专用芯片解决方案。因此，深入了解数字集成电路设计的基本方法和关键问题，并明确开发过程的各个实践环节存在的风险，就变得十分必要。
本书是一本将超大规模数字电路基本概念原理与工程实践管理相结合的综合性教材。作者根据自己多年的教学和工程实践经验，从工程实践的关键问题出发，对超大规模数字电路的全部讲授内容进行了一次全新的梳理，形成了清晰的解决思路。在数字集成电路设计的各个环节，作者重点阐述了设计研制中必须考虑的关键因素，在丰富经验基础上对设计中常常出现的问题进行了详尽的讨论，可以帮助研究生和资深工程师完善自身的设计经验和能力，也可以帮助项目管理者明确各个环节的工作重点，规避研发环节的风险。
本书和其他数字集成电路教科书相比，有两个突出的特点。第一是自顶向下的组织方式，从算法的架构设计开始，讨论了同步设计的各种时钟技术、设计验证、散热和封装问题，还讨论了VLSI（超大规模集成电路）经济学与项目管理。读者可以根据自身需要直接阅读感兴趣的章节，而不需要很多半导体物理与器件方面的知识。第二是实用性。本书用了相当多的篇幅讨论了工程实践的问题，例如给出了一个很好的设计数据组织方法，还有很多检查列表与提醒。在目前的集成电路项目里，大量使用了重用的虚拟元件，通常有十几个到几十个时钟，验证工作量也要占到整个项目周期和投资的50%~70%，关于虚拟元件、时钟方案、VLSI经济学、项目管理、功能验证、设计验证等内容的讨论都可以直接作为实际项目实践的参考。总之，本书的内容相当全面并有一定深度，基本涵盖了数字集成电路设计的各个方面，非常适合用作学习数字集成电路设计的高年级本科生与研究生的教科书，也适合作为正在从事数字集成电路开发的工程人员的参考书。
本书由戴宏宇和张盛组织翻译和审校，参加翻译的还有杨津、李政、邓红林、陈峰和方明杰等，在此对他们表示衷心的感谢。本书翻译整理过程得到了清华大学深圳研究生院SOC验证与硬件仿真实验室的支持，在此一并表示感谢。
最后，由于译者水平有限，而且该领域相当多的专业词汇并没有统一的中文译法，书中难免会有不妥当的地方，望读者批评指正。
张　盛
清华大学深圳研究生院 
目录
第1章 微电子学导引        1
1.1 经济的影响        1
1.2 概念和术语        3
1.2.1 吉尼斯纪录的视角        3
1.2.2 市场视角        4
1.2.3 生产的视角        5
1.2.4 设计工程师的视角        8
1.2.5 商业的视角        13
1.3 数字vlsi设计流程        13
1.3.1 y图，数字电子系统的地图        13
1.3.2 vlsi设计的主要阶段        14
1.3.3 单元库        21
1.3.4 电子设计自动化软件        22
1.4 fpl        22
1.4.1 配置技术        23
1.4.2 硬件资源的结构        24
1.4.3 商业产品        27
1.5 问题        28
1.6 附录  i ：逻辑系列的简明术语表        28
1.7 附录ii：用图表汇编电路有关的术语        30
.第2章 从算法到架构        34
2.1 架构设计的目标        34
2.2 两种相对的架构        34
2.2.1 算法的什么性质使得它适合专用的vlsi架构        38
2.2.2 在相对的架构中间有很大的空间        41
2.2.3 通用处理单元和专用处理单元的联合        41
2.2.4 协处理器        42
2.2.5 专用指令集处理器        42
2.2.6 可配置计算        44
2.2.7 可扩展指令集处理器        45
2.2.8 摘要        45
2.3 vlsi架构设计的变换方法        46
2.3.1 算法领域的再建模空间        47
2.3.2 架构领域的再建模空间        48
2.3.3 系统工程师和vlsi设计师必须通力合作        48
2.3.4 描述处理算法的图示方法        49
2.3.5 同形架构        50
2.3.6 架构选择的优缺点        51
2.3.7 计算周期与时钟周期        52
2.4 组合运算的等价变换        52
2.4.1 共同的前提        53
2.4.2 迭代分解        54
2.4.3 流水线        56
2.4.4 复制        59
2.4.5 时间共享        61
2.4.6 结合变换        65
2.4.7 其他代数变换        66
2.4.8 摘要        66
2.5 临时数据存储的方法        67
2.5.1 数据访问模式        67
2.5.2 可用的存储器配置和面积占用        67
2.5.3 存储容量        68
2.5.4 片外的连线和成本        69
2.5.5 延迟和时序        69
2.5.6 摘要        69
2.6 非递归计算的等价变换        70
2.6.1 重定时        70
2.6.2 回顾流水线        71
2.6.3 脉动变换        73
2.6.4 回顾迭代分解和时间共享        73
2.6.5 回顾复制        74
2.6.6 摘要        74
2.7 递归计算的等价变换        75
2.7.1 反馈的障碍        75
2.7.2 展开第一阶循环        76
2.7.3 更高阶的循环        77
2.7.4 时变的循环        79
2.7.5 非线性或一般的循环        80
2.7.6 流水线交织不是等价变换        82
2.7.7 摘要        84
2.8 变换方法的推广        84
2.8.1 推广到其他细节层次        84
2.8.2 串行位架构        85
2.8.3 分布式算法        87
2.8.4 推广到其他代数结构        89
2.8.5 摘要        91
2.9 结论        91
2.9.1 总结        91
2.9.2 从能量角度看非常好的架构选择        93
2.9.3 评估架构选择的指南        94
2.10 问题        96
2.11 附录i：代数结构的词汇表概要        97
2.12 附录ii：vlsi子函数的面积和延时数据        100
第3章 功能验证        102
3.1 如何建立有效的功能规格说明        102
3.1.1 形式化的规格说明        103
3.1.2 快速原型        103
3.2 制定适合的仿真策略        104
3.2.1 需要什么条件才能在仿真中发现设计缺陷        105
3.2.2 仿真和响应检查必须自动发生        105
3.2.3 彻底的验证仍然是个难以达到的目标        106
3.2.4 所有的局部验证的技术都有各自的缺陷        107
3.2.5 从多个来源搜集测试用例会有帮助        111
3.2.6 基于断言的验证也有帮助        112
3.2.7 把测试开发和电路设计分开也有帮助        113
3.2.8 虚拟原型有助于产生期望的响应        114
3.3 在整个设计周期里重用相同的功能量规        114
3.3.1 处理激励和期望响应可选方法        116
3.3.2 模块化的测试平台设计        116
3.3.3 激励和响应明确定义的时间表        117
3.3.4 略过冗余的仿真序列降低运行次数        119
3.3.5 抽象到对更高层次数据的更高层次处理        119
3.3.6 在多个电路模型之间吸收延迟变化        124
3.4 结论        124
3.5 问题        126
3.6 附录i：功能验证的形式方法        128
3.7 附录ii：为仿真和测试推导一个前后一致的时间表        128
第4章 使用vhdl为硬件建模        132
4.1 动机        132
4.1.1 为什么要做硬件综合        132
4.1.2 vhdl还有哪些替代者        132
4.1.3 ieee 1076标准的起源和目标是什么        134
4.1.4 为什么要费力去学硬件描述语言        134
4.1.5 议程        135
4.2 关键概念和vhdl结构        135
4.2.1 电路层次和连接        136
4.2.2 并行进程和进程交互        139
4.2.3 离散信号代替电信号        145
4.2.4 基于事件的时间概念用于控制仿真        151
4.2.5 模型参数化工具        158
4.2.6 从编程语言借用的概念        164
4.3 把vhdl用于硬件综合        168
4.3.1 综合概述        168
4.3.2 数据类型        169
4.3.3 寄存器、有限状态机和其他时序子电路        169
4.3.4 ram、rom和其他宏单元        174
4.3.5 必须在网表级别控制的电路        175
4.3.6 时序约束        176
4.3.7 关于综合的限制和警告        179
4.3.8 如何逐步建立寄存器传输级模型        179
4.4 把vhdl用于硬件仿真        182
4.4.1 数字仿真的要素        182
4.4.2 一般测试模块解析        182
4.4.3 改编来适应手边的设计问题        184
4.4.4 ieee 1076.4 vital模型标准        185
4.5 小结        186
4.6 问题        186
4.7 附录i：关于vhdl的书籍和网页        188
4.8 附录ii：相关的扩展和标准        189
4.8.1 受保护的共享变量ieee 1076a        189
4.8.2 模拟和混合信号扩展ieee 1076.1        190
4.8.3 实数和复数的数学包ieee 1076.2        190
4.8.4 算术包ieee 1076.3        191
4.8.5 指定作为综合的语言子集ieee 1076.6        191
4.8.6 标准延时格式（sdf）ieee 1497        191
4.8.7 类型转换函数的一个便捷的汇编        192
4.9 附录iii：vhdl模型的例子        192
4.9.1 组合电路模型        193
4.9.2 mealy、moore和medvedev状态机        198
4.9.3 状态化简和编码        204
4.9.4 仿真测试平台        206
4.9.5 使用不同厂商的vhdl工具        220
第5章 同步电路设计情况        221
5.1 引言        221
5.2 控制状态改变的重要选择        221
5.2.1 同步时钟        221
5.2.2 异步时钟        222
5.2.3 自定时时钟        224
5.3 为什么在vlsi中严格的时钟方案绝对必要        224
5.3.1 冒险的危险        224
5.3.2 同步时钟的优缺点        225
5.3.3 按需提供时钟不是vlsi的选择        226
5.3.4 完全自定时的时钟通常也不是个选择        227
5.3.5 系统时钟的混合方案        227
5.4 同步电路设计的注意事项        228
5.4.1 第一条指导原则：分离信号种类        228
5.4.2 第二条指导原则：允许电路在时钟到达前稳定        230
5.4.3 更详细的同步设计规则        230
5.5 结论        235
5.6 问题        236
5.7 附录：关于识别信号种类        236
5.7.1 信号种类        236
5.7.2 有效电平        238
5.7.3 波形的信息        238
5.7.4 三态性能        239
5.7.5 输入、输出和双向端点        240
5.7.6 当前状态与下一个状态        240
5.7.7 句法惯例        240
5.7.8 关于vhdl中的大写和小写字母的注释        241
5.7.9 关于名字跨eda平台可移植性的注释        242
第6章 同步电路的时钟        243
6.1 时钟分配的困难是什么        243
6.1.1 议程        244
6.1.2 时钟分配有关的时间量        244
6.2 一个电路可以承受多大的偏移和抖动        244
6.2.1 基本知识        244
6.2.2 单边沿触发一相时钟        246
6.2.3 双边沿触发的一相时钟        251
6.2.4 对称的电平敏感两相时钟        252
6.2.5 非对称的电平敏感两相时钟        255
6.2.6 一线电平敏感两相时钟        257
6.2.7 电平敏感一相时钟和行波流水线        258
6.3 如何把时钟偏移保持在紧密的范围内        261
6.3.1 时钟波形        261
6.3.2 集中式时钟缓冲器        263
6.3.3 分布式时钟缓冲器树        264
6.3.4 混合式时钟分布网络        265
6.3.5 时钟偏移分析        265
6.4 如何实现友好的输入/输出时序        266
6.4.1 友好的和不友好的i/o 时序对比        266
6.4.2 时钟分布延时对i/o时序的影响        267
6.4.3 ptv变化对i/o时序的影响        269
6.4.4 寄存器输入和输出        269
6.4.5 在输入端人为增加组合延时        269
6.4.6 用提前的时钟驱动输入寄存器        270
6.4.7 从最慢的器件中抽出一个时钟域的时钟        270
6.4.8 通过pll和dll实现“零延时”时钟分布        270
6.5 如何正确地实现门控时钟        272
6.5.1 传统的带使能反馈型寄存器        272
6.5.2 天然的和不可靠的门控时钟方案        273
6.5.3 某些情况下可行的简单门控时钟方案        273
6.5.4 可靠的门控时钟方案        274
6.6 小结        275
6.7 问题        278
第7章 异步数据采集        281
7.1 动机        281
7.2 向量采集的数据一致性问题        282
7.2.1 简单的并行位同步        282
7.2.2 单位距离编码        283
7.2.3 交叉向量的消除        284
7.2.4 握手        284
7.2.5 部分握手        286
7.3 标量采集的数据一致性问题        288
7.3.1 完全没有同步        288
7.3.2 多地点同步        288
7.3.3 单地点同步        288
7.3.4 由慢时钟同步        288
7.4 同步器的亚稳态行为        290
7.4.1 边际触发及其如何回到确定状态        290
7.4.2 对电路功能的影响        292
7.4.3 一个评价同步器可靠性的统计模型        293
7.4.4 准同步接口        294
7.4.5 亚稳态行为的抑制        294
7.5 小结        296
7.6 问题        296
第8章 门级和晶体管级设计        298
8.1 cmos逻辑门        298
8.1.1 作为开关的mosfet        298
8.1.2 反相器        299
8.1.3 简单的cmos门电路        306
8.1.4 复合门        308
8.1.5 有高阻抗能力的门电路        312
8.1.6 奇偶校验门电路        313
8.1.7 加法器片        315
8.2 cmos 双稳态        316
8.2.1 锁存器        317
8.2.2 功能锁存器        319
8.2.3 单边沿触发的触发器        319
8.2.4 所有触发器的根源        321
8.2.5 双边沿寄存器        322
8.2.6 摘要        324
8.3 cmos片上存储器        324
8.3.1 sram        324
8.3.2 dram        327
8.3.3 其他的区别和共同点        328
8.4 cmos的电学精巧设计        329
8.4.1 纽扣        329
8.4.2 施密特触发器        330
8.4.3 打结单元        331
8.4.4 填充单元        331
8.4.5 电平位移器和输入/输出缓冲器        332
8.4.6 数字可调延时线        332
8.5 陷阱        333
8.5.1 总线和三态节点        333
8.5.2 传输门和其他双向元件        336
8.5.3 可靠的设计意味什么        339
8.5.4 微处理器的接口电路        339
8.5.5 机械接触        340
8.5.6 总结        341
8.6 问题        342
8.7 附录i：mosfet电学模型概要        344
8.7.1 命名和计算约定        344
8.7.2 sah模型        345
8.7.3 shichman-hodges模型        348
8.7.4 ?指数律模型        349
8.7.5 2阶效应        350
8.7.6 晶体管模型通常不描述的效应        352
8.7.7 结论        353
8.8 附录ⅱ：bjt        353
第9章 能量效率与热量排除        355
9.1 cmos电路中能量消耗在何处        355
9.1.1 电容负载的充电和放电        356
9.1.2 交变电流        359
9.1.3 阻性负载        361
9.1.4 泄漏电流        361
9.1.5 总能量消耗        363
9.1.6 cmos电压缩放        364
9.2 如何提高能量效率        366
9.2.1 一般准则        366
9.2.2 如何降低动态消耗        367
9.2.3 如何减少漏电流        371
9.3 热传导与热量排除        376
9.4 附录i：节点电容的来源        377
9.5 附录ii：非常规方法        378
9.5.1 亚阈值逻辑        378
9.5.2 电压摆幅减小技术        378
9.5.3 绝热逻辑        379
第10章 信号完整性        381
10.1 引言        381
10.1.1 噪声如何进入到电子电路中        381
10.1.2 噪声如何影响数字电路        382
10.1.3 议程        384
10.2 串扰        384
10.3 地弹与电源低落        384
10.3.1 源于公共串联阻抗的耦合机制        384
10.3.2 开关大电流源自何处        385
10.3.3 地弹的影响有多严重        386
10.4 如何减轻地弹        388
10.4.1 降低有效串联阻抗        388
10.4.2 隔离污染者与潜在的受害者        394
10.4.3 避免过大的翻转电流        395
10.4.4 确保噪声容限        398
10.5 小结        399
10.6 问题        400
10.7 附录：2阶近似的推导        401
第11章 物理设计        402
11.1 议程        402
11.2 导电层和它们的特性        402
11.2.1 几何特性与版图规则        402
11.2.2 电学性质        405
11.2.3 层间连接        405
11.2.4 导电层的典型功能        407
11.3 基于单元的后端设计        408
11.3.1 平面布图规划        408
11.3.2 确定主要的组件模块和时钟域        408
11.3.3 确定管脚预算        409
11.3.4 为所有主要的组件模块找到一个有相关性的排列        410
11.3.5 规划电源、时钟和信号分布        411
11.3.6 布局和布线        412
11.3.7 芯片装配        414
11.4 封装        414
11.4.1 晶圆分拣        417
11.4.2 晶圆测试        417
11.4.3 晶背面研磨和切割        417
11.4.4 密封        418
11.4.5 最终测试和分级        419
11.4.6 键合图与键合规则        419
11.4.7 先进的封装技术        419
11.4.8 选择封装技术        423
11.5 版图的细节设计        423
11.5.1 手工版图设计的目标        424
11.5.2 版图设计不是所见即所得的事情        424
11.5.3 标准单元版图        427
11.5.4 门海宏单元版图        428
11.5.5 sram单元的版图        429
11.5.6 光刻友好的版图有助于提高制造良率        431
11.5.7 网格，高效流行的版图排列        431
11.6 防止过度电性应力        432
11.6.1 电迁移        433
11.6.2 esd        434
11.6.3 闩锁        438
11.7 问题        442
11.8 附录i：vlsi宣传的几何量        442
11.9 附录ii： 关于工艺版图图形中扩散区的编码        443
11.10 附录iii：方块电阻        445
第12章 设计验证        446
12.1 发现时序问题        446
12.1.1 关于时序问题，仿真能告诉我们什么        446
12.1.2 时序验证有多大帮助        449
12.2 时序数据的准确程度        451
12.2.1 单元延时        451
12.2.2 互连延时和版图寄生现象        454
12.2.3 重点是制定切实的假设        457
12.3 更多的静态验证技术        458
12.3.1 电学规则检查        458
12.3.2 代码检查        460
12.4 版图后验证        460
12.4.1 设计规则检查        463
12.4.2 可制造性分析        464
12.4.3 版图抽取        464
12.4.4 版图与网表一致性检查        464
12.4.5 等价性检查        465
12.4.6 版图后时序验证        465
12.4.7 电源网格分析        465
12.4.8 信号完整性分析        465
12.4.9 版图后仿真        465
12.4.10 总体状况        466
12.5 小结        466
12.6 问题        467
12.7 附录i：单元和库特征化        468
12.8 附录ii：互连模型的等效电路        469
第13章 vlsi经济学和项目管理        472
13.1 议程        472
13.2 产业协作的模式        473
13.2.1 完全用标准部件组装成的系统        473
13.2.2 围绕着程控处理器搭建的系统        474
13.2.3 以现场可编程逻辑为基础设计的系统        474
13.2.4 以半定制asic为基础设计的系统        476
13.2.5 以全定制asic为基础设计的系统        477
13.3 asic产业内部的接口        477
13.3.1 ic设计数据的移交点        478
13.3.2 ic生产服务范围        479
13.4 虚拟元件        480
13.4.1 版权保护与给客户的信息        480
13.4.2 设计重用要求更好的质量和更彻底的验证        481
13.4.3 许多现有的虚拟元件需要重新设计        482
13.4.4 虚拟元件需要跟踪服务        482
13.4.5 保障条款        483
13.4.6 交付一个完整的虚拟元件包        483
13.4.7 商业模式        484
13.5 集成电路的成本        485
13.5.1 电路尺寸的影响        486
13.5.2 生产工艺的影响        487
13.5.3 生产数量的影响        489
13.5.4 可配置性的影响        490
13.5.5 小节摘要        490
13.6 小批量生产方法        492
13.6.1 多项目晶圆        492
13.6.2 多层掩模        492
13.6.3 电子束光刻        493
13.6.4 激光加工        493
13.6.5 硬连线fpga和结构化asic        493
13.6.6 成本事务        494
13.7 市场方面        494
13.7.1 商业成功的要素        494
13.7.2 商业化步骤和市场重点        495
13.7.3 服务与产品        497
13.7.4 产品分级        498
13.8 做出选择        499
13.8.1 用还是不用asic        499
13.8.2 应该选择什么样的实现技术        501
13.8.3 如果没有任何东西是已知确定的，该怎么办        503
13.8.4 系统公司能够承担忽视微电子技术的后果吗        504
13.9 成功的vlsi设计的关键        505
13.9.1 项目定义和市场营销        505
13.9.2 技术管理        506
13.9.3 工程学        507
13.9.4 验证        508
13.9.5 误区        508
13.10 附录：在微电子领域开展业务        509
13.10.1 评估业务伙伴和设计套件的检查清单        509
13.10.2 虚拟元件供应商        511
13.10.3 精选一些低量生产供应商        511
13.10.4 成本估计的一些帮助        511
第14章 cmos工艺基础        514
14.1 mos器件物理本质        514
14.1.1 能带和电传导        514
14.1.2 半导体材料的掺杂        514
14.1.3 pn结、接触和二极管        516
14.1.4 mosfet        518
14.2 基本的cmos制造流程        522
14.2.1 cmos技术的关键特性        522
14.2.2 前段制造步骤        525
14.2.3 后段制造步骤        526
14.2.4 工艺监控        527
14.2.5 光刻        527
14.3 cmos工艺主旋律的变化        533
14.3.1 铜取代了铝作为互连材料        533
14.3.2 低介电常数的层间介质正在取代sio2        534
14.3.3 高介电常数栅介质要代替二氧化硅        535
14.3.4 应变硅和硅锗工艺        536
14.3.5 金属栅一定会再次流行        537
14.3.6 绝缘体上硅工艺        538
第15章 展望        540
15.1 cmos技术的演进路径        540
15.1.1 传统器件的缩放        540
15.1.2 寻找新的器件拓扑结构        543
15.1.3 隧穿mosfet        544
15.1.4 寻找更好的半导体材料        544
15.1.5 垂直集成        546
15.2 cmos之后还有新的机会吗        546
15.2.1 数据存储        547
15.2.2 纳米技术        548
15.3 技术推动力        551
15.3.1 所谓的行业“定律”和背后的力量        551
15.3.2 行业路线图        552
15.4 市场拉动        554
15.5 设计方法学的演进路线        555
15.5.1 生产率问题        555
15.5.2 架构设计的新方法        557
15.6 小结        559
15.7 6个重大的挑战        560
15.8 附录：非半导体存储技术比较        560
附录a 基础数字电子学        561
附录b 有限状态机        593
附录c lsi设计人员的检查清单        607
附录d 符号和常量        614
参考文献        621
索引        643