1设计流程和设计工具电子科学与技术2设计要求设计要求应该满足以下几方面的要求:(1)功能正确,并在第一次投片流水后就能达到设计要求;(2)电学性能经过优化,特别是在速度和功耗方面达到原订指标;(3)芯片面积尽可能小,以降低制造成本;(4)设计的可靠性,在工艺制造允许的容差范围内仍能正确工作;(5)在制造过程中和完成后能全面和快速地进行测试。3层次化设计方法层次化是把整个设计分解为若干层次,在完成前一层次设计任务后再进行下一层次的工作。对于复杂的数字集成电路来讲,我们可以设定以下几个层次:(1)整体规范设计:包括确定功能和性能的要求、允许的芯片面积和制造成本等;(2)功能级设计:包括算法的确定和功能框图的设计;(3)寄存器级设计:把功能块划分为寄存器级模块,对于较小规模的电路,功能级设计可直接从寄存器级模块开始.4层次化设计方法(4)逻辑设计(logicdesign):利用各种门和单元进行逻辑设计;(5)电路设计(circuitdesign):对每一单元进行电路设计;(6)版图设计(layoutdesign):将电路图转换成硅片上的几何图形。5整体设计整体规范设计(specificationdesign),包括确定功能和性能的要求、允许的芯片面积和制造成本等6整体规范设计对整个设计的一个详细描述:给出输入与输出之间的关系、各控制端口的功能、时钟的要求(如采用同步还是非同步)以及电源电压的数值(如5V或3.3V)等,在此基础上给出芯片面积和制造成本的估算或允许的上限。7行为/功能级设计功能级设计(functionalleveldesign),包括算法的确定和功能框图的设计8行为/功能级设计将上一层设计加以具体化:通常是用HDL硬件描述语言,写出描述文件,包括流程图(flowchart)或算法(algorithm);同时设计出1个包含各种功能块(functionalblock)如存储器、控制单元、运算单元、数据通道和逻辑单元的功能框图(blockdiagram),各功能块之间的信号流必须精细地加以定义。对于复杂的芯片需要将功能框图中的功能块划分成更小的功能单元,同时加入更为详细的操作要求。对于简单的芯片通常可以省去功能级设计这一步而直接采用寄存器级硬件描述文件。9寄存器级设计寄存器级设计(registerleveldesign),把功能块划分(partitioning)为寄存器级模块,对于较小规模的电路,功能级设计可直接从寄存器级模块开始10寄存器级设计这一步是将功能框图转换为寄存器级的硬件图,即转换为我们所熟悉的加法器、译码器、多工器、计数器、寄存器等模块。某些功能块如组合逻辑和控制功能可以用布尔代数或卡诺图进行转换。对于顺序逻辑可以用状态机方法进行转换。11逻辑级设计逻辑设计(logicdesign),利用各种门和单元进行逻辑设计12逻辑级设计基本逻辑门和双稳态电路来构成,尽可能选择那种晶体管数目最少的基本逻辑门和双稳态电路,或者采用规则的、可以重复的单元。对于NMOS和CMOS的逻辑设计,可以采用一些现成的、有效的电路如全加器、与或非门,而不必全用基本门来构成。13逻辑级设计逻辑设计要经过逻辑模拟加以验证,以确定该设计是否达到预期的功能和性能。对于全定制电路来讲,一开始并不知道各单元的时间延迟值,因而在逻辑模拟时只能给出估计值。一旦逻辑功能被验证正确后,就进入下一步的电路设计,在电路设计后可以得到较为精确的时间延迟值,这时再把精确值代回到逻辑模拟器再次进行逻辑模拟。从图逻辑设计方框与电路设计方框之间存在一反馈通路,这表明了两者之间的相互关系。14电路级设计15电路级设计同一种逻辑可以由不同电路形式来实现:电路设计的第一步是选择合适的电路形式,如选择双极型还是MOS型,若是MOS型,要进一步确定是NMOS型还是CMOS型等。第二步就是确定电路中各元器件的参数。对于数字电路的设计来讲,最关心的是延迟特性和功率耗散,这与负载有关。增加MOS晶体管宽度可取得较大的电流,但也增加了功耗值,因此也要作适当的折衷。在电路设计过程中要进行充分的电路级模拟,以决定电路的直流工作点,得到电流和电压的波形图,同时评估信号的延迟,以及上升和下降时间等。16版图设计17版图设计一个全定制电路可能包括很多个功能块,如何把各个功能块合理地安置在芯片的相应位置上,布图规划的目标是:①充分利用芯片的面积以减少空余空间;②尽量减少功能块之间连线的长度,使信号线能直接连接两相邻的功能块。18功能块举例19布线规划布图规划前,要先分析芯片中数据流的流动。现将数据通道设计成水平,控制信号设计为垂直,所有的连接线直接连接到各功能块的边界,整个芯片的外形设计成矩形。这种布图规划的好处有:①硅片面积被充分利用;②连线的设计简单;③由于连线电阻和电容的下降而加快了芯片的速度。版图几何设计规则版图设计规则:是指为了保证电路的功能和一定的成品率而提出的一组最小尺寸,如最小线宽、最小可开孔、线条之间的最小间距、最小套刻间距等。设计规则反映了性能和成品率之间可能的最好的折衷。规则越保守,能工作的电路就越多(即成品率越高);然而,规则越富有进取性,则电路性能改进的可能性也越大,这种改进可能是以牺牲成品率为代价的。把设计过程抽象成若干易于处理的概念性版图层次,这些层次代表线路转换成硅芯片时所必需的掩模图形。层次与层次标记层次表示含义标示图NwellN阱层ActiveN+或P+有源区层Poly多晶硅层Contact接触孔层Metal金属层Pad焊盘钝化层N阱设计规则编号描述尺寸(μm)目的与作用1.1N阱最小宽度10.0保证光刻精度和器件尺寸1.2N阱最小间距10.0防止不同电位阱间干扰1.3N阱内N阱覆盖P+2.0保证N阱四周的场注N区环的尺寸1.4N阱到N阱外N+距离8.0减少闩锁效应多晶硅层的设计规则编号描述尺寸目的与作用3.1多晶硅最小宽度3.0保证多晶硅线的必要电导3.2多晶硅间距2.0防止多晶硅联条3.3与有源区最小外间距1.0保证沟道区尺寸3.4多晶硅伸出有源区1.5保证栅长及源、漏区的截断3.5与有源区最小内间距3.0保证电流在整个栅宽范围内均匀流动接触层的设计规则编号描述尺寸目的与作用4.1接触孔大小2.0x2.0保证与铝布线的良好接触4.2接触孔间距2.0保证良好接触4.3多晶硅覆盖孔1.0防止漏电和短路4.4有源区覆盖孔1.5防止PN结漏电和短路4.5有源区孔到栅距离1.5防止源、漏区与栅短路4.6多晶硅孔到有源区距离1.5防止源、漏区与栅短路4.7金属覆盖孔1.0保证接触,防止断条金属层的设计规则编号描述尺寸目的与作用5.1金属宽度2.5保证铝线的良好电导5.2金属间距2.0防止铝条短路焊接层的设计规则编号描述尺寸目的与作用6.1最小焊盘大小90封装、邦定需要6.2最小焊盘边间距80防止信号之间串扰6.3最小金属覆盖焊盘6.0保证良好接触6.4焊盘外到有源区最小距离25.0提高可靠性需要布线规则电源线和地线应尽可能用金属线走线;多采用梳状结构,避免交叉。禁止在一条金属走线的长信号线下平行走过另一条用多晶硅或扩散区走线的长信号线。压焊点离芯片内部图形的距离不应少于20µm。布线层选择,尽可能降低寄生效应。版图设计中提高可靠性的措施考虑电性能和热性能一、提高金属化层布线的可靠性(1)大量的失效分析表明,因金属化层(目前一般是A1层)通过针孔和衬底短路,且A1膜布线开路造成的失效不可忽视,所以必须在设计布线时采取预防措施。例如尽量减少A1条覆盖面积,采用最短A1条,并尽量将A1条布在厚氧化层(厚氧化层寄生电容也小)上以减少针孔短路的可能。(2)防止A1条开路的主要方法是尽少通过氧化层台阶。如果必须跨过台阶,则采取减少台阶高度和坡度的办法。例如对于厚氧化层上的引线孔做尺寸大小不同的两次光刻(先刻大孔,再刻小孔),以减小台阶坡度,如图所示。版图设计中提高可靠性的措施35版图验证1版图设计完成后要经过DRC(designrulecheck)以保证各层版图都符合设计规则的要求。2有的设计还要进一步作版图与电路图一致性检查LVS(layoutversusschematic)。它是通过版图参数提取工具LPE(layoutparametersextraction)来得到一个电路图,将它与原要求的电路图相比较,以保证所得版图与原要求的电路图是完全一致的。36测试向量1测试向量而是指由一系列1和0组成的序列码。2将测试向量通过探针加到芯片的输入压焊块,然后从输出压焊块处得到其结果,将此结果与预期的结果相比较,以检查芯片的功能是否正确。3如果该测试向量可以检查出芯片中所有的内在故障(fault),则称该测试向量的故障覆盖率为100%。我们希望能自动生成出故障覆盖率为100%的测试向量。目前对组合逻辑电路,这一要求已有可能满足,但对于时序电路则远不能达到。37设计系统简介大致可分为3个阶段:第一阶段:20世纪70年代的第一代设计自动化系统,称为计算机辅助设计CAD(computer-aideddesign)系统。以交互式图形编辑和设计规则检查为特点,硬件采用16位小型机。第一代CAD系统的引入使设计人员摆脱了繁复、易出错误的手工画图、机械刻红膜的做法,大大提高了效率,因而得到了迅速的推广。缺点:逻辑图输入(schematicentry)、逻辑模拟、电路模拟等工作与该系统的版图设计及版图验证是分别进行的,人们需要对两者的结果进行多次的比较和修改才能得到正确的设计,有时甚至在投片后才发现原设计存在错误,不得不返工修改,因而付出了昂贵的代价。38第二阶段第二阶段:20世纪80年代出现了第二代设计自动化系统,常称为计算机辅助工程CAE(computer-aidedengineering)系统。以32位工作站为硬件平台,集逻辑图输入、逻辑模拟、测试向量生成、电路模拟、版图设计、版图验证等工具于一体,构成了一个较完整的设计系统。设计人员以输入逻辑图的方式开始设计芯片,并在工作站上完成全部设计工作。它不仅有设计全定制电路的交互式版图编辑器,还包括有门阵列、标准单元的自动设计工具和经过验证的单元库,系统可自动地完成布局、布线等功能,因而大大减轻了版图设计的工作量。39第二阶段在CAE系统中,更引入了版图参数提取工具LPE和版图与电路之间一致性检查工具LVS,从而可发现设计是否有错。同时还可将LPE所得到的版图寄生参数引入电路图,做一次更为精确的电路模拟,以进一步检查电路的时序关系和速度是否仍符合设计要求。尽管这些功能的引入保证了投片流水的一次成功率,缺点:一致性检查和后模拟在设计的最后阶段才进行的,一旦发现错误需要修改版图或修改电路,需付出相当的代价。40第三阶段20世纪90年代,采用硬件描述语言HDL(hardwaredescriptionlanguage)的设计方法,并出现了第三代设计自动化系统。特点:是高层次设计的自动化HLDA(high-leveldesign-automation)。第三代设计自动化系统常称为EDA(electronic-systemdesignautomation)系统。它引入了硬件描述语言,此外还引入了行为综合和逻辑综合工具。采用较高的抽象层次开始设计,并按层次化方法进行管理,可大大提高处理复杂设计的能力;综合优化工具的采用使芯片的面积、速度、功耗等都能获得优化,设计所需的时间也大幅度缩短。因而第三代EDA系统迅速得到推广应用。41硬件描述语言HDL硬件描述语言是特指芯片高层次设计阶段中所采用的高级描述语言:目前世界上广泛流行的硬件描述语言有两种,一是VHDL(versatilehardwaredescriptionlanguage)语言,一种是VerilogHDL语言。对于硬件的描述可以有两种形式:一是行为描述,它描述设计的输入与输出数据之间的关系及其时序关系;另一是结构描述,它是描述设计中的各个功能块、模块、单元、门以及它们之间的连接关系。在设计过程中通常是逐步将行为转换成详细的结构。42硬件描述语言HDLVHDL和VerilogHDL语言既可