微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > Prime Time中进行STA 时,analysis_coverage低的问题

Prime Time中进行STA 时,analysis_coverage低的问题

时间:10-02 整理:3721RD 点击:
Prime Time中进行STA 时,执行report_analysis_coverage的结果如图:




从图上可以看出untest覆盖率很高,这是什么原因造成的。进行STA脚本如下:

set_operating_conditions -analysis_type on_chip_variation -max_library IC035os142_max -max WORST -min_library IC035os142_min_-40 -min BEST_-40

read_parasitics NO_PAD/chip.spef.max

#read_parasitics NO_PAD/chip.spef.min

create_clock -period 100 -waveform {0 50} [get_ports clk_in]

create_generated_clock -divide_by 64 -source clk_in [get_pins uut_filter/M2/clk_64]

set_case_analysis 1 [get_pins uut_clk_pol/POL]

set_propagated_clock [all_clocks]

set_clock_uncertainty -hold 0.01 [all_clocks]

set_input_delay -max 20 -clock clk_in [remove_from_collection [all_inputs] [get_ports clk_in]]

set_input_delay -min 1 -clock clk_in [remove_from_collection [all_inputs] [get_ports clk_in]]

set_output_delay -max 20 -clock clk_in [all_outputs]

set_output_delay -min 1 -clock clk_in [all_outputs]

set_driving_cell -lib_cell buffd1 -pin Z -library IC035os142_max [remove_from_collection [all_inputs] [get_ports clk_in]]

set_load 1 [all_outputs]

问题原因已找到,是因为生成时钟约束问题。但为何后仿跑过了呢?

这么高的untest,肯定是clock没设置好。
你们的芯片频率很低,所有没约束到setup时序也满足了

现在考虑hold的问题:STA是hold余量为0,未设置clock_uncertainty -hold ,这个值设多大合理?问了工艺厂,那边说一般是客户自己定。

uncertainty 没有统一的标准,按工艺和经验来设置了,
你们是35nm工艺,按频率的10%来设置好了,

是350nm工艺,10%是10ns,这个余量太大了,会造成我面积加大

10%是为了安全,像你们这个设计,估计uncertaint 还是要有3~5ns才安全

不是工艺越先进,寄生影响越大,uncertainty越大吗?我们这个工艺0.35um几乎不用考虑寄生的影响,PR之后留那么大余量我觉得是不合理的

你们都把时序看得太恐怖了。哪里需要那么大的余量。
setup 和hold的uncertainty设置150ps足矣~
前提是你其他的约束都是正确的和足够的,如果其他约束不正确,再大的余量也是建立在沙土上的建筑。

不要总是将这些余量搞成时钟周期的百分之多少,那就太死板和教条了。

150ps太小了,.35 的实现不了这么小的

谢谢

实现不了这么小的是指150ps的余量不够吗?

余量小了,我记得以前做.18都设置比这高

我觉得这个是不是工艺越先进越高

我觉得9楼说的对,其他的设置正确的话,uncertainty不需要设置的那么大,我一般都是只设置0.2ns左右

那你们设置set_timing_derate -early/late的值是多少呢?如果是在110nm工艺或350nm工艺下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top