Design Optimization过程中所说的DRC(Design Rule Constraints)主要是指max_transtion、max_fanout、max_capacitance三种。
max_transtion主要是用在input pin上,max_fanout和max_capacitance主要是用在ouput pin上。
max_transition和max_fanout本质上是间接的(indirectly)的max_capacitance。
在计算cell的延迟(delay)和输出pin上的transition时,基本上以input pin的transition time和output pin驱动的capacitance作为参数计算的。由于其中的关系是非线性(nonlinear)的,实际中是通过LUT Table查询或插值(interpolation)计算得出。当input transition或者output capacitance超出了LUT Table的范围时,就需要使用外插值(extrapolation),这时会影响计算的精确度。
基本上max_transtion和max_capacitance的值应该就是LUT Table中相应参数最大值。
由此可知,DRC Violation的大小,其真正意义在于警示计算结果的精确度。
report_lib -timing
可以列出lib_pin的DRC信息。
PIN(name) : in, capacitance, fanout_load, max_transition, rise_capacitance, fall_capacitance ; PIN(name) : out, capacitance, max_fanout, max_transition, max_capacitance, min_fanout, min_capacitance ; PIN(name) : inout, capacitance, fanout_load, max_fanout, max_transition, max_capacitance, min_fanout, min_transition, min_capacitance, rise_capacitance, fall_capacitance ;