找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1107|回复: 2

[转帖] 利用useful skew改善timing

[复制链接]

20

主题

1

回帖

148

积分

技术员

积分
148
发表于 2023-6-8 15:28:12 | 显示全部楼层 |阅读模式
1.useful skew介绍

CTS结束后已经长好了时钟树,一般而言,时钟树的skew越小意味着结果越好,更不容易出现timing的问题。在ICC中报出时钟树各个指标的命令如下
  1. report_clock_tree -summay
复制代码


但是,有时候为了去满足timing要求,例如:要求所有output port的delay越小越好,这意味着连接output ports的寄存器的clock latency越短越好。或者,在一条reg-to-reg的路径中存在setup violation,但是已经无法通过size cell等方法优化了。这时候,就可以利用useful skew来优化timing。

下面介绍一下global skew、local skew以及useful skew的概念:

global skew:同一个时钟域,任意两条路径的最大skew。任意两条路径,不管是不是有时序上的关系,都会算作global skew的计算对象。

local skew:同一个时钟域,任意两条有时序关系的路径的最大skew。PR工具在分析timing时,更多的关注是local skew。

interclock skew:不同时钟域之间的两条路径的最大skew,这个需要看是否要进行balance。

useful skew:时钟周期为 4ns ,各时钟路径延迟如下:可以看到有一条路径的 slack 为 -1ns ,说明这条路径违规。可以看到与这条路径相关的 skew 是 t3-t2= -1ns 。

下面利用 useful skew 向前面一个 slack 比较充裕的路径(slack=2ns)借用1ns的 时间 ,这样两条path都meet了时序要求。如下图:


2.实际举例

因此,可以利用useful skew来解决setup violation。通过设置float pin可以让这条时钟路径变长一点,也可以让这条时钟路径变短一点,根据实际情况决定。下面举个例子:

项目经理提出需求:特定一组output ports的delay控制在2.5ns以内。但是,从最后一级寄存器的Q端到output ports之间没有优化的余地了,而且clock latency就已经有2ns了。因此,只能考虑利用useful skew来降低最后一级寄存器的clock latency。做法如下:

1.抓出这一组output ports的寄存器的clock pin

2.给寄存器的clock pin设置float pin属性,并指定 clock delay
  1. set fid [open xxx/xxx/xxx/port_register.tcl w]
  2. set ports [get_ports {a_Fditherbit* b_Fditherbit*}]
  3. foreach_in_collectionport $ports {
  4. set point [get_attribute [get_timing_path -to $port] startpoint]
  5. set pin_name [get_attribute $point full_name]
  6. set_clock_tree_exception -float_pin_max_delay_rise 1.6 -float_pin_max_delay_fall 1.6 \
  7. -float_pin_min_delay_rise 1.6 -float_pin_min_delay_fall 1.6 -float_pins [get_pins $pin_name]
  8. }
  9. close $fid
复制代码

这样,PR工具就会尽可能降低clock latency,效果如下

clock latency为1.27ns


clock latency为2.84ns

同理,也可以利用useful skew解决reg-to-reg的setup violation问题,不过需要注意前后级的timing slack。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
EDA1024论坛免责声明
请勿上传侵权资料及软件! 如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。

0

主题

7

回帖

56

积分

实习生

积分
56
发表于 2023-6-14 18:31:44 | 显示全部楼层
感谢分享

36

主题

464

回帖

1314

积分

工程师助理

积分
1314
发表于 2023-12-30 21:01:19 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EDA1024技术论坛

GMT+8, 2024-12-19 04:10 , Processed in 0.042721 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表