您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 布局布线详细流程说明
布局规划(Floorplan)...............................................................................................-7-3.3单元放置(Placement)............................................................................................-13-3.4时钟树综合(ClockTreeSynthesis)......................................................................-15-3.5全局与细节布线(NanoRoute)..............................................................................-17-3.6电压衰减分析(IR-drop)........................................................................................-20-3.7GDSII及网表(netlist)导出并做物理验证............................................................-20-3.8最终功能与时序验证..................................................................................................-20-当一个设计完成了前端逻辑综合并生成了门级网表后,接下来的任务就是门级网表的物理实现,即把门级网表转换成版图(layout)。在半定制设计流程中,所谓的数字后端就是指布局布线物理实现。在半定制设计中所需要的大部分后端数据都是由流片厂家或者相关公司提供,这些数据对于设计者都是透明的,所以设计者只需要做后端布局布线工作。实际上,布局布线只是后端设计的一个部分。在工程实践中,数字后端设计应该包括标准单元库的设计,宏单元的定制设计以及布局布线实现。1.布局布线工程师应该具备的能力在超深亚微米集成电路设计中,我认为一个好的布局布线工程师应该具备以下几个基本能力:z要深入了解相关布局布线工具的各方面特性及参数。这样才能正确操作布局布线工具。z要良好把握后端物理实现中标准单元和宏单元的性能指标及物理参数。这样才能在芯片布局布线初期对预布局有合理地规划,并且可以对芯片预估的性能有很好把握,最终减少布局布线实现的迭代次数,提高执行效率。-1-要很好地掌握布局布线需要使用的各种数据信息,了解各种数据是如何而来的。这样在布局布线过程中,出现错误时可以马上定位问题所在之处,否则一点数据上的错误如果不能及时地找出解决,可能会导致整个工程进度的长时间停顿。z要能在布局布线过程中与前端设计工程师进行有效地配合。这样在物理实现过程中,许多实现策略及优化的设置都能通过与前端工程师的交流得到正确地指导。超深亚微米集成电路设计是一个流程很长的工程,从前端到后端,各个环节都是相互紧密联系,每个环节都会影响最终芯片的实现结果,尤其对于高性能芯片的设计更是如此。在高性能芯片设计中,普通的半定制设计流程无法实现达到性能要求的芯片,必须引入全定制与半定制混合设计方法。这种方法在实现流程中,不仅要进行高标准的前端设计,在后端也需要设计高性能的标准单元库及关键路径上的高性能宏单元。因此,在高性能芯片设计初期就需要有对前端到后端整个设计流程有深入了解的工程师来把握全局,指导前端和后端设计,并在高性能芯片设计初期提供一些有效的设计规范。而这样的工程师,我认为只有布局布线工程师才可以担当,因为布局布线实现是集成电路设计流程中前端和后端设计的连接点,前端设计和后端设计的所有数据就是在布局布线过程中使用并最终实现设计的芯片。所以,一个优秀的布局布线工程师不仅能够很好地完成本身的设计工作,在全定制与半定制混合设计过程中应该能够发挥重要的作用。其重要性我归纳有如下几个方面:z芯片设计初期,在前端设计流程中能够为前端工程师提供设计建议。这样可以对芯片进行更合理地体系结构设计及性能预估。由于可以考虑到后端实现的各种因素,所以可以在前端合理设置综合过程中的时序约束。z芯片设计初期,在后端设计流程中根据布局布线工具的实现策略,能够给标准单元和宏单元设计者提供必要的设计建议和规范,这对高性能芯片实现并达到设计要求具有极其重要的价值。z芯片设计过程中,能够对自行设计的标准单元和宏单元进行合理地评估,指导后端单元库设计者设计更合理的单元。-2-工具:布局布线Soc_Encounter5.2形式验证Formality反标综合Designcompiler版图编辑VirtuosoLayoutEditorDRC,ERCHerculesExplorerDRC门级代码转CDL网表Nettran命令LVSHerculesHierarchicalDesignVerificationRC寄生参数提取StarRCXTSign-off时序分析PrimeTime进行后端物理实现时,还要准备好各种基本设计数据和相应的物理库、时序库文件,并输入到布局布线工具中,为其后的物理实现工作做好准备。物理实现需要的数据如下表类型种类说明设计网表Gate-levelnetlist综合后的门级网表设计约束文件Chip_design.sdc与时序要求相关的文件物理库文件Standard.lef、I/O.lef、Ram.lef各种模块的物理视图文件时序库文件Standard.lib、I/O.lib、Ram.lib各种模块的时序信息文件I/O文件I/OConstraintsFileI/O管脚的位置信息文件布局要求文件FloorplanConfigurationFile版图规划规范文件同时还需要确定标准单元库所面向的工艺线,得到来自流片厂家建库所需的版图设计规则、RCModels及电参数等技术资料。-3-布局布线实现流程根据我的工程实践,我用一款某处理器IP核的布局布线实现来说明。在布局布线实现策略上有两种可以选用的方法,一种是展平式实现方法,一种是层次化实现方法。展平式实现方法是通过综合产生门级网表以及相应的标准时序约束文件,再调用标准单元和宏单元,通过布局布线直接实现物理设计。然而,在上百万门的复杂芯片设计中,展平设计方法会占用大量的内存,需要很长的运行时间。层次化实现方法是将庞大的设计在物理实现上分割成数个模块,重点处理时序复杂的模块,缩短设计收敛的周期,使时序问题局部化。但是,每个模块的物理实现过程其实都是一个完整的展平化物理实现过程。层次化实现方法对于规模不大的设计,性能优化并不明显。在我的物理实现过程中,由于该处理器规模为70万门左右,所以我使用的是展平的设计方法。我把布局布线流程分为以下八大步骤:1.数据导入2.布局规划(Floorplan)3.单元放置(Placement)4.时钟树综合(ClockTreeSynthesis)5.全局与细节布线(NanoRoute)6.电压衰减分析(IR-drop)7.GDSII及网表(netlist)导出并做物理验证8.最终功能与时序验证下面我将根据实际工程实践介绍各步的详细流程。3.1数据导入在工作目录下启动Encounter5.2工具,并导入必要的数据信息,如下图所示。-4-收集整理在最基本的数据导入中,需要提供4种数据:z导入DC综合后的门级网表,并指定最顶层的模块名称,一般在复杂的网表里需要手动指定,自动指定往往会出现错误。z导入标准单元和宏单元的时序信息文件,时序信息有三种情况,为了能够让时序分析更加精确,至少要导入最差和最好情况下的时序信息。z导入工艺信息、标准单元和宏单元的物理信息数据、天线效应信息文件。这里在导入数据时有顺序问题,首先需要导入工艺信息数据,才能再导入物理信息数据,最后才能导入天线效应信息文件。z导入DC综合后生成的时序约束文件,该文件用来指导工具进行基于时序驱动的布局布线以及时钟树生成。z导入IO管脚的位置信息。如果设计的芯片是与其他芯片相兼容的,那么IO管脚位置就是固定的。如果IO管脚是自己指定的,可以先尝试用工具查找最优位置,再在工具推荐的位置信息中进行修改。这里没有预先定义IO管脚位置。导入基本信息以后还需要导入和设置一些额外的数据信息:-5-定义电源/地名称信息,如下图所示。z用于进行串扰分析和优化的.cdb数据,如下图所示。z用于寄生参数抽取过程使用的电容表(.capTal)数据,如下图所示。-6-用于时钟树生成及时序优化的单元定义,如下图所示。这时工具需要使用的数据就导入完毕了,这些数据有的是其他工具生成的,有的是流片厂家提供的。3.2布局规划(Floorplan)布局规划在芯片设计中占据着重要的地位,它的合理与否直接关系到芯片的时序收敛、布线畅通、电源稳定以及成品率。所以在布局布线过程中,布局规划的确定需要占用比较长的时间,以保证后续工作顺利进行。我把布局规划的过程分为以下四个过程。z设置布局规划参数,如下图所示。-7-收集整理在这里需要设置芯片的大小和形状,可以通过芯片的长宽比及内核利用率两个设置选项来定义芯片大小,也可以直接设置芯片的长宽具体数值。如果芯片面积设定太小,则会造成高拥塞度导致长周期的设计迭代,所以我在工程中一般是基于芯片的规模估计需要使用的面积,再使用先松后紧的方法来确定合适的芯片大小。z电源/地规划,主要包括电源/地环(Powerring)和电源/地带状线(Powerstripes)设置。在电源/地规划前需要进行全局电源/地网络定义,如下图所示。-8-收集整理设置电源/地环需要注意电迁移的问题,解决的办法就是使电源环要足够宽,足够供应整个芯片内单元的电压和电流需求。电源/地环设置如下图所示。-9-收集整理电源/地环宽度也需要设置合理
本文标题:布局布线详细流程说明
链接地址:https://www.777doc.com/doc-1545444 .html