前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论 STA | 可以想到的抽SDF 相关的一切

论 STA | 可以想到的抽SDF 相关的一切

作者头像
老秃胖驴
发布2019-11-08 17:26:56
5.8K0
发布2019-11-08 17:26:56
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

SDF 全称Standard Delay Format 是用于描述timing 信息的文本格式,通常用于STA 分析跟门级后仿真。

SDF 长啥样


SDF 通常包括三部分:表头,门延时,线延时,表头有SDF 的版本信息,当前设计的名称,产生时间,生产工具,工具的版本号,PVT, 时间单位等。

门延时,有Cell 的名字,对应instance 的名字,Delay 值,Delay 用IOPATH 跟SETUPHOLD 关键词来定义。

IOPATH 跟SETUPHOLD 结构


如下图所示:

  • IOPATH: A 为该timing arc 的起点通常为cell 的输入pin, Y 为该timing arc 的终点通常为该cell 的输出pin, 第一个圆括号是该timing arc 对应的rise delay, 第二个圆括号是该timing arc 对应的fall delay;
  • SETUPHOLD: "posedge D" 表示当前到D pin 是上沿, "posedge CK" 表示D pin 相对于CK pin 上升沿做check, 第一个圆括号是setup check, 第二个圆括号是hold check.
  • 每个元括弧中用":" 分开的三个值分别表示min delay, typical delay, max delay.

是否可以写出PBA-based SDF


到目前为止,不可以,PBA 是一条path 一条path 计算的,对于不同path 同一条timing arc 的delay 是不同的。SDF 是不依赖于path 的,所以SDF 只能用GAB 的值。

write_sdf 如何处理负延时


SDF 3.0 的协议规定,不论是否在写SDF 是加了option "-nonegchecks" 都不允许SETUP 跟HOLD 中有负值,所以当写SDF 时指定了option "-splitsetuphold" 会将SETUP, HOLD 中的负值以0 代替。

SDF 3.0 的协议规定,SETUPHOLD 中setup 跟hold 都可以是负值,但两个值的和必须大于0. 如果在写SDF 时未加option "-splitsetuphold", 对应的值会写到SETUPHOLD 中,如果不指定"-nonegchecks", 负值会被写出。

如何写出Hierarchical 的SDF


如果要写出某个sub block 的SDF, 在写SDF 时用option "-path" 指定要写block 对应的instance 即可。

如果要写出TOP 且不包含某个block 的SDF, 在写SDF 时用option "-exclude_cells" 指定不要写出的block 对应的instance 即可。如果想要TOP 包含该block 的接口信息,可以加option "-exclude_cells_keep_io_nets".

如何处理Parallel arcs


如下图所示,该Cell 的Y pin 在lib 中有并行的timing arcs.

对于并行arc, write_sdf 默认用相同的值标不同条件的arc.

可以在写SDF 是指定"recompute_parallel_arcs" 让工具分别计算每一条件arc 的值:

SDF 与SI


如果enable 了SI, 默认工具会将base delay 跟delta delay 累加的一起写出。

命令:write_sdf

在写SDF 时可以指定"-base_delay" 和 "-delta_delay" 将base delay 跟delta delay 分开。

命令:write_sdf -base_delay -delta_delay

SDF 跟MMMC


到目前为止,不可以写出一个包含多模式多corner 的SDF,不同mode 会设不同的case analysis, 不同的case analysis 会导致不同模式不同的timing arc 被disable 掉;另外不同corner PVT 不同,cell delay, net delay, constraint check 都不同,所以需要对每个模式的每个corner 分别写出SDF.

SDF 跟Derate


到目前为止,无法写出一个可以精确反应SOCV 效应的SDF, SDF 是基于instance 的而SOCV 分析是基于path 的,SOCV 分析中每级instance 都有mean 跟sigma. 其中sigma 是用于计算total path delay 的。在写SDF 时可以指定option "-no_variation" 写出一个non-SOCV 的SDF.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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