Dinglei_hello · 2019年12月12日

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

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

SDF 长啥样

SDF 通常包括三部分:表头,门延时,线延时,表头有SDF 的版本信息,当前设计的名称,产生时间,生产工具,工具的版本号,PVT, 时间单位等。
1.jpg
门延时,有Cell 的名字,对应instance 的名字,Delay 值,Delay 用IOPATH 跟SETUPHOLD 关键词来定义。
2.jpg

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.

3.jpg

是否可以写出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 代替。
4.jpg
SDF 3.0 的协议规定,SETUPHOLD 中setup 跟hold 都可以是负值,但两个值的和必须大于0. 如果在写SDF 时未加option "-splitsetuphold", 对应的值会写到SETUPHOLD 中,如果不指定"-nonegchecks", 负值会被写出。
5.jpg

如何写出Hierarchical 的SDF

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

如何处理Parallel arcs

如下图所示,该Cell 的Y pin 在lib 中有并行的timing arcs.
8.jpg
9.jpg
对于并行arc, write_sdf 默认用相同的值标不同条件的arc:
10.jpg

SDF与SI

如果enable 了SI, 默认工具会将base delay 跟delta delay 累加的一起写出。
命令:write_sdf
11.jpg
在写SDF 时可以指定"-base_delay" 和 "-delta_delay" 将base delay 跟delta delay 分开。
命令:write_sdf -base_delay -delta_delay
12.jpg

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.
本文转载自公众号: 陌上风骑驴看IC
原文链接:https://mp.weixin.qq.com/s/ZYZROf8Y1KOBVhl_BjcKaw
未经作者同意,请勿转载!

推荐阅读
关注数
22
文章数
96
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息