encounter工具对net set_dont_touch
请教一个问题,用encounter做layout工具,遇到 set_dont_touch [get_nets U1/U2/N1]
如果有这样的一条约束,encounter是只dont_touch U1/U2/N1 这个阶层的net,还是U1/N1也
被dont touch呢?
ICC里面dont touch的属性是不能穿过阶层的,不知道encounter的规则是什么?
所有层
你肯定“ICC里面dont touch的属性是不能穿过阶层的”?
是的,net肯定不能,这是我在synopsys的solvnet上当下来的,你可以看看:
Question:
I have a net in my design that I want to preserve during place_opt/route_opt.
I use set_dont_touch to define a dont_touch attribute on this net. But as this net is going to different logical hierarchies, optimization is adding buffers on the segments of the net where I did not define dont_touch.
Doesn't dont_touch propagate through the hierarchy? What I can do to preseve such nets?
Answer:
dont_touch doesn't propagate through the hierarchies. So if your design has a net going inside different logical hierarchies, it will have different hierarchical segments (each segment with a different full name).
In such cases, if you define dont_touch on a single segment, it will not propagate through the logical hierarchy, and only that single net segment will be dont_touch. Optimization is free to buffer other segments.
If you want to prevent this, you need to define set_dont_touch on all those segments.
However, it may be difficult to find all such segments. So here are few other options you may want to consider:
謝謝!
這個以前還真沒有注意到
小编,你好,请教一个问题;
在edi中,有一个设计,需要给某个input信号加上一个buffer,增加驱动能力,从命令ecoaddrepeater来看,我不知道要如何能够找到这个input pin所在的net名字。求助一下,怎么找到这个net的名字?
还有这个命令是要在route之后报了网表中去找net吗?
这个诉求,现成的命令应该是没有,但是可以写脚本抓出来
foreach_in_collection a [get_pins -hier -filter "full_name=~ **你需要查的input的pin名字关键字*"]
{
set pinName [get_attribute [get_pins $a] full_name]
set b [get_attribute [all_fanout -from [get_pins $pinName] -level 1 -flat -only_cells] full_name ]
echo "$b" >> ../data/aa
}