EETOP 创芯网论坛 (原名:电子顶级开发网)

标题: DC里set_dont_touch和set_ideal_network的问题 [打印本页]

作者: liuada001    时间: 2012-4-23 10:40
标题: DC里set_dont_touch和set_ideal_network的问题
本帖最后由 liuada001 于 2012-4-23 22:45 编辑

在综合的过程中,为了不让DC工具自动优化一些我们不希望其优化的模块(比如CLK)我们通常都会设置set_ideal_network和set_dont_touch,我理解为前者在timing_report的时候忽略延迟,后者阻止DC插入buffer。

那么dont_touch的属性,能不能穿过logic?

set_dont_touch和set_dont_touch_network有什么区别,为什么普遍认为set_dont_touch_network会造成未知问题而不推荐使用?

对于ideal_net的这个属性,是不是说直接忽略了延迟,忽略了DRC,如果将clk设定为ideal_net,是不是就不用再设定dont_touch了?

说的有点混乱,请各位大神技术支持,小弟不胜感激!!
作者: bjutrg    时间: 2012-4-23 10:52
遇见熟人了,呵呵
作者: 陈涛    时间: 2012-4-23 11:11
本帖最后由 陈涛 于 2012-4-23 11:17 编辑

set_dont_touch不会穿过logic,可以用于cells, nets, references, 和 designs。你不希望DC碰的地方,都可以用它。
set_dont_touch_network可以穿过logic,可以用于clocks, pins, 或 ports,比上面的范围小。当你对设计不十分熟悉时,这个属性可能会传到你不希望的地方去。

ideal_net 顾名思义就是把这条net完全理想化--无穷大的驱动能力,没有延迟。有时会和上面的命令一起用。当你知道了它们的意思,如何使用取决于你的目的和得到的结果
作者: liuada001    时间: 2012-4-23 13:01
回复 3# 陈涛

谢谢版主的解答!
对于Ideal_net这个属性,设置的时候有个no_propagate的属性,对于net来说一定要设这个,是不是就是为了阻止其穿过逻辑?那如果我设的是pin并且不加上no_propagate能穿过逻辑吗?

在建立clock的时候,我看到它会自动的设为ideal_net,但是却还是会计算延迟,会不会因为clock path有逻辑的原因?
作者: 陈涛    时间: 2012-4-23 13:32
set_ideal_net = set_ideal_network -no_propagate

clock net 如果被用作data,就会有delay,那是因为net上面挂的clk pin的负载,不是ideal net本身
作者: liuada001    时间: 2012-4-23 14:08
回复 5# 陈涛

我大体上明白了,clk在创建的时候,会默认为ideal net的,但当clk接入到data path的时候,D端就会考虑我clk上的负载,但并不会影响clk的ideal net的属性。
假如我的clk需要门电路做gating,gating后的时钟也有很大的扇出,那我为了忽略掉延迟,是不是需要在gating后重新给clk定义ideal net?因为ideal net不能穿过逻辑。

作者: argintang    时间: 2012-4-23 15:45
受教了.謝謝!
作者: 陈涛    时间: 2012-4-23 16:05
如果你的CG集成好的标准单元,它会自动继承ideal的属性
作者: liuada001    时间: 2012-4-23 22:47
回复 8# 陈涛

涛哥威武,明白了!
作者: lizhaohong520@    时间: 2012-5-23 15:59
回复 6# liuada001


    假如你clk后面的gate的net是有这个ideal属性··那么到p&r需要管它吗?
作者: liuada001    时间: 2012-8-3 12:00
回复 10# lizhaohong520@
到PR阶段的时候,就已经不存在什么ideal net这种东西了,做CTS就是为了平衡时钟路径的高负载高延迟。
作者: zeushuang    时间: 2012-8-10 14:16
在看DC的东西,又长了点知识
作者: 悉你    时间: 2012-8-13 14:56
Mark, thanks for you guys discussions.
作者: cleveland2002    时间: 2013-7-4 09:18
学习学习,不错。
作者: 风逝影邃    时间: 2013-11-21 13:35
版主解答的很好,学习了~
作者: shenshen0927    时间: 2014-9-20 11:14
mark一哈
作者: xjmillie    时间: 2015-1-14 16:42

