EDA技术和工具第九讲解析课件.ppt

上传人(卖家):晟晟文业 文档编号:5183142 上传时间:2023-02-16 格式:PPT 页数:69 大小:4.03MB
下载 相关 举报
EDA技术和工具第九讲解析课件.ppt_第1页
第1页 / 共69页
EDA技术和工具第九讲解析课件.ppt_第2页
第2页 / 共69页
EDA技术和工具第九讲解析课件.ppt_第3页
第3页 / 共69页
EDA技术和工具第九讲解析课件.ppt_第4页
第4页 / 共69页
EDA技术和工具第九讲解析课件.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、EDA 技术和工具Electronic Design Automation:Techniques and Tools后端设计(layout)熊晓明20132013年年contents集成电路设计和EDAASIC设计流程前端设计工艺库HDL逻辑综合与优化各项设计指标的平衡(trade-off)测试设计(DFT)后端设计(layout)实体综合(physical compiler)ECO和Manual Editing动态时序仿真静态时序分析版图验证(Design Rule Checking)后端设计、物理设计、实体设计(physical design、backend design、layout)感

2、谢:Prof.Ernest S.Kuh of UC,Berkeley参考书数字集成电路物理设计(国家集成电路工程领域工程硕士系列教材)作者:陈春章/艾霞/王国雄出 版 社:科学出版社出版时间:2008年08月 印刷时间:2008年08月I S B N:9787030220318VLSI Physical Design:From Graph Partitioning to Timing Closure 精装 Andrew B.Kahng(作者),Jens Lienig(作者),Igor L.Markov(作者),Jin Hu(作者)出版社:Springer;Edition.(2010年12月1日

3、)精装:324页语种:英语ISBN:904819590X参考书Fall 2010Electronic Design Automation VLSI Design CycleSystem SpecificationArchitectural DesignLogic DesignCircuit DesignPhysical DesignFunctional DesignFabricationPackagingFall 2010Electronic Design Automation IV-6Fall 2010Electronic Design Automation Physical Design

4、Convert the netlist into a geometric representation.The outcome is called a layout.Fall 2010Electronic Design Automation IV-78v 物理设计是把电路信息转换成foundry厂可用于掩膜的版图信息的过程,它包括数据准备、布局、时钟树综合、布线及DRC、LVS等步骤v 如右图所示v 常用的布局布线工具有Synopsys公司的IC Compiler和Candance公司的SOC-Enconter。Fall 2010Electronic Design Automation Phy

5、sical Design CycleCircuit PartitioningFloorplanning&PlacementRoutingLayout CompactionExtraction and VerificationFall 2010Electronic Design Automation IV-9工具:IC Compiler内容:partitioning、floorplanning placement clock tree synthesis routing物理设计112-General IC Compiler FlowSynthesisData SetupDesign Planni

6、ngPlacementClock Tree SynthesisRoutingChip Finishing This Unit12图113图21415库的建立库的建立v 做物理设计首先要建立reference libraryv Reference library 包括以下几部分:stand cell library、pad library、macro cell(或IP library)。v Stand cell 包括inverters、buffers、ands、ors、nands、muxes、flip-flops等v Pad cell 包括信号pad、电源地padv Macro 即设计中用到的一

7、些宏模块v 下页以图讲解stand cell、pad cell、macro16四个conner位于芯片的四个角,起到连接四边IO pad 的作用。物理设计物理设计物理设计Fall 2010Electronic Design Automation Floorplanning Set up a plan for a good layout.Place the modules(modules can be blocks,functional units,etc.)at an early stage when details like shape,area,I/O pin positions of t

8、he modules,are not yet fixed.DeadspaceFall 2010Electronic Design Automation IV-20Fall 2010Electronic Design Automation Fall 2010Electronic Design Automation Floorplanning Problem Given circuit modules(or cells)and their connections,determine the approximate location of circuit elements Consistent wi

9、th a hierarchical/building block design methodology Modules(result of partitioning):oFixed area,generally rectangularoFixed aspect ratio hard macro(aka fixed-shaped blocks)fixed/floating terminals(pins)Rotation might be allowed/deniedoFlexible shape soft macro(aka soft modules)(w1,h1)(wN,hN)IV-21Fal

10、l 2010Electronic Design Automation Fall 2010Electronic Design Automation Floorplanning(cont.)Objectives:Minimize area Determine best shape of soft modules Minimize total wire lengthoto make subsequent routing phase easy(short wire length roughly translates into routability)Additional cost components

