在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 605|回复: 4

[求助] fix_eco_timing修setup和hold的问题

[复制链接]
发表于 2025-5-16 17:25:34 | 显示全部楼层 |阅读模式
100资产
目前正在使用PT来check timing 有发现少许的setup/hold time violation

目前有在网路上找到修setup/hold time violation的办法
fix_eco_timing -methods {size_cell insert_buffer} -type hold -buffer_list
write_changes -format pt_script -output fix_hold_eco.tcl
想请问fix_hold_eco.tcl是要在ICC2的哪个阶段去soure CTS or Route?

还有也想请问前辈们有没有更好的办法来修timing violation
或是我需要调整的地方 谢谢!


最佳答案

查看完整内容

The correct stage to source the fix_hold_eco.tcl script largely depends on your project's criticality and tapeout schedule . However, in most cases, especially when you're approaching final timing closure, the script is typically sourced after routing . 1. Remove filler cells – This step is necessary because filler cells might occupy space needed for ECO cell placement. 2. Source the ECO script ...
发表于 2025-5-16 17:25:35 | 显示全部楼层
The correct stage to source the fix_hold_eco.tcl script largely depends on your project's criticality and tapeout schedule . However, in most cases, especially when you're approaching final timing closure, the script is typically sourced after routing .

        1. Remove filler cells – This step is necessary because filler cells might occupy space needed for ECO cell placement.       
        2. Source the ECO script – Run the fix_setup_hold_eco.tcl script generated by PrimeTime to apply timing fixes.       
        3. Place the ECO cells – Use the place_eco_cells command to position the newly inserted or modified cells.       
        4. Legalize placement – ​​Run legalize_placement -incremental to ensure all ECO cells are legally placed.       
        5. Route the ECO nets – Use route_eco to connect the modified or new nets introduced by the ECO script.       
        6. Run LVS checks – Finally, run check_lvs to verify that there are no open nets or shorts introduced during the ECO process.       



 楼主| 发表于 2025-5-19 11:12:22 | 显示全部楼层


smc1017 发表于 2025-5-17 01:27
The correct stage to source the fix_hold_eco.tcl script largely depends on your project's criticalit ...


Thank you so much for your response! This has been incredibly helpful to me!
 楼主| 发表于 2025-5-19 13:23:02 | 显示全部楼层


smc1017 发表于 2025-5-16 17:25
The correct stage to source the fix_hold_eco.tcl script largely depends on your project's criticalit ...


"I have a question I'd like to ask you:
When I use the command fix_eco_timing -type setup -methods {size_cell}, it fails. Do you know what might be causing this?"


pt_shell> fix_eco_timing -type setup -methods {size_cell}
Information: Setting timing_save_pin_arrival_and_slack to TRUE and updating timing. (PTE-076)
Information: It is recommended that the variable timing_save_pin_arrival_and_slack be set before the initial timing update for optimal performance of this command. (PTE-077)
Information: GUI is active. Stopping for performance...
To restart the GUI, type 'gui_start'.
Information: Checked out license 'PrimeTime-SI' (PT-019)
Information: Starting timing fix iteration 1 at [ Mon May 19 13:11:09 2025 ]...
Information: 3 violating endpoints located... (PTECO-022)
Information: 3 endpoints are being considered for fixing... (PTECO-027)
Information: Fixing violations...
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)
Information: Loading library 'worst' data due to accessing lib cells not linked in the current design. (LNK-041)

Information: Starting timing fix iteration 2 at [ Mon May 19 13:11:09 2025 ]...
Information: 3 violating endpoints located... (PTECO-022)
Information: 3 endpoints are being considered for fixing... (PTECO-027)
Information: Fixing violations...
Information: Starting updating timing at [ Mon May 19 13:11:09 2025 ]...
Information: Finished updating timing at [ Mon May 19 13:11:09 2025 ]...
Information: 1 cells have been resized.

Information: Starting timing fix iteration 3 at [ Mon May 19 13:11:09 2025 ]...
Information: 3 violating endpoints located... (PTECO-022)
Information: 3 endpoints are being considered for fixing... (PTECO-027)
Information: Fixing violations...
Information: Starting updating timing at [ Mon May 19 13:11:09 2025 ]...
Information: Finished updating timing at [ Mon May 19 13:11:09 2025 ]...
Information: 2 cells have been resized.

Information: Starting timing fix iteration 4 at [ Mon May 19 13:11:09 2025 ]...
Information: 3 violating endpoints located... (PTECO-022)
Information: 3 endpoints are being considered for fixing... (PTECO-027)
Information: Fixing violations...
Information: No more fixes are available.
Information: The timing violation fixing process is complete.

Final ECO Summary:
--------------------------------------------------------
Number of size_cell commands                           3
Total number of commands                               3
Area increased by cell sizing                      18.11
Total area increased                               18.11

Fixing Summary:
--------------------------------------------------------
Total violating endpoints found                        3
Total violating endpoints fixed                        0
Total violating endpoints remaining                    3
Total percentage of violations fixed                 0.0%

Information: Elapsed time [                0 seconds ]
Information: Completed at [ Mon May 19 13:11:09 2025 ]

1


发表于 2025-6-30 00:23:47 | 显示全部楼层


yuenlee posted on 2025-5-19 13:23
"I have a question I'd like to ask you:
When I use the command fix_eco_timing -type setup -methods ...


It appears that the command executed successfully, as the tool resized 3 cells according to the log. However, the violations still persist, which means the issue wasn't resolved. Therefore, it's important to focus on the timing report to understand the root cause of these violations.

Investigate whether the violations are due to insufficient cell sizing, the need for buffer insertions, or possibly large net delays. To get better insight, run the following command:




  1. <font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><font face="simsun" color="#ff0000">report_timing -nets -cap -trans -input_pins -pba_mode exhaustive</font></font></font>


复制代码
If there are genuine violations, you can attempt to fix them using the following command:




  1. <font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><p class="p1"><font face="simsun" color="#ff0000">fix_eco_timing –type setup –buffer_list <buffer_list> \</font></p><p class="p1"><font face="simsun" color="#ff0000">-methods {size_cell insert_buffer} --pba_mode exhaustive</font></p></font></font>


复制代码

This should help identify and address the specific causes of the setup violations.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-15 12:08 , Processed in 0.019395 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表