作者: thekiller    时间: 2015-1-28 20:36
本帖最后由 thekiller 于 2015-1-28 21:43 编辑

回复 17# xjmillie


   问题1:        set_ideal_network :当object是一个net的时候,必须加上-no_propagate选项,不然dc会ignore该命令,是不是说用set_ideal_network 声明ideal net时候,dc不让attribute 传递,为什么要这么要求?set_ideal_net被抛弃?
   问题2:
        在什么场景下需要使用set_ideal_network net_name -no_propagate          场景1.当gate logic cell中的latch的output与ideal clock做与的时候,与门的output 不会是ideal,如果需要output 为ideal,需要强制的设定latch output net为ideal。
        还有其他的场景吗?
   问题3:
        set_ideal_network和set_dont_touch_network在什么场景下需要配合使用;           场景1:set_ideal_network,对design 内部soft reset network声明ideal network的时候,由于reset net被一个组合逻辑驱动,无法找到相关的pin,只好声明reset_net为ideal network,但是这样的话要使用set_ideal_network -nopropagate,导致ideal attribute无法spread,这时候只能使用set_dont_touch_network将reset_net声明为dont touch ,但是整个reset network没有完全声明为ideal,没有声明为reset network的部分还会做timing check&drc,甚至报violation,这种场景存在吗?该如何解决啊
作者: appleyuchi2    时间: 2016-3-24 10:34
回复 3# 陈涛


   版主好,请问使用了set_dont_touch以后,为何一个design在综合的前后,其关键路径是不一样的?如何使得综合前后电路的连接关系不变、关键路径都是一样的呢?
谢谢
作者: koto135    时间: 2016-5-27 19:08
先mark一下,回头好好看看
作者: 我也要当学术帝    时间: 2016-12-29 20:04
学习下~
作者: 我也要当学术帝    时间: 2016-12-29 20:26
好好看了一遍,有点明白了,学习啦~
作者: 潇洒的蛋壳Chris    时间: 2017-3-1 09:37
set_ideal_net = set_ideal_network -no_propagate
set_ideal_net不会把ideal_net属性往后传
set_ideal_network会把ideal_net属性往后传
那也就是说set_ideal_network -no_propagate只作用于当前net咯?
作者: haha2025    时间: 2017-10-16 20:40
“假如我的clk需要门电路做gating,gating后的时钟也有很大的扇出”我现在的设计就是有这个问题,fanout太大,超出100-200,请问是什么原因?是要把clk或gating后的时钟设为no idea吗?
作者: haha2025    时间: 2017-10-16 20:41
回复 6# liuada001


    “假如我的clk需要门电路做gating,gating后的时钟也有很大的扇出”我现在的设计就是有这个问题,fanout太大,超出100-200,请问是什么原因?是要把clk或gating后的时钟设为no idea吗?谢谢!
作者: haha2025    时间: 2017-10-16 20:42
“假如我的clk需要门电路做gating,gating后的时钟也有很大的扇出”我现在的设计就是有这个问题,fanout太大,超出100-200,请问是什么原因?是要把clk或gating后的时钟设为no idea吗?谢谢!
作者: tttank    时间: 2017-10-18 22:36
rdtyuy士大夫共和国
作者: 普雅花    时间: 2017-12-28 14:45
学习学习,哈哈哈哈
作者: omnik    时间: 2018-11-7 09:59
good!
作者: omnik    时间: 2018-11-7 10:01
good!!!!!
作者: 那棵树没有生气    时间: 2019-1-23 16:28
受教了!谢谢
作者: 小岚陌陌    时间: 2019-8-27 09:43
我想问问,set_dont_touch_network一般作用于时钟树和复位么?为什么有时候把复位加进去,会出现很多违例,不加反而没有
作者: superjinge    时间: 2020-4-3 16:28
不错的主题,学习到了
作者: syjuang@123    时间: 2020-4-7 10:14
學習了
作者: Hedonist    时间: 2023-12-28 14:45
学习了~




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5