本帖最后由 mz916 于 2018-6-21 22:04 编辑
附上4个实践结果:
1。 只执行set_dont_touch_network , 而不执行set_ideal_network.
这种情况下,阻止不了DC往high_fanout的地方长buffer_tree.
2。 当约束文件中,没执行set_driving_cell 命令, 这种情况下: DC不会对复位脚长buffer_tree.
当约束文件中,有执行set_driving_cell命令后,这种情况下:
对于high_fanout的net, DC会不会插入buffer_tree,由这根high_fanout的net, 是否具有ideal_net属性来决定。
可以通过命令 get_attribute [get_nets XXX] ideal_net 来查看。
或者 report_ideal_network -net 来查看
3。具有ideal_net属性的线,在经过与门,或门后,不能往下级传播(如左图所示)。 除非这个cell的所有输入都具有 ideal_net属性,才能住下级传播(如右图所示)。
4. DC会自动为create_clock命令创建的port pin ,所对应连接的net, 赋与ideal_net属性。 所以,DC默认不会为时钟树长buffer_tree.
Design Compiler
automatically assigns the ideal_net attribute to the clock nets connected to the
ports and pins specified by the create_clock command |