第 16 章 VLSI 设计方法学 西安交通大学电信学院微电子学系国家集成电路人才培养基地程军 jcheng@mail.xjtu.edu.cn 2017 年 5 月
主要内容 综述 VLSI 设计流程 层次化设计 规范化 模块化和本地化设计 VLSI 的设计风格 p.2
早期集成电路的设计 早期集成电路设计完全靠手工 A Computer Aided Design (CAD) system running on an IBM mainframe was used to design custom ICs at Fairchild in 1967. MOS shift register, 1964 This was the first commercial MOS IC: Robert Norman s 20-bit shift register using 120 p-channel transistors. p.3
早期集成电路的设计 刻红膜 (Mask) 早期的 Tape-out Intel 8088A 透明重叠的掩模 (1976) http://www.computerhistory.org/revolution/digital-logic/12/287 p.4
今天的集成电路设计 数字集成电路已经进入 SoC 时代, 设计复杂度越来越高, 依靠 IP 集成来提高集成电路, 但是与芯片制造的进步相比, 设计能力的进步还是显得比较慢 IP: Intellectual Property 硬核 :Hardcore 软核 :softcore 固核 :Firmcore p.5
今天的集成电路设计 Apple A8 处理器 :20nm 工艺 ; 8.47x10.50mm 2 ;20 亿个晶体管 ; 双核, 最大 1.4Ghz 主频 p.6
今天的集成电路设计 p.7
The Design Productivity Challenge A growing gap between design complexity and design productivity 没有好的设计方法学, 根本无法处理一个芯片上 20 多亿个晶体管的设计, 无法满足制造能力的进步, 缩小设计与制造之间的差距!!! p.8
主要内容 综述 VLSI 设计流程 层次化设计 规范化 模块化和本地化设计 VLSI 的设计风格 p.9
Y 图 ( 集成电路设计域 ) 系统级 / 算法级 寄存器传输级 逻辑级 电路级 数字集成电路设计层次 : 系统级 / 算法级 C++, matlab, HDL 寄存器传输级 (RTL) HDL 逻辑级 ( 门级 ) HDL/Schematic 电路级 ( 晶体管级 ) SPICE,Sch 版图 GDSII 设计完成的标志 : 1 性能方面 : 功能 时序 速度和功耗满足规范 ; 2 适当的 Die 尺寸 : 芯片制造成本 ; 3 时间 : 设计成本和上市时间表 ; 4 可测试性 : 测试向量产生 ; 芯片设计就是在所有这些方面取得折衷 p.10
系统级 / 算法级描述 高级的行为抽象系统算法, 例如 :C 语言 抽象度高, 不含任何时序 电气等物理实现信息 ; 可以作为一个设计开始, 可以得到有效的运行模型 ; 由于没有关联到物理实现, 在整个项目期间无法始终用象 C 语言这样的描述完成设计 但是,C 语言综合一直是设计自动化 (EDA) 研究的热点 p.11
寄存器传输级 (RTL) 描述 接近硬件实现的周期精确度的模型 bit-vector data types and operations as abstraction from bit-level implementation sequential constructs (e.g., if-then-else, while loops) to support modeling of complex control flow p.12
门级 (Gate Level)/ 逻辑级描述 models function in Boolean logic using registers and gates various delay models for gates and wires p.13
电路级 / 晶体管级描述 PMOS/NMOS 晶体管模型 Dio/BJT Resistor Capacitor 模型 提供高精度的电路仿真 版图级描述 实现器件和互联线的多边形 p.14
集成电路设计层次 IC 设计是一个不断将设计描述从高层次描述向低层次描述转换的过程 ; 每一个模数过程需要仔细验证, 每一个转换过程也需要验证 转换过程可以是 EDA 工具自动完成的, 也可以是人工完成的 p.15
今天的 IC 设计离不开 EDA 技术 Design: High-Level Synthesis Logic Synthesis Schematic Capture Layout PCB Design Analysis and Verification: Functional Verification Clock Domain Crossing Formal Verification Equivalence Checking Static Timing Analysis Physical Verification Mask Preparation: Optical Proximity Correction (OPC) Resolution Enhancement Techniques Mask Generation Simulation: Transistor Simulation Logic Simulation Hardware Emulation Technology CAD Field Solvers Validation: ATPG BIST Altera: QuartusII Now is belong to Intel Quartus Prime p.16
SOC 集成电路设计流程 Digital Module design Chip Design No No No No IP module rtl design Module Verification Synthesis ATPG STA yes Formal verification Yes Yes no RTL code export CVE view Chip RTL Verification no Power analysis yes Top Level Integration Top-down logic synthesis & Scan insertion Formal verification Yes Floorplan; P&R; Extraction Layout Verification yes no No Formal verification no no no synopsys lib,netlist, behavior model Chip Mix Simulation GDS; Synopsys Astro; Magma volcano no Analog Module design IP module full custorm design Module Simulation Yes IP model generate IP module layout design Layout Verification yes No No no Gate level Verification no STA yes ATPG pattern resim Yes yes yes GDS tape out p.17
软硬件协同 p.18
简化设计流程 简单地说, 数字集成电路设计的流程, 就是不断地将数字系统的描述从高层次向低层次转换的过程, 中间伴随着不断的验证 这种转换一直到版图阶段结束 自上而下 自下而上 p.19
主要内容 综述 VLSI 设计流程 层次化设计 规范化 模块化和本地化设计 VLSI 的设计风格 p.20
层次化设计 模块化 / 层次化设计 : 模块化设计使得设计好的电路可以被重用, 层次化使得设计理解起来更加容易 每一个电路都可以在行为域 结构域和物理域被描述 p.21
层次化设计 p.22
层次化设计 16 位加法器层次 p.23
16 位加法器完整版图 p.24
16 位加法器版图层次 p.25
主要内容 综述 VLSI 设计流程 层次化设计 规范化 模块化和本地化设计 VLSI 的设计风格 p.26
层次化 规范化 模块化 本地化 层次化设计不断将电路分解成子模块电路, 直到子模块电路可以被设计和描述, 降低了子模块电路设计的复杂度 ; 规范化是指要让整个系统由功能尽可能相似的子模块构成, 减少子模块数量, 提高子模块的重复利用率 ; 一个电路尽量由相同的子模块构成, 例如一个由完全相同的单元构成的阵列结构的设计 模块化意味着所设计的子电路具有很好的功能定义和接口, 便于重复使用 ; 模块化设计使得设计可以由多人并行进行 ; 定义良好的接口使得每个模块不受外部模块的影响 本地化指的是保证模块间的连线尽可能短, 子模块之间尽量不出现长距离连线 p.27
主要内容 综述 VLSI 设计流程 层次化设计 规范化 模块化和本地化设计 VLSI 的设计风格 p.28
VLSI 的设计风格 根据数字集成电路版图设计方法的不同, 设计风格可以分为 : 全定制和半定制, 数字集成电路主要是半定制方法设计的 Digital Circuit Implementation Approaches 全定制 Custom Semicustom 半定制 Cell-based Array-based Standard Cells Compiled Cells Macro Cells Pre-diffused (Gate Arrays) Pre-wired (FPGA's) p.29
The Custom Approach Intel 4004 Courtesy Intel p.30
Transition to Automation and Regular Structures Intel 4004 ( 71) Intel 8080 Intel 8085 Intel 8286 Intel 8486 Courtesy Intel p.31
全定制 (Full Custom) 设计 版图完全由设计者重新设计, 不采用任何库 ; 设计效率极低, 开发成本非常高 ; 只适合于存储器这样的重复率极高的电路产品 ; 或者性能要求极高 其他设计方法无法满足要求的产品, 例如 : 高性能 CPU,DRAM 和 SRAM 等 模拟电路因为设计方法不支持的原因, 只能采用全定制设计 ; 数字电路一般不用全定制来设计, 主要原因是数字电路规模大, 全定制设计效率低 设计时间长 成本极高, 一般产品无法接受这么长的设计时间 p.32
全定制设计 一位全加器 p.33
全定制设计 p.34
全定制设计 p.35
全定制设计 SRAM 单元 p.36
全定制设计 电路图到版图的映射 p.37
全定制集成电路设计流程 EDA 工具示例 Cadence Virtuoso Schematic Spice: Hspice/Spectre/Eldo FastSpice:UltraSim/APS/HSIM Cadence Virtuoso Layout Editor Calibre/Assura Spice: Hspice/Spectre/Eldo p.38
VLSI 设计风格 p.39
半定制设计风格 基于 HDL 的设计 1980 s Hardware Description Languages (HDL) were conceived to facilitate the information exchange between design groups. 1990 s The increasing computation power led to the introduction of logic synthesizers that can translate the description in HDL into a synthesized gate-level net-list of the design. 2000 s Modern synthesis algorithms can optimize a digital design and explore different alternatives to identify the design that best meets the requirements. p.40
基于 HDL 的设计 p.41
标准单元 p.42
标准单元 p.43
标准单元 p.44
标准单元 p.45
标准单元设计 含有一个标准单元模块和三个存储器模块的芯片版图 p.46
门阵列 p.47
门阵列基本单元 Oxide-isolation PMOS PMOS NMOS NMOS NMOS Using oxide-isolation Using gate-isolation p.48
门阵列在定制前 p.49
门海芯片 Random Logic Memory Subsystem LSI Logic LEA300K (0.6 mm CMOS) Courtesy LSI Logic p.50
半定制集成电路设计流程 Physical Design p.51
VLSI 设计风格 设计周期短, 不需要物理制造过程, 适合于小规模 ASIC 和快速的原型设计 p.52
FPGA 设计 FPGA Field Programmable Gate Array 可配置的逻辑模块构成的阵列, 可编程的互连线结构 快速实现设计原型 (prototyping), 非常适合小批量实验产品, 设计成本低 使用硬件描述语言 HDL (hardware description language) 设计 p.53
Fuse-Based FPGA Anti Fuse antifuse polysilicon ONO dielectric n + antifuse diffusion 2 l Open by default, closed by applying current pulse From Smith97 p.54
金属 - 金属反熔丝 连接 连接 通孔 钨塞 非晶硅 非晶硅 QuickLogic 公司 FPGA 编程元件 ; 由钨 钛 硅的合金构成, 电阻率低 ; 金属与金属直接编程连接, 减小了寄生电容 ; 导通电阻小 ( 平均 50W) 高密度 抗辐射; p.55
SRAM 编程元件 Read 或 Write Data Q QN 可以多次编程, 实现 ISP 构建系统, 使硬件容易升级 标准 CMOS 工艺, 成本低 易失性元件, 需要外接永久存储器, 保密性差 编程元件面积比反熔丝大 p.56
浮栅编程元件 源 浮栅 栅 漏 D t ox N + 衬底 P N + (a) 浮栅器件截面图 1967 年由 Kahng 和 Sze 提出 ; t ox 浮栅使 MOS 跨导降低 阈值电压可编程 ; 也被称为浮栅雪崩注入 MOS(floating-gate avalanche-injection MOS, FAMOS) 晶体管 G S (b) 原理图符号 p.57
Array-Based Programmable Logic I 5 I 4 I 3 I 2 I 1 I 0 Programmable OR array I 3 I 2 I 1 I 0 Programmable OR array I 5 I 4 I 3 I 2 I 1 I 0 Fixed OR array Programmable AND array Fixed AND array Programmable AND array O 3 O 2 O 1 O 0 O 3 O 2 O 1 O 0 O 3 O 2 O 1 O 0 PLA PROM PAL Indicates programmable connection Indicates fixed connection p.58
Programming a PROM 1 X 2 X 1 X 0 : programmed node NA NA f 1 f 0 p.59
More Complex PAL i inputs, j minterms/macrocell, k macrocells From Smith97 p.60
2-input mux as programmable logic block Configuration A B S F= A 0 B 1 S F 0 0 0 0 0 X 1 X 0 Y 1 Y 0 Y X XY X 0 Y XY Y 0 X XY Y 1 X X 1 Y 1 0 X X 1 0 Y Y 1 1 1 1 p.61
Logic Cell of Actel Fuse-Based FPGA A B 1 SA C 1 Y D 1 SB S0 S1 p.62
Memory Look-up Table Based Logic Cell In Out Out 00 00 1 01 1 10 1 11 0 ln1 ln2 基于 SRAM 的函数发生器单元 p.63
现场可编程门阵列 (FPGA) p.64
CLB 内部结构 Logic Function 模块由查找表构成, 可以实现任意 4 输入布尔函数 p.65
可编程互联线 M Interconnect Point Programmed interconnection Input/output pin Cell Horizontal tracks Vertical tracks p.66
可编程互联线 p.67
可编程开关阵列晶体管结构 Courtesy Dehon and Wawrzyniek p.68
不同设计风格优缺点 全定制 (Full Custon) 设计 : 功耗 性能 面积可以得到完全优化, 高度复杂性, 成本高 time-to-market, 高风险 标准单元 (Standard Cell) 设计 : 简单 快速 可靠,EDA 工具支持好 ; 只能完成数字电路设计, 功耗 面积可能过大 ; 目前最广使用的设计方法 门阵列 (Gate Array) 设计 : 减少了掩模成本和制造周期 ; 只能是数字电路, 性能受到限制 ; FPGA: 不需要硅片的制造加工, 非常便宜 ; 性能受限, 单个芯片成本高, 批量大的时候不划算 p.69