11、:oWire congestion(exact routability measure)oWire delaysoPower consumption Possible additional constraints:Fixed location for some modules Fixed die,or range of die aspect ratio NP-hardIV-2223布图规划布图规划vfloorplan(布图规划)的主要内容包含了对芯片大小(die size)的规划、芯片设计输入输出(IO)单元的规划、宏模块的规划、电源网络的设计等vfloorplan在整个流程中具有十分重要的地

12、位,因为floorplan一旦确定,则整个芯片的面积就定下来了,同时它也与整个设计的timing和布通率(布线能否布通)有着密切的关系。基本上流程中的反复主要是发生在这一步中。如果这一步做得比较好,则后面once pass的几率就比较高,反之如果回溯到这一步,则花费的时间开销就会很大。vfloorplan是物理设计中手工程度很大的工作24布图规划布图规划通常情况下,一个芯片由core area 和pad area组成25布图规划布图规划Pad area 由以下几个部分组成:1、Input/Output/InOut pads如右图中Reset2、Power pads and conner pad

13、s右图上右上角那个CornerUR为一个conner padsConner pads 的作用是连接其两边的Pads(连接衬底以及衬底以上的各个层)VDD VSS 为Power pads,其对外连接供电的封装引脚,对芯片则起到供电的作用,Power pads 可以分为对core 供电的pads 和对IO pads 供电的pads,所有的Pad都是由晶体管以及各层金属构成的,Pad 也是一个cell。26布图规划布图规划v3、Pads fillers vPads fillers 为图中Filler所示,其作用为连接两个两邻的pads(从衬底到各层金属的相连)vP/G ringsv所有信号pads、

14、电源地pads、fillers、conners都是有电源地的引脚的,用金属线把这些引脚相连,形成pad area上的一个环,称为P/G rings,如果所有的pads都是无缝排列的,那么pads上的自身的金属已经相互连接成了P/G ring。272-Floorplan After InitializationUnplaced Macro cellsUnplaced Standard cellsCore area with site rowsPeriphery with I/O pad cellsStarting Floorplan28布图规划布图规划vFloorplan 阶段在core are

15、a 内要确定macro的位置,可以通过飞线显示macro的pins与io或其它macro的pins的连接关系,来帮助确定macro的位置vFloorplan要进行预布线,即布电源地网络。概述里面已经讲到从floorplanplacementclock tree synthesisrouting的流程。有两个地方做了布线的工作即floorplan阶段的电源地网络的布线、routing阶段的信号的详细布线。Fall 2010Electronic Design Automation Placement Exact placement of the modules(modules can be gat

16、es,standard cells,etc.)when details of the module design are known.The goal is to minimize the delay,total area and interconnect cost.vFeedthroughStandard cell type 1Standard cell type 2Fall 2010Electronic Design Automation IV-29Fall 2010Electronic Design Automation Fall 2010Electronic Design Automa

17、tion Fall 2010Electronic Design Automation 33布局布局v在floorplan结束后,芯片的大小,电源网络,macro的位置已经确定了,接下来的工作是标准单元的布局工作。v布局工作是时序驱动(timing driven)的,即布局出来的结果要满足时序的要求。vICC时序分析采用静态时序分析(STA),STA必须要获得单元延时(cell delay)和线延时(net delay)34布局布局v ICC 会计算每个单元的延时和每条线的延时v 单元的延时信息由foundry提供的单元库文件提供v 为了计算线延时,ICC必需知道每条线的寄生电阻和寄生电容35布

18、局布局v在布局阶段,实际的金属线是不存在的,故需要有一种估计的方法估计线延时。v在由RTL代码到门级网表的综合过程中,也需要用到STA,综合阶段对延时的估计基于WLM(Wire Load Model)。根据fanout估计R和C,这显然和最终的版图的实际结果有很大出入。36布局布局v 布局过程中,每个单元是有自己的物理位置的,我们就不再采用WLM去估计延时了,我们采用虚拟布线(virtual routing)技术去估计延时。37布局布局v综合阶段的时钟信号和高扇出信号被定义成理想的和dont_touch(综合工具不对其进行插buffer的操作)的v布局阶段对高扇出(如reset、set、ena

19、ble等)要进行高扇出综合(HFS)。vICC 布局阶段的一个命令place_opt内嵌了自动高扇出综合(Automatic High Fanout Synthesis)v时钟树的处理是在place之后,CTS(Clock Tree Synthesis)阶段进行时钟树综合的v在布局阶段我们需要模拟时钟树的影响38利用理想的时钟网络显然过于乐观,为了进一步接近实际的时钟,skew,latency,transition 的影响应当被模拟进来3940布局布局v 实际的时钟树网络无法保证时钟源点到该时钟域内所有寄存器的clk端的延时是绝对相等的,时钟源点到不同寄存器的clk端的延时之差称之为skew(

20、偏斜),我们用set_clock_uncertainty这个命令去模拟skew的影响。如set_clock_uncertainty 0.3,单位是ns(取决.tf工艺文件里面所设单位)v 时钟域内寄存器的clk端可以称之为汇点(sink),时钟源点(source)到汇点的延时称为latency,我们 可以用set_clock_latency 命令去模拟源点到汇点的延时,如:set_clock_latency 1v 实际的时钟信号跳变时间是不可能为零的,所以我们可以用set_clock_transition去模拟这个跳变时间 如set_clock_transition 0.141布局布局vCor

