完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了学习记录AOCV库的相关知识,转载了3篇好的文章,感谢三位3大佬,内容仅作为学习使用,如有侵权请联系删除!
今天我们要介绍的时序分析概念是AOCV。全称Stage Based Advanced OCV。我们知道,在OCV分析过程中,我们会给data path,clock path上设定单一的timing derate值。随着工艺演变的加速,我们发现这种设置方法是过于悲观的,大家可以想象下,OCV是片上误差,就代表一条path上有的cell delay大于标准值,那也有的cell delay会小于标准值。因此不能一味的加大或减小delay来模拟片上误差。 如下图所示,对于下面这样一条buffer链,假设8个buffer处于不同的PVT条件下,OCV会将8个buffer都选用最差的条件来分析(同一derate参数),而AOCV则会采用不同的timing derate值来分析。 AOCV有它专门的libary库,我们称为AOCV table。按照维度分为两种,一种是一位的只以stage count作为计算的表格,如下图所示: version: 2.0 object_type: lib_cell object_spec: LIB/BUF1X rf_type: rise fall delay_type: cell derate_type: late path_type: data depth: 1 2 3 4 5 distance: table: 1.123 1.090 1.075 1.067 1.062 depth就代表着stage count,从表格中我们可以看到随着;路径的深入,derate的效应会减小。那我们怎么来计算stage count呢? 通常这个计算方法比较复杂,不同的电路情况对应着不同的count计算方式:如下timing path,我们将L1,L2,DFF1,U1,U2,U3的stage count设成6,而C1,C2,C3,C4的stage count需要设成4,这边需要说明的是B1,B2由于是common point,所以在计算stage count时需要忽略。 另外一种是以distance和stage count混合组成的二维AOCV table. 它在计算derate时同时考虑了timing path的距离因素,当然这个虽然更加精确,但是会增加runtime,所以一般现在一维表格用的更多。 version: 2.0 object_type: lib_cell object_spec: LIB/BUF1X rf_type: rise fall delay_type: cell derate_type: late path_type: data depth: 1 2 3 4 5 distance: 500 1000 1500 2000 table: 1.123 1.090 1.075 1.067 1.062 1.124 1.091 1.076 1.068 1.063 1.125 1.092 1.077 1.070 1.065 1.126 1.094 1.079 1.072 1.067 |
|
|
|
使用方法:
set_analysis_mode -aocv true ######################以上内容转载自:https://www.sohu.com/a/237459990_99933533 芯片在生产过程中,由于外界条件和生产条件的变化,比如PVT,可能会产生不同的误差从而导致同一晶圆上不同区域上的芯片里的晶体管速度变快或者变慢,并因此产生corner概念。 BCWC:即为best case corner和worst case corner,分别代表两种不同的PVT环境。BC时,timing-arc的时间最短,WC时,timing-arc的时间最长。OCV模式,AOCV模式,POCV模式,LVF模式均是在不同PVT(不同corner)的基础上添加derate。[3] 一、OCV介绍(on chip variation 片上抖动): 同理,同一块芯片上的晶体管也会有变快或者变慢的现象,因此产生了OCV的概念。 OCV在path上设置统一的derate,悲观度较高。derate数值是指对launch、capture、data line的cell或者net上添加一个比理想情况更为悲观的倍数,比如针对setup,launch的derate统一设置为1.1,表示delay时间增加值原来的1.1倍,capture的derate统一设置为0.9,表示delay时间变为原来的0.9倍。从而使设计能够覆盖实际生产过程中产生的variation。针对common path,利用cppr将悲观量移除。 实现方式: (1)运用于主PVT库对应的微小差异PVT库 (2)set_timing_derate命令设置全局derate值 |
|
|
|
AOCV(Advanced on chip variation (先进的片上抖动))
在传统OCV上引入了对路径长度和整个路径在物理上所跨越的距离的考虑。在实际设计中,通过对一条line中cell在不同的逻辑深度时的仿真,以及基于前后级在物理中不同距离来得到一个更精确的derate值来进行时序分析,而不是OCV传统的粗放式的统一的derate。[1] AOCV derate table: (1)path depth:基于cell在整条时序路径中所处的深度或者级数来考虑derate (2)path distance:基于路径中cell或net跨越的物理距离来给出相应的derate |
|
|
|
POCV
POCV,又称SOCV(Statistical On Chip Variation),如下图所示,POCV将delay模拟成一个正态分布 。 每个cell的delay最高概率出现在 u周围。整体落在 区间内的概率为99.7%。[2] 如果在.lib中提供了sigma的数值,则可以通过公式(1)算出,如果通过read_aocvm读取的POCV的参数文件(包含参数C),则可以通过公式(2)算出。 |
|
|
|
LVF
LVF,liberty variation format。是一种和liberty库文件(.lib)有关的数据格式。[4] 有两种方式可以得到LVF中的sigma: (1)montecarlo蒙特卡洛模拟 (2)Sensitivity-Based-Analysis |
|
|
|
如何使用AOCV做STA分析
BA AOCV: 对于一个cell,其Depth取其所在所有timing path上的最小值; 不考虑distance based OCV,即不计算distance的值; 如果AOCV table是二维的,STA工具通常会选最后一行做GBA分析,以保证distance值最悲观。 PBA AOCV: 在GBA的基础上,针对用户指定的一组path重新计算timing,并重新计算该组path上每个cell的Depth; 对于一个cell,其Depth对不同的path分别计算,分别取该cell所在path上的精确值; 如果提供了distance ba***ed AOCV table,会根据SPEF中的坐标信息,计算对应path所在区域的对角线长度,即derate值从二维表格中得到。 PBA计算得到的值更精确,但需要特别特别特别长的runtime。 Tool:因为方法学上一致,在工具端,除了变量/命令命名方式不同,剥去这层外衣,里面都是一样雪白的肉体。此处仍以Tempus为例,来介绍工具端使用模型(use model)。 使能AOCV 分析: setAnalysisMode –aocv true –analysisType onChipVariation 读入AOCV table: Single corner: read_lib -aocv my.aocv MMMC: create_library_set -name mylib -timing my.lib -aocv my.aocv AOCV相关变量设置: 列几个常用变量,至于每个变量用于什么用途,请自行查guide。这里需要特别说明的一点是:如果既读入了AOCV table又用set_timing_derate设了OCV,不同工具的行为有所差别,都有相应的变量控制。对于Tempus工具在计算最后的derate时会根据以下标红变量的不同设置,做不同计算。 timing_aocv_analysis_mode timing_aocv_derate_mode timing_derate_aocv_reference_point timing_derate_ocv_reference_point timing_derate_aocv_dynamic_delays AOCV report: report_aocv_derate report_timing -retime aocv/aocv_path_slew_propagation report_timing -format { 。.. stage_count aocv_derateuser_derate 。..} |
|
|
|
只有小组成员才能发言,加入小组>>
695 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 14:19 , Processed in 1.143690 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号