针对每个工艺结点,foundry都会给出一张类似的timing sign-off表格,定义了所有需要做timing sign-off的corner(实际需要sign-off的corner还需要乘以工作模式,对于STA,不同的工作模式,用不同的SDC文件予以区别),即:Timing sign-off Corner = library PVT +RC Corner + OCV;library PVT请查看:《巴山夜雨涨秋池,邀君共学PVT:STA之PVT》;RC Corner 请查看:《抽刀断水水更流,RC Corner不再愁:STA之RC Corner》《一曲新词酒一杯,RC Corner继续飞: STA之RC Corner拾遗》《且将新火试新茶,深究趁年华:STA之RC Corner再论》。
Sign-off corner | Library PVT | RC corner | OCV |
setup | ss/0.81v/125c | Cworst\_Ccworst\_T | +4% on launch clock cell, +5% on data cell, -4% on capture clock cell; +6% on launch clock/data net; -6% on capture net. |
RCworst\_Ccworst\_T | |||
ss/0.81v/-40c | Cworst\_Ccworst\_T | ||
RCworst\_Ccworst\_T | |||
hold | ss/0.81v/125c | Cworst\_Ccworst\_T | -5% on launch clock cell, -6% on data cell, +5% on capture clock cell; -6% on launch clock/data net; +6% on capture net. |
RCworst\_Ccworst\_T | |||
ss/0.81v/-40c | Cworst\_Ccworst\_T | ||
RCworst\_Ccworst\_T | |||
ff/0.81v/125c | Cworst\_Ccworst\_T | -8% on launch clock cell, -9% on data cell, -8% on capture clock cell; -6% on launch clock/data net; +6% on capture net. | |
RCworst\_Ccworst\_T | |||
Cbest\_Ccbest | |||
RCbest\_Ccbest | |||
ff/0.81v/-40c | Cworst\_Ccworst\_T | ||
RCworst\_Ccworst\_T | |||
Cbest\_Ccbest | |||
RCbest\_Ccbest |
今天聊OCV,通常在foundry给出的表格中,OCV一列还会有design margin 信息,即sign-off要加的uncertainty=clock jitter + Xps setup/hold margin + DPT,其中clock jitter由用户根据所用PLL的精度来确定;Xps由foundry提供,如:30ps for setup, 40ps for hold; DPT一项表示需要加的额外margin用于cover mask misalignment引起的偏差,该值亦由foundary提供,比如5ps for setup, 3ps for hold。
世界上没有两片相同的叶子,半导体世界里没有两只相同的管子。library中的cell delay是在某个固定的PVT(operating condition)下仿真得出的,也就是下图中的Nominal delay,而实际上在芯片内部由于工艺偏差、电压降、温度变化,cell的delay并不是一个固定值,而是一个随机值,遵循高斯分布或门特卡洛分布。在STA中用OCV来模拟这一『特征』,OCV全称on chip variation,用于描述不同管子间由于工艺偏差、电压降、温度变化引起的delay变化,也用于描述工艺偏差引起的net厚度宽度的变化从而导致net的电容电阻变化。
在描述OCV之前需要阐述清楚两个问题:
- PVT跟OCV都是用于描述Process、Voltage、Temperature对timing的影响,两者有何区别?
PVT:主要取决于外部因素,在某一固定的工艺点、芯片的工作电压、周围环境温度对芯片性能的影响。更直白的理解:同一颗芯片在不同工作电压、环境温度下的性能表现。
OCV:用于模拟芯片内部不同管子由于工艺偏差、电压降、温度变化引起的性能变化,这种变化更宏观的表现是:不同芯片在相同PVT下的性能表现不同。
- 在timing sign-off时,为什么要在Nominal delay上加OCV?
因为Nominal delay是在固定PVT下仿真得出的delay,而实际上由于OCV的影响,管子的delay是呈高斯分布或门特卡洛分布,要想保证yield,就必须在timing sign-off时将OCV考虑在内,以保证大部分管子都可以满足时序要求。对每一代工艺,foundry都会做大量测试,针对每个corner找到一组适合的OCV值,这组值可以保证足够高的yield,而如果进一步加紧这个值,并不会更有效的提高yield。在SOCV/POCV里的多少sigma(如:3-sigma)的选取也是出于相同的考虑。
图片来自网络
可以从两个纬度来看OCV,这部分解释,直接从参考文献摘抄而来,建议详读,知其然知其所以然。
第一个纬度:randomcomponent and deterministic component:
random component:The random component of critical parameter variation occurs from lot to lot, wafer to wafer, and die to die. Examples are variations in gate-oxide thickness, implant doses, and metal or dielectric thickness.
deterministic component:The deterministic component comprises variations that you can predict from their location on the wafer or the nature of surrounding patterns. These variations relate to proximity effects, density effects, and the relative distance of devices. Examples are variations in gate length or width and interconnect width. Another component of deterministic variation results from radial or linear gradients specific to each processing tool.
图片来自网络
第二个纬度:引起variation的因素:Process,Voltage,Temperature,Interconnect。
Process variations: The key parameters that control CMOS transistors' drive current are width and length, including random and nonrandom effects, and threshold voltage and gate-oxide thickness, both including only random effects. Random effects are the day-to-day, lot-to-lot, or wafer-to-wafer variations. These include variations due to implant doses, oxide-growth rates, and varying stress levels in the gate oxide, across wafer-photo gradients, or across etch gradients. Transistor mismatch is proportional to the area.The process of fabrication includesdiffusion, drawing out of metal wires, gate drawing etc. The diffusion densityis not uniform throughout wafer. Also, the width of metal wire is not constant.Let us say, the width is 1um +- 20 nm. So, the metal delays are bound to bewithin a range rather than a single value. Similarly, diffusion regions for alltransistors will not have exactly same diffusion concentrations. So, alltransistors are expected to have somewhat different characteristics.
Voltage variation: Power is distributed to all transistors on the chip with the help of a power grid. The power grid has its own resistance and capacitance. So, there is voltage drop along the power grid. Those transistors situated close to power source (or those having lesser resistive paths from power source) receive larger voltage as compared to other transistors. That is why, there is variation seen across transistors for delay. In advanced processes, IR drop can have a significant impact on transistor performance, and, thus, you should account for it in static-timing analysis.
图片来自网络
Temperature variation: Similarly, all the transistors on the same chip cannot have same temperature. So, there are variations in characteristics due to variation in temperatures across the chip. Temperature variations can also cause differences in electrical behavior and, hence, timing. Fortunately, it is uncommon to find opposite temperature corners on the same die during operation. But nonuniform on-chip power distribution, interconnect heating, and thermal characteristics of the die and package materials can influence actual operating temperatures. Temperature profiles, for the most part, follow IR-drop maps but may differ slightly because of density, hard-macro placement, and other effects.
图片来自网络
Interconnect variation: Another area of on-chip variation is in interconnect height and width, resulting in variation in both resistance and capacitance. Because the delay from interconnect is becoming more dominant as geometries shrink, you should pay attention to accurate modeling of interconnect variations. Two potential sources of this variation are the CMP (chemical-mechanical-planarization) process and the proximity effects in the photolithography and etch processes. Variation in the CMP process results from the difference in hardness between the interconnect material and the dielectric. Ideally, after the designer has etched trenches into the dielectric below an interconnect layer and copper on the wafer, the CMP process removes the unwanted copper, leaving only lines and vias. The copper line is softer than the dielectric material, resulting in "dishing" and erosion, which cause uneven removal of the copper and dielectric. Dishing is a function of line width and density, and erosion is a function of line space and density. Another source of variation in thickness due to CMP is a morerandom variation resulting in a gradient across the wafer. You can see thisgradient in die-to-die variations and even across-die variations for large die.You would ideally model this random, nondeterministic variation statistically.However, if you can obtain process data to model this variation, then you canmodel it deterministically as a function of position on the wafer. In thisscenario, you give an adder or subtracter, depending on the x,y position on thedie, to the RC value. Etch-proximity effects appear as "microloading," whichmeans that the etch process overetches isolated lines. A dual-damascenestructure uses only a single metal-deposition step to simultaneously form themain metal lines and the metal in the vias. That is, the formation of both thetrenches and the vias occurs in one dielectric layer. Overetching results in awider trench and, hence, a wider metal line. Photolithographic effects also cause problems. Diffraction andlocal scattering in photolithography may overexpose densely spaced lines andunderexpose isolated lines. Tiling and metal slotting reduce the variation infeature density and mitigate these effects. Tiling algorithms give differentresults, but a general rule states that a less dense gradient yields smallerline-width variations on the die. Tiling does have its drawbacks, however. Asone of the last integration steps in an SOC-design flow, tiling involvescalculations that the extractor performs using density parameters. Thesecalculations can result in different RC values before and after tiling. Tilingcan also result in small additional delay effects on timing. The final designmay not meet the desired target frequency once you account for tiling. Whetherit does depends largely on the design and the methods you use to meet thetiling requirements.
方法学上概念清晰了之后,EDA工具端的操作就十分简单了,在EDA工具中如何设置OCV?每家工具都有各自不同的命令/变量控制,跟OCV相关的大致可分为四部分,此处以Tempus的命令为例:
- 全局控制:set\_analysis\_mode -analysisType onChipVariation
- 设置OCV:set\_timing\_derate -cell\_delay/net\_delay/cell\_check -late/early -data/clock (1-d%);其中d%是foundry在sign-off表格中给出的OCV值
- Report OCV: report\_statistical\_timing\_derate\_factors
- Debug timing时在timing report中将derate列显示出来:set\_global report\_timing\_format {instance arc delay slew arrival user\_derate}
由于工艺的进步,flat OCV在先进工艺如16,7中已经逐步被AOCV, SOCV/POCV取代,以剔除悲观度。就OCV这一主题,驴会逐步介绍。由于驴才疏学浅,难免疏漏出错,还望各位驴友不吝赐教。
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/nR27flu2z7XCbA4EP0sz\_g
作者微信公众号
相关文章推荐
更多IC设计技术干货请关注IC设计技术专栏。