21、e area 内标准单元并不是可以随意摆放的,所有的标准单元被设计成等高不等宽的,这样所有的标准单元可以被放入同样的placement row里面,如图所示42Timing driven placementPlacement 是时序驱动的,关键路径上单元会被放得近一些,placement 是时序驱动的同时,也是拥塞驱动(congestion driven)的,标准单元的信号连接最终需要布线的,如果一个区域内布线要求大于布线资源的话,就导致了拥塞,显然标准单元过密集得摆放在一起就容易导致拥塞,timing 和congestion 就变成了一对折衷的因素了。43v在macro周围我们会打上plac

22、ement blockage,工具不会在placement blockage区域内摆放标准单元,macro处pin处需要较多的布线资源,如果macro周围较近区域被放置了标准单元,就可能导致拥塞的产生。故需要在macro周围打上blockage,在实验视频中可以看到这一步。布局布局44时钟树综合时钟树综合(CTS)v 在大规模集成电路中,大部分时序元件的数据传输是由时钟同步控制的时钟频率决定了数据处理和传输的速度,时钟频率是电路性能的最主要的标志。在集成电路进入深亚微米阶段,决定时钟频率的主要因素有两个,一是组合逻辑部分的最长电路延时,二是同步元件内的时钟偏斜(clock skew),随着晶体

23、管尺寸的减小,组合逻辑电路的开关速度不断提高,时钟偏斜成为影响电路性能的制约因素。时钟树综合的主要目的是减小时钟偏斜。v 以一个时钟域为例,一个时钟源点(source)最终要扇出到很多寄存器的时钟端(sink),从时钟源扇出很大,负载很大,时钟源是无法驱动后面如此之多的负载的。这样就需要一个时钟树结构,通过一级一级的buffer去驱动最终的叶子结点(寄存器)。CTS流程流程46在未进行时钟树综合之前,时钟树未生成,时钟结构逻辑上如上图所示,一个时钟源端最终扇出到很多寄存器的时钟端。47上图是时钟树综合好之后的结果,上图中有三级buffer构成了一个时钟树。48在sdc文件中用create_cl

24、ock命令创建时钟,同时定义了时钟源点如:Create_clock get_pins U_TOP_PAD/Pad_inout_PF5_CAM_PCLK/C name CPCK-period 10 waveform 0 5这条命令在U_TOP_PAD/Pad_inout_PF5_CAM_PCLK/C这个pin处创建了时钟,这个pin就是名为CPCK的时钟的时钟源点时钟树综合时钟树综合(CTS)49v由于时钟树的重要性,工具采用不同于一般布线规则的时钟树自己的布线规则时钟树综合时钟树综合(CTS)50首先定义non default routing rule再指定CTS使用定义的my_route_r

25、ule-layer_list 定义了CTS使用哪几层金属走线时钟树综合时钟树综合(CTS)51v ICC 在placement阶段提供了一个命令place_opt,请参看run_icc_record.tcl,可以看出placement阶段脚本结构是先进行一系列的设置,再通过place_opt命令让工具根据设计者的设置约束等完成布局工作。v ICC在时钟树综合阶段也提供了一个命令clock_opt,clock_opt命令根据设计者的设置和约束自动完成时钟树综合的工作。v 布线阶段也有一个类似的命令:route_optv 整个流程中,除了floorplan阶段需要较多的手工活之外,placemen

26、t、CTS、routing阶段可以说就是设计者通过修改脚本和约束,然后让工具自动完成工作。这也是IC Compiler工具强大之处。时钟树综合时钟树综合(CTS)52CTS在placement之后完成,就有可能对原来的placement的结果产生影响,如clockBuffers 插入之后,就有可能导致拥塞的产生,为了插入clock buffers 可能会轻微移动原来的placement阶段放置的标准单元,原来的placement是时序驱动的,移动就可能导致时序的不满足,产生违规(violation)。53v Clock_opt 完成之后,一般都应该使用一个命令psynopt去做一次增量优化,p

