关于ICC中的max_transition
时间:10-02
整理:3721RD
点击:
在ICC做时钟树的时候,有三个地方可以设置max_transition,一个是lib库里面单元本身的max_transition,一个是sdc文件里面设置的set_max_transition,另一个是set_clock_tree_options -max_transition。一般来说,ICC 会选用其中最小的值来作为约束。但是今天跑ICC的时候,设置了set_max_transition,比如设置为0.1,但是report_clock_tree -drc_violators 里面的target transition依然使用的是默认的0.5,这个现象好像是set_max_transition对constraint没有work,有谁遇到过这个情况吗?
0.5 是你不设置set_clock_tree_options的默认值
可以尝试改变一下
因为并不是三者选最小,而是用set_clock_tree_options -max_transition里面的值
是的,这个值是默认值。但是我需要的是sdc里面的值,当有多个时钟域的时候,不可能对一个个来进行设置,,否则sdc里面的transition值干脆用set_clock_tree -max_transition来进行设置了,而不用set_max_transition了啊。
为什么不是用的最小值,,,一般都是取最强约束的那个啊
你看看你的单位是不是错了,0.5和0.1用的不是一个单位
man set_clock_tree_options
man set_max_transition
你说的跑ICC的时候指的什么时候?placeopt?cts?route?一般clk都是单独拿出来做的,不会和data一块做,在placeopt时设clk为ideal net work。在cts的时候用set_clock_tree_options去约束就可以了。
