【集成电路后端设计流程综述7500字】_第1页
【集成电路后端设计流程综述7500字】_第2页
【集成电路后端设计流程综述7500字】_第3页
【集成电路后端设计流程综述7500字】_第4页
【集成电路后端设计流程综述7500字】_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

集成电路后端设计流程综述目录TOC\o"1-3"\h\u2448集成电路后端设计流程综述 1132261.1.1.数据准备阶段 1139951.1.2.布图规划 2177051.1.3.布局规划 4166081.1.4.时钟树综合 7202461.1.5.绕线(route) 15后端设计的基本流程如图2.1所示,EDA工具需要读入一系列后续步骤所需的文件,然后经过布图规划,布局规划,时钟树综合,绕线以及ECO阶段,最终得到网表文件(.v),版图信息文件(.gds),物理信息文件(.def)等数据文件,交付工艺厂商制造生产。图2.1数字后端设计流程数据准备阶段进行数字后端设计的过程中,EDA工具主要读入四种文件,分别为网表文件(netlist)、时序约束文件(SDC)、库文件以及DEF(DesignExchangeFormat),这些文件包括了后续步骤所需要的所有的物理,逻辑方面的信息以及时序的约束。其中,综合工具将前端的verilog代码综合成网表文件,包含了整个芯片的逻辑信息,定义了电路的连接关系与功能。而设计约束文件主要定义了一些时序方面的约束。库文件中具有工艺方面的信息,同时也具有物理单元的基本物理和时序信息。设计交换格式是展平式的设计文件,它是Cadence公司早期推出的一种数据格式,广泛用于后端设计不同阶段、不同工具之间的设计数据的交换。设计交换格式包含了设计的一些物理信息,如设计的名字,单位,芯片的面积,row、via、cell的种类、方向、位置,pin、port的位置、所处的层、物理状态(physicalstatement),blockage的形状等信息。布图规划数字后端设计的第一步是布图规划(floorplan),对于时序收敛,绕线拥塞(congestion)及较好的成品率有着巨大的影响。布图规划是芯片物理实现的第一步,主要是对芯片的大小、输入输出端口规划、宏单元以及模块进行摆放的过程。由于集成电路的集成度逐渐增高、规模不断增长,芯片设计使用了一种层次化设计(hierarchical)的设计方法。层次化设计通过在后端设计中按照不同级别进行模块划分、设置不同约束,分为不同的层次优化布局布线结果。通过层次化的设计,可以允许多个后端设计人员同时并行设计,节省大量的时间和资源。(1)宏单元以及模块的摆放由于模块的整体面积以及输入输出端口已经由顶层布图规划(fullchipfloorplan)人员给定,因此在布图规划中需要完成宏单元以及模块的规划。摆放宏单元的过程中需要遵循以下几点原则:(a)在布图规划之前详细了解最新工艺下的设计规则,模块的摆放要以不违背设计规则为前提进行,(b)将宏单元尽量摆放在tile的四周,防止岛(island)的形成,(c)将与I/O连接关系紧密的宏单元靠近I/O摆放,(d)根据数据流,将连接关系紧密的模块尽量靠近摆放。由于7nm工艺节点下芯片的集成度很高,这对于绕线造成了很大的困难,很容易出现congestion的问题。以往通常不用重视模块与模块之间的数据流向,而到了新的工艺节点下,模块之间的数据通信就显得尤其重要。于是,布图规划需要以数据流为基础进行设计。(2)电源规划(powerplan)电源规划是为了形成完整的模块供电网络,主要考虑的是电压降和电迁移的效应。从电源网络经过不同的标准单元、宏单元以及较长的互连线,电压会随着与供电网络的距离增加而递增,当局部区域的电压低于一定数值时,会造成时序分析的模型的不准确,最终会导致芯片的性能不符合预期的要求。而当芯片局部标准单元数量密度较大时,而该区域供电密度较低,会造成该区域电流密度过大,从而产生电迁移现象,造成金属连线的短路与断路。(3)物理单元的插入除了带有逻辑功能的标准单元之外,芯片中仍需要一些不包含逻辑功能、只带有特殊功能的物理单元。这些物理单元主要有TapCell,BoundaryCell,以及SpareCell,DecapCell,AntennaCell,FillerCell等。TapCell是一种带有阱接触或衬底接触或两者皆有的物理单元。由于目前集成电路均为CMOS结构,如图2.2所示,这类结构会构成两个寄生的三极晶体管。这两个晶体管会形成如图2.3所示的正反馈电路,由于器件中始终存在微小的反向漏电流,一旦漏电流形成的压降导致三级晶体管导通,该电路会将微小的漏电流不断放大,最终可能造成晶体管的击穿,使得电路失效,这就是所谓的闩锁效应(latchup)。图2.2CMOS电路结构图2.3CMOS寄生形成的正反馈电路而通过降低正反馈电路中的寄生电阻的阻值,使得三极管基极上的电压达不到它的开启电压,从而切断了正反馈的环路,防止了闩锁效应的产生。根据电阻的公式可知,电阻阻值与电阻长度成反比,通过每隔一段固定的距离给芯片加上TapCell,即每隔一段距离增加一个阱接触和衬底接触,从而减少了电阻的长度,达到了减少电阻阻值的目的。Boundarycell的插入是为了使得标准单元附近的环境保持一致性。BoundaryCell主要在横向row与纵向row的边缘插入,例如宏单元的周围以及tile的边界,确保标准单元不会出现在N阱的边缘,保持标准单元所处环境的一致性。DecapCell是将MOS管用作电容,由于电容具有耦合的作用,因此能够提高电路对于串扰的抵抗力,同时也可以抵抗电路中存在的浪涌电流,以及减少IRdrop。AntennaCell是为了避免天线效应,天线效应在后续的章节会具体介绍。FillerCell是为了填补芯片中的空位,主要通过将每个标准单元的扩散层,以及电源线相连,以防止出现DRC的违例。布局规划在布图规划中实现了宏单元以及模块的摆放,电源规划以及物理单元的插入,接下来布局规划主要进行标准单元的摆放。要完成上百万门级的标准单元的摆放,同时要考虑时序,拥塞以及功耗等因素,使得布局规划成为后端流程中最重要的步骤之一。布局规划分为粗略摆放,扫描链重组,优化以及合法化等步骤。(1)粗略摆放(coarseplacement)在粗略摆放的过程中,EDA工具根据时序,拥塞以及功耗等约束,给每一个标准单元决定一个大致的位置。摆放好的单元不一定会落在row(行)上,同时标准单元之间可能有交叠。而在布图规划期间摆放的宏单元上面不允许标准单元的摆放。做完粗略摆放的模块如图2.4所示,可以看出所有的标准单元都放到了模块的各个位置,但是由于没有进行合法化,因此标准单元并没有准确落在row上。图2.4完成粗略摆放的标准单元分布(2)扫描链重组(scanchainreorder)为了进行可测性测试需要插入扫描链,通过选择器将寄存器之间的逻辑电路旁路,从而把所有的寄存器串联起来,最终实现附加的测试功能。在综合期间生成扫描链的过程中,由于没有考虑到绕线的问题,因此由扫描链串联起来的寄存器可能会消耗较大的绕线资源,如图2.5所示,扫描链的设计仍需要进行优化。因此,EDA工具会在粗略摆放的过程中,对于扫描链进行重组。扫描链重组就是将扫描链上不合理的寄存器单元断开,根据实际的物理位置,重新进行连接,同时也不会改变电路的功能,因此减少扫描链的长度。图2.5未考虑物理位置的扫描链示意图扫描链重组前后的示意图如图2.6所示。从图可以看出,经过扫描链重组之后,有效的减少了绕线长度,较好的利用了绕线资源,从而提高了芯片的绕通率。图2.6扫描链重组示意图(3)优化以及合法化(legalization)在做完粗略摆放之后,EDA工具会优化时序,拥塞以及功耗。而在合法化的过程中,EDA工具将标准单元放置到行(row)上同时避免标准单元之间的交叠(overlap)。合法化之后的标准单元分布如图2.7所示,从图中可以看出,标准单元都已经放在了row上且彼此之间没有交叠。图2.7合法化之后的标准单元分布但是在合法化的过程中,这些标准单元位置微小的变动会引起互连线的改变,有可能会引起新的时序违例以及拥塞问题。因此,还需进行进一步的优化,通过迭代优化多次,才能获得较好的时序,拥塞以及功耗的结果。(4)布局目标预估优化完标准单元的布局之后,还要进行静态时序、拥塞、噪声分析以及电源功耗分析,以此来分析设计的质量。(a)拥塞预估,为了进行拥塞预估,EDA工具会在实现标准单元摆放以后进行全局布线(globalroute),EDA工具会将所有布线空间分成多个小的全局布线格子(globalroutingcells)。如图2.8所示,EDA工具通过计算通过四边的布线轨道(track)的数目,以及需要穿过这些边的绕线数目进行对比,从而估算出拥塞,对于绕线进行评估。根据拥塞程度生成congestionmap,颜色越亮,说明此处拥塞越大,绕线资源不够。图2.8globalroute示意图(b)时序预估,因为标准单元通过布局之后,本身位置不会发生较大变化,因此可以进行较为准确的时序检查。静态时序分析是验证数字芯片设计时序的技术之一,按照指定的输入时钟以及芯片的外部环境,确保芯片能在预期的周期下正常工作。当芯片到达了上千万门及以上规模的时候,相比于其他通过模拟芯片工作分析时序的动态方法,静态时序分析提供了更简单以及更完备的分析时序的方法。静态时序分析在布局阶段只进行建立时间检查,因为还没有完成时钟树综合,还没有产生真正的时钟,也没有进行保持时间的优化,因此在布局阶段不用进行保持时间的检查。同时,由于进入了纳米设计阶段,噪声的影响越来越严重,在时序分析的过程中必须考虑噪声的影响。时钟树综合在经过布图布局规划之后,所有的宏单元已经处于正确的位置并固定住,同时,所有的标准单元都已经被放置在row上且互相之间没有交叠。时序预估与拥塞预估在布局规划中的反复优化之后,已经优化到可以接受的程度。而电源和地电源网络已经做好了预布线。接着需要开始时钟树的综合。在同步数字电路设计中,时钟信号控制着所有寄存器之间的同步传输,它对于数字芯片的功能,性能以及稳定性发挥着重要的作用。时钟信号在整个设计中具有最大扇出,最快的速度,因此,进行时钟树的设计是数字后端物理设计的重要环节。时钟树的综合需要满足以下目标,(a)符合时钟树的设计规则约束,这是设计必须满足的要求,如果不满足,就会导致设计规则违例(designruleviolation)。设计规则约束如下,A)最大转换(maximumtransitiondelay)B)最大负载电容(maximumloadcapacitance)C)最大扇出(maximumfanout)D)最大时钟树级数(maximumbufferlevels)(b)同时,时钟树的设计要使得时钟偏斜(clockskew)尽量小,时钟偏斜是到达不同时钟树节点的延迟差,反映了时钟树的不平衡,会对整体设计的时序收敛造成影响。因此要尽可能减少时钟偏斜。(1)常见时钟树结构时钟的出发点被称为根节点(rootpin),它是时钟信号从外部产生进入模块的起点,经过一些单元与互连,最后到达时钟的终点(例如,寄存器的时钟输入端),被叫做叶节点(leafpin),因此形成复杂的时钟网络。时钟树综合的重要目的是改善时钟偏斜,同时尽量节省整个网络的功耗,防止噪声的影响以及减小连线间耦合。时钟信号形成的树状结构示意图如图2.9所示。图2.9时钟树树状结构示意图根据时钟树在芯片内的分布,时钟树分成了不同的结构,如H树(Htree),X树(xtree),平衡树(balancetree)以及时钟网型结构(clocktreemesh),如图2.10(a)所示。H树是最常见的时钟树结构,时钟信号中点距离各节点的长度相等,理论上时钟偏斜为0,然而互连线太长,导致互连线的延迟过大。由于互连线过长,可以在H树的每个分支点之后插入缓冲器形成如图2.10(c)的结构。但是随着芯片规模越来越大,后端设计都基于标准单元进行设计,寄存器的分布很难实现H树这样子的对称结构,因此在复杂芯片中纯粹的H树几乎很难见到。图2.10时钟树结构示意图X树,如图2.10(b)所示,是另外一种等间距的时钟树结构,与H树相比,它具有更短的连线长度,但同时,X树的每一个分支点具有4个扇出,而H树的每一个分支点具有2个扇出,因此X树要求更大的驱动。在实际复杂的时钟树综合中,需要获得时钟延迟与时钟偏差的均衡,缓冲器平衡树结构如今获得了最普遍的应用。平衡树结构如图2.11所示,从rootpin往后,通过一系列缓冲器作为时钟树的分支点。与H树和X树这些对称结构相比,平衡树结构能够更加灵活的进行布局布线,同时,还能通过有用时钟偏差(usefulskew)完成时序修复。图2.11平衡树结构示意图由于H树以及X树的平衡性的结构,它们较低时钟偏差是基于每一级的互连线以及缓冲器的延迟都相同,因此它们容易受到OCV(OnChipVariation片上工艺偏差)的变化而变化。时钟网型结构可以明显减少OCV的影响,产生更好的时钟偏斜,如今被广泛应用于大型的高性能芯片设计之中。(2)时钟树性能参数时钟网络的性能主要通过如下几个参数进行评估。(a)时钟传播时间(clocklatency),如图2.12所示,时钟传播时间是从时钟源开始到达时钟各个节点消耗的时间,时钟传播时间主要有两种,分别是时钟源延迟(sourcelatency)以及时钟网络延迟(networklatency)。时钟网络传播时间是指从时钟创建点(由create_clock指定)传播到寄存器的时钟引脚的时间,而时钟源延迟,也叫做插入延迟(insertiondelay),是指从时钟源到达时钟定义点的延迟。而时钟源延迟既可以表示片上传播时间也可以表示片外传播时间,如图2.13与图2.14所示。在SDC文件中,通过set_clock_latency设定,如,set_clock_latency1[get_clocksCLK_1],定义了时钟CLK_1的时钟网络延迟为1ps,如set_clock_latency1.9-source[get_clocksSYS_CLK],定义了时钟SYS_CLK的时钟源延迟为1.9ps。时钟源延迟与时钟网络延迟的一个重要区别是,一旦时钟树综合完成之后,时钟网络延迟由真正的时钟网络的延迟所代替,而时钟源的延迟还一直存在。时钟网络延迟是在产生真实的时钟结构之前对于时钟树网络延迟的估算。因此,在时钟树综合完成之后,总的时钟树延迟等于时钟源延迟加上时钟定义点到达寄存器时钟引脚的真正延迟。图2.12clocklatencyandclockskew图2.13on-chipclocklatency图2.14off-chipclocklatency(b)时钟不确定性(clockuncertainty),时钟不确定性主要包括时钟抖动(clockjitter),时钟偏差(clockskew)以及时钟余量。在SDC中通过set_clock_uncertainty命令指定,如set_clock_uncertainty2.2[get_clocksBZCLK],该命令给时钟BZCLK上升沿以及下降沿设定了不确定性为2.2ps。时钟偏差是指时钟到达时钟各个叶节点延迟的差。时钟偏差可以通过公式2-1计算,其中与分别表示时钟源到达不同时钟叶节点的延迟。在时钟树综合之前,时钟偏差被包含在时钟不确定性中,而在时钟树综合完成之后,由于实际的时钟树已经生成,因此时钟偏差由实际的时钟源到两个寄存器时钟引脚的延时之差得到,此刻的时钟不确定性不包含时钟偏差。时钟偏差会造成时钟树的不平衡,通常会影响时序的满足。但有一种特殊情况,通过合理调整时钟树的延迟,能够修复时序,这种技术被叫做有用偏差(usefulskew)。如果一条路径上有建立时间的违例,而下一级的路径有较多的余量,此时,可以适当延迟当前路径的捕获寄存器(captureflip-flop)以使得当数据准备好的时候时钟晚些到达。在实际电路中,由于时钟的产生并不能保持稳定,理想时钟与现实时钟的偏差就是时钟抖动,如图2.15所示。时钟抖动分为确定抖动(deterministicjitter)与随机抖动(randomjitter),确定抖动是由串扰、电磁干扰、同时开关输出(SSO,simultaneousswitchingoutput)等引起,随机抖动主要由材料内部的晶格抖动以及材料掺杂不均匀产生,随机抖动服从高斯分布。图2.15时钟抖动由于芯片制造过程中的随机性以及不均匀性,芯片在使用过程中所处的温度,电压的变化,需要人为定义一个时钟的余量,来保证电路在各种环境中也能够正确工作。(c)时钟转换时间(clocktransitiontime),时钟转换时间是信号高低电平转变时间。现在芯片设计中采用的如图2.16所示的CMOS结构,高低电平的转换通过电容的充放电来完成,因此,实际的波形存在一定的高低电平转换时间。时钟转换时间通过定义具体的阈值来指定,如图2.17所示,时钟的下降转换时间被定义为电压从电源电压的80%下降到其20%所花费的时间,而时钟的上升转换时间被定义为电压从电源电压的10%升高到其90%所花费的时间。由于时钟转换时间会造成器件延迟的增加,因此要尽量减少时钟的转换时间。图2.16CMOS电路图2.17时钟转换时间(3)门控时钟(clockgating)随着芯片的设计越来越复杂,时钟树功耗占整体芯片动态功耗的50%以上,这些功耗主要由寄存器以及时钟树上的缓冲器造成,通过减少电路中不必要的翻转,可以明显减少时钟网络的动态功耗。门控时钟就是使用最广泛的低功耗技术,根据芯片中功能模块的工作状态,选择性的关闭某些时钟,可以大大减少了时钟树上的动态功耗。(a)门控时钟的结构一种门控时钟结构如图2.18所示,时钟信号与使能信号相或然后连接到寄存器的ck引脚,根据使能信号开关整体的时钟。这种方法的缺点是,由于组合逻辑存在竞争冒险现象,导致输出的时钟容易出现毛刺,对于时钟精度要求较高的设计并不适用。图2.18门控时钟结构一第二种门控时钟如图2.19所示,在与门和使能信号中间加一个寄存器,使得使能信号只有在时钟为高电平或低电平期间才能通过寄存器到达与门,从而很大程度上避免了毛刺的产生,可以产生质量可靠的时钟。图2.19门控时钟结构二(b)门控时钟的克隆由于门控时钟是由前端编写代码的人员设计的,门控时钟单元和与其控制的寄存器并没有考虑到它们之间实际的物理位置与距离,在实际摆放的过程中,有可能会出现不合理的门控时钟设计问题。这种问题可以通过门控时钟的克隆技术进行修复。门控时钟的克隆技术分为两种,(A)门控时钟的合并(de-clone)如果受到相同门控时钟控制的寄存器过少或者分布区域较小,这就会使得门控时钟的数量过多,这时可以通过门控时钟的合并技术优化。如图2.20所示,门控单元g1和g2所控制的寄存器数量较少而且较为集中,因此,可以使用门控时钟的合并技术将g1和g2合并成一个门控单元。图2.20门控时钟的合并门控单元的合并技术可以进一步减少动态功耗的消耗,但是会增加门控时钟的时序收敛的难度。(B)门控时钟的克隆(clone)如果受到相同门控时钟控制的寄存器过多或者分布区域较大,这会使得门控时钟单元的连线过长,从而会导致时许违例,这时可以使用门控时钟的克隆技术优化。如图2.21所示,由于g1有较多的负载且负载分布较为分散,此时可以通过门控时钟克隆技术将latch后面的and门克隆到不同寄存器附近,减少了每一个门控时钟的负载,同时减少了连线长度。图2.21门控时钟的克隆门控时钟的克隆技术可以降低门控时钟时序的收敛难度,但也会增加一些动态功耗。由于本项目中采用了门控时钟的克隆技术,在一定程度上会造成时序的违例,该问题会在4.2.2节进行具体分析。绕线(route)经过了时钟树的综合,为了能够进行绕线,芯片需要满足以下几点要求。由于芯片的绕线规则是在工艺库文件中定义的,因此在绕线之前,需要将所有的绕线规则在工艺库文件中定义好,同时,芯片电源线的绕线需要提前完成,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论