前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论STA | POCV/ SOCV spatial derate

论STA | POCV/ SOCV spatial derate

作者头像
老秃胖驴
发布2019-11-07 15:27:30
2.6K0
发布2019-11-07 15:27:30
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

回顾一下《论STA | POCV / SOCV total derate 计算解析》total derate 的计算公式,其中distance derate 就是本文要论及的spatial derate. 此处total derate 的计算公式中都是乘以distance derate, 实际上不论是C 还是S, 在其timing 计算引擎中,都有相应控制变量来控制是『加上』还是『乘以』distance derate. 到目前为止,默认行为应该都是『乘以』。

如果设置了用『相加』的模式来计算total derate 则其计算公式为:

spatial derate 也叫distance-based derate 也叫location-based derate 用于模拟location variations, 理论上相对位置越远工艺偏差越大。LVF 是可以支持saptial derate 建模的,但是目前大部分Feb 都会提供一张单独spatial derate 表格。通常SOCV spatial derate 表格有如下两种格式:

  • Design-level spatial derate data
  • Library cell-level spatial derate data

Design-level spatial derate data:

Design-level spatial derate 对当前design 的所有cell 跟net 都有效,可以使用path_type 指定是针对clock path 还是data path;也可以使用delay_type 指定是针对cell delay 还是net delay, 其格式为:

Library cell-level spatial derate data

Library cell-level spatial derate 针对lib cell 设置,可以使用path_type 指定是针对clock path 还是data path,其格式为:

优先级:

  • 如果同时设置了Design-level 跟Library Cell-level 的spatial derate, 则library cell-level spatial derate 优先级更高,Design-level spatial derate 会用于net.
  • 如果只指定了某一种path_type 的cell-level spatial derate, 则其余部分用Design-level spatial derate 计算;
  • 如果同对一个cell 设置了两次类型相同的spatial derate, 则先设的优先级高。

Innovus/Tempus SOCV spatial derate Flow

  • 读入SOCV side-file;
  • 设置spatial derate analysis;
  • 进行spatial derate timing 分析。

读入SOCV side-file

  • single mode single coner, 用命令read_lib -socv 读入:
  • Multi mode multi coner, 在view definition 中用create_library_set 或update_library_set 读入:

设置spatial derate analysis

主要由以下几个变量控制,除此处列出的变量还有控制计算total derate 时是将spatial derate 『加上』还是『乘以』跟是否将spatial derate 应用于sigma. 在计算derate distance 时有两种模式:

  • Bounding_box, 跟计算AOCV distance 一样,从common point 起到endpoint 止,框一个矩形,矩形的对角线即为所求distance 值。
  • chip_size, 用timing_spatial_derate_chip_size 指定一个固定值。chip_size 可以从带坐标信息的SPEF 中读入,也可以从DEF 中读入。

在GBA 模式,即可以将distance_mode 设为chip_size 也可以设为bounding_box; 在PBA 模式通常用bounding_box.

进行spatial derate timing 分析

  • GBA bounding-box mode
  • GBA chip-size mode
  • PBA bounding-box mode

GBA bounding-box mode

  • GBA 模式,工具不精确计算每一条path 的bounding-box, 针对一对startpoint-endpoint 从common point 起将该对timing check point 间所有timing path 的所有cell 都框起,用最长的对角线来计算这一组timing path 的spatial derate. 这种方式计算得到的distance 使setup 更悲观,该模式不建议应用于hold 分析。
  • GBA Bounding-box 只能用于design-level spatial derate table, 不能用于cell-level spatial derate table;
  • GBA Bounding-box 的spatial derate 直接应用于timing report最后arrival time 和required time 的计算,不体现于timing path 的每一个cell 上;
  • GBA Bounding-box 不能分别针对data, clock, net, cell 跟不同电压进行设置;

GBA chip-size mode

  • 由于如上诸多限制,GBA bounding-box 模式通常不建议用于sign-off. 建议使用GBA chip-size 模式做sign-off
  • GBA chip-size mode 用design-level spatial derate 对net 做derate, 可以同时读入cell-level spatial derate 对cell 做derate.
  • GBA chip-size mode, spatial derate 针对timing path 上的cell 设置,可以分别针对data, clock, net, cell 跟不同电压进行设置。
  • 在timing report 中spatial derate 呈现在socv_derate 列:

PBA bounding-box mode

  • PBA 模式,如果物理坐标数据可用,工具会针对每一条path 计算一个精确的distance 值;如果物理坐标数据不可用,工具将默认使用芯片的尺寸来获得距离参数。
  • PBA bounding-box mode, 针对一对startpoint-endpoint 从common point 起到endpoint 止将当前timing path 框起,计算对角线距离为distance 值,如果该条timing path 没有common point 则用chip-size 计算distance.
  • PBA bounding-box mode, spatial derate 针对timing path 上的cell 设置,可以分别针对data, clock, net, cell 跟不同电压进行设置。
  • 在timing report 中spatial derate 呈现在socv_derate 列
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌上风骑驴看IC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档