set_max_delay检查
可为什么输入指令report_constrain -all_violators -verbose后 没有violators ?
set_max_delay最好设置到Q端,不要取CK端
我这样设置FF1/CK-->FF2/D最大路径延时而没有设置FF1/Q-->FF2/D是为了让DC在综合的时候把max_delay纳入考虑范围而去根据负载去选择延时较小的寄存器。按楼上的说法,是不是间接的说DC就不会按照我所述的想法去进行优化呢?
我想问下,set_max_delay和set_false_path可以同时使用吗? 关于这点我收到三种看法:1, 针对跨时钟的数据路径问题,当需要DC检查set_max_delay的时候,必须去掉set_false_path。因为set_false_path优先级比set_max_delay优先级高。当有set_false_path的时候,DC会忽略set_max_delay;
2, 针对跨时钟的数据路径问题,当需要DC检查set_max_delay的时候,必须同时设置set_false_path。因为set_max_delay的针对对象为非时钟域内数据传输路径,只有设置set_false_path后该数据路径不再做时序检查,此时可以认为是组合逻辑路径,set_max_delay才可以生效。
3.set_max_delay只针对组合逻辑电路, 跨时钟域数据路径问题尽管不属于同一时钟域,但还属于时钟域问题,不属于set_max_delay的使用对象范畴,如果需要对此路径延时进行优化,则可以简单去掉set_false_path, DC本身回去做这段数据路径的优化,尽管属于跨时钟域问题,只需在后续的PT时序分析的时候再添加上set_false_path即可,这样就可得到最小的数据路径延时。
对于以上三种说法不知道哪种正确,还请大牛和小编解惑。感激不尽