Hello, I'm trying to run the ECO flow for buffer i...
# timing-closure
r
Hello, I'm trying to run the ECO flow for buffer insertion [hold timing fixes] after routing. by using ECO_ENABLE and ECO_ITER switches. I'm noticing that the ECO loop is starting even before the first implementation is done. Any suggestions? Many thanks. [STEP 15] [INFO]: Running Global Routing Resizer Timing Optimizations... [ERROR]: during executing openroad script /openlane/scripts/openroad/resizer_routing_timing.tcl [ERROR]: Exit code: 1 [ERROR]: full log: designs/dfdecode5x4/runs/RUN_2022.05.19_17.34.19/logs/routing/15-resizer.log [ERROR]: Last 10 lines: This program is licensed under the BSD-3 license. See the LICENSE file for details. Components of this program may be licensed under more restrictive licenses which must be honored. [INFO ODB-0222] Reading LEF file: /openlane/designs/dfdecode5x4/runs/RUN_2022.05.19_17.34.19/tmp/merged.unpadded.nom.lef [INFO ODB-0223] Created 13 technology layers [INFO ODB-0224] Created 25 technology vias [INFO ODB-0225] Created 441 library cells [INFO ODB-0226] Finished LEF file: /openlane/designs/dfdecode5x4/runs/RUN_2022.05.19_17.34.19/tmp/merged.unpadded.nom.lef
Copy code
[ERROR ORD-0003] /openlane/designs/dfdecode5x4/runs/RUN_2022.05.19_17.34.19/results/eco/def/eco_3.def does not exist.
ORD-0003 child process exited abnormally
v
do you have hold violation post detail routing?
r
Thanks for asking - yes I do [but not in this case]. Let me explain, I have a few hold timing violations after detailed route which I wanted to have fixed through buffer insertion at ECO. So I followed instructions in here - https://openlane.readthedocs.io/en/latest/docs/source/eco_flow.html?highlight=ECO#the-eco-flow-alpha I set ECO_ENABLE and ECO_ITER switches and hit the issue I described above, basically the 'updated' flow falls over before detail route at STEP-15 itself.
v
Have you tried below variables?
Copy code
set ::env(GLB_RESIZER_HOLD_MAX_BUFFER_PERCENT) {50}
set ::env(GLB_RESIZER_HOLD_SLACK_MARGIN) {0.3}
👀 1
For ECO flow @Anton Blanchard right person to reach out
r
Thank you Vijay
Just reporting the values I have in my run.. set
::env(GLB_RESIZER_HOLD_MAX_BUFFER_PERCENT) {50}
set ::env(GLB_RESIZER_HOLD_SLACK_MARGIN) {0.1}
v
How much negative slack getting for hold violation? Based on that try to increase hold margin to 0.2/0.3/0.4 to resolve hold violation
If you are unable to resolve it valid test case help us to fix this issue
r
I will trial run with 0.3 to see how it fares, I suspect that might bring up setup issues.. will report back. thanks