GPS系统芯片的后端设计与验证

GPS系统芯片的后端设计与验证

ID:37249029

大小:6.88 MB

页数:60页

时间:2019-05-20

上传者:U-145848
GPS系统芯片的后端设计与验证_第1页
GPS系统芯片的后端设计与验证_第2页
GPS系统芯片的后端设计与验证_第3页
GPS系统芯片的后端设计与验证_第4页
GPS系统芯片的后端设计与验证_第5页
资源描述:

《GPS系统芯片的后端设计与验证》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

摘要GPS系统芯片是利用GPS基本原理设计而成的全天候实时定位导航设备。近年来随着集成电路的快速发展,基于GPS系统芯片的相关产品已经成为常见且十分重要的一类消费性电子产品,广泛应用于诸多领域。因为集成电路后端设计的优劣直接影响其性能、成本、功耗及流片的成功率,所以,GPS系统芯片的后端设计十分重要。本文使用Synopsys公司的DesignCompiler工具、Onespin公司的CVE工具、Magma公司的版图设计软件BlastFusion以及MentorGraphics公司的Calibre软件,详细地介绍了GPS系统芯片的后端设计与验证过程。本论文的研究内容主要包括以下几个部分:1.根据逻辑综合原理采用自底而上的设计方法,结合综合设计约束,使用Synopsys公司的DesignCompiler工具完成该GPS系统芯片的逻辑综合。根据等价性验证原理采用Onespin公司的CVE工具完成GPS系统芯片的等价性验证。2.使用Magma公司的版图设计软件BlastFusion,结合GPS系统芯片版图设计要求,完成该芯片的布局设计、power设计、多电压域设计、以及时钟树综合等过程。3.采用MentorGraphics公司的Calibre软件完成此GPS系统芯片的版图验证工作,并对验证中出现的若干问题进行了详细的分析并提出相应的解决方法,为版图完成后的成功流片提供了有力保证。该GPS系统芯片己于2008年6月成功流片生产,目前正处于测试及进一步开发阶段。关键词:GPS系统芯片逻辑综合等价性验证版图设计版图验证 AbstractTheGPSsystemchipisanequipmentusedforlocationandnavigationround-theclock.锄ditisdesignedbasedonGPSbasictheory.Resentyears,thewell-knownandimport纽telectronicproductsincludingGPSsystemchipshavebeenusedmmanyfieldswithmefIastdevelopmelltofintegratedcircuit.ThebackenddesignofICcaninfluenceitsperf.0蕊ance、cost、powerconsumptionandsucceedoftape-out,sothebackenddesignofGPSsystemchipisveryimportant.Inthisthesis,theCVEso触areofonespinc伽叩any、BlastBusionofMagmacompany、CalibreofMentorGraphicscompanyareusedtointroducethebackenddesignandverificationofGPSsystemchip·Themaincontributionofthisthesisisasfollows:1.Bottom-updesignmethodbasedonlogicsynthesistheoryandthesynthesisconstminareusedforcompl舐ngthelogicsynthesisofthischip,theDesignCompilerSOfc、ⅣareofSynopsyscompanyisused.TheequivalentverificationisdonebytheCVEtoolofOnespincompany.2.UsetheBlastFusiontoolofMagmatocompletethefloorplan、powerdesl朗、multi-powerdomainsandclocktreesynthesisbasedonthedemandsofthech巾layoutdesign.3.UsetheCalibreso行wareofMentorGraphicstodothelayoutverificationofthischip.Analysisandsolvealltheproblemswhichappearinthisprocess,and1tensuresthetape.outsuccefully.ThischipWastape—outsuccessfullydevelopedmore.Keywords:GPSSystemChipLayoutDesigninJune2008,nowitisbeingtestedandLogicSynthesisEquivalentVerificationLay’outVerificafion 创新性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及所取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切的相关责任。本人签名:叫盈蹲关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。本学位论文属于丑,在一年解密后适用本授权书。日期珥生:生垒日期望曼Lf垒 第一章绪论1.1集成电路(IC)后端设计简介集成电路(IntegratedCircuit)是指在半导体基板上,利用氧化、蚀刻、扩散等方法,将组成电子电路的二极管、晶体管、电阻、电容等电子元件做在一个微小的晶片上,以完成某一特定逻辑功能,达到预先设定好的电路功能指标要求的电路系统。IC设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程,也是把产品从抽象到具体化、直至最终物理实现的过程【l⋯。集成电路设计一般分为“前端设计”和“后端设计”两大部分。前端设计进行电路系统设计、产生电路图和连接网表:后端设计是指根据逻辑综合后得到的门级网表产生相应版图的过程。后端设计是整个集成电路设计过程中与产品研制和生产直接相关的设计过程,是集成电路设计的重要组成部分。后端设计的目的是将与工艺无关的那些硬件描述语言(HDL,HardwareDescriptionLanguage)所表示的设计实现成与特定工艺相关的版图。后端设计直接关系到芯片的设计周期、生产成本和产品质量。后端设计以往通常是人工设计中耗时最多、差错率最高的设计过程,也是集成电路发展较快,自动化水平较高的领域。在超深亚微米工艺条件下,由于设计复杂度上升和新工艺带来的物理特性变化.后端设计在很多方面需要进行改进以适应新的设计环境。1.1.1IC后端设计发展简史根据近30年电子设计技术的发展历程,可将IC后端设计技术的发展分为三个阶段:七十年代为CAD(ComputerAidedDesign)阶段,这一阶段人们开始用计算机辅助进行IC版图编辑和PCB(PrimedCircuitBoard)布局布线,取代了手工操作,产生了计算机辅助设计的概念。八十年代为CAE(ComputerAidedEngineering)阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,以实现工程设计,这就是计算机辅助工程的概念。CAE的主要功能包括:原理图输入、逻辑仿真、电路分析、自动布局布线、PCB后分析世可。九十年代为ESDA(EngineeringSystemsDesignandAnalysis)阶段。尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA(ElectronicDesign 2GPS系统芯片的后端设计与验证Automation)软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯彻整个设计过程的自动化,这就是ESDA,即电子系统设计自动化。自从1959年集成电路诞生以来,经历了小规模(SSI,SmallScaleIntegratedcircuits)、中规模(MSI,MediumScaleIntegratedcircuits)、大规模(LSI,LargeScaleIntegratedcircuits)、超大规模(VLSI,VeryLargeScaleIntegratedcircuits)和甚大规模(ULSI,UltraLargeScaleIntegratedcircuits)的发展阶段,目前以进入片上系统时代(SOC,SystemOnaChip)[27】。同时,工艺的精细度也越来越高,从3微米工艺进展到亚微米工艺,从亚微米工艺进展到深亚微米工艺,如6um、5um、0.35um、0.25um、0.18um、0.13um等。目前己经进入了纳米工艺时代,如90nm、65um、45mn等。工艺的进步导致了线负载延时越来越大,串扰的影响越来越突出,漏电流、电势降和电迁移也成为越来越突出的问题,后端设计就显得尤为重要。目前在海外,专门从事设计服务的公司很普及,完成一个百万门级的可测性设计和物理层版图设计,约30万美元。在上海,己经出现依托海外资本和技术的后端设计服务公司,从事的正是可测性设计和物理层版图设计,收费相当于海外的40一--60%,ASE.Amkor和StatsChipPAC等公司己经或即将在我国设立后端工厂。到目前为止,中国大陆将占全球IC封装和测试产业市场份额的30%。1.1.2IC后端设计实现流程集成电路后端设计实现过程从完成后的RTL代码开始,根据芯片工厂提供的库文件把RTL代码转换成逻辑网表,最后通过版图实现软件将逻辑网表转换成生产芯片所需要的版图文件(GDSⅡ)。其具体的实现步骤如下:1.对RTL代码进行逻辑综合、优化以及测试扫描链的插入。2.对综合后的网表(pre—layoutnetlist)和综合前的代码进行形式验证,保证综合过程的正确性。3.对综合完成后得到的门级网表进行布局、时钟树插入、优化以及全局布线(GlobalRouting)等。4.对版图之后的网表(post-layoutnetlist)和综合后的网表(pre—layoutnetlist)进行等价性验证,保证后端版图设计的正确性。5.全局布线后的STA(StaticTimingAnalysis),如果时序不满足,需要重新布局和布线。6.对完成后的版图做LVS和DRC等物理验证检查,如果通过检查,则可流片投产(tape—out)。若有违反设计规则的,则返回版图重新修复。具体的实现流程如图1.1所示【19】: 第一章绪论l舨陶孵拍骏涯I4私山蟹数挺驻l静抄降j}研I!l挖掘_∞::是j式协AI形武{艺铲:lFI叛翻甄豹晚hI:⋯一一一一一一一一一一l一一一一一一一一一一一一一一^t沸优化I⋯一一一一一一一土LVS/DRCl图1.1深亚微米IC后端设计实现流程图1.2GPS芯片相关发展动态全球定位系统(NAVSTA刚GPS,NavigationSatelliteTimingandRanging/GlobalPositioningSystem,以下简称GPSIlJ)是美国从20世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有海、陆、空全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS系统的迅速发展,引起了各国军事部门和广大民用部门的普遍关注。GPS目前处于良好的运行状态,并满足设计之初所提出的最佳定位系统标准。这个系统向拥有接收设备的全球范围内的用户提供精确、连续的三维位置和速度等参数信息。由于它受到美国军方控制,民用方面一直有着人为的精度限制。直到2000年5月1日美国政府取消限制后,才大大地促进了民用普遍化,现已逐步演变为一种世界性高技术产业,成为目前世界 4GPS系统芯片的后端设计与验证上发展最快的三大信息产业之一。GPS接收机专用芯片组,主要包括射频和基带信号处理芯片,它们构成了GPS接收机的核心和关键部件。目前,全球约有几十家制造商生产GPS芯片,其中绝大多数是欧美企业。有些厂商提供包括配套软件在内的完整的GPS接收机或系统解决方案,如SIRF公司提供的SIRFstarlle/LP芯片组、Zodiac2000芯片组等;有的厂商提供单片集成基带电路及射频电路的GPS芯片,如MotorolaInstantGPS芯片;有些厂商提供完整的GPS射频加基带组的硬件解决方案,如中国大陆地区的华迅微电子公司提供的删001芯片组等。总体来说,GPS因其定位精度高、定位响应快以及资源的开放性等特点而倍受世人关注。近几年来,GPS发展迅猛,世界各大公司相继推出体积小、价格便宜的民用GPS接收机,使基于GPS的应用由军用迅速扩展到民用,被广泛应用于公安、银行、交通等领域的车辆、船舶、飞机等移动目标的定位和导航上,所以实现GPS系统芯片的量产,具有很广阔的市场前景和丰厚的利润。1.3本文主要工作及章节安排本文主要研究基于65纳米工艺的GPS系统芯片的逻辑综合、版图设计和版图验证。该GPS系统芯片主要应用于移动便携的手持类终端,如手机,便携式电脑,MP4等。该芯片通过天线接收卫星信号,经处理后将数据输出至视频终端。移动终端可以通过使用该芯片随时随地地确定位置、速度等信息。该GPS系统芯片支持多种终端,采用较先进的工艺,具有广泛的用途,有很大的市场前景和发展空间。本论文的主要内容包括以下几个方面:第一章为绪论,简单阐明Ie后端设计简史及其实现流程,介绍本课题研究工作的发展动态以及本文的主要工作。第二章为GPS系统的基本原理,主要包括系统的基本结构,定位原理,信号结构以及接收机工作原理。第三章主要介绍GPS系统芯片的逻辑综合与等价性验证,阐述了逻辑综合与等价性验证的原理及实现流程。第四章为GPS系统芯片的版图设计实现过程,对此芯片的布局设计,power设计,多电压域设计,时钟树综合等过程进行了详细的描述。第五章研究了GPS系统芯片的版图验证过程,介绍了版图验证的主要工作内容,重点分析了此芯片在版图验证过程中所遇到的若干问题,并提出相应的解决方法。 第二章GPs基本原理第二章GPS基本原理GPS系统是基于单程测距原理建立起来的定位系统,即用户只需通过接收设备来接收卫星发射的信号,测定信号传播的单程时间延迟或相位延迟,进而确定从接收机至GPS卫星间的距离。由于定位卫星数目多、信号覆盖面积广,因此能达到让使用者在全球任何时间、任何地点得到准确定位信息的目的。21GPS系统基本结构GPS全球定位系统主要由三部分组成:空间部分、地面监控部分和用户设备部分f21,如图21所示。前两部分是GPS进行导航定位的基础,用户只有借助于用户设备才可以达到导航定位的目的。下面将详细介绍GPS系统的组成。图2lGPS系统的组成(I)空间部分空间部分主要由24颗导航卫星组成,包括3颗备用卫星i:1。这些卫星均匀分布在等间隔的6个近似圆形的轨道面上,如图22所示,轨道高度为20200kin,卫星运行周期为1l小时58分。圈22GPS卫星的星座 GPS系统芯片的后端设计与验证GPS星座的这种轨道布局,一是保证了当一颗卫星发生故障时,对整个系统工作性能影响最小;二是保证了在地球或近地空间的任何位置、任何时间,至少可以观测到4颗卫星,因此也就保证了连续、实时的全球导航能力。GPS卫星的主要功能为:①、接收和储存由地面监控站发送的导航信息;②、接收并执行监控站的控制指令;⑨、向用户连续地广播导航电文;④、通过星载高精度原子钟产生基准信号和提供精确的时间标准;⑤、接收地面主控站发送给卫星的调度命令【4刊。(2)地面监控部分GPS的地面监控部分主要由分布在全球的五个地面站组成,包括一个主控站、三个信息注入站和五个卫星监测站。地面监控部分的主要任务和作用是:①、跟踪观钡UGPS卫星;②、准确计算卫星的轨道参数和卫星钟差,调整偏离轨道的卫星;⑧、提供GPS时间基准;④、计算并编制导航电文;⑤、定期向每颗卫星的数据存储器注入卫星导航电文以及控制指令等。(3)用户设备部分用户设备部分主要由GPS接收机硬件和数据处理软件,以及微处理机及其终端设备组成。而GPS接收机的硬件一般包括主机、天线和电源,主要功能是跟踪接收GPS卫星发射的信号并进行变换、放大、处理,获得必要的导航定位信息,经数据处理后获得观测时刻接收机天线相位中心的位置坐标,同时提供速度和时间信息。2.2GPS系统定位原理GPS系统基本上是根据多普勒定位原理进行定位的。用户接收机在接收到卫星发送的信号后,对其跟踪、锁定,就可以解读出每颗卫星发射信号时的位置,然后通过测量卫星信号的传播时间,计算出卫星到观测点(也即用户所处位置)的距离【3】oz▲卫,◆X图2.3GPS定位原理示意图4◆y 第二章GPS基本原理7由于卫星的位置精确可知,通过GPS观测可以得到卫星到接收机的距离,根据三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(x,Y,z)。但是考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知数:x、Y、Z和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解。本章前面已经说明过,24颗GPS卫星的位置使得任意时刻地面上的任意一点都可以同时观测到4颗以上的卫星,因此可以实现这种精密的定位。[(五-x)2+(咒-y)2+(zf-z)2]1坨+c(Vti—Vto)=di(f=1,2,3,4)(2一1)di=czxti(f=l,2,3,4)(2—2)在GPS系统中,采用了一种称做地心地球固连的随地球而旋转的坐标系。该坐标系的原点选在地心,xy平面与赤道面重合,X轴指向0经度,Y轴指向东经90度,Z轴指向地理北极【41。式(2—1)为进行定位计算的4个方程式,方程中各个参数的意义如下:X,Y,Z和Vto为未知参数:X,Y,Z为待测点的空间直角坐标(即用户的位置);Vto为接收机的钟差。Xj,Yi,7-4为卫星i在t时刻的空间直角坐标,可由卫星导航电文求得;Vti为卫星i的卫星中的钟差,由卫星星历提供;di为卫星i到接收机之间的距离;Ati为卫星i的信号到达接收机所经历的时间;c为GPS信号的传播速度(即光速)。由以上4个方程即可解算出待测点的坐标X,Y,Z和接收机的钟差V幻,从而得到待测点(即用户)的空间直角坐标。由于GPS用户所需要的结果一般是经度、纬度及海拔值。在求得空间坐标值后,还需要把结果转换为地球上的经纬度和海拔高度值。为此需要建立标准的地球模型,GPS系统采用了美国国防部建立的标准地球模型(WGS.84)【6】。该模型中平行于赤道的横截面为圆,此圆半径为6378137m,垂直于赤道的横截面为椭圆,其短轴取为63567523.142m。经过计算就可得出纬度矽,经度兄和高度h【61。2.3GPS系统信号结构GPS卫星播发的信号包含有3种成分:即载波信号(L1和L2),伪随机PRN码(C/A码和P(Ⅵ码)以及数据码(或称D码)。2.3.1GPS信号的调制及频率关系GPS卫星向广大用户播发的导航信号是经过BPSK调制、直接序列扩频的CDMA信号,Ll频率(1575.42MHz)t妇C/A码和P码两个PRN码进行调制,而L2频率(1227.60MHz)仅由P码进行调制。GPS卫星播发的信号包含的3种信号分量 GPS系统芯片的后端设计与验证均是在fo--lo.23MHz的控制下产生的,这对发射信号和接收信号的同步非常有利,具体的频率关系如图2.4所示。GPS卫星天线发射的信号,是将导航电文D(t)经过两级调制后的信号。第一级调制是将低频D(t)码分别调制成高频C/A码和P码,实现对D(t)的伪随机码扩频。第二级调制是将一级调制的组合码再通过二进制相移键控(BPSK)调制方式分别调制在两个载波频率(L1和L2)上。最后,GPS卫星向地面发射这两种已调波。图2.4GPS卫星信号频率关系若SLl(t)和SL2(t)分别表示载波Ll和L2的已调波,则GPS信号可表示为:是1(f)=4只(f)口(t)cos(c01t+鲲f)+4Cf(r)口(t)sm(mlt+仍f)(2·3)&2(f)=砟只(f)Df(f)cos(02t+仍f)(2-4)式中,AP、BP、Ac分别为载波L1和L2的振幅;Pi(t)、Gi(t)和Di(t)分别为第i颗GPS卫星的P码、C/A码和D码;q和q分别为载波L1和L2的角频率;仍,和仍f分别是第i颗GPS卫星的载波L1、和L2的初相。23.2GPS导航电文导航电文指包含导航信息的数据码,算和注入卫星并由卫星连续播发的数据。即D码,它是由GPS卫星地面监控系统编由卫星发射的导航电文包括卫星星历、卫星工作状态、卫星历书、时间系统、星钟改正参数、轨道摄动改正参数、大气折射改正参数、遥测码以及C/A码NP码捕获的转换信息等。它是用户利用GPS卫星进行导航定位的数据基础。如图2.5所示,GPS导航电文在5个300比特的子帧中发送。其中每个子帧本身由10个30比特的字组成。导航电文中每一个字的最后6个比特使用了一种(32,26)的汉明码用于奇偶校验,为用户设备提供解调时检测比特错误的能力。目前,导航电文中前三个子帧的内容每30s重复一次,每两小时更新一次。5个子帧从子帧1 第二章GPS基本原理开始顺序发送,由于子帧4和5均包含25页,故而在5个子帧的首次循环中只广播子帧4和5的第一页数据。在5个子帧的下一次循环广播中,子帧4和5的第二页被广播,依次类推。比特l60子帧l撇巨叵[二二三三二二。瑞,巨巨工二蔓雯翌耍塑[]。蒜,巨巨巫三垂亟三三至堕习卜—一300比特c6。,5。郇。,———一图2.5导航电文格式2.3.3GPS系统的测距码由仙农信道容量公式可知,在信道中当信噪比下降时,可通过扩展频带宽度来保持信道容量不变。因此,在GPS卫星信号中,由伪随机码来调制数据码,通过扩展信号频谱来增强信号的抗干扰性能。由于GPS接收机通过对不同PRN码应用码分多址(CDMA)技术进行相关运算来识别不同卫星并测定卫星至接收机的距离,所以PRN码也称测距码。GPS卫星信号中包含有C/A码和P(Y)码两种测距码,其码长、周期、精度均不相同,分别用于民用系统和军用系统。1.C/A码GPSC/A码信号属于称为戈尔德(Gold)码的伪随机噪声(PRN)码系列,实现码分多址、捕获卫星信号和测距。C/A码的产生原理如图2.6所示,通过选择不同的抽头,来产生特定卫星的C/A码。C/A码由两个10级线形反馈移位寄存器组合产生,其基码速率为1.023Mbit/s,周期为lms。其中每个基码码片的宽度为lmS/1023=977.5ns,对应的空间距离为293米。由于C/A码码长为1023bit,易于捕获,通过C/A码捕获卫星信号后,即可获得导航电文,通过导航电文提供的信息,便可引导捕获P码。因此,C/A码也称为捕获码。 10GPS系统芯片的后端设计与验证X厂、~L_/1Gl寄存器J1·uo’m‘u—一,。I时钟I!I123456789每位置I天lD口兀|厂、、.JR501-1。z———■二叉≤:=\C尼O数据/7=.。。。。。I\\时钟U2奇仔器-叫一l23456789I.023MHz时钟。口,,ni、叫≮”}71023{:t二译码厄匀兀历元:/1t=/1眦10.23MHz卜_‘/一时钟\、L/妻二二三二爹666占\图2.6C/A码发生器2.P码P码(PreciseCode)也称为精码,P码产生的原理与C/A码相似,但更复杂。发生电路采用的是两组各有两个12级的反馈移位寄存器构成的。其基码速率为10.23Mbit/s,每个基码码片约宽97.7ns,对应的空间距离为29.3m。由于P码的基码码片宽度为C/A码的1/10,所以其测距精度远远高于C/A码,故称P码为精码。P码的周期长,约为267天。实际应用中,规定码序列在每星期六夜零点置全1状态作为起点,然后从中截取长度为一周作为P码,所以P码的周期为7天。一共取37个P码,32个GPS卫星使用,5个供地面检测站使用,这样就保证GPS卫星正常工作的唯一性。P码的时间周期虽然被截短为7天,但对于GPS接收机来说仍然难于捕获,为了在较短的时间内捕获P码,通常采用C/A码引导P码的方法:接收机首先捕获和跟踪到C/A码,然后解调出导航电文,根据电文中所提供的信息指导P码的捕获。P码直接捕获是P码捕获的另外一种方法,该方法比较耗时,但具有较强的抗干扰能力。 第二章GPS基本原理2.4GPS接收机工作原理GPS接收机是GPS系统的用户设备,是一种无源的设备(只接收信号不发送信号的设备)。目前,GPS接收机可分为两种基本类型:同时跟踪P码和C/A码的PPS接收机和只跟踪C/A码的SPS接收机。2.4.1GPS接收机的基本结构GPS接收机的基本功能是接收GPS卫星发射的信号,为用户提供数据观测量,解调导航电文实现导航解算,为用户提供定时、定位和测速服务。传统的GPS接收机通常有如图2.7所示的结构。图2.7硬件GPS接收机原理图基带信号处理ASIC部分完成捕获和跟踪的相关运算,微处理器从ASIC输出的相关输出结果译出导航数据,从而可以得到卫星星历及伪距,星历可用来确定卫星位置,并最终可由卫星位置及伪距解算出用户位置等信息。传统硬件接收机底层的基带数字信号处理部分(包括捕获、跟踪的相关运算)是采用专用GPS信号通道处理芯片(ASIC)来执行,这种芯片运行速度快,但难以修改算法及缺乏灵活性。随着数字信号处理技术的发展,GPS卫星信号的接收处理越来越趋向于采用软件的方法来实现,如图2.8。这种方法是将“软件无线电”的概念引入到GPS接收机中,软件无线电的思想是在接收机尽可能靠前的部分用模/数转换器(ADC)图2.8GPS软件接收机原理图 12GPS系统芯片的后端设计与验证天线接收GPS卫星信号,经过射频前端,输入信号的幅值被适度放大,频率用来自本地振荡器的混频信号分级下变频至中频,ADC将上述输出信号数字化。其中天线、RF前端和ADC仍由硬件实现。信号处理部分的信号捕获、跟踪、导航电文解调及位置解算等全部使用软件方法来完成。目前,实现软件GPS接收机的主要难点是实时性问题。2.4.2GPS观测量及其测量GPS接收机搜索、捕获和跟踪伪随机码及对其所传送的导航电文进行解调,这是GPS接收机测量GPS信号的工作基础。只有在捕获和跟踪到伪随机码的工作基础上,才有可能测量测点与卫星之间存在距离偏差的距离(简称为伪距)。为了实现伪距定位,接收机必须获取相应的观测量,GPS接收机所需要提供的观测量有信号发送时刻的测量值、信号接收时刻的估计值和多谱勒频移的测量值。伪距p的计算是通过式(2.5)得到的,在该式中,I+研表示信号离开卫星时卫星时钟的读数,即信号发送时刻;1”州“表示信号到达用户接收机时用户接收机时钟的读数,即信号接收时刻。P=C[(互+乙)一(互4-万f)](2—5)一、信号发送时刻的测量这里的信号发送时刻指信号离开卫星时对应的卫星时钟读数:Z+所。由于卫星的钟差衙可以通过导航电文获得,所以如果能够得到信号离开卫星时卫星时钟的读数rs+8t,那么就可以得到信号离开卫星时所对应的GPS系统时T。GPS的电文信号是经过时间标记以后发送的,在每个子帧的帧头都包含有GPS系统时,接收机接收到的GPS信号如图2.9所示。}帧头f:黼ii黼}黼{[二筠二二二[二三]%[二三二田筠田r——瓦■——_:{“1l一一卜△t,。——。,◆Atvtotl图2.9信号发送时刻的测量假设接收机在某一时刻进行伪距测量,对应信号离开卫星时的卫星钟读数为‘,其中‘=Z+8t,那么tl=to+At(2—6)t。可通过帧头中包含的导航电文得到,而At=At,+At:+△f,。在工程测量中,通常设置三个计数器来测量缸、△f,和At3:C/A码周期计数器用于测量△f1,即C/A码 第二章GPS基本原理周期的个数:C/A码相位计数器用于测量△厶,即不足一个C/A码周期的码片个数;码NCO相位计数器用于测量△‘,即不足一个码片的宽度,自此可以得到信号离开卫星时卫星钟的读数。二、信号接收时刻的估计这里的信号接收时刻指信号到达接收机时接收机时钟的读数:Z+f,,。由于接收机的时钟偏差是方程组中的一个未知数,即信号到达接收机的时间是未知的,所以可以对接收时刻做一个估计,通过解方程组得到的接收机时钟偏差来消除这一估计误差,具体做法就是以其中一颗卫星的发送时刻加70ms左右的时间延迟作为信号接收时刻的估计(从卫星到地面的信号传播延迟大约为60ms至80ms)。三、多谱勒频移的测量由于多谱勒频移是站星间径向速度的函数,所以通过测量多谱勒频移的大小可以测得站星间的径向速度,进而测得距离的变化,即delta伪距。delta伪距可以用来平滑码伪距以得到更精确的伪距测量。在工程上,要测得瞬时多谱勒频率是相当困难的。一般地,可以测量一定时间内&的多谱勒频率的周数N,然后通过求平均得到平均多谱勒频率Af,=N/At,并得到平均距离变化率。计数测频的方法通常有两种:固定时间测整周和固定周数测时间间隔。在GPS接收机中通常采用固定时间测整周的方法。2.5本章小结本章从整体上介绍了GPS系统的基本原理,分别阐述了GPS系统的基本结构、定位原理、GPS系统信号结构、以及GPS接收机的工作原理。本章所介绍的是GPS的基础知识,只有掌握了这些知识,才能更加深入的理解后面的研究工作。 第三章GPS系统芯片的逻辑综合与等价性验证15本章根据逻辑综合的基本原理制定了适合于此GPS系统的逻辑综合策略,并根据功能设计的需要制定了符合设计要求的综合设计约束,完成综合的目标。同时利用形式验证中的等价性验证原理,完)赫J'RTL(RegisterTransistorLevel)与综合后的网表,以及综合后的网表与版图实现后的网表之间的等价性验证。3.1GPS系统芯片的逻辑综合3.1.1逻辑综合的原理与实现流程逻辑综合就是把RTL代码所描述的系统的逻辑功能和系统所要求的性能转换成一个最佳的逻辑网络结构的过程,该过程基于结构丰富、功能性能均己知的逻辑单元库。简言之就是从RTL级代码描述得到门级网表的过程。本次逻辑综合设计中所使用的工具是Synopsys公司的DesignCompiler软件。整个设计过程就是把VHDL硬件描述语言描述的RTL级代码设计转化为特定的优化’]级图3.1逻辑综合的具体实现步骤.首先准备硬件描述语言所描述的RTL级设计,这里使用的是VHDL或VerilogHDL语言所编写的程序。其次是进行RTL级代码的仿真,并确定是否满足设计的要求。此处主要使用Modelsim软件来进行仿真验证。 GPS系统芯片的后端设计与验证最后使用DesignCompiler7-具进行逻辑综合,同时要加入综合所需要的时序和面积的约束限制。这一步骤是整个综合过程中最关键的一步,如果我们不对综合过程加入约束限制的话,整个综合过程将不进行任何的时序和面积的优化。在使用DesignCompilerT具进行逻辑综合时,需要注意以下几点:(1).DesignCompiler-]-具使用技术库、DesignWare库、以及Symbol库来执行综合设计,并图形化的展示综合结果。在综合过程中,DesignCompilerT-具首先把VHDL/Verilog描述的代码转换为虚拟库GTECH库和DesignWare库表示的网表连接器件。此处,GTECH库主要包含了基本的逻辑门和触发器,而DesignWare库则主要包含了较复杂的单元,如加法器和比较器等。GTECH库和Desi盟Ware库都不依赖于特定的工艺技术。Symbol库的作用为图形化显示设计连接图。(2).当DesignCompiler完成将VHDL/VerilogHDL描述代码转化为门级描述时,同时也将此门级网表优化并映射到工程师指定的工艺库中,此工艺库称为目标库。这个过程是以工程师指定的约束为目标,在不违背设计规则的情况下,尽量满足工程师指定的约束。综合约束是工程师希望该设计应该达到的时序和面积目标。一般情况下,芯片设计的目标是:在满足时序要求的前提下,尽量减小芯片的面积从而获得最大的经济利益。从图3.2可以看出:面积与速度是芯片设计指标中存在的一对基本矛盾。在GPS系统芯片的逻辑综合中,首先需要对设计的时序进行优化,然后在时序满足设计要求的前提下优化芯片的面积。所以,物理综合主要分为两大步骤,分别是时序优化和面积优化【9】。AreaLarge图3.2面积和速度的关系3.1.2GPS系统芯片逻辑综合的具体实现GPS系统芯片逻辑综合的具体实现步骤如下:1.定义所需要的工艺库:DesignCompiler软件的工艺库文件是可读写的ASCII文件(即木.1ib文件),在综合过程中,Synopsys公司的LibraryCompiler会将其转化为综合所需要的可编译的文件(即木.db文件)。首先需要对DesignCompiler所用到的目标库(target_library)、 第三章GPS系统芯片的逻辑综合与等价性验证17链接库(1inklibrary)、线负载模型库(wire__load_library)、符号库(symbol_)ibrary)以及库文件查找路径(searchpath)进行设置。GPS系统芯片设计中这些参数设置如下:A.目标库(targetlibrary):目标库包含电路设计中需要用到的许多标准单元,如与门,非门等。目标库中每个元件的特性参数都可以用Spice工具提取出来。主要包括传输时间(max、驱动能力.transition)(max—fanout)、负载大小(max—capacitance)等。在综合过程中,DesignCompiler会根据这些特性参数来选取适合该电路的原件。本设计中的目标库设置如下:settarget_library[1ist”starlib—hvt一9t—Pslow—V100一T110.db”]B.链接库nillklibrary):用来解析网表文件中所例化的元件和子模块。具体设置为:setlink_library[concat$wireload_library[1ist¨糊’】C.符号库(symbol:符号库用于对此综合软件的图形界面提供各.1ibrary)种符号信息,便于用户直观的理解系统的架构及网表的构成。如果只使用shell模式,则可不必定义符号库。该芯片符号库的具体设置为:setsymbol_library[1ist”starlib—hvt一9t.sdb””starlibreg_9t.sdb”]2.读入RTL代码:在这里DesignCompiler读入的方式是analyze和elaborate。Analyze完成RTL代码的语法检查,如果有问题就需要不断地检查analyze.109文件并对RTL代码进行调试。如果通过检查,就会在working路径下产生一个".syrl”文件供后续的elaborate步骤。Elaborate将analyze产生的结果转化成GTECH库文件组成的逻辑电路。3.线性负载模型和工作条件的设置:A.线性负载模型(wire.10ad-model):在布局布线之前芯片的延迟信息,通常是用线性负载模型来预估。线性负载模型根据芯片面积的大小预估驱动组件数目①anout)的多少,进而来决定元件的电阻和电容值,并由这些参数信息估算出连线延时。因为元件和连线的延迟是根据这些参数来计算的,因此还要定义wire.10ad—mode。一般情况下此设置信息处于关闭状态,这样DesignCompiler工具会根据不同的设计需要来选择wire.10ad.model。通常情况为,顶层选择较大的线性负载模型,而底层面积较小的模块则选择较小的wire.10ad.model。因为本设计为一个完.整的chip,因此wire—load.model的类型设置为.top。同时为了让每一模块中的线性负载模型都与设置一致,将工具自动选取wire.10ad.model这一功能设置为否(false),并且选取一个偏小的线性负载模型,如果选取较大的线性负载模型会造成原件特性参数的偏差较大,导致电路的时序信息不准确,并且对后端的版图优化造成不良影响。此芯片的 GPS系统芯片的后端设计与验证线性负载模型设置如下:set—wire—load—model—namew一0250setauto——wire—.10ad——selectionfalseset——wire——load—.modetopset_wire_load_selection_group-librarystarlib_lphvt9twireB.综合条件设置(operating一般都会提供worst(slow)、typical、best(fast)---种模式,分别代表最坏、典型和最好三种情况。在最坏情况下时序最慢也最难满足,因此在进行逻辑优化的过程中将工作条件设置为最坏,如果此时的时序都可满足,那么芯片在典型和最好的情况下的时序也会满足。此芯片的工作条件设置为:setnd.operatingCOitionworst4。设计约束的设置:A.最大转换时间(maxtransitiontime):指的是驱动引脚改变逻辑值的最长时间,指信号在被驱动时由原始值跳变为新值所需要的时间。综合过程中应尽可能的将各个信号的跳变时间控$ONd,于最大转换时间的范围内。最大转换时间由工艺库中的参数决定,但是设计者也可以对它做出很严格的约束。此设计中的最大转换时间设置如下:set—max—transition0.2[current_design]B.最大扇出(MaxFanout):指单元驱动引脚驱动的单元门数。扇出表示了信号线的驱动能力,值越大信号的驱动能力就越强,所能驱动的逻辑单元也就越多。此处设置为:set—ideal—network—no_.propagate\[get_nets“test_muxtop_scan_enabletotms”】C.电容负载设置(setload):对设计的特定端口设置综合库所规定的单位电容负载,用来对综合阶段设置模块的输出端口电容负载进行建模。在本次设计中,由于不同的接口所连接的外围设备不同,因此需要对各个接口进行单独设置。如:所有输出的单位电容最小负载为20pf;但是对于不同类型的接口的单位电容的最小负载设置却各不相同。set—load.mill20[all_outputs]set—loadmin30[get__portHIF4]5.优化约束的设置:逻辑综合的作用不仅仅是映射出门级网表,更重要的是对电路设计进行结构和逻辑的优化。这种约束是外在约束,由设计工程师添加,代表了本设计的设计目标。优化约束包括时序约束和面积约束: 第三章GPS系统芯片的逻辑综合与等价性验证19A.时序约束:定义时序约束,能够使DesignCompiler在综合过程中优化逻辑,使综合后的电路能够工作在需要的时钟频率下,针对设计中的同步逻辑和异步逻辑有不同的时序约束定义方法。针对同步逻辑,采用了定义时钟的方式加以约束,使用createclock定义逻辑的输入时钟,使用set_input_delay和set_output_delay定义输入和输出的时延。对于异步逻辑,使用setmaxdelay禾-Dsetmindelay定义点与点之间最大和最小的时延。此处给出TCK时钟部分时序约束信息如下:setp_33MHZ[expr1000.0/33]create—clock-period$p一33MHZ—waveform[1ist0[expr${p_33MHZ}/2]]\-nameTCK[get_portsTCK】set—dont—touch—network[get.clocksTCK]set_clock_uncertaintyO.40[get__clocksTCK]set_clock_latency4[getclocksTCK]set_input_delay-max2.0一clock”TCK”【get_ports"TDITMSnTRST”]-add_delayset_input-delay-min0.0-clock”TCK”【get_.ports”TDITMSnTRST”】一add_delayset-output_delay-max4.0一clock”TCK”[get_ports”TDO”]一add_delayset-output_delay—min0.0一clock”TCK”[getports”TDO”]-add_delayB.面积约束:在综合过程中,可以使用setmaxarea对设计施加最大的面积约束,最大面积约束表示综合后使用的逻辑门个数而不是最后实际芯片的物理面积。6.选择综合策略:综合过程中主要有自顶向下(top_down)和自底向上(d0、)I,IUop)两种策略。自顶向下的综合步骤是:整个设计被读入并编译,然后基于设计指标只需在顶层应用约束和属性,通过对整个设计进行优化就可得到较好的结果;比较传统的自底向上的编译方案,则可在较少的文件需求条件下产生更佳的设计结果,但是,这样会造成编译时间较长,对子模块添加改动时需要重新综合,如果设计包括复合时钟或内部时钟,执行效果不佳。对于较小的设计(少于10K逻辑门),使用自顶向下的层次式编译方案。而自底向上的方法(即从最底层设计开始,再升至设计的最顶层)呗0适合于大型设计,不需要大量内存。由于时序预算编译方案使用各自独立的脚本,因此更易于管理设计。如果对子模块添加改动,也不需要重新对整个设计进行综合。它可以灵活地对单个模块进行优化,所以可以得到高质量的结果。但是它也有缺陷,比如更新和保管这些脚本是一件很麻烦的事情,顶层的关键路径不能应用到较低的层次。 20GPS系统芯片的后端设计与验证由于GPS系统芯片是一个大于50万门的大型设计,其中包括了一些第三方提供的口,并且对于某些特殊的模块有特殊的综合要求,因此此处我们采用自底向上的设计方案来完成此芯片的逻辑综合过程。7.综合结果的分析:完成设计的逻辑综合以后可以用report命令将电路的一些重要的面积及时序上的信息报告出来进行分析。此时阅读这些面积和时序的信息是非常重要的,我们可以从这些信息中了解所设计芯片的大致情况,并发现综合或者设计中存在的问题。详细信息请参看附录A。8.保存综合后门级网表和约束文件:保存综合后处理的信息:write—formatddc-hierarchy-output”working/gps_chip.ddc”保存综合后得到的VerilogHDL文件即木.v文件:write-formatverilog—hierarchy—output”working/gps_chip.V”保存综合的约束信息(木.sdc)文件:write—sdc-version1.4”working/gps_chip.sdc”3.2GPS系统芯片的等价性验证3.2.1等价性验证原理与实现流程形式验证(formalverification)是一种验证方法,它根据逻辑设计的功能和结构描述,用类似定理证明的方法或数学论证的方法来证明逻辑设计的正确性【9J。形式验证的验证过程是数学化的,而不是试验性质的。数学化的验证克服了模拟的不足,因为它对指定描述中所有可能的输入组合一次进行了验证,而不是仅仅对其一个子集进行多次试验。一般说来,形式化验证方法可以分为等价性检查(EquivalenceChecking)、模型检验(ModelChecking)和定理证明(TheoremProving)方法【7】。在本设计的后端设计仿真过程中主要使用等价性验证方法来确保综合和版图设计的正确性。等价性验证的基本原理是建立被比较的两个模型之间的关系【_71。检验的依据是数学定理和公理,以及设计中所用到的标准单元库的精确描述。等价性检验程序自动确定被比较的两个设计的关系,而不需要用户输入。因此它的优点是使用简单,且很容易集成到设计流程中。在本设计中用Onespin.公司的CVE(CircuitVerificationEnvironment)T具完成设计的等价性验证。为了验证两个设计在功能上是否一致,形式验证工具首先需要定义比较点,所有设计的顶层输出端、时序单元的输入端口、黑盒子输入引脚都被工具默认为比较点。通过定义比较点,可以把每个比较点前的组合逻辑电路当作比较逻辑锥。工具首先假定两个设计的时序 第三章GPS系统芯片的逻辑综合与等价性验证21单元和存储器元件是等价的,然后利用随机输入向量对两个设计进行功能模拟。然后形式验证比较每一对比较点,通过数学方法证明两个逻辑锥的功能和比较点的下一个状态的行为是否相同。如果一对比较点的逻辑锥的功能通过验证,就说明参考设计和实现设计的比较点达到匹配状态。所有的比较点都通过验证,整个设计的验证就成功了。本设计中的等价性验证过程使用的工具是Onespin公司的CVE软件,其具体实现流程如图3.3所示【26|。图3.3等价性验证的实现流程首先准备等价性验证所需要的各种文件,主要包括库文件信息、RTL代码信息、门级网表信息等。然后CVE工具分别将比较双方的文件类型转变成CVEI具自己的文件类型,即将原来的RTL代码或门级网表转化成木.rsm类型文件,这一步就是extract和extractrevised。完成上面一步后CVE-V具将木.rsm文件根据设计中的库文件信息编译成木.gat文件,且Pcompile和compilerevised步骤。以上步骤完成以后CVE工具就可以对两组信息做等价性验证,这里验证工具对每一个比较点进行检查并得出比较结果。3.2.2GPS系统芯片的等价性验证在GPS系统芯片的设计中等价性验证主要用在RTL代码和综合后的门级网表及综合后的门级网表与版图后的门级网表的比较中。 GPS系统芯片的后端设计与验证RTL代码与综合后的门级网表的等价性验证是指RTL源代码与综合后的门级网表是否等价,以保证综合过程中不会出现任何差错:当门级网表需要进行功能上的小改动时,可以对其直接进行修改,同时为了保证RTL源代码与门电路的一致性,需要对RTL源代码进行相应的改动。由于在综合的过程中,使用了扫描设计,插入了扫描链,并且添加了clockgatingcell,这些设计导致RTL代码和综合后网表有所不同,所以需要加入如下约束信息将clockgatingcell屏蔽掉:clock·-gating·-cellstoGPS_chipSNPS—HIGH一幸[clockgate_clock_pin=CLK,clock_gate_out_pin=ENCLK]:latch__posedge__precontrol;另外,为了方便对生产出来的芯片进行测试,在逻辑综合过程中采用了scariregister,实际上就是把电路中的常规register换成scanregister,并将这些寄存器串连起来,给后面的测试带来便捷。综合后网表的时序路径按扫描链路进行传输,而在RTL代码中却没有扫描链路,因此在等价性验证过程中,不对scanshift模式的等价性进行验证,故需要屏蔽scanshift模式,此处只需将scanregister的控制端scarfenable信号设为0即可,命令如下:boolean.constraintstobothtest_mux_top_scan_enableto-1nLS=0;综合后网表与版图后网表的等价性验证:这种情形主要用来验证生成时钟树前后的电路网表在功能上是否一致;布局布线前后的电路网表在功能上是否一致;手工对版图作了一些修改后,是否会影响到其他模块的功能等。一般来说在做布局布线的过程中不会再对电路结构进行修改,因此无需加入任何约束。需要注意的是:等价性验证过程中需要将某些模块设置为黑盒(blackbox),如一些不需要验证内部行为的PAD,RAM,ROM和一些D等。用加黑盒的方法有利于提高我们进行等价性验证的效率,进而保证电路设计的正确性。3.3本章小结本章研究了GPS系统芯片的逻辑综合和等价性验证过程。其中逻辑综合过程根据设计需要详细的制定了综合的约束包括综合的环境设置、面积约束、时序约束等。在设计中为了确保芯片的正常工作,同时利用形式验证中等价性验证的原理对此芯片的后端设计过程进行了验证,并对每一版RTL源代码和综合后网表(pre.1ayoutnetlist)了相应的验证确保了综合过程的正确性,且对每一版版图后的网表(post.1ayoutnetlist)与综合后网表(pre.1ayoutnetlist)也做了相应的等价性验证确保了版图设计的正确性。 第四章GPS系统芯片的版图设计版图设计是指将前端设计产生的门级网表通过EDA设计工具进行布局布线和物理验证,产生供制造商生产所使用的GDSII数据的过程n副。其主要工作职责有:芯片物理结构分析、逻辑分析、建立后端设计流程、版图布局布线、版图编辑、版图物理验证、联络代工厂并提交生产数据。作为连接设计与制造的桥梁,合格的版图设计在整个设计过程中起到至关重要的作用。版图实现是其中重要的一环,它把每个元件的电路表示转换成集合表示,同时元件间连接的线网也被转换成几何连线图形。在版图实现的过程中布局规划、电源规划与合理的时钟树设计是建立合理的芯片版图的重要步骤,同时这也是现阶段深亚微米版图设计所遇到的主要难题。4.1BlastFusion软件简介Magma公司提供了完整的RTL—to—GDSII的芯片设计平台,利用单一的可执行程序完成包括设计规划、综合、布局布线、信号完整性和电源完整性等芯片设计功能,提供了“从逻辑电路到硅片的最佳路径”(“TheFastestPathfromRTLtoSilicon")解决方案【131。主要包括BlastCreate和BlastFusion两个大的功能块【l31。BlastCreate是一个基于gain-base算法的物理综合工具,具有高速,大容量的特性。同时BlastCreate整合在RTL.to—GDSII的设计流程之中,包含了DFT的规则检查,错误修复,及扫描链的综合等一系列功能。BlastFusion是一个Netlist.to.GDSⅡ的自动布局布线工具,包括了版图优化、布局布线、时钟树生成、电源布线、寄生参数抽取、完成设计规则检查、天线效应的修复、以及内嵌的时序分析等功能。另外,Magma公司还提供了一些重要的补充功能,主要包括层次化设计(BlastPlan)、信号完整性设计(BlastNoise)、电源线分析(BlastRail)等。本节重点介绍并讨论BlastFusion软件较为常用的基本功能:Netlist.to.GDSII,即使用BlastFusion完成门级网表到GDSII的转变。通过对时序、噪声、布局布线、多电压域设计等各种实际问题的解决,更好地了解目前深亚微米大规模集成电路自动布局布线设计主要面临的问题,以及BlastFusion软件的解决方法。4.2GPS系统芯片版图的设计流程BlastFusion软件所完成的整个版图设计过程都是由tel(toolcommandlanguage)语言编写的代码完成的,这些代码被我们称为fi)【脚本。本文中所使用的所有的脚本文件都是由专门的脚本工程师根据Magma公司所提供的脚本文件模板 GPS系统芯片的后端设计与验证并结合公司的设计情况编写而成。这些脚本是我们完成整个后端版图设计的主要手段,具体的实现过程如下图4.1所述【13】:图4.1BlastFusion版图设计沉程1.库的准备:完成整个后端版图库文件信息的准备,包括准备设计的工艺库、设计模块库、时序分析的工艺库。2.设计准备:读入综合后的门级网表及时序约束文件并翻译成BlastFusion软件识别的时序约束脚本形式(即将综合后得到的时序约束脚本转变成BlastFusion语言形式的脚本)。应用时序约束并写出时序报告,对比PrimeTime与BlastFusion的时序信息。Fixtime这一步骤主要完成逻辑的优化,门级网表的结构重组,并将门级网表的物理单元映射成SuperCell。3.版图布局及电压的设计:fixplan主要完成版图的物理布局、电源和地线的定义、版图面积大小的设计、模块和输入输出端口及pad的摆放、解决如何添加blockages等问题。Fixpower主要设计版图的供电系统,目的是完成整个设计的供电结构,后面的章节将对其进行详细介绍。4.物理优化:fixcell在这个过程完成SCan.chain重新排列、将SuperCell翻译成实际的标准物理单元、完成所有的标准单元的摆放、同时对整个版图的布局进行相应的微调。5.时钟树优化和时钟树的设计:fixclock主要完成时钟树的设计和优化,同时对保持时间的violations进行首次修复,后面的章节将对此做重点介绍。6.完成版图的布线:fixwire完成版图的布线,修复天线效应及内部的一些DRC,LVS等问题、同时完成密度的检查。布线主要分为三步globalroute,trackroute 第四章GPS系统芯片的版图设计和detailroute。首先将版图上所有的未进行连接的nets进行全局的globalroute,工具会将整个版图自动划分成很多的globalroutingcells(全局布线单元),然后对这些单元进行globalroute,在全局布线时所有的nets就会被分派到其经过的全局布线单元中去;Trackroute布线主要任务是对全局布线完后的一些有特殊要求的nets进行重新布线,比如要考虑一些时序上的优化或是考虑噪声的影响、窜扰的消除等;最后就是完成detailroute,这一步的主要问题就是解决所有的DRC,LVS等问题完成整个芯片的布线。7.设计信息的提取:完成布线以后还要完成fillercells的插入、内部天线效应的修复等问题,然后就可以提取各种形式的设计信息如:GDSII,DEF,VerilogHDL等类型的文件,以备后续流片生产和验证之用。4.3GPS系统芯片版图的布局布局是整个后端版图设计中十分重要的一步,首先是在满足电路时序要求的条件下得到利用率高且总体面积小的版图,其次布局是把整个设计划分成便于控制的多个模块。布局将实现各功能的宏单元模块摆放到合适的位置,这样做的目的是最大限度的减少连线的RC(ResistanceCapacitance)延.迟和布线的寄生电容效应。此外,良好的布局还可以减小芯片的面积和降低布线时出现拥塞现象的几率。在版图的实现中主要是使用综合后得到的时序约束SDC(SynthesisDesignConstrain)文件,这样对布局布线的时序分析起到良好的作用。布局设计的主要规则如下:1.属于同一模块的宏单元模块尽量放在一起;2.具有大量互连的宏单元模块应尽量靠近;3.两个macro之间一般应留最少10微米布线通道;4.两个具有大量互联线的模块所属宏单元模块应该尽量放在一起,以缩短模块间的走线长度;5.和I/O或pad相关的宏单元模块应该尽量靠近I/O或pad放置;6.如果有锁相环,锁相环应该放在corearea的角上,并远离高驱动I/OPad和同步翻转的数字YOPad,远离高频、高功率器件;corelogicpowerring不能与锁相环交叉。锁相环应与corelogicpowerring保持30微米以上间距,与其它数字器件保持100微米以上间距。为什么不采用工具自动布局呢?我们之所以不用BlastFusion软件自动去布局主要是因为:软件在自动布局的过程中只是根据各宏单元模块的面积大小完成宏模块的放置。自动布局放置的主要思想就是先放置面积较大的宏单元模块然后放置面积较小的宏单元模块,并不考虑单元间的关系也不会去考虑时序和DRC等 GPS系统芯片的后端设计与验证问题。也就是说工具没有人那么智能,会考虑到各种特殊的情况.所以手动完成版图的布局是非常重要的。以下就给出一个简单的例子对此进行简要说明。图4.2左是任意拿到的一个没有完成宏单元布局的版图,当我们执行完以下命令:runflooIplansizeSm/floorplan:xxxx—targetufil0.8f即设置chip利用率为80%让软件自动完成芯片的布局)得到图4.2右的版图布局:图4.2BlastFusion自动布局实现的版图从上图我们可以很清楚地看到在版图设计过程中,当我们给布局工具一个80%的利用率让工具自己去完成整个版图布局的时候,BlastFusion软件只是按照面积的大小及所设置模块的属性去完成整个版图,并没有考虑模块间的关系,所以不管软件多么的高级还是需要人们手工去完成整个版图的布局设计。芯片布局(丘xpl删实现的基本的流程如下,这里请参看图4.3:首先是将设计所需要物理库和完成综合后的门级网表bind起来,在这里我们一般直接将做过fixtime后保存的time.volcano文件读入BlastFusion软件中。在这个timevolcano文件里面包括GPS系统所需要的所有的库文件、门级网表、及时序约束等信息。然后完成整个floorplan的padring放置、宏单元模块放置、所有的标准单元放置、及整个设计blockage的设置等。同时对整个设计加入配置约柬并完成所有宏单元模块的布局。最后评估布局结果好坏从而确定版图的布局设计,即检查设计的版图布局是否满足“GoodflooIplan”要求。我们一般使用的判定标准是评估“overallcongestionscore”的结果判定版图设计的好坏,也就是预布线的走线拥塞程度估计。这个数据用以显示可能出现布线拥塞区域,然后根据layout上面显示的问题在flooIPlan里面进行布局调整以尽量减少布线的拥塞,当然也可以通过一些命令来优化,但是如果仍然存在数量较多的拥塞问题就要考虑重新调整布局规划,甚至重新进行noorplaIl设计。“Overallcongestionscore”的数字范围是0到10,10是最好的情况0是最坏的情况,当这个值越接近10时时序及DRC,LVS等结果都比较好,反之就比较差。一般如果这个数字低于9就认为是较差的floorplan。无需再继续做其它的版图流程,需要重新做flooIplan并重新完成芯片的布局设计和添加bloakage 第四章GPS系统芯片的版图设计27等。图4.3fixplan的流程GPS系统芯片的布局主要指的是GPS系统中所有宏单元模块的布局。此芯片布局的要求是尽量满足设计时序的要求并使整个芯片的利用率大于80%。其基本的流程如下:首先完成布局设计的准备工作:读入fixtime完成后保存的time.volcano文件,并确定整个GPS系统芯片的长,宽和面积,这些参数信息都是根据综合后的结果及芯片设计的利用率要求共同制定的。这里要注意在这个芯片里面采用pad代替了输入输出端口,因此设计时要在芯片的左右两边留出与pad长度相同的margin以便放置pad。在这个系统里主要有SCUBIC、FWRAM、RFPMU.SHELL、EDT、RTCTOP等主要模块。最后在布局之前要把每个模块对应的宏单元的数量和大小先列出来,进行分类从而方便后续布局设计,如下图4.4所示。 GPS系统芯片的后端设计与验证图4.4GPS系统芯片使用的所有模块其次就是完成fioorplaa的宏单元模块的具体放置,满足布局设计的要求。这一步首先要确定pad,这里主要考虑到时序方面的要求,一般pad可以放在整个chip的周围,也可以单独的放在一侧,或者分别放置在任意两侧。本设计中将所有的pad主要分成两部分,分别放置在整个芯片的两侧,这主要考虑到时序和供电等因素的影响。然后需要考虑面积较大的宏单元模块的放置,本GPS系统芯片中面积较大且比较重要的模块主要包含RTC(RealTimeConb'01)、RF(RadioFrequenty)、DCB(DesignCon扪alBlock),所以需要将这三个主要的模块放进版图。如下图4.5所示为完成pad及主要模块放置后的版图。在此芯片中考虑到整个设计中RF模块是射频单元,这一模块工作时要求的频率较高,且功耗较大,电感值也比较大,容易和其它的模块发生耦台及噪声窜扰等问题,所以这个模块应该避免与较为主要的功能模块位置靠近,综上考虑RF与DCB两个模块问的距离不能太近,郎主要的功能模块尽量不要和RF单元模块放在一起。而DCB与RTC最好是紧密相邻,主要因为整个芯片的设计采用多电压域的设计方法,RTC的工作电压为1ov,和整个芯片板子的工作电压1.08v不同,RTC工作电压来自由DCB模块的高电压经过levelshiftcell后变成的低电压,这样设计的好处是为了降低系统的功耗,关于多电压域设计这一部分将在后面做详细的介绍。闯画图4.5pad及主要模块的放置图示最后完成剩余模块的放置,此处主要将SCUBIC、FWRAM、EDT等宏单元 第四章GPS系统芯片的版图设计模块合理而有效的放入版图中,从而完成整个版图的布局。一般的布局规则是大的宏单元模块放在整个芯片的四周,主要因为宏单元模块一般都是设计好的单元,其里面的布局布线都是设计好的,即M1到M5都已经被用过,同一个模块的单元尽量放在一起,宏单元之间带端12的一侧与其相邻的模块间距一般是9u~15u,不带端口的相邻边距一般为2u~3u,各单元之间一般不要再放标准单元以免引起时序或DRC等问题,同时此处还需要添加blockage来避免后续步骤中的标准单元放置到此处。下图4.6显示了各模块之间的间距的要求,从图中我们可以很清楚地看到,布局设计时宏单元之间带端口的一侧与其相邻的宏单元模块不带端口的一侧的间距是1097u,而相邻宏单元之间不带端口的两侧间距仅为27u。圈4.6宏单元模抉的间距的要求版图布局设计中blockage(即阻挡层)的设置:在BlotFusion软件里主要有四种类型的blockage,分别是:1macrohalos:保持macro与macr0之间间距的阻挡层;2macroclearance:保持stdcell与nlacl'o间距的阻挡层;3stdcellblockage:让standcell远离macrochannel或其他的区域的阻挡层;4nonbufferblockage即只能放buffer的阻挡层,这种blockage的作用主要是为了后面修复时序问韪。如图47所示在模块A右面红色的部分是我们设置的nlacFohalos类型的阻挡层,其主要目的是避免其它的模块与之靠得太近,造成一些设计上的DRC问题。其次在模块B上面我们设置了一层standcell类型的阻挡层,这主要是避免标准的逻辑单元被放置到此处造成后续布线方面的困难,同时我们也看到在整个的模块之间被填充fillercell这主要是满足芯片生产过程中金属层之下的参杂层在设计规则上的一些要求。 GPS系统芯片的后端设计与验证图47布局中block.age的设置完成所有宏单元模块的放置后剩余的空间部分用来放标准单元(standcells)。在我们的设计中,所有的宏单元模块布局完成后剩余的面积全部用来放置标准单元,根据经验在设计flootplma时放置标准单元的形状最好是正方形,而其位置最好处于整个芯片的中心,这一方法是经过Magma公司设计验证过的。在本文的GPS芯片版图设计过程中我们也是尽量把chip的中间区域设计成正方形,以便在后续fixcell步骤中更好地完成所有标准单元的放置,得到与10最为接近的“overallcongestionScore”。图4.8明确显示出standcoils被放置在整个芯片布局的中间位晋。图48整十芯片的布局版图44GPS系统芯片版图的power及多电压域设计4.41GPS系统芯片版图的power设计Power设计是现阶段物理实现中的一个重要课题,在深亚微米工艺中布线层次的增加、线宽的变窄都是电源规划所面临的问题。合理的电源规划可以减少迭代的次数,也可以避免一些影响芯片稳定性的有害效应,如Electro-migration(电迁移)和IRdIUp(电压降)等口q。静态的mdrop是由于芯片中电源网络的金属连线电阻所造成的,它导致电源和地之间电势差降低。从而导致对应区域上的标准单元和宏单元的工作速度和噪声容限降低;而动态的IRdrop则是由于某一区域中的单元同时进行电平转换(如时钟信号单元、总线驱动单元、地址解码单元等)造成 第四章GPS系统芯片的版图设计的,这两种Rdrop效应都会减小逻辑门的噪声容限。而由于IRdrop所造成的逻辑错误和时序问题很难用传统的时序工具进行分析。电迁移是金属线在电流和温度作用下产生的金属迁移现象,它可能使金属线断裂,从而影响芯片的正常工作。电迁移在高电流密度和高频率变化的连线上比较容易产生,如电源、时钟线等。随着工艺特征尺寸的不断降低电流密度的不断增大电迁移效应已经越来越成为影响芯片成品率的主要因素。在65纳米的工艺中共用7层金属线对整个芯片进行供电和布线:其中第一层金属(M1)是标准单元里面的信号线;第二层金属线(№)是用来给标准单元供电,被称为powerrail;第三层金属线(M3)矛11第四层金属线(M4)主要是用来布线,即把相关联的单元都用这两层线连接起来;最后的三层即第五层M12,第六层M12B,第七层LB被称为powermesh是用来给整个系统供电,其中LB层是只给bump供电的,如果系统里面没有bump就不需要布这一层金属。在本GPS系统芯片中含有bump,因此本设计中七层金属被全部使用。综上所述,本GPS系统芯片主要采用M2作为powerrail;M12,M12B,LB三层金属作为powermesh给整个系统芯片供电。整个GPS系统芯片的power设计流程参看下图【13】:图4.9power设计的主要流程从图4.9可以清楚地看到完成版图布局以后,通过两个过程完成整个芯片的power设计,分别是powerrouting和detailedphysicaldesign,即供电布线和细节化 GPS系统芯片的后端设计与验证物理设计。首先,在powerrouting步骤中主要完成整个门级网表的电线和地线的配置,并产生给各宏单元模块供电所需要的powerl_ing,而后产生给整个系统芯片供电所需要的powermesh和给标准单元(standcells)供电的powerrail;其次对于detailedphysicaldesign主要完成电线和地线的布线,然后判断整个floo”pleal是否满足布线设置的需要,如果满足,则继续完成下一步fixcell,否则就需要重新返回fixplan调整芯片的布局。做好以上的准备工作以后就可以使用BlastFusion软件来完成整个芯片的power设计设计了。在整个的power设计中需要的主要命令如下:1生成powernng:forceroutepower2ring&runroutepower2ring2.生成口owcrmesll:forceroutepower2mesh&runroutepower2rilesll3.生成powerrail:forceroutepower2rail&runroutepower2rail完成上述power设计后得到如图410所示的GPS芯片系统供电网络图示,从图中我们可以清楚地看到M12,M1413,LB所定义的powermesh、M2定义的powezrail、以及此芯片供电系统的大致网络层次连接关系。图410GPS系统芯片的电压设计4.4.2GPS系统芯片版图的多电压域设计随着现代办公环境中计算机和通信设备对电能的使用程度的提高,低功耗设计也与日益提高的全球性环境保护意识直接联系起来。因此,功耗也就成为集成电路最为重要的设计和性能参数之一。多电压域MPD(MultiPowerDomain)设计指的是在整个系统芯片中设计多个工作电压,系统中的不同模块工作在不同的电压下。简单理解就是各电压域在不同的电压下运行,并要求在所有的域交叉处都有电平开关。这种设计方法的目的是节省系统功耗。因为功耗由电压的平方来决定,因此,如果设计团队可以把芯片的一部分电压从1.2v降低到1V,那么这200mV的差别是可以显著降低系统总功耗的。多电压域设计是许多消费类产品在65纳米设计领域的一种节约功耗的重㈠墨一熏一 第四章GPS系统芯片的版图设计要设计思想。多电压域设计中的一个复杂问题是在不同的不确定温度和程序点进行定时分析,并保证其疆盖到各个不同的电压阶段。多电压域设计的主要思想是根据设计的层次结构及工作电压环境的不同设计出多个电压域,即多个domams,再把这些domains在版图中表现出来,筒而言之就是在已有的版图里面再设计多个版图,这样就形成主domain和子domain,其设计思想可以参看图411。由图4.11可以看出根据综合后的门级网表所提供的芯片设计逻辑层次结构,工程师结合整个芯片设计的供电情况利用BtastFllsion软件把整个设计分成多个domains,在布局时把这些划分好的domains映射成真正的物理版图布局【”】。LogicalHierarchy●●●●●●●●DomainsFloorplan.:.●●圈411domam设计的原理Domain的概念:在我们使用的Bl勰tFusion软件里,引用了domain这种特殊的内部结构来降低芯片上不同工作电压模块上的功耗。Domain将定义一组单元(cells),同时给这些单元特定的操作条件即PVT(ProcessVoltageTemperature)设置,这里的特定操作条件设置是根据设计要求确定工艺条件,电压条件和温度条件,完成PvT设置就可对这些单元进行时序和功耗分析。在设计中于domain和主domain在整个floorplan所配置的工作环境是不一样的,所以要分月Ⅱ地配置它们的工作环境参数(即PvT参数)及一些相应的库信息。Domain设计实现流程请参看圈4.12。首先是产生domain,这里主要使用BlastFusion工具自带的命令dataca-caredomain来完成;然后产生各个domain里面相关的net和rail,使用到的命令为:forcedomainnetdomai:snet:s和forcedomainraildomain:snel:slib:srail:s:其次设置各个domain里面的相关PⅥ信息即设置温度、电压、工艺信息,使用到的命令主要为;forcedomainvoltage/proce毫s/temperamredomain:svaluc:r[-c船e:e】;最后完成库文件信息和相应domain的绑定。 34GPS系统芯片的后端设计与验证图4.12domain的设计流程图下面介绍多电压域设计的具体实现流程,如图4.13所示:首先准备多电压域设计需要的库配置文件,并预先定义好满足多电压域设计需要的libraryrail和powerpins信息;然后完成domain设计和domain参数信息的设置,这里对domain信息的设置请参看上图4.12;接下来就是把设计好的domain变成实际的版图的过程,这里主要是根据芯片设计要求完成包含多个domain的版图;最后就是完成levelshiftercells的插入,这里levelshiftercells的作用是完成电压在不同的domain之间的值的转变:完成以上步骤后,domain的版图设计过程和一般版图设计步骤相同(版图设计的一般流程在4.2节有详细的说明)。图4.13多电压域设计流程图 第四章GPS系统芯片的版图设计多电压域的设计引入了levelsi'fiflercells(即级别转换单元)完成电压值的转变。Levelshiftcells实现电压从一个电压域(指的是高“氐电压域)到另一个电压域(指低,高电压域)的电压值的转变,一般这种单元被放置在多电压域的四周或是一侧,图4.14给出levelshiflercells在多电压域设计中放置的位置I”】;..j◇一.图414levelshifte*ceils放置位置不恿圈GPS系统芯片多电压域的具体实现过程为:首先根据设计要求定义108伏特的主电压,在这个主电压域的里面设计了一个工作在loo伏特RTC的子电压域。当芯片收到来自外界的控制信息需要RTC子电压域的模块工作的时候,levelshilkh"cells将来自DCB宏单元模块的高电压108伏特变成RTC子电压域的工作电压1oo伏,使RTC模块开始工作。图4.15给出此芯片系统的多电压域设计实现后的具体版图图415GPS系统芯片多电压域版图多电压域设计的主要目的是减小芯片的功耗,此芯片主要采用减小工作电压的方法减小功耗。在我们的设计中主domain和子domain工作在不同的电压下,所以其内部的power设计也是有很大的不同的。图416清楚地给出主domain和于domain在实际设计中供电系统的差异,从图可以清楚地看到主domain供电设置和于domain的供电设置是不一样的。 GPS系统芯片的后端设计与璇证图416GPs系统多电压域上的mesh信息多电压域的设计给设计者提供了通过选择关断芯片的不同电压区域减小动态功耗的可能。根据设计者的设计配置工具可以自动地产生满足设计需要的不同的电压区域。不同的电压域能在不同的电压或者是在关断特定的模块的相同电压下运作,从而使得设计的功耗最小化。但是多电压域设计也存在很多问题:1.怎样把整个层次的设计分割成不同的工作电压组。2.怎样完成不同电压域间时序设计,功率分析及标准单元的优化。3.怎样实现不同电压域与其对应的powernets的连接。4怎样处理多电压域设计带来的electricalcondition问题。随着工艺和科技的不断革新这些问题将会被一一解决。45GPs系统芯片时钟树的设计时钟树CTS(CIockTreeSynthesis)综合指将一些buffer、invert单元加入到电路中,提高系统的时钟驱动能力,减少插损,保证同一信号经过不同路径,满足相对的时间约束。时钟树路径开始于输出脚(ou单utpins),终止于时钟端子、异步/复位端子、一些输入对输出端口没有任何限制的路径,以及设计者自定义的不需要进行时序分析的路径。在传统流程中,时钟树一般是在标准单元放置后进行设计,但在基于连续收敛的集成电路设计流程中,一般推荐在试验性布线后进行,这样可以获得更准确的时钟信息,时钟树的效果也更好,在目前的纳米级布线中,可以更详尽的对时钟信号进行布线。在插入CTS前,推荐先进行布线优化,修正建立时间的violatlons;插入CTS后,还要进行保持时间的violations修正。时钟树生成一般通过时钟约束文件来进行,因此约束文件的编写十分关键。一般在做CTS之前,先对需要插入时钟树的路径进行详细的分析,同时对插入元件也进行针对性的选择,比较好地解决了相对时间约束较长的路径驱动问题。时钟树综合对于一个同步数字电路来说就像它的命脉,有关时钟树的时序是非常复杂的,也是所有后端工程师必须面对的难点。Ic设计中当芯片存在多个不同源的时钟树时,时钟树综合就需要进行多时钟处理。~般情况下处理策略如下: 第四章GP$系统芯片的版图设计1关键时钟信号首先处理。关键时钟信号一般指最高频率时钟,在设计中太部分的分时钟的都是它的分频时钟。它在系统中是总体性的,它关系到系统各个模块时钟的平衡性,优先级最高,其它时钟信号按照优先级别来进行。2时钟交叉的处理。在多时钟的情况下,一般不可避免出现时钟的交叉。这种情况下进行时钟树综合的时候,将交叉时钟的参数设为相同,时钟树综合工具就会平衡两个时钟的clockskew,这样做出来的时钟虽然不是同源,但是clockskew一般都比较小。3.门控元件的处理。在超大规模集成电路设计中,为了进行低功耗设计,时钟路径上不可避免的带有门控元件。有时候门控对钟像时钟路径上的计数分频电路一样需要一些特殊处理。GPS系统芯片的时钟树生成这一部分基于BlastFusion软件自动完成,主要使用命令runrouteclock产生前期布线所需要的H-tree结构.然后用疗xclock完成整个时钟树的生成。此过程主要完成时钟树的插入(insenioⅡ)、时钟树的平衡(balancing)、保持时间的修复(fixhold)、后时钟树综合优化等。在这里我们使用的时钟树结构是平衡的H-t1_ee结构类型,如图417所示是设计中的H-wee结构图。—fr-丐一』V-严。-2了一‘“一,0j⋯一一-{—帝一“‘号出生兰b如ro“图4.17H-tree时钟树结构图时钟倾斜(CloskSkew)指的是由于时钟信号要提供给整个电路的时序单元信号,从而导致时钟线非常长,并构成RC分布网络,它的延时与时钟线的长度和被它所驱动的时序单元的负载电容、负载个数有关,由于时钟线长度和负载的差异,会导致时钟信号到达相邻两个时序单元的时间不同,这就是所谓的时钟倾斜,也叫时钟偏差【l”。在大规模集成电路中,时钟信号通常是整个芯片中扇出最大、通过距离最长、以最高速度运行的信号。用时钟信号控制的寄存器.由于离时钟源的距离不同,因而时钟信号到达每个寄存器时钟端的时间都不一样,这种效应称为时钟偏移。时钟偏移过大会引起电路时序混乱,导致功能错误,因而在高速ASIC设计中时钟偏移越来越受到设计者的关注【l“。由于负载能力的问题,时钟振信号不可能直接驱动寄存器,所以现在时钟网络的分布大都采用时钟树的架构,如何布好时钟树决定了电路的时钟偏移.因此时钟树综合成为芯片后端设计的重要一环。 GPS系统芯片的后端设计与验证图418为此芯片完成以后的时钟树clockskew对比框图著差彗喜圈418clockskew对比框图时钟树综合的目标就是为了能够得到一个最小的clockskew值。从前面的介绍可以看到进行行为级的功能验证时使用的就是理想时钟,要使实际的芯片能够按照功能仿真中的时序工作,最有效的途径就是使一个时钟树的clockskew达到最小。因为时钟树综合的目的就是平衡时钟上各个时序关节点的传输延时,使它们之间的clockskew值达到最小㈣。4.6本章小结本章研究了GPS系统芯片的版图设计过程,利用BlastFusion软件实现对此芯片的布局设计,power设计.多电压域设计,时钟树综合等过程,并对上述过程进行了详细描述,同时对后端版图实现工具及其实现流程进行了介绍。 第五章GPS系统芯片的版图验证39随着芯片集成度和规模的不断提高,在设计的各个层次上所需运行的验证内容也相应增多,其中将布线完成后输出的GDSII文件进行物理验证变得非常重要,它对于消除错误、降低设计成本和降低设计失败的风险具有重要作用。本章使用Calibre软件并结合sign.off物理验证规则,完成了版图实现后的各种规则的物理检查,主要包括DRC、ERC、LVS、ANTDRC等。通过反复对各种问题的检查和修复达到芯片设计和工艺生产的要求,保证了芯片的成功流片。5.1Calibre软件简介Calibre是MentorGraphics公司推出的版图验证工具,具有界面化、操作简单等特点。通过界面化的操作,可以轻松完成DRC、LVS等必备的版图检查工作,提高工作效率。更为突出的是该软件引进了层次化(Hierarchy)的思想,也就是分而治之的处理方法,大大缩短了检查时间,这一优点对于Dracula而言是望尘莫及的。而且在对于更高集成度的版图验证方面,Calibre还可以轻松地解决在Dracula时代看似困难的短路(short)之类的问题【141。目前,Calibre工具已经被众多设计公司、单元库和P开发商、晶圆代工厂采用为深亚微米集成电路的物理验证工具。Calibre具有先迸的分层次处理功能,是唯一能在提高验证速率的同时,对设计进行优化的层次化物理验证工具。由于布局工具自动布线产生的版图多少会存在连线上的问题,比如多连线或者是少连线,短路等问题,所以对使用Magma公司软件完成后的版图做一些DRC,LVS,ERC等版图验证工作是非常有必要的,通过Calibre的进一步检验可以保证芯片流片获得更高的成功率。5.2版图验证的主要内容版图验证主要包括设计规则检查(即DRC)、电学规则检查(即ERC)、版图和电路图一致性检查(即LVS)、天线效应检查(即ANTDRC)等。下面对这些检查进行详细的说明:DRC全称是DesignRuleCheck(设计规则检查),主要规定了掩膜版各层几何图形的宽度、间隔、重叠和两个独立的层间距离等加工参数的最小允许值。设计者不能突破这些最小尺寸的限制,也就是说,版图设计尺寸只能大于和等于设计规则的要求。光刻掩膜版上的尺寸是加工线需要的最后尺寸,所以几何设计规则规定的是光刻掩膜版上的尺寸。设计规则的检查是电路能正常加工的最基本保证。 GPS系统芯片的后端设计与验证ERC的全称是ElectricalRuleCheck(电学规则检查),在版图设计过程中除违反设计规则的图形尺寸错误外,还经常发生电学错误,如电源、地、以及某些输入或者输出端的连接错误。这就需要用ERC检验步骤来加以防范。电学设计规则是在版图设计过程中检查电学连接是否存在冲突,并通过ERC检查对存在的错误进行定位,方便设计者修正错误。电学规则检查的对象有以下几种主要错误:1.节点断路。拥有同一个节点名的节点在电学上是相互连接在一起的,因此一个节点应该只有一个节点名。如果在ERC检查后发现版图中有多个相同的节点名,则说明该节点有断路现象。2.短路。在正常情况下,不同节点名代表电路中不同的互不连接的节点。如果检查后发现,在同一个节点处出现两个或两个以上相同的节点名,则说明该节点处于短路状态。3.接触点浮空。如本来应该互相连接的接触孔和金属层并未互相交叠,即出现无接触错误。4.特定区域未接触。如P阱或者n阱没有分别接地或者接电源;n型衬底或P型衬底没有分别接电源或者接地。5.不合理的元器件节点数(或扇出数)。如源、漏极的连接点数缺损,说明存在短接现象;某一节点与输入MOS管的漏极连接数过多,说明该节点的扇出(负载)数过重等。在这些错误中,有一些错误是必须改正的,如电路短路和断路,而有些警告必须经由设计者辨认才能确定是否是错误。LVS(LayoutVSSchematic)是电路图和版图一致性检查,首先从版图中提取出电路网表,然后再将提取的电路网表与版图进行比较。比较结果可以是完全一致的,也可以是不完全一致的。设计者应该对所有的警告类信息进行检查,区别需要纠正的错误和可忽略警告信息的差别。在版图设计过程中,版图设计提取的网表与原设计电路图之间不匹配错误的产生是不可避免的,解决的方法是利用Calibre工具进行电路图与版图匹配的LVS验证,对出现的错误进行分析并在BlastFusion软件中予以解决,直到完全无误。ANTDRC指AntennaDesignRuleCheck(天线效应检查)。天线效应是指:在进行IC制造过程中对连接在晶体管栅极Gate上的金属层进行刻蚀时电荷会在金属的表面聚集,如果这些电荷聚集到一定程度,就有可能导致晶体管二氧化硅栅极被击穿从而导致整个芯片的失效。随着现代IC生产技术的不断发展,设计的特征尺寸越来越小,天线效应的影响也越来越成为物理设计中不能不考虑的一个制约因素。对65纳米或是更小的生产工艺来讲,天线效应已经成为影响芯片成品率的重要因素之一。面对这一情况应用于深亚微米工艺的商用后端软件均推出了其针对天线效应的处理方式。当然,不同的工具处理方法不尽相同,但基本上都是通过对所有的标准单元的栅极进行一个保护面积的定义,然后计算Layout上数据的面积,并与定义的保护值进行比较,得到一个天线效应阈值比(Ratio)。设计者可以设定这个Ratio值,从而可以在一定程度上消除天线效应。 第五章GPS系统芯片的版图验证4l5.3版图验证的实现流程本节主要介绍版图验证的实现流程:1.DRC/ANTDRC/ERC检查:DRC/ANTDRC/ERC检查的实现流程如图5.1所示【14】。首先要准备好设计工艺需要的role文件(即几何设计规则文件)和版图做完以后的GDSⅡ文件。Rule文件是由设计的工艺库提供的,本设计中所使用的是65nm工艺库。准备好DRC检查所需要的这些文件以后,下一步需要运行runcalibre,让工具进行自动的DRC:/ANTDRC/ERC检查,检查完成后会生成calibre.rep和calibre.db文件。一般首先检查calibre.rep文件里面的错误信息,明确所检查出问题的类型、数量等,再打开calibre的图形界面和BlastFusion的图形界面,在calibre里面导入calibre.db信息,在BlastFusion里面导入对应的volcano文件,根据calibre的错误信息提示分析问题原因找出解决办法,并在BlastFusion里面对出现的问题进行解决。问题解决以后重新导出GDSII文件,再做DRC/ANrDRC/ERC检查,检查问题是否确实被解决。RldefileCompletedLayoutCalibreDRC/ANTDRC/ERCASCIIReportCalibreResultsDatabaseLocateerrorusingCalibreRVEandLayoutToolCorrectLayomErrors图5.1版图验证中DRC/ANTDRC/ERC的实现流程2.LVS检查:LVS检查的实现流程如图5.2所示【14】。LVS检查的流程大致与DRC的检查流程相同,只是在文件准备阶段不仅需要rule文件,还需要layout和source文件,检查完以后同样会生成calibre.rep和calibre.db文件,一般先检查calibre.rep文件里面的错误信息,明确所检查出的问题,再打开calibre和BlotFusion的图形界面,根据calibre里面错误信息的提示分析问题原因找出相应的解决办法,并在BlastFusion里面将出现的问题解决,问题修复后还需要重新完成Calibre的LVS检查确保问题确实被解决。 GPS系统芯片的后端设计与验证图5.2版图验证过程中LVS的实现流程在我们的Inway工作环境中,90纳米以后主要使用Calibre软件完成版图的验证工作。概括起来版图验证的流程有以下几个步骤:1在UNIX环境里准备好做版图验证的路径和结构。2根据项目的信息完成运行Calibre的文件并运行Calibre检查。3检查验证后的结果文件,同时阅读相关的库文件文档找出结果文件里真正的问题。4首先在Ca曲re软件里面修改这些violations,然后返同到BlastFusion里面完成最后的修改。54版图验证过程中的若干问题及解决办法当完成整个版图的布局布线以后,就需要对得到的GDSIJ文件进行Calibre分析,并对其中存在的若干DRC、ANTDRC、ERC、LVS等问题进行分析与解决,下面对该芯片在版图验证中遇到的若干问厩及解决办法作以简述。问题1:两个软件设计规则即designrule不一致造成的孔间距问题。如图53所示:器盏一”:二量逸:;i宦》o:二喵‰⋯。?g::黜裟?:图53两个软件规则不同造成孔间距问题 第五章GPS系统芯片的版图验证43完成CalibreDRC检查后得到错误信息报告如下:RULECHECKr2x53b⋯⋯⋯⋯⋯⋯⋯⋯⋯.TOTALResultCount=10(101错误原因分析:i.首先检查CalibreDRC的designrule里面关于r2x53b这条规则的描述:r2x53b{@Rule2x53b:V0—2minspacetoV0—2一forcommonrunlength>0um300\[(AREA(M1_2)\(2‘AREA(diff))]【(AREA(MI_2)+!!AREA(reg-gateivll-2))/(AREA(reg_gate_MI—2)在BlastFusion里面我们可以查到相同的规则定义。所以不可能是规则或是软件处理的问题。又因为此问题发生在RF模块的pin上,所以接下来检查与此模块相关豹库文件信息是否出错。1l在对与RF模块相关的库文件进行检查的时候我们发现在LEF(LEF文件指的是libraryexchangeformal文件,要包含设计模块的标准单元信 48GPS系统芯片的后端设计与验证息、I/O单元信息及各金属层的物理信息,如宽度,间距,端口信息等)文件中丢失一些RF模块端口信息的gate值,但是此模块的GDSII文件里有pin的gate信息值,又因为BlastFusion软件是使用LEF文件的信息来进行RF模块的天线效应检查的,因为没有此值gate信息,软件自动作0处理,所以BlastFusion软件检查不到错误,但是Calibre软件以GDSII文件信息作为天线效应检查的标准,故可以发现此问题错误的解决:库信息不全造成的这种问题的产生,所以我们可以要求模块单元的提供方给我们提供丢失的信息。但是为了节约时间也可以手动修改此类问题,具体的解决方法如下:i.在Calibre里面查出丢失的端口信息的gate值。当我们做完Calibre的天线效应检查以后会得到antdrc.out文件,在此文件中会保存所有错误的详细信息,如下所示:r131-工P—Ml_2::<1>=NARM1—2gatediffreg_gate_M1_2>300【(AREA(M12)水!!AREA(reg_gate_M1_2))/(AREA(reg_gateMl_2)+(2木AREA(diff)))]CELL=GPS_chipFPC=INET=56428VALUE=471.22605364M1—2AREA=24.598PERIMETER=COUNT=DBCOUNT=10reg_gate_M1_2AREA=0.0522PERIMETER=COUNT=DBCOUNT=2diffAREA=OPER卫ⅥETERjCOUNT=DBCOUNT=0从上述信息中我们可以看到gate的面积为0.0522平方微米(默认单位),即此处的reg_gateMl_2结果值。ii.然后返回到BlastFusion软件里写脚本修正这一问题,脚本如下:clearreadonly/GPS3vlrfmacro_top_libsetmod/GPS3vlrfmacro_top——lib/GPS3——V1—.RFMACRO——TOP\/GPS3——V1——RFMACRO——TOPsetpin_list[1istCLNA—CTRLlCVC0[1]CVCO[5]cvco[o]CVCO[4]MMD[1]MMD[0]RF_SELECTIVITYCURRENT[6]MIXER_LO_DC[0]IQ_SWITCHADIV_ON]foreachpinSpin_list{ruleantennagate_area${mod}/mpin:$pin0.0522u2)此脚本的中心思想就是找到此模块RF对应的库并关闭库的只读属性,再依次找到所有丢失的gate信息的端口名作为一个pin,最后用命令.1istruleantennagate_area对丢失的gate信息值进行补充。问题5:版图验证中ERC问题的修复。BlastFusion工具完成ERC检查后,clean的GDSII文件再进行Calibre检查时发现一个与N阱有关的问题,参看图5.11。具体分析解决如下: 第五章GPS系统芯片的版图验证图511Cal/bre的ERC检置中N阱问题完成Calibre的ERC检查后得到的错误信息报告如下:RULECHECKN3iVPowerCheck⋯⋯⋯TOTALResultCount=1f1)错误原因的分析:i.首先检查造成此CallbreERC问题的相关rule信息:NWPow瑚Cheek{@NwellnotatPowerFLATTEN“((NWcontrolledOUTSIDE(maskERCNOTN3))OUTSIDENWgnd)OUTSIDENWno砒、NOTINSIDEpvl6ec651p)}由规则可知此处确实存在N阱未接到power上的错误。然后在Calibre工具里面逐一打开和此处Nwdl相关的所有层。详细层次信息参看图511:当层次打开到M3(第三层金属层),M4(第四层金属层)和MI_2(第五层金属层)时.可以很清楚地看到出现问题的Nwel]通过金属层M1连接到M4,再从M4连接到上面那根金属层Ml2,然后由MI一2连接到右边的M1-4B(第六层金属层)和LB(第七层金属层),而此MI.4B所连接的LB对应的端口名为VSSLNA2。ii最后在BlastFusion工具里面我们检测到此端口VSSLNA2处于空闲状态-即floating状态,指没有和任何的金属线或是单元相联,此处请参看下图512。藤黑l—J⋯.=:—-J’jNootnerboxe0HO:目【0n“ee0S.2eKe呲Lo目107lP-0々envVa¨oLaverjXjL860I:103518m172‘995m01u。J0⋯np『nVS'S—LNA2“““7譬。、、§—~ GPS系统芯片的后端设计与验证错误的解决:具主要检查所有名字匹配VSS/VDD开头的端口或是金属线的连接状态,主要检查有没有连接到该连接的端口或是金属线,是否有漏连等问题。此处因为VSS—LNA2的属性是floating,且名称匹配VSS开头,故Calibre报出ERC的出错信息。在BlastFusion工具中source脚本如下:datacreateport/work/m0724_chipVSS】NA2-directionotherdatacreatenetSmVSS1NA2dataattach$m/net:VSS_LNA2net__pin$m/mpin:VSS—.LNA2dataattach$m/net:VSSjNA2net__pin\$m/RF_PMU_shell/inst_RFMACRO/pin:VSS_LNA2datacreatebox”2.85118m3.921995mO.1u0.1uLBrouting\$m/mpin:VSS_LNA2”此脚本的中心思想是把名称与VSSLNA2相匹配,且具有floating属性的pin连接到名字和其一样的金属线上,但是这根金属线实际上是不存在的,即我们假设了一根名为VSSLNA2的金属线的存在。虽然上面加入的假想金属线没有改变端口VSSLNA2的属性,但是在Calibre工具检查时,工具会默认此端口被连接到金属层VSS上,从而不再报出此类的错误信息。5.5本章小结本章研究了GPS系统芯片的版图验证过程。介绍了版图验证的主要工作内容,阐明了利用Calibre软件实现此芯片版图验证的主要流程,同时,重点分析了此GPS系统芯片在使用Calibre软件完成版图验证过程中所遇到的若干问题,经过详细分析,提出相应的解决方法。 结束语近年来随着集成电路的快速发展,基于GPS系统芯片的相关产品已经成为常见且十分重要的一类消费性电子产品,广泛应用于诸多领域。而GPS系统芯片的后端设计又十分重要。针对上述问题,本论文主要讨论了GPS系统芯片后端的设计与验证工作。本文使用Synopsys公司的DesignCompiler工具、Onespin公司的CVE工具、Magma公司的版图设计软件以及MentorGraphics公司的Calibre版图验证软件详细地介绍了GPS系统芯片的后端设计与验证过程。本论文的研究内容主要包括以下几个部分:1.根据逻辑综合原理采用白下而上的设计方法并结合综合设计约束,使用Synopsys公司的DesignCompiler工具完成该GPS系统芯片的逻辑综合。根据等价性验证原理采用Onespin公司的CVE工具完成此芯片的等价性验证,主要包括RTL代码与逻辑综合后的门级网表的等价性验证,以及版图完成后得到的门级网表和逻辑综合后的门级网表的等价性验证,该验证过程保证了逻辑综合和版图设计的正确性。2.使用Magma公司的版图设计软件BlastFusion,根据GPS系统芯片版图设计要求,完成该芯片的版图设计。对整个版图的布局设计进行了描述,对power设计中低功耗设计思想所引入的多电压域设计方法及其实现的具体流程进行详细的阐述,并对时钟树综合等过程作出分析。3.采用MentorGraphics公司的Calibre软件完成此芯片的版图验证工作,并对验证过程中出现的若干DRC、ANTDRC、ERC问题进行了细致的分析,在此基础上对其进行解决,为版图完成后的成功流片提供了有力保障。该GPS系统芯片己于2008年6月成功流片生产,目前正处于测试及进一步开发阶段。该芯片主要用于移动便携的手持类终端,如手机、便携式电脑、MP4等。该芯片通过天线接收卫星信号,处理后将数据输出至视频终端。使用该芯片用户可以通过移动终端随时随地地确定目标的位置。该GPS系统芯片支持多种终端,采用较先进的工艺,广泛应用于野外勘测、登山探险、旅游、交通等诸多领域,有很大的市场潜力和发展空间。随着IC工艺的不断发展,探索纳米级尺寸工艺的芯片设计方法必然成为一种趋势,这需要我们在以后进一步学习与完善。 致谢两年多的硕士研究生生活转瞬即逝,手捧自己的论文,回顾这段紧张而又充实的学习、工作时光我感触颇深。首先我要衷心地感谢我的导师——庄奕琪教授。庄老师在学习、工作上对我的巨大支持、鼓励和谆谆教诲使我充满了求知的渴望与动力。庄老师学识渊博、治学严谨、工作一丝不苟、待人和蔼可亲。他严于律己、宽以待人的优秀品质,为人师表的工作态度,强烈的事业心,饱满的工作热情,诲人不倦的师长风范深深地影响了我的研究生生涯,并将继续指引我的求知之路。非常感谢在英飞凌实习期间曾给予我巨大帮助的陈勋(David)和杨林林(Roger)两位领导,非常感谢王金富、于海林、申晓峰、达力安,感谢在完成本项目过程中与我并肩战斗的同事们,你们的渊博学识、崇高的敬业精神以及对工作一丝不苟的态度深深地影响了我,再次向你们表达我深深的谢意。感谢我的三位舍友苏佳、李媛嫒和徐盈,感谢我的男友孟博,有了你们,我的求学之路才变得丰富多彩,阳光明媚!叩谢我的父母,感谢我的家人,你们就是我前进路上无比强大的动力。再次向所有关心、帮助过我的亲人、朋友们说声:谢谢! 参考文献55[1】【2][3][8]8[9]【lO][11][12】[13][14][15][16][17】[18]李明峰,冯宝红,刘三枝.((GPS定位技术及其应用》.北京:国防工业出版社.2006.刘基余.《GPS卫星导航定位原理与方法》.北京:科学出版社.2003.ElliottD,Kapla著,邱致和译.((GPS原理与应用》.北京:电子工业出版社.2002年.pp。10一35.胡伍生.((GPS测量原理及其应用》.北京:人民交通出版社.2002方群,袁建平,郑愕.《卫星定位导航基础》.西安:西北工业大学出版社.1999.王惠南.《GPS导航原理与应用》.北京:科学出版社.2003.ShiYHandChengKT.FormalequivalencecheckinganddesignDebugging.Boston:KluwerAcademicPublishers.1998.pp40-60.EngDandLOkKM.Efficientequivalencecheckingofindustrialdesigns.ProceedingsofIEEEDesignVerificationConferenceinEurope,2001,ppl·10.Synopsys:DesignCompilerUserGuideVersion.李兴.《超大规模集成电路技术基础》.电子工业出版社,1999年5月.PrakashRashinkar,PeterPaterson,LeenaSingh,System⋯013achipVerificationMethodologyandTechniques.London:KLUWERACADEMICPUBLISHERS.2001.Sforza,F.,Battu,L.,Brunelli,etc.“Adesignforverificationmethodology".QualityElectronicDesign.2001InternationalSymposiumon,2001.MAGMA:BlastFusionUserGuideVersion.MentorGraphics:CalibreUserGuideVersion.R.EscovarandR.Suaya.Transmissionlinedesignofclocktrees.InProc.IEEE/ACMInt.Conf.ComputerAidedDesign.ICCAD,.2002.pp398—410.N.Chang.ClocktreeRLCextractionwithefficientinductancemodeling.InIEEETrans.ElectronicDevices.2002.pp2068—2087.薛耀国,王豪才.深亚微米SOC高压缩率EDT设计.微电子学与计算机.2006年第23卷第3期。Juin—MingLu,Cheng—WenWu.CostandBenefitModelsforLogicandMemoryBIST.Proc.DesignAutomationandTestinEurope(DATE2000).IEEECSPress,LosAlamitos,Calif.,20000.[19]王志华,邓仰东.《数字集成系统的结构化设计与高层次综合》.北京:清华大学出版社.2000.1JMpK口 参考文献[20]Synopsys:SoCChipSynthesis[21】唐杉,徐强,王莉薇.《数字IC设计》.北京:机械工业出版社2006.[22].ChristopherSaint,JudySaint著,李伟华,孙伟锋译.《集成电路版图基础一使用指南》.北京:清华大学出版社.2006.[23]马光胜,冯刚。((soc设计与P核重用技术》.国防工业出版社。2006.[24]Kiat—SengYeo,SamirS.Rofail著,Wang—LingGoh,周元兴,张志龙译.《底功耗CMOS/BiCMOS超大规模集成电路》.北京:电子工业出版社.2003.[25】JohnP.Uyemura著,周润德译.《超大规模集成电路与系统导论》.北京:电子工业出版社.2006.[26]Onespin.CVEUserGuideVersion.2004.[27]蔡懿慈,周强.《超大规模集成电路设计导论》.清华大学出版社.2005. 附录57附录A逻辑综合面积报告如下:奉书母母木拳术木木木木枣木木水,Ic木凇木弗木木木宰术木事枣木宰宰木木爿c木丰木木木幸Report:areaDesign:xxxx_chipVersion:Y.2006.06.SP4Date:FriApt1801:13:142008木幸木卑枣木枣木木木木宰木木宰唪术木聿乖木水枣木木木幸幸枣卑幸枣木:I:jI=车木木木幸Numberofports:Numberofnets:Numberofcells:Numberofreferences:Combinationalarea:Noncombinationalarea:NetInterconnectarea:Totalcellarea:Totalarea:2731169320913351.3750006798740.500000undefined(Wireloadhaszeronetarea)7712903.000000undefined逻辑综合最差时序报告如下:Startpoint:SCUBIC/fs_pII_byp_sregXlX(risingedge·-triggeredflip—-flopclockedbyCLIOEndpoint:SCUBIC/LOCKUP(positivelevel·sensitivelatchclockedbyCLK)PathGroup:CLKPathType:maxDes/Clust/PortWireLoadModelLibrarygps_chipw一0250PointFanoutTransIn【crPathclockCLK(riseedge)clocknetworkdelay(ideal)0.OO4.000.OO4.OO 58附录SCUBIC/fs__pllbyp_sregXlX/CP(H09LPSFD4QSX020)SCUBIC/fs__pll__byp_sregXlX/Q(H09LP—SFD4QSX020)SCUBIC/fs__pll_byp_s[1](net)2SCUBIC/LOCKUP/D(H09LP—SDP1QX020)dataarrivaltimeclockCLK(riseedge)clocknetworkdelay(ideal)clockuncertaintySCUBIC/LOCKUP/EN(H09LP—SDP1QX020)timeborrowedfromendpointdatarequiredtimedatarequiredtimedataarrivaltimeslack(MET)0.00O.004.00r0.06O.554.55fO.060.OOO.OO4.OO一0.450.OO1.004.55f4.55f4.550.OO4.003.55r4.55—4.55O.00 附录59附录Bfuncfix_spacing”m:slayer:s”{setblockageList[1ist]dataloopmarkerBox”model_marker—markertypecalibre”Sm{setmarkerRect[queryboxrectangle$markerBox]setleft[queryboxleft$markerBox】setbosom[queryboxbottom$markerBox]setheight[queryboxhei曲t$markerBox]setwidth[queryboxwidth$markerBox]setnewHeight[expr[unfix$height]+[unfixSOn]]setnewWidth[expr[unfix$width]+[unfix80n]]setnewBox”$1eft$bottom$newWidth$newHeightSlayerblockageSm”datacreatebox”$newBOX”)checkrouteDRCSmrunroutefmal.incremental$mrunrouterefineSmforeachblockage$blockageList{catch{datadeletebox”Sblockage”>) 附录附录Cdataloopenlib—entity$1ib{dataloopmodentity_modelSen{dataloopupmodel__upcellSmod{puts”一INFO:addingVVblockageforbumpSup’’setcoordinate[datalistcell—outlineSup]setX[1index[1index$coordinate0]0】setY[1index[1index$coordinate0]1]setW[1index[1index$coordinate0]2]seth[Iindex[1index$coordinate0]3】datacreatebox”[expr[吼丘x$x]-[硼【fix3u]][expr[unfixSy]一[unfix3u]][expr[unfix$w]+[unfix6u]][expr[unfix$h】+[unfix6u]]VVblockageSm”)))

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