27、synopt这个命令的作用就是在原有基础上做增量优化。v 在placement阶段,place_opt之后,也需要用psynopt做一次增量优化,可以参考看run_icc_record.tcl脚本。v 在做完CTS之后,实验中也就是跑完run_icc_record.tcl里面至CTS部分结束,可以报出时序信息,通过以下命令报时序信息:v report_constraint all 报出所有时序违规(violations),我们暂且只关注setup违规,setup违规直接制约频率能跑多高,对于hold的违规只需要通过插buffer增加延时就可以解决。v report_clocks 报出时钟的信息

28、v report_timing from -to 报出具体路径的时序信息v 以上命令都可以加-help选项查看帮助信息,如report_timing helpv 想查看一个命令的详细用法,可以man 命令,如man report_timing时钟树综合时钟树综合(CTS)时钟树综合总结时钟树综合总结Fall 2010Electronic Design Automation Routing Complete the interconnections between modules.Factors like critical path,clock skew,wire spacing,etc.,ar

29、e considered.Include global routing and detailed routing.FeedthroughType 1 standard cel1Type 2 standard cellvFall 2010Electronic Design Automation IV-55Fall 2010Electronic Design Automation Fall 2010Electronic Design Automation 58Routing59Routingv 时钟树结束之后,接下来的工作是布线(routing)v Floorplan阶段,生成电源地网络时已经完成

30、了电源地网络的布线,routing阶段主要是标准单元的信号线的连接,floorplan阶段给标准单元供电的rail已经生成,place结束后标准单元上下两边都放在了rail上面。v 实验中采用6层金属工艺,层与层之间通过via孔相连60v 先介绍基于格点的布线理论Routing61v在上页图中,黄色和蓝色的虚线称之为track,track是没有实际宽度的,但两条track之间有间距称之为pitch,基于格点的布线要求所有的金属走线要走在track之上,而实际走出的金属线称之为trace,trace是有宽度的。v不同的金属线走线方向是不同的,奇数层金属默认走水平方向,偶数层默认走竖直方向。v两条

31、track的交点称之为grid pointv标准单元的高宽都被设计成了pitch的整数倍,而在布局时标准单元的pin都被放在了grid point上面这样都为布线作好了准备Routing62vRouting主要由以下四个步骤完成:vGlobal routingvTrack assignmentvDetail RoutingvSearch and repairRouting63Track assignment 是不考虑DRC违规的,所以track assignment 之后会有很多DRC的违规,比如金属线最小间距违规、槽口违规。Routing64v Global routing(全局布线)。全局

32、布线是为设计中还没有布线的连线规划出布线路径,确定其大体位置及走向,并不做实际的连线,全局布线已经把布线路径映射到了特定的铝线层,下图是全局布线之后的版图,我们可以看出布线路径是没有实际宽度的线条,图中不同的颜色代表了不同的铝线层,并给出了孔的位置。Routing65vTrack assignment(track 分配)vTrack assignment 把每一连线分配到一定的track上,并且对连线进行实际布线,在布线时,尽可能使金属线长,减少孔的个数,在这个阶段不做DRC设计规则检查(如两条金属线的最小间距)。从下图看出己有实际的金属线,jog是为了减少孔的个数。Jog是指小范围内改变布线

33、的方向。Routing66v Detail routing(详细布线)v 详细布线使用全局布线和track分配过程中产生的路径进行布线和布孔。由于track分配时只考虑尽量走长线,所以会有很多DRC违规产生,详细布线时使用固定尺寸的sbox来修复违规(下页图),sbox是整个版图平均划分的小格子,小格子内部违规会被修复但小格子边界的DRC违规就修复不了,这就需要在接下来的步骤中完成修复。v Search and repairv Search and repair 修复在详细布线中没有完全消除的DRC违规,在此步骤中通过尺寸逐渐加大的的sbox来寻找和修复DRC违规的。Routing676869v 时钟树布线有更高的优先权,时钟树的布线要在其它信号线布线之前,这样时钟树布线的时候就会有更多的布线资源可用。v route_zrt_group-all_clock_nets此条命令即可给时钟树布线v ICC提供了route_opt这个命令完成route signal nets 和optimize的工作。Routing

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(EDA技术和工具第九讲解析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|