在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
楼主: xingyun666666

[讨论] 后端一般在什么情况下,比较适合设置group_path来优化timing?

[复制链接]
发表于 2017-11-1 20:29:07 | 显示全部楼层


你跑两轮,第一轮跑完CTS后把每个寄存器的network latency(通常可以通过attribute得到)记录到一个文件里,然后再从DCG/preCTS开始走,把每个寄存器的network latency标上去就可以了。perfectly correlated.
回复 支持 反对

使用道具 举报

发表于 2017-11-2 11:17:49 | 显示全部楼层
回复 6# xingyun666666


    之前比较难修的path 的endpoint都是macro的date pin,所以都是-to
回复 支持 反对

使用道具 举报

发表于 2017-11-2 11:35:45 | 显示全部楼层
回复 10# xingyun620

定义output delay的本意是满足timing buget的要求,所以每个output port都有其对应时钟的output delay约束,这个约束对于top2down的设计流程来说,每个port都有特定的output delay,因为这是top根据模块之间的talk来预估的。如果是down2top的设计流程,每个port上的约束是over constrain即用悲观的方式来约束,给top留够足够的margain,这时候加output delay是采用时钟周期百分比的方式加的(如60% cycle),所以output port delay的添加与port数量没关系,是设计方式要求的。
前面的两种方法
第一种 设置output delay: set_output_delay -clock [get_clock clk_a] value [get_ports  port_a]
设置latency : set_clock_latency -source [get_ports clk_a] value

第二种 设置output delay: create_clock -name clk_v -period xxx  (virtual clock)
                                     set_clock_group -name aaa -asynchronous -group {clk_a clk_v} (将virtual clock和clk_a 同步)
                                     set_output_delay -clock [get_clock clk_v] value [get_ports  port_a] (将output delay定义在virtual 上)

set_clock_latency -source [get_ports clk_v] value (给virtual clock加上latency)
回复 支持 反对

使用道具 举报

发表于 2017-11-2 14:18:47 | 显示全部楼层
回复 13# wwzj1990

非常感谢解答!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-3 16:15:56 | 显示全部楼层
回复 7# Timme


    膜拜前辈,看了您之前的帖子,其实就是:越critical 反而设置越小的weight?这与我之前的认识正好相反!您举的例子是in-to-reg和reg-toreg,假如不管IO的timing,只是想优化掉design中的reg to reg的path呢?也是把reg to reg中最critical的设置更小的weight?相对不critical的反而要设置更大的weight?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-3 17:11:17 | 显示全部楼层
回复 14# xingyun620

关于IO的timing path,就是先跑一次cts,然后取得latency值,然后在重新做place,此时通过virtual clock设置上latency?不知道是不是这样的flow?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-3 17:12:26 | 显示全部楼层
回复 11# Timme


    关于IO的timing path,就是先跑一次cts,然后取得latency值,然后在重新做place,此时通过virtual clock设置上latency?不知道是不是这样的flow?
回复 支持 反对

使用道具 举报

发表于 2017-11-3 20:48:13 | 显示全部楼层


   
回复  Timme


    关于IO的timing path,就是先跑一次cts,然后取得latency值,然后在重新做place,此时 ...
xingyun666666 发表于 2017-11-3 17:12



没有什么 virtual clock,都是普通 clock。ps:直接试试会更有体会...
回复 支持 反对

使用道具 举报

发表于 2017-11-6 09:00:13 | 显示全部楼层
回复 18# Timme

place的时候,clock不是ideal的吗?
回复 支持 反对

使用道具 举报

发表于 2017-11-6 20:43:16 | 显示全部楼层


   
回复  Timme

place的时候,clock不是ideal的吗?
xingyun620 发表于 2017-11-6 09:00


ideal的意思是,延时不是计算得到的。并不代表它只能是0。参见ideal_network定义
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-23 07:08 , Processed in 0.019974 second(s), 3 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表