时间都去哪了——timing budget(一)

180a8ec4460f5f9f3b33cff2fcda9b95.gif

Timing budget是hierarchical flow中非常关键的一个步骤。Timing budget会分析整块芯片的时序情况,然后给各个block分配合适的时序约束文件。简单而言,Timing budget就是处理chip level上的各类sdc约束,包括set_input_delay(SID),set_output_delay(SOD),set_false_path,set_multicycle_path(MCP)以及clock的信息等等可以用下面的示意图表示:

f95b1f514eae7c14557bf9b01770b94a.jpeg

假设上半部分是一条在full chip上完整的path,可以看到这条path上有input delay, output delay, false path, multicycle path, max delay, clock等信息,当定义完下面两个block并做完timing budget以后,工具会根据算法,重新去分配每个block端口上的约束。

那我们如何去做Timing budget呢?

我们先来看一下它的flow.

40844ac074d58489bd2881db23594eb9.jpeg

1. 做timing budget之前,design的floorplan先要过关,timing budget本身并不会对优化你的设计,它也不能让一个很差的floorplan变成timing closure。所以在chip level flatten情况下,必须首先准备一个可以budgetable的floorplan.

2. 然后的,由于要计算每条timing path,所以要在chip level跑place以及trialRoute.

3. 做完physical budget(pin assignment)以后,就可以跑timing budget了,命令很简单,就是deriveTimingBudget。跑完以后可以save出timing budget的内容。主要如下:

f9bbf6ad216b27ef05fdbb53b63ecc22.jpeg

对于block level会save出block的sdc和lib, 对于top level,会save出top的sdc,并且timing budget会去处理chip level上的四种exception constrains(set_false_path, set_multicycle_path, set_min_delay, set_max_delay. 转换好top level和block level的view Definition file.

4. 最后,我们可以就可以commit partition. save出完整的block database.


a4f28694cd692c15b9dc1ab6057ca7fc.jpeg

往期回顾

IC工程师:百万年薪路上的20个阶段,你在哪个阶段?

静态时序分析STA合集一

静态时序分析STA合集二

时序基本概念介绍<sdc合集>

数字后端基本概念合集(一)

数字后端基本概念合集(二)

数字后端基本概念合集(三)

Low Power概念介绍合集

数字后端dbGet使用方法合集

号外,数字后端交流群招人啦

IC圈的世界杯 | 论芯片设计的胜利十一人

知否?知否?Block PD应该提交哪些数据?

Timing ECO手修攻略

数字后端面试100问(2019全新版)

数字后端面试100问(校招版)

简历请戳邮箱:taozhang3260@163.com

觉得有用的话,给我点个好看吧afbc69a9ba7b1fba0aa175dbbdf36cf8.gif

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值