马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 1027199631 于 2017-3-22 15:11 编辑
本人使用的是CSMC 0.35um的工艺,DC综合阶段与STA约束如下:各位大神帮忙看看设置是否合理
DC综合时的约束:(自顶向下) reset_design #clock constraint 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] // uut_filter/M2/clk_64为clk_in进行分频所得到的时钟 set_case_analysis 1 [get_pins uut_clk_pol/POL] //默认情况下,POL为1 set_clock_transition 1 [get_ports clk_in] set_clock_uncertainty -hold 1 clk_in set_clock_latency -max 1 [get_clocks clk_in]
set_dont_touch_network [get_clocks *] set_ideal_network rst #I/O delay constraint 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] //这些值我是根据前级芯片的输出延时来加的 #environmental attributes 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] //输出直接手动接数字PAD,其电容很小 set_operating_conditions -min BEST_-40 -max WORST set_wire_load_mode enclosed set auto_wire_load_selection true #Timing_design rule set_input_transition -max 3 [all_inputs] set_max_capacitance 10 [all_outputs] set_max_fanout 15 [current_design] #Area constraint set_max_area 0 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/128chip.spef.max PR之后做STA约束: 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] //陈春章老师那本书上说,PR之后由这句话代替了transition、uncertainty、latency,所以在PT时没有设相关约束。后面发现还需要考虑jitter+margin,可是这个值如何确定?
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] 目前芯片测试出现问题:正常情况下,芯片通讯时序不稳定,采值错误;把电压升高10%,依旧不行;只有降频时序正确,且采值稳定。有大神说是setup的问题,可是做STA时,setup至少有65ns的余量;在后仿时将频率提高1倍,时序依旧正确,为何流片结果出现这类问题。是否有大神遇见过此类问题,求解疑 |