IC设计总结文档11.1微电子技术概述1.1.1集成电路的发展回顾全球集成电路发展的路程,基本上可以总结为六个阶段:第一阶段:1962年制造出包含12个晶体管的小规模集成电路(SSI,Small-ScaleIntegration)。第二阶段:1966年发展到集成度为100~1000个晶体管的中规模集成电路(MSI,Medium-ScaleIntegration)。第三阶段:1967~1973年,研制出1000~100000个晶体管的大规模集成电路(LSI,Large-ScaleIntegration)。第四阶段:1977年研制出在30平方毫米的硅晶片上集成15万个晶体管的超大规模集成电路(VLSI,VeryLarge-ScaleIntegration)。这是电子技术的第4次重大突破,从此真正迈入了微电子时代。第五阶段:1993年随着集成了1000万个晶体管的16MBFLASH和256MBDRAM的研制成功,进入了特大规模集成电路(ULSI,UltraLarge-ScaleIntegration)时代。第六阶段:1994年由于集成1亿个元件的1GBDRAM的研制成功,进入巨大规模集成电路(GSI,GigaScaleIntegration)时代。1.1.2集成电路产业分工微电子技术的迅速发展得益于集成电路产业内部的细致分工。目前,集成电路产业链主要包括设计、制造、封装和测试,如图所示。在这历史过程中,世界IC产业为适应技术的发展和市场的需求,其产业结构经历了3次重大变革。1、以生产为导向的初级阶段20世纪60年代的集成电路产业就是半导体产业,IC设计只是附属产品。70年代出现独立的IC厂家设计IC产品。2、Foundry与Fabless设计公司的崛起20世纪80年代,工艺设备生产能力已经相当强大,但是费用十分昂贵,IC厂家自己的设计不足以供其饱和运行,因此开始承接对外加工,继而由部分到全部对外加工,形成了Foundry加工和Fabless设计的分工。Foundry:芯片代工厂的简称,不搞设计,没有自己的IC产品,为Fabless提供完全意义上的代工,这使得Fabless可以放心地把产品交给Foundry而无需担心知识产权外流。Fabless:半导体集成电路行业中无生产线设计公司的简称。Fabless开拓市场后进行产品设计,将设计的成果外包给Foundry厂家进行芯片生产,生产出来的芯片经过封装测试后由设计公司自己销售。3、“四业分离”的IC产业IC设计总结文档220世纪90年代,IC产业结构开始向高度专业化转变,开始形成设计、制造、封装、测试独立成型的局面。这次分工的另一个特征是:系统设计和IP(知识产权)设计开始分工,它对集成电路产业的影响不亚于20世纪80年代Foundry与Fabless的分工。1.2SoC概述随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成,现在又发展到IP的集成,即SoC(System-on-a-Chip)设计技术,SoCdesign=systemarchitecture+IC。在经过了多年的争论后,专家们就SoC的定义达成了一致意见。这个定义虽然不是非常严格,但明确地表明了SoC的特征:①实现复杂系统功能的VLSI;采用超深亚微米工艺技术;②使用一个以上嵌入式CPU/数字信号处理器(DSP);③外部可以对芯片进行编程;注:晶圆:指硅半导体集成电路所用的硅晶片,由于其形状为圆形,故称为晶圆,晶圆是生产集成电路所用的载体。晶圆越大,同一圆片上可生产的IC就越多,可降低成本;但对材料技术和生产技术的要求更高,一般认为硅晶圆的直径越大,代表这座晶圆厂有更好的技术,在生产晶圆的过程当中,良品率是很重要的条件。工艺等级:通常把0.8~0.35um称为亚微米,0.25um及其以下称为深亚微米,0.18um或以下称为超深亚微米,0.05um及其以下称为纳米级。SoC中包含了微处理器/微控制器、存储器以及其他专用功能逻辑(DSP等),但并不是包含了微处理器、存储器以及其他专用功能逻辑的芯片就是SoC。SoC技术被广泛认同的根本原因,并不在于SoC可以集成多少个晶体管,而在于SoC可以用较短时间被设计出来。这是SoC的主要价值所在——缩短产品的上市周期,因此,SoC更合理的定义为:SoC是在一个芯片上由于广泛使用预定制模块IP(IntellectualProperty)而得以快速开发的集成电路。从设计上来说,SoC就是一个通过设计复用达到高生产率的硬件软件协同设计的过程。从方IC设计总结文档3法学的角度来看,SoC是一套极大规模集成电路的设计方法学,包括IP核可复用设计/测试方法及接口规范、系统芯片总线式集成设计方法学、系统芯片验证和测试方法学。SoC是一种设计理念,就是将各个可以集成在一起的模块集成到一个芯片上,他借鉴了软件的复用概念,也有了继承的概念。也可以说是包含了设计和测试等更多技术的一项新的设计技术。SoC的一般构成:从大处来分,SoC含有:1.逻辑核包括CPU、时钟电路、定时器、中断控制器、串并行接口、其它外围设备、I/O端口以及用于各种IP核之间的粘合逻辑等等;2.存储器核包括各种易失、非易失以及Cache等存储器;3.模拟核包括ADC、DAC、PLL以及一些高速电路中所用的模拟电路。现在的SoC芯片上可综合实现CPU、DSP、数字电路、模拟电路、存储器、片上可编程逻辑等多种电路;综合实现图像处理、语音处理、通信协议、通信机能、数据处理等功能。SoC按用途可分为两种类型:一种是专用SoC芯片,是专用集成电路(ASIC)向系统级集成的自然发展;另一种是通用SoC芯片,将绝大多数部件,如CPU、DSP、RAM、I/O等集成在芯片上,同时提供用户设计所需要的逻辑资源和软件编程所需的软件资源。IP核是具有复杂系统功能的能够独立出售的VLSI块,经过验证并能在设计中复用的功能模块。IC设计总结文档42SoC设计流程2.1软硬件协同设计SoC通常被称作系统级芯片或者片上系统,作为一个完整的系统,其包含硬件和软件两部分内容。这里所说的硬件指SoC芯片部分,软件是指运行在SoC芯片上的系统及应用程序。既然它是由软件和硬件组合而成,则在进行系统设计时,就必须同时从软件和硬件的角度去考虑。软硬件协同设计的SoC设计流程一个完整的SoC设计包括系统结构设计(也称为架构设计),软件结构设计和ASIC设计(硬件设计)。IC设计总结文档5SoC设计与传统的ASIC设计最大的不同在于以下两方面:1)SoC设计更需要了解整个系统的应用,定义出合理的芯片架构,使得软硬件配合达到系统最佳工作状态。因而,软硬件协同设计被越来越多地采用。2)SoC设计是以IP复用或更大的平台复用为基础的。因而,基于IP复用的设计是硬件实现的特点。1.系统需求说明系统设计首先从确定所需的功能开始,包含系统基本输入和输出及基本算法需求,以及系统要求的功能、性能、功耗、成本和开发时间等。在这一阶段,通常会将用户的需求转换为用于设计的技术文档,并初步确定系统的设计流程。2.高级算法建模与仿真设计者将使用如C和C++等高级语言创建整个系统的高级算法模型和仿真模型。目前,一些EDA工具可以帮助我们完成这一步骤。有了高级算法模型,便可以得到软硬件协同仿真所需的可执行的说明文档。此类文档会随着设计进程的深入而不断地完善和细化。3.软硬件划分过程设计者通过软硬件划分来决定哪些功能应该由硬件完成,哪些功能应该由软件来实现。这是一个需要反复评估-修改直至满足系统需求的过程。软硬件划分的合理性对系统的实现至关重要。有些功能既可以用软件实现也可以用硬件实现,这取决于所要达到的性能指标与实现的复杂程度及成本口4.软硬件同步设计由于软硬件的分工已明确,芯片的架构及同软件的接口也已定义,接下来便可以进行软硬件的同步设计了。其中硬件设计包括RTL设计和集成、综合、布局布线及最后的流片。软件设计则包括算法优化、应用开发,以及操作系统、接口驱动和应用软件的开发。2.2下面主要介绍硬件(芯片)设计:基于标准单元的SoC芯片设计流程1.硬件设计定义说明硬件设计定义说明描述芯片总体结构、规格参数、模块划分、使用的总线,以及各个模块的详细定义等。2.模块设计及IP复用根据所划分出的功能模块,确定需要重新设计的部分及可复用的IP核,对于需要重新设计的模块进行设计;对于可复用的IP核,通常由于总线接口标准不一致需要做一定的修改。IP核可自主研发或者购买其他公司的IP。目前,设计的输入是采用硬件描述语言(HDL),如Verilog或VHDL,所以,数字模块的设计通常称为RTL代码编写。IC设计总结文档63.顶层模块集成顶层模块集成是将各个不同的功能模块,包括新设计的与复用的整合在一起,形成一个完整的设计。通常采用硬件描述语言对电路进行描述,其中需要考虑系统时钟/复位、I/O环等问题。4.前仿真前仿真也叫RTL级仿真,功能仿真。通过HDL仿真器验证电路逻辑功能是否有效,及HDL描述是否符合设计所定义的功能期望。在前仿真时,通常与具体的电路物理实现无关,没有时序信息。5.逻辑综合逻辑综合是指使用EDA工具把由硬件描述语言设计的电路自动转换成特定工艺下的网表,即从RTL级的HDL描述通过编译与优化产生符合约束条件的门级网表。网表是一种描述逻辑单元和他们之间互连的数据文件。约束条件包括时序、面积和功耗的约束。其中,时序是最复杂和最关键的约束,决定了整个芯片的性能。在综合过程中,EDA工具会根据约束条件对电路进行优化,优化(这里指的是初次逻辑综合优化)的主要目的是在满足时序要求的前提下尽量减小芯片面积。与工艺无关的优化缺乏非常准确的时序信息,因而注意力往往集中在优化面积上。等到映射之后时序信息比较准确时再进行修正更有效。6.版图布局规划版图布局规划完成的任务是确定设计中各个模块在版图上的位置,主要包括:▲I/O规划,确定I/O的位置,定义电源和接地口的位置;▲模块放置,定义各种物理的组、区域或模块,对这些大的宏单元进行放置;▲供电设计,设计整个版图的供电网络,基于电压降(IRDrop)和电迁移进行拓扑优化。版图布局规划的挑战是在保证布线能够走通且性能允许的前提下,如何最大限度地减少芯片面积,是物理设计过程中需要设计者付出最大努力的地方之一。7.功耗分析▲在设计中的许多步骤都需要对芯片功耗进行分析,从而决定是否需要对设计进行改进。▲在版图布局规划后,需要对电源网络进行功耗分析(PNA,PowerNetworkAnalysis),确定电源引脚的位置和电源线宽度。▲在完成布局布线后,需要对整个版图的布局进行动态功耗分析和静态功耗分析。▲除了对版图进行功耗分析以外,还应通过仿真工具快速计算动态功耗,找出主要的功耗模块或单元。8.单元布局和优化单元布局和优化主要定义每个标准单元的摆放位置并根据摆放的位置进行优化。现在,EDA工具广泛支持物理综合,即将布局和优化与逻辑综合统一起来,引入真实(实际)的连线延时信息,减少了时序收敛所需要的迭代次数。IC设计总结文档7注:综合(synthesis):就是把思想转换为实现欲想功能的可制造的设计,综合是约束驱动和基于路径的:在进行综合时,对时序的约束和优化都是针对路径的,优化时序就是优化路径上的时序,因为选定工艺后,单元的建立保持时间是固定的,因此只有改变路径来满足约束,综合工具总是计算路径的延时,并根据逻辑单元对时序的要求来判断综合结果中的路径是否满足设计要求。在逻辑设计中,时序路径延时通常由组合逻辑延时和布线延时组成,其中布线延时可以通过工具优化,而组合逻辑延时属于器件延时,因此如何在设计阶段进行优化以减少组合逻辑延时(减少组合逻辑的器件级数)是我们需要考虑的。在0.13微米以前的工艺时,互连线上延迟非常的不明显,标准单元的延迟占绝对主导因素,因此在逻辑综合后,网表就被直接拿来进行布局布线,时序往往也没有问题。然而自0.13微米的工艺以来,连线延时越来越起主导作用了。物理综合是将逻辑综合和布局布线结合起来设计方法学。简单地说,物理综合工具除了具有原来逻辑