#15楼的贴图,似乎应该理解为:ideal network带有dont touch属性,不会做时序优化。设置rst1和rst2为ideal network,按道理rst也是ideal network,理由是(参见Synthesis Commands):
A combinational cell is marked as ideal if all of its input pins are either ideal or attached to a constant net (and other input pins are ideal). Objects with the case analysis attribute set are not treated as constant.
rst之所以会被DC插入buffer,应该是因为:
Propagation traverses through combinational cells but stops at sequential cells. If an ideal network overlaps a clock network, the clock timing overrides the ideal timing for the clock part of the network.
即ideal network到时序单元就终止了。所以rst的ideal属性不起作用。但是clock的ideal属性会起左右。
所以,需要设置rst为dont touch,dc才不插buffer。
楼主你好,我看了一下您的描述和楼下的一些回答,感觉可能的原因并不是你的理解问题,可能是rst_n后面接的是一个时序cell,在官方原文中有这样的描述:A combinational cell is marked as ideal if all of its input pins are either ideal or attached to a constant net (and other input pins are ideal). Objects with the case analysis attribute set are not treated as constant .Propagation traverses through combinational cells but stops at sequential cells. If an ideal network overlaps a clock network, the clock timing overrides the ideal timing for the clock part of the network
补上一段话,看完就懂了,官方解释完整版:A combinational cell is marked as ideal if all of its input pins are either idealor attached to a constant net (and other input pins are ideal). Objects with thecase analysis attribute set are not treated as constant.Propagation traverses through combinational cells but stops at sequential cells. Ifan ideal network overlaps a clock network, the clock timing overrides the idealtiming for the clock part of the network.In addition to disabling timing updates and timing optimizations, all cells and netsin the ideal network have the dont_touch attribute set