innovus中path group 的策略和应用(上)

文章探讨了后端工具中三个重要引擎(auto-place,CTS,auto-route)在数据路径优化中的作用,特别强调了路径分组(pathgroup)的重要性。Invs的BPG(BasicPathGroup)理论提供了新的优化思路,解决了多时钟域和复杂路径的冲突问题,使得usefulSkew技能能更高效地发挥作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在所有的后端工具里边,有三个重要的引擎:auto-place,CTS,auto-route三个。这里边的auto-place是决断了整个设计时序的基点。由于,auto-place的动作是在设计的preCTS阶段,所以这里的设计时序就是广义上说的:数据路径(datapath)时序(timing )。当然,就算是到了CTS/route阶段后,也可以继续利用auto-place数据优化的功能,在数据库上做数据路径增量优化(optDesign -increment)。可以说,数据路径的优化手段,实际上是贯穿在整个后端流程上的。

这里结合过往的经验,以及invs特有的先进策略,一起来看看,数据路径优化里边的重要知识点:路径分组(path group)。看看这其中的奥妙和有趣的事情。ICer GO!

image-20240317144409907

众所周知,无论是综合工具(DC、genus或者precision等)抑或是APR工具(icc、icc2或者invs等),数据路径优化(data path optimization)一直是影响时序质量的重要因素。由于综合使用了ideal clock,可以说,data path的优化就是综合阶段的主要工作,这个和后续的APR工具的第一个主动作:auto-place,形成了前后连贯,相辅相成。尽管这两个引擎和所处工具的位置不同,但是目标是高度一致:优化数据路径的时序。这也是最近两年聚合型R2G工具大行其道的一个重要原因。

  • S家的Fusion Compiler: DCG + ICC2
  • C家的iSpatial: genus + innovus

无论什么工具,数据路径优化(data path optimization)一直是基于路径分组(path group)进行的,想要提高数据路径优化就需要了解路径分组(path group)的理论。

经典路径分组(path group)理论

在经典的数据路径优化理论(主要是基于S家,因为DC是综合界的长期主导),对于数据路径优化,DC采用了基于**时钟域(clock domain)**的方式进行处理:每一个时钟域都会被工具判定为一个路径分组(path group)

路径分组(path group)的基础知识

PS:虽然最新的DC也提供了基于违例(violation)和设计层次(hierarchy)的自动路径分组(path group)创建命令;create_auto_path_groups ,但是这个命令只是一个补充性的,并没有动摇S家传统的路径分组方式。

S家的这种分组方式对用户是很友好的,基本就是将SDC的create_clockcreate_generate_clock命令直接翻译成了group_path 命令,映射关系见下表:

SDC命令 类group_path命令 comment
create_clock PCLK1 group_path -to $FF_under_PCLK1 主clock
create_generte_clock -name gen_clk1_pclk1 -master PCLK1 -add -pin ...... group_path -to $FF_under_gen_clk1_pclk1 分频clock
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值