数字集成电路设计:从VLSI体系结构到CMOS制造(涵盖了数字VLSI设计的大部分问题)
编辑推荐
本书特点
·涵盖了数字VLSI设计的大部分问题
·从算法设计到晶圆生产,以自顶向下方式一一讲述
·重点阐释了流行的CMOS技术和静态电路
·全面覆盖数字VLSI设计者需要知道的半导体物理知识
·图文并茂,深度体现课堂教学和实际设计项目验证的思想
本书从架构和算法讲起,介绍了功能验证、vhdl建模、同步电路设计、异步数据获取、能耗与散热、信号完整性、物理设计、设计验证等必备技术,还讲解了vlsi经济运作与项目管理,并简单阐释了cmos技术的基础知识,全面涵盖了数字集成电路的整个设计开发过程。
本书既可以作为高等院校微电子、电子技术等相关专业高年级师生和研究生的参考教材,也可供半导体行业工程师参考。
Hubert Kaeslin 1985年于瑞士苏黎世联邦理工学院获得博士学位,现为该校微电子设计中心的负责人,具有20多年教授VLSI的丰富经验。
张盛 1999年毕业于清华大学电子工程系,获得工学学士学位;2004年毕业于清华大学微电子学研究所,获得工学博士学位。目前是清华大学深圳研究生院现代通信实验室教师,并担任智能传感工程研究中心副主任。
戴宏宇 1998年毕业于清华大学电子工程系,获得工学学士学位;2003年毕业于清华大学微电子学研究所,获得工学博士学位。现就职于意法—爱立信半导体北..
<< 查看详细
第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
现代电子系统日益复杂,随着半导体工艺水平的提高,单芯片的集成度和功能得以不断增强,其设计复杂度和各种风险也随之变大,甚至影响到投资者对研发新的更复杂系统芯片的信心。但是,为了有效降低便携式移动系统的产品单位成本和能量消耗,同时为了在产品独特性方面有竞争力,越来越多的电子产品仍然必须采用专用芯片解决方案。因此,深入了解数字集成电路设计的基本方法和关键问题,并明确开发过程的各个实践环节存在的风险,就变得十分必要。
本书是一本将超大规模数字电路基本概念原理与工程实践管理相结合的综合性教材。作者根据自己多年的教学和工程实践经验,从工程实践的关键问题出发,对超大规模数字电路的全部讲授内容进行了一次全新的梳理,形成了清晰的解决思路。在数字集成电路设计的各个环节,作者重点阐述了设计研制中必须考虑的关键因素,在丰富经验基础上对设计中常常出现的问题进行了详尽的讨论,可以帮助研究生和资深工程师完善自身的设计经验和能力,也可以帮助项目管理者明确各个环节的工作重点,规避研发环节的风险。
本书和其他数字集成电路教科书相比,有两个突出的特点。第一是自顶向下的组织方式,从算法的架构设计开始,讨论了同步设计的各种时钟技术、设计验证、散热和封装问题,还讨论了VLSI(超大规模集成电路)经济学与项目管理。读者可以根据自身需要直接阅读感兴趣的章节,而不需要很多半导体物理与器件方面的知识。第二是实用性。本书用了相当多的篇幅讨论了工程实践的问题,例如给出了一个很好的设计数据组织方法,还有很多检查列表与提醒。在目前的集成电路项目里,大量使用了重用的虚拟元件,通常有十几个到几十个时钟,验证工作量也要占到整个项目周期和投资的50%~70%,关于虚拟元件、时钟方案、VLSI经济学、项目管理、功能验证、设计验证等内容的讨论都可以直接作为实际项目实践的参考。总之,本书的内容相当全面并有一定深度,基本涵盖了数字集成电路设计的各个方面,非常适合用作学习数字集成电路设计的高年级本科生与研究生的教科书,也适合作为正在从事数字集成电路开发的工程人员的参考书。
本书由戴宏宇和张盛组织翻译和审校,参加翻译的还有杨津、李政、邓红林、陈峰和方明杰等,在此对他们表示衷心的感谢。本书翻译整理过程得到了清华大学深圳研究生院SOC验证与硬件仿真实验室的支持,在此一并表示感谢。
最后,由于译者水平有限,而且该领域相当多的专业词汇并没有统一的中文译法,书中难免会有不妥当的地方,望读者批评指正。
张盛
清华大学深圳研究生院
为什么选择本书
设计集成电路已经成为一种横跨多学科的工作,它涉及如何解决下面这些完全不同领域的问题。
硬件架构
软件工程
市场和投资
固态物理学
系统工程
电路设计
离散数学
电子设计自动化
版图设计
硬件测试设备和测量技术
完全讨论上面的所有学科显然超出了本书的范畴,也不是作者所精通的。尽管如此,我还是努力从这些领域中收集了相关的材料,主要涉及如何决定是否开发VLSI(超大规模集成电路)、如何制定主要的设计决策和执行具体的工程工作。
编写本书的时候考虑了两类读者。作为一本教科书,希望能让在校的工科学生领略数字VLSI设计的美妙,迎接技术挑战,避免重复前人的错误。同时由于本书内容全面,对正在从事硬件电路设计的工程师来说,书中的许多表格、清单、电路图和个案研究能够帮助他们注意到重要的行动项(action item)和可选方案,因此他们也会有兴趣把本书作为一本参考书。
本书和这个领域内其他书籍的不同之处在于它的自顶向下(top-down)方式,从硬件架构而不是从固态物理学开始,自然地遵循一般的VLSI设计流程,对于具有系统工程、信息技术、数字信号处理或管理等教育背景的读者,这样的安排更容易接受。
本书亮点
涵盖了数字VLSI设计的大部分问题。
从算法设计到晶圆生产的自顶向下方式。
系统性概述了结构优化技术。
可扩展的仿真测试平台(testbench)概念,配有代码示例。
. 强调了同步设计和HDL代码可移植性。
全面讨论了时钟设计方法。
论述了HDL表面之下的关键概念,同时避免过多的语法细节。
重点讨论了流行的CMOS技术和静态电路。
刚好覆盖数字VLSI设计者需要知道的半导体物理知识。
工业界合作模式。
购买虚拟元件(virtual component)需要注意的问题。
ASIC的成本和市场问题。
小批量生产的途径。
内容很大程度上实现了独立完整性(需要的前提知识概述在两个附录中)。
偏重将来仍然有用的知识。
许多图表有助于对问题的理解,但也可以选择使用。
各种情况下的清单、提示和警告。
经过课堂教学和实际设计项目验证的思想。
给教师的建议
过去的十年里,现场可编程逻辑器件(比如FPGA和CPLD)的性能已经发展到一个相当高的水平,它们已经成为许多电子产品,特别是中小企业,设计和销售的产品中非常有价值的元件。不管一个设计是否实现为掩模编程的定制芯片或者上电可配置的元件,从更高的抽象层次开始,有助于教师集中精力在那些和这两类实现有同等相关度的主题上。这部分材料放在本书的第1章~第5章,最好教授给本科生,以达到知识的广泛传播。不再需要提前介绍半导体知识。对于几乎没有数字逻辑和有限状态机方面知识的读者,这部分材料可以与附录A、附录B补充在一起。
针对选择在这个领域深造的硕士研究生,本书进一步讲授了如何设计掩模编程芯片的知识。这种细化程度的电路设计涉及许多和电学、物理学和技术有关的决策。由于边际效应(side effect)导致不适当设计的电路表现和数字仿真中得到的预期行为不一致,纯粹的逻辑模型抽象已经不再有效。如何处理时钟偏移(clock skew)、亚稳态(metastability)、版图的寄生效应(layout parasitics)、地电压跳动(ground bounce)、串扰(cross talk)、漏电流(leakage)、芯片发热、电迁移(electromigration)、闩锁效应(latchup)、静电放电(electrostatic discharge)以及工艺波动组成了第6章以及其后各章的大部分内容。
再强调一次,本书自顶向下的组织方式为在什么地方结束课程留了很大的自由度。由于仅仅有少数的数字设计者继续处理半导体器件级别的问题,较短的课程可以跳过第8章以及从11.5节开始的关于具体的版图设计的内容。同样的理由适用于在第14章介绍的CMOS半导体技术。另一方面,第13章不应该漏掉,这是因为很显然没有一个工程项目不是经济因素起着决定作用的。
如果主要对微电子的商业方面感兴趣,甚至可以把第1章、第13章和第15章放在一起,组成一个介绍性的快速指南,不用考虑和实际芯片设计有关的所有技术细节。
下页图说明了在苏黎世联邦理工学院(ETH),作者和他的同事们是如何讲授数字VLSI设计课程的。从事电子和微电子行业的工程师,最好的职业准备应该是完成一个设计项目,这个项目里的电路不仅仅用计算机建模和仿真,并且要实际生产出来。一旦提出了一个有意义的项目立项报告,我们的学生们就会有这样的机会,通常两人一组工作。在第七学期末送出流片(tapeout)之后,通过外部的多项目晶圆(multi-project wafer)服务,大概需要三个月时间进行实际芯片的生产。在第八学期即最后一个学期,每个电路设计者系统地测试电路样片。毋庸置疑,学生们得到这样的机会都非常积极,业界对于研究生通过这种方式得到的实际经验也给予高度评价。
虽然作者以最谨慎的态度来开发本书的技术性内容和程序,但是错误也在所难免。读者不应该完全依赖本书来解决问题,由此产生的不正确答案可能会导致人身伤害或者财产损失。
“本书作者以自顶向下方式阐述设计流程,书中内容全面丰富,既便于高校教学,也便于工
程师自学。我相信每一位相关人士都能从书中找到对自己有帮助的内容。”
——亚马逊读者评论
【插图】