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