数字专用集成电路设计12集成电路设计方法学北京理工大学雷达技术研究所陈禾主要内容•专用集成电路概念及分类•ASIC设计过程•ASIC设计技术发展趋势专用集成电路概念及分类•ASIC概念–广义•面向专门用途而区别于标准逻辑电路、通用存储器及通用微处理器电路的IC–狭义•它是根据某一用户的特定要求,能以低制作成本、短交货周期供货的半定制、定制电路以及PLD和FPGA电路。–ASSP“今天的线路板就是明天的专用电路”专用集成电路概念及分类ASIC树专用集成电路概念及分类•ASIC电路设计目标–衡量一个芯片的设计性能指标,主要有以下参数确定:•芯片的性能,包括速度、功耗、功能•版图布局密度,即芯片的面积•设计所花费的时间•可测试性,芯片是否易于测试–ASIC设计就是使以上参数都达到满意的结果而不断进行折中选择的过程。专用集成电路概念及分类•目标:能在尽可能短的时间内以最低的成本来获得最佳的设计指标,而所用的芯片面积应是最小的。•实际上要全面达到这种要求是很困难的,只能进行某种折衷。–为了提高芯片的性能,就要采用最佳的随机逻辑网络,并把芯片设计得最紧凑,节省每一小块面积。–但是很多产品,产量不大或者不允许设计的时间过长,这是只能对芯片面积或性能做出某种牺牲,并尽可能采用一部分已有的、规则结构的版图。–为了争取时间或市场,也可先用最短的时间设计出芯片,在占领市场的过程中,再予以改进。•设计人员可以根据不同的要求选择现有的各种设计方法。ASIC设计方法分类•全定制法(full-customdesignapproach)–全定制版图设计的特点是针对每个晶体管进行电路参数和版图参数的优化,这样可以得到最佳的性能,即密度最高、速度最快、功耗最小。–缺点是设计周期长,设计成本高,工作效率很低,已不适应复杂电路的版图设计。–对于具有重复性结构的网络,如ROM、RAM、RISC、阵列机等,它不仅很有效,而且非常必要。对这些网络中的单元进行精心的人工设计,然后利用人机交互图形系统所具有的重复或形成矩阵的功能得到整个网络的结构,其效率仍然很高。–通常ASIC设计很少采用这种全定制方法。ASIC设计方法分类•半定制法(semi-customdesignapproach)–半定制设计方法是一种母片半定制技术。即预先完成除接触孔和连线以外的所有芯片加工步骤,根据不同的应用,设计者只需设计和制作接触孔和连线,以完成特定的电路要求。–这样就使设计到芯片制作完成的整个周期大大缩短,设计和制造成本大大下降。但门阵列的门利用率较低,芯片面积比定制设计和全定制设计的芯片要大。–半定制包括门阵列和门海两种。ASIC设计方法分类•门阵列–门阵列总体结构I/O焊盘布线通道块单元行单元ASIC设计方法分类•门阵列单元区结构共栅四管单元电路及其版图不共栅四管单元电路及其版图VDDVSSVDDVSSASIC设计方法分类•门阵列是预先在芯片上已生成了由基本门或单元组成的阵列,完成了连线以外的所有芯片加工工序。因此,同全定制、定制相比具有以下几点优势:–从设计到芯片的制作完成整个周期大大缩短,设计成本大大下降–易于采用先进的工艺。门阵列库中只有与非门、或非门这样的基本单元,它比标准单元库简单得多–当工艺改变或单元结构需要变化时,只需作较少的修改ASIC设计方法分类•门阵列缺点是:–由于门阵列具有高度规则结构,设计的灵活性较低,门的利用率也较低。–由于布线通道的限制,并不能保证100%的布通率,这时需要花费大量的时间进行人工干预。–相对于全定制方法,门阵列的面积较大,速率较低,功耗较大。–由于单元之间存在很宽的布线通道,因而无法实现像ROM、RAM等这类规则结构的电路。•门阵列适用于设计要求成本低、设计周期短而生产批量又比较小的芯片设计。一般采用此法设计出产品并迅速投入市场,在占领市场之后再用其他的方法进行一次“再设计”。ASIC设计方法分类•门海阵列–门海阵列是为了克服门阵列芯片利用率较低的缺点而提出的一种结构。该结构去掉了门阵列中的布线通道,用基本单元占据整个阵列分布区。基本单元之间无氧化隔离区,宏单元之间采用栅隔离技术,宏单元之间的连线将在无用的有效器件区上进行。I/O焊盘无专门布线通道的有源区ASIC设计方法分类•定制法(customdesignapproach)–它是用于芯片性能指标比较高而生产批量又比较大的产品设计。–通常分为两种:标准单元法和通用单元法。标准单元设计法•标准单元及标准单元设计法–标准单元是由IC制造商利用全定制的方法精心设计并模拟验证通过后的规范化的单元,并将其存入数据库构成标准单元库。–标准单元设计法是利用标准单元库,按照用户具体电路的要求把所需单元从单元库中调出,排成若干行,行间留有布线通道。根据电路要求将各单元用连线联接起来,同时把相应的输入、输出单元和压焊块联接起来,得到所要求的芯片版图。标准单元设计法•标准单元法设计的芯片主要分为3个区域:①四周的I/O单元和压焊块;②单元部分;③布线通道。I/O单元布线通道标准单元标准单元设计法•标准单元的特点是各个单元高度相同,宽度不等。所有的单元电源线和地线位置相同,从单元的左右边进出。OUTIN1IN2IN1IN2OUTVDDVSSINOUTVDDVSSINOUTINOUTINOUT单元1单元2单元3单元4固定高度可变宽度标准单元设计法•标准单元布局–一般标准单元在版图上排列有两种形式,一种是单一单元排成行,如图(a)。另一种为双单元背靠背排列成行如图(b)。–在单层布线时需要一种特殊的连线单元称为连线单元,如图c),其高度与其它的标准单元相同,起到连线作用。VDDVSSVDDVSSVDDI/OVDDVSSI/O(a)(b)(c)标准单元设计法•标准单元布局、布线–设计人员只要输入电路的逻辑图或输入一种电路描述文件,再输入压焊块的排列顺序;标准单元法设计系统将调用所需的单元和相应的I/O单元及压焊块,进行自动布局和自动布线。–在布局和布线过程中,布线通道的高度由设计系统根据需要加以调整,可达到较高布线布通率。标准单元设计法•可以与全定制的设计方法相结合,将一些全定制设计方法设计的版图调用到相应的位置,然后在其他部分用标准单元法设计,这样扩大了标准单元法的应用范围,成为目前国际最为流行的VLSI设计方法。宏单元标准单元设计法•由于单元库中各个单元的高度相等,宽度不限,单元中的电源、地线及输入输出端口位置都有特殊的规定,使得单元与单元连接时变得简单、有条理,布局也有规律,为以后的高层次的系统设计带来了很大的方便,使得本来很复杂、工作量很大的系统设计变得相对简单、容易,并且带有很强的规律性。标准单元设计法•标准单元库的组成:标准单元库包含了逻辑符号库、功能参数库、版图描述库、实体版图库和工艺文件。标准单元库单元1单元2单元n逻辑符号功能参数拓扑版图实体版图工艺文件:主要是模拟用的工艺参数,及版图设计中的基本技术参数设定,主要包括长度单位的设置和图形层的设置等。DRC文件:ERC文件:LVS文件:确定一些尺寸规则用来检查设计的正确性。确定一些电气规则用来检查设计的正确性。是把从版图中提取的电路同原设计电路进行比较。LPE文件:从版图中自动提取各种电气参数。通用单元法–通用单元法也叫积木块法,是库单元法的另一种形式。与标准单元不同的是每个单元不一定等宽、等高,可根据具体情况单独进行版图设计,得到最佳性能,然后存入单元库中。另外,它也没有统一的布线通道,再加上输入、输出端口位置不固定,给计算机自动布局布线软件的编制带来较大的困难。管脚ALU寄存器ROM管脚控制PLACAN堆栈时钟数据缓冲总线控制专用集成电路概念及分类–以上三种设计方法比较NRE费(nonrecurring-engineering)批量生产单价低:门阵列低:全定制中:标准单元中:标准单元高:全定制高:门阵列ASIC设计方法分类•模块编译法(blockcompiler)–它是一种全自动的设计方法。先对设计模块的性能进行描述,再通过编译直接得到该电路的掩膜版图。这种方法目前适用于ROM、RAM、ALU、移位寄存器、乘法器等规则结构和模块是结构的芯片设计。ASIC设计方法分类•可编程逻辑器件法(programmablelogicdevices-PLD)–它是一种以完成了全部工艺制造的、可以直接从市场上购得的产品,刚购来时它不具有任何逻辑功能,但一经过编程就可在该器件上实现设计人员所要求的逻辑功能。–这种器件以“与”矩阵及“或”矩阵的结构为基础,包括有可编程逻辑PAL、通用可编程阵列逻辑GAL两大类。为了增加PLD的密度,扩充其功能,一些厂家对PLD的结构进行了改进,进而发展到了如今的复杂可编程逻辑器CPLD、EPLD。ASIC设计方法分类•逻辑单元阵列法(logiccellarray)–这种器件常被称为FPGA(fieldprogrammablegatearray),即现场可编程门阵列。FPGA与PLD一样,也是一种已完成了制造,可从市场上直接购得的产品。设计人员得到该产品后通过开发工具对其进行“编程”来实现特定的逻辑功能。ASIC设计方法分类–FPGA是由掩膜可编程门阵列和可编程逻辑器件二者结合构成的,可以达到比CPLD更高的集成度。通常FPGA由逻辑功能块排列成阵列,四周环绕可编程布线资源,外围由可编程I/O单元围绕阵列构成整个芯片,可编程的内部连线连接各逻辑功能块以实现一定的逻辑功能。可编程I/O单元可编程布线资源可编程逻辑单元ASIC设计方法分类•目前由于PLD和FPGA应用的迅速发展,使其渐渐从ASIC中分离出来。应该指出,PLD和FPGA适用于电子系统开发阶段时采用。目前这两种器件的价格较高,因而在系统进入大量生产时,或由于性能的原因,将其转换成相应的标准单元甚至再设计为全定制电路。另外,由于PLD和FPGA结构及以下特点,使它们主要用于做样片试制:专用集成电路概念及分类–FPGA特性:•不能兼顾非易失性和可改写两种性能•有时需外接ROM•电源接通时不能和ASIC一样对待•写入後,不能使用大规模集成电路测试仪按照ASIC的方式进行测试•对于知识产权的保护不利•设计的灵活性有限•若用于市场需求比较少量的设计,一般不超过一千片•FPGA等于简单ASIC•减少库存与设计错误的危险性•资金投入少专用集成电路概念及分类–ASIC与FPGA特性ASIC特性:•嵌入式设计•产量•可以不涉及布局布线工作•ASIC可以支持高速和高度复杂的门级设计•需要与ASIC厂商密切合作•与全定制比较,投资来得便宜,设计和流片时间来得快速专用集成电路概念及分类–ASIC与FPGA比较ASICFPGA门级复杂性●●工艺选择●●开发费用(NRE)●库存的危险性●设计错误的危险性●试制时间●CAD/CAE的选择●●设计方式●●速度与性能●●专用集成电路概念及分类•ASIC工艺和工艺的权衡选择ASIC工艺及其关键的特性工艺速度集成密度功耗CMOS50MHz最高最低TTL100MHz中低BiCMOS50MHz高低ECL1GHz低最高GaA3GHz最低中ASIC设计过程•设计层次–自顶向下(Top-down)设计–设计层次:系统级、寄存器级、门级、电路级和器件级–D.D.Gajski提出的“Y型图”ASIC设计过程处理器寄存器电路存储器系统算法布尔方程掩膜版图单元布局芯片安排几何表示结构表示功能表示ASIC设计过程•ASIC的Top-down设计流程–特点:•用HDL对设计进行描述•采用层次式的Top-down设计方法•在各个层次进行反复验证和比较•每一层次的设计都由相应的EDA工具来实现。确定性能要求系统行为级描述行为级仿真设计划分功能块为单位的RTL级HDL描述RTL级仿真基于功能块的全系统仿真逻辑综合与优化门级仿真、时序检查输出门级网表FPGA、EPLD编程设计电路图FPGA、EPLD版图预布局、估计面积详细布局与布线版图参数提取分析、验证、后仿真掩膜数据带ASIC设计过程•对于深亚微米设计,因互连线的长度对延迟的作用显著,上述流程将有所变化。在逻辑综合时,仅有一套延