展平式设计和层次化设计方法
今天给大家聊一聊芯片后端的两种设计思路:展平式设计(flatten)和层次化设计(hierarchical)。其实在很多工程项目中应该都有类似的设计方法学,对于芯片设计来说也不例外,这两种设计思路决定了我们的芯片将会如何物理实现。
展平化的设计方法是一种自下而上的设计思路,这种设计方法会一下子导入所有芯片中所需要的元件,而每个元件都要经过充分的验证,确保各个元件的功能无误。而后将所有这些原件组合,构成整个芯片系统。工程师在设计的时候,可以随意调动任意一个原件,也就是说所有元件都是看得到的,没有所谓的黑匣子。其实大家就可以单纯地理解为就是可以看到芯片所有内容的完整的设计。
层次化的设计方法是一种自上而下的设计思路。对于前端设计来说,它会首先分析整个芯片要实现的功能,而后划分(partition)为不同的功能模块(block),在划分的时候只关心每个模块的输入输出,不考虑模块内部具体是怎么构成的。之后再考虑每个模块要如何设计,模块的设计也可以分为展平化和层次化,最终最低一级的模块一定是要展平化设计的。对于后端实现来说可以完全遵循前端给的划分好的block,但如果前端给了展平式的网表,后端同样可以划分不同的block来做,这样对后端来说也是层次化设计。对于每个block,都会划分出它自己的netlist、sdc、lef、lib、upf等等。每位工程师可以负责单一的一个block,在block内部进行展平化设计,保证时序收敛,没有DRC等等,而后由一位工程师在top层将所有block联系起来,最终做到整个chip功能正常。
展平化设计的优点是可以看到chip中所有cell的信息,更容易做时序收敛,出现的violation也相对更好解。缺点是这种方法对于大型design来说,计算量过大,而且人员不好分配,很难充分利用资源,导致设计周期偏长。要知道芯片设计中,在保证良率的同时也要追求速度,当然这些都是资本的考量了。层次化设计最大的优点就是可以并行处理多个block,可以充分利用公司资源,大大减少了设计周期。然而需要在partition初期就对block进行充分的预估,做好timing的裕量(timing budget),可能会出现有些block好做,有些block难做的情况,甚至一些block无法做到时序收敛。这个时候就需要重新调整分配,或者进行局部的重新综合。而最终signoff的时候也是要flatten的看结果,相对比较复杂一些。
而对于现在2021年末,几乎所有design都是所谓的大型design了,很少有公司还会纯粹采取展平化设计思路,层次化设计已经渐渐成为主流。并且随着design越来越复杂,还会出现三层的设计结构,这也对我们后端设计工程师带来不小的挑战。
微信公众号:伟酱的芯片后端之路
大规模芯片越来越多,如何改进物理设计方法学,取得流片成功?
文 | 王十七
编辑 | 王十七
前言
随着摩尔定律的发展,90/65nm工艺下的大规模芯片越来越多,后端物理设计变得更加复杂,遇到了很多新问题,如高集成度、层次化设计、泄漏功耗、多角落一多模式、串扰噪声等,签收的标准也发生了变化。
因此必须改进物理设计方法学,适应新的情况,来取得流片成功。
单元集成度提高,门数增加
表1显示的是从180nm到45nm台积电(TSMC)工艺Metal2最小间距 (pitch)的变化趋势 。
可以看出每代工艺节点线宽、线间距基本上以0.7的比率下降,随之带来的标准单元库缩小得更加严重, 表 2显示了 9-Track TSMC库标准单元大小的变化。
由于水平和垂直方向都缩小了λ倍 (相邻 2 个工艺之间是 1/0.7=1.43倍),因此面积变化是 λ*λ,即同样的芯片面积上可以放λ*λ倍多的标准单元。
由于金属布线的资源(特别是 M2)增加量小于λ*λ ,伴随着标准单元数量的增多,芯片利用率有下降的趋势,设计者应注意降低初始利用率,比如从 55—65%开始。
表3是几个工艺下不同芯片/模块的规模对比。
可以看出,同样是 10 X 10mm2 ,65nm芯片的元件数量几乎是 180nm芯片的 10倍。
很多 65nm下的设计表明,即使是 2×2,3×3 mm2 这样小的面积,也能达到 300k~600k的元件数量。
单元数量的增加导致电子设计自动化 (EDA)工具运行时间的增加,延长了整个后端设计时间。
可以采用 EDA工具的多 CPU、多线程 (Multi threading)等并行工作方式来加快设计过程。
层次化设计方法
对于千万门级以上等超出 EDA工具设计容量的电路,可以采用层次化设计设计方法,分而治之。
这个涉及到顶层和子模块工作的分工与配合。
顶层的前期工作是进行子模块划分,包括逻辑划分、物理划分、时序划分、子模块引脚 (I/O pin)位置确定等。
电源网络设计是一项很重要的工作,可由顶层统一设计,根据芯片的功耗设计电源条 (power strap)的宽度和间距,然后确定各个子模块的电源条的位移位置 (offset),即保证在顶层可以对齐连接即可。
有的还要求标准单元行电源线 (row rail)也对齐。
子模块的引脚位置由顶层做全局布线来决定,最好能出在同一边上。
时序划分(timing budget)方面通常对子模块端口进行过约束 (over—constraint ),留出余量给顶层时序。
模块划分结束后,接着是子模块的布局布线流程,在时钟树之后,要提取 I/O边界的时序模型给顶层,可以用 ETM (Extracted Timing Model)或者 ILM(Interface Logic Mode1),这样顶层的布局布线工作也可以同时开展。
ETM或 ILM只包含边界相关逻辑,不含内部逻辑,这既减小了数据库的容量,又满足了顶层时序检查的要求。
时钟树之后,子模块的时钟树延迟(clock latency)已经知道,必须反馈给顶层 ,如下图。
该子模块时钟延迟为1.5ns,顶 层总时钟延迟估计为2.4ns,在顶层做时钟树之前,必须让顶层知道子模块内部的1.5ns时钟延迟,否则子模块时钟将与顶层无法平衡。
这样从顶层 clk 源端到该子模块时钟端 cclk的设计延迟是 2.4 ns -1.5ns=0.9ns。
在 ICC里面实现该功能结构的方法是设置float pin。
子模块在布线结束之后还可以更新这个模型给顶层。
顶层和子模块的交互有反复迭代的过程,这取决于时序划分的质量和时序更新的结果。
最后的签收阶段 (Signoff)时,顶层读入各个子模块的寄生文件 (如SPEF),进行平坦化静态时序分析。
下图显示了层次化设计方法的流程。
层次化设计的优点是各个子模块可以并行同时进行,子模块设计者可以重点关心子模块内部的时序,可以单独做物理验证等,对于边界接口的时序可以由顶层设计者来统一处理,从而提高了设计效率,缩短了整个设计流程的时间。
通常子模块都不会太大(一般控制在 100万元件数以内),能够把 EDA 工具的运行时间控制在合理范围内。
现在很多芯片包含ARM、DSP、MCU等IP核,通常都是先单独做成一个子模块,最后集成进顶层。
减小串扰效应
随着线间距的减小,单元密度的增加,串扰噪声在90/65nm下的影响越来越大。
串扰不仅会增加线上的信号延迟(Delta delay/Delta Trans),还产生不确定性的毛刺 (glitch)信号干扰电路的正常工作。
对于 180nm设计,可以不考虑串扰 ,130nm设计,可以选做,但是对于90nm以下设计,串扰成了签收标准,必须修复。
对串扰主要分为布线前的预防和布线后的修复2个步骤,其中预防的效果是明显的,具体如下:
在布局的时候设置渡越时间限制 (slew limit)为一个较小的值 ,比如 65nm下设为 200~300ps,这样通过插入很多的驱动器 (buffer),能增强信号的驱动能力,使信号边沿变得陡峭,有利于抵抗噪声干扰,研究表明,大多数串扰噪声都是对 弱驱动的信号线进行干扰。 对时钟线或翻转特别频繁的线采用 2—3倍线间距布线,减小它们对其他信号的干扰,芯片面积允许的话可以用电源线 (VDD/VSS)做屏蔽线 (shielding net),对噪声敏感的线 (比如 analog线 ) 应注意加大隔离距离,降低被噪声干扰的程度。3.模拟和数字模块保持距离,隔离布线 ,避免数字开关信号对模拟区域的干扰,模拟模块比如 PLL、ADC周围应该严格控制数字信号线的通过,可以设置布线阻挡区域(route blockage),在模拟和数字区域之间可以放置大量的去耦电容 (Decap)单元,过滤毛刺信号。
4.避免狭长沟道区域的过多布线,这多发生于一些存储模块 (Memory)之间的区域 ,增大这些模块之间的空间距离,在单元布局中应尽量避免过于拥挤的区域。
5.布线时采取时序和串扰 (timing/crosstalk) 驱动的选项,并且在布线后进行噪声去除修复。
ICC通常会在全局布线(global route)和分配布线(track assignment)的阶段中进行串扰的预防,比如隔离噪声相互影响较大的信号线,进行远距离或换金属层分配线,然后在布线后修复中增大线间距 (widen wire spacing)或者在受害线上加入buffer,增强驱动。
对于少量剩余违规,可以采用手动增大受害线的驱动单元 (upsize driver),在受害线上加驱动单元,移动驱动单元位置,拉开单元 (线 )间距,换金属层等方法来修复。
多角落,多模式工作
由于 90/65nm工艺的复杂性,代工厂需要更多的 PVT工艺条件组合来验证器件的物理特性,来保证器件的稳定工作。
表 4显示了TSMC工艺 180/130与 90/65nm节点的 Corner差别。
由于 90/65nm下晶体管泄漏功耗增大,增加了最大和典型泄漏功耗分析角落,可用于分析泄漏功耗。
在时序分析方面,除了传统的 TF/FF/SS 3个 Comer之外,90/65 nm还多出低温 SS,0度 FF。低温反型效应是 90nm以下的特有现象,指的是在低温低压(1V左右)下,晶体管电路工作有变慢的趋势, 主要是因为阈值电压 Vth对电流大小的影响超过了迁移率的变化作用。
低温SS已经成为签收阶段必须进行时序检查的角落。
同时芯片的工作模式也在不断增多,比如功能模式、测试模式、BIST模式等。
目前 EDA工具普遍支持多个模式和多个角落同时运行。
减小泄漏功耗
90/65nm下,晶体管的栅氧化层越来越薄,栅极隧穿效应也更加明显,亚阈值电流和反向PN结电流增大,导致泄漏功耗逐渐增大。
TSMC 工艺最大泄漏功耗角落为 FF 125 度。
从 130nm开始,单元库开始有多阈值库支持,即 HVT/RVT。
一般在时序关键路径,多用 RVT来保证时序,在非关键路径,用 HVT单元来降低功耗。
在优化完成后,应检查 HVT/RVT的比例,该比例越高,说明泄漏功耗越小。
在频率不高的设计里面,该比值通常大于 2:1。
HVT/RVT组合还可以用来修复时序违规,比如用RVT单元来修复 setup违规,利用 HVT单元来减慢路径,修复 hold违规。
由于同一种类型的HVT/RVT单元通常做的大小一样,出引脚位置也相同,使得替换单元十分地方便。
考虑动态电压降
90/65 nm下随着线宽的变小,芯片功耗的增大,电压降和电迁移的问题更加突出。
尽管铜工艺防止EM的能力好于传统的铝工艺,但仍有必要增加最上方的 RDL层来增加电源供应,因为该层厚度大,可以容纳更多的电流。
不仅如此,由于布局单元密度增加 ,翻转频率的增加,以往的静态电压降分析已经不能完全反映芯片内部的实际工作情况,例如某个区域信号翻转特别频繁, 引起出入的电流的波动较大,从而造成该区域电源线电压在短时间内降低,从而影响电路的正常工作。
动态电压降分析正是适应这种需要而产生,代表工具如 Apache的 RedHawk,或 Synopsys的 PrimeRail,它们读入时序约束、翻转激励信号、寄生信息、布局信息、网表等,经过分析,能得出 IR—Drop随时间变化的趋势,从而得出在哪些具体时刻 IR—Drop是最差的。
动态电压降的最差点和静态电压降的最差点不完全一致,可以都进行修复,例如增加电源条供应,分散高翻转率单元拥挤的摆放位置。
在电源网络设计方面,随着宽金属线宽的变化,以前 180nm/130nm下那粗而稀疏的电源条方法很多已经被细而密的电源网格来取代。
由于线间距小,稠密而细的电源条能提供更加充分稳定的电流,减小电源线上的动态波动,从而减小动态电压降。
去耦单元的存在能够帮助维持电源电压的稳定性 ,减少电源线上的噪声。
它们就像电荷“蓄水池”一样,平时保持着电荷充满状态,当周围门单元进行频繁翻转时,它们能从“蓄水池”里释放电荷,从而弥补电源线上的电压损失。
RedHawk工具能分析芯片内部需要多少去耦电容量才能维持电源电压的稳定性, 从而给添加 Decap单元提供指导意义。
在单元翻转频率较高的区域,应注意多加 Decap。
总结
我们分析了90/65 nm下物理设计上遇到的新问题,如单元密度、层次化设计、串扰、电压降等,提出了一些解决方案。
随着物理设计的复杂性增加,新现象不断出现,后端设计者只有不断学习,加强设计流程改进,才能对流片成功更有信心。
相关问答
Manychildrenfirstlearnthevalueofmoneybyreceivinganallowa...[回答]【小题1】C【小题2】D【小题3】A【小题4】C解析分析:文章介绍父母给儿童零花钱让他们学会理财,父母应该严格按照规定给孩子零花钱,这样可以帮助孩...
【鼓励创新的名言鼓励大胆创新的名人名言】作业帮[回答]■理想,你使人的思想坚定,你使人心伟大.(《雨果诗选》)我们对抱有理想的人是非常尊重的,因为他们的精神产生一种魅力;但是他们还需要有意志,否则理...
Manychildrenfirstlearnthevalueofmoneybyreceivinganallowa...[回答]73.1earnthevalueofmoney74.Toshowthemhowtomake...
【EManychildrenfirstlearnthevalueofmoneybyreceivinganall...[回答]【小题1】D【小题2】D【小题3】B【小题4】D解析
Manychildrenfirstlearnthevalueofmo_作业帮[回答]71.AllowancesforChildren/Children’sAllowances72.fromexperience73.money74.often...
英语短文填空 Every boy and every girl expects their pare...答案:FBGCAEveryboyandeverygirlexpectstheirparentstogivethemmorepocketmoney.Whydoth...