1、集成电路设计集成电路设计北京大学北京大学集成电路设计与制造的主要流程框架集成电路设计与制造的主要流程框架设计设计芯片检测芯片检测单晶、外单晶、外延材料延材料掩膜版掩膜版芯片制造芯片制造过程过程封装封装测试测试系统需求系统需求 集成电路的集成电路的设计过程设计过程:设计创意设计创意 +仿真验证仿真验证集成电路芯片设计过程框架集成电路芯片设计过程框架From 吉利久教授吉利久教授是是功能要求功能要求行为设计(行为设计(VHDL)行为仿真行为仿真综合、优化综合、优化网表网表时序仿真时序仿真布局布线布局布线版图版图后仿真后仿真否否是是否否否否是是Sing off设计业设计业引引 言言 半导体器件物理半
2、导体器件物理基础基础:包括:包括PN结的物理机制、双极管、结的物理机制、双极管、MOS管的工作原理等管的工作原理等 器件器件 小规模电路小规模电路 大规模电路大规模电路 超大规模电路超大规模电路 甚大规模电路甚大规模电路 电路的制备电路的制备工艺工艺:光刻、刻蚀、氧化、离子注入、扩散、:光刻、刻蚀、氧化、离子注入、扩散、化学气相淀积、金属蒸发或溅射、封装等工序化学气相淀积、金属蒸发或溅射、封装等工序 集成电路设计:另一重要环节,最能反映人的能动性集成电路设计:另一重要环节,最能反映人的能动性 结合具体的电路,具体的系统,设计出各种各样的电路结合具体的电路,具体的系统,设计出各种各样的电路掌握正
3、确的设计方法掌握正确的设计方法,可以以不变应万变,可以以不变应万变,随着电路规模的增大,随着电路规模的增大,计算机辅助设计手段计算机辅助设计手段在集成电路设计中起着越来越重要的作用在集成电路设计中起着越来越重要的作用引引 言言 什么是集成电路?什么是集成电路?(相对分立器件组成的电路而言相对分立器件组成的电路而言)把组成电路的元件、器件以及相互间的连线放在把组成电路的元件、器件以及相互间的连线放在单个芯片上,整个电路就在这个芯片上,把这个单个芯片上,整个电路就在这个芯片上,把这个芯片放到管壳中进行封装,电路与外部的连接靠芯片放到管壳中进行封装,电路与外部的连接靠引脚完成。引脚完成。什么是集成电
4、路设计?什么是集成电路设计?根据电路功能和性能的要根据电路功能和性能的要求,在正确选择系统配置、电路形式、器件结构、求,在正确选择系统配置、电路形式、器件结构、工艺方案和设计规则的情况下,尽量减小芯片面工艺方案和设计规则的情况下,尽量减小芯片面积,降低设计成本,缩短设计周期,以保证积,降低设计成本,缩短设计周期,以保证全局全局优化,设计出满足要求的集成电路。优化,设计出满足要求的集成电路。设计的基本过程设计的基本过程 (举例)(举例)功能设计功能设计 逻辑和电路设计逻辑和电路设计 版图设计版图设计集成电路设计的最终输出是掩膜版图,通过制版集成电路设计的最终输出是掩膜版图,通过制版和工艺流片可以
5、得到所需的集成电路。和工艺流片可以得到所需的集成电路。设计与制备之间的接口:版图设计与制备之间的接口:版图主要内容主要内容 IC设计特点及设计信息描述设计特点及设计信息描述 典型设计流程典型设计流程 典型的布图设计方法及可测性设计技术典型的布图设计方法及可测性设计技术设计特点和设计信息描述设计特点和设计信息描述 设计特点设计特点(与分立电路相比与分立电路相比)对设计正确性提出更为严格的要求对设计正确性提出更为严格的要求 测试问题测试问题 版图设计:布局布线版图设计:布局布线 分层分级设计分层分级设计(Hierarchical design)和模块化设计和模块化设计 高度复杂电路系统的要求高度复
6、杂电路系统的要求 什么是分层分级设计?什么是分层分级设计?将一个复杂的集成电路系统的设计问题分解为复杂性较低的设将一个复杂的集成电路系统的设计问题分解为复杂性较低的设计级别,这个级别可以再分解到复杂性更低的设计级别;这样计级别,这个级别可以再分解到复杂性更低的设计级别;这样的分解一直继续到使最终的设计级别的复杂性足够低,也就是的分解一直继续到使最终的设计级别的复杂性足够低,也就是说,能相当容易地由这一级设计出的单元逐级组织起复杂的系说,能相当容易地由这一级设计出的单元逐级组织起复杂的系统。一般来说,级别越高,抽象程度越高;级别越低,细节越统。一般来说,级别越高,抽象程度越高;级别越低,细节越具
7、体具体从层次和域表示分层分级设计思想从层次和域表示分层分级设计思想域:域:行为域:集成电路的功能行为域:集成电路的功能 结构域:集成电路的逻辑和电路组成结构域:集成电路的逻辑和电路组成 物理域:物理域:集成电路掩膜版的几何特性集成电路掩膜版的几何特性和物理特性的具体实现和物理特性的具体实现层次:层次:系统级、算法级、寄存器传输级系统级、算法级、寄存器传输级(也也称称RTL级级)、逻辑级与电路级逻辑级与电路级系统级系统级行为、性行为、性能描述能描述CPU、存储、存储器、控制器器、控制器等等芯片、电路芯片、电路板、子系统板、子系统算法级算法级I/O算法算法硬件模块、硬件模块、数据结构数据结构部件间
8、的物部件间的物理连接理连接RTL级级状态表状态表ALU、寄存、寄存器、器、MUX微存储器微存储器芯片、宏单芯片、宏单元元逻辑级逻辑级布尔方程布尔方程 门、触发器门、触发器 单元布图单元布图电路级电路级微分方程微分方程 晶体管、电晶体管、电阻、电容阻、电容管子布图管子布图设计信息描述设计信息描述 分类分类内容内容语言描述语言描述(如如VHDL 语语言、言、Verilog 语言等语言等)功能描述与逻辑描述功能描述与逻辑描述功能设计功能设计功能图功能图逻辑设计逻辑设计逻辑图逻辑图电路设计电路设计电路图电路图设设计计图图版图设计版图设计符号式版图符号式版图,版图版图举例:举例:x=ab+ab;CMOS
9、与非门;与非门;CMOS反相器版图反相器版图 什么是版图?一组相互套合的图形,各层版图相什么是版图?一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案应于不同的工艺步骤,每一层版图用不同的图案来表示。来表示。版图与所采用的制备工艺紧密相关版图与所采用的制备工艺紧密相关设计流程设计流程 理想的设计流程理想的设计流程(自顶向下:自顶向下:TOP-DOWN)系统功能设计,逻辑和电路设计,版图设计系统功能设计,逻辑和电路设计,版图设计硅编译器硅编译器silicon compiler(算法级、算法级、RTL级向下)级向下)门阵列、标准单元阵列等门阵列、标准单元阵列等逻辑和电路描述逻
10、辑和电路描述系统性能编译器系统性能编译器系统性能指标系统性能指标性能和功能描述性能和功能描述逻辑和电路编译器逻辑和电路编译器几何版图描述几何版图描述版图编译器版图编译器制版及流片制版及流片统统一一数数据据库库典型的实际设计流程典型的实际设计流程 需要较多的人工干预需要较多的人工干预 某些设计阶段无某些设计阶段无自动设计自动设计软件,通过软件,通过模拟模拟分析软分析软件来完成设计件来完成设计 各级设计需要验证各级设计需要验证典型的实际设计流程典型的实际设计流程 1、系统功能设计系统功能设计 目标:实现系统功能,满足基本性能要求目标:实现系统功能,满足基本性能要求过程:过程:功能块划分,功能块划分
11、,RTL级描述,行为仿真级描述,行为仿真 功能块划分功能块划分 RTL级描述(级描述(RTL级级VHDL、Verilog)RTL级行为仿真:总体功能和时序是否正确级行为仿真:总体功能和时序是否正确功能块划分原则:功能块划分原则:既要使功能块之间的连线尽可能地少,接口清既要使功能块之间的连线尽可能地少,接口清晰,又要求功能块规模合理,便于各个功能块晰,又要求功能块规模合理,便于各个功能块各自独立设计。同时在功能块最大规模的选择各自独立设计。同时在功能块最大规模的选择时要考虑设计软件可处理的设计级别时要考虑设计软件可处理的设计级别 算法级:算法级:包含算法级综合:将算法级描述转换到包含算法级综合:
12、将算法级描述转换到 RTL级描述级描述 综综 合:合:通过附加一定的约束条件从高一级设通过附加一定的约束条件从高一级设 计层次直接转换到低一级设计层次的过程计层次直接转换到低一级设计层次的过程逻辑级:逻辑级:较小规模电路较小规模电路实际设计流程实际设计流程系统功能设计系统功能设计 输出:语言或功能图输出:语言或功能图 软件支持:多目标多约束条件优化问题软件支持:多目标多约束条件优化问题 无自动设计软件无自动设计软件 仿真软件:仿真软件:VHDL仿真器、仿真器、Verilog仿真器仿真器实际设计流程实际设计流程2、逻辑和电路设计、逻辑和电路设计概念:确定满足一定逻辑或电路功能的由逻辑或电路单概念
13、:确定满足一定逻辑或电路功能的由逻辑或电路单元组成的逻辑或电路结构元组成的逻辑或电路结构过程:过程:A.数字电路:数字电路:RTL级描述级描述 逻辑综合逻辑综合(Synopsys,Ambit)逻辑网表逻辑网表 逻辑模拟与验证,时序分析和优化逻辑模拟与验证,时序分析和优化 难以综合的:人工设计后进行原理图输入,再进行难以综合的:人工设计后进行原理图输入,再进行逻辑模拟逻辑模拟 电路实现电路实现(包括满足电路性能要求的电包括满足电路性能要求的电路结构和元件参数路结构和元件参数):调用单元库完成;调用单元库完成;没有单元库支持:没有单元库支持:对各单元进行电路设计,对各单元进行电路设计,通过电路模拟
14、与分析,预测电路的直流、交流、通过电路模拟与分析,预测电路的直流、交流、瞬态等特性,之后再根据模拟结果反复修改器瞬态等特性,之后再根据模拟结果反复修改器件参数,直到获得满意的结果。由此可形成用件参数,直到获得满意的结果。由此可形成用户自己的单元库户自己的单元库单元库:单元库:一组单元电路的集合一组单元电路的集合 经过经过优化设计、并通过设计规则检查和反复工艺验证,优化设计、并通过设计规则检查和反复工艺验证,能正确反映所需的逻辑和电路功能以及性能,适合于工能正确反映所需的逻辑和电路功能以及性能,适合于工艺制备,可达到最大的成品率。艺制备,可达到最大的成品率。元件元件 门门 元胞元胞 宏单元(功能
15、块)宏单元(功能块)基于单元库的描述:层次描述基于单元库的描述:层次描述单元库可由厂家提供,可由用户自行建立单元库可由厂家提供,可由用户自行建立 B.模拟电路:尚无良好的综合软件模拟电路:尚无良好的综合软件 RTL级仿真通过后,根据经验进行电路设计级仿真通过后,根据经验进行电路设计 逻辑和电路设计的输出:逻辑和电路设计的输出:网表(元件及其连接关系)或逻网表(元件及其连接关系)或逻辑图、电路图辑图、电路图 软件支持软件支持:逻辑综合、逻辑模拟、电路模拟、时序分析等软:逻辑综合、逻辑模拟、电路模拟、时序分析等软件件(EDA软件系统中已集成软件系统中已集成)电路模拟与验证电路模拟与验证原理图输入原
16、理图输入模拟单元库模拟单元库实际设计流程实际设计流程3.版图设计版图设计概念:根据逻辑与电路功能和性能要求以及工艺概念:根据逻辑与电路功能和性能要求以及工艺水平要求来设计光刻用的掩膜版图,水平要求来设计光刻用的掩膜版图,IC设计的最终输出。设计的最终输出。什么是版图?一组相互套合的图形,各层版图相什么是版图?一组相互套合的图形,各层版图相应于不同的工艺步骤,每一层版图用不同的图案应于不同的工艺步骤,每一层版图用不同的图案来表示。来表示。版图与所采用的制备工艺紧密相关版图与所采用的制备工艺紧密相关版图设计过程:由底向上过程版图设计过程:由底向上过程 主要是布局布线过程主要是布局布线过程 布局:将
17、模块安置在芯片的适当位置,满足一定目标布局:将模块安置在芯片的适当位置,满足一定目标函数。对级别最低的功能块,是指根据连接关系,确函数。对级别最低的功能块,是指根据连接关系,确定各单元的位置,级别高一些的,是分配较低级别功定各单元的位置,级别高一些的,是分配较低级别功能块的位置,使芯片面积尽量小。能块的位置,使芯片面积尽量小。布线:根据电路的连接关系(连接表)在指定区域布线:根据电路的连接关系(连接表)在指定区域(面积、形状、层次)百分之百完成连线。布线均匀,(面积、形状、层次)百分之百完成连线。布线均匀,优化连线长度、保证布通率。优化连线长度、保证布通率。版图设计过程版图设计过程大多数基于单
18、元库实现大多数基于单元库实现(1)软件自动转换到版图,可人工调整(规则芯片)软件自动转换到版图,可人工调整(规则芯片)(2)布图规划()布图规划(floor planning)工具工具 布局布线工具(布局布线工具(place&route)布图规划:布图规划:在一定约束条件下对设计进行物理划分,在一定约束条件下对设计进行物理划分,并初步确定芯片面积和形状、单元区位置、功能块的并初步确定芯片面积和形状、单元区位置、功能块的面积形状和相对位置、面积形状和相对位置、I/O位置,产生布线网格,还可位置,产生布线网格,还可以规划电源、地线以及数据通道分布以规划电源、地线以及数据通道分布(3)全人工版图设计
19、:人工布图规划,提取单元,)全人工版图设计:人工布图规划,提取单元,人工布局布线(由底向上:人工布局布线(由底向上:小功能块到大功能块)小功能块到大功能块)单元库中基本单元单元库中基本单元较小的功能块较小的功能块总体版图总体版图版图检查与验证版图检查与验证布局布线布局布线布局布线布局布线较大的功能块较大的功能块布局布线布局布线布图规划布图规划人工版图设人工版图设计典型过程计典型过程 版图验证与检查版图验证与检查 DRC:几何设计规则检查几何设计规则检查 ERC:电学规则检查电学规则检查 LVS:网表一致性检查网表一致性检查 POSTSIM:后仿真(提取实际版图参数、电阻、电后仿真(提取实际版图
20、参数、电阻、电容,生成带寄生量的器件级网表,进行开关级逻辑模容,生成带寄生量的器件级网表,进行开关级逻辑模拟或电路模拟,以验证设计出的电路功能的正确性和拟或电路模拟,以验证设计出的电路功能的正确性和时序性能等时序性能等),产生测试向量,产生测试向量 软件支持:成熟的软件支持:成熟的CAD工具用于版图编辑、人机交工具用于版图编辑、人机交互式布局布线、自动布局布线以及版图检查和验证互式布局布线、自动布局布线以及版图检查和验证 设计规则设计规则 IC设计与工艺制备之间的接口设计与工艺制备之间的接口 制定目的:使制定目的:使芯片尺寸芯片尺寸在在尽可能小尽可能小的前提下,避的前提下,避免线条宽度的偏差和
21、不同层版免线条宽度的偏差和不同层版套准偏差套准偏差可能带来可能带来的问题,尽可能地的问题,尽可能地提高电路制备的成品率提高电路制备的成品率 什么是设计规则?考虑器件在正常工作的条件下,什么是设计规则?考虑器件在正常工作的条件下,根据实际工艺水平根据实际工艺水平(包括光刻特性、刻蚀能力、对包括光刻特性、刻蚀能力、对准容差等准容差等)和成品率要求,给出的和成品率要求,给出的一组同一工艺层一组同一工艺层及不同工艺层之间几何尺寸的限制及不同工艺层之间几何尺寸的限制,主要包括线,主要包括线宽、间距、覆盖、露头、凹口、面积等规则,分宽、间距、覆盖、露头、凹口、面积等规则,分别给出它们的最小值,以防止掩膜图
22、形的断裂、别给出它们的最小值,以防止掩膜图形的断裂、连接和一些不良物理效应的出现。连接和一些不良物理效应的出现。设计规则的表示方法设计规则的表示方法 以以 为单位:把大多数尺寸(覆盖,出头等等)约为单位:把大多数尺寸(覆盖,出头等等)约定为定为 的倍数的倍数 与工艺线所具有的工艺分辨率有关,线宽偏离理与工艺线所具有的工艺分辨率有关,线宽偏离理想特征尺寸的上限以及掩膜版之间的最大套准偏差,想特征尺寸的上限以及掩膜版之间的最大套准偏差,一般等于栅长度的一半。一般等于栅长度的一半。优点:版图设计独立于工艺和实际尺寸优点:版图设计独立于工艺和实际尺寸 举例:举例:以微米为单位:每个尺寸之间没有必然的比
23、例关系,以微米为单位:每个尺寸之间没有必然的比例关系,提高每一尺寸的合理度;简化度不高提高每一尺寸的合理度;简化度不高 举例:举例:总体要求总体要求系统功能设计系统功能设计寄存器传输级寄存器传输级描述描述寄存器传输级寄存器传输级模拟与验证模拟与验证子系统子系统/功能块功能块综综 合合门级逻辑门级逻辑网表网表逻辑模拟逻辑模拟与验证与验证电路模拟电路模拟与验证与验证版图生成版图生成逻辑图逻辑图电路图电路图最终版图数据最终版图数据与测试向量与测试向量制版制版与工艺流片与工艺流片计算机辅助计算机辅助测试测试(ICCAT)生产定型生产定型工艺模拟工艺模拟版图几何设计规则和版图几何设计规则和电学规则检查电
24、学规则检查网表一致性检网表一致性检查和后仿真查和后仿真 IC设计流程视具体系统而定设计流程视具体系统而定 随着随着 IC CAD系统的发展,系统的发展,IC设计更侧重系统设计设计更侧重系统设计 正向设计,逆向设计正向设计,逆向设计 SoC:IP(Intelligent Proprietary)库库(优化设计优化设计)软核:行为级描述软核:行为级描述firm IP:门级门级 hard IP:版图级,版图级,D/A A/D DRAM,优化的深亚微米电路等优化的深亚微米电路等 IC设计与电路制备相对独立的新模式设计与电路制备相对独立的新模式 Foundry的出现的出现VDSM电路设计对设计流程的影响
25、电路设计对设计流程的影响美国国家半导体协会美国国家半导体协会(SIA)预测预测 年份年份 1999 2001 2003 2006 2009 2012 密集线条:半节距密集线条:半节距(m)0.18 0.15 0.13 0.10 0.07 0.05 缩小率缩小率-0.83 0.86 0.77 0.70 0.71 孤立线条:孤立线条:MPU栅长栅长(m)0.14 0.12 0.10 0.07 0.05 0.035 缩小率缩小率-0.86 0.83 0.70 0.71 0.70 DRAM 样品样品 1G-4G 16G 64G 256G DRAM 批量产品批量产品 256M 1G 1G 4G 16G
26、64G VDSM电路设计对设计流程的影响电路设计对设计流程的影响时序问题突出,互连延迟超过门延迟,逻辑设计时序问题突出,互连延迟超过门延迟,逻辑设计用的互连延迟模型与实际互连延迟特性不一致,用的互连延迟模型与实际互连延迟特性不一致,通过逻辑设计的时序在布局布线后不符合要求。通过逻辑设计的时序在布局布线后不符合要求。在逻辑设计阶段加入物理设计的数据在逻辑设计阶段加入物理设计的数据 综合优化中的关键路径以综合优化中的关键路径以SDF格式传给布图规划,格式传给布图规划,初步的连线延迟再传给综合优化工具(以初步的连线延迟再传给综合优化工具(以PDEF格格式)式)布局后将更精确的互连信息通过布局后将更精
27、确的互连信息通过FLOORPLAN TOOL传给综合优化工具,进行布局迭代传给综合优化工具,进行布局迭代 时延驱动布线,完成后进行延迟计算和时序分析,时延驱动布线,完成后进行延迟计算和时序分析,布线迭代布线迭代VDSM电路设计对设计流程的影响电路设计对设计流程的影响 布图时面向互连,先布互连网,再布模块布图时面向互连,先布互连网,再布模块 集成度提高:集成度提高:可重用(可重用(REUSE)模块模块 IP模块模块 针对各针对各 IP模块和其他模块进行布图规划,如何对模块和其他模块进行布图规划,如何对IP模块等已设计好的模块进行处理模块等已设计好的模块进行处理 功耗问题,尤其高层次设计中考虑功耗
28、问题,尤其高层次设计中考虑 布图中寄生参数提取变成三维问题布图中寄生参数提取变成三维问题布图设计方法(布图风格划分)布图设计方法(布图风格划分)全定制设计方法、半定制设计方法、可编程逻辑全定制设计方法、半定制设计方法、可编程逻辑器件以及基于这些方法的兼容设计方法器件以及基于这些方法的兼容设计方法 设计方法选取的主要依据:设计方法选取的主要依据:设计周期、设计成本、设计周期、设计成本、芯片成本、芯片尺寸、设计灵活性、保密性和可靠性等芯片成本、芯片尺寸、设计灵活性、保密性和可靠性等 最主要的:设计成本在芯片成本中所占比例最主要的:设计成本在芯片成本中所占比例 芯片成本芯片成本CT:ynCVCCPD
29、T小批量的产品:减小设计费用;小批量的产品:减小设计费用;大批量的产品:提高工艺水平,减小芯片尺寸,大批量的产品:提高工艺水平,减小芯片尺寸,增大圆片面积增大圆片面积全定制设计全定制设计版图设计时采用人工设计,对每个器件进行优化,版图设计时采用人工设计,对每个器件进行优化,芯片性能获得最佳,芯片尺寸最小芯片性能获得最佳,芯片尺寸最小设计周期长,设计成本高,适用于性能要求极高设计周期长,设计成本高,适用于性能要求极高或批量很大的产品,模拟电路或批量很大的产品,模拟电路符号式版图设计:用一组符号式版图设计:用一组事先定义好的符号事先定义好的符号来表来表示版图中示版图中不同层版不同层版之间的信息,通
30、过自动转换程之间的信息,通过自动转换程序转换序转换 举例:棍图:棍形符号、不同颜色举例:棍图:棍形符号、不同颜色不必考虑设计规则的要求;设计灵活性大不必考虑设计规则的要求;设计灵活性大符号间距不固定,进行版图压缩,减小芯片面积符号间距不固定,进行版图压缩,减小芯片面积V VDDDDV Vssss 专用集成电路(专用集成电路(ASIC:Application-Specific Integrated Circuit)()(相对通用电路而言)相对通用电路而言)针对某一应用或某一客户的特殊要求设计的集成电路针对某一应用或某一客户的特殊要求设计的集成电路 批量小、单片功能强:降低设计开发费用批量小、单片
31、功能强:降低设计开发费用主要的主要的ASIC设计方法:设计方法:门阵列设计方法:半定制门阵列设计方法:半定制标准单元设计方法:定制标准单元设计方法:定制 掩膜版方法掩膜版方法积木块设计方法:定制积木块设计方法:定制可编程逻辑器件设计方法可编程逻辑器件设计方法门阵列设计方法(门阵列设计方法(GA方法)方法)概念:概念:形状和尺寸完全相同的单元排列成阵形状和尺寸完全相同的单元排列成阵列,每个单元内部含有若干器件,单元之间留列,每个单元内部含有若干器件,单元之间留有布线通道,通道宽度和位置固定,并预先完有布线通道,通道宽度和位置固定,并预先完成接触孔和连线以外的芯片加工步骤,形成母成接触孔和连线以外
32、的芯片加工步骤,形成母片片 根据不同的应用,设计出不同的接触孔版和金根据不同的应用,设计出不同的接触孔版和金属连线版,单元内部连线及单元间连线实现所属连线版,单元内部连线及单元间连线实现所需电路功能需电路功能 母片半定制技术母片半定制技术门阵列集成电路芯片的显微照片门阵列集成电路芯片的显微照片门阵列结构门阵列结构单元区结构:单元区结构:举例:六管举例:六管CMOS单元单元 由该结构实现三输入或非门由该结构实现三输入或非门 输入输入/输出单元:芯片四周输出单元:芯片四周 举例:图举例:图5.16,输入、输出、电源,输入、输出、电源 输入保护输入保护(防止栅击穿防止栅击穿):嵌位二极管、保护电阻:
33、嵌位二极管、保护电阻 输出驱动:宽长比大的器件(梳状或马蹄状)输出驱动:宽长比大的器件(梳状或马蹄状)Vsspoly 栅Vdd布线通道参考孔有源区N+P+寄存器传输寄存器传输级行为描述级行为描述逻辑网表逻辑网表逻辑模拟逻辑模拟制版制版/流片流片/测试测试/封装封装设计中心设计中心Foundry向向Foundry提供提供网表网表布局布线布局布线掩膜版图掩膜版图版图检查版图检查/网表和参数网表和参数提取提取/网表一致性检查网表一致性检查后仿真后仿真产生测试向量产生测试向量行为仿真行为仿真逻辑图逻辑图综合综合生成延迟生成延迟文件文件单元库单元库门阵列设计过程门阵列设计过程门阵列方法的设计特点:设计周
34、期短,设计成本门阵列方法的设计特点:设计周期短,设计成本低,适合设计适当规模、中等性能、要求设计时低,适合设计适当规模、中等性能、要求设计时间短、数量相对较少的电路间短、数量相对较少的电路不足:设计灵活性较低;门利用率低;芯片面积不足:设计灵活性较低;门利用率低;芯片面积浪费浪费门海设计技术:一对不共栅的门海设计技术:一对不共栅的P管和管和N管组成的基管组成的基本单元铺满整个芯片,布线通道不确定(可将基本单元铺满整个芯片,布线通道不确定(可将基本单元链改成无用器件区走线),宏单元连线在本单元链改成无用器件区走线),宏单元连线在无用器件区上进行无用器件区上进行门利用率高,集成密度大,布线灵活,保
35、证布线门利用率高,集成密度大,布线灵活,保证布线布通率布通率 仍有布线通道,增加通道是单元高度的整数倍,仍有布线通道,增加通道是单元高度的整数倍,布线通道下的晶体管不可用布线通道下的晶体管不可用激光扫描阵列:特殊的门阵列设计方法激光扫描阵列:特殊的门阵列设计方法 对于一个特殊结构的门阵列母片,片上晶体管和对于一个特殊结构的门阵列母片,片上晶体管和逻辑门之间都有电学连接,逻辑门之间都有电学连接,用专门的激光扫描光用专门的激光扫描光刻设备切断不需要连接处的连线刻设备切断不需要连接处的连线,实现,实现ASIC功能。功能。只需一步刻铝工艺,加工周期短;只需一步刻铝工艺,加工周期短;采用激光扫描曝光,省
36、去了常规门阵列方法中的采用激光扫描曝光,省去了常规门阵列方法中的制版工艺。但制备时间较长。制版工艺。但制备时间较长。一般用于小批量一般用于小批量(2002000块块)ASIC的制造的制造 标准单元设计方法(标准单元设计方法(SC方法)方法)一种库单元设计方法一种库单元设计方法 概念:概念:从标准单元库中调用事先经过精心设计的逻辑单从标准单元库中调用事先经过精心设计的逻辑单元,并排列成行,行间留有可调整的布线通道,再按功能元,并排列成行,行间留有可调整的布线通道,再按功能要求将各内部单元以及输入要求将各内部单元以及输入/输出单元连接起来,形成所输出单元连接起来,形成所需的专用电路需的专用电路芯片
37、布局:芯片布局:芯片中心是单元区,输入芯片中心是单元区,输入/输出单元和压焊块输出单元和压焊块在芯片四周,基本单元具有等高不等宽的结构,布线通道在芯片四周,基本单元具有等高不等宽的结构,布线通道区没有宽度的限制,利于实现优化布线。区没有宽度的限制,利于实现优化布线。标准单元库:标准单元库中的单元是用人工标准单元库:标准单元库中的单元是用人工优化设计优化设计的,力求的,力求达到最小的面积和最好的性能,完成设计规则检查和电学验证达到最小的面积和最好的性能,完成设计规则检查和电学验证描述电路单元在不同层级的属性的一组数据描述电路单元在不同层级的属性的一组数据逻辑符号(逻辑符号(L):):单元名称与符
38、号、单元名称与符号、I/O端:用于逻辑图端:用于逻辑图功能描述功能描述电路结构、电学指标电路结构、电学指标拓扑版图(拓扑版图(O):):拓扑单元名、单元宽度高度、拓扑单元名、单元宽度高度、I/O位置及名称位置及名称掩膜版图(掩膜版图(A)举例:举例:不同设计阶段调用不同描述不同设计阶段调用不同描述 标准单元库主要包括标准单元库主要包括 与非门、或非门、触发器、锁存器、移位寄存器与非门、或非门、触发器、锁存器、移位寄存器 加法器、乘法器、除法器、算术运算单元、加法器、乘法器、除法器、算术运算单元、FIFO等较大规模单元等较大规模单元 模拟单元模块:振荡器、比较器等模拟单元模块:振荡器、比较器等
39、同一功能的单元有几种不同的类型,视应用不同选择同一功能的单元有几种不同的类型,视应用不同选择 标准单元设计标准单元设计 基本排列形式:基本排列形式:双边双边I/O、单边单边I/O、连线单元(单层布线中连线单元(单层布线中用得较多、跨单元连线)用得较多、跨单元连线)走线:走线:电源和地线一般要求从单元左右边进出,信号端从上下进出。可电源和地线一般要求从单元左右边进出,信号端从上下进出。可以在单元内部或单元边界以在单元内部或单元边界电源线可以放在单元外,在布线通道内,便于根据单元功率要求电源线可以放在单元外,在布线通道内,便于根据单元功率要求调整宽度,从各单元引出端口调整宽度,从各单元引出端口电源
40、线水平金属线,信号线用第二层金属或垂直多晶硅线,单元电源线水平金属线,信号线用第二层金属或垂直多晶硅线,单元内部连线用第一层金属和多晶硅,内部连线用第一层金属和多晶硅,单元之间连线在走线通道内单元之间连线在走线通道内 单元拼接单元拼接 单元高度:器件宽度,(考虑最小延迟,最省面积,足够高度单元高度:器件宽度,(考虑最小延迟,最省面积,足够高度以保证电源线、地线、单元内部连线)以保证电源线、地线、单元内部连线)SC方法设计流程与门阵列类似方法设计流程与门阵列类似 SC方法特点:方法特点:需要全套掩膜版,属于定制设计方法需要全套掩膜版,属于定制设计方法门阵列方法:合适的母片,固定的单元数、压焊块门
41、阵列方法:合适的母片,固定的单元数、压焊块数和通道间距数和通道间距 标准单元方法:可变的单元数、压焊块数、通道间距,标准单元方法:可变的单元数、压焊块数、通道间距,布局布线的自由度增大布局布线的自由度增大较高的芯片利用率和连线布通率较高的芯片利用率和连线布通率依赖于标准单元库,依赖于标准单元库,SC库建立需较长的周期和较高库建立需较长的周期和较高的成本,尤其工艺更新时的成本,尤其工艺更新时适用于中批量或者小批量但是性能要求较高的芯片设计适用于中批量或者小批量但是性能要求较高的芯片设计积木块设计方法:积木块设计方法:BBL方法方法(通用单元设计方法)(通用单元设计方法)布图特点:任意形状的单元(
42、一般为矩形或布图特点:任意形状的单元(一般为矩形或“L”L”型)、任意位置、无布线通道型)、任意位置、无布线通道BBL单元:较大规模的功能块(如单元:较大规模的功能块(如ROM、RAM、ALU或模拟电路单元等),单元可以用或模拟电路单元等),单元可以用GA、SC、PLD或全定制方法设计或全定制方法设计设计过程:可以基于设计过程:可以基于Foundry提供的单元库,更提倡提供的单元库,更提倡用自己的单元库用自己的单元库 平面布置:影响延迟的单元靠近安放平面布置:影响延迟的单元靠近安放 软件预估性能软件预估性能 详细布图详细布图 后仿真后仿真 BBL方法特点:较大的设计自由度,可以方法特点:较大的
43、设计自由度,可以在版图和性能在版图和性能上得到最佳的优化上得到最佳的优化布图算法发展中:通道不规则,连线端口布图算法发展中:通道不规则,连线端口在单元四周,位置不规则在单元四周,位置不规则可编程逻辑器件设计方法(可编程逻辑器件设计方法(PLD方法)方法)概念:概念:用户通过生产商提供的通用器件自行进行现场编用户通过生产商提供的通用器件自行进行现场编程和制造,或者通过对与或矩阵进行掩膜编程,得到所需程和制造,或者通过对与或矩阵进行掩膜编程,得到所需的专用集成电路的专用集成电路编程方式:编程方式:现场编程:现场编程:采用熔断丝、电写入等方法对已制备好的采用熔断丝、电写入等方法对已制备好的PLD器件
44、实现编程,不需要微电子工艺,利用相应的器件实现编程,不需要微电子工艺,利用相应的开发工具就可完成设计,有些开发工具就可完成设计,有些PLD可多次擦除,易于可多次擦除,易于系统和电路设计。系统和电路设计。掩膜编程:掩膜编程:通过设计掩膜版图来实现所需的电路功能,通过设计掩膜版图来实现所需的电路功能,但由于可编程逻辑器件的规则结构,设计及验证比较但由于可编程逻辑器件的规则结构,设计及验证比较容易实现。容易实现。可编程逻辑器件分类可编程逻辑器件分类 ROM、EPROM、EEPROM、PLA、PAL、GAL 可编程逻辑阵列(可编程逻辑阵列(PLA):):实现数字逻辑实现数字逻辑基本思想:组合逻辑可以转
45、换成与基本思想:组合逻辑可以转换成与-或逻辑或逻辑 基本结构:基本结构:PLA基本结构基本结构“与与”矩阵矩阵“或或”矩阵矩阵X1X2XnP1PmO1O2O3Op将将“与与”矩阵或矩阵或“或或”矩阵的格点上是否有晶体管作矩阵的格点上是否有晶体管作为选择,编程出任意逻辑。采用不规则的晶体管位置为选择,编程出任意逻辑。采用不规则的晶体管位置实现一定的逻辑,但晶体管可能的位置是规则的实现一定的逻辑,但晶体管可能的位置是规则的举例:举例:尽量采用尽量采用“或非或非”门门baabO1babaO2nnxxxxxxxxO321321时钟时钟2 2O O2 2O O1 1时钟时钟1 1a ab bV VDDD
46、DV VDDDDPMOSPMOS管管 NMOSNMOS管管可编程阵列逻辑(PAL)和通用阵列逻辑(GAL)PAL:固定或矩阵(八个输入端即可满足逻辑组固定或矩阵(八个输入端即可满足逻辑组合要求),可编与矩阵(输入项可增多)合要求),可编与矩阵(输入项可增多)结构简化、工艺简单结构简化、工艺简单 现场编程现场编程 不同输出结构选用不同的不同输出结构选用不同的PAL器件器件GAL:固定或矩阵:固定或矩阵:浮栅工艺:浮栅工艺:控制栅上施加足够高的电压且漏端接地时,控制栅上施加足够高的电压且漏端接地时,浮栅上将存储负电荷,当控制栅接地而漏端加适当的正电浮栅上将存储负电荷,当控制栅接地而漏端加适当的正电
47、压时,浮栅将放电,实现了电编程;具有不挥发性,掉电压时,浮栅将放电,实现了电编程;具有不挥发性,掉电后不用重新编程后不用重新编程提高可编程速度和器件速度提高可编程速度和器件速度电擦写,可重复编程,不需要窗口式的封装电擦写,可重复编程,不需要窗口式的封装 输出逻辑单元有一些考虑:可编程可重新配置输出逻辑单元有一些考虑:可编程可重新配置 具有安全保护单元具有安全保护单元 编程方式:现场编程编程方式:现场编程 PAL 和和GAL的器件密度较低,几百门的器件密度较低,几百门 近年来出现高密度可编程逻辑器件近年来出现高密度可编程逻辑器件HDPLD、系统内编程逻辑器件系统内编程逻辑器件IS-PLD Lat
48、tice的的 pLSI1000,2000,3000系列,系列,14000门门 HDPLD:集总布线区(集总布线区(GRP:global routing pool):):用于内部逻辑用于内部逻辑连接连接 四周通用逻辑块(四周通用逻辑块(GLB)、)、输出布线区(输出布线区(ORP:GLB输出输出与管脚之间互连)输入总线与管脚之间互连)输入总线IB 可实现高速控制器等,可实现高速控制器等,DSP、数据加密等子系统数据加密等子系统系统内编程逻辑器件系统内编程逻辑器件IS-PLD(in system-programmable logic device):):带串行接口及使带串行接口及使能端(用作串口或
49、正常信号端)能端(用作串口或正常信号端)串行口:数据输入、数据输出、时钟、模式选择串行口:数据输入、数据输出、时钟、模式选择具有具有GAL和和HDPLD的可编程、再配置功能的可编程、再配置功能 可编程、再配置在系统内或可编程、再配置在系统内或PCB板上进行板上进行 消除管脚多次弯曲消除管脚多次弯曲 易于进行电路版级测试易于进行电路版级测试 一块电路板有不同功能:硬件软件化一块电路板有不同功能:硬件软件化现场可编程门阵列现场可编程门阵列(FPGA)(逻辑单元阵列)逻辑单元阵列)集成度高,使用灵活,引脚数多集成度高,使用灵活,引脚数多(可多达可多达100多条多条),可以实现更为复杂的逻辑功能可以实
50、现更为复杂的逻辑功能 不是与或结构,以可配置逻辑功能块不是与或结构,以可配置逻辑功能块(configurable logic block)排成阵列,功能块间排成阵列,功能块间为互连区,输入为互连区,输入/输出功能块输出功能块IOB可编程的内部连线:特殊设计的通导晶体管和可可编程的内部连线:特殊设计的通导晶体管和可编程的开关矩阵编程的开关矩阵 CLB、IOB的配置及内连编程通过存储器单元阵的配置及内连编程通过存储器单元阵列实现列实现现场编程现场编程XILINX:用用SRAM存储内容控制互连:允许修改存储内容控制互连:允许修改 配置程序配置程序 存储器单元阵列中各单元状态存储器单元阵列中各单元状态