840 likes | 1.21k Views
集成电路设计 北京大学. 系统需求. 设计. 掩膜版. 芯片制造过程. 芯片检测. 封装. 测试. 单晶、外延材料. 集成电路设计与制造的主要流程框架. 功能要求. 集成电路的设计过程: 设计创意 + 仿真验证. 行为设计( VHDL). 否. 行为仿真. 是. 综合、优化——网表. 否. 时序仿真. 是. 布局布线——版图. 后仿真. 否. 是. Sing off. 集成电路芯片设计过程框架. From 吉利久教授. —设计业—. 引 言.
E N D
系统需求 设计 掩膜版 芯片制造过程 芯片检测 封装 测试 单晶、外延材料 • 集成电路设计与制造的主要流程框架
功能要求 集成电路的设计过程: 设计创意 + 仿真验证 行为设计(VHDL) 否 行为仿真 是 综合、优化——网表 否 时序仿真 是 布局布线——版图 后仿真 否 是 Sing off 集成电路芯片设计过程框架 From 吉利久教授 —设计业—
引 言 • 什么是集成电路?(相对分立器件组成的电路而言) 把组成电路的元件、器件以及相互间的连线放在单个芯片上,整个电路就在这个芯片上,把这个芯片放到管壳中进行封装,电路与外部的连接靠引脚完成。 • 什么是集成电路设计? 根据电路功能和性能的要求,在正确选择系统配置、电路形式、器件结构、工艺方案和设计规则的情况下,尽量减小芯片面积,降低设计成本,缩短设计周期,以保证全局优化,设计出满足要求的集成电路。
设计的基本过程 (举例) • 功能设计 • 逻辑和电路设计 • 版图设计 • 集成电路设计的最终输出是掩膜版图,通过制版和工艺流片可以得到所需的集成电路。 设计与制备之间的接口:版图
主要内容 • IC设计特点及设计信息描述 • 典型设计流程 • 典型的布图设计方法及可测性设计技术
设计特点和设计信息描述 • 设计特点(与分立电路相比) • 对设计正确性提出更为严格的要求 • 测试问题 • 版图设计:布局布线 • 分层分级设计(Hierarchical design)和模块化设计 • 高度复杂电路系统的要求 • 什么是分层分级设计? 将一个复杂的集成电路系统的设计问题分解为复杂性较低的设计级别,这个级别可以再分解到复杂性更低的设计级别;这样的分解一直继续到使最终的设计级别的复杂性足够低,也就是说,能相当容易地由这一级设计出的单元逐级组织起复杂的系统。一般来说,级别越高,抽象程度越高;级别越低,细节越具体
从层次和域表示分层分级设计思想 域:行为域:集成电路的功能 结构域:集成电路的逻辑和电路组成 物理域:集成电路掩膜版的几何特性和物理特性的具体实现 层次:系统级、算法级、寄存器传输级(也称RTL级)、 逻辑级与电路级
CPU 系统级 行为、性 、存储 芯片、电路 能描述 器、控制器 板、子系统 等 I/O 算法级 算法 硬件模块、 部件间的物 数据结构 理连接 RTL ALU 级 状态表 、寄存 芯片、宏单 MUX 器、 元 微存储器 逻辑级 布尔方程 门、触发器 单元布图 电路级 微分方程 晶体管、电 管子布图 阻、电容
分类 内容 ( VHDL 语言描述 如 语 功能描述与逻辑描述 Verilog ) 言、 语言等 功能设计 功能图 设 逻辑设计 逻辑图 计 电路设计 电路图 图 , 版图设计 符号式版图 版图 设计信息描述 举例:x=a’b+ab’;CMOS与非门;CMOS反相器版图
什么是版图?一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案来表示。什么是版图?一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案来表示。 版图与所采用的制备工艺紧密相关
典型的实际设计流程 • 1、系统功能设计 • 目标:实现系统功能,满足基本性能要求 • 过程:功能块划分,RTL级描述,行为仿真 功能块划分 RTL级描述(RTL级VHDL、Verilog) RTL级行为仿真:总体功能和时序是否正确
功能块划分原则: 既要使功能块之间的连线尽可能地少,接口清晰,又要求功能块规模合理,便于各个功能块各自独立设计。同时在功能块最大规模的选择时要考虑设计软件可处理的设计级别
算法级:包含算法级综合:将算法级描述转换到算法级:包含算法级综合:将算法级描述转换到 RTL级描述 综 合: 通过附加一定的约束条件从高一级设 计层次直接转换到低一级设计层次的过程 逻辑级:较小规模电路
实际设计流程 • 系统功能设计 • 输出:语言或功能图 • 软件支持:多目标多约束条件优化问题 无自动设计软件 仿真软件:VHDL仿真器、Verilog仿真器
实际设计流程 • 2、逻辑和电路设计 • 概念:确定满足一定逻辑或电路功能的由逻辑或电路单元组成的逻辑或电路结构 • 过程: A.数字电路:RTL级描述 逻辑综合(Synopsys,Ambit) 逻辑网表 逻辑模拟与验证,时序分析和优化 难以综合的:人工设计后进行原理图输入,再进行 逻辑模拟
电路实现(包括满足电路性能要求的电路结构和元件参数):调用单元库完成;电路实现(包括满足电路性能要求的电路结构和元件参数):调用单元库完成; 没有单元库支持:对各单元进行电路设计,通过电路模拟与分析,预测电路的直流、交流、瞬态等特性,之后再根据模拟结果反复修改器件参数,直到获得满意的结果。由此可形成用户自己的单元库
单元库:一组单元电路的集合 经过优化设计、并通过设计规则检查和反复工艺验证,能正确反映所需的逻辑和电路功能以及性能,适合于工艺制备,可达到最大的成品率。 元件 门 元胞 宏单元(功能块) 基于单元库的描述:层次描述 单元库可由厂家提供,可由用户自行建立
B. 模拟电路:尚无良好的综合软件 RTL级仿真通过后,根据经验进行电路设计 • 逻辑和电路设计的输出:网表(元件及其连接关系)或逻辑图、电路图 • 软件支持:逻辑综合、逻辑模拟、电路模拟、时序分析等软件 (EDA软件系统中已集成) 原理图输入 模拟单元库 电路模拟与验证
实际设计流程 • 3. 版图设计 • 概念:根据逻辑与电路功能和性能要求以及工艺水平要求来设计光刻用的掩膜版图, IC设计的最终输出。 • 什么是版图?一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案来表示。 版图与所采用的制备工艺紧密相关
版图设计过程:由底向上过程 主要是布局布线过程 布局:将模块安置在芯片的适当位置,满足一定目标函数。对级别最低的功能块,是指根据连接关系,确定各单元的位置,级别高一些的,是分配较低级别功能块的位置,使芯片面积尽量小。 布线:根据电路的连接关系(连接表)在指定区域(面积、形状、层次)百分之百完成连线。布线均匀,优化连线长度、保证布通率。
版图设计过程 大多数基于单元库实现 (1)软件自动转换到版图,可人工调整(规则芯片) (2)布图规划(floor planning)工具 布局布线工具(place&route) 布图规划:在一定约束条件下对设计进行物理划分,并初步确定芯片面积和形状、单元区位置、功能块的面积形状和相对位置、I/O位置,产生布线网格,还可以规划电源、地线以及数据通道分布 (3)全人工版图设计:人工布图规划,提取单元, 人工布局布线(由底向上: 小功能块到大功能块)
版图验证与检查 • DRC:几何设计规则检查 • ERC:电学规则检查 • LVS:网表一致性检查 • POSTSIM:后仿真(提取实际版图参数、电阻、电容,生成带寄生量的器件级网表,进行开关级逻辑模拟或电路模拟,以验证设计出的电路功能的正确性和时序性能等),产生测试向量 • 软件支持:成熟的CAD工具用于版图编辑、人机交互式布局布线、自动布局布线以及版图检查和验证
设计规则 IC设计与工艺制备之间的接口 • 制定目的:使芯片尺寸在尽可能小的前提下,避免线条宽度的偏差和不同层版套准偏差可能带来的问题,尽可能地提高电路制备的成品率 • 什么是设计规则?考虑器件在正常工作的条件下,根据实际工艺水平(包括光刻特性、刻蚀能力、对准容差等)和成品率要求,给出的一组同一工艺层及不同工艺层之间几何尺寸的限制,主要包括线宽、间距、覆盖、露头、凹口、面积等规则,分别给出它们的最小值,以防止掩膜图形的断裂、连接和一些不良物理效应的出现。
VDSM电路设计对设计流程的影响 • 时序问题突出,互连延迟超过门延迟,逻辑设计用的互连延迟模型与实际互连延迟特性不一致,通过逻辑设计的时序在布局布线后不符合要求。 在逻辑设计阶段加入物理设计的数据 • 综合优化中的关键路径以SDF格式传给布图规划,初步的连线延迟再传给综合优化工具(以PDEF格式) • 布局后将更精确的互连信息通过FLOORPLAN TOOL传给综合优化工具,进行布局迭代 • 时延驱动布线,完成后进行延迟计算和时序分析,布线迭代
VDSM电路设计对设计流程的影响 • 布图时面向互连,先布互连网,再布模块 • 集成度提高: • 可重用(REUSE)模块 • IP模块 • 针对各 IP模块和其他模块进行布图规划,如何对IP模块等已设计好的模块进行处理 • 功耗问题,尤其高层次设计中考虑 • 布图中寄生参数提取变成三维问题
布图设计方法(布图风格划分) • 全定制设计方法、半定制设计方法、可编程逻辑器件以及基于这些方法的兼容设计方法 • 设计方法选取的主要依据:设计周期、设计成本、芯片成本、芯片尺寸、设计灵活性、保密性和可靠性等 最主要的:设计成本在芯片成本中所占比例 芯片成本CT: 小批量的产品:减小设计费用; 大批量的产品:提高工艺水平,减小芯片尺寸,增大圆片面积
全定制设计 • 版图设计时采用人工设计,对每个器件进行优化,芯片性能获得最佳,芯片尺寸最小 • 设计周期长,设计成本高,适用于性能要求极高或批量很大的产品,模拟电路 • 符号式版图设计:用一组事先定义好的符号来表示版图中不同层版之间的信息,通过自动转换程序转换 举例:棍图:棍形符号、不同颜色 • 不必考虑设计规则的要求;设计灵活性大 • 符号间距不固定,进行版图压缩,减小芯片面积
V DD V ss
专用集成电路(ASIC:Application-Specific Integrated Circuit)(相对通用电路而言) • 针对某一应用或某一客户的特殊要求设计的集成电路 • 批量小、单片功能强:降低设计开发费用 • 主要的ASIC设计方法: • 门阵列设计方法:半定制 • 标准单元设计方法:定制 掩膜版方法 • 积木块设计方法:定制 • 可编程逻辑器件设计方法
门阵列设计方法(GA方法) • 概念:形状和尺寸完全相同的单元排列成阵列,每个单元内部含有若干器件,单元之间留有布线通道,通道宽度和位置固定,并预先完成接触孔和连线以外的芯片加工步骤,形成母片 根据不同的应用,设计出不同的接触孔版和金属连线版,单元内部连线及单元间连线实现所需电路功能 母片半定制技术
门阵列结构 • 单元区结构: 举例:六管CMOS单元 由该结构实现三输入或非门 • 输入/输出单元:芯片四周 举例:图5.16,输入、输出、电源 • 输入保护(防止栅击穿):嵌位二极管、保护电阻 • 输出驱动:宽长比大的器件(梳状或马蹄状)
Foundry 设计中心 寄存器传输 级行为描述 行为仿真 单元库 综合 逻辑网表 逻辑图 向Foundry提供 网表 逻辑模拟 布局布线 掩膜版图 生成延迟 文件 版图检查/网表和参数 后仿真 提取/网表一致性检查 产生测试向量 门阵列设计过程 制版/流片 /测试/封装
门阵列方法的设计特点:设计周期短,设计成本低,适合设计适当规模、中等性能、要求设计时间短、数量相对较少的电路门阵列方法的设计特点:设计周期短,设计成本低,适合设计适当规模、中等性能、要求设计时间短、数量相对较少的电路 • 不足:设计灵活性较低;门利用率低;芯片面积浪费
门海设计技术:一对不共栅的P管和N管组成的基本单元铺满整个芯片,布线通道不确定(可将基本单元链改成无用器件区走线),宏单元连线在无用器件区上进行门海设计技术:一对不共栅的P管和N管组成的基本单元铺满整个芯片,布线通道不确定(可将基本单元链改成无用器件区走线),宏单元连线在无用器件区上进行 • 门利用率高,集成密度大,布线灵活,保证布线布通率 • 仍有布线通道,增加通道是单元高度的整数倍,布线通道下的晶体管不可用
激光扫描阵列:特殊的门阵列设计方法 对于一个特殊结构的门阵列母片,片上晶体管和逻辑门之间都有电学连接,用专门的激光扫描光刻设备切断不需要连接处的连线,实现ASIC功能。 • 只需一步刻铝工艺,加工周期短; • 采用激光扫描曝光,省去了常规门阵列方法中的制版工艺。但制备时间较长。 • 一般用于小批量(200~2000块)ASIC的制造
标准单元设计方法(SC方法) • 一种库单元设计方法 • 概念:从标准单元库中调用事先经过精心设计的逻辑单元,并排列成行,行间留有可调整的布线通道,再按功能要求将各内部单元以及输入/输出单元连接起来,形成所需的专用电路 • 芯片布局:芯片中心是单元区,输入/输出单元和压焊块在芯片四周,基本单元具有等高不等宽的结构,布线通道区没有宽度的限制,利于实现优化布线。
标准单元库:标准单元库中的单元是用人工优化设计的,力求达到最小的面积和最好的性能,完成设计规则检查和电学验证标准单元库:标准单元库中的单元是用人工优化设计的,力求达到最小的面积和最好的性能,完成设计规则检查和电学验证 • 描述电路单元在不同层级的属性的一组数据 • 逻辑符号(L):单元名称与符号、I/O端:用于逻辑图 • 功能描述 • 电路结构、电学指标 • 拓扑版图(O):拓扑单元名、单元宽度高度、I/O位置及名称 • 掩膜版图(A) 举例: • 不同设计阶段调用不同描述
标准单元库主要包括 • 与非门、或非门、触发器、锁存器、移位寄存器 • 加法器、乘法器、除法器、算术运算单元、FIFO等较大规模单元 • 模拟单元模块:振荡器、比较器等 同一功能的单元有几种不同的类型,视应用不同选择
标准单元设计 • 基本排列形式:双边I/O、单边I/O、连线单元(单层布线中用得较多、跨单元连线) • 走线: • 电源和地线一般要求从单元左右边进出,信号端从上下进出。可以在单元内部或单元边界 • 电源线可以放在单元外,在布线通道内,便于根据单元功率要求调整宽度,从各单元引出端口 • 电源线水平金属线,信号线用第二层金属或垂直多晶硅线,单元内部连线用第一层金属和多晶硅, 单元之间连线在走线通道内 • 单元拼接 • 单元高度:器件宽度,(考虑最小延迟,最省面积,足够高度以保证电源线、地线、单元内部连线)
SC方法设计流程与门阵列类似 • SC方法特点: • 需要全套掩膜版,属于定制设计方法 • 门阵列方法:合适的母片,固定的单元数、压焊块数和通道间距 标准单元方法:可变的单元数、压焊块数、通道间距,布局布线的自由度增大 • 较高的芯片利用率和连线布通率 • 依赖于标准单元库,SC库建立需较长的周期和较高的成本,尤其工艺更新时 • 适用于中批量或者小批量但是性能要求较高的芯片设计
积木块设计方法: BBL方法(通用单元设计方法) • 布图特点:任意形状的单元(一般为矩形或“L”型)、任意位置、无布线通道 • BBL单元:较大规模的功能块(如ROM、RAM、ALU或模拟电路单元等),单元可以用GA、SC、PLD或全定制方法设计
设计过程:可以基于Foundry提供的单元库,更提倡用自己的单元库设计过程:可以基于Foundry提供的单元库,更提倡用自己的单元库 平面布置:影响延迟的单元靠近安放 软件预估性能 详细布图 后仿真
BBL方法特点:较大的设计自由度,可以在版图和性能 上得到最佳的优化 BBL方法特点:较大的设计自由度,可以在版图和性能 上得到最佳的优化 • 布图算法发展中:通道不规则,连线端口在单元四周,位置不规则
可编程逻辑器件设计方法(PLD方法) • 概念:用户通过生产商提供的通用器件自行进行现场编程和制造,或者通过对与或矩阵进行掩膜编程,得到所需的专用集成电路 • 编程方式: • 现场编程:采用熔断丝、电写入等方法对已制备好的PLD器件实现编程,不需要微电子工艺,利用相应的开发工具就可完成设计,有些PLD可多次擦除,易于系统和电路设计。 • 掩膜编程:通过设计掩膜版图来实现所需的电路功能,但由于可编程逻辑器件的规则结构,设计及验证比较容易实现。
可编程逻辑器件分类 ROM、EPROM、EEPROM、PLA、PAL、GAL • 可编程逻辑阵列(PLA):实现数字逻辑 • 基本思想:组合逻辑可以转换成与-或逻辑 • 基本结构:
PLA基本结构 P 1 “或” “与” 矩阵 矩阵 P m O O O O 1 2 3 p X X X 1 2 n 将“与”矩阵或“或”矩阵的格点上是否有晶体管作为选择,编程出任意逻辑。采用不规则的晶体管位置实现一定的逻辑,但晶体管可能的位置是规则的
举例: 尽量采用“或非”门 V DD V DD PMOS管 时钟2 NMOS管 时钟1 O O 1 2